diff --git a/ChangeLog b/ChangeLog
index a6146df7799620fadc40963098224fe3448c4c93..d5a9dd2d4af1d61fef5d332e8fc75c0cf11db0b2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,18 @@
+02-FEB-2020: 12.6.3
+
+- Updates move preview after key events
+- Fixes rounding errors for routing
+- Uses mxGraph 4.1.1 beta 3
+
+30-JAN-2020: 12.6.2
+
+- Fixes WebKitBlobResource error on iOS
+- Adds layers for VSDX export
+- Uses mxGraph 4.1.1 beta 2
+
 28-JAN-2020: 12.6.1
 
-- Adds new Veeam sidebar
+- Adds new Veeam shapes
 
 28-JAN-2020: 12.6.0
 
diff --git a/VERSION b/VERSION
index 84799ae9fb5a959471ba98e8f17ce689667fc852..cabbe6d9ef596ccc31e3a964e85ce2c4f210ecee 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-12.6.1
\ No newline at end of file
+12.6.3
\ No newline at end of file
diff --git a/etc/mxgraph/mxClient.js b/etc/mxgraph/mxClient.js
index 955183372c9a82a2f7c02360ad549c882a30fc3d..2ce4bb16fa8769c9e083947179359f6d1a171859 100644
--- a/etc/mxgraph/mxClient.js
+++ b/etc/mxgraph/mxClient.js
@@ -56,7 +56,7 @@ e;for(e in a)e!=mxObjectIdentity.FIELD_NAME&&(null==b||0>mxUtils.indexOf(b,e))&&
 b||null!=a&&null!=b&&a.length!=b.length)return!1;if(null!=a&&null!=b){for(var d in b)c++;for(d in a)if(c--,!(mxUtils.isNaN(a[d])&&mxUtils.isNaN(b[d])||a[d]==b[d]))return!1}return 0==c},removeDuplicates:function(a){for(var b=new mxDictionary,c=[],d=0;d<a.length;d++)b.get(a[d])||(c.push(a[d]),b.put(a[d],!0));return c},isNaN:function(a){return"number"==typeof a&&isNaN(a)},extend:function(a,b){var c=function(){};c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a},toString:function(a){var b=
 "",c;for(c in a)try{if(null==a[c])b+=c+" = [null]\n";else if("function"==typeof a[c])b+=c+" => [Function]\n";else if("object"==typeof a[c])var d=mxUtils.getFunctionName(a[c].constructor),b=b+(c+" => ["+d+"]\n");else b+=c+" = "+a[c]+"\n"}catch(e){b+=c+"="+e.message}return b},toRadians:function(a){return Math.PI*a/180},toDegree:function(a){return 180*a/Math.PI},arcToCurves:function(a,b,c,d,e,f,g,k,l){k-=a;l-=b;if(0===c||0===d)return q;c=Math.abs(c);d=Math.abs(d);var m=-k/2,n=-l/2,p=Math.cos(e*Math.PI/
 180),q=Math.sin(e*Math.PI/180);e=p*m+q*n;var m=-1*q*m+p*n,n=e*e,r=m*m,t=c*c,u=d*d,x=n/t+r/u;1<x?(c*=Math.sqrt(x),d*=Math.sqrt(x),f=0):(x=1,f===g&&(x=-1),f=x*Math.sqrt((t*u-t*r-u*n)/(t*r+u*n)));n=f*c*m/d;r=-1*f*d*e/c;k=p*n-q*r+k/2;l=q*n+p*r+l/2;t=Math.atan2((m-r)/d,(e-n)/c)-Math.atan2(0,1);f=0<=t?t:2*Math.PI+t;t=Math.atan2((-m-r)/d,(-e-n)/c)-Math.atan2((m-r)/d,(e-n)/c);e=0<=t?t:2*Math.PI+t;0==g&&0<e?e-=2*Math.PI:0!=g&&0>e&&(e+=2*Math.PI);g=2*e/Math.PI;g=Math.ceil(0>g?-1*g:g);e/=g;m=8/3*Math.sin(e/
-4)*Math.sin(e/4)/Math.sin(e/2);n=p*c;p*=d;c*=q;d*=q;for(var y=Math.cos(f),A=Math.sin(f),r=-m*(n*A+d*y),t=-m*(c*A-p*y),q=[],z=0;z<g;++z){f+=e;var y=Math.cos(f),A=Math.sin(f),u=n*y-d*A+k,x=c*y+p*A+l,v=-m*(n*A+d*y),y=-m*(c*A-p*y),A=6*z;q[A]=Number(r+a);q[A+1]=Number(t+b);q[A+2]=Number(u-v+a);q[A+3]=Number(x-y+b);q[A+4]=Number(u+a);q[A+5]=Number(x+b);r=u+v;t=x+y}return q},getBoundingBox:function(a,b,c){var d=null;if(null!=a&&null!=b&&0!=b){b=mxUtils.toRadians(b);var d=Math.cos(b),e=Math.sin(b);c=null!=
+4)*Math.sin(e/4)/Math.sin(e/2);n=p*c;p*=d;c*=q;d*=q;for(var y=Math.cos(f),B=Math.sin(f),r=-m*(n*B+d*y),t=-m*(c*B-p*y),q=[],A=0;A<g;++A){f+=e;var y=Math.cos(f),B=Math.sin(f),u=n*y-d*B+k,x=c*y+p*B+l,z=-m*(n*B+d*y),y=-m*(c*B-p*y),B=6*A;q[B]=Number(r+a);q[B+1]=Number(t+b);q[B+2]=Number(u-z+a);q[B+3]=Number(x-y+b);q[B+4]=Number(u+a);q[B+5]=Number(x+b);r=u+z;t=x+y}return q},getBoundingBox:function(a,b,c){var d=null;if(null!=a&&null!=b&&0!=b){b=mxUtils.toRadians(b);var d=Math.cos(b),e=Math.sin(b);c=null!=
 c?c:new mxPoint(a.x+a.width/2,a.y+a.height/2);var f=new mxPoint(a.x,a.y);b=new mxPoint(a.x+a.width,a.y);var g=new mxPoint(b.x,a.y+a.height);a=new mxPoint(a.x,g.y);f=mxUtils.getRotatedPoint(f,d,e,c);b=mxUtils.getRotatedPoint(b,d,e,c);g=mxUtils.getRotatedPoint(g,d,e,c);a=mxUtils.getRotatedPoint(a,d,e,c);d=new mxRectangle(f.x,f.y,0,0);d.add(new mxRectangle(b.x,b.y,0,0));d.add(new mxRectangle(g.x,g.y,0,0));d.add(new mxRectangle(a.x,a.y,0,0))}return d},getRotatedPoint:function(a,b,c,d){d=null!=d?d:new mxPoint;
 var e=a.x-d.x;a=a.y-d.y;return new mxPoint(e*b-a*c+d.x,a*b+e*c+d.y)},getPortConstraints:function(a,b,c,d){b=mxUtils.getValue(a.style,mxConstants.STYLE_PORT_CONSTRAINT,mxUtils.getValue(b.style,c?mxConstants.STYLE_SOURCE_PORT_CONSTRAINT:mxConstants.STYLE_TARGET_PORT_CONSTRAINT,null));if(null==b)return d;d=b.toString();b=mxConstants.DIRECTION_MASK_NONE;c=0;1==mxUtils.getValue(a.style,mxConstants.STYLE_PORT_CONSTRAINT_ROTATION,0)&&(c=mxUtils.getValue(a.style,mxConstants.STYLE_ROTATION,0));a=0;45<c?(a=
 1,135<=c&&(a=2)):-45>c&&(a=3,-135>=c&&(a=2));if(0<=d.indexOf(mxConstants.DIRECTION_NORTH))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_NORTH;break;case 1:b|=mxConstants.DIRECTION_MASK_EAST;break;case 2:b|=mxConstants.DIRECTION_MASK_SOUTH;break;case 3:b|=mxConstants.DIRECTION_MASK_WEST}if(0<=d.indexOf(mxConstants.DIRECTION_WEST))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_WEST;break;case 1:b|=mxConstants.DIRECTION_MASK_NORTH;break;case 2:b|=mxConstants.DIRECTION_MASK_EAST;break;case 3:b|=mxConstants.DIRECTION_MASK_SOUTH}if(0<=
@@ -134,7 +134,7 @@ START_EDITING:"startEditing",EDITING_STARTED:"editingStarted",EDITING_STOPPED:"e
 mxXmlRequest.prototype.async=null;mxXmlRequest.prototype.binary=!1;mxXmlRequest.prototype.withCredentials=!1;mxXmlRequest.prototype.username=null;mxXmlRequest.prototype.password=null;mxXmlRequest.prototype.request=null;mxXmlRequest.prototype.decodeSimulateValues=!1;mxXmlRequest.prototype.isBinary=function(){return this.binary};mxXmlRequest.prototype.setBinary=function(a){this.binary=a};mxXmlRequest.prototype.getText=function(){return this.request.responseText};
 mxXmlRequest.prototype.isReady=function(){return 4==this.request.readyState};mxXmlRequest.prototype.getDocumentElement=function(){var a=this.getXml();return null!=a?a.documentElement:null};mxXmlRequest.prototype.getXml=function(){var a=this.request.responseXML;if(9<=document.documentMode||null==a||null==a.documentElement)a=mxUtils.parseXml(this.request.responseText);return a};mxXmlRequest.prototype.getText=function(){return this.request.responseText};
 mxXmlRequest.prototype.getStatus=function(){return null!=this.request?this.request.status:null};mxXmlRequest.prototype.create=function(){if(window.XMLHttpRequest)return function(){var a=new XMLHttpRequest;this.isBinary()&&a.overrideMimeType&&a.overrideMimeType("text/plain; charset=x-user-defined");return a};if("undefined"!=typeof ActiveXObject)return function(){return new ActiveXObject("Microsoft.XMLHTTP")}}();
-mxXmlRequest.prototype.send=function(a,b,c,d){this.request=this.create();null!=this.request&&(null!=a&&(this.request.onreadystatechange=mxUtils.bind(this,function(){this.isReady()&&(a(this),this.request.onreadystatechaange=null)})),this.request.open(this.method,this.url,this.async,this.username,this.password),this.setRequestHeaders(this.request,this.params),window.XMLHttpRequest&&this.withCredentials&&(this.request.withCredentials="true"),!mxClient.IS_QUIRKS&&(null==document.documentMode||9<document.documentMode)&&
+mxXmlRequest.prototype.send=function(a,b,c,d){this.request=this.create();null!=this.request&&(null!=a&&(this.request.onreadystatechange=mxUtils.bind(this,function(){this.isReady()&&(a(this),this.request.onreadystatechange=null)})),this.request.open(this.method,this.url,this.async,this.username,this.password),this.setRequestHeaders(this.request,this.params),window.XMLHttpRequest&&this.withCredentials&&(this.request.withCredentials="true"),!mxClient.IS_QUIRKS&&(null==document.documentMode||9<document.documentMode)&&
 window.XMLHttpRequest&&null!=c&&null!=d&&(this.request.timeout=c,this.request.ontimeout=d),this.request.send(this.params))};mxXmlRequest.prototype.setRequestHeaders=function(a,b){null!=b&&a.setRequestHeader("Content-Type","application/x-www-form-urlencoded")};
 mxXmlRequest.prototype.simulate=function(a,b){a=a||document;var c=null;a==document&&(c=window.onbeforeunload,window.onbeforeunload=null);var d=a.createElement("form");d.setAttribute("method",this.method);d.setAttribute("action",this.url);null!=b&&d.setAttribute("target",b);d.style.display="none";d.style.visibility="hidden";for(var e=0<this.params.indexOf("&")?this.params.split("&"):this.params.split(),f=0;f<e.length;f++){var g=e[f].indexOf("=");if(0<g){var k=e[f].substring(0,g),g=e[f].substring(g+
 1);this.decodeSimulateValues&&(g=decodeURIComponent(g));var l=a.createElement("textarea");l.setAttribute("wrap","off");l.setAttribute("name",k);mxUtils.write(l,g);d.appendChild(l)}}a.body.appendChild(d);d.submit();null!=d.parentNode&&d.parentNode.removeChild(d);null!=c&&(window.onbeforeunload=c)};
@@ -330,11 +330,11 @@ mxSvgCanvas2D.prototype.createDiv=function(a){mxUtils.isNode(a)||(a="<div><div>"
 document?c.appendChild(a.cloneNode(!0)):c.appendChild(a);d.appendChild(c);b.appendChild(d)}else b.innerHTML=a;return b};mxSvgCanvas2D.prototype.updateText=function(a,b,c,d,e,f,g,k,l,m,n){null!=n&&null!=n.firstChild&&null!=n.firstChild.firstChild&&this.updateTextNodes(a,b,c,d,e,f,g,k,l,m,n.firstChild)};
 mxSvgCanvas2D.prototype.addForeignObject=function(a,b,c,d,e,f,g,k,l,m,n,p,q,r,t){q=this.createElement("g");var u=this.createElement("foreignObject");u.setAttribute("style","overflow: visible; text-align: left;");u.setAttribute("pointer-events","none");r.ownerDocument!=document&&(r=mxUtils.importNodeImplementation(u.ownerDocument,r,!0));u.appendChild(r);q.appendChild(u);this.updateTextNodes(a,b,c,d,f,g,k,m,n,p,q);this.root.ownerDocument!=document&&(a=this.createAlternateContent(u,a,b,c,d,e,f,g,k,l,
 m,n,p),null!=a&&(u.setAttribute("requiredFeatures","http://www.w3.org/TR/SVG11/feature#Extensibility"),b=this.createElement("switch"),b.appendChild(u),b.appendChild(a),q.appendChild(b)));t.appendChild(q)};
-mxSvgCanvas2D.prototype.updateTextNodes=function(a,b,c,d,e,f,g,k,l,m,n){var p=this.state.scale;mxSvgCanvas2D.createCss(c,d,e,f,g,k,l,null!=this.state.fontBackgroundColor?this.state.fontBackgroundColor:null,null!=this.state.fontBorderColor?this.state.fontBorderColor:null,"display: flex; align-items: unsafe "+(f==mxConstants.ALIGN_TOP?"flex-start":f==mxConstants.ALIGN_BOTTOM?"flex-end":"center")+"; justify-content: unsafe "+(e==mxConstants.ALIGN_LEFT?"flex-start":e==mxConstants.ALIGN_RIGHT?"flex-end":
+mxSvgCanvas2D.prototype.updateTextNodes=function(a,b,c,d,e,f,g,k,l,m,n){var p=this.state.scale;mxSvgCanvas2D.createCss(c+2,d,e,f,g,k,l,null!=this.state.fontBackgroundColor?this.state.fontBackgroundColor:null,null!=this.state.fontBorderColor?this.state.fontBorderColor:null,"display: flex; align-items: unsafe "+(f==mxConstants.ALIGN_TOP?"flex-start":f==mxConstants.ALIGN_BOTTOM?"flex-end":"center")+"; justify-content: unsafe "+(e==mxConstants.ALIGN_LEFT?"flex-start":e==mxConstants.ALIGN_RIGHT?"flex-end":
 "center")+"; ",this.getTextCss(),p,mxUtils.bind(this,function(c,d,e,f,g){a+=this.state.dx;b+=this.state.dy;var k=n.firstChild,l=k.firstChild,q=l.firstChild,r=(this.rotateHtml?this.state.rotation:0)+(null!=m?m:0),t=(0!=this.foOffset?"translate("+this.foOffset+" "+this.foOffset+")":"")+(1!=p?"scale("+p+")":"");q.firstChild.setAttribute("style",g);q.setAttribute("style",f);k.setAttribute("width",Math.ceil(1/Math.min(1,p)*100)+"%");k.setAttribute("height",Math.ceil(1/Math.min(1,p)*100)+"%");d=Math.round(b+
 d);0>d?k.setAttribute("y",d):(k.removeAttribute("y"),e+="padding-top: "+d+"px; ");l.setAttribute("style",e+"margin-left: "+Math.round(a+c)+"px;");t+=0!=r?"rotate("+r+" "+a+" "+b+")":"";""!=t?n.setAttribute("transform",t):n.removeAttribute("transform");1!=this.state.alpha?n.setAttribute("opacity",this.state.alpha):n.removeAttribute("opacity")}))};
 mxSvgCanvas2D.createCss=function(a,b,c,d,e,f,g,k,l,m,n,p,q){p="box-sizing: border-box; font-size: 0; text-align: "+(c==mxConstants.ALIGN_LEFT?"left":c==mxConstants.ALIGN_RIGHT?"right":"center")+"; ";var r=mxUtils.getAlignmentAsPoint(c,d);c="overflow: hidden; ";d="width: 1px; ";var t="height: 1px; ",u=r.x*a,r=r.y*b;g?(d="width: "+Math.round(a)+"px; ",p+="max-height: "+Math.round(b)+"px; ",r=0):"fill"==f?(d="width: "+Math.round(a)+"px; ",t="height: "+Math.round(b)+"px; ",n+="width: 100%; height: 100%; ",
-p+=d+t):"width"==f?(d="width: "+Math.round(a)+"px; ",n+="width: 100%; ",p+=d,r=0,0<b&&(p+="max-height: "+Math.round(b)+"px; ")):(c="",r=0);b="";null!=k&&(b+="background-color: "+k+"; ");null!=l&&(b+="border: 1px solid "+l+"; ");""==c||g?n+=b:p+=b;e&&0<a?(n+="white-space: normal; word-wrap: "+mxConstants.WORD_WRAP+"; ",d="width: "+Math.round(a+2)+"px; ",""!=c&&"fill"!=f&&(r=0)):(n+="white-space: nowrap; ",""==c&&(u=0));q(u,r,m+d+t,p+c,n,c)};
+p+=d+t):"width"==f?(d="width: "+Math.round(a)+"px; ",n+="width: 100%; ",p+=d,r=0,0<b&&(p+="max-height: "+Math.round(b)+"px; ")):(c="",r=0);b="";null!=k&&(b+="background-color: "+k+"; ");null!=l&&(b+="border: 1px solid "+l+"; ");""==c||g?n+=b:p+=b;e&&0<a?(n+="white-space: normal; word-wrap: "+mxConstants.WORD_WRAP+"; ",d="width: "+Math.round(a)+"px; ",""!=c&&"fill"!=f&&(r=0)):(n+="white-space: nowrap; ",""==c&&(u=0));q(u,r,m+d+t,p+c,n,c)};
 mxSvgCanvas2D.prototype.getTextCss=function(){var a=this.state,b="display: inline-block; font-size: "+a.fontSize+"px; font-family: "+a.fontFamily+"; color: "+a.fontColor+"; line-height: "+(mxConstants.ABSOLUTE_LINE_HEIGHT?a.fontSize*mxConstants.LINE_HEIGHT+"px":mxConstants.LINE_HEIGHT*this.lineHeightCorrection)+"; pointer-events: "+(this.pointerEvents?this.pointerEventsValue:"none")+"; ";(a.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&(b+="font-weight: bold; ");(a.fontStyle&mxConstants.FONT_ITALIC)==
 mxConstants.FONT_ITALIC&&(b+="font-style: italic; ");var c=[];(a.fontStyle&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&c.push("underline");(a.fontStyle&mxConstants.FONT_STRIKETHROUGH)==mxConstants.FONT_STRIKETHROUGH&&c.push("line-through");0<c.length&&(b+="text-decoration: "+c.join(" ")+"; ");return b};
 mxSvgCanvas2D.prototype.text=function(a,b,c,d,e,f,g,k,l,m,n,p,q){if(this.textEnabled&&null!=e)if(p=null!=p?p:0,this.foEnabled&&"html"==l){var r=this.createDiv(e);null!=r&&(null!=q&&r.setAttribute("dir",q),this.addForeignObject(a,b,c,d,e,f,g,k,l,m,n,p,q,r,this.root))}else this.plainText(a+this.state.dx,b+this.state.dy,c,d,e,f,g,k,m,n,p,q)};
@@ -372,8 +372,8 @@ mxVmlCanvas2D.prototype.text=function(a,b,c,d,e,f,g,k,l,m,n,p,q){if(this.textEna
 this.format(a)+"px";l.style.top=this.format(b)+"px";l.style.zoom=r.scale;var t=this.createElement("div");t.style.position="relative";t.style.display="inline";var u=mxUtils.getAlignmentAsPoint(f,g),x=u.x,u=u.y;e=this.createDiv(e,f,g,m);f=this.createElement("div");null!=q&&e.setAttribute("dir",q);if(k&&0<c){if(n||(e.style.width=Math.round(c)+"px"),e.style.wordWrap=mxConstants.WORD_WRAP,e.style.whiteSpace="normal","break-word"==e.style.wordWrap){var y=e;null!=y.firstChild&&"DIV"==y.firstChild.nodeName&&
 (y.firstChild.style.width="100%")}}else e.style.whiteSpace="nowrap";p=r.rotation+(p||0);this.rotateHtml&&0!=p?(f.style.display="inline",f.style.zoom="1",f.appendChild(e),8!=document.documentMode||mxClient.IS_EM||"DIV"==this.root.nodeName?l.appendChild(f):(t.appendChild(f),l.appendChild(t))):8!=document.documentMode||mxClient.IS_EM?(e.style.display="inline",l.appendChild(e)):(t.appendChild(e),l.appendChild(t));"DIV"!=this.root.nodeName?(q=this.createVmlElement("rect"),q.stroked="false",q.filled="false",
 q.appendChild(l),this.root.appendChild(q)):this.root.appendChild(l);n?(e.style.overflow="hidden",e.style.width=Math.round(c)+"px",mxClient.IS_QUIRKS||(e.style.maxHeight=Math.round(d)+"px")):"fill"==m?(e.style.overflow="hidden",e.style.width=Math.max(0,c)+1+"px",e.style.height=Math.max(0,d)+1+"px"):"width"==m&&(e.style.overflow="hidden",e.style.width=Math.max(0,c)+1+"px",e.style.maxHeight=Math.max(0,d)+1+"px");if(this.rotateHtml&&0!=p){y=Math.PI/180*p;p=parseFloat(parseFloat(Math.cos(y)).toFixed(8));
-q=parseFloat(parseFloat(Math.sin(-y)).toFixed(8));y%=2*Math.PI;0>y&&(y+=2*Math.PI);y%=Math.PI;y>Math.PI/2&&(y=Math.PI-y);g=Math.cos(y);var A=Math.sin(y);8!=document.documentMode||mxClient.IS_EM||(e.style.display="inline-block",f.style.display="inline-block",t.style.display="inline-block");e.style.visibility="hidden";e.style.position="absolute";document.body.appendChild(e);t=e;null!=t.firstChild&&"DIV"==t.firstChild.nodeName&&(t=t.firstChild);y=t.offsetWidth+3;t=t.offsetHeight;n?(c=Math.min(c,y),t=
-Math.min(t,d)):c=y;k&&(e.style.width=c+"px");mxClient.IS_QUIRKS&&(n||"width"==m)&&t>d&&(t=d,e.style.height=t+"px");d=t;n=(d-d*g+c*-A)/2-q*c*(x+.5)+p*d*(u+.5);k=(c-c*g+d*-A)/2+p*c*(x+.5)+q*d*(u+.5);"group"==l.nodeName&&"DIV"==this.root.nodeName?(m=this.createElement("div"),m.style.display="inline-block",m.style.position="absolute",m.style.left=this.format(a+(k-c/2)*r.scale)+"px",m.style.top=this.format(b+(n-d/2)*r.scale)+"px",l.parentNode.appendChild(m),m.appendChild(l)):(r=8!=document.documentMode||
+q=parseFloat(parseFloat(Math.sin(-y)).toFixed(8));y%=2*Math.PI;0>y&&(y+=2*Math.PI);y%=Math.PI;y>Math.PI/2&&(y=Math.PI-y);g=Math.cos(y);var B=Math.sin(y);8!=document.documentMode||mxClient.IS_EM||(e.style.display="inline-block",f.style.display="inline-block",t.style.display="inline-block");e.style.visibility="hidden";e.style.position="absolute";document.body.appendChild(e);t=e;null!=t.firstChild&&"DIV"==t.firstChild.nodeName&&(t=t.firstChild);y=t.offsetWidth+3;t=t.offsetHeight;n?(c=Math.min(c,y),t=
+Math.min(t,d)):c=y;k&&(e.style.width=c+"px");mxClient.IS_QUIRKS&&(n||"width"==m)&&t>d&&(t=d,e.style.height=t+"px");d=t;n=(d-d*g+c*-B)/2-q*c*(x+.5)+p*d*(u+.5);k=(c-c*g+d*-B)/2+p*c*(x+.5)+q*d*(u+.5);"group"==l.nodeName&&"DIV"==this.root.nodeName?(m=this.createElement("div"),m.style.display="inline-block",m.style.position="absolute",m.style.left=this.format(a+(k-c/2)*r.scale)+"px",m.style.top=this.format(b+(n-d/2)*r.scale)+"px",l.parentNode.appendChild(m),m.appendChild(l)):(r=8!=document.documentMode||
 mxClient.IS_EM?r.scale:1,l.style.left=this.format(a+(k-c/2)*r)+"px",l.style.top=this.format(b+(n-d/2)*r)+"px");f.style.filter="progid:DXImageTransform.Microsoft.Matrix(M11="+p+", M12="+q+", M21="+-q+", M22="+p+", sizingMethod='auto expand')";f.style.backgroundColor=this.rotatedHtmlBackground;1>this.state.alpha&&(f.style.filter+="alpha(opacity="+100*this.state.alpha+")");f.appendChild(e);e.style.position="";e.style.visibility=""}else 8!=document.documentMode||mxClient.IS_EM?(e.style.verticalAlign=
 "top",1>this.state.alpha&&(l.style.filter="alpha(opacity="+100*this.state.alpha+")"),r=e.parentNode,e.style.visibility="hidden",document.body.appendChild(e),c=e.offsetWidth,t=e.offsetHeight,mxClient.IS_QUIRKS&&n&&t>d&&(t=d,e.style.height=t+"px"),d=t,e.style.visibility="",r.appendChild(e),l.style.left=this.format(a+c*x*this.state.scale)+"px",l.style.top=this.format(b+d*u*this.state.scale)+"px"):(1>this.state.alpha&&(e.style.filter="alpha(opacity="+100*this.state.alpha+")"),t.style.left=100*x+"%",t.style.top=
 100*u+"%")}else this.plainText(a,b,c,d,mxUtils.htmlEntities(e,!1),f,g,k,l,m,n,p,q)}};
@@ -382,9 +382,9 @@ mxVmlCanvas2D.prototype.plainText=function(a,b,c,d,e,f,g,k,l,m,n,p,q){k=this.sta
 g==mxConstants.ALIGN_BOTTOM?f=-k/2:g!=mxConstants.ALIGN_MIDDLE&&(f=k/2);null!=p&&(c.style.rotation=p,g=Math.PI/180*p,e=Math.sin(g)*f,f*=Math.cos(g));c.appendChild(d);c.style.left=this.format(a-e)+"px";c.style.top=this.format(b+f)+"px";this.root.appendChild(c)};mxVmlCanvas2D.prototype.stroke=function(){this.addNode(!1,!0)};mxVmlCanvas2D.prototype.fill=function(){this.addNode(!0,!1)};mxVmlCanvas2D.prototype.fillAndStroke=function(){this.addNode(!0,!0)};
 function mxGuide(a,b){this.graph=a;this.setStates(b)}mxGuide.prototype.graph=null;mxGuide.prototype.states=null;mxGuide.prototype.horizontal=!0;mxGuide.prototype.vertical=!0;mxGuide.prototype.guideX=null;mxGuide.prototype.guideY=null;mxGuide.prototype.rounded=!1;mxGuide.prototype.tolerance=2;mxGuide.prototype.setStates=function(a){this.states=a};mxGuide.prototype.isEnabledForEvent=function(a){return!0};
 mxGuide.prototype.getGuideTolerance=function(a){return a&&this.graph.gridEnabled?this.graph.gridSize/2:this.tolerance};mxGuide.prototype.createGuideShape=function(a){a=new mxPolyline([],mxConstants.GUIDE_COLOR,mxConstants.GUIDE_STROKEWIDTH);a.isDashed=!0;return a};mxGuide.prototype.isStateIgnored=function(a){return!1};
-mxGuide.prototype.move=function(a,b,c,d){if(null!=this.states&&(this.horizontal||this.vertical)&&null!=a&&null!=b){d=function(c,d,e){c+=this.graph.panDy;var f=!1;e&&Math.abs(c-v)<=t?(b.y=c-a.getCenterY(),t=Math.abs(c-v),f=!0):e||(Math.abs(c-A)<=t?(b.y=c-a.y,t=Math.abs(c-A),f=!0):Math.abs(c-z)<=t&&(b.y=c-a.y-a.height,t=Math.abs(c-z),f=!0));f&&(p=d,q=Math.round(c-this.graph.panDy),null==this.guideY&&(this.guideY=this.createGuideShape(!1),this.guideY.dialect=this.graph.dialect!=mxConstants.DIALECT_SVG?
+mxGuide.prototype.move=function(a,b,c,d){if(null!=this.states&&(this.horizontal||this.vertical)&&null!=a&&null!=b){d=function(c,d,e){c+=this.graph.panDy;var f=!1;e&&Math.abs(c-z)<=t?(b.y=c-a.getCenterY(),t=Math.abs(c-z),f=!0):e||(Math.abs(c-B)<=t?(b.y=c-a.y,t=Math.abs(c-B),f=!0):Math.abs(c-A)<=t&&(b.y=c-a.y-a.height,t=Math.abs(c-A),f=!0));f&&(p=d,q=Math.round(c-this.graph.panDy),null==this.guideY&&(this.guideY=this.createGuideShape(!1),this.guideY.dialect=this.graph.dialect!=mxConstants.DIALECT_SVG?
 mxConstants.DIALECT_VML:mxConstants.DIALECT_SVG,this.guideY.pointerEvents=!1,this.guideY.init(this.graph.getView().getOverlayPane())));n=n||f};var e=function(c,d,e){c+=this.graph.panDx;var f=!1;e&&Math.abs(c-y)<=r?(b.x=c-a.getCenterX(),r=Math.abs(c-y),f=!0):e||(Math.abs(c-u)<=r?(b.x=c-a.x,r=Math.abs(c-u),f=!0):Math.abs(c-x)<=r&&(b.x=c-a.x-a.width,r=Math.abs(c-x),f=!0));f&&(l=d,m=Math.round(c-this.graph.panDx),null==this.guideX&&(this.guideX=this.createGuideShape(!0),this.guideX.dialect=this.graph.dialect!=
-mxConstants.DIALECT_SVG?mxConstants.DIALECT_VML:mxConstants.DIALECT_SVG,this.guideX.pointerEvents=!1,this.guideX.init(this.graph.getView().getOverlayPane())));k=k||f};this.graph.getView();var f=this.graph.getView().scale,f=this.getGuideTolerance(c)*f,g=a.clone();g.x+=b.x;g.y+=b.y;for(var k=!1,l=null,m=null,n=!1,p=null,q=null,r=f,t=f,u=g.x,x=g.x+g.width,y=g.getCenterX(),A=g.y,z=g.y+g.height,v=g.getCenterY(),f=0;f<this.states.length;f++)g=this.states[f],null==g||this.isStateIgnored(g)||(this.horizontal&&
+mxConstants.DIALECT_SVG?mxConstants.DIALECT_VML:mxConstants.DIALECT_SVG,this.guideX.pointerEvents=!1,this.guideX.init(this.graph.getView().getOverlayPane())));k=k||f};this.graph.getView();var f=this.graph.getView().scale,f=this.getGuideTolerance(c)*f,g=a.clone();g.x+=b.x;g.y+=b.y;for(var k=!1,l=null,m=null,n=!1,p=null,q=null,r=f,t=f,u=g.x,x=g.x+g.width,y=g.getCenterX(),B=g.y,A=g.y+g.height,z=g.getCenterY(),f=0;f<this.states.length;f++)g=this.states[f],null==g||this.isStateIgnored(g)||(this.horizontal&&
 (e.call(this,g.x+g.width,g,!1),e.call(this,g.x,g,!1),e.call(this,g.getCenterX(),g,!0)),this.vertical&&(d.call(this,g.y+g.height,g,!1),d.call(this,g.y,g,!1),d.call(this,g.getCenterY(),g,!0)));this.graph.snapDelta(b,a,!c,k,n);c=this.graph.container;k||null==this.guideX?null!=this.guideX&&(e=d=null,null!=l&&null!=a&&(d=Math.min(a.y+b.y-this.graph.panDy,l.y),e=Math.max(a.y+a.height+b.y-this.graph.panDy,l.y+l.height)),this.guideX.points=null!=d&&null!=e?[new mxPoint(m,d),new mxPoint(m,e)]:[new mxPoint(m,
 -this.graph.panDy),new mxPoint(m,c.scrollHeight-3-this.graph.panDy)],this.guideX.stroke=this.getGuideColor(l,!0),this.guideX.node.style.visibility="visible",this.guideX.redraw()):this.guideX.node.style.visibility="hidden";n||null==this.guideY?null!=this.guideY&&(e=d=null,null!=p&&null!=a&&(d=Math.min(a.x+b.x-this.graph.panDx,p.x),e=Math.max(a.x+a.width+b.x-this.graph.panDx,p.x+p.width)),this.guideY.points=null!=d&&null!=e?[new mxPoint(d,q),new mxPoint(e,q)]:[new mxPoint(-this.graph.panDx,q),new mxPoint(c.scrollWidth-
 3-this.graph.panDx,q)],this.guideY.stroke=this.getGuideColor(p,!1),this.guideY.node.style.visibility="visible",this.guideY.redraw()):this.guideY.node.style.visibility="hidden";b=this.getDelta(a,l,b.x,p,b.y)}return b};mxGuide.prototype.getDelta=function(a,b,c,d,e){if(this.rounded||null!=b&&null==b.cell)c=Math.floor(a.x+c)-a.x;if(this.rounded||null!=d&&null==d.cell)e=Math.floor(a.y+e)-a.y;return new mxPoint(c,e)};mxGuide.prototype.getGuideColor=function(a,b){return mxConstants.GUIDE_COLOR};
@@ -470,14 +470,14 @@ function mxArrowConnector(a,b,c,d,e,f,g){mxShape.call(this);this.points=a;this.f
 mxArrowConnector.prototype.resetStyles=function(){mxShape.prototype.resetStyles.apply(this,arguments);this.arrowSpacing=mxConstants.ARROW_SPACING};mxArrowConnector.prototype.apply=function(a){mxShape.prototype.apply.apply(this,arguments);null!=this.style&&(this.startSize=3*mxUtils.getNumber(this.style,mxConstants.STYLE_STARTSIZE,mxConstants.ARROW_SIZE/5),this.endSize=3*mxUtils.getNumber(this.style,mxConstants.STYLE_ENDSIZE,mxConstants.ARROW_SIZE/5))};
 mxArrowConnector.prototype.augmentBoundingBox=function(a){mxShape.prototype.augmentBoundingBox.apply(this,arguments);var b=this.getEdgeWidth();this.isMarkerStart()&&(b=Math.max(b,this.getStartArrowWidth()));this.isMarkerEnd()&&(b=Math.max(b,this.getEndArrowWidth()));a.grow((b/2+this.strokewidth)*this.scale)};
 mxArrowConnector.prototype.paintEdgeShape=function(a,b){var c=this.strokewidth;this.outline&&(c=Math.max(1,mxUtils.getNumber(this.style,mxConstants.STYLE_STROKEWIDTH,this.strokewidth)));for(var d=this.getStartArrowWidth()+c,e=this.getEndArrowWidth()+c,f=this.outline?this.getEdgeWidth()+c:this.getEdgeWidth(),g=this.isOpenEnded(),k=this.isMarkerStart(),l=this.isMarkerEnd(),m=g?0:this.arrowSpacing+c/2,n=this.startSize+c,c=this.endSize+c,p=this.isArrowRounded(),q=b[b.length-1],r=1;r<b.length-1&&b[r].x==
-b[0].x&&b[r].y==b[0].y;)r++;var t=b[r].x-b[0].x,r=b[r].y-b[0].y,u=Math.sqrt(t*t+r*r);if(0!=u){var x=t/u,y,A=x,z=r/u,v,B=z,u=f*z,C=-f*x,E=[];p?a.setLineJoin("round"):2<b.length&&a.setMiterLimit(1.42);a.begin();t=x;r=z;if(k&&!g)this.paintMarker(a,b[0].x,b[0].y,x,z,n,d,f,m,!0);else{y=b[0].x+u/2+m*x;v=b[0].y+C/2+m*z;var F=b[0].x-u/2+m*x,J=b[0].y-C/2+m*z;g?(a.moveTo(y,v),E.push(function(){a.lineTo(F,J)})):(a.moveTo(F,J),a.lineTo(y,v))}for(var D=v=y=0,u=0;u<b.length-2;u++)if(C=mxUtils.relativeCcw(b[u].x,
-b[u].y,b[u+1].x,b[u+1].y,b[u+2].x,b[u+2].y),y=b[u+2].x-b[u+1].x,v=b[u+2].y-b[u+1].y,D=Math.sqrt(y*y+v*v),0!=D){A=y/D;B=v/D;D=Math.max(Math.sqrt((x*A+z*B+1)/2),.04);y=x+A;v=z+B;var G=Math.sqrt(y*y+v*v);if(0!=G){y/=G;v/=G;var G=Math.max(D,Math.min(this.strokewidth/200+.04,.35)),D=0!=C&&p?Math.max(.1,G):Math.max(D,.06),H=b[u+1].x+v*f/2/D,I=b[u+1].y-y*f/2/D;v=b[u+1].x-v*f/2/D;y=b[u+1].y+y*f/2/D;0!=C&&p?-1==C?(C=v+B*f,D=y-A*f,a.lineTo(v+z*f,y-x*f),a.quadTo(H,I,C,D),function(b,c){E.push(function(){a.lineTo(b,
-c)})}(v,y)):(a.lineTo(H,I),function(b,c){var d=H-z*f,e=I+x*f,g=H-B*f,k=I+A*f;E.push(function(){a.quadTo(b,c,d,e)});E.push(function(){a.lineTo(g,k)})}(v,y)):(a.lineTo(H,I),function(b,c){E.push(function(){a.lineTo(b,c)})}(v,y));x=A;z=B}}u=f*B;C=-f*A;if(l&&!g)this.paintMarker(a,q.x,q.y,-x,-z,c,e,f,m,!1);else{a.lineTo(q.x-m*A+u/2,q.y-m*B+C/2);var K=q.x-m*A-u/2,L=q.y-m*B-C/2;g?(a.moveTo(K,L),E.splice(0,0,function(){a.moveTo(K,L)})):a.lineTo(K,L)}for(u=E.length-1;0<=u;u--)E[u]();g?(a.end(),a.stroke()):
-(a.close(),a.fillAndStroke());a.setShadow(!1);a.setMiterLimit(4);p&&a.setLineJoin("flat");2<b.length&&(a.setMiterLimit(4),k&&!g&&(a.begin(),this.paintMarker(a,b[0].x,b[0].y,t,r,n,d,f,m,!0),a.stroke(),a.end()),l&&!g&&(a.begin(),this.paintMarker(a,q.x,q.y,-x,-z,c,e,f,m,!0),a.stroke(),a.end()))}};
+b[0].x&&b[r].y==b[0].y;)r++;var t=b[r].x-b[0].x,r=b[r].y-b[0].y,u=Math.sqrt(t*t+r*r);if(0!=u){var x=t/u,y,B=x,A=r/u,z,C=A,u=f*A,v=-f*x,D=[];p?a.setLineJoin("round"):2<b.length&&a.setMiterLimit(1.42);a.begin();t=x;r=A;if(k&&!g)this.paintMarker(a,b[0].x,b[0].y,x,A,n,d,f,m,!0);else{y=b[0].x+u/2+m*x;z=b[0].y+v/2+m*A;var F=b[0].x-u/2+m*x,J=b[0].y-v/2+m*A;g?(a.moveTo(y,z),D.push(function(){a.lineTo(F,J)})):(a.moveTo(F,J),a.lineTo(y,z))}for(var E=z=y=0,u=0;u<b.length-2;u++)if(v=mxUtils.relativeCcw(b[u].x,
+b[u].y,b[u+1].x,b[u+1].y,b[u+2].x,b[u+2].y),y=b[u+2].x-b[u+1].x,z=b[u+2].y-b[u+1].y,E=Math.sqrt(y*y+z*z),0!=E){B=y/E;C=z/E;E=Math.max(Math.sqrt((x*B+A*C+1)/2),.04);y=x+B;z=A+C;var G=Math.sqrt(y*y+z*z);if(0!=G){y/=G;z/=G;var G=Math.max(E,Math.min(this.strokewidth/200+.04,.35)),E=0!=v&&p?Math.max(.1,G):Math.max(E,.06),H=b[u+1].x+z*f/2/E,I=b[u+1].y-y*f/2/E;z=b[u+1].x-z*f/2/E;y=b[u+1].y+y*f/2/E;0!=v&&p?-1==v?(v=z+C*f,E=y-B*f,a.lineTo(z+A*f,y-x*f),a.quadTo(H,I,v,E),function(b,c){D.push(function(){a.lineTo(b,
+c)})}(z,y)):(a.lineTo(H,I),function(b,c){var d=H-A*f,e=I+x*f,g=H-C*f,k=I+B*f;D.push(function(){a.quadTo(b,c,d,e)});D.push(function(){a.lineTo(g,k)})}(z,y)):(a.lineTo(H,I),function(b,c){D.push(function(){a.lineTo(b,c)})}(z,y));x=B;A=C}}u=f*C;v=-f*B;if(l&&!g)this.paintMarker(a,q.x,q.y,-x,-A,c,e,f,m,!1);else{a.lineTo(q.x-m*B+u/2,q.y-m*C+v/2);var K=q.x-m*B-u/2,L=q.y-m*C-v/2;g?(a.moveTo(K,L),D.splice(0,0,function(){a.moveTo(K,L)})):a.lineTo(K,L)}for(u=D.length-1;0<=u;u--)D[u]();g?(a.end(),a.stroke()):
+(a.close(),a.fillAndStroke());a.setShadow(!1);a.setMiterLimit(4);p&&a.setLineJoin("flat");2<b.length&&(a.setMiterLimit(4),k&&!g&&(a.begin(),this.paintMarker(a,b[0].x,b[0].y,t,r,n,d,f,m,!0),a.stroke(),a.end()),l&&!g&&(a.begin(),this.paintMarker(a,q.x,q.y,-x,-A,c,e,f,m,!0),a.stroke(),a.end()))}};
 mxArrowConnector.prototype.paintMarker=function(a,b,c,d,e,f,g,k,l,m){g=k/g;var n=k*e/2;k=-k*d/2;var p=(l+f)*d;f=(l+f)*e;m?a.moveTo(b-n+p,c-k+f):a.lineTo(b-n+p,c-k+f);a.lineTo(b-n/g+p,c-k/g+f);a.lineTo(b+l*d,c+l*e);a.lineTo(b+n/g+p,c+k/g+f);a.lineTo(b+n+p,c+k+f)};mxArrowConnector.prototype.isArrowRounded=function(){return this.isRounded};mxArrowConnector.prototype.getStartArrowWidth=function(){return mxConstants.ARROW_WIDTH};mxArrowConnector.prototype.getEndArrowWidth=function(){return mxConstants.ARROW_WIDTH};
 mxArrowConnector.prototype.getEdgeWidth=function(){return mxConstants.ARROW_WIDTH/3};mxArrowConnector.prototype.isOpenEnded=function(){return!1};mxArrowConnector.prototype.isMarkerStart=function(){return mxUtils.getValue(this.style,mxConstants.STYLE_STARTARROW,mxConstants.NONE)!=mxConstants.NONE};mxArrowConnector.prototype.isMarkerEnd=function(){return mxUtils.getValue(this.style,mxConstants.STYLE_ENDARROW,mxConstants.NONE)!=mxConstants.NONE};
-function mxText(a,b,c,d,e,f,g,k,l,m,n,p,q,r,t,u,x,y,A,z,v){mxShape.call(this);this.value=a;this.bounds=b;this.color=null!=e?e:"black";this.align=null!=c?c:mxConstants.ALIGN_CENTER;this.valign=null!=d?d:mxConstants.ALIGN_MIDDLE;this.family=null!=f?f:mxConstants.DEFAULT_FONTFAMILY;this.size=null!=g?g:mxConstants.DEFAULT_FONTSIZE;this.fontStyle=null!=k?k:mxConstants.DEFAULT_FONTSTYLE;this.spacing=parseInt(l||2);this.spacingTop=this.spacing+parseInt(m||0);this.spacingRight=this.spacing+parseInt(n||0);
-this.spacingBottom=this.spacing+parseInt(p||0);this.spacingLeft=this.spacing+parseInt(q||0);this.horizontal=null!=r?r:!0;this.background=t;this.border=u;this.wrap=null!=x?x:!1;this.clipped=null!=y?y:!1;this.overflow=null!=A?A:"visible";this.labelPadding=null!=z?z:0;this.textDirection=v;this.rotation=0;this.updateMargin()}mxUtils.extend(mxText,mxShape);mxText.prototype.baseSpacingTop=0;mxText.prototype.baseSpacingBottom=0;mxText.prototype.baseSpacingLeft=0;mxText.prototype.baseSpacingRight=0;
+function mxText(a,b,c,d,e,f,g,k,l,m,n,p,q,r,t,u,x,y,B,A,z){mxShape.call(this);this.value=a;this.bounds=b;this.color=null!=e?e:"black";this.align=null!=c?c:mxConstants.ALIGN_CENTER;this.valign=null!=d?d:mxConstants.ALIGN_MIDDLE;this.family=null!=f?f:mxConstants.DEFAULT_FONTFAMILY;this.size=null!=g?g:mxConstants.DEFAULT_FONTSIZE;this.fontStyle=null!=k?k:mxConstants.DEFAULT_FONTSTYLE;this.spacing=parseInt(l||2);this.spacingTop=this.spacing+parseInt(m||0);this.spacingRight=this.spacing+parseInt(n||0);
+this.spacingBottom=this.spacing+parseInt(p||0);this.spacingLeft=this.spacing+parseInt(q||0);this.horizontal=null!=r?r:!0;this.background=t;this.border=u;this.wrap=null!=x?x:!1;this.clipped=null!=y?y:!1;this.overflow=null!=B?B:"visible";this.labelPadding=null!=A?A:0;this.textDirection=z;this.rotation=0;this.updateMargin()}mxUtils.extend(mxText,mxShape);mxText.prototype.baseSpacingTop=0;mxText.prototype.baseSpacingBottom=0;mxText.prototype.baseSpacingLeft=0;mxText.prototype.baseSpacingRight=0;
 mxText.prototype.replaceLinefeeds=!0;mxText.prototype.verticalTextRotation=-90;mxText.prototype.ignoreClippedStringSize=!0;mxText.prototype.ignoreStringSize=!1;mxText.prototype.textWidthPadding=8!=document.documentMode||mxClient.IS_EM?3:4;mxText.prototype.lastValue=null;mxText.prototype.cacheEnabled=!0;mxText.prototype.isParseVml=function(){return!1};mxText.prototype.isHtmlAllowed=function(){return 8!=document.documentMode||mxClient.IS_EM};mxText.prototype.getSvgScreenOffset=function(){return 0};
 mxText.prototype.checkBounds=function(){return!isNaN(this.scale)&&isFinite(this.scale)&&0<this.scale&&null!=this.bounds&&!isNaN(this.bounds.x)&&!isNaN(this.bounds.y)&&!isNaN(this.bounds.width)&&!isNaN(this.bounds.height)};
 mxText.prototype.paint=function(a,b){var c=this.scale,d=this.bounds.x/c,e=this.bounds.y/c,f=this.bounds.width/c,c=this.bounds.height/c;this.updateTransform(a,d,e,f,c);this.configureCanvas(a,d,e,f,c);if(b)a.updateText(d,e,f,c,this.align,this.valign,this.wrap,this.overflow,this.clipped,this.getTextRotation(),this.node);else{var g=mxUtils.isNode(this.value)||this.dialect==mxConstants.DIALECT_STRICTHTML,k=g||a instanceof mxVmlCanvas2D?"html":"",l=this.value;g||"html"!=k||(l=mxUtils.htmlEntities(l,!1));
@@ -502,9 +502,9 @@ mxText.prototype.updateVmlContainer=function(){this.node.style.left=Math.round(t
 mxText.prototype.getTextCss=function(){var a="display: inline-block; font-size: "+this.size+"px; font-family: "+this.family+"; color: "+this.color+"; line-height: "+(mxConstants.ABSOLUTE_LINE_HEIGHT?this.size*mxConstants.LINE_HEIGHT+"px":mxConstants.LINE_HEIGHT)+"; pointer-events: "+(this.pointerEvents?"all":"none")+"; ";(this.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&(a+="font-weight: bold; ");(this.fontStyle&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&(a+="font-style: italic; ");
 var b=[];(this.fontStyle&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&b.push("underline");(this.fontStyle&mxConstants.FONT_STRIKETHROUGH)==mxConstants.FONT_STRIKETHROUGH&&b.push("line-through");0<b.length&&(a+="text-decoration: "+b.join(" ")+"; ");return a};
 mxText.prototype.redrawHtmlShape=function(){if(mxClient.IS_SVG)this.redrawHtmlShapeWithCss3();else{var a=this.node.style;a.whiteSpace="normal";a.overflow="";a.width="";a.height="";this.updateValue();this.updateFont(this.node);this.updateSize(this.node,null==this.state||null==this.state.view.textDiv);this.offsetHeight=this.offsetWidth=null;mxClient.IS_IE&&(null==document.documentMode||8>=document.documentMode)?this.updateHtmlFilter():this.updateHtmlTransform()}};
-mxText.prototype.redrawHtmlShapeWithCss3=function(){var a=Math.max(0,Math.round(this.bounds.width/this.scale)),b=Math.max(0,Math.round(this.bounds.height/this.scale)),c="position: absolute; left: "+Math.round(this.bounds.x)+"px; top: "+Math.round(this.bounds.y)+"px; pointer-events: none; ",d=this.getTextCss()+(this.pointerEvents?"pointer-events: all; ":"");mxSvgCanvas2D.createCss(a,b,this.align,this.valign,this.wrap,this.overflow,this.clipped,null!=this.background?mxUtils.htmlEntities(this.background):
-null,null!=this.border?mxUtils.htmlEntities(this.border):null,c,d,this.scale,mxUtils.bind(this,function(a,b,c,d,l,m){a=this.getTextRotation();a=(1!=this.scale?"scale("+this.scale+") ":"")+(0!=a?"rotate("+a+"deg) ":"")+(0!=this.margin.x||0!=this.margin.y?"translate("+100*this.margin.x+"%,"+100*this.margin.y+"%)":"");""!=a&&(a="transform-origin: 0 0; transform: "+a+"; ");""==m?(c+=d,d="display:inline-block; min-width: 100%; "+a):d+=a;100>this.opacity&&(l+="opacity: "+this.opacity/100+"; ");this.node.setAttribute("style",
-c);c=mxUtils.isNode(this.value)?this.value.outerHTML:this.getHtmlValue();null==this.node.firstChild&&(this.node.innerHTML="<div><div>"+c+"</div></div>");this.node.firstChild.firstChild.setAttribute("style",l);this.node.firstChild.setAttribute("style",d)}))};
+mxText.prototype.redrawHtmlShapeWithCss3=function(){var a=Math.max(0,Math.round(this.bounds.width/this.scale)),b=Math.max(0,Math.round(this.bounds.height/this.scale)),c="position: absolute; left: "+Math.round(this.bounds.x)+"px; top: "+Math.round(this.bounds.y)+"px; pointer-events: none; ",d=this.getTextCss();mxSvgCanvas2D.createCss(a+2,b,this.align,this.valign,this.wrap,this.overflow,this.clipped,null!=this.background?mxUtils.htmlEntities(this.background):null,null!=this.border?mxUtils.htmlEntities(this.border):
+null,c,d,this.scale,mxUtils.bind(this,function(a,b,c,d,l,m){a=this.getTextRotation();a=(1!=this.scale?"scale("+this.scale+") ":"")+(0!=a?"rotate("+a+"deg) ":"")+(0!=this.margin.x||0!=this.margin.y?"translate("+100*this.margin.x+"%,"+100*this.margin.y+"%)":"");""!=a&&(a="transform-origin: 0 0; transform: "+a+"; ");""==m?(c+=d,d="display:inline-block; min-width: 100%; "+a):d+=a;100>this.opacity&&(l+="opacity: "+this.opacity/100+"; ");this.node.setAttribute("style",c);c=mxUtils.isNode(this.value)?this.value.outerHTML:
+this.getHtmlValue();null==this.node.firstChild&&(this.node.innerHTML="<div><div>"+c+"</div></div>");this.node.firstChild.firstChild.setAttribute("style",l);this.node.firstChild.setAttribute("style",d)}))};
 mxText.prototype.updateHtmlTransform=function(){var a=this.getTextRotation(),b=this.node.style,c=this.margin.x,d=this.margin.y;0!=a?(mxUtils.setPrefixedStyle(b,"transformOrigin",100*-c+"% "+100*-d+"%"),mxUtils.setPrefixedStyle(b,"transform","translate("+100*c+"%,"+100*d+"%) scale("+this.scale+") rotate("+a+"deg)")):(mxUtils.setPrefixedStyle(b,"transformOrigin","0% 0%"),mxUtils.setPrefixedStyle(b,"transform","scale("+this.scale+") translate("+100*c+"%,"+100*d+"%)"));b.left=Math.round(this.bounds.x-
 Math.ceil(c*("fill"!=this.overflow&&"width"!=this.overflow?3:1)))+"px";b.top=Math.round(this.bounds.y-d*("fill"!=this.overflow?3:1))+"px";b.opacity=100>this.opacity?this.opacity/100:""};
 mxText.prototype.updateInnerHtml=function(a){if(mxUtils.isNode(this.value))a.innerHTML=this.value.outerHTML;else{var b=this.value;this.dialect!=mxConstants.DIALECT_STRICTHTML&&(b=mxUtils.htmlEntities(b,!1));b=mxUtils.replaceTrailingNewlines(b,"<div>&nbsp;</div>");b=this.replaceLinefeeds?b.replace(/\n/g,"<br/>"):b;a.innerHTML='<div style="display:inline-block;_display:inline;">'+b+"</div>"}};
@@ -681,9 +681,9 @@ mxMedianHybridCrossingReduction.prototype.execute=function(a){a=this.layout.getM
 k}else for(c++,e=0;e<this.nestedBestRanks.length;e++)for(f=a.ranks[e],g=0;g<f.length;g++)k=f[g],k.setGeneralPurposeVariable(e,g);if(0==d)break}c=[];d=[];for(b=0;b<a.maxRank+1;b++)d[b]=[],c[b]=d[b];for(b=0;b<this.nestedBestRanks.length;b++)for(e=0;e<this.nestedBestRanks[b].length;e++)d[b].push(this.nestedBestRanks[b][e]);a.ranks=c};mxMedianHybridCrossingReduction.prototype.calculateCrossings=function(a){for(var b=a.ranks.length,c=0,d=1;d<b;d++)c+=this.calculateRankCrossing(d,a);return c};
 mxMedianHybridCrossingReduction.prototype.calculateRankCrossing=function(a,b){for(var c=0,d=b.ranks[a],e=b.ranks[a-1],f=[],g=0;g<d.length;g++){for(var k=d[g],l=k.getGeneralPurposeVariable(a),k=k.getPreviousLayerConnectedCells(a),m=[],n=0;n<k.length;n++){var p=k[n].getGeneralPurposeVariable(a-1);m.push(p)}m.sort(function(a,b){return a-b});f[l]=m}d=[];for(g=0;g<f.length;g++)d=d.concat(f[g]);for(f=1;f<e.length;)f<<=1;l=2*f-1;--f;e=[];for(g=0;g<l;++g)e[g]=0;for(g=0;g<d.length;g++)for(l=d[g]+f,++e[l];0<
 l;)l%2&&(c+=e[l+1]),l=l-1>>1,++e[l];return c};
-mxMedianHybridCrossingReduction.prototype.transpose=function(a,b){for(var c=!0,d=0;c&&10>d++;)for(var e=1==a%2&&1==d%2,c=!1,f=0;f<b.ranks.length;f++){for(var g=b.ranks[f],k=[],l=0;l<g.length;l++){var m=g[l],n=m.getGeneralPurposeVariable(f);0>n&&(n=l);k[n]=m}for(var p=null,q=null,r,t,u=null,x=null,y,A=null,l=0;l<g.length-1;l++){if(0==l){y=k[l];m=y.getNextLayerConnectedCells(f);n=y.getPreviousLayerConnectedCells(f);r=[];t=[];for(var z=0;z<m.length;z++)r[z]=m[z].getGeneralPurposeVariable(f+1);for(z=
-0;z<n.length;z++)t[z]=n[z].getGeneralPurposeVariable(f-1)}else m=p,n=q,r=u,t=x,y=A;A=k[l+1];p=A.getNextLayerConnectedCells(f);q=A.getPreviousLayerConnectedCells(f);u=[];x=[];for(z=0;z<p.length;z++)u[z]=p[z].getGeneralPurposeVariable(f+1);for(z=0;z<q.length;z++)x[z]=q[z].getGeneralPurposeVariable(f-1);for(var v=0,B=0,z=0;z<r.length;z++)for(var C=0;C<u.length;C++)r[z]>u[C]&&v++,r[z]<u[C]&&B++;for(z=0;z<t.length;z++)for(C=0;C<x.length;C++)t[z]>x[C]&&v++,t[z]<x[C]&&B++;if(B<v||B==v&&e)p=y.getGeneralPurposeVariable(f),
-y.setGeneralPurposeVariable(f,A.getGeneralPurposeVariable(f)),A.setGeneralPurposeVariable(f,p),p=m,q=n,u=r,x=t,A=y,e||(c=!0)}}};mxMedianHybridCrossingReduction.prototype.weightedMedian=function(a,b){var c=0==a%2;if(c)for(var d=b.maxRank-1;0<=d;d--)this.medianRank(d,c);else for(d=1;d<b.maxRank;d++)this.medianRank(d,c)};
+mxMedianHybridCrossingReduction.prototype.transpose=function(a,b){for(var c=!0,d=0;c&&10>d++;)for(var e=1==a%2&&1==d%2,c=!1,f=0;f<b.ranks.length;f++){for(var g=b.ranks[f],k=[],l=0;l<g.length;l++){var m=g[l],n=m.getGeneralPurposeVariable(f);0>n&&(n=l);k[n]=m}for(var p=null,q=null,r,t,u=null,x=null,y,B=null,l=0;l<g.length-1;l++){if(0==l){y=k[l];m=y.getNextLayerConnectedCells(f);n=y.getPreviousLayerConnectedCells(f);r=[];t=[];for(var A=0;A<m.length;A++)r[A]=m[A].getGeneralPurposeVariable(f+1);for(A=
+0;A<n.length;A++)t[A]=n[A].getGeneralPurposeVariable(f-1)}else m=p,n=q,r=u,t=x,y=B;B=k[l+1];p=B.getNextLayerConnectedCells(f);q=B.getPreviousLayerConnectedCells(f);u=[];x=[];for(A=0;A<p.length;A++)u[A]=p[A].getGeneralPurposeVariable(f+1);for(A=0;A<q.length;A++)x[A]=q[A].getGeneralPurposeVariable(f-1);for(var z=0,C=0,A=0;A<r.length;A++)for(var v=0;v<u.length;v++)r[A]>u[v]&&z++,r[A]<u[v]&&C++;for(A=0;A<t.length;A++)for(v=0;v<x.length;v++)t[A]>x[v]&&z++,t[A]<x[v]&&C++;if(C<z||C==z&&e)p=y.getGeneralPurposeVariable(f),
+y.setGeneralPurposeVariable(f,B.getGeneralPurposeVariable(f)),B.setGeneralPurposeVariable(f,p),p=m,q=n,u=r,x=t,B=y,e||(c=!0)}}};mxMedianHybridCrossingReduction.prototype.weightedMedian=function(a,b){var c=0==a%2;if(c)for(var d=b.maxRank-1;0<=d;d--)this.medianRank(d,c);else for(d=1;d<b.maxRank;d++)this.medianRank(d,c)};
 mxMedianHybridCrossingReduction.prototype.medianRank=function(a,b){for(var c=this.nestedBestRanks[a].length,d=[],e=[],f=0;f<c;f++){var g=this.nestedBestRanks[a][f],k=new MedianCellSorter;k.cell=g;var l;l=b?g.getNextLayerConnectedCells(a):g.getPreviousLayerConnectedCells(a);var m;m=b?a+1:a-1;null!=l&&0!=l.length?(k.medianValue=this.medianValue(l,m),d.push(k)):e[g.getGeneralPurposeVariable(a)]=!0}d.sort(MedianCellSorter.prototype.compare);for(f=0;f<c;f++)null==e[f]&&(g=d.shift().cell,g.setGeneralPurposeVariable(a,
 f))};mxMedianHybridCrossingReduction.prototype.medianValue=function(a,b){for(var c=[],d=0,e=0;e<a.length;e++){var f=a[e];c[d++]=f.getGeneralPurposeVariable(b)}c.sort(function(a,b){return a-b});if(1==d%2)return c[Math.floor(d/2)];if(2==d)return(c[0]+c[1])/2;e=d/2;f=c[e-1]-c[0];d=c[d-1]-c[e];return(c[e-1]*d+c[e]*f)/(f+d)};function MedianCellSorter(){}MedianCellSorter.prototype.medianValue=0;MedianCellSorter.prototype.cell=!1;
 MedianCellSorter.prototype.compare=function(a,b){return null!=a&&null!=b?b.medianValue>a.medianValue?-1:b.medianValue<a.medianValue?1:0:0};function mxMinimumCycleRemover(a){this.layout=a}mxMinimumCycleRemover.prototype=new mxHierarchicalLayoutStage;mxMinimumCycleRemover.prototype.constructor=mxMinimumCycleRemover;mxMinimumCycleRemover.prototype.layout=null;
@@ -718,7 +718,7 @@ t;if(r.isVertex()){t=0==k?e.connectsAsSource:e.connectsAsTarget;for(var u=0;u<t.
 p+=this.prefVertEdgeOff:m>f/2&&(p-=this.prefVertEdgeOff),t=0;t<q;t++)r[4*t+2*k]=n,n+=l,r[4*t+2*k+1]=p}f=e.getNextLayerConnectedCells(b);g=b+1}}};
 mxCoordinateAssignment.prototype.setEdgePosition=function(a){var b=0;if(101207!=a.temp[0]){var c=a.maxRank,d=a.minRank;c==d&&(c=a.source.maxRank,d=a.target.minRank);for(var e=0,f=this.jettyPositions[a.ids[0]],g=a.isReversed?a.target.cell:a.source.cell,k=this.layout.graph,l=this.orientation==mxConstants.DIRECTION_EAST||this.orientation==mxConstants.DIRECTION_SOUTH,m=0;m<a.edges.length;m++){var n=a.edges[m],p=this.layout.getVisibleTerminal(n,!0),q=[],r=a.isReversed;p!=g&&(r=!r);if(null!=f){var t=r?
 2:0,u=r?l?this.rankBottomY[d]:this.rankTopY[d]:l?this.rankTopY[c]:this.rankBottomY[c],x=f[4*e+1+t];r!=l&&(x=-x);var u=u+x,t=f[4*e+t],y=k.model.getTerminal(n,!0);this.layout.isPort(y)&&k.model.getParent(y)==p&&(t=k.view.getState(y),t=null!=t?t.x:p.geometry.x+a.source.width*y.geometry.x);this.orientation==mxConstants.DIRECTION_NORTH||this.orientation==mxConstants.DIRECTION_SOUTH?(q.push(new mxPoint(t,u)),this.layout.edgeStyle==mxHierarchicalEdgeStyle.CURVE&&q.push(new mxPoint(t,u+x))):(q.push(new mxPoint(u,
-t)),this.layout.edgeStyle==mxHierarchicalEdgeStyle.CURVE&&q.push(new mxPoint(u+x,t)))}t=a.x.length-1;u=x=-1;p=a.maxRank-1;r&&(t=0,x=a.x.length,u=1,p=a.minRank+1);for(;a.maxRank!=a.minRank&&t!=x;t+=u){var y=a.x[t]+b,A=(this.rankTopY[p]+this.rankBottomY[p+1])/2,z=(this.rankTopY[p-1]+this.rankBottomY[p])/2;if(r)var v=A,A=z,z=v;this.orientation==mxConstants.DIRECTION_NORTH||this.orientation==mxConstants.DIRECTION_SOUTH?(q.push(new mxPoint(y,A)),q.push(new mxPoint(y,z))):(q.push(new mxPoint(A,y)),q.push(new mxPoint(z,
+t)),this.layout.edgeStyle==mxHierarchicalEdgeStyle.CURVE&&q.push(new mxPoint(u+x,t)))}t=a.x.length-1;u=x=-1;p=a.maxRank-1;r&&(t=0,x=a.x.length,u=1,p=a.minRank+1);for(;a.maxRank!=a.minRank&&t!=x;t+=u){var y=a.x[t]+b,B=(this.rankTopY[p]+this.rankBottomY[p+1])/2,A=(this.rankTopY[p-1]+this.rankBottomY[p])/2;if(r)var z=B,B=A,A=z;this.orientation==mxConstants.DIRECTION_NORTH||this.orientation==mxConstants.DIRECTION_SOUTH?(q.push(new mxPoint(y,B)),q.push(new mxPoint(y,A))):(q.push(new mxPoint(B,y)),q.push(new mxPoint(A,
 y)));this.limitX=Math.max(this.limitX,y);p+=u}null!=f&&(t=r?2:0,u=r?l?this.rankTopY[c]:this.rankBottomY[c]:l?this.rankBottomY[d]:this.rankTopY[d],x=f[4*e+3-t],r!=l&&(x=-x),u-=x,t=f[4*e+2-t],r=k.model.getTerminal(n,!1),p=this.layout.getVisibleTerminal(n,!1),this.layout.isPort(r)&&k.model.getParent(r)==p&&(t=k.view.getState(r),t=null!=t?t.x:p.geometry.x+a.target.width*r.geometry.x),this.orientation==mxConstants.DIRECTION_NORTH||this.orientation==mxConstants.DIRECTION_SOUTH?(this.layout.edgeStyle==mxHierarchicalEdgeStyle.CURVE&&
 q.push(new mxPoint(t,u-x)),q.push(new mxPoint(t,u))):(this.layout.edgeStyle==mxHierarchicalEdgeStyle.CURVE&&q.push(new mxPoint(u-x,t)),q.push(new mxPoint(u,t))));a.isReversed&&this.processReversedEdge(a,n);this.layout.setEdgePoints(n,q);b=0==b?this.parallelEdgeSpacing:0<b?-b:-b+this.parallelEdgeSpacing;e++}a.temp[0]=101207}};
 mxCoordinateAssignment.prototype.setVertexLocation=function(a){var b=a.cell,c=a.x[0]-a.width/2,d=a.y[0]-a.height/2;this.rankTopY[a.minRank]=Math.min(this.rankTopY[a.minRank],d);this.rankBottomY[a.minRank]=Math.max(this.rankBottomY[a.minRank],d+a.height);this.orientation==mxConstants.DIRECTION_NORTH||this.orientation==mxConstants.DIRECTION_SOUTH?this.layout.setVertexLocation(b,c,d):this.layout.setVertexLocation(b,d,c);this.limitX=Math.max(this.limitX,c+a.width)};
@@ -842,10 +842,10 @@ mxPrintPreview.prototype.getDoctype=function(){var a="";5==document.documentMode
 mxPrintPreview.prototype.open=function(a,b,c,d){var e=this.graph.cellRenderer.initializeOverlay,f=null;try{this.printOverlays&&(this.graph.cellRenderer.initializeOverlay=function(a,b){b.init(a.view.getDrawPane())});this.printControls&&(this.graph.cellRenderer.initControl=function(a,b,c,d){b.dialect=a.view.graph.dialect;b.init(a.view.getDrawPane())});this.wnd=null!=b?b:this.wnd;var g=!1;null==this.wnd&&(g=!0,this.wnd=window.open());var k=this.wnd.document;if(g){var l=this.getDoctype();null!=l&&0<l.length&&
 k.writeln(l);mxClient.IS_VML?k.writeln('<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">'):("CSS1Compat"===document.compatMode&&k.writeln("<!DOCTYPE html>"),k.writeln("<html>"));k.writeln("<head>");this.writeHead(k,a);k.writeln("</head>");k.writeln('<body class="mxPage">')}var m=this.graph.getGraphBounds().clone(),n=this.graph.getView().getScale(),p=n/this.scale,q=this.graph.getView().getTranslate();this.autoOrigin||(this.x0-=q.x*this.scale,this.y0-=
 q.y*this.scale,m.width+=m.x,m.height+=m.y,m.x=0,this.border=m.y=0);var r=this.pageFormat.width-2*this.border,t=this.pageFormat.height-2*this.border;this.pageFormat.height+=this.marginTop+this.marginBottom;m.width/=p;m.height/=p;var u=Math.max(1,Math.ceil((m.width+this.x0)/r)),x=Math.max(1,Math.ceil((m.height+this.y0)/t));this.pageCount=u*x;var y=mxUtils.bind(this,function(){if(this.pageSelector&&(1<x||1<u)){var a=this.createPageSelector(x,u);k.body.appendChild(a);if(mxClient.IS_IE&&null==k.documentMode||
-5==k.documentMode||8==k.documentMode||7==k.documentMode){a.style.position="absolute";var b=function(){a.style.top=(k.body.scrollTop||k.documentElement.scrollTop)+10+"px"};mxEvent.addListener(this.wnd,"scroll",function(a){b()});mxEvent.addListener(this.wnd,"resize",function(a){b()})}}}),A=mxUtils.bind(this,function(a,b){null!=this.borderColor&&(a.style.borderColor=this.borderColor,a.style.borderStyle="solid",a.style.borderWidth="1px");a.style.background=this.backgroundColor;if(c||b)a.style.pageBreakAfter=
-"always";if(g&&(mxClient.IS_IE||11<=document.documentMode||mxClient.IS_EDGE))k.writeln(a.outerHTML),a.parentNode.removeChild(a);else if(mxClient.IS_IE||11<=document.documentMode||mxClient.IS_EDGE){var d=k.createElement("div");d.innerHTML=a.outerHTML;d=d.getElementsByTagName("div")[0];k.body.appendChild(d);a.parentNode.removeChild(a)}else a.parentNode.removeChild(a),k.body.appendChild(a);(c||b)&&this.addPageBreak(k)}),z=this.getCoverPages(this.pageFormat.width,this.pageFormat.height);if(null!=z)for(var v=
-0;v<z.length;v++)A(z[v],!0);for(var B=this.getAppendices(this.pageFormat.width,this.pageFormat.height),v=0;v<x;v++){var C=v*t/this.scale-this.y0/this.scale+(m.y-q.y*n)/n;for(a=0;a<u;a++){if(null==this.wnd)return null;var E=a*r/this.scale-this.x0/this.scale+(m.x-q.x*n)/n,F=v*u+a+1,J=new mxRectangle(E,C,r,t),f=this.renderPage(this.pageFormat.width,this.pageFormat.height,0,0,mxUtils.bind(this,function(a){this.addGraphFragment(-E,-C,this.scale,F,a,J);this.printBackgroundImage&&this.insertBackgroundImage(a,
--E,-C)}),F);f.setAttribute("id","mxPage-"+F);A(f,null!=B||v<x-1||a<u-1)}}if(null!=B)for(v=0;v<B.length;v++)A(B[v],v<B.length-1);g&&!d&&(this.closeDocument(),y());this.wnd.focus()}catch(D){null!=f&&null!=f.parentNode&&f.parentNode.removeChild(f)}finally{this.graph.cellRenderer.initializeOverlay=e}return this.wnd};mxPrintPreview.prototype.addPageBreak=function(a){var b=a.createElement("hr");b.className="mxPageBreak";a.body.appendChild(b)};
+5==k.documentMode||8==k.documentMode||7==k.documentMode){a.style.position="absolute";var b=function(){a.style.top=(k.body.scrollTop||k.documentElement.scrollTop)+10+"px"};mxEvent.addListener(this.wnd,"scroll",function(a){b()});mxEvent.addListener(this.wnd,"resize",function(a){b()})}}}),B=mxUtils.bind(this,function(a,b){null!=this.borderColor&&(a.style.borderColor=this.borderColor,a.style.borderStyle="solid",a.style.borderWidth="1px");a.style.background=this.backgroundColor;if(c||b)a.style.pageBreakAfter=
+"always";if(g&&(mxClient.IS_IE||11<=document.documentMode||mxClient.IS_EDGE))k.writeln(a.outerHTML),a.parentNode.removeChild(a);else if(mxClient.IS_IE||11<=document.documentMode||mxClient.IS_EDGE){var d=k.createElement("div");d.innerHTML=a.outerHTML;d=d.getElementsByTagName("div")[0];k.body.appendChild(d);a.parentNode.removeChild(a)}else a.parentNode.removeChild(a),k.body.appendChild(a);(c||b)&&this.addPageBreak(k)}),A=this.getCoverPages(this.pageFormat.width,this.pageFormat.height);if(null!=A)for(var z=
+0;z<A.length;z++)B(A[z],!0);for(var C=this.getAppendices(this.pageFormat.width,this.pageFormat.height),z=0;z<x;z++){var v=z*t/this.scale-this.y0/this.scale+(m.y-q.y*n)/n;for(a=0;a<u;a++){if(null==this.wnd)return null;var D=a*r/this.scale-this.x0/this.scale+(m.x-q.x*n)/n,F=z*u+a+1,J=new mxRectangle(D,v,r,t),f=this.renderPage(this.pageFormat.width,this.pageFormat.height,0,0,mxUtils.bind(this,function(a){this.addGraphFragment(-D,-v,this.scale,F,a,J);this.printBackgroundImage&&this.insertBackgroundImage(a,
+-D,-v)}),F);f.setAttribute("id","mxPage-"+F);B(f,null!=C||z<x-1||a<u-1)}}if(null!=C)for(z=0;z<C.length;z++)B(C[z],z<C.length-1);g&&!d&&(this.closeDocument(),y());this.wnd.focus()}catch(E){null!=f&&null!=f.parentNode&&f.parentNode.removeChild(f)}finally{this.graph.cellRenderer.initializeOverlay=e}return this.wnd};mxPrintPreview.prototype.addPageBreak=function(a){var b=a.createElement("hr");b.className="mxPageBreak";a.body.appendChild(b)};
 mxPrintPreview.prototype.closeDocument=function(){try{if(null!=this.wnd&&null!=this.wnd.document){var a=this.wnd.document;this.writePostfix(a);a.writeln("</body>");a.writeln("</html>");a.close();mxEvent.release(a.body)}}catch(b){}};
 mxPrintPreview.prototype.writeHead=function(a,b){null!=this.title&&a.writeln("<title>"+this.title+"</title>");mxClient.IS_VML&&a.writeln('<style type="text/css">v\\:*{behavior:url(#default#VML)}o\\:*{behavior:url(#default#VML)}</style>');mxClient.link("stylesheet",mxClient.basePath+"/css/common.css",a);a.writeln('<style type="text/css">');a.writeln("@media print {");a.writeln("  * { -webkit-print-color-adjust: exact; }");a.writeln("  table.mxPageSelector { display: none; }");a.writeln("  hr.mxPageBreak { display: none; }");
 a.writeln("}");a.writeln("@media screen {");a.writeln("  table.mxPageSelector { position: fixed; right: 10px; top: 10px;font-family: Arial; font-size:10pt; border: solid 1px darkgray;background: white; border-collapse:collapse; }");a.writeln("  table.mxPageSelector td { border: solid 1px gray; padding:4px; }");a.writeln("  body.mxPage { background: gray; }");a.writeln("}");null!=b&&a.writeln(b);a.writeln("</style>")};mxPrintPreview.prototype.writePostfix=function(a){};
@@ -857,8 +857,8 @@ b-2*this.border+"px",l.style.overflow="hidden",!mxClient.IS_IE||null!=f.document
 mxPrintPreview.prototype.getRoot=function(){var a=this.graph.view.currentRoot;null==a&&(a=this.graph.getModel().getRoot());return a};
 mxPrintPreview.prototype.addGraphFragment=function(a,b,c,d,e,f){var g=this.graph.getView();d=this.graph.container;this.graph.container=e;var k=g.getCanvas(),l=g.getBackgroundPane(),m=g.getDrawPane(),n=g.getOverlayPane(),p=c;if(this.graph.dialect==mxConstants.DIALECT_SVG){if(g.createSvg(),!mxClient.NO_FO){var q=g.getDrawPane().parentNode;q.getAttribute("transform");q.setAttribute("transformOrigin","0 0");q.setAttribute("transform","scale("+c+","+c+")translate("+a+","+b+")");c=1;b=a=0}}else this.graph.dialect==
 mxConstants.DIALECT_VML?g.createVml():g.createHtml();q=g.isEventsEnabled();g.setEventsEnabled(!1);var r=this.graph.isEnabled();this.graph.setEnabled(!1);var t=g.getTranslate();g.translate=new mxPoint(a,b);var u=this.graph.cellRenderer.redraw,x=g.states;a=g.scale;if(this.clipping){var y=new mxRectangle((f.x+t.x)*a,(f.y+t.y)*a,f.width*a/p,f.height*a/p);this.graph.cellRenderer.redraw=function(a,b,c){if(null!=a){var d=x.get(a.cell);if(null!=d&&(d=g.getBoundingBox(d,!1),null!=d&&!mxUtils.intersects(y,
-d)))return}u.apply(this,arguments)}}a=null;try{var A=[this.getRoot()];a=new mxTemporaryCellStates(g,c,A,null,mxUtils.bind(this,function(a){return this.getLinkForCellState(a)}))}finally{if(mxClient.IS_IE)g.overlayPane.innerHTML="",g.canvas.style.overflow="hidden",g.canvas.style.position="relative",g.canvas.style.top=this.marginTop+"px",g.canvas.style.width=f.width+"px",g.canvas.style.height=f.height+"px";else for(c=e.firstChild;null!=c;)A=c.nextSibling,b=c.nodeName.toLowerCase(),"svg"==b?(c.style.overflow=
-"hidden",c.style.position="relative",c.style.top=this.marginTop+"px",c.setAttribute("width",f.width),c.setAttribute("height",f.height),c.style.width="",c.style.height=""):"default"!=c.style.cursor&&"div"!=b&&c.parentNode.removeChild(c),c=A;this.printBackgroundImage&&(e=e.getElementsByTagName("svg"),0<e.length&&(e[0].style.position="absolute"));g.overlayPane.parentNode.removeChild(g.overlayPane);this.graph.setEnabled(r);this.graph.container=d;this.graph.cellRenderer.redraw=u;g.canvas=k;g.backgroundPane=
+d)))return}u.apply(this,arguments)}}a=null;try{var B=[this.getRoot()];a=new mxTemporaryCellStates(g,c,B,null,mxUtils.bind(this,function(a){return this.getLinkForCellState(a)}))}finally{if(mxClient.IS_IE)g.overlayPane.innerHTML="",g.canvas.style.overflow="hidden",g.canvas.style.position="relative",g.canvas.style.top=this.marginTop+"px",g.canvas.style.width=f.width+"px",g.canvas.style.height=f.height+"px";else for(c=e.firstChild;null!=c;)B=c.nextSibling,b=c.nodeName.toLowerCase(),"svg"==b?(c.style.overflow=
+"hidden",c.style.position="relative",c.style.top=this.marginTop+"px",c.setAttribute("width",f.width),c.setAttribute("height",f.height),c.style.width="",c.style.height=""):"default"!=c.style.cursor&&"div"!=b&&c.parentNode.removeChild(c),c=B;this.printBackgroundImage&&(e=e.getElementsByTagName("svg"),0<e.length&&(e[0].style.position="absolute"));g.overlayPane.parentNode.removeChild(g.overlayPane);this.graph.setEnabled(r);this.graph.container=d;this.graph.cellRenderer.redraw=u;g.canvas=k;g.backgroundPane=
 l;g.drawPane=m;g.overlayPane=n;g.translate=t;a.destroy();g.setEventsEnabled(q)}};mxPrintPreview.prototype.getLinkForCellState=function(a){return this.graph.getLinkForCell(a.cell)};
 mxPrintPreview.prototype.insertBackgroundImage=function(a,b,c){var d=this.graph.backgroundImage;if(null!=d){var e=document.createElement("img");e.style.position="absolute";e.style.marginLeft=Math.round(b*this.scale)+"px";e.style.marginTop=Math.round(c*this.scale)+"px";e.setAttribute("width",Math.round(this.scale*d.width));e.setAttribute("height",Math.round(this.scale*d.height));e.src=d.src;a.insertBefore(e,a.firstChild)}};mxPrintPreview.prototype.getCoverPages=function(){return null};
 mxPrintPreview.prototype.getAppendices=function(){return null};mxPrintPreview.prototype.print=function(a){a=this.open(a);null!=a&&a.print()};mxPrintPreview.prototype.close=function(){null!=this.wnd&&(this.wnd.close(),this.wnd=null)};function mxStylesheet(){this.styles={};this.putDefaultVertexStyle(this.createDefaultVertexStyle());this.putDefaultEdgeStyle(this.createDefaultEdgeStyle())}
@@ -977,31 +977,32 @@ f),g=f.y<k||f.y>n,k=f.x<l||f.x>m;else l=Math.max(b.x,c.x),m=Math.min(b.x+b.width
 b.x=k.x,b.y=k.y);null!=g&&(c=new mxCellState,c.x=g.x,c.y=g.y);null!=b&&null!=c&&(a=Math.max(b.x,c.x),k=Math.min(b.x+b.width,c.x+c.width),a=null!=d?d.x:Math.round(k+(a-k)/2),k=f.getRoutingCenterY(b),f=f.getRoutingCenterY(c),null!=d&&(d.y>=b.y&&d.y<=b.y+b.height&&(k=d.y),d.y>=c.y&&d.y<=c.y+c.height&&(f=d.y)),mxUtils.contains(c,a,k)||mxUtils.contains(b,a,k)||e.push(new mxPoint(a,k)),mxUtils.contains(c,a,f)||mxUtils.contains(b,a,f)||e.push(new mxPoint(a,f)),1==e.length&&(null!=d?mxUtils.contains(c,a,
 d.y)||mxUtils.contains(b,a,d.y)||e.push(new mxPoint(a,d.y)):(f=Math.max(b.y,c.y),e.push(new mxPoint(a,f+(Math.min(b.y+b.height,c.y+c.height)-f)/2)))))},TopToBottom:function(a,b,c,d,e){var f=a.view;d=null!=d&&0<d.length?d[0]:null;var g=a.absolutePoints,k=g[0],g=g[g.length-1];null!=d&&(d=f.transformControlPoint(a,d));null!=k&&(b=new mxCellState,b.x=k.x,b.y=k.y);null!=g&&(c=new mxCellState,c.x=g.x,c.y=g.y);null!=b&&null!=c&&(k=Math.max(b.y,c.y),g=Math.min(b.y+b.height,c.y+c.height),a=f.getRoutingCenterX(b),
 null!=d&&d.x>=b.x&&d.x<=b.x+b.width&&(a=d.x),k=null!=d?d.y:Math.round(g+(k-g)/2),mxUtils.contains(c,a,k)||mxUtils.contains(b,a,k)||e.push(new mxPoint(a,k)),a=null!=d&&d.x>=c.x&&d.x<=c.x+c.width?d.x:f.getRoutingCenterX(c),mxUtils.contains(c,a,k)||mxUtils.contains(b,a,k)||e.push(new mxPoint(a,k)),1==e.length&&(null!=d&&1==e.length?mxUtils.contains(c,d.x,k)||mxUtils.contains(b,d.x,k)||e.push(new mxPoint(d.x,k)):(f=Math.max(b.x,c.x),e.push(new mxPoint(f+(Math.min(b.x+b.width,c.x+c.width)-f)/2,k)))))},
-SegmentConnector:function(a,b,c,d,e){function f(a){if(null==l||Math.abs(l.x-a.x)>=k||Math.abs(l.y-a.y)>=k)e.push(a),l=a;return l}var g=a.absolutePoints,k=Math.max(1,a.view.scale),l=0<e.length?e[0]:null,m=!0,n=null,p=g[0];null==p&&null!=b?p=new mxPoint(a.view.getRoutingCenterX(b),a.view.getRoutingCenterY(b)):null!=p&&(p=p.clone());p.x=Math.round(p.x);p.y=Math.round(p.y);var q=g.length-1;if(null!=d&&0<d.length){for(var n=[],r=0;r<d.length;r++){var t=a.view.transformControlPoint(a,d[r]);null!=t&&(t.x=
-Math.round(t.x),t.y=Math.round(t.y),n.push(t))}if(0==n.length)return;d=n;null!=p&&null!=d[0]&&(Math.abs(d[0].x-p.x)<k&&(d[0].x=p.x),Math.abs(d[0].y-p.y)<k&&(d[0].y=p.y));t=g[q];null!=t&&null!=d[d.length-1]&&(Math.abs(d[d.length-1].x-t.x)<k&&(d[d.length-1].x=t.x),Math.abs(d[d.length-1].y-t.y)<k&&(d[d.length-1].y=t.y));var n=d[0],u=b,x=g[0],y=!1,A=!1,y=n;null!=x&&(x.x=Math.round(x.x),x.y=Math.round(x.y),u=null);for(r=0;2>r;r++){var z=null!=x&&x.x==y.x,v=null!=x&&x.y==y.y,B=null!=u&&y.y>=u.y&&y.y<=u.y+
-u.height,u=null!=u&&y.x>=u.x&&y.x<=u.x+u.width,y=v||null==x&&B,A=z||null==x&&u;if(0!=r||!(y&&A||z&&v)){if(null!=x&&!v&&!z&&(B||u)){m=B?!1:!0;break}if(A||y){m=y;1==r&&(m=0==d.length%2?y:A);break}}u=c;x=g[q];null!=x&&(x.x=Math.round(x.x),x.y=Math.round(x.y),u=null);y=d[d.length-1];z&&v&&(d=d.slice(1))}m&&(null!=g[0]&&g[0].y!=n.y||null==g[0]&&null!=b&&(n.y<b.y||n.y>b.y+b.height))?f(new mxPoint(p.x,n.y)):!m&&(null!=g[0]&&g[0].x!=n.x||null==g[0]&&null!=b&&(n.x<b.x||n.x>b.x+b.width))&&f(new mxPoint(n.x,
-p.y));m?p.y=n.y:p.x=n.x;for(r=0;r<d.length;r++)m=!m,n=d[r],m?p.y=n.y:p.x=n.x,f(p.clone())}else n=p,m=!0;p=g[q];null==p&&null!=c&&(p=new mxPoint(a.view.getRoutingCenterX(c),a.view.getRoutingCenterY(c)));null!=p&&(p.x=Math.round(p.x),p.y=Math.round(p.y),null!=n&&(m&&(null!=g[q]&&g[q].y!=n.y||null==g[q]&&null!=c&&(n.y<c.y||n.y>c.y+c.height))?f(new mxPoint(p.x,n.y)):!m&&(null!=g[q]&&g[q].x!=n.x||null==g[q]&&null!=c&&(n.x<c.x||n.x>c.x+c.width))&&f(new mxPoint(n.x,p.y))));if(null==g[0]&&null!=b)for(;1<
-e.length&&null!=e[1]&&mxUtils.contains(b,e[1].x,e[1].y);)e.splice(1,1);if(null==g[q]&&null!=c)for(;1<e.length&&null!=e[e.length-1]&&mxUtils.contains(c,e[e.length-1].x,e[e.length-1].y);)e.splice(e.length-1,1);null!=t&&null!=e[e.length-1]&&Math.abs(t.x-e[e.length-1].x)<=k&&Math.abs(t.y-e[e.length-1].y)<=k&&(e.splice(e.length-1,1),null!=e[e.length-1]&&(Math.abs(e[e.length-1].x-t.x)<k&&(e[e.length-1].x=t.x),Math.abs(e[e.length-1].y-t.y)<k&&(e[e.length-1].y=t.y)))},orthBuffer:10,orthPointsFallback:!0,
-dirVectors:[[-1,0],[0,-1],[1,0],[0,1],[-1,0],[0,-1],[1,0]],wayPoints1:[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],routePatterns:[[[513,2308,2081,2562],[513,1090,514,2184,2114,2561],[513,1090,514,2564,2184,2562],[513,2308,2561,1090,514,2568,2308]],[[514,1057,513,2308,2081,2562],[514,2184,2114,2561],[514,2184,2562,1057,513,2564,2184],[514,1057,513,2568,2308,2561]],[[1090,514,1057,513,2308,2081,2562],[2114,2561],[1090,2562,1057,513,2564,2184],[1090,514,1057,513,2308,2561,
-2568]],[[2081,2562],[1057,513,1090,514,2184,2114,2561],[1057,513,1090,514,2184,2562,2564],[1057,2561,1090,514,2568,2308]]],inlineRoutePatterns:[[null,[2114,2568],null,null],[null,[514,2081,2114,2568],null,null],[null,[2114,2561],null,null],[[2081,2562],[1057,2114,2568],[2184,2562],null]],vertexSeperations:[],limits:[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]],LEFT_MASK:32,TOP_MASK:64,RIGHT_MASK:128,BOTTOM_MASK:256,LEFT:1,TOP:2,RIGHT:4,BOTTOM:8,SIDE_MASK:480,CENTER_MASK:512,SOURCE_MASK:1024,TARGET_MASK:2048,
-VERTEX_MASK:3072,getJettySize:function(a,b,c,d,e){b=mxUtils.getValue(a.style,e?mxConstants.STYLE_SOURCE_JETTY_SIZE:mxConstants.STYLE_TARGET_JETTY_SIZE,mxUtils.getValue(a.style,mxConstants.STYLE_JETTY_SIZE,mxEdgeStyle.orthBuffer));"auto"==b&&(mxUtils.getValue(a.style,e?mxConstants.STYLE_STARTARROW:mxConstants.STYLE_ENDARROW,mxConstants.NONE)!=mxConstants.NONE?(a=mxUtils.getNumber(a.style,e?mxConstants.STYLE_STARTSIZE:mxConstants.STYLE_ENDSIZE,mxConstants.DEFAULT_MARKERSIZE),b=Math.max(2,Math.ceil((a+
-mxEdgeStyle.orthBuffer)/mxEdgeStyle.orthBuffer))*mxEdgeStyle.orthBuffer):b=2*mxEdgeStyle.orthBuffer);return b},OrthConnector:function(a,b,c,d,e){var f=a.view.graph,g=null==b?!1:f.getModel().isEdge(b.cell),k=null==c?!1:f.getModel().isEdge(c.cell),f=a.absolutePoints,l=f[0],m=f[f.length-1],n=null!=b?b.x:l.x,p=null!=b?b.y:l.y,q=null!=b?b.width:0,r=null!=b?b.height:0,t=null!=c?c.x:m.x,u=null!=c?c.y:m.y,x=null!=c?c.width:0,y=null!=c?c.height:0,f=a.view.scale*mxEdgeStyle.getJettySize(a,b,c,d,!0),A=a.view.scale*
-mxEdgeStyle.getJettySize(a,b,c,d,!1);null!=b&&c==b&&(f=A=Math.max(f,A));var z=A+f,v=!1;if(null!=l&&null!=m)var v=m.x-l.x,B=m.y-l.y,v=v*v+B*B<z*z;if(v||mxEdgeStyle.orthPointsFallback&&null!=d&&0<d.length||g||k)mxEdgeStyle.SegmentConnector(a,b,c,d,e);else{d=[mxConstants.DIRECTION_MASK_ALL,mxConstants.DIRECTION_MASK_ALL];null!=b&&(d[0]=mxUtils.getPortConstraints(b,a,!0,mxConstants.DIRECTION_MASK_ALL),v=mxUtils.getValue(b.style,mxConstants.STYLE_ROTATION,0),0!=v&&(v=mxUtils.getBoundingBox(new mxRectangle(n,
-p,q,r),v),n=v.x,p=v.y,q=v.width,r=v.height));null!=c&&(d[1]=mxUtils.getPortConstraints(c,a,!1,mxConstants.DIRECTION_MASK_ALL),v=mxUtils.getValue(c.style,mxConstants.STYLE_ROTATION,0),0!=v&&(v=mxUtils.getBoundingBox(new mxRectangle(t,u,x,y),v),t=v.x,u=v.y,x=v.width,y=v.height));n=Math.round(10*n)/10;p=Math.round(10*p)/10;q=Math.round(10*q)/10;r=Math.round(10*r)/10;t=Math.round(10*t)/10;u=Math.round(10*u)/10;x=Math.round(10*x)/10;y=Math.round(10*y)/10;a=[0,0];n=[[n,p,q,r],[t,u,x,y]];A=[f,A];for(v=0;2>
-v;v++)mxEdgeStyle.limits[v][1]=n[v][0]-A[v],mxEdgeStyle.limits[v][2]=n[v][1]-A[v],mxEdgeStyle.limits[v][4]=n[v][0]+n[v][2]+A[v],mxEdgeStyle.limits[v][8]=n[v][1]+n[v][3]+A[v];A=n[0][1]+n[0][3]/2;p=n[1][1]+n[1][3]/2;v=n[0][0]+n[0][2]/2-(n[1][0]+n[1][2]/2);B=A-p;A=0;0>v?A=0>B?2:1:0>=B&&(A=3,0==v&&(A=2));p=null;null!=b&&(p=l);b=[[.5,.5],[.5,.5]];for(v=0;2>v;v++)null!=p&&(b[v][0]=(p.x-n[v][0])/n[v][2],1>=Math.abs(p.x-n[v][0])?a[v]=mxConstants.DIRECTION_MASK_WEST:1>=Math.abs(p.x-n[v][0]-n[v][2])&&(a[v]=
-mxConstants.DIRECTION_MASK_EAST),b[v][1]=(p.y-n[v][1])/n[v][3],1>=Math.abs(p.y-n[v][1])?a[v]=mxConstants.DIRECTION_MASK_NORTH:1>=Math.abs(p.y-n[v][1]-n[v][3])&&(a[v]=mxConstants.DIRECTION_MASK_SOUTH)),p=null,null!=c&&(p=m);v=n[0][1]-(n[1][1]+n[1][3]);m=n[0][0]-(n[1][0]+n[1][2]);p=n[1][1]-(n[0][1]+n[0][3]);q=n[1][0]-(n[0][0]+n[0][2]);mxEdgeStyle.vertexSeperations[1]=Math.max(m-z,0);mxEdgeStyle.vertexSeperations[2]=Math.max(v-z,0);mxEdgeStyle.vertexSeperations[4]=Math.max(p-z,0);mxEdgeStyle.vertexSeperations[3]=
-Math.max(q-z,0);z=[];c=[];l=[];c[0]=m>=q?mxConstants.DIRECTION_MASK_WEST:mxConstants.DIRECTION_MASK_EAST;l[0]=v>=p?mxConstants.DIRECTION_MASK_NORTH:mxConstants.DIRECTION_MASK_SOUTH;c[1]=mxUtils.reversePortConstraints(c[0]);l[1]=mxUtils.reversePortConstraints(l[0]);m=m>=q?m:q;p=v>=p?v:p;q=[[0,0],[0,0]];r=!1;for(v=0;2>v;v++)0==a[v]&&(0==(c[v]&d[v])&&(c[v]=mxUtils.reversePortConstraints(c[v])),0==(l[v]&d[v])&&(l[v]=mxUtils.reversePortConstraints(l[v])),q[v][0]=l[v],q[v][1]=c[v]);0<p&&0<m&&(0<(c[0]&d[0])&&
-0<(l[1]&d[1])?(q[0][0]=c[0],q[0][1]=l[0],q[1][0]=l[1],q[1][1]=c[1],r=!0):0<(l[0]&d[0])&&0<(c[1]&d[1])&&(q[0][0]=l[0],q[0][1]=c[0],q[1][0]=c[1],q[1][1]=l[1],r=!0));0<p&&!r&&(q[0][0]=l[0],q[0][1]=c[0],q[1][0]=l[1],q[1][1]=c[1],r=!0);0<m&&!r&&(q[0][0]=c[0],q[0][1]=l[0],q[1][0]=c[1],q[1][1]=l[1]);for(v=0;2>v;v++)0==a[v]&&(0==(q[v][0]&d[v])&&(q[v][0]=q[v][1]),z[v]=q[v][0]&d[v],z[v]|=(q[v][1]&d[v])<<8,z[v]|=(q[1-v][v]&d[v])<<16,z[v]|=(q[1-v][1-v]&d[v])<<24,0==(z[v]&15)&&(z[v]<<=8),0==(z[v]&3840)&&(z[v]=
-z[v]&15|z[v]>>8),0==(z[v]&983040)&&(z[v]=z[v]&65535|(z[v]&251658240)>>8),a[v]=z[v]&15,d[v]==mxConstants.DIRECTION_MASK_WEST||d[v]==mxConstants.DIRECTION_MASK_NORTH||d[v]==mxConstants.DIRECTION_MASK_EAST||d[v]==mxConstants.DIRECTION_MASK_SOUTH)&&(a[v]=d[v]);d=a[0]==mxConstants.DIRECTION_MASK_EAST?3:a[0];z=a[1]==mxConstants.DIRECTION_MASK_EAST?3:a[1];d-=A;z-=A;1>d&&(d+=4);1>z&&(z+=4);d=mxEdgeStyle.routePatterns[d-1][z-1];mxEdgeStyle.wayPoints1[0][0]=n[0][0];mxEdgeStyle.wayPoints1[0][1]=n[0][1];switch(a[0]){case mxConstants.DIRECTION_MASK_WEST:mxEdgeStyle.wayPoints1[0][0]-=
-f;mxEdgeStyle.wayPoints1[0][1]+=b[0][1]*n[0][3];break;case mxConstants.DIRECTION_MASK_SOUTH:mxEdgeStyle.wayPoints1[0][0]+=b[0][0]*n[0][2];mxEdgeStyle.wayPoints1[0][1]+=n[0][3]+f;break;case mxConstants.DIRECTION_MASK_EAST:mxEdgeStyle.wayPoints1[0][0]+=n[0][2]+f;mxEdgeStyle.wayPoints1[0][1]+=b[0][1]*n[0][3];break;case mxConstants.DIRECTION_MASK_NORTH:mxEdgeStyle.wayPoints1[0][0]+=b[0][0]*n[0][2],mxEdgeStyle.wayPoints1[0][1]-=f}f=0;c=z=0<(a[0]&(mxConstants.DIRECTION_MASK_EAST|mxConstants.DIRECTION_MASK_WEST))?
-0:1;for(v=0;v<d.length;v++)l=d[v]&15,r=l==mxConstants.DIRECTION_MASK_EAST?3:l,r+=A,4<r&&(r-=4),m=mxEdgeStyle.dirVectors[r-1],l=0<r%2?0:1,l!=z&&(f++,mxEdgeStyle.wayPoints1[f][0]=mxEdgeStyle.wayPoints1[f-1][0],mxEdgeStyle.wayPoints1[f][1]=mxEdgeStyle.wayPoints1[f-1][1]),t=0<(d[v]&mxEdgeStyle.TARGET_MASK),u=0<(d[v]&mxEdgeStyle.SOURCE_MASK),p=(d[v]&mxEdgeStyle.SIDE_MASK)>>5,p<<=A,15<p&&(p>>=4),q=0<(d[v]&mxEdgeStyle.CENTER_MASK),(u||t)&&9>p?(r=u?0:1,p=q&&0==l?n[r][0]+b[r][0]*n[r][2]:q?n[r][1]+b[r][1]*
-n[r][3]:mxEdgeStyle.limits[r][p],0==l?(p=(p-mxEdgeStyle.wayPoints1[f][0])*m[0],0<p&&(mxEdgeStyle.wayPoints1[f][0]+=m[0]*p)):(p=(p-mxEdgeStyle.wayPoints1[f][1])*m[1],0<p&&(mxEdgeStyle.wayPoints1[f][1]+=m[1]*p))):q&&(mxEdgeStyle.wayPoints1[f][0]+=m[0]*Math.abs(mxEdgeStyle.vertexSeperations[r]/2),mxEdgeStyle.wayPoints1[f][1]+=m[1]*Math.abs(mxEdgeStyle.vertexSeperations[r]/2)),0<f&&mxEdgeStyle.wayPoints1[f][l]==mxEdgeStyle.wayPoints1[f-1][l]?f--:z=l;for(v=0;v<=f&&(v!=f||((0<(a[1]&(mxConstants.DIRECTION_MASK_EAST|
-mxConstants.DIRECTION_MASK_WEST))?0:1)==c?0:1)==(f+1)%2);v++)e.push(new mxPoint(Math.round(mxEdgeStyle.wayPoints1[v][0]),Math.round(mxEdgeStyle.wayPoints1[v][1])));for(a=1;a<e.length;)null==e[a-1]||null==e[a]||e[a-1].x!=e[a].x||e[a-1].y!=e[a].y?a++:e.splice(a,1)}},getRoutePattern:function(a,b,c,d){var e=a[0]==mxConstants.DIRECTION_MASK_EAST?3:a[0];a=a[1]==mxConstants.DIRECTION_MASK_EAST?3:a[1];e-=b;a-=b;1>e&&(e+=4);1>a&&(a+=4);b=routePatterns[e-1][a-1];0!=c&&0!=d||null==inlineRoutePatterns[e-1][a-
-1]||(b=inlineRoutePatterns[e-1][a-1]);return b}},mxStyleRegistry={values:[],putValue:function(a,b){mxStyleRegistry.values[a]=b},getValue:function(a){return mxStyleRegistry.values[a]},getName:function(a){for(var b in mxStyleRegistry.values)if(mxStyleRegistry.values[b]==a)return b;return null}};mxStyleRegistry.putValue(mxConstants.EDGESTYLE_ELBOW,mxEdgeStyle.ElbowConnector);mxStyleRegistry.putValue(mxConstants.EDGESTYLE_ENTITY_RELATION,mxEdgeStyle.EntityRelation);
-mxStyleRegistry.putValue(mxConstants.EDGESTYLE_LOOP,mxEdgeStyle.Loop);mxStyleRegistry.putValue(mxConstants.EDGESTYLE_SIDETOSIDE,mxEdgeStyle.SideToSide);mxStyleRegistry.putValue(mxConstants.EDGESTYLE_TOPTOBOTTOM,mxEdgeStyle.TopToBottom);mxStyleRegistry.putValue(mxConstants.EDGESTYLE_ORTHOGONAL,mxEdgeStyle.OrthConnector);mxStyleRegistry.putValue(mxConstants.EDGESTYLE_SEGMENT,mxEdgeStyle.SegmentConnector);mxStyleRegistry.putValue(mxConstants.PERIMETER_ELLIPSE,mxPerimeter.EllipsePerimeter);
-mxStyleRegistry.putValue(mxConstants.PERIMETER_RECTANGLE,mxPerimeter.RectanglePerimeter);mxStyleRegistry.putValue(mxConstants.PERIMETER_RHOMBUS,mxPerimeter.RhombusPerimeter);mxStyleRegistry.putValue(mxConstants.PERIMETER_TRIANGLE,mxPerimeter.TrianglePerimeter);mxStyleRegistry.putValue(mxConstants.PERIMETER_HEXAGON,mxPerimeter.HexagonPerimeter);function mxGraphView(a){this.graph=a;this.translate=new mxPoint;this.graphBounds=new mxRectangle;this.states=new mxDictionary}mxGraphView.prototype=new mxEventSource;
-mxGraphView.prototype.constructor=mxGraphView;mxGraphView.prototype.EMPTY_POINT=new mxPoint;mxGraphView.prototype.doneResource="none"!=mxClient.language?"done":"";mxGraphView.prototype.updatingDocumentResource="none"!=mxClient.language?"updatingDocument":"";mxGraphView.prototype.allowEval=!1;mxGraphView.prototype.captureDocumentGesture=!0;mxGraphView.prototype.optimizeVmlReflows=!0;mxGraphView.prototype.rendering=!0;mxGraphView.prototype.graph=null;mxGraphView.prototype.currentRoot=null;
-mxGraphView.prototype.graphBounds=null;mxGraphView.prototype.scale=1;mxGraphView.prototype.translate=null;mxGraphView.prototype.states=null;mxGraphView.prototype.updateStyle=!1;mxGraphView.prototype.lastNode=null;mxGraphView.prototype.lastHtmlNode=null;mxGraphView.prototype.lastForegroundNode=null;mxGraphView.prototype.lastForegroundHtmlNode=null;mxGraphView.prototype.getGraphBounds=function(){return this.graphBounds};mxGraphView.prototype.setGraphBounds=function(a){this.graphBounds=a};
+SegmentConnector:function(a,b,c,d,e){function f(b){b.x=Math.round(b.x*a.view.scale*10)/10;b.y=Math.round(b.y*a.view.scale*10)/10;if(null==k||1<=Math.abs(k.x-b.x)||Math.abs(k.y-b.y)>=Math.max(1,a.view.scale))e.push(b),k=b;return k}var g=mxEdgeStyle.scalePointArray(a.absolutePoints,a.view.scale);b=mxEdgeStyle.scaleCellState(b,a.view.scale);c=mxEdgeStyle.scaleCellState(c,a.view.scale);var k=0<e.length?e[0]:null,l=!0,m=null,n=g[0];null==n&&null!=b?n=new mxPoint(a.view.getRoutingCenterX(b),a.view.getRoutingCenterY(b)):
+null!=n&&(n=n.clone());var p=g.length-1;if(null!=d&&0<d.length){for(var q=[],r=0;r<d.length;r++){var t=a.view.transformControlPoint(a,d[r],!0);null!=t&&q.push(t)}if(0==q.length)return;null!=n&&null!=q[0]&&(1>Math.abs(q[0].x-n.x)&&(q[0].x=n.x),1>Math.abs(q[0].y-n.y)&&(q[0].y=n.y));t=g[p];null!=t&&null!=q[q.length-1]&&(1>Math.abs(q[q.length-1].x-t.x)&&(q[q.length-1].x=t.x),1>Math.abs(q[q.length-1].y-t.y)&&(q[q.length-1].y=t.y));var m=q[0],u=b;d=g[0];var x=!1,y=!1,x=m;null!=d&&(u=null);for(r=0;2>r;r++){var B=
+null!=d&&d.x==x.x,A=null!=d&&d.y==x.y,z=null!=u&&x.y>=u.y&&x.y<=u.y+u.height,u=null!=u&&x.x>=u.x&&x.x<=u.x+u.width,x=A||null==d&&z,y=B||null==d&&u;if(0!=r||!(x&&y||B&&A)){if(null!=d&&!A&&!B&&(z||u)){l=z?!1:!0;break}if(y||x){l=x;1==r&&(l=0==q.length%2?x:y);break}}u=c;d=g[p];null!=d&&(u=null);x=q[q.length-1];B&&A&&(q=q.slice(1))}l&&(null!=g[0]&&g[0].y!=m.y||null==g[0]&&null!=b&&(m.y<b.y||m.y>b.y+b.height))?f(new mxPoint(n.x,m.y)):!l&&(null!=g[0]&&g[0].x!=m.x||null==g[0]&&null!=b&&(m.x<b.x||m.x>b.x+
+b.width))&&f(new mxPoint(m.x,n.y));l?n.y=m.y:n.x=m.x;for(r=0;r<q.length;r++)l=!l,m=q[r],l?n.y=m.y:n.x=m.x,f(n.clone())}else m=n,l=!0;n=g[p];null==n&&null!=c&&(n=new mxPoint(a.view.getRoutingCenterX(c),a.view.getRoutingCenterY(c)));null!=n&&null!=m&&(l&&(null!=g[p]&&g[p].y!=m.y||null==g[p]&&null!=c&&(m.y<c.y||m.y>c.y+c.height))?f(new mxPoint(n.x,m.y)):!l&&(null!=g[p]&&g[p].x!=m.x||null==g[p]&&null!=c&&(m.x<c.x||m.x>c.x+c.width))&&f(new mxPoint(m.x,n.y)));if(null==g[0]&&null!=b)for(;1<e.length&&null!=
+e[1]&&mxUtils.contains(b,e[1].x,e[1].y);)e.splice(1,1);if(null==g[p]&&null!=c)for(;1<e.length&&null!=e[e.length-1]&&mxUtils.contains(c,e[e.length-1].x,e[e.length-1].y);)e.splice(e.length-1,1);null!=t&&null!=e[e.length-1]&&1>=Math.abs(t.x-e[e.length-1].x)&&1>=Math.abs(t.y-e[e.length-1].y)&&(e.splice(e.length-1,1),null!=e[e.length-1]&&(1>Math.abs(e[e.length-1].x-t.x)&&(e[e.length-1].x=t.x),1>Math.abs(e[e.length-1].y-t.y)&&(e[e.length-1].y=t.y)))},orthBuffer:10,orthPointsFallback:!0,dirVectors:[[-1,
+0],[0,-1],[1,0],[0,1],[-1,0],[0,-1],[1,0]],wayPoints1:[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],routePatterns:[[[513,2308,2081,2562],[513,1090,514,2184,2114,2561],[513,1090,514,2564,2184,2562],[513,2308,2561,1090,514,2568,2308]],[[514,1057,513,2308,2081,2562],[514,2184,2114,2561],[514,2184,2562,1057,513,2564,2184],[514,1057,513,2568,2308,2561]],[[1090,514,1057,513,2308,2081,2562],[2114,2561],[1090,2562,1057,513,2564,2184],[1090,514,1057,513,2308,2561,2568]],[[2081,
+2562],[1057,513,1090,514,2184,2114,2561],[1057,513,1090,514,2184,2562,2564],[1057,2561,1090,514,2568,2308]]],inlineRoutePatterns:[[null,[2114,2568],null,null],[null,[514,2081,2114,2568],null,null],[null,[2114,2561],null,null],[[2081,2562],[1057,2114,2568],[2184,2562],null]],vertexSeperations:[],limits:[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]],LEFT_MASK:32,TOP_MASK:64,RIGHT_MASK:128,BOTTOM_MASK:256,LEFT:1,TOP:2,RIGHT:4,BOTTOM:8,SIDE_MASK:480,CENTER_MASK:512,SOURCE_MASK:1024,TARGET_MASK:2048,VERTEX_MASK:3072,
+getJettySize:function(a,b){var c=mxUtils.getValue(a.style,b?mxConstants.STYLE_SOURCE_JETTY_SIZE:mxConstants.STYLE_TARGET_JETTY_SIZE,mxUtils.getValue(a.style,mxConstants.STYLE_JETTY_SIZE,mxEdgeStyle.orthBuffer));"auto"==c&&(mxUtils.getValue(a.style,b?mxConstants.STYLE_STARTARROW:mxConstants.STYLE_ENDARROW,mxConstants.NONE)!=mxConstants.NONE?(c=mxUtils.getNumber(a.style,b?mxConstants.STYLE_STARTSIZE:mxConstants.STYLE_ENDSIZE,mxConstants.DEFAULT_MARKERSIZE),c=Math.max(2,Math.ceil((c+mxEdgeStyle.orthBuffer)/
+mxEdgeStyle.orthBuffer))*mxEdgeStyle.orthBuffer):c=2*mxEdgeStyle.orthBuffer);return c},scalePointArray:function(a,b){var c=[];if(null!=a)for(var d=0;d<a.length;d++)if(null!=a[d]){var e=new mxPoint(Math.round(a[d].x/b*10)/10,Math.round(a[d].y/b*10)/10);c[d]=e}else c[d]=null;else c=null;return c},scaleCellState:function(a,b){var c;null!=a?(c=a.clone(),c.setRect(Math.round(a.x/b*10)/10,Math.round(a.y/b*10)/10,Math.round(a.width/b*10)/10,Math.round(a.height/b*10)/10)):c=null;return c},OrthConnector:function(a,
+b,c,d,e){var f=a.view.graph,g=null==l?!1:f.getModel().isEdge(l.cell),k=null==m?!1:f.getModel().isEdge(m.cell),f=mxEdgeStyle.scalePointArray(a.absolutePoints,a.view.scale),l=mxEdgeStyle.scaleCellState(b,a.view.scale),m=mxEdgeStyle.scaleCellState(c,a.view.scale),n=f[0],p=f[f.length-1],q=null!=l?l.x:n.x,r=null!=l?l.y:n.y,t=null!=l?l.width:0,u=null!=l?l.height:0,x=null!=m?m.x:p.x,y=null!=m?m.y:p.y,B=null!=m?m.width:0,A=null!=m?m.height:0,f=mxEdgeStyle.getJettySize(a,!0),z=mxEdgeStyle.getJettySize(a,!1);
+null!=l&&m==l&&(f=z=Math.max(f,z));var C=z+f,v=!1;if(null!=n&&null!=p)var v=p.x-n.x,D=p.y-n.y,v=v*v+D*D<C*C;if(v||mxEdgeStyle.orthPointsFallback&&null!=d&&0<d.length||g||k)mxEdgeStyle.SegmentConnector(a,b,c,d,e);else{c=[mxConstants.DIRECTION_MASK_ALL,mxConstants.DIRECTION_MASK_ALL];null!=l&&(c[0]=mxUtils.getPortConstraints(l,a,!0,mxConstants.DIRECTION_MASK_ALL),b=mxUtils.getValue(l.style,mxConstants.STYLE_ROTATION,0),0!=b&&(b=mxUtils.getBoundingBox(new mxRectangle(q,r,t,u),b),q=b.x,r=b.y,t=b.width,
+u=b.height));null!=m&&(c[1]=mxUtils.getPortConstraints(m,a,!1,mxConstants.DIRECTION_MASK_ALL),b=mxUtils.getValue(m.style,mxConstants.STYLE_ROTATION,0),0!=b&&(b=mxUtils.getBoundingBox(new mxRectangle(x,y,B,A),b),x=b.x,y=b.y,B=b.width,A=b.height));b=[0,0];q=[[q,r,t,u],[x,y,B,A]];z=[f,z];for(v=0;2>v;v++)mxEdgeStyle.limits[v][1]=q[v][0]-z[v],mxEdgeStyle.limits[v][2]=q[v][1]-z[v],mxEdgeStyle.limits[v][4]=q[v][0]+q[v][2]+z[v],mxEdgeStyle.limits[v][8]=q[v][1]+q[v][3]+z[v];z=q[0][1]+q[0][3]/2;r=q[1][1]+q[1][3]/
+2;v=q[0][0]+q[0][2]/2-(q[1][0]+q[1][2]/2);D=z-r;z=0;0>v?z=0>D?2:1:0>=D&&(z=3,0==v&&(z=2));r=null;null!=l&&(r=n);l=[[.5,.5],[.5,.5]];for(v=0;2>v;v++)null!=r&&(l[v][0]=(r.x-q[v][0])/q[v][2],1>=Math.abs(r.x-q[v][0])?b[v]=mxConstants.DIRECTION_MASK_WEST:1>=Math.abs(r.x-q[v][0]-q[v][2])&&(b[v]=mxConstants.DIRECTION_MASK_EAST),l[v][1]=(r.y-q[v][1])/q[v][3],1>=Math.abs(r.y-q[v][1])?b[v]=mxConstants.DIRECTION_MASK_NORTH:1>=Math.abs(r.y-q[v][1]-q[v][3])&&(b[v]=mxConstants.DIRECTION_MASK_SOUTH)),r=null,null!=
+m&&(r=p);v=q[0][1]-(q[1][1]+q[1][3]);p=q[0][0]-(q[1][0]+q[1][2]);r=q[1][1]-(q[0][1]+q[0][3]);t=q[1][0]-(q[0][0]+q[0][2]);mxEdgeStyle.vertexSeperations[1]=Math.max(p-C,0);mxEdgeStyle.vertexSeperations[2]=Math.max(v-C,0);mxEdgeStyle.vertexSeperations[4]=Math.max(r-C,0);mxEdgeStyle.vertexSeperations[3]=Math.max(t-C,0);C=[];m=[];n=[];m[0]=p>=t?mxConstants.DIRECTION_MASK_WEST:mxConstants.DIRECTION_MASK_EAST;n[0]=v>=r?mxConstants.DIRECTION_MASK_NORTH:mxConstants.DIRECTION_MASK_SOUTH;m[1]=mxUtils.reversePortConstraints(m[0]);
+n[1]=mxUtils.reversePortConstraints(n[0]);p=p>=t?p:t;r=v>=r?v:r;t=[[0,0],[0,0]];u=!1;for(v=0;2>v;v++)0==b[v]&&(0==(m[v]&c[v])&&(m[v]=mxUtils.reversePortConstraints(m[v])),0==(n[v]&c[v])&&(n[v]=mxUtils.reversePortConstraints(n[v])),t[v][0]=n[v],t[v][1]=m[v]);0<r&&0<p&&(0<(m[0]&c[0])&&0<(n[1]&c[1])?(t[0][0]=m[0],t[0][1]=n[0],t[1][0]=n[1],t[1][1]=m[1],u=!0):0<(n[0]&c[0])&&0<(m[1]&c[1])&&(t[0][0]=n[0],t[0][1]=m[0],t[1][0]=m[1],t[1][1]=n[1],u=!0));0<r&&!u&&(t[0][0]=n[0],t[0][1]=m[0],t[1][0]=n[1],t[1][1]=
+m[1],u=!0);0<p&&!u&&(t[0][0]=m[0],t[0][1]=n[0],t[1][0]=m[1],t[1][1]=n[1]);for(v=0;2>v;v++)0==b[v]&&(0==(t[v][0]&c[v])&&(t[v][0]=t[v][1]),C[v]=t[v][0]&c[v],C[v]|=(t[v][1]&c[v])<<8,C[v]|=(t[1-v][v]&c[v])<<16,C[v]|=(t[1-v][1-v]&c[v])<<24,0==(C[v]&15)&&(C[v]<<=8),0==(C[v]&3840)&&(C[v]=C[v]&15|C[v]>>8),0==(C[v]&983040)&&(C[v]=C[v]&65535|(C[v]&251658240)>>8),b[v]=C[v]&15,c[v]==mxConstants.DIRECTION_MASK_WEST||c[v]==mxConstants.DIRECTION_MASK_NORTH||c[v]==mxConstants.DIRECTION_MASK_EAST||c[v]==mxConstants.DIRECTION_MASK_SOUTH)&&
+(b[v]=c[v]);c=b[0]==mxConstants.DIRECTION_MASK_EAST?3:b[0];C=b[1]==mxConstants.DIRECTION_MASK_EAST?3:b[1];c-=z;C-=z;1>c&&(c+=4);1>C&&(C+=4);c=mxEdgeStyle.routePatterns[c-1][C-1];mxEdgeStyle.wayPoints1[0][0]=q[0][0];mxEdgeStyle.wayPoints1[0][1]=q[0][1];switch(b[0]){case mxConstants.DIRECTION_MASK_WEST:mxEdgeStyle.wayPoints1[0][0]-=f;mxEdgeStyle.wayPoints1[0][1]+=l[0][1]*q[0][3];break;case mxConstants.DIRECTION_MASK_SOUTH:mxEdgeStyle.wayPoints1[0][0]+=l[0][0]*q[0][2];mxEdgeStyle.wayPoints1[0][1]+=q[0][3]+
+f;break;case mxConstants.DIRECTION_MASK_EAST:mxEdgeStyle.wayPoints1[0][0]+=q[0][2]+f;mxEdgeStyle.wayPoints1[0][1]+=l[0][1]*q[0][3];break;case mxConstants.DIRECTION_MASK_NORTH:mxEdgeStyle.wayPoints1[0][0]+=l[0][0]*q[0][2],mxEdgeStyle.wayPoints1[0][1]-=f}f=0;m=C=0<(b[0]&(mxConstants.DIRECTION_MASK_EAST|mxConstants.DIRECTION_MASK_WEST))?0:1;for(v=0;v<c.length;v++)n=c[v]&15,u=n==mxConstants.DIRECTION_MASK_EAST?3:n,u+=z,4<u&&(u-=4),p=mxEdgeStyle.dirVectors[u-1],n=0<u%2?0:1,n!=C&&(f++,mxEdgeStyle.wayPoints1[f][0]=
+mxEdgeStyle.wayPoints1[f-1][0],mxEdgeStyle.wayPoints1[f][1]=mxEdgeStyle.wayPoints1[f-1][1]),x=0<(c[v]&mxEdgeStyle.TARGET_MASK),y=0<(c[v]&mxEdgeStyle.SOURCE_MASK),r=(c[v]&mxEdgeStyle.SIDE_MASK)>>5,r<<=z,15<r&&(r>>=4),t=0<(c[v]&mxEdgeStyle.CENTER_MASK),(y||x)&&9>r?(u=y?0:1,r=t&&0==n?q[u][0]+l[u][0]*q[u][2]:t?q[u][1]+l[u][1]*q[u][3]:mxEdgeStyle.limits[u][r],0==n?(r=(r-mxEdgeStyle.wayPoints1[f][0])*p[0],0<r&&(mxEdgeStyle.wayPoints1[f][0]+=p[0]*r)):(r=(r-mxEdgeStyle.wayPoints1[f][1])*p[1],0<r&&(mxEdgeStyle.wayPoints1[f][1]+=
+p[1]*r))):t&&(mxEdgeStyle.wayPoints1[f][0]+=p[0]*Math.abs(mxEdgeStyle.vertexSeperations[u]/2),mxEdgeStyle.wayPoints1[f][1]+=p[1]*Math.abs(mxEdgeStyle.vertexSeperations[u]/2)),0<f&&mxEdgeStyle.wayPoints1[f][n]==mxEdgeStyle.wayPoints1[f-1][n]?f--:C=n;for(v=0;v<=f&&(v!=f||((0<(b[1]&(mxConstants.DIRECTION_MASK_EAST|mxConstants.DIRECTION_MASK_WEST))?0:1)==m?0:1)==(f+1)%2);v++)e.push(new mxPoint(Math.round(mxEdgeStyle.wayPoints1[v][0]*a.view.scale*10)/10,Math.round(mxEdgeStyle.wayPoints1[v][1]*a.view.scale*
+10)/10));for(a=1;a<e.length;)null==e[a-1]||null==e[a]||e[a-1].x!=e[a].x||e[a-1].y!=e[a].y?a++:e.splice(a,1)}},getRoutePattern:function(a,b,c,d){var e=a[0]==mxConstants.DIRECTION_MASK_EAST?3:a[0];a=a[1]==mxConstants.DIRECTION_MASK_EAST?3:a[1];e-=b;a-=b;1>e&&(e+=4);1>a&&(a+=4);b=routePatterns[e-1][a-1];0!=c&&0!=d||null==inlineRoutePatterns[e-1][a-1]||(b=inlineRoutePatterns[e-1][a-1]);return b}},mxStyleRegistry={values:[],putValue:function(a,b){mxStyleRegistry.values[a]=b},getValue:function(a){return mxStyleRegistry.values[a]},
+getName:function(a){for(var b in mxStyleRegistry.values)if(mxStyleRegistry.values[b]==a)return b;return null}};mxStyleRegistry.putValue(mxConstants.EDGESTYLE_ELBOW,mxEdgeStyle.ElbowConnector);mxStyleRegistry.putValue(mxConstants.EDGESTYLE_ENTITY_RELATION,mxEdgeStyle.EntityRelation);mxStyleRegistry.putValue(mxConstants.EDGESTYLE_LOOP,mxEdgeStyle.Loop);mxStyleRegistry.putValue(mxConstants.EDGESTYLE_SIDETOSIDE,mxEdgeStyle.SideToSide);mxStyleRegistry.putValue(mxConstants.EDGESTYLE_TOPTOBOTTOM,mxEdgeStyle.TopToBottom);
+mxStyleRegistry.putValue(mxConstants.EDGESTYLE_ORTHOGONAL,mxEdgeStyle.OrthConnector);mxStyleRegistry.putValue(mxConstants.EDGESTYLE_SEGMENT,mxEdgeStyle.SegmentConnector);mxStyleRegistry.putValue(mxConstants.PERIMETER_ELLIPSE,mxPerimeter.EllipsePerimeter);mxStyleRegistry.putValue(mxConstants.PERIMETER_RECTANGLE,mxPerimeter.RectanglePerimeter);mxStyleRegistry.putValue(mxConstants.PERIMETER_RHOMBUS,mxPerimeter.RhombusPerimeter);mxStyleRegistry.putValue(mxConstants.PERIMETER_TRIANGLE,mxPerimeter.TrianglePerimeter);
+mxStyleRegistry.putValue(mxConstants.PERIMETER_HEXAGON,mxPerimeter.HexagonPerimeter);function mxGraphView(a){this.graph=a;this.translate=new mxPoint;this.graphBounds=new mxRectangle;this.states=new mxDictionary}mxGraphView.prototype=new mxEventSource;mxGraphView.prototype.constructor=mxGraphView;mxGraphView.prototype.EMPTY_POINT=new mxPoint;mxGraphView.prototype.doneResource="none"!=mxClient.language?"done":"";
+mxGraphView.prototype.updatingDocumentResource="none"!=mxClient.language?"updatingDocument":"";mxGraphView.prototype.allowEval=!1;mxGraphView.prototype.captureDocumentGesture=!0;mxGraphView.prototype.optimizeVmlReflows=!0;mxGraphView.prototype.rendering=!0;mxGraphView.prototype.graph=null;mxGraphView.prototype.currentRoot=null;mxGraphView.prototype.graphBounds=null;mxGraphView.prototype.scale=1;mxGraphView.prototype.translate=null;mxGraphView.prototype.states=null;
+mxGraphView.prototype.updateStyle=!1;mxGraphView.prototype.lastNode=null;mxGraphView.prototype.lastHtmlNode=null;mxGraphView.prototype.lastForegroundNode=null;mxGraphView.prototype.lastForegroundHtmlNode=null;mxGraphView.prototype.getGraphBounds=function(){return this.graphBounds};mxGraphView.prototype.setGraphBounds=function(a){this.graphBounds=a};
 mxGraphView.prototype.getBounds=function(a){var b=null;if(null!=a&&0<a.length)for(var c=this.graph.getModel(),d=0;d<a.length;d++)if(c.isVertex(a[d])||c.isEdge(a[d])){var e=this.getState(a[d]);null!=e&&(null==b?b=mxRectangle.fromRectangle(e):b.add(e))}return b};mxGraphView.prototype.setCurrentRoot=function(a){if(this.currentRoot!=a){var b=new mxCurrentRootChange(this,a);b.execute();var c=new mxUndoableEdit(this,!0);c.add(b);this.fireEvent(new mxEventObject(mxEvent.UNDO,"edit",c));this.graph.sizeDidChange()}return a};
 mxGraphView.prototype.scaleAndTranslate=function(a,b,c){var d=this.scale,e=new mxPoint(this.translate.x,this.translate.y);if(this.scale!=a||this.translate.x!=b||this.translate.y!=c)this.scale=a,this.translate.x=b,this.translate.y=c,this.isEventsEnabled()&&this.viewStateChanged();this.fireEvent(new mxEventObject(mxEvent.SCALE_AND_TRANSLATE,"scale",a,"previousScale",d,"translate",this.translate,"previousTranslate",e))};mxGraphView.prototype.getScale=function(){return this.scale};
 mxGraphView.prototype.setScale=function(a){var b=this.scale;this.scale!=a&&(this.scale=a,this.isEventsEnabled()&&this.viewStateChanged());this.fireEvent(new mxEventObject(mxEvent.SCALE,"scale",a,"previousScale",b))};mxGraphView.prototype.getTranslate=function(){return this.translate};
@@ -1036,7 +1037,7 @@ mxGraphView.prototype.updateFixedTerminalPoints=function(a,b,c){this.updateFixed
 mxGraphView.prototype.getFixedTerminalPoint=function(a,b,c,d){var e=null;null!=d&&(e=this.graph.getConnectionPoint(b,d,!1));if(null==e&&null==b){b=this.scale;d=this.translate;var f=a.origin,e=this.graph.getCellGeometry(a.cell).getTerminalPoint(c);null!=e&&(e=new mxPoint(b*(d.x+e.x+f.x),b*(d.y+e.y+f.y)))}return e};
 mxGraphView.prototype.updateBoundsFromStencil=function(a){var b=null;if(null!=a&&null!=a.shape&&null!=a.shape.stencil&&"fixed"==a.shape.stencil.aspect){var b=mxRectangle.fromRectangle(a),c=a.shape.stencil.computeAspect(a.style,a.x,a.y,a.width,a.height);a.setRect(c.x,c.y,a.shape.stencil.w0*c.width,a.shape.stencil.h0*c.height)}return b};
 mxGraphView.prototype.updatePoints=function(a,b,c,d){if(null!=a){var e=[];e.push(a.absolutePoints[0]);var f=this.getEdgeStyle(a,b,c,d);if(null!=f){c=this.getTerminalPort(a,c,!0);d=this.getTerminalPort(a,d,!1);var g=this.updateBoundsFromStencil(c),k=this.updateBoundsFromStencil(d);f(a,c,d,b,e);null!=g&&c.setRect(g.x,g.y,g.width,g.height);null!=k&&d.setRect(k.x,k.y,k.width,k.height)}else if(null!=b)for(f=0;f<b.length;f++)null!=b[f]&&(c=mxUtils.clone(b[f]),e.push(this.transformControlPoint(a,c)));b=
-a.absolutePoints;e.push(b[b.length-1]);a.absolutePoints=e}};mxGraphView.prototype.transformControlPoint=function(a,b){if(null!=a&&null!=b){var c=a.origin;return new mxPoint(this.scale*(b.x+this.translate.x+c.x),this.scale*(b.y+this.translate.y+c.y))}return null};
+a.absolutePoints;e.push(b[b.length-1]);a.absolutePoints=e}};mxGraphView.prototype.transformControlPoint=function(a,b,c){return null!=a&&null!=b?(a=a.origin,c=c?1:this.scale,new mxPoint(c*(b.x+this.translate.x+a.x),c*(b.y+this.translate.y+a.y))):null};
 mxGraphView.prototype.isLoopStyleEnabled=function(a,b,c,d){var e=this.graph.getConnectionConstraint(a,c,!0),f=this.graph.getConnectionConstraint(a,d,!1);return!(null==b||2>b.length)||mxUtils.getValue(a.style,mxConstants.STYLE_ORTHOGONAL_LOOP,!1)&&(null!=e&&null!=e.point||null!=f&&null!=f.point)?!1:null!=c&&c==d};
 mxGraphView.prototype.getEdgeStyle=function(a,b,c,d){a=this.isLoopStyleEnabled(a,b,c,d)?mxUtils.getValue(a.style,mxConstants.STYLE_LOOP,this.graph.defaultLoopStyle):mxUtils.getValue(a.style,mxConstants.STYLE_NOEDGESTYLE,!1)?null:a.style[mxConstants.STYLE_EDGE];"string"==typeof a&&(b=mxStyleRegistry.getValue(a),null==b&&this.isAllowEval()&&(b=mxUtils.eval(a)),a=b);return"function"==typeof a?a:null};
 mxGraphView.prototype.updateFloatingTerminalPoints=function(a,b,c){var d=a.absolutePoints,e=d[0];null==d[d.length-1]&&null!=c&&this.updateFloatingTerminalPoint(a,c,b,!1);null==e&&null!=b&&this.updateFloatingTerminalPoint(a,b,c,!0)};mxGraphView.prototype.updateFloatingTerminalPoint=function(a,b,c,d){a.setAbsoluteTerminalPoint(this.getFloatingTerminalPoint(a,b,c,d),d)};
@@ -1372,12 +1373,12 @@ mxCellStatePreview.prototype.revalidateState=function(a,b,c,d){if(null!=a){var e
 g)),b,c,d)}};mxCellStatePreview.prototype.addEdges=function(a){for(var b=this.graph.getModel(),c=b.getEdgeCount(a.cell),d=0;d<c;d++){var e=a.view.getState(b.getEdgeAt(a.cell,d));null!=e&&this.moveState(e,0,0)}};function mxConnectionConstraint(a,b,c,d,e){this.point=a;this.perimeter=null!=b?b:!0;this.name=c;this.dx=d?d:0;this.dy=e?e:0}mxConnectionConstraint.prototype.point=null;mxConnectionConstraint.prototype.perimeter=null;mxConnectionConstraint.prototype.name=null;
 mxConnectionConstraint.prototype.dx=null;mxConnectionConstraint.prototype.dy=null;
 function mxGraphHandler(a){this.graph=a;this.graph.addMouseListener(this);this.panHandler=mxUtils.bind(this,function(){this.suspended||(this.updatePreview(),this.updateHint())});this.graph.addListener(mxEvent.PAN,this.panHandler);this.escapeHandler=mxUtils.bind(this,function(a,c){this.reset()});this.graph.addListener(mxEvent.ESCAPE,this.escapeHandler);this.refreshHandler=mxUtils.bind(this,function(a,c){window.setTimeout(mxUtils.bind(this,function(){if(null!=this.first&&!this.suspended){var a=this.currentDx,
-b=this.currentDy;this.currentDy=this.currentDx=0;this.updatePreview();this.bounds=this.graph.getView().getBounds(this.cells);this.pBounds=this.getPreviewBounds(this.cells);null==this.pBounds?this.reset():(this.currentDx=a,this.currentDy=b,this.updatePreview(),this.updateHint(),this.livePreviewUsed&&this.setHandlesVisibleForCells(this.graph.getSelectionCells(),!1))}}),0)});this.graph.getModel().addListener(mxEvent.CHANGE,this.refreshHandler)}mxGraphHandler.prototype.graph=null;
-mxGraphHandler.prototype.maxCells=mxClient.IS_IE?20:50;mxGraphHandler.prototype.enabled=!0;mxGraphHandler.prototype.highlightEnabled=!0;mxGraphHandler.prototype.cloneEnabled=!0;mxGraphHandler.prototype.moveEnabled=!0;mxGraphHandler.prototype.guidesEnabled=!1;mxGraphHandler.prototype.guide=null;mxGraphHandler.prototype.currentDx=null;mxGraphHandler.prototype.currentDy=null;mxGraphHandler.prototype.updateCursor=!0;mxGraphHandler.prototype.selectEnabled=!0;
-mxGraphHandler.prototype.removeCellsFromParent=!0;mxGraphHandler.prototype.removeEmptyParents=!1;mxGraphHandler.prototype.connectOnDrop=!1;mxGraphHandler.prototype.scrollOnMove=!0;mxGraphHandler.prototype.minimumSize=6;mxGraphHandler.prototype.previewColor="black";mxGraphHandler.prototype.htmlPreview=!1;mxGraphHandler.prototype.shape=null;mxGraphHandler.prototype.scaleGrid=!1;mxGraphHandler.prototype.rotationEnabled=!0;mxGraphHandler.prototype.maxLivePreview=0;
-mxGraphHandler.prototype.allowLivePreview=mxClient.IS_SVG;mxGraphHandler.prototype.isEnabled=function(){return this.enabled};mxGraphHandler.prototype.setEnabled=function(a){this.enabled=a};mxGraphHandler.prototype.isCloneEnabled=function(){return this.cloneEnabled};mxGraphHandler.prototype.setCloneEnabled=function(a){this.cloneEnabled=a};mxGraphHandler.prototype.isMoveEnabled=function(){return this.moveEnabled};mxGraphHandler.prototype.setMoveEnabled=function(a){this.moveEnabled=a};
-mxGraphHandler.prototype.isSelectEnabled=function(){return this.selectEnabled};mxGraphHandler.prototype.setSelectEnabled=function(a){this.selectEnabled=a};mxGraphHandler.prototype.isRemoveCellsFromParent=function(){return this.removeCellsFromParent};mxGraphHandler.prototype.setRemoveCellsFromParent=function(a){this.removeCellsFromParent=a};mxGraphHandler.prototype.getInitialCellForEvent=function(a){return a.getCell()};mxGraphHandler.prototype.isDelayedSelection=function(a,b){return this.graph.isCellSelected(a)};
-mxGraphHandler.prototype.consumeMouseEvent=function(a,b){b.consume()};
+b=this.currentDy;this.currentDy=this.currentDx=0;this.updatePreview();this.bounds=this.graph.getView().getBounds(this.cells);this.pBounds=this.getPreviewBounds(this.cells);null==this.pBounds?this.reset():(this.currentDx=a,this.currentDy=b,this.updatePreview(),this.updateHint(),this.livePreviewUsed&&this.setHandlesVisibleForCells(this.graph.getSelectionCells(),!1))}}),0)});this.graph.getModel().addListener(mxEvent.CHANGE,this.refreshHandler);this.keyHandler=mxUtils.bind(this,function(a){null!=this.graph.container&&
+"hidden"!=this.graph.container.style.visibility&&(a=this.graph.isCloneEvent(a)&&this.graph.isCellsCloneable()&&this.isCloneEnabled(),a!=this.cloning&&(this.cloning=a,this.checkPreview(),this.updatePreview()))});mxEvent.addListener(document,"keydown",this.keyHandler);mxEvent.addListener(document,"keyup",this.keyHandler)}mxGraphHandler.prototype.graph=null;mxGraphHandler.prototype.maxCells=mxClient.IS_IE?20:50;mxGraphHandler.prototype.enabled=!0;mxGraphHandler.prototype.highlightEnabled=!0;
+mxGraphHandler.prototype.cloneEnabled=!0;mxGraphHandler.prototype.moveEnabled=!0;mxGraphHandler.prototype.guidesEnabled=!1;mxGraphHandler.prototype.handlesVisible=!0;mxGraphHandler.prototype.guide=null;mxGraphHandler.prototype.currentDx=null;mxGraphHandler.prototype.currentDy=null;mxGraphHandler.prototype.updateCursor=!0;mxGraphHandler.prototype.selectEnabled=!0;mxGraphHandler.prototype.removeCellsFromParent=!0;mxGraphHandler.prototype.removeEmptyParents=!1;
+mxGraphHandler.prototype.connectOnDrop=!1;mxGraphHandler.prototype.scrollOnMove=!0;mxGraphHandler.prototype.minimumSize=6;mxGraphHandler.prototype.previewColor="black";mxGraphHandler.prototype.htmlPreview=!1;mxGraphHandler.prototype.shape=null;mxGraphHandler.prototype.scaleGrid=!1;mxGraphHandler.prototype.rotationEnabled=!0;mxGraphHandler.prototype.maxLivePreview=0;mxGraphHandler.prototype.allowLivePreview=mxClient.IS_SVG;mxGraphHandler.prototype.isEnabled=function(){return this.enabled};
+mxGraphHandler.prototype.setEnabled=function(a){this.enabled=a};mxGraphHandler.prototype.isCloneEnabled=function(){return this.cloneEnabled};mxGraphHandler.prototype.setCloneEnabled=function(a){this.cloneEnabled=a};mxGraphHandler.prototype.isMoveEnabled=function(){return this.moveEnabled};mxGraphHandler.prototype.setMoveEnabled=function(a){this.moveEnabled=a};mxGraphHandler.prototype.isSelectEnabled=function(){return this.selectEnabled};
+mxGraphHandler.prototype.setSelectEnabled=function(a){this.selectEnabled=a};mxGraphHandler.prototype.isRemoveCellsFromParent=function(){return this.removeCellsFromParent};mxGraphHandler.prototype.setRemoveCellsFromParent=function(a){this.removeCellsFromParent=a};mxGraphHandler.prototype.getInitialCellForEvent=function(a){return a.getCell()};mxGraphHandler.prototype.isDelayedSelection=function(a,b){return this.graph.isCellSelected(a)};mxGraphHandler.prototype.consumeMouseEvent=function(a,b){b.consume()};
 mxGraphHandler.prototype.mouseDown=function(a,b){if(!b.isConsumed()&&this.isEnabled()&&this.graph.isEnabled()&&null!=b.getState()&&!mxEvent.isMultiTouchEvent(b.getEvent())){var c=this.getInitialCellForEvent(b);this.delayedSelection=this.isDelayedSelection(c,b);this.cell=null;this.isSelectEnabled()&&!this.delayedSelection&&this.graph.selectCellForEvent(c,b.getEvent());if(this.isMoveEnabled()){var d=this.graph.model,e=d.getGeometry(c);this.graph.isCellMovable(c)&&(!d.isEdge(c)||1<this.graph.getSelectionCount()||
 null!=e.points&&0<e.points.length||null==d.getTerminal(c,!0)||null==d.getTerminal(c,!1)||this.graph.allowDanglingEdges||this.graph.isCloneEvent(b.getEvent())&&this.graph.isCellsCloneable())?this.start(c,b.getX(),b.getY()):this.delayedSelection&&(this.cell=c);this.cellWasClicked=!0;this.consumeMouseEvent(mxEvent.MOUSE_DOWN,b)}}};
 mxGraphHandler.prototype.getGuideStates=function(){var a=this.graph.getDefaultParent(),b=this.graph.getModel(),c=mxUtils.bind(this,function(a){return null!=this.graph.view.getState(a)&&b.isVertex(a)&&null!=b.getGeometry(a)&&!b.getGeometry(a).relative});return this.graph.view.getCellStates(b.filterDescendants(c,a))};mxGraphHandler.prototype.getCells=function(a){return!this.delayedSelection&&this.graph.isCellMovable(a)?[a]:this.graph.getMovableCells(this.graph.getSelectionCells())};
@@ -1388,20 +1389,21 @@ mxGraphHandler.prototype.start=function(a,b,c,d){this.cell=a;this.first=mxUtils.
 var e=this.graph.model.getParent(a),f=2>this.graph.model.getChildCount(e),g=new mxDictionary;a=this.graph.getOpposites(this.graph.getEdges(this.cell),this.cell);for(b=0;b<a.length;b++)c=this.graph.view.getState(a[b]),null==c||g.get(c)||g.put(c,!0);this.guide.isStateIgnored=mxUtils.bind(this,function(a){var b=this.graph.model.getParent(a.cell);return null!=a.cell&&(!this.cloning&&this.isCellMoving(a.cell)||a.cell!=(this.target||e)&&!f&&!g.get(a)&&(null==this.target||2<=this.graph.model.getChildCount(this.target))&&
 b!=(this.target||e))})}};mxGraphHandler.prototype.addStates=function(a,b){var c=this.graph.view.getState(a),d=0;if(null!=c&&null==b.get(a)){b.put(a,c);d++;for(var c=this.graph.model.getChildCount(a),e=0;e<c;e++)d+=this.addStates(this.graph.model.getChildAt(a,e),b)}return d};mxGraphHandler.prototype.isCellMoving=function(a){return null!=this.allCells.get(a)};mxGraphHandler.prototype.useGuidesForEvent=function(a){return null!=this.guide?this.guide.isEnabledForEvent(a.getEvent()):!0};
 mxGraphHandler.prototype.snap=function(a){var b=this.scaleGrid?this.graph.view.scale:1;a.x=this.graph.snap(a.x/b)*b;a.y=this.graph.snap(a.y/b)*b;return a};mxGraphHandler.prototype.getDelta=function(a){a=mxUtils.convertPoint(this.graph.container,a.getX(),a.getY());return new mxPoint(a.x-this.first.x-this.graph.panDx,a.y-this.first.y-this.graph.panDy)};mxGraphHandler.prototype.updateHint=function(a){};mxGraphHandler.prototype.removeHint=function(){};
-mxGraphHandler.prototype.roundLength=function(a){return Math.round(100*a)/100};
+mxGraphHandler.prototype.roundLength=function(a){return Math.round(100*a)/100};mxGraphHandler.prototype.isValidDropTarget=function(a){return this.graph.model.getParent(this.cell)!=a};
+mxGraphHandler.prototype.checkPreview=function(){this.livePreviewActive&&this.cloning?(this.resetLivePreview(),this.livePreviewActive=!1):this.maxLivePreview>=this.cellCount&&!this.livePreviewActive&&this.allowLivePreview?this.cloning&&this.livePreviewActive||(this.livePreviewUsed=this.livePreviewActive=!0):this.livePreviewUsed||null!=this.shape||(this.shape=this.createPreviewShape(this.bounds))};
 mxGraphHandler.prototype.mouseMove=function(a,b){var c=this.graph;if(b.isConsumed()||!c.isMouseDown||null==this.cell||null==this.first||null==this.bounds||this.suspended)!this.isMoveEnabled()&&!this.isCloneEnabled()||!this.updateCursor||b.isConsumed()||null==b.getState()&&null==b.sourceState||c.isMouseDown||(d=c.getCursorForMouseEvent(b),null==d&&c.isEnabled()&&c.isCellMovable(b.getCell())&&(d=c.getModel().isEdge(b.getCell())?mxConstants.CURSOR_MOVABLE_EDGE:mxConstants.CURSOR_MOVABLE_VERTEX),null!=
 d&&null!=b.sourceState&&b.sourceState.setCursor(d));else if(mxEvent.isMultiTouchEvent(b.getEvent()))this.reset();else{var d=this.getDelta(b),e=c.tolerance;if(null!=this.shape||this.livePreviewActive||Math.abs(d.x)>e||Math.abs(d.y)>e){null==this.highlight&&(this.highlight=new mxCellHighlight(this.graph,mxConstants.DROP_TARGET_COLOR,3));var e=c.isCloneEvent(b.getEvent())&&c.isCellsCloneable()&&this.isCloneEnabled(),f=c.isGridEnabledEvent(b.getEvent()),g=b.getCell(),k=!0,l=null;this.cloning=e;c.isDropEnabled()&&
-this.highlightEnabled&&(l=c.getDropTarget(this.cells,b.getEvent(),g,e));var m=c.getView().getState(l),n=!1;null==m||c.model.getParent(this.cell)==l&&!e?(this.target=null,this.connectOnDrop&&null!=g&&1==this.cells.length&&c.getModel().isVertex(g)&&c.isCellConnectable(g)&&(m=c.getView().getState(g),null!=m&&(g=null==c.getEdgeValidationError(null,this.cell,g)?mxConstants.VALID_COLOR:mxConstants.INVALID_CONNECT_TARGET_COLOR,this.setHighlightColor(g),n=!0))):(this.target!=l&&(this.target=l,this.setHighlightColor(mxConstants.DROP_TARGET_COLOR)),
-n=!0);null!=m&&n?this.highlight.highlight(m):this.highlight.hide();this.livePreviewActive&&e?(this.resetLivePreview(),this.livePreviewActive=!1):this.maxLivePreview>=this.cellCount&&!this.livePreviewActive&&this.allowLivePreview?e&&this.livePreviewActive||(this.setHandlesVisibleForCells(this.graph.getSelectionCells(),!1),this.livePreviewUsed=this.livePreviewActive=!0):this.livePreviewUsed||null!=this.shape||(this.shape=this.createPreviewShape(this.bounds));null!=this.guide&&this.useGuidesForEvent(b)?
-(d=this.guide.move(this.bounds,d,f,e),k=!1):d=this.graph.snapDelta(d,this.bounds,!f,!1,!1);null!=this.guide&&k&&this.guide.hide();c.isConstrainedEvent(b.getEvent())&&(Math.abs(d.x)>Math.abs(d.y)?d.y=0:d.x=0);if(this.currentDx!=d.x||this.currentDy!=d.y)this.currentDx=d.x,this.currentDy=d.y,this.updatePreview()}this.updateHint(b);this.consumeMouseEvent(mxEvent.MOUSE_MOVE,b);mxEvent.consume(b.getEvent())}};
-mxGraphHandler.prototype.updatePreview=function(a){this.livePreviewUsed&&!a?null!=this.cells&&this.updateLivePreview(this.currentDx,this.currentDy):this.updatePreviewShape()};mxGraphHandler.prototype.updatePreviewShape=function(){null!=this.shape&&(this.shape.bounds=new mxRectangle(Math.round(this.pBounds.x+this.currentDx),Math.round(this.pBounds.y+this.currentDy),this.pBounds.width,this.pBounds.height),this.shape.redraw())};
+this.highlightEnabled&&(l=c.getDropTarget(this.cells,b.getEvent(),g,e));var m=c.getView().getState(l),n=!1;null!=m&&(e||this.isValidDropTarget(l))?(this.target!=l&&(this.target=l,this.setHighlightColor(mxConstants.DROP_TARGET_COLOR)),n=!0):(this.target=null,this.connectOnDrop&&null!=g&&1==this.cells.length&&c.getModel().isVertex(g)&&c.isCellConnectable(g)&&(m=c.getView().getState(g),null!=m&&(g=null==c.getEdgeValidationError(null,this.cell,g)?mxConstants.VALID_COLOR:mxConstants.INVALID_CONNECT_TARGET_COLOR,
+this.setHighlightColor(g),n=!0)));null!=m&&n?this.highlight.highlight(m):this.highlight.hide();null!=this.guide&&this.useGuidesForEvent(b)?(d=this.guide.move(this.bounds,d,f,e),k=!1):d=this.graph.snapDelta(d,this.bounds,!f,!1,!1);null!=this.guide&&k&&this.guide.hide();c.isConstrainedEvent(b.getEvent())&&(Math.abs(d.x)>Math.abs(d.y)?d.y=0:d.x=0);this.checkPreview();if(this.currentDx!=d.x||this.currentDy!=d.y)this.currentDx=d.x,this.currentDy=d.y,this.updatePreview()}this.updateHint(b);this.consumeMouseEvent(mxEvent.MOUSE_MOVE,
+b);mxEvent.consume(b.getEvent())}};mxGraphHandler.prototype.updatePreview=function(a){this.livePreviewUsed&&!a?null!=this.cells&&(this.setHandlesVisibleForCells(this.graph.getSelectionCells(),!1),this.updateLivePreview(this.currentDx,this.currentDy)):this.updatePreviewShape()};
+mxGraphHandler.prototype.updatePreviewShape=function(){null!=this.shape&&(this.shape.bounds=new mxRectangle(Math.round(this.pBounds.x+this.currentDx),Math.round(this.pBounds.y+this.currentDy),this.pBounds.width,this.pBounds.height),this.shape.redraw())};
 mxGraphHandler.prototype.updateLivePreview=function(a,b){if(!this.suspended){var c=[];null!=this.allCells&&this.allCells.visit(mxUtils.bind(this,function(d,e){if(null==this.graph.view.getState(e.cell))e.destroy();else{var f=e.clone();c.push([e,f]);null!=e.shape&&(null==e.shape.originalPointerEvents&&(e.shape.originalPointerEvents=e.shape.pointerEvents),e.shape.pointerEvents=!1,null!=e.text&&(null==e.text.originalPointerEvents&&(e.text.originalPointerEvents=e.text.pointerEvents),e.text.pointerEvents=
 !1));this.graph.model.isVertex(e.cell)&&(e.x+=a,e.y+=b,this.cloning||(e.view.graph.cellRenderer.redraw(e,!0),e.view.invalidate(e.cell),e.invalid=!1,null!=e.control&&null!=e.control.node&&(e.control.node.style.visibility="hidden")))}}));if(0==c.length)this.reset();else{for(var d=this.graph.view.scale,e=0;e<c.length;e++){var f=c[e][0];if(this.graph.model.isEdge(f.cell)){var g=this.graph.getCellGeometry(f.cell),k=[];if(null!=g&&null!=g.points)for(var l=0;l<g.points.length;l++)null!=g.points[l]&&k.push(new mxPoint(g.points[l].x+
 a/d,g.points[l].y+b/d));var g=f.visibleSourceState,l=f.visibleTargetState,m=c[e][1].absolutePoints;null!=g&&this.isCellMoving(g.cell)?f.view.updateFixedTerminalPoint(f,g,!0,this.graph.getConnectionConstraint(f,g,!0)):(g=m[0],f.setAbsoluteTerminalPoint(new mxPoint(g.x+a,g.y+b),!0),g=null);null!=l&&this.isCellMoving(l.cell)?f.view.updateFixedTerminalPoint(f,l,!1,this.graph.getConnectionConstraint(f,l,!1)):(l=m[m.length-1],f.setAbsoluteTerminalPoint(new mxPoint(l.x+a,l.y+b),!1),l=null);f.view.updatePoints(f,
 k,g,l);f.view.updateFloatingTerminalPoints(f,g,l);f.view.updateEdgeLabelOffset(f);f.invalid=!1;this.cloning||f.view.graph.cellRenderer.redraw(f,!0)}}this.graph.view.validate();this.redrawHandles(c);this.resetPreviewStates(c)}}};mxGraphHandler.prototype.redrawHandles=function(a){for(var b=0;b<a.length;b++){var c=this.graph.selectionCellsHandler.getHandler(a[b][0].cell);null!=c&&c.redraw(!0)}};mxGraphHandler.prototype.resetPreviewStates=function(a){for(var b=0;b<a.length;b++)a[b][0].setState(a[b][1])};
 mxGraphHandler.prototype.suspend=function(){this.suspended||(this.livePreviewUsed&&this.updateLivePreview(0,0),null!=this.shape&&(this.shape.node.style.visibility="hidden"),null!=this.guide&&this.guide.setVisible(!1),this.suspended=!0)};mxGraphHandler.prototype.resume=function(){this.suspended&&(this.suspended=null,this.livePreviewUsed&&(this.livePreviewActive=!0),null!=this.shape&&(this.shape.node.style.visibility="visible"),null!=this.guide&&this.guide.setVisible(!0))};
-mxGraphHandler.prototype.resetLivePreview=function(){null!=this.allCells&&(this.allCells.visit(mxUtils.bind(this,function(a,b){null!=b.shape&&null!=b.shape.originalPointerEvents&&(b.shape.pointerEvents=b.shape.originalPointerEvents,b.shape.originalPointerEvents=null,null!=b.text&&(b.text.pointerEvents=b.text.originalPointerEvents,b.text.originalPointerEvents=null));null!=b.control&&null!=b.control.node&&"hidden"==b.control.node.style.visibility&&(b.control.node.style.visibility="");b.view.invalidate(b.cell)})),
-this.graph.view.validate())};mxGraphHandler.prototype.setHandlesVisibleForCells=function(a,b){for(var c=0;c<a.length;c++){var d=this.graph.selectionCellsHandler.getHandler(a[c]);null!=d&&(d.setHandlesVisible(b),b&&d.redraw())}};mxGraphHandler.prototype.setHighlightColor=function(a){null!=this.highlight&&this.highlight.setHighlightColor(a)};
+mxGraphHandler.prototype.resetLivePreview=function(){null!=this.allCells&&(this.allCells.visit(mxUtils.bind(this,function(a,b){null!=b.shape&&null!=b.shape.originalPointerEvents&&(b.shape.pointerEvents=b.shape.originalPointerEvents,b.shape.originalPointerEvents=null,b.shape.bounds=null,null!=b.text&&(b.text.pointerEvents=b.text.originalPointerEvents,b.text.originalPointerEvents=null));null!=b.control&&null!=b.control.node&&"hidden"==b.control.node.style.visibility&&(b.control.node.style.visibility=
+"");b.view.invalidate(b.cell)})),this.graph.view.validate())};mxGraphHandler.prototype.setHandlesVisibleForCells=function(a,b){if(this.handlesVisible!=b){this.handlesVisible=b;for(var c=0;c<a.length;c++){var d=this.graph.selectionCellsHandler.getHandler(a[c]);null!=d&&(d.setHandlesVisible(b),b&&d.redraw())}}};mxGraphHandler.prototype.setHighlightColor=function(a){null!=this.highlight&&this.highlight.setHighlightColor(a)};
 mxGraphHandler.prototype.mouseUp=function(a,b){if(!b.isConsumed())if(this.livePreviewUsed&&this.resetLivePreview(),null==this.cell||null==this.first||null==this.shape&&!this.livePreviewUsed||null==this.currentDx||null==this.currentDy)this.isSelectEnabled()&&this.delayedSelection&&null!=this.cell&&this.selectDelayed(b);else{var c=this.graph,d=b.getCell();if(this.connectOnDrop&&null==this.target&&null!=d&&c.getModel().isVertex(d)&&c.isCellConnectable(d)&&c.isEdgeValid(null,this.cell,d))c.connectionHandler.connect(this.cell,
 d,b.getEvent());else{var d=c.isCloneEvent(b.getEvent())&&c.isCellsCloneable()&&this.isCloneEnabled(),e=c.getView().scale,f=this.roundLength(this.currentDx/e),e=this.roundLength(this.currentDy/e),g=this.target;c.isSplitEnabled()&&c.isSplitTarget(g,this.cells,b.getEvent())?c.splitEdge(g,this.cells,null,f,e):this.moveCells(this.cells,f,e,d,this.target,b.getEvent())}}this.cellWasClicked&&this.consumeMouseEvent(mxEvent.MOUSE_UP,b);this.reset()};
 mxGraphHandler.prototype.selectDelayed=function(a){this.graph.isCellSelected(this.cell)&&this.graph.popupMenuHandler.isPopupTrigger(a)||this.graph.selectCellForEvent(this.cell,a.getEvent())};
@@ -1411,7 +1413,7 @@ mxGraphHandler.prototype.moveCells=function(a,b,c,d,e,f){d&&(a=this.graph.getClo
 this.graph.model.getParent(a[l]);null==m||k.get(m)||(k.put(m,!0),g.push(m))}}a=this.graph.moveCells(a,b,c,d,e,f);b=[];for(l=0;l<g.length;l++)this.shouldRemoveParent(g[l])&&b.push(g[l]);this.graph.removeCells(b,!1)}finally{this.graph.getModel().endUpdate()}d&&this.graph.setSelectionCells(a);this.isSelectEnabled()&&this.scrollOnMove&&this.graph.scrollCellToVisible(a[0])};
 mxGraphHandler.prototype.shouldRemoveParent=function(a){a=this.graph.view.getState(a);return null!=a&&(this.graph.model.isEdge(a.cell)||this.graph.model.isVertex(a.cell))&&this.graph.isCellDeletable(a.cell)&&0==this.graph.model.getChildCount(a.cell)&&this.graph.isTransparentState(a)};
 mxGraphHandler.prototype.destroyShapes=function(){null!=this.shape&&(this.shape.destroy(),this.shape=null);null!=this.guide&&(this.guide.destroy(),this.guide=null);null!=this.highlight&&(this.highlight.destroy(),this.highlight=null)};
-mxGraphHandler.prototype.destroy=function(){this.graph.removeMouseListener(this);this.graph.removeListener(this.panHandler);null!=this.escapeHandler&&(this.graph.removeListener(this.escapeHandler),this.escapeHandler=null);null!=this.refreshHandler&&(this.graph.getModel().removeListener(this.refreshHandler),this.refreshHandler=null);this.destroyShapes();this.removeHint()};
+mxGraphHandler.prototype.destroy=function(){this.graph.removeMouseListener(this);this.graph.removeListener(this.panHandler);null!=this.escapeHandler&&(this.graph.removeListener(this.escapeHandler),this.escapeHandler=null);null!=this.refreshHandler&&(this.graph.getModel().removeListener(this.refreshHandler),this.refreshHandler=null);mxEvent.removeListener(document,"keydown",this.keyHandler);mxEvent.removeListener(document,"keyup",this.keyHandler);this.destroyShapes();this.removeHint()};
 function mxPanningHandler(a){null!=a&&(this.graph=a,this.graph.addMouseListener(this),this.forcePanningHandler=mxUtils.bind(this,function(a,c){var b=c.getProperty("eventName"),e=c.getProperty("event");b==mxEvent.MOUSE_DOWN&&this.isForcePanningEvent(e)&&(this.start(e),this.active=!0,this.fireEvent(new mxEventObject(mxEvent.PAN_START,"event",e)),e.consume())}),this.graph.addListener(mxEvent.FIRE_MOUSE_EVENT,this.forcePanningHandler),this.gestureHandler=mxUtils.bind(this,function(a,c){if(this.isPinchEnabled()){var b=
 c.getProperty("event");mxEvent.isConsumed(b)||"gesturestart"!=b.type?"gestureend"==b.type&&null!=this.initialScale&&(this.initialScale=null):(this.initialScale=this.graph.view.scale,this.active||null==this.mouseDownEvent||(this.start(this.mouseDownEvent),this.mouseDownEvent=null));null!=this.initialScale&&this.zoomGraph(b)}}),this.graph.addListener(mxEvent.GESTURE,this.gestureHandler),this.mouseUpListener=mxUtils.bind(this,function(){this.active&&this.reset()}),mxEvent.addListener(document,"mouseup",
 this.mouseUpListener))}mxPanningHandler.prototype=new mxEventSource;mxPanningHandler.prototype.constructor=mxPanningHandler;mxPanningHandler.prototype.graph=null;mxPanningHandler.prototype.useLeftButtonForPanning=!1;mxPanningHandler.prototype.usePopupTrigger=!0;mxPanningHandler.prototype.ignoreCell=!1;mxPanningHandler.prototype.previewEnabled=!0;mxPanningHandler.prototype.useGrid=!1;mxPanningHandler.prototype.panningEnabled=!0;mxPanningHandler.prototype.pinchEnabled=!0;
@@ -1468,8 +1470,9 @@ mxEvent.isAltDown(a.getEvent())&&null!=a.getState()||this.marker.highlight.isHig
 mxConnectionHandler.prototype.updateCurrentState=function(a,b){this.constraintHandler.update(a,null==this.first,!1,null==this.first||a.isSource(this.marker.highlight.shape)?null:b);if(null!=this.constraintHandler.currentFocus&&null!=this.constraintHandler.currentConstraint)null!=this.marker.highlight&&null!=this.marker.highlight.state&&this.marker.highlight.state.cell==this.constraintHandler.currentFocus.cell?"transparent"!=this.marker.highlight.shape.stroke&&(this.marker.highlight.shape.stroke="transparent",
 this.marker.highlight.repaint()):this.marker.markCell(this.constraintHandler.currentFocus.cell,"transparent"),null!=this.previous&&(this.error=this.validateConnection(this.previous.cell,this.constraintHandler.currentFocus.cell),null==this.error&&(this.currentState=this.constraintHandler.currentFocus),(null!=this.error||null!=this.currentState&&!this.isCellEnabled(this.currentState.cell))&&this.constraintHandler.reset());else{this.graph.isIgnoreTerminalEvent(a.getEvent())?(this.marker.reset(),this.currentState=
 null):(this.marker.process(a),this.currentState=this.marker.getValidState());null==this.currentState||this.isCellEnabled(this.currentState.cell)||(this.constraintHandler.reset(),this.marker.reset(),this.currentState=null);var c=this.isOutlineConnectEvent(a);null!=this.currentState&&c&&(a.isSource(this.marker.highlight.shape)&&(b=new mxPoint(a.getGraphX(),a.getGraphY())),c=this.graph.getOutlineConstraint(b,this.currentState,a),this.constraintHandler.setFocus(a,this.currentState,!1),this.constraintHandler.currentConstraint=
-c,this.constraintHandler.currentPoint=b);this.outlineConnect&&null!=this.marker.highlight&&null!=this.marker.highlight.shape&&(c=this.graph.view.scale,null!=this.constraintHandler.currentConstraint&&null!=this.constraintHandler.currentFocus?(this.marker.highlight.shape.stroke=mxConstants.OUTLINE_HIGHLIGHT_COLOR,this.marker.highlight.shape.strokewidth=mxConstants.OUTLINE_HIGHLIGHT_STROKEWIDTH/c/c,this.marker.highlight.repaint()):this.marker.hasValidState()&&(this.marker.getValidState()!=a.getState()?
-(this.marker.highlight.shape.stroke="transparent",this.currentState=null):this.marker.highlight.shape.stroke=mxConstants.DEFAULT_VALID_COLOR,this.marker.highlight.shape.strokewidth=mxConstants.HIGHLIGHT_STROKEWIDTH/c/c,this.marker.highlight.repaint()))}};mxConnectionHandler.prototype.isCellEnabled=function(a){return!0};mxConnectionHandler.prototype.convertWaypoint=function(a){var b=this.graph.getView().getScale(),c=this.graph.getView().getTranslate();a.x=a.x/b-c.x;a.y=a.y/b-c.y};
+c,this.constraintHandler.currentPoint=b);this.outlineConnect&&null!=this.marker.highlight&&null!=this.marker.highlight.shape&&(c=this.graph.view.scale,null!=this.constraintHandler.currentConstraint&&null!=this.constraintHandler.currentFocus?(this.marker.highlight.shape.stroke=mxConstants.OUTLINE_HIGHLIGHT_COLOR,this.marker.highlight.shape.strokewidth=mxConstants.OUTLINE_HIGHLIGHT_STROKEWIDTH/c/c,this.marker.highlight.repaint()):this.marker.hasValidState()&&(this.graph.isCellConnectable(a.getCell())&&
+this.marker.getValidState()!=a.getState()?(this.marker.highlight.shape.stroke="transparent",this.currentState=null):this.marker.highlight.shape.stroke=mxConstants.DEFAULT_VALID_COLOR,this.marker.highlight.shape.strokewidth=mxConstants.HIGHLIGHT_STROKEWIDTH/c/c,this.marker.highlight.repaint()))}};mxConnectionHandler.prototype.isCellEnabled=function(a){return!0};
+mxConnectionHandler.prototype.convertWaypoint=function(a){var b=this.graph.getView().getScale(),c=this.graph.getView().getTranslate();a.x=a.x/b-c.x;a.y=a.y/b-c.y};
 mxConnectionHandler.prototype.snapToPreview=function(a,b){if(!mxEvent.isAltDown(a.getEvent())&&null!=this.previous){var c=this.graph.gridSize*this.graph.view.scale/2,d=null!=this.sourceConstraint?this.first:new mxPoint(this.previous.getCenterX(),this.previous.getCenterY());Math.abs(d.x-a.getGraphX())<c&&(b.x=d.x);Math.abs(d.y-a.getGraphY())<c&&(b.y=d.y)}};
 mxConnectionHandler.prototype.mouseMove=function(a,b){if(b.isConsumed()||!this.ignoreMouseDown&&null==this.first&&this.graph.isMouseDown)this.constraintHandler.reset();else{this.isEnabled()||null==this.currentState||(this.destroyIcons(),this.currentState=null);var c=this.graph.getView(),d=c.scale,e=c.translate,c=new mxPoint(b.getGraphX(),b.getGraphY());this.error=null;this.graph.isGridEnabledEvent(b.getEvent())&&(c=new mxPoint((this.graph.snap(c.x/d-e.x)+e.x)*d,(this.graph.snap(c.y/d-e.y)+e.y)*d));
 this.snapToPreview(b,c);this.currentPoint=c;(null!=this.first||this.isEnabled()&&this.graph.isEnabled())&&(null!=this.shape||null==this.first||Math.abs(b.getGraphX()-this.first.x)>this.graph.tolerance||Math.abs(b.getGraphY()-this.first.y)>this.graph.tolerance)&&this.updateCurrentState(b,c);if(null!=this.first){var f=null,d=c;null!=this.constraintHandler.currentConstraint&&null!=this.constraintHandler.currentFocus&&null!=this.constraintHandler.currentPoint?(f=this.constraintHandler.currentConstraint,
@@ -1645,13 +1648,13 @@ mxEdgeHandler.prototype.isOutlineConnectEvent=function(a){var b=mxUtils.getOffse
 mxEvent.isAltDown(a.getEvent())&&null!=a.getState()||this.marker.highlight.isHighlightAt(d,c)||(f!=d||b!=c)&&null==a.getState()&&this.marker.highlight.isHighlightAt(f,b))};
 mxEdgeHandler.prototype.updatePreviewState=function(a,b,c,d,e){var f=this.isSource?c:this.state.getVisibleTerminalState(!0),g=this.isTarget?c:this.state.getVisibleTerminalState(!1),k=this.graph.getConnectionConstraint(a,f,!0),l=this.graph.getConnectionConstraint(a,g,!1),m=this.constraintHandler.currentConstraint;null==m&&e&&(null!=c?(d.isSource(this.marker.highlight.shape)&&(b=new mxPoint(d.getGraphX(),d.getGraphY())),m=this.graph.getOutlineConstraint(b,c,d),this.constraintHandler.setFocus(d,c,this.isSource),
 this.constraintHandler.currentConstraint=m,this.constraintHandler.currentPoint=b):m=new mxConnectionConstraint);if(this.outlineConnect&&null!=this.marker.highlight&&null!=this.marker.highlight.shape){var n=this.graph.view.scale;null!=this.constraintHandler.currentConstraint&&null!=this.constraintHandler.currentFocus?(this.marker.highlight.shape.stroke=e?mxConstants.OUTLINE_HIGHLIGHT_COLOR:"transparent",this.marker.highlight.shape.strokewidth=mxConstants.OUTLINE_HIGHLIGHT_STROKEWIDTH/n/n,this.marker.highlight.repaint()):
-this.marker.hasValidState()&&(this.marker.highlight.shape.stroke=this.marker.getValidState()==d.getState()?mxConstants.DEFAULT_VALID_COLOR:"transparent",this.marker.highlight.shape.strokewidth=mxConstants.HIGHLIGHT_STROKEWIDTH/n/n,this.marker.highlight.repaint())}this.isSource?k=m:this.isTarget&&(l=m);if(this.isSource||this.isTarget)null!=m&&null!=m.point?(a.style[this.isSource?mxConstants.STYLE_EXIT_X:mxConstants.STYLE_ENTRY_X]=m.point.x,a.style[this.isSource?mxConstants.STYLE_EXIT_Y:mxConstants.STYLE_ENTRY_Y]=
-m.point.y):(delete a.style[this.isSource?mxConstants.STYLE_EXIT_X:mxConstants.STYLE_ENTRY_X],delete a.style[this.isSource?mxConstants.STYLE_EXIT_Y:mxConstants.STYLE_ENTRY_Y]);a.setVisibleTerminalState(f,!0);a.setVisibleTerminalState(g,!1);this.isSource&&null==f||a.view.updateFixedTerminalPoint(a,f,!0,k);this.isTarget&&null==g||a.view.updateFixedTerminalPoint(a,g,!1,l);(this.isSource||this.isTarget)&&null==c&&(a.setAbsoluteTerminalPoint(b,this.isSource),null==this.marker.getMarkedState()&&(this.error=
-this.graph.allowDanglingEdges?null:""));a.view.updatePoints(a,this.points,f,g);a.view.updateFloatingTerminalPoints(a,f,g)};
+this.marker.hasValidState()&&(this.marker.highlight.shape.stroke=this.graph.isCellConnectable(d.getCell())&&this.marker.getValidState()!=d.getState()?"transparent":mxConstants.DEFAULT_VALID_COLOR,this.marker.highlight.shape.strokewidth=mxConstants.HIGHLIGHT_STROKEWIDTH/n/n,this.marker.highlight.repaint())}this.isSource?k=m:this.isTarget&&(l=m);if(this.isSource||this.isTarget)null!=m&&null!=m.point?(a.style[this.isSource?mxConstants.STYLE_EXIT_X:mxConstants.STYLE_ENTRY_X]=m.point.x,a.style[this.isSource?
+mxConstants.STYLE_EXIT_Y:mxConstants.STYLE_ENTRY_Y]=m.point.y):(delete a.style[this.isSource?mxConstants.STYLE_EXIT_X:mxConstants.STYLE_ENTRY_X],delete a.style[this.isSource?mxConstants.STYLE_EXIT_Y:mxConstants.STYLE_ENTRY_Y]);a.setVisibleTerminalState(f,!0);a.setVisibleTerminalState(g,!1);this.isSource&&null==f||a.view.updateFixedTerminalPoint(a,f,!0,k);this.isTarget&&null==g||a.view.updateFixedTerminalPoint(a,g,!1,l);(this.isSource||this.isTarget)&&null==c&&(a.setAbsoluteTerminalPoint(b,this.isSource),
+null==this.marker.getMarkedState()&&(this.error=this.graph.allowDanglingEdges?null:""));a.view.updatePoints(a,this.points,f,g);a.view.updateFloatingTerminalPoints(a,f,g)};
 mxEdgeHandler.prototype.mouseMove=function(a,b){if(null!=this.index&&null!=this.marker){this.currentPoint=this.getPointForEvent(b);this.error=null;!this.graph.isIgnoreTerminalEvent(b.getEvent())&&mxEvent.isShiftDown(b.getEvent())&&null!=this.snapPoint&&(Math.abs(this.snapPoint.x-this.currentPoint.x)<Math.abs(this.snapPoint.y-this.currentPoint.y)?this.currentPoint.x=this.snapPoint.x:this.currentPoint.y=this.snapPoint.y);if(this.index<=mxEvent.CUSTOM_HANDLE&&this.index>mxEvent.VIRTUAL_HANDLE)null!=
 this.customHandles&&this.customHandles[mxEvent.CUSTOM_HANDLE-this.index].processEvent(b);else if(this.isLabel)this.label.x=this.currentPoint.x,this.label.y=this.currentPoint.y;else{this.points=this.getPreviewPoints(this.currentPoint,b);var c=this.isSource||this.isTarget?this.getPreviewTerminalState(b):null;if(null!=this.constraintHandler.currentConstraint&&null!=this.constraintHandler.currentFocus&&null!=this.constraintHandler.currentPoint)this.currentPoint=this.constraintHandler.currentPoint.clone();
-else if(this.outlineConnect){var d=this.isSource||this.isTarget?this.isOutlineConnectEvent(b):!1;d?c=this.marker.highlight.state:null!=c&&c!=b.getState()&&null!=this.marker.highlight.shape&&(this.marker.highlight.shape.stroke="transparent",this.marker.highlight.repaint(),c=null)}null==c||this.isCellEnabled(c.cell)||(c=null,this.marker.reset());var e=this.clonePreviewState(this.currentPoint,null!=c?c.cell:null);this.updatePreviewState(e,this.currentPoint,c,b,d);this.setPreviewColor(null==this.error?
-this.marker.validColor:this.marker.invalidColor);this.abspoints=e.absolutePoints;this.active=!0}this.updateHint(b,this.currentPoint);this.drawPreview();mxEvent.consume(b.getEvent());b.consume()}else mxClient.IS_IE&&null!=this.getHandleForEvent(b)&&b.consume(!1)};
+else if(this.outlineConnect){var d=this.isSource||this.isTarget?this.isOutlineConnectEvent(b):!1;d?c=this.marker.highlight.state:null!=c&&c!=b.getState()&&this.graph.isCellConnectable(b.getCell())&&null!=this.marker.highlight.shape&&(this.marker.highlight.shape.stroke="transparent",this.marker.highlight.repaint(),c=null)}null==c||this.isCellEnabled(c.cell)||(c=null,this.marker.reset());var e=this.clonePreviewState(this.currentPoint,null!=c?c.cell:null);this.updatePreviewState(e,this.currentPoint,
+c,b,d);this.setPreviewColor(null==this.error?this.marker.validColor:this.marker.invalidColor);this.abspoints=e.absolutePoints;this.active=!0}this.updateHint(b,this.currentPoint);this.drawPreview();mxEvent.consume(b.getEvent());b.consume()}else mxClient.IS_IE&&null!=this.getHandleForEvent(b)&&b.consume(!1)};
 mxEdgeHandler.prototype.mouseUp=function(a,b){if(null!=this.index&&null!=this.marker){var c=this.state.cell,d=this.index;this.index=null;if(b.getX()!=this.startX||b.getY()!=this.startY){var e=!this.graph.isIgnoreTerminalEvent(b.getEvent())&&this.graph.isCloneEvent(b.getEvent())&&this.cloneEnabled&&this.graph.isCellsCloneable();if(null!=this.error)0<this.error.length&&this.graph.validationAlert(this.error);else if(d<=mxEvent.CUSTOM_HANDLE&&d>mxEvent.VIRTUAL_HANDLE){if(null!=this.customHandles){var f=
 this.graph.getModel();f.beginUpdate();try{this.customHandles[mxEvent.CUSTOM_HANDLE-d].execute()}finally{f.endUpdate()}}}else if(this.isLabel)this.moveLabel(this.state,this.label.x,this.label.y);else if(this.isSource||this.isTarget)if(d=null,null!=this.constraintHandler.currentConstraint&&null!=this.constraintHandler.currentFocus&&(d=this.constraintHandler.currentFocus.cell),null==d&&this.marker.hasValidState()&&null!=this.marker.highlight&&null!=this.marker.highlight.shape&&"transparent"!=this.marker.highlight.shape.stroke&&
 "white"!=this.marker.highlight.shape.stroke&&(d=this.marker.validState.cell),null!=d){var f=this.graph.getModel(),g=f.getParent(c);f.beginUpdate();try{if(e){var k=f.getGeometry(c),e=this.graph.cloneCell(c);f.add(g,e,f.getChildCount(g));null!=k&&(k=k.clone(),f.setGeometry(e,k));var l=f.getTerminal(c,!this.isSource);this.graph.connectCell(e,l,!this.isSource);c=e}c=this.connect(c,d,this.isSource,e,b)}finally{f.endUpdate()}}else this.graph.isAllowDanglingEdges()&&(f=this.abspoints[this.isSource?0:this.abspoints.length-
diff --git a/src/main/webapp/cache.manifest b/src/main/webapp/cache.manifest
index 9c3a5e5ac3a0f0943109f67682646065399c54b3..f85c5415f0275910f3cd8a7dc4ecff9e540e82dd 100644
--- a/src/main/webapp/cache.manifest
+++ b/src/main/webapp/cache.manifest
@@ -1,7 +1,7 @@
 CACHE MANIFEST
 
 # THIS FILE WAS GENERATED. DO NOT MODIFY!
-# 01/28/2020 01:01 PM
+# 02/02/2020 02:37 PM
 
 app.html
 index.html?offline=1
diff --git a/src/main/webapp/images/sidebar-basic.png b/src/main/webapp/images/sidebar-basic.png
index 82fc321b5052180aa98673c24ae452342c1a7802..e00980d31c4f780d9f9fe9dd3ab9befcdd18c23a 100644
Binary files a/src/main/webapp/images/sidebar-basic.png and b/src/main/webapp/images/sidebar-basic.png differ
diff --git a/src/main/webapp/images/sidebar-ibm.png b/src/main/webapp/images/sidebar-ibm.png
index daf3220f11c550de32abae1e778434d39955a22d..71da2c50ad0e2b093290234b9d80f6f8b1d1779b 100644
Binary files a/src/main/webapp/images/sidebar-ibm.png and b/src/main/webapp/images/sidebar-ibm.png differ
diff --git a/src/main/webapp/img/lib/ibm/vpc/PowerInstance.svg b/src/main/webapp/img/lib/ibm/vpc/PowerInstance.svg
new file mode 100644
index 0000000000000000000000000000000000000000..a913ee91ce96885206d20fc474197e873e2799fc
--- /dev/null
+++ b/src/main/webapp/img/lib/ibm/vpc/PowerInstance.svg
@@ -0,0 +1,54 @@
+<?xml version="1.0" standalone="no"?>
+<svg contentScriptType="text/ecmascript" zoomAndPan="magnify" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" baseProfile="full"
+    contentStyleType="text/css" id="Layer_1" sodipodi:docname="PowerInstance.svg" enable-background="new 0 0 124.8 116"
+    version="1.1" xml:space="preserve" width="101.2969" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+    xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:cc="http://creativecommons.org/ns#"
+    preserveAspectRatio="xMidYMid meet" inkscape:version="0.92.3 (2405546, 2018-03-11)" viewBox="0 0 101.2969 101.29688"
+    height="101.29688" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px">     
+    <defs id="defs1640">         
+        <linearGradient id="linearGradient2232" inkscape:collect="always">             
+            <stop style="stop-color:#008a80;stop-opacity:1" offset="0" id="stop2228"/>             
+            <stop style="stop-color:#9ccc50;stop-opacity:1" offset="1" id="stop2230"/></linearGradient>         
+        <linearGradient id="linearGradient2224" inkscape:collect="always">             
+            <stop style="stop-color:#038e80;stop-opacity:1" offset="0" id="stop2220"/>             
+            <stop style="stop-color:#9ccc50;stop-opacity:1" offset="1" id="stop2222"/></linearGradient>         
+        <linearGradient id="linearGradient2216" inkscape:collect="always">             
+            <stop style="stop-color:#008a88;stop-opacity:1" offset="0" id="stop2212"/>             
+            <stop style="stop-color:#91d9f6;stop-opacity:1" offset="1" id="stop2214"/></linearGradient>         
+        <linearGradient id="linearGradient2208" inkscape:collect="always">             
+            <stop style="stop-color:#008884;stop-opacity:1;" offset="0" id="stop2204"/>             
+            <stop style="stop-color:#91d9f6;stop-opacity:1" offset="1" id="stop2206"/></linearGradient>                                                                                                                                                                                                                                                                                                                                                                                                                        
+        <linearGradient x1="203.13477" xlink:href="#linearGradient2208"
+            y1="8.3691406" x2="203.13477" gradientUnits="userSpaceOnUse" y2="109.66602" id="linearGradient2210"
+            inkscape:collect="always"/>         
+        <linearGradient x1="203.13477" xlink:href="#linearGradient2216"
+            y1="31.867188" x2="203.13477" gradientUnits="userSpaceOnUse" y2="86.166016" id="linearGradient2218"
+            inkscape:collect="always"/>         
+        <linearGradient x1="196.41211" xlink:href="#linearGradient2224"
+            y1="59.017578" x2="195.96873" gradientUnits="userSpaceOnUse" y2="43.87558" id="linearGradient2226"
+            inkscape:collect="always"/>         
+        <linearGradient x1="203.16788" xlink:href="#linearGradient2232"
+            y1="97.728539" x2="203.13477" gradientUnits="userSpaceOnUse" y2="20.302734" id="linearGradient2234"
+            inkscape:collect="always"/></defs>     
+    <path style=
+        "color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:url(#linearGradient2210);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:8.31496048;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+        d="M 50.6485,0 C 22.7256,0 0,22.725527 0,50.648437 h 8.3145 c 0,-23.429172 18.9048,-42.3339836 
+        42.334,-42.3339836 23.4291,0 42.332,18.9048116 42.332,42.3339836 0,23.429172 -18.9029,42.332032 
+        -42.332,42.332032 v 8.316411 c 27.9229,0 50.6484,-22.725532 50.6484,-50.648443 C 101.2969,22.725527 78.5714,0 
+        50.6485,0 Z"/>     
+    <path style=
+        "color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:url(#linearGradient2234);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:8.31496048;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+        d="m 50.6485,11.933593 c -21.3326,0 -38.7149,17.382235 -38.7149,38.714844 0,21.332609 17.3823,38.714844 
+        38.7149,38.714844 21.3326,0 38.7148,-17.382235 38.7148,-38.714844 h -8.3144 c 0,16.838871 -13.5616,30.400391 
+        -30.4004,30.400391 -16.8389,0 -30.4004,-13.56152 -30.4004,-30.400391 0,-16.838871 13.5615,-30.400391 
+        30.4004,-30.40039 z"/>     
+    <path style=
+        "color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:url(#linearGradient2218);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:8.31496048;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+        d="m 50.6485,23.498047 v 8.316406 c 10.4511,0 18.8339,8.382852 18.8339,18.833984 0,10.451133 -8.3828,18.833985 
+        -18.8339,18.833984 v 8.314454 c 14.9448,0 27.1484,-12.203567 27.1484,-27.148438 0,-14.944871 -12.2036,-27.150391 
+        -27.1484,-27.15039 z"/>     
+    <path style=
+        "color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:url(#linearGradient2226);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:8.31496048;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+        d="m 50.6485,35.611328 c -8.2558,0 -15.0371,6.781381 -15.0371,15.037109 h 8.3144 c 0,-3.761989 2.9607,-6.722656 
+        6.7227,-6.722656 z"/></svg>
\ No newline at end of file
diff --git a/src/main/webapp/img/lib/ibm/vpc/TransitGateway.svg b/src/main/webapp/img/lib/ibm/vpc/TransitGateway.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c3ba9421300f26329f62d6bc40352eedc90e261c
--- /dev/null
+++ b/src/main/webapp/img/lib/ibm/vpc/TransitGateway.svg
@@ -0,0 +1,72 @@
+<?xml version="1.0" standalone="no"?>
+<svg contentScriptType="text/ecmascript" zoomAndPan="magnify" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" baseProfile="full"
+    contentStyleType="text/css" id="Layer_1" sodipodi:docname="TransitGateway.svg" enable-background="new 0 0 124.8 116"
+    version="1.1" xml:space="preserve" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:cc="http://creativecommons.org/ns#"
+    preserveAspectRatio="xMidYMid meet" inkscape:version="0.92.3 (2405546, 2018-03-11)" viewBox="0 0 124.8 116" xmlns="http://www.w3.org/2000/svg"
+    x="0px" y="0px">     
+    <defs id="defs2336">         
+        <linearGradient id="linearGradient2442" inkscape:collect="always">             
+            <stop style="stop-color:#00a5c6;stop-opacity:0.87843138" offset="0" id="stop2438"/>             
+            <stop style="stop-color:#eff8fa;stop-opacity:0.98823529" offset="1" id="stop2440"/></linearGradient>         
+        <linearGradient id="linearGradient2434" inkscape:collect="always">             
+            <stop style="stop-color:#00a6c6;stop-opacity:0.8392157" offset="0" id="stop2430"/>             
+            <stop style="stop-color:#a1dde9;stop-opacity:0.87058824" offset="1" id="stop2432"/></linearGradient>         
+        <linearGradient id="linearGradient2426" inkscape:collect="always">             
+            <stop style="stop-color:#2b8fe8;stop-opacity:0.7764706" offset="0" id="stop2422"/>             
+            <stop style="stop-color:#f5f9fe;stop-opacity:0.98431373" offset="1" id="stop2424"/></linearGradient>         
+        <linearGradient id="linearGradient2418" inkscape:collect="always">             
+            <stop style="stop-color:#f4f9fe;stop-opacity:1" offset="0" id="stop2414"/>             
+            <stop style="stop-color:#2b8fe8;stop-opacity:1" offset="1" id="stop2416"/></linearGradient>         
+        <linearGradient gradientTransform="translate(-2.3894457e-6)" inkscape:collect="always" id="linearGradient2420"
+            gradientUnits="userSpaceOnUse" x1="42.63681" y1="11.249787" x2="79.849594" y2="11.249787" xlink:href=
+            "#linearGradient2418"
+           />         
+        <linearGradient gradientTransform="translate(-2.3894457e-6)" inkscape:collect="always" id="linearGradient2428"
+            gradientUnits="userSpaceOnUse" x1="104.16272" y1="39.751362" x2="103.9639" y2="74.368668" xlink:href=
+            "#linearGradient2426"
+           />         
+        <linearGradient gradientTransform="translate(-2.3894457e-6)" inkscape:collect="always" id="linearGradient2436"
+            gradientUnits="userSpaceOnUse" x1="16.785828" y1="42.248394" x2="16.99437" y2="71.87339" xlink:href=
+            "#linearGradient2434"
+           />         
+        <linearGradient gradientTransform="translate(-2.3894457e-6)" inkscape:collect="always" id="linearGradient2444"
+            gradientUnits="userSpaceOnUse" x1="44.565903" y1="102.61189" x2="75.326401" y2="102.61189" xlink:href=
+            "#linearGradient2442"
+           /></defs>     
+    <linearGradient x1="43.8353" gradientUnits="userSpaceOnUse" y1="12.7512" x2="80.3484" y2="12.7512" id="SVGID_4_">           
+        <stop offset="0.1181" style="stop-color:#F4F9FE" id="stop2298"/>           
+        <stop offset="0.7124" style="stop-color:#2B8FE8" id="stop2300"/> </linearGradient>                
+    <path style=
+        "color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#071e80;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+        d="m 24.782078,13.994481 a 8.0035858,8.0035858 0 0 0 -8.00195,8.003906 8.0035858,8.0035858 0 0 0 
+        8.00195,8.001953 8.0035858,8.0035858 0 0 0 3.77344,-0.949218 l 21.16406,21.113281 c -1.82751,2.479453 
+        -2.92382,5.526232 -2.92382,8.820312 0,3.306164 1.10561,6.361786 2.94531,8.845704 L 28.653178,88.96909 a 
+        8.0035858,8.0035858 0 0 0 -3.8711,-1.001953 8.0035858,8.0035858 0 0 0 -8.00195,8.003906 8.0035858,8.0035858 0 0 
+        0 8.00195,8.003907 8.0035858,8.0035858 0 0 0 8.00391,-8.003907 8.0035858,8.0035858 0 0 0 -0.96875,-3.802734 l 
+        21.10742,-21.160156 c 2.47953,1.827317 5.52606,2.923828 8.82032,2.923828 3.30568,0 6.36159,-1.104525 
+        8.8457,-2.943359 l 21.13672,21.085937 a 8.0035858,8.0035858 0 0 0 -1.02344,3.896484 8.0035858,8.0035858 0 0 0 
+        8.00195,8.003907 8.0035858,8.0035858 0 0 0 8.003912,-8.003907 8.0035858,8.0035858 0 0 0 -8.003912,-8.003906 
+        8.0035858,8.0035858 0 0 0 -3.77343,0.949219 L 73.770368,67.803075 c 1.82719,-2.478946 2.92382,-5.524604 
+        2.92382,-8.81836 0,-3.306475 -1.1053,-6.363236 -2.94531,-8.847656 L 94.836768,29.00034 a 8.0035858,8.0035858 0 0 
+        0 3.86914,1 8.0035858,8.0035858 0 0 0 8.003912,-8.001953 8.0035858,8.0035858 0 0 0 -8.003912,-8.003906 
+        8.0035858,8.0035858 0 0 0 -8.00195,8.003906 8.0035858,8.0035858 0 0 0 0.96875,3.802735 l -21.10742,21.158203 c 
+        -2.47946,-1.827518 -5.52624,-2.923828 -8.82031,-2.923828 -3.30551,0 -6.36168,1.104331 -8.84571,2.943359 L 
+        31.762548,25.892919 a 8.0035858,8.0035858 0 0 0 1.02344,-3.894532 8.0035858,8.0035858 0 0 0 -8.00391,-8.003906 z 
+        m 36.9629,37.140625 c 4.37662,0 7.84765,3.472982 7.84765,7.849609 0,4.376628 -3.47103,7.847657 -7.84765,7.847657 
+        -4.37663,0 -7.84766,-3.471029 -7.84766,-7.847657 0,-4.376627 3.47103,-7.849609 7.84766,-7.849609 z"/>     
+    <path style=
+        "color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:url(#linearGradient2420);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+        d="M 80.149258,21.320666 62.482218,3.6135142 42.936478,23.114986 l 4.39747,4.088161 15.13865,-15.104357 
+        13.42622,13.456698 z"/>     
+    <path style=
+        "color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:url(#linearGradient2436);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+        d="M 26.787728,67.974314 16.641078,57.826479 28.239338,46.254496 23.730788,42.277174 8.1558076,57.816879 
+        10.274718,59.940603 22.390188,72.083578 Z"/>     
+    <path d="m 45.060878,94.80573 17.29829,17.33756 13.46221,-13.431715 -4.27384,-4.211529 -9.17875,9.157964 
+        -12.85568,-12.807303 z" id="path2408" inkscape:connector-curvature="0" style=
+        "color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:url(#linearGradient2444);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/>     
+    <path d="M 99.966678,74.62096 116.68558,57.939923 98.540498,39.753655 94.219818,43.918086 108.2003,57.930302 
+        95.569228,70.532768 Z" id="rect2346" inkscape:connector-curvature="0" style=
+        "color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:url(#linearGradient2428);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"/></svg>
\ No newline at end of file
diff --git a/src/main/webapp/js/app.min.js b/src/main/webapp/js/app.min.js
index 46fec13e5db7030612fe91fa5004f78fd269a733..a33b2b1dd7f427590e42b3204ea88b0c004bb8ac 100644
--- a/src/main/webapp/js/app.min.js
+++ b/src/main/webapp/js/app.min.js
@@ -200,7 +200,7 @@ e;for(e in a)e!=mxObjectIdentity.FIELD_NAME&&(null==b||0>mxUtils.indexOf(b,e))&&
 b||null!=a&&null!=b&&a.length!=b.length)return!1;if(null!=a&&null!=b){for(var d in b)c++;for(d in a)if(c--,!(mxUtils.isNaN(a[d])&&mxUtils.isNaN(b[d])||a[d]==b[d]))return!1}return 0==c},removeDuplicates:function(a){for(var b=new mxDictionary,c=[],d=0;d<a.length;d++)b.get(a[d])||(c.push(a[d]),b.put(a[d],!0));return c},isNaN:function(a){return"number"==typeof a&&isNaN(a)},extend:function(a,b){var c=function(){};c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a},toString:function(a){var b=
 "",c;for(c in a)try{if(null==a[c])b+=c+" = [null]\n";else if("function"==typeof a[c])b+=c+" => [Function]\n";else if("object"==typeof a[c])var d=mxUtils.getFunctionName(a[c].constructor),b=b+(c+" => ["+d+"]\n");else b+=c+" = "+a[c]+"\n"}catch(e){b+=c+"="+e.message}return b},toRadians:function(a){return Math.PI*a/180},toDegree:function(a){return 180*a/Math.PI},arcToCurves:function(a,b,c,d,e,f,g,k,l){k-=a;l-=b;if(0===c||0===d)return q;c=Math.abs(c);d=Math.abs(d);var m=-k/2,n=-l/2,p=Math.cos(e*Math.PI/
 180),q=Math.sin(e*Math.PI/180);e=p*m+q*n;var m=-1*q*m+p*n,n=e*e,r=m*m,t=c*c,u=d*d,x=n/t+r/u;1<x?(c*=Math.sqrt(x),d*=Math.sqrt(x),f=0):(x=1,f===g&&(x=-1),f=x*Math.sqrt((t*u-t*r-u*n)/(t*r+u*n)));n=f*c*m/d;r=-1*f*d*e/c;k=p*n-q*r+k/2;l=q*n+p*r+l/2;t=Math.atan2((m-r)/d,(e-n)/c)-Math.atan2(0,1);f=0<=t?t:2*Math.PI+t;t=Math.atan2((-m-r)/d,(-e-n)/c)-Math.atan2((m-r)/d,(e-n)/c);e=0<=t?t:2*Math.PI+t;0==g&&0<e?e-=2*Math.PI:0!=g&&0>e&&(e+=2*Math.PI);g=2*e/Math.PI;g=Math.ceil(0>g?-1*g:g);e/=g;m=8/3*Math.sin(e/
-4)*Math.sin(e/4)/Math.sin(e/2);n=p*c;p*=d;c*=q;d*=q;for(var y=Math.cos(f),A=Math.sin(f),r=-m*(n*A+d*y),t=-m*(c*A-p*y),q=[],z=0;z<g;++z){f+=e;var y=Math.cos(f),A=Math.sin(f),u=n*y-d*A+k,x=c*y+p*A+l,v=-m*(n*A+d*y),y=-m*(c*A-p*y),A=6*z;q[A]=Number(r+a);q[A+1]=Number(t+b);q[A+2]=Number(u-v+a);q[A+3]=Number(x-y+b);q[A+4]=Number(u+a);q[A+5]=Number(x+b);r=u+v;t=x+y}return q},getBoundingBox:function(a,b,c){var d=null;if(null!=a&&null!=b&&0!=b){b=mxUtils.toRadians(b);var d=Math.cos(b),e=Math.sin(b);c=null!=
+4)*Math.sin(e/4)/Math.sin(e/2);n=p*c;p*=d;c*=q;d*=q;for(var y=Math.cos(f),B=Math.sin(f),r=-m*(n*B+d*y),t=-m*(c*B-p*y),q=[],A=0;A<g;++A){f+=e;var y=Math.cos(f),B=Math.sin(f),u=n*y-d*B+k,x=c*y+p*B+l,z=-m*(n*B+d*y),y=-m*(c*B-p*y),B=6*A;q[B]=Number(r+a);q[B+1]=Number(t+b);q[B+2]=Number(u-z+a);q[B+3]=Number(x-y+b);q[B+4]=Number(u+a);q[B+5]=Number(x+b);r=u+z;t=x+y}return q},getBoundingBox:function(a,b,c){var d=null;if(null!=a&&null!=b&&0!=b){b=mxUtils.toRadians(b);var d=Math.cos(b),e=Math.sin(b);c=null!=
 c?c:new mxPoint(a.x+a.width/2,a.y+a.height/2);var f=new mxPoint(a.x,a.y);b=new mxPoint(a.x+a.width,a.y);var g=new mxPoint(b.x,a.y+a.height);a=new mxPoint(a.x,g.y);f=mxUtils.getRotatedPoint(f,d,e,c);b=mxUtils.getRotatedPoint(b,d,e,c);g=mxUtils.getRotatedPoint(g,d,e,c);a=mxUtils.getRotatedPoint(a,d,e,c);d=new mxRectangle(f.x,f.y,0,0);d.add(new mxRectangle(b.x,b.y,0,0));d.add(new mxRectangle(g.x,g.y,0,0));d.add(new mxRectangle(a.x,a.y,0,0))}return d},getRotatedPoint:function(a,b,c,d){d=null!=d?d:new mxPoint;
 var e=a.x-d.x;a=a.y-d.y;return new mxPoint(e*b-a*c+d.x,a*b+e*c+d.y)},getPortConstraints:function(a,b,c,d){b=mxUtils.getValue(a.style,mxConstants.STYLE_PORT_CONSTRAINT,mxUtils.getValue(b.style,c?mxConstants.STYLE_SOURCE_PORT_CONSTRAINT:mxConstants.STYLE_TARGET_PORT_CONSTRAINT,null));if(null==b)return d;d=b.toString();b=mxConstants.DIRECTION_MASK_NONE;c=0;1==mxUtils.getValue(a.style,mxConstants.STYLE_PORT_CONSTRAINT_ROTATION,0)&&(c=mxUtils.getValue(a.style,mxConstants.STYLE_ROTATION,0));a=0;45<c?(a=
 1,135<=c&&(a=2)):-45>c&&(a=3,-135>=c&&(a=2));if(0<=d.indexOf(mxConstants.DIRECTION_NORTH))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_NORTH;break;case 1:b|=mxConstants.DIRECTION_MASK_EAST;break;case 2:b|=mxConstants.DIRECTION_MASK_SOUTH;break;case 3:b|=mxConstants.DIRECTION_MASK_WEST}if(0<=d.indexOf(mxConstants.DIRECTION_WEST))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_WEST;break;case 1:b|=mxConstants.DIRECTION_MASK_NORTH;break;case 2:b|=mxConstants.DIRECTION_MASK_EAST;break;case 3:b|=mxConstants.DIRECTION_MASK_SOUTH}if(0<=
@@ -278,7 +278,7 @@ START_EDITING:"startEditing",EDITING_STARTED:"editingStarted",EDITING_STOPPED:"e
 mxXmlRequest.prototype.async=null;mxXmlRequest.prototype.binary=!1;mxXmlRequest.prototype.withCredentials=!1;mxXmlRequest.prototype.username=null;mxXmlRequest.prototype.password=null;mxXmlRequest.prototype.request=null;mxXmlRequest.prototype.decodeSimulateValues=!1;mxXmlRequest.prototype.isBinary=function(){return this.binary};mxXmlRequest.prototype.setBinary=function(a){this.binary=a};mxXmlRequest.prototype.getText=function(){return this.request.responseText};
 mxXmlRequest.prototype.isReady=function(){return 4==this.request.readyState};mxXmlRequest.prototype.getDocumentElement=function(){var a=this.getXml();return null!=a?a.documentElement:null};mxXmlRequest.prototype.getXml=function(){var a=this.request.responseXML;if(9<=document.documentMode||null==a||null==a.documentElement)a=mxUtils.parseXml(this.request.responseText);return a};mxXmlRequest.prototype.getText=function(){return this.request.responseText};
 mxXmlRequest.prototype.getStatus=function(){return null!=this.request?this.request.status:null};mxXmlRequest.prototype.create=function(){if(window.XMLHttpRequest)return function(){var a=new XMLHttpRequest;this.isBinary()&&a.overrideMimeType&&a.overrideMimeType("text/plain; charset=x-user-defined");return a};if("undefined"!=typeof ActiveXObject)return function(){return new ActiveXObject("Microsoft.XMLHTTP")}}();
-mxXmlRequest.prototype.send=function(a,b,c,d){this.request=this.create();null!=this.request&&(null!=a&&(this.request.onreadystatechange=mxUtils.bind(this,function(){this.isReady()&&(a(this),this.request.onreadystatechaange=null)})),this.request.open(this.method,this.url,this.async,this.username,this.password),this.setRequestHeaders(this.request,this.params),window.XMLHttpRequest&&this.withCredentials&&(this.request.withCredentials="true"),!mxClient.IS_QUIRKS&&(null==document.documentMode||9<document.documentMode)&&
+mxXmlRequest.prototype.send=function(a,b,c,d){this.request=this.create();null!=this.request&&(null!=a&&(this.request.onreadystatechange=mxUtils.bind(this,function(){this.isReady()&&(a(this),this.request.onreadystatechange=null)})),this.request.open(this.method,this.url,this.async,this.username,this.password),this.setRequestHeaders(this.request,this.params),window.XMLHttpRequest&&this.withCredentials&&(this.request.withCredentials="true"),!mxClient.IS_QUIRKS&&(null==document.documentMode||9<document.documentMode)&&
 window.XMLHttpRequest&&null!=c&&null!=d&&(this.request.timeout=c,this.request.ontimeout=d),this.request.send(this.params))};mxXmlRequest.prototype.setRequestHeaders=function(a,b){null!=b&&a.setRequestHeader("Content-Type","application/x-www-form-urlencoded")};
 mxXmlRequest.prototype.simulate=function(a,b){a=a||document;var c=null;a==document&&(c=window.onbeforeunload,window.onbeforeunload=null);var d=a.createElement("form");d.setAttribute("method",this.method);d.setAttribute("action",this.url);null!=b&&d.setAttribute("target",b);d.style.display="none";d.style.visibility="hidden";for(var e=0<this.params.indexOf("&")?this.params.split("&"):this.params.split(),f=0;f<e.length;f++){var g=e[f].indexOf("=");if(0<g){var k=e[f].substring(0,g),g=e[f].substring(g+
 1);this.decodeSimulateValues&&(g=decodeURIComponent(g));var l=a.createElement("textarea");l.setAttribute("wrap","off");l.setAttribute("name",k);mxUtils.write(l,g);d.appendChild(l)}}a.body.appendChild(d);d.submit();null!=d.parentNode&&d.parentNode.removeChild(d);null!=c&&(window.onbeforeunload=c)};
@@ -474,11 +474,11 @@ mxSvgCanvas2D.prototype.createDiv=function(a){mxUtils.isNode(a)||(a="<div><div>"
 document?c.appendChild(a.cloneNode(!0)):c.appendChild(a);d.appendChild(c);b.appendChild(d)}else b.innerHTML=a;return b};mxSvgCanvas2D.prototype.updateText=function(a,b,c,d,e,f,g,k,l,m,n){null!=n&&null!=n.firstChild&&null!=n.firstChild.firstChild&&this.updateTextNodes(a,b,c,d,e,f,g,k,l,m,n.firstChild)};
 mxSvgCanvas2D.prototype.addForeignObject=function(a,b,c,d,e,f,g,k,l,m,n,p,q,r,t){q=this.createElement("g");var u=this.createElement("foreignObject");u.setAttribute("style","overflow: visible; text-align: left;");u.setAttribute("pointer-events","none");r.ownerDocument!=document&&(r=mxUtils.importNodeImplementation(u.ownerDocument,r,!0));u.appendChild(r);q.appendChild(u);this.updateTextNodes(a,b,c,d,f,g,k,m,n,p,q);this.root.ownerDocument!=document&&(a=this.createAlternateContent(u,a,b,c,d,e,f,g,k,l,
 m,n,p),null!=a&&(u.setAttribute("requiredFeatures","http://www.w3.org/TR/SVG11/feature#Extensibility"),b=this.createElement("switch"),b.appendChild(u),b.appendChild(a),q.appendChild(b)));t.appendChild(q)};
-mxSvgCanvas2D.prototype.updateTextNodes=function(a,b,c,d,e,f,g,k,l,m,n){var p=this.state.scale;mxSvgCanvas2D.createCss(c,d,e,f,g,k,l,null!=this.state.fontBackgroundColor?this.state.fontBackgroundColor:null,null!=this.state.fontBorderColor?this.state.fontBorderColor:null,"display: flex; align-items: unsafe "+(f==mxConstants.ALIGN_TOP?"flex-start":f==mxConstants.ALIGN_BOTTOM?"flex-end":"center")+"; justify-content: unsafe "+(e==mxConstants.ALIGN_LEFT?"flex-start":e==mxConstants.ALIGN_RIGHT?"flex-end":
+mxSvgCanvas2D.prototype.updateTextNodes=function(a,b,c,d,e,f,g,k,l,m,n){var p=this.state.scale;mxSvgCanvas2D.createCss(c+2,d,e,f,g,k,l,null!=this.state.fontBackgroundColor?this.state.fontBackgroundColor:null,null!=this.state.fontBorderColor?this.state.fontBorderColor:null,"display: flex; align-items: unsafe "+(f==mxConstants.ALIGN_TOP?"flex-start":f==mxConstants.ALIGN_BOTTOM?"flex-end":"center")+"; justify-content: unsafe "+(e==mxConstants.ALIGN_LEFT?"flex-start":e==mxConstants.ALIGN_RIGHT?"flex-end":
 "center")+"; ",this.getTextCss(),p,mxUtils.bind(this,function(c,d,e,f,g){a+=this.state.dx;b+=this.state.dy;var k=n.firstChild,l=k.firstChild,q=l.firstChild,r=(this.rotateHtml?this.state.rotation:0)+(null!=m?m:0),t=(0!=this.foOffset?"translate("+this.foOffset+" "+this.foOffset+")":"")+(1!=p?"scale("+p+")":"");q.firstChild.setAttribute("style",g);q.setAttribute("style",f);k.setAttribute("width",Math.ceil(1/Math.min(1,p)*100)+"%");k.setAttribute("height",Math.ceil(1/Math.min(1,p)*100)+"%");d=Math.round(b+
 d);0>d?k.setAttribute("y",d):(k.removeAttribute("y"),e+="padding-top: "+d+"px; ");l.setAttribute("style",e+"margin-left: "+Math.round(a+c)+"px;");t+=0!=r?"rotate("+r+" "+a+" "+b+")":"";""!=t?n.setAttribute("transform",t):n.removeAttribute("transform");1!=this.state.alpha?n.setAttribute("opacity",this.state.alpha):n.removeAttribute("opacity")}))};
 mxSvgCanvas2D.createCss=function(a,b,c,d,e,f,g,k,l,m,n,p,q){p="box-sizing: border-box; font-size: 0; text-align: "+(c==mxConstants.ALIGN_LEFT?"left":c==mxConstants.ALIGN_RIGHT?"right":"center")+"; ";var r=mxUtils.getAlignmentAsPoint(c,d);c="overflow: hidden; ";d="width: 1px; ";var t="height: 1px; ",u=r.x*a,r=r.y*b;g?(d="width: "+Math.round(a)+"px; ",p+="max-height: "+Math.round(b)+"px; ",r=0):"fill"==f?(d="width: "+Math.round(a)+"px; ",t="height: "+Math.round(b)+"px; ",n+="width: 100%; height: 100%; ",
-p+=d+t):"width"==f?(d="width: "+Math.round(a)+"px; ",n+="width: 100%; ",p+=d,r=0,0<b&&(p+="max-height: "+Math.round(b)+"px; ")):(c="",r=0);b="";null!=k&&(b+="background-color: "+k+"; ");null!=l&&(b+="border: 1px solid "+l+"; ");""==c||g?n+=b:p+=b;e&&0<a?(n+="white-space: normal; word-wrap: "+mxConstants.WORD_WRAP+"; ",d="width: "+Math.round(a+2)+"px; ",""!=c&&"fill"!=f&&(r=0)):(n+="white-space: nowrap; ",""==c&&(u=0));q(u,r,m+d+t,p+c,n,c)};
+p+=d+t):"width"==f?(d="width: "+Math.round(a)+"px; ",n+="width: 100%; ",p+=d,r=0,0<b&&(p+="max-height: "+Math.round(b)+"px; ")):(c="",r=0);b="";null!=k&&(b+="background-color: "+k+"; ");null!=l&&(b+="border: 1px solid "+l+"; ");""==c||g?n+=b:p+=b;e&&0<a?(n+="white-space: normal; word-wrap: "+mxConstants.WORD_WRAP+"; ",d="width: "+Math.round(a)+"px; ",""!=c&&"fill"!=f&&(r=0)):(n+="white-space: nowrap; ",""==c&&(u=0));q(u,r,m+d+t,p+c,n,c)};
 mxSvgCanvas2D.prototype.getTextCss=function(){var a=this.state,b="display: inline-block; font-size: "+a.fontSize+"px; font-family: "+a.fontFamily+"; color: "+a.fontColor+"; line-height: "+(mxConstants.ABSOLUTE_LINE_HEIGHT?a.fontSize*mxConstants.LINE_HEIGHT+"px":mxConstants.LINE_HEIGHT*this.lineHeightCorrection)+"; pointer-events: "+(this.pointerEvents?this.pointerEventsValue:"none")+"; ";(a.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&(b+="font-weight: bold; ");(a.fontStyle&mxConstants.FONT_ITALIC)==
 mxConstants.FONT_ITALIC&&(b+="font-style: italic; ");var c=[];(a.fontStyle&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&c.push("underline");(a.fontStyle&mxConstants.FONT_STRIKETHROUGH)==mxConstants.FONT_STRIKETHROUGH&&c.push("line-through");0<c.length&&(b+="text-decoration: "+c.join(" ")+"; ");return b};
 mxSvgCanvas2D.prototype.text=function(a,b,c,d,e,f,g,k,l,m,n,p,q){if(this.textEnabled&&null!=e)if(p=null!=p?p:0,this.foEnabled&&"html"==l){var r=this.createDiv(e);null!=r&&(null!=q&&r.setAttribute("dir",q),this.addForeignObject(a,b,c,d,e,f,g,k,l,m,n,p,q,r,this.root))}else this.plainText(a+this.state.dx,b+this.state.dy,c,d,e,f,g,k,m,n,p,q)};
@@ -516,8 +516,8 @@ mxVmlCanvas2D.prototype.text=function(a,b,c,d,e,f,g,k,l,m,n,p,q){if(this.textEna
 this.format(a)+"px";l.style.top=this.format(b)+"px";l.style.zoom=r.scale;var t=this.createElement("div");t.style.position="relative";t.style.display="inline";var u=mxUtils.getAlignmentAsPoint(f,g),x=u.x,u=u.y;e=this.createDiv(e,f,g,m);f=this.createElement("div");null!=q&&e.setAttribute("dir",q);if(k&&0<c){if(n||(e.style.width=Math.round(c)+"px"),e.style.wordWrap=mxConstants.WORD_WRAP,e.style.whiteSpace="normal","break-word"==e.style.wordWrap){var y=e;null!=y.firstChild&&"DIV"==y.firstChild.nodeName&&
 (y.firstChild.style.width="100%")}}else e.style.whiteSpace="nowrap";p=r.rotation+(p||0);this.rotateHtml&&0!=p?(f.style.display="inline",f.style.zoom="1",f.appendChild(e),8!=document.documentMode||mxClient.IS_EM||"DIV"==this.root.nodeName?l.appendChild(f):(t.appendChild(f),l.appendChild(t))):8!=document.documentMode||mxClient.IS_EM?(e.style.display="inline",l.appendChild(e)):(t.appendChild(e),l.appendChild(t));"DIV"!=this.root.nodeName?(q=this.createVmlElement("rect"),q.stroked="false",q.filled="false",
 q.appendChild(l),this.root.appendChild(q)):this.root.appendChild(l);n?(e.style.overflow="hidden",e.style.width=Math.round(c)+"px",mxClient.IS_QUIRKS||(e.style.maxHeight=Math.round(d)+"px")):"fill"==m?(e.style.overflow="hidden",e.style.width=Math.max(0,c)+1+"px",e.style.height=Math.max(0,d)+1+"px"):"width"==m&&(e.style.overflow="hidden",e.style.width=Math.max(0,c)+1+"px",e.style.maxHeight=Math.max(0,d)+1+"px");if(this.rotateHtml&&0!=p){y=Math.PI/180*p;p=parseFloat(parseFloat(Math.cos(y)).toFixed(8));
-q=parseFloat(parseFloat(Math.sin(-y)).toFixed(8));y%=2*Math.PI;0>y&&(y+=2*Math.PI);y%=Math.PI;y>Math.PI/2&&(y=Math.PI-y);g=Math.cos(y);var A=Math.sin(y);8!=document.documentMode||mxClient.IS_EM||(e.style.display="inline-block",f.style.display="inline-block",t.style.display="inline-block");e.style.visibility="hidden";e.style.position="absolute";document.body.appendChild(e);t=e;null!=t.firstChild&&"DIV"==t.firstChild.nodeName&&(t=t.firstChild);y=t.offsetWidth+3;t=t.offsetHeight;n?(c=Math.min(c,y),t=
-Math.min(t,d)):c=y;k&&(e.style.width=c+"px");mxClient.IS_QUIRKS&&(n||"width"==m)&&t>d&&(t=d,e.style.height=t+"px");d=t;n=(d-d*g+c*-A)/2-q*c*(x+.5)+p*d*(u+.5);k=(c-c*g+d*-A)/2+p*c*(x+.5)+q*d*(u+.5);"group"==l.nodeName&&"DIV"==this.root.nodeName?(m=this.createElement("div"),m.style.display="inline-block",m.style.position="absolute",m.style.left=this.format(a+(k-c/2)*r.scale)+"px",m.style.top=this.format(b+(n-d/2)*r.scale)+"px",l.parentNode.appendChild(m),m.appendChild(l)):(r=8!=document.documentMode||
+q=parseFloat(parseFloat(Math.sin(-y)).toFixed(8));y%=2*Math.PI;0>y&&(y+=2*Math.PI);y%=Math.PI;y>Math.PI/2&&(y=Math.PI-y);g=Math.cos(y);var B=Math.sin(y);8!=document.documentMode||mxClient.IS_EM||(e.style.display="inline-block",f.style.display="inline-block",t.style.display="inline-block");e.style.visibility="hidden";e.style.position="absolute";document.body.appendChild(e);t=e;null!=t.firstChild&&"DIV"==t.firstChild.nodeName&&(t=t.firstChild);y=t.offsetWidth+3;t=t.offsetHeight;n?(c=Math.min(c,y),t=
+Math.min(t,d)):c=y;k&&(e.style.width=c+"px");mxClient.IS_QUIRKS&&(n||"width"==m)&&t>d&&(t=d,e.style.height=t+"px");d=t;n=(d-d*g+c*-B)/2-q*c*(x+.5)+p*d*(u+.5);k=(c-c*g+d*-B)/2+p*c*(x+.5)+q*d*(u+.5);"group"==l.nodeName&&"DIV"==this.root.nodeName?(m=this.createElement("div"),m.style.display="inline-block",m.style.position="absolute",m.style.left=this.format(a+(k-c/2)*r.scale)+"px",m.style.top=this.format(b+(n-d/2)*r.scale)+"px",l.parentNode.appendChild(m),m.appendChild(l)):(r=8!=document.documentMode||
 mxClient.IS_EM?r.scale:1,l.style.left=this.format(a+(k-c/2)*r)+"px",l.style.top=this.format(b+(n-d/2)*r)+"px");f.style.filter="progid:DXImageTransform.Microsoft.Matrix(M11="+p+", M12="+q+", M21="+-q+", M22="+p+", sizingMethod='auto expand')";f.style.backgroundColor=this.rotatedHtmlBackground;1>this.state.alpha&&(f.style.filter+="alpha(opacity="+100*this.state.alpha+")");f.appendChild(e);e.style.position="";e.style.visibility=""}else 8!=document.documentMode||mxClient.IS_EM?(e.style.verticalAlign=
 "top",1>this.state.alpha&&(l.style.filter="alpha(opacity="+100*this.state.alpha+")"),r=e.parentNode,e.style.visibility="hidden",document.body.appendChild(e),c=e.offsetWidth,t=e.offsetHeight,mxClient.IS_QUIRKS&&n&&t>d&&(t=d,e.style.height=t+"px"),d=t,e.style.visibility="",r.appendChild(e),l.style.left=this.format(a+c*x*this.state.scale)+"px",l.style.top=this.format(b+d*u*this.state.scale)+"px"):(1>this.state.alpha&&(e.style.filter="alpha(opacity="+100*this.state.alpha+")"),t.style.left=100*x+"%",t.style.top=
 100*u+"%")}else this.plainText(a,b,c,d,mxUtils.htmlEntities(e,!1),f,g,k,l,m,n,p,q)}};
@@ -526,9 +526,9 @@ mxVmlCanvas2D.prototype.plainText=function(a,b,c,d,e,f,g,k,l,m,n,p,q){k=this.sta
 g==mxConstants.ALIGN_BOTTOM?f=-k/2:g!=mxConstants.ALIGN_MIDDLE&&(f=k/2);null!=p&&(c.style.rotation=p,g=Math.PI/180*p,e=Math.sin(g)*f,f*=Math.cos(g));c.appendChild(d);c.style.left=this.format(a-e)+"px";c.style.top=this.format(b+f)+"px";this.root.appendChild(c)};mxVmlCanvas2D.prototype.stroke=function(){this.addNode(!1,!0)};mxVmlCanvas2D.prototype.fill=function(){this.addNode(!0,!1)};mxVmlCanvas2D.prototype.fillAndStroke=function(){this.addNode(!0,!0)};
 function mxGuide(a,b){this.graph=a;this.setStates(b)}mxGuide.prototype.graph=null;mxGuide.prototype.states=null;mxGuide.prototype.horizontal=!0;mxGuide.prototype.vertical=!0;mxGuide.prototype.guideX=null;mxGuide.prototype.guideY=null;mxGuide.prototype.rounded=!1;mxGuide.prototype.tolerance=2;mxGuide.prototype.setStates=function(a){this.states=a};mxGuide.prototype.isEnabledForEvent=function(a){return!0};
 mxGuide.prototype.getGuideTolerance=function(a){return a&&this.graph.gridEnabled?this.graph.gridSize/2:this.tolerance};mxGuide.prototype.createGuideShape=function(a){a=new mxPolyline([],mxConstants.GUIDE_COLOR,mxConstants.GUIDE_STROKEWIDTH);a.isDashed=!0;return a};mxGuide.prototype.isStateIgnored=function(a){return!1};
-mxGuide.prototype.move=function(a,b,c,d){if(null!=this.states&&(this.horizontal||this.vertical)&&null!=a&&null!=b){d=function(c,d,e){c+=this.graph.panDy;var f=!1;e&&Math.abs(c-v)<=t?(b.y=c-a.getCenterY(),t=Math.abs(c-v),f=!0):e||(Math.abs(c-A)<=t?(b.y=c-a.y,t=Math.abs(c-A),f=!0):Math.abs(c-z)<=t&&(b.y=c-a.y-a.height,t=Math.abs(c-z),f=!0));f&&(p=d,q=Math.round(c-this.graph.panDy),null==this.guideY&&(this.guideY=this.createGuideShape(!1),this.guideY.dialect=this.graph.dialect!=mxConstants.DIALECT_SVG?
+mxGuide.prototype.move=function(a,b,c,d){if(null!=this.states&&(this.horizontal||this.vertical)&&null!=a&&null!=b){d=function(c,d,e){c+=this.graph.panDy;var f=!1;e&&Math.abs(c-z)<=t?(b.y=c-a.getCenterY(),t=Math.abs(c-z),f=!0):e||(Math.abs(c-B)<=t?(b.y=c-a.y,t=Math.abs(c-B),f=!0):Math.abs(c-A)<=t&&(b.y=c-a.y-a.height,t=Math.abs(c-A),f=!0));f&&(p=d,q=Math.round(c-this.graph.panDy),null==this.guideY&&(this.guideY=this.createGuideShape(!1),this.guideY.dialect=this.graph.dialect!=mxConstants.DIALECT_SVG?
 mxConstants.DIALECT_VML:mxConstants.DIALECT_SVG,this.guideY.pointerEvents=!1,this.guideY.init(this.graph.getView().getOverlayPane())));n=n||f};var e=function(c,d,e){c+=this.graph.panDx;var f=!1;e&&Math.abs(c-y)<=r?(b.x=c-a.getCenterX(),r=Math.abs(c-y),f=!0):e||(Math.abs(c-u)<=r?(b.x=c-a.x,r=Math.abs(c-u),f=!0):Math.abs(c-x)<=r&&(b.x=c-a.x-a.width,r=Math.abs(c-x),f=!0));f&&(l=d,m=Math.round(c-this.graph.panDx),null==this.guideX&&(this.guideX=this.createGuideShape(!0),this.guideX.dialect=this.graph.dialect!=
-mxConstants.DIALECT_SVG?mxConstants.DIALECT_VML:mxConstants.DIALECT_SVG,this.guideX.pointerEvents=!1,this.guideX.init(this.graph.getView().getOverlayPane())));k=k||f};this.graph.getView();var f=this.graph.getView().scale,f=this.getGuideTolerance(c)*f,g=a.clone();g.x+=b.x;g.y+=b.y;for(var k=!1,l=null,m=null,n=!1,p=null,q=null,r=f,t=f,u=g.x,x=g.x+g.width,y=g.getCenterX(),A=g.y,z=g.y+g.height,v=g.getCenterY(),f=0;f<this.states.length;f++)g=this.states[f],null==g||this.isStateIgnored(g)||(this.horizontal&&
+mxConstants.DIALECT_SVG?mxConstants.DIALECT_VML:mxConstants.DIALECT_SVG,this.guideX.pointerEvents=!1,this.guideX.init(this.graph.getView().getOverlayPane())));k=k||f};this.graph.getView();var f=this.graph.getView().scale,f=this.getGuideTolerance(c)*f,g=a.clone();g.x+=b.x;g.y+=b.y;for(var k=!1,l=null,m=null,n=!1,p=null,q=null,r=f,t=f,u=g.x,x=g.x+g.width,y=g.getCenterX(),B=g.y,A=g.y+g.height,z=g.getCenterY(),f=0;f<this.states.length;f++)g=this.states[f],null==g||this.isStateIgnored(g)||(this.horizontal&&
 (e.call(this,g.x+g.width,g,!1),e.call(this,g.x,g,!1),e.call(this,g.getCenterX(),g,!0)),this.vertical&&(d.call(this,g.y+g.height,g,!1),d.call(this,g.y,g,!1),d.call(this,g.getCenterY(),g,!0)));this.graph.snapDelta(b,a,!c,k,n);c=this.graph.container;k||null==this.guideX?null!=this.guideX&&(e=d=null,null!=l&&null!=a&&(d=Math.min(a.y+b.y-this.graph.panDy,l.y),e=Math.max(a.y+a.height+b.y-this.graph.panDy,l.y+l.height)),this.guideX.points=null!=d&&null!=e?[new mxPoint(m,d),new mxPoint(m,e)]:[new mxPoint(m,
 -this.graph.panDy),new mxPoint(m,c.scrollHeight-3-this.graph.panDy)],this.guideX.stroke=this.getGuideColor(l,!0),this.guideX.node.style.visibility="visible",this.guideX.redraw()):this.guideX.node.style.visibility="hidden";n||null==this.guideY?null!=this.guideY&&(e=d=null,null!=p&&null!=a&&(d=Math.min(a.x+b.x-this.graph.panDx,p.x),e=Math.max(a.x+a.width+b.x-this.graph.panDx,p.x+p.width)),this.guideY.points=null!=d&&null!=e?[new mxPoint(d,q),new mxPoint(e,q)]:[new mxPoint(-this.graph.panDx,q),new mxPoint(c.scrollWidth-
 3-this.graph.panDx,q)],this.guideY.stroke=this.getGuideColor(p,!1),this.guideY.node.style.visibility="visible",this.guideY.redraw()):this.guideY.node.style.visibility="hidden";b=this.getDelta(a,l,b.x,p,b.y)}return b};mxGuide.prototype.getDelta=function(a,b,c,d,e){if(this.rounded||null!=b&&null==b.cell)c=Math.floor(a.x+c)-a.x;if(this.rounded||null!=d&&null==d.cell)e=Math.floor(a.y+e)-a.y;return new mxPoint(c,e)};mxGuide.prototype.getGuideColor=function(a,b){return mxConstants.GUIDE_COLOR};
@@ -614,14 +614,14 @@ function mxArrowConnector(a,b,c,d,e,f,g){mxShape.call(this);this.points=a;this.f
 mxArrowConnector.prototype.resetStyles=function(){mxShape.prototype.resetStyles.apply(this,arguments);this.arrowSpacing=mxConstants.ARROW_SPACING};mxArrowConnector.prototype.apply=function(a){mxShape.prototype.apply.apply(this,arguments);null!=this.style&&(this.startSize=3*mxUtils.getNumber(this.style,mxConstants.STYLE_STARTSIZE,mxConstants.ARROW_SIZE/5),this.endSize=3*mxUtils.getNumber(this.style,mxConstants.STYLE_ENDSIZE,mxConstants.ARROW_SIZE/5))};
 mxArrowConnector.prototype.augmentBoundingBox=function(a){mxShape.prototype.augmentBoundingBox.apply(this,arguments);var b=this.getEdgeWidth();this.isMarkerStart()&&(b=Math.max(b,this.getStartArrowWidth()));this.isMarkerEnd()&&(b=Math.max(b,this.getEndArrowWidth()));a.grow((b/2+this.strokewidth)*this.scale)};
 mxArrowConnector.prototype.paintEdgeShape=function(a,b){var c=this.strokewidth;this.outline&&(c=Math.max(1,mxUtils.getNumber(this.style,mxConstants.STYLE_STROKEWIDTH,this.strokewidth)));for(var d=this.getStartArrowWidth()+c,e=this.getEndArrowWidth()+c,f=this.outline?this.getEdgeWidth()+c:this.getEdgeWidth(),g=this.isOpenEnded(),k=this.isMarkerStart(),l=this.isMarkerEnd(),m=g?0:this.arrowSpacing+c/2,n=this.startSize+c,c=this.endSize+c,p=this.isArrowRounded(),q=b[b.length-1],r=1;r<b.length-1&&b[r].x==
-b[0].x&&b[r].y==b[0].y;)r++;var t=b[r].x-b[0].x,r=b[r].y-b[0].y,u=Math.sqrt(t*t+r*r);if(0!=u){var x=t/u,y,A=x,z=r/u,v,B=z,u=f*z,C=-f*x,E=[];p?a.setLineJoin("round"):2<b.length&&a.setMiterLimit(1.42);a.begin();t=x;r=z;if(k&&!g)this.paintMarker(a,b[0].x,b[0].y,x,z,n,d,f,m,!0);else{y=b[0].x+u/2+m*x;v=b[0].y+C/2+m*z;var G=b[0].x-u/2+m*x,J=b[0].y-C/2+m*z;g?(a.moveTo(y,v),E.push(function(){a.lineTo(G,J)})):(a.moveTo(G,J),a.lineTo(y,v))}for(var D=v=y=0,u=0;u<b.length-2;u++)if(C=mxUtils.relativeCcw(b[u].x,
-b[u].y,b[u+1].x,b[u+1].y,b[u+2].x,b[u+2].y),y=b[u+2].x-b[u+1].x,v=b[u+2].y-b[u+1].y,D=Math.sqrt(y*y+v*v),0!=D){A=y/D;B=v/D;D=Math.max(Math.sqrt((x*A+z*B+1)/2),.04);y=x+A;v=z+B;var H=Math.sqrt(y*y+v*v);if(0!=H){y/=H;v/=H;var H=Math.max(D,Math.min(this.strokewidth/200+.04,.35)),D=0!=C&&p?Math.max(.1,H):Math.max(D,.06),I=b[u+1].x+v*f/2/D,F=b[u+1].y-y*f/2/D;v=b[u+1].x-v*f/2/D;y=b[u+1].y+y*f/2/D;0!=C&&p?-1==C?(C=v+B*f,D=y-A*f,a.lineTo(v+z*f,y-x*f),a.quadTo(I,F,C,D),function(b,c){E.push(function(){a.lineTo(b,
-c)})}(v,y)):(a.lineTo(I,F),function(b,c){var d=I-z*f,e=F+x*f,g=I-B*f,k=F+A*f;E.push(function(){a.quadTo(b,c,d,e)});E.push(function(){a.lineTo(g,k)})}(v,y)):(a.lineTo(I,F),function(b,c){E.push(function(){a.lineTo(b,c)})}(v,y));x=A;z=B}}u=f*B;C=-f*A;if(l&&!g)this.paintMarker(a,q.x,q.y,-x,-z,c,e,f,m,!1);else{a.lineTo(q.x-m*A+u/2,q.y-m*B+C/2);var K=q.x-m*A-u/2,L=q.y-m*B-C/2;g?(a.moveTo(K,L),E.splice(0,0,function(){a.moveTo(K,L)})):a.lineTo(K,L)}for(u=E.length-1;0<=u;u--)E[u]();g?(a.end(),a.stroke()):
-(a.close(),a.fillAndStroke());a.setShadow(!1);a.setMiterLimit(4);p&&a.setLineJoin("flat");2<b.length&&(a.setMiterLimit(4),k&&!g&&(a.begin(),this.paintMarker(a,b[0].x,b[0].y,t,r,n,d,f,m,!0),a.stroke(),a.end()),l&&!g&&(a.begin(),this.paintMarker(a,q.x,q.y,-x,-z,c,e,f,m,!0),a.stroke(),a.end()))}};
+b[0].x&&b[r].y==b[0].y;)r++;var t=b[r].x-b[0].x,r=b[r].y-b[0].y,u=Math.sqrt(t*t+r*r);if(0!=u){var x=t/u,y,B=x,A=r/u,z,C=A,u=f*A,v=-f*x,D=[];p?a.setLineJoin("round"):2<b.length&&a.setMiterLimit(1.42);a.begin();t=x;r=A;if(k&&!g)this.paintMarker(a,b[0].x,b[0].y,x,A,n,d,f,m,!0);else{y=b[0].x+u/2+m*x;z=b[0].y+v/2+m*A;var G=b[0].x-u/2+m*x,J=b[0].y-v/2+m*A;g?(a.moveTo(y,z),D.push(function(){a.lineTo(G,J)})):(a.moveTo(G,J),a.lineTo(y,z))}for(var E=z=y=0,u=0;u<b.length-2;u++)if(v=mxUtils.relativeCcw(b[u].x,
+b[u].y,b[u+1].x,b[u+1].y,b[u+2].x,b[u+2].y),y=b[u+2].x-b[u+1].x,z=b[u+2].y-b[u+1].y,E=Math.sqrt(y*y+z*z),0!=E){B=y/E;C=z/E;E=Math.max(Math.sqrt((x*B+A*C+1)/2),.04);y=x+B;z=A+C;var H=Math.sqrt(y*y+z*z);if(0!=H){y/=H;z/=H;var H=Math.max(E,Math.min(this.strokewidth/200+.04,.35)),E=0!=v&&p?Math.max(.1,H):Math.max(E,.06),I=b[u+1].x+z*f/2/E,F=b[u+1].y-y*f/2/E;z=b[u+1].x-z*f/2/E;y=b[u+1].y+y*f/2/E;0!=v&&p?-1==v?(v=z+C*f,E=y-B*f,a.lineTo(z+A*f,y-x*f),a.quadTo(I,F,v,E),function(b,c){D.push(function(){a.lineTo(b,
+c)})}(z,y)):(a.lineTo(I,F),function(b,c){var d=I-A*f,e=F+x*f,g=I-C*f,k=F+B*f;D.push(function(){a.quadTo(b,c,d,e)});D.push(function(){a.lineTo(g,k)})}(z,y)):(a.lineTo(I,F),function(b,c){D.push(function(){a.lineTo(b,c)})}(z,y));x=B;A=C}}u=f*C;v=-f*B;if(l&&!g)this.paintMarker(a,q.x,q.y,-x,-A,c,e,f,m,!1);else{a.lineTo(q.x-m*B+u/2,q.y-m*C+v/2);var K=q.x-m*B-u/2,L=q.y-m*C-v/2;g?(a.moveTo(K,L),D.splice(0,0,function(){a.moveTo(K,L)})):a.lineTo(K,L)}for(u=D.length-1;0<=u;u--)D[u]();g?(a.end(),a.stroke()):
+(a.close(),a.fillAndStroke());a.setShadow(!1);a.setMiterLimit(4);p&&a.setLineJoin("flat");2<b.length&&(a.setMiterLimit(4),k&&!g&&(a.begin(),this.paintMarker(a,b[0].x,b[0].y,t,r,n,d,f,m,!0),a.stroke(),a.end()),l&&!g&&(a.begin(),this.paintMarker(a,q.x,q.y,-x,-A,c,e,f,m,!0),a.stroke(),a.end()))}};
 mxArrowConnector.prototype.paintMarker=function(a,b,c,d,e,f,g,k,l,m){g=k/g;var n=k*e/2;k=-k*d/2;var p=(l+f)*d;f=(l+f)*e;m?a.moveTo(b-n+p,c-k+f):a.lineTo(b-n+p,c-k+f);a.lineTo(b-n/g+p,c-k/g+f);a.lineTo(b+l*d,c+l*e);a.lineTo(b+n/g+p,c+k/g+f);a.lineTo(b+n+p,c+k+f)};mxArrowConnector.prototype.isArrowRounded=function(){return this.isRounded};mxArrowConnector.prototype.getStartArrowWidth=function(){return mxConstants.ARROW_WIDTH};mxArrowConnector.prototype.getEndArrowWidth=function(){return mxConstants.ARROW_WIDTH};
 mxArrowConnector.prototype.getEdgeWidth=function(){return mxConstants.ARROW_WIDTH/3};mxArrowConnector.prototype.isOpenEnded=function(){return!1};mxArrowConnector.prototype.isMarkerStart=function(){return mxUtils.getValue(this.style,mxConstants.STYLE_STARTARROW,mxConstants.NONE)!=mxConstants.NONE};mxArrowConnector.prototype.isMarkerEnd=function(){return mxUtils.getValue(this.style,mxConstants.STYLE_ENDARROW,mxConstants.NONE)!=mxConstants.NONE};
-function mxText(a,b,c,d,e,f,g,k,l,m,n,p,q,r,t,u,x,y,A,z,v){mxShape.call(this);this.value=a;this.bounds=b;this.color=null!=e?e:"black";this.align=null!=c?c:mxConstants.ALIGN_CENTER;this.valign=null!=d?d:mxConstants.ALIGN_MIDDLE;this.family=null!=f?f:mxConstants.DEFAULT_FONTFAMILY;this.size=null!=g?g:mxConstants.DEFAULT_FONTSIZE;this.fontStyle=null!=k?k:mxConstants.DEFAULT_FONTSTYLE;this.spacing=parseInt(l||2);this.spacingTop=this.spacing+parseInt(m||0);this.spacingRight=this.spacing+parseInt(n||0);
-this.spacingBottom=this.spacing+parseInt(p||0);this.spacingLeft=this.spacing+parseInt(q||0);this.horizontal=null!=r?r:!0;this.background=t;this.border=u;this.wrap=null!=x?x:!1;this.clipped=null!=y?y:!1;this.overflow=null!=A?A:"visible";this.labelPadding=null!=z?z:0;this.textDirection=v;this.rotation=0;this.updateMargin()}mxUtils.extend(mxText,mxShape);mxText.prototype.baseSpacingTop=0;mxText.prototype.baseSpacingBottom=0;mxText.prototype.baseSpacingLeft=0;mxText.prototype.baseSpacingRight=0;
+function mxText(a,b,c,d,e,f,g,k,l,m,n,p,q,r,t,u,x,y,B,A,z){mxShape.call(this);this.value=a;this.bounds=b;this.color=null!=e?e:"black";this.align=null!=c?c:mxConstants.ALIGN_CENTER;this.valign=null!=d?d:mxConstants.ALIGN_MIDDLE;this.family=null!=f?f:mxConstants.DEFAULT_FONTFAMILY;this.size=null!=g?g:mxConstants.DEFAULT_FONTSIZE;this.fontStyle=null!=k?k:mxConstants.DEFAULT_FONTSTYLE;this.spacing=parseInt(l||2);this.spacingTop=this.spacing+parseInt(m||0);this.spacingRight=this.spacing+parseInt(n||0);
+this.spacingBottom=this.spacing+parseInt(p||0);this.spacingLeft=this.spacing+parseInt(q||0);this.horizontal=null!=r?r:!0;this.background=t;this.border=u;this.wrap=null!=x?x:!1;this.clipped=null!=y?y:!1;this.overflow=null!=B?B:"visible";this.labelPadding=null!=A?A:0;this.textDirection=z;this.rotation=0;this.updateMargin()}mxUtils.extend(mxText,mxShape);mxText.prototype.baseSpacingTop=0;mxText.prototype.baseSpacingBottom=0;mxText.prototype.baseSpacingLeft=0;mxText.prototype.baseSpacingRight=0;
 mxText.prototype.replaceLinefeeds=!0;mxText.prototype.verticalTextRotation=-90;mxText.prototype.ignoreClippedStringSize=!0;mxText.prototype.ignoreStringSize=!1;mxText.prototype.textWidthPadding=8!=document.documentMode||mxClient.IS_EM?3:4;mxText.prototype.lastValue=null;mxText.prototype.cacheEnabled=!0;mxText.prototype.isParseVml=function(){return!1};mxText.prototype.isHtmlAllowed=function(){return 8!=document.documentMode||mxClient.IS_EM};mxText.prototype.getSvgScreenOffset=function(){return 0};
 mxText.prototype.checkBounds=function(){return!isNaN(this.scale)&&isFinite(this.scale)&&0<this.scale&&null!=this.bounds&&!isNaN(this.bounds.x)&&!isNaN(this.bounds.y)&&!isNaN(this.bounds.width)&&!isNaN(this.bounds.height)};
 mxText.prototype.paint=function(a,b){var c=this.scale,d=this.bounds.x/c,e=this.bounds.y/c,f=this.bounds.width/c,c=this.bounds.height/c;this.updateTransform(a,d,e,f,c);this.configureCanvas(a,d,e,f,c);if(b)a.updateText(d,e,f,c,this.align,this.valign,this.wrap,this.overflow,this.clipped,this.getTextRotation(),this.node);else{var g=mxUtils.isNode(this.value)||this.dialect==mxConstants.DIALECT_STRICTHTML,k=g||a instanceof mxVmlCanvas2D?"html":"",l=this.value;g||"html"!=k||(l=mxUtils.htmlEntities(l,!1));
@@ -646,9 +646,9 @@ mxText.prototype.updateVmlContainer=function(){this.node.style.left=Math.round(t
 mxText.prototype.getTextCss=function(){var a="display: inline-block; font-size: "+this.size+"px; font-family: "+this.family+"; color: "+this.color+"; line-height: "+(mxConstants.ABSOLUTE_LINE_HEIGHT?this.size*mxConstants.LINE_HEIGHT+"px":mxConstants.LINE_HEIGHT)+"; pointer-events: "+(this.pointerEvents?"all":"none")+"; ";(this.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&(a+="font-weight: bold; ");(this.fontStyle&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&(a+="font-style: italic; ");
 var b=[];(this.fontStyle&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&b.push("underline");(this.fontStyle&mxConstants.FONT_STRIKETHROUGH)==mxConstants.FONT_STRIKETHROUGH&&b.push("line-through");0<b.length&&(a+="text-decoration: "+b.join(" ")+"; ");return a};
 mxText.prototype.redrawHtmlShape=function(){if(mxClient.IS_SVG)this.redrawHtmlShapeWithCss3();else{var a=this.node.style;a.whiteSpace="normal";a.overflow="";a.width="";a.height="";this.updateValue();this.updateFont(this.node);this.updateSize(this.node,null==this.state||null==this.state.view.textDiv);this.offsetHeight=this.offsetWidth=null;mxClient.IS_IE&&(null==document.documentMode||8>=document.documentMode)?this.updateHtmlFilter():this.updateHtmlTransform()}};
-mxText.prototype.redrawHtmlShapeWithCss3=function(){var a=Math.max(0,Math.round(this.bounds.width/this.scale)),b=Math.max(0,Math.round(this.bounds.height/this.scale)),c="position: absolute; left: "+Math.round(this.bounds.x)+"px; top: "+Math.round(this.bounds.y)+"px; pointer-events: none; ",d=this.getTextCss()+(this.pointerEvents?"pointer-events: all; ":"");mxSvgCanvas2D.createCss(a,b,this.align,this.valign,this.wrap,this.overflow,this.clipped,null!=this.background?mxUtils.htmlEntities(this.background):
-null,null!=this.border?mxUtils.htmlEntities(this.border):null,c,d,this.scale,mxUtils.bind(this,function(a,b,c,d,l,m){a=this.getTextRotation();a=(1!=this.scale?"scale("+this.scale+") ":"")+(0!=a?"rotate("+a+"deg) ":"")+(0!=this.margin.x||0!=this.margin.y?"translate("+100*this.margin.x+"%,"+100*this.margin.y+"%)":"");""!=a&&(a="transform-origin: 0 0; transform: "+a+"; ");""==m?(c+=d,d="display:inline-block; min-width: 100%; "+a):d+=a;100>this.opacity&&(l+="opacity: "+this.opacity/100+"; ");this.node.setAttribute("style",
-c);c=mxUtils.isNode(this.value)?this.value.outerHTML:this.getHtmlValue();null==this.node.firstChild&&(this.node.innerHTML="<div><div>"+c+"</div></div>");this.node.firstChild.firstChild.setAttribute("style",l);this.node.firstChild.setAttribute("style",d)}))};
+mxText.prototype.redrawHtmlShapeWithCss3=function(){var a=Math.max(0,Math.round(this.bounds.width/this.scale)),b=Math.max(0,Math.round(this.bounds.height/this.scale)),c="position: absolute; left: "+Math.round(this.bounds.x)+"px; top: "+Math.round(this.bounds.y)+"px; pointer-events: none; ",d=this.getTextCss();mxSvgCanvas2D.createCss(a+2,b,this.align,this.valign,this.wrap,this.overflow,this.clipped,null!=this.background?mxUtils.htmlEntities(this.background):null,null!=this.border?mxUtils.htmlEntities(this.border):
+null,c,d,this.scale,mxUtils.bind(this,function(a,b,c,d,l,m){a=this.getTextRotation();a=(1!=this.scale?"scale("+this.scale+") ":"")+(0!=a?"rotate("+a+"deg) ":"")+(0!=this.margin.x||0!=this.margin.y?"translate("+100*this.margin.x+"%,"+100*this.margin.y+"%)":"");""!=a&&(a="transform-origin: 0 0; transform: "+a+"; ");""==m?(c+=d,d="display:inline-block; min-width: 100%; "+a):d+=a;100>this.opacity&&(l+="opacity: "+this.opacity/100+"; ");this.node.setAttribute("style",c);c=mxUtils.isNode(this.value)?this.value.outerHTML:
+this.getHtmlValue();null==this.node.firstChild&&(this.node.innerHTML="<div><div>"+c+"</div></div>");this.node.firstChild.firstChild.setAttribute("style",l);this.node.firstChild.setAttribute("style",d)}))};
 mxText.prototype.updateHtmlTransform=function(){var a=this.getTextRotation(),b=this.node.style,c=this.margin.x,d=this.margin.y;0!=a?(mxUtils.setPrefixedStyle(b,"transformOrigin",100*-c+"% "+100*-d+"%"),mxUtils.setPrefixedStyle(b,"transform","translate("+100*c+"%,"+100*d+"%) scale("+this.scale+") rotate("+a+"deg)")):(mxUtils.setPrefixedStyle(b,"transformOrigin","0% 0%"),mxUtils.setPrefixedStyle(b,"transform","scale("+this.scale+") translate("+100*c+"%,"+100*d+"%)"));b.left=Math.round(this.bounds.x-
 Math.ceil(c*("fill"!=this.overflow&&"width"!=this.overflow?3:1)))+"px";b.top=Math.round(this.bounds.y-d*("fill"!=this.overflow?3:1))+"px";b.opacity=100>this.opacity?this.opacity/100:""};
 mxText.prototype.updateInnerHtml=function(a){if(mxUtils.isNode(this.value))a.innerHTML=this.value.outerHTML;else{var b=this.value;this.dialect!=mxConstants.DIALECT_STRICTHTML&&(b=mxUtils.htmlEntities(b,!1));b=mxUtils.replaceTrailingNewlines(b,"<div>&nbsp;</div>");b=this.replaceLinefeeds?b.replace(/\n/g,"<br/>"):b;a.innerHTML='<div style="display:inline-block;_display:inline;">'+b+"</div>"}};
@@ -825,9 +825,9 @@ mxMedianHybridCrossingReduction.prototype.execute=function(a){a=this.layout.getM
 k}else for(c++,e=0;e<this.nestedBestRanks.length;e++)for(f=a.ranks[e],g=0;g<f.length;g++)k=f[g],k.setGeneralPurposeVariable(e,g);if(0==d)break}c=[];d=[];for(b=0;b<a.maxRank+1;b++)d[b]=[],c[b]=d[b];for(b=0;b<this.nestedBestRanks.length;b++)for(e=0;e<this.nestedBestRanks[b].length;e++)d[b].push(this.nestedBestRanks[b][e]);a.ranks=c};mxMedianHybridCrossingReduction.prototype.calculateCrossings=function(a){for(var b=a.ranks.length,c=0,d=1;d<b;d++)c+=this.calculateRankCrossing(d,a);return c};
 mxMedianHybridCrossingReduction.prototype.calculateRankCrossing=function(a,b){for(var c=0,d=b.ranks[a],e=b.ranks[a-1],f=[],g=0;g<d.length;g++){for(var k=d[g],l=k.getGeneralPurposeVariable(a),k=k.getPreviousLayerConnectedCells(a),m=[],n=0;n<k.length;n++){var p=k[n].getGeneralPurposeVariable(a-1);m.push(p)}m.sort(function(a,b){return a-b});f[l]=m}d=[];for(g=0;g<f.length;g++)d=d.concat(f[g]);for(f=1;f<e.length;)f<<=1;l=2*f-1;--f;e=[];for(g=0;g<l;++g)e[g]=0;for(g=0;g<d.length;g++)for(l=d[g]+f,++e[l];0<
 l;)l%2&&(c+=e[l+1]),l=l-1>>1,++e[l];return c};
-mxMedianHybridCrossingReduction.prototype.transpose=function(a,b){for(var c=!0,d=0;c&&10>d++;)for(var e=1==a%2&&1==d%2,c=!1,f=0;f<b.ranks.length;f++){for(var g=b.ranks[f],k=[],l=0;l<g.length;l++){var m=g[l],n=m.getGeneralPurposeVariable(f);0>n&&(n=l);k[n]=m}for(var p=null,q=null,r,t,u=null,x=null,y,A=null,l=0;l<g.length-1;l++){if(0==l){y=k[l];m=y.getNextLayerConnectedCells(f);n=y.getPreviousLayerConnectedCells(f);r=[];t=[];for(var z=0;z<m.length;z++)r[z]=m[z].getGeneralPurposeVariable(f+1);for(z=
-0;z<n.length;z++)t[z]=n[z].getGeneralPurposeVariable(f-1)}else m=p,n=q,r=u,t=x,y=A;A=k[l+1];p=A.getNextLayerConnectedCells(f);q=A.getPreviousLayerConnectedCells(f);u=[];x=[];for(z=0;z<p.length;z++)u[z]=p[z].getGeneralPurposeVariable(f+1);for(z=0;z<q.length;z++)x[z]=q[z].getGeneralPurposeVariable(f-1);for(var v=0,B=0,z=0;z<r.length;z++)for(var C=0;C<u.length;C++)r[z]>u[C]&&v++,r[z]<u[C]&&B++;for(z=0;z<t.length;z++)for(C=0;C<x.length;C++)t[z]>x[C]&&v++,t[z]<x[C]&&B++;if(B<v||B==v&&e)p=y.getGeneralPurposeVariable(f),
-y.setGeneralPurposeVariable(f,A.getGeneralPurposeVariable(f)),A.setGeneralPurposeVariable(f,p),p=m,q=n,u=r,x=t,A=y,e||(c=!0)}}};mxMedianHybridCrossingReduction.prototype.weightedMedian=function(a,b){var c=0==a%2;if(c)for(var d=b.maxRank-1;0<=d;d--)this.medianRank(d,c);else for(d=1;d<b.maxRank;d++)this.medianRank(d,c)};
+mxMedianHybridCrossingReduction.prototype.transpose=function(a,b){for(var c=!0,d=0;c&&10>d++;)for(var e=1==a%2&&1==d%2,c=!1,f=0;f<b.ranks.length;f++){for(var g=b.ranks[f],k=[],l=0;l<g.length;l++){var m=g[l],n=m.getGeneralPurposeVariable(f);0>n&&(n=l);k[n]=m}for(var p=null,q=null,r,t,u=null,x=null,y,B=null,l=0;l<g.length-1;l++){if(0==l){y=k[l];m=y.getNextLayerConnectedCells(f);n=y.getPreviousLayerConnectedCells(f);r=[];t=[];for(var A=0;A<m.length;A++)r[A]=m[A].getGeneralPurposeVariable(f+1);for(A=
+0;A<n.length;A++)t[A]=n[A].getGeneralPurposeVariable(f-1)}else m=p,n=q,r=u,t=x,y=B;B=k[l+1];p=B.getNextLayerConnectedCells(f);q=B.getPreviousLayerConnectedCells(f);u=[];x=[];for(A=0;A<p.length;A++)u[A]=p[A].getGeneralPurposeVariable(f+1);for(A=0;A<q.length;A++)x[A]=q[A].getGeneralPurposeVariable(f-1);for(var z=0,C=0,A=0;A<r.length;A++)for(var v=0;v<u.length;v++)r[A]>u[v]&&z++,r[A]<u[v]&&C++;for(A=0;A<t.length;A++)for(v=0;v<x.length;v++)t[A]>x[v]&&z++,t[A]<x[v]&&C++;if(C<z||C==z&&e)p=y.getGeneralPurposeVariable(f),
+y.setGeneralPurposeVariable(f,B.getGeneralPurposeVariable(f)),B.setGeneralPurposeVariable(f,p),p=m,q=n,u=r,x=t,B=y,e||(c=!0)}}};mxMedianHybridCrossingReduction.prototype.weightedMedian=function(a,b){var c=0==a%2;if(c)for(var d=b.maxRank-1;0<=d;d--)this.medianRank(d,c);else for(d=1;d<b.maxRank;d++)this.medianRank(d,c)};
 mxMedianHybridCrossingReduction.prototype.medianRank=function(a,b){for(var c=this.nestedBestRanks[a].length,d=[],e=[],f=0;f<c;f++){var g=this.nestedBestRanks[a][f],k=new MedianCellSorter;k.cell=g;var l;l=b?g.getNextLayerConnectedCells(a):g.getPreviousLayerConnectedCells(a);var m;m=b?a+1:a-1;null!=l&&0!=l.length?(k.medianValue=this.medianValue(l,m),d.push(k)):e[g.getGeneralPurposeVariable(a)]=!0}d.sort(MedianCellSorter.prototype.compare);for(f=0;f<c;f++)null==e[f]&&(g=d.shift().cell,g.setGeneralPurposeVariable(a,
 f))};mxMedianHybridCrossingReduction.prototype.medianValue=function(a,b){for(var c=[],d=0,e=0;e<a.length;e++){var f=a[e];c[d++]=f.getGeneralPurposeVariable(b)}c.sort(function(a,b){return a-b});if(1==d%2)return c[Math.floor(d/2)];if(2==d)return(c[0]+c[1])/2;e=d/2;f=c[e-1]-c[0];d=c[d-1]-c[e];return(c[e-1]*d+c[e]*f)/(f+d)};function MedianCellSorter(){}MedianCellSorter.prototype.medianValue=0;MedianCellSorter.prototype.cell=!1;
 MedianCellSorter.prototype.compare=function(a,b){return null!=a&&null!=b?b.medianValue>a.medianValue?-1:b.medianValue<a.medianValue?1:0:0};function mxMinimumCycleRemover(a){this.layout=a}mxMinimumCycleRemover.prototype=new mxHierarchicalLayoutStage;mxMinimumCycleRemover.prototype.constructor=mxMinimumCycleRemover;mxMinimumCycleRemover.prototype.layout=null;
@@ -862,7 +862,7 @@ t;if(r.isVertex()){t=0==k?e.connectsAsSource:e.connectsAsTarget;for(var u=0;u<t.
 p+=this.prefVertEdgeOff:m>f/2&&(p-=this.prefVertEdgeOff),t=0;t<q;t++)r[4*t+2*k]=n,n+=l,r[4*t+2*k+1]=p}f=e.getNextLayerConnectedCells(b);g=b+1}}};
 mxCoordinateAssignment.prototype.setEdgePosition=function(a){var b=0;if(101207!=a.temp[0]){var c=a.maxRank,d=a.minRank;c==d&&(c=a.source.maxRank,d=a.target.minRank);for(var e=0,f=this.jettyPositions[a.ids[0]],g=a.isReversed?a.target.cell:a.source.cell,k=this.layout.graph,l=this.orientation==mxConstants.DIRECTION_EAST||this.orientation==mxConstants.DIRECTION_SOUTH,m=0;m<a.edges.length;m++){var n=a.edges[m],p=this.layout.getVisibleTerminal(n,!0),q=[],r=a.isReversed;p!=g&&(r=!r);if(null!=f){var t=r?
 2:0,u=r?l?this.rankBottomY[d]:this.rankTopY[d]:l?this.rankTopY[c]:this.rankBottomY[c],x=f[4*e+1+t];r!=l&&(x=-x);var u=u+x,t=f[4*e+t],y=k.model.getTerminal(n,!0);this.layout.isPort(y)&&k.model.getParent(y)==p&&(t=k.view.getState(y),t=null!=t?t.x:p.geometry.x+a.source.width*y.geometry.x);this.orientation==mxConstants.DIRECTION_NORTH||this.orientation==mxConstants.DIRECTION_SOUTH?(q.push(new mxPoint(t,u)),this.layout.edgeStyle==mxHierarchicalEdgeStyle.CURVE&&q.push(new mxPoint(t,u+x))):(q.push(new mxPoint(u,
-t)),this.layout.edgeStyle==mxHierarchicalEdgeStyle.CURVE&&q.push(new mxPoint(u+x,t)))}t=a.x.length-1;u=x=-1;p=a.maxRank-1;for(r&&(t=0,x=a.x.length,u=1,p=a.minRank+1);a.maxRank!=a.minRank&&t!=x;t+=u){var y=a.x[t]+b,A=(this.rankTopY[p]+this.rankBottomY[p+1])/2,z=(this.rankTopY[p-1]+this.rankBottomY[p])/2;if(r)var v=A,A=z,z=v;this.orientation==mxConstants.DIRECTION_NORTH||this.orientation==mxConstants.DIRECTION_SOUTH?(q.push(new mxPoint(y,A)),q.push(new mxPoint(y,z))):(q.push(new mxPoint(A,y)),q.push(new mxPoint(z,
+t)),this.layout.edgeStyle==mxHierarchicalEdgeStyle.CURVE&&q.push(new mxPoint(u+x,t)))}t=a.x.length-1;u=x=-1;p=a.maxRank-1;for(r&&(t=0,x=a.x.length,u=1,p=a.minRank+1);a.maxRank!=a.minRank&&t!=x;t+=u){var y=a.x[t]+b,B=(this.rankTopY[p]+this.rankBottomY[p+1])/2,A=(this.rankTopY[p-1]+this.rankBottomY[p])/2;if(r)var z=B,B=A,A=z;this.orientation==mxConstants.DIRECTION_NORTH||this.orientation==mxConstants.DIRECTION_SOUTH?(q.push(new mxPoint(y,B)),q.push(new mxPoint(y,A))):(q.push(new mxPoint(B,y)),q.push(new mxPoint(A,
 y)));this.limitX=Math.max(this.limitX,y);p+=u}null!=f&&(t=r?2:0,u=r?l?this.rankTopY[c]:this.rankBottomY[c]:l?this.rankBottomY[d]:this.rankTopY[d],x=f[4*e+3-t],r!=l&&(x=-x),u-=x,t=f[4*e+2-t],r=k.model.getTerminal(n,!1),p=this.layout.getVisibleTerminal(n,!1),this.layout.isPort(r)&&k.model.getParent(r)==p&&(t=k.view.getState(r),t=null!=t?t.x:p.geometry.x+a.target.width*r.geometry.x),this.orientation==mxConstants.DIRECTION_NORTH||this.orientation==mxConstants.DIRECTION_SOUTH?(this.layout.edgeStyle==mxHierarchicalEdgeStyle.CURVE&&
 q.push(new mxPoint(t,u-x)),q.push(new mxPoint(t,u))):(this.layout.edgeStyle==mxHierarchicalEdgeStyle.CURVE&&q.push(new mxPoint(u-x,t)),q.push(new mxPoint(u,t))));a.isReversed&&this.processReversedEdge(a,n);this.layout.setEdgePoints(n,q);b=0==b?this.parallelEdgeSpacing:0<b?-b:-b+this.parallelEdgeSpacing;e++}a.temp[0]=101207}};
 mxCoordinateAssignment.prototype.setVertexLocation=function(a){var b=a.cell,c=a.x[0]-a.width/2,d=a.y[0]-a.height/2;this.rankTopY[a.minRank]=Math.min(this.rankTopY[a.minRank],d);this.rankBottomY[a.minRank]=Math.max(this.rankBottomY[a.minRank],d+a.height);this.orientation==mxConstants.DIRECTION_NORTH||this.orientation==mxConstants.DIRECTION_SOUTH?this.layout.setVertexLocation(b,c,d):this.layout.setVertexLocation(b,d,c);this.limitX=Math.max(this.limitX,c+a.width)};
@@ -986,10 +986,10 @@ mxPrintPreview.prototype.getDoctype=function(){var a="";5==document.documentMode
 mxPrintPreview.prototype.open=function(a,b,c,d){var e=this.graph.cellRenderer.initializeOverlay,f=null;try{this.printOverlays&&(this.graph.cellRenderer.initializeOverlay=function(a,b){b.init(a.view.getDrawPane())});this.printControls&&(this.graph.cellRenderer.initControl=function(a,b,c,d){b.dialect=a.view.graph.dialect;b.init(a.view.getDrawPane())});this.wnd=null!=b?b:this.wnd;var g=!1;null==this.wnd&&(g=!0,this.wnd=window.open());var k=this.wnd.document;if(g){var l=this.getDoctype();null!=l&&0<l.length&&
 k.writeln(l);mxClient.IS_VML?k.writeln('<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">'):("CSS1Compat"===document.compatMode&&k.writeln("<!DOCTYPE html>"),k.writeln("<html>"));k.writeln("<head>");this.writeHead(k,a);k.writeln("</head>");k.writeln('<body class="mxPage">')}var m=this.graph.getGraphBounds().clone(),n=this.graph.getView().getScale(),p=n/this.scale,q=this.graph.getView().getTranslate();this.autoOrigin||(this.x0-=q.x*this.scale,this.y0-=
 q.y*this.scale,m.width+=m.x,m.height+=m.y,m.x=0,this.border=m.y=0);var r=this.pageFormat.width-2*this.border,t=this.pageFormat.height-2*this.border;this.pageFormat.height+=this.marginTop+this.marginBottom;m.width/=p;m.height/=p;var u=Math.max(1,Math.ceil((m.width+this.x0)/r)),x=Math.max(1,Math.ceil((m.height+this.y0)/t));this.pageCount=u*x;var y=mxUtils.bind(this,function(){if(this.pageSelector&&(1<x||1<u)){var a=this.createPageSelector(x,u);k.body.appendChild(a);if(mxClient.IS_IE&&null==k.documentMode||
-5==k.documentMode||8==k.documentMode||7==k.documentMode){a.style.position="absolute";var b=function(){a.style.top=(k.body.scrollTop||k.documentElement.scrollTop)+10+"px"};mxEvent.addListener(this.wnd,"scroll",function(a){b()});mxEvent.addListener(this.wnd,"resize",function(a){b()})}}}),A=mxUtils.bind(this,function(a,b){null!=this.borderColor&&(a.style.borderColor=this.borderColor,a.style.borderStyle="solid",a.style.borderWidth="1px");a.style.background=this.backgroundColor;if(c||b)a.style.pageBreakAfter=
-"always";if(g&&(mxClient.IS_IE||11<=document.documentMode||mxClient.IS_EDGE))k.writeln(a.outerHTML),a.parentNode.removeChild(a);else if(mxClient.IS_IE||11<=document.documentMode||mxClient.IS_EDGE){var d=k.createElement("div");d.innerHTML=a.outerHTML;d=d.getElementsByTagName("div")[0];k.body.appendChild(d);a.parentNode.removeChild(a)}else a.parentNode.removeChild(a),k.body.appendChild(a);(c||b)&&this.addPageBreak(k)}),z=this.getCoverPages(this.pageFormat.width,this.pageFormat.height);if(null!=z)for(var v=
-0;v<z.length;v++)A(z[v],!0);for(var B=this.getAppendices(this.pageFormat.width,this.pageFormat.height),v=0;v<x;v++){var C=v*t/this.scale-this.y0/this.scale+(m.y-q.y*n)/n;for(a=0;a<u;a++){if(null==this.wnd)return null;var E=a*r/this.scale-this.x0/this.scale+(m.x-q.x*n)/n,G=v*u+a+1,J=new mxRectangle(E,C,r,t),f=this.renderPage(this.pageFormat.width,this.pageFormat.height,0,0,mxUtils.bind(this,function(a){this.addGraphFragment(-E,-C,this.scale,G,a,J);this.printBackgroundImage&&this.insertBackgroundImage(a,
--E,-C)}),G);f.setAttribute("id","mxPage-"+G);A(f,null!=B||v<x-1||a<u-1)}}if(null!=B)for(v=0;v<B.length;v++)A(B[v],v<B.length-1);g&&!d&&(this.closeDocument(),y());this.wnd.focus()}catch(D){null!=f&&null!=f.parentNode&&f.parentNode.removeChild(f)}finally{this.graph.cellRenderer.initializeOverlay=e}return this.wnd};mxPrintPreview.prototype.addPageBreak=function(a){var b=a.createElement("hr");b.className="mxPageBreak";a.body.appendChild(b)};
+5==k.documentMode||8==k.documentMode||7==k.documentMode){a.style.position="absolute";var b=function(){a.style.top=(k.body.scrollTop||k.documentElement.scrollTop)+10+"px"};mxEvent.addListener(this.wnd,"scroll",function(a){b()});mxEvent.addListener(this.wnd,"resize",function(a){b()})}}}),B=mxUtils.bind(this,function(a,b){null!=this.borderColor&&(a.style.borderColor=this.borderColor,a.style.borderStyle="solid",a.style.borderWidth="1px");a.style.background=this.backgroundColor;if(c||b)a.style.pageBreakAfter=
+"always";if(g&&(mxClient.IS_IE||11<=document.documentMode||mxClient.IS_EDGE))k.writeln(a.outerHTML),a.parentNode.removeChild(a);else if(mxClient.IS_IE||11<=document.documentMode||mxClient.IS_EDGE){var d=k.createElement("div");d.innerHTML=a.outerHTML;d=d.getElementsByTagName("div")[0];k.body.appendChild(d);a.parentNode.removeChild(a)}else a.parentNode.removeChild(a),k.body.appendChild(a);(c||b)&&this.addPageBreak(k)}),A=this.getCoverPages(this.pageFormat.width,this.pageFormat.height);if(null!=A)for(var z=
+0;z<A.length;z++)B(A[z],!0);for(var C=this.getAppendices(this.pageFormat.width,this.pageFormat.height),z=0;z<x;z++){var v=z*t/this.scale-this.y0/this.scale+(m.y-q.y*n)/n;for(a=0;a<u;a++){if(null==this.wnd)return null;var D=a*r/this.scale-this.x0/this.scale+(m.x-q.x*n)/n,G=z*u+a+1,J=new mxRectangle(D,v,r,t),f=this.renderPage(this.pageFormat.width,this.pageFormat.height,0,0,mxUtils.bind(this,function(a){this.addGraphFragment(-D,-v,this.scale,G,a,J);this.printBackgroundImage&&this.insertBackgroundImage(a,
+-D,-v)}),G);f.setAttribute("id","mxPage-"+G);B(f,null!=C||z<x-1||a<u-1)}}if(null!=C)for(z=0;z<C.length;z++)B(C[z],z<C.length-1);g&&!d&&(this.closeDocument(),y());this.wnd.focus()}catch(E){null!=f&&null!=f.parentNode&&f.parentNode.removeChild(f)}finally{this.graph.cellRenderer.initializeOverlay=e}return this.wnd};mxPrintPreview.prototype.addPageBreak=function(a){var b=a.createElement("hr");b.className="mxPageBreak";a.body.appendChild(b)};
 mxPrintPreview.prototype.closeDocument=function(){try{if(null!=this.wnd&&null!=this.wnd.document){var a=this.wnd.document;this.writePostfix(a);a.writeln("</body>");a.writeln("</html>");a.close();mxEvent.release(a.body)}}catch(b){}};
 mxPrintPreview.prototype.writeHead=function(a,b){null!=this.title&&a.writeln("<title>"+this.title+"</title>");mxClient.IS_VML&&a.writeln('<style type="text/css">v\\:*{behavior:url(#default#VML)}o\\:*{behavior:url(#default#VML)}</style>');mxClient.link("stylesheet",mxClient.basePath+"/css/common.css",a);a.writeln('<style type="text/css">');a.writeln("@media print {");a.writeln("  * { -webkit-print-color-adjust: exact; }");a.writeln("  table.mxPageSelector { display: none; }");a.writeln("  hr.mxPageBreak { display: none; }");
 a.writeln("}");a.writeln("@media screen {");a.writeln("  table.mxPageSelector { position: fixed; right: 10px; top: 10px;font-family: Arial; font-size:10pt; border: solid 1px darkgray;background: white; border-collapse:collapse; }");a.writeln("  table.mxPageSelector td { border: solid 1px gray; padding:4px; }");a.writeln("  body.mxPage { background: gray; }");a.writeln("}");null!=b&&a.writeln(b);a.writeln("</style>")};mxPrintPreview.prototype.writePostfix=function(a){};
@@ -1001,8 +1001,8 @@ b-2*this.border+"px",l.style.overflow="hidden",!mxClient.IS_IE||null!=f.document
 mxPrintPreview.prototype.getRoot=function(){var a=this.graph.view.currentRoot;null==a&&(a=this.graph.getModel().getRoot());return a};
 mxPrintPreview.prototype.addGraphFragment=function(a,b,c,d,e,f){var g=this.graph.getView();d=this.graph.container;this.graph.container=e;var k=g.getCanvas(),l=g.getBackgroundPane(),m=g.getDrawPane(),n=g.getOverlayPane(),p=c;if(this.graph.dialect==mxConstants.DIALECT_SVG){if(g.createSvg(),!mxClient.NO_FO){var q=g.getDrawPane().parentNode;q.getAttribute("transform");q.setAttribute("transformOrigin","0 0");q.setAttribute("transform","scale("+c+","+c+")translate("+a+","+b+")");c=1;b=a=0}}else this.graph.dialect==
 mxConstants.DIALECT_VML?g.createVml():g.createHtml();q=g.isEventsEnabled();g.setEventsEnabled(!1);var r=this.graph.isEnabled();this.graph.setEnabled(!1);var t=g.getTranslate();g.translate=new mxPoint(a,b);var u=this.graph.cellRenderer.redraw,x=g.states;a=g.scale;if(this.clipping){var y=new mxRectangle((f.x+t.x)*a,(f.y+t.y)*a,f.width*a/p,f.height*a/p);this.graph.cellRenderer.redraw=function(a,b,c){if(null!=a){var d=x.get(a.cell);if(null!=d&&(d=g.getBoundingBox(d,!1),null!=d&&!mxUtils.intersects(y,
-d)))return}u.apply(this,arguments)}}a=null;try{var A=[this.getRoot()];a=new mxTemporaryCellStates(g,c,A,null,mxUtils.bind(this,function(a){return this.getLinkForCellState(a)}))}finally{if(mxClient.IS_IE)g.overlayPane.innerHTML="",g.canvas.style.overflow="hidden",g.canvas.style.position="relative",g.canvas.style.top=this.marginTop+"px",g.canvas.style.width=f.width+"px",g.canvas.style.height=f.height+"px";else for(c=e.firstChild;null!=c;)A=c.nextSibling,b=c.nodeName.toLowerCase(),"svg"==b?(c.style.overflow=
-"hidden",c.style.position="relative",c.style.top=this.marginTop+"px",c.setAttribute("width",f.width),c.setAttribute("height",f.height),c.style.width="",c.style.height=""):"default"!=c.style.cursor&&"div"!=b&&c.parentNode.removeChild(c),c=A;this.printBackgroundImage&&(e=e.getElementsByTagName("svg"),0<e.length&&(e[0].style.position="absolute"));g.overlayPane.parentNode.removeChild(g.overlayPane);this.graph.setEnabled(r);this.graph.container=d;this.graph.cellRenderer.redraw=u;g.canvas=k;g.backgroundPane=
+d)))return}u.apply(this,arguments)}}a=null;try{var B=[this.getRoot()];a=new mxTemporaryCellStates(g,c,B,null,mxUtils.bind(this,function(a){return this.getLinkForCellState(a)}))}finally{if(mxClient.IS_IE)g.overlayPane.innerHTML="",g.canvas.style.overflow="hidden",g.canvas.style.position="relative",g.canvas.style.top=this.marginTop+"px",g.canvas.style.width=f.width+"px",g.canvas.style.height=f.height+"px";else for(c=e.firstChild;null!=c;)B=c.nextSibling,b=c.nodeName.toLowerCase(),"svg"==b?(c.style.overflow=
+"hidden",c.style.position="relative",c.style.top=this.marginTop+"px",c.setAttribute("width",f.width),c.setAttribute("height",f.height),c.style.width="",c.style.height=""):"default"!=c.style.cursor&&"div"!=b&&c.parentNode.removeChild(c),c=B;this.printBackgroundImage&&(e=e.getElementsByTagName("svg"),0<e.length&&(e[0].style.position="absolute"));g.overlayPane.parentNode.removeChild(g.overlayPane);this.graph.setEnabled(r);this.graph.container=d;this.graph.cellRenderer.redraw=u;g.canvas=k;g.backgroundPane=
 l;g.drawPane=m;g.overlayPane=n;g.translate=t;a.destroy();g.setEventsEnabled(q)}};mxPrintPreview.prototype.getLinkForCellState=function(a){return this.graph.getLinkForCell(a.cell)};
 mxPrintPreview.prototype.insertBackgroundImage=function(a,b,c){var d=this.graph.backgroundImage;if(null!=d){var e=document.createElement("img");e.style.position="absolute";e.style.marginLeft=Math.round(b*this.scale)+"px";e.style.marginTop=Math.round(c*this.scale)+"px";e.setAttribute("width",Math.round(this.scale*d.width));e.setAttribute("height",Math.round(this.scale*d.height));e.src=d.src;a.insertBefore(e,a.firstChild)}};mxPrintPreview.prototype.getCoverPages=function(){return null};
 mxPrintPreview.prototype.getAppendices=function(){return null};mxPrintPreview.prototype.print=function(a){a=this.open(a);null!=a&&a.print()};mxPrintPreview.prototype.close=function(){null!=this.wnd&&(this.wnd.close(),this.wnd=null)};function mxStylesheet(){this.styles={};this.putDefaultVertexStyle(this.createDefaultVertexStyle());this.putDefaultEdgeStyle(this.createDefaultEdgeStyle())}
@@ -1121,31 +1121,32 @@ f),g=f.y<k||f.y>n,k=f.x<l||f.x>m;else l=Math.max(b.x,c.x),m=Math.min(b.x+b.width
 b.x=k.x,b.y=k.y);null!=g&&(c=new mxCellState,c.x=g.x,c.y=g.y);null!=b&&null!=c&&(a=Math.max(b.x,c.x),k=Math.min(b.x+b.width,c.x+c.width),a=null!=d?d.x:Math.round(k+(a-k)/2),k=f.getRoutingCenterY(b),f=f.getRoutingCenterY(c),null!=d&&(d.y>=b.y&&d.y<=b.y+b.height&&(k=d.y),d.y>=c.y&&d.y<=c.y+c.height&&(f=d.y)),mxUtils.contains(c,a,k)||mxUtils.contains(b,a,k)||e.push(new mxPoint(a,k)),mxUtils.contains(c,a,f)||mxUtils.contains(b,a,f)||e.push(new mxPoint(a,f)),1==e.length&&(null!=d?mxUtils.contains(c,a,
 d.y)||mxUtils.contains(b,a,d.y)||e.push(new mxPoint(a,d.y)):(f=Math.max(b.y,c.y),e.push(new mxPoint(a,f+(Math.min(b.y+b.height,c.y+c.height)-f)/2)))))},TopToBottom:function(a,b,c,d,e){var f=a.view;d=null!=d&&0<d.length?d[0]:null;var g=a.absolutePoints,k=g[0],g=g[g.length-1];null!=d&&(d=f.transformControlPoint(a,d));null!=k&&(b=new mxCellState,b.x=k.x,b.y=k.y);null!=g&&(c=new mxCellState,c.x=g.x,c.y=g.y);null!=b&&null!=c&&(k=Math.max(b.y,c.y),g=Math.min(b.y+b.height,c.y+c.height),a=f.getRoutingCenterX(b),
 null!=d&&d.x>=b.x&&d.x<=b.x+b.width&&(a=d.x),k=null!=d?d.y:Math.round(g+(k-g)/2),mxUtils.contains(c,a,k)||mxUtils.contains(b,a,k)||e.push(new mxPoint(a,k)),a=null!=d&&d.x>=c.x&&d.x<=c.x+c.width?d.x:f.getRoutingCenterX(c),mxUtils.contains(c,a,k)||mxUtils.contains(b,a,k)||e.push(new mxPoint(a,k)),1==e.length&&(null!=d&&1==e.length?mxUtils.contains(c,d.x,k)||mxUtils.contains(b,d.x,k)||e.push(new mxPoint(d.x,k)):(f=Math.max(b.x,c.x),e.push(new mxPoint(f+(Math.min(b.x+b.width,c.x+c.width)-f)/2,k)))))},
-SegmentConnector:function(a,b,c,d,e){function f(a){if(null==l||Math.abs(l.x-a.x)>=k||Math.abs(l.y-a.y)>=k)e.push(a),l=a;return l}var g=a.absolutePoints,k=Math.max(1,a.view.scale),l=0<e.length?e[0]:null,m=!0,n=null,p=g[0];null==p&&null!=b?p=new mxPoint(a.view.getRoutingCenterX(b),a.view.getRoutingCenterY(b)):null!=p&&(p=p.clone());p.x=Math.round(p.x);p.y=Math.round(p.y);var q=g.length-1;if(null!=d&&0<d.length){for(var n=[],r=0;r<d.length;r++){var t=a.view.transformControlPoint(a,d[r]);null!=t&&(t.x=
-Math.round(t.x),t.y=Math.round(t.y),n.push(t))}if(0==n.length)return;d=n;null!=p&&null!=d[0]&&(Math.abs(d[0].x-p.x)<k&&(d[0].x=p.x),Math.abs(d[0].y-p.y)<k&&(d[0].y=p.y));t=g[q];null!=t&&null!=d[d.length-1]&&(Math.abs(d[d.length-1].x-t.x)<k&&(d[d.length-1].x=t.x),Math.abs(d[d.length-1].y-t.y)<k&&(d[d.length-1].y=t.y));var n=d[0],u=b,x=g[0],y=!1,A=!1,y=n;null!=x&&(x.x=Math.round(x.x),x.y=Math.round(x.y),u=null);for(r=0;2>r;r++){var z=null!=x&&x.x==y.x,v=null!=x&&x.y==y.y,B=null!=u&&y.y>=u.y&&y.y<=u.y+
-u.height,u=null!=u&&y.x>=u.x&&y.x<=u.x+u.width,y=v||null==x&&B,A=z||null==x&&u;if(0!=r||!(y&&A||z&&v)){if(null!=x&&!v&&!z&&(B||u)){m=B?!1:!0;break}if(A||y){m=y;1==r&&(m=0==d.length%2?y:A);break}}u=c;x=g[q];null!=x&&(x.x=Math.round(x.x),x.y=Math.round(x.y),u=null);y=d[d.length-1];z&&v&&(d=d.slice(1))}m&&(null!=g[0]&&g[0].y!=n.y||null==g[0]&&null!=b&&(n.y<b.y||n.y>b.y+b.height))?f(new mxPoint(p.x,n.y)):!m&&(null!=g[0]&&g[0].x!=n.x||null==g[0]&&null!=b&&(n.x<b.x||n.x>b.x+b.width))&&f(new mxPoint(n.x,
-p.y));m?p.y=n.y:p.x=n.x;for(r=0;r<d.length;r++)m=!m,n=d[r],m?p.y=n.y:p.x=n.x,f(p.clone())}else n=p,m=!0;p=g[q];null==p&&null!=c&&(p=new mxPoint(a.view.getRoutingCenterX(c),a.view.getRoutingCenterY(c)));null!=p&&(p.x=Math.round(p.x),p.y=Math.round(p.y),null!=n&&(m&&(null!=g[q]&&g[q].y!=n.y||null==g[q]&&null!=c&&(n.y<c.y||n.y>c.y+c.height))?f(new mxPoint(p.x,n.y)):!m&&(null!=g[q]&&g[q].x!=n.x||null==g[q]&&null!=c&&(n.x<c.x||n.x>c.x+c.width))&&f(new mxPoint(n.x,p.y))));if(null==g[0]&&null!=b)for(;1<
-e.length&&null!=e[1]&&mxUtils.contains(b,e[1].x,e[1].y);)e.splice(1,1);if(null==g[q]&&null!=c)for(;1<e.length&&null!=e[e.length-1]&&mxUtils.contains(c,e[e.length-1].x,e[e.length-1].y);)e.splice(e.length-1,1);null!=t&&null!=e[e.length-1]&&Math.abs(t.x-e[e.length-1].x)<=k&&Math.abs(t.y-e[e.length-1].y)<=k&&(e.splice(e.length-1,1),null!=e[e.length-1]&&(Math.abs(e[e.length-1].x-t.x)<k&&(e[e.length-1].x=t.x),Math.abs(e[e.length-1].y-t.y)<k&&(e[e.length-1].y=t.y)))},orthBuffer:10,orthPointsFallback:!0,
-dirVectors:[[-1,0],[0,-1],[1,0],[0,1],[-1,0],[0,-1],[1,0]],wayPoints1:[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],routePatterns:[[[513,2308,2081,2562],[513,1090,514,2184,2114,2561],[513,1090,514,2564,2184,2562],[513,2308,2561,1090,514,2568,2308]],[[514,1057,513,2308,2081,2562],[514,2184,2114,2561],[514,2184,2562,1057,513,2564,2184],[514,1057,513,2568,2308,2561]],[[1090,514,1057,513,2308,2081,2562],[2114,2561],[1090,2562,1057,513,2564,2184],[1090,514,1057,513,2308,2561,
-2568]],[[2081,2562],[1057,513,1090,514,2184,2114,2561],[1057,513,1090,514,2184,2562,2564],[1057,2561,1090,514,2568,2308]]],inlineRoutePatterns:[[null,[2114,2568],null,null],[null,[514,2081,2114,2568],null,null],[null,[2114,2561],null,null],[[2081,2562],[1057,2114,2568],[2184,2562],null]],vertexSeperations:[],limits:[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]],LEFT_MASK:32,TOP_MASK:64,RIGHT_MASK:128,BOTTOM_MASK:256,LEFT:1,TOP:2,RIGHT:4,BOTTOM:8,SIDE_MASK:480,CENTER_MASK:512,SOURCE_MASK:1024,TARGET_MASK:2048,
-VERTEX_MASK:3072,getJettySize:function(a,b,c,d,e){b=mxUtils.getValue(a.style,e?mxConstants.STYLE_SOURCE_JETTY_SIZE:mxConstants.STYLE_TARGET_JETTY_SIZE,mxUtils.getValue(a.style,mxConstants.STYLE_JETTY_SIZE,mxEdgeStyle.orthBuffer));"auto"==b&&(mxUtils.getValue(a.style,e?mxConstants.STYLE_STARTARROW:mxConstants.STYLE_ENDARROW,mxConstants.NONE)!=mxConstants.NONE?(a=mxUtils.getNumber(a.style,e?mxConstants.STYLE_STARTSIZE:mxConstants.STYLE_ENDSIZE,mxConstants.DEFAULT_MARKERSIZE),b=Math.max(2,Math.ceil((a+
-mxEdgeStyle.orthBuffer)/mxEdgeStyle.orthBuffer))*mxEdgeStyle.orthBuffer):b=2*mxEdgeStyle.orthBuffer);return b},OrthConnector:function(a,b,c,d,e){var f=a.view.graph,g=null==b?!1:f.getModel().isEdge(b.cell),k=null==c?!1:f.getModel().isEdge(c.cell),f=a.absolutePoints,l=f[0],m=f[f.length-1],n=null!=b?b.x:l.x,p=null!=b?b.y:l.y,q=null!=b?b.width:0,r=null!=b?b.height:0,t=null!=c?c.x:m.x,u=null!=c?c.y:m.y,x=null!=c?c.width:0,y=null!=c?c.height:0,f=a.view.scale*mxEdgeStyle.getJettySize(a,b,c,d,!0),A=a.view.scale*
-mxEdgeStyle.getJettySize(a,b,c,d,!1);null!=b&&c==b&&(f=A=Math.max(f,A));var z=A+f,v=!1;if(null!=l&&null!=m)var v=m.x-l.x,B=m.y-l.y,v=v*v+B*B<z*z;if(v||mxEdgeStyle.orthPointsFallback&&null!=d&&0<d.length||g||k)mxEdgeStyle.SegmentConnector(a,b,c,d,e);else{d=[mxConstants.DIRECTION_MASK_ALL,mxConstants.DIRECTION_MASK_ALL];null!=b&&(d[0]=mxUtils.getPortConstraints(b,a,!0,mxConstants.DIRECTION_MASK_ALL),v=mxUtils.getValue(b.style,mxConstants.STYLE_ROTATION,0),0!=v&&(v=mxUtils.getBoundingBox(new mxRectangle(n,
-p,q,r),v),n=v.x,p=v.y,q=v.width,r=v.height));null!=c&&(d[1]=mxUtils.getPortConstraints(c,a,!1,mxConstants.DIRECTION_MASK_ALL),v=mxUtils.getValue(c.style,mxConstants.STYLE_ROTATION,0),0!=v&&(v=mxUtils.getBoundingBox(new mxRectangle(t,u,x,y),v),t=v.x,u=v.y,x=v.width,y=v.height));n=Math.round(10*n)/10;p=Math.round(10*p)/10;q=Math.round(10*q)/10;r=Math.round(10*r)/10;t=Math.round(10*t)/10;u=Math.round(10*u)/10;x=Math.round(10*x)/10;y=Math.round(10*y)/10;a=[0,0];n=[[n,p,q,r],[t,u,x,y]];A=[f,A];for(v=0;2>
-v;v++)mxEdgeStyle.limits[v][1]=n[v][0]-A[v],mxEdgeStyle.limits[v][2]=n[v][1]-A[v],mxEdgeStyle.limits[v][4]=n[v][0]+n[v][2]+A[v],mxEdgeStyle.limits[v][8]=n[v][1]+n[v][3]+A[v];A=n[0][1]+n[0][3]/2;p=n[1][1]+n[1][3]/2;v=n[0][0]+n[0][2]/2-(n[1][0]+n[1][2]/2);B=A-p;A=0;0>v?A=0>B?2:1:0>=B&&(A=3,0==v&&(A=2));p=null;null!=b&&(p=l);b=[[.5,.5],[.5,.5]];for(v=0;2>v;v++)null!=p&&(b[v][0]=(p.x-n[v][0])/n[v][2],1>=Math.abs(p.x-n[v][0])?a[v]=mxConstants.DIRECTION_MASK_WEST:1>=Math.abs(p.x-n[v][0]-n[v][2])&&(a[v]=
-mxConstants.DIRECTION_MASK_EAST),b[v][1]=(p.y-n[v][1])/n[v][3],1>=Math.abs(p.y-n[v][1])?a[v]=mxConstants.DIRECTION_MASK_NORTH:1>=Math.abs(p.y-n[v][1]-n[v][3])&&(a[v]=mxConstants.DIRECTION_MASK_SOUTH)),p=null,null!=c&&(p=m);v=n[0][1]-(n[1][1]+n[1][3]);m=n[0][0]-(n[1][0]+n[1][2]);p=n[1][1]-(n[0][1]+n[0][3]);q=n[1][0]-(n[0][0]+n[0][2]);mxEdgeStyle.vertexSeperations[1]=Math.max(m-z,0);mxEdgeStyle.vertexSeperations[2]=Math.max(v-z,0);mxEdgeStyle.vertexSeperations[4]=Math.max(p-z,0);mxEdgeStyle.vertexSeperations[3]=
-Math.max(q-z,0);z=[];c=[];l=[];c[0]=m>=q?mxConstants.DIRECTION_MASK_WEST:mxConstants.DIRECTION_MASK_EAST;l[0]=v>=p?mxConstants.DIRECTION_MASK_NORTH:mxConstants.DIRECTION_MASK_SOUTH;c[1]=mxUtils.reversePortConstraints(c[0]);l[1]=mxUtils.reversePortConstraints(l[0]);m=m>=q?m:q;p=v>=p?v:p;q=[[0,0],[0,0]];r=!1;for(v=0;2>v;v++)0==a[v]&&(0==(c[v]&d[v])&&(c[v]=mxUtils.reversePortConstraints(c[v])),0==(l[v]&d[v])&&(l[v]=mxUtils.reversePortConstraints(l[v])),q[v][0]=l[v],q[v][1]=c[v]);0<p&&0<m&&(0<(c[0]&d[0])&&
-0<(l[1]&d[1])?(q[0][0]=c[0],q[0][1]=l[0],q[1][0]=l[1],q[1][1]=c[1],r=!0):0<(l[0]&d[0])&&0<(c[1]&d[1])&&(q[0][0]=l[0],q[0][1]=c[0],q[1][0]=c[1],q[1][1]=l[1],r=!0));0<p&&!r&&(q[0][0]=l[0],q[0][1]=c[0],q[1][0]=l[1],q[1][1]=c[1],r=!0);0<m&&!r&&(q[0][0]=c[0],q[0][1]=l[0],q[1][0]=c[1],q[1][1]=l[1]);for(v=0;2>v;v++)0==a[v]&&(0==(q[v][0]&d[v])&&(q[v][0]=q[v][1]),z[v]=q[v][0]&d[v],z[v]|=(q[v][1]&d[v])<<8,z[v]|=(q[1-v][v]&d[v])<<16,z[v]|=(q[1-v][1-v]&d[v])<<24,0==(z[v]&15)&&(z[v]<<=8),0==(z[v]&3840)&&(z[v]=
-z[v]&15|z[v]>>8),0==(z[v]&983040)&&(z[v]=z[v]&65535|(z[v]&251658240)>>8),a[v]=z[v]&15,d[v]==mxConstants.DIRECTION_MASK_WEST||d[v]==mxConstants.DIRECTION_MASK_NORTH||d[v]==mxConstants.DIRECTION_MASK_EAST||d[v]==mxConstants.DIRECTION_MASK_SOUTH)&&(a[v]=d[v]);d=a[0]==mxConstants.DIRECTION_MASK_EAST?3:a[0];z=a[1]==mxConstants.DIRECTION_MASK_EAST?3:a[1];d-=A;z-=A;1>d&&(d+=4);1>z&&(z+=4);d=mxEdgeStyle.routePatterns[d-1][z-1];mxEdgeStyle.wayPoints1[0][0]=n[0][0];mxEdgeStyle.wayPoints1[0][1]=n[0][1];switch(a[0]){case mxConstants.DIRECTION_MASK_WEST:mxEdgeStyle.wayPoints1[0][0]-=
-f;mxEdgeStyle.wayPoints1[0][1]+=b[0][1]*n[0][3];break;case mxConstants.DIRECTION_MASK_SOUTH:mxEdgeStyle.wayPoints1[0][0]+=b[0][0]*n[0][2];mxEdgeStyle.wayPoints1[0][1]+=n[0][3]+f;break;case mxConstants.DIRECTION_MASK_EAST:mxEdgeStyle.wayPoints1[0][0]+=n[0][2]+f;mxEdgeStyle.wayPoints1[0][1]+=b[0][1]*n[0][3];break;case mxConstants.DIRECTION_MASK_NORTH:mxEdgeStyle.wayPoints1[0][0]+=b[0][0]*n[0][2],mxEdgeStyle.wayPoints1[0][1]-=f}f=0;c=z=0<(a[0]&(mxConstants.DIRECTION_MASK_EAST|mxConstants.DIRECTION_MASK_WEST))?
-0:1;for(v=0;v<d.length;v++)l=d[v]&15,r=l==mxConstants.DIRECTION_MASK_EAST?3:l,r+=A,4<r&&(r-=4),m=mxEdgeStyle.dirVectors[r-1],l=0<r%2?0:1,l!=z&&(f++,mxEdgeStyle.wayPoints1[f][0]=mxEdgeStyle.wayPoints1[f-1][0],mxEdgeStyle.wayPoints1[f][1]=mxEdgeStyle.wayPoints1[f-1][1]),t=0<(d[v]&mxEdgeStyle.TARGET_MASK),u=0<(d[v]&mxEdgeStyle.SOURCE_MASK),p=(d[v]&mxEdgeStyle.SIDE_MASK)>>5,p<<=A,15<p&&(p>>=4),q=0<(d[v]&mxEdgeStyle.CENTER_MASK),(u||t)&&9>p?(r=u?0:1,p=q&&0==l?n[r][0]+b[r][0]*n[r][2]:q?n[r][1]+b[r][1]*
-n[r][3]:mxEdgeStyle.limits[r][p],0==l?(p=(p-mxEdgeStyle.wayPoints1[f][0])*m[0],0<p&&(mxEdgeStyle.wayPoints1[f][0]+=m[0]*p)):(p=(p-mxEdgeStyle.wayPoints1[f][1])*m[1],0<p&&(mxEdgeStyle.wayPoints1[f][1]+=m[1]*p))):q&&(mxEdgeStyle.wayPoints1[f][0]+=m[0]*Math.abs(mxEdgeStyle.vertexSeperations[r]/2),mxEdgeStyle.wayPoints1[f][1]+=m[1]*Math.abs(mxEdgeStyle.vertexSeperations[r]/2)),0<f&&mxEdgeStyle.wayPoints1[f][l]==mxEdgeStyle.wayPoints1[f-1][l]?f--:z=l;for(v=0;v<=f&&(v!=f||((0<(a[1]&(mxConstants.DIRECTION_MASK_EAST|
-mxConstants.DIRECTION_MASK_WEST))?0:1)==c?0:1)==(f+1)%2);v++)e.push(new mxPoint(Math.round(mxEdgeStyle.wayPoints1[v][0]),Math.round(mxEdgeStyle.wayPoints1[v][1])));for(a=1;a<e.length;)null==e[a-1]||null==e[a]||e[a-1].x!=e[a].x||e[a-1].y!=e[a].y?a++:e.splice(a,1)}},getRoutePattern:function(a,b,c,d){var e=a[0]==mxConstants.DIRECTION_MASK_EAST?3:a[0];a=a[1]==mxConstants.DIRECTION_MASK_EAST?3:a[1];e-=b;a-=b;1>e&&(e+=4);1>a&&(a+=4);b=routePatterns[e-1][a-1];0!=c&&0!=d||null==inlineRoutePatterns[e-1][a-
-1]||(b=inlineRoutePatterns[e-1][a-1]);return b}},mxStyleRegistry={values:[],putValue:function(a,b){mxStyleRegistry.values[a]=b},getValue:function(a){return mxStyleRegistry.values[a]},getName:function(a){for(var b in mxStyleRegistry.values)if(mxStyleRegistry.values[b]==a)return b;return null}};mxStyleRegistry.putValue(mxConstants.EDGESTYLE_ELBOW,mxEdgeStyle.ElbowConnector);mxStyleRegistry.putValue(mxConstants.EDGESTYLE_ENTITY_RELATION,mxEdgeStyle.EntityRelation);
-mxStyleRegistry.putValue(mxConstants.EDGESTYLE_LOOP,mxEdgeStyle.Loop);mxStyleRegistry.putValue(mxConstants.EDGESTYLE_SIDETOSIDE,mxEdgeStyle.SideToSide);mxStyleRegistry.putValue(mxConstants.EDGESTYLE_TOPTOBOTTOM,mxEdgeStyle.TopToBottom);mxStyleRegistry.putValue(mxConstants.EDGESTYLE_ORTHOGONAL,mxEdgeStyle.OrthConnector);mxStyleRegistry.putValue(mxConstants.EDGESTYLE_SEGMENT,mxEdgeStyle.SegmentConnector);mxStyleRegistry.putValue(mxConstants.PERIMETER_ELLIPSE,mxPerimeter.EllipsePerimeter);
-mxStyleRegistry.putValue(mxConstants.PERIMETER_RECTANGLE,mxPerimeter.RectanglePerimeter);mxStyleRegistry.putValue(mxConstants.PERIMETER_RHOMBUS,mxPerimeter.RhombusPerimeter);mxStyleRegistry.putValue(mxConstants.PERIMETER_TRIANGLE,mxPerimeter.TrianglePerimeter);mxStyleRegistry.putValue(mxConstants.PERIMETER_HEXAGON,mxPerimeter.HexagonPerimeter);function mxGraphView(a){this.graph=a;this.translate=new mxPoint;this.graphBounds=new mxRectangle;this.states=new mxDictionary}mxGraphView.prototype=new mxEventSource;
-mxGraphView.prototype.constructor=mxGraphView;mxGraphView.prototype.EMPTY_POINT=new mxPoint;mxGraphView.prototype.doneResource="none"!=mxClient.language?"done":"";mxGraphView.prototype.updatingDocumentResource="none"!=mxClient.language?"updatingDocument":"";mxGraphView.prototype.allowEval=!1;mxGraphView.prototype.captureDocumentGesture=!0;mxGraphView.prototype.optimizeVmlReflows=!0;mxGraphView.prototype.rendering=!0;mxGraphView.prototype.graph=null;mxGraphView.prototype.currentRoot=null;
-mxGraphView.prototype.graphBounds=null;mxGraphView.prototype.scale=1;mxGraphView.prototype.translate=null;mxGraphView.prototype.states=null;mxGraphView.prototype.updateStyle=!1;mxGraphView.prototype.lastNode=null;mxGraphView.prototype.lastHtmlNode=null;mxGraphView.prototype.lastForegroundNode=null;mxGraphView.prototype.lastForegroundHtmlNode=null;mxGraphView.prototype.getGraphBounds=function(){return this.graphBounds};mxGraphView.prototype.setGraphBounds=function(a){this.graphBounds=a};
+SegmentConnector:function(a,b,c,d,e){function f(b){b.x=Math.round(b.x*a.view.scale*10)/10;b.y=Math.round(b.y*a.view.scale*10)/10;if(null==k||1<=Math.abs(k.x-b.x)||Math.abs(k.y-b.y)>=Math.max(1,a.view.scale))e.push(b),k=b;return k}var g=mxEdgeStyle.scalePointArray(a.absolutePoints,a.view.scale);b=mxEdgeStyle.scaleCellState(b,a.view.scale);c=mxEdgeStyle.scaleCellState(c,a.view.scale);var k=0<e.length?e[0]:null,l=!0,m=null,n=g[0];null==n&&null!=b?n=new mxPoint(a.view.getRoutingCenterX(b),a.view.getRoutingCenterY(b)):
+null!=n&&(n=n.clone());var p=g.length-1;if(null!=d&&0<d.length){for(var q=[],r=0;r<d.length;r++){var t=a.view.transformControlPoint(a,d[r],!0);null!=t&&q.push(t)}if(0==q.length)return;null!=n&&null!=q[0]&&(1>Math.abs(q[0].x-n.x)&&(q[0].x=n.x),1>Math.abs(q[0].y-n.y)&&(q[0].y=n.y));t=g[p];null!=t&&null!=q[q.length-1]&&(1>Math.abs(q[q.length-1].x-t.x)&&(q[q.length-1].x=t.x),1>Math.abs(q[q.length-1].y-t.y)&&(q[q.length-1].y=t.y));var m=q[0],u=b;d=g[0];var x=!1,y=!1,x=m;null!=d&&(u=null);for(r=0;2>r;r++){var B=
+null!=d&&d.x==x.x,A=null!=d&&d.y==x.y,z=null!=u&&x.y>=u.y&&x.y<=u.y+u.height,u=null!=u&&x.x>=u.x&&x.x<=u.x+u.width,x=A||null==d&&z,y=B||null==d&&u;if(0!=r||!(x&&y||B&&A)){if(null!=d&&!A&&!B&&(z||u)){l=z?!1:!0;break}if(y||x){l=x;1==r&&(l=0==q.length%2?x:y);break}}u=c;d=g[p];null!=d&&(u=null);x=q[q.length-1];B&&A&&(q=q.slice(1))}l&&(null!=g[0]&&g[0].y!=m.y||null==g[0]&&null!=b&&(m.y<b.y||m.y>b.y+b.height))?f(new mxPoint(n.x,m.y)):!l&&(null!=g[0]&&g[0].x!=m.x||null==g[0]&&null!=b&&(m.x<b.x||m.x>b.x+
+b.width))&&f(new mxPoint(m.x,n.y));l?n.y=m.y:n.x=m.x;for(r=0;r<q.length;r++)l=!l,m=q[r],l?n.y=m.y:n.x=m.x,f(n.clone())}else m=n,l=!0;n=g[p];null==n&&null!=c&&(n=new mxPoint(a.view.getRoutingCenterX(c),a.view.getRoutingCenterY(c)));null!=n&&null!=m&&(l&&(null!=g[p]&&g[p].y!=m.y||null==g[p]&&null!=c&&(m.y<c.y||m.y>c.y+c.height))?f(new mxPoint(n.x,m.y)):!l&&(null!=g[p]&&g[p].x!=m.x||null==g[p]&&null!=c&&(m.x<c.x||m.x>c.x+c.width))&&f(new mxPoint(m.x,n.y)));if(null==g[0]&&null!=b)for(;1<e.length&&null!=
+e[1]&&mxUtils.contains(b,e[1].x,e[1].y);)e.splice(1,1);if(null==g[p]&&null!=c)for(;1<e.length&&null!=e[e.length-1]&&mxUtils.contains(c,e[e.length-1].x,e[e.length-1].y);)e.splice(e.length-1,1);null!=t&&null!=e[e.length-1]&&1>=Math.abs(t.x-e[e.length-1].x)&&1>=Math.abs(t.y-e[e.length-1].y)&&(e.splice(e.length-1,1),null!=e[e.length-1]&&(1>Math.abs(e[e.length-1].x-t.x)&&(e[e.length-1].x=t.x),1>Math.abs(e[e.length-1].y-t.y)&&(e[e.length-1].y=t.y)))},orthBuffer:10,orthPointsFallback:!0,dirVectors:[[-1,
+0],[0,-1],[1,0],[0,1],[-1,0],[0,-1],[1,0]],wayPoints1:[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],routePatterns:[[[513,2308,2081,2562],[513,1090,514,2184,2114,2561],[513,1090,514,2564,2184,2562],[513,2308,2561,1090,514,2568,2308]],[[514,1057,513,2308,2081,2562],[514,2184,2114,2561],[514,2184,2562,1057,513,2564,2184],[514,1057,513,2568,2308,2561]],[[1090,514,1057,513,2308,2081,2562],[2114,2561],[1090,2562,1057,513,2564,2184],[1090,514,1057,513,2308,2561,2568]],[[2081,
+2562],[1057,513,1090,514,2184,2114,2561],[1057,513,1090,514,2184,2562,2564],[1057,2561,1090,514,2568,2308]]],inlineRoutePatterns:[[null,[2114,2568],null,null],[null,[514,2081,2114,2568],null,null],[null,[2114,2561],null,null],[[2081,2562],[1057,2114,2568],[2184,2562],null]],vertexSeperations:[],limits:[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]],LEFT_MASK:32,TOP_MASK:64,RIGHT_MASK:128,BOTTOM_MASK:256,LEFT:1,TOP:2,RIGHT:4,BOTTOM:8,SIDE_MASK:480,CENTER_MASK:512,SOURCE_MASK:1024,TARGET_MASK:2048,VERTEX_MASK:3072,
+getJettySize:function(a,b){var c=mxUtils.getValue(a.style,b?mxConstants.STYLE_SOURCE_JETTY_SIZE:mxConstants.STYLE_TARGET_JETTY_SIZE,mxUtils.getValue(a.style,mxConstants.STYLE_JETTY_SIZE,mxEdgeStyle.orthBuffer));"auto"==c&&(mxUtils.getValue(a.style,b?mxConstants.STYLE_STARTARROW:mxConstants.STYLE_ENDARROW,mxConstants.NONE)!=mxConstants.NONE?(c=mxUtils.getNumber(a.style,b?mxConstants.STYLE_STARTSIZE:mxConstants.STYLE_ENDSIZE,mxConstants.DEFAULT_MARKERSIZE),c=Math.max(2,Math.ceil((c+mxEdgeStyle.orthBuffer)/
+mxEdgeStyle.orthBuffer))*mxEdgeStyle.orthBuffer):c=2*mxEdgeStyle.orthBuffer);return c},scalePointArray:function(a,b){var c=[];if(null!=a)for(var d=0;d<a.length;d++)if(null!=a[d]){var e=new mxPoint(Math.round(a[d].x/b*10)/10,Math.round(a[d].y/b*10)/10);c[d]=e}else c[d]=null;else c=null;return c},scaleCellState:function(a,b){var c;null!=a?(c=a.clone(),c.setRect(Math.round(a.x/b*10)/10,Math.round(a.y/b*10)/10,Math.round(a.width/b*10)/10,Math.round(a.height/b*10)/10)):c=null;return c},OrthConnector:function(a,
+b,c,d,e){var f=a.view.graph,g=null==l?!1:f.getModel().isEdge(l.cell),k=null==m?!1:f.getModel().isEdge(m.cell),f=mxEdgeStyle.scalePointArray(a.absolutePoints,a.view.scale),l=mxEdgeStyle.scaleCellState(b,a.view.scale),m=mxEdgeStyle.scaleCellState(c,a.view.scale),n=f[0],p=f[f.length-1],q=null!=l?l.x:n.x,r=null!=l?l.y:n.y,t=null!=l?l.width:0,u=null!=l?l.height:0,x=null!=m?m.x:p.x,y=null!=m?m.y:p.y,B=null!=m?m.width:0,A=null!=m?m.height:0,f=mxEdgeStyle.getJettySize(a,!0),z=mxEdgeStyle.getJettySize(a,!1);
+null!=l&&m==l&&(f=z=Math.max(f,z));var C=z+f,v=!1;if(null!=n&&null!=p)var v=p.x-n.x,D=p.y-n.y,v=v*v+D*D<C*C;if(v||mxEdgeStyle.orthPointsFallback&&null!=d&&0<d.length||g||k)mxEdgeStyle.SegmentConnector(a,b,c,d,e);else{c=[mxConstants.DIRECTION_MASK_ALL,mxConstants.DIRECTION_MASK_ALL];null!=l&&(c[0]=mxUtils.getPortConstraints(l,a,!0,mxConstants.DIRECTION_MASK_ALL),b=mxUtils.getValue(l.style,mxConstants.STYLE_ROTATION,0),0!=b&&(b=mxUtils.getBoundingBox(new mxRectangle(q,r,t,u),b),q=b.x,r=b.y,t=b.width,
+u=b.height));null!=m&&(c[1]=mxUtils.getPortConstraints(m,a,!1,mxConstants.DIRECTION_MASK_ALL),b=mxUtils.getValue(m.style,mxConstants.STYLE_ROTATION,0),0!=b&&(b=mxUtils.getBoundingBox(new mxRectangle(x,y,B,A),b),x=b.x,y=b.y,B=b.width,A=b.height));b=[0,0];q=[[q,r,t,u],[x,y,B,A]];z=[f,z];for(v=0;2>v;v++)mxEdgeStyle.limits[v][1]=q[v][0]-z[v],mxEdgeStyle.limits[v][2]=q[v][1]-z[v],mxEdgeStyle.limits[v][4]=q[v][0]+q[v][2]+z[v],mxEdgeStyle.limits[v][8]=q[v][1]+q[v][3]+z[v];z=q[0][1]+q[0][3]/2;r=q[1][1]+q[1][3]/
+2;v=q[0][0]+q[0][2]/2-(q[1][0]+q[1][2]/2);D=z-r;z=0;0>v?z=0>D?2:1:0>=D&&(z=3,0==v&&(z=2));r=null;null!=l&&(r=n);l=[[.5,.5],[.5,.5]];for(v=0;2>v;v++)null!=r&&(l[v][0]=(r.x-q[v][0])/q[v][2],1>=Math.abs(r.x-q[v][0])?b[v]=mxConstants.DIRECTION_MASK_WEST:1>=Math.abs(r.x-q[v][0]-q[v][2])&&(b[v]=mxConstants.DIRECTION_MASK_EAST),l[v][1]=(r.y-q[v][1])/q[v][3],1>=Math.abs(r.y-q[v][1])?b[v]=mxConstants.DIRECTION_MASK_NORTH:1>=Math.abs(r.y-q[v][1]-q[v][3])&&(b[v]=mxConstants.DIRECTION_MASK_SOUTH)),r=null,null!=
+m&&(r=p);v=q[0][1]-(q[1][1]+q[1][3]);p=q[0][0]-(q[1][0]+q[1][2]);r=q[1][1]-(q[0][1]+q[0][3]);t=q[1][0]-(q[0][0]+q[0][2]);mxEdgeStyle.vertexSeperations[1]=Math.max(p-C,0);mxEdgeStyle.vertexSeperations[2]=Math.max(v-C,0);mxEdgeStyle.vertexSeperations[4]=Math.max(r-C,0);mxEdgeStyle.vertexSeperations[3]=Math.max(t-C,0);C=[];m=[];n=[];m[0]=p>=t?mxConstants.DIRECTION_MASK_WEST:mxConstants.DIRECTION_MASK_EAST;n[0]=v>=r?mxConstants.DIRECTION_MASK_NORTH:mxConstants.DIRECTION_MASK_SOUTH;m[1]=mxUtils.reversePortConstraints(m[0]);
+n[1]=mxUtils.reversePortConstraints(n[0]);p=p>=t?p:t;r=v>=r?v:r;t=[[0,0],[0,0]];u=!1;for(v=0;2>v;v++)0==b[v]&&(0==(m[v]&c[v])&&(m[v]=mxUtils.reversePortConstraints(m[v])),0==(n[v]&c[v])&&(n[v]=mxUtils.reversePortConstraints(n[v])),t[v][0]=n[v],t[v][1]=m[v]);0<r&&0<p&&(0<(m[0]&c[0])&&0<(n[1]&c[1])?(t[0][0]=m[0],t[0][1]=n[0],t[1][0]=n[1],t[1][1]=m[1],u=!0):0<(n[0]&c[0])&&0<(m[1]&c[1])&&(t[0][0]=n[0],t[0][1]=m[0],t[1][0]=m[1],t[1][1]=n[1],u=!0));0<r&&!u&&(t[0][0]=n[0],t[0][1]=m[0],t[1][0]=n[1],t[1][1]=
+m[1],u=!0);0<p&&!u&&(t[0][0]=m[0],t[0][1]=n[0],t[1][0]=m[1],t[1][1]=n[1]);for(v=0;2>v;v++)0==b[v]&&(0==(t[v][0]&c[v])&&(t[v][0]=t[v][1]),C[v]=t[v][0]&c[v],C[v]|=(t[v][1]&c[v])<<8,C[v]|=(t[1-v][v]&c[v])<<16,C[v]|=(t[1-v][1-v]&c[v])<<24,0==(C[v]&15)&&(C[v]<<=8),0==(C[v]&3840)&&(C[v]=C[v]&15|C[v]>>8),0==(C[v]&983040)&&(C[v]=C[v]&65535|(C[v]&251658240)>>8),b[v]=C[v]&15,c[v]==mxConstants.DIRECTION_MASK_WEST||c[v]==mxConstants.DIRECTION_MASK_NORTH||c[v]==mxConstants.DIRECTION_MASK_EAST||c[v]==mxConstants.DIRECTION_MASK_SOUTH)&&
+(b[v]=c[v]);c=b[0]==mxConstants.DIRECTION_MASK_EAST?3:b[0];C=b[1]==mxConstants.DIRECTION_MASK_EAST?3:b[1];c-=z;C-=z;1>c&&(c+=4);1>C&&(C+=4);c=mxEdgeStyle.routePatterns[c-1][C-1];mxEdgeStyle.wayPoints1[0][0]=q[0][0];mxEdgeStyle.wayPoints1[0][1]=q[0][1];switch(b[0]){case mxConstants.DIRECTION_MASK_WEST:mxEdgeStyle.wayPoints1[0][0]-=f;mxEdgeStyle.wayPoints1[0][1]+=l[0][1]*q[0][3];break;case mxConstants.DIRECTION_MASK_SOUTH:mxEdgeStyle.wayPoints1[0][0]+=l[0][0]*q[0][2];mxEdgeStyle.wayPoints1[0][1]+=q[0][3]+
+f;break;case mxConstants.DIRECTION_MASK_EAST:mxEdgeStyle.wayPoints1[0][0]+=q[0][2]+f;mxEdgeStyle.wayPoints1[0][1]+=l[0][1]*q[0][3];break;case mxConstants.DIRECTION_MASK_NORTH:mxEdgeStyle.wayPoints1[0][0]+=l[0][0]*q[0][2],mxEdgeStyle.wayPoints1[0][1]-=f}f=0;m=C=0<(b[0]&(mxConstants.DIRECTION_MASK_EAST|mxConstants.DIRECTION_MASK_WEST))?0:1;for(v=0;v<c.length;v++)n=c[v]&15,u=n==mxConstants.DIRECTION_MASK_EAST?3:n,u+=z,4<u&&(u-=4),p=mxEdgeStyle.dirVectors[u-1],n=0<u%2?0:1,n!=C&&(f++,mxEdgeStyle.wayPoints1[f][0]=
+mxEdgeStyle.wayPoints1[f-1][0],mxEdgeStyle.wayPoints1[f][1]=mxEdgeStyle.wayPoints1[f-1][1]),x=0<(c[v]&mxEdgeStyle.TARGET_MASK),y=0<(c[v]&mxEdgeStyle.SOURCE_MASK),r=(c[v]&mxEdgeStyle.SIDE_MASK)>>5,r<<=z,15<r&&(r>>=4),t=0<(c[v]&mxEdgeStyle.CENTER_MASK),(y||x)&&9>r?(u=y?0:1,r=t&&0==n?q[u][0]+l[u][0]*q[u][2]:t?q[u][1]+l[u][1]*q[u][3]:mxEdgeStyle.limits[u][r],0==n?(r=(r-mxEdgeStyle.wayPoints1[f][0])*p[0],0<r&&(mxEdgeStyle.wayPoints1[f][0]+=p[0]*r)):(r=(r-mxEdgeStyle.wayPoints1[f][1])*p[1],0<r&&(mxEdgeStyle.wayPoints1[f][1]+=
+p[1]*r))):t&&(mxEdgeStyle.wayPoints1[f][0]+=p[0]*Math.abs(mxEdgeStyle.vertexSeperations[u]/2),mxEdgeStyle.wayPoints1[f][1]+=p[1]*Math.abs(mxEdgeStyle.vertexSeperations[u]/2)),0<f&&mxEdgeStyle.wayPoints1[f][n]==mxEdgeStyle.wayPoints1[f-1][n]?f--:C=n;for(v=0;v<=f&&(v!=f||((0<(b[1]&(mxConstants.DIRECTION_MASK_EAST|mxConstants.DIRECTION_MASK_WEST))?0:1)==m?0:1)==(f+1)%2);v++)e.push(new mxPoint(Math.round(mxEdgeStyle.wayPoints1[v][0]*a.view.scale*10)/10,Math.round(mxEdgeStyle.wayPoints1[v][1]*a.view.scale*
+10)/10));for(a=1;a<e.length;)null==e[a-1]||null==e[a]||e[a-1].x!=e[a].x||e[a-1].y!=e[a].y?a++:e.splice(a,1)}},getRoutePattern:function(a,b,c,d){var e=a[0]==mxConstants.DIRECTION_MASK_EAST?3:a[0];a=a[1]==mxConstants.DIRECTION_MASK_EAST?3:a[1];e-=b;a-=b;1>e&&(e+=4);1>a&&(a+=4);b=routePatterns[e-1][a-1];0!=c&&0!=d||null==inlineRoutePatterns[e-1][a-1]||(b=inlineRoutePatterns[e-1][a-1]);return b}},mxStyleRegistry={values:[],putValue:function(a,b){mxStyleRegistry.values[a]=b},getValue:function(a){return mxStyleRegistry.values[a]},
+getName:function(a){for(var b in mxStyleRegistry.values)if(mxStyleRegistry.values[b]==a)return b;return null}};mxStyleRegistry.putValue(mxConstants.EDGESTYLE_ELBOW,mxEdgeStyle.ElbowConnector);mxStyleRegistry.putValue(mxConstants.EDGESTYLE_ENTITY_RELATION,mxEdgeStyle.EntityRelation);mxStyleRegistry.putValue(mxConstants.EDGESTYLE_LOOP,mxEdgeStyle.Loop);mxStyleRegistry.putValue(mxConstants.EDGESTYLE_SIDETOSIDE,mxEdgeStyle.SideToSide);mxStyleRegistry.putValue(mxConstants.EDGESTYLE_TOPTOBOTTOM,mxEdgeStyle.TopToBottom);
+mxStyleRegistry.putValue(mxConstants.EDGESTYLE_ORTHOGONAL,mxEdgeStyle.OrthConnector);mxStyleRegistry.putValue(mxConstants.EDGESTYLE_SEGMENT,mxEdgeStyle.SegmentConnector);mxStyleRegistry.putValue(mxConstants.PERIMETER_ELLIPSE,mxPerimeter.EllipsePerimeter);mxStyleRegistry.putValue(mxConstants.PERIMETER_RECTANGLE,mxPerimeter.RectanglePerimeter);mxStyleRegistry.putValue(mxConstants.PERIMETER_RHOMBUS,mxPerimeter.RhombusPerimeter);mxStyleRegistry.putValue(mxConstants.PERIMETER_TRIANGLE,mxPerimeter.TrianglePerimeter);
+mxStyleRegistry.putValue(mxConstants.PERIMETER_HEXAGON,mxPerimeter.HexagonPerimeter);function mxGraphView(a){this.graph=a;this.translate=new mxPoint;this.graphBounds=new mxRectangle;this.states=new mxDictionary}mxGraphView.prototype=new mxEventSource;mxGraphView.prototype.constructor=mxGraphView;mxGraphView.prototype.EMPTY_POINT=new mxPoint;mxGraphView.prototype.doneResource="none"!=mxClient.language?"done":"";
+mxGraphView.prototype.updatingDocumentResource="none"!=mxClient.language?"updatingDocument":"";mxGraphView.prototype.allowEval=!1;mxGraphView.prototype.captureDocumentGesture=!0;mxGraphView.prototype.optimizeVmlReflows=!0;mxGraphView.prototype.rendering=!0;mxGraphView.prototype.graph=null;mxGraphView.prototype.currentRoot=null;mxGraphView.prototype.graphBounds=null;mxGraphView.prototype.scale=1;mxGraphView.prototype.translate=null;mxGraphView.prototype.states=null;
+mxGraphView.prototype.updateStyle=!1;mxGraphView.prototype.lastNode=null;mxGraphView.prototype.lastHtmlNode=null;mxGraphView.prototype.lastForegroundNode=null;mxGraphView.prototype.lastForegroundHtmlNode=null;mxGraphView.prototype.getGraphBounds=function(){return this.graphBounds};mxGraphView.prototype.setGraphBounds=function(a){this.graphBounds=a};
 mxGraphView.prototype.getBounds=function(a){var b=null;if(null!=a&&0<a.length)for(var c=this.graph.getModel(),d=0;d<a.length;d++)if(c.isVertex(a[d])||c.isEdge(a[d])){var e=this.getState(a[d]);null!=e&&(null==b?b=mxRectangle.fromRectangle(e):b.add(e))}return b};mxGraphView.prototype.setCurrentRoot=function(a){if(this.currentRoot!=a){var b=new mxCurrentRootChange(this,a);b.execute();var c=new mxUndoableEdit(this,!0);c.add(b);this.fireEvent(new mxEventObject(mxEvent.UNDO,"edit",c));this.graph.sizeDidChange()}return a};
 mxGraphView.prototype.scaleAndTranslate=function(a,b,c){var d=this.scale,e=new mxPoint(this.translate.x,this.translate.y);if(this.scale!=a||this.translate.x!=b||this.translate.y!=c)this.scale=a,this.translate.x=b,this.translate.y=c,this.isEventsEnabled()&&this.viewStateChanged();this.fireEvent(new mxEventObject(mxEvent.SCALE_AND_TRANSLATE,"scale",a,"previousScale",d,"translate",this.translate,"previousTranslate",e))};mxGraphView.prototype.getScale=function(){return this.scale};
 mxGraphView.prototype.setScale=function(a){var b=this.scale;this.scale!=a&&(this.scale=a,this.isEventsEnabled()&&this.viewStateChanged());this.fireEvent(new mxEventObject(mxEvent.SCALE,"scale",a,"previousScale",b))};mxGraphView.prototype.getTranslate=function(){return this.translate};
@@ -1180,7 +1181,7 @@ mxGraphView.prototype.updateFixedTerminalPoints=function(a,b,c){this.updateFixed
 mxGraphView.prototype.getFixedTerminalPoint=function(a,b,c,d){var e=null;null!=d&&(e=this.graph.getConnectionPoint(b,d,!1));if(null==e&&null==b){b=this.scale;d=this.translate;var f=a.origin,e=this.graph.getCellGeometry(a.cell).getTerminalPoint(c);null!=e&&(e=new mxPoint(b*(d.x+e.x+f.x),b*(d.y+e.y+f.y)))}return e};
 mxGraphView.prototype.updateBoundsFromStencil=function(a){var b=null;if(null!=a&&null!=a.shape&&null!=a.shape.stencil&&"fixed"==a.shape.stencil.aspect){var b=mxRectangle.fromRectangle(a),c=a.shape.stencil.computeAspect(a.style,a.x,a.y,a.width,a.height);a.setRect(c.x,c.y,a.shape.stencil.w0*c.width,a.shape.stencil.h0*c.height)}return b};
 mxGraphView.prototype.updatePoints=function(a,b,c,d){if(null!=a){var e=[];e.push(a.absolutePoints[0]);var f=this.getEdgeStyle(a,b,c,d);if(null!=f){c=this.getTerminalPort(a,c,!0);d=this.getTerminalPort(a,d,!1);var g=this.updateBoundsFromStencil(c),k=this.updateBoundsFromStencil(d);f(a,c,d,b,e);null!=g&&c.setRect(g.x,g.y,g.width,g.height);null!=k&&d.setRect(k.x,k.y,k.width,k.height)}else if(null!=b)for(f=0;f<b.length;f++)null!=b[f]&&(c=mxUtils.clone(b[f]),e.push(this.transformControlPoint(a,c)));b=
-a.absolutePoints;e.push(b[b.length-1]);a.absolutePoints=e}};mxGraphView.prototype.transformControlPoint=function(a,b){if(null!=a&&null!=b){var c=a.origin;return new mxPoint(this.scale*(b.x+this.translate.x+c.x),this.scale*(b.y+this.translate.y+c.y))}return null};
+a.absolutePoints;e.push(b[b.length-1]);a.absolutePoints=e}};mxGraphView.prototype.transformControlPoint=function(a,b,c){return null!=a&&null!=b?(a=a.origin,c=c?1:this.scale,new mxPoint(c*(b.x+this.translate.x+a.x),c*(b.y+this.translate.y+a.y))):null};
 mxGraphView.prototype.isLoopStyleEnabled=function(a,b,c,d){var e=this.graph.getConnectionConstraint(a,c,!0),f=this.graph.getConnectionConstraint(a,d,!1);return!(null==b||2>b.length)||mxUtils.getValue(a.style,mxConstants.STYLE_ORTHOGONAL_LOOP,!1)&&(null!=e&&null!=e.point||null!=f&&null!=f.point)?!1:null!=c&&c==d};
 mxGraphView.prototype.getEdgeStyle=function(a,b,c,d){a=this.isLoopStyleEnabled(a,b,c,d)?mxUtils.getValue(a.style,mxConstants.STYLE_LOOP,this.graph.defaultLoopStyle):mxUtils.getValue(a.style,mxConstants.STYLE_NOEDGESTYLE,!1)?null:a.style[mxConstants.STYLE_EDGE];"string"==typeof a&&(b=mxStyleRegistry.getValue(a),null==b&&this.isAllowEval()&&(b=mxUtils.eval(a)),a=b);return"function"==typeof a?a:null};
 mxGraphView.prototype.updateFloatingTerminalPoints=function(a,b,c){var d=a.absolutePoints,e=d[0];null==d[d.length-1]&&null!=c&&this.updateFloatingTerminalPoint(a,c,b,!1);null==e&&null!=b&&this.updateFloatingTerminalPoint(a,b,c,!0)};mxGraphView.prototype.updateFloatingTerminalPoint=function(a,b,c,d){a.setAbsoluteTerminalPoint(this.getFloatingTerminalPoint(a,b,c,d),d)};
@@ -1516,12 +1517,12 @@ mxCellStatePreview.prototype.revalidateState=function(a,b,c,d){if(null!=a){var e
 g)),b,c,d)}};mxCellStatePreview.prototype.addEdges=function(a){for(var b=this.graph.getModel(),c=b.getEdgeCount(a.cell),d=0;d<c;d++){var e=a.view.getState(b.getEdgeAt(a.cell,d));null!=e&&this.moveState(e,0,0)}};function mxConnectionConstraint(a,b,c,d,e){this.point=a;this.perimeter=null!=b?b:!0;this.name=c;this.dx=d?d:0;this.dy=e?e:0}mxConnectionConstraint.prototype.point=null;mxConnectionConstraint.prototype.perimeter=null;mxConnectionConstraint.prototype.name=null;
 mxConnectionConstraint.prototype.dx=null;mxConnectionConstraint.prototype.dy=null;
 function mxGraphHandler(a){this.graph=a;this.graph.addMouseListener(this);this.panHandler=mxUtils.bind(this,function(){this.suspended||(this.updatePreview(),this.updateHint())});this.graph.addListener(mxEvent.PAN,this.panHandler);this.escapeHandler=mxUtils.bind(this,function(a,c){this.reset()});this.graph.addListener(mxEvent.ESCAPE,this.escapeHandler);this.refreshHandler=mxUtils.bind(this,function(a,c){window.setTimeout(mxUtils.bind(this,function(){if(null!=this.first&&!this.suspended){var a=this.currentDx,
-b=this.currentDy;this.currentDy=this.currentDx=0;this.updatePreview();this.bounds=this.graph.getView().getBounds(this.cells);this.pBounds=this.getPreviewBounds(this.cells);null==this.pBounds?this.reset():(this.currentDx=a,this.currentDy=b,this.updatePreview(),this.updateHint(),this.livePreviewUsed&&this.setHandlesVisibleForCells(this.graph.getSelectionCells(),!1))}}),0)});this.graph.getModel().addListener(mxEvent.CHANGE,this.refreshHandler)}mxGraphHandler.prototype.graph=null;
-mxGraphHandler.prototype.maxCells=mxClient.IS_IE?20:50;mxGraphHandler.prototype.enabled=!0;mxGraphHandler.prototype.highlightEnabled=!0;mxGraphHandler.prototype.cloneEnabled=!0;mxGraphHandler.prototype.moveEnabled=!0;mxGraphHandler.prototype.guidesEnabled=!1;mxGraphHandler.prototype.guide=null;mxGraphHandler.prototype.currentDx=null;mxGraphHandler.prototype.currentDy=null;mxGraphHandler.prototype.updateCursor=!0;mxGraphHandler.prototype.selectEnabled=!0;
-mxGraphHandler.prototype.removeCellsFromParent=!0;mxGraphHandler.prototype.removeEmptyParents=!1;mxGraphHandler.prototype.connectOnDrop=!1;mxGraphHandler.prototype.scrollOnMove=!0;mxGraphHandler.prototype.minimumSize=6;mxGraphHandler.prototype.previewColor="black";mxGraphHandler.prototype.htmlPreview=!1;mxGraphHandler.prototype.shape=null;mxGraphHandler.prototype.scaleGrid=!1;mxGraphHandler.prototype.rotationEnabled=!0;mxGraphHandler.prototype.maxLivePreview=0;
-mxGraphHandler.prototype.allowLivePreview=mxClient.IS_SVG;mxGraphHandler.prototype.isEnabled=function(){return this.enabled};mxGraphHandler.prototype.setEnabled=function(a){this.enabled=a};mxGraphHandler.prototype.isCloneEnabled=function(){return this.cloneEnabled};mxGraphHandler.prototype.setCloneEnabled=function(a){this.cloneEnabled=a};mxGraphHandler.prototype.isMoveEnabled=function(){return this.moveEnabled};mxGraphHandler.prototype.setMoveEnabled=function(a){this.moveEnabled=a};
-mxGraphHandler.prototype.isSelectEnabled=function(){return this.selectEnabled};mxGraphHandler.prototype.setSelectEnabled=function(a){this.selectEnabled=a};mxGraphHandler.prototype.isRemoveCellsFromParent=function(){return this.removeCellsFromParent};mxGraphHandler.prototype.setRemoveCellsFromParent=function(a){this.removeCellsFromParent=a};mxGraphHandler.prototype.getInitialCellForEvent=function(a){return a.getCell()};mxGraphHandler.prototype.isDelayedSelection=function(a,b){return this.graph.isCellSelected(a)};
-mxGraphHandler.prototype.consumeMouseEvent=function(a,b){b.consume()};
+b=this.currentDy;this.currentDy=this.currentDx=0;this.updatePreview();this.bounds=this.graph.getView().getBounds(this.cells);this.pBounds=this.getPreviewBounds(this.cells);null==this.pBounds?this.reset():(this.currentDx=a,this.currentDy=b,this.updatePreview(),this.updateHint(),this.livePreviewUsed&&this.setHandlesVisibleForCells(this.graph.getSelectionCells(),!1))}}),0)});this.graph.getModel().addListener(mxEvent.CHANGE,this.refreshHandler);this.keyHandler=mxUtils.bind(this,function(a){null!=this.graph.container&&
+"hidden"!=this.graph.container.style.visibility&&(a=this.graph.isCloneEvent(a)&&this.graph.isCellsCloneable()&&this.isCloneEnabled(),a!=this.cloning&&(this.cloning=a,this.checkPreview(),this.updatePreview()))});mxEvent.addListener(document,"keydown",this.keyHandler);mxEvent.addListener(document,"keyup",this.keyHandler)}mxGraphHandler.prototype.graph=null;mxGraphHandler.prototype.maxCells=mxClient.IS_IE?20:50;mxGraphHandler.prototype.enabled=!0;mxGraphHandler.prototype.highlightEnabled=!0;
+mxGraphHandler.prototype.cloneEnabled=!0;mxGraphHandler.prototype.moveEnabled=!0;mxGraphHandler.prototype.guidesEnabled=!1;mxGraphHandler.prototype.handlesVisible=!0;mxGraphHandler.prototype.guide=null;mxGraphHandler.prototype.currentDx=null;mxGraphHandler.prototype.currentDy=null;mxGraphHandler.prototype.updateCursor=!0;mxGraphHandler.prototype.selectEnabled=!0;mxGraphHandler.prototype.removeCellsFromParent=!0;mxGraphHandler.prototype.removeEmptyParents=!1;
+mxGraphHandler.prototype.connectOnDrop=!1;mxGraphHandler.prototype.scrollOnMove=!0;mxGraphHandler.prototype.minimumSize=6;mxGraphHandler.prototype.previewColor="black";mxGraphHandler.prototype.htmlPreview=!1;mxGraphHandler.prototype.shape=null;mxGraphHandler.prototype.scaleGrid=!1;mxGraphHandler.prototype.rotationEnabled=!0;mxGraphHandler.prototype.maxLivePreview=0;mxGraphHandler.prototype.allowLivePreview=mxClient.IS_SVG;mxGraphHandler.prototype.isEnabled=function(){return this.enabled};
+mxGraphHandler.prototype.setEnabled=function(a){this.enabled=a};mxGraphHandler.prototype.isCloneEnabled=function(){return this.cloneEnabled};mxGraphHandler.prototype.setCloneEnabled=function(a){this.cloneEnabled=a};mxGraphHandler.prototype.isMoveEnabled=function(){return this.moveEnabled};mxGraphHandler.prototype.setMoveEnabled=function(a){this.moveEnabled=a};mxGraphHandler.prototype.isSelectEnabled=function(){return this.selectEnabled};
+mxGraphHandler.prototype.setSelectEnabled=function(a){this.selectEnabled=a};mxGraphHandler.prototype.isRemoveCellsFromParent=function(){return this.removeCellsFromParent};mxGraphHandler.prototype.setRemoveCellsFromParent=function(a){this.removeCellsFromParent=a};mxGraphHandler.prototype.getInitialCellForEvent=function(a){return a.getCell()};mxGraphHandler.prototype.isDelayedSelection=function(a,b){return this.graph.isCellSelected(a)};mxGraphHandler.prototype.consumeMouseEvent=function(a,b){b.consume()};
 mxGraphHandler.prototype.mouseDown=function(a,b){if(!b.isConsumed()&&this.isEnabled()&&this.graph.isEnabled()&&null!=b.getState()&&!mxEvent.isMultiTouchEvent(b.getEvent())){var c=this.getInitialCellForEvent(b);this.delayedSelection=this.isDelayedSelection(c,b);this.cell=null;this.isSelectEnabled()&&!this.delayedSelection&&this.graph.selectCellForEvent(c,b.getEvent());if(this.isMoveEnabled()){var d=this.graph.model,e=d.getGeometry(c);this.graph.isCellMovable(c)&&(!d.isEdge(c)||1<this.graph.getSelectionCount()||
 null!=e.points&&0<e.points.length||null==d.getTerminal(c,!0)||null==d.getTerminal(c,!1)||this.graph.allowDanglingEdges||this.graph.isCloneEvent(b.getEvent())&&this.graph.isCellsCloneable())?this.start(c,b.getX(),b.getY()):this.delayedSelection&&(this.cell=c);this.cellWasClicked=!0;this.consumeMouseEvent(mxEvent.MOUSE_DOWN,b)}}};
 mxGraphHandler.prototype.getGuideStates=function(){var a=this.graph.getDefaultParent(),b=this.graph.getModel(),c=mxUtils.bind(this,function(a){return null!=this.graph.view.getState(a)&&b.isVertex(a)&&null!=b.getGeometry(a)&&!b.getGeometry(a).relative});return this.graph.view.getCellStates(b.filterDescendants(c,a))};mxGraphHandler.prototype.getCells=function(a){return!this.delayedSelection&&this.graph.isCellMovable(a)?[a]:this.graph.getMovableCells(this.graph.getSelectionCells())};
@@ -1532,20 +1533,21 @@ mxGraphHandler.prototype.start=function(a,b,c,d){this.cell=a;this.first=mxUtils.
 var e=this.graph.model.getParent(a),f=2>this.graph.model.getChildCount(e),g=new mxDictionary;a=this.graph.getOpposites(this.graph.getEdges(this.cell),this.cell);for(b=0;b<a.length;b++)c=this.graph.view.getState(a[b]),null==c||g.get(c)||g.put(c,!0);this.guide.isStateIgnored=mxUtils.bind(this,function(a){var b=this.graph.model.getParent(a.cell);return null!=a.cell&&(!this.cloning&&this.isCellMoving(a.cell)||a.cell!=(this.target||e)&&!f&&!g.get(a)&&(null==this.target||2<=this.graph.model.getChildCount(this.target))&&
 b!=(this.target||e))})}};mxGraphHandler.prototype.addStates=function(a,b){var c=this.graph.view.getState(a),d=0;if(null!=c&&null==b.get(a)){b.put(a,c);d++;for(var c=this.graph.model.getChildCount(a),e=0;e<c;e++)d+=this.addStates(this.graph.model.getChildAt(a,e),b)}return d};mxGraphHandler.prototype.isCellMoving=function(a){return null!=this.allCells.get(a)};mxGraphHandler.prototype.useGuidesForEvent=function(a){return null!=this.guide?this.guide.isEnabledForEvent(a.getEvent()):!0};
 mxGraphHandler.prototype.snap=function(a){var b=this.scaleGrid?this.graph.view.scale:1;a.x=this.graph.snap(a.x/b)*b;a.y=this.graph.snap(a.y/b)*b;return a};mxGraphHandler.prototype.getDelta=function(a){a=mxUtils.convertPoint(this.graph.container,a.getX(),a.getY());return new mxPoint(a.x-this.first.x-this.graph.panDx,a.y-this.first.y-this.graph.panDy)};mxGraphHandler.prototype.updateHint=function(a){};mxGraphHandler.prototype.removeHint=function(){};
-mxGraphHandler.prototype.roundLength=function(a){return Math.round(100*a)/100};
+mxGraphHandler.prototype.roundLength=function(a){return Math.round(100*a)/100};mxGraphHandler.prototype.isValidDropTarget=function(a){return this.graph.model.getParent(this.cell)!=a};
+mxGraphHandler.prototype.checkPreview=function(){this.livePreviewActive&&this.cloning?(this.resetLivePreview(),this.livePreviewActive=!1):this.maxLivePreview>=this.cellCount&&!this.livePreviewActive&&this.allowLivePreview?this.cloning&&this.livePreviewActive||(this.livePreviewUsed=this.livePreviewActive=!0):this.livePreviewUsed||null!=this.shape||(this.shape=this.createPreviewShape(this.bounds))};
 mxGraphHandler.prototype.mouseMove=function(a,b){var c=this.graph;if(b.isConsumed()||!c.isMouseDown||null==this.cell||null==this.first||null==this.bounds||this.suspended)!this.isMoveEnabled()&&!this.isCloneEnabled()||!this.updateCursor||b.isConsumed()||null==b.getState()&&null==b.sourceState||c.isMouseDown||(d=c.getCursorForMouseEvent(b),null==d&&c.isEnabled()&&c.isCellMovable(b.getCell())&&(d=c.getModel().isEdge(b.getCell())?mxConstants.CURSOR_MOVABLE_EDGE:mxConstants.CURSOR_MOVABLE_VERTEX),null!=
 d&&null!=b.sourceState&&b.sourceState.setCursor(d));else if(mxEvent.isMultiTouchEvent(b.getEvent()))this.reset();else{var d=this.getDelta(b),e=c.tolerance;if(null!=this.shape||this.livePreviewActive||Math.abs(d.x)>e||Math.abs(d.y)>e){null==this.highlight&&(this.highlight=new mxCellHighlight(this.graph,mxConstants.DROP_TARGET_COLOR,3));var e=c.isCloneEvent(b.getEvent())&&c.isCellsCloneable()&&this.isCloneEnabled(),f=c.isGridEnabledEvent(b.getEvent()),g=b.getCell(),k=!0,l=null;this.cloning=e;c.isDropEnabled()&&
-this.highlightEnabled&&(l=c.getDropTarget(this.cells,b.getEvent(),g,e));var m=c.getView().getState(l),n=!1;null==m||c.model.getParent(this.cell)==l&&!e?(this.target=null,this.connectOnDrop&&null!=g&&1==this.cells.length&&c.getModel().isVertex(g)&&c.isCellConnectable(g)&&(m=c.getView().getState(g),null!=m&&(g=null==c.getEdgeValidationError(null,this.cell,g)?mxConstants.VALID_COLOR:mxConstants.INVALID_CONNECT_TARGET_COLOR,this.setHighlightColor(g),n=!0))):(this.target!=l&&(this.target=l,this.setHighlightColor(mxConstants.DROP_TARGET_COLOR)),
-n=!0);null!=m&&n?this.highlight.highlight(m):this.highlight.hide();this.livePreviewActive&&e?(this.resetLivePreview(),this.livePreviewActive=!1):this.maxLivePreview>=this.cellCount&&!this.livePreviewActive&&this.allowLivePreview?e&&this.livePreviewActive||(this.setHandlesVisibleForCells(this.graph.getSelectionCells(),!1),this.livePreviewUsed=this.livePreviewActive=!0):this.livePreviewUsed||null!=this.shape||(this.shape=this.createPreviewShape(this.bounds));null!=this.guide&&this.useGuidesForEvent(b)?
-(d=this.guide.move(this.bounds,d,f,e),k=!1):d=this.graph.snapDelta(d,this.bounds,!f,!1,!1);null!=this.guide&&k&&this.guide.hide();c.isConstrainedEvent(b.getEvent())&&(Math.abs(d.x)>Math.abs(d.y)?d.y=0:d.x=0);if(this.currentDx!=d.x||this.currentDy!=d.y)this.currentDx=d.x,this.currentDy=d.y,this.updatePreview()}this.updateHint(b);this.consumeMouseEvent(mxEvent.MOUSE_MOVE,b);mxEvent.consume(b.getEvent())}};
-mxGraphHandler.prototype.updatePreview=function(a){this.livePreviewUsed&&!a?null!=this.cells&&this.updateLivePreview(this.currentDx,this.currentDy):this.updatePreviewShape()};mxGraphHandler.prototype.updatePreviewShape=function(){null!=this.shape&&(this.shape.bounds=new mxRectangle(Math.round(this.pBounds.x+this.currentDx),Math.round(this.pBounds.y+this.currentDy),this.pBounds.width,this.pBounds.height),this.shape.redraw())};
+this.highlightEnabled&&(l=c.getDropTarget(this.cells,b.getEvent(),g,e));var m=c.getView().getState(l),n=!1;null!=m&&(e||this.isValidDropTarget(l))?(this.target!=l&&(this.target=l,this.setHighlightColor(mxConstants.DROP_TARGET_COLOR)),n=!0):(this.target=null,this.connectOnDrop&&null!=g&&1==this.cells.length&&c.getModel().isVertex(g)&&c.isCellConnectable(g)&&(m=c.getView().getState(g),null!=m&&(g=null==c.getEdgeValidationError(null,this.cell,g)?mxConstants.VALID_COLOR:mxConstants.INVALID_CONNECT_TARGET_COLOR,
+this.setHighlightColor(g),n=!0)));null!=m&&n?this.highlight.highlight(m):this.highlight.hide();null!=this.guide&&this.useGuidesForEvent(b)?(d=this.guide.move(this.bounds,d,f,e),k=!1):d=this.graph.snapDelta(d,this.bounds,!f,!1,!1);null!=this.guide&&k&&this.guide.hide();c.isConstrainedEvent(b.getEvent())&&(Math.abs(d.x)>Math.abs(d.y)?d.y=0:d.x=0);this.checkPreview();if(this.currentDx!=d.x||this.currentDy!=d.y)this.currentDx=d.x,this.currentDy=d.y,this.updatePreview()}this.updateHint(b);this.consumeMouseEvent(mxEvent.MOUSE_MOVE,
+b);mxEvent.consume(b.getEvent())}};mxGraphHandler.prototype.updatePreview=function(a){this.livePreviewUsed&&!a?null!=this.cells&&(this.setHandlesVisibleForCells(this.graph.getSelectionCells(),!1),this.updateLivePreview(this.currentDx,this.currentDy)):this.updatePreviewShape()};
+mxGraphHandler.prototype.updatePreviewShape=function(){null!=this.shape&&(this.shape.bounds=new mxRectangle(Math.round(this.pBounds.x+this.currentDx),Math.round(this.pBounds.y+this.currentDy),this.pBounds.width,this.pBounds.height),this.shape.redraw())};
 mxGraphHandler.prototype.updateLivePreview=function(a,b){if(!this.suspended){var c=[];null!=this.allCells&&this.allCells.visit(mxUtils.bind(this,function(d,e){if(null==this.graph.view.getState(e.cell))e.destroy();else{var f=e.clone();c.push([e,f]);null!=e.shape&&(null==e.shape.originalPointerEvents&&(e.shape.originalPointerEvents=e.shape.pointerEvents),e.shape.pointerEvents=!1,null!=e.text&&(null==e.text.originalPointerEvents&&(e.text.originalPointerEvents=e.text.pointerEvents),e.text.pointerEvents=
 !1));this.graph.model.isVertex(e.cell)&&(e.x+=a,e.y+=b,this.cloning||(e.view.graph.cellRenderer.redraw(e,!0),e.view.invalidate(e.cell),e.invalid=!1,null!=e.control&&null!=e.control.node&&(e.control.node.style.visibility="hidden")))}}));if(0==c.length)this.reset();else{for(var d=this.graph.view.scale,e=0;e<c.length;e++){var f=c[e][0];if(this.graph.model.isEdge(f.cell)){var g=this.graph.getCellGeometry(f.cell),k=[];if(null!=g&&null!=g.points)for(var l=0;l<g.points.length;l++)null!=g.points[l]&&k.push(new mxPoint(g.points[l].x+
 a/d,g.points[l].y+b/d));var g=f.visibleSourceState,l=f.visibleTargetState,m=c[e][1].absolutePoints;null!=g&&this.isCellMoving(g.cell)?f.view.updateFixedTerminalPoint(f,g,!0,this.graph.getConnectionConstraint(f,g,!0)):(g=m[0],f.setAbsoluteTerminalPoint(new mxPoint(g.x+a,g.y+b),!0),g=null);null!=l&&this.isCellMoving(l.cell)?f.view.updateFixedTerminalPoint(f,l,!1,this.graph.getConnectionConstraint(f,l,!1)):(l=m[m.length-1],f.setAbsoluteTerminalPoint(new mxPoint(l.x+a,l.y+b),!1),l=null);f.view.updatePoints(f,
 k,g,l);f.view.updateFloatingTerminalPoints(f,g,l);f.view.updateEdgeLabelOffset(f);f.invalid=!1;this.cloning||f.view.graph.cellRenderer.redraw(f,!0)}}this.graph.view.validate();this.redrawHandles(c);this.resetPreviewStates(c)}}};mxGraphHandler.prototype.redrawHandles=function(a){for(var b=0;b<a.length;b++){var c=this.graph.selectionCellsHandler.getHandler(a[b][0].cell);null!=c&&c.redraw(!0)}};mxGraphHandler.prototype.resetPreviewStates=function(a){for(var b=0;b<a.length;b++)a[b][0].setState(a[b][1])};
 mxGraphHandler.prototype.suspend=function(){this.suspended||(this.livePreviewUsed&&this.updateLivePreview(0,0),null!=this.shape&&(this.shape.node.style.visibility="hidden"),null!=this.guide&&this.guide.setVisible(!1),this.suspended=!0)};mxGraphHandler.prototype.resume=function(){this.suspended&&(this.suspended=null,this.livePreviewUsed&&(this.livePreviewActive=!0),null!=this.shape&&(this.shape.node.style.visibility="visible"),null!=this.guide&&this.guide.setVisible(!0))};
-mxGraphHandler.prototype.resetLivePreview=function(){null!=this.allCells&&(this.allCells.visit(mxUtils.bind(this,function(a,b){null!=b.shape&&null!=b.shape.originalPointerEvents&&(b.shape.pointerEvents=b.shape.originalPointerEvents,b.shape.originalPointerEvents=null,null!=b.text&&(b.text.pointerEvents=b.text.originalPointerEvents,b.text.originalPointerEvents=null));null!=b.control&&null!=b.control.node&&"hidden"==b.control.node.style.visibility&&(b.control.node.style.visibility="");b.view.invalidate(b.cell)})),
-this.graph.view.validate())};mxGraphHandler.prototype.setHandlesVisibleForCells=function(a,b){for(var c=0;c<a.length;c++){var d=this.graph.selectionCellsHandler.getHandler(a[c]);null!=d&&(d.setHandlesVisible(b),b&&d.redraw())}};mxGraphHandler.prototype.setHighlightColor=function(a){null!=this.highlight&&this.highlight.setHighlightColor(a)};
+mxGraphHandler.prototype.resetLivePreview=function(){null!=this.allCells&&(this.allCells.visit(mxUtils.bind(this,function(a,b){null!=b.shape&&null!=b.shape.originalPointerEvents&&(b.shape.pointerEvents=b.shape.originalPointerEvents,b.shape.originalPointerEvents=null,b.shape.bounds=null,null!=b.text&&(b.text.pointerEvents=b.text.originalPointerEvents,b.text.originalPointerEvents=null));null!=b.control&&null!=b.control.node&&"hidden"==b.control.node.style.visibility&&(b.control.node.style.visibility=
+"");b.view.invalidate(b.cell)})),this.graph.view.validate())};mxGraphHandler.prototype.setHandlesVisibleForCells=function(a,b){if(this.handlesVisible!=b){this.handlesVisible=b;for(var c=0;c<a.length;c++){var d=this.graph.selectionCellsHandler.getHandler(a[c]);null!=d&&(d.setHandlesVisible(b),b&&d.redraw())}}};mxGraphHandler.prototype.setHighlightColor=function(a){null!=this.highlight&&this.highlight.setHighlightColor(a)};
 mxGraphHandler.prototype.mouseUp=function(a,b){if(!b.isConsumed())if(this.livePreviewUsed&&this.resetLivePreview(),null==this.cell||null==this.first||null==this.shape&&!this.livePreviewUsed||null==this.currentDx||null==this.currentDy)this.isSelectEnabled()&&this.delayedSelection&&null!=this.cell&&this.selectDelayed(b);else{var c=this.graph,d=b.getCell();if(this.connectOnDrop&&null==this.target&&null!=d&&c.getModel().isVertex(d)&&c.isCellConnectable(d)&&c.isEdgeValid(null,this.cell,d))c.connectionHandler.connect(this.cell,
 d,b.getEvent());else{var d=c.isCloneEvent(b.getEvent())&&c.isCellsCloneable()&&this.isCloneEnabled(),e=c.getView().scale,f=this.roundLength(this.currentDx/e),e=this.roundLength(this.currentDy/e),g=this.target;c.isSplitEnabled()&&c.isSplitTarget(g,this.cells,b.getEvent())?c.splitEdge(g,this.cells,null,f,e):this.moveCells(this.cells,f,e,d,this.target,b.getEvent())}}this.cellWasClicked&&this.consumeMouseEvent(mxEvent.MOUSE_UP,b);this.reset()};
 mxGraphHandler.prototype.selectDelayed=function(a){this.graph.isCellSelected(this.cell)&&this.graph.popupMenuHandler.isPopupTrigger(a)||this.graph.selectCellForEvent(this.cell,a.getEvent())};
@@ -1555,7 +1557,7 @@ mxGraphHandler.prototype.moveCells=function(a,b,c,d,e,f){d&&(a=this.graph.getClo
 this.graph.model.getParent(a[l]);null==m||k.get(m)||(k.put(m,!0),g.push(m))}}a=this.graph.moveCells(a,b,c,d,e,f);b=[];for(l=0;l<g.length;l++)this.shouldRemoveParent(g[l])&&b.push(g[l]);this.graph.removeCells(b,!1)}finally{this.graph.getModel().endUpdate()}d&&this.graph.setSelectionCells(a);this.isSelectEnabled()&&this.scrollOnMove&&this.graph.scrollCellToVisible(a[0])};
 mxGraphHandler.prototype.shouldRemoveParent=function(a){a=this.graph.view.getState(a);return null!=a&&(this.graph.model.isEdge(a.cell)||this.graph.model.isVertex(a.cell))&&this.graph.isCellDeletable(a.cell)&&0==this.graph.model.getChildCount(a.cell)&&this.graph.isTransparentState(a)};
 mxGraphHandler.prototype.destroyShapes=function(){null!=this.shape&&(this.shape.destroy(),this.shape=null);null!=this.guide&&(this.guide.destroy(),this.guide=null);null!=this.highlight&&(this.highlight.destroy(),this.highlight=null)};
-mxGraphHandler.prototype.destroy=function(){this.graph.removeMouseListener(this);this.graph.removeListener(this.panHandler);null!=this.escapeHandler&&(this.graph.removeListener(this.escapeHandler),this.escapeHandler=null);null!=this.refreshHandler&&(this.graph.getModel().removeListener(this.refreshHandler),this.refreshHandler=null);this.destroyShapes();this.removeHint()};
+mxGraphHandler.prototype.destroy=function(){this.graph.removeMouseListener(this);this.graph.removeListener(this.panHandler);null!=this.escapeHandler&&(this.graph.removeListener(this.escapeHandler),this.escapeHandler=null);null!=this.refreshHandler&&(this.graph.getModel().removeListener(this.refreshHandler),this.refreshHandler=null);mxEvent.removeListener(document,"keydown",this.keyHandler);mxEvent.removeListener(document,"keyup",this.keyHandler);this.destroyShapes();this.removeHint()};
 function mxPanningHandler(a){null!=a&&(this.graph=a,this.graph.addMouseListener(this),this.forcePanningHandler=mxUtils.bind(this,function(a,c){var b=c.getProperty("eventName"),e=c.getProperty("event");b==mxEvent.MOUSE_DOWN&&this.isForcePanningEvent(e)&&(this.start(e),this.active=!0,this.fireEvent(new mxEventObject(mxEvent.PAN_START,"event",e)),e.consume())}),this.graph.addListener(mxEvent.FIRE_MOUSE_EVENT,this.forcePanningHandler),this.gestureHandler=mxUtils.bind(this,function(a,c){if(this.isPinchEnabled()){var b=
 c.getProperty("event");mxEvent.isConsumed(b)||"gesturestart"!=b.type?"gestureend"==b.type&&null!=this.initialScale&&(this.initialScale=null):(this.initialScale=this.graph.view.scale,this.active||null==this.mouseDownEvent||(this.start(this.mouseDownEvent),this.mouseDownEvent=null));null!=this.initialScale&&this.zoomGraph(b)}}),this.graph.addListener(mxEvent.GESTURE,this.gestureHandler),this.mouseUpListener=mxUtils.bind(this,function(){this.active&&this.reset()}),mxEvent.addListener(document,"mouseup",
 this.mouseUpListener))}mxPanningHandler.prototype=new mxEventSource;mxPanningHandler.prototype.constructor=mxPanningHandler;mxPanningHandler.prototype.graph=null;mxPanningHandler.prototype.useLeftButtonForPanning=!1;mxPanningHandler.prototype.usePopupTrigger=!0;mxPanningHandler.prototype.ignoreCell=!1;mxPanningHandler.prototype.previewEnabled=!0;mxPanningHandler.prototype.useGrid=!1;mxPanningHandler.prototype.panningEnabled=!0;mxPanningHandler.prototype.pinchEnabled=!0;
@@ -1612,8 +1614,9 @@ mxEvent.isAltDown(a.getEvent())&&null!=a.getState()||this.marker.highlight.isHig
 mxConnectionHandler.prototype.updateCurrentState=function(a,b){this.constraintHandler.update(a,null==this.first,!1,null==this.first||a.isSource(this.marker.highlight.shape)?null:b);if(null!=this.constraintHandler.currentFocus&&null!=this.constraintHandler.currentConstraint)null!=this.marker.highlight&&null!=this.marker.highlight.state&&this.marker.highlight.state.cell==this.constraintHandler.currentFocus.cell?"transparent"!=this.marker.highlight.shape.stroke&&(this.marker.highlight.shape.stroke="transparent",
 this.marker.highlight.repaint()):this.marker.markCell(this.constraintHandler.currentFocus.cell,"transparent"),null!=this.previous&&(this.error=this.validateConnection(this.previous.cell,this.constraintHandler.currentFocus.cell),null==this.error&&(this.currentState=this.constraintHandler.currentFocus),(null!=this.error||null!=this.currentState&&!this.isCellEnabled(this.currentState.cell))&&this.constraintHandler.reset());else{this.graph.isIgnoreTerminalEvent(a.getEvent())?(this.marker.reset(),this.currentState=
 null):(this.marker.process(a),this.currentState=this.marker.getValidState());null==this.currentState||this.isCellEnabled(this.currentState.cell)||(this.constraintHandler.reset(),this.marker.reset(),this.currentState=null);var c=this.isOutlineConnectEvent(a);null!=this.currentState&&c&&(a.isSource(this.marker.highlight.shape)&&(b=new mxPoint(a.getGraphX(),a.getGraphY())),c=this.graph.getOutlineConstraint(b,this.currentState,a),this.constraintHandler.setFocus(a,this.currentState,!1),this.constraintHandler.currentConstraint=
-c,this.constraintHandler.currentPoint=b);this.outlineConnect&&null!=this.marker.highlight&&null!=this.marker.highlight.shape&&(c=this.graph.view.scale,null!=this.constraintHandler.currentConstraint&&null!=this.constraintHandler.currentFocus?(this.marker.highlight.shape.stroke=mxConstants.OUTLINE_HIGHLIGHT_COLOR,this.marker.highlight.shape.strokewidth=mxConstants.OUTLINE_HIGHLIGHT_STROKEWIDTH/c/c,this.marker.highlight.repaint()):this.marker.hasValidState()&&(this.marker.getValidState()!=a.getState()?
-(this.marker.highlight.shape.stroke="transparent",this.currentState=null):this.marker.highlight.shape.stroke=mxConstants.DEFAULT_VALID_COLOR,this.marker.highlight.shape.strokewidth=mxConstants.HIGHLIGHT_STROKEWIDTH/c/c,this.marker.highlight.repaint()))}};mxConnectionHandler.prototype.isCellEnabled=function(a){return!0};mxConnectionHandler.prototype.convertWaypoint=function(a){var b=this.graph.getView().getScale(),c=this.graph.getView().getTranslate();a.x=a.x/b-c.x;a.y=a.y/b-c.y};
+c,this.constraintHandler.currentPoint=b);this.outlineConnect&&null!=this.marker.highlight&&null!=this.marker.highlight.shape&&(c=this.graph.view.scale,null!=this.constraintHandler.currentConstraint&&null!=this.constraintHandler.currentFocus?(this.marker.highlight.shape.stroke=mxConstants.OUTLINE_HIGHLIGHT_COLOR,this.marker.highlight.shape.strokewidth=mxConstants.OUTLINE_HIGHLIGHT_STROKEWIDTH/c/c,this.marker.highlight.repaint()):this.marker.hasValidState()&&(this.graph.isCellConnectable(a.getCell())&&
+this.marker.getValidState()!=a.getState()?(this.marker.highlight.shape.stroke="transparent",this.currentState=null):this.marker.highlight.shape.stroke=mxConstants.DEFAULT_VALID_COLOR,this.marker.highlight.shape.strokewidth=mxConstants.HIGHLIGHT_STROKEWIDTH/c/c,this.marker.highlight.repaint()))}};mxConnectionHandler.prototype.isCellEnabled=function(a){return!0};
+mxConnectionHandler.prototype.convertWaypoint=function(a){var b=this.graph.getView().getScale(),c=this.graph.getView().getTranslate();a.x=a.x/b-c.x;a.y=a.y/b-c.y};
 mxConnectionHandler.prototype.snapToPreview=function(a,b){if(!mxEvent.isAltDown(a.getEvent())&&null!=this.previous){var c=this.graph.gridSize*this.graph.view.scale/2,d=null!=this.sourceConstraint?this.first:new mxPoint(this.previous.getCenterX(),this.previous.getCenterY());Math.abs(d.x-a.getGraphX())<c&&(b.x=d.x);Math.abs(d.y-a.getGraphY())<c&&(b.y=d.y)}};
 mxConnectionHandler.prototype.mouseMove=function(a,b){if(b.isConsumed()||!this.ignoreMouseDown&&null==this.first&&this.graph.isMouseDown)this.constraintHandler.reset();else{this.isEnabled()||null==this.currentState||(this.destroyIcons(),this.currentState=null);var c=this.graph.getView(),d=c.scale,e=c.translate,c=new mxPoint(b.getGraphX(),b.getGraphY());this.error=null;this.graph.isGridEnabledEvent(b.getEvent())&&(c=new mxPoint((this.graph.snap(c.x/d-e.x)+e.x)*d,(this.graph.snap(c.y/d-e.y)+e.y)*d));
 this.snapToPreview(b,c);this.currentPoint=c;(null!=this.first||this.isEnabled()&&this.graph.isEnabled())&&(null!=this.shape||null==this.first||Math.abs(b.getGraphX()-this.first.x)>this.graph.tolerance||Math.abs(b.getGraphY()-this.first.y)>this.graph.tolerance)&&this.updateCurrentState(b,c);if(null!=this.first){var f=null,d=c;null!=this.constraintHandler.currentConstraint&&null!=this.constraintHandler.currentFocus&&null!=this.constraintHandler.currentPoint?(f=this.constraintHandler.currentConstraint,
@@ -1789,13 +1792,13 @@ mxEdgeHandler.prototype.isOutlineConnectEvent=function(a){var b=mxUtils.getOffse
 mxEvent.isAltDown(a.getEvent())&&null!=a.getState()||this.marker.highlight.isHighlightAt(d,c)||(f!=d||b!=c)&&null==a.getState()&&this.marker.highlight.isHighlightAt(f,b))};
 mxEdgeHandler.prototype.updatePreviewState=function(a,b,c,d,e){var f=this.isSource?c:this.state.getVisibleTerminalState(!0),g=this.isTarget?c:this.state.getVisibleTerminalState(!1),k=this.graph.getConnectionConstraint(a,f,!0),l=this.graph.getConnectionConstraint(a,g,!1),m=this.constraintHandler.currentConstraint;null==m&&e&&(null!=c?(d.isSource(this.marker.highlight.shape)&&(b=new mxPoint(d.getGraphX(),d.getGraphY())),m=this.graph.getOutlineConstraint(b,c,d),this.constraintHandler.setFocus(d,c,this.isSource),
 this.constraintHandler.currentConstraint=m,this.constraintHandler.currentPoint=b):m=new mxConnectionConstraint);if(this.outlineConnect&&null!=this.marker.highlight&&null!=this.marker.highlight.shape){var n=this.graph.view.scale;null!=this.constraintHandler.currentConstraint&&null!=this.constraintHandler.currentFocus?(this.marker.highlight.shape.stroke=e?mxConstants.OUTLINE_HIGHLIGHT_COLOR:"transparent",this.marker.highlight.shape.strokewidth=mxConstants.OUTLINE_HIGHLIGHT_STROKEWIDTH/n/n,this.marker.highlight.repaint()):
-this.marker.hasValidState()&&(this.marker.highlight.shape.stroke=this.marker.getValidState()==d.getState()?mxConstants.DEFAULT_VALID_COLOR:"transparent",this.marker.highlight.shape.strokewidth=mxConstants.HIGHLIGHT_STROKEWIDTH/n/n,this.marker.highlight.repaint())}this.isSource?k=m:this.isTarget&&(l=m);if(this.isSource||this.isTarget)null!=m&&null!=m.point?(a.style[this.isSource?mxConstants.STYLE_EXIT_X:mxConstants.STYLE_ENTRY_X]=m.point.x,a.style[this.isSource?mxConstants.STYLE_EXIT_Y:mxConstants.STYLE_ENTRY_Y]=
-m.point.y):(delete a.style[this.isSource?mxConstants.STYLE_EXIT_X:mxConstants.STYLE_ENTRY_X],delete a.style[this.isSource?mxConstants.STYLE_EXIT_Y:mxConstants.STYLE_ENTRY_Y]);a.setVisibleTerminalState(f,!0);a.setVisibleTerminalState(g,!1);this.isSource&&null==f||a.view.updateFixedTerminalPoint(a,f,!0,k);this.isTarget&&null==g||a.view.updateFixedTerminalPoint(a,g,!1,l);(this.isSource||this.isTarget)&&null==c&&(a.setAbsoluteTerminalPoint(b,this.isSource),null==this.marker.getMarkedState()&&(this.error=
-this.graph.allowDanglingEdges?null:""));a.view.updatePoints(a,this.points,f,g);a.view.updateFloatingTerminalPoints(a,f,g)};
+this.marker.hasValidState()&&(this.marker.highlight.shape.stroke=this.graph.isCellConnectable(d.getCell())&&this.marker.getValidState()!=d.getState()?"transparent":mxConstants.DEFAULT_VALID_COLOR,this.marker.highlight.shape.strokewidth=mxConstants.HIGHLIGHT_STROKEWIDTH/n/n,this.marker.highlight.repaint())}this.isSource?k=m:this.isTarget&&(l=m);if(this.isSource||this.isTarget)null!=m&&null!=m.point?(a.style[this.isSource?mxConstants.STYLE_EXIT_X:mxConstants.STYLE_ENTRY_X]=m.point.x,a.style[this.isSource?
+mxConstants.STYLE_EXIT_Y:mxConstants.STYLE_ENTRY_Y]=m.point.y):(delete a.style[this.isSource?mxConstants.STYLE_EXIT_X:mxConstants.STYLE_ENTRY_X],delete a.style[this.isSource?mxConstants.STYLE_EXIT_Y:mxConstants.STYLE_ENTRY_Y]);a.setVisibleTerminalState(f,!0);a.setVisibleTerminalState(g,!1);this.isSource&&null==f||a.view.updateFixedTerminalPoint(a,f,!0,k);this.isTarget&&null==g||a.view.updateFixedTerminalPoint(a,g,!1,l);(this.isSource||this.isTarget)&&null==c&&(a.setAbsoluteTerminalPoint(b,this.isSource),
+null==this.marker.getMarkedState()&&(this.error=this.graph.allowDanglingEdges?null:""));a.view.updatePoints(a,this.points,f,g);a.view.updateFloatingTerminalPoints(a,f,g)};
 mxEdgeHandler.prototype.mouseMove=function(a,b){if(null!=this.index&&null!=this.marker){this.currentPoint=this.getPointForEvent(b);this.error=null;!this.graph.isIgnoreTerminalEvent(b.getEvent())&&mxEvent.isShiftDown(b.getEvent())&&null!=this.snapPoint&&(Math.abs(this.snapPoint.x-this.currentPoint.x)<Math.abs(this.snapPoint.y-this.currentPoint.y)?this.currentPoint.x=this.snapPoint.x:this.currentPoint.y=this.snapPoint.y);if(this.index<=mxEvent.CUSTOM_HANDLE&&this.index>mxEvent.VIRTUAL_HANDLE)null!=
 this.customHandles&&this.customHandles[mxEvent.CUSTOM_HANDLE-this.index].processEvent(b);else if(this.isLabel)this.label.x=this.currentPoint.x,this.label.y=this.currentPoint.y;else{this.points=this.getPreviewPoints(this.currentPoint,b);var c=this.isSource||this.isTarget?this.getPreviewTerminalState(b):null;if(null!=this.constraintHandler.currentConstraint&&null!=this.constraintHandler.currentFocus&&null!=this.constraintHandler.currentPoint)this.currentPoint=this.constraintHandler.currentPoint.clone();
-else if(this.outlineConnect){var d=this.isSource||this.isTarget?this.isOutlineConnectEvent(b):!1;d?c=this.marker.highlight.state:null!=c&&c!=b.getState()&&null!=this.marker.highlight.shape&&(this.marker.highlight.shape.stroke="transparent",this.marker.highlight.repaint(),c=null)}null==c||this.isCellEnabled(c.cell)||(c=null,this.marker.reset());var e=this.clonePreviewState(this.currentPoint,null!=c?c.cell:null);this.updatePreviewState(e,this.currentPoint,c,b,d);this.setPreviewColor(null==this.error?
-this.marker.validColor:this.marker.invalidColor);this.abspoints=e.absolutePoints;this.active=!0}this.updateHint(b,this.currentPoint);this.drawPreview();mxEvent.consume(b.getEvent());b.consume()}else mxClient.IS_IE&&null!=this.getHandleForEvent(b)&&b.consume(!1)};
+else if(this.outlineConnect){var d=this.isSource||this.isTarget?this.isOutlineConnectEvent(b):!1;d?c=this.marker.highlight.state:null!=c&&c!=b.getState()&&this.graph.isCellConnectable(b.getCell())&&null!=this.marker.highlight.shape&&(this.marker.highlight.shape.stroke="transparent",this.marker.highlight.repaint(),c=null)}null==c||this.isCellEnabled(c.cell)||(c=null,this.marker.reset());var e=this.clonePreviewState(this.currentPoint,null!=c?c.cell:null);this.updatePreviewState(e,this.currentPoint,
+c,b,d);this.setPreviewColor(null==this.error?this.marker.validColor:this.marker.invalidColor);this.abspoints=e.absolutePoints;this.active=!0}this.updateHint(b,this.currentPoint);this.drawPreview();mxEvent.consume(b.getEvent());b.consume()}else mxClient.IS_IE&&null!=this.getHandleForEvent(b)&&b.consume(!1)};
 mxEdgeHandler.prototype.mouseUp=function(a,b){if(null!=this.index&&null!=this.marker){var c=this.state.cell,d=this.index;this.index=null;if(b.getX()!=this.startX||b.getY()!=this.startY){var e=!this.graph.isIgnoreTerminalEvent(b.getEvent())&&this.graph.isCloneEvent(b.getEvent())&&this.cloneEnabled&&this.graph.isCellsCloneable();if(null!=this.error)0<this.error.length&&this.graph.validationAlert(this.error);else if(d<=mxEvent.CUSTOM_HANDLE&&d>mxEvent.VIRTUAL_HANDLE){if(null!=this.customHandles){var f=
 this.graph.getModel();f.beginUpdate();try{this.customHandles[mxEvent.CUSTOM_HANDLE-d].execute()}finally{f.endUpdate()}}}else if(this.isLabel)this.moveLabel(this.state,this.label.x,this.label.y);else if(this.isSource||this.isTarget)if(d=null,null!=this.constraintHandler.currentConstraint&&null!=this.constraintHandler.currentFocus&&(d=this.constraintHandler.currentFocus.cell),null==d&&this.marker.hasValidState()&&null!=this.marker.highlight&&null!=this.marker.highlight.shape&&"transparent"!=this.marker.highlight.shape.stroke&&
 "white"!=this.marker.highlight.shape.stroke&&(d=this.marker.validState.cell),null!=d){var f=this.graph.getModel(),g=f.getParent(c);f.beginUpdate();try{if(e){var k=f.getGeometry(c),e=this.graph.cloneCell(c);f.add(g,e,f.getChildCount(g));null!=k&&(k=k.clone(),f.setGeometry(e,k));var l=f.getTerminal(c,!this.isSource);this.graph.connectCell(e,l,!this.isSource);c=e}c=this.connect(c,d,this.isSource,e,b)}finally{f.endUpdate()}}else this.graph.isAllowDanglingEdges()&&(f=this.abspoints[this.isSource?0:this.abspoints.length-
@@ -2008,8 +2011,8 @@ this.fragment&&(a=a+"#"+this.fragment);return a};this.toAbsolute=function(a){a=n
 a.query):("/"===this.path.substr(0,1)?c.path=b(this.path):(c.path=null!==a.authority&&""===a.path?"/"+this.path:a.path.replace(/[^\/]+$/,"")+this.path,c.path=b(c.path)),c.query=this.query),c.authority=a.authority),c.scheme=a.scheme);c.fragment=this.fragment;return c};a&&this.parse(a)},color:function(a,b){function c(a,b,c){if(null===a)return[c,c,c];var d=Math.floor(a),e=c*(1-b);a=c*(1-b*(d%2?a-d:1-(a-d)));switch(d){case 6:case 0:return[c,a,e];case 1:return[a,c,e];case 2:return[e,c,a];case 3:return[e,
 a,c];case 4:return[a,e,c];case 5:return[c,e,a]}}function d(b,c){if(!jscolor.picker){jscolor.picker={box:document.createElement("div"),boxB:document.createElement("div"),pad:document.createElement("div"),padB:document.createElement("div"),padM:document.createElement("div"),sld:document.createElement("div"),sldB:document.createElement("div"),sldM:document.createElement("div"),btn:document.createElement("div"),btnS:document.createElement("span"),btnT:document.createTextNode(r.pickerCloseText)};for(var d=
 0;d<jscolor.images.sld[1];d+=4){var k=document.createElement("div");k.style.height="4px";k.style.fontSize="1px";k.style.lineHeight="0";jscolor.picker.sld.appendChild(k)}jscolor.picker.sldB.appendChild(jscolor.picker.sld);jscolor.picker.box.appendChild(jscolor.picker.sldB);jscolor.picker.box.appendChild(jscolor.picker.sldM);jscolor.picker.padB.appendChild(jscolor.picker.pad);jscolor.picker.box.appendChild(jscolor.picker.padB);jscolor.picker.box.appendChild(jscolor.picker.padM);jscolor.picker.btnS.appendChild(jscolor.picker.btnT);
-jscolor.picker.btn.appendChild(jscolor.picker.btnS);jscolor.picker.box.appendChild(jscolor.picker.btn);jscolor.picker.boxB.appendChild(jscolor.picker.box)}var l=jscolor.picker;l.box.onmouseup=l.box.onmouseout=function(){mxClient.IS_TOUCH||a.focus()};l.box.onmousedown=function(){};l.box.onmousemove=function(a){if(y||A)y&&m(a),A&&n(a),document.selection?document.selection.empty():window.getSelection&&window.getSelection().removeAllRanges(),p()};l.padM.onmouseup=l.padM.onmouseout=function(){y&&(y=!1,
-jscolor.fireEvent(u,"change"))};l.padM.onmousedown=function(a){switch(t){case 0:0===r.hsv[2]&&r.fromHSV(null,null,1);break;case 1:0===r.hsv[1]&&r.fromHSV(null,1,null)}y=!0;m(a);p()};l.sldM.onmouseup=l.sldM.onmouseout=function(){A&&(A=!1,jscolor.fireEvent(u,"change"))};l.sldM.onmousedown=function(a){A=!0;n(a);p()};d=e(r);l.box.style.width=d[0]+"px";l.box.style.height=d[1]+"px";l.boxB.style.position="absolute";l.boxB.style.clear="both";l.boxB.style.left=b+"px";l.boxB.style.top=c+"px";l.boxB.style.zIndex=
+jscolor.picker.btn.appendChild(jscolor.picker.btnS);jscolor.picker.box.appendChild(jscolor.picker.btn);jscolor.picker.boxB.appendChild(jscolor.picker.box)}var l=jscolor.picker;l.box.onmouseup=l.box.onmouseout=function(){mxClient.IS_TOUCH||a.focus()};l.box.onmousedown=function(){};l.box.onmousemove=function(a){if(y||B)y&&m(a),B&&n(a),document.selection?document.selection.empty():window.getSelection&&window.getSelection().removeAllRanges(),p()};l.padM.onmouseup=l.padM.onmouseout=function(){y&&(y=!1,
+jscolor.fireEvent(u,"change"))};l.padM.onmousedown=function(a){switch(t){case 0:0===r.hsv[2]&&r.fromHSV(null,null,1);break;case 1:0===r.hsv[1]&&r.fromHSV(null,1,null)}y=!0;m(a);p()};l.sldM.onmouseup=l.sldM.onmouseout=function(){B&&(B=!1,jscolor.fireEvent(u,"change"))};l.sldM.onmousedown=function(a){B=!0;n(a);p()};d=e(r);l.box.style.width=d[0]+"px";l.box.style.height=d[1]+"px";l.boxB.style.position="absolute";l.boxB.style.clear="both";l.boxB.style.left=b+"px";l.boxB.style.top=c+"px";l.boxB.style.zIndex=
 r.pickerZIndex;l.boxB.style.border=r.pickerBorder+"px solid";l.boxB.style.borderColor=r.pickerBorderColor;l.boxB.style.background=r.pickerFaceColor;l.pad.style.width=jscolor.images.pad[0]+"px";l.pad.style.height=jscolor.images.pad[1]+"px";l.padB.style.position="absolute";l.padB.style.left=r.pickerFace+"px";l.padB.style.top=r.pickerFace+"px";l.padB.style.border=r.pickerInset+"px solid";l.padB.style.borderColor=r.pickerInsetColor;l.padM.style.position="absolute";l.padM.style.left="0";l.padM.style.top=
 "0";l.padM.style.width=r.pickerFace+2*r.pickerInset+jscolor.images.pad[0]+jscolor.images.arrow[0]+"px";l.padM.style.height=l.box.style.height;l.padM.style.cursor="crosshair";l.sld.style.overflow="hidden";l.sld.style.width=jscolor.images.sld[0]+"px";l.sld.style.height=jscolor.images.sld[1]+"px";l.sldB.style.display=r.slider?"block":"none";l.sldB.style.position="absolute";l.sldB.style.right=r.pickerFace+"px";l.sldB.style.top=r.pickerFace+"px";l.sldB.style.border=r.pickerInset+"px solid";l.sldB.style.borderColor=
 r.pickerInsetColor;l.sldM.style.display=r.slider?"block":"none";l.sldM.style.position="absolute";l.sldM.style.right="0";l.sldM.style.top="0";l.sldM.style.width=jscolor.images.sld[0]+jscolor.images.arrow[0]+r.pickerFace+2*r.pickerInset+"px";l.sldM.style.height=l.box.style.height;try{l.sldM.style.cursor="pointer"}catch(F){l.sldM.style.cursor="hand"}l.btn.style.display=r.pickerClosable?"block":"none";l.btn.style.position="absolute";l.btn.style.left=r.pickerFace+"px";l.btn.style.bottom=r.pickerFace+"px";
@@ -2018,15 +2021,15 @@ l.btn.style.padding="0 15px";l.btn.style.height="18px";l.btn.style.border=r.pick
 "no-repeat";l.pad.style.backgroundPosition="0 0";f();g();jscolor.picker.owner=r;document.getElementsByTagName("body")[0].appendChild(l.boxB)}function e(a){return[2*a.pickerInset+2*a.pickerFace+jscolor.images.pad[0]+(a.slider?2*a.pickerInset+2*jscolor.images.arrow[0]+jscolor.images.sld[0]:0),a.pickerClosable?4*a.pickerInset+3*a.pickerFace+jscolor.images.pad[1]+a.pickerButtonHeight:2*a.pickerInset+2*a.pickerFace+jscolor.images.pad[1]]}function f(){switch(t){case 0:var a=1;break;case 1:a=2}jscolor.picker.padM.style.backgroundPosition=
 r.pickerFace+r.pickerInset+Math.round(r.hsv[0]/6*(jscolor.images.pad[0]-1))-Math.floor(jscolor.images.cross[0]/2)+"px "+(r.pickerFace+r.pickerInset+Math.round((1-r.hsv[a])*(jscolor.images.pad[1]-1))-Math.floor(jscolor.images.cross[1]/2))+"px";a=jscolor.picker.sld.childNodes;switch(t){case 0:for(var b=c(r.hsv[0],r.hsv[1],1),d=0;d<a.length;d+=1)a[d].style.backgroundColor="rgb("+b[0]*(1-d/a.length)*100+"%,"+b[1]*(1-d/a.length)*100+"%,"+b[2]*(1-d/a.length)*100+"%)";break;case 1:var e,f=[r.hsv[2],0,0],
 d=Math.floor(r.hsv[0]),g=d%2?r.hsv[0]-d:1-(r.hsv[0]-d);switch(d){case 6:case 0:b=[0,1,2];break;case 1:b=[1,0,2];break;case 2:b=[2,0,1];break;case 3:b=[2,1,0];break;case 4:b=[1,2,0];break;case 5:b=[0,2,1]}for(d=0;d<a.length;d+=1)e=1-1/(a.length-1)*d,f[1]=f[0]*(1-e*g),f[2]=f[0]*(1-e),a[d].style.backgroundColor="rgb("+100*f[b[0]]+"%,"+100*f[b[1]]+"%,"+100*f[b[2]]+"%)"}}function g(){switch(t){case 0:var a=2;break;case 1:a=1}jscolor.picker.sldM.style.backgroundPosition="0 "+(r.pickerFace+r.pickerInset+
-Math.round((1-r.hsv[a])*(jscolor.images.sld[1]-1))-Math.floor(jscolor.images.arrow[1]/2))+"px"}function k(){return jscolor.picker&&jscolor.picker.owner===r}function l(){u!==a&&r.importColor()}function m(a){var b=jscolor.getRelMousePos(a);a=b.x-r.pickerFace-r.pickerInset;b=b.y-r.pickerFace-r.pickerInset;switch(t){case 0:r.fromHSV(6/(jscolor.images.pad[0]-1)*a,1-b/(jscolor.images.pad[1]-1),null,C);break;case 1:r.fromHSV(6/(jscolor.images.pad[0]-1)*a,null,1-b/(jscolor.images.pad[1]-1),C)}}function n(a){a=
-jscolor.getRelMousePos(a).y-r.pickerFace-r.pickerInset;switch(t){case 0:r.fromHSV(null,null,1-a/(jscolor.images.sld[1]-1),B);break;case 1:r.fromHSV(null,1-a/(jscolor.images.sld[1]-1),null,B)}}function p(){if(r.onImmediateChange)if("string"===typeof r.onImmediateChange)eval(r.onImmediateChange);else r.onImmediateChange(r)}this.adjust=this.required=!0;this.hash=!1;this.slider=this.caps=!0;this.styleElement=this.valueElement=a;this.onImmediateChange=null;this.hsv=[0,0,1];this.rgb=[1,1,1];this.pickerOnfocus=
+Math.round((1-r.hsv[a])*(jscolor.images.sld[1]-1))-Math.floor(jscolor.images.arrow[1]/2))+"px"}function k(){return jscolor.picker&&jscolor.picker.owner===r}function l(){u!==a&&r.importColor()}function m(a){var b=jscolor.getRelMousePos(a);a=b.x-r.pickerFace-r.pickerInset;b=b.y-r.pickerFace-r.pickerInset;switch(t){case 0:r.fromHSV(6/(jscolor.images.pad[0]-1)*a,1-b/(jscolor.images.pad[1]-1),null,v);break;case 1:r.fromHSV(6/(jscolor.images.pad[0]-1)*a,null,1-b/(jscolor.images.pad[1]-1),v)}}function n(a){a=
+jscolor.getRelMousePos(a).y-r.pickerFace-r.pickerInset;switch(t){case 0:r.fromHSV(null,null,1-a/(jscolor.images.sld[1]-1),C);break;case 1:r.fromHSV(null,1-a/(jscolor.images.sld[1]-1),null,C)}}function p(){if(r.onImmediateChange)if("string"===typeof r.onImmediateChange)eval(r.onImmediateChange);else r.onImmediateChange(r)}this.adjust=this.required=!0;this.hash=!1;this.slider=this.caps=!0;this.styleElement=this.valueElement=a;this.onImmediateChange=null;this.hsv=[0,0,1];this.rgb=[1,1,1];this.pickerOnfocus=
 !0;this.pickerMode="HSV";this.pickerPosition="bottom";this.pickerSmartPosition=!0;this.pickerButtonHeight=20;this.pickerClosable=!1;this.pickerCloseText="Close";this.pickerButtonColor="ButtonText";this.pickerFace=0;this.pickerFaceColor="ThreeDFace";this.pickerBorder=1;this.pickerBorderColor="ThreeDHighlight ThreeDShadow ThreeDShadow ThreeDHighlight";this.pickerInset=1;this.pickerInsetColor="ThreeDShadow ThreeDHighlight ThreeDHighlight ThreeDShadow";this.pickerZIndex=1E4;for(var q in b)b.hasOwnProperty(q)&&
 (this[q]=b[q]);this.hidePicker=function(){k()&&(delete jscolor.picker.owner,document.getElementsByTagName("body")[0].removeChild(jscolor.picker.boxB))};this.showPicker=function(){k()||(jscolor.getElementPos(a),jscolor.getElementSize(a),jscolor.getViewPos(),jscolor.getViewSize(),e(this),this.pickerPosition.toLowerCase(),d(0,0))};this.importColor=function(){u?this.adjust?!this.required&&/^\s*$/.test(u.value)?(u.value="",x.style.backgroundImage=x.jscStyle.backgroundImage,x.style.backgroundColor=x.jscStyle.backgroundColor,
-x.style.color=x.jscStyle.color,this.exportColor(z|v)):this.fromString(u.value)||this.exportColor():this.fromString(u.value,z)||(x.style.backgroundImage=x.jscStyle.backgroundImage,x.style.backgroundColor=x.jscStyle.backgroundColor,x.style.color=x.jscStyle.color,this.exportColor(z|v)):this.exportColor()};this.exportColor=function(a){if(!(a&z)&&u){var b=this.toString();this.caps&&(b=b.toUpperCase());this.hash&&(b="#"+b);u.value=b}a&v||!x||(x.style.backgroundImage="none",x.style.backgroundColor="#"+this.toString(),
-x.style.color=.5>.213*this.rgb[0]+.715*this.rgb[1]+.072*this.rgb[2]?"#FFF":"#000");a&B||!k()||f();a&C||!k()||g()};this.fromHSV=function(a,b,d,e){0>a&&(a=0);6<a&&(a=6);0>b&&(b=0);1<b&&(b=1);0>d&&(d=0);1<d&&(d=1);this.rgb=c(null===a?this.hsv[0]:this.hsv[0]=a,null===b?this.hsv[1]:this.hsv[1]=b,null===d?this.hsv[2]:this.hsv[2]=d);this.exportColor(e)};this.fromRGB=function(a,b,c,d){0>a&&(a=0);1<a&&(a=1);0>b&&(b=0);1<b&&(b=1);0>c&&(c=0);1<c&&(c=1);a=null===a?this.rgb[0]:this.rgb[0]=a;b=null===b?this.rgb[1]:
+x.style.color=x.jscStyle.color,this.exportColor(A|z)):this.fromString(u.value)||this.exportColor():this.fromString(u.value,A)||(x.style.backgroundImage=x.jscStyle.backgroundImage,x.style.backgroundColor=x.jscStyle.backgroundColor,x.style.color=x.jscStyle.color,this.exportColor(A|z)):this.exportColor()};this.exportColor=function(a){if(!(a&A)&&u){var b=this.toString();this.caps&&(b=b.toUpperCase());this.hash&&(b="#"+b);u.value=b}a&z||!x||(x.style.backgroundImage="none",x.style.backgroundColor="#"+this.toString(),
+x.style.color=.5>.213*this.rgb[0]+.715*this.rgb[1]+.072*this.rgb[2]?"#FFF":"#000");a&C||!k()||f();a&v||!k()||g()};this.fromHSV=function(a,b,d,e){0>a&&(a=0);6<a&&(a=6);0>b&&(b=0);1<b&&(b=1);0>d&&(d=0);1<d&&(d=1);this.rgb=c(null===a?this.hsv[0]:this.hsv[0]=a,null===b?this.hsv[1]:this.hsv[1]=b,null===d?this.hsv[2]:this.hsv[2]=d);this.exportColor(e)};this.fromRGB=function(a,b,c,d){0>a&&(a=0);1<a&&(a=1);0>b&&(b=0);1<b&&(b=1);0>c&&(c=0);1<c&&(c=1);a=null===a?this.rgb[0]:this.rgb[0]=a;b=null===b?this.rgb[1]:
 this.rgb[1]=b;var e=null===c?this.rgb[2]:this.rgb[2]=c,f=Math.min(Math.min(a,b),e);c=Math.max(Math.max(a,b),e);var g=c-f;0===g?a=[null,0,c]:(a=a===f?3+(e-b)/g:b===f?5+(a-e)/g:1+(b-a)/g,a=[6===a?0:a,g/c,c]);null!==a[0]&&(this.hsv[0]=a[0]);0!==a[2]&&(this.hsv[1]=a[1]);this.hsv[2]=a[2];this.exportColor(d)};this.fromString=function(a,b){var c=a.match(/^\W*([0-9A-F]{3}([0-9A-F]{3})?)\W*$/i);return c?(6===c[1].length?this.fromRGB(parseInt(c[1].substr(0,2),16)/255,parseInt(c[1].substr(2,2),16)/255,parseInt(c[1].substr(4,
 2),16)/255,b):this.fromRGB(parseInt(c[1].charAt(0)+c[1].charAt(0),16)/255,parseInt(c[1].charAt(1)+c[1].charAt(1),16)/255,parseInt(c[1].charAt(2)+c[1].charAt(2),16)/255,b),!0):!1};this.toString=function(){return(256|Math.round(255*this.rgb[0])).toString(16).substr(1)+(256|Math.round(255*this.rgb[1])).toString(16).substr(1)+(256|Math.round(255*this.rgb[2])).toString(16).substr(1)};var r=this,t="hvs"===this.pickerMode.toLowerCase()?1:0,u=jscolor.fetchElement(this.valueElement),x=jscolor.fetchElement(this.styleElement),
-y=!1,A=!1,z=1,v=2,B=4,C=8;u&&(q=function(){r.fromString(u.value,z);p()},jscolor.addEvent(u,"keyup",q),jscolor.addEvent(u,"input",q),jscolor.addEvent(u,"blur",l),u.setAttribute("autocomplete","off"));x&&(x.jscStyle={backgroundImage:x.style.backgroundImage,backgroundColor:x.style.backgroundColor,color:x.style.color});switch(t){case 0:jscolor.requireImage("hs.png");break;case 1:jscolor.requireImage("hv.png")}this.importColor()}};jscolor.install();
+y=!1,B=!1,A=1,z=2,C=4,v=8;u&&(q=function(){r.fromString(u.value,A);p()},jscolor.addEvent(u,"keyup",q),jscolor.addEvent(u,"input",q),jscolor.addEvent(u,"blur",l),u.setAttribute("autocomplete","off"));x&&(x.jscStyle={backgroundImage:x.style.backgroundImage,backgroundColor:x.style.backgroundColor,color:x.style.color});switch(t){case 0:jscolor.requireImage("hs.png");break;case 1:jscolor.requireImage("hv.png")}this.importColor()}};jscolor.install();
 Editor=function(a,c,d,b,f){mxEventSource.call(this);this.chromeless=null!=a?a:this.chromeless;this.initStencilRegistry();this.graph=b||this.createGraph(c,d);this.editable=null!=f?f:!a;this.undoManager=this.createUndoManager();this.status="";this.getOrCreateFilename=function(){return this.filename||mxResources.get("drawing",[Editor.pageCounter])+".xml"};this.getFilename=function(){return this.filename};this.setStatus=function(a){this.status=a;this.fireEvent(new mxEventObject("statusChanged"))};this.getStatus=
 function(){return this.status};this.graphChangeListener=function(a,b){var c=null!=b?b.getProperty("edit"):null;null!=c&&c.ignoreEdit||this.setModified(!0)};this.graph.getModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(){this.graphChangeListener.apply(this,arguments)}));this.graph.resetViewOnRootChange=!1;this.init()};Editor.pageCounter=0;
 (function(){try{for(var a=window;null!=a.opener&&"undefined"!==typeof a.opener.Editor&&!isNaN(a.opener.Editor.pageCounter)&&a.opener!=a;)a=a.opener;null!=a&&(a.Editor.pageCounter++,Editor.pageCounter=a.Editor.pageCounter)}catch(c){}})();Editor.useLocalStorage="undefined"!=typeof Storage&&mxClient.IS_IOS;
@@ -2067,11 +2070,11 @@ Editor.prototype.setFilename=function(a){this.filename=a};
 Editor.prototype.createUndoManager=function(){var a=this.graph,c=new mxUndoManager;this.undoListener=function(a,d){c.undoableEditHappened(d.getProperty("edit"))};var d=mxUtils.bind(this,function(a,c){this.undoListener.apply(this,arguments)});a.getModel().addListener(mxEvent.UNDO,d);a.getView().addListener(mxEvent.UNDO,d);d=function(b,c){var d=a.getSelectionCellsForChanges(c.getProperty("edit").changes);a.getModel();for(var f=[],g=0;g<d.length;g++)null!=a.view.getState(d[g])&&f.push(d[g]);a.setSelectionCells(f)};
 c.addListener(mxEvent.UNDO,d);c.addListener(mxEvent.REDO,d);return c};Editor.prototype.initStencilRegistry=function(){};Editor.prototype.destroy=function(){null!=this.graph&&(this.graph.destroy(),this.graph=null)};OpenFile=function(a){this.consumer=this.producer=null;this.done=a;this.args=null};OpenFile.prototype.setConsumer=function(a){this.consumer=a;this.execute()};OpenFile.prototype.setData=function(){this.args=arguments;this.execute()};OpenFile.prototype.error=function(a){this.cancel(!0);mxUtils.alert(a)};
 OpenFile.prototype.execute=function(){null!=this.consumer&&null!=this.args&&(this.cancel(!1),this.consumer.apply(this,this.args))};OpenFile.prototype.cancel=function(a){null!=this.done&&this.done(null!=a?a:!0)};
-function Dialog(a,c,d,b,f,e,h,g,k,l,m){var n=0;mxClient.IS_VML&&(null==document.documentMode||8>document.documentMode)&&(n=80);d+=n;b+=n;var p=d,q=b,u=mxUtils.getDocumentSize();null!=window.innerHeight&&(u.height=window.innerHeight);var v=u.height,r=Math.max(1,Math.round((u.width-d-64)/2)),w=Math.max(1,Math.round((v-b-a.footerHeight)/3));mxClient.IS_QUIRKS||(c.style.maxHeight="100%");d=null!=document.body?Math.min(d,document.body.scrollWidth-64):d;b=Math.min(b,v-64);0<a.dialogs.length&&(this.zIndex+=
-2*a.dialogs.length);null==this.bg&&(this.bg=a.createDiv("background"),this.bg.style.position="absolute",this.bg.style.background=Dialog.backdropColor,this.bg.style.height=v+"px",this.bg.style.right="0px",this.bg.style.zIndex=this.zIndex-2,mxUtils.setOpacity(this.bg,this.bgOpacity),mxClient.IS_QUIRKS&&new mxDivResizer(this.bg));u=mxUtils.getDocumentScrollOrigin(document);this.bg.style.left=u.x+"px";this.bg.style.top=u.y+"px";r+=u.x;w+=u.y;f&&document.body.appendChild(this.bg);var t=a.createDiv(k?"geTransDialog":
-"geDialog");f=this.getPosition(r,w,d,b);r=f.x;w=f.y;t.style.width=d+"px";t.style.height=b+"px";t.style.left=r+"px";t.style.top=w+"px";t.style.zIndex=this.zIndex;t.appendChild(c);document.body.appendChild(t);!g&&c.clientHeight>t.clientHeight-64&&(c.style.overflowY="auto");if(e&&(e=document.createElement("img"),e.setAttribute("src",Dialog.prototype.closeImage),e.setAttribute("title",mxResources.get("close")),e.className="geDialogClose",e.style.top=w+14+"px",e.style.left=r+d+38-n+"px",e.style.zIndex=
-this.zIndex,mxEvent.addListener(e,"click",mxUtils.bind(this,function(){a.hideDialog(!0)})),document.body.appendChild(e),this.dialogImg=e,!m)){var x=!1;mxEvent.addGestureListeners(this.bg,mxUtils.bind(this,function(a){x=!0}),null,mxUtils.bind(this,function(b){x&&(a.hideDialog(!0),x=!1)}))}this.resizeListener=mxUtils.bind(this,function(){if(null!=l){var e=l();null!=e&&(p=d=e.w,q=b=e.h)}e=mxUtils.getDocumentSize();v=e.height;this.bg.style.height=v+"px";r=Math.max(1,Math.round((e.width-d-64)/2));w=Math.max(1,
-Math.round((v-b-a.footerHeight)/3));d=null!=document.body?Math.min(p,document.body.scrollWidth-64):p;b=Math.min(q,v-64);e=this.getPosition(r,w,d,b);r=e.x;w=e.y;t.style.left=r+"px";t.style.top=w+"px";t.style.width=d+"px";t.style.height=b+"px";!g&&c.clientHeight>t.clientHeight-64&&(c.style.overflowY="auto");null!=this.dialogImg&&(this.dialogImg.style.top=w+14+"px",this.dialogImg.style.left=r+d+38-n+"px")});mxEvent.addListener(window,"resize",this.resizeListener);this.onDialogClose=h;this.container=
+function Dialog(a,c,d,b,f,e,h,g,k,l,m){var n=0;mxClient.IS_VML&&(null==document.documentMode||8>document.documentMode)&&(n=80);d+=n;b+=n;var p=d,r=b,u=mxUtils.getDocumentSize();null!=window.innerHeight&&(u.height=window.innerHeight);var v=u.height,q=Math.max(1,Math.round((u.width-d-64)/2)),w=Math.max(1,Math.round((v-b-a.footerHeight)/3));mxClient.IS_QUIRKS||(c.style.maxHeight="100%");d=null!=document.body?Math.min(d,document.body.scrollWidth-64):d;b=Math.min(b,v-64);0<a.dialogs.length&&(this.zIndex+=
+2*a.dialogs.length);null==this.bg&&(this.bg=a.createDiv("background"),this.bg.style.position="absolute",this.bg.style.background=Dialog.backdropColor,this.bg.style.height=v+"px",this.bg.style.right="0px",this.bg.style.zIndex=this.zIndex-2,mxUtils.setOpacity(this.bg,this.bgOpacity),mxClient.IS_QUIRKS&&new mxDivResizer(this.bg));u=mxUtils.getDocumentScrollOrigin(document);this.bg.style.left=u.x+"px";this.bg.style.top=u.y+"px";q+=u.x;w+=u.y;f&&document.body.appendChild(this.bg);var t=a.createDiv(k?"geTransDialog":
+"geDialog");f=this.getPosition(q,w,d,b);q=f.x;w=f.y;t.style.width=d+"px";t.style.height=b+"px";t.style.left=q+"px";t.style.top=w+"px";t.style.zIndex=this.zIndex;t.appendChild(c);document.body.appendChild(t);!g&&c.clientHeight>t.clientHeight-64&&(c.style.overflowY="auto");if(e&&(e=document.createElement("img"),e.setAttribute("src",Dialog.prototype.closeImage),e.setAttribute("title",mxResources.get("close")),e.className="geDialogClose",e.style.top=w+14+"px",e.style.left=q+d+38-n+"px",e.style.zIndex=
+this.zIndex,mxEvent.addListener(e,"click",mxUtils.bind(this,function(){a.hideDialog(!0)})),document.body.appendChild(e),this.dialogImg=e,!m)){var x=!1;mxEvent.addGestureListeners(this.bg,mxUtils.bind(this,function(a){x=!0}),null,mxUtils.bind(this,function(b){x&&(a.hideDialog(!0),x=!1)}))}this.resizeListener=mxUtils.bind(this,function(){if(null!=l){var e=l();null!=e&&(p=d=e.w,r=b=e.h)}e=mxUtils.getDocumentSize();v=e.height;this.bg.style.height=v+"px";q=Math.max(1,Math.round((e.width-d-64)/2));w=Math.max(1,
+Math.round((v-b-a.footerHeight)/3));d=null!=document.body?Math.min(p,document.body.scrollWidth-64):p;b=Math.min(r,v-64);e=this.getPosition(q,w,d,b);q=e.x;w=e.y;t.style.left=q+"px";t.style.top=w+"px";t.style.width=d+"px";t.style.height=b+"px";!g&&c.clientHeight>t.clientHeight-64&&(c.style.overflowY="auto");null!=this.dialogImg&&(this.dialogImg.style.top=w+14+"px",this.dialogImg.style.left=q+d+38-n+"px")});mxEvent.addListener(window,"resize",this.resizeListener);this.onDialogClose=h;this.container=
 t;a.editor.fireEvent(new mxEventObject("showDialog"))}Dialog.backdropColor="white";Dialog.prototype.zIndex=mxPopupMenu.prototype.zIndex-1;
 Dialog.prototype.noColorImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkEzRDlBMUUwODYxMTExRTFCMzA4RDdDMjJBMEMxRDM3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkEzRDlBMUUxODYxMTExRTFCMzA4RDdDMjJBMEMxRDM3Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTNEOUExREU4NjExMTFFMUIzMDhEN0MyMkEwQzFEMzciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTNEOUExREY4NjExMTFFMUIzMDhEN0MyMkEwQzFEMzciLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5xh3fmAAAABlBMVEX////MzMw46qqDAAAAGElEQVR42mJggAJGKGAYIIGBth8KAAIMAEUQAIElnLuQAAAAAElFTkSuQmCC":IMAGE_PATH+
 "/nocolor.png";Dialog.prototype.closeImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJAQMAAADaX5RTAAAABlBMVEV7mr3///+wksspAAAAAnRSTlP/AOW3MEoAAAAdSURBVAgdY9jXwCDDwNDRwHCwgeExmASygSL7GgB12QiqNHZZIwAAAABJRU5ErkJggg==":IMAGE_PATH+"/close.png";
@@ -2082,8 +2085,8 @@ Dialog.prototype.lockedImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoA
 Dialog.prototype.unlockedImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAMAAABhq6zVAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzdDMDZCN0QxNzIxMTFFNUI0RTk5NTg4OTcyMUUyODEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzdDMDZCN0UxNzIxMTFFNUI0RTk5NTg4OTcyMUUyODEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDozN0MwNkI3QjE3MjExMUU1QjRFOTk1ODg5NzIxRTI4MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDozN0MwNkI3QzE3MjExMUU1QjRFOTk1ODg5NzIxRTI4MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PkKMpVwAAAAYUExURZmZmbKysr+/v6ysrOXl5czMzLGxsf///zHN5lwAAAAIdFJOU/////////8A3oO9WQAAADxJREFUeNpUzFESACAEBNBVsfe/cZJU+8Mzs8CIABCidtfGOndnYsT40HDSiCcbPdoJo10o9aI677cpwACRoAF3dFNlswAAAABJRU5ErkJggg==":IMAGE_PATH+
 "/unlocked.png";Dialog.prototype.bgOpacity=80;Dialog.prototype.getPosition=function(a,c){return new mxPoint(a,c)};Dialog.prototype.close=function(a,c){if(null!=this.onDialogClose){if(0==this.onDialogClose(a,c))return!1;this.onDialogClose=null}null!=this.dialogImg&&(this.dialogImg.parentNode.removeChild(this.dialogImg),this.dialogImg=null);null!=this.bg&&null!=this.bg.parentNode&&this.bg.parentNode.removeChild(this.bg);mxEvent.removeListener(window,"resize",this.resizeListener);this.container.parentNode.removeChild(this.container)};
 var ErrorDialog=function(a,c,d,b,f,e,h,g,k,l,m){k=null!=k?k:!0;var n=document.createElement("div");n.style.textAlign="center";if(null!=c){var p=document.createElement("div");p.style.padding="0px";p.style.margin="0px";p.style.fontSize="18px";p.style.paddingBottom="16px";p.style.marginBottom="10px";p.style.borderBottom="1px solid #c0c0c0";p.style.color="gray";p.style.whiteSpace="nowrap";p.style.textOverflow="ellipsis";p.style.overflow="hidden";mxUtils.write(p,c);p.setAttribute("title",c);n.appendChild(p)}c=
-document.createElement("div");c.style.lineHeight="1.2em";c.style.padding="6px";c.innerHTML=d;n.appendChild(c);d=document.createElement("div");d.style.marginTop="12px";d.style.textAlign="center";null!=e&&(c=mxUtils.button(mxResources.get("tryAgain"),function(){a.hideDialog();e()}),c.className="geBtn",d.appendChild(c),d.style.textAlign="center");null!=l&&(l=mxUtils.button(l,function(){null!=m&&m()}),l.className="geBtn",d.appendChild(l));var q=mxUtils.button(b,function(){k&&a.hideDialog();null!=f&&f()});
-q.className="geBtn";d.appendChild(q);null!=h&&(b=mxUtils.button(h,function(){k&&a.hideDialog();null!=g&&g()}),b.className="geBtn gePrimaryBtn",d.appendChild(b));this.init=function(){q.focus()};n.appendChild(d);this.container=n},PrintDialog=function(a,c){this.create(a,c)};
+document.createElement("div");c.style.lineHeight="1.2em";c.style.padding="6px";c.innerHTML=d;n.appendChild(c);d=document.createElement("div");d.style.marginTop="12px";d.style.textAlign="center";null!=e&&(c=mxUtils.button(mxResources.get("tryAgain"),function(){a.hideDialog();e()}),c.className="geBtn",d.appendChild(c),d.style.textAlign="center");null!=l&&(l=mxUtils.button(l,function(){null!=m&&m()}),l.className="geBtn",d.appendChild(l));var r=mxUtils.button(b,function(){k&&a.hideDialog();null!=f&&f()});
+r.className="geBtn";d.appendChild(r);null!=h&&(b=mxUtils.button(h,function(){k&&a.hideDialog();null!=g&&g()}),b.className="geBtn gePrimaryBtn",d.appendChild(b));this.init=function(){r.focus()};n.appendChild(d);this.container=n},PrintDialog=function(a,c){this.create(a,c)};
 PrintDialog.prototype.create=function(a){function c(a){var b=g.checked||l.checked,c=parseInt(n.value)/100;isNaN(c)&&(c=1,n.value="100%");var c=.75*c,e=d.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT,f=1/d.pageScale;if(b){var h=g.checked?1:parseInt(m.value);isNaN(h)||(f=mxUtils.getScaleForPageCount(h,d,e))}d.getGraphBounds();var k=h=0,e=mxRectangle.fromRectangle(e);e.width=Math.ceil(e.width*c);e.height=Math.ceil(e.height*c);f*=c;!b&&d.pageVisible?(c=d.getPageLayout(),h-=c.x*e.width,k-=c.y*e.height):
 b=!0;b=PrintDialog.createPrintPreview(d,f,e,0,h,k,b);b.open();a&&PrintDialog.printPreview(b)}var d=a.editor.graph,b,f,e=document.createElement("table");e.style.width="100%";e.style.height="100%";var h=document.createElement("tbody");b=document.createElement("tr");var g=document.createElement("input");g.setAttribute("type","checkbox");f=document.createElement("td");f.setAttribute("colspan","2");f.style.fontSize="10pt";f.appendChild(g);var k=document.createElement("span");mxUtils.write(k," "+mxResources.get("fitPage"));
 f.appendChild(k);mxEvent.addListener(k,"click",function(a){g.checked=!g.checked;l.checked=!g.checked;mxEvent.consume(a)});mxEvent.addListener(g,"change",function(){l.checked=!g.checked});b.appendChild(f);h.appendChild(b);b=b.cloneNode(!1);var l=document.createElement("input");l.setAttribute("type","checkbox");f=document.createElement("td");f.style.fontSize="10pt";f.appendChild(l);k=document.createElement("span");mxUtils.write(k," "+mxResources.get("posterPrint")+":");f.appendChild(k);mxEvent.addListener(k,
@@ -2093,19 +2096,19 @@ f.style.paddingTop="20px";f.setAttribute("align","right");k=mxUtils.button(mxRes
 f.appendChild(k);b.appendChild(f);h.appendChild(b);e.appendChild(h);this.container=e};PrintDialog.printPreview=function(a){try{if(null!=a.wnd){var c=function(){a.wnd.focus();a.wnd.print();a.wnd.close()};mxClient.IS_GC?window.setTimeout(c,500):c()}}catch(d){}};
 PrintDialog.createPrintPreview=function(a,c,d,b,f,e,h){c=new mxPrintPreview(a,c,d,b,f,e);c.title=mxResources.get("preview");c.printBackgroundImage=!0;c.autoOrigin=h;a=a.background;if(null==a||""==a||a==mxConstants.NONE)a="#ffffff";c.backgroundColor=a;var g=c.writeHead;c.writeHead=function(a){g.apply(this,arguments);a.writeln('<style type="text/css">');a.writeln("@media screen {");a.writeln("  body > div { padding:30px;box-sizing:content-box; }");a.writeln("}");a.writeln("</style>")};return c};
 PrintDialog.previewEnabled=!0;
-var PageSetupDialog=function(a){function c(){null==m||m==mxConstants.NONE?(l.style.backgroundColor="",l.style.backgroundImage="url('"+Dialog.prototype.noColorImage+"')"):(l.style.backgroundColor=m,l.style.backgroundImage="")}function d(){null==q?(p.removeAttribute("title"),p.style.fontSize="",p.innerHTML=mxResources.get("change")+"..."):(p.setAttribute("title",q.src),p.style.fontSize="11px",p.innerHTML=q.src.substring(0,42)+"...")}var b=a.editor.graph,f,e,h=document.createElement("table");h.style.width=
+var PageSetupDialog=function(a){function c(){null==m||m==mxConstants.NONE?(l.style.backgroundColor="",l.style.backgroundImage="url('"+Dialog.prototype.noColorImage+"')"):(l.style.backgroundColor=m,l.style.backgroundImage="")}function d(){null==r?(p.removeAttribute("title"),p.style.fontSize="",p.innerHTML=mxResources.get("change")+"..."):(p.setAttribute("title",r.src),p.style.fontSize="11px",p.innerHTML=r.src.substring(0,42)+"...")}var b=a.editor.graph,f,e,h=document.createElement("table");h.style.width=
 "100%";h.style.height="100%";var g=document.createElement("tbody");f=document.createElement("tr");e=document.createElement("td");e.style.verticalAlign="top";e.style.fontSize="10pt";mxUtils.write(e,mxResources.get("paperSize")+":");f.appendChild(e);e=document.createElement("td");e.style.verticalAlign="top";e.style.fontSize="10pt";var k=PageSetupDialog.addPageFormatPanel(e,"pagesetupdialog",b.pageFormat);f.appendChild(e);g.appendChild(f);f=document.createElement("tr");e=document.createElement("td");
 mxUtils.write(e,mxResources.get("background")+":");f.appendChild(e);e=document.createElement("td");e.style.whiteSpace="nowrap";document.createElement("input").setAttribute("type","text");var l=document.createElement("button");l.style.width="18px";l.style.height="18px";l.style.marginRight="20px";l.style.backgroundPosition="center center";l.style.backgroundRepeat="no-repeat";var m=b.background;c();mxEvent.addListener(l,"click",function(b){a.pickColor(m||"none",function(a){m=a;c()});mxEvent.consume(b)});
 e.appendChild(l);mxUtils.write(e,mxResources.get("gridSize")+":");var n=document.createElement("input");n.setAttribute("type","number");n.setAttribute("min","0");n.style.width="40px";n.style.marginLeft="6px";n.value=b.getGridSize();e.appendChild(n);mxEvent.addListener(n,"change",function(){var a=parseInt(n.value);n.value=Math.max(1,isNaN(a)?b.getGridSize():a)});f.appendChild(e);g.appendChild(f);f=document.createElement("tr");e=document.createElement("td");mxUtils.write(e,mxResources.get("image")+
-":");f.appendChild(e);e=document.createElement("td");var p=document.createElement("a");p.style.textDecoration="underline";p.style.cursor="pointer";p.style.color="#a0a0a0";var q=b.backgroundImage;mxEvent.addListener(p,"click",function(b){a.showBackgroundImageDialog(function(a){q=a;d()});mxEvent.consume(b)});d();e.appendChild(p);f.appendChild(e);g.appendChild(f);f=document.createElement("tr");e=document.createElement("td");e.colSpan=2;e.style.paddingTop="16px";e.setAttribute("align","right");var u=
-mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});u.className="geBtn";a.editor.cancelFirst&&e.appendChild(u);var v=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();b.gridSize!==n.value&&b.setGridSize(parseInt(n.value));var c=new ChangePageSetup(a,m,q,k.get());c.ignoreColor=b.background==m;c.ignoreImage=(null!=b.backgroundImage?b.backgroundImage.src:null)===(null!=q?q.src:null);b.pageFormat.width==c.previousFormat.width&&b.pageFormat.height==c.previousFormat.height&&
+":");f.appendChild(e);e=document.createElement("td");var p=document.createElement("a");p.style.textDecoration="underline";p.style.cursor="pointer";p.style.color="#a0a0a0";var r=b.backgroundImage;mxEvent.addListener(p,"click",function(b){a.showBackgroundImageDialog(function(a){r=a;d()});mxEvent.consume(b)});d();e.appendChild(p);f.appendChild(e);g.appendChild(f);f=document.createElement("tr");e=document.createElement("td");e.colSpan=2;e.style.paddingTop="16px";e.setAttribute("align","right");var u=
+mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});u.className="geBtn";a.editor.cancelFirst&&e.appendChild(u);var v=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();b.gridSize!==n.value&&b.setGridSize(parseInt(n.value));var c=new ChangePageSetup(a,m,r,k.get());c.ignoreColor=b.background==m;c.ignoreImage=(null!=b.backgroundImage?b.backgroundImage.src:null)===(null!=r?r.src:null);b.pageFormat.width==c.previousFormat.width&&b.pageFormat.height==c.previousFormat.height&&
 c.ignoreColor&&c.ignoreImage||b.model.execute(c)});v.className="geBtn gePrimaryBtn";e.appendChild(v);a.editor.cancelFirst||e.appendChild(u);f.appendChild(e);g.appendChild(f);h.appendChild(g);this.container=h};
 PageSetupDialog.addPageFormatPanel=function(a,c,d,b){function f(a,b,c){if(c||n!=document.activeElement&&p!=document.activeElement){a=!1;for(b=0;b<u.length;b++)c=u[b],t?"custom"==c.key&&(g.value=c.key,t=!1):null!=c.format&&("a4"==c.key?826==d.width?(d=mxRectangle.fromRectangle(d),d.width=827):826==d.height&&(d=mxRectangle.fromRectangle(d),d.height=827):"a5"==c.key&&(584==d.width?(d=mxRectangle.fromRectangle(d),d.width=583):584==d.height&&(d=mxRectangle.fromRectangle(d),d.height=583)),d.width==c.format.width&&
 d.height==c.format.height?(g.value=c.key,e.setAttribute("checked","checked"),e.defaultChecked=!0,e.checked=!0,h.removeAttribute("checked"),h.defaultChecked=!1,h.checked=!1,a=!0):d.width==c.format.height&&d.height==c.format.width&&(g.value=c.key,e.removeAttribute("checked"),e.defaultChecked=!1,e.checked=!1,h.setAttribute("checked","checked"),h.defaultChecked=!0,a=h.checked=!0));a?(k.style.display="",m.style.display="none"):(n.value=d.width/100,p.value=d.height/100,e.setAttribute("checked","checked"),
 g.value="custom",k.style.display="none",m.style.display="")}}c="format-"+c;var e=document.createElement("input");e.setAttribute("name",c);e.setAttribute("type","radio");e.setAttribute("value","portrait");var h=document.createElement("input");h.setAttribute("name",c);h.setAttribute("type","radio");h.setAttribute("value","landscape");var g=document.createElement("select");g.style.marginBottom="8px";g.style.width="202px";var k=document.createElement("div");k.style.marginLeft="4px";k.style.width="210px";
 k.style.height="24px";e.style.marginRight="6px";k.appendChild(e);c=document.createElement("span");c.style.maxWidth="100px";mxUtils.write(c,mxResources.get("portrait"));k.appendChild(c);h.style.marginLeft="10px";h.style.marginRight="6px";k.appendChild(h);var l=document.createElement("span");l.style.width="100px";mxUtils.write(l,mxResources.get("landscape"));k.appendChild(l);var m=document.createElement("div");m.style.marginLeft="4px";m.style.width="210px";m.style.height="24px";var n=document.createElement("input");
-n.setAttribute("size","7");n.style.textAlign="right";m.appendChild(n);mxUtils.write(m," in x ");var p=document.createElement("input");p.setAttribute("size","7");p.style.textAlign="right";m.appendChild(p);mxUtils.write(m," in");k.style.display="none";m.style.display="none";for(var q={},u=PageSetupDialog.getFormats(),v=0;v<u.length;v++){var r=u[v];q[r.key]=r;var w=document.createElement("option");w.setAttribute("value",r.key);mxUtils.write(w,r.title);g.appendChild(w)}var t=!1;f();a.appendChild(g);mxUtils.br(a);
-a.appendChild(k);a.appendChild(m);var x=d,y=function(a,c){var e=q[g.value];null!=e.format?(n.value=e.format.width/100,p.value=e.format.height/100,m.style.display="none",k.style.display=""):(k.style.display="none",m.style.display="");e=parseFloat(n.value);if(isNaN(e)||0>=e)n.value=d.width/100;e=parseFloat(p.value);if(isNaN(e)||0>=e)p.value=d.height/100;e=new mxRectangle(0,0,Math.floor(100*parseFloat(n.value)),Math.floor(100*parseFloat(p.value)));"custom"!=g.value&&h.checked&&(e=new mxRectangle(0,0,
+n.setAttribute("size","7");n.style.textAlign="right";m.appendChild(n);mxUtils.write(m," in x ");var p=document.createElement("input");p.setAttribute("size","7");p.style.textAlign="right";m.appendChild(p);mxUtils.write(m," in");k.style.display="none";m.style.display="none";for(var r={},u=PageSetupDialog.getFormats(),v=0;v<u.length;v++){var q=u[v];r[q.key]=q;var w=document.createElement("option");w.setAttribute("value",q.key);mxUtils.write(w,q.title);g.appendChild(w)}var t=!1;f();a.appendChild(g);mxUtils.br(a);
+a.appendChild(k);a.appendChild(m);var x=d,y=function(a,c){var e=r[g.value];null!=e.format?(n.value=e.format.width/100,p.value=e.format.height/100,m.style.display="none",k.style.display=""):(k.style.display="none",m.style.display="");e=parseFloat(n.value);if(isNaN(e)||0>=e)n.value=d.width/100;e=parseFloat(p.value);if(isNaN(e)||0>=e)p.value=d.height/100;e=new mxRectangle(0,0,Math.floor(100*parseFloat(n.value)),Math.floor(100*parseFloat(p.value)));"custom"!=g.value&&h.checked&&(e=new mxRectangle(0,0,
 e.height,e.width));c&&t||e.width==x.width&&e.height==x.height||(x=e,null!=b&&b(x))};mxEvent.addListener(c,"click",function(a){e.checked=!0;y(a);mxEvent.consume(a)});mxEvent.addListener(l,"click",function(a){h.checked=!0;y(a);mxEvent.consume(a)});mxEvent.addListener(n,"blur",y);mxEvent.addListener(n,"click",y);mxEvent.addListener(p,"blur",y);mxEvent.addListener(p,"click",y);mxEvent.addListener(h,"change",y);mxEvent.addListener(e,"change",y);mxEvent.addListener(g,"change",function(a){t="custom"==g.value;
 y(a,!0)});y();return{set:function(a){d=a;f(null,null,!0)},get:function(){return x},widthInput:n,heightInput:p}};
 PageSetupDialog.getFormats=function(){return[{key:"letter",title:'US-Letter (8,5" x 11")',format:mxConstants.PAGE_FORMAT_LETTER_PORTRAIT},{key:"legal",title:'US-Legal (8,5" x 14")',format:new mxRectangle(0,0,850,1400)},{key:"tabloid",title:'US-Tabloid (11" x 17")',format:new mxRectangle(0,0,1100,1700)},{key:"executive",title:'US-Executive (7" x 10")',format:new mxRectangle(0,0,700,1E3)},{key:"a0",title:"A0 (841 mm x 1189 mm)",format:new mxRectangle(0,0,3300,4681)},{key:"a1",title:"A1 (594 mm x 841 mm)",
@@ -2134,17 +2137,17 @@ f,this.menubarContainer.onmousedown=f,this.toolbarContainer.onselectstart=f,this
 "absolute"));this.hoverIcons=this.createHoverIcons();mxEvent.addListener(this.diagramContainer,"mousemove",mxUtils.bind(this,function(a){var b=mxUtils.getOffset(this.diagramContainer);0<mxEvent.getClientX(a)-b.x-this.diagramContainer.clientWidth||0<mxEvent.getClientY(a)-b.y-this.diagramContainer.clientHeight?this.diagramContainer.setAttribute("title",mxResources.get("panTooltip")):this.diagramContainer.removeAttribute("title")}));var e=!1,h=this.hoverIcons.isResetEvent;this.hoverIcons.isResetEvent=
 function(a,b){return e||h.apply(this,arguments)};this.keydownHandler=mxUtils.bind(this,function(a){32!=a.which||b.isEditing()?mxEvent.isConsumed(a)||27!=a.keyCode||this.hideDialog(null,!0):(e=!0,this.hoverIcons.reset(),b.container.style.cursor="move",b.isEditing()||mxEvent.getSource(a)!=b.container||mxEvent.consume(a))});mxEvent.addListener(document,"keydown",this.keydownHandler);this.keyupHandler=mxUtils.bind(this,function(a){b.container.style.cursor="";e=!1});mxEvent.addListener(document,"keyup",
 this.keyupHandler);var g=b.panningHandler.isForcePanningEvent;b.panningHandler.isForcePanningEvent=function(a){return g.apply(this,arguments)||e||mxEvent.isMouseEvent(a.getEvent())&&(this.usePopupTrigger||!mxEvent.isPopupTrigger(a.getEvent()))&&(!mxEvent.isControlDown(a.getEvent())&&mxEvent.isRightMouseButton(a.getEvent())||mxEvent.isMiddleMouseButton(a.getEvent()))};var k=b.cellEditor.isStopEditingEvent;b.cellEditor.isStopEditingEvent=function(a){return k.apply(this,arguments)||13==a.keyCode&&(!mxClient.IS_SF&&
-mxEvent.isControlDown(a)||mxClient.IS_MAC&&mxEvent.isMetaDown(a)||mxClient.IS_SF&&mxEvent.isShiftDown(a))};var l=b.isZoomWheelEvent;b.isZoomWheelEvent=function(){return e||l.apply(this,arguments)};var m=!1,n=null,p=null,q=null,u=mxUtils.bind(this,function(){if(null!=this.toolbar&&m!=b.cellEditor.isContentEditing()){for(var a=this.toolbar.container.firstChild,c=[];null!=a;){var d=a.nextSibling;0>mxUtils.indexOf(this.toolbar.staticElements,a)&&(a.parentNode.removeChild(a),c.push(a));a=d}a=this.toolbar.fontMenu;
-d=this.toolbar.sizeMenu;if(null==q)this.toolbar.createTextToolbar();else{for(var e=0;e<q.length;e++)this.toolbar.container.appendChild(q[e]);this.toolbar.fontMenu=n;this.toolbar.sizeMenu=p}m=b.cellEditor.isContentEditing();n=a;p=d;q=c}}),v=this,r=b.cellEditor.startEditing;b.cellEditor.startEditing=function(){r.apply(this,arguments);u();if(b.cellEditor.isContentEditing()){var a=!1,c=function(){a||(a=!0,window.setTimeout(function(){for(var c=b.getSelectedElement();null!=c&&c.nodeType!=mxConstants.NODETYPE_ELEMENT;)c=
+mxEvent.isControlDown(a)||mxClient.IS_MAC&&mxEvent.isMetaDown(a)||mxClient.IS_SF&&mxEvent.isShiftDown(a))};var l=b.isZoomWheelEvent;b.isZoomWheelEvent=function(){return e||l.apply(this,arguments)};var m=!1,n=null,p=null,r=null,u=mxUtils.bind(this,function(){if(null!=this.toolbar&&m!=b.cellEditor.isContentEditing()){for(var a=this.toolbar.container.firstChild,c=[];null!=a;){var d=a.nextSibling;0>mxUtils.indexOf(this.toolbar.staticElements,a)&&(a.parentNode.removeChild(a),c.push(a));a=d}a=this.toolbar.fontMenu;
+d=this.toolbar.sizeMenu;if(null==r)this.toolbar.createTextToolbar();else{for(var e=0;e<r.length;e++)this.toolbar.container.appendChild(r[e]);this.toolbar.fontMenu=n;this.toolbar.sizeMenu=p}m=b.cellEditor.isContentEditing();n=a;p=d;r=c}}),v=this,q=b.cellEditor.startEditing;b.cellEditor.startEditing=function(){q.apply(this,arguments);u();if(b.cellEditor.isContentEditing()){var a=!1,c=function(){a||(a=!0,window.setTimeout(function(){for(var c=b.getSelectedElement();null!=c&&c.nodeType!=mxConstants.NODETYPE_ELEMENT;)c=
 c.parentNode;if(null!=c&&(c=mxUtils.getCurrentStyle(c),null!=c&&null!=v.toolbar)){var d=c.fontFamily;"'"==d.charAt(0)&&(d=d.substring(1));"'"==d.charAt(d.length-1)&&(d=d.substring(0,d.length-1));v.toolbar.setFontName(d);v.toolbar.setFontSize(parseInt(c.fontSize))}a=!1},0))};mxEvent.addListener(b.cellEditor.textarea,"input",c);mxEvent.addListener(b.cellEditor.textarea,"touchend",c);mxEvent.addListener(b.cellEditor.textarea,"mouseup",c);mxEvent.addListener(b.cellEditor.textarea,"keyup",c);c()}};var w=
 b.cellEditor.stopEditing;b.cellEditor.stopEditing=function(a,b){w.apply(this,arguments);u()};b.container.setAttribute("tabindex","0");b.container.style.cursor="default";if(window.self===window.top&&null!=b.container.parentNode)try{b.container.focus()}catch(G){}var t=b.fireMouseEvent;b.fireMouseEvent=function(a,b,c){a==mxEvent.MOUSE_DOWN&&this.container.focus();t.apply(this,arguments)};b.popupMenuHandler.autoExpand=!0;null!=this.menus&&(b.popupMenuHandler.factoryMethod=mxUtils.bind(this,function(a,
 b,c){this.menus.createPopupMenu(a,b,c)}));mxEvent.addGestureListeners(document,mxUtils.bind(this,function(a){b.popupMenuHandler.hideMenu()}));this.keyHandler=this.createKeyHandler(a);this.getKeyHandler=function(){return keyHandler};var x="rounded shadow glass dashed dashPattern comic labelBackgroundColor".split(" "),y="shape edgeStyle curved rounded elbow comic jumpStyle jumpSize".split(" ");this.setDefaultStyle=function(a){try{var c=b.view.getState(a);if(null!=c){var d=a.clone();d.style="";var e=
 b.getCellStyle(d);a=[];var d=[],f;for(f in c.style)e[f]!=c.style[f]&&(a.push(c.style[f]),d.push(f));for(var g=b.getModel().getStyle(c.cell),h=null!=g?g.split(";"):[],g=0;g<h.length;g++){var k=h[g],l=k.indexOf("=");if(0<=l){f=k.substring(0,l);var m=k.substring(l+1);null!=e[f]&&"none"==m&&(a.push(m),d.push(f))}}b.getModel().isEdge(c.cell)?b.currentEdgeStyle={}:b.currentVertexStyle={};this.fireEvent(new mxEventObject("styleChanged","keys",d,"values",a,"cells",[c.cell]))}}catch(N){this.handleError(N)}};
-this.clearDefaultStyle=function(){b.currentEdgeStyle=mxUtils.clone(b.defaultEdgeStyle);b.currentVertexStyle=mxUtils.clone(b.defaultVertexStyle);this.fireEvent(new mxEventObject("styleChanged","keys",[],"values",[],"cells",[]))};var D=["fontFamily","fontSize","fontColor"],B="edgeStyle startArrow startFill startSize endArrow endFill endSize".split(" "),E=["startArrow startFill startSize sourcePerimeterSpacing endArrow endFill endSize targetPerimeterSpacing".split(" "),["strokeColor","strokeWidth"],
-["fillColor","gradientColor"],D,["opacity"],["align"],["html"]];for(a=0;a<E.length;a++)for(c=0;c<E[a].length;c++)x.push(E[a][c]);for(a=0;a<y.length;a++)0>mxUtils.indexOf(x,y[a])&&x.push(y[a]);var A=function(a,c){var d=b.getModel();d.beginUpdate();try{for(var e=0;e<a.length;e++){var f=a[e],g;if(c)g=["fontSize","fontFamily","fontColor"];else{var h=d.getStyle(f),k=null!=h?h.split(";"):[];g=x.slice();for(var l=0;l<k.length;l++){var m=k[l],n=m.indexOf("=");if(0<=n){var p=m.substring(0,n),u=mxUtils.indexOf(g,
-p);0<=u&&g.splice(u,1);for(var z=0;z<E.length;z++){var M=E[z];if(0<=mxUtils.indexOf(M,p))for(var Q=0;Q<M.length;Q++){var U=mxUtils.indexOf(g,M[Q]);0<=U&&g.splice(U,1)}}}}}for(var V=d.isEdge(f),r=V?b.currentEdgeStyle:b.currentVertexStyle,q=d.getStyle(f),l=0;l<g.length;l++){var p=g[l],v=r[p];null==v||"shape"==p&&!V||V&&!(0>mxUtils.indexOf(y,p))||(q=mxUtils.setStyle(q,p,v))}d.setStyle(f,q)}}finally{d.endUpdate()}};b.addListener("cellsInserted",function(a,b){A(b.getProperty("cells"))});b.addListener("textInserted",
+this.clearDefaultStyle=function(){b.currentEdgeStyle=mxUtils.clone(b.defaultEdgeStyle);b.currentVertexStyle=mxUtils.clone(b.defaultVertexStyle);this.fireEvent(new mxEventObject("styleChanged","keys",[],"values",[],"cells",[]))};var C=["fontFamily","fontSize","fontColor"],B="edgeStyle startArrow startFill startSize endArrow endFill endSize".split(" "),E=["startArrow startFill startSize sourcePerimeterSpacing endArrow endFill endSize targetPerimeterSpacing".split(" "),["strokeColor","strokeWidth"],
+["fillColor","gradientColor"],C,["opacity"],["align"],["html"]];for(a=0;a<E.length;a++)for(c=0;c<E[a].length;c++)x.push(E[a][c]);for(a=0;a<y.length;a++)0>mxUtils.indexOf(x,y[a])&&x.push(y[a]);var A=function(a,c){var d=b.getModel();d.beginUpdate();try{for(var e=0;e<a.length;e++){var f=a[e],g;if(c)g=["fontSize","fontFamily","fontColor"];else{var h=d.getStyle(f),k=null!=h?h.split(";"):[];g=x.slice();for(var l=0;l<k.length;l++){var m=k[l],n=m.indexOf("=");if(0<=n){var p=m.substring(0,n),u=mxUtils.indexOf(g,
+p);0<=u&&g.splice(u,1);for(var z=0;z<E.length;z++){var H=E[z];if(0<=mxUtils.indexOf(H,p))for(var Q=0;Q<H.length;Q++){var U=mxUtils.indexOf(g,H[Q]);0<=U&&g.splice(U,1)}}}}}for(var V=d.isEdge(f),q=V?b.currentEdgeStyle:b.currentVertexStyle,r=d.getStyle(f),l=0;l<g.length;l++){var p=g[l],t=q[p];null==t||"shape"==p&&!V||V&&!(0>mxUtils.indexOf(y,p))||(r=mxUtils.setStyle(r,p,t))}d.setStyle(f,r)}}finally{d.endUpdate()}};b.addListener("cellsInserted",function(a,b){A(b.getProperty("cells"))});b.addListener("textInserted",
 function(a,b){A(b.getProperty("cells"),!0)});b.connectionHandler.addListener(mxEvent.CONNECT,function(a,b){var c=[b.getProperty("cell")];b.getProperty("terminalInserted")&&c.push(b.getProperty("terminal"));A(c)});this.addListener("styleChanged",mxUtils.bind(this,function(a,c){var d=c.getProperty("cells"),e=!1,f=!1;if(0<d.length)for(var g=0;g<d.length&&(e=b.getModel().isVertex(d[g])||e,!(f=b.getModel().isEdge(d[g])||f)||!e);g++);else f=e=!0;for(var d=c.getProperty("keys"),h=c.getProperty("values"),
-g=0;g<d.length;g++){var k=0<=mxUtils.indexOf(D,d[g]);if("strokeColor"!=d[g]||null!=h[g]&&"none"!=h[g])if(0<=mxUtils.indexOf(y,d[g]))f||0<=mxUtils.indexOf(B,d[g])?null==h[g]?delete b.currentEdgeStyle[d[g]]:b.currentEdgeStyle[d[g]]=h[g]:e&&0<=mxUtils.indexOf(x,d[g])&&(null==h[g]?delete b.currentVertexStyle[d[g]]:b.currentVertexStyle[d[g]]=h[g]);else if(0<=mxUtils.indexOf(x,d[g])){if(e||k)null==h[g]?delete b.currentVertexStyle[d[g]]:b.currentVertexStyle[d[g]]=h[g];if(f||k||0<=mxUtils.indexOf(B,d[g]))null==
+g=0;g<d.length;g++){var k=0<=mxUtils.indexOf(C,d[g]);if("strokeColor"!=d[g]||null!=h[g]&&"none"!=h[g])if(0<=mxUtils.indexOf(y,d[g]))f||0<=mxUtils.indexOf(B,d[g])?null==h[g]?delete b.currentEdgeStyle[d[g]]:b.currentEdgeStyle[d[g]]=h[g]:e&&0<=mxUtils.indexOf(x,d[g])&&(null==h[g]?delete b.currentVertexStyle[d[g]]:b.currentVertexStyle[d[g]]=h[g]);else if(0<=mxUtils.indexOf(x,d[g])){if(e||k)null==h[g]?delete b.currentVertexStyle[d[g]]:b.currentVertexStyle[d[g]]=h[g];if(f||k||0<=mxUtils.indexOf(B,d[g]))null==
 h[g]?delete b.currentEdgeStyle[d[g]]:b.currentEdgeStyle[d[g]]=h[g]}}null!=this.toolbar&&(this.toolbar.setFontName(b.currentVertexStyle.fontFamily||Menus.prototype.defaultFont),this.toolbar.setFontSize(b.currentVertexStyle.fontSize||Menus.prototype.defaultFontSize),null!=this.toolbar.edgeStyleMenu&&(this.toolbar.edgeStyleMenu.getElementsByTagName("div")[0].className="orthogonalEdgeStyle"==b.currentEdgeStyle.edgeStyle&&"1"==b.currentEdgeStyle.curved?"geSprite geSprite-curved":"straight"==b.currentEdgeStyle.edgeStyle||
 "none"==b.currentEdgeStyle.edgeStyle||null==b.currentEdgeStyle.edgeStyle?"geSprite geSprite-straight":"entityRelationEdgeStyle"==b.currentEdgeStyle.edgeStyle?"geSprite geSprite-entity":"elbowEdgeStyle"==b.currentEdgeStyle.edgeStyle?"geSprite geSprite-"+("vertical"==b.currentEdgeStyle.elbow?"verticalelbow":"horizontalelbow"):"isometricEdgeStyle"==b.currentEdgeStyle.edgeStyle?"geSprite geSprite-"+("vertical"==b.currentEdgeStyle.elbow?"verticalisometric":"horizontalisometric"):"geSprite geSprite-orthogonal"),
 null!=this.toolbar.edgeShapeMenu&&(this.toolbar.edgeShapeMenu.getElementsByTagName("div")[0].className="link"==b.currentEdgeStyle.shape?"geSprite geSprite-linkedge":"flexArrow"==b.currentEdgeStyle.shape?"geSprite geSprite-arrow":"arrow"==b.currentEdgeStyle.shape?"geSprite geSprite-simplearrow":"geSprite geSprite-connection"),null!=this.toolbar.lineStartMenu&&(this.toolbar.lineStartMenu.getElementsByTagName("div")[0].className=this.getCssClassForMarker("start",b.currentEdgeStyle.shape,b.currentEdgeStyle[mxConstants.STYLE_STARTARROW],
@@ -2169,7 +2172,7 @@ EditorUi.prototype.initClipboard=function(){var a=this,c=mxClipboard.cut;mxClipb
 var f=this.editor.graph.cellEditor.stopEditing;this.editor.graph.cellEditor.stopEditing=function(b,c){f.apply(this,arguments);a.updatePasteActionStates()};this.updatePasteActionStates()};EditorUi.prototype.lazyZoomDelay=20;EditorUi.prototype.wheelZoomDelay=400;EditorUi.prototype.buttonZoomDelay=600;
 EditorUi.prototype.initCanvas=function(){var a=this.editor.graph;a.timerAutoScroll=!0;a.getPagePadding=function(){return new mxPoint(Math.max(0,Math.round((a.container.offsetWidth-34)/a.view.scale)),Math.max(0,Math.round((a.container.offsetHeight-34)/a.view.scale)))};a.view.getBackgroundPageBounds=function(){var a=this.graph.getPageLayout(),b=this.graph.getPageSize();return new mxRectangle(this.scale*(this.translate.x+a.x*b.width),this.scale*(this.translate.y+a.y*b.height),this.scale*a.width*b.width,
 this.scale*a.height*b.height)};a.getPreferredPageSize=function(a,b,c){a=this.getPageLayout();b=this.getPageSize();return new mxRectangle(0,0,a.width*b.width,a.height*b.height)};var c=null,d=this;if(this.editor.isChromelessView()){this.chromelessResize=c=mxUtils.bind(this,function(b,c,d,e){if(null!=a.container&&!a.isViewer()){d=null!=d?d:0;e=null!=e?e:0;var g=a.pageVisible?a.view.getBackgroundPageBounds():a.getGraphBounds(),f=mxUtils.hasScrollbars(a.container),h=a.view.translate,k=a.view.scale,l=mxRectangle.fromRectangle(g);
-l.x=l.x/k-h.x;l.y=l.y/k-h.y;l.width/=k;l.height/=k;var h=a.container.scrollTop,m=a.container.scrollLeft,z=mxClient.IS_QUIRKS||8<=document.documentMode?20:14;if(8==document.documentMode||9==document.documentMode)z+=3;var M=a.container.offsetWidth-z,z=a.container.offsetHeight-z;b=b?Math.max(.3,Math.min(c||1,M/l.width)):k;c=(M-b*l.width)/2/b;var n=0==this.lightboxVerticalDivider?0:(z-b*l.height)/this.lightboxVerticalDivider/b;f&&(c=Math.max(c,0),n=Math.max(n,0));if(f||g.width<M||g.height<z)a.view.scaleAndTranslate(b,
+l.x=l.x/k-h.x;l.y=l.y/k-h.y;l.width/=k;l.height/=k;var h=a.container.scrollTop,m=a.container.scrollLeft,z=mxClient.IS_QUIRKS||8<=document.documentMode?20:14;if(8==document.documentMode||9==document.documentMode)z+=3;var H=a.container.offsetWidth-z,z=a.container.offsetHeight-z;b=b?Math.max(.3,Math.min(c||1,H/l.width)):k;c=(H-b*l.width)/2/b;var n=0==this.lightboxVerticalDivider?0:(z-b*l.height)/this.lightboxVerticalDivider/b;f&&(c=Math.max(c,0),n=Math.max(n,0));if(f||g.width<H||g.height<z)a.view.scaleAndTranslate(b,
 Math.floor(c-l.x),Math.floor(n-l.y)),a.container.scrollTop=h*b/k,a.container.scrollLeft=m*b/k;else if(0!=d||0!=e)g=a.view.translate,a.view.setTranslate(Math.floor(g.x+d/k),Math.floor(g.y+e/k))}});this.chromelessWindowResize=mxUtils.bind(this,function(){this.chromelessResize(!1)});var b=mxUtils.bind(this,function(){this.chromelessWindowResize(!1)});mxEvent.addListener(window,"resize",b);this.destroyFunctions.push(function(){mxEvent.removeListener(window,"resize",b)});this.editor.addListener("resetGraphView",
 mxUtils.bind(this,function(){this.chromelessResize(!0)}));this.actions.get("zoomIn").funct=mxUtils.bind(this,function(b){a.zoomIn();this.chromelessResize(!1)});this.actions.get("zoomOut").funct=mxUtils.bind(this,function(b){a.zoomOut();this.chromelessResize(!1)});if("0"!=urlParams.toolbar){var f=JSON.parse(decodeURIComponent(urlParams["toolbar-config"]||"{}"));this.chromelessToolbar=document.createElement("div");this.chromelessToolbar.style.position="fixed";this.chromelessToolbar.style.overflow="hidden";
 this.chromelessToolbar.style.boxSizing="border-box";this.chromelessToolbar.style.whiteSpace="nowrap";this.chromelessToolbar.style.backgroundColor="#000000";this.chromelessToolbar.style.padding="10px 10px 8px 10px";this.chromelessToolbar.style.left=a.isViewer()?"0":"50%";mxClient.IS_VML||(mxUtils.setPrefixedStyle(this.chromelessToolbar.style,"borderRadius","20px"),mxUtils.setPrefixedStyle(this.chromelessToolbar.style,"transition","opacity 600ms ease-in-out"));var e=mxUtils.bind(this,function(){var b=
@@ -2178,25 +2181,25 @@ c);a=document.createElement("img");a.setAttribute("border","0");a.setAttribute("
 k.style.display="inline-block";k.style.verticalAlign="top";k.style.fontFamily="Helvetica,Arial";k.style.marginTop="8px";k.style.fontSize="14px";k.style.color="#ffffff";this.chromelessToolbar.appendChild(k);var l=e(mxUtils.bind(this,function(a){this.actions.get("nextPage").funct();mxEvent.consume(a)}),Editor.nextLargeImage,mxResources.get("nextPage")),m=mxUtils.bind(this,function(){null!=this.pages&&1<this.pages.length&&null!=this.currentPage&&(k.innerHTML="",mxUtils.write(k,mxUtils.indexOf(this.pages,
 this.currentPage)+1+" / "+this.pages.length))});g.style.paddingLeft="0px";g.style.paddingRight="4px";l.style.paddingLeft="4px";l.style.paddingRight="0px";var n=mxUtils.bind(this,function(){null!=this.pages&&1<this.pages.length&&null!=this.currentPage?(l.style.display="",g.style.display="",k.style.display="inline-block"):(l.style.display="none",g.style.display="none",k.style.display="none");m()});this.editor.addListener("resetGraphView",n);this.editor.addListener("pageSelected",m);e(mxUtils.bind(this,
 function(a){this.actions.get("zoomOut").funct();mxEvent.consume(a)}),Editor.zoomOutLargeImage,mxResources.get("zoomOut")+" (Alt+Mousewheel)");e(mxUtils.bind(this,function(a){this.actions.get("zoomIn").funct();mxEvent.consume(a)}),Editor.zoomInLargeImage,mxResources.get("zoomIn")+" (Alt+Mousewheel)");e(mxUtils.bind(this,function(b){a.isLightboxView()?(1==a.view.scale?this.lightboxFit():a.zoomTo(1),this.chromelessResize(!1)):this.chromelessResize(!0);mxEvent.consume(b)}),Editor.actualSizeLargeImage,
-mxResources.get("fit"));var p=null,q=null,u=mxUtils.bind(this,function(a){null!=p&&(window.clearTimeout(p),fadeThead=null);null!=q&&(window.clearTimeout(q),fadeThead2=null);p=window.setTimeout(mxUtils.bind(this,function(){mxUtils.setOpacity(this.chromelessToolbar,0);p=null;q=window.setTimeout(mxUtils.bind(this,function(){this.chromelessToolbar.style.display="none";q=null}),600)}),a||200)}),v=mxUtils.bind(this,function(a){null!=p&&(window.clearTimeout(p),fadeThead=null);null!=q&&(window.clearTimeout(q),
-fadeThead2=null);this.chromelessToolbar.style.display="";mxUtils.setOpacity(this.chromelessToolbar,a||30)});if("1"==urlParams.layers){this.layersDialog=null;var r=e(mxUtils.bind(this,function(b){if(null!=this.layersDialog)this.layersDialog.parentNode.removeChild(this.layersDialog),this.layersDialog=null;else{this.layersDialog=a.createLayersDialog();mxEvent.addListener(this.layersDialog,"mouseleave",mxUtils.bind(this,function(){this.layersDialog.parentNode.removeChild(this.layersDialog);this.layersDialog=
-null}));var c=r.getBoundingClientRect();mxUtils.setPrefixedStyle(this.layersDialog.style,"borderRadius","5px");this.layersDialog.style.position="fixed";this.layersDialog.style.fontFamily="Helvetica,Arial";this.layersDialog.style.backgroundColor="#000000";this.layersDialog.style.width="160px";this.layersDialog.style.padding="4px 2px 4px 2px";this.layersDialog.style.color="#ffffff";mxUtils.setOpacity(this.layersDialog,70);this.layersDialog.style.left=c.left+"px";this.layersDialog.style.bottom=parseInt(this.chromelessToolbar.style.bottom)+
-this.chromelessToolbar.offsetHeight+4+"px";c=mxUtils.getCurrentStyle(this.editor.graph.container);this.layersDialog.style.zIndex=c.zIndex;document.body.appendChild(this.layersDialog)}mxEvent.consume(b)}),Editor.layersLargeImage,mxResources.get("layers")),w=a.getModel();w.addListener(mxEvent.CHANGE,function(){r.style.display=1<w.getChildCount(w.root)?"":"none"})}this.addChromelessToolbarItems(e);null==this.editor.editButtonLink&&null==this.editor.editButtonFunc||e(mxUtils.bind(this,function(b){null!=
+mxResources.get("fit"));var p=null,r=null,u=mxUtils.bind(this,function(a){null!=p&&(window.clearTimeout(p),fadeThead=null);null!=r&&(window.clearTimeout(r),fadeThead2=null);p=window.setTimeout(mxUtils.bind(this,function(){mxUtils.setOpacity(this.chromelessToolbar,0);p=null;r=window.setTimeout(mxUtils.bind(this,function(){this.chromelessToolbar.style.display="none";r=null}),600)}),a||200)}),v=mxUtils.bind(this,function(a){null!=p&&(window.clearTimeout(p),fadeThead=null);null!=r&&(window.clearTimeout(r),
+fadeThead2=null);this.chromelessToolbar.style.display="";mxUtils.setOpacity(this.chromelessToolbar,a||30)});if("1"==urlParams.layers){this.layersDialog=null;var q=e(mxUtils.bind(this,function(b){if(null!=this.layersDialog)this.layersDialog.parentNode.removeChild(this.layersDialog),this.layersDialog=null;else{this.layersDialog=a.createLayersDialog();mxEvent.addListener(this.layersDialog,"mouseleave",mxUtils.bind(this,function(){this.layersDialog.parentNode.removeChild(this.layersDialog);this.layersDialog=
+null}));var c=q.getBoundingClientRect();mxUtils.setPrefixedStyle(this.layersDialog.style,"borderRadius","5px");this.layersDialog.style.position="fixed";this.layersDialog.style.fontFamily="Helvetica,Arial";this.layersDialog.style.backgroundColor="#000000";this.layersDialog.style.width="160px";this.layersDialog.style.padding="4px 2px 4px 2px";this.layersDialog.style.color="#ffffff";mxUtils.setOpacity(this.layersDialog,70);this.layersDialog.style.left=c.left+"px";this.layersDialog.style.bottom=parseInt(this.chromelessToolbar.style.bottom)+
+this.chromelessToolbar.offsetHeight+4+"px";c=mxUtils.getCurrentStyle(this.editor.graph.container);this.layersDialog.style.zIndex=c.zIndex;document.body.appendChild(this.layersDialog)}mxEvent.consume(b)}),Editor.layersLargeImage,mxResources.get("layers")),w=a.getModel();w.addListener(mxEvent.CHANGE,function(){q.style.display=1<w.getChildCount(w.root)?"":"none"})}this.addChromelessToolbarItems(e);null==this.editor.editButtonLink&&null==this.editor.editButtonFunc||e(mxUtils.bind(this,function(b){null!=
 this.editor.editButtonFunc?this.editor.editButtonFunc():"_blank"==this.editor.editButtonLink?this.editor.editAsNew(this.getEditBlankXml()):a.openLink(this.editor.editButtonLink,"editWindow");mxEvent.consume(b)}),Editor.editLargeImage,mxResources.get("edit"));if(null!=this.lightboxToolbarActions)for(n=0;n<this.lightboxToolbarActions.length;n++){var t=this.lightboxToolbarActions[n];e(t.fn,t.icon,t.tooltip)}null!=f.refreshBtn&&e(mxUtils.bind(this,function(a){f.refreshBtn.url?window.location.href=f.refreshBtn.url:
 window.location.reload();mxEvent.consume(a)}),Editor.refreshLargeImage,mxResources.get("refresh",null,"Refresh"));null!=f.fullscreenBtn&&window.self!==window.top&&e(mxUtils.bind(this,function(b){f.fullscreenBtn.url?a.openLink(f.fullscreenBtn.url):a.openLink(window.location.href);mxEvent.consume(b)}),Editor.fullscreenLargeImage,mxResources.get("openInNewWindow",null,"Open in New Window"));(f.closeBtn&&window.self===window.top||a.lightbox&&("1"==urlParams.close||this.container!=document.body))&&e(mxUtils.bind(this,
 function(a){"1"==urlParams.close||f.closeBtn?window.close():(this.destroy(),mxEvent.consume(a))}),Editor.closeLargeImage,mxResources.get("close")+" (Escape)");this.chromelessToolbar.style.display="none";a.isViewer()||mxUtils.setPrefixedStyle(this.chromelessToolbar.style,"transform","translate(-50%,0)");a.container.appendChild(this.chromelessToolbar);mxEvent.addListener(a.container,mxClient.IS_POINTER?"pointermove":"mousemove",mxUtils.bind(this,function(a){mxEvent.isTouchEvent(a)||(mxEvent.isShiftDown(a)||
 v(30),u())}));mxEvent.addListener(this.chromelessToolbar,mxClient.IS_POINTER?"pointermove":"mousemove",function(a){mxEvent.consume(a)});mxEvent.addListener(this.chromelessToolbar,"mouseenter",mxUtils.bind(this,function(a){mxEvent.isShiftDown(a)?u():v(100)}));mxEvent.addListener(this.chromelessToolbar,"mousemove",mxUtils.bind(this,function(a){mxEvent.isShiftDown(a)?u():v(100);mxEvent.consume(a)}));mxEvent.addListener(this.chromelessToolbar,"mouseleave",mxUtils.bind(this,function(a){mxEvent.isTouchEvent(a)||
 v(30)}));var x=a.getTolerance();a.addMouseListener({startX:0,startY:0,scrollLeft:0,scrollTop:0,mouseDown:function(b,c){this.startX=c.getGraphX();this.startY=c.getGraphY();this.scrollLeft=a.container.scrollLeft;this.scrollTop=a.container.scrollTop},mouseMove:function(a,b){},mouseUp:function(b,c){mxEvent.isTouchEvent(c.getEvent())&&Math.abs(this.scrollLeft-a.container.scrollLeft)<x&&Math.abs(this.scrollTop-a.container.scrollTop)<x&&Math.abs(this.startX-c.getGraphX())<x&&Math.abs(this.startY-c.getGraphY())<
-x&&(0<parseFloat(d.chromelessToolbar.style.opacity||0)?u():v(30))}})}this.editor.editable||this.addChromelessClickHandler()}else if(this.editor.extendCanvas){var y=a.view.validate;a.view.validate=function(){if(null!=this.graph.container&&mxUtils.hasScrollbars(this.graph.container)){var a=this.graph.getPagePadding(),b=this.graph.getPageSize();this.translate.x=a.x-(this.x0||0)*b.width;this.translate.y=a.y-(this.y0||0)*b.height}y.apply(this,arguments)};if(!a.isViewer()){var D=a.sizeDidChange;a.sizeDidChange=
-function(){if(null!=this.container&&mxUtils.hasScrollbars(this.container)){var b=this.getPageLayout(),c=this.getPagePadding(),d=this.getPageSize(),e=Math.ceil(2*c.x+b.width*d.width),g=Math.ceil(2*c.y+b.height*d.height),f=a.minimumGraphSize;if(null==f||f.width!=e||f.height!=g)a.minimumGraphSize=new mxRectangle(0,0,e,g);e=c.x-b.x*d.width;c=c.y-b.y*d.height;this.autoTranslate||this.view.translate.x==e&&this.view.translate.y==c?D.apply(this,arguments):(this.autoTranslate=!0,this.view.x0=b.x,this.view.y0=
-b.y,b=a.view.translate.x,d=a.view.translate.y,a.view.setTranslate(e,c),a.container.scrollLeft+=Math.round((e-b)*a.view.scale),a.container.scrollTop+=Math.round((c-d)*a.view.scale),this.autoTranslate=!1)}else this.fireEvent(new mxEventObject(mxEvent.SIZE,"bounds",this.getGraphBounds()))}}}var B=a.view.getBackgroundPane(),E=a.view.getDrawPane();a.cumulativeZoomFactor=1;var A=null,G=null,J=null,H=function(b){null!=A&&window.clearTimeout(A);window.setTimeout(function(){a.isMouseDown||(A=window.setTimeout(mxUtils.bind(this,
+x&&(0<parseFloat(d.chromelessToolbar.style.opacity||0)?u():v(30))}})}this.editor.editable||this.addChromelessClickHandler()}else if(this.editor.extendCanvas){var y=a.view.validate;a.view.validate=function(){if(null!=this.graph.container&&mxUtils.hasScrollbars(this.graph.container)){var a=this.graph.getPagePadding(),b=this.graph.getPageSize();this.translate.x=a.x-(this.x0||0)*b.width;this.translate.y=a.y-(this.y0||0)*b.height}y.apply(this,arguments)};if(!a.isViewer()){var C=a.sizeDidChange;a.sizeDidChange=
+function(){if(null!=this.container&&mxUtils.hasScrollbars(this.container)){var b=this.getPageLayout(),c=this.getPagePadding(),d=this.getPageSize(),e=Math.ceil(2*c.x+b.width*d.width),g=Math.ceil(2*c.y+b.height*d.height),f=a.minimumGraphSize;if(null==f||f.width!=e||f.height!=g)a.minimumGraphSize=new mxRectangle(0,0,e,g);e=c.x-b.x*d.width;c=c.y-b.y*d.height;this.autoTranslate||this.view.translate.x==e&&this.view.translate.y==c?C.apply(this,arguments):(this.autoTranslate=!0,this.view.x0=b.x,this.view.y0=
+b.y,b=a.view.translate.x,d=a.view.translate.y,a.view.setTranslate(e,c),a.container.scrollLeft+=Math.round((e-b)*a.view.scale),a.container.scrollTop+=Math.round((c-d)*a.view.scale),this.autoTranslate=!1)}else this.fireEvent(new mxEventObject(mxEvent.SIZE,"bounds",this.getGraphBounds()))}}}var B=a.view.getBackgroundPane(),E=a.view.getDrawPane();a.cumulativeZoomFactor=1;var A=null,G=null,J=null,I=function(b){null!=A&&window.clearTimeout(A);window.setTimeout(function(){a.isMouseDown||(A=window.setTimeout(mxUtils.bind(this,
 function(){a.isFastZoomEnabled()&&(null!=a.view.backgroundPageShape&&null!=a.view.backgroundPageShape.node&&(mxUtils.setPrefixedStyle(a.view.backgroundPageShape.node.style,"transform-origin",null),mxUtils.setPrefixedStyle(a.view.backgroundPageShape.node.style,"transform",null)),E.style.transformOrigin="",B.style.transformOrigin="",mxClient.IS_SF?(E.style.transform="scale(1)",B.style.transform="scale(1)",window.setTimeout(function(){E.style.transform="";B.style.transform=""},0)):(E.style.transform=
 "",B.style.transform=""),a.view.getDecoratorPane().style.opacity="",a.view.getOverlayPane().style.opacity="");var b=new mxPoint(a.container.scrollLeft,a.container.scrollTop),e=mxUtils.getOffset(a.container),g=a.view.scale,f=0,h=0;null!=G&&(f=a.container.offsetWidth/2-G.x+e.x,h=a.container.offsetHeight/2-G.y+e.y);a.zoom(a.cumulativeZoomFactor);a.view.scale!=g&&(null!=J&&(f+=b.x-J.x,h+=b.y-J.y),null!=c&&d.chromelessResize(!1,null,f*(a.cumulativeZoomFactor-1),h*(a.cumulativeZoomFactor-1)),!mxUtils.hasScrollbars(a.container)||
 0==f&&0==h||(a.container.scrollLeft-=f*(a.cumulativeZoomFactor-1),a.container.scrollTop-=h*(a.cumulativeZoomFactor-1)));a.cumulativeZoomFactor=1;G=J=A=null}),null!=b?b:a.isFastZoomEnabled()?d.wheelZoomDelay:d.lazyZoomDelay))},0)};a.lazyZoom=function(b,c,e){(c=c||!a.scrollbars)&&(G=new mxPoint(a.container.offsetLeft+a.container.clientWidth/2,a.container.offsetTop+a.container.clientHeight/2));b?.15>=this.view.scale*this.cumulativeZoomFactor?this.cumulativeZoomFactor*=(this.view.scale+.05)/this.view.scale:
 (this.cumulativeZoomFactor*=this.zoomFactor,this.cumulativeZoomFactor=Math.round(this.view.scale*this.cumulativeZoomFactor*20)/20/this.view.scale):.15>=this.view.scale*this.cumulativeZoomFactor?this.cumulativeZoomFactor*=(this.view.scale-.05)/this.view.scale:(this.cumulativeZoomFactor/=this.zoomFactor,this.cumulativeZoomFactor=Math.round(this.view.scale*this.cumulativeZoomFactor*20)/20/this.view.scale);this.cumulativeZoomFactor=Math.max(.05,Math.min(this.view.scale*this.cumulativeZoomFactor,160))/
 this.view.scale;if(a.isFastZoomEnabled()){J=new mxPoint(a.container.scrollLeft,a.container.scrollTop);b=c?a.container.scrollLeft+a.container.clientWidth/2:G.x+a.container.scrollLeft-a.container.offsetLeft;var f=c?a.container.scrollTop+a.container.clientHeight/2:G.y+a.container.scrollTop-a.container.offsetTop;E.style.transformOrigin=b+"px "+f+"px";E.style.transform="scale("+this.cumulativeZoomFactor+")";B.style.transformOrigin=b+"px "+f+"px";B.style.transform="scale("+this.cumulativeZoomFactor+")";
 null!=a.view.backgroundPageShape&&null!=a.view.backgroundPageShape.node&&(b=a.view.backgroundPageShape.node,mxUtils.setPrefixedStyle(b.style,"transform-origin",(c?a.container.clientWidth/2+a.container.scrollLeft-b.offsetLeft+"px":G.x+a.container.scrollLeft-b.offsetLeft-a.container.offsetLeft+"px")+" "+(c?a.container.clientHeight/2+a.container.scrollTop-b.offsetTop+"px":G.y+a.container.scrollTop-b.offsetTop-a.container.offsetTop+"px")),mxUtils.setPrefixedStyle(b.style,"transform","scale("+this.cumulativeZoomFactor+
-")"));a.view.getDecoratorPane().style.opacity="0";a.view.getOverlayPane().style.opacity="0";null!=d.hoverIcons&&d.hoverIcons.reset()}H(e)};mxEvent.addGestureListeners(a.container,function(a){null!=A&&window.clearTimeout(A)},null,function(b){1!=a.cumulativeZoomFactor&&H(0)});mxEvent.addListener(a.container,"scroll",function(){A&&!a.isMouseDown&&1!=a.cumulativeZoomFactor&&H(0)});mxEvent.addMouseWheelListener(mxUtils.bind(this,function(b,c,d){if(null==this.dialogs||0==this.dialogs.length)if(!a.scrollbars&&
+")"));a.view.getDecoratorPane().style.opacity="0";a.view.getOverlayPane().style.opacity="0";null!=d.hoverIcons&&d.hoverIcons.reset()}I(e)};mxEvent.addGestureListeners(a.container,function(a){null!=A&&window.clearTimeout(A)},null,function(b){1!=a.cumulativeZoomFactor&&I(0)});mxEvent.addListener(a.container,"scroll",function(){A&&!a.isMouseDown&&1!=a.cumulativeZoomFactor&&I(0)});mxEvent.addMouseWheelListener(mxUtils.bind(this,function(b,c,d){if(null==this.dialogs||0==this.dialogs.length)if(!a.scrollbars&&
 !a.isZoomWheelEvent(b)){d=a.view.getTranslate();var e=40/a.view.scale;mxEvent.isShiftDown(b)?a.view.setTranslate(d.x+(c?-e:e),d.y):a.view.setTranslate(d.x,d.y+(c?e:-e))}else if(d||a.isZoomWheelEvent(b))for(d=mxEvent.getSource(b);null!=d;){if(d==a.container)return a.tooltipHandler.hideTooltip(),G=new mxPoint(mxEvent.getClientX(b),mxEvent.getClientY(b)),a.lazyZoom(c),mxEvent.consume(b),!1;d=d.parentNode}}),a.container);a.panningHandler.zoomGraph=function(b){a.cumulativeZoomFactor=b.scale;a.lazyZoom(0<
 b.scale,!0);mxEvent.consume(b)}};EditorUi.prototype.addChromelessToolbarItems=function(a){a(mxUtils.bind(this,function(a){this.actions.get("print").funct();mxEvent.consume(a)}),Editor.printLargeImage,mxResources.get("print"))};
 EditorUi.prototype.createTemporaryGraph=function(a){a=new Graph(document.createElement("div"),null,null,a);a.resetViewOnRootChange=!1;a.setConnectable(!1);a.gridEnabled=!1;a.autoScroll=!1;a.setTooltips(!1);a.setEnabled(!1);a.container.style.visibility="hidden";a.container.style.position="absolute";a.container.style.overflow="hidden";a.container.style.height="1px";a.container.style.width="1px";return a};
@@ -2260,17 +2263,17 @@ EditorUi.prototype.showDataDialog=function(a){null!=a&&(a=new EditDataDialog(thi
 EditorUi.prototype.showBackgroundImageDialog=function(a){a=null!=a?a:mxUtils.bind(this,function(a){a=new ChangePageSetup(this,null,a);a.ignoreColor=!0;this.editor.graph.model.execute(a)});var c=mxUtils.prompt(mxResources.get("backgroundImage"),"");if(null!=c&&0<c.length){var d=new Image;d.onload=function(){a(new mxImage(c,d.width,d.height))};d.onerror=function(){a(null);mxUtils.alert(mxResources.get("fileNotFound"))};d.src=c}else a(null)};
 EditorUi.prototype.setBackgroundImage=function(a){this.editor.graph.setBackgroundImage(a);this.editor.graph.view.validateBackgroundImage();this.fireEvent(new mxEventObject("backgroundImageChanged"))};EditorUi.prototype.confirm=function(a,c,d){mxUtils.confirm(a)?null!=c&&c():null!=d&&d()};
 EditorUi.prototype.createOutline=function(a){var c=new mxOutline(this.editor.graph);c.border=20;mxEvent.addListener(window,"resize",function(){c.update()});this.addListener("pageFormatChanged",function(){c.update()});return c};EditorUi.prototype.altShiftActions={67:"clearWaypoints",65:"connectionArrows",76:"editLink",80:"connectionPoints",84:"editTooltip",86:"pasteSize",88:"copySize"};
-EditorUi.prototype.createKeyHandler=function(a){function c(a,c,d){h.push(function(){if(!b.isSelectionEmpty()&&b.isEnabled())if(c=null!=c?c:1,d){b.getModel().beginUpdate();try{for(var e=b.getSelectionCells(),f=0;f<e.length;f++)if(b.getModel().isVertex(e[f])&&b.isCellResizable(e[f])){var g=b.getCellGeometry(e[f]);null!=g&&(g=g.clone(),37==a?g.width=Math.max(0,g.width-c):38==a?g.height=Math.max(0,g.height-c):39==a?g.width+=c:40==a&&(g.height+=c),b.getModel().setGeometry(e[f],g))}}finally{b.getModel().endUpdate()}}else e=
-b.getSelectionCell(),f=b.model.getParent(e),g=null,1==b.getSelectionCount()&&b.model.isVertex(e)&&null!=b.layoutManager&&!b.isCellLocked(e)&&(g=b.layoutManager.getLayout(f)),null!=g&&g.constructor==mxStackLayout?(g=f.getIndex(e),37==a||38==a?b.model.add(f,e,Math.max(0,g-1)):39!=a&&40!=a||b.model.add(f,e,Math.min(b.model.getChildCount(f),g+1))):(f=e=0,37==a?e=-c:38==a?f=-c:39==a?e=c:40==a&&(f=c),b.moveCells(b.getMovableCells(b.getSelectionCells()),e,f))});null!=g&&window.clearTimeout(g);g=window.setTimeout(function(){if(0<
-h.length){b.getModel().beginUpdate();try{for(var a=0;a<h.length;a++)h[a]();h=[]}finally{b.getModel().endUpdate()}}},200)}var d=this,b=this.editor.graph,f=new mxKeyHandler(b),e=f.isEventIgnored;f.isEventIgnored=function(a){return(!this.isControlDown(a)||mxEvent.isShiftDown(a)||90!=a.keyCode&&89!=a.keyCode&&188!=a.keyCode&&190!=a.keyCode&&85!=a.keyCode)&&(66!=a.keyCode&&73!=a.keyCode||!this.isControlDown(a)||this.graph.cellEditor.isContentEditing()&&!mxClient.IS_FF&&!mxClient.IS_SF)&&e.apply(this,arguments)};
-f.isEnabledForEvent=function(a){return!mxEvent.isConsumed(a)&&this.isGraphEvent(a)&&this.isEnabled()&&(null==d.dialogs||0==d.dialogs.length)};f.isControlDown=function(a){return mxEvent.isControlDown(a)||mxClient.IS_MAC&&a.metaKey};var h=[],g=null,k={37:mxConstants.DIRECTION_WEST,38:mxConstants.DIRECTION_NORTH,39:mxConstants.DIRECTION_EAST,40:mxConstants.DIRECTION_SOUTH},l=f.getFunction;mxKeyHandler.prototype.getFunction=function(a){if(b.isEnabled()){if(mxEvent.isShiftDown(a)&&mxEvent.isAltDown(a)){var e=
-d.actions.get(d.altShiftActions[a.keyCode]);if(null!=e)return e.funct}if(9==a.keyCode&&mxEvent.isAltDown(a))return mxEvent.isShiftDown(a)?function(){b.selectParentCell()}:function(){b.selectChildCell()};if(null!=k[a.keyCode]&&!b.isSelectionEmpty())if(!this.isControlDown(a)&&mxEvent.isShiftDown(a)&&mxEvent.isAltDown(a)){if(b.model.isVertex(b.getSelectionCell()))return function(){var c=b.connectVertex(b.getSelectionCell(),k[a.keyCode],b.defaultEdgeLength,a,!0);null!=c&&0<c.length&&(1==c.length&&b.model.isEdge(c[0])?
-b.setSelectionCell(b.model.getTerminal(c[0],!1)):b.setSelectionCell(c[c.length-1]),b.scrollCellToVisible(b.getSelectionCell()),null!=d.hoverIcons&&d.hoverIcons.update(b.view.getState(b.getSelectionCell())))}}else return this.isControlDown(a)?function(){c(a.keyCode,mxEvent.isShiftDown(a)?b.gridSize:null,!0)}:function(){c(a.keyCode,mxEvent.isShiftDown(a)?b.gridSize:null)}}return l.apply(this,arguments)};f.bindAction=mxUtils.bind(this,function(a,b,c,d){var e=this.actions.get(c);null!=e&&(c=function(){e.isEnabled()&&
-e.funct()},b?d?f.bindControlShiftKey(a,c):f.bindControlKey(a,c):d?f.bindShiftKey(a,c):f.bindKey(a,c))});var m=this,n=f.escape;f.escape=function(a){n.apply(this,arguments)};f.enter=function(){};f.bindControlShiftKey(36,function(){b.exitGroup()});f.bindControlShiftKey(35,function(){b.enterGroup()});f.bindKey(36,function(){b.home()});f.bindKey(35,function(){b.refresh()});f.bindAction(107,!0,"zoomIn");f.bindAction(109,!0,"zoomOut");f.bindAction(80,!0,"print");f.bindAction(79,!0,"outline",!0);f.bindAction(112,
-!1,"about");if(!this.editor.chromeless||this.editor.editable)f.bindControlKey(36,function(){b.isEnabled()&&b.foldCells(!0)}),f.bindControlKey(35,function(){b.isEnabled()&&b.foldCells(!1)}),f.bindControlKey(13,function(){if(b.isEnabled())try{b.setSelectionCells(b.duplicateCells(b.getSelectionCells(),!1))}catch(p){m.handleError(p)}}),f.bindAction(8,!1,"delete"),f.bindAction(8,!0,"deleteAll"),f.bindAction(46,!1,"delete"),f.bindAction(46,!0,"deleteAll"),f.bindAction(72,!0,"resetView"),f.bindAction(72,
-!0,"fitWindow",!0),f.bindAction(74,!0,"fitPage"),f.bindAction(74,!0,"fitTwoPages",!0),f.bindAction(48,!0,"customZoom"),f.bindAction(82,!0,"turn"),f.bindAction(82,!0,"clearDefaultStyle",!0),f.bindAction(83,!0,"save"),f.bindAction(83,!0,"saveAs",!0),f.bindAction(65,!0,"selectAll"),f.bindAction(65,!0,"selectNone",!0),f.bindAction(73,!0,"selectVertices",!0),f.bindAction(69,!0,"selectEdges",!0),f.bindAction(69,!0,"editStyle"),f.bindAction(66,!0,"bold"),f.bindAction(66,!0,"toBack",!0),f.bindAction(70,!0,
-"toFront",!0),f.bindAction(68,!0,"duplicate"),f.bindAction(68,!0,"setAsDefaultStyle",!0),f.bindAction(90,!0,"undo"),f.bindAction(89,!0,"autosize",!0),f.bindAction(88,!0,"cut"),f.bindAction(67,!0,"copy"),f.bindAction(86,!0,"paste"),f.bindAction(71,!0,"group"),f.bindAction(77,!0,"editData"),f.bindAction(71,!0,"grid",!0),f.bindAction(73,!0,"italic"),f.bindAction(76,!0,"lockUnlock"),f.bindAction(76,!0,"layers",!0),f.bindAction(80,!0,"formatPanel",!0),f.bindAction(85,!0,"underline"),f.bindAction(85,!0,
-"ungroup",!0),f.bindAction(190,!0,"superscript"),f.bindAction(188,!0,"subscript"),f.bindKey(13,function(){b.isEnabled()&&b.startEditingAtCell()}),f.bindKey(113,function(){b.isEnabled()&&b.startEditingAtCell()});mxClient.IS_WIN?f.bindAction(89,!0,"redo"):f.bindAction(90,!0,"redo",!0);return f};
+EditorUi.prototype.createKeyHandler=function(a){function c(a,c,d){h.push(function(){if(!b.isSelectionEmpty()&&b.isEnabled())if(c=null!=c?c:1,d){b.getModel().beginUpdate();try{for(var e=b.getSelectionCells(),f=0;f<e.length;f++)if(b.getModel().isVertex(e[f])&&b.isCellResizable(e[f])){var g=b.getCellGeometry(e[f]);null!=g&&(g=g.clone(),37==a?g.width=Math.max(0,g.width-c):38==a?g.height=Math.max(0,g.height-c):39==a?g.width+=c:40==a&&(g.height+=c),b.getModel().setGeometry(e[f],g))}}finally{b.getModel().endUpdate()}}else{var g=
+b.getSelectionCell(),h=b.model.getParent(g),e=null;1==b.getSelectionCount()&&b.model.isVertex(g)&&null!=b.layoutManager&&!b.isCellLocked(g)&&(e=b.layoutManager.getLayout(h));if(null!=e&&e.constructor==mxStackLayout)e=h.getIndex(g),37==a||38==a?b.model.add(h,g,Math.max(0,e-1)):39!=a&&40!=a||b.model.add(h,g,Math.min(b.model.getChildCount(h),e+1));else{e=b.getMovableCells(b.getSelectionCells());g=[];for(f=0;f<e.length;f++)h=b.view.getState(e[f]),h=null!=h?h.style:b.getCellStyle(e[f]),"1"==mxUtils.getValue(h,
+"part","0")?(h=b.model.getParent(e[f]),b.model.isVertex(h)&&0>mxUtils.indexOf(e,h)&&g.push(h)):g.push(e[f]);0<g.length&&(f=e=0,37==a?e=-c:38==a?f=-c:39==a?e=c:40==a&&(f=c),b.moveCells(g,e,f))}}});null!=g&&window.clearTimeout(g);g=window.setTimeout(function(){if(0<h.length){b.getModel().beginUpdate();try{for(var a=0;a<h.length;a++)h[a]();h=[]}finally{b.getModel().endUpdate()}}},200)}var d=this,b=this.editor.graph,f=new mxKeyHandler(b),e=f.isEventIgnored;f.isEventIgnored=function(a){return(!this.isControlDown(a)||
+mxEvent.isShiftDown(a)||90!=a.keyCode&&89!=a.keyCode&&188!=a.keyCode&&190!=a.keyCode&&85!=a.keyCode)&&(66!=a.keyCode&&73!=a.keyCode||!this.isControlDown(a)||this.graph.cellEditor.isContentEditing()&&!mxClient.IS_FF&&!mxClient.IS_SF)&&e.apply(this,arguments)};f.isEnabledForEvent=function(a){return!mxEvent.isConsumed(a)&&this.isGraphEvent(a)&&this.isEnabled()&&(null==d.dialogs||0==d.dialogs.length)};f.isControlDown=function(a){return mxEvent.isControlDown(a)||mxClient.IS_MAC&&a.metaKey};var h=[],g=
+null,k={37:mxConstants.DIRECTION_WEST,38:mxConstants.DIRECTION_NORTH,39:mxConstants.DIRECTION_EAST,40:mxConstants.DIRECTION_SOUTH},l=f.getFunction;mxKeyHandler.prototype.getFunction=function(a){if(b.isEnabled()){if(mxEvent.isShiftDown(a)&&mxEvent.isAltDown(a)){var e=d.actions.get(d.altShiftActions[a.keyCode]);if(null!=e)return e.funct}if(9==a.keyCode&&mxEvent.isAltDown(a))return mxEvent.isShiftDown(a)?function(){b.selectParentCell()}:function(){b.selectChildCell()};if(null!=k[a.keyCode]&&!b.isSelectionEmpty())if(!this.isControlDown(a)&&
+mxEvent.isShiftDown(a)&&mxEvent.isAltDown(a)){if(b.model.isVertex(b.getSelectionCell()))return function(){var c=b.connectVertex(b.getSelectionCell(),k[a.keyCode],b.defaultEdgeLength,a,!0);null!=c&&0<c.length&&(1==c.length&&b.model.isEdge(c[0])?b.setSelectionCell(b.model.getTerminal(c[0],!1)):b.setSelectionCell(c[c.length-1]),b.scrollCellToVisible(b.getSelectionCell()),null!=d.hoverIcons&&d.hoverIcons.update(b.view.getState(b.getSelectionCell())))}}else return this.isControlDown(a)?function(){c(a.keyCode,
+mxEvent.isShiftDown(a)?b.gridSize:null,!0)}:function(){c(a.keyCode,mxEvent.isShiftDown(a)?b.gridSize:null)}}return l.apply(this,arguments)};f.bindAction=mxUtils.bind(this,function(a,b,c,d){var e=this.actions.get(c);null!=e&&(c=function(){e.isEnabled()&&e.funct()},b?d?f.bindControlShiftKey(a,c):f.bindControlKey(a,c):d?f.bindShiftKey(a,c):f.bindKey(a,c))});var m=this,n=f.escape;f.escape=function(a){n.apply(this,arguments)};f.enter=function(){};f.bindControlShiftKey(36,function(){b.exitGroup()});f.bindControlShiftKey(35,
+function(){b.enterGroup()});f.bindKey(36,function(){b.home()});f.bindKey(35,function(){b.refresh()});f.bindAction(107,!0,"zoomIn");f.bindAction(109,!0,"zoomOut");f.bindAction(80,!0,"print");f.bindAction(79,!0,"outline",!0);f.bindAction(112,!1,"about");if(!this.editor.chromeless||this.editor.editable)f.bindControlKey(36,function(){b.isEnabled()&&b.foldCells(!0)}),f.bindControlKey(35,function(){b.isEnabled()&&b.foldCells(!1)}),f.bindControlKey(13,function(){if(b.isEnabled())try{b.setSelectionCells(b.duplicateCells(b.getSelectionCells(),
+!1))}catch(p){m.handleError(p)}}),f.bindAction(8,!1,"delete"),f.bindAction(8,!0,"deleteAll"),f.bindAction(46,!1,"delete"),f.bindAction(46,!0,"deleteAll"),f.bindAction(72,!0,"resetView"),f.bindAction(72,!0,"fitWindow",!0),f.bindAction(74,!0,"fitPage"),f.bindAction(74,!0,"fitTwoPages",!0),f.bindAction(48,!0,"customZoom"),f.bindAction(82,!0,"turn"),f.bindAction(82,!0,"clearDefaultStyle",!0),f.bindAction(83,!0,"save"),f.bindAction(83,!0,"saveAs",!0),f.bindAction(65,!0,"selectAll"),f.bindAction(65,!0,
+"selectNone",!0),f.bindAction(73,!0,"selectVertices",!0),f.bindAction(69,!0,"selectEdges",!0),f.bindAction(69,!0,"editStyle"),f.bindAction(66,!0,"bold"),f.bindAction(66,!0,"toBack",!0),f.bindAction(70,!0,"toFront",!0),f.bindAction(68,!0,"duplicate"),f.bindAction(68,!0,"setAsDefaultStyle",!0),f.bindAction(90,!0,"undo"),f.bindAction(89,!0,"autosize",!0),f.bindAction(88,!0,"cut"),f.bindAction(67,!0,"copy"),f.bindAction(86,!0,"paste"),f.bindAction(71,!0,"group"),f.bindAction(77,!0,"editData"),f.bindAction(71,
+!0,"grid",!0),f.bindAction(73,!0,"italic"),f.bindAction(76,!0,"lockUnlock"),f.bindAction(76,!0,"layers",!0),f.bindAction(80,!0,"formatPanel",!0),f.bindAction(85,!0,"underline"),f.bindAction(85,!0,"ungroup",!0),f.bindAction(190,!0,"superscript"),f.bindAction(188,!0,"subscript"),f.bindKey(13,function(){b.isEnabled()&&b.startEditingAtCell()}),f.bindKey(113,function(){b.isEnabled()&&b.startEditingAtCell()});mxClient.IS_WIN?f.bindAction(89,!0,"redo"):f.bindAction(90,!0,"redo",!0);return f};
 EditorUi.prototype.destroy=function(){null!=this.editor&&(this.editor.destroy(),this.editor=null);null!=this.menubar&&(this.menubar.destroy(),this.menubar=null);null!=this.toolbar&&(this.toolbar.destroy(),this.toolbar=null);null!=this.sidebar&&(this.sidebar.destroy(),this.sidebar=null);null!=this.keyHandler&&(this.keyHandler.destroy(),this.keyHandler=null);null!=this.keydownHandler&&(mxEvent.removeListener(document,"keydown",this.keydownHandler),this.keydownHandler=null);null!=this.keyupHandler&&
 (mxEvent.removeListener(document,"keyup",this.keyupHandler),this.keyupHandler=null);null!=this.resizeHandler&&(mxEvent.removeListener(window,"resize",this.resizeHandler),this.resizeHandler=null);null!=this.gestureHandler&&(mxEvent.removeGestureListeners(document,this.gestureHandler),this.gestureHandler=null);null!=this.orientationChangeHandler&&(mxEvent.removeListener(window,"orientationchange",this.orientationChangeHandler),this.orientationChangeHandler=null);null!=this.scrollHandler&&(mxEvent.removeListener(window,
 "scroll",this.scrollHandler),this.scrollHandler=null);if(null!=this.destroyFunctions){for(var a=0;a<this.destroyFunctions.length;a++)this.destroyFunctions[a]();this.destroyFunctions=null}for(var c=[this.menubarContainer,this.toolbarContainer,this.sidebarContainer,this.formatContainer,this.diagramContainer,this.footerContainer,this.chromelessToolbar,this.hsplit,this.sidebarFooterContainer,this.layersDialog],a=0;a<c.length;a++)null!=c[a]&&null!=c[a].parentNode&&c[a].parentNode.removeChild(c[a])};function Sidebar(a,c){this.editorUi=a;this.container=c;this.palettes={};this.taglist={};this.showTooltips=!0;this.graph=a.createTemporaryGraph(this.editorUi.editor.graph.getStylesheet());this.graph.cellRenderer.minSvgStrokeWidth=this.minThumbStrokeWidth;this.graph.cellRenderer.antiAlias=this.thumbAntiAlias;this.graph.container.style.visibility="hidden";this.graph.foldingEnabled=!1;document.body.appendChild(this.graph.container);this.pointerUpHandler=mxUtils.bind(this,function(){this.showTooltips=
@@ -2290,8 +2293,8 @@ Sidebar.prototype.showTooltip=function(a,c,d,b,f,e){if(this.enableTooltips&&this
 this.graph2.resetViewOnRootChange=!1,this.graph2.foldingEnabled=!1,this.graph2.gridEnabled=!1,this.graph2.autoScroll=!1,this.graph2.setTooltips(!1),this.graph2.setConnectable(!1),this.graph2.setEnabled(!1),mxClient.IS_SVG||(this.graph2.view.canvas.style.position="relative"));this.graph2.model.clear();this.graph2.view.setTranslate(this.tooltipBorder,this.tooltipBorder);this.graph2.view.scale=d>this.maxTooltipWidth||b>this.maxTooltipHeight?Math.round(100*Math.min(this.maxTooltipWidth/d,this.maxTooltipHeight/
 b))/100:1;this.tooltip.style.display="block";this.graph2.labelsVisible=null==e||e;var g=mxClient.NO_FO;mxClient.NO_FO=Editor.prototype.originalNoForeignObject;this.graph2.addCells(c);mxClient.NO_FO=g;var h=this.graph2.getGraphBounds(),l=h.width+2*this.tooltipBorder+4,g=h.height+2*this.tooltipBorder;mxClient.IS_QUIRKS?(g+=4,this.tooltip.style.overflow="hidden"):this.tooltip.style.overflow="visible";this.tooltip.style.width=l+"px";var m=l;if(this.tooltipTitles&&null!=f&&0<f.length){null==this.tooltipTitle?
 (this.tooltipTitle=document.createElement("div"),this.tooltipTitle.style.borderTop="1px solid gray",this.tooltipTitle.style.textAlign="center",this.tooltipTitle.style.width="100%",this.tooltipTitle.style.overflow="hidden",this.tooltipTitle.style.position="absolute",this.tooltipTitle.style.paddingTop="6px",this.tooltipTitle.style.bottom="6px",this.tooltip.appendChild(this.tooltipTitle)):this.tooltipTitle.innerHTML="";this.tooltipTitle.style.display="";mxUtils.write(this.tooltipTitle,f);var m=Math.min(this.maxTooltipWidth,
-Math.max(l,this.tooltipTitle.scrollWidth+4)),n=this.tooltipTitle.offsetHeight+10,g=g+n;mxClient.IS_SVG?this.tooltipTitle.style.marginTop=2-n+"px":(g-=6,this.tooltipTitle.style.top=g-n+"px")}else null!=this.tooltipTitle&&null!=this.tooltipTitle.parentNode&&(this.tooltipTitle.style.display="none");m>l&&(this.tooltip.style.width=m+"px");this.tooltip.style.height=g+"px";var l=-Math.round(h.x-this.tooltipBorder)+(m-l)/2,h=-Math.round(h.y-this.tooltipBorder),n=document.body,p=document.documentElement,q=
-this.getTooltipOffset(),m=this.container.clientWidth+this.editorUi.splitSize+3+this.editorUi.container.offsetLeft+q.x,g=Math.min(Math.max(n.clientHeight||0,p.clientHeight)-g-20,Math.max(0,this.editorUi.container.offsetTop+this.container.offsetTop+a.offsetTop-this.container.scrollTop-g/2+16))+q.y;mxClient.IS_SVG?0!=l||0!=h?this.graph2.view.canvas.setAttribute("transform","translate("+l+","+h+")"):this.graph2.view.canvas.removeAttribute("transform"):(this.graph2.view.drawPane.style.left=l+"px",this.graph2.view.drawPane.style.top=
+Math.max(l,this.tooltipTitle.scrollWidth+4)),n=this.tooltipTitle.offsetHeight+10,g=g+n;mxClient.IS_SVG?this.tooltipTitle.style.marginTop=2-n+"px":(g-=6,this.tooltipTitle.style.top=g-n+"px")}else null!=this.tooltipTitle&&null!=this.tooltipTitle.parentNode&&(this.tooltipTitle.style.display="none");m>l&&(this.tooltip.style.width=m+"px");this.tooltip.style.height=g+"px";var l=-Math.round(h.x-this.tooltipBorder)+(m-l)/2,h=-Math.round(h.y-this.tooltipBorder),n=document.body,p=document.documentElement,r=
+this.getTooltipOffset(),m=this.container.clientWidth+this.editorUi.splitSize+3+this.editorUi.container.offsetLeft+r.x,g=Math.min(Math.max(n.clientHeight||0,p.clientHeight)-g-20,Math.max(0,this.editorUi.container.offsetTop+this.container.offsetTop+a.offsetTop-this.container.scrollTop-g/2+16))+r.y;mxClient.IS_SVG?0!=l||0!=h?this.graph2.view.canvas.setAttribute("transform","translate("+l+","+h+")"):this.graph2.view.canvas.removeAttribute("transform"):(this.graph2.view.drawPane.style.left=l+"px",this.graph2.view.drawPane.style.top=
 h+"px");this.tooltip.style.position="absolute";this.tooltip.style.left=m+"px";this.tooltip.style.top=g+"px"});null!=this.tooltip&&"none"!=this.tooltip.style.display?h():this.thread=window.setTimeout(h,this.tooltipDelay);this.currentElt=a}};Sidebar.prototype.hideTooltip=function(){null!=this.thread&&(window.clearTimeout(this.thread),this.thread=null);null!=this.tooltip&&(this.tooltip.style.display="none",this.currentElt=null)};
 Sidebar.prototype.addDataEntry=function(a,c,d,b,f){return this.addEntry(a,mxUtils.bind(this,function(){return this.createVertexTemplateFromData(f,c,d,b)}))};
 Sidebar.prototype.addEntries=function(a){for(var c=0;c<a.length;c++)mxUtils.bind(this,function(a){var b=a.data;null!=b&&null!=a.title?this.addEntry(a.title,mxUtils.bind(this,function(){b=this.editorUi.convertDataUri(b);var c="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";"fixed"==a.aspect&&(c+="aspect=fixed;");return this.createVertexTemplate(c+"image="+b,a.w,a.h,"",a.title||"",!1,!1,!0)})):null!=a.xml&&null!=a.title&&this.addEntry(a.title,mxUtils.bind(this,function(){var b=
@@ -2302,9 +2305,9 @@ null,e)};Sidebar.prototype.filterTags=function(a){if(null!=a){a=a.split(" ");for
 Sidebar.prototype.addSearchPalette=function(a){var c=document.createElement("div");c.style.visibility="hidden";this.container.appendChild(c);var d=document.createElement("div");d.className="geSidebar";d.style.boxSizing="border-box";d.style.overflow="hidden";d.style.width="100%";d.style.padding="8px";d.style.paddingTop="14px";d.style.paddingBottom="0px";a||(d.style.display="none");var b=document.createElement("div");b.style.whiteSpace="nowrap";b.style.textOverflow="clip";b.style.paddingBottom="8px";
 b.style.cursor="default";var f=document.createElement("input");f.setAttribute("placeholder",mxResources.get("searchShapes"));f.setAttribute("type","text");f.style.fontSize="12px";f.style.overflow="hidden";f.style.boxSizing="border-box";f.style.border="solid 1px #d5d5d5";f.style.borderRadius="4px";f.style.width="100%";f.style.outline="none";f.style.padding="6px";f.style.paddingRight="20px";b.appendChild(f);var e=document.createElement("img");e.setAttribute("src",Sidebar.prototype.searchImage);e.setAttribute("title",
 mxResources.get("search"));e.style.position="relative";e.style.left="-18px";mxClient.IS_QUIRKS?(f.style.height="28px",e.style.top="-4px"):e.style.top="1px";e.style.background="url('"+this.editorUi.editor.transparentImage+"')";var h;b.appendChild(e);d.appendChild(b);var g=document.createElement("center"),k=mxUtils.button(mxResources.get("moreResults"),function(){h()});k.style.display="none";k.style.lineHeight="normal";k.style.marginTop="4px";k.style.marginBottom="8px";g.style.paddingTop="4px";g.style.paddingBottom=
-"4px";g.appendChild(k);d.appendChild(g);var l="",m=!1,n=!1,p=0,q={},u=12,v=mxUtils.bind(this,function(){m=!1;this.currentSearch=null;for(var a=d.firstChild;null!=a;){var c=a.nextSibling;a!=b&&a!=g&&a.parentNode.removeChild(a);a=c}});mxEvent.addListener(e,"click",function(){e.getAttribute("src")==Dialog.prototype.closeImage&&(e.setAttribute("src",Sidebar.prototype.searchImage),e.setAttribute("title",mxResources.get("search")),k.style.display="none",l=f.value="",v());f.focus()});h=mxUtils.bind(this,
-function(){u=4*Math.max(1,Math.floor(this.container.clientWidth/(this.thumbWidth+10)));this.hideTooltip();if(""!=f.value){if(null!=g.parentNode&&(l!=f.value&&(v(),l=f.value,q={},n=!1,p=0),!m&&!n)){k.setAttribute("disabled","true");k.style.display="";k.style.cursor="wait";k.innerHTML=mxResources.get("loading")+"...";m=!0;var a={};this.currentSearch=a;this.searchEntries(l,u,p,mxUtils.bind(this,function(b,c,e,f){if(this.currentSearch==a){b=null!=b?b:[];m=!1;p++;this.insertSearchHint(d,l,u,p,b,c,e,f);
-0==b.length&&1==p&&(l="");null!=g.parentNode&&g.parentNode.removeChild(g);for(c=0;c<b.length;c++)try{var h=b[c]();null==q[h.innerHTML]&&(q[h.innerHTML]="1",d.appendChild(h))}catch(B){}e?(k.removeAttribute("disabled"),k.innerHTML=mxResources.get("moreResults")):(k.innerHTML=mxResources.get("reset"),k.style.display="none",n=!0);k.style.cursor="";d.appendChild(g)}}),mxUtils.bind(this,function(){k.style.cursor=""}))}}else v(),l=f.value="",q={},k.style.display="none",n=!1,f.focus()});mxEvent.addListener(f,
+"4px";g.appendChild(k);d.appendChild(g);var l="",m=!1,n=!1,p=0,r={},u=12,v=mxUtils.bind(this,function(){m=!1;this.currentSearch=null;for(var a=d.firstChild;null!=a;){var c=a.nextSibling;a!=b&&a!=g&&a.parentNode.removeChild(a);a=c}});mxEvent.addListener(e,"click",function(){e.getAttribute("src")==Dialog.prototype.closeImage&&(e.setAttribute("src",Sidebar.prototype.searchImage),e.setAttribute("title",mxResources.get("search")),k.style.display="none",l=f.value="",v());f.focus()});h=mxUtils.bind(this,
+function(){u=4*Math.max(1,Math.floor(this.container.clientWidth/(this.thumbWidth+10)));this.hideTooltip();if(""!=f.value){if(null!=g.parentNode&&(l!=f.value&&(v(),l=f.value,r={},n=!1,p=0),!m&&!n)){k.setAttribute("disabled","true");k.style.display="";k.style.cursor="wait";k.innerHTML=mxResources.get("loading")+"...";m=!0;var a={};this.currentSearch=a;this.searchEntries(l,u,p,mxUtils.bind(this,function(b,c,e,f){if(this.currentSearch==a){b=null!=b?b:[];m=!1;p++;this.insertSearchHint(d,l,u,p,b,c,e,f);
+0==b.length&&1==p&&(l="");null!=g.parentNode&&g.parentNode.removeChild(g);for(c=0;c<b.length;c++)try{var h=b[c]();null==r[h.innerHTML]&&(r[h.innerHTML]="1",d.appendChild(h))}catch(B){}e?(k.removeAttribute("disabled"),k.innerHTML=mxResources.get("moreResults")):(k.innerHTML=mxResources.get("reset"),k.style.display="none",n=!0);k.style.cursor="";d.appendChild(g)}}),mxUtils.bind(this,function(){k.style.cursor=""}))}}else v(),l=f.value="",r={},k.style.display="none",n=!1,f.focus()});mxEvent.addListener(f,
 "keydown",mxUtils.bind(this,function(a){13==a.keyCode&&(h(),mxEvent.consume(a))}));mxEvent.addListener(f,"keyup",mxUtils.bind(this,function(a){""==f.value?(e.setAttribute("src",Sidebar.prototype.searchImage),e.setAttribute("title",mxResources.get("search"))):(e.setAttribute("src",Dialog.prototype.closeImage),e.setAttribute("title",mxResources.get("reset")));""==f.value?(n=!0,k.style.display="none"):f.value!=l?(k.style.display="none",n=!1):m||(k.style.display=n?"none":"")}));mxEvent.addListener(f,
 "mousedown",function(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=!0});mxEvent.addListener(f,"selectstart",function(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=!0});a=document.createElement("div");a.appendChild(d);this.container.appendChild(a);this.palettes.search=[c,a]};
 Sidebar.prototype.insertSearchHint=function(a,c,d,b,f,e,h,g){0==f.length&&1==b&&(d=document.createElement("div"),d.className="geTitle",d.style.cssText="background-color:transparent;border-color:transparent;color:gray;padding:6px 0px 0px 0px !important;margin:4px 8px 4px 8px;text-align:center;cursor:default !important",mxUtils.write(d,mxResources.get("noResultsFor",[c])),a.appendChild(d))};
@@ -2425,12 +2428,12 @@ Sidebar.prototype.updateShapes=function(a,c){var d=this.editorUi.editor.graph,b=
 d.getModel().isEdge(k)==d.getModel().isEdge(a)){var l=d.view.getState(k),m=null!=l?l.style:d.getCellStyle(c[g]);d.getModel().setStyle(k,e);if(null!=l&&"1"==mxUtils.getValue(l.style,"composite","0"))for(var n=d.model.getChildCount(k);0<=n;n--)d.model.remove(d.model.getChildAt(k,n));if(null!=m)for("umlLifeline"==m[mxConstants.STYLE_SHAPE]&&"umlLifeline"!=b[mxConstants.STYLE_SHAPE]&&(d.setCellStyles(mxConstants.STYLE_SHAPE,"umlLifeline",[k]),d.setCellStyles("participant",b[mxConstants.STYLE_SHAPE],[k])),
 n=0;n<h.length;n++){var p=m[h[n]];null!=p&&d.setCellStyles(h[n],p,[k])}f.push(k)}}}finally{d.model.endUpdate()}return f};
 Sidebar.prototype.createDropHandler=function(a,c,d,b){d=null!=d?d:!0;return mxUtils.bind(this,function(f,e,h,g,k,l){for(l=l?null:mxEvent.isTouchEvent(e)||mxEvent.isPenEvent(e)?document.elementFromPoint(mxEvent.getClientX(e),mxEvent.getClientY(e)):mxEvent.getSource(e);null!=l&&l!=this.container;)l=l.parentNode;if(null==l&&f.isEnabled()){a=f.getImportableCells(a);if(0<a.length){f.stopEditing();l=null==h||mxEvent.isAltDown(e)?!1:f.isValidDropTarget(h,a,e);var m=null;null==h||l||(h=null);if(!f.isCellLocked(h||
-f.getDefaultParent())){f.model.beginUpdate();try{g=Math.round(g);k=Math.round(k);if(c&&f.isSplitTarget(h,a,e)){var n=f.cloneCells(a);f.splitEdge(h,n,null,g-b.width/2,k-b.height/2);m=n}else 0<a.length&&(m=f.importCells(a,g,k,h));if(null!=f.layoutManager){var p=f.layoutManager.getLayout(h);if(null!=p){var q=f.view.scale,u=f.view.translate,v=(g+u.x)*q,r=(k+u.y)*q;for(h=0;h<m.length;h++)p.moveCell(m[h],v,r)}}!d||null!=e&&mxEvent.isShiftDown(e)||f.fireEvent(new mxEventObject("cellsInserted","cells",m))}catch(w){this.editorUi.handleError(w)}finally{f.model.endUpdate()}null!=
+f.getDefaultParent())){f.model.beginUpdate();try{g=Math.round(g);k=Math.round(k);if(c&&f.isSplitTarget(h,a,e)){var n=f.cloneCells(a);f.splitEdge(h,n,null,g-b.width/2,k-b.height/2);m=n}else 0<a.length&&(m=f.importCells(a,g,k,h));if(null!=f.layoutManager){var p=f.layoutManager.getLayout(h);if(null!=p){var r=f.view.scale,u=f.view.translate,v=(g+u.x)*r,q=(k+u.y)*r;for(h=0;h<m.length;h++)p.moveCell(m[h],v,q)}}!d||null!=e&&mxEvent.isShiftDown(e)||f.fireEvent(new mxEventObject("cellsInserted","cells",m))}catch(w){this.editorUi.handleError(w)}finally{f.model.endUpdate()}null!=
 m&&0<m.length&&(f.scrollCellToVisible(m[0]),f.setSelectionCells(m));f.editAfterInsert&&null!=e&&mxEvent.isMouseEvent(e)&&null!=m&&1==m.length&&window.setTimeout(function(){f.startEditing(m[0])},0)}}mxEvent.consume(e)}})};Sidebar.prototype.createDragPreview=function(a,c){var d=document.createElement("div");d.style.border=this.dragPreviewBorder;d.style.width=a+"px";d.style.height=c+"px";return d};
-Sidebar.prototype.dropAndConnect=function(a,c,d,b,f){var e=this.getDropAndConnectGeometry(a,c[b],d,c),h=[];if(null!=e){var g=this.editorUi.editor.graph,k=null;g.model.beginUpdate();try{var l=g.getCellGeometry(a),m=g.getCellGeometry(c[b]),n=g.model.getParent(a),p=!0;if(null!=g.layoutManager){var q=g.layoutManager.getLayout(n);if(null!=q&&q.constructor==mxStackLayout&&(p=!1,h=g.view.getState(n),null!=h)){var u=new mxPoint(h.x/g.view.scale-g.view.translate.x,h.y/g.view.scale-g.view.translate.y);e.x+=
-u.x;e.y+=u.y;var v=e.getTerminalPoint(!1);null!=v&&(v.x+=u.x,v.y+=u.y)}}var r=m.x,w=m.y;g.model.isEdge(c[b])&&(w=r=0);var t=g.model.isEdge(a)||null!=l&&!l.relative&&p,h=c=g.importCells(c,e.x-(t?r:0),e.y-(t?w:0),t?n:null);if(g.model.isEdge(a))g.model.setTerminal(a,c[b],d==mxConstants.DIRECTION_NORTH);else if(g.model.isEdge(c[b])){g.model.setTerminal(c[b],a,!0);var x=g.getCellGeometry(c[b]);x.points=null;if(null!=x.getTerminalPoint(!1))x.setTerminalPoint(e.getTerminalPoint(!1),!1);else if(t&&g.model.isVertex(n)){var y=
-g.view.getState(n),u=y.cell!=g.view.currentRoot?new mxPoint(y.x/g.view.scale-g.view.translate.x,y.y/g.view.scale-g.view.translate.y):new mxPoint(0,0);g.cellsMoved(c,u.x,u.y,null,null,!0)}}else m=g.getCellGeometry(c[b]),r=e.x-Math.round(m.x),w=e.y-Math.round(m.y),e.x=Math.round(m.x),e.y=Math.round(m.y),g.model.setGeometry(c[b],e),g.cellsMoved(c,r,w,null,null,!0),h=c.slice(),k=1==h.length?h[0]:null,c.push(g.insertEdge(null,null,"",a,c[b],g.createCurrentEdgeStyle()));null!=f&&mxEvent.isShiftDown(f)||
-g.fireEvent(new mxEventObject("cellsInserted","cells",c))}catch(D){this.editorUi.handleError(D)}finally{g.model.endUpdate()}g.editAfterInsert&&null!=f&&mxEvent.isMouseEvent(f)&&null!=k&&window.setTimeout(function(){g.startEditing(k)},0)}return h};
+Sidebar.prototype.dropAndConnect=function(a,c,d,b,f){var e=this.getDropAndConnectGeometry(a,c[b],d,c),h=[];if(null!=e){var g=this.editorUi.editor.graph,k=null;g.model.beginUpdate();try{var l=g.getCellGeometry(a),m=g.getCellGeometry(c[b]),n=g.model.getParent(a),p=!0;if(null!=g.layoutManager){var r=g.layoutManager.getLayout(n);if(null!=r&&r.constructor==mxStackLayout&&(p=!1,h=g.view.getState(n),null!=h)){var u=new mxPoint(h.x/g.view.scale-g.view.translate.x,h.y/g.view.scale-g.view.translate.y);e.x+=
+u.x;e.y+=u.y;var v=e.getTerminalPoint(!1);null!=v&&(v.x+=u.x,v.y+=u.y)}}var q=m.x,w=m.y;g.model.isEdge(c[b])&&(w=q=0);var t=g.model.isEdge(a)||null!=l&&!l.relative&&p,h=c=g.importCells(c,e.x-(t?q:0),e.y-(t?w:0),t?n:null);if(g.model.isEdge(a))g.model.setTerminal(a,c[b],d==mxConstants.DIRECTION_NORTH);else if(g.model.isEdge(c[b])){g.model.setTerminal(c[b],a,!0);var x=g.getCellGeometry(c[b]);x.points=null;if(null!=x.getTerminalPoint(!1))x.setTerminalPoint(e.getTerminalPoint(!1),!1);else if(t&&g.model.isVertex(n)){var y=
+g.view.getState(n),u=y.cell!=g.view.currentRoot?new mxPoint(y.x/g.view.scale-g.view.translate.x,y.y/g.view.scale-g.view.translate.y):new mxPoint(0,0);g.cellsMoved(c,u.x,u.y,null,null,!0)}}else m=g.getCellGeometry(c[b]),q=e.x-Math.round(m.x),w=e.y-Math.round(m.y),e.x=Math.round(m.x),e.y=Math.round(m.y),g.model.setGeometry(c[b],e),g.cellsMoved(c,q,w,null,null,!0),h=c.slice(),k=1==h.length?h[0]:null,c.push(g.insertEdge(null,null,"",a,c[b],g.createCurrentEdgeStyle()));null!=f&&mxEvent.isShiftDown(f)||
+g.fireEvent(new mxEventObject("cellsInserted","cells",c))}catch(C){this.editorUi.handleError(C)}finally{g.model.endUpdate()}g.editAfterInsert&&null!=f&&mxEvent.isMouseEvent(f)&&null!=k&&window.setTimeout(function(){g.startEditing(k)},0)}return h};
 Sidebar.prototype.getDropAndConnectGeometry=function(a,c,d,b){var f=this.editorUi.editor.graph,e=f.view,h=1<b.length,g=f.getCellGeometry(a);b=f.getCellGeometry(c);null!=g&&null!=b&&(b=b.clone(),f.model.isEdge(a)?(a=f.view.getState(a),g=a.absolutePoints,c=g[0],f=g[g.length-1],d==mxConstants.DIRECTION_NORTH?(b.x=c.x/e.scale-e.translate.x-b.width/2,b.y=c.y/e.scale-e.translate.y-b.height/2):(b.x=f.x/e.scale-e.translate.x-b.width/2,b.y=f.y/e.scale-e.translate.y-b.height/2)):(g.relative&&(a=f.view.getState(a),
 g=g.clone(),g.x=(a.x-e.translate.x)/e.scale,g.y=(a.y-e.translate.y)/e.scale),e=f.defaultEdgeLength,f.model.isEdge(c)&&null!=b.getTerminalPoint(!0)&&null!=b.getTerminalPoint(!1)?(c=b.getTerminalPoint(!0),f=b.getTerminalPoint(!1),e=f.x-c.x,c=f.y-c.y,e=Math.sqrt(e*e+c*c),b.x=g.getCenterX(),b.y=g.getCenterY(),b.width=1,b.height=1,d==mxConstants.DIRECTION_NORTH?(b.height=e,b.y=g.y-e,b.setTerminalPoint(new mxPoint(b.x,b.y),!1)):d==mxConstants.DIRECTION_EAST?(b.width=e,b.x=g.x+g.width,b.setTerminalPoint(new mxPoint(b.x+
 b.width,b.y),!1)):d==mxConstants.DIRECTION_SOUTH?(b.height=e,b.y=g.y+g.height,b.setTerminalPoint(new mxPoint(b.x,b.y+b.height),!1)):d==mxConstants.DIRECTION_WEST&&(b.width=e,b.x=g.x-e,b.setTerminalPoint(new mxPoint(b.x,b.y),!1))):(!h&&45<b.width&&45<b.height&&45<g.width&&45<g.height&&(b.width*=g.height/b.height,b.height=g.height),b.x=g.x+g.width/2-b.width/2,b.y=g.y+g.height/2-b.height/2,d==mxConstants.DIRECTION_NORTH?b.y=b.y-g.height/2-b.height/2-e:d==mxConstants.DIRECTION_EAST?b.x=b.x+g.width/2+
@@ -2438,26 +2441,26 @@ b.width/2+e:d==mxConstants.DIRECTION_SOUTH?b.y=b.y+g.height/2+b.height/2+e:d==mx
 2):d==mxConstants.DIRECTION_WEST&&(b.x-=g.getCenterX()+g.width/2,b.y-=g.getCenterY()))))));return b};Sidebar.prototype.isDropStyleEnabled=function(a,c){var d=!0;if(null!=c&&1==a.length){var b=this.graph.getCellStyle(a[c]);null!=b&&(d=mxUtils.getValue(b,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE)!=mxConstants.NONE||mxUtils.getValue(b,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE)!=mxConstants.NONE)}return d};Sidebar.prototype.isDropStyleTargetIgnored=function(a){return this.graph.isSwimlane(a.cell)};
 Sidebar.prototype.createDragSource=function(a,c,d,b,f){function e(a,b){var c;mxClient.IS_IE&&!mxClient.IS_SVG?(mxClient.IS_IE6&&"CSS1Compat"!=document.compatMode?(c=document.createElement(mxClient.VML_PREFIX+":image"),c.setAttribute("src",a.src),c.style.borderStyle="none"):(c=document.createElement("div"),c.style.backgroundImage="url("+a.src+")",c.style.backgroundPosition="center",c.style.backgroundRepeat="no-repeat"),c.style.width=a.width+4+"px",c.style.height=a.height+4+"px",c.style.display=mxClient.IS_QUIRKS?
 "inline":"inline-block"):(c=mxUtils.createImage(a.src),c.style.width=a.width+"px",c.style.height=a.height+"px");null!=b&&c.setAttribute("title",b);mxUtils.setOpacity(c,a==this.refreshTarget?30:20);c.style.position="absolute";c.style.cursor="crosshair";return c}function h(a,b,c,d){null!=d.parentNode&&(mxUtils.contains(c,a,b)?(mxUtils.setOpacity(d,100),F=d):mxUtils.setOpacity(d,d==A?30:20));return c}for(var g=this.editorUi,k=g.editor.graph,l=null,m=null,n=this,p=0;p<b.length&&(null==m&&this.editorUi.editor.graph.model.isVertex(b[p])?
-m=p:null==l&&this.editorUi.editor.graph.model.isEdge(b[p])&&null==this.editorUi.editor.graph.model.getTerminal(b[p],!0)&&(l=p),null==m||null==l);p++);var q=this.isDropStyleEnabled(b,m),u=mxUtils.makeDraggable(a,this.editorUi.editor.graph,mxUtils.bind(this,function(a,d,e,g,f){null!=this.updateThread&&window.clearTimeout(this.updateThread);if(null!=b&&null!=t&&F==A){var h=a.isCellSelected(t.cell)?a.getSelectionCells():[t.cell],h=this.updateShapes(a.model.isEdge(t.cell)?b[0]:b[m],h);a.setSelectionCells(h)}else null!=
-b&&null!=F&&null!=r&&F!=A?(h=a.model.isEdge(r.cell)||null==l?m:l,a.setSelectionCells(this.dropAndConnect(r.cell,b,L,h,d))):c.apply(this,arguments);null!=this.editorUi.hoverIcons&&this.editorUi.hoverIcons.update(a.view.getState(a.getSelectionCell()))}),d,0,0,k.autoscroll,!0,!0);k.addListener(mxEvent.ESCAPE,function(a,b){u.isActive()&&u.reset()});var v=u.mouseDown;u.mouseDown=function(a){mxEvent.isPopupTrigger(a)||mxEvent.isMultiTouchEvent(a)||(k.stopEditing(),v.apply(this,arguments))};var r=null,w=
-null,t=null,x=!1,y=e(this.triangleUp,mxResources.get("connect")),D=e(this.triangleRight,mxResources.get("connect")),B=e(this.triangleDown,mxResources.get("connect")),E=e(this.triangleLeft,mxResources.get("connect")),A=e(this.refreshTarget,mxResources.get("replace")),G=null,J=e(this.roundDrop),H=e(this.roundDrop),L=mxConstants.DIRECTION_NORTH,F=null,P=u.createPreviewElement;u.createPreviewElement=function(a){var b=P.apply(this,arguments);mxClient.IS_SVG&&(b.style.pointerEvents="none");this.previewElementWidth=
+m=p:null==l&&this.editorUi.editor.graph.model.isEdge(b[p])&&null==this.editorUi.editor.graph.model.getTerminal(b[p],!0)&&(l=p),null==m||null==l);p++);var r=this.isDropStyleEnabled(b,m),u=mxUtils.makeDraggable(a,this.editorUi.editor.graph,mxUtils.bind(this,function(a,d,e,g,f){null!=this.updateThread&&window.clearTimeout(this.updateThread);if(null!=b&&null!=t&&F==A){var h=a.isCellSelected(t.cell)?a.getSelectionCells():[t.cell],h=this.updateShapes(a.model.isEdge(t.cell)?b[0]:b[m],h);a.setSelectionCells(h)}else null!=
+b&&null!=F&&null!=q&&F!=A?(h=a.model.isEdge(q.cell)||null==l?m:l,a.setSelectionCells(this.dropAndConnect(q.cell,b,M,h,d))):c.apply(this,arguments);null!=this.editorUi.hoverIcons&&this.editorUi.hoverIcons.update(a.view.getState(a.getSelectionCell()))}),d,0,0,k.autoscroll,!0,!0);k.addListener(mxEvent.ESCAPE,function(a,b){u.isActive()&&u.reset()});var v=u.mouseDown;u.mouseDown=function(a){mxEvent.isPopupTrigger(a)||mxEvent.isMultiTouchEvent(a)||(k.stopEditing(),v.apply(this,arguments))};var q=null,w=
+null,t=null,x=!1,y=e(this.triangleUp,mxResources.get("connect")),C=e(this.triangleRight,mxResources.get("connect")),B=e(this.triangleDown,mxResources.get("connect")),E=e(this.triangleLeft,mxResources.get("connect")),A=e(this.refreshTarget,mxResources.get("replace")),G=null,J=e(this.roundDrop),I=e(this.roundDrop),M=mxConstants.DIRECTION_NORTH,F=null,P=u.createPreviewElement;u.createPreviewElement=function(a){var b=P.apply(this,arguments);mxClient.IS_SVG&&(b.style.pointerEvents="none");this.previewElementWidth=
 b.style.width;this.previewElementHeight=b.style.height;return b};var R=u.dragEnter;u.dragEnter=function(a,b){null!=g.hoverIcons&&g.hoverIcons.setDisplay("none");R.apply(this,arguments)};var S=u.dragExit;u.dragExit=function(a,b){null!=g.hoverIcons&&g.hoverIcons.setDisplay("");S.apply(this,arguments)};u.dragOver=function(a,c){mxDragSource.prototype.dragOver.apply(this,arguments);null!=this.currentGuide&&null!=F&&this.currentGuide.hide();if(null!=this.previewElement){var d=a.view;if(null!=t&&F==A)this.previewElement.style.display=
-a.model.isEdge(t.cell)?"none":"",this.previewElement.style.left=t.x+"px",this.previewElement.style.top=t.y+"px",this.previewElement.style.width=t.width+"px",this.previewElement.style.height=t.height+"px";else if(null!=r&&null!=F){var e=a.model.isEdge(r.cell)||null==l?m:l,g=n.getDropAndConnectGeometry(r.cell,b[e],L,b),h=a.model.isEdge(r.cell)?null:a.getCellGeometry(r.cell),k=a.getCellGeometry(b[e]),z=a.model.getParent(r.cell),p=d.translate.x*d.scale,q=d.translate.y*d.scale;null!=h&&!h.relative&&a.model.isVertex(z)&&
-z!=d.currentRoot&&(q=d.getState(z),p=q.x,q=q.y);h=k.x;k=k.y;a.model.isEdge(b[e])&&(k=h=0);this.previewElement.style.left=(g.x-h)*d.scale+p+"px";this.previewElement.style.top=(g.y-k)*d.scale+q+"px";1==b.length&&(this.previewElement.style.width=g.width*d.scale+"px",this.previewElement.style.height=g.height*d.scale+"px");this.previewElement.style.display=""}else null!=u.currentHighlight.state&&a.model.isEdge(u.currentHighlight.state.cell)?(this.previewElement.style.left=Math.round(parseInt(this.previewElement.style.left)-
-f.width*d.scale/2)+"px",this.previewElement.style.top=Math.round(parseInt(this.previewElement.style.top)-f.height*d.scale/2)+"px"):(this.previewElement.style.width=this.previewElementWidth,this.previewElement.style.height=this.previewElementHeight,this.previewElement.style.display="")}};var K=(new Date).getTime(),I=0,N=null,T=this.editorUi.editor.graph.getCellStyle(b[0]);u.getDropTarget=mxUtils.bind(this,function(a,c,d,e){var g=mxEvent.isAltDown(e)||null==b?null:a.getCellAt(c,d);if(null!=g&&!this.graph.isCellConnectable(g)){var f=
-this.graph.getModel().getParent(g);this.graph.getModel().isVertex(f)&&this.graph.isCellConnectable(f)&&(g=f)}a.isCellLocked(g)&&(g=null);var k=a.view.getState(g),f=F=null;N!=k?(N=k,K=(new Date).getTime(),I=0,null!=this.updateThread&&window.clearTimeout(this.updateThread),null!=k&&(this.updateThread=window.setTimeout(function(){null==F&&(N=k,u.getDropTarget(a,c,d,e))},this.dropTargetDelay+10))):I=(new Date).getTime()-K;if(q&&2500>I&&null!=k&&!mxEvent.isShiftDown(e)&&(mxUtils.getValue(k.style,mxConstants.STYLE_SHAPE)!=
-mxUtils.getValue(T,mxConstants.STYLE_SHAPE)&&(mxUtils.getValue(k.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE)!=mxConstants.NONE||mxUtils.getValue(k.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE)!=mxConstants.NONE||mxUtils.getValue(k.style,mxConstants.STYLE_GRADIENTCOLOR,mxConstants.NONE)!=mxConstants.NONE)||"image"==mxUtils.getValue(T,mxConstants.STYLE_SHAPE)||1500<I||a.model.isEdge(k.cell))&&I>this.dropTargetDelay&&!this.isDropStyleTargetIgnored(k)&&(a.model.isVertex(k.cell)&&null!=
-m||a.model.isEdge(k.cell)&&a.model.isEdge(b[0]))){t=k;var l=a.model.isEdge(k.cell)?a.view.getPoint(k):new mxPoint(k.getCenterX(),k.getCenterY()),l=new mxRectangle(l.x-this.refreshTarget.width/2,l.y-this.refreshTarget.height/2,this.refreshTarget.width,this.refreshTarget.height);A.style.left=Math.floor(l.x)+"px";A.style.top=Math.floor(l.y)+"px";null==G&&(a.container.appendChild(A),G=A.parentNode);h(c,d,l,A)}else null==t||!mxUtils.contains(t,c,d)||1500<I&&!mxEvent.isShiftDown(e)?(t=null,null!=G&&(A.parentNode.removeChild(A),
-G=null)):null!=t&&null!=G&&(l=a.model.isEdge(t.cell)?a.view.getPoint(t):new mxPoint(t.getCenterX(),t.getCenterY()),l=new mxRectangle(l.x-this.refreshTarget.width/2,l.y-this.refreshTarget.height/2,this.refreshTarget.width,this.refreshTarget.height),h(c,d,l,A));if(x&&null!=r&&!mxEvent.isAltDown(e)&&null==F){f=mxRectangle.fromRectangle(r);if(a.model.isEdge(r.cell)){var z=r.absolutePoints;null!=J.parentNode&&(l=z[0],f.add(h(c,d,new mxRectangle(l.x-this.roundDrop.width/2,l.y-this.roundDrop.height/2,this.roundDrop.width,
-this.roundDrop.height),J)));null!=H.parentNode&&(z=z[z.length-1],f.add(h(c,d,new mxRectangle(z.x-this.roundDrop.width/2,z.y-this.roundDrop.height/2,this.roundDrop.width,this.roundDrop.height),H)))}else l=mxRectangle.fromRectangle(r),null!=r.shape&&null!=r.shape.boundingBox&&(l=mxRectangle.fromRectangle(r.shape.boundingBox)),l.grow(this.graph.tolerance),l.grow(HoverIcons.prototype.arrowSpacing),z=this.graph.selectionCellsHandler.getHandler(r.cell),null!=z&&(l.x-=z.horizontalOffset/2,l.y-=z.verticalOffset/
-2,l.width+=z.horizontalOffset,l.height+=z.verticalOffset,null!=z.rotationShape&&null!=z.rotationShape.node&&"hidden"!=z.rotationShape.node.style.visibility&&"none"!=z.rotationShape.node.style.display&&null!=z.rotationShape.boundingBox&&l.add(z.rotationShape.boundingBox)),f.add(h(c,d,new mxRectangle(r.getCenterX()-this.triangleUp.width/2,l.y-this.triangleUp.height,this.triangleUp.width,this.triangleUp.height),y)),f.add(h(c,d,new mxRectangle(l.x+l.width,r.getCenterY()-this.triangleRight.height/2,this.triangleRight.width,
-this.triangleRight.height),D)),f.add(h(c,d,new mxRectangle(r.getCenterX()-this.triangleDown.width/2,l.y+l.height,this.triangleDown.width,this.triangleDown.height),B)),f.add(h(c,d,new mxRectangle(l.x-this.triangleLeft.width,r.getCenterY()-this.triangleLeft.height/2,this.triangleLeft.width,this.triangleLeft.height),E));null!=f&&f.grow(10)}L=mxConstants.DIRECTION_NORTH;F==D?L=mxConstants.DIRECTION_EAST:F==B||F==H?L=mxConstants.DIRECTION_SOUTH:F==E&&(L=mxConstants.DIRECTION_WEST);null!=t&&F==A&&(k=t);
-l=(null==m||a.isCellConnectable(b[m]))&&(a.model.isEdge(g)&&null!=m||a.model.isVertex(g)&&a.isCellConnectable(g));if(null!=r&&5E3<=I||r!=k&&(null==f||!mxUtils.contains(f,c,d)||500<I&&null==F&&l))if(x=!1,r=5E3>I&&I>this.dropTargetDelay||a.model.isEdge(g)?k:null,null!=r&&l){f=[J,H,y,D,B,E];for(l=0;l<f.length;l++)null!=f[l].parentNode&&f[l].parentNode.removeChild(f[l]);a.model.isEdge(g)?(z=k.absolutePoints,null!=z&&(l=z[0],z=z[z.length-1],f=a.tolerance,new mxRectangle(c-f,d-f,2*f,2*f),J.style.left=Math.floor(l.x-
-this.roundDrop.width/2)+"px",J.style.top=Math.floor(l.y-this.roundDrop.height/2)+"px",H.style.left=Math.floor(z.x-this.roundDrop.width/2)+"px",H.style.top=Math.floor(z.y-this.roundDrop.height/2)+"px",null==a.model.getTerminal(g,!0)&&a.container.appendChild(J),null==a.model.getTerminal(g,!1)&&a.container.appendChild(H))):(l=mxRectangle.fromRectangle(k),null!=k.shape&&null!=k.shape.boundingBox&&(l=mxRectangle.fromRectangle(k.shape.boundingBox)),l.grow(this.graph.tolerance),l.grow(HoverIcons.prototype.arrowSpacing),
+a.model.isEdge(t.cell)?"none":"",this.previewElement.style.left=t.x+"px",this.previewElement.style.top=t.y+"px",this.previewElement.style.width=t.width+"px",this.previewElement.style.height=t.height+"px";else if(null!=q&&null!=F){var e=a.model.isEdge(q.cell)||null==l?m:l,g=n.getDropAndConnectGeometry(q.cell,b[e],M,b),h=a.model.isEdge(q.cell)?null:a.getCellGeometry(q.cell),k=a.getCellGeometry(b[e]),z=a.model.getParent(q.cell),p=d.translate.x*d.scale,r=d.translate.y*d.scale;null!=h&&!h.relative&&a.model.isVertex(z)&&
+z!=d.currentRoot&&(r=d.getState(z),p=r.x,r=r.y);h=k.x;k=k.y;a.model.isEdge(b[e])&&(k=h=0);this.previewElement.style.left=(g.x-h)*d.scale+p+"px";this.previewElement.style.top=(g.y-k)*d.scale+r+"px";1==b.length&&(this.previewElement.style.width=g.width*d.scale+"px",this.previewElement.style.height=g.height*d.scale+"px");this.previewElement.style.display=""}else null!=u.currentHighlight.state&&a.model.isEdge(u.currentHighlight.state.cell)?(this.previewElement.style.left=Math.round(parseInt(this.previewElement.style.left)-
+f.width*d.scale/2)+"px",this.previewElement.style.top=Math.round(parseInt(this.previewElement.style.top)-f.height*d.scale/2)+"px"):(this.previewElement.style.width=this.previewElementWidth,this.previewElement.style.height=this.previewElementHeight,this.previewElement.style.display="")}};var L=(new Date).getTime(),K=0,N=null,T=this.editorUi.editor.graph.getCellStyle(b[0]);u.getDropTarget=mxUtils.bind(this,function(a,c,d,e){var g=mxEvent.isAltDown(e)||null==b?null:a.getCellAt(c,d);if(null!=g&&!this.graph.isCellConnectable(g)){var f=
+this.graph.getModel().getParent(g);this.graph.getModel().isVertex(f)&&this.graph.isCellConnectable(f)&&(g=f)}a.isCellLocked(g)&&(g=null);var k=a.view.getState(g),f=F=null;N!=k?(N=k,L=(new Date).getTime(),K=0,null!=this.updateThread&&window.clearTimeout(this.updateThread),null!=k&&(this.updateThread=window.setTimeout(function(){null==F&&(N=k,u.getDropTarget(a,c,d,e))},this.dropTargetDelay+10))):K=(new Date).getTime()-L;if(r&&2500>K&&null!=k&&!mxEvent.isShiftDown(e)&&(mxUtils.getValue(k.style,mxConstants.STYLE_SHAPE)!=
+mxUtils.getValue(T,mxConstants.STYLE_SHAPE)&&(mxUtils.getValue(k.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE)!=mxConstants.NONE||mxUtils.getValue(k.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE)!=mxConstants.NONE||mxUtils.getValue(k.style,mxConstants.STYLE_GRADIENTCOLOR,mxConstants.NONE)!=mxConstants.NONE)||"image"==mxUtils.getValue(T,mxConstants.STYLE_SHAPE)||1500<K||a.model.isEdge(k.cell))&&K>this.dropTargetDelay&&!this.isDropStyleTargetIgnored(k)&&(a.model.isVertex(k.cell)&&null!=
+m||a.model.isEdge(k.cell)&&a.model.isEdge(b[0]))){t=k;var l=a.model.isEdge(k.cell)?a.view.getPoint(k):new mxPoint(k.getCenterX(),k.getCenterY()),l=new mxRectangle(l.x-this.refreshTarget.width/2,l.y-this.refreshTarget.height/2,this.refreshTarget.width,this.refreshTarget.height);A.style.left=Math.floor(l.x)+"px";A.style.top=Math.floor(l.y)+"px";null==G&&(a.container.appendChild(A),G=A.parentNode);h(c,d,l,A)}else null==t||!mxUtils.contains(t,c,d)||1500<K&&!mxEvent.isShiftDown(e)?(t=null,null!=G&&(A.parentNode.removeChild(A),
+G=null)):null!=t&&null!=G&&(l=a.model.isEdge(t.cell)?a.view.getPoint(t):new mxPoint(t.getCenterX(),t.getCenterY()),l=new mxRectangle(l.x-this.refreshTarget.width/2,l.y-this.refreshTarget.height/2,this.refreshTarget.width,this.refreshTarget.height),h(c,d,l,A));if(x&&null!=q&&!mxEvent.isAltDown(e)&&null==F){f=mxRectangle.fromRectangle(q);if(a.model.isEdge(q.cell)){var z=q.absolutePoints;null!=J.parentNode&&(l=z[0],f.add(h(c,d,new mxRectangle(l.x-this.roundDrop.width/2,l.y-this.roundDrop.height/2,this.roundDrop.width,
+this.roundDrop.height),J)));null!=I.parentNode&&(z=z[z.length-1],f.add(h(c,d,new mxRectangle(z.x-this.roundDrop.width/2,z.y-this.roundDrop.height/2,this.roundDrop.width,this.roundDrop.height),I)))}else l=mxRectangle.fromRectangle(q),null!=q.shape&&null!=q.shape.boundingBox&&(l=mxRectangle.fromRectangle(q.shape.boundingBox)),l.grow(this.graph.tolerance),l.grow(HoverIcons.prototype.arrowSpacing),z=this.graph.selectionCellsHandler.getHandler(q.cell),null!=z&&(l.x-=z.horizontalOffset/2,l.y-=z.verticalOffset/
+2,l.width+=z.horizontalOffset,l.height+=z.verticalOffset,null!=z.rotationShape&&null!=z.rotationShape.node&&"hidden"!=z.rotationShape.node.style.visibility&&"none"!=z.rotationShape.node.style.display&&null!=z.rotationShape.boundingBox&&l.add(z.rotationShape.boundingBox)),f.add(h(c,d,new mxRectangle(q.getCenterX()-this.triangleUp.width/2,l.y-this.triangleUp.height,this.triangleUp.width,this.triangleUp.height),y)),f.add(h(c,d,new mxRectangle(l.x+l.width,q.getCenterY()-this.triangleRight.height/2,this.triangleRight.width,
+this.triangleRight.height),C)),f.add(h(c,d,new mxRectangle(q.getCenterX()-this.triangleDown.width/2,l.y+l.height,this.triangleDown.width,this.triangleDown.height),B)),f.add(h(c,d,new mxRectangle(l.x-this.triangleLeft.width,q.getCenterY()-this.triangleLeft.height/2,this.triangleLeft.width,this.triangleLeft.height),E));null!=f&&f.grow(10)}M=mxConstants.DIRECTION_NORTH;F==C?M=mxConstants.DIRECTION_EAST:F==B||F==I?M=mxConstants.DIRECTION_SOUTH:F==E&&(M=mxConstants.DIRECTION_WEST);null!=t&&F==A&&(k=t);
+l=(null==m||a.isCellConnectable(b[m]))&&(a.model.isEdge(g)&&null!=m||a.model.isVertex(g)&&a.isCellConnectable(g));if(null!=q&&5E3<=K||q!=k&&(null==f||!mxUtils.contains(f,c,d)||500<K&&null==F&&l))if(x=!1,q=5E3>K&&K>this.dropTargetDelay||a.model.isEdge(g)?k:null,null!=q&&l){f=[J,I,y,C,B,E];for(l=0;l<f.length;l++)null!=f[l].parentNode&&f[l].parentNode.removeChild(f[l]);a.model.isEdge(g)?(z=k.absolutePoints,null!=z&&(l=z[0],z=z[z.length-1],f=a.tolerance,new mxRectangle(c-f,d-f,2*f,2*f),J.style.left=Math.floor(l.x-
+this.roundDrop.width/2)+"px",J.style.top=Math.floor(l.y-this.roundDrop.height/2)+"px",I.style.left=Math.floor(z.x-this.roundDrop.width/2)+"px",I.style.top=Math.floor(z.y-this.roundDrop.height/2)+"px",null==a.model.getTerminal(g,!0)&&a.container.appendChild(J),null==a.model.getTerminal(g,!1)&&a.container.appendChild(I))):(l=mxRectangle.fromRectangle(k),null!=k.shape&&null!=k.shape.boundingBox&&(l=mxRectangle.fromRectangle(k.shape.boundingBox)),l.grow(this.graph.tolerance),l.grow(HoverIcons.prototype.arrowSpacing),
 z=this.graph.selectionCellsHandler.getHandler(k.cell),null!=z&&(l.x-=z.horizontalOffset/2,l.y-=z.verticalOffset/2,l.width+=z.horizontalOffset,l.height+=z.verticalOffset,null!=z.rotationShape&&null!=z.rotationShape.node&&"hidden"!=z.rotationShape.node.style.visibility&&"none"!=z.rotationShape.node.style.display&&null!=z.rotationShape.boundingBox&&l.add(z.rotationShape.boundingBox)),y.style.left=Math.floor(k.getCenterX()-this.triangleUp.width/2)+"px",y.style.top=Math.floor(l.y-this.triangleUp.height)+
-"px",D.style.left=Math.floor(l.x+l.width)+"px",D.style.top=Math.floor(k.getCenterY()-this.triangleRight.height/2)+"px",B.style.left=y.style.left,B.style.top=Math.floor(l.y+l.height)+"px",E.style.left=Math.floor(l.x-this.triangleLeft.width)+"px",E.style.top=D.style.top,"eastwest"!=k.style.portConstraint&&(a.container.appendChild(y),a.container.appendChild(B)),a.container.appendChild(D),a.container.appendChild(E));null!=k&&(w=a.selectionCellsHandler.getHandler(k.cell),null!=w&&null!=w.setHandlesVisible&&
-w.setHandlesVisible(!1));x=!0}else for(f=[J,H,y,D,B,E],l=0;l<f.length;l++)null!=f[l].parentNode&&f[l].parentNode.removeChild(f[l]);x||null==w||w.setHandlesVisible(!0);g=mxEvent.isAltDown(e)&&!mxEvent.isShiftDown(e)||null!=t&&F==A?null:mxDragSource.prototype.getDropTarget.apply(this,arguments);f=a.getModel();if(null!=g&&(null!=F||!a.isSplitTarget(g,b,e))){for(;null!=g&&!a.isValidDropTarget(g,b,e)&&f.isVertex(f.getParent(g));)g=f.getParent(g);if(a.view.currentRoot==g||!a.isValidRoot(g)&&0==a.getModel().getChildCount(g)||
-a.isCellLocked(g)||f.isEdge(g))g=null}return g});u.stopDrag=function(){mxDragSource.prototype.stopDrag.apply(this,arguments);for(var a=[J,H,A,y,D,B,E],b=0;b<a.length;b++)null!=a[b].parentNode&&a[b].parentNode.removeChild(a[b]);null!=r&&null!=w&&w.reset();F=G=t=r=w=null};return u};
+"px",C.style.left=Math.floor(l.x+l.width)+"px",C.style.top=Math.floor(k.getCenterY()-this.triangleRight.height/2)+"px",B.style.left=y.style.left,B.style.top=Math.floor(l.y+l.height)+"px",E.style.left=Math.floor(l.x-this.triangleLeft.width)+"px",E.style.top=C.style.top,"eastwest"!=k.style.portConstraint&&(a.container.appendChild(y),a.container.appendChild(B)),a.container.appendChild(C),a.container.appendChild(E));null!=k&&(w=a.selectionCellsHandler.getHandler(k.cell),null!=w&&null!=w.setHandlesVisible&&
+w.setHandlesVisible(!1));x=!0}else for(f=[J,I,y,C,B,E],l=0;l<f.length;l++)null!=f[l].parentNode&&f[l].parentNode.removeChild(f[l]);x||null==w||w.setHandlesVisible(!0);g=mxEvent.isAltDown(e)&&!mxEvent.isShiftDown(e)||null!=t&&F==A?null:mxDragSource.prototype.getDropTarget.apply(this,arguments);f=a.getModel();if(null!=g&&(null!=F||!a.isSplitTarget(g,b,e))){for(;null!=g&&!a.isValidDropTarget(g,b,e)&&f.isVertex(f.getParent(g));)g=f.getParent(g);if(a.view.currentRoot==g||!a.isValidRoot(g)&&0==a.getModel().getChildCount(g)||
+a.isCellLocked(g)||f.isEdge(g))g=null}return g});u.stopDrag=function(){mxDragSource.prototype.stopDrag.apply(this,arguments);for(var a=[J,I,A,y,C,B,E],b=0;b<a.length;b++)null!=a[b].parentNode&&a[b].parentNode.removeChild(a[b]);null!=q&&null!=w&&w.reset();F=G=t=q=w=null};return u};
 Sidebar.prototype.itemClicked=function(a,c,d,b){b=this.editorUi.editor.graph;b.container.focus();if(mxEvent.isAltDown(d)&&1==b.getSelectionCount()&&b.model.isVertex(b.getSelectionCell())){c=null;for(var f=0;f<a.length&&null==c;f++)b.model.isVertex(a[f])&&(c=f);null!=c&&(b.setSelectionCells(this.dropAndConnect(b.getSelectionCell(),a,mxEvent.isMetaDown(d)||mxEvent.isControlDown(d)?mxEvent.isShiftDown(d)?mxConstants.DIRECTION_WEST:mxConstants.DIRECTION_NORTH:mxEvent.isShiftDown(d)?mxConstants.DIRECTION_EAST:
 mxConstants.DIRECTION_SOUTH,c,d)),b.scrollCellToVisible(b.getSelectionCell()))}else if(mxEvent.isShiftDown(d)&&!b.isSelectionEmpty())this.updateShapes(a[0],b.getSelectionCells()),b.scrollCellToVisible(b.getSelectionCell());else{a=b.getFreeInsertPoint();if(mxEvent.isAltDown(d)){var f=b.getGraphBounds(),e=b.view.translate,h=b.view.scale;a.x=f.x/h-e.x+f.width/h+b.gridSize;a.y=f.y/h-e.y}c.drop(b,d,null,a.x,a.y,!0);null!=this.editorUi.hoverIcons&&(mxEvent.isTouchEvent(d)||mxEvent.isPenEvent(d))&&this.editorUi.hoverIcons.update(b.view.getState(b.getSelectionCell()))}};
 Sidebar.prototype.addClickHandler=function(a,c,d){var b=c.mouseDown,f=c.mouseMove,e=c.mouseUp,h=this.editorUi.editor.graph.tolerance,g=null,k=this;c.mouseDown=function(c){b.apply(this,arguments);g=new mxPoint(mxEvent.getClientX(c),mxEvent.getClientY(c));null!=this.dragElement&&(this.dragElement.style.display="none",mxUtils.setOpacity(a,50))};c.mouseMove=function(b){null!=this.dragElement&&"none"==this.dragElement.style.display&&null!=g&&(Math.abs(g.x-mxEvent.getClientX(b))>h||Math.abs(g.y-mxEvent.getClientY(b))>
@@ -2491,19 +2494,19 @@ null;d=c.absolutePoints;if(null!=d)if(f=new mxRectangle(b.getGraphX(),b.getGraph
 (n=mxUtils.findNearestSegment(c,b.getGraphX(),b.getGraphY()),n<d.length-1&&0<=n&&(e=0==Math.round(d[n].x-d[n+1].x)?"col-resize":"row-resize"));null!=e&&c.setCursor(e)}}),mouseUp:mxUtils.bind(this,function(a,b){l=h=g=k=null})})}this.cellRenderer.getLabelValue=function(a){var b=mxCellRenderer.prototype.getLabelValue.apply(this,arguments);a.view.graph.isHtmlLabel(a.cell)&&(b=1!=a.style.html?mxUtils.htmlEntities(b,!1):a.view.graph.sanitizeHtml(b));return b};if("undefined"!==typeof mxVertexHandler){this.setConnectable(!0);
 this.setDropEnabled(!0);this.setPanning(!0);this.setTooltips(!0);this.setAllowLoops(!0);this.allowAutoPanning=!0;this.constrainChildren=this.resetEdgesOnConnect=!1;this.constrainRelativeChildren=!0;this.graphHandler.scrollOnMove=!1;this.graphHandler.scaleGrid=!0;this.connectionHandler.setCreateTarget(!1);this.connectionHandler.insertBeforeSource=!0;this.connectionHandler.isValidSource=function(a,b){return!1};this.alternateEdgeStyle="vertical";null==b&&this.loadStylesheet();var n=this.graphHandler.getGuideStates;
 this.graphHandler.getGuideStates=function(){var a=n.apply(this,arguments);if(this.graph.pageVisible){for(var b=[],c=this.graph.pageFormat,d=this.graph.pageScale,e=c.width*d,c=c.height*d,d=this.graph.view.translate,g=this.graph.view.scale,f=this.graph.getPageLayout(),h=0;h<f.width;h++)b.push(new mxRectangle(((f.x+h)*e+d.x)*g,(f.y*c+d.y)*g,e*g,c*g));for(h=0;h<f.height;h++)b.push(new mxRectangle((f.x*e+d.x)*g,((f.y+h)*c+d.y)*g,e*g,c*g));a=b.concat(a)}return a};mxDragSource.prototype.dragElementZIndex=
-mxPopupMenu.prototype.zIndex;mxGuide.prototype.getGuideColor=function(a,b){return null==a.cell?"#ffa500":mxConstants.GUIDE_COLOR};this.graphHandler.createPreviewShape=function(a){this.previewColor="#000000"==this.graph.background?"#ffffff":mxGraphHandler.prototype.previewColor;return mxGraphHandler.prototype.createPreviewShape.apply(this,arguments)};this.graphHandler.getCells=function(a){for(var b=mxGraphHandler.prototype.getCells.apply(this,arguments),c=[],d=0;d<b.length;d++){var e=this.graph.view.getState(b[d]),
-e=null!=e?e.style:this.graph.getCellStyle(b[d]);"1"==mxUtils.getValue(e,"part","0")?(e=this.graph.model.getParent(b[d]),this.graph.model.isVertex(e)&&0>mxUtils.indexOf(b,e)&&c.push(e)):c.push(b[d])}return c};this.connectionHandler.createTargetVertex=function(a,b){var c=this.graph.view.getState(b),c=null!=c?c.style:this.graph.getCellStyle(b);mxUtils.getValue(c,"part",!1)&&(c=this.graph.model.getParent(b),this.graph.model.isVertex(c)&&(b=c));return mxConnectionHandler.prototype.createTargetVertex.apply(this,
-arguments)};var p=new mxRubberband(this);this.getRubberband=function(){return p};var q=(new Date).getTime(),u=0,v=this.connectionHandler.mouseMove;this.connectionHandler.mouseMove=function(){var a=this.currentState;v.apply(this,arguments);a!=this.currentState?(q=(new Date).getTime(),u=0):u=(new Date).getTime()-q};var r=this.connectionHandler.isOutlineConnectEvent;this.connectionHandler.isOutlineConnectEvent=function(a){return null!=this.currentState&&a.getState()==this.currentState&&2E3<u||(null==
-this.currentState||"0"!=mxUtils.getValue(this.currentState.style,"outlineConnect","1"))&&r.apply(this,arguments)};var w=this.isToggleEvent;this.isToggleEvent=function(a){return w.apply(this,arguments)||!mxClient.IS_CHROMEOS&&mxEvent.isShiftDown(a)};var t=p.isForceRubberbandEvent;p.isForceRubberbandEvent=function(a){return t.apply(this,arguments)&&!mxEvent.isShiftDown(a.getEvent())&&!mxEvent.isControlDown(a.getEvent())||mxClient.IS_CHROMEOS&&mxEvent.isShiftDown(a.getEvent())||mxUtils.hasScrollbars(this.graph.container)&&
-mxClient.IS_FF&&mxClient.IS_WIN&&null==a.getState()&&mxEvent.isTouchEvent(a.getEvent())};var x=null;this.panningHandler.addListener(mxEvent.PAN_START,mxUtils.bind(this,function(){this.isEnabled()&&(x=this.container.style.cursor,this.container.style.cursor="move")}));this.panningHandler.addListener(mxEvent.PAN_END,mxUtils.bind(this,function(){this.isEnabled()&&(this.container.style.cursor=x)}));this.popupMenuHandler.autoExpand=!0;this.popupMenuHandler.isSelectOnPopup=function(a){return mxEvent.isMouseEvent(a.getEvent())};
-var y=this.click;this.click=function(a){var b=null==a.state&&null!=a.sourceState&&this.isCellLocked(a.sourceState.cell);if(this.isEnabled()&&!b||a.isConsumed())return y.apply(this,arguments);var c=b?a.sourceState.cell:a.getCell();null!=c&&(c=this.getLinkForCell(c),null!=c&&(this.isCustomLink(c)?this.customLinkClicked(c):this.openLink(c)));this.isEnabled()&&b&&this.clearSelection()};this.tooltipHandler.getStateForEvent=function(a){return a.sourceState};this.getCursorForMouseEvent=function(a){var b=
-null==a.state&&null!=a.sourceState&&this.isCellLocked(a.sourceState.cell);return this.getCursorForCell(b?a.sourceState.cell:a.getCell())};var D=this.getCursorForCell;this.getCursorForCell=function(a){if(!this.isEnabled()||this.isCellLocked(a)){if(null!=this.getLinkForCell(a))return"pointer";if(this.isCellLocked(a))return"default"}return D.apply(this,arguments)};this.selectRegion=function(a,b){var c=this.getAllCells(a.x,a.y,a.width,a.height);this.selectCellsForEvent(c,b);return c};this.getAllCells=
-function(a,b,c,d,e,g){g=null!=g?g:[];if(0<c||0<d){var f=this.getModel(),h=a+c,k=b+d;null==e&&(e=this.getCurrentRoot(),null==e&&(e=f.getRoot()));if(null!=e)for(var l=f.getChildCount(e),m=0;m<l;m++){var n=f.getChildAt(e,m),p=this.view.getState(n);if(null!=p&&this.isCellVisible(n)&&"1"!=mxUtils.getValue(p.style,"locked","0")){var z=mxUtils.getValue(p.style,mxConstants.STYLE_ROTATION)||0;0!=z&&(p=mxUtils.getBoundingBox(p,z));(f.isEdge(n)||f.isVertex(n))&&p.x>=a&&p.y+p.height<=k&&p.y>=b&&p.x+p.width<=
-h&&g.push(n);this.getAllCells(a,b,c,d,n,g)}}}return g};var B=this.graphHandler.shouldRemoveCellsFromParent;this.graphHandler.shouldRemoveCellsFromParent=function(a,b,c){return this.graph.isCellSelected(a)?!1:B.apply(this,arguments)};this.isCellLocked=function(a){for(a=this.view.getState(a);null!=a;){if("1"==mxUtils.getValue(a.style,"locked","0"))return!0;a=this.view.getState(this.model.getParent(a.cell))}return!1};var E=null;this.addListener(mxEvent.FIRE_MOUSE_EVENT,mxUtils.bind(this,function(a,b){if("mouseDown"==
-b.getProperty("eventName")){var c=b.getProperty("event").getState();E=null==c||this.isSelectionEmpty()||this.isCellSelected(c.cell)?null:this.getSelectionCells()}}));this.addListener(mxEvent.TAP_AND_HOLD,mxUtils.bind(this,function(a,b){if(!mxEvent.isMultiTouchEvent(b)){var c=b.getProperty("event"),d=b.getProperty("cell");null==d?(c=mxUtils.convertPoint(this.container,mxEvent.getClientX(c),mxEvent.getClientY(c)),p.start(c.x,c.y)):null!=E?this.addSelectionCells(E):1<this.getSelectionCount()&&this.isCellSelected(d)&&
-this.removeSelectionCell(d);E=null;b.consume()}}));this.connectionHandler.selectCells=function(a,b){this.graph.setSelectionCell(b||a)};this.connectionHandler.constraintHandler.isStateIgnored=function(a,b){return b&&a.view.graph.isCellSelected(a.cell)};this.selectionModel.addListener(mxEvent.CHANGE,mxUtils.bind(this,function(){var a=this.connectionHandler.constraintHandler;null!=a.currentFocus&&a.isStateIgnored(a.currentFocus,!0)&&(a.currentFocus=null,a.constraints=null,a.destroyIcons());a.destroyFocusHighlight()}));
-Graph.touchStyle&&this.initTouch();var A=this.updateMouseEvent;this.updateMouseEvent=function(a){a=A.apply(this,arguments);null!=a.state&&this.isCellLocked(a.getCell())&&(a.state=null);return a}}this.currentTranslate=new mxPoint(0,0)};Graph.touchStyle=mxClient.IS_TOUCH||mxClient.IS_FF&&mxClient.IS_WIN||0<navigator.maxTouchPoints||0<navigator.msMaxTouchPoints||null==window.urlParams||"1"==urlParams.touch;
-Graph.fileSupport=null!=window.File&&null!=window.FileReader&&null!=window.FileList&&(null==window.urlParams||"0"!=urlParams.filesupport);Graph.lineJumpsEnabled=!0;Graph.defaultJumpSize=6;
+mxPopupMenu.prototype.zIndex;mxGuide.prototype.getGuideColor=function(a,b){return null==a.cell?"#ffa500":mxConstants.GUIDE_COLOR};this.graphHandler.createPreviewShape=function(a){this.previewColor="#000000"==this.graph.background?"#ffffff":mxGraphHandler.prototype.previewColor;return mxGraphHandler.prototype.createPreviewShape.apply(this,arguments)};var p=this.graphHandler.getCells;this.graphHandler.getCells=function(a){for(var b=p.apply(this,arguments),c=[],d=0;d<b.length;d++){var e=this.graph.view.getState(b[d]),
+e=null!=e?e.style:this.graph.getCellStyle(b[d]);"1"==mxUtils.getValue(e,"part","0")?(e=this.graph.model.getParent(b[d]),this.graph.model.isVertex(e)&&0>mxUtils.indexOf(b,e)&&c.push(e)):c.push(b[d])}return c};var r=this.graphHandler.start;this.graphHandler.start=function(a,b,c,d){var e=this.graph.view.getState(a);null!=e&&mxUtils.getValue(e.style,"part",!1)&&(a=this.graph.model.getParent(a));r.apply(this,arguments)};this.connectionHandler.createTargetVertex=function(a,b){var c=this.graph.view.getState(b),
+c=null!=c?c.style:this.graph.getCellStyle(b);mxUtils.getValue(c,"part",!1)&&(c=this.graph.model.getParent(b),this.graph.model.isVertex(c)&&(b=c));return mxConnectionHandler.prototype.createTargetVertex.apply(this,arguments)};var u=new mxRubberband(this);this.getRubberband=function(){return u};var v=(new Date).getTime(),q=0,w=this.connectionHandler.mouseMove;this.connectionHandler.mouseMove=function(){var a=this.currentState;w.apply(this,arguments);a!=this.currentState?(v=(new Date).getTime(),q=0):
+q=(new Date).getTime()-v};var t=this.connectionHandler.isOutlineConnectEvent;this.connectionHandler.isOutlineConnectEvent=function(a){return null!=this.currentState&&a.getState()==this.currentState&&2E3<q||(null==this.currentState||"0"!=mxUtils.getValue(this.currentState.style,"outlineConnect","1"))&&t.apply(this,arguments)};var x=this.isToggleEvent;this.isToggleEvent=function(a){return x.apply(this,arguments)||!mxClient.IS_CHROMEOS&&mxEvent.isShiftDown(a)};var y=u.isForceRubberbandEvent;u.isForceRubberbandEvent=
+function(a){return y.apply(this,arguments)&&!mxEvent.isShiftDown(a.getEvent())&&!mxEvent.isControlDown(a.getEvent())||mxClient.IS_CHROMEOS&&mxEvent.isShiftDown(a.getEvent())||mxUtils.hasScrollbars(this.graph.container)&&mxClient.IS_FF&&mxClient.IS_WIN&&null==a.getState()&&mxEvent.isTouchEvent(a.getEvent())};var C=null;this.panningHandler.addListener(mxEvent.PAN_START,mxUtils.bind(this,function(){this.isEnabled()&&(C=this.container.style.cursor,this.container.style.cursor="move")}));this.panningHandler.addListener(mxEvent.PAN_END,
+mxUtils.bind(this,function(){this.isEnabled()&&(this.container.style.cursor=C)}));this.popupMenuHandler.autoExpand=!0;this.popupMenuHandler.isSelectOnPopup=function(a){return mxEvent.isMouseEvent(a.getEvent())};var B=this.click;this.click=function(a){var b=null==a.state&&null!=a.sourceState&&this.isCellLocked(a.sourceState.cell);if(this.isEnabled()&&!b||a.isConsumed())return B.apply(this,arguments);var c=b?a.sourceState.cell:a.getCell();null!=c&&(c=this.getLinkForCell(c),null!=c&&(this.isCustomLink(c)?
+this.customLinkClicked(c):this.openLink(c)));this.isEnabled()&&b&&this.clearSelection()};this.tooltipHandler.getStateForEvent=function(a){return a.sourceState};this.getCursorForMouseEvent=function(a){var b=null==a.state&&null!=a.sourceState&&this.isCellLocked(a.sourceState.cell);return this.getCursorForCell(b?a.sourceState.cell:a.getCell())};var E=this.getCursorForCell;this.getCursorForCell=function(a){if(!this.isEnabled()||this.isCellLocked(a)){if(null!=this.getLinkForCell(a))return"pointer";if(this.isCellLocked(a))return"default"}return E.apply(this,
+arguments)};this.selectRegion=function(a,b){var c=this.getAllCells(a.x,a.y,a.width,a.height);this.selectCellsForEvent(c,b);return c};this.getAllCells=function(a,b,c,d,e,g){g=null!=g?g:[];if(0<c||0<d){var f=this.getModel(),h=a+c,k=b+d;null==e&&(e=this.getCurrentRoot(),null==e&&(e=f.getRoot()));if(null!=e)for(var l=f.getChildCount(e),m=0;m<l;m++){var z=f.getChildAt(e,m),H=this.view.getState(z);if(null!=H&&this.isCellVisible(z)&&"1"!=mxUtils.getValue(H.style,"locked","0")){var n=mxUtils.getValue(H.style,
+mxConstants.STYLE_ROTATION)||0;0!=n&&(H=mxUtils.getBoundingBox(H,n));(f.isEdge(z)||f.isVertex(z))&&H.x>=a&&H.y+H.height<=k&&H.y>=b&&H.x+H.width<=h&&g.push(z);this.getAllCells(a,b,c,d,z,g)}}}return g};var A=this.graphHandler.shouldRemoveCellsFromParent;this.graphHandler.shouldRemoveCellsFromParent=function(a,b,c){return this.graph.isCellSelected(a)?!1:A.apply(this,arguments)};this.isCellLocked=function(a){for(a=this.view.getState(a);null!=a;){if("1"==mxUtils.getValue(a.style,"locked","0"))return!0;
+a=this.view.getState(this.model.getParent(a.cell))}return!1};var G=null;this.addListener(mxEvent.FIRE_MOUSE_EVENT,mxUtils.bind(this,function(a,b){if("mouseDown"==b.getProperty("eventName")){var c=b.getProperty("event").getState();G=null==c||this.isSelectionEmpty()||this.isCellSelected(c.cell)?null:this.getSelectionCells()}}));this.addListener(mxEvent.TAP_AND_HOLD,mxUtils.bind(this,function(a,b){if(!mxEvent.isMultiTouchEvent(b)){var c=b.getProperty("event"),d=b.getProperty("cell");null==d?(c=mxUtils.convertPoint(this.container,
+mxEvent.getClientX(c),mxEvent.getClientY(c)),u.start(c.x,c.y)):null!=G?this.addSelectionCells(G):1<this.getSelectionCount()&&this.isCellSelected(d)&&this.removeSelectionCell(d);G=null;b.consume()}}));this.connectionHandler.selectCells=function(a,b){this.graph.setSelectionCell(b||a)};this.connectionHandler.constraintHandler.isStateIgnored=function(a,b){return b&&a.view.graph.isCellSelected(a.cell)};this.selectionModel.addListener(mxEvent.CHANGE,mxUtils.bind(this,function(){var a=this.connectionHandler.constraintHandler;
+null!=a.currentFocus&&a.isStateIgnored(a.currentFocus,!0)&&(a.currentFocus=null,a.constraints=null,a.destroyIcons());a.destroyFocusHighlight()}));Graph.touchStyle&&this.initTouch();var J=this.updateMouseEvent;this.updateMouseEvent=function(a){a=J.apply(this,arguments);null!=a.state&&this.isCellLocked(a.getCell())&&(a.state=null);return a}}this.currentTranslate=new mxPoint(0,0)};
+Graph.touchStyle=mxClient.IS_TOUCH||mxClient.IS_FF&&mxClient.IS_WIN||0<navigator.maxTouchPoints||0<navigator.msMaxTouchPoints||null==window.urlParams||"1"==urlParams.touch;Graph.fileSupport=null!=window.File&&null!=window.FileReader&&null!=window.FileList&&(null==window.urlParams||"0"!=urlParams.filesupport);Graph.lineJumpsEnabled=!0;Graph.defaultJumpSize=6;
 Graph.createSvgImage=function(a,c,d,b,f){d=unescape(encodeURIComponent('<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="'+a+'px" height="'+c+'px" '+(null!=b&&null!=f?'viewBox="0 0 '+b+" "+f+'" ':"")+'version="1.1">'+d+"</svg>"));return new mxImage("data:image/svg+xml;base64,"+(window.btoa?btoa(d):Base64.encode(d,!0)),a,c)};
 Graph.zapGremlins=function(a){for(var c=[],d=0;d<a.length;d++){var b=a.charCodeAt(d);(32<=b||9==b||10==b||13==b)&&65535!=b&&65534!=b&&c.push(a.charAt(d))}return c.join("")};Graph.stringToBytes=function(a){for(var c=Array(a.length),d=0;d<a.length;d++)c[d]=a.charCodeAt(d);return c};Graph.bytesToString=function(a){for(var c=Array(a.length),d=0;d<a.length;d++)c[d]=String.fromCharCode(a[d]);return c.join("")};Graph.compressNode=function(a){return Graph.compress(Graph.zapGremlins(mxUtils.getXml(a)))};
 Graph.compress=function(a,c){if(null==a||0==a.length||"undefined"===typeof pako)return a;var d=c?pako.deflate(encodeURIComponent(a),{to:"string"}):pako.deflateRaw(encodeURIComponent(a),{to:"string"});return window.btoa?btoa(d):Base64.encode(d,!0)};Graph.decompress=function(a,c){if(null==a||0==a.length||"undefined"===typeof pako)return a;var d=window.atob?atob(a):Base64.decode(a,!0),d=c?pako.inflate(d,{to:"string"}):pako.inflateRaw(d,{to:"string"});return Graph.zapGremlins(decodeURIComponent(d))};
@@ -2536,8 +2539,8 @@ Graph.prototype.isLabelMovable=function(a){var c=this.view.getState(a),c=null!=c
 Graph.prototype.getGlobalVariable=function(a){var c=null;"date"==a?c=(new Date).toLocaleDateString():"time"==a?c=(new Date).toLocaleTimeString():"timestamp"==a?c=(new Date).toLocaleString():"date{"==a.substring(0,5)&&(a=a.substring(5,a.length-1),c=this.formatDate(new Date,a));return c};
 Graph.prototype.formatDate=function(a,c,d){null==this.dateFormatCache&&(this.dateFormatCache={i18n:{dayNames:"Sun Mon Tue Wed Thu Fri Sat Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),monthNames:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec January February March April May June July August September October November December".split(" ")},masks:{"default":"ddd mmm dd yyyy HH:MM:ss",shortDate:"m/d/yy",mediumDate:"mmm d, yyyy",longDate:"mmmm d, yyyy",fullDate:"dddd, mmmm d, yyyy",
 shortTime:"h:MM TT",mediumTime:"h:MM:ss TT",longTime:"h:MM:ss TT Z",isoDate:"yyyy-mm-dd",isoTime:"HH:MM:ss",isoDateTime:"yyyy-mm-dd'T'HH:MM:ss",isoUtcDateTime:"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"}});var b=this.dateFormatCache,f=/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,e=/[^-+\dA-Z]/g,h=function(a,b){a=String(a);for(b=b||2;a.length<b;)a="0"+a;return a};1!=arguments.length||"[object String]"!=Object.prototype.toString.call(a)||
-/\d/.test(a)||(c=a,a=void 0);a=a?new Date(a):new Date;if(isNaN(a))throw SyntaxError("invalid date");c=String(b.masks[c]||c||b.masks["default"]);"UTC:"==c.slice(0,4)&&(c=c.slice(4),d=!0);var g=d?"getUTC":"get",k=a[g+"Date"](),l=a[g+"Day"](),m=a[g+"Month"](),n=a[g+"FullYear"](),p=a[g+"Hours"](),q=a[g+"Minutes"](),u=a[g+"Seconds"](),g=a[g+"Milliseconds"](),v=d?0:a.getTimezoneOffset(),r={d:k,dd:h(k),ddd:b.i18n.dayNames[l],dddd:b.i18n.dayNames[l+7],m:m+1,mm:h(m+1),mmm:b.i18n.monthNames[m],mmmm:b.i18n.monthNames[m+
-12],yy:String(n).slice(2),yyyy:n,h:p%12||12,hh:h(p%12||12),H:p,HH:h(p),M:q,MM:h(q),s:u,ss:h(u),l:h(g,3),L:h(99<g?Math.round(g/10):g),t:12>p?"a":"p",tt:12>p?"am":"pm",T:12>p?"A":"P",TT:12>p?"AM":"PM",Z:d?"UTC":(String(a).match(f)||[""]).pop().replace(e,""),o:(0<v?"-":"+")+h(100*Math.floor(Math.abs(v)/60)+Math.abs(v)%60,4),S:["th","st","nd","rd"][3<k%10?0:(10!=k%100-k%10)*k%10]};return c.replace(/d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,function(a){return a in r?r[a]:a.slice(1,
+/\d/.test(a)||(c=a,a=void 0);a=a?new Date(a):new Date;if(isNaN(a))throw SyntaxError("invalid date");c=String(b.masks[c]||c||b.masks["default"]);"UTC:"==c.slice(0,4)&&(c=c.slice(4),d=!0);var g=d?"getUTC":"get",k=a[g+"Date"](),l=a[g+"Day"](),m=a[g+"Month"](),n=a[g+"FullYear"](),p=a[g+"Hours"](),r=a[g+"Minutes"](),u=a[g+"Seconds"](),g=a[g+"Milliseconds"](),v=d?0:a.getTimezoneOffset(),q={d:k,dd:h(k),ddd:b.i18n.dayNames[l],dddd:b.i18n.dayNames[l+7],m:m+1,mm:h(m+1),mmm:b.i18n.monthNames[m],mmmm:b.i18n.monthNames[m+
+12],yy:String(n).slice(2),yyyy:n,h:p%12||12,hh:h(p%12||12),H:p,HH:h(p),M:r,MM:h(r),s:u,ss:h(u),l:h(g,3),L:h(99<g?Math.round(g/10):g),t:12>p?"a":"p",tt:12>p?"am":"pm",T:12>p?"A":"P",TT:12>p?"AM":"PM",Z:d?"UTC":(String(a).match(f)||[""]).pop().replace(e,""),o:(0<v?"-":"+")+h(100*Math.floor(Math.abs(v)/60)+Math.abs(v)%60,4),S:["th","st","nd","rd"][3<k%10?0:(10!=k%100-k%10)*k%10]};return c.replace(/d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,function(a){return a in q?q[a]:a.slice(1,
 a.length-1)})};
 Graph.prototype.createLayersDialog=function(){var a=document.createElement("div");a.style.position="absolute";for(var c=this.getModel(),d=c.getChildCount(c.root),b=0;b<d;b++)mxUtils.bind(this,function(b){var d=document.createElement("div");d.style.overflow="hidden";d.style.textOverflow="ellipsis";d.style.padding="2px";d.style.whiteSpace="nowrap";var f=document.createElement("input");f.style.display="inline-block";f.setAttribute("type","checkbox");c.isVisible(b)&&(f.setAttribute("checked","checked"),
 f.defaultChecked=!0);d.appendChild(f);var g=this.convertValueToString(b)||mxResources.get("background")||"Background";d.setAttribute("title",g);mxUtils.write(d,g);a.appendChild(d);mxEvent.addListener(f,"click",function(){null!=f.getAttribute("checked")?f.removeAttribute("checked"):f.setAttribute("checked","checked");c.setVisible(b,f.checked)})})(c.getChildAt(c.root,b));return a};
@@ -2547,9 +2550,9 @@ Graph.prototype.selectCellsForConnectVertex=function(a,c,d){2==a.length&&this.mo
 Graph.prototype.connectVertex=function(a,c,d,b,f,e){if(a.geometry.relative&&this.model.isEdge(a.parent))return[];e=e?e:!1;var h=a.geometry.relative&&null!=a.parent.geometry?new mxPoint(a.parent.geometry.width*a.geometry.x,a.parent.geometry.height*a.geometry.y):new mxPoint(a.geometry.x,a.geometry.y);c==mxConstants.DIRECTION_NORTH?(h.x+=a.geometry.width/2,h.y-=d):c==mxConstants.DIRECTION_SOUTH?(h.x+=a.geometry.width/2,h.y+=a.geometry.height+d):(h.x=c==mxConstants.DIRECTION_WEST?h.x-d:h.x+(a.geometry.width+
 d),h.y+=a.geometry.height/2);d=this.view.getState(this.model.getParent(a));var g=this.view.scale,k=this.view.translate,l=k.x*g,k=k.y*g;null!=d&&this.model.isVertex(d.cell)&&(l=d.x,k=d.y);this.model.isVertex(a.parent)&&a.geometry.relative&&(h.x+=a.parent.geometry.x,h.y+=a.parent.geometry.y);e=e||mxEvent.isControlDown(b)&&!f?null:this.getCellAt(l+h.x*g,k+h.y*g);this.model.isAncestor(e,a)&&(e=null);for(d=e;null!=d;){if(this.isCellLocked(d)){e=null;break}d=this.model.getParent(d)}null!=e&&(d=this.view.getState(a),
 g=this.view.getState(e),null!=d&&null!=g&&mxUtils.intersects(d,g)&&(e=null));if(f=!mxEvent.isShiftDown(b)||f)c==mxConstants.DIRECTION_NORTH?h.y-=a.geometry.height/2:c==mxConstants.DIRECTION_SOUTH?h.y+=a.geometry.height/2:h.x=c==mxConstants.DIRECTION_WEST?h.x-a.geometry.width/2:h.x+a.geometry.width/2;null==e||this.isCellConnectable(e)||(d=this.getModel().getParent(e),this.getModel().isVertex(d)&&this.isCellConnectable(d)&&(e=d));if(e==a||this.model.isEdge(e)||!this.isCellConnectable(e))e=null;d=[];
-this.model.beginUpdate();try{var m=null!=e&&this.isSwimlane(e),g=m?null:e;if(null==g&&f){for(var l=a,n=this.getCellGeometry(a);null!=n&&n.relative;)l=this.getModel().getParent(l),n=this.getCellGeometry(l);var p=this.view.getState(l),q=null!=p?p.style:this.getCellStyle(l);if(mxUtils.getValue(q,"part",!1)){var u=this.model.getParent(l);this.model.isVertex(u)&&(l=u)}g=this.duplicateCells([l],!1)[0];n=this.getCellGeometry(g);null!=n&&(n.x=h.x-n.width/2,n.y=h.y-n.height/2);m&&(this.addCells([g],e,null,
-null,null,!0),e=null)}m=null;null!=this.layoutManager&&(m=this.layoutManager.getLayout(this.model.getParent(a)));var v=mxEvent.isControlDown(b)&&f||null==e&&null!=m&&m.constructor==mxStackLayout?null:this.insertEdge(this.model.getParent(a),null,"",a,g,this.createCurrentEdgeStyle());if(null!=v&&this.connectionHandler.insertBeforeSource){var r=null;for(b=a;null!=b.parent&&null!=b.geometry&&b.geometry.relative&&b.parent!=v.parent;)b=this.model.getParent(b);null!=b&&null!=b.parent&&b.parent==v.parent&&
-(r=b.parent.getIndex(b),this.model.add(b.parent,v,r))}null==e&&null!=g&&null!=m&&null!=a.parent&&m.constructor==mxStackLayout&&c==mxConstants.DIRECTION_WEST&&(r=a.parent.getIndex(a),this.model.add(a.parent,g,r));null!=v&&d.push(v);null==e&&null!=g&&d.push(g);null==g&&null!=v&&v.geometry.setTerminalPoint(h,!1);null!=v&&this.fireEvent(new mxEventObject("cellsInserted","cells",[v]))}finally{this.model.endUpdate()}return d};
+this.model.beginUpdate();try{var m=null!=e&&this.isSwimlane(e),g=m?null:e;if(null==g&&f){for(var l=a,n=this.getCellGeometry(a);null!=n&&n.relative;)l=this.getModel().getParent(l),n=this.getCellGeometry(l);var p=this.view.getState(l),r=null!=p?p.style:this.getCellStyle(l);if(mxUtils.getValue(r,"part",!1)){var u=this.model.getParent(l);this.model.isVertex(u)&&(l=u)}g=this.duplicateCells([l],!1)[0];n=this.getCellGeometry(g);null!=n&&(n.x=h.x-n.width/2,n.y=h.y-n.height/2);m&&(this.addCells([g],e,null,
+null,null,!0),e=null)}m=null;null!=this.layoutManager&&(m=this.layoutManager.getLayout(this.model.getParent(a)));var v=mxEvent.isControlDown(b)&&f||null==e&&null!=m&&m.constructor==mxStackLayout?null:this.insertEdge(this.model.getParent(a),null,"",a,g,this.createCurrentEdgeStyle());if(null!=v&&this.connectionHandler.insertBeforeSource){var q=null;for(b=a;null!=b.parent&&null!=b.geometry&&b.geometry.relative&&b.parent!=v.parent;)b=this.model.getParent(b);null!=b&&null!=b.parent&&b.parent==v.parent&&
+(q=b.parent.getIndex(b),this.model.add(b.parent,v,q))}null==e&&null!=g&&null!=m&&null!=a.parent&&m.constructor==mxStackLayout&&c==mxConstants.DIRECTION_WEST&&(q=a.parent.getIndex(a),this.model.add(a.parent,g,q));null!=v&&d.push(v);null==e&&null!=g&&d.push(g);null==g&&null!=v&&v.geometry.setTerminalPoint(h,!1);null!=v&&this.fireEvent(new mxEventObject("cellsInserted","cells",[v]))}finally{this.model.endUpdate()}return d};
 Graph.prototype.getIndexableText=function(){var a=document.createElement("div"),c=[],d,b;for(b in this.model.cells)if(d=this.model.cells[b],this.model.isVertex(d)||this.model.isEdge(d))this.isHtmlLabel(d)?(a.innerHTML=this.getLabel(d),d=mxUtils.extractTextWithWhitespace([a])):d=this.getLabel(d),d=mxUtils.trim(d.replace(/[\x00-\x1F\x7F-\x9F]|\s+/g," ")),0<d.length&&c.push(d);return c.join(" ")};
 Graph.prototype.convertValueToString=function(a){if(null!=a.value&&"object"==typeof a.value){if(this.isReplacePlaceholders(a)&&null!=a.getAttribute("placeholder")){for(var c=a.getAttribute("placeholder"),d=a,b=null;null==b&&null!=d;)null!=d.value&&"object"==typeof d.value&&(b=d.hasAttribute(c)?null!=d.getAttribute(c)?d.getAttribute(c):"":null),d=this.model.getParent(d);return b||""}return a.value.getAttribute("label")||""}return mxGraph.prototype.convertValueToString.apply(this,arguments)};
 Graph.prototype.getLinksForState=function(a){return null!=a&&null!=a.text&&null!=a.text.node?a.text.node.getElementsByTagName("a"):null};Graph.prototype.getLinkForCell=function(a){return null!=a.value&&"object"==typeof a.value?(a=a.value.getAttribute("link"),null!=a&&"javascript:"===a.toLowerCase().substring(0,11)&&(a=a.substring(11)),a):null};
@@ -2604,11 +2607,11 @@ HoverIcons.prototype.setCurrentState=function(a){"eastwest"!=a.style.portConstra
 (function(){var a=mxGraphView.prototype.resetValidationState;mxGraphView.prototype.resetValidationState=function(){a.apply(this,arguments);this.validEdges=[]};var c=mxGraphView.prototype.validateCellState;mxGraphView.prototype.validateCellState=function(a,b){b=null!=b?b:!0;var d=this.getState(a);null!=d&&b&&this.graph.model.isEdge(d.cell)&&null!=d.style&&1!=d.style[mxConstants.STYLE_CURVED]&&!d.invalid&&this.updateLineJumps(d)&&this.graph.cellRenderer.redraw(d,!1,this.isRendering());d=c.apply(this,
 arguments);null!=d&&b&&this.graph.model.isEdge(d.cell)&&null!=d.style&&1!=d.style[mxConstants.STYLE_CURVED]&&this.validEdges.push(d);return d};var d=mxCellRenderer.prototype.isShapeInvalid;mxCellRenderer.prototype.isShapeInvalid=function(a,b){return d.apply(this,arguments)||null!=a.routedPoints&&null!=b.routedPoints&&!mxUtils.equalPoints(b.routedPoints,a.routedPoints)};var b=mxGraphView.prototype.updateCellState;mxGraphView.prototype.updateCellState=function(a){b.apply(this,arguments);this.graph.model.isEdge(a.cell)&&
 1!=a.style[mxConstants.STYLE_CURVED]&&this.updateLineJumps(a)};mxGraphView.prototype.updateLineJumps=function(a){var b=a.absolutePoints;if(Graph.lineJumpsEnabled){var c=null!=a.routedPoints,d=null;if(null!=b&&null!=this.validEdges&&"none"!==mxUtils.getValue(a.style,"jumpStyle","none")){for(var e=function(b,c,e){var g=new mxPoint(c,e);g.type=b;d.push(g);g=null!=a.routedPoints?a.routedPoints[d.length-1]:null;return null==g||g.type!=b||g.x!=c||g.y!=e},g=.5*this.scale,c=!1,d=[],f=0;f<b.length-1;f++){for(var h=
-b[f+1],k=b[f],w=[],t=b[f+2];f<b.length-2&&mxUtils.ptSegDistSq(k.x,k.y,t.x,t.y,h.x,h.y)<1*this.scale*this.scale;)h=t,f++,t=b[f+2];for(var c=e(0,k.x,k.y)||c,x=0;x<this.validEdges.length;x++){var y=this.validEdges[x],D=y.absolutePoints;if(null!=D&&mxUtils.intersects(a,y)&&"1"!=y.style.noJump)for(y=0;y<D.length-1;y++){for(var B=D[y+1],E=D[y],t=D[y+2];y<D.length-2&&mxUtils.ptSegDistSq(E.x,E.y,t.x,t.y,B.x,B.y)<1*this.scale*this.scale;)B=t,y++,t=D[y+2];t=mxUtils.intersection(k.x,k.y,h.x,h.y,E.x,E.y,B.x,
+b[f+1],k=b[f],w=[],t=b[f+2];f<b.length-2&&mxUtils.ptSegDistSq(k.x,k.y,t.x,t.y,h.x,h.y)<1*this.scale*this.scale;)h=t,f++,t=b[f+2];for(var c=e(0,k.x,k.y)||c,x=0;x<this.validEdges.length;x++){var y=this.validEdges[x],C=y.absolutePoints;if(null!=C&&mxUtils.intersects(a,y)&&"1"!=y.style.noJump)for(y=0;y<C.length-1;y++){for(var B=C[y+1],E=C[y],t=C[y+2];y<C.length-2&&mxUtils.ptSegDistSq(E.x,E.y,t.x,t.y,B.x,B.y)<1*this.scale*this.scale;)B=t,y++,t=C[y+2];t=mxUtils.intersection(k.x,k.y,h.x,h.y,E.x,E.y,B.x,
 B.y);if(null!=t&&(Math.abs(t.x-k.x)>g||Math.abs(t.y-k.y)>g)&&(Math.abs(t.x-h.x)>g||Math.abs(t.y-h.y)>g)&&(Math.abs(t.x-E.x)>g||Math.abs(t.y-E.y)>g)&&(Math.abs(t.x-B.x)>g||Math.abs(t.y-B.y)>g)){B=t.x-k.x;E=t.y-k.y;t={distSq:B*B+E*E,x:t.x,y:t.y};for(B=0;B<w.length;B++)if(w[B].distSq>t.distSq){w.splice(B,0,t);t=null;break}null==t||0!=w.length&&w[w.length-1].x===t.x&&w[w.length-1].y===t.y||w.push(t)}}}for(y=0;y<w.length;y++)c=e(1,w[y].x,w[y].y)||c}t=b[b.length-1];c=e(0,t.x,t.y)||c}a.routedPoints=d;return c}return!1};
 var f=mxConnector.prototype.paintLine;mxConnector.prototype.paintLine=function(a,b,c){this.routedPoints=null!=this.state?this.state.routedPoints:null;if(this.outline||null==this.state||null==this.style||null==this.state.routedPoints||0==this.state.routedPoints.length)f.apply(this,arguments);else{var d=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2,e=(parseInt(mxUtils.getValue(this.style,"jumpSize",Graph.defaultJumpSize))-2)/2+this.strokewidth,g=mxUtils.getValue(this.style,
-"jumpStyle","none"),h=!0,k=null,l=null,m=[],t=null;a.begin();for(var x=0;x<this.state.routedPoints.length;x++){var y=this.state.routedPoints[x],D=new mxPoint(y.x/this.scale,y.y/this.scale);0==x?D=b[0]:x==this.state.routedPoints.length-1&&(D=b[b.length-1]);var B=!1;if(null!=k&&1==y.type){var E=this.state.routedPoints[x+1],y=E.x/this.scale-D.x,E=E.y/this.scale-D.y,y=y*y+E*E;null==t&&(t=new mxPoint(D.x-k.x,D.y-k.y),l=Math.sqrt(t.x*t.x+t.y*t.y),0<l?(t.x=t.x*e/l,t.y=t.y*e/l):t=null);y>e*e&&0<l&&(y=k.x-
-D.x,E=k.y-D.y,y=y*y+E*E,y>e*e&&(B=new mxPoint(D.x-t.x,D.y-t.y),y=new mxPoint(D.x+t.x,D.y+t.y),m.push(B),this.addPoints(a,m,c,d,!1,null,h),m=0>Math.round(t.x)||0==Math.round(t.x)&&0>=Math.round(t.y)?1:-1,h=!1,"sharp"==g?(a.lineTo(B.x-t.y*m,B.y+t.x*m),a.lineTo(y.x-t.y*m,y.y+t.x*m),a.lineTo(y.x,y.y)):"arc"==g?(m*=1.3,a.curveTo(B.x-t.y*m,B.y+t.x*m,y.x-t.y*m,y.y+t.x*m,y.x,y.y)):(a.moveTo(y.x,y.y),h=!0),m=[y],B=!0))}else t=null;B||(m.push(D),k=D)}this.addPoints(a,m,c,d,!1,null,h);a.stroke()}};var e=mxGraphView.prototype.updateFloatingTerminalPoint;
+"jumpStyle","none"),h=!0,k=null,l=null,m=[],t=null;a.begin();for(var x=0;x<this.state.routedPoints.length;x++){var y=this.state.routedPoints[x],C=new mxPoint(y.x/this.scale,y.y/this.scale);0==x?C=b[0]:x==this.state.routedPoints.length-1&&(C=b[b.length-1]);var B=!1;if(null!=k&&1==y.type){var E=this.state.routedPoints[x+1],y=E.x/this.scale-C.x,E=E.y/this.scale-C.y,y=y*y+E*E;null==t&&(t=new mxPoint(C.x-k.x,C.y-k.y),l=Math.sqrt(t.x*t.x+t.y*t.y),0<l?(t.x=t.x*e/l,t.y=t.y*e/l):t=null);y>e*e&&0<l&&(y=k.x-
+C.x,E=k.y-C.y,y=y*y+E*E,y>e*e&&(B=new mxPoint(C.x-t.x,C.y-t.y),y=new mxPoint(C.x+t.x,C.y+t.y),m.push(B),this.addPoints(a,m,c,d,!1,null,h),m=0>Math.round(t.x)||0==Math.round(t.x)&&0>=Math.round(t.y)?1:-1,h=!1,"sharp"==g?(a.lineTo(B.x-t.y*m,B.y+t.x*m),a.lineTo(y.x-t.y*m,y.y+t.x*m),a.lineTo(y.x,y.y)):"arc"==g?(m*=1.3,a.curveTo(B.x-t.y*m,B.y+t.x*m,y.x-t.y*m,y.y+t.x*m,y.x,y.y)):(a.moveTo(y.x,y.y),h=!0),m=[y],B=!0))}else t=null;B||(m.push(C),k=C)}this.addPoints(a,m,c,d,!1,null,h);a.stroke()}};var e=mxGraphView.prototype.updateFloatingTerminalPoint;
 mxGraphView.prototype.updateFloatingTerminalPoint=function(a,b,c,d){if(null==b||null==a||"1"!=b.style.snapToPoint&&"1"!=a.style.snapToPoint)e.apply(this,arguments);else{b=this.getTerminalPort(a,b,d);var g=this.getNextPoint(a,c,d),f=this.graph.isOrthogonal(a),h=mxUtils.toRadians(Number(b.style[mxConstants.STYLE_ROTATION]||"0")),k=new mxPoint(b.getCenterX(),b.getCenterY());if(0!=h)var l=Math.cos(-h),m=Math.sin(-h),g=mxUtils.getRotatedPoint(g,l,m,k);l=parseFloat(a.style[mxConstants.STYLE_PERIMETER_SPACING]||
 0);l+=parseFloat(a.style[d?mxConstants.STYLE_SOURCE_PERIMETER_SPACING:mxConstants.STYLE_TARGET_PERIMETER_SPACING]||0);g=this.getPerimeterPoint(b,g,0==h&&f,l);0!=h&&(l=Math.cos(h),m=Math.sin(h),g=mxUtils.getRotatedPoint(g,l,m,k));a.setAbsoluteTerminalPoint(this.snapToAnchorPoint(a,b,c,d,g),d)}};mxGraphView.prototype.snapToAnchorPoint=function(a,b,c,d,e){if(null!=b&&null!=a){a=this.graph.getAllConnectionConstraints(b);d=c=null;if(null!=a)for(var g=0;g<a.length;g++){var f=this.graph.getConnectionPoint(b,
 a[g]);if(null!=f){var h=(f.x-e.x)*(f.x-e.x)+(f.y-e.y)*(f.y-e.y);if(null==d||h<d)c=f,d=h}}null!=c&&(e=c)}return e};var h=mxStencil.prototype.evaluateTextAttribute;mxStencil.prototype.evaluateTextAttribute=function(a,b,c){var d=h.apply(this,arguments);"1"==a.getAttribute("placeholders")&&null!=c.state&&(d=c.state.view.graph.replacePlaceholders(c.state.cell,d));return d};var g=mxCellRenderer.prototype.createShape;mxCellRenderer.prototype.createShape=function(a){if(null!=a.style&&"undefined"!==typeof pako){var b=
@@ -2638,16 +2641,16 @@ if(null!=a.shape.constraints)return a.shape.constraints}}return null};Graph.prot
 this.model.getChildAt(a,d);this.model.isVertex(e)&&(e=this.getCellGeometry(e),null==e||e.relative||c++)}return 0<c||this.isContainer(a)};Graph.prototype.isValidDropTarget=function(a){var b=this.view.getState(a),b=null!=b?b.style:this.getCellStyle(a);return"1"!=mxUtils.getValue(b,"part","0")&&(this.isContainer(a)||mxGraph.prototype.isValidDropTarget.apply(this,arguments)&&"0"!=mxUtils.getValue(b,"dropTarget","1"))};Graph.prototype.createGroupCell=function(){var a=mxGraph.prototype.createGroupCell.apply(this,
 arguments);a.setStyle("group");return a};Graph.prototype.isExtendParentsOnAdd=function(a){var b=mxGraph.prototype.isExtendParentsOnAdd.apply(this,arguments);if(b&&null!=a&&null!=this.layoutManager){var c=this.model.getParent(a);null!=c&&(c=this.layoutManager.getLayout(c),null!=c&&c.constructor==mxStackLayout&&(b=!1))}return b};Graph.prototype.getPreferredSizeForCell=function(a){var b=mxGraph.prototype.getPreferredSizeForCell.apply(this,arguments);null!=b&&(b.width+=10,b.height+=4,this.gridEnabled&&
 (b.width=this.snap(b.width),b.height=this.snap(b.height)));return b};Graph.prototype.turnShapes=function(a){var b=this.getModel(),c=[];b.beginUpdate();try{for(var d=0;d<a.length;d++){var e=a[d];if(b.isEdge(e)){var g=b.getTerminal(e,!0),f=b.getTerminal(e,!1);b.setTerminal(e,f,!0);b.setTerminal(e,g,!1);var h=b.getGeometry(e);if(null!=h){h=h.clone();null!=h.points&&h.points.reverse();var k=h.getTerminalPoint(!0),l=h.getTerminalPoint(!1);h.setTerminalPoint(k,!1);h.setTerminalPoint(l,!0);b.setGeometry(e,
-h);var z=this.view.getState(e),m=this.view.getState(g),n=this.view.getState(f);if(null!=z){var p=null!=m?this.getConnectionConstraint(z,m,!0):null,q=null!=n?this.getConnectionConstraint(z,n,!1):null;this.setConnectionConstraint(e,g,!0,q);this.setConnectionConstraint(e,f,!1,p)}c.push(e)}}else if(b.isVertex(e)&&(h=this.getCellGeometry(e),null!=h)){h=h.clone();h.x+=h.width/2-h.height/2;h.y+=h.height/2-h.width/2;var u=h.width;h.width=h.height;h.height=u;b.setGeometry(e,h);var t=this.view.getState(e);
-if(null!=t){var r=t.style[mxConstants.STYLE_DIRECTION]||"east";"east"==r?r="south":"south"==r?r="west":"west"==r?r="north":"north"==r&&(r="east");this.setCellStyles(mxConstants.STYLE_DIRECTION,r,[e])}c.push(e)}}}finally{b.endUpdate()}return c};Graph.prototype.stencilHasPlaceholders=function(a){if(null!=a&&null!=a.fgNode)for(a=a.fgNode.firstChild;null!=a;){if("text"==a.nodeName&&"1"==a.getAttribute("placeholders"))return!0;a=a.nextSibling}return!1};Graph.prototype.processChange=function(a){mxGraph.prototype.processChange.apply(this,
+h);var z=this.view.getState(e),m=this.view.getState(g),n=this.view.getState(f);if(null!=z){var p=null!=m?this.getConnectionConstraint(z,m,!0):null,r=null!=n?this.getConnectionConstraint(z,n,!1):null;this.setConnectionConstraint(e,g,!0,r);this.setConnectionConstraint(e,f,!1,p)}c.push(e)}}else if(b.isVertex(e)&&(h=this.getCellGeometry(e),null!=h)){h=h.clone();h.x+=h.width/2-h.height/2;h.y+=h.height/2-h.width/2;var u=h.width;h.width=h.height;h.height=u;b.setGeometry(e,h);var t=this.view.getState(e);
+if(null!=t){var q=t.style[mxConstants.STYLE_DIRECTION]||"east";"east"==q?q="south":"south"==q?q="west":"west"==q?q="north":"north"==q&&(q="east");this.setCellStyles(mxConstants.STYLE_DIRECTION,q,[e])}c.push(e)}}}finally{b.endUpdate()}return c};Graph.prototype.stencilHasPlaceholders=function(a){if(null!=a&&null!=a.fgNode)for(a=a.fgNode.firstChild;null!=a;){if("text"==a.nodeName&&"1"==a.getAttribute("placeholders"))return!0;a=a.nextSibling}return!1};Graph.prototype.processChange=function(a){mxGraph.prototype.processChange.apply(this,
 arguments);if(a instanceof mxValueChange&&null!=a.cell&&null!=a.cell.value&&"object"==typeof a.cell.value){var b=this.model.getDescendants(a.cell);if(0<b.length)for(var c=0;c<b.length;c++){var d=this.view.getState(b[c]);null!=d&&null!=d.shape&&null!=d.shape.stencil&&this.stencilHasPlaceholders(d.shape.stencil)?this.removeStateForCell(b[c]):this.isReplacePlaceholders(b[c])&&this.view.invalidate(b[c],!1,!1)}}};Graph.prototype.replaceElement=function(a,b){for(var c=a.ownerDocument.createElement(null!=
 b?b:"span"),d=Array.prototype.slice.call(a.attributes);attr=d.pop();)c.setAttribute(attr.nodeName,attr.nodeValue);c.innerHTML=a.innerHTML;a.parentNode.replaceChild(c,a)};Graph.prototype.processElements=function(a,b){if(null!=a)for(var c=a.getElementsByTagName("*"),d=0;d<c.length;d++)b(c[d])};Graph.prototype.updateLabelElements=function(a,b,c){a=null!=a?a:this.getSelectionCells();for(var d=document.createElement("div"),e=0;e<a.length;e++)if(this.isHtmlLabel(a[e])){var g=this.convertValueToString(a[e]);
 if(null!=g&&0<g.length){d.innerHTML=g;for(var f=d.getElementsByTagName(null!=c?c:"*"),h=0;h<f.length;h++)b(f[h]);d.innerHTML!=g&&this.cellLabelChanged(a[e],d.innerHTML)}}};Graph.prototype.cellLabelChanged=function(a,b,c){b=Graph.zapGremlins(b);this.model.beginUpdate();try{if(null!=a.value&&"object"==typeof a.value){if(this.isReplacePlaceholders(a)&&null!=a.getAttribute("placeholder"))for(var d=a.getAttribute("placeholder"),e=a;null!=e;){if(e==this.model.getRoot()||null!=e.value&&"object"==typeof e.value&&
 e.hasAttribute(d)){this.setAttributeForCell(e,d,b);break}e=this.model.getParent(e)}var g=a.value.cloneNode(!0);g.setAttribute("label",b);b=g}mxGraph.prototype.cellLabelChanged.apply(this,arguments)}finally{this.model.endUpdate()}};Graph.prototype.cellsRemoved=function(a){if(null!=a){for(var b=new mxDictionary,c=0;c<a.length;c++)b.put(a[c],!0);for(var d=[],c=0;c<a.length;c++){var e=this.model.getParent(a[c]);null==e||b.get(e)||(b.put(e,!0),d.push(e))}for(c=0;c<d.length;c++)if(e=this.view.getState(d[c]),
 null!=e&&(this.model.isEdge(e.cell)||this.model.isVertex(e.cell))&&this.isCellDeletable(e.cell)&&this.isTransparentState(e)){for(var g=!0,f=0;f<this.model.getChildCount(e.cell)&&g;f++)b.get(this.model.getChildAt(e.cell,f))||(g=!1);g&&a.push(e.cell)}}mxGraph.prototype.cellsRemoved.apply(this,arguments)};Graph.prototype.removeCellsAfterUngroup=function(a){for(var b=[],c=0;c<a.length;c++)this.isCellDeletable(a[c])&&this.isTransparentState(this.view.getState(a[c]))&&b.push(a[c]);a=b;mxGraph.prototype.removeCellsAfterUngroup.apply(this,
-arguments)};Graph.prototype.setLinkForCell=function(a,b){this.setAttributeForCell(a,"link",b)};Graph.prototype.setTooltipForCell=function(a,b){this.setAttributeForCell(a,"tooltip",b)};Graph.prototype.getAttributeForCell=function(a,b,c){return null!=a.value&&"object"===typeof a.value?a.value.getAttribute(b)||c:c};Graph.prototype.setAttributeForCell=function(a,b,c){var d;null!=a.value&&"object"==typeof a.value?d=a.value.cloneNode(!0):(d=mxUtils.createXmlDocument().createElement("UserObject"),d.setAttribute("label",
-a.value||""));null!=c?d.setAttribute(b,c):d.removeAttribute(b);this.model.setValue(a,d)};Graph.prototype.getDropTarget=function(a,b,c,d){this.getModel();if(mxEvent.isAltDown(b))return null;for(var e=0;e<a.length;e++)if(this.model.isEdge(this.model.getParent(a[e])))return null;return mxGraph.prototype.getDropTarget.apply(this,arguments)};Graph.prototype.click=function(a){mxGraph.prototype.click.call(this,a);this.firstClickState=a.getState();this.firstClickSource=a.getSource()};Graph.prototype.dblClick=
-function(a,b){if(this.isEnabled()){var c=mxUtils.convertPoint(this.container,mxEvent.getClientX(a),mxEvent.getClientY(a));if(null!=a&&!this.model.isVertex(b)){var d=this.model.isEdge(b)?this.view.getState(b):null,e=mxEvent.getSource(a);this.firstClickState!=d||this.firstClickSource!=e||null!=d&&null!=d.text&&null!=d.text.node&&null!=d.text.boundingBox&&(mxUtils.contains(d.text.boundingBox,c.x,c.y)||mxUtils.isAncestorNode(d.text.node,mxEvent.getSource(a)))||(null!=d||this.isCellLocked(this.getDefaultParent()))&&
+arguments)};Graph.prototype.setLinkForCell=function(a,b){this.setAttributeForCell(a,"link",b)};Graph.prototype.setTooltipForCell=function(a,b){this.setAttributeForCell(a,"tooltip",b)};Graph.prototype.getAttributeForCell=function(a,b,c){a=null!=a.value&&"object"===typeof a.value?a.value.getAttribute(b):null;return null!=a?a:c};Graph.prototype.setAttributeForCell=function(a,b,c){var d;null!=a.value&&"object"==typeof a.value?d=a.value.cloneNode(!0):(d=mxUtils.createXmlDocument().createElement("UserObject"),
+d.setAttribute("label",a.value||""));null!=c?d.setAttribute(b,c):d.removeAttribute(b);this.model.setValue(a,d)};Graph.prototype.getDropTarget=function(a,b,c,d){this.getModel();if(mxEvent.isAltDown(b))return null;for(var e=0;e<a.length;e++)if(this.model.isEdge(this.model.getParent(a[e])))return null;return mxGraph.prototype.getDropTarget.apply(this,arguments)};Graph.prototype.click=function(a){mxGraph.prototype.click.call(this,a);this.firstClickState=a.getState();this.firstClickSource=a.getSource()};
+Graph.prototype.dblClick=function(a,b){if(this.isEnabled()){var c=mxUtils.convertPoint(this.container,mxEvent.getClientX(a),mxEvent.getClientY(a));if(null!=a&&!this.model.isVertex(b)){var d=this.model.isEdge(b)?this.view.getState(b):null,e=mxEvent.getSource(a);this.firstClickState!=d||this.firstClickSource!=e||null!=d&&null!=d.text&&null!=d.text.node&&null!=d.text.boundingBox&&(mxUtils.contains(d.text.boundingBox,c.x,c.y)||mxUtils.isAncestorNode(d.text.node,mxEvent.getSource(a)))||(null!=d||this.isCellLocked(this.getDefaultParent()))&&
 (null==d||this.isCellLocked(d.cell))||!(null!=d||mxClient.IS_VML&&e==this.view.getCanvas()||mxClient.IS_SVG&&e==this.view.getCanvas().ownerSVGElement)||(b=this.addText(c.x,c.y,d))}mxGraph.prototype.dblClick.call(this,a,b)}};Graph.prototype.getInsertPoint=function(){var a=this.getGridSize(),b=this.container.scrollLeft/this.view.scale-this.view.translate.x,c=this.container.scrollTop/this.view.scale-this.view.translate.y;if(this.pageVisible)var d=this.getPageLayout(),e=this.getPageSize(),b=Math.max(b,
 d.x*e.width),c=Math.max(c,d.y*e.height);return new mxPoint(this.snap(b+a),this.snap(c+a))};Graph.prototype.getFreeInsertPoint=function(){var a=this.view,b=this.getGraphBounds(),c=this.getInsertPoint(),d=this.snap(Math.round(Math.max(c.x,b.x/a.scale-a.translate.x+(0==b.width?2*this.gridSize:0)))),a=this.snap(Math.round(Math.max(c.y,(b.y+b.height)/a.scale-a.translate.y+2*this.gridSize)));return new mxPoint(d,a)};Graph.prototype.isMouseInsertPoint=function(){return!1};Graph.prototype.addText=function(a,
 b,c){var d=new mxCell;d.value="Text";d.style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];";d.geometry=new mxGeometry(0,0,0,0);d.vertex=!0;if(null!=c){d.style+="labelBackgroundColor=#ffffff;";d.geometry.relative=!0;d.connectable=!1;var e=this.view.getRelativePoint(c,a,b);d.geometry.x=Math.round(1E4*e.x)/1E4;d.geometry.y=Math.round(e.y);d.geometry.offset=new mxPoint(0,0);var e=this.view.getPoint(c,d.geometry),g=this.view.scale;d.geometry.offset=new mxPoint(Math.round((a-e.x)/
@@ -2664,12 +2667,12 @@ a.length)document.execCommand("unlink",!1);else if(mxClient.IS_FF){for(var b=thi
 !1,mxUtils.trim(a))};Graph.prototype.isCellResizable=function(a){var b=mxGraph.prototype.isCellResizable.apply(this,arguments),c=this.view.getState(a),c=null!=c?c.style:this.getCellStyle(a);return b||"0"!=mxUtils.getValue(c,mxConstants.STYLE_RESIZABLE,"1")&&"wrap"==c[mxConstants.STYLE_WHITE_SPACE]};Graph.prototype.distributeCells=function(a,b){null==b&&(b=this.getSelectionCells());if(null!=b&&1<b.length){for(var c=[],d=null,e=null,g=0;g<b.length;g++)if(this.getModel().isVertex(b[g])){var f=this.view.getState(b[g]);
 if(null!=f){var h=a?f.getCenterX():f.getCenterY(),d=null!=d?Math.max(d,h):h,e=null!=e?Math.min(e,h):h;c.push(f)}}if(2<c.length){c.sort(function(b,c){return a?b.x-c.x:b.y-c.y});f=this.view.translate;h=this.view.scale;e=e/h-(a?f.x:f.y);d=d/h-(a?f.x:f.y);this.getModel().beginUpdate();try{for(var k=(d-e)/(c.length-1),d=e,g=1;g<c.length-1;g++){var l=this.view.getState(this.model.getParent(c[g].cell)),m=this.getCellGeometry(c[g].cell),d=d+k;null!=m&&null!=l&&(m=m.clone(),a?m.x=Math.round(d-m.width/2)-l.origin.x:
 m.y=Math.round(d-m.height/2)-l.origin.y,this.getModel().setGeometry(c[g].cell,m))}}finally{this.getModel().endUpdate()}}}return b};Graph.prototype.isCloneEvent=function(a){return mxClient.IS_MAC&&mxEvent.isMetaDown(a)||mxEvent.isControlDown(a)};Graph.prototype.createSvgImageExport=function(){var a=new mxImageExport;a.getLinkForCellState=mxUtils.bind(this,function(a,b){return this.getLinkForCell(a.cell)});return a};Graph.prototype.getSvg=function(a,b,c,d,e,g,f,h,k,l){var m=this.useCssTransforms;m&&
-(this.useCssTransforms=!1,this.view.revalidate(),this.sizeDidChange());try{b=null!=b?b:1;c=null!=c?c:0;e=null!=e?e:!0;g=null!=g?g:!0;f=null!=f?f:!0;var n=g||d?this.getGraphBounds():this.getBoundingBox(this.getSelectionCells());if(null==n)throw Error(mxResources.get("drawingEmpty"));var z=this.view.scale,p=mxUtils.createXmlDocument(),q=null!=p.createElementNS?p.createElementNS(mxConstants.NS_SVG,"svg"):p.createElement("svg");null!=a&&(null!=q.style?q.style.backgroundColor=a:q.setAttribute("style",
-"background-color:"+a));null==p.createElementNS?(q.setAttribute("xmlns",mxConstants.NS_SVG),q.setAttribute("xmlns:xlink",mxConstants.NS_XLINK)):q.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink",mxConstants.NS_XLINK);a=b/z;var u=Math.max(1,Math.ceil(n.width*a)+2*c)+(l?5:0),M=Math.max(1,Math.ceil(n.height*a)+2*c)+(l?5:0);q.setAttribute("version","1.1");q.setAttribute("width",u+"px");q.setAttribute("height",M+"px");q.setAttribute("viewBox",(e?"-0.5 -0.5":"0 0")+" "+u+" "+M);p.appendChild(q);
-var t=null!=p.createElementNS?p.createElementNS(mxConstants.NS_SVG,"g"):p.createElement("g");q.appendChild(t);var r=this.createSvgCanvas(t);r.foOffset=e?-.5:0;r.textOffset=e?-.5:0;r.imageOffset=e?-.5:0;r.translate(Math.floor((c/b-n.x)/z),Math.floor((c/b-n.y)/z));var Q=document.createElement("div"),y=r.getAlternateText;r.getAlternateText=function(a,b,c,d,e,g,f,h,k,l,m,n,z){if(null!=g&&0<this.state.fontSize)try{mxUtils.isNode(g)?g=g.innerText:(Q.innerHTML=g,g=mxUtils.extractTextWithWhitespace(Q.childNodes));
-for(var p=Math.ceil(2*d/this.state.fontSize),q=[],u=0,r=0;(0==p||u<p)&&r<g.length;){var M=g.charCodeAt(r);if(10==M||13==M){if(0<u)break}else q.push(g.charAt(r)),255>M&&u++;r++}q.length<g.length&&1<g.length-q.length&&(g=mxUtils.trim(q.join(""))+"...");return g}catch(sa){return y.apply(this,arguments)}else return y.apply(this,arguments)};var v=this.backgroundImage;if(null!=v){b=z/b;var D=this.view.translate,w=new mxRectangle(D.x*b,D.y*b,v.width*b,v.height*b);mxUtils.intersects(n,w)&&r.image(D.x,D.y,
-v.width,v.height,v.src,!0)}r.scale(a);r.textEnabled=f;h=null!=h?h:this.createSvgImageExport();var B=h.drawCellState,T=h.getLinkForCellState;h.getLinkForCellState=function(a,b){var c=T.apply(this,arguments);return null==c||a.view.graph.isCustomLink(c)?null:c};h.drawCellState=function(a,b){for(var c=a.view.graph,d=c.isCellSelected(a.cell),e=c.model.getParent(a.cell);!g&&!d&&null!=e;)d=c.isCellSelected(e),e=c.model.getParent(e);(g||d)&&B.apply(this,arguments)};h.drawState(this.getView().getState(this.model.root),
-r);this.updateSvgLinks(q,k,!0);return q}finally{m&&(this.useCssTransforms=!0,this.view.revalidate(),this.sizeDidChange())}};Graph.prototype.updateSvgLinks=function(a,b,c){a=a.getElementsByTagName("a");for(var d=0;d<a.length;d++){var e=a[d].getAttribute("href");null==e&&(e=a[d].getAttribute("xlink:href"));null!=e&&(null!=b&&/^https?:\/\//.test(e)?a[d].setAttribute("target",b):c&&this.isCustomLink(e)&&a[d].setAttribute("href","javascript:void(0);"))}};Graph.prototype.createSvgCanvas=function(a){a=new mxSvgCanvas2D(a);
+(this.useCssTransforms=!1,this.view.revalidate(),this.sizeDidChange());try{b=null!=b?b:1;c=null!=c?c:0;e=null!=e?e:!0;g=null!=g?g:!0;f=null!=f?f:!0;var n=g||d?this.getGraphBounds():this.getBoundingBox(this.getSelectionCells());if(null==n)throw Error(mxResources.get("drawingEmpty"));var z=this.view.scale,p=mxUtils.createXmlDocument(),r=null!=p.createElementNS?p.createElementNS(mxConstants.NS_SVG,"svg"):p.createElement("svg");null!=a&&(null!=r.style?r.style.backgroundColor=a:r.setAttribute("style",
+"background-color:"+a));null==p.createElementNS?(r.setAttribute("xmlns",mxConstants.NS_SVG),r.setAttribute("xmlns:xlink",mxConstants.NS_XLINK)):r.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink",mxConstants.NS_XLINK);a=b/z;var u=Math.max(1,Math.ceil(n.width*a)+2*c)+(l?5:0),H=Math.max(1,Math.ceil(n.height*a)+2*c)+(l?5:0);r.setAttribute("version","1.1");r.setAttribute("width",u+"px");r.setAttribute("height",H+"px");r.setAttribute("viewBox",(e?"-0.5 -0.5":"0 0")+" "+u+" "+H);p.appendChild(r);
+var t=null!=p.createElementNS?p.createElementNS(mxConstants.NS_SVG,"g"):p.createElement("g");r.appendChild(t);var q=this.createSvgCanvas(t);q.foOffset=e?-.5:0;q.textOffset=e?-.5:0;q.imageOffset=e?-.5:0;q.translate(Math.floor((c/b-n.x)/z),Math.floor((c/b-n.y)/z));var Q=document.createElement("div"),y=q.getAlternateText;q.getAlternateText=function(a,b,c,d,e,g,f,h,k,l,m,n,z){if(null!=g&&0<this.state.fontSize)try{mxUtils.isNode(g)?g=g.innerText:(Q.innerHTML=g,g=mxUtils.extractTextWithWhitespace(Q.childNodes));
+for(var p=Math.ceil(2*d/this.state.fontSize),r=[],u=0,H=0;(0==p||u<p)&&H<g.length;){var q=g.charCodeAt(H);if(10==q||13==q){if(0<u)break}else r.push(g.charAt(H)),255>q&&u++;H++}r.length<g.length&&1<g.length-r.length&&(g=mxUtils.trim(r.join(""))+"...");return g}catch(sa){return y.apply(this,arguments)}else return y.apply(this,arguments)};var v=this.backgroundImage;if(null!=v){b=z/b;var C=this.view.translate,w=new mxRectangle(C.x*b,C.y*b,v.width*b,v.height*b);mxUtils.intersects(n,w)&&q.image(C.x,C.y,
+v.width,v.height,v.src,!0)}q.scale(a);q.textEnabled=f;h=null!=h?h:this.createSvgImageExport();var B=h.drawCellState,T=h.getLinkForCellState;h.getLinkForCellState=function(a,b){var c=T.apply(this,arguments);return null==c||a.view.graph.isCustomLink(c)?null:c};h.drawCellState=function(a,b){for(var c=a.view.graph,d=c.isCellSelected(a.cell),e=c.model.getParent(a.cell);!g&&!d&&null!=e;)d=c.isCellSelected(e),e=c.model.getParent(e);(g||d)&&B.apply(this,arguments)};h.drawState(this.getView().getState(this.model.root),
+q);this.updateSvgLinks(r,k,!0);return r}finally{m&&(this.useCssTransforms=!0,this.view.revalidate(),this.sizeDidChange())}};Graph.prototype.updateSvgLinks=function(a,b,c){a=a.getElementsByTagName("a");for(var d=0;d<a.length;d++){var e=a[d].getAttribute("href");null==e&&(e=a[d].getAttribute("xlink:href"));null!=e&&(null!=b&&/^https?:\/\//.test(e)?a[d].setAttribute("target",b):c&&this.isCustomLink(e)&&a[d].setAttribute("href","javascript:void(0);"))}};Graph.prototype.createSvgCanvas=function(a){a=new mxSvgCanvas2D(a);
 a.pointerEvents=!0;return a};Graph.prototype.getSelectedElement=function(){var a=null;if(window.getSelection){var b=window.getSelection();b.getRangeAt&&b.rangeCount&&(a=b.getRangeAt(0).commonAncestorContainer)}else document.selection&&(a=document.selection.createRange().parentElement());return a};Graph.prototype.getParentByName=function(a,b,c){for(;null!=a&&a.nodeName!=b;){if(a==c)return null;a=a.parentNode}return a};Graph.prototype.getParentByNames=function(a,b,c){for(;null!=a&&!(0<=mxUtils.indexOf(b,
 a.nodeName));){if(a==c)return null;a=a.parentNode}return a};Graph.prototype.selectNode=function(a){var b=null;if(window.getSelection){if(b=window.getSelection(),b.getRangeAt&&b.rangeCount){var c=document.createRange();c.selectNode(a);b.removeAllRanges();b.addRange(c)}}else(b=document.selection)&&"Control"!=b.type&&(a=b.createRange(),a.collapse(!0),c=b.createRange(),c.setEndPoint("StartToStart",a),c.select())};Graph.prototype.insertRow=function(a,b){for(var c=a.tBodies[0],d=c.rows[0].cells,e=0,g=0;g<
 d.length;g++)var f=d[g].getAttribute("colspan"),e=e+(null!=f?parseInt(f):1);c=c.insertRow(b);for(g=0;g<e;g++)mxUtils.br(c.insertCell(-1));return c.cells[0]};Graph.prototype.deleteRow=function(a,b){a.tBodies[0].deleteRow(b)};Graph.prototype.insertColumn=function(a,b){var c=a.tHead;if(null!=c)for(var d=0;d<c.rows.length;d++){var e=document.createElement("th");c.rows[d].appendChild(e);mxUtils.br(e)}c=a.tBodies[0];for(d=0;d<c.rows.length;d++)e=c.rows[d].insertCell(b),mxUtils.br(e);return c.rows[0].cells[0<=
@@ -2698,14 +2701,14 @@ this.textarea.clientWidth)+"px",this.bounds.width=parseInt(this.textarea.style.w
 function(a,b){if("0"==mxUtils.getValue(a.style,"html","0"))return mxCellEditorGetInitialValue.apply(this,arguments);var c=this.graph.getEditingValue(a.cell,b);"1"==mxUtils.getValue(a.style,"nl2Br","1")&&(c=c.replace(/\n/g,"<br/>"));return c=this.graph.sanitizeHtml(c,!0)};mxCellEditorGetCurrentValue=mxCellEditor.prototype.getCurrentValue;mxCellEditor.prototype.getCurrentValue=function(a){if("0"==mxUtils.getValue(a.style,"html","0"))return mxCellEditorGetCurrentValue.apply(this,arguments);var b=this.graph.sanitizeHtml(this.textarea.innerHTML,
 !0);return b="1"==mxUtils.getValue(a.style,"nl2Br","1")?b.replace(/\r\n/g,"<br/>").replace(/\n/g,"<br/>"):b.replace(/\r\n/g,"").replace(/\n/g,"")};var n=mxCellEditor.prototype.stopEditing;mxCellEditor.prototype.stopEditing=function(a){this.codeViewMode&&this.toggleViewMode();n.apply(this,arguments);this.focusContainer()};mxCellEditor.prototype.focusContainer=function(){try{this.graph.container.focus()}catch(z){}};var p=mxCellEditor.prototype.applyValue;mxCellEditor.prototype.applyValue=function(a,
 b){this.graph.getModel().beginUpdate();try{p.apply(this,arguments),""==b&&this.graph.isCellDeletable(a.cell)&&0==this.graph.model.getChildCount(a.cell)&&this.graph.isTransparentState(a)&&this.graph.removeCells([a.cell],!1)}finally{this.graph.getModel().endUpdate()}};mxCellEditor.prototype.getBackgroundColor=function(a){var b=mxUtils.getValue(a.style,mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,null);null!=b&&b!=mxConstants.NONE||!(null!=a.cell.geometry&&0<a.cell.geometry.width)||0==mxUtils.getValue(a.style,
-mxConstants.STYLE_ROTATION,0)&&0!=mxUtils.getValue(a.style,mxConstants.STYLE_HORIZONTAL,1)||(b=mxUtils.getValue(a.style,mxConstants.STYLE_FILLCOLOR,null));b==mxConstants.NONE&&(b=null);return b};mxCellEditor.prototype.getMinimumSize=function(a){var b=this.graph.getView().scale;return new mxRectangle(0,0,null==a.text?30:a.text.size*b+20,30)};var q=mxGraphHandler.prototype.moveCells;mxGraphHandler.prototype.moveCells=function(a,b,c,d,e,g){mxEvent.isAltDown(g)&&(e=null);q.apply(this,arguments)};mxGraphView.prototype.formatUnitText=
+mxConstants.STYLE_ROTATION,0)&&0!=mxUtils.getValue(a.style,mxConstants.STYLE_HORIZONTAL,1)||(b=mxUtils.getValue(a.style,mxConstants.STYLE_FILLCOLOR,null));b==mxConstants.NONE&&(b=null);return b};mxCellEditor.prototype.getMinimumSize=function(a){var b=this.graph.getView().scale;return new mxRectangle(0,0,null==a.text?30:a.text.size*b+20,30)};var r=mxGraphHandler.prototype.moveCells;mxGraphHandler.prototype.moveCells=function(a,b,c,d,e,g){mxEvent.isAltDown(g)&&(e=null);r.apply(this,arguments)};mxGraphView.prototype.formatUnitText=
 function(a){return a?c(a,this.unit):a};mxGraphHandler.prototype.updateHint=function(b){if(null!=this.pBounds&&(null!=this.shape||this.livePreviewActive)){null==this.hint&&(this.hint=a(),this.graph.container.appendChild(this.hint));var d=this.graph.view.translate,e=this.graph.view.scale;b=this.roundLength((this.bounds.x+this.currentDx)/e-d.x);d=this.roundLength((this.bounds.y+this.currentDy)/e-d.y);e=this.graph.view.unit;this.hint.innerHTML=c(b,e)+", "+c(d,e);this.hint.style.left=this.pBounds.x+this.currentDx+
 Math.round((this.pBounds.width-this.hint.clientWidth)/2)+"px";this.hint.style.top=this.pBounds.y+this.currentDy+this.pBounds.height+Editor.hintOffset+"px"}};mxGraphHandler.prototype.removeHint=function(){null!=this.hint&&(this.hint.parentNode.removeChild(this.hint),this.hint=null)};mxVertexHandler.prototype.rotationHandleVSpacing=-12;mxVertexHandler.prototype.getRotationHandlePosition=function(){var a=this.getHandlePadding();return new mxPoint(this.bounds.x+this.bounds.width-this.rotationHandleVSpacing+
 a.x/2,this.bounds.y+this.rotationHandleVSpacing-a.y/2)};mxVertexHandler.prototype.isRecursiveResize=function(a,b){return!this.graph.isSwimlane(a.cell)&&0<this.graph.model.getChildCount(a.cell)&&!mxEvent.isControlDown(b.getEvent())&&!this.graph.isCellCollapsed(a.cell)&&"1"==mxUtils.getValue(a.style,"recursiveResize","1")&&null==mxUtils.getValue(a.style,"childLayout",null)};mxVertexHandler.prototype.isCenteredEvent=function(a,b){return!(!this.graph.isSwimlane(a.cell)&&0<this.graph.model.getChildCount(a.cell)&&
 !this.graph.isCellCollapsed(a.cell)&&"1"==mxUtils.getValue(a.style,"recursiveResize","1")&&null==mxUtils.getValue(a.style,"childLayout",null))&&mxEvent.isControlDown(b.getEvent())||mxEvent.isMetaDown(b.getEvent())};var u=mxVertexHandler.prototype.getHandlePadding;mxVertexHandler.prototype.getHandlePadding=function(){var a=new mxPoint(0,0),b=this.tolerance;this.graph.cellEditor.getEditingCell()==this.state.cell&&null!=this.sizers&&0<this.sizers.length&&null!=this.sizers[0]?(b/=2,a.x=this.sizers[0].bounds.width+
 b,a.y=this.sizers[0].bounds.height+b):a=u.apply(this,arguments);return a};mxVertexHandler.prototype.updateHint=function(b){if(this.index!=mxEvent.LABEL_HANDLE){null==this.hint&&(this.hint=a(),this.state.view.graph.container.appendChild(this.hint));if(this.index==mxEvent.ROTATION_HANDLE)this.hint.innerHTML=this.currentAlpha+"&deg;";else{b=this.state.view.scale;var d=this.state.view.unit;this.hint.innerHTML=c(this.roundLength(this.bounds.width/b),d)+" x "+c(this.roundLength(this.bounds.height/b),d)}b=
 mxUtils.getBoundingBox(this.bounds,null!=this.currentAlpha?this.currentAlpha:this.state.style[mxConstants.STYLE_ROTATION]||"0");null==b&&(b=this.bounds);this.hint.style.left=b.x+Math.round((b.width-this.hint.clientWidth)/2)+"px";this.hint.style.top=b.y+b.height+Editor.hintOffset+"px";null!=this.linkHint&&(this.linkHint.style.display="none")}};mxVertexHandler.prototype.removeHint=function(){mxGraphHandler.prototype.removeHint.apply(this,arguments);null!=this.linkHint&&(this.linkHint.style.display=
-"")};var v=mxEdgeHandler.prototype.mouseMove;mxEdgeHandler.prototype.mouseMove=function(a,b){v.apply(this,arguments);null!=this.graph.graphHandler&&null!=this.graph.graphHandler.first&&null!=this.linkHint&&"none"!=this.linkHint.style.display&&(this.linkHint.style.display="none")};var r=mxEdgeHandler.prototype.mouseUp;mxEdgeHandler.prototype.mouseUp=function(a,b){r.apply(this,arguments);null!=this.linkHint&&"none"==this.linkHint.style.display&&(this.linkHint.style.display="")};mxEdgeHandler.prototype.updateHint=
+"")};var v=mxEdgeHandler.prototype.mouseMove;mxEdgeHandler.prototype.mouseMove=function(a,b){v.apply(this,arguments);null!=this.graph.graphHandler&&null!=this.graph.graphHandler.first&&null!=this.linkHint&&"none"!=this.linkHint.style.display&&(this.linkHint.style.display="none")};var q=mxEdgeHandler.prototype.mouseUp;mxEdgeHandler.prototype.mouseUp=function(a,b){q.apply(this,arguments);null!=this.linkHint&&"none"==this.linkHint.style.display&&(this.linkHint.style.display="")};mxEdgeHandler.prototype.updateHint=
 function(b,d){null==this.hint&&(this.hint=a(),this.state.view.graph.container.appendChild(this.hint));var e=this.graph.view.translate,g=this.graph.view.scale,f=this.roundLength(d.x/g-e.x),e=this.roundLength(d.y/g-e.y),g=this.graph.view.unit;this.hint.innerHTML=c(f,g)+", "+c(e,g);this.hint.style.visibility="visible";if(this.isSource||this.isTarget)null!=this.constraintHandler.currentConstraint&&null!=this.constraintHandler.currentFocus?(f=this.constraintHandler.currentConstraint.point,this.hint.innerHTML=
 "["+Math.round(100*f.x)+"%, "+Math.round(100*f.y)+"%]"):this.marker.hasValidState()&&(this.hint.style.visibility="hidden");this.hint.style.left=Math.round(b.getGraphX()-this.hint.clientWidth/2)+"px";this.hint.style.top=Math.max(b.getGraphY(),d.y)+Editor.hintOffset+"px";null!=this.linkHint&&(this.linkHint.style.display="none")};mxEdgeHandler.prototype.removeHint=mxVertexHandler.prototype.removeHint;HoverIcons.prototype.mainHandle=mxClient.IS_SVG?Graph.createSvgImage(18,18,'<circle cx="9" cy="9" r="5" stroke="#fff" fill="'+
 HoverIcons.prototype.arrowFill+'" stroke-width="1"/>'):new mxImage(IMAGE_PATH+"/handle-main.png",17,17);HoverIcons.prototype.secondaryHandle=mxClient.IS_SVG?Graph.createSvgImage(16,16,'<path d="m 8 3 L 13 8 L 8 13 L 3 8 z" stroke="#fff" fill="#fca000"/>'):new mxImage(IMAGE_PATH+"/handle-secondary.png",17,17);HoverIcons.prototype.fixedHandle=mxClient.IS_SVG?Graph.createSvgImage(18,18,'<circle cx="9" cy="9" r="5" stroke="#fff" fill="'+HoverIcons.prototype.arrowFill+'" stroke-width="1"/><path d="m 7 7 L 11 11 M 7 11 L 11 7" stroke="#fff"/>'):
@@ -2724,15 +2727,15 @@ this.graph.removeSelectionCells(h)}else if(this.isSpaceEvent(b)){this.graph.mode
 b.getEvent());b.consume()}};mxRubberband.prototype.mouseMove=function(a,b){if(!b.isConsumed()&&null!=this.first){var c=mxUtils.getScrollOrigin(this.graph.container),d=mxUtils.getOffset(this.graph.container);c.x-=d.x;c.y-=d.y;var d=b.getX()+c.x,c=b.getY()+c.y,e=this.first.x-d,g=this.first.y-c,f=this.graph.tolerance;if(null!=this.div||Math.abs(e)>f||Math.abs(g)>f)null==this.div&&(this.div=this.createShape()),mxUtils.clearSelection(),this.update(d,c),this.isSpaceEvent(b)?(d=this.x+this.width,c=this.y+
 this.height,e=this.graph.view.scale,mxEvent.isAltDown(b.getEvent())||(this.width=this.graph.snap(this.width/e)*e,this.height=this.graph.snap(this.height/e)*e,this.graph.isGridEnabled()||(this.width<this.graph.tolerance&&(this.width=0),this.height<this.graph.tolerance&&(this.height=0)),this.x<this.first.x&&(this.x=d-this.width),this.y<this.first.y&&(this.y=c-this.height)),this.div.style.borderStyle="dashed",this.div.style.backgroundColor="white",this.div.style.left=this.x+"px",this.div.style.top=this.y+
 "px",this.div.style.width=Math.max(0,this.width)+"px",this.div.style.height=this.graph.container.clientHeight+"px",this.div.style.borderWidth=0>=this.width?"0px 1px 0px 0px":"0px 1px 0px 1px",null==this.secondDiv&&(this.secondDiv=this.div.cloneNode(!0),this.div.parentNode.appendChild(this.secondDiv)),this.secondDiv.style.left=this.x+"px",this.secondDiv.style.top=this.y+"px",this.secondDiv.style.width=this.graph.container.clientWidth+"px",this.secondDiv.style.height=Math.max(0,this.height)+"px",this.secondDiv.style.borderWidth=
-0>=this.height?"1px 0px 0px 0px":"1px 0px 1px 0px"):(this.div.style.backgroundColor="",this.div.style.borderWidth="",this.div.style.borderStyle="",null!=this.secondDiv&&(this.secondDiv.parentNode.removeChild(this.secondDiv),this.secondDiv=null)),b.consume()}};var t=mxRubberband.prototype.reset;mxRubberband.prototype.reset=function(){null!=this.secondDiv&&(this.secondDiv.parentNode.removeChild(this.secondDiv),this.secondDiv=null);t.apply(this,arguments)};var x=(new Date).getTime(),y=0,D=mxEdgeHandler.prototype.updatePreviewState;
-mxEdgeHandler.prototype.updatePreviewState=function(a,b,c,d){D.apply(this,arguments);c!=this.currentTerminalState?(x=(new Date).getTime(),y=0):y=(new Date).getTime()-x;this.currentTerminalState=c};var B=mxEdgeHandler.prototype.isOutlineConnectEvent;mxEdgeHandler.prototype.isOutlineConnectEvent=function(a){return null!=this.currentTerminalState&&a.getState()==this.currentTerminalState&&2E3<y||(null==this.currentTerminalState||"0"!=mxUtils.getValue(this.currentTerminalState.style,"outlineConnect","1"))&&
+0>=this.height?"1px 0px 0px 0px":"1px 0px 1px 0px"):(this.div.style.backgroundColor="",this.div.style.borderWidth="",this.div.style.borderStyle="",null!=this.secondDiv&&(this.secondDiv.parentNode.removeChild(this.secondDiv),this.secondDiv=null)),b.consume()}};var t=mxRubberband.prototype.reset;mxRubberband.prototype.reset=function(){null!=this.secondDiv&&(this.secondDiv.parentNode.removeChild(this.secondDiv),this.secondDiv=null);t.apply(this,arguments)};var x=(new Date).getTime(),y=0,C=mxEdgeHandler.prototype.updatePreviewState;
+mxEdgeHandler.prototype.updatePreviewState=function(a,b,c,d){C.apply(this,arguments);c!=this.currentTerminalState?(x=(new Date).getTime(),y=0):y=(new Date).getTime()-x;this.currentTerminalState=c};var B=mxEdgeHandler.prototype.isOutlineConnectEvent;mxEdgeHandler.prototype.isOutlineConnectEvent=function(a){return null!=this.currentTerminalState&&a.getState()==this.currentTerminalState&&2E3<y||(null==this.currentTerminalState||"0"!=mxUtils.getValue(this.currentTerminalState.style,"outlineConnect","1"))&&
 B.apply(this,arguments)};mxVertexHandler.prototype.isCustomHandleEvent=function(a){return!mxEvent.isShiftDown(a.getEvent())};mxEdgeHandler.prototype.createHandleShape=function(a,b){var c=null!=a&&0==a,d=this.state.getVisibleTerminalState(c),e=null!=a&&(0==a||a>=this.state.absolutePoints.length-1||this.constructor==mxElbowEdgeHandler&&2==a)?this.graph.getConnectionConstraint(this.state,d,c):null,c=null!=(null!=e?this.graph.getConnectionPoint(this.state.getVisibleTerminalState(c),e):null)?this.fixedHandleImage:
 null!=e&&null!=d?this.terminalHandleImage:this.handleImage;if(null!=c)return c=new mxImageShape(new mxRectangle(0,0,c.width,c.height),c.src),c.preserveImageAspect=!1,c;c=mxConstants.HANDLE_SIZE;this.preferHtml&&--c;return new mxRectangleShape(new mxRectangle(0,0,c,c),mxConstants.HANDLE_FILLCOLOR,mxConstants.HANDLE_STROKECOLOR)};var E=mxVertexHandler.prototype.createSizerShape;mxVertexHandler.prototype.createSizerShape=function(a,b,c){this.handleImage=b==mxEvent.ROTATION_HANDLE?HoverIcons.prototype.rotationHandle:
 b==mxEvent.LABEL_HANDLE?this.secondaryHandleImage:this.handleImage;return E.apply(this,arguments)};var A=mxGraphHandler.prototype.getBoundingBox;mxGraphHandler.prototype.getBoundingBox=function(a){if(null!=a&&1==a.length){var b=this.graph.getModel(),c=b.getParent(a[0]),d=this.graph.getCellGeometry(a[0]);if(b.isEdge(c)&&null!=d&&d.relative&&(b=this.graph.view.getState(a[0]),null!=b&&2>b.width&&2>b.height&&null!=b.text&&null!=b.text.boundingBox))return mxRectangle.fromRectangle(b.text.boundingBox)}return A.apply(this,
 arguments)};var G=mxGraphHandler.prototype.getGuideStates;mxGraphHandler.prototype.getGuideStates=function(){for(var a=G.apply(this,arguments),b=[],c=0;c<a.length;c++)"1"!=mxUtils.getValue(a[c].style,"part","0")&&b.push(a[c]);return b};var J=mxVertexHandler.prototype.getSelectionBounds;mxVertexHandler.prototype.getSelectionBounds=function(a){var b=this.graph.getModel(),c=b.getParent(a.cell),d=this.graph.getCellGeometry(a.cell);return b.isEdge(c)&&null!=d&&d.relative&&2>a.width&&2>a.height&&null!=
-a.text&&null!=a.text.boundingBox?(b=a.text.unrotatedBoundingBox||a.text.boundingBox,new mxRectangle(Math.round(b.x),Math.round(b.y),Math.round(b.width),Math.round(b.height))):J.apply(this,arguments)};var H=mxVertexHandler.prototype.mouseDown;mxVertexHandler.prototype.mouseDown=function(a,b){var c=this.graph.getModel(),d=c.getParent(this.state.cell),e=this.graph.getCellGeometry(this.state.cell);(this.getHandleForEvent(b)==mxEvent.ROTATION_HANDLE||!c.isEdge(d)||null==e||!e.relative||null==this.state||
-2<=this.state.width||2<=this.state.height)&&H.apply(this,arguments)};mxVertexHandler.prototype.isRotationHandleVisible=function(){return this.graph.isEnabled()&&this.rotationEnabled&&this.graph.isCellRotatable(this.state.cell)&&(0>=mxGraphHandler.prototype.maxCells||this.graph.getSelectionCount()<mxGraphHandler.prototype.maxCells)};mxVertexHandler.prototype.rotateClick=function(){var a=mxUtils.getValue(this.state.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),b=mxUtils.getValue(this.state.style,
-mxConstants.STYLE_FILLCOLOR,mxConstants.NONE);this.state.view.graph.model.isVertex(this.state.cell)&&a==mxConstants.NONE&&b==mxConstants.NONE?(a=mxUtils.mod(mxUtils.getValue(this.state.style,mxConstants.STYLE_ROTATION,0)+90,360),this.state.view.graph.setCellStyles(mxConstants.STYLE_ROTATION,a,[this.state.cell])):this.state.view.graph.turnShapes([this.state.cell])};var L=mxVertexHandler.prototype.mouseMove;mxVertexHandler.prototype.mouseMove=function(a,b){L.apply(this,arguments);null!=this.graph.graphHandler.first&&
+a.text&&null!=a.text.boundingBox?(b=a.text.unrotatedBoundingBox||a.text.boundingBox,new mxRectangle(Math.round(b.x),Math.round(b.y),Math.round(b.width),Math.round(b.height))):J.apply(this,arguments)};var I=mxVertexHandler.prototype.mouseDown;mxVertexHandler.prototype.mouseDown=function(a,b){var c=this.graph.getModel(),d=c.getParent(this.state.cell),e=this.graph.getCellGeometry(this.state.cell);(this.getHandleForEvent(b)==mxEvent.ROTATION_HANDLE||!c.isEdge(d)||null==e||!e.relative||null==this.state||
+2<=this.state.width||2<=this.state.height)&&I.apply(this,arguments)};mxVertexHandler.prototype.isRotationHandleVisible=function(){return this.graph.isEnabled()&&this.rotationEnabled&&this.graph.isCellRotatable(this.state.cell)&&(0>=mxGraphHandler.prototype.maxCells||this.graph.getSelectionCount()<mxGraphHandler.prototype.maxCells)};mxVertexHandler.prototype.rotateClick=function(){var a=mxUtils.getValue(this.state.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),b=mxUtils.getValue(this.state.style,
+mxConstants.STYLE_FILLCOLOR,mxConstants.NONE);this.state.view.graph.model.isVertex(this.state.cell)&&a==mxConstants.NONE&&b==mxConstants.NONE?(a=mxUtils.mod(mxUtils.getValue(this.state.style,mxConstants.STYLE_ROTATION,0)+90,360),this.state.view.graph.setCellStyles(mxConstants.STYLE_ROTATION,a,[this.state.cell])):this.state.view.graph.turnShapes([this.state.cell])};var M=mxVertexHandler.prototype.mouseMove;mxVertexHandler.prototype.mouseMove=function(a,b){M.apply(this,arguments);null!=this.graph.graphHandler.first&&
 (null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display="none"),null!=this.linkHint&&"none"!=this.linkHint.style.display&&(this.linkHint.style.display="none"))};var F=mxVertexHandler.prototype.mouseUp;mxVertexHandler.prototype.mouseUp=function(a,b){F.apply(this,arguments);null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display=1==this.graph.getSelectionCount()?"":"none");null!=this.linkHint&&"none"==this.linkHint.style.display&&
 (this.linkHint.style.display="")};var P=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){P.apply(this,arguments);var a=!1;null!=this.rotationShape&&this.rotationShape.node.setAttribute("title",mxResources.get("rotateTooltip"));var b=mxUtils.bind(this,function(){null!=this.specialHandle&&(this.specialHandle.node.style.display=this.graph.isEnabled()&&this.graph.getSelectionCount()<this.graph.graphHandler.maxCells?"":"none");this.redrawHandles()});this.changeHandler=mxUtils.bind(this,
 function(a,c){this.updateLinkHint(this.graph.getLinkForCell(this.state.cell),this.graph.getLinksForState(this.state));b()});this.graph.getSelectionModel().addListener(mxEvent.CHANGE,this.changeHandler);this.graph.getModel().addListener(mxEvent.CHANGE,this.changeHandler);this.editingHandler=mxUtils.bind(this,function(a,b){this.redrawHandles()});this.graph.addListener(mxEvent.EDITING_STOPPED,this.editingHandler);var c=this.graph.getLinkForCell(this.state.cell),d=this.graph.getLinksForState(this.state);
@@ -2742,9 +2745,9 @@ function(a){this.graph.setSelectionCell(this.state.cell);this.graph.editLink();m
 null);mxEvent.consume(a)}))}if(null!=c)for(d=0;d<c.length;d++){var g=document.createElement("div");g.style.marginTop=null!=b||0<d?"6px":"0px";g.appendChild(this.graph.createLinkForHint(c[d].getAttribute("href"),mxUtils.getTextContent(c[d])));this.linkHint.appendChild(g)}}}catch(ia){}};mxEdgeHandler.prototype.updateLinkHint=mxVertexHandler.prototype.updateLinkHint;var R=mxEdgeHandler.prototype.init;mxEdgeHandler.prototype.init=function(){R.apply(this,arguments);this.constraintHandler.isEnabled=mxUtils.bind(this,
 function(){return this.state.view.graph.connectionHandler.isEnabled()});var a=mxUtils.bind(this,function(){null!=this.linkHint&&(this.linkHint.style.display=1==this.graph.getSelectionCount()?"":"none");null!=this.labelShape&&(this.labelShape.node.style.display=this.graph.isEnabled()&&this.graph.getSelectionCount()<this.graph.graphHandler.maxCells?"":"none")});this.changeHandler=mxUtils.bind(this,function(b,c){this.updateLinkHint(this.graph.getLinkForCell(this.state.cell),this.graph.getLinksForState(this.state));
 a();this.redrawHandles()});this.graph.getSelectionModel().addListener(mxEvent.CHANGE,this.changeHandler);this.graph.getModel().addListener(mxEvent.CHANGE,this.changeHandler);var b=this.graph.getLinkForCell(this.state.cell),c=this.graph.getLinksForState(this.state);if(null!=b||null!=c&&0<c.length)this.updateLinkHint(b,c),this.redrawHandles()};var S=mxConnectionHandler.prototype.init;mxConnectionHandler.prototype.init=function(){S.apply(this,arguments);this.constraintHandler.isEnabled=mxUtils.bind(this,
-function(){return this.graph.connectionHandler.isEnabled()})};var K=mxVertexHandler.prototype.redrawHandles;mxVertexHandler.prototype.redrawHandles=function(){null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display=1!=this.graph.getSelectionCount()||null!=this.index&&this.index!=mxEvent.ROTATION_HANDLE?"none":"");K.apply(this);if(null!=this.state&&null!=this.linkHint){var a=new mxPoint(this.state.getCenterX(),this.state.getCenterY()),b=new mxRectangle(this.state.x,
+function(){return this.graph.connectionHandler.isEnabled()})};var L=mxVertexHandler.prototype.redrawHandles;mxVertexHandler.prototype.redrawHandles=function(){null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display=1!=this.graph.getSelectionCount()||null!=this.index&&this.index!=mxEvent.ROTATION_HANDLE?"none":"");L.apply(this);if(null!=this.state&&null!=this.linkHint){var a=new mxPoint(this.state.getCenterX(),this.state.getCenterY()),b=new mxRectangle(this.state.x,
 this.state.y-22,this.state.width+24,this.state.height+22),c=mxUtils.getBoundingBox(b,this.state.style[mxConstants.STYLE_ROTATION]||"0",a),a=null!=c?mxUtils.getBoundingBox(this.state,this.state.style[mxConstants.STYLE_ROTATION]||"0"):this.state,b=null!=this.state.text?this.state.text.boundingBox:null;null==c&&(c=this.state);c=c.y+c.height;null!=b&&(c=Math.max(c,b.y+b.height));this.linkHint.style.left=Math.max(0,Math.round(a.x+(a.width-this.linkHint.clientWidth)/2))+"px";this.linkHint.style.top=Math.round(c+
-this.verticalOffset/2+Editor.hintOffset)+"px"}};var I=mxVertexHandler.prototype.destroy;mxVertexHandler.prototype.destroy=function(){I.apply(this,arguments);null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);null!=this.changeHandler&&(this.graph.getSelectionModel().removeListener(this.changeHandler),this.graph.getModel().removeListener(this.changeHandler),this.changeHandler=null);null!=this.editingHandler&&(this.graph.removeListener(this.editingHandler),
+this.verticalOffset/2+Editor.hintOffset)+"px"}};var K=mxVertexHandler.prototype.destroy;mxVertexHandler.prototype.destroy=function(){K.apply(this,arguments);null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);null!=this.changeHandler&&(this.graph.getSelectionModel().removeListener(this.changeHandler),this.graph.getModel().removeListener(this.changeHandler),this.changeHandler=null);null!=this.editingHandler&&(this.graph.removeListener(this.editingHandler),
 this.editingHandler=null)};var N=mxEdgeHandler.prototype.redrawHandles;mxEdgeHandler.prototype.redrawHandles=function(){if(null!=this.marker&&(N.apply(this),null!=this.state&&null!=this.linkHint)){var a=this.state;null!=this.state.text&&null!=this.state.text.bounds&&(a=new mxRectangle(a.x,a.y,a.width,a.height),a.add(this.state.text.bounds));this.linkHint.style.left=Math.max(0,Math.round(a.x+(a.width-this.linkHint.clientWidth)/2))+"px";this.linkHint.style.top=Math.round(a.y+a.height+Editor.hintOffset)+
 "px"}};var T=mxEdgeHandler.prototype.reset;mxEdgeHandler.prototype.reset=function(){T.apply(this,arguments);null!=this.linkHint&&(this.linkHint.style.visibility="")};var da=mxEdgeHandler.prototype.destroy;mxEdgeHandler.prototype.destroy=function(){da.apply(this,arguments);null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);null!=this.changeHandler&&(this.graph.getModel().removeListener(this.changeHandler),this.graph.getSelectionModel().removeListener(this.changeHandler),
 this.changeHandler=null)}}();Format=function(a,c){this.editorUi=a;this.container=c};Format.prototype.labelIndex=0;Format.prototype.currentIndex=0;Format.prototype.showCloseButton=!0;Format.prototype.inactiveTabBackgroundColor="#f1f3f4";Format.prototype.roundableShapes="label rectangle internalStorage corner parallelogram swimlane triangle trapezoid ext step tee process link rhombus offPageConnector loopLimit hexagon manualInput curlyBracket singleArrow callout doubleArrow flexArrow card umlLifeline".split(" ");
@@ -2767,9 +2770,9 @@ mxEvent.addListener(a,"click",d);mxEvent.addListener(a,mxClient.IS_POINTER?"poin
 if(f)k.style.borderLeftWidth="0px";else{b.style.borderLeftWidth="0px";mxUtils.write(b,mxResources.get("style"));d.appendChild(b);var m=d.cloneNode(!1);m.style.display="none";this.panels.push(new StyleFormatPanel(this,a,m));this.container.appendChild(m);c(b,m,g++)}mxUtils.write(k,mxResources.get("text"));d.appendChild(k);b=d.cloneNode(!1);b.style.display="none";this.panels.push(new TextFormatPanel(this,a,b));this.container.appendChild(b);mxUtils.write(l,mxResources.get("arrange"));d.appendChild(l);
 d=d.cloneNode(!1);d.style.display="none";this.panels.push(new ArrangePanel(this,a,d));this.container.appendChild(d);c(k,b,g++);c(l,d,g++)}}};BaseFormatPanel=function(a,c,d){this.format=a;this.editorUi=c;this.container=d;this.listeners=[]};BaseFormatPanel.prototype.buttonBackgroundColor="white";
 BaseFormatPanel.prototype.getSelectionState=function(){for(var a=this.editorUi.editor.graph,c=a.getSelectionCells(),d=null,b=0;b<c.length;b++){var f=a.view.getState(c[b]);if(null!=f&&(f=mxUtils.getValue(f.style,mxConstants.STYLE_SHAPE,null),null!=f))if(null==d)d=f;else if(d!=f)return null}return d};
-BaseFormatPanel.prototype.installInputHandler=function(a,c,d,b,f,e,h,g){e=null!=e?e:"";g=null!=g?g:!1;var k=this.editorUi,l=k.editor.graph;b=null!=b?b:1;f=null!=f?f:999;var m=null,n=!1,p=mxUtils.bind(this,function(p){var q=g?parseFloat(a.value):parseInt(a.value);isNaN(q)||c!=mxConstants.STYLE_ROTATION||(q=mxUtils.mod(Math.round(100*q),36E3)/100);q=Math.min(f,Math.max(b,isNaN(q)?d:q));if(l.cellEditor.isContentEditing()&&h)n||(n=!0,null!=m&&(l.cellEditor.restoreSelection(m),m=null),h(q),a.value=q+e,
-n=!1);else if(q!=mxUtils.getValue(this.format.getSelectionState().style,c,d)){l.isEditing()&&l.stopEditing(!0);l.getModel().beginUpdate();try{var v=l.getSelectionCells();l.setCellStyles(c,q,v);c==mxConstants.STYLE_FONTSIZE&&l.updateLabelElements(l.getSelectionCells(),function(a){a.style.fontSize=q+"px";a.removeAttribute("size")});for(var r=0;r<v.length;r++)0==l.model.getChildCount(v[r])&&l.autoSizeCell(v[r],!1);k.fireEvent(new mxEventObject("styleChanged","keys",[c],"values",[q],"cells",v))}finally{l.getModel().endUpdate()}}a.value=
-q+e;mxEvent.consume(p)});h&&l.cellEditor.isContentEditing()&&(mxEvent.addListener(a,"mousedown",function(){document.activeElement==l.cellEditor.textarea&&(m=l.cellEditor.saveSelection())}),mxEvent.addListener(a,"touchstart",function(){document.activeElement==l.cellEditor.textarea&&(m=l.cellEditor.saveSelection())}));mxEvent.addListener(a,"change",p);mxEvent.addListener(a,"blur",p);return p};
+BaseFormatPanel.prototype.installInputHandler=function(a,c,d,b,f,e,h,g){e=null!=e?e:"";g=null!=g?g:!1;var k=this.editorUi,l=k.editor.graph;b=null!=b?b:1;f=null!=f?f:999;var m=null,n=!1,p=mxUtils.bind(this,function(p){var r=g?parseFloat(a.value):parseInt(a.value);isNaN(r)||c!=mxConstants.STYLE_ROTATION||(r=mxUtils.mod(Math.round(100*r),36E3)/100);r=Math.min(f,Math.max(b,isNaN(r)?d:r));if(l.cellEditor.isContentEditing()&&h)n||(n=!0,null!=m&&(l.cellEditor.restoreSelection(m),m=null),h(r),a.value=r+e,
+n=!1);else if(r!=mxUtils.getValue(this.format.getSelectionState().style,c,d)){l.isEditing()&&l.stopEditing(!0);l.getModel().beginUpdate();try{var v=l.getSelectionCells();l.setCellStyles(c,r,v);c==mxConstants.STYLE_FONTSIZE&&l.updateLabelElements(l.getSelectionCells(),function(a){a.style.fontSize=r+"px";a.removeAttribute("size")});for(var q=0;q<v.length;q++)0==l.model.getChildCount(v[q])&&l.autoSizeCell(v[q],!1);k.fireEvent(new mxEventObject("styleChanged","keys",[c],"values",[r],"cells",v))}finally{l.getModel().endUpdate()}}a.value=
+r+e;mxEvent.consume(p)});h&&l.cellEditor.isContentEditing()&&(mxEvent.addListener(a,"mousedown",function(){document.activeElement==l.cellEditor.textarea&&(m=l.cellEditor.saveSelection())}),mxEvent.addListener(a,"touchstart",function(){document.activeElement==l.cellEditor.textarea&&(m=l.cellEditor.saveSelection())}));mxEvent.addListener(a,"change",p);mxEvent.addListener(a,"blur",p);return p};
 BaseFormatPanel.prototype.createPanel=function(){var a=document.createElement("div");a.className="geFormatSection";a.style.padding="12px 0px 12px 18px";return a};BaseFormatPanel.prototype.createTitle=function(a){var c=document.createElement("div");c.style.padding="0px 0px 6px 0px";c.style.whiteSpace="nowrap";c.style.overflow="hidden";c.style.width="200px";c.style.fontWeight="bold";mxUtils.write(c,a);return c};
 BaseFormatPanel.prototype.createStepper=function(a,c,d,b,f,e,h){d=null!=d?d:1;b=null!=b?b:8;if(mxClient.IS_QUIRKS)b-=2;else if(mxClient.IS_MT||8<=document.documentMode)b+=1;var g=document.createElement("div");mxUtils.setPrefixedStyle(g.style,"borderRadius","3px");g.style.border="1px solid rgb(192, 192, 192)";g.style.position="absolute";var k=document.createElement("div");k.style.borderBottom="1px solid rgb(192, 192, 192)";k.style.position="relative";k.style.height=b+"px";k.style.width="10px";k.className=
 "geBtnUp";g.appendChild(k);var l=k.cloneNode(!1);l.style.border="none";l.style.height=b+"px";l.className="geBtnDown";g.appendChild(l);mxEvent.addListener(l,"click",function(b){""==a.value&&(a.value=e||"2");var g=h?parseFloat(a.value):parseInt(a.value);isNaN(g)||(a.value=g-d,null!=c&&c(b));mxEvent.consume(b)});mxEvent.addListener(k,"click",function(b){""==a.value&&(a.value=e||"0");var g=h?parseFloat(a.value):parseInt(a.value);isNaN(g)||(a.value=g+d,null!=c&&c(b));mxEvent.consume(b)});if(f){var m=null;
@@ -2778,10 +2781,10 @@ BaseFormatPanel.prototype.createOption=function(a,c,d,b){var f=document.createEl
 "checked"),e.defaultChecked=!0,e.checked=!0):(e.removeAttribute("checked"),e.defaultChecked=!1,e.checked=!1),k!=a&&(k=a,c()!=k&&d(k)),g=!1)};mxEvent.addListener(f,"click",function(a){if("disabled"!=e.getAttribute("disabled")){a=mxEvent.getSource(a);if(a==f||a==h)e.checked=!e.checked;l(e.checked)}});l(k);null!=b&&(b.install(l),this.listeners.push(b));return f};
 BaseFormatPanel.prototype.createCellOption=function(a,c,d,b,f,e,h,g){b=null!=b?"null"==b?null:b:"1";f=null!=f?"null"==f?null:f:"0";var k=this.editorUi,l=k.editor.graph;return this.createOption(a,function(){var a=l.view.getState(l.getSelectionCell());return null!=a?mxUtils.getValue(a.style,c,d)!=f:null},function(a){g&&l.stopEditing();if(null!=h)h.funct();else{l.getModel().beginUpdate();try{a=a?b:f,l.setCellStyles(c,a,l.getSelectionCells()),null!=e&&e(l.getSelectionCells(),a),k.fireEvent(new mxEventObject("styleChanged",
 "keys",[c],"values",[a],"cells",l.getSelectionCells()))}finally{l.getModel().endUpdate()}}},{install:function(a){this.listener=function(){var b=l.view.getState(l.getSelectionCell());null!=b&&a(mxUtils.getValue(b.style,c,d)!=f)};l.getModel().addListener(mxEvent.CHANGE,this.listener)},destroy:function(){l.getModel().removeListener(this.listener)}})};
-BaseFormatPanel.prototype.createColorOption=function(a,c,d,b,f,e,h){var g=document.createElement("div");g.style.padding="6px 0px 1px 0px";g.style.whiteSpace="nowrap";g.style.overflow="hidden";g.style.width="200px";g.style.height=mxClient.IS_QUIRKS?"27px":"18px";var k=document.createElement("input");k.setAttribute("type","checkbox");k.style.margin="0px 6px 0px 0px";h||g.appendChild(k);var l=document.createElement("span");mxUtils.write(l,a);g.appendChild(l);var m=c(),n=!1,p=null,q=function(a,g,f){if(!n){n=
+BaseFormatPanel.prototype.createColorOption=function(a,c,d,b,f,e,h){var g=document.createElement("div");g.style.padding="6px 0px 1px 0px";g.style.whiteSpace="nowrap";g.style.overflow="hidden";g.style.width="200px";g.style.height=mxClient.IS_QUIRKS?"27px":"18px";var k=document.createElement("input");k.setAttribute("type","checkbox");k.style.margin="0px 6px 0px 0px";h||g.appendChild(k);var l=document.createElement("span");mxUtils.write(l,a);g.appendChild(l);var m=c(),n=!1,p=null,r=function(a,g,f){if(!n){n=
 !0;a=/(^#?[a-zA-Z0-9]*$)/.test(a)?a:b;p.innerHTML='<div style="width:'+(mxClient.IS_QUIRKS?"30":"36")+"px;height:12px;margin:3px;border:1px solid black;background-color:"+mxUtils.htmlEntities(null!=a&&a!=mxConstants.NONE?a:b)+';"></div>';if(mxClient.IS_QUIRKS||8==document.documentMode)p.firstChild.style.margin="0px";null!=a&&a!=mxConstants.NONE?(k.setAttribute("checked","checked"),k.defaultChecked=!0,k.checked=!0):(k.removeAttribute("checked"),k.defaultChecked=!1,k.checked=!1);p.style.display=k.checked||
-h?"":"none";null!=e&&e(a);g||(m=a,(f||h||c()!=m)&&d(m));n=!1}},p=mxUtils.button("",mxUtils.bind(this,function(a){this.editorUi.pickColor(m,function(a){q(a,null,!0)});mxEvent.consume(a)}));p.style.position="absolute";p.style.marginTop="-4px";p.style.right=mxClient.IS_QUIRKS?"0px":"20px";p.style.height="22px";p.className="geColorBtn";p.style.display=k.checked||h?"":"none";g.appendChild(p);mxEvent.addListener(g,"click",function(a){a=mxEvent.getSource(a);if(a==k||"INPUT"!=a.nodeName)a!=k&&(k.checked=
-!k.checked),k.checked||null==m||m==mxConstants.NONE||b==mxConstants.NONE||(b=m),q(k.checked?b:mxConstants.NONE)});q(m,!0);null!=f&&(f.install(q),this.listeners.push(f));return g};
+h?"":"none";null!=e&&e(a);g||(m=a,(f||h||c()!=m)&&d(m));n=!1}},p=mxUtils.button("",mxUtils.bind(this,function(a){this.editorUi.pickColor(m,function(a){r(a,null,!0)});mxEvent.consume(a)}));p.style.position="absolute";p.style.marginTop="-4px";p.style.right=mxClient.IS_QUIRKS?"0px":"20px";p.style.height="22px";p.className="geColorBtn";p.style.display=k.checked||h?"":"none";g.appendChild(p);mxEvent.addListener(g,"click",function(a){a=mxEvent.getSource(a);if(a==k||"INPUT"!=a.nodeName)a!=k&&(k.checked=
+!k.checked),k.checked||null==m||m==mxConstants.NONE||b==mxConstants.NONE||(b=m),r(k.checked?b:mxConstants.NONE)});r(m,!0);null!=f&&(f.install(r),this.listeners.push(f));return g};
 BaseFormatPanel.prototype.createCellColorOption=function(a,c,d,b,f){var e=this.editorUi,h=e.editor.graph;return this.createColorOption(a,function(){var a=h.view.getState(h.getSelectionCell());return null!=a?mxUtils.getValue(a.style,c,null):null},function(a){h.getModel().beginUpdate();try{null!=f&&f(a),h.setCellStyles(c,a,h.getSelectionCells()),e.fireEvent(new mxEventObject("styleChanged","keys",[c],"values",[a],"cells",h.getSelectionCells()))}finally{h.getModel().endUpdate()}},d||mxConstants.NONE,
 {install:function(a){this.listener=function(){var b=h.view.getState(h.getSelectionCell());null!=b&&a(mxUtils.getValue(b.style,c,null))};h.getModel().addListener(mxEvent.CHANGE,this.listener)},destroy:function(){h.getModel().removeListener(this.listener)}},b)};
 BaseFormatPanel.prototype.addArrow=function(a,c){c=null!=c?c:10;var d=document.createElement("div");d.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";d.style.padding="6px";d.style.paddingRight="4px";var b=10-c;2==b?d.style.paddingTop="6px":0<b?d.style.paddingTop=6-b+"px":d.style.marginTop="-2px";d.style.height=c+"px";d.style.borderLeft="1px solid #a0a0a0";d.innerHTML='<img border="0" src="'+(mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHBJREFUeNpidHB2ZyAGsACxDRBPIKCuA6TwCBB/h2rABu4A8SYmKCcXiP/iUFgAxL9gCi8A8SwsirZCMQMTkmANEH9E4v+CmsaArvAdyNFI/FlQ92EoBIE+qCRIUz168DBgsU4OqhinQpgHMABAgAEALY4XLIsJ20oAAAAASUVORK5CYII=":
@@ -2817,50 +2820,50 @@ a=parseFloat(mxUtils.getValue(b.style,mxConstants.STYLE_ROTATION,0)),e.value=isN
 BaseFormatPanel.prototype.inUnit=function(a){return this.editorUi.editor.graph.view.formatUnitText(a)};BaseFormatPanel.prototype.fromUnit=function(a){switch(this.editorUi.editor.graph.view.unit){case mxConstants.POINTS:return a;case mxConstants.INCHES:return a*mxConstants.PIXELS_PER_INCH;case mxConstants.MILLIMETERS:return a*mxConstants.PIXELS_PER_MM}};BaseFormatPanel.prototype.isFloatUnit=function(){return this.editorUi.editor.graph.view.unit!=mxConstants.POINTS};
 BaseFormatPanel.prototype.getUnitStep=function(){switch(this.editorUi.editor.graph.view.unit){case mxConstants.POINTS:return 1;case mxConstants.INCHES:return.1;case mxConstants.MILLIMETERS:return.5}};
 ArrangePanel.prototype.addGeometry=function(a){var c=this,d=this.editorUi,b=d.editor.graph,f=this.format.getSelectionState(),e=this.createPanel();e.style.paddingBottom="8px";var h=document.createElement("div");h.style.position="absolute";h.style.width="50px";h.style.marginTop="0px";h.style.fontWeight="bold";mxUtils.write(h,mxResources.get("size"));e.appendChild(h);var g,k,l,m,n=this.addUnitInput(e,this.getUnit(),84,44,function(){g.apply(this,arguments)},this.getUnitStep(),null,null,this.isFloatUnit()),
-p=this.addUnitInput(e,this.getUnit(),20,44,function(){k.apply(this,arguments)},this.getUnitStep(),null,null,this.isFloatUnit()),q=document.createElement("div");q.className="geSprite geSprite-fit";q.setAttribute("title",mxResources.get("autosize")+" ("+this.editorUi.actions.get("autosize").shortcut+")");q.style.position="relative";q.style.cursor="pointer";q.style.marginTop="-3px";q.style.border="0px";q.style.left="52px";mxUtils.setOpacity(q,50);mxEvent.addListener(q,"mouseenter",function(){mxUtils.setOpacity(q,
-100)});mxEvent.addListener(q,"mouseleave",function(){mxUtils.setOpacity(q,50)});mxEvent.addListener(q,"click",function(){d.actions.get("autosize").funct()});e.appendChild(q);this.addLabel(e,mxResources.get("width"),84);this.addLabel(e,mxResources.get("height"),20);mxUtils.br(e);h=document.createElement("div");h.style.paddingTop="8px";h.style.paddingRight="20px";h.style.whiteSpace="nowrap";h.style.textAlign="right";var u=this.createCellOption(mxResources.get("constrainProportions"),mxConstants.STYLE_ASPECT,
-null,"fixed","null");u.style.width="100%";h.appendChild(u);e.appendChild(h);var v=u.getElementsByTagName("input")[0];this.addKeyHandler(n,x);this.addKeyHandler(p,x);g=this.addGeometryHandler(n,function(a,b){0<a.width&&(b=Math.max(1,c.fromUnit(b)),v.checked&&(a.height=Math.round(a.height*b*100/a.width)/100),a.width=b)});k=this.addGeometryHandler(p,function(a,b){0<a.height&&(b=Math.max(1,c.fromUnit(b)),v.checked&&(a.width=Math.round(a.width*b*100/a.height)/100),a.height=b)});a.appendChild(e);var r=
-this.createPanel();r.style.paddingBottom="30px";h=document.createElement("div");h.style.position="absolute";h.style.width="70px";h.style.marginTop="0px";h.style.fontWeight="bold";mxUtils.write(h,mxResources.get("position"));r.appendChild(h);var w=this.addUnitInput(r,this.getUnit(),84,44,function(){l.apply(this,arguments)},this.getUnitStep(),null,null,this.isFloatUnit()),t=this.addUnitInput(r,this.getUnit(),20,44,function(){m.apply(this,arguments)},this.getUnitStep(),null,null,this.isFloatUnit());
-mxUtils.br(r);this.addLabel(r,mxResources.get("left"),84);this.addLabel(r,mxResources.get("top"),20);var x=mxUtils.bind(this,function(a,c,d){f=this.format.getSelectionState();if(f.containsLabel||f.vertices.length!=b.getSelectionCount()||null==f.width||null==f.height)e.style.display="none";else{e.style.display="";if(d||document.activeElement!=n)n.value=this.inUnit(f.width)+(""==f.width?"":" "+this.getUnit());if(d||document.activeElement!=p)p.value=this.inUnit(f.height)+(""==f.height?"":" "+this.getUnit())}if(f.vertices.length==
-b.getSelectionCount()&&null!=f.x&&null!=f.y){r.style.display="";if(d||document.activeElement!=w)w.value=this.inUnit(f.x)+(""==f.x?"":" "+this.getUnit());if(d||document.activeElement!=t)t.value=this.inUnit(f.y)+(""==f.y?"":" "+this.getUnit())}else r.style.display="none"});this.addKeyHandler(w,x);this.addKeyHandler(t,x);b.getModel().addListener(mxEvent.CHANGE,x);this.listeners.push({destroy:function(){b.getModel().removeListener(x)}});x();l=this.addGeometryHandler(w,function(a,b){b=c.fromUnit(b);a.relative?
-a.offset.x=b:a.x=b});m=this.addGeometryHandler(t,function(a,b){b=c.fromUnit(b);a.relative?a.offset.y=b:a.y=b});a.appendChild(r)};
+p=this.addUnitInput(e,this.getUnit(),20,44,function(){k.apply(this,arguments)},this.getUnitStep(),null,null,this.isFloatUnit()),r=document.createElement("div");r.className="geSprite geSprite-fit";r.setAttribute("title",mxResources.get("autosize")+" ("+this.editorUi.actions.get("autosize").shortcut+")");r.style.position="relative";r.style.cursor="pointer";r.style.marginTop="-3px";r.style.border="0px";r.style.left="52px";mxUtils.setOpacity(r,50);mxEvent.addListener(r,"mouseenter",function(){mxUtils.setOpacity(r,
+100)});mxEvent.addListener(r,"mouseleave",function(){mxUtils.setOpacity(r,50)});mxEvent.addListener(r,"click",function(){d.actions.get("autosize").funct()});e.appendChild(r);this.addLabel(e,mxResources.get("width"),84);this.addLabel(e,mxResources.get("height"),20);mxUtils.br(e);h=document.createElement("div");h.style.paddingTop="8px";h.style.paddingRight="20px";h.style.whiteSpace="nowrap";h.style.textAlign="right";var u=this.createCellOption(mxResources.get("constrainProportions"),mxConstants.STYLE_ASPECT,
+null,"fixed","null");u.style.width="100%";h.appendChild(u);e.appendChild(h);var v=u.getElementsByTagName("input")[0];this.addKeyHandler(n,x);this.addKeyHandler(p,x);g=this.addGeometryHandler(n,function(a,b){0<a.width&&(b=Math.max(1,c.fromUnit(b)),v.checked&&(a.height=Math.round(a.height*b*100/a.width)/100),a.width=b)});k=this.addGeometryHandler(p,function(a,b){0<a.height&&(b=Math.max(1,c.fromUnit(b)),v.checked&&(a.width=Math.round(a.width*b*100/a.height)/100),a.height=b)});a.appendChild(e);var q=
+this.createPanel();q.style.paddingBottom="30px";h=document.createElement("div");h.style.position="absolute";h.style.width="70px";h.style.marginTop="0px";h.style.fontWeight="bold";mxUtils.write(h,mxResources.get("position"));q.appendChild(h);var w=this.addUnitInput(q,this.getUnit(),84,44,function(){l.apply(this,arguments)},this.getUnitStep(),null,null,this.isFloatUnit()),t=this.addUnitInput(q,this.getUnit(),20,44,function(){m.apply(this,arguments)},this.getUnitStep(),null,null,this.isFloatUnit());
+mxUtils.br(q);this.addLabel(q,mxResources.get("left"),84);this.addLabel(q,mxResources.get("top"),20);var x=mxUtils.bind(this,function(a,c,d){f=this.format.getSelectionState();if(f.containsLabel||f.vertices.length!=b.getSelectionCount()||null==f.width||null==f.height)e.style.display="none";else{e.style.display="";if(d||document.activeElement!=n)n.value=this.inUnit(f.width)+(""==f.width?"":" "+this.getUnit());if(d||document.activeElement!=p)p.value=this.inUnit(f.height)+(""==f.height?"":" "+this.getUnit())}if(f.vertices.length==
+b.getSelectionCount()&&null!=f.x&&null!=f.y){q.style.display="";if(d||document.activeElement!=w)w.value=this.inUnit(f.x)+(""==f.x?"":" "+this.getUnit());if(d||document.activeElement!=t)t.value=this.inUnit(f.y)+(""==f.y?"":" "+this.getUnit())}else q.style.display="none"});this.addKeyHandler(w,x);this.addKeyHandler(t,x);b.getModel().addListener(mxEvent.CHANGE,x);this.listeners.push({destroy:function(){b.getModel().removeListener(x)}});x();l=this.addGeometryHandler(w,function(a,b){b=c.fromUnit(b);a.relative?
+a.offset.x=b:a.x=b});m=this.addGeometryHandler(t,function(a,b){b=c.fromUnit(b);a.relative?a.offset.y=b:a.y=b});a.appendChild(q)};
 ArrangePanel.prototype.addGeometryHandler=function(a,c){function d(d){if(""!=a.value){var g=parseFloat(a.value);if(isNaN(g))a.value=f+" "+e.getUnit();else if(g!=f){b.getModel().beginUpdate();try{for(var h=b.getSelectionCells(),l=0;l<h.length;l++)if(b.getModel().isVertex(h[l])){var m=b.getCellGeometry(h[l]);null!=m&&(m=m.clone(),c(m,g),b.getModel().setGeometry(h[l],m))}}finally{b.getModel().endUpdate()}f=g;a.value=g+" "+e.getUnit()}}mxEvent.consume(d)}var b=this.editorUi.editor.graph,f=null,e=this;
 mxEvent.addListener(a,"blur",d);mxEvent.addListener(a,"change",d);mxEvent.addListener(a,"focus",function(){f=a.value});return d};
 ArrangePanel.prototype.addEdgeGeometryHandler=function(a,c){function d(d){if(""!=a.value){var e=parseFloat(a.value);if(isNaN(e))a.value=f+" pt";else if(e!=f){b.getModel().beginUpdate();try{for(var g=b.getSelectionCells(),k=0;k<g.length;k++)if(b.getModel().isEdge(g[k])){var l=b.getCellGeometry(g[k]);null!=l&&(l=l.clone(),c(l,e),b.getModel().setGeometry(g[k],l))}}finally{b.getModel().endUpdate()}f=e;a.value=e+" pt"}}mxEvent.consume(d)}var b=this.editorUi.editor.graph,f=null;mxEvent.addListener(a,"blur",
 d);mxEvent.addListener(a,"change",d);mxEvent.addListener(a,"focus",function(){f=a.value});return d};
 ArrangePanel.prototype.addEdgeGeometry=function(a){function c(a){var c=parseInt(n.value),c=Math.min(999,Math.max(1,isNaN(c)?1:c));c!=mxUtils.getValue(f.style,"width",mxCellRenderer.defaultShapes.flexArrow.prototype.defaultWidth)&&(b.setCellStyles("width",c,b.getSelectionCells()),d.fireEvent(new mxEventObject("styleChanged","keys",["width"],"values",[c],"cells",b.getSelectionCells())));n.value=c+" pt";mxEvent.consume(a)}var d=this.editorUi,b=d.editor.graph,f=this.format.getSelectionState(),e=this.createPanel(),
 h=document.createElement("div");h.style.position="absolute";h.style.width="70px";h.style.marginTop="0px";h.style.fontWeight="bold";mxUtils.write(h,mxResources.get("width"));e.appendChild(h);var g,k,l,m,n=this.addUnitInput(e,"pt",20,44,function(){c.apply(this,arguments)});mxUtils.br(e);this.addKeyHandler(n,t);mxEvent.addListener(n,"blur",c);mxEvent.addListener(n,"change",c);a.appendChild(e);var p=this.createPanel();p.style.paddingBottom="30px";h=document.createElement("div");h.style.position="absolute";
-h.style.width="70px";h.style.marginTop="0px";h.style.fontWeight="bold";mxUtils.write(h,"Start");p.appendChild(h);var q=this.addUnitInput(p,"pt",84,44,function(){l.apply(this,arguments)}),u=this.addUnitInput(p,"pt",20,44,function(){m.apply(this,arguments)});mxUtils.br(p);this.addLabel(p,mxResources.get("left"),84);this.addLabel(p,mxResources.get("top"),20);a.appendChild(p);this.addKeyHandler(q,t);this.addKeyHandler(u,t);var v=this.createPanel();v.style.paddingBottom="30px";h=document.createElement("div");
-h.style.position="absolute";h.style.width="70px";h.style.marginTop="0px";h.style.fontWeight="bold";mxUtils.write(h,"End");v.appendChild(h);var r=this.addUnitInput(v,"pt",84,44,function(){g.apply(this,arguments)}),w=this.addUnitInput(v,"pt",20,44,function(){k.apply(this,arguments)});mxUtils.br(v);this.addLabel(v,mxResources.get("left"),84);this.addLabel(v,mxResources.get("top"),20);a.appendChild(v);this.addKeyHandler(r,t);this.addKeyHandler(w,t);var t=mxUtils.bind(this,function(a,c,d){f=this.format.getSelectionState();
-a=b.getSelectionCell();if("link"==f.style.shape||"flexArrow"==f.style.shape){if(e.style.display="",d||document.activeElement!=n)d=mxUtils.getValue(f.style,"width",mxCellRenderer.defaultShapes.flexArrow.prototype.defaultWidth),n.value=d+" pt"}else e.style.display="none";1==b.getSelectionCount()&&b.model.isEdge(a)?(d=b.model.getGeometry(a),null!=d.sourcePoint&&null==b.model.getTerminal(a,!0)?(q.value=d.sourcePoint.x,u.value=d.sourcePoint.y):p.style.display="none",null!=d.targetPoint&&null==b.model.getTerminal(a,
-!1)?(r.value=d.targetPoint.x,w.value=d.targetPoint.y):v.style.display="none"):(p.style.display="none",v.style.display="none")});l=this.addEdgeGeometryHandler(q,function(a,b){a.sourcePoint.x=b});m=this.addEdgeGeometryHandler(u,function(a,b){a.sourcePoint.y=b});g=this.addEdgeGeometryHandler(r,function(a,b){a.targetPoint.x=b});k=this.addEdgeGeometryHandler(w,function(a,b){a.targetPoint.y=b});b.getModel().addListener(mxEvent.CHANGE,t);this.listeners.push({destroy:function(){b.getModel().removeListener(t)}});
+h.style.width="70px";h.style.marginTop="0px";h.style.fontWeight="bold";mxUtils.write(h,"Start");p.appendChild(h);var r=this.addUnitInput(p,"pt",84,44,function(){l.apply(this,arguments)}),u=this.addUnitInput(p,"pt",20,44,function(){m.apply(this,arguments)});mxUtils.br(p);this.addLabel(p,mxResources.get("left"),84);this.addLabel(p,mxResources.get("top"),20);a.appendChild(p);this.addKeyHandler(r,t);this.addKeyHandler(u,t);var v=this.createPanel();v.style.paddingBottom="30px";h=document.createElement("div");
+h.style.position="absolute";h.style.width="70px";h.style.marginTop="0px";h.style.fontWeight="bold";mxUtils.write(h,"End");v.appendChild(h);var q=this.addUnitInput(v,"pt",84,44,function(){g.apply(this,arguments)}),w=this.addUnitInput(v,"pt",20,44,function(){k.apply(this,arguments)});mxUtils.br(v);this.addLabel(v,mxResources.get("left"),84);this.addLabel(v,mxResources.get("top"),20);a.appendChild(v);this.addKeyHandler(q,t);this.addKeyHandler(w,t);var t=mxUtils.bind(this,function(a,c,d){f=this.format.getSelectionState();
+a=b.getSelectionCell();if("link"==f.style.shape||"flexArrow"==f.style.shape){if(e.style.display="",d||document.activeElement!=n)d=mxUtils.getValue(f.style,"width",mxCellRenderer.defaultShapes.flexArrow.prototype.defaultWidth),n.value=d+" pt"}else e.style.display="none";1==b.getSelectionCount()&&b.model.isEdge(a)?(d=b.model.getGeometry(a),null!=d.sourcePoint&&null==b.model.getTerminal(a,!0)?(r.value=d.sourcePoint.x,u.value=d.sourcePoint.y):p.style.display="none",null!=d.targetPoint&&null==b.model.getTerminal(a,
+!1)?(q.value=d.targetPoint.x,w.value=d.targetPoint.y):v.style.display="none"):(p.style.display="none",v.style.display="none")});l=this.addEdgeGeometryHandler(r,function(a,b){a.sourcePoint.x=b});m=this.addEdgeGeometryHandler(u,function(a,b){a.sourcePoint.y=b});g=this.addEdgeGeometryHandler(q,function(a,b){a.targetPoint.x=b});k=this.addEdgeGeometryHandler(w,function(a,b){a.targetPoint.y=b});b.getModel().addListener(mxEvent.CHANGE,t);this.listeners.push({destroy:function(){b.getModel().removeListener(t)}});
 t()};TextFormatPanel=function(a,c,d){BaseFormatPanel.call(this,a,c,d);this.init()};mxUtils.extend(TextFormatPanel,BaseFormatPanel);TextFormatPanel.prototype.init=function(){this.container.style.borderBottom="none";this.addFont(this.container)};
 TextFormatPanel.prototype.addFont=function(a){function c(a,b){mxClient.IS_IE&&(mxClient.IS_QUIRKS||10>document.documentMode)?a.style.filter=b?"progid:DXImageTransform.Microsoft.Gradient(StartColorStr='#c5ecff', EndColorStr='#87d4fb', GradientType=0)":"":a.style.backgroundImage=b?"linear-gradient(#c5ecff 0px,#87d4fb 100%)":""}var d=this.editorUi,b=d.editor.graph,f=this.format.getSelectionState(),e=this.createTitle(mxResources.get("font"));e.style.paddingLeft="18px";e.style.paddingTop="10px";e.style.paddingBottom=
 "6px";a.appendChild(e);e=this.createPanel();e.style.paddingTop="2px";e.style.paddingBottom="2px";e.style.position="relative";e.style.marginLeft="-2px";e.style.borderWidth="0px";e.className="geToolbarContainer";mxClient.IS_QUIRKS&&(e.style.display="block");if(b.cellEditor.isContentEditing()){var h=e.cloneNode(),g=this.editorUi.toolbar.addMenu(mxResources.get("style"),mxResources.get("style"),!0,"formatBlock",h,null,!0);g.style.color="rgb(112, 112, 112)";g.style.whiteSpace="nowrap";g.style.overflow=
 "hidden";g.style.margin="0px";this.addArrow(g);g.style.width="192px";g.style.height="15px";g=g.getElementsByTagName("div")[0];g.style.cssFloat="right";a.appendChild(h)}a.appendChild(e);h=this.createPanel();h.style.marginTop="8px";h.style.borderTop="1px solid #c0c0c0";h.style.paddingTop="6px";h.style.paddingBottom="6px";var k=this.editorUi.toolbar.addMenu("Helvetica",mxResources.get("fontFamily"),!0,"fontFamily",e,null,!0);k.style.color="rgb(112, 112, 112)";k.style.whiteSpace="nowrap";k.style.overflow=
 "hidden";k.style.margin="0px";this.addArrow(k);k.style.width="192px";k.style.height="15px";g=e.cloneNode(!1);g.style.marginLeft="-3px";var l=this.editorUi.toolbar.addItems(["bold","italic","underline"],g,!0);l[0].setAttribute("title",mxResources.get("bold")+" ("+this.editorUi.actions.get("bold").shortcut+")");l[1].setAttribute("title",mxResources.get("italic")+" ("+this.editorUi.actions.get("italic").shortcut+")");l[2].setAttribute("title",mxResources.get("underline")+" ("+this.editorUi.actions.get("underline").shortcut+
-")");var m=this.editorUi.toolbar.addItems(["vertical"],g,!0)[0];mxClient.IS_QUIRKS&&mxUtils.br(a);a.appendChild(g);this.styleButtons(l);this.styleButtons([m]);var n=e.cloneNode(!1);n.style.marginLeft="-3px";n.style.paddingBottom="0px";var p=function(a){return function(){return a()}},q=this.editorUi.toolbar.addButton("geSprite-left",mxResources.get("left"),b.cellEditor.isContentEditing()?function(a){b.cellEditor.alignText(mxConstants.ALIGN_LEFT,a)}:p(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_ALIGN],
+")");var m=this.editorUi.toolbar.addItems(["vertical"],g,!0)[0];mxClient.IS_QUIRKS&&mxUtils.br(a);a.appendChild(g);this.styleButtons(l);this.styleButtons([m]);var n=e.cloneNode(!1);n.style.marginLeft="-3px";n.style.paddingBottom="0px";var p=function(a){return function(){return a()}},r=this.editorUi.toolbar.addButton("geSprite-left",mxResources.get("left"),b.cellEditor.isContentEditing()?function(a){b.cellEditor.alignText(mxConstants.ALIGN_LEFT,a)}:p(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_ALIGN],
 [mxConstants.ALIGN_LEFT])),n),u=this.editorUi.toolbar.addButton("geSprite-center",mxResources.get("center"),b.cellEditor.isContentEditing()?function(a){b.cellEditor.alignText(mxConstants.ALIGN_CENTER,a)}:p(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_ALIGN],[mxConstants.ALIGN_CENTER])),n),v=this.editorUi.toolbar.addButton("geSprite-right",mxResources.get("right"),b.cellEditor.isContentEditing()?function(a){b.cellEditor.alignText(mxConstants.ALIGN_RIGHT,a)}:p(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_ALIGN],
-[mxConstants.ALIGN_RIGHT])),n);this.styleButtons([q,u,v]);if(b.cellEditor.isContentEditing()){var r=this.editorUi.toolbar.addButton("geSprite-removeformat",mxResources.get("strikethrough"),function(){document.execCommand("strikeThrough",!1,null)},g);this.styleButtons([r]);r.firstChild.style.background="url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PGRlZnM+PHBhdGggaWQ9ImEiIGQ9Ik0wIDBoMjR2MjRIMFYweiIvPjwvZGVmcz48Y2xpcFBhdGggaWQ9ImIiPjx1c2UgeGxpbms6aHJlZj0iI2EiIG92ZXJmbG93PSJ2aXNpYmxlIi8+PC9jbGlwUGF0aD48cGF0aCBjbGlwLXBhdGg9InVybCgjYikiIGZpbGw9IiMwMTAxMDEiIGQ9Ik03LjI0IDguNzVjLS4yNi0uNDgtLjM5LTEuMDMtLjM5LTEuNjcgMC0uNjEuMTMtMS4xNi40LTEuNjcuMjYtLjUuNjMtLjkzIDEuMTEtMS4yOS40OC0uMzUgMS4wNS0uNjMgMS43LS44My42Ni0uMTkgMS4zOS0uMjkgMi4xOC0uMjkuODEgMCAxLjU0LjExIDIuMjEuMzQuNjYuMjIgMS4yMy41NCAxLjY5Ljk0LjQ3LjQuODMuODggMS4wOCAxLjQzLjI1LjU1LjM4IDEuMTUuMzggMS44MWgtMy4wMWMwLS4zMS0uMDUtLjU5LS4xNS0uODUtLjA5LS4yNy0uMjQtLjQ5LS40NC0uNjgtLjItLjE5LS40NS0uMzMtLjc1LS40NC0uMy0uMS0uNjYtLjE2LTEuMDYtLjE2LS4zOSAwLS43NC4wNC0xLjAzLjEzLS4yOS4wOS0uNTMuMjEtLjcyLjM2LS4xOS4xNi0uMzQuMzQtLjQ0LjU1LS4xLjIxLS4xNS40My0uMTUuNjYgMCAuNDguMjUuODguNzQgMS4yMS4zOC4yNS43Ny40OCAxLjQxLjdINy4zOWMtLjA1LS4wOC0uMTEtLjE3LS4xNS0uMjV6TTIxIDEydi0ySDN2Mmg5LjYyYy4xOC4wNy40LjE0LjU1LjIuMzcuMTcuNjYuMzQuODcuNTEuMjEuMTcuMzUuMzYuNDMuNTcuMDcuMi4xMS40My4xMS42OSAwIC4yMy0uMDUuNDUtLjE0LjY2LS4wOS4yLS4yMy4zOC0uNDIuNTMtLjE5LjE1LS40Mi4yNi0uNzEuMzUtLjI5LjA4LS42My4xMy0xLjAxLjEzLS40MyAwLS44My0uMDQtMS4xOC0uMTNzLS42Ni0uMjMtLjkxLS40MmMtLjI1LS4xOS0uNDUtLjQ0LS41OS0uNzUtLjE0LS4zMS0uMjUtLjc2LS4yNS0xLjIxSDYuNGMwIC41NS4wOCAxLjEzLjI0IDEuNTguMTYuNDUuMzcuODUuNjUgMS4yMS4yOC4zNS42LjY2Ljk4LjkyLjM3LjI2Ljc4LjQ4IDEuMjIuNjUuNDQuMTcuOS4zIDEuMzguMzkuNDguMDguOTYuMTMgMS40NC4xMy44IDAgMS41My0uMDkgMi4xOC0uMjhzMS4yMS0uNDUgMS42Ny0uNzljLjQ2LS4zNC44Mi0uNzcgMS4wNy0xLjI3cy4zOC0xLjA3LjM4LTEuNzFjMC0uNi0uMS0xLjE0LS4zMS0xLjYxLS4wNS0uMTEtLjExLS4yMy0uMTctLjMzSDIxeiIvPjwvc3ZnPg==)";
-r.firstChild.style.backgroundPosition="2px 2px";r.firstChild.style.backgroundSize="18px 18px";this.styleButtons([r])}var w=this.editorUi.toolbar.addButton("geSprite-top",mxResources.get("top"),p(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_VERTICAL_ALIGN],[mxConstants.ALIGN_TOP])),n),t=this.editorUi.toolbar.addButton("geSprite-middle",mxResources.get("middle"),p(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_VERTICAL_ALIGN],[mxConstants.ALIGN_MIDDLE])),n),x=this.editorUi.toolbar.addButton("geSprite-bottom",
-mxResources.get("bottom"),p(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_VERTICAL_ALIGN],[mxConstants.ALIGN_BOTTOM])),n);this.styleButtons([w,t,x]);mxClient.IS_QUIRKS&&mxUtils.br(a);a.appendChild(n);var y,D,B,E,A,G,J;b.cellEditor.isContentEditing()?(w.style.display="none",t.style.display="none",x.style.display="none",m.style.display="none",B=this.editorUi.toolbar.addButton("geSprite-justifyfull",mxResources.get("block"),function(){1==B.style.opacity&&document.execCommand("justifyfull",
-!1,null)},n),B.style.marginRight="9px",B.style.opacity=1,this.styleButtons([B,y=this.editorUi.toolbar.addButton("geSprite-subscript",mxResources.get("subscript")+" ("+Editor.ctrlKey+"+,)",function(){document.execCommand("subscript",!1,null)},n),D=this.editorUi.toolbar.addButton("geSprite-superscript",mxResources.get("superscript")+" ("+Editor.ctrlKey+"+.)",function(){document.execCommand("superscript",!1,null)},n)]),y.style.marginLeft="9px",p=n.cloneNode(!1),p.style.paddingTop="4px",n=[this.editorUi.toolbar.addButton("geSprite-orderedlist",
+[mxConstants.ALIGN_RIGHT])),n);this.styleButtons([r,u,v]);if(b.cellEditor.isContentEditing()){var q=this.editorUi.toolbar.addButton("geSprite-removeformat",mxResources.get("strikethrough"),function(){document.execCommand("strikeThrough",!1,null)},g);this.styleButtons([q]);q.firstChild.style.background="url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PGRlZnM+PHBhdGggaWQ9ImEiIGQ9Ik0wIDBoMjR2MjRIMFYweiIvPjwvZGVmcz48Y2xpcFBhdGggaWQ9ImIiPjx1c2UgeGxpbms6aHJlZj0iI2EiIG92ZXJmbG93PSJ2aXNpYmxlIi8+PC9jbGlwUGF0aD48cGF0aCBjbGlwLXBhdGg9InVybCgjYikiIGZpbGw9IiMwMTAxMDEiIGQ9Ik03LjI0IDguNzVjLS4yNi0uNDgtLjM5LTEuMDMtLjM5LTEuNjcgMC0uNjEuMTMtMS4xNi40LTEuNjcuMjYtLjUuNjMtLjkzIDEuMTEtMS4yOS40OC0uMzUgMS4wNS0uNjMgMS43LS44My42Ni0uMTkgMS4zOS0uMjkgMi4xOC0uMjkuODEgMCAxLjU0LjExIDIuMjEuMzQuNjYuMjIgMS4yMy41NCAxLjY5Ljk0LjQ3LjQuODMuODggMS4wOCAxLjQzLjI1LjU1LjM4IDEuMTUuMzggMS44MWgtMy4wMWMwLS4zMS0uMDUtLjU5LS4xNS0uODUtLjA5LS4yNy0uMjQtLjQ5LS40NC0uNjgtLjItLjE5LS40NS0uMzMtLjc1LS40NC0uMy0uMS0uNjYtLjE2LTEuMDYtLjE2LS4zOSAwLS43NC4wNC0xLjAzLjEzLS4yOS4wOS0uNTMuMjEtLjcyLjM2LS4xOS4xNi0uMzQuMzQtLjQ0LjU1LS4xLjIxLS4xNS40My0uMTUuNjYgMCAuNDguMjUuODguNzQgMS4yMS4zOC4yNS43Ny40OCAxLjQxLjdINy4zOWMtLjA1LS4wOC0uMTEtLjE3LS4xNS0uMjV6TTIxIDEydi0ySDN2Mmg5LjYyYy4xOC4wNy40LjE0LjU1LjIuMzcuMTcuNjYuMzQuODcuNTEuMjEuMTcuMzUuMzYuNDMuNTcuMDcuMi4xMS40My4xMS42OSAwIC4yMy0uMDUuNDUtLjE0LjY2LS4wOS4yLS4yMy4zOC0uNDIuNTMtLjE5LjE1LS40Mi4yNi0uNzEuMzUtLjI5LjA4LS42My4xMy0xLjAxLjEzLS40MyAwLS44My0uMDQtMS4xOC0uMTNzLS42Ni0uMjMtLjkxLS40MmMtLjI1LS4xOS0uNDUtLjQ0LS41OS0uNzUtLjE0LS4zMS0uMjUtLjc2LS4yNS0xLjIxSDYuNGMwIC41NS4wOCAxLjEzLjI0IDEuNTguMTYuNDUuMzcuODUuNjUgMS4yMS4yOC4zNS42LjY2Ljk4LjkyLjM3LjI2Ljc4LjQ4IDEuMjIuNjUuNDQuMTcuOS4zIDEuMzguMzkuNDguMDguOTYuMTMgMS40NC4xMy44IDAgMS41My0uMDkgMi4xOC0uMjhzMS4yMS0uNDUgMS42Ny0uNzljLjQ2LS4zNC44Mi0uNzcgMS4wNy0xLjI3cy4zOC0xLjA3LjM4LTEuNzFjMC0uNi0uMS0xLjE0LS4zMS0xLjYxLS4wNS0uMTEtLjExLS4yMy0uMTctLjMzSDIxeiIvPjwvc3ZnPg==)";
+q.firstChild.style.backgroundPosition="2px 2px";q.firstChild.style.backgroundSize="18px 18px";this.styleButtons([q])}var w=this.editorUi.toolbar.addButton("geSprite-top",mxResources.get("top"),p(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_VERTICAL_ALIGN],[mxConstants.ALIGN_TOP])),n),t=this.editorUi.toolbar.addButton("geSprite-middle",mxResources.get("middle"),p(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_VERTICAL_ALIGN],[mxConstants.ALIGN_MIDDLE])),n),x=this.editorUi.toolbar.addButton("geSprite-bottom",
+mxResources.get("bottom"),p(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_VERTICAL_ALIGN],[mxConstants.ALIGN_BOTTOM])),n);this.styleButtons([w,t,x]);mxClient.IS_QUIRKS&&mxUtils.br(a);a.appendChild(n);var y,C,B,E,A,G,J;b.cellEditor.isContentEditing()?(w.style.display="none",t.style.display="none",x.style.display="none",m.style.display="none",B=this.editorUi.toolbar.addButton("geSprite-justifyfull",mxResources.get("block"),function(){1==B.style.opacity&&document.execCommand("justifyfull",
+!1,null)},n),B.style.marginRight="9px",B.style.opacity=1,this.styleButtons([B,y=this.editorUi.toolbar.addButton("geSprite-subscript",mxResources.get("subscript")+" ("+Editor.ctrlKey+"+,)",function(){document.execCommand("subscript",!1,null)},n),C=this.editorUi.toolbar.addButton("geSprite-superscript",mxResources.get("superscript")+" ("+Editor.ctrlKey+"+.)",function(){document.execCommand("superscript",!1,null)},n)]),y.style.marginLeft="9px",p=n.cloneNode(!1),p.style.paddingTop="4px",n=[this.editorUi.toolbar.addButton("geSprite-orderedlist",
 mxResources.get("numberedList"),function(){document.execCommand("insertorderedlist",!1,null)},p),this.editorUi.toolbar.addButton("geSprite-unorderedlist",mxResources.get("bulletedList"),function(){document.execCommand("insertunorderedlist",!1,null)},p),this.editorUi.toolbar.addButton("geSprite-outdent",mxResources.get("decreaseIndent"),function(){document.execCommand("outdent",!1,null)},p),this.editorUi.toolbar.addButton("geSprite-indent",mxResources.get("increaseIndent"),function(){document.execCommand("indent",
 !1,null)},p),this.editorUi.toolbar.addButton("geSprite-removeformat",mxResources.get("removeFormat"),function(){document.execCommand("removeformat",!1,null)},p),this.editorUi.toolbar.addButton("geSprite-code",mxResources.get("html"),function(){b.cellEditor.toggleViewMode()},p)],this.styleButtons(n),n[n.length-2].style.marginLeft="9px",mxClient.IS_QUIRKS&&(mxUtils.br(a),p.style.height="40"),a.appendChild(p)):(l[2].style.marginRight="9px",v.style.marginRight="9px");n=e.cloneNode(!1);n.style.marginLeft=
-"0px";n.style.paddingTop="8px";n.style.paddingBottom="4px";n.style.fontWeight="normal";mxUtils.write(n,mxResources.get("position"));var H=document.createElement("select");H.style.position="absolute";H.style.right="20px";H.style.width="97px";H.style.marginTop="-2px";for(var r="topLeft top topRight left center right bottomLeft bottom bottomRight".split(" "),L={topLeft:[mxConstants.ALIGN_LEFT,mxConstants.ALIGN_TOP,mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_BOTTOM],top:[mxConstants.ALIGN_CENTER,mxConstants.ALIGN_TOP,
+"0px";n.style.paddingTop="8px";n.style.paddingBottom="4px";n.style.fontWeight="normal";mxUtils.write(n,mxResources.get("position"));var I=document.createElement("select");I.style.position="absolute";I.style.right="20px";I.style.width="97px";I.style.marginTop="-2px";for(var q="topLeft top topRight left center right bottomLeft bottom bottomRight".split(" "),M={topLeft:[mxConstants.ALIGN_LEFT,mxConstants.ALIGN_TOP,mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_BOTTOM],top:[mxConstants.ALIGN_CENTER,mxConstants.ALIGN_TOP,
 mxConstants.ALIGN_CENTER,mxConstants.ALIGN_BOTTOM],topRight:[mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_TOP,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_BOTTOM],left:[mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE,mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_MIDDLE],center:[mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE],right:[mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_MIDDLE,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE],bottomLeft:[mxConstants.ALIGN_LEFT,
-mxConstants.ALIGN_BOTTOM,mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_TOP],bottom:[mxConstants.ALIGN_CENTER,mxConstants.ALIGN_BOTTOM,mxConstants.ALIGN_CENTER,mxConstants.ALIGN_TOP],bottomRight:[mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_BOTTOM,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_TOP]},p=0;p<r.length;p++){var F=document.createElement("option");F.setAttribute("value",r[p]);mxUtils.write(F,mxResources.get(r[p]));H.appendChild(F)}n.appendChild(H);r=e.cloneNode(!1);r.style.marginLeft="0px";r.style.paddingTop=
-"4px";r.style.paddingBottom="4px";r.style.fontWeight="normal";mxUtils.write(r,mxResources.get("writingDirection"));var P=document.createElement("select");P.style.position="absolute";P.style.right="20px";P.style.width="97px";P.style.marginTop="-2px";for(var F=["automatic","leftToRight","rightToLeft"],R={automatic:null,leftToRight:mxConstants.TEXT_DIRECTION_LTR,rightToLeft:mxConstants.TEXT_DIRECTION_RTL},p=0;p<F.length;p++){var S=document.createElement("option");S.setAttribute("value",F[p]);mxUtils.write(S,
-mxResources.get(F[p]));P.appendChild(S)}r.appendChild(P);b.isEditing()||(a.appendChild(n),mxEvent.addListener(H,"change",function(a){b.getModel().beginUpdate();try{var c=L[H.value];null!=c&&(b.setCellStyles(mxConstants.STYLE_LABEL_POSITION,c[0],b.getSelectionCells()),b.setCellStyles(mxConstants.STYLE_VERTICAL_LABEL_POSITION,c[1],b.getSelectionCells()),b.setCellStyles(mxConstants.STYLE_ALIGN,c[2],b.getSelectionCells()),b.setCellStyles(mxConstants.STYLE_VERTICAL_ALIGN,c[3],b.getSelectionCells()))}finally{b.getModel().endUpdate()}mxEvent.consume(a)}),
-a.appendChild(r),mxEvent.addListener(P,"change",function(a){b.setCellStyles(mxConstants.STYLE_TEXT_DIRECTION,R[P.value],b.getSelectionCells());mxEvent.consume(a)}));var K=document.createElement("input");K.style.textAlign="right";K.style.marginTop="4px";mxClient.IS_QUIRKS||(K.style.position="absolute",K.style.right="32px");K.style.width="46px";K.style.height=mxClient.IS_QUIRKS?"21px":"17px";g.appendChild(K);var I=null,n=this.installInputHandler(K,mxConstants.STYLE_FONTSIZE,Menus.prototype.defaultFontSize,
+mxConstants.ALIGN_BOTTOM,mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_TOP],bottom:[mxConstants.ALIGN_CENTER,mxConstants.ALIGN_BOTTOM,mxConstants.ALIGN_CENTER,mxConstants.ALIGN_TOP],bottomRight:[mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_BOTTOM,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_TOP]},p=0;p<q.length;p++){var F=document.createElement("option");F.setAttribute("value",q[p]);mxUtils.write(F,mxResources.get(q[p]));I.appendChild(F)}n.appendChild(I);q=e.cloneNode(!1);q.style.marginLeft="0px";q.style.paddingTop=
+"4px";q.style.paddingBottom="4px";q.style.fontWeight="normal";mxUtils.write(q,mxResources.get("writingDirection"));var P=document.createElement("select");P.style.position="absolute";P.style.right="20px";P.style.width="97px";P.style.marginTop="-2px";for(var F=["automatic","leftToRight","rightToLeft"],R={automatic:null,leftToRight:mxConstants.TEXT_DIRECTION_LTR,rightToLeft:mxConstants.TEXT_DIRECTION_RTL},p=0;p<F.length;p++){var S=document.createElement("option");S.setAttribute("value",F[p]);mxUtils.write(S,
+mxResources.get(F[p]));P.appendChild(S)}q.appendChild(P);b.isEditing()||(a.appendChild(n),mxEvent.addListener(I,"change",function(a){b.getModel().beginUpdate();try{var c=M[I.value];null!=c&&(b.setCellStyles(mxConstants.STYLE_LABEL_POSITION,c[0],b.getSelectionCells()),b.setCellStyles(mxConstants.STYLE_VERTICAL_LABEL_POSITION,c[1],b.getSelectionCells()),b.setCellStyles(mxConstants.STYLE_ALIGN,c[2],b.getSelectionCells()),b.setCellStyles(mxConstants.STYLE_VERTICAL_ALIGN,c[3],b.getSelectionCells()))}finally{b.getModel().endUpdate()}mxEvent.consume(a)}),
+a.appendChild(q),mxEvent.addListener(P,"change",function(a){b.setCellStyles(mxConstants.STYLE_TEXT_DIRECTION,R[P.value],b.getSelectionCells());mxEvent.consume(a)}));var L=document.createElement("input");L.style.textAlign="right";L.style.marginTop="4px";mxClient.IS_QUIRKS||(L.style.position="absolute",L.style.right="32px");L.style.width="46px";L.style.height=mxClient.IS_QUIRKS?"21px":"17px";g.appendChild(L);var K=null,n=this.installInputHandler(L,mxConstants.STYLE_FONTSIZE,Menus.prototype.defaultFontSize,
 1,999," pt",function(a){if(window.getSelection&&!mxClient.IS_IE&&!mxClient.IS_IE11){var c=function(c,e){null!=b.cellEditor.textarea&&c!=b.cellEditor.textarea&&b.cellEditor.textarea.contains(c)&&(e||d.containsNode(c,!0))&&("FONT"==c.nodeName?(c.removeAttribute("size"),c.style.fontSize=a+"px"):mxUtils.getCurrentStyle(c).fontSize!=a+"px"&&(mxUtils.getCurrentStyle(c.parentNode).fontSize!=a+"px"?c.style.fontSize=a+"px":c.style.fontSize=""))},d=window.getSelection(),e=0<d.rangeCount?d.getRangeAt(0).commonAncestorContainer:
-b.cellEditor.textarea;e!=b.cellEditor.textarea&&e.nodeType==mxConstants.NODETYPE_ELEMENT||document.execCommand("fontSize",!1,"1");e!=b.cellEditor.textarea&&(e=e.parentNode);if(null!=e&&e.nodeType==mxConstants.NODETYPE_ELEMENT){var g=e.getElementsByTagName("*");c(e);for(e=0;e<g.length;e++)c(g[e])}K.value=a+" pt"}else if(window.getSelection||document.selection)if(c=function(a,b){for(;null!=b;){if(b===a)return!0;b=b.parentNode}return!1},g=null,document.selection?g=document.selection.createRange().parentElement():
-(d=window.getSelection(),0<d.rangeCount&&(g=d.getRangeAt(0).commonAncestorContainer)),null!=g&&c(b.cellEditor.textarea,g))for(I=a,document.execCommand("fontSize",!1,"4"),g=b.cellEditor.textarea.getElementsByTagName("font"),e=0;e<g.length;e++)if("4"==g[e].getAttribute("size")){g[e].removeAttribute("size");g[e].style.fontSize=I+"px";window.setTimeout(function(){K.value=I+" pt";I=null},0);break}},!0),n=this.createStepper(K,n,1,10,!0,Menus.prototype.defaultFontSize);n.style.display=K.style.display;n.style.marginTop=
-"4px";mxClient.IS_QUIRKS||(n.style.right="20px");g.appendChild(n);g=k.getElementsByTagName("div")[0];g.style.cssFloat="right";var N=null,T="#ffffff",da=null,z="#000000",M=b.cellEditor.isContentEditing()?this.createColorOption(mxResources.get("backgroundColor"),function(){return T},function(a){document.execCommand("backcolor",!1,a!=mxConstants.NONE?a:"transparent")},"#ffffff",{install:function(a){N=a},destroy:function(){N=null}},null,!0):this.createCellColorOption(mxResources.get("backgroundColor"),
-mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,"#ffffff",null,function(a){b.updateLabelElements(b.getSelectionCells(),function(a){a.style.backgroundColor=null})});M.style.fontWeight="bold";var Q=this.createCellColorOption(mxResources.get("borderColor"),mxConstants.STYLE_LABEL_BORDERCOLOR,"#000000");Q.style.fontWeight="bold";g=b.cellEditor.isContentEditing()?this.createColorOption(mxResources.get("fontColor"),function(){return z},function(a){if(mxClient.IS_FF){for(var c=b.cellEditor.textarea.getElementsByTagName("font"),
+b.cellEditor.textarea;e!=b.cellEditor.textarea&&e.nodeType==mxConstants.NODETYPE_ELEMENT||document.execCommand("fontSize",!1,"1");e!=b.cellEditor.textarea&&(e=e.parentNode);if(null!=e&&e.nodeType==mxConstants.NODETYPE_ELEMENT){var g=e.getElementsByTagName("*");c(e);for(e=0;e<g.length;e++)c(g[e])}L.value=a+" pt"}else if(window.getSelection||document.selection)if(c=function(a,b){for(;null!=b;){if(b===a)return!0;b=b.parentNode}return!1},g=null,document.selection?g=document.selection.createRange().parentElement():
+(d=window.getSelection(),0<d.rangeCount&&(g=d.getRangeAt(0).commonAncestorContainer)),null!=g&&c(b.cellEditor.textarea,g))for(K=a,document.execCommand("fontSize",!1,"4"),g=b.cellEditor.textarea.getElementsByTagName("font"),e=0;e<g.length;e++)if("4"==g[e].getAttribute("size")){g[e].removeAttribute("size");g[e].style.fontSize=K+"px";window.setTimeout(function(){L.value=K+" pt";K=null},0);break}},!0),n=this.createStepper(L,n,1,10,!0,Menus.prototype.defaultFontSize);n.style.display=L.style.display;n.style.marginTop=
+"4px";mxClient.IS_QUIRKS||(n.style.right="20px");g.appendChild(n);g=k.getElementsByTagName("div")[0];g.style.cssFloat="right";var N=null,T="#ffffff",da=null,z="#000000",H=b.cellEditor.isContentEditing()?this.createColorOption(mxResources.get("backgroundColor"),function(){return T},function(a){document.execCommand("backcolor",!1,a!=mxConstants.NONE?a:"transparent")},"#ffffff",{install:function(a){N=a},destroy:function(){N=null}},null,!0):this.createCellColorOption(mxResources.get("backgroundColor"),
+mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,"#ffffff",null,function(a){b.updateLabelElements(b.getSelectionCells(),function(a){a.style.backgroundColor=null})});H.style.fontWeight="bold";var Q=this.createCellColorOption(mxResources.get("borderColor"),mxConstants.STYLE_LABEL_BORDERCOLOR,"#000000");Q.style.fontWeight="bold";g=b.cellEditor.isContentEditing()?this.createColorOption(mxResources.get("fontColor"),function(){return z},function(a){if(mxClient.IS_FF){for(var c=b.cellEditor.textarea.getElementsByTagName("font"),
 d=[],e=0;e<c.length;e++)d.push({node:c[e],color:c[e].getAttribute("color")});document.execCommand("forecolor",!1,a!=mxConstants.NONE?a:"transparent");a=b.cellEditor.textarea.getElementsByTagName("font");for(e=0;e<a.length;e++)if(e>=d.length||a[e]!=d[e].node||a[e]==d[e].node&&a[e].getAttribute("color")!=d[e].color){d=a[e].firstChild;if(null!=d&&"A"==d.nodeName&&null==d.nextSibling&&null!=d.firstChild){a[e].parentNode.insertBefore(d,a[e]);for(c=d.firstChild;null!=c;){var g=c.nextSibling;a[e].appendChild(c);
-c=g}d.appendChild(a[e])}break}}else document.execCommand("forecolor",!1,a!=mxConstants.NONE?a:"transparent")},"#000000",{install:function(a){da=a},destroy:function(){da=null}},null,!0):this.createCellColorOption(mxResources.get("fontColor"),mxConstants.STYLE_FONTCOLOR,"#000000",function(a){M.style.display=null==a||a==mxConstants.NONE?"none":"";Q.style.display=M.style.display},function(a){null==a||a==mxConstants.NONE?b.setCellStyles(mxConstants.STYLE_NOLABEL,"1",b.getSelectionCells()):b.setCellStyles(mxConstants.STYLE_NOLABEL,
-null,b.getSelectionCells());b.updateLabelElements(b.getSelectionCells(),function(a){a.removeAttribute("color");a.style.color=null})});g.style.fontWeight="bold";h.appendChild(g);h.appendChild(M);b.cellEditor.isContentEditing()||h.appendChild(Q);a.appendChild(h);h=this.createPanel();h.style.paddingTop="2px";h.style.paddingBottom="4px";g=this.createCellOption(mxResources.get("wordWrap"),mxConstants.STYLE_WHITE_SPACE,null,"wrap","null",null,null,!0);g.style.fontWeight="bold";f.containsLabel||f.autoSize||
+c=g}d.appendChild(a[e])}break}}else document.execCommand("forecolor",!1,a!=mxConstants.NONE?a:"transparent")},"#000000",{install:function(a){da=a},destroy:function(){da=null}},null,!0):this.createCellColorOption(mxResources.get("fontColor"),mxConstants.STYLE_FONTCOLOR,"#000000",function(a){H.style.display=null==a||a==mxConstants.NONE?"none":"";Q.style.display=H.style.display},function(a){null==a||a==mxConstants.NONE?b.setCellStyles(mxConstants.STYLE_NOLABEL,"1",b.getSelectionCells()):b.setCellStyles(mxConstants.STYLE_NOLABEL,
+null,b.getSelectionCells());b.updateLabelElements(b.getSelectionCells(),function(a){a.removeAttribute("color");a.style.color=null})});g.style.fontWeight="bold";h.appendChild(g);h.appendChild(H);b.cellEditor.isContentEditing()||h.appendChild(Q);a.appendChild(h);h=this.createPanel();h.style.paddingTop="2px";h.style.paddingBottom="4px";g=this.createCellOption(mxResources.get("wordWrap"),mxConstants.STYLE_WHITE_SPACE,null,"wrap","null",null,null,!0);g.style.fontWeight="bold";f.containsLabel||f.autoSize||
 0!=f.edges.length||h.appendChild(g);g=this.createCellOption(mxResources.get("formattedText"),"html","0",null,null,null,d.actions.get("formattedText"));g.style.fontWeight="bold";h.appendChild(g);g=this.createPanel();g.style.paddingTop="10px";g.style.paddingBottom="28px";g.style.fontWeight="normal";n=document.createElement("div");n.style.position="absolute";n.style.width="70px";n.style.marginTop="0px";n.style.fontWeight="bold";mxUtils.write(n,mxResources.get("spacing"));g.appendChild(n);var U,V,ia,
 aa,W,ea=this.addUnitInput(g,"pt",91,44,function(){U.apply(this,arguments)}),ca=this.addUnitInput(g,"pt",20,44,function(){V.apply(this,arguments)});mxUtils.br(g);this.addLabel(g,mxResources.get("top"),91);this.addLabel(g,mxResources.get("global"),20);mxUtils.br(g);mxUtils.br(g);var fa=this.addUnitInput(g,"pt",162,44,function(){ia.apply(this,arguments)}),ga=this.addUnitInput(g,"pt",91,44,function(){aa.apply(this,arguments)}),ba=this.addUnitInput(g,"pt",20,44,function(){W.apply(this,arguments)});mxUtils.br(g);
 this.addLabel(g,mxResources.get("left"),162);this.addLabel(g,mxResources.get("bottom"),91);this.addLabel(g,mxResources.get("right"),20);if(b.cellEditor.isContentEditing()){var Z=null,ja=null;a.appendChild(this.createRelativeOption(mxResources.get("lineheight"),null,null,function(a){var c=""==a.value?120:parseInt(a.value),c=Math.max(0,isNaN(c)?120:c);null!=Z&&(b.cellEditor.restoreSelection(Z),Z=null);for(var d=b.getSelectedElement();null!=d&&d.nodeType!=mxConstants.NODETYPE_ELEMENT;)d=d.parentNode;
@@ -2875,17 +2878,17 @@ mxUtils.bind(this,function(a){if(null!=A){var c=A.style.borderColor.replace(/\br
 function(c){var d=null==G||null!=a&&mxEvent.isShiftDown(a)?A:G;b.processElements(d,function(a){a.style.backgroundColor=null});d.style.backgroundColor=null==c||c==mxConstants.NONE?"":c})}}),e),this.editorUi.toolbar.addButton("geSprite-fit",mxResources.get("spacing"),function(){if(null!=A){var a=A.getAttribute("cellPadding")||0,a=new FilenameDialog(d,a,mxResources.get("apply"),mxUtils.bind(this,function(a){null!=a&&0<a.length?A.setAttribute("cellPadding",a):A.removeAttribute("cellPadding")}),mxResources.get("spacing"));
 d.showDialog(a.container,300,80,!0,!0);a.init()}},e),this.editorUi.toolbar.addButton("geSprite-left",mxResources.get("left"),function(){null!=A&&A.setAttribute("align","left")},e),this.editorUi.toolbar.addButton("geSprite-center",mxResources.get("center"),function(){null!=A&&A.setAttribute("align","center")},e),this.editorUi.toolbar.addButton("geSprite-right",mxResources.get("right"),function(){null!=A&&A.setAttribute("align","right")},e)];this.styleButtons(n);n[2].style.marginRight="9px";mxClient.IS_QUIRKS&&
 (mxUtils.br(h),mxUtils.br(h));h.appendChild(e);a.appendChild(h);E=h}else a.appendChild(h),a.appendChild(this.createRelativeOption(mxResources.get("opacity"),mxConstants.STYLE_TEXT_OPACITY)),a.appendChild(g);var Y=mxUtils.bind(this,function(a,b,d){f=this.format.getSelectionState();a=mxUtils.getValue(f.style,mxConstants.STYLE_FONTSTYLE,0);c(l[0],(a&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD);c(l[1],(a&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC);c(l[2],(a&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE);
-k.firstChild.nodeValue=mxUtils.getValue(f.style,mxConstants.STYLE_FONTFAMILY,Menus.prototype.defaultFont);c(m,"0"==mxUtils.getValue(f.style,mxConstants.STYLE_HORIZONTAL,"1"));if(d||document.activeElement!=K)a=parseFloat(mxUtils.getValue(f.style,mxConstants.STYLE_FONTSIZE,Menus.prototype.defaultFontSize)),K.value=isNaN(a)?"":a+" pt";a=mxUtils.getValue(f.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_CENTER);c(q,a==mxConstants.ALIGN_LEFT);c(u,a==mxConstants.ALIGN_CENTER);c(v,a==mxConstants.ALIGN_RIGHT);
-a=mxUtils.getValue(f.style,mxConstants.STYLE_VERTICAL_ALIGN,mxConstants.ALIGN_MIDDLE);c(w,a==mxConstants.ALIGN_TOP);c(t,a==mxConstants.ALIGN_MIDDLE);c(x,a==mxConstants.ALIGN_BOTTOM);a=mxUtils.getValue(f.style,mxConstants.STYLE_LABEL_POSITION,mxConstants.ALIGN_CENTER);b=mxUtils.getValue(f.style,mxConstants.STYLE_VERTICAL_LABEL_POSITION,mxConstants.ALIGN_MIDDLE);H.value=a==mxConstants.ALIGN_LEFT&&b==mxConstants.ALIGN_TOP?"topLeft":a==mxConstants.ALIGN_CENTER&&b==mxConstants.ALIGN_TOP?"top":a==mxConstants.ALIGN_RIGHT&&
+k.firstChild.nodeValue=mxUtils.getValue(f.style,mxConstants.STYLE_FONTFAMILY,Menus.prototype.defaultFont);c(m,"0"==mxUtils.getValue(f.style,mxConstants.STYLE_HORIZONTAL,"1"));if(d||document.activeElement!=L)a=parseFloat(mxUtils.getValue(f.style,mxConstants.STYLE_FONTSIZE,Menus.prototype.defaultFontSize)),L.value=isNaN(a)?"":a+" pt";a=mxUtils.getValue(f.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_CENTER);c(r,a==mxConstants.ALIGN_LEFT);c(u,a==mxConstants.ALIGN_CENTER);c(v,a==mxConstants.ALIGN_RIGHT);
+a=mxUtils.getValue(f.style,mxConstants.STYLE_VERTICAL_ALIGN,mxConstants.ALIGN_MIDDLE);c(w,a==mxConstants.ALIGN_TOP);c(t,a==mxConstants.ALIGN_MIDDLE);c(x,a==mxConstants.ALIGN_BOTTOM);a=mxUtils.getValue(f.style,mxConstants.STYLE_LABEL_POSITION,mxConstants.ALIGN_CENTER);b=mxUtils.getValue(f.style,mxConstants.STYLE_VERTICAL_LABEL_POSITION,mxConstants.ALIGN_MIDDLE);I.value=a==mxConstants.ALIGN_LEFT&&b==mxConstants.ALIGN_TOP?"topLeft":a==mxConstants.ALIGN_CENTER&&b==mxConstants.ALIGN_TOP?"top":a==mxConstants.ALIGN_RIGHT&&
 b==mxConstants.ALIGN_TOP?"topRight":a==mxConstants.ALIGN_LEFT&&b==mxConstants.ALIGN_BOTTOM?"bottomLeft":a==mxConstants.ALIGN_CENTER&&b==mxConstants.ALIGN_BOTTOM?"bottom":a==mxConstants.ALIGN_RIGHT&&b==mxConstants.ALIGN_BOTTOM?"bottomRight":a==mxConstants.ALIGN_LEFT?"left":a==mxConstants.ALIGN_RIGHT?"right":"center";a=mxUtils.getValue(f.style,mxConstants.STYLE_TEXT_DIRECTION,mxConstants.DEFAULT_TEXT_DIRECTION);a==mxConstants.TEXT_DIRECTION_RTL?P.value="rightToLeft":a==mxConstants.TEXT_DIRECTION_LTR?
 P.value="leftToRight":a==mxConstants.TEXT_DIRECTION_AUTO&&(P.value="automatic");if(d||document.activeElement!=ca)a=parseFloat(mxUtils.getValue(f.style,mxConstants.STYLE_SPACING,2)),ca.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=ea)a=parseFloat(mxUtils.getValue(f.style,mxConstants.STYLE_SPACING_TOP,0)),ea.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=ba)a=parseFloat(mxUtils.getValue(f.style,mxConstants.STYLE_SPACING_RIGHT,0)),ba.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=
 ga)a=parseFloat(mxUtils.getValue(f.style,mxConstants.STYLE_SPACING_BOTTOM,0)),ga.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=fa)a=parseFloat(mxUtils.getValue(f.style,mxConstants.STYLE_SPACING_LEFT,0)),fa.value=isNaN(a)?"":a+" pt"});V=this.installInputHandler(ca,mxConstants.STYLE_SPACING,2,-999,999," pt");U=this.installInputHandler(ea,mxConstants.STYLE_SPACING_TOP,0,-999,999," pt");W=this.installInputHandler(ba,mxConstants.STYLE_SPACING_RIGHT,0,-999,999," pt");aa=this.installInputHandler(ga,
-mxConstants.STYLE_SPACING_BOTTOM,0,-999,999," pt");ia=this.installInputHandler(fa,mxConstants.STYLE_SPACING_LEFT,0,-999,999," pt");this.addKeyHandler(K,Y);this.addKeyHandler(ca,Y);this.addKeyHandler(ea,Y);this.addKeyHandler(ba,Y);this.addKeyHandler(ga,Y);this.addKeyHandler(fa,Y);b.getModel().addListener(mxEvent.CHANGE,Y);this.listeners.push({destroy:function(){b.getModel().removeListener(Y)}});Y();if(b.cellEditor.isContentEditing()){var ka=!1,e=function(){ka||(ka=!0,window.setTimeout(function(){for(var a=
+mxConstants.STYLE_SPACING_BOTTOM,0,-999,999," pt");ia=this.installInputHandler(fa,mxConstants.STYLE_SPACING_LEFT,0,-999,999," pt");this.addKeyHandler(L,Y);this.addKeyHandler(ca,Y);this.addKeyHandler(ea,Y);this.addKeyHandler(ba,Y);this.addKeyHandler(ga,Y);this.addKeyHandler(fa,Y);b.getModel().addListener(mxEvent.CHANGE,Y);this.listeners.push({destroy:function(){b.getModel().removeListener(Y)}});Y();if(b.cellEditor.isContentEditing()){var ka=!1,e=function(){ka||(ka=!0,window.setTimeout(function(){for(var a=
 b.getSelectedElement();null!=a&&a.nodeType!=mxConstants.NODETYPE_ELEMENT;)a=a.parentNode;if(null!=a){var d=function(a,b){if(null!=a&&null!=b){if(a==b)return!0;if(a.length>b.length+1)return a.substring(a.length-b.length-1,a.length)=="-"+b}return!1},e=function(c){if(null!=b.getParentByName(a,c,b.cellEditor.textarea))return!0;for(var d=a;null!=d&&1==d.childNodes.length;)if(d=d.childNodes[0],d.nodeName==c)return!0;return!1},g=function(a){a=null!=a?a.fontSize:null;return null!=a&&"px"==a.substring(a.length-
 2)?parseFloat(a):mxConstants.DEFAULT_FONTSIZE},h=function(a,b,c){return null!=c.style&&null!=b?(b=b.lineHeight,null!=c.style.lineHeight&&"%"==c.style.lineHeight.substring(c.style.lineHeight.length-1)?parseInt(c.style.lineHeight)/100:"px"==b.substring(b.length-2)?parseFloat(b)/a:parseInt(b)):""};a==b.cellEditor.textarea&&1==b.cellEditor.textarea.children.length&&b.cellEditor.textarea.firstChild.nodeType==mxConstants.NODETYPE_ELEMENT&&(a=b.cellEditor.textarea.firstChild);var m=mxUtils.getCurrentStyle(a),
-n=g(m),p=h(n,m,a),r=a.getElementsByTagName("*");if(0<r.length&&window.getSelection&&!mxClient.IS_IE&&!mxClient.IS_IE11)for(var t=window.getSelection(),w=0;w<r.length;w++)if(t.containsNode(r[w],!0)){temp=mxUtils.getCurrentStyle(r[w]);var n=Math.max(g(temp),n),x=h(n,temp,r[w]);if(x!=p||isNaN(x))p=""}null!=m&&(c(l[0],"bold"==m.fontWeight||400<m.fontWeight||e("B")||e("STRONG")),c(l[1],"italic"==m.fontStyle||e("I")||e("EM")),c(l[2],e("U")),c(D,e("SUP")),c(y,e("SUB")),b.cellEditor.isTableSelected()?(c(B,
-d(m.textAlign,"justify")),c(q,d(m.textAlign,"left")),c(u,d(m.textAlign,"center")),c(v,d(m.textAlign,"right"))):(e=b.cellEditor.align||mxUtils.getValue(f.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_CENTER),d(m.textAlign,"justify")?(c(B,d(m.textAlign,"justify")),c(q,!1),c(u,!1),c(v,!1)):(c(B,!1),c(q,e==mxConstants.ALIGN_LEFT),c(u,e==mxConstants.ALIGN_CENTER),c(v,e==mxConstants.ALIGN_RIGHT))),A=b.getParentByName(a,"TABLE",b.cellEditor.textarea),J=null==A?null:b.getParentByName(a,"TR",A),G=null==
-A?null:b.getParentByNames(a,["TD","TH"],A),E.style.display=null!=A?"":"none",document.activeElement!=K&&("FONT"==a.nodeName&&"4"==a.getAttribute("size")&&null!=I?(a.removeAttribute("size"),a.style.fontSize=I+" pt",I=null):K.value=isNaN(n)?"":n+" pt",x=parseFloat(p),isNaN(x)?ja.value="100 %":ja.value=Math.round(100*x)+" %"),d=m.color.replace(/\brgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/g,function(a,b,c,d){return"#"+("0"+Number(b).toString(16)).substr(-2)+("0"+Number(c).toString(16)).substr(-2)+
+n=g(m),p=h(n,m,a),q=a.getElementsByTagName("*");if(0<q.length&&window.getSelection&&!mxClient.IS_IE&&!mxClient.IS_IE11)for(var t=window.getSelection(),w=0;w<q.length;w++)if(t.containsNode(q[w],!0)){temp=mxUtils.getCurrentStyle(q[w]);var n=Math.max(g(temp),n),x=h(n,temp,q[w]);if(x!=p||isNaN(x))p=""}null!=m&&(c(l[0],"bold"==m.fontWeight||400<m.fontWeight||e("B")||e("STRONG")),c(l[1],"italic"==m.fontStyle||e("I")||e("EM")),c(l[2],e("U")),c(C,e("SUP")),c(y,e("SUB")),b.cellEditor.isTableSelected()?(c(B,
+d(m.textAlign,"justify")),c(r,d(m.textAlign,"left")),c(u,d(m.textAlign,"center")),c(v,d(m.textAlign,"right"))):(e=b.cellEditor.align||mxUtils.getValue(f.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_CENTER),d(m.textAlign,"justify")?(c(B,d(m.textAlign,"justify")),c(r,!1),c(u,!1),c(v,!1)):(c(B,!1),c(r,e==mxConstants.ALIGN_LEFT),c(u,e==mxConstants.ALIGN_CENTER),c(v,e==mxConstants.ALIGN_RIGHT))),A=b.getParentByName(a,"TABLE",b.cellEditor.textarea),J=null==A?null:b.getParentByName(a,"TR",A),G=null==
+A?null:b.getParentByNames(a,["TD","TH"],A),E.style.display=null!=A?"":"none",document.activeElement!=L&&("FONT"==a.nodeName&&"4"==a.getAttribute("size")&&null!=K?(a.removeAttribute("size"),a.style.fontSize=K+" pt",K=null):L.value=isNaN(n)?"":n+" pt",x=parseFloat(p),isNaN(x)?ja.value="100 %":ja.value=Math.round(100*x)+" %"),d=m.color.replace(/\brgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/g,function(a,b,c,d){return"#"+("0"+Number(b).toString(16)).substr(-2)+("0"+Number(c).toString(16)).substr(-2)+
 ("0"+Number(d).toString(16)).substr(-2)}),n=m.backgroundColor.replace(/\brgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/g,function(a,b,c,d){return"#"+("0"+Number(b).toString(16)).substr(-2)+("0"+Number(c).toString(16)).substr(-2)+("0"+Number(d).toString(16)).substr(-2)}),null!=da&&(z="#"==d.charAt(0)?d:"#000000",da(z,!0)),null!=N&&(T="#"==n.charAt(0)?n:null,N(T,!0)),null!=k.firstChild&&(m=m.fontFamily,"'"==m.charAt(0)&&(m=m.substring(1)),"'"==m.charAt(m.length-1)&&(m=m.substring(0,m.length-1)),'"'==
 m.charAt(0)&&(m=m.substring(1)),'"'==m.charAt(m.length-1)&&(m=m.substring(0,m.length-1)),k.firstChild.nodeValue=m))}ka=!1},0))};(mxClient.IS_FF||mxClient.IS_EDGE||mxClient.IS_IE||mxClient.IS_IE11)&&mxEvent.addListener(b.cellEditor.textarea,"DOMSubtreeModified",e);mxEvent.addListener(b.cellEditor.textarea,"input",e);mxEvent.addListener(b.cellEditor.textarea,"touchend",e);mxEvent.addListener(b.cellEditor.textarea,"mouseup",e);mxEvent.addListener(b.cellEditor.textarea,"keyup",e);this.listeners.push({destroy:function(){}});
 e()}return a};StyleFormatPanel=function(a,c,d){BaseFormatPanel.call(this,a,c,d);this.init()};mxUtils.extend(StyleFormatPanel,BaseFormatPanel);StyleFormatPanel.prototype.defaultStrokeColor="black";
@@ -2903,24 +2906,24 @@ null==a||a==mxConstants.NONE?"none":""}),e="image"==d.style.shape?mxConstants.ST
 e=0;e<g.length;e++){var k=document.createElement("option");k.setAttribute("value",g[e]);mxUtils.write(k,mxResources.get(g[e]));b.appendChild(k)}f.appendChild(b);var l=mxUtils.bind(this,function(){d=this.format.getSelectionState();var c=mxUtils.getValue(d.style,mxConstants.STYLE_GRADIENT_DIRECTION,mxConstants.DIRECTION_SOUTH);""==c&&(c=mxConstants.DIRECTION_SOUTH);b.value=c;a.style.display=d.fill?"":"none";c=mxUtils.getValue(d.style,mxConstants.STYLE_FILLCOLOR,null);f.style.display=!d.fill||d.containsImage||
 null==c||c==mxConstants.NONE||"filledEdge"==d.style.shape?"none":""});c.getModel().addListener(mxEvent.CHANGE,l);this.listeners.push({destroy:function(){c.getModel().removeListener(l)}});l();mxEvent.addListener(b,"change",function(a){c.setCellStyles(mxConstants.STYLE_GRADIENT_DIRECTION,b.value,c.getSelectionCells());mxEvent.consume(a)});a.appendChild(h);a.appendChild(f);h=this.getCustomColors();for(e=0;e<h.length;e++)a.appendChild(this.createCellColorOption(h[e].title,h[e].key,h[e].defaultValue));
 return a};StyleFormatPanel.prototype.getCustomColors=function(){var a=[];"swimlane"==this.format.getSelectionState().style.shape&&a.push({title:mxResources.get("laneColor"),key:"swimlaneFillColor",defaultValue:"#ffffff"});return a};
-StyleFormatPanel.prototype.addStroke=function(a){function c(a){var c=parseInt(r.value),c=Math.min(999,Math.max(1,isNaN(c)?1:c));c!=mxUtils.getValue(e.style,mxConstants.STYLE_STROKEWIDTH,1)&&(f.setCellStyles(mxConstants.STYLE_STROKEWIDTH,c,f.getSelectionCells()),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_STROKEWIDTH],"values",[c],"cells",f.getSelectionCells())));r.value=c+" pt";mxEvent.consume(a)}function d(a){var c=parseInt(w.value),c=Math.min(999,Math.max(1,isNaN(c)?1:
+StyleFormatPanel.prototype.addStroke=function(a){function c(a){var c=parseInt(q.value),c=Math.min(999,Math.max(1,isNaN(c)?1:c));c!=mxUtils.getValue(e.style,mxConstants.STYLE_STROKEWIDTH,1)&&(f.setCellStyles(mxConstants.STYLE_STROKEWIDTH,c,f.getSelectionCells()),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_STROKEWIDTH],"values",[c],"cells",f.getSelectionCells())));q.value=c+" pt";mxEvent.consume(a)}function d(a){var c=parseInt(w.value),c=Math.min(999,Math.max(1,isNaN(c)?1:
 c));c!=mxUtils.getValue(e.style,mxConstants.STYLE_STROKEWIDTH,1)&&(f.setCellStyles(mxConstants.STYLE_STROKEWIDTH,c,f.getSelectionCells()),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_STROKEWIDTH],"values",[c],"cells",f.getSelectionCells())));w.value=c+" pt";mxEvent.consume(a)}var b=this.editorUi,f=b.editor.graph,e=this.format.getSelectionState();a.style.paddingTop="4px";a.style.paddingBottom="4px";a.style.whiteSpace="normal";var h=document.createElement("div");h.style.fontWeight=
 "bold";var g=document.createElement("select");g.style.position="absolute";g.style.marginTop="-2px";g.style.right="72px";g.style.width="80px";for(var k=["sharp","rounded","curved"],l=0;l<k.length;l++){var m=document.createElement("option");m.setAttribute("value",k[l]);mxUtils.write(m,mxResources.get(k[l]));g.appendChild(m)}mxEvent.addListener(g,"change",function(a){f.getModel().beginUpdate();try{var c=[mxConstants.STYLE_ROUNDED,mxConstants.STYLE_CURVED],d=["0",null];"rounded"==g.value?d=["1",null]:
 "curved"==g.value&&(d=[null,"1"]);for(var e=0;e<c.length;e++)f.setCellStyles(c[e],d[e],f.getSelectionCells());b.fireEvent(new mxEventObject("styleChanged","keys",c,"values",d,"cells",f.getSelectionCells()))}finally{f.getModel().endUpdate()}mxEvent.consume(a)});mxEvent.addListener(g,"click",function(a){mxEvent.consume(a)});var n="image"==e.style.shape?mxConstants.STYLE_IMAGE_BORDER:mxConstants.STYLE_STROKECOLOR,k="image"==e.style.shape?mxResources.get("border"):mxResources.get("line"),k=this.createCellColorOption(k,
-n,"#000000");k.appendChild(g);h.appendChild(k);var p=h.cloneNode(!1);p.style.fontWeight="normal";p.style.whiteSpace="nowrap";p.style.position="relative";p.style.paddingLeft="16px";p.style.marginBottom="2px";p.style.marginTop="2px";p.className="geToolbarContainer";var q=mxUtils.bind(this,function(a,b,c,d,e){a=this.editorUi.menus.styleChange(a,"",d,e,"geIcon",null);d=document.createElement("div");d.style.width=b+"px";d.style.height="1px";d.style.borderBottom="1px "+c+" "+this.defaultStrokeColor;d.style.paddingTop=
-"6px";a.firstChild.firstChild.style.padding="0px 4px 0px 4px";a.firstChild.firstChild.style.width=b+"px";a.firstChild.firstChild.appendChild(d);return a}),l=this.editorUi.toolbar.addMenuFunctionInContainer(p,"geSprite-orthogonal",mxResources.get("pattern"),!1,mxUtils.bind(this,function(a){q(a,75,"solid",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],[null,null]).setAttribute("title",mxResources.get("solid"));q(a,75,"dashed",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1",
-null]).setAttribute("title",mxResources.get("dashed"));q(a,75,"dotted",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1","1 1"]).setAttribute("title",mxResources.get("dotted")+" (1)");q(a,75,"dotted",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1","1 2"]).setAttribute("title",mxResources.get("dotted")+" (2)");q(a,75,"dotted",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1","1 4"]).setAttribute("title",mxResources.get("dotted")+" (3)")})),u=p.cloneNode(!1),
+n,"#000000");k.appendChild(g);h.appendChild(k);var p=h.cloneNode(!1);p.style.fontWeight="normal";p.style.whiteSpace="nowrap";p.style.position="relative";p.style.paddingLeft="16px";p.style.marginBottom="2px";p.style.marginTop="2px";p.className="geToolbarContainer";var r=mxUtils.bind(this,function(a,b,c,d,e){a=this.editorUi.menus.styleChange(a,"",d,e,"geIcon",null);d=document.createElement("div");d.style.width=b+"px";d.style.height="1px";d.style.borderBottom="1px "+c+" "+this.defaultStrokeColor;d.style.paddingTop=
+"6px";a.firstChild.firstChild.style.padding="0px 4px 0px 4px";a.firstChild.firstChild.style.width=b+"px";a.firstChild.firstChild.appendChild(d);return a}),l=this.editorUi.toolbar.addMenuFunctionInContainer(p,"geSprite-orthogonal",mxResources.get("pattern"),!1,mxUtils.bind(this,function(a){r(a,75,"solid",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],[null,null]).setAttribute("title",mxResources.get("solid"));r(a,75,"dashed",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1",
+null]).setAttribute("title",mxResources.get("dashed"));r(a,75,"dotted",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1","1 1"]).setAttribute("title",mxResources.get("dotted")+" (1)");r(a,75,"dotted",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1","1 2"]).setAttribute("title",mxResources.get("dotted")+" (2)");r(a,75,"dotted",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1","1 4"]).setAttribute("title",mxResources.get("dotted")+" (3)")})),u=p.cloneNode(!1),
 v=this.editorUi.toolbar.addMenuFunctionInContainer(u,"geSprite-connection",mxResources.get("connection"),!1,mxUtils.bind(this,function(a){this.editorUi.menus.styleChange(a,"",[mxConstants.STYLE_SHAPE,mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE,"width"],[null,null,null,null],"geIcon geSprite geSprite-connection",null,!0).setAttribute("title",mxResources.get("line"));this.editorUi.menus.styleChange(a,"",[mxConstants.STYLE_SHAPE,mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE,"width"],
 ["link",null,null,null],"geIcon geSprite geSprite-linkedge",null,!0).setAttribute("title",mxResources.get("link"));this.editorUi.menus.styleChange(a,"",[mxConstants.STYLE_SHAPE,mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE,"width"],["flexArrow",null,null,null],"geIcon geSprite geSprite-arrow",null,!0).setAttribute("title",mxResources.get("arrow"));this.editorUi.menus.styleChange(a,"",[mxConstants.STYLE_SHAPE,mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE,"width"],["arrow",null,null,
-null],"geIcon geSprite geSprite-simplearrow",null,!0).setAttribute("title",mxResources.get("simpleArrow"))})),m=this.editorUi.toolbar.addMenuFunctionInContainer(u,"geSprite-orthogonal",mxResources.get("pattern"),!1,mxUtils.bind(this,function(a){q(a,33,"solid",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],[null,null]).setAttribute("title",mxResources.get("solid"));q(a,33,"dashed",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1",null]).setAttribute("title",mxResources.get("dashed"));
-q(a,33,"dotted",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1","1 1"]).setAttribute("title",mxResources.get("dotted")+" (1)");q(a,33,"dotted",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1","1 2"]).setAttribute("title",mxResources.get("dotted")+" (2)");q(a,33,"dotted",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1","1 4"]).setAttribute("title",mxResources.get("dotted")+" (3)")})),k=p.cloneNode(!1),r=document.createElement("input");r.style.textAlign="right";
-r.style.marginTop="2px";r.style.width="41px";r.setAttribute("title",mxResources.get("linewidth"));p.appendChild(r);var w=r.cloneNode(!0);u.appendChild(w);var t=this.createStepper(r,c,1,9);t.style.display=r.style.display;t.style.marginTop="2px";p.appendChild(t);var x=this.createStepper(w,d,1,9);x.style.display=w.style.display;x.style.marginTop="2px";u.appendChild(x);mxClient.IS_QUIRKS?(r.style.height="17px",w.style.height="17px"):(r.style.position="absolute",r.style.right="32px",r.style.height="15px",
-t.style.right="20px",w.style.position="absolute",w.style.right="32px",w.style.height="15px",x.style.right="20px");mxEvent.addListener(r,"blur",c);mxEvent.addListener(r,"change",c);mxEvent.addListener(w,"blur",d);mxEvent.addListener(w,"change",d);mxClient.IS_QUIRKS&&(mxUtils.br(k),mxUtils.br(k));var y=this.editorUi.toolbar.addMenuFunctionInContainer(k,"geSprite-orthogonal",mxResources.get("waypoints"),!1,mxUtils.bind(this,function(a){"arrow"!=e.style.shape&&(this.editorUi.menus.edgeStyleChange(a,"",
+null],"geIcon geSprite geSprite-simplearrow",null,!0).setAttribute("title",mxResources.get("simpleArrow"))})),m=this.editorUi.toolbar.addMenuFunctionInContainer(u,"geSprite-orthogonal",mxResources.get("pattern"),!1,mxUtils.bind(this,function(a){r(a,33,"solid",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],[null,null]).setAttribute("title",mxResources.get("solid"));r(a,33,"dashed",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1",null]).setAttribute("title",mxResources.get("dashed"));
+r(a,33,"dotted",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1","1 1"]).setAttribute("title",mxResources.get("dotted")+" (1)");r(a,33,"dotted",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1","1 2"]).setAttribute("title",mxResources.get("dotted")+" (2)");r(a,33,"dotted",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1","1 4"]).setAttribute("title",mxResources.get("dotted")+" (3)")})),k=p.cloneNode(!1),q=document.createElement("input");q.style.textAlign="right";
+q.style.marginTop="2px";q.style.width="41px";q.setAttribute("title",mxResources.get("linewidth"));p.appendChild(q);var w=q.cloneNode(!0);u.appendChild(w);var t=this.createStepper(q,c,1,9);t.style.display=q.style.display;t.style.marginTop="2px";p.appendChild(t);var x=this.createStepper(w,d,1,9);x.style.display=w.style.display;x.style.marginTop="2px";u.appendChild(x);mxClient.IS_QUIRKS?(q.style.height="17px",w.style.height="17px"):(q.style.position="absolute",q.style.right="32px",q.style.height="15px",
+t.style.right="20px",w.style.position="absolute",w.style.right="32px",w.style.height="15px",x.style.right="20px");mxEvent.addListener(q,"blur",c);mxEvent.addListener(q,"change",c);mxEvent.addListener(w,"blur",d);mxEvent.addListener(w,"change",d);mxClient.IS_QUIRKS&&(mxUtils.br(k),mxUtils.br(k));var y=this.editorUi.toolbar.addMenuFunctionInContainer(k,"geSprite-orthogonal",mxResources.get("waypoints"),!1,mxUtils.bind(this,function(a){"arrow"!=e.style.shape&&(this.editorUi.menus.edgeStyleChange(a,"",
 [mxConstants.STYLE_EDGE,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE],[null,null,null],"geIcon geSprite geSprite-straight",null,!0).setAttribute("title",mxResources.get("straight")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_EDGE,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE],["orthogonalEdgeStyle",null,null],"geIcon geSprite geSprite-orthogonal",null,!0).setAttribute("title",mxResources.get("orthogonal")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_EDGE,
 mxConstants.STYLE_ELBOW,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE],["elbowEdgeStyle",null,null,null],"geIcon geSprite geSprite-horizontalelbow",null,!0).setAttribute("title",mxResources.get("simple")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_EDGE,mxConstants.STYLE_ELBOW,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE],["elbowEdgeStyle","vertical",null,null],"geIcon geSprite geSprite-verticalelbow",null,!0).setAttribute("title",mxResources.get("simple")),this.editorUi.menus.edgeStyleChange(a,
 "",[mxConstants.STYLE_EDGE,mxConstants.STYLE_ELBOW,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE],["isometricEdgeStyle",null,null,null],"geIcon geSprite geSprite-horizontalisometric",null,!0).setAttribute("title",mxResources.get("isometric")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_EDGE,mxConstants.STYLE_ELBOW,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE],["isometricEdgeStyle","vertical",null,null],"geIcon geSprite geSprite-verticalisometric",null,!0).setAttribute("title",
 mxResources.get("isometric")),"connector"==e.style.shape&&this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_EDGE,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE],["orthogonalEdgeStyle","1",null],"geIcon geSprite geSprite-curved",null,!0).setAttribute("title",mxResources.get("curved")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_EDGE,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE],["entityRelationEdgeStyle",null,null],"geIcon geSprite geSprite-entity",null,
-!0).setAttribute("title",mxResources.get("entityRelation")))})),D=this.editorUi.toolbar.addMenuFunctionInContainer(k,"geSprite-startclassic",mxResources.get("linestart"),!1,mxUtils.bind(this,function(a){if("connector"==e.style.shape||"flexArrow"==e.style.shape||"filledEdge"==e.style.shape){var b=this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.NONE,0],"geIcon",null,!1);b.setAttribute("title",mxResources.get("none"));b.firstChild.firstChild.innerHTML=
+!0).setAttribute("title",mxResources.get("entityRelation")))})),C=this.editorUi.toolbar.addMenuFunctionInContainer(k,"geSprite-startclassic",mxResources.get("linestart"),!1,mxUtils.bind(this,function(a){if("connector"==e.style.shape||"flexArrow"==e.style.shape||"filledEdge"==e.style.shape){var b=this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.NONE,0],"geIcon",null,!1);b.setAttribute("title",mxResources.get("none"));b.firstChild.firstChild.innerHTML=
 '<font style="font-size:10px;">'+mxUtils.htmlEntities(mxResources.get("none"))+"</font>";"connector"==e.style.shape||"filledEdge"==e.style.shape?(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.ARROW_CLASSIC,1],"geIcon geSprite geSprite-startclassic",null,!1).setAttribute("title",mxResources.get("classic")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.ARROW_CLASSIC_THIN,1],"geIcon geSprite geSprite-startclassicthin",
 null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.ARROW_OPEN,0],"geIcon geSprite geSprite-startopen",null,!1).setAttribute("title",mxResources.get("openArrow")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.ARROW_OPEN_THIN,0],"geIcon geSprite geSprite-startopenthin",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],["openAsync",0],"geIcon geSprite geSprite-startopenasync",
 null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.ARROW_BLOCK,1],"geIcon geSprite geSprite-startblock",null,!1).setAttribute("title",mxResources.get("block")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.ARROW_BLOCK_THIN,1],"geIcon geSprite geSprite-startblockthin",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],["async",1],"geIcon geSprite geSprite-startasync",
@@ -2942,21 +2945,21 @@ mxResources.get("classic")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstant
 0],"geIcon geSprite geSprite-enddiamondtrans",null,!1).setAttribute("title",mxResources.get("diamond")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_DIAMOND_THIN,0],"geIcon geSprite geSprite-endthindiamondtrans",null,!1).setAttribute("title",mxResources.get("diamondThin")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["dash",0],"geIcon geSprite geSprite-enddash",null,!1),this.editorUi.menus.edgeStyleChange(a,
 "",[mxConstants.STYLE_ENDARROW,"endFill"],["cross",0],"geIcon geSprite geSprite-endcross",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["circlePlus",0],"geIcon geSprite geSprite-endcircleplus",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["circle",1],"geIcon geSprite geSprite-endcircle",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["ERone",0],"geIcon geSprite geSprite-enderone",
 null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["ERmandOne",0],"geIcon geSprite geSprite-enderonetoone",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["ERmany",0],"geIcon geSprite geSprite-endermany",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["ERoneToMany",0],"geIcon geSprite geSprite-enderonetomany",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,
-"endFill"],["ERzeroToOne",1],"geIcon geSprite geSprite-enderoneopt",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["ERzeroToMany",1],"geIcon geSprite geSprite-endermanyopt",null,!1)):this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW],[mxConstants.ARROW_BLOCK],"geIcon geSprite geSprite-endblocktrans",null,!1).setAttribute("title",mxResources.get("block"))}}));this.addArrow(v,8);this.addArrow(y);this.addArrow(D);this.addArrow(B);t=this.addArrow(l,
+"endFill"],["ERzeroToOne",1],"geIcon geSprite geSprite-enderoneopt",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["ERzeroToMany",1],"geIcon geSprite geSprite-endermanyopt",null,!1)):this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW],[mxConstants.ARROW_BLOCK],"geIcon geSprite geSprite-endblocktrans",null,!1).setAttribute("title",mxResources.get("block"))}}));this.addArrow(v,8);this.addArrow(y);this.addArrow(C);this.addArrow(B);t=this.addArrow(l,
 9);t.className="geIcon";t.style.width="84px";x=this.addArrow(m,9);x.className="geIcon";x.style.width="22px";var E=document.createElement("div");E.style.width="85px";E.style.height="1px";E.style.borderBottom="1px solid "+this.defaultStrokeColor;E.style.marginBottom="9px";t.appendChild(E);var A=document.createElement("div");A.style.width="23px";A.style.height="1px";A.style.borderBottom="1px solid "+this.defaultStrokeColor;A.style.marginBottom="9px";x.appendChild(A);l.style.height="15px";m.style.height=
-"15px";v.style.height="15px";y.style.height="17px";D.style.marginLeft="3px";D.style.height="17px";B.style.marginLeft="3px";B.style.height="17px";a.appendChild(h);a.appendChild(u);a.appendChild(p);l=p.cloneNode(!1);l.style.paddingBottom="6px";l.style.paddingTop="4px";l.style.fontWeight="normal";m=document.createElement("div");m.style.position="absolute";m.style.marginLeft="3px";m.style.marginBottom="12px";m.style.marginTop="2px";m.style.fontWeight="normal";m.style.width="76px";mxUtils.write(m,mxResources.get("lineend"));
-l.appendChild(m);var G,J,H=this.addUnitInput(l,"pt",74,33,function(){G.apply(this,arguments)}),L=this.addUnitInput(l,"pt",20,33,function(){J.apply(this,arguments)});mxUtils.br(l);t=document.createElement("div");t.style.height="8px";l.appendChild(t);m=m.cloneNode(!1);mxUtils.write(m,mxResources.get("linestart"));l.appendChild(m);var F,P,R=this.addUnitInput(l,"pt",74,33,function(){F.apply(this,arguments)}),S=this.addUnitInput(l,"pt",20,33,function(){P.apply(this,arguments)});mxUtils.br(l);this.addLabel(l,
+"15px";v.style.height="15px";y.style.height="17px";C.style.marginLeft="3px";C.style.height="17px";B.style.marginLeft="3px";B.style.height="17px";a.appendChild(h);a.appendChild(u);a.appendChild(p);l=p.cloneNode(!1);l.style.paddingBottom="6px";l.style.paddingTop="4px";l.style.fontWeight="normal";m=document.createElement("div");m.style.position="absolute";m.style.marginLeft="3px";m.style.marginBottom="12px";m.style.marginTop="2px";m.style.fontWeight="normal";m.style.width="76px";mxUtils.write(m,mxResources.get("lineend"));
+l.appendChild(m);var G,J,I=this.addUnitInput(l,"pt",74,33,function(){G.apply(this,arguments)}),M=this.addUnitInput(l,"pt",20,33,function(){J.apply(this,arguments)});mxUtils.br(l);t=document.createElement("div");t.style.height="8px";l.appendChild(t);m=m.cloneNode(!1);mxUtils.write(m,mxResources.get("linestart"));l.appendChild(m);var F,P,R=this.addUnitInput(l,"pt",74,33,function(){F.apply(this,arguments)}),S=this.addUnitInput(l,"pt",20,33,function(){P.apply(this,arguments)});mxUtils.br(l);this.addLabel(l,
 mxResources.get("spacing"),74,50);this.addLabel(l,mxResources.get("size"),20,50);mxUtils.br(l);h=h.cloneNode(!1);h.style.fontWeight="normal";h.style.position="relative";h.style.paddingLeft="16px";h.style.marginBottom="2px";h.style.marginTop="6px";h.style.borderWidth="0px";h.style.paddingBottom="18px";m=document.createElement("div");m.style.position="absolute";m.style.marginLeft="3px";m.style.marginBottom="12px";m.style.marginTop="1px";m.style.fontWeight="normal";m.style.width="120px";mxUtils.write(m,
-mxResources.get("perimeter"));h.appendChild(m);var K,I=this.addUnitInput(h,"pt",20,41,function(){K.apply(this,arguments)});e.edges.length==f.getSelectionCount()?(a.appendChild(k),mxClient.IS_QUIRKS&&(mxUtils.br(a),mxUtils.br(a)),a.appendChild(l)):e.vertices.length==f.getSelectionCount()&&(mxClient.IS_QUIRKS&&mxUtils.br(a),a.appendChild(h));var N=mxUtils.bind(this,function(a,c,d){function h(a,c,d,g){d=d.getElementsByTagName("div")[0];d.className=b.getCssClassForMarker(g,e.style.shape,a,c);"geSprite geSprite-noarrow"==
-d.className&&(d.innerHTML=mxUtils.htmlEntities(mxResources.get("none")),d.style.backgroundImage="none",d.style.verticalAlign="top",d.style.marginTop="5px",d.style.fontSize="10px",d.style.filter="none",d.style.color=this.defaultStrokeColor,d.nextSibling.style.marginTop="0px");return d}e=this.format.getSelectionState();mxUtils.getValue(e.style,n,null);if(d||document.activeElement!=r)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_STROKEWIDTH,1)),r.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=
+mxResources.get("perimeter"));h.appendChild(m);var L,K=this.addUnitInput(h,"pt",20,41,function(){L.apply(this,arguments)});e.edges.length==f.getSelectionCount()?(a.appendChild(k),mxClient.IS_QUIRKS&&(mxUtils.br(a),mxUtils.br(a)),a.appendChild(l)):e.vertices.length==f.getSelectionCount()&&(mxClient.IS_QUIRKS&&mxUtils.br(a),a.appendChild(h));var N=mxUtils.bind(this,function(a,c,d){function h(a,c,d,g){d=d.getElementsByTagName("div")[0];d.className=b.getCssClassForMarker(g,e.style.shape,a,c);"geSprite geSprite-noarrow"==
+d.className&&(d.innerHTML=mxUtils.htmlEntities(mxResources.get("none")),d.style.backgroundImage="none",d.style.verticalAlign="top",d.style.marginTop="5px",d.style.fontSize="10px",d.style.filter="none",d.style.color=this.defaultStrokeColor,d.nextSibling.style.marginTop="0px");return d}e=this.format.getSelectionState();mxUtils.getValue(e.style,n,null);if(d||document.activeElement!=q)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_STROKEWIDTH,1)),q.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=
 w)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_STROKEWIDTH,1)),w.value=isNaN(a)?"":a+" pt";g.style.visibility="connector"==e.style.shape||"filledEdge"==e.style.shape?"":"hidden";"1"==mxUtils.getValue(e.style,mxConstants.STYLE_CURVED,null)?g.value="curved":"1"==mxUtils.getValue(e.style,mxConstants.STYLE_ROUNDED,null)&&(g.value="rounded");"1"==mxUtils.getValue(e.style,mxConstants.STYLE_DASHED,null)?null==mxUtils.getValue(e.style,mxConstants.STYLE_DASH_PATTERN,null)?E.style.borderBottom="1px dashed "+
 this.defaultStrokeColor:E.style.borderBottom="1px dotted "+this.defaultStrokeColor:E.style.borderBottom="1px solid "+this.defaultStrokeColor;A.style.borderBottom=E.style.borderBottom;a=y.getElementsByTagName("div")[0];c=mxUtils.getValue(e.style,mxConstants.STYLE_EDGE,null);"1"==mxUtils.getValue(e.style,mxConstants.STYLE_NOEDGESTYLE,null)&&(c=null);"orthogonalEdgeStyle"==c&&"1"==mxUtils.getValue(e.style,mxConstants.STYLE_CURVED,null)?a.className="geSprite geSprite-curved":a.className="straight"==c||
 "none"==c||null==c?"geSprite geSprite-straight":"entityRelationEdgeStyle"==c?"geSprite geSprite-entity":"elbowEdgeStyle"==c?"geSprite "+("vertical"==mxUtils.getValue(e.style,mxConstants.STYLE_ELBOW,null)?"geSprite-verticalelbow":"geSprite-horizontalelbow"):"isometricEdgeStyle"==c?"geSprite "+("vertical"==mxUtils.getValue(e.style,mxConstants.STYLE_ELBOW,null)?"geSprite-verticalisometric":"geSprite-horizontalisometric"):"geSprite geSprite-orthogonal";v.getElementsByTagName("div")[0].className="link"==
-e.style.shape?"geSprite geSprite-linkedge":"flexArrow"==e.style.shape?"geSprite geSprite-arrow":"arrow"==e.style.shape?"geSprite geSprite-simplearrow":"geSprite geSprite-connection";e.edges.length==f.getSelectionCount()?(u.style.display="",p.style.display="none"):(u.style.display="none",p.style.display="");a=h(mxUtils.getValue(e.style,mxConstants.STYLE_STARTARROW,null),mxUtils.getValue(e.style,"startFill","1"),D,"start");c=h(mxUtils.getValue(e.style,mxConstants.STYLE_ENDARROW,null),mxUtils.getValue(e.style,
-"endFill","1"),B,"end");"arrow"==e.style.shape?(a.className="geSprite geSprite-noarrow",c.className="geSprite geSprite-endblocktrans"):"link"==e.style.shape&&(a.className="geSprite geSprite-noarrow",c.className="geSprite geSprite-noarrow");mxUtils.setOpacity(y,"arrow"==e.style.shape?30:100);"connector"!=e.style.shape&&"flexArrow"!=e.style.shape&&"filledEdge"!=e.style.shape?(mxUtils.setOpacity(D,30),mxUtils.setOpacity(B,30)):(mxUtils.setOpacity(D,100),mxUtils.setOpacity(B,100));if(d||document.activeElement!=
-S)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_MARKERSIZE)),S.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=R)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_SOURCE_PERIMETER_SPACING,0)),R.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=L)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_ENDSIZE,mxConstants.DEFAULT_MARKERSIZE)),L.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=R)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_TARGET_PERIMETER_SPACING,
-0)),H.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=I)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_PERIMETER_SPACING,0)),I.value=isNaN(a)?"":a+" pt"});P=this.installInputHandler(S,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_MARKERSIZE,0,999," pt");F=this.installInputHandler(R,mxConstants.STYLE_SOURCE_PERIMETER_SPACING,0,-999,999," pt");J=this.installInputHandler(L,mxConstants.STYLE_ENDSIZE,mxConstants.DEFAULT_MARKERSIZE,0,999," pt");G=this.installInputHandler(H,mxConstants.STYLE_TARGET_PERIMETER_SPACING,
-0,-999,999," pt");K=this.installInputHandler(I,mxConstants.STYLE_PERIMETER_SPACING,0,0,999," pt");this.addKeyHandler(r,N);this.addKeyHandler(S,N);this.addKeyHandler(R,N);this.addKeyHandler(L,N);this.addKeyHandler(H,N);this.addKeyHandler(I,N);f.getModel().addListener(mxEvent.CHANGE,N);this.listeners.push({destroy:function(){f.getModel().removeListener(N)}});N();return a};
+e.style.shape?"geSprite geSprite-linkedge":"flexArrow"==e.style.shape?"geSprite geSprite-arrow":"arrow"==e.style.shape?"geSprite geSprite-simplearrow":"geSprite geSprite-connection";e.edges.length==f.getSelectionCount()?(u.style.display="",p.style.display="none"):(u.style.display="none",p.style.display="");a=h(mxUtils.getValue(e.style,mxConstants.STYLE_STARTARROW,null),mxUtils.getValue(e.style,"startFill","1"),C,"start");c=h(mxUtils.getValue(e.style,mxConstants.STYLE_ENDARROW,null),mxUtils.getValue(e.style,
+"endFill","1"),B,"end");"arrow"==e.style.shape?(a.className="geSprite geSprite-noarrow",c.className="geSprite geSprite-endblocktrans"):"link"==e.style.shape&&(a.className="geSprite geSprite-noarrow",c.className="geSprite geSprite-noarrow");mxUtils.setOpacity(y,"arrow"==e.style.shape?30:100);"connector"!=e.style.shape&&"flexArrow"!=e.style.shape&&"filledEdge"!=e.style.shape?(mxUtils.setOpacity(C,30),mxUtils.setOpacity(B,30)):(mxUtils.setOpacity(C,100),mxUtils.setOpacity(B,100));if(d||document.activeElement!=
+S)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_MARKERSIZE)),S.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=R)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_SOURCE_PERIMETER_SPACING,0)),R.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=M)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_ENDSIZE,mxConstants.DEFAULT_MARKERSIZE)),M.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=R)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_TARGET_PERIMETER_SPACING,
+0)),I.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=K)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_PERIMETER_SPACING,0)),K.value=isNaN(a)?"":a+" pt"});P=this.installInputHandler(S,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_MARKERSIZE,0,999," pt");F=this.installInputHandler(R,mxConstants.STYLE_SOURCE_PERIMETER_SPACING,0,-999,999," pt");J=this.installInputHandler(M,mxConstants.STYLE_ENDSIZE,mxConstants.DEFAULT_MARKERSIZE,0,999," pt");G=this.installInputHandler(I,mxConstants.STYLE_TARGET_PERIMETER_SPACING,
+0,-999,999," pt");L=this.installInputHandler(K,mxConstants.STYLE_PERIMETER_SPACING,0,0,999," pt");this.addKeyHandler(q,N);this.addKeyHandler(S,N);this.addKeyHandler(R,N);this.addKeyHandler(M,N);this.addKeyHandler(I,N);this.addKeyHandler(K,N);f.getModel().addListener(mxEvent.CHANGE,N);this.listeners.push({destroy:function(){f.getModel().removeListener(N)}});N();return a};
 StyleFormatPanel.prototype.addLineJumps=function(a){var c=this.format.getSelectionState();if(Graph.lineJumpsEnabled&&0<c.edges.length&&0==c.vertices.length&&c.lineJumps){a.style.padding="8px 0px 24px 18px";var d=this.editorUi,b=d.editor.graph,f=document.createElement("div");f.style.position="absolute";f.style.fontWeight="bold";f.style.width="80px";mxUtils.write(f,mxResources.get("lineJumps"));a.appendChild(f);var e=document.createElement("select");e.style.position="absolute";e.style.marginTop="-2px";
 e.style.right="76px";e.style.width="62px";for(var f=["none","arc","gap","sharp"],h=0;h<f.length;h++){var g=document.createElement("option");g.setAttribute("value",f[h]);mxUtils.write(g,mxResources.get(f[h]));e.appendChild(g)}mxEvent.addListener(e,"change",function(a){b.getModel().beginUpdate();try{b.setCellStyles("jumpStyle",e.value,b.getSelectionCells()),d.fireEvent(new mxEventObject("styleChanged","keys",["jumpStyle"],"values",[e.value],"cells",b.getSelectionCells()))}finally{b.getModel().endUpdate()}mxEvent.consume(a)});
 mxEvent.addListener(e,"click",function(a){mxEvent.consume(a)});a.appendChild(e);var k,l=this.addUnitInput(a,"pt",22,33,function(){k.apply(this,arguments)});k=this.installInputHandler(l,"jumpSize",Graph.defaultJumpSize,0,999," pt");var m=mxUtils.bind(this,function(a,b,d){c=this.format.getSelectionState();e.value=mxUtils.getValue(c.style,"jumpStyle","none");if(d||document.activeElement!=l)a=parseInt(mxUtils.getValue(c.style,"jumpSize",Graph.defaultJumpSize)),l.value=isNaN(a)?"":a+" pt"});this.addKeyHandler(l,
@@ -2981,14 +2984,14 @@ DiagramFormatPanel.prototype.addDocumentProperties=function(a){a.appendChild(thi
 DiagramFormatPanel.prototype.addPaperSize=function(a){var c=this.editorUi,d=c.editor.graph;a.appendChild(this.createTitle(mxResources.get("paperSize")));var b=PageSetupDialog.addPageFormatPanel(a,"formatpanel",d.pageFormat,function(a){if(null==d.pageFormat||d.pageFormat.width!=a.width||d.pageFormat.height!=a.height)a=new ChangePageSetup(c,null,null,a),a.ignoreColor=!0,a.ignoreImage=!0,d.model.execute(a)});this.addKeyHandler(b.widthInput,function(){b.set(d.pageFormat)});this.addKeyHandler(b.heightInput,
 function(){b.set(d.pageFormat)});var f=function(){b.set(d.pageFormat)};c.addListener("pageFormatChanged",f);this.listeners.push({destroy:function(){c.removeListener(f)}});d.getModel().addListener(mxEvent.CHANGE,f);this.listeners.push({destroy:function(){d.getModel().removeListener(f)}});return a};
 DiagramFormatPanel.prototype.addStyleOps=function(a){var c=mxUtils.button(mxResources.get("editData"),mxUtils.bind(this,function(a){this.editorUi.actions.get("editData").funct()}));c.setAttribute("title",mxResources.get("editData")+" ("+this.editorUi.actions.get("editData").shortcut+")");c.style.width="202px";c.style.marginBottom="2px";a.appendChild(c);mxUtils.br(a);c=mxUtils.button(mxResources.get("clearDefaultStyle"),mxUtils.bind(this,function(a){this.editorUi.actions.get("clearDefaultStyle").funct()}));
-c.setAttribute("title",mxResources.get("clearDefaultStyle")+" ("+this.editorUi.actions.get("clearDefaultStyle").shortcut+")");c.style.width="202px";a.appendChild(c);return a};DiagramFormatPanel.prototype.destroy=function(){BaseFormatPanel.prototype.destroy.apply(this,arguments);this.gridEnabledListener&&(this.editorUi.removeListener(this.gridEnabledListener),this.gridEnabledListener=null)};(function(){function a(){mxCylinder.call(this)}function c(){mxActor.call(this)}function d(){mxCylinder.call(this)}function b(){mxCylinder.call(this)}function f(){mxCylinder.call(this)}function e(){mxActor.call(this)}function h(){mxCylinder.call(this)}function g(){mxActor.call(this)}function k(){mxActor.call(this)}function l(){mxActor.call(this)}function m(){mxActor.call(this)}function n(){mxActor.call(this)}function p(){mxActor.call(this)}function q(){mxActor.call(this)}function u(a,b){this.canvas=
+c.setAttribute("title",mxResources.get("clearDefaultStyle")+" ("+this.editorUi.actions.get("clearDefaultStyle").shortcut+")");c.style.width="202px";a.appendChild(c);return a};DiagramFormatPanel.prototype.destroy=function(){BaseFormatPanel.prototype.destroy.apply(this,arguments);this.gridEnabledListener&&(this.editorUi.removeListener(this.gridEnabledListener),this.gridEnabledListener=null)};(function(){function a(){mxCylinder.call(this)}function c(){mxActor.call(this)}function d(){mxCylinder.call(this)}function b(){mxCylinder.call(this)}function f(){mxCylinder.call(this)}function e(){mxActor.call(this)}function h(){mxCylinder.call(this)}function g(){mxActor.call(this)}function k(){mxActor.call(this)}function l(){mxActor.call(this)}function m(){mxActor.call(this)}function n(){mxActor.call(this)}function p(){mxActor.call(this)}function r(){mxActor.call(this)}function u(a,b){this.canvas=
 a;this.canvas.setLineJoin("round");this.canvas.setLineCap("round");this.defaultVariation=b;this.originalLineTo=this.canvas.lineTo;this.canvas.lineTo=mxUtils.bind(this,u.prototype.lineTo);this.originalMoveTo=this.canvas.moveTo;this.canvas.moveTo=mxUtils.bind(this,u.prototype.moveTo);this.originalClose=this.canvas.close;this.canvas.close=mxUtils.bind(this,u.prototype.close);this.originalQuadTo=this.canvas.quadTo;this.canvas.quadTo=mxUtils.bind(this,u.prototype.quadTo);this.originalCurveTo=this.canvas.curveTo;
-this.canvas.curveTo=mxUtils.bind(this,u.prototype.curveTo);this.originalArcTo=this.canvas.arcTo;this.canvas.arcTo=mxUtils.bind(this,u.prototype.arcTo)}function v(){mxRectangleShape.call(this)}function r(){mxRectangleShape.call(this)}function w(){mxActor.call(this)}function t(){mxActor.call(this)}function x(){mxActor.call(this)}function y(){mxRectangleShape.call(this)}function D(){mxRectangleShape.call(this)}function B(){mxCylinder.call(this)}function E(){mxShape.call(this)}function A(){mxShape.call(this)}
-function G(){mxEllipse.call(this)}function J(){mxShape.call(this)}function H(){mxShape.call(this)}function L(){mxRectangleShape.call(this)}function F(){mxShape.call(this)}function P(){mxShape.call(this)}function R(){mxShape.call(this)}function S(){mxShape.call(this)}function K(){mxShape.call(this)}function I(){mxCylinder.call(this)}function N(){mxRectangleShape.call(this)}function T(){mxDoubleEllipse.call(this)}function da(){mxDoubleEllipse.call(this)}function z(){mxArrowConnector.call(this);this.spacing=
-0}function M(){mxArrowConnector.call(this);this.spacing=0}function Q(){mxActor.call(this)}function U(){mxRectangleShape.call(this)}function V(){mxActor.call(this)}function ia(){mxActor.call(this)}function aa(){mxActor.call(this)}function W(){mxActor.call(this)}function ea(){mxActor.call(this)}function ca(){mxActor.call(this)}function fa(){mxActor.call(this)}function ga(){mxActor.call(this)}function ba(){mxActor.call(this)}function Z(){mxActor.call(this)}function ja(){mxEllipse.call(this)}function Y(){mxEllipse.call(this)}
-function ka(){mxEllipse.call(this)}function X(){mxRhombus.call(this)}function Aa(){mxEllipse.call(this)}function Ba(){mxEllipse.call(this)}function Ca(){mxEllipse.call(this)}function va(){mxEllipse.call(this)}function wa(){mxActor.call(this)}function oa(){mxActor.call(this)}function pa(){mxActor.call(this)}function na(){mxConnector.call(this)}function Ga(a,b,c,d,e,g,f,h,k,l){f+=k;var C=d.clone();d.x-=e*(2*f+k);d.y-=g*(2*f+k);e*=f+k;g*=f+k;return function(){a.ellipse(C.x-e-f,C.y-g-f,2*f,2*f);l?a.fillAndStroke():
-a.stroke()}}mxUtils.extend(a,mxCylinder);a.prototype.size=20;a.prototype.darkOpacity=0;a.prototype.darkOpacity2=0;a.prototype.paintVertexShape=function(a,b,c,d,e){var g=Math.max(0,Math.min(d,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size))))),f=Math.max(-1,Math.min(1,parseFloat(mxUtils.getValue(this.style,"darkOpacity",this.darkOpacity)))),C=Math.max(-1,Math.min(1,parseFloat(mxUtils.getValue(this.style,"darkOpacity2",this.darkOpacity2))));a.translate(b,c);a.begin();a.moveTo(0,
-0);a.lineTo(d-g,0);a.lineTo(d,g);a.lineTo(d,e);a.lineTo(g,e);a.lineTo(0,e-g);a.lineTo(0,0);a.close();a.end();a.fillAndStroke();this.outline||(a.setShadow(!1),0!=f&&(a.setFillAlpha(Math.abs(f)),a.setFillColor(0>f?"#FFFFFF":"#000000"),a.begin(),a.moveTo(0,0),a.lineTo(d-g,0),a.lineTo(d,g),a.lineTo(g,g),a.close(),a.fill()),0!=C&&(a.setFillAlpha(Math.abs(C)),a.setFillColor(0>C?"#FFFFFF":"#000000"),a.begin(),a.moveTo(0,0),a.lineTo(g,g),a.lineTo(g,e),a.lineTo(0,e-g),a.close(),a.fill()),a.begin(),a.moveTo(g,
+this.canvas.curveTo=mxUtils.bind(this,u.prototype.curveTo);this.originalArcTo=this.canvas.arcTo;this.canvas.arcTo=mxUtils.bind(this,u.prototype.arcTo)}function v(){mxRectangleShape.call(this)}function q(){mxRectangleShape.call(this)}function w(){mxActor.call(this)}function t(){mxActor.call(this)}function x(){mxActor.call(this)}function y(){mxRectangleShape.call(this)}function C(){mxRectangleShape.call(this)}function B(){mxCylinder.call(this)}function E(){mxShape.call(this)}function A(){mxShape.call(this)}
+function G(){mxEllipse.call(this)}function J(){mxShape.call(this)}function I(){mxShape.call(this)}function M(){mxRectangleShape.call(this)}function F(){mxShape.call(this)}function P(){mxShape.call(this)}function R(){mxShape.call(this)}function S(){mxShape.call(this)}function L(){mxShape.call(this)}function K(){mxCylinder.call(this)}function N(){mxRectangleShape.call(this)}function T(){mxDoubleEllipse.call(this)}function da(){mxDoubleEllipse.call(this)}function z(){mxArrowConnector.call(this);this.spacing=
+0}function H(){mxArrowConnector.call(this);this.spacing=0}function Q(){mxActor.call(this)}function U(){mxRectangleShape.call(this)}function V(){mxActor.call(this)}function ia(){mxActor.call(this)}function aa(){mxActor.call(this)}function W(){mxActor.call(this)}function ea(){mxActor.call(this)}function ca(){mxActor.call(this)}function fa(){mxActor.call(this)}function ga(){mxActor.call(this)}function ba(){mxActor.call(this)}function Z(){mxActor.call(this)}function ja(){mxEllipse.call(this)}function Y(){mxEllipse.call(this)}
+function ka(){mxEllipse.call(this)}function X(){mxRhombus.call(this)}function Aa(){mxEllipse.call(this)}function Ba(){mxEllipse.call(this)}function Ca(){mxEllipse.call(this)}function va(){mxEllipse.call(this)}function wa(){mxActor.call(this)}function oa(){mxActor.call(this)}function pa(){mxActor.call(this)}function na(){mxConnector.call(this)}function Ga(a,b,c,d,e,g,f,h,k,l){f+=k;var D=d.clone();d.x-=e*(2*f+k);d.y-=g*(2*f+k);e*=f+k;g*=f+k;return function(){a.ellipse(D.x-e-f,D.y-g-f,2*f,2*f);l?a.fillAndStroke():
+a.stroke()}}mxUtils.extend(a,mxCylinder);a.prototype.size=20;a.prototype.darkOpacity=0;a.prototype.darkOpacity2=0;a.prototype.paintVertexShape=function(a,b,c,d,e){var g=Math.max(0,Math.min(d,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size))))),f=Math.max(-1,Math.min(1,parseFloat(mxUtils.getValue(this.style,"darkOpacity",this.darkOpacity)))),D=Math.max(-1,Math.min(1,parseFloat(mxUtils.getValue(this.style,"darkOpacity2",this.darkOpacity2))));a.translate(b,c);a.begin();a.moveTo(0,
+0);a.lineTo(d-g,0);a.lineTo(d,g);a.lineTo(d,e);a.lineTo(g,e);a.lineTo(0,e-g);a.lineTo(0,0);a.close();a.end();a.fillAndStroke();this.outline||(a.setShadow(!1),0!=f&&(a.setFillAlpha(Math.abs(f)),a.setFillColor(0>f?"#FFFFFF":"#000000"),a.begin(),a.moveTo(0,0),a.lineTo(d-g,0),a.lineTo(d,g),a.lineTo(g,g),a.close(),a.fill()),0!=D&&(a.setFillAlpha(Math.abs(D)),a.setFillColor(0>D?"#FFFFFF":"#000000"),a.begin(),a.moveTo(0,0),a.lineTo(g,g),a.lineTo(g,e),a.lineTo(0,e-g),a.close(),a.fill()),a.begin(),a.moveTo(g,
 e),a.lineTo(g,g),a.lineTo(0,0),a.moveTo(g,g),a.lineTo(d,g),a.end(),a.stroke())};a.prototype.getLabelMargins=function(a){return mxUtils.getValue(this.style,"boundedLbl",!1)?(a=parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale,new mxRectangle(a,a,0,0)):null};mxCellRenderer.registerShape("cube",a);var Da=Math.tan(mxUtils.toRadians(30)),ma=(.5-Da)/2;mxUtils.extend(c,mxActor);c.prototype.size=20;c.prototype.redrawPath=function(a,b,c,d,e){b=Math.min(d,e/Da);a.translate((d-b)/2,(e-b)/
 2+b/4);a.moveTo(0,.25*b);a.lineTo(.5*b,b*ma);a.lineTo(b,.25*b);a.lineTo(.5*b,(.5-ma)*b);a.lineTo(0,.25*b);a.close();a.end()};mxCellRenderer.registerShape("isoRectangle",c);mxUtils.extend(d,mxCylinder);d.prototype.size=20;d.prototype.redrawPath=function(a,b,c,d,e,g){b=Math.min(d,e/(.5+Da));g?(a.moveTo(0,.25*b),a.lineTo(.5*b,(.5-ma)*b),a.lineTo(b,.25*b),a.moveTo(.5*b,(.5-ma)*b),a.lineTo(.5*b,(1-ma)*b)):(a.translate((d-b)/2,(e-b)/2),a.moveTo(0,.25*b),a.lineTo(.5*b,b*ma),a.lineTo(b,.25*b),a.lineTo(b,
 .75*b),a.lineTo(.5*b,(1-ma)*b),a.lineTo(0,.75*b),a.close());a.end()};mxCellRenderer.registerShape("isoCube",d);mxUtils.extend(b,mxCylinder);b.prototype.redrawPath=function(a,b,c,d,e,g){b=Math.min(e/2,Math.round(e/8)+this.strokewidth-1);if(g&&null!=this.fill||!g&&null==this.fill)a.moveTo(0,b),a.curveTo(0,2*b,d,2*b,d,b),g||(a.stroke(),a.begin()),a.translate(0,b/2),a.moveTo(0,b),a.curveTo(0,2*b,d,2*b,d,b),g||(a.stroke(),a.begin()),a.translate(0,b/2),a.moveTo(0,b),a.curveTo(0,2*b,d,2*b,d,b),g||(a.stroke(),
@@ -3003,34 +3006,34 @@ d,e){b=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",thi
 function(a){if(mxUtils.getValue(this.style,"boundedLbl",!1)){var b=2*mxUtils.getValue(this.style,"size",.15);return new mxRectangle(0,Math.min(this.maxHeight*this.scale,a.height*b),0,0)}return null};mxUtils.extend(m,mxActor);m.prototype.size=.2;m.prototype.isRoundable=function(){return!0};m.prototype.redrawPath=function(a,b,c,d,e){b=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/
 2;this.addPoints(a,[new mxPoint(0,e),new mxPoint(b,0),new mxPoint(d,0),new mxPoint(d-b,e)],this.isRounded,c,!0);a.end()};mxCellRenderer.registerShape("parallelogram",m);mxUtils.extend(n,mxActor);n.prototype.size=.2;n.prototype.isRoundable=function(){return!0};n.prototype.redrawPath=function(a,b,c,d,e){b=d*Math.max(0,Math.min(.5,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,
 e),new mxPoint(b,0),new mxPoint(d-b,0),new mxPoint(d,e)],this.isRounded,c,!0)};mxCellRenderer.registerShape("trapezoid",n);mxUtils.extend(p,mxActor);p.prototype.size=.5;p.prototype.redrawPath=function(a,b,c,d,e){a.setFillColor(null);b=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(d,0),new mxPoint(b,0),new mxPoint(b,e/2),new mxPoint(0,e/2),new mxPoint(b,
-e/2),new mxPoint(b,e),new mxPoint(d,e)],this.isRounded,c,!1);a.end()};mxCellRenderer.registerShape("curlyBracket",p);mxUtils.extend(q,mxActor);q.prototype.redrawPath=function(a,b,c,d,e){a.setStrokeWidth(1);a.setFillColor(this.stroke);b=d/5;a.rect(0,0,b,e);a.fillAndStroke();a.rect(2*b,0,b,e);a.fillAndStroke();a.rect(4*b,0,b,e);a.fillAndStroke()};mxCellRenderer.registerShape("parallelMarker",q);u.prototype.moveTo=function(a,b){this.originalMoveTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=
+e/2),new mxPoint(b,e),new mxPoint(d,e)],this.isRounded,c,!1);a.end()};mxCellRenderer.registerShape("curlyBracket",p);mxUtils.extend(r,mxActor);r.prototype.redrawPath=function(a,b,c,d,e){a.setStrokeWidth(1);a.setFillColor(this.stroke);b=d/5;a.rect(0,0,b,e);a.fillAndStroke();a.rect(2*b,0,b,e);a.fillAndStroke();a.rect(4*b,0,b,e);a.fillAndStroke()};mxCellRenderer.registerShape("parallelMarker",r);u.prototype.moveTo=function(a,b){this.originalMoveTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=
 b;this.firstX=a;this.firstY=b};u.prototype.close=function(){null!=this.firstX&&null!=this.firstY&&(this.lineTo(this.firstX,this.firstY),this.originalClose.apply(this.canvas,arguments));this.originalClose.apply(this.canvas,arguments)};u.prototype.quadTo=function(a,b,c,d){this.originalQuadTo.apply(this.canvas,arguments);this.lastX=c;this.lastY=d};u.prototype.curveTo=function(a,b,c,d,e,g){this.originalCurveTo.apply(this.canvas,arguments);this.lastX=e;this.lastY=g};u.prototype.arcTo=function(a,b,c,d,
-e,g,f){this.originalArcTo.apply(this.canvas,arguments);this.lastX=g;this.lastY=f};u.prototype.lineTo=function(a,b){if(null!=this.lastX&&null!=this.lastY){var c=function(a){return"number"===typeof a?a?0>a?-1:1:a===a?0:NaN:NaN},d=Math.abs(a-this.lastX),e=Math.abs(b-this.lastY),g=Math.sqrt(d*d+e*e);if(2>g){this.originalLineTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=b;return}var f=Math.round(g/10),C=this.defaultVariation;5>f&&(f=5,C/=3);for(var h=c(a-this.lastX)*d/f,c=c(b-this.lastY)*e/f,
-d=d/g,e=e/g,g=0;g<f;g++){var k=(Math.random()-.5)*C;this.originalLineTo.call(this.canvas,h*g+this.lastX-k*e,c*g+this.lastY-k*d)}this.originalLineTo.call(this.canvas,a,b)}else this.originalLineTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=b};u.prototype.destroy=function(){this.canvas.lineTo=this.originalLineTo;this.canvas.moveTo=this.originalMoveTo;this.canvas.close=this.originalClose;this.canvas.quadTo=this.originalQuadTo;this.canvas.curveTo=this.originalCurveTo;this.canvas.arcTo=this.originalArcTo};
+e,g,f){this.originalArcTo.apply(this.canvas,arguments);this.lastX=g;this.lastY=f};u.prototype.lineTo=function(a,b){if(null!=this.lastX&&null!=this.lastY){var c=function(a){return"number"===typeof a?a?0>a?-1:1:a===a?0:NaN:NaN},d=Math.abs(a-this.lastX),e=Math.abs(b-this.lastY),g=Math.sqrt(d*d+e*e);if(2>g){this.originalLineTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=b;return}var f=Math.round(g/10),D=this.defaultVariation;5>f&&(f=5,D/=3);for(var h=c(a-this.lastX)*d/f,c=c(b-this.lastY)*e/f,
+d=d/g,e=e/g,g=0;g<f;g++){var k=(Math.random()-.5)*D;this.originalLineTo.call(this.canvas,h*g+this.lastX-k*e,c*g+this.lastY-k*d)}this.originalLineTo.call(this.canvas,a,b)}else this.originalLineTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=b};u.prototype.destroy=function(){this.canvas.lineTo=this.originalLineTo;this.canvas.moveTo=this.originalMoveTo;this.canvas.close=this.originalClose;this.canvas.quadTo=this.originalQuadTo;this.canvas.curveTo=this.originalCurveTo;this.canvas.arcTo=this.originalArcTo};
 var La=mxShape.prototype.paint;mxShape.prototype.defaultJiggle=1.5;mxShape.prototype.paint=function(a){null!=this.style&&"0"!=mxUtils.getValue(this.style,"comic","0")&&null==a.handHiggle&&(a.handJiggle=new u(a,mxUtils.getValue(this.style,"jiggle",this.defaultJiggle)));La.apply(this,arguments);null!=a.handJiggle&&(a.handJiggle.destroy(),delete a.handJiggle)};mxRhombus.prototype.defaultJiggle=2;var Ma=mxRectangleShape.prototype.isHtmlAllowed;mxRectangleShape.prototype.isHtmlAllowed=function(){return(null==
 this.style||"0"==mxUtils.getValue(this.style,"comic","0"))&&Ma.apply(this,arguments)};var Na=mxRectangleShape.prototype.paintBackground;mxRectangleShape.prototype.paintBackground=function(a,b,c,d,e){if(null==a.handJiggle)Na.apply(this,arguments);else{var g=!0;null!=this.style&&(g="1"==mxUtils.getValue(this.style,mxConstants.STYLE_POINTER_EVENTS,"1"));if(g||null!=this.fill&&this.fill!=mxConstants.NONE||null!=this.stroke&&this.stroke!=mxConstants.NONE)g||null!=this.fill&&this.fill!=mxConstants.NONE||
 (a.pointerEvents=!1),a.begin(),this.isRounded?("1"==mxUtils.getValue(this.style,mxConstants.STYLE_ABSOLUTE_ARCSIZE,0)?g=Math.min(d/2,Math.min(e/2,mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2)):(g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,g=Math.min(d*g,e*g)),a.moveTo(b+g,c),a.lineTo(b+d-g,c),a.quadTo(b+d,c,b+d,c+g),a.lineTo(b+d,c+e-g),a.quadTo(b+d,c+e,b+d-g,c+e),a.lineTo(b+g,c+e),a.quadTo(b,c+e,b,c+e-g),
 a.lineTo(b,c+g),a.quadTo(b,c,b+g,c)):(a.moveTo(b,c),a.lineTo(b+d,c),a.lineTo(b+d,c+e),a.lineTo(b,c+e),a.lineTo(b,c)),a.close(),a.end(),a.fillAndStroke()}};var Oa=mxRectangleShape.prototype.paintForeground;mxRectangleShape.prototype.paintForeground=function(a,b,c,d,e){null==a.handJiggle&&Oa.apply(this,arguments)};mxUtils.extend(v,mxRectangleShape);v.prototype.size=.1;v.prototype.isHtmlAllowed=function(){return!1};v.prototype.getLabelBounds=function(a){if(mxUtils.getValue(this.state.style,mxConstants.STYLE_HORIZONTAL,
 !0)==(null==this.direction||this.direction==mxConstants.DIRECTION_EAST||this.direction==mxConstants.DIRECTION_WEST)){var b=a.width,c=a.height;a=new mxRectangle(a.x,a.y,b,c);var d=b*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));if(this.isRounded)var e=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,d=Math.max(d,Math.min(b*e,c*e));a.x+=Math.round(d);a.width-=Math.round(2*d)}return a};v.prototype.paintForeground=
-function(a,b,c,d,e){var g=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));if(this.isRounded)var f=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,g=Math.max(g,Math.min(d*f,e*f));g=Math.round(g);a.begin();a.moveTo(b+g,c);a.lineTo(b+g,c+e);a.moveTo(b+d-g,c);a.lineTo(b+d-g,c+e);a.end();a.stroke();mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("process",v);mxUtils.extend(r,
-mxRectangleShape);r.prototype.paintBackground=function(a,b,c,d,e){a.setFillColor(mxConstants.NONE);a.rect(b,c,d,e);a.fill()};r.prototype.paintForeground=function(a,b,c,d,e){};mxCellRenderer.registerShape("transparent",r);mxUtils.extend(w,mxHexagon);w.prototype.size=30;w.prototype.position=.5;w.prototype.position2=.5;w.prototype.base=20;w.prototype.getLabelMargins=function(){return new mxRectangle(0,0,0,parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale)};w.prototype.isRoundable=
+function(a,b,c,d,e){var g=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));if(this.isRounded)var f=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,g=Math.max(g,Math.min(d*f,e*f));g=Math.round(g);a.begin();a.moveTo(b+g,c);a.lineTo(b+g,c+e);a.moveTo(b+d-g,c);a.lineTo(b+d-g,c+e);a.end();a.stroke();mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("process",v);mxUtils.extend(q,
+mxRectangleShape);q.prototype.paintBackground=function(a,b,c,d,e){a.setFillColor(mxConstants.NONE);a.rect(b,c,d,e);a.fill()};q.prototype.paintForeground=function(a,b,c,d,e){};mxCellRenderer.registerShape("transparent",q);mxUtils.extend(w,mxHexagon);w.prototype.size=30;w.prototype.position=.5;w.prototype.position2=.5;w.prototype.base=20;w.prototype.getLabelMargins=function(){return new mxRectangle(0,0,0,parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale)};w.prototype.isRoundable=
 function(){return!0};w.prototype.redrawPath=function(a,b,c,d,e){b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;c=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size))));var g=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"position",this.position)))),f=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"position2",this.position2)))),h=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"base",this.base))));
 this.addPoints(a,[new mxPoint(0,0),new mxPoint(d,0),new mxPoint(d,e-c),new mxPoint(Math.min(d,g+h),e-c),new mxPoint(f,e),new mxPoint(Math.max(0,g),e-c),new mxPoint(0,e-c)],this.isRounded,b,!0,[4])};mxCellRenderer.registerShape("callout",w);mxUtils.extend(t,mxActor);t.prototype.size=.2;t.prototype.fixedSize=20;t.prototype.isRoundable=function(){return!0};t.prototype.redrawPath=function(a,b,c,d,e){b="0"!=mxUtils.getValue(this.style,"fixedSize","0")?Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,
 "size",this.fixedSize)))):d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(d-b,0),new mxPoint(d,e/2),new mxPoint(d-b,e),new mxPoint(0,e),new mxPoint(b,e/2)],this.isRounded,c,!0);a.end()};mxCellRenderer.registerShape("step",t);mxUtils.extend(x,mxHexagon);x.prototype.size=.25;x.prototype.isRoundable=function(){return!0};x.prototype.redrawPath=
 function(a,b,c,d,e){b=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(b,0),new mxPoint(d-b,0),new mxPoint(d,.5*e),new mxPoint(d-b,e),new mxPoint(b,e),new mxPoint(0,.5*e)],this.isRounded,c,!0)};mxCellRenderer.registerShape("hexagon",x);mxUtils.extend(y,mxRectangleShape);y.prototype.isHtmlAllowed=function(){return!1};y.prototype.paintForeground=function(a,
 b,c,d,e){var g=Math.min(d/5,e/5)+1;a.begin();a.moveTo(b+d/2,c+g);a.lineTo(b+d/2,c+e-g);a.moveTo(b+g,c+e/2);a.lineTo(b+d-g,c+e/2);a.end();a.stroke();mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("plus",y);var Ha=mxRhombus.prototype.paintVertexShape;mxRhombus.prototype.getLabelBounds=function(a){if(1==this.style["double"]){var b=(2*Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0))*this.scale;return new mxRectangle(a.x+
-b,a.y+b,a.width-2*b,a.height-2*b)}return a};mxRhombus.prototype.paintVertexShape=function(a,b,c,d,e){Ha.apply(this,arguments);if(!this.outline&&1==this.style["double"]){var g=2*Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0);b+=g;c+=g;d-=2*g;e-=2*g;0<d&&0<e&&(a.setShadow(!1),Ha.apply(this,[a,b,c,d,e]))}};mxUtils.extend(D,mxRectangleShape);D.prototype.isHtmlAllowed=function(){return!1};D.prototype.getLabelBounds=function(a){if(1==this.style["double"]){var b=(Math.max(2,
-this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0))*this.scale;return new mxRectangle(a.x+b,a.y+b,a.width-2*b,a.height-2*b)}return a};D.prototype.paintForeground=function(a,b,c,d,e){if(null!=this.style){if(!this.outline&&1==this.style["double"]){var g=Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0);b+=g;c+=g;d-=2*g;e-=2*g;0<d&&0<e&&mxRectangleShape.prototype.paintBackground.apply(this,arguments)}a.setDashed(!1);var g=0,f;do{f=mxCellRenderer.defaultShapes[this.style["symbol"+
-g]];if(null!=f){var h=this.style["symbol"+g+"Align"],C=this.style["symbol"+g+"VerticalAlign"],k=this.style["symbol"+g+"Width"],l=this.style["symbol"+g+"Height"],xa=this.style["symbol"+g+"Spacing"]||0,Fa=this.style["symbol"+g+"VSpacing"]||xa,m=this.style["symbol"+g+"ArcSpacing"];null!=m&&(m*=this.getArcSize(d+this.strokewidth,e+this.strokewidth),xa+=m,Fa+=m);var m=b,ta=c,m=h==mxConstants.ALIGN_CENTER?m+(d-k)/2:h==mxConstants.ALIGN_RIGHT?m+(d-k-xa):m+xa,ta=C==mxConstants.ALIGN_MIDDLE?ta+(e-l)/2:C==
-mxConstants.ALIGN_BOTTOM?ta+(e-l-Fa):ta+Fa;a.save();h=new f;h.style=this.style;f.prototype.paintVertexShape.call(h,a,m,ta,k,l);a.restore()}g++}while(null!=f)}mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("ext",D);mxUtils.extend(B,mxCylinder);B.prototype.redrawPath=function(a,b,c,d,e,g){g?(a.moveTo(0,0),a.lineTo(d/2,e/2),a.lineTo(d,0),a.end()):(a.moveTo(0,0),a.lineTo(d,0),a.lineTo(d,e),a.lineTo(0,e),a.close())};mxCellRenderer.registerShape("message",
+b,a.y+b,a.width-2*b,a.height-2*b)}return a};mxRhombus.prototype.paintVertexShape=function(a,b,c,d,e){Ha.apply(this,arguments);if(!this.outline&&1==this.style["double"]){var g=2*Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0);b+=g;c+=g;d-=2*g;e-=2*g;0<d&&0<e&&(a.setShadow(!1),Ha.apply(this,[a,b,c,d,e]))}};mxUtils.extend(C,mxRectangleShape);C.prototype.isHtmlAllowed=function(){return!1};C.prototype.getLabelBounds=function(a){if(1==this.style["double"]){var b=(Math.max(2,
+this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0))*this.scale;return new mxRectangle(a.x+b,a.y+b,a.width-2*b,a.height-2*b)}return a};C.prototype.paintForeground=function(a,b,c,d,e){if(null!=this.style){if(!this.outline&&1==this.style["double"]){var g=Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0);b+=g;c+=g;d-=2*g;e-=2*g;0<d&&0<e&&mxRectangleShape.prototype.paintBackground.apply(this,arguments)}a.setDashed(!1);var g=0,f;do{f=mxCellRenderer.defaultShapes[this.style["symbol"+
+g]];if(null!=f){var h=this.style["symbol"+g+"Align"],D=this.style["symbol"+g+"VerticalAlign"],k=this.style["symbol"+g+"Width"],l=this.style["symbol"+g+"Height"],xa=this.style["symbol"+g+"Spacing"]||0,Fa=this.style["symbol"+g+"VSpacing"]||xa,m=this.style["symbol"+g+"ArcSpacing"];null!=m&&(m*=this.getArcSize(d+this.strokewidth,e+this.strokewidth),xa+=m,Fa+=m);var m=b,ta=c,m=h==mxConstants.ALIGN_CENTER?m+(d-k)/2:h==mxConstants.ALIGN_RIGHT?m+(d-k-xa):m+xa,ta=D==mxConstants.ALIGN_MIDDLE?ta+(e-l)/2:D==
+mxConstants.ALIGN_BOTTOM?ta+(e-l-Fa):ta+Fa;a.save();h=new f;h.style=this.style;f.prototype.paintVertexShape.call(h,a,m,ta,k,l);a.restore()}g++}while(null!=f)}mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("ext",C);mxUtils.extend(B,mxCylinder);B.prototype.redrawPath=function(a,b,c,d,e,g){g?(a.moveTo(0,0),a.lineTo(d/2,e/2),a.lineTo(d,0),a.end()):(a.moveTo(0,0),a.lineTo(d,0),a.lineTo(d,e),a.lineTo(0,e),a.close())};mxCellRenderer.registerShape("message",
 B);mxUtils.extend(E,mxShape);E.prototype.paintBackground=function(a,b,c,d,e){a.translate(b,c);a.ellipse(d/4,0,d/2,e/4);a.fillAndStroke();a.begin();a.moveTo(d/2,e/4);a.lineTo(d/2,2*e/3);a.moveTo(d/2,e/3);a.lineTo(0,e/3);a.moveTo(d/2,e/3);a.lineTo(d,e/3);a.moveTo(d/2,2*e/3);a.lineTo(0,e);a.moveTo(d/2,2*e/3);a.lineTo(d,e);a.end();a.stroke()};mxCellRenderer.registerShape("umlActor",E);mxUtils.extend(A,mxShape);A.prototype.getLabelMargins=function(a){return new mxRectangle(a.width/6,0,0,0)};A.prototype.paintBackground=
 function(a,b,c,d,e){a.translate(b,c);a.begin();a.moveTo(0,e/4);a.lineTo(0,3*e/4);a.end();a.stroke();a.begin();a.moveTo(0,e/2);a.lineTo(d/6,e/2);a.end();a.stroke();a.ellipse(d/6,0,5*d/6,e);a.fillAndStroke()};mxCellRenderer.registerShape("umlBoundary",A);mxUtils.extend(G,mxEllipse);G.prototype.paintVertexShape=function(a,b,c,d,e){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.begin();a.moveTo(b+d/8,c+e);a.lineTo(b+7*d/8,c+e);a.end();a.stroke()};mxCellRenderer.registerShape("umlEntity",
-G);mxUtils.extend(J,mxShape);J.prototype.paintVertexShape=function(a,b,c,d,e){a.translate(b,c);a.begin();a.moveTo(d,0);a.lineTo(0,e);a.moveTo(0,0);a.lineTo(d,e);a.end();a.stroke()};mxCellRenderer.registerShape("umlDestroy",J);mxUtils.extend(H,mxShape);H.prototype.getLabelBounds=function(a){return new mxRectangle(a.x,a.y+a.height/8,a.width,7*a.height/8)};H.prototype.paintBackground=function(a,b,c,d,e){a.translate(b,c);a.begin();a.moveTo(3*d/8,e/8*1.1);a.lineTo(5*d/8,0);a.end();a.stroke();a.ellipse(0,
-e/8,d,7*e/8);a.fillAndStroke()};H.prototype.paintForeground=function(a,b,c,d,e){a.begin();a.moveTo(3*d/8,e/8*1.1);a.lineTo(5*d/8,e/4);a.end();a.stroke()};mxCellRenderer.registerShape("umlControl",H);mxUtils.extend(L,mxRectangleShape);L.prototype.size=40;L.prototype.isHtmlAllowed=function(){return!1};L.prototype.getLabelBounds=function(a){var b=Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale));return new mxRectangle(a.x,a.y,a.width,b)};L.prototype.paintBackground=
-function(a,b,c,d,e){var g=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size)))),f=mxUtils.getValue(this.style,"participant");null==f||null==this.state?mxRectangleShape.prototype.paintBackground.call(this,a,b,c,d,g):(f=this.state.view.graph.cellRenderer.getShape(f),null!=f&&f!=L&&(f=new f,f.apply(this.state),a.save(),f.paintVertexShape(a,b,c,d,g),a.restore()));g<e&&(a.setDashed(!0),a.begin(),a.moveTo(b+d/2,c+g),a.lineTo(b+d/2,c+e),a.end(),a.stroke())};L.prototype.paintForeground=
-function(a,b,c,d,e){var g=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size))));mxRectangleShape.prototype.paintForeground.call(this,a,b,c,d,Math.min(e,g))};mxCellRenderer.registerShape("umlLifeline",L);mxUtils.extend(F,mxShape);F.prototype.width=60;F.prototype.height=30;F.prototype.corner=10;F.prototype.getLabelMargins=function(a){return new mxRectangle(0,0,a.width-parseFloat(mxUtils.getValue(this.style,"width",this.width)*this.scale),a.height-parseFloat(mxUtils.getValue(this.style,
+G);mxUtils.extend(J,mxShape);J.prototype.paintVertexShape=function(a,b,c,d,e){a.translate(b,c);a.begin();a.moveTo(d,0);a.lineTo(0,e);a.moveTo(0,0);a.lineTo(d,e);a.end();a.stroke()};mxCellRenderer.registerShape("umlDestroy",J);mxUtils.extend(I,mxShape);I.prototype.getLabelBounds=function(a){return new mxRectangle(a.x,a.y+a.height/8,a.width,7*a.height/8)};I.prototype.paintBackground=function(a,b,c,d,e){a.translate(b,c);a.begin();a.moveTo(3*d/8,e/8*1.1);a.lineTo(5*d/8,0);a.end();a.stroke();a.ellipse(0,
+e/8,d,7*e/8);a.fillAndStroke()};I.prototype.paintForeground=function(a,b,c,d,e){a.begin();a.moveTo(3*d/8,e/8*1.1);a.lineTo(5*d/8,e/4);a.end();a.stroke()};mxCellRenderer.registerShape("umlControl",I);mxUtils.extend(M,mxRectangleShape);M.prototype.size=40;M.prototype.isHtmlAllowed=function(){return!1};M.prototype.getLabelBounds=function(a){var b=Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale));return new mxRectangle(a.x,a.y,a.width,b)};M.prototype.paintBackground=
+function(a,b,c,d,e){var g=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size)))),f=mxUtils.getValue(this.style,"participant");null==f||null==this.state?mxRectangleShape.prototype.paintBackground.call(this,a,b,c,d,g):(f=this.state.view.graph.cellRenderer.getShape(f),null!=f&&f!=M&&(f=new f,f.apply(this.state),a.save(),f.paintVertexShape(a,b,c,d,g),a.restore()));g<e&&(a.setDashed(!0),a.begin(),a.moveTo(b+d/2,c+g),a.lineTo(b+d/2,c+e),a.end(),a.stroke())};M.prototype.paintForeground=
+function(a,b,c,d,e){var g=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size))));mxRectangleShape.prototype.paintForeground.call(this,a,b,c,d,Math.min(e,g))};mxCellRenderer.registerShape("umlLifeline",M);mxUtils.extend(F,mxShape);F.prototype.width=60;F.prototype.height=30;F.prototype.corner=10;F.prototype.getLabelMargins=function(a){return new mxRectangle(0,0,a.width-parseFloat(mxUtils.getValue(this.style,"width",this.width)*this.scale),a.height-parseFloat(mxUtils.getValue(this.style,
 "height",this.height)*this.scale))};F.prototype.paintBackground=function(a,b,c,d,e){var g=this.corner,f=Math.min(d,Math.max(g,parseFloat(mxUtils.getValue(this.style,"width",this.width)))),h=Math.min(e,Math.max(1.5*g,parseFloat(mxUtils.getValue(this.style,"height",this.height)))),k=mxUtils.getValue(this.style,mxConstants.STYLE_SWIMLANE_FILLCOLOR,mxConstants.NONE);k!=mxConstants.NONE&&(a.setFillColor(k),a.rect(b,c,d,e),a.fill());null!=this.fill&&this.fill!=mxConstants.NONE&&this.gradient&&this.gradient!=
-mxConstants.NONE?(this.getGradientBounds(a,b,c,d,e),a.setGradient(this.fill,this.gradient,b,c,d,e,this.gradientDirection)):a.setFillColor(this.fill);a.begin();a.moveTo(b,c);a.lineTo(b+f,c);a.lineTo(b+f,c+Math.max(0,h-1.5*g));a.lineTo(b+Math.max(0,f-g),c+h);a.lineTo(b,c+h);a.close();a.fillAndStroke();a.begin();a.moveTo(b+f,c);a.lineTo(b+d,c);a.lineTo(b+d,c+e);a.lineTo(b,c+e);a.lineTo(b,c+h);a.stroke()};mxCellRenderer.registerShape("umlFrame",F);mxPerimeter.LifelinePerimeter=function(a,b,c,d){d=L.prototype.size;
+mxConstants.NONE?(this.getGradientBounds(a,b,c,d,e),a.setGradient(this.fill,this.gradient,b,c,d,e,this.gradientDirection)):a.setFillColor(this.fill);a.begin();a.moveTo(b,c);a.lineTo(b+f,c);a.lineTo(b+f,c+Math.max(0,h-1.5*g));a.lineTo(b+Math.max(0,f-g),c+h);a.lineTo(b,c+h);a.close();a.fillAndStroke();a.begin();a.moveTo(b+f,c);a.lineTo(b+d,c);a.lineTo(b+d,c+e);a.lineTo(b,c+e);a.lineTo(b,c+h);a.stroke()};mxCellRenderer.registerShape("umlFrame",F);mxPerimeter.LifelinePerimeter=function(a,b,c,d){d=M.prototype.size;
 null!=b&&(d=mxUtils.getValue(b.style,"size",d)*b.view.scale);b=parseFloat(b.style[mxConstants.STYLE_STROKEWIDTH]||1)*b.view.scale/2-1;c.x<a.getCenterX()&&(b=-1*(b+1));return new mxPoint(a.getCenterX()+b,Math.min(a.y+a.height,Math.max(a.y+d,c.y)))};mxStyleRegistry.putValue("lifelinePerimeter",mxPerimeter.LifelinePerimeter);mxPerimeter.OrthogonalPerimeter=function(a,b,c,d){d=!0;return mxPerimeter.RectanglePerimeter.apply(this,arguments)};mxStyleRegistry.putValue("orthogonalPerimeter",mxPerimeter.OrthogonalPerimeter);
 mxPerimeter.BackbonePerimeter=function(a,b,c,d){d=parseFloat(b.style[mxConstants.STYLE_STROKEWIDTH]||1)*b.view.scale/2-1;null!=b.style.backboneSize&&(d+=parseFloat(b.style.backboneSize)*b.view.scale/2-1);if("south"==b.style[mxConstants.STYLE_DIRECTION]||"north"==b.style[mxConstants.STYLE_DIRECTION])return c.x<a.getCenterX()&&(d=-1*(d+1)),new mxPoint(a.getCenterX()+d,Math.min(a.y+a.height,Math.max(a.y,c.y)));c.y<a.getCenterY()&&(d=-1*(d+1));return new mxPoint(Math.min(a.x+a.width,Math.max(a.x,c.x)),
 a.getCenterY()+d)};mxStyleRegistry.putValue("backbonePerimeter",mxPerimeter.BackbonePerimeter);mxPerimeter.CalloutPerimeter=function(a,b,c,d){return mxPerimeter.RectanglePerimeter(mxUtils.getDirectedBounds(a,new mxRectangle(0,0,0,Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(b.style,"size",w.prototype.size))*b.view.scale))),b.style),b,c,d)};mxStyleRegistry.putValue("calloutPerimeter",mxPerimeter.CalloutPerimeter);mxPerimeter.ParallelogramPerimeter=function(a,b,c,d){var e=m.prototype.size;
@@ -3038,18 +3041,18 @@ null!=b&&(e=mxUtils.getValue(b.style,"size",e));var g=a.x,f=a.y,h=a.width,k=a.he
 f+k),new mxPoint(g+e,f)]);k=a.getCenterX();a=a.getCenterY();a=new mxPoint(k,a);d&&(c.x<g||c.x>g+h?a.y=c.y:a.x=c.x);return mxUtils.getPerimeterPoint(f,a,c)};mxStyleRegistry.putValue("parallelogramPerimeter",mxPerimeter.ParallelogramPerimeter);mxPerimeter.TrapezoidPerimeter=function(a,b,c,d){var e=n.prototype.size;null!=b&&(e=mxUtils.getValue(b.style,"size",e));var g=a.x,f=a.y,h=a.width,k=a.height;b=null!=b?mxUtils.getValue(b.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;
 b==mxConstants.DIRECTION_EAST?(e=h*Math.max(0,Math.min(1,e)),f=[new mxPoint(g+e,f),new mxPoint(g+h-e,f),new mxPoint(g+h,f+k),new mxPoint(g,f+k),new mxPoint(g+e,f)]):b==mxConstants.DIRECTION_WEST?(e=h*Math.max(0,Math.min(1,e)),f=[new mxPoint(g,f),new mxPoint(g+h,f),new mxPoint(g+h-e,f+k),new mxPoint(g+e,f+k),new mxPoint(g,f)]):b==mxConstants.DIRECTION_NORTH?(e=k*Math.max(0,Math.min(1,e)),f=[new mxPoint(g,f+e),new mxPoint(g+h,f),new mxPoint(g+h,f+k),new mxPoint(g,f+k-e),new mxPoint(g,f+e)]):(e=k*Math.max(0,
 Math.min(1,e)),f=[new mxPoint(g,f),new mxPoint(g+h,f+e),new mxPoint(g+h,f+k-e),new mxPoint(g,f+k),new mxPoint(g,f)]);k=a.getCenterX();a=a.getCenterY();a=new mxPoint(k,a);d&&(c.x<g||c.x>g+h?a.y=c.y:a.x=c.x);return mxUtils.getPerimeterPoint(f,a,c)};mxStyleRegistry.putValue("trapezoidPerimeter",mxPerimeter.TrapezoidPerimeter);mxPerimeter.StepPerimeter=function(a,b,c,d){var e="0"!=mxUtils.getValue(b.style,"fixedSize","0"),g=e?t.prototype.fixedSize:t.prototype.size;null!=b&&(g=mxUtils.getValue(b.style,
-"size",g));var f=a.x,h=a.y,k=a.width,C=a.height,l=a.getCenterX();a=a.getCenterY();b=null!=b?mxUtils.getValue(b.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;b==mxConstants.DIRECTION_EAST?(e=e?Math.max(0,Math.min(k,g)):k*Math.max(0,Math.min(1,g)),h=[new mxPoint(f,h),new mxPoint(f+k-e,h),new mxPoint(f+k,a),new mxPoint(f+k-e,h+C),new mxPoint(f,h+C),new mxPoint(f+e,a),new mxPoint(f,h)]):b==mxConstants.DIRECTION_WEST?(e=e?Math.max(0,Math.min(k,g)):k*Math.max(0,
-Math.min(1,g)),h=[new mxPoint(f+e,h),new mxPoint(f+k,h),new mxPoint(f+k-e,a),new mxPoint(f+k,h+C),new mxPoint(f+e,h+C),new mxPoint(f,a),new mxPoint(f+e,h)]):b==mxConstants.DIRECTION_NORTH?(e=e?Math.max(0,Math.min(C,g)):C*Math.max(0,Math.min(1,g)),h=[new mxPoint(f,h+e),new mxPoint(l,h),new mxPoint(f+k,h+e),new mxPoint(f+k,h+C),new mxPoint(l,h+C-e),new mxPoint(f,h+C),new mxPoint(f,h+e)]):(e=e?Math.max(0,Math.min(C,g)):C*Math.max(0,Math.min(1,g)),h=[new mxPoint(f,h),new mxPoint(l,h+e),new mxPoint(f+
-k,h),new mxPoint(f+k,h+C-e),new mxPoint(l,h+C),new mxPoint(f,h+C-e),new mxPoint(f,h)]);l=new mxPoint(l,a);d&&(c.x<f||c.x>f+k?l.y=c.y:l.x=c.x);return mxUtils.getPerimeterPoint(h,l,c)};mxStyleRegistry.putValue("stepPerimeter",mxPerimeter.StepPerimeter);mxPerimeter.HexagonPerimeter2=function(a,b,c,d){var e=x.prototype.size;null!=b&&(e=mxUtils.getValue(b.style,"size",e));var g=a.x,f=a.y,h=a.width,k=a.height,C=a.getCenterX();a=a.getCenterY();b=null!=b?mxUtils.getValue(b.style,mxConstants.STYLE_DIRECTION,
-mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;b==mxConstants.DIRECTION_NORTH||b==mxConstants.DIRECTION_SOUTH?(e=k*Math.max(0,Math.min(1,e)),f=[new mxPoint(C,f),new mxPoint(g+h,f+e),new mxPoint(g+h,f+k-e),new mxPoint(C,f+k),new mxPoint(g,f+k-e),new mxPoint(g,f+e),new mxPoint(C,f)]):(e=h*Math.max(0,Math.min(1,e)),f=[new mxPoint(g+e,f),new mxPoint(g+h-e,f),new mxPoint(g+h,a),new mxPoint(g+h-e,f+k),new mxPoint(g+e,f+k),new mxPoint(g,a),new mxPoint(g+e,f)]);C=new mxPoint(C,a);d&&(c.x<g||c.x>g+
-h?C.y=c.y:C.x=c.x);return mxUtils.getPerimeterPoint(f,C,c)};mxStyleRegistry.putValue("hexagonPerimeter2",mxPerimeter.HexagonPerimeter2);mxUtils.extend(P,mxShape);P.prototype.size=10;P.prototype.paintBackground=function(a,b,c,d,e){var g=parseFloat(mxUtils.getValue(this.style,"size",this.size));a.translate(b,c);a.ellipse((d-g)/2,0,g,g);a.fillAndStroke();a.begin();a.moveTo(d/2,g);a.lineTo(d/2,e);a.end();a.stroke()};mxCellRenderer.registerShape("lollipop",P);mxUtils.extend(R,mxShape);R.prototype.size=
+"size",g));var f=a.x,h=a.y,k=a.width,D=a.height,l=a.getCenterX();a=a.getCenterY();b=null!=b?mxUtils.getValue(b.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;b==mxConstants.DIRECTION_EAST?(e=e?Math.max(0,Math.min(k,g)):k*Math.max(0,Math.min(1,g)),h=[new mxPoint(f,h),new mxPoint(f+k-e,h),new mxPoint(f+k,a),new mxPoint(f+k-e,h+D),new mxPoint(f,h+D),new mxPoint(f+e,a),new mxPoint(f,h)]):b==mxConstants.DIRECTION_WEST?(e=e?Math.max(0,Math.min(k,g)):k*Math.max(0,
+Math.min(1,g)),h=[new mxPoint(f+e,h),new mxPoint(f+k,h),new mxPoint(f+k-e,a),new mxPoint(f+k,h+D),new mxPoint(f+e,h+D),new mxPoint(f,a),new mxPoint(f+e,h)]):b==mxConstants.DIRECTION_NORTH?(e=e?Math.max(0,Math.min(D,g)):D*Math.max(0,Math.min(1,g)),h=[new mxPoint(f,h+e),new mxPoint(l,h),new mxPoint(f+k,h+e),new mxPoint(f+k,h+D),new mxPoint(l,h+D-e),new mxPoint(f,h+D),new mxPoint(f,h+e)]):(e=e?Math.max(0,Math.min(D,g)):D*Math.max(0,Math.min(1,g)),h=[new mxPoint(f,h),new mxPoint(l,h+e),new mxPoint(f+
+k,h),new mxPoint(f+k,h+D-e),new mxPoint(l,h+D),new mxPoint(f,h+D-e),new mxPoint(f,h)]);l=new mxPoint(l,a);d&&(c.x<f||c.x>f+k?l.y=c.y:l.x=c.x);return mxUtils.getPerimeterPoint(h,l,c)};mxStyleRegistry.putValue("stepPerimeter",mxPerimeter.StepPerimeter);mxPerimeter.HexagonPerimeter2=function(a,b,c,d){var e=x.prototype.size;null!=b&&(e=mxUtils.getValue(b.style,"size",e));var g=a.x,f=a.y,h=a.width,k=a.height,D=a.getCenterX();a=a.getCenterY();b=null!=b?mxUtils.getValue(b.style,mxConstants.STYLE_DIRECTION,
+mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;b==mxConstants.DIRECTION_NORTH||b==mxConstants.DIRECTION_SOUTH?(e=k*Math.max(0,Math.min(1,e)),f=[new mxPoint(D,f),new mxPoint(g+h,f+e),new mxPoint(g+h,f+k-e),new mxPoint(D,f+k),new mxPoint(g,f+k-e),new mxPoint(g,f+e),new mxPoint(D,f)]):(e=h*Math.max(0,Math.min(1,e)),f=[new mxPoint(g+e,f),new mxPoint(g+h-e,f),new mxPoint(g+h,a),new mxPoint(g+h-e,f+k),new mxPoint(g+e,f+k),new mxPoint(g,a),new mxPoint(g+e,f)]);D=new mxPoint(D,a);d&&(c.x<g||c.x>g+
+h?D.y=c.y:D.x=c.x);return mxUtils.getPerimeterPoint(f,D,c)};mxStyleRegistry.putValue("hexagonPerimeter2",mxPerimeter.HexagonPerimeter2);mxUtils.extend(P,mxShape);P.prototype.size=10;P.prototype.paintBackground=function(a,b,c,d,e){var g=parseFloat(mxUtils.getValue(this.style,"size",this.size));a.translate(b,c);a.ellipse((d-g)/2,0,g,g);a.fillAndStroke();a.begin();a.moveTo(d/2,g);a.lineTo(d/2,e);a.end();a.stroke()};mxCellRenderer.registerShape("lollipop",P);mxUtils.extend(R,mxShape);R.prototype.size=
 10;R.prototype.inset=2;R.prototype.paintBackground=function(a,b,c,d,e){var g=parseFloat(mxUtils.getValue(this.style,"size",this.size)),f=parseFloat(mxUtils.getValue(this.style,"inset",this.inset))+this.strokewidth;a.translate(b,c);a.begin();a.moveTo(d/2,g+f);a.lineTo(d/2,e);a.end();a.stroke();a.begin();a.moveTo((d-g)/2-f,g/2);a.quadTo((d-g)/2-f,g+f,d/2,g+f);a.quadTo((d+g)/2+f,g+f,(d+g)/2+f,g/2);a.end();a.stroke()};mxCellRenderer.registerShape("requires",R);mxUtils.extend(S,mxShape);S.prototype.paintBackground=
-function(a,b,c,d,e){a.translate(b,c);a.begin();a.moveTo(0,0);a.quadTo(d,0,d,e/2);a.quadTo(d,e,0,e);a.end();a.stroke()};mxCellRenderer.registerShape("requiredInterface",S);mxUtils.extend(K,mxShape);K.prototype.inset=2;K.prototype.paintBackground=function(a,b,c,d,e){var g=parseFloat(mxUtils.getValue(this.style,"inset",this.inset))+this.strokewidth;a.translate(b,c);a.ellipse(0,g,d-2*g,e-2*g);a.fillAndStroke();a.begin();a.moveTo(d/2,0);a.quadTo(d,0,d,e/2);a.quadTo(d,e,d/2,e);a.end();a.stroke()};mxCellRenderer.registerShape("providedRequiredInterface",
-K);mxUtils.extend(I,mxCylinder);I.prototype.jettyWidth=32;I.prototype.jettyHeight=12;I.prototype.redrawPath=function(a,b,c,d,e,g){var f=parseFloat(mxUtils.getValue(this.style,"jettyWidth",this.jettyWidth));b=parseFloat(mxUtils.getValue(this.style,"jettyHeight",this.jettyHeight));c=f/2;var f=c+f/2,h=.3*e-b/2,k=.7*e-b/2;g?(a.moveTo(c,h),a.lineTo(f,h),a.lineTo(f,h+b),a.lineTo(c,h+b),a.moveTo(c,k),a.lineTo(f,k),a.lineTo(f,k+b),a.lineTo(c,k+b)):(a.moveTo(c,0),a.lineTo(d,0),a.lineTo(d,e),a.lineTo(c,e),
-a.lineTo(c,k+b),a.lineTo(0,k+b),a.lineTo(0,k),a.lineTo(c,k),a.lineTo(c,h+b),a.lineTo(0,h+b),a.lineTo(0,h),a.lineTo(c,h),a.close());a.end()};mxCellRenderer.registerShape("component",I);mxUtils.extend(N,mxRectangleShape);N.prototype.paintForeground=function(a,b,c,d,e){var g=d/2,f=e/2,h=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;a.begin();this.addPoints(a,[new mxPoint(b+g,c),new mxPoint(b+d,c+f),new mxPoint(b+g,c+e),new mxPoint(b,c+f)],this.isRounded,h,!0);a.stroke();
+function(a,b,c,d,e){a.translate(b,c);a.begin();a.moveTo(0,0);a.quadTo(d,0,d,e/2);a.quadTo(d,e,0,e);a.end();a.stroke()};mxCellRenderer.registerShape("requiredInterface",S);mxUtils.extend(L,mxShape);L.prototype.inset=2;L.prototype.paintBackground=function(a,b,c,d,e){var g=parseFloat(mxUtils.getValue(this.style,"inset",this.inset))+this.strokewidth;a.translate(b,c);a.ellipse(0,g,d-2*g,e-2*g);a.fillAndStroke();a.begin();a.moveTo(d/2,0);a.quadTo(d,0,d,e/2);a.quadTo(d,e,d/2,e);a.end();a.stroke()};mxCellRenderer.registerShape("providedRequiredInterface",
+L);mxUtils.extend(K,mxCylinder);K.prototype.jettyWidth=32;K.prototype.jettyHeight=12;K.prototype.redrawPath=function(a,b,c,d,e,g){var f=parseFloat(mxUtils.getValue(this.style,"jettyWidth",this.jettyWidth));b=parseFloat(mxUtils.getValue(this.style,"jettyHeight",this.jettyHeight));c=f/2;var f=c+f/2,h=.3*e-b/2,k=.7*e-b/2;g?(a.moveTo(c,h),a.lineTo(f,h),a.lineTo(f,h+b),a.lineTo(c,h+b),a.moveTo(c,k),a.lineTo(f,k),a.lineTo(f,k+b),a.lineTo(c,k+b)):(a.moveTo(c,0),a.lineTo(d,0),a.lineTo(d,e),a.lineTo(c,e),
+a.lineTo(c,k+b),a.lineTo(0,k+b),a.lineTo(0,k),a.lineTo(c,k),a.lineTo(c,h+b),a.lineTo(0,h+b),a.lineTo(0,h),a.lineTo(c,h),a.close());a.end()};mxCellRenderer.registerShape("component",K);mxUtils.extend(N,mxRectangleShape);N.prototype.paintForeground=function(a,b,c,d,e){var g=d/2,f=e/2,h=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;a.begin();this.addPoints(a,[new mxPoint(b+g,c),new mxPoint(b+d,c+f),new mxPoint(b+g,c+e),new mxPoint(b,c+f)],this.isRounded,h,!0);a.stroke();
 mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("associativeEntity",N);mxUtils.extend(T,mxDoubleEllipse);T.prototype.outerStroke=!0;T.prototype.paintVertexShape=function(a,b,c,d,e){var g=Math.min(4,Math.min(d/5,e/5));0<d&&0<e&&(a.ellipse(b+g,c+g,d-2*g,e-2*g),a.fillAndStroke());a.setShadow(!1);this.outerStroke&&(a.ellipse(b,c,d,e),a.stroke())};mxCellRenderer.registerShape("endState",T);mxUtils.extend(da,T);da.prototype.outerStroke=!1;mxCellRenderer.registerShape("startState",
-da);mxUtils.extend(z,mxArrowConnector);z.prototype.defaultWidth=4;z.prototype.isOpenEnded=function(){return!0};z.prototype.getEdgeWidth=function(){return mxUtils.getNumber(this.style,"width",this.defaultWidth)+Math.max(0,this.strokewidth-1)};z.prototype.isArrowRounded=function(){return this.isRounded};mxCellRenderer.registerShape("link",z);mxUtils.extend(M,mxArrowConnector);M.prototype.defaultWidth=10;M.prototype.defaultArrowWidth=20;M.prototype.getStartArrowWidth=function(){return this.getEdgeWidth()+
-mxUtils.getNumber(this.style,"startWidth",this.defaultArrowWidth)};M.prototype.getEndArrowWidth=function(){return this.getEdgeWidth()+mxUtils.getNumber(this.style,"endWidth",this.defaultArrowWidth)};M.prototype.getEdgeWidth=function(){return mxUtils.getNumber(this.style,"width",this.defaultWidth)+Math.max(0,this.strokewidth-1)};mxCellRenderer.registerShape("flexArrow",M);mxUtils.extend(Q,mxActor);Q.prototype.size=30;Q.prototype.isRoundable=function(){return!0};Q.prototype.redrawPath=function(a,b,
+da);mxUtils.extend(z,mxArrowConnector);z.prototype.defaultWidth=4;z.prototype.isOpenEnded=function(){return!0};z.prototype.getEdgeWidth=function(){return mxUtils.getNumber(this.style,"width",this.defaultWidth)+Math.max(0,this.strokewidth-1)};z.prototype.isArrowRounded=function(){return this.isRounded};mxCellRenderer.registerShape("link",z);mxUtils.extend(H,mxArrowConnector);H.prototype.defaultWidth=10;H.prototype.defaultArrowWidth=20;H.prototype.getStartArrowWidth=function(){return this.getEdgeWidth()+
+mxUtils.getNumber(this.style,"startWidth",this.defaultArrowWidth)};H.prototype.getEndArrowWidth=function(){return this.getEdgeWidth()+mxUtils.getNumber(this.style,"endWidth",this.defaultArrowWidth)};H.prototype.getEdgeWidth=function(){return mxUtils.getNumber(this.style,"width",this.defaultWidth)+Math.max(0,this.strokewidth-1)};mxCellRenderer.registerShape("flexArrow",H);mxUtils.extend(Q,mxActor);Q.prototype.size=30;Q.prototype.isRoundable=function(){return!0};Q.prototype.redrawPath=function(a,b,
 c,d,e){b=Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size)));c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,e),new mxPoint(0,b),new mxPoint(d,0),new mxPoint(d,e)],this.isRounded,c,!0);a.end()};mxCellRenderer.registerShape("manualInput",Q);mxUtils.extend(U,mxRectangleShape);U.prototype.dx=20;U.prototype.dy=20;U.prototype.isHtmlAllowed=function(){return!1};U.prototype.paintForeground=function(a,b,c,d,e){mxRectangleShape.prototype.paintForeground.apply(this,
 arguments);var g=0;if(this.isRounded)var f=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,g=Math.max(g,Math.min(d*f,e*f));f=Math.max(g,Math.min(d,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));g=Math.max(g,Math.min(e,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));a.begin();a.moveTo(b,c+g);a.lineTo(b+d,c+g);a.end();a.stroke();a.begin();a.moveTo(b+f,c);a.lineTo(b+f,c+e);a.end();a.stroke()};mxCellRenderer.registerShape("internalStorage",
 U);mxUtils.extend(V,mxActor);V.prototype.dx=20;V.prototype.dy=20;V.prototype.redrawPath=function(a,b,c,d,e){b=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));c=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));parseFloat(mxUtils.getValue(this.style,"size",this.size));var g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(d,0),new mxPoint(d,c),new mxPoint(b,c),new mxPoint(b,
@@ -3070,12 +3073,12 @@ mxEllipse);va.prototype.paintVertexShape=function(a,b,c,d,e){mxEllipse.prototype
 e);a.close();a.end()};mxCellRenderer.registerShape("delay",wa);mxUtils.extend(oa,mxActor);oa.prototype.size=.2;oa.prototype.redrawPath=function(a,b,c,d,e){b=Math.min(e,d);var g=Math.max(0,Math.min(b,b*parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=(e-g)/2;c=b+g;var f=(d-g)/2,g=f+g;a.moveTo(0,b);a.lineTo(f,b);a.lineTo(f,0);a.lineTo(g,0);a.lineTo(g,b);a.lineTo(d,b);a.lineTo(d,c);a.lineTo(g,c);a.lineTo(g,e);a.lineTo(f,e);a.lineTo(f,c);a.lineTo(0,c);a.close();a.end()};mxCellRenderer.registerShape("cross",
 oa);mxUtils.extend(pa,mxActor);pa.prototype.size=.25;pa.prototype.redrawPath=function(a,b,c,d,e){b=Math.min(d,e/2);c=Math.min(d-b,Math.max(0,parseFloat(mxUtils.getValue(this.style,"size",this.size)))*d);a.moveTo(0,e/2);a.lineTo(c,0);a.lineTo(d-b,0);a.quadTo(d,0,d,e/2);a.quadTo(d,e,d-b,e);a.lineTo(c,e);a.close();a.end()};mxCellRenderer.registerShape("display",pa);mxUtils.extend(na,mxConnector);na.prototype.origPaintEdgeShape=na.prototype.paintEdgeShape;na.prototype.paintEdgeShape=function(a,b,c){for(var d=
 [],e=0;e<b.length;e++)d.push(mxUtils.clone(b[e]));var e=a.state.dashed,g=a.state.fixDash;na.prototype.origPaintEdgeShape.apply(this,[a,d,c]);3<=a.state.strokeWidth&&(d=mxUtils.getValue(this.style,"fillColor",null),null!=d&&(a.setStrokeColor(d),a.setStrokeWidth(a.state.strokeWidth-2),a.setDashed(e,g),na.prototype.origPaintEdgeShape.apply(this,[a,b,c])))};mxCellRenderer.registerShape("filledEdge",na);"undefined"!==typeof StyleFormatPanel&&function(){var a=StyleFormatPanel.prototype.getCustomColors;
-StyleFormatPanel.prototype.getCustomColors=function(){var b=this.format.getSelectionState(),c=a.apply(this,arguments);"umlFrame"==b.style.shape&&c.push({title:mxResources.get("laneColor"),key:"swimlaneFillColor",defaultValue:"#ffffff"});return c}}();mxMarker.addMarker("dash",function(a,b,c,d,e,g,f,h,k,l){var m=e*(f+k+1),C=g*(f+k+1);return function(){a.begin();a.moveTo(d.x-m/2-C/2,d.y-C/2+m/2);a.lineTo(d.x+C/2-3*m/2,d.y-3*C/2-m/2);a.stroke()}});mxMarker.addMarker("cross",function(a,b,c,d,e,g,f,h,k,
-l){var m=e*(f+k+1),C=g*(f+k+1);return function(){a.begin();a.moveTo(d.x-m/2-C/2,d.y-C/2+m/2);a.lineTo(d.x+C/2-3*m/2,d.y-3*C/2-m/2);a.moveTo(d.x-m/2+C/2,d.y-C/2-m/2);a.lineTo(d.x-C/2-3*m/2,d.y-3*C/2+m/2);a.stroke()}});mxMarker.addMarker("circle",Ga);mxMarker.addMarker("circlePlus",function(a,b,c,d,e,g,f,h,k,l){var m=d.clone(),C=Ga.apply(this,arguments),n=e*(f+2*k),p=g*(f+2*k);return function(){C.apply(this,arguments);a.begin();a.moveTo(m.x-e*k,m.y-g*k);a.lineTo(m.x-2*n+e*k,m.y-2*p+g*k);a.moveTo(m.x-
-n-p+g*k,m.y-p+n-e*k);a.lineTo(m.x+p-n-g*k,m.y-p-n+e*k);a.stroke()}});mxMarker.addMarker("halfCircle",function(a,b,c,d,e,g,f,h,k,l){var m=e*(f+k+1),C=g*(f+k+1),n=d.clone();d.x-=m;d.y-=C;return function(){a.begin();a.moveTo(n.x-C,n.y+m);a.quadTo(d.x-C,d.y+m,d.x,d.y);a.quadTo(d.x+C,d.y-m,n.x+C,n.y-m);a.stroke()}});mxMarker.addMarker("async",function(a,b,c,d,e,g,f,h,k,l){b=e*k*1.118;c=g*k*1.118;e*=f+k;g*=f+k;var m=d.clone();m.x-=b;m.y-=c;d.x+=1*-e-b;d.y+=1*-g-c;return function(){a.begin();a.moveTo(m.x,
-m.y);h?a.lineTo(m.x-e-g/2,m.y-g+e/2):a.lineTo(m.x+g/2-e,m.y-g-e/2);a.lineTo(m.x-e,m.y-g);a.close();l?a.fillAndStroke():a.stroke()}});mxMarker.addMarker("openAsync",function(a){a=null!=a?a:2;return function(b,c,d,e,g,f,h,k,l,m){g*=h+l;f*=h+l;var C=e.clone();return function(){b.begin();b.moveTo(C.x,C.y);k?b.lineTo(C.x-g-f/a,C.y-f+g/a):b.lineTo(C.x+f/a-g,C.y-f-g/a);b.stroke()}}}(2));if("undefined"!==typeof mxVertexHandler){var Ia=function(a,b,c){return qa(a,["width"],b,function(b,d,e,g,f){f=a.shape.getEdgeWidth()*
+StyleFormatPanel.prototype.getCustomColors=function(){var b=this.format.getSelectionState(),c=a.apply(this,arguments);"umlFrame"==b.style.shape&&c.push({title:mxResources.get("laneColor"),key:"swimlaneFillColor",defaultValue:"#ffffff"});return c}}();mxMarker.addMarker("dash",function(a,b,c,d,e,g,f,h,k,l){var m=e*(f+k+1),D=g*(f+k+1);return function(){a.begin();a.moveTo(d.x-m/2-D/2,d.y-D/2+m/2);a.lineTo(d.x+D/2-3*m/2,d.y-3*D/2-m/2);a.stroke()}});mxMarker.addMarker("cross",function(a,b,c,d,e,g,f,h,k,
+l){var m=e*(f+k+1),D=g*(f+k+1);return function(){a.begin();a.moveTo(d.x-m/2-D/2,d.y-D/2+m/2);a.lineTo(d.x+D/2-3*m/2,d.y-3*D/2-m/2);a.moveTo(d.x-m/2+D/2,d.y-D/2-m/2);a.lineTo(d.x-D/2-3*m/2,d.y-3*D/2+m/2);a.stroke()}});mxMarker.addMarker("circle",Ga);mxMarker.addMarker("circlePlus",function(a,b,c,d,e,g,f,h,k,l){var m=d.clone(),D=Ga.apply(this,arguments),n=e*(f+2*k),p=g*(f+2*k);return function(){D.apply(this,arguments);a.begin();a.moveTo(m.x-e*k,m.y-g*k);a.lineTo(m.x-2*n+e*k,m.y-2*p+g*k);a.moveTo(m.x-
+n-p+g*k,m.y-p+n-e*k);a.lineTo(m.x+p-n-g*k,m.y-p-n+e*k);a.stroke()}});mxMarker.addMarker("halfCircle",function(a,b,c,d,e,g,f,h,k,l){var m=e*(f+k+1),D=g*(f+k+1),n=d.clone();d.x-=m;d.y-=D;return function(){a.begin();a.moveTo(n.x-D,n.y+m);a.quadTo(d.x-D,d.y+m,d.x,d.y);a.quadTo(d.x+D,d.y-m,n.x+D,n.y-m);a.stroke()}});mxMarker.addMarker("async",function(a,b,c,d,e,g,f,h,k,l){b=e*k*1.118;c=g*k*1.118;e*=f+k;g*=f+k;var m=d.clone();m.x-=b;m.y-=c;d.x+=1*-e-b;d.y+=1*-g-c;return function(){a.begin();a.moveTo(m.x,
+m.y);h?a.lineTo(m.x-e-g/2,m.y-g+e/2):a.lineTo(m.x+g/2-e,m.y-g-e/2);a.lineTo(m.x-e,m.y-g);a.close();l?a.fillAndStroke():a.stroke()}});mxMarker.addMarker("openAsync",function(a){a=null!=a?a:2;return function(b,c,d,e,g,f,h,k,l,m){g*=h+l;f*=h+l;var D=e.clone();return function(){b.begin();b.moveTo(D.x,D.y);k?b.lineTo(D.x-g-f/a,D.y-f+g/a):b.lineTo(D.x+f/a-g,D.y-f-g/a);b.stroke()}}}(2));if("undefined"!==typeof mxVertexHandler){var Ia=function(a,b,c){return qa(a,["width"],b,function(b,d,e,g,f){f=a.shape.getEdgeWidth()*
 a.view.scale+c;return new mxPoint(g.x+d*b/4+e*f/2,g.y+e*b/4-d*f/2)},function(b,d,e,g,f,h){b=Math.sqrt(mxUtils.ptSegDistSq(g.x,g.y,f.x,f.y,h.x,h.y));a.style.width=Math.round(2*b)/a.view.scale-c})},qa=function(a,b,c,d,e){return O(a,b,function(b){var e=a.absolutePoints,g=e.length-1;b=a.view.translate;var f=a.view.scale,h=c?e[0]:e[g],e=c?e[1]:e[g-1],g=e.x-h.x,k=e.y-h.y,l=Math.sqrt(g*g+k*k),h=d.call(this,l,g/l,k/l,h,e);return new mxPoint(h.x/f-b.x,h.y/f-b.y)},function(b,d,g){var f=a.absolutePoints,h=f.length-
-1;b=a.view.translate;var k=a.view.scale,l=c?f[0]:f[h],f=c?f[1]:f[h-1],h=f.x-l.x,m=f.y-l.y,C=Math.sqrt(h*h+m*m);d.x=(d.x+b.x)*k;d.y=(d.y+b.y)*k;e.call(this,C,h/C,m/C,l,f,d,g)})},la=function(a){return function(b){return[O(b,["arrowWidth","arrowSize"],function(b){var c=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"arrowWidth",W.prototype.arrowWidth))),d=Math.max(0,Math.min(a,mxUtils.getValue(this.state.style,"arrowSize",W.prototype.arrowSize)));return new mxPoint(b.x+(1-d)*b.width,b.y+(1-
+1;b=a.view.translate;var k=a.view.scale,l=c?f[0]:f[h],f=c?f[1]:f[h-1],h=f.x-l.x,m=f.y-l.y,D=Math.sqrt(h*h+m*m);d.x=(d.x+b.x)*k;d.y=(d.y+b.y)*k;e.call(this,D,h/D,m/D,l,f,d,g)})},la=function(a){return function(b){return[O(b,["arrowWidth","arrowSize"],function(b){var c=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"arrowWidth",W.prototype.arrowWidth))),d=Math.max(0,Math.min(a,mxUtils.getValue(this.state.style,"arrowSize",W.prototype.arrowSize)));return new mxPoint(b.x+(1-d)*b.width,b.y+(1-
 c)*b.height/2)},function(b,c){this.state.style.arrowWidth=Math.max(0,Math.min(1,Math.abs(b.y+b.height/2-c.y)/b.height*2));this.state.style.arrowSize=Math.max(0,Math.min(a,(b.x+b.width-c.x)/b.width))})]}},Ea=function(a,b,c){return function(d){var e=[O(d,["size"],function(c){var d=Math.max(0,Math.min(c.width,Math.min(c.height,parseFloat(mxUtils.getValue(this.state.style,"size",b)))))*a;return new mxPoint(c.x+d,c.y+d)},function(b,c){this.state.style.size=Math.round(Math.max(0,Math.min(Math.min(b.width,
 c.x-b.x),Math.min(b.height,c.y-b.y)))/a)})];c&&mxUtils.getValue(d.style,mxConstants.STYLE_ROUNDED,!1)&&e.push(ha(d));return e}},ua=function(a,b,c,d,e){c=null!=c?c:1;return function(g){var f=[O(g,["size"],function(b){var c=null!=e?"0"!=mxUtils.getValue(this.state.style,"fixedSize","0"):null,d=parseFloat(mxUtils.getValue(this.state.style,"size",c?e:a));return new mxPoint(b.x+Math.max(0,Math.min(b.width,d*(c?1:b.width))),b.getCenterY())},function(a,b,d){var f=null!=e?"0"!=mxUtils.getValue(this.state.style,
 "fixedSize","0"):null;a=f?b.x-a.x:Math.max(0,Math.min(c,(b.x-a.x)/a.width));f&&!mxEvent.isAltDown(d.getEvent())&&(a=g.view.graph.snap(a));this.state.style.size=a},null,d)];b&&mxUtils.getValue(g.style,mxConstants.STYLE_ROUNDED,!1)&&f.push(ha(g));return f}},Ja=function(a){return function(b){var c=[O(b,["size"],function(b){var c=Math.max(0,Math.min(a,parseFloat(mxUtils.getValue(this.state.style,"size",n.prototype.size))));return new mxPoint(b.x+c*b.width*.75,b.y+b.height/4)},function(b,c){this.state.style.size=
@@ -3092,7 +3095,7 @@ c)/a.view.scale;mxEvent.isControlDown(k.getEvent())&&(a.style[mxConstants.STYLE_
 a.view.scale;g=3*mxUtils.getNumber(a.style,mxConstants.STYLE_ENDSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(e.x+c*(g+a.shape.strokewidth*a.view.scale)-d*b/2,e.y+d*(g+a.shape.strokewidth*a.view.scale)+c*b/2)},function(c,d,e,g,f,h,k){c=Math.sqrt(mxUtils.ptSegDistSq(g.x,g.y,f.x,f.y,h.x,h.y));d=mxUtils.ptLineDist(g.x,g.y,g.x+e,g.y-d,h.x,h.y);a.style[mxConstants.STYLE_ENDSIZE]=Math.round(100*(d-a.shape.strokewidth)/3)/100/a.view.scale;a.style.endWidth=Math.max(0,Math.round(2*c)-a.shape.getEdgeWidth())/
 a.view.scale;mxEvent.isControlDown(k.getEvent())&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE],a.style.startWidth=a.style.endWidth);mxEvent.isAltDown(k.getEvent())||(Math.abs(parseFloat(a.style[mxConstants.STYLE_ENDSIZE])-parseFloat(a.style[mxConstants.STYLE_STARTSIZE]))<b/6&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE]),Math.abs(parseFloat(a.style.endWidth)-parseFloat(a.style.startWidth))<b&&(a.style.endWidth=a.style.startWidth))})));return c},
 swimlane:function(a){var b=[O(a,[mxConstants.STYLE_STARTSIZE],function(b){var c=parseFloat(mxUtils.getValue(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_STARTSIZE));return 1==mxUtils.getValue(a.style,mxConstants.STYLE_HORIZONTAL,1)?new mxPoint(b.getCenterX(),b.y+Math.max(0,Math.min(b.height,c))):new mxPoint(b.x+Math.max(0,Math.min(b.width,c)),b.getCenterY())},function(b,c){a.style[mxConstants.STYLE_STARTSIZE]=1==mxUtils.getValue(this.state.style,mxConstants.STYLE_HORIZONTAL,1)?Math.round(Math.max(0,
-Math.min(b.height,c.y-b.y))):Math.round(Math.max(0,Math.min(b.width,c.x-b.x)))})];if(mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED)){var c=parseFloat(mxUtils.getValue(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_STARTSIZE));b.push(ha(a,c/2))}return b},label:ra(),ext:ra(),rectangle:ra(),triangle:ra(),rhombus:ra(),umlLifeline:function(a){return[O(a,["size"],function(a){var b=Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(this.state.style,"size",L.prototype.size))));return new mxPoint(a.getCenterX(),
+Math.min(b.height,c.y-b.y))):Math.round(Math.max(0,Math.min(b.width,c.x-b.x)))})];if(mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED)){var c=parseFloat(mxUtils.getValue(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_STARTSIZE));b.push(ha(a,c/2))}return b},label:ra(),ext:ra(),rectangle:ra(),triangle:ra(),rhombus:ra(),umlLifeline:function(a){return[O(a,["size"],function(a){var b=Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(this.state.style,"size",M.prototype.size))));return new mxPoint(a.getCenterX(),
 a.y+b)},function(a,b){this.state.style.size=Math.round(Math.max(0,Math.min(a.height,b.y-a.y)))},!1)]},umlFrame:function(a){return[O(a,["width","height"],function(a){var b=Math.max(F.prototype.corner,Math.min(a.width,mxUtils.getValue(this.state.style,"width",F.prototype.width))),c=Math.max(1.5*F.prototype.corner,Math.min(a.height,mxUtils.getValue(this.state.style,"height",F.prototype.height)));return new mxPoint(a.x+b,a.y+c)},function(a,b){this.state.style.width=Math.round(Math.max(F.prototype.corner,
 Math.min(a.width,b.x-a.x)));this.state.style.height=Math.round(Math.max(1.5*F.prototype.corner,Math.min(a.height,b.y-a.y)))},!1)]},process:function(a){var b=[O(a,["size"],function(a){var b=Math.max(0,Math.min(.5,parseFloat(mxUtils.getValue(this.state.style,"size",v.prototype.size))));return new mxPoint(a.x+a.width*b,a.y+a.height/4)},function(a,b){this.state.style.size=Math.max(0,Math.min(.5,(b.x-a.x)/a.width))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&b.push(ha(a));return b},cross:function(a){return[O(a,
 ["size"],function(a){var b=Math.min(a.width,a.height),b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"size",oa.prototype.size)))*b/2;return new mxPoint(a.getCenterX()-b,a.getCenterY()-b)},function(a,b){var c=Math.min(a.width,a.height);this.state.style.size=Math.max(0,Math.min(1,Math.min(Math.max(0,a.getCenterY()-b.y)/c*2,Math.max(0,a.getCenterX()-b.x)/c*2)))})]},note:function(a){return[O(a,["size"],function(a){var b=Math.max(0,Math.min(a.width,Math.min(a.height,parseFloat(mxUtils.getValue(this.state.style,
@@ -3110,7 +3113,7 @@ Math.max(0,Math.min(1,(b.y-a.y)/a.height*2))})]},offPageConnector:function(a){re
 !1),cube:Ea(1,a.prototype.size,!1),card:Ea(.5,g.prototype.size,!0),loopLimit:Ea(.5,ba.prototype.size,!0),trapezoid:Ja(.5),parallelogram:Ja(1)};Graph.createHandle=O;Graph.handleFactory=sa;mxVertexHandler.prototype.createCustomHandles=function(){if(1==this.state.view.graph.getSelectionCount()&&this.graph.isCellRotatable(this.state.cell)){var a=this.state.style.shape;null==mxCellRenderer.defaultShapes[a]&&null==mxStencilRegistry.getStencil(a)&&(a=mxConstants.SHAPE_RECTANGLE);a=sa[a];null==a&&null!=this.state.shape&&
 this.state.shape.isRoundable()&&(a=sa[mxConstants.SHAPE_RECTANGLE]);if(null!=a)return a(this.state)}return null};mxEdgeHandler.prototype.createCustomHandles=function(){if(1==this.state.view.graph.getSelectionCount()){var a=this.state.style.shape;null==mxCellRenderer.defaultShapes[a]&&null==mxStencilRegistry.getStencil(a)&&(a=mxConstants.SHAPE_CONNECTOR);a=sa[a];if(null!=a)return a(this.state)}return null}}else Graph.createHandle=function(){},Graph.handleFactory={};var ya=new mxPoint(1,0),za=new mxPoint(1,
 0),la=mxUtils.toRadians(-30),ya=mxUtils.getRotatedPoint(ya,Math.cos(la),Math.sin(la)),la=mxUtils.toRadians(-150),za=mxUtils.getRotatedPoint(za,Math.cos(la),Math.sin(la));mxEdgeStyle.IsometricConnector=function(a,b,c,d,e){var g=a.view;d=null!=d&&0<d.length?d[0]:null;var f=a.absolutePoints,h=f[0],f=f[f.length-1];null!=d&&(d=g.transformControlPoint(a,d));null==h&&null!=b&&(h=new mxPoint(b.getCenterX(),b.getCenterY()));null==f&&null!=c&&(f=new mxPoint(c.getCenterX(),c.getCenterY()));var k=ya.x,l=ya.y,
-m=za.x,n=za.y,p="horizontal"==mxUtils.getValue(a.style,"elbow","horizontal");if(null!=f&&null!=h){a=function(a,b,c){a-=q.x;var d=b-q.y;b=(n*a-m*d)/(k*n-l*m);a=(l*a-k*d)/(l*m-k*n);p?(c&&(q=new mxPoint(q.x+k*b,q.y+l*b),e.push(q)),q=new mxPoint(q.x+m*a,q.y+n*a)):(c&&(q=new mxPoint(q.x+m*a,q.y+n*a),e.push(q)),q=new mxPoint(q.x+k*b,q.y+l*b));e.push(q)};var q=h;null==d&&(d=new mxPoint(h.x+(f.x-h.x)/2,h.y+(f.y-h.y)/2));a(d.x,d.y,!0);a(f.x,f.y,!1)}};mxStyleRegistry.putValue("isometricEdgeStyle",mxEdgeStyle.IsometricConnector);
+m=za.x,n=za.y,p="horizontal"==mxUtils.getValue(a.style,"elbow","horizontal");if(null!=f&&null!=h){a=function(a,b,c){a-=r.x;var d=b-r.y;b=(n*a-m*d)/(k*n-l*m);a=(l*a-k*d)/(l*m-k*n);p?(c&&(r=new mxPoint(r.x+k*b,r.y+l*b),e.push(r)),r=new mxPoint(r.x+m*a,r.y+n*a)):(c&&(r=new mxPoint(r.x+m*a,r.y+n*a),e.push(r)),r=new mxPoint(r.x+k*b,r.y+l*b));e.push(r)};var r=h;null==d&&(d=new mxPoint(h.x+(f.x-h.x)/2,h.y+(f.y-h.y)/2));a(d.x,d.y,!0);a(f.x,f.y,!1)}};mxStyleRegistry.putValue("isometricEdgeStyle",mxEdgeStyle.IsometricConnector);
 var Pa=Graph.prototype.createEdgeHandler;Graph.prototype.createEdgeHandler=function(a,b){if(b==mxEdgeStyle.IsometricConnector){var c=new mxElbowEdgeHandler(a);c.snapToTerminals=!1;return c}return Pa.apply(this,arguments)};c.prototype.constraints=[];d.prototype.getConstraints=function(a,b,c){a=[];var d=Math.tan(mxUtils.toRadians(30)),e=(.5-d)/2,d=Math.min(b,c/(.5+d));b=(b-d)/2;c=(c-d)/2;a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b,c+.25*d));a.push(new mxConnectionConstraint(new mxPoint(0,
 0),!1,null,b+.5*d,c+d*e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b+d,c+.25*d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b+d,c+.75*d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b+.5*d,c+(1-e)*d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b,c+.75*d));return a};w.prototype.getConstraints=function(a,b,c){a=[];mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE);var d=Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style,
 "size",this.size))));parseFloat(mxUtils.getValue(this.style,"position",this.position));var e=b*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"position2",this.position2))));parseFloat(mxUtils.getValue(this.style,"base",this.base));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.25,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.75,0),!1));a.push(new mxConnectionConstraint(new mxPoint(1,
@@ -3131,7 +3134,7 @@ ka.prototype.constraints=mxEllipse.prototype.constraints;va.prototype.constraint
 0),!1,null,e,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(e+b-d),0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b-d,0));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1,null));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b-d,c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(e+b-d),c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,e,c));return a};ba.prototype.constraints=mxRectangleShape.prototype.constraints;Z.prototype.constraints=
 mxRectangleShape.prototype.constraints;mxCylinder.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.15,.05),!1),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.85,.05),!1),new mxConnectionConstraint(new mxPoint(0,.3),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.7),!0),new mxConnectionConstraint(new mxPoint(1,.3),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,
 .7),!0),new mxConnectionConstraint(new mxPoint(.15,.95),!1),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.85,.95),!1)];E.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,.1),!1),new mxConnectionConstraint(new mxPoint(.5,0),!1),new mxConnectionConstraint(new mxPoint(.75,.1),!1),new mxConnectionConstraint(new mxPoint(0,1/3),!1),new mxConnectionConstraint(new mxPoint(0,1),!1),new mxConnectionConstraint(new mxPoint(1,1/3),!1),new mxConnectionConstraint(new mxPoint(1,
-1),!1),new mxConnectionConstraint(new mxPoint(.5,.5),!1)];I.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(0,.3),!0),new mxConnectionConstraint(new mxPoint(0,.7),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.25,
+1),!1),new mxConnectionConstraint(new mxPoint(.5,.5),!1)];K.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(0,.3),!0),new mxConnectionConstraint(new mxPoint(0,.7),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.25,
 1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0)];mxActor.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.25,.2),!1),new mxConnectionConstraint(new mxPoint(.1,.5),!1),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(.75,.25),!1),new mxConnectionConstraint(new mxPoint(.9,.5),!1),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.25,
 1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0)];e.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!1),new mxConnectionConstraint(new mxPoint(.5,.25),!1),new mxConnectionConstraint(new mxPoint(1,0),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.75,.5),!1),new mxConnectionConstraint(new mxPoint(0,1),!1),new mxConnectionConstraint(new mxPoint(.5,.75),!1),new mxConnectionConstraint(new mxPoint(1,
 1),!1)];k.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.35),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,.65),!1),new mxConnectionConstraint(new mxPoint(1,.35),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(1,.65),!1),new mxConnectionConstraint(new mxPoint(.25,1),!1),new mxConnectionConstraint(new mxPoint(.75,0),!1)];t.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),
@@ -3152,15 +3155,15 @@ mxRectangleShape.prototype.constraints;mxCylinder.prototype.constraints=[new mxC
 0),!1,null,b-e,0));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b-e,c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*b,c-d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,e,c));return a};oa.prototype.getConstraints=function(a,b,c){a=[];var d=Math.min(c,b),e=Math.max(0,Math.min(d,d*parseFloat(mxUtils.getValue(this.style,"size",this.size)))),d=(c-e)/2,g=d+e,f=(b-e)/2,e=f+e;a.push(new mxConnectionConstraint(new mxPoint(0,
 0),!1,null,f,.5*d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,f,0));a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,e,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,e,.5*d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,e,d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,f,c-.5*d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,f,c));a.push(new mxConnectionConstraint(new mxPoint(.5,
 1),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,e,c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,e,c-.5*d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,e,g));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(b+e),d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b,d));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,b,g));a.push(new mxConnectionConstraint(new mxPoint(0,
-0),!1,null,.5*(b+e),g));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,f,g));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*f,d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,d));a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,g));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*f,g));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,f,d));return a};L.prototype.constraints=
+0),!1,null,.5*(b+e),g));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,f,g));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*f,d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,d));a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,g));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*f,g));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,f,d));return a};M.prototype.constraints=
 null;fa.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.25),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,.75),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(.7,.1),!1),new mxConnectionConstraint(new mxPoint(.7,.9),!1)];ga.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.175,.25),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.175,
-.75),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(.7,.1),!1),new mxConnectionConstraint(new mxPoint(.7,.9),!1)];S.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1)];K.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1)]})();function Actions(a){this.editorUi=a;this.actions={};this.init()}
+.75),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(.7,.1),!1),new mxConnectionConstraint(new mxPoint(.7,.9),!1)];S.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1)];L.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1)]})();function Actions(a){this.editorUi=a;this.actions={};this.init()}
 Actions.prototype.init=function(){function a(a){b.escape();var c=b.getDeletableCells(b.getSelectionCells());if(null!=c&&0<c.length){var d=b.selectParentAfterDelete?b.model.getParents(c):null;b.removeCells(c,a);if(null!=d){a=[];for(c=0;c<d.length;c++)b.model.contains(d[c])&&(b.model.isVertex(d[c])||b.model.isEdge(d[c]))&&a.push(d[c]);b.setSelectionCells(a)}}}var c=this.editorUi,d=c.editor,b=d.graph,f=function(){return Action.prototype.isEnabled.apply(this,arguments)&&b.isEnabled()};this.addAction("new...",
 function(){b.openLink(c.getUrl())});this.addAction("open...",function(){window.openNew=!0;window.openKey="open";c.openFile()});this.addAction("import...",function(){window.openNew=!1;window.openKey="import";window.openFile=new OpenFile(mxUtils.bind(this,function(){c.hideDialog()}));window.openFile.setConsumer(mxUtils.bind(this,function(a,b){try{var c=mxUtils.parseXml(a);d.graph.setSelectionCells(d.graph.importGraphModel(c.documentElement))}catch(m){mxUtils.alert(mxResources.get("invalidOrMissingFile")+
 ": "+m.message)}}));c.showDialog((new OpenDialog(this)).container,320,220,!0,!0,function(){window.openFile=null})}).isEnabled=f;this.addAction("save",function(){c.saveFile(!1)},null,null,Editor.ctrlKey+"+S").isEnabled=f;this.addAction("saveAs...",function(){c.saveFile(!0)},null,null,Editor.ctrlKey+"+Shift+S").isEnabled=f;this.addAction("export...",function(){c.showDialog((new ExportDialog(c)).container,300,296,!0,!0)});this.addAction("editDiagram...",function(){var a=new EditDiagramDialog(c);c.showDialog(a.container,
 620,420,!0,!1);a.init()});this.addAction("pageSetup...",function(){c.showDialog((new PageSetupDialog(c)).container,320,220,!0,!0)}).isEnabled=f;this.addAction("print...",function(){c.showDialog((new PrintDialog(c)).container,300,180,!0,!0)},null,"sprite-print",Editor.ctrlKey+"+P");this.addAction("preview",function(){mxUtils.show(b,null,10,10)});this.addAction("undo",function(){c.undo()},null,"sprite-undo",Editor.ctrlKey+"+Z");this.addAction("redo",function(){c.redo()},null,"sprite-redo",mxClient.IS_WIN?
 Editor.ctrlKey+"+Y":Editor.ctrlKey+"+Shift+Z");this.addAction("cut",function(){mxClipboard.cut(b)},null,"sprite-cut",Editor.ctrlKey+"+X");this.addAction("copy",function(){try{mxClipboard.copy(b)}catch(g){c.handleError(g)}},null,"sprite-copy",Editor.ctrlKey+"+C");this.addAction("paste",function(){b.isEnabled()&&!b.isCellLocked(b.getDefaultParent())&&mxClipboard.paste(b)},!1,"sprite-paste",Editor.ctrlKey+"+V");this.addAction("pasteHere",function(a){if(b.isEnabled()&&!b.isCellLocked(b.getDefaultParent())){b.getModel().beginUpdate();
-try{var c=mxClipboard.paste(b);if(null!=c){a=!0;for(var d=0;d<c.length&&a;d++)a=a&&b.model.isEdge(c[d]);var e=b.view.translate,g=b.view.scale,f=e.x,h=e.y,e=null;if(1==c.length&&a){var u=b.getCellGeometry(c[0]);null!=u&&(e=u.getTerminalPoint(!0))}e=null!=e?e:b.getBoundingBoxFromGeometry(c,a);if(null!=e){var v=Math.round(b.snap(b.popupMenuHandler.triggerX/g-f)),r=Math.round(b.snap(b.popupMenuHandler.triggerY/g-h));b.cellsMoved(c,v-e.x,r-e.y)}}}finally{b.getModel().endUpdate()}}});this.addAction("copySize",
+try{var c=mxClipboard.paste(b);if(null!=c){a=!0;for(var d=0;d<c.length&&a;d++)a=a&&b.model.isEdge(c[d]);var e=b.view.translate,g=b.view.scale,f=e.x,h=e.y,e=null;if(1==c.length&&a){var u=b.getCellGeometry(c[0]);null!=u&&(e=u.getTerminalPoint(!0))}e=null!=e?e:b.getBoundingBoxFromGeometry(c,a);if(null!=e){var v=Math.round(b.snap(b.popupMenuHandler.triggerX/g-f)),q=Math.round(b.snap(b.popupMenuHandler.triggerY/g-h));b.cellsMoved(c,v-e.x,q-e.y)}}}finally{b.getModel().endUpdate()}}});this.addAction("copySize",
 function(a){a=b.getSelectionCell();b.isEnabled()&&null!=a&&b.getModel().isVertex(a)&&(a=b.getCellGeometry(a),null!=a&&(c.copiedSize=new mxRectangle(a.x,a.y,a.width,a.height)))},null,null,"Alt+Shift+X");this.addAction("pasteSize",function(a){if(b.isEnabled()&&!b.isSelectionEmpty()&&null!=c.copiedSize){b.getModel().beginUpdate();try{var d=b.getSelectionCells();for(a=0;a<d.length;a++)if(b.getModel().isVertex(d[a])){var e=b.getCellGeometry(d[a]);null!=e&&(e=e.clone(),e.width=c.copiedSize.width,e.height=
 c.copiedSize.height,b.getModel().setGeometry(d[a],e))}}finally{b.getModel().endUpdate()}}},null,null,"Alt+Shift+V");this.addAction("delete",function(b){a(null!=b&&mxEvent.isShiftDown(b))},null,null,"Delete");this.addAction("deleteAll",function(){a(!0)},null,null,Editor.ctrlKey+"+Delete");this.addAction("duplicate",function(){try{b.setSelectionCells(b.duplicateCells())}catch(g){c.handleError(g)}},null,null,Editor.ctrlKey+"+D");this.put("turn",new Action(mxResources.get("turn")+" / "+mxResources.get("reverse"),
 function(){b.turnShapes(b.getSelectionCells())},null,null,Editor.ctrlKey+"+R"));this.addAction("selectVertices",function(){b.selectVertices(null,!0)},null,null,Editor.ctrlKey+"+Shift+I");this.addAction("selectEdges",function(){b.selectEdges()},null,null,Editor.ctrlKey+"+Shift+E");this.addAction("selectAll",function(){b.selectAll(null,!0)},null,null,Editor.ctrlKey+"+A");this.addAction("selectNone",function(){b.clearSelection()},null,null,Editor.ctrlKey+"+Shift+A");this.addAction("lockUnlock",function(){if(!b.isSelectionEmpty()){b.getModel().beginUpdate();
@@ -3171,8 +3174,8 @@ null,null,"F2/Enter");this.addAction("editData...",function(){var a=b.getSelecti
 320,200,!0,!0);d.init()}},null,null,"Alt+Shift+T");this.addAction("openLink",function(){var a=b.getLinkForCell(b.getSelectionCell());null!=a&&b.openLink(a)});this.addAction("editLink...",function(){var a=c.editor.graph;if(a.isEnabled()&&!a.isSelectionEmpty()){var b=a.getSelectionCell(),d=a.getLinkForCell(b)||"";c.showLinkDialog(d,mxResources.get("apply"),function(c){c=mxUtils.trim(c);a.setLinkForCell(b,0<c.length?c:null)})}},null,null,"Alt+Shift+L");this.put("insertImage",new Action(mxResources.get("image")+
 "...",function(){b.isEnabled()&&!b.isCellLocked(b.getDefaultParent())&&(b.clearSelection(),c.actions.get("image").funct())})).isEnabled=f;this.put("insertLink",new Action(mxResources.get("link")+"...",function(){b.isEnabled()&&!b.isCellLocked(b.getDefaultParent())&&c.showLinkDialog("",mxResources.get("insert"),function(a,c){a=mxUtils.trim(a);if(0<a.length){var d=null,e=b.getLinkTitle(a);null!=c&&0<c.length&&(d=c[0].iconUrl,e=c[0].name||c[0].type,e=e.charAt(0).toUpperCase()+e.substring(1),30<e.length&&
 (e=e.substring(0,30)+"..."));var g=b.getFreeInsertPoint(),d=new mxCell(e,new mxGeometry(g.x,g.y,100,40),"fontColor=#0000EE;fontStyle=4;rounded=1;overflow=hidden;"+(null!=d?"shape=label;imageWidth=16;imageHeight=16;spacingLeft=26;align=left;image="+d:"spacing=10;"));d.vertex=!0;b.setLinkForCell(d,a);b.cellSizeUpdated(d,!0);b.getModel().beginUpdate();try{d=b.addCell(d),b.fireEvent(new mxEventObject("cellsInserted","cells",[d]))}finally{b.getModel().endUpdate()}b.setSelectionCell(d);b.scrollCellToVisible(b.getSelectionCell())}})})).isEnabled=
-f;this.addAction("link...",mxUtils.bind(this,function(){var a=c.editor.graph;if(a.isEnabled())if(a.cellEditor.isContentEditing()){var b=a.getSelectedElement(),d=a.getParentByName(b,"A",a.cellEditor.textarea),e="";if(null==d&&null!=b&&null!=b.getElementsByTagName)for(var f=b.getElementsByTagName("a"),h=0;h<f.length&&null==d;h++)f[h].textContent==b.textContent&&(d=f[h]);null!=d&&"A"==d.nodeName&&(e=d.getAttribute("href")||"",a.selectNode(d));var q=a.cellEditor.saveSelection();c.showLinkDialog(e,mxResources.get("apply"),
-mxUtils.bind(this,function(b){a.cellEditor.restoreSelection(q);null!=b&&a.insertLink(b)}))}else a.isSelectionEmpty()?this.get("insertLink").funct():this.get("editLink").funct()})).isEnabled=f;this.addAction("autosize",function(){var a=b.getSelectionCells();if(null!=a){b.getModel().beginUpdate();try{for(var c=0;c<a.length;c++){var d=a[c];if(b.getModel().getChildCount(d))b.updateGroupBounds([d],20);else{var e=b.view.getState(d),f=b.getCellGeometry(d);b.getModel().isVertex(d)&&null!=e&&null!=e.text&&
+f;this.addAction("link...",mxUtils.bind(this,function(){var a=c.editor.graph;if(a.isEnabled())if(a.cellEditor.isContentEditing()){var b=a.getSelectedElement(),d=a.getParentByName(b,"A",a.cellEditor.textarea),e="";if(null==d&&null!=b&&null!=b.getElementsByTagName)for(var f=b.getElementsByTagName("a"),h=0;h<f.length&&null==d;h++)f[h].textContent==b.textContent&&(d=f[h]);null!=d&&"A"==d.nodeName&&(e=d.getAttribute("href")||"",a.selectNode(d));var r=a.cellEditor.saveSelection();c.showLinkDialog(e,mxResources.get("apply"),
+mxUtils.bind(this,function(b){a.cellEditor.restoreSelection(r);null!=b&&a.insertLink(b)}))}else a.isSelectionEmpty()?this.get("insertLink").funct():this.get("editLink").funct()})).isEnabled=f;this.addAction("autosize",function(){var a=b.getSelectionCells();if(null!=a){b.getModel().beginUpdate();try{for(var c=0;c<a.length;c++){var d=a[c];if(b.getModel().getChildCount(d))b.updateGroupBounds([d],20);else{var e=b.view.getState(d),f=b.getCellGeometry(d);b.getModel().isVertex(d)&&null!=e&&null!=e.text&&
 null!=f&&b.isWrapping(d)?(f=f.clone(),f.height=e.text.boundingBox.height/b.view.scale,b.getModel().setGeometry(d,f)):b.updateCellSize(d)}}}finally{b.getModel().endUpdate()}}},null,null,Editor.ctrlKey+"+Shift+Y");this.addAction("formattedText",function(){var a=b.getView().getState(b.getSelectionCell());if(null!=a){b.stopEditing();a="1"==a.style.html?null:"1";b.getModel().beginUpdate();try{for(var d=b.getSelectionCells(),e=0;e<d.length;e++)if(state=b.getView().getState(d[e]),null!=state){var f=mxUtils.getValue(state.style,
 "html","0");if("1"==f&&null==a){var h=b.convertValueToString(state.cell);"0"!=mxUtils.getValue(state.style,"nl2Br","1")&&(h=h.replace(/\n/g,"").replace(/<br\s*.?>/g,"\n"));var p=document.createElement("div");p.innerHTML=h;h=mxUtils.extractTextWithWhitespace(p.childNodes);b.cellLabelChanged(state.cell,h);b.setCellStyles("html",a,[d[e]])}else"0"==f&&"1"==a&&(h=mxUtils.htmlEntities(b.convertValueToString(state.cell),!1),"0"!=mxUtils.getValue(state.style,"nl2Br","1")&&(h=h.replace(/\n/g,"<br/>")),b.cellLabelChanged(state.cell,
 b.sanitizeHtml(h)),b.setCellStyles("html",a,[d[e]]))}c.fireEvent(new mxEventObject("styleChanged","keys",["html"],"values",[null!=a?a:"0"],"cells",d))}finally{b.getModel().endUpdate()}}});this.addAction("wordWrap",function(){var a=b.getView().getState(b.getSelectionCell()),c="wrap";b.stopEditing();null!=a&&"wrap"==a.style[mxConstants.STYLE_WHITE_SPACE]&&(c=null);b.setCellStyles(mxConstants.STYLE_WHITE_SPACE,c)});this.addAction("rotation",function(){var a="0",d=b.getView().getState(b.getSelectionCell());
@@ -3234,9 +3237,9 @@ Menus.prototype.addMenu=function(a,c,d){var b=this.get(a);null!=b&&(c.showDisabl
 Menus.prototype.addInsertTableItem=function(a){function c(a,b){for(var c=["<table>"],d=0;d<a;d++){c.push("<tr>");for(var e=0;e<b;e++)c.push("<td><br></td>");c.push("</tr>")}c.push("</table>");return c.join("")}var d=this.editorUi.editor.graph;a=a.addItem("",null,mxUtils.bind(this,function(a){var b=d.getParentByName(mxEvent.getSource(a),"TD");if(null!=b&&null!=d.cellEditor.textarea){var e=d.getParentByName(b,"TR"),f=d.cellEditor.textarea.getElementsByTagName("table");a=[];for(var h=0;h<f.length;h++)a.push(f[h]);
 d.container.focus();d.pasteHtmlAtCaret(c(e.sectionRowIndex+1,b.cellIndex+1));b=d.cellEditor.textarea.getElementsByTagName("table");if(b.length==a.length+1)for(h=b.length-1;0<=h;h--)if(0==h||b[h]!=a[h-1]){d.selectNode(b[h].rows[0].cells[0]);break}}}));var b='<img src="'+mxClient.imageBasePath+'/transparent.gif" width="16" height="16"/>';a.firstChild.innerHTML="";var f=function(a,c){var d=document.createElement("table");d.setAttribute("border","1");d.style.borderCollapse="collapse";mxClient.IS_QUIRKS||
 d.setAttribute("cellPadding","8");for(var e=0;e<a;e++)for(var f=d.insertRow(e),g=0;g<c;g++){var h=f.insertCell(-1);mxClient.IS_QUIRKS&&(h.innerHTML=b)}return d}(5,5);a.firstChild.appendChild(f);var e=document.createElement("div");e.style.padding="4px";e.style.fontSize=Menus.prototype.defaultFontSize+"px";e.innerHTML="1x1";a.firstChild.appendChild(e);mxEvent.addListener(f,"mouseover",function(a){var c=d.getParentByName(mxEvent.getSource(a),"TD");if(null!=c){for(var h=d.getParentByName(c,"TR"),l=Math.min(20,
-h.sectionRowIndex+2),m=Math.min(20,c.cellIndex+2),n=f.rows.length;n<l;n++)for(var p=f.insertRow(n),q=0;q<f.rows[0].cells.length;q++){var u=p.insertCell(-1);mxClient.IS_QUIRKS&&(u.innerHTML=b)}for(n=0;n<f.rows.length;n++)for(p=f.rows[n],q=p.cells.length;q<m;q++)u=p.insertCell(-1),mxClient.IS_QUIRKS&&(u.innerHTML=b);e.innerHTML=c.cellIndex+1+"x"+(h.sectionRowIndex+1);for(l=0;l<f.rows.length;l++)for(m=f.rows[l],n=0;n<m.cells.length;n++)m.cells[n].style.backgroundColor=l<=h.sectionRowIndex&&n<=c.cellIndex?
+h.sectionRowIndex+2),m=Math.min(20,c.cellIndex+2),n=f.rows.length;n<l;n++)for(var p=f.insertRow(n),r=0;r<f.rows[0].cells.length;r++){var u=p.insertCell(-1);mxClient.IS_QUIRKS&&(u.innerHTML=b)}for(n=0;n<f.rows.length;n++)for(p=f.rows[n],r=p.cells.length;r<m;r++)u=p.insertCell(-1),mxClient.IS_QUIRKS&&(u.innerHTML=b);e.innerHTML=c.cellIndex+1+"x"+(h.sectionRowIndex+1);for(l=0;l<f.rows.length;l++)for(m=f.rows[l],n=0;n<m.cells.length;n++)m.cells[n].style.backgroundColor=l<=h.sectionRowIndex&&n<=c.cellIndex?
 "blue":"white";mxEvent.consume(a)}})};
-Menus.prototype.edgeStyleChange=function(a,c,d,b,f,e,h){return a.addItem(c,null,mxUtils.bind(this,function(){var a=this.editorUi.editor.graph;a.stopEditing(!1);a.getModel().beginUpdate();try{for(var c=a.getSelectionCells(),e=[],f=0;f<c.length;f++){var n=c[f];if(a.getModel().isEdge(n)){if(h){var p=a.getCellGeometry(n);null!=p&&(p=p.clone(),p.points=null,a.getModel().setGeometry(n,p))}for(var q=0;q<d.length;q++)a.setCellStyles(d[q],b[q],[n]);e.push(n)}}this.editorUi.fireEvent(new mxEventObject("styleChanged","keys",
+Menus.prototype.edgeStyleChange=function(a,c,d,b,f,e,h){return a.addItem(c,null,mxUtils.bind(this,function(){var a=this.editorUi.editor.graph;a.stopEditing(!1);a.getModel().beginUpdate();try{for(var c=a.getSelectionCells(),e=[],f=0;f<c.length;f++){var n=c[f];if(a.getModel().isEdge(n)){if(h){var p=a.getCellGeometry(n);null!=p&&(p=p.clone(),p.points=null,a.getModel().setGeometry(n,p))}for(var r=0;r<d.length;r++)a.setCellStyles(d[r],b[r],[n]);e.push(n)}}this.editorUi.fireEvent(new mxEventObject("styleChanged","keys",
 d,"values",b,"cells",e))}finally{a.getModel().endUpdate()}}),e,f)};Menus.prototype.styleChange=function(a,c,d,b,f,e,h,g){var k=this.createStyleChangeFunction(d,b);return a.addItem(c,null,mxUtils.bind(this,function(){var a=this.editorUi.editor.graph;null!=h&&a.cellEditor.isContentEditing()?h():k(g)}),e,f)};
 Menus.prototype.createStyleChangeFunction=function(a,c){return mxUtils.bind(this,function(d){var b=this.editorUi.editor.graph;b.stopEditing(!1);b.getModel().beginUpdate();try{for(var f=b.getSelectionCells(),e=0;e<a.length;e++)if(b.setCellStyles(a[e],c[e],f),a[e]==mxConstants.STYLE_ALIGN&&b.updateLabelElements(f,function(a){a.removeAttribute("align");a.style.textAlign=null}),a[e]==mxConstants.STYLE_FONTFAMILY)for(e=0;e<f.length;e++)0==b.model.getChildCount(f[e])&&b.autoSizeCell(f[e],!1);null!=d&&d();
 this.editorUi.fireEvent(new mxEventObject("styleChanged","keys",a,"values",c,"cells",f))}finally{b.getModel().endUpdate()}})};
@@ -3302,8 +3305,8 @@ Toolbar.prototype.createLabel=function(a,c){var d=document.createElement("a");d.
 Toolbar.prototype.addMenuHandler=function(a,c,d,b){if(null!=d){var f=this.editorUi.editor.graph,e=null,h=!0;mxEvent.addListener(a,"click",mxUtils.bind(this,function(g){if(h&&(null==a.enabled||a.enabled)){f.popupMenuHandler.hideMenu();e=new mxPopupMenu(d);e.div.className+=" geToolbarMenu";e.showDisabled=b;e.labels=c;e.autoExpand=!0;var k=mxUtils.getOffset(a);e.popup(k.x,k.y+a.offsetHeight,null,g);this.editorUi.setCurrentMenu(e,a);!c&&e.div.scrollHeight>e.div.clientHeight&&(e.div.style.width="40px");
 e.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(e,arguments);this.editorUi.resetCurrentMenu();e.destroy()});e.addListener(mxEvent.EVENT_HIDE,mxUtils.bind(this,function(){this.currentElt=null}))}h=!0;mxEvent.consume(g)}));mxEvent.addListener(a,mxClient.IS_POINTER?"pointerdown":"mousedown",mxUtils.bind(this,function(b){h=this.currentElt!=a;b.preventDefault()}))}};
 Toolbar.prototype.destroy=function(){null!=this.gestureHandler&&(mxEvent.removeGestureListeners(document,this.gestureHandler),this.gestureHandler=null)};var OpenDialog=function(){var a=document.createElement("iframe");a.style.backgroundColor="transparent";a.allowTransparency="true";a.style.borderStyle="none";a.style.borderWidth="0px";a.style.overflow="hidden";a.frameBorder="0";var c=mxClient.IS_VML&&(null==document.documentMode||8>document.documentMode)?20:0;a.setAttribute("width",(Editor.useLocalStorage?640:320)+c+"px");a.setAttribute("height",(Editor.useLocalStorage?480:220)+c+"px");a.setAttribute("src",OPEN_FORM);this.container=a},ColorDialog=
-function(a,c,d,b){function f(){var a=e(0==ColorDialog.recentColors.length?["FFFFFF"]:ColorDialog.recentColors,11,"FFFFFF",!0);a.style.marginBottom="8px";return a}function e(a,b,c,d){b=null!=b?b:12;var e=document.createElement("table");e.style.borderCollapse="collapse";e.setAttribute("cellspacing","0");e.style.marginBottom="20px";e.style.cellSpacing="0px";var k=document.createElement("tbody");e.appendChild(k);for(var m=a.length/b,n=0;n<m;n++){for(var p=document.createElement("tr"),q=0;q<b;q++)(function(a){var b=
-document.createElement("td");b.style.border="1px solid black";b.style.padding="0px";b.style.width="16px";b.style.height="16px";null==a&&(a=c);"none"==a?b.style.background="url('"+Dialog.prototype.noColorImage+"')":b.style.backgroundColor="#"+a;p.appendChild(b);null!=a&&(b.style.cursor="pointer",mxEvent.addListener(b,"click",function(){"none"==a?(g.fromString("ffffff"),h.value="none"):g.fromString(a)}))})(a[n*b+q]);k.appendChild(p)}d&&(a=document.createElement("td"),a.setAttribute("title",mxResources.get("reset")),
+function(a,c,d,b){function f(){var a=e(0==ColorDialog.recentColors.length?["FFFFFF"]:ColorDialog.recentColors,11,"FFFFFF",!0);a.style.marginBottom="8px";return a}function e(a,b,c,d){b=null!=b?b:12;var e=document.createElement("table");e.style.borderCollapse="collapse";e.setAttribute("cellspacing","0");e.style.marginBottom="20px";e.style.cellSpacing="0px";var k=document.createElement("tbody");e.appendChild(k);for(var m=a.length/b,n=0;n<m;n++){for(var p=document.createElement("tr"),r=0;r<b;r++)(function(a){var b=
+document.createElement("td");b.style.border="1px solid black";b.style.padding="0px";b.style.width="16px";b.style.height="16px";null==a&&(a=c);"none"==a?b.style.background="url('"+Dialog.prototype.noColorImage+"')":b.style.backgroundColor="#"+a;p.appendChild(b);null!=a&&(b.style.cursor="pointer",mxEvent.addListener(b,"click",function(){"none"==a?(g.fromString("ffffff"),h.value="none"):g.fromString(a)}))})(a[n*b+r]);k.appendChild(p)}d&&(a=document.createElement("td"),a.setAttribute("title",mxResources.get("reset")),
 a.style.border="1px solid black",a.style.padding="0px",a.style.width="16px",a.style.height="16px",a.style.backgroundImage="url('"+Dialog.prototype.closeImage+"')",a.style.backgroundPosition="center center",a.style.backgroundRepeat="no-repeat",a.style.cursor="pointer",p.appendChild(a),mxEvent.addListener(a,"click",function(){ColorDialog.resetRecentColors();e.parentNode.replaceChild(f(),e)}));l.appendChild(e);return e}this.editorUi=a;var h=document.createElement("input");h.style.marginBottom="10px";
 h.style.width="216px";mxClient.IS_IE&&(h.style.marginTop="10px",document.body.appendChild(h));this.init=function(){mxClient.IS_TOUCH||h.focus()};var g=new jscolor.color(h);g.pickerOnfocus=!1;g.showPicker();var k=document.createElement("div");jscolor.picker.box.style.position="relative";jscolor.picker.box.style.width="230px";jscolor.picker.box.style.height="100px";jscolor.picker.box.style.paddingBottom="10px";k.appendChild(jscolor.picker.box);var l=document.createElement("center");k.appendChild(h);
 mxUtils.br(k);f();var m=e(this.presetColors);m.style.marginBottom="8px";m=e(this.defaultColors);m.style.marginBottom="16px";k.appendChild(l);m=document.createElement("div");m.style.textAlign="right";m.style.whiteSpace="nowrap";var n=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog();null!=b&&b()});n.className="geBtn";a.editor.cancelFirst&&m.appendChild(n);var p=null!=d?d:this.createApplyFunction();d=mxUtils.button(mxResources.get("apply"),function(){var b=h.value;/(^#?[a-zA-Z0-9]*$)/.test(b)?
@@ -3312,53 +3315,53 @@ this.container=k};ColorDialog.prototype.presetColors="E6D0DE CDA2BE B5739D E1D5E
 ColorDialog.prototype.createApplyFunction=function(){return mxUtils.bind(this,function(a){var c=this.editorUi.editor.graph;c.getModel().beginUpdate();try{c.setCellStyles(this.currentColorKey,a),this.editorUi.fireEvent(new mxEventObject("styleChanged","keys",[this.currentColorKey],"values",[a],"cells",c.getSelectionCells()))}finally{c.getModel().endUpdate()}})};ColorDialog.recentColors=[];
 ColorDialog.addRecentColor=function(a,c){null!=a&&(mxUtils.remove(a,ColorDialog.recentColors),ColorDialog.recentColors.splice(0,0,a),ColorDialog.recentColors.length>=c&&ColorDialog.recentColors.pop())};ColorDialog.resetRecentColors=function(){ColorDialog.recentColors=[]};
 var AboutDialog=function(a){var c=document.createElement("div");c.setAttribute("align","center");var d=document.createElement("h3");mxUtils.write(d,mxResources.get("about")+" GraphEditor");c.appendChild(d);d=document.createElement("img");d.style.border="0px";d.setAttribute("width","176");d.setAttribute("width","151");d.setAttribute("src",IMAGE_PATH+"/logo.png");c.appendChild(d);mxUtils.br(c);mxUtils.write(c,"Powered by mxGraph "+mxClient.VERSION);mxUtils.br(c);d=document.createElement("a");d.setAttribute("href",
-"http://www.jgraph.com/");d.setAttribute("target","_blank");mxUtils.write(d,"www.jgraph.com");c.appendChild(d);mxUtils.br(c);mxUtils.br(c);d=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});d.className="geBtn gePrimaryBtn";c.appendChild(d);this.container=c},FilenameDialog=function(a,c,d,b,f,e,h,g,k,l,m,n){k=null!=k?k:!0;var p,q,u=document.createElement("table"),v=document.createElement("tbody");u.style.marginTop="8px";p=document.createElement("tr");q=document.createElement("td");
-q.style.whiteSpace="nowrap";q.style.fontSize="10pt";q.style.width="120px";mxUtils.write(q,(f||mxResources.get("filename"))+":");p.appendChild(q);var r=document.createElement("input");r.setAttribute("value",c||"");r.style.marginLeft="4px";r.style.width=null!=n?n+"px":"180px";var w=mxUtils.button(d,function(){if(null==e||e(r.value))k&&a.hideDialog(),b(r.value)});w.className="geBtn gePrimaryBtn";this.init=function(){if(null!=f||null==h)if(r.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||
-mxClient.IS_QUIRKS?r.select():document.execCommand("selectAll",!1,null),Graph.fileSupport){var a=u.parentNode;if(null!=a){var b=null;mxEvent.addListener(a,"dragleave",function(a){null!=b&&(b.style.backgroundColor="",b=null);a.stopPropagation();a.preventDefault()});mxEvent.addListener(a,"dragover",mxUtils.bind(this,function(a){null==b&&(!mxClient.IS_IE||10<document.documentMode)&&(b=r,b.style.backgroundColor="#ebf2f9");a.stopPropagation();a.preventDefault()}));mxEvent.addListener(a,"drop",mxUtils.bind(this,
-function(a){null!=b&&(b.style.backgroundColor="",b=null);0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")&&(r.value=decodeURIComponent(a.dataTransfer.getData("text/uri-list")),w.click());a.stopPropagation();a.preventDefault()}))}}};q=document.createElement("td");q.style.whiteSpace="nowrap";q.appendChild(r);p.appendChild(q);if(null!=f||null==h)v.appendChild(p),null!=m&&q.appendChild(FilenameDialog.createTypeHint(a,r,m));null!=h&&(p=document.createElement("tr"),q=document.createElement("td"),
-q.colSpan=2,q.appendChild(h),p.appendChild(q),v.appendChild(p));p=document.createElement("tr");q=document.createElement("td");q.colSpan=2;q.style.paddingTop="20px";q.style.whiteSpace="nowrap";q.setAttribute("align","right");c=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog();null!=l&&l()});c.className="geBtn";a.editor.cancelFirst&&q.appendChild(c);null!=g&&(d=mxUtils.button(mxResources.get("help"),function(){a.editor.graph.openLink(g)}),d.className="geBtn",q.appendChild(d));mxEvent.addListener(r,
-"keypress",function(a){13==a.keyCode&&w.click()});q.appendChild(w);a.editor.cancelFirst||q.appendChild(c);p.appendChild(q);v.appendChild(p);u.appendChild(v);this.container=u};FilenameDialog.filenameHelpLink=null;
+"http://www.jgraph.com/");d.setAttribute("target","_blank");mxUtils.write(d,"www.jgraph.com");c.appendChild(d);mxUtils.br(c);mxUtils.br(c);d=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});d.className="geBtn gePrimaryBtn";c.appendChild(d);this.container=c},FilenameDialog=function(a,c,d,b,f,e,h,g,k,l,m,n){k=null!=k?k:!0;var p,r,u=document.createElement("table"),v=document.createElement("tbody");u.style.marginTop="8px";p=document.createElement("tr");r=document.createElement("td");
+r.style.whiteSpace="nowrap";r.style.fontSize="10pt";r.style.width="120px";mxUtils.write(r,(f||mxResources.get("filename"))+":");p.appendChild(r);var q=document.createElement("input");q.setAttribute("value",c||"");q.style.marginLeft="4px";q.style.width=null!=n?n+"px":"180px";var w=mxUtils.button(d,function(){if(null==e||e(q.value))k&&a.hideDialog(),b(q.value)});w.className="geBtn gePrimaryBtn";this.init=function(){if(null!=f||null==h)if(q.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||
+mxClient.IS_QUIRKS?q.select():document.execCommand("selectAll",!1,null),Graph.fileSupport){var a=u.parentNode;if(null!=a){var b=null;mxEvent.addListener(a,"dragleave",function(a){null!=b&&(b.style.backgroundColor="",b=null);a.stopPropagation();a.preventDefault()});mxEvent.addListener(a,"dragover",mxUtils.bind(this,function(a){null==b&&(!mxClient.IS_IE||10<document.documentMode)&&(b=q,b.style.backgroundColor="#ebf2f9");a.stopPropagation();a.preventDefault()}));mxEvent.addListener(a,"drop",mxUtils.bind(this,
+function(a){null!=b&&(b.style.backgroundColor="",b=null);0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")&&(q.value=decodeURIComponent(a.dataTransfer.getData("text/uri-list")),w.click());a.stopPropagation();a.preventDefault()}))}}};r=document.createElement("td");r.style.whiteSpace="nowrap";r.appendChild(q);p.appendChild(r);if(null!=f||null==h)v.appendChild(p),null!=m&&r.appendChild(FilenameDialog.createTypeHint(a,q,m));null!=h&&(p=document.createElement("tr"),r=document.createElement("td"),
+r.colSpan=2,r.appendChild(h),p.appendChild(r),v.appendChild(p));p=document.createElement("tr");r=document.createElement("td");r.colSpan=2;r.style.paddingTop="20px";r.style.whiteSpace="nowrap";r.setAttribute("align","right");c=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog();null!=l&&l()});c.className="geBtn";a.editor.cancelFirst&&r.appendChild(c);null!=g&&(d=mxUtils.button(mxResources.get("help"),function(){a.editor.graph.openLink(g)}),d.className="geBtn",r.appendChild(d));mxEvent.addListener(q,
+"keypress",function(a){13==a.keyCode&&w.click()});r.appendChild(w);a.editor.cancelFirst||r.appendChild(c);p.appendChild(r);v.appendChild(p);u.appendChild(v);this.container=u};FilenameDialog.filenameHelpLink=null;
 FilenameDialog.createTypeHint=function(a,c,d){var b=document.createElement("img");b.style.cssText="vertical-align:top;height:16px;width:16px;margin-left:4px;background-repeat:no-repeat;background-position:center bottom;cursor:pointer;";mxUtils.setOpacity(b,70);var f=function(){b.setAttribute("src",Editor.helpImage);b.setAttribute("title",mxResources.get("help"));for(var a=0;a<d.length;a++)if(0<d[a].ext.length&&c.value.substring(c.value.length-d[a].ext.length-1)=="."+d[a].ext){b.setAttribute("src",
 mxClient.imageBasePath+"/warning.png");b.setAttribute("title",mxResources.get(d[a].title));break}};mxEvent.addListener(c,"keyup",f);mxEvent.addListener(c,"change",f);mxEvent.addListener(b,"click",function(c){var d=b.getAttribute("title");b.getAttribute("src")==Editor.helpImage?a.editor.graph.openLink(FilenameDialog.filenameHelpLink):""!=d&&a.showError(null,d,mxResources.get("help"),function(){a.editor.graph.openLink(FilenameDialog.filenameHelpLink)},null,mxResources.get("ok"),null,null,null,340,90);
 mxEvent.consume(c)});f();return b};
-var TextareaDialog=function(a,c,d,b,f,e,h,g,k,l,m,n,p,q){h=null!=h?h:300;g=null!=g?g:120;l=null!=l?l:!1;var u,v,r=document.createElement("table"),w=document.createElement("tbody");u=document.createElement("tr");v=document.createElement("td");v.style.fontSize="10pt";v.style.width="100px";mxUtils.write(v,c);u.appendChild(v);w.appendChild(u);u=document.createElement("tr");v=document.createElement("td");var t=document.createElement("textarea");m&&t.setAttribute("wrap","off");t.setAttribute("spellcheck",
+var TextareaDialog=function(a,c,d,b,f,e,h,g,k,l,m,n,p,r){h=null!=h?h:300;g=null!=g?g:120;l=null!=l?l:!1;var u,v,q=document.createElement("table"),w=document.createElement("tbody");u=document.createElement("tr");v=document.createElement("td");v.style.fontSize="10pt";v.style.width="100px";mxUtils.write(v,c);u.appendChild(v);w.appendChild(u);u=document.createElement("tr");v=document.createElement("td");var t=document.createElement("textarea");m&&t.setAttribute("wrap","off");t.setAttribute("spellcheck",
 "false");t.setAttribute("autocorrect","off");t.setAttribute("autocomplete","off");t.setAttribute("autocapitalize","off");mxUtils.write(t,d||"");t.style.resize="none";t.style.width=h+"px";t.style.height=g+"px";this.textarea=t;this.init=function(){t.focus();t.scrollTop=0};v.appendChild(t);u.appendChild(v);w.appendChild(u);u=document.createElement("tr");v=document.createElement("td");v.style.paddingTop="14px";v.style.whiteSpace="nowrap";v.setAttribute("align","right");null!=p&&(c=mxUtils.button(mxResources.get("help"),
-function(){a.editor.graph.openLink(p)}),c.className="geBtn",v.appendChild(c));if(null!=q)for(c=0;c<q.length;c++)(function(a,b){var c=mxUtils.button(a,function(a){b(a,t)});c.className="geBtn";v.appendChild(c)})(q[c][0],q[c][1]);e=mxUtils.button(e||mxResources.get("cancel"),function(){a.hideDialog();null!=f&&f()});e.className="geBtn";a.editor.cancelFirst&&v.appendChild(e);null!=k&&k(v,t);null!=b&&(k=mxUtils.button(n||mxResources.get("apply"),function(){l||a.hideDialog();b(t.value)}),k.className="geBtn gePrimaryBtn",
-v.appendChild(k));a.editor.cancelFirst||v.appendChild(e);u.appendChild(v);w.appendChild(u);r.appendChild(w);this.container=r},EditDiagramDialog=function(a){var c=document.createElement("div");c.style.textAlign="right";var d=document.createElement("textarea");d.setAttribute("wrap","off");d.setAttribute("spellcheck","false");d.setAttribute("autocorrect","off");d.setAttribute("autocomplete","off");d.setAttribute("autocapitalize","off");d.style.overflow="auto";d.style.resize="none";d.style.width="600px";
+function(){a.editor.graph.openLink(p)}),c.className="geBtn",v.appendChild(c));if(null!=r)for(c=0;c<r.length;c++)(function(a,b){var c=mxUtils.button(a,function(a){b(a,t)});c.className="geBtn";v.appendChild(c)})(r[c][0],r[c][1]);e=mxUtils.button(e||mxResources.get("cancel"),function(){a.hideDialog();null!=f&&f()});e.className="geBtn";a.editor.cancelFirst&&v.appendChild(e);null!=k&&k(v,t);null!=b&&(k=mxUtils.button(n||mxResources.get("apply"),function(){l||a.hideDialog();b(t.value)}),k.className="geBtn gePrimaryBtn",
+v.appendChild(k));a.editor.cancelFirst||v.appendChild(e);u.appendChild(v);w.appendChild(u);q.appendChild(w);this.container=q},EditDiagramDialog=function(a){var c=document.createElement("div");c.style.textAlign="right";var d=document.createElement("textarea");d.setAttribute("wrap","off");d.setAttribute("spellcheck","false");d.setAttribute("autocorrect","off");d.setAttribute("autocomplete","off");d.setAttribute("autocapitalize","off");d.style.overflow="auto";d.style.resize="none";d.style.width="600px";
 d.style.height="360px";d.style.marginBottom="16px";d.value=mxUtils.getPrettyXml(a.editor.getGraphXml());c.appendChild(d);this.init=function(){d.focus()};Graph.fileSupport&&(d.addEventListener("dragover",function(a){a.stopPropagation();a.preventDefault()},!1),d.addEventListener("drop",function(b){b.stopPropagation();b.preventDefault();if(0<b.dataTransfer.files.length){b=b.dataTransfer.files[0];var c=new FileReader;c.onload=function(a){d.value=a.target.result};c.readAsText(b)}else d.value=a.extractGraphModelFromEvent(b)},
 !1));var b=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});b.className="geBtn";a.editor.cancelFirst&&c.appendChild(b);var f=document.createElement("select");f.style.width="180px";f.className="geBtn";if(a.editor.graph.isEnabled()){var e=document.createElement("option");e.setAttribute("value","replace");mxUtils.write(e,mxResources.get("replaceExistingDrawing"));f.appendChild(e)}e=document.createElement("option");e.setAttribute("value","new");mxUtils.write(e,mxResources.get("openInNewWindow"));
 EditDiagramDialog.showNewWindowOption&&f.appendChild(e);a.editor.graph.isEnabled()&&(e=document.createElement("option"),e.setAttribute("value","import"),mxUtils.write(e,mxResources.get("addToExistingDrawing")),f.appendChild(e));c.appendChild(f);e=mxUtils.button(mxResources.get("ok"),function(){var b=Graph.zapGremlins(mxUtils.trim(d.value)),c=null;if("new"==f.value)a.hideDialog(),a.editor.editAsNew(b);else if("replace"==f.value){a.editor.graph.model.beginUpdate();try{a.editor.setGraphXml(mxUtils.parseXml(b).documentElement),
 a.hideDialog()}catch(n){c=n}finally{a.editor.graph.model.endUpdate()}}else if("import"==f.value){a.editor.graph.model.beginUpdate();try{var e=mxUtils.parseXml(b),l=new mxGraphModel;(new mxCodec(e)).decode(e.documentElement,l);var m=l.getChildren(l.getChildAt(l.getRoot(),0));a.editor.graph.setSelectionCells(a.editor.graph.importCells(m));a.hideDialog()}catch(n){c=n}finally{a.editor.graph.model.endUpdate()}}null!=c&&mxUtils.alert(c.message)});e.className="geBtn gePrimaryBtn";c.appendChild(e);a.editor.cancelFirst||
 c.appendChild(b);this.container=c};EditDiagramDialog.showNewWindowOption=!0;
-var ExportDialog=function(a){function c(){var a=m.value,b=a.lastIndexOf(".");m.value=0<b?a.substring(0,b+1)+n.value:a+"."+n.value;"xml"===n.value?(p.setAttribute("disabled","true"),q.setAttribute("disabled","true"),u.setAttribute("disabled","true"),x.setAttribute("disabled","true")):(p.removeAttribute("disabled"),q.removeAttribute("disabled"),u.removeAttribute("disabled"),x.removeAttribute("disabled"));"png"===n.value||"svg"===n.value?t.removeAttribute("disabled"):t.setAttribute("disabled","disabled");
-"png"===n.value?(v.removeAttribute("disabled"),r.removeAttribute("disabled")):(v.setAttribute("disabled","disabled"),r.setAttribute("disabled","disabled"))}function d(){q.style.backgroundColor=q.value*u.value>MAX_AREA||0>=q.value?"red":"";u.style.backgroundColor=q.value*u.value>MAX_AREA||0>=u.value?"red":""}var b=a.editor.graph,f=b.getGraphBounds(),e=b.view.scale,h=Math.ceil(f.width/e),g=Math.ceil(f.height/e),k,e=document.createElement("table"),l=document.createElement("tbody");e.setAttribute("cellpadding",
+var ExportDialog=function(a){function c(){var a=m.value,b=a.lastIndexOf(".");m.value=0<b?a.substring(0,b+1)+n.value:a+"."+n.value;"xml"===n.value?(p.setAttribute("disabled","true"),r.setAttribute("disabled","true"),u.setAttribute("disabled","true"),x.setAttribute("disabled","true")):(p.removeAttribute("disabled"),r.removeAttribute("disabled"),u.removeAttribute("disabled"),x.removeAttribute("disabled"));"png"===n.value||"svg"===n.value?t.removeAttribute("disabled"):t.setAttribute("disabled","disabled");
+"png"===n.value?(v.removeAttribute("disabled"),q.removeAttribute("disabled")):(v.setAttribute("disabled","disabled"),q.setAttribute("disabled","disabled"))}function d(){r.style.backgroundColor=r.value*u.value>MAX_AREA||0>=r.value?"red":"";u.style.backgroundColor=r.value*u.value>MAX_AREA||0>=u.value?"red":""}var b=a.editor.graph,f=b.getGraphBounds(),e=b.view.scale,h=Math.ceil(f.width/e),g=Math.ceil(f.height/e),k,e=document.createElement("table"),l=document.createElement("tbody");e.setAttribute("cellpadding",
 mxClient.IS_SF?"0":"2");f=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";k.style.width="100px";mxUtils.write(k,mxResources.get("filename")+":");f.appendChild(k);var m=document.createElement("input");m.setAttribute("value",a.editor.getOrCreateFilename());m.style.width="180px";k=document.createElement("td");k.appendChild(m);f.appendChild(k);l.appendChild(f);f=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("format")+
 ":");f.appendChild(k);var n=document.createElement("select");n.style.width="180px";k=document.createElement("option");k.setAttribute("value","png");mxUtils.write(k,mxResources.get("formatPng"));n.appendChild(k);k=document.createElement("option");ExportDialog.showGifOption&&(k.setAttribute("value","gif"),mxUtils.write(k,mxResources.get("formatGif")),n.appendChild(k));k=document.createElement("option");k.setAttribute("value","jpg");mxUtils.write(k,mxResources.get("formatJpg"));n.appendChild(k);k=document.createElement("option");
 k.setAttribute("value","pdf");mxUtils.write(k,mxResources.get("formatPdf"));n.appendChild(k);k=document.createElement("option");k.setAttribute("value","svg");mxUtils.write(k,mxResources.get("formatSvg"));n.appendChild(k);ExportDialog.showXmlOption&&(k=document.createElement("option"),k.setAttribute("value","xml"),mxUtils.write(k,mxResources.get("formatXml")),n.appendChild(k));k=document.createElement("td");k.appendChild(n);f.appendChild(k);l.appendChild(f);f=document.createElement("tr");k=document.createElement("td");
-k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("zoom")+" (%):");f.appendChild(k);var p=document.createElement("input");p.setAttribute("type","number");p.setAttribute("value","100");p.style.width="180px";k=document.createElement("td");k.appendChild(p);f.appendChild(k);l.appendChild(f);f=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("width")+":");f.appendChild(k);var q=document.createElement("input");q.setAttribute("value",
-h);q.style.width="180px";k=document.createElement("td");k.appendChild(q);f.appendChild(k);l.appendChild(f);f=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("height")+":");f.appendChild(k);var u=document.createElement("input");u.setAttribute("value",g);u.style.width="180px";k=document.createElement("td");k.appendChild(u);f.appendChild(k);l.appendChild(f);f=document.createElement("tr");k=document.createElement("td");k.style.fontSize=
+k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("zoom")+" (%):");f.appendChild(k);var p=document.createElement("input");p.setAttribute("type","number");p.setAttribute("value","100");p.style.width="180px";k=document.createElement("td");k.appendChild(p);f.appendChild(k);l.appendChild(f);f=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("width")+":");f.appendChild(k);var r=document.createElement("input");r.setAttribute("value",
+h);r.style.width="180px";k=document.createElement("td");k.appendChild(r);f.appendChild(k);l.appendChild(f);f=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("height")+":");f.appendChild(k);var u=document.createElement("input");u.setAttribute("value",g);u.style.width="180px";k=document.createElement("td");k.appendChild(u);f.appendChild(k);l.appendChild(f);f=document.createElement("tr");k=document.createElement("td");k.style.fontSize=
 "10pt";mxUtils.write(k,mxResources.get("dpi")+":");f.appendChild(k);var v=document.createElement("select");v.style.width="180px";k=document.createElement("option");k.setAttribute("value","100");mxUtils.write(k,"100dpi");v.appendChild(k);k=document.createElement("option");k.setAttribute("value","200");mxUtils.write(k,"200dpi");v.appendChild(k);k=document.createElement("option");k.setAttribute("value","300");mxUtils.write(k,"300dpi");v.appendChild(k);k=document.createElement("option");k.setAttribute("value",
-"400");mxUtils.write(k,"400dpi");v.appendChild(k);k=document.createElement("option");k.setAttribute("value","custom");mxUtils.write(k,mxResources.get("custom"));v.appendChild(k);var r=document.createElement("input");r.style.width="180px";r.style.display="none";r.setAttribute("value","100");r.setAttribute("type","number");r.setAttribute("min","50");r.setAttribute("step","50");var w=!1;mxEvent.addListener(v,"change",function(){"custom"==this.value?(this.style.display="none",r.style.display="",r.focus()):
-(r.value=this.value,w||(p.value=this.value))});mxEvent.addListener(r,"change",function(){var a=parseInt(r.value);isNaN(a)||0>=a?r.style.backgroundColor="red":(r.style.backgroundColor="",w||(p.value=a))});k=document.createElement("td");k.appendChild(v);k.appendChild(r);f.appendChild(k);l.appendChild(f);f=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("background")+":");f.appendChild(k);var t=document.createElement("input");t.setAttribute("type",
+"400");mxUtils.write(k,"400dpi");v.appendChild(k);k=document.createElement("option");k.setAttribute("value","custom");mxUtils.write(k,mxResources.get("custom"));v.appendChild(k);var q=document.createElement("input");q.style.width="180px";q.style.display="none";q.setAttribute("value","100");q.setAttribute("type","number");q.setAttribute("min","50");q.setAttribute("step","50");var w=!1;mxEvent.addListener(v,"change",function(){"custom"==this.value?(this.style.display="none",q.style.display="",q.focus()):
+(q.value=this.value,w||(p.value=this.value))});mxEvent.addListener(q,"change",function(){var a=parseInt(q.value);isNaN(a)||0>=a?q.style.backgroundColor="red":(q.style.backgroundColor="",w||(p.value=a))});k=document.createElement("td");k.appendChild(v);k.appendChild(q);f.appendChild(k);l.appendChild(f);f=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("background")+":");f.appendChild(k);var t=document.createElement("input");t.setAttribute("type",
 "checkbox");t.checked=null==b.background||b.background==mxConstants.NONE;k=document.createElement("td");k.appendChild(t);mxUtils.write(k,mxResources.get("transparent"));f.appendChild(k);l.appendChild(f);f=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("borderWidth")+":");f.appendChild(k);var x=document.createElement("input");x.setAttribute("type","number");x.setAttribute("value",ExportDialog.lastBorderValue);x.style.width="180px";
-k=document.createElement("td");k.appendChild(x);f.appendChild(k);l.appendChild(f);e.appendChild(l);mxEvent.addListener(n,"change",c);c();mxEvent.addListener(p,"change",function(){w=!0;var a=Math.max(0,parseFloat(p.value)||100)/100;p.value=parseFloat((100*a).toFixed(2));0<h?(q.value=Math.floor(h*a),u.value=Math.floor(g*a)):(p.value="100",q.value=h,u.value=g);d()});mxEvent.addListener(q,"change",function(){var a=parseInt(q.value)/h;0<a?(p.value=parseFloat((100*a).toFixed(2)),u.value=Math.floor(g*a)):
-(p.value="100",q.value=h,u.value=g);d()});mxEvent.addListener(u,"change",function(){var a=parseInt(u.value)/g;0<a?(p.value=parseFloat((100*a).toFixed(2)),q.value=Math.floor(h*a)):(p.value="100",q.value=h,u.value=g);d()});f=document.createElement("tr");k=document.createElement("td");k.setAttribute("align","right");k.style.paddingTop="22px";k.colSpan=2;var y=mxUtils.button(mxResources.get("export"),mxUtils.bind(this,function(){if(0>=parseInt(p.value))mxUtils.alert(mxResources.get("drawingEmpty"));else{var c=
-m.value,d=n.value,e=Math.max(0,parseFloat(p.value)||100)/100,f=Math.max(0,parseInt(x.value)),g=b.background,h=Math.max(1,parseInt(r.value));if(("svg"==d||"png"==d)&&t.checked)g=null;else if(null==g||g==mxConstants.NONE)g="#ffffff";ExportDialog.lastBorderValue=f;ExportDialog.exportFile(a,c,d,g,e,f,h)}}));y.className="geBtn gePrimaryBtn";var D=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});D.className="geBtn";a.editor.cancelFirst?(k.appendChild(D),k.appendChild(y)):(k.appendChild(y),
-k.appendChild(D));f.appendChild(k);l.appendChild(f);e.appendChild(l);this.container=e};ExportDialog.lastBorderValue=0;ExportDialog.showGifOption=!0;ExportDialog.showXmlOption=!0;
+k=document.createElement("td");k.appendChild(x);f.appendChild(k);l.appendChild(f);e.appendChild(l);mxEvent.addListener(n,"change",c);c();mxEvent.addListener(p,"change",function(){w=!0;var a=Math.max(0,parseFloat(p.value)||100)/100;p.value=parseFloat((100*a).toFixed(2));0<h?(r.value=Math.floor(h*a),u.value=Math.floor(g*a)):(p.value="100",r.value=h,u.value=g);d()});mxEvent.addListener(r,"change",function(){var a=parseInt(r.value)/h;0<a?(p.value=parseFloat((100*a).toFixed(2)),u.value=Math.floor(g*a)):
+(p.value="100",r.value=h,u.value=g);d()});mxEvent.addListener(u,"change",function(){var a=parseInt(u.value)/g;0<a?(p.value=parseFloat((100*a).toFixed(2)),r.value=Math.floor(h*a)):(p.value="100",r.value=h,u.value=g);d()});f=document.createElement("tr");k=document.createElement("td");k.setAttribute("align","right");k.style.paddingTop="22px";k.colSpan=2;var y=mxUtils.button(mxResources.get("export"),mxUtils.bind(this,function(){if(0>=parseInt(p.value))mxUtils.alert(mxResources.get("drawingEmpty"));else{var c=
+m.value,d=n.value,e=Math.max(0,parseFloat(p.value)||100)/100,f=Math.max(0,parseInt(x.value)),g=b.background,h=Math.max(1,parseInt(q.value));if(("svg"==d||"png"==d)&&t.checked)g=null;else if(null==g||g==mxConstants.NONE)g="#ffffff";ExportDialog.lastBorderValue=f;ExportDialog.exportFile(a,c,d,g,e,f,h)}}));y.className="geBtn gePrimaryBtn";var C=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});C.className="geBtn";a.editor.cancelFirst?(k.appendChild(C),k.appendChild(y)):(k.appendChild(y),
+k.appendChild(C));f.appendChild(k);l.appendChild(f);e.appendChild(l);this.container=e};ExportDialog.lastBorderValue=0;ExportDialog.showGifOption=!0;ExportDialog.showXmlOption=!0;
 ExportDialog.exportFile=function(a,c,d,b,f,e,h){var g=a.editor.graph;if("xml"==d)ExportDialog.saveLocalFile(a,mxUtils.getXml(a.editor.getGraphXml()),c,d);else if("svg"==d)ExportDialog.saveLocalFile(a,mxUtils.getXml(g.getSvg(b,f,e)),c,d);else{var k=g.getGraphBounds(),l=mxUtils.createXmlDocument(),m=l.createElement("output");l.appendChild(m);l=new mxXmlCanvas2D(m);l.translate(Math.floor((e/f-k.x)/g.view.scale),Math.floor((e/f-k.y)/g.view.scale));l.scale(f/g.view.scale);(new mxImageExport).drawState(g.getView().getState(g.model.root),
 l);m="xml="+encodeURIComponent(mxUtils.getXml(m));l=Math.ceil(k.width*f/g.view.scale+2*e);f=Math.ceil(k.height*f/g.view.scale+2*e);m.length<=MAX_REQUEST_SIZE&&l*f<MAX_AREA?(a.hideDialog(),(new mxXmlRequest(EXPORT_URL,"format="+d+"&filename="+encodeURIComponent(c)+"&bg="+(null!=b?b:"none")+"&w="+l+"&h="+f+"&"+m+"&dpi="+h)).simulate(document,"_blank")):mxUtils.alert(mxResources.get("drawingTooLarge"))}};
 ExportDialog.saveLocalFile=function(a,c,d,b){c.length<MAX_REQUEST_SIZE?(a.hideDialog(),(new mxXmlRequest(SAVE_URL,"xml="+encodeURIComponent(c)+"&filename="+encodeURIComponent(d)+"&format="+b)).simulate(document,"_blank")):(mxUtils.alert(mxResources.get("drawingTooLarge")),mxUtils.popup(xml))};
 var EditDataDialog=function(a,c){function d(){0<w.value.length?t.removeAttribute("disabled"):t.setAttribute("disabled","disabled")}var b=document.createElement("div"),f=a.editor.graph,e=f.getModel().getValue(c);if(!mxUtils.isNode(e)){var h=mxUtils.createXmlDocument().createElement("object");h.setAttribute("label",e||"");e=h}var g=new mxForm("properties");g.table.style.width="100%";for(var k=e.attributes,l=[],m=[],n=0,p=null!=EditDataDialog.getDisplayIdForCell?EditDataDialog.getDisplayIdForCell(a,
-c):null,q=function(a,b){var c=document.createElement("div");c.style.position="relative";c.style.paddingRight="20px";c.style.boxSizing="border-box";c.style.width="100%";var d=document.createElement("a"),e=mxUtils.createImage(Dialog.prototype.closeImage);e.style.height="9px";e.style.fontSize="9px";e.style.marginBottom=mxClient.IS_IE11?"-1px":"5px";d.className="geButton";d.setAttribute("title",mxResources.get("delete"));d.style.position="absolute";d.style.top="4px";d.style.right="0px";d.style.margin=
-"0px";d.style.width="9px";d.style.height="9px";d.style.cursor="pointer";d.appendChild(e);e=function(a){return function(){for(var b=0,c=0;c<l.length;c++){if(l[c]==a){m[c]=null;g.table.deleteRow(b+(null!=p?1:0));break}null!=m[c]&&b++}}}(b);mxEvent.addListener(d,"click",e);e=a.parentNode;c.appendChild(a);c.appendChild(d);e.appendChild(c)},h=function(a,b,c){l[a]=b;m[a]=g.addTextarea(l[n]+":",c,2);m[a].style.width="100%";q(m[a],b)},u=[],v=f.getModel().getParent(c)==f.getModel().getRoot(),r=0;r<k.length;r++)!v&&
-"label"==k[r].nodeName||"placeholders"==k[r].nodeName||u.push({name:k[r].nodeName,value:k[r].nodeValue});u.sort(function(a,b){return a.name<b.name?-1:a.name>b.name?1:0});null!=p&&(k=document.createElement("div"),k.style.width="100%",k.style.fontSize="11px",k.style.textAlign="center",mxUtils.write(k,p),g.addField(mxResources.get("id")+":",k));for(r=0;r<u.length;r++)h(n,u[r].name,u[r].value),n++;h=document.createElement("div");h.style.cssText="position:absolute;left:30px;right:30px;overflow-y:auto;top:30px;bottom:80px;";
+c):null,r=function(a,b){var c=document.createElement("div");c.style.position="relative";c.style.paddingRight="20px";c.style.boxSizing="border-box";c.style.width="100%";var d=document.createElement("a"),e=mxUtils.createImage(Dialog.prototype.closeImage);e.style.height="9px";e.style.fontSize="9px";e.style.marginBottom=mxClient.IS_IE11?"-1px":"5px";d.className="geButton";d.setAttribute("title",mxResources.get("delete"));d.style.position="absolute";d.style.top="4px";d.style.right="0px";d.style.margin=
+"0px";d.style.width="9px";d.style.height="9px";d.style.cursor="pointer";d.appendChild(e);e=function(a){return function(){for(var b=0,c=0;c<l.length;c++){if(l[c]==a){m[c]=null;g.table.deleteRow(b+(null!=p?1:0));break}null!=m[c]&&b++}}}(b);mxEvent.addListener(d,"click",e);e=a.parentNode;c.appendChild(a);c.appendChild(d);e.appendChild(c)},h=function(a,b,c){l[a]=b;m[a]=g.addTextarea(l[n]+":",c,2);m[a].style.width="100%";0<c.indexOf("\n")&&m[a].setAttribute("rows","2");r(m[a],b)},u=[],v=f.getModel().getParent(c)==
+f.getModel().getRoot(),q=0;q<k.length;q++)!v&&"label"==k[q].nodeName||"placeholders"==k[q].nodeName||u.push({name:k[q].nodeName,value:k[q].nodeValue});u.sort(function(a,b){return a.name<b.name?-1:a.name>b.name?1:0});null!=p&&(k=document.createElement("div"),k.style.width="100%",k.style.fontSize="11px",k.style.textAlign="center",mxUtils.write(k,p),g.addField(mxResources.get("id")+":",k));for(q=0;q<u.length;q++)h(n,u[q].name,u[q].value),n++;h=document.createElement("div");h.style.cssText="position:absolute;left:30px;right:30px;overflow-y:auto;top:30px;bottom:80px;";
 h.appendChild(g.table);u=document.createElement("div");u.style.boxSizing="border-box";u.style.paddingRight="160px";u.style.whiteSpace="nowrap";u.style.marginTop="6px";u.style.width="100%";var w=document.createElement("input");w.setAttribute("placeholder",mxResources.get("enterPropertyName"));w.setAttribute("type","text");w.setAttribute("size",mxClient.IS_IE||mxClient.IS_IE11?"36":"40");w.style.boxSizing="border-box";w.style.marginLeft="2px";w.style.width="100%";u.appendChild(w);h.appendChild(u);b.appendChild(h);
-var t=mxUtils.button(mxResources.get("addProperty"),function(){var a=w.value;if(0<a.length&&"label"!=a&&"placeholders"!=a&&0>a.indexOf(":"))try{var b=mxUtils.indexOf(l,a);if(0<=b&&null!=m[b])m[b].focus();else{e.cloneNode(!1).setAttribute(a,"");0<=b&&(l.splice(b,1),m.splice(b,1));l.push(a);var c=g.addTextarea(a+":","",2);c.style.width="100%";m.push(c);q(c,a);c.focus()}t.setAttribute("disabled","disabled");w.value=""}catch(E){mxUtils.alert(E)}else mxUtils.alert(mxResources.get("invalidName"))});this.init=
+var t=mxUtils.button(mxResources.get("addProperty"),function(){var a=w.value;if(0<a.length&&"label"!=a&&"placeholders"!=a&&0>a.indexOf(":"))try{var b=mxUtils.indexOf(l,a);if(0<=b&&null!=m[b])m[b].focus();else{e.cloneNode(!1).setAttribute(a,"");0<=b&&(l.splice(b,1),m.splice(b,1));l.push(a);var c=g.addTextarea(a+":","",2);c.style.width="100%";m.push(c);r(c,a);c.focus()}t.setAttribute("disabled","disabled");w.value=""}catch(E){mxUtils.alert(E)}else mxUtils.alert(mxResources.get("invalidName"))});this.init=
 function(){0<m.length?m[0].focus():w.focus()};t.setAttribute("title",mxResources.get("addProperty"));t.setAttribute("disabled","disabled");t.style.textOverflow="ellipsis";t.style.position="absolute";t.style.overflow="hidden";t.style.width="144px";t.style.right="0px";t.className="geBtn";u.appendChild(t);h=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog.apply(a,arguments)});h.className="geBtn";u=mxUtils.button(mxResources.get("apply"),function(){try{a.hideDialog.apply(a,arguments);
 e=e.cloneNode(!0);for(var b=!1,d=0;d<l.length;d++)null==m[d]?e.removeAttribute(l[d]):(e.setAttribute(l[d],m[d].value),b=b||"placeholder"==l[d]&&"1"==e.getAttribute("placeholders"));b&&e.removeAttribute("label");f.getModel().setValue(c,e)}catch(B){mxUtils.alert(B)}});u.className="geBtn gePrimaryBtn";mxEvent.addListener(w,"keyup",d);mxEvent.addListener(w,"change",d);k=document.createElement("div");k.style.cssText="position:absolute;left:30px;right:30px;text-align:right;bottom:30px;height:40px;";if(a.editor.graph.getModel().isVertex(c)||
-a.editor.graph.getModel().isEdge(c)){v=document.createElement("span");v.style.marginRight="10px";r=document.createElement("input");r.setAttribute("type","checkbox");r.style.marginRight="6px";"1"==e.getAttribute("placeholders")&&(r.setAttribute("checked","checked"),r.defaultChecked=!0);mxEvent.addListener(r,"click",function(){"1"==e.getAttribute("placeholders")?e.removeAttribute("placeholders"):e.setAttribute("placeholders","1")});v.appendChild(r);mxUtils.write(v,mxResources.get("placeholders"));if(null!=
-EditDataDialog.placeholderHelpLink){r=document.createElement("a");r.setAttribute("href",EditDataDialog.placeholderHelpLink);r.setAttribute("title",mxResources.get("help"));r.setAttribute("target","_blank");r.style.marginLeft="8px";r.style.cursor="help";var x=document.createElement("img");mxUtils.setOpacity(x,50);x.style.height="16px";x.style.width="16px";x.setAttribute("border","0");x.setAttribute("valign","middle");x.style.marginTop=mxClient.IS_IE11?"0px":"-4px";x.setAttribute("src",Editor.helpImage);
-r.appendChild(x);v.appendChild(r)}k.appendChild(v)}a.editor.cancelFirst?(k.appendChild(h),k.appendChild(u)):(k.appendChild(u),k.appendChild(h));b.appendChild(k);this.container=b};EditDataDialog.getDisplayIdForCell=function(a,c){var d=null;null!=a.editor.graph.getModel().getParent(c)&&(d=c.getId());return d};EditDataDialog.placeholderHelpLink=null;
+a.editor.graph.getModel().isEdge(c)){v=document.createElement("span");v.style.marginRight="10px";q=document.createElement("input");q.setAttribute("type","checkbox");q.style.marginRight="6px";"1"==e.getAttribute("placeholders")&&(q.setAttribute("checked","checked"),q.defaultChecked=!0);mxEvent.addListener(q,"click",function(){"1"==e.getAttribute("placeholders")?e.removeAttribute("placeholders"):e.setAttribute("placeholders","1")});v.appendChild(q);mxUtils.write(v,mxResources.get("placeholders"));if(null!=
+EditDataDialog.placeholderHelpLink){q=document.createElement("a");q.setAttribute("href",EditDataDialog.placeholderHelpLink);q.setAttribute("title",mxResources.get("help"));q.setAttribute("target","_blank");q.style.marginLeft="8px";q.style.cursor="help";var x=document.createElement("img");mxUtils.setOpacity(x,50);x.style.height="16px";x.style.width="16px";x.setAttribute("border","0");x.setAttribute("valign","middle");x.style.marginTop=mxClient.IS_IE11?"0px":"-4px";x.setAttribute("src",Editor.helpImage);
+q.appendChild(x);v.appendChild(q)}k.appendChild(v)}a.editor.cancelFirst?(k.appendChild(h),k.appendChild(u)):(k.appendChild(u),k.appendChild(h));b.appendChild(k);this.container=b};EditDataDialog.getDisplayIdForCell=function(a,c){var d=null;null!=a.editor.graph.getModel().getParent(c)&&(d=c.getId());return d};EditDataDialog.placeholderHelpLink=null;
 var LinkDialog=function(a,c,d,b){var f=document.createElement("div");mxUtils.write(f,mxResources.get("editLink")+":");var e=document.createElement("div");e.className="geTitle";e.style.backgroundColor="transparent";e.style.borderColor="transparent";e.style.whiteSpace="nowrap";e.style.textOverflow="clip";e.style.cursor="default";mxClient.IS_VML||(e.style.paddingRight="20px");var h=document.createElement("input");h.setAttribute("value",c);h.setAttribute("placeholder","http://www.example.com/");h.setAttribute("type",
 "text");h.style.marginTop="6px";h.style.width="400px";h.style.backgroundImage="url('"+Dialog.prototype.clearImage+"')";h.style.backgroundRepeat="no-repeat";h.style.backgroundPosition="100% 50%";h.style.paddingRight="14px";c=document.createElement("div");c.setAttribute("title",mxResources.get("reset"));c.style.position="relative";c.style.left="-16px";c.style.width="12px";c.style.height="14px";c.style.cursor="pointer";c.style.display=mxClient.IS_VML?"inline":"inline-block";c.style.top=(mxClient.IS_VML?
 0:3)+"px";c.style.background="url("+IMAGE_PATH+"/transparent.gif)";mxEvent.addListener(c,"click",function(){h.value="";h.focus()});e.appendChild(h);e.appendChild(c);f.appendChild(e);this.init=function(){h.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?h.select():document.execCommand("selectAll",!1,null)};e=document.createElement("div");e.style.marginTop="18px";e.style.textAlign="right";mxEvent.addListener(h,"keypress",function(c){13==c.keyCode&&(a.hideDialog(),
@@ -3371,18 +3374,18 @@ m.apply(this,arguments);b.gridEnabled=!1;b.pageScale=h.pageScale;b.pageFormat=h.
 function(){e();l.update(!0)});if(l.outline.dialect==mxConstants.DIALECT_SVG){var n=a.actions.get("zoomIn"),p=a.actions.get("zoomOut");mxEvent.addMouseWheelListener(function(a,b){for(var c=!1,d=mxEvent.getSource(a);null!=d;){if(d==l.outline.view.canvas.ownerSVGElement){c=!0;break}d=d.parentNode}c&&(b?n.funct():p.funct())})}},LayersWindow=function(a,c,d,b,f){function e(b){if(g.isEnabled()&&null!=b){var c=g.convertValueToString(b),c=new FilenameDialog(a,c||mxResources.get("background"),mxResources.get("rename"),
 mxUtils.bind(this,function(a){null!=a&&g.cellLabelChanged(b,a)}),mxResources.get("enterName"));a.showDialog(c.container,300,100,!0,!0);c.init()}}function h(){function a(a,b,c,d){var f=document.createElement("div");f.className="geToolbarContainer";f.style.overflow="hidden";f.style.position="relative";f.style.padding="4px";f.style.height="22px";f.style.display="block";f.style.backgroundColor="white"==Dialog.backdropColor?"whiteSmoke":Dialog.backdropColor;f.style.borderWidth="0px 0px 1px 0px";f.style.borderColor=
 "#c3c3c3";f.style.borderStyle="solid";f.style.whiteSpace="nowrap";f.setAttribute("title",b);var k=document.createElement("div");k.style.display="inline-block";k.style.width="100%";k.style.textOverflow="ellipsis";k.style.overflow="hidden";mxEvent.addListener(f,"dragover",function(b){b.dataTransfer.dropEffect="move";p=a;b.stopPropagation();b.preventDefault()});mxEvent.addListener(f,"dragstart",function(a){n=f;mxClient.IS_FF&&a.dataTransfer.setData("Text","<layer/>")});mxEvent.addListener(f,"dragend",
-function(a){null!=n&&null!=p&&g.addCell(c,g.model.root,p);p=n=null;a.stopPropagation();a.preventDefault()});var l=document.createElement("img");l.setAttribute("draggable","false");l.setAttribute("align","top");l.setAttribute("border","0");l.style.padding="4px";l.setAttribute("title",mxResources.get("lockUnlock"));var r=g.view.getState(c),t=null!=r?r.style:g.getCellStyle(c);"1"==mxUtils.getValue(t,"locked","0")?l.setAttribute("src",Dialog.prototype.lockedImage):l.setAttribute("src",Dialog.prototype.unlockedImage);
+function(a){null!=n&&null!=p&&g.addCell(c,g.model.root,p);p=n=null;a.stopPropagation();a.preventDefault()});var l=document.createElement("img");l.setAttribute("draggable","false");l.setAttribute("align","top");l.setAttribute("border","0");l.style.padding="4px";l.setAttribute("title",mxResources.get("lockUnlock"));var q=g.view.getState(c),t=null!=q?q.style:g.getCellStyle(c);"1"==mxUtils.getValue(t,"locked","0")?l.setAttribute("src",Dialog.prototype.lockedImage):l.setAttribute("src",Dialog.prototype.unlockedImage);
 g.isEnabled()&&(l.style.cursor="pointer");mxEvent.addListener(l,"click",function(a){if(g.isEnabled()){var b=null;g.getModel().beginUpdate();try{b="1"==mxUtils.getValue(t,"locked","0")?null:"1",g.setCellStyles("locked",b,[c])}finally{g.getModel().endUpdate()}"1"==b&&g.removeSelectionCells(g.getModel().getDescendants(c));mxEvent.consume(a)}});k.appendChild(l);l=document.createElement("input");l.setAttribute("type","checkbox");l.setAttribute("title",mxResources.get("hideIt",[c.value||mxResources.get("background")]));
 l.style.marginLeft="4px";l.style.marginRight="6px";l.style.marginTop="4px";k.appendChild(l);g.model.isVisible(c)&&(l.setAttribute("checked","checked"),l.defaultChecked=!0);mxEvent.addListener(l,"click",function(a){g.model.setVisible(c,!g.model.isVisible(c));mxEvent.consume(a)});mxUtils.write(k,b);f.appendChild(k);if(g.isEnabled()){if(mxClient.IS_TOUCH||mxClient.IS_POINTER||mxClient.IS_VML||mxClient.IS_IE&&10>document.documentMode)b=document.createElement("div"),b.style.display="block",b.style.textAlign=
 "right",b.style.whiteSpace="nowrap",b.style.position="absolute",b.style.right="6px",b.style.top="6px",0<a&&(k=document.createElement("a"),k.setAttribute("title",mxResources.get("toBack")),k.className="geButton",k.style.cssFloat="none",k.innerHTML="&#9660;",k.style.width="14px",k.style.height="14px",k.style.fontSize="14px",k.style.margin="0px",k.style.marginTop="-1px",b.appendChild(k),mxEvent.addListener(k,"click",function(b){g.isEnabled()&&g.addCell(c,g.model.root,a-1);mxEvent.consume(b)})),0<=a&&
-a<q-1&&(k=document.createElement("a"),k.setAttribute("title",mxResources.get("toFront")),k.className="geButton",k.style.cssFloat="none",k.innerHTML="&#9650;",k.style.width="14px",k.style.height="14px",k.style.fontSize="14px",k.style.margin="0px",k.style.marginTop="-1px",b.appendChild(k),mxEvent.addListener(k,"click",function(b){g.isEnabled()&&g.addCell(c,g.model.root,a+1);mxEvent.consume(b)})),f.appendChild(b);mxClient.IS_SVG&&(!mxClient.IS_IE||10<=document.documentMode)&&(f.setAttribute("draggable",
-"true"),f.style.cursor="move")}mxEvent.addListener(f,"dblclick",function(a){var b=mxEvent.getSource(a).nodeName;"INPUT"!=b&&"IMG"!=b&&(e(c),mxEvent.consume(a))});g.getDefaultParent()==c?(f.style.background="white"==Dialog.backdropColor?"#e6eff8":"#505759",f.style.fontWeight=g.isEnabled()?"bold":"",u=c):mxEvent.addListener(f,"click",function(a){g.isEnabled()&&(g.setDefaultParent(d),g.view.setCurrentRoot(null),h())});m.appendChild(f)}q=g.model.getChildCount(g.model.root);m.innerHTML="";for(var b=q-
-1;0<=b;b--)mxUtils.bind(this,function(c){a(b,g.convertValueToString(c)||mxResources.get("background"),c,c)})(g.model.getChildAt(g.model.root,b));var c=g.convertValueToString(u)||mxResources.get("background");r.setAttribute("title",mxResources.get("removeIt",[c]));x.setAttribute("title",mxResources.get("duplicateIt",[c]));t.setAttribute("title",mxResources.get("editData"));g.isSelectionEmpty()&&(w.className="geButton mxDisabled")}var g=a.editor.graph,k=document.createElement("div");k.style.userSelect=
+a<r-1&&(k=document.createElement("a"),k.setAttribute("title",mxResources.get("toFront")),k.className="geButton",k.style.cssFloat="none",k.innerHTML="&#9650;",k.style.width="14px",k.style.height="14px",k.style.fontSize="14px",k.style.margin="0px",k.style.marginTop="-1px",b.appendChild(k),mxEvent.addListener(k,"click",function(b){g.isEnabled()&&g.addCell(c,g.model.root,a+1);mxEvent.consume(b)})),f.appendChild(b);mxClient.IS_SVG&&(!mxClient.IS_IE||10<=document.documentMode)&&(f.setAttribute("draggable",
+"true"),f.style.cursor="move")}mxEvent.addListener(f,"dblclick",function(a){var b=mxEvent.getSource(a).nodeName;"INPUT"!=b&&"IMG"!=b&&(e(c),mxEvent.consume(a))});g.getDefaultParent()==c?(f.style.background="white"==Dialog.backdropColor?"#e6eff8":"#505759",f.style.fontWeight=g.isEnabled()?"bold":"",u=c):mxEvent.addListener(f,"click",function(a){g.isEnabled()&&(g.setDefaultParent(d),g.view.setCurrentRoot(null),h())});m.appendChild(f)}r=g.model.getChildCount(g.model.root);m.innerHTML="";for(var b=r-
+1;0<=b;b--)mxUtils.bind(this,function(c){a(b,g.convertValueToString(c)||mxResources.get("background"),c,c)})(g.model.getChildAt(g.model.root,b));var c=g.convertValueToString(u)||mxResources.get("background");q.setAttribute("title",mxResources.get("removeIt",[c]));x.setAttribute("title",mxResources.get("duplicateIt",[c]));t.setAttribute("title",mxResources.get("editData"));g.isSelectionEmpty()&&(w.className="geButton mxDisabled")}var g=a.editor.graph,k=document.createElement("div");k.style.userSelect=
 "none";k.style.background="white"==Dialog.backdropColor?"whiteSmoke":Dialog.backdropColor;k.style.border="1px solid whiteSmoke";k.style.height="100%";k.style.marginBottom="10px";k.style.overflow="auto";var l=EditorUi.compactUi?"26px":"30px",m=document.createElement("div");m.style.backgroundColor="white"==Dialog.backdropColor?"#dcdcdc":Dialog.backdropColor;m.style.position="absolute";m.style.overflow="auto";m.style.left="0px";m.style.right="0px";m.style.top="0px";m.style.bottom=parseInt(l)+7+"px";
-k.appendChild(m);var n=null,p=null;mxEvent.addListener(k,"dragover",function(a){a.dataTransfer.dropEffect="move";p=0;a.stopPropagation();a.preventDefault()});mxEvent.addListener(k,"drop",function(a){a.stopPropagation();a.preventDefault()});var q=null,u=null,v=document.createElement("div");v.className="geToolbarContainer";v.style.position="absolute";v.style.bottom="0px";v.style.left="0px";v.style.right="0px";v.style.height=l;v.style.overflow="hidden";v.style.padding=EditorUi.compactUi?"4px 0px 3px 0px":
-"1px";v.style.backgroundColor="white"==Dialog.backdropColor?"whiteSmoke":Dialog.backdropColor;v.style.borderWidth="1px 0px 0px 0px";v.style.borderColor="#c3c3c3";v.style.borderStyle="solid";v.style.display="block";v.style.whiteSpace="nowrap";mxClient.IS_QUIRKS&&(v.style.filter="none");l=document.createElement("a");l.className="geButton";mxClient.IS_QUIRKS&&(l.style.filter="none");var r=l.cloneNode();r.innerHTML='<div class="geSprite geSprite-delete" style="display:inline-block;"></div>';mxEvent.addListener(r,
-"click",function(a){if(g.isEnabled()){g.model.beginUpdate();try{var b=g.model.root.getIndex(u);g.removeCells([u],!1);0==g.model.getChildCount(g.model.root)?(g.model.add(g.model.root,new mxCell),g.setDefaultParent(null)):0<b&&b<=g.model.getChildCount(g.model.root)?g.setDefaultParent(g.model.getChildAt(g.model.root,b-1)):g.setDefaultParent(null)}finally{g.model.endUpdate()}}mxEvent.consume(a)});g.isEnabled()||(r.className="geButton mxDisabled");v.appendChild(r);var w=l.cloneNode();w.setAttribute("title",
-mxUtils.trim(mxResources.get("moveSelectionTo",[""])));w.innerHTML='<div class="geSprite geSprite-insert" style="display:inline-block;"></div>';mxEvent.addListener(w,"click",function(b){if(g.isEnabled()&&!g.isSelectionEmpty()){a.editor.graph.popupMenuHandler.hideMenu();var c=new mxPopupMenu(mxUtils.bind(this,function(a,b){for(var c=q-1;0<=c;c--)mxUtils.bind(this,function(c){var d=a.addItem(g.convertValueToString(c)||mxResources.get("background"),null,mxUtils.bind(this,function(){g.moveCells(g.getSelectionCells(),
+k.appendChild(m);var n=null,p=null;mxEvent.addListener(k,"dragover",function(a){a.dataTransfer.dropEffect="move";p=0;a.stopPropagation();a.preventDefault()});mxEvent.addListener(k,"drop",function(a){a.stopPropagation();a.preventDefault()});var r=null,u=null,v=document.createElement("div");v.className="geToolbarContainer";v.style.position="absolute";v.style.bottom="0px";v.style.left="0px";v.style.right="0px";v.style.height=l;v.style.overflow="hidden";v.style.padding=EditorUi.compactUi?"4px 0px 3px 0px":
+"1px";v.style.backgroundColor="white"==Dialog.backdropColor?"whiteSmoke":Dialog.backdropColor;v.style.borderWidth="1px 0px 0px 0px";v.style.borderColor="#c3c3c3";v.style.borderStyle="solid";v.style.display="block";v.style.whiteSpace="nowrap";mxClient.IS_QUIRKS&&(v.style.filter="none");l=document.createElement("a");l.className="geButton";mxClient.IS_QUIRKS&&(l.style.filter="none");var q=l.cloneNode();q.innerHTML='<div class="geSprite geSprite-delete" style="display:inline-block;"></div>';mxEvent.addListener(q,
+"click",function(a){if(g.isEnabled()){g.model.beginUpdate();try{var b=g.model.root.getIndex(u);g.removeCells([u],!1);0==g.model.getChildCount(g.model.root)?(g.model.add(g.model.root,new mxCell),g.setDefaultParent(null)):0<b&&b<=g.model.getChildCount(g.model.root)?g.setDefaultParent(g.model.getChildAt(g.model.root,b-1)):g.setDefaultParent(null)}finally{g.model.endUpdate()}}mxEvent.consume(a)});g.isEnabled()||(q.className="geButton mxDisabled");v.appendChild(q);var w=l.cloneNode();w.setAttribute("title",
+mxUtils.trim(mxResources.get("moveSelectionTo",[""])));w.innerHTML='<div class="geSprite geSprite-insert" style="display:inline-block;"></div>';mxEvent.addListener(w,"click",function(b){if(g.isEnabled()&&!g.isSelectionEmpty()){a.editor.graph.popupMenuHandler.hideMenu();var c=new mxPopupMenu(mxUtils.bind(this,function(a,b){for(var c=r-1;0<=c;c--)mxUtils.bind(this,function(c){var d=a.addItem(g.convertValueToString(c)||mxResources.get("background"),null,mxUtils.bind(this,function(){g.moveCells(g.getSelectionCells(),
 0,0,!1,c)}),b);1==g.getSelectionCount()&&g.model.isAncestor(c,g.getSelectionCell())&&a.addCheckmark(d,Editor.checkmarkImage)})(g.model.getChildAt(g.model.root,c))}));c.div.className+=" geMenubarMenu";c.smartSeparators=!0;c.showDisabled=!0;c.autoExpand=!0;c.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(c,arguments);c.destroy()});var d=mxUtils.getOffset(w);c.popup(d.x,d.y+w.offsetHeight,null,b);a.setCurrentMenu(c)}});v.appendChild(w);var t=l.cloneNode();t.innerHTML='<div class="geSprite geSprite-dots" style="display:inline-block;"></div>';
 t.setAttribute("title",mxResources.get("rename"));mxEvent.addListener(t,"click",function(b){g.isEnabled()&&a.showDataDialog(u);mxEvent.consume(b)});g.isEnabled()||(t.className="geButton mxDisabled");v.appendChild(t);var x=l.cloneNode();x.innerHTML='<div class="geSprite geSprite-duplicate" style="display:inline-block;"></div>';mxEvent.addListener(x,"click",function(a){if(g.isEnabled()){a=null;g.model.beginUpdate();try{a=g.cloneCell(u),g.cellLabelChanged(a,mxResources.get("untitledLayer")),a.setVisible(!0),
 a=g.addCell(a,g.model.root),g.setDefaultParent(a)}finally{g.model.endUpdate()}null==a||g.isCellLocked(a)||g.selectAll(a)}});g.isEnabled()||(x.className="geButton mxDisabled");v.appendChild(x);l=l.cloneNode();l.innerHTML='<div class="geSprite geSprite-plus" style="display:inline-block;"></div>';l.setAttribute("title",mxResources.get("addLayer"));mxEvent.addListener(l,"click",function(a){if(g.isEnabled()){g.model.beginUpdate();try{var b=g.addCell(new mxCell(mxResources.get("untitledLayer")),g.model.root);
@@ -3391,7 +3394,7 @@ this.window.setResizable(!0);this.window.setClosable(!0);this.window.setVisible(
 48));this.getX()==a&&this.getY()==b||mxWindow.prototype.setLocation.apply(this,arguments)};var y=mxUtils.bind(this,function(){var a=this.window.getX(),b=this.window.getY();this.window.setLocation(a,b)});mxEvent.addListener(window,"resize",y);this.destroy=function(){mxEvent.removeListener(window,"resize",y);this.window.destroy()}};
 (function(){Sidebar.prototype.tagIndex="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";
 Sidebar.prototype.searchFileData="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";
-Sidebar.prototype.gearImage=GRAPH_IMAGE_PATH+"/clipart/Gear_128x128.png";Sidebar.prototype.libAliases={aws2:"aws3",gcp:"gcp2"};Sidebar.prototype.defaultEntries="general;uml;er;bpmn;flowchart;basic;arrows2";Sidebar.prototype.signs="Animals Food Healthcare Nature People Safety Science Sports Tech Transportation Travel".split(" ");Sidebar.prototype.ibm="Analytics Applications Blockchain Data DevOps Infrastructure Management Miscellaneous Security Social Users VPC".split(" ");Sidebar.prototype.allied_telesis=
+Sidebar.prototype.gearImage=GRAPH_IMAGE_PATH+"/clipart/Gear_128x128.png";Sidebar.prototype.libAliases={aws2:"aws3",gcp:"gcp2"};Sidebar.prototype.defaultEntries="general;uml;er;bpmn;flowchart;basic;arrows2";Sidebar.prototype.signs="Animals Food Healthcare Nature People Safety Science Sports Tech Transportation Travel".split(" ");Sidebar.prototype.ibm="Analytics Applications Blockchain Data DevOps Infrastructure Management Miscellaneous Security Social Users VPC Boxes Connectors".split(" ");Sidebar.prototype.allied_telesis=
 "Buildings;Computer and Terminals;Media Converters;Security;Storage;Switch;Wireless".split(";");Sidebar.prototype.gcp="Cards;Big Data;Compute;Developer Tools;Extras;Identity and Security;Machine Learning;Management Tools;Networking;Storage Databases".split(";");Sidebar.prototype.gcp2="Paths;Zones;Service Cards;Compute;API Management;Security;Data Analytics;Data Transfer;Cloud AI;Internet of Things;Databases;Storage;Management Tools;Networking;Developer Tools;Expanded Product Cards;User Device Cards;Product Cards;General Icons;Icons AI Machine Learning;Icons Compute;Icons Data Analytics;Icons Management Tools;Icons Networking;Icons Developer Tools;Icons API Management;Icons Internet of Things;Icons Databases;Icons Storage;Icons Security;Icons Migration;Icons Hybrid and Multi Cloud".split(";");
 Sidebar.prototype.rack="General APC Cisco Dell F5 HP IBM Oracle".split(" ");Sidebar.prototype.pids="Agitators;Apparatus Elements;Centrifuges;Compressors;Compressors ISO;Crushers Grinding;Driers;Engines;Feeders;Filters;Fittings;Flow Sensors;Heat Exchangers;Instruments;Misc;Mixers;Piping;Pumps;Pumps DIN;Pumps ISO;Separators;Shaping Machines;Valves;Vessels".split(";");Sidebar.prototype.cisco="Buildings;Computers and Peripherals;Controllers and Modules;Directors;Hubs and Gateways;Misc;Modems and Phones;People;Routers;Security;Servers;Storage;Switches;Wireless".split(";");
 Sidebar.prototype.cisco19="LAN Switching;Routing WAN;Network Management;Data Center;Wireless LAN;Collaboration;Security Clouds Connectors;Endpoint Client Device Icons;DNA SD Access;SD WAN Viptela;ETA Stealthwatch;SAFE".split(";");Sidebar.prototype.cisco_safe=["Architecture","Capability","Design","Threat"];Sidebar.prototype.sysml="Model Elements;Blocks;Ports and Flows;Constraint Blocks;Activities;Interactions;State Machines;Use Cases;Allocations;Requirements;Profiles;Stereotypes".split(";");Sidebar.prototype.eip=
@@ -4548,21 +4551,22 @@ this.getTagsForStencil("mxgraph.azure","virtual_network","").join(" ")),this.cre
 "worker_role","").join(" ")),this.createVertexTemplateEntry(a+"worker_roles;",50*1.1,45,"","Worker Roles",null,null,this.getTagsForStencil("mxgraph.azure","worker_roles","").join(" "))])}})();(function(){Sidebar.prototype.addBasicPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;html=1;shape=mxgraph.basic.";this.addPaletteFunctions("basic",mxResources.get("basic"),!1,[this.createVertexTemplateEntry(a+"rect;fillColor2=none;strokeWidth=1;size=20;indent=5;",120,60,"","Partial Rectangle"),this.createVertexTemplateEntry("shape=partialRectangle;whiteSpace=wrap;html=1;top=0;bottom=0;fillColor=none;",120,60,"","Partial Rectangle"),
 this.createVertexTemplateEntry("shape=partialRectangle;whiteSpace=wrap;html=1;right=0;top=0;bottom=0;fillColor=none;routingCenterX=-0.5;",120,60,"","Partial Rectangle"),this.createVertexTemplateEntry("shape=partialRectangle;whiteSpace=wrap;html=1;bottom=0;right=0;fillColor=none;",120,60,"","Partial Rectangle"),this.createVertexTemplateEntry("shape=partialRectangle;whiteSpace=wrap;html=1;top=0;left=0;fillColor=none;",120,60,"","Partial Rectangle"),this.createVertexTemplateEntry(a+"4_point_star_2;dx=0.8;",
 100,100,"","4 Point Star",null,null,this.getTagsForStencil("mxgraph.basic","4_point_star","").join(" ")),this.createVertexTemplateEntry(a+"6_point_star",100,90,"","6 Point Star",null,null,this.getTagsForStencil("mxgraph.basic","6_point_star","").join(" ")),this.createVertexTemplateEntry(a+"8_point_star",100,100,"","8 Point Star",null,null,this.getTagsForStencil("mxgraph.basic","8_point_star","").join(" ")),this.createVertexTemplateEntry(a+"banner",100,50,"","Banner",null,null,this.getTagsForStencil("mxgraph.basic",
-"banner","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.cloud_callout",90,60,"","Cloud Callout",null,null,this.getTagsForStencil("mxgraph.basic","cloud_callout","").join(" ")),this.createVertexTemplateEntry(a+"cone",100,100,"","Cone",null,null,this.getTagsForStencil("mxgraph.basic","cone","").join(" ")),this.createVertexTemplateEntry(a+"cone2;dx=0.5;dy=0.9;",100,100,"","Cone (adjustable)",null,null,this.getTagsForStencil("mxgraph.basic","cone","").join(" ")),
-this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.document",100,100,"","Document",null,null,this.getTagsForStencil("mxgraph.basic","document","").join(" ")),this.createVertexTemplateEntry(a+"donut;dx=25;",100,100,"","Donut",null,null,this.getTagsForStencil("mxgraph.basic","donut","").join(" ")),this.createVertexTemplateEntry(a+"drop",70,100,"","Drop",null,null,this.getTagsForStencil("mxgraph.basic","drop","").join(" ")),this.createVertexTemplateEntry(a+"flash",60,100,"","Flash",
-null,null,this.getTagsForStencil("mxgraph.basic","flash","").join(" ")),this.createVertexTemplateEntry(a+"half_circle",100,50,"","Half Circle",null,null,this.getTagsForStencil("mxgraph.basic","half_circle"," semicircle").join(" ")),this.createVertexTemplateEntry(a+"heart",100,100,"","Heart",null,null,this.getTagsForStencil("mxgraph.basic","heart","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.isocube;isoAngle=15;",100,100,"","Isometric Cube",null,null,this.getTagsForStencil("mxgraph.basic",
-"isometric cube","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.loud_callout",100,60,"","Loud Callout",null,null,this.getTagsForStencil("mxgraph.basic","loud_callout","").join(" ")),this.createVertexTemplateEntry(a+"moon",75,100,"","Moon",null,null,this.getTagsForStencil("mxgraph.basic","moon","").join(" ")),this.createVertexTemplateEntry(a+"no_symbol",100,100,"","No Symbol",null,null,this.getTagsForStencil("mxgraph.basic","no_symbol","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.octagon2;align=center;verticalAlign=middle;dx=15;",
-100,100,"","Octagon",null,null,this.getTagsForStencil("mxgraph.basic","octagon","").join(" ")),this.createVertexTemplateEntry(a+"orthogonal_triangle",100,70,"","Orthogonal Triangle",null,null,this.getTagsForStencil("mxgraph.basic","orthogonal_triangle","").join(" ")),this.createVertexTemplateEntry(a+"acute_triangle;dx=0.5;",100,70,"","Acute Triangle",null,null,this.getTagsForStencil("mxgraph.basic","acute_triangle","").join(" ")),this.createVertexTemplateEntry(a+"obtuse_triangle;dx=0.25;",100,70,
-"","Obtuse Triangle",null,null,this.getTagsForStencil("mxgraph.basic","obtuse_triangle","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.oval_callout",100,60,"","Oval Callout",null,null,this.getTagsForStencil("mxgraph.basic","oval_callout","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.pentagon",100,90,"","Pentagon",null,null,this.getTagsForStencil("mxgraph.basic","pentagon","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.pointed_oval",
-50,100,"","Pointed Oval",null,null,this.getTagsForStencil("mxgraph.basic","pointed oval","").join(" ")),this.createVertexTemplateEntry(a+"pyramid;dx1=0.4;dx2=0.6;dy1=0.9;dy2=0.8;",100,100,"","Pyramid",null,null,this.getTagsForStencil("mxgraph.basic","pyramid","").join(" ")),this.createVertexTemplateEntry(a+"diag_snip_rect;dx=6;",100,60,"","Diagonal Snip Rectangle",null,null,this.getTagsForStencil("mxgraph.basic","diag_snip_rect","").join(" ")),this.createVertexTemplateEntry(a+"diag_round_rect;dx=6;",
-100,60,"","Diagonal Rounded Rectangle",null,null,this.getTagsForStencil("mxgraph.basic","diag_round_rect","").join(" ")),this.createVertexTemplateEntry(a+"corner_round_rect;dx=6;",100,60,"","Corner Rounded Rectangle",null,null,this.getTagsForStencil("mxgraph.basic","corner_round_rect","").join(" ")),this.createVertexTemplateEntry(a+"three_corner_round_rect;dx=6;",100,60,"","Rounded Rectangle (three corners)",null,null,this.getTagsForStencil("mxgraph.basic","three_corner_round_rect","").join(" ")),
-this.createVertexTemplateEntry(a+"plaque;dx=6;",100,60,"","Plaque",null,null,this.getTagsForStencil("mxgraph.basic","plaque","").join(" ")),this.createVertexTemplateEntry(a+"frame;dx=10;",100,60,"","Frame",null,null,this.getTagsForStencil("mxgraph.basic","frame","").join(" ")),this.createVertexTemplateEntry(a+"rounded_frame;dx=10;",100,60,"","Rounded Frame",null,null,this.getTagsForStencil("mxgraph.basic","rounded_frame","").join(" ")),this.createVertexTemplateEntry(a+"plaque_frame;dx=10;",100,60,
-"","Plaque Frame",null,null,this.getTagsForStencil("mxgraph.basic","plaque_frame","").join(" ")),this.createVertexTemplateEntry(a+"frame_corner;dx=10;",100,60,"","Frame Corner",null,null,this.getTagsForStencil("mxgraph.basic","frame_corner","").join(" ")),this.createVertexTemplateEntry(a+"diag_stripe;dx=10;",100,60,"","Diagonal Stripe",null,null,this.getTagsForStencil("mxgraph.basic","diag_stripe","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.rectCallout;dx=30;dy=15;boundedLbl=1;",
-100,60,"","Rectangular Callout",null,null,this.getTagsForStencil("mxgraph.basic","rectangular_callout","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.roundRectCallout;dx=30;dy=15;size=5;boundedLbl=1;",100,60,"","Rounded Rectangular Callout",null,null,this.getTagsForStencil("mxgraph.basic","rectangular_callout","").join(" ")),this.createVertexTemplateEntry(a+"layered_rect;dx=10;outlineConnect=0;",100,60,"","Layered Rectangle",null,null,this.getTagsForStencil("mxgraph.basic",
-"layered_rect","").join(" ")),this.createVertexTemplateEntry(a+"smiley",100,100,"","Smiley",null,null,this.getTagsForStencil("mxgraph.basic","smiley","").join(" ")),this.createVertexTemplateEntry(a+"star",100,95,"","Star",null,null,this.getTagsForStencil("mxgraph.basic","star","").join(" ")),this.createVertexTemplateEntry(a+"sun",100,100,"","Sun",null,null,this.getTagsForStencil("mxgraph.basic","sun","").join(" ")),this.createVertexTemplateEntry(a+"tick",85,100,"","Tick",null,null,this.getTagsForStencil("mxgraph.basic",
-"tick","").join(" ")),this.createVertexTemplateEntry(a+"wave2;dy=0.3;",100,60,"","Wave",null,null,this.getTagsForStencil("mxgraph.basic","wave","").join(" ")),this.createVertexTemplateEntry("labelPosition=center;verticalLabelPosition=middle;align=center;html=1;shape=mxgraph.basic.button;dx=10;",100,60,"Button","Button",null,null,this.getTagsForStencil("mxgraph.basic","button","").join(" ")),this.createVertexTemplateEntry("labelPosition=center;verticalLabelPosition=middle;align=center;html=1;shape=mxgraph.basic.shaded_button;dx=10;fillColor=#E6E6E6;strokeColor=none;",
-100,60,"Button","Button (shaded)",null,null,this.getTagsForStencil("mxgraph.basic","button","").join(" ")),this.createVertexTemplateEntry(a+"x",100,100,"","X",null,null,this.getTagsForStencil("mxgraph.basic","x","").join(" ")),this.createVertexTemplateEntry(a+"pie;startAngle=0.2;endAngle=0.9;",100,100,"","Pie",null,null,this.getTagsForStencil("mxgraph.basic","pie","").join(" ")),this.createVertexTemplateEntry(a+"arc;startAngle=0.3;endAngle=0.1;",100,100,"","Arc",null,null,this.getTagsForStencil("mxgraph.basic",
-"arc","").join(" ")),this.createVertexTemplateEntry(a+"partConcEllipse;startAngle=0.25;endAngle=0.1;arcWidth=0.5;",100,100,"","Partial Concentric Ellipse",null,null,this.getTagsForStencil("mxgraph.basic","partConcEllipse","").join(" "))])}})();(function(){Sidebar.prototype.addBootstrapPalette=function(){var a=this,b=[this.addDataEntry("bootstrap button bar dark",800,40,"Button Bar (Dark)","5ZhRb5swEMc/DY+NDKaEvIZ2fdm0qpH27gUDVg2HjNuQfvod2EnJnGxRWqJUsRQJn332+ffnbBOPJmX7oFhd/ICUS4/eezRRANo8lW3CpfQCIlKP3nlBQPDnBd8OtPp9K6mZ4pU+xiEwDq9MvnBjMYZGr6U1FLrEsO58j86bgqWwwgrBSsqagqe2gi11179s824tk9+4gkbj40TxJUYyz4SUCUhQ/aA06EvnqBU8801LBRWOMl8VQvNFzZbdkCscBW02UK40bw8utjfZlT5wKLlWa+yyEqkuTI+YGCCk4CIvrFtobawx9Xzr+o4OHyy9/SSpQzKBsmbV+jSgQ16Wyl5U/wcPlR6An/XF2hfirfP1w48wD45gPg7y0EH+yKFGzGd5hUlfDunyF/asL11nJCyq/MmSoGQE9O0u9oESs5GUuHWUiMNPV8HKoOxbG7uSZNkpkpyMP/wnfuuwttvw5NZRY4NtqIYfGZvikmnxynfG2ieRnf8RBIa1nfyGkp3pb+LdESDLGq4diberOEr1yFH9l4AubKiaC931zph+/tTNP98fKQGnjhTh55/kF5eA0ZUnYOyovtAYdKPF8lITcKRk23fYjXXtmLnUuda4q1wZcxq5zKcjMd/sm8O7ngIkd+Jl76syj87J3HeYf4ccDT9f9HVRn9LRqGP1/WvfHAHDPwP+AA=="),
+"banner","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.cloud_callout",90,60,"","Cloud Callout",null,null,this.getTagsForStencil("mxgraph.basic","cloud_callout","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.cloud_rect",120,90,"","Cloud Rectangle",null,null,this.getTagsForStencil("mxgraph.basic","cloud_rect"," rectangle").join(" ")),this.createVertexTemplateEntry(a+"cone",100,100,"","Cone",null,null,this.getTagsForStencil("mxgraph.basic",
+"cone","").join(" ")),this.createVertexTemplateEntry(a+"cone2;dx=0.5;dy=0.9;",100,100,"","Cone (adjustable)",null,null,this.getTagsForStencil("mxgraph.basic","cone","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.document",100,100,"","Document",null,null,this.getTagsForStencil("mxgraph.basic","document","").join(" ")),this.createVertexTemplateEntry(a+"donut;dx=25;",100,100,"","Donut",null,null,this.getTagsForStencil("mxgraph.basic","donut","").join(" ")),
+this.createVertexTemplateEntry(a+"drop",70,100,"","Drop",null,null,this.getTagsForStencil("mxgraph.basic","drop","").join(" ")),this.createVertexTemplateEntry(a+"flash",60,100,"","Flash",null,null,this.getTagsForStencil("mxgraph.basic","flash","").join(" ")),this.createVertexTemplateEntry(a+"half_circle",100,50,"","Half Circle",null,null,this.getTagsForStencil("mxgraph.basic","half_circle"," semicircle").join(" ")),this.createVertexTemplateEntry(a+"heart",100,100,"","Heart",null,null,this.getTagsForStencil("mxgraph.basic",
+"heart","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.isocube;isoAngle=15;",100,100,"","Isometric Cube",null,null,this.getTagsForStencil("mxgraph.basic","isometric cube","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.loud_callout",100,60,"","Loud Callout",null,null,this.getTagsForStencil("mxgraph.basic","loud_callout","").join(" ")),this.createVertexTemplateEntry(a+"moon",75,100,"","Moon",null,null,this.getTagsForStencil("mxgraph.basic",
+"moon","").join(" ")),this.createVertexTemplateEntry(a+"no_symbol",100,100,"","No Symbol",null,null,this.getTagsForStencil("mxgraph.basic","no_symbol","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.octagon2;align=center;verticalAlign=middle;dx=15;",100,100,"","Octagon",null,null,this.getTagsForStencil("mxgraph.basic","octagon","").join(" ")),this.createVertexTemplateEntry(a+"orthogonal_triangle",100,70,"","Orthogonal Triangle",null,null,this.getTagsForStencil("mxgraph.basic",
+"orthogonal_triangle","").join(" ")),this.createVertexTemplateEntry(a+"acute_triangle;dx=0.5;",100,70,"","Acute Triangle",null,null,this.getTagsForStencil("mxgraph.basic","acute_triangle","").join(" ")),this.createVertexTemplateEntry(a+"obtuse_triangle;dx=0.25;",100,70,"","Obtuse Triangle",null,null,this.getTagsForStencil("mxgraph.basic","obtuse_triangle","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.oval_callout",100,60,"","Oval Callout",null,null,this.getTagsForStencil("mxgraph.basic",
+"oval_callout","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.pentagon",100,90,"","Pentagon",null,null,this.getTagsForStencil("mxgraph.basic","pentagon","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.pointed_oval",50,100,"","Pointed Oval",null,null,this.getTagsForStencil("mxgraph.basic","pointed oval","").join(" ")),this.createVertexTemplateEntry(a+"pyramid;dx1=0.4;dx2=0.6;dy1=0.9;dy2=0.8;",100,100,"","Pyramid",
+null,null,this.getTagsForStencil("mxgraph.basic","pyramid","").join(" ")),this.createVertexTemplateEntry(a+"diag_snip_rect;dx=6;",100,60,"","Diagonal Snip Rectangle",null,null,this.getTagsForStencil("mxgraph.basic","diag_snip_rect","").join(" ")),this.createVertexTemplateEntry(a+"diag_round_rect;dx=6;",100,60,"","Diagonal Rounded Rectangle",null,null,this.getTagsForStencil("mxgraph.basic","diag_round_rect","").join(" ")),this.createVertexTemplateEntry(a+"corner_round_rect;dx=6;",100,60,"","Corner Rounded Rectangle",
+null,null,this.getTagsForStencil("mxgraph.basic","corner_round_rect","").join(" ")),this.createVertexTemplateEntry(a+"three_corner_round_rect;dx=6;",100,60,"","Rounded Rectangle (three corners)",null,null,this.getTagsForStencil("mxgraph.basic","three_corner_round_rect","").join(" ")),this.createVertexTemplateEntry(a+"plaque;dx=6;",100,60,"","Plaque",null,null,this.getTagsForStencil("mxgraph.basic","plaque","").join(" ")),this.createVertexTemplateEntry(a+"frame;dx=10;",100,60,"","Frame",null,null,
+this.getTagsForStencil("mxgraph.basic","frame","").join(" ")),this.createVertexTemplateEntry(a+"rounded_frame;dx=10;",100,60,"","Rounded Frame",null,null,this.getTagsForStencil("mxgraph.basic","rounded_frame","").join(" ")),this.createVertexTemplateEntry(a+"plaque_frame;dx=10;",100,60,"","Plaque Frame",null,null,this.getTagsForStencil("mxgraph.basic","plaque_frame","").join(" ")),this.createVertexTemplateEntry(a+"frame_corner;dx=10;",100,60,"","Frame Corner",null,null,this.getTagsForStencil("mxgraph.basic",
+"frame_corner","").join(" ")),this.createVertexTemplateEntry(a+"diag_stripe;dx=10;",100,60,"","Diagonal Stripe",null,null,this.getTagsForStencil("mxgraph.basic","diag_stripe","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.rectCallout;dx=30;dy=15;boundedLbl=1;",100,60,"","Rectangular Callout",null,null,this.getTagsForStencil("mxgraph.basic","rectangular_callout","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.roundRectCallout;dx=30;dy=15;size=5;boundedLbl=1;",
+100,60,"","Rounded Rectangular Callout",null,null,this.getTagsForStencil("mxgraph.basic","rectangular_callout","").join(" ")),this.createVertexTemplateEntry(a+"layered_rect;dx=10;outlineConnect=0;",100,60,"","Layered Rectangle",null,null,this.getTagsForStencil("mxgraph.basic","layered_rect","").join(" ")),this.createVertexTemplateEntry(a+"smiley",100,100,"","Smiley",null,null,this.getTagsForStencil("mxgraph.basic","smiley","").join(" ")),this.createVertexTemplateEntry(a+"star",100,95,"","Star",null,
+null,this.getTagsForStencil("mxgraph.basic","star","").join(" ")),this.createVertexTemplateEntry(a+"sun",100,100,"","Sun",null,null,this.getTagsForStencil("mxgraph.basic","sun","").join(" ")),this.createVertexTemplateEntry(a+"tick",85,100,"","Tick",null,null,this.getTagsForStencil("mxgraph.basic","tick","").join(" ")),this.createVertexTemplateEntry(a+"wave2;dy=0.3;",100,60,"","Wave",null,null,this.getTagsForStencil("mxgraph.basic","wave","").join(" ")),this.createVertexTemplateEntry("labelPosition=center;verticalLabelPosition=middle;align=center;html=1;shape=mxgraph.basic.button;dx=10;",
+100,60,"Button","Button",null,null,this.getTagsForStencil("mxgraph.basic","button","").join(" ")),this.createVertexTemplateEntry("labelPosition=center;verticalLabelPosition=middle;align=center;html=1;shape=mxgraph.basic.shaded_button;dx=10;fillColor=#E6E6E6;strokeColor=none;",100,60,"Button","Button (shaded)",null,null,this.getTagsForStencil("mxgraph.basic","button","").join(" ")),this.createVertexTemplateEntry(a+"x",100,100,"","X",null,null,this.getTagsForStencil("mxgraph.basic","x","").join(" ")),
+this.createVertexTemplateEntry(a+"pie;startAngle=0.2;endAngle=0.9;",100,100,"","Pie",null,null,this.getTagsForStencil("mxgraph.basic","pie","").join(" ")),this.createVertexTemplateEntry(a+"arc;startAngle=0.3;endAngle=0.1;",100,100,"","Arc",null,null,this.getTagsForStencil("mxgraph.basic","arc","").join(" ")),this.createVertexTemplateEntry(a+"partConcEllipse;startAngle=0.25;endAngle=0.1;arcWidth=0.5;",100,100,"","Partial Concentric Ellipse",null,null,this.getTagsForStencil("mxgraph.basic","partConcEllipse",
+"").join(" "))])}})();(function(){Sidebar.prototype.addBootstrapPalette=function(){var a=this,b=[this.addDataEntry("bootstrap button bar dark",800,40,"Button Bar (Dark)","5ZhRb5swEMc/DY+NDKaEvIZ2fdm0qpH27gUDVg2HjNuQfvod2EnJnGxRWqJUsRQJn332+ffnbBOPJmX7oFhd/ICUS4/eezRRANo8lW3CpfQCIlKP3nlBQPDnBd8OtPp9K6mZ4pU+xiEwDq9MvnBjMYZGr6U1FLrEsO58j86bgqWwwgrBSsqagqe2gi11179s824tk9+4gkbj40TxJUYyz4SUCUhQ/aA06EvnqBU8801LBRWOMl8VQvNFzZbdkCscBW02UK40bw8utjfZlT5wKLlWa+yyEqkuTI+YGCCk4CIvrFtobawx9Xzr+o4OHyy9/SSpQzKBsmbV+jSgQ16Wyl5U/wcPlR6An/XF2hfirfP1w48wD45gPg7y0EH+yKFGzGd5hUlfDunyF/asL11nJCyq/MmSoGQE9O0u9oESs5GUuHWUiMNPV8HKoOxbG7uSZNkpkpyMP/wnfuuwttvw5NZRY4NtqIYfGZvikmnxynfG2ieRnf8RBIa1nfyGkp3pb+LdESDLGq4diberOEr1yFH9l4AubKiaC931zph+/tTNP98fKQGnjhTh55/kF5eA0ZUnYOyovtAYdKPF8lITcKRk23fYjXXtmLnUuda4q1wZcxq5zKcjMd/sm8O7ngIkd+Jl76syj87J3HeYf4ccDT9f9HVRn9LRqGP1/WvfHAHDPwP+AA=="),
 this.addDataEntry("bootstrap button bar bright",800,40,"Button Bar (Bright)","5ZdRb5swEMc/DY9FBhNCXkPavmxStUh798IB1gxGxmvIPv0OcBKoSZetpYpUIyT77DP278+dwaFx0TwqVuVfZQLCofcOjZWUuq8VTQxCOD7hiUM3ju8TvB3/4UKv1/WSiiko9TUOfu/wzMQv6C29odYHYQy5LnBZG8+h6zpnidxjg2AjYXUOiWlgT9WOL5qs3Yv7A3dQa6y6Cna4knXKhYilkKqblKZhe7WOWsmfcOwpZYmzrPc517Ct2K6dco+zoM0sFJSG5uJmO5PZ6SPIArQ64JA9T3Tej4hID4TkwLPcuAXGxuq+nZ1cz+iwYuhNk6QWyVgWFSsP/wd0yMtQmUT1d/Cy1APwSVeMfct/t75e8Bbm/hXM50EeWMifQFaI+WNeYdJel3R5gX3VlXYwEuZl9s2QoGQG9M0Y+0CJ1UxKLCwlouDdVTAyKPPWRhOSpATLlZKkXXkL/uBV/MbhYNKwu7DUOGIbquGFvU2BYJo/w2iuKYnM858kx2WdHn5Hyejxd9F4BpmmNWhL4tMurlI9tFT/zmW7bFnWN5r1PjD8vKUdf543UwAuLSmC9z/Jby4Aw08egJGl+lbjomvNd7cagDMF29RhN9dnx8qmDlpjVvlkzGloM1/OxPyYN0fQmdrlruvOnecWU3nOpK6xUC+/r6fsTPCsRJuAVJ8PpC9da+PNeB6Fi3FGstOhRyfUo/+uHjbPf7B9Whv+4P4B"),
 this.addEntry("bootstrap button group vertical",function(){var b=new mxCell("",new mxGeometry(0,0,100,150),"html=1;shadow=0;dashed=0;shape=mxgraph.bootstrap.rrect;rSize=5;strokeColor=#dddddd;html=1;whiteSpace=wrap;fillColor=#ffffff;");b.vertex=!0;var d=new mxCell("Edit",new mxGeometry(0,0,100,30),"strokeColor=inherit;fillColor=inherit;gradientColor=inherit;html=1;shadow=0;dashed=0;shape=mxgraph.bootstrap.topButton;rSize=5;perimeter=none;whiteSpace=wrap;resizeWidth=1;");d.geometry.relative=!0;d.vertex=
 !0;b.insert(d);d=new mxCell("Create",new mxGeometry(0,0,100,30),"strokeColor=inherit;fillColor=inherit;gradientColor=inherit;html=1;shadow=0;dashed=0;shape=mxgraph.bootstrap.rect;perimeter=none;whiteSpace=wrap;resizeWidth=1;");d.geometry.relative=!0;d.geometry.offset=new mxPoint(0,30);d.vertex=!0;b.insert(d);var c=new mxCell("Delete",new mxGeometry(0,0,100,30),"strokeColor=inherit;fillColor=inherit;gradientColor=inherit;html=1;shadow=0;dashed=0;shape=mxgraph.bootstrap.rect;perimeter=none;whiteSpace=wrap;resizeWidth=1;");
@@ -5918,76 +5922,77 @@ this.addPalette("gmdlText Fields","GMDL / Text Fields",a||!1,mxUtils.bind(this,f
 "ibm",this,"aspect=fixed;perimeter=ellipsePerimeter;html=1;align=center;shadow=0;dashed=0;fontColor=#4277BB;labelBackgroundColor=#ffffff;fontSize=12;spacingTop=3;image;image=img/lib/ibm/");this.addIBMDataPalette(60,"ibm",this,"aspect=fixed;perimeter=ellipsePerimeter;html=1;align=center;shadow=0;dashed=0;fontColor=#4277BB;labelBackgroundColor=#ffffff;fontSize=12;spacingTop=3;image;image=img/lib/ibm/");this.addIBMDevOpsPalette(60,"ibm",this,"aspect=fixed;perimeter=ellipsePerimeter;html=1;align=center;shadow=0;dashed=0;fontColor=#4277BB;labelBackgroundColor=#ffffff;fontSize=12;spacingTop=3;image;image=img/lib/ibm/");
 this.addIBMInfrastructurePalette(60,"ibm",this,"aspect=fixed;perimeter=ellipsePerimeter;html=1;align=center;shadow=0;dashed=0;fontColor=#4277BB;labelBackgroundColor=#ffffff;fontSize=12;spacingTop=3;image;image=img/lib/ibm/");this.addIBMManagementPalette(60,"ibm",this,"aspect=fixed;perimeter=ellipsePerimeter;html=1;align=center;shadow=0;dashed=0;fontColor=#4277BB;labelBackgroundColor=#ffffff;fontSize=12;spacingTop=3;image;image=img/lib/ibm/");this.addIBMMiscPalette(60,"ibm",this,"aspect=fixed;perimeter=ellipsePerimeter;html=1;align=center;shadow=0;dashed=0;fontColor=#4277BB;labelBackgroundColor=#ffffff;fontSize=12;spacingTop=3;image;image=img/lib/ibm/");
 this.addIBMSecurityPalette(60,"ibm",this,"aspect=fixed;perimeter=ellipsePerimeter;html=1;align=center;shadow=0;dashed=0;fontColor=#4277BB;labelBackgroundColor=#ffffff;fontSize=12;spacingTop=3;image;image=img/lib/ibm/");this.addIBMSocialPalette(60,"ibm",this,"aspect=fixed;perimeter=ellipsePerimeter;html=1;align=center;shadow=0;dashed=0;fontColor=#4277BB;labelBackgroundColor=#ffffff;fontSize=12;spacingTop=3;image;image=img/lib/ibm/");this.addIBMUsersPalette(60,"ibm",this,"aspect=fixed;perimeter=ellipsePerimeter;html=1;align=center;shadow=0;dashed=0;fontColor=#4277BB;labelBackgroundColor=#ffffff;fontSize=12;spacingTop=3;image;image=img/lib/ibm/");
-this.addIBMVPCPalette(60,"ibm",this,"aspect=fixed;perimeter=ellipsePerimeter;html=1;align=center;shadow=0;dashed=0;fontColor=#4277BB;labelBackgroundColor=#ffffff;fontSize=12;spacingTop=3;image;image=img/lib/ibm/")};Sidebar.prototype.addIBMAnalyticsPalette=function(a,b,e,d){d+="analytics/";var c=[this.createVertexTemplateEntry(d+"analytics.svg;",a,a,"","Analytics",!1,null,this.getTagsForStencil("analytics ","",b).join(" ")),this.createVertexTemplateEntry(d+"data_integration.svg;",a,a,"","Data Integration",
-!1,null,this.getTagsForStencil("analytics ","data integration",b).join(" ")),this.createVertexTemplateEntry(d+"data_repositories.svg;",a,a,"","Data Repositories",!1,null,this.getTagsForStencil("analytics ","data repositories",b).join(" ")),this.createVertexTemplateEntry(d+"device_analytics.svg;",a,a,"","Device Analytics",!1,null,this.getTagsForStencil("analytics ","device analytics",b).join(" ")),this.createVertexTemplateEntry(d+"streaming_computing.svg;",a,a,"","Streaming Computing",!1,null,this.getTagsForStencil("analytics ",
-"streaming computing",b).join(" "))];this.addPalette("ibmAnalytics","IBM / Analytics",!1,mxUtils.bind(this,function(a){for(var b=0;b<c.length;b++)a.appendChild(c[b](a))}))};Sidebar.prototype.addIBMApplicationsPalette=function(a,b,e,d){d+="applications/";var c=[this.createVertexTemplateEntry(d+"actionable_insight.svg;",a,a,"","Actionable Insight",!1,null,this.getTagsForStencil("applications ","actionable insight",b).join(" ")),this.createVertexTemplateEntry(d+"annotate.svg;",a,a,"","Annotate",!1,null,
-this.getTagsForStencil("applications ","annotate",b).join(" ")),this.createVertexTemplateEntry(d+"api_developer_portal.svg;",a,a,"","API Developer Portal",!1,null,this.getTagsForStencil("applications ","api developer portal",b).join(" ")),this.createVertexTemplateEntry(d+"api_polyglot_runtimes.svg;",a,a,"","API Polyglot Runtimes",!1,null,this.getTagsForStencil("applications ","api polyglot runtimes",b).join(" ")),this.createVertexTemplateEntry(d+"app_server.svg;",a,a,"","App Server",!1,null,this.getTagsForStencil("applications ",
-"app server",b).join(" ")),this.createVertexTemplateEntry(d+"application_logic.svg;",a,a,"","Application Logic",!1,null,this.getTagsForStencil("applications ","application logic",b).join(" ")),this.createVertexTemplateEntry(d+"automation_tools.svg;",a,a,"","Automation Tools",!1,null,this.getTagsForStencil("applications ","automation tools",b).join(" ")),this.createVertexTemplateEntry(d+"enterprise_applications.svg;",a,a,"","Enterprise Applications",!1,null,this.getTagsForStencil("applications ","enterprise applications",
-b).join(" ")),this.createVertexTemplateEntry(d+"index.svg;",a,a,"","Index",!1,null,this.getTagsForStencil("applications ","index",b).join(" ")),this.createVertexTemplateEntry(d+"iot_application.svg;",a,a,"","IoT Application",!1,null,this.getTagsForStencil("applications ","iot application",b).join(" ")),this.createVertexTemplateEntry(d+"microservice.svg;",1.37*a,a,"","Microservice",!1,null,this.getTagsForStencil("applications ","microservice",b).join(" ")),this.createVertexTemplateEntry(d+"mobile_app.svg;",
-a,a,"","Mobile App",!1,null,this.getTagsForStencil("applications ","mobile app",b).join(" ")),this.createVertexTemplateEntry(d+"ontology.svg;",a,a,"","Ontology",!1,null,this.getTagsForStencil("applications ","ontology",b).join(" ")),this.createVertexTemplateEntry(d+"open_source_tools.svg;",a,a,"","Open Source Tools",!1,null,this.getTagsForStencil("applications ","open source tools",b).join(" ")),this.createVertexTemplateEntry(d+"runtime_services.svg;",a,a,"","Runtime Services",!1,null,this.getTagsForStencil("applications ",
-"runtime services",b).join(" ")),this.createVertexTemplateEntry(d+"saas_applications.svg;",a,a,"","SaaS Applications",!1,null,this.getTagsForStencil("applications ","saas applications",b).join(" ")),this.createVertexTemplateEntry(d+"service_broker.svg;",a,a,"","Service Broker",!1,null,this.getTagsForStencil("applications ","service broker",b).join(" ")),this.createVertexTemplateEntry(d+"speech_to_text.svg;",a,a,"","Speech to Text",!1,null,this.getTagsForStencil("applications ","speech to text",b).join(" ")),
-this.createVertexTemplateEntry(d+"visual_recognition.svg;",a,a,"","Visual Recognition",!1,null,this.getTagsForStencil("applications ","visual recognition",b).join(" ")),this.createVertexTemplateEntry(d+"visualization.svg;",a,a,"","Visualization",!1,null,this.getTagsForStencil("applications ","visualization",b).join(" "))];this.addPalette("ibmApplications","IBM / Applications",!1,mxUtils.bind(this,function(a){for(var b=0;b<c.length;b++)a.appendChild(c[b](a))}))};Sidebar.prototype.addIBMBlockchainPalette=
-function(a,b,e,d){d+="blockchain/";var c=[this.createVertexTemplateEntry(d+"blockchain.svg;",a,a,"","Blockchain",!1,null,this.getTagsForStencil("blockchain ","",b).join(" ")),this.createVertexTemplateEntry(d+"blockchain_developer.svg;",a,a,"","Blockchain Developer",!1,null,this.getTagsForStencil("blockchain ","developer",b).join(" ")),this.createVertexTemplateEntry(d+"certificate_authority.svg;",a,a,"","Certificate Authority",!1,null,this.getTagsForStencil("blockchain ","certificate authority",b).join(" ")),
-this.createVertexTemplateEntry(d+"client_application.svg;",a,a,"","Client Application",!1,null,this.getTagsForStencil("blockchain ","client application",b).join(" ")),this.createVertexTemplateEntry(d+"communication.svg;",a,a,"","Communication",!1,null,this.getTagsForStencil("blockchain ","communication",b).join(" ")),this.createVertexTemplateEntry(d+"consensus.svg;",a,a,"","Consensus",!1,null,this.getTagsForStencil("blockchain ","communication",b).join(" ")),this.createVertexTemplateEntry(d+"e_cert.svg;",
-a,a,"","E-Cert",!1,null,this.getTagsForStencil("blockchain ","ecert e-cert",b).join(" ")),this.createVertexTemplateEntry(d+"event.svg;",a,a,"","Event",!1,null,this.getTagsForStencil("blockchain ","event",b).join(" ")),this.createVertexTemplateEntry(d+"event_listener.svg;",a,a,"","Event Listener",!1,null,this.getTagsForStencil("blockchain ","event listener",b).join(" ")),this.createVertexTemplateEntry(d+"existing_enterprise_systems.svg;",a,a,"","Existing Enterprise Systems",!1,null,this.getTagsForStencil("blockchain ",
-"existing enterprise systems",b).join(" ")),this.createVertexTemplateEntry(d+"hyperledger_fabric.svg;",a,a,"","Hyperledger Fabric",!1,null,this.getTagsForStencil("blockchain ","hyperledger fabric",b).join(" ")),this.createVertexTemplateEntry(d+"identity_access_manager.svg;",a,a,"","Identity & Access Manager",!1,null,this.getTagsForStencil("blockchain ","identity access manager",b).join(" ")),this.createVertexTemplateEntry(d+"key_management.svg;",.38*a,.38*a,"","Key Management",!1,null,this.getTagsForStencil("blockchain ",
-"key management",b).join(" ")),this.createVertexTemplateEntry(d+"ledger.svg;",a,a,"","Ledger",!1,null,this.getTagsForStencil("blockchain ","ledger",b).join(" ")),this.createVertexTemplateEntry(d+"membership.svg;",a,a,"","Membership",!1,null,this.getTagsForStencil("blockchain ","membership",b).join(" ")),this.createVertexTemplateEntry(d+"membership_services_provider_api.svg;",a,a,"","Membership Services Provider API",!1,null,this.getTagsForStencil("blockchain ","membership services provider api",b).join(" ")),
-this.createVertexTemplateEntry(d+"message_bus.svg;",a,a,"","Message Bus",!1,null,this.getTagsForStencil("blockchain ","message bus",b).join(" ")),this.createVertexTemplateEntry(d+"node.svg;",a,a,"","Node",!1,null,this.getTagsForStencil("blockchain ","node",b).join(" ")),this.createVertexTemplateEntry(d+"services.svg;",a,a,"","Services",!1,null,this.getTagsForStencil("blockchain ","services",b).join(" ")),this.createVertexTemplateEntry(d+"smart_contract.svg;",a,a,"","Smart Contract",!1,null,this.getTagsForStencil("blockchain ",
-"smart contract",b).join(" ")),this.createVertexTemplateEntry(d+"transaction_manager.svg;",a,a,"","Transaction Manager",!1,null,this.getTagsForStencil("blockchain ","transaction manager",b).join(" ")),this.createVertexTemplateEntry(d+"wallet.svg;",a,a,"","Wallet",!1,null,this.getTagsForStencil("blockchain ","wallet",b).join(" "))];this.addPalette("ibmBlockchain","IBM / Blockchain",!1,mxUtils.bind(this,function(a){for(var b=0;b<c.length;b++)a.appendChild(c[b](a))}))};Sidebar.prototype.addIBMDataPalette=
-function(a,b,e,d){d+="data/";var c=[this.createVertexTemplateEntry(d+"caches.svg;",a,a,"","Caches",!1,null,this.getTagsForStencil("data ","caches",b).join(" ")),this.createVertexTemplateEntry(d+"conversation_trained_deployed.svg;",a,a,"","Conversation (Trained & Deployed)",!1,null,this.getTagsForStencil("data ","conversation trained deployed",b).join(" ")),this.createVertexTemplateEntry(d+"cloud.svg;",a,a,"","Cloud",!1,null,this.getTagsForStencil("data ","cloud",b).join(" ")),this.createVertexTemplateEntry(d+
-"data_services.svg;",a,a,"","Data Services",!1,null,this.getTagsForStencil("data ","data services",b).join(" ")),this.createVertexTemplateEntry(d+"data_sources.svg;",a,a,"","Data Sources",!1,null,this.getTagsForStencil("data ","data sources",b).join(" ")),this.createVertexTemplateEntry(d+"device_identity_service.svg;",a,a,"","Device Identity Service",!1,null,this.getTagsForStencil("data ","device identity service",b).join(" ")),this.createVertexTemplateEntry(d+"device_registry.svg;",a,a,"","Device Registry",
-!1,null,this.getTagsForStencil("data ","device registry",b).join(" ")),this.createVertexTemplateEntry(d+"enterprise_data.svg;",a,a,"","Enterprise Data",!1,null,this.getTagsForStencil("data ","enterprise data",b).join(" ")),this.createVertexTemplateEntry(d+"enterprise_user_directory.svg;",a,a,"","Enterprise User Directory",!1,null,this.getTagsForStencil("data ","enterprise user directory",b).join(" ")),this.createVertexTemplateEntry(d+"file_repository.svg;",a,a,"","File Repository",!1,null,this.getTagsForStencil("data ",
-"file repository",b).join(" ")),this.createVertexTemplateEntry(d+"ground_truth.svg;",a,a,"","Ground Truth",!1,null,this.getTagsForStencil("data ","ground truth",b).join(" ")),this.createVertexTemplateEntry(d+"model.svg;",a,a,"","Model",!1,null,this.getTagsForStencil("data ","model",b).join(" ")),this.createVertexTemplateEntry(d+"tms_data_interface.svg;",a,a,"","TMS Data Interface",!1,null,this.getTagsForStencil("data ","tms data interface",b).join(" "))];this.addPalette("ibmData","IBM / Data",!1,
-mxUtils.bind(this,function(a){for(var b=0;b<c.length;b++)a.appendChild(c[b](a))}))};Sidebar.prototype.addIBMDevOpsPalette=function(a,b,e,d){d+="devops/";var c=[this.createVertexTemplateEntry(d+"artifact_management.svg;",a,a,"","Artifact Management",!1,null,this.getTagsForStencil("devops ","artifact management",b).join(" ")),this.createVertexTemplateEntry(d+"build_test.svg;",a,a,"","Build & Test",!1,null,this.getTagsForStencil("devops ","build test",b).join(" ")),this.createVertexTemplateEntry(d+"code_editor.svg;",
-a,a,"","Code Editor",!1,null,this.getTagsForStencil("devops ","code editor",b).join(" ")),this.createVertexTemplateEntry(d+"collaborative_development.svg;",a,a,"","Collaborative Development",!1,null,this.getTagsForStencil("devops ","collaborative development",b).join(" ")),this.createVertexTemplateEntry(d+"configuration_management.svg;",a,a,"","Configuration Management",!1,null,this.getTagsForStencil("devops ","configuration management",b).join(" ")),this.createVertexTemplateEntry(d+"continuous_deploy.svg;",
-a,a,"","Continuous Deploy",!1,null,this.getTagsForStencil("devops ","continuous deploy",b).join(" ")),this.createVertexTemplateEntry(d+"continuous_testing.svg;",a,a,"","Continuous Testing",!1,null,this.getTagsForStencil("devops ","continuous testing",b).join(" ")),this.createVertexTemplateEntry(d+"devops.svg;",a,a,"","DevOps",!1,null,this.getTagsForStencil("devops ","devops",b).join(" ")),this.createVertexTemplateEntry(d+"provision.svg;",a,a,"","Provision",!1,null,this.getTagsForStencil("devops ",
-"provision",b).join(" ")),this.createVertexTemplateEntry(d+"release_management.svg;",a,a,"","Release Management",!1,null,this.getTagsForStencil("devops ","release management",b).join(" "))];this.addPalette("ibmDevOps","IBM / DevOps",!1,mxUtils.bind(this,function(a){for(var b=0;b<c.length;b++)a.appendChild(c[b](a))}))};Sidebar.prototype.addIBMInfrastructurePalette=function(a,b,e,d){d+="infrastructure/";var c=[this.createVertexTemplateEntry(d+"channels.svg;",a,a,"","Channels",!1,null,this.getTagsForStencil("infrastructure ",
-"channels",b).join(" ")),this.createVertexTemplateEntry(d+"cloud_messaging.svg;",a,a,"","Cloud Messaging",!1,null,this.getTagsForStencil("infrastructure ","cloud messaging",b).join(" ")),this.createVertexTemplateEntry(d+"dashboard.svg;",a,a,"","Dashboard",!1,null,this.getTagsForStencil("infrastructure ","dashboard",b).join(" ")),this.createVertexTemplateEntry(d+"diagnostics.svg;",a,a,"","Diagnostics",!1,null,this.getTagsForStencil("infrastructure ","diagnostics",b).join(" ")),this.createVertexTemplateEntry(d+
-"edge_services.svg;",a,a,"","Edge Services",!1,null,this.getTagsForStencil("infrastructure ","edge services",b).join(" ")),this.createVertexTemplateEntry(d+"enterprise_messaging.svg;",a,a,"","Enterprise Messaging",!1,null,this.getTagsForStencil("infrastructure ","enterprise messaging",b).join(" ")),this.createVertexTemplateEntry(d+"event_feed.svg;",a,a,"","Event Feed",!1,null,this.getTagsForStencil("infrastructure ","event feed",b).join(" ")),this.createVertexTemplateEntry(d+"infrastructure_services.svg;",
-a,a,"","Infrastructure Services",!1,null,this.getTagsForStencil("infrastructure ","infrastructure services",b).join(" ")),this.createVertexTemplateEntry(d+"interservice_communication.svg;",a,a,"","Interservice Communication",!1,null,this.getTagsForStencil("infrastructure ","interservice communication",b).join(" ")),this.createVertexTemplateEntry(d+"load_balancing_routing.svg;",a,a,"","Load Balancing / Routing",!1,null,this.getTagsForStencil("infrastructure ","load balancing routing",b).join(" ")),
-this.createVertexTemplateEntry(d+"microservices_mesh.svg;",a,a,"","Microservices Mesh",!1,null,this.getTagsForStencil("infrastructure ","microservices mesh",b).join(" ")),this.createVertexTemplateEntry(d+"mobile_backend.svg;",a,a,"","Mobile Backend",!1,null,this.getTagsForStencil("infrastructure ","mobile backend",b).join(" ")),this.createVertexTemplateEntry(d+"mobile_provider_network.svg;",a,a,"","Mobile Provider Network",!1,null,this.getTagsForStencil("infrastructure ","mobile provider network",
-b).join(" ")),this.createVertexTemplateEntry(d+"monitoring.svg;",a,a,"","Monitoring",!1,null,this.getTagsForStencil("infrastructure ","monitoring",b).join(" ")),this.createVertexTemplateEntry(d+"monitoring_logging.svg;",a,a,"","Monitoring & Logging",!1,null,this.getTagsForStencil("infrastructure ","monitoring logging",b).join(" ")),this.createVertexTemplateEntry(d+"peer_services.svg;",a,a,"","Peer Services",!1,null,this.getTagsForStencil("infrastructure ","peer services",b).join(" ")),this.createVertexTemplateEntry(d+
-"service_discovery_configuration.svg;",a,a,"","Service Discovery & Configuration",!1,null,this.getTagsForStencil("infrastructure ","service discovery configuration",b).join(" ")),this.createVertexTemplateEntry(d+"transformation_connectivity.svg;",a,a,"","Transformation & Connectivity",!1,null,this.getTagsForStencil("infrastructure ","transformation connectivity",b).join(" "))];this.addPalette("ibmInfrastructure","IBM / Infrastructure",!1,mxUtils.bind(this,function(a){for(var b=0;b<c.length;b++)a.appendChild(c[b](a))}))};
-Sidebar.prototype.addIBMManagementPalette=function(a,b,e,d){d+="management/";var c=[this.createVertexTemplateEntry(d+"alert_notification.svg;",a,a,"","Alert Notification",!1,null,this.getTagsForStencil("management ","alert notification",b).join(" ")),this.createVertexTemplateEntry(d+"api_management.svg;",a,a,"","API Management",!1,null,this.getTagsForStencil("management ","api management",b).join(" ")),this.createVertexTemplateEntry(d+"cloud_management.svg;",a,a,"","Cloud Management",!1,null,this.getTagsForStencil("management ",
-"cloud management",b).join(" ")),this.createVertexTemplateEntry(d+"cluster_management.svg;",a,a,"","Cluster Management",!1,null,this.getTagsForStencil("management ","cluster management",b).join(" ")),this.createVertexTemplateEntry(d+"content_management.svg;",a,a,"","Content Management",!1,null,this.getTagsForStencil("management ","content management",b).join(" ")),this.createVertexTemplateEntry(d+"data_services.svg;",a,a,"","Data Services",!1,null,this.getTagsForStencil("management ","data services",
-b).join(" ")),this.createVertexTemplateEntry(d+"device_management.svg;",a,a,"","Device Management",!1,null,this.getTagsForStencil("management ","device management",b).join(" ")),this.createVertexTemplateEntry(d+"information_governance.svg;",a,a,"","Information Governance",!1,null,this.getTagsForStencil("management ","information governance",b).join(" ")),this.createVertexTemplateEntry(d+"it_service_management.svg;",a,a,"","IT Service Management",!1,null,this.getTagsForStencil("management ","it service management information technology",
-b).join(" ")),this.createVertexTemplateEntry(d+"management.svg;",a,a,"","Management",!1,null,this.getTagsForStencil("management ","management",b).join(" ")),this.createVertexTemplateEntry(d+"monitoring_metrics.svg;",a,a,"","Monitoring & Metrics",!1,null,this.getTagsForStencil("management ","monitoring metrics",b).join(" ")),this.createVertexTemplateEntry(d+"process_management.svg;",a,a,"","Process Management",!1,null,this.getTagsForStencil("management ","process management",b).join(" ")),this.createVertexTemplateEntry(d+
-"provider_cloud_portal_service.svg;",a,a,"","Provider Cloud Portal Service",!1,null,this.getTagsForStencil("management ","provider cloud portal service",b).join(" ")),this.createVertexTemplateEntry(d+"push_notifications.svg;",a,a,"","Push Notifications",!1,null,this.getTagsForStencil("management ","push notifications",b).join(" ")),this.createVertexTemplateEntry(d+"service_management_tools.svg;",a,a,"","Service Management Tools",!1,null,this.getTagsForStencil("management ","service management tools",
-b).join(" "))];this.addPalette("ibmManagement","IBM / Management",!1,mxUtils.bind(this,function(a){for(var b=0;b<c.length;b++)a.appendChild(c[b](a))}))};Sidebar.prototype.addIBMMiscPalette=function(a,b,e,d){d+="miscellaneous/";var c=[this.createVertexTemplateEntry(d+"bluemix.svg;",a,a,"","Bluemix",!1,null,this.getTagsForStencil("miscellaneous ","bluemix",b).join(" ")),this.createVertexTemplateEntry(d+"cloudant.svg;",a,a,"","Cloudant",!1,null,this.getTagsForStencil("miscellaneous ","cloudant",b).join(" ")),
-this.createVertexTemplateEntry(d+"cognitive_services.svg;",a,a,"","Cognitive Services",!1,null,this.getTagsForStencil("miscellaneous ","cognitive services",b).join(" ")),this.createVertexTemplateEntry(d+"ibm_containers.svg;",a,a,"","IBM Containers",!1,null,this.getTagsForStencil("miscellaneous ","ibm containers",b).join(" ")),this.createVertexTemplateEntry(d+"ibm_public_cloud.svg;",a,.77*a,"","IBM Public Cloud",!1,null,this.getTagsForStencil("miscellaneous ","ibm public cloud",b).join(" ")),this.createVertexTemplateEntry(d+
-"iot_cloud.svg;",a,.77*a,"","IoT Cloud",!1,null,this.getTagsForStencil("miscellaneous ","iot cloud internet of things",b).join(" ")),this.createVertexTemplateEntry(d+"microservices_application.svg;",a,a,"","Microservices Application",!1,null,this.getTagsForStencil("miscellaneous ","microservices application",b).join(" ")),this.createVertexTemplateEntry(d+"object_storage.svg;",a,a,"","Object Storage",!1,null,this.getTagsForStencil("miscellaneous ","object storage",b).join(" ")),this.createVertexTemplateEntry(d+
-"offline_capabilities.svg;",a,a,"","Offline Capabilities",!1,null,this.getTagsForStencil("miscellaneous ","offline capabilities",b).join(" ")),this.createVertexTemplateEntry(d+"openwhisk.svg;",a,a,"","Openwhisk",!1,null,this.getTagsForStencil("miscellaneous ","openwhisk",b).join(" ")),this.createVertexTemplateEntry(d+"peer_cloud.svg;",a,.77*a,"","Peer Cloud",!1,null,this.getTagsForStencil("miscellaneous ","peer cloud",b).join(" ")),this.createVertexTemplateEntry(d+"retrieve_rank.svg;",a,a,"","Retrieve Rank",
-!1,null,this.getTagsForStencil("miscellaneous ","retrieve rank",b).join(" ")),this.createVertexTemplateEntry(d+"scalable.svg;",.25*a,.25*a,"","Scalable",!1,null,this.getTagsForStencil("miscellaneous ","scalable",b).join(" ")),this.createVertexTemplateEntry(d+"text_to_speech.svg;",a,a,"","Text to Speech",!1,null,this.getTagsForStencil("miscellaneous ","text to speech",b).join(" "))];this.addPalette("ibmMiscellaneous","IBM / Miscellaneous",!1,mxUtils.bind(this,function(a){for(var b=0;b<c.length;b++)a.appendChild(c[b](a))}))};
-Sidebar.prototype.addIBMSecurityPalette=function(a,b,e,d){d+="security/";var c=[this.createVertexTemplateEntry(d+"api_security.svg;",a,a,"","API Security",!1,null,this.getTagsForStencil("security ","api security",b).join(" ")),this.createVertexTemplateEntry(d+"blockchain_security_service.svg;",a,a,"","Blockchain Security Service",!1,null,this.getTagsForStencil("security ","blockchain security service",b).join(" ")),this.createVertexTemplateEntry(d+"data_security.svg;",a,a,"","Data Security",!1,null,
-this.getTagsForStencil("security ","data security",b).join(" ")),this.createVertexTemplateEntry(d+"firewall.svg;",a,a,"","Firewall",!1,null,this.getTagsForStencil("security ","firewall",b).join(" ")),this.createVertexTemplateEntry(d+"gateway.svg;",a,a,"","Gateway",!1,null,this.getTagsForStencil("security ","gateway",b).join(" ")),this.createVertexTemplateEntry(d+"governance_risk_compliance.svg;",a,a,"","Governance, Risk & Compliance",!1,null,this.getTagsForStencil("security ","governance risk compliance",
-b).join(" ")),this.createVertexTemplateEntry(d+"identity_access_management.svg;",a,a,"","Identity & Access Management",!1,null,this.getTagsForStencil("security ","identity access management",b).join(" ")),this.createVertexTemplateEntry(d+"identity_provider.svg;",a,a,"","Identity Provider",!1,null,this.getTagsForStencil("security ","identity provider",b).join(" ")),this.createVertexTemplateEntry(d+"infrastructure_security.svg;",a,a,"","Infrastructure Security",!1,null,this.getTagsForStencil("security ",
-"infrastructure security",b).join(" ")),this.createVertexTemplateEntry(d+"physical_security.svg;",a,a,"","Physical Security",!1,null,this.getTagsForStencil("security ","physical security",b).join(" ")),this.createVertexTemplateEntry(d+"security_monitoring_intelligence.svg;",a,a,"","Security Monitoring & Intelligence",!1,null,this.getTagsForStencil("security ","security monitoring intelligence",b).join(" ")),this.createVertexTemplateEntry(d+"security_services.svg;",a,a,"","Security Services",!1,null,
-this.getTagsForStencil("security ","security services",b).join(" ")),this.createVertexTemplateEntry(d+"trustend_computing.svg;",a,a,"","Trustend Computing",!1,null,this.getTagsForStencil("security ","trustend computing",b).join(" ")),this.createVertexTemplateEntry(d+"vpn.svg;",a,a,"","VPN",!1,null,this.getTagsForStencil("security ","vpn virtual private network",b).join(" "))];this.addPalette("ibmSecurity","IBM / Security",!1,mxUtils.bind(this,function(a){for(var b=0;b<c.length;b++)a.appendChild(c[b](a))}))};
-Sidebar.prototype.addIBMSocialPalette=function(a,b,e,d){d+="social/";var c=[this.createVertexTemplateEntry(d+"communities.svg;",a,a,"","Communities",!1,null,this.getTagsForStencil("social ","communities",b).join(" ")),this.createVertexTemplateEntry(d+"file_sync.svg;",a,a,"","File Sync",!1,null,this.getTagsForStencil("social ","file sync",b).join(" ")),this.createVertexTemplateEntry(d+"live_collaboration.svg;",a,a,"","Live Collaboration",!1,null,this.getTagsForStencil("social ","live collaboration",
-b).join(" ")),this.createVertexTemplateEntry(d+"messaging.svg;",a,a,"","Messaging",!1,null,this.getTagsForStencil("social ","messaging",b).join(" ")),this.createVertexTemplateEntry(d+"networking.svg;",a,a,"","Networking",!1,null,this.getTagsForStencil("social ","networking",b).join(" "))];this.addPalette("ibmSocial","IBM / Social",!1,mxUtils.bind(this,function(a){for(var b=0;b<c.length;b++)a.appendChild(c[b](a))}))};Sidebar.prototype.addIBMUsersPalette=function(a,b,e,d){d+="users/";var c=[this.createVertexTemplateEntry(d+
-"browser.svg;",a,a,"","Browser",!1,null,this.getTagsForStencil("users ","browser",b).join(" ")),this.createVertexTemplateEntry(d+"device.svg;",a,a,"","Device",!1,null,this.getTagsForStencil("users ","device",b).join(" ")),this.createVertexTemplateEntry(d+"integrated_digital_experiences.svg;",a,a,"","Integrated Digital Experiences",!1,null,this.getTagsForStencil("users ","integrated digital experiences",b).join(" ")),this.createVertexTemplateEntry(d+"physical_entity.svg;",a,a,"","Physical Entity",
-!1,null,this.getTagsForStencil("users ","physical entity",b).join(" ")),this.createVertexTemplateEntry(d+"sensor.svg;",a,a,"","Sensor",!1,null,this.getTagsForStencil("users ","sensor",b).join(" ")),this.createVertexTemplateEntry(d+"user.svg;",a,a,"","User",!1,null,this.getTagsForStencil("users ","user",b).join(" "))];this.addPalette("ibmUsers","IBM / Users",!1,mxUtils.bind(this,function(a){for(var b=0;b<c.length;b++)a.appendChild(c[b](a))}))};Sidebar.prototype.addIBMVPCPalette=function(a,b,e,d){d+=
-"vpc/";var c=[this.createVertexTemplateEntry(d+"Instance.svg;",a,a,"","Instance",!1,null,this.getTagsForStencil("vpc virtual private cloud ","instance",b).join(" ")),this.createVertexTemplateEntry(d+"LoadBalancer.svg;",a,a,"","Load Balancer",!1,null,this.getTagsForStencil("vpc virtual private cloud ","load balancer",b).join(" ")),this.createVertexTemplateEntry(d+"BlockStorage.svg;",a,a,"","Block Storage",!1,null,this.getTagsForStencil("vpc virtual private cloud ","block storage",b).join(" ")),this.createVertexTemplateEntry(d+
-"FloatingIP.svg;",a,a,"","Floating IP",!1,null,this.getTagsForStencil("vpc virtual private cloud ","floating ip internet protocol",b).join(" ")),this.createVertexTemplateEntry(d+"PublicGateway.svg;",a,a,"","Public Gateway",!1,null,this.getTagsForStencil("vpc virtual private cloud ","public gateway",b).join(" ")),this.createVertexTemplateEntry(d+"ObjectStorage.svg;",a,a,"","Object Storage",!1,null,this.getTagsForStencil("vpc virtual private cloud ","object storage",b).join(" ")),this.createVertexTemplateEntry(d+
-"VPNConnection.svg;",a,a,"","VPN Connection",!1,null,this.getTagsForStencil("vpc virtual private cloud ","connection",b).join(" ")),this.createVertexTemplateEntry(d+"VPNGateway.svg;",a,a,"","VPN Gateway",!1,null,this.getTagsForStencil("vpc virtual private cloud ","gateway",b).join(" ")),this.createVertexTemplateEntry(d+"DirectLink.svg;",a,a,"","Direct Link",!1,null,this.getTagsForStencil("vpc virtual private cloud ","direct link",b).join(" ")),this.createVertexTemplateEntry(d+"InternetServices2.svg;",
-a,a,"","Internet Services",!1,null,this.getTagsForStencil("vpc virtual private cloud ","internet services",b).join(" ")),this.createVertexTemplateEntry(d+"LoadBalancerPool.svg;",a,a,"","Load Balancer Pool",!1,null,this.getTagsForStencil("vpc virtual private cloud ","load balancer pool",b).join(" ")),this.createVertexTemplateEntry(d+"LoadBalancerListener.svg;",a,a,"","Load Balancer Listener",!1,null,this.getTagsForStencil("vpc virtual private cloud ","load balancer listener",b).join(" ")),this.createVertexTemplateEntry(d+
-"Rules.svg;",a,a,"","Rules",!1,null,this.getTagsForStencil("vpc virtual private cloud ","load balancer listener",b).join(" ")),this.createVertexTemplateEntry(d+"ImageService.svg;",a,a,"","Image Service",!1,null,this.getTagsForStencil("vpc virtual private cloud ","image service",b).join(" ")),this.createVertexTemplateEntry(d+"Key.svg;",a,a,"","Key",!1,null,this.getTagsForStencil("vpc virtual private cloud ","key",b).join(" ")),this.createVertexTemplateEntry(d+"VPNPolicy.svg;",a,a,"","VPN Policy",!1,
-null,this.getTagsForStencil("vpc virtual private cloud ","policy",b).join(" ")),this.createVertexTemplateEntry(d+"Router.svg;",a,a,"","Router",!1,null,this.getTagsForStencil("vpc virtual private cloud ","router",b).join(" ")),this.createVertexTemplateEntry(d+"Bridge.svg;",a,a,"","Bridge",!1,null,this.getTagsForStencil("vpc virtual private cloud ","bridge",b).join(" ")),this.createVertexTemplateEntry(d+"CloudServices.svg;",a,a,"","Cloud Services",!1,null,this.getTagsForStencil("vpc virtual private cloud ",
-"cloud services",b).join(" ")),this.addEntry(b+"",function(){var a=new mxCell("",new mxGeometry(0,0,320,200),"swimlane;fontStyle=0;horizontal=1;collapsible=0;startSize=28;swimlaneLine=0;swimlaneFillColor=none;fillColor=none;rounded=0;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=0;strokeColor=#4376BB;verticalAlign=top;align=left;spacingLeft=5;dashed=0;strokeWidth=1;container=1;");a.vertex=!0;var b=new mxCell("Public",new mxGeometry(15,0,30,30),"aspect=fixed;perimeter=ellipsePerimeter;html=1;align=center;shadow=0;dashed=0;labelBackgroundColor=none;fontSize=12;spacingTop=-5;image;image=img/lib/ibm/vpc/PublicTag.svg;part=1;");
-b.vertex=!0;a.insert(b);b=new mxCell("Enterprise",new mxGeometry(275,0,30,30),"aspect=fixed;perimeter=ellipsePerimeter;html=1;align=center;shadow=0;dashed=0;labelBackgroundColor=none;fontSize=12;spacingTop=-5;image;image=img/lib/ibm/vpc/EnterpriseTag.svg;part=1;");b.vertex=!0;a.insert(b);b=new mxCell("IBM Cloud",new mxGeometry(60,0,200,200),"swimlane;fontStyle=0;horizontal=1;collapsible=0;startSize=28;swimlaneLine=0;swimlaneFillColor=none;fillColor=none;rounded=0;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=12;strokeColor=#417CB9;verticalAlign=top;align=left;spacingLeft=30;spacingTop=1;dashed=0;strokeWidth=1;");
-b.vertex=!0;a.insert(b);var c=new mxCell("",new mxGeometry(0,0,30,30),d+"CloudTag.svg;part=1;");c.vertex=!0;b.insert(c);return e.createVertexTemplateFromCells([a],320,200,"Cloud Universe")}),this.addEntry(b+"ibm cloud",function(){var a=new mxCell("IBM Cloud",new mxGeometry(0,0,200,200),"swimlane;fontStyle=0;horizontal=1;collapsible=0;startSize=28;swimlaneLine=0;swimlaneFillColor=none;fillColor=none;rounded=0;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=12;strokeColor=#417CB9;verticalAlign=top;align=left;spacingLeft=30;spacingTop=1;dashed=0;strokeWidth=1;");
-a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,30,30),d+"CloudTag.svg;part=1;");b.vertex=!0;a.insert(b);return e.createVertexTemplateFromCells([a],200,200,"IBM Cloud")}),this.addEntry(b+"",function(){var a=new mxCell("VPC",new mxGeometry(0,0,200,200),"swimlane;fontStyle=0;horizontal=1;collapsible=0;startSize=28;swimlaneLine=0;swimlaneFillColor=none;fillColor=none;rounded=0;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=12;strokeColor=#417CB9;verticalAlign=top;align=left;spacingLeft=30;spacingTop=1;dashed=0;strokeWidth=1;");
-a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,30,30),d+"VPCTag.svg;part=1;");b.vertex=!0;a.insert(b);return e.createVertexTemplateFromCells([a],200,200,"VPC")}),this.addEntry(b+"",function(){var a=new mxCell("Region",new mxGeometry(0,0,200,200),"swimlane;fontStyle=0;horizontal=1;collapsible=0;startSize=28;swimlaneLine=0;swimlaneFillColor=none;fillColor=none;rounded=0;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=0;strokeColor=#00882B;verticalAlign=top;align=left;spacingLeft=30;dashed=1;strokeWidth=1;container=1;dashPattern=1 1;");
-a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,30,30),d+"RegionTag.svg;part=1;");b.vertex=!0;a.insert(b);return e.createVertexTemplateFromCells([a],200,200,"Region")}),this.addEntry(b+"",function(){var a=new mxCell("Zone",new mxGeometry(0,0,200,200),"swimlane;fontStyle=0;horizontal=1;collapsible=0;startSize=28;swimlaneLine=0;swimlaneFillColor=none;fillColor=none;rounded=0;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=0;strokeColor=#00882B;verticalAlign=top;align=left;spacingLeft=30;dashed=1;strokeWidth=1;container=1;");
-a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,30,30),d+"ZoneTag.svg;part=1;");b.vertex=!0;a.insert(b);return e.createVertexTemplateFromCells([a],200,200,"Zone")}),this.addEntry(b+"",function(){var a=new mxCell("Subnet",new mxGeometry(0,0,200,200),"swimlane;fontStyle=0;horizontal=1;collapsible=0;startSize=28;swimlaneLine=0;swimlaneFillColor=none;fillColor=none;rounded=0;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=12;strokeColor=#2A8838;verticalAlign=top;align=left;spacingLeft=30;spacingTop=1;dashed=0;strokeWidth=1;");
-a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,30,40),d+"SubnetTag.svg;part=1;");b.vertex=!0;a.insert(b);return e.createVertexTemplateFromCells([a],200,200,"Subnet")}),this.createVertexTemplateEntry("rounded=0;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=0;strokeColor=#FD0000;fillColor=none;verticalAlign=top;align=center;spacingLeft=5;dashed=1;dashPattern=5 2;labelPosition=center;verticalLabelPosition=bottom;strokeWidth=2;",200,200,"Security Group","Security Group",!0,null,this.getTagsForStencil("vpc virtual private cloud ",
-"",b).join(" ")),this.addEntry(b+"",function(){var a=new mxCell("Classic Infrastructure",new mxGeometry(0,0,200,200),"swimlane;fontStyle=0;horizontal=1;collapsible=0;startSize=28;swimlaneLine=0;swimlaneFillColor=none;fillColor=none;rounded=0;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=0;strokeColor=#4376BB;verticalAlign=top;align=left;spacingLeft=30;dashed=0;strokeWidth=1;container=1;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,30,30),d+"ClassicInfrastructure.svg;part=1;");b.vertex=
-!0;a.insert(b);return e.createVertexTemplateFromCells([a],200,200,"Classic Infrastructure")}),this.createVertexTemplateEntry("swimlane;fontStyle=0;horizontal=1;collapsible=0;startSize=28;swimlaneLine=0;swimlaneFillColor=none;fillColor=none;rounded=0;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=0;strokeColor=#4376BB;verticalAlign=top;align=left;spacingLeft=30;dashed=0;strokeWidth=1;container=1;",200,200,"Other Group","Other Group",!0,null,this.getTagsForStencil("vpc virtual private cloud ","",
-b).join(" ")),this.createVertexTemplateEntry(d+"CloudTag.svg;",.5*a,.5*a,"","IBM Cloud tag",!1,null,this.getTagsForStencil("vpc virtual private cloud ","cloud tag ibm",b).join(" ")),this.createVertexTemplateEntry(d+"VPCTag.svg;",.5*a,.5*a,"","VPC tag",!1,null,this.getTagsForStencil("vpc virtual private cloud ","tag",b).join(" ")),this.createVertexTemplateEntry(d+"RegionTag.svg;",.5*a,.5*a,"","Region tag",!1,null,this.getTagsForStencil("vpc virtual private cloud ","region tag",b).join(" ")),this.createVertexTemplateEntry(d+
-"ZoneTag.svg;",.5*a,.5*a,"","Zone tag",!1,null,this.getTagsForStencil("vpc virtual private cloud ","zone tag",b).join(" ")),this.createVertexTemplateEntry(d+"SubnetTag2.svg;",.5*a,.5*a,"","Subnet tag",!1,null,this.getTagsForStencil("vpc virtual private cloud ","subnet tag",b).join(" ")),this.createVertexTemplateEntry(d+"ClassicInfrastructure.svg;",.5*a,.5*a,"","Classic Infrastructure",!1,null,this.getTagsForStencil("vpc virtual private cloud ","classic",b).join(" ")),this.createVertexTemplateEntry(d+
-"EnterpriseTag.svg;",.5*a,.5*a,"","Enterprise tag",!1,null,this.getTagsForStencil("vpc virtual private cloud ","enterprise tag",b).join(" ")),this.createVertexTemplateEntry(d+"PublicTag.svg;",.5*a,.5*a,"","Public tag",!1,null,this.getTagsForStencil("vpc virtual private cloud ","public tag",b).join(" ")),this.createVertexTemplateEntry(d+"Internet.svg;",a,a,"","Internet",!1,null,this.getTagsForStencil("vpc virtual private cloud ","internet",b).join(" ")),this.createVertexTemplateEntry(d+"Enterprise.svg;",
-a,a,"","Data Center",!1,null,this.getTagsForStencil("vpc virtual private cloud ","dat acenter",b).join(" ")),this.createVertexTemplateEntry(d+"Enterprise2.svg;",a,.8*a,"","Enterprise",!1,null,this.getTagsForStencil("vpc virtual private cloud ","enterprise",b).join(" ")),this.createEdgeTemplateEntry("edgeStyle=orthogonalEdgeStyle;fontSize=12;html=1;endArrow=classicThin;endFill=1;rounded=0;strokeWidth=1;startArrow=classicThin;startFill=1;",a,a,"","Bidirectional Connector",null,b+"bidirectional connector"),
-this.createEdgeTemplateEntry("edgeStyle=orthogonalEdgeStyle;fontSize=12;html=1;endArrow=classicThin;endFill=1;rounded=0;strokeWidth=1;",a,a,"","Directional Connector",null,b+"directional connector"),this.createEdgeTemplateEntry("edgeStyle=orthogonalEdgeStyle;fontSize=12;html=1;endArrow=none;endFill=0;rounded=0;strokeWidth=1;",a,a,"","Nondirectional Connector",null,b+"nondirectional connector")];this.addPalette("ibmVPC","IBM / VPC",!1,mxUtils.bind(this,function(a){for(var b=0;b<c.length;b++)a.appendChild(c[b](a))}))}})();(function(){Sidebar.prototype.addInfographicPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;html=1;shape=mxgraph.infographic.",b=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;html=1;shape=mxgraph.basic.";this.addPaletteFunctions("infographic","Infographic",!1,[this.createVertexTemplateEntry(b+"pie;fillColor=#10739E;strokeColor=none;startAngle=0.2;endAngle=0.9;",100,100,"","Pie",null,
+this.addIBMVPCPalette(60,"ibm",this,"aspect=fixed;perimeter=ellipsePerimeter;html=1;align=center;shadow=0;dashed=0;fontColor=#4277BB;labelBackgroundColor=#ffffff;fontSize=12;spacingTop=3;image;image=img/lib/ibm/");this.addIBMBoxesPalette(60,"ibm",this,"aspect=fixed;perimeter=ellipsePerimeter;html=1;align=center;shadow=0;dashed=0;fontColor=#4277BB;labelBackgroundColor=#ffffff;fontSize=12;spacingTop=3;image;image=img/lib/ibm/");this.addIBMConnectorsPalette(60,"ibm",this,"aspect=fixed;perimeter=ellipsePerimeter;html=1;align=center;shadow=0;dashed=0;fontColor=#4277BB;labelBackgroundColor=#ffffff;fontSize=12;spacingTop=3;image;image=img/lib/ibm/")};
+Sidebar.prototype.addIBMAnalyticsPalette=function(a,b,e,d){d+="analytics/";var c=[this.createVertexTemplateEntry(d+"analytics.svg;",a,a,"","Analytics",!1,null,this.getTagsForStencil("analytics ","",b).join(" ")),this.createVertexTemplateEntry(d+"data_integration.svg;",a,a,"","Data Integration",!1,null,this.getTagsForStencil("analytics ","data integration",b).join(" ")),this.createVertexTemplateEntry(d+"data_repositories.svg;",a,a,"","Data Repositories",!1,null,this.getTagsForStencil("analytics ",
+"data repositories",b).join(" ")),this.createVertexTemplateEntry(d+"device_analytics.svg;",a,a,"","Device Analytics",!1,null,this.getTagsForStencil("analytics ","device analytics",b).join(" ")),this.createVertexTemplateEntry(d+"streaming_computing.svg;",a,a,"","Streaming Computing",!1,null,this.getTagsForStencil("analytics ","streaming computing",b).join(" "))];this.addPalette("ibmAnalytics","IBM / Analytics",!1,mxUtils.bind(this,function(a){for(var b=0;b<c.length;b++)a.appendChild(c[b](a))}))};Sidebar.prototype.addIBMApplicationsPalette=
+function(a,b,e,d){d+="applications/";var c=[this.createVertexTemplateEntry(d+"actionable_insight.svg;",a,a,"","Actionable Insight",!1,null,this.getTagsForStencil("applications ","actionable insight",b).join(" ")),this.createVertexTemplateEntry(d+"annotate.svg;",a,a,"","Annotate",!1,null,this.getTagsForStencil("applications ","annotate",b).join(" ")),this.createVertexTemplateEntry(d+"api_developer_portal.svg;",a,a,"","API Developer Portal",!1,null,this.getTagsForStencil("applications ","api developer portal",
+b).join(" ")),this.createVertexTemplateEntry(d+"api_polyglot_runtimes.svg;",a,a,"","API Polyglot Runtimes",!1,null,this.getTagsForStencil("applications ","api polyglot runtimes",b).join(" ")),this.createVertexTemplateEntry(d+"app_server.svg;",a,a,"","App Server",!1,null,this.getTagsForStencil("applications ","app server",b).join(" ")),this.createVertexTemplateEntry(d+"application_logic.svg;",a,a,"","Application Logic",!1,null,this.getTagsForStencil("applications ","application logic",b).join(" ")),
+this.createVertexTemplateEntry(d+"automation_tools.svg;",a,a,"","Automation Tools",!1,null,this.getTagsForStencil("applications ","automation tools",b).join(" ")),this.createVertexTemplateEntry(d+"enterprise_applications.svg;",a,a,"","Enterprise Applications",!1,null,this.getTagsForStencil("applications ","enterprise applications",b).join(" ")),this.createVertexTemplateEntry(d+"index.svg;",a,a,"","Index",!1,null,this.getTagsForStencil("applications ","index",b).join(" ")),this.createVertexTemplateEntry(d+
+"iot_application.svg;",a,a,"","IoT Application",!1,null,this.getTagsForStencil("applications ","iot application",b).join(" ")),this.createVertexTemplateEntry(d+"microservice.svg;",1.37*a,a,"","Microservice",!1,null,this.getTagsForStencil("applications ","microservice",b).join(" ")),this.createVertexTemplateEntry(d+"mobile_app.svg;",a,a,"","Mobile App",!1,null,this.getTagsForStencil("applications ","mobile app",b).join(" ")),this.createVertexTemplateEntry(d+"ontology.svg;",a,a,"","Ontology",!1,null,
+this.getTagsForStencil("applications ","ontology",b).join(" ")),this.createVertexTemplateEntry(d+"open_source_tools.svg;",a,a,"","Open Source Tools",!1,null,this.getTagsForStencil("applications ","open source tools",b).join(" ")),this.createVertexTemplateEntry(d+"runtime_services.svg;",a,a,"","Runtime Services",!1,null,this.getTagsForStencil("applications ","runtime services",b).join(" ")),this.createVertexTemplateEntry(d+"saas_applications.svg;",a,a,"","SaaS Applications",!1,null,this.getTagsForStencil("applications ",
+"saas applications",b).join(" ")),this.createVertexTemplateEntry(d+"service_broker.svg;",a,a,"","Service Broker",!1,null,this.getTagsForStencil("applications ","service broker",b).join(" ")),this.createVertexTemplateEntry(d+"speech_to_text.svg;",a,a,"","Speech to Text",!1,null,this.getTagsForStencil("applications ","speech to text",b).join(" ")),this.createVertexTemplateEntry(d+"visual_recognition.svg;",a,a,"","Visual Recognition",!1,null,this.getTagsForStencil("applications ","visual recognition",
+b).join(" ")),this.createVertexTemplateEntry(d+"visualization.svg;",a,a,"","Visualization",!1,null,this.getTagsForStencil("applications ","visualization",b).join(" "))];this.addPalette("ibmApplications","IBM / Applications",!1,mxUtils.bind(this,function(a){for(var b=0;b<c.length;b++)a.appendChild(c[b](a))}))};Sidebar.prototype.addIBMBlockchainPalette=function(a,b,e,d){d+="blockchain/";var c=[this.createVertexTemplateEntry(d+"blockchain.svg;",a,a,"","Blockchain",!1,null,this.getTagsForStencil("blockchain ",
+"",b).join(" ")),this.createVertexTemplateEntry(d+"blockchain_developer.svg;",a,a,"","Blockchain Developer",!1,null,this.getTagsForStencil("blockchain ","developer",b).join(" ")),this.createVertexTemplateEntry(d+"certificate_authority.svg;",a,a,"","Certificate Authority",!1,null,this.getTagsForStencil("blockchain ","certificate authority",b).join(" ")),this.createVertexTemplateEntry(d+"client_application.svg;",a,a,"","Client Application",!1,null,this.getTagsForStencil("blockchain ","client application",
+b).join(" ")),this.createVertexTemplateEntry(d+"communication.svg;",a,a,"","Communication",!1,null,this.getTagsForStencil("blockchain ","communication",b).join(" ")),this.createVertexTemplateEntry(d+"consensus.svg;",a,a,"","Consensus",!1,null,this.getTagsForStencil("blockchain ","communication",b).join(" ")),this.createVertexTemplateEntry(d+"e_cert.svg;",a,a,"","E-Cert",!1,null,this.getTagsForStencil("blockchain ","ecert e-cert",b).join(" ")),this.createVertexTemplateEntry(d+"event.svg;",a,a,"","Event",
+!1,null,this.getTagsForStencil("blockchain ","event",b).join(" ")),this.createVertexTemplateEntry(d+"event_listener.svg;",a,a,"","Event Listener",!1,null,this.getTagsForStencil("blockchain ","event listener",b).join(" ")),this.createVertexTemplateEntry(d+"existing_enterprise_systems.svg;",a,a,"","Existing Enterprise Systems",!1,null,this.getTagsForStencil("blockchain ","existing enterprise systems",b).join(" ")),this.createVertexTemplateEntry(d+"hyperledger_fabric.svg;",a,a,"","Hyperledger Fabric",
+!1,null,this.getTagsForStencil("blockchain ","hyperledger fabric",b).join(" ")),this.createVertexTemplateEntry(d+"identity_access_manager.svg;",a,a,"","Identity & Access Manager",!1,null,this.getTagsForStencil("blockchain ","identity access manager",b).join(" ")),this.createVertexTemplateEntry(d+"key_management.svg;",.38*a,.38*a,"","Key Management",!1,null,this.getTagsForStencil("blockchain ","key management",b).join(" ")),this.createVertexTemplateEntry(d+"ledger.svg;",a,a,"","Ledger",!1,null,this.getTagsForStencil("blockchain ",
+"ledger",b).join(" ")),this.createVertexTemplateEntry(d+"membership.svg;",a,a,"","Membership",!1,null,this.getTagsForStencil("blockchain ","membership",b).join(" ")),this.createVertexTemplateEntry(d+"membership_services_provider_api.svg;",a,a,"","Membership Services Provider API",!1,null,this.getTagsForStencil("blockchain ","membership services provider api",b).join(" ")),this.createVertexTemplateEntry(d+"message_bus.svg;",a,a,"","Message Bus",!1,null,this.getTagsForStencil("blockchain ","message bus",
+b).join(" ")),this.createVertexTemplateEntry(d+"node.svg;",a,a,"","Node",!1,null,this.getTagsForStencil("blockchain ","node",b).join(" ")),this.createVertexTemplateEntry(d+"services.svg;",a,a,"","Services",!1,null,this.getTagsForStencil("blockchain ","services",b).join(" ")),this.createVertexTemplateEntry(d+"smart_contract.svg;",a,a,"","Smart Contract",!1,null,this.getTagsForStencil("blockchain ","smart contract",b).join(" ")),this.createVertexTemplateEntry(d+"transaction_manager.svg;",a,a,"","Transaction Manager",
+!1,null,this.getTagsForStencil("blockchain ","transaction manager",b).join(" ")),this.createVertexTemplateEntry(d+"wallet.svg;",a,a,"","Wallet",!1,null,this.getTagsForStencil("blockchain ","wallet",b).join(" "))];this.addPalette("ibmBlockchain","IBM / Blockchain",!1,mxUtils.bind(this,function(a){for(var b=0;b<c.length;b++)a.appendChild(c[b](a))}))};Sidebar.prototype.addIBMDataPalette=function(a,b,e,d){d+="data/";var c=[this.createVertexTemplateEntry(d+"caches.svg;",a,a,"","Caches",!1,null,this.getTagsForStencil("data ",
+"caches",b).join(" ")),this.createVertexTemplateEntry(d+"conversation_trained_deployed.svg;",a,a,"","Conversation (Trained & Deployed)",!1,null,this.getTagsForStencil("data ","conversation trained deployed",b).join(" ")),this.createVertexTemplateEntry(d+"cloud.svg;",a,a,"","Cloud",!1,null,this.getTagsForStencil("data ","cloud",b).join(" ")),this.createVertexTemplateEntry(d+"data_services.svg;",a,a,"","Data Services",!1,null,this.getTagsForStencil("data ","data services",b).join(" ")),this.createVertexTemplateEntry(d+
+"data_sources.svg;",a,a,"","Data Sources",!1,null,this.getTagsForStencil("data ","data sources",b).join(" ")),this.createVertexTemplateEntry(d+"device_identity_service.svg;",a,a,"","Device Identity Service",!1,null,this.getTagsForStencil("data ","device identity service",b).join(" ")),this.createVertexTemplateEntry(d+"device_registry.svg;",a,a,"","Device Registry",!1,null,this.getTagsForStencil("data ","device registry",b).join(" ")),this.createVertexTemplateEntry(d+"enterprise_data.svg;",a,a,"",
+"Enterprise Data",!1,null,this.getTagsForStencil("data ","enterprise data",b).join(" ")),this.createVertexTemplateEntry(d+"enterprise_user_directory.svg;",a,a,"","Enterprise User Directory",!1,null,this.getTagsForStencil("data ","enterprise user directory",b).join(" ")),this.createVertexTemplateEntry(d+"file_repository.svg;",a,a,"","File Repository",!1,null,this.getTagsForStencil("data ","file repository",b).join(" ")),this.createVertexTemplateEntry(d+"ground_truth.svg;",a,a,"","Ground Truth",!1,
+null,this.getTagsForStencil("data ","ground truth",b).join(" ")),this.createVertexTemplateEntry(d+"model.svg;",a,a,"","Model",!1,null,this.getTagsForStencil("data ","model",b).join(" ")),this.createVertexTemplateEntry(d+"tms_data_interface.svg;",a,a,"","TMS Data Interface",!1,null,this.getTagsForStencil("data ","tms data interface",b).join(" "))];this.addPalette("ibmData","IBM / Data",!1,mxUtils.bind(this,function(a){for(var b=0;b<c.length;b++)a.appendChild(c[b](a))}))};Sidebar.prototype.addIBMDevOpsPalette=
+function(a,b,e,d){d+="devops/";var c=[this.createVertexTemplateEntry(d+"artifact_management.svg;",a,a,"","Artifact Management",!1,null,this.getTagsForStencil("devops ","artifact management",b).join(" ")),this.createVertexTemplateEntry(d+"build_test.svg;",a,a,"","Build & Test",!1,null,this.getTagsForStencil("devops ","build test",b).join(" ")),this.createVertexTemplateEntry(d+"code_editor.svg;",a,a,"","Code Editor",!1,null,this.getTagsForStencil("devops ","code editor",b).join(" ")),this.createVertexTemplateEntry(d+
+"collaborative_development.svg;",a,a,"","Collaborative Development",!1,null,this.getTagsForStencil("devops ","collaborative development",b).join(" ")),this.createVertexTemplateEntry(d+"configuration_management.svg;",a,a,"","Configuration Management",!1,null,this.getTagsForStencil("devops ","configuration management",b).join(" ")),this.createVertexTemplateEntry(d+"continuous_deploy.svg;",a,a,"","Continuous Deploy",!1,null,this.getTagsForStencil("devops ","continuous deploy",b).join(" ")),this.createVertexTemplateEntry(d+
+"continuous_testing.svg;",a,a,"","Continuous Testing",!1,null,this.getTagsForStencil("devops ","continuous testing",b).join(" ")),this.createVertexTemplateEntry(d+"devops.svg;",a,a,"","DevOps",!1,null,this.getTagsForStencil("devops ","devops",b).join(" ")),this.createVertexTemplateEntry(d+"provision.svg;",a,a,"","Provision",!1,null,this.getTagsForStencil("devops ","provision",b).join(" ")),this.createVertexTemplateEntry(d+"release_management.svg;",a,a,"","Release Management",!1,null,this.getTagsForStencil("devops ",
+"release management",b).join(" "))];this.addPalette("ibmDevOps","IBM / DevOps",!1,mxUtils.bind(this,function(a){for(var b=0;b<c.length;b++)a.appendChild(c[b](a))}))};Sidebar.prototype.addIBMInfrastructurePalette=function(a,b,e,d){d+="infrastructure/";var c=[this.createVertexTemplateEntry(d+"channels.svg;",a,a,"","Channels",!1,null,this.getTagsForStencil("infrastructure ","channels",b).join(" ")),this.createVertexTemplateEntry(d+"cloud_messaging.svg;",a,a,"","Cloud Messaging",!1,null,this.getTagsForStencil("infrastructure ",
+"cloud messaging",b).join(" ")),this.createVertexTemplateEntry(d+"dashboard.svg;",a,a,"","Dashboard",!1,null,this.getTagsForStencil("infrastructure ","dashboard",b).join(" ")),this.createVertexTemplateEntry(d+"diagnostics.svg;",a,a,"","Diagnostics",!1,null,this.getTagsForStencil("infrastructure ","diagnostics",b).join(" ")),this.createVertexTemplateEntry(d+"edge_services.svg;",a,a,"","Edge Services",!1,null,this.getTagsForStencil("infrastructure ","edge services",b).join(" ")),this.createVertexTemplateEntry(d+
+"enterprise_messaging.svg;",a,a,"","Enterprise Messaging",!1,null,this.getTagsForStencil("infrastructure ","enterprise messaging",b).join(" ")),this.createVertexTemplateEntry(d+"event_feed.svg;",a,a,"","Event Feed",!1,null,this.getTagsForStencil("infrastructure ","event feed",b).join(" ")),this.createVertexTemplateEntry(d+"infrastructure_services.svg;",a,a,"","Infrastructure Services",!1,null,this.getTagsForStencil("infrastructure ","infrastructure services",b).join(" ")),this.createVertexTemplateEntry(d+
+"interservice_communication.svg;",a,a,"","Interservice Communication",!1,null,this.getTagsForStencil("infrastructure ","interservice communication",b).join(" ")),this.createVertexTemplateEntry(d+"load_balancing_routing.svg;",a,a,"","Load Balancing / Routing",!1,null,this.getTagsForStencil("infrastructure ","load balancing routing",b).join(" ")),this.createVertexTemplateEntry(d+"microservices_mesh.svg;",a,a,"","Microservices Mesh",!1,null,this.getTagsForStencil("infrastructure ","microservices mesh",
+b).join(" ")),this.createVertexTemplateEntry(d+"mobile_backend.svg;",a,a,"","Mobile Backend",!1,null,this.getTagsForStencil("infrastructure ","mobile backend",b).join(" ")),this.createVertexTemplateEntry(d+"mobile_provider_network.svg;",a,a,"","Mobile Provider Network",!1,null,this.getTagsForStencil("infrastructure ","mobile provider network",b).join(" ")),this.createVertexTemplateEntry(d+"monitoring.svg;",a,a,"","Monitoring",!1,null,this.getTagsForStencil("infrastructure ","monitoring",b).join(" ")),
+this.createVertexTemplateEntry(d+"monitoring_logging.svg;",a,a,"","Monitoring & Logging",!1,null,this.getTagsForStencil("infrastructure ","monitoring logging",b).join(" ")),this.createVertexTemplateEntry(d+"peer_services.svg;",a,a,"","Peer Services",!1,null,this.getTagsForStencil("infrastructure ","peer services",b).join(" ")),this.createVertexTemplateEntry(d+"service_discovery_configuration.svg;",a,a,"","Service Discovery & Configuration",!1,null,this.getTagsForStencil("infrastructure ","service discovery configuration",
+b).join(" ")),this.createVertexTemplateEntry(d+"transformation_connectivity.svg;",a,a,"","Transformation & Connectivity",!1,null,this.getTagsForStencil("infrastructure ","transformation connectivity",b).join(" "))];this.addPalette("ibmInfrastructure","IBM / Infrastructure",!1,mxUtils.bind(this,function(a){for(var b=0;b<c.length;b++)a.appendChild(c[b](a))}))};Sidebar.prototype.addIBMManagementPalette=function(a,b,e,d){d+="management/";var c=[this.createVertexTemplateEntry(d+"alert_notification.svg;",
+a,a,"","Alert Notification",!1,null,this.getTagsForStencil("management ","alert notification",b).join(" ")),this.createVertexTemplateEntry(d+"api_management.svg;",a,a,"","API Management",!1,null,this.getTagsForStencil("management ","api management",b).join(" ")),this.createVertexTemplateEntry(d+"cloud_management.svg;",a,a,"","Cloud Management",!1,null,this.getTagsForStencil("management ","cloud management",b).join(" ")),this.createVertexTemplateEntry(d+"cluster_management.svg;",a,a,"","Cluster Management",
+!1,null,this.getTagsForStencil("management ","cluster management",b).join(" ")),this.createVertexTemplateEntry(d+"content_management.svg;",a,a,"","Content Management",!1,null,this.getTagsForStencil("management ","content management",b).join(" ")),this.createVertexTemplateEntry(d+"data_services.svg;",a,a,"","Data Services",!1,null,this.getTagsForStencil("management ","data services",b).join(" ")),this.createVertexTemplateEntry(d+"device_management.svg;",a,a,"","Device Management",!1,null,this.getTagsForStencil("management ",
+"device management",b).join(" ")),this.createVertexTemplateEntry(d+"information_governance.svg;",a,a,"","Information Governance",!1,null,this.getTagsForStencil("management ","information governance",b).join(" ")),this.createVertexTemplateEntry(d+"it_service_management.svg;",a,a,"","IT Service Management",!1,null,this.getTagsForStencil("management ","it service management information technology",b).join(" ")),this.createVertexTemplateEntry(d+"management.svg;",a,a,"","Management",!1,null,this.getTagsForStencil("management ",
+"management",b).join(" ")),this.createVertexTemplateEntry(d+"monitoring_metrics.svg;",a,a,"","Monitoring & Metrics",!1,null,this.getTagsForStencil("management ","monitoring metrics",b).join(" ")),this.createVertexTemplateEntry(d+"process_management.svg;",a,a,"","Process Management",!1,null,this.getTagsForStencil("management ","process management",b).join(" ")),this.createVertexTemplateEntry(d+"provider_cloud_portal_service.svg;",a,a,"","Provider Cloud Portal Service",!1,null,this.getTagsForStencil("management ",
+"provider cloud portal service",b).join(" ")),this.createVertexTemplateEntry(d+"push_notifications.svg;",a,a,"","Push Notifications",!1,null,this.getTagsForStencil("management ","push notifications",b).join(" ")),this.createVertexTemplateEntry(d+"service_management_tools.svg;",a,a,"","Service Management Tools",!1,null,this.getTagsForStencil("management ","service management tools",b).join(" "))];this.addPalette("ibmManagement","IBM / Management",!1,mxUtils.bind(this,function(a){for(var b=0;b<c.length;b++)a.appendChild(c[b](a))}))};
+Sidebar.prototype.addIBMMiscPalette=function(a,b,e,d){d+="miscellaneous/";var c=[this.createVertexTemplateEntry(d+"bluemix.svg;",a,a,"","Bluemix",!1,null,this.getTagsForStencil("miscellaneous ","bluemix",b).join(" ")),this.createVertexTemplateEntry(d+"cloudant.svg;",a,a,"","Cloudant",!1,null,this.getTagsForStencil("miscellaneous ","cloudant",b).join(" ")),this.createVertexTemplateEntry(d+"cognitive_services.svg;",a,a,"","Cognitive Services",!1,null,this.getTagsForStencil("miscellaneous ","cognitive services",
+b).join(" ")),this.createVertexTemplateEntry(d+"ibm_containers.svg;",a,a,"","IBM Containers",!1,null,this.getTagsForStencil("miscellaneous ","ibm containers",b).join(" ")),this.createVertexTemplateEntry(d+"ibm_public_cloud.svg;",a,.77*a,"","IBM Public Cloud",!1,null,this.getTagsForStencil("miscellaneous ","ibm public cloud",b).join(" ")),this.createVertexTemplateEntry(d+"iot_cloud.svg;",a,.77*a,"","IoT Cloud",!1,null,this.getTagsForStencil("miscellaneous ","iot cloud internet of things",b).join(" ")),
+this.createVertexTemplateEntry(d+"microservices_application.svg;",a,a,"","Microservices Application",!1,null,this.getTagsForStencil("miscellaneous ","microservices application",b).join(" ")),this.createVertexTemplateEntry(d+"object_storage.svg;",a,a,"","Object Storage",!1,null,this.getTagsForStencil("miscellaneous ","object storage",b).join(" ")),this.createVertexTemplateEntry(d+"offline_capabilities.svg;",a,a,"","Offline Capabilities",!1,null,this.getTagsForStencil("miscellaneous ","offline capabilities",
+b).join(" ")),this.createVertexTemplateEntry(d+"openwhisk.svg;",a,a,"","Openwhisk",!1,null,this.getTagsForStencil("miscellaneous ","openwhisk",b).join(" ")),this.createVertexTemplateEntry(d+"peer_cloud.svg;",a,.77*a,"","Peer Cloud",!1,null,this.getTagsForStencil("miscellaneous ","peer cloud",b).join(" ")),this.createVertexTemplateEntry(d+"retrieve_rank.svg;",a,a,"","Retrieve Rank",!1,null,this.getTagsForStencil("miscellaneous ","retrieve rank",b).join(" ")),this.createVertexTemplateEntry(d+"scalable.svg;",
+.25*a,.25*a,"","Scalable",!1,null,this.getTagsForStencil("miscellaneous ","scalable",b).join(" ")),this.createVertexTemplateEntry(d+"text_to_speech.svg;",a,a,"","Text to Speech",!1,null,this.getTagsForStencil("miscellaneous ","text to speech",b).join(" "))];this.addPalette("ibmMiscellaneous","IBM / Miscellaneous",!1,mxUtils.bind(this,function(a){for(var b=0;b<c.length;b++)a.appendChild(c[b](a))}))};Sidebar.prototype.addIBMSecurityPalette=function(a,b,e,d){d+="security/";var c=[this.createVertexTemplateEntry(d+
+"api_security.svg;",a,a,"","API Security",!1,null,this.getTagsForStencil("security ","api security",b).join(" ")),this.createVertexTemplateEntry(d+"blockchain_security_service.svg;",a,a,"","Blockchain Security Service",!1,null,this.getTagsForStencil("security ","blockchain security service",b).join(" ")),this.createVertexTemplateEntry(d+"data_security.svg;",a,a,"","Data Security",!1,null,this.getTagsForStencil("security ","data security",b).join(" ")),this.createVertexTemplateEntry(d+"firewall.svg;",
+a,a,"","Firewall",!1,null,this.getTagsForStencil("security ","firewall",b).join(" ")),this.createVertexTemplateEntry(d+"gateway.svg;",a,a,"","Gateway",!1,null,this.getTagsForStencil("security ","gateway",b).join(" ")),this.createVertexTemplateEntry(d+"governance_risk_compliance.svg;",a,a,"","Governance, Risk & Compliance",!1,null,this.getTagsForStencil("security ","governance risk compliance",b).join(" ")),this.createVertexTemplateEntry(d+"identity_access_management.svg;",a,a,"","Identity & Access Management",
+!1,null,this.getTagsForStencil("security ","identity access management",b).join(" ")),this.createVertexTemplateEntry(d+"identity_provider.svg;",a,a,"","Identity Provider",!1,null,this.getTagsForStencil("security ","identity provider",b).join(" ")),this.createVertexTemplateEntry(d+"infrastructure_security.svg;",a,a,"","Infrastructure Security",!1,null,this.getTagsForStencil("security ","infrastructure security",b).join(" ")),this.createVertexTemplateEntry(d+"physical_security.svg;",a,a,"","Physical Security",
+!1,null,this.getTagsForStencil("security ","physical security",b).join(" ")),this.createVertexTemplateEntry(d+"security_monitoring_intelligence.svg;",a,a,"","Security Monitoring & Intelligence",!1,null,this.getTagsForStencil("security ","security monitoring intelligence",b).join(" ")),this.createVertexTemplateEntry(d+"security_services.svg;",a,a,"","Security Services",!1,null,this.getTagsForStencil("security ","security services",b).join(" ")),this.createVertexTemplateEntry(d+"trustend_computing.svg;",
+a,a,"","Trustend Computing",!1,null,this.getTagsForStencil("security ","trustend computing",b).join(" ")),this.createVertexTemplateEntry(d+"vpn.svg;",a,a,"","VPN",!1,null,this.getTagsForStencil("security ","vpn virtual private network",b).join(" "))];this.addPalette("ibmSecurity","IBM / Security",!1,mxUtils.bind(this,function(a){for(var b=0;b<c.length;b++)a.appendChild(c[b](a))}))};Sidebar.prototype.addIBMSocialPalette=function(a,b,e,d){d+="social/";var c=[this.createVertexTemplateEntry(d+"communities.svg;",
+a,a,"","Communities",!1,null,this.getTagsForStencil("social ","communities",b).join(" ")),this.createVertexTemplateEntry(d+"file_sync.svg;",a,a,"","File Sync",!1,null,this.getTagsForStencil("social ","file sync",b).join(" ")),this.createVertexTemplateEntry(d+"live_collaboration.svg;",a,a,"","Live Collaboration",!1,null,this.getTagsForStencil("social ","live collaboration",b).join(" ")),this.createVertexTemplateEntry(d+"messaging.svg;",a,a,"","Messaging",!1,null,this.getTagsForStencil("social ","messaging",
+b).join(" ")),this.createVertexTemplateEntry(d+"networking.svg;",a,a,"","Networking",!1,null,this.getTagsForStencil("social ","networking",b).join(" "))];this.addPalette("ibmSocial","IBM / Social",!1,mxUtils.bind(this,function(a){for(var b=0;b<c.length;b++)a.appendChild(c[b](a))}))};Sidebar.prototype.addIBMUsersPalette=function(a,b,e,d){d+="users/";var c=[this.createVertexTemplateEntry(d+"browser.svg;",a,a,"","Browser",!1,null,this.getTagsForStencil("users ","browser",b).join(" ")),this.createVertexTemplateEntry(d+
+"device.svg;",a,a,"","Device",!1,null,this.getTagsForStencil("users ","device",b).join(" ")),this.createVertexTemplateEntry(d+"integrated_digital_experiences.svg;",a,a,"","Integrated Digital Experiences",!1,null,this.getTagsForStencil("users ","integrated digital experiences",b).join(" ")),this.createVertexTemplateEntry(d+"physical_entity.svg;",a,a,"","Physical Entity",!1,null,this.getTagsForStencil("users ","physical entity",b).join(" ")),this.createVertexTemplateEntry(d+"sensor.svg;",a,a,"","Sensor",
+!1,null,this.getTagsForStencil("users ","sensor",b).join(" ")),this.createVertexTemplateEntry(d+"user.svg;",a,a,"","User",!1,null,this.getTagsForStencil("users ","user",b).join(" "))];this.addPalette("ibmUsers","IBM / Users",!1,mxUtils.bind(this,function(a){for(var b=0;b<c.length;b++)a.appendChild(c[b](a))}))};Sidebar.prototype.addIBMVPCPalette=function(a,b,e,d){d+="vpc/";var c=[this.createVertexTemplateEntry(d+"Instance.svg;",a,a,"","Instance",!1,null,this.getTagsForStencil("vpc virtual private cloud ",
+"instance",b).join(" ")),this.createVertexTemplateEntry(d+"LoadBalancer.svg;",a,a,"","Load Balancer",!1,null,this.getTagsForStencil("vpc virtual private cloud ","load balancer",b).join(" ")),this.createVertexTemplateEntry(d+"BlockStorage.svg;",a,a,"","Block Storage",!1,null,this.getTagsForStencil("vpc virtual private cloud ","block storage",b).join(" ")),this.createVertexTemplateEntry(d+"FloatingIP.svg;",a,a,"","Floating IP",!1,null,this.getTagsForStencil("vpc virtual private cloud ","floating ip internet protocol",
+b).join(" ")),this.createVertexTemplateEntry(d+"PublicGateway.svg;",a,a,"","Public Gateway",!1,null,this.getTagsForStencil("vpc virtual private cloud ","public gateway",b).join(" ")),this.createVertexTemplateEntry(d+"ObjectStorage.svg;",a,a,"","Object Storage",!1,null,this.getTagsForStencil("vpc virtual private cloud ","object storage",b).join(" ")),this.createVertexTemplateEntry(d+"VPNConnection.svg;",a,a,"","VPN Connection",!1,null,this.getTagsForStencil("vpc virtual private cloud ","connection",
+b).join(" ")),this.createVertexTemplateEntry(d+"VPNGateway.svg;",a,a,"","VPN Gateway",!1,null,this.getTagsForStencil("vpc virtual private cloud ","gateway",b).join(" ")),this.createVertexTemplateEntry(d+"DirectLink.svg;",a,a,"","Direct Link",!1,null,this.getTagsForStencil("vpc virtual private cloud ","direct link",b).join(" ")),this.createVertexTemplateEntry(d+"InternetServices2.svg;",a,a,"","Internet Services",!1,null,this.getTagsForStencil("vpc virtual private cloud ","internet services",b).join(" ")),
+this.createVertexTemplateEntry(d+"LoadBalancerPool.svg;",a,a,"","Load Balancer Pool",!1,null,this.getTagsForStencil("vpc virtual private cloud ","load balancer pool",b).join(" ")),this.createVertexTemplateEntry(d+"LoadBalancerListener.svg;",a,a,"","Load Balancer Listener",!1,null,this.getTagsForStencil("vpc virtual private cloud ","load balancer listener",b).join(" ")),this.createVertexTemplateEntry(d+"Rules.svg;",a,a,"","Rules",!1,null,this.getTagsForStencil("vpc virtual private cloud ","load balancer listener",
+b).join(" ")),this.createVertexTemplateEntry(d+"ImageService.svg;",a,a,"","Image Service",!1,null,this.getTagsForStencil("vpc virtual private cloud ","image service",b).join(" ")),this.createVertexTemplateEntry(d+"Key.svg;",a,a,"","Key",!1,null,this.getTagsForStencil("vpc virtual private cloud ","key",b).join(" ")),this.createVertexTemplateEntry(d+"VPNPolicy.svg;",a,a,"","VPN Policy",!1,null,this.getTagsForStencil("vpc virtual private cloud ","policy",b).join(" ")),this.createVertexTemplateEntry(d+
+"Router.svg;",a,a,"","Router",!1,null,this.getTagsForStencil("vpc virtual private cloud ","router",b).join(" ")),this.createVertexTemplateEntry(d+"Bridge.svg;",a,a,"","Bridge",!1,null,this.getTagsForStencil("vpc virtual private cloud ","bridge",b).join(" ")),this.createVertexTemplateEntry(d+"CloudServices.svg;",a,a,"","Cloud Services",!1,null,this.getTagsForStencil("vpc virtual private cloud ","cloud services",b).join(" ")),this.createVertexTemplateEntry(d+"Internet.svg;",a,a,"","Internet",!1,null,
+this.getTagsForStencil("vpc virtual private cloud ","internet",b).join(" ")),this.createVertexTemplateEntry(d+"Enterprise.svg;",a,a,"","Data Center",!1,null,this.getTagsForStencil("vpc virtual private cloud ","dat acenter",b).join(" ")),this.createVertexTemplateEntry(d+"Enterprise2.svg;",a,.8*a,"","Enterprise",!1,null,this.getTagsForStencil("vpc virtual private cloud ","enterprise",b).join(" ")),this.createVertexTemplateEntry(d+"PowerInstance.svg;",a,a,"","Power Instance",!1,null,this.getTagsForStencil("vpc virtual private cloud ",
+"power instance",b).join(" ")),this.createVertexTemplateEntry(d+"TransitGateway.svg;",a,a,"","Transit Gateway",!1,null,this.getTagsForStencil("vpc virtual private cloud ","transit gateway",b).join(" ")),this.createVertexTemplateEntry(d+"BareMetalServer.svg;",a,a,"","Bare Metal Server",!1,null,this.getTagsForStencil("vpc virtual private cloud ","bare metal server",b).join(" "))];this.addPalette("ibmVPC","IBM / VPC",!1,mxUtils.bind(this,function(a){for(var b=0;b<c.length;b++)a.appendChild(c[b](a))}))};
+Sidebar.prototype.addIBMBoxesPalette=function(a,b,e,d){var c=[this.createVertexTemplateEntry("shape=mxgraph.ibm.box;prType=cloud;fontStyle=0;verticalAlign=top;align=left;spacingLeft=32;spacingTop=4;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#4376BB;strokeWidth=3;dashed=0;container=1;spacing=-4;collapsible=0;",200,200,"IBM Cloud","IBM Cloud",!0,null,this.getTagsForStencil("boxes box ","ibm cloud",b).join(" ")),this.createVertexTemplateEntry("shape=mxgraph.ibm.box;prType=vpc;fontStyle=0;verticalAlign=top;align=left;spacingLeft=32;spacingTop=4;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#4376BB;strokeWidth=2;dashed=0;container=1;spacing=-4;collapsible=0;",
+200,200,"VPC","VPC",!0,null,this.getTagsForStencil("boxes box ","vpc virtual private cloud",b).join(" ")),this.createVertexTemplateEntry("shape=mxgraph.ibm.box;prType=region;fontStyle=0;verticalAlign=top;align=left;spacingLeft=32;spacingTop=4;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#919191;strokeWidth=2;dashed=0;container=1;spacing=-4;collapsible=0;",200,200,"Region","Region",!0,null,this.getTagsForStencil("boxes box ","region",b).join(" ")),this.createVertexTemplateEntry("shape=mxgraph.ibm.box;prType=zone;fontStyle=0;verticalAlign=top;align=left;spacingLeft=32;spacingTop=4;fillColor=#E0E0E0;rounded=0;whiteSpace=wrap;html=1;strokeColor=#919191;strokeWidth=1;dashed=0;container=1;spacing=-4;collapsible=0;",
+200,200,"Zone","Zone",!0,null,this.getTagsForStencil("boxes box ","zone",b).join(" ")),this.createVertexTemplateEntry("shape=mxgraph.ibm.box;prType=subnet;fontStyle=0;verticalAlign=top;align=left;spacingLeft=32;spacingTop=4;fillColor=#E6F0E2;rounded=0;whiteSpace=wrap;html=1;strokeColor=#00882B;strokeWidth=1;dashed=0;container=1;spacing=-4;collapsible=0;",200,200,"Subnet:ACL","Subnet:ACL",!0,null,this.getTagsForStencil("boxes box ","subnet acl",b).join(" ")),this.createVertexTemplateEntry("fontStyle=0;verticalAlign=top;align=center;spacingTop=-2;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#FF0000;strokeWidth=2;dashed=1;container=1;collapsible=0;",
+200,200,"Security Group","Security Group",!0,null,this.getTagsForStencil("boxes box ","security group",b).join(" ")),this.createVertexTemplateEntry("fontStyle=0;verticalAlign=top;align=center;spacingTop=-2;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#00882B;strokeWidth=2;dashed=1;container=1;collapsible=0;",200,200,"Instance Group","Instance Group",!0,null,this.getTagsForStencil("boxes box ","instance group",b).join(" ")),this.createVertexTemplateEntry("fontStyle=0;verticalAlign=top;align=center;spacingTop=-2;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#919191;strokeWidth=2;dashed=1;container=1;collapsible=0;",
+200,200,"Resource Group","Resource Group",!0,null,this.getTagsForStencil("boxes box ","resource group",b).join(" ")),this.createVertexTemplateEntry("shape=mxgraph.ibm.box;prType=public;fontStyle=0;verticalAlign=top;align=left;spacingLeft=32;spacingTop=4;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#4376BB;strokeWidth=3;dashed=0;container=1;spacing=-4;collapsible=0;",200,200,"Public Network","Public Network",!0,null,this.getTagsForStencil("boxes box ","public network",b).join(" ")),
+this.createVertexTemplateEntry("shape=mxgraph.ibm.box;prType=enterprise;fontStyle=0;verticalAlign=top;align=left;spacingLeft=32;spacingTop=4;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#4376BB;strokeWidth=3;dashed=0;container=1;spacing=-4;collapsible=0;",200,200,"Enterprise Network","Enterprise Network",!0,null,this.getTagsForStencil("boxes box ","enterprise network",b).join(" ")),this.createVertexTemplateEntry("shape=mxgraph.ibm.box;prType=classic;fontStyle=0;verticalAlign=top;align=left;spacingLeft=32;spacingTop=4;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#4376BB;strokeWidth=2;dashed=0;container=1;spacing=-4;collapsible=0;",
+200,200,"Classic Infrastructure","Classic Infrastructure",!0,null,this.getTagsForStencil("boxes box ","classic infrastructure",b).join(" ")),this.createVertexTemplateEntry("fontStyle=0;verticalAlign=top;align=center;spacingTop=-2;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#4376BB;strokeWidth=1;dashed=0;container=1;collapsible=0;",200,200,"Cloud Services","Cloud Services",!0,null,this.getTagsForStencil("boxes box ","cloud services",b).join(" "))];this.addPalette("ibmBoxes","IBM / Boxes",
+!1,mxUtils.bind(this,function(a){for(var b=0;b<c.length;b++)a.appendChild(c[b](a))}))};Sidebar.prototype.addIBMConnectorsPalette=function(a,b,e,d){var c=[this.createEdgeTemplateEntry("html=1;labelBackgroundColor=#ffffff;jettySize=auto;orthogonalLoop=1;strokeWidth=1;fontSize=14;endArrow=none;endFill=0;",a,a,"","Connector",null,b+"connector"),this.createEdgeTemplateEntry("html=1;labelBackgroundColor=#ffffff;endArrow=classic;endFill=1;endSize=6;jettySize=auto;orthogonalLoop=1;strokeWidth=1;fontSize=14;",
+a,a,"","Connector (Single Arrow)",null,b+"connector single arrow"),this.createEdgeTemplateEntry("html=1;labelBackgroundColor=#ffffff;startArrow=classic;startFill=1;startSize=6;endArrow=classic;endFill=1;endSize=6;jettySize=auto;orthogonalLoop=1;strokeWidth=1;fontSize=14;",a,a,"","Connector (Double Arrow)",null,b+"connector double arrow"),this.createEdgeTemplateEntry("html=1;labelBackgroundColor=#ffffff;endArrow=none;endFill=0;jettySize=auto;orthogonalLoop=1;strokeWidth=1;dashed=1;fontSize=14;",a,
+a,"","Dashed Connector",null,b+"dashed connector"),this.createEdgeTemplateEntry("html=1;labelBackgroundColor=#ffffff;startArrow=none;startFill=0;startSize=6;endArrow=classic;endFill=1;endSize=6;jettySize=auto;orthogonalLoop=1;strokeWidth=1;dashed=1;fontSize=14;",a,a,"","Dashed Connector (Single Arrow)",null,b+"dashed connector single arrow"),this.createEdgeTemplateEntry("html=1;labelBackgroundColor=#ffffff;startArrow=classic;startFill=1;startSize=6;endArrow=classic;endFill=1;endSize=6;jettySize=auto;orthogonalLoop=1;strokeWidth=1;dashed=1;fontSize=14;",
+a,a,"","Dashed Connector (Double Arrow)",null,b+"dashed connector double arrow"),this.createEdgeTemplateEntry("edgeStyle=elbowEdgeStyle;rounded=0;elbow=vertical;html=1;labelBackgroundColor=#ffffff;jettySize=auto;orthogonalLoop=1;strokeWidth=1;fontSize=14;endArrow=none;endFill=0;",a,a,"","Elbow Connector",null,b+"elbow connector"),this.createEdgeTemplateEntry("edgeStyle=elbowEdgeStyle;rounded=0;elbow=vertical;html=1;labelBackgroundColor=#ffffff;endArrow=classic;endFill=1;endSize=6;jettySize=auto;orthogonalLoop=1;strokeWidth=1;fontSize=14;",
+a,a,"","Elbow Connector (Single Arrow)",null,b+"elbow connector single arrow"),this.createEdgeTemplateEntry("edgeStyle=elbowEdgeStyle;rounded=0;elbow=vertical;html=1;labelBackgroundColor=#ffffff;startArrow=classic;startFill=1;startSize=6;endArrow=classic;endFill=1;endSize=6;jettySize=auto;orthogonalLoop=1;strokeWidth=1;fontSize=14;",a,a,"","Elbow Connector (Double Arrow)",null,b+"elbow connector double arrow")];this.addPalette("ibmConnectors","IBM / Connectors",!1,mxUtils.bind(this,function(a){for(var b=
+0;b<c.length;b++)a.appendChild(c[b](a))}))}})();(function(){Sidebar.prototype.addInfographicPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;html=1;shape=mxgraph.infographic.",b=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;html=1;shape=mxgraph.basic.";this.addPaletteFunctions("infographic","Infographic",!1,[this.createVertexTemplateEntry(b+"pie;fillColor=#10739E;strokeColor=none;startAngle=0.2;endAngle=0.9;",100,100,"","Pie",null,
 null,this.getTagsForStencil("mxgraph.infographic","pie","").join(" ")),this.createVertexTemplateEntry(b+"arc;strokeColor=#10739E;strokeWidth=6;startAngle=0.3;endAngle=0.1;",100,100,"","Arc",null,null,this.getTagsForStencil("mxgraph.infographic","arc","").join(" ")),this.createVertexTemplateEntry(b+"partConcEllipse;fillColor=#10739E;strokeColor=none;startAngle=0.25;endAngle=0.1;arcWidth=0.5;",100,100,"","Partial Concentric Ellipse",null,null,this.getTagsForStencil("mxgraph.infographic","partConcEllipse",
 "").join(" ")),this.createVertexTemplateEntry(a+"parallelogram;dx=15;fillColor=#10739E;strokeColor=none;",100,70,"","Trapezoid",null,null,this.getTagsForStencil("mxgraph.infographic","partConcEllipse","").join(" ")),this.createVertexTemplateEntry("html=1;shape=mxgraph.infographic.ribbonSimple;notch1=20;notch2=20;fillColor=#10739E;strokeColor=none;align=center;verticalAlign=middle;fontColor=#ffffff;fontSize=14;fontStyle=1;",200,40,"Label","Ribbon",null,null,this.getTagsForStencil("mxgraph.infographic",
 "ribbonRolled","").join(" ")),this.createVertexTemplateEntry("html=1;shape=mxgraph.infographic.ribbonRolled;dx=185;dy=15;fillColor=#10739E;strokeColor=none;align=center;verticalAlign=middle;fontColor=#ffffff;fontSize=14;fontStyle=1;",200,70,"Label","Ribbon (rolled)",null,null,this.getTagsForStencil("mxgraph.infographic","ribbonRolled","").join(" ")),this.createVertexTemplateEntry("html=1;shape=mxgraph.infographic.ribbonDoubleFolded;dx=25;dy=15;fillColor=#10739E;strokeColor=none;align=center;verticalAlign=middle;fontColor=#ffffff;fontSize=14;fontStyle=1;",
@@ -7286,9 +7291,9 @@ this.createEdgeTemplateEntry("edgeStyle=none;html=1;endArrow=open;endSize=12;das
 160,0,"&lt;&lt;import&gt;&gt;","Public Package Import",null,this.getTagsForStencil("","","sysml model element public package import").join(" ")),this.createEdgeTemplateEntry("edgeStyle=none;html=1;endArrow=open;endSize=12;dashed=1;verticalAlign=bottom;",160,0,"&lt;&lt;access&gt;&gt;","Private Package Import",null,this.getTagsForStencil("","","sysml model element private package import").join(" ")),this.createEdgeTemplateEntry("edgeStyle=none;html=1;"+mxConstants.STYLE_STARTARROW+"=sysMLPackCont;startSize=12;"+
 mxConstants.STYLE_ENDARROW+"=none;",160,0,"","Package Containment",null,this.getTagsForStencil("","","sysml model element package containment").join(" ")),this.createEdgeTemplateEntry("edgeStyle=none;html=1;endSize=12;endArrow=block;endFill=0;dashed=1;",160,0,"","Realization",null,this.getTagsForStencil("","","sysml model element realization").join(" ")),this.createEdgeTemplateEntry("edgeStyle=none;html=1;endArrow=open;endSize=12;dashed=1;verticalAlign=bottom;",160,0,"&lt;&lt;refine&gt;&gt;","Refine",
 null,this.getTagsForStencil("","","sysml model element refine").join(" "))];this.addPalette("sysmlModel Elements","SysML / Model Elements",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<e.length;b++)a.appendChild(e[b](a))}))};Sidebar.prototype.addSysMLBlocksPalette=function(a){var b=this,e=[this.addEntry("sysml block block definition diagram",function(){var a=new mxCell('<p style="margin:0px;margin-top:4px;margin-left:10px;text-align:left;"><b>bdd</b>   Namespace1</p>',new mxGeometry(0,0,300,100),
-"html=1;strokeWidth=1;shape=mxgraph.sysml.package;labelX=120;align=left;spacingLeft=10;overflow=fill;recursiveResize=0;");a.vertex=!0;var c=new mxCell("Block1",new mxGeometry(15,30,100,50),"strokeColor=inherit;fillColor=inherit;gradientColor=inherit;shape=rect;fontStyle=1;html=1;whiteSpace=wrap;align=center;");c.vertex=!0;a.insert(c);var e=new mxCell("Block2",new mxGeometry(190,30,100,50),"strokeColor=inherit;fillColor=inherit;gradientColor=inherit;shape=rect;fontStyle=1;html=1;whiteSpace=wrap;align=center;");
-e.vertex=!0;a.insert(e);var g=new mxCell("part1",new mxGeometry(0,0,0,0),"strokeColor=inherit;fillColor=inherit;gradientColor=inherit;align=right;html=1;verticalAlign=bottom;endArrow=none;startArrow=diamondThin;startSize=14;startFill=1;edgeStyle=none;endFill=0;labelBackgroundColor=none;");g.geometry.relative=!0;g.geometry.x=1;g.edge=!0;a.insert(g);var h=new mxCell("1",new mxGeometry(-1,0,0,0),"resizable=0;html=1;align=left;verticalAlign=top;labelBackgroundColor=none;fontSize=10");h.geometry.relative=
-!0;h.setConnectable(!1);h.vertex=!0;g.insert(h);h=new mxCell("0..*",new mxGeometry(1,0,0,0),"resizable=0;html=1;align=right;verticalAlign=top;labelBackgroundColor=none;fontSize=10");h.geometry.relative=!0;h.setConnectable(!1);h.vertex=!0;g.insert(h);c.insertEdge(g,!0);e.insertEdge(g,!1);return b.createVertexTemplateFromCells([a],300,100,"Block Definition Diagram")}),this.addDataEntry("sysml block relation",160,0,"Relation","zVRNb8IwDP01vUwaCi3aHcrgNGkS+wOhMW20NEapYYVfP9MmLVVh2qYddqjkPNvPHy9NlKRlvXZyX7ygAhMlz1GSOkRqrbJOwZgoFlpFyTKKY8FfFK/ueKeNV+ylA0vfSYjbhKM0B2gRziVPU9HJeFQanVs2nc4LJl4UVHKvyymbR3CkM2nmPmSLRFiyA6yaO4cfjFm0TLSoiMkDprQs0aq3Qtvg2ujzpd50FoCVNqEMqBw2viFP13Z5cdydvoH86GvAEsidOKQeJDgwkvRxyCKr9ph3WR3RK2rm70MqPLgMPHq97BAYyj2JITePmAONEtm46raHGu1u65iMdBxr6KDSZ7ltjmKoYZDXwI5uSEq4Z9TILZiFzN5zhwerUjToejF2aDv9/JgZWgsZ+ZLdXRQXeqjvahZ/qdnjT0UbbPWLFc5GKxSTycNvthh+kv+8xj/aIh/7x6q9t9dv2Sc="),
+"html=1;strokeWidth=1;shape=mxgraph.sysml.package;labelX=120;align=left;spacingLeft=10;overflow=fill;recursiveResize=0;");a.vertex=!0;var c=new mxCell("Block1",new mxGeometry(15,30,100,50),"strokeColor=inherit;fillColor=inherit;gradientColor=inherit;shape=rect;fontStyle=1;html=1;whiteSpace=wrap;align=center;");c.vertex=!0;a.insert(c);var f=new mxCell("Block2",new mxGeometry(190,30,100,50),"strokeColor=inherit;fillColor=inherit;gradientColor=inherit;shape=rect;fontStyle=1;html=1;whiteSpace=wrap;align=center;");
+f.vertex=!0;a.insert(f);var e=new mxCell("part1",new mxGeometry(0,0,0,0),"strokeColor=inherit;fillColor=inherit;gradientColor=inherit;align=right;html=1;verticalAlign=bottom;endArrow=none;startArrow=diamondThin;startSize=14;startFill=1;edgeStyle=none;endFill=0;labelBackgroundColor=none;");e.geometry.relative=!0;e.geometry.x=1;e.edge=!0;a.insert(e);var h=new mxCell("1",new mxGeometry(-1,0,0,0),"resizable=0;html=1;align=left;verticalAlign=top;labelBackgroundColor=none;fontSize=10");h.geometry.relative=
+!0;h.setConnectable(!1);h.vertex=!0;e.insert(h);h=new mxCell("0..*",new mxGeometry(1,0,0,0),"resizable=0;html=1;align=right;verticalAlign=top;labelBackgroundColor=none;fontSize=10");h.geometry.relative=!0;h.setConnectable(!1);h.vertex=!0;e.insert(h);c.insertEdge(e,!0);f.insertEdge(e,!1);return b.createVertexTemplateFromCells([a],300,100,"Block Definition Diagram")}),this.addDataEntry("sysml block relation",160,0,"Relation","zVRNb8IwDP01vUwaCi3aHcrgNGkS+wOhMW20NEapYYVfP9MmLVVh2qYddqjkPNvPHy9NlKRlvXZyX7ygAhMlz1GSOkRqrbJOwZgoFlpFyTKKY8FfFK/ueKeNV+ylA0vfSYjbhKM0B2gRziVPU9HJeFQanVs2nc4LJl4UVHKvyymbR3CkM2nmPmSLRFiyA6yaO4cfjFm0TLSoiMkDprQs0aq3Qtvg2ujzpd50FoCVNqEMqBw2viFP13Z5cdydvoH86GvAEsidOKQeJDgwkvRxyCKr9ph3WR3RK2rm70MqPLgMPHq97BAYyj2JITePmAONEtm46raHGu1u65iMdBxr6KDSZ7ltjmKoYZDXwI5uSEq4Z9TILZiFzN5zhwerUjToejF2aDv9/JgZWgsZ+ZLdXRQXeqjvahZ/qdnjT0UbbPWLFc5GKxSTycNvthh+kv+8xj/aIh/7x6q9t9dv2Sc="),
 this.createVertexTemplateEntry("shape=rect;html=1;overflow=fill;verticalAlign=top;align=left;whiteSpace=wrap;",220,340,'<p style="margin:0px;margin-top:4px;text-align:center;">&lt;&lt;block&gt;&gt;<br/>{encapsulated}<br/><b>Block1</b></p><hr/><p style="font-size:10px;margin:0px;text-align:center;"><i>constraints</i></p><p style="margin:0px;margin-left:8px;text-align:left;">{x &gt; y}</p><hr/><p style="font-size:10px;margin:0px;text-align:center;"><i>operations</i></p><p style="margin:0px;margin-left:8px;text-align:left;">operation1 (p1 : Type1) : Type2</p><hr/><p style="font-size:10px;margin:0px;text-align:center;"><i>parts</i></p><p style="margin:0px;margin-left:8px;text-align:left;">property1 : Block2</p><hr/><p style="font-size:10px;margin:0px;text-align:center;"><i>references</i></p><p style="margin:0px;margin-left:8px;text-align:left;">property2 : Block3 [0..*] {ordered}</p><hr/><p style="font-size:10px;margin:0px;text-align:center;"><i>values</i></p><p style="margin:0px;margin-left:8px;text-align:left;">property3 : Integer = 99 {readOnly}<br/>property4 : Real = 10.0</p><hr/><p style="font-size:10px;margin:0px;text-align:center;"><i>properties</i></p><p style="margin:0px;margin-left:8px;text-align:left;">property5 : Type1</p>',
 "Block",null,null,this.getTagsForStencil("","","sysml block block").join(" ")),this.createVertexTemplateEntry("shape=umlActor;html=1;verticalLabelPosition=bottom;verticalAlign=top;align=center;",30,60,"ActorName","Actor",null,null,this.getTagsForStencil("","","sysml block actor").join(" ")),this.createVertexTemplateEntry("shape=rect;html=1;overflow=fill;whiteSpace=wrap;align=center;",160,80,"<p>&lt;&lt;actor&gt;&gt;<br/><b>ActorName</b></p>","Actor",null,null,this.getTagsForStencil("","","sysml block actor").join(" ")),
 this.createVertexTemplateEntry("shape=rect;html=1;overflow=fill;whiteSpace=wrap;",200,180,'<p style="margin:0px;margin-top:4px;text-align:center;">&lt;&lt;valueType&gt;&gt;<br/><b>ValueType1</b></p><hr/><p style="font-size:10px;margin:0px;text-align:center;"><i>operations</i></p><p style="margin:0px;margin-left:8px;text-align:left;">operation1 (p1 : Type1) : Type2</p><hr/><p style="font-size:10px;margin:0px;text-align:center;"><i>properties</i></p><p style="margin:0px;margin-left:8px;text-align:left;">property1 : Type3</p><hr/><p style="margin:0px;margin-left:8px;text-align:center;">&lt;&lt;valueType&gt;&gt;</p><p style="margin:0px;margin-left:8px;text-align:left;">unit = UnitName</p>',
@@ -8280,27 +8285,27 @@ try{u=a.editor.graph.importCells(d.getModel().getChildren(d.getDefaultParent()),
 n=document.createElement("option");n.setAttribute("value","diagram");mxUtils.write(n,mxResources.get("diagram"));"plantUml"!=d&&l.appendChild(n);n=document.createElement("option");n.setAttribute("value","plantUmlSvg");mxUtils.write(n,mxResources.get("plantUml")+" ("+mxResources.get("formatSvg")+")");"plantUml"==d&&n.setAttribute("selected","selected");var q=document.createElement("option");q.setAttribute("value","plantUmlPng");mxUtils.write(q,mxResources.get("plantUml")+" ("+mxResources.get("formatPng")+
 ")");var e=document.createElement("option");e.setAttribute("value","plantUmlTxt");mxUtils.write(e,mxResources.get("plantUml")+" ("+mxResources.get("text")+")");EditorUi.enablePlantUml&&Graph.fileSupport&&!a.isOffline()&&"plantUml"==d&&(l.appendChild(n),l.appendChild(q),l.appendChild(e));var m=f();k.value=m;c.appendChild(k);this.init=function(){k.focus()};Graph.fileSupport&&(k.addEventListener("dragover",function(a){a.stopPropagation();a.preventDefault()},!1),k.addEventListener("drop",function(a){a.stopPropagation();
 a.preventDefault();if(0<a.dataTransfer.files.length){a=a.dataTransfer.files[0];var b=new FileReader;b.onload=function(a){k.value=a.target.result};b.readAsText(a)}},!1));c.appendChild(l);mxEvent.addListener(l,"change",function(){var a=f();if(0==k.value.length||k.value==m)m=a,k.value=m});d=mxUtils.button(mxResources.get("close"),function(){k.value==m?a.hideDialog():a.confirm(mxResources.get("areYouSure"),function(){a.hideDialog()})});d.className="geBtn";a.editor.cancelFirst&&c.appendChild(d);n=mxUtils.button(mxResources.get("insert"),
-function(){a.hideDialog();b(k.value,l.value)});c.appendChild(n);n.className="geBtn gePrimaryBtn";a.editor.cancelFirst||c.appendChild(d);this.container=c},NewDialog=function(a,c,d,b,f,g,k,l,n,q,e,m,p,u,v,t,y){function z(){var a=!0;if(null!=X)for(;J<X.length&&(a||0!=mxUtils.mod(J,30));){var b=X[J++],b=x(b.url,b.libs,b.title,b.tooltip?b.tooltip:b.title,b.select,b.imgUrl,b.info,b.onClick,b.preview,b.noImg,b.clibs);a&&b.click();a=!1}}function B(){if(U)d||a.hideDialog(),u(U,ba,I.value);else if(b)d||a.hideDialog(),
-b(fa,I.value);else{var c=I.value;null!=c&&0<c.length&&a.pickFolder(a.mode,function(b){a.createFile(c,fa,null!=Z&&0<Z.length?Z:null,null,function(){a.hideDialog()},null,b,null,null!=ga&&0<ga.length?ga:null)},a.mode!=App.MODE_GOOGLE||null==a.stateArg||null==a.stateArg.folderId)}}function G(a,b,c,e,d,m){null!=aa&&(aa.style.backgroundColor="transparent",aa.style.border="1px solid transparent");E.removeAttribute("disabled");fa=b;Z=c;ga=m;aa=a;U=e;ba=d;aa.style.backgroundColor=l;aa.style.border=n}function x(b,
-c,e,d,m,p,A,g,f,t,k){var x=document.createElement("div");x.className="geTemplate";x.style.height=Y+"px";x.style.width=ea+"px";null!=e?x.setAttribute("title",mxResources.get(e,null,e)):null!=d&&0<d.length&&x.setAttribute("title",d);if(null!=p)x.style.backgroundImage="url("+p+")",x.style.backgroundSize="contain",x.style.backgroundPosition="center center",x.style.backgroundRepeat="no-repeat",mxEvent.addListener(x,"click",function(a){G(x,null,null,b,A,k)}),mxEvent.addListener(x,"dblclick",function(a){B()});
+function(){a.hideDialog();b(k.value,l.value)});c.appendChild(n);n.className="geBtn gePrimaryBtn";a.editor.cancelFirst||c.appendChild(d);this.container=c},NewDialog=function(a,c,d,b,f,g,k,l,n,q,e,m,p,u,v,t,y){function z(){var a=!0;if(null!=Y)for(;J<Y.length&&(a||0!=mxUtils.mod(J,30));){var b=Y[J++],b=x(b.url,b.libs,b.title,b.tooltip?b.tooltip:b.title,b.select,b.imgUrl,b.info,b.onClick,b.preview,b.noImg,b.clibs);a&&b.click();a=!1}}function B(){if(U)d||a.hideDialog(),u(U,ba,I.value);else if(b)d||a.hideDialog(),
+b(fa,I.value);else{var c=I.value;null!=c&&0<c.length&&a.pickFolder(a.mode,function(b){a.createFile(c,fa,null!=W&&0<W.length?W:null,null,function(){a.hideDialog()},null,b,null,null!=ga&&0<ga.length?ga:null)},a.mode!=App.MODE_GOOGLE||null==a.stateArg||null==a.stateArg.folderId)}}function G(a,b,c,e,d,m){null!=aa&&(aa.style.backgroundColor="transparent",aa.style.border="1px solid transparent");E.removeAttribute("disabled");fa=b;W=c;ga=m;aa=a;U=e;ba=d;aa.style.backgroundColor=l;aa.style.border=n}function x(b,
+c,e,d,m,p,A,g,f,t,k){var x=document.createElement("div");x.className="geTemplate";x.style.height=Z+"px";x.style.width=ea+"px";null!=e?x.setAttribute("title",mxResources.get(e,null,e)):null!=d&&0<d.length&&x.setAttribute("title",d);if(null!=p)x.style.backgroundImage="url("+p+")",x.style.backgroundSize="contain",x.style.backgroundPosition="center center",x.style.backgroundRepeat="no-repeat",mxEvent.addListener(x,"click",function(a){G(x,null,null,b,A,k)}),mxEvent.addListener(x,"dblclick",function(a){B()});
 else if(!t&&null!=b&&0<b.length){d=f||TEMPLATE_PATH+"/"+b.substring(0,b.length-4)+".png";x.style.backgroundImage="url("+d+")";x.style.backgroundPosition="center center";x.style.backgroundRepeat="no-repeat";null!=e&&(x.innerHTML='<table width="100%" height="100%" style="line-height:1.3em;'+("dark"==uiTheme?"":"background:rgba(255,255,255,0.85);")+'border:inherit;"><tr><td align="center" valign="middle"><span style="display:inline-block;padding:4px 8px 4px 8px;user-select:none;border-radius:3px;background:rgba(255,255,255,0.85);overflow:hidden;text-overflow:ellipsis;max-width:'+
-(Y-34)+'px;">'+mxResources.get(e,null,e)+"</span></td></tr></table>");var u=!1;mxEvent.addListener(x,"click",function(e){E.setAttribute("disabled","disabled");x.style.backgroundColor="transparent";x.style.border="1px solid transparent";e=b;e=/^https?:\/\//.test(e)&&!a.editor.isCorsEnabledForUrl(e)?PROXY_URL+"?url="+encodeURIComponent(e):TEMPLATE_PATH+"/"+e;H.spin(Q);mxUtils.get(e,mxUtils.bind(this,function(a){H.stop();200<=a.getStatus()&&299>=a.getStatus()&&(G(x,a.getText(),c,null,null,k),u&&B())}))});
-mxEvent.addListener(x,"dblclick",function(a){u=!0})}else x.innerHTML='<table width="100%" height="100%" style="line-height:1.3em;"><tr><td align="center" valign="middle"><span style="display:inline-block;padding:4px 8px 4px 8px;user-select:none;border-radius:3px;background:#ffffff;overflow:hidden;text-overflow:ellipsis;max-width:'+(Y-34)+'px;">'+mxResources.get(e,null,e)+"</span></td></tr></table>",m&&G(x),null!=g?mxEvent.addListener(x,"click",g):(mxEvent.addListener(x,"click",function(a){G(x,null,
+(Z-34)+'px;">'+mxResources.get(e,null,e)+"</span></td></tr></table>");var u=!1;mxEvent.addListener(x,"click",function(e){E.setAttribute("disabled","disabled");x.style.backgroundColor="transparent";x.style.border="1px solid transparent";e=b;e=/^https?:\/\//.test(e)&&!a.editor.isCorsEnabledForUrl(e)?PROXY_URL+"?url="+encodeURIComponent(e):TEMPLATE_PATH+"/"+e;H.spin(Q);mxUtils.get(e,mxUtils.bind(this,function(a){H.stop();200<=a.getStatus()&&299>=a.getStatus()&&(G(x,a.getText(),c,null,null,k),u&&B())}))});
+mxEvent.addListener(x,"dblclick",function(a){u=!0})}else x.innerHTML='<table width="100%" height="100%" style="line-height:1.3em;"><tr><td align="center" valign="middle"><span style="display:inline-block;padding:4px 8px 4px 8px;user-select:none;border-radius:3px;background:#ffffff;overflow:hidden;text-overflow:ellipsis;max-width:'+(Z-34)+'px;">'+mxResources.get(e,null,e)+"</span></td></tr></table>",m&&G(x),null!=g?mxEvent.addListener(x,"click",g):(mxEvent.addListener(x,"click",function(a){G(x,null,
 null,b,A)}),mxEvent.addListener(x,"dblclick",function(a){B()}));Q.appendChild(x);return x}function C(){S&&(S=!1,mxEvent.addListener(Q,"scroll",function(a){Q.scrollTop+Q.clientHeight>=Q.scrollHeight&&(z(),mxEvent.consume(a))}));var a=null;if(0<da){var b=document.createElement("div");b.style.cssText="font-weight: bold;background: #f9f9f9;padding: 5px 0 5px 0;text-align: center;";mxUtils.write(b,mxResources.get("custom"));ca.appendChild(b);for(var e in N){var c=document.createElement("div"),b=e,d=N[e];
-18<b.length&&(b=b.substring(0,18)+"&hellip;");c.style.cssText="display:block;cursor:pointer;padding:6px;white-space:nowrap;margin-bottom:-1px;overflow:hidden;text-overflow:ellipsis;user-select:none;";c.setAttribute("title",b+" ("+d.length+")");mxUtils.write(c,c.getAttribute("title"));null!=q&&(c.style.padding=q);ca.appendChild(c);(function(b,e){mxEvent.addListener(c,"click",function(){a!=e&&(a.style.backgroundColor="",a=e,a.style.backgroundColor=k,Q.scrollTop=0,Q.innerHTML="",J=0,X=N[b],M=null,z())})})(e,
+18<b.length&&(b=b.substring(0,18)+"&hellip;");c.style.cssText="display:block;cursor:pointer;padding:6px;white-space:nowrap;margin-bottom:-1px;overflow:hidden;text-overflow:ellipsis;user-select:none;";c.setAttribute("title",b+" ("+d.length+")");mxUtils.write(c,c.getAttribute("title"));null!=q&&(c.style.padding=q);ca.appendChild(c);(function(b,e){mxEvent.addListener(c,"click",function(){a!=e&&(a.style.backgroundColor="",a=e,a.style.backgroundColor=k,Q.scrollTop=0,Q.innerHTML="",J=0,Y=N[b],M=null,z())})})(e,
 c)}b=document.createElement("div");b.style.cssText="font-weight: bold;background: #f9f9f9;padding: 5px 0 5px 0;text-align: center;";mxUtils.write(b,"draw.io");ca.appendChild(b)}for(e in P)c=document.createElement("div"),b=mxResources.get(e),d=P[e],null==b&&(b=e.substring(0,1).toUpperCase()+e.substring(1)),18<b.length&&(b=b.substring(0,18)+"&hellip;"),c.style.cssText="display:block;cursor:pointer;padding:6px;white-space:nowrap;margin-bottom:-1px;overflow:hidden;text-overflow:ellipsis;user-select:none;",
-c.setAttribute("title",b+" ("+d.length+")"),mxUtils.write(c,c.getAttribute("title")),null!=q&&(c.style.padding=q),ca.appendChild(c),null==a&&0<d.length&&(a=c,a.style.backgroundColor=k,X=d),function(b,e){mxEvent.addListener(c,"click",function(){a!=e&&(a.style.backgroundColor="",a=e,a.style.backgroundColor=k,Q.scrollTop=0,Q.innerHTML="",J=0,X=P[b],M=null,z())})}(e,c);z()}d=null!=d?d:!0;f=null!=f?f:!1;k=null!=k?k:"#ebf2f9";l=null!=l?l:"dark"==uiTheme?"transparent":"#e6eff8";n=null!=n?n:"dark"==uiTheme?
+c.setAttribute("title",b+" ("+d.length+")"),mxUtils.write(c,c.getAttribute("title")),null!=q&&(c.style.padding=q),ca.appendChild(c),null==a&&0<d.length&&(a=c,a.style.backgroundColor=k,Y=d),function(b,e){mxEvent.addListener(c,"click",function(){a!=e&&(a.style.backgroundColor="",a=e,a.style.backgroundColor=k,Q.scrollTop=0,Q.innerHTML="",J=0,Y=P[b],M=null,z())})}(e,c);z()}d=null!=d?d:!0;f=null!=f?f:!1;k=null!=k?k:"#ebf2f9";l=null!=l?l:"dark"==uiTheme?"transparent":"#e6eff8";n=null!=n?n:"dark"==uiTheme?
 "1px dotted rgb(235, 242, 249)":"1px solid #ccd9ea";e=null!=e?e:EditorUi.templateFile;var A=document.createElement("div");A.style.height="100%";var D=document.createElement("div");D.style.whiteSpace="nowrap";D.style.height="46px";d&&A.appendChild(D);var F=document.createElement("img");F.setAttribute("border","0");F.setAttribute("align","absmiddle");F.style.width="40px";F.style.height="40px";F.style.marginRight="10px";F.style.paddingBottom="4px";F.src=a.mode==App.MODE_GOOGLE?IMAGE_PATH+"/google-drive-logo.svg":
 a.mode==App.MODE_DROPBOX?IMAGE_PATH+"/dropbox-logo.svg":a.mode==App.MODE_ONEDRIVE?IMAGE_PATH+"/onedrive-logo.svg":a.mode==App.MODE_GITHUB?IMAGE_PATH+"/github-logo.svg":a.mode==App.MODE_GITLAB?IMAGE_PATH+"/gitlab-logo.svg":a.mode==App.MODE_TRELLO?IMAGE_PATH+"/trello-logo.svg":a.mode==App.MODE_BROWSER?IMAGE_PATH+"/osa_database.png":IMAGE_PATH+"/osa_drive-harddisk.png";!c&&d&&D.appendChild(F);d&&mxUtils.write(D,(null==a.mode||a.mode==App.MODE_GOOGLE||a.mode==App.MODE_BROWSER?mxResources.get("diagramName"):
 mxResources.get("filename"))+":");F=".drawio";a.mode==App.MODE_GOOGLE&&null!=a.drive?F=a.drive.extension:a.mode==App.MODE_DROPBOX&&null!=a.dropbox?F=a.dropbox.extension:a.mode==App.MODE_ONEDRIVE&&null!=a.oneDrive?F=a.oneDrive.extension:a.mode==App.MODE_GITHUB&&null!=a.gitHub?F=a.gitHub.extension:a.mode==App.MODE_GITLAB&&null!=a.gitLab?F=a.gitLab.extension:a.mode==App.MODE_TRELLO&&null!=a.trello&&(F=a.trello.extension);var I=document.createElement("input");I.setAttribute("value",a.defaultFilename+
 F);I.style.marginLeft="10px";I.style.width=c?"220px":"430px";this.init=function(){d&&(I.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?I.select():document.execCommand("selectAll",!1,null))};d&&(D.appendChild(I),null!=a.editor.fileExtensions&&(F=FilenameDialog.createTypeHint(a,I,a.editor.fileExtensions),F.style.marginTop="12px",D.appendChild(F)));var D=!1,J=0,H=new Spinner({lines:12,length:10,width:5,radius:10,rotate:0,color:"#000",speed:1.5,trail:60,shadow:!1,
-hwaccel:!1,top:"40%",zIndex:2E9}),E=mxUtils.button(t||mxResources.get("create"),function(){E.setAttribute("disabled","disabled");B();E.removeAttribute("disabled")});E.className="geBtn gePrimaryBtn";if(m||p){var K=[],M=null,R=null,W=null,T=function(a){E.setAttribute("disabled","disabled");for(var b=0;b<K.length;b++)K[b].className=b==a?"geBtn gePrimaryBtn":"geBtn"},D=!0;t=document.createElement("div");t.style.whiteSpace="nowrap";t.style.height="30px";A.appendChild(t);F=mxUtils.button(mxResources.get("Templates",
-null,"Templates"),function(){ca.style.display="";Q.style.left="160px";T(0);Q.scrollTop=0;Q.innerHTML="";J=0;M!=X&&(X=M,P=R,da=W,ca.innerHTML="",C(),M=null)});K.push(F);t.appendChild(F);var L=function(a){ca.style.display="none";Q.style.left="30px";T(a?-1:1);null==M&&(M=X);Q.scrollTop=0;Q.innerHTML="";H.spin(Q);var b=function(a,b,e){J=0;H.stop();X=a;e=e||{};var c=0,d;for(d in e)c+=e[d].length;if(b)Q.innerHTML=b;else if(0==a.length&&0==c)Q.innerHTML=mxUtils.htmlEntities(mxResources.get("noDiagrams",
+hwaccel:!1,top:"40%",zIndex:2E9}),E=mxUtils.button(t||mxResources.get("create"),function(){E.setAttribute("disabled","disabled");B();E.removeAttribute("disabled")});E.className="geBtn gePrimaryBtn";if(m||p){var K=[],M=null,R=null,X=null,T=function(a){E.setAttribute("disabled","disabled");for(var b=0;b<K.length;b++)K[b].className=b==a?"geBtn gePrimaryBtn":"geBtn"},D=!0;t=document.createElement("div");t.style.whiteSpace="nowrap";t.style.height="30px";A.appendChild(t);F=mxUtils.button(mxResources.get("Templates",
+null,"Templates"),function(){ca.style.display="";Q.style.left="160px";T(0);Q.scrollTop=0;Q.innerHTML="";J=0;M!=Y&&(Y=M,P=R,da=X,ca.innerHTML="",C(),M=null)});K.push(F);t.appendChild(F);var L=function(a){ca.style.display="none";Q.style.left="30px";T(a?-1:1);null==M&&(M=Y);Q.scrollTop=0;Q.innerHTML="";H.spin(Q);var b=function(a,b,e){J=0;H.stop();Y=a;e=e||{};var c=0,d;for(d in e)c+=e[d].length;if(b)Q.innerHTML=b;else if(0==a.length&&0==c)Q.innerHTML=mxUtils.htmlEntities(mxResources.get("noDiagrams",
 null,"No Diagrams Found"));else if(Q.innerHTML="",0<c){ca.style.display="";Q.style.left="160px";ca.innerHTML="";da=0;P={"draw.io":a};for(d in e)P[d]=e[d];C()}else z()};a?p(V.value,b):m(b)};m&&(F=mxUtils.button(mxResources.get("Recent",null,"Recent"),function(){L()}),t.appendChild(F),K.push(F));if(p){F=document.createElement("span");F.style.marginLeft="10px";F.innerHTML=mxUtils.htmlEntities(mxResources.get("search")+":");t.appendChild(F);var V=document.createElement("input");V.style.marginRight="10px";
-V.style.marginLeft="10px";V.style.width="220px";mxEvent.addListener(V,"keypress",function(a){13==a.keyCode&&L(!0)});t.appendChild(V);F=mxUtils.button(mxResources.get("search"),function(){L(!0)});F.className="geBtn";t.appendChild(F)}T(0)}var Z=null,ga=null,fa=null,aa=null,U=null,ba=null,Q=document.createElement("div");Q.style.border="1px solid #d3d3d3";Q.style.position="absolute";Q.style.left="160px";Q.style.right="34px";D=(d?72:40)+(D?30:0);Q.style.top=D+"px";Q.style.bottom="68px";Q.style.margin=
-"6px 0 0 -1px";Q.style.padding="6px";Q.style.overflow="auto";var ca=document.createElement("div");ca.style.cssText="position:absolute;left:30px;width:128px;top:"+D+"px;bottom:68px;margin-top:6px;overflow:auto;border:1px solid #d3d3d3;";var Y=140,ea=140,P={},N={},da=0,S=!0;P.basic=[{title:"blankDiagram",select:!0}];var X=P.basic;if(!c){var ja=function(){mxUtils.get(O,function(a){if(!ka){ka=!0;a=a.getXml().documentElement.firstChild;for(var b={};null!=a;){if("undefined"!==typeof a.getAttribute)if("clibs"==
+V.style.marginLeft="10px";V.style.width="220px";mxEvent.addListener(V,"keypress",function(a){13==a.keyCode&&L(!0)});t.appendChild(V);F=mxUtils.button(mxResources.get("search"),function(){L(!0)});F.className="geBtn";t.appendChild(F)}T(0)}var W=null,ga=null,fa=null,aa=null,U=null,ba=null,Q=document.createElement("div");Q.style.border="1px solid #d3d3d3";Q.style.position="absolute";Q.style.left="160px";Q.style.right="34px";D=(d?72:40)+(D?30:0);Q.style.top=D+"px";Q.style.bottom="68px";Q.style.margin=
+"6px 0 0 -1px";Q.style.padding="6px";Q.style.overflow="auto";var ca=document.createElement("div");ca.style.cssText="position:absolute;left:30px;width:128px;top:"+D+"px;bottom:68px;margin-top:6px;overflow:auto;border:1px solid #d3d3d3;";var Z=140,ea=140,P={},N={},da=0,S=!0;P.basic=[{title:"blankDiagram",select:!0}];var Y=P.basic;if(!c){var ja=function(){mxUtils.get(O,function(a){if(!ka){ka=!0;a=a.getXml().documentElement.firstChild;for(var b={};null!=a;){if("undefined"!==typeof a.getAttribute)if("clibs"==
 a.nodeName){for(var e=a.getAttribute("name"),c=a.getElementsByTagName("add"),d=[],m=0;m<c.length;m++)d.push(encodeURIComponent(mxUtils.getTextContent(c[m])));null!=e&&0<d.length&&(b[e]=d.join(";"))}else e=a.getAttribute("url"),null!=e&&(c=a.getAttribute("section"),null==c&&(c=e.indexOf("/"),c=e.substring(0,c)),e=P[c],null==e&&(e=[],P[c]=e),c=a.getAttribute("clibs"),null!=b[c]&&(c=b[c]),e.push({url:a.getAttribute("url"),libs:a.getAttribute("libs"),title:a.getAttribute("title"),tooltip:a.getAttribute("url"),
-preview:a.getAttribute("preview"),clibs:c}));a=a.nextSibling}H.stop();C()}})};A.appendChild(ca);A.appendChild(Q);var ka=!1,O=e;/^https?:\/\//.test(O)&&!a.editor.isCorsEnabledForUrl(O)&&(O=PROXY_URL+"?url="+encodeURIComponent(O));H.spin(Q);null!=y?y(function(a,b){N=a;W=da=b;ja()},ja):ja();R=P}mxEvent.addListener(I,"keypress",function(b){a.dialog.container.firstChild==A&&13==b.keyCode&&B()});e=document.createElement("div");e.style.marginTop=c?"4px":"16px";e.style.textAlign="right";e.style.position=
+preview:a.getAttribute("preview"),clibs:c}));a=a.nextSibling}H.stop();C()}})};A.appendChild(ca);A.appendChild(Q);var ka=!1,O=e;/^https?:\/\//.test(O)&&!a.editor.isCorsEnabledForUrl(O)&&(O=PROXY_URL+"?url="+encodeURIComponent(O));H.spin(Q);null!=y?y(function(a,b){N=a;X=da=b;ja()},ja):ja();R=P}mxEvent.addListener(I,"keypress",function(b){a.dialog.container.firstChild==A&&13==b.keyCode&&B()});e=document.createElement("div");e.style.marginTop=c?"4px":"16px";e.style.textAlign="right";e.style.position=
 "absolute";e.style.left="40px";e.style.bottom="24px";e.style.right="40px";c||a.isOffline()||!d||null!=b||f||(y=mxUtils.button(mxResources.get("help"),function(){a.openLink("https://support.draw.io/display/DO/Creating+and+Opening+Files")}),y.className="geBtn",e.appendChild(y));y=mxUtils.button(mxResources.get("cancel"),function(){null!=g&&g();a.hideDialog(!0)});y.className="geBtn";!a.editor.cancelFirst||f&&null==g||e.appendChild(y);c||"1"==urlParams.embed||f||(c=mxUtils.button(mxResources.get("fromTemplateUrl"),
 function(){var b=new FilenameDialog(a,"",mxResources.get("create"),function(b){null!=b&&0<b.length&&(b=a.getUrl(window.location.pathname+"?mode="+a.mode+"&title="+encodeURIComponent(I.value)+"&create="+encodeURIComponent(b)),null==a.getCurrentFile()?window.location.href=b:window.openWindow(b))},mxResources.get("url"));a.showDialog(b.container,300,80,!0,!0);b.init()}),c.className="geBtn",e.appendChild(c));Graph.fileSupport&&v&&(v=mxUtils.button(mxResources.get("import"),function(){if(null==a.newDlgFileInputElt){var b=
 document.createElement("input");b.setAttribute("multiple","multiple");b.setAttribute("type","file");mxEvent.addListener(b,"change",function(e){a.openFiles(b.files,!0);b.value=""});b.style.display="none";document.body.appendChild(b);a.newDlgFileInputElt=b}a.newDlgFileInputElt.click()}),v.className="geBtn",e.appendChild(v));e.appendChild(E);a.editor.cancelFirst||null!=b||f&&null==g||e.appendChild(y);A.appendChild(e);this.container=A},CreateDialog=function(a,c,d,b,f,g,k,l,n,q,e,m,p,u,v,t,y){function z(b,
@@ -8364,14 +8369,14 @@ B.setAttribute("title",mxResources.get("zoomIn"));B.style.outline="none";B.style
 a.replaceFileData(z);a.hideDialog()},function(b){a.spinner.stop();a.editor.setStatus("");a.handleError(b,null!=b?mxResources.get("errorSavingFile"):null)})})});F.className="geBtn";F.setAttribute("disabled","disabled");var I=document.createElement("select");I.setAttribute("disabled","disabled");I.style.maxWidth="80px";I.style.position="relative";I.style.top="-2px";I.style.verticalAlign="bottom";I.style.marginRight="6px";I.style.display="none";var J=null;mxEvent.addListener(I,"change",function(a){null!=
 J&&(J(a),mxEvent.consume(a))});var H=mxUtils.button(mxResources.get("edit"),function(){null!=y&&(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(mxUtils.getXml(y.documentElement)),a.openLink(a.getUrl(),null,!0))});H.className="geBtn";H.setAttribute("disabled","disabled");null!=d&&(H.style.display="none");var E=mxUtils.button(mxResources.get("show"),function(){null!=t&&a.openLink(t.getUrl(I.selectedIndex))});E.className="geBtn gePrimaryBtn";E.setAttribute("disabled",
 "disabled");null!=d&&(E.style.display="none",F.className="geBtn gePrimaryBtn");f=document.createElement("div");f.style.position="absolute";f.style.top="482px";f.style.width="640px";f.style.textAlign="right";var K=document.createElement("div");K.className="geToolbarContainer";K.style.backgroundColor="transparent";K.style.padding="2px";K.style.border="none";K.style.left="199px";K.style.top="442px";var M=null;if(null!=c&&0<c.length){k.style.cursor="move";var R=document.createElement("table");R.style.border=
-"1px solid lightGray";R.style.borderCollapse="collapse";R.style.borderSpacing="0px";R.style.width="100%";var W=document.createElement("tbody"),T=(new Date).toDateString();null!=a.currentPage&&null!=a.pages&&(n=mxUtils.indexOf(a.pages,a.currentPage));for(var L=c.length-1;0<=L;L--){var V=function(b){var d=new Date(b.modifiedDate),m=null;if(0<=d.getTime()){var f=function(c){p.stop();var f=mxUtils.parseXml(c),g=a.editor.extractGraphModel(f.documentElement,!0);if(null!=g){var t=function(a){null!=a&&(a=
+"1px solid lightGray";R.style.borderCollapse="collapse";R.style.borderSpacing="0px";R.style.width="100%";var X=document.createElement("tbody"),T=(new Date).toDateString();null!=a.currentPage&&null!=a.pages&&(n=mxUtils.indexOf(a.pages,a.currentPage));for(var L=c.length-1;0<=L;L--){var V=function(b){var d=new Date(b.modifiedDate),m=null;if(0<=d.getTime()){var f=function(c){p.stop();var f=mxUtils.parseXml(c),g=a.editor.extractGraphModel(f.documentElement,!0);if(null!=g){var t=function(a){null!=a&&(a=
 v(mxUtils.parseXml(Graph.decompress(mxUtils.getTextContent(a))).documentElement));return a},v=function(a){var b=a.getAttribute("background");if(null==b||""==b||b==mxConstants.NONE)b="#ffffff";k.style.backgroundColor=b;(new mxCodec(a.ownerDocument)).decode(a,l.getModel());l.maxFitScale=1;l.fit(8);l.center();return a};I.style.display="none";I.innerHTML="";y=f;z=c;q=parseSelectFunction=null;e=0;if("mxfile"==g.nodeName){f=g.getElementsByTagName("diagram");q=[];for(c=0;c<f.length;c++)q.push(f[c]);e=Math.min(n,
 q.length-1);0<q.length&&t(q[e]);if(1<q.length)for(I.removeAttribute("disabled"),I.style.display="",c=0;c<q.length;c++)f=document.createElement("option"),mxUtils.write(f,q[c].getAttribute("name")||mxResources.get("pageWithNumber",[c+1])),f.setAttribute("value",c),c==e&&f.setAttribute("selected","selected"),I.appendChild(f);J=function(){try{var b=parseInt(I.value);e=n=b;t(q[b])}catch(N){I.value=n,a.handleError(N)}}}else v(g);c=b.lastModifyingUserName;null!=c&&20<c.length&&(c=c.substring(0,20)+"...");
 A.innerHTML="";mxUtils.write(A,(null!=c?c+" ":"")+d.toLocaleDateString()+" "+d.toLocaleTimeString());A.setAttribute("title",m.getAttribute("title"));B.removeAttribute("disabled");G.removeAttribute("disabled");x.removeAttribute("disabled");C.removeAttribute("disabled");null!=u&&u.isRestricted()||(a.editor.graph.isEnabled()&&F.removeAttribute("disabled"),D.removeAttribute("disabled"),E.removeAttribute("disabled"),H.removeAttribute("disabled"));mxUtils.setOpacity(B,60);mxUtils.setOpacity(G,60);mxUtils.setOpacity(x,
 60);mxUtils.setOpacity(C,60)}else I.style.display="none",I.innerHTML="",A.innerHTML="",mxUtils.write(A,mxResources.get("errorLoadingFile"))},m=document.createElement("tr");m.style.borderBottom="1px solid lightGray";m.style.fontSize="12px";m.style.cursor="pointer";var g=document.createElement("td");g.style.padding="6px";g.style.whiteSpace="nowrap";b==c[c.length-1]?mxUtils.write(g,mxResources.get("current")):d.toDateString()===T?mxUtils.write(g,d.toLocaleTimeString()):mxUtils.write(g,d.toLocaleDateString()+
 " "+d.toLocaleTimeString());m.appendChild(g);m.setAttribute("title",d.toLocaleDateString()+" "+d.toLocaleTimeString()+(null!=b.fileSize?" "+a.formatFileSize(parseInt(b.fileSize)):"")+(null!=b.lastModifyingUserName?" "+b.lastModifyingUserName:""));mxEvent.addListener(m,"click",function(a){t!=b&&(p.stop(),null!=v&&(v.style.backgroundColor=""),t=b,v=m,v.style.backgroundColor="#ebf2f9",z=y=null,A.removeAttribute("title"),A.innerHTML=mxUtils.htmlEntities(mxResources.get("loading")+"..."),k.style.backgroundColor=
 "#ffffff",l.getModel().clear(),F.setAttribute("disabled","disabled"),D.setAttribute("disabled","disabled"),B.setAttribute("disabled","disabled"),G.setAttribute("disabled","disabled"),C.setAttribute("disabled","disabled"),x.setAttribute("disabled","disabled"),H.setAttribute("disabled","disabled"),E.setAttribute("disabled","disabled"),I.setAttribute("disabled","disabled"),mxUtils.setOpacity(B,20),mxUtils.setOpacity(G,20),mxUtils.setOpacity(x,20),mxUtils.setOpacity(C,20),p.spin(k),b.getXml(function(a){if(t==
-b)try{f(a)}catch(ca){A.innerHTML=mxUtils.htmlEntities(mxResources.get("error")+": "+ca.message)}},function(a){p.stop();I.style.display="none";I.innerHTML="";A.innerHTML="";mxUtils.write(A,mxResources.get("errorLoadingFile"))}),mxEvent.consume(a))});mxEvent.addListener(m,"dblclick",function(a){E.click();window.getSelection?window.getSelection().removeAllRanges():document.selection&&document.selection.empty();mxEvent.consume(a)},!1);W.appendChild(m)}return m}(c[L]);null!=V&&L==c.length-1&&(M=V)}R.appendChild(W);
+b)try{f(a)}catch(ca){A.innerHTML=mxUtils.htmlEntities(mxResources.get("error")+": "+ca.message)}},function(a){p.stop();I.style.display="none";I.innerHTML="";A.innerHTML="";mxUtils.write(A,mxResources.get("errorLoadingFile"))}),mxEvent.consume(a))});mxEvent.addListener(m,"dblclick",function(a){E.click();window.getSelection?window.getSelection().removeAllRanges():document.selection&&document.selection.empty();mxEvent.consume(a)},!1);X.appendChild(m)}return m}(c[L]);null!=V&&L==c.length-1&&(M=V)}R.appendChild(X);
 g.appendChild(R)}else null==u||null==a.drive&&u.constructor==window.DriveFile||null==a.dropbox&&u.constructor==window.DropboxFile?(k.style.display="none",K.style.display="none",mxUtils.write(g,mxResources.get("notAvailable"))):(k.style.display="none",K.style.display="none",mxUtils.write(g,mxResources.get("noRevisions")));this.init=function(){null!=M&&M.click()};g=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});g.className="geBtn";K.appendChild(I);K.appendChild(B);K.appendChild(G);
 K.appendChild(C);K.appendChild(x);a.editor.cancelFirst?(f.appendChild(g),f.appendChild(D),f.appendChild(H),f.appendChild(F),f.appendChild(E)):(f.appendChild(D),f.appendChild(H),f.appendChild(F),f.appendChild(E),f.appendChild(g));b.appendChild(f);b.appendChild(K);b.appendChild(A);this.container=b},DraftDialog=function(a,c,d,b,f,g,k,l){var n=document.createElement("div"),q=document.createElement("div");q.style.marginTop="0px";q.style.whiteSpace="nowrap";q.style.overflow="auto";mxUtils.write(q,c);n.appendChild(q);
 var e=document.createElement("div");e.style.position="absolute";e.style.border="1px solid lightGray";e.style.marginTop="10px";e.style.width="640px";e.style.top="46px";e.style.bottom="74px";e.style.overflow="hidden";mxEvent.disableContextMenu(e);n.appendChild(e);var m=new Graph(e);m.setEnabled(!1);m.setPanning(!0);m.panningHandler.ignoreCell=!0;m.panningHandler.useLeftButtonForPanning=!0;m.minFitScale=null;m.maxFitScale=null;m.centerZoom=!0;c=mxUtils.parseXml(d);var p=a.editor.extractGraphModel(c.documentElement,
@@ -8441,8 +8446,8 @@ mxUtils.setPrefixedStyle(q.style,"transition","transform .1s ease-in-out");if(nu
 mxClient.IS_QUIRKS||mxClient.IS_FF||!(null==document.documentMode||9<document.documentMode)){var c=new FilenameDialog(a,E.title||"",mxResources.get("ok"),function(a){null!=a&&(E.title=a,D())},mxResources.get("enterValue"));a.showDialog(c.container,300,80,!0,!0);c.init();mxEvent.consume(b)}else if("true"!=H.getAttribute("contentEditable")){null!=B&&(B(),B=null);if(null==E.title||0==E.title.length)H.innerHTML="";H.style.textOverflow="";H.style.whiteSpace="";H.style.cursor="text";H.style.color="";H.setAttribute("contentEditable",
 "true");mxUtils.setPrefixedStyle(H.style,"user-select","text");H.focus();document.execCommand("selectAll",!1,null);B=function(){H.removeAttribute("contentEditable");H.style.cursor="pointer";E.title=H.innerHTML;D()};mxEvent.consume(b)}};mxEvent.addListener(H,"click",I);mxEvent.addListener(q,"dblclick",I);u.appendChild(q);mxEvent.addListener(q,"dragstart",function(a){null==b&&null!=g&&(K.style.visibility="hidden",H.style.visibility="hidden");mxClient.IS_FF&&null!=g.xml&&a.dataTransfer.setData("Text",
 g.xml);y=k(a);mxClient.IS_GC&&(q.style.opacity="0.9");window.setTimeout(function(){mxUtils.setPrefixedStyle(q.style,"transform","scale(0.5,0.5)");mxUtils.setOpacity(q,30);K.style.visibility="";H.style.visibility=""},0)});mxEvent.addListener(q,"dragend",function(a){"hidden"==K.style.visibility&&(K.style.visibility="",H.style.visibility="");y=null;mxUtils.setOpacity(q,100);mxUtils.setPrefixedStyle(q.style,"transform",null)})}else x||(x=!0,a.handleError({message:mxResources.get("fileExists")}));else{p=
-!1;try{if(C=mxUtils.parseXml(b),"mxlibrary"==C.documentElement.nodeName){z=JSON.parse(mxUtils.getTextContent(C.documentElement));if(null!=z&&0<z.length)for(var M=0;M<z.length;M++)null!=z[M].xml?l(null,null,0,0,0,0,z[M]):l(z[M].data,null,0,0,z[M].w,z[M].h,null,"fixed",z[M].title);p=!0}else if("mxfile"==C.documentElement.nodeName){for(var R=C.documentElement.getElementsByTagName("diagram"),M=0;M<R.length;M++){var z=mxUtils.getTextContent(R[M]),I=a.stringToCells(Graph.decompress(z)),Y=a.editor.graph.getBoundingBoxFromGeometry(I);
-l(null,null,0,0,0,0,{xml:z,w:Y.width,h:Y.height})}p=!0}}catch(ea){}p||(a.spinner.stop(),a.handleError({message:mxResources.get("errorLoadingFile")}))}}catch(ea){}return null}function n(a){a.dataTransfer.dropEffect=null!=y?"move":"copy";a.stopPropagation();a.preventDefault()}function q(b){b.stopPropagation();b.preventDefault();x=!1;z=k(b);if(null!=y)null!=z&&z<u.children.length?(e.splice(z>y?z-1:z,0,e.splice(y,1)[0]),u.insertBefore(u.children[y],u.children[z])):(e.push(e.splice(y,1)[0]),u.appendChild(u.children[y]));
+!1;try{if(C=mxUtils.parseXml(b),"mxlibrary"==C.documentElement.nodeName){z=JSON.parse(mxUtils.getTextContent(C.documentElement));if(null!=z&&0<z.length)for(var M=0;M<z.length;M++)null!=z[M].xml?l(null,null,0,0,0,0,z[M]):l(z[M].data,null,0,0,z[M].w,z[M].h,null,"fixed",z[M].title);p=!0}else if("mxfile"==C.documentElement.nodeName){for(var R=C.documentElement.getElementsByTagName("diagram"),M=0;M<R.length;M++){var z=mxUtils.getTextContent(R[M]),I=a.stringToCells(Graph.decompress(z)),Z=a.editor.graph.getBoundingBoxFromGeometry(I);
+l(null,null,0,0,0,0,{xml:z,w:Z.width,h:Z.height})}p=!0}}catch(ea){}p||(a.spinner.stop(),a.handleError({message:mxResources.get("errorLoadingFile")}))}}catch(ea){}return null}function n(a){a.dataTransfer.dropEffect=null!=y?"move":"copy";a.stopPropagation();a.preventDefault()}function q(b){b.stopPropagation();b.preventDefault();x=!1;z=k(b);if(null!=y)null!=z&&z<u.children.length?(e.splice(z>y?z-1:z,0,e.splice(y,1)[0]),u.insertBefore(u.children[y],u.children[z])):(e.push(e.splice(y,1)[0]),u.appendChild(u.children[y]));
 else if(0<b.dataTransfer.files.length)a.importFiles(b.dataTransfer.files,0,0,a.maxImageSize,C(b));else if(0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")){var c=decodeURIComponent(b.dataTransfer.getData("text/uri-list"));(/(\.jpg)($|\?)/i.test(c)||/(\.png)($|\?)/i.test(c)||/(\.gif)($|\?)/i.test(c)||/(\.svg)($|\?)/i.test(c))&&a.loadImage(c,function(a){l(c,null,0,0,a.width,a.height);u.scrollTop=u.scrollHeight})}b.stopPropagation();b.preventDefault()}var e=[];d=document.createElement("div");
 d.style.height="100%";var m=document.createElement("div");m.style.whiteSpace="nowrap";m.style.height="40px";d.appendChild(m);mxUtils.write(m,mxResources.get("filename")+":");null==c&&(c=a.defaultLibraryName+".xml");var p=document.createElement("input");p.setAttribute("value",c);p.style.marginRight="20px";p.style.marginLeft="10px";p.style.width="500px";null==f||f.isRenamable()||p.setAttribute("disabled","true");this.init=function(){if(null==f||f.isRenamable())p.focus(),mxClient.IS_GC||mxClient.IS_FF||
 5<=document.documentMode||mxClient.IS_QUIRKS?p.select():document.execCommand("selectAll",!1,null)};m.appendChild(p);var u=document.createElement("div");u.style.borderWidth="1px 0px 1px 0px";u.style.borderColor="#d3d3d3";u.style.borderStyle="solid";u.style.marginTop="6px";u.style.overflow="auto";u.style.height="340px";u.style.backgroundPosition="center center";u.style.backgroundRepeat="no-repeat";0==e.length&&Graph.fileSupport&&(u.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')");var v=
@@ -8466,8 +8471,8 @@ mxResources.get("myDiagrams",null,"My diagrams")+'</span></div><div class="geTem
 mxResources.get("linkToDiagramHint",null,"Add a link to this diagram. The diagram can only be edited from the page that owns it.")+'</span><button class="geTempDlgLinkToDiagram geTempDlgLinkToDiagramBtn">'+mxResources.get("linkToDiagram",null,"Link to Diagram")+'</button><div class="geTempDlgCreateBtn">'+mxResources.get("create",null,"Create")+'</div><div class="geTempDlgCancelBtn">'+mxResources.get("cancel",null,"Cancel")+"</div></div>",c=document.createElement("div");c.innerHTML=a;c.className="geTemplateDlg";
 var a=window.innerWidth,d=window.innerHeight,b=987,f=712;.9*a<b&&(b=Math.max(.9*a,600),c.style.width=b+"px");.9*d<f&&(f=Math.max(.9*d,300),c.style.height=f+"px");this.width=b;this.height=f;this.container=c};
 TemplatesDialog.prototype.init=function(a,c,d,b,f,g,k,l,n,q){function e(){null!=F&&(F.style.fontWeight="normal",F.style.textDecoration="none",F=null)}function m(a,b,c,e,d,m,p){if(-1<a.className.indexOf("geTempDlgRadioBtnActive"))return!1;a.className+=" geTempDlgRadioBtnActive";C.querySelector(".geTempDlgRadioBtn[data-id="+e+"]").className="geTempDlgRadioBtn "+(p?"geTempDlgRadioBtnLarge":"geTempDlgRadioBtnSmall");C.querySelector("."+b).src="/images/"+c+"-sel.svg";C.querySelector("."+d).src="/images/"+
-m+".svg";return!0}function p(a){function b(a){Z.removeChild(e);C.removeChild(c);Z.scrollTop=m}a=a.prevImgUrl||a.imgUrl||TEMPLATE_PATH+"/"+a.url.substring(0,a.url.length-4)+".png";var c=document.createElement("div");c.className="geTempDlgDialogMask";C.appendChild(c);var e=document.createElement("div");e.className="geTempDlgDiagramPreviewBox";var d=document.createElement("img");d.src=a;e.appendChild(d);a=document.createElement("img");a.src="/images/close.png";a.className="geTempDlgPreviewCloseBtn";
-a.setAttribute("title",mxResources.get("close"));e.appendChild(a);var m=Z.scrollTop;mxEvent.addListener(a,"click",b);mxEvent.addListener(c,"click",b);Z.appendChild(e);Z.scrollTop=0;e.style.lineHeight=e.clientHeight+"px"}function u(a,b,c){if(null!=I){for(var e=I.className.split(" "),d=0;d<e.length;d++)if(-1<e[d].indexOf("Active")){e.splice(d,1);break}I.className=e.join(" ")}null!=a?(I=a,I.className+=" "+b,J=c,U.className="geTempDlgCreateBtn"):(J=I=null,U.className="geTempDlgCreateBtn geTempDlgCreateBtnDisabled")}
+m+".svg";return!0}function p(a){function b(a){W.removeChild(e);C.removeChild(c);W.scrollTop=m}a=a.prevImgUrl||a.imgUrl||TEMPLATE_PATH+"/"+a.url.substring(0,a.url.length-4)+".png";var c=document.createElement("div");c.className="geTempDlgDialogMask";C.appendChild(c);var e=document.createElement("div");e.className="geTempDlgDiagramPreviewBox";var d=document.createElement("img");d.src=a;e.appendChild(d);a=document.createElement("img");a.src="/images/close.png";a.className="geTempDlgPreviewCloseBtn";
+a.setAttribute("title",mxResources.get("close"));e.appendChild(a);var m=W.scrollTop;mxEvent.addListener(a,"click",b);mxEvent.addListener(c,"click",b);W.appendChild(e);W.scrollTop=0;e.style.lineHeight=e.clientHeight+"px"}function u(a,b,c){if(null!=I){for(var e=I.className.split(" "),d=0;d<e.length;d++)if(-1<e[d].indexOf("Active")){e.splice(d,1);break}I.className=e.join(" ")}null!=a?(I=a,I.className+=" "+b,J=c,U.className="geTempDlgCreateBtn"):(J=I=null,U.className="geTempDlgCreateBtn geTempDlgCreateBtnDisabled")}
 function v(b){if(null!=J){var e=J;J=null;U.className="geTempDlgCreateBtn geTempDlgCreateBtnDisabled geTempDlgCreateBtnBusy";e.isExternal?(1==b?q(e.url,e,"nameInput.value"):n(e.url,e,"nameInput.value"),a.hideDialog(!0)):mxUtils.get(TEMPLATE_PATH+"/"+e.url,mxUtils.bind(this,function(b){200<=b.getStatus()&&299>=b.getStatus()&&(c(b.getText(),"nameInput.value"),a.hideDialog(!0))}))}}function t(a){a=a?"":"none";for(var b=C.querySelectorAll(".geTempDlgLinkToDiagram"),c=0;c<b.length;c++)b[c].style.display=
 a}function y(a,b,c){function e(){U.innerHTML=b?mxUtils.htmlEntities(mxResources.get("create")):mxUtils.htmlEntities(mxResources.get("copy"));t(!b)}T.innerHTML="";u();M=a;var d=null;if(c){d=document.createElement("table");d.className="geTempDlgDiagramsListGrid";var m=document.createElement("tr"),f=document.createElement("th");f.style.width="50%";f.innerHTML=mxUtils.htmlEntities(mxResources.get("diagram",null,"Diagram"));m.appendChild(f);f=document.createElement("th");f.style.width="25%";f.innerHTML=
 mxUtils.htmlEntities(mxResources.get("changedBy",null,"Changed By"));m.appendChild(f);f=document.createElement("th");f.style.width="25%";f.innerHTML=mxUtils.htmlEntities(mxResources.get("lastModifiedOn",null,"Last modified on"));m.appendChild(f);d.appendChild(m);T.appendChild(d)}for(m=0;m<a.length;m++){a[m].isExternal=!b;var g=a[m].url,f=mxUtils.htmlEntities(a[m].title),A=a[m].tooltip||a[m].title,k=a[m].imgUrl,x=mxUtils.htmlEntities(a[m].changedBy||""),l=mxUtils.htmlEntities(a[m].lastModifiedOn||
@@ -8476,15 +8481,15 @@ k.innerHTML=x;D.appendChild(k);k=document.createElement("td");k.innerHTML=l;D.ap
 a[m]));x=document.createElement("div");x.className="geTempDlgDiagramTileImg geTempDlgDiagramTileImgLoading";var z=document.createElement("img");z.style.display="none";(function(a,b){z.onload=function(){b.className="geTempDlgDiagramTileImg";a.style.display=""};z.onerror=function(){b.className="geTempDlgDiagramTileImg geTempDlgDiagramTileImgError"}})(z,x);z.src=k;x.appendChild(z);C.appendChild(x);x=document.createElement("div");x.className="geTempDlgDiagramTileLbl";x.innerHTML=null!=f?f:"";C.appendChild(x);
 n=document.createElement("img");n.src="/images/icon-search.svg";n.className="geTempDlgDiagramPreviewBtn";n.setAttribute("title",mxResources.get("preview"));C.appendChild(n);(function(a,b){mxEvent.addListener(C,"click",function(){I!=b&&(e(),u(b,"geTempDlgDiagramTileActive",a))});mxEvent.addListener(C,"dblclick",v);mxEvent.addListener(n,"click",function(){p(a)})})(a[m],C);T.appendChild(C)}}}function z(a,b){aa.innerHTML="";u();for(var c=!b&&5<a.length?5:a.length,e=0;e<c;e++){var d=a[e];d.isCategory=
 !0;var m=document.createElement("div"),p=mxResources.get(d.title);null==p&&(p=d.title.substring(0,1).toUpperCase()+d.title.substring(1));m.className="geTempDlgNewDiagramCatItem";m.setAttribute("title",p);p=mxUtils.htmlEntities(p);15<p.length&&(p=p.substring(0,15)+"&hellip;");null==I&&(U.innerHTML=mxUtils.htmlEntities(mxResources.get("create")),t(),u(m,"geTempDlgNewDiagramCatItemActive",d));var f=document.createElement("div");f.className="geTempDlgNewDiagramCatItemImg";var g=document.createElement("img");
-g.src=NEW_DIAGRAM_CATS_PATH+"/"+d.img;f.appendChild(g);m.appendChild(f);f=document.createElement("div");f.className="geTempDlgNewDiagramCatItemLbl";f.innerHTML=p;m.appendChild(f);aa.appendChild(m);(function(a,b){mxEvent.addListener(m,"click",function(){I!=b&&(U.innerHTML=mxUtils.htmlEntities(mxResources.get("create")),t(),u(b,"geTempDlgNewDiagramCatItemActive",a))});mxEvent.addListener(m,"dblclick",v)})(d,m)}W.style.display=5>a.length?"none":""}function B(a){var b=C.querySelector(".geTemplatesList"),
+g.src=NEW_DIAGRAM_CATS_PATH+"/"+d.img;f.appendChild(g);m.appendChild(f);f=document.createElement("div");f.className="geTempDlgNewDiagramCatItemLbl";f.innerHTML=p;m.appendChild(f);aa.appendChild(m);(function(a,b){mxEvent.addListener(m,"click",function(){I!=b&&(U.innerHTML=mxUtils.htmlEntities(mxResources.get("create")),t(),u(b,"geTempDlgNewDiagramCatItemActive",a))});mxEvent.addListener(m,"dblclick",v)})(d,m)}X.style.display=5>a.length?"none":""}function B(a){var b=C.querySelector(".geTemplatesList"),
 c;for(c in a){var e=document.createElement("div"),d=mxResources.get(c),m=a[c];null==d&&(d=c.substring(0,1).toUpperCase()+c.substring(1));e.className="geTemplateCatLink";e.setAttribute("title",d+" ("+m.length+")");d=mxUtils.htmlEntities(d);15<d.length&&(d=d.substring(0,15)+"&hellip;");e.innerHTML=d+" ("+m.length+")";b.appendChild(e);(function(b,c,d){mxEvent.addListener(e,"click",function(){F!=d&&(null!=F?(F.style.fontWeight="normal",F.style.textDecoration="none"):(fa.style.display="none",ga.style.minHeight=
-"100%"),F=d,F.style.fontWeight="bold",F.style.textDecoration="underline",Z.scrollTop=0,A&&(D=!0),L.innerHTML=c,V.style.display="none",y(a[b],!0))})})(c,d,e)}}function G(a){k&&(Z.scrollTop=0,T.innerHTML="",ba.spin(T),D=!1,A=!0,L.innerHTML=mxUtils.htmlEntities(mxResources.get("recentDiag",null,"Recent Diagrams")),R=null,k(N,a?null:g))}function x(a){e();Z.scrollTop=0;T.innerHTML="";ba.spin(T);D=!1;A=!0;da=null;L.innerHTML=mxUtils.htmlEntities(mxResources.get("searchResults",null,"Search Results"))+' "'+
-mxUtils.htmlEntities(a)+'"';l(a,N,E?null:g);R=a}b=null!=b?b:TEMPLATE_PATH+"/index.xml";f=null!=f?f:NEW_DIAGRAM_CATS_PATH+"/index.xml";var C=this.container,A=!1,D=!1,F=null,I=null,J=null,H=!1,E=!0,K=!1,M=[],R,W=C.querySelector(".geTempDlgShowAllBtn"),T=C.querySelector(".geTempDlgDiagramsTiles"),L=C.querySelector(".geTempDlgDiagramsListTitle"),V=C.querySelector(".geTempDlgDiagramsListBtns"),Z=C.querySelector(".geTempDlgContent"),ga=C.querySelector(".geTempDlgDiagramsList"),fa=C.querySelector(".geTempDlgNewDiagramCat"),
+"100%"),F=d,F.style.fontWeight="bold",F.style.textDecoration="underline",W.scrollTop=0,A&&(D=!0),L.innerHTML=c,V.style.display="none",y(a[b],!0))})})(c,d,e)}}function G(a){k&&(W.scrollTop=0,T.innerHTML="",ba.spin(T),D=!1,A=!0,L.innerHTML=mxUtils.htmlEntities(mxResources.get("recentDiag",null,"Recent Diagrams")),R=null,k(N,a?null:g))}function x(a){e();W.scrollTop=0;T.innerHTML="";ba.spin(T);D=!1;A=!0;da=null;L.innerHTML=mxUtils.htmlEntities(mxResources.get("searchResults",null,"Search Results"))+' "'+
+mxUtils.htmlEntities(a)+'"';l(a,N,E?null:g);R=a}b=null!=b?b:TEMPLATE_PATH+"/index.xml";f=null!=f?f:NEW_DIAGRAM_CATS_PATH+"/index.xml";var C=this.container,A=!1,D=!1,F=null,I=null,J=null,H=!1,E=!0,K=!1,M=[],R,X=C.querySelector(".geTempDlgShowAllBtn"),T=C.querySelector(".geTempDlgDiagramsTiles"),L=C.querySelector(".geTempDlgDiagramsListTitle"),V=C.querySelector(".geTempDlgDiagramsListBtns"),W=C.querySelector(".geTempDlgContent"),ga=C.querySelector(".geTempDlgDiagramsList"),fa=C.querySelector(".geTempDlgNewDiagramCat"),
 aa=C.querySelector(".geTempDlgNewDiagramCatList"),U=C.querySelector(".geTempDlgCreateBtn"),ba=new Spinner({lines:12,length:10,width:5,radius:10,rotate:0,color:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"50px",zIndex:2E9});mxEvent.addListener(C.querySelector(".geTempDlgNewDiagramlbl"),"click",function(){e();fa.style.display="";ga.style.minHeight="calc(100% - 280px)";G(E)});mxEvent.addListener(C.querySelector(".geTempDlgRadioBtn[data-id=allDiagramsBtn]"),"click",function(){m(this,"geTempDlgAllDiagramsBtnImg",
 "all-diagrams","myDiagramsBtn","geTempDlgMyDiagramsBtnImg","my-diagrams",!0)&&(E=!0,null==R?G(E):x(R))});mxEvent.addListener(C.querySelector(".geTempDlgRadioBtn[data-id=myDiagramsBtn]"),"click",function(){m(this,"geTempDlgMyDiagramsBtnImg","my-diagrams","allDiagramsBtn","geTempDlgAllDiagramsBtnImg","all-diagrams",!0)&&(E=!1,null==R?G(E):x(R))});mxEvent.addListener(C.querySelector(".geTempDlgRadioBtn[data-id=listBtn]"),"click",function(){m(this,"geTempDlgListBtnImg","list","tilesBtn","geTempDlgTilesBtnImg",
-"tiles",!1)&&(K=!0,y(M,!1,K))});mxEvent.addListener(C.querySelector(".geTempDlgRadioBtn[data-id=tilesBtn]"),"click",function(){m(this,"geTempDlgTilesBtnImg","tiles","listBtn","geTempDlgListBtnImg","list",!1)&&(K=!1,y(M,!1,K))});mxEvent.addListener(W,"click",function(){H?(fa.style.height="280px",aa.style.height="190px",W.innerHTML=mxUtils.htmlEntities(mxResources.get("showAll",null,"+ Show all")),z(ea)):(fa.style.height="440px",aa.style.height="355px",W.innerHTML=mxUtils.htmlEntities(mxResources.get("showLess",
-null,"- Show less")),z(ea,!0));H=!H});var Q=!1,ca=!1,Y={},ea=[],P=1;mxUtils.get(b,function(a){if(!Q){Q=!0;for(a=a.getXml().documentElement.firstChild;null!=a;){if("undefined"!==typeof a.getAttribute){var b=a.getAttribute("url");if(null!=b){var c=b.indexOf("/"),b=b.substring(0,c),c=Y[b];null==c&&(P++,c=[],Y[b]=c);c.push({url:a.getAttribute("url"),libs:a.getAttribute("libs"),clibs:a.getAttribute("clibs"),title:a.getAttribute("title"),tooltip:a.getAttribute("url"),imgUrl:a.getAttribute("imgUrl")})}}a=
-a.nextSibling}B(Y)}});mxUtils.get(f,function(a){if(!ca){ca=!0;for(a=a.getXml().documentElement.firstChild;null!=a;)"undefined"!==typeof a.getAttribute&&null!=a.getAttribute("title")&&ea.push({img:a.getAttribute("img"),libs:a.getAttribute("libs"),clibs:a.getAttribute("clibs"),title:a.getAttribute("title")}),a=a.nextSibling;z(ea)}});var N=function(a,b){V.style.display="";ba.stop();A=!1;D?D=!1:b?T.innerHTML=b:0==a.length?T.innerHTML=mxUtils.htmlEntities(mxResources.get("noDiagrams",null,"No Diagrams Found")):
+"tiles",!1)&&(K=!0,y(M,!1,K))});mxEvent.addListener(C.querySelector(".geTempDlgRadioBtn[data-id=tilesBtn]"),"click",function(){m(this,"geTempDlgTilesBtnImg","tiles","listBtn","geTempDlgListBtnImg","list",!1)&&(K=!1,y(M,!1,K))});mxEvent.addListener(X,"click",function(){H?(fa.style.height="280px",aa.style.height="190px",X.innerHTML=mxUtils.htmlEntities(mxResources.get("showAll",null,"+ Show all")),z(ea)):(fa.style.height="440px",aa.style.height="355px",X.innerHTML=mxUtils.htmlEntities(mxResources.get("showLess",
+null,"- Show less")),z(ea,!0));H=!H});var Q=!1,ca=!1,Z={},ea=[],P=1;mxUtils.get(b,function(a){if(!Q){Q=!0;for(a=a.getXml().documentElement.firstChild;null!=a;){if("undefined"!==typeof a.getAttribute){var b=a.getAttribute("url");if(null!=b){var c=b.indexOf("/"),b=b.substring(0,c),c=Z[b];null==c&&(P++,c=[],Z[b]=c);c.push({url:a.getAttribute("url"),libs:a.getAttribute("libs"),clibs:a.getAttribute("clibs"),title:a.getAttribute("title"),tooltip:a.getAttribute("url"),imgUrl:a.getAttribute("imgUrl")})}}a=
+a.nextSibling}B(Z)}});mxUtils.get(f,function(a){if(!ca){ca=!0;for(a=a.getXml().documentElement.firstChild;null!=a;)"undefined"!==typeof a.getAttribute&&null!=a.getAttribute("title")&&ea.push({img:a.getAttribute("img"),libs:a.getAttribute("libs"),clibs:a.getAttribute("clibs"),title:a.getAttribute("title")}),a=a.nextSibling;z(ea)}});var N=function(a,b){V.style.display="";ba.stop();A=!1;D?D=!1:b?T.innerHTML=b:0==a.length?T.innerHTML=mxUtils.htmlEntities(mxResources.get("noDiagrams",null,"No Diagrams Found")):
 y(a,!1,K)};G(E);var da=null;l&&mxEvent.addListener(C.querySelector(".geTempDlgSearchBox"),"keyup",function(a){var b=this;null!=da&&clearTimeout(da);13==a.keyCode?x(b.value):da=setTimeout(function(){x(b.value)},500)});mxEvent.addListener(U,"click",v);mxEvent.addListener(C.querySelector(".geTempDlgLinkToDiagramBtn"),"click",function(a){v(!0)});mxEvent.addListener(C.querySelector(".geTempDlgCancelBtn"),"click",function(){null!=d&&d();a.hideDialog(!0)})};
 var BtnDialog=function(a,c,d,b){var f=document.createElement("div");f.style.textAlign="center";var g=document.createElement("p");g.style.fontSize="16pt";g.style.padding="0px";g.style.margin="0px";g.style.color="gray";mxUtils.write(g,mxResources.get("done"));var k="Unknown",l=document.createElement("img");l.setAttribute("border","0");l.setAttribute("align","absmiddle");l.style.marginRight="10px";c==a.drive?(k=mxResources.get("googleDrive"),l.src=IMAGE_PATH+"/google-drive-logo-white.svg"):c==a.dropbox?
 (k=mxResources.get("dropbox"),l.src=IMAGE_PATH+"/dropbox-logo-white.svg"):c==a.oneDrive?(k=mxResources.get("oneDrive"),l.src=IMAGE_PATH+"/onedrive-logo-white.svg"):c==a.gitHub?(k=mxResources.get("github"),l.src=IMAGE_PATH+"/github-logo-white.svg"):c==a.gitLab?(k=mxResources.get("gitlab"),l.src=IMAGE_PATH+"/gitlab-logo.svg"):c==a.trello&&(k=mxResources.get("trello"),l.src=IMAGE_PATH+"/trello-logo-white.svg");a=document.createElement("p");mxUtils.write(a,mxResources.get("authorizedIn",[k],"You are now authorized in {1}"));
@@ -8573,7 +8578,7 @@ if("svg"==g||/(\.svg)($|\?)/i.test(a))b="image/svg+xml";else if("otf"==g||"embed
 function(a,b){b=null!=b?b:this.fontCss;if(null!=b){var c=a.getElementsByTagName("defs"),e=a.ownerDocument;0==c.length?(c=null!=e.createElementNS?e.createElementNS(mxConstants.NS_SVG,"defs"):e.createElement("defs"),null!=a.firstChild?a.insertBefore(c,a.firstChild):a.appendChild(c)):c=c[0];e=null!=e.createElementNS?e.createElementNS(mxConstants.NS_SVG,"style"):e.createElement("style");e.setAttribute("type","text/css");mxUtils.setTextContent(e,b);c.appendChild(e)}};Editor.prototype.isExportToCanvas=
 function(){return mxClient.IS_CHROMEAPP||this.useCanvasForExport&&(!this.graph.mathEnabled||!mxClient.IS_SF&&!((mxClient.IS_GC||mxClient.IS_EDGE)&&!mxClient.IS_MAC))};Editor.prototype.exportToCanvas=function(a,b,c,e,d,m,p,f,g,k,t,x,u,l){m=null!=m?m:!0;x=null!=x?x:this.graph;u=null!=u?u:0;var A=g?null:x.background;A==mxConstants.NONE&&(A=null);null==A&&(A=e);null==A&&0==g&&(A=this.graph.defaultPageBackgroundColor);this.convertImages(x.getSvg(A,null,null,l,null,null!=p?p:!0,null,null,null,k),mxUtils.bind(this,
 function(c){var e=new Image;e.onload=mxUtils.bind(this,function(){try{var p=document.createElement("canvas"),g=parseInt(c.getAttribute("width")),k=parseInt(c.getAttribute("height"));f=null!=f?f:1;null!=b&&(f=m?Math.min(1,Math.min(3*b/(4*k),b/g)):b/g);g=Math.ceil(f*g)+2*u;k=Math.ceil(f*k)+2*u;p.setAttribute("width",g);p.setAttribute("height",k);var t=p.getContext("2d");null!=A&&(t.beginPath(),t.rect(0,0,g,k),t.fillStyle=A,t.fill());t.scale(f,f);mxClient.IS_SF?window.setTimeout(function(){t.drawImage(e,
-u/f,u/f);a(p)},0):(t.drawImage(e,u/f,u/f),a(p))}catch(Y){null!=d&&d(Y)}});e.onerror=function(a){null!=d&&d(a)};try{k&&this.graph.addSvgShadow(c);var p=mxUtils.bind(this,function(){if(null!=this.resolvedFontCss){var a=document.createElement("style");a.setAttribute("type","text/css");a.innerHTML=this.resolvedFontCss;c.getElementsByTagName("defs")[0].appendChild(a)}x.mathEnabled&&this.addMathCss(c);e.src=this.createSvgDataUri(mxUtils.getXml(c))});this.loadFonts(p)}catch(U){null!=d&&d(U)}}),c,t)};Editor.prototype.writeGraphModelToPng=
+u/f,u/f);a(p)},0):(t.drawImage(e,u/f,u/f),a(p))}catch(Z){null!=d&&d(Z)}});e.onerror=function(a){null!=d&&d(a)};try{k&&this.graph.addSvgShadow(c);var p=mxUtils.bind(this,function(){if(null!=this.resolvedFontCss){var a=document.createElement("style");a.setAttribute("type","text/css");a.innerHTML=this.resolvedFontCss;c.getElementsByTagName("defs")[0].appendChild(a)}x.mathEnabled&&this.addMathCss(c);e.src=this.createSvgDataUri(mxUtils.getXml(c))});this.loadFonts(p)}catch(U){null!=d&&d(U)}}),c,t)};Editor.prototype.writeGraphModelToPng=
 function(a,b,c,e,d){function m(a,b){var c=g;g+=b;return a.substring(c,g)}function p(a){a=m(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}function f(a){return String.fromCharCode(a>>24&255,a>>16&255,a>>8&255,a&255)}a=a.substring(a.indexOf(",")+1);a=window.atob?atob(a):Base64.decode(a,!0);var g=0;if(m(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=d&&d();else if(m(a,4),"IHDR"!=m(a,4))null!=d&&d();else{m(a,17);d=a.substring(0,
 g);do{var k=p(a);if("IDAT"==m(a,4)){d=a.substring(0,g-8);c=c+String.fromCharCode(0)+("zTXt"==b?String.fromCharCode(0):"")+e;e=4294967295;e=EditorUi.prototype.updateCRC(e,b,0,4);e=EditorUi.prototype.updateCRC(e,c,0,c.length);d+=f(c.length)+b+c+f(e^4294967295);d+=a.substring(g-8,a.length);break}d+=a.substring(g-8,g-4+k);m(a,k);m(a,4)}while(k);return"data:image/png;base64,"+(window.btoa?btoa(d):Base64.encode(d,!0))}};if(window.ColorDialog){FilenameDialog.filenameHelpLink="https://desk.draw.io/support/solutions/articles/16000091426";
 var f=ColorDialog.addRecentColor;ColorDialog.addRecentColor=function(a,b){f.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()};var g=ColorDialog.resetRecentColors;ColorDialog.resetRecentColors=function(){g.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()}}window.EditDataDialog&&(EditDataDialog.getDisplayIdForCell=function(a,b){var c=null;null!=a.editor.graph.getModel().getParent(b)?c=b.getId():null!=a.currentPage&&
@@ -8665,33 +8670,34 @@ mxStencilRegistry.libraries.cisco19=[SHAPES_PATH+"/mxCisco19.js",STENCIL_PATH+"/
 [SHAPES_PATH+"/mxAndroid.js",STENCIL_PATH+"/android/android.xml"];mxStencilRegistry.libraries["electrical/miscellaneous"]=[SHAPES_PATH+"/mxElectrical.js",STENCIL_PATH+"/electrical/miscellaneous.xml"];mxStencilRegistry.libraries["electrical/transmission"]=[SHAPES_PATH+"/mxElectrical.js",STENCIL_PATH+"/electrical/transmission.xml"];mxStencilRegistry.libraries["electrical/logic_gates"]=[SHAPES_PATH+"/mxElectrical.js",STENCIL_PATH+"/electrical/logic_gates.xml"];mxStencilRegistry.libraries["electrical/abstract"]=
 [SHAPES_PATH+"/mxElectrical.js",STENCIL_PATH+"/electrical/abstract.xml"];mxStencilRegistry.libraries.infographic=[SHAPES_PATH+"/mxInfographic.js"];mxStencilRegistry.libraries["mockup/buttons"]=[SHAPES_PATH+"/mockup/mxMockupButtons.js"];mxStencilRegistry.libraries["mockup/containers"]=[SHAPES_PATH+"/mockup/mxMockupContainers.js"];mxStencilRegistry.libraries["mockup/forms"]=[SHAPES_PATH+"/mockup/mxMockupForms.js"];mxStencilRegistry.libraries["mockup/graphics"]=[SHAPES_PATH+"/mockup/mxMockupGraphics.js",
 STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/markup"]=[SHAPES_PATH+"/mockup/mxMockupMarkup.js"];mxStencilRegistry.libraries["mockup/misc"]=[SHAPES_PATH+"/mockup/mxMockupMisc.js",STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/navigation"]=[SHAPES_PATH+"/mockup/mxMockupNavigation.js",STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/text"]=[SHAPES_PATH+"/mockup/mxMockupText.js"];mxStencilRegistry.libraries.floorplan=[SHAPES_PATH+"/mxFloorplan.js",
-STENCIL_PATH+"/floorplan.xml"];mxStencilRegistry.libraries.bootstrap=[SHAPES_PATH+"/mxBootstrap.js",STENCIL_PATH+"/bootstrap.xml"];mxStencilRegistry.libraries.gmdl=[SHAPES_PATH+"/mxGmdl.js",STENCIL_PATH+"/gmdl.xml"];mxStencilRegistry.libraries.gcp2=[SHAPES_PATH+"/mxGCP2.js",STENCIL_PATH+"/gcp2.xml"];mxStencilRegistry.libraries.cabinets=[SHAPES_PATH+"/mxCabinets.js",STENCIL_PATH+"/cabinets.xml"];mxStencilRegistry.libraries.archimate=[SHAPES_PATH+"/mxArchiMate.js"];mxStencilRegistry.libraries.archimate3=
-[SHAPES_PATH+"/mxArchiMate3.js"];mxStencilRegistry.libraries.sysml=[SHAPES_PATH+"/mxSysML.js"];mxStencilRegistry.libraries.eip=[SHAPES_PATH+"/mxEip.js",STENCIL_PATH+"/eip.xml"];mxStencilRegistry.libraries.networks=[SHAPES_PATH+"/mxNetworks.js",STENCIL_PATH+"/networks.xml"];mxStencilRegistry.libraries.aws3d=[SHAPES_PATH+"/mxAWS3D.js",STENCIL_PATH+"/aws3d.xml"];mxStencilRegistry.libraries.aws4=[SHAPES_PATH+"/mxAWS4.js",STENCIL_PATH+"/aws4.xml"];mxStencilRegistry.libraries.aws4b=[SHAPES_PATH+"/mxAWS4.js",
-STENCIL_PATH+"/aws4.xml"];mxStencilRegistry.libraries.veeam=[STENCIL_PATH+"/veeam/2d.xml",STENCIL_PATH+"/veeam/3d.xml",STENCIL_PATH+"/veeam/veeam.xml"];mxStencilRegistry.libraries.veeam2=[STENCIL_PATH+"/veeam/2d.xml",STENCIL_PATH+"/veeam/3d.xml",STENCIL_PATH+"/veeam/veeam2.xml"];mxStencilRegistry.libraries.pid2inst=[SHAPES_PATH+"/pid2/mxPidInstruments.js"];mxStencilRegistry.libraries.pid2misc=[SHAPES_PATH+"/pid2/mxPidMisc.js",STENCIL_PATH+"/pid/misc.xml"];mxStencilRegistry.libraries.pid2valves=[SHAPES_PATH+
-"/pid2/mxPidValves.js"];mxStencilRegistry.libraries.pidFlowSensors=[STENCIL_PATH+"/pid/flow_sensors.xml"];mxMarker.getPackageForType=function(a){var b=null;null!=a&&0<a.length&&("ER"==a.substring(0,2)?b="mxgraph.er":"sysML"==a.substring(0,5)&&(b="mxgraph.sysml"));return b};var B=mxMarker.createMarker;mxMarker.createMarker=function(a,b,c,e,d,m,p,f,g,k){if(null!=c&&null==mxMarker.markers[c]){var t=this.getPackageForType(c);null!=t&&mxStencilRegistry.getStencil(t)}return B.apply(this,arguments)};PrintDialog.prototype.create=
-function(a,b){function c(){l.value=Math.max(1,Math.min(f,Math.max(parseInt(l.value),parseInt(u.value))));u.value=Math.max(1,Math.min(f,Math.min(parseInt(l.value),parseInt(u.value))))}function e(b){function c(b,c,m){var p=b.useCssTransforms,f=b.currentTranslate,g=b.currentScale,k=b.view.translate,t=b.view.scale;b.useCssTransforms&&(b.useCssTransforms=!1,b.currentTranslate=new mxPoint(0,0),b.currentScale=1,b.view.translate=new mxPoint(0,0),b.view.scale=1);var x=b.getGraphBounds(),u=0,v=0,l=ja.get(),
-n=1/b.pageScale,A=z.checked;if(A)var n=parseInt(S.value),y=parseInt(X.value),n=Math.min(l.height*y/(x.height/b.view.scale),l.width*n/(x.width/b.view.scale));else n=parseInt(C.value)/(100*b.pageScale),isNaN(n)&&(e=1/b.pageScale,C.value="100 %");l=mxRectangle.fromRectangle(l);l.width=Math.ceil(l.width*e);l.height=Math.ceil(l.height*e);n*=e;!A&&b.pageVisible?(x=b.getPageLayout(),u-=x.x*l.width,v-=x.y*l.height):A=!0;if(null==c){c=PrintDialog.createPrintPreview(b,n,l,0,u,v,A);c.pageSelector=!1;c.mathEnabled=
-!1;u=a.getCurrentFile();null!=u&&(c.title=u.getTitle());var B=c.writeHead;c.writeHead=function(c){B.apply(this,arguments);null!=a.editor.fontCss&&(c.writeln('<style type="text/css">'),c.writeln(a.editor.fontCss),c.writeln("</style>"));if(null!=b.extFonts)for(var e=0;e<b.extFonts.length;e++){var d=b.extFonts[e].name,m=b.extFonts[e].url;0==m.indexOf(Editor.GOOGLE_FONTS)?c.writeln('<link rel="stylesheet" href="'+m+'" charset="UTF-8" type="text/css">'):(c.writeln('<style type="text/css">'),c.writeln('@font-face {\n\tfont-family: "'+
-d+'";\n\tsrc: url("'+m+'");\n}'),c.writeln("</style>"))}};if("undefined"!==typeof MathJax){var q=c.renderPage;c.renderPage=function(b,c,e,d,m,p){var f=mxClient.NO_FO;mxClient.NO_FO=this.graph.mathEnabled&&!a.editor.useForeignObjectForMath?!0:a.editor.originalNoForeignObject;var g=q.apply(this,arguments);mxClient.NO_FO=f;this.graph.mathEnabled?this.mathEnabled=this.mathEnabled||!0:g.className="geDisableMathJax";return g}}u=null;null!=d.themes&&"darkTheme"==d.defaultThemeName&&(u=d.stylesheet,d.stylesheet=
-d.getDefaultStylesheet(),d.refresh());c.open(null,null,m,!0);null!=u&&(d.stylesheet=u,d.refresh())}else{l=b.background;if(null==l||""==l||l==mxConstants.NONE)l="#ffffff";c.backgroundColor=l;c.autoOrigin=A;c.appendGraph(b,n,u,v,m,!0);if(null!=b.extFonts&&null!=c.wnd)for(m=0;m<b.extFonts.length;m++)u=b.extFonts[m].name,v=b.extFonts[m].url,0==v.indexOf(Editor.GOOGLE_FONTS)?c.wnd.document.writeln('<link rel="stylesheet" href="'+v+'" charset="UTF-8" type="text/css">'):(c.wnd.document.writeln('<style type="text/css">'),
-c.wnd.document.writeln('@font-face {\n\tfont-family: "'+u+'";\n\tsrc: url("'+v+'");\n}'),c.wnd.document.writeln("</style>"))}p&&(b.useCssTransforms=p,b.currentTranslate=f,b.currentScale=g,b.view.translate=k,b.view.scale=t);return c}var e=parseInt(ka.value)/100;isNaN(e)&&(e=1,ka.value="100 %");var e=.75*e,m=u.value,p=l.value,f=!t.checked,k=null;f&&(f=m==g&&p==g);if(!f&&null!=a.pages&&a.pages.length){var x=0,f=a.pages.length-1;t.checked||(x=parseInt(m)-1,f=parseInt(p)-1);for(var v=x;v<=f;v++){var n=
-a.pages[v],m=n==a.currentPage?d:null;if(null==m){var m=a.createTemporaryGraph(d.getStylesheet()),p=!0,x=!1,A=null,y=null;null==n.viewState&&null==n.root&&a.updatePageRoot(n);null!=n.viewState&&(p=n.viewState.pageVisible,x=n.viewState.mathEnabled,A=n.viewState.background,y=n.viewState.backgroundImage,m.extFonts=n.viewState.extFonts);m.background=A;m.backgroundImage=null!=y?new mxImage(y.src,y.width,y.height):null;m.pageVisible=p;m.mathEnabled=x;var B=m.getGlobalVariable;m.getGlobalVariable=function(b){return"page"==
-b?n.getName():"pagenumber"==b?v+1:"pagecount"==b?null!=a.pages?a.pages.length:1:B.apply(this,arguments)};document.body.appendChild(m.container);a.updatePageRoot(n);m.model.setRoot(n.root)}k=c(m,k,v!=f);m!=d&&m.container.parentNode.removeChild(m.container)}}else k=c(d);null==k?a.handleError({message:mxResources.get("errorUpdatingPreview")}):(k.mathEnabled&&(f=k.wnd.document,f.writeln('<script type="text/x-mathjax-config">'),f.writeln("MathJax.Hub.Config({"),f.writeln("showMathMenu: false,"),f.writeln('messageStyle: "none",'),
-f.writeln('jax: ["input/TeX", "input/MathML", "input/AsciiMath", "output/HTML-CSS"],'),f.writeln('extensions: ["tex2jax.js", "mml2jax.js", "asciimath2jax.js"],'),f.writeln('"HTML-CSS": {'),f.writeln("imageFont: null"),f.writeln("},"),f.writeln("TeX: {"),f.writeln('extensions: ["AMSmath.js", "AMSsymbols.js", "noErrors.js", "noUndefined.js"]'),f.writeln("},"),f.writeln("tex2jax: {"),f.writeln('\tignoreClass: "geDisableMathJax"'),f.writeln("},"),f.writeln("asciimath2jax: {"),f.writeln('\tignoreClass: "geDisableMathJax"'),
-f.writeln("}"),f.writeln("});"),b&&(f.writeln("MathJax.Hub.Queue(function () {"),f.writeln("window.print();"),f.writeln("});")),f.writeln("\x3c/script>"),f.writeln('<script type="text/javascript" src="'+DRAW_MATH_URL+'/MathJax.js">\x3c/script>')),k.closeDocument(),!k.mathEnabled&&b&&PrintDialog.printPreview(k))}var d=a.editor.graph,m=document.createElement("div"),p=document.createElement("h3");p.style.width="100%";p.style.textAlign="center";p.style.marginTop="0px";mxUtils.write(p,b||mxResources.get("print"));
-m.appendChild(p);var f=1,g=1,k=document.createElement("div");k.style.cssText="border-bottom:1px solid lightGray;padding-bottom:12px;margin-bottom:12px;";var t=document.createElement("input");t.style.cssText="margin-right:8px;margin-bottom:8px;";t.setAttribute("value","all");t.setAttribute("type","radio");t.setAttribute("name","pages-printdialog");k.appendChild(t);p=document.createElement("span");mxUtils.write(p,mxResources.get("printAllPages"));k.appendChild(p);mxUtils.br(k);var x=t.cloneNode(!0);
-t.setAttribute("checked","checked");x.setAttribute("value","range");k.appendChild(x);p=document.createElement("span");mxUtils.write(p,mxResources.get("pages")+":");k.appendChild(p);var u=document.createElement("input");u.style.cssText="margin:0 8px 0 8px;";u.setAttribute("value","1");u.setAttribute("type","number");u.setAttribute("min","1");u.style.width="50px";k.appendChild(u);p=document.createElement("span");mxUtils.write(p,mxResources.get("to"));k.appendChild(p);var l=u.cloneNode(!0);k.appendChild(l);
-mxEvent.addListener(u,"focus",function(){x.checked=!0});mxEvent.addListener(l,"focus",function(){x.checked=!0});mxEvent.addListener(u,"change",c);mxEvent.addListener(l,"change",c);if(null!=a.pages&&(f=a.pages.length,null!=a.currentPage))for(p=0;p<a.pages.length;p++)if(a.currentPage==a.pages[p]){g=p+1;u.value=g;l.value=g;break}u.setAttribute("max",f);l.setAttribute("max",f);1<f&&m.appendChild(k);var v=document.createElement("div");v.style.marginBottom="10px";var n=document.createElement("input");n.style.marginRight=
-"8px";n.setAttribute("value","adjust");n.setAttribute("type","radio");n.setAttribute("name","printZoom");v.appendChild(n);p=document.createElement("span");mxUtils.write(p,mxResources.get("adjustTo"));v.appendChild(p);var C=document.createElement("input");C.style.cssText="margin:0 8px 0 8px;";C.setAttribute("value","100 %");C.style.width="50px";v.appendChild(C);mxEvent.addListener(C,"focus",function(){n.checked=!0});m.appendChild(v);var k=k.cloneNode(!1),z=n.cloneNode(!0);z.setAttribute("value","fit");
-n.setAttribute("checked","checked");p=document.createElement("div");p.style.cssText="display:inline-block;height:100%;vertical-align:top;padding-top:2px;";p.appendChild(z);k.appendChild(p);v=document.createElement("table");v.style.display="inline-block";var A=document.createElement("tbody"),y=document.createElement("tr"),B=y.cloneNode(!0),q=document.createElement("td"),D=q.cloneNode(!0),G=q.cloneNode(!0),P=q.cloneNode(!0),N=q.cloneNode(!0),da=q.cloneNode(!0);q.style.textAlign="right";P.style.textAlign=
-"right";mxUtils.write(q,mxResources.get("fitTo"));var S=document.createElement("input");S.style.cssText="margin:0 8px 0 8px;";S.setAttribute("value","1");S.setAttribute("min","1");S.setAttribute("type","number");S.style.width="40px";D.appendChild(S);p=document.createElement("span");mxUtils.write(p,mxResources.get("fitToSheetsAcross"));G.appendChild(p);mxUtils.write(P,mxResources.get("fitToBy"));var X=S.cloneNode(!0);N.appendChild(X);mxEvent.addListener(S,"focus",function(){z.checked=!0});mxEvent.addListener(X,
-"focus",function(){z.checked=!0});p=document.createElement("span");mxUtils.write(p,mxResources.get("fitToSheetsDown"));da.appendChild(p);y.appendChild(q);y.appendChild(D);y.appendChild(G);B.appendChild(P);B.appendChild(N);B.appendChild(da);A.appendChild(y);A.appendChild(B);v.appendChild(A);k.appendChild(v);m.appendChild(k);k=document.createElement("div");p=document.createElement("div");p.style.fontWeight="bold";p.style.marginBottom="12px";mxUtils.write(p,mxResources.get("paperSize"));k.appendChild(p);
-p=document.createElement("div");p.style.marginBottom="12px";var ja=PageSetupDialog.addPageFormatPanel(p,"printdialog",a.editor.graph.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT);k.appendChild(p);p=document.createElement("span");mxUtils.write(p,mxResources.get("pageScale"));k.appendChild(p);var ka=document.createElement("input");ka.style.cssText="margin:0 8px 0 8px;";ka.setAttribute("value","100 %");ka.style.width="60px";k.appendChild(ka);m.appendChild(k);p=document.createElement("div");p.style.cssText=
-"text-align:right;margin:48px 0 0 0;";k=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});k.className="geBtn";a.editor.cancelFirst&&p.appendChild(k);a.isOffline()||(v=mxUtils.button(mxResources.get("help"),function(){d.openLink("https://desk.draw.io/support/solutions/articles/16000048947")}),v.className="geBtn",p.appendChild(v));PrintDialog.previewEnabled&&(v=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();e(!1)}),v.className="geBtn",p.appendChild(v));v=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?
-"print":"ok"),function(){a.hideDialog();e(!0)});v.className="geBtn gePrimaryBtn";p.appendChild(v);a.editor.cancelFirst||p.appendChild(k);m.appendChild(p);this.container=m};var G=ChangePageSetup.prototype.execute;ChangePageSetup.prototype.execute=function(){null==this.page&&(this.page=this.ui.currentPage);this.page!=this.ui.currentPage?null!=this.page.viewState&&(this.ignoreColor||(this.page.viewState.background=this.color),this.ignoreImage||(this.page.viewState.backgroundImage=this.image),null!=this.format&&
-(this.page.viewState.pageFormat=this.format),null!=this.mathEnabled&&(this.page.viewState.mathEnabled=this.mathEnabled),null!=this.shadowVisible&&(this.page.viewState.shadowVisible=this.shadowVisible)):(G.apply(this,arguments),null!=this.mathEnabled&&this.mathEnabled!=this.ui.isMathEnabled()&&(this.ui.setMathEnabled(this.mathEnabled),this.mathEnabled=!this.mathEnabled),null!=this.shadowVisible&&this.shadowVisible!=this.ui.editor.graph.shadowVisible&&(this.ui.editor.graph.setShadowVisible(this.shadowVisible),
-this.shadowVisible=!this.shadowVisible))};Editor.prototype.useCanvasForExport=!1;try{var x=document.createElement("canvas"),C=new Image;C.onload=function(){try{x.getContext("2d").drawImage(C,0,0);var a=x.toDataURL("image/png");Editor.prototype.useCanvasForExport=null!=a&&6<a.length}catch(D){}};C.src="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1px" height="1px" version="1.1"><foreignObject pointer-events="all" width="1" height="1"><div xmlns="http://www.w3.org/1999/xhtml"></div></foreignObject></svg>')))}catch(A){}})();
-(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.beforeDecode=function(a,d,b){b.ui=a.ui;return d};a.afterDecode=function(a,d,b){b.previousColor=b.color;b.previousImage=b.image;b.previousFormat=b.format;null!=b.foldingEnabled&&(b.foldingEnabled=!b.foldingEnabled);null!=b.mathEnabled&&(b.mathEnabled=!b.mathEnabled);null!=b.shadowVisible&&(b.shadowVisible=!b.shadowVisible);return b};mxCodecRegistry.register(a)})();(function(){EditorUi.VERSION="12.6.1";EditorUi.compactUi="atlas"!=uiTheme;mxGraphView.prototype.defaultDarkGridColor="#6e6e6e";"dark"==uiTheme&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&/.*\.draw\.io$/.test(window.location.hostname)&&"support.draw.io"!=window.location.hostname;EditorUi.drawHost="https://www.draw.io";EditorUi.lastErrorMessage=null;EditorUi.ignoredAnonymizedChars="\n\t`~!@#$%^&*()_+{}|:\"<>?-=[];'./,\n\t";
+STENCIL_PATH+"/floorplan.xml"];mxStencilRegistry.libraries.bootstrap=[SHAPES_PATH+"/mxBootstrap.js",STENCIL_PATH+"/bootstrap.xml"];mxStencilRegistry.libraries.gmdl=[SHAPES_PATH+"/mxGmdl.js",STENCIL_PATH+"/gmdl.xml"];mxStencilRegistry.libraries.gcp2=[SHAPES_PATH+"/mxGCP2.js",STENCIL_PATH+"/gcp2.xml"];mxStencilRegistry.libraries.ibm=[SHAPES_PATH+"/mxIBM.js",STENCIL_PATH+"/ibm.xml"];mxStencilRegistry.libraries.cabinets=[SHAPES_PATH+"/mxCabinets.js",STENCIL_PATH+"/cabinets.xml"];mxStencilRegistry.libraries.archimate=
+[SHAPES_PATH+"/mxArchiMate.js"];mxStencilRegistry.libraries.archimate3=[SHAPES_PATH+"/mxArchiMate3.js"];mxStencilRegistry.libraries.sysml=[SHAPES_PATH+"/mxSysML.js"];mxStencilRegistry.libraries.eip=[SHAPES_PATH+"/mxEip.js",STENCIL_PATH+"/eip.xml"];mxStencilRegistry.libraries.networks=[SHAPES_PATH+"/mxNetworks.js",STENCIL_PATH+"/networks.xml"];mxStencilRegistry.libraries.aws3d=[SHAPES_PATH+"/mxAWS3D.js",STENCIL_PATH+"/aws3d.xml"];mxStencilRegistry.libraries.aws4=[SHAPES_PATH+"/mxAWS4.js",STENCIL_PATH+
+"/aws4.xml"];mxStencilRegistry.libraries.aws4b=[SHAPES_PATH+"/mxAWS4.js",STENCIL_PATH+"/aws4.xml"];mxStencilRegistry.libraries.veeam=[STENCIL_PATH+"/veeam/2d.xml",STENCIL_PATH+"/veeam/3d.xml",STENCIL_PATH+"/veeam/veeam.xml"];mxStencilRegistry.libraries.veeam2=[STENCIL_PATH+"/veeam/2d.xml",STENCIL_PATH+"/veeam/3d.xml",STENCIL_PATH+"/veeam/veeam2.xml"];mxStencilRegistry.libraries.pid2inst=[SHAPES_PATH+"/pid2/mxPidInstruments.js"];mxStencilRegistry.libraries.pid2misc=[SHAPES_PATH+"/pid2/mxPidMisc.js",
+STENCIL_PATH+"/pid/misc.xml"];mxStencilRegistry.libraries.pid2valves=[SHAPES_PATH+"/pid2/mxPidValves.js"];mxStencilRegistry.libraries.pidFlowSensors=[STENCIL_PATH+"/pid/flow_sensors.xml"];mxMarker.getPackageForType=function(a){var b=null;null!=a&&0<a.length&&("ER"==a.substring(0,2)?b="mxgraph.er":"sysML"==a.substring(0,5)&&(b="mxgraph.sysml"));return b};var B=mxMarker.createMarker;mxMarker.createMarker=function(a,b,c,e,d,m,p,f,g,k){if(null!=c&&null==mxMarker.markers[c]){var t=this.getPackageForType(c);
+null!=t&&mxStencilRegistry.getStencil(t)}return B.apply(this,arguments)};PrintDialog.prototype.create=function(a,b){function c(){l.value=Math.max(1,Math.min(f,Math.max(parseInt(l.value),parseInt(u.value))));u.value=Math.max(1,Math.min(f,Math.min(parseInt(l.value),parseInt(u.value))))}function e(b){function c(b,c,m){var p=b.useCssTransforms,f=b.currentTranslate,g=b.currentScale,k=b.view.translate,t=b.view.scale;b.useCssTransforms&&(b.useCssTransforms=!1,b.currentTranslate=new mxPoint(0,0),b.currentScale=
+1,b.view.translate=new mxPoint(0,0),b.view.scale=1);var x=b.getGraphBounds(),u=0,v=0,l=ja.get(),n=1/b.pageScale,A=z.checked;if(A)var n=parseInt(S.value),y=parseInt(Y.value),n=Math.min(l.height*y/(x.height/b.view.scale),l.width*n/(x.width/b.view.scale));else n=parseInt(C.value)/(100*b.pageScale),isNaN(n)&&(e=1/b.pageScale,C.value="100 %");l=mxRectangle.fromRectangle(l);l.width=Math.ceil(l.width*e);l.height=Math.ceil(l.height*e);n*=e;!A&&b.pageVisible?(x=b.getPageLayout(),u-=x.x*l.width,v-=x.y*l.height):
+A=!0;if(null==c){c=PrintDialog.createPrintPreview(b,n,l,0,u,v,A);c.pageSelector=!1;c.mathEnabled=!1;u=a.getCurrentFile();null!=u&&(c.title=u.getTitle());var B=c.writeHead;c.writeHead=function(c){B.apply(this,arguments);null!=a.editor.fontCss&&(c.writeln('<style type="text/css">'),c.writeln(a.editor.fontCss),c.writeln("</style>"));if(null!=b.extFonts)for(var e=0;e<b.extFonts.length;e++){var d=b.extFonts[e].name,m=b.extFonts[e].url;0==m.indexOf(Editor.GOOGLE_FONTS)?c.writeln('<link rel="stylesheet" href="'+
+m+'" charset="UTF-8" type="text/css">'):(c.writeln('<style type="text/css">'),c.writeln('@font-face {\n\tfont-family: "'+d+'";\n\tsrc: url("'+m+'");\n}'),c.writeln("</style>"))}};if("undefined"!==typeof MathJax){var q=c.renderPage;c.renderPage=function(b,c,e,d,m,p){var f=mxClient.NO_FO;mxClient.NO_FO=this.graph.mathEnabled&&!a.editor.useForeignObjectForMath?!0:a.editor.originalNoForeignObject;var g=q.apply(this,arguments);mxClient.NO_FO=f;this.graph.mathEnabled?this.mathEnabled=this.mathEnabled||
+!0:g.className="geDisableMathJax";return g}}u=null;null!=d.themes&&"darkTheme"==d.defaultThemeName&&(u=d.stylesheet,d.stylesheet=d.getDefaultStylesheet(),d.refresh());c.open(null,null,m,!0);null!=u&&(d.stylesheet=u,d.refresh())}else{l=b.background;if(null==l||""==l||l==mxConstants.NONE)l="#ffffff";c.backgroundColor=l;c.autoOrigin=A;c.appendGraph(b,n,u,v,m,!0);if(null!=b.extFonts&&null!=c.wnd)for(m=0;m<b.extFonts.length;m++)u=b.extFonts[m].name,v=b.extFonts[m].url,0==v.indexOf(Editor.GOOGLE_FONTS)?
+c.wnd.document.writeln('<link rel="stylesheet" href="'+v+'" charset="UTF-8" type="text/css">'):(c.wnd.document.writeln('<style type="text/css">'),c.wnd.document.writeln('@font-face {\n\tfont-family: "'+u+'";\n\tsrc: url("'+v+'");\n}'),c.wnd.document.writeln("</style>"))}p&&(b.useCssTransforms=p,b.currentTranslate=f,b.currentScale=g,b.view.translate=k,b.view.scale=t);return c}var e=parseInt(ka.value)/100;isNaN(e)&&(e=1,ka.value="100 %");var e=.75*e,m=u.value,p=l.value,f=!t.checked,k=null;f&&(f=m==
+g&&p==g);if(!f&&null!=a.pages&&a.pages.length){var x=0,f=a.pages.length-1;t.checked||(x=parseInt(m)-1,f=parseInt(p)-1);for(var v=x;v<=f;v++){var n=a.pages[v],m=n==a.currentPage?d:null;if(null==m){var m=a.createTemporaryGraph(d.getStylesheet()),p=!0,x=!1,A=null,y=null;null==n.viewState&&null==n.root&&a.updatePageRoot(n);null!=n.viewState&&(p=n.viewState.pageVisible,x=n.viewState.mathEnabled,A=n.viewState.background,y=n.viewState.backgroundImage,m.extFonts=n.viewState.extFonts);m.background=A;m.backgroundImage=
+null!=y?new mxImage(y.src,y.width,y.height):null;m.pageVisible=p;m.mathEnabled=x;var B=m.getGlobalVariable;m.getGlobalVariable=function(b){return"page"==b?n.getName():"pagenumber"==b?v+1:"pagecount"==b?null!=a.pages?a.pages.length:1:B.apply(this,arguments)};document.body.appendChild(m.container);a.updatePageRoot(n);m.model.setRoot(n.root)}k=c(m,k,v!=f);m!=d&&m.container.parentNode.removeChild(m.container)}}else k=c(d);null==k?a.handleError({message:mxResources.get("errorUpdatingPreview")}):(k.mathEnabled&&
+(f=k.wnd.document,f.writeln('<script type="text/x-mathjax-config">'),f.writeln("MathJax.Hub.Config({"),f.writeln("showMathMenu: false,"),f.writeln('messageStyle: "none",'),f.writeln('jax: ["input/TeX", "input/MathML", "input/AsciiMath", "output/HTML-CSS"],'),f.writeln('extensions: ["tex2jax.js", "mml2jax.js", "asciimath2jax.js"],'),f.writeln('"HTML-CSS": {'),f.writeln("imageFont: null"),f.writeln("},"),f.writeln("TeX: {"),f.writeln('extensions: ["AMSmath.js", "AMSsymbols.js", "noErrors.js", "noUndefined.js"]'),
+f.writeln("},"),f.writeln("tex2jax: {"),f.writeln('\tignoreClass: "geDisableMathJax"'),f.writeln("},"),f.writeln("asciimath2jax: {"),f.writeln('\tignoreClass: "geDisableMathJax"'),f.writeln("}"),f.writeln("});"),b&&(f.writeln("MathJax.Hub.Queue(function () {"),f.writeln("window.print();"),f.writeln("});")),f.writeln("\x3c/script>"),f.writeln('<script type="text/javascript" src="'+DRAW_MATH_URL+'/MathJax.js">\x3c/script>')),k.closeDocument(),!k.mathEnabled&&b&&PrintDialog.printPreview(k))}var d=a.editor.graph,
+m=document.createElement("div"),p=document.createElement("h3");p.style.width="100%";p.style.textAlign="center";p.style.marginTop="0px";mxUtils.write(p,b||mxResources.get("print"));m.appendChild(p);var f=1,g=1,k=document.createElement("div");k.style.cssText="border-bottom:1px solid lightGray;padding-bottom:12px;margin-bottom:12px;";var t=document.createElement("input");t.style.cssText="margin-right:8px;margin-bottom:8px;";t.setAttribute("value","all");t.setAttribute("type","radio");t.setAttribute("name",
+"pages-printdialog");k.appendChild(t);p=document.createElement("span");mxUtils.write(p,mxResources.get("printAllPages"));k.appendChild(p);mxUtils.br(k);var x=t.cloneNode(!0);t.setAttribute("checked","checked");x.setAttribute("value","range");k.appendChild(x);p=document.createElement("span");mxUtils.write(p,mxResources.get("pages")+":");k.appendChild(p);var u=document.createElement("input");u.style.cssText="margin:0 8px 0 8px;";u.setAttribute("value","1");u.setAttribute("type","number");u.setAttribute("min",
+"1");u.style.width="50px";k.appendChild(u);p=document.createElement("span");mxUtils.write(p,mxResources.get("to"));k.appendChild(p);var l=u.cloneNode(!0);k.appendChild(l);mxEvent.addListener(u,"focus",function(){x.checked=!0});mxEvent.addListener(l,"focus",function(){x.checked=!0});mxEvent.addListener(u,"change",c);mxEvent.addListener(l,"change",c);if(null!=a.pages&&(f=a.pages.length,null!=a.currentPage))for(p=0;p<a.pages.length;p++)if(a.currentPage==a.pages[p]){g=p+1;u.value=g;l.value=g;break}u.setAttribute("max",
+f);l.setAttribute("max",f);1<f&&m.appendChild(k);var v=document.createElement("div");v.style.marginBottom="10px";var n=document.createElement("input");n.style.marginRight="8px";n.setAttribute("value","adjust");n.setAttribute("type","radio");n.setAttribute("name","printZoom");v.appendChild(n);p=document.createElement("span");mxUtils.write(p,mxResources.get("adjustTo"));v.appendChild(p);var C=document.createElement("input");C.style.cssText="margin:0 8px 0 8px;";C.setAttribute("value","100 %");C.style.width=
+"50px";v.appendChild(C);mxEvent.addListener(C,"focus",function(){n.checked=!0});m.appendChild(v);var k=k.cloneNode(!1),z=n.cloneNode(!0);z.setAttribute("value","fit");n.setAttribute("checked","checked");p=document.createElement("div");p.style.cssText="display:inline-block;height:100%;vertical-align:top;padding-top:2px;";p.appendChild(z);k.appendChild(p);v=document.createElement("table");v.style.display="inline-block";var A=document.createElement("tbody"),y=document.createElement("tr"),B=y.cloneNode(!0),
+q=document.createElement("td"),D=q.cloneNode(!0),G=q.cloneNode(!0),P=q.cloneNode(!0),N=q.cloneNode(!0),da=q.cloneNode(!0);q.style.textAlign="right";P.style.textAlign="right";mxUtils.write(q,mxResources.get("fitTo"));var S=document.createElement("input");S.style.cssText="margin:0 8px 0 8px;";S.setAttribute("value","1");S.setAttribute("min","1");S.setAttribute("type","number");S.style.width="40px";D.appendChild(S);p=document.createElement("span");mxUtils.write(p,mxResources.get("fitToSheetsAcross"));
+G.appendChild(p);mxUtils.write(P,mxResources.get("fitToBy"));var Y=S.cloneNode(!0);N.appendChild(Y);mxEvent.addListener(S,"focus",function(){z.checked=!0});mxEvent.addListener(Y,"focus",function(){z.checked=!0});p=document.createElement("span");mxUtils.write(p,mxResources.get("fitToSheetsDown"));da.appendChild(p);y.appendChild(q);y.appendChild(D);y.appendChild(G);B.appendChild(P);B.appendChild(N);B.appendChild(da);A.appendChild(y);A.appendChild(B);v.appendChild(A);k.appendChild(v);m.appendChild(k);
+k=document.createElement("div");p=document.createElement("div");p.style.fontWeight="bold";p.style.marginBottom="12px";mxUtils.write(p,mxResources.get("paperSize"));k.appendChild(p);p=document.createElement("div");p.style.marginBottom="12px";var ja=PageSetupDialog.addPageFormatPanel(p,"printdialog",a.editor.graph.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT);k.appendChild(p);p=document.createElement("span");mxUtils.write(p,mxResources.get("pageScale"));k.appendChild(p);var ka=document.createElement("input");
+ka.style.cssText="margin:0 8px 0 8px;";ka.setAttribute("value","100 %");ka.style.width="60px";k.appendChild(ka);m.appendChild(k);p=document.createElement("div");p.style.cssText="text-align:right;margin:48px 0 0 0;";k=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});k.className="geBtn";a.editor.cancelFirst&&p.appendChild(k);a.isOffline()||(v=mxUtils.button(mxResources.get("help"),function(){d.openLink("https://desk.draw.io/support/solutions/articles/16000048947")}),v.className=
+"geBtn",p.appendChild(v));PrintDialog.previewEnabled&&(v=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();e(!1)}),v.className="geBtn",p.appendChild(v));v=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();e(!0)});v.className="geBtn gePrimaryBtn";p.appendChild(v);a.editor.cancelFirst||p.appendChild(k);m.appendChild(p);this.container=m};var G=ChangePageSetup.prototype.execute;ChangePageSetup.prototype.execute=function(){null==this.page&&
+(this.page=this.ui.currentPage);this.page!=this.ui.currentPage?null!=this.page.viewState&&(this.ignoreColor||(this.page.viewState.background=this.color),this.ignoreImage||(this.page.viewState.backgroundImage=this.image),null!=this.format&&(this.page.viewState.pageFormat=this.format),null!=this.mathEnabled&&(this.page.viewState.mathEnabled=this.mathEnabled),null!=this.shadowVisible&&(this.page.viewState.shadowVisible=this.shadowVisible)):(G.apply(this,arguments),null!=this.mathEnabled&&this.mathEnabled!=
+this.ui.isMathEnabled()&&(this.ui.setMathEnabled(this.mathEnabled),this.mathEnabled=!this.mathEnabled),null!=this.shadowVisible&&this.shadowVisible!=this.ui.editor.graph.shadowVisible&&(this.ui.editor.graph.setShadowVisible(this.shadowVisible),this.shadowVisible=!this.shadowVisible))};Editor.prototype.useCanvasForExport=!1;try{var x=document.createElement("canvas"),C=new Image;C.onload=function(){try{x.getContext("2d").drawImage(C,0,0);var a=x.toDataURL("image/png");Editor.prototype.useCanvasForExport=
+null!=a&&6<a.length}catch(D){}};C.src="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1px" height="1px" version="1.1"><foreignObject pointer-events="all" width="1" height="1"><div xmlns="http://www.w3.org/1999/xhtml"></div></foreignObject></svg>')))}catch(A){}})();
+(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.beforeDecode=function(a,d,b){b.ui=a.ui;return d};a.afterDecode=function(a,d,b){b.previousColor=b.color;b.previousImage=b.image;b.previousFormat=b.format;null!=b.foldingEnabled&&(b.foldingEnabled=!b.foldingEnabled);null!=b.mathEnabled&&(b.mathEnabled=!b.mathEnabled);null!=b.shadowVisible&&(b.shadowVisible=!b.shadowVisible);return b};mxCodecRegistry.register(a)})();(function(){EditorUi.VERSION="12.6.3";EditorUi.compactUi="atlas"!=uiTheme;mxGraphView.prototype.defaultDarkGridColor="#6e6e6e";"dark"==uiTheme&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&/.*\.draw\.io$/.test(window.location.hostname)&&"support.draw.io"!=window.location.hostname;EditorUi.drawHost="https://www.draw.io";EditorUi.lastErrorMessage=null;EditorUi.ignoredAnonymizedChars="\n\t`~!@#$%^&*()_+{}|:\"<>?-=[];'./,\n\t";
 EditorUi.templateFile=TEMPLATE_PATH+"/index.xml";EditorUi.cacheUrl="1"==urlParams.dev?"/cache":window.REALTIME_URL;null==EditorUi.cacheUrl&&"undefined"!==typeof DrawioFile&&(DrawioFile.SYNC="none");Editor.cacheTimeout=1E4;EditorUi.enablePlantUml=EditorUi.enableLogging;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;EditorUi.scratchpadHelpLink="https://desk.draw.io/support/solutions/articles/16000042367";EditorUi.logError=
 function(a,b,c,d,f){if("1"==urlParams.dev)EditorUi.debug("logError",a,b,c,d,f);else if(EditorUi.enableLogging)try{if(a!=EditorUi.lastErrorMessage&&(null==a||null==b||-1==a.indexOf("Script error")&&-1==a.indexOf("extension"))&&null!=a&&0>a.indexOf("DocumentClosedError")){EditorUi.lastErrorMessage=a;var e=0<=a.indexOf("NetworkError")||0<=a.indexOf("SecurityError")||0<=a.indexOf("NS_ERROR_FAILURE")||0<=a.indexOf("out of memory")?"CONFIG":"SEVERE",m=null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"";
 f=null!=f?f:Error(a);(new Image).src=m+"/log?severity="+e+"&v="+encodeURIComponent(EditorUi.VERSION)+"&msg=clientError:"+encodeURIComponent(a)+":url:"+encodeURIComponent(window.location.href)+":lnum:"+encodeURIComponent(c)+(null!=d?":colno:"+encodeURIComponent(d):"")+(null!=f&&null!=f.stack?"&stack="+encodeURIComponent(f.stack):"")}}catch(z){}};EditorUi.logEvent=function(a){if("1"==urlParams.dev)EditorUi.debug("logEvent",a);else if(EditorUi.enableLogging)try{var b=null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:
@@ -8736,7 +8742,7 @@ EditorUi.drawHost+'/images/drawlogo128.png"/></a>')+"\n</body>\n</html>\n"};Edit
 null==this.fileNode&&null!=a&&(this.fileNode=a.ownerDocument.createElement("mxfile"),this.currentPage=new DiagramPage(a.ownerDocument.createElement("diagram")),this.currentPage.setName(mxResources.get("pageWithNumber",[1])),this.pages=[this.currentPage]);this.editor.setGraphXml(a);null!=this.currentPage&&(this.currentPage.root=this.editor.graph.model.root);if(null!=urlParams["layer-ids"])try{var e=urlParams["layer-ids"].split(" ");a={};for(d=0;d<e.length;d++)a[e[d]]=!0;for(var f=this.editor.graph.getModel(),
 g=f.getChildren(f.root),d=0;d<g.length;d++){var k=g[d];f.setVisible(k,a[k.id]||!1)}}catch(B){}};EditorUi.prototype.getBaseFilename=function(a){var b=this.getCurrentFile(),b=null!=b&&null!=b.getTitle()?b.getTitle():this.defaultFilename;if(/(\.xml)$/i.test(b)||/(\.html)$/i.test(b)||/(\.svg)$/i.test(b)||/(\.png)$/i.test(b)||/(\.drawio)$/i.test(b))b=b.substring(0,b.lastIndexOf("."));!a&&null!=this.pages&&1<this.pages.length&&null!=this.currentPage&&null!=this.currentPage.node.getAttribute("name")&&0<
 this.currentPage.getName().length&&(b=b+"-"+this.currentPage.getName());return b};EditorUi.prototype.downloadFile=function(a,b,c,d,f,g,k,l,n,q,x){try{d=null!=d?d:this.editor.graph.isSelectionEmpty();var e=this.getBaseFilename(!f),m=e+"."+a;if("xml"==a){var p='<?xml version="1.0" encoding="UTF-8"?>\n'+this.getFileData(!0,null,null,null,d,f,null,null,null,b);this.saveData(m,a,p,"text/xml")}else if("html"==a)p=this.getHtml2(this.getFileData(!0),this.editor.graph,e),this.saveData(m,a,p,"text/html");else if("svg"!=
-a&&"xmlsvg"!=a||!this.spinner.spin(document.body,mxResources.get("export")))"xmlpng"==a?m=e+".png":"jpeg"==a&&(m=e+".jpg"),this.saveRequest(m,a,mxUtils.bind(this,function(b,c){try{var e=this.editor.graph.pageVisible;null!=g&&(this.editor.graph.pageVisible=g);var m=this.createDownloadRequest(b,a,d,c,k,f,l,n,q,x);this.editor.graph.pageVisible=e;return m}catch(W){this.handleError(W)}}));else{var t=null,u=mxUtils.bind(this,function(a){a.length<=MAX_REQUEST_SIZE?this.saveData(m,"svg",a,"image/svg+xml"):
+a&&"xmlsvg"!=a||!this.spinner.spin(document.body,mxResources.get("export")))"xmlpng"==a?m=e+".png":"jpeg"==a&&(m=e+".jpg"),this.saveRequest(m,a,mxUtils.bind(this,function(b,c){try{var e=this.editor.graph.pageVisible;null!=g&&(this.editor.graph.pageVisible=g);var m=this.createDownloadRequest(b,a,d,c,k,f,l,n,q,x);this.editor.graph.pageVisible=e;return m}catch(X){this.handleError(X)}}));else{var t=null,u=mxUtils.bind(this,function(a){a.length<=MAX_REQUEST_SIZE?this.saveData(m,"svg",a,"image/svg+xml"):
 this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(t)}))});if("svg"==a){var v=this.editor.graph.background;if(k||v==mxConstants.NONE)v=null;var z=this.editor.graph.getSvg(v,null,null,null,null,d);c&&this.editor.graph.addSvgShadow(z);this.convertImages(z,mxUtils.bind(this,mxUtils.bind(this,function(a){this.spinner.stop();u('<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n'+
 mxUtils.getXml(a))})))}else m=e+".svg",t=this.getFileData(!1,!0,null,mxUtils.bind(this,function(a){this.spinner.stop();u(a)}),d)}}catch(E){this.handleError(E)}};EditorUi.prototype.createDownloadRequest=function(a,b,c,d,f,g,k,l,n,q){var e=this.editor.graph,m=e.getGraphBounds();c=this.getFileData(!0,null,null,null,c,0==g?!1:"xmlpng"!=b);var p="",t="";if(m.width*m.height>MAX_AREA||c.length>MAX_REQUEST_SIZE)throw{message:mxResources.get("drawingTooLarge")};q=q?"1":"0";"pdf"==b&&0==g&&(t="&allPages=1");
 if("xmlpng"==b&&(q="1",b="png",null!=this.pages&&null!=this.currentPage))for(g=0;g<this.pages.length;g++)if(this.pages[g]==this.currentPage){p="&from="+g;break}g=e.background;"png"==b&&f?g=mxConstants.NONE:f||null!=g&&g!=mxConstants.NONE||(g="#ffffff");f={globalVars:e.getExportVariables()};n&&(f.grid={size:e.gridSize,steps:e.view.gridSteps,color:e.view.gridColor});return new mxXmlRequest(EXPORT_URL,"format="+b+p+t+"&bg="+(null!=g?g:mxConstants.NONE)+"&base64="+d+"&embedXml="+q+"&xml="+encodeURIComponent(c)+
@@ -8796,8 +8802,8 @@ d?c:null)}else null!=c&&c()};EditorUi.prototype.alert=function(a,b){var c=new Er
 m,!0,g);a.init()};EditorUi.prototype.setCurrentFile=function(a){null!=a&&(a.opened=new Date);this.currentFile=a};EditorUi.prototype.getCurrentFile=function(){return this.currentFile};EditorUi.prototype.isExportToCanvas=function(){return this.editor.isExportToCanvas()};EditorUi.prototype.createSvgDataUri=function(a){return"data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent(a)))};EditorUi.prototype.createImageDataUri=function(a,b,c,d){var e=a.toDataURL("image/"+c);if(6>=e.length||e==a.cloneNode(!1).toDataURL("image/"+
 c))throw{message:"Invalid image"};null!=b&&(e=this.writeGraphModelToPng(e,"tEXt","mxfile",encodeURIComponent(b)));0<d&&(e=this.writeGraphModelToPng(e,"pHYs","dpi",d));return e};EditorUi.prototype.saveCanvas=function(a,b,c,d,f){var e="jpeg"==c?"jpg":c;d=this.getBaseFilename(d)+"."+e;a=this.createImageDataUri(a,b,c,f);this.saveData(d,e,a.substring(a.lastIndexOf(",")+1),"image/"+c,!0)};EditorUi.prototype.isLocalFileSave=function(){return"remote"!=urlParams.save&&(mxClient.IS_IE||"undefined"!==typeof window.Blob&&
 "undefined"!==typeof window.URL)&&9!=document.documentMode&&8!=document.documentMode&&7!=document.documentMode&&!mxClient.IS_QUIRKS||this.isOfflineApp()||mxClient.IS_IOS};EditorUi.prototype.showTextDialog=function(a,b){var c=new TextareaDialog(this,a,b,null,null,mxResources.get("close"));c.textarea.style.width="600px";c.textarea.style.height="380px";this.showDialog(c.container,620,460,!0,!0,null,null,null,null,!0);c.init();document.execCommand("selectall",!1,null)};EditorUi.prototype.doSaveLocalFile=
-function(a,b,c,d,f){if(window.Blob&&navigator.msSaveOrOpenBlob)a=d?this.base64ToBlob(a,c):new Blob([a],{type:c}),navigator.msSaveOrOpenBlob(a,b);else if(mxClient.IS_IE)c=window.open("about:blank","_blank"),null==c?mxUtils.popup(a,!0):(c.document.write(a),c.document.close(),c.document.execCommand("SaveAs",!0,b),c.close());else if(mxClient.IS_IOS&&mxClient.IS_SF&&this.isOffline())navigator.standalone||null==c||"image/"!=c.substring(0,6)?this.showTextDialog(b+":",a):this.openInNewWindow(a,c,d);else{var e=
-document.createElement("a"),m=0>navigator.userAgent.indexOf("PaleMoon/")&&"undefined"!==typeof e.download;if(mxClient.IS_GC)var g=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./),m=65==(g?parseInt(g[2],10):!1)?!1:m;if(m||this.isOffline()){e.href=URL.createObjectURL(d?this.base64ToBlob(a,c):new Blob([a],{type:c}));m?e.download=b:e.setAttribute("target","_blank");document.body.appendChild(e);try{window.setTimeout(function(){URL.revokeObjectURL(e.href)},0),e.click(),e.parentNode.removeChild(e)}catch(B){}}else this.createEchoRequest(a,
+function(a,b,c,d,f){if(window.Blob&&navigator.msSaveOrOpenBlob)a=d?this.base64ToBlob(a,c):new Blob([a],{type:c}),navigator.msSaveOrOpenBlob(a,b);else if(mxClient.IS_IE)c=window.open("about:blank","_blank"),null==c?mxUtils.popup(a,!0):(c.document.write(a),c.document.close(),c.document.execCommand("SaveAs",!0,b),c.close());else if(mxClient.IS_IOS&&this.isOffline())navigator.standalone||null==c||"image/"!=c.substring(0,6)?this.showTextDialog(b+":",a):this.openInNewWindow(a,c,d);else{var e=document.createElement("a"),
+m=0>navigator.userAgent.indexOf("PaleMoon/")&&!mxClient.IS_IOS&&"undefined"!==typeof e.download;if(mxClient.IS_GC)var g=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./),m=65==(g?parseInt(g[2],10):!1)?!1:m;if(m||this.isOffline()){e.href=URL.createObjectURL(d?this.base64ToBlob(a,c):new Blob([a],{type:c}));m?e.download=b:e.setAttribute("target","_blank");document.body.appendChild(e);try{window.setTimeout(function(){URL.revokeObjectURL(e.href)},0),e.click(),e.parentNode.removeChild(e)}catch(B){}}else this.createEchoRequest(a,
 b,c,d,f).simulate(document,"_blank")}};EditorUi.prototype.createEchoRequest=function(a,b,c,d,f,g){a="xml="+encodeURIComponent(a);return new mxXmlRequest(SAVE_URL,a+(null!=c?"&mime="+c:"")+(null!=f?"&format="+f:"")+(null!=g?"&base64="+g:"")+(null!=b?"&filename="+encodeURIComponent(b):"")+(d?"&binary=1":""))};EditorUi.prototype.base64ToBlob=function(a,b){b=b||"";for(var c=atob(a),d=c.length,e=Math.ceil(d/1024),m=Array(e),f=0;f<e;++f){for(var g=1024*f,k=Math.min(g+1024,d),l=Array(k-g),x=0;g<k;++x,++g)l[x]=
 c[g].charCodeAt(0);m[f]=new Uint8Array(l)}return new Blob(m,{type:b})};EditorUi.prototype.saveLocalFile=function(a,b,c,d,f,g,k){g=null!=g?g:!1;k=null!=k?k:"vsdx"!=f&&(!mxClient.IS_IOS||!navigator.standalone);f=this.getServiceCount(g);isLocalStorage&&f++;var e=4>=f?2:6<f?4:3;b=new CreateDialog(this,b,mxUtils.bind(this,function(b,e){try{if("_blank"==e)if(null!=c&&"image/"==c.substring(0,6))this.openInNewWindow(a,c,d);else{var f=window.open("about:blank");null==f?mxUtils.popup(a,!0):(f.document.write("<pre>"+
 mxUtils.htmlEntities(a,!1)+"</pre>"),f.document.close())}else e==App.MODE_DEVICE||"download"==e?this.doSaveLocalFile(a,b,c,d):null!=b&&0<b.length&&this.pickFolder(e,mxUtils.bind(this,function(f){try{this.exportFile(a,b,c,d,e,f)}catch(A){this.handleError(A)}}))}catch(C){this.handleError(C)}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,g,k,null,1<f,e,a,c,d);g=this.isServices(f)?f>e?390:270:160;this.showDialog(b.container,400,g,!0,!0);b.init()};
@@ -8842,9 +8848,9 @@ function(a,b,c,d,f,g,k,l){k=null!=k?k:!0;var e=document.createElement("div");e.s
 "12px";t.value=this.lastExportZoom||"100%";e.appendChild(t);mxUtils.write(e,mxResources.get("borderWidth")+":");var u=document.createElement("input");u.setAttribute("type","text");u.style.marginRight="16px";u.style.width="60px";u.style.marginLeft="4px";u.value=this.lastExportBorder||"0";e.appendChild(u);mxUtils.br(e);var v=this.addCheckbox(e,mxResources.get("transparentBackground"),!1,null,null,"jpeg"!=l),q=this.addCheckbox(e,mxResources.get("selectionOnly"),!1,m.isSelectionEmpty()),z=document.createElement("input");
 z.style.marginTop="16px";z.style.marginRight="8px";z.style.marginLeft="24px";z.setAttribute("disabled","disabled");z.setAttribute("type","checkbox");g&&(e.appendChild(z),mxUtils.write(e,mxResources.get("crop")),mxUtils.br(e),p+=26,mxEvent.addListener(q,"change",function(){q.checked?z.removeAttribute("disabled"):z.setAttribute("disabled","disabled")}));m.isSelectionEmpty()||(z.setAttribute("checked","checked"),z.defaultChecked=!0);var y=this.addCheckbox(e,mxResources.get("shadow"),m.shadowVisible),
 E=document.createElement("input");E.style.marginTop="16px";E.style.marginRight="8px";E.setAttribute("type","checkbox");!this.isOffline()&&this.canvasSupported||E.setAttribute("disabled","disabled");b&&(e.appendChild(E),mxUtils.write(e,mxResources.get("embedImages")),mxUtils.br(e),p+=26);var K=null;if("png"==l||"jpeg"==l)K=this.addCheckbox(e,mxResources.get("grid"),!1,this.isOffline()||!this.canvasSupported,!1,!0),p+=26;var M=this.addCheckbox(e,mxResources.get("includeCopyOfMyDiagram"),k,null,null,
-"jpeg"!=l),R=null!=this.pages&&1<this.pages.length,W=this.addCheckbox(e,R?mxResources.get("allPages"):"",R,!R,null,"jpeg"!=l);W.style.marginLeft="24px";W.style.marginBottom="16px";R?p+=26:W.style.display="none";mxEvent.addListener(M,"change",function(){M.checked&&R?W.removeAttribute("disabled"):W.setAttribute("disabled","disabled")});k&&R||W.setAttribute("disabled","disabled");var T=document.createElement("select");T.style.maxWidth="260px";T.style.marginLeft="8px";T.style.marginRight="10px";T.className=
+"jpeg"!=l),R=null!=this.pages&&1<this.pages.length,X=this.addCheckbox(e,R?mxResources.get("allPages"):"",R,!R,null,"jpeg"!=l);X.style.marginLeft="24px";X.style.marginBottom="16px";R?p+=26:X.style.display="none";mxEvent.addListener(M,"change",function(){M.checked&&R?X.removeAttribute("disabled"):X.setAttribute("disabled","disabled")});k&&R||X.setAttribute("disabled","disabled");var T=document.createElement("select");T.style.maxWidth="260px";T.style.marginLeft="8px";T.style.marginRight="10px";T.className=
 "geBtn";a=document.createElement("option");a.setAttribute("value","auto");mxUtils.write(a,mxResources.get("automatic"));T.appendChild(a);a=document.createElement("option");a.setAttribute("value","blank");mxUtils.write(a,mxResources.get("openInNewWindow"));T.appendChild(a);a=document.createElement("option");a.setAttribute("value","self");mxUtils.write(a,mxResources.get("openInThisWindow"));T.appendChild(a);"svg"==l&&(mxUtils.write(e,mxResources.get("links")+":"),e.appendChild(T),mxUtils.br(e),mxUtils.br(e),
-p+=26);c=new CustomDialog(this,e,mxUtils.bind(this,function(){this.lastExportBorder=u.value;this.lastExportZoom=t.value;f(t.value,v.checked,!q.checked,y.checked,M.checked,E.checked,u.value,z.checked,!W.checked,T.value,null!=K?K.checked:null)}),null,c,d);this.showDialog(c.container,340,p,!0,!0,null,null,null,null,!0);t.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?t.select():document.execCommand("selectAll",!1,null)};EditorUi.prototype.showEmbedImageDialog=function(a,
+p+=26);c=new CustomDialog(this,e,mxUtils.bind(this,function(){this.lastExportBorder=u.value;this.lastExportZoom=t.value;f(t.value,v.checked,!q.checked,y.checked,M.checked,E.checked,u.value,z.checked,!X.checked,T.value,null!=K?K.checked:null)}),null,c,d);this.showDialog(c.container,340,p,!0,!0,null,null,null,null,!0);t.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?t.select():document.execCommand("selectAll",!1,null)};EditorUi.prototype.showEmbedImageDialog=function(a,
 b,c,d,f){var e=document.createElement("div");e.style.whiteSpace="nowrap";var m=this.editor.graph;if(null!=b){var g=document.createElement("h3");mxUtils.write(g,b);g.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";e.appendChild(g)}var k=this.addCheckbox(e,mxResources.get("fit"),!0),p=this.addCheckbox(e,mxResources.get("shadow"),m.shadowVisible&&d,!d),x=this.addCheckbox(e,c),l=this.addCheckbox(e,mxResources.get("lightbox"),!0),n=this.addEditButton(e,l),u=n.getEditInput(),
 q=1<m.model.getChildCount(m.model.getRoot()),v=this.addCheckbox(e,mxResources.get("layers"),q,!q);v.style.marginLeft=u.style.marginLeft;v.style.marginBottom="12px";v.style.marginTop="8px";mxEvent.addListener(l,"change",function(){l.checked?(q&&v.removeAttribute("disabled"),u.removeAttribute("disabled")):(v.setAttribute("disabled","disabled"),u.setAttribute("disabled","disabled"));u.checked&&l.checked?n.getEditSelect().removeAttribute("disabled"):n.getEditSelect().setAttribute("disabled","disabled")});
 b=new CustomDialog(this,e,mxUtils.bind(this,function(){a(k.checked,p.checked,x.checked,l.checked,n.getLink(),v.checked)}),null,mxResources.get("embed"),f);this.showDialog(b.container,280,280,!0,!0)};EditorUi.prototype.createEmbedImage=function(a,b,c,d,f,g,k,l){function e(b){var e=" ",p="";d&&(e=" onclick=\"(function(img){if(img.wnd!=null&&!img.wnd.closed){img.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==img.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd=window.open('"+
@@ -8867,8 +8873,8 @@ a;e++;var b="application/x-font-ttf";if("svg"==k||/(\.svg)($|\?)/i.test(a))b="im
 function(a){var b=this.editor.graph.extFonts;if(null!=b&&0<b.length){var c="",d=0;null==this.cachedGoogleFonts&&(this.cachedGoogleFonts={});for(var e=mxUtils.bind(this,function(){0==d&&this.embedCssFonts(c,a)}),f=0;f<b.length;f++){var g=b[f].name,k=b[f].url;0==k.indexOf(Editor.GOOGLE_FONTS)?null==this.cachedGoogleFonts[k]?(d++,this.loadUrl(k,mxUtils.bind(this,function(a){this.cachedGoogleFonts[k]=a;c+=a;d--;e()}),mxUtils.bind(this,function(a){d--;c+="@import url("+k+");";e()}))):c+=this.cachedGoogleFonts[k]:
 c+='@font-face {font-family: "'+g+'";src: url("'+k+'");}'}e()}else a()};EditorUi.prototype.exportToCanvas=function(a,b,c,d,f,g,k,l,n,q,x,C,A,D,F){try{g=null!=g?g:!0;k=null!=k?k:!0;C=null!=C?C:this.editor.graph;A=null!=A?A:0;var e=n?null:C.background;e==mxConstants.NONE&&(e=null);null==e&&(e=d);null==e&&0==n&&(e="#ffffff");this.convertImages(C.getSvg(null,null,null,D,null,k,null,null,null,q),mxUtils.bind(this,function(c){try{var d=new Image;d.onload=mxUtils.bind(this,function(){try{var m=function(){mxClient.IS_SF?
 window.setTimeout(function(){n.drawImage(d,A/l,A/l);a(k)},0):(n.drawImage(d,A/l,A/l),a(k))},k=document.createElement("canvas"),p=parseInt(c.getAttribute("width")),x=parseInt(c.getAttribute("height"));l=null!=l?l:1;null!=b&&(l=g?Math.min(1,Math.min(3*b/(4*x),b/p)):b/p);p=Math.ceil(l*p)+2*A;x=Math.ceil(l*x)+2*A;k.setAttribute("width",p);k.setAttribute("height",x);var n=k.getContext("2d");null!=e&&(n.beginPath(),n.rect(0,0,p,x),n.fillStyle=e,n.fill());n.scale(l,l);if(F){var t=C.view,u=t.scale;t.scale=
-1;var q=btoa(unescape(encodeURIComponent(t.createSvgGrid(t.gridColor))));t.scale=u;var q="data:image/svg+xml;base64,"+q,v=C.gridSize*t.gridSteps*l,z=C.getGraphBounds(),y=t.translate.x*u,B=t.translate.y*u,D=y+(z.x-y)/u,J=B+(z.y-B)/u,G=new Image;G.onload=function(){try{for(var a=-Math.round(v-mxUtils.mod((y-D)*l,v)),b=-Math.round(v-mxUtils.mod((B-J)*l,v));a<p;a+=v)for(var c=b;c<x;c+=v)n.drawImage(G,a/l,c/l);m()}catch(N){null!=f&&f(N)}};G.onerror=function(a){null!=f&&f(a)};G.src=q}else m()}catch(Y){null!=
-f&&f(Y)}});d.onerror=function(a){null!=f&&f(a)};q&&this.editor.graph.addSvgShadow(c);this.editor.graph.mathEnabled&&this.editor.addMathCss(c);var m=mxUtils.bind(this,function(){try{null!=this.editor.resolvedFontCss&&this.editor.addFontCss(c,this.editor.resolvedFontCss),d.src=this.createSvgDataUri(mxUtils.getXml(c))}catch(K){null!=f&&f(K)}});this.embedExtFonts(mxUtils.bind(this,function(a){try{null!=a&&this.editor.addFontCss(c,a),this.loadFonts(m)}catch(M){null!=f&&f(M)}}))}catch(K){null!=f&&f(K)}}),
+1;var q=btoa(unescape(encodeURIComponent(t.createSvgGrid(t.gridColor))));t.scale=u;var q="data:image/svg+xml;base64,"+q,v=C.gridSize*t.gridSteps*l,z=C.getGraphBounds(),y=t.translate.x*u,B=t.translate.y*u,D=y+(z.x-y)/u,J=B+(z.y-B)/u,G=new Image;G.onload=function(){try{for(var a=-Math.round(v-mxUtils.mod((y-D)*l,v)),b=-Math.round(v-mxUtils.mod((B-J)*l,v));a<p;a+=v)for(var c=b;c<x;c+=v)n.drawImage(G,a/l,c/l);m()}catch(N){null!=f&&f(N)}};G.onerror=function(a){null!=f&&f(a)};G.src=q}else m()}catch(Z){null!=
+f&&f(Z)}});d.onerror=function(a){null!=f&&f(a)};q&&this.editor.graph.addSvgShadow(c);this.editor.graph.mathEnabled&&this.editor.addMathCss(c);var m=mxUtils.bind(this,function(){try{null!=this.editor.resolvedFontCss&&this.editor.addFontCss(c,this.editor.resolvedFontCss),d.src=this.createSvgDataUri(mxUtils.getXml(c))}catch(K){null!=f&&f(K)}});this.embedExtFonts(mxUtils.bind(this,function(a){try{null!=a&&this.editor.addFontCss(c,a),this.loadFonts(m)}catch(M){null!=f&&f(M)}}))}catch(K){null!=f&&f(K)}}),
 c,x)}catch(J){null!=f&&f(J)}};EditorUi.prototype.createImageUrlConverter=function(){var a=new mxUrlConverter;a.updateBaseUrl();var b=a.convert,c=this;a.convert=function(d){if(null!=d){var e="http://"==d.substring(0,7)||"https://"==d.substring(0,8);e&&!navigator.onLine?d=c.svgBrokenImage.src:!e||d.substring(0,a.baseUrl.length)==a.baseUrl||c.crossOriginImages&&c.editor.isCorsEnabledForUrl(d)?"chrome-extension://"==d.substring(0,19)||mxClient.IS_CHROMEAPP||(d=b.apply(this,arguments)):d=PROXY_URL+"?url="+
 encodeURIComponent(d)}return d};return a};EditorUi.prototype.convertImages=function(a,b,c,d){null==d&&(d=this.createImageUrlConverter());var e=0,f=c||{};c=mxUtils.bind(this,function(c,g){for(var m=a.getElementsByTagName(c),k=0;k<m.length;k++)mxUtils.bind(this,function(c){try{if(null!=c){var m=d.convert(c.getAttribute(g));if(null!=m&&"data:"!=m.substring(0,5)){var k=f[m];null==k?(e++,this.convertImageToDataUri(m,function(d){null!=d&&(f[m]=d,c.setAttribute(g,d));e--;0==e&&b(a)})):c.setAttribute(g,k)}else null!=
 m&&c.setAttribute(g,m)}}catch(D){}})(m[k])});c("image","xlink:href");c("img","src");0==e&&b(a)};EditorUi.prototype.loadUrl=function(a,b,c,d,f,g,k){try{var e=!k&&(d||/(\.png)($|\?)/i.test(a)||/(\.jpe?g)($|\?)/i.test(a)||/(\.gif)($|\?)/i.test(a)||/(\.pdf)($|\?)/i.test(a));f=null!=f?f:!0;var m=mxUtils.bind(this,function(){mxUtils.get(a,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus()){if(null!=b){var d=a.getText();if(e){if((9==document.documentMode||10==document.documentMode)&&
@@ -8906,7 +8912,7 @@ this.importGraphML(a,p)):null!=n&&null!=k&&(/(\.v(dx|sdx?))($|\?)/i.test(k)||/(\
 this.insertTextAt(this.validateFileData(a),c,d,!0,null,q);l(m)}))):/(\.v(sd|dx))($|\?)/i.test(k)||/(\.vs(s|x))($|\?)/i.test(k)||(m=this.insertTextAt(this.validateFileData(a),c,d,!0,null,q));e||null==l||l(m);return m};EditorUi.prototype.base64Encode=function(a){for(var b="",c=0,d=a.length,e,f,g;c<d;){e=a.charCodeAt(c++)&255;if(c==d){b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<
 4);b+="==";break}f=a.charCodeAt(c++);if(c==d){b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(f&240)>>4);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f&15)<<2);b+="=";break}g=a.charCodeAt(c++);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&
 3)<<4|(f&240)>>4);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f&15)<<2|(g&192)>>6);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(g&63)}return b};EditorUi.prototype.importFiles=function(a,b,c,d,f,g,k,l,n,q,x,C){b=null!=b?b:0;c=null!=c?c:0;d=null!=d?d:this.maxImageSize;q=null!=q?q:this.maxImageBytes;var e=null!=b&&null!=c,m=!0,p=!1;if(!mxClient.IS_CHROMEAPP&&null!=a)for(var t=x||this.resampleThreshold,u=0;u<a.length;u++)if("image/"==a[u].type.substring(0,
-6)&&a[u].size>t){p=!0;break}var v=mxUtils.bind(this,function(){var p=this.editor.graph,n=p.gridSize;f=null!=f?f:mxUtils.bind(this,function(a,b,c,d,f,g,m,k,p){try{return null!=a&&"<mxlibrary"==a.substring(0,10)?(this.spinner.stop(),this.loadLibrary(new LocalLibrary(this,a,m)),null):this.importFile(a,b,c,d,f,g,m,k,p,e,C)}catch(Y){return this.handleError(Y),null}});g=null!=g?g:mxUtils.bind(this,function(a){p.setSelectionCells(a)});if(this.spinner.spin(document.body,mxResources.get("loading")))for(var t=
+6)&&a[u].size>t){p=!0;break}var v=mxUtils.bind(this,function(){var p=this.editor.graph,n=p.gridSize;f=null!=f?f:mxUtils.bind(this,function(a,b,c,d,f,g,m,k,p){try{return null!=a&&"<mxlibrary"==a.substring(0,10)?(this.spinner.stop(),this.loadLibrary(new LocalLibrary(this,a,m)),null):this.importFile(a,b,c,d,f,g,m,k,p,e,C)}catch(Z){return this.handleError(Z),null}});g=null!=g?g:mxUtils.bind(this,function(a){p.setSelectionCells(a)});if(this.spinner.spin(document.body,mxResources.get("loading")))for(var t=
 a.length,u=t,A=[],v=mxUtils.bind(this,function(a,b){A[a]=b;if(0==--u){this.spinner.stop();if(null!=l)l(A);else{var c=[];p.getModel().beginUpdate();try{for(var d=0;d<A.length;d++){var e=A[d]();null!=e&&(c=c.concat(e))}}finally{p.getModel().endUpdate()}}g(c)}}),y=0;y<t;y++)mxUtils.bind(this,function(e){var g=a[e];if(null!=g){var l=new FileReader;l.onload=mxUtils.bind(this,function(a){if(null==k||k(g))if("image/"==g.type.substring(0,6))if("image/svg"==g.type.substring(0,9)){var l=a.target.result,t=l.indexOf(","),
 u=decodeURIComponent(escape(atob(l.substring(t+1)))),A=mxUtils.parseXml(u),u=A.getElementsByTagName("svg");if(0<u.length){var u=u[0],y=C?null:u.getAttribute("content");null!=y&&"<"!=y.charAt(0)&&"%"!=y.charAt(0)&&(y=unescape(window.atob?atob(y):Base64.decode(y,!0)));null!=y&&"%"==y.charAt(0)&&(y=decodeURIComponent(y));null==y||"<mxfile "!==y.substring(0,8)&&"<mxGraphModel "!==y.substring(0,14)?v(e,mxUtils.bind(this,function(){try{if(l.substring(0,t+1),null!=A){var a=A.getElementsByTagName("svg");
 if(0<a.length){var m=a[0],k=m.getAttribute("width"),x=m.getAttribute("height"),k=null!=k&&"%"!=k.charAt(k.length-1)?parseFloat(k):NaN,x=null!=x&&"%"!=x.charAt(x.length-1)?parseFloat(x):NaN,q=m.getAttribute("viewBox");if(null==q||0==q.length)m.setAttribute("viewBox","0 0 "+k+" "+x);else if(isNaN(k)||isNaN(x)){var u=q.split(" ");3<u.length&&(k=parseFloat(u[2]),x=parseFloat(u[3]))}l=this.createSvgDataUri(mxUtils.getXml(m));var C=Math.min(1,Math.min(d/Math.max(1,k)),d/Math.max(1,x)),v=f(l,g.type,b+e*
@@ -8986,8 +8992,8 @@ k.editKey?mxResources.get(k.editKey):null,k.discardKey?mxResources.get(k.discard
 null,t?mxUtils.bind(this,function(a,b){this.remoteInvoke("searchDiagrams",[a],null,b,function(){b(null,"Network Error!")})}):null,mxUtils.bind(this,function(a,b,c){g.postMessage(JSON.stringify({event:"template",docUrl:a,info:b,name:c}),"*")}),null,null,q?mxUtils.bind(this,function(a){this.remoteInvoke("getCustomTemplates",null,null,a,function(){a({},0)})}):null);this.showDialog(l.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));l.init();return}if("textContent"==
 k.action){var u=this.getDiagramTextContent();g.postMessage(JSON.stringify({event:"textContent",data:u,message:k}),"*");return}if("status"==k.action){null!=k.messageKey?this.editor.setStatus(mxUtils.htmlEntities(mxResources.get(k.messageKey))):null!=k.message&&this.editor.setStatus(mxUtils.htmlEntities(k.message));null!=k.modified&&(this.editor.modified=k.modified);return}if("spinner"==k.action){var v=null!=k.messageKey?mxResources.get(k.messageKey):k.message;null==k.show||k.show?this.spinner.spin(document.body,
 v):this.spinner.stop();return}if("export"==k.action){if("png"==k.format||"xmlpng"==k.format){if(null==k.spin&&null==k.spinKey||this.spinner.spin(document.body,null!=k.spinKey?mxResources.get(k.spinKey):k.spin)){var y=null!=k.xml?k.xml:this.getFileData(!0);this.editor.graph.setEnabled(!1);var z=this.editor.graph,K=mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();var b=this.createLoadMessage("export");b.format=k.format;b.message=k;b.data=a;b.xml=encodeURIComponent(y);
-g.postMessage(JSON.stringify(b),"*")}),M=mxUtils.bind(this,function(a){null==a&&(a=Editor.blankImage);"xmlpng"==k.format&&(a=this.writeGraphModelToPng(a,"tEXt","mxfile",encodeURIComponent(y)));z!=this.editor.graph&&z.container.parentNode.removeChild(z.container);K(a)}),R=k.pageId||(null!=this.pages?this.pages[0].getId():null);if(this.isExportToCanvas()){if(null!=this.pages&&this.currentPage.getId()!=R){for(var W=z.getGlobalVariable,z=this.createTemporaryGraph(z.getStylesheet()),T,L=0;L<this.pages.length;L++)if(this.pages[L].getId()==
-R){T=this.updatePageRoot(this.pages[L]);break}z.getGlobalVariable=function(a){return"page"==a?T.getName():"pagenumber"==a?1:W.apply(this,arguments)};document.body.appendChild(z.container);z.model.setRoot(T.root)}if(null!=k.layerIds){for(var V=z.model,Z=V.getChildCells(V.getRoot()),l={},L=0;L<k.layerIds.length;L++)l[k.layerIds[L]]=!0;for(L=0;L<Z.length;L++)V.setVisible(Z[L],l[Z[L].id]||!1)}this.exportToCanvas(mxUtils.bind(this,function(a){M(a.toDataURL("image/png"))}),null,null,null,mxUtils.bind(this,
+g.postMessage(JSON.stringify(b),"*")}),M=mxUtils.bind(this,function(a){null==a&&(a=Editor.blankImage);"xmlpng"==k.format&&(a=this.writeGraphModelToPng(a,"tEXt","mxfile",encodeURIComponent(y)));z!=this.editor.graph&&z.container.parentNode.removeChild(z.container);K(a)}),R=k.pageId||(null!=this.pages?this.pages[0].getId():null);if(this.isExportToCanvas()){if(null!=this.pages&&this.currentPage.getId()!=R){for(var X=z.getGlobalVariable,z=this.createTemporaryGraph(z.getStylesheet()),T,L=0;L<this.pages.length;L++)if(this.pages[L].getId()==
+R){T=this.updatePageRoot(this.pages[L]);break}z.getGlobalVariable=function(a){return"page"==a?T.getName():"pagenumber"==a?1:X.apply(this,arguments)};document.body.appendChild(z.container);z.model.setRoot(T.root)}if(null!=k.layerIds){for(var V=z.model,W=V.getChildCells(V.getRoot()),l={},L=0;L<k.layerIds.length;L++)l[k.layerIds[L]]=!0;for(L=0;L<W.length;L++)V.setVisible(W[L],l[W[L].id]||!1)}this.exportToCanvas(mxUtils.bind(this,function(a){M(a.toDataURL("image/png"))}),null,null,null,mxUtils.bind(this,
 function(){M(null)}),null,null,k.scale,null,null,null,z)}else(new mxXmlRequest(EXPORT_URL,"format=png&embedXml="+("xmlpng"==k.format?"1":"0")+(null!=R?"&pageId="+R:"")+(null!=k.layerIds?"&extras="+encodeURIComponent(JSON.stringify({layerIds:k.layerIds})):"")+(null!=k.scale?"&scale="+k.scale:"")+"&base64=1&xml="+encodeURIComponent(y))).send(mxUtils.bind(this,function(a){200<=a.getStatus()&&299>=a.getStatus()?K("data:image/png;base64,"+a.getText()):M(null)}),mxUtils.bind(this,function(){M(null)}))}}else{null!=
 k.xml&&0<k.xml.length&&this.setFileData(k.xml);v=this.createLoadMessage("export");if("html2"==k.format||"html"==k.format&&("0"!=urlParams.pages||null!=this.pages&&1<this.pages.length)){var ga=this.getXmlFileData();v.xml=mxUtils.getXml(ga);v.data=this.getFileData(null,null,!0,null,null,null,ga);v.format=k.format}else if("html"==k.format)y=this.editor.getGraphXml(),v.data=this.getHtml(y,this.editor.graph),v.xml=mxUtils.getXml(y),v.format=k.format;else{mxSvgCanvas2D.prototype.foAltText=null;var fa=this.editor.graph.background;
 fa==mxConstants.NONE&&(fa=null);v.xml=this.getFileData(!0,null,null,null,null,null,null,null,null,!1);v.format="svg";var aa=mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();v.data=this.createSvgDataUri(a);g.postMessage(JSON.stringify(v),"*")});if("xmlsvg"==k.format)(null==k.spin&&null==k.spinKey||this.spinner.spin(document.body,null!=k.spinKey?mxResources.get(k.spinKey):k.spin))&&this.getEmbeddedSvg(v.xml,this.editor.graph,null,!0,aa,null,null,k.embedImages);else if(null==
@@ -9003,17 +9009,17 @@ mxResources.get("saveAndExit")),mxEvent.addListener(b,"click",mxUtils.bind(this,
 mxResources.get("saveAndExit")),b.className="geBigButton geBigStandardButton",b.style.marginLeft="6px",mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("saveAndExit").funct()})),a.appendChild(b)));b=document.createElement("a");mxUtils.write(b,mxResources.get("exit"));b.setAttribute("title",mxResources.get("exit"));b.className="geBigButton geBigStandardButton";b.style.marginLeft="6px";b.style.marginRight="20px";mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("exit").funct()}));
 a.appendChild(b);this.toolbar.container.appendChild(a);this.toolbar.staticElements.push(a);a.style.right="atlas"!=uiTheme?"52px":"42px"}};EditorUi.prototype.showImportCsvDialog=function(){null==this.importCsvDialog&&(this.importCsvDialog=new TextareaDialog(this,mxResources.get("csv")+":",Editor.defaultCsvValue,mxUtils.bind(this,function(a){this.importCsv(a)}),null,null,620,430,null,!0,!0,mxResources.get("import"),this.isOffline()?null:"https://about.draw.io/import-from-csv-to-drawio/"));this.showDialog(this.importCsvDialog.container,
 640,520,!0,!0,null,null,null,null,!0);this.importCsvDialog.init()};EditorUi.prototype.executeLayoutList=function(a,b){for(var c=this.editor.graph,d=c.getSelectionCells(),e=0;e<a.length;e++){var f=new window[a[e].layout](c);if(null!=a[e].config)for(var g in a[e].config)f[g]=a[e].config[g];this.executeLayout(function(){f.execute(c.getDefaultParent(),0==d.length?null:d)},e==a.length-1,b)}};EditorUi.prototype.importCsv=function(a,b){try{var c=a.split("\n"),d=[],e=[],f={};if(0<c.length){var g={},k=null,
-m=null,l=null,n=null,q=null,A=null,D=null,F=null,I="",J="auto",H="auto",E=null,K=null,M=40,R=40,W=100,T=0,L=this.editor.graph;L.getGraphBounds();for(var V=function(){null!=b?b(la):(L.setSelectionCells(la),L.scrollCellToVisible(L.getSelectionCell()))},Z=L.getFreeInsertPoint(),ga=Z.x,fa=Z.y,Z=fa,aa=null,U="auto",F=null,ba=[],Q=null,ca=null,Y=0;Y<c.length&&"#"==c[Y].charAt(0);){a=c[Y];for(Y++;Y<c.length&&"\\"==a.charAt(a.length-1)&&"#"==c[Y].charAt(0);)a=a.substring(0,a.length-1)+mxUtils.trim(c[Y].substring(1)),
-Y++;if("#"!=a.charAt(1)){var ea=a.indexOf(":");if(0<ea){var P=mxUtils.trim(a.substring(1,ea)),N=mxUtils.trim(a.substring(ea+1));"label"==P?aa=L.sanitizeHtml(N):"labelname"==P&&0<N.length&&"-"!=N?n=N:"labels"==P&&0<N.length&&"-"!=N?q=JSON.parse(N):"style"==P?k=N:"parentstyle"==P?A=N:"stylename"==P&&0<N.length&&"-"!=N?l=N:"styles"==P&&0<N.length&&"-"!=N?m=JSON.parse(N):"identity"==P&&0<N.length&&"-"!=N?D=N:"parent"==P&&0<N.length&&"-"!=N?F=N:"namespace"==P&&0<N.length&&"-"!=N?I=N:"width"==P?J=N:"height"==
-P?H=N:"left"==P&&0<N.length?E=N:"top"==P&&0<N.length?K=N:"ignore"==P?ca=N.split(","):"connect"==P?ba.push(JSON.parse(N)):"link"==P?Q=N:"padding"==P?T=parseFloat(N):"edgespacing"==P?M=parseFloat(N):"nodespacing"==P?R=parseFloat(N):"levelspacing"==P?W=parseFloat(N):"layout"==P&&(U=N)}}}if(null==c[Y])throw Error(mxResources.get("invalidOrMissingFile"));var da=this.editor.csvToArray(c[Y]),P=ea=null;if(null!=D||null!=F)for(var S=0;S<da.length;S++)D==da[S]&&(ea=S),F==da[S]&&(P=S);null==aa&&(aa="%"+da[0]+
-"%");if(null!=ba)for(var X=0;X<ba.length;X++)null==g[ba[X].to]&&(g[ba[X].to]={});L.model.beginUpdate();try{for(S=Y+1;S<c.length;S++){var ja=this.editor.csvToArray(c[S]);if(null==ja){var ka=40<c[S].length?c[S].substring(0,40)+"...":c[S];throw Error(S+" ("+ka+") "+mxResources.get("containsValidationErrors"));}if(ja.length==da.length){var O=null,ma=null!=ea?I+ja[ea]:null;null!=ma&&(O=L.model.getCell(ma));var D=null!=O,ha=new mxCell(aa,new mxGeometry(ga,Z,0,0),k||"whiteSpace=wrap;html=1;");ha.vertex=
-!0;ha.id=ma;for(var ia=0;ia<ja.length;ia++)L.setAttributeForCell(ha,da[ia],ja[ia]);if(null!=n&&null!=q){var ua=q[ha.getAttribute(n)];null!=ua&&L.labelChanged(ha,ua)}if(null!=l&&null!=m){var va=m[ha.getAttribute(l)];null!=va&&(ha.style=va)}L.setAttributeForCell(ha,"placeholders","1");ha.style=L.replacePlaceholders(ha,ha.style);D&&(L.model.setGeometry(O,ha.geometry),L.model.setStyle(O,ha.style),0>mxUtils.indexOf(e,O)&&e.push(O));O=ha;if(!D)for(X=0;X<ba.length;X++)g[ba[X].to][O.getAttribute(ba[X].to)]=
+m=null,l=null,n=null,q=null,A=null,D=null,F=null,I="",J="auto",H="auto",E=null,K=null,M=40,R=40,X=100,T=0,L=this.editor.graph;L.getGraphBounds();for(var V=function(){null!=b?b(la):(L.setSelectionCells(la),L.scrollCellToVisible(L.getSelectionCell()))},W=L.getFreeInsertPoint(),ga=W.x,fa=W.y,W=fa,aa=null,U="auto",F=null,ba=[],Q=null,ca=null,Z=0;Z<c.length&&"#"==c[Z].charAt(0);){a=c[Z];for(Z++;Z<c.length&&"\\"==a.charAt(a.length-1)&&"#"==c[Z].charAt(0);)a=a.substring(0,a.length-1)+mxUtils.trim(c[Z].substring(1)),
+Z++;if("#"!=a.charAt(1)){var ea=a.indexOf(":");if(0<ea){var P=mxUtils.trim(a.substring(1,ea)),N=mxUtils.trim(a.substring(ea+1));"label"==P?aa=L.sanitizeHtml(N):"labelname"==P&&0<N.length&&"-"!=N?n=N:"labels"==P&&0<N.length&&"-"!=N?q=JSON.parse(N):"style"==P?k=N:"parentstyle"==P?A=N:"stylename"==P&&0<N.length&&"-"!=N?l=N:"styles"==P&&0<N.length&&"-"!=N?m=JSON.parse(N):"identity"==P&&0<N.length&&"-"!=N?D=N:"parent"==P&&0<N.length&&"-"!=N?F=N:"namespace"==P&&0<N.length&&"-"!=N?I=N:"width"==P?J=N:"height"==
+P?H=N:"left"==P&&0<N.length?E=N:"top"==P&&0<N.length?K=N:"ignore"==P?ca=N.split(","):"connect"==P?ba.push(JSON.parse(N)):"link"==P?Q=N:"padding"==P?T=parseFloat(N):"edgespacing"==P?M=parseFloat(N):"nodespacing"==P?R=parseFloat(N):"levelspacing"==P?X=parseFloat(N):"layout"==P&&(U=N)}}}if(null==c[Z])throw Error(mxResources.get("invalidOrMissingFile"));var da=this.editor.csvToArray(c[Z]),P=ea=null;if(null!=D||null!=F)for(var S=0;S<da.length;S++)D==da[S]&&(ea=S),F==da[S]&&(P=S);null==aa&&(aa="%"+da[0]+
+"%");if(null!=ba)for(var Y=0;Y<ba.length;Y++)null==g[ba[Y].to]&&(g[ba[Y].to]={});L.model.beginUpdate();try{for(S=Z+1;S<c.length;S++){var ja=this.editor.csvToArray(c[S]);if(null==ja){var ka=40<c[S].length?c[S].substring(0,40)+"...":c[S];throw Error(S+" ("+ka+") "+mxResources.get("containsValidationErrors"));}if(ja.length==da.length){var O=null,ma=null!=ea?I+ja[ea]:null;null!=ma&&(O=L.model.getCell(ma));var D=null!=O,ha=new mxCell(aa,new mxGeometry(ga,W,0,0),k||"whiteSpace=wrap;html=1;");ha.vertex=
+!0;ha.id=ma;for(var ia=0;ia<ja.length;ia++)L.setAttributeForCell(ha,da[ia],ja[ia]);if(null!=n&&null!=q){var ua=q[ha.getAttribute(n)];null!=ua&&L.labelChanged(ha,ua)}if(null!=l&&null!=m){var va=m[ha.getAttribute(l)];null!=va&&(ha.style=va)}L.setAttributeForCell(ha,"placeholders","1");ha.style=L.replacePlaceholders(ha,ha.style);D&&(L.model.setGeometry(O,ha.geometry),L.model.setStyle(O,ha.style),0>mxUtils.indexOf(e,O)&&e.push(O));O=ha;if(!D)for(Y=0;Y<ba.length;Y++)g[ba[Y].to][O.getAttribute(ba[Y].to)]=
 O;null!=Q&&"link"!=Q&&(L.setLinkForCell(O,O.getAttribute(Q)),L.setAttributeForCell(O,Q,null));L.fireEvent(new mxEventObject("cellsInserted","cells",[O]));var wa=this.editor.graph.getPreferredSizeForCell(O);O.vertex&&(null!=E&&null!=O.getAttribute(E)&&(O.geometry.x=ga+parseFloat(O.getAttribute(E))),null!=K&&null!=O.getAttribute(K)&&(O.geometry.y=fa+parseFloat(O.getAttribute(K))),"@"==J.charAt(0)&&null!=O.getAttribute(J.substring(1))?O.geometry.width=parseFloat(O.getAttribute(J.substring(1))):O.geometry.width=
-"auto"==J?wa.width+T:parseFloat(J),"@"==H.charAt(0)&&null!=O.getAttribute(H.substring(1))?O.geometry.height=parseFloat(O.getAttribute(H.substring(1))):O.geometry.height="auto"==H?wa.height+T:parseFloat(H),Z+=O.geometry.height+R);D?(null==f[ma]&&(f[ma]=[]),f[ma].push(O)):(F=null!=P?L.model.getCell(I+ja[P]):null,d.push(O),null!=F?(F.style=L.replacePlaceholders(F,A),L.addCell(O,F)):e.push(L.addCell(O)))}}for(var na=e.slice(),la=e.slice(),X=0;X<ba.length;X++)for(var xa=ba[X],S=0;S<e.length;S++){var O=
+"auto"==J?wa.width+T:parseFloat(J),"@"==H.charAt(0)&&null!=O.getAttribute(H.substring(1))?O.geometry.height=parseFloat(O.getAttribute(H.substring(1))):O.geometry.height="auto"==H?wa.height+T:parseFloat(H),W+=O.geometry.height+R);D?(null==f[ma]&&(f[ma]=[]),f[ma].push(O)):(F=null!=P?L.model.getCell(I+ja[P]):null,d.push(O),null!=F?(F.style=L.replacePlaceholders(F,A),L.addCell(O,F)):e.push(L.addCell(O)))}}for(var na=e.slice(),la=e.slice(),Y=0;Y<ba.length;Y++)for(var xa=ba[Y],S=0;S<e.length;S++){var O=
 e[S],ya=mxUtils.bind(this,function(a,b,c){var d=b.getAttribute(c.from);if(null!=d){L.setAttributeForCell(b,c.from,null);for(var d=d.split(","),e=0;e<d.length;e++){var f=g[c.to][d[e]];if(null!=f){var k=c.label;null!=c.fromlabel&&(k=(b.getAttribute(c.fromlabel)||"")+(k||""));null!=c.tolabel&&(k=(k||"")+(f.getAttribute(c.tolabel)||""));la.push(L.insertEdge(null,null,k||"",c.invert?f:a,c.invert?a:f,c.style||L.createCurrentEdgeStyle()));mxUtils.remove(c.invert?a:f,na)}}}});ya(O,O,xa);if(null!=f[O.id])for(ia=
 0;ia<f[O.id].length;ia++)ya(O,f[O.id][ia],xa)}if(null!=ca)for(S=0;S<d.length;S++)for(O=d[S],ia=0;ia<ca.length;ia++)L.setAttributeForCell(O,mxUtils.trim(ca[ia]),null);if(0<e.length){var oa=new mxParallelEdgeLayout(L);oa.spacing=M;var ta=function(){0<oa.spacing&&oa.execute(L.getDefaultParent());for(var a=0;a<e.length;a++){var b=L.getCellGeometry(e[a]);b.x=Math.round(L.snap(b.x));b.y=Math.round(L.snap(b.y));"auto"==J&&(b.width=Math.round(L.snap(b.width)));"auto"==H&&(b.height=Math.round(L.snap(b.height)))}};
 if("["==U.charAt(0)){var za=V;L.view.validate();this.executeLayoutList(JSON.parse(U),function(){ta();za()});V=null}else if("circle"==U){var ra=new mxCircleLayout(L);ra.resetEdges=!1;var Aa=ra.isVertexIgnored;ra.isVertexIgnored=function(a){return Aa.apply(this,arguments)||0>mxUtils.indexOf(e,a)};this.executeLayout(function(){ra.execute(L.getDefaultParent());ta()},!0,V);V=null}else if("horizontaltree"==U||"verticaltree"==U||"auto"==U&&la.length==2*e.length-1&&1==na.length){L.view.validate();var sa=
-new mxCompactTreeLayout(L,"horizontaltree"==U);sa.levelDistance=R;sa.edgeRouting=!1;sa.resetEdges=!1;this.executeLayout(function(){sa.execute(L.getDefaultParent(),0<na.length?na[0]:null)},!0,V);V=null}else if("horizontalflow"==U||"verticalflow"==U||"auto"==U&&1==na.length){L.view.validate();var pa=new mxHierarchicalLayout(L,"horizontalflow"==U?mxConstants.DIRECTION_WEST:mxConstants.DIRECTION_NORTH);pa.intraCellSpacing=R;pa.parallelEdgeSpacing=M;pa.interRankCellSpacing=W;pa.disableEdgeStyle=!1;this.executeLayout(function(){pa.execute(L.getDefaultParent(),
+new mxCompactTreeLayout(L,"horizontaltree"==U);sa.levelDistance=R;sa.edgeRouting=!1;sa.resetEdges=!1;this.executeLayout(function(){sa.execute(L.getDefaultParent(),0<na.length?na[0]:null)},!0,V);V=null}else if("horizontalflow"==U||"verticalflow"==U||"auto"==U&&1==na.length){L.view.validate();var pa=new mxHierarchicalLayout(L,"horizontalflow"==U?mxConstants.DIRECTION_WEST:mxConstants.DIRECTION_NORTH);pa.intraCellSpacing=R;pa.parallelEdgeSpacing=M;pa.interRankCellSpacing=X;pa.disableEdgeStyle=!1;this.executeLayout(function(){pa.execute(L.getDefaultParent(),
 la);L.moveCells(la,ga,fa)},!0,V);V=null}else if("organic"==U||"auto"==U&&la.length>e.length){L.view.validate();var qa=new mxFastOrganicLayout(L);qa.forceConstant=3*R;qa.resetEdges=!1;var Ba=qa.isVertexIgnored;qa.isVertexIgnored=function(a){return Ba.apply(this,arguments)||0>mxUtils.indexOf(e,a)};oa=new mxParallelEdgeLayout(L);oa.spacing=M;this.executeLayout(function(){qa.execute(L.getDefaultParent());ta()},!0,V);V=null}}this.hideDialog()}finally{L.model.endUpdate()}null!=V&&V()}}catch(Ca){this.handleError(Ca)}};
 EditorUi.prototype.getSearch=function(a){var b="";if("1"!=urlParams.offline&&"1"!=urlParams.demo&&null!=a&&0<window.location.search.length){var c="?",d;for(d in urlParams)0>mxUtils.indexOf(a,d)&&null!=urlParams[d]&&(b+=c+d+"="+urlParams[d],c="&")}else b=window.location.search;return b};EditorUi.prototype.getUrl=function(a){a=null!=a?a:window.location.pathname;var b=0<a.indexOf("?")?1:0;if("1"==urlParams.offline)a+=window.location.search;else{var c="tmp libs clibs state fileId code share notitle data url embed client create title splash".split(" "),
 d;for(d in urlParams)0>mxUtils.indexOf(c,d)&&(a=0==b?a+"?":a+"&",null!=urlParams[d]&&(a+=d+"="+urlParams[d],b++))}return a};EditorUi.prototype.showLinkDialog=function(a,b,c){a=new LinkDialog(this,a,b,c,!0);this.showDialog(a.container,560,130,!0,!0);a.init()};var l=EditorUi.prototype.createOutline;EditorUi.prototype.createOutline=function(a){var b=l.apply(this,arguments),c=this.editor.graph,d=b.getSourceGraphBounds;b.getSourceGraphBounds=function(){if(mxUtils.hasScrollbars(c.container)&&c.pageVisible&&
@@ -9235,17 +9241,17 @@ DriveClient.prototype.saveFile=function(a,c,d,b,f,g,k,l){try{var n=0;a.saveLevel
 "-nosave")+(a.isAutosave()?"":"-noauto")+(a.changeListenerEnabled?"":"-nolisten")+(a.inConflictState?"-conflict":"")+(a.invalidChecksum?"-invalid":""),action:d,label:(null!=this.user?"user_"+this.user.id:"nouser")+(null!=a.sync?"-client_"+a.sync.clientId:"-nosync")})}}catch(A){}}),e=mxUtils.bind(this,function(b){q(b);try{EditorUi.logError(b.message,null,null,b),EditorUi.sendReport("Critical error in DriveClient.saveFile "+(new Date).toISOString()+":\n\nBrowser="+navigator.userAgent+"\nFile="+a.desc.id+
 "."+a.desc.headRevisionId+"\nMime="+a.desc.mimeType+"\nUser="+(null!=this.user?this.user.id:"nouser")+(null!=a.sync?"-client_"+a.sync.clientId:"-nosync")+"\nSaveLevel="+a.saveLevel+"\nSaveAsPng="+(this.ui.useCanvasForExport&&/(\.png)$/i.test(a.getTitle()))+"\nRetryCount="+n+"\nMessage="+b.message+"\n\nStack:\n"+b.stack)}catch(C){}});if(a.isEditable()&&null!=a.desc){var m=(new Date).getTime(),p=a.desc.etag,u=a.desc.modifiedDate,v=a.desc.headRevisionId,t=this.ui.useCanvasForExport&&/(\.png)$/i.test(a.getTitle());
 g=null!=g?g:!1;var y=null,z=!1,B={mimeType:a.desc.mimeType,title:a.getTitle()};if(this.isGoogleRealtimeMimeType(B.mimeType))B.mimeType=this.xmlMimeType,y=a.desc,z=c=!0;else if("application/octet-stream"==B.mimeType||"1"==urlParams["override-mime"]&&B.mimeType!=this.xmlMimeType)B.mimeType=this.xmlMimeType;var G=mxUtils.bind(this,function(b,f,A){try{a.saveLevel=3;a.constructor==DriveFile&&(null==l&&(l=[]),null==a.getChannelId()&&l.push({key:"channel",value:Editor.guid(32)}),null==a.getChannelKey()&&
-l.push({key:"key",value:Editor.guid(32)}),l.push({key:"secret",value:Editor.guid(32)}));A||(null!=b||g||(b=this.placeholderThumbnail,f=this.placeholderMimeType),null!=b&&null!=f&&(B.thumbnail={image:b,mimeType:f}));var x=a.getData(),C=mxUtils.bind(this,function(b){try{if(a.saveDelay=(new Date).getTime()-m,a.saveLevel=16,null==b)q({message:mxResources.get("errorSavingFile")+": Empty response"});else{var f=(new Date(b.modifiedDate)).getTime()-(new Date(u)).getTime();if(0>=f||p==b.etag||c&&v==b.headRevisionId){a.saveLevel=
-17;var k=[];0>=f&&k.push("invalid modified time");p==b.etag&&k.push("stale etag");c&&v==b.headRevisionId&&k.push("stale revision");var g=k.join(", ");q({message:mxResources.get("errorSavingFile")+": "+g},b);try{EditorUi.logError("Critical: Error saving to Google Drive "+a.desc.id,null,"from-"+v+"."+u+"-"+this.ui.hashValue(p)+"-to-"+b.headRevisionId+"."+b.modifiedDate+"-"+this.ui.hashValue(b.etag)+(0<g.length?"-errors-"+g:""),"user-"+(null!=this.user?this.user.id:"nouser")+(null!=a.sync?"-client_"+
+l.push({key:"key",value:Editor.guid(32)}),l.push({key:"secret",value:Editor.guid(32)}));A||(null!=b||g||(b=this.placeholderThumbnail,f=this.placeholderMimeType),null!=b&&null!=f&&(B.thumbnail={image:b,mimeType:f}));var x=a.getData(),C=mxUtils.bind(this,function(b){try{if(a.saveDelay=(new Date).getTime()-m,a.saveLevel=17,null==b)q({message:mxResources.get("errorSavingFile")+": Empty response"});else{var f=(new Date(b.modifiedDate)).getTime()-(new Date(u)).getTime();if(0>=f||p==b.etag||c&&v==b.headRevisionId){a.saveLevel=
+18;var k=[];0>=f&&k.push("invalid modified time");p==b.etag&&k.push("stale etag");c&&v==b.headRevisionId&&k.push("stale revision");var g=k.join(", ");q({message:mxResources.get("errorSavingFile")+": "+g},b);try{EditorUi.logError("Critical: Error saving to Google Drive "+a.desc.id,null,"from-"+v+"."+u+"-"+this.ui.hashValue(p)+"-to-"+b.headRevisionId+"."+b.modifiedDate+"-"+this.ui.hashValue(b.etag)+(0<g.length?"-errors-"+g:""),"user-"+(null!=this.user?this.user.id:"nouser")+(null!=a.sync?"-client_"+
 a.sync.clientId:"-nosync"))}catch(M){}}else if(a.saveLevel=null,d(b,x),null!=y){this.executeRequest({url:"/files/"+y.id+"/revisions/"+y.headRevisionId+"?supportsTeamDrives=true"},mxUtils.bind(this,mxUtils.bind(this,function(a){a.pinned=!0;this.executeRequest({url:"/files/"+y.id+"/revisions/"+y.headRevisionId,method:"PUT",params:a})})));try{EditorUi.logEvent({category:a.convertedFrom+"-CONVERT-FILE-"+a.getHash(),action:"from_"+y.id+"."+y.headRevisionId+"-to_"+a.desc.id+"."+a.desc.headRevisionId,label:null!=
 this.user?"user_"+this.user.id:"nouser"+(null!=a.sync?"-client_"+a.sync.clientId:"nosync")})}catch(M){}}}}catch(M){e(M)}}),G=mxUtils.bind(this,function(d,f){a.saveLevel=4;try{null!=l&&(B.properties=l);var g=k||a.constructor!=DriveFile||"manual"!=DrawioFile.SYNC&&"auto"!=DrawioFile.SYNC?null:a.getCurrentEtag(),m=mxUtils.bind(this,function(b){a.saveLevel=5;try{var k=a.desc.mimeType!=this.xmlMimeType&&a.desc.mimeType!=this.mimeType&&a.desc.mimeType!=this.libraryMimeType,l=!0,m=window.setTimeout(mxUtils.bind(this,
 function(){l=!1;q({code:App.ERROR_TIMEOUT,message:mxResources.get("timeout")})}),3*this.ui.timeout);this.executeRequest(this.createUploadRequest(a.getId(),B,d,c||b||k,f,b?null:g,z),mxUtils.bind(this,function(a){window.clearTimeout(m);l&&C(a)}),mxUtils.bind(this,function(b){window.clearTimeout(m);if(l){a.saveLevel=6;try{a.isConflict(b)?this.executeRequest({url:"/files/"+a.getId()+"?supportsTeamDrives=true&fields="+this.catchupFields},mxUtils.bind(this,function(c){a.saveLevel=7;try{if(null!=c&&c.etag==
 g)if(n<this.staleEtagMaxRetries){n++;var d=2*n*this.coolOff*(1+.1*(Math.random()-.5));window.setTimeout(p,d);"1"==urlParams.test&&EditorUi.debug("DriveClient: Stale Etag Detected","retry",n,"delay",d)}else{p(!0);try{EditorUi.logEvent({category:"STALE-ETAG-SAVE-FILE-"+a.getHash(),action:"rev_"+a.desc.headRevisionId+"-mod_"+a.desc.modifiedDate+"-size_"+a.getSize()+"-mime_"+a.desc.mimeType+(this.ui.editor.autosave?"":"-nosave")+(a.isAutosave()?"":"-noauto")+(a.changeListenerEnabled?"":"-nolisten")+(a.inConflictState?
-"-conflict":"")+(a.invalidChecksum?"-invalid":""),label:(null!=this.user?"user_"+this.user.id:"nouser")+(null!=a.sync?"-client_"+a.sync.clientId:"-nosync")})}catch(aa){}}else"1"==urlParams.test&&c.headRevisionId==v&&EditorUi.debug("DriveClient: Remote Etag Changed","local",g,"remote",c.etag,"rev",a.desc.headRevisionId,"response",[c],"file",[a]),q(b,c)}catch(aa){e(aa)}}),mxUtils.bind(this,function(){q(b)})):q(b)}catch(ga){e(ga)}}}))}catch(Z){e(Z)}}),p=mxUtils.bind(this,function(b){a.saveLevel=9;if(b)a.saveLevel=
-14,m(b);else{a.saveLevel=15;var c=!0,d=window.setTimeout(mxUtils.bind(this,function(){a.saveLevel=11;c=!1;q({code:App.ERROR_TIMEOUT,message:mxResources.get("timeout")})}),3*this.ui.timeout);a.saveLevel=10;this.executeRequest({url:"/files/"+a.getId()+"?supportsTeamDrives=true&fields="+this.catchupFields},mxUtils.bind(this,function(f){window.clearTimeout(d);if(c){a.saveLevel=12;try{null!=f&&f.headRevisionId==v?("1"==urlParams.test&&g!=f.etag&&EditorUi.debug("DriveClient: Preflight Etag Update","from",
-g,"to",f.etag,"rev",a.desc.headRevisionId,"response",[f],"file",[a]),g=f.etag,m(b)):q({error:{code:412}},f)}catch(Z){e(Z)}}}),mxUtils.bind(this,function(b){window.clearTimeout(d);c&&(a.saveLevel=13,q(b))}))}});if(t&&null==b){a.saveLevel=8;var x=new Image;x.onload=mxUtils.bind(this,function(){try{var a=this.thumbnailWidth/x.width,b=document.createElement("canvas");b.width=this.thumbnailWidth;b.height=Math.floor(x.height*a);b.getContext("2d").drawImage(x,0,0,b.width,b.height);var c=b.toDataURL(),c=
-c.substring(c.indexOf(",")+1).replace(/\+/g,"-").replace(/\//g,"_");B.thumbnail={image:c,mimeType:"image/png"};p(!1)}catch(V){p(!1)}});x.src="data:image/png;base64,"+d}else p(!1)}catch(W){e(W)}});t?this.ui.getEmbeddedPng(mxUtils.bind(this,function(a){G(a,!0)}),q,this.ui.getCurrentFile()!=a?x:null):G(x,!1)}catch(J){e(J)}});try{a.saveLevel=2,(g||t||a.constructor==DriveLibrary||!this.enableThumbnails||"0"==urlParams.thumb||null!=B.mimeType&&"application/vnd.jgraph.mxfile"!=B.mimeType.substring(0,29)||
-!this.ui.getThumbnail(this.thumbnailWidth,mxUtils.bind(this,function(a){try{var b=null;try{null!=a&&(b=a.toDataURL("image/png")),null!=b&&(b=b.length>this.maxThumbnailSize?null:b.substring(b.indexOf(",")+1).replace(/\+/g,"-").replace(/\//g,"_"))}catch(A){b=null}G(b,"image/png")}catch(A){e(A)}})))&&G(null,null,a.constructor!=DriveLibrary)}catch(x){e(x)}}else this.ui.editor.graph.reset(),q({message:mxResources.get("readOnly")})}catch(x){e(x)}};
+"-conflict":"")+(a.invalidChecksum?"-invalid":""),label:(null!=this.user?"user_"+this.user.id:"nouser")+(null!=a.sync?"-client_"+a.sync.clientId:"-nosync")})}catch(aa){}}else"1"==urlParams.test&&c.headRevisionId==v&&EditorUi.debug("DriveClient: Remote Etag Changed","local",g,"remote",c.etag,"rev",a.desc.headRevisionId,"response",[c],"file",[a]),q(b,c)}catch(aa){e(aa)}}),mxUtils.bind(this,function(){q(b)})):q(b)}catch(ga){e(ga)}}}))}catch(W){e(W)}}),p=mxUtils.bind(this,function(b){a.saveLevel=9;if(b)a.saveLevel=
+14,m(b);else{a.saveLevel=15;var c=!0;a.saveLevel=16;var d=window.setTimeout(mxUtils.bind(this,function(){a.saveLevel=11;c=!1;q({code:App.ERROR_TIMEOUT,message:mxResources.get("timeout")})}),3*this.ui.timeout);a.saveLevel=10;this.executeRequest({url:"/files/"+a.getId()+"?supportsTeamDrives=true&fields="+this.catchupFields},mxUtils.bind(this,function(f){window.clearTimeout(d);if(c){a.saveLevel=12;try{null!=f&&f.headRevisionId==v?("1"==urlParams.test&&g!=f.etag&&EditorUi.debug("DriveClient: Preflight Etag Update",
+"from",g,"to",f.etag,"rev",a.desc.headRevisionId,"response",[f],"file",[a]),g=f.etag,m(b)):q({error:{code:412}},f)}catch(W){e(W)}}}),mxUtils.bind(this,function(b){window.clearTimeout(d);c&&(a.saveLevel=13,q(b))}))}});if(t&&null==b){a.saveLevel=8;var x=new Image;x.onload=mxUtils.bind(this,function(){try{var a=this.thumbnailWidth/x.width,b=document.createElement("canvas");b.width=this.thumbnailWidth;b.height=Math.floor(x.height*a);b.getContext("2d").drawImage(x,0,0,b.width,b.height);var c=b.toDataURL(),
+c=c.substring(c.indexOf(",")+1).replace(/\+/g,"-").replace(/\//g,"_");B.thumbnail={image:c,mimeType:"image/png"};p(!1)}catch(V){try{p(!1)}catch(W){e(W)}}});x.src="data:image/png;base64,"+d}else p(!1)}catch(X){e(X)}});t?this.ui.getEmbeddedPng(mxUtils.bind(this,function(a){G(a,!0)}),q,this.ui.getCurrentFile()!=a?x:null):G(x,!1)}catch(J){e(J)}});try{a.saveLevel=2,(g||t||a.constructor==DriveLibrary||!this.enableThumbnails||"0"==urlParams.thumb||null!=B.mimeType&&"application/vnd.jgraph.mxfile"!=B.mimeType.substring(0,
+29)||!this.ui.getThumbnail(this.thumbnailWidth,mxUtils.bind(this,function(a){try{var b=null;try{null!=a&&(b=a.toDataURL("image/png")),null!=b&&(b=b.length>this.maxThumbnailSize?null:b.substring(b.indexOf(",")+1).replace(/\+/g,"-").replace(/\//g,"_"))}catch(A){b=null}G(b,"image/png")}catch(A){e(A)}})))&&G(null,null,a.constructor!=DriveLibrary)}catch(x){e(x)}}else this.ui.editor.graph.reset(),q({message:mxResources.get("readOnly")})}catch(x){e(x)}};
 DriveClient.prototype.insertFile=function(a,c,d,b,f,g,k){g=null!=g?g:this.xmlMimeType;a={mimeType:g,title:a};null!=d&&(a.parents=[{kind:"drive#fileLink",id:d}]);this.executeRequest(this.createUploadRequest(null,a,c,!1,k),mxUtils.bind(this,function(a){g==this.libraryMimeType?b(new DriveLibrary(this.ui,c,a)):0==a?null!=f&&f({message:mxResources.get("errorSavingFile")}):b(new DriveFile(this.ui,c,a))}),f)};
 DriveClient.prototype.createUploadRequest=function(a,c,d,b,f,g,k){f=null!=f?f:!1;var l={"Content-Type":'multipart/mixed; boundary="-------314159265358979323846"'};null!=g&&(l["If-Match"]=g);a={fullUrl:"https://content.googleapis.com/upload/drive/v2/files"+(null!=a?"/"+a:"")+"?uploadType=multipart&supportsTeamDrives=true&fields="+this.allFields,method:null!=a?"PUT":"POST",headers:l,params:"\r\n---------314159265358979323846\r\nContent-Type: application/json\r\n\r\n"+JSON.stringify(c)+"\r\n---------314159265358979323846\r\nContent-Type: application/octect-stream\r\nContent-Transfer-Encoding: base64\r\n\r\n"+
 (null!=d?f?d:Base64.encode(d):"")+"\r\n---------314159265358979323846--"};b||(a.fullUrl+="&newRevision=false");k&&(a.fullUrl+="&pinned=true");return a};
@@ -9861,8 +9867,8 @@ break}if(null!=m&&f!=m&&null!=this.view.getState(a[0])){var u=t.getIncomingEdges
 m,!0);else if(b(a[q])&&(u=t.getIncomingEdges(a[q]),0<u.length))if(!e)b(m)&&0>mxUtils.indexOf(a,this.model.getTerminal(u[0],!0))&&this.model.setTerminal(u[0],m,!0);else if(0==t.getIncomingEdges(l[q]).length){n=m;if(null==n||n==t.model.getParent(a[q]))n=t.model.getTerminal(u[0],!0);e=this.cloneCell(u[0]);this.addEdge(e,t.getDefaultParent(),n,l[q])}}finally{this.model.endUpdate()}return l};if(null!=v.sidebar){var C=v.sidebar.dropAndConnect;v.sidebar.dropAndConnect=function(a,c,d,e){var f=t.model,g=null;
 f.beginUpdate();try{if(g=C.apply(this,arguments),b(a))for(var k=0;k<g.length;k++)if(f.isEdge(g[k])&&null==f.getTerminal(g[k],!0)){f.setTerminal(g[k],a,!0);var l=t.getCellGeometry(g[k]);l.points=null;null!=l.getTerminalPoint(!0)&&l.setTerminalPoint(null,!0)}}finally{f.endUpdate()}return g}}var A={88:v.actions.get("selectChildren"),84:v.actions.get("selectSubtree"),80:v.actions.get("selectParent"),83:v.actions.get("selectSiblings")},D=v.onKeyDown;v.onKeyDown=function(a){try{if(t.isEnabled()&&!t.isEditing()&&
 b(t.getSelectionCell())&&1==t.getSelectionCount()){var c=null;0<t.getIncomingEdges(t.getSelectionCell()).length&&(9==a.which?c=mxEvent.isShiftDown(a)?e(t.getSelectionCell()):m(t.getSelectionCell()):13==a.which&&(c=q(t.getSelectionCell(),!mxEvent.isShiftDown(a))));if(null!=c&&0<c.length)1==c.length&&t.model.isEdge(c[0])?t.setSelectionCell(t.model.getTerminal(c[0],!1)):t.setSelectionCell(c[c.length-1]),null!=v.hoverIcons&&v.hoverIcons.update(t.view.getState(t.getSelectionCell())),t.startEditingAtCell(t.getSelectionCell()),
-mxEvent.consume(a);else if(mxEvent.isAltDown(a)&&mxEvent.isShiftDown(a)){var d=A[a.keyCode];null!=d&&(d.funct(a),mxEvent.consume(a))}else 37==a.keyCode?(u(t.getSelectionCell(),mxConstants.DIRECTION_WEST),mxEvent.consume(a)):38==a.keyCode?(u(t.getSelectionCell(),mxConstants.DIRECTION_NORTH),mxEvent.consume(a)):39==a.keyCode?(u(t.getSelectionCell(),mxConstants.DIRECTION_EAST),mxEvent.consume(a)):40==a.keyCode&&(u(t.getSelectionCell(),mxConstants.DIRECTION_SOUTH),mxEvent.consume(a))}}catch(W){console.log("error",
-W)}mxEvent.isConsumed(a)||D.apply(this,arguments)};var F=t.connectVertex;t.connectVertex=function(a,c,d,f,g,k){var l=t.getIncomingEdges(a);return b(a)&&0<l.length?(d=n(a),f=d==mxConstants.DIRECTION_EAST||d==mxConstants.DIRECTION_WEST,g=c==mxConstants.DIRECTION_EAST||c==mxConstants.DIRECTION_WEST,d==c?m(a):f==g?e(a):q(a,c!=mxConstants.DIRECTION_NORTH&&c!=mxConstants.DIRECTION_WEST)):F.call(this,a,c,d,f,g,k)};t.getSubtree=function(a){var d=[a];!c(a)&&!b(a)||l(a)||t.traverse(a,!0,function(a,b){null!=
+mxEvent.consume(a);else if(mxEvent.isAltDown(a)&&mxEvent.isShiftDown(a)){var d=A[a.keyCode];null!=d&&(d.funct(a),mxEvent.consume(a))}else 37==a.keyCode?(u(t.getSelectionCell(),mxConstants.DIRECTION_WEST),mxEvent.consume(a)):38==a.keyCode?(u(t.getSelectionCell(),mxConstants.DIRECTION_NORTH),mxEvent.consume(a)):39==a.keyCode?(u(t.getSelectionCell(),mxConstants.DIRECTION_EAST),mxEvent.consume(a)):40==a.keyCode&&(u(t.getSelectionCell(),mxConstants.DIRECTION_SOUTH),mxEvent.consume(a))}}catch(X){console.log("error",
+X)}mxEvent.isConsumed(a)||D.apply(this,arguments)};var F=t.connectVertex;t.connectVertex=function(a,c,d,f,g,k){var l=t.getIncomingEdges(a);return b(a)&&0<l.length?(d=n(a),f=d==mxConstants.DIRECTION_EAST||d==mxConstants.DIRECTION_WEST,g=c==mxConstants.DIRECTION_EAST||c==mxConstants.DIRECTION_WEST,d==c?m(a):f==g?e(a):q(a,c!=mxConstants.DIRECTION_NORTH&&c!=mxConstants.DIRECTION_WEST)):F.call(this,a,c,d,f,g,k)};t.getSubtree=function(a){var d=[a];!c(a)&&!b(a)||l(a)||t.traverse(a,!0,function(a,b){null!=
 b&&0>mxUtils.indexOf(d,b)&&d.push(b);0>mxUtils.indexOf(d,a)&&d.push(a);return!0});return d};var I=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){I.apply(this,arguments);(c(this.state.cell)||b(this.state.cell))&&0<this.graph.getOutgoingEdges(this.state.cell).length&&(this.moveHandle=mxUtils.createImage(a),this.moveHandle.setAttribute("title","Move Subtree"),this.moveHandle.style.position="absolute",this.moveHandle.style.cursor="pointer",this.moveHandle.style.width="18px",
 this.moveHandle.style.height="18px",this.graph.container.appendChild(this.moveHandle),mxEvent.addGestureListeners(this.moveHandle,mxUtils.bind(this,function(a){this.graph.graphHandler.start(this.state.cell,mxEvent.getClientX(a),mxEvent.getClientY(a),this.graph.getSubtree(this.state.cell));this.graph.graphHandler.cellWasClicked=!0;this.graph.isMouseTrigger=mxEvent.isMouseEvent(a);this.graph.isMouseDown=!0;v.hoverIcons.reset();mxEvent.consume(a)})))};var J=mxVertexHandler.prototype.redrawHandles;mxVertexHandler.prototype.redrawHandles=
 function(){J.apply(this,arguments);null!=this.moveHandle&&(this.moveHandle.style.left=this.state.x+this.state.width+(40>this.state.width?10:0)+2+"px",this.moveHandle.style.top=this.state.y+this.state.height+(40>this.state.height?10:0)+2+"px")};var H=mxVertexHandler.prototype.setHandlesVisible;mxVertexHandler.prototype.setHandlesVisible=function(a){H.apply(this,arguments);null!=this.moveHandle&&(this.moveHandle.style.display=a?"":"none")};var E=mxVertexHandler.prototype.destroy;mxVertexHandler.prototype.destroy=
diff --git a/src/main/webapp/js/diagramly/DriveClient.js b/src/main/webapp/js/diagramly/DriveClient.js
index ebc6080d36ca2c827b21d842e424b8f954303319..5b0a5fd8339fd81850b4371e65c7e595763fd33a 100644
--- a/src/main/webapp/js/diagramly/DriveClient.js
+++ b/src/main/webapp/js/diagramly/DriveClient.js
@@ -1362,7 +1362,7 @@ DriveClient.prototype.saveFile = function(file, revision, success, errFn, noChec
 						try
 						{
 							file.saveDelay = new Date().getTime() - t0;
-							file.saveLevel = 16;
+							file.saveLevel = 17;
 							
 							if (resp == null)
 							{
@@ -1375,7 +1375,7 @@ DriveClient.prototype.saveFile = function(file, revision, success, errFn, noChec
 								
 								if (delta <= 0 || etag0 == resp.etag || (revision && head0 == resp.headRevisionId))
 								{
-									file.saveLevel = 17;
+									file.saveLevel = 18;
 									var reasons = [];
 									
 									if (delta <= 0)
@@ -1637,6 +1637,7 @@ DriveClient.prototype.saveFile = function(file, revision, success, errFn, noChec
 								{
 									file.saveLevel = 15;
 									var acceptResponse = true;
+									file.saveLevel = 16;
 									
 									// Allow for re-auth flow with 3x timeout
 									var timeoutThread = window.setTimeout(mxUtils.bind(this, function()
@@ -1731,7 +1732,14 @@ DriveClient.prototype.saveFile = function(file, revision, success, errFn, noChec
 							    	}
 							    	catch (e)
 							    	{
-							    		executeSave(false)
+							    		try
+							    		{
+							    			executeSave(false)
+							    		}
+										catch (e2)
+										{
+											criticalError(e2);
+										}
 							    	}
 								});
 								
diff --git a/src/main/webapp/js/diagramly/Editor.js b/src/main/webapp/js/diagramly/Editor.js
index 0b76038260327f462687b1c8e02991ef98c9426a..e0fcc416fd810b867b4c005d806bb05eaf9185de 100644
--- a/src/main/webapp/js/diagramly/Editor.js
+++ b/src/main/webapp/js/diagramly/Editor.js
@@ -4952,6 +4952,7 @@
 	mxStencilRegistry.libraries['bootstrap'] = [SHAPES_PATH + '/mxBootstrap.js', STENCIL_PATH + '/bootstrap.xml'];
 	mxStencilRegistry.libraries['gmdl'] = [SHAPES_PATH + '/mxGmdl.js', STENCIL_PATH + '/gmdl.xml'];
 	mxStencilRegistry.libraries['gcp2'] = [SHAPES_PATH + '/mxGCP2.js', STENCIL_PATH + '/gcp2.xml'];
+	mxStencilRegistry.libraries['ibm'] = [SHAPES_PATH + '/mxIBM.js', STENCIL_PATH + '/ibm.xml'];
 	mxStencilRegistry.libraries['cabinets'] = [SHAPES_PATH + '/mxCabinets.js', STENCIL_PATH + '/cabinets.xml'];
 	mxStencilRegistry.libraries['archimate'] = [SHAPES_PATH + '/mxArchiMate.js'];
 	mxStencilRegistry.libraries['archimate3'] = [SHAPES_PATH + '/mxArchiMate3.js'];
diff --git a/src/main/webapp/js/diagramly/EditorUi.js b/src/main/webapp/js/diagramly/EditorUi.js
index 744b999d62cb9fa4604268bacadec130dfe1c0f7..f47193c7d49c5630fd7c8cf6f793d7afbdfac5ad 100644
--- a/src/main/webapp/js/diagramly/EditorUi.js
+++ b/src/main/webapp/js/diagramly/EditorUi.js
@@ -4054,7 +4054,7 @@
 				win.close();
 			}
 		}
-		else if (mxClient.IS_IOS && mxClient.IS_SF && this.isOffline())
+		else if (mxClient.IS_IOS && this.isOffline())
 		{
 			// Workaround for "WebKitBlobResource error 1" in mobile Safari
 			if (!navigator.standalone && mimeType != null && mimeType.substring(0, 6) == 'image/')
@@ -4071,9 +4071,10 @@
 			var a = document.createElement('a');
 			
 			// Workaround for mxXmlRequest.simulate no longer working in PaleMoon
-			// if this is used (ie PNG export broken after XML export in PaleMoon).
+			// if this is used (ie PNG export broken after XML export in PaleMoon)
+			// and for "WebKitBlobResource error 1" for all browsers on iOS.
 			var useDownload = navigator.userAgent.indexOf("PaleMoon/") < 0 &&
-				typeof a.download !== 'undefined';
+				!mxClient.IS_IOS && typeof a.download !== 'undefined';
 			
 			// Workaround for Chromium 65 cross-domain anchor download issue
 			if (mxClient.IS_GC)
diff --git a/src/main/webapp/js/diagramly/Extensions.js b/src/main/webapp/js/diagramly/Extensions.js
index 1c38b0620a4d04b39ff02ce68215c5c16a35bc7b..84c105842c0f6fe5ff6fc86c9f133df1590e3fdf 100644
--- a/src/main/webapp/js/diagramly/Extensions.js
+++ b/src/main/webapp/js/diagramly/Extensions.js
@@ -3043,7 +3043,14 @@ LucidImporter = {};
 				}
 			}
 		}
-
+		else if (text == null && props.t0 != null)
+		{
+			if (props.t0.t != null)
+			{
+				text = props.t0;
+			}
+		}
+		
 		// TODO: Convert text object to HTML
 		if (text != null)
 		{
@@ -3051,6 +3058,7 @@ LucidImporter = {};
 			{
 				text.t = text.t.replace(/</g, '&lt;');
 				text.t = text.t.replace(/>/g, '&gt;');
+				
 				return text.t;
 			}
 			
@@ -3060,6 +3068,7 @@ LucidImporter = {};
 				{
 					text.Value.t = text.Value.t.replace(/</g, '&lt;');
 					text.Value.t = text.Value.t.replace(/>/g, '&gt;');
+					
 					return text.Value.t;
 				}
 			}
@@ -3783,6 +3792,42 @@ LucidImporter = {};
 		
 		return '';
 	}
+
+	// Adds metadata
+	function addCustomData(cell, p, graph)
+	{
+		for (var property in p)
+		{
+			if (p.hasOwnProperty(property) && 
+				property.toString().startsWith('ShapeData_'))
+			{
+				try
+				{
+					var data = p[property];
+					var key = mxUtils.trim(data.Label).replace(/[^a-z0-9]+/ig, '_').
+						replace(/^\d+/, '').replace(/_+$/, '');
+					var currentKey = key;
+					var counter = 0;
+					
+					// Resolves conflicts by adding counter postfix
+					while (graph.getAttributeForCell(cell, currentKey) != null)
+					{
+						counter++;
+						currentKey = key + '_' + counter;
+					}
+					
+					graph.setAttributeForCell(cell, currentKey, (data.Value != null) ? data.Value : '');
+				}
+				catch (e)
+				{
+					if (window.console)
+					{
+						console.log('Ignored ' + property + ':', e);
+					}
+				}
+			}
+		}
+	};
 	
 	function updateCell(cell, obj, graph)
 	{
@@ -3810,28 +3855,7 @@ LucidImporter = {};
 					cell.style += getStrokeColor(p, a);
 				}
 				
-				// Adds custom data
-				for (var property in p)
-				{
-					if (p.hasOwnProperty(property) && 
-						property.toString().startsWith('ShapeData_'))
-					{
-						try
-						{
-							var data = p[property];
-							graph.setAttributeForCell(cell, data.Label.
-								replace(/[^a-z0-9]/ig, '_').
-								replace(/^\d*/, '_'), data.Value);
-						}
-						catch (e)
-						{
-							if (window.console)
-							{
-								console.log('Ignored ' + property + ':', e);
-							}
-						}
-					}
-				}
+				addCustomData(cell, p, graph);
 				
 				// Edge style
 				if (cell.edge)
@@ -3916,12 +3940,12 @@ LucidImporter = {};
 	    return v;
 	};
 	
-	function createEdge(obj)
+	function createEdge(obj, graph)
 	{
 		var e = new mxCell('', new mxGeometry(0, 0, 100, 100), edgeStyle);
 		e.geometry.relative = true;
 		e.edge = true;
-		updateCell(e, obj);
+		updateCell(e, obj, graph);
 		
 		// Adds text labels
 		var a = getAction(obj);
@@ -4087,7 +4111,7 @@ LucidImporter = {};
 						
 						if (!created)
 						{
-						    lookup[obj.id] = createVertex(obj);
+						    lookup[obj.id] = createVertex(obj, graph);
 							queue.push(obj);
 						}
 					}
@@ -4133,7 +4157,7 @@ LucidImporter = {};
 			{
 				var src = (p.Endpoint1.Block != null) ? lookup[p.Endpoint1.Block] : null;
 				var trg = (p.Endpoint2.Block != null) ? lookup[p.Endpoint2.Block] : null;
-				var e = createEdge(obj);
+				var e = createEdge(obj, graph);
 				
 				if (src == null && p.Endpoint1 != null)
 				{
diff --git a/src/main/webapp/js/diagramly/sidebar/Sidebar-Basic.js b/src/main/webapp/js/diagramly/sidebar/Sidebar-Basic.js
index 4ef63f2a712fb9453feef06af03304479acb4126..e43dcf6620a744547129e975c39ac55311c6a3b4 100644
--- a/src/main/webapp/js/diagramly/sidebar/Sidebar-Basic.js
+++ b/src/main/webapp/js/diagramly/sidebar/Sidebar-Basic.js
@@ -12,16 +12,17 @@
 		
 		this.addPaletteFunctions('basic', mxResources.get('basic'), false,
 		[
-			this.createVertexTemplateEntry(s2 + 'rect;fillColor2=none;strokeWidth=1;size=20;indent=5;', 120, 60, '', 'Partial Rectangle'),
-			this.createVertexTemplateEntry('shape=partialRectangle;whiteSpace=wrap;html=1;top=0;bottom=0;fillColor=none;', 120, 60, '', 'Partial Rectangle'),
-			this.createVertexTemplateEntry('shape=partialRectangle;whiteSpace=wrap;html=1;right=0;top=0;bottom=0;fillColor=none;routingCenterX=-0.5;', 120, 60, '', 'Partial Rectangle'),
-			this.createVertexTemplateEntry('shape=partialRectangle;whiteSpace=wrap;html=1;bottom=0;right=0;fillColor=none;', 120, 60, '', 'Partial Rectangle'),
-			this.createVertexTemplateEntry('shape=partialRectangle;whiteSpace=wrap;html=1;top=0;left=0;fillColor=none;', 120, 60, '', 'Partial Rectangle'),
+			this.createVertexTemplateEntry(s2 + 'rect;fillColor2=none;strokeWidth=1;size=20;indent=5;', w * 1.2, h * 0.6, '', 'Partial Rectangle'),
+			this.createVertexTemplateEntry('shape=partialRectangle;whiteSpace=wrap;html=1;top=0;bottom=0;fillColor=none;', w * 1.2, h * 0.6, '', 'Partial Rectangle'),
+			this.createVertexTemplateEntry('shape=partialRectangle;whiteSpace=wrap;html=1;right=0;top=0;bottom=0;fillColor=none;routingCenterX=-0.5;', w * 1.2, h * 0.6, '', 'Partial Rectangle'),
+			this.createVertexTemplateEntry('shape=partialRectangle;whiteSpace=wrap;html=1;bottom=0;right=0;fillColor=none;', w * 1.2, h * 0.6, '', 'Partial Rectangle'),
+			this.createVertexTemplateEntry('shape=partialRectangle;whiteSpace=wrap;html=1;top=0;left=0;fillColor=none;', w * 1.2, h * 0.6, '', 'Partial Rectangle'),
 			this.createVertexTemplateEntry(s2 + '4_point_star_2;dx=0.8;', w, h, '', '4 Point Star', null, null, this.getTagsForStencil(gn, '4_point_star', dt).join(' ')),
 			this.createVertexTemplateEntry(s2 + '6_point_star', w, h * 0.9, '', '6 Point Star', null, null, this.getTagsForStencil(gn, '6_point_star', dt).join(' ')),
 			this.createVertexTemplateEntry(s2 + '8_point_star', w, h, '', '8 Point Star', null, null, this.getTagsForStencil(gn, '8_point_star', dt).join(' ')),
 			this.createVertexTemplateEntry(s2 + 'banner', w, h * 0.5, '', 'Banner', null, null, this.getTagsForStencil(gn, 'banner', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'cloud_callout', w * 0.9, h * 0.6, '', 'Cloud Callout', null, null, this.getTagsForStencil(gn, 'cloud_callout', dt).join(' ')),
+			this.createVertexTemplateEntry(s + 'cloud_rect', w * 1.2, h * 0.9, '', 'Cloud Rectangle', null, null, this.getTagsForStencil(gn, 'cloud_rect', dt + ' rectangle').join(' ')),
 			this.createVertexTemplateEntry(s2 + 'cone', w, h, '', 'Cone', null, null, this.getTagsForStencil(gn, 'cone', dt).join(' ')),
 			this.createVertexTemplateEntry(s2 + 'cone2;dx=0.5;dy=0.9;', w, h, '', 'Cone (adjustable)', null, null, this.getTagsForStencil(gn, 'cone', dt).join(' ')),
 			this.createVertexTemplateEntry(s + 'document', w, h, '', 'Document', null, null, this.getTagsForStencil(gn, 'document', dt).join(' ')),
diff --git a/src/main/webapp/js/diagramly/sidebar/Sidebar-IBM.js b/src/main/webapp/js/diagramly/sidebar/Sidebar-IBM.js
index ec3c85a633806a487f6a8b2f6d920e5e38bf3e8d..94b1f8f5332963812b3e9598f182a64b252a1d8a 100644
--- a/src/main/webapp/js/diagramly/sidebar/Sidebar-IBM.js
+++ b/src/main/webapp/js/diagramly/sidebar/Sidebar-IBM.js
@@ -20,6 +20,8 @@
 		this.addIBMSocialPalette(d, dt, sb, s);
 		this.addIBMUsersPalette(d, dt, sb, s);
 		this.addIBMVPCPalette(d, dt, sb, s);
+		this.addIBMBoxesPalette(d, dt, sb, s);
+		this.addIBMConnectorsPalette(d, dt, sb, s);
 	};
 
 	Sidebar.prototype.addIBMAnalyticsPalette = function(d, dt, sb, s)
@@ -503,8 +505,6 @@
 					 d, d, '', 'Instance', false, null, this.getTagsForStencil(gn, 'instance', dt).join(' ')),
 			 this.createVertexTemplateEntry(s + 'LoadBalancer.svg;',
 					 d, d, '', 'Load Balancer', false, null, this.getTagsForStencil(gn, 'load balancer', dt).join(' ')),
-//			 this.createVertexTemplateEntry(s + 'BareMetalServer.svg;',
-//					 d, d, '', 'Bare Metal Server', false, null, this.getTagsForStencil(gn, 'bare metal server', dt).join(' ')),
 			 this.createVertexTemplateEntry(s + 'BlockStorage.svg;',
 					 d, d, '', 'Block Storage', false, null, this.getTagsForStencil(gn, 'block storage', dt).join(' ')),
 			 this.createVertexTemplateEntry(s + 'FloatingIP.svg;',
@@ -539,129 +539,18 @@
 					 d, d, '', 'Bridge', false, null, this.getTagsForStencil(gn, 'bridge', dt).join(' ')),
 			 this.createVertexTemplateEntry(s + 'CloudServices.svg;',
 					 d, d, '', 'Cloud Services', false, null, this.getTagsForStencil(gn, 'cloud services', dt).join(' ')),
-					 
-			 this.addEntry(dt + '', function()
-			 {
-				var bg1 = new mxCell('', new mxGeometry(0, 0, 320, 200), 'swimlane;fontStyle=0;horizontal=1;collapsible=0;startSize=28;swimlaneLine=0;swimlaneFillColor=none;fillColor=none;rounded=0;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=0;strokeColor=#4376BB;verticalAlign=top;align=left;spacingLeft=5;dashed=0;strokeWidth=1;container=1;');
-				bg1.vertex = true;
-				var bg2 = new mxCell('Public', new mxGeometry(15, 0, 30, 30), 'aspect=fixed;perimeter=ellipsePerimeter;html=1;align=center;shadow=0;dashed=0;labelBackgroundColor=none;fontSize=12;spacingTop=-5;image;image=img/lib/ibm/vpc/PublicTag.svg;part=1;');
-				bg2.vertex = true;
-			    bg1.insert(bg2);
-				var bg3 = new mxCell('Enterprise', new mxGeometry(275, 0, 30, 30), 'aspect=fixed;perimeter=ellipsePerimeter;html=1;align=center;shadow=0;dashed=0;labelBackgroundColor=none;fontSize=12;spacingTop=-5;image;image=img/lib/ibm/vpc/EnterpriseTag.svg;part=1;');
-				bg3.vertex = true;
-			    bg1.insert(bg3);
-			    
-				var bg4 = new mxCell('IBM Cloud', new mxGeometry(60, 0, 200, 200), 'swimlane;fontStyle=0;horizontal=1;collapsible=0;startSize=28;swimlaneLine=0;swimlaneFillColor=none;fillColor=none;rounded=0;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=12;strokeColor=#417CB9;verticalAlign=top;align=left;spacingLeft=30;spacingTop=1;dashed=0;strokeWidth=1;');
-				bg4.vertex = true;
-			    bg1.insert(bg4);
-				var bg5 = new mxCell('', new mxGeometry(0, 0, 30, 30), s + 'CloudTag.svg;part=1;');
-				bg5.vertex = true;
-			    bg4.insert(bg5);
-			    
-			   	return sb.createVertexTemplateFromCells([bg1], 320, 200, 'Cloud Universe');
-			 }),
-					 
-			 this.addEntry(dt + 'ibm cloud', function()
-			 {
-				var bg1 = new mxCell('IBM Cloud', new mxGeometry(0, 0, 200, 200), 'swimlane;fontStyle=0;horizontal=1;collapsible=0;startSize=28;swimlaneLine=0;swimlaneFillColor=none;fillColor=none;rounded=0;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=12;strokeColor=#417CB9;verticalAlign=top;align=left;spacingLeft=30;spacingTop=1;dashed=0;strokeWidth=1;');
-				bg1.vertex = true;
-				var bg2 = new mxCell('', new mxGeometry(0, 0, 30, 30), s + 'CloudTag.svg;part=1;');
-				bg2.vertex = true;
-			    bg1.insert(bg2);
-			    
-			   	return sb.createVertexTemplateFromCells([bg1], 200, 200, 'IBM Cloud');
-			 }),
-					 
-			 this.addEntry(dt + '', function()
-			 {
-				var bg1 = new mxCell('VPC', new mxGeometry(0, 0, 200, 200), 'swimlane;fontStyle=0;horizontal=1;collapsible=0;startSize=28;swimlaneLine=0;swimlaneFillColor=none;fillColor=none;rounded=0;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=12;strokeColor=#417CB9;verticalAlign=top;align=left;spacingLeft=30;spacingTop=1;dashed=0;strokeWidth=1;');
-				bg1.vertex = true;
-				var bg2 = new mxCell('', new mxGeometry(0, 0, 30, 30), s + 'VPCTag.svg;part=1;');
-				bg2.vertex = true;
-			    bg1.insert(bg2);
-			    
-			   	return sb.createVertexTemplateFromCells([bg1], 200, 200, 'VPC');
-			 }),
-					 
-			 this.addEntry(dt + '', function()
-			 {
-				var bg1 = new mxCell('Region', new mxGeometry(0, 0, 200, 200), 'swimlane;fontStyle=0;horizontal=1;collapsible=0;startSize=28;swimlaneLine=0;swimlaneFillColor=none;fillColor=none;rounded=0;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=0;strokeColor=#00882B;verticalAlign=top;align=left;spacingLeft=30;dashed=1;strokeWidth=1;container=1;dashPattern=1 1;');
-				bg1.vertex = true;
-				var bg2 = new mxCell('', new mxGeometry(0, 0, 30, 30), s + 'RegionTag.svg;part=1;');
-				bg2.vertex = true;
-			    bg1.insert(bg2);
-			    
-			   	return sb.createVertexTemplateFromCells([bg1], 200, 200, 'Region');
-			 }),
-					 
-			 this.addEntry(dt + '', function()
-			 {
-				var bg1 = new mxCell('Zone', new mxGeometry(0, 0, 200, 200), 'swimlane;fontStyle=0;horizontal=1;collapsible=0;startSize=28;swimlaneLine=0;swimlaneFillColor=none;fillColor=none;rounded=0;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=0;strokeColor=#00882B;verticalAlign=top;align=left;spacingLeft=30;dashed=1;strokeWidth=1;container=1;');
-				bg1.vertex = true;
-				var bg2 = new mxCell('', new mxGeometry(0, 0, 30, 30), s + 'ZoneTag.svg;part=1;');
-				bg2.vertex = true;
-			    bg1.insert(bg2);
-			    
-			   	return sb.createVertexTemplateFromCells([bg1], 200, 200, 'Zone');
-			 }),
-					 
-			 this.addEntry(dt + '', function()
-			 {
-				var bg1 = new mxCell('Subnet', new mxGeometry(0, 0, 200, 200), 'swimlane;fontStyle=0;horizontal=1;collapsible=0;startSize=28;swimlaneLine=0;swimlaneFillColor=none;fillColor=none;rounded=0;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=12;strokeColor=#2A8838;verticalAlign=top;align=left;spacingLeft=30;spacingTop=1;dashed=0;strokeWidth=1;');
-				bg1.vertex = true;
-				var bg2 = new mxCell('', new mxGeometry(0, 0, 30, 40), s + 'SubnetTag.svg;part=1;');
-				bg2.vertex = true;
-			    bg1.insert(bg2);
-			    
-			   	return sb.createVertexTemplateFromCells([bg1], 200, 200, 'Subnet');
-			 }),
-					 
-			 this.createVertexTemplateEntry(
-					 'rounded=0;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=0;strokeColor=#FD0000;fillColor=none;verticalAlign=top;align=center;spacingLeft=5;dashed=1;dashPattern=5 2;labelPosition=center;verticalLabelPosition=bottom;strokeWidth=2;',
-					 200, 200, 'Security Group', 'Security Group', true, null, this.getTagsForStencil(gn, '', dt).join(' ')),
-
-			 this.addEntry(dt + '', function()
-			 {
-				var bg1 = new mxCell('Classic Infrastructure', new mxGeometry(0, 0, 200, 200), 'swimlane;fontStyle=0;horizontal=1;collapsible=0;startSize=28;swimlaneLine=0;swimlaneFillColor=none;fillColor=none;rounded=0;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=0;strokeColor=#4376BB;verticalAlign=top;align=left;spacingLeft=30;dashed=0;strokeWidth=1;container=1;');
-				bg1.vertex = true;
-				var bg2 = new mxCell('', new mxGeometry(0, 0, 30, 30), s + 'ClassicInfrastructure.svg;part=1;');
-				bg2.vertex = true;
-			    bg1.insert(bg2);
-			    
-			   	return sb.createVertexTemplateFromCells([bg1], 200, 200, 'Classic Infrastructure');
-			 }),
-					 
-			 this.createVertexTemplateEntry('swimlane;fontStyle=0;horizontal=1;collapsible=0;startSize=28;swimlaneLine=0;swimlaneFillColor=none;fillColor=none;rounded=0;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=0;strokeColor=#4376BB;verticalAlign=top;align=left;spacingLeft=30;dashed=0;strokeWidth=1;container=1;',
-					 200, 200, 'Other Group', 'Other Group', true, null, this.getTagsForStencil(gn, '', dt).join(' ')),
-
-			 this.createVertexTemplateEntry(s + 'CloudTag.svg;',
-					 d * 0.5, d * 0.5, '', 'IBM Cloud tag', false, null, this.getTagsForStencil(gn, 'cloud tag ibm', dt).join(' ')),
-			 this.createVertexTemplateEntry(s + 'VPCTag.svg;',
-					 d * 0.5, d * 0.5, '', 'VPC tag', false, null, this.getTagsForStencil(gn, 'tag', dt).join(' ')),
-			 this.createVertexTemplateEntry(s + 'RegionTag.svg;',
-					 d * 0.5, d * 0.5, '', 'Region tag', false, null, this.getTagsForStencil(gn, 'region tag', dt).join(' ')),
-			 this.createVertexTemplateEntry(s + 'ZoneTag.svg;',
-					 d * 0.5, d * 0.5, '', 'Zone tag', false, null, this.getTagsForStencil(gn, 'zone tag', dt).join(' ')),
-			 this.createVertexTemplateEntry(s + 'SubnetTag2.svg;',
-					 d * 0.5, d * 0.5, '', 'Subnet tag', false, null, this.getTagsForStencil(gn, 'subnet tag', dt).join(' ')),
-			 this.createVertexTemplateEntry(s + 'ClassicInfrastructure.svg;',
-					 d * 0.5, d * 0.5, '', 'Classic Infrastructure', false, null, this.getTagsForStencil(gn, 'classic', dt).join(' ')),
-			 this.createVertexTemplateEntry(s + 'EnterpriseTag.svg;',
-					 d * 0.5, d * 0.5, '', 'Enterprise tag', false, null, this.getTagsForStencil(gn, 'enterprise tag', dt).join(' ')),
-			 this.createVertexTemplateEntry(s + 'PublicTag.svg;',
-					 d * 0.5, d * 0.5, '', 'Public tag', false, null, this.getTagsForStencil(gn, 'public tag', dt).join(' ')),
 			 this.createVertexTemplateEntry(s + 'Internet.svg;',
 					 d, d, '', 'Internet', false, null, this.getTagsForStencil(gn, 'internet', dt).join(' ')),
 			 this.createVertexTemplateEntry(s + 'Enterprise.svg;',
 					 d, d, '', 'Data Center', false, null, this.getTagsForStencil(gn, 'dat acenter', dt).join(' ')),
 			 this.createVertexTemplateEntry(s + 'Enterprise2.svg;',
 					 d, d * 0.8, '', 'Enterprise', false, null, this.getTagsForStencil(gn, 'enterprise', dt).join(' ')),
-  		 	 this.createEdgeTemplateEntry('edgeStyle=orthogonalEdgeStyle;fontSize=12;html=1;endArrow=classicThin;endFill=1;rounded=0;strokeWidth=1;startArrow=classicThin;startFill=1;', 
-  		 			 d, d, '', 'Bidirectional Connector', null, dt + 'bidirectional connector'),
-  		 	 this.createEdgeTemplateEntry('edgeStyle=orthogonalEdgeStyle;fontSize=12;html=1;endArrow=classicThin;endFill=1;rounded=0;strokeWidth=1;', 
-  		 			 d, d, '', 'Directional Connector', null, dt + 'directional connector'),
-  		 	 this.createEdgeTemplateEntry('edgeStyle=orthogonalEdgeStyle;fontSize=12;html=1;endArrow=none;endFill=0;rounded=0;strokeWidth=1;', 
-  		 			 d, d, '', 'Nondirectional Connector', null, dt + 'nondirectional connector')
+			 this.createVertexTemplateEntry(s + 'PowerInstance.svg;',
+					 d, d, '', 'Power Instance', false, null, this.getTagsForStencil(gn, 'power instance', dt).join(' ')),
+			 this.createVertexTemplateEntry(s + 'TransitGateway.svg;',
+					 d, d, '', 'Transit Gateway', false, null, this.getTagsForStencil(gn, 'transit gateway', dt).join(' ')),
+			 this.createVertexTemplateEntry(s + 'BareMetalServer.svg;',
+					 d, d, '', 'Bare Metal Server', false, null, this.getTagsForStencil(gn, 'bare metal server', dt).join(' '))
 		];
 			   	
    		this.addPalette('ibmVPC', 'IBM / VPC', false, mxUtils.bind(this, function(content)
@@ -673,4 +562,91 @@
 		}));
 	};
 	
+	Sidebar.prototype.addIBMBoxesPalette = function(d, dt, sb, s)
+	{
+		s += 'boxes/';
+		var gn = 'boxes box ';
+		
+		var fns = [
+			 this.createVertexTemplateEntry(
+					 'shape=mxgraph.ibm.box;prType=cloud;fontStyle=0;verticalAlign=top;align=left;spacingLeft=32;spacingTop=4;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#4376BB;strokeWidth=3;dashed=0;container=1;spacing=-4;collapsible=0;',
+					 200, 200, 'IBM Cloud', 'IBM Cloud', true, null, this.getTagsForStencil(gn, 'ibm cloud', dt).join(' ')),
+			 this.createVertexTemplateEntry(
+					 'shape=mxgraph.ibm.box;prType=vpc;fontStyle=0;verticalAlign=top;align=left;spacingLeft=32;spacingTop=4;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#4376BB;strokeWidth=2;dashed=0;container=1;spacing=-4;collapsible=0;',
+					 200, 200, 'VPC', 'VPC', true, null, this.getTagsForStencil(gn, 'vpc virtual private cloud', dt).join(' ')),
+			 this.createVertexTemplateEntry(
+					 'shape=mxgraph.ibm.box;prType=region;fontStyle=0;verticalAlign=top;align=left;spacingLeft=32;spacingTop=4;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#919191;strokeWidth=2;dashed=0;container=1;spacing=-4;collapsible=0;',
+					 200, 200, 'Region', 'Region', true, null, this.getTagsForStencil(gn, 'region', dt).join(' ')),
+			 this.createVertexTemplateEntry(
+					 'shape=mxgraph.ibm.box;prType=zone;fontStyle=0;verticalAlign=top;align=left;spacingLeft=32;spacingTop=4;fillColor=#E0E0E0;rounded=0;whiteSpace=wrap;html=1;strokeColor=#919191;strokeWidth=1;dashed=0;container=1;spacing=-4;collapsible=0;',
+					 200, 200, 'Zone', 'Zone', true, null, this.getTagsForStencil(gn, 'zone', dt).join(' ')),
+			 this.createVertexTemplateEntry(
+					 'shape=mxgraph.ibm.box;prType=subnet;fontStyle=0;verticalAlign=top;align=left;spacingLeft=32;spacingTop=4;fillColor=#E6F0E2;rounded=0;whiteSpace=wrap;html=1;strokeColor=#00882B;strokeWidth=1;dashed=0;container=1;spacing=-4;collapsible=0;',
+					 200, 200, 'Subnet:ACL', 'Subnet:ACL', true, null, this.getTagsForStencil(gn, 'subnet acl', dt).join(' ')),
+			 this.createVertexTemplateEntry(
+					 'fontStyle=0;verticalAlign=top;align=center;spacingTop=-2;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#FF0000;strokeWidth=2;dashed=1;container=1;collapsible=0;',
+					 200, 200, 'Security Group', 'Security Group', true, null, this.getTagsForStencil(gn, 'security group', dt).join(' ')),
+			 this.createVertexTemplateEntry(
+					 'fontStyle=0;verticalAlign=top;align=center;spacingTop=-2;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#00882B;strokeWidth=2;dashed=1;container=1;collapsible=0;',
+					 200, 200, 'Instance Group', 'Instance Group', true, null, this.getTagsForStencil(gn, 'instance group', dt).join(' ')),
+			 this.createVertexTemplateEntry(
+					 'fontStyle=0;verticalAlign=top;align=center;spacingTop=-2;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#919191;strokeWidth=2;dashed=1;container=1;collapsible=0;',
+					 200, 200, 'Resource Group', 'Resource Group', true, null, this.getTagsForStencil(gn, 'resource group', dt).join(' ')),
+			 this.createVertexTemplateEntry(
+					 'shape=mxgraph.ibm.box;prType=public;fontStyle=0;verticalAlign=top;align=left;spacingLeft=32;spacingTop=4;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#4376BB;strokeWidth=3;dashed=0;container=1;spacing=-4;collapsible=0;',
+					 200, 200, 'Public Network', 'Public Network', true, null, this.getTagsForStencil(gn, 'public network', dt).join(' ')),
+			 this.createVertexTemplateEntry(
+					 'shape=mxgraph.ibm.box;prType=enterprise;fontStyle=0;verticalAlign=top;align=left;spacingLeft=32;spacingTop=4;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#4376BB;strokeWidth=3;dashed=0;container=1;spacing=-4;collapsible=0;',
+					 200, 200, 'Enterprise Network', 'Enterprise Network', true, null, this.getTagsForStencil(gn, 'enterprise network', dt).join(' ')),
+			 this.createVertexTemplateEntry(
+					 'shape=mxgraph.ibm.box;prType=classic;fontStyle=0;verticalAlign=top;align=left;spacingLeft=32;spacingTop=4;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#4376BB;strokeWidth=2;dashed=0;container=1;spacing=-4;collapsible=0;',
+					 200, 200, 'Classic Infrastructure', 'Classic Infrastructure', true, null, this.getTagsForStencil(gn, 'classic infrastructure', dt).join(' ')),
+			 this.createVertexTemplateEntry(
+					 'fontStyle=0;verticalAlign=top;align=center;spacingTop=-2;fillColor=none;rounded=0;whiteSpace=wrap;html=1;strokeColor=#4376BB;strokeWidth=1;dashed=0;container=1;collapsible=0;',
+					 200, 200, 'Cloud Services', 'Cloud Services', true, null, this.getTagsForStencil(gn, 'cloud services', dt).join(' '))
+		];
+			   	
+   		this.addPalette('ibmBoxes', 'IBM / Boxes', false, mxUtils.bind(this, function(content)
+	    {
+			for (var i = 0; i < fns.length; i++)
+			{
+				content.appendChild(fns[i](content));
+			}
+		}));
+	};
+	
+	Sidebar.prototype.addIBMConnectorsPalette = function(d, dt, sb, s)
+	{
+		var gn = 'connectors ';
+		
+		var fns = [
+		 	 this.createEdgeTemplateEntry('html=1;labelBackgroundColor=#ffffff;jettySize=auto;orthogonalLoop=1;strokeWidth=1;fontSize=14;endArrow=none;endFill=0;', 
+					 d, d, '', 'Connector', null, dt + 'connector'),
+		 	 this.createEdgeTemplateEntry('html=1;labelBackgroundColor=#ffffff;endArrow=classic;endFill=1;endSize=6;jettySize=auto;orthogonalLoop=1;strokeWidth=1;fontSize=14;', 
+					 d, d, '', 'Connector (Single Arrow)', null, dt + 'connector single arrow'),
+		 	 this.createEdgeTemplateEntry('html=1;labelBackgroundColor=#ffffff;startArrow=classic;startFill=1;startSize=6;endArrow=classic;endFill=1;endSize=6;jettySize=auto;orthogonalLoop=1;strokeWidth=1;fontSize=14;', 
+					 d, d, '', 'Connector (Double Arrow)', null, dt + 'connector double arrow'),
+		 	 this.createEdgeTemplateEntry('html=1;labelBackgroundColor=#ffffff;endArrow=none;endFill=0;jettySize=auto;orthogonalLoop=1;strokeWidth=1;dashed=1;fontSize=14;', 
+					 d, d, '', 'Dashed Connector', null, dt + 'dashed connector'),
+		 	 this.createEdgeTemplateEntry('html=1;labelBackgroundColor=#ffffff;startArrow=none;startFill=0;startSize=6;endArrow=classic;endFill=1;endSize=6;jettySize=auto;orthogonalLoop=1;strokeWidth=1;dashed=1;fontSize=14;', 
+					 d, d, '', 'Dashed Connector (Single Arrow)', null, dt + 'dashed connector single arrow'),
+		 	 this.createEdgeTemplateEntry('html=1;labelBackgroundColor=#ffffff;startArrow=classic;startFill=1;startSize=6;endArrow=classic;endFill=1;endSize=6;jettySize=auto;orthogonalLoop=1;strokeWidth=1;dashed=1;fontSize=14;', 
+					 d, d, '', 'Dashed Connector (Double Arrow)', null, dt + 'dashed connector double arrow'),
+		 	 this.createEdgeTemplateEntry('edgeStyle=elbowEdgeStyle;rounded=0;elbow=vertical;html=1;labelBackgroundColor=#ffffff;jettySize=auto;orthogonalLoop=1;strokeWidth=1;fontSize=14;endArrow=none;endFill=0;', 
+					 d, d, '', 'Elbow Connector', null, dt + 'elbow connector'),
+		 	 this.createEdgeTemplateEntry('edgeStyle=elbowEdgeStyle;rounded=0;elbow=vertical;html=1;labelBackgroundColor=#ffffff;endArrow=classic;endFill=1;endSize=6;jettySize=auto;orthogonalLoop=1;strokeWidth=1;fontSize=14;', 
+					 d, d, '', 'Elbow Connector (Single Arrow)', null, dt + 'elbow connector single arrow'),
+		 	 this.createEdgeTemplateEntry('edgeStyle=elbowEdgeStyle;rounded=0;elbow=vertical;html=1;labelBackgroundColor=#ffffff;startArrow=classic;startFill=1;startSize=6;endArrow=classic;endFill=1;endSize=6;jettySize=auto;orthogonalLoop=1;strokeWidth=1;fontSize=14;', 
+		 			 d, d, '', 'Elbow Connector (Double Arrow)', null, dt + 'elbow connector double arrow')
+		];
+			   	
+   		this.addPalette('ibmConnectors', 'IBM / Connectors', false, mxUtils.bind(this, function(content)
+	    {
+			for (var i = 0; i < fns.length; i++)
+			{
+				content.appendChild(fns[i](content));
+			}
+		}));
+	};
+	
 })();
diff --git a/src/main/webapp/js/diagramly/sidebar/Sidebar.js b/src/main/webapp/js/diagramly/sidebar/Sidebar.js
index af1d2fe9a98106e2d4397f48c0a6e4a62ed8debc..47f6e1288dc9115329a14a82633115797caa6ccd 100644
--- a/src/main/webapp/js/diagramly/sidebar/Sidebar.js
+++ b/src/main/webapp/js/diagramly/sidebar/Sidebar.js
@@ -33,7 +33,7 @@
 	 */
 	Sidebar.prototype.signs = ['Animals', 'Food', 'Healthcare', 'Nature', 'People', 'Safety', 'Science', 'Sports', 'Tech', 'Transportation', 'Travel'];
 
-	Sidebar.prototype.ibm = ['Analytics', 'Applications', 'Blockchain', 'Data', 'DevOps', 'Infrastructure', 'Management', 'Miscellaneous', 'Security', 'Social', 'Users', 'VPC'];
+	Sidebar.prototype.ibm = ['Analytics', 'Applications', 'Blockchain', 'Data', 'DevOps', 'Infrastructure', 'Management', 'Miscellaneous', 'Security', 'Social', 'Users', 'VPC', 'Boxes', 'Connectors'];
 
 	Sidebar.prototype.allied_telesis = ['Buildings', 'Computer and Terminals', 'Media Converters', 'Security', 'Storage', 'Switch', 'Wireless'];
 
diff --git a/src/main/webapp/js/diagramly/vsdx/VsdxExport.js b/src/main/webapp/js/diagramly/vsdx/VsdxExport.js
index 5ae578969f4f50e73865b8720599a7efd94fd7d5..3f40829313738d3bc54a353775086ac007a2aa00 100644
--- a/src/main/webapp/js/diagramly/vsdx/VsdxExport.js
+++ b/src/main/webapp/js/diagramly/vsdx/VsdxExport.js
@@ -334,7 +334,7 @@ function VsdxExport(editorUi)
 		if (lbkgnd) shape.appendChild(createCellElem("TextBkgnd", lbkgnd, xmlDoc));
 	};
 
-	function createShape(id, geo, xmlDoc, parentHeight, isChild)
+	function createShape(id, geo, layerIndex, xmlDoc, parentHeight, isChild)
 	{
 		var shape = createElt(xmlDoc, that.XMLNS, "Shape");
 		
@@ -352,6 +352,7 @@ function VsdxExport(editorUi)
 		shape.appendChild(createCellElemScaled("Height", geo.height, xmlDoc));
 		shape.appendChild(createCellElemScaled("LocPinX", hw, xmlDoc));
 		shape.appendChild(createCellElemScaled("LocPinY", hh, xmlDoc));
+		shape.appendChild(createCellElem("LayerMember", layerIndex + "", xmlDoc));
 		
 		return shape;
 	};
@@ -388,7 +389,7 @@ function VsdxExport(editorUi)
 			return 6;
 	};
 
-	function createEdge(cell, graph, xmlDoc, parentHeight, isChild)
+	function createEdge(cell, layerIndex, graph, xmlDoc, parentHeight, isChild)
 	{
 		var state = graph.view.getState(cell, true);
 		
@@ -444,7 +445,7 @@ function VsdxExport(editorUi)
 		shape.appendChild(createCellElem("BegTrigger", "2", xmlDoc, cell.source? "_XFTRIGGER(Sheet."+ getCellVsdxId(cell.source.id) +"!EventXFMod)" : null));
 		shape.appendChild(createCellElem("EndTrigger", "2", xmlDoc, cell.target? "_XFTRIGGER(Sheet."+ getCellVsdxId(cell.target.id) +"!EventXFMod)" : null));
 		shape.appendChild(createCellElem("ConFixedCode", "6", xmlDoc));
-		shape.appendChild(createCellElem("LayerMember", "0", xmlDoc));
+		shape.appendChild(createCellElem("LayerMember", layerIndex + "", xmlDoc));
 
 		applyMxCellStyle(state, shape, xmlDoc);
 		
@@ -491,7 +492,7 @@ function VsdxExport(editorUi)
 		return shape;
 	};
 	
-	function convertMxCell2Shape(cell, graph, xmlDoc, parentHeight, parentGeo, isChild)
+	function convertMxCell2Shape(cell, layerIndex, graph, xmlDoc, parentHeight, parentGeo, isChild)
 	{
 		var geo = cell.geometry;
 		
@@ -511,7 +512,7 @@ function VsdxExport(editorUi)
 			if (!cell.treatAsSingle && cell.getChildCount() > 0) //Group 
 			{
 				//Create group shape as an empty shape with no geo
-				var shape = createShape(vsdxId + "10000", geo, xmlDoc, parentHeight, isChild);
+				var shape = createShape(vsdxId + "10000", geo, layerIndex, xmlDoc, parentHeight, isChild);
 				shape.setAttribute("Type", "Group");
 				
 				//Create group shape
@@ -528,7 +529,7 @@ function VsdxExport(editorUi)
 				newGeo.y = 0;
 				cell.setGeometry(newGeo);
 				cell.treatAsSingle = true;
-				var subShape = convertMxCell2Shape(cell, graph, xmlDoc, geo.height, geo, true);
+				var subShape = convertMxCell2Shape(cell, layerIndex, graph, xmlDoc, geo.height, geo, true);
 				cell.treatAsSingle = false;
 				cell.setGeometry(geo);
 				
@@ -542,7 +543,7 @@ function VsdxExport(editorUi)
 				{
 					var child = cell.children[i];
 					
-					var subShape = convertMxCell2Shape(child, graph, xmlDoc, geo.height, geo, true);
+					var subShape = convertMxCell2Shape(child, layerIndex, graph, xmlDoc, geo.height, geo, true);
 					
 					if (subShape != null)
 					{
@@ -560,7 +561,7 @@ function VsdxExport(editorUi)
 			else if (cell.vertex)
 			{
 	
-				var shape = createShape(vsdxId, geo, xmlDoc, parentHeight, isChild);
+				var shape = createShape(vsdxId, geo, layerIndex, xmlDoc, parentHeight, isChild);
 				
 				var state = graph.view.getState(cell, true);
 
@@ -591,7 +592,7 @@ function VsdxExport(editorUi)
 			}
 			else
 			{
-				return createEdge(cell, graph, xmlDoc, parentHeight, isChild);
+				return createEdge(cell, layerIndex, graph, xmlDoc, parentHeight, isChild);
 			}
 		}
 		else
@@ -632,15 +633,23 @@ function VsdxExport(editorUi)
 		vsdxCanvas.scale(1 / s);
 		vsdxCanvas.newPage();
 		
-		var defParent = graph.getDefaultParent();
+		var layers = graph.model.getChildCells(graph.model.root);
+		var layerIdsMaps = {};
+		
+		for (var k = 0; k < layers.length; k++)
+		{
+			layerIdsMaps[layers[k].id] = k;
+		}
 		
 		for (var id in model.cells) 
 		{
 			var cell = model.cells[id];
 			//top-most cells
-			if (cell.parent == defParent)
+			var layerIndex = cell.parent != null? layerIdsMaps[cell.parent.id] : null;
+			
+			if (layerIndex != null)
 			{
-				var shape = convertMxCell2Shape(cell, graph, xmlDoc, modelAttrib.pageHeight);
+				var shape = convertMxCell2Shape(cell, layerIndex, graph, xmlDoc, modelAttrib.pageHeight);
 				
 				if (shape != null)
 					shapes.appendChild(shape);
@@ -689,7 +698,7 @@ function VsdxExport(editorUi)
 		zip.file(name, (noHeader? "" : "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>") + mxUtils.getXml(xmlDoc, '\n'));
 	};
 	
-	function addPagesXML(zip, pages, modelsAttr) 
+	function addPagesXML(zip, pages, pageLayers, modelsAttr) 
 	{
 		var pagesXmlDoc = mxUtils.createXmlDocument();
 		var pagesRelsXmlDoc = mxUtils.createXmlDocument();
@@ -721,26 +730,31 @@ function VsdxExport(editorUi)
 			var relE = createElt(pagesXmlDoc, that.XMLNS,"Rel");
 			relE.setAttributeNS(that.XMLNS_R, "r:id", "rId" + i);
 
-			//Layer (not needed!, it works without it)
+			//Add Layers
 			var layerSec = createElt(pagesXmlDoc, that.XMLNS, "Section");
 			layerSec.setAttribute("N", "Layer");
 
-			var layerRow = createElt(pagesXmlDoc, that.XMLNS, "Row");
-			layerRow.setAttribute("IX", "0");
-
-			layerSec.appendChild(layerRow)
+			var layers = pageLayers[name];
 			
-			layerRow.appendChild(createCellElem("Name", 'Connector', pagesXmlDoc));
-			layerRow.appendChild(createCellElem("Color", '255', pagesXmlDoc));
-			layerRow.appendChild(createCellElem("Status", '0', pagesXmlDoc));
-			layerRow.appendChild(createCellElem("Visible", '1', pagesXmlDoc));
-			layerRow.appendChild(createCellElem("Print", '1', pagesXmlDoc));
-			layerRow.appendChild(createCellElem("Active", '0', pagesXmlDoc));
-			layerRow.appendChild(createCellElem("Lock", '0', pagesXmlDoc));
-			layerRow.appendChild(createCellElem("Snap", '1', pagesXmlDoc));
-			layerRow.appendChild(createCellElem("Glue", '1', pagesXmlDoc));
-			layerRow.appendChild(createCellElem("NameUniv", 'Connector', pagesXmlDoc));
-			layerRow.appendChild(createCellElem("ColorTrans", '0', pagesXmlDoc));
+			for (var k = 0; k < layers.length; k++)
+			{
+				var layerRow = createElt(pagesXmlDoc, that.XMLNS, "Row");
+				layerRow.setAttribute("IX", k + "");
+	
+				layerSec.appendChild(layerRow)
+				
+				layerRow.appendChild(createCellElem("Name", layers[k].name, pagesXmlDoc));
+				layerRow.appendChild(createCellElem("Color", '255', pagesXmlDoc));
+				layerRow.appendChild(createCellElem("Status", '0', pagesXmlDoc));
+				layerRow.appendChild(createCellElem("Visible", layers[k].visible? '1' : '0', pagesXmlDoc));
+				layerRow.appendChild(createCellElem("Print", '1', pagesXmlDoc));
+				layerRow.appendChild(createCellElem("Active", '0', pagesXmlDoc));
+				layerRow.appendChild(createCellElem("Lock", layers[k].locked? '1' : '0', pagesXmlDoc));
+				layerRow.appendChild(createCellElem("Snap", '1', pagesXmlDoc));
+				layerRow.appendChild(createCellElem("Glue", '1', pagesXmlDoc));
+				layerRow.appendChild(createCellElem("NameUniv", layers[k].name, pagesXmlDoc));
+				layerRow.appendChild(createCellElem("ColorTrans", '0', pagesXmlDoc));
+			}
 			
 			pageSheet.appendChild(layerSec);
 			
@@ -820,10 +834,30 @@ function VsdxExport(editorUi)
 				idsCounter = 1;
 				
 				var pages = {};
+				var pageLayers = {};
 				var modelsAttr = {};
 				
 				var pagesCount = editorUi.pages != null? editorUi.pages.length : 1;
 				
+				function collectLayers(graph, diagramName)
+				{
+					var layers = graph.model.getChildCells(graph.model.root);
+					pageLayers[diagramName] = [];
+					
+					for (var k = 0; k < layers.length; k++)
+					{
+						//KNOWN We don't export invisible layers, we may support it later but we need to have a full cell state for invisible cells
+						if (layers[k].visible)
+						{
+							pageLayers[diagramName].push({
+								name: layers[k].value || 'Background',
+								visible: layers[k].visible,
+								locked: layers[k].style && layers[k].style.indexOf('locked=1') >= 0 
+							});
+						}
+					}
+				};
+				
 				if (editorUi.pages != null) 
 				{
 					var selectedCells = editorUi.editor.graph.getSelectionCells();
@@ -855,6 +889,7 @@ function VsdxExport(editorUi)
 						{
 							var modelAttrib = getGraphAttributes(graph);
 							pages[diagramName] = convertMxModel2Page(graph, modelAttrib);
+							collectLayers(graph, diagramName);
 							addImagesRels(zip, i+1);
 							modelsAttr[diagramName] = modelAttrib;
 						}
@@ -881,13 +916,14 @@ function VsdxExport(editorUi)
 					var modelAttrib = getGraphAttributes(graph);
 					var diagramName = "Page1";
 					pages[diagramName] = convertMxModel2Page(graph, modelAttrib);
+					collectLayers(graph, diagramName);
 					addImagesRels(zip, 1);
 					modelsAttr[diagramName] = modelAttrib;
 				}
 				
 				createVsdxSkeleton(zip, pagesCount);
 				
-				addPagesXML(zip, pages, modelsAttr);
+				addPagesXML(zip, pages, pageLayers, modelsAttr);
 
 				var createZipFile = function() 
 				{
diff --git a/src/main/webapp/js/diagramly/vsdx/importer.js b/src/main/webapp/js/diagramly/vsdx/importer.js
index c236519dfe54f489b6f9090ae2eaacec8d414a34..e46cb86d949aee5496a3b92aae6a6e9aabd1557d 100644
--- a/src/main/webapp/js/diagramly/vsdx/importer.js
+++ b/src/main/webapp/js/diagramly/vsdx/importer.js
@@ -595,26 +595,33 @@ var com;
                 	var layers = page.getLayers();
                 	this.layersMap[0] = graph.getDefaultParent();
                 	
-                	if (layers.length > 1)
+            		for (var k = 0; k < layers.length; k++)
             		{
-                		for (var k = 1; k < layers.length; k++)
-	            		{
-                			var layer = layers[k];
-                			var layerCell = new mxCell();		
-                			layerCell.setVisible(layer.Visible == 1);
+            			var layer = layers[k];
+            			
+            			if (k == 0)
+            			{
+            				var layerCell = graph.getDefaultParent();
+            			}
+            			else
+            			{
+            				var layerCell = new mxCell();
+            				graph.addCell(layerCell, graph.model.root, k);
+            			}
+            			
+            			layerCell.setVisible(layer.Visible == 1);
 
-                			if (layer.Lock == 1)
-                			{
-                				layerCell.setStyle("locked=1;");
-                			}
-                			
-                			//TODO handlle color and other properties
-                			layerCell.setValue(layer.Name);
-                			
-                			this.layersMap[k] = layerCell;
-                    		graph.addCell(layerCell, graph.model.root, k);
-	            		}
+            			if (layer.Lock == 1)
+            			{
+            				layerCell.setStyle("locked=1;");
+            			}
+            			
+            			//TODO handlle color and other properties
+            			layerCell.setValue(layer.Name);
+            			
+            			this.layersMap[k] = layerCell;
             		}
+
                 	//add shapes
                     var shapes = page.getShapes();
                     var entries = (function (a) { var i = 0; return { next: function () { return i < a.length ? a[i++] : null; }, hasNext: function () { return i < a.length; } }; })(/* entrySet */ (function (m) { if (m.entries == null)
diff --git a/src/main/webapp/js/extensions.min.js b/src/main/webapp/js/extensions.min.js
index 5a758f5b1728adc054a91ecff13d0a15f028e31f..4933d9de518222dde6365cd6953232f15753d175 100644
--- a/src/main/webapp/js/extensions.min.js
+++ b/src/main/webapp/js/extensions.min.js
@@ -1,243 +1,243 @@
 LucidImporter={};
-(function(){function c(a){var b=null!=a.Text?a.Text:null!=a.Value?a.Value:a.Lane_0;null==b&&null!=a.State?null!=a.State.t&&(b=a.State):null==b&&null!=a.Note?null!=a.Note.t&&(b=a.Note):null==b&&null!=a.Title?null!=a.Title.t&&(b=a.Title):null!=a.t&&(b=a);null==b&&null!=a.TextAreas&&null!=a.TextAreas.Text&&null!=a.TextAreas.Text.Value&&null!=a.TextAreas.Text.Value.t&&(b=a.TextAreas.Text.Value);if(null!=b){if(null!=b.t)return b.t=b.t.replace(/</g,"&lt;"),b.t=b.t.replace(/>/g,"&gt;"),b.t;if(null!=b.Value&&
-null!=b.Value.t)return b.Value.t=b.Value.t.replace(/</g,"&lt;"),b.Value.t=b.Value.t.replace(/>/g,"&gt;"),b.Value.t}return""}function n(a){return null!=a.Action?a.Action:a}function m(a){if(null!=a.Text){if(null!=a.Text.m)return a.Text.m}else if(null!=a.TextAreas){if(null!=a.TextAreas.Text&&null!=a.TextAreas.Text.Value&&null!=a.TextAreas.Text.Value.m)return a.TextAreas.Text.Value.m}else if(null!=a.m)return a.m;return null}function k(c){return b(c)+a(c)+d(c)+g(c)+p(c)+y(c)+A(c)+x(c)+z(c)+F(c)}function f(a,
-b,d,g){var p="";null!=a&&""!=a&&";"!=a.charAt(a.length-1)&&(p=";");return p+=e(mxConstants.STYLE_FONTSIZE,a,b,d,g)+e(mxConstants.STYLE_FONTCOLOR,a,b,d,g)+e(mxConstants.STYLE_FONTSTYLE,a,b,d,g)+e(mxConstants.STYLE_ALIGN,a,b,d,g)+e(mxConstants.STYLE_SPACING_LEFT,a,b,d,g)+e(mxConstants.STYLE_SPACING_RIGHT,a,b,d,g)+e(mxConstants.STYLE_SPACING_TOP,a,b,d,g)+e(mxConstants.STYLE_SPACING_BOTTOM,a,b,d,g)+e(mxConstants.STYLE_SPACING,a,b,d,g)+e(mxConstants.STYLE_VERTICAL_ALIGN,a,b,d,g)+e(mxConstants.STYLE_STROKECOLOR,
-a,b,d,g)+e(mxConstants.STYLE_OPACITY,a,b,d,g)+e(mxConstants.STYLE_ROUNDED,a,b,d,g)+e(mxConstants.STYLE_ROTATION,a,b,d,g)+e(mxConstants.STYLE_FLIPH,a,b,d,g)+e(mxConstants.STYLE_FLIPV,a,b,d,g)+e(mxConstants.STYLE_SHADOW,a,b,d,g)+e(mxConstants.STYLE_FILLCOLOR,a,b,d,g)+e(mxConstants.STYLE_DASHED,a,b,d,g)+e(mxConstants.STYLE_STROKEWIDTH,a,b,d,g)+e(mxConstants.STYLE_IMAGE,a,b,d,g)}function e(c,e,f,k,h){a:{if(null!=e&&null!=c){if(e.includes(";"+c+"=")){e=!0;break a}if(e.substring(0,c.length+1)==c+"="){e=
-!0;break a}}e=!1}if(!e)switch(c){case mxConstants.STYLE_FONTSIZE:return b(f);case mxConstants.STYLE_FONTCOLOR:return a(f);case mxConstants.STYLE_FONTSTYLE:return d(f);case mxConstants.STYLE_ALIGN:return g(f);case mxConstants.STYLE_SPACING_LEFT:return p(f);case mxConstants.STYLE_SPACING_RIGHT:return y(f);case mxConstants.STYLE_SPACING_TOP:return A(f);case mxConstants.STYLE_SPACING_BOTTOM:return x(f);case mxConstants.STYLE_SPACING:return z(f);case mxConstants.STYLE_VERTICAL_ALIGN:return F(f);case mxConstants.STYLE_STROKECOLOR:return B(f,
-k);case mxConstants.STYLE_OPACITY:return C(f,k,h);case mxConstants.STYLE_ROUNDED:return k=!h.edge&&null!=f.Rounding&&0<f.Rounding?"rounded=1;absoluteArcSize=1;arcSize="+.6*f.Rounding+";":"",k;case mxConstants.STYLE_ROTATION:a:{if(null!=f.Rotation&&(c=mxUtils.toDegree(parseFloat(f.Rotation)),"AdvancedSwimLaneBlockRotated"==k.Class?(c+=90,h.geometry.rotate90()):0<=mxUtils.indexOf(pb,k.Class)?(c-=90,h.geometry.rotate90(),h.geometry.rotate90(),h.geometry.rotate90()):0<=mxUtils.indexOf(Xb,k.Class)&&(c+=
-180,h.geometry.rotate90(),h.geometry.rotate90()),0!=c)){k="rotation="+c+";";break a}k=""}return k;case mxConstants.STYLE_FLIPH:return k=f.FlipX?"flipH=1;":"",k;case mxConstants.STYLE_FLIPV:return k=f.FlipY?"flipV=1;":"",k;case mxConstants.STYLE_SHADOW:return G(f);case mxConstants.STYLE_FILLCOLOR:return D(f,k);case mxConstants.STYLE_DASHED:return Z(f);case mxConstants.STYLE_STROKEWIDTH:return Y(f);case mxConstants.STYLE_IMAGE:return k="ImageSearchBlock2"==k.Class?"image="+f.URL+";":"UserImage2Block"==
-k.Class&&null!=f.ImageFillProps&&null!=f.ImageFillProps.url?"image="+f.ImageFillProps.url+";":"",k}return""}function b(a){a=m(a);if(null!=a)for(var b=0;b<a.length;){var d=a[b];if("s"==d.n&&null!=d.v)return"fontSize="+Math.round(.6*d.v)+";";b++}return"fontSize=11;"}function a(a){a=m(a);if(null!=a)for(var b=0;b<a.length;){var d=a[b];if("c"==d.n&&null!=d.v)return a=d.v,"#"!=a.charAt(0)&&(a="#"+a),a=a.substring(0,7),mxConstants.STYLE_FONTCOLOR+"="+a+";";b++}return""}function d(a){a=m(a);if(null!=a){var b=
-0,d=!1;if(null!=a)for(var g=0;!d&&g<a.length;){var p=a[g];"b"==p.n&&null!=p.v&&p.v&&(d=!0,b+=1);g++}d=!1;if(null!=a)for(g=0;!d&&g<a.length;)p=a[g],"i"==p.n&&null!=p.v&&p.v&&(d=!0,b+=2),g++;d=!1;if(null!=a)for(g=0;!d&&g<a.length;)p=a[g],"u"==p.n&&null!=p.v&&p.v&&(d=!0,b+=4),g++;if(0<b)return"fontStyle="+b+";"}return""}function g(a){a=m(a);if(null!=a)for(var b=0;b<a.length;){var d=a[b];if("a"==d.n&&null!=d.v)return"align="+d.v+";";b++}return""}function p(a){var b=m(a);if(null!=b)for(var d=0;d<b.length;){var p=
-b[d];if(null!=p.v){if("il"==p.n)return"spacingLeft="+.6*p.v+";";g(a)}d++}return""}function y(a){a=m(a);if(null!=a)for(var b=0;b<a.length;){var d=a[b];if("ir"==d.n&&null!=d.v)return"spacingRight="+d.v+";";b++}return""}function A(a){a=m(a);if(null!=a)for(var b=0;b<a.length;){var d=a[b];if("mt"==d.n&&null!=d.v)return"spacingTop="+d.v+";";b++}return""}function x(a){a=m(a);if(null!=a)for(var b=0;b<a.length;){var d=a[b];if("mb"==d.n&&null!=d.v)return"spacingBottom="+d.v+";";b++}return""}function z(a){return"number"===
-typeof a.InsetMargin?"spacing="+parseInt(a.InsetMargin)+";":""}function F(a){return null!=a.Text_VAlign&&"string"===typeof a.Text_VAlign?"verticalAlign="+a.Text_VAlign+";":U(mxConstants.STYLE_VERTICAL_ALIGN,a.TextVAlign,"middle")}function B(a,b){return 0==a.LineWidth?mxConstants.STYLE_STROKECOLOR+"=none;":U(mxConstants.STYLE_STROKECOLOR,a.LineColor.substring(0,7),"#000000")}function C(a,b,d){b="";if("string"===typeof a.LineColor&&7<a.LineColor.length){var g="0x"+a.LineColor.substring(a.LineColor.length-
-2,a.LineColor.length);b+="strokeOpacity="+Math.round(parseInt(g)/2.55)+";"}"string"===typeof a.FillColor&&7<a.FillColor.length&&(a="0x"+a.FillColor.substring(a.FillColor.length-2,a.FillColor.length),d.style.includes("fillOpacity")||(b+="fillOpacity="+Math.round(parseInt(a)/2.55)+";"));return b}function G(a){return null!=a.Shadow?mxConstants.STYLE_SHADOW+"=1;":""}function D(a,b){if(null!=a.FillColor)if("object"===typeof a.FillColor){if(null!=a.FillColor.cs&&1<a.FillColor.cs.length)return U(mxConstants.STYLE_FILLCOLOR,
-a.FillColor.cs[0].c.substring(0,7))+U(mxConstants.STYLE_GRADIENTCOLOR,a.FillColor.cs[1].c.substring(0,7))}else return"string"===typeof a.FillColor?U(mxConstants.STYLE_FILLCOLOR,a.FillColor.substring(0,7),"#FFFFFF"):U(mxConstants.STYLE_FILLCOLOR,"none");return""}function Z(a){return"dashed"==a.StrokeStyle?"dashed=1;":"dotted"==a.StrokeStyle?"dashed=1;dashPattern=1 4;":"dashdot"==a.StrokeStyle?"dashed=1;dashPattern=10 5 1 5;":"dotdotdot"==a.StrokeStyle?"dashed=1;dashPattern=1 1;":""}function Y(a){return U(mxConstants.STYLE_STROKEWIDTH,
-.6*parseFloat(a.LineWidth),"1")}function aa(a,b,d){b=n(b);if(null!=b){var g=bb[b.Class];null!=g&&(a.style+=g+";");g=null!=b.Properties?b.Properties:b;if(null!=g){a.value=c(g);a.style+=f(a.style,g,b,a);a.style.includes("strokeColor")||(a.style+=B(g,b));for(var p in g)if(g.hasOwnProperty(p)&&p.toString().startsWith("ShapeData_"))try{var e=g[p];d.setAttributeForCell(a,e.Label.replace(/[^a-z0-9]/ig,"_").replace(/^\d*/,"_"),e.Value)}catch(t){window.console&&console.log("Ignored "+p+":",t)}if(a.edge){a.style=
-null!=g.Rounding?a.style+("rounded=1;arcSize="+g.Rounding+";"):a.style+"rounded=0;";if("diagonal"!=g.Shape)if(null!=g.ElbowPoints)for(a.geometry.points=[],d=0;d<g.ElbowPoints.length;d++)a.geometry.points.push(new mxPoint(Math.round(.6*g.ElbowPoints[d].x+0),Math.round(.6*g.ElbowPoints[d].y+0)));else"elbow"==g.Shape?a.style=null!=g.Endpoint1.Block&&null!=g.Endpoint1.Block?a.style+"edgeStyle=orthogonalEdgeStyle;":a.style+"edgeStyle=elbowEdgeStyle;":null!=g.Endpoint1.Block&&null!=g.Endpoint1.Block&&(a.style+=
-"edgeStyle=orthogonalEdgeStyle;","curve"==g.Shape&&(a.style+="curved=1;"));null!=g.Endpoint1.Style&&(a.style+="startArrow="+la[g.Endpoint1.Style]+";");null!=g.Endpoint2.Style&&(a.style+="endArrow="+la[g.Endpoint2.Style].replace(/startSize/g,"endSize")+";");da(a,g.Endpoint1,!0);da(a,g.Endpoint2,!1)}}}}function L(a,b){var d=n(a).Properties.BoundingBox;null==a.Class||"AWS"!==a.Class.substring(0,3)&&"Amazon"!==a.Class.substring(0,6)||a.Class.includes("AWS19")||(d.h-=20);v=new mxCell("",new mxGeometry(Math.round(.6*
-d.x+0),Math.round(.6*d.y+0),Math.round(.6*d.w),Math.round(.6*d.h)),"html=1;whiteSpace=wrap;");v.vertex=!0;aa(v,a,b);return v}function S(a,b,d){d=2*(parseFloat(a.Location)-.5);a=new mxCell(c(a),new mxGeometry(d,0,0,0),"text;html=1;resizable=0;labelBackgroundColor=#ffffff;align=center;verticalAlign=middle;");a.geometry.relative=!0;a.vertex=!0;b.insert(a);return b}function U(a,b,d,g){null!=b&&null!=g&&(b=g(b));return null!=b&&b!=d?a+"="+b+";":""}function da(a,b,d){null!=b&&null!=b.LinkX&&null!=b.LinkY&&
-(a.style+=(d?"exitX":"entryX")+"="+b.LinkX+";"+(d?"exitY":"entryY")+"="+b.LinkY+";"+(d?"exitPerimeter":"entryPerimeter")+"=1;")}function ba(a,b,d,g,p,c){a.getModel().beginUpdate();try{var e=function(b,d){var g=null!=d.Endpoint1.Block?y[d.Endpoint1.Block]:null,p=null!=d.Endpoint2.Block?y[d.Endpoint2.Block]:null,c;c=new mxCell("",new mxGeometry(0,0,100,100),"html=1;jettySize=18;");c.geometry.relative=!0;c.edge=!0;aa(c,b);var e=n(b).Properties,f=null!=e?e.TextAreas:b.TextAreas;if(null!=f){for(var l=
-0;null!=f["t"+l];){var x=f["t"+l];c=S(x,c);l++}for(l=1;null!=f["m"+l];)x=f["m"+l],c=S(x,c,b),l++;null!=f.Text&&(c=S(f,c,b));f=null!=e?e.TextAreas:b.TextAreas;null!=f.Message&&(c=S(f.Message,c,b))}null==g&&null!=d.Endpoint1&&c.geometry.setTerminalPoint(new mxPoint(Math.round(.6*d.Endpoint1.x),Math.round(.6*d.Endpoint1.y)),!0);null==p&&null!=d.Endpoint2&&c.geometry.setTerminalPoint(new mxPoint(Math.round(.6*d.Endpoint2.x),Math.round(.6*d.Endpoint2.y)),!1);h.push(a.addCell(c,null,null,g,p))},h=[],y=
-{},f=[],x=[],A=0;if(null!=b.Groups)for(var k in b.Groups){var z=b.Groups[k];z.id=k;if(1==z.Hidden&&null!=z.Members){0>mxUtils.indexOf(x,k)&&x.push(k);for(var m in z.Members)x=Db(m,b.Groups,x)}}if(null!=b.Blocks)for(k in b.Blocks)z=b.Blocks[k],z.id=k,0>mxUtils.indexOf(x,k)&&(m=!1,null!=bb[z.Class]&&"mxCompositeShape"==bb[z.Class]&&(y[z.id]=qb(z,h,a),f.push(z),m=!0),m||(y[z.id]=L(z),f.push(z)));else for(A=0;A<b.Objects.length;A++)z=b.Objects[A],null!=z.Action&&"mxCompositeShape"==bb[z.Action.Class]?
-y[z.id]=qb(z,h,a):z.IsBlock&&null!=z.Action&&null!=z.Action.Properties&&(y[z.id]=L(z,a)),f.push(z);f.sort(function(a,b){a=n(a);b=n(b);return null!=a.Properties&&null!=b.Properties?a.Properties.ZOrder-b.Properties.ZOrder:0});for(A=0;A<f.length;A++){var z=f[A],F=y[z.id];null!=F?h.push(a.addCell(F)):z.IsLine&&null!=z.Action&&null!=z.Action.Properties&&e(z,z.Action.Properties)}if(null!=b.Lines)for(k in b.Lines)0>mxUtils.indexOf(x,k)&&(z=b.Lines[k],e(z,z));if(p&&null!=d&&null!=g){a.isGridEnabled()&&(d=
-a.snap(d),g=a.snap(g));var l=a.getBoundingBoxFromGeometry(h,!0);null!=l&&a.moveCells(h,d-l.x,g-l.y)}c||a.setSelectionCells(h)}finally{a.getModel().endUpdate()}}function ia(){var a=new Graph;a.setExtendParents(!1);a.setExtendParentsOnAdd(!1);a.setConstrainChildren(!1);a.setHtmlLabels(!0);a.getModel().maintainEdgeParent=!1;return a}function Da(a,b,d,g,p,c,e,y){a=new mxCell("",new mxGeometry(a,b,0,0),"strokeColor=none;fillColor=none;");a.vertex=!0;e.insert(a);c=[a];d=d.clone();y.insertEdge(d,!1);a.insertEdge(d,
-!0);c.push(d);g.push(p.addCell(d,null,null,null,null))}function ga(a,b,d,g,p,c,e,y,f){a=new mxCell("",new mxGeometry(a,b,0,0),"strokeColor=none;fillColor=none;");a.vertex=!0;f.insert(a);d=new mxCell("",new mxGeometry(d,g,0,0),"strokeColor=none;fillColor=none;");d.vertex=!0;f.insert(d);y=[d];p=p.clone();a.insertEdge(p,!0);d.insertEdge(p,!1);y.push(p);c.push(e.addCell(p,null,null,null,null))}function ea(a,b,d,g,p,e){g.style="rounded=1;absoluteArcSize=1;fillColor=#ffffff;arcSize=2;strokeColor=#dddddd;";
-g.style+=f(g.style,p,e,g);b=c(p);g.vertex=!0;a=new mxCell(b,new mxGeometry(0,.5,24,24),"dashed=0;connectable=0;html=1;strokeColor=none;"+mxConstants.STYLE_SHAPE+"=mxgraph.gcp2."+a+";part=1;shadow=0;labelPosition=right;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=5;");a.style+=f(a.style,p,e,a);a.geometry.relative=!0;a.geometry.offset=new mxPoint(5,-12);a.vertex=!0;g.insert(a)}function ja(a,b,d,g,p,e,y,x){p="transparent"!=a?mxConstants.STYLE_SHAPE+"=mxgraph.gcp2.":mxConstants.STYLE_SHAPE+
-"=";e.style="rounded=1;absoluteArcSize=1;arcSize=2;verticalAlign=bottom;fillColor=#ffffff;strokeColor=#dddddd;whiteSpace=wrap;";e.style+=f(e.style,y,x,e);e.value=c(y);e.vertex=!0;a=new mxCell(null,new mxGeometry(.5,0,.7*g*b,.7*g*d),p+a+";part=1;dashed=0;connectable=0;html=1;strokeColor=none;shadow=0;");a.geometry.relative=!0;a.geometry.offset=new mxPoint(-b*g*.35,10+(1-d)*g*.35);a.vertex=!0;a.style+=f(a.style,y,x,a);e.insert(a)}function qb(e,m,L){var u=n(e),h=u.Properties,S=h.BoundingBox,t=Math.round(.6*
-S.w),r=Math.round(.6*S.h),U=Math.round(.6*S.x+0),ba=Math.round(.6*S.y+0);null==e.Class||"GCPInputDatabase"!==e.Class&&"GCPInputRecord"!==e.Class&&"GCPInputPayment"!==e.Class&&"GCPInputGateway"!==e.Class&&"GCPInputLocalCompute"!==e.Class&&"GCPInputBeacon"!==e.Class&&"GCPInputStorage"!==e.Class&&"GCPInputList"!==e.Class&&"GCPInputStream"!==e.Class&&"GCPInputMobileDevices"!==e.Class&&"GCPInputCircuitBoard"!==e.Class&&"GCPInputLive"!==e.Class&&"GCPInputUsers"!==e.Class&&"GCPInputLaptop"!==e.Class&&"GCPInputApplication"!==
-e.Class&&"GCPInputLightbulb"!==e.Class&&"GCPInputGame"!==e.Class&&"GCPInputDesktop"!==e.Class&&"GCPInputDesktopAndMobile"!==e.Class&&"GCPInputWebcam"!==e.Class&&"GCPInputSpeaker"!==e.Class&&"GCPInputRetail"!==e.Class&&"GCPInputReport"!==e.Class&&"GCPInputPhone"!==e.Class&&"GCPInputBlank"!==e.Class||(r+=20);v=new mxCell("",new mxGeometry(U,ba,t,r),"html=1;whiteSpace=wrap;");v.vertex=!0;switch(null!=e.Class?e.Class:null!=u?u.Class:null){case "BraceNoteBlock":case "UI2BraceNoteBlock":var ia=!1;null!=
-h.BraceDirection&&"Right"==h.BraceDirection&&(ia=!0);var da=null,la=null;ia?(da=new mxCell("",new mxGeometry(t-.125*r,0,.125*r,r),"shape=curlyBracket;rounded=1;"),la=new mxCell("",new mxGeometry(0,0,t-.125*r,r),"strokeColor=none;fillColor=none;")):(da=new mxCell("",new mxGeometry(0,0,.125*r,r),"shape=curlyBracket;rounded=1;flipH=1;"),la=new mxCell("",new mxGeometry(.125*r,0,t-.125*r,r),"strokeColor=none;fillColor=none;"));v.style="strokeColor=none;fillColor=none;";v.style+=f(v.style,h,u,v);da.vertex=
-!0;v.insert(da);da.style+=f(da.style,h,u,da);la.vertex=!0;la.value=c(h);v.insert(la);la.style+=f(la.style,h,u,la);break;case "AdvancedSwimLaneBlockRotated":case "AdvancedSwimLaneBlock":var pb=0;null!=h.Lanes&&(pb=h.Lanes.length);v.style="strokeColor=none;fillColor=none;";v.style+=f(v.style,h,u,v);for(var qb=0,db=[],l=0;l<pb;l++){var Xb=parseFloat(h.Lanes[l].p);db.push(new mxCell("",new mxGeometry(t*qb,0,t*Xb,r),"shape=swimlane;startSize=25;"));db[l].vertex=!0;v.insert(db[l]);db[l].value=c(h["Lane_"+
-l]);db[l].style+=b(h["Lane_"+l])+a(h["Lane_"+l])+d(h["Lane_"+l])+g(h["Lane_"+l],db[l])+p(h["Lane_"+l])+y(h["Lane_"+l])+A(h["Lane_"+l])+x(h["Lane_"+l])+z(h["Lane_"+l])+F(h["Lane_"+l]);f(db[l].style,h,u,db[l]);qb+=Xb}break;case "AndroidDevice":if(null!=h.AndroidDeviceName){v.style="fillColor=#000000;strokeColor=#000000;";var ib=null,Bb=null,bb=null;if("Tablet"==h.AndroidDeviceName||"Mini Tablet"==h.AndroidDeviceName)v.style+="shape=mxgraph.android.tab2;",ib=new mxCell("",new mxGeometry(.112*t,.077*
-r,.77*t,.85*r),""),h.KeyboardShown&&(Bb=new mxCell("",new mxGeometry(.112*t,.727*r,.77*t,.2*r),"shape=mxgraph.android.keyboard;")),h.FullScreen||(bb=new mxCell("",new mxGeometry(.112*t,.077*r,.77*t,.03*r),"shape=mxgraph.android.statusBar;strokeColor=#33b5e5;fillColor=#000000;fontColor=#33b5e5;fontSize="+.015*r+";"));else if("Large Phone"==h.AndroidDeviceName||"Phone"==h.AndroidDeviceName)v.style+="shape=mxgraph.android.phone2;",ib=new mxCell("",new mxGeometry(.04*t,.092*r,.92*t,.816*r),""),h.KeyboardShown&&
-(Bb=new mxCell("",new mxGeometry(.04*t,.708*r,.92*t,.2*r),"shape=mxgraph.android.keyboard;")),h.FullScreen||(bb=new mxCell("",new mxGeometry(.04*t,.092*r,.92*t,.03*r),"shape=mxgraph.android.statusBar;strokeColor=#33b5e5;fillColor=#000000;fontColor=#33b5e5;fontSize="+.015*r+";"));ib.vertex=!0;v.insert(ib);"Dark"==h.Scheme?ib.style+="fillColor=#111111;":"Light"==h.Scheme&&(ib.style+="fillColor=#ffffff;");null!=Bb&&(Bb.vertex=!0,v.insert(Bb));null!=bb&&(bb.vertex=!0,v.insert(bb))}v.style+=f(v.style,
-h,u,v);break;case "AndroidAlertDialog":var La=new mxCell("",new mxGeometry(0,0,t,30),"strokeColor=none;fillColor=none;spacingLeft=9;");La.vertex=!0;v.insert(La);var na=new mxCell("",new mxGeometry(0,25,t,10),"shape=line;strokeColor=#33B5E5;");na.vertex=!0;v.insert(na);var Cb=new mxCell("",new mxGeometry(0,30,t,r-30),"strokeColor=none;fillColor=none;verticalAlign=top;");Cb.vertex=!0;v.insert(Cb);var qa=new mxCell("",new mxGeometry(0,r-25,.5*t,25),"fillColor=none;");qa.vertex=!0;v.insert(qa);var ra=
-new mxCell("",new mxGeometry(.5*t,r-25,.5*t,25),"fillColor=none;");ra.vertex=!0;v.insert(ra);La.value=c(h.DialogTitle);La.style+=k(h.DialogTitle);Cb.value=c(h.DialogText);Cb.style+=k(h.DialogText);qa.value=c(h.Button_0);qa.style+=k(h.Button_0);ra.value=c(h.Button_1);ra.style+=k(h.Button_1);"Dark"==h.Scheme?(v.style+="strokeColor=#353535;fillColor=#282828;shadow=1;",qa.style+="strokeColor=#353535;",ra.style+="strokeColor=#353535;"):(v.style+="strokeColor=none;fillColor=#ffffff;shadow=1;",qa.style+=
-"strokeColor=#E2E2E2;",ra.style+="strokeColor=#E2E2E2;");v.style+=f(v.style,h,u,v);break;case "AndroidDateDialog":case "AndroidTimeDialog":La=new mxCell("",new mxGeometry(0,0,t,30),"strokeColor=none;fillColor=none;spacingLeft=9;");La.vertex=!0;v.insert(La);La.value=c(h.DialogTitle);La.style+=k(h.DialogTitle);na=new mxCell("",new mxGeometry(0,25,t,10),"shape=line;strokeColor=#33B5E5;");na.vertex=!0;v.insert(na);qa=new mxCell("",new mxGeometry(0,r-25,.5*t,25),"fillColor=none;");qa.vertex=!0;v.insert(qa);
-qa.value=c(h.Button_0);qa.style+=k(h.Button_0);ra=new mxCell("",new mxGeometry(.5*t,r-25,.5*t,25),"fillColor=none;");ra.vertex=!0;v.insert(ra);ra.value=c(h.Button_1);ra.style+=k(h.Button_1);var rb=new mxCell("",new mxGeometry(.5*t-4,41,8,4),"shape=triangle;direction=north;");rb.vertex=!0;v.insert(rb);var sb=new mxCell("",new mxGeometry(.25*t-4,41,8,4),"shape=triangle;direction=north;");sb.vertex=!0;v.insert(sb);var tb=new mxCell("",new mxGeometry(.75*t-4,41,8,4),"shape=triangle;direction=north;");
-tb.vertex=!0;v.insert(tb);var Eb=new mxCell("",new mxGeometry(.375*t,50,.2*t,15),"strokeColor=none;fillColor=none;");Eb.vertex=!0;v.insert(Eb);Eb.value=c(h.Label_1);Eb.style+=k(h.Label_1);var Fb=new mxCell("",new mxGeometry(.125*t,50,.2*t,15),"strokeColor=none;fillColor=none;");Fb.vertex=!0;v.insert(Fb);Fb.value=c(h.Label_0);Fb.style+=k(h.Label_0);var ub=null;"AndroidDateDialog"==e.Class&&(ub=new mxCell("",new mxGeometry(.625*t,50,.2*t,15),"strokeColor=none;fillColor=none;"),ub.vertex=!0,v.insert(ub),
-ub.value=c(h.Label_2),ub.style+=k(h.Label_2));var Ma=new mxCell("",new mxGeometry(.43*t,60,.14*t,10),"shape=line;strokeColor=#33B5E5;");Ma.vertex=!0;v.insert(Ma);var Na=new mxCell("",new mxGeometry(.18*t,60,.14*t,10),"shape=line;strokeColor=#33B5E5;");Na.vertex=!0;v.insert(Na);var Db=new mxCell("",new mxGeometry(.68*t,60,.14*t,10),"shape=line;strokeColor=#33B5E5;");Db.vertex=!0;v.insert(Db);var Gb=new mxCell("",new mxGeometry(.375*t,65,.2*t,15),"strokeColor=none;fillColor=none;");Gb.vertex=!0;v.insert(Gb);
-Gb.value=c(h.Label_4);Gb.style+=k(h.Label_4);var vb=null;"AndroidTimeDialog"==e.Class&&(vb=new mxCell("",new mxGeometry(.3*t,65,.1*t,15),"strokeColor=none;fillColor=none;"),vb.vertex=!0,v.insert(vb),vb.value=c(h.Label_Colon),vb.style+=k(h.Label_Colon));var Hb=new mxCell("",new mxGeometry(.125*t,65,.2*t,15),"strokeColor=none;fillColor=none;");Hb.vertex=!0;v.insert(Hb);Hb.value=c(h.Label_3);Hb.style+=k(h.Label_3);var Ib=new mxCell("",new mxGeometry(.625*t,65,.2*t,15),"strokeColor=none;fillColor=none;");
-Ib.vertex=!0;v.insert(Ib);Ib.value=c(h.Label_5);Ib.style+=k(h.Label_5);var jc=new mxCell("",new mxGeometry(.43*t,75,.14*t,10),"shape=line;strokeColor=#33B5E5;");jc.vertex=!0;v.insert(jc);var kc=new mxCell("",new mxGeometry(.18*t,75,.14*t,10),"shape=line;strokeColor=#33B5E5;");kc.vertex=!0;v.insert(kc);var lc=new mxCell("",new mxGeometry(.68*t,75,.14*t,10),"shape=line;strokeColor=#33B5E5;");lc.vertex=!0;v.insert(lc);var Jb=new mxCell("",new mxGeometry(.375*t,80,.2*t,15),"strokeColor=none;fillColor=none;");
-Jb.vertex=!0;v.insert(Jb);Jb.value=c(h.Label_7);Jb.style+=k(h.Label_7);var Kb=new mxCell("",new mxGeometry(.125*t,80,.2*t,15),"strokeColor=none;fillColor=none;");Kb.vertex=!0;v.insert(Kb);Kb.value=c(h.Label_6);Kb.style+=k(h.Label_6);var Lb=new mxCell("",new mxGeometry(.625*t,80,.2*t,15),"strokeColor=none;fillColor=none;");Lb.vertex=!0;v.insert(Lb);Lb.value=c(h.Label_8);Lb.style+=k(h.Label_8);var wb=new mxCell("",new mxGeometry(.5*t-4,99,8,4),"shape=triangle;direction=south;");wb.vertex=!0;v.insert(wb);
-var xb=new mxCell("",new mxGeometry(.25*t-4,99,8,4),"shape=triangle;direction=south;");xb.vertex=!0;v.insert(xb);var yb=new mxCell("",new mxGeometry(.75*t-4,99,8,4),"shape=triangle;direction=south;");yb.vertex=!0;v.insert(yb);"Dark"==h.Scheme?(v.style+="strokeColor=#353535;fillColor=#282828;shadow=1;",qa.style+="strokeColor=#353535;",ra.style+="strokeColor=#353535;",rb.style+="strokeColor=none;fillColor=#7E7E7E;",sb.style+="strokeColor=none;fillColor=#7E7E7E;",tb.style+="strokeColor=none;fillColor=#7E7E7E;",
-wb.style+="strokeColor=none;fillColor=#7E7E7E;",xb.style+="strokeColor=none;fillColor=#7E7E7E;",yb.style+="strokeColor=none;fillColor=#7E7E7E;"):(v.style+="strokeColor=none;fillColor=#ffffff;shadow=1;",qa.style+="strokeColor=#E2E2E2;",ra.style+="strokeColor=#E2E2E2;",rb.style+="strokeColor=none;fillColor=#939393;",sb.style+="strokeColor=none;fillColor=#939393;",tb.style+="strokeColor=none;fillColor=#939393;",wb.style+="strokeColor=none;fillColor=#939393;",xb.style+="strokeColor=none;fillColor=#939393;",
-yb.style+="strokeColor=none;fillColor=#939393;");v.style+=f(v.style,h,u,v);break;case "AndroidListItems":var xa=r,eb=0;if(h.ShowHeader){var eb=8,Mb=new mxCell("",new mxGeometry(0,0,t,eb),"strokeColor=none;fillColor=none;");Mb.vertex=!0;v.insert(Mb);Mb.value=c(h.Header);Mb.style+=k(h.Header);var xa=xa-eb,mc=new mxCell("",new mxGeometry(0,eb-2,t,4),"shape=line;strokeColor=#999999;");mc.vertex=!0;v.insert(mc)}var Oa=parseInt(h.Items);0<Oa&&(xa/=Oa);for(var H=[],na=[],l=0;l<Oa;l++)H[l]=new mxCell("",
-new mxGeometry(0,eb+l*xa,t,xa),"strokeColor=none;fillColor=none;"),H[l].vertex=!0,v.insert(H[l]),H[l].value=c(h["Item_"+l]),H[l].style+=k(h["Item_"+l]),0<l&&(na[l]=new mxCell("",new mxGeometry(0,eb+l*xa-2,t,4),"shape=line;"),na[l].vertex=!0,v.insert(na[l]),na[l].style="Dark"==h.Scheme?na[l].style+"strokeColor=#ffffff;":na[l].style+"strokeColor=#D9D9D9;");v.style="Dark"==h.Scheme?v.style+"strokeColor=none;fillColor=#111111;":v.style+"strokeColor=none;fillColor=#ffffff;";v.style+=f(v.style,h,u,v);break;
-case "AndroidTabs":var Pa=parseInt(h.Tabs),Ea=t;0<Pa&&(Ea/=Pa);for(var fa=[],na=[],l=0;l<Pa;l++)fa[l]=new mxCell("",new mxGeometry(l*Ea,0,Ea,r),"strokeColor=none;fillColor=none;"),fa[l].vertex=!0,v.insert(fa[l]),fa[l].value=c(h["Tab_"+l]),fa[l].style+=k(h["Tab_"+l]),0<l&&(na[l]=new mxCell("",new mxGeometry(l*Ea-2,.2*r,4,.6*r),"shape=line;direction=north;"),na[l].vertex=!0,v.insert(na[l]),na[l].style="Dark"==h.Scheme?na[l].style+"strokeColor=#484848;":na[l].style+"strokeColor=#CCCCCC;");var nc=new mxCell("",
-new mxGeometry(h.Selected*Ea+2,r-3,Ea-4,3),"strokeColor=none;fillColor=#33B5E5;");nc.vertex=!0;v.insert(nc);v.style="Dark"==h.Scheme?v.style+"strokeColor=none;fillColor=#333333;":v.style+"strokeColor=none;fillColor=#DDDDDD;";v.style+=f(v.style,h,u,v);break;case "AndroidProgressBar":v=new mxCell("",new mxGeometry(Math.round(U),Math.round(ba+.25*r),Math.round(t),Math.round(.5*r)),"html=1;whiteSpace=wrap;");v.vertex=!0;var Nb=new mxCell("",new mxGeometry(0,0,t*h.BarPosition,Math.round(.5*r)),"strokeColor=none;fillColor=#33B5E5;");
-Nb.vertex=!0;v.insert(Nb);v.style="Dark"==h.Scheme?v.style+"strokeColor=none;fillColor=#474747;":v.style+"strokeColor=none;fillColor=#BBBBBB;";v.style+=f(v.style,h,u,v);break;case "AndroidImageBlock":v.style="Dark"==h.Scheme?v.style+"shape=mxgraph.mockup.graphics.simpleIcon;strokeColor=#7E7E7E;fillColor=#111111;":v.style+"shape=mxgraph.mockup.graphics.simpleIcon;strokeColor=#939393;fillColor=#ffffff;";v.style+=f(v.style,h,u,v);break;case "AndroidTextBlock":v.style="Dark"==h.Scheme?h.ShowBorder?v.style+
-"fillColor=#111111;strokeColor=#ffffff;":v.style+"fillColor=#111111;strokeColor=none;":h.ShowBorder?v.style+"fillColor=#ffffff;strokeColor=#000000;":v.style+"fillColor=#ffffff;strokeColor=none;";v.value=c(h.Label);v.style+=k(h.Label);v.style+=f(v.style,h,u,v);break;case "AndroidActionBar":v.style+="strokeColor=none;";switch(h.BarBackground){case "Blue":v.style+="fillColor=#002E3E;";break;case "Gray":v.style+="fillColor=#DDDDDD;";break;case "Dark Gray":v.style+="fillColor=#474747;";break;case "White":v.style+=
-"fillColor=#ffffff;"}if(h.HighlightShow){var fb=null,fb=h.HighlightTop?new mxCell("",new mxGeometry(0,0,t,2),"strokeColor=none;"):new mxCell("",new mxGeometry(0,r-2,t,2),"strokeColor=none;");fb.vertex=!0;v.insert(fb);switch(h.HighlightColor){case "Blue":fb.style+="fillColor=#33B5E5;";break;case "Dark Gray":fb.style+="fillColor=#B0B0B0;";break;case "White":fb.style+="fillColor=#ffffff;"}}if(h.VlignShow){var zb=new mxCell("",new mxGeometry(20,5,2,r-10),"shape=line;direction=north;");zb.vertex=!0;v.insert(zb);
-switch(h.VlignColor){case "Blue":zb.style+="strokeColor=#244C5A;";break;case "White":zb.style+="strokeColor=#ffffff;"}}v.style+=f(v.style,h,u,v);break;case "AndroidButton":v.value=c(h.Label);v.style+=k(h.Label)+"shape=partialRectangle;left=0;right=0;";v.style="Dark"==h.Scheme?v.style+"fillColor=#474747;strokeColor=#C6C5C6;bottom=0;":v.style+"fillColor=#DFE0DF;strokeColor=#C6C5C6;top=0;";v.style+=f(v.style,h,u,v);break;case "AndroidTextBox":v.value=c(h.Label);v.style+=k(h.Label);var Ob=new mxCell("",
-new mxGeometry(2,r-6,t-4,4),"shape=partialRectangle;top=0;fillColor=none;");Ob.vertex=!0;v.insert(Ob);v.style="Dark"==h.Scheme?v.style+"fillColor=#111111;strokeColor=none;":v.style+"fillColor=#ffffff;strokeColor=none;";Ob.style=h.TextFocused?Ob.style+"strokeColor=#33B5E5;":Ob.style+"strokeColor=#A9A9A9;";v.style+=f(v.style,h,u,v);break;case "AndroidRadioButton":var nb=null;h.Checked&&(nb=new mxCell("",new mxGeometry(.15*t,.15*r,.7*t,.7*r),"shape=ellipse;fillColor=#33B5E5;strokeWidth=0.6;"),nb.vertex=
-!0,v.insert(nb));"Dark"==h.Scheme?(v.style+="shape=ellipse;strokeWidth=0.6;strokeColor=#272727;",h.Checked?(nb.style+="strokeColor=#1F5C73;",v.style+="fillColor=#193C49;"):v.style+="fillColor=#111111;"):(v.style+="shape=ellipse;strokeWidth=0.6;fillColor=#ffffff;strokeColor=#5C5C5C;",h.Checked&&(nb.style+="strokeColor=#999999;"));v.style+=f(v.style,h,u,v);break;case "AndroidCheckBox":var cc=null;h.Checked&&(cc=new mxCell("",new mxGeometry(.25*t,.05*-r,t,.8*r),"shape=mxgraph.ios7.misc.check;strokeColor=#33B5E5;strokeWidth=2;"),
-cc.vertex=!0,v.insert(cc));v.style="Dark"==h.Scheme?v.style+"strokeWidth=0.6;strokeColor=#272727;fillColor=#111111;":v.style+"strokeWidth=0.6;strokeColor=#5C5C5C;fillColor=#ffffff;";v.style+=f(v.style,h,u,v);break;case "AndroidToggle":v.style="Dark"==h.Scheme?h.Checked?v.style+"shape=mxgraph.android.switch_on;fillColor=#666666;":v.style+"shape=mxgraph.android.switch_off;fillColor=#666666;":h.Checked?v.style+"shape=mxgraph.android.switch_on;fillColor=#E6E6E6;":v.style+"shape=mxgraph.android.switch_off;fillColor=#E6E6E6;";
-v.style+=f(v.style,h,u,v);break;case "AndroidSlider":v.style+="shape=mxgraph.android.progressScrubberFocused;dx="+h.BarPosition+";fillColor=#33b5e5;";v.style+=f(v.style,h,u,v);break;case "iOSSegmentedControl":Pa=parseInt(h.Tabs);Ea=t;v.style+="strokeColor=none;fillColor=none;";0<Pa&&(Ea/=Pa);fa=[];na=[];for(l=0;l<Pa;l++)fa[l]=new mxCell("",new mxGeometry(l*Ea,0,Ea,r),"strokeColor="+h.FillColor+";"),fa[l].vertex=!0,v.insert(fa[l]),fa[l].value=c(h["Tab_"+l]),fa[l].style+=k(h["Tab_"+l]),fa[l].style=
-h.Selected==l?fa[l].style+D(h,u):fa[l].style+"fillColor=none;";v.style+=f(v.style,h,u,v);break;case "iOSSlider":v.style+="shape=mxgraph.ios7ui.slider;strokeColor="+h.FillColor+";fillColor=#ffffff;strokeWidth=2;barPos="+100*h.BarPosition+";";v.style+=f(v.style,h,u,v);break;case "iOSProgressBar":v=new mxCell("",new mxGeometry(Math.round(U),Math.round(ba+.25*r),Math.round(t),Math.round(.5*r)),"html=1;whiteSpace=wrap;strokeColor=none;fillColor=#B5B5B5;");v.vertex=!0;Nb=new mxCell("",new mxGeometry(0,
-0,t*h.BarPosition,Math.round(.5*r)),"strokeColor=none;"+D(h,u));Nb.vertex=!0;v.insert(Nb);v.style+=f(v.style,h,u,v);break;case "iOSPageControls":v.style+="shape=mxgraph.ios7ui.pageControl;strokeColor=#D6D6D6;";v.style+=f(v.style,h,u,v);break;case "iOSStatusBar":v.style+="shape=mxgraph.ios7ui.appBar;strokeColor=#000000;";var Q=new mxCell(c(h.Text),new mxGeometry(.35*t,0,.3*t,r),"strokeColor=none;fillColor=none;");Q.vertex=!0;v.insert(Q);Q.style+=k(h.Text);var za=new mxCell(c(h.Carrier),new mxGeometry(.09*
-t,0,.2*t,r),"strokeColor=none;fillColor=none;");za.vertex=!0;v.insert(za);za.style+=k(h.Carrier);v.style+=f(v.style,h,u,v);break;case "iOSSearchBar":v.style+="strokeColor=none;";v.style+=f(v.style,h,u,v)+k(h.Search);v.value=c(h.Search);var V=new mxCell("",new mxGeometry(.3*t,.3*r,.4*r,.4*r),"shape=mxgraph.ios7.icons.looking_glass;strokeColor=#000000;fillColor=none;");V.vertex=!0;v.insert(V);break;case "iOSNavBar":v.style+="shape=partialRectangle;top=0;right=0;left=0;strokeColor=#979797;";+k(h.Title);
-v.style+=f(v.style,h,u,v);v.value=c(h.Title);Q=new mxCell(c(h.LeftText),new mxGeometry(.03*t,0,.3*t,r),"strokeColor=none;fillColor=none;");Q.vertex=!0;v.insert(Q);Q.style+=k(h.LeftText);za=new mxCell(c(h.RightText),new mxGeometry(.65*t,0,.3*t,r),"strokeColor=none;fillColor=none;");za.vertex=!0;v.insert(za);za.style+=k(h.RightText);V=new mxCell("",new mxGeometry(.02*t,.2*r,.3*r,.5*r),"shape=mxgraph.ios7.misc.left;strokeColor=#007AFF;strokeWidth=2;");V.vertex=!0;v.insert(V);break;case "iOSTabs":Pa=
-parseInt(h.Tabs);Ea=t;v.style+="shape=partialRectangle;right=0;left=0;bottom=0;strokeColor=#979797;";v.style+=f(v.style,h,u,v);0<Pa&&(Ea/=Pa);fa=[];na=[];for(l=0;l<Pa;l++)fa[l]=new mxCell("",new mxGeometry(l*Ea,0,Ea,r),"strokeColor=none;"),fa[l].vertex=!0,v.insert(fa[l]),fa[l].value=c(h["Tab_"+l]),fa[l].style+=b(h["Tab_"+l]),fa[l].style+=a(h["Tab_"+l])+d(h["Tab_"+l])+g(h["Tab_"+l])+p(h["Tab_"+l])+y(h["Tab_"+l])+A(h["Tab_"+l])+x(h["Tab_"+l])+z(h["Tab_"+l]),fa[l].style+="verticalAlign=bottom;",fa[l].style=
-h.Selected==l?fa[l].style+"fillColor=#BBBBBB;":fa[l].style+"fillColor=none;";break;case "iOSDatePicker":var Qa=new mxCell("",new mxGeometry(0,0,.5*t,.2*r),"strokeColor=none;fillColor=none;");Qa.vertex=!0;v.insert(Qa);Qa.value=c(h.Option11);Qa.style+=k(h.Option11);var Ra=new mxCell("",new mxGeometry(.5*t,0,.15*t,.2*r),"strokeColor=none;fillColor=none;");Ra.vertex=!0;v.insert(Ra);Ra.value=c(h.Option21);Ra.style+=k(h.Option21);var Sa=new mxCell("",new mxGeometry(.65*t,0,.15*t,.2*r),"strokeColor=none;fillColor=none;");
-Sa.vertex=!0;v.insert(Sa);Sa.value=c(h.Option31);Sa.style+=k(h.Option31);var Ta=new mxCell("",new mxGeometry(0,.2*r,.5*t,.2*r),"strokeColor=none;fillColor=none;");Ta.vertex=!0;v.insert(Ta);Ta.value=c(h.Option12);Ta.style+=k(h.Option12);var Ua=new mxCell("",new mxGeometry(.5*t,.2*r,.15*t,.2*r),"strokeColor=none;fillColor=none;");Ua.vertex=!0;v.insert(Ua);Ua.value=c(h.Option22);Ua.style+=k(h.Option22);var Va=new mxCell("",new mxGeometry(.65*t,.2*r,.15*t,.2*r),"strokeColor=none;fillColor=none;");Va.vertex=
-!0;v.insert(Va);Va.value=c(h.Option32);Va.style+=k(h.Option32);var sa=new mxCell("",new mxGeometry(0,.4*r,.5*t,.2*r),"strokeColor=none;fillColor=none;");sa.vertex=!0;v.insert(sa);sa.value=c(h.Option13);sa.style+=k(h.Option13);var ta=new mxCell("",new mxGeometry(.5*t,.4*r,.15*t,.2*r),"strokeColor=none;fillColor=none;");ta.vertex=!0;v.insert(ta);ta.value=c(h.Option23);ta.style+=k(h.Option23);var Wa=new mxCell("",new mxGeometry(.65*t,.4*r,.15*t,.2*r),"strokeColor=none;fillColor=none;");Wa.vertex=!0;
-v.insert(Wa);Wa.value=c(h.Option33);Wa.style+=k(h.Option33);var ua=new mxCell("",new mxGeometry(.8*t,.4*r,.15*t,.2*r),"strokeColor=none;fillColor=none;");ua.vertex=!0;v.insert(ua);ua.value=c(h.Option43);ua.style+=k(h.Option43);var va=new mxCell("",new mxGeometry(0,.6*r,.5*t,.2*r),"strokeColor=none;fillColor=none;");va.vertex=!0;v.insert(va);va.value=c(h.Option14);va.style+=k(h.Option14);var Xa=new mxCell("",new mxGeometry(.5*t,.6*r,.15*t,.2*r),"strokeColor=none;fillColor=none;");Xa.vertex=!0;v.insert(Xa);
-Xa.value=c(h.Option24);Xa.style+=k(h.Option24);var Ya=new mxCell("",new mxGeometry(.65*t,.6*r,.15*t,.2*r),"strokeColor=none;fillColor=none;");Ya.vertex=!0;v.insert(Ya);Ya.value=c(h.Option34);Ya.style+=k(h.Option34);var Za=new mxCell("",new mxGeometry(.8*t,.6*r,.15*t,.2*r),"strokeColor=none;fillColor=none;");Za.vertex=!0;v.insert(Za);Za.value=c(h.Option44);Za.style+=k(h.Option44);var wa=new mxCell("",new mxGeometry(0,.8*r,.5*t,.2*r),"strokeColor=none;fillColor=none;");wa.vertex=!0;v.insert(wa);wa.value=
-c(h.Option15);wa.style+=k(h.Option15);var $a=new mxCell("",new mxGeometry(.5*t,.8*r,.15*t,.2*r),"strokeColor=none;fillColor=none;");$a.vertex=!0;v.insert($a);$a.value=c(h.Option25);$a.style+=k(h.Option25);var ab=new mxCell("",new mxGeometry(.65*t,.8*r,.15*t,.2*r),"strokeColor=none;fillColor=none;");ab.vertex=!0;v.insert(ab);ab.value=c(h.Option35);ab.style+=k(h.Option35);Ma=new mxCell("",new mxGeometry(0,.4*r-2,t,4),"shape=line;strokeColor=#888888;");Ma.vertex=!0;v.insert(Ma);Na=new mxCell("",new mxGeometry(0,
-.6*r-2,t,4),"shape=line;strokeColor=#888888;");Na.vertex=!0;v.insert(Na);v.style+="strokeColor=none;";v.style+=f(v.style,h,u,v);break;case "iOSTimePicker":Qa=new mxCell("",new mxGeometry(0,0,.25*t,.2*r),"strokeColor=none;fillColor=none;");Qa.vertex=!0;v.insert(Qa);Qa.value=c(h.Option11);Qa.style+=k(h.Option11);Ra=new mxCell("",new mxGeometry(.25*t,0,.3*t,.2*r),"strokeColor=none;fillColor=none;");Ra.vertex=!0;v.insert(Ra);Ra.value=c(h.Option21);Ra.style+=k(h.Option21);Ta=new mxCell("",new mxGeometry(0,
-.2*r,.25*t,.2*r),"strokeColor=none;fillColor=none;");Ta.vertex=!0;v.insert(Ta);Ta.value=c(h.Option12);Ta.style+=k(h.Option12);Ua=new mxCell("",new mxGeometry(.25*t,.2*r,.3*t,.2*r),"strokeColor=none;fillColor=none;");Ua.vertex=!0;v.insert(Ua);Ua.value=c(h.Option22);Ua.style+=k(h.Option22);sa=new mxCell("",new mxGeometry(0,.4*r,.25*t,.2*r),"strokeColor=none;fillColor=none;");sa.vertex=!0;v.insert(sa);sa.value=c(h.Option13);sa.style+=k(h.Option13);ta=new mxCell("",new mxGeometry(.25*t,.4*r,.3*t,.2*r),
-"strokeColor=none;fillColor=none;");ta.vertex=!0;v.insert(ta);ta.value=c(h.Option23);ta.style+=k(h.Option23);ua=new mxCell("",new mxGeometry(.7*t,.4*r,.15*t,.2*r),"strokeColor=none;fillColor=none;");ua.vertex=!0;v.insert(ua);ua.value=c(h.Option33);ua.style+=k(h.Option33);va=new mxCell("",new mxGeometry(0,.6*r,.25*t,.2*r),"strokeColor=none;fillColor=none;");va.vertex=!0;v.insert(va);va.value=c(h.Option14);va.style+=k(h.Option14);Xa=new mxCell("",new mxGeometry(.25*t,.6*r,.3*t,.2*r),"strokeColor=none;fillColor=none;");
-Xa.vertex=!0;v.insert(Xa);Xa.value=c(h.Option24);Xa.style+=k(h.Option24);Za=new mxCell("",new mxGeometry(.7*t,.6*r,.15*t,.2*r),"strokeColor=none;fillColor=none;");Za.vertex=!0;v.insert(Za);Za.value=c(h.Option34);Za.style+=k(h.Option34);wa=new mxCell("",new mxGeometry(0,.8*r,.25*t,.2*r),"strokeColor=none;fillColor=none;");wa.vertex=!0;v.insert(wa);wa.value=c(h.Option15);wa.style+=k(h.Option15);$a=new mxCell("",new mxGeometry(.25*t,.8*r,.3*t,.2*r),"strokeColor=none;fillColor=none;");$a.vertex=!0;v.insert($a);
-$a.value=c(h.Option25);$a.style+=k(h.Option25);Ma=new mxCell("",new mxGeometry(0,.4*r-2,t,4),"shape=line;strokeColor=#888888;");Ma.vertex=!0;v.insert(Ma);Na=new mxCell("",new mxGeometry(0,.6*r-2,t,4),"shape=line;strokeColor=#888888;");Na.vertex=!0;v.insert(Na);v.style+="strokeColor=none;";v.style+=f(v.style,h,u,v);break;case "iOSCountdownPicker":Sa=new mxCell("",new mxGeometry(.45*t,0,.2*t,.2*r),"strokeColor=none;fillColor=none;");Sa.vertex=!0;v.insert(Sa);Sa.value=c(h.Option31);Sa.style+=k(h.Option31);
-Va=new mxCell("",new mxGeometry(.45*t,.2*r,.2*t,.2*r),"strokeColor=none;fillColor=none;");Va.vertex=!0;v.insert(Va);Va.value=c(h.Option32);Va.style+=k(h.Option32);sa=new mxCell("",new mxGeometry(0,.4*r,.25*t,.2*r),"strokeColor=none;fillColor=none;");sa.vertex=!0;v.insert(sa);sa.value=c(h.Option13);sa.style+=k(h.Option13);ta=new mxCell("",new mxGeometry(.2*t,.4*r,.25*t,.2*r),"strokeColor=none;fillColor=none;");ta.vertex=!0;v.insert(ta);ta.value=c(h.Option23);ta.style+=k(h.Option23);Wa=new mxCell("",
-new mxGeometry(.45*t,.4*r,.2*t,.2*r),"strokeColor=none;fillColor=none;");Wa.vertex=!0;v.insert(Wa);Wa.value=c(h.Option33);Wa.style+=k(h.Option33);ua=new mxCell("",new mxGeometry(.6*t,.4*r,.2*t,.2*r),"strokeColor=none;fillColor=none;");ua.vertex=!0;v.insert(ua);ua.value=c(h.Option43);ua.style+=k(h.Option43);va=new mxCell("",new mxGeometry(0,.6*r,.25*t,.2*r),"strokeColor=none;fillColor=none;");va.vertex=!0;v.insert(va);va.value=c(h.Option14);va.style+=k(h.Option14);Ya=new mxCell("",new mxGeometry(.45*
-t,.6*r,.2*t,.2*r),"strokeColor=none;fillColor=none;");Ya.vertex=!0;v.insert(Ya);Ya.value=c(h.Option34);Ya.style+=k(h.Option34);wa=new mxCell("",new mxGeometry(0,.8*r,.25*t,.2*r),"strokeColor=none;fillColor=none;");wa.vertex=!0;v.insert(wa);wa.value=c(h.Option15);wa.style+=k(h.Option15);ab=new mxCell("",new mxGeometry(.45*t,.8*r,.2*t,.2*r),"strokeColor=none;fillColor=none;");ab.vertex=!0;v.insert(ab);ab.value=c(h.Option35);ab.style+=k(h.Option35);Ma=new mxCell("",new mxGeometry(0,.4*r-2,t,4),"shape=line;strokeColor=#888888;");
-Ma.vertex=!0;v.insert(Ma);Na=new mxCell("",new mxGeometry(0,.6*r-2,t,4),"shape=line;strokeColor=#888888;");Na.vertex=!0;v.insert(Na);v.style+="strokeColor=none;";v.style+=f(v.style,h,u,v);break;case "iOSBasicCell":v.style+="shape=partialRectangle;left=0;top=0;right=0;fillColor=#ffffff;strokeColor=#C8C7CC;spacing=0;align=left;spacingLeft="+.6*h.SeparatorInset+";";v.style+=b(h.text)+a(h.text)+d(h.text)+F(h.text);v.style+=f(v.style,h,u,v);v.value=c(h.text);switch(h.AccessoryIndicatorType){case "Disclosure":V=
-new mxCell("",new mxGeometry(.91*t,.35*r,.15*r,.3*r),"shape=mxgraph.ios7.misc.right;strokeColor=#D2D2D6;");V.vertex=!0;v.insert(V);break;case "DetailDisclosure":V=new mxCell("",new mxGeometry(.91*t,.35*r,.15*r,.3*r),"shape=mxgraph.ios7.misc.right;strokeColor=#D2D2D6;");V.vertex=!0;v.insert(V);var ma=new mxCell("",new mxGeometry(.79*t,.25*r,.5*r,.5*r),"shape=mxgraph.ios7.icons.info;strokeColor=#007AFF;fillColor=#ffffff;");ma.vertex=!0;v.insert(ma);break;case "DetailIndicator":ma=new mxCell("",new mxGeometry(.87*
-t,.25*r,.5*r,.5*r),"shape=mxgraph.ios7.icons.info;strokeColor=#007AFF;fillColor=#ffffff;");ma.vertex=!0;v.insert(ma);break;case "CheckMark":V=new mxCell("",new mxGeometry(.89*t,.37*r,.4*r,.26*r),"shape=mxgraph.ios7.misc.check;strokeColor=#007AFF;strokeWidth=2;"),V.vertex=!0,v.insert(V)}break;case "iOSSubtitleCell":v.style+="shape=partialRectangle;left=0;top=0;right=0;fillColor=#ffffff;strokeColor=#C8C7CC;align=left;spacing=0;verticalAlign=top;spacingLeft="+.6*h.SeparatorInset+";";v.style+=b(h.subtext)+
-a(h.subtext)+d(h.subtext);v.style+=f(v.style,h,u,v);v.value=c(h.subtext);var oa=new mxCell("",new mxGeometry(0,.4*r,t,.6*r),"fillColor=none;strokeColor=none;spacing=0;align=left;verticalAlign=bottom;spacingLeft="+.6*h.SeparatorInset+";");oa.vertex=!0;v.insert(oa);oa.style+=b(h.text)+a(h.text)+d(h.text);oa.value=c(h.text);switch(h.AccessoryIndicatorType){case "Disclosure":V=new mxCell("",new mxGeometry(.91*t,.35*r,.15*r,.3*r),"shape=mxgraph.ios7.misc.right;strokeColor=#D2D2D6;");V.vertex=!0;v.insert(V);
-break;case "DetailDisclosure":V=new mxCell("",new mxGeometry(.91*t,.35*r,.15*r,.3*r),"shape=mxgraph.ios7.misc.right;strokeColor=#D2D2D6;");V.vertex=!0;v.insert(V);ma=new mxCell("",new mxGeometry(.79*t,.25*r,.5*r,.5*r),"shape=mxgraph.ios7.icons.info;strokeColor=#007AFF;fillColor=#ffffff;");ma.vertex=!0;v.insert(ma);break;case "DetailIndicator":ma=new mxCell("",new mxGeometry(.87*t,.25*r,.5*r,.5*r),"shape=mxgraph.ios7.icons.info;strokeColor=#007AFF;fillColor=#ffffff;");ma.vertex=!0;v.insert(ma);break;
-case "CheckMark":V=new mxCell("",new mxGeometry(.89*t,.37*r,.4*r,.26*r),"shape=mxgraph.ios7.misc.check;strokeColor=#007AFF;strokeWidth=2;"),V.vertex=!0,v.insert(V)}break;case "iOSRightDetailCell":v.style+="shape=partialRectangle;left=0;top=0;right=0;fillColor=#ffffff;strokeColor=#C8C7CC;align=left;spacing=0;verticalAlign=middle;spacingLeft="+.6*h.SeparatorInset+";";v.style+=b(h.subtext)+a(h.subtext)+d(h.subtext);v.style+=f(v.style,h,u,v);v.value=c(h.subtext);oa=null;switch(h.AccessoryIndicatorType){case "Disclosure":V=
-new mxCell("",new mxGeometry(.91*t,.35*r,.15*r,.3*r),"shape=mxgraph.ios7.misc.right;strokeColor=#D2D2D6;");V.vertex=!0;v.insert(V);oa=new mxCell("",new mxGeometry(.55*t,0,.3*t,r),"fillColor=none;strokeColor=none;spacing=0;align=right;");break;case "DetailDisclosure":V=new mxCell("",new mxGeometry(.91*t,.35*r,.15*r,.3*r),"shape=mxgraph.ios7.misc.right;strokeColor=#D2D2D6;");V.vertex=!0;v.insert(V);ma=new mxCell("",new mxGeometry(.79*t,.25*r,.5*r,.5*r),"shape=mxgraph.ios7.icons.info;strokeColor=#007AFF;fillColor=#ffffff;");
-ma.vertex=!0;v.insert(ma);oa=new mxCell("",new mxGeometry(.45*t,0,.3*t,r),"fillColor=none;strokeColor=none;spacing=0;align=right;");break;case "DetailIndicator":ma=new mxCell("",new mxGeometry(.87*t,.25*r,.5*r,.5*r),"shape=mxgraph.ios7.icons.info;strokeColor=#007AFF;fillColor=#ffffff;");ma.vertex=!0;v.insert(ma);oa=new mxCell("",new mxGeometry(.52*t,0,.3*t,r),"fillColor=none;strokeColor=none;spacing=0;align=right;");break;case "CheckMark":V=new mxCell("",new mxGeometry(.89*t,.37*r,.4*r,.26*r),"shape=mxgraph.ios7.misc.check;strokeColor=#007AFF;strokeWidth=2;");
-V.vertex=!0;v.insert(V);oa=new mxCell("",new mxGeometry(.55*t,0,.3*t,r),"fillColor=none;strokeColor=none;spacing=0;align=right;");break;default:oa=new mxCell("",new mxGeometry(.65*t,0,.3*t,r),"fillColor=none;strokeColor=none;spacing=0;align=right;")}oa.vertex=!0;v.insert(oa);oa.style+=b(h.text)+a(h.text)+d(h.text);oa.value=c(h.text);break;case "iOSLeftDetailCell":v.style+="shape=partialRectangle;left=0;top=0;right=0;fillColor=#ffffff;strokeColor=#C8C7CC;";v.style+=f(v.style,h,u,v);var Ja=new mxCell("",
-new mxGeometry(0,0,.25*t,r),"fillColor=none;strokeColor=none;spacing=0;align=right;verticalAlign=middle;spacingRight=3;");Ja.vertex=!0;v.insert(Ja);Ja.style+=b(h.subtext)+a(h.subtext)+d(h.subtext);Ja.value=c(h.subtext);oa=new mxCell("",new mxGeometry(.25*t,0,.5*t,r),"fillColor=none;strokeColor=none;spacing=0;align=left;verticalAlign=middle;spacingLeft=3;");oa.vertex=!0;v.insert(oa);oa.style+=b(h.text)+a(h.text)+d(h.text);oa.value=c(h.text);switch(h.AccessoryIndicatorType){case "Disclosure":V=new mxCell("",
-new mxGeometry(.91*t,.35*r,.15*r,.3*r),"shape=mxgraph.ios7.misc.right;strokeColor=#D2D2D6;");V.vertex=!0;v.insert(V);break;case "DetailDisclosure":V=new mxCell("",new mxGeometry(.91*t,.35*r,.15*r,.3*r),"shape=mxgraph.ios7.misc.right;strokeColor=#D2D2D6;");V.vertex=!0;v.insert(V);ma=new mxCell("",new mxGeometry(.79*t,.25*r,.5*r,.5*r),"shape=mxgraph.ios7.icons.info;strokeColor=#007AFF;fillColor=#ffffff;");ma.vertex=!0;v.insert(ma);break;case "DetailIndicator":ma=new mxCell("",new mxGeometry(.87*t,.25*
-r,.5*r,.5*r),"shape=mxgraph.ios7.icons.info;strokeColor=#007AFF;fillColor=#ffffff;");ma.vertex=!0;v.insert(ma);break;case "CheckMark":V=new mxCell("",new mxGeometry(.89*t,.37*r,.4*r,.26*r),"shape=mxgraph.ios7.misc.check;strokeColor=#007AFF;strokeWidth=2;"),V.vertex=!0,v.insert(V)}break;case "iOSTableGroupedSectionBreak":v.style+="shape=partialRectangle;left=0;right=0;fillColor=#EFEFF4;strokeColor=#C8C7CC;";Q=new mxCell("",new mxGeometry(0,0,t,.4*r),"fillColor=none;strokeColor=none;spacing=10;align=left;");
-Q.vertex=!0;v.insert(Q);Q.style+=b(h.text)+a(h.text)+d(h.text);Q.value=c(h.text);za=new mxCell("",new mxGeometry(0,.6*r,t,.4*r),"fillColor=none;strokeColor=none;spacing=10;align=left;");za.vertex=!0;v.insert(za);za.style+=b(h["bottom-text"])+a(h["bottom-text"])+d(h["bottom-text"]);za.value=c(h["bottom-text"]);break;case "iOSTablePlainHeaderFooter":v.style+="fillColor=#F7F7F7;strokeColor=none;align=left;spacingLeft=5;spacing=0;";v.style+=b(h.text)+a(h.text)+d(h.text);v.value=c(h.text);v.style+=f(v.style,
-h,u,v);break;case "SMPage":if(h.Group){v.style+="strokeColor=none;fillColor=none;";var q=new mxCell("",new mxGeometry(0,0,.9*t,.9*r),"part=1;");q.vertex=!0;v.insert(q);q.style+=B(h,u)+D(h,u)+C(h,u,q)+G(h)+Y(h);var w=new mxCell("",new mxGeometry(.1*t,.1*r,.9*t,.9*r),"part=1;");w.vertex=!0;v.insert(w);w.style+=B(h,u)+D(h,u)+C(h,u,w)+G(h)+Y(h)+k(h);w.value=c(h.Text);h.Future&&(q.style+="dashed=1;",w.style+="dashed=1;")}else h.Future&&(v.style+="dashed=1;"),v.style+=B(h,u)+D(h,u)+C(h,u,v)+G(h)+Y(h)+k(h),
-v.value=c(h.Text);v.style+=f(v.style,h,u,v);break;case "SMHome":case "SMPrint":case "SMSearch":case "SMSettings":case "SMSitemap":case "SMSuccess":case "SMVideo":case "SMAudio":case "SMCalendar":case "SMChart":case "SMCloud":case "SMDocument":case "SMForm":case "SMGame":case "SMUpload":q=null;switch(e.Class){case "SMHome":q=new mxCell("",new mxGeometry(.5*t-.4*r,.1*r,.8*r,.8*r),"part=1;shape=mxgraph.office.concepts.home;flipH=1;fillColor=#e6e6e6;opacity=50;strokeColor=none;");break;case "SMPrint":q=
+(function(){function c(a){var b=null!=a.Text?a.Text:null!=a.Value?a.Value:a.Lane_0;null==b&&null!=a.State?null!=a.State.t&&(b=a.State):null==b&&null!=a.Note?null!=a.Note.t&&(b=a.Note):null==b&&null!=a.Title?null!=a.Title.t&&(b=a.Title):null!=a.t&&(b=a);null==b&&null!=a.TextAreas?null!=a.TextAreas.Text&&null!=a.TextAreas.Text.Value&&null!=a.TextAreas.Text.Value.t&&(b=a.TextAreas.Text.Value):null==b&&null!=a.t0&&null!=a.t0.t&&(b=a.t0);if(null!=b){if(null!=b.t)return b.t=b.t.replace(/</g,"&lt;"),b.t=
+b.t.replace(/>/g,"&gt;"),b.t;if(null!=b.Value&&null!=b.Value.t)return b.Value.t=b.Value.t.replace(/</g,"&lt;"),b.Value.t=b.Value.t.replace(/>/g,"&gt;"),b.Value.t}return""}function n(a){return null!=a.Action?a.Action:a}function m(a){if(null!=a.Text){if(null!=a.Text.m)return a.Text.m}else if(null!=a.TextAreas){if(null!=a.TextAreas.Text&&null!=a.TextAreas.Text.Value&&null!=a.TextAreas.Text.Value.m)return a.TextAreas.Text.Value.m}else if(null!=a.m)return a.m;return null}function k(c){return b(c)+a(c)+
+d(c)+h(c)+p(c)+y(c)+z(c)+x(c)+A(c)+D(c)}function f(a,b,d,h){var p="";null!=a&&""!=a&&";"!=a.charAt(a.length-1)&&(p=";");return p+=e(mxConstants.STYLE_FONTSIZE,a,b,d,h)+e(mxConstants.STYLE_FONTCOLOR,a,b,d,h)+e(mxConstants.STYLE_FONTSTYLE,a,b,d,h)+e(mxConstants.STYLE_ALIGN,a,b,d,h)+e(mxConstants.STYLE_SPACING_LEFT,a,b,d,h)+e(mxConstants.STYLE_SPACING_RIGHT,a,b,d,h)+e(mxConstants.STYLE_SPACING_TOP,a,b,d,h)+e(mxConstants.STYLE_SPACING_BOTTOM,a,b,d,h)+e(mxConstants.STYLE_SPACING,a,b,d,h)+e(mxConstants.STYLE_VERTICAL_ALIGN,
+a,b,d,h)+e(mxConstants.STYLE_STROKECOLOR,a,b,d,h)+e(mxConstants.STYLE_OPACITY,a,b,d,h)+e(mxConstants.STYLE_ROUNDED,a,b,d,h)+e(mxConstants.STYLE_ROTATION,a,b,d,h)+e(mxConstants.STYLE_FLIPH,a,b,d,h)+e(mxConstants.STYLE_FLIPV,a,b,d,h)+e(mxConstants.STYLE_SHADOW,a,b,d,h)+e(mxConstants.STYLE_FILLCOLOR,a,b,d,h)+e(mxConstants.STYLE_DASHED,a,b,d,h)+e(mxConstants.STYLE_STROKEWIDTH,a,b,d,h)+e(mxConstants.STYLE_IMAGE,a,b,d,h)}function e(c,e,f,k,g){a:{if(null!=e&&null!=c){if(e.includes(";"+c+"=")){e=!0;break a}if(e.substring(0,
+c.length+1)==c+"="){e=!0;break a}}e=!1}if(!e)switch(c){case mxConstants.STYLE_FONTSIZE:return b(f);case mxConstants.STYLE_FONTCOLOR:return a(f);case mxConstants.STYLE_FONTSTYLE:return d(f);case mxConstants.STYLE_ALIGN:return h(f);case mxConstants.STYLE_SPACING_LEFT:return p(f);case mxConstants.STYLE_SPACING_RIGHT:return y(f);case mxConstants.STYLE_SPACING_TOP:return z(f);case mxConstants.STYLE_SPACING_BOTTOM:return x(f);case mxConstants.STYLE_SPACING:return A(f);case mxConstants.STYLE_VERTICAL_ALIGN:return D(f);
+case mxConstants.STYLE_STROKECOLOR:return C(f,k);case mxConstants.STYLE_OPACITY:return B(f,k,g);case mxConstants.STYLE_ROUNDED:return k=!g.edge&&null!=f.Rounding&&0<f.Rounding?"rounded=1;absoluteArcSize=1;arcSize="+.6*f.Rounding+";":"",k;case mxConstants.STYLE_ROTATION:a:{if(null!=f.Rotation&&(c=mxUtils.toDegree(parseFloat(f.Rotation)),"AdvancedSwimLaneBlockRotated"==k.Class?(c+=90,g.geometry.rotate90()):0<=mxUtils.indexOf(Wb,k.Class)?(c-=90,g.geometry.rotate90(),g.geometry.rotate90(),g.geometry.rotate90()):
+0<=mxUtils.indexOf(cb,k.Class)&&(c+=180,g.geometry.rotate90(),g.geometry.rotate90()),0!=c)){k="rotation="+c+";";break a}k=""}return k;case mxConstants.STYLE_FLIPH:return k=f.FlipX?"flipH=1;":"",k;case mxConstants.STYLE_FLIPV:return k=f.FlipY?"flipV=1;":"",k;case mxConstants.STYLE_SHADOW:return G(f);case mxConstants.STYLE_FILLCOLOR:return F(f,k);case mxConstants.STYLE_DASHED:return Q(f);case mxConstants.STYLE_STROKEWIDTH:return aa(f);case mxConstants.STYLE_IMAGE:return k="ImageSearchBlock2"==k.Class?
+"image="+f.URL+";":"UserImage2Block"==k.Class&&null!=f.ImageFillProps&&null!=f.ImageFillProps.url?"image="+f.ImageFillProps.url+";":"",k}return""}function b(a){a=m(a);if(null!=a)for(var b=0;b<a.length;){var d=a[b];if("s"==d.n&&null!=d.v)return"fontSize="+Math.round(.6*d.v)+";";b++}return"fontSize=11;"}function a(a){a=m(a);if(null!=a)for(var b=0;b<a.length;){var d=a[b];if("c"==d.n&&null!=d.v)return a=d.v,"#"!=a.charAt(0)&&(a="#"+a),a=a.substring(0,7),mxConstants.STYLE_FONTCOLOR+"="+a+";";b++}return""}
+function d(a){a=m(a);if(null!=a){var b=0,d=!1;if(null!=a)for(var h=0;!d&&h<a.length;){var p=a[h];"b"==p.n&&null!=p.v&&p.v&&(d=!0,b+=1);h++}d=!1;if(null!=a)for(h=0;!d&&h<a.length;)p=a[h],"i"==p.n&&null!=p.v&&p.v&&(d=!0,b+=2),h++;d=!1;if(null!=a)for(h=0;!d&&h<a.length;)p=a[h],"u"==p.n&&null!=p.v&&p.v&&(d=!0,b+=4),h++;if(0<b)return"fontStyle="+b+";"}return""}function h(a){a=m(a);if(null!=a)for(var b=0;b<a.length;){var d=a[b];if("a"==d.n&&null!=d.v)return"align="+d.v+";";b++}return""}function p(a){var b=
+m(a);if(null!=b)for(var d=0;d<b.length;){var p=b[d];if(null!=p.v){if("il"==p.n)return"spacingLeft="+.6*p.v+";";h(a)}d++}return""}function y(a){a=m(a);if(null!=a)for(var b=0;b<a.length;){var d=a[b];if("ir"==d.n&&null!=d.v)return"spacingRight="+d.v+";";b++}return""}function z(a){a=m(a);if(null!=a)for(var b=0;b<a.length;){var d=a[b];if("mt"==d.n&&null!=d.v)return"spacingTop="+d.v+";";b++}return""}function x(a){a=m(a);if(null!=a)for(var b=0;b<a.length;){var d=a[b];if("mb"==d.n&&null!=d.v)return"spacingBottom="+
+d.v+";";b++}return""}function A(a){return"number"===typeof a.InsetMargin?"spacing="+parseInt(a.InsetMargin)+";":""}function D(a){return null!=a.Text_VAlign&&"string"===typeof a.Text_VAlign?"verticalAlign="+a.Text_VAlign+";":V(mxConstants.STYLE_VERTICAL_ALIGN,a.TextVAlign,"middle")}function C(a,b){return 0==a.LineWidth?mxConstants.STYLE_STROKECOLOR+"=none;":V(mxConstants.STYLE_STROKECOLOR,a.LineColor.substring(0,7),"#000000")}function B(a,b,d){b="";if("string"===typeof a.LineColor&&7<a.LineColor.length){var h=
+"0x"+a.LineColor.substring(a.LineColor.length-2,a.LineColor.length);b+="strokeOpacity="+Math.round(parseInt(h)/2.55)+";"}"string"===typeof a.FillColor&&7<a.FillColor.length&&(a="0x"+a.FillColor.substring(a.FillColor.length-2,a.FillColor.length),d.style.includes("fillOpacity")||(b+="fillOpacity="+Math.round(parseInt(a)/2.55)+";"));return b}function G(a){return null!=a.Shadow?mxConstants.STYLE_SHADOW+"=1;":""}function F(a,b){if(null!=a.FillColor)if("object"===typeof a.FillColor){if(null!=a.FillColor.cs&&
+1<a.FillColor.cs.length)return V(mxConstants.STYLE_FILLCOLOR,a.FillColor.cs[0].c.substring(0,7))+V(mxConstants.STYLE_GRADIENTCOLOR,a.FillColor.cs[1].c.substring(0,7))}else return"string"===typeof a.FillColor?V(mxConstants.STYLE_FILLCOLOR,a.FillColor.substring(0,7),"#FFFFFF"):V(mxConstants.STYLE_FILLCOLOR,"none");return""}function Q(a){return"dashed"==a.StrokeStyle?"dashed=1;":"dotted"==a.StrokeStyle?"dashed=1;dashPattern=1 4;":"dashdot"==a.StrokeStyle?"dashed=1;dashPattern=10 5 1 5;":"dotdotdot"==
+a.StrokeStyle?"dashed=1;dashPattern=1 1;":""}function aa(a){return V(mxConstants.STYLE_STROKEWIDTH,.6*parseFloat(a.LineWidth),"1")}function Y(a,b,d){var h=n(b);if(null!=h&&(b=Ia[h.Class],null!=b&&(a.style+=b+";"),b=null!=h.Properties?h.Properties:h,null!=b)){a.value=c(b);a.style+=f(a.style,b,h,a);a.style.includes("strokeColor")||(a.style+=C(b,h));for(var p in b)if(b.hasOwnProperty(p)&&p.toString().startsWith("ShapeData_"))try{for(var e=b[p],y=mxUtils.trim(e.Label).replace(/[^a-z0-9]+/ig,"_").replace(/^\d+/,
+"").replace(/_+$/,""),h=y,x=0;null!=d.getAttributeForCell(a,h);)x++,h=y+"_"+x;d.setAttributeForCell(a,h,null!=e.Value?e.Value:"")}catch(sc){window.console&&console.log("Ignored "+p+":",sc)}if(a.edge){a.style=null!=b.Rounding?a.style+("rounded=1;arcSize="+b.Rounding+";"):a.style+"rounded=0;";if("diagonal"!=b.Shape)if(null!=b.ElbowPoints)for(a.geometry.points=[],d=0;d<b.ElbowPoints.length;d++)a.geometry.points.push(new mxPoint(Math.round(.6*b.ElbowPoints[d].x+0),Math.round(.6*b.ElbowPoints[d].y+0)));
+else"elbow"==b.Shape?a.style=null!=b.Endpoint1.Block&&null!=b.Endpoint1.Block?a.style+"edgeStyle=orthogonalEdgeStyle;":a.style+"edgeStyle=elbowEdgeStyle;":null!=b.Endpoint1.Block&&null!=b.Endpoint1.Block&&(a.style+="edgeStyle=orthogonalEdgeStyle;","curve"==b.Shape&&(a.style+="curved=1;"));null!=b.Endpoint1.Style&&(a.style+="startArrow="+ob[b.Endpoint1.Style]+";");null!=b.Endpoint2.Style&&(a.style+="endArrow="+ob[b.Endpoint2.Style].replace(/startSize/g,"endSize")+";");ba(a,b.Endpoint1,!0);ba(a,b.Endpoint2,
+!1)}}}function T(a,b){var d=n(a).Properties.BoundingBox;null==a.Class||"AWS"!==a.Class.substring(0,3)&&"Amazon"!==a.Class.substring(0,6)||a.Class.includes("AWS19")||(d.h-=20);v=new mxCell("",new mxGeometry(Math.round(.6*d.x+0),Math.round(.6*d.y+0),Math.round(.6*d.w),Math.round(.6*d.h)),"html=1;whiteSpace=wrap;");v.vertex=!0;Y(v,a,b);return v}function H(a,b,d){d=2*(parseFloat(a.Location)-.5);a=new mxCell(c(a),new mxGeometry(d,0,0,0),"text;html=1;resizable=0;labelBackgroundColor=#ffffff;align=center;verticalAlign=middle;");
+a.geometry.relative=!0;a.vertex=!0;b.insert(a);return b}function V(a,b,d,h){null!=b&&null!=h&&(b=h(b));return null!=b&&b!=d?a+"="+b+";":""}function ba(a,b,d){null!=b&&null!=b.LinkX&&null!=b.LinkY&&(a.style+=(d?"exitX":"entryX")+"="+b.LinkX+";"+(d?"exitY":"entryY")+"="+b.LinkY+";"+(d?"exitPerimeter":"entryPerimeter")+"=1;")}function ea(a,b,d,h,p,c){a.getModel().beginUpdate();try{var e=function(b,d){var h=null!=d.Endpoint1.Block?y[d.Endpoint1.Block]:null,p=null!=d.Endpoint2.Block?y[d.Endpoint2.Block]:
+null,c;c=new mxCell("",new mxGeometry(0,0,100,100),"html=1;jettySize=18;");c.geometry.relative=!0;c.edge=!0;Y(c,b,a);var e=n(b).Properties,f=null!=e?e.TextAreas:b.TextAreas;if(null!=f){for(var l=0;null!=f["t"+l];){var x=f["t"+l];c=H(x,c);l++}for(l=1;null!=f["m"+l];)x=f["m"+l],c=H(x,c,b),l++;null!=f.Text&&(c=H(f,c,b));f=null!=e?e.TextAreas:b.TextAreas;null!=f.Message&&(c=H(f.Message,c,b))}null==h&&null!=d.Endpoint1&&c.geometry.setTerminalPoint(new mxPoint(Math.round(.6*d.Endpoint1.x),Math.round(.6*
+d.Endpoint1.y)),!0);null==p&&null!=d.Endpoint2&&c.geometry.setTerminalPoint(new mxPoint(Math.round(.6*d.Endpoint2.x),Math.round(.6*d.Endpoint2.y)),!1);g.push(a.addCell(c,null,null,h,p))},g=[],y={},f=[],x=[],z=0;if(null!=b.Groups)for(var k in b.Groups){var A=b.Groups[k];A.id=k;if(1==A.Hidden&&null!=A.Members){0>mxUtils.indexOf(x,k)&&x.push(k);for(var m in A.Members)x=jb(m,b.Groups,x)}}if(null!=b.Blocks)for(k in b.Blocks)A=b.Blocks[k],A.id=k,0>mxUtils.indexOf(x,k)&&(m=!1,null!=Ia[A.Class]&&"mxCompositeShape"==
+Ia[A.Class]&&(y[A.id]=la(A,g,a),f.push(A),m=!0),m||(y[A.id]=T(A,a),f.push(A)));else for(z=0;z<b.Objects.length;z++)A=b.Objects[z],null!=A.Action&&"mxCompositeShape"==Ia[A.Action.Class]?y[A.id]=la(A,g,a):A.IsBlock&&null!=A.Action&&null!=A.Action.Properties&&(y[A.id]=T(A,a)),f.push(A);f.sort(function(a,b){a=n(a);b=n(b);return null!=a.Properties&&null!=b.Properties?a.Properties.ZOrder-b.Properties.ZOrder:0});for(z=0;z<f.length;z++){var A=f[z],D=y[A.id];null!=D?g.push(a.addCell(D)):A.IsLine&&null!=A.Action&&
+null!=A.Action.Properties&&e(A,A.Action.Properties)}if(null!=b.Lines)for(k in b.Lines)0>mxUtils.indexOf(x,k)&&(A=b.Lines[k],e(A,A));if(p&&null!=d&&null!=h){a.isGridEnabled()&&(d=a.snap(d),h=a.snap(h));var l=a.getBoundingBoxFromGeometry(g,!0);null!=l&&a.moveCells(g,d-l.x,h-l.y)}c||a.setSelectionCells(g)}finally{a.getModel().endUpdate()}}function ia(){var a=new Graph;a.setExtendParents(!1);a.setExtendParentsOnAdd(!1);a.setConstrainChildren(!1);a.setHtmlLabels(!0);a.getModel().maintainEdgeParent=!1;
+return a}function Da(a,b,d,h,p,c,e,y){a=new mxCell("",new mxGeometry(a,b,0,0),"strokeColor=none;fillColor=none;");a.vertex=!0;e.insert(a);c=[a];d=d.clone();y.insertEdge(d,!1);a.insertEdge(d,!0);c.push(d);h.push(p.addCell(d,null,null,null,null))}function ga(a,b,d,h,p,c,e,y,f){a=new mxCell("",new mxGeometry(a,b,0,0),"strokeColor=none;fillColor=none;");a.vertex=!0;f.insert(a);d=new mxCell("",new mxGeometry(d,h,0,0),"strokeColor=none;fillColor=none;");d.vertex=!0;f.insert(d);y=[d];p=p.clone();a.insertEdge(p,
+!0);d.insertEdge(p,!1);y.push(p);c.push(e.addCell(p,null,null,null,null))}function da(a,b,d,h,p,e){h.style="rounded=1;absoluteArcSize=1;fillColor=#ffffff;arcSize=2;strokeColor=#dddddd;";h.style+=f(h.style,p,e,h);b=c(p);h.vertex=!0;a=new mxCell(b,new mxGeometry(0,.5,24,24),"dashed=0;connectable=0;html=1;strokeColor=none;"+mxConstants.STYLE_SHAPE+"=mxgraph.gcp2."+a+";part=1;shadow=0;labelPosition=right;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=5;");a.style+=f(a.style,
+p,e,a);a.geometry.relative=!0;a.geometry.offset=new mxPoint(5,-12);a.vertex=!0;h.insert(a)}function ja(a,b,d,h,p,e,y,x){p="transparent"!=a?mxConstants.STYLE_SHAPE+"=mxgraph.gcp2.":mxConstants.STYLE_SHAPE+"=";e.style="rounded=1;absoluteArcSize=1;arcSize=2;verticalAlign=bottom;fillColor=#ffffff;strokeColor=#dddddd;whiteSpace=wrap;";e.style+=f(e.style,y,x,e);e.value=c(y);e.vertex=!0;a=new mxCell(null,new mxGeometry(.5,0,.7*h*b,.7*h*d),p+a+";part=1;dashed=0;connectable=0;html=1;strokeColor=none;shadow=0;");
+a.geometry.relative=!0;a.geometry.offset=new mxPoint(-b*h*.35,10+(1-d)*h*.35);a.vertex=!0;a.style+=f(a.style,y,x,a);e.insert(a)}function la(e,m,H){var u=n(e),g=u.Properties,T=g.BoundingBox,t=Math.round(.6*T.w),r=Math.round(.6*T.h),V=Math.round(.6*T.x+0),ba=Math.round(.6*T.y+0);null==e.Class||"GCPInputDatabase"!==e.Class&&"GCPInputRecord"!==e.Class&&"GCPInputPayment"!==e.Class&&"GCPInputGateway"!==e.Class&&"GCPInputLocalCompute"!==e.Class&&"GCPInputBeacon"!==e.Class&&"GCPInputStorage"!==e.Class&&"GCPInputList"!==
+e.Class&&"GCPInputStream"!==e.Class&&"GCPInputMobileDevices"!==e.Class&&"GCPInputCircuitBoard"!==e.Class&&"GCPInputLive"!==e.Class&&"GCPInputUsers"!==e.Class&&"GCPInputLaptop"!==e.Class&&"GCPInputApplication"!==e.Class&&"GCPInputLightbulb"!==e.Class&&"GCPInputGame"!==e.Class&&"GCPInputDesktop"!==e.Class&&"GCPInputDesktopAndMobile"!==e.Class&&"GCPInputWebcam"!==e.Class&&"GCPInputSpeaker"!==e.Class&&"GCPInputRetail"!==e.Class&&"GCPInputReport"!==e.Class&&"GCPInputPhone"!==e.Class&&"GCPInputBlank"!==
+e.Class||(r+=20);v=new mxCell("",new mxGeometry(V,ba,t,r),"html=1;whiteSpace=wrap;");v.vertex=!0;switch(null!=e.Class?e.Class:null!=u?u.Class:null){case "BraceNoteBlock":case "UI2BraceNoteBlock":var ia=!1;null!=g.BraceDirection&&"Right"==g.BraceDirection&&(ia=!0);var ea=null,la=null;ia?(ea=new mxCell("",new mxGeometry(t-.125*r,0,.125*r,r),"shape=curlyBracket;rounded=1;"),la=new mxCell("",new mxGeometry(0,0,t-.125*r,r),"strokeColor=none;fillColor=none;")):(ea=new mxCell("",new mxGeometry(0,0,.125*
+r,r),"shape=curlyBracket;rounded=1;flipH=1;"),la=new mxCell("",new mxGeometry(.125*r,0,t-.125*r,r),"strokeColor=none;fillColor=none;"));v.style="strokeColor=none;fillColor=none;";v.style+=f(v.style,g,u,v);ea.vertex=!0;v.insert(ea);ea.style+=f(ea.style,g,u,ea);la.vertex=!0;la.value=c(g);v.insert(la);la.style+=f(la.style,g,u,la);break;case "AdvancedSwimLaneBlockRotated":case "AdvancedSwimLaneBlock":var ob=0;null!=g.Lanes&&(ob=g.Lanes.length);v.style="strokeColor=none;fillColor=none;";v.style+=f(v.style,
+g,u,v);for(var Wb=0,eb=[],l=0;l<ob;l++){var cb=parseFloat(g.Lanes[l].p);eb.push(new mxCell("",new mxGeometry(t*Wb,0,t*cb,r),"shape=swimlane;startSize=25;"));eb[l].vertex=!0;v.insert(eb[l]);eb[l].value=c(g["Lane_"+l]);eb[l].style+=b(g["Lane_"+l])+a(g["Lane_"+l])+d(g["Lane_"+l])+h(g["Lane_"+l],eb[l])+p(g["Lane_"+l])+y(g["Lane_"+l])+z(g["Lane_"+l])+x(g["Lane_"+l])+A(g["Lane_"+l])+D(g["Lane_"+l]);f(eb[l].style,g,u,eb[l]);Wb+=cb}break;case "AndroidDevice":if(null!=g.AndroidDeviceName){v.style="fillColor=#000000;strokeColor=#000000;";
+var Ia=null,jb=null,Bb=null;if("Tablet"==g.AndroidDeviceName||"Mini Tablet"==g.AndroidDeviceName)v.style+="shape=mxgraph.android.tab2;",Ia=new mxCell("",new mxGeometry(.112*t,.077*r,.77*t,.85*r),""),g.KeyboardShown&&(jb=new mxCell("",new mxGeometry(.112*t,.727*r,.77*t,.2*r),"shape=mxgraph.android.keyboard;")),g.FullScreen||(Bb=new mxCell("",new mxGeometry(.112*t,.077*r,.77*t,.03*r),"shape=mxgraph.android.statusBar;strokeColor=#33b5e5;fillColor=#000000;fontColor=#33b5e5;fontSize="+.015*r+";"));else if("Large Phone"==
+g.AndroidDeviceName||"Phone"==g.AndroidDeviceName)v.style+="shape=mxgraph.android.phone2;",Ia=new mxCell("",new mxGeometry(.04*t,.092*r,.92*t,.816*r),""),g.KeyboardShown&&(jb=new mxCell("",new mxGeometry(.04*t,.708*r,.92*t,.2*r),"shape=mxgraph.android.keyboard;")),g.FullScreen||(Bb=new mxCell("",new mxGeometry(.04*t,.092*r,.92*t,.03*r),"shape=mxgraph.android.statusBar;strokeColor=#33b5e5;fillColor=#000000;fontColor=#33b5e5;fontSize="+.015*r+";"));Ia.vertex=!0;v.insert(Ia);"Dark"==g.Scheme?Ia.style+=
+"fillColor=#111111;":"Light"==g.Scheme&&(Ia.style+="fillColor=#ffffff;");null!=jb&&(jb.vertex=!0,v.insert(jb));null!=Bb&&(Bb.vertex=!0,v.insert(Bb))}v.style+=f(v.style,g,u,v);break;case "AndroidAlertDialog":var Ma=new mxCell("",new mxGeometry(0,0,t,30),"strokeColor=none;fillColor=none;spacingLeft=9;");Ma.vertex=!0;v.insert(Ma);var na=new mxCell("",new mxGeometry(0,25,t,10),"shape=line;strokeColor=#33B5E5;");na.vertex=!0;v.insert(na);var Cb=new mxCell("",new mxGeometry(0,30,t,r-30),"strokeColor=none;fillColor=none;verticalAlign=top;");
+Cb.vertex=!0;v.insert(Cb);var qa=new mxCell("",new mxGeometry(0,r-25,.5*t,25),"fillColor=none;");qa.vertex=!0;v.insert(qa);var ra=new mxCell("",new mxGeometry(.5*t,r-25,.5*t,25),"fillColor=none;");ra.vertex=!0;v.insert(ra);Ma.value=c(g.DialogTitle);Ma.style+=k(g.DialogTitle);Cb.value=c(g.DialogText);Cb.style+=k(g.DialogText);qa.value=c(g.Button_0);qa.style+=k(g.Button_0);ra.value=c(g.Button_1);ra.style+=k(g.Button_1);"Dark"==g.Scheme?(v.style+="strokeColor=#353535;fillColor=#282828;shadow=1;",qa.style+=
+"strokeColor=#353535;",ra.style+="strokeColor=#353535;"):(v.style+="strokeColor=none;fillColor=#ffffff;shadow=1;",qa.style+="strokeColor=#E2E2E2;",ra.style+="strokeColor=#E2E2E2;");v.style+=f(v.style,g,u,v);break;case "AndroidDateDialog":case "AndroidTimeDialog":Ma=new mxCell("",new mxGeometry(0,0,t,30),"strokeColor=none;fillColor=none;spacingLeft=9;");Ma.vertex=!0;v.insert(Ma);Ma.value=c(g.DialogTitle);Ma.style+=k(g.DialogTitle);na=new mxCell("",new mxGeometry(0,25,t,10),"shape=line;strokeColor=#33B5E5;");
+na.vertex=!0;v.insert(na);qa=new mxCell("",new mxGeometry(0,r-25,.5*t,25),"fillColor=none;");qa.vertex=!0;v.insert(qa);qa.value=c(g.Button_0);qa.style+=k(g.Button_0);ra=new mxCell("",new mxGeometry(.5*t,r-25,.5*t,25),"fillColor=none;");ra.vertex=!0;v.insert(ra);ra.value=c(g.Button_1);ra.style+=k(g.Button_1);var rb=new mxCell("",new mxGeometry(.5*t-4,41,8,4),"shape=triangle;direction=north;");rb.vertex=!0;v.insert(rb);var sb=new mxCell("",new mxGeometry(.25*t-4,41,8,4),"shape=triangle;direction=north;");
+sb.vertex=!0;v.insert(sb);var tb=new mxCell("",new mxGeometry(.75*t-4,41,8,4),"shape=triangle;direction=north;");tb.vertex=!0;v.insert(tb);var Db=new mxCell("",new mxGeometry(.375*t,50,.2*t,15),"strokeColor=none;fillColor=none;");Db.vertex=!0;v.insert(Db);Db.value=c(g.Label_1);Db.style+=k(g.Label_1);var Eb=new mxCell("",new mxGeometry(.125*t,50,.2*t,15),"strokeColor=none;fillColor=none;");Eb.vertex=!0;v.insert(Eb);Eb.value=c(g.Label_0);Eb.style+=k(g.Label_0);var ub=null;"AndroidDateDialog"==e.Class&&
+(ub=new mxCell("",new mxGeometry(.625*t,50,.2*t,15),"strokeColor=none;fillColor=none;"),ub.vertex=!0,v.insert(ub),ub.value=c(g.Label_2),ub.style+=k(g.Label_2));var Na=new mxCell("",new mxGeometry(.43*t,60,.14*t,10),"shape=line;strokeColor=#33B5E5;");Na.vertex=!0;v.insert(Na);var Oa=new mxCell("",new mxGeometry(.18*t,60,.14*t,10),"shape=line;strokeColor=#33B5E5;");Oa.vertex=!0;v.insert(Oa);var ic=new mxCell("",new mxGeometry(.68*t,60,.14*t,10),"shape=line;strokeColor=#33B5E5;");ic.vertex=!0;v.insert(ic);
+var Fb=new mxCell("",new mxGeometry(.375*t,65,.2*t,15),"strokeColor=none;fillColor=none;");Fb.vertex=!0;v.insert(Fb);Fb.value=c(g.Label_4);Fb.style+=k(g.Label_4);var vb=null;"AndroidTimeDialog"==e.Class&&(vb=new mxCell("",new mxGeometry(.3*t,65,.1*t,15),"strokeColor=none;fillColor=none;"),vb.vertex=!0,v.insert(vb),vb.value=c(g.Label_Colon),vb.style+=k(g.Label_Colon));var Gb=new mxCell("",new mxGeometry(.125*t,65,.2*t,15),"strokeColor=none;fillColor=none;");Gb.vertex=!0;v.insert(Gb);Gb.value=c(g.Label_3);
+Gb.style+=k(g.Label_3);var Hb=new mxCell("",new mxGeometry(.625*t,65,.2*t,15),"strokeColor=none;fillColor=none;");Hb.vertex=!0;v.insert(Hb);Hb.value=c(g.Label_5);Hb.style+=k(g.Label_5);var jc=new mxCell("",new mxGeometry(.43*t,75,.14*t,10),"shape=line;strokeColor=#33B5E5;");jc.vertex=!0;v.insert(jc);var kc=new mxCell("",new mxGeometry(.18*t,75,.14*t,10),"shape=line;strokeColor=#33B5E5;");kc.vertex=!0;v.insert(kc);var lc=new mxCell("",new mxGeometry(.68*t,75,.14*t,10),"shape=line;strokeColor=#33B5E5;");
+lc.vertex=!0;v.insert(lc);var Ib=new mxCell("",new mxGeometry(.375*t,80,.2*t,15),"strokeColor=none;fillColor=none;");Ib.vertex=!0;v.insert(Ib);Ib.value=c(g.Label_7);Ib.style+=k(g.Label_7);var Jb=new mxCell("",new mxGeometry(.125*t,80,.2*t,15),"strokeColor=none;fillColor=none;");Jb.vertex=!0;v.insert(Jb);Jb.value=c(g.Label_6);Jb.style+=k(g.Label_6);var Kb=new mxCell("",new mxGeometry(.625*t,80,.2*t,15),"strokeColor=none;fillColor=none;");Kb.vertex=!0;v.insert(Kb);Kb.value=c(g.Label_8);Kb.style+=k(g.Label_8);
+var wb=new mxCell("",new mxGeometry(.5*t-4,99,8,4),"shape=triangle;direction=south;");wb.vertex=!0;v.insert(wb);var xb=new mxCell("",new mxGeometry(.25*t-4,99,8,4),"shape=triangle;direction=south;");xb.vertex=!0;v.insert(xb);var yb=new mxCell("",new mxGeometry(.75*t-4,99,8,4),"shape=triangle;direction=south;");yb.vertex=!0;v.insert(yb);"Dark"==g.Scheme?(v.style+="strokeColor=#353535;fillColor=#282828;shadow=1;",qa.style+="strokeColor=#353535;",ra.style+="strokeColor=#353535;",rb.style+="strokeColor=none;fillColor=#7E7E7E;",
+sb.style+="strokeColor=none;fillColor=#7E7E7E;",tb.style+="strokeColor=none;fillColor=#7E7E7E;",wb.style+="strokeColor=none;fillColor=#7E7E7E;",xb.style+="strokeColor=none;fillColor=#7E7E7E;",yb.style+="strokeColor=none;fillColor=#7E7E7E;"):(v.style+="strokeColor=none;fillColor=#ffffff;shadow=1;",qa.style+="strokeColor=#E2E2E2;",ra.style+="strokeColor=#E2E2E2;",rb.style+="strokeColor=none;fillColor=#939393;",sb.style+="strokeColor=none;fillColor=#939393;",tb.style+="strokeColor=none;fillColor=#939393;",
+wb.style+="strokeColor=none;fillColor=#939393;",xb.style+="strokeColor=none;fillColor=#939393;",yb.style+="strokeColor=none;fillColor=#939393;");v.style+=f(v.style,g,u,v);break;case "AndroidListItems":var xa=r,fb=0;if(g.ShowHeader){var fb=8,Lb=new mxCell("",new mxGeometry(0,0,t,fb),"strokeColor=none;fillColor=none;");Lb.vertex=!0;v.insert(Lb);Lb.value=c(g.Header);Lb.style+=k(g.Header);var xa=xa-fb,mc=new mxCell("",new mxGeometry(0,fb-2,t,4),"shape=line;strokeColor=#999999;");mc.vertex=!0;v.insert(mc)}var Pa=
+parseInt(g.Items);0<Pa&&(xa/=Pa);for(var I=[],na=[],l=0;l<Pa;l++)I[l]=new mxCell("",new mxGeometry(0,fb+l*xa,t,xa),"strokeColor=none;fillColor=none;"),I[l].vertex=!0,v.insert(I[l]),I[l].value=c(g["Item_"+l]),I[l].style+=k(g["Item_"+l]),0<l&&(na[l]=new mxCell("",new mxGeometry(0,fb+l*xa-2,t,4),"shape=line;"),na[l].vertex=!0,v.insert(na[l]),na[l].style="Dark"==g.Scheme?na[l].style+"strokeColor=#ffffff;":na[l].style+"strokeColor=#D9D9D9;");v.style="Dark"==g.Scheme?v.style+"strokeColor=none;fillColor=#111111;":
+v.style+"strokeColor=none;fillColor=#ffffff;";v.style+=f(v.style,g,u,v);break;case "AndroidTabs":var Qa=parseInt(g.Tabs),Ea=t;0<Qa&&(Ea/=Qa);for(var fa=[],na=[],l=0;l<Qa;l++)fa[l]=new mxCell("",new mxGeometry(l*Ea,0,Ea,r),"strokeColor=none;fillColor=none;"),fa[l].vertex=!0,v.insert(fa[l]),fa[l].value=c(g["Tab_"+l]),fa[l].style+=k(g["Tab_"+l]),0<l&&(na[l]=new mxCell("",new mxGeometry(l*Ea-2,.2*r,4,.6*r),"shape=line;direction=north;"),na[l].vertex=!0,v.insert(na[l]),na[l].style="Dark"==g.Scheme?na[l].style+
+"strokeColor=#484848;":na[l].style+"strokeColor=#CCCCCC;");var nc=new mxCell("",new mxGeometry(g.Selected*Ea+2,r-3,Ea-4,3),"strokeColor=none;fillColor=#33B5E5;");nc.vertex=!0;v.insert(nc);v.style="Dark"==g.Scheme?v.style+"strokeColor=none;fillColor=#333333;":v.style+"strokeColor=none;fillColor=#DDDDDD;";v.style+=f(v.style,g,u,v);break;case "AndroidProgressBar":v=new mxCell("",new mxGeometry(Math.round(V),Math.round(ba+.25*r),Math.round(t),Math.round(.5*r)),"html=1;whiteSpace=wrap;");v.vertex=!0;var Mb=
+new mxCell("",new mxGeometry(0,0,t*g.BarPosition,Math.round(.5*r)),"strokeColor=none;fillColor=#33B5E5;");Mb.vertex=!0;v.insert(Mb);v.style="Dark"==g.Scheme?v.style+"strokeColor=none;fillColor=#474747;":v.style+"strokeColor=none;fillColor=#BBBBBB;";v.style+=f(v.style,g,u,v);break;case "AndroidImageBlock":v.style="Dark"==g.Scheme?v.style+"shape=mxgraph.mockup.graphics.simpleIcon;strokeColor=#7E7E7E;fillColor=#111111;":v.style+"shape=mxgraph.mockup.graphics.simpleIcon;strokeColor=#939393;fillColor=#ffffff;";
+v.style+=f(v.style,g,u,v);break;case "AndroidTextBlock":v.style="Dark"==g.Scheme?g.ShowBorder?v.style+"fillColor=#111111;strokeColor=#ffffff;":v.style+"fillColor=#111111;strokeColor=none;":g.ShowBorder?v.style+"fillColor=#ffffff;strokeColor=#000000;":v.style+"fillColor=#ffffff;strokeColor=none;";v.value=c(g.Label);v.style+=k(g.Label);v.style+=f(v.style,g,u,v);break;case "AndroidActionBar":v.style+="strokeColor=none;";switch(g.BarBackground){case "Blue":v.style+="fillColor=#002E3E;";break;case "Gray":v.style+=
+"fillColor=#DDDDDD;";break;case "Dark Gray":v.style+="fillColor=#474747;";break;case "White":v.style+="fillColor=#ffffff;"}if(g.HighlightShow){var gb=null,gb=g.HighlightTop?new mxCell("",new mxGeometry(0,0,t,2),"strokeColor=none;"):new mxCell("",new mxGeometry(0,r-2,t,2),"strokeColor=none;");gb.vertex=!0;v.insert(gb);switch(g.HighlightColor){case "Blue":gb.style+="fillColor=#33B5E5;";break;case "Dark Gray":gb.style+="fillColor=#B0B0B0;";break;case "White":gb.style+="fillColor=#ffffff;"}}if(g.VlignShow){var zb=
+new mxCell("",new mxGeometry(20,5,2,r-10),"shape=line;direction=north;");zb.vertex=!0;v.insert(zb);switch(g.VlignColor){case "Blue":zb.style+="strokeColor=#244C5A;";break;case "White":zb.style+="strokeColor=#ffffff;"}}v.style+=f(v.style,g,u,v);break;case "AndroidButton":v.value=c(g.Label);v.style+=k(g.Label)+"shape=partialRectangle;left=0;right=0;";v.style="Dark"==g.Scheme?v.style+"fillColor=#474747;strokeColor=#C6C5C6;bottom=0;":v.style+"fillColor=#DFE0DF;strokeColor=#C6C5C6;top=0;";v.style+=f(v.style,
+g,u,v);break;case "AndroidTextBox":v.value=c(g.Label);v.style+=k(g.Label);var Nb=new mxCell("",new mxGeometry(2,r-6,t-4,4),"shape=partialRectangle;top=0;fillColor=none;");Nb.vertex=!0;v.insert(Nb);v.style="Dark"==g.Scheme?v.style+"fillColor=#111111;strokeColor=none;":v.style+"fillColor=#ffffff;strokeColor=none;";Nb.style=g.TextFocused?Nb.style+"strokeColor=#33B5E5;":Nb.style+"strokeColor=#A9A9A9;";v.style+=f(v.style,g,u,v);break;case "AndroidRadioButton":var pb=null;g.Checked&&(pb=new mxCell("",new mxGeometry(.15*
+t,.15*r,.7*t,.7*r),"shape=ellipse;fillColor=#33B5E5;strokeWidth=0.6;"),pb.vertex=!0,v.insert(pb));"Dark"==g.Scheme?(v.style+="shape=ellipse;strokeWidth=0.6;strokeColor=#272727;",g.Checked?(pb.style+="strokeColor=#1F5C73;",v.style+="fillColor=#193C49;"):v.style+="fillColor=#111111;"):(v.style+="shape=ellipse;strokeWidth=0.6;fillColor=#ffffff;strokeColor=#5C5C5C;",g.Checked&&(pb.style+="strokeColor=#999999;"));v.style+=f(v.style,g,u,v);break;case "AndroidCheckBox":var bc=null;g.Checked&&(bc=new mxCell("",
+new mxGeometry(.25*t,.05*-r,t,.8*r),"shape=mxgraph.ios7.misc.check;strokeColor=#33B5E5;strokeWidth=2;"),bc.vertex=!0,v.insert(bc));v.style="Dark"==g.Scheme?v.style+"strokeWidth=0.6;strokeColor=#272727;fillColor=#111111;":v.style+"strokeWidth=0.6;strokeColor=#5C5C5C;fillColor=#ffffff;";v.style+=f(v.style,g,u,v);break;case "AndroidToggle":v.style="Dark"==g.Scheme?g.Checked?v.style+"shape=mxgraph.android.switch_on;fillColor=#666666;":v.style+"shape=mxgraph.android.switch_off;fillColor=#666666;":g.Checked?
+v.style+"shape=mxgraph.android.switch_on;fillColor=#E6E6E6;":v.style+"shape=mxgraph.android.switch_off;fillColor=#E6E6E6;";v.style+=f(v.style,g,u,v);break;case "AndroidSlider":v.style+="shape=mxgraph.android.progressScrubberFocused;dx="+g.BarPosition+";fillColor=#33b5e5;";v.style+=f(v.style,g,u,v);break;case "iOSSegmentedControl":Qa=parseInt(g.Tabs);Ea=t;v.style+="strokeColor=none;fillColor=none;";0<Qa&&(Ea/=Qa);fa=[];na=[];for(l=0;l<Qa;l++)fa[l]=new mxCell("",new mxGeometry(l*Ea,0,Ea,r),"strokeColor="+
+g.FillColor+";"),fa[l].vertex=!0,v.insert(fa[l]),fa[l].value=c(g["Tab_"+l]),fa[l].style+=k(g["Tab_"+l]),fa[l].style=g.Selected==l?fa[l].style+F(g,u):fa[l].style+"fillColor=none;";v.style+=f(v.style,g,u,v);break;case "iOSSlider":v.style+="shape=mxgraph.ios7ui.slider;strokeColor="+g.FillColor+";fillColor=#ffffff;strokeWidth=2;barPos="+100*g.BarPosition+";";v.style+=f(v.style,g,u,v);break;case "iOSProgressBar":v=new mxCell("",new mxGeometry(Math.round(V),Math.round(ba+.25*r),Math.round(t),Math.round(.5*
+r)),"html=1;whiteSpace=wrap;strokeColor=none;fillColor=#B5B5B5;");v.vertex=!0;Mb=new mxCell("",new mxGeometry(0,0,t*g.BarPosition,Math.round(.5*r)),"strokeColor=none;"+F(g,u));Mb.vertex=!0;v.insert(Mb);v.style+=f(v.style,g,u,v);break;case "iOSPageControls":v.style+="shape=mxgraph.ios7ui.pageControl;strokeColor=#D6D6D6;";v.style+=f(v.style,g,u,v);break;case "iOSStatusBar":v.style+="shape=mxgraph.ios7ui.appBar;strokeColor=#000000;";var R=new mxCell(c(g.Text),new mxGeometry(.35*t,0,.3*t,r),"strokeColor=none;fillColor=none;");
+R.vertex=!0;v.insert(R);R.style+=k(g.Text);var za=new mxCell(c(g.Carrier),new mxGeometry(.09*t,0,.2*t,r),"strokeColor=none;fillColor=none;");za.vertex=!0;v.insert(za);za.style+=k(g.Carrier);v.style+=f(v.style,g,u,v);break;case "iOSSearchBar":v.style+="strokeColor=none;";v.style+=f(v.style,g,u,v)+k(g.Search);v.value=c(g.Search);var W=new mxCell("",new mxGeometry(.3*t,.3*r,.4*r,.4*r),"shape=mxgraph.ios7.icons.looking_glass;strokeColor=#000000;fillColor=none;");W.vertex=!0;v.insert(W);break;case "iOSNavBar":v.style+=
+"shape=partialRectangle;top=0;right=0;left=0;strokeColor=#979797;";+k(g.Title);v.style+=f(v.style,g,u,v);v.value=c(g.Title);R=new mxCell(c(g.LeftText),new mxGeometry(.03*t,0,.3*t,r),"strokeColor=none;fillColor=none;");R.vertex=!0;v.insert(R);R.style+=k(g.LeftText);za=new mxCell(c(g.RightText),new mxGeometry(.65*t,0,.3*t,r),"strokeColor=none;fillColor=none;");za.vertex=!0;v.insert(za);za.style+=k(g.RightText);W=new mxCell("",new mxGeometry(.02*t,.2*r,.3*r,.5*r),"shape=mxgraph.ios7.misc.left;strokeColor=#007AFF;strokeWidth=2;");
+W.vertex=!0;v.insert(W);break;case "iOSTabs":Qa=parseInt(g.Tabs);Ea=t;v.style+="shape=partialRectangle;right=0;left=0;bottom=0;strokeColor=#979797;";v.style+=f(v.style,g,u,v);0<Qa&&(Ea/=Qa);fa=[];na=[];for(l=0;l<Qa;l++)fa[l]=new mxCell("",new mxGeometry(l*Ea,0,Ea,r),"strokeColor=none;"),fa[l].vertex=!0,v.insert(fa[l]),fa[l].value=c(g["Tab_"+l]),fa[l].style+=b(g["Tab_"+l]),fa[l].style+=a(g["Tab_"+l])+d(g["Tab_"+l])+h(g["Tab_"+l])+p(g["Tab_"+l])+y(g["Tab_"+l])+z(g["Tab_"+l])+x(g["Tab_"+l])+A(g["Tab_"+
+l]),fa[l].style+="verticalAlign=bottom;",fa[l].style=g.Selected==l?fa[l].style+"fillColor=#BBBBBB;":fa[l].style+"fillColor=none;";break;case "iOSDatePicker":var Ra=new mxCell("",new mxGeometry(0,0,.5*t,.2*r),"strokeColor=none;fillColor=none;");Ra.vertex=!0;v.insert(Ra);Ra.value=c(g.Option11);Ra.style+=k(g.Option11);var Sa=new mxCell("",new mxGeometry(.5*t,0,.15*t,.2*r),"strokeColor=none;fillColor=none;");Sa.vertex=!0;v.insert(Sa);Sa.value=c(g.Option21);Sa.style+=k(g.Option21);var Ta=new mxCell("",
+new mxGeometry(.65*t,0,.15*t,.2*r),"strokeColor=none;fillColor=none;");Ta.vertex=!0;v.insert(Ta);Ta.value=c(g.Option31);Ta.style+=k(g.Option31);var Ua=new mxCell("",new mxGeometry(0,.2*r,.5*t,.2*r),"strokeColor=none;fillColor=none;");Ua.vertex=!0;v.insert(Ua);Ua.value=c(g.Option12);Ua.style+=k(g.Option12);var Va=new mxCell("",new mxGeometry(.5*t,.2*r,.15*t,.2*r),"strokeColor=none;fillColor=none;");Va.vertex=!0;v.insert(Va);Va.value=c(g.Option22);Va.style+=k(g.Option22);var Wa=new mxCell("",new mxGeometry(.65*
+t,.2*r,.15*t,.2*r),"strokeColor=none;fillColor=none;");Wa.vertex=!0;v.insert(Wa);Wa.value=c(g.Option32);Wa.style+=k(g.Option32);var sa=new mxCell("",new mxGeometry(0,.4*r,.5*t,.2*r),"strokeColor=none;fillColor=none;");sa.vertex=!0;v.insert(sa);sa.value=c(g.Option13);sa.style+=k(g.Option13);var ta=new mxCell("",new mxGeometry(.5*t,.4*r,.15*t,.2*r),"strokeColor=none;fillColor=none;");ta.vertex=!0;v.insert(ta);ta.value=c(g.Option23);ta.style+=k(g.Option23);var Xa=new mxCell("",new mxGeometry(.65*t,.4*
+r,.15*t,.2*r),"strokeColor=none;fillColor=none;");Xa.vertex=!0;v.insert(Xa);Xa.value=c(g.Option33);Xa.style+=k(g.Option33);var ua=new mxCell("",new mxGeometry(.8*t,.4*r,.15*t,.2*r),"strokeColor=none;fillColor=none;");ua.vertex=!0;v.insert(ua);ua.value=c(g.Option43);ua.style+=k(g.Option43);var va=new mxCell("",new mxGeometry(0,.6*r,.5*t,.2*r),"strokeColor=none;fillColor=none;");va.vertex=!0;v.insert(va);va.value=c(g.Option14);va.style+=k(g.Option14);var Ya=new mxCell("",new mxGeometry(.5*t,.6*r,.15*
+t,.2*r),"strokeColor=none;fillColor=none;");Ya.vertex=!0;v.insert(Ya);Ya.value=c(g.Option24);Ya.style+=k(g.Option24);var Za=new mxCell("",new mxGeometry(.65*t,.6*r,.15*t,.2*r),"strokeColor=none;fillColor=none;");Za.vertex=!0;v.insert(Za);Za.value=c(g.Option34);Za.style+=k(g.Option34);var $a=new mxCell("",new mxGeometry(.8*t,.6*r,.15*t,.2*r),"strokeColor=none;fillColor=none;");$a.vertex=!0;v.insert($a);$a.value=c(g.Option44);$a.style+=k(g.Option44);var wa=new mxCell("",new mxGeometry(0,.8*r,.5*t,.2*
+r),"strokeColor=none;fillColor=none;");wa.vertex=!0;v.insert(wa);wa.value=c(g.Option15);wa.style+=k(g.Option15);var ab=new mxCell("",new mxGeometry(.5*t,.8*r,.15*t,.2*r),"strokeColor=none;fillColor=none;");ab.vertex=!0;v.insert(ab);ab.value=c(g.Option25);ab.style+=k(g.Option25);var bb=new mxCell("",new mxGeometry(.65*t,.8*r,.15*t,.2*r),"strokeColor=none;fillColor=none;");bb.vertex=!0;v.insert(bb);bb.value=c(g.Option35);bb.style+=k(g.Option35);Na=new mxCell("",new mxGeometry(0,.4*r-2,t,4),"shape=line;strokeColor=#888888;");
+Na.vertex=!0;v.insert(Na);Oa=new mxCell("",new mxGeometry(0,.6*r-2,t,4),"shape=line;strokeColor=#888888;");Oa.vertex=!0;v.insert(Oa);v.style+="strokeColor=none;";v.style+=f(v.style,g,u,v);break;case "iOSTimePicker":Ra=new mxCell("",new mxGeometry(0,0,.25*t,.2*r),"strokeColor=none;fillColor=none;");Ra.vertex=!0;v.insert(Ra);Ra.value=c(g.Option11);Ra.style+=k(g.Option11);Sa=new mxCell("",new mxGeometry(.25*t,0,.3*t,.2*r),"strokeColor=none;fillColor=none;");Sa.vertex=!0;v.insert(Sa);Sa.value=c(g.Option21);
+Sa.style+=k(g.Option21);Ua=new mxCell("",new mxGeometry(0,.2*r,.25*t,.2*r),"strokeColor=none;fillColor=none;");Ua.vertex=!0;v.insert(Ua);Ua.value=c(g.Option12);Ua.style+=k(g.Option12);Va=new mxCell("",new mxGeometry(.25*t,.2*r,.3*t,.2*r),"strokeColor=none;fillColor=none;");Va.vertex=!0;v.insert(Va);Va.value=c(g.Option22);Va.style+=k(g.Option22);sa=new mxCell("",new mxGeometry(0,.4*r,.25*t,.2*r),"strokeColor=none;fillColor=none;");sa.vertex=!0;v.insert(sa);sa.value=c(g.Option13);sa.style+=k(g.Option13);
+ta=new mxCell("",new mxGeometry(.25*t,.4*r,.3*t,.2*r),"strokeColor=none;fillColor=none;");ta.vertex=!0;v.insert(ta);ta.value=c(g.Option23);ta.style+=k(g.Option23);ua=new mxCell("",new mxGeometry(.7*t,.4*r,.15*t,.2*r),"strokeColor=none;fillColor=none;");ua.vertex=!0;v.insert(ua);ua.value=c(g.Option33);ua.style+=k(g.Option33);va=new mxCell("",new mxGeometry(0,.6*r,.25*t,.2*r),"strokeColor=none;fillColor=none;");va.vertex=!0;v.insert(va);va.value=c(g.Option14);va.style+=k(g.Option14);Ya=new mxCell("",
+new mxGeometry(.25*t,.6*r,.3*t,.2*r),"strokeColor=none;fillColor=none;");Ya.vertex=!0;v.insert(Ya);Ya.value=c(g.Option24);Ya.style+=k(g.Option24);$a=new mxCell("",new mxGeometry(.7*t,.6*r,.15*t,.2*r),"strokeColor=none;fillColor=none;");$a.vertex=!0;v.insert($a);$a.value=c(g.Option34);$a.style+=k(g.Option34);wa=new mxCell("",new mxGeometry(0,.8*r,.25*t,.2*r),"strokeColor=none;fillColor=none;");wa.vertex=!0;v.insert(wa);wa.value=c(g.Option15);wa.style+=k(g.Option15);ab=new mxCell("",new mxGeometry(.25*
+t,.8*r,.3*t,.2*r),"strokeColor=none;fillColor=none;");ab.vertex=!0;v.insert(ab);ab.value=c(g.Option25);ab.style+=k(g.Option25);Na=new mxCell("",new mxGeometry(0,.4*r-2,t,4),"shape=line;strokeColor=#888888;");Na.vertex=!0;v.insert(Na);Oa=new mxCell("",new mxGeometry(0,.6*r-2,t,4),"shape=line;strokeColor=#888888;");Oa.vertex=!0;v.insert(Oa);v.style+="strokeColor=none;";v.style+=f(v.style,g,u,v);break;case "iOSCountdownPicker":Ta=new mxCell("",new mxGeometry(.45*t,0,.2*t,.2*r),"strokeColor=none;fillColor=none;");
+Ta.vertex=!0;v.insert(Ta);Ta.value=c(g.Option31);Ta.style+=k(g.Option31);Wa=new mxCell("",new mxGeometry(.45*t,.2*r,.2*t,.2*r),"strokeColor=none;fillColor=none;");Wa.vertex=!0;v.insert(Wa);Wa.value=c(g.Option32);Wa.style+=k(g.Option32);sa=new mxCell("",new mxGeometry(0,.4*r,.25*t,.2*r),"strokeColor=none;fillColor=none;");sa.vertex=!0;v.insert(sa);sa.value=c(g.Option13);sa.style+=k(g.Option13);ta=new mxCell("",new mxGeometry(.2*t,.4*r,.25*t,.2*r),"strokeColor=none;fillColor=none;");ta.vertex=!0;v.insert(ta);
+ta.value=c(g.Option23);ta.style+=k(g.Option23);Xa=new mxCell("",new mxGeometry(.45*t,.4*r,.2*t,.2*r),"strokeColor=none;fillColor=none;");Xa.vertex=!0;v.insert(Xa);Xa.value=c(g.Option33);Xa.style+=k(g.Option33);ua=new mxCell("",new mxGeometry(.6*t,.4*r,.2*t,.2*r),"strokeColor=none;fillColor=none;");ua.vertex=!0;v.insert(ua);ua.value=c(g.Option43);ua.style+=k(g.Option43);va=new mxCell("",new mxGeometry(0,.6*r,.25*t,.2*r),"strokeColor=none;fillColor=none;");va.vertex=!0;v.insert(va);va.value=c(g.Option14);
+va.style+=k(g.Option14);Za=new mxCell("",new mxGeometry(.45*t,.6*r,.2*t,.2*r),"strokeColor=none;fillColor=none;");Za.vertex=!0;v.insert(Za);Za.value=c(g.Option34);Za.style+=k(g.Option34);wa=new mxCell("",new mxGeometry(0,.8*r,.25*t,.2*r),"strokeColor=none;fillColor=none;");wa.vertex=!0;v.insert(wa);wa.value=c(g.Option15);wa.style+=k(g.Option15);bb=new mxCell("",new mxGeometry(.45*t,.8*r,.2*t,.2*r),"strokeColor=none;fillColor=none;");bb.vertex=!0;v.insert(bb);bb.value=c(g.Option35);bb.style+=k(g.Option35);
+Na=new mxCell("",new mxGeometry(0,.4*r-2,t,4),"shape=line;strokeColor=#888888;");Na.vertex=!0;v.insert(Na);Oa=new mxCell("",new mxGeometry(0,.6*r-2,t,4),"shape=line;strokeColor=#888888;");Oa.vertex=!0;v.insert(Oa);v.style+="strokeColor=none;";v.style+=f(v.style,g,u,v);break;case "iOSBasicCell":v.style+="shape=partialRectangle;left=0;top=0;right=0;fillColor=#ffffff;strokeColor=#C8C7CC;spacing=0;align=left;spacingLeft="+.6*g.SeparatorInset+";";v.style+=b(g.text)+a(g.text)+d(g.text)+D(g.text);v.style+=
+f(v.style,g,u,v);v.value=c(g.text);switch(g.AccessoryIndicatorType){case "Disclosure":W=new mxCell("",new mxGeometry(.91*t,.35*r,.15*r,.3*r),"shape=mxgraph.ios7.misc.right;strokeColor=#D2D2D6;");W.vertex=!0;v.insert(W);break;case "DetailDisclosure":W=new mxCell("",new mxGeometry(.91*t,.35*r,.15*r,.3*r),"shape=mxgraph.ios7.misc.right;strokeColor=#D2D2D6;");W.vertex=!0;v.insert(W);var ma=new mxCell("",new mxGeometry(.79*t,.25*r,.5*r,.5*r),"shape=mxgraph.ios7.icons.info;strokeColor=#007AFF;fillColor=#ffffff;");
+ma.vertex=!0;v.insert(ma);break;case "DetailIndicator":ma=new mxCell("",new mxGeometry(.87*t,.25*r,.5*r,.5*r),"shape=mxgraph.ios7.icons.info;strokeColor=#007AFF;fillColor=#ffffff;");ma.vertex=!0;v.insert(ma);break;case "CheckMark":W=new mxCell("",new mxGeometry(.89*t,.37*r,.4*r,.26*r),"shape=mxgraph.ios7.misc.check;strokeColor=#007AFF;strokeWidth=2;"),W.vertex=!0,v.insert(W)}break;case "iOSSubtitleCell":v.style+="shape=partialRectangle;left=0;top=0;right=0;fillColor=#ffffff;strokeColor=#C8C7CC;align=left;spacing=0;verticalAlign=top;spacingLeft="+
+.6*g.SeparatorInset+";";v.style+=b(g.subtext)+a(g.subtext)+d(g.subtext);v.style+=f(v.style,g,u,v);v.value=c(g.subtext);var oa=new mxCell("",new mxGeometry(0,.4*r,t,.6*r),"fillColor=none;strokeColor=none;spacing=0;align=left;verticalAlign=bottom;spacingLeft="+.6*g.SeparatorInset+";");oa.vertex=!0;v.insert(oa);oa.style+=b(g.text)+a(g.text)+d(g.text);oa.value=c(g.text);switch(g.AccessoryIndicatorType){case "Disclosure":W=new mxCell("",new mxGeometry(.91*t,.35*r,.15*r,.3*r),"shape=mxgraph.ios7.misc.right;strokeColor=#D2D2D6;");
+W.vertex=!0;v.insert(W);break;case "DetailDisclosure":W=new mxCell("",new mxGeometry(.91*t,.35*r,.15*r,.3*r),"shape=mxgraph.ios7.misc.right;strokeColor=#D2D2D6;");W.vertex=!0;v.insert(W);ma=new mxCell("",new mxGeometry(.79*t,.25*r,.5*r,.5*r),"shape=mxgraph.ios7.icons.info;strokeColor=#007AFF;fillColor=#ffffff;");ma.vertex=!0;v.insert(ma);break;case "DetailIndicator":ma=new mxCell("",new mxGeometry(.87*t,.25*r,.5*r,.5*r),"shape=mxgraph.ios7.icons.info;strokeColor=#007AFF;fillColor=#ffffff;");ma.vertex=
+!0;v.insert(ma);break;case "CheckMark":W=new mxCell("",new mxGeometry(.89*t,.37*r,.4*r,.26*r),"shape=mxgraph.ios7.misc.check;strokeColor=#007AFF;strokeWidth=2;"),W.vertex=!0,v.insert(W)}break;case "iOSRightDetailCell":v.style+="shape=partialRectangle;left=0;top=0;right=0;fillColor=#ffffff;strokeColor=#C8C7CC;align=left;spacing=0;verticalAlign=middle;spacingLeft="+.6*g.SeparatorInset+";";v.style+=b(g.subtext)+a(g.subtext)+d(g.subtext);v.style+=f(v.style,g,u,v);v.value=c(g.subtext);oa=null;switch(g.AccessoryIndicatorType){case "Disclosure":W=
+new mxCell("",new mxGeometry(.91*t,.35*r,.15*r,.3*r),"shape=mxgraph.ios7.misc.right;strokeColor=#D2D2D6;");W.vertex=!0;v.insert(W);oa=new mxCell("",new mxGeometry(.55*t,0,.3*t,r),"fillColor=none;strokeColor=none;spacing=0;align=right;");break;case "DetailDisclosure":W=new mxCell("",new mxGeometry(.91*t,.35*r,.15*r,.3*r),"shape=mxgraph.ios7.misc.right;strokeColor=#D2D2D6;");W.vertex=!0;v.insert(W);ma=new mxCell("",new mxGeometry(.79*t,.25*r,.5*r,.5*r),"shape=mxgraph.ios7.icons.info;strokeColor=#007AFF;fillColor=#ffffff;");
+ma.vertex=!0;v.insert(ma);oa=new mxCell("",new mxGeometry(.45*t,0,.3*t,r),"fillColor=none;strokeColor=none;spacing=0;align=right;");break;case "DetailIndicator":ma=new mxCell("",new mxGeometry(.87*t,.25*r,.5*r,.5*r),"shape=mxgraph.ios7.icons.info;strokeColor=#007AFF;fillColor=#ffffff;");ma.vertex=!0;v.insert(ma);oa=new mxCell("",new mxGeometry(.52*t,0,.3*t,r),"fillColor=none;strokeColor=none;spacing=0;align=right;");break;case "CheckMark":W=new mxCell("",new mxGeometry(.89*t,.37*r,.4*r,.26*r),"shape=mxgraph.ios7.misc.check;strokeColor=#007AFF;strokeWidth=2;");
+W.vertex=!0;v.insert(W);oa=new mxCell("",new mxGeometry(.55*t,0,.3*t,r),"fillColor=none;strokeColor=none;spacing=0;align=right;");break;default:oa=new mxCell("",new mxGeometry(.65*t,0,.3*t,r),"fillColor=none;strokeColor=none;spacing=0;align=right;")}oa.vertex=!0;v.insert(oa);oa.style+=b(g.text)+a(g.text)+d(g.text);oa.value=c(g.text);break;case "iOSLeftDetailCell":v.style+="shape=partialRectangle;left=0;top=0;right=0;fillColor=#ffffff;strokeColor=#C8C7CC;";v.style+=f(v.style,g,u,v);var Ka=new mxCell("",
+new mxGeometry(0,0,.25*t,r),"fillColor=none;strokeColor=none;spacing=0;align=right;verticalAlign=middle;spacingRight=3;");Ka.vertex=!0;v.insert(Ka);Ka.style+=b(g.subtext)+a(g.subtext)+d(g.subtext);Ka.value=c(g.subtext);oa=new mxCell("",new mxGeometry(.25*t,0,.5*t,r),"fillColor=none;strokeColor=none;spacing=0;align=left;verticalAlign=middle;spacingLeft=3;");oa.vertex=!0;v.insert(oa);oa.style+=b(g.text)+a(g.text)+d(g.text);oa.value=c(g.text);switch(g.AccessoryIndicatorType){case "Disclosure":W=new mxCell("",
+new mxGeometry(.91*t,.35*r,.15*r,.3*r),"shape=mxgraph.ios7.misc.right;strokeColor=#D2D2D6;");W.vertex=!0;v.insert(W);break;case "DetailDisclosure":W=new mxCell("",new mxGeometry(.91*t,.35*r,.15*r,.3*r),"shape=mxgraph.ios7.misc.right;strokeColor=#D2D2D6;");W.vertex=!0;v.insert(W);ma=new mxCell("",new mxGeometry(.79*t,.25*r,.5*r,.5*r),"shape=mxgraph.ios7.icons.info;strokeColor=#007AFF;fillColor=#ffffff;");ma.vertex=!0;v.insert(ma);break;case "DetailIndicator":ma=new mxCell("",new mxGeometry(.87*t,.25*
+r,.5*r,.5*r),"shape=mxgraph.ios7.icons.info;strokeColor=#007AFF;fillColor=#ffffff;");ma.vertex=!0;v.insert(ma);break;case "CheckMark":W=new mxCell("",new mxGeometry(.89*t,.37*r,.4*r,.26*r),"shape=mxgraph.ios7.misc.check;strokeColor=#007AFF;strokeWidth=2;"),W.vertex=!0,v.insert(W)}break;case "iOSTableGroupedSectionBreak":v.style+="shape=partialRectangle;left=0;right=0;fillColor=#EFEFF4;strokeColor=#C8C7CC;";R=new mxCell("",new mxGeometry(0,0,t,.4*r),"fillColor=none;strokeColor=none;spacing=10;align=left;");
+R.vertex=!0;v.insert(R);R.style+=b(g.text)+a(g.text)+d(g.text);R.value=c(g.text);za=new mxCell("",new mxGeometry(0,.6*r,t,.4*r),"fillColor=none;strokeColor=none;spacing=10;align=left;");za.vertex=!0;v.insert(za);za.style+=b(g["bottom-text"])+a(g["bottom-text"])+d(g["bottom-text"]);za.value=c(g["bottom-text"]);break;case "iOSTablePlainHeaderFooter":v.style+="fillColor=#F7F7F7;strokeColor=none;align=left;spacingLeft=5;spacing=0;";v.style+=b(g.text)+a(g.text)+d(g.text);v.value=c(g.text);v.style+=f(v.style,
+g,u,v);break;case "SMPage":if(g.Group){v.style+="strokeColor=none;fillColor=none;";var q=new mxCell("",new mxGeometry(0,0,.9*t,.9*r),"part=1;");q.vertex=!0;v.insert(q);q.style+=C(g,u)+F(g,u)+B(g,u,q)+G(g)+aa(g);var w=new mxCell("",new mxGeometry(.1*t,.1*r,.9*t,.9*r),"part=1;");w.vertex=!0;v.insert(w);w.style+=C(g,u)+F(g,u)+B(g,u,w)+G(g)+aa(g)+k(g);w.value=c(g.Text);g.Future&&(q.style+="dashed=1;",w.style+="dashed=1;")}else g.Future&&(v.style+="dashed=1;"),v.style+=C(g,u)+F(g,u)+B(g,u,v)+G(g)+aa(g)+
+k(g),v.value=c(g.Text);v.style+=f(v.style,g,u,v);break;case "SMHome":case "SMPrint":case "SMSearch":case "SMSettings":case "SMSitemap":case "SMSuccess":case "SMVideo":case "SMAudio":case "SMCalendar":case "SMChart":case "SMCloud":case "SMDocument":case "SMForm":case "SMGame":case "SMUpload":q=null;switch(e.Class){case "SMHome":q=new mxCell("",new mxGeometry(.5*t-.4*r,.1*r,.8*r,.8*r),"part=1;shape=mxgraph.office.concepts.home;flipH=1;fillColor=#e6e6e6;opacity=50;strokeColor=none;");break;case "SMPrint":q=
 new mxCell("",new mxGeometry(.5*t-.4*r,.19*r,.8*r,.62*r),"part=1;shape=mxgraph.office.devices.printer;fillColor=#e6e6e6;opacity=50;strokeColor=none;");break;case "SMSearch":q=new mxCell("",new mxGeometry(.5*t-.4*r,.1*r,.8*r,.8*r),"part=1;shape=mxgraph.office.concepts.search;flipH=1;fillColor=#e6e6e6;opacity=50;strokeColor=none;");break;case "SMSettings":q=new mxCell("",new mxGeometry(.5*t-.35*r,.15*r,.7*r,.7*r),"part=1;shape=mxgraph.mscae.enterprise.settings;fillColor=#e6e6e6;opacity=50;strokeColor=none;");
 break;case "SMSitemap":q=new mxCell("",new mxGeometry(.5*t-.35*r,.2*r,.7*r,.6*r),"part=1;shape=mxgraph.office.sites.site_collection;fillColor=#e6e6e6;opacity=50;strokeColor=none;");break;case "SMSuccess":q=new mxCell("",new mxGeometry(.5*t-.3*r,.25*r,.6*r,.5*r),"part=1;shape=mxgraph.mscae.general.checkmark;fillColor=#e6e6e6;opacity=50;strokeColor=none;");break;case "SMVideo":q=new mxCell("",new mxGeometry(.5*t-.4*r,.2*r,.8*r,.6*r),"part=1;shape=mxgraph.office.concepts.video_play;fillColor=#e6e6e6;opacity=50;strokeColor=none;");
-break;case "SMAudio":q=new mxCell("",new mxGeometry(.5*t-.3*r,.2*r,.6*r,.6*r),"part=1;shape=mxgraph.mscae.general.audio;fillColor=#e6e6e6;opacity=50;strokeColor=none;");break;case "SMCalendar":q=new mxCell("",new mxGeometry(.5*t-.4*r,.15*r,.8*r,.7*r),"part=1;shape=mxgraph.office.concepts.form;fillColor=#e6e6e6;opacity=50;strokeColor=none;");break;case "SMChart":var I=D(h,u),I=""==I?"#ffffff;":I.replace("fillColor=",""),q=new mxCell("",new mxGeometry(.5*t-.35*r,.15*r,.7*r,.7*r),"part=1;shape=mxgraph.ios7.icons.pie_chart;fillColor=#e6e6e6;fillOpacity=50;strokeWidth=4;strokeColor="+
-I);break;case "SMCloud":q=new mxCell("",new mxGeometry(.5*t-.4*r,.27*r,.8*r,.46*r),"part=1;shape=mxgraph.networks.cloud;fillColor=#e6e6e6;opacity=50;strokeColor=none;");break;case "SMDocument":q=new mxCell("",new mxGeometry(.5*t-.25*r,.15*r,.5*r,.7*r),"part=1;shape=mxgraph.mscae.enterprise.document;fillColor=#e6e6e6;opacity=50;strokeColor=none;");break;case "SMForm":q=new mxCell("",new mxGeometry(.5*t-.4*r,.15*r,.8*r,.7*r),"part=1;shape=mxgraph.office.concepts.form;fillColor=#e6e6e6;opacity=50;strokeColor=none;");
-break;case "SMGame":q=new mxCell("",new mxGeometry(.5*t-.4*r,.2*r,.8*r,.6*r),"part=1;shape=mxgraph.mscae.general.game_controller;fillColor=#e6e6e6;opacity=50;strokeColor=none;");break;case "SMUpload":q=new mxCell("",new mxGeometry(.5*t-.4*r,.2*r,.8*r,.6*r),"part=1;shape=mxgraph.mscae.enterprise.backup_online;fillColor=#e6e6e6;opacity=50;strokeColor=none;")}q.vertex=!0;v.insert(q);q.style+=k(h);q.value=c(h.Text);v.style+=f(v.style,h,u,v);break;case "UMLMultiplicityBlock":v.style+="strokeColor=none;fillColor=none;";
-q=new mxCell("",new mxGeometry(.1*t,0,.9*t,.9*r),"part=1;");q.vertex=!0;v.insert(q);q.style+=f(q.style,h,u,q);w=new mxCell("",new mxGeometry(0,.1*r,.9*t,.9*r),"part=1;");w.vertex=!0;v.insert(w);w.style+=k(h.Text);w.style+=f(w.style,h,u,w);w.value=c(h.Text);break;case "UMLConstraintBlock":var gb=new mxCell("",new mxGeometry(0,0,.25*r,r),"shape=curlyBracket;rounded=1;");gb.vertex=!0;v.insert(gb);var hb=new mxCell("",new mxGeometry(t-.25*r,0,.25*r,r),"shape=curlyBracket;rounded=1;flipH=1;");hb.vertex=
-!0;v.insert(hb);la=new mxCell("",new mxGeometry(.25*r,0,t-.5*r,r),"strokeColor=none;fillColor=none;");la.vertex=!0;la.value=c(h);v.insert(la);v.style="strokeColor=none;fillColor=none;";v.style+=f(v.style,h,u,v);gb.style+=C(h,u,gb);hb.style+=C(h,u,hb);la.style+=a(h,la);gb.style+=f(gb.style,h,u,gb);hb.style+=f(hb.style,h,u,hb);la.style+=f(la.style,h,u,la);break;case "UMLTextBlock":v.style+="strokeColor=none;"+k(h.Text);v.style+=f(v.style,h,u,v);v.value=c(h.Text);break;case "BPMNActivity":switch(h.bpmnActivityType){case 1:v.style+=
-k(h.Text);v.value=c(h.Text);break;case 2:v.style+="shape=ext;double=1;"+k(h.Text);v.value=c(h.Text);break;case 3:v.style+="shape=ext;dashed=1;dashPattern=2 1;"+k(h.Text);v.value=c(h.Text);break;case 4:v.style+="shape=ext;strokeWidth=2;"+k(h.Text),v.value=c(h.Text)}if(0!=h.bpmnTaskType){switch(h.bpmnTaskType){case 1:q=new mxCell("",new mxGeometry(0,0,19,12),"shape=message;");q.geometry.offset=new mxPoint(4,7);break;case 2:q=new mxCell("",new mxGeometry(0,0,19,12),"shape=message;");q.geometry.offset=
+break;case "SMAudio":q=new mxCell("",new mxGeometry(.5*t-.3*r,.2*r,.6*r,.6*r),"part=1;shape=mxgraph.mscae.general.audio;fillColor=#e6e6e6;opacity=50;strokeColor=none;");break;case "SMCalendar":q=new mxCell("",new mxGeometry(.5*t-.4*r,.15*r,.8*r,.7*r),"part=1;shape=mxgraph.office.concepts.form;fillColor=#e6e6e6;opacity=50;strokeColor=none;");break;case "SMChart":var J=F(g,u),J=""==J?"#ffffff;":J.replace("fillColor=",""),q=new mxCell("",new mxGeometry(.5*t-.35*r,.15*r,.7*r,.7*r),"part=1;shape=mxgraph.ios7.icons.pie_chart;fillColor=#e6e6e6;fillOpacity=50;strokeWidth=4;strokeColor="+
+J);break;case "SMCloud":q=new mxCell("",new mxGeometry(.5*t-.4*r,.27*r,.8*r,.46*r),"part=1;shape=mxgraph.networks.cloud;fillColor=#e6e6e6;opacity=50;strokeColor=none;");break;case "SMDocument":q=new mxCell("",new mxGeometry(.5*t-.25*r,.15*r,.5*r,.7*r),"part=1;shape=mxgraph.mscae.enterprise.document;fillColor=#e6e6e6;opacity=50;strokeColor=none;");break;case "SMForm":q=new mxCell("",new mxGeometry(.5*t-.4*r,.15*r,.8*r,.7*r),"part=1;shape=mxgraph.office.concepts.form;fillColor=#e6e6e6;opacity=50;strokeColor=none;");
+break;case "SMGame":q=new mxCell("",new mxGeometry(.5*t-.4*r,.2*r,.8*r,.6*r),"part=1;shape=mxgraph.mscae.general.game_controller;fillColor=#e6e6e6;opacity=50;strokeColor=none;");break;case "SMUpload":q=new mxCell("",new mxGeometry(.5*t-.4*r,.2*r,.8*r,.6*r),"part=1;shape=mxgraph.mscae.enterprise.backup_online;fillColor=#e6e6e6;opacity=50;strokeColor=none;")}q.vertex=!0;v.insert(q);q.style+=k(g);q.value=c(g.Text);v.style+=f(v.style,g,u,v);break;case "UMLMultiplicityBlock":v.style+="strokeColor=none;fillColor=none;";
+q=new mxCell("",new mxGeometry(.1*t,0,.9*t,.9*r),"part=1;");q.vertex=!0;v.insert(q);q.style+=f(q.style,g,u,q);w=new mxCell("",new mxGeometry(0,.1*r,.9*t,.9*r),"part=1;");w.vertex=!0;v.insert(w);w.style+=k(g.Text);w.style+=f(w.style,g,u,w);w.value=c(g.Text);break;case "UMLConstraintBlock":var hb=new mxCell("",new mxGeometry(0,0,.25*r,r),"shape=curlyBracket;rounded=1;");hb.vertex=!0;v.insert(hb);var ib=new mxCell("",new mxGeometry(t-.25*r,0,.25*r,r),"shape=curlyBracket;rounded=1;flipH=1;");ib.vertex=
+!0;v.insert(ib);la=new mxCell("",new mxGeometry(.25*r,0,t-.5*r,r),"strokeColor=none;fillColor=none;");la.vertex=!0;la.value=c(g);v.insert(la);v.style="strokeColor=none;fillColor=none;";v.style+=f(v.style,g,u,v);hb.style+=B(g,u,hb);ib.style+=B(g,u,ib);la.style+=a(g,la);hb.style+=f(hb.style,g,u,hb);ib.style+=f(ib.style,g,u,ib);la.style+=f(la.style,g,u,la);break;case "UMLTextBlock":v.style+="strokeColor=none;"+k(g.Text);v.style+=f(v.style,g,u,v);v.value=c(g.Text);break;case "BPMNActivity":switch(g.bpmnActivityType){case 1:v.style+=
+k(g.Text);v.value=c(g.Text);break;case 2:v.style+="shape=ext;double=1;"+k(g.Text);v.value=c(g.Text);break;case 3:v.style+="shape=ext;dashed=1;dashPattern=2 1;"+k(g.Text);v.value=c(g.Text);break;case 4:v.style+="shape=ext;strokeWidth=2;"+k(g.Text),v.value=c(g.Text)}if(0!=g.bpmnTaskType){switch(g.bpmnTaskType){case 1:q=new mxCell("",new mxGeometry(0,0,19,12),"shape=message;");q.geometry.offset=new mxPoint(4,7);break;case 2:q=new mxCell("",new mxGeometry(0,0,19,12),"shape=message;");q.geometry.offset=
 new mxPoint(4,7);break;case 3:q=new mxCell("",new mxGeometry(0,0,15,15),"shape=mxgraph.bpmn.user_task;");q.geometry.offset=new mxPoint(4,5);break;case 4:q=new mxCell("",new mxGeometry(0,0,15,10),"shape=mxgraph.bpmn.manual_task;");q.geometry.offset=new mxPoint(4,7);break;case 5:q=new mxCell("",new mxGeometry(0,0,18,13),"shape=mxgraph.bpmn.business_rule_task;");q.geometry.offset=new mxPoint(4,7);break;case 6:q=new mxCell("",new mxGeometry(0,0,15,15),"shape=mxgraph.bpmn.service_task;");q.geometry.offset=
-new mxPoint(4,5);break;case 7:q=new mxCell("",new mxGeometry(0,0,15,15),"shape=mxgraph.bpmn.script_task;"),q.geometry.offset=new mxPoint(4,5)}if(1==h.bpmnTaskType){var Pb=D(h,u),I=B(h,u),I=I.replace("strokeColor","fillColor"),Pb=Pb.replace("fillColor","strokeColor");""==I&&(I="fillColor=#000000;");""==Pb&&(Pb="strokeColor=#ffffff;");q.style+=Pb+I+"part=1;"}else q.style+=D(h,u)+B(h,u)+"part=1;";q.geometry.relative=!0;q.vertex=!0;v.insert(q)}var Qb=0;0!=h.bpmnActivityMarker1&&Qb++;0!=h.bpmnActivityMarker2&&
-Qb++;var Aa=0;1==Qb?Aa=-7.5:2==Qb&&(Aa=-19);if(0!=h.bpmnActivityMarker1){switch(h.bpmnActivityMarker1){case 1:q=new mxCell("",new mxGeometry(.5,1,15,15),"shape=plus;part=1;");q.geometry.offset=new mxPoint(Aa,-20);q.style+=D(h,u)+B(h,u);break;case 2:q=new mxCell("",new mxGeometry(.5,1,15,15),"shape=mxgraph.bpmn.loop;part=1;");q.geometry.offset=new mxPoint(Aa,-20);q.style+=D(h,u)+B(h,u);break;case 3:q=new mxCell("",new mxGeometry(.5,1,15,15),"shape=parallelMarker;part=1;");q.geometry.offset=new mxPoint(Aa,
--20);q.style+=D(h,u)+B(h,u);break;case 4:q=new mxCell("",new mxGeometry(.5,1,15,15),"shape=parallelMarker;direction=south;part=1;");q.geometry.offset=new mxPoint(Aa,-20);q.style+=D(h,u)+B(h,u);break;case 5:q=new mxCell("",new mxGeometry(.5,1,15,10),"shape=mxgraph.bpmn.ad_hoc;strokeColor=none;flipH=1;part=1;");q.geometry.offset=new mxPoint(Aa,-17);I=B(h,u);I=I.replace("strokeColor","fillColor");""==I&&(I="fillColor=#000000;");q.style+=I;break;case 6:q=new mxCell("",new mxGeometry(.5,1,15,11),"shape=mxgraph.bpmn.compensation;part=1;"),
-q.geometry.offset=new mxPoint(Aa,-18),q.style+=D(h,u)+B(h,u)}q.geometry.relative=!0;q.vertex=!0;v.insert(q)}2==Qb&&(Aa=5);if(0!=h.bpmnActivityMarker2){switch(h.bpmnActivityMarker2){case 1:q=new mxCell("",new mxGeometry(.5,1,15,15),"shape=plus;part=1;");q.geometry.offset=new mxPoint(Aa,-20);q.style+=D(h,u)+B(h,u);break;case 2:q=new mxCell("",new mxGeometry(.5,1,15,15),"shape=mxgraph.bpmn.loop;part=1;");q.geometry.offset=new mxPoint(Aa,-20);q.style+=D(h,u)+B(h,u);break;case 3:q=new mxCell("",new mxGeometry(.5,
-1,15,15),"shape=parallelMarker;part=1;");q.geometry.offset=new mxPoint(Aa,-20);q.style+=D(h,u)+B(h,u);break;case 4:q=new mxCell("",new mxGeometry(.5,1,15,15),"shape=parallelMarker;direction=south;part=1;");q.geometry.offset=new mxPoint(Aa,-20);q.style+=D(h,u)+B(h,u);break;case 5:q=new mxCell("",new mxGeometry(.5,1,15,10),"shape=mxgraph.bpmn.ad_hoc;strokeColor=none;flipH=1;part=1;");q.geometry.offset=new mxPoint(Aa,-17);I=B(h,u);I=I.replace("strokeColor","fillColor");""==I&&(I="fillColor=#000000;");
-q.style+=I;break;case 6:q=new mxCell("",new mxGeometry(.5,1,15,11),"shape=mxgraph.bpmn.compensation;part=1;"),q.geometry.offset=new mxPoint(Aa,-18),q.style+=D(h,u)+B(h,u)}q.geometry.relative=!0;q.vertex=!0;v.insert(q)}v.style+=f(v.style,h,u,v);break;case "BPMNEvent":v.style+="shape=mxgraph.bpmn.shape;verticalLabelPosition=bottom;verticalAlign=top;";v.value=c(h.Text);if(1==h.bpmnDashed)switch(h.bpmnEventGroup){case 0:v.style+="outline=eventNonint;";break;case 1:v.style+="outline=boundNonint;";break;
-case 2:v.style+="outline=end;"}else switch(h.bpmnEventGroup){case 0:v.style+="outline=standard;";break;case 1:v.style+="outline=throwing;";break;case 2:v.style+="outline=end;"}switch(h.bpmnEventType){case 1:v.style+="symbol=message;";break;case 2:v.style+="symbol=timer;";break;case 3:v.style+="symbol=escalation;";break;case 4:v.style+="symbol=conditional;";break;case 5:v.style+="symbol=link;";break;case 6:v.style+="symbol=error;";break;case 7:v.style+="symbol=cancel;";break;case 8:v.style+="symbol=compensation;";
-break;case 9:v.style+="symbol=signal;";break;case 10:v.style+="symbol=multiple;";break;case 11:v.style+="symbol=parallelMultiple;";break;case 12:v.style+="symbol=terminate;"}v.style+=f(v.style,h,u,v);break;case "BPMNConversation":v.style+="shape=hexagon;perimeter=hexagonPerimeter2;";v.value=c(h.Text);v.style=0==h.bpmnConversationType?v.style+Y(h):v.style+"strokeWidth=2;";h.bpmnIsSubConversation&&(q=new mxCell("",new mxGeometry(.5,1,12,12),"shape=plus;part=1;"),q.geometry.offset=new mxPoint(-6,-17),
-q.style+=D(h,u)+B(h,u),q.geometry.relative=!0,q.vertex=!0,v.insert(q));v.style+=f(v.style,h,u,v);break;case "BPMNGateway":v.style+="shape=mxgraph.bpmn.shape;perimeter=rhombusPerimeter;background=gateway;";switch(h.bpmnGatewayType){case 0:v.style+="outline=none;symbol=general;";break;case 1:v.style+="outline=none;symbol=exclusiveGw;";break;case 2:v.style+="outline=catching;symbol=multiple;";break;case 3:v.style+="outline=none;symbol=parallelGw;";break;case 4:v.style+="outline=end;symbol=general;";
-break;case 5:v.style+="outline=standard;symbol=multiple;";break;case 6:v.style+="outline=none;symbol=complexGw;";break;case 7:v.style+="outline=standard;symbol=parallelMultiple;"}v.style+=f(v.style,h,u,v);break;case "BPMNData":v.style+="shape=note;size=14;";switch(h.bpmnDataType){case 1:q=new mxCell("",new mxGeometry(.5,1,12,10),"shape=parallelMarker;part=1;");q.geometry.offset=new mxPoint(-6,-15);q.style+=D(h,u)+B(h,u);q.geometry.relative=!0;q.vertex=!0;v.insert(q);break;case 2:q=new mxCell("",new mxGeometry(0,
-0,12,10),"shape=singleArrow;part=1;arrowWidth=0.4;arrowSize=0.4;");q.geometry.offset=new mxPoint(3,3);q.style+=D(h,u)+B(h,u);q.geometry.relative=!0;q.vertex=!0;v.insert(q);v.style+="verticalLabelPosition=bottom;verticalAlign=top;";Q=new mxCell("",new mxGeometry(0,0,t,20),"strokeColor=none;fillColor=none;");Q.geometry.offset=new mxPoint(0,14);Q.geometry.relative=!0;Q.vertex=!0;v.insert(Q);Q.value=c(h.Text);Q.style+=k(h);break;case 3:q=new mxCell("",new mxGeometry(0,0,12,10),"shape=singleArrow;part=1;arrowWidth=0.4;arrowSize=0.4;"),
-q.geometry.offset=new mxPoint(3,3),q.style+=B(h,u),q.geometry.relative=!0,q.vertex=!0,v.insert(q),I=B(h,u),I=I.replace("strokeColor","fillColor"),""==I&&(I="fillColor=#000000;"),q.style+=I,Q=new mxCell("",new mxGeometry(0,0,t,20),"strokeColor=none;fillColor=none;"),Q.geometry.offset=new mxPoint(0,14),Q.geometry.relative=!0,Q.vertex=!0,v.insert(Q),Q.value=c(h.Text),Q.style+=k(h)}v.style+=f(v.style,h,u,v);break;case "BPMNBlackPool":v.style+=f(v.style,h,u,v);v.value=c(h.Text);q=new mxCell("",new mxGeometry(0,
-0,t,r),"fillColor=#000000;strokeColor=none;opacity=30;");q.vertex=!0;v.insert(q);break;case "DFDExternalEntityBlock":v.style+="strokeColor=none;fillColor=none;";v.style+=f(v.style,h,u,v);q=new mxCell("",new mxGeometry(0,0,.95*t,.95*r),"part=1;");q.vertex=!0;v.insert(q);q.style+=f(q.style,h,u,q);w=new mxCell("",new mxGeometry(.05*t,.05*r,.95*t,.95*r),"part=1;");w.vertex=!0;v.insert(w);w.style+=k(h.Text);w.style+=f(w.style,h,u,w);w.value=c(h.Text);break;case "GSDFDDataStoreBlock":v.style+="shape=partialRectangle;right=0;"+
-k(h.Text);v.style+=f(v.style,h,u,v);v.value=c(h.Text);q=new mxCell("",new mxGeometry(0,0,.2*t,r),"part=1;");q.vertex=!0;v.insert(q);q.style+=k(h.Number);q.style+=f(q.style,h,u,q);q.value=c(h.Number);break;case "VSMDedicatedProcessBlock":case "VSMProductionControlBlock":v.style+="shape=mxgraph.lean_mapping.manufacturing_process;spacingTop=15;";"VSMDedicatedProcessBlock"==e.Class?v.value=c(h.Text):"VSMProductionControlBlock"==e.Class&&(v.value=c(h.Resources));v.style+=f(v.style,h,u,v);"VSMDedicatedProcessBlock"==
-e.Class&&(q=new mxCell("",new mxGeometry(0,1,11,9),"part=1;shape=mxgraph.lean_mapping.operator;"),q.geometry.relative=!0,q.geometry.offset=new mxPoint(4,-13),q.vertex=!0,v.insert(q),q.style+=f(q.style,h,u,q));Q=new mxCell("",new mxGeometry(0,0,t,15),"strokeColor=none;fillColor=none;part=1;");Q.vertex=!0;v.insert(Q);Q.value=c(h.Title);Q.style+=k(h.Title);break;case "VSMSharedProcessBlock":v.style+="shape=mxgraph.lean_mapping.manufacturing_process_shared;spacingTop=-5;verticalAlign=top;";v.value=c(h.Text);
-v.style+=f(v.style,h,u,v);Q=new mxCell("",new mxGeometry(.1*t,.3*r,.8*t,.6*r),"part=1;");Q.vertex=!0;v.insert(Q);Q.value=c(h.Resource);Q.style+=k(h.Resource);Q.style+=f(Q.style,h,u,Q);break;case "VSMWorkcellBlock":v.style+="shape=mxgraph.lean_mapping.work_cell;verticalAlign=top;spacingTop=-2;";v.style+=f(v.style,h,u,v);v.value=c(h.Text);break;case "VSMSafetyBufferStockBlock":case "VSMDatacellBlock":v.style+="strokeColor=none;fillColor=none;";v.style+=f(v.style,h,u,v);var xa=r,Oa=parseInt(h.Cells),
-N=f("part=1;",h,u,v);0<Oa&&(xa/=Oa);H=[];na=[];for(l=1;l<=Oa;l++)H[l]=new mxCell("",new mxGeometry(0,(l-1)*xa,t,xa),N),H[l].vertex=!0,v.insert(H[l]),H[l].value=c(h["cell_"+l]),H[l].style+=k(h["cell_"+l]);break;case "VSMInventoryBlock":v.style+="shape=mxgraph.lean_mapping.inventory_box;verticalLabelPosition=bottom;verticalAlign=top;";v.style+=f(v.style,h,u,v);v.value=c(h.Text);break;case "VSMSupermarketBlock":v.style+="strokeColor=none;";v.style+=f(v.style,h,u,v);xa=r;Oa=parseInt(h.Cells);N=f("part=1;fillColor=none;",
-h,u,v);0<Oa&&(xa/=Oa);H=[];Ja=[];for(l=1;l<=Oa;l++)H[l]=new mxCell("",new mxGeometry(.5*t,(l-1)*xa,.5*t,xa),"shape=partialRectangle;left=0;"+N),H[l].vertex=!0,v.insert(H[l]),Ja[l]=new mxCell("",new mxGeometry(0,(l-1)*xa,t,xa),"strokeColor=none;fillColor=none;part=1;"),Ja[l].vertex=!0,v.insert(Ja[l]),Ja[l].value=c(h["cell_"+l]),Ja[l].style+=k(h["cell_"+l]);break;case "VSMFIFOLaneBlock":v.style+="shape=mxgraph.lean_mapping.fifo_sequence_flow;fontStyle=0;fontSize=18";v.style+=f(v.style,h,u,v);v.value=
-"FIFO";break;case "VSMGoSeeProductionBlock":v.style+="shape=ellipse;";v.style+=f(v.style,h,u,v);v.value=c(h.Text);q=new mxCell("",new mxGeometry(.17*t,.2*r,13,6),"shape=mxgraph.lean_mapping.go_see_production_scheduling;flipH=1;part=1;whiteSpace=wrap;html=1;");q.vertex=!0;v.insert(q);q.style+=f(q.style,h,u,q);break;case "VSMProductionKanbanBatchBlock":v.style+="strokeColor=none;fillColor=none;";N="shape=card;size=18;flipH=1;part=1;";q=new mxCell("",new mxGeometry(.1*t,0,.9*t,.8*r),"shape=mxgraph.lean_mapping.go_see_production_scheduling;flipH=1;part=1;"+
-N);q.vertex=!0;v.insert(q);q.style+=f(q.style,h,u,q);w=new mxCell("",new mxGeometry(.05*t,.1*r,.9*t,.8*r),"shape=mxgraph.lean_mapping.go_see_production_scheduling;flipH=1;part=1;"+N);w.vertex=!0;v.insert(w);w.style+=f(w.style,h,u,w);var E=new mxCell("",new mxGeometry(0,.2*r,.9*t,.8*r),"shape=mxgraph.lean_mapping.go_see_production_scheduling;flipH=1;part=1;whiteSpace=wrap;html=1;spacing=2;"+N);E.vertex=!0;v.insert(E);E.style+=f(E.style,h,u,E);E.value=c(h.Text);break;case "AWSRoundedRectangleContainerBlock2":v.style+=
-"strokeColor=none;fillColor=none;";h.Spotfleet?(q=new mxCell("",new mxGeometry(0,0,t,r-20),"resizeWidth=1;resizeHeight=1;fillColor=none;align=center;verticalAlign=bottom;spacing=2;rounded=1;arcSize=10;"),q.geometry.offset=new mxPoint(0,20),q.geometry.relative=!0,q.vertex=!0,v.insert(q),q.style+=f(q.style,h,u,q),q.value=c(h.Title),w=new mxCell("",new mxGeometry(0,0,35,40),"strokeColor=none;shape=mxgraph.aws3.spot_instance;fillColor=#f58536;"),w.geometry.relative=!0,w.geometry.offset=new mxPoint(30,
-0),w.vertex=!0,v.insert(w)):h.Beanstalk?(q=new mxCell("",new mxGeometry(0,0,t,r-20),"resizeWidth=1;resizeHeight=1;fillColor=none;align=center;verticalAlign=bottom;spacing=2;rounded=1;arcSize=10;"),q.geometry.offset=new mxPoint(0,20),q.geometry.relative=!0,q.vertex=!0,v.insert(q),q.style+=f(q.style,h,u,q),q.value=c(h.Title),w=new mxCell("",new mxGeometry(0,0,30,40),"strokeColor=none;shape=mxgraph.aws3.elastic_beanstalk;fillColor=#759C3E;"),w.geometry.relative=!0,w.geometry.offset=new mxPoint(30,0),
-w.vertex=!0,v.insert(w)):h.EC2?(q=new mxCell("",new mxGeometry(0,0,t,r-20),"resizeWidth=1;resizeHeight=1;fillColor=none;align=center;verticalAlign=bottom;spacing=2;rounded=1;arcSize=10;"),q.geometry.offset=new mxPoint(0,20),q.geometry.relative=!0,q.vertex=!0,v.insert(q),q.style+=f(q.style,h,u,q),q.value=c(h.Title),w=new mxCell("",new mxGeometry(0,0,32,40),"strokeColor=none;shape=mxgraph.aws3.ec2;fillColor=#F58534;"),w.geometry.relative=!0,w.geometry.offset=new mxPoint(30,0),w.vertex=!0,v.insert(w)):
-h.Subnet?(q=new mxCell("",new mxGeometry(0,0,t,r-20),"resizeWidth=1;resizeHeight=1;fillColor=none;align=center;verticalAlign=bottom;spacing=2;rounded=1;arcSize=10;"),q.geometry.offset=new mxPoint(0,20),q.geometry.relative=!0,q.vertex=!0,v.insert(q),q.style+=f(q.style,h,u,q),q.value=c(h.Title),w=new mxCell("",new mxGeometry(0,0,32,40),"strokeColor=none;shape=mxgraph.aws3.permissions;fillColor=#146EB4;"),w.geometry.relative=!0,w.geometry.offset=new mxPoint(30,0),w.vertex=!0,v.insert(w)):h.VPC?(q=new mxCell("",
-new mxGeometry(0,0,t,r-20),"resizeWidth=1;resizeHeight=1;fillColor=none;align=center;verticalAlign=bottom;spacing=2;rounded=1;arcSize=10;"),q.geometry.offset=new mxPoint(0,20),q.geometry.relative=!0,q.vertex=!0,v.insert(q),q.style+=f(q.style,h,u,q),q.value=c(h.Title),w=new mxCell("",new mxGeometry(0,0,60,40),"strokeColor=none;shape=mxgraph.aws3.virtual_private_cloud;fillColor=#146EB4;"),w.geometry.relative=!0,w.geometry.offset=new mxPoint(30,0),w.vertex=!0,v.insert(w)):h.AWS?(q=new mxCell("",new mxGeometry(0,
-0,t,r-20),"resizeWidth=1;resizeHeight=1;fillColor=none;align=center;verticalAlign=bottom;spacing=2;rounded=1;arcSize=10;"),q.geometry.offset=new mxPoint(0,20),q.geometry.relative=!0,q.vertex=!0,v.insert(q),q.style+=f(q.style,h,u,q),q.value=c(h.Title),w=new mxCell("",new mxGeometry(0,0,60,40),"strokeColor=none;shape=mxgraph.aws3.cloud;fillColor=#F58534;"),w.geometry.relative=!0,w.geometry.offset=new mxPoint(30,0),w.vertex=!0,v.insert(w)):h.Corporate?(q=new mxCell("",new mxGeometry(0,0,t,r-20),"resizeWidth=1;resizeHeight=1;fillColor=none;align=center;verticalAlign=bottom;spacing=2;rounded=1;arcSize=10;"),
-q.geometry.offset=new mxPoint(0,20),q.geometry.relative=!0,q.vertex=!0,v.insert(q),q.style+=f(q.style,h,u,q),q.value=c(h.Title),w=new mxCell("",new mxGeometry(0,0,25,40),"strokeColor=none;shape=mxgraph.aws3.corporate_data_center;fillColor=#7D7C7C;"),w.geometry.relative=!0,w.geometry.offset=new mxPoint(30,0),w.vertex=!0,v.insert(w)):(v.style="resizeWidth=1;resizeHeight=1;fillColor=none;align=center;verticalAlign=bottom;spacing=2;rounded=1;arcSize=10;",v.style+=f(v.style,h,u,v),v.value=c(h.Title));
-break;case "AWSElasticComputeCloudBlock2":v.style+="strokeColor=none;shape=mxgraph.aws3.ec2;verticalLabelPosition=bottom;align=center;verticalAlign=top;";v.style+=f(v.style,h,u,v);v.value=c(h.Title);break;case "AWSRoute53Block2":v.style+="strokeColor=none;shape=mxgraph.aws3.route_53;verticalLabelPosition=bottom;align=center;verticalAlign=top;";v.style+=f(v.style,h,u,v);v.value=c(h.Title);break;case "AWSRDBSBlock2":v.style+="strokeColor=none;shape=mxgraph.aws3.rds;verticalLabelPosition=bottom;align=center;verticalAlign=top;";
-v.style+=f(v.style,h,u,v);v.value=c(h.Title);break;case "NET_RingNetwork":v.style+="strokeColor=none;fillColor=none;";var W=new mxCell("",new mxGeometry(.25*t,.25*r,.5*t,.5*r),"html=1;shape=ellipse;perimeter=ellipsePerimeter;strokeColor=#29AAE1;strokeWidth=2;");W.vertex=!0;v.insert(W);var ca=[W];W.style+=D(h,u);var R=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=none;rounded=0;endArrow=none;dashed=0;html=1;strokeColor=#29AAE1;strokeWidth=2;");R.geometry.relative=!0;R.edge=!0;Da(.5*t,0,R,m,L,ca,
-v,W);Da(.855*t,.145*r,R,m,L,ca,v,W);Da(t,.5*r,R,m,L,ca,v,W);Da(.855*t,.855*r,R,m,L,ca,v,W);Da(.5*t,r,R,m,L,ca,v,W);Da(.145*t,.855*r,R,m,L,ca,v,W);Da(0,.5*r,R,m,L,ca,v,W);Da(.145*t,.145*r,R,m,L,ca,v,W);break;case "NET_Ethernet":v.style+="strokeColor=none;fillColor=none;";W=new mxCell("",new mxGeometry(0,.5*r-10,t,20),"shape=mxgraph.networks.bus;gradientColor=none;gradientDirection=north;fontColor=#ffffff;perimeter=backbonePerimeter;backboneSize=20;fillColor=#29AAE1;strokeColor=#29AAE1;");W.vertex=
-!0;v.insert(W);ca=[W];R=new mxCell("",new mxGeometry(0,0,0,0),"strokeColor=#29AAE1;edgeStyle=none;rounded=0;endArrow=none;html=1;strokeWidth=2;");R.geometry.relative=!0;R.edge=!0;for(var ca=[W],Rb=t/h.NumTopNodes,l=0;l<h.NumTopNodes;l++)Da(.5*Rb+l*Rb,0,R,m,L,ca,v,W);Rb=t/h.NumBottomNodes;for(l=0;l<h.NumBottomNodes;l++)Da(.5*Rb+l*Rb,r,R,m,L,ca,v,W);break;case "EE_OpAmp":v.style+="shape=mxgraph.electrical.abstract.operational_amp_1;";v.style+=f(v.style,h,u,v);v.value=c(h.Title);h.ToggleCharge&&(v.style+=
-"flipV=1;");break;case "EIMessageChannelBlock":case "EIDatatypeChannelBlock":case "EIInvalidMessageChannelBlock":case "EIDeadLetterChannelBlock":case "EIGuaranteedDeliveryBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.style+=f(v.style,h,u,v);v.value=c(h.Text);"EIMessageChannelBlock"==e.Class?(q=new mxCell("",new mxGeometry(.5,.5,.9*t,20),"shape=mxgraph.eip.messageChannel;fillColor=#818181;part=1;"),q.geometry.offset=new mxPoint(.45*-t,0)):"EIDatatypeChannelBlock"==e.Class?(q=
+new mxPoint(4,5);break;case 7:q=new mxCell("",new mxGeometry(0,0,15,15),"shape=mxgraph.bpmn.script_task;"),q.geometry.offset=new mxPoint(4,5)}if(1==g.bpmnTaskType){var Ob=F(g,u),J=C(g,u),J=J.replace("strokeColor","fillColor"),Ob=Ob.replace("fillColor","strokeColor");""==J&&(J="fillColor=#000000;");""==Ob&&(Ob="strokeColor=#ffffff;");q.style+=Ob+J+"part=1;"}else q.style+=F(g,u)+C(g,u)+"part=1;";q.geometry.relative=!0;q.vertex=!0;v.insert(q)}var Pb=0;0!=g.bpmnActivityMarker1&&Pb++;0!=g.bpmnActivityMarker2&&
+Pb++;var Aa=0;1==Pb?Aa=-7.5:2==Pb&&(Aa=-19);if(0!=g.bpmnActivityMarker1){switch(g.bpmnActivityMarker1){case 1:q=new mxCell("",new mxGeometry(.5,1,15,15),"shape=plus;part=1;");q.geometry.offset=new mxPoint(Aa,-20);q.style+=F(g,u)+C(g,u);break;case 2:q=new mxCell("",new mxGeometry(.5,1,15,15),"shape=mxgraph.bpmn.loop;part=1;");q.geometry.offset=new mxPoint(Aa,-20);q.style+=F(g,u)+C(g,u);break;case 3:q=new mxCell("",new mxGeometry(.5,1,15,15),"shape=parallelMarker;part=1;");q.geometry.offset=new mxPoint(Aa,
+-20);q.style+=F(g,u)+C(g,u);break;case 4:q=new mxCell("",new mxGeometry(.5,1,15,15),"shape=parallelMarker;direction=south;part=1;");q.geometry.offset=new mxPoint(Aa,-20);q.style+=F(g,u)+C(g,u);break;case 5:q=new mxCell("",new mxGeometry(.5,1,15,10),"shape=mxgraph.bpmn.ad_hoc;strokeColor=none;flipH=1;part=1;");q.geometry.offset=new mxPoint(Aa,-17);J=C(g,u);J=J.replace("strokeColor","fillColor");""==J&&(J="fillColor=#000000;");q.style+=J;break;case 6:q=new mxCell("",new mxGeometry(.5,1,15,11),"shape=mxgraph.bpmn.compensation;part=1;"),
+q.geometry.offset=new mxPoint(Aa,-18),q.style+=F(g,u)+C(g,u)}q.geometry.relative=!0;q.vertex=!0;v.insert(q)}2==Pb&&(Aa=5);if(0!=g.bpmnActivityMarker2){switch(g.bpmnActivityMarker2){case 1:q=new mxCell("",new mxGeometry(.5,1,15,15),"shape=plus;part=1;");q.geometry.offset=new mxPoint(Aa,-20);q.style+=F(g,u)+C(g,u);break;case 2:q=new mxCell("",new mxGeometry(.5,1,15,15),"shape=mxgraph.bpmn.loop;part=1;");q.geometry.offset=new mxPoint(Aa,-20);q.style+=F(g,u)+C(g,u);break;case 3:q=new mxCell("",new mxGeometry(.5,
+1,15,15),"shape=parallelMarker;part=1;");q.geometry.offset=new mxPoint(Aa,-20);q.style+=F(g,u)+C(g,u);break;case 4:q=new mxCell("",new mxGeometry(.5,1,15,15),"shape=parallelMarker;direction=south;part=1;");q.geometry.offset=new mxPoint(Aa,-20);q.style+=F(g,u)+C(g,u);break;case 5:q=new mxCell("",new mxGeometry(.5,1,15,10),"shape=mxgraph.bpmn.ad_hoc;strokeColor=none;flipH=1;part=1;");q.geometry.offset=new mxPoint(Aa,-17);J=C(g,u);J=J.replace("strokeColor","fillColor");""==J&&(J="fillColor=#000000;");
+q.style+=J;break;case 6:q=new mxCell("",new mxGeometry(.5,1,15,11),"shape=mxgraph.bpmn.compensation;part=1;"),q.geometry.offset=new mxPoint(Aa,-18),q.style+=F(g,u)+C(g,u)}q.geometry.relative=!0;q.vertex=!0;v.insert(q)}v.style+=f(v.style,g,u,v);break;case "BPMNEvent":v.style+="shape=mxgraph.bpmn.shape;verticalLabelPosition=bottom;verticalAlign=top;";v.value=c(g.Text);if(1==g.bpmnDashed)switch(g.bpmnEventGroup){case 0:v.style+="outline=eventNonint;";break;case 1:v.style+="outline=boundNonint;";break;
+case 2:v.style+="outline=end;"}else switch(g.bpmnEventGroup){case 0:v.style+="outline=standard;";break;case 1:v.style+="outline=throwing;";break;case 2:v.style+="outline=end;"}switch(g.bpmnEventType){case 1:v.style+="symbol=message;";break;case 2:v.style+="symbol=timer;";break;case 3:v.style+="symbol=escalation;";break;case 4:v.style+="symbol=conditional;";break;case 5:v.style+="symbol=link;";break;case 6:v.style+="symbol=error;";break;case 7:v.style+="symbol=cancel;";break;case 8:v.style+="symbol=compensation;";
+break;case 9:v.style+="symbol=signal;";break;case 10:v.style+="symbol=multiple;";break;case 11:v.style+="symbol=parallelMultiple;";break;case 12:v.style+="symbol=terminate;"}v.style+=f(v.style,g,u,v);break;case "BPMNConversation":v.style+="shape=hexagon;perimeter=hexagonPerimeter2;";v.value=c(g.Text);v.style=0==g.bpmnConversationType?v.style+aa(g):v.style+"strokeWidth=2;";g.bpmnIsSubConversation&&(q=new mxCell("",new mxGeometry(.5,1,12,12),"shape=plus;part=1;"),q.geometry.offset=new mxPoint(-6,-17),
+q.style+=F(g,u)+C(g,u),q.geometry.relative=!0,q.vertex=!0,v.insert(q));v.style+=f(v.style,g,u,v);break;case "BPMNGateway":v.style+="shape=mxgraph.bpmn.shape;perimeter=rhombusPerimeter;background=gateway;";switch(g.bpmnGatewayType){case 0:v.style+="outline=none;symbol=general;";break;case 1:v.style+="outline=none;symbol=exclusiveGw;";break;case 2:v.style+="outline=catching;symbol=multiple;";break;case 3:v.style+="outline=none;symbol=parallelGw;";break;case 4:v.style+="outline=end;symbol=general;";
+break;case 5:v.style+="outline=standard;symbol=multiple;";break;case 6:v.style+="outline=none;symbol=complexGw;";break;case 7:v.style+="outline=standard;symbol=parallelMultiple;"}v.style+=f(v.style,g,u,v);break;case "BPMNData":v.style+="shape=note;size=14;";switch(g.bpmnDataType){case 1:q=new mxCell("",new mxGeometry(.5,1,12,10),"shape=parallelMarker;part=1;");q.geometry.offset=new mxPoint(-6,-15);q.style+=F(g,u)+C(g,u);q.geometry.relative=!0;q.vertex=!0;v.insert(q);break;case 2:q=new mxCell("",new mxGeometry(0,
+0,12,10),"shape=singleArrow;part=1;arrowWidth=0.4;arrowSize=0.4;");q.geometry.offset=new mxPoint(3,3);q.style+=F(g,u)+C(g,u);q.geometry.relative=!0;q.vertex=!0;v.insert(q);v.style+="verticalLabelPosition=bottom;verticalAlign=top;";R=new mxCell("",new mxGeometry(0,0,t,20),"strokeColor=none;fillColor=none;");R.geometry.offset=new mxPoint(0,14);R.geometry.relative=!0;R.vertex=!0;v.insert(R);R.value=c(g.Text);R.style+=k(g);break;case 3:q=new mxCell("",new mxGeometry(0,0,12,10),"shape=singleArrow;part=1;arrowWidth=0.4;arrowSize=0.4;"),
+q.geometry.offset=new mxPoint(3,3),q.style+=C(g,u),q.geometry.relative=!0,q.vertex=!0,v.insert(q),J=C(g,u),J=J.replace("strokeColor","fillColor"),""==J&&(J="fillColor=#000000;"),q.style+=J,R=new mxCell("",new mxGeometry(0,0,t,20),"strokeColor=none;fillColor=none;"),R.geometry.offset=new mxPoint(0,14),R.geometry.relative=!0,R.vertex=!0,v.insert(R),R.value=c(g.Text),R.style+=k(g)}v.style+=f(v.style,g,u,v);break;case "BPMNBlackPool":v.style+=f(v.style,g,u,v);v.value=c(g.Text);q=new mxCell("",new mxGeometry(0,
+0,t,r),"fillColor=#000000;strokeColor=none;opacity=30;");q.vertex=!0;v.insert(q);break;case "DFDExternalEntityBlock":v.style+="strokeColor=none;fillColor=none;";v.style+=f(v.style,g,u,v);q=new mxCell("",new mxGeometry(0,0,.95*t,.95*r),"part=1;");q.vertex=!0;v.insert(q);q.style+=f(q.style,g,u,q);w=new mxCell("",new mxGeometry(.05*t,.05*r,.95*t,.95*r),"part=1;");w.vertex=!0;v.insert(w);w.style+=k(g.Text);w.style+=f(w.style,g,u,w);w.value=c(g.Text);break;case "GSDFDDataStoreBlock":v.style+="shape=partialRectangle;right=0;"+
+k(g.Text);v.style+=f(v.style,g,u,v);v.value=c(g.Text);q=new mxCell("",new mxGeometry(0,0,.2*t,r),"part=1;");q.vertex=!0;v.insert(q);q.style+=k(g.Number);q.style+=f(q.style,g,u,q);q.value=c(g.Number);break;case "VSMDedicatedProcessBlock":case "VSMProductionControlBlock":v.style+="shape=mxgraph.lean_mapping.manufacturing_process;spacingTop=15;";"VSMDedicatedProcessBlock"==e.Class?v.value=c(g.Text):"VSMProductionControlBlock"==e.Class&&(v.value=c(g.Resources));v.style+=f(v.style,g,u,v);"VSMDedicatedProcessBlock"==
+e.Class&&(q=new mxCell("",new mxGeometry(0,1,11,9),"part=1;shape=mxgraph.lean_mapping.operator;"),q.geometry.relative=!0,q.geometry.offset=new mxPoint(4,-13),q.vertex=!0,v.insert(q),q.style+=f(q.style,g,u,q));R=new mxCell("",new mxGeometry(0,0,t,15),"strokeColor=none;fillColor=none;part=1;");R.vertex=!0;v.insert(R);R.value=c(g.Title);R.style+=k(g.Title);break;case "VSMSharedProcessBlock":v.style+="shape=mxgraph.lean_mapping.manufacturing_process_shared;spacingTop=-5;verticalAlign=top;";v.value=c(g.Text);
+v.style+=f(v.style,g,u,v);R=new mxCell("",new mxGeometry(.1*t,.3*r,.8*t,.6*r),"part=1;");R.vertex=!0;v.insert(R);R.value=c(g.Resource);R.style+=k(g.Resource);R.style+=f(R.style,g,u,R);break;case "VSMWorkcellBlock":v.style+="shape=mxgraph.lean_mapping.work_cell;verticalAlign=top;spacingTop=-2;";v.style+=f(v.style,g,u,v);v.value=c(g.Text);break;case "VSMSafetyBufferStockBlock":case "VSMDatacellBlock":v.style+="strokeColor=none;fillColor=none;";v.style+=f(v.style,g,u,v);var xa=r,Pa=parseInt(g.Cells),
+N=f("part=1;",g,u,v);0<Pa&&(xa/=Pa);I=[];na=[];for(l=1;l<=Pa;l++)I[l]=new mxCell("",new mxGeometry(0,(l-1)*xa,t,xa),N),I[l].vertex=!0,v.insert(I[l]),I[l].value=c(g["cell_"+l]),I[l].style+=k(g["cell_"+l]);break;case "VSMInventoryBlock":v.style+="shape=mxgraph.lean_mapping.inventory_box;verticalLabelPosition=bottom;verticalAlign=top;";v.style+=f(v.style,g,u,v);v.value=c(g.Text);break;case "VSMSupermarketBlock":v.style+="strokeColor=none;";v.style+=f(v.style,g,u,v);xa=r;Pa=parseInt(g.Cells);N=f("part=1;fillColor=none;",
+g,u,v);0<Pa&&(xa/=Pa);I=[];Ka=[];for(l=1;l<=Pa;l++)I[l]=new mxCell("",new mxGeometry(.5*t,(l-1)*xa,.5*t,xa),"shape=partialRectangle;left=0;"+N),I[l].vertex=!0,v.insert(I[l]),Ka[l]=new mxCell("",new mxGeometry(0,(l-1)*xa,t,xa),"strokeColor=none;fillColor=none;part=1;"),Ka[l].vertex=!0,v.insert(Ka[l]),Ka[l].value=c(g["cell_"+l]),Ka[l].style+=k(g["cell_"+l]);break;case "VSMFIFOLaneBlock":v.style+="shape=mxgraph.lean_mapping.fifo_sequence_flow;fontStyle=0;fontSize=18";v.style+=f(v.style,g,u,v);v.value=
+"FIFO";break;case "VSMGoSeeProductionBlock":v.style+="shape=ellipse;";v.style+=f(v.style,g,u,v);v.value=c(g.Text);q=new mxCell("",new mxGeometry(.17*t,.2*r,13,6),"shape=mxgraph.lean_mapping.go_see_production_scheduling;flipH=1;part=1;whiteSpace=wrap;html=1;");q.vertex=!0;v.insert(q);q.style+=f(q.style,g,u,q);break;case "VSMProductionKanbanBatchBlock":v.style+="strokeColor=none;fillColor=none;";N="shape=card;size=18;flipH=1;part=1;";q=new mxCell("",new mxGeometry(.1*t,0,.9*t,.8*r),"shape=mxgraph.lean_mapping.go_see_production_scheduling;flipH=1;part=1;"+
+N);q.vertex=!0;v.insert(q);q.style+=f(q.style,g,u,q);w=new mxCell("",new mxGeometry(.05*t,.1*r,.9*t,.8*r),"shape=mxgraph.lean_mapping.go_see_production_scheduling;flipH=1;part=1;"+N);w.vertex=!0;v.insert(w);w.style+=f(w.style,g,u,w);var E=new mxCell("",new mxGeometry(0,.2*r,.9*t,.8*r),"shape=mxgraph.lean_mapping.go_see_production_scheduling;flipH=1;part=1;whiteSpace=wrap;html=1;spacing=2;"+N);E.vertex=!0;v.insert(E);E.style+=f(E.style,g,u,E);E.value=c(g.Text);break;case "AWSRoundedRectangleContainerBlock2":v.style+=
+"strokeColor=none;fillColor=none;";g.Spotfleet?(q=new mxCell("",new mxGeometry(0,0,t,r-20),"resizeWidth=1;resizeHeight=1;fillColor=none;align=center;verticalAlign=bottom;spacing=2;rounded=1;arcSize=10;"),q.geometry.offset=new mxPoint(0,20),q.geometry.relative=!0,q.vertex=!0,v.insert(q),q.style+=f(q.style,g,u,q),q.value=c(g.Title),w=new mxCell("",new mxGeometry(0,0,35,40),"strokeColor=none;shape=mxgraph.aws3.spot_instance;fillColor=#f58536;"),w.geometry.relative=!0,w.geometry.offset=new mxPoint(30,
+0),w.vertex=!0,v.insert(w)):g.Beanstalk?(q=new mxCell("",new mxGeometry(0,0,t,r-20),"resizeWidth=1;resizeHeight=1;fillColor=none;align=center;verticalAlign=bottom;spacing=2;rounded=1;arcSize=10;"),q.geometry.offset=new mxPoint(0,20),q.geometry.relative=!0,q.vertex=!0,v.insert(q),q.style+=f(q.style,g,u,q),q.value=c(g.Title),w=new mxCell("",new mxGeometry(0,0,30,40),"strokeColor=none;shape=mxgraph.aws3.elastic_beanstalk;fillColor=#759C3E;"),w.geometry.relative=!0,w.geometry.offset=new mxPoint(30,0),
+w.vertex=!0,v.insert(w)):g.EC2?(q=new mxCell("",new mxGeometry(0,0,t,r-20),"resizeWidth=1;resizeHeight=1;fillColor=none;align=center;verticalAlign=bottom;spacing=2;rounded=1;arcSize=10;"),q.geometry.offset=new mxPoint(0,20),q.geometry.relative=!0,q.vertex=!0,v.insert(q),q.style+=f(q.style,g,u,q),q.value=c(g.Title),w=new mxCell("",new mxGeometry(0,0,32,40),"strokeColor=none;shape=mxgraph.aws3.ec2;fillColor=#F58534;"),w.geometry.relative=!0,w.geometry.offset=new mxPoint(30,0),w.vertex=!0,v.insert(w)):
+g.Subnet?(q=new mxCell("",new mxGeometry(0,0,t,r-20),"resizeWidth=1;resizeHeight=1;fillColor=none;align=center;verticalAlign=bottom;spacing=2;rounded=1;arcSize=10;"),q.geometry.offset=new mxPoint(0,20),q.geometry.relative=!0,q.vertex=!0,v.insert(q),q.style+=f(q.style,g,u,q),q.value=c(g.Title),w=new mxCell("",new mxGeometry(0,0,32,40),"strokeColor=none;shape=mxgraph.aws3.permissions;fillColor=#146EB4;"),w.geometry.relative=!0,w.geometry.offset=new mxPoint(30,0),w.vertex=!0,v.insert(w)):g.VPC?(q=new mxCell("",
+new mxGeometry(0,0,t,r-20),"resizeWidth=1;resizeHeight=1;fillColor=none;align=center;verticalAlign=bottom;spacing=2;rounded=1;arcSize=10;"),q.geometry.offset=new mxPoint(0,20),q.geometry.relative=!0,q.vertex=!0,v.insert(q),q.style+=f(q.style,g,u,q),q.value=c(g.Title),w=new mxCell("",new mxGeometry(0,0,60,40),"strokeColor=none;shape=mxgraph.aws3.virtual_private_cloud;fillColor=#146EB4;"),w.geometry.relative=!0,w.geometry.offset=new mxPoint(30,0),w.vertex=!0,v.insert(w)):g.AWS?(q=new mxCell("",new mxGeometry(0,
+0,t,r-20),"resizeWidth=1;resizeHeight=1;fillColor=none;align=center;verticalAlign=bottom;spacing=2;rounded=1;arcSize=10;"),q.geometry.offset=new mxPoint(0,20),q.geometry.relative=!0,q.vertex=!0,v.insert(q),q.style+=f(q.style,g,u,q),q.value=c(g.Title),w=new mxCell("",new mxGeometry(0,0,60,40),"strokeColor=none;shape=mxgraph.aws3.cloud;fillColor=#F58534;"),w.geometry.relative=!0,w.geometry.offset=new mxPoint(30,0),w.vertex=!0,v.insert(w)):g.Corporate?(q=new mxCell("",new mxGeometry(0,0,t,r-20),"resizeWidth=1;resizeHeight=1;fillColor=none;align=center;verticalAlign=bottom;spacing=2;rounded=1;arcSize=10;"),
+q.geometry.offset=new mxPoint(0,20),q.geometry.relative=!0,q.vertex=!0,v.insert(q),q.style+=f(q.style,g,u,q),q.value=c(g.Title),w=new mxCell("",new mxGeometry(0,0,25,40),"strokeColor=none;shape=mxgraph.aws3.corporate_data_center;fillColor=#7D7C7C;"),w.geometry.relative=!0,w.geometry.offset=new mxPoint(30,0),w.vertex=!0,v.insert(w)):(v.style="resizeWidth=1;resizeHeight=1;fillColor=none;align=center;verticalAlign=bottom;spacing=2;rounded=1;arcSize=10;",v.style+=f(v.style,g,u,v),v.value=c(g.Title));
+break;case "AWSElasticComputeCloudBlock2":v.style+="strokeColor=none;shape=mxgraph.aws3.ec2;verticalLabelPosition=bottom;align=center;verticalAlign=top;";v.style+=f(v.style,g,u,v);v.value=c(g.Title);break;case "AWSRoute53Block2":v.style+="strokeColor=none;shape=mxgraph.aws3.route_53;verticalLabelPosition=bottom;align=center;verticalAlign=top;";v.style+=f(v.style,g,u,v);v.value=c(g.Title);break;case "AWSRDBSBlock2":v.style+="strokeColor=none;shape=mxgraph.aws3.rds;verticalLabelPosition=bottom;align=center;verticalAlign=top;";
+v.style+=f(v.style,g,u,v);v.value=c(g.Title);break;case "NET_RingNetwork":v.style+="strokeColor=none;fillColor=none;";var X=new mxCell("",new mxGeometry(.25*t,.25*r,.5*t,.5*r),"html=1;shape=ellipse;perimeter=ellipsePerimeter;strokeColor=#29AAE1;strokeWidth=2;");X.vertex=!0;v.insert(X);var ca=[X];X.style+=F(g,u);var S=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=none;rounded=0;endArrow=none;dashed=0;html=1;strokeColor=#29AAE1;strokeWidth=2;");S.geometry.relative=!0;S.edge=!0;Da(.5*t,0,S,m,H,ca,
+v,X);Da(.855*t,.145*r,S,m,H,ca,v,X);Da(t,.5*r,S,m,H,ca,v,X);Da(.855*t,.855*r,S,m,H,ca,v,X);Da(.5*t,r,S,m,H,ca,v,X);Da(.145*t,.855*r,S,m,H,ca,v,X);Da(0,.5*r,S,m,H,ca,v,X);Da(.145*t,.145*r,S,m,H,ca,v,X);break;case "NET_Ethernet":v.style+="strokeColor=none;fillColor=none;";X=new mxCell("",new mxGeometry(0,.5*r-10,t,20),"shape=mxgraph.networks.bus;gradientColor=none;gradientDirection=north;fontColor=#ffffff;perimeter=backbonePerimeter;backboneSize=20;fillColor=#29AAE1;strokeColor=#29AAE1;");X.vertex=
+!0;v.insert(X);ca=[X];S=new mxCell("",new mxGeometry(0,0,0,0),"strokeColor=#29AAE1;edgeStyle=none;rounded=0;endArrow=none;html=1;strokeWidth=2;");S.geometry.relative=!0;S.edge=!0;for(var ca=[X],Qb=t/g.NumTopNodes,l=0;l<g.NumTopNodes;l++)Da(.5*Qb+l*Qb,0,S,m,H,ca,v,X);Qb=t/g.NumBottomNodes;for(l=0;l<g.NumBottomNodes;l++)Da(.5*Qb+l*Qb,r,S,m,H,ca,v,X);break;case "EE_OpAmp":v.style+="shape=mxgraph.electrical.abstract.operational_amp_1;";v.style+=f(v.style,g,u,v);v.value=c(g.Title);g.ToggleCharge&&(v.style+=
+"flipV=1;");break;case "EIMessageChannelBlock":case "EIDatatypeChannelBlock":case "EIInvalidMessageChannelBlock":case "EIDeadLetterChannelBlock":case "EIGuaranteedDeliveryBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.style+=f(v.style,g,u,v);v.value=c(g.Text);"EIMessageChannelBlock"==e.Class?(q=new mxCell("",new mxGeometry(.5,.5,.9*t,20),"shape=mxgraph.eip.messageChannel;fillColor=#818181;part=1;"),q.geometry.offset=new mxPoint(.45*-t,0)):"EIDatatypeChannelBlock"==e.Class?(q=
 new mxCell("",new mxGeometry(.5,.5,.9*t,20),"shape=mxgraph.eip.dataChannel;fillColor=#818181;part=1;"),q.geometry.offset=new mxPoint(.45*-t,0)):"EIInvalidMessageChannelBlock"==e.Class?(q=new mxCell("",new mxGeometry(.5,.5,.9*t,20),"shape=mxgraph.eip.invalidMessageChannel;fillColor=#818181;part=1;"),q.geometry.offset=new mxPoint(.45*-t,0)):"EIDeadLetterChannelBlock"==e.Class?(q=new mxCell("",new mxGeometry(.5,.5,.9*t,20),"shape=mxgraph.eip.deadLetterChannel;fillColor=#818181;part=1;"),q.geometry.offset=
-new mxPoint(.45*-t,0)):"EIGuaranteedDeliveryBlock"==e.Class&&(q=new mxCell("",new mxGeometry(.5,.5,20,27),"shape=cylinder;fillColor=#818181;part=1;"),q.geometry.offset=new mxPoint(-10,-7));q.geometry.relative=!0;q.vertex=!0;v.insert(q);q.style+=f(q.style,h,u,q);R=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=none;rounded=0;endArrow=block;dashed=0;html=1;strokeColor=#818181;strokeWidth=1;endFill=1;endSize=6;");R.geometry.relative=!0;R.edge=!0;ga(.15*t,.25*r,.85*t,.25*r,R,m,L,ca,v,W);break;case "EIChannelAdapterBlock":v.style+=
-"verticalLabelPosition=bottom;verticalAlign=top;";v.style+=f(v.style,h,u,v);v.value=c(h.Text);q=new mxCell("",new mxGeometry(0,.07*r,.21*t,.86*r),"fillColor=#FFFF33;part=1;");q.vertex=!0;v.insert(q);q.style+=f(q.style,h,u,q);w=new mxCell("",new mxGeometry(.26*t,.09*r,.2*t,.82*r),"shape=mxgraph.eip.channel_adapter;fillColor=#4CA3D9;part=1;");w.vertex=!0;v.insert(w);w.style+=f(w.style,h,u,w);E=new mxCell("",new mxGeometry(1,.5,.35*t,20),"shape=mxgraph.eip.messageChannel;fillColor=#818181;part=1;");
-E.geometry.relative=!0;E.geometry.offset=new mxPoint(.4*-t,-10);E.vertex=!0;v.insert(E);E.style+=f(E.style,h,u,E);K=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=1;exitY=0.5;entryX=0;entryY=0.5;endArrow=none;dashed=0;html=1;strokeWidth=1;endFill=1;endSize=2;");K.geometry.relative=!0;K.edge=!0;q.insertEdge(K,!0);w.insertEdge(K,!1);K.style+=B(h,u);m.push(L.addCell(K,null,null,null,null));J=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=1;exitY=0.5;entryX=0;entryY=0.5;endArrow=block;startArrow=block;dashed=0;html=1;strokeColor=#818181;strokeWidth=1;endFill=1;endSize=2;startFill=1;startSize=2;");
-J.geometry.relative=!0;J.edge=!0;w.insertEdge(J,!0);E.insertEdge(J,!1);m.push(L.addCell(J,null,null,null,null));break;case "EIMessageBlock":case "EICommandMessageBlock":case "EIDocumentMessageBlock":case "EIEventMessageBlock":v.style+="strokeColor=none;fillColor=none;verticalLabelPosition=bottom;verticalAlign=top;";v.style+=f(v.style,h,u,v);v.value=c(h.Text);q=new mxCell("",new mxGeometry(0,0,17,17),"shape=ellipse;fillColor=#808080;part=1;");q.vertex=!0;v.insert(q);q.style+=f(q.style,h,u,q);for(var Sb=
-h.Messages,dc=(r-17)/Sb,w=[],R=[],l=0;l<Sb;l++){var Tb=dc*(l+1)-3;w[l]=new mxCell("",new mxGeometry(t-20,Tb,20,20),"part=1;");w[l].vertex=!0;v.insert(w[l]);switch(e.Class){case "EIMessageBlock":w[l].value=c(h["message_"+(l+1)]);w.style+=k(h["message_"+(l+1)]);break;case "EICommandMessageBlock":w[l].value="C";w[l].style+="fontStyle=1;fontSize=11;";break;case "EIDocumentMessageBlock":w[l].value="D";w[l].style+="fontStyle=1;fontSize=11;";break;case "EIEventMessageBlock":w[l].value="E",w[l].style+="fontStyle=1;fontSize=11;"}w[l].style+=
-f(w[l].style,h,u,w[l]);R[l]=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;");R[l].geometry.relative=!0;R[l].edge=!0;q.insertEdge(R[l],!1);w[l].insertEdge(R[l],!0);R[l].style+=f(R[l].style,h,u,R[l]);var jb=[];jb.push(new mxPoint(U+8.5,ba+Tb+10));R[l].geometry.points=jb;m.push(L.addCell(R[l],null,null,null,null))}break;case "EIMessageEndpointBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.style+=f(v.style,
-h,u,v);v.value=c(h.Text);q=new mxCell("",new mxGeometry(.45*t,.25*r,.3*t,.5*r),"part=1;fillColor=#ffffff");q.vertex=!0;v.insert(q);q.style+=f(q.style,h,u,q);R=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=none;rounded=0;endArrow=block;dashed=0;html=1;strokeColor=#818181;strokeWidth=1;endFill=1;endSize=6;");R.geometry.relative=!0;R.edge=!0;ga(0,.5*r,.4*t,.5*r,R,m,L,ca,v,W);break;case "EIPublishSubscribeChannelBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.style+=f(v.style,h,
-u,v);v.value=c(h.Text);var K=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=none;rounded=0;endArrow=block;dashed=0;html=1;strokeColor=#818181;strokeWidth=1;endFill=1;endSize=6;");K.geometry.relative=!0;K.edge=!0;ga(.05*t,.5*r,.85*t,.5*r,K,m,L,ca,v,W);var J=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;rounded=0;endArrow=block;dashed=0;html=1;strokeColor=#818181;strokeWidth=1;endFill=1;endSize=6;");J.geometry.relative=!0;J.edge=!0;ga(.05*t,.5*r,.85*t,.15*r,J,m,L,ca,v,W);var P=new mxCell("",
-new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;rounded=0;endArrow=block;dashed=0;html=1;strokeColor=#818181;strokeWidth=1;endFill=1;endSize=6;");P.geometry.relative=!0;P.edge=!0;ga(.05*t,.5*r,.85*t,.85*r,P,m,L,ca,v,W);break;case "EIMessageBusBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.style+=f(v.style,h,u,v);v.value=c(h.Text);K=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=none;rounded=0;endArrow=block;dashed=0;html=1;strokeWidth=1;endFill=1;endSize=4;startArrow=block;startFill=1;startSize=4;");
-K.geometry.relative=!0;K.edge=!0;K.style+=B(h,u);ga(.05*t,.5*r,.95*t,.5*r,K,m,L,ca,v,W);J=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;rounded=0;endArrow=block;dashed=0;html=1;strokeWidth=1;endFill=1;endSize=4;startArrow=block;startFill=1;startSize=4;");J.geometry.relative=!0;J.edge=!0;J.style+=B(h,u);ga(.3*t,.1*r,.3*t,.5*r,J,m,L,ca,v,W);P=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;rounded=0;endArrow=block;dashed=0;html=1;strokeWidth=1;endFill=1;endSize=4;startArrow=block;startFill=1;startSize=4;");
-P.geometry.relative=!0;P.edge=!0;P.style+=B(h,u);ga(.7*t,.1*r,.7*t,.5*r,P,m,L,ca,v,W);var ka=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;rounded=0;endArrow=block;dashed=0;html=1;strokeWidth=1;endFill=1;endSize=4;startArrow=block;startFill=1;startSize=4;");ka.geometry.relative=!0;ka.edge=!0;ka.style+=B(h,u);ga(.5*t,.5*r,.5*t,.9*r,ka,m,L,ca,v,W);break;case "EIRequestReplyBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.style+=f(v.style,h,u,v);v.value=c(h.Text);
-q=new mxCell("",new mxGeometry(.2*t,.21*r,.16*t,.24*r),"part=1;fillColor=#ffffff;");q.vertex=!0;v.insert(q);q.style+=f(q.style,h,u,q);K=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=none;rounded=0;endArrow=block;dashed=0;html=1;strokeColor=#818181;strokeWidth=1;endFill=1;endSize=6;");K.geometry.relative=!0;K.edge=!0;ga(.45*t,.33*r,.8*t,.33*r,K,m,L,ca,v,W);w=new mxCell("",new mxGeometry(.64*t,.55*r,.16*t,.24*r),"part=1;fillColor=#ffffff;");w.vertex=!0;v.insert(w);w.style+=f(w.style,h,u,w);J=new mxCell("",
-new mxGeometry(0,0,0,0),"edgeStyle=none;rounded=0;endArrow=block;dashed=0;html=1;strokeColor=#818181;strokeWidth=1;endFill=1;endSize=6;");J.geometry.relative=!0;J.edge=!0;ga(.55*t,.67*r,.2*t,.67*r,J,m,L,ca,v,W);break;case "EIReturnAddressBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.style+=f(v.style,h,u,v);v.value=c(h.Text);q=new mxCell("",new mxGeometry(.1*t,.15*r,.8*t,.7*r),"part=1;shape=mxgraph.eip.retAddr;fillColor=#FFE040;");q.vertex=!0;v.insert(q);q.style+=f(q.style,h,
-u,q);break;case "EICorrelationIDBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.style+=f(v.style,h,u,v);v.value=c(h.Text);q=new mxCell("",new mxGeometry(.04*t,.06*r,.18*t,.28*r),"shape=ellipse;fillColor=#808080;part=1;");q.vertex=!0;v.insert(q);q.style+=f(q.style,h,u,q);w=new mxCell("",new mxGeometry(.2*t,.56*r,.2*t,.32*r),"part=1;");w.vertex=!0;v.insert(w);w.value="A";w.style+="fontStyle=1;fontSize=11;";q.style+=f(q.style,h,u,q);K=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;part=1;");
-K.geometry.relative=!0;K.edge=!0;q.insertEdge(K,!1);w.insertEdge(K,!0);K.style+=f(K.style,h,u,K);jb=[];jb.push(new mxPoint(U+.13*t,ba+.72*r));K.geometry.points=jb;m.push(L.addCell(K,null,null,null,null));E=new mxCell("",new mxGeometry(.6*t,.06*r,.18*t,.28*r),"shape=ellipse;fillColor=#808080;part=1;");E.vertex=!0;v.insert(E);E.style+=B(h,u)+Y(h);E.style+=f(E.style,h,u,E);O=new mxCell("",new mxGeometry(.76*t,.56*r,.2*t,.32*r),"part=1;");O.vertex=!0;v.insert(O);O.style+=B(h,u)+C(h,u,O)+Y(h)+Z(h);O.value=
-"B";O.style+="fontStyle=1;fontSize=11;fillColor=#ffffff;";O.style+=f(O.style,h,u,O);J=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;part=1;");J.geometry.relative=!0;J.edge=!0;E.insertEdge(J,!1);O.insertEdge(J,!0);J.style+=f(J.style,h,u,J);var oc=[];oc.push(new mxPoint(U+.69*t,ba+.72*r));J.geometry.points=oc;m.push(L.addCell(J,null,null,null,null));P=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;endArrow=block;endFill=1;endSize=6;part=1;");
-P.geometry.relative=!0;P.edge=!0;q.insertEdge(P,!1);E.insertEdge(P,!0);P.style+=f(P.style,h,u,P);m.push(L.addCell(P,null,null,null,null));break;case "EIMessageSequenceBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.style+=f(v.style,h,u,v);v.value=c(h.Text);q=new mxCell("1",new mxGeometry(.2*t,.4*r,.1*t,.19*r),"fontStyle=1;fillColor=#ffffff;fontSize=11;part=1;");q.vertex=!0;v.insert(q);q.style+=f(q.style,h,u,q);w=new mxCell("2",new mxGeometry(.45*t,.4*r,.1*t,.19*r),"fontStyle=1;fillColor=#ffffff;fontSize=11;part=1;");
-w.vertex=!0;v.insert(w);w.style+=f(w.style,h,u,w);E=new mxCell("3",new mxGeometry(.7*t,.4*r,.1*t,.19*r),"fontStyle=1;fillColor=#ffffff;fontSize=11;part=1;");E.vertex=!0;v.insert(E);E.style+=f(E.style,h,u,E);K=new mxCell("",new mxGeometry(0,0,0,0),"curved=1;endArrow=block;html=1;endSize=3;part=1;");q.insertEdge(K,!1);w.insertEdge(K,!0);K.geometry.points=[new mxPoint(U+.375*t,ba+.15*r)];K.geometry.relative=!0;K.edge=!0;K.style+=f(K.style,h,u,K);m.push(L.addCell(K,null,null,null,null));J=new mxCell("",
-new mxGeometry(0,0,0,0),"curved=1;endArrow=block;html=1;endSize=3;part=1;");w.insertEdge(J,!1);E.insertEdge(J,!0);J.geometry.points=[new mxPoint(U+.675*t,ba+.15*r)];J.geometry.relative=!0;J.edge=!0;J.style+=f(J.style,h,u,J);m.push(L.addCell(J,null,null,null,null));break;case "EIMessageExpirationBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.style+=f(v.style,h,u,v);v.value=c(h.Text);q=new mxCell("",new mxGeometry(.3*t,.2*r,.4*t,.6*r),"shape=mxgraph.ios7.icons.clock;fillColor=#ffffff;flipH=1;part=1;");
-q.vertex=!0;v.insert(q);q.style+=f(q.style,h,u,q);break;case "EIMessageBrokerBlock":v.style+="strokeColor=none;fillColor=none;verticalLabelPosition=bottom;verticalAlign=top;";v.style+=f(v.style,h,u,v);v.value=c(h.Text);q=new mxCell("",new mxGeometry(.38*t,.42*r,.24*t,.16*r),"part=1;fillColor=#aefe7d;");q.vertex=!0;v.insert(q);q.style+=f(q.style,h,u,q);w=new mxCell("",new mxGeometry(.38*t,0,.24*t,.16*r),"part=1;");w.vertex=!0;v.insert(w);w.style+=f(w.style,h,u,w);E=new mxCell("",new mxGeometry(.76*
-t,.23*r,.24*t,.16*r),"");E.vertex=!0;v.insert(E);E.style=w.style;var O=new mxCell("",new mxGeometry(.76*t,.61*r,.24*t,.16*r),"");O.vertex=!0;v.insert(O);O.style=w.style;var Yb=new mxCell("",new mxGeometry(.38*t,.84*r,.24*t,.16*r),"");Yb.vertex=!0;v.insert(Yb);Yb.style=w.style;var Zb=new mxCell("",new mxGeometry(0,.61*r,.24*t,.16*r),"");Zb.vertex=!0;v.insert(Zb);Zb.style=w.style;var $b=new mxCell("",new mxGeometry(0,.23*r,.24*t,.16*r),"");$b.vertex=!0;v.insert($b);$b.style=w.style;K=new mxCell("",
-new mxGeometry(0,0,0,0),"endArrow=none;part=1;");q.insertEdge(K,!1);w.insertEdge(K,!0);K.edge=!0;K.style+=f(K.style,h,u,K);m.push(L.addCell(K,null,null,null,null));J=new mxCell("",new mxGeometry(0,0,0,0),"endArrow=none;part=1;");q.insertEdge(J,!1);E.insertEdge(J,!0);J.edge=!0;J.style+=f(J.style,h,u,J);m.push(L.addCell(J,null,null,null,null));P=new mxCell("",new mxGeometry(0,0,0,0),"endArrow=none;part=1;");q.insertEdge(P,!1);O.insertEdge(P,!0);P.edge=!0;P.style+=f(P.style,h,u,P);m.push(L.addCell(P,
-null,null,null,null));ka=new mxCell("",new mxGeometry(0,0,0,0),"endArrow=none;part=1;");q.insertEdge(ka,!1);Yb.insertEdge(ka,!0);ka.edge=!0;ka.style+=f(ka.style,h,u,ka);m.push(L.addCell(ka,null,null,null,null));var kb=new mxCell("",new mxGeometry(0,0,0,0),"endArrow=none;part=1;");q.insertEdge(kb,!1);Zb.insertEdge(kb,!0);kb.edge=!0;kb.style+=f(kb.style,h,u,kb);m.push(L.addCell(kb,null,null,null,null));var lb=new mxCell("",new mxGeometry(0,0,0,0),"endArrow=none;part=1;");q.insertEdge(lb,!1);$b.insertEdge(lb,
-!0);lb.edge=!0;lb.style+=f(lb.style,h,u,lb);m.push(L.addCell(lb,null,null,null,null));break;case "EIDurableSubscriberBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.style+=f(v.style,h,u,v);v.value=c(h.Text);K=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;rounded=0;endArrow=block;endFill=1;endSize=6;");K.geometry.relative=!0;K.edge=!0;ga(.05*t,.5*r,.6*t,.25*r,K,m,L,ca,v,W);J=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;rounded=0;endArrow=block;endFill=1;endSize=6;");
-J.geometry.relative=!0;J.edge=!0;ga(.05*t,.5*r,.6*t,.75*r,J,m,L,ca,v,W);q=new mxCell("",new mxGeometry(.7*t,.1*r,.15*t,.32*r),"shape=mxgraph.eip.durable_subscriber;part=1;fillColor=#818181;");q.vertex=!0;v.insert(q);q.style+=f(q.style,h,u,q);break;case "EIControlBusBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.style+=f(v.style,h,u,v);v.value=c(h.Text);q=new mxCell("",new mxGeometry(.25*t,.25*r,.5*t,.5*r),"shape=mxgraph.eip.control_bus;part=1;");q.vertex=!0;v.insert(q);q.style+=
-f(q.style,h,u,q);break;case "EIMessageHistoryBlock":v.style+="strokeColor=none;fillColor=none;verticalLabelPosition=bottom;verticalAlign=top;";v.style+=f(v.style,h,u,v);v.value=c(h.Text);q=new mxCell("",new mxGeometry(0,0,17,17),"shape=ellipse;fillColor=#808080;part=1;");q.vertex=!0;v.insert(q);q.style+=f(q.style,h,u,q);E=new mxCell("",new mxGeometry(t-45,30,30,20),"shape=mxgraph.mockup.misc.mail2;fillColor=#FFE040;part=1;");E.vertex=!0;v.insert(E);E.style+=f(E.style,h,u,E);P=new mxCell("",new mxGeometry(0,
-0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;");P.geometry.relative=!0;P.edge=!0;q.insertEdge(P,!1);E.insertEdge(P,!0);P.style+=f(P.style,h,u,P);P.geometry.points=[new mxPoint(U+8.5,ba+40)];m.push(L.addCell(P,null,null,null,null));O=new mxCell("",new mxGeometry(t-45,r-20,20,20),"part=1;");O.vertex=!0;v.insert(O);O.value=c(h.message_0);O.style+=k(h.message_0);O.style+=f(O.style,h,u,O);ka=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;");
-ka.geometry.relative=!0;ka.edge=!0;q.insertEdge(ka,!1);O.insertEdge(ka,!0);ka.style+=f(ka.style,h,u,ka);ka.geometry.points=[new mxPoint(U+8.5,ba+r-10)];m.push(L.addCell(ka,null,null,null,null));Sb=h.HistoryMessages;dc=(r-75)/Sb;w=[];R=[];for(l=0;l<Sb;l++)Tb=dc*(l+1)+30,w[l]=new mxCell("",new mxGeometry(t-20,Tb,20,20),"part=1;"),w[l].vertex=!0,w[l].value=c(h["message_"+(l+1)]),w.style+=k(h["message_"+(l+1)]),v.insert(w[l]),w[l].style+=f(w[l].style,h,u,w[l]),R[l]=new mxCell("",new mxGeometry(0,0,0,
-0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;"),R[l].geometry.relative=!0,R[l].edge=!0,E.insertEdge(R[l],!1),w[l].insertEdge(R[l],!0),R[l].style+=f(R[l].style,h,u,R[l]),jb=[],jb.push(new mxPoint(U+t-30,ba+Tb+10)),R[l].geometry.points=jb,m.push(L.addCell(R[l],null,null,null,null));break;case "fpDoor":v.style+="shape=mxgraph.floorplan.doorRight;";0>h.DoorAngle&&(v.style+="flipV=1;");v.style+=f(v.style,h,u,v);break;case "fpDoubleDoor":v.style+="shape=mxgraph.floorplan.doorDouble;";
-0<h.DoorAngle&&(v.style+="flipV=1;");v.style+=f(v.style,h,u,v);break;case "fpRestroomLights":v.style+="strokeColor=none;fillColor=none;";v.style+=f(v.style,h,u,v);q=new mxCell("",new mxGeometry(0,0,t,.25*r),"part=1;");q.vertex=!0;v.insert(q);q.style+=f(q.style,h,u,q);for(var w=[],pc=.02*t,ec=(t-2*pc)/h.LightCount,qc=.8*ec,l=0;l<h.LightCount;l++)w[l]=new mxCell("",new mxGeometry(pc+ec*l+(ec-qc)/2,.25*r,qc,.75*r),"part=1;shape=ellipse;"),w[l].vertex=!0,v.insert(w[l]),w[l].style+=f(w[l].style,h,u,w[l]);
-break;case "fpRestroomSinks":v.style+="strokeColor=none;fillColor=none;";v.style+=f(v.style,h,u,v);for(var q=[],rc=t/h.SinkCount,l=0;l<h.SinkCount;l++)q[l]=new mxCell("",new mxGeometry(rc*l,0,rc,r),"part=1;shape=mxgraph.floorplan.sink_2;"),q[l].vertex=!0,v.insert(q[l]),q[l].style+=f(q[l].style,h,u,q[l]);break;case "fpRestroomStalls":v.style+="strokeColor=none;fillColor=none;";var Ba=.1*t/h.StallCount,q=new mxCell("",new mxGeometry(0,0,Ba,r),"fillColor=#000000;part=1;");q.vertex=!0;v.insert(q);q.style+=
-f(q.style,h,u,q);for(var Ia=(t-Ba)/h.StallCount,fc=[],Ub=[],Vb=[],Wb=[],I=B(h,u),I=""==I?"#000000;":I.replace("stokreColor=",""),ac="part=1;fillColor="+I,ac=ac+f(ac,h,u,v),gc=f("",h,u,v),l=0;l<h.StallCount;l++)fc[l]=new mxCell("",new mxGeometry((l+1)*Ia,0,Ba,r),ac),fc[l].vertex=!0,v.insert(fc[l]),Vb[l]=new mxCell("",new mxGeometry(Ba+l*Ia+.05*(Ia-Ba),r-.92*(Ia-Ba),.9*(Ia-Ba),.92*(Ia-Ba)),"shape=mxgraph.floorplan.doorRight;flipV=1;part=1;"),Vb[l].vertex=!0,v.insert(Vb[l]),Vb[l].style+=gc,Ub[l]=new mxCell("",
-new mxGeometry(Ba+l*Ia+.2*(Ia-Ba),0,.6*(Ia-Ba),.8*(Ia-Ba)),"shape=mxgraph.floorplan.toilet;part=1;"),Ub[l].vertex=!0,v.insert(Ub[l]),Ub[l].style+=gc,Wb[l]=new mxCell("",new mxGeometry(Ba+l*Ia,.42*r,.15*(Ia-Ba),.12*(Ia-Ba)),"part=1;"),Wb[l].vertex=!0,v.insert(Wb[l]),Wb[l].style+=gc;break;case "PEOneToMany":v.style+="strokeColor=none;fillColor=none;";var Ka="edgeStyle=none;endArrow=none;part=1;";Ka.style+=f(Ka.style,h,u,Ka);var I=B(h,u),I=""==I?"#000000;":I.replace("strokeColor=",""),mb="shape=triangle;part=1;fillColor="+
-I,mb=mb+f(mb,h,u,v),K=new mxCell("",new mxGeometry(0,0,0,0),Ka);K.geometry.relative=!0;K.edge=!0;ga(0,.5*r,.65*t,.5*r,K,m,L,ca,v,W);for(var M=r/h.numLines,J=[],ob=[],l=0;l<h.numLines;l++)J[l]=new mxCell("",new mxGeometry(0,0,0,0),Ka),J[l].geometry.relative=!0,J[l].edge=!0,ga(.65*t,.5*r,.96*t,(l+.5)*M,J[l],m,L,ca,v,W),ob[l]=new mxCell("",new mxGeometry(.95*t,(l+.2)*M,.05*t,.6*M),mb),ob[l].vertex=!0,v.insert(ob[l]);break;case "PEMultilines":v.style+="strokeColor=none;fillColor=none;";Ka="edgeStyle=none;endArrow=none;part=1;";
-Ka.style+=f(Ka.style,h,u,Ka);I=B(h,u);I=""==I?"#000000;":I.replace("strokeColor=","");mb="shape=triangle;part=1;fillColor="+I;mb+=f(mb,h,u,v);M=r/h.numLines;J=[];ob=[];for(l=0;l<h.numLines;l++)J[l]=new mxCell("",new mxGeometry(0,0,0,0),Ka),J[l].geometry.relative=!0,J[l].edge=!0,ga(0,(l+.5)*M,.96*t,(l+.5)*M,J[l],m,L,ca,v,W),ob[l]=new mxCell("",new mxGeometry(.95*t,(l+.2)*M,.05*t,.6*M),mb),ob[l].vertex=!0,v.insert(ob[l]);break;case "PEVesselBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";
-v.value=c(h.Text);switch(h.vesselType){case 1:v.style+="shape=mxgraph.pid.vessels.pressurized_vessel;";break;case 2:v.style+="shape=hexagon;perimeter=hexagonPerimeter2;size=0.10;direction=south;"}v.style+=f(v.style,h,u,v);break;case "PEClosedTankBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.value=c(h.Text);1==h.peakedRoof&&0==h.stumpType?v.style+="shape=mxgraph.pid.vessels.tank_(conical_roof);":1==h.stumpType&&(v.style+="shape=mxgraph.pid.vessels.tank_(boot);");v.style+=f(v.style,
-h,u,v);break;case "PEColumnBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.value=c(h.Text);v.style=0==h.columnType?v.style+"shape=mxgraph.pid.vessels.pressurized_vessel;":v.style+"shape=mxgraph.pid.vessels.tank;";v.style+=f(v.style,h,u,v);break;case "PECompressorTurbineBlock":v.style+="strokeColor=none;fillColor=none;";v.style+=f(v.style,h,u,v);v.value=c(h.Text);q=new mxCell("",new mxGeometry(0,.2*r,t,.6*r),"part=1;shape=trapezoid;perimeter=trapezoidPerimeter;direction=south;");
-q.vertex=!0;v.insert(q);q.style+=N;q.style+=f(q.style,h,u,q);N="endSize=4;endArrow=block;endFill=1;";0==h.compressorType?(K=new mxCell("",new mxGeometry(0,0,0,0),""),K.geometry.relative=!0,K.edge=!0,K.style+=N,K.style+=f(K.style,h,u,K),ga(0,0,0,.2*r,K,m,L,ca,v,W),J=new mxCell("",new mxGeometry(0,0,0,0),""),J.geometry.relative=!0,J.edge=!0,J.style+=N,J.style+=f(J.style,h,u,J),ga(t,.67*r,t,r,J,m,L,ca,v,W)):(q.style+="flipH=1;",K=new mxCell("",new mxGeometry(0,0,0,0),""),K.geometry.relative=!0,K.edge=
-!0,K.style+=N,K.style+=f(K.style,h,u,K),ga(0,0,0,.33*r,K,m,L,ca,v,W),J=new mxCell("",new mxGeometry(0,0,0,0),""),J.geometry.relative=!0,J.edge=!0,J.style+=N,J.style+=f(J.style,h,u,J),ga(t,.8*r,t,r,J,m,L,ca,v,W));1==h.centerLineType&&(P=new mxCell("",new mxGeometry(0,0,0,0),""),P.geometry.relative=!0,P.edge=!0,P.style+=N,P.style+=f(P.style,h,u,P),ga(.2*t,.5*r,.8*t,.5*r,P,m,L,ca,v,W));break;case "PEMotorDrivenTurbineBlock":v.style+="shape=ellipse;";v.style+=f(v.style,h,u,v);v.value=c(h.Text);q=new mxCell("",
-new mxGeometry(.2*t,.2*r,.6*t,.6*r),"part=1;shape=trapezoid;perimeter=trapezoidPerimeter;direction=south;");q.vertex=!0;v.insert(q);q.style+=f(q.style,h,u,q);break;case "PEIndicatorBlock":case "PEIndicator2Block":case "PESharedIndicatorBlock":case "PEComputerIndicatorBlock":case "PESharedIndicator2Block":case "PEProgrammableIndicatorBlock":switch(e.Class){case "PEIndicatorBlock":v.style+="shape=mxgraph.pid2inst.discInst;";break;case "PEIndicator2Block":v.style+="shape=mxgraph.pid2inst.indicator;indType=inst;";
-break;case "PESharedIndicatorBlock":v.style+="shape=mxgraph.pid2inst.sharedCont;";break;case "PEComputerIndicatorBlock":v.style+="shape=mxgraph.pid2inst.compFunc;";break;case "PESharedIndicator2Block":v.style+="shape=mxgraph.pid2inst.indicator;indType=ctrl;";break;case "PEProgrammableIndicatorBlock":v.style+="shape=mxgraph.pid2inst.progLogCont;"}v.style+=f(v.style,h,u,v);"PEIndicator2Block"==e.Class||"PESharedIndicator2Block"==e.Class?(q=new mxCell("",new mxGeometry(0,0,t,.5*t),"part=1;strokeColor=none;fillColor=none;"),
-q.vertex=!0,v.insert(q),q.style+=k(h.TopText),q.style+=f(q.style,h,u,q),q.value=c(h.TopText),w=new mxCell("",new mxGeometry(0,.5*t,t,.5*t),"part=1;strokeColor=none;fillColor=none;")):(q=new mxCell("",new mxGeometry(0,0,t,.5*r),"part=1;strokeColor=none;fillColor=none;"),q.vertex=!0,v.insert(q),q.style+=k(h.TopText),q.style+=f(q.style,h,u,q),q.value=c(h.TopText),w=new mxCell("",new mxGeometry(0,.5*r,t,.5*r),"part=1;strokeColor=none;fillColor=none;"));w.vertex=!0;v.insert(w);w.style+=k(h.BotText);w.style+=
-f(w.style,h,u,w);w.value=c(h.BotText);switch(h.instrumentLocation){case 0:v.style+="mounting=field;";break;case 1:v.style+="mounting=inaccessible;";break;case 2:v.style+="mounting=room;";break;case 3:v.style+="mounting=local;"}break;case "PEGateValveBlock":case "PEGlobeValveBlock":case "PEAngleValveBlock":case "PEAngleGlobeValveBlock":case "PEPoweredValveBlock":var hc=!1;"PEPoweredValveBlock"==e.Class?1!=h.poweredHandOperated&&(hc=!0):1!=h.handOperated&&(hc=!0);if(hc){var h=n(e).Properties,S=h.BoundingBox,
-sc=S.h;S.h="PEAngleValveBlock"==e.Class||"PEAngleGlobeValveBlock"==e.Class?.7*S.h:.6*S.h;v=new mxCell("",new mxGeometry(Math.round(.6*S.x+0),Math.round(.6*(S.y+sc-S.h)+0),Math.round(.6*S.w),Math.round(.6*S.h)),"");v.vertex=!0;aa(v,e)}if("PEPoweredValveBlock"==e.Class)v.style+="shape=mxgraph.pid2valves.valve;verticalLabelPosition=bottom;verticalAlign=top;",v.style+=f(v.style,h,u,v),1==h.poweredHandOperated?(v.style+="valveType=gate;actuator=powered;",q=new mxCell("",new mxGeometry(.325*t,0,.35*t,.35*
-r),"part=1;strokeColor=none;fillColor=none;spacingTop=2;"),q.vertex=!0,v.insert(q),q.style+="fontSize=6;"+a(h.PoweredText)+d(h.PoweredText)+g(h.PoweredText)+p(h.PoweredText)+y(h.PoweredText)+x(h.PoweredText)+z(h.PoweredText)+F(h.PoweredText),q.style+=f(q.style,h,u,q),q.value=c(h.PoweredText)):v.style+="valveType=gate;";else{v.style+="verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.pid2valves.valve;";v.value=c(h.Text);switch(e.Class){case "PEGateValveBlock":v.style+="valveType=gate;";
-break;case "PEGlobeValveBlock":v.style+="valveType=globe;";break;case "PEAngleValveBlock":v.style+="valveType=angle;";break;case "PEAngleGlobeValveBlock":v.style+="valveType=angleGlobe;flipH=1;"}1==h.handOperated&&(v.style+="actuator=man;")}v.style+=f(v.style,h,u,v);break;case "UI2BrowserBlock":v.style+="shape=mxgraph.mockup.containers.browserWindow;mainText=;";1==h.vScroll&&(E=1==h.hScroll?new mxCell("",new mxGeometry(1,0,20,r-130),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"):
-new mxCell("",new mxGeometry(1,0,20,r-110),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"),E.geometry.relative=!0,E.geometry.offset=new mxPoint(-20,110),E.vertex=!0,v.insert(E),v.style+="spacingRight=20;");1==h.hScroll&&(O=1==h.vScroll?new mxCell("",new mxGeometry(0,1,t-20,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"):new mxCell("",new mxGeometry(0,1,t,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"),
-O.geometry.relative=!0,O.geometry.offset=new mxPoint(0,-20),O.vertex=!0,v.insert(O));v.style+=f(v.style,h,u,v);break;case "UI2WindowBlock":v.style+="shape=mxgraph.mockup.containers.window;mainText=;align=center;verticalAlign=top;spacing=5;"+b(h.Title)+a(h.Title)+d(h.Title);v.value=c(h.Title);1==h.vScroll&&(E=1==h.hScroll?new mxCell("",new mxGeometry(1,0,20,r-50),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"):new mxCell("",new mxGeometry(1,0,20,r-30),
-"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"),E.geometry.relative=!0,E.geometry.offset=new mxPoint(-20,30),E.vertex=!0,v.insert(E),v.style+="spacingRight=20;");1==h.hScroll&&(O=1==h.vScroll?new mxCell("",new mxGeometry(0,1,t-20,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"):new mxCell("",new mxGeometry(0,1,t,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"),O.geometry.relative=!0,O.geometry.offset=
-new mxPoint(0,-20),O.vertex=!0,v.insert(O));v.style+=f(v.style,h,u,v);break;case "UI2DialogBlock":v.style+=k(h.Text);v.value=c(h.Text);q=new mxCell("",new mxGeometry(0,0,t,30),"part=1;resizeHeight=0;");q.vertex=!0;v.insert(q);q.style+=k(h.Title);q.style+=f(q.style,h,u,q);q.value=c(h.Title);w=new mxCell("",new mxGeometry(1,.5,20,20),"part=1;shape=ellipse;strokeColor=#008cff;resizable=0;fillColor=none;html=1;");w.geometry.relative=!0;w.geometry.offset=new mxPoint(-25,-10);w.vertex=!0;q.insert(w);1==
-h.vScroll&&(E=1==h.hScroll?new mxCell("",new mxGeometry(1,0,20,r-50),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"):new mxCell("",new mxGeometry(1,0,20,r-30),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"),E.geometry.relative=!0,E.geometry.offset=new mxPoint(-20,30),E.vertex=!0,v.insert(E),v.style+="spacingRight=20;");1==h.hScroll&&(O=1==h.vScroll?new mxCell("",new mxGeometry(0,1,t-20,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"):
-new mxCell("",new mxGeometry(0,1,t,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"),O.geometry.relative=!0,O.geometry.offset=new mxPoint(0,-20),O.vertex=!0,v.insert(O));v.style+=f(v.style,h,u,v);break;case "UI2AccordionBlock":q=[];M=25;for(l=0;l<=h.Panels-1;l++)q[l]=l<h.Selected-1?new mxCell("",new mxGeometry(0,l*M,t,M),"part=1;fillColor=#000000;fillOpacity=25;"):l==h.Selected-1?new mxCell("",new mxGeometry(0,l*M,t,M),"part=1;fillColor=none;"):new mxCell("",new mxGeometry(0,
-r-(h.Panels-h.Selected)*M+(l-h.Selected)*M,t,M),"part=1;fillColor=#000000;fillOpacity=25;"),q[l].vertex=!0,v.insert(q[l]),q[l].style+=k(h["Panel_"+(l+1)]),q[l].value=c(h["Panel_"+(l+1)]),0>q[l].style.indexOf(";align=")&&(q[l].style+="align=left;spacingLeft=5;");var ha=B(h,u),ha=ha.replace("strokeColor","fillColor2");""==ha&&(ha="fillColor2=#000000;");1==h.vScroll&&(w=1==h.hScroll?new mxCell("",new mxGeometry(1,0,20,r-h.Selected*M-20-(h.Panels-h.Selected)*M),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"):
-new mxCell("",new mxGeometry(1,0,20,r-h.Selected*M-(h.Panels-h.Selected)*M),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"),w.geometry.relative=!0,w.geometry.offset=new mxPoint(-20,h.Selected*M),w.vertex=!0,v.insert(w),v.style+="spacingRight=20;",w.style+=ha,w.style+=f(w.style,h,u,w));1==h.hScroll&&(E=1==h.vScroll?new mxCell("",new mxGeometry(0,1,t-20,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"):new mxCell("",new mxGeometry(0,
-1,t,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"),E.geometry.relative=!0,E.geometry.offset=new mxPoint(0,-20-(h.Panels-h.Selected)*M),E.vertex=!0,v.insert(E),E.style+=ha,E.style+=f(E.style,h,u,E));O=1==h.vScroll?new mxCell("",new mxGeometry(0,h.Selected*M,t-20,r-h.Selected*M-20-(h.Panels-h.Selected)*M),"part=1;fillColor=none;strokeColor=none;"):new mxCell("",new mxGeometry(0,h.Selected*M,t-20,r-h.Selected*M-(h.Panels-h.Selected)*M),"part=1;fillColor=none;strokeColor=none;");
-O.vertex=!0;v.insert(O);O.style+=k(h.Content_1);0>O.style.indexOf(";align=")&&(O.style+="align=left;spacingLeft=5;");O.value=c(h.Content_1);v.style+=f(v.style,h,u,v);break;case "UI2TabBarContainerBlock":v.style+="strokeColor=none;fillColor=none;";var q=[],w=[],M=25,Fa=3,T=(t+Fa)/(h.Tabs+1),pa=new mxCell("",new mxGeometry(0,M,t,r-M),"part=1;");pa.vertex=!0;v.insert(pa);pa.style+=f(pa.style,h,u,pa);for(l=0;l<=h.Tabs-1;l++)l==h.Selected-1?(w[l]=new mxCell("",new mxGeometry(10+l*T,0,T-Fa,M),""),w[l].vertex=
-!0,v.insert(w[l])):(q[l]=new mxCell("",new mxGeometry(10+l*T,0,T-Fa,M),"strokeColor=none;"),q[l].vertex=!0,v.insert(q[l]),q[l].style+=q[l].style+=f(q[l].style,h,u,q[l]),w[l]=new mxCell("",new mxGeometry(0,0,T-Fa,M),"fillColor=#000000;fillOpacity=25;"),w[l].vertex=!0,q[l].insert(w[l])),w[l].style+=k(h["Tab_"+(l+1)]),w[l].value=c(h["Tab_"+(l+1)]),0>w[l].style.indexOf(";align=")&&(w[l].style+="align=left;spacingLeft=2;"),w[l].style+=f(w[l].style,h,u,w[l]);ha=B(h,u);ha=ha.replace("strokeColor","fillColor2");
-""==ha&&(ha="fillColor2=#000000;");1==h.vScroll&&(w=1==h.hScroll?new mxCell("",new mxGeometry(1,0,20,r-20-M),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"):new mxCell("",new mxGeometry(1,0,20,r-M),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"),w.geometry.relative=!0,w.geometry.offset=new mxPoint(-20,M),w.vertex=!0,v.insert(w),v.style+="spacingRight=20;",w.style+=ha,w.style+=f(w.style,h,u,w));1==h.hScroll&&
-(E=1==h.vScroll?new mxCell("",new mxGeometry(0,1,t-20,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"):new mxCell("",new mxGeometry(0,1,t,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"),E.geometry.relative=!0,E.geometry.offset=new mxPoint(0,-20),E.vertex=!0,v.insert(E),E.style+=ha,E.style+=f(E.style,h,u,E));break;case "UI2TabBar2ContainerBlock":v.style+="strokeColor=none;fillColor=none;";q=[];w=[];M=25;Fa=3;T=(t+Fa)/h.Tabs;pa=new mxCell("",
-new mxGeometry(0,M,t,r-M),"part=1;");pa.vertex=!0;v.insert(pa);pa.style+=f(pa.style,h,u,pa);for(l=0;l<=h.Tabs-1;l++)l==h.Selected-1?(w[l]=new mxCell("",new mxGeometry(l*T,0,T-Fa,M),""),w[l].vertex=!0,v.insert(w[l])):(q[l]=new mxCell("",new mxGeometry(l*T,0,T-Fa,M),"strokeColor=none;"),q[l].vertex=!0,v.insert(q[l]),q[l].style+=f(q[l].style,h,u,q[l]),w[l]=new mxCell("",new mxGeometry(0,0,T-Fa,M),"fillColor=#000000;fillOpacity=25;"),w[l].vertex=!0,q[l].insert(w[l])),w[l].style+=k(h["Tab_"+(l+1)]),w[l].style+=
-f(w[l].style,h,u,w[l]),w[l].value=c(h["Tab_"+(l+1)]),0>w[l].style.indexOf(";align=")&&(w[l].style+="align=left;spacingLeft=2;");ha=B(h,u);ha=ha.replace("strokeColor","fillColor2");""==ha&&(ha="fillColor2=#000000;");1==h.vScroll&&(w=1==h.hScroll?new mxCell("",new mxGeometry(1,0,20,r-20-M),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"):new mxCell("",new mxGeometry(1,0,20,r-M),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"),
-w.geometry.relative=!0,w.geometry.offset=new mxPoint(-20,M),w.vertex=!0,v.insert(w),v.style+="spacingRight=20;",w.style+=ha,w.style+=f(w.style,h,u,w));1==h.hScroll&&(E=1==h.vScroll?new mxCell("",new mxGeometry(0,1,t-20,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"):new mxCell("",new mxGeometry(0,1,t,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"),E.geometry.relative=!0,E.geometry.offset=new mxPoint(0,-20),E.vertex=!0,v.insert(E),E.style+=
-ha,E.style+=f(E.style,h,u,E));break;case "UI2VTabBarContainerBlock":v.style+="strokeColor=none;fillColor=none;";q=[];w=[];Fa=3;M=25+Fa;T=80;eb=10;pa=new mxCell("",new mxGeometry(T,0,t-T,r),"part=1;");pa.vertex=!0;v.insert(pa);pa.style+=f(pa.style,h,u,pa);for(l=0;l<=h.Tabs-1;l++)l==h.Selected-1?(w[l]=new mxCell("",new mxGeometry(0,eb+l*M,T,M-Fa),""),w[l].vertex=!0,v.insert(w[l]),w[l].style+=k(h["Tab_"+(l+1)]),w[l].style+=f(w[l].style,h,u,w[l])):(q[l]=new mxCell("",new mxGeometry(0,eb+l*M,T,M-Fa),"strokeColor=none;"),
-q[l].vertex=!0,v.insert(q[l]),q[l].style+=f(q[l].style,h,u,q[l]),w[l]=new mxCell("",new mxGeometry(0,0,T,M-Fa),"fillColor=#000000;fillOpacity=25;"),w[l].vertex=!0,q[l].insert(w[l]),w[l].style+=k(h["Tab_"+(l+1)])),w[l].value=c(h["Tab_"+(l+1)]),0>w[l].style.indexOf(";align=")&&(w[l].style+="align=left;spacingLeft=2;"),w[l].style+=f(w[l].style,h,u,w[l]);ha=B(h,u);ha=ha.replace("strokeColor","fillColor2");""==ha&&(ha="fillColor2=#000000;");1==h.vScroll&&(w=1==h.hScroll?new mxCell("",new mxGeometry(1,
-0,20,r-20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"):new mxCell("",new mxGeometry(1,0,20,r),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"),w.geometry.relative=!0,w.geometry.offset=new mxPoint(-20,0),w.vertex=!0,v.insert(w),v.style+="spacingRight=20;",w.style+=ha,w.style+=f(w.style,h,u,w));1==h.hScroll&&(E=1==h.vScroll?new mxCell("",new mxGeometry(T,1,t-20-T,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"):
-new mxCell("",new mxGeometry(T,1,t-T,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"),E.geometry.relative=!0,E.geometry.offset=new mxPoint(0,-20),E.vertex=!0,v.insert(E),E.style+=ha,E.style+=f(E.style,h,u,E));break;case "UI2CheckBoxBlock":v.style+="strokeColor=none;fillColor=none;";M=r/h.Options;q=[];w=[];for(l=0;l<h.Options;l++)q[l]=new mxCell("",new mxGeometry(0,l*M+.5*M-5,10,10),"labelPosition=right;part=1;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=3;"),
-q[l].vertex=!0,v.insert(q[l]),q[l].style+=k(h["Option_"+(l+1)]),q[l].style+=f(q[l].style,h,u,q[l]),null!=h.Selected[l+1]&&1==h.Selected[l+1]&&(I=B(h,u),I=I.replace("strokeColor","fillColor"),""==I&&(I="fillColor=#000000;"),w[l]=new mxCell("",new mxGeometry(2,2,6,6),"shape=mxgraph.mscae.general.checkmark;part=1;"),w[l].vertex=!0,q[l].insert(w[l]),w[l].style+=I,w[l].style+=f(w[l].style,h,u,w[l])),q[l].value=c(h["Option_"+(l+1)]);break;case "UI2HorizontalCheckBoxBlock":v.style+="strokeColor=none;fillColor=none;";
-T=t/h.Options;q=[];w=[];for(l=0;l<h.Options;l++)q[l]=new mxCell("",new mxGeometry(l*T,.5*r-5,10,10),"labelPosition=right;part=1;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=3;"),q[l].vertex=!0,v.insert(q[l]),q[l].style+=k(h["Option_"+(l+1)]),q[l].style+=f(q[l].style,h,u,q[l]),null!=h.Selected[l+1]&&1==h.Selected[l+1]&&(I=B(h,u),I=I.replace("strokeColor","fillColor"),""==I&&(I="fillColor=#000000;"),w[l]=new mxCell("",new mxGeometry(2,2,6,6),"shape=mxgraph.mscae.general.checkmark;part=1;"),
-w[l].vertex=!0,q[l].insert(w[l]),w[l].style+=I,w[l].style+=f(w[l].style,h,u,w[l])),q[l].value=c(h["Option_"+(l+1)]);break;case "UI2RadioBlock":v.style+="strokeColor=none;fillColor=none;";M=r/h.Options;q=[];w=[];for(l=0;l<h.Options;l++)q[l]=new mxCell("",new mxGeometry(0,l*M+.5*M-5,10,10),"shape=ellipse;labelPosition=right;part=1;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=3;"),q[l].vertex=!0,v.insert(q[l]),q[l].style+=k(h["Option_"+(l+1)]),q[l].style+=f(q[l].style,h,u,
-q[l]),null!=h.Selected&&h.Selected==l+1&&(I=B(h,u),I=I.replace("strokeColor","fillColor"),""==I&&(I="fillColor=#000000;"),w[l]=new mxCell("",new mxGeometry(2.5,2.5,5,5),"shape=ellipse;"),w[l].vertex=!0,q[l].insert(w[l]),w[l].style+=I,w[l].style+=f(w[l].style,h,u,w[l])),q[l].value=c(h["Option_"+(l+1)]);break;case "UI2HorizontalRadioBlock":v.style+="strokeColor=none;fillColor=none;";T=t/h.Options;q=[];w=[];for(l=0;l<h.Options;l++)q[l]=new mxCell("",new mxGeometry(l*T,.5*r-5,10,10),"shape=ellipse;labelPosition=right;part=1;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=3;"),
-q[l].vertex=!0,v.insert(q[l]),q[l].style+=k(h["Option_"+(l+1)]),q[l].style+=f(q[l].style,h,u,q[l]),null!=h.Selected&&h.Selected==l+1&&(I=B(h,u),I=I.replace("strokeColor","fillColor"),""==I&&(I="fillColor=#000000;"),w[l]=new mxCell("",new mxGeometry(2,2,6,6),"shape=ellipse;part=1;"),w[l].vertex=!0,q[l].insert(w[l]),w[l].style+=I,w[l].style+=f(w[l].style,h,u,w[l])),q[l].value=c(h["Option_"+(l+1)]);break;case "UI2HSliderBlock":case "UI2VSliderBlock":v.style+="shape=mxgraph.mockup.forms.horSlider;sliderStyle=basic;handleStyle=handle;";
-"UI2VSliderBlock"==e.Class&&(v.style+="direction=south;");v.style+="sliderPos="+100*h.ScrollVal+";";v.style+=f(v.style,h,u,v);break;case "UI2DatePickerBlock":v.style+="strokeColor=none;fillColor=none;";q=new mxCell("",new mxGeometry(0,0,.6*t,r),"part=1;");q.vertex=!0;v.insert(q);q.style+=k(h.Date);v.style+=f(v.style,h,u,v);q.value=c(h.Date);I=B(h,u);I=I.replace("strokeColor","fillColor");""==I&&(I="fillColor=#000000;");w=new mxCell("",new mxGeometry(.75*t,0,.25*t,r),"part=1;shape=mxgraph.gmdl.calendar;");
-w.vertex=!0;v.insert(w);w.style+=I;w.style+=f(w.style,h,u,w);break;case "UI2SearchBlock":v.style+="shape=mxgraph.mockup.forms.searchBox;mainText=;flipH=1;align=left;spacingLeft=26;"+b(h.Search)+a(h.Search)+d(h.Search);v.style+=f(v.style,h,u,v);v.value=c(h.Search);break;case "UI2NumericStepperBlock":I=B(h,u);I=I.replace("strokeColor","fillColor");""==I&&(I="fillColor=#000000;");v.style+="shape=mxgraph.mockup.forms.spinner;spinLayout=right;spinStyle=normal;adjStyle=triangle;mainText=;align=left;spacingLeft=8;"+
-I+b(h.Number)+a(h.Number)+d(h.Number);v.style+=f(v.style,h,u,v);v.value=c(h.Number);break;case "UI2ButtonBarBlock":v.style+=f(v.style,h,u,v);q=[];w=[];T=t/h.Buttons;for(l=0;l<=h.Buttons-1;l++)l==h.Selected-1?(w[l]=new mxCell("",new mxGeometry(l*T,0,T,r),""),w[l].vertex=!0,v.insert(w[l])):(q[l]=new mxCell("",new mxGeometry(l*T,0,T,r),"strokeColor=none;"),q[l].vertex=!0,v.insert(q[l]),q[l].style+=q[l].style+=f(q[l].style,h,u,q[l]),w[l]=new mxCell("",new mxGeometry(0,0,T,r),"fillColor=#000000;fillOpacity=25;"),
-w[l].vertex=!0,q[l].insert(w[l])),w[l].style+=k(h["Button_"+(l+1)]),w[l].style+=f(w[l].style,h,u,w[l]),w[l].value=c(h["Button_"+(l+1)]);break;case "UI2VerticalButtonBarBlock":v.style+=f(v.style,h,u,v);q=[];w=[];M=r/h.Buttons;for(l=0;l<=h.Buttons-1;l++)l==h.Selected-1?(w[l]=new mxCell("",new mxGeometry(0,l*M,t,M),""),w[l].vertex=!0,v.insert(w[l])):(q[l]=new mxCell("",new mxGeometry(0,l*M,t,M),"strokeColor=none;"),q[l].vertex=!0,v.insert(q[l]),q[l].style+=f(q[l].style,h,u,q[l]),w[l]=new mxCell("",new mxGeometry(0,
-0,t,M),"fillColor=#000000;fillOpacity=25;"),w[l].vertex=!0,q[l].insert(w[l])),w[l].style+=k(h["Button_"+(l+1)]),w[l].style+=f(w[l].style,h,u,w[l]),w[l].value=c(h["Button_"+(l+1)]);break;case "UI2LinkBarBlock":v.style+="strokeColor=none;fillColor=none;";v.style+=f(v.style,h,u,v);q=[];w=[];T=t/h.Links;for(l=0;l<h.Links;l++)0!=l?(w[l]=new mxCell("",new mxGeometry(l*T,0,T,r),"shape=partialRectangle;top=0;bottom=0;right=0;fillColor=none;"),w[l].style+=f(w[l].style,h,u,w[l])):w[l]=new mxCell("",new mxGeometry(l*
-T,0,T,r),"fillColor=none;strokeColor=none;"),w[l].vertex=!0,v.insert(w[l]),w[l].style+=k(h["Link_"+(l+1)]),w[l].value=c(h["Link_"+(l+1)]);break;case "UI2BreadCrumbsBlock":v.style+="strokeColor=none;fillColor=none;";v.style+=f(v.style,h,u,v);q=[];w=[];T=t/h.Links;for(l=0;l<h.Links;l++)q[l]=new mxCell("",new mxGeometry(l*T,0,T,r),"fillColor=none;strokeColor=none;"),q[l].vertex=!0,v.insert(q[l]),q[l].style+=k(h["Link_"+(l+1)]),q[l].value=c(h["Link_"+(l+1)]);for(l=1;l<h.Links;l++)w[l]=new mxCell("",new mxGeometry(l/
-h.Links,.5,6,10),"shape=mxgraph.ios7.misc.right;"),w[l].geometry.relative=!0,w[l].geometry.offset=new mxPoint(-3,-5),w[l].vertex=!0,v.insert(w[l]);break;case "UI2MenuBarBlock":v.style+="strokeColor=none;";v.style+=f(v.style,h,u,v);q=[];T=t/(h.Buttons+1);for(l=0;l<=h.Buttons-1;l++)q[l]=l!=h.Selected-1?new mxCell("",new mxGeometry(0,0,T,r),"strokeColor=none;fillColor=none;resizeHeight=1;"):new mxCell("",new mxGeometry(0,0,T,r),"fillColor=#000000;fillOpacity=25;strokeColor=none;resizeHeight=1;"),q[l].geometry.relative=
-!0,q[l].geometry.offset=new mxPoint(l*T,0),q[l].vertex=!0,v.insert(q[l]),q[l].style+=k(h["MenuItem_"+(l+1)]),q[l].value=c(h["MenuItem_"+(l+1)]);break;case "UI2AtoZBlock":v.style+="fillColor=none;strokeColor=none;"+k(h.Text_0);v.value="0-9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z";break;case "UI2PaginationBlock":v.style+="fillColor=none;strokeColor=none;"+k(h.Text_prev);v.value=c(h.Text_prev)+" ";for(l=0;l<h.Links;l++)v.value+=c(h["Link_"+(l+1)])+" ";v.value+=c(h.Text_next);break;case "UI2ContextMenuBlock":v.style+=
-f(v.style,h,u,v);for(var H=[],cb=[],Ab=[],M=r/h.Lines,N=null,l=0;l<h.Lines;l++)null!=h["Item_"+(l+1)]&&(null==N&&(N=""+b(h["Item_"+(l+1)])+a(h["Item_"+(l+1)])+d(h["Item_"+(l+1)])),H[l]=new mxCell("",new mxGeometry(0,l*r/h.Lines,t,M),"strokeColor=none;fillColor=none;spacingLeft=20;align=left;html=1;"),H[l].vertex=!0,v.insert(H[l]),H[l].style+=N,H[l].value=c(h["Item_"+(l+1)])),null!=h.Icons[l+1]&&null!=H[l]&&("dot"==h.Icons[l+1]?(cb[l]=new mxCell("",new mxGeometry(0,.5,8,8),"shape=ellipse;strokeColor=none;"),
-cb[l].geometry.offset=new mxPoint(6,-4)):"check"==h.Icons[l+1]&&(cb[l]=new mxCell("",new mxGeometry(0,.5,7,8),"shape=mxgraph.mscae.general.checkmark;strokeColor=none;"),cb[l].geometry.offset=new mxPoint(6.5,-4)),null!=cb[l]&&(cb[l].geometry.relative=!0,cb[l].vertex=!0,H[l].insert(cb[l]),I=B(h,u),I=I.replace("strokeColor","fillColor"),""==I&&(I="fillColor=#000000;"),cb[l].style+=I)),null!=h["Shortcut_"+(l+1)]&&(null==N&&(N=""+b(h["Shortcut_"+(l+1)])+a(h["Shortcut_"+(l+1)])+d(h["Shortcut_"+(l+1)])),
-Ab[l]=new mxCell("",new mxGeometry(.6*t,l*r/h.Lines,.4*t,M),"strokeColor=none;fillColor=none;spacingRight=3;align=right;html=1;"),Ab[l].vertex=!0,v.insert(Ab[l]),Ab[l].style+=N,Ab[l].value=c(h["Shortcut_"+(l+1)])),null!=h.Dividers[l+1]&&(H[l]=new mxCell("",new mxGeometry(.05*t,l*r/h.Lines,.9*t,M),"shape=line;strokeWidth=0.25;"),H[l].vertex=!0,v.insert(H[l]),H[l].style+=B(h,u));break;case "UI2ProgressBarBlock":v.style+="shape=mxgraph.mockup.misc.progressBar;fillColor2=#888888;barPos="+100*h.ScrollVal+
-";";break;case "UI2TooltipSquareBlock":v.style+="html=1;shape=callout;flipV=1;base=13;size=7;position=0.5;position2=0.66;rounded=1;arcSize="+h.RoundCorners+";"+k(h.Tip);v.style+=f(v.style,h,u,v);v.value=c(h.Tip);break;case "UI2CalloutBlock":v.style+="shape=ellipse;"+k(h.Txt);v.style+=f(v.style,h,u,v);v.value=c(h.Txt);break;case "UI2AlertBlock":v.style+=k(h.Txt);v.style+=f(v.style,h,u,v);v.value=c(h.Txt);q=new mxCell("",new mxGeometry(0,0,t,30),"part=1;resizeHeight=0;");q.vertex=!0;v.insert(q);q.style+=
-k(h.Title);q.style+=f(q.style,h,u,q);q.value=c(h.Title);w=new mxCell("",new mxGeometry(1,.5,20,20),"part=1;shape=ellipse;strokeColor=#008cff;resizable=0;fillColor=none;html=1;");w.geometry.relative=!0;w.geometry.offset=new mxPoint(-25,-10);w.vertex=!0;q.insert(w);for(var tc=45*h.Buttons+(10*h.Buttons-1),E=[],l=0;l<h.Buttons;l++)E[l]=new mxCell("",new mxGeometry(.5,1,45,20),"part=1;html=1;"),E[l].geometry.relative=!0,E[l].geometry.offset=new mxPoint(.5*-tc+55*l,-40),E[l].vertex=!0,v.insert(E[l]),E[l].style+=
-k(h["Button_"+(l+1)]),E[l].style+=f(E[l].style,h,u,E[l]),E[l].value=c(h["Button_"+(l+1)]);break;case "UMLClassBlock":if(0==h.Simple){var N=D(h,u),Ca=Math.round(.6*h.TitleHeight),N=N.replace("fillColor","swimlaneFillColor");""==N&&(N="swimlaneFillColor=#ffffff;");v.style+="swimlane;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;"+N+"startSize="+Ca+";"+k(h.Title);v.style+=f(v.style,h,u,v);v.value=c(h.Title);
-for(var H=[],ic=[],ya=Ca/r,l=0;l<=h.Attributes;l++)0<l&&(ic[l]=new mxCell("",new mxGeometry(0,0,40,8),"line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;"),ic[l].vertex=!0,v.insert(ic[l])),M=0,l<h.Attributes?(M=h["Text"+(l+1)+"Percent"],ya+=M):M=1-ya,H[l]=new mxCell("",new mxGeometry(0,0,t,Math.round((r-Ca)*M)),"part=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),
-H[l].vertex=!0,v.insert(H[l]),H[l].style+=N+C(h,u,H[l])+b(h["Text"+(l+1)])+a(h["Text"+(l+1)])+d(h["Text"+(l+1)]),H[l].value=c(h["Text"+(l+1)])}else v.style+=k(h.Title),v.style+=f(v.style,h,u,v),v.value=c(h.Title);break;case "ERDEntityBlock":N=D(h,u);Ca=.6*h.Name_h;N=N.replace("fillColor","swimlaneFillColor");""==N&&(N="swimlaneFillColor=#ffffff;");v.style+="swimlane;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;"+
-N+"startSize="+Ca+";"+k(h.Name);v.style+=f(v.style,h,u,v);v.style=h.ShadedHeader?v.style+"fillColor=#e0e0e0;":v.style+D(h,u);v.value=c(h.Name);H=[];ya=Ca/r;for(l=0;l<h.Fields;l++)M=0,H[l]=new mxCell("",new mxGeometry(0,0,t,.6*h["Field"+(l+1)+"_h"]),"part=1;resizeHeight=0;strokeColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),H[l].vertex=!0,v.insert(H[l]),H[l].style+=N+b(h["Field"+(l+1)])+a(h["Field"+
-(l+1)])+d(h["Field"+(l+1)]),H[l].style=1==h.AltRows&&0!=l%2?H[l].style+"fillColor=#000000;opacity=5;":H[l].style+("fillColor=none;"+C(h,u,H[l])),H[l].value=c(h["Field"+(l+1)]);break;case "ERDEntityBlock2":N=D(h,u);Ca=.6*h.Name_h;N=N.replace("fillColor","swimlaneFillColor");""==N&&(N="swimlaneFillColor=#ffffff;");v.style+="swimlane;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;"+N+"startSize="+Ca+";"+k(h.Name);v.style=h.ShadedHeader?v.style+"fillColor=#e0e0e0;":v.style+
-D(h,u);v.style+=f(v.style,h,u,v);v.value=c(h.Name);var H=[],X=[],ya=Ca,Ga=30;null!=h.Column1&&(Ga=.6*h.Column1);for(l=0;l<h.Fields;l++)M=0,X[l]=new mxCell("",new mxGeometry(0,ya,Ga,.6*h["Key"+(l+1)+"_h"]),"strokeColor=none;part=1;resizeHeight=0;align=center;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),X[l].vertex=!0,v.insert(X[l]),X[l].style+=N+b(h["Key"+(l+1)])+a(h["Key"+(l+1)])+d(h["Key"+(l+1)]),X[l].style=1==h.AltRows&&
-0!=l%2?X[l].style+"fillColor=#000000;fillOpacity=5;":X[l].style+("fillColor=none;"+C(h,u,X[l])),X[l].value=c(h["Key"+(l+1)]),H[l]=new mxCell("",new mxGeometry(Ga,ya,t-Ga,.6*h["Field"+(l+1)+"_h"]),"shape=partialRectangle;top=0;right=0;bottom=0;part=1;resizeHeight=0;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),H[l].vertex=!0,v.insert(H[l]),H[l].style+=N+b(h["Field"+(l+1)])+a(h["Field"+(l+1)])+d(h["Field"+(l+
-1)]),v.style+=f(v.style,h,u,v),H[l].style=1==h.AltRows&&0!=l%2?H[l].style+"fillColor=#000000;fillOpacity=5;":H[l].style+("fillColor=none;"+C(h,u,H[l])),H[l].value=c(h["Field"+(l+1)]),ya+=.6*h["Key"+(l+1)+"_h"];break;case "ERDEntityBlock3":N=D(h,u);Ca=.6*h.Name_h;N=N.replace("fillColor","swimlaneFillColor");""==N&&(N="swimlaneFillColor=#ffffff;");v.style+="swimlane;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;"+N+"startSize="+Ca+";"+k(h.Name);v.style=h.ShadedHeader?v.style+
-"fillColor=#e0e0e0;":v.style+D(h,u);v.style+=f(v.style,h,u,v);v.value=c(h.Name);H=[];X=[];ya=Ca;Ga=30;null!=h.Column1&&(Ga=.6*h.Column1);for(l=0;l<h.Fields;l++)M=0,X[l]=new mxCell("",new mxGeometry(0,ya,Ga,.6*h["Field"+(l+1)+"_h"]),"strokeColor=none;part=1;resizeHeight=0;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),X[l].vertex=!0,v.insert(X[l]),X[l].style+=N+b(h["Field"+(l+1)])+a(h["Field"+(l+1)])+d(h["Field"+
-(l+1)]),X[l].style=1==h.AltRows&&0!=l%2?X[l].style+"fillColor=#000000;fillOpacity=5;":X[l].style+("fillColor=none;"+C(h,u,X[l])),X[l].style+=f(X[l].style,h,u,X[l]),X[l].value=c(h["Field"+(l+1)]),H[l]=new mxCell("",new mxGeometry(Ga,ya,t-Ga,.6*h["Type"+(l+1)+"_h"]),"shape=partialRectangle;top=0;right=0;bottom=0;part=1;resizeHeight=0;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),H[l].vertex=!0,v.insert(H[l]),
-H[l].style+=N+b(h["Type"+(l+1)])+a(h["Type"+(l+1)])+d(h["Type"+(l+1)]),H[l].style=1==h.AltRows&&0!=l%2?H[l].style+"fillColor=#000000;fillOpacity=5;":H[l].style+("fillColor=none;"+C(h,u,H[l])),H[l].style+=f(H[l].style,h,u,H[l]),H[l].value=c(h["Type"+(l+1)]),ya+=.6*h["Field"+(l+1)+"_h"];break;case "ERDEntityBlock4":N=D(h,u);Ca=.6*h.Name_h;N=N.replace("fillColor","swimlaneFillColor");""==N&&(N="swimlaneFillColor=#ffffff;");v.style+="swimlane;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;"+
-N+"startSize="+Ca+";"+k(h.Name);v.style=h.ShadedHeader?v.style+"fillColor=#e0e0e0;":v.style+D(h,u);v.style+=f(v.style,h,u,v);v.value=c(h.Name);var H=[],X=[],Ha=[],ya=Ca,Ga=30,bc=40;null!=h.Column1&&(Ga=.6*h.Column1);null!=h.Column2&&(bc=.6*h.Column2);for(l=0;l<h.Fields;l++)M=0,X[l]=new mxCell("",new mxGeometry(0,ya,Ga,.6*h["Key"+(l+1)+"_h"]),"strokeColor=none;part=1;resizeHeight=0;align=center;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),
-X[l].vertex=!0,v.insert(X[l]),X[l].style+=N+b(h["Key"+(l+1)])+a(h["Key"+(l+1)])+d(h["Key"+(l+1)]),X[l].style=1==h.AltRows&&0!=l%2?X[l].style+"fillColor=#000000;fillOpacity=5;":X[l].style+("fillColor=none;"+C(h,u,X[l])),X[l].style+=f(X[l].style,h,u,X[l]),X[l].value=c(h["Key"+(l+1)]),H[l]=new mxCell("",new mxGeometry(Ga,ya,t-Ga-bc,.6*h["Field"+(l+1)+"_h"]),"shape=partialRectangle;top=0;right=0;bottom=0;part=1;resizeHeight=0;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),
-H[l].vertex=!0,v.insert(H[l]),H[l].style+=N+b(h["Field"+(l+1)])+a(h["Field"+(l+1)])+d(h["Field"+(l+1)]),H[l].style=1==h.AltRows&&0!=l%2?H[l].style+"fillColor=#000000;fillOpacity=5;":H[l].style+("fillColor=none;"+C(h,u,H[l])),H[l].style+=f(H[l].style,h,u,H[l]),H[l].value=c(h["Field"+(l+1)]),Ha[l]=new mxCell("",new mxGeometry(t-bc,ya,bc,.6*h["Type"+(l+1)+"_h"]),"shape=partialRectangle;top=0;right=0;bottom=0;part=1;resizeHeight=0;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),
-Ha[l].vertex=!0,v.insert(Ha[l]),Ha[l].style+=N+b(h["Type"+(l+1)])+a(h["Type"+(l+1)])+d(h["Type"+(l+1)]),Ha[l].style=1==h.AltRows&&0!=l%2?Ha[l].style+"fillColor=#000000;fillOpacity=5;":Ha[l].style+("fillColor=none;"+C(h,u,Ha[l])),Ha[l].style+=f(Ha[l].style,h,u,Ha[l]),Ha[l].value=c(h["Type"+(l+1)]),ya+=.6*h["Key"+(l+1)+"_h"];break;case "GCPServiceCardApplicationSystemBlock":ea("application_system",t,r,v,h,u);break;case "GCPServiceCardAuthorizationBlock":ea("internal_payment_authorization",t,r,v,h,u);
-break;case "GCPServiceCardBlankBlock":ea("blank",t,r,v,h,u);break;case "GCPServiceCardReallyBlankBlock":ea("blank",t,r,v,h,u);break;case "GCPServiceCardBucketBlock":ea("bucket",t,r,v,h,u);break;case "GCPServiceCardCDNInterconnectBlock":ea("google_network_edge_cache",t,r,v,h,u);break;case "GCPServiceCardCloudDNSBlock":ea("blank",t,r,v,h,u);break;case "GCPServiceCardClusterBlock":ea("cluster",t,r,v,h,u);break;case "GCPServiceCardDiskSnapshotBlock":ea("persistent_disk_snapshot",t,r,v,h,u);break;case "GCPServiceCardEdgePopBlock":ea("google_network_edge_cache",
-t,r,v,h,u);break;case "GCPServiceCardFrontEndPlatformServicesBlock":ea("frontend_platform_services",t,r,v,h,u);break;case "GCPServiceCardGatewayBlock":ea("gateway",t,r,v,h,u);break;case "GCPServiceCardGoogleNetworkBlock":ea("google_network_edge_cache",t,r,v,h,u);break;case "GCPServiceCardImageServicesBlock":ea("image_services",t,r,v,h,u);break;case "GCPServiceCardLoadBalancerBlock":ea("network_load_balancer",t,r,v,h,u);break;case "GCPServiceCardLocalComputeBlock":ea("dedicated_game_server",t,r,v,
-h,u);break;case "GCPServiceCardLocalStorageBlock":ea("persistent_disk_snapshot",t,r,v,h,u);break;case "GCPServiceCardLogsAPIBlock":ea("logs_api",t,r,v,h,u);break;case "GCPServiceCardMemcacheBlock":ea("memcache",t,r,v,h,u);break;case "GCPServiceCardNATBlock":ea("nat",t,r,v,h,u);break;case "GCPServiceCardPaymentFormBlock":ea("external_payment_form",t,r,v,h,u);break;case "GCPServiceCardPushNotificationsBlock":ea("push_notification_service",t,r,v,h,u);break;case "GCPServiceCardScheduledTasksBlock":ea("scheduled_tasks",
-t,r,v,h,u);break;case "GCPServiceCardServiceDiscoveryBlock":ea("service_discovery",t,r,v,h,u);break;case "GCPServiceCardSquidProxyBlock":ea("squid_proxy",t,r,v,h,u);break;case "GCPServiceCardTaskQueuesBlock":ea("task_queues",t,r,v,h,u);break;case "GCPServiceCardVirtualFileSystemBlock":ea("virtual_file_system",t,r,v,h,u);break;case "GCPServiceCardVPNGatewayBlock":ea("gateway",t,r,v,h,u);break;case "GCPInputDatabase":ja("database",1,.9,t,r,v,h,u);break;case "GCPInputRecord":ja("record",1,.66,t,r,v,
-h,u);break;case "GCPInputPayment":ja("payment",1,.8,t,r,v,h,u);break;case "GCPInputGateway":ja("gateway_icon",1,.44,t,r,v,h,u);break;case "GCPInputLocalCompute":ja("compute_engine_icon",1,.89,t,r,v,h,u);break;case "GCPInputBeacon":ja("beacon",.73,1,t,r,v,h,u);break;case "GCPInputStorage":ja("storage",1,.8,t,r,v,h,u);break;case "GCPInputList":ja("list",.89,1,t,r,v,h,u);break;case "GCPInputStream":ja("stream",1,.82,t,r,v,h,u);break;case "GCPInputMobileDevices":ja("mobile_devices",1,.73,t,r,v,h,u);break;
-case "GCPInputCircuitBoard":ja("circuit_board",1,.9,t,r,v,h,u);break;case "GCPInputLive":ja("live",.74,1,t,r,v,h,u);break;case "GCPInputUsers":ja("users",1,.63,t,r,v,h,u);break;case "GCPInputLaptop":ja("laptop",1,.66,t,r,v,h,u);break;case "GCPInputApplication":ja("application",1,.8,t,r,v,h,u);break;case "GCPInputLightbulb":ja("lightbulb",.7,1,t,r,v,h,u);break;case "GCPInputGame":ja("game",1,.54,t,r,v,h,u);break;case "GCPInputDesktop":ja("desktop",1,.9,t,r,v,h,u);break;case "GCPInputDesktopAndMobile":ja("desktop_and_mobile",
-1,.66,t,r,v,h,u);break;case "GCPInputWebcam":ja("webcam",.5,1,t,r,v,h,u);break;case "GCPInputSpeaker":ja("speaker",.7,1,t,r,v,h,u);break;case "GCPInputRetail":ja("retail",1,.89,t,r,v,h,u);break;case "GCPInputReport":ja("report",1,1,t,r,v,h,u);break;case "GCPInputPhone":ja("phone",.64,1,t,r,v,h,u);break;case "GCPInputBlank":ja("transparent",1,1,t,r,v,h,u)}return v}var pb=["AEUSBBlock","AGSCutandpasteBlock","iOSDeviceiPadLandscape","iOSDeviceiPadProLandscape"],Xb=["fpDoor"],la={None:"none",Arrow:"block;endFill=1",
+new mxPoint(.45*-t,0)):"EIGuaranteedDeliveryBlock"==e.Class&&(q=new mxCell("",new mxGeometry(.5,.5,20,27),"shape=cylinder;fillColor=#818181;part=1;"),q.geometry.offset=new mxPoint(-10,-7));q.geometry.relative=!0;q.vertex=!0;v.insert(q);q.style+=f(q.style,g,u,q);S=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=none;rounded=0;endArrow=block;dashed=0;html=1;strokeColor=#818181;strokeWidth=1;endFill=1;endSize=6;");S.geometry.relative=!0;S.edge=!0;ga(.15*t,.25*r,.85*t,.25*r,S,m,H,ca,v,X);break;case "EIChannelAdapterBlock":v.style+=
+"verticalLabelPosition=bottom;verticalAlign=top;";v.style+=f(v.style,g,u,v);v.value=c(g.Text);q=new mxCell("",new mxGeometry(0,.07*r,.21*t,.86*r),"fillColor=#FFFF33;part=1;");q.vertex=!0;v.insert(q);q.style+=f(q.style,g,u,q);w=new mxCell("",new mxGeometry(.26*t,.09*r,.2*t,.82*r),"shape=mxgraph.eip.channel_adapter;fillColor=#4CA3D9;part=1;");w.vertex=!0;v.insert(w);w.style+=f(w.style,g,u,w);E=new mxCell("",new mxGeometry(1,.5,.35*t,20),"shape=mxgraph.eip.messageChannel;fillColor=#818181;part=1;");
+E.geometry.relative=!0;E.geometry.offset=new mxPoint(.4*-t,-10);E.vertex=!0;v.insert(E);E.style+=f(E.style,g,u,E);L=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=1;exitY=0.5;entryX=0;entryY=0.5;endArrow=none;dashed=0;html=1;strokeWidth=1;endFill=1;endSize=2;");L.geometry.relative=!0;L.edge=!0;q.insertEdge(L,!0);w.insertEdge(L,!1);L.style+=C(g,u);m.push(H.addCell(L,null,null,null,null));K=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=1;exitY=0.5;entryX=0;entryY=0.5;endArrow=block;startArrow=block;dashed=0;html=1;strokeColor=#818181;strokeWidth=1;endFill=1;endSize=2;startFill=1;startSize=2;");
+K.geometry.relative=!0;K.edge=!0;w.insertEdge(K,!0);E.insertEdge(K,!1);m.push(H.addCell(K,null,null,null,null));break;case "EIMessageBlock":case "EICommandMessageBlock":case "EIDocumentMessageBlock":case "EIEventMessageBlock":v.style+="strokeColor=none;fillColor=none;verticalLabelPosition=bottom;verticalAlign=top;";v.style+=f(v.style,g,u,v);v.value=c(g.Text);q=new mxCell("",new mxGeometry(0,0,17,17),"shape=ellipse;fillColor=#808080;part=1;");q.vertex=!0;v.insert(q);q.style+=f(q.style,g,u,q);for(var Rb=
+g.Messages,cc=(r-17)/Rb,w=[],S=[],l=0;l<Rb;l++){var Sb=cc*(l+1)-3;w[l]=new mxCell("",new mxGeometry(t-20,Sb,20,20),"part=1;");w[l].vertex=!0;v.insert(w[l]);switch(e.Class){case "EIMessageBlock":w[l].value=c(g["message_"+(l+1)]);w.style+=k(g["message_"+(l+1)]);break;case "EICommandMessageBlock":w[l].value="C";w[l].style+="fontStyle=1;fontSize=11;";break;case "EIDocumentMessageBlock":w[l].value="D";w[l].style+="fontStyle=1;fontSize=11;";break;case "EIEventMessageBlock":w[l].value="E",w[l].style+="fontStyle=1;fontSize=11;"}w[l].style+=
+f(w[l].style,g,u,w[l]);S[l]=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;");S[l].geometry.relative=!0;S[l].edge=!0;q.insertEdge(S[l],!1);w[l].insertEdge(S[l],!0);S[l].style+=f(S[l].style,g,u,S[l]);var kb=[];kb.push(new mxPoint(V+8.5,ba+Sb+10));S[l].geometry.points=kb;m.push(H.addCell(S[l],null,null,null,null))}break;case "EIMessageEndpointBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.style+=f(v.style,
+g,u,v);v.value=c(g.Text);q=new mxCell("",new mxGeometry(.45*t,.25*r,.3*t,.5*r),"part=1;fillColor=#ffffff");q.vertex=!0;v.insert(q);q.style+=f(q.style,g,u,q);S=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=none;rounded=0;endArrow=block;dashed=0;html=1;strokeColor=#818181;strokeWidth=1;endFill=1;endSize=6;");S.geometry.relative=!0;S.edge=!0;ga(0,.5*r,.4*t,.5*r,S,m,H,ca,v,X);break;case "EIPublishSubscribeChannelBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.style+=f(v.style,g,
+u,v);v.value=c(g.Text);var L=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=none;rounded=0;endArrow=block;dashed=0;html=1;strokeColor=#818181;strokeWidth=1;endFill=1;endSize=6;");L.geometry.relative=!0;L.edge=!0;ga(.05*t,.5*r,.85*t,.5*r,L,m,H,ca,v,X);var K=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;rounded=0;endArrow=block;dashed=0;html=1;strokeColor=#818181;strokeWidth=1;endFill=1;endSize=6;");K.geometry.relative=!0;K.edge=!0;ga(.05*t,.5*r,.85*t,.15*r,K,m,H,ca,v,X);var P=new mxCell("",
+new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;rounded=0;endArrow=block;dashed=0;html=1;strokeColor=#818181;strokeWidth=1;endFill=1;endSize=6;");P.geometry.relative=!0;P.edge=!0;ga(.05*t,.5*r,.85*t,.85*r,P,m,H,ca,v,X);break;case "EIMessageBusBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.style+=f(v.style,g,u,v);v.value=c(g.Text);L=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=none;rounded=0;endArrow=block;dashed=0;html=1;strokeWidth=1;endFill=1;endSize=4;startArrow=block;startFill=1;startSize=4;");
+L.geometry.relative=!0;L.edge=!0;L.style+=C(g,u);ga(.05*t,.5*r,.95*t,.5*r,L,m,H,ca,v,X);K=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;rounded=0;endArrow=block;dashed=0;html=1;strokeWidth=1;endFill=1;endSize=4;startArrow=block;startFill=1;startSize=4;");K.geometry.relative=!0;K.edge=!0;K.style+=C(g,u);ga(.3*t,.1*r,.3*t,.5*r,K,m,H,ca,v,X);P=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;rounded=0;endArrow=block;dashed=0;html=1;strokeWidth=1;endFill=1;endSize=4;startArrow=block;startFill=1;startSize=4;");
+P.geometry.relative=!0;P.edge=!0;P.style+=C(g,u);ga(.7*t,.1*r,.7*t,.5*r,P,m,H,ca,v,X);var ka=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;rounded=0;endArrow=block;dashed=0;html=1;strokeWidth=1;endFill=1;endSize=4;startArrow=block;startFill=1;startSize=4;");ka.geometry.relative=!0;ka.edge=!0;ka.style+=C(g,u);ga(.5*t,.5*r,.5*t,.9*r,ka,m,H,ca,v,X);break;case "EIRequestReplyBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.style+=f(v.style,g,u,v);v.value=c(g.Text);
+q=new mxCell("",new mxGeometry(.2*t,.21*r,.16*t,.24*r),"part=1;fillColor=#ffffff;");q.vertex=!0;v.insert(q);q.style+=f(q.style,g,u,q);L=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=none;rounded=0;endArrow=block;dashed=0;html=1;strokeColor=#818181;strokeWidth=1;endFill=1;endSize=6;");L.geometry.relative=!0;L.edge=!0;ga(.45*t,.33*r,.8*t,.33*r,L,m,H,ca,v,X);w=new mxCell("",new mxGeometry(.64*t,.55*r,.16*t,.24*r),"part=1;fillColor=#ffffff;");w.vertex=!0;v.insert(w);w.style+=f(w.style,g,u,w);K=new mxCell("",
+new mxGeometry(0,0,0,0),"edgeStyle=none;rounded=0;endArrow=block;dashed=0;html=1;strokeColor=#818181;strokeWidth=1;endFill=1;endSize=6;");K.geometry.relative=!0;K.edge=!0;ga(.55*t,.67*r,.2*t,.67*r,K,m,H,ca,v,X);break;case "EIReturnAddressBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.style+=f(v.style,g,u,v);v.value=c(g.Text);q=new mxCell("",new mxGeometry(.1*t,.15*r,.8*t,.7*r),"part=1;shape=mxgraph.eip.retAddr;fillColor=#FFE040;");q.vertex=!0;v.insert(q);q.style+=f(q.style,g,
+u,q);break;case "EICorrelationIDBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.style+=f(v.style,g,u,v);v.value=c(g.Text);q=new mxCell("",new mxGeometry(.04*t,.06*r,.18*t,.28*r),"shape=ellipse;fillColor=#808080;part=1;");q.vertex=!0;v.insert(q);q.style+=f(q.style,g,u,q);w=new mxCell("",new mxGeometry(.2*t,.56*r,.2*t,.32*r),"part=1;");w.vertex=!0;v.insert(w);w.value="A";w.style+="fontStyle=1;fontSize=11;";q.style+=f(q.style,g,u,q);L=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;part=1;");
+L.geometry.relative=!0;L.edge=!0;q.insertEdge(L,!1);w.insertEdge(L,!0);L.style+=f(L.style,g,u,L);kb=[];kb.push(new mxPoint(V+.13*t,ba+.72*r));L.geometry.points=kb;m.push(H.addCell(L,null,null,null,null));E=new mxCell("",new mxGeometry(.6*t,.06*r,.18*t,.28*r),"shape=ellipse;fillColor=#808080;part=1;");E.vertex=!0;v.insert(E);E.style+=C(g,u)+aa(g);E.style+=f(E.style,g,u,E);O=new mxCell("",new mxGeometry(.76*t,.56*r,.2*t,.32*r),"part=1;");O.vertex=!0;v.insert(O);O.style+=C(g,u)+B(g,u,O)+aa(g)+Q(g);O.value=
+"B";O.style+="fontStyle=1;fontSize=11;fillColor=#ffffff;";O.style+=f(O.style,g,u,O);K=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;part=1;");K.geometry.relative=!0;K.edge=!0;E.insertEdge(K,!1);O.insertEdge(K,!0);K.style+=f(K.style,g,u,K);var oc=[];oc.push(new mxPoint(V+.69*t,ba+.72*r));K.geometry.points=oc;m.push(H.addCell(K,null,null,null,null));P=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;endArrow=block;endFill=1;endSize=6;part=1;");
+P.geometry.relative=!0;P.edge=!0;q.insertEdge(P,!1);E.insertEdge(P,!0);P.style+=f(P.style,g,u,P);m.push(H.addCell(P,null,null,null,null));break;case "EIMessageSequenceBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.style+=f(v.style,g,u,v);v.value=c(g.Text);q=new mxCell("1",new mxGeometry(.2*t,.4*r,.1*t,.19*r),"fontStyle=1;fillColor=#ffffff;fontSize=11;part=1;");q.vertex=!0;v.insert(q);q.style+=f(q.style,g,u,q);w=new mxCell("2",new mxGeometry(.45*t,.4*r,.1*t,.19*r),"fontStyle=1;fillColor=#ffffff;fontSize=11;part=1;");
+w.vertex=!0;v.insert(w);w.style+=f(w.style,g,u,w);E=new mxCell("3",new mxGeometry(.7*t,.4*r,.1*t,.19*r),"fontStyle=1;fillColor=#ffffff;fontSize=11;part=1;");E.vertex=!0;v.insert(E);E.style+=f(E.style,g,u,E);L=new mxCell("",new mxGeometry(0,0,0,0),"curved=1;endArrow=block;html=1;endSize=3;part=1;");q.insertEdge(L,!1);w.insertEdge(L,!0);L.geometry.points=[new mxPoint(V+.375*t,ba+.15*r)];L.geometry.relative=!0;L.edge=!0;L.style+=f(L.style,g,u,L);m.push(H.addCell(L,null,null,null,null));K=new mxCell("",
+new mxGeometry(0,0,0,0),"curved=1;endArrow=block;html=1;endSize=3;part=1;");w.insertEdge(K,!1);E.insertEdge(K,!0);K.geometry.points=[new mxPoint(V+.675*t,ba+.15*r)];K.geometry.relative=!0;K.edge=!0;K.style+=f(K.style,g,u,K);m.push(H.addCell(K,null,null,null,null));break;case "EIMessageExpirationBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.style+=f(v.style,g,u,v);v.value=c(g.Text);q=new mxCell("",new mxGeometry(.3*t,.2*r,.4*t,.6*r),"shape=mxgraph.ios7.icons.clock;fillColor=#ffffff;flipH=1;part=1;");
+q.vertex=!0;v.insert(q);q.style+=f(q.style,g,u,q);break;case "EIMessageBrokerBlock":v.style+="strokeColor=none;fillColor=none;verticalLabelPosition=bottom;verticalAlign=top;";v.style+=f(v.style,g,u,v);v.value=c(g.Text);q=new mxCell("",new mxGeometry(.38*t,.42*r,.24*t,.16*r),"part=1;fillColor=#aefe7d;");q.vertex=!0;v.insert(q);q.style+=f(q.style,g,u,q);w=new mxCell("",new mxGeometry(.38*t,0,.24*t,.16*r),"part=1;");w.vertex=!0;v.insert(w);w.style+=f(w.style,g,u,w);E=new mxCell("",new mxGeometry(.76*
+t,.23*r,.24*t,.16*r),"");E.vertex=!0;v.insert(E);E.style=w.style;var O=new mxCell("",new mxGeometry(.76*t,.61*r,.24*t,.16*r),"");O.vertex=!0;v.insert(O);O.style=w.style;var Xb=new mxCell("",new mxGeometry(.38*t,.84*r,.24*t,.16*r),"");Xb.vertex=!0;v.insert(Xb);Xb.style=w.style;var Yb=new mxCell("",new mxGeometry(0,.61*r,.24*t,.16*r),"");Yb.vertex=!0;v.insert(Yb);Yb.style=w.style;var Zb=new mxCell("",new mxGeometry(0,.23*r,.24*t,.16*r),"");Zb.vertex=!0;v.insert(Zb);Zb.style=w.style;L=new mxCell("",
+new mxGeometry(0,0,0,0),"endArrow=none;part=1;");q.insertEdge(L,!1);w.insertEdge(L,!0);L.edge=!0;L.style+=f(L.style,g,u,L);m.push(H.addCell(L,null,null,null,null));K=new mxCell("",new mxGeometry(0,0,0,0),"endArrow=none;part=1;");q.insertEdge(K,!1);E.insertEdge(K,!0);K.edge=!0;K.style+=f(K.style,g,u,K);m.push(H.addCell(K,null,null,null,null));P=new mxCell("",new mxGeometry(0,0,0,0),"endArrow=none;part=1;");q.insertEdge(P,!1);O.insertEdge(P,!0);P.edge=!0;P.style+=f(P.style,g,u,P);m.push(H.addCell(P,
+null,null,null,null));ka=new mxCell("",new mxGeometry(0,0,0,0),"endArrow=none;part=1;");q.insertEdge(ka,!1);Xb.insertEdge(ka,!0);ka.edge=!0;ka.style+=f(ka.style,g,u,ka);m.push(H.addCell(ka,null,null,null,null));var lb=new mxCell("",new mxGeometry(0,0,0,0),"endArrow=none;part=1;");q.insertEdge(lb,!1);Yb.insertEdge(lb,!0);lb.edge=!0;lb.style+=f(lb.style,g,u,lb);m.push(H.addCell(lb,null,null,null,null));var mb=new mxCell("",new mxGeometry(0,0,0,0),"endArrow=none;part=1;");q.insertEdge(mb,!1);Zb.insertEdge(mb,
+!0);mb.edge=!0;mb.style+=f(mb.style,g,u,mb);m.push(H.addCell(mb,null,null,null,null));break;case "EIDurableSubscriberBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.style+=f(v.style,g,u,v);v.value=c(g.Text);L=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;rounded=0;endArrow=block;endFill=1;endSize=6;");L.geometry.relative=!0;L.edge=!0;ga(.05*t,.5*r,.6*t,.25*r,L,m,H,ca,v,X);K=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;rounded=0;endArrow=block;endFill=1;endSize=6;");
+K.geometry.relative=!0;K.edge=!0;ga(.05*t,.5*r,.6*t,.75*r,K,m,H,ca,v,X);q=new mxCell("",new mxGeometry(.7*t,.1*r,.15*t,.32*r),"shape=mxgraph.eip.durable_subscriber;part=1;fillColor=#818181;");q.vertex=!0;v.insert(q);q.style+=f(q.style,g,u,q);break;case "EIControlBusBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.style+=f(v.style,g,u,v);v.value=c(g.Text);q=new mxCell("",new mxGeometry(.25*t,.25*r,.5*t,.5*r),"shape=mxgraph.eip.control_bus;part=1;");q.vertex=!0;v.insert(q);q.style+=
+f(q.style,g,u,q);break;case "EIMessageHistoryBlock":v.style+="strokeColor=none;fillColor=none;verticalLabelPosition=bottom;verticalAlign=top;";v.style+=f(v.style,g,u,v);v.value=c(g.Text);q=new mxCell("",new mxGeometry(0,0,17,17),"shape=ellipse;fillColor=#808080;part=1;");q.vertex=!0;v.insert(q);q.style+=f(q.style,g,u,q);E=new mxCell("",new mxGeometry(t-45,30,30,20),"shape=mxgraph.mockup.misc.mail2;fillColor=#FFE040;part=1;");E.vertex=!0;v.insert(E);E.style+=f(E.style,g,u,E);P=new mxCell("",new mxGeometry(0,
+0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;");P.geometry.relative=!0;P.edge=!0;q.insertEdge(P,!1);E.insertEdge(P,!0);P.style+=f(P.style,g,u,P);P.geometry.points=[new mxPoint(V+8.5,ba+40)];m.push(H.addCell(P,null,null,null,null));O=new mxCell("",new mxGeometry(t-45,r-20,20,20),"part=1;");O.vertex=!0;v.insert(O);O.value=c(g.message_0);O.style+=k(g.message_0);O.style+=f(O.style,g,u,O);ka=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;");
+ka.geometry.relative=!0;ka.edge=!0;q.insertEdge(ka,!1);O.insertEdge(ka,!0);ka.style+=f(ka.style,g,u,ka);ka.geometry.points=[new mxPoint(V+8.5,ba+r-10)];m.push(H.addCell(ka,null,null,null,null));Rb=g.HistoryMessages;cc=(r-75)/Rb;w=[];S=[];for(l=0;l<Rb;l++)Sb=cc*(l+1)+30,w[l]=new mxCell("",new mxGeometry(t-20,Sb,20,20),"part=1;"),w[l].vertex=!0,w[l].value=c(g["message_"+(l+1)]),w.style+=k(g["message_"+(l+1)]),v.insert(w[l]),w[l].style+=f(w[l].style,g,u,w[l]),S[l]=new mxCell("",new mxGeometry(0,0,0,
+0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;"),S[l].geometry.relative=!0,S[l].edge=!0,E.insertEdge(S[l],!1),w[l].insertEdge(S[l],!0),S[l].style+=f(S[l].style,g,u,S[l]),kb=[],kb.push(new mxPoint(V+t-30,ba+Sb+10)),S[l].geometry.points=kb,m.push(H.addCell(S[l],null,null,null,null));break;case "fpDoor":v.style+="shape=mxgraph.floorplan.doorRight;";0>g.DoorAngle&&(v.style+="flipV=1;");v.style+=f(v.style,g,u,v);break;case "fpDoubleDoor":v.style+="shape=mxgraph.floorplan.doorDouble;";
+0<g.DoorAngle&&(v.style+="flipV=1;");v.style+=f(v.style,g,u,v);break;case "fpRestroomLights":v.style+="strokeColor=none;fillColor=none;";v.style+=f(v.style,g,u,v);q=new mxCell("",new mxGeometry(0,0,t,.25*r),"part=1;");q.vertex=!0;v.insert(q);q.style+=f(q.style,g,u,q);for(var w=[],pc=.02*t,dc=(t-2*pc)/g.LightCount,qc=.8*dc,l=0;l<g.LightCount;l++)w[l]=new mxCell("",new mxGeometry(pc+dc*l+(dc-qc)/2,.25*r,qc,.75*r),"part=1;shape=ellipse;"),w[l].vertex=!0,v.insert(w[l]),w[l].style+=f(w[l].style,g,u,w[l]);
+break;case "fpRestroomSinks":v.style+="strokeColor=none;fillColor=none;";v.style+=f(v.style,g,u,v);for(var q=[],rc=t/g.SinkCount,l=0;l<g.SinkCount;l++)q[l]=new mxCell("",new mxGeometry(rc*l,0,rc,r),"part=1;shape=mxgraph.floorplan.sink_2;"),q[l].vertex=!0,v.insert(q[l]),q[l].style+=f(q[l].style,g,u,q[l]);break;case "fpRestroomStalls":v.style+="strokeColor=none;fillColor=none;";var Ba=.1*t/g.StallCount,q=new mxCell("",new mxGeometry(0,0,Ba,r),"fillColor=#000000;part=1;");q.vertex=!0;v.insert(q);q.style+=
+f(q.style,g,u,q);for(var Ja=(t-Ba)/g.StallCount,ec=[],Tb=[],Ub=[],Vb=[],J=C(g,u),J=""==J?"#000000;":J.replace("stokreColor=",""),$b="part=1;fillColor="+J,$b=$b+f($b,g,u,v),fc=f("",g,u,v),l=0;l<g.StallCount;l++)ec[l]=new mxCell("",new mxGeometry((l+1)*Ja,0,Ba,r),$b),ec[l].vertex=!0,v.insert(ec[l]),Ub[l]=new mxCell("",new mxGeometry(Ba+l*Ja+.05*(Ja-Ba),r-.92*(Ja-Ba),.9*(Ja-Ba),.92*(Ja-Ba)),"shape=mxgraph.floorplan.doorRight;flipV=1;part=1;"),Ub[l].vertex=!0,v.insert(Ub[l]),Ub[l].style+=fc,Tb[l]=new mxCell("",
+new mxGeometry(Ba+l*Ja+.2*(Ja-Ba),0,.6*(Ja-Ba),.8*(Ja-Ba)),"shape=mxgraph.floorplan.toilet;part=1;"),Tb[l].vertex=!0,v.insert(Tb[l]),Tb[l].style+=fc,Vb[l]=new mxCell("",new mxGeometry(Ba+l*Ja,.42*r,.15*(Ja-Ba),.12*(Ja-Ba)),"part=1;"),Vb[l].vertex=!0,v.insert(Vb[l]),Vb[l].style+=fc;break;case "PEOneToMany":v.style+="strokeColor=none;fillColor=none;";var La="edgeStyle=none;endArrow=none;part=1;";La.style+=f(La.style,g,u,La);var J=C(g,u),J=""==J?"#000000;":J.replace("strokeColor=",""),nb="shape=triangle;part=1;fillColor="+
+J,nb=nb+f(nb,g,u,v),L=new mxCell("",new mxGeometry(0,0,0,0),La);L.geometry.relative=!0;L.edge=!0;ga(0,.5*r,.65*t,.5*r,L,m,H,ca,v,X);for(var M=r/g.numLines,K=[],qb=[],l=0;l<g.numLines;l++)K[l]=new mxCell("",new mxGeometry(0,0,0,0),La),K[l].geometry.relative=!0,K[l].edge=!0,ga(.65*t,.5*r,.96*t,(l+.5)*M,K[l],m,H,ca,v,X),qb[l]=new mxCell("",new mxGeometry(.95*t,(l+.2)*M,.05*t,.6*M),nb),qb[l].vertex=!0,v.insert(qb[l]);break;case "PEMultilines":v.style+="strokeColor=none;fillColor=none;";La="edgeStyle=none;endArrow=none;part=1;";
+La.style+=f(La.style,g,u,La);J=C(g,u);J=""==J?"#000000;":J.replace("strokeColor=","");nb="shape=triangle;part=1;fillColor="+J;nb+=f(nb,g,u,v);M=r/g.numLines;K=[];qb=[];for(l=0;l<g.numLines;l++)K[l]=new mxCell("",new mxGeometry(0,0,0,0),La),K[l].geometry.relative=!0,K[l].edge=!0,ga(0,(l+.5)*M,.96*t,(l+.5)*M,K[l],m,H,ca,v,X),qb[l]=new mxCell("",new mxGeometry(.95*t,(l+.2)*M,.05*t,.6*M),nb),qb[l].vertex=!0,v.insert(qb[l]);break;case "PEVesselBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";
+v.value=c(g.Text);switch(g.vesselType){case 1:v.style+="shape=mxgraph.pid.vessels.pressurized_vessel;";break;case 2:v.style+="shape=hexagon;perimeter=hexagonPerimeter2;size=0.10;direction=south;"}v.style+=f(v.style,g,u,v);break;case "PEClosedTankBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.value=c(g.Text);1==g.peakedRoof&&0==g.stumpType?v.style+="shape=mxgraph.pid.vessels.tank_(conical_roof);":1==g.stumpType&&(v.style+="shape=mxgraph.pid.vessels.tank_(boot);");v.style+=f(v.style,
+g,u,v);break;case "PEColumnBlock":v.style+="verticalLabelPosition=bottom;verticalAlign=top;";v.value=c(g.Text);v.style=0==g.columnType?v.style+"shape=mxgraph.pid.vessels.pressurized_vessel;":v.style+"shape=mxgraph.pid.vessels.tank;";v.style+=f(v.style,g,u,v);break;case "PECompressorTurbineBlock":v.style+="strokeColor=none;fillColor=none;";v.style+=f(v.style,g,u,v);v.value=c(g.Text);q=new mxCell("",new mxGeometry(0,.2*r,t,.6*r),"part=1;shape=trapezoid;perimeter=trapezoidPerimeter;direction=south;");
+q.vertex=!0;v.insert(q);q.style+=N;q.style+=f(q.style,g,u,q);N="endSize=4;endArrow=block;endFill=1;";0==g.compressorType?(L=new mxCell("",new mxGeometry(0,0,0,0),""),L.geometry.relative=!0,L.edge=!0,L.style+=N,L.style+=f(L.style,g,u,L),ga(0,0,0,.2*r,L,m,H,ca,v,X),K=new mxCell("",new mxGeometry(0,0,0,0),""),K.geometry.relative=!0,K.edge=!0,K.style+=N,K.style+=f(K.style,g,u,K),ga(t,.67*r,t,r,K,m,H,ca,v,X)):(q.style+="flipH=1;",L=new mxCell("",new mxGeometry(0,0,0,0),""),L.geometry.relative=!0,L.edge=
+!0,L.style+=N,L.style+=f(L.style,g,u,L),ga(0,0,0,.33*r,L,m,H,ca,v,X),K=new mxCell("",new mxGeometry(0,0,0,0),""),K.geometry.relative=!0,K.edge=!0,K.style+=N,K.style+=f(K.style,g,u,K),ga(t,.8*r,t,r,K,m,H,ca,v,X));1==g.centerLineType&&(P=new mxCell("",new mxGeometry(0,0,0,0),""),P.geometry.relative=!0,P.edge=!0,P.style+=N,P.style+=f(P.style,g,u,P),ga(.2*t,.5*r,.8*t,.5*r,P,m,H,ca,v,X));break;case "PEMotorDrivenTurbineBlock":v.style+="shape=ellipse;";v.style+=f(v.style,g,u,v);v.value=c(g.Text);q=new mxCell("",
+new mxGeometry(.2*t,.2*r,.6*t,.6*r),"part=1;shape=trapezoid;perimeter=trapezoidPerimeter;direction=south;");q.vertex=!0;v.insert(q);q.style+=f(q.style,g,u,q);break;case "PEIndicatorBlock":case "PEIndicator2Block":case "PESharedIndicatorBlock":case "PEComputerIndicatorBlock":case "PESharedIndicator2Block":case "PEProgrammableIndicatorBlock":switch(e.Class){case "PEIndicatorBlock":v.style+="shape=mxgraph.pid2inst.discInst;";break;case "PEIndicator2Block":v.style+="shape=mxgraph.pid2inst.indicator;indType=inst;";
+break;case "PESharedIndicatorBlock":v.style+="shape=mxgraph.pid2inst.sharedCont;";break;case "PEComputerIndicatorBlock":v.style+="shape=mxgraph.pid2inst.compFunc;";break;case "PESharedIndicator2Block":v.style+="shape=mxgraph.pid2inst.indicator;indType=ctrl;";break;case "PEProgrammableIndicatorBlock":v.style+="shape=mxgraph.pid2inst.progLogCont;"}v.style+=f(v.style,g,u,v);"PEIndicator2Block"==e.Class||"PESharedIndicator2Block"==e.Class?(q=new mxCell("",new mxGeometry(0,0,t,.5*t),"part=1;strokeColor=none;fillColor=none;"),
+q.vertex=!0,v.insert(q),q.style+=k(g.TopText),q.style+=f(q.style,g,u,q),q.value=c(g.TopText),w=new mxCell("",new mxGeometry(0,.5*t,t,.5*t),"part=1;strokeColor=none;fillColor=none;")):(q=new mxCell("",new mxGeometry(0,0,t,.5*r),"part=1;strokeColor=none;fillColor=none;"),q.vertex=!0,v.insert(q),q.style+=k(g.TopText),q.style+=f(q.style,g,u,q),q.value=c(g.TopText),w=new mxCell("",new mxGeometry(0,.5*r,t,.5*r),"part=1;strokeColor=none;fillColor=none;"));w.vertex=!0;v.insert(w);w.style+=k(g.BotText);w.style+=
+f(w.style,g,u,w);w.value=c(g.BotText);switch(g.instrumentLocation){case 0:v.style+="mounting=field;";break;case 1:v.style+="mounting=inaccessible;";break;case 2:v.style+="mounting=room;";break;case 3:v.style+="mounting=local;"}break;case "PEGateValveBlock":case "PEGlobeValveBlock":case "PEAngleValveBlock":case "PEAngleGlobeValveBlock":case "PEPoweredValveBlock":var gc=!1;"PEPoweredValveBlock"==e.Class?1!=g.poweredHandOperated&&(gc=!0):1!=g.handOperated&&(gc=!0);if(gc){var g=n(e).Properties,T=g.BoundingBox,
+tc=T.h;T.h="PEAngleValveBlock"==e.Class||"PEAngleGlobeValveBlock"==e.Class?.7*T.h:.6*T.h;v=new mxCell("",new mxGeometry(Math.round(.6*T.x+0),Math.round(.6*(T.y+tc-T.h)+0),Math.round(.6*T.w),Math.round(.6*T.h)),"");v.vertex=!0;Y(v,e)}if("PEPoweredValveBlock"==e.Class)v.style+="shape=mxgraph.pid2valves.valve;verticalLabelPosition=bottom;verticalAlign=top;",v.style+=f(v.style,g,u,v),1==g.poweredHandOperated?(v.style+="valveType=gate;actuator=powered;",q=new mxCell("",new mxGeometry(.325*t,0,.35*t,.35*
+r),"part=1;strokeColor=none;fillColor=none;spacingTop=2;"),q.vertex=!0,v.insert(q),q.style+="fontSize=6;"+a(g.PoweredText)+d(g.PoweredText)+h(g.PoweredText)+p(g.PoweredText)+y(g.PoweredText)+x(g.PoweredText)+A(g.PoweredText)+D(g.PoweredText),q.style+=f(q.style,g,u,q),q.value=c(g.PoweredText)):v.style+="valveType=gate;";else{v.style+="verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.pid2valves.valve;";v.value=c(g.Text);switch(e.Class){case "PEGateValveBlock":v.style+="valveType=gate;";
+break;case "PEGlobeValveBlock":v.style+="valveType=globe;";break;case "PEAngleValveBlock":v.style+="valveType=angle;";break;case "PEAngleGlobeValveBlock":v.style+="valveType=angleGlobe;flipH=1;"}1==g.handOperated&&(v.style+="actuator=man;")}v.style+=f(v.style,g,u,v);break;case "UI2BrowserBlock":v.style+="shape=mxgraph.mockup.containers.browserWindow;mainText=;";1==g.vScroll&&(E=1==g.hScroll?new mxCell("",new mxGeometry(1,0,20,r-130),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"):
+new mxCell("",new mxGeometry(1,0,20,r-110),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"),E.geometry.relative=!0,E.geometry.offset=new mxPoint(-20,110),E.vertex=!0,v.insert(E),v.style+="spacingRight=20;");1==g.hScroll&&(O=1==g.vScroll?new mxCell("",new mxGeometry(0,1,t-20,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"):new mxCell("",new mxGeometry(0,1,t,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"),
+O.geometry.relative=!0,O.geometry.offset=new mxPoint(0,-20),O.vertex=!0,v.insert(O));v.style+=f(v.style,g,u,v);break;case "UI2WindowBlock":v.style+="shape=mxgraph.mockup.containers.window;mainText=;align=center;verticalAlign=top;spacing=5;"+b(g.Title)+a(g.Title)+d(g.Title);v.value=c(g.Title);1==g.vScroll&&(E=1==g.hScroll?new mxCell("",new mxGeometry(1,0,20,r-50),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"):new mxCell("",new mxGeometry(1,0,20,r-30),
+"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"),E.geometry.relative=!0,E.geometry.offset=new mxPoint(-20,30),E.vertex=!0,v.insert(E),v.style+="spacingRight=20;");1==g.hScroll&&(O=1==g.vScroll?new mxCell("",new mxGeometry(0,1,t-20,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"):new mxCell("",new mxGeometry(0,1,t,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"),O.geometry.relative=!0,O.geometry.offset=
+new mxPoint(0,-20),O.vertex=!0,v.insert(O));v.style+=f(v.style,g,u,v);break;case "UI2DialogBlock":v.style+=k(g.Text);v.value=c(g.Text);q=new mxCell("",new mxGeometry(0,0,t,30),"part=1;resizeHeight=0;");q.vertex=!0;v.insert(q);q.style+=k(g.Title);q.style+=f(q.style,g,u,q);q.value=c(g.Title);w=new mxCell("",new mxGeometry(1,.5,20,20),"part=1;shape=ellipse;strokeColor=#008cff;resizable=0;fillColor=none;html=1;");w.geometry.relative=!0;w.geometry.offset=new mxPoint(-25,-10);w.vertex=!0;q.insert(w);1==
+g.vScroll&&(E=1==g.hScroll?new mxCell("",new mxGeometry(1,0,20,r-50),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"):new mxCell("",new mxGeometry(1,0,20,r-30),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"),E.geometry.relative=!0,E.geometry.offset=new mxPoint(-20,30),E.vertex=!0,v.insert(E),v.style+="spacingRight=20;");1==g.hScroll&&(O=1==g.vScroll?new mxCell("",new mxGeometry(0,1,t-20,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"):
+new mxCell("",new mxGeometry(0,1,t,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"),O.geometry.relative=!0,O.geometry.offset=new mxPoint(0,-20),O.vertex=!0,v.insert(O));v.style+=f(v.style,g,u,v);break;case "UI2AccordionBlock":q=[];M=25;for(l=0;l<=g.Panels-1;l++)q[l]=l<g.Selected-1?new mxCell("",new mxGeometry(0,l*M,t,M),"part=1;fillColor=#000000;fillOpacity=25;"):l==g.Selected-1?new mxCell("",new mxGeometry(0,l*M,t,M),"part=1;fillColor=none;"):new mxCell("",new mxGeometry(0,
+r-(g.Panels-g.Selected)*M+(l-g.Selected)*M,t,M),"part=1;fillColor=#000000;fillOpacity=25;"),q[l].vertex=!0,v.insert(q[l]),q[l].style+=k(g["Panel_"+(l+1)]),q[l].value=c(g["Panel_"+(l+1)]),0>q[l].style.indexOf(";align=")&&(q[l].style+="align=left;spacingLeft=5;");var ha=C(g,u),ha=ha.replace("strokeColor","fillColor2");""==ha&&(ha="fillColor2=#000000;");1==g.vScroll&&(w=1==g.hScroll?new mxCell("",new mxGeometry(1,0,20,r-g.Selected*M-20-(g.Panels-g.Selected)*M),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"):
+new mxCell("",new mxGeometry(1,0,20,r-g.Selected*M-(g.Panels-g.Selected)*M),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"),w.geometry.relative=!0,w.geometry.offset=new mxPoint(-20,g.Selected*M),w.vertex=!0,v.insert(w),v.style+="spacingRight=20;",w.style+=ha,w.style+=f(w.style,g,u,w));1==g.hScroll&&(E=1==g.vScroll?new mxCell("",new mxGeometry(0,1,t-20,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"):new mxCell("",new mxGeometry(0,
+1,t,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"),E.geometry.relative=!0,E.geometry.offset=new mxPoint(0,-20-(g.Panels-g.Selected)*M),E.vertex=!0,v.insert(E),E.style+=ha,E.style+=f(E.style,g,u,E));O=1==g.vScroll?new mxCell("",new mxGeometry(0,g.Selected*M,t-20,r-g.Selected*M-20-(g.Panels-g.Selected)*M),"part=1;fillColor=none;strokeColor=none;"):new mxCell("",new mxGeometry(0,g.Selected*M,t-20,r-g.Selected*M-(g.Panels-g.Selected)*M),"part=1;fillColor=none;strokeColor=none;");
+O.vertex=!0;v.insert(O);O.style+=k(g.Content_1);0>O.style.indexOf(";align=")&&(O.style+="align=left;spacingLeft=5;");O.value=c(g.Content_1);v.style+=f(v.style,g,u,v);break;case "UI2TabBarContainerBlock":v.style+="strokeColor=none;fillColor=none;";var q=[],w=[],M=25,Fa=3,U=(t+Fa)/(g.Tabs+1),pa=new mxCell("",new mxGeometry(0,M,t,r-M),"part=1;");pa.vertex=!0;v.insert(pa);pa.style+=f(pa.style,g,u,pa);for(l=0;l<=g.Tabs-1;l++)l==g.Selected-1?(w[l]=new mxCell("",new mxGeometry(10+l*U,0,U-Fa,M),""),w[l].vertex=
+!0,v.insert(w[l])):(q[l]=new mxCell("",new mxGeometry(10+l*U,0,U-Fa,M),"strokeColor=none;"),q[l].vertex=!0,v.insert(q[l]),q[l].style+=q[l].style+=f(q[l].style,g,u,q[l]),w[l]=new mxCell("",new mxGeometry(0,0,U-Fa,M),"fillColor=#000000;fillOpacity=25;"),w[l].vertex=!0,q[l].insert(w[l])),w[l].style+=k(g["Tab_"+(l+1)]),w[l].value=c(g["Tab_"+(l+1)]),0>w[l].style.indexOf(";align=")&&(w[l].style+="align=left;spacingLeft=2;"),w[l].style+=f(w[l].style,g,u,w[l]);ha=C(g,u);ha=ha.replace("strokeColor","fillColor2");
+""==ha&&(ha="fillColor2=#000000;");1==g.vScroll&&(w=1==g.hScroll?new mxCell("",new mxGeometry(1,0,20,r-20-M),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"):new mxCell("",new mxGeometry(1,0,20,r-M),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"),w.geometry.relative=!0,w.geometry.offset=new mxPoint(-20,M),w.vertex=!0,v.insert(w),v.style+="spacingRight=20;",w.style+=ha,w.style+=f(w.style,g,u,w));1==g.hScroll&&
+(E=1==g.vScroll?new mxCell("",new mxGeometry(0,1,t-20,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"):new mxCell("",new mxGeometry(0,1,t,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"),E.geometry.relative=!0,E.geometry.offset=new mxPoint(0,-20),E.vertex=!0,v.insert(E),E.style+=ha,E.style+=f(E.style,g,u,E));break;case "UI2TabBar2ContainerBlock":v.style+="strokeColor=none;fillColor=none;";q=[];w=[];M=25;Fa=3;U=(t+Fa)/g.Tabs;pa=new mxCell("",
+new mxGeometry(0,M,t,r-M),"part=1;");pa.vertex=!0;v.insert(pa);pa.style+=f(pa.style,g,u,pa);for(l=0;l<=g.Tabs-1;l++)l==g.Selected-1?(w[l]=new mxCell("",new mxGeometry(l*U,0,U-Fa,M),""),w[l].vertex=!0,v.insert(w[l])):(q[l]=new mxCell("",new mxGeometry(l*U,0,U-Fa,M),"strokeColor=none;"),q[l].vertex=!0,v.insert(q[l]),q[l].style+=f(q[l].style,g,u,q[l]),w[l]=new mxCell("",new mxGeometry(0,0,U-Fa,M),"fillColor=#000000;fillOpacity=25;"),w[l].vertex=!0,q[l].insert(w[l])),w[l].style+=k(g["Tab_"+(l+1)]),w[l].style+=
+f(w[l].style,g,u,w[l]),w[l].value=c(g["Tab_"+(l+1)]),0>w[l].style.indexOf(";align=")&&(w[l].style+="align=left;spacingLeft=2;");ha=C(g,u);ha=ha.replace("strokeColor","fillColor2");""==ha&&(ha="fillColor2=#000000;");1==g.vScroll&&(w=1==g.hScroll?new mxCell("",new mxGeometry(1,0,20,r-20-M),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"):new mxCell("",new mxGeometry(1,0,20,r-M),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"),
+w.geometry.relative=!0,w.geometry.offset=new mxPoint(-20,M),w.vertex=!0,v.insert(w),v.style+="spacingRight=20;",w.style+=ha,w.style+=f(w.style,g,u,w));1==g.hScroll&&(E=1==g.vScroll?new mxCell("",new mxGeometry(0,1,t-20,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"):new mxCell("",new mxGeometry(0,1,t,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"),E.geometry.relative=!0,E.geometry.offset=new mxPoint(0,-20),E.vertex=!0,v.insert(E),E.style+=
+ha,E.style+=f(E.style,g,u,E));break;case "UI2VTabBarContainerBlock":v.style+="strokeColor=none;fillColor=none;";q=[];w=[];Fa=3;M=25+Fa;U=80;fb=10;pa=new mxCell("",new mxGeometry(U,0,t-U,r),"part=1;");pa.vertex=!0;v.insert(pa);pa.style+=f(pa.style,g,u,pa);for(l=0;l<=g.Tabs-1;l++)l==g.Selected-1?(w[l]=new mxCell("",new mxGeometry(0,fb+l*M,U,M-Fa),""),w[l].vertex=!0,v.insert(w[l]),w[l].style+=k(g["Tab_"+(l+1)]),w[l].style+=f(w[l].style,g,u,w[l])):(q[l]=new mxCell("",new mxGeometry(0,fb+l*M,U,M-Fa),"strokeColor=none;"),
+q[l].vertex=!0,v.insert(q[l]),q[l].style+=f(q[l].style,g,u,q[l]),w[l]=new mxCell("",new mxGeometry(0,0,U,M-Fa),"fillColor=#000000;fillOpacity=25;"),w[l].vertex=!0,q[l].insert(w[l]),w[l].style+=k(g["Tab_"+(l+1)])),w[l].value=c(g["Tab_"+(l+1)]),0>w[l].style.indexOf(";align=")&&(w[l].style+="align=left;spacingLeft=2;"),w[l].style+=f(w[l].style,g,u,w[l]);ha=C(g,u);ha=ha.replace("strokeColor","fillColor2");""==ha&&(ha="fillColor2=#000000;");1==g.vScroll&&(w=1==g.hScroll?new mxCell("",new mxGeometry(1,
+0,20,r-20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"):new mxCell("",new mxGeometry(1,0,20,r),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"),w.geometry.relative=!0,w.geometry.offset=new mxPoint(-20,0),w.vertex=!0,v.insert(w),v.style+="spacingRight=20;",w.style+=ha,w.style+=f(w.style,g,u,w));1==g.hScroll&&(E=1==g.vScroll?new mxCell("",new mxGeometry(U,1,t-20-U,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"):
+new mxCell("",new mxGeometry(U,1,t-U,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"),E.geometry.relative=!0,E.geometry.offset=new mxPoint(0,-20),E.vertex=!0,v.insert(E),E.style+=ha,E.style+=f(E.style,g,u,E));break;case "UI2CheckBoxBlock":v.style+="strokeColor=none;fillColor=none;";M=r/g.Options;q=[];w=[];for(l=0;l<g.Options;l++)q[l]=new mxCell("",new mxGeometry(0,l*M+.5*M-5,10,10),"labelPosition=right;part=1;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=3;"),
+q[l].vertex=!0,v.insert(q[l]),q[l].style+=k(g["Option_"+(l+1)]),q[l].style+=f(q[l].style,g,u,q[l]),null!=g.Selected[l+1]&&1==g.Selected[l+1]&&(J=C(g,u),J=J.replace("strokeColor","fillColor"),""==J&&(J="fillColor=#000000;"),w[l]=new mxCell("",new mxGeometry(2,2,6,6),"shape=mxgraph.mscae.general.checkmark;part=1;"),w[l].vertex=!0,q[l].insert(w[l]),w[l].style+=J,w[l].style+=f(w[l].style,g,u,w[l])),q[l].value=c(g["Option_"+(l+1)]);break;case "UI2HorizontalCheckBoxBlock":v.style+="strokeColor=none;fillColor=none;";
+U=t/g.Options;q=[];w=[];for(l=0;l<g.Options;l++)q[l]=new mxCell("",new mxGeometry(l*U,.5*r-5,10,10),"labelPosition=right;part=1;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=3;"),q[l].vertex=!0,v.insert(q[l]),q[l].style+=k(g["Option_"+(l+1)]),q[l].style+=f(q[l].style,g,u,q[l]),null!=g.Selected[l+1]&&1==g.Selected[l+1]&&(J=C(g,u),J=J.replace("strokeColor","fillColor"),""==J&&(J="fillColor=#000000;"),w[l]=new mxCell("",new mxGeometry(2,2,6,6),"shape=mxgraph.mscae.general.checkmark;part=1;"),
+w[l].vertex=!0,q[l].insert(w[l]),w[l].style+=J,w[l].style+=f(w[l].style,g,u,w[l])),q[l].value=c(g["Option_"+(l+1)]);break;case "UI2RadioBlock":v.style+="strokeColor=none;fillColor=none;";M=r/g.Options;q=[];w=[];for(l=0;l<g.Options;l++)q[l]=new mxCell("",new mxGeometry(0,l*M+.5*M-5,10,10),"shape=ellipse;labelPosition=right;part=1;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=3;"),q[l].vertex=!0,v.insert(q[l]),q[l].style+=k(g["Option_"+(l+1)]),q[l].style+=f(q[l].style,g,u,
+q[l]),null!=g.Selected&&g.Selected==l+1&&(J=C(g,u),J=J.replace("strokeColor","fillColor"),""==J&&(J="fillColor=#000000;"),w[l]=new mxCell("",new mxGeometry(2.5,2.5,5,5),"shape=ellipse;"),w[l].vertex=!0,q[l].insert(w[l]),w[l].style+=J,w[l].style+=f(w[l].style,g,u,w[l])),q[l].value=c(g["Option_"+(l+1)]);break;case "UI2HorizontalRadioBlock":v.style+="strokeColor=none;fillColor=none;";U=t/g.Options;q=[];w=[];for(l=0;l<g.Options;l++)q[l]=new mxCell("",new mxGeometry(l*U,.5*r-5,10,10),"shape=ellipse;labelPosition=right;part=1;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=3;"),
+q[l].vertex=!0,v.insert(q[l]),q[l].style+=k(g["Option_"+(l+1)]),q[l].style+=f(q[l].style,g,u,q[l]),null!=g.Selected&&g.Selected==l+1&&(J=C(g,u),J=J.replace("strokeColor","fillColor"),""==J&&(J="fillColor=#000000;"),w[l]=new mxCell("",new mxGeometry(2,2,6,6),"shape=ellipse;part=1;"),w[l].vertex=!0,q[l].insert(w[l]),w[l].style+=J,w[l].style+=f(w[l].style,g,u,w[l])),q[l].value=c(g["Option_"+(l+1)]);break;case "UI2HSliderBlock":case "UI2VSliderBlock":v.style+="shape=mxgraph.mockup.forms.horSlider;sliderStyle=basic;handleStyle=handle;";
+"UI2VSliderBlock"==e.Class&&(v.style+="direction=south;");v.style+="sliderPos="+100*g.ScrollVal+";";v.style+=f(v.style,g,u,v);break;case "UI2DatePickerBlock":v.style+="strokeColor=none;fillColor=none;";q=new mxCell("",new mxGeometry(0,0,.6*t,r),"part=1;");q.vertex=!0;v.insert(q);q.style+=k(g.Date);v.style+=f(v.style,g,u,v);q.value=c(g.Date);J=C(g,u);J=J.replace("strokeColor","fillColor");""==J&&(J="fillColor=#000000;");w=new mxCell("",new mxGeometry(.75*t,0,.25*t,r),"part=1;shape=mxgraph.gmdl.calendar;");
+w.vertex=!0;v.insert(w);w.style+=J;w.style+=f(w.style,g,u,w);break;case "UI2SearchBlock":v.style+="shape=mxgraph.mockup.forms.searchBox;mainText=;flipH=1;align=left;spacingLeft=26;"+b(g.Search)+a(g.Search)+d(g.Search);v.style+=f(v.style,g,u,v);v.value=c(g.Search);break;case "UI2NumericStepperBlock":J=C(g,u);J=J.replace("strokeColor","fillColor");""==J&&(J="fillColor=#000000;");v.style+="shape=mxgraph.mockup.forms.spinner;spinLayout=right;spinStyle=normal;adjStyle=triangle;mainText=;align=left;spacingLeft=8;"+
+J+b(g.Number)+a(g.Number)+d(g.Number);v.style+=f(v.style,g,u,v);v.value=c(g.Number);break;case "UI2ButtonBarBlock":v.style+=f(v.style,g,u,v);q=[];w=[];U=t/g.Buttons;for(l=0;l<=g.Buttons-1;l++)l==g.Selected-1?(w[l]=new mxCell("",new mxGeometry(l*U,0,U,r),""),w[l].vertex=!0,v.insert(w[l])):(q[l]=new mxCell("",new mxGeometry(l*U,0,U,r),"strokeColor=none;"),q[l].vertex=!0,v.insert(q[l]),q[l].style+=q[l].style+=f(q[l].style,g,u,q[l]),w[l]=new mxCell("",new mxGeometry(0,0,U,r),"fillColor=#000000;fillOpacity=25;"),
+w[l].vertex=!0,q[l].insert(w[l])),w[l].style+=k(g["Button_"+(l+1)]),w[l].style+=f(w[l].style,g,u,w[l]),w[l].value=c(g["Button_"+(l+1)]);break;case "UI2VerticalButtonBarBlock":v.style+=f(v.style,g,u,v);q=[];w=[];M=r/g.Buttons;for(l=0;l<=g.Buttons-1;l++)l==g.Selected-1?(w[l]=new mxCell("",new mxGeometry(0,l*M,t,M),""),w[l].vertex=!0,v.insert(w[l])):(q[l]=new mxCell("",new mxGeometry(0,l*M,t,M),"strokeColor=none;"),q[l].vertex=!0,v.insert(q[l]),q[l].style+=f(q[l].style,g,u,q[l]),w[l]=new mxCell("",new mxGeometry(0,
+0,t,M),"fillColor=#000000;fillOpacity=25;"),w[l].vertex=!0,q[l].insert(w[l])),w[l].style+=k(g["Button_"+(l+1)]),w[l].style+=f(w[l].style,g,u,w[l]),w[l].value=c(g["Button_"+(l+1)]);break;case "UI2LinkBarBlock":v.style+="strokeColor=none;fillColor=none;";v.style+=f(v.style,g,u,v);q=[];w=[];U=t/g.Links;for(l=0;l<g.Links;l++)0!=l?(w[l]=new mxCell("",new mxGeometry(l*U,0,U,r),"shape=partialRectangle;top=0;bottom=0;right=0;fillColor=none;"),w[l].style+=f(w[l].style,g,u,w[l])):w[l]=new mxCell("",new mxGeometry(l*
+U,0,U,r),"fillColor=none;strokeColor=none;"),w[l].vertex=!0,v.insert(w[l]),w[l].style+=k(g["Link_"+(l+1)]),w[l].value=c(g["Link_"+(l+1)]);break;case "UI2BreadCrumbsBlock":v.style+="strokeColor=none;fillColor=none;";v.style+=f(v.style,g,u,v);q=[];w=[];U=t/g.Links;for(l=0;l<g.Links;l++)q[l]=new mxCell("",new mxGeometry(l*U,0,U,r),"fillColor=none;strokeColor=none;"),q[l].vertex=!0,v.insert(q[l]),q[l].style+=k(g["Link_"+(l+1)]),q[l].value=c(g["Link_"+(l+1)]);for(l=1;l<g.Links;l++)w[l]=new mxCell("",new mxGeometry(l/
+g.Links,.5,6,10),"shape=mxgraph.ios7.misc.right;"),w[l].geometry.relative=!0,w[l].geometry.offset=new mxPoint(-3,-5),w[l].vertex=!0,v.insert(w[l]);break;case "UI2MenuBarBlock":v.style+="strokeColor=none;";v.style+=f(v.style,g,u,v);q=[];U=t/(g.Buttons+1);for(l=0;l<=g.Buttons-1;l++)q[l]=l!=g.Selected-1?new mxCell("",new mxGeometry(0,0,U,r),"strokeColor=none;fillColor=none;resizeHeight=1;"):new mxCell("",new mxGeometry(0,0,U,r),"fillColor=#000000;fillOpacity=25;strokeColor=none;resizeHeight=1;"),q[l].geometry.relative=
+!0,q[l].geometry.offset=new mxPoint(l*U,0),q[l].vertex=!0,v.insert(q[l]),q[l].style+=k(g["MenuItem_"+(l+1)]),q[l].value=c(g["MenuItem_"+(l+1)]);break;case "UI2AtoZBlock":v.style+="fillColor=none;strokeColor=none;"+k(g.Text_0);v.value="0-9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z";break;case "UI2PaginationBlock":v.style+="fillColor=none;strokeColor=none;"+k(g.Text_prev);v.value=c(g.Text_prev)+" ";for(l=0;l<g.Links;l++)v.value+=c(g["Link_"+(l+1)])+" ";v.value+=c(g.Text_next);break;case "UI2ContextMenuBlock":v.style+=
+f(v.style,g,u,v);for(var I=[],db=[],Ab=[],M=r/g.Lines,N=null,l=0;l<g.Lines;l++)null!=g["Item_"+(l+1)]&&(null==N&&(N=""+b(g["Item_"+(l+1)])+a(g["Item_"+(l+1)])+d(g["Item_"+(l+1)])),I[l]=new mxCell("",new mxGeometry(0,l*r/g.Lines,t,M),"strokeColor=none;fillColor=none;spacingLeft=20;align=left;html=1;"),I[l].vertex=!0,v.insert(I[l]),I[l].style+=N,I[l].value=c(g["Item_"+(l+1)])),null!=g.Icons[l+1]&&null!=I[l]&&("dot"==g.Icons[l+1]?(db[l]=new mxCell("",new mxGeometry(0,.5,8,8),"shape=ellipse;strokeColor=none;"),
+db[l].geometry.offset=new mxPoint(6,-4)):"check"==g.Icons[l+1]&&(db[l]=new mxCell("",new mxGeometry(0,.5,7,8),"shape=mxgraph.mscae.general.checkmark;strokeColor=none;"),db[l].geometry.offset=new mxPoint(6.5,-4)),null!=db[l]&&(db[l].geometry.relative=!0,db[l].vertex=!0,I[l].insert(db[l]),J=C(g,u),J=J.replace("strokeColor","fillColor"),""==J&&(J="fillColor=#000000;"),db[l].style+=J)),null!=g["Shortcut_"+(l+1)]&&(null==N&&(N=""+b(g["Shortcut_"+(l+1)])+a(g["Shortcut_"+(l+1)])+d(g["Shortcut_"+(l+1)])),
+Ab[l]=new mxCell("",new mxGeometry(.6*t,l*r/g.Lines,.4*t,M),"strokeColor=none;fillColor=none;spacingRight=3;align=right;html=1;"),Ab[l].vertex=!0,v.insert(Ab[l]),Ab[l].style+=N,Ab[l].value=c(g["Shortcut_"+(l+1)])),null!=g.Dividers[l+1]&&(I[l]=new mxCell("",new mxGeometry(.05*t,l*r/g.Lines,.9*t,M),"shape=line;strokeWidth=0.25;"),I[l].vertex=!0,v.insert(I[l]),I[l].style+=C(g,u));break;case "UI2ProgressBarBlock":v.style+="shape=mxgraph.mockup.misc.progressBar;fillColor2=#888888;barPos="+100*g.ScrollVal+
+";";break;case "UI2TooltipSquareBlock":v.style+="html=1;shape=callout;flipV=1;base=13;size=7;position=0.5;position2=0.66;rounded=1;arcSize="+g.RoundCorners+";"+k(g.Tip);v.style+=f(v.style,g,u,v);v.value=c(g.Tip);break;case "UI2CalloutBlock":v.style+="shape=ellipse;"+k(g.Txt);v.style+=f(v.style,g,u,v);v.value=c(g.Txt);break;case "UI2AlertBlock":v.style+=k(g.Txt);v.style+=f(v.style,g,u,v);v.value=c(g.Txt);q=new mxCell("",new mxGeometry(0,0,t,30),"part=1;resizeHeight=0;");q.vertex=!0;v.insert(q);q.style+=
+k(g.Title);q.style+=f(q.style,g,u,q);q.value=c(g.Title);w=new mxCell("",new mxGeometry(1,.5,20,20),"part=1;shape=ellipse;strokeColor=#008cff;resizable=0;fillColor=none;html=1;");w.geometry.relative=!0;w.geometry.offset=new mxPoint(-25,-10);w.vertex=!0;q.insert(w);for(var uc=45*g.Buttons+(10*g.Buttons-1),E=[],l=0;l<g.Buttons;l++)E[l]=new mxCell("",new mxGeometry(.5,1,45,20),"part=1;html=1;"),E[l].geometry.relative=!0,E[l].geometry.offset=new mxPoint(.5*-uc+55*l,-40),E[l].vertex=!0,v.insert(E[l]),E[l].style+=
+k(g["Button_"+(l+1)]),E[l].style+=f(E[l].style,g,u,E[l]),E[l].value=c(g["Button_"+(l+1)]);break;case "UMLClassBlock":if(0==g.Simple){var N=F(g,u),Ca=Math.round(.6*g.TitleHeight),N=N.replace("fillColor","swimlaneFillColor");""==N&&(N="swimlaneFillColor=#ffffff;");v.style+="swimlane;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;"+N+"startSize="+Ca+";"+k(g.Title);v.style+=f(v.style,g,u,v);v.value=c(g.Title);
+for(var I=[],hc=[],ya=Ca/r,l=0;l<=g.Attributes;l++)0<l&&(hc[l]=new mxCell("",new mxGeometry(0,0,40,8),"line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;"),hc[l].vertex=!0,v.insert(hc[l])),M=0,l<g.Attributes?(M=g["Text"+(l+1)+"Percent"],ya+=M):M=1-ya,I[l]=new mxCell("",new mxGeometry(0,0,t,Math.round((r-Ca)*M)),"part=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),
+I[l].vertex=!0,v.insert(I[l]),I[l].style+=N+B(g,u,I[l])+b(g["Text"+(l+1)])+a(g["Text"+(l+1)])+d(g["Text"+(l+1)]),I[l].value=c(g["Text"+(l+1)])}else v.style+=k(g.Title),v.style+=f(v.style,g,u,v),v.value=c(g.Title);break;case "ERDEntityBlock":N=F(g,u);Ca=.6*g.Name_h;N=N.replace("fillColor","swimlaneFillColor");""==N&&(N="swimlaneFillColor=#ffffff;");v.style+="swimlane;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;"+
+N+"startSize="+Ca+";"+k(g.Name);v.style+=f(v.style,g,u,v);v.style=g.ShadedHeader?v.style+"fillColor=#e0e0e0;":v.style+F(g,u);v.value=c(g.Name);I=[];ya=Ca/r;for(l=0;l<g.Fields;l++)M=0,I[l]=new mxCell("",new mxGeometry(0,0,t,.6*g["Field"+(l+1)+"_h"]),"part=1;resizeHeight=0;strokeColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),I[l].vertex=!0,v.insert(I[l]),I[l].style+=N+b(g["Field"+(l+1)])+a(g["Field"+
+(l+1)])+d(g["Field"+(l+1)]),I[l].style=1==g.AltRows&&0!=l%2?I[l].style+"fillColor=#000000;opacity=5;":I[l].style+("fillColor=none;"+B(g,u,I[l])),I[l].value=c(g["Field"+(l+1)]);break;case "ERDEntityBlock2":N=F(g,u);Ca=.6*g.Name_h;N=N.replace("fillColor","swimlaneFillColor");""==N&&(N="swimlaneFillColor=#ffffff;");v.style+="swimlane;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;"+N+"startSize="+Ca+";"+k(g.Name);v.style=g.ShadedHeader?v.style+"fillColor=#e0e0e0;":v.style+
+F(g,u);v.style+=f(v.style,g,u,v);v.value=c(g.Name);var I=[],Z=[],ya=Ca,Ga=30;null!=g.Column1&&(Ga=.6*g.Column1);for(l=0;l<g.Fields;l++)M=0,Z[l]=new mxCell("",new mxGeometry(0,ya,Ga,.6*g["Key"+(l+1)+"_h"]),"strokeColor=none;part=1;resizeHeight=0;align=center;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),Z[l].vertex=!0,v.insert(Z[l]),Z[l].style+=N+b(g["Key"+(l+1)])+a(g["Key"+(l+1)])+d(g["Key"+(l+1)]),Z[l].style=1==g.AltRows&&
+0!=l%2?Z[l].style+"fillColor=#000000;fillOpacity=5;":Z[l].style+("fillColor=none;"+B(g,u,Z[l])),Z[l].value=c(g["Key"+(l+1)]),I[l]=new mxCell("",new mxGeometry(Ga,ya,t-Ga,.6*g["Field"+(l+1)+"_h"]),"shape=partialRectangle;top=0;right=0;bottom=0;part=1;resizeHeight=0;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),I[l].vertex=!0,v.insert(I[l]),I[l].style+=N+b(g["Field"+(l+1)])+a(g["Field"+(l+1)])+d(g["Field"+(l+
+1)]),v.style+=f(v.style,g,u,v),I[l].style=1==g.AltRows&&0!=l%2?I[l].style+"fillColor=#000000;fillOpacity=5;":I[l].style+("fillColor=none;"+B(g,u,I[l])),I[l].value=c(g["Field"+(l+1)]),ya+=.6*g["Key"+(l+1)+"_h"];break;case "ERDEntityBlock3":N=F(g,u);Ca=.6*g.Name_h;N=N.replace("fillColor","swimlaneFillColor");""==N&&(N="swimlaneFillColor=#ffffff;");v.style+="swimlane;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;"+N+"startSize="+Ca+";"+k(g.Name);v.style=g.ShadedHeader?v.style+
+"fillColor=#e0e0e0;":v.style+F(g,u);v.style+=f(v.style,g,u,v);v.value=c(g.Name);I=[];Z=[];ya=Ca;Ga=30;null!=g.Column1&&(Ga=.6*g.Column1);for(l=0;l<g.Fields;l++)M=0,Z[l]=new mxCell("",new mxGeometry(0,ya,Ga,.6*g["Field"+(l+1)+"_h"]),"strokeColor=none;part=1;resizeHeight=0;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),Z[l].vertex=!0,v.insert(Z[l]),Z[l].style+=N+b(g["Field"+(l+1)])+a(g["Field"+(l+1)])+d(g["Field"+
+(l+1)]),Z[l].style=1==g.AltRows&&0!=l%2?Z[l].style+"fillColor=#000000;fillOpacity=5;":Z[l].style+("fillColor=none;"+B(g,u,Z[l])),Z[l].style+=f(Z[l].style,g,u,Z[l]),Z[l].value=c(g["Field"+(l+1)]),I[l]=new mxCell("",new mxGeometry(Ga,ya,t-Ga,.6*g["Type"+(l+1)+"_h"]),"shape=partialRectangle;top=0;right=0;bottom=0;part=1;resizeHeight=0;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),I[l].vertex=!0,v.insert(I[l]),
+I[l].style+=N+b(g["Type"+(l+1)])+a(g["Type"+(l+1)])+d(g["Type"+(l+1)]),I[l].style=1==g.AltRows&&0!=l%2?I[l].style+"fillColor=#000000;fillOpacity=5;":I[l].style+("fillColor=none;"+B(g,u,I[l])),I[l].style+=f(I[l].style,g,u,I[l]),I[l].value=c(g["Type"+(l+1)]),ya+=.6*g["Field"+(l+1)+"_h"];break;case "ERDEntityBlock4":N=F(g,u);Ca=.6*g.Name_h;N=N.replace("fillColor","swimlaneFillColor");""==N&&(N="swimlaneFillColor=#ffffff;");v.style+="swimlane;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;"+
+N+"startSize="+Ca+";"+k(g.Name);v.style=g.ShadedHeader?v.style+"fillColor=#e0e0e0;":v.style+F(g,u);v.style+=f(v.style,g,u,v);v.value=c(g.Name);var I=[],Z=[],Ha=[],ya=Ca,Ga=30,ac=40;null!=g.Column1&&(Ga=.6*g.Column1);null!=g.Column2&&(ac=.6*g.Column2);for(l=0;l<g.Fields;l++)M=0,Z[l]=new mxCell("",new mxGeometry(0,ya,Ga,.6*g["Key"+(l+1)+"_h"]),"strokeColor=none;part=1;resizeHeight=0;align=center;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),
+Z[l].vertex=!0,v.insert(Z[l]),Z[l].style+=N+b(g["Key"+(l+1)])+a(g["Key"+(l+1)])+d(g["Key"+(l+1)]),Z[l].style=1==g.AltRows&&0!=l%2?Z[l].style+"fillColor=#000000;fillOpacity=5;":Z[l].style+("fillColor=none;"+B(g,u,Z[l])),Z[l].style+=f(Z[l].style,g,u,Z[l]),Z[l].value=c(g["Key"+(l+1)]),I[l]=new mxCell("",new mxGeometry(Ga,ya,t-Ga-ac,.6*g["Field"+(l+1)+"_h"]),"shape=partialRectangle;top=0;right=0;bottom=0;part=1;resizeHeight=0;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),
+I[l].vertex=!0,v.insert(I[l]),I[l].style+=N+b(g["Field"+(l+1)])+a(g["Field"+(l+1)])+d(g["Field"+(l+1)]),I[l].style=1==g.AltRows&&0!=l%2?I[l].style+"fillColor=#000000;fillOpacity=5;":I[l].style+("fillColor=none;"+B(g,u,I[l])),I[l].style+=f(I[l].style,g,u,I[l]),I[l].value=c(g["Field"+(l+1)]),Ha[l]=new mxCell("",new mxGeometry(t-ac,ya,ac,.6*g["Type"+(l+1)+"_h"]),"shape=partialRectangle;top=0;right=0;bottom=0;part=1;resizeHeight=0;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),
+Ha[l].vertex=!0,v.insert(Ha[l]),Ha[l].style+=N+b(g["Type"+(l+1)])+a(g["Type"+(l+1)])+d(g["Type"+(l+1)]),Ha[l].style=1==g.AltRows&&0!=l%2?Ha[l].style+"fillColor=#000000;fillOpacity=5;":Ha[l].style+("fillColor=none;"+B(g,u,Ha[l])),Ha[l].style+=f(Ha[l].style,g,u,Ha[l]),Ha[l].value=c(g["Type"+(l+1)]),ya+=.6*g["Key"+(l+1)+"_h"];break;case "GCPServiceCardApplicationSystemBlock":da("application_system",t,r,v,g,u);break;case "GCPServiceCardAuthorizationBlock":da("internal_payment_authorization",t,r,v,g,u);
+break;case "GCPServiceCardBlankBlock":da("blank",t,r,v,g,u);break;case "GCPServiceCardReallyBlankBlock":da("blank",t,r,v,g,u);break;case "GCPServiceCardBucketBlock":da("bucket",t,r,v,g,u);break;case "GCPServiceCardCDNInterconnectBlock":da("google_network_edge_cache",t,r,v,g,u);break;case "GCPServiceCardCloudDNSBlock":da("blank",t,r,v,g,u);break;case "GCPServiceCardClusterBlock":da("cluster",t,r,v,g,u);break;case "GCPServiceCardDiskSnapshotBlock":da("persistent_disk_snapshot",t,r,v,g,u);break;case "GCPServiceCardEdgePopBlock":da("google_network_edge_cache",
+t,r,v,g,u);break;case "GCPServiceCardFrontEndPlatformServicesBlock":da("frontend_platform_services",t,r,v,g,u);break;case "GCPServiceCardGatewayBlock":da("gateway",t,r,v,g,u);break;case "GCPServiceCardGoogleNetworkBlock":da("google_network_edge_cache",t,r,v,g,u);break;case "GCPServiceCardImageServicesBlock":da("image_services",t,r,v,g,u);break;case "GCPServiceCardLoadBalancerBlock":da("network_load_balancer",t,r,v,g,u);break;case "GCPServiceCardLocalComputeBlock":da("dedicated_game_server",t,r,v,
+g,u);break;case "GCPServiceCardLocalStorageBlock":da("persistent_disk_snapshot",t,r,v,g,u);break;case "GCPServiceCardLogsAPIBlock":da("logs_api",t,r,v,g,u);break;case "GCPServiceCardMemcacheBlock":da("memcache",t,r,v,g,u);break;case "GCPServiceCardNATBlock":da("nat",t,r,v,g,u);break;case "GCPServiceCardPaymentFormBlock":da("external_payment_form",t,r,v,g,u);break;case "GCPServiceCardPushNotificationsBlock":da("push_notification_service",t,r,v,g,u);break;case "GCPServiceCardScheduledTasksBlock":da("scheduled_tasks",
+t,r,v,g,u);break;case "GCPServiceCardServiceDiscoveryBlock":da("service_discovery",t,r,v,g,u);break;case "GCPServiceCardSquidProxyBlock":da("squid_proxy",t,r,v,g,u);break;case "GCPServiceCardTaskQueuesBlock":da("task_queues",t,r,v,g,u);break;case "GCPServiceCardVirtualFileSystemBlock":da("virtual_file_system",t,r,v,g,u);break;case "GCPServiceCardVPNGatewayBlock":da("gateway",t,r,v,g,u);break;case "GCPInputDatabase":ja("database",1,.9,t,r,v,g,u);break;case "GCPInputRecord":ja("record",1,.66,t,r,v,
+g,u);break;case "GCPInputPayment":ja("payment",1,.8,t,r,v,g,u);break;case "GCPInputGateway":ja("gateway_icon",1,.44,t,r,v,g,u);break;case "GCPInputLocalCompute":ja("compute_engine_icon",1,.89,t,r,v,g,u);break;case "GCPInputBeacon":ja("beacon",.73,1,t,r,v,g,u);break;case "GCPInputStorage":ja("storage",1,.8,t,r,v,g,u);break;case "GCPInputList":ja("list",.89,1,t,r,v,g,u);break;case "GCPInputStream":ja("stream",1,.82,t,r,v,g,u);break;case "GCPInputMobileDevices":ja("mobile_devices",1,.73,t,r,v,g,u);break;
+case "GCPInputCircuitBoard":ja("circuit_board",1,.9,t,r,v,g,u);break;case "GCPInputLive":ja("live",.74,1,t,r,v,g,u);break;case "GCPInputUsers":ja("users",1,.63,t,r,v,g,u);break;case "GCPInputLaptop":ja("laptop",1,.66,t,r,v,g,u);break;case "GCPInputApplication":ja("application",1,.8,t,r,v,g,u);break;case "GCPInputLightbulb":ja("lightbulb",.7,1,t,r,v,g,u);break;case "GCPInputGame":ja("game",1,.54,t,r,v,g,u);break;case "GCPInputDesktop":ja("desktop",1,.9,t,r,v,g,u);break;case "GCPInputDesktopAndMobile":ja("desktop_and_mobile",
+1,.66,t,r,v,g,u);break;case "GCPInputWebcam":ja("webcam",.5,1,t,r,v,g,u);break;case "GCPInputSpeaker":ja("speaker",.7,1,t,r,v,g,u);break;case "GCPInputRetail":ja("retail",1,.89,t,r,v,g,u);break;case "GCPInputReport":ja("report",1,1,t,r,v,g,u);break;case "GCPInputPhone":ja("phone",.64,1,t,r,v,g,u);break;case "GCPInputBlank":ja("transparent",1,1,t,r,v,g,u)}return v}var Wb=["AEUSBBlock","AGSCutandpasteBlock","iOSDeviceiPadLandscape","iOSDeviceiPadProLandscape"],cb=["fpDoor"],ob={None:"none",Arrow:"block;endFill=1",
 "Hollow Arrow":"block;endFill=0","Open Arrow":"open;","CFN ERD Zero Or More Arrow":"ERzeroToMany;startSize=10","CFN ERD One Or More Arrow":"ERoneToMany;startSize=10","CFN ERD Many Arrow":"ERmany;startSize=10","CFN ERD Exactly One Arrow":"ERmandOne;startSize=10","CFN ERD Zero Or One Arrow":"ERzeroToOne;startSize=10","CFN ERD One Arrow":"ERone;startSize=16",Generalization:"block;endFill=0;startSize=12","Big Open Arrow":"open;startSize=10",Asynch1:"openAsync;flipH=1;startSize=10",Asynch2:"openAsync;startSize=10",
-Aggregation:"diamond;endFill=0;startSize=16",Composition:"diamond;endFill=1;startSize=16",BlockEnd:"none;endFill=1;startSize=16"},bb={DefaultTextBlockNew:"text;strokeColor=none;fillColor=none",DefaultTextBlock:"text;strokeColor=none;fillColor=none",DefaultSquareBlock:"",DefaultNoteBlock:"shape=note;size=15",DefaultNoteBlockV2:"shape=note;size=15",HotspotBlock:"strokeColor=none;opacity=50",ImageSearchBlock2:"shape=image",UserImage2Block:"shape=image",ProcessBlock:"",DecisionBlock:"rhombus",TerminatorBlock:"rounded=1;arcSize=50",
+Aggregation:"diamond;endFill=0;startSize=16",Composition:"diamond;endFill=1;startSize=16",BlockEnd:"none;endFill=1;startSize=16"},Ia={DefaultTextBlockNew:"text;strokeColor=none;fillColor=none",DefaultTextBlock:"text;strokeColor=none;fillColor=none",DefaultSquareBlock:"",DefaultNoteBlock:"shape=note;size=15",DefaultNoteBlockV2:"shape=note;size=15",HotspotBlock:"strokeColor=none;opacity=50",ImageSearchBlock2:"shape=image",UserImage2Block:"shape=image",ProcessBlock:"",DecisionBlock:"rhombus",TerminatorBlock:"rounded=1;arcSize=50",
 PredefinedProcessBlock:"shape=process",DocumentBlock:"shape=document",MultiDocumentBlock:"shape=mxgraph.flowchart.multi-document",ManualInputBlock:"shape=manualInput;size=15",PreparationBlock:"shape=hexagon;perimeter=hexagonPerimeter2",DataBlock:"shape=parallelogram;perimeter=parallelogramPerimeter;anchorPointDirection=0",DataBlockNew:"shape=parallelogram;perimeter=parallelogramPerimeter;anchorPointDirection=0",DatabaseBlock:"shape=cylinder;size=0.1;anchorPointDirection=0;boundedLbl=1;",DirectAccessStorageBlock:"shape=cylinder;direction=south;size=0.1;anchorPointDirection=0;boundedLbl=1;",
 InternalStorageBlock:"shape=internalStorage;dx=10;dy=10",PaperTapeBlock:"shape=tape;size=0.2",ManualOperationBlockNew:"shape=trapezoid;perimeter=trapezoidPerimeter;anchorPointDirection=0;flipV=1",DelayBlock:"shape=delay",StoredDataBlock:"shape=dataStorage",MergeBlock:"triangle;direction=south;anchorPointDirection=0",ConnectorBlock:"ellipse",OrBlock:"shape=mxgraph.flowchart.summing_function",SummingJunctionBlock:"shape=mxgraph.flowchart.or",DisplayBlock:"shape=display",OffPageLinkBlock:"shape=offPageConnector",
 BraceNoteBlock:"mxCompositeShape",NoteBlock:"shape=mxgraph.flowchart.annotation_1",AdvancedSwimLaneBlock:"mxCompositeShape",AdvancedSwimLaneBlockRotated:"mxCompositeShape",RectangleContainerBlock:"fillColor=none;container=1",DiamondContainerBlock:"shape=rhombus;fillColor=none;container=1",RoundedRectangleContainerBlock:"fillColor=none;container=1;rounded=1;absoluteArcSize=1;arcSize=24",CircleContainerBlock:"shape=ellipse;fillColor=none;container=1",PillContainerBlock:"arcSize=50;fillColor=none;container=1",
@@ -704,46 +704,47 @@ GCPInputPhone:"mxCompositeShape",GCPInputBlank:"mxCompositeShape",SMHome:"shape=
 SMPrint:"shape=mxgraph.sitemap.print;strokeColor=#000000;fillColor=#E6E6E6",SMScript:"shape=mxgraph.sitemap.script;strokeColor=#000000;fillColor=#E6E6E6",SMSearch:"shape=mxgraph.sitemap.search;strokeColor=#000000;fillColor=#E6E6E6",SMSettings:"shape=mxgraph.sitemap.settings;strokeColor=#000000;fillColor=#E6E6E6",SMSitemap:"shape=mxgraph.sitemap.sitemap;strokeColor=#000000;fillColor=#E6E6E6",SMSuccess:"shape=mxgraph.sitemap.success;strokeColor=#000000;fillColor=#E6E6E6",SMVideo:"shape=mxgraph.sitemap.video;strokeColor=#000000;fillColor=#E6E6E6",
 SMAudio:"shape=mxgraph.sitemap.audio;strokeColor=#000000;fillColor=#E6E6E6",SMBlog:"shape=mxgraph.sitemap.blog;strokeColor=#000000;fillColor=#E6E6E6",SMCalendar:"shape=mxgraph.sitemap.calendar;strokeColor=#000000;fillColor=#E6E6E6",SMChart:"shape=mxgraph.sitemap.chart;strokeColor=#000000;fillColor=#E6E6E6",SMCloud:"shape=mxgraph.sitemap.cloud;strokeColor=#000000;fillColor=#E6E6E6",SMDocument:"shape=mxgraph.sitemap.document;strokeColor=#000000;fillColor=#E6E6E6",SMDownload:"shape=mxgraph.sitemap.download;strokeColor=#000000;fillColor=#E6E6E6",
 SMError:"shape=mxgraph.sitemap.error;strokeColor=#000000;fillColor=#E6E6E6",SMForm:"shape=mxgraph.sitemap.form;strokeColor=#000000;fillColor=#E6E6E6",SMGame:"shape=mxgraph.sitemap.game;strokeColor=#000000;fillColor=#E6E6E6",SMJobs:"shape=mxgraph.sitemap.jobs;strokeColor=#000000;fillColor=#E6E6E6",SMLucid:"shape=mxgraph.sitemap.home;strokeColor=#000000;fillColor=#E6E6E6",SMNewspress:"shape=mxgraph.sitemap.news;strokeColor=#000000;fillColor=#E6E6E6",SMPhoto:"shape=mxgraph.sitemap.photo;strokeColor=#000000;fillColor=#E6E6E6",
-SMPortfolio:"shape=mxgraph.sitemap.portfolio;strokeColor=#000000;fillColor=#E6E6E6",SMPricing:"shape=mxgraph.sitemap.pricing;strokeColor=#000000;fillColor=#E6E6E6",SMProfile:"shape=mxgraph.sitemap.profile;strokeColor=#000000;fillColor=#E6E6E6",SMSlideshow:"shape=mxgraph.sitemap.slideshow;strokeColor=#000000;fillColor=#E6E6E6",SMUpload:"shape=mxgraph.sitemap.upload;strokeColor=#000000;fillColor=#E6E6E6"},Db=function(a,b,d){0>mxUtils.indexOf(d,a)&&d.push(a);if(a in b){var g=b[a];g.id=a;if(null!=g.Members)for(var p in g.Members)d=
-Db(p,b,d)}return d};LucidImporter.importState=function(a){function b(a){for(var b in a.Pages)g.push(a.Pages[b]);g.sort(function(a,b){return a.Properties.Order<b.Properties.Order?-1:a.Properties.Order>b.Properties.Order?1:0})}var d=['<?xml version="1.0" encoding="UTF-8"?>',"<mxfile>"],g=[];null!=a.state?b(JSON.parse(a.state)):null==a.Page&&null!=a.Pages?b(a):g.push(a);a=ia();for(var p=new mxCodec,c=0;c<g.length;c++){d.push("<diagram");null!=g[c].Properties&&null!=g[c].Properties.Title&&d.push(' name="'+
-mxUtils.htmlEntities(g[c].Properties.Title)+'"');ba(a,g[c],null,null,null,!0);var e=p.encode(a.getModel());a.getModel().clear();d.push(">"+Graph.compress(mxUtils.getXml(e))+"</diagram>")}d.push("</mxfile>");return d.join("")}})();function VsdxExport(c){function n(a,b){var d={"[Content_Types].xml":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><Types xmlns='http://schemas.openxmlformats.org/package/2006/content-types'><Default Extension='png' ContentType='image/png'/><Default Extension='jpg' ContentType='image/jpeg'/><Default Extension='jpeg' ContentType='image/jpeg'/><Default Extension='svg' ContentType='image/svg+xml'/><Default Extension='bmp' ContentType='image/bmp'/><Default Extension='gif' ContentType='image/gif'/><Default Extension='emf' ContentType='image/x-emf' /><Default Extension='rels' ContentType='application/vnd.openxmlformats-package.relationships+xml' /><Default Extension='xml' ContentType='application/xml' /><Override PartName='/docProps/app.xml' ContentType='application/vnd.openxmlformats-officedocument.extended-properties+xml' /><Override PartName='/docProps/core.xml' ContentType='application/vnd.openxmlformats-package.core-properties+xml' /><Override PartName='/docProps/custom.xml' ContentType='application/vnd.openxmlformats-officedocument.custom-properties+xml' /><Override PartName='/visio/document.xml' ContentType='application/vnd.ms-visio.drawing.main+xml' /><Override PartName='/visio/masters/masters.xml' ContentType='application/vnd.ms-visio.masters+xml' /><Override PartName='/visio/masters/master1.xml' ContentType='application/vnd.ms-visio.master+xml'/><Override PartName='/visio/pages/page1.xml' ContentType='application/vnd.ms-visio.page+xml' /><Override PartName='/visio/pages/pages.xml' ContentType='application/vnd.ms-visio.pages+xml' /><Override PartName='/visio/windows.xml' ContentType='application/vnd.ms-visio.windows+xml' /></Types>",
+SMPortfolio:"shape=mxgraph.sitemap.portfolio;strokeColor=#000000;fillColor=#E6E6E6",SMPricing:"shape=mxgraph.sitemap.pricing;strokeColor=#000000;fillColor=#E6E6E6",SMProfile:"shape=mxgraph.sitemap.profile;strokeColor=#000000;fillColor=#E6E6E6",SMSlideshow:"shape=mxgraph.sitemap.slideshow;strokeColor=#000000;fillColor=#E6E6E6",SMUpload:"shape=mxgraph.sitemap.upload;strokeColor=#000000;fillColor=#E6E6E6"},jb=function(a,b,d){0>mxUtils.indexOf(d,a)&&d.push(a);if(a in b){var h=b[a];h.id=a;if(null!=h.Members)for(var p in h.Members)d=
+jb(p,b,d)}return d};LucidImporter.importState=function(a){function b(a){for(var b in a.Pages)h.push(a.Pages[b]);h.sort(function(a,b){return a.Properties.Order<b.Properties.Order?-1:a.Properties.Order>b.Properties.Order?1:0})}var d=['<?xml version="1.0" encoding="UTF-8"?>',"<mxfile>"],h=[];null!=a.state?b(JSON.parse(a.state)):null==a.Page&&null!=a.Pages?b(a):h.push(a);a=ia();for(var p=new mxCodec,c=0;c<h.length;c++){d.push("<diagram");null!=h[c].Properties&&null!=h[c].Properties.Title&&d.push(' name="'+
+mxUtils.htmlEntities(h[c].Properties.Title)+'"');ea(a,h[c],null,null,null,!0);var e=p.encode(a.getModel());a.getModel().clear();d.push(">"+Graph.compress(mxUtils.getXml(e))+"</diagram>")}d.push("</mxfile>");return d.join("")}})();function VsdxExport(c){function n(a,b){var d={"[Content_Types].xml":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><Types xmlns='http://schemas.openxmlformats.org/package/2006/content-types'><Default Extension='png' ContentType='image/png'/><Default Extension='jpg' ContentType='image/jpeg'/><Default Extension='jpeg' ContentType='image/jpeg'/><Default Extension='svg' ContentType='image/svg+xml'/><Default Extension='bmp' ContentType='image/bmp'/><Default Extension='gif' ContentType='image/gif'/><Default Extension='emf' ContentType='image/x-emf' /><Default Extension='rels' ContentType='application/vnd.openxmlformats-package.relationships+xml' /><Default Extension='xml' ContentType='application/xml' /><Override PartName='/docProps/app.xml' ContentType='application/vnd.openxmlformats-officedocument.extended-properties+xml' /><Override PartName='/docProps/core.xml' ContentType='application/vnd.openxmlformats-package.core-properties+xml' /><Override PartName='/docProps/custom.xml' ContentType='application/vnd.openxmlformats-officedocument.custom-properties+xml' /><Override PartName='/visio/document.xml' ContentType='application/vnd.ms-visio.drawing.main+xml' /><Override PartName='/visio/masters/masters.xml' ContentType='application/vnd.ms-visio.masters+xml' /><Override PartName='/visio/masters/master1.xml' ContentType='application/vnd.ms-visio.master+xml'/><Override PartName='/visio/pages/page1.xml' ContentType='application/vnd.ms-visio.page+xml' /><Override PartName='/visio/pages/pages.xml' ContentType='application/vnd.ms-visio.pages+xml' /><Override PartName='/visio/windows.xml' ContentType='application/vnd.ms-visio.windows+xml' /></Types>",
 "_rels/.rels":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><Relationships xmlns='http://schemas.openxmlformats.org/package/2006/relationships'><Relationship Id='rId1' Type='http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties' Target='docProps/core.xml' /><Relationship Id='rId2' Type='http://schemas.microsoft.com/visio/2010/relationships/document' Target='visio/document.xml' /><Relationship Id='rId3' Type='http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties' Target='docProps/custom.xml' /><Relationship Id='rId4' Type='http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties' Target='docProps/app.xml' /></Relationships>",
 "docProps/app.xml":'<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Properties xmlns=\'http://schemas.openxmlformats.org/officeDocument/2006/extended-properties\' xmlns:vt=\'http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes\'><Application>Microsoft Visio</Application><AppVersion>15.0000</AppVersion><Template /><Manager /><Company /><HyperlinkBase /></Properties>',"docProps/core.xml":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><cp:coreProperties xmlns:cp='http://schemas.openxmlformats.org/package/2006/metadata/core-properties' xmlns:dc='http://purl.org/dc/elements/1.1/' xmlns:dcterms='http://purl.org/dc/terms/' xmlns:dcmitype='http://purl.org/dc/dcmitype/' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'><dc:title /><dc:subject /><dc:creator /><cp:keywords /><dc:description /><cp:category /><dc:language>en-US</dc:language></cp:coreProperties>",
 "docProps/custom.xml":'<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Properties xmlns=\'http://schemas.openxmlformats.org/officeDocument/2006/custom-properties\' xmlns:vt=\'http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes\' />',"visio/document.xml":"<?xml version='1.0' encoding='utf-8' ?><VisioDocument xmlns='http://schemas.microsoft.com/office/visio/2012/main' xmlns:r='http://schemas.openxmlformats.org/officeDocument/2006/relationships' xml:space='preserve'><DocumentSettings TopPage='0' DefaultTextStyle='3' DefaultLineStyle='3' DefaultFillStyle='3' DefaultGuideStyle='4'><GlueSettings>9</GlueSettings><SnapSettings>65847</SnapSettings><SnapExtensions>34</SnapExtensions><SnapAngles/><DynamicGridEnabled>1</DynamicGridEnabled><ProtectStyles>0</ProtectStyles><ProtectShapes>0</ProtectShapes><ProtectMasters>0</ProtectMasters><ProtectBkgnds>0</ProtectBkgnds></DocumentSettings><Colors><ColorEntry IX='24' RGB='#000000'/><ColorEntry IX='25' RGB='#FFFFFF'/><ColorEntry IX='26' RGB='#FF0000'/><ColorEntry IX='27' RGB='#00FF00'/><ColorEntry IX='28' RGB='#0000FF'/><ColorEntry IX='29' RGB='#FFFF00'/><ColorEntry IX='30' RGB='#FF00FF'/><ColorEntry IX='31' RGB='#00FFFF'/><ColorEntry IX='32' RGB='#800000'/><ColorEntry IX='33' RGB='#008000'/><ColorEntry IX='34' RGB='#000080'/><ColorEntry IX='35' RGB='#808000'/><ColorEntry IX='36' RGB='#800080'/><ColorEntry IX='37' RGB='#008080'/><ColorEntry IX='38' RGB='#C0C0C0'/><ColorEntry IX='39' RGB='#E6E6E6'/><ColorEntry IX='40' RGB='#CDCDCD'/><ColorEntry IX='41' RGB='#B3B3B3'/><ColorEntry IX='42' RGB='#9A9A9A'/><ColorEntry IX='43' RGB='#808080'/><ColorEntry IX='44' RGB='#666666'/><ColorEntry IX='45' RGB='#4D4D4D'/><ColorEntry IX='46' RGB='#333333'/><ColorEntry IX='47' RGB='#1A1A1A'/><ColorEntry IX='48' RGB='#7F7F7F'/><ColorEntry IX='49' RGB='#99004D'/><ColorEntry IX='50' RGB='#FF0080'/><ColorEntry IX='51' RGB='#CC0066'/></Colors><FaceNames><FaceName NameU='Calibri' UnicodeRanges='-536859905 -1073732485 9 0' CharSets='536871423 0' Panose='2 15 5 2 2 2 4 3 2 4' Flags='325'/></FaceNames><StyleSheets><StyleSheet ID='0' NameU='No Style' IsCustomNameU='1' Name='No Style' IsCustomName='1'><Cell N='EnableLineProps' V='1'/><Cell N='EnableFillProps' V='1'/><Cell N='EnableTextProps' V='1'/><Cell N='HideForApply' V='0'/><Cell N='LineWeight' V='0.01041666666666667'/><Cell N='LineColor' V='0'/><Cell N='LinePattern' V='1'/><Cell N='Rounding' V='0'/><Cell N='EndArrowSize' V='2'/><Cell N='BeginArrow' V='0'/><Cell N='EndArrow' V='0'/><Cell N='LineCap' V='0'/><Cell N='BeginArrowSize' V='2'/><Cell N='LineColorTrans' V='0'/><Cell N='CompoundType' V='0'/><Cell N='FillForegnd' V='1'/><Cell N='FillBkgnd' V='0'/><Cell N='FillPattern' V='1'/><Cell N='ShdwForegnd' V='0'/><Cell N='ShdwPattern' V='0'/><Cell N='FillForegndTrans' V='0'/><Cell N='FillBkgndTrans' V='0'/><Cell N='ShdwForegndTrans' V='0'/><Cell N='ShapeShdwType' V='0'/><Cell N='ShapeShdwOffsetX' V='0'/><Cell N='ShapeShdwOffsetY' V='0'/><Cell N='ShapeShdwObliqueAngle' V='0'/><Cell N='ShapeShdwScaleFactor' V='1'/><Cell N='ShapeShdwBlur' V='0'/><Cell N='ShapeShdwShow' V='0'/><Cell N='LeftMargin' V='0'/><Cell N='RightMargin' V='0'/><Cell N='TopMargin' V='0'/><Cell N='BottomMargin' V='0'/><Cell N='VerticalAlign' V='1'/><Cell N='TextBkgnd' V='0'/><Cell N='DefaultTabStop' V='0.5'/><Cell N='TextDirection' V='0'/><Cell N='TextBkgndTrans' V='0'/><Cell N='LockWidth' V='0'/><Cell N='LockHeight' V='0'/><Cell N='LockMoveX' V='0'/><Cell N='LockMoveY' V='0'/><Cell N='LockAspect' V='0'/><Cell N='LockDelete' V='0'/><Cell N='LockBegin' V='0'/><Cell N='LockEnd' V='0'/><Cell N='LockRotate' V='0'/><Cell N='LockCrop' V='0'/><Cell N='LockVtxEdit' V='0'/><Cell N='LockTextEdit' V='0'/><Cell N='LockFormat' V='0'/><Cell N='LockGroup' V='0'/><Cell N='LockCalcWH' V='0'/><Cell N='LockSelect' V='0'/><Cell N='LockCustProp' V='0'/><Cell N='LockFromGroupFormat' V='0'/><Cell N='LockThemeColors' V='0'/><Cell N='LockThemeEffects' V='0'/><Cell N='LockThemeConnectors' V='0'/><Cell N='LockThemeFonts' V='0'/><Cell N='LockThemeIndex' V='0'/><Cell N='LockReplace' V='0'/><Cell N='LockVariation' V='0'/><Cell N='NoObjHandles' V='0'/><Cell N='NonPrinting' V='0'/><Cell N='NoCtlHandles' V='0'/><Cell N='NoAlignBox' V='0'/><Cell N='UpdateAlignBox' V='0'/><Cell N='HideText' V='0'/><Cell N='DynFeedback' V='0'/><Cell N='GlueType' V='0'/><Cell N='WalkPreference' V='0'/><Cell N='BegTrigger' V='0' F='No Formula'/><Cell N='EndTrigger' V='0' F='No Formula'/><Cell N='ObjType' V='0'/><Cell N='Comment' V=''/><Cell N='IsDropSource' V='0'/><Cell N='NoLiveDynamics' V='0'/><Cell N='LocalizeMerge' V='0'/><Cell N='NoProofing' V='0'/><Cell N='Calendar' V='0'/><Cell N='LangID' V='en-US'/><Cell N='ShapeKeywords' V=''/><Cell N='DropOnPageScale' V='1'/><Cell N='TheData' V='0' F='No Formula'/><Cell N='TheText' V='0' F='No Formula'/><Cell N='EventDblClick' V='0' F='No Formula'/><Cell N='EventXFMod' V='0' F='No Formula'/><Cell N='EventDrop' V='0' F='No Formula'/><Cell N='EventMultiDrop' V='0' F='No Formula'/><Cell N='HelpTopic' V=''/><Cell N='Copyright' V=''/><Cell N='LayerMember' V=''/><Cell N='XRulerDensity' V='32'/><Cell N='YRulerDensity' V='32'/><Cell N='XRulerOrigin' V='0'/><Cell N='YRulerOrigin' V='0'/><Cell N='XGridDensity' V='8'/><Cell N='YGridDensity' V='8'/><Cell N='XGridSpacing' V='0'/><Cell N='YGridSpacing' V='0'/><Cell N='XGridOrigin' V='0'/><Cell N='YGridOrigin' V='0'/><Cell N='Gamma' V='1'/><Cell N='Contrast' V='0.5'/><Cell N='Brightness' V='0.5'/><Cell N='Sharpen' V='0'/><Cell N='Blur' V='0'/><Cell N='Denoise' V='0'/><Cell N='Transparency' V='0'/><Cell N='SelectMode' V='1'/><Cell N='DisplayMode' V='2'/><Cell N='IsDropTarget' V='0'/><Cell N='IsSnapTarget' V='1'/><Cell N='IsTextEditTarget' V='1'/><Cell N='DontMoveChildren' V='0'/><Cell N='ShapePermeableX' V='0'/><Cell N='ShapePermeableY' V='0'/><Cell N='ShapePermeablePlace' V='0'/><Cell N='Relationships' V='0'/><Cell N='ShapeFixedCode' V='0'/><Cell N='ShapePlowCode' V='0'/><Cell N='ShapeRouteStyle' V='0'/><Cell N='ShapePlaceStyle' V='0'/><Cell N='ConFixedCode' V='0'/><Cell N='ConLineJumpCode' V='0'/><Cell N='ConLineJumpStyle' V='0'/><Cell N='ConLineJumpDirX' V='0'/><Cell N='ConLineJumpDirY' V='0'/><Cell N='ShapePlaceFlip' V='0'/><Cell N='ConLineRouteExt' V='0'/><Cell N='ShapeSplit' V='0'/><Cell N='ShapeSplittable' V='0'/><Cell N='DisplayLevel' V='0'/><Cell N='ResizePage' V='0'/><Cell N='EnableGrid' V='0'/><Cell N='DynamicsOff' V='0'/><Cell N='CtrlAsInput' V='0'/><Cell N='AvoidPageBreaks' V='0'/><Cell N='PlaceStyle' V='0'/><Cell N='RouteStyle' V='0'/><Cell N='PlaceDepth' V='0'/><Cell N='PlowCode' V='0'/><Cell N='LineJumpCode' V='1'/><Cell N='LineJumpStyle' V='0'/><Cell N='PageLineJumpDirX' V='0'/><Cell N='PageLineJumpDirY' V='0'/><Cell N='LineToNodeX' V='0.125'/><Cell N='LineToNodeY' V='0.125'/><Cell N='BlockSizeX' V='0.25'/><Cell N='BlockSizeY' V='0.25'/><Cell N='AvenueSizeX' V='0.375'/><Cell N='AvenueSizeY' V='0.375'/><Cell N='LineToLineX' V='0.125'/><Cell N='LineToLineY' V='0.125'/><Cell N='LineJumpFactorX' V='0.66666666666667'/><Cell N='LineJumpFactorY' V='0.66666666666667'/><Cell N='LineAdjustFrom' V='0'/><Cell N='LineAdjustTo' V='0'/><Cell N='PlaceFlip' V='0'/><Cell N='LineRouteExt' V='0'/><Cell N='PageShapeSplit' V='0'/><Cell N='PageLeftMargin' V='0.25'/><Cell N='PageRightMargin' V='0.25'/><Cell N='PageTopMargin' V='0.25'/><Cell N='PageBottomMargin' V='0.25'/><Cell N='ScaleX' V='1'/><Cell N='ScaleY' V='1'/><Cell N='PagesX' V='1'/><Cell N='PagesY' V='1'/><Cell N='CenterX' V='0'/><Cell N='CenterY' V='0'/><Cell N='OnPage' V='0'/><Cell N='PrintGrid' V='0'/><Cell N='PrintPageOrientation' V='1'/><Cell N='PaperKind' V='1'/><Cell N='PaperSource' V='7'/><Cell N='QuickStyleLineColor' V='100'/><Cell N='QuickStyleFillColor' V='100'/><Cell N='QuickStyleShadowColor' V='100'/><Cell N='QuickStyleFontColor' V='100'/><Cell N='QuickStyleLineMatrix' V='100'/><Cell N='QuickStyleFillMatrix' V='100'/><Cell N='QuickStyleEffectsMatrix' V='100'/><Cell N='QuickStyleFontMatrix' V='100'/><Cell N='QuickStyleType' V='0'/><Cell N='QuickStyleVariation' V='0'/><Cell N='LineGradientDir' V='0'/><Cell N='LineGradientAngle' V='1.5707963267949'/><Cell N='FillGradientDir' V='0'/><Cell N='FillGradientAngle' V='1.5707963267949'/><Cell N='LineGradientEnabled' V='0'/><Cell N='FillGradientEnabled' V='0'/><Cell N='RotateGradientWithShape' V='1'/><Cell N='UseGroupGradient' V='0'/><Cell N='BevelTopType' V='0'/><Cell N='BevelTopWidth' V='0'/><Cell N='BevelTopHeight' V='0'/><Cell N='BevelBottomType' V='0'/><Cell N='BevelBottomWidth' V='0'/><Cell N='BevelBottomHeight' V='0'/><Cell N='BevelDepthColor' V='1'/><Cell N='BevelDepthSize' V='0'/><Cell N='BevelContourColor' V='0'/><Cell N='BevelContourSize' V='0'/><Cell N='BevelMaterialType' V='0'/><Cell N='BevelLightingType' V='0'/><Cell N='BevelLightingAngle' V='0'/><Cell N='RotationXAngle' V='0'/><Cell N='RotationYAngle' V='0'/><Cell N='RotationZAngle' V='0'/><Cell N='RotationType' V='0'/><Cell N='Perspective' V='0'/><Cell N='DistanceFromGround' V='0'/><Cell N='KeepTextFlat' V='0'/><Cell N='ReflectionTrans' V='0'/><Cell N='ReflectionSize' V='0'/><Cell N='ReflectionDist' V='0'/><Cell N='ReflectionBlur' V='0'/><Cell N='GlowColor' V='1'/><Cell N='GlowColorTrans' V='0'/><Cell N='GlowSize' V='0'/><Cell N='SoftEdgesSize' V='0'/><Cell N='SketchSeed' V='0'/><Cell N='SketchEnabled' V='0'/><Cell N='SketchAmount' V='5'/><Cell N='SketchLineWeight' V='0.04166666666666666' U='PT'/><Cell N='SketchLineChange' V='0.14'/><Cell N='SketchFillChange' V='0.1'/><Cell N='ColorSchemeIndex' V='0'/><Cell N='EffectSchemeIndex' V='0'/><Cell N='ConnectorSchemeIndex' V='0'/><Cell N='FontSchemeIndex' V='0'/><Cell N='ThemeIndex' V='0'/><Cell N='VariationColorIndex' V='0'/><Cell N='VariationStyleIndex' V='0'/><Cell N='EmbellishmentIndex' V='0'/><Cell N='ReplaceLockShapeData' V='0'/><Cell N='ReplaceLockText' V='0'/><Cell N='ReplaceLockFormat' V='0'/><Cell N='ReplaceCopyCells' V='0' U='BOOL' F='No Formula'/><Cell N='PageWidth' V='0' F='No Formula'/><Cell N='PageHeight' V='0' F='No Formula'/><Cell N='ShdwOffsetX' V='0' F='No Formula'/><Cell N='ShdwOffsetY' V='0' F='No Formula'/><Cell N='PageScale' V='0' U='IN_F' F='No Formula'/><Cell N='DrawingScale' V='0' U='IN_F' F='No Formula'/><Cell N='DrawingSizeType' V='0' F='No Formula'/><Cell N='DrawingScaleType' V='0' F='No Formula'/><Cell N='InhibitSnap' V='0' F='No Formula'/><Cell N='PageLockReplace' V='0' U='BOOL' F='No Formula'/><Cell N='PageLockDuplicate' V='0' U='BOOL' F='No Formula'/><Cell N='UIVisibility' V='0' F='No Formula'/><Cell N='ShdwType' V='0' F='No Formula'/><Cell N='ShdwObliqueAngle' V='0' F='No Formula'/><Cell N='ShdwScaleFactor' V='0' F='No Formula'/><Cell N='DrawingResizeType' V='0' F='No Formula'/><Section N='Character'><Row IX='0'><Cell N='Font' V='Calibri'/><Cell N='Color' V='0'/><Cell N='Style' V='0'/><Cell N='Case' V='0'/><Cell N='Pos' V='0'/><Cell N='FontScale' V='1'/><Cell N='Size' V='0.1666666666666667'/><Cell N='DblUnderline' V='0'/><Cell N='Overline' V='0'/><Cell N='Strikethru' V='0'/><Cell N='DoubleStrikethrough' V='0'/><Cell N='Letterspace' V='0'/><Cell N='ColorTrans' V='0'/><Cell N='AsianFont' V='0'/><Cell N='ComplexScriptFont' V='0'/><Cell N='ComplexScriptSize' V='-1'/><Cell N='LangID' V='en-US'/></Row></Section><Section N='Paragraph'><Row IX='0'><Cell N='IndFirst' V='0'/><Cell N='IndLeft' V='0'/><Cell N='IndRight' V='0'/><Cell N='SpLine' V='-1.2'/><Cell N='SpBefore' V='0'/><Cell N='SpAfter' V='0'/><Cell N='HorzAlign' V='1'/><Cell N='Bullet' V='0'/><Cell N='BulletStr' V=''/><Cell N='BulletFont' V='0'/><Cell N='BulletFontSize' V='-1'/><Cell N='TextPosAfterBullet' V='0'/><Cell N='Flags' V='0'/></Row></Section><Section N='Tabs'><Row IX='0'/></Section><Section N='LineGradient'><Row IX='0'><Cell N='GradientStopColor' V='1'/><Cell N='GradientStopColorTrans' V='0'/><Cell N='GradientStopPosition' V='0'/></Row></Section><Section N='FillGradient'><Row IX='0'><Cell N='GradientStopColor' V='1'/><Cell N='GradientStopColorTrans' V='0'/><Cell N='GradientStopPosition' V='0'/></Row></Section></StyleSheet><StyleSheet ID='1' NameU='Text Only' IsCustomNameU='1' Name='Text Only' IsCustomName='1' LineStyle='3' FillStyle='3' TextStyle='3'><Cell N='EnableLineProps' V='1'/><Cell N='EnableFillProps' V='1'/><Cell N='EnableTextProps' V='1'/><Cell N='HideForApply' V='0'/><Cell N='LineWeight' V='Themed' F='Inh'/><Cell N='LineColor' V='Themed' F='Inh'/><Cell N='LinePattern' V='Themed' F='Inh'/><Cell N='Rounding' V='Themed' F='Inh'/><Cell N='EndArrowSize' V='2' F='Inh'/><Cell N='BeginArrow' V='0' F='Inh'/><Cell N='EndArrow' V='0' F='Inh'/><Cell N='LineCap' V='Themed' F='Inh'/><Cell N='BeginArrowSize' V='2' F='Inh'/><Cell N='LineColorTrans' V='Themed' F='Inh'/><Cell N='CompoundType' V='Themed' F='Inh'/><Cell N='FillForegnd' V='Themed' F='Inh'/><Cell N='FillBkgnd' V='Themed' F='Inh'/><Cell N='FillPattern' V='Themed' F='Inh'/><Cell N='ShdwForegnd' V='Themed' F='Inh'/><Cell N='ShdwPattern' V='Themed' F='Inh'/><Cell N='FillForegndTrans' V='Themed' F='Inh'/><Cell N='FillBkgndTrans' V='Themed' F='Inh'/><Cell N='ShdwForegndTrans' V='Themed' F='Inh'/><Cell N='ShapeShdwType' V='Themed' F='Inh'/><Cell N='ShapeShdwOffsetX' V='Themed' F='Inh'/><Cell N='ShapeShdwOffsetY' V='Themed' F='Inh'/><Cell N='ShapeShdwObliqueAngle' V='Themed' F='Inh'/><Cell N='ShapeShdwScaleFactor' V='Themed' F='Inh'/><Cell N='ShapeShdwBlur' V='Themed' F='Inh'/><Cell N='ShapeShdwShow' V='0' F='Inh'/><Cell N='LeftMargin' V='0'/><Cell N='RightMargin' V='0'/><Cell N='TopMargin' V='0'/><Cell N='BottomMargin' V='0'/><Cell N='VerticalAlign' V='0'/><Cell N='TextBkgnd' V='0'/><Cell N='DefaultTabStop' V='0.5' F='Inh'/><Cell N='TextDirection' V='0' F='Inh'/><Cell N='TextBkgndTrans' V='0' F='Inh'/><Cell N='LineGradientDir' V='Themed' F='Inh'/><Cell N='LineGradientAngle' V='Themed' F='Inh'/><Cell N='FillGradientDir' V='Themed' F='Inh'/><Cell N='FillGradientAngle' V='Themed' F='Inh'/><Cell N='LineGradientEnabled' V='Themed' F='Inh'/><Cell N='FillGradientEnabled' V='Themed' F='Inh'/><Cell N='RotateGradientWithShape' V='Themed' F='Inh'/><Cell N='UseGroupGradient' V='Themed' F='Inh'/><Section N='Paragraph'><Row IX='0'><Cell N='IndFirst' V='0' F='Inh'/><Cell N='IndLeft' V='0' F='Inh'/><Cell N='IndRight' V='0' F='Inh'/><Cell N='SpLine' V='-1.2' F='Inh'/><Cell N='SpBefore' V='0' F='Inh'/><Cell N='SpAfter' V='0' F='Inh'/><Cell N='HorzAlign' V='0'/><Cell N='Bullet' V='0' F='Inh'/><Cell N='BulletStr' V='' F='Inh'/><Cell N='BulletFont' V='0' F='Inh'/><Cell N='BulletFontSize' V='-1' F='Inh'/><Cell N='TextPosAfterBullet' V='0' F='Inh'/><Cell N='Flags' V='0' F='Inh'/></Row></Section></StyleSheet><StyleSheet ID='2' NameU='None' IsCustomNameU='1' Name='None' IsCustomName='1' LineStyle='3' FillStyle='3' TextStyle='3'><Cell N='EnableLineProps' V='1'/><Cell N='EnableFillProps' V='1'/><Cell N='EnableTextProps' V='1'/><Cell N='HideForApply' V='0'/><Cell N='LineWeight' V='Themed' F='Inh'/><Cell N='LineColor' V='Themed' F='Inh'/><Cell N='LinePattern' V='0'/><Cell N='Rounding' V='Themed' F='Inh'/><Cell N='EndArrowSize' V='2' F='Inh'/><Cell N='BeginArrow' V='0' F='Inh'/><Cell N='EndArrow' V='0' F='Inh'/><Cell N='LineCap' V='Themed' F='Inh'/><Cell N='BeginArrowSize' V='2' F='Inh'/><Cell N='LineColorTrans' V='Themed' F='Inh'/><Cell N='CompoundType' V='Themed' F='Inh'/><Cell N='FillForegnd' V='Themed' F='Inh'/><Cell N='FillBkgnd' V='Themed' F='Inh'/><Cell N='FillPattern' V='0'/><Cell N='ShdwForegnd' V='Themed' F='Inh'/><Cell N='ShdwPattern' V='Themed' F='Inh'/><Cell N='FillForegndTrans' V='Themed' F='Inh'/><Cell N='FillBkgndTrans' V='Themed' F='Inh'/><Cell N='ShdwForegndTrans' V='Themed' F='Inh'/><Cell N='ShapeShdwType' V='Themed' F='Inh'/><Cell N='ShapeShdwOffsetX' V='Themed' F='Inh'/><Cell N='ShapeShdwOffsetY' V='Themed' F='Inh'/><Cell N='ShapeShdwObliqueAngle' V='Themed' F='Inh'/><Cell N='ShapeShdwScaleFactor' V='Themed' F='Inh'/><Cell N='ShapeShdwBlur' V='Themed' F='Inh'/><Cell N='ShapeShdwShow' V='0' F='Inh'/><Cell N='LineGradientDir' V='Themed' F='Inh'/><Cell N='LineGradientAngle' V='Themed' F='Inh'/><Cell N='FillGradientDir' V='Themed' F='Inh'/><Cell N='FillGradientAngle' V='Themed' F='Inh'/><Cell N='LineGradientEnabled' V='0'/><Cell N='FillGradientEnabled' V='0'/><Cell N='RotateGradientWithShape' V='Themed' F='Inh'/><Cell N='UseGroupGradient' V='Themed' F='Inh'/><Cell N='QuickStyleLineColor' V='100' F='Inh'/><Cell N='QuickStyleFillColor' V='100' F='Inh'/><Cell N='QuickStyleShadowColor' V='100' F='Inh'/><Cell N='QuickStyleFontColor' V='100' F='Inh'/><Cell N='QuickStyleLineMatrix' V='100' F='Inh'/><Cell N='QuickStyleFillMatrix' V='100' F='Inh'/><Cell N='QuickStyleEffectsMatrix' V='0' F='GUARD(0)'/><Cell N='QuickStyleFontMatrix' V='100' F='Inh'/><Cell N='QuickStyleType' V='0' F='Inh'/><Cell N='QuickStyleVariation' V='2'/></StyleSheet><StyleSheet ID='3' NameU='Normal' IsCustomNameU='1' Name='Normal' IsCustomName='1' LineStyle='6' FillStyle='6' TextStyle='6'><Cell N='EnableLineProps' V='1'/><Cell N='EnableFillProps' V='1'/><Cell N='EnableTextProps' V='1'/><Cell N='HideForApply' V='0'/><Cell N='LeftMargin' V='0.05555555555555555' U='PT'/><Cell N='RightMargin' V='0.05555555555555555' U='PT'/><Cell N='TopMargin' V='0.05555555555555555' U='PT'/><Cell N='BottomMargin' V='0.05555555555555555' U='PT'/><Cell N='VerticalAlign' V='1' F='Inh'/><Cell N='TextBkgnd' V='0' F='Inh'/><Cell N='DefaultTabStop' V='0.5' F='Inh'/><Cell N='TextDirection' V='0' F='Inh'/><Cell N='TextBkgndTrans' V='0' F='Inh'/></StyleSheet><StyleSheet ID='4' NameU='Guide' IsCustomNameU='1' Name='Guide' IsCustomName='1' LineStyle='3' FillStyle='3' TextStyle='3'><Cell N='EnableLineProps' V='1'/><Cell N='EnableFillProps' V='1'/><Cell N='EnableTextProps' V='1'/><Cell N='HideForApply' V='0'/><Cell N='LineWeight' V='0' U='PT'/><Cell N='LineColor' V='#7f7f7f'/><Cell N='LinePattern' V='23'/><Cell N='Rounding' V='Themed' F='Inh'/><Cell N='EndArrowSize' V='2' F='Inh'/><Cell N='BeginArrow' V='0' F='Inh'/><Cell N='EndArrow' V='0' F='Inh'/><Cell N='LineCap' V='Themed' F='Inh'/><Cell N='BeginArrowSize' V='2' F='Inh'/><Cell N='LineColorTrans' V='Themed' F='Inh'/><Cell N='CompoundType' V='Themed' F='Inh'/><Cell N='FillForegnd' V='Themed' F='Inh'/><Cell N='FillBkgnd' V='Themed' F='Inh'/><Cell N='FillPattern' V='0'/><Cell N='ShdwForegnd' V='Themed' F='Inh'/><Cell N='ShdwPattern' V='Themed' F='Inh'/><Cell N='FillForegndTrans' V='Themed' F='Inh'/><Cell N='FillBkgndTrans' V='Themed' F='Inh'/><Cell N='ShdwForegndTrans' V='Themed' F='Inh'/><Cell N='ShapeShdwType' V='Themed' F='Inh'/><Cell N='ShapeShdwOffsetX' V='Themed' F='Inh'/><Cell N='ShapeShdwOffsetY' V='Themed' F='Inh'/><Cell N='ShapeShdwObliqueAngle' V='Themed' F='Inh'/><Cell N='ShapeShdwScaleFactor' V='Themed' F='Inh'/><Cell N='ShapeShdwBlur' V='Themed' F='Inh'/><Cell N='ShapeShdwShow' V='0' F='Inh'/><Cell N='LineGradientDir' V='Themed' F='Inh'/><Cell N='LineGradientAngle' V='Themed' F='Inh'/><Cell N='FillGradientDir' V='Themed' F='Inh'/><Cell N='FillGradientAngle' V='Themed' F='Inh'/><Cell N='LineGradientEnabled' V='0'/><Cell N='FillGradientEnabled' V='0'/><Cell N='RotateGradientWithShape' V='Themed' F='Inh'/><Cell N='UseGroupGradient' V='Themed' F='Inh'/><Cell N='LeftMargin' V='0.05555555555555555' U='PT' F='Inh'/><Cell N='RightMargin' V='0.05555555555555555' U='PT' F='Inh'/><Cell N='TopMargin' V='0'/><Cell N='BottomMargin' V='0'/><Cell N='VerticalAlign' V='2'/><Cell N='TextBkgnd' V='0' F='Inh'/><Cell N='DefaultTabStop' V='0.5' F='Inh'/><Cell N='TextDirection' V='0' F='Inh'/><Cell N='TextBkgndTrans' V='0' F='Inh'/><Cell N='NoObjHandles' V='0' F='Inh'/><Cell N='NonPrinting' V='1'/><Cell N='NoCtlHandles' V='0' F='Inh'/><Cell N='NoAlignBox' V='0' F='Inh'/><Cell N='UpdateAlignBox' V='0' F='Inh'/><Cell N='HideText' V='0' F='Inh'/><Cell N='DynFeedback' V='0' F='Inh'/><Cell N='GlueType' V='0' F='Inh'/><Cell N='WalkPreference' V='0' F='Inh'/><Cell N='BegTrigger' V='0' F='No Formula'/><Cell N='EndTrigger' V='0' F='No Formula'/><Cell N='ObjType' V='0' F='Inh'/><Cell N='Comment' V='' F='Inh'/><Cell N='IsDropSource' V='0' F='Inh'/><Cell N='NoLiveDynamics' V='0' F='Inh'/><Cell N='LocalizeMerge' V='0' F='Inh'/><Cell N='NoProofing' V='0' F='Inh'/><Cell N='Calendar' V='0' F='Inh'/><Cell N='LangID' V='en-US' F='Inh'/><Cell N='ShapeKeywords' V='' F='Inh'/><Cell N='DropOnPageScale' V='1' F='Inh'/><Cell N='ShapePermeableX' V='1'/><Cell N='ShapePermeableY' V='1'/><Cell N='ShapePermeablePlace' V='1'/><Cell N='Relationships' V='0' F='Inh'/><Cell N='ShapeFixedCode' V='0' F='Inh'/><Cell N='ShapePlowCode' V='0' F='Inh'/><Cell N='ShapeRouteStyle' V='0' F='Inh'/><Cell N='ShapePlaceStyle' V='0' F='Inh'/><Cell N='ConFixedCode' V='0' F='Inh'/><Cell N='ConLineJumpCode' V='0' F='Inh'/><Cell N='ConLineJumpStyle' V='0' F='Inh'/><Cell N='ConLineJumpDirX' V='0' F='Inh'/><Cell N='ConLineJumpDirY' V='0' F='Inh'/><Cell N='ShapePlaceFlip' V='0' F='Inh'/><Cell N='ConLineRouteExt' V='0' F='Inh'/><Cell N='ShapeSplit' V='0' F='Inh'/><Cell N='ShapeSplittable' V='0' F='Inh'/><Cell N='DisplayLevel' V='0' F='Inh'/><Section N='Character'><Row IX='0'><Cell N='Font' V='Themed' F='Inh'/><Cell N='Color' V='4'/><Cell N='Style' V='Themed' F='Inh'/><Cell N='Case' V='0' F='Inh'/><Cell N='Pos' V='0' F='Inh'/><Cell N='FontScale' V='1' F='Inh'/><Cell N='Size' V='0.125'/><Cell N='DblUnderline' V='0' F='Inh'/><Cell N='Overline' V='0' F='Inh'/><Cell N='Strikethru' V='0' F='Inh'/><Cell N='DoubleStrikethrough' V='0' F='Inh'/><Cell N='Letterspace' V='0' F='Inh'/><Cell N='ColorTrans' V='0' F='Inh'/><Cell N='AsianFont' V='Themed' F='Inh'/><Cell N='ComplexScriptFont' V='Themed' F='Inh'/><Cell N='ComplexScriptSize' V='-1' F='Inh'/><Cell N='LangID' V='en-US' F='Inh'/></Row></Section></StyleSheet><StyleSheet ID='6' NameU='Theme' IsCustomNameU='1' Name='Theme' IsCustomName='1' LineStyle='0' FillStyle='0' TextStyle='0'><Cell N='EnableLineProps' V='1'/><Cell N='EnableFillProps' V='1'/><Cell N='EnableTextProps' V='1'/><Cell N='HideForApply' V='0'/><Cell N='LineWeight' V='Themed' F='THEMEVAL()'/><Cell N='LineColor' V='Themed' F='THEMEVAL()'/><Cell N='LinePattern' V='Themed' F='THEMEVAL()'/><Cell N='Rounding' V='Themed' F='THEMEVAL()'/><Cell N='EndArrowSize' V='2' F='Inh'/><Cell N='BeginArrow' V='0' F='Inh'/><Cell N='EndArrow' V='0' F='Inh'/><Cell N='LineCap' V='Themed' F='THEMEVAL()'/><Cell N='BeginArrowSize' V='2' F='Inh'/><Cell N='LineColorTrans' V='Themed' F='THEMEVAL()'/><Cell N='CompoundType' V='Themed' F='THEMEVAL()'/><Cell N='FillForegnd' V='Themed' F='THEMEVAL()'/><Cell N='FillBkgnd' V='Themed' F='THEMEVAL()'/><Cell N='FillPattern' V='Themed' F='THEMEVAL()'/><Cell N='ShdwForegnd' V='Themed' F='THEMEVAL()'/><Cell N='ShdwPattern' V='Themed' F='THEMEVAL()'/><Cell N='FillForegndTrans' V='Themed' F='THEMEVAL()'/><Cell N='FillBkgndTrans' V='Themed' F='THEMEVAL()'/><Cell N='ShdwForegndTrans' V='Themed' F='THEMEVAL()'/><Cell N='ShapeShdwType' V='Themed' F='THEMEVAL()'/><Cell N='ShapeShdwOffsetX' V='Themed' F='THEMEVAL()'/><Cell N='ShapeShdwOffsetY' V='Themed' F='THEMEVAL()'/><Cell N='ShapeShdwObliqueAngle' V='Themed' F='THEMEVAL()'/><Cell N='ShapeShdwScaleFactor' V='Themed' F='THEMEVAL()'/><Cell N='ShapeShdwBlur' V='Themed' F='THEMEVAL()'/><Cell N='ShapeShdwShow' V='0' F='Inh'/><Cell N='LineGradientDir' V='Themed' F='THEMEVAL()'/><Cell N='LineGradientAngle' V='Themed' F='THEMEVAL()'/><Cell N='FillGradientDir' V='Themed' F='THEMEVAL()'/><Cell N='FillGradientAngle' V='Themed' F='THEMEVAL()'/><Cell N='LineGradientEnabled' V='Themed' F='THEMEVAL()'/><Cell N='FillGradientEnabled' V='Themed' F='THEMEVAL()'/><Cell N='RotateGradientWithShape' V='Themed' F='THEMEVAL()'/><Cell N='UseGroupGradient' V='Themed' F='THEMEVAL()'/><Cell N='BevelTopType' V='Themed' F='THEMEVAL()'/><Cell N='BevelTopWidth' V='Themed' F='THEMEVAL()'/><Cell N='BevelTopHeight' V='Themed' F='THEMEVAL()'/><Cell N='BevelBottomType' V='0' F='Inh'/><Cell N='BevelBottomWidth' V='0' F='Inh'/><Cell N='BevelBottomHeight' V='0' F='Inh'/><Cell N='BevelDepthColor' V='1' F='Inh'/><Cell N='BevelDepthSize' V='0' F='Inh'/><Cell N='BevelContourColor' V='Themed' F='THEMEVAL()'/><Cell N='BevelContourSize' V='Themed' F='THEMEVAL()'/><Cell N='BevelMaterialType' V='Themed' F='THEMEVAL()'/><Cell N='BevelLightingType' V='Themed' F='THEMEVAL()'/><Cell N='BevelLightingAngle' V='Themed' F='THEMEVAL()'/><Cell N='ReflectionTrans' V='Themed' F='THEMEVAL()'/><Cell N='ReflectionSize' V='Themed' F='THEMEVAL()'/><Cell N='ReflectionDist' V='Themed' F='THEMEVAL()'/><Cell N='ReflectionBlur' V='Themed' F='THEMEVAL()'/><Cell N='GlowColor' V='Themed' F='THEMEVAL()'/><Cell N='GlowColorTrans' V='Themed' F='THEMEVAL()'/><Cell N='GlowSize' V='Themed' F='THEMEVAL()'/><Cell N='SoftEdgesSize' V='Themed' F='THEMEVAL()'/><Cell N='SketchSeed' V='0' F='Inh'/><Cell N='SketchEnabled' V='Themed' F='THEMEVAL()'/><Cell N='SketchAmount' V='Themed' F='THEMEVAL()'/><Cell N='SketchLineWeight' V='Themed' F='THEMEVAL()'/><Cell N='SketchLineChange' V='Themed' F='THEMEVAL()'/><Cell N='SketchFillChange' V='Themed' F='THEMEVAL()'/><Cell N='QuickStyleLineColor' V='100'/><Cell N='QuickStyleFillColor' V='100'/><Cell N='QuickStyleShadowColor' V='100'/><Cell N='QuickStyleFontColor' V='100'/><Cell N='QuickStyleLineMatrix' V='100'/><Cell N='QuickStyleFillMatrix' V='100'/><Cell N='QuickStyleEffectsMatrix' V='100'/><Cell N='QuickStyleFontMatrix' V='100'/><Cell N='QuickStyleType' V='0' F='Inh'/><Cell N='QuickStyleVariation' V='0' F='Inh'/><Cell N='ColorSchemeIndex' V='65534'/><Cell N='EffectSchemeIndex' V='65534'/><Cell N='ConnectorSchemeIndex' V='65534'/><Cell N='FontSchemeIndex' V='65534'/><Cell N='ThemeIndex' V='65534'/><Cell N='VariationColorIndex' V='65534'/><Cell N='VariationStyleIndex' V='65534'/><Cell N='EmbellishmentIndex' V='65534'/><Section N='Character'><Row IX='0'><Cell N='Font' V='Themed' F='THEMEVAL()'/><Cell N='Color' V='Themed' F='THEMEVAL()'/><Cell N='Style' V='Themed' F='THEMEVAL()'/><Cell N='Case' V='0' F='Inh'/><Cell N='Pos' V='0' F='Inh'/><Cell N='FontScale' V='1' F='Inh'/><Cell N='Size' V='0.1666666666666667' F='Inh'/><Cell N='DblUnderline' V='0' F='Inh'/><Cell N='Overline' V='0' F='Inh'/><Cell N='Strikethru' V='0' F='Inh'/><Cell N='DoubleStrikethrough' V='0' F='Inh'/><Cell N='Letterspace' V='0' F='Inh'/><Cell N='ColorTrans' V='0' F='Inh'/><Cell N='AsianFont' V='Themed' F='THEMEVAL()'/><Cell N='ComplexScriptFont' V='Themed' F='THEMEVAL()'/><Cell N='ComplexScriptSize' V='-1' F='Inh'/><Cell N='LangID' V='en-US' F='Inh'/></Row></Section><Section N='FillGradient'><Row IX='0'><Cell N='GradientStopColor' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopColorTrans' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopPosition' V='Themed' F='THEMEVAL()'/></Row><Row IX='1'><Cell N='GradientStopColor' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopColorTrans' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopPosition' V='Themed' F='THEMEVAL()'/></Row><Row IX='2'><Cell N='GradientStopColor' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopColorTrans' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopPosition' V='Themed' F='THEMEVAL()'/></Row><Row IX='3'><Cell N='GradientStopColor' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopColorTrans' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopPosition' V='Themed' F='THEMEVAL()'/></Row><Row IX='4'><Cell N='GradientStopColor' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopColorTrans' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopPosition' V='Themed' F='THEMEVAL()'/></Row><Row IX='5'><Cell N='GradientStopColor' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopColorTrans' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopPosition' V='Themed' F='THEMEVAL()'/></Row><Row IX='6'><Cell N='GradientStopColor' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopColorTrans' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopPosition' V='Themed' F='THEMEVAL()'/></Row><Row IX='7'><Cell N='GradientStopColor' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopColorTrans' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopPosition' V='Themed' F='THEMEVAL()'/></Row><Row IX='8'><Cell N='GradientStopColor' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopColorTrans' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopPosition' V='Themed' F='THEMEVAL()'/></Row><Row IX='9'><Cell N='GradientStopColor' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopColorTrans' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopPosition' V='Themed' F='THEMEVAL()'/></Row></Section><Section N='LineGradient'><Row IX='0'><Cell N='GradientStopColor' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopColorTrans' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopPosition' V='Themed' F='THEMEVAL()'/></Row><Row IX='1'><Cell N='GradientStopColor' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopColorTrans' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopPosition' V='Themed' F='THEMEVAL()'/></Row><Row IX='2'><Cell N='GradientStopColor' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopColorTrans' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopPosition' V='Themed' F='THEMEVAL()'/></Row><Row IX='3'><Cell N='GradientStopColor' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopColorTrans' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopPosition' V='Themed' F='THEMEVAL()'/></Row><Row IX='4'><Cell N='GradientStopColor' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopColorTrans' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopPosition' V='Themed' F='THEMEVAL()'/></Row><Row IX='5'><Cell N='GradientStopColor' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopColorTrans' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopPosition' V='Themed' F='THEMEVAL()'/></Row><Row IX='6'><Cell N='GradientStopColor' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopColorTrans' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopPosition' V='Themed' F='THEMEVAL()'/></Row><Row IX='7'><Cell N='GradientStopColor' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopColorTrans' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopPosition' V='Themed' F='THEMEVAL()'/></Row><Row IX='8'><Cell N='GradientStopColor' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopColorTrans' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopPosition' V='Themed' F='THEMEVAL()'/></Row><Row IX='9'><Cell N='GradientStopColor' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopColorTrans' V='Themed' F='THEMEVAL()'/><Cell N='GradientStopPosition' V='Themed' F='THEMEVAL()'/></Row></Section></StyleSheet><StyleSheet ID='7' NameU='Connector' IsCustomNameU='1' Name='Connector' IsCustomName='1' LineStyle='3' FillStyle='3' TextStyle='3'><Cell N='EnableLineProps' V='1'/><Cell N='EnableFillProps' V='1'/><Cell N='EnableTextProps' V='1'/><Cell N='HideForApply' V='0'/><Cell N='LeftMargin' V='0.05555555555555555' U='PT' F='Inh'/><Cell N='RightMargin' V='0.05555555555555555' U='PT' F='Inh'/><Cell N='TopMargin' V='0.05555555555555555' U='PT' F='Inh'/><Cell N='BottomMargin' V='0.05555555555555555' U='PT' F='Inh'/><Cell N='VerticalAlign' V='1' F='Inh'/><Cell N='TextBkgnd' V='#ffffff' F='THEMEGUARD(THEMEVAL(\"BackgroundColor\")+1)'/><Cell N='DefaultTabStop' V='0.5' F='Inh'/><Cell N='TextDirection' V='0' F='Inh'/><Cell N='TextBkgndTrans' V='0' F='Inh'/><Cell N='NoObjHandles' V='0' F='Inh'/><Cell N='NonPrinting' V='0' F='Inh'/><Cell N='NoCtlHandles' V='0' F='Inh'/><Cell N='NoAlignBox' V='0' F='Inh'/><Cell N='UpdateAlignBox' V='0' F='Inh'/><Cell N='HideText' V='0' F='Inh'/><Cell N='DynFeedback' V='0' F='Inh'/><Cell N='GlueType' V='0' F='Inh'/><Cell N='WalkPreference' V='0' F='Inh'/><Cell N='BegTrigger' V='0' F='No Formula'/><Cell N='EndTrigger' V='0' F='No Formula'/><Cell N='ObjType' V='0' F='Inh'/><Cell N='Comment' V='' F='Inh'/><Cell N='IsDropSource' V='0' F='Inh'/><Cell N='NoLiveDynamics' V='0' F='Inh'/><Cell N='LocalizeMerge' V='0' F='Inh'/><Cell N='NoProofing' V='0' F='Inh'/><Cell N='Calendar' V='0' F='Inh'/><Cell N='LangID' V='en-US' F='Inh'/><Cell N='ShapeKeywords' V='' F='Inh'/><Cell N='DropOnPageScale' V='1' F='Inh'/><Cell N='QuickStyleLineColor' V='100'/><Cell N='QuickStyleFillColor' V='100'/><Cell N='QuickStyleShadowColor' V='100'/><Cell N='QuickStyleFontColor' V='100'/><Cell N='QuickStyleLineMatrix' V='1'/><Cell N='QuickStyleFillMatrix' V='1'/><Cell N='QuickStyleEffectsMatrix' V='1'/><Cell N='QuickStyleFontMatrix' V='1'/><Cell N='QuickStyleType' V='0'/><Cell N='QuickStyleVariation' V='0'/><Cell N='LineWeight' V='Themed' F='Inh'/><Cell N='LineColor' V='Themed' F='Inh'/><Cell N='LinePattern' V='Themed' F='Inh'/><Cell N='Rounding' V='Themed' F='Inh'/><Cell N='EndArrowSize' V='Themed' F='THEMEVAL()'/><Cell N='BeginArrow' V='Themed' F='THEMEVAL()'/><Cell N='EndArrow' V='Themed' F='THEMEVAL()'/><Cell N='LineCap' V='Themed' F='Inh'/><Cell N='BeginArrowSize' V='Themed' F='THEMEVAL()'/><Cell N='LineColorTrans' V='Themed' F='Inh'/><Cell N='CompoundType' V='Themed' F='Inh'/><Section N='Character'><Row IX='0'><Cell N='Font' V='Themed' F='Inh'/><Cell N='Color' V='Themed' F='Inh'/><Cell N='Style' V='Themed' F='Inh'/><Cell N='Case' V='0' F='Inh'/><Cell N='Pos' V='0' F='Inh'/><Cell N='FontScale' V='1' F='Inh'/><Cell N='Size' V='0.1111111111111111'/><Cell N='DblUnderline' V='0' F='Inh'/><Cell N='Overline' V='0' F='Inh'/><Cell N='Strikethru' V='0' F='Inh'/><Cell N='DoubleStrikethrough' V='0' F='Inh'/><Cell N='Letterspace' V='0' F='Inh'/><Cell N='ColorTrans' V='0' F='Inh'/><Cell N='AsianFont' V='Themed' F='Inh'/><Cell N='ComplexScriptFont' V='Themed' F='Inh'/><Cell N='ComplexScriptSize' V='-1' F='Inh'/><Cell N='LangID' V='en-US' F='Inh'/></Row></Section></StyleSheet></StyleSheets><DocumentSheet NameU='TheDoc' IsCustomNameU='1' Name='TheDoc' IsCustomName='1' LineStyle='0' FillStyle='0' TextStyle='0'><Cell N='OutputFormat' V='0'/><Cell N='LockPreview' V='0'/><Cell N='AddMarkup' V='0'/><Cell N='ViewMarkup' V='0'/><Cell N='DocLockReplace' V='0' U='BOOL'/><Cell N='NoCoauth' V='0' U='BOOL'/><Cell N='DocLockDuplicatePage' V='0' U='BOOL'/><Cell N='PreviewQuality' V='0'/><Cell N='PreviewScope' V='0'/><Cell N='DocLangID' V='en-US'/><Section N='User'><Row N='msvNoAutoConnect'><Cell N='Value' V='1'/><Cell N='Prompt' V='' F='No Formula'/></Row></Section></DocumentSheet></VisioDocument>",
 "visio/windows.xml":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><Windows ClientWidth='0' ClientHeight='0' xmlns='http://schemas.microsoft.com/office/visio/2012/main' xmlns:r='http://schemas.openxmlformats.org/officeDocument/2006/relationships' xml:space='preserve' />","visio/_rels/document.xml.rels":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><Relationships xmlns='http://schemas.openxmlformats.org/package/2006/relationships'><Relationship Id='rId1' Type='http://schemas.microsoft.com/visio/2010/relationships/masters' Target='masters/masters.xml' /><Relationship Id='rId2' Type='http://schemas.microsoft.com/visio/2010/relationships/pages' Target='pages/pages.xml' /><Relationship Id='rId3' Type='http://schemas.microsoft.com/visio/2010/relationships/windows' Target='windows.xml' /></Relationships>",
 "visio/masters/_rels/masters.xml.rels":'<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.microsoft.com/visio/2010/relationships/master" Target="master1.xml"/></Relationships>',"visio/masters/masters.xml":"<?xml version='1.0' encoding='utf-8' ?><Masters xmlns='http://schemas.microsoft.com/office/visio/2012/main' xmlns:r='http://schemas.openxmlformats.org/officeDocument/2006/relationships' xml:space='preserve'><Master ID='4' NameU='Dynamic connector' IsCustomNameU='1' Name='Dynamic connector' IsCustomName='1' Prompt='This connector automatically routes between the shapes it connects.' IconSize='1' AlignName='2' MatchByName='1' IconUpdate='0' UniqueID='{002A9108-0000-0000-8E40-00608CF305B2}' BaseID='{F7290A45-E3AD-11D2-AE4F-006008C9F5A9}' PatternFlags='0' Hidden='0' MasterType='0'><PageSheet LineStyle='0' FillStyle='0' TextStyle='0'><Cell N='PageWidth' V='3'/><Cell N='PageHeight' V='3'/><Cell N='ShdwOffsetX' V='0.125'/><Cell N='ShdwOffsetY' V='-0.125'/><Cell N='PageScale' V='1' U='IN_F'/><Cell N='DrawingScale' V='1' U='IN_F'/><Cell N='DrawingSizeType' V='4'/><Cell N='DrawingScaleType' V='0'/><Cell N='InhibitSnap' V='0'/><Cell N='PageLockReplace' V='0' U='BOOL'/><Cell N='PageLockDuplicate' V='0' U='BOOL'/><Cell N='UIVisibility' V='0'/><Cell N='ShdwType' V='0'/><Cell N='ShdwObliqueAngle' V='0'/><Cell N='ShdwScaleFactor' V='1'/><Cell N='DrawingResizeType' V='0'/><Section N='Layer'><Row IX='0'><Cell N='Name' V='Connector'/><Cell N='Color' V='255'/><Cell N='Status' V='0'/><Cell N='Visible' V='1'/><Cell N='Print' V='1'/><Cell N='Active' V='0'/><Cell N='Lock' V='0'/><Cell N='Snap' V='1'/><Cell N='Glue' V='1'/><Cell N='NameUniv' V='Connector'/><Cell N='ColorTrans' V='0'/></Row></Section></PageSheet><Rel r:id='rId1'/></Master></Masters>",
 "visio/masters/master1.xml":"<?xml version='1.0' encoding='utf-8' ?><MasterContents xmlns='http://schemas.microsoft.com/office/visio/2012/main' xmlns:r='http://schemas.openxmlformats.org/officeDocument/2006/relationships' xml:space='preserve'><Shapes><Shape ID='5' OriginalID='0' Type='Shape' LineStyle='7' FillStyle='7' TextStyle='7'><Cell N='PinX' V='1.5' F='GUARD((BeginX+EndX)/2)'/><Cell N='PinY' V='1.5' F='GUARD((BeginY+EndY)/2)'/><Cell N='Width' V='1' F='GUARD(EndX-BeginX)'/><Cell N='Height' V='-1' F='GUARD(EndY-BeginY)'/><Cell N='LocPinX' V='0.5' F='GUARD(Width*0.5)'/><Cell N='LocPinY' V='-0.5' F='GUARD(Height*0.5)'/><Cell N='Angle' V='0' F='GUARD(0DA)'/><Cell N='FlipX' V='0' F='GUARD(FALSE)'/><Cell N='FlipY' V='0' F='GUARD(FALSE)'/><Cell N='ResizeMode' V='0'/><Cell N='BeginX' V='1'/><Cell N='BeginY' V='2'/><Cell N='EndX' V='2'/><Cell N='EndY' V='1'/><Cell N='TxtPinX' V='0' F='SETATREF(Controls.TextPosition)'/><Cell N='TxtPinY' V='-1' F='SETATREF(Controls.TextPosition.Y)'/><Cell N='TxtWidth' V='0.5555555555555556' F='MAX(TEXTWIDTH(TheText),5*Char.Size)'/><Cell N='TxtHeight' V='0.2444444444444444' F='TEXTHEIGHT(TheText,TxtWidth)'/><Cell N='TxtLocPinX' V='0.2777777777777778' F='TxtWidth*0.5'/><Cell N='TxtLocPinY' V='0.1222222222222222' F='TxtHeight*0.5'/><Cell N='TxtAngle' V='0'/><Cell N='LockHeight' V='1'/><Cell N='LockCalcWH' V='1'/><Cell N='HelpTopic' V='Vis_SE.chm!#20000'/><Cell N='Copyright' V='Copyright 2001 Microsoft Corporation.  All rights reserved.'/><Cell N='NoAlignBox' V='1'/><Cell N='DynFeedback' V='2'/><Cell N='GlueType' V='2'/><Cell N='ObjType' V='2'/><Cell N='NoLiveDynamics' V='1'/><Cell N='ShapeSplittable' V='1'/><Cell N='LayerMember' V='0'/><Section N='Control'><Row N='TextPosition'><Cell N='X' V='0'/><Cell N='Y' V='-1'/><Cell N='XDyn' V='0' F='Controls.TextPosition'/><Cell N='YDyn' V='-1' F='Controls.TextPosition.Y'/><Cell N='XCon' V='5' F='IF(OR(STRSAME(SHAPETEXT(TheText),\"\"),HideText),5,0)'/><Cell N='YCon' V='0'/><Cell N='CanGlue' V='0'/><Cell N='Prompt' V='Reposition Text'/></Row></Section><Section N='Geometry' IX='0'><Cell N='NoFill' V='1'/><Cell N='NoLine' V='0'/><Cell N='NoShow' V='0'/><Cell N='NoSnap' V='0'/><Cell N='NoQuickDrag' V='0'/><Row T='MoveTo' IX='1'><Cell N='X' V='0'/><Cell N='Y' V='0'/></Row><Row T='LineTo' IX='2'><Cell N='X' V='0'/><Cell N='Y' V='-1'/></Row></Section></Shape></Shapes></MasterContents>"},
-g;for(g in d)if(1<b&&g==G.CONTENT_TYPES_XML){for(var p=mxUtils.parseXml(d[g]),c=p.documentElement,e=c.children,y=null,f=0;f<e.length;f++){var x=e[f];"/visio/pages/page1.xml"==x.getAttribute(G.PART_NAME)&&(y=x)}for(f=2;f<=b;f++)e=y.cloneNode(),e.setAttribute(G.PART_NAME,"/visio/pages/page"+f+".xml"),c.appendChild(e);F(a,g,p,!0)}else a.file(g,d[g])}function m(a,b,d){return null!=a.createElementNS?a.createElementNS(b,d):a.createElement(d)}function k(a){var b=Z[a];null==b&&(b=Y++,Z[a]=b);return b}function f(a){var b=
-{};try{var d=a.getGraphBounds().clone(),g=a.view.scale,p=a.view.translate,c=Math.round(d.x/g)-p.x,e=Math.round(d.y/g)-p.y,y=a.pageFormat.width,f=a.pageFormat.height;0>c&&(c+=Math.ceil((p.x-d.x/g)/y)*y);0>e&&(e+=Math.ceil((p.y-d.y/g)/f)*f);var x=Math.max(1,Math.ceil((d.width/g+c)/y)),A=Math.max(1,Math.ceil((d.height/g+e)/f));b.gridEnabled=a.gridEnabled;b.gridSize=a.gridSize;b.guidesEnabled=a.graphHandler.guidesEnabled;b.pageVisible=a.pageVisible;b.pageScale=a.pageScale;b.pageWidth=a.pageFormat.width*
-x;b.pageHeight=a.pageFormat.height*A;b.backgroundClr=a.background;b.mathEnabled=a.mathEnabled;b.shadowVisible=a.shadowVisible}catch(qb){}return b}function e(a,d,g,p){return b(a,d/G.CONVERSION_FACTOR,g,p)}function b(a,b,d,g){d=m(d,G.XMLNS,"Cell");d.setAttribute("N",a);d.setAttribute("V",b);g&&d.setAttribute("F",g);return d}function a(a,b,d,g,p){var c=m(p,G.XMLNS,"Row");c.setAttribute("T",a);c.setAttribute("IX",b);c.appendChild(e("X",d,p));c.appendChild(e("Y",g,p));return c}function d(a,d,g){var p=
-a.style[mxConstants.STYLE_FILLCOLOR];if(p&&"none"!=p){if(d.appendChild(b("FillForegnd",p,g)),(p=a.style[mxConstants.STYLE_GRADIENTCOLOR])&&"none"!=p){d.appendChild(b("FillBkgnd",p,g));var p=a.style[mxConstants.STYLE_GRADIENT_DIRECTION],c=28;if(p)switch(p){case mxConstants.DIRECTION_EAST:c=25;break;case mxConstants.DIRECTION_WEST:c=27;break;case mxConstants.DIRECTION_NORTH:c=30}d.appendChild(b("FillPattern",c,g))}}else d.appendChild(b("FillPattern",0,g));(p=a.style[mxConstants.STYLE_STROKECOLOR])&&
-"none"!=p?d.appendChild(b("LineColor",p,g)):d.appendChild(b("LinePattern",0,g));(p=a.style[mxConstants.STYLE_STROKEWIDTH])&&d.appendChild(e("LineWeight",p,g));(c=a.style[mxConstants.STYLE_OPACITY])?p=c:(p=a.style[mxConstants.STYLE_FILL_OPACITY],c=a.style[mxConstants.STYLE_STROKE_OPACITY]);p&&d.appendChild(b("FillForegndTrans",1-parseInt(p)/100,g));c&&d.appendChild(b("LineColorTrans",1-parseInt(c)/100,g));if(1==a.style[mxConstants.STYLE_DASHED]){p=a.style[mxConstants.STYLE_DASH_PATTERN];c=9;if(p)switch(p){case "1 1":c=
-10;break;case "1 2":c=3;break;case "1 4":c=17}d.appendChild(b("LinePattern",c,g))}1==a.style[mxConstants.STYLE_SHADOW]&&(d.appendChild(b("ShdwPattern",1,g)),d.appendChild(b("ShdwForegnd","#000000",g)),d.appendChild(b("ShdwForegndTrans",.6,g)),d.appendChild(b("ShapeShdwType",1,g)),d.appendChild(b("ShapeShdwOffsetX","0.02946278254943948",g)),d.appendChild(b("ShapeShdwOffsetY","-0.02946278254943948",g)),d.appendChild(b("ShapeShdwScaleFactor","1",g)),d.appendChild(b("ShapeShdwBlur","0.05555555555555555",
-g)),d.appendChild(b("ShapeShdwShow",2,g)));1==a.style[mxConstants.STYLE_FLIPH]&&d.appendChild(b("FlipX",1,g));1==a.style[mxConstants.STYLE_FLIPV]&&d.appendChild(b("FlipY",1,g));1==a.style[mxConstants.STYLE_ROUNDED]&&d.appendChild(e("Rounding",.1*a.cell.geometry.width,g));(a=a.style[mxConstants.STYLE_LABEL_BACKGROUNDCOLOR])&&d.appendChild(b("TextBkgnd",a,g))}function g(a,b,d,g,p){var c=m(d,G.XMLNS,"Shape");c.setAttribute("ID",a);c.setAttribute("NameU","Shape"+a);c.setAttribute("LineStyle","0");c.setAttribute("FillStyle",
-"0");c.setAttribute("TextStyle","0");a=b.width/2;var y=b.height/2;c.appendChild(e("PinX",b.x+a+(p?0:D.shiftX),d));c.appendChild(e("PinY",g-b.y-y-(p?0:D.shiftY),d));c.appendChild(e("Width",b.width,d));c.appendChild(e("Height",b.height,d));c.appendChild(e("LocPinX",a,d));c.appendChild(e("LocPinY",y,d));return c}function p(a,b){var d=G.ARROWS_MAP[(null==a?"none":a)+"|"+(null==b?"1":b)];return null!=d?d:1}function y(a){return null==a?2:2>=a?0:3>=a?1:5>=a?2:7>=a?3:9>=a?4:22>=a?5:6}function A(g,c,f,x,A){var z=
-c.view.getState(g,!0);if(null==z||null==z.absolutePoints||null==z.cellBounds)return null;c=m(f,G.XMLNS,"Shape");var n=k(g.id);c.setAttribute("ID",n);c.setAttribute("NameU","Dynamic connector."+n);c.setAttribute("Name","Dynamic connector."+n);c.setAttribute("Type","Shape");c.setAttribute("Master","4");var F=D.state,n=z.absolutePoints,B=z.cellBounds,C=B.width/2,aa=B.height/2;c.appendChild(e("PinX",B.x+C,f));c.appendChild(e("PinY",x-B.y-aa,f));c.appendChild(e("Width",B.width,f));c.appendChild(e("Height",
-B.height,f));c.appendChild(e("LocPinX",C,f));c.appendChild(e("LocPinY",aa,f));D.newEdge(c,z,f);C=function(a,b){var d=a.x,g=a.y,d=d*F.scale-B.x+F.dx+(A?0:D.shiftX),g=(b?0:B.height)-g*F.scale+B.y-F.dy-(A?0:D.shiftY);return{x:d,y:g}};aa=C(n[0],!0);c.appendChild(e("BeginX",B.x+aa.x,f,"_WALKGLUE(BegTrigger,EndTrigger,WalkPreference)"));c.appendChild(e("BeginY",x-B.y+aa.y,f,"_WALKGLUE(BegTrigger,EndTrigger,WalkPreference)"));aa=C(n[n.length-1],!0);c.appendChild(e("EndX",B.x+aa.x,f,"_WALKGLUE(EndTrigger,BegTrigger,WalkPreference)"));
-c.appendChild(e("EndY",x-B.y+aa.y,f,"_WALKGLUE(EndTrigger,BegTrigger,WalkPreference)"));c.appendChild(b("BegTrigger","2",f,g.source?"_XFTRIGGER(Sheet."+k(g.source.id)+"!EventXFMod)":null));c.appendChild(b("EndTrigger","2",f,g.target?"_XFTRIGGER(Sheet."+k(g.target.id)+"!EventXFMod)":null));c.appendChild(b("ConFixedCode","6",f));c.appendChild(b("LayerMember","0",f));d(z,c,f);x=z.style[mxConstants.STYLE_STARTSIZE];g=p(z.style[mxConstants.STYLE_STARTARROW],z.style[mxConstants.STYLE_STARTFILL]);c.appendChild(b("BeginArrow",
-g,f));c.appendChild(b("BeginArrowSize",y(x),f));x=z.style[mxConstants.STYLE_ENDSIZE];g=p(z.style[mxConstants.STYLE_ENDARROW],z.style[mxConstants.STYLE_ENDFILL]);c.appendChild(b("EndArrow",g,f));c.appendChild(b("EndArrowSize",y(x),f));null!=z.text&&z.text.checkBounds()&&(D.save(),z.text.paint(D),D.restore());z=m(f,G.XMLNS,"Section");z.setAttribute("N","Geometry");z.setAttribute("IX","0");for(g=0;g<n.length;g++)x=C(n[g]),z.appendChild(a(0==g?"MoveTo":"LineTo",g+1,x.x,x.y,f));z.appendChild(b("NoFill",
-"1",f));z.appendChild(b("NoLine","0",f));c.appendChild(z);return c}function x(a,b,p,c,e,y){var f=a.geometry;if(null!=f){f.relative&&e&&(f=f.clone(),f.x*=e.width,f.y*=e.height,f.relative=0);e=k(a.id);if(!a.treatAsSingle&&0<a.getChildCount()){c=g(e+"10000",f,p,c,y);c.setAttribute("Type","Group");y=m(p,G.XMLNS,"Shapes");D.save();D.translate(-f.x,-f.y);e=f.clone();e.x=0;e.y=0;a.setGeometry(e);a.treatAsSingle=!0;e=x(a,b,p,f.height,f,!0);a.treatAsSingle=!1;a.setGeometry(f);null!=e&&y.appendChild(e);for(var z=
-0;z<a.getChildCount();z++)e=x(a.children[z],b,p,f.height,f,!0),null!=e&&y.appendChild(e);c.appendChild(y);D.restore();return c}return a.vertex?(c=g(e,f,p,c,y),a=b.view.getState(a,!0),d(a,c,p),D.newShape(c,a,p),null!=a.text&&a.text.checkBounds()&&(D.save(),a.text.paint(D),D.restore()),null!=a.shape&&a.shape.checkBounds()&&(D.save(),a.shape.paint(D),D.restore()),c.appendChild(D.getShapeGeo()),D.endShape(),c.setAttribute("Type",D.getShapeType()),c):A(a,b,p,c,y)}return null}function z(a,b){var d=mxUtils.createXmlDocument(),
-g=m(d,G.XMLNS,"PageContents");g.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns",G.XMLNS);g.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:r",G.XMLNS_R);var p=m(d,G.XMLNS,"Shapes");g.appendChild(p);var c=a.model,e=a.view.translate,y=a.view.scale,f=a.getGraphBounds();D.shiftX=0;D.shiftY=0;if(f.x/y<e.x||f.y/y<e.y)D.shiftX=Math.ceil((e.x-f.x/y)/a.pageFormat.width)*a.pageFormat.width,D.shiftY=Math.ceil((e.y-f.y/y)/a.pageFormat.height)*a.pageFormat.height;D.save();D.translate(-e.x,-e.y);D.scale(1/
-y);D.newPage();var y=a.getDefaultParent(),A;for(A in c.cells)e=c.cells[A],e.parent==y&&(e=x(e,a,d,b.pageHeight),null!=e&&p.appendChild(e));p=m(d,G.XMLNS,"Connects");g.appendChild(p);for(A in c.cells)e=c.cells[A],e.edge&&(e.source&&(y=m(d,G.XMLNS,"Connect"),y.setAttribute("FromSheet",k(e.id)),y.setAttribute("FromCell","BeginX"),y.setAttribute("ToSheet",k(e.source.id)),p.appendChild(y)),e.target&&(y=m(d,G.XMLNS,"Connect"),y.setAttribute("FromSheet",k(e.id)),y.setAttribute("FromCell","EndX"),y.setAttribute("ToSheet",
-k(e.target.id)),p.appendChild(y)));d.appendChild(g);D.restore();return d}function F(a,b,d,g){a.file(b,(g?"":'<?xml version="1.0" encoding="UTF-8" standalone="yes"?>')+mxUtils.getXml(d,"\n"))}function B(a,d,g){var p=mxUtils.createXmlDocument(),c=mxUtils.createXmlDocument(),y=m(p,G.XMLNS,"Pages");y.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns",G.XMLNS);y.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:r",G.XMLNS_R);var f=m(c,G.RELS_XMLNS,"Relationships"),x=1,A;for(A in d){var k="page"+
-x+".xml",z=m(p,G.XMLNS,"Page");z.setAttribute("ID",x-1);z.setAttribute("NameU",A);z.setAttribute("Name",A);var n=m(p,G.XMLNS,"PageSheet"),B=g[A];n.appendChild(e("PageWidth",B.pageWidth,p));n.appendChild(e("PageHeight",B.pageHeight,p));n.appendChild(b("PageScale",B.pageScale,p));n.appendChild(b("DrawingScale",1,p));B=m(p,G.XMLNS,"Rel");B.setAttributeNS(G.XMLNS_R,"r:id","rId"+x);var C=m(p,G.XMLNS,"Section");C.setAttribute("N","Layer");var D=m(p,G.XMLNS,"Row");D.setAttribute("IX","0");C.appendChild(D);
-D.appendChild(b("Name","Connector",p));D.appendChild(b("Color","255",p));D.appendChild(b("Status","0",p));D.appendChild(b("Visible","1",p));D.appendChild(b("Print","1",p));D.appendChild(b("Active","0",p));D.appendChild(b("Lock","0",p));D.appendChild(b("Snap","1",p));D.appendChild(b("Glue","1",p));D.appendChild(b("NameUniv","Connector",p));D.appendChild(b("ColorTrans","0",p));n.appendChild(C);z.appendChild(n);z.appendChild(B);y.appendChild(z);z=m(c,G.RELS_XMLNS,"Relationship");z.setAttribute("Id",
-"rId"+x);z.setAttribute("Type",G.PAGES_TYPE);z.setAttribute("Target",k);f.appendChild(z);F(a,G.VISIO_PAGES+k,d[A]);x++}p.appendChild(y);c.appendChild(f);F(a,G.VISIO_PAGES+"pages.xml",p);F(a,G.VISIO_PAGES+"_rels/pages.xml.rels",c)}function C(a,b){var d=G.VISIO_PAGES_RELS+"page"+b+".xml.rels",g=mxUtils.createXmlDocument(),p=m(g,G.RELS_XMLNS,"Relationships"),c=m(g,G.RELS_XMLNS,"Relationship");c.setAttribute("Type","http://schemas.microsoft.com/visio/2010/relationships/master");c.setAttribute("Id","rId1");
-c.setAttribute("Target","../masters/master1.xml");p.appendChild(c);var e=D.images;if(0<e.length)for(var y=0;y<e.length;y++)c=m(g,G.RELS_XMLNS,"Relationship"),c.setAttribute("Type",G.XMLNS_R+"/image"),c.setAttribute("Id","rId"+(y+2)),c.setAttribute("Target","../media/"+e[y]),p.appendChild(c);g.appendChild(p);F(a,d,g)}var G=this,D=new mxVsdxCanvas2D,Z={},Y=1;this.exportCurrentDiagrams=function(){try{if(c.spinner.spin(document.body,mxResources.get("exporting"))){var a=new JSZip;D.init(a);Z={};Y=1;var b=
-{},d={},g=null!=c.pages?c.pages.length:1;if(null!=c.pages){for(var p=c.editor.graph.getSelectionCells(),e=c.currentPage,y=0;y<c.pages.length;y++){var x=c.pages[y];c.currentPage!=x&&c.selectPage(x,!0);var A=x.getName(),k=c.editor.graph,m=null;null!=k.themes&&"darkTheme"==k.defaultThemeName&&(m=k.stylesheet,k.stylesheet=k.getDefaultStylesheet(),k.refresh());try{var F=f(k);b[A]=z(k,F);C(a,y+1);d[A]=F}finally{null!=m&&(k.stylesheet=m,k.refresh())}}e!=c.currentPage&&c.selectPage(e,!0);c.editor.graph.setSelectionCells(p)}else k=
-c.editor.graph,F=f(k),A="Page1",b[A]=z(k,F),C(a,1),d[A]=F;n(a,g);B(a,b,d);b=function(){a.generateAsync({type:"base64"}).then(function(a){c.spinner.stop();var b=c.getBaseFilename();c.saveData(b+".vsdx","vsdx",a,"application/vnd.visio2013",!0)})};0<D.filesLoading?D.onFilesLoaded=b:b()}return!0}catch(pb){return console.log(pb),c.spinner.stop(),!1}}}VsdxExport.prototype.CONVERSION_FACTOR=101.6;VsdxExport.prototype.PAGES_TYPE="http://schemas.microsoft.com/visio/2010/relationships/page";
-VsdxExport.prototype.RELS_XMLNS="http://schemas.openxmlformats.org/package/2006/relationships";VsdxExport.prototype.XML_SPACE="preserve";VsdxExport.prototype.XMLNS_R="http://schemas.openxmlformats.org/officeDocument/2006/relationships";VsdxExport.prototype.XMLNS="http://schemas.microsoft.com/office/visio/2012/main";VsdxExport.prototype.VISIO_PAGES="visio/pages/";VsdxExport.prototype.PREFEX="com/mxgraph/io/vsdx/resources/export/";VsdxExport.prototype.VSDX_ENC="ISO-8859-1";
-VsdxExport.prototype.PART_NAME="PartName";VsdxExport.prototype.CONTENT_TYPES_XML="[Content_Types].xml";VsdxExport.prototype.VISIO_PAGES_RELS="visio/pages/_rels/";
+h;for(h in d)if(1<b&&h==G.CONTENT_TYPES_XML){for(var p=mxUtils.parseXml(d[h]),c=p.documentElement,e=c.children,y=null,f=0;f<e.length;f++){var x=e[f];"/visio/pages/page1.xml"==x.getAttribute(G.PART_NAME)&&(y=x)}for(f=2;f<=b;f++)e=y.cloneNode(),e.setAttribute(G.PART_NAME,"/visio/pages/page"+f+".xml"),c.appendChild(e);D(a,h,p,!0)}else a.file(h,d[h])}function m(a,b,d){return null!=a.createElementNS?a.createElementNS(b,d):a.createElement(d)}function k(a){var b=Q[a];null==b&&(b=aa++,Q[a]=b);return b}function f(a){var b=
+{};try{var d=a.getGraphBounds().clone(),h=a.view.scale,p=a.view.translate,c=Math.round(d.x/h)-p.x,e=Math.round(d.y/h)-p.y,y=a.pageFormat.width,f=a.pageFormat.height;0>c&&(c+=Math.ceil((p.x-d.x/h)/y)*y);0>e&&(e+=Math.ceil((p.y-d.y/h)/f)*f);var x=Math.max(1,Math.ceil((d.width/h+c)/y)),z=Math.max(1,Math.ceil((d.height/h+e)/f));b.gridEnabled=a.gridEnabled;b.gridSize=a.gridSize;b.guidesEnabled=a.graphHandler.guidesEnabled;b.pageVisible=a.pageVisible;b.pageScale=a.pageScale;b.pageWidth=a.pageFormat.width*
+x;b.pageHeight=a.pageFormat.height*z;b.backgroundClr=a.background;b.mathEnabled=a.mathEnabled;b.shadowVisible=a.shadowVisible}catch(la){}return b}function e(a,d,h,p){return b(a,d/G.CONVERSION_FACTOR,h,p)}function b(a,b,d,h){d=m(d,G.XMLNS,"Cell");d.setAttribute("N",a);d.setAttribute("V",b);h&&d.setAttribute("F",h);return d}function a(a,b,d,h,p){var c=m(p,G.XMLNS,"Row");c.setAttribute("T",a);c.setAttribute("IX",b);c.appendChild(e("X",d,p));c.appendChild(e("Y",h,p));return c}function d(a,d,h){var p=
+a.style[mxConstants.STYLE_FILLCOLOR];if(p&&"none"!=p){if(d.appendChild(b("FillForegnd",p,h)),(p=a.style[mxConstants.STYLE_GRADIENTCOLOR])&&"none"!=p){d.appendChild(b("FillBkgnd",p,h));var p=a.style[mxConstants.STYLE_GRADIENT_DIRECTION],c=28;if(p)switch(p){case mxConstants.DIRECTION_EAST:c=25;break;case mxConstants.DIRECTION_WEST:c=27;break;case mxConstants.DIRECTION_NORTH:c=30}d.appendChild(b("FillPattern",c,h))}}else d.appendChild(b("FillPattern",0,h));(p=a.style[mxConstants.STYLE_STROKECOLOR])&&
+"none"!=p?d.appendChild(b("LineColor",p,h)):d.appendChild(b("LinePattern",0,h));(p=a.style[mxConstants.STYLE_STROKEWIDTH])&&d.appendChild(e("LineWeight",p,h));(c=a.style[mxConstants.STYLE_OPACITY])?p=c:(p=a.style[mxConstants.STYLE_FILL_OPACITY],c=a.style[mxConstants.STYLE_STROKE_OPACITY]);p&&d.appendChild(b("FillForegndTrans",1-parseInt(p)/100,h));c&&d.appendChild(b("LineColorTrans",1-parseInt(c)/100,h));if(1==a.style[mxConstants.STYLE_DASHED]){p=a.style[mxConstants.STYLE_DASH_PATTERN];c=9;if(p)switch(p){case "1 1":c=
+10;break;case "1 2":c=3;break;case "1 4":c=17}d.appendChild(b("LinePattern",c,h))}1==a.style[mxConstants.STYLE_SHADOW]&&(d.appendChild(b("ShdwPattern",1,h)),d.appendChild(b("ShdwForegnd","#000000",h)),d.appendChild(b("ShdwForegndTrans",.6,h)),d.appendChild(b("ShapeShdwType",1,h)),d.appendChild(b("ShapeShdwOffsetX","0.02946278254943948",h)),d.appendChild(b("ShapeShdwOffsetY","-0.02946278254943948",h)),d.appendChild(b("ShapeShdwScaleFactor","1",h)),d.appendChild(b("ShapeShdwBlur","0.05555555555555555",
+h)),d.appendChild(b("ShapeShdwShow",2,h)));1==a.style[mxConstants.STYLE_FLIPH]&&d.appendChild(b("FlipX",1,h));1==a.style[mxConstants.STYLE_FLIPV]&&d.appendChild(b("FlipY",1,h));1==a.style[mxConstants.STYLE_ROUNDED]&&d.appendChild(e("Rounding",.1*a.cell.geometry.width,h));(a=a.style[mxConstants.STYLE_LABEL_BACKGROUNDCOLOR])&&d.appendChild(b("TextBkgnd",a,h))}function h(a,d,h,p,c,y){var f=m(p,G.XMLNS,"Shape");f.setAttribute("ID",a);f.setAttribute("NameU","Shape"+a);f.setAttribute("LineStyle","0");f.setAttribute("FillStyle",
+"0");f.setAttribute("TextStyle","0");a=d.width/2;var x=d.height/2;f.appendChild(e("PinX",d.x+a+(y?0:F.shiftX),p));f.appendChild(e("PinY",c-d.y-x-(y?0:F.shiftY),p));f.appendChild(e("Width",d.width,p));f.appendChild(e("Height",d.height,p));f.appendChild(e("LocPinX",a,p));f.appendChild(e("LocPinY",x,p));f.appendChild(b("LayerMember",h+"",p));return f}function p(a,b){var d=G.ARROWS_MAP[(null==a?"none":a)+"|"+(null==b?"1":b)];return null!=d?d:1}function y(a){return null==a?2:2>=a?0:3>=a?1:5>=a?2:7>=a?
+3:9>=a?4:22>=a?5:6}function z(h,c,f,x,z,A){var n=f.view.getState(h,!0);if(null==n||null==n.absolutePoints||null==n.cellBounds)return null;f=m(x,G.XMLNS,"Shape");var D=k(h.id);f.setAttribute("ID",D);f.setAttribute("NameU","Dynamic connector."+D);f.setAttribute("Name","Dynamic connector."+D);f.setAttribute("Type","Shape");f.setAttribute("Master","4");var C=F.state,D=n.absolutePoints,B=n.cellBounds,Y=B.width/2,Q=B.height/2;f.appendChild(e("PinX",B.x+Y,x));f.appendChild(e("PinY",z-B.y-Q,x));f.appendChild(e("Width",
+B.width,x));f.appendChild(e("Height",B.height,x));f.appendChild(e("LocPinX",Y,x));f.appendChild(e("LocPinY",Q,x));F.newEdge(f,n,x);Y=function(a,b){var d=a.x,h=a.y,d=d*C.scale-B.x+C.dx+(A?0:F.shiftX),h=(b?0:B.height)-h*C.scale+B.y-C.dy-(A?0:F.shiftY);return{x:d,y:h}};Q=Y(D[0],!0);f.appendChild(e("BeginX",B.x+Q.x,x,"_WALKGLUE(BegTrigger,EndTrigger,WalkPreference)"));f.appendChild(e("BeginY",z-B.y+Q.y,x,"_WALKGLUE(BegTrigger,EndTrigger,WalkPreference)"));Q=Y(D[D.length-1],!0);f.appendChild(e("EndX",
+B.x+Q.x,x,"_WALKGLUE(EndTrigger,BegTrigger,WalkPreference)"));f.appendChild(e("EndY",z-B.y+Q.y,x,"_WALKGLUE(EndTrigger,BegTrigger,WalkPreference)"));f.appendChild(b("BegTrigger","2",x,h.source?"_XFTRIGGER(Sheet."+k(h.source.id)+"!EventXFMod)":null));f.appendChild(b("EndTrigger","2",x,h.target?"_XFTRIGGER(Sheet."+k(h.target.id)+"!EventXFMod)":null));f.appendChild(b("ConFixedCode","6",x));f.appendChild(b("LayerMember",c+"",x));d(n,f,x);c=n.style[mxConstants.STYLE_STARTSIZE];h=p(n.style[mxConstants.STYLE_STARTARROW],
+n.style[mxConstants.STYLE_STARTFILL]);f.appendChild(b("BeginArrow",h,x));f.appendChild(b("BeginArrowSize",y(c),x));c=n.style[mxConstants.STYLE_ENDSIZE];h=p(n.style[mxConstants.STYLE_ENDARROW],n.style[mxConstants.STYLE_ENDFILL]);f.appendChild(b("EndArrow",h,x));f.appendChild(b("EndArrowSize",y(c),x));null!=n.text&&n.text.checkBounds()&&(F.save(),n.text.paint(F),F.restore());n=m(x,G.XMLNS,"Section");n.setAttribute("N","Geometry");n.setAttribute("IX","0");for(h=0;h<D.length;h++)c=Y(D[h]),n.appendChild(a(0==
+h?"MoveTo":"LineTo",h+1,c.x,c.y,x));n.appendChild(b("NoFill","1",x));n.appendChild(b("NoLine","0",x));f.appendChild(n);return f}function x(a,b,p,c,e,y,f){var A=a.geometry;if(null!=A){A.relative&&y&&(A=A.clone(),A.x*=y.width,A.y*=y.height,A.relative=0);y=k(a.id);if(!a.treatAsSingle&&0<a.getChildCount()){e=h(y+"10000",A,b,c,e,f);e.setAttribute("Type","Group");f=m(c,G.XMLNS,"Shapes");F.save();F.translate(-A.x,-A.y);y=A.clone();y.x=0;y.y=0;a.setGeometry(y);a.treatAsSingle=!0;y=x(a,b,p,c,A.height,A,!0);
+a.treatAsSingle=!1;a.setGeometry(A);null!=y&&f.appendChild(y);for(var n=0;n<a.getChildCount();n++)y=x(a.children[n],b,p,c,A.height,A,!0),null!=y&&f.appendChild(y);e.appendChild(f);F.restore();return e}return a.vertex?(e=h(y,A,b,c,e,f),a=p.view.getState(a,!0),d(a,e,c),F.newShape(e,a,c),null!=a.text&&a.text.checkBounds()&&(F.save(),a.text.paint(F),F.restore()),null!=a.shape&&a.shape.checkBounds()&&(F.save(),a.shape.paint(F),F.restore()),e.appendChild(F.getShapeGeo()),F.endShape(),e.setAttribute("Type",
+F.getShapeType()),e):z(a,b,p,c,e,f)}return null}function A(a,b){var d=mxUtils.createXmlDocument(),h=m(d,G.XMLNS,"PageContents");h.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns",G.XMLNS);h.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:r",G.XMLNS_R);var p=m(d,G.XMLNS,"Shapes");h.appendChild(p);var c=a.model,e=a.view.translate,y=a.view.scale,f=a.getGraphBounds();F.shiftX=0;F.shiftY=0;if(f.x/y<e.x||f.y/y<e.y)F.shiftX=Math.ceil((e.x-f.x/y)/a.pageFormat.width)*a.pageFormat.width,F.shiftY=
+Math.ceil((e.y-f.y/y)/a.pageFormat.height)*a.pageFormat.height;F.save();F.translate(-e.x,-e.y);F.scale(1/y);F.newPage();y=a.model.getChildCells(a.model.root);e={};for(f=0;f<y.length;f++)e[y[f].id]=f;for(var z in c.cells)y=c.cells[z],f=null!=y.parent?e[y.parent.id]:null,null!=f&&(y=x(y,f,a,d,b.pageHeight),null!=y&&p.appendChild(y));p=m(d,G.XMLNS,"Connects");h.appendChild(p);for(z in c.cells)y=c.cells[z],y.edge&&(y.source&&(e=m(d,G.XMLNS,"Connect"),e.setAttribute("FromSheet",k(y.id)),e.setAttribute("FromCell",
+"BeginX"),e.setAttribute("ToSheet",k(y.source.id)),p.appendChild(e)),y.target&&(e=m(d,G.XMLNS,"Connect"),e.setAttribute("FromSheet",k(y.id)),e.setAttribute("FromCell","EndX"),e.setAttribute("ToSheet",k(y.target.id)),p.appendChild(e)));d.appendChild(h);F.restore();return d}function D(a,b,d,h){a.file(b,(h?"":'<?xml version="1.0" encoding="UTF-8" standalone="yes"?>')+mxUtils.getXml(d,"\n"))}function C(a,d,h,p){var c=mxUtils.createXmlDocument(),y=mxUtils.createXmlDocument(),f=m(c,G.XMLNS,"Pages");f.setAttributeNS("http://www.w3.org/2000/xmlns/",
+"xmlns",G.XMLNS);f.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:r",G.XMLNS_R);var x=m(y,G.RELS_XMLNS,"Relationships"),z=1,k;for(k in d){var A="page"+z+".xml",n=m(c,G.XMLNS,"Page");n.setAttribute("ID",z-1);n.setAttribute("NameU",k);n.setAttribute("Name",k);var C=m(c,G.XMLNS,"PageSheet"),B=p[k];C.appendChild(e("PageWidth",B.pageWidth,c));C.appendChild(e("PageHeight",B.pageHeight,c));C.appendChild(b("PageScale",B.pageScale,c));C.appendChild(b("DrawingScale",1,c));B=m(c,G.XMLNS,"Rel");B.setAttributeNS(G.XMLNS_R,
+"r:id","rId"+z);var Q=m(c,G.XMLNS,"Section");Q.setAttribute("N","Layer");for(var F=h[k],Y=0;Y<F.length;Y++){var H=m(c,G.XMLNS,"Row");H.setAttribute("IX",Y+"");Q.appendChild(H);H.appendChild(b("Name",F[Y].name,c));H.appendChild(b("Color","255",c));H.appendChild(b("Status","0",c));H.appendChild(b("Visible",F[Y].visible?"1":"0",c));H.appendChild(b("Print","1",c));H.appendChild(b("Active","0",c));H.appendChild(b("Lock",F[Y].locked?"1":"0",c));H.appendChild(b("Snap","1",c));H.appendChild(b("Glue","1",
+c));H.appendChild(b("NameUniv",F[Y].name,c));H.appendChild(b("ColorTrans","0",c))}C.appendChild(Q);n.appendChild(C);n.appendChild(B);f.appendChild(n);n=m(y,G.RELS_XMLNS,"Relationship");n.setAttribute("Id","rId"+z);n.setAttribute("Type",G.PAGES_TYPE);n.setAttribute("Target",A);x.appendChild(n);D(a,G.VISIO_PAGES+A,d[k]);z++}c.appendChild(f);y.appendChild(x);D(a,G.VISIO_PAGES+"pages.xml",c);D(a,G.VISIO_PAGES+"_rels/pages.xml.rels",y)}function B(a,b){var d=G.VISIO_PAGES_RELS+"page"+b+".xml.rels",h=mxUtils.createXmlDocument(),
+p=m(h,G.RELS_XMLNS,"Relationships"),c=m(h,G.RELS_XMLNS,"Relationship");c.setAttribute("Type","http://schemas.microsoft.com/visio/2010/relationships/master");c.setAttribute("Id","rId1");c.setAttribute("Target","../masters/master1.xml");p.appendChild(c);var e=F.images;if(0<e.length)for(var y=0;y<e.length;y++)c=m(h,G.RELS_XMLNS,"Relationship"),c.setAttribute("Type",G.XMLNS_R+"/image"),c.setAttribute("Id","rId"+(y+2)),c.setAttribute("Target","../media/"+e[y]),p.appendChild(c);h.appendChild(p);D(a,d,h)}
+var G=this,F=new mxVsdxCanvas2D,Q={},aa=1;this.exportCurrentDiagrams=function(){try{if(c.spinner.spin(document.body,mxResources.get("exporting"))){var a=function(a,b){var d=a.model.getChildCells(a.model.root);h[b]=[];for(var p=0;p<d.length;p++)d[p].visible&&h[b].push({name:d[p].value||"Background",visible:d[p].visible,locked:d[p].style&&0<=d[p].style.indexOf("locked=1")})},b=new JSZip;F.init(b);Q={};aa=1;var d={},h={},p={},e=null!=c.pages?c.pages.length:1;if(null!=c.pages){for(var y=c.editor.graph.getSelectionCells(),
+x=c.currentPage,z=0;z<c.pages.length;z++){var k=c.pages[z];c.currentPage!=k&&c.selectPage(k,!0);var m=k.getName(),D=c.editor.graph,G=null;null!=D.themes&&"darkTheme"==D.defaultThemeName&&(G=D.stylesheet,D.stylesheet=D.getDefaultStylesheet(),D.refresh());try{var cb=f(D);d[m]=A(D,cb);a(D,m);B(b,z+1);p[m]=cb}finally{null!=G&&(D.stylesheet=G,D.refresh())}}x!=c.currentPage&&c.selectPage(x,!0);c.editor.graph.setSelectionCells(y)}else D=c.editor.graph,cb=f(D),m="Page1",d[m]=A(D,cb),a(D,m),B(b,1),p[m]=cb;
+n(b,e);C(b,d,h,p);a=function(){b.generateAsync({type:"base64"}).then(function(a){c.spinner.stop();var b=c.getBaseFilename();c.saveData(b+".vsdx","vsdx",a,"application/vnd.visio2013",!0)})};0<F.filesLoading?F.onFilesLoaded=a:a()}return!0}catch(ob){return console.log(ob),c.spinner.stop(),!1}}}VsdxExport.prototype.CONVERSION_FACTOR=101.6;VsdxExport.prototype.PAGES_TYPE="http://schemas.microsoft.com/visio/2010/relationships/page";VsdxExport.prototype.RELS_XMLNS="http://schemas.openxmlformats.org/package/2006/relationships";
+VsdxExport.prototype.XML_SPACE="preserve";VsdxExport.prototype.XMLNS_R="http://schemas.openxmlformats.org/officeDocument/2006/relationships";VsdxExport.prototype.XMLNS="http://schemas.microsoft.com/office/visio/2012/main";VsdxExport.prototype.VISIO_PAGES="visio/pages/";VsdxExport.prototype.PREFEX="com/mxgraph/io/vsdx/resources/export/";VsdxExport.prototype.VSDX_ENC="ISO-8859-1";VsdxExport.prototype.PART_NAME="PartName";VsdxExport.prototype.CONTENT_TYPES_XML="[Content_Types].xml";
+VsdxExport.prototype.VISIO_PAGES_RELS="visio/pages/_rels/";
 VsdxExport.prototype.ARROWS_MAP={"none|1":0,"none|0":0,"open|1":1,"open|0":1,"block|1":4,"block|0":14,"classic|1":5,"classic|0":17,"oval|1":10,"oval|0":20,"diamond|1":11,"diamond|0":22,"blockThin|1":2,"blockThin|0":15,"dash|1":23,"dash|0":23,"ERone|1":24,"ERone|0":24,"ERmandOne|1":25,"ERmandOne|0":25,"ERmany|1":27,"ERmany|0":27,"ERoneToMany|1":28,"ERoneToMany|0":28,"ERzeroToMany|1":29,"ERzeroToMany|0":29,"ERzeroToOne|1":30,"ERzeroToOne|0":30,"openAsync|1":9,"openAsync|0":9};function mxVsdxCanvas2D(){mxAbstractCanvas2D.call(this)}mxUtils.extend(mxVsdxCanvas2D,mxAbstractCanvas2D);mxVsdxCanvas2D.prototype.textEnabled=!0;mxVsdxCanvas2D.prototype.init=function(c){this.filesLoading=0;this.zip=c};mxVsdxCanvas2D.prototype.onFilesLoaded=function(){};mxVsdxCanvas2D.prototype.createElt=function(c){return null!=this.xmlDoc.createElementNS?this.xmlDoc.createElementNS(VsdxExport.prototype.XMLNS,c):this.xmlDoc.createElement(c)};
 mxVsdxCanvas2D.prototype.createGeoSec=function(){null!=this.geoSec&&this.shape.appendChild(this.geoSec);var c=this.createElt("Section");c.setAttribute("N","Geometry");c.setAttribute("IX",this.geoIndex++);this.geoSec=c;this.geoStepIndex=1;this.lastMoveToY=this.lastMoveToX=this.lastY=this.lastX=0};mxVsdxCanvas2D.prototype.newShape=function(c,n,m){this.geoIndex=0;this.shape=c;this.cellState=n;this.xmGeo=n.cell.geometry;this.xmlDoc=m;this.shapeImg=this.geoSec=null;this.shapeType="Shape";this.createGeoSec()};
 mxVsdxCanvas2D.prototype.newEdge=function(c,n,m){this.shape=c;this.cellState=n;this.xmGeo=n.cellBounds;this.xmlDoc=m};mxVsdxCanvas2D.prototype.endShape=function(){null!=this.shapeImg&&this.addForeignData(this.shapeImg.type,this.shapeImg.id)};mxVsdxCanvas2D.prototype.newPage=function(){this.images=[]};mxVsdxCanvas2D.prototype.getShapeType=function(){return this.shapeType};mxVsdxCanvas2D.prototype.getShapeGeo=function(){return this.geoSec};
 mxVsdxCanvas2D.prototype.createCellElemScaled=function(c,n,m){return this.createCellElem(c,n/VsdxExport.prototype.CONVERSION_FACTOR,m)};mxVsdxCanvas2D.prototype.createCellElem=function(c,n,m){var k=this.createElt("Cell");k.setAttribute("N",c);k.setAttribute("V",n);m&&k.setAttribute("F",m);return k};
-mxVsdxCanvas2D.prototype.createRowScaled=function(c,n,m,k,f,e,b,a,d,g,p,y,A,x){return this.createRowRel(c,n,m/VsdxExport.prototype.CONVERSION_FACTOR,k/VsdxExport.prototype.CONVERSION_FACTOR,f/VsdxExport.prototype.CONVERSION_FACTOR,e/VsdxExport.prototype.CONVERSION_FACTOR,b/VsdxExport.prototype.CONVERSION_FACTOR,a/VsdxExport.prototype.CONVERSION_FACTOR,d,g,p,y,A,x)};
-mxVsdxCanvas2D.prototype.createRowRel=function(c,n,m,k,f,e,b,a,d,g,p,y,A,x){var z=this.createElt("Row");z.setAttribute("T",c);z.setAttribute("IX",n);z.appendChild(this.createCellElem("X",m,d));z.appendChild(this.createCellElem("Y",k,g));null!=f&&z.appendChild(this.createCellElem("A",f,p));null!=e&&z.appendChild(this.createCellElem("B",e,y));null!=b&&z.appendChild(this.createCellElem("C",b,A));null!=a&&z.appendChild(this.createCellElem("D",a,x));return z};
+mxVsdxCanvas2D.prototype.createRowScaled=function(c,n,m,k,f,e,b,a,d,h,p,y,z,x){return this.createRowRel(c,n,m/VsdxExport.prototype.CONVERSION_FACTOR,k/VsdxExport.prototype.CONVERSION_FACTOR,f/VsdxExport.prototype.CONVERSION_FACTOR,e/VsdxExport.prototype.CONVERSION_FACTOR,b/VsdxExport.prototype.CONVERSION_FACTOR,a/VsdxExport.prototype.CONVERSION_FACTOR,d,h,p,y,z,x)};
+mxVsdxCanvas2D.prototype.createRowRel=function(c,n,m,k,f,e,b,a,d,h,p,y,z,x){var A=this.createElt("Row");A.setAttribute("T",c);A.setAttribute("IX",n);A.appendChild(this.createCellElem("X",m,d));A.appendChild(this.createCellElem("Y",k,h));null!=f&&A.appendChild(this.createCellElem("A",f,p));null!=e&&A.appendChild(this.createCellElem("B",e,y));null!=b&&A.appendChild(this.createCellElem("C",b,z));null!=a&&A.appendChild(this.createCellElem("D",a,x));return A};
 mxVsdxCanvas2D.prototype.begin=function(){1<this.geoStepIndex&&this.createGeoSec()};
 mxVsdxCanvas2D.prototype.rect=function(c,n,m,k){1<this.geoStepIndex&&this.createGeoSec();var f=this.state;m*=f.scale;k*=f.scale;var e=this.xmGeo;c=(c-e.x+f.dx)*f.scale/m;n=(e.height-n+e.y-f.dy)*f.scale/k;this.geoSec.appendChild(this.createRowRel("RelMoveTo",this.geoStepIndex++,c,n));this.geoSec.appendChild(this.createRowRel("RelLineTo",this.geoStepIndex++,c+1,n));this.geoSec.appendChild(this.createRowRel("RelLineTo",this.geoStepIndex++,c+1,n-1));this.geoSec.appendChild(this.createRowRel("RelLineTo",
 this.geoStepIndex++,c,n-1));this.geoSec.appendChild(this.createRowRel("RelLineTo",this.geoStepIndex++,c,n))};mxVsdxCanvas2D.prototype.roundrect=function(c,n,m,k,f,e){this.rect(c,n,m,k);this.shape.appendChild(this.createCellElemScaled("Rounding",f))};
@@ -751,24 +752,24 @@ mxVsdxCanvas2D.prototype.ellipse=function(c,n,m,k){1<this.geoStepIndex&&this.cre
 mxVsdxCanvas2D.prototype.moveTo=function(c,n){1<this.geoStepIndex&&this.createGeoSec();this.lastMoveToX=c;this.lastMoveToY=n;this.lastX=c;this.lastY=n;var m=this.xmGeo,k=this.state;c=(c-m.x+k.dx)*k.scale;n=(m.height-n+m.y-k.dy)*k.scale;var f=m.height*k.scale,m=m.width*k.scale;this.geoSec.appendChild(this.createRowRel("RelMoveTo",this.geoStepIndex++,c/m,n/f))};
 mxVsdxCanvas2D.prototype.lineTo=function(c,n){this.lastX=c;this.lastY=n;var m=this.xmGeo,k=this.state;c=(c-m.x+k.dx)*k.scale;n=(m.height-n+m.y-k.dy)*k.scale;var f=m.height*k.scale,m=m.width*k.scale;this.geoSec.appendChild(this.createRowRel("RelLineTo",this.geoStepIndex++,c/m,n/f))};
 mxVsdxCanvas2D.prototype.quadTo=function(c,n,m,k){this.lastX=m;this.lastY=k;var f=this.state,e=this.xmGeo,b=e.height*f.scale,a=e.width*f.scale;c=(c-e.x+f.dx)*f.scale;n=(e.height-n+e.y-f.dy)*f.scale;m=(m-e.x+f.dx)*f.scale;k=(e.height-k+e.y-f.dy)*f.scale;this.geoSec.appendChild(this.createRowRel("RelQuadBezTo",this.geoStepIndex++,m/a,k/b,c/a,n/b))};
-mxVsdxCanvas2D.prototype.curveTo=function(c,n,m,k,f,e){this.lastX=f;this.lastY=e;var b=this.state,a=this.xmGeo,d=a.height*b.scale,g=a.width*b.scale;c=(c-a.x+b.dx)*b.scale;n=(a.height-n+a.y-b.dy)*b.scale;m=(m-a.x+b.dx)*b.scale;k=(a.height-k+a.y-b.dy)*b.scale;f=(f-a.x+b.dx)*b.scale;e=(a.height-e+a.y-b.dy)*b.scale;this.geoSec.appendChild(this.createRowRel("RelCubBezTo",this.geoStepIndex++,f/g,e/d,c/g,n/d,m/g,k/d))};
+mxVsdxCanvas2D.prototype.curveTo=function(c,n,m,k,f,e){this.lastX=f;this.lastY=e;var b=this.state,a=this.xmGeo,d=a.height*b.scale,h=a.width*b.scale;c=(c-a.x+b.dx)*b.scale;n=(a.height-n+a.y-b.dy)*b.scale;m=(m-a.x+b.dx)*b.scale;k=(a.height-k+a.y-b.dy)*b.scale;f=(f-a.x+b.dx)*b.scale;e=(a.height-e+a.y-b.dy)*b.scale;this.geoSec.appendChild(this.createRowRel("RelCubBezTo",this.geoStepIndex++,f/h,e/d,c/h,n/d,m/h,k/d))};
 mxVsdxCanvas2D.prototype.close=function(){this.lastMoveToX==this.lastX&&this.lastMoveToY==this.lastY||this.lineTo(this.lastMoveToX,this.lastMoveToY)};mxVsdxCanvas2D.prototype.addForeignData=function(c,n){var m=this.createElt("ForeignData");m.setAttribute("ForeignType","Bitmap");c=c.toUpperCase();"BMP"!=c&&m.setAttribute("CompressionType",c);var k=this.createElt("Rel");k.setAttribute("r:id","rId"+n);m.appendChild(k);this.shape.appendChild(m);this.shapeType="Foreign"};
 mxVsdxCanvas2D.prototype.convertSvg2Png=function(c,n,m){var k=this;this.filesLoading++;try{var f=document.createElement("canvas"),e=f.getContext("2d");n||(c=String.fromCharCode.apply(null,new Uint8Array(c)),c=window.btoa?btoa(c):Base64.encode(c,!0));n="data:image/svg+xml;base64,"+c;img=new Image;img.onload=function(){f.width=this.width;f.height=this.height;e.drawImage(this,0,0);try{m(f.toDataURL("image/png"))}catch(b){}k.filesLoading--;if(0==k.filesLoading)k.onFilesLoaded()};img.onerror=function(){console.log("SVG2PNG conversion failed");
 try{m(c)}catch(b){}k.filesLoading--;if(0==k.filesLoading)k.onFilesLoaded()};img.src=n}catch(b){console.log("SVG2PNG conversion failed"+b.message);try{m(c)}catch(a){}this.filesLoading--;if(0==k.filesLoading)k.onFilesLoaded()}};
-mxVsdxCanvas2D.prototype.image=function(c,n,m,k,f,e,b,a){var d=this,g="image"+(this.images.length+1)+".",p;if(0==f.indexOf("data:"))p=f.indexOf("base64,"),e=f.substring(p+7),p=f.substring(11,p-1),0==p.indexOf("svg")?(p="png",g+=p,this.convertSvg2Png(e,!0,function(a){d.zip.file("visio/media/"+g,a.substring(22),{base64:!0})})):(g+=p,this.zip.file("visio/media/"+g,e,{base64:!0}));else if(window.XMLHttpRequest){f=this.converter.convert(f);this.filesLoading++;p=f.lastIndexOf(".");p=f.substring(p+1);var y=
-!1;0==p.indexOf("svg")&&(p="png",y=!0);g+=p;e=new XMLHttpRequest;e.open("GET",f,!0);e.responseType="arraybuffer";e.onreadystatechange=function(a){if(4==this.readyState&&(200==this.status&&(y?d.convertSvg2Png(this.response,!1,function(a){d.zip.file("visio/media/"+g,a.substring(22),{base64:!0})}):d.zip.file("visio/media/"+g,this.response)),d.filesLoading--,0==d.filesLoading))d.onFilesLoaded()};e.send()}this.images.push(g);this.shapeImg={type:p,id:this.images.length+1};f=this.state;m*=f.scale;k*=f.scale;
+mxVsdxCanvas2D.prototype.image=function(c,n,m,k,f,e,b,a){var d=this,h="image"+(this.images.length+1)+".",p;if(0==f.indexOf("data:"))p=f.indexOf("base64,"),e=f.substring(p+7),p=f.substring(11,p-1),0==p.indexOf("svg")?(p="png",h+=p,this.convertSvg2Png(e,!0,function(a){d.zip.file("visio/media/"+h,a.substring(22),{base64:!0})})):(h+=p,this.zip.file("visio/media/"+h,e,{base64:!0}));else if(window.XMLHttpRequest){f=this.converter.convert(f);this.filesLoading++;p=f.lastIndexOf(".");p=f.substring(p+1);var y=
+!1;0==p.indexOf("svg")&&(p="png",y=!0);h+=p;e=new XMLHttpRequest;e.open("GET",f,!0);e.responseType="arraybuffer";e.onreadystatechange=function(a){if(4==this.readyState&&(200==this.status&&(y?d.convertSvg2Png(this.response,!1,function(a){d.zip.file("visio/media/"+h,a.substring(22),{base64:!0})}):d.zip.file("visio/media/"+h,this.response)),d.filesLoading--,0==d.filesLoading))d.onFilesLoaded()};e.send()}this.images.push(h);this.shapeImg={type:p,id:this.images.length+1};f=this.state;m*=f.scale;k*=f.scale;
 p=this.xmGeo;c=(c-p.x+f.dx)*f.scale;n=(p.height-n+p.y-f.dy)*f.scale;this.shape.appendChild(this.createCellElemScaled("ImgOffsetX",c));this.shape.appendChild(this.createCellElemScaled("ImgOffsetY",n-k));this.shape.appendChild(this.createCellElemScaled("ImgWidth",m));this.shape.appendChild(this.createCellElemScaled("ImgHeight",k))};
-mxVsdxCanvas2D.prototype.text=function(c,n,m,k,f,e,b,a,d,g,p,y,A){var x=this;if(this.textEnabled&&null!=f){mxUtils.isNode(f)&&(f=mxUtils.getOuterHtml(f));0==m&&0==k&&(k=mxUtils.getSizeForString(f,x.cellState.style.fontSize,x.cellState.style.fontFamily),m=1.2*k.width,k=1.2*k.height);"html"==d&&("0"!=mxUtils.getValue(this.cellState.style,"nl2Br","1")&&(f=f.replace(/\n/g,"").replace(/<br\s*.?>/g,"\n")),null==this.html2txtDiv&&(this.html2txtDiv=document.createElement("div")),this.html2txtDiv.innerHTML=
-f,f=mxUtils.extractTextWithWhitespace(this.html2txtDiv.childNodes));g=this.state;p=this.xmGeo;m*=g.scale;k*=g.scale;var z=this.createElt("Section");z.setAttribute("N","Character");var F=this.createElt("Section");F.setAttribute("N","Paragraph");var B=this.createElt("Text"),C=0,G=0,D=0,Z=0,Y=0,aa=0,L=0,S=function(b,d,g,p,c){var e=b.fontSize,y=b.fontFamily,f=mxUtils.getSizeForString(c,e,y);a&&f.width>m&&(f=mxUtils.getSizeForString(c,e,y,m));b.blockElem?(Y+=f.width,D=Math.min(Math.max(D,Y),m),Y=0,aa=
-Math.max(aa,f.height),Z+=aa+L,L=aa,aa=0):(Y+=f.width,D=Math.min(Math.max(D,Y),m),aa=Math.max(aa,f.height),Z=Math.max(Z,aa));f=x.createElt("Row");f.setAttribute("IX",C);b.fontColor&&f.appendChild(x.createCellElem("Color",b.fontColor));e&&f.appendChild(x.createCellElemScaled("Size",.97*e));y&&f.appendChild(x.createCellElem("Font",y));e=0;b.bold&&(e|=17);b.italic&&(e|=34);b.underline&&(e|=4);f.appendChild(x.createCellElem("Style",e));f.appendChild(x.createCellElem("Case","0"));f.appendChild(x.createCellElem("Pos",
-"0"));f.appendChild(x.createCellElem("FontScale","1"));f.appendChild(x.createCellElem("Letterspace","0"));d.appendChild(f);d=x.createElt("Row");d.setAttribute("IX",G);switch(b.align){case "left":e=0;break;case "center":e=1;break;case "right":e=2;break;case "start":e=0;break;case "end":e=2;break;case "justify":e=0;break;default:e=1}d.appendChild(x.createCellElem("HorzAlign",e));g.appendChild(d);g=x.createElt("cp");g.setAttribute("IX",C++);p.appendChild(g);b=x.xmlDoc.createTextNode(c+(b.blockElem?"\n":
-""));p.appendChild(b)},U=function(a,b){b=b||{};for(var d=0;d<a.length;d++){var g=a[d];if(3==g.nodeType){var p=x.cellState.style.fontStyle,c={fontColor:b.fontColor||x.cellState.style.fontColor,fontSize:b.fontSize||x.cellState.style.fontSize,fontFamily:b.fontFamily||x.cellState.style.fontFamily,align:b.align||x.cellState.style.align,bold:b.bold||p&1,italic:b.italic||p&2,underline:b.underline||p&4},p=!1;d+1<a.length&&"BR"==a[d+1].nodeName.toUpperCase()&&(p=!0,d++);S(c,z,F,B,(b.OL?b.LiIndex+". ":"")+
-g.textContent+(p?"\n":""))}else if(1==g.nodeType){var p=g.nodeName.toUpperCase(),e=g.childNodes.length,c=window.getComputedStyle(g,null),y="bold"==c.getPropertyValue("font-weight")||b.bold,f="italic"==c.getPropertyValue("font-style")||b.italic,A=0<=c.getPropertyValue("text-decoration").indexOf("underline")||b.underline,k=c.getPropertyValue("text-align"),m;m=c.getPropertyValue("color");m=(m=m.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i))&&4===m.length?"#"+("0"+parseInt(m[1],
-10).toString(16)).slice(-2)+("0"+parseInt(m[2],10).toString(16)).slice(-2)+("0"+parseInt(m[3],10).toString(16)).slice(-2):"";c={bold:y,italic:f,underline:A,align:k,fontColor:m,fontSize:parseFloat(c.getPropertyValue("font-size")),fontFamily:c.getPropertyValue("font-family").replace(/"/g,""),blockElem:"block"==c.getPropertyValue("display")||"BR"==p||"LI"==p,OL:b.OL,LiIndex:b.LiIndex};"UL"==p?(y=x.createElt("Row"),y.setAttribute("IX",G),y.appendChild(x.createCellElem("HorzAlign","0")),y.appendChild(x.createCellElem("Bullet",
-"1")),F.appendChild(y),y=x.createElt("pp"),y.setAttribute("IX",G++),B.appendChild(y)):"OL"==p?c.OL=!0:"LI"==p&&(c.LiIndex=d+1);0<e?(U(g.childNodes,c),"UL"==p&&(y=x.createElt("Row"),y.setAttribute("IX",G),y.appendChild(x.createCellElem("Bullet","0")),F.appendChild(y),y=x.createElt("pp"),y.setAttribute("IX",G++),B.appendChild(y)),S(c,z,F,B,"")):S(c,z,F,B,(b.OL?b.LiIndex+". ":"")+g.textContent)}}};"html"==d&&mxClient.IS_SVG?(f=this.cellState.text.node.getElementsByTagName("div")[mxClient.NO_FO?0:1],
-null!=f&&U(f.childNodes,{})):S({fontColor:x.cellState.style.fontColor,fontSize:x.cellState.style.fontSize,fontFamily:x.cellState.style.fontFamily},z,F,B,f);d=f=0;k=Math.max(k,Z);m=Math.max(m,D);A=m/2;var da=k/2,ba=parseInt(mxUtils.getValue(this.cellState.style,"rotation","0")),ia=ba*Math.PI/180;switch(e){case "right":0!=ba?(c-=A*Math.cos(ia),n-=A*Math.sin(ia)):f=D/2;break;case "left":0!=ba?(c+=A*Math.cos(ia),n+=A*Math.sin(ia)):f=-D/2}switch(b){case "top":0!=ba?(c+=da*Math.sin(ia),n+=da*Math.cos(ia)):
-d=Z/2;break;case "bottom":0!=ba?(c-=da*Math.sin(ia),n-=da*Math.cos(ia)):d=-Z/2}c=(c-p.x+g.dx)*g.scale;n=(p.height-n+p.y-g.dy)*g.scale;this.shape.appendChild(this.createCellElemScaled("TxtPinX",c));this.shape.appendChild(this.createCellElemScaled("TxtPinY",n));this.shape.appendChild(this.createCellElemScaled("TxtWidth",m));this.shape.appendChild(this.createCellElemScaled("TxtHeight",k));this.shape.appendChild(this.createCellElemScaled("TxtLocPinX",A+f));this.shape.appendChild(this.createCellElemScaled("TxtLocPinY",
-da+d));y-=ba;0!=y&&this.shape.appendChild(this.createCellElem("TxtAngle",(360-y)*Math.PI/180));this.shape.appendChild(z);this.shape.appendChild(F);this.shape.appendChild(B)}};mxVsdxCanvas2D.prototype.rotate=function(c,n,m,k,f){0!=c&&(n=this.state,k+=n.dx,f+=n.dy,k*=n.scale,f*=n.scale,this.shape.appendChild(this.createCellElem("Angle",(360-c)*Math.PI/180)),n.rotation+=c,n.rotationCx=k,n.rotationCy=f)};
+mxVsdxCanvas2D.prototype.text=function(c,n,m,k,f,e,b,a,d,h,p,y,z){var x=this;if(this.textEnabled&&null!=f){mxUtils.isNode(f)&&(f=mxUtils.getOuterHtml(f));0==m&&0==k&&(k=mxUtils.getSizeForString(f,x.cellState.style.fontSize,x.cellState.style.fontFamily),m=1.2*k.width,k=1.2*k.height);"html"==d&&("0"!=mxUtils.getValue(this.cellState.style,"nl2Br","1")&&(f=f.replace(/\n/g,"").replace(/<br\s*.?>/g,"\n")),null==this.html2txtDiv&&(this.html2txtDiv=document.createElement("div")),this.html2txtDiv.innerHTML=
+f,f=mxUtils.extractTextWithWhitespace(this.html2txtDiv.childNodes));h=this.state;p=this.xmGeo;m*=h.scale;k*=h.scale;var A=this.createElt("Section");A.setAttribute("N","Character");var D=this.createElt("Section");D.setAttribute("N","Paragraph");var C=this.createElt("Text"),B=0,G=0,F=0,Q=0,aa=0,Y=0,T=0,H=function(b,d,h,p,c){var e=b.fontSize,y=b.fontFamily,f=mxUtils.getSizeForString(c,e,y);a&&f.width>m&&(f=mxUtils.getSizeForString(c,e,y,m));b.blockElem?(aa+=f.width,F=Math.min(Math.max(F,aa),m),aa=0,
+Y=Math.max(Y,f.height),Q+=Y+T,T=Y,Y=0):(aa+=f.width,F=Math.min(Math.max(F,aa),m),Y=Math.max(Y,f.height),Q=Math.max(Q,Y));f=x.createElt("Row");f.setAttribute("IX",B);b.fontColor&&f.appendChild(x.createCellElem("Color",b.fontColor));e&&f.appendChild(x.createCellElemScaled("Size",.97*e));y&&f.appendChild(x.createCellElem("Font",y));e=0;b.bold&&(e|=17);b.italic&&(e|=34);b.underline&&(e|=4);f.appendChild(x.createCellElem("Style",e));f.appendChild(x.createCellElem("Case","0"));f.appendChild(x.createCellElem("Pos",
+"0"));f.appendChild(x.createCellElem("FontScale","1"));f.appendChild(x.createCellElem("Letterspace","0"));d.appendChild(f);d=x.createElt("Row");d.setAttribute("IX",G);switch(b.align){case "left":e=0;break;case "center":e=1;break;case "right":e=2;break;case "start":e=0;break;case "end":e=2;break;case "justify":e=0;break;default:e=1}d.appendChild(x.createCellElem("HorzAlign",e));h.appendChild(d);h=x.createElt("cp");h.setAttribute("IX",B++);p.appendChild(h);b=x.xmlDoc.createTextNode(c+(b.blockElem?"\n":
+""));p.appendChild(b)},V=function(a,b){b=b||{};for(var d=0;d<a.length;d++){var h=a[d];if(3==h.nodeType){var p=x.cellState.style.fontStyle,c={fontColor:b.fontColor||x.cellState.style.fontColor,fontSize:b.fontSize||x.cellState.style.fontSize,fontFamily:b.fontFamily||x.cellState.style.fontFamily,align:b.align||x.cellState.style.align,bold:b.bold||p&1,italic:b.italic||p&2,underline:b.underline||p&4},p=!1;d+1<a.length&&"BR"==a[d+1].nodeName.toUpperCase()&&(p=!0,d++);H(c,A,D,C,(b.OL?b.LiIndex+". ":"")+
+h.textContent+(p?"\n":""))}else if(1==h.nodeType){var p=h.nodeName.toUpperCase(),e=h.childNodes.length,c=window.getComputedStyle(h,null),y="bold"==c.getPropertyValue("font-weight")||b.bold,f="italic"==c.getPropertyValue("font-style")||b.italic,z=0<=c.getPropertyValue("text-decoration").indexOf("underline")||b.underline,k=c.getPropertyValue("text-align"),m;m=c.getPropertyValue("color");m=(m=m.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i))&&4===m.length?"#"+("0"+parseInt(m[1],
+10).toString(16)).slice(-2)+("0"+parseInt(m[2],10).toString(16)).slice(-2)+("0"+parseInt(m[3],10).toString(16)).slice(-2):"";c={bold:y,italic:f,underline:z,align:k,fontColor:m,fontSize:parseFloat(c.getPropertyValue("font-size")),fontFamily:c.getPropertyValue("font-family").replace(/"/g,""),blockElem:"block"==c.getPropertyValue("display")||"BR"==p||"LI"==p,OL:b.OL,LiIndex:b.LiIndex};"UL"==p?(y=x.createElt("Row"),y.setAttribute("IX",G),y.appendChild(x.createCellElem("HorzAlign","0")),y.appendChild(x.createCellElem("Bullet",
+"1")),D.appendChild(y),y=x.createElt("pp"),y.setAttribute("IX",G++),C.appendChild(y)):"OL"==p?c.OL=!0:"LI"==p&&(c.LiIndex=d+1);0<e?(V(h.childNodes,c),"UL"==p&&(y=x.createElt("Row"),y.setAttribute("IX",G),y.appendChild(x.createCellElem("Bullet","0")),D.appendChild(y),y=x.createElt("pp"),y.setAttribute("IX",G++),C.appendChild(y)),H(c,A,D,C,"")):H(c,A,D,C,(b.OL?b.LiIndex+". ":"")+h.textContent)}}};"html"==d&&mxClient.IS_SVG?(f=this.cellState.text.node.getElementsByTagName("div")[mxClient.NO_FO?0:1],
+null!=f&&V(f.childNodes,{})):H({fontColor:x.cellState.style.fontColor,fontSize:x.cellState.style.fontSize,fontFamily:x.cellState.style.fontFamily},A,D,C,f);d=f=0;k=Math.max(k,Q);m=Math.max(m,F);z=m/2;var ba=k/2,ea=parseInt(mxUtils.getValue(this.cellState.style,"rotation","0")),ia=ea*Math.PI/180;switch(e){case "right":0!=ea?(c-=z*Math.cos(ia),n-=z*Math.sin(ia)):f=F/2;break;case "left":0!=ea?(c+=z*Math.cos(ia),n+=z*Math.sin(ia)):f=-F/2}switch(b){case "top":0!=ea?(c+=ba*Math.sin(ia),n+=ba*Math.cos(ia)):
+d=Q/2;break;case "bottom":0!=ea?(c-=ba*Math.sin(ia),n-=ba*Math.cos(ia)):d=-Q/2}c=(c-p.x+h.dx)*h.scale;n=(p.height-n+p.y-h.dy)*h.scale;this.shape.appendChild(this.createCellElemScaled("TxtPinX",c));this.shape.appendChild(this.createCellElemScaled("TxtPinY",n));this.shape.appendChild(this.createCellElemScaled("TxtWidth",m));this.shape.appendChild(this.createCellElemScaled("TxtHeight",k));this.shape.appendChild(this.createCellElemScaled("TxtLocPinX",z+f));this.shape.appendChild(this.createCellElemScaled("TxtLocPinY",
+ba+d));y-=ea;0!=y&&this.shape.appendChild(this.createCellElem("TxtAngle",(360-y)*Math.PI/180));this.shape.appendChild(A);this.shape.appendChild(D);this.shape.appendChild(C)}};mxVsdxCanvas2D.prototype.rotate=function(c,n,m,k,f){0!=c&&(n=this.state,k+=n.dx,f+=n.dy,k*=n.scale,f*=n.scale,this.shape.appendChild(this.createCellElem("Angle",(360-c)*Math.PI/180)),n.rotation+=c,n.rotationCx=k,n.rotationCy=f)};
 mxVsdxCanvas2D.prototype.stroke=function(){this.geoSec.appendChild(this.createCellElem("NoFill","1"));this.geoSec.appendChild(this.createCellElem("NoLine","0"))};mxVsdxCanvas2D.prototype.fill=function(){this.geoSec.appendChild(this.createCellElem("NoFill","0"));this.geoSec.appendChild(this.createCellElem("NoLine","1"))};mxVsdxCanvas2D.prototype.fillAndStroke=function(){this.geoSec.appendChild(this.createCellElem("NoFill","0"));this.geoSec.appendChild(this.createCellElem("NoLine","0"))};function BmpDecoder(c,n){this.pos=0;this.buffer=c;this.is_with_alpha=!!n;if(66!=this.buffer[0]&&77!=this.buffer[1])throw Error("Invalid BMP File");this.pos+=2;this.parseHeader();this.parseBGR()}
 BmpDecoder.prototype.parseHeader=function(){var c=this.buffer;this.fileSize=c[this.pos+3]<<24|c[this.pos+2]<<16|c[this.pos+1]<<8|c[this.pos];this.pos+=4;this.reserved=c[this.pos+3]<<24|c[this.pos+2]<<16|c[this.pos+1]<<8|c[this.pos];this.pos+=4;this.offset=c[this.pos+3]<<24|c[this.pos+2]<<16|c[this.pos+1]<<8|c[this.pos];this.pos+=4;this.headerSize=c[this.pos+3]<<24|c[this.pos+2]<<16|c[this.pos+1]<<8|c[this.pos];this.pos+=4;this.width=c[this.pos+3]<<24|c[this.pos+2]<<16|c[this.pos+1]<<8|c[this.pos];
 this.pos+=4;this.height=c[this.pos+3]<<24|c[this.pos+2]<<16|c[this.pos+1]<<8|c[this.pos];this.pos+=4;this.planes=c[this.pos+1]<<8|c[this.pos];this.pos+=2;this.bitPP=c[this.pos+1]<<8|c[this.pos];this.pos+=2;this.compress=c[this.pos+3]<<24|c[this.pos+2]<<16|c[this.pos+1]<<8|c[this.pos];this.pos+=4;this.rawSize=c[this.pos+3]<<24|c[this.pos+2]<<16|c[this.pos+1]<<8|c[this.pos];this.pos+=4;this.hr=c[this.pos+3]<<24|c[this.pos+2]<<16|c[this.pos+1]<<8|c[this.pos];this.pos+=4;this.vr=c[this.pos+3]<<24|c[this.pos+
@@ -783,69 +784,69 @@ BmpDecoder.prototype.bit24=function(){var c=3*this.width%4;0!=c&&(c=4-c);for(var
 BmpDecoder.prototype.bit32=function(){for(var c=this.height-1;0<=c;c--)for(var n=0;n<this.width;n++){var m=this.buffer[this.pos++],k=this.buffer[this.pos++],f=this.buffer[this.pos++],e=this.buffer[this.pos++],b=c*this.width*4+4*n;this.data[b]=f;this.data[b+1]=k;this.data[b+2]=m;this.data[b+3]=e}};BmpDecoder.prototype.getData=function(){return this.data};var __extends=this&&this.__extends||function(c,n){function m(){this.constructor=c}for(var k in n)n.hasOwnProperty(k)&&(c[k]=n[k]);c.prototype=null===n?Object.create(n):(m.prototype=n.prototype,new m)},com;
 (function(c){(function(n){(function(m){var k=function(){function f(c){this.RESPONSE_END="</mxfile>";this.RESPONSE_DIAGRAM_START="";this.RESPONSE_DIAGRAM_END="</diagram>";this.RESPONSE_HEADER='<?xml version="1.0" encoding="UTF-8"?><mxfile>';this.vertexMap={};this.edgeShapeMap={};this.vertexShapeMap={};this.parentsMap={};this.layersMap={};this.debugPaths=!1;this.vsdxModel=null;this.editorUi=c}f.vsdxPlaceholder_$LI$=function(){null==f.vsdxPlaceholder&&(f.vsdxPlaceholder=window.atob?atob("dmlzaW8="):
 Base64.decode("dmlzaW8=",!0));return f.vsdxPlaceholder};f.parsererrorNS_$LI$=function(){if(null==f.parsererrorNS&&(f.parsererrorNS="",window.DOMParser)){var c=new DOMParser;try{f.parsererrorNS=c.parseFromString("<","text/xml").getElementsByTagName("parsererror")[0].namespaceURI}catch(b){}}return f.parsererrorNS};f.parseXml=function(c){try{var b=mxUtils.parseXml(c);return 0<b.getElementsByTagNameNS(f.parsererrorNS,"parsererror").length?null:b}catch(a){return null}};f.decodeUTF16LE=function(c){for(var b=
-"",a=0;a<c.length;a+=2)b+=String.fromCharCode(c.charCodeAt(a)|c.charCodeAt(a+1)<<8);return b};f.prototype.scaleGraph=function(c,b){if(1!==b){var a=c.getModel(),d;for(d in a.cells){var g=a.cells[d],p=a.getGeometry(g);if(null!=p&&(this.scaleRect(p,b),this.scaleRect(p.alternateBounds,b),a.isEdge(g)&&(this.scalePoint(p.sourcePoint,b),this.scalePoint(p.targetPoint,b),this.scalePoint(p.offset,b),g=p.points,null!=g)))for(p=0;p<g.length;p++)this.scalePoint(g[p],b)}}};f.prototype.decodeVsdx=function(e,b,a,
-d){var g=this,p={},y={},A=function(){for(var a=f.vsdxPlaceholder+"/document.xml",d=p[a]?p[a]:null,e=d.firstChild;null!=e&&1!=e.nodeType;)e=e.nextSibling;if(null!=e&&1==e.nodeType)g.importNodes(d,e,a,p);else return null;g.vsdxModel=new c.mxgraph.io.vsdx.mxVsdxModel(d,p,y);for(var a=g.vsdxModel.getPages(),x=g.RESPONSE_HEADER,A=function(a){null==a.entries&&(a.entries=[]);return a.entries}(a),a=function(a){a=A[a].getValue();var b=k.createMxGraph();b.getModel().beginUpdate();k.importPage(a,b,b.getDefaultParent());
-k.scaleGraph(b,a.getPageScale()/a.getDrawingScale());b.getModel().endUpdate();x=x.concat(g.RESPONSE_DIAGRAM_START);x=x.concat(g.processPage(b,a));x=x.concat(g.RESPONSE_DIAGRAM_END)},k=g,d=0;d<A.length;d++)a(d);x=x.concat(g.RESPONSE_END);b&&b(x)},x=0,k=0,m=function(){if(k==x)try{A()}catch(B){console.log(B),null!=d?d():b("")}};JSZip.loadAsync(e).then(function(a){0==Object.keys(a.files).length?null!=d&&d():a.forEach(function(a,b){var d=b.name,c=d.toLowerCase(),e=c.length;c.indexOf(".xml")==e-4||c.indexOf(".xml.rels")==
-e-9?(x++,b.async("string").then(function(a){if(0!==a.length){65279==a.charCodeAt(0)&&(a=a.substring(1));var b=f.parseXml(a);null==b&&0===a.charCodeAt(1)&&0===a.charCodeAt(3)&&0===a.charCodeAt(5)&&(b=f.parseXml(f.decodeUTF16LE(a)));null!=b&&(b.vsdxFileName=d,p[d]=b)}k++;m()})):0===c.indexOf(f.vsdxPlaceholder+"/media")&&(x++,function(a,b){var d=a.length-b.length,g=a.indexOf(b,d);return-1!==g&&g===d}(c,".emf")?JSZip.support.blob&&window.EMF_CONVERT_URL?b.async("blob").then(function(a){var b=new FormData;
-b.append("img",a,c);b.append("inputformat","emf");b.append("outputformat","png");var p=new XMLHttpRequest;p.open("POST",EMF_CONVERT_URL);p.responseType="blob";g.editorUi.addRemoteServiceSecurityCheck(p);p.onreadystatechange=mxUtils.bind(this,function(){if(4==p.readyState)if(200<=p.status&&299>=p.status)try{var a=new FileReader;a.readAsDataURL(p.response);a.onloadend=function(){var b=a.result.indexOf(",")+1;y[d]=a.result.substr(b);k++;m()}}catch(da){console.log(da),k++,m()}else k++,m()});p.send(b)}):
-(k++,m()):function(a,b){var d=a.length-b.length,g=a.indexOf(b,d);return-1!==g&&g===d}(c,".bmp")?JSZip.support.uint8array&&b.async("uint8array").then(function(a){a=new BmpDecoder(a);var b=document.createElement("canvas");b.width=a.width;b.height=a.height;b.getContext("2d").putImageData(a.imageData,0,0);a=b.toDataURL("image/jpeg");y[d]=a.substr(23);k++;m()}):b.async("base64").then(function(a){y[d]=a;k++;m()}))})},function(a){null!=d&&d(a)})};f.prototype.createMxGraph=function(){var c=new Graph;c.setExtendParents(!1);
-c.setExtendParentsOnAdd(!1);c.setConstrainChildren(!1);c.setHtmlLabels(!0);c.getModel().maintainEdgeParent=!1;return c};f.prototype.processPage=function(c,b){var a=(new mxCodec).encode(c.getModel());a.setAttribute("style","default-style2");var a=mxUtils.getXml(a),d="";if(null!=b)var g=mxUtils.htmlEntities(b.getPageName())+(b.isBackground()?" (Background)":""),d=d+('<diagram name="'+g+'" id="'+g.replace(/\s/g,"_")+'">');return d+=Graph.compress(a)};f.prototype.scalePoint=function(c,b){null!=c&&(c.x*=
-b,c.y*=b);return c};f.prototype.scaleRect=function(c,b){null!=c&&(c.x*=b,c.y*=b,c.height*=b,c.width*=b);return c};f.prototype.importNodes=function(c,b,a,d){var g=a.lastIndexOf("/"),p=a,e=a;if(-1!==g&&(p=a.substring(0,g),e=a.substring(g+1,a.length),a=function(a,b){return a[b]?a[b]:null}(d,p+"/_rels/"+e+".rels"),null!=a)){var f=a.getElementsByTagName("Relationship");a={};for(g=0;g<f.length;g++){var e=f.item(g),x=e.getAttribute("Id"),e=e.getAttribute("Target");a[x]=e}b=b.getElementsByTagName("Rel");
-for(g=0;g<b.length;g++)if(f=b.item(g),e=function(a,b){return a[b]?a[b]:null}(a,f.getAttribute("r:id")),e=p+"/"+e,null!=e&&(x=d[e]?d[e]:null,null!=x)){f=f.parentNode;for(x=x.firstChild;null!=x&&1!=x.nodeType;)x=x.nextSibling;if(null!=x&&1==x.nodeType)for(x=x.firstChild;null!=x;){if(null!=x&&1==x.nodeType){var k=f.appendChild(c.importNode(x,!0));this.importNodes(c,k,e,d)}x=x.nextSibling}}}};f.prototype.importPage=function(c,b,a){var d=c.getBackPage();if(null!=d){b.getModel().setValue(b.getDefaultParent(),
-c.getPageName());var g=new mxCell(d.getPageName());b.addCell(g,b.getModel().getRoot(),0,null,null);this.importPage(d,b,b.getDefaultParent())}d=c.getLayers();this.layersMap[0]=b.getDefaultParent();if(1<d.length)for(g=1;g<d.length;g++){var p=d[g],e=new mxCell;e.setVisible(1==p.Visible);1==p.Lock&&e.setStyle("locked=1;");e.setValue(p.Name);this.layersMap[g]=e;b.addCell(e,b.model.root,g)}p=function(a){var b=0;return{next:function(){return b<a.length?a[b++]:null},hasNext:function(){return b<a.length}}}(function(a){null==
-a.entries&&(a.entries=[]);return a.entries}(c.getShapes()));d=c.getPageDimensions().y;for(g=c.getId();p.hasNext();){var e=p.next(),e=e.getValue(),f=this.layersMap[e.layerMember];this.addShape(b,e,f?f:a,g,d)}for(c=function(a){var b=0;return{next:function(){return b<a.length?a[b++]:null},hasNext:function(){return b<a.length}}}(function(a){null==a.entries&&(a.entries=[]);return a.entries}(c.getConnects()));c.hasNext();)e=c.next(),a=this.addConnectedEdge(b,e.getValue(),g,d),null!=a&&function(a,b){null==
-a.entries&&(a.entries=[]);for(var d=0;d<a.entries.length;d++)if(null!=a.entries[d].key.equals&&a.entries[d].key.equals(b)||a.entries[d].key===b)return a.entries.splice(d,1)[0]}(this.edgeShapeMap,a);for(c=function(a){var b=0;return{next:function(){return b<a.length?a[b++]:null},hasNext:function(){return b<a.length}}}(function(a){null==a.entries&&(a.entries=[]);return a.entries}(this.edgeShapeMap));c.hasNext();)a=c.next(),a.getKey().getPageNumber()===g&&this.addUnconnectedEdge(b,function(a,b){null==
-a.entries&&(a.entries=[]);for(var d=0;d<a.entries.length;d++)if(null!=a.entries[d].key.equals&&a.entries[d].key.equals(b)||a.entries[d].key===b)return a.entries[d].value;return null}(this.parentsMap,a.getKey()),a.getValue(),d);this.sanitiseGraph(b);return d};f.prototype.addShape=function(e,b,a,d,g){b.parentHeight=g;var p=c.mxgraph.io.vsdx.VsdxShape.getType(b.getShape());if(null!=p&&(function(a,b){return a&&a.equals?a.equals(b):a===b}(p,c.mxgraph.io.vsdx.mxVsdxConstants.TYPE_SHAPE)||function(a,b){return a&&
-a.equals?a.equals(b):a===b}(p,c.mxgraph.io.vsdx.mxVsdxConstants.TYPE_GROUP)||function(a,b){return a&&a.equals?a.equals(b):a===b}(p,c.mxgraph.io.vsdx.mxVsdxConstants.FOREIGN))){var y=b.getId();if(b.isVertex())return p=null,p=b.isGroup()?this.addGroup(e,b,a,d,g):this.addVertex(e,b,a,d,g),function(a,b,d){null==a.entries&&(a.entries=[]);for(var g=0;g<a.entries.length;g++)if(null!=a.entries[g].key.equals&&a.entries[g].key.equals(b)||a.entries[g].key===b){a.entries[g].value=d;return}a.entries.push({key:b,
-value:d,getKey:function(){return this.key},getValue:function(){return this.value}})}(this.vertexShapeMap,new c.mxgraph.io.vsdx.ShapePageId(d,y),b),b=b.getHyperlink(),b.extLink?e.setLinkForCell(p,b.extLink):b.pageLink&&e.setLinkForCell(p,"data:page/id,"+b.pageLink),p;b.setShapeIndex(e.getModel().getChildCount(a));(function(a,b,d){null==a.entries&&(a.entries=[]);for(var g=0;g<a.entries.length;g++)if(null!=a.entries[g].key.equals&&a.entries[g].key.equals(b)||a.entries[g].key===b){a.entries[g].value=
-d;return}a.entries.push({key:b,value:d,getKey:function(){return this.key},getValue:function(){return this.value}})})(this.edgeShapeMap,new c.mxgraph.io.vsdx.ShapePageId(d,y),b);(function(a,b,d){null==a.entries&&(a.entries=[]);for(var g=0;g<a.entries.length;g++)if(null!=a.entries[g].key.equals&&a.entries[g].key.equals(b)||a.entries[g].key===b){a.entries[g].value=d;return}a.entries.push({key:b,value:d,getKey:function(){return this.key},getValue:function(){return this.value}})})(this.parentsMap,new c.mxgraph.io.vsdx.ShapePageId(d,
-y),a)}return null};f.prototype.addGroup=function(e,b,a,d,g){var p=b.getDimensions(),y=b.getMaster(),f=b.getStyleFromShape(),x=b.getGeomList();x.isNoFill()&&(f[mxConstants.STYLE_FILLCOLOR]="none",f[mxConstants.STYLE_GRADIENTCOLOR]="none");x.isNoLine()&&(f[mxConstants.STYLE_STROKECOLOR]="none");f.html="1";f[mxConstants.STYLE_WHITE_SPACE]="wrap";var k=c.mxgraph.io.vsdx.mxVsdxUtils.getStyleString(f,"="),f=null,m=b.getChildShapes(),f=null!=m&&0<function(a){null==a.entries&&(a.entries=[]);return a.entries.length}(m),
-x=b.isDisplacedLabel()||b.isRotatedLabel()||f,f=b.getOriginPoint(g,!0);if(x)f=e.insertVertex(a,null,null,Math.floor(Math.round(100*f.x)/100),Math.floor(Math.round(100*f.y)/100),Math.floor(Math.round(100*p.x)/100),Math.floor(Math.round(100*p.y)/100),k);else var n=b.getTextLabel(),f=e.insertVertex(a,null,n,Math.floor(Math.round(100*f.x)/100),Math.floor(Math.round(100*f.y)/100),Math.floor(Math.round(100*p.x)/100),Math.floor(Math.round(100*p.y)/100),k);for(a=function(a){var b=0;return{next:function(){return b<
+"",a=0;a<c.length;a+=2)b+=String.fromCharCode(c.charCodeAt(a)|c.charCodeAt(a+1)<<8);return b};f.prototype.scaleGraph=function(c,b){if(1!==b){var a=c.getModel(),d;for(d in a.cells){var h=a.cells[d],p=a.getGeometry(h);if(null!=p&&(this.scaleRect(p,b),this.scaleRect(p.alternateBounds,b),a.isEdge(h)&&(this.scalePoint(p.sourcePoint,b),this.scalePoint(p.targetPoint,b),this.scalePoint(p.offset,b),h=p.points,null!=h)))for(p=0;p<h.length;p++)this.scalePoint(h[p],b)}}};f.prototype.decodeVsdx=function(e,b,a,
+d){var h=this,p={},y={},z=function(){for(var a=f.vsdxPlaceholder+"/document.xml",d=p[a]?p[a]:null,e=d.firstChild;null!=e&&1!=e.nodeType;)e=e.nextSibling;if(null!=e&&1==e.nodeType)h.importNodes(d,e,a,p);else return null;h.vsdxModel=new c.mxgraph.io.vsdx.mxVsdxModel(d,p,y);for(var a=h.vsdxModel.getPages(),x=h.RESPONSE_HEADER,z=function(a){null==a.entries&&(a.entries=[]);return a.entries}(a),a=function(a){a=z[a].getValue();var b=k.createMxGraph();b.getModel().beginUpdate();k.importPage(a,b,b.getDefaultParent());
+k.scaleGraph(b,a.getPageScale()/a.getDrawingScale());b.getModel().endUpdate();x=x.concat(h.RESPONSE_DIAGRAM_START);x=x.concat(h.processPage(b,a));x=x.concat(h.RESPONSE_DIAGRAM_END)},k=h,d=0;d<z.length;d++)a(d);x=x.concat(h.RESPONSE_END);b&&b(x)},x=0,k=0,m=function(){if(k==x)try{z()}catch(C){console.log(C),null!=d?d():b("")}};JSZip.loadAsync(e).then(function(a){0==Object.keys(a.files).length?null!=d&&d():a.forEach(function(a,b){var d=b.name,c=d.toLowerCase(),e=c.length;c.indexOf(".xml")==e-4||c.indexOf(".xml.rels")==
+e-9?(x++,b.async("string").then(function(a){if(0!==a.length){65279==a.charCodeAt(0)&&(a=a.substring(1));var b=f.parseXml(a);null==b&&0===a.charCodeAt(1)&&0===a.charCodeAt(3)&&0===a.charCodeAt(5)&&(b=f.parseXml(f.decodeUTF16LE(a)));null!=b&&(b.vsdxFileName=d,p[d]=b)}k++;m()})):0===c.indexOf(f.vsdxPlaceholder+"/media")&&(x++,function(a,b){var d=a.length-b.length,h=a.indexOf(b,d);return-1!==h&&h===d}(c,".emf")?JSZip.support.blob&&window.EMF_CONVERT_URL?b.async("blob").then(function(a){var b=new FormData;
+b.append("img",a,c);b.append("inputformat","emf");b.append("outputformat","png");var p=new XMLHttpRequest;p.open("POST",EMF_CONVERT_URL);p.responseType="blob";h.editorUi.addRemoteServiceSecurityCheck(p);p.onreadystatechange=mxUtils.bind(this,function(){if(4==p.readyState)if(200<=p.status&&299>=p.status)try{var a=new FileReader;a.readAsDataURL(p.response);a.onloadend=function(){var b=a.result.indexOf(",")+1;y[d]=a.result.substr(b);k++;m()}}catch(ba){console.log(ba),k++,m()}else k++,m()});p.send(b)}):
+(k++,m()):function(a,b){var d=a.length-b.length,h=a.indexOf(b,d);return-1!==h&&h===d}(c,".bmp")?JSZip.support.uint8array&&b.async("uint8array").then(function(a){a=new BmpDecoder(a);var b=document.createElement("canvas");b.width=a.width;b.height=a.height;b.getContext("2d").putImageData(a.imageData,0,0);a=b.toDataURL("image/jpeg");y[d]=a.substr(23);k++;m()}):b.async("base64").then(function(a){y[d]=a;k++;m()}))})},function(a){null!=d&&d(a)})};f.prototype.createMxGraph=function(){var c=new Graph;c.setExtendParents(!1);
+c.setExtendParentsOnAdd(!1);c.setConstrainChildren(!1);c.setHtmlLabels(!0);c.getModel().maintainEdgeParent=!1;return c};f.prototype.processPage=function(c,b){var a=(new mxCodec).encode(c.getModel());a.setAttribute("style","default-style2");var a=mxUtils.getXml(a),d="";if(null!=b)var h=mxUtils.htmlEntities(b.getPageName())+(b.isBackground()?" (Background)":""),d=d+('<diagram name="'+h+'" id="'+h.replace(/\s/g,"_")+'">');return d+=Graph.compress(a)};f.prototype.scalePoint=function(c,b){null!=c&&(c.x*=
+b,c.y*=b);return c};f.prototype.scaleRect=function(c,b){null!=c&&(c.x*=b,c.y*=b,c.height*=b,c.width*=b);return c};f.prototype.importNodes=function(c,b,a,d){var h=a.lastIndexOf("/"),p=a,e=a;if(-1!==h&&(p=a.substring(0,h),e=a.substring(h+1,a.length),a=function(a,b){return a[b]?a[b]:null}(d,p+"/_rels/"+e+".rels"),null!=a)){var f=a.getElementsByTagName("Relationship");a={};for(h=0;h<f.length;h++){var e=f.item(h),x=e.getAttribute("Id"),e=e.getAttribute("Target");a[x]=e}b=b.getElementsByTagName("Rel");
+for(h=0;h<b.length;h++)if(f=b.item(h),e=function(a,b){return a[b]?a[b]:null}(a,f.getAttribute("r:id")),e=p+"/"+e,null!=e&&(x=d[e]?d[e]:null,null!=x)){f=f.parentNode;for(x=x.firstChild;null!=x&&1!=x.nodeType;)x=x.nextSibling;if(null!=x&&1==x.nodeType)for(x=x.firstChild;null!=x;){if(null!=x&&1==x.nodeType){var k=f.appendChild(c.importNode(x,!0));this.importNodes(c,k,e,d)}x=x.nextSibling}}}};f.prototype.importPage=function(c,b,a){var d=c.getBackPage();if(null!=d){b.getModel().setValue(b.getDefaultParent(),
+c.getPageName());var h=new mxCell(d.getPageName());b.addCell(h,b.getModel().getRoot(),0,null,null);this.importPage(d,b,b.getDefaultParent())}d=c.getLayers();this.layersMap[0]=b.getDefaultParent();for(h=0;h<d.length;h++){var p=d[h];if(0==h)var e=b.getDefaultParent();else e=new mxCell,b.addCell(e,b.model.root,h);e.setVisible(1==p.Visible);1==p.Lock&&e.setStyle("locked=1;");e.setValue(p.Name);this.layersMap[h]=e}p=function(a){var b=0;return{next:function(){return b<a.length?a[b++]:null},hasNext:function(){return b<
+a.length}}}(function(a){null==a.entries&&(a.entries=[]);return a.entries}(c.getShapes()));d=c.getPageDimensions().y;for(h=c.getId();p.hasNext();){var e=p.next(),e=e.getValue(),f=this.layersMap[e.layerMember];this.addShape(b,e,f?f:a,h,d)}for(c=function(a){var b=0;return{next:function(){return b<a.length?a[b++]:null},hasNext:function(){return b<a.length}}}(function(a){null==a.entries&&(a.entries=[]);return a.entries}(c.getConnects()));c.hasNext();)e=c.next(),a=this.addConnectedEdge(b,e.getValue(),h,
+d),null!=a&&function(a,b){null==a.entries&&(a.entries=[]);for(var d=0;d<a.entries.length;d++)if(null!=a.entries[d].key.equals&&a.entries[d].key.equals(b)||a.entries[d].key===b)return a.entries.splice(d,1)[0]}(this.edgeShapeMap,a);for(c=function(a){var b=0;return{next:function(){return b<a.length?a[b++]:null},hasNext:function(){return b<a.length}}}(function(a){null==a.entries&&(a.entries=[]);return a.entries}(this.edgeShapeMap));c.hasNext();)a=c.next(),a.getKey().getPageNumber()===h&&this.addUnconnectedEdge(b,
+function(a,b){null==a.entries&&(a.entries=[]);for(var d=0;d<a.entries.length;d++)if(null!=a.entries[d].key.equals&&a.entries[d].key.equals(b)||a.entries[d].key===b)return a.entries[d].value;return null}(this.parentsMap,a.getKey()),a.getValue(),d);this.sanitiseGraph(b);return d};f.prototype.addShape=function(e,b,a,d,h){b.parentHeight=h;var p=c.mxgraph.io.vsdx.VsdxShape.getType(b.getShape());if(null!=p&&(function(a,b){return a&&a.equals?a.equals(b):a===b}(p,c.mxgraph.io.vsdx.mxVsdxConstants.TYPE_SHAPE)||
+function(a,b){return a&&a.equals?a.equals(b):a===b}(p,c.mxgraph.io.vsdx.mxVsdxConstants.TYPE_GROUP)||function(a,b){return a&&a.equals?a.equals(b):a===b}(p,c.mxgraph.io.vsdx.mxVsdxConstants.FOREIGN))){var y=b.getId();if(b.isVertex())return p=null,p=b.isGroup()?this.addGroup(e,b,a,d,h):this.addVertex(e,b,a,d,h),function(a,b,d){null==a.entries&&(a.entries=[]);for(var h=0;h<a.entries.length;h++)if(null!=a.entries[h].key.equals&&a.entries[h].key.equals(b)||a.entries[h].key===b){a.entries[h].value=d;return}a.entries.push({key:b,
+value:d,getKey:function(){return this.key},getValue:function(){return this.value}})}(this.vertexShapeMap,new c.mxgraph.io.vsdx.ShapePageId(d,y),b),b=b.getHyperlink(),b.extLink?e.setLinkForCell(p,b.extLink):b.pageLink&&e.setLinkForCell(p,"data:page/id,"+b.pageLink),p;b.setShapeIndex(e.getModel().getChildCount(a));(function(a,b,d){null==a.entries&&(a.entries=[]);for(var h=0;h<a.entries.length;h++)if(null!=a.entries[h].key.equals&&a.entries[h].key.equals(b)||a.entries[h].key===b){a.entries[h].value=
+d;return}a.entries.push({key:b,value:d,getKey:function(){return this.key},getValue:function(){return this.value}})})(this.edgeShapeMap,new c.mxgraph.io.vsdx.ShapePageId(d,y),b);(function(a,b,d){null==a.entries&&(a.entries=[]);for(var h=0;h<a.entries.length;h++)if(null!=a.entries[h].key.equals&&a.entries[h].key.equals(b)||a.entries[h].key===b){a.entries[h].value=d;return}a.entries.push({key:b,value:d,getKey:function(){return this.key},getValue:function(){return this.value}})})(this.parentsMap,new c.mxgraph.io.vsdx.ShapePageId(d,
+y),a)}return null};f.prototype.addGroup=function(e,b,a,d,h){var p=b.getDimensions(),y=b.getMaster(),f=b.getStyleFromShape(),x=b.getGeomList();x.isNoFill()&&(f[mxConstants.STYLE_FILLCOLOR]="none",f[mxConstants.STYLE_GRADIENTCOLOR]="none");x.isNoLine()&&(f[mxConstants.STYLE_STROKECOLOR]="none");f.html="1";f[mxConstants.STYLE_WHITE_SPACE]="wrap";var k=c.mxgraph.io.vsdx.mxVsdxUtils.getStyleString(f,"="),f=null,m=b.getChildShapes(),f=null!=m&&0<function(a){null==a.entries&&(a.entries=[]);return a.entries.length}(m),
+x=b.isDisplacedLabel()||b.isRotatedLabel()||f,f=b.getOriginPoint(h,!0);if(x)f=e.insertVertex(a,null,null,Math.floor(Math.round(100*f.x)/100),Math.floor(Math.round(100*f.y)/100),Math.floor(Math.round(100*p.x)/100),Math.floor(Math.round(100*p.y)/100),k);else var n=b.getTextLabel(),f=e.insertVertex(a,null,n,Math.floor(Math.round(100*f.x)/100),Math.floor(Math.round(100*f.y)/100),Math.floor(Math.round(100*p.x)/100),Math.floor(Math.round(100*p.y)/100),k);for(a=function(a){var b=0;return{next:function(){return b<
 a.length?a[b++]:null},hasNext:function(){return b<a.length}}}(function(a){null==a.entries&&(a.entries=[]);return a.entries}(m));a.hasNext();)k=a.next().getValue(),m=k.getId(),k.isVertex()?(n=c.mxgraph.io.vsdx.VsdxShape.getType(k.getShape()),null!=n&&(function(a,b){return a&&a.equals?a.equals(b):a===b}(n,c.mxgraph.io.vsdx.mxVsdxConstants.TYPE_SHAPE)||function(a,b){return a&&a.equals?a.equals(b):a===b}(n,c.mxgraph.io.vsdx.mxVsdxConstants.TYPE_GROUP)||function(a,b){return a&&a.equals?a.equals(b):a===
-b}(n,c.mxgraph.io.vsdx.mxVsdxConstants.FOREIGN))&&k.isVertex()&&(k.propagateRotation(b.getRotation()),k.isGroup()?this.addGroup(e,k,f,d,p.y):this.addVertex(e,k,f,d,p.y)),null==y&&function(a,b,d){null==a.entries&&(a.entries=[]);for(var g=0;g<a.entries.length;g++)if(null!=a.entries[g].key.equals&&a.entries[g].key.equals(b)||a.entries[g].key===b){a.entries[g].value=d;return}a.entries.push({key:b,value:d,getKey:function(){return this.key},getValue:function(){return this.value}})}(this.vertexShapeMap,
-new c.mxgraph.io.vsdx.ShapePageId(d,m),k)):null==y?(function(a,b,d){null==a.entries&&(a.entries=[]);for(var g=0;g<a.entries.length;g++)if(null!=a.entries[g].key.equals&&a.entries[g].key.equals(b)||a.entries[g].key===b){a.entries[g].value=d;return}a.entries.push({key:b,value:d,getKey:function(){return this.key},getValue:function(){return this.value}})}(this.edgeShapeMap,new c.mxgraph.io.vsdx.ShapePageId(d,m),k),function(a,b,d){null==a.entries&&(a.entries=[]);for(var g=0;g<a.entries.length;g++)if(null!=
-a.entries[g].key.equals&&a.entries[g].key.equals(b)||a.entries[g].key===b){a.entries[g].value=d;return}a.entries.push({key:b,value:d,getKey:function(){return this.key},getValue:function(){return this.value}})}(this.parentsMap,new c.mxgraph.io.vsdx.ShapePageId(d,m),f)):this.addUnconnectedEdge(e,f,k,g);x&&b.createLabelSubShape(e,f);e=b.getRotation();if(0!==e)for(p=f.getGeometry(),g=p.width/2,p=p.height/2,y=0;y<f.getChildCount();y++)x=f.getChildAt(y),c.mxgraph.online.Utils.rotatedGeometry(x.getGeometry(),
-e,g,p);(function(a,b,d){null==a.entries&&(a.entries=[]);for(var g=0;g<a.entries.length;g++)if(null!=a.entries[g].key.equals&&a.entries[g].key.equals(b)||a.entries[g].key===b){a.entries[g].value=d;return}a.entries.push({key:b,value:d,getKey:function(){return this.key},getValue:function(){return this.value}})})(this.vertexMap,new c.mxgraph.io.vsdx.ShapePageId(d,b.getId()),f);return f};f.rotatedEdgePoint=function(c,b,a,d){b=b*Math.PI/180;var g=Math.cos(b);b=Math.sin(b);var p=c.x-a,e=c.y-d;c.x=Math.round(p*
-g-e*b+a);c.y=Math.round(e*g+p*b+d)};f.prototype.addVertex=function(e,b,a,d,g){var p="",y=b.isDisplacedLabel()||b.isRotatedLabel();y||(p=b.getTextLabel());var f=b.getDimensions(),x=b.getStyleFromShape();x.html="1";var k=x.hasOwnProperty(mxConstants.STYLE_SHAPE)||x.hasOwnProperty("stencil");x.hasOwnProperty(mxConstants.STYLE_FILLCOLOR)&&k||(x[mxConstants.STYLE_FILLCOLOR]="none");k||(x[mxConstants.STYLE_STROKECOLOR]="none");x.hasOwnProperty(mxConstants.STYLE_GRADIENTCOLOR)&&k||(x[mxConstants.STYLE_GRADIENTCOLOR]=
-"none");x[mxConstants.STYLE_WHITE_SPACE]="wrap";g=b.getOriginPoint(g,!0);return k||null!=p?(x=c.mxgraph.io.vsdx.mxVsdxUtils.getStyleString(x,"="),k=null,k=y?e.insertVertex(a,null,null,Math.floor(Math.round(100*g.x)/100),Math.floor(Math.round(100*g.y)/100),Math.floor(Math.round(100*f.x)/100),Math.floor(Math.round(100*f.y)/100),x):e.insertVertex(a,null,p,Math.floor(Math.round(100*g.x)/100),Math.floor(Math.round(100*g.y)/100),Math.floor(Math.round(100*f.x)/100),Math.floor(Math.round(100*f.y)/100),x),
-function(a,b,d){null==a.entries&&(a.entries=[]);for(var g=0;g<a.entries.length;g++)if(null!=a.entries[g].key.equals&&a.entries[g].key.equals(b)||a.entries[g].key===b){a.entries[g].value=d;return}a.entries.push({key:b,value:d,getKey:function(){return this.key},getValue:function(){return this.value}})}(this.vertexMap,new c.mxgraph.io.vsdx.ShapePageId(d,b.getId()),k),b.setLabelOffset(k,x),y&&b.createLabelSubShape(e,k),k):null};f.calculateAbsolutePoint=function(c){for(var b=0,a=0;null!=c;){var d=c.geometry;
-null!=d&&(b+=d.x,a+=d.y);c=c.parent}return new mxPoint(b,a)};f.prototype.addConnectedEdge=function(e,b,a,d){var g=b.getFromSheet(),g=new c.mxgraph.io.vsdx.ShapePageId(a,g),p=function(a,b){null==a.entries&&(a.entries=[]);for(var d=0;d<a.entries.length;d++)if(null!=a.entries[d].key.equals&&a.entries[d].key.equals(b)||a.entries[d].key===b)return a.entries[d].value;return null}(this.edgeShapeMap,g);if(null==p)return null;var y=function(a,b){null==a.entries&&(a.entries=[]);for(var d=0;d<a.entries.length;d++)if(null!=
-a.entries[d].key.equals&&a.entries[d].key.equals(b)||a.entries[d].key===b)return a.entries[d].value;return null}(this.parentsMap,new c.mxgraph.io.vsdx.ShapePageId(a,p.getId()));if(null!=y){var A=e.getModel().getGeometry(y);null!=A&&(d=A.height)}var x=p.getStartXY(d),k=p.getEndXY(d),A=p.getRoutingPoints(d,x,p.getRotation());this.rotateChildEdge(e.getModel(),y,x,k,A);var m=null,n=b.getSourceToSheet(),n=null!=n?function(a,b){null==a.entries&&(a.entries=[]);for(var d=0;d<a.entries.length;d++)if(null!=
-a.entries[d].key.equals&&a.entries[d].key.equals(b)||a.entries[d].key===b)return a.entries[d].value;return null}(this.vertexMap,new c.mxgraph.io.vsdx.ShapePageId(a,n)):null,C=!0;if(null==n)n=e.insertVertex(y,null,null,Math.floor(Math.round(100*x.x)/100),Math.floor(Math.round(100*x.y)/100),0,0);else if(n.style&&-1==n.style.indexOf(";rotation="))var m=f.calculateAbsolutePoint(n),G=f.calculateAbsolutePoint(y),D=n.geometry,m=new mxPoint((G.x+x.x-m.x)/D.width,(G.y+x.y-m.y)/D.height);else C=!1;x=null;b=
+b}(n,c.mxgraph.io.vsdx.mxVsdxConstants.FOREIGN))&&k.isVertex()&&(k.propagateRotation(b.getRotation()),k.isGroup()?this.addGroup(e,k,f,d,p.y):this.addVertex(e,k,f,d,p.y)),null==y&&function(a,b,d){null==a.entries&&(a.entries=[]);for(var h=0;h<a.entries.length;h++)if(null!=a.entries[h].key.equals&&a.entries[h].key.equals(b)||a.entries[h].key===b){a.entries[h].value=d;return}a.entries.push({key:b,value:d,getKey:function(){return this.key},getValue:function(){return this.value}})}(this.vertexShapeMap,
+new c.mxgraph.io.vsdx.ShapePageId(d,m),k)):null==y?(function(a,b,d){null==a.entries&&(a.entries=[]);for(var h=0;h<a.entries.length;h++)if(null!=a.entries[h].key.equals&&a.entries[h].key.equals(b)||a.entries[h].key===b){a.entries[h].value=d;return}a.entries.push({key:b,value:d,getKey:function(){return this.key},getValue:function(){return this.value}})}(this.edgeShapeMap,new c.mxgraph.io.vsdx.ShapePageId(d,m),k),function(a,b,d){null==a.entries&&(a.entries=[]);for(var h=0;h<a.entries.length;h++)if(null!=
+a.entries[h].key.equals&&a.entries[h].key.equals(b)||a.entries[h].key===b){a.entries[h].value=d;return}a.entries.push({key:b,value:d,getKey:function(){return this.key},getValue:function(){return this.value}})}(this.parentsMap,new c.mxgraph.io.vsdx.ShapePageId(d,m),f)):this.addUnconnectedEdge(e,f,k,h);x&&b.createLabelSubShape(e,f);e=b.getRotation();if(0!==e)for(p=f.getGeometry(),h=p.width/2,p=p.height/2,y=0;y<f.getChildCount();y++)x=f.getChildAt(y),c.mxgraph.online.Utils.rotatedGeometry(x.getGeometry(),
+e,h,p);(function(a,b,d){null==a.entries&&(a.entries=[]);for(var h=0;h<a.entries.length;h++)if(null!=a.entries[h].key.equals&&a.entries[h].key.equals(b)||a.entries[h].key===b){a.entries[h].value=d;return}a.entries.push({key:b,value:d,getKey:function(){return this.key},getValue:function(){return this.value}})})(this.vertexMap,new c.mxgraph.io.vsdx.ShapePageId(d,b.getId()),f);return f};f.rotatedEdgePoint=function(c,b,a,d){b=b*Math.PI/180;var h=Math.cos(b);b=Math.sin(b);var p=c.x-a,e=c.y-d;c.x=Math.round(p*
+h-e*b+a);c.y=Math.round(e*h+p*b+d)};f.prototype.addVertex=function(e,b,a,d,h){var p="",y=b.isDisplacedLabel()||b.isRotatedLabel();y||(p=b.getTextLabel());var f=b.getDimensions(),x=b.getStyleFromShape();x.html="1";var k=x.hasOwnProperty(mxConstants.STYLE_SHAPE)||x.hasOwnProperty("stencil");x.hasOwnProperty(mxConstants.STYLE_FILLCOLOR)&&k||(x[mxConstants.STYLE_FILLCOLOR]="none");k||(x[mxConstants.STYLE_STROKECOLOR]="none");x.hasOwnProperty(mxConstants.STYLE_GRADIENTCOLOR)&&k||(x[mxConstants.STYLE_GRADIENTCOLOR]=
+"none");x[mxConstants.STYLE_WHITE_SPACE]="wrap";h=b.getOriginPoint(h,!0);return k||null!=p?(x=c.mxgraph.io.vsdx.mxVsdxUtils.getStyleString(x,"="),k=null,k=y?e.insertVertex(a,null,null,Math.floor(Math.round(100*h.x)/100),Math.floor(Math.round(100*h.y)/100),Math.floor(Math.round(100*f.x)/100),Math.floor(Math.round(100*f.y)/100),x):e.insertVertex(a,null,p,Math.floor(Math.round(100*h.x)/100),Math.floor(Math.round(100*h.y)/100),Math.floor(Math.round(100*f.x)/100),Math.floor(Math.round(100*f.y)/100),x),
+function(a,b,d){null==a.entries&&(a.entries=[]);for(var h=0;h<a.entries.length;h++)if(null!=a.entries[h].key.equals&&a.entries[h].key.equals(b)||a.entries[h].key===b){a.entries[h].value=d;return}a.entries.push({key:b,value:d,getKey:function(){return this.key},getValue:function(){return this.value}})}(this.vertexMap,new c.mxgraph.io.vsdx.ShapePageId(d,b.getId()),k),b.setLabelOffset(k,x),y&&b.createLabelSubShape(e,k),k):null};f.calculateAbsolutePoint=function(c){for(var b=0,a=0;null!=c;){var d=c.geometry;
+null!=d&&(b+=d.x,a+=d.y);c=c.parent}return new mxPoint(b,a)};f.prototype.addConnectedEdge=function(e,b,a,d){var h=b.getFromSheet(),h=new c.mxgraph.io.vsdx.ShapePageId(a,h),p=function(a,b){null==a.entries&&(a.entries=[]);for(var d=0;d<a.entries.length;d++)if(null!=a.entries[d].key.equals&&a.entries[d].key.equals(b)||a.entries[d].key===b)return a.entries[d].value;return null}(this.edgeShapeMap,h);if(null==p)return null;var y=function(a,b){null==a.entries&&(a.entries=[]);for(var d=0;d<a.entries.length;d++)if(null!=
+a.entries[d].key.equals&&a.entries[d].key.equals(b)||a.entries[d].key===b)return a.entries[d].value;return null}(this.parentsMap,new c.mxgraph.io.vsdx.ShapePageId(a,p.getId()));if(null!=y){var z=e.getModel().getGeometry(y);null!=z&&(d=z.height)}var x=p.getStartXY(d),k=p.getEndXY(d),z=p.getRoutingPoints(d,x,p.getRotation());this.rotateChildEdge(e.getModel(),y,x,k,z);var m=null,n=b.getSourceToSheet(),n=null!=n?function(a,b){null==a.entries&&(a.entries=[]);for(var d=0;d<a.entries.length;d++)if(null!=
+a.entries[d].key.equals&&a.entries[d].key.equals(b)||a.entries[d].key===b)return a.entries[d].value;return null}(this.vertexMap,new c.mxgraph.io.vsdx.ShapePageId(a,n)):null,B=!0;if(null==n)n=e.insertVertex(y,null,null,Math.floor(Math.round(100*x.x)/100),Math.floor(Math.round(100*x.y)/100),0,0);else if(n.style&&-1==n.style.indexOf(";rotation="))var m=f.calculateAbsolutePoint(n),G=f.calculateAbsolutePoint(y),F=n.geometry,m=new mxPoint((G.x+x.x-m.x)/F.width,(G.y+x.y-m.y)/F.height);else B=!1;x=null;b=
 b.getTargetToSheet();b=null!=b?function(a,b){null==a.entries&&(a.entries=[]);for(var d=0;d<a.entries.length;d++)if(null!=a.entries[d].key.equals&&a.entries[d].key.equals(b)||a.entries[d].key===b)return a.entries[d].value;return null}(this.vertexMap,new c.mxgraph.io.vsdx.ShapePageId(a,b)):null;G=!0;null==b?b=e.insertVertex(y,null,null,Math.floor(Math.round(100*k.x)/100),Math.floor(Math.round(100*k.y)/100),0,0):b.style&&-1==b.style.indexOf(";rotation=")?(a=f.calculateAbsolutePoint(b),x=f.calculateAbsolutePoint(y),
-D=b.geometry,x=new mxPoint((x.x+k.x-a.x)/D.width,(x.y+k.y-a.y)/D.height)):G=!1;k=p.getStyleFromEdgeShape(d);D=p.getRotation();0!==D?(a=e.insertEdge(y,null,null,n,b,c.mxgraph.io.vsdx.mxVsdxUtils.getStyleString(k,"=")),C=p.createLabelSubShape(e,a),null!=C&&(C.setStyle(C.getStyle()+";rotation="+(60<D&&240>D?(D+180)%360:D)),C=C.getGeometry(),C.x=0,C.y=0,C.relative=!0,C.offset=new mxPoint(-C.width/2,-C.height/2))):(a=e.insertEdge(y,null,p.getTextLabel(),n,b,c.mxgraph.io.vsdx.mxVsdxUtils.getStyleString(k,
-"=")),D=p.getLblEdgeOffset(e.getView(),A),a.getGeometry().offset=D,null!=m&&e.setConnectionConstraint(a,n,!0,new mxConnectionConstraint(m,!1)),C&&A.shift(),null!=x&&e.setConnectionConstraint(a,b,!1,new mxConnectionConstraint(x,!1)),G&&A.pop());C=e.getModel().getGeometry(a);if(n.parent!=b.parent&&null!=y&&1!=y.id&&1==n.parent.id){b=m=0;do x=y.geometry,null!=x&&(m+=x.x,b+=x.y),y=y.parent;while(null!=y);a.parent=n.parent;for(y=0;y<A.length;y++)A[y].x+=m,A[y].y+=b}C.points=A;k.hasOwnProperty("curved")&&
-function(a,b){return a&&a.equals?a.equals(b):a===b}(function(a,b){return a[b]?a[b]:null}(k,"curved"),"1")&&(C=e.getModel().getGeometry(a),e=p.getControlPoints(d),C.points=e);return g};f.prototype.addUnconnectedEdge=function(e,b,a,d){if(null!=b){var g=e.getModel().getGeometry(b);null!=g&&(d=g.height)}var p=a.getStartXY(d),y=a.getEndXY(d),f=a.getStyleFromEdgeShape(d),x=a.getRoutingPoints(d,p,a.getRotation()),k=a.getRotation();if(0!==k){0===a.getShapeIndex()?g=e.insertEdge(b,null,null,null,null,c.mxgraph.io.vsdx.mxVsdxUtils.getStyleString(f,
-"=")):(g=e.createEdge(b,null,null,null,null,c.mxgraph.io.vsdx.mxVsdxUtils.getStyleString(f,"=")),g=e.addEdge(g,b,null,null,a.getShapeIndex()));var m=a.createLabelSubShape(e,g);null!=m&&(m.setStyle(m.getStyle()+";rotation="+(60<k&&240>k?(k+180)%360:k)),k=m.getGeometry(),k.x=0,k.y=0,k.relative=!0,k.offset=new mxPoint(-k.width/2,-k.height/2))}else 0===a.getShapeIndex()?g=e.insertEdge(b,null,a.getTextLabel(),null,null,c.mxgraph.io.vsdx.mxVsdxUtils.getStyleString(f,"=")):(g=e.createEdge(b,null,a.getTextLabel(),
-null,null,c.mxgraph.io.vsdx.mxVsdxUtils.getStyleString(f,"=")),g=e.addEdge(g,b,null,null,a.getShapeIndex())),k=a.getLblEdgeOffset(e.getView(),x),g.getGeometry().offset=k;this.rotateChildEdge(e.getModel(),b,p,y,x);b=e.getModel().getGeometry(g);x.pop();x.shift();b.points=x;b.setTerminalPoint(p,!0);b.setTerminalPoint(y,!1);f.hasOwnProperty("curved")&&function(a,b){return a&&a.equals?a.equals(b):a===b}(function(a,b){return a[b]?a[b]:null}(f,"curved"),"1")&&(b=e.getModel().getGeometry(g),e=a.getControlPoints(d),
-b.points=e);return g};f.prototype.rotateChildEdge=function(c,b,a,d,g){if(null!=b){var p=c.getGeometry(b);c=c.getStyle(b);if(null!=p&&null!=c&&(b=c.indexOf("rotation="),-1<b))for(c=parseFloat(c.substring(b+9,c.indexOf(";",b))),b=p.width/2,p=p.height/2,f.rotatedEdgePoint(a,c,b,p),f.rotatedEdgePoint(d,c,b,p),a=0;a<g.length;a++)f.rotatedEdgePoint(g[a],c,b,p)}};f.prototype.sanitiseGraph=function(c){var b=c.getModel().getRoot();this.sanitiseCell(c,b)};f.prototype.sanitiseCell=function(c,b){for(var a=c.getModel(),
-d=a.getChildCount(b),g=[],p=0;p<d;p++){var e=a.getChildAt(b,p);this.sanitiseCell(c,e)&&0<g.push(e)}for(p=0;p<g.length;p++)a.remove(g[p]);0<d&&(d=a.getChildCount(b));g=(new String(a.getValue(b))).toString();p=a.getStyle(b);return 0!==d||!a.isVertex(b)||null!=a.getValue(b)&&0!==g.length||null==p||-1==p.indexOf(mxConstants.STYLE_FILLCOLOR+"=none")||-1==p.indexOf(mxConstants.STYLE_STROKECOLOR+"=none")||-1!=p.indexOf("image=")?!1:!0};return f}();m.mxVsdxCodec=k;k.__class="com.mxgraph.io.mxVsdxCodec"})(n.io||
+F=b.geometry,x=new mxPoint((x.x+k.x-a.x)/F.width,(x.y+k.y-a.y)/F.height)):G=!1;k=p.getStyleFromEdgeShape(d);F=p.getRotation();0!==F?(a=e.insertEdge(y,null,null,n,b,c.mxgraph.io.vsdx.mxVsdxUtils.getStyleString(k,"=")),B=p.createLabelSubShape(e,a),null!=B&&(B.setStyle(B.getStyle()+";rotation="+(60<F&&240>F?(F+180)%360:F)),B=B.getGeometry(),B.x=0,B.y=0,B.relative=!0,B.offset=new mxPoint(-B.width/2,-B.height/2))):(a=e.insertEdge(y,null,p.getTextLabel(),n,b,c.mxgraph.io.vsdx.mxVsdxUtils.getStyleString(k,
+"=")),F=p.getLblEdgeOffset(e.getView(),z),a.getGeometry().offset=F,null!=m&&e.setConnectionConstraint(a,n,!0,new mxConnectionConstraint(m,!1)),B&&z.shift(),null!=x&&e.setConnectionConstraint(a,b,!1,new mxConnectionConstraint(x,!1)),G&&z.pop());B=e.getModel().getGeometry(a);if(n.parent!=b.parent&&null!=y&&1!=y.id&&1==n.parent.id){b=m=0;do x=y.geometry,null!=x&&(m+=x.x,b+=x.y),y=y.parent;while(null!=y);a.parent=n.parent;for(y=0;y<z.length;y++)z[y].x+=m,z[y].y+=b}B.points=z;k.hasOwnProperty("curved")&&
+function(a,b){return a&&a.equals?a.equals(b):a===b}(function(a,b){return a[b]?a[b]:null}(k,"curved"),"1")&&(B=e.getModel().getGeometry(a),e=p.getControlPoints(d),B.points=e);return h};f.prototype.addUnconnectedEdge=function(e,b,a,d){if(null!=b){var h=e.getModel().getGeometry(b);null!=h&&(d=h.height)}var p=a.getStartXY(d),y=a.getEndXY(d),f=a.getStyleFromEdgeShape(d),x=a.getRoutingPoints(d,p,a.getRotation()),k=a.getRotation();if(0!==k){0===a.getShapeIndex()?h=e.insertEdge(b,null,null,null,null,c.mxgraph.io.vsdx.mxVsdxUtils.getStyleString(f,
+"=")):(h=e.createEdge(b,null,null,null,null,c.mxgraph.io.vsdx.mxVsdxUtils.getStyleString(f,"=")),h=e.addEdge(h,b,null,null,a.getShapeIndex()));var m=a.createLabelSubShape(e,h);null!=m&&(m.setStyle(m.getStyle()+";rotation="+(60<k&&240>k?(k+180)%360:k)),k=m.getGeometry(),k.x=0,k.y=0,k.relative=!0,k.offset=new mxPoint(-k.width/2,-k.height/2))}else 0===a.getShapeIndex()?h=e.insertEdge(b,null,a.getTextLabel(),null,null,c.mxgraph.io.vsdx.mxVsdxUtils.getStyleString(f,"=")):(h=e.createEdge(b,null,a.getTextLabel(),
+null,null,c.mxgraph.io.vsdx.mxVsdxUtils.getStyleString(f,"=")),h=e.addEdge(h,b,null,null,a.getShapeIndex())),k=a.getLblEdgeOffset(e.getView(),x),h.getGeometry().offset=k;this.rotateChildEdge(e.getModel(),b,p,y,x);b=e.getModel().getGeometry(h);x.pop();x.shift();b.points=x;b.setTerminalPoint(p,!0);b.setTerminalPoint(y,!1);f.hasOwnProperty("curved")&&function(a,b){return a&&a.equals?a.equals(b):a===b}(function(a,b){return a[b]?a[b]:null}(f,"curved"),"1")&&(b=e.getModel().getGeometry(h),e=a.getControlPoints(d),
+b.points=e);return h};f.prototype.rotateChildEdge=function(c,b,a,d,h){if(null!=b){var p=c.getGeometry(b);c=c.getStyle(b);if(null!=p&&null!=c&&(b=c.indexOf("rotation="),-1<b))for(c=parseFloat(c.substring(b+9,c.indexOf(";",b))),b=p.width/2,p=p.height/2,f.rotatedEdgePoint(a,c,b,p),f.rotatedEdgePoint(d,c,b,p),a=0;a<h.length;a++)f.rotatedEdgePoint(h[a],c,b,p)}};f.prototype.sanitiseGraph=function(c){var b=c.getModel().getRoot();this.sanitiseCell(c,b)};f.prototype.sanitiseCell=function(c,b){for(var a=c.getModel(),
+d=a.getChildCount(b),h=[],p=0;p<d;p++){var e=a.getChildAt(b,p);this.sanitiseCell(c,e)&&0<h.push(e)}for(p=0;p<h.length;p++)a.remove(h[p]);0<d&&(d=a.getChildCount(b));h=(new String(a.getValue(b))).toString();p=a.getStyle(b);return 0!==d||!a.isVertex(b)||null!=a.getValue(b)&&0!==h.length||null==p||-1==p.indexOf(mxConstants.STYLE_FILLCOLOR+"=none")||-1==p.indexOf(mxConstants.STYLE_STROKECOLOR+"=none")||-1!=p.indexOf("image=")?!1:!0};return f}();m.mxVsdxCodec=k;k.__class="com.mxgraph.io.mxVsdxCodec"})(n.io||
 (n.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
-(function(c){(function(n){(function(m){var k=function(f){function e(b){var a=f.call(this)||this;a.RESPONSE_END="";a.RESPONSE_DIAGRAM_START="";a.RESPONSE_DIAGRAM_END="";a.RESPONSE_HEADER="";a.editorUi=b;return a}__extends(e,f);e.prototype.decodeVssx=function(b,a,d,g){var p=this,e="<mxlibrary>[";this.decodeVsdx(b,function(b){e=e.concat(b);var d=p.vsdxModel.getMasterShapes(),y=function(a){var b=0;return{next:function(){return b<a.length?a[b++]:null},hasNext:function(){return b<a.length}}}(function(a){var b=
-[];null==a.entries&&(a.entries=[]);for(var d=0;d<a.entries.length;d++)b.push(a.entries[d].value);return b}(p.vsdxModel.getPages())).next();if(null!=d){var k={str:"",toString:function(){return this.str}},A=0===b.length?"":",",m=function(a){return Object.keys(a).map(function(b){return a[b]})}(d);b=function(a){a=m[a];var b=n.createMxGraph(),g=1;if(null!=a.pageSheet){var p=g=1,e=a.pageSheet.DrawingScale;null!=e&&(g=parseFloat(e.getAttribute("V"))||1);e=a.pageSheet.PageScale;null!=e&&(p=parseFloat(e.getAttribute("V"))||
-1);g=p/g}p=!1;for(e=0;null!=a.firstLevelShapes&&e<a.firstLevelShapes.length;e++){var x=a.firstLevelShapes[e].getShape(),z=new c.mxgraph.io.vsdx.VsdxShape(y,x,!y.isEdge(x),d,null,n.vsdxModel),x=null;if(z.isVertex()){n.edgeShapeMap.entries=[];n.parentsMap.entries=[];for(var x=n.addShape(b,z,b.getDefaultParent(),0,1169),z=function(a){null==a.entries&&(a.entries=[]);return a.entries}(n.edgeShapeMap),B=0;B<z.length;B++){var F=z[B],C=function(a,b){null==a.entries&&(a.entries=[]);for(var d=0;d<a.entries.length;d++)if(null!=
-a.entries[d].key.equals&&a.entries[d].key.equals(b)||a.entries[d].key===b)return a.entries[d].value;return null}(n.parentsMap,F.getKey());n.addUnconnectedEdge(b,C,F.getValue(),1169)}}else x=n.addUnconnectedEdge(b,null,z,1169);p|=null!=x}if(p){n.scaleGraph(b,g);g=n.normalizeGraph(b);n.sanitiseGraph(b);if(0===b.getModel().getChildCount(b.getDefaultParent()))return"continue";k.str=k.str.concat(A);k.str=k.str.concat('{"xml":"');b=f.prototype.processPage.call(n,b,null);k.str=k.str.concat(b);k.str=k.str.concat('","w":');
-k.str=k.str.concat(g.width);k.str=k.str.concat(',"h":');k.str=k.str.concat(g.height);k.str=k.str.concat(',"title":');a=a.getName();null==a&&(a="");a=mxUtils.htmlEntities(JSON.stringify(a));k.str=k.str.concat(a);k.str=k.str.concat("}");A=","}};for(var n=p,D=0;D<m.length;D++)b(D);e=e.concat(k)}e=e.concat("]</mxlibrary>");if(a)try{a(e)}catch(Z){null!=g?g(Z):a("")}},d)};e.prototype.normalizeGeo=function(b){var a=b.getGeometry();a.x=0;a.y=0;var d=a.sourcePoint;if(b.isEdge()&&null!=d){this.transPoint(a.targetPoint,
-d);this.transPoint(a.offset,d);b=a.points;if(null!=b)for(var g=0;g<b.length;g++)this.transPoint(b[g],d);this.transPoint(d,d)}return a};e.prototype.normalizeGraph=function(b){function a(a){null!=a&&(null==d?(d=a.x,g=a.y,p=a.x+(a.width||0),c=a.y+(a.height||0)):(d=Math.min(a.x,d),g=Math.min(a.y,g),p=Math.max(a.x+(a.width||0),p),c=Math.max(a.y+(a.height||0),c)))}var d,g,p,c,e;for(e in b.model.cells){var f=b.model.cells[e],k=f.geometry;if(null!=k&&1==f.parent.id)if(f.vertex)a(k);else for(a(k.sourcePoint),
-a(k.targetPoint),f=k.points,k=0;null!=f&&k<f.length;k++)a(f[k])}var m={x:d,y:g};for(e in b.model.cells)if(f=b.model.cells[e],k=f.geometry,null!=k&&1==f.parent.id&&(k.x-=d,k.y-=g,f.isEdge()))for(this.transPoint(k.sourcePoint,m),this.transPoint(k.targetPoint,m),this.transPoint(k.offset,m),f=k.points,k=0;null!=f&&k<f.length;k++)this.transPoint(f[k],m);return{width:p-d,height:c-g}};e.prototype.transPoint=function(b,a){null!=b&&(b.x-=a.x,b.y-=a.y)};e.prototype.processPage=function(b,a){var d=b.getModel(),
-g="",p="",e;for(e in d.cells){var k=d.cells[e];if(b.getDefaultParent()===d.getParent(k)){var g=g.concat(p),g=g.concat('{"xml":"'),x=this.createMxGraph();x.addCell(k);this.sanitiseGraph(x);if(0===x.getModel().getChildCount(x.getDefaultParent()))return"continue";p=this.normalizeGeo(k);x=f.prototype.processPage.call(this,x,null);g=g.concat(x);g=g.concat('","w":');g=g.concat(p.width);g=g.concat(',"h":');g=g.concat(p.height);g=g.concat(',"title":"');p=d.getStyle(k);k="";if(null!=p&&(x=p.indexOf(c.mxgraph.io.vsdx.mxVsdxConstants.VSDX_ID),
-0<=x)){x+=c.mxgraph.io.vsdx.mxVsdxConstants.VSDX_ID.length+1;e=parseInt(p.substring(x,p.indexOf(";",x)));a:{p=this.vertexShapeMap;x=new c.mxgraph.io.vsdx.ShapePageId(a.getId(),e);null==p.entries&&(p.entries=[]);for(var m=0;m<p.entries.length;m++)if(null!=p.entries[m].key.equals&&p.entries[m].key.equals(x)||p.entries[m].key===x){p=p.entries[m].value;break a}p=null}null!=p&&(k=p.getName())}g=g.concat(k);g=g.concat('"}');p=","}}this.RESPONSE_DIAGRAM_START=0<g.length?",":"";return g};return e}(c.mxgraph.io.mxVsdxCodec);
+(function(c){(function(n){(function(m){var k=function(f){function e(b){var a=f.call(this)||this;a.RESPONSE_END="";a.RESPONSE_DIAGRAM_START="";a.RESPONSE_DIAGRAM_END="";a.RESPONSE_HEADER="";a.editorUi=b;return a}__extends(e,f);e.prototype.decodeVssx=function(b,a,d,h){var p=this,e="<mxlibrary>[";this.decodeVsdx(b,function(b){e=e.concat(b);var d=p.vsdxModel.getMasterShapes(),y=function(a){var b=0;return{next:function(){return b<a.length?a[b++]:null},hasNext:function(){return b<a.length}}}(function(a){var b=
+[];null==a.entries&&(a.entries=[]);for(var d=0;d<a.entries.length;d++)b.push(a.entries[d].value);return b}(p.vsdxModel.getPages())).next();if(null!=d){var k={str:"",toString:function(){return this.str}},z=0===b.length?"":",",m=function(a){return Object.keys(a).map(function(b){return a[b]})}(d);b=function(a){a=m[a];var b=n.createMxGraph(),h=1;if(null!=a.pageSheet){var p=h=1,e=a.pageSheet.DrawingScale;null!=e&&(h=parseFloat(e.getAttribute("V"))||1);e=a.pageSheet.PageScale;null!=e&&(p=parseFloat(e.getAttribute("V"))||
+1);h=p/h}p=!1;for(e=0;null!=a.firstLevelShapes&&e<a.firstLevelShapes.length;e++){var x=a.firstLevelShapes[e].getShape(),A=new c.mxgraph.io.vsdx.VsdxShape(y,x,!y.isEdge(x),d,null,n.vsdxModel),x=null;if(A.isVertex()){n.edgeShapeMap.entries=[];n.parentsMap.entries=[];for(var x=n.addShape(b,A,b.getDefaultParent(),0,1169),A=function(a){null==a.entries&&(a.entries=[]);return a.entries}(n.edgeShapeMap),C=0;C<A.length;C++){var D=A[C],B=function(a,b){null==a.entries&&(a.entries=[]);for(var d=0;d<a.entries.length;d++)if(null!=
+a.entries[d].key.equals&&a.entries[d].key.equals(b)||a.entries[d].key===b)return a.entries[d].value;return null}(n.parentsMap,D.getKey());n.addUnconnectedEdge(b,B,D.getValue(),1169)}}else x=n.addUnconnectedEdge(b,null,A,1169);p|=null!=x}if(p){n.scaleGraph(b,h);h=n.normalizeGraph(b);n.sanitiseGraph(b);if(0===b.getModel().getChildCount(b.getDefaultParent()))return"continue";k.str=k.str.concat(z);k.str=k.str.concat('{"xml":"');b=f.prototype.processPage.call(n,b,null);k.str=k.str.concat(b);k.str=k.str.concat('","w":');
+k.str=k.str.concat(h.width);k.str=k.str.concat(',"h":');k.str=k.str.concat(h.height);k.str=k.str.concat(',"title":');a=a.getName();null==a&&(a="");a=mxUtils.htmlEntities(JSON.stringify(a));k.str=k.str.concat(a);k.str=k.str.concat("}");z=","}};for(var n=p,F=0;F<m.length;F++)b(F);e=e.concat(k)}e=e.concat("]</mxlibrary>");if(a)try{a(e)}catch(Q){null!=h?h(Q):a("")}},d)};e.prototype.normalizeGeo=function(b){var a=b.getGeometry();a.x=0;a.y=0;var d=a.sourcePoint;if(b.isEdge()&&null!=d){this.transPoint(a.targetPoint,
+d);this.transPoint(a.offset,d);b=a.points;if(null!=b)for(var h=0;h<b.length;h++)this.transPoint(b[h],d);this.transPoint(d,d)}return a};e.prototype.normalizeGraph=function(b){function a(a){null!=a&&(null==d?(d=a.x,h=a.y,p=a.x+(a.width||0),c=a.y+(a.height||0)):(d=Math.min(a.x,d),h=Math.min(a.y,h),p=Math.max(a.x+(a.width||0),p),c=Math.max(a.y+(a.height||0),c)))}var d,h,p,c,e;for(e in b.model.cells){var f=b.model.cells[e],k=f.geometry;if(null!=k&&1==f.parent.id)if(f.vertex)a(k);else for(a(k.sourcePoint),
+a(k.targetPoint),f=k.points,k=0;null!=f&&k<f.length;k++)a(f[k])}var m={x:d,y:h};for(e in b.model.cells)if(f=b.model.cells[e],k=f.geometry,null!=k&&1==f.parent.id&&(k.x-=d,k.y-=h,f.isEdge()))for(this.transPoint(k.sourcePoint,m),this.transPoint(k.targetPoint,m),this.transPoint(k.offset,m),f=k.points,k=0;null!=f&&k<f.length;k++)this.transPoint(f[k],m);return{width:p-d,height:c-h}};e.prototype.transPoint=function(b,a){null!=b&&(b.x-=a.x,b.y-=a.y)};e.prototype.processPage=function(b,a){var d=b.getModel(),
+h="",p="",e;for(e in d.cells){var k=d.cells[e];if(b.getDefaultParent()===d.getParent(k)){var h=h.concat(p),h=h.concat('{"xml":"'),x=this.createMxGraph();x.addCell(k);this.sanitiseGraph(x);if(0===x.getModel().getChildCount(x.getDefaultParent()))return"continue";p=this.normalizeGeo(k);x=f.prototype.processPage.call(this,x,null);h=h.concat(x);h=h.concat('","w":');h=h.concat(p.width);h=h.concat(',"h":');h=h.concat(p.height);h=h.concat(',"title":"');p=d.getStyle(k);k="";if(null!=p&&(x=p.indexOf(c.mxgraph.io.vsdx.mxVsdxConstants.VSDX_ID),
+0<=x)){x+=c.mxgraph.io.vsdx.mxVsdxConstants.VSDX_ID.length+1;e=parseInt(p.substring(x,p.indexOf(";",x)));a:{p=this.vertexShapeMap;x=new c.mxgraph.io.vsdx.ShapePageId(a.getId(),e);null==p.entries&&(p.entries=[]);for(var m=0;m<p.entries.length;m++)if(null!=p.entries[m].key.equals&&p.entries[m].key.equals(x)||p.entries[m].key===x){p=p.entries[m].value;break a}p=null}null!=p&&(k=p.getName())}h=h.concat(k);h=h.concat('"}');p=","}}this.RESPONSE_DIAGRAM_START=0<h.length?",":"";return h};return e}(c.mxgraph.io.mxVsdxCodec);
 m.mxVssxCodec=k;k.__class="com.mxgraph.io.mxVssxCodec"})(n.io||(n.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
-(function(c){(function(c){(function(c){(function(c){(function(c){var e=function(){function b(a,b,g){this.formulaE=this.formulaA=this.d=this.c=this.b=this.a=this.y=this.x=null;this.index=0;this.index=a;this.x=b;this.y=g}b.prototype.getX=function(){return this.x};b.prototype.getY=function(){return this.y};b.prototype.getA=function(){return this.a};b.prototype.getB=function(){return this.b};b.prototype.getC=function(){return this.c};b.prototype.getD=function(){return this.d};b.prototype.getFormulaA=
+(function(c){(function(c){(function(c){(function(c){(function(c){var e=function(){function b(a,b,h){this.formulaE=this.formulaA=this.d=this.c=this.b=this.a=this.y=this.x=null;this.index=0;this.index=a;this.x=b;this.y=h}b.prototype.getX=function(){return this.x};b.prototype.getY=function(){return this.y};b.prototype.getA=function(){return this.a};b.prototype.getB=function(){return this.b};b.prototype.getC=function(){return this.c};b.prototype.getD=function(){return this.d};b.prototype.getFormulaA=
 function(){return this.formulaA};b.prototype.getFormulaE=function(){return this.formulaE};b.prototype.getIndex=function(){return this.index};return b}();c.Row=e;e.__class="com.mxgraph.io.vsdx.geometry.Row"})(c.geometry||(c.geometry={}))})(c.vsdx||(c.vsdx={}))})(c.io||(c.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
-(function(c){(function(n){(function(m){(function(k){(function(f){var e=function(){function b(){}b.getIndex=function(a){try{return parseInt(a.getAttribute("IX"))||1}catch(d){return 1}};b.getDoubleVal=function(a){try{if(null!=a&&0!==a.length){var b=parseFloat(a);if(isFinite(b))return b}}catch(g){}return null};b.getRowObj=function(a,d){var g=a.getAttribute("T"),p=b.getIndex(a),e;e=(e=a.getAttribute("Del"))&&e.equals?e.equals("1"):"1"===e;if(!e){var f=null;p<=d.length&&(f=d[p-1]);var k=e=null,m=null,
-n=null,B=null,C=null,G=null,D=null;null!=f&&(e=f.x,k=f.y,m=f.getA(),n=f.getB(),B=f.getC(),C=f.getD(),D=f.getFormulaA(),G=f.getFormulaE());for(var f=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(a),Z=0;Z<f.length;Z++){var Y=f[Z],aa=Y.getAttribute("N"),L=Y.getAttribute("V");switch(aa){case "X":e=b.getDoubleVal(L);break;case "Y":k=b.getDoubleVal(L);break;case "A":m=b.getDoubleVal(L);D=Y.getAttribute("V");break;case "B":n=b.getDoubleVal(L);break;case "C":B=b.getDoubleVal(L);break;case "D":C=b.getDoubleVal(L);
-break;case "E":G=L}}switch(g){case "MoveTo":return new c.mxgraph.io.vsdx.geometry.MoveTo(p,e,k);case "LineTo":return new c.mxgraph.io.vsdx.geometry.LineTo(p,e,k);case "ArcTo":return new c.mxgraph.io.vsdx.geometry.ArcTo(p,e,k,m);case "Ellipse":return new c.mxgraph.io.vsdx.geometry.Ellipse(p,e,k,m,n,B,C);case "EllipticalArcTo":return new c.mxgraph.io.vsdx.geometry.EllipticalArcTo(p,e,k,m,n,B,C);case "InfiniteLine":return new c.mxgraph.io.vsdx.geometry.InfiniteLine(p,e,k,m,n);case "NURBSTo":return new c.mxgraph.io.vsdx.geometry.NURBSTo(p,
-e,k,m,n,B,C,G);case "PolylineTo":return new c.mxgraph.io.vsdx.geometry.PolylineTo(p,e,k,D);case "RelCubBezTo":return new c.mxgraph.io.vsdx.geometry.RelCubBezTo(p,e,k,m,n,B,C);case "RelEllipticalArcTo":return new c.mxgraph.io.vsdx.geometry.RelEllipticalArcTo(p,e,k,m,n,B,C);case "RelLineTo":return new c.mxgraph.io.vsdx.geometry.RelLineTo(p,e,k);case "RelMoveTo":return new c.mxgraph.io.vsdx.geometry.RelMoveTo(p,e,k);case "RelQuadBezTo":return new c.mxgraph.io.vsdx.geometry.RelQuadBezTo(p,e,k,m,n);case "SplineKnot":return new c.mxgraph.io.vsdx.geometry.SplineKnot(p,
-e,k,m);case "SplineStart":return new c.mxgraph.io.vsdx.geometry.SplineStart(p,e,k,m,n,B,C)}}return new c.mxgraph.io.vsdx.geometry.DelRow(p)};return b}();f.RowFactory=e;e.__class="com.mxgraph.io.vsdx.geometry.RowFactory"})(k.geometry||(k.geometry={}))})(m.vsdx||(m.vsdx={}))})(n.io||(n.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
+(function(c){(function(n){(function(m){(function(k){(function(f){var e=function(){function b(){}b.getIndex=function(a){try{return parseInt(a.getAttribute("IX"))||1}catch(d){return 1}};b.getDoubleVal=function(a){try{if(null!=a&&0!==a.length){var b=parseFloat(a);if(isFinite(b))return b}}catch(h){}return null};b.getRowObj=function(a,d){var h=a.getAttribute("T"),p=b.getIndex(a),e;e=(e=a.getAttribute("Del"))&&e.equals?e.equals("1"):"1"===e;if(!e){var f=null;p<=d.length&&(f=d[p-1]);var x=e=null,k=null,
+m=null,n=null,B=null,G=null,F=null;null!=f&&(e=f.x,x=f.y,k=f.getA(),m=f.getB(),n=f.getC(),B=f.getD(),F=f.getFormulaA(),G=f.getFormulaE());for(var f=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(a),Q=0;Q<f.length;Q++){var aa=f[Q],Y=aa.getAttribute("N"),T=aa.getAttribute("V");switch(Y){case "X":e=b.getDoubleVal(T);break;case "Y":x=b.getDoubleVal(T);break;case "A":k=b.getDoubleVal(T);F=aa.getAttribute("V");break;case "B":m=b.getDoubleVal(T);break;case "C":n=b.getDoubleVal(T);break;case "D":B=
+b.getDoubleVal(T);break;case "E":G=T}}switch(h){case "MoveTo":return new c.mxgraph.io.vsdx.geometry.MoveTo(p,e,x);case "LineTo":return new c.mxgraph.io.vsdx.geometry.LineTo(p,e,x);case "ArcTo":return new c.mxgraph.io.vsdx.geometry.ArcTo(p,e,x,k);case "Ellipse":return new c.mxgraph.io.vsdx.geometry.Ellipse(p,e,x,k,m,n,B);case "EllipticalArcTo":return new c.mxgraph.io.vsdx.geometry.EllipticalArcTo(p,e,x,k,m,n,B);case "InfiniteLine":return new c.mxgraph.io.vsdx.geometry.InfiniteLine(p,e,x,k,m);case "NURBSTo":return new c.mxgraph.io.vsdx.geometry.NURBSTo(p,
+e,x,k,m,n,B,G);case "PolylineTo":return new c.mxgraph.io.vsdx.geometry.PolylineTo(p,e,x,F);case "RelCubBezTo":return new c.mxgraph.io.vsdx.geometry.RelCubBezTo(p,e,x,k,m,n,B);case "RelEllipticalArcTo":return new c.mxgraph.io.vsdx.geometry.RelEllipticalArcTo(p,e,x,k,m,n,B);case "RelLineTo":return new c.mxgraph.io.vsdx.geometry.RelLineTo(p,e,x);case "RelMoveTo":return new c.mxgraph.io.vsdx.geometry.RelMoveTo(p,e,x);case "RelQuadBezTo":return new c.mxgraph.io.vsdx.geometry.RelQuadBezTo(p,e,x,k,m);case "SplineKnot":return new c.mxgraph.io.vsdx.geometry.SplineKnot(p,
+e,x,k);case "SplineStart":return new c.mxgraph.io.vsdx.geometry.SplineStart(p,e,x,k,m,n,B)}}return new c.mxgraph.io.vsdx.geometry.DelRow(p)};return b}();f.RowFactory=e;e.__class="com.mxgraph.io.vsdx.geometry.RowFactory"})(k.geometry||(k.geometry={}))})(m.vsdx||(m.vsdx={}))})(n.io||(n.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
 (function(c){(function(n){(function(m){(function(k){var f=function(){function e(){this.colorElementMap={};this.fontElementMap={}}e.__static_initialize=function(){e.__static_initialized||(e.__static_initialized=!0,e.__static_initializer_0())};e.defaultColors_$LI$=function(){e.__static_initialize();null==e.defaultColors&&(e.defaultColors={});return e.defaultColors};e.__static_initializer_0=function(){e.defaultColors_$LI$()["0"]="#000000";e.defaultColors_$LI$()["1"]="#FFFFFF";e.defaultColors_$LI$()["2"]=
 "#FF0000";e.defaultColors_$LI$()["3"]="#00FF00";e.defaultColors_$LI$()["4"]="#0000FF";e.defaultColors_$LI$()["5"]="#FFFF00";e.defaultColors_$LI$()["6"]="#FF00FF";e.defaultColors_$LI$()["7"]="#00FFFF";e.defaultColors_$LI$()["8"]="#800000";e.defaultColors_$LI$()["9"]="#008000";e.defaultColors_$LI$()["10"]="#000080";e.defaultColors_$LI$()["11"]="#808000";e.defaultColors_$LI$()["12"]="#800080";e.defaultColors_$LI$()["13"]="#008080";e.defaultColors_$LI$()["14"]="#C0C0C0";e.defaultColors_$LI$()["15"]="#E6E6E6";
-e.defaultColors_$LI$()["16"]="#CDCDCD";e.defaultColors_$LI$()["17"]="#B3B3B3";e.defaultColors_$LI$()["18"]="#9A9A9A";e.defaultColors_$LI$()["19"]="#808080";e.defaultColors_$LI$()["20"]="#666666";e.defaultColors_$LI$()["21"]="#4D4D4D";e.defaultColors_$LI$()["22"]="#333333";e.defaultColors_$LI$()["23"]="#1A1A1A"};e.prototype.initialise=function(b,a){if(null!=b){var d=b.getElementsByTagName(c.mxgraph.io.vsdx.mxVsdxConstants.COLORS);if(0<d.length)for(var g=d.item(0).getElementsByTagName(c.mxgraph.io.vsdx.mxVsdxConstants.COLOR_ENTRY),
-p=g.length,d=0;d<p;d++){var e=g.item(d),f=e.getAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.INDEX),e=e.getAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.RGB);this.colorElementMap[f]=e}d=b.getElementsByTagName(c.mxgraph.io.vsdx.mxVsdxConstants.FACE_NAMES);if(0<d.length)for(g=d.item(0).getElementsByTagName(c.mxgraph.io.vsdx.mxVsdxConstants.FACE_NAME),p=g.length,d=0;d<p;d++)e=g.item(d),f=e.getAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.ID),e=e.getAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.FONT_NAME),this.fontElementMap[f]=
+e.defaultColors_$LI$()["16"]="#CDCDCD";e.defaultColors_$LI$()["17"]="#B3B3B3";e.defaultColors_$LI$()["18"]="#9A9A9A";e.defaultColors_$LI$()["19"]="#808080";e.defaultColors_$LI$()["20"]="#666666";e.defaultColors_$LI$()["21"]="#4D4D4D";e.defaultColors_$LI$()["22"]="#333333";e.defaultColors_$LI$()["23"]="#1A1A1A"};e.prototype.initialise=function(b,a){if(null!=b){var d=b.getElementsByTagName(c.mxgraph.io.vsdx.mxVsdxConstants.COLORS);if(0<d.length)for(var h=d.item(0).getElementsByTagName(c.mxgraph.io.vsdx.mxVsdxConstants.COLOR_ENTRY),
+p=h.length,d=0;d<p;d++){var e=h.item(d),f=e.getAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.INDEX),e=e.getAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.RGB);this.colorElementMap[f]=e}d=b.getElementsByTagName(c.mxgraph.io.vsdx.mxVsdxConstants.FACE_NAMES);if(0<d.length)for(h=d.item(0).getElementsByTagName(c.mxgraph.io.vsdx.mxVsdxConstants.FACE_NAME),p=h.length,d=0;d<p;d++)e=h.item(d),f=e.getAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.ID),e=e.getAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.FONT_NAME),this.fontElementMap[f]=
 e}};e.prototype.getColor=function(b){var a=function(a,b){return a[b]?a[b]:null}(this.colorElementMap,b);return null==a&&(a=function(a,b){return a[b]?a[b]:null}(e.defaultColors_$LI$(),b),null==a)?"":a};e.prototype.getFont=function(b){var a=this.fontElementMap;b=a[b]?a[b]:null;return null==b?"":b};return e}();f.__static_initialized=!1;k.mxPropertiesManager=f;f.__class="com.mxgraph.io.vsdx.mxPropertiesManager"})(m.vsdx||(m.vsdx={}))})(n.io||(n.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
 (function(c){(function(n){(function(m){(function(k){var f=function(){function e(b){this.sourceToSheet=this.fromSheet=null;this.sourceToPart=-1;this.targetToSheet=null;this.targetToPart=-1;this.endShape=this.fromCell=null;var a=b.getAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.FROM_SHEET);this.fromSheet=null!=a&&0!==a.length?parseFloat(a):-1;a=b.getAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.FROM_CELL);this.addFromCell(b,a)}e.prototype.addFromCell=function(b,a){var d=b.getAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.TO_SHEET),
-g=!0;null!=a&&function(a,b){return a&&a.equals?a.equals(b):a===b}(a,c.mxgraph.io.vsdx.mxVsdxConstants.BEGIN_X)?(this.sourceToSheet=null!=d&&0!==d.length?parseFloat(d):-1,g=!0):null!=a&&function(a,b){return a&&a.equals?a.equals(b):a===b}(a,c.mxgraph.io.vsdx.mxVsdxConstants.END_X)?(this.targetToSheet=null!=d&&0!==d.length?parseFloat(d):-1,g=!1):null==this.sourceToSheet?(this.sourceToSheet=null!=d&&0!==d.length?parseFloat(d):-1,g=!0):null==this.targetToSheet&&(this.targetToSheet=null!=d&&0!==d.length?
-parseFloat(d):-1,g=!1);this.findToPart(b,g)};e.prototype.findToPart=function(b,a){var d=b.getAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.TO_PART),d=null!=d&&0!==d.length?parseFloat(d):-1;a?this.sourceToPart=d:this.targetToPart=d};e.prototype.getFromSheet=function(){return this.fromSheet};e.prototype.getSourceToSheet=function(){return this.sourceToSheet};e.prototype.getTargetToSheet=function(){return this.targetToSheet};e.prototype.getSourceToPart=function(){return this.sourceToPart};e.prototype.getTargetToPart=
+h=!0;null!=a&&function(a,b){return a&&a.equals?a.equals(b):a===b}(a,c.mxgraph.io.vsdx.mxVsdxConstants.BEGIN_X)?(this.sourceToSheet=null!=d&&0!==d.length?parseFloat(d):-1,h=!0):null!=a&&function(a,b){return a&&a.equals?a.equals(b):a===b}(a,c.mxgraph.io.vsdx.mxVsdxConstants.END_X)?(this.targetToSheet=null!=d&&0!==d.length?parseFloat(d):-1,h=!1):null==this.sourceToSheet?(this.sourceToSheet=null!=d&&0!==d.length?parseFloat(d):-1,h=!0):null==this.targetToSheet&&(this.targetToSheet=null!=d&&0!==d.length?
+parseFloat(d):-1,h=!1);this.findToPart(b,h)};e.prototype.findToPart=function(b,a){var d=b.getAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.TO_PART),d=null!=d&&0!==d.length?parseFloat(d):-1;a?this.sourceToPart=d:this.targetToPart=d};e.prototype.getFromSheet=function(){return this.fromSheet};e.prototype.getSourceToSheet=function(){return this.sourceToSheet};e.prototype.getTargetToSheet=function(){return this.targetToSheet};e.prototype.getSourceToPart=function(){return this.sourceToPart};e.prototype.getTargetToPart=
 function(){return this.targetToPart};e.prototype.addConnect=function(b){this.endShape=b;var a=b.getAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.FROM_CELL);this.addFromCell(b,a)};return e}();k.mxVsdxConnect=f;f.__class="com.mxgraph.io.vsdx.mxVsdxConnect"})(m.vsdx||(m.vsdx={}))})(n.io||(n.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
 (function(c){(function(c){(function(c){(function(c){var f=function(){function c(){}c.SET_VALUES_$LI$=function(){null==c.SET_VALUES&&(c.SET_VALUES=["a","b"]);return c.SET_VALUES};c.MY_SET_$LI$=function(){null==c.MY_SET&&(c.MY_SET=c.SET_VALUES_$LI$().slice(0).slice(0));return c.MY_SET};return c}();f.ANGLE="Angle";f.ARC_TO="ArcTo";f.BACKGROUND="Background";f.BACK_PAGE="BackPage";f.BEGIN_ARROW="BeginArrow";f.BEGIN_ARROW_SIZE="BeginArrowSize";f.BEGIN_X="BeginX";f.BEGIN_Y="BeginY";f.BOTTOM_MARGIN="BottomMargin";
 f.BULLET="Bullet";f.CASE="Case";f.CHARACTER="Character";f.COLOR="Color";f.COLOR_ENTRY="ColorEntry";f.COLORS="Colors";f.COLOR_TRANS="ColorTrans";f.CONNECT="Connect";f.CONNECTS="Connects";f.CONNECTION="Connection";f.CONTROL="Control";f.DELETED="Del";f.DOCUMENT_SHEET="DocumentSheet";f.ELLIPSE="Ellipse";f.ELLIPTICAL_ARC_TO="EllipticalArcTo";f.END_ARROW="EndArrow";f.END_ARROW_SIZE="EndArrowSize";f.END_X="EndX";f.END_Y="EndY";f.FACE_NAME="FaceName";f.FACE_NAMES="FaceNames";f.FALSE="0";f.FILL="Fill";f.FILL_BKGND=
@@ -856,130 +857,130 @@ f.BULLET="Bullet";f.CASE="Case";f.CHARACTER="Character";f.COLOR="Color";f.COLOR_
 "HideText";f.VSDX_ID="vsdxID";f.CONNECT_TO_PART_WHOLE_SHAPE=3;c.mxVsdxConstants=f;f.__class="com.mxgraph.io.vsdx.mxVsdxConstants"})(c.vsdx||(c.vsdx={}))})(c.io||(c.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
 (function(c){(function(n){(function(m){(function(k){var f=function(){function e(b,a){this.noQuickDrag=this.noSnap=this.noShow=this.noLine=this.noFill=!1;this.rows=null;if((null!=b&&1==b.nodeType||null===b)&&(null!=a&&a instanceof Array||null===a))Array.prototype.slice.call(arguments),this.index=0,this.noQuickDrag=this.noSnap=this.noShow=this.noLine=this.noFill=!1,this.rows=null,this.index=0,this.index=this.getIndex$org_w3c_dom_Element(b),null!=a&&this.index<a.length&&this.inheritGeo(a[this.index]),
 this.processGeoElem(b);else if((null!=b&&1==b.nodeType||null===b)&&void 0===a)Array.prototype.slice.call(arguments),this.index=0,this.noQuickDrag=this.noSnap=this.noShow=this.noLine=this.noFill=!1,this.rows=null,this.index=0,this.index=this.getIndex$org_w3c_dom_Element(b),this.processGeoElem(b);else throw Error("invalid overload");}e.prototype.getIndex$org_w3c_dom_Element=function(b){try{return parseInt(b.getAttribute("IX"))||0}catch(a){return 0}};e.prototype.getIndex=function(b){if(null!=b&&1==b.nodeType||
-null===b)return this.getIndex$org_w3c_dom_Element(b);if(void 0===b)return this.getIndex$();throw Error("invalid overload");};e.prototype.processGeoElem=function(b){var a=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(b,"Cell");b=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(b,"Row");if(null==this.rows){this.rows=[];for(var d=0;d<b.length;d++)0<this.rows.push(null)}for(d=0;d<a.length;d++){var g=a[d],p=g.getAttribute("N"),g=g.getAttribute("V");switch(p){case "NoFill":this.noFill=
-function(a,b){return a&&a.equals?a.equals(b):a===b}("1",g);break;case "NoLine":this.noLine=function(a,b){return a&&a.equals?a.equals(b):a===b}("1",g);break;case "NoShow":this.noShow=function(a,b){return a&&a.equals?a.equals(b):a===b}("1",g);break;case "NoSnap":this.noSnap=function(a,b){return a&&a.equals?a.equals(b):a===b}("1",g);break;case "NoQuickDrag":this.noQuickDrag=function(a,b){return a&&a.equals?a.equals(b):a===b}("1",g)}}a=this.rows.length;d=!1;for(p=0;p<b.length;p++)g=c.mxgraph.io.vsdx.geometry.RowFactory.getRowObj(b[p],
-this.rows),g.getIndex()>a?(0<this.rows.push(g),d=!0):this.rows[g.getIndex()-1]=g;d&&function(a,b){b.compare?a.sort(function(a,d){return b.compare(a,d)}):a.sort(b)}(this.rows,new e.mxVsdxGeometry$0(this))};e.prototype.inheritGeo=function(b){this.noFill=b.noFill;this.noLine=b.noLine;this.noShow=b.noShow;this.noSnap=b.noSnap;this.noQuickDrag=b.noQuickDrag;var a=this.rows=[];a.push.apply(a,b.rows)};e.prototype.getIndex$=function(){return this.index};e.prototype.isNoFill=function(){return this.noFill};
-e.prototype.isNoLine=function(){return this.noLine};e.prototype.isNoShow=function(){return this.noShow};e.prototype.isNoSnap=function(){return this.noSnap};e.prototype.isNoQuickDrag=function(){return this.noQuickDrag};e.prototype.getRows=function(){return this.rows};e.prototype.getPathXML=function(b,a){if(this.noShow)return"";for(var d="",g=0;g<this.rows.length;g++)var p=this.rows[g],d=d.concat(null!=p?p.handle(b,a):"");return d};return e}();k.mxVsdxGeometry=f;f.__class="com.mxgraph.io.vsdx.mxVsdxGeometry";
-(function(c){var b=function(){function a(a){this.__parent=a}a.prototype.compare=function(a,b){var d=null!=a?a.getIndex():0,g=null!=b?b.getIndex():0;return d-g};return a}();c.mxVsdxGeometry$0=b;b.__interfaces=["java.util.Comparator"]})(f=k.mxVsdxGeometry||(k.mxVsdxGeometry={}))})(m.vsdx||(m.vsdx={}))})(n.io||(n.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
+null===b)return this.getIndex$org_w3c_dom_Element(b);if(void 0===b)return this.getIndex$();throw Error("invalid overload");};e.prototype.processGeoElem=function(b){var a=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(b,"Cell");b=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(b,"Row");if(null==this.rows){this.rows=[];for(var d=0;d<b.length;d++)0<this.rows.push(null)}for(d=0;d<a.length;d++){var h=a[d],p=h.getAttribute("N"),h=h.getAttribute("V");switch(p){case "NoFill":this.noFill=
+function(a,b){return a&&a.equals?a.equals(b):a===b}("1",h);break;case "NoLine":this.noLine=function(a,b){return a&&a.equals?a.equals(b):a===b}("1",h);break;case "NoShow":this.noShow=function(a,b){return a&&a.equals?a.equals(b):a===b}("1",h);break;case "NoSnap":this.noSnap=function(a,b){return a&&a.equals?a.equals(b):a===b}("1",h);break;case "NoQuickDrag":this.noQuickDrag=function(a,b){return a&&a.equals?a.equals(b):a===b}("1",h)}}a=this.rows.length;d=!1;for(p=0;p<b.length;p++)h=c.mxgraph.io.vsdx.geometry.RowFactory.getRowObj(b[p],
+this.rows),h.getIndex()>a?(0<this.rows.push(h),d=!0):this.rows[h.getIndex()-1]=h;d&&function(a,b){b.compare?a.sort(function(a,d){return b.compare(a,d)}):a.sort(b)}(this.rows,new e.mxVsdxGeometry$0(this))};e.prototype.inheritGeo=function(b){this.noFill=b.noFill;this.noLine=b.noLine;this.noShow=b.noShow;this.noSnap=b.noSnap;this.noQuickDrag=b.noQuickDrag;var a=this.rows=[];a.push.apply(a,b.rows)};e.prototype.getIndex$=function(){return this.index};e.prototype.isNoFill=function(){return this.noFill};
+e.prototype.isNoLine=function(){return this.noLine};e.prototype.isNoShow=function(){return this.noShow};e.prototype.isNoSnap=function(){return this.noSnap};e.prototype.isNoQuickDrag=function(){return this.noQuickDrag};e.prototype.getRows=function(){return this.rows};e.prototype.getPathXML=function(b,a){if(this.noShow)return"";for(var d="",h=0;h<this.rows.length;h++)var p=this.rows[h],d=d.concat(null!=p?p.handle(b,a):"");return d};return e}();k.mxVsdxGeometry=f;f.__class="com.mxgraph.io.vsdx.mxVsdxGeometry";
+(function(c){var b=function(){function a(a){this.__parent=a}a.prototype.compare=function(a,b){var d=null!=a?a.getIndex():0,h=null!=b?b.getIndex():0;return d-h};return a}();c.mxVsdxGeometry$0=b;b.__interfaces=["java.util.Comparator"]})(f=k.mxVsdxGeometry||(k.mxVsdxGeometry={}))})(m.vsdx||(m.vsdx={}))})(n.io||(n.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
 (function(c){(function(n){(function(m){(function(k){var f=function(){function e(b){this.geomList=[];this.parentGeomList=null;this.sortNeeded=!1;if(null!=b){this.parentGeomList=b.geomList;var a=this.geomList;a.push.apply(a,b.geomList)}}e.prototype.addGeometry=function(b){b=new c.mxgraph.io.vsdx.mxVsdxGeometry(b,this.parentGeomList);b.getIndex()<this.geomList.length?this.geomList[b.getIndex()]=b:(0<this.geomList.push(b),this.sortNeeded=!0)};e.prototype.sort=function(){this.sortNeeded&&(function(b,a){a.compare?
-b.sort(function(b,g){return a.compare(b,g)}):b.sort(a)}(this.geomList,new e.mxVsdxGeometryList$0(this)),this.sortNeeded=!1)};e.prototype.isNoShow=function(){for(var b=0;b<this.geomList.length;b++)if(!this.geomList[b].isNoShow())return!1;return!0};e.prototype.isNoFill=function(){for(var b=0;b<this.geomList.length;b++){var a=this.geomList[b];if(!a.isNoShow()&&!a.isNoFill())return!1}return!0};e.prototype.isNoLine=function(){for(var b=0;b<this.geomList.length;b++){var a=this.geomList[b];if(!a.isNoShow()&&
-!a.isNoLine())return!1}return!0};e.prototype.hasGeom=function(){return 0!=this.geomList.length};e.prototype.getGeoCount=function(){for(var b=0,a=0;a<this.geomList.length;a++)this.geomList[a].isNoShow()||b++;return b};e.prototype.rotatedPoint=function(b,a,d){var g=b.y*a+b.x*d;b.x=b.x*a-b.y*d;b.y=g};e.prototype.getRoutingPoints=function(b,a,d){this.sort();b=[];0<b.push(a.clone());for(var g=0,p=0,e=0;e<this.geomList.length;e++){var f=this.geomList[e];if(!f.isNoShow())for(var f=f.getRows(),k=0;k<f.length;k++){var m=
-f[k];if(0==k&&null!=m&&m instanceof c.mxgraph.io.vsdx.geometry.MoveTo)g=null!=m.x?m.x:0,p=null!=m.y?m.y:0;else if(null!=m&&m instanceof c.mxgraph.io.vsdx.geometry.LineTo){var n=null!=m.x?m.x:0,m=null!=m.y?m.y:0,B=new mxPoint(n,m);0!==d&&(d=(360-d)*Math.PI/180,this.rotatedPoint(B,Math.cos(d),Math.sin(d)));n=(B.x-g)*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$();n+=a.x;m=(B.y-p)*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$()*-1;m+=a.y;n=Math.round(100*n)/100;m=Math.round(100*m)/100;B.x=
-n;B.y=m;0<b.push(B)}}}return b};e.prototype.getShapeXML=function(b){var a=new mxPoint(0,0),d={str:'<shape strokewidth="inherit"><foreground>',toString:function(){return this.str}},g=d.str.length,p;p=this.processGeo(b,a,d,-1,!0);p=this.processGeo(b,a,d,p,!1);if(d.str.length===g)return"";this.closePath(d,p);d.str=d.str.concat("</foreground></shape>");return d.str};e.prototype.processGeo=function(b,a,d,g,p){var e=b.getRounding(),f="";0<e&&(f=' rounded="1" arcSize="'+e*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor+
-'" ');for(e=0;e<this.geomList.length;e++){var k=this.geomList[e];if(p!==k.isNoFill()){var m=k.getPathXML(a,b);0!==m.length&&(k=this.getGeoStyle(k),-1===g?d.str=d.str.concat("<path"+f+">"):g!==k&&(this.closePath(d,g),d.str=d.str.concat("<path"+f+">")),d.str=d.str.concat(m),g=k)}}return g};e.prototype.getGeoStyle=function(b){var a=0;b.isNoLine()||b.isNoFill()?b.isNoFill()?b.isNoLine()||(a=3):a=2:a=1;return a};e.prototype.closePath=function(b,a){b.str=b.str.concat("</path>");1===a?b.str=b.str.concat("<fillstroke/>"):
+b.sort(function(b,h){return a.compare(b,h)}):b.sort(a)}(this.geomList,new e.mxVsdxGeometryList$0(this)),this.sortNeeded=!1)};e.prototype.isNoShow=function(){for(var b=0;b<this.geomList.length;b++)if(!this.geomList[b].isNoShow())return!1;return!0};e.prototype.isNoFill=function(){for(var b=0;b<this.geomList.length;b++){var a=this.geomList[b];if(!a.isNoShow()&&!a.isNoFill())return!1}return!0};e.prototype.isNoLine=function(){for(var b=0;b<this.geomList.length;b++){var a=this.geomList[b];if(!a.isNoShow()&&
+!a.isNoLine())return!1}return!0};e.prototype.hasGeom=function(){return 0!=this.geomList.length};e.prototype.getGeoCount=function(){for(var b=0,a=0;a<this.geomList.length;a++)this.geomList[a].isNoShow()||b++;return b};e.prototype.rotatedPoint=function(b,a,d){var h=b.y*a+b.x*d;b.x=b.x*a-b.y*d;b.y=h};e.prototype.getRoutingPoints=function(b,a,d){this.sort();b=[];0<b.push(a.clone());for(var h=0,p=0,e=0;e<this.geomList.length;e++){var f=this.geomList[e];if(!f.isNoShow())for(var f=f.getRows(),k=0;k<f.length;k++){var m=
+f[k];if(0==k&&null!=m&&m instanceof c.mxgraph.io.vsdx.geometry.MoveTo)h=null!=m.x?m.x:0,p=null!=m.y?m.y:0;else if(null!=m&&m instanceof c.mxgraph.io.vsdx.geometry.LineTo){var n=null!=m.x?m.x:0,m=null!=m.y?m.y:0,C=new mxPoint(n,m);0!==d&&(d=(360-d)*Math.PI/180,this.rotatedPoint(C,Math.cos(d),Math.sin(d)));n=(C.x-h)*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$();n+=a.x;m=(C.y-p)*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$()*-1;m+=a.y;n=Math.round(100*n)/100;m=Math.round(100*m)/100;C.x=
+n;C.y=m;0<b.push(C)}}}return b};e.prototype.getShapeXML=function(b){var a=new mxPoint(0,0),d={str:'<shape strokewidth="inherit"><foreground>',toString:function(){return this.str}},h=d.str.length,p;p=this.processGeo(b,a,d,-1,!0);p=this.processGeo(b,a,d,p,!1);if(d.str.length===h)return"";this.closePath(d,p);d.str=d.str.concat("</foreground></shape>");return d.str};e.prototype.processGeo=function(b,a,d,h,p){var e=b.getRounding(),f="";0<e&&(f=' rounded="1" arcSize="'+e*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor+
+'" ');for(e=0;e<this.geomList.length;e++){var k=this.geomList[e];if(p!==k.isNoFill()){var m=k.getPathXML(a,b);0!==m.length&&(k=this.getGeoStyle(k),-1===h?d.str=d.str.concat("<path"+f+">"):h!==k&&(this.closePath(d,h),d.str=d.str.concat("<path"+f+">")),d.str=d.str.concat(m),h=k)}}return h};e.prototype.getGeoStyle=function(b){var a=0;b.isNoLine()||b.isNoFill()?b.isNoFill()?b.isNoLine()||(a=3):a=2:a=1;return a};e.prototype.closePath=function(b,a){b.str=b.str.concat("</path>");1===a?b.str=b.str.concat("<fillstroke/>"):
 2===a?b.str=b.str.concat("<fill/>"):3===a&&(b.str=b.str.concat("<stroke/>"))};return e}();k.mxVsdxGeometryList=f;f.__class="com.mxgraph.io.vsdx.mxVsdxGeometryList";(function(c){var b=function(){function a(a){this.__parent=a}a.prototype.compare=function(a,b){return a.getIndex()-b.getIndex()};return a}();c.mxVsdxGeometryList$0=b;b.__interfaces=["java.util.Comparator"]})(f=k.mxVsdxGeometryList||(k.mxVsdxGeometryList={}))})(m.vsdx||(m.vsdx={}))})(n.io||(n.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com=
 {}));
 (function(c){(function(n){(function(m){(function(k){var f=function(){function e(b,a){this.masterShape=this.Id=null;this.childShapes={};this.master=b;this.Id=b.getAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.ID)||"";this.processMasterShapes(a)}e.prototype.processMasterShapes=function(b){for(var a=this.master.firstChild;null!=a;){if(null!=a&&1==a.nodeType&&function(a,b){return a&&a.equals?a.equals(b):a===b}(a.nodeName,"Rel")){var d=b.getRelationship(a.getAttribute("r:id"),c.mxgraph.io.mxVsdxCodec.vsdxPlaceholder+"/masters/_rels/masters.xml.rels"),
-g=d.getAttribute("Target"),d=d.getAttribute("Type"),p=null;null!=d&&function(a,b){var d=a.length-b.length,g=a.indexOf(b,d);return-1!==g&&g===d}(d,"master")&&(p=b.getXmlDoc(c.mxgraph.io.mxVsdxCodec.vsdxPlaceholder+"/masters/"+g));if(null!=p)for(g=p.firstChild;null!=g;){if(null!=g&&1==g.nodeType&&function(a,b){return a&&a.equals?a.equals(b):a===b}(g.nodeName,"MasterContents")){this.processMasterShape(g,b);break}g=g.nextSibling}}else if(1==a.nodeType&&"PageSheet"==a.nodeName)for(this.pageSheet={},g=
-c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(a,"Cell"),d=0;d<g.length;d++)this.pageSheet[g[d].getAttribute("N")]=g[d];a=a.nextSibling}};e.prototype.processMasterShape=function(b,a,d){d||(this.firstLevelShapes=[]);for(b=b.firstChild;null!=b;){if(null!=b&&1==b.nodeType&&function(a,b){return a&&a.equals?a.equals(b):a===b}(b.nodeName,"Shapes"))for(var g=b.firstChild;null!=g;){if(null!=g&&1==g.nodeType&&function(a,b){return a&&a.equals?a.equals(b):a===b}(g.nodeName,"Shape")){var p=g,e=p.getAttribute("ID"),
-f=new c.mxgraph.io.vsdx.Shape(p,a);this.masterShape=null==this.masterShape?f:this.masterShape;this.childShapes[e]=f;d||this.firstLevelShapes.push(f);this.processMasterShape(p,a,!0)}g=g.nextSibling}else if(null!=b&&1==b.nodeType&&"Connects"==b.nodeName)for(this.connects={},g=b.firstChild;null!=g;)null!=g&&1==g.nodeType&&"Connect"==g.nodeName&&(p=new c.mxgraph.io.vsdx.mxVsdxConnect(g),this.connects[p.getFromSheet()]=p),g=g.nextSibling;b=b.nextSibling}};e.prototype.getMasterShape=function(){return this.masterShape};
+h=d.getAttribute("Target"),d=d.getAttribute("Type"),p=null;null!=d&&function(a,b){var d=a.length-b.length,h=a.indexOf(b,d);return-1!==h&&h===d}(d,"master")&&(p=b.getXmlDoc(c.mxgraph.io.mxVsdxCodec.vsdxPlaceholder+"/masters/"+h));if(null!=p)for(h=p.firstChild;null!=h;){if(null!=h&&1==h.nodeType&&function(a,b){return a&&a.equals?a.equals(b):a===b}(h.nodeName,"MasterContents")){this.processMasterShape(h,b);break}h=h.nextSibling}}else if(1==a.nodeType&&"PageSheet"==a.nodeName)for(this.pageSheet={},h=
+c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(a,"Cell"),d=0;d<h.length;d++)this.pageSheet[h[d].getAttribute("N")]=h[d];a=a.nextSibling}};e.prototype.processMasterShape=function(b,a,d){d||(this.firstLevelShapes=[]);for(b=b.firstChild;null!=b;){if(null!=b&&1==b.nodeType&&function(a,b){return a&&a.equals?a.equals(b):a===b}(b.nodeName,"Shapes"))for(var h=b.firstChild;null!=h;){if(null!=h&&1==h.nodeType&&function(a,b){return a&&a.equals?a.equals(b):a===b}(h.nodeName,"Shape")){var p=h,e=p.getAttribute("ID"),
+f=new c.mxgraph.io.vsdx.Shape(p,a);this.masterShape=null==this.masterShape?f:this.masterShape;this.childShapes[e]=f;d||this.firstLevelShapes.push(f);this.processMasterShape(p,a,!0)}h=h.nextSibling}else if(null!=b&&1==b.nodeType&&"Connects"==b.nodeName)for(this.connects={},h=b.firstChild;null!=h;)null!=h&&1==h.nodeType&&"Connect"==h.nodeName&&(p=new c.mxgraph.io.vsdx.mxVsdxConnect(h),this.connects[p.getFromSheet()]=p),h=h.nextSibling;b=b.nextSibling}};e.prototype.getMasterShape=function(){return this.masterShape};
 e.prototype.getSubShape=function(b){var a=this.childShapes;return a[b]?a[b]:null};e.prototype.getNameU=function(){return this.master.getAttribute("NameU")||""};e.prototype.getName=function(){return this.master.getAttribute("Name")||""};e.prototype.getUniqueID=function(){var b="";this.master.hasAttribute("UniqueID")&&(b=this.master.getAttribute("UniqueID"));return b};e.prototype.getId=function(){return this.Id};e.prototype.getMasterElement=function(){return this.master};return e}();k.mxVsdxMaster=
 f;f.__class="com.mxgraph.io.vsdx.mxVsdxMaster"})(m.vsdx||(m.vsdx={}))})(n.io||(n.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
 (function(c){(function(n){(function(m){(function(k){var f=function(){function e(b,a,d){this.pages=this.media=this.xmlDocs=null;this.masters={};this.stylesheets={};this.themes={};this.pm=this.rootElement=null;this.xmlDocs=a;this.media=d;for(b=b.firstChild;null!=b;){if(a=null!=b&&1==b.nodeType)a=b.tagName.toLowerCase(),d=c.mxgraph.io.mxVsdxCodec.vsdxPlaceholder+"document",a=a&&a.equals?a.equals(d):a===d;if(a){this.rootElement=b;break}b=b.nextSibling}this.pm=new c.mxgraph.io.vsdx.mxPropertiesManager;
 this.pm.initialise(this.rootElement,this);this.initStylesheets();this.initThemes();this.initMasters();this.initPages()}e.prototype.initThemes=function(){if(null!=this.xmlDocs)for(var b=!0,a=1;b;){var d=function(a,b){return a[b]?a[b]:null}(this.xmlDocs,c.mxgraph.io.mxVsdxCodec.vsdxPlaceholder+"/theme/theme"+a+".xml");if(null!=d){for(d=d.firstChild;null!=d;){if(null!=d&&1==d.nodeType&&function(a,b){return a&&a.equals?a.equals(b):a===b}(d.tagName,"a:theme")){d=new c.mxgraph.io.vsdx.mxVsdxTheme(d);0>
-d.getThemeIndex()&&d.processTheme();var g=function(a,b){null==a.entries&&(a.entries=[]);for(var d=0;d<a.entries.length;d++)if(null!=a.entries[d].key.equals&&a.entries[d].key.equals(b)||a.entries[d].key===b)return a.entries[d].value;return null}(this.themes,d.getThemeIndex());null!=g&&g.isPure()||function(a,b,d){null==a.entries&&(a.entries=[]);for(var g=0;g<a.entries.length;g++)if(null!=a.entries[g].key.equals&&a.entries[g].key.equals(b)||a.entries[g].key===b){a.entries[g].value=d;return}a.entries.push({key:b,
-value:d,getKey:function(){return this.key},getValue:function(){return this.value}})}(this.themes,d.getThemeIndex(),d);break}d=d.nextSibling}a++}else b=!1}};e.prototype.initStylesheets=function(){var b=this.rootElement.getElementsByTagName(c.mxgraph.io.vsdx.mxVsdxConstants.STYLE_SHEETS);if(0<b.length)for(var b=b.item(0).getElementsByTagName(c.mxgraph.io.vsdx.mxVsdxConstants.STYLE_SHEET),a=b.length,d=0;d<a;d++){var g=b.item(d),p=g.getAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.ID),g=new c.mxgraph.io.vsdx.Style(g,
-this);this.stylesheets[p]=g}for(b=function(a){var b=0;return{next:function(){return b<a.length?a[b++]:null},hasNext:function(){return b<a.length}}}(function(a){return Object.keys(a).map(function(b){return a[b]})}(this.stylesheets));b.hasNext();)g=b.next(),g.stylesheetRefs(this)};e.prototype.initMasters=function(){if(null!=this.xmlDocs){var b=function(a,b){return a[b]?a[b]:null}(this.xmlDocs,c.mxgraph.io.mxVsdxCodec.vsdxPlaceholder+"/masters/masters.xml");if(null!=b)for(b=b.firstChild;null!=b;){if(null!=
+d.getThemeIndex()&&d.processTheme();var h=function(a,b){null==a.entries&&(a.entries=[]);for(var d=0;d<a.entries.length;d++)if(null!=a.entries[d].key.equals&&a.entries[d].key.equals(b)||a.entries[d].key===b)return a.entries[d].value;return null}(this.themes,d.getThemeIndex());null!=h&&h.isPure()||function(a,b,d){null==a.entries&&(a.entries=[]);for(var h=0;h<a.entries.length;h++)if(null!=a.entries[h].key.equals&&a.entries[h].key.equals(b)||a.entries[h].key===b){a.entries[h].value=d;return}a.entries.push({key:b,
+value:d,getKey:function(){return this.key},getValue:function(){return this.value}})}(this.themes,d.getThemeIndex(),d);break}d=d.nextSibling}a++}else b=!1}};e.prototype.initStylesheets=function(){var b=this.rootElement.getElementsByTagName(c.mxgraph.io.vsdx.mxVsdxConstants.STYLE_SHEETS);if(0<b.length)for(var b=b.item(0).getElementsByTagName(c.mxgraph.io.vsdx.mxVsdxConstants.STYLE_SHEET),a=b.length,d=0;d<a;d++){var h=b.item(d),p=h.getAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.ID),h=new c.mxgraph.io.vsdx.Style(h,
+this);this.stylesheets[p]=h}for(b=function(a){var b=0;return{next:function(){return b<a.length?a[b++]:null},hasNext:function(){return b<a.length}}}(function(a){return Object.keys(a).map(function(b){return a[b]})}(this.stylesheets));b.hasNext();)h=b.next(),h.stylesheetRefs(this)};e.prototype.initMasters=function(){if(null!=this.xmlDocs){var b=function(a,b){return a[b]?a[b]:null}(this.xmlDocs,c.mxgraph.io.mxVsdxCodec.vsdxPlaceholder+"/masters/masters.xml");if(null!=b)for(b=b.firstChild;null!=b;){if(null!=
 b&&1==b.nodeType&&function(a,b){return a&&a.equals?a.equals(b):a===b}(b.tagName,c.mxgraph.io.vsdx.mxVsdxConstants.MASTERS)){for(b=b.firstChild;null!=b;){if(null!=b&&1==b.nodeType&&function(a,b){return a&&a.equals?a.equals(b):a===b}(b.tagName,"Master")){var a=new c.mxgraph.io.vsdx.mxVsdxMaster(b,this);this.masters[a.getId()]=a}b=b.nextSibling}break}b=b.nextSibling}}};e.prototype.initPages=function(){if(null!=this.xmlDocs){var b=function(a,b){return a[b]?a[b]:null}(this.xmlDocs,c.mxgraph.io.mxVsdxCodec.vsdxPlaceholder+
-"/pages/pages.xml");if(null!=b)for(b=b.firstChild;null!=b;){if(null!=b&&1==b.nodeType&&function(a,b){return a&&a.equals?a.equals(b):a===b}(b.tagName,c.mxgraph.io.vsdx.mxVsdxConstants.PAGES)){var a=b.getElementsByTagName(c.mxgraph.io.vsdx.mxVsdxConstants.PAGE);if(null!=a&&0<a.length){this.pages={};for(var b={},d=a.length,g=0;g<d;g++){var p=a.item(g),p=this.createPage(p);p.isBackground()&&function(a,b,d){null==a.entries&&(a.entries=[]);for(var g=0;g<a.entries.length;g++)if(null!=a.entries[g].key.equals&&
-a.entries[g].key.equals(b)||a.entries[g].key===b){a.entries[g].value=d;return}a.entries.push({key:b,value:d,getKey:function(){return this.key},getValue:function(){return this.value}})}(b,p.getId(),p);(function(a,b,d){null==a.entries&&(a.entries=[]);for(var g=0;g<a.entries.length;g++)if(null!=a.entries[g].key.equals&&a.entries[g].key.equals(b)||a.entries[g].key===b){a.entries[g].value=d;return}a.entries.push({key:b,value:d,getKey:function(){return this.key},getValue:function(){return this.value}})})(this.pages,
-p.getId(),p)}a=function(a){null==a.entries&&(a.entries=[]);return a.entries}(this.pages);for(d=0;d<a.length;d++)p=a[d].getValue(),g=p.getBackPageId(),null!=g&&(g=function(a,b){null==a.entries&&(a.entries=[]);for(var d=0;d<a.entries.length;d++)if(null!=a.entries[d].key.equals&&a.entries[d].key.equals(b)||a.entries[d].key===b)return a.entries[d].value;return null}(b,g),p.setBackPage(g))}break}b=b.nextSibling}}};e.prototype.getPages=function(){return this.pages};e.prototype.getThemes=function(){return this.themes};
-e.prototype.getRelationship=function(b,a){var d=function(a,b){return a[b]?a[b]:null}(this.xmlDocs,a);if(null==d||null==b||0===b.length)return null;for(var d=d.getElementsByTagName("Relationship"),g=0;g<d.length;g++){var c=d.item(g);if(function(a,b){return a&&a.equals?a.equals(b):a===b}(c.getAttribute("Id"),b))return c}return null};e.prototype.getMaster=function(b){var a=this.masters;return a[b]?a[b]:null};e.prototype.createPage=function(b){return new c.mxgraph.io.vsdx.mxVsdxPage(b,this)};e.prototype.getPropertiesManager=
+"/pages/pages.xml");if(null!=b)for(b=b.firstChild;null!=b;){if(null!=b&&1==b.nodeType&&function(a,b){return a&&a.equals?a.equals(b):a===b}(b.tagName,c.mxgraph.io.vsdx.mxVsdxConstants.PAGES)){var a=b.getElementsByTagName(c.mxgraph.io.vsdx.mxVsdxConstants.PAGE);if(null!=a&&0<a.length){this.pages={};for(var b={},d=a.length,h=0;h<d;h++){var p=a.item(h),p=this.createPage(p);p.isBackground()&&function(a,b,d){null==a.entries&&(a.entries=[]);for(var h=0;h<a.entries.length;h++)if(null!=a.entries[h].key.equals&&
+a.entries[h].key.equals(b)||a.entries[h].key===b){a.entries[h].value=d;return}a.entries.push({key:b,value:d,getKey:function(){return this.key},getValue:function(){return this.value}})}(b,p.getId(),p);(function(a,b,d){null==a.entries&&(a.entries=[]);for(var h=0;h<a.entries.length;h++)if(null!=a.entries[h].key.equals&&a.entries[h].key.equals(b)||a.entries[h].key===b){a.entries[h].value=d;return}a.entries.push({key:b,value:d,getKey:function(){return this.key},getValue:function(){return this.value}})})(this.pages,
+p.getId(),p)}a=function(a){null==a.entries&&(a.entries=[]);return a.entries}(this.pages);for(d=0;d<a.length;d++)p=a[d].getValue(),h=p.getBackPageId(),null!=h&&(h=function(a,b){null==a.entries&&(a.entries=[]);for(var d=0;d<a.entries.length;d++)if(null!=a.entries[d].key.equals&&a.entries[d].key.equals(b)||a.entries[d].key===b)return a.entries[d].value;return null}(b,h),p.setBackPage(h))}break}b=b.nextSibling}}};e.prototype.getPages=function(){return this.pages};e.prototype.getThemes=function(){return this.themes};
+e.prototype.getRelationship=function(b,a){var d=function(a,b){return a[b]?a[b]:null}(this.xmlDocs,a);if(null==d||null==b||0===b.length)return null;for(var d=d.getElementsByTagName("Relationship"),h=0;h<d.length;h++){var c=d.item(h);if(function(a,b){return a&&a.equals?a.equals(b):a===b}(c.getAttribute("Id"),b))return c}return null};e.prototype.getMaster=function(b){var a=this.masters;return a[b]?a[b]:null};e.prototype.createPage=function(b){return new c.mxgraph.io.vsdx.mxVsdxPage(b,this)};e.prototype.getPropertiesManager=
 function(){return this.pm};e.prototype.setPropertiesManager=function(b){this.pm=b};e.prototype.getMasterShapes=function(){return this.masters};e.prototype.setMasterShapes=function(b){this.masters=b};e.prototype.getStylesheet=function(b){var a=this.stylesheets;return a[b]?a[b]:null};e.prototype.getXmlDoc=function(b){var a=this.xmlDocs;return a[b]?a[b]:null};e.prototype.getMedia=function(b){var a=this.media;return a[b]?a[b]:null};return e}();k.mxVsdxModel=f;f.__class="com.mxgraph.io.vsdx.mxVsdxModel"})(m.vsdx||
 (m.vsdx={}))})(n.io||(n.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
-(function(c){(function(n){(function(m){(function(k){var f=function(){function e(b,a){this.pageName=this.Id=null;this.__isBackground=!1;this.pageSheet=this.backPage=this.backPageId=null;this.shapes={};this.connects={};this.cellElements={};this.model=a;this.pageElement=b;this.layers=[];var d=b.getAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.BACKGROUND),g;if(g=null!=d)g=c.mxgraph.io.vsdx.mxVsdxConstants.TRUE,g=d&&d.equals?d.equals(g):d===g;this.__isBackground=g?!0:!1;d=b.getAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.BACK_PAGE);
-null!=d&&0<d.length&&(this.backPageId=parseFloat(d));this.Id=parseFloat(b.getAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.ID));this.pageName=b.getAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.NAME)||"";d=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(b,"PageSheet");if(0<d.length){d=d[0];g=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(d,"Cell");for(var p=0;p<g.length;p++){var e=g[p],f=e.getAttribute("N");this.cellElements[f]=e}d=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(d,
-"Section");for(g=0;g<d.length;g++)if(p=d[g],f=p.getAttribute("N"),"Layer"==f)for(f=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(p,"Row"),p=0;p<f.length;p++){for(var e=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(f[p],"Cell"),k={},m=0;m<e.length;m++)k[e[m].getAttribute("N")]=e[m].getAttribute("V");this.layers[parseInt(f[p].getAttribute("IX"))]=k}}this.parseNodes(b,a,"pages")}e.prototype.parseNodes=function(b,a,d){for(b=b.firstChild;null!=b;){if(null!=b&&1==b.nodeType){var g=
-b,p=g.nodeName;if(function(a,b){return a&&a.equals?a.equals(b):a===b}(p,"Rel"))this.resolveRel(g,a,d);else if(function(a,b){return a&&a.equals?a.equals(b):a===b}(p,"Shapes"))this.shapes=this.parseShapes(g,null,!1);else if(function(a,b){return a&&a.equals?a.equals(b):a===b}(p,"Connects"))for(g=g.getElementsByTagName(c.mxgraph.io.vsdx.mxVsdxConstants.CONNECT),g=null!=g&&0<g.length?g.item(0):null;null!=g;){if(null!=g&&1==g.nodeType){var p=g,e=new c.mxgraph.io.vsdx.mxVsdxConnect(p),f=e.getFromSheet(),
-f=null!=f&&-1<f?function(a,b){null==a.entries&&(a.entries=[]);for(var d=0;d<a.entries.length;d++)if(null!=a.entries[d].key.equals&&a.entries[d].key.equals(b)||a.entries[d].key===b)return a.entries[d].value;return null}(this.connects,f):null;null!=f?f.addConnect(p):function(a,b,d){null==a.entries&&(a.entries=[]);for(var g=0;g<a.entries.length;g++)if(null!=a.entries[g].key.equals&&a.entries[g].key.equals(b)||a.entries[g].key===b){a.entries[g].value=d;return}a.entries.push({key:b,value:d,getKey:function(){return this.key},
-getValue:function(){return this.value}})}(this.connects,e.getFromSheet(),e)}g=g.nextSibling}else(function(a,b){return a&&a.equals?a.equals(b):a===b})(p,"PageSheet")&&(this.pageSheet=g)}b=b.nextSibling}};e.prototype.resolveRel=function(b,a,d){d=a.getRelationship(b.getAttribute("r:id"),c.mxgraph.io.mxVsdxCodec.vsdxPlaceholder+"/pages/_rels/"+d+".xml.rels");b=d.getAttribute("Target");d=d.getAttribute("Type");if(function(a,b){var d=a.length-b.length,g=a.indexOf(b,d);return-1!==g&&g===d}((new String(d)).toString(),
-"page")){var g=null;null!=d&&function(a,b){var d=a.length-b.length,g=a.indexOf(b,d);return-1!==g&&g===d}(d,"page")&&(g=a.getXmlDoc(c.mxgraph.io.mxVsdxCodec.vsdxPlaceholder+"/pages/"+b));if(null!=g)for(d=g.firstChild;null!=d;){if(null!=d&&1==d.nodeType&&function(a,b){return a&&a.equals?a.equals(b):a===b}(d.tagName,"PageContents")){g=b.indexOf(".");-1!==g&&this.parseNodes(d,a,b.substring(0,g));break}d=d.nextSibling}}};e.prototype.parseShapes=function(b,a,d){d={};b=b.getElementsByTagName(c.mxgraph.io.vsdx.mxVsdxConstants.SHAPE);
-for(b=null!=b&&0<b.length?b.item(0):null;null!=b;){if(null!=b&&1==b.nodeType){var g=b,p=a;if(null==p){var e=g.getAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.MASTER);null==e||function(a,b){return a&&a.equals?a.equals(b):a===b}(e,"")||(p=this.model.getMaster(e))}var f=this.isEdge(g);f||null==p||(e=g.getAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.MASTER_SHAPE),f=p.getMasterElement(),null==e||function(a,b){return a&&a.equals?a.equals(b):a===b}(e,"")||(e=p.getSubShape(e),f=null!=e?e.getShape():f),f=this.isEdge(f));
-g=this.createCell(g,!f,p);(function(a,b,d){null==a.entries&&(a.entries=[]);for(var g=0;g<a.entries.length;g++)if(null!=a.entries[g].key.equals&&a.entries[g].key.equals(b)||a.entries[g].key===b){a.entries[g].value=d;return}a.entries.push({key:b,value:d,getKey:function(){return this.key},getValue:function(){return this.value}})})(d,g.getId(),g)}b=b.nextSibling}return d};e.prototype.createCell=function(b,a,d){return new c.mxgraph.io.vsdx.VsdxShape(this,b,a,this.model.getMasterShapes(),d,this.model)};
+(function(c){(function(n){(function(m){(function(k){var f=function(){function e(b,a){this.pageName=this.Id=null;this.__isBackground=!1;this.pageSheet=this.backPage=this.backPageId=null;this.shapes={};this.connects={};this.cellElements={};this.model=a;this.pageElement=b;this.layers=[];var d=b.getAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.BACKGROUND),h;if(h=null!=d)h=c.mxgraph.io.vsdx.mxVsdxConstants.TRUE,h=d&&d.equals?d.equals(h):d===h;this.__isBackground=h?!0:!1;d=b.getAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.BACK_PAGE);
+null!=d&&0<d.length&&(this.backPageId=parseFloat(d));this.Id=parseFloat(b.getAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.ID));this.pageName=b.getAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.NAME)||"";d=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(b,"PageSheet");if(0<d.length){d=d[0];h=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(d,"Cell");for(var p=0;p<h.length;p++){var e=h[p],f=e.getAttribute("N");this.cellElements[f]=e}d=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(d,
+"Section");for(h=0;h<d.length;h++)if(p=d[h],f=p.getAttribute("N"),"Layer"==f)for(f=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(p,"Row"),p=0;p<f.length;p++){for(var e=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(f[p],"Cell"),k={},m=0;m<e.length;m++)k[e[m].getAttribute("N")]=e[m].getAttribute("V");this.layers[parseInt(f[p].getAttribute("IX"))]=k}}this.parseNodes(b,a,"pages")}e.prototype.parseNodes=function(b,a,d){for(b=b.firstChild;null!=b;){if(null!=b&&1==b.nodeType){var h=
+b,p=h.nodeName;if(function(a,b){return a&&a.equals?a.equals(b):a===b}(p,"Rel"))this.resolveRel(h,a,d);else if(function(a,b){return a&&a.equals?a.equals(b):a===b}(p,"Shapes"))this.shapes=this.parseShapes(h,null,!1);else if(function(a,b){return a&&a.equals?a.equals(b):a===b}(p,"Connects"))for(h=h.getElementsByTagName(c.mxgraph.io.vsdx.mxVsdxConstants.CONNECT),h=null!=h&&0<h.length?h.item(0):null;null!=h;){if(null!=h&&1==h.nodeType){var p=h,e=new c.mxgraph.io.vsdx.mxVsdxConnect(p),f=e.getFromSheet(),
+f=null!=f&&-1<f?function(a,b){null==a.entries&&(a.entries=[]);for(var d=0;d<a.entries.length;d++)if(null!=a.entries[d].key.equals&&a.entries[d].key.equals(b)||a.entries[d].key===b)return a.entries[d].value;return null}(this.connects,f):null;null!=f?f.addConnect(p):function(a,b,d){null==a.entries&&(a.entries=[]);for(var h=0;h<a.entries.length;h++)if(null!=a.entries[h].key.equals&&a.entries[h].key.equals(b)||a.entries[h].key===b){a.entries[h].value=d;return}a.entries.push({key:b,value:d,getKey:function(){return this.key},
+getValue:function(){return this.value}})}(this.connects,e.getFromSheet(),e)}h=h.nextSibling}else(function(a,b){return a&&a.equals?a.equals(b):a===b})(p,"PageSheet")&&(this.pageSheet=h)}b=b.nextSibling}};e.prototype.resolveRel=function(b,a,d){d=a.getRelationship(b.getAttribute("r:id"),c.mxgraph.io.mxVsdxCodec.vsdxPlaceholder+"/pages/_rels/"+d+".xml.rels");b=d.getAttribute("Target");d=d.getAttribute("Type");if(function(a,b){var d=a.length-b.length,h=a.indexOf(b,d);return-1!==h&&h===d}((new String(d)).toString(),
+"page")){var h=null;null!=d&&function(a,b){var d=a.length-b.length,h=a.indexOf(b,d);return-1!==h&&h===d}(d,"page")&&(h=a.getXmlDoc(c.mxgraph.io.mxVsdxCodec.vsdxPlaceholder+"/pages/"+b));if(null!=h)for(d=h.firstChild;null!=d;){if(null!=d&&1==d.nodeType&&function(a,b){return a&&a.equals?a.equals(b):a===b}(d.tagName,"PageContents")){h=b.indexOf(".");-1!==h&&this.parseNodes(d,a,b.substring(0,h));break}d=d.nextSibling}}};e.prototype.parseShapes=function(b,a,d){d={};b=b.getElementsByTagName(c.mxgraph.io.vsdx.mxVsdxConstants.SHAPE);
+for(b=null!=b&&0<b.length?b.item(0):null;null!=b;){if(null!=b&&1==b.nodeType){var h=b,p=a;if(null==p){var e=h.getAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.MASTER);null==e||function(a,b){return a&&a.equals?a.equals(b):a===b}(e,"")||(p=this.model.getMaster(e))}var f=this.isEdge(h);f||null==p||(e=h.getAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.MASTER_SHAPE),f=p.getMasterElement(),null==e||function(a,b){return a&&a.equals?a.equals(b):a===b}(e,"")||(e=p.getSubShape(e),f=null!=e?e.getShape():f),f=this.isEdge(f));
+h=this.createCell(h,!f,p);(function(a,b,d){null==a.entries&&(a.entries=[]);for(var h=0;h<a.entries.length;h++)if(null!=a.entries[h].key.equals&&a.entries[h].key.equals(b)||a.entries[h].key===b){a.entries[h].value=d;return}a.entries.push({key:b,value:d,getKey:function(){return this.key},getValue:function(){return this.value}})})(d,h.getId(),h)}b=b.nextSibling}return d};e.prototype.createCell=function(b,a,d){return new c.mxgraph.io.vsdx.VsdxShape(this,b,a,this.model.getMasterShapes(),d,this.model)};
 e.prototype.isEdge=function(b){if(null!=b&&(b=b.childNodes,null!=b))for(b=b.item(0);null!=b;){if(null!=b&&1==b.nodeType){var a=b;if(function(a,b){return a&&a.equals?a.equals(b):a===b}(a.nodeName,"Cell")&&(a=a.getAttribute("N"),function(a,b){return a&&a.equals?a.equals(b):a===b}(a,"BeginX")||function(a,b){return a&&a.equals?a.equals(b):a===b}(a,"BeginY")||function(a,b){return a&&a.equals?a.equals(b):a===b}(a,"EndY")||function(a,b){return a&&a.equals?a.equals(b):a===b}(a,"EndX")))return!0}b=b.nextSibling}return!1};
-e.prototype.getPageDimensions=function(){var b=0,a=0,d=function(a,b){return a[b]?a[b]:null}(this.cellElements,"PageHeight"),g=function(a,b){return a[b]?a[b]:null}(this.cellElements,"PageWidth");null!=d&&(b=parseFloat(d.getAttribute("V"))*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),b=Math.round(100*b)/100);null!=g&&(a=parseFloat(g.getAttribute("V"))*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),a=Math.round(100*a)/100);return new mxPoint(a,b)};e.prototype.getDrawingScale=function(){var b;
+e.prototype.getPageDimensions=function(){var b=0,a=0,d=function(a,b){return a[b]?a[b]:null}(this.cellElements,"PageHeight"),h=function(a,b){return a[b]?a[b]:null}(this.cellElements,"PageWidth");null!=d&&(b=parseFloat(d.getAttribute("V"))*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),b=Math.round(100*b)/100);null!=h&&(a=parseFloat(h.getAttribute("V"))*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),a=Math.round(100*a)/100);return new mxPoint(a,b)};e.prototype.getDrawingScale=function(){var b;
 b=this.cellElements;b=b.DrawingScale?b.DrawingScale:null;return null!=b?parseFloat(b.getAttribute("V"))*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$():1};e.prototype.getPageScale=function(){var b;b=this.cellElements;b=b.PageScale?b.PageScale:null;return null!=b?parseFloat(b.getAttribute("V"))*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$():1};e.prototype.getCellValue=function(b){var a=this.cellElements;b=a[b]?a[b]:null;return null!=b?b.getAttribute("V")||"":null};e.prototype.getCellIntValue=
 function(b,a){var d=this.getCellValue(b);return null!=d?parseInt(d):a};e.prototype.getId=function(){return this.Id};e.prototype.getPageName=function(){return this.pageName};e.prototype.getShapes=function(){return this.shapes};e.prototype.getLayers=function(){return this.layers};e.prototype.getConnects=function(){return this.connects};e.prototype.isBackground=function(){return this.__isBackground};e.prototype.getBackPageId=function(){return this.backPageId};e.prototype.setBackPage=function(b){this.backPage=
 b};e.prototype.getBackPage=function(){return this.backPage};return e}();k.mxVsdxPage=f;f.__class="com.mxgraph.io.vsdx.mxVsdxPage"})(m.vsdx||(m.vsdx={}))})(n.io||(n.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
-(function(c){(function(n){(function(m){(function(k){var f=function(){function e(b){this.themeIndex=-1;this.themeVariant=0;this.baseColors={};this.variantsColors=function(a){var b=function(a){if(0!=a.length){for(var d=[],g=0;g<a[0];g++)d.push(b(a.slice(1)));return d}};return b(a)}([4,7]);this.isMonotoneVariant=Array(4);this.defaultClr=new c.mxgraph.io.vsdx.theme.Color(255,255,255);this.defaultLineClr=new c.mxgraph.io.vsdx.theme.Color(0,0,0);this.defaultLineStyle=new c.mxgraph.io.vsdx.theme.LineStyle;
-this.fillStyles=[];this.connFillStyles=[];this.lineStyles=[];this.connLineStyles=[];this.lineStylesExt=[];this.connLineStylesExt=[];this.connFontColors=[];this.connFontStyles=[];this.fontColors=[];this.fontStyles=[];this.variantEmbellishment=[0,0,0,0];this.variantFillIdx=function(a){var b=function(a){if(0==a.length)return 0;for(var d=[],g=0;g<a[0];g++)d.push(b(a.slice(1)));return d};return b(a)}([4,4]);this.variantLineIdx=function(a){var b=function(a){if(0==a.length)return 0;for(var d=[],g=0;g<a[0];g++)d.push(b(a.slice(1)));
-return d};return b(a)}([4,4]);this.variantEffectIdx=function(a){var b=function(a){if(0==a.length)return 0;for(var d=[],g=0;g<a[0];g++)d.push(b(a.slice(1)));return d};return b(a)}([4,4]);this.variantFontIdx=function(a){var b=function(a){if(0==a.length)return 0;for(var d=[],g=0;g<a[0];g++)d.push(b(a.slice(1)));return d};return b(a)}([4,4]);this.isProcessed=!1;this.__isPure=!0;this.name=this.bkgndColor=this.theme=null;this.theme=b;this.name=b.getAttribute("name")||"";b=function(a,b){return a[b]?a[b]:
+(function(c){(function(n){(function(m){(function(k){var f=function(){function e(b){this.themeIndex=-1;this.themeVariant=0;this.baseColors={};this.variantsColors=function(a){var b=function(a){if(0!=a.length){for(var d=[],h=0;h<a[0];h++)d.push(b(a.slice(1)));return d}};return b(a)}([4,7]);this.isMonotoneVariant=Array(4);this.defaultClr=new c.mxgraph.io.vsdx.theme.Color(255,255,255);this.defaultLineClr=new c.mxgraph.io.vsdx.theme.Color(0,0,0);this.defaultLineStyle=new c.mxgraph.io.vsdx.theme.LineStyle;
+this.fillStyles=[];this.connFillStyles=[];this.lineStyles=[];this.connLineStyles=[];this.lineStylesExt=[];this.connLineStylesExt=[];this.connFontColors=[];this.connFontStyles=[];this.fontColors=[];this.fontStyles=[];this.variantEmbellishment=[0,0,0,0];this.variantFillIdx=function(a){var b=function(a){if(0==a.length)return 0;for(var d=[],h=0;h<a[0];h++)d.push(b(a.slice(1)));return d};return b(a)}([4,4]);this.variantLineIdx=function(a){var b=function(a){if(0==a.length)return 0;for(var d=[],h=0;h<a[0];h++)d.push(b(a.slice(1)));
+return d};return b(a)}([4,4]);this.variantEffectIdx=function(a){var b=function(a){if(0==a.length)return 0;for(var d=[],h=0;h<a[0];h++)d.push(b(a.slice(1)));return d};return b(a)}([4,4]);this.variantFontIdx=function(a){var b=function(a){if(0==a.length)return 0;for(var d=[],h=0;h<a[0];h++)d.push(b(a.slice(1)));return d};return b(a)}([4,4]);this.isProcessed=!1;this.__isPure=!0;this.name=this.bkgndColor=this.theme=null;this.theme=b;this.name=b.getAttribute("name")||"";b=function(a,b){return a[b]?a[b]:
 null}(e.themesIds_$LI$(),this.name);null!=b&&(this.themeIndex=b)}e.__static_initialize=function(){e.__static_initialized||(e.__static_initialized=!0,e.__static_initializer_0(),e.__static_initializer_1())};e.themesIds_$LI$=function(){e.__static_initialize();null==e.themesIds&&(e.themesIds={});return e.themesIds};e.__static_initializer_0=function(){e.themesIds_$LI$().Office=33;e.themesIds_$LI$().Linear=34;e.themesIds_$LI$().Zephyr=35;e.themesIds_$LI$().Integral=36;e.themesIds_$LI$().Simple=37;e.themesIds_$LI$().Whisp=
 38;e.themesIds_$LI$().Daybreak=39;e.themesIds_$LI$().Parallel=40;e.themesIds_$LI$().Sequence=41;e.themesIds_$LI$().Slice=42;e.themesIds_$LI$().Ion=43;e.themesIds_$LI$().Retrospect=44;e.themesIds_$LI$().Organic=45;e.themesIds_$LI$().Bubble=46;e.themesIds_$LI$().Clouds=47;e.themesIds_$LI$().Gemstone=48;e.themesIds_$LI$().Lines=49;e.themesIds_$LI$().Facet=50;e.themesIds_$LI$().Prominence=51;e.themesIds_$LI$().Smoke=52;e.themesIds_$LI$().Radiance=53;e.themesIds_$LI$().Shade=54;e.themesIds_$LI$().Pencil=
-55;e.themesIds_$LI$().Pen=56;e.themesIds_$LI$().Marker=57;e.themesIds_$LI$().Whiteboard=58};e.colorIds_$LI$=function(){e.__static_initialize();null==e.colorIds&&(e.colorIds={});return e.colorIds};e.__static_initializer_1=function(){(function(b,a,d){null==b.entries&&(b.entries=[]);for(var g=0;g<b.entries.length;g++)if(null!=b.entries[g].key.equals&&b.entries[g].key.equals(a)||b.entries[g].key===a){b.entries[g].value=d;return}b.entries.push({key:a,value:d,getKey:function(){return this.key},getValue:function(){return this.value}})})(e.colorIds_$LI$(),
-0,"dk1");(function(b,a,d){null==b.entries&&(b.entries=[]);for(var g=0;g<b.entries.length;g++)if(null!=b.entries[g].key.equals&&b.entries[g].key.equals(a)||b.entries[g].key===a){b.entries[g].value=d;return}b.entries.push({key:a,value:d,getKey:function(){return this.key},getValue:function(){return this.value}})})(e.colorIds_$LI$(),1,"lt1");(function(b,a,d){null==b.entries&&(b.entries=[]);for(var g=0;g<b.entries.length;g++)if(null!=b.entries[g].key.equals&&b.entries[g].key.equals(a)||b.entries[g].key===
-a){b.entries[g].value=d;return}b.entries.push({key:a,value:d,getKey:function(){return this.key},getValue:function(){return this.value}})})(e.colorIds_$LI$(),2,"accent1");(function(b,a,d){null==b.entries&&(b.entries=[]);for(var g=0;g<b.entries.length;g++)if(null!=b.entries[g].key.equals&&b.entries[g].key.equals(a)||b.entries[g].key===a){b.entries[g].value=d;return}b.entries.push({key:a,value:d,getKey:function(){return this.key},getValue:function(){return this.value}})})(e.colorIds_$LI$(),3,"accent2");
-(function(b,a,d){null==b.entries&&(b.entries=[]);for(var g=0;g<b.entries.length;g++)if(null!=b.entries[g].key.equals&&b.entries[g].key.equals(a)||b.entries[g].key===a){b.entries[g].value=d;return}b.entries.push({key:a,value:d,getKey:function(){return this.key},getValue:function(){return this.value}})})(e.colorIds_$LI$(),4,"accent3");(function(b,a,d){null==b.entries&&(b.entries=[]);for(var g=0;g<b.entries.length;g++)if(null!=b.entries[g].key.equals&&b.entries[g].key.equals(a)||b.entries[g].key===a){b.entries[g].value=
-d;return}b.entries.push({key:a,value:d,getKey:function(){return this.key},getValue:function(){return this.value}})})(e.colorIds_$LI$(),5,"accent4");(function(b,a,d){null==b.entries&&(b.entries=[]);for(var g=0;g<b.entries.length;g++)if(null!=b.entries[g].key.equals&&b.entries[g].key.equals(a)||b.entries[g].key===a){b.entries[g].value=d;return}b.entries.push({key:a,value:d,getKey:function(){return this.key},getValue:function(){return this.value}})})(e.colorIds_$LI$(),6,"accent5");(function(b,a,d){null==
-b.entries&&(b.entries=[]);for(var g=0;g<b.entries.length;g++)if(null!=b.entries[g].key.equals&&b.entries[g].key.equals(a)||b.entries[g].key===a){b.entries[g].value=d;return}b.entries.push({key:a,value:d,getKey:function(){return this.key},getValue:function(){return this.value}})})(e.colorIds_$LI$(),7,"accent6")};e.prototype.getThemeIndex=function(){return this.themeIndex};e.prototype.setVariant=function(b){this.themeVariant=b};e.prototype.isPure=function(){return this.__isPure};e.prototype.processTheme=
-function(){if(!this.isProcessed){try{for(var b=this.theme.firstChild;null!=b;){if(null!=b&&1==b.nodeType&&function(a,b){return a&&a.equals?a.equals(b):a===b}(b.nodeName,"a:themeElements"))for(var a=b.firstChild;null!=a;){if(null!=a&&1==a.nodeType){var d=a,g=d.nodeName;(function(a,b){return a&&a.equals?a.equals(b):a===b})(g,"a:clrScheme")?(function(a,b){return a&&a.equals?a.equals(b):a===b}(this.name,d.getAttribute("name"))||(this.__isPure=!1),this.processColors(d)):function(a,b){return a&&a.equals?
-a.equals(b):a===b}(g,"a:fontScheme")?(function(a,b){return a&&a.equals?a.equals(b):a===b}(this.name,d.getAttribute("name"))||(this.__isPure=!1),this.processFonts(d)):function(a,b){return a&&a.equals?a.equals(b):a===b}(g,"a:fmtScheme")?(function(a,b){return a&&a.equals?a.equals(b):a===b}(this.name,d.getAttribute("name"))||(this.__isPure=!1),this.processFormats(d)):function(a,b){return a&&a.equals?a.equals(b):a===b}(g,"a:extLst")&&this.processExtras(d)}a=a.nextSibling}b=b.nextSibling}}catch(p){console.error(p.message,
-p)}this.isProcessed=!0}};e.prototype.processExtras=function(b){b=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(b);for(var a=0;a<b.length;a++){var d=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectFirstChildElement(b[a]);switch(d.nodeName){case "vt:fmtConnectorScheme":var g;g=this.name;var p=d.getAttribute("name");g=g&&g.equals?g.equals(p):g===p;g||(this.__isPure=!1);d=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(d);for(g=0;g<d.length;g++)switch(p=d[g],p.nodeName){case "a:fillStyleLst":for(var p=
-c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(p),e=0;e<p.length;e++)0<this.connFillStyles.push(c.mxgraph.io.vsdx.theme.FillStyleFactory.getFillStyle(p[e]));break;case "a:lnStyleLst":for(p=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(p),e=0;e<p.length;e++)0<this.connLineStyles.push(new c.mxgraph.io.vsdx.theme.LineStyle(p[e]))}break;case "vt:lineStyles":d=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(d);for(g=0;g<d.length;g++)switch(p=d[g],p.nodeName){case "vt:fmtConnectorSchemeLineStyles":p=
-c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(p);for(e=0;e<p.length;e++)0<this.connLineStylesExt.push(new c.mxgraph.io.vsdx.theme.LineStyleExt(p[e]));break;case "vt:fmtSchemeLineStyles":for(p=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(p),e=0;e<p.length;e++)0<this.lineStylesExt.push(new c.mxgraph.io.vsdx.theme.LineStyleExt(p[e]))}break;case "vt:fontStylesGroup":d=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(d);for(g=0;g<d.length;g++)switch(p=d[g],p.nodeName){case "vt:connectorFontStyles":this.fillFontStyles(p,
-this.connFontColors,this.connFontStyles);break;case "vt:fontStyles":this.fillFontStyles(p,this.fontColors,this.fontStyles)}break;case "vt:variationStyleSchemeLst":for(d=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(d),p=g=0;p<d.length;p++){e=d[p];this.variantEmbellishment[g]=c.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(e,"embellishment");for(var e=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(e),f=0,k=0;k<e.length;k++){var m=e[k];this.variantFillIdx[g][f]=
-c.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(m,"fillIdx");this.variantLineIdx[g][f]=c.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(m,"lineIdx");this.variantEffectIdx[g][f]=c.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(m,"effectIdx");this.variantFontIdx[g][f]=c.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(m,"fontIdx");f++}g++}}}};e.prototype.fillFontStyles=function(b,a,d){b=
-c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(b);for(var g=0;g<b.length;g++){var p=b[g];0<d.push(c.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(p,"style"));p=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectFirstChildElement(p);null!=p&&0<a.push(c.mxgraph.io.vsdx.theme.OoxmlColorFactory.getOoxmlColor(c.mxgraph.io.vsdx.mxVsdxUtils.getDirectFirstChildElement(p)))}};e.prototype.processFormats=function(b){b=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(b);for(var a=
-0;a<b.length;a++){var d=b[a];switch(d.nodeName){case "a:fillStyleLst":for(var d=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(d),g=0;g<d.length;g++)0<this.fillStyles.push(c.mxgraph.io.vsdx.theme.FillStyleFactory.getFillStyle(d[g]));break;case "a:lnStyleLst":for(d=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(d),g=0;g<d.length;g++)0<this.lineStyles.push(new c.mxgraph.io.vsdx.theme.LineStyle(d[g]))}}};e.prototype.processFonts=function(b){};e.prototype.processColors=function(b){for(b=b.firstChild;null!=
-b;){if(null!=b&&1==b.nodeType){var a=b,d=a.nodeName,a=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(a),g;g=(g=d)&&g.equals?g.equals("a:extLst"):"a:extLst"===g;g?3===a.length&&(0>this.themeIndex&&this.extractThemeIndex(a[0]),this.addBkgndColor(a[1]),this.addVariantColors(a[2])):(d=d.substring(2),0<a.length&&this.addBasicColor(d,a[0]))}b=b.nextSibling}};e.prototype.addVariantColors=function(b){b=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectFirstChildElement(b);if(null!=b){b=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(b);
-for(var a=0,d=0;d<b.length;d++){var g=b[d];this.addVariantColorsSet(a++,g)}}};e.prototype.addVariantColorsSet=function(b,a){var d=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(a);this.isMonotoneVariant[b]=a.hasAttribute("monotone");for(var g=0;g<d.length;g++){var p=d[g];switch(p.nodeName){case "vt:varColor1":this.variantsColors[b][0]=c.mxgraph.io.vsdx.theme.OoxmlColorFactory.getOoxmlColor(c.mxgraph.io.vsdx.mxVsdxUtils.getDirectFirstChildElement(p));break;case "vt:varColor2":this.variantsColors[b][1]=
+55;e.themesIds_$LI$().Pen=56;e.themesIds_$LI$().Marker=57;e.themesIds_$LI$().Whiteboard=58};e.colorIds_$LI$=function(){e.__static_initialize();null==e.colorIds&&(e.colorIds={});return e.colorIds};e.__static_initializer_1=function(){(function(b,a,d){null==b.entries&&(b.entries=[]);for(var h=0;h<b.entries.length;h++)if(null!=b.entries[h].key.equals&&b.entries[h].key.equals(a)||b.entries[h].key===a){b.entries[h].value=d;return}b.entries.push({key:a,value:d,getKey:function(){return this.key},getValue:function(){return this.value}})})(e.colorIds_$LI$(),
+0,"dk1");(function(b,a,d){null==b.entries&&(b.entries=[]);for(var h=0;h<b.entries.length;h++)if(null!=b.entries[h].key.equals&&b.entries[h].key.equals(a)||b.entries[h].key===a){b.entries[h].value=d;return}b.entries.push({key:a,value:d,getKey:function(){return this.key},getValue:function(){return this.value}})})(e.colorIds_$LI$(),1,"lt1");(function(b,a,d){null==b.entries&&(b.entries=[]);for(var h=0;h<b.entries.length;h++)if(null!=b.entries[h].key.equals&&b.entries[h].key.equals(a)||b.entries[h].key===
+a){b.entries[h].value=d;return}b.entries.push({key:a,value:d,getKey:function(){return this.key},getValue:function(){return this.value}})})(e.colorIds_$LI$(),2,"accent1");(function(b,a,d){null==b.entries&&(b.entries=[]);for(var h=0;h<b.entries.length;h++)if(null!=b.entries[h].key.equals&&b.entries[h].key.equals(a)||b.entries[h].key===a){b.entries[h].value=d;return}b.entries.push({key:a,value:d,getKey:function(){return this.key},getValue:function(){return this.value}})})(e.colorIds_$LI$(),3,"accent2");
+(function(b,a,d){null==b.entries&&(b.entries=[]);for(var h=0;h<b.entries.length;h++)if(null!=b.entries[h].key.equals&&b.entries[h].key.equals(a)||b.entries[h].key===a){b.entries[h].value=d;return}b.entries.push({key:a,value:d,getKey:function(){return this.key},getValue:function(){return this.value}})})(e.colorIds_$LI$(),4,"accent3");(function(b,a,d){null==b.entries&&(b.entries=[]);for(var h=0;h<b.entries.length;h++)if(null!=b.entries[h].key.equals&&b.entries[h].key.equals(a)||b.entries[h].key===a){b.entries[h].value=
+d;return}b.entries.push({key:a,value:d,getKey:function(){return this.key},getValue:function(){return this.value}})})(e.colorIds_$LI$(),5,"accent4");(function(b,a,d){null==b.entries&&(b.entries=[]);for(var h=0;h<b.entries.length;h++)if(null!=b.entries[h].key.equals&&b.entries[h].key.equals(a)||b.entries[h].key===a){b.entries[h].value=d;return}b.entries.push({key:a,value:d,getKey:function(){return this.key},getValue:function(){return this.value}})})(e.colorIds_$LI$(),6,"accent5");(function(b,a,d){null==
+b.entries&&(b.entries=[]);for(var h=0;h<b.entries.length;h++)if(null!=b.entries[h].key.equals&&b.entries[h].key.equals(a)||b.entries[h].key===a){b.entries[h].value=d;return}b.entries.push({key:a,value:d,getKey:function(){return this.key},getValue:function(){return this.value}})})(e.colorIds_$LI$(),7,"accent6")};e.prototype.getThemeIndex=function(){return this.themeIndex};e.prototype.setVariant=function(b){this.themeVariant=b};e.prototype.isPure=function(){return this.__isPure};e.prototype.processTheme=
+function(){if(!this.isProcessed){try{for(var b=this.theme.firstChild;null!=b;){if(null!=b&&1==b.nodeType&&function(a,b){return a&&a.equals?a.equals(b):a===b}(b.nodeName,"a:themeElements"))for(var a=b.firstChild;null!=a;){if(null!=a&&1==a.nodeType){var d=a,h=d.nodeName;(function(a,b){return a&&a.equals?a.equals(b):a===b})(h,"a:clrScheme")?(function(a,b){return a&&a.equals?a.equals(b):a===b}(this.name,d.getAttribute("name"))||(this.__isPure=!1),this.processColors(d)):function(a,b){return a&&a.equals?
+a.equals(b):a===b}(h,"a:fontScheme")?(function(a,b){return a&&a.equals?a.equals(b):a===b}(this.name,d.getAttribute("name"))||(this.__isPure=!1),this.processFonts(d)):function(a,b){return a&&a.equals?a.equals(b):a===b}(h,"a:fmtScheme")?(function(a,b){return a&&a.equals?a.equals(b):a===b}(this.name,d.getAttribute("name"))||(this.__isPure=!1),this.processFormats(d)):function(a,b){return a&&a.equals?a.equals(b):a===b}(h,"a:extLst")&&this.processExtras(d)}a=a.nextSibling}b=b.nextSibling}}catch(p){console.error(p.message,
+p)}this.isProcessed=!0}};e.prototype.processExtras=function(b){b=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(b);for(var a=0;a<b.length;a++){var d=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectFirstChildElement(b[a]);switch(d.nodeName){case "vt:fmtConnectorScheme":var h;h=this.name;var p=d.getAttribute("name");h=h&&h.equals?h.equals(p):h===p;h||(this.__isPure=!1);d=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(d);for(h=0;h<d.length;h++)switch(p=d[h],p.nodeName){case "a:fillStyleLst":for(var p=
+c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(p),e=0;e<p.length;e++)0<this.connFillStyles.push(c.mxgraph.io.vsdx.theme.FillStyleFactory.getFillStyle(p[e]));break;case "a:lnStyleLst":for(p=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(p),e=0;e<p.length;e++)0<this.connLineStyles.push(new c.mxgraph.io.vsdx.theme.LineStyle(p[e]))}break;case "vt:lineStyles":d=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(d);for(h=0;h<d.length;h++)switch(p=d[h],p.nodeName){case "vt:fmtConnectorSchemeLineStyles":p=
+c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(p);for(e=0;e<p.length;e++)0<this.connLineStylesExt.push(new c.mxgraph.io.vsdx.theme.LineStyleExt(p[e]));break;case "vt:fmtSchemeLineStyles":for(p=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(p),e=0;e<p.length;e++)0<this.lineStylesExt.push(new c.mxgraph.io.vsdx.theme.LineStyleExt(p[e]))}break;case "vt:fontStylesGroup":d=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(d);for(h=0;h<d.length;h++)switch(p=d[h],p.nodeName){case "vt:connectorFontStyles":this.fillFontStyles(p,
+this.connFontColors,this.connFontStyles);break;case "vt:fontStyles":this.fillFontStyles(p,this.fontColors,this.fontStyles)}break;case "vt:variationStyleSchemeLst":for(d=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(d),p=h=0;p<d.length;p++){e=d[p];this.variantEmbellishment[h]=c.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(e,"embellishment");for(var e=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(e),f=0,k=0;k<e.length;k++){var m=e[k];this.variantFillIdx[h][f]=
+c.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(m,"fillIdx");this.variantLineIdx[h][f]=c.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(m,"lineIdx");this.variantEffectIdx[h][f]=c.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(m,"effectIdx");this.variantFontIdx[h][f]=c.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(m,"fontIdx");f++}h++}}}};e.prototype.fillFontStyles=function(b,a,d){b=
+c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(b);for(var h=0;h<b.length;h++){var p=b[h];0<d.push(c.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(p,"style"));p=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectFirstChildElement(p);null!=p&&0<a.push(c.mxgraph.io.vsdx.theme.OoxmlColorFactory.getOoxmlColor(c.mxgraph.io.vsdx.mxVsdxUtils.getDirectFirstChildElement(p)))}};e.prototype.processFormats=function(b){b=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(b);for(var a=
+0;a<b.length;a++){var d=b[a];switch(d.nodeName){case "a:fillStyleLst":for(var d=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(d),h=0;h<d.length;h++)0<this.fillStyles.push(c.mxgraph.io.vsdx.theme.FillStyleFactory.getFillStyle(d[h]));break;case "a:lnStyleLst":for(d=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(d),h=0;h<d.length;h++)0<this.lineStyles.push(new c.mxgraph.io.vsdx.theme.LineStyle(d[h]))}}};e.prototype.processFonts=function(b){};e.prototype.processColors=function(b){for(b=b.firstChild;null!=
+b;){if(null!=b&&1==b.nodeType){var a=b,d=a.nodeName,a=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(a),h;h=(h=d)&&h.equals?h.equals("a:extLst"):"a:extLst"===h;h?3===a.length&&(0>this.themeIndex&&this.extractThemeIndex(a[0]),this.addBkgndColor(a[1]),this.addVariantColors(a[2])):(d=d.substring(2),0<a.length&&this.addBasicColor(d,a[0]))}b=b.nextSibling}};e.prototype.addVariantColors=function(b){b=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectFirstChildElement(b);if(null!=b){b=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(b);
+for(var a=0,d=0;d<b.length;d++){var h=b[d];this.addVariantColorsSet(a++,h)}}};e.prototype.addVariantColorsSet=function(b,a){var d=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(a);this.isMonotoneVariant[b]=a.hasAttribute("monotone");for(var h=0;h<d.length;h++){var p=d[h];switch(p.nodeName){case "vt:varColor1":this.variantsColors[b][0]=c.mxgraph.io.vsdx.theme.OoxmlColorFactory.getOoxmlColor(c.mxgraph.io.vsdx.mxVsdxUtils.getDirectFirstChildElement(p));break;case "vt:varColor2":this.variantsColors[b][1]=
 c.mxgraph.io.vsdx.theme.OoxmlColorFactory.getOoxmlColor(c.mxgraph.io.vsdx.mxVsdxUtils.getDirectFirstChildElement(p));break;case "vt:varColor3":this.variantsColors[b][2]=c.mxgraph.io.vsdx.theme.OoxmlColorFactory.getOoxmlColor(c.mxgraph.io.vsdx.mxVsdxUtils.getDirectFirstChildElement(p));break;case "vt:varColor4":this.variantsColors[b][3]=c.mxgraph.io.vsdx.theme.OoxmlColorFactory.getOoxmlColor(c.mxgraph.io.vsdx.mxVsdxUtils.getDirectFirstChildElement(p));break;case "vt:varColor5":this.variantsColors[b][4]=
 c.mxgraph.io.vsdx.theme.OoxmlColorFactory.getOoxmlColor(c.mxgraph.io.vsdx.mxVsdxUtils.getDirectFirstChildElement(p));break;case "vt:varColor6":this.variantsColors[b][5]=c.mxgraph.io.vsdx.theme.OoxmlColorFactory.getOoxmlColor(c.mxgraph.io.vsdx.mxVsdxUtils.getDirectFirstChildElement(p));break;case "vt:varColor7":this.variantsColors[b][6]=c.mxgraph.io.vsdx.theme.OoxmlColorFactory.getOoxmlColor(c.mxgraph.io.vsdx.mxVsdxUtils.getDirectFirstChildElement(p))}}};e.prototype.addBkgndColor=function(b){b=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectFirstChildElement(b);
 null!=b&&(this.bkgndColor=c.mxgraph.io.vsdx.theme.OoxmlColorFactory.getOoxmlColor(c.mxgraph.io.vsdx.mxVsdxUtils.getDirectFirstChildElement(b)))};e.prototype.extractThemeIndex=function(b){b=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectFirstChildElement(b);null!=b&&(this.themeIndex=parseInt(b.getAttribute("schemeEnum")))};e.prototype.addBasicColor=function(b,a){this.baseColors[b]=c.mxgraph.io.vsdx.theme.OoxmlColorFactory.getOoxmlColor(a)};e.prototype.getSchemeColor=function(b){this.processTheme();var a=this.baseColors;
 b=a[b]?a[b]:null;return null!=b?b.getColor$com_mxgraph_io_vsdx_mxVsdxTheme(this):this.defaultClr};e.prototype.getStyleColor=function(b){this.processTheme();if(8>b){var a=function(a,b){return a[b]?a[b]:null}(this.baseColors,function(a,b){null==a.entries&&(a.entries=[]);for(var d=0;d<a.entries.length;d++)if(null!=a.entries[d].key.equals&&a.entries[d].key.equals(b)||a.entries[d].key===b)return a.entries[d].value;return null}(e.colorIds_$LI$(),b));if(null!=a)return a.getColor$com_mxgraph_io_vsdx_mxVsdxTheme(this)}else if(8===
 b){if(null!=this.bkgndColor)return this.bkgndColor.getColor$com_mxgraph_io_vsdx_mxVsdxTheme(this)}else{var a=null,d=0;200<=b?d=b-200:100<=b&&(d=b-100);0<=d&&6>=d&&(a=this.variantsColors[this.themeVariant][d]);if(null!=a)return a.getColor$com_mxgraph_io_vsdx_mxVsdxTheme(this)}return this.defaultClr};e.prototype.getFillGraientColor=function(b){return this.getFillColor$com_mxgraph_io_vsdx_theme_QuickStyleVals$boolean(b,!0)};e.prototype.getFillColor$com_mxgraph_io_vsdx_theme_QuickStyleVals=function(b){return this.getFillColor$com_mxgraph_io_vsdx_theme_QuickStyleVals$boolean(b,
-!1)};e.prototype.getFillColor$com_mxgraph_io_vsdx_theme_QuickStyleVals$boolean=function(b,a){this.processTheme();var d=b.getQuickStyleFillColor(),g=null;switch(b.getQuickStyleFillMatrix()){case 1:case 2:case 3:case 4:case 5:case 6:g=this.fillStyles[b.getQuickStyleFillMatrix()-1];break;case 100:case 101:case 102:case 103:this.isMonotoneVariant[this.themeVariant]&&(d=100),g=b.getQuickStyleFillMatrix()-100,g=this.fillStyles[this.variantFillIdx[this.themeVariant][g]-1]}d=null!=g?a?null!=g&&g instanceof
-c.mxgraph.io.vsdx.theme.GradFill?g.applyStyle(d,this).getGradientClr():null:g.applyStyle(d,this):a?null:this.getStyleColor(d);g=b.getQuickStyleVariation();if(null!=d&&0<(g&8)){var g=this.getStyleColor(8).toHsl(),p=this.getLineColor$com_mxgraph_io_vsdx_theme_QuickStyleVals(b),e=p.toHsl(),f=d.toHsl();.1666<=Math.abs(g.getLum()-f.getLum())||(.7292>=g.getLum()?d=new c.mxgraph.io.vsdx.theme.Color(255,255,255):Math.abs(g.getLum()-e.getLum())>Math.abs(g.getLum()-f.getLum())&&(d=p))}return d};e.prototype.getFillColor=
+!1)};e.prototype.getFillColor$com_mxgraph_io_vsdx_theme_QuickStyleVals$boolean=function(b,a){this.processTheme();var d=b.getQuickStyleFillColor(),h=null;switch(b.getQuickStyleFillMatrix()){case 1:case 2:case 3:case 4:case 5:case 6:h=this.fillStyles[b.getQuickStyleFillMatrix()-1];break;case 100:case 101:case 102:case 103:this.isMonotoneVariant[this.themeVariant]&&(d=100),h=b.getQuickStyleFillMatrix()-100,h=this.fillStyles[this.variantFillIdx[this.themeVariant][h]-1]}d=null!=h?a?null!=h&&h instanceof
+c.mxgraph.io.vsdx.theme.GradFill?h.applyStyle(d,this).getGradientClr():null:h.applyStyle(d,this):a?null:this.getStyleColor(d);h=b.getQuickStyleVariation();if(null!=d&&0<(h&8)){var h=this.getStyleColor(8).toHsl(),p=this.getLineColor$com_mxgraph_io_vsdx_theme_QuickStyleVals(b),e=p.toHsl(),f=d.toHsl();.1666<=Math.abs(h.getLum()-f.getLum())||(.7292>=h.getLum()?d=new c.mxgraph.io.vsdx.theme.Color(255,255,255):Math.abs(h.getLum()-e.getLum())>Math.abs(h.getLum()-f.getLum())&&(d=p))}return d};e.prototype.getFillColor=
 function(b,a){if(!(null!=b&&b instanceof c.mxgraph.io.vsdx.theme.QuickStyleVals||null===b)||"boolean"!==typeof a&&null!==a){if((null!=b&&b instanceof c.mxgraph.io.vsdx.theme.QuickStyleVals||null===b)&&void 0===a)return this.getFillColor$com_mxgraph_io_vsdx_theme_QuickStyleVals(b);throw Error("invalid overload");}return this.getFillColor$com_mxgraph_io_vsdx_theme_QuickStyleVals$boolean(b,a)};e.prototype.getLineStyle=function(b,a){this.processTheme();var d=null;switch(b){case 1:case 2:case 3:case 4:case 5:case 6:d=
-a[b-1];break;case 100:case 101:case 102:case 103:d=a===this.lineStyles?this.lineStyles[this.variantLineIdx[this.themeVariant][b-100]-1]:this.defaultLineStyle}return d};e.prototype.getLineStyleExt=function(b,a){this.processTheme();var d=null;switch(b){case 0:case 1:case 2:case 3:case 4:case 5:case 6:d=a[b]}return d};e.prototype.getLineColor$com_mxgraph_io_vsdx_theme_QuickStyleVals$java_util_ArrayList=function(b,a){this.processTheme();var d=b.getQuickStyleLineColor(),g=this.getLineStyle(b.getQuickStyleLineMatrix(),
-a);switch(b.getQuickStyleLineMatrix()){case 100:case 101:case 102:case 103:this.isMonotoneVariant[this.themeVariant]&&(d=100)}d=null!=g?g.getLineColor(d,this):this.getStyleColor(d);if(0<(b.getQuickStyleVariation()&4)){var g=this.getStyleColor(8).toHsl(),p=this.getFillColor$com_mxgraph_io_vsdx_theme_QuickStyleVals(b),e=p.toHsl(),f=d.toHsl();.1666<=Math.abs(g.getLum()-f.getLum())||(.7292>=g.getLum()?d=new c.mxgraph.io.vsdx.theme.Color(255,255,255):Math.abs(g.getLum()-e.getLum())>Math.abs(g.getLum()-
+a[b-1];break;case 100:case 101:case 102:case 103:d=a===this.lineStyles?this.lineStyles[this.variantLineIdx[this.themeVariant][b-100]-1]:this.defaultLineStyle}return d};e.prototype.getLineStyleExt=function(b,a){this.processTheme();var d=null;switch(b){case 0:case 1:case 2:case 3:case 4:case 5:case 6:d=a[b]}return d};e.prototype.getLineColor$com_mxgraph_io_vsdx_theme_QuickStyleVals$java_util_ArrayList=function(b,a){this.processTheme();var d=b.getQuickStyleLineColor(),h=this.getLineStyle(b.getQuickStyleLineMatrix(),
+a);switch(b.getQuickStyleLineMatrix()){case 100:case 101:case 102:case 103:this.isMonotoneVariant[this.themeVariant]&&(d=100)}d=null!=h?h.getLineColor(d,this):this.getStyleColor(d);if(0<(b.getQuickStyleVariation()&4)){var h=this.getStyleColor(8).toHsl(),p=this.getFillColor$com_mxgraph_io_vsdx_theme_QuickStyleVals(b),e=p.toHsl(),f=d.toHsl();.1666<=Math.abs(h.getLum()-f.getLum())||(.7292>=h.getLum()?d=new c.mxgraph.io.vsdx.theme.Color(255,255,255):Math.abs(h.getLum()-e.getLum())>Math.abs(h.getLum()-
 f.getLum())&&(d=p))}return d};e.prototype.getLineColor=function(b,a){if((null!=b&&b instanceof c.mxgraph.io.vsdx.theme.QuickStyleVals||null===b)&&(null!=a&&a instanceof Array||null===a))return this.getLineColor$com_mxgraph_io_vsdx_theme_QuickStyleVals$java_util_ArrayList(b,a);if((null!=b&&b instanceof c.mxgraph.io.vsdx.theme.QuickStyleVals||null===b)&&void 0===a)return this.getLineColor$com_mxgraph_io_vsdx_theme_QuickStyleVals(b);throw Error("invalid overload");};e.prototype.getLineColor$com_mxgraph_io_vsdx_theme_QuickStyleVals=
 function(b){return this.getLineColor$com_mxgraph_io_vsdx_theme_QuickStyleVals$java_util_ArrayList(b,this.lineStyles)};e.prototype.getConnLineColor=function(b){return this.getLineColor$com_mxgraph_io_vsdx_theme_QuickStyleVals$java_util_ArrayList(b,this.connLineStyles)};e.prototype.getDefaultLineClr=function(){return this.defaultLineClr};e.prototype.isLineDashed$com_mxgraph_io_vsdx_theme_QuickStyleVals$java_util_ArrayList$java_util_ArrayList=function(b,a,d){a=this.getLineStyleExt(b.getQuickStyleLineMatrix(),
 a);if(null!=a)return a.isDashed();b=this.getLineStyle(b.getQuickStyleLineMatrix(),d);return null!=b?b.isDashed():!1};e.prototype.isLineDashed=function(b,a,d){if((null!=b&&b instanceof c.mxgraph.io.vsdx.theme.QuickStyleVals||null===b)&&(null!=a&&a instanceof Array||null===a)&&(null!=d&&d instanceof Array||null===d))return this.isLineDashed$com_mxgraph_io_vsdx_theme_QuickStyleVals$java_util_ArrayList$java_util_ArrayList(b,a,d);if((null!=b&&b instanceof c.mxgraph.io.vsdx.theme.QuickStyleVals||null===
 b)&&void 0===a&&void 0===d)return this.isLineDashed$com_mxgraph_io_vsdx_theme_QuickStyleVals(b);throw Error("invalid overload");};e.prototype.isLineDashed$com_mxgraph_io_vsdx_theme_QuickStyleVals=function(b){return this.isLineDashed$com_mxgraph_io_vsdx_theme_QuickStyleVals$java_util_ArrayList$java_util_ArrayList(b,this.lineStylesExt,this.lineStyles)};e.prototype.isConnLineDashed=function(b){return this.isLineDashed$com_mxgraph_io_vsdx_theme_QuickStyleVals$java_util_ArrayList$java_util_ArrayList(b,
 this.connLineStylesExt,this.connLineStyles)};e.prototype.getLineDashPattern$com_mxgraph_io_vsdx_theme_QuickStyleVals$java_util_ArrayList$java_util_ArrayList=function(b,a,d){a=this.getLineStyleExt(b.getQuickStyleLineMatrix(),a);if(null!=a)return a.getLineDashPattern();b=this.getLineStyle(b.getQuickStyleLineMatrix(),d);return null!=b?b.getLineDashPattern():null};e.prototype.getLineDashPattern=function(b,a,d){if((null!=b&&b instanceof c.mxgraph.io.vsdx.theme.QuickStyleVals||null===b)&&(null!=a&&a instanceof
 Array||null===a)&&(null!=d&&d instanceof Array||null===d))return this.getLineDashPattern$com_mxgraph_io_vsdx_theme_QuickStyleVals$java_util_ArrayList$java_util_ArrayList(b,a,d);if((null!=b&&b instanceof c.mxgraph.io.vsdx.theme.QuickStyleVals||null===b)&&void 0===a&&void 0===d)return this.getLineDashPattern$com_mxgraph_io_vsdx_theme_QuickStyleVals(b);throw Error("invalid overload");};e.prototype.getLineDashPattern$com_mxgraph_io_vsdx_theme_QuickStyleVals=function(b){return this.getLineDashPattern$com_mxgraph_io_vsdx_theme_QuickStyleVals$java_util_ArrayList$java_util_ArrayList(b,
-this.lineStylesExt,this.lineStyles)};e.prototype.getConnLineDashPattern=function(b){return this.getLineDashPattern$com_mxgraph_io_vsdx_theme_QuickStyleVals$java_util_ArrayList$java_util_ArrayList(b,this.connLineStylesExt,this.connLineStyles)};e.prototype.getArrowSize=function(b,a,d,g){d=this.getLineStyleExt(b.getQuickStyleLineMatrix(),d);if(null!=d)return a?d.getStartSize():d.getEndSize();b=this.getLineStyle(b.getQuickStyleLineMatrix(),g);return null!=b?a?b.getStartSize():b.getEndSize():4};e.prototype.getStartSize=
+this.lineStylesExt,this.lineStyles)};e.prototype.getConnLineDashPattern=function(b){return this.getLineDashPattern$com_mxgraph_io_vsdx_theme_QuickStyleVals$java_util_ArrayList$java_util_ArrayList(b,this.connLineStylesExt,this.connLineStyles)};e.prototype.getArrowSize=function(b,a,d,h){d=this.getLineStyleExt(b.getQuickStyleLineMatrix(),d);if(null!=d)return a?d.getStartSize():d.getEndSize();b=this.getLineStyle(b.getQuickStyleLineMatrix(),h);return null!=b?a?b.getStartSize():b.getEndSize():4};e.prototype.getStartSize=
 function(b){return this.getArrowSize(b,!0,this.lineStylesExt,this.lineStyles)};e.prototype.getConnStartSize=function(b){return this.getArrowSize(b,!0,this.connLineStylesExt,this.connLineStyles)};e.prototype.getEndSize=function(b){return this.getArrowSize(b,!1,this.lineStylesExt,this.lineStyles)};e.prototype.getConnEndSize=function(b){return this.getArrowSize(b,!1,this.connLineStylesExt,this.connLineStyles)};e.prototype.getFontColor$com_mxgraph_io_vsdx_theme_QuickStyleVals$java_util_ArrayList=function(b,
-a){this.processTheme();var d=b.getQuickStyleFontColor(),g=null;switch(b.getQuickStyleFontMatrix()){case 1:case 2:case 3:case 4:case 5:case 6:g=a[b.getQuickStyleFontMatrix()-1];break;case 100:case 101:case 102:case 103:this.isMonotoneVariant[this.themeVariant]&&(d=100),g=b.getQuickStyleFontMatrix()-100,a!==this.fontColors?(g=this.baseColors,g=g.dk1?g.dk1:null):g=a[this.variantFontIdx[this.themeVariant][g]-1]}d=null!=g?g.getColor$int$com_mxgraph_io_vsdx_mxVsdxTheme(d,this):this.getStyleColor(d);if(0<
-(b.getQuickStyleVariation()&2)){var p=this.getStyleColor(8).toHsl(),e=d.toHsl(),g=this.getFillColor$com_mxgraph_io_vsdx_theme_QuickStyleVals(b),f=g.toHsl(),k=this.getLineColor$com_mxgraph_io_vsdx_theme_QuickStyleVals(b),m=k.toHsl();.1666<=Math.abs(p.getLum()-e.getLum())||(.7292>=p.getLum()?d=new c.mxgraph.io.vsdx.theme.Color(255,255,255):(m=Math.abs(p.getLum()-m.getLum()),f=Math.abs(p.getLum()-f.getLum()),p=Math.abs(p.getLum()-e.getLum()),p=Math.max(m,f,p),p==m?d=k:p==f&&(d=g)))}return d};e.prototype.getFontColor=
+a){this.processTheme();var d=b.getQuickStyleFontColor(),h=null;switch(b.getQuickStyleFontMatrix()){case 1:case 2:case 3:case 4:case 5:case 6:h=a[b.getQuickStyleFontMatrix()-1];break;case 100:case 101:case 102:case 103:this.isMonotoneVariant[this.themeVariant]&&(d=100),h=b.getQuickStyleFontMatrix()-100,a!==this.fontColors?(h=this.baseColors,h=h.dk1?h.dk1:null):h=a[this.variantFontIdx[this.themeVariant][h]-1]}d=null!=h?h.getColor$int$com_mxgraph_io_vsdx_mxVsdxTheme(d,this):this.getStyleColor(d);if(0<
+(b.getQuickStyleVariation()&2)){var p=this.getStyleColor(8).toHsl(),e=d.toHsl(),h=this.getFillColor$com_mxgraph_io_vsdx_theme_QuickStyleVals(b),f=h.toHsl(),k=this.getLineColor$com_mxgraph_io_vsdx_theme_QuickStyleVals(b),m=k.toHsl();.1666<=Math.abs(p.getLum()-e.getLum())||(.7292>=p.getLum()?d=new c.mxgraph.io.vsdx.theme.Color(255,255,255):(m=Math.abs(p.getLum()-m.getLum()),f=Math.abs(p.getLum()-f.getLum()),p=Math.abs(p.getLum()-e.getLum()),p=Math.max(m,f,p),p==m?d=k:p==f&&(d=h)))}return d};e.prototype.getFontColor=
 function(b,a){if((null!=b&&b instanceof c.mxgraph.io.vsdx.theme.QuickStyleVals||null===b)&&(null!=a&&a instanceof Array||null===a))return this.getFontColor$com_mxgraph_io_vsdx_theme_QuickStyleVals$java_util_ArrayList(b,a);if((null!=b&&b instanceof c.mxgraph.io.vsdx.theme.QuickStyleVals||null===b)&&void 0===a)return this.getFontColor$com_mxgraph_io_vsdx_theme_QuickStyleVals(b);throw Error("invalid overload");};e.prototype.getFontColor$com_mxgraph_io_vsdx_theme_QuickStyleVals=function(b){return this.getFontColor$com_mxgraph_io_vsdx_theme_QuickStyleVals$java_util_ArrayList(b,
-this.fontColors)};e.prototype.getConnFontColor=function(b){return this.getFontColor$com_mxgraph_io_vsdx_theme_QuickStyleVals$java_util_ArrayList(b,this.connFontColors)};e.prototype.getArrowType=function(b,a,d,g){d=this.getLineStyleExt(b.getQuickStyleLineMatrix(),d);if(null!=d)return a?d.getStart():d.getEnd();b=this.getLineStyle(b.getQuickStyleLineMatrix(),g);return null!=b?a?b.getStart():b.getEnd():0};e.prototype.getEdgeMarker=function(b,a){return this.getArrowType(a,b,this.lineStylesExt,this.lineStyles)};
+this.fontColors)};e.prototype.getConnFontColor=function(b){return this.getFontColor$com_mxgraph_io_vsdx_theme_QuickStyleVals$java_util_ArrayList(b,this.connFontColors)};e.prototype.getArrowType=function(b,a,d,h){d=this.getLineStyleExt(b.getQuickStyleLineMatrix(),d);if(null!=d)return a?d.getStart():d.getEnd();b=this.getLineStyle(b.getQuickStyleLineMatrix(),h);return null!=b?a?b.getStart():b.getEnd():0};e.prototype.getEdgeMarker=function(b,a){return this.getArrowType(a,b,this.lineStylesExt,this.lineStyles)};
 e.prototype.getConnEdgeMarker=function(b,a){return this.getArrowType(a,b,this.connLineStylesExt,this.connLineStyles)};e.prototype.getLineWidth$com_mxgraph_io_vsdx_theme_QuickStyleVals$java_util_ArrayList=function(b,a){var d=this.getLineStyle(b.getQuickStyleLineMatrix(),a);return null!=d?d.getLineWidth():0};e.prototype.getLineWidth=function(b,a){if((null!=b&&b instanceof c.mxgraph.io.vsdx.theme.QuickStyleVals||null===b)&&(null!=a&&a instanceof Array||null===a))return this.getLineWidth$com_mxgraph_io_vsdx_theme_QuickStyleVals$java_util_ArrayList(b,
 a);if((null!=b&&b instanceof c.mxgraph.io.vsdx.theme.QuickStyleVals||null===b)&&void 0===a)return this.getLineWidth$com_mxgraph_io_vsdx_theme_QuickStyleVals(b);throw Error("invalid overload");};e.prototype.getLineWidth$com_mxgraph_io_vsdx_theme_QuickStyleVals=function(b){return this.getLineWidth$com_mxgraph_io_vsdx_theme_QuickStyleVals$java_util_ArrayList(b,this.lineStyles)};e.prototype.getConnLineWidth=function(b){return this.getLineWidth$com_mxgraph_io_vsdx_theme_QuickStyleVals$java_util_ArrayList(b,
 this.connLineStyles)};return e}();f.__static_initialized=!1;k.mxVsdxTheme=f;f.__class="com.mxgraph.io.vsdx.mxVsdxTheme"})(m.vsdx||(m.vsdx={}))})(n.io||(n.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
-(function(c){(function(n){(function(m){(function(k){var f=function(){function e(){}e.conversionFactor_$LI$=function(){null==e.conversionFactor&&(e.conversionFactor=e.screenCoordinatesPerCm*e.CENTIMETERS_PER_INCHES);return e.conversionFactor};e.getDirectChildNamedElements=function(b,a){for(var d=[],g=b.firstChild;null!=g;g=g.nextSibling){var c;if(c=null!=g&&1==g.nodeType){c=a;var e=g.nodeName;c=c&&c.equals?c.equals(e):c===e}c&&0<d.push(g)}return d};e.getDirectChildElements=function(b){var a=[];for(b=
-b.firstChild;null!=b;b=b.nextSibling)null!=b&&1==b.nodeType&&0<a.push(b);return a};e.getDirectFirstChildElement=function(b){for(b=b.firstChild;null!=b;b=b.nextSibling)if(null!=b&&1==b.nodeType)return b;return null};e.getIntAttr$org_w3c_dom_Element$java_lang_String$int=function(b,a,d){try{var g=b.getAttribute(a);if(null!=g)return parseInt(g)}catch(p){}return d};e.getIntAttr=function(b,a,d){if((null==b||1!=b.nodeType)&&null!==b||"string"!==typeof a&&null!==a||"number"!==typeof d&&null!==d){if((null==
-b||1!=b.nodeType)&&null!==b||"string"!==typeof a&&null!==a||void 0!==d)throw Error("invalid overload");return c.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(b,a)}return c.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String$int(b,a,d)};e.getIntAttr$org_w3c_dom_Element$java_lang_String=function(b,a){return e.getIntAttr$org_w3c_dom_Element$java_lang_String$int(b,a,0)};e.getStyleString=function(b,a){for(var d="",g=function(a){var b=0;return{next:function(){return b<
-a.length?a[b++]:null},hasNext:function(){return b<a.length}}}(function(a){return Object.keys(a).map(function(b){return a[b]})}(b)),c=function(a){var b=0;return{next:function(){return b<a.length?a[b++]:null},hasNext:function(){return b<a.length}}}(Object.keys(b));c.hasNext();){var e=c.next(),f=g.next();if(!function(a,b){return a&&a.equals?a.equals(b):a===b}(e,mxConstants.STYLE_SHAPE)||!function(a,b,d){void 0===d&&(d=0);return a.substr(d,b.length)===b}(b[e]?b[e]:null,"image")&&!function(a,b,d){void 0===
+(function(c){(function(n){(function(m){(function(k){var f=function(){function e(){}e.conversionFactor_$LI$=function(){null==e.conversionFactor&&(e.conversionFactor=e.screenCoordinatesPerCm*e.CENTIMETERS_PER_INCHES);return e.conversionFactor};e.getDirectChildNamedElements=function(b,a){for(var d=[],h=b.firstChild;null!=h;h=h.nextSibling){var c;if(c=null!=h&&1==h.nodeType){c=a;var e=h.nodeName;c=c&&c.equals?c.equals(e):c===e}c&&0<d.push(h)}return d};e.getDirectChildElements=function(b){var a=[];for(b=
+b.firstChild;null!=b;b=b.nextSibling)null!=b&&1==b.nodeType&&0<a.push(b);return a};e.getDirectFirstChildElement=function(b){for(b=b.firstChild;null!=b;b=b.nextSibling)if(null!=b&&1==b.nodeType)return b;return null};e.getIntAttr$org_w3c_dom_Element$java_lang_String$int=function(b,a,d){try{var h=b.getAttribute(a);if(null!=h)return parseInt(h)}catch(p){}return d};e.getIntAttr=function(b,a,d){if((null==b||1!=b.nodeType)&&null!==b||"string"!==typeof a&&null!==a||"number"!==typeof d&&null!==d){if((null==
+b||1!=b.nodeType)&&null!==b||"string"!==typeof a&&null!==a||void 0!==d)throw Error("invalid overload");return c.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(b,a)}return c.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String$int(b,a,d)};e.getIntAttr$org_w3c_dom_Element$java_lang_String=function(b,a){return e.getIntAttr$org_w3c_dom_Element$java_lang_String$int(b,a,0)};e.getStyleString=function(b,a){for(var d="",h=function(a){var b=0;return{next:function(){return b<
+a.length?a[b++]:null},hasNext:function(){return b<a.length}}}(function(a){return Object.keys(a).map(function(b){return a[b]})}(b)),c=function(a){var b=0;return{next:function(){return b<a.length?a[b++]:null},hasNext:function(){return b<a.length}}}(Object.keys(b));c.hasNext();){var e=c.next(),f=h.next();if(!function(a,b){return a&&a.equals?a.equals(b):a===b}(e,mxConstants.STYLE_SHAPE)||!function(a,b,d){void 0===d&&(d=0);return a.substr(d,b.length)===b}(b[e]?b[e]:null,"image")&&!function(a,b,d){void 0===
 d&&(d=0);return a.substr(d,b.length)===b}(b[e]?b[e]:null,"rounded="))try{d=d+e+a}catch(x){console.error("mxVsdxUtils.getStyleString,"+x+",style.length="+d.length+",key.length="+e.length+",asig.length="+a.length)}d=d+f+";"}return d};e.surroundByTags=function(b,a){return"<"+a+">"+b+"</"+a+">"};e.htmlEntities=function(b){return b.replace(RegExp("&","g"),"&amp;").replace(RegExp('"',"g"),"&quot;").replace(RegExp("'","g"),"&prime;").replace(RegExp("<","g"),"&lt;").replace(RegExp(">","g"),"&gt;")};e.toInitialCapital=
-function(b){b=b.split(" ");for(var a="",d=0;d<b.length;d++)var g=b[d],c=g.substring(0,1),g=g.substring(1),c=c.toUpperCase(),a=a+(c+g);return a.substring(0,a.length)};e.toSmallCaps=function(b,a){var d="",g=d;if(a&&a.equals?a.equals(g):a===g)d=b;else for(var g=b.split(""),c=0;c<g.length;c++){var e=g[c];(null==e.charCodeAt?e:e.charCodeAt(0))>=(null=="a".charCodeAt?"a":97)&&(null==e.charCodeAt?e:e.charCodeAt(0))<=(null=="z".charCodeAt?"z":122)?(e=(new String(e)).toString(),e=e.toUpperCase(),d+='<font style="font-size:'+
-parseFloat(a)/1.28+'px">'+e+"</font>"):d+=e}return d};e.getStyleMap=function(b,a){for(var d={},g=b.split(";"),c=0;c<g.length;c++){var e=g[c],f=e.indexOf(a),k=e.substring(0,f),e=e.substring(f+1);d[k]=e}return d};e.isInsideTriangle=function(b,a,d,g,c,e,f,k){c-=d;e-=g;f-=d;k-=g;g=c*k-f*e;d=(b*(e-k)+a*(f-c)+c*k-f*e)/g;f=(b*k-a*f)/g;b=(a*c-b*e)/g;return 0<d&&1>d&&0<f&&1>f&&0<b&&1>b?!0:!1};return e}();f.screenCoordinatesPerCm=40;f.CENTIMETERS_PER_INCHES=2.54;k.mxVsdxUtils=f;f.__class="com.mxgraph.io.vsdx.mxVsdxUtils"})(m.vsdx||
+function(b){b=b.split(" ");for(var a="",d=0;d<b.length;d++)var h=b[d],c=h.substring(0,1),h=h.substring(1),c=c.toUpperCase(),a=a+(c+h);return a.substring(0,a.length)};e.toSmallCaps=function(b,a){var d="",h=d;if(a&&a.equals?a.equals(h):a===h)d=b;else for(var h=b.split(""),c=0;c<h.length;c++){var e=h[c];(null==e.charCodeAt?e:e.charCodeAt(0))>=(null=="a".charCodeAt?"a":97)&&(null==e.charCodeAt?e:e.charCodeAt(0))<=(null=="z".charCodeAt?"z":122)?(e=(new String(e)).toString(),e=e.toUpperCase(),d+='<font style="font-size:'+
+parseFloat(a)/1.28+'px">'+e+"</font>"):d+=e}return d};e.getStyleMap=function(b,a){for(var d={},h=b.split(";"),c=0;c<h.length;c++){var e=h[c],f=e.indexOf(a),k=e.substring(0,f),e=e.substring(f+1);d[k]=e}return d};e.isInsideTriangle=function(b,a,d,h,c,e,f,k){c-=d;e-=h;f-=d;k-=h;h=c*k-f*e;d=(b*(e-k)+a*(f-c)+c*k-f*e)/h;f=(b*k-a*f)/h;b=(a*c-b*e)/h;return 0<d&&1>d&&0<f&&1>f&&0<b&&1>b?!0:!1};return e}();f.screenCoordinatesPerCm=40;f.CENTIMETERS_PER_INCHES=2.54;k.mxVsdxUtils=f;f.__class="com.mxgraph.io.vsdx.mxVsdxUtils"})(m.vsdx||
 (m.vsdx={}))})(n.io||(n.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
-(function(c){(function(c){(function(c){(function(c){var f=function(){function c(b,a,d,g){this.paraIndex=this.fields=this.charIndices=this.values=null;this.values=[];0<this.values.push(b);this.charIndices=[];0<this.charIndices.push(a);this.fields=[];0<this.fields.push(g);this.paraIndex=d}c.prototype.addText=function(b,a,d){0<this.values.push(b);0<this.charIndices.push(a);0<this.fields.push(d)};c.prototype.getParagraphIndex=function(){return this.paraIndex};c.prototype.getValue=function(b){return this.values[b]};
+(function(c){(function(c){(function(c){(function(c){var f=function(){function c(b,a,d,h){this.paraIndex=this.fields=this.charIndices=this.values=null;this.values=[];0<this.values.push(b);this.charIndices=[];0<this.charIndices.push(a);this.fields=[];0<this.fields.push(h);this.paraIndex=d}c.prototype.addText=function(b,a,d){0<this.values.push(b);0<this.charIndices.push(a);0<this.fields.push(d)};c.prototype.getParagraphIndex=function(){return this.paraIndex};c.prototype.getValue=function(b){return this.values[b]};
 c.prototype.numValues=function(){return this.values.length};c.prototype.getChar=function(b){return this.charIndices[b]};c.prototype.getField=function(b){return this.fields[b]};return c}();c.Paragraph=f;f.__class="com.mxgraph.io.vsdx.Paragraph"})(c.vsdx||(c.vsdx={}))})(c.io||(c.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
-(function(c){(function(n){(function(m){(function(k){var f=function(){function e(b){this.elem=b}e.prototype.getIndexedCell=function(b,a){for(var d=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(this.elem,"Row"),g=0;g<d.length;g++){var e=d[g],f=e.getAttribute("IX");if(function(a,b){return a&&a.equals?a.equals(b):a===b}(f,b)||null==b)for(var e=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(e,"Cell"),k=0;k<e.length;k++){var m=e[k],f=m.getAttribute("N");if(function(a,b){return a&&
+(function(c){(function(n){(function(m){(function(k){var f=function(){function e(b){this.elem=b}e.prototype.getIndexedCell=function(b,a){for(var d=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(this.elem,"Row"),h=0;h<d.length;h++){var e=d[h],f=e.getAttribute("IX");if(function(a,b){return a&&a.equals?a.equals(b):a===b}(f,b)||null==b)for(var e=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(e,"Cell"),k=0;k<e.length;k++){var m=e[k],f=m.getAttribute("N");if(function(a,b){return a&&
 a.equals?a.equals(b):a===b}(f,a))return m}}return null};return e}();k.Section=f;f.__class="com.mxgraph.io.vsdx.Section"})(m.vsdx||(m.vsdx={}))})(n.io||(n.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
 (function(c){(function(c){(function(c){(function(c){var f=function(){function c(b,a){this.pageNumber=0;this.pageNumber=b;this.Id=a}c.prototype.getId=function(){return this.Id};c.prototype.getPageNumber=function(){return this.pageNumber};c.prototype.equals=function(b){return null==b||this.constructor!==b.constructor||this.pageNumber!==b.pageNumber||this.Id!==b.Id?!1:!0};c.prototype.hashCode=function(){return 1E5*this.pageNumber+this.Id};return c}();c.ShapePageId=f;f.__class="com.mxgraph.io.vsdx.ShapePageId"})(c.vsdx||
 (c.vsdx={}))})(c.io||(c.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
-(function(c){(function(n){(function(m){(function(k){(function(f){var e=function(){function b(a,b,g){this.blue=this.green=this.red=0;this.gradientClr=null;this.red=a;this.green=b;this.blue=g}b.NONE_$LI$=function(){null==b.NONE&&(b.NONE=new b(-1,-1,-1));return b.NONE};b.prototype.getRed=function(){return this.red};b.prototype.setRed=function(a){this.red=a};b.prototype.getGreen=function(){return this.green};b.prototype.setGreen=function(a){this.green=a};b.prototype.getBlue=function(){return this.blue};
-b.prototype.setBlue=function(a){this.blue=a};b.prototype.toHsl=function(){var a=this.getRed()/255,b=this.getGreen()/255,g=this.getBlue()/255,e=Math.max(a,Math.max(b,g)),f=Math.min(a,Math.min(b,g)),k=(e+f)/2;if(e===f)a=f=0;else var m=e-f,f=.5<k?m/(2-e-f):m/(e+f),a=(e===a?(b-g)/m+(b<g?6:0):e===b?(g-a)/m+2:(a-b)/m+4)/6;return new c.mxgraph.io.vsdx.theme.HSLColor(a,f,k)};b.prototype.toHsv=function(){var a=this.getRed()/255,b=this.getGreen()/255,g=this.getBlue()/255,e=Math.max(a,Math.max(b,g)),f=Math.min(a,
-Math.min(b,g)),k=e-f,a=e===f?0:(e===a?(b-g)/k+(b<g?6:0):e===b?(g-a)/k+2:(a-b)/k+4)/6;return new c.mxgraph.io.vsdx.theme.HSVColor(a,0===e?0:k/e,e)};b.decodeColorHex=function(a){a=parseInt(a,16);return new b(a>>16&255,a>>8&255,a&255)};b.prototype.toHexStr=function(){var a=this.red.toString(16),a=1==a.length?"0"+a:a,b=this.green.toString(16),b=1==b.length?"0"+b:b,g=this.blue.toString(16),g=1==g.length?"0"+g:g;return"#"+a+b+g};b.prototype.getGradientClr=function(){return this.gradientClr};b.prototype.setGradientClr=
+(function(c){(function(n){(function(m){(function(k){(function(f){var e=function(){function b(a,b,h){this.blue=this.green=this.red=0;this.gradientClr=null;this.red=a;this.green=b;this.blue=h}b.NONE_$LI$=function(){null==b.NONE&&(b.NONE=new b(-1,-1,-1));return b.NONE};b.prototype.getRed=function(){return this.red};b.prototype.setRed=function(a){this.red=a};b.prototype.getGreen=function(){return this.green};b.prototype.setGreen=function(a){this.green=a};b.prototype.getBlue=function(){return this.blue};
+b.prototype.setBlue=function(a){this.blue=a};b.prototype.toHsl=function(){var a=this.getRed()/255,b=this.getGreen()/255,h=this.getBlue()/255,e=Math.max(a,Math.max(b,h)),f=Math.min(a,Math.min(b,h)),k=(e+f)/2;if(e===f)a=f=0;else var m=e-f,f=.5<k?m/(2-e-f):m/(e+f),a=(e===a?(b-h)/m+(b<h?6:0):e===b?(h-a)/m+2:(a-b)/m+4)/6;return new c.mxgraph.io.vsdx.theme.HSLColor(a,f,k)};b.prototype.toHsv=function(){var a=this.getRed()/255,b=this.getGreen()/255,h=this.getBlue()/255,e=Math.max(a,Math.max(b,h)),f=Math.min(a,
+Math.min(b,h)),k=e-f,a=e===f?0:(e===a?(b-h)/k+(b<h?6:0):e===b?(h-a)/k+2:(a-b)/k+4)/6;return new c.mxgraph.io.vsdx.theme.HSVColor(a,0===e?0:k/e,e)};b.decodeColorHex=function(a){a=parseInt(a,16);return new b(a>>16&255,a>>8&255,a&255)};b.prototype.toHexStr=function(){var a=this.red.toString(16),a=1==a.length?"0"+a:a,b=this.green.toString(16),b=1==b.length?"0"+b:b,h=this.blue.toString(16),h=1==h.length?"0"+h:h;return"#"+a+b+h};b.prototype.getGradientClr=function(){return this.gradientClr};b.prototype.setGradientClr=
 function(a){this.gradientClr=a};return b}();f.Color=e;e.__class="com.mxgraph.io.vsdx.theme.Color"})(k.theme||(k.theme={}))})(m.vsdx||(m.vsdx={}))})(n.io||(n.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
 (function(c){(function(n){(function(m){(function(k){(function(f){var e=function(){function b(){}b.getFillStyle=function(a){var b=null;switch(a.nodeName){case "a:solidFill":b=new c.mxgraph.io.vsdx.theme.SolidFillStyle(c.mxgraph.io.vsdx.theme.OoxmlColorFactory.getOoxmlColor(c.mxgraph.io.vsdx.mxVsdxUtils.getDirectFirstChildElement(a)));break;case "a:noFill":b=new c.mxgraph.io.vsdx.theme.NoFillStyle;break;case "a:gradFill":b=new c.mxgraph.io.vsdx.theme.GradFill(a)}return b};return b}();f.FillStyleFactory=
 e;e.__class="com.mxgraph.io.vsdx.theme.FillStyleFactory"})(k.theme||(k.theme={}))})(m.vsdx||(m.vsdx={}))})(n.io||(n.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
 (function(c){(function(n){(function(m){(function(k){(function(f){var e=function(){function b(a){this.color2=this.color1=null;a=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(a,"a:gsLst");0<a.length&&(a=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(a[0]),2<=a.length&&(this.color2=c.mxgraph.io.vsdx.theme.OoxmlColorFactory.getOoxmlColor(c.mxgraph.io.vsdx.mxVsdxUtils.getDirectFirstChildElement(a[0])),this.color1=c.mxgraph.io.vsdx.theme.OoxmlColorFactory.getOoxmlColor(c.mxgraph.io.vsdx.mxVsdxUtils.getDirectFirstChildElement(a[a.length-
 1]))));null==this.color1&&(this.color1=this.color2=new c.mxgraph.io.vsdx.theme.SrgbClr("FFFFFF"))}b.prototype.applyStyle=function(a,b){var d=this.color1.getColor$int$com_mxgraph_io_vsdx_mxVsdxTheme(a,b);d.setGradientClr(this.color2.getColor$int$com_mxgraph_io_vsdx_mxVsdxTheme(a,b));return d};return b}();f.GradFill=e;e.__class="com.mxgraph.io.vsdx.theme.GradFill";e.__interfaces=["com.mxgraph.io.vsdx.theme.FillStyle"]})(k.theme||(k.theme={}))})(m.vsdx||(m.vsdx={}))})(n.io||(n.io={}))})(c.mxgraph||(c.mxgraph=
 {}))})(com||(com={}));
-(function(c){(function(n){(function(m){(function(k){(function(f){var e=function(){function b(a,b,g){this.lum=this.sat=this.hue=0;this.hue=a;this.sat=b;this.lum=g}b.prototype.getHue=function(){return this.hue};b.prototype.setHue=function(a){this.hue=a};b.prototype.getSat=function(){return this.sat};b.prototype.setSat=function(a){this.sat=a};b.prototype.getLum=function(){return this.lum};b.prototype.setLum=function(a){this.lum=a};b.prototype.hue2rgb=function(a,b,g){0>g&&(g+=1);1<g&&--g;return g<1/6?
-a+6*(b-a)*g:.5>g?b:g<2/3?a+(b-a)*(2/3-g)*6:a};b.prototype.toRgb=function(){var a,b,g;g=this.hue;b=this.sat;a=this.lum;if(0===b)a=b=g=a;else{var e=.5>a?a*(1+b):a+b-a*b,f=2*a-e;a=this.hue2rgb(f,e,g+1/3);b=this.hue2rgb(f,e,g);g=this.hue2rgb(f,e,g-1/3)}return new c.mxgraph.io.vsdx.theme.Color(255*a|0,255*b|0,255*g|0)};b.prototype.clamp01=function(a){return Math.min(1,Math.max(0,a))};b.prototype.tint=function(a){this.lum*=1+a/100;this.lum=this.clamp01(this.lum);return this};b.prototype.shade=function(a){this.lum*=
+(function(c){(function(n){(function(m){(function(k){(function(f){var e=function(){function b(a,b,h){this.lum=this.sat=this.hue=0;this.hue=a;this.sat=b;this.lum=h}b.prototype.getHue=function(){return this.hue};b.prototype.setHue=function(a){this.hue=a};b.prototype.getSat=function(){return this.sat};b.prototype.setSat=function(a){this.sat=a};b.prototype.getLum=function(){return this.lum};b.prototype.setLum=function(a){this.lum=a};b.prototype.hue2rgb=function(a,b,h){0>h&&(h+=1);1<h&&--h;return h<1/6?
+a+6*(b-a)*h:.5>h?b:h<2/3?a+(b-a)*(2/3-h)*6:a};b.prototype.toRgb=function(){var a,b,h;h=this.hue;b=this.sat;a=this.lum;if(0===b)a=b=h=a;else{var e=.5>a?a*(1+b):a+b-a*b,f=2*a-e;a=this.hue2rgb(f,e,h+1/3);b=this.hue2rgb(f,e,h);h=this.hue2rgb(f,e,h-1/3)}return new c.mxgraph.io.vsdx.theme.Color(255*a|0,255*b|0,255*h|0)};b.prototype.clamp01=function(a){return Math.min(1,Math.max(0,a))};b.prototype.tint=function(a){this.lum*=1+a/100;this.lum=this.clamp01(this.lum);return this};b.prototype.shade=function(a){this.lum*=
 a/100;this.lum=this.clamp01(this.lum);return this};b.prototype.satMod=function(a){this.sat*=a/100;this.sat=this.clamp01(this.sat);return this};b.prototype.lumMod=function(a){this.lum*=a/100;this.lum=this.clamp01(this.lum);return this};return b}();f.HSLColor=e;e.__class="com.mxgraph.io.vsdx.theme.HSLColor"})(k.theme||(k.theme={}))})(m.vsdx||(m.vsdx={}))})(n.io||(n.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
-(function(c){(function(n){(function(m){(function(k){(function(f){var e=function(){function b(a,b,g){this.h=a;this.s=b;this.v=g}b.prototype.toRgb=function(){var a=6*this.h,b=this.s,g=Math.floor(a),e=a-g,a=this.v*(1-b),f=this.v*(1-e*b),b=this.v*(1-(1-e)*b),g=(g|0)%6;return new c.mxgraph.io.vsdx.theme.Color(255*[this.v,f,a,a,b,this.v][g]|0,255*[b,this.v,this.v,f,a,a][g]|0,255*[a,a,b,this.v,this.v,f][g]|0)};b.prototype.clamp01=function(a){return Math.min(1,Math.max(0,a))};b.prototype.tint=function(a){this.v*=
+(function(c){(function(n){(function(m){(function(k){(function(f){var e=function(){function b(a,b,h){this.h=a;this.s=b;this.v=h}b.prototype.toRgb=function(){var a=6*this.h,b=this.s,h=Math.floor(a),e=a-h,a=this.v*(1-b),f=this.v*(1-e*b),b=this.v*(1-(1-e)*b),h=(h|0)%6;return new c.mxgraph.io.vsdx.theme.Color(255*[this.v,f,a,a,b,this.v][h]|0,255*[b,this.v,this.v,f,a,a][h]|0,255*[a,a,b,this.v,this.v,f][h]|0)};b.prototype.clamp01=function(a){return Math.min(1,Math.max(0,a))};b.prototype.tint=function(a){this.v*=
 1+a/100;this.v=this.clamp01(this.v);return this};b.prototype.shade=function(a){this.v*=a/100;this.v=this.clamp01(this.v);return this};b.prototype.satMod=function(a){this.s*=a/100;this.s=this.clamp01(this.s);return this};b.prototype.lumMod=function(a){this.v*=a/100;this.v=this.clamp01(this.v);return this};b.prototype.hueMod=function(a){this.h*=a/100;this.h=this.clamp01(this.h);return this};return b}();f.HSVColor=e;e.__class="com.mxgraph.io.vsdx.theme.HSVColor"})(k.theme||(k.theme={}))})(m.vsdx||(m.vsdx=
 {}))})(n.io||(n.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
 (function(c){(function(n){(function(m){(function(k){(function(f){var e=function(){function b(a){this.isLineDashed=!1;this.lineDashPattern=[];this.isMiterJoin=this.isBevelJoin=this.isRoundJoin=!1;if(null!=a&&1==a.nodeType||null===a){Array.prototype.slice.call(arguments);this.lineWidth=0;this.headEndType=this.fillStyle=this.lineComp=this.lineCap=null;this.headEndLen=this.headEndWidth=0;this.tailEndType=null;this.tailEndLen=this.tailEndWidth=0;this.isLineDashed=!1;this.lineDashPattern=[];this.isMiterJoin=
 this.isBevelJoin=this.isRoundJoin=!1;this.lineWidth=0;this.headEndType=this.fillStyle=this.lineComp=this.lineCap=null;this.headEndLen=this.headEndWidth=0;this.tailEndType=null;this.tailEndLen=this.tailEndWidth=0;this.lineWidth=c.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(a,"w");var d=a.getAttribute("cap");if(null!=d)switch(d){case "rnd":this.lineCap=b.LineCapType.ROUND;break;case "sq":this.lineCap=b.LineCapType.SQUARE;break;case "flat":this.lineCap=b.LineCapType.FLAT}d=
-a.getAttribute("cmpd");if(null!=d)switch(d){case "sng":this.lineComp=b.CompoundLineType.SINGLE;break;case "dbl":this.lineComp=b.CompoundLineType.DOUBLE;break;case "thickThin":this.lineComp=b.CompoundLineType.THICK_THIN_DOUBLE;break;case "thinThick":this.lineComp=b.CompoundLineType.THIN_THICK_DOUBLE;break;case "tri":this.lineComp=b.CompoundLineType.THIN_THICK_THIN_TRIPLE}for(var d=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(a),g=0;g<d.length;g++){var e=d[g];switch(e.nodeName){case "a:noFill":case "a:solidFill":case "a:gradFill":case "a:pattFill":this.fillStyle=
+a.getAttribute("cmpd");if(null!=d)switch(d){case "sng":this.lineComp=b.CompoundLineType.SINGLE;break;case "dbl":this.lineComp=b.CompoundLineType.DOUBLE;break;case "thickThin":this.lineComp=b.CompoundLineType.THICK_THIN_DOUBLE;break;case "thinThick":this.lineComp=b.CompoundLineType.THIN_THICK_DOUBLE;break;case "tri":this.lineComp=b.CompoundLineType.THIN_THICK_THIN_TRIPLE}for(var d=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(a),h=0;h<d.length;h++){var e=d[h];switch(e.nodeName){case "a:noFill":case "a:solidFill":case "a:gradFill":case "a:pattFill":this.fillStyle=
 c.mxgraph.io.vsdx.theme.FillStyleFactory.getFillStyle(e);break;case "a:prstDash":e=e.getAttribute("val");this.isLineDashed=!0;switch(e){case "solid":this.isLineDashed=!1;break;case "sysDot":case "dot":0<this.lineDashPattern.push(1);0<this.lineDashPattern.push(4);break;case "lgDash":0<this.lineDashPattern.push(12);0<this.lineDashPattern.push(4);break;case "sysDashDot":case "dashDot":0<this.lineDashPattern.push(8);0<this.lineDashPattern.push(4);0<this.lineDashPattern.push(1);0<this.lineDashPattern.push(4);
 break;case "lgDashDot":0<this.lineDashPattern.push(12);0<this.lineDashPattern.push(4);0<this.lineDashPattern.push(1);0<this.lineDashPattern.push(4);break;case "sysDashDotDot":case "lgDashDotDot":0<this.lineDashPattern.push(12),0<this.lineDashPattern.push(4),0<this.lineDashPattern.push(1),0<this.lineDashPattern.push(4),0<this.lineDashPattern.push(1),0<this.lineDashPattern.push(4)}break;case "a:custDash":this.isLineDashed=!0;for(var e=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(e,"a:ds"),
 f=0;f<e.length;f++){var k=e[f],m=c.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(k,"d"),k=c.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(k,"sp");0<this.lineDashPattern.push(m/1E4);0<this.lineDashPattern.push(k/1E4)}break;case "a:round":this.isRoundJoin=!0;break;case "a:bevel":this.isBevelJoin=!0;break;case "a:miter":c.mxgraph.io.vsdx.mxVsdxUtils.getIntAttr$org_w3c_dom_Element$java_lang_String(e,"lim");this.isMiterJoin=!0;break;case "a:headEnd":this.headEndType=
@@ -1001,60 +1002,60 @@ function(a){this.shade=a;this.hasEffects=!0};b.prototype.setComp=function(a){thi
 a;this.hasEffects=!0};b.prototype.setRed=function(a){this.red=a;this.hasEffects=!0};b.prototype.setRedOff=function(a){this.redOff=a;this.hasEffects=!0};b.prototype.setRedMod=function(a){this.redMod=a;this.hasEffects=!0};b.prototype.setGreen=function(a){this.green=a;this.hasEffects=!0};b.prototype.setGreenOff=function(a){this.greenOff=a;this.hasEffects=!0};b.prototype.setGreenMod=function(a){this.greenMod=a;this.hasEffects=!0};b.prototype.setBlue=function(a){this.blue=a;this.hasEffects=!0};b.prototype.setBlueOff=
 function(a){this.blueOff=a;this.hasEffects=!0};b.prototype.setBlueMod=function(a){this.blueMod=a;this.hasEffects=!0};b.prototype.setGamma=function(a){this.gamma=a;this.hasEffects=!0};b.prototype.setInvGamma=function(a){this.invGamma=a;this.hasEffects=!0};return b}();f.OoxmlColor=e;e.__class="com.mxgraph.io.vsdx.theme.OoxmlColor"})(k.theme||(k.theme={}))})(m.vsdx||(m.vsdx={}))})(n.io||(n.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
 (function(c){(function(n){(function(m){(function(k){(function(f){var e=function(){function b(){}b.getOoxmlColor=function(a){var b=null;switch(a.nodeName){case "a:scrgbClr":b=new c.mxgraph.io.vsdx.theme.ScrgbClr(parseInt(a.getAttribute("r")),parseInt(a.getAttribute("g")),parseInt(a.getAttribute("b")));break;case "a:srgbClr":b=new c.mxgraph.io.vsdx.theme.SrgbClr(a.getAttribute("val"));break;case "a:hslClr":b=new c.mxgraph.io.vsdx.theme.HslClr(parseInt(a.getAttribute("hue")),parseInt(a.getAttribute("sat")),
-parseInt(a.getAttribute("lum")));break;case "a:sysClr":b=new c.mxgraph.io.vsdx.theme.SysClr(a.getAttribute("val"),a.getAttribute("lastClr"));break;case "a:schemeClr":b=new c.mxgraph.io.vsdx.theme.SchemeClr(a.getAttribute("val"));break;case "a:prstClr":b=new c.mxgraph.io.vsdx.theme.SrgbClr(a.getAttribute("val"))}a=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(a);for(var g=0;g<a.length;g++){var e=a[g],f=parseInt(e.getAttribute("val"))/1E3|0;switch(e.nodeName){case "a:tint":b.setTint(f);break;
+parseInt(a.getAttribute("lum")));break;case "a:sysClr":b=new c.mxgraph.io.vsdx.theme.SysClr(a.getAttribute("val"),a.getAttribute("lastClr"));break;case "a:schemeClr":b=new c.mxgraph.io.vsdx.theme.SchemeClr(a.getAttribute("val"));break;case "a:prstClr":b=new c.mxgraph.io.vsdx.theme.SrgbClr(a.getAttribute("val"))}a=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildElements(a);for(var h=0;h<a.length;h++){var e=a[h],f=parseInt(e.getAttribute("val"))/1E3|0;switch(e.nodeName){case "a:tint":b.setTint(f);break;
 case "a:shade":b.setShade(f);break;case "a:satMod":b.setSatMod(f);break;case "a:lumMod":b.setLumMod(f);break;case "a:hueMod":b.setHueMod(f)}}return b};return b}();f.OoxmlColorFactory=e;e.__class="com.mxgraph.io.vsdx.theme.OoxmlColorFactory"})(k.theme||(k.theme={}))})(m.vsdx||(m.vsdx={}))})(n.io||(n.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
-(function(c){(function(c){(function(c){(function(c){(function(c){var e=function(){function b(a,b,g,c,e,f,k,m,n,B){this.quickStyleVariation=this.quickStyleType=this.quickStyleShadowColor=this.quickStyleLineColor=this.quickStyleFontMatrix=this.quickStyleFontColor=this.quickStyleFillMatrix=this.quickStyleFillColor=this.quickStyleEffectsMatrix=0;this.quickStyleEffectsMatrix=a;this.quickStyleFillColor=b;this.quickStyleFillMatrix=g;this.quickStyleFontColor=c;this.quickStyleFontMatrix=e;this.quickStyleLineColor=
-f;this.quickStyleLineMatrix=k;this.quickStyleShadowColor=m;this.quickStyleType=n;this.quickStyleVariation=B}b.prototype.getQuickStyleEffectsMatrix=function(){return this.quickStyleEffectsMatrix};b.prototype.getQuickStyleFillColor=function(){return this.quickStyleFillColor};b.prototype.getQuickStyleFillMatrix=function(){return this.quickStyleFillMatrix};b.prototype.getQuickStyleFontColor=function(){return this.quickStyleFontColor};b.prototype.getQuickStyleFontMatrix=function(){return this.quickStyleFontMatrix};
+(function(c){(function(c){(function(c){(function(c){(function(c){var e=function(){function b(a,b,h,c,e,f,k,m,n,C){this.quickStyleVariation=this.quickStyleType=this.quickStyleShadowColor=this.quickStyleLineColor=this.quickStyleFontMatrix=this.quickStyleFontColor=this.quickStyleFillMatrix=this.quickStyleFillColor=this.quickStyleEffectsMatrix=0;this.quickStyleEffectsMatrix=a;this.quickStyleFillColor=b;this.quickStyleFillMatrix=h;this.quickStyleFontColor=c;this.quickStyleFontMatrix=e;this.quickStyleLineColor=
+f;this.quickStyleLineMatrix=k;this.quickStyleShadowColor=m;this.quickStyleType=n;this.quickStyleVariation=C}b.prototype.getQuickStyleEffectsMatrix=function(){return this.quickStyleEffectsMatrix};b.prototype.getQuickStyleFillColor=function(){return this.quickStyleFillColor};b.prototype.getQuickStyleFillMatrix=function(){return this.quickStyleFillMatrix};b.prototype.getQuickStyleFontColor=function(){return this.quickStyleFontColor};b.prototype.getQuickStyleFontMatrix=function(){return this.quickStyleFontMatrix};
 b.prototype.getQuickStyleLineColor=function(){return this.quickStyleLineColor};b.prototype.getQuickStyleLineMatrix=function(){return this.quickStyleLineMatrix};b.prototype.getQuickStyleShadowColor=function(){return this.quickStyleShadowColor};b.prototype.getQuickStyleType=function(){return this.quickStyleType};b.prototype.getQuickStyleVariation=function(){return this.quickStyleVariation};b.prototype.setQuickStyleEffectsMatrix=function(a){this.quickStyleEffectsMatrix=a};b.prototype.setQuickStyleFillColor=
 function(a){this.quickStyleFillColor=a};b.prototype.setQuickStyleFillMatrix=function(a){this.quickStyleFillMatrix=a};b.prototype.setQuickStyleFontColor=function(a){this.quickStyleFontColor=a};b.prototype.setQuickStyleFontMatrix=function(a){this.quickStyleFontMatrix=a};b.prototype.setQuickStyleLineColor=function(a){this.quickStyleLineColor=a};b.prototype.setQuickStyleLineMatrix=function(a){this.quickStyleLineMatrix=a};b.prototype.setQuickStyleShadowColor=function(a){this.quickStyleShadowColor=a};b.prototype.setQuickStyleType=
 function(a){this.quickStyleType=a};b.prototype.setQuickStyleVariation=function(a){this.quickStyleVariation=a};return b}();c.QuickStyleVals=e;e.__class="com.mxgraph.io.vsdx.theme.QuickStyleVals"})(c.theme||(c.theme={}))})(c.vsdx||(c.vsdx={}))})(c.io||(c.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
 (function(c){(function(c){(function(c){(function(c){(function(c){var e=function(){function b(a){this.color=null;this.color=a}b.prototype.applyStyle=function(a,b){return this.color.getColor$int$com_mxgraph_io_vsdx_mxVsdxTheme(a,b)};return b}();c.SolidFillStyle=e;e.__class="com.mxgraph.io.vsdx.theme.SolidFillStyle";e.__interfaces=["com.mxgraph.io.vsdx.theme.FillStyle"]})(c.theme||(c.theme={}))})(c.vsdx||(c.vsdx={}))})(c.io||(c.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
 (function(c){(function(c){(function(c){var k=function(){function c(){}c.MAX_AREA_$LI$=function(){null==c.MAX_AREA&&(c.MAX_AREA=1E8);return c.MAX_AREA};return c}();k.MAX_REQUEST_SIZE=52428800;k.IMAGE_DOMAIN="http://img.diagramly.com/";c.Constants=k;k.__class="com.mxgraph.online.Constants"})(c.online||(c.online={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
-(function(c){(function(c){(function(c){var k=function(){function c(){}c.getRotatedPoint=function(c,b,a,d){var g=c.x-d.x;c=c.y-d.y;return new mxPoint(g*b-c*a+d.x,c*b+g*a+d.y)};c.rotatedGeometry=function(c,b,a,d){b=b*Math.PI/180;var g=Math.cos(b);b=Math.sin(b);var e=c.getCenterX()-a,f=c.getCenterY()-d;c.x=Math.round(e*g-f*b+a-c.width/2);c.y=Math.round(f*g+e*b+d-c.height/2)};return c}();k.CHARSET_FOR_URL_ENCODING="ISO-8859-1";c.Utils=k;k.__class="com.mxgraph.online.Utils"})(c.online||(c.online={}))})(c.mxgraph||
+(function(c){(function(c){(function(c){var k=function(){function c(){}c.getRotatedPoint=function(c,b,a,d){var h=c.x-d.x;c=c.y-d.y;return new mxPoint(h*b-c*a+d.x,c*b+h*a+d.y)};c.rotatedGeometry=function(c,b,a,d){b=b*Math.PI/180;var h=Math.cos(b);b=Math.sin(b);var e=c.getCenterX()-a,f=c.getCenterY()-d;c.x=Math.round(e*h-f*b+a-c.width/2);c.y=Math.round(f*h+e*b+d-c.height/2)};return c}();k.CHARSET_FOR_URL_ENCODING="ISO-8859-1";c.Utils=k;k.__class="com.mxgraph.online.Utils"})(c.online||(c.online={}))})(c.mxgraph||
 (c.mxgraph={}))})(com||(com={}));
-(function(c){(function(n){(function(m){(function(k){(function(f){var e=function(b){function a(a,g,c,e){a=b.call(this,a,g,c)||this;a.a=e;return a}__extends(a,b);a.prototype.handle=function(a,b){if(null!=this.x&&null!=this.y&&null!=this.a){var d=b.getHeight(),g=b.getWidth(),e=Math.floor(Math.round(b.getLastX()*g)/100),f=Math.floor(Math.round(b.getLastY()*d)/100),k=this.x*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),m=this.y*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),m=d-m,n=this.a*
-c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),e=Math.abs(k-e),f=Math.abs(m-f),e=f=.5*n+(e*e+f*f)/(8*n),C=Math.abs(f),f=Math.round(100*f/g*100)/100,e=Math.round(100*e/d*100)/100,k=Math.round(100*k/g*100)/100,m=Math.round(100*m/d*100)/100,n=Math.round(100*n)/100,f=Math.abs(f),e=Math.abs(e),d=0>n?"1":"0",n=C<Math.abs(n)?"1":"0";b.setLastX(k);b.setLastY(m);return'<arc rx="'+(new String(f)).toString()+'" ry="'+(new String(e)).toString()+'" x="'+(new String(k)).toString()+'" y="'+(new String(m)).toString()+
+(function(c){(function(n){(function(m){(function(k){(function(f){var e=function(b){function a(a,h,c,e){a=b.call(this,a,h,c)||this;a.a=e;return a}__extends(a,b);a.prototype.handle=function(a,b){if(null!=this.x&&null!=this.y&&null!=this.a){var d=b.getHeight(),h=b.getWidth(),e=Math.floor(Math.round(b.getLastX()*h)/100),f=Math.floor(Math.round(b.getLastY()*d)/100),k=this.x*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),m=this.y*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),m=d-m,n=this.a*
+c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),e=Math.abs(k-e),f=Math.abs(m-f),e=f=.5*n+(e*e+f*f)/(8*n),B=Math.abs(f),f=Math.round(100*f/h*100)/100,e=Math.round(100*e/d*100)/100,k=Math.round(100*k/h*100)/100,m=Math.round(100*m/d*100)/100,n=Math.round(100*n)/100,f=Math.abs(f),e=Math.abs(e),d=0>n?"1":"0",n=B<Math.abs(n)?"1":"0";b.setLastX(k);b.setLastY(m);return'<arc rx="'+(new String(f)).toString()+'" ry="'+(new String(e)).toString()+'" x="'+(new String(k)).toString()+'" y="'+(new String(m)).toString()+
 '" x-axis-rotation="0" large-arc-flag="'+n+'" sweep-flag="'+d+'"/>'}return""};return a}(c.mxgraph.io.vsdx.geometry.Row);f.ArcTo=e;e.__class="com.mxgraph.io.vsdx.geometry.ArcTo"})(k.geometry||(k.geometry={}))})(m.vsdx||(m.vsdx={}))})(n.io||(n.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
 (function(c){(function(n){(function(m){(function(k){(function(f){var e=function(b){function a(a){return b.call(this,a,null,null)||this}__extends(a,b);a.prototype.handle=function(a,b){return""};return a}(c.mxgraph.io.vsdx.geometry.Row);f.DelRow=e;e.__class="com.mxgraph.io.vsdx.geometry.DelRow"})(k.geometry||(k.geometry={}))})(m.vsdx||(m.vsdx={}))})(n.io||(n.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
-(function(c){(function(n){(function(m){(function(k){(function(f){var e=function(b){function a(a,g,c,e,f,k,m){a=b.call(this,a,g,c)||this;a.a=e;a.b=f;a.c=k;a.d=m;return a}__extends(a,b);a.prototype.handle=function(a,b){if(null!=this.x&&null!=this.y&&null!=this.a&&null!=this.b&&null!=this.c&&null!=this.d){var d=b.getHeight(),g=b.getWidth(),e=this.x*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),f=this.y*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),f=d-f,k=this.a*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),
-m=this.b*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),m=d-m,n=this.c*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),C=this.d*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),k=Math.abs(k-e),m=Math.abs(m-f),m=Math.sqrt(k*k+m*m),n=Math.abs(n-e),C=Math.abs(d-C-f),e=100*e/g,C=Math.round(100*Math.sqrt(n*n+C*C)/d/2*100)/100,g=Math.round(100*m/g/2*100)/100,n=Math.round(100*(e-2*g))/100,e=Math.round(100*(e+2*g))/100,d=Math.round(100*f/d*100)/100;return'<move x="'+(new String(n)).toString()+
-'" y="'+(new String(d)).toString()+'"/><arc rx="'+(new String(g)).toString()+'" ry="'+(new String(C)).toString()+'" x="'+(new String(e)).toString()+'" y="'+(new String(d)).toString()+'" x-axis-rotation="0" large-arc-flag="1" sweep-flag="0"/><arc rx="'+(new String(g)).toString()+'" ry="'+(new String(C)).toString()+'" x="'+(new String(n)).toString()+'" y="'+(new String(d)).toString()+'" x-axis-rotation="0" large-arc-flag="1" sweep-flag="0"/>'}return""};return a}(c.mxgraph.io.vsdx.geometry.Row);f.Ellipse=
+(function(c){(function(n){(function(m){(function(k){(function(f){var e=function(b){function a(a,h,c,e,f,k,m){a=b.call(this,a,h,c)||this;a.a=e;a.b=f;a.c=k;a.d=m;return a}__extends(a,b);a.prototype.handle=function(a,b){if(null!=this.x&&null!=this.y&&null!=this.a&&null!=this.b&&null!=this.c&&null!=this.d){var d=b.getHeight(),h=b.getWidth(),e=this.x*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),f=this.y*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),f=d-f,k=this.a*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),
+m=this.b*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),m=d-m,n=this.c*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),B=this.d*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),k=Math.abs(k-e),m=Math.abs(m-f),m=Math.sqrt(k*k+m*m),n=Math.abs(n-e),B=Math.abs(d-B-f),e=100*e/h,B=Math.round(100*Math.sqrt(n*n+B*B)/d/2*100)/100,h=Math.round(100*m/h/2*100)/100,n=Math.round(100*(e-2*h))/100,e=Math.round(100*(e+2*h))/100,d=Math.round(100*f/d*100)/100;return'<move x="'+(new String(n)).toString()+
+'" y="'+(new String(d)).toString()+'"/><arc rx="'+(new String(h)).toString()+'" ry="'+(new String(B)).toString()+'" x="'+(new String(e)).toString()+'" y="'+(new String(d)).toString()+'" x-axis-rotation="0" large-arc-flag="1" sweep-flag="0"/><arc rx="'+(new String(h)).toString()+'" ry="'+(new String(B)).toString()+'" x="'+(new String(n)).toString()+'" y="'+(new String(d)).toString()+'" x-axis-rotation="0" large-arc-flag="1" sweep-flag="0"/>'}return""};return a}(c.mxgraph.io.vsdx.geometry.Row);f.Ellipse=
 e;e.__class="com.mxgraph.io.vsdx.geometry.Ellipse"})(k.geometry||(k.geometry={}))})(m.vsdx||(m.vsdx={}))})(n.io||(n.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
-(function(c){(function(n){(function(m){(function(k){(function(f){var e=function(b){function a(a,g,c,e,f,k,m){a=b.call(this,a,g,c)||this;a.a=e;a.b=f;a.c=k;a.d=m;return a}__extends(a,b);a.prototype.handle=function(a,b){if(null!=this.x&&null!=this.y&&null!=this.a&&null!=this.b&&null!=this.c&&null!=this.d){var d=b.getHeight(),g=b.getWidth(),e=this.x*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),f=this.y*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),f=d-f,k=this.a*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),
-m=this.b*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),n=this.c,C=this.d,e=100*e/g,f=100*f/d,G=b.getLastX()*g/100,D=b.getLastY()*d/100,Z=e*g/100,Y=f*d/100,aa=d-m,L=-n,n=Math.sqrt(G*G+D*D)*Math.cos(Math.atan2(D,G)-L),m=Math.sqrt(G*G+D*D)*Math.sin(Math.atan2(D,G)-L),S=Math.sqrt(Z*Z+Y*Y)*Math.cos(Math.atan2(Y,Z)-L),U=Math.sqrt(Z*Z+Y*Y)*Math.sin(Math.atan2(Y,Z)-L),da=Math.sqrt(k*k+aa*aa)*Math.cos(Math.atan2(aa,k)-L),ba=Math.sqrt(k*k+aa*aa)*Math.sin(Math.atan2(aa,k)-L),ia=((n-S)*(n+S)*(U-ba)-(S-
-da)*(S+da)*(m-U)+C*C*(m-U)*(U-ba)*(m-ba))/(2*((n-S)*(U-ba)-(S-da)*(m-U))),Da=((n-S)*(S-da)*(n-da)/(C*C)+(S-da)*(m-U)*(m+U)-(n-S)*(U-ba)*(U+ba))/(2*((S-da)*(m-U)-(n-S)*(U-ba))),ga=n-ia,ea=m-Da,ga=Math.sqrt(ga*ga+ea*ea*C*C),C=ga/C,L=180*L/Math.PI,e=Math.round(100*e)/100,f=Math.round(100*f)/100,ga=Math.round(100*ga/g*100)/100,C=Math.round(100*C/d*100)/100,L=Math.round(100*L)/100,d=0<(Z-G)*(aa-D)-(Y-D)*(k-G)?"0":"1",g="0";c.mxgraph.io.vsdx.mxVsdxUtils.isInsideTriangle(ia,Da,n,m,S,U,da,ba)&&this.isReflexAngle(ia,
-Da,n,m,S,U,da,ba)&&(g="1");b.setLastX(e);b.setLastY(f);return'<arc rx="'+(new String(ga)).toString()+'" ry="'+(new String(C)).toString()+'" x="'+(new String(e)).toString()+'" y="'+(new String(f)).toString()+'" x-axis-rotation="'+(new String(L)).toString()+'" large-arc-flag="'+g+'" sweep-flag="'+d+'"/>'}return""};a.prototype.isReflexAngle=function(a,b,c,e,f,k,m,n){c-=a;e-=b;k-=b;f=m-a;n-=b;b=a=0;c=180*(Math.atan2(e,c)-Math.atan2(b,a))/Math.PI;f=180*(Math.atan2(k,f)-Math.atan2(b,a))/Math.PI;a=180*(Math.atan2(n,
+(function(c){(function(n){(function(m){(function(k){(function(f){var e=function(b){function a(a,h,c,e,f,k,m){a=b.call(this,a,h,c)||this;a.a=e;a.b=f;a.c=k;a.d=m;return a}__extends(a,b);a.prototype.handle=function(a,b){if(null!=this.x&&null!=this.y&&null!=this.a&&null!=this.b&&null!=this.c&&null!=this.d){var d=b.getHeight(),h=b.getWidth(),e=this.x*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),f=this.y*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),f=d-f,k=this.a*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),
+m=this.b*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),n=this.c,B=this.d,e=100*e/h,f=100*f/d,G=b.getLastX()*h/100,F=b.getLastY()*d/100,Q=e*h/100,aa=f*d/100,Y=d-m,T=-n,n=Math.sqrt(G*G+F*F)*Math.cos(Math.atan2(F,G)-T),m=Math.sqrt(G*G+F*F)*Math.sin(Math.atan2(F,G)-T),H=Math.sqrt(Q*Q+aa*aa)*Math.cos(Math.atan2(aa,Q)-T),V=Math.sqrt(Q*Q+aa*aa)*Math.sin(Math.atan2(aa,Q)-T),ba=Math.sqrt(k*k+Y*Y)*Math.cos(Math.atan2(Y,k)-T),ea=Math.sqrt(k*k+Y*Y)*Math.sin(Math.atan2(Y,k)-T),ia=((n-H)*(n+H)*(V-ea)-(H-
+ba)*(H+ba)*(m-V)+B*B*(m-V)*(V-ea)*(m-ea))/(2*((n-H)*(V-ea)-(H-ba)*(m-V))),Da=((n-H)*(H-ba)*(n-ba)/(B*B)+(H-ba)*(m-V)*(m+V)-(n-H)*(V-ea)*(V+ea))/(2*((H-ba)*(m-V)-(n-H)*(V-ea))),ga=n-ia,da=m-Da,ga=Math.sqrt(ga*ga+da*da*B*B),B=ga/B,T=180*T/Math.PI,e=Math.round(100*e)/100,f=Math.round(100*f)/100,ga=Math.round(100*ga/h*100)/100,B=Math.round(100*B/d*100)/100,T=Math.round(100*T)/100,d=0<(Q-G)*(Y-F)-(aa-F)*(k-G)?"0":"1",h="0";c.mxgraph.io.vsdx.mxVsdxUtils.isInsideTriangle(ia,Da,n,m,H,V,ba,ea)&&this.isReflexAngle(ia,
+Da,n,m,H,V,ba,ea)&&(h="1");b.setLastX(e);b.setLastY(f);return'<arc rx="'+(new String(ga)).toString()+'" ry="'+(new String(B)).toString()+'" x="'+(new String(e)).toString()+'" y="'+(new String(f)).toString()+'" x-axis-rotation="'+(new String(T)).toString()+'" large-arc-flag="'+h+'" sweep-flag="'+d+'"/>'}return""};a.prototype.isReflexAngle=function(a,b,c,e,f,k,m,n){c-=a;e-=b;k-=b;f=m-a;n-=b;b=a=0;c=180*(Math.atan2(e,c)-Math.atan2(b,a))/Math.PI;f=180*(Math.atan2(k,f)-Math.atan2(b,a))/Math.PI;a=180*(Math.atan2(n,
 m)-Math.atan2(b,a))/Math.PI;c=(c-a)%360;f=(f-a)%360;180<c?c-=360:-180>c&&(c+=360);180<f?f-=360:-180>f&&(f+=360);return(0<c&&0>f||0>c&&0<f)&&180<Math.abs(c-f)?!0:!1};return a}(c.mxgraph.io.vsdx.geometry.Row);f.EllipticalArcTo=e;e.__class="com.mxgraph.io.vsdx.geometry.EllipticalArcTo"})(k.geometry||(k.geometry={}))})(m.vsdx||(m.vsdx={}))})(n.io||(n.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
-(function(c){(function(n){(function(m){(function(k){(function(f){var e=function(b){function a(a,g,c,e,f){a=b.call(this,a,g,c)||this;a.a=e;a.b=f;return a}__extends(a,b);a.prototype.handle=function(a,b){return""};return a}(c.mxgraph.io.vsdx.geometry.Row);f.InfiniteLine=e;e.__class="com.mxgraph.io.vsdx.geometry.InfiniteLine"})(k.geometry||(k.geometry={}))})(m.vsdx||(m.vsdx={}))})(n.io||(n.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
-(function(c){(function(n){(function(m){(function(k){(function(f){var e=function(b){function a(a,g,c){return b.call(this,a,g,c)||this}__extends(a,b);a.prototype.handle=function(a,b){var d=a.x,g=a.y,e=b.getHeight(),f=b.getWidth();null!=this.x&&null!=this.y&&(d=this.x*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),g=this.y*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$());d=Math.round(100*d/f*100)/100;g=Math.round(100*(100-100*g/e))/100;a.x=d;a.y=g;b.setLastX(d);b.setLastY(g);return'<line x="'+
-(new String(d)).toString()+'" y="'+(new String(g)).toString()+'"/>'};return a}(c.mxgraph.io.vsdx.geometry.Row);f.LineTo=e;e.__class="com.mxgraph.io.vsdx.geometry.LineTo"})(k.geometry||(k.geometry={}))})(m.vsdx||(m.vsdx={}))})(n.io||(n.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
-(function(c){(function(n){(function(m){(function(k){(function(f){var e=function(b){function a(a,g,c){return b.call(this,a,g,c)||this}__extends(a,b);a.prototype.handle=function(a,b){var d=a.x,g=a.y,e=b.getHeight(),f=b.getWidth();null!=this.x&&null!=this.y&&(d=this.x*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),g=this.y*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$());d=Math.round(100*d/f*100)/100;g=Math.round(100*(100-100*g/e))/100;a.x=d;a.y=g;b.setLastX(d);b.setLastY(g);b.setLastMoveX(d);
-b.setLastMoveY(g);return'<move x="'+(new String(d)).toString()+'" y="'+(new String(g)).toString()+'"/>'};return a}(c.mxgraph.io.vsdx.geometry.Row);f.MoveTo=e;e.__class="com.mxgraph.io.vsdx.geometry.MoveTo"})(k.geometry||(k.geometry={}))})(m.vsdx||(m.vsdx={}))})(n.io||(n.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
-(function(c){(function(n){(function(m){(function(k){(function(f){var e=function(b){function a(a,g,c,e,f,k,m,n){a=b.call(this,a,g,c)||this;a.a=e;a.b=f;a.c=k;a.d=m;a.formulaE=n;return a}__extends(a,b);a.prototype.handle=function(b,g){if(null!=this.x&&null!=this.y&&null!=this.formulaE){var d=g.getHeight(),e=g.getWidth(),f=this.x*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),k=this.y*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),m=this.formulaE.split("NURBS(").join(""),m=m.split(")").join(""),
-m=new a.Nurbs(this,m,e,d);if(2<=m.getSize()){var n=m.getX(0),B=m.getY(0),C=m.getX(1),G=m.getY(1),f=Math.round(100*f/e*100)/100,k=Math.round(100*(100-100*k/d))/100,n=Math.round(100*n)/100,B=Math.round(100*B)/100,C=Math.round(100*C)/100,G=Math.round(100*G)/100;g.setLastX(f);g.setLastY(k);if(3===m.getDegree()&&m.isOrderedByThree(this.getA())){d=[];e=[];n=[];C=m.getSize();for(B=0;B<C-1;B+=3)0<d.push(new mxPoint(m.getX(B),m.getY(B))),0<e.push(new mxPoint(m.getX(B+1),m.getY(B+1))),B<C-2?0<n.push(new mxPoint(m.getX(B+
-2),m.getY(B+2))):0<n.push(new mxPoint(f,k));f="";for(B=0;B<d.length;B++)f+='<curve x1="'+d[B].x+'" y1="'+d[B].y+'" x2="'+e[B].x+'" y2="'+e[B].y+'" x3="'+n[B].x+'" y3="'+n[B].y+'"/>\n';return f}return'<curve x1="'+(new String(n)).toString()+'" y1="'+(new String(B)).toString()+'" x2="'+(new String(C)).toString()+'" y2="'+(new String(G)).toString()+'" x3="'+(new String(f)).toString()+'" y3="'+(new String(k)).toString()+'"/>'}}return""};return a}(c.mxgraph.io.vsdx.geometry.Row);f.NURBSTo=e;e.__class=
-"com.mxgraph.io.vsdx.geometry.NURBSTo";(function(b){var a=function(){function a(a,b,d,c){this.__parent=a;this.nurbsValues=[];a=b.split(/\s*,\s*/).slice(0);for(b=0;b<a.length;b++)3<b&&0===b%4?0<this.nurbsValues.push(100*parseFloat(a[b])):3<b&&1===b%4?0<this.nurbsValues.push(100-100*parseFloat(a[b])):0<this.nurbsValues.push(parseFloat(a[b]))}a.prototype.isOrderedByThree=function(a){for(var b=0;b+2<this.getSize();b+=3){var d=Math.round(100*this.getKnot(b))/100,g=Math.round(100*this.getKnot(b+1))/100,
-c=Math.round(100*this.getKnot(b+2))/100;if(d!==g||d!==c||g!==c)return!1}b=Math.round(10*this.getKnot(this.getSize()-2))/10;d=Math.round(10*this.getKnot(this.getSize()-1))/10;a=Math.round(10*a)/10;return b!==d||b!==a||d!==a?!1:!0};a.prototype.getSize=function(){return(this.nurbsValues.length/4|0)-1};a.prototype.getKnotLast=function(){return this.nurbsValues[0]};a.prototype.getDegree=function(){return this.nurbsValues[1]};a.prototype.getXType=function(){return this.nurbsValues[2]};a.prototype.getYType=
+(function(c){(function(n){(function(m){(function(k){(function(f){var e=function(b){function a(a,h,c,e,f){a=b.call(this,a,h,c)||this;a.a=e;a.b=f;return a}__extends(a,b);a.prototype.handle=function(a,b){return""};return a}(c.mxgraph.io.vsdx.geometry.Row);f.InfiniteLine=e;e.__class="com.mxgraph.io.vsdx.geometry.InfiniteLine"})(k.geometry||(k.geometry={}))})(m.vsdx||(m.vsdx={}))})(n.io||(n.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
+(function(c){(function(n){(function(m){(function(k){(function(f){var e=function(b){function a(a,h,c){return b.call(this,a,h,c)||this}__extends(a,b);a.prototype.handle=function(a,b){var d=a.x,h=a.y,e=b.getHeight(),f=b.getWidth();null!=this.x&&null!=this.y&&(d=this.x*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),h=this.y*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$());d=Math.round(100*d/f*100)/100;h=Math.round(100*(100-100*h/e))/100;a.x=d;a.y=h;b.setLastX(d);b.setLastY(h);return'<line x="'+
+(new String(d)).toString()+'" y="'+(new String(h)).toString()+'"/>'};return a}(c.mxgraph.io.vsdx.geometry.Row);f.LineTo=e;e.__class="com.mxgraph.io.vsdx.geometry.LineTo"})(k.geometry||(k.geometry={}))})(m.vsdx||(m.vsdx={}))})(n.io||(n.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
+(function(c){(function(n){(function(m){(function(k){(function(f){var e=function(b){function a(a,h,c){return b.call(this,a,h,c)||this}__extends(a,b);a.prototype.handle=function(a,b){var d=a.x,h=a.y,e=b.getHeight(),f=b.getWidth();null!=this.x&&null!=this.y&&(d=this.x*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),h=this.y*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$());d=Math.round(100*d/f*100)/100;h=Math.round(100*(100-100*h/e))/100;a.x=d;a.y=h;b.setLastX(d);b.setLastY(h);b.setLastMoveX(d);
+b.setLastMoveY(h);return'<move x="'+(new String(d)).toString()+'" y="'+(new String(h)).toString()+'"/>'};return a}(c.mxgraph.io.vsdx.geometry.Row);f.MoveTo=e;e.__class="com.mxgraph.io.vsdx.geometry.MoveTo"})(k.geometry||(k.geometry={}))})(m.vsdx||(m.vsdx={}))})(n.io||(n.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
+(function(c){(function(n){(function(m){(function(k){(function(f){var e=function(b){function a(a,h,c,e,f,k,m,n){a=b.call(this,a,h,c)||this;a.a=e;a.b=f;a.c=k;a.d=m;a.formulaE=n;return a}__extends(a,b);a.prototype.handle=function(b,h){if(null!=this.x&&null!=this.y&&null!=this.formulaE){var d=h.getHeight(),e=h.getWidth(),f=this.x*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),k=this.y*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),m=this.formulaE.split("NURBS(").join(""),m=m.split(")").join(""),
+m=new a.Nurbs(this,m,e,d);if(2<=m.getSize()){var n=m.getX(0),C=m.getY(0),B=m.getX(1),G=m.getY(1),f=Math.round(100*f/e*100)/100,k=Math.round(100*(100-100*k/d))/100,n=Math.round(100*n)/100,C=Math.round(100*C)/100,B=Math.round(100*B)/100,G=Math.round(100*G)/100;h.setLastX(f);h.setLastY(k);if(3===m.getDegree()&&m.isOrderedByThree(this.getA())){d=[];e=[];n=[];B=m.getSize();for(C=0;C<B-1;C+=3)0<d.push(new mxPoint(m.getX(C),m.getY(C))),0<e.push(new mxPoint(m.getX(C+1),m.getY(C+1))),C<B-2?0<n.push(new mxPoint(m.getX(C+
+2),m.getY(C+2))):0<n.push(new mxPoint(f,k));f="";for(C=0;C<d.length;C++)f+='<curve x1="'+d[C].x+'" y1="'+d[C].y+'" x2="'+e[C].x+'" y2="'+e[C].y+'" x3="'+n[C].x+'" y3="'+n[C].y+'"/>\n';return f}return'<curve x1="'+(new String(n)).toString()+'" y1="'+(new String(C)).toString()+'" x2="'+(new String(B)).toString()+'" y2="'+(new String(G)).toString()+'" x3="'+(new String(f)).toString()+'" y3="'+(new String(k)).toString()+'"/>'}}return""};return a}(c.mxgraph.io.vsdx.geometry.Row);f.NURBSTo=e;e.__class=
+"com.mxgraph.io.vsdx.geometry.NURBSTo";(function(b){var a=function(){function a(a,b,d,c){this.__parent=a;this.nurbsValues=[];a=b.split(/\s*,\s*/).slice(0);for(b=0;b<a.length;b++)3<b&&0===b%4?0<this.nurbsValues.push(100*parseFloat(a[b])):3<b&&1===b%4?0<this.nurbsValues.push(100-100*parseFloat(a[b])):0<this.nurbsValues.push(parseFloat(a[b]))}a.prototype.isOrderedByThree=function(a){for(var b=0;b+2<this.getSize();b+=3){var d=Math.round(100*this.getKnot(b))/100,h=Math.round(100*this.getKnot(b+1))/100,
+c=Math.round(100*this.getKnot(b+2))/100;if(d!==h||d!==c||h!==c)return!1}b=Math.round(10*this.getKnot(this.getSize()-2))/10;d=Math.round(10*this.getKnot(this.getSize()-1))/10;a=Math.round(10*a)/10;return b!==d||b!==a||d!==a?!1:!0};a.prototype.getSize=function(){return(this.nurbsValues.length/4|0)-1};a.prototype.getKnotLast=function(){return this.nurbsValues[0]};a.prototype.getDegree=function(){return this.nurbsValues[1]};a.prototype.getXType=function(){return this.nurbsValues[2]};a.prototype.getYType=
 function(){return this.nurbsValues[3]};a.prototype.getX=function(a){return this.nurbsValues[4*(a+1)]};a.prototype.getY=function(a){return this.nurbsValues[4*(a+1)+1]};a.prototype.getKnot=function(a){return this.nurbsValues[4*(a+1)+2]};a.prototype.getWeight=function(a){return this.nurbsValues[4*(a+1)+3]};return a}();b.Nurbs=a;a.__class="com.mxgraph.io.vsdx.geometry.NURBSTo.Nurbs"})(e=f.NURBSTo||(f.NURBSTo={}))})(k.geometry||(k.geometry={}))})(m.vsdx||(m.vsdx={}))})(n.io||(n.io={}))})(c.mxgraph||(c.mxgraph=
 {}))})(com||(com={}));
-(function(c){(function(n){(function(m){(function(k){(function(f){var e=function(b){function a(a,g,c,e){a=b.call(this,a,g,c)||this;a.formulaA=e;return a}__extends(a,b);a.prototype.handle=function(a,b){var d="";if(null!=this.x&&null!=this.y&&null!=this.formulaA){var g=b.getHeight(),e=b.getWidth(),f=this.x*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),k=this.y*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),f=Math.round(100*f/e*100)/100,k=Math.round(100*(100-100*k/g))/100,m=this.formulaA.replace(RegExp("\\s",
-"g"),"").toLowerCase().replace(RegExp("polyline\\(","g"),"").replace(RegExp("\\)","g"),""),n;n=m&&m.equals?m.equals("inh"):"inh"===m;if(n)throw Object.defineProperty(Error(),"__classes",{configurable:!0,value:["java.lang.Throwable","java.lang.Object","java.lang.RuntimeException","java.lang.IllegalArgumentException","java.lang.Exception"]});m=m.split(",").slice(0).slice(0);n=parseFloat(m.splice(0,1));parseFloat(m.splice(0,1));for(var C,G;0<m.length;)C=parseFloat(m.splice(0,1))*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),
-G=parseFloat(m.splice(0,1))*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),1===n&&(C=100*C/e),1===n&&(G=100*G/g),G=100-G,C=Math.round(100*C)/100,G=Math.round(100*G)/100,b.setLastX(C),b.setLastY(G),d+='<line x="'+(new String(C)).toString()+'" y="'+(new String(G)).toString()+'"/>';d+='<line x="'+(new String(f)).toString()+'" y="'+(new String(k)).toString()+'"/>';b.getLastMoveX()===f&&b.getLastMoveY()===k&&(d+="<close/>")}return d};return a}(c.mxgraph.io.vsdx.geometry.Row);f.PolylineTo=e;e.__class=
+(function(c){(function(n){(function(m){(function(k){(function(f){var e=function(b){function a(a,h,c,e){a=b.call(this,a,h,c)||this;a.formulaA=e;return a}__extends(a,b);a.prototype.handle=function(a,b){var d="";if(null!=this.x&&null!=this.y&&null!=this.formulaA){var h=b.getHeight(),e=b.getWidth(),f=this.x*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),k=this.y*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),f=Math.round(100*f/e*100)/100,k=Math.round(100*(100-100*k/h))/100,m=this.formulaA.replace(RegExp("\\s",
+"g"),"").toLowerCase().replace(RegExp("polyline\\(","g"),"").replace(RegExp("\\)","g"),""),n;n=m&&m.equals?m.equals("inh"):"inh"===m;if(n)throw Object.defineProperty(Error(),"__classes",{configurable:!0,value:["java.lang.Throwable","java.lang.Object","java.lang.RuntimeException","java.lang.IllegalArgumentException","java.lang.Exception"]});m=m.split(",").slice(0).slice(0);n=parseFloat(m.splice(0,1));parseFloat(m.splice(0,1));for(var B,G;0<m.length;)B=parseFloat(m.splice(0,1))*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),
+G=parseFloat(m.splice(0,1))*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),1===n&&(B=100*B/e),1===n&&(G=100*G/h),G=100-G,B=Math.round(100*B)/100,G=Math.round(100*G)/100,b.setLastX(B),b.setLastY(G),d+='<line x="'+(new String(B)).toString()+'" y="'+(new String(G)).toString()+'"/>';d+='<line x="'+(new String(f)).toString()+'" y="'+(new String(k)).toString()+'"/>';b.getLastMoveX()===f&&b.getLastMoveY()===k&&(d+="<close/>")}return d};return a}(c.mxgraph.io.vsdx.geometry.Row);f.PolylineTo=e;e.__class=
 "com.mxgraph.io.vsdx.geometry.PolylineTo"})(k.geometry||(k.geometry={}))})(m.vsdx||(m.vsdx={}))})(n.io||(n.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
-(function(c){(function(n){(function(m){(function(k){(function(f){var e=function(b){function a(a,c,e,f,k,m,n){a=b.call(this,a,c,e)||this;a.a=f;a.b=k;a.c=m;a.d=n;return a}__extends(a,b);a.prototype.handle=function(a,b){if(null!=this.x&&null!=this.y&&null!=this.a&&null!=this.b&&null!=this.c&&null!=this.d){var d=100*this.x,c=100-100*this.y,g=100*this.a,e=100-100*this.b,f=100*this.c,k=100-100*this.d,d=Math.round(100*d)/100,c=Math.round(100*c)/100,g=Math.round(100*g)/100,e=Math.round(100*e)/100,f=Math.round(100*
-f)/100,k=Math.round(100*k)/100;b.setLastX(d);b.setLastY(c);return'<curve x1="'+(new String(g)).toString()+'" y1="'+(new String(e)).toString()+'" x2="'+(new String(f)).toString()+'" y2="'+(new String(k)).toString()+'" x3="'+(new String(d)).toString()+'" y3="'+(new String(c)).toString()+'"/>'}return""};return a}(c.mxgraph.io.vsdx.geometry.Row);f.RelCubBezTo=e;e.__class="com.mxgraph.io.vsdx.geometry.RelCubBezTo"})(k.geometry||(k.geometry={}))})(m.vsdx||(m.vsdx={}))})(n.io||(n.io={}))})(c.mxgraph||(c.mxgraph=
+(function(c){(function(n){(function(m){(function(k){(function(f){var e=function(b){function a(a,c,e,f,k,m,n){a=b.call(this,a,c,e)||this;a.a=f;a.b=k;a.c=m;a.d=n;return a}__extends(a,b);a.prototype.handle=function(a,b){if(null!=this.x&&null!=this.y&&null!=this.a&&null!=this.b&&null!=this.c&&null!=this.d){var d=100*this.x,c=100-100*this.y,h=100*this.a,e=100-100*this.b,f=100*this.c,k=100-100*this.d,d=Math.round(100*d)/100,c=Math.round(100*c)/100,h=Math.round(100*h)/100,e=Math.round(100*e)/100,f=Math.round(100*
+f)/100,k=Math.round(100*k)/100;b.setLastX(d);b.setLastY(c);return'<curve x1="'+(new String(h)).toString()+'" y1="'+(new String(e)).toString()+'" x2="'+(new String(f)).toString()+'" y2="'+(new String(k)).toString()+'" x3="'+(new String(d)).toString()+'" y3="'+(new String(c)).toString()+'"/>'}return""};return a}(c.mxgraph.io.vsdx.geometry.Row);f.RelCubBezTo=e;e.__class="com.mxgraph.io.vsdx.geometry.RelCubBezTo"})(k.geometry||(k.geometry={}))})(m.vsdx||(m.vsdx={}))})(n.io||(n.io={}))})(c.mxgraph||(c.mxgraph=
 {}))})(com||(com={}));
 (function(c){(function(n){(function(m){(function(k){(function(f){var e=function(b){function a(a,c,e){return b.call(this,a,c,e)||this}__extends(a,b);a.prototype.handle=function(a,b){var d=a.x,c=a.y;null!=this.x&&null!=this.y&&(d=100*this.x,c=100-100*this.y);d=Math.round(100*d)/100;c=Math.round(100*c)/100;a.x=d;a.y=c;b.setLastX(d);b.setLastY(c);return'<line x="'+(new String(d)).toString()+'" y="'+(new String(c)).toString()+'"/>'};return a}(c.mxgraph.io.vsdx.geometry.Row);f.RelLineTo=e;e.__class="com.mxgraph.io.vsdx.geometry.RelLineTo"})(k.geometry||
 (k.geometry={}))})(m.vsdx||(m.vsdx={}))})(n.io||(n.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
 (function(c){(function(n){(function(m){(function(k){(function(f){var e=function(b){function a(a,c,e){return b.call(this,a,c,e)||this}__extends(a,b);a.prototype.handle=function(a,b){var d=a.x,c=a.y;null!=this.x&&null!=this.y&&(d=100*this.x,c=100-100*this.y);d=Math.round(100*d)/100;c=Math.round(100*c)/100;a.x=d;a.y=c;b.setLastX(d);b.setLastY(c);b.setLastMoveX(d);b.setLastMoveY(c);return'<move x="'+(new String(d)).toString()+'" y="'+(new String(c)).toString()+'"/>'};return a}(c.mxgraph.io.vsdx.geometry.Row);
 f.RelMoveTo=e;e.__class="com.mxgraph.io.vsdx.geometry.RelMoveTo"})(k.geometry||(k.geometry={}))})(m.vsdx||(m.vsdx={}))})(n.io||(n.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
-(function(c){(function(n){(function(m){(function(k){(function(f){var e=function(b){function a(a,c,e,f,k){a=b.call(this,a,c,e)||this;a.a=f;a.b=k;return a}__extends(a,b);a.prototype.handle=function(a,b){if(null!=this.x&&null!=this.y&&null!=this.a&&null!=this.b){var d=100*this.x,c=100-100*this.y,g=100*this.a,e=100-100*this.b,d=Math.round(100*d)/100,c=Math.round(100*c)/100,g=Math.round(100*g)/100,e=Math.round(100*e)/100;b.setLastX(d);b.setLastY(c);return'<quad x1="'+(new String(g)).toString()+'" y1="'+
+(function(c){(function(n){(function(m){(function(k){(function(f){var e=function(b){function a(a,c,e,f,k){a=b.call(this,a,c,e)||this;a.a=f;a.b=k;return a}__extends(a,b);a.prototype.handle=function(a,b){if(null!=this.x&&null!=this.y&&null!=this.a&&null!=this.b){var d=100*this.x,c=100-100*this.y,h=100*this.a,e=100-100*this.b,d=Math.round(100*d)/100,c=Math.round(100*c)/100,h=Math.round(100*h)/100,e=Math.round(100*e)/100;b.setLastX(d);b.setLastY(c);return'<quad x1="'+(new String(h)).toString()+'" y1="'+
 (new String(e)).toString()+'" x2="'+(new String(d)).toString()+'" y2="'+(new String(c)).toString()+'"/>'}return""};return a}(c.mxgraph.io.vsdx.geometry.Row);f.RelQuadBezTo=e;e.__class="com.mxgraph.io.vsdx.geometry.RelQuadBezTo"})(k.geometry||(k.geometry={}))})(m.vsdx||(m.vsdx={}))})(n.io||(n.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
-(function(c){(function(n){(function(m){(function(k){(function(f){var e=function(b){function a(a,c,e,f){a=b.call(this,a,c,e)||this;a.a=f;return a}__extends(a,b);a.prototype.handle=function(a,b){if(null!=this.x&&null!=this.y&&null!=this.a){var d=this.x*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),g=this.y*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),d=Math.round(100*d)/100,g=Math.round(100*(100-g))/100;b.setLastX(d);b.setLastY(g)}return""};return a}(c.mxgraph.io.vsdx.geometry.Row);
+(function(c){(function(n){(function(m){(function(k){(function(f){var e=function(b){function a(a,c,e,f){a=b.call(this,a,c,e)||this;a.a=f;return a}__extends(a,b);a.prototype.handle=function(a,b){if(null!=this.x&&null!=this.y&&null!=this.a){var d=this.x*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),h=this.y*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),d=Math.round(100*d)/100,h=Math.round(100*(100-h))/100;b.setLastX(d);b.setLastY(h)}return""};return a}(c.mxgraph.io.vsdx.geometry.Row);
 f.SplineKnot=e;e.__class="com.mxgraph.io.vsdx.geometry.SplineKnot"})(k.geometry||(k.geometry={}))})(m.vsdx||(m.vsdx={}))})(n.io||(n.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
-(function(c){(function(n){(function(m){(function(k){(function(f){var e=function(b){function a(a,c,e,f,k,m,n){a=b.call(this,a,c,e)||this;a.a=f;a.b=k;a.c=m;a.d=n;return a}__extends(a,b);a.prototype.handle=function(a,b){if(null!=this.x&&null!=this.y&&null!=this.a&&null!=this.b&&null!=this.c&&null!=this.d){b.getHeight();b.getWidth();var d=this.x*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),g=this.y*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$();b.setLastKnot(this.c);d=Math.round(100*d)/
-100;g=Math.round(100*(100-g))/100;b.getLastX();b.getLastY();b.setLastX(d);b.setLastY(g);return"<curve "}return""};return a}(c.mxgraph.io.vsdx.geometry.Row);f.SplineStart=e;e.__class="com.mxgraph.io.vsdx.geometry.SplineStart"})(k.geometry||(k.geometry={}))})(m.vsdx||(m.vsdx={}))})(n.io||(n.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
-(function(c){(function(n){(function(m){(function(k){var f=function(){function e(b,a){this.cellElements={};this.sections={};this.styleParents={};this.style=this.pm=this.Id=this.shape=null;this.shape=b;this.pm=a.getPropertiesManager();var d=b.getAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.ID);try{this.Id=null!=d&&0!==d.length?parseFloat(d):-1}catch(g){this.Id=-1}this.cacheCells(a);this.stylesheetRefs(a)}e.__static_initialize=function(){e.__static_initialized||(e.__static_initialized=!0,e.__static_initializer_0(),
+(function(c){(function(n){(function(m){(function(k){(function(f){var e=function(b){function a(a,c,e,f,k,m,n){a=b.call(this,a,c,e)||this;a.a=f;a.b=k;a.c=m;a.d=n;return a}__extends(a,b);a.prototype.handle=function(a,b){if(null!=this.x&&null!=this.y&&null!=this.a&&null!=this.b&&null!=this.c&&null!=this.d){b.getHeight();b.getWidth();var d=this.x*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),h=this.y*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$();b.setLastKnot(this.c);d=Math.round(100*d)/
+100;h=Math.round(100*(100-h))/100;b.getLastX();b.getLastY();b.setLastX(d);b.setLastY(h);return"<curve "}return""};return a}(c.mxgraph.io.vsdx.geometry.Row);f.SplineStart=e;e.__class="com.mxgraph.io.vsdx.geometry.SplineStart"})(k.geometry||(k.geometry={}))})(m.vsdx||(m.vsdx={}))})(n.io||(n.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
+(function(c){(function(n){(function(m){(function(k){var f=function(){function e(b,a){this.cellElements={};this.sections={};this.styleParents={};this.style=this.pm=this.Id=this.shape=null;this.shape=b;this.pm=a.getPropertiesManager();var d=b.getAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.ID);try{this.Id=null!=d&&0!==d.length?parseFloat(d):-1}catch(h){this.Id=-1}this.cacheCells(a);this.stylesheetRefs(a)}e.__static_initialize=function(){e.__static_initialized||(e.__static_initialized=!0,e.__static_initializer_0(),
 e.__static_initializer_1())};e.styleTypes_$LI$=function(){e.__static_initialize();null==e.styleTypes&&(e.styleTypes={});return e.styleTypes};e.__static_initializer_0=function(){e.styleTypes_$LI$()[c.mxgraph.io.vsdx.mxVsdxConstants.FILL]=c.mxgraph.io.vsdx.mxVsdxConstants.FILL_STYLE;e.styleTypes_$LI$()[c.mxgraph.io.vsdx.mxVsdxConstants.FILL_BKGND]=c.mxgraph.io.vsdx.mxVsdxConstants.FILL_STYLE;e.styleTypes_$LI$()[c.mxgraph.io.vsdx.mxVsdxConstants.FILL_BKGND_TRANS]=c.mxgraph.io.vsdx.mxVsdxConstants.FILL_STYLE;
 e.styleTypes_$LI$()[c.mxgraph.io.vsdx.mxVsdxConstants.FILL_FOREGND]=c.mxgraph.io.vsdx.mxVsdxConstants.FILL_STYLE;e.styleTypes_$LI$()[c.mxgraph.io.vsdx.mxVsdxConstants.FILL_FOREGND_TRANS]=c.mxgraph.io.vsdx.mxVsdxConstants.FILL_STYLE;e.styleTypes_$LI$()[c.mxgraph.io.vsdx.mxVsdxConstants.FILL_PATTERN]=c.mxgraph.io.vsdx.mxVsdxConstants.FILL_STYLE;e.styleTypes_$LI$()[c.mxgraph.io.vsdx.mxVsdxConstants.SHDW_PATTERN]=c.mxgraph.io.vsdx.mxVsdxConstants.FILL_STYLE;e.styleTypes_$LI$()[c.mxgraph.io.vsdx.mxVsdxConstants.FILL_STYLE]=
 c.mxgraph.io.vsdx.mxVsdxConstants.FILL_STYLE;e.styleTypes_$LI$().QuickStyleFillColor=c.mxgraph.io.vsdx.mxVsdxConstants.FILL_STYLE;e.styleTypes_$LI$().QuickStyleFillMatrix=c.mxgraph.io.vsdx.mxVsdxConstants.FILL_STYLE;e.styleTypes_$LI$()[c.mxgraph.io.vsdx.mxVsdxConstants.BEGIN_ARROW]=c.mxgraph.io.vsdx.mxVsdxConstants.LINE_STYLE;e.styleTypes_$LI$()[c.mxgraph.io.vsdx.mxVsdxConstants.END_ARROW]=c.mxgraph.io.vsdx.mxVsdxConstants.LINE_STYLE;e.styleTypes_$LI$()[c.mxgraph.io.vsdx.mxVsdxConstants.LINE_PATTERN]=
@@ -1064,15 +1065,15 @@ e.styleTypes_$LI$()[c.mxgraph.io.vsdx.mxVsdxConstants.LEFT_MARGIN]=c.mxgraph.io.
 c.mxgraph.io.vsdx.mxVsdxConstants.TEXT_STYLE;e.styleTypes_$LI$().QuickStyleFontColor=c.mxgraph.io.vsdx.mxVsdxConstants.TEXT_STYLE;e.styleTypes_$LI$().QuickStyleFontMatrix=c.mxgraph.io.vsdx.mxVsdxConstants.TEXT_STYLE};e.prototype.getTheme=function(){return null};e.prototype.getQuickStyleVals=function(){return null};e.prototype.isVertex=function(){return!1};e.prototype.styleDebug=function(b){e.vsdxStyleDebug&&console.info(b)};e.prototype.stylesheetRefs=function(b){this.styleParents[c.mxgraph.io.vsdx.mxVsdxConstants.FILL_STYLE]=
 b.getStylesheet(this.shape.getAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.FILL_STYLE));this.styleParents[c.mxgraph.io.vsdx.mxVsdxConstants.LINE_STYLE]=b.getStylesheet(this.shape.getAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.LINE_STYLE));this.styleParents[c.mxgraph.io.vsdx.mxVsdxConstants.TEXT_STYLE]=b.getStylesheet(this.shape.getAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.TEXT_STYLE));this.style=b.getStylesheet("0")};e.prototype.cacheCells=function(b){if(null!=this.shape){var a=this.shape.childNodes;
 if(null!=a)for(a=a.item(0);null!=a;)null!=a&&1==a.nodeType&&this.parseShapeElem(a,b),a=a.nextSibling}};e.prototype.parseShapeElem=function(b,a){var d=b.nodeName;(function(a,b){return a&&a.equals?a.equals(b):a===b})(d,"Cell")?this.cellElements[b.getAttribute("N")]=b:function(a,b){return a&&a.equals?a.equals(b):a===b}(d,"Section")&&this.parseSection(b)};e.prototype.parseSection=function(b){var a=new c.mxgraph.io.vsdx.Section(b);this.sections[b.getAttribute("N")]=a};e.prototype.hasProperty=function(b,
-a){return this.cellElements.hasOwnProperty(a)};e.prototype.getValue=function(b,a){return null!=b?b.getAttribute("V")||"":a};e.prototype.getValueAsDouble=function(b,a){if(null!=b){var d=b.getAttribute("V");if(null!=d){if(function(a,b){return a&&a.equals?a.equals(b):a===b}(d,"Themed"))return 0;try{var g=parseFloat(d);(function(a,b){return a&&a.equals?a.equals(b):a===b})(b.getAttribute("U"),"PT")&&(g*=c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$());return Math.round(100*g)/100}catch(p){console.error(p.message,
+a){return this.cellElements.hasOwnProperty(a)};e.prototype.getValue=function(b,a){return null!=b?b.getAttribute("V")||"":a};e.prototype.getValueAsDouble=function(b,a){if(null!=b){var d=b.getAttribute("V");if(null!=d){if(function(a,b){return a&&a.equals?a.equals(b):a===b}(d,"Themed"))return 0;try{var h=parseFloat(d);(function(a,b){return a&&a.equals?a.equals(b):a===b})(b.getAttribute("U"),"PT")&&(h*=c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$());return Math.round(100*h)/100}catch(p){console.error(p.message,
 p)}}}return a};e.prototype.getScreenNumericalValue$org_w3c_dom_Element$double=function(b,a){if(null!=b){var d=b.getAttribute("V");if(null!=d)try{var c=parseFloat(d);return this.getScreenNumericalValue$double(c)}catch(p){console.error(p.message,p)}}return a};e.prototype.getScreenNumericalValue=function(b,a){if((null==b||1!=b.nodeType)&&null!==b||"number"!==typeof a&&null!==a){if("number"!==typeof b&&null!==b||void 0!==a)throw Error("invalid overload");return this.getScreenNumericalValue$double(b)}return this.getScreenNumericalValue$org_w3c_dom_Element$double(b,
 a)};e.prototype.getScreenNumericalValue$double=function(b){return b*c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$()};e.prototype.getAttribute=function(b,a,d){var c=this.cellElements;b=c[b]?c[b]:null;null!=b&&(d=b.getAttribute(a)||"");return d};e.prototype.getChildValues=function(b,a){for(var d={},c=b.firstChild;null!=c;){if(null!=c&&1==c.nodeType){var e=c,f,k;((f=e.nodeName)&&f.equals?f.equals("Cell"):"Cell"===f)?(f=e.getAttribute("N")||"",k=e.getAttribute("V")||""):(f=e.nodeName,k=e.textContent);
-if(null!=a){var m=a[f]?a[f]:null;null!=m&&(k=e.getAttribute(m)||"")}d[f]=k}c=c.nextSibling}return d};e.prototype.getCellElement$java_lang_String$java_lang_String$java_lang_String=function(b,a,d){var g=function(a,b){return a[b]?a[b]:null}(this.sections,d),f=null,k=!1;null!=g&&(f=g.getIndexedCell(a,b));if(null!=f){var g=f.getAttribute("F"),m=f.getAttribute("V");if(null!=g&&null!=m)if(function(a,b){return a&&a.equals?a.equals(b):a===b}(g,"Inh")&&function(a,b){return a&&a.equals?a.equals(b):a===b}(m,
-"Themed"))k=!0;else if(function(a,b){return a&&a.equals?a.equals(b):a===b}(g,"THEMEVAL()")&&function(a,b){return a&&a.equals?a.equals(b):a===b}(m,"Themed")&&null!=this.style){if(function(a,b){return a&&a.equals?a.equals(b):a===b}(c.mxgraph.io.vsdx.mxVsdxConstants.COLOR,b))return f;g=this.style.getCellElement$java_lang_String$java_lang_String$java_lang_String(b,a,d);if(null!=g)return g}}if(null==f||k)if(k=function(a,b){return a[b]?a[b]:null}(e.styleTypes_$LI$(),d),k=function(a,b){return a[b]?a[b]:
+if(null!=a){var m=a[f]?a[f]:null;null!=m&&(k=e.getAttribute(m)||"")}d[f]=k}c=c.nextSibling}return d};e.prototype.getCellElement$java_lang_String$java_lang_String$java_lang_String=function(b,a,d){var h=function(a,b){return a[b]?a[b]:null}(this.sections,d),f=null,k=!1;null!=h&&(f=h.getIndexedCell(a,b));if(null!=f){var h=f.getAttribute("F"),m=f.getAttribute("V");if(null!=h&&null!=m)if(function(a,b){return a&&a.equals?a.equals(b):a===b}(h,"Inh")&&function(a,b){return a&&a.equals?a.equals(b):a===b}(m,
+"Themed"))k=!0;else if(function(a,b){return a&&a.equals?a.equals(b):a===b}(h,"THEMEVAL()")&&function(a,b){return a&&a.equals?a.equals(b):a===b}(m,"Themed")&&null!=this.style){if(function(a,b){return a&&a.equals?a.equals(b):a===b}(c.mxgraph.io.vsdx.mxVsdxConstants.COLOR,b))return f;h=this.style.getCellElement$java_lang_String$java_lang_String$java_lang_String(b,a,d);if(null!=h)return h}}if(null==f||k)if(k=function(a,b){return a[b]?a[b]:null}(e.styleTypes_$LI$(),d),k=function(a,b){return a[b]?a[b]:
 null}(this.styleParents,k),null!=k&&(b=k.getCellElement$java_lang_String$java_lang_String$java_lang_String(b,a,d),null!=b))return b;return f};e.prototype.getCellElement=function(b,a,d){if("string"!==typeof b&&null!==b||"string"!==typeof a&&null!==a||"string"!==typeof d&&null!==d){if("string"!==typeof b&&null!==b||void 0!==a||void 0!==d)throw Error("invalid overload");return this.getCellElement$java_lang_String(b)}return this.getCellElement$java_lang_String$java_lang_String$java_lang_String(b,a,d)};
-e.prototype.getCellElement$java_lang_String=function(b){var a=function(a,b){return a[b]?a[b]:null}(this.cellElements,b),d=!1;if(null!=a){var g=a.getAttribute("F"),f=a.getAttribute("V");if(null!=g&&null!=f)if(function(a,b){return a&&a.equals?a.equals(b):a===b}(g,"Inh")&&function(a,b){return a&&a.equals?a.equals(b):a===b}(f,"Themed"))d=!0;else if(-1!=g.indexOf("THEMEVAL()")&&function(a,b){return a&&a.equals?a.equals(b):a===b}(f,"Themed")&&null!=this.style){if(function(a,b){return a&&a.equals?a.equals(b):
+e.prototype.getCellElement$java_lang_String=function(b){var a=function(a,b){return a[b]?a[b]:null}(this.cellElements,b),d=!1;if(null!=a){var h=a.getAttribute("F"),f=a.getAttribute("V");if(null!=h&&null!=f)if(function(a,b){return a&&a.equals?a.equals(b):a===b}(h,"Inh")&&function(a,b){return a&&a.equals?a.equals(b):a===b}(f,"Themed"))d=!0;else if(-1!=h.indexOf("THEMEVAL()")&&function(a,b){return a&&a.equals?a.equals(b):a===b}(f,"Themed")&&null!=this.style){if(function(a,b){return a&&a.equals?a.equals(b):
 a===b}("FillForegnd",b)||function(a,b){return a&&a.equals?a.equals(b):a===b}(c.mxgraph.io.vsdx.mxVsdxConstants.LINE_COLOR,b)||function(a,b){return a&&a.equals?a.equals(b):a===b}(c.mxgraph.io.vsdx.mxVsdxConstants.LINE_PATTERN,b)||function(a,b){return a&&a.equals?a.equals(b):a===b}(c.mxgraph.io.vsdx.mxVsdxConstants.BEGIN_ARROW_SIZE,b)||function(a,b){return a&&a.equals?a.equals(b):a===b}(c.mxgraph.io.vsdx.mxVsdxConstants.END_ARROW_SIZE,b)||function(a,b){return a&&a.equals?a.equals(b):a===b}(c.mxgraph.io.vsdx.mxVsdxConstants.BEGIN_ARROW,
-b)||function(a,b){return a&&a.equals?a.equals(b):a===b}(c.mxgraph.io.vsdx.mxVsdxConstants.END_ARROW,b)||function(a,b){return a&&a.equals?a.equals(b):a===b}(c.mxgraph.io.vsdx.mxVsdxConstants.LINE_WEIGHT,b))return a;g=this.style.getCellElement$java_lang_String(b);if(null!=g)return g}}if(null==a||d)if(d=function(a,b){return a[b]?a[b]:null}(e.styleTypes_$LI$(),b),d=function(a,b){return a[b]?a[b]:null}(this.styleParents,d),null!=d&&(b=d.getCellElement$java_lang_String(b),null!=b))return b;return a};e.prototype.getStrokeColor=
+b)||function(a,b){return a&&a.equals?a.equals(b):a===b}(c.mxgraph.io.vsdx.mxVsdxConstants.END_ARROW,b)||function(a,b){return a&&a.equals?a.equals(b):a===b}(c.mxgraph.io.vsdx.mxVsdxConstants.LINE_WEIGHT,b))return a;h=this.style.getCellElement$java_lang_String(b);if(null!=h)return h}}if(null==a||d)if(d=function(a,b){return a[b]?a[b]:null}(e.styleTypes_$LI$(),b),d=function(a,b){return a[b]?a[b]:null}(this.styleParents,d),null!=d&&(b=d.getCellElement$java_lang_String(b),null!=b))return b;return a};e.prototype.getStrokeColor=
 function(){var b="";(function(a,b){return a&&a.equals?a.equals(b):a===b})(this.getValue(this.getCellElement$java_lang_String(c.mxgraph.io.vsdx.mxVsdxConstants.LINE_PATTERN),"1"),"0")?b="none":(b=this.getColor(this.getCellElement$java_lang_String(c.mxgraph.io.vsdx.mxVsdxConstants.LINE_COLOR)),function(a,b){return a&&a.equals?a.equals(b):a===b}("Themed",b)&&(b=this.getTheme(),b=null!=b?(this.isVertex()?b.getLineColor$com_mxgraph_io_vsdx_theme_QuickStyleVals(this.getQuickStyleVals()):b.getConnLineColor(this.getQuickStyleVals())).toHexStr():
 ""));return b};e.prototype.getFillColor=function(){if(function(a,b){return a&&a.equals?a.equals(b):a===b}("1",this.getValue(this.getCellElement$java_lang_String(c.mxgraph.io.vsdx.mxVsdxConstants.FILL_GRADIENT_ENABLED),"0"))){var b=function(a,b){return a[b]?a[b]:null}(this.sections,"FillGradient");if(null!=b&&(b=this.getColor(b.getIndexedCell("0","GradientStopColor")),null!=b&&0!==b.length))return b}b=this.getColor(this.getCellElement$java_lang_String(c.mxgraph.io.vsdx.mxVsdxConstants.FILL_FOREGND));
 (function(a,b){return a&&a.equals?a.equals(b):a===b})("Themed",b)&&(b=this.getTheme(),null!=b?(b=b.getFillColor$com_mxgraph_io_vsdx_theme_QuickStyleVals(this.getQuickStyleVals()),b=b.toHexStr()):b="#FFFFFF");var a=this.getValue(this.getCellElement$java_lang_String(c.mxgraph.io.vsdx.mxVsdxConstants.FILL_PATTERN),"0");return null!=a&&function(a,b){return a&&a.equals?a.equals(b):a===b}(a,"0")?"none":b};e.prototype.getColor=function(b){b=this.getValue(b,"");(function(a,b){return a&&a.equals?a.equals(b):
@@ -1096,30 +1097,30 @@ b=[];0<b.push(e.DASH);0<b.push(e.SHORT_SPACE);0<b.push(e.SHORT_DASH);0<b.push(e.
 0<b.push(e.DOT);0<b.push(e.LONG_SPACE);0<e.lineDashPatterns_$LI$().push(b);b=[];0<b.push(e.LONG_DASH);0<b.push(e.LONG_SPACE);0<b.push(e.DOT);0<b.push(e.LONG_SPACE);0<b.push(e.DOT);0<b.push(e.LONG_SPACE);0<e.lineDashPatterns_$LI$().push(b);b=[];0<b.push(e.LONG_DASH);0<b.push(e.LONG_SPACE);0<b.push(e.LONG_DASH);0<b.push(e.LONG_SPACE);0<b.push(e.DOT);0<b.push(e.LONG_SPACE);0<e.lineDashPatterns_$LI$().push(b);b=[];0<b.push(e.XLONG_DASH);0<b.push(e.LONG_SPACE);0<b.push(e.DASH);0<b.push(e.LONG_SPACE);0<
 e.lineDashPatterns_$LI$().push(b);b=[];0<b.push(e.XLONG_DASH);0<b.push(e.LONG_SPACE);0<b.push(e.DASH);0<b.push(e.LONG_SPACE);0<b.push(e.DASH);0<b.push(e.LONG_SPACE);0<e.lineDashPatterns_$LI$().push(b);b=[];0<b.push(e.XSHORT_DASH);0<b.push(e.SHORT_SPACE);0<e.lineDashPatterns_$LI$().push(b)};e.getLineDashPattern=function(b){return 0<=b&&23>=b?e.lineDashPatterns_$LI$()[b]:e.lineDashPatterns_$LI$()[0]};return e}();f.__static_initialized=!1;f.vsdxStyleDebug=!1;f.SPACE=4;f.SHORT_SPACE=2;f.LONG_SPACE=6;
 f.DOT=1;f.DASH=8;f.LONG_DASH=12;f.SHORT_DASH=4;f.XLONG_DASH=20;f.XSHORT_DASH=2;k.Style=f;f.__class="com.mxgraph.io.vsdx.Style"})(m.vsdx||(m.vsdx={}))})(n.io||(n.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
-(function(c){(function(n){(function(m){(function(k){(function(f){var e=function(b){function a(a,g,e){var d=b.call(this)||this;d.__com_mxgraph_io_vsdx_theme_HslClr_hue=a/360;d.__com_mxgraph_io_vsdx_theme_HslClr_sat=g/100;d.__com_mxgraph_io_vsdx_theme_HslClr_lum=e/100;d.color=(new c.mxgraph.io.vsdx.theme.HSLColor(a,g,e)).toRgb();return d}__extends(a,b);return a}(c.mxgraph.io.vsdx.theme.OoxmlColor);f.HslClr=e;e.__class="com.mxgraph.io.vsdx.theme.HslClr"})(k.theme||(k.theme={}))})(m.vsdx||(m.vsdx={}))})(n.io||
+(function(c){(function(n){(function(m){(function(k){(function(f){var e=function(b){function a(a,h,e){var d=b.call(this)||this;d.__com_mxgraph_io_vsdx_theme_HslClr_hue=a/360;d.__com_mxgraph_io_vsdx_theme_HslClr_sat=h/100;d.__com_mxgraph_io_vsdx_theme_HslClr_lum=e/100;d.color=(new c.mxgraph.io.vsdx.theme.HSLColor(a,h,e)).toRgb();return d}__extends(a,b);return a}(c.mxgraph.io.vsdx.theme.OoxmlColor);f.HslClr=e;e.__class="com.mxgraph.io.vsdx.theme.HslClr"})(k.theme||(k.theme={}))})(m.vsdx||(m.vsdx={}))})(n.io||
 (n.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));(function(c){(function(n){(function(m){(function(k){(function(f){var e=function(b){function a(a){var d=b.call(this)||this;d.val=a;d.color=new c.mxgraph.io.vsdx.theme.Color(255,255,255);return d}__extends(a,b);return a}(c.mxgraph.io.vsdx.theme.OoxmlColor);f.PrstClr=e;e.__class="com.mxgraph.io.vsdx.theme.PrstClr"})(k.theme||(k.theme={}))})(m.vsdx||(m.vsdx={}))})(n.io||(n.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
 (function(c){(function(n){(function(m){(function(k){(function(f){var e=function(b){function a(a){var d=b.call(this)||this;d.isDynamic=!0;d.val=a;return d}__extends(a,b);a.prototype.calcColor=function(a,c){var d;d=this.val;d="phClr".equals?"phClr".equals(d):"phClr"===d;d?this.color=c.getStyleColor(a):(this.color=c.getSchemeColor(this.val),this.isDynamic=!1);b.prototype.calcColor.call(this,a,c)};return a}(c.mxgraph.io.vsdx.theme.OoxmlColor);f.SchemeClr=e;e.__class="com.mxgraph.io.vsdx.theme.SchemeClr"})(k.theme||
 (k.theme={}))})(m.vsdx||(m.vsdx={}))})(n.io||(n.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
-(function(c){(function(n){(function(m){(function(k){(function(f){var e=function(b){function a(a,g,e){var d=b.call(this)||this;d.r=0;d.g=0;d.b=0;d.r=a;d.g=g;d.b=e;d.color=new c.mxgraph.io.vsdx.theme.Color(a,g,e);return d}__extends(a,b);return a}(c.mxgraph.io.vsdx.theme.OoxmlColor);f.ScrgbClr=e;e.__class="com.mxgraph.io.vsdx.theme.ScrgbClr"})(k.theme||(k.theme={}))})(m.vsdx||(m.vsdx={}))})(n.io||(n.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
+(function(c){(function(n){(function(m){(function(k){(function(f){var e=function(b){function a(a,h,e){var d=b.call(this)||this;d.r=0;d.g=0;d.b=0;d.r=a;d.g=h;d.b=e;d.color=new c.mxgraph.io.vsdx.theme.Color(a,h,e);return d}__extends(a,b);return a}(c.mxgraph.io.vsdx.theme.OoxmlColor);f.ScrgbClr=e;e.__class="com.mxgraph.io.vsdx.theme.ScrgbClr"})(k.theme||(k.theme={}))})(m.vsdx||(m.vsdx={}))})(n.io||(n.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
 (function(c){(function(n){(function(m){(function(k){(function(f){var e=function(b){function a(a){var d=b.call(this)||this;d.hexVal=null;d.hexVal=a;d.color=c.mxgraph.io.vsdx.theme.Color.decodeColorHex(a);return d}__extends(a,b);return a}(c.mxgraph.io.vsdx.theme.OoxmlColor);f.SrgbClr=e;e.__class="com.mxgraph.io.vsdx.theme.SrgbClr"})(k.theme||(k.theme={}))})(m.vsdx||(m.vsdx={}))})(n.io||(n.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
-(function(c){(function(n){(function(m){(function(k){(function(f){var e=function(b){function a(a,g){var d=b.call(this)||this;d.lastClr=null;d.val=a;var e=d.lastClr=g;if(null==e)switch(a){case "windowText":e="000000";break;case "window":e="FFFFFF";break;default:e="FFFFFF"}d.color=c.mxgraph.io.vsdx.theme.Color.decodeColorHex(e);return d}__extends(a,b);return a}(c.mxgraph.io.vsdx.theme.OoxmlColor);f.SysClr=e;e.__class="com.mxgraph.io.vsdx.theme.SysClr"})(k.theme||(k.theme={}))})(m.vsdx||(m.vsdx={}))})(n.io||
+(function(c){(function(n){(function(m){(function(k){(function(f){var e=function(b){function a(a,h){var d=b.call(this)||this;d.lastClr=null;d.val=a;var e=d.lastClr=h;if(null==e)switch(a){case "windowText":e="000000";break;case "window":e="FFFFFF";break;default:e="FFFFFF"}d.color=c.mxgraph.io.vsdx.theme.Color.decodeColorHex(e);return d}__extends(a,b);return a}(c.mxgraph.io.vsdx.theme.OoxmlColor);f.SysClr=e;e.__class="com.mxgraph.io.vsdx.theme.SysClr"})(k.theme||(k.theme={}))})(m.vsdx||(m.vsdx={}))})(n.io||
 (n.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
-(function(c){(function(n){(function(m){(function(k){(function(f){var e=function(b){function a(a,c,e,f,k,m,n){return b.call(this,a,c,e,f,k,m,n)||this}__extends(a,b);a.prototype.handle=function(a,g){if(null!=this.x&&null!=this.y&&null!=this.a&&null!=this.b&&null!=this.c&&null!=this.d){var d=g.getHeight()/c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),e=g.getWidth()/c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$();this.x*=e;this.y*=d;this.a*=e;this.b*=d}return b.prototype.handle.call(this,
-a,g)};return a}(c.mxgraph.io.vsdx.geometry.EllipticalArcTo);f.RelEllipticalArcTo=e;e.__class="com.mxgraph.io.vsdx.geometry.RelEllipticalArcTo"})(k.geometry||(k.geometry={}))})(m.vsdx||(m.vsdx={}))})(n.io||(n.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
+(function(c){(function(n){(function(m){(function(k){(function(f){var e=function(b){function a(a,c,e,f,k,m,n){return b.call(this,a,c,e,f,k,m,n)||this}__extends(a,b);a.prototype.handle=function(a,h){if(null!=this.x&&null!=this.y&&null!=this.a&&null!=this.b&&null!=this.c&&null!=this.d){var d=h.getHeight()/c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$(),e=h.getWidth()/c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$();this.x*=e;this.y*=d;this.a*=e;this.b*=d}return b.prototype.handle.call(this,
+a,h)};return a}(c.mxgraph.io.vsdx.geometry.EllipticalArcTo);f.RelEllipticalArcTo=e;e.__class="com.mxgraph.io.vsdx.geometry.RelEllipticalArcTo"})(k.geometry||(k.geometry={}))})(m.vsdx||(m.vsdx={}))})(n.io||(n.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
 (function(c){(function(n){(function(m){(function(k){var f=function(e){function b(a,b){var d=this;d.text=null;d.fields=null;d.geom=null;d.imageData=null;d.theme=null;d.quickStyleVals=null;d=e.call(this,a,b)||this;d.paragraphs=null;d.styleMap={};d.width=0;d.height=0;d.rotation=0;d.lastX=0;d.lastY=0;d.lastMoveX=0;d.lastMoveY=0;d.lastKnot=-1;d.geomList=null;d.geomListProcessed=!1;d.themeVariant=0;d.cp="0";d.pp="0";d.tp="0";d.fld="0";d.width=d.getScreenNumericalValue$org_w3c_dom_Element$double(function(a,
 b){return a[b]?a[b]:null}(d.cellElements,c.mxgraph.io.vsdx.mxVsdxConstants.WIDTH),0);d.height=d.getScreenNumericalValue$org_w3c_dom_Element$double(function(a,b){return a[b]?a[b]:null}(d.cellElements,c.mxgraph.io.vsdx.mxVsdxConstants.HEIGHT),0);return d}__extends(b,e);b.UNICODE_LINE_SEP_$LI$=function(){null==b.UNICODE_LINE_SEP&&(b.ERROR_IMAGE="PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8IS0tIENyZWF0ZWQgd2l0aCBJbmtzY2FwZSAoaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvKSAtLT4NCjxzdmcNCiAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyINCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiDQogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiDQogICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIg0KICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiDQogICB3aWR0aD0iMjUwIg0KICAgaGVpZ2h0PSIyNTAiDQogICBpZD0ic3ZnMzMxOSINCiAgIHNvZGlwb2RpOnZlcnNpb249IjAuMzIiDQogICBpbmtzY2FwZTp2ZXJzaW9uPSIwLjQ2Ig0KICAgdmVyc2lvbj0iMS4wIg0KICAgc29kaXBvZGk6ZG9jbmFtZT0ibm9waG90b19pLnN2ZyINCiAgIGlua3NjYXBlOm91dHB1dF9leHRlbnNpb249Im9yZy5pbmtzY2FwZS5vdXRwdXQuc3ZnLmlua3NjYXBlIj4NCiAgPGRlZnMNCiAgICAgaWQ9ImRlZnMzMzIxIj4NCiAgICA8aW5rc2NhcGU6cGVyc3BlY3RpdmUNCiAgICAgICBzb2RpcG9kaTp0eXBlPSJpbmtzY2FwZTpwZXJzcDNkIg0KICAgICAgIGlua3NjYXBlOnZwX3g9IjAgOiA1MjYuMTgxMDkgOiAxIg0KICAgICAgIGlua3NjYXBlOnZwX3k9IjAgOiAxMDAwIDogMCINCiAgICAgICBpbmtzY2FwZTp2cF96PSI3NDQuMDk0NDggOiA1MjYuMTgxMDkgOiAxIg0KICAgICAgIGlua3NjYXBlOnBlcnNwM2Qtb3JpZ2luPSIzNzIuMDQ3MjQgOiAzNTAuNzg3MzkgOiAxIg0KICAgICAgIGlkPSJwZXJzcGVjdGl2ZTMzMjciIC8+DQogICAgPGlua3NjYXBlOnBlcnNwZWN0aXZlDQogICAgICAgaWQ9InBlcnNwZWN0aXZlMzM0MiINCiAgICAgICBpbmtzY2FwZTpwZXJzcDNkLW9yaWdpbj0iMzcyLjA0NzI0IDogMzUwLjc4NzM5IDogMSINCiAgICAgICBpbmtzY2FwZTp2cF96PSI3NDQuMDk0NDggOiA1MjYuMTgxMDkgOiAxIg0KICAgICAgIGlua3NjYXBlOnZwX3k9IjAgOiAxMDAwIDogMCINCiAgICAgICBpbmtzY2FwZTp2cF94PSIwIDogNTI2LjE4MTA5IDogMSINCiAgICAgICBzb2RpcG9kaTp0eXBlPSJpbmtzY2FwZTpwZXJzcDNkIiAvPg0KICA8L2RlZnM+DQogIDxzb2RpcG9kaTpuYW1lZHZpZXcNCiAgICAgaWQ9ImJhc2UiDQogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiINCiAgICAgYm9yZGVyY29sb3I9IiM2NjY2NjYiDQogICAgIGJvcmRlcm9wYWNpdHk9IjEuMCINCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAuMCINCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiINCiAgICAgaW5rc2NhcGU6em9vbT0iMi4yNDI5NDI3Ig0KICAgICBpbmtzY2FwZTpjeD0iMTIxLjk3NjQ4Ig0KICAgICBpbmtzY2FwZTpjeT0iMTIyLjQ0MTk4Ig0KICAgICBpbmtzY2FwZTpkb2N1bWVudC11bml0cz0icHgiDQogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9ImxheWVyMSINCiAgICAgc2hvd2dyaWQ9ImZhbHNlIg0KICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjE2NjQiDQogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9Ijg0NCINCiAgICAgaW5rc2NhcGU6d2luZG93LXg9Ii0zIg0KICAgICBpbmtzY2FwZTp3aW5kb3cteT0iLTE4IiAvPg0KICA8bWV0YWRhdGENCiAgICAgaWQ9Im1ldGFkYXRhMzMyNCI+DQogICAgPHJkZjpSREY+DQogICAgICA8Y2M6V29yaw0KICAgICAgICAgcmRmOmFib3V0PSIiPg0KICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD4NCiAgICAgICAgPGRjOnR5cGUNCiAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz4NCiAgICAgICAgPGRjOnRpdGxlPkZvdG9ncmFmaWVydmVyYm90PC9kYzp0aXRsZT4NCiAgICAgICAgPGRjOmRhdGU+MjAwOC0wNi0yOTwvZGM6ZGF0ZT4NCiAgICAgICAgPGRjOmNyZWF0b3I+DQogICAgICAgICAgPGNjOkFnZW50Pg0KICAgICAgICAgICAgPGRjOnRpdGxlPlRvcnJzdGVuIFNrb21wPC9kYzp0aXRsZT4NCiAgICAgICAgICA8L2NjOkFnZW50Pg0KICAgICAgICA8L2RjOmNyZWF0b3I+DQogICAgICAgIDxkYzpyaWdodHM+DQogICAgICAgICAgPGNjOkFnZW50Pg0KICAgICAgICAgICAgPGRjOnRpdGxlPlRvcnN0ZW4gU2tvbXA8L2RjOnRpdGxlPg0KICAgICAgICAgIDwvY2M6QWdlbnQ+DQogICAgICAgIDwvZGM6cmlnaHRzPg0KICAgICAgICA8ZGM6cHVibGlzaGVyPg0KICAgICAgICAgIDxjYzpBZ2VudD4NCiAgICAgICAgICAgIDxkYzp0aXRsZT5Ub3JzdGVuIFNrb21wPC9kYzp0aXRsZT4NCiAgICAgICAgICA8L2NjOkFnZW50Pg0KICAgICAgICA8L2RjOnB1Ymxpc2hlcj4NCiAgICAgICAgPGRjOmxhbmd1YWdlPmRlX0RFPC9kYzpsYW5ndWFnZT4NCiAgICAgICAgPGRjOnN1YmplY3Q+DQogICAgICAgICAgPHJkZjpCYWc+DQogICAgICAgICAgICA8cmRmOmxpPlBpa3RvZ3JhbW07IEZvdG9ncmFmaWVydmVyYm90PC9yZGY6bGk+DQogICAgICAgICAgPC9yZGY6QmFnPg0KICAgICAgICA8L2RjOnN1YmplY3Q+DQogICAgICAgIDxkYzpkZXNjcmlwdGlvbj5Gb3RvZ3JhZmllcnZlcmJvdCBhbHMgUGlrdG9ncmFtbSA8L2RjOmRlc2NyaXB0aW9uPg0KICAgICAgICA8Y2M6bGljZW5zZQ0KICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL3B1YmxpY2RvbWFpbi8iIC8+DQogICAgICA8L2NjOldvcms+DQogICAgICA8Y2M6TGljZW5zZQ0KICAgICAgICAgcmRmOmFib3V0PSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9wdWJsaWNkb21haW4vIj4NCiAgICAgICAgPGNjOnBlcm1pdHMNCiAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyNSZXByb2R1Y3Rpb24iIC8+DQogICAgICAgIDxjYzpwZXJtaXRzDQogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjRGlzdHJpYnV0aW9uIiAvPg0KICAgICAgICA8Y2M6cGVybWl0cw0KICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL25zI0Rlcml2YXRpdmVXb3JrcyIgLz4NCiAgICAgIDwvY2M6TGljZW5zZT4NCiAgICA8L3JkZjpSREY+DQogIDwvbWV0YWRhdGE+DQogIDxnDQogICAgIGlua3NjYXBlOmxhYmVsPSJFYmVuZSAxIg0KICAgICBpbmtzY2FwZTpncm91cG1vZGU9ImxheWVyIg0KICAgICBpZD0ibGF5ZXIxIj4NCiAgICA8cGF0aA0KICAgICAgIHN0eWxlPSJmaWxsOiMwMDAwMDA7ZmlsbC1vcGFjaXR5OjEiDQogICAgICAgZD0iTSAxNjQuNTMxMjUgNjIuNjg3NSBDIDE2Mi43OTExNSA2Mi42ODc1MDEgMTYxLjM3NSA2NC4wNzI0MTYgMTYxLjM3NSA2NS44MTI1IEwgMTYxLjM3NSA2OC43NSBMIDM4LjM3NSA2OC43NSBDIDM1LjA5MjI5OCA2OC43NDk5OTkgMzIuNDY4NzUgNzEuMzczNTQ4IDMyLjQ2ODc1IDc0LjY1NjI1IEwgMzIuNDY4NzUgMTgxLjM3NSBDIDMyLjQ2ODc1IDE4NC42NTc3IDM1LjA5MjMwNyAxODcuMzEyNTEgMzguMzc1IDE4Ny4zMTI1IEwgMjExLjYyNSAxODcuMzEyNSBDIDIxNC45MDc2OSAxODcuMzEyNSAyMTcuNTMxMjcgMTg0LjY1NzcgMjE3LjUzMTI1IDE4MS4zNzUgTCAyMTcuNTMxMjUgNzQuNjU2MjUgQyAyMTcuNTMxMjUgNzEuMzczNTUxIDIxNC45MDc2OCA2OC43NSAyMTEuNjI1IDY4Ljc1IEwgMjAyLjA2MjUgNjguNzUgTCAyMDIuMDYyNSA2NS44MTI1IEMgMjAyLjA2MjUgNjQuMDcyNDEgMjAwLjY0NjM1IDYyLjY4NzUgMTk4LjkwNjI1IDYyLjY4NzUgTCAxNjQuNTMxMjUgNjIuNjg3NSB6IE0gNDYuODEyNSA3OCBMIDg4LjY1NjI1IDc4IEMgOTAuMzk2MzQyIDc4IDkxLjgxMjUgNzkuMzg0OTA3IDkxLjgxMjUgODEuMTI1IEwgOTEuODEyNSA5Ni4zMTI1IEMgOTEuODEyNSA5OC4wNTI1OTIgOTAuMzk2MzQzIDk5LjQzNzUgODguNjU2MjUgOTkuNDM3NSBMIDQ2LjgxMjUgOTkuNDM3NSBDIDQ1LjA3MjQwOCA5OS40Mzc1IDQzLjY4NzUgOTguMDUyNTkzIDQzLjY4NzUgOTYuMzEyNSBMIDQzLjY4NzUgODEuMTI1IEMgNDMuNjg3NSA3OS4zODQ5MDggNDUuMDcyNDA3IDc4IDQ2LjgxMjUgNzggeiBNIDE0NiA4OC4yMTg3NSBDIDE2Ny43MzQ3NSA4OC4yMTg3NTMgMTg1LjM3NSAxMDYuMTUwNzEgMTg1LjM3NSAxMjguMjUgQyAxODUuMzc0OTkgMTUwLjM0OTI4IDE2Ny43MzQ3NCAxNjguMjgxMjUgMTQ2IDE2OC4yODEyNSBDIDEyNC4yNjUyNyAxNjguMjgxMjYgMTA2LjYyNSAxNTAuMzQ5MjkgMTA2LjYyNSAxMjguMjUgQyAxMDYuNjI1IDEwNi4xNTA3MSAxMjQuMjY1MjYgODguMjE4NzUgMTQ2IDg4LjIxODc1IHogTSAxNDYgOTEuNzE4NzUgQyAxMjYuMTY1NTcgOTEuNzE4NzUgMTEwLjA2MjUgMTA4LjA4Mjg5IDExMC4wNjI1IDEyOC4yNSBDIDExMC4wNjI1IDE0OC40MTcxMSAxMjYuMTY1NTcgMTY0Ljc4MTI2IDE0NiAxNjQuNzgxMjUgQyAxNjUuODM0NDMgMTY0Ljc4MTI1IDE4MS45Mzc1IDE0OC40MTcxIDE4MS45Mzc1IDEyOC4yNSBDIDE4MS45Mzc1IDEwOC4wODI4OSAxNjUuODM0NDMgOTEuNzE4NzUgMTQ2IDkxLjcxODc1IHogTSAxNDYgOTYuNTkzNzUgQyAxNjMuMTc3NjggOTYuNTkzNzUyIDE3Ny4xMjUgMTEwLjc4NDIgMTc3LjEyNSAxMjguMjUgQyAxNzcuMTI0OTkgMTQ1LjcxNTggMTYzLjE3NzY5IDE1OS44NzUgMTQ2IDE1OS44NzUgQyAxMjguODIyMzEgMTU5Ljg3NSAxMTQuODc1IDE0NS43MTU4IDExNC44NzUgMTI4LjI1IEMgMTE0Ljg3NSAxMTAuNzg0MTkgMTI4LjgyMjMxIDk2LjU5Mzc1IDE0NiA5Ni41OTM3NSB6IE0gMTc2LjUgMTcyLjcxODc1IEwgMjA2LjE4NzUgMTcyLjcxODc1IEMgMjA3LjQyMTM4IDE3Mi43MTg3NSAyMDguNDA2MjUgMTczLjEyNzgzIDIwOC40MDYyNSAxNzMuNjI1IEwgMjA4LjQwNjI1IDE3Ny45Njg3NSBDIDIwOC40MDYyNSAxNzguNDY1OTIgMjA3LjQyMTM4IDE3OC44NDM3NSAyMDYuMTg3NSAxNzguODQzNzUgTCAxNzYuNSAxNzguODQzNzUgQyAxNzUuMjY2MTEgMTc4Ljg0Mzc1IDE3NC4yODEyNSAxNzguNDY1OTIgMTc0LjI4MTI1IDE3Ny45Njg3NSBMIDE3NC4yODEyNSAxNzMuNjI1IEMgMTc0LjI4MTI1IDE3My4xMjc4MyAxNzUuMjY2MTIgMTcyLjcxODc1IDE3Ni41IDE3Mi43MTg3NSB6ICINCiAgICAgICBpZD0icmVjdDMyMDkiIC8+DQogICAgPHBhdGgNCiAgICAgICBzdHlsZT0iZmlsbDojYzQyNjFkO2ZpbGwtb3BhY2l0eToxIg0KICAgICAgIGQ9Ik0gMjAgMCBDIDE4LjU1OTkzOCAwIDE3LjE2NDc0NyAwLjE1MDk4NjY2IDE1LjgxMjUgMC40Mzc1IEMgMTUuMjEwMjkxIDAuNTY1MTk1NzggMTQuNjExOTEzIDAuNzI2MjExMjYgMTQuMDMxMjUgMC45MDYyNSBDIDEzLjU1NDc3MyAxLjA1Mzk4NTIgMTMuMDg1MzQ5IDEuMjI0ODUzNiAxMi42MjUgMS40MDYyNSBDIDEyLjMyODc2NiAxLjUyMzA3MzkgMTIuMDM5MDMzIDEuNjUwOTE4MiAxMS43NSAxLjc4MTI1IEMgMTEuMzQ3Mjc4IDEuOTYyMzU5OCAxMC45NTA0MDYgMi4xMzc0MTY1IDEwLjU2MjUgMi4zNDM3NSBDIDEwLjUyMTU1NSAyLjM2NTU2ODggMTAuNDc4MjczIDIuMzg0MTU1NSAxMC40Mzc1IDIuNDA2MjUgQyAxMC40MTY5MzQgMi40MTczNzU0IDEwLjM5NTUyMiAyLjQyNjMwNDkgMTAuMzc1IDIuNDM3NSBDIDkuODMyNjg2MSAyLjczMzM0NDYgOS4zMjI2NDQ4IDMuMDYzMjQ1MiA4LjgxMjUgMy40MDYyNSBDIDguMjgzMTIyMSAzLjc2MjE4NjUgNy43NzI3NzI4IDQuMTU4OTIwOSA3LjI4MTI1IDQuNTYyNSBDIDcuMjc1MDU1IDQuNTY3NTg2NiA3LjI1NjE4ODggNC41NTc0MDYxIDcuMjUgNC41NjI1IEMgNy4yMzg1NDc5IDQuNTcxOTQzNCA3LjIzMDE4MDYgNC41ODQyODE2IDcuMjE4NzUgNC41OTM3NSBDIDcuMTA0NzM1MiA0LjY4ODAxNTkgNi45ODY4NTA3IDQuNzc4MjY4NyA2Ljg3NSA0Ljg3NSBDIDYuNTE1NzAyMSA1LjE4NjQyNjQgNi4xNzk3OTA5IDUuNTA3NzA5MSA1Ljg0Mzc1IDUuODQzNzUgQyA1LjQwNDQwMjUgNi4yODE4MDc4IDQuOTkwNzQ0OSA2Ljc0MTM1NTQgNC41OTM3NSA3LjIxODc1IEMgNC41NzkwMDg2IDcuMjM2NTQ2MiA0LjU3NzE4MDYgNy4yNjM0MDE1IDQuNTYyNSA3LjI4MTI1IEMgMy43Njc0ODk4IDguMjQzOTE4MSAzLjA0MjI3MjEgOS4yNzE4NzA1IDIuNDM3NSAxMC4zNzUgQyAyLjQyNjIyMzIgMTAuMzk1NjM1IDIuNDE3NDU2MSAxMC40MTY4MiAyLjQwNjI1IDEwLjQzNzUgQyAyLjEwODM5MDggMTAuOTg1MzQ4IDEuODQwMjIzMyAxMS41NDcyMTQgMS41OTM3NSAxMi4xMjUgQyAxLjU3NTU4NjUgMTIuMTY3NjY1IDEuNTQ5MTI1NSAxMi4yMDcxODIgMS41MzEyNSAxMi4yNSBDIDEuMjg3NzEzMSAxMi44MzI0MzMgMS4wOTQ2NzU0IDEzLjQyMTgyMiAwLjkwNjI1IDE0LjAzMTI1IEMgMC43Mjk2MzAxNCAxNC42MDI0OTUgMC41NjMwOTYzNCAxNS4xODg4MjggMC40Mzc1IDE1Ljc4MTI1IEMgMC4xNDY5MTQwNCAxNy4xNDI1NzggLTQuMzkwNjEzM2UtMTggMTguNTQ5NDY2IDAgMjAgTCAwIDIzMCBDIDAgMjQxLjA4IDguOTIgMjUwIDIwIDI1MCBMIDIzMCAyNTAgQyAyMzEuNDQwMDYgMjUwIDIzMi44MzUyNSAyNDkuODQ5MDEgMjM0LjE4NzUgMjQ5LjU2MjUgQyAyMzQuNzg5MDMgMjQ5LjQzNDk3IDIzNS4zODg2NiAyNDkuMjczODEgMjM1Ljk2ODc1IDI0OS4wOTM3NSBDIDIzNi40NDQ3NiAyNDguOTQ2IDIzNi45MTUwNSAyNDguNzc1MjYgMjM3LjM3NSAyNDguNTkzNzUgQyAyMzcuNjcxMjMgMjQ4LjQ3NjkzIDIzNy45NjA5NyAyNDguMzQ5MDggMjM4LjI1IDI0OC4yMTg3NSBDIDIzOC4yNzk4MSAyNDguMjA1MzEgMjM4LjMxNDAyIDI0OC4yMDEwOSAyMzguMzQzNzUgMjQ4LjE4NzUgQyAyMzguNzU4MzYgMjQ3Ljk5ODMgMjM5LjE2Mzc0IDI0Ny44MDk4MSAyMzkuNTYyNSAyNDcuNTkzNzUgQyAyMzkuNTgzMTggMjQ3LjU4MjU0IDIzOS42MDQzNiAyNDcuNTczNzggMjM5LjYyNSAyNDcuNTYyNSBDIDI0MC4xNjkyNSAyNDcuMjY1MTIgMjQwLjY3NTU4IDI0Ni45Mzg3MyAyNDEuMTg3NSAyNDYuNTkzNzUgQyAyNDEuNjY4NzggMjQ2LjI2OTQxIDI0Mi4xNDM1OSAyNDUuOTI2MzkgMjQyLjU5Mzc1IDI0NS41NjI1IEMgMjQyLjY0NDc0IDI0NS41MjEyOCAyNDIuNjk5NDMgMjQ1LjQ3OTIxIDI0Mi43NSAyNDUuNDM3NSBDIDI0Mi44NzY1MSAyNDUuMzMzMTggMjQzLjAwMTE1IDI0NS4yMzIzNSAyNDMuMTI1IDI0NS4xMjUgQyAyNDMuNDgyNjUgMjQ0LjgxNTM4IDI0My44MjE1NSAyNDQuNDkwMTkgMjQ0LjE1NjI1IDI0NC4xNTYyNSBDIDI0NC40OTIyOSAyNDMuODIwMjEgMjQ0LjgxMzU3IDI0My40ODQzIDI0NS4xMjUgMjQzLjEyNSBDIDI0NS4yMzE2NyAyNDMuMDAyMzQgMjQ1LjMzMzgxIDI0Mi44NzUyNyAyNDUuNDM3NSAyNDIuNzUgQyAyNDUuNDQyNzYgMjQyLjc0MzYyIDI0NS40MzIyNSAyNDIuNzI1MTMgMjQ1LjQzNzUgMjQyLjcxODc1IEMgMjQ1Ljg0MjQ5IDI0Mi4yMjgzIDI0Ni4yMzY0IDI0MS43MTU3NiAyNDYuNTkzNzUgMjQxLjE4NzUgQyAyNDYuOTM4MTIgMjQwLjY3ODQzIDI0Ny4yNjUzNiAyNDAuMTY2MjIgMjQ3LjU2MjUgMjM5LjYyNSBDIDI0Ny41NzM2MyAyMzkuNjA0NzIgMjQ3LjU4MjY4IDIzOS41ODI4MiAyNDcuNTkzNzUgMjM5LjU2MjUgQyAyNDcuODkxOTcgMjM5LjAxNDggMjQ4LjE1OTMxIDIzOC40NTIzOSAyNDguNDA2MjUgMjM3Ljg3NSBDIDI0OC40MTU1NCAyMzcuODUzMjggMjQ4LjQyODI5IDIzNy44MzQyNiAyNDguNDM3NSAyMzcuODEyNSBDIDI0OC40NDY0NCAyMzcuNzkxMjkgMjQ4LjQ1OTg4IDIzNy43NzEyNSAyNDguNDY4NzUgMjM3Ljc1IEMgMjQ4LjcwOTkyIDIzNy4xNzQ3NiAyNDguOTA2MjggMjM2LjU3MDA4IDI0OS4wOTM3NSAyMzUuOTY4NzUgQyAyNDkuMjczNzUgMjM1LjM5MTM3IDI0OS40MzQ2OCAyMzQuODE3NTQgMjQ5LjU2MjUgMjM0LjIxODc1IEMgMjQ5Ljg1MzA5IDIzMi44NTc0MiAyNTAgMjMxLjQ1MDUzIDI1MCAyMzAgTCAyNTAgMjAgQyAyNTAgOC45MiAyNDEuMDggLTMuMzUzNzk4N2UtMTcgMjMwIDAgTCAyMCAwIHogTSAzNC43ODEyNSAxOS40MDYyNSBMIDIyNS40Njg3NSAxOS40MDYyNSBDIDIyOC4zMDk0NiAxOS40MDYyNSAyMzAuNTkzNzUgMjEuNjkwNTQ0IDIzMC41OTM3NSAyNC41MzEyNSBMIDIzMC41OTM3NSAyMTUuMjUgTCAzNC43ODEyNSAxOS40MDYyNSB6IE0gMTkuNDA2MjUgMzQuNzUgTCAyMTUuMjE4NzUgMjMwLjU5Mzc1IEwgMjQuNTMxMjUgMjMwLjU5Mzc1IEMgMjEuNjkwNTQ0IDIzMC41OTM3NiAxOS40MDYyNSAyMjguMzA5NDYgMTkuNDA2MjUgMjI1LjQ2ODc1IEwgMTkuNDA2MjUgMzQuNzUgeiAiDQogICAgICAgaWQ9InBhdGgzMTk2IiAvPg0KICA8L2c+DQo8L3N2Zz4NCg==",
 b.UNICODE_LINE_SEP=String.fromCharCode(8232));return b.UNICODE_LINE_SEP};b.prototype.setThemeAndVariant=function(a,b){this.theme=a;this.themeVariant=b};b.prototype.getTheme=function(){null!=this.theme&&this.theme.setVariant(this.themeVariant);return this.theme};b.prototype.getQuickStyleVals=function(){return this.quickStyleVals};b.prototype.processGeomList=function(a){if(!this.geomListProcessed){this.geomList=new c.mxgraph.io.vsdx.mxVsdxGeometryList(a);if(null!=this.geom)for(a=0;a<this.geom.length;a++)this.geomList.addGeometry(this.geom[a]);
-this.geomListProcessed=!0}};b.prototype.parseShapeElem=function(a,d){e.prototype.parseShapeElem.call(this,a,d);var g=a.nodeName;if(function(a,b){return a&&a.equals?a.equals(b):a===b}(g,"ForeignData")){var f=a.ownerDocument.vsdxFileName,k=a.getAttribute("ForeignType"),g=a.getAttribute("CompressionType")||"";if(function(a,b){return a&&a.equals?a.equals(b):a===b}(k,"Bitmap"))g=g.toLowerCase();else if(function(a,b){return a&&a.equals?a.equals(b):a===b}(k,"MetaFile"))g="png";else if(function(a,b){return a&&
-a.equals?a.equals(b):a===b}(k,"Enhanced Metafile")||function(a,b){return a&&a.equals?a.equals(b):a===b}(k,"EnhMetaFile"))g="png";else return;k=a.firstChild;if(null!=k){if(null!=k&&1==k.nodeType){var m=k;if(function(a,b){return a&&a.equals?a.equals(b):a===b}(m.nodeName.toLowerCase(),"rel")&&(m=m.getAttribute("r:id"),null!=m&&0!==m.length)){var k=f.lastIndexOf("/"),n="",z="";try{n=f.substring(0,k),z=f.substring(k,f.length)}catch(F){return}k=d.getRelationship(m,n+"/_rels"+z+".rels");if(null!=k){f=k.getAttribute("Target")||
-"";m=k.getAttribute("Type");k=f.lastIndexOf("/");try{f=f.substring(k+1,f.length)}catch(F){return}null!=m&&function(a,b){var d=a.length-b.length,c=a.indexOf(b,d);return-1!==c&&c===d}(m,"image")&&(this.imageData={},(k=d.getMedia(c.mxgraph.io.mxVsdxCodec.vsdxPlaceholder+"/media/"+f))?(this.imageData.iData=k,function(a,b){var d=a.length-b.length,c=a.indexOf(b,d);return-1!==c&&c===d}(f.toLowerCase(),".bmp")&&(g="jpg"),this.imageData.iType=g):(this.imageData.iData=b.ERROR_IMAGE,this.imageData.iType="svg+xml"))}return}}k=
-k.nextSibling}}else(function(a,b){return a&&a.equals?a.equals(b):a===b})(g,c.mxgraph.io.vsdx.mxVsdxConstants.TEXT)&&(this.text=a)};b.prototype.parseSection=function(a){var d=a.getAttribute("N");if(function(a,b){return a&&a.equals?a.equals(b):a===b}(d,"Geometry"))null==this.geom&&(this.geom=[]),0<this.geom.push(a);else if(function(a,b){return a&&a.equals?a.equals(b):a===b}(d,"Field")){a=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(a,"Row");for(var g=0;g<a.length;g++){var d=a[g],f=d.getAttribute("IX")||
-"";if(0!==f.length)if(null==this.fields&&(this.fields={}),function(a,b){return a&&a.equals?a.equals(b):a===b}("1",d.getAttribute("Del")))this.fields[f]="";else{for(var k=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(d,"Cell"),m="",n="",z=0;z<k.length;z++){var F=k[z],d=F.getAttribute("N"),F=F.getAttribute("V")||F.textContent||"";switch(d){case "Value":m=F;break;case "Format":n=F}}if(0!==m.length){try{if(function(a,b,d){void 0===d&&(d=0);return a.substr(d,b.length)===b}(n,"{{"))var n=n.replace(/m/g,
-"@").replace(/M/g,"m").replace(/@/g,"M"),B=isNaN(m)?new Date(m):new Date(b.VSDX_START_TIME+Math.floor(864E5*parseFloat(m))),m=Graph.prototype.formatDate(B,n.replace(RegExp("\\{|\\}","g"),""))}catch(C){}this.fields[f]=m}}}}else e.prototype.parseSection.call(this,a)};b.prototype.parseGeom=function(){return this.hasGeomList()?this.geomList.getShapeXML(this):""};b.prototype.getText=function(){return null!=this.text?this.text.textContent:null};b.prototype.getTextChildren=function(){return null!=this.text?
+this.geomListProcessed=!0}};b.prototype.parseShapeElem=function(a,d){e.prototype.parseShapeElem.call(this,a,d);var h=a.nodeName;if(function(a,b){return a&&a.equals?a.equals(b):a===b}(h,"ForeignData")){var f=a.ownerDocument.vsdxFileName,k=a.getAttribute("ForeignType"),h=a.getAttribute("CompressionType")||"";if(function(a,b){return a&&a.equals?a.equals(b):a===b}(k,"Bitmap"))h=h.toLowerCase();else if(function(a,b){return a&&a.equals?a.equals(b):a===b}(k,"MetaFile"))h="png";else if(function(a,b){return a&&
+a.equals?a.equals(b):a===b}(k,"Enhanced Metafile")||function(a,b){return a&&a.equals?a.equals(b):a===b}(k,"EnhMetaFile"))h="png";else return;k=a.firstChild;if(null!=k){if(null!=k&&1==k.nodeType){var m=k;if(function(a,b){return a&&a.equals?a.equals(b):a===b}(m.nodeName.toLowerCase(),"rel")&&(m=m.getAttribute("r:id"),null!=m&&0!==m.length)){var k=f.lastIndexOf("/"),n="",A="";try{n=f.substring(0,k),A=f.substring(k,f.length)}catch(D){return}k=d.getRelationship(m,n+"/_rels"+A+".rels");if(null!=k){f=k.getAttribute("Target")||
+"";m=k.getAttribute("Type");k=f.lastIndexOf("/");try{f=f.substring(k+1,f.length)}catch(D){return}null!=m&&function(a,b){var d=a.length-b.length,c=a.indexOf(b,d);return-1!==c&&c===d}(m,"image")&&(this.imageData={},(k=d.getMedia(c.mxgraph.io.mxVsdxCodec.vsdxPlaceholder+"/media/"+f))?(this.imageData.iData=k,function(a,b){var d=a.length-b.length,c=a.indexOf(b,d);return-1!==c&&c===d}(f.toLowerCase(),".bmp")&&(h="jpg"),this.imageData.iType=h):(this.imageData.iData=b.ERROR_IMAGE,this.imageData.iType="svg+xml"))}return}}k=
+k.nextSibling}}else(function(a,b){return a&&a.equals?a.equals(b):a===b})(h,c.mxgraph.io.vsdx.mxVsdxConstants.TEXT)&&(this.text=a)};b.prototype.parseSection=function(a){var d=a.getAttribute("N");if(function(a,b){return a&&a.equals?a.equals(b):a===b}(d,"Geometry"))null==this.geom&&(this.geom=[]),0<this.geom.push(a);else if(function(a,b){return a&&a.equals?a.equals(b):a===b}(d,"Field")){a=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(a,"Row");for(var h=0;h<a.length;h++){var d=a[h],f=d.getAttribute("IX")||
+"";if(0!==f.length)if(null==this.fields&&(this.fields={}),function(a,b){return a&&a.equals?a.equals(b):a===b}("1",d.getAttribute("Del")))this.fields[f]="";else{for(var k=c.mxgraph.io.vsdx.mxVsdxUtils.getDirectChildNamedElements(d,"Cell"),m="",n="",A=0;A<k.length;A++){var D=k[A],d=D.getAttribute("N"),D=D.getAttribute("V")||D.textContent||"";switch(d){case "Value":m=D;break;case "Format":n=D}}if(0!==m.length){try{if(function(a,b,d){void 0===d&&(d=0);return a.substr(d,b.length)===b}(n,"{{"))var n=n.replace(/m/g,
+"@").replace(/M/g,"m").replace(/@/g,"M"),C=isNaN(m)?new Date(m):new Date(b.VSDX_START_TIME+Math.floor(864E5*parseFloat(m))),m=Graph.prototype.formatDate(C,n.replace(RegExp("\\{|\\}","g"),""))}catch(B){}this.fields[f]=m}}}}else e.prototype.parseSection.call(this,a)};b.prototype.parseGeom=function(){return this.hasGeomList()?this.geomList.getShapeXML(this):""};b.prototype.getText=function(){return null!=this.text?this.text.textContent:null};b.prototype.getTextChildren=function(){return null!=this.text?
 this.text.childNodes:null};b.prototype.getWidth=function(){return 0===this.width&&0<this.height?1:this.width};b.prototype.getHeight=function(){return 0===this.height&&0<this.width?1:this.height};b.prototype.getRotation=function(){return this.rotation};b.prototype.getStyleMap=function(){return this.styleMap};b.prototype.hasGeom=function(){return!(null==this.geom||0==this.geom.length)};b.prototype.hasGeomList=function(){return null!=this.geomList&&this.geomList.hasGeom()};b.prototype.getPPList=function(a){var b=
 null;""!=a&&(a=this.getBullet(a),"0"!=a&&(b='<ul style="margin: 0;list-style-type: '+("4"==a?"square":"disc")+'">'));return b};b.prototype.getTextParagraphFormated=function(a){var b="",c={};c.align=this.getHorizontalAlign(this.pp,!0);c["margin-left"]=this.getIndentLeft(this.pp);c["margin-right"]=this.getIndentRight(this.pp);c["margin-top"]=this.getSpBefore(this.pp)+"px";c["margin-bottom"]=this.getSpAfter(this.pp)+"px";c["text-indent"]=this.getIndentFirst(this.pp);c.valign=this.getAlignVertical();
-c.direction=this.getTextDirection(this.pp);return b+=this.insertAttributes(a,c)};b.prototype.getTextCharFormated=function(a){var b="color:"+this.getTextColor(this.cp)+";",g="font-size:"+parseFloat(this.getTextSize(this.cp))+"px;",e="font-family:"+this.getTextFont(this.cp)+";",f="direction:"+this.getRtlText(this.cp)+";",k="letter-spacing:"+parseFloat(this.getLetterSpace(this.cp))/.71+"px;",m="line-height:"+this.getSpcLine(this.pp),n=";opacity:"+this.getTextOpacity(this.cp),F=this.getTextPos(this.cp),
-B=this.getTextCase(this.cp);(function(a,b){return a&&a.equals?a.equals(b):a===b})(B,"1")?a=a.toUpperCase():function(a,b){return a&&a.equals?a.equals(b):a===b}(B,"2")&&(a=c.mxgraph.io.vsdx.mxVsdxUtils.toInitialCapital(a));(function(a,b){return a&&a.equals?a.equals(b):a===b})(F,"1")?a=c.mxgraph.io.vsdx.mxVsdxUtils.surroundByTags(a,"sup"):function(a,b){return a&&a.equals?a.equals(b):a===b}(F,"2")&&(a=c.mxgraph.io.vsdx.mxVsdxUtils.surroundByTags(a,"sub"));a=this.isBold(this.cp)?c.mxgraph.io.vsdx.mxVsdxUtils.surroundByTags(a,
-"b"):a;a=this.isItalic(this.cp)?c.mxgraph.io.vsdx.mxVsdxUtils.surroundByTags(a,"i"):a;a=this.isUnderline(this.cp)?c.mxgraph.io.vsdx.mxVsdxUtils.surroundByTags(a,"u"):a;a=this.getTextStrike(this.cp)?c.mxgraph.io.vsdx.mxVsdxUtils.surroundByTags(a,"s"):a;a=this.isSmallCaps(this.cp)?c.mxgraph.io.vsdx.mxVsdxUtils.toSmallCaps(a,this.getTextSize(this.cp)):a;return""+('<font style="'+g+e+b+f+k+m+n+'">'+a+"</font>")};b.prototype.getTextDirection=function(a){a=this.getFlags(a);(function(a,b){return a&&a.equals?
+c.direction=this.getTextDirection(this.pp);return b+=this.insertAttributes(a,c)};b.prototype.getTextCharFormated=function(a){var b="color:"+this.getTextColor(this.cp)+";",e="font-size:"+parseFloat(this.getTextSize(this.cp))+"px;",f="font-family:"+this.getTextFont(this.cp)+";",k="direction:"+this.getRtlText(this.cp)+";",m="letter-spacing:"+parseFloat(this.getLetterSpace(this.cp))/.71+"px;",n="line-height:"+this.getSpcLine(this.pp),A=";opacity:"+this.getTextOpacity(this.cp),D=this.getTextPos(this.cp),
+C=this.getTextCase(this.cp);(function(a,b){return a&&a.equals?a.equals(b):a===b})(C,"1")?a=a.toUpperCase():function(a,b){return a&&a.equals?a.equals(b):a===b}(C,"2")&&(a=c.mxgraph.io.vsdx.mxVsdxUtils.toInitialCapital(a));(function(a,b){return a&&a.equals?a.equals(b):a===b})(D,"1")?a=c.mxgraph.io.vsdx.mxVsdxUtils.surroundByTags(a,"sup"):function(a,b){return a&&a.equals?a.equals(b):a===b}(D,"2")&&(a=c.mxgraph.io.vsdx.mxVsdxUtils.surroundByTags(a,"sub"));a=this.isBold(this.cp)?c.mxgraph.io.vsdx.mxVsdxUtils.surroundByTags(a,
+"b"):a;a=this.isItalic(this.cp)?c.mxgraph.io.vsdx.mxVsdxUtils.surroundByTags(a,"i"):a;a=this.isUnderline(this.cp)?c.mxgraph.io.vsdx.mxVsdxUtils.surroundByTags(a,"u"):a;a=this.getTextStrike(this.cp)?c.mxgraph.io.vsdx.mxVsdxUtils.surroundByTags(a,"s"):a;a=this.isSmallCaps(this.cp)?c.mxgraph.io.vsdx.mxVsdxUtils.toSmallCaps(a,this.getTextSize(this.cp)):a;return""+('<font style="'+e+f+b+k+m+n+A+'">'+a+"</font>")};b.prototype.getTextDirection=function(a){a=this.getFlags(a);(function(a,b){return a&&a.equals?
 a.equals(b):a===b})(a,"0")?a="ltr":function(a,b){return a&&a.equals?a.equals(b):a===b}(a,"1")&&(a="rtl");return a};b.prototype.getSpcLine=function(a){var b=!1;a=this.getSpLine(a);0<a?a*=c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$():(a=0===a?100:100*Math.abs(a),b=!0);return(new String(a)).toString()+(b?"%":"px")};b.prototype.getSpcBefore=function(a){return this.getSpBefore(a)};b.prototype.insertAttributes=function(a,b){if(-1!=a.indexOf(">")){var d=a.indexOf(">"),e=a.substring(d),d=a.substring(0,
 d),f=' style="'+c.mxgraph.io.vsdx.mxVsdxUtils.getStyleString(b,":")+'"';return d+f+e}return a};b.prototype.getRtlText=function(a){a=this.getCellElement$java_lang_String$java_lang_String$java_lang_String(c.mxgraph.io.vsdx.mxVsdxConstants.RTL_TEXT,a,c.mxgraph.io.vsdx.mxVsdxConstants.PARAGRAPH);a=this.getValue(a,"ltr");(function(a,b){return a&&a.equals?a.equals(b):a===b})(a,"0")?a="ltr":function(a,b){return a&&a.equals?a.equals(b):a===b}(a,"1")&&(a="rtl");return a};b.prototype.isBold=function(a){var b=
 !1;a=this.getTextStyle(a);(function(a,b){return a&&a.equals?a.equals(b):a===b})(a,"")||function(a,b){return a&&a.equals?a.equals(b):a===b}(a.toLowerCase(),"themed")||(b=1===(parseInt(a)&1));return b};b.prototype.isItalic=function(a){var b=!1;a=this.getTextStyle(a);(function(a,b){return a&&a.equals?a.equals(b):a===b})(a,"")||function(a,b){return a&&a.equals?a.equals(b):a===b}(a.toLowerCase(),"themed")||(b=2===(parseInt(a)&2));return b};b.prototype.isUnderline=function(a){var b=!1;a=this.getTextStyle(a);
@@ -1127,12 +1128,12 @@ d),f=' style="'+c.mxgraph.io.vsdx.mxVsdxUtils.getStyleString(b,":")+'"';return d
 a,c.mxgraph.io.vsdx.mxVsdxConstants.CHARACTER);a=this.getValue(a,"0");var b="1";null!=a&&0!==a.length&&(a=1-parseFloat(a),b=(new String(a)).toString());return b};b.prototype.getTextSize=function(a){a=this.getCellElement$java_lang_String$java_lang_String$java_lang_String(c.mxgraph.io.vsdx.mxVsdxConstants.SIZE,a,c.mxgraph.io.vsdx.mxVsdxConstants.CHARACTER);a=this.getScreenNumericalValue$org_w3c_dom_Element$double(a,12);return""+Math.floor(Math.round(100*a)/100)};b.prototype.getAlignVertical=function(){var a=
 mxConstants.ALIGN_MIDDLE,b=parseInt(this.getValue(this.getCellElement$java_lang_String(c.mxgraph.io.vsdx.mxVsdxConstants.VERTICAL_ALIGN),"1"));0===b?a=mxConstants.ALIGN_TOP:2===b&&(a=mxConstants.ALIGN_BOTTOM);return a};b.prototype.getGeomList=function(){return this.geomList};b.prototype.getLastX=function(){return this.lastX};b.prototype.getLastY=function(){return this.lastY};b.prototype.getLastMoveX=function(){return this.lastMoveX};b.prototype.getLastMoveY=function(){return this.lastMoveY};b.prototype.getLastKnot=
 function(){return this.lastKnot};b.prototype.setLastX=function(a){this.lastX=a};b.prototype.setLastY=function(a){this.lastY=a};b.prototype.setLastMoveX=function(a){this.lastMoveX=a};b.prototype.setLastMoveY=function(a){this.lastMoveY=a};b.prototype.setLastKnot=function(a){this.lastKnot=a};return b}(c.mxgraph.io.vsdx.Style);f.VSDX_START_TIME=-22091688E5;k.Shape=f;f.__class="com.mxgraph.io.vsdx.Shape"})(m.vsdx||(m.vsdx={}))})(n.io||(n.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
-(function(c){(function(n){(function(m){(function(k){var f=function(e){function b(a,b,g,f,k,m){var d=this;d.masterShape=null;d.master=null;d.parentHeight=0;d=e.call(this,b,m)||this;d.htmlLabels=!0;d.rootShape=d;d.shapeName=null;d.shapeIndex=0;d.vertex=!0;d.childShapes={};var p=d.getMasterId(),n=d.getShapeMasterId();d.master=null!=p?f[p]?f[p]:null:k;null!=d.master&&(d.masterShape=null==p&&null!=n?d.master.getSubShape(n):d.master.getMasterShape());f=d.getNameU();k=f.lastIndexOf(".");-1!==k&&(f=f.substring(0,
+(function(c){(function(n){(function(m){(function(k){var f=function(e){function b(a,b,h,f,k,m){var d=this;d.masterShape=null;d.master=null;d.parentHeight=0;d=e.call(this,b,m)||this;d.htmlLabels=!0;d.rootShape=d;d.shapeName=null;d.shapeIndex=0;d.vertex=!0;d.childShapes={};var p=d.getMasterId(),n=d.getShapeMasterId();d.master=null!=p?f[p]?f[p]:null:k;null!=d.master&&(d.masterShape=null==p&&null!=n?d.master.getSubShape(n):d.master.getMasterShape());f=d.getNameU();k=f.lastIndexOf(".");-1!==k&&(f=f.substring(0,
 k));d.shapeName=f;b=b.getElementsByTagName(c.mxgraph.io.vsdx.mxVsdxConstants.SHAPES);null!=b&&0<b.length&&(b=b.item(0),d.childShapes=a.parseShapes(b,d.master,!1));b=d.calcRotation();d.rotation=100*b/100;d.rotation%=360;b=a.getCellIntValue("ThemeIndex",-100);-100===b&&(b=parseInt(d.getValue(d.getCellElement$java_lang_String("ThemeIndex"),"0")));m=function(a,b){null==a.entries&&(a.entries=[]);for(var d=0;d<a.entries.length;d++)if(null!=a.entries[d].key.equals&&a.entries[d].key.equals(b)||a.entries[d].key===
 b)return a.entries[d].value;return null}(m.getThemes(),b);a=a.getCellIntValue("VariationColorIndex",0);d.setThemeAndVariant(m,a);b=function(a){null==a.entries&&(a.entries=[]);return a.entries}(d.childShapes);for(f=0;f<b.length;f++)k=b[f].getValue(),k.setRootShape(d),null==k.theme&&k.setThemeAndVariant(m,a);d.quickStyleVals=new c.mxgraph.io.vsdx.theme.QuickStyleVals(parseInt(d.getValue(d.getCellElement$java_lang_String("QuickStyleEffectsMatrix"),"0")),parseInt(d.getValue(d.getCellElement$java_lang_String("QuickStyleFillColor"),
 "1")),parseInt(d.getValue(d.getCellElement$java_lang_String("QuickStyleFillMatrix"),"0")),parseInt(d.getValue(d.getCellElement$java_lang_String("QuickStyleFontColor"),"1")),parseInt(d.getValue(d.getCellElement$java_lang_String("QuickStyleFontMatrix"),"0")),parseInt(d.getValue(d.getCellElement$java_lang_String("QuickStyleLineColor"),"1")),parseInt(d.getValue(d.getCellElement$java_lang_String("QuickStyleLineMatrix"),"0")),parseInt(d.getValue(d.getCellElement$java_lang_String("QuickStyleShadowColor"),
 "1")),parseInt(d.getValue(d.getCellElement$java_lang_String("QuickStyleType"),"0")),parseInt(d.getValue(d.getCellElement$java_lang_String("QuickStyleVariation"),"0")));null!=d.masterShape?(d.masterShape.processGeomList(null),d.processGeomList(d.masterShape.getGeomList()),0===d.width&&(d.width=d.getScreenNumericalValue$org_w3c_dom_Element$double(d.getCellElement$java_lang_String(c.mxgraph.io.vsdx.mxVsdxConstants.WIDTH),0)),0===d.height&&(d.height=d.getScreenNumericalValue$org_w3c_dom_Element$double(d.getCellElement$java_lang_String(c.mxgraph.io.vsdx.mxVsdxConstants.HEIGHT),
-0))):d.processGeomList(null);d.vertex=g||null!=d.childShapes&&!function(a){null==a.entries&&(a.entries=[]);return 0==a.entries.length}(d.childShapes)||null!=d.geomList&&(!d.geomList.isNoFill()||1<d.geomList.getGeoCount());d.layerMember=d.getValue(d.getCellElement$java_lang_String("LayerMember"));return d}__extends(b,e);b.__static_initialize=function(){b.__static_initialized||(b.__static_initialized=!0,b.__static_initializer_0())};b.OFFSET_ARRAY_$LI$=function(){b.__static_initialize();null==b.OFFSET_ARRAY&&
+0))):d.processGeomList(null);d.vertex=h||null!=d.childShapes&&!function(a){null==a.entries&&(a.entries=[]);return 0==a.entries.length}(d.childShapes)||null!=d.geomList&&(!d.geomList.isNoFill()||1<d.geomList.getGeoCount());d.layerMember=d.getValue(d.getCellElement$java_lang_String("LayerMember"));return d}__extends(b,e);b.__static_initialize=function(){b.__static_initialized||(b.__static_initialized=!0,b.__static_initializer_0())};b.OFFSET_ARRAY_$LI$=function(){b.__static_initialize();null==b.OFFSET_ARRAY&&
 (b.OFFSET_ARRAY=["Organizational unit","Domain 3D"].slice(0).slice(0));return b.OFFSET_ARRAY};b.arrowSizes_$LI$=function(){b.__static_initialize();null==b.arrowSizes&&(b.arrowSizes=[2,3,5,7,9,22,45]);return b.arrowSizes};b.arrowTypes_$LI$=function(){b.__static_initialize();return b.arrowTypes};b.__static_initializer_0=function(){b.arrowTypes={};(function(a,b,c){null==a.entries&&(a.entries=[]);for(var d=0;d<a.entries.length;d++)if(null!=a.entries[d].key.equals&&a.entries[d].key.equals(b)||a.entries[d].key===
 b){a.entries[d].value=c;return}a.entries.push({key:b,value:c,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),0,mxConstants.NONE);(function(a,b,c){null==a.entries&&(a.entries=[]);for(var d=0;d<a.entries.length;d++)if(null!=a.entries[d].key.equals&&a.entries[d].key.equals(b)||a.entries[d].key===b){a.entries[d].value=c;return}a.entries.push({key:b,value:c,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),
 1,mxConstants.ARROW_OPEN);(function(a,b,c){null==a.entries&&(a.entries=[]);for(var d=0;d<a.entries.length;d++)if(null!=a.entries[d].key.equals&&a.entries[d].key.equals(b)||a.entries[d].key===b){a.entries[d].value=c;return}a.entries.push({key:b,value:c,getKey:function(){return this.key},getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),2,"blockThin");(function(a,b,c){null==a.entries&&(a.entries=[]);for(var d=0;d<a.entries.length;d++)if(null!=a.entries[d].key.equals&&a.entries[d].key.equals(b)||
@@ -1171,9 +1172,9 @@ this.styleMap[mxConstants.STYLE_ALIGN]=this.getHorizontalAlign("0",!1),this.getH
 this.getIndex(m);break;case "fld":f=this.getIndex(m);break;case "#text":m=m.textContent;var n;n=this.paragraphs;n=n[e]?n[e]:null;null==n?(n=new c.mxgraph.io.vsdx.Paragraph(m,b,e,f),this.paragraphs[e]=n):n.addText(m,b,f)}}};b.prototype.createHybridLabel=function(a){var b=function(a,b){return a[b]?a[b]:null}(this.paragraphs,a);this.styleMap[mxConstants.STYLE_ALIGN]=this.getHorizontalAlign(a,!1);this.styleMap[mxConstants.STYLE_SPACING_LEFT]=this.getIndentLeft(a);this.styleMap[mxConstants.STYLE_SPACING_RIGHT]=
 this.getIndentRight(a);this.styleMap[mxConstants.STYLE_SPACING_TOP]=this.getSpBefore(a);this.styleMap[mxConstants.STYLE_SPACING_BOTTOM]=this.getSpAfter(a);this.styleMap[mxConstants.STYLE_VERTICAL_ALIGN]=this.getAlignVertical();this.styleMap.fontColor=this.getTextColor(a);this.styleMap.fontSize=this.getTextSize(a);this.styleMap.fontFamily=this.getTextFont(a);var c=this.isBold(a)?mxConstants.FONT_BOLD:0,c=c|(this.isItalic(a)?mxConstants.FONT_ITALIC:0),c=c|(this.isUnderline(a)?mxConstants.FONT_UNDERLINE:
 0);this.styleMap.fontStyle=(new String(c)).toString();a=b.numValues();for(var c=null,e=0;e<a;e++){var f=b.getValue(e);if(0===f.length&&null!=this.fields){var k=b.getField(e);null!=k&&(f=function(a,b){return a[b]?a[b]:null}(this.fields,k),null==f&&null!=this.masterShape&&null!=this.masterShape.fields&&(f=function(a,b){return a[b]?a[b]:null}(this.masterShape.fields,k)))}null!=f&&(c=null==c?f:c+f)}return c};b.prototype.getHtmlTextContent=function(a){function b(a){a=c.mxgraph.io.vsdx.mxVsdxUtils.htmlEntities(a);
-m&&(a="<li>"+a,m=!1);k?(a=a.split("\n"),a[a.length-1]||(a.pop(),m=!0),a=a.join("</li><li>")):a=a.replace(RegExp("\n","g"),"<br/>").replace(new RegExp(c.mxgraph.io.vsdx.Shape.UNICODE_LINE_SEP,"g"),"<br/>");return this.getTextCharFormated(a)}var e="",f=!0,k=!1,m=!1;if(null!=a&&0<a.length)for(var n=0;n<a.length;n++){var z=a.item(n);(function(a,b){return a&&a.equals?a.equals(b):a===b})(z.nodeName,"cp")?this.cp=this.getIndex(z):function(a,b){return a&&a.equals?a.equals(b):a===b}(z.nodeName,"tp")?this.tp=
-this.getIndex(z):function(a,b){return a&&a.equals?a.equals(b):a===b}(z.nodeName,"pp")?(this.pp=this.getIndex(z),k&&(e+="</li></ul>"),f?f=!1:e+="</p>",e+=this.getTextParagraphFormated("<p>"),z=this.getPPList(this.pp),m=k=null!=z,e+=k?z:""):function(a,b){return a&&a.equals?a.equals(b):a===b}(z.nodeName,"fld")?(this.fld=this.getIndex(z),z=null,null!=this.fields&&(z=function(a,b){return a[b]?a[b]:null}(this.fields,this.fld)),null==z&&null!=this.masterShape&&null!=this.masterShape.fields&&(z=function(a,
-b){return a[b]?a[b]:null}(this.masterShape.fields,this.fld)),null!=z&&(e+=b.call(this,z))):function(a,b){return a&&a.equals?a.equals(b):a===b}(z.nodeName,"#text")&&(z=z.textContent,e+=b.call(this,z))}k&&(e+="</li></ul>");e+=f?"":"</p>";c.mxgraph.io.vsdx.mxVsdxUtils.surroundByTags(e,"div");return e};b.prototype.isConnectorBigNameU=function(a){return function(a,b,c){void 0===c&&(c=0);return a.substr(c,b.length)===b}(a,"60 degree single")||function(a,b,c){void 0===c&&(c=0);return a.substr(c,b.length)===
+m&&(a="<li>"+a,m=!1);k?(a=a.split("\n"),a[a.length-1]||(a.pop(),m=!0),a=a.join("</li><li>")):a=a.replace(RegExp("\n","g"),"<br/>").replace(new RegExp(c.mxgraph.io.vsdx.Shape.UNICODE_LINE_SEP,"g"),"<br/>");return this.getTextCharFormated(a)}var e="",f=!0,k=!1,m=!1;if(null!=a&&0<a.length)for(var n=0;n<a.length;n++){var A=a.item(n);(function(a,b){return a&&a.equals?a.equals(b):a===b})(A.nodeName,"cp")?this.cp=this.getIndex(A):function(a,b){return a&&a.equals?a.equals(b):a===b}(A.nodeName,"tp")?this.tp=
+this.getIndex(A):function(a,b){return a&&a.equals?a.equals(b):a===b}(A.nodeName,"pp")?(this.pp=this.getIndex(A),k&&(e+="</li></ul>"),f?f=!1:e+="</p>",e+=this.getTextParagraphFormated("<p>"),A=this.getPPList(this.pp),m=k=null!=A,e+=k?A:""):function(a,b){return a&&a.equals?a.equals(b):a===b}(A.nodeName,"fld")?(this.fld=this.getIndex(A),A=null,null!=this.fields&&(A=function(a,b){return a[b]?a[b]:null}(this.fields,this.fld)),null==A&&null!=this.masterShape&&null!=this.masterShape.fields&&(A=function(a,
+b){return a[b]?a[b]:null}(this.masterShape.fields,this.fld)),null!=A&&(e+=b.call(this,A))):function(a,b){return a&&a.equals?a.equals(b):a===b}(A.nodeName,"#text")&&(A=A.textContent,e+=b.call(this,A))}k&&(e+="</li></ul>");e+=f?"":"</p>";c.mxgraph.io.vsdx.mxVsdxUtils.surroundByTags(e,"div");return e};b.prototype.isConnectorBigNameU=function(a){return function(a,b,c){void 0===c&&(c=0);return a.substr(c,b.length)===b}(a,"60 degree single")||function(a,b,c){void 0===c&&(c=0);return a.substr(c,b.length)===
 b}(a,"45 degree single")||function(a,b,c){void 0===c&&(c=0);return a.substr(c,b.length)===b}(a,"45 degree double")||function(a,b,c){void 0===c&&(c=0);return a.substr(c,b.length)===b}(a,"60 degree double")||function(a,b,c){void 0===c&&(c=0);return a.substr(c,b.length)===b}(a,"45 degree  tail")||function(a,b,c){void 0===c&&(c=0);return a.substr(c,b.length)===b}(a,"60 degree  tail")||function(a,b,c){void 0===c&&(c=0);return a.substr(c,b.length)===b}(a,"45 degree tail")||function(a,b,c){void 0===c&&(c=
 0);return a.substr(c,b.length)===b}(a,"60 degree tail")||function(a,b,c){void 0===c&&(c=0);return a.substr(c,b.length)===b}(a,"Flexi-arrow 2")||function(a,b,c){void 0===c&&(c=0);return a.substr(c,b.length)===b}(a,"Flexi-arrow 1")||function(a,b,c){void 0===c&&(c=0);return a.substr(c,b.length)===b}(a,"Flexi-arrow 3")||function(a,b,c){void 0===c&&(c=0);return a.substr(c,b.length)===b}(a,"Double flexi-arrow")||function(a,b,c){void 0===c&&(c=0);return a.substr(c,b.length)===b}(a,"Fancy arrow")};b.prototype.isVertex=
 function(){return this.vertex};b.prototype.getOriginPoint=function(a,b){var d=this.getPinX(),e=this.getPinY(),f=this.getLocPinY(),k=this.getLocPinX(),m=this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(c.mxgraph.io.vsdx.mxVsdxConstants.WIDTH),0),n=this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(c.mxgraph.io.vsdx.mxVsdxConstants.HEIGHT),0),d=d-k,e=a-(e+(n-f));return!b||f===n/2&&k===m/2||0===this.rotation?new mxPoint(d,e):(k=m/2-k,f-=n/2,n=Math.cos((360-
@@ -1201,23 +1202,23 @@ function(){return this.shape.hasAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.MAST
 b.prototype.getMaster=function(){return this.master};b.prototype.getNameU=function(){var a=this.shape.getAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.NAME_U)||"",b;(b=null==a)||(b=(b=a)&&b.equals?b.equals(""):""===b);b&&null!=this.masterShape&&(a=this.masterShape.getNameU());return a};b.prototype.getName=function(){var a=this.shape.getAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.NAME),b;(b=null==a)||(b=(b=a)&&b.equals?b.equals(""):""===b);b&&null!=this.masterShape&&(a=this.masterShape.getName());return a};
 b.prototype.getMasterName=function(){return this.shapeName};b.prototype.setLabelOffset=function(a,b){var d="",e="";this.shape.hasAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.NAME_U)&&(d=this.shape.getAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.NAME_U));null!=this.getMaster()&&null!=this.getMaster().getMasterElement()&&this.getMaster().getMasterElement().hasAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.NAME_U)&&(e=this.getMaster().getMasterElement().getAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.NAME_U));
 if(function(a,b,d){void 0===d&&(d=0);return a.substr(d,b.length)===b}(d,"Organizational unit")||function(a,b,d){void 0===d&&(d=0);return a.substr(d,b.length)===b}(e,"Organizational unit")){var f=this.shape.getElementsByTagName(c.mxgraph.io.vsdx.mxVsdxConstants.CONTROL).item(0),d=null,d="0.0",e=null,e="-0.4";null!=f&&(d=f.getElementsByTagName(c.mxgraph.io.vsdx.mxVsdxConstants.X).item(0),d=d.hasAttribute("F")?d.getAttribute("F"):d.textContent,e=f.getElementsByTagName(c.mxgraph.io.vsdx.mxVsdxConstants.Y).item(0),
-e=e.hasAttribute("F")?e.getAttribute("F"):e.textContent);f=a.getGeometry();d=d.split("Width/2+").join("");d=d.split("DL").join("");e=e.split("Height*").join("");(function(a,b){return a&&a.equals?a.equals(b):a===b})(d,"Inh")&&(d="0.0");(function(a,b){return a&&a.equals?a.equals(b):a===b})(e,"Inh")&&(e="-0.4");-1!=e.indexOf("txtHeight")&&(e="-0.4");for(var k=b.split(";"),m="",n=0;n<k.length;n++){var F=k[n],F=F.trim();(function(a,b,d){void 0===d&&(d=0);return a.substr(d,b.length)===b})(F,"tabHeight=")&&
-(m=F.split("tabHeight=").join(""))}(function(a,b){return a&&a.equals?a.equals(b):a===b})(m,"")&&(m="20");k=parseFloat(m);d=parseFloat(d);e=parseFloat(e);m=f.height;d=.1*f.width+100*d;d=new mxPoint(d,m-m*e-k/2);a.getGeometry().offset=d}else if(function(a,b,d){void 0===d&&(d=0);return a.substr(d,b.length)===b}(d,"Domain 3D")||function(a,b,d){void 0===d&&(d=0);return a.substr(d,b.length)===b}(e,"Domain 3D")){f=this.shape.getElementsByTagName(c.mxgraph.io.vsdx.mxVsdxConstants.CONTROL).item(0);d=null;
+e=e.hasAttribute("F")?e.getAttribute("F"):e.textContent);f=a.getGeometry();d=d.split("Width/2+").join("");d=d.split("DL").join("");e=e.split("Height*").join("");(function(a,b){return a&&a.equals?a.equals(b):a===b})(d,"Inh")&&(d="0.0");(function(a,b){return a&&a.equals?a.equals(b):a===b})(e,"Inh")&&(e="-0.4");-1!=e.indexOf("txtHeight")&&(e="-0.4");for(var k=b.split(";"),m="",n=0;n<k.length;n++){var D=k[n],D=D.trim();(function(a,b,d){void 0===d&&(d=0);return a.substr(d,b.length)===b})(D,"tabHeight=")&&
+(m=D.split("tabHeight=").join(""))}(function(a,b){return a&&a.equals?a.equals(b):a===b})(m,"")&&(m="20");k=parseFloat(m);d=parseFloat(d);e=parseFloat(e);m=f.height;d=.1*f.width+100*d;d=new mxPoint(d,m-m*e-k/2);a.getGeometry().offset=d}else if(function(a,b,d){void 0===d&&(d=0);return a.substr(d,b.length)===b}(d,"Domain 3D")||function(a,b,d){void 0===d&&(d=0);return a.substr(d,b.length)===b}(e,"Domain 3D")){f=this.shape.getElementsByTagName(c.mxgraph.io.vsdx.mxVsdxConstants.CONTROL).item(0);d=null;
 d="0.0";e=null;e="-0.4";null!=f&&(d=f.getElementsByTagName(c.mxgraph.io.vsdx.mxVsdxConstants.X).item(0),d=d.getAttribute("F")||"",e=f.getElementsByTagName(c.mxgraph.io.vsdx.mxVsdxConstants.Y).item(0),e=e.getAttribute("F")||"");f=a.getGeometry();d=d.split("Width/2+").join("");d=d.split("DL").join("");e=e.split("Height*").join("");if(function(a,b){return a&&a.equals?a.equals(b):a===b}(d,"Inh")||function(a,b){return a&&a.equals?a.equals(b):a===b}(d,""))d="0.0";if(function(a,b){return a&&a.equals?a.equals(b):
 a===b}(e,"Inh")||function(a,b){return a&&a.equals?a.equals(b):a===b}(e,""))e="-0.4";-1!=e.indexOf("txtHeight")&&(e="-0.4");d=parseFloat(d);e=parseFloat(e);m=f.height;d=.1*f.width+100*d;d=new mxPoint(d,m-m*e);a.getGeometry().offset=d}};b.prototype.getForm=function(){var a={};if(this.isVertex())try{var d=b.getType(this.getShape());this.styleDebug("shape type = "+d);if(null!=this.imageData||function(a,b){return a&&a.equals?a.equals(b):a===b}(c.mxgraph.io.vsdx.mxVsdxConstants.FOREIGN,d)&&null!=this.masterShape&&
-null!=this.masterShape.imageData){var e=null!=this.imageData?this.imageData:this.masterShape.imageData;a.shape="image";a.aspect="fixed";var f=function(a,b){return a[b]?a[b]:null}(e,"iType"),k=function(a,b){return a[b]?a[b]:null}(e,"iData");a.image="data:image/"+f+","+k;return a}var m=this.parseGeom();if(function(a,b){return a&&a.equals?a.equals(b):a===b}(m,""))return this.styleDebug("No geom found"),a;var n=Graph.compress(m);a[mxConstants.STYLE_SHAPE]="stencil("+n+")"}catch(z){console.error(z.message,
-z)}else return this.getEdgeStyle();return a};b.prototype.isOff_page_reference=function(){var a=this.getNameU();return function(a,b){return a&&a.equals?a.equals(b):a===b}(a,"Off-page reference")||function(a,b){return a&&a.equals?a.equals(b):a===b}(a,"Lined/Shaded process")?!0:!1};b.prototype.isExternal_process=function(){var a;a=(a=this.shapeName)&&a.equals?a.equals("External process"):"External process"===a;return a};b.prototype.getDirection=function(a){a=mxResources.get("mxOffset"+this.shapeName);
+null!=this.masterShape.imageData){var e=null!=this.imageData?this.imageData:this.masterShape.imageData;a.shape="image";a.aspect="fixed";var f=function(a,b){return a[b]?a[b]:null}(e,"iType"),k=function(a,b){return a[b]?a[b]:null}(e,"iData");a.image="data:image/"+f+","+k;return a}var m=this.parseGeom();if(function(a,b){return a&&a.equals?a.equals(b):a===b}(m,""))return this.styleDebug("No geom found"),a;var n=Graph.compress(m);a[mxConstants.STYLE_SHAPE]="stencil("+n+")"}catch(A){console.error(A.message,
+A)}else return this.getEdgeStyle();return a};b.prototype.isOff_page_reference=function(){var a=this.getNameU();return function(a,b){return a&&a.equals?a.equals(b):a===b}(a,"Off-page reference")||function(a,b){return a&&a.equals?a.equals(b):a===b}(a,"Lined/Shaded process")?!0:!1};b.prototype.isExternal_process=function(){var a;a=(a=this.shapeName)&&a.equals?a.equals("External process"):"External process"===a;return a};b.prototype.getDirection=function(a){a=mxResources.get("mxOffset"+this.shapeName);
 if(null!=a&&!function(a,b){return a&&a.equals?a.equals(b):a===b}(a,"0")&&!function(a,b){return a&&a.equals?a.equals(b):a===b}(a,"")){if(function(a,b){return a&&a.equals?a.equals(b):a===b}(a,"1"))return mxConstants.DIRECTION_SOUTH;if(function(a,b){return a&&a.equals?a.equals(b):a===b}(a,"2"))return mxConstants.DIRECTION_WEST;if(function(a,b){return a&&a.equals?a.equals(b):a===b}(a,"3"))return mxConstants.DIRECTION_NORTH}return mxConstants.DIRECTION_EAST};b.prototype.isSubproces=function(){var a;a=
 (a=this.shapeName)&&a.equals?a.equals("Subproces"):"Subproces"===a;return a};b.prototype.getEdgeStyle$=function(){return{edgeStyle:"none"}};b.prototype.getChildShapes=function(){return this.childShapes};b.prototype.setChildShapes=function(a){this.childShapes=a};b.prototype.isDisplacedLabel=function(){var a=this.getAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.TXT_PIN_X,"F",""),b=this.getAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.TXT_PIN_Y,"F",""),e=this.getAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.TXT_WIDTH,
 "F",""),f=this.getAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.TXT_HEIGHT,"F","");if(null!=this.masterShape){if(""===a||function(a,b){return a&&a.equals?a.equals(b):a===b}(a.toLowerCase(),"inh"))a=this.masterShape.getAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.TXT_PIN_X,"F","");if(""===b||function(a,b){return a&&a.equals?a.equals(b):a===b}(b.toLowerCase(),"inh"))b=this.masterShape.getAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.TXT_PIN_Y,"F","");if(""===e||function(a,b){return a&&a.equals?a.equals(b):
 a===b}(e.toLowerCase(),"inh"))e=this.masterShape.getAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.TXT_WIDTH,"F","");if(""===f||function(a,b){return a&&a.equals?a.equals(b):a===b}(f.toLowerCase(),"inh"))f=this.masterShape.getAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.TXT_HEIGHT,"F","")}return function(a,b){return a&&a.equals?a.equals(b):a===b}(a.toLowerCase(),"width*0.5")&&function(a,b){return a&&a.equals?a.equals(b):a===b}(b.toLowerCase(),"height*0.5")&&function(a,b){return a&&a.equals?a.equals(b):
-a===b}(e.toLowerCase(),"width*1")&&function(a,b){return a&&a.equals?a.equals(b):a===b}(f.toLowerCase(),"height*1")||!(function(a,b,c){void 0===c&&(c=0);return a.substr(c,b.length)===b}(a.toLowerCase(),"width*")&&function(a,b,c){void 0===c&&(c=0);return a.substr(c,b.length)===b}(b.toLowerCase(),"height*")&&function(a,b,c){void 0===c&&(c=0);return a.substr(c,b.length)===b}(e.toLowerCase(),"width*")&&function(a,b,c){void 0===c&&(c=0);return a.substr(c,b.length)===b}(f.toLowerCase(),"height*")||function(a,
-b,c){void 0===c&&(c=0);return a.substr(c,b.length)===b}(a.toLowerCase(),"controls.row_")||function(a,b,c){void 0===c&&(c=0);return a.substr(c,b.length)===b}(b.toLowerCase(),"controls.row_"))?!1:!0};b.prototype.isVerticalLabel=function(){var a=this.getAttribute("TextDirection","V","");a||null==this.masterShape||(a=this.masterShape.getAttribute("TextDirection","V",""));return"1"==a};b.prototype.isRotatedLabel=function(){if(this.isVerticalLabel())return!0;var a=this.getAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.TXT_ANGLE,
+a===b}(e.toLowerCase(),"width*1")&&function(a,b){return a&&a.equals?a.equals(b):a===b}(f.toLowerCase(),"height*1")||!(function(a,b,d){void 0===d&&(d=0);return a.substr(d,b.length)===b}(a.toLowerCase(),"width*")&&function(a,b,d){void 0===d&&(d=0);return a.substr(d,b.length)===b}(b.toLowerCase(),"height*")&&function(a,b,d){void 0===d&&(d=0);return a.substr(d,b.length)===b}(e.toLowerCase(),"width*")&&function(a,b,d){void 0===d&&(d=0);return a.substr(d,b.length)===b}(f.toLowerCase(),"height*")||function(a,
+b,d){void 0===d&&(d=0);return a.substr(d,b.length)===b}(a.toLowerCase(),"controls.row_")||function(a,b,d){void 0===d&&(d=0);return a.substr(d,b.length)===b}(b.toLowerCase(),"controls.row_"))?!1:!0};b.prototype.isVerticalLabel=function(){var a=this.getAttribute("TextDirection","V","");a||null==this.masterShape||(a=this.masterShape.getAttribute("TextDirection","V",""));return"1"==a};b.prototype.isRotatedLabel=function(){if(this.isVerticalLabel())return!0;var a=this.getAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.TXT_ANGLE,
 "V","");null!=this.masterShape&&function(a,b){return a&&a.equals?a.equals(b):a===b}(a,"")&&(a=this.masterShape.getAttribute(c.mxgraph.io.vsdx.mxVsdxConstants.TXT_ANGLE,"V",""));return function(a,b){return a&&a.equals?a.equals(b):a===b}(a,"0")||function(a,b){return a&&a.equals?a.equals(b):a===b}(a,"0.0")||function(a,b){return a&&a.equals?a.equals(b):a===b}(a,"")?!1:!0};b.prototype.setRootShape=function(a){this.rootShape=a};b.prototype.getRootShape=function(){return this.rootShape};b.prototype.getStartXY=
 function(a){var b=Math.floor(Math.round(100*this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getCellElement$java_lang_String(c.mxgraph.io.vsdx.mxVsdxConstants.BEGIN_X),0))/100);a=Math.floor(Math.round(100*(a-this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getCellElement$java_lang_String(c.mxgraph.io.vsdx.mxVsdxConstants.BEGIN_Y),0)))/100);return new mxPoint(b,a)};b.prototype.getEndXY=function(a){var b=Math.floor(Math.round(100*this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getCellElement$java_lang_String(c.mxgraph.io.vsdx.mxVsdxConstants.END_X),
 0))/100);a=Math.floor(Math.round(100*(a-this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getCellElement$java_lang_String(c.mxgraph.io.vsdx.mxVsdxConstants.END_Y),0)))/100);return new mxPoint(b,a)};b.prototype.getRoutingPoints=function(a,b,c){return null!=this.geomList?this.geomList.getRoutingPoints(a,b,c):null};b.prototype.getControlPoints=function(a){var b=this.getStartXY(a);a=this.getEndXY(a);var e=[];if(null!=this.shape){var f=this.shape.getElementsByTagName(c.mxgraph.io.vsdx.mxVsdxConstants.GEOM);
-if(0<f.length&&(f=f.item(0).getElementsByTagName(c.mxgraph.io.vsdx.mxVsdxConstants.NURBS_TO).item(0).getElementsByTagName("E").item(0),null!=f)){for(var f=f.getAttribute("F")||"",f=f.replace(RegExp("NURBS\\(","g"),""),f=f.replace(RegExp("\\)","g"),""),f=f.replace(RegExp(",","g")," "),f=f.replace(RegExp("\\s\\s","g")," "),f=f.split(" "),k=f.length,m=[];0<k--;)m.push(0);for(k=0;k<f.length;k++)m[k]=parseFloat(f[k]);for(k=2;k+4<f.length;k+=4){var n=new mxPoint,z=m[k+3];n.x=Math.floor(Math.round(100*(b.x+
-Math.min(100,Math.abs(a.x-b.x))*m[k+2]))/100);n.y=Math.floor(Math.round(100*(b.y-100*z))/100);0<e.push(n)}return e}}return null};b.prototype.getStyleFromEdgeShape=function(a){this.styleMap[c.mxgraph.io.vsdx.mxVsdxConstants.VSDX_ID]=this.getId().toString();a=this.getForm();if(null!=a&&!function(a,b){return a&&a.equals?a.equals(b):a===b}(a,""))for(var d in a)this.styleMap[d]=a[d];this.isDashed()&&(this.styleMap[mxConstants.STYLE_DASHED]="1",d=this.getDashPattern(),null!=d&&(this.styleMap[mxConstants.STYLE_DASH_PATTERN]=
+if(0<f.length&&(f=f.item(0).getElementsByTagName(c.mxgraph.io.vsdx.mxVsdxConstants.NURBS_TO).item(0).getElementsByTagName("E").item(0),null!=f)){for(var f=f.getAttribute("F")||"",f=f.replace(RegExp("NURBS\\(","g"),""),f=f.replace(RegExp("\\)","g"),""),f=f.replace(RegExp(",","g")," "),f=f.replace(RegExp("\\s\\s","g")," "),f=f.split(" "),k=f.length,m=[];0<k--;)m.push(0);for(k=0;k<f.length;k++)m[k]=parseFloat(f[k]);for(k=2;k+4<f.length;k+=4){var n=new mxPoint,A=m[k+3];n.x=Math.floor(Math.round(100*(b.x+
+Math.min(100,Math.abs(a.x-b.x))*m[k+2]))/100);n.y=Math.floor(Math.round(100*(b.y-100*A))/100);0<e.push(n)}return e}}return null};b.prototype.getStyleFromEdgeShape=function(a){this.styleMap[c.mxgraph.io.vsdx.mxVsdxConstants.VSDX_ID]=this.getId().toString();a=this.getForm();if(null!=a&&!function(a,b){return a&&a.equals?a.equals(b):a===b}(a,""))for(var d in a)this.styleMap[d]=a[d];this.isDashed()&&(this.styleMap[mxConstants.STYLE_DASHED]="1",d=this.getDashPattern(),null!=d&&(this.styleMap[mxConstants.STYLE_DASH_PATTERN]=
 d));d=this.getEdgeMarker(!0);null!=d&&(function(a,b,c){void 0===c&&(c=0);return a.substr(c,b.length)===b}(d,b.ARROW_NO_FILL_MARKER)&&(d=d.substring(b.ARROW_NO_FILL_MARKER.length),this.styleMap[mxConstants.STYLE_STARTFILL]="0"),this.styleMap[mxConstants.STYLE_STARTARROW]=d);d=this.getEdgeMarker(!1);null!=d&&(function(a,b,c){void 0===c&&(c=0);return a.substr(c,b.length)===b}(d,b.ARROW_NO_FILL_MARKER)&&(d=d.substring(b.ARROW_NO_FILL_MARKER.length),this.styleMap[mxConstants.STYLE_ENDFILL]="0"),this.styleMap[mxConstants.STYLE_ENDARROW]=
 d);d=Math.round(this.getStartArrowSize())|0;6!==d&&(this.styleMap[mxConstants.STYLE_STARTSIZE]=""+d);d=Math.round(this.getFinalArrowSize())|0;6!==d&&(this.styleMap[mxConstants.STYLE_ENDSIZE]=""+d);d=Math.round(this.getLineWidth())|0;1!==d&&(this.styleMap[mxConstants.STYLE_STROKEWIDTH]=""+d);d=this.getStrokeColor();(function(a,b){return a&&a.equals?a.equals(b):a===b})(d,"")||(this.styleMap[mxConstants.STYLE_STROKECOLOR]=d);this.isShadow()&&(this.styleMap[mxConstants.STYLE_SHADOW]=c.mxgraph.io.vsdx.mxVsdxConstants.TRUE);
 this.isConnectorBigNameU(this.getNameU())&&(this.styleMap[mxConstants.STYLE_SHAPE]=mxConstants.SHAPE_ARROW,d=this.getFillColor(),function(a,b){return a&&a.equals?a.equals(b):a===b}(d,"")||(this.styleMap[mxConstants.STYLE_FILLCOLOR]=d));d=Math.round(this.getTopSpacing())|0;this.styleMap[mxConstants.STYLE_SPACING_TOP]=""+d;d=Math.round(this.getBottomSpacing())|0;this.styleMap[mxConstants.STYLE_SPACING_BOTTOM]=""+d;d=Math.round(this.getLeftSpacing())|0;this.styleMap[mxConstants.STYLE_SPACING_LEFT]=""+
@@ -1227,32 +1228,32 @@ this.getQuickStyleVals()))}else e=parseInt(d)}catch(y){}a=function(a,b){null==a.
 1));return a};b.prototype.getCellElement$java_lang_String=function(a){var b=e.prototype.getCellElement$java_lang_String.call(this,a);return null==b&&null!=this.masterShape?this.masterShape.getCellElement$java_lang_String(a):b};b.prototype.getCellElement$java_lang_String$java_lang_String$java_lang_String=function(a,b,c){var d=e.prototype.getCellElement$java_lang_String$java_lang_String$java_lang_String.call(this,a,b,c);return null==d&&null!=this.masterShape?this.masterShape.getCellElement$java_lang_String$java_lang_String$java_lang_String(a,
 b,c):d};b.prototype.getCellElement=function(a,b,c){if("string"!==typeof a&&null!==a||"string"!==typeof b&&null!==b||"string"!==typeof c&&null!==c){if("string"!==typeof a&&null!==a||void 0!==b||void 0!==c)throw Error("invalid overload");return this.getCellElement$java_lang_String(a)}return this.getCellElement$java_lang_String$java_lang_String$java_lang_String(a,b,c)};b.prototype.createLabelSubShape=function(a,b){var d=this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(c.mxgraph.io.vsdx.mxVsdxConstants.TXT_WIDTH),
 this.getWidth()),e=this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(c.mxgraph.io.vsdx.mxVsdxConstants.TXT_HEIGHT),this.getHeight()),f=this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(c.mxgraph.io.vsdx.mxVsdxConstants.TXT_LOC_PIN_X),d/2),k=this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(c.mxgraph.io.vsdx.mxVsdxConstants.TXT_LOC_PIN_Y),e/2),m=this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(c.mxgraph.io.vsdx.mxVsdxConstants.TXT_PIN_X),
-f),n=this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(c.mxgraph.io.vsdx.mxVsdxConstants.TXT_PIN_Y),k),F=this.getValueAsDouble(this.getShapeNode(c.mxgraph.io.vsdx.mxVsdxConstants.TXT_ANGLE),0),B=this.getTextLabel();if(null!=B&&0!==B.length){var C=mxUtils.clone(this.getStyleMap())||{};C[mxConstants.STYLE_FILLCOLOR]=mxConstants.NONE;C[mxConstants.STYLE_STROKECOLOR]=mxConstants.NONE;C[mxConstants.STYLE_GRADIENTCOLOR]=mxConstants.NONE;C.hasOwnProperty("align")||(C.align="center");
-C.hasOwnProperty("verticalAlign")||(C.verticalAlign="middle");C.hasOwnProperty("whiteSpace")||(C.whiteSpace="wrap");delete C.shape;delete C.image;this.isVerticalLabel()&&(F+=Math.PI+.01,C.horizontal="0");var G=this.getRotation();0!==F&&(F=360-180*F/Math.PI,F=Math.round((F+G)%360*100)/100,0!==F&&(C.rotation=""+F));C="text;"+c.mxgraph.io.vsdx.mxVsdxUtils.getStyleString(C,"=");k=b.getGeometry().height-(n+e-k);f=m-f;0<G&&(m=new mxGeometry(f,k,d,e),f=b.getGeometry(),c.mxgraph.online.Utils.rotatedGeometry(m,
-G,f.width/2,f.height/2),f=m.x,k=m.y);return a.insertVertex(b,null,B,Math.round(100*f)/100,Math.round(100*k)/100,Math.round(100*d)/100,Math.round(100*e)/100,C+";html=1;")}return null};b.prototype.getLblEdgeOffset=function(a,b){if(null!=b&&1<b.length){var d=new mxCellState;d.absolutePoints=b;a.updateEdgeBounds(d);var d=a.getPoint(d),e=b[0],f=b[b.length-1],k=this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(c.mxgraph.io.vsdx.mxVsdxConstants.TXT_WIDTH),this.getWidth()),m=this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(c.mxgraph.io.vsdx.mxVsdxConstants.TXT_HEIGHT),
-this.getHeight()),n=this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(c.mxgraph.io.vsdx.mxVsdxConstants.TXT_LOC_PIN_X),0),F=this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(c.mxgraph.io.vsdx.mxVsdxConstants.TXT_LOC_PIN_Y),0),B=this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(c.mxgraph.io.vsdx.mxVsdxConstants.TXT_PIN_X),0),C=this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(c.mxgraph.io.vsdx.mxVsdxConstants.TXT_PIN_Y),
-0),f=(this.getHeight()-(e.y-f.y))/2+e.y-d.y-(C-F+m/2),d=B-n+k/2+(e.x-d.x);return 1E11<Math.abs(d)?null:new mxPoint(Math.floor(Math.round(100*d)/100),Math.floor(Math.round(100*f)/100))}return null};b.prototype.getShapeIndex=function(){return this.shapeIndex};b.prototype.setShapeIndex=function(a){this.shapeIndex=a};return b}(c.mxgraph.io.vsdx.Shape);f.__static_initialized=!1;f.ARROW_NO_FILL_MARKER="0";f.maxDp=2;f.USE_SHAPE_MATCH=!1;f.stencilTemplate='<shape h="htemplate" w="wtemplate" aspect="variable" strokewidth="inherit"><connections></connections><background></background><foreground></foreground></shape>';
+f),n=this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(c.mxgraph.io.vsdx.mxVsdxConstants.TXT_PIN_Y),k),D=this.getValueAsDouble(this.getShapeNode(c.mxgraph.io.vsdx.mxVsdxConstants.TXT_ANGLE),0),C=this.getTextLabel();if(null!=C&&0!==C.length){var B=mxUtils.clone(this.getStyleMap())||{};B[mxConstants.STYLE_FILLCOLOR]=mxConstants.NONE;B[mxConstants.STYLE_STROKECOLOR]=mxConstants.NONE;B[mxConstants.STYLE_GRADIENTCOLOR]=mxConstants.NONE;B.hasOwnProperty("align")||(B.align="center");
+B.hasOwnProperty("verticalAlign")||(B.verticalAlign="middle");B.hasOwnProperty("whiteSpace")||(B.whiteSpace="wrap");delete B.shape;delete B.image;this.isVerticalLabel()&&(D+=Math.PI+.01,B.horizontal="0");var G=this.getRotation();0!==D&&(D=360-180*D/Math.PI,D=Math.round((D+G)%360*100)/100,0!==D&&(B.rotation=""+D));B="text;"+c.mxgraph.io.vsdx.mxVsdxUtils.getStyleString(B,"=");k=b.getGeometry().height-(n+e-k);f=m-f;0<G&&(m=new mxGeometry(f,k,d,e),f=b.getGeometry(),c.mxgraph.online.Utils.rotatedGeometry(m,
+G,f.width/2,f.height/2),f=m.x,k=m.y);return a.insertVertex(b,null,C,Math.round(100*f)/100,Math.round(100*k)/100,Math.round(100*d)/100,Math.round(100*e)/100,B+";html=1;")}return null};b.prototype.getLblEdgeOffset=function(a,b){if(null!=b&&1<b.length){var d=new mxCellState;d.absolutePoints=b;a.updateEdgeBounds(d);var d=a.getPoint(d),e=b[0],f=b[b.length-1],k=this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(c.mxgraph.io.vsdx.mxVsdxConstants.TXT_WIDTH),this.getWidth()),m=this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(c.mxgraph.io.vsdx.mxVsdxConstants.TXT_HEIGHT),
+this.getHeight()),n=this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(c.mxgraph.io.vsdx.mxVsdxConstants.TXT_LOC_PIN_X),0),D=this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(c.mxgraph.io.vsdx.mxVsdxConstants.TXT_LOC_PIN_Y),0),C=this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(c.mxgraph.io.vsdx.mxVsdxConstants.TXT_PIN_X),0),B=this.getScreenNumericalValue$org_w3c_dom_Element$double(this.getShapeNode(c.mxgraph.io.vsdx.mxVsdxConstants.TXT_PIN_Y),
+0),f=(this.getHeight()-(e.y-f.y))/2+e.y-d.y-(B-D+m/2),d=C-n+k/2+(e.x-d.x);return 1E11<Math.abs(d)?null:new mxPoint(Math.floor(Math.round(100*d)/100),Math.floor(Math.round(100*f)/100))}return null};b.prototype.getShapeIndex=function(){return this.shapeIndex};b.prototype.setShapeIndex=function(a){this.shapeIndex=a};return b}(c.mxgraph.io.vsdx.Shape);f.__static_initialized=!1;f.ARROW_NO_FILL_MARKER="0";f.maxDp=2;f.USE_SHAPE_MATCH=!1;f.stencilTemplate='<shape h="htemplate" w="wtemplate" aspect="variable" strokewidth="inherit"><connections></connections><background></background><foreground></foreground></shape>';
 k.VsdxShape=f;f.__class="com.mxgraph.io.vsdx.VsdxShape"})(m.vsdx||(m.vsdx={}))})(n.io||(n.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
 (function(c){(function(n){(function(m){var k=function(){function f(){}f.__static_initialize=function(){f.__static_initialized||(f.__static_initialized=!0,f.__static_initializer_0())};f.CA_$LI$=function(){f.__static_initialize();null==f.CA&&(f.CA="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""));return f.CA};f.IA_$LI$=function(){f.__static_initialize();if(null==f.IA){for(var c=256,b=[];0<c--;)b.push(0);f.IA=b}return f.IA};f.__static_initializer_0=function(){for(var c=f.IA_$LI$(),
-b=0;b<c.length;b++)c[b]=-1;c=0;for(b=f.CA_$LI$().length;c<b;c++)f.IA_$LI$()[f.CA_$LI$()[c].charCodeAt(0)]=c;f.IA_$LI$()[61]=0};f.encodeToChar=function(c,b,a){var d=null!=c?c.length-b:0;if(0===d)return[];for(var e=3*(d/3|0),k=((d-1)/3|0)+1<<2,k=k+(a?((k-1)/76|0)<<1:0),m=Array(k),n=b,x=0,z=0;n<e+b;){var F=(c[n++]&255)<<16|(c[n++]&255)<<8|c[n++]&255;m[x++]=f.CA_$LI$()[F>>>18&63];m[x++]=f.CA_$LI$()[F>>>12&63];m[x++]=f.CA_$LI$()[F>>>6&63];m[x++]=f.CA_$LI$()[F&63];a&&19===++z&&x<k-2&&(m[x++]="\r",m[x++]=
-"\n",z=0)}a=d-e;0<a&&(F=(c[e+b]&255)<<10|(2===a?(c[d+b-1]&255)<<2:0),m[k-4]=f.CA_$LI$()[F>>12],m[k-3]=f.CA_$LI$()[F>>>6&63],m[k-2]=2===a?f.CA_$LI$()[F&63]:"=",m[k-1]="=");return m};f.decode$char_A=function(c){var b=null!=c?c.length:0;if(0===b)return[];for(var a=0,d=0;d<b;d++)0>f.IA_$LI$()[c[d].charCodeAt(0)]&&a++;if(0!==(b-a)%4)return null;for(var e=0,d=b;1<d&&0>=f.IA_$LI$()[c[--d].charCodeAt(0)];)61==function(a){return null==a.charCodeAt?a:a.charCodeAt(0)}(c[d])&&e++;for(var b=(6*(b-a)>>3)-e,a=function(a){for(var b=
+b=0;b<c.length;b++)c[b]=-1;c=0;for(b=f.CA_$LI$().length;c<b;c++)f.IA_$LI$()[f.CA_$LI$()[c].charCodeAt(0)]=c;f.IA_$LI$()[61]=0};f.encodeToChar=function(c,b,a){var d=null!=c?c.length-b:0;if(0===d)return[];for(var e=3*(d/3|0),k=((d-1)/3|0)+1<<2,k=k+(a?((k-1)/76|0)<<1:0),m=Array(k),n=b,x=0,A=0;n<e+b;){var D=(c[n++]&255)<<16|(c[n++]&255)<<8|c[n++]&255;m[x++]=f.CA_$LI$()[D>>>18&63];m[x++]=f.CA_$LI$()[D>>>12&63];m[x++]=f.CA_$LI$()[D>>>6&63];m[x++]=f.CA_$LI$()[D&63];a&&19===++A&&x<k-2&&(m[x++]="\r",m[x++]=
+"\n",A=0)}a=d-e;0<a&&(D=(c[e+b]&255)<<10|(2===a?(c[d+b-1]&255)<<2:0),m[k-4]=f.CA_$LI$()[D>>12],m[k-3]=f.CA_$LI$()[D>>>6&63],m[k-2]=2===a?f.CA_$LI$()[D&63]:"=",m[k-1]="=");return m};f.decode$char_A=function(c){var b=null!=c?c.length:0;if(0===b)return[];for(var a=0,d=0;d<b;d++)0>f.IA_$LI$()[c[d].charCodeAt(0)]&&a++;if(0!==(b-a)%4)return null;for(var e=0,d=b;1<d&&0>=f.IA_$LI$()[c[--d].charCodeAt(0)];)61==function(a){return null==a.charCodeAt?a:a.charCodeAt(0)}(c[d])&&e++;for(var b=(6*(b-a)>>3)-e,a=function(a){for(var b=
 [];0<a--;)b.push(0);return b}(b),k=e=0;k<b;){for(var m=d=0;4>m;m++){var n=f.IA_$LI$()[c[e++].charCodeAt(0)];0<=n?d|=n<<18-6*m:m--}a[k++]=d>>16|0;k<b&&(a[k++]=d>>8|0,k<b&&(a[k++]=d|0))}return a};f.decode=function(e){if(null!=e&&e instanceof Array&&(0==e.length||null==e[0]||"string"===typeof e[0])||null===e)return c.mxgraph.online.mxBase64.decode$char_A(e);if(null!=e&&e instanceof Array&&(0==e.length||null==e[0]||"number"===typeof e[0])||null===e)return c.mxgraph.online.mxBase64.decode$byte_A(e);if("string"===
 typeof e||null===e)return c.mxgraph.online.mxBase64.decode$java_lang_String(e);throw Error("invalid overload");};f.decodeFast$char_A=function(c){var b=c.length;if(0===b)return[];for(var a=0,d=b-1;a<d&&0>f.IA_$LI$()[c[a].charCodeAt(0)];)a++;for(;0<d&&0>f.IA_$LI$()[c[d].charCodeAt(0)];)d--;for(var e=61==function(a){return null==a.charCodeAt?a:a.charCodeAt(0)}(c[d])?61==function(a){return null==a.charCodeAt?a:a.charCodeAt(0)}(c[d-1])?2:1:0,k=d-a+1,m=76<b?(13==function(a){return null==a.charCodeAt?a:
-a.charCodeAt(0)}(c[76])?k/78|0:0)<<1:0,k=(6*(k-m)>>3)-e,b=function(a){for(var b=[];0<a--;)b.push(0);return b}(k),n=0,x=0,z=3*(k/3|0);n<z;){var F=f.IA_$LI$()[c[a++].charCodeAt(0)]<<18|f.IA_$LI$()[c[a++].charCodeAt(0)]<<12|f.IA_$LI$()[c[a++].charCodeAt(0)]<<6|f.IA_$LI$()[c[a++].charCodeAt(0)];b[n++]=F>>16|0;b[n++]=F>>8|0;b[n++]=F|0;0<m&&19===++x&&(a+=2,x=0)}if(n<k){for(m=F=0;a<=d-e;m++)F|=f.IA_$LI$()[c[a++].charCodeAt(0)]<<18-6*m;for(c=16;n<k;c-=8)b[n++]=F>>c|0}return b};f.decodeFast=function(e){if(null!=
+a.charCodeAt(0)}(c[76])?k/78|0:0)<<1:0,k=(6*(k-m)>>3)-e,b=function(a){for(var b=[];0<a--;)b.push(0);return b}(k),n=0,x=0,A=3*(k/3|0);n<A;){var D=f.IA_$LI$()[c[a++].charCodeAt(0)]<<18|f.IA_$LI$()[c[a++].charCodeAt(0)]<<12|f.IA_$LI$()[c[a++].charCodeAt(0)]<<6|f.IA_$LI$()[c[a++].charCodeAt(0)];b[n++]=D>>16|0;b[n++]=D>>8|0;b[n++]=D|0;0<m&&19===++x&&(a+=2,x=0)}if(n<k){for(m=D=0;a<=d-e;m++)D|=f.IA_$LI$()[c[a++].charCodeAt(0)]<<18-6*m;for(c=16;n<k;c-=8)b[n++]=D>>c|0}return b};f.decodeFast=function(e){if(null!=
 e&&e instanceof Array&&(0==e.length||null==e[0]||"string"===typeof e[0])||null===e)return c.mxgraph.online.mxBase64.decodeFast$char_A(e);if(null!=e&&e instanceof Array&&(0==e.length||null==e[0]||"number"===typeof e[0])||null===e)return c.mxgraph.online.mxBase64.decodeFast$byte_A(e);if("string"===typeof e||null===e)return c.mxgraph.online.mxBase64.decodeFast$java_lang_String(e);throw Error("invalid overload");};f.encodeToByte=function(c,b){var a=null!=c?c.length:0;if(0===a)return[];for(var d=3*(a/
-3|0),e=((a-1)/3|0)+1<<2,k=e+=b?((e-1)/76|0)<<1:0,m=[];0<k--;)m.push(0);for(var n=0,x=0,z=0;n<d;)k=(c[n++]&255)<<16|(c[n++]&255)<<8|c[n++]&255,m[x++]=f.CA_$LI$()[k>>>18&63].charCodeAt(0),m[x++]=f.CA_$LI$()[k>>>12&63].charCodeAt(0),m[x++]=f.CA_$LI$()[k>>>6&63].charCodeAt(0),m[x++]=f.CA_$LI$()[k&63].charCodeAt(0),b&&19===++z&&x<e-2&&(m[x++]=13,m[x++]=10,z=0);n=a-d;0<n&&(k=(c[d]&255)<<10|(2===n?(c[a-1]&255)<<2:0),m[e-4]=f.CA_$LI$()[k>>12].charCodeAt(0),m[e-3]=f.CA_$LI$()[k>>>6&63].charCodeAt(0),m[e-2]=
+3|0),e=((a-1)/3|0)+1<<2,k=e+=b?((e-1)/76|0)<<1:0,m=[];0<k--;)m.push(0);for(var n=0,x=0,A=0;n<d;)k=(c[n++]&255)<<16|(c[n++]&255)<<8|c[n++]&255,m[x++]=f.CA_$LI$()[k>>>18&63].charCodeAt(0),m[x++]=f.CA_$LI$()[k>>>12&63].charCodeAt(0),m[x++]=f.CA_$LI$()[k>>>6&63].charCodeAt(0),m[x++]=f.CA_$LI$()[k&63].charCodeAt(0),b&&19===++A&&x<e-2&&(m[x++]=13,m[x++]=10,A=0);n=a-d;0<n&&(k=(c[d]&255)<<10|(2===n?(c[a-1]&255)<<2:0),m[e-4]=f.CA_$LI$()[k>>12].charCodeAt(0),m[e-3]=f.CA_$LI$()[k>>>6&63].charCodeAt(0),m[e-2]=
 2===n?f.CA_$LI$()[k&63].charCodeAt(0):61,m[e-1]=61);return m};f.decode$byte_A=function(c){for(var b=c.length,a=0,d=0;d<b;d++)0>f.IA_$LI$()[c[d]&255]&&a++;if(0!==(b-a)%4)return null;for(var e=0,d=b;1<d&&0>=f.IA_$LI$()[c[--d]&255];)61==c[d]&&e++;d=b=(6*(b-a)>>3)-e;for(a=[];0<d--;)a.push(0);for(var k=e=0;k<b;){for(var m=d=0;4>m;m++){var n=f.IA_$LI$()[c[e++]&255];0<=n?d|=n<<18-6*m:m--}a[k++]=d>>16|0;k<b&&(a[k++]=d>>8|0,k<b&&(a[k++]=d|0))}return a};f.decodeFast$byte_A=function(c){var b=c.length;if(0===
-b)return[];for(var a=0,d=b-1;a<d&&0>f.IA_$LI$()[c[a]&255];)a++;for(;0<d&&0>f.IA_$LI$()[c[d]&255];)d--;for(var e=61==c[d]?61==c[d-1]?2:1:0,k=d-a+1,m=76<b?(13==c[76]?k/78|0:0)<<1:0,n=k=(6*(k-m)>>3)-e,b=[];0<n--;)b.push(0);for(var x=n=0,z=3*(k/3|0);n<z;){var F=f.IA_$LI$()[c[a++]]<<18|f.IA_$LI$()[c[a++]]<<12|f.IA_$LI$()[c[a++]]<<6|f.IA_$LI$()[c[a++]];b[n++]=F>>16|0;b[n++]=F>>8|0;b[n++]=F|0;0<m&&19===++x&&(a+=2,x=0)}if(n<k){for(m=F=0;a<=d-e;m++)F|=f.IA_$LI$()[c[a++]]<<18-6*m;for(c=16;n<k;c-=8)b[n++]=F>>
+b)return[];for(var a=0,d=b-1;a<d&&0>f.IA_$LI$()[c[a]&255];)a++;for(;0<d&&0>f.IA_$LI$()[c[d]&255];)d--;for(var e=61==c[d]?61==c[d-1]?2:1:0,k=d-a+1,m=76<b?(13==c[76]?k/78|0:0)<<1:0,n=k=(6*(k-m)>>3)-e,b=[];0<n--;)b.push(0);for(var x=n=0,A=3*(k/3|0);n<A;){var D=f.IA_$LI$()[c[a++]]<<18|f.IA_$LI$()[c[a++]]<<12|f.IA_$LI$()[c[a++]]<<6|f.IA_$LI$()[c[a++]];b[n++]=D>>16|0;b[n++]=D>>8|0;b[n++]=D|0;0<m&&19===++x&&(a+=2,x=0)}if(n<k){for(m=D=0;a<=d-e;m++)D|=f.IA_$LI$()[c[a++]]<<18-6*m;for(c=16;n<k;c-=8)b[n++]=D>>
 c|0}return b};f.encodeToString=function(c,b,a){return f.encodeToChar(c,b,a).join("")};f.decode$java_lang_String=function(c){var b=null!=c?c.length:0;if(0===b)return[];for(var a=0,d=0;d<b;d++)0>f.IA_$LI$()[c.charAt(d).charCodeAt(0)]&&a++;if(0!==(b-a)%4)return null;for(var e=0,d=b;1<d&&0>=f.IA_$LI$()[c.charAt(--d).charCodeAt(0)];)61==function(a){return null==a.charCodeAt?a:a.charCodeAt(0)}(c.charAt(d))&&e++;for(var b=(6*(b-a)>>3)-e,a=function(a){for(var b=[];0<a--;)b.push(0);return b}(b),k=e=0;k<b;){for(var m=
 d=0;4>m;m++){var n=f.IA_$LI$()[c.charAt(e++).charCodeAt(0)];0<=n?d|=n<<18-6*m:m--}a[k++]=d>>16|0;k<b&&(a[k++]=d>>8|0,k<b&&(a[k++]=d|0))}return a};f.decodeFast$java_lang_String=function(c){var b=c.length;if(0===b)return[];for(var a=0,d=b-1;a<d&&0>f.IA_$LI$()[function(a){return null==a.charCodeAt?a:a.charCodeAt(0)}(c.charAt(a))&255];)a++;for(;0<d&&0>f.IA_$LI$()[function(a){return null==a.charCodeAt?a:a.charCodeAt(0)}(c.charAt(d))&255];)d--;for(var e=61==function(a){return null==a.charCodeAt?a:a.charCodeAt(0)}(c.charAt(d))?
-61==function(a){return null==a.charCodeAt?a:a.charCodeAt(0)}(c.charAt(d-1))?2:1:0,k=d-a+1,m=76<b?(13==function(a){return null==a.charCodeAt?a:a.charCodeAt(0)}(c.charAt(76))?k/78|0:0)<<1:0,k=(6*(k-m)>>3)-e,b=function(a){for(var b=[];0<a--;)b.push(0);return b}(k),n=0,x=0,z=3*(k/3|0);n<z;){var F=f.IA_$LI$()[c.charAt(a++).charCodeAt(0)]<<18|f.IA_$LI$()[c.charAt(a++).charCodeAt(0)]<<12|f.IA_$LI$()[c.charAt(a++).charCodeAt(0)]<<6|f.IA_$LI$()[c.charAt(a++).charCodeAt(0)];b[n++]=F>>16|0;b[n++]=F>>8|0;b[n++]=
-F|0;0<m&&19===++x&&(a+=2,x=0)}if(n<k){for(m=F=0;a<=d-e;m++)F|=f.IA_$LI$()[c.charAt(a++).charCodeAt(0)]<<18-6*m;for(c=16;n<k;c-=8)b[n++]=F>>c|0}return b};return f}();k.__static_initialized=!1;m.mxBase64=k;k.__class="com.mxgraph.online.mxBase64"})(n.online||(n.online={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));com.mxgraph.online.mxBase64.IA_$LI$();com.mxgraph.online.mxBase64.CA_$LI$();com.mxgraph.online.mxBase64.__static_initialize();com.mxgraph.io.vsdx.VsdxShape.__com_mxgraph_io_vsdx_VsdxShape_LOGGER_$LI$();
+61==function(a){return null==a.charCodeAt?a:a.charCodeAt(0)}(c.charAt(d-1))?2:1:0,k=d-a+1,m=76<b?(13==function(a){return null==a.charCodeAt?a:a.charCodeAt(0)}(c.charAt(76))?k/78|0:0)<<1:0,k=(6*(k-m)>>3)-e,b=function(a){for(var b=[];0<a--;)b.push(0);return b}(k),n=0,x=0,A=3*(k/3|0);n<A;){var D=f.IA_$LI$()[c.charAt(a++).charCodeAt(0)]<<18|f.IA_$LI$()[c.charAt(a++).charCodeAt(0)]<<12|f.IA_$LI$()[c.charAt(a++).charCodeAt(0)]<<6|f.IA_$LI$()[c.charAt(a++).charCodeAt(0)];b[n++]=D>>16|0;b[n++]=D>>8|0;b[n++]=
+D|0;0<m&&19===++x&&(a+=2,x=0)}if(n<k){for(m=D=0;a<=d-e;m++)D|=f.IA_$LI$()[c.charAt(a++).charCodeAt(0)]<<18-6*m;for(c=16;n<k;c-=8)b[n++]=D>>c|0}return b};return f}();k.__static_initialized=!1;m.mxBase64=k;k.__class="com.mxgraph.online.mxBase64"})(n.online||(n.online={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));com.mxgraph.online.mxBase64.IA_$LI$();com.mxgraph.online.mxBase64.CA_$LI$();com.mxgraph.online.mxBase64.__static_initialize();com.mxgraph.io.vsdx.VsdxShape.__com_mxgraph_io_vsdx_VsdxShape_LOGGER_$LI$();
 com.mxgraph.io.vsdx.VsdxShape.arrowTypes_$LI$();com.mxgraph.io.vsdx.VsdxShape.arrowSizes_$LI$();com.mxgraph.io.vsdx.VsdxShape.OFFSET_ARRAY_$LI$();com.mxgraph.io.vsdx.VsdxShape.__static_initialize();com.mxgraph.io.vsdx.Shape.UNICODE_LINE_SEP_$LI$();com.mxgraph.io.vsdx.Style.lineDashPatterns_$LI$();com.mxgraph.io.vsdx.Style.styleTypes_$LI$();com.mxgraph.io.vsdx.Style.__static_initialize();com.mxgraph.online.Constants.MAX_AREA_$LI$();com.mxgraph.io.vsdx.theme.Color.NONE_$LI$();com.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$();
 com.mxgraph.io.vsdx.mxVsdxTheme.colorIds_$LI$();com.mxgraph.io.vsdx.mxVsdxTheme.themesIds_$LI$();com.mxgraph.io.vsdx.mxVsdxTheme.__static_initialize();com.mxgraph.io.vsdx.mxVsdxConstants.MY_SET_$LI$();com.mxgraph.io.vsdx.mxVsdxConstants.SET_VALUES_$LI$();com.mxgraph.io.vsdx.mxPropertiesManager.defaultColors_$LI$();com.mxgraph.io.vsdx.mxPropertiesManager.__static_initialize();com.mxgraph.io.mxVsdxCodec.vsdxPlaceholder_$LI$();com.mxgraph.io.mxVsdxCodec.parsererrorNS_$LI$();
 EditorUi.prototype.doImportVisio=function(c,n,m,k){k=k||c.name;null!=k&&/(\.vs(x|sx?))($|\?)/i.test(k)?(new com.mxgraph.io.mxVssxCodec(this)).decodeVssx(c,n,null,m):(new com.mxgraph.io.mxVsdxCodec(this)).decodeVsdx(c,n,null,m)};function mxGraphMlCodec(){this.cachedRefObj={}}mxGraphMlCodec.prototype.refRegexp=/^\{y\:GraphMLReference\s+(\d+)\}$/;mxGraphMlCodec.prototype.staticRegexp=/^\{x\:Static\s+(.+)\.(.+)\}$/;
-mxGraphMlCodec.prototype.decode=function(c,n,m){try{var k=mxUtils.parseXml(c),f=this.getDirectChildNamedElements(k.documentElement,mxGraphMlConstants.GRAPH);this.initializeKeys(k.documentElement);c='<?xml version="1.0" encoding="UTF-8"?><mxfile>';for(k=0;k<f.length;k++){var e=f[k],b=this.createMxGraph(),a=b.getModel();a.beginUpdate();try{for(this.nodesMap={},this.edges=[],this.importGraph(e,b,b.getDefaultParent()),k=0;k<this.edges.length;k++)for(var d=this.edges[k],g=d.edges,p=d.parent,y=d.dx,A=d.dy,
-x=0;x<g.length;x++)this.importEdge(g[x],b,p,y,A)}catch(ia){throw console.log(ia),ia;}finally{a.endUpdate()}a.beginUpdate();try{var z=b.getModel().cells,F;for(F in z){var B=z[F];if(B.edge&&0<B.getChildCount())for(k=0;k<B.getChildCount();k++){var C=B.children[k].geometry;if(C.adjustIt){var G=b.view.getState(B),D=G.absolutePoints,Z=D[0],Y=D[D.length-1],aa=C.x,L=C.y,y=Y.x-Z.x,A=Y.y-Z.y,S=Z.x+aa*y,U=Z.y+aa*A,da=Math.sqrt(y*y+A*A),y=y/da,A=A/da,S=S-L*A,U=U+L*y,ba=b.view.getRelativePoint(G,S,U);C.x=ba.x;
-C.y=ba.y}}}}catch(ia){throw console.log(ia),ia;}finally{a.endUpdate()}c+=this.processPage(b,k+1)}n&&n(c+"</mxfile>")}catch(ia){m&&m(ia)}};
+mxGraphMlCodec.prototype.decode=function(c,n,m){try{var k=mxUtils.parseXml(c),f=this.getDirectChildNamedElements(k.documentElement,mxGraphMlConstants.GRAPH);this.initializeKeys(k.documentElement);c='<?xml version="1.0" encoding="UTF-8"?><mxfile>';for(k=0;k<f.length;k++){var e=f[k],b=this.createMxGraph(),a=b.getModel();a.beginUpdate();try{for(this.nodesMap={},this.edges=[],this.importGraph(e,b,b.getDefaultParent()),k=0;k<this.edges.length;k++)for(var d=this.edges[k],h=d.edges,p=d.parent,y=d.dx,z=d.dy,
+x=0;x<h.length;x++)this.importEdge(h[x],b,p,y,z)}catch(ia){throw console.log(ia),ia;}finally{a.endUpdate()}a.beginUpdate();try{var A=b.getModel().cells,D;for(D in A){var C=A[D];if(C.edge&&0<C.getChildCount())for(k=0;k<C.getChildCount();k++){var B=C.children[k].geometry;if(B.adjustIt){var G=b.view.getState(C),F=G.absolutePoints,Q=F[0],aa=F[F.length-1],Y=B.x,T=B.y,y=aa.x-Q.x,z=aa.y-Q.y,H=Q.x+Y*y,V=Q.y+Y*z,ba=Math.sqrt(y*y+z*z),y=y/ba,z=z/ba,H=H-T*z,V=V+T*y,ea=b.view.getRelativePoint(G,H,V);B.x=ea.x;
+B.y=ea.y}}}}catch(ia){throw console.log(ia),ia;}finally{a.endUpdate()}c+=this.processPage(b,k+1)}n&&n(c+"</mxfile>")}catch(ia){m&&m(ia)}};
 mxGraphMlCodec.prototype.initializeKeys=function(c){var n=this.getDirectChildNamedElements(c,mxGraphMlConstants.KEY);this.nodesKeys={};this.edgesKeys={};this.portsKeys={};this.sharedData={};this.nodesKeys[mxGraphMlConstants.NODE_GEOMETRY]={};this.nodesKeys[mxGraphMlConstants.USER_TAGS]={};this.nodesKeys[mxGraphMlConstants.NODE_STYLE]={};this.nodesKeys[mxGraphMlConstants.NODE_LABELS]={};this.nodesKeys[mxGraphMlConstants.NODE_GRAPHICS]={};this.edgesKeys[mxGraphMlConstants.EDGE_GEOMETRY]={};this.edgesKeys[mxGraphMlConstants.EDGE_STYLE]=
 {};this.edgesKeys[mxGraphMlConstants.EDGE_LABELS]={};this.portsKeys[mxGraphMlConstants.PORT_LOCATION_PARAMETER]={};this.portsKeys[mxGraphMlConstants.PORT_STYLE]={};this.portsKeys[mxGraphMlConstants.PORT_VIEW_STATE]={};for(var m,k=0;k<n.length;k++){var f=this.dataElem2Obj(n[k]),e=f[mxGraphMlConstants.ID],b=f[mxGraphMlConstants.KEY_FOR],a=f[mxGraphMlConstants.KEY_NAME],d=f[mxGraphMlConstants.KEY_YTYPE];a==mxGraphMlConstants.SHARED_DATA&&(m=e);a=a?a:d;switch(b){case mxGraphMlConstants.NODE:this.nodesKeys[a]=
 {key:e,keyObj:f};break;case mxGraphMlConstants.EDGE:this.edgesKeys[a]={key:e,keyObj:f};break;case mxGraphMlConstants.PORT:this.portsKeys[a]={key:e,keyObj:f};break;case mxGraphMlConstants.ALL:f={key:e,keyObj:f},this.nodesKeys[a]=f,this.edgesKeys[a]=f,this.portsKeys[a]=f}}c=this.getDirectChildNamedElements(c,mxGraphMlConstants.DATA);for(k=0;k<c.length;k++)if(c[k].getAttribute(mxGraphMlConstants.KEY)==m)for(b=this.getDirectChildNamedElements(c[k],mxGraphMlConstants.Y_SHARED_DATA),n=0;n<b.length;n++)for(a=
@@ -1266,21 +1267,21 @@ break;case "bpmnOutline":b=mxGraphMlShapesMap.bpmnOutline[e.toLowerCase()];break
 mxGraphMlCodec.prototype.importGraph=function(c,n,m){for(var k=this.getDirectChildNamedElements(c,mxGraphMlConstants.NODE),f=m,e=0,b=0;f&&f.geometry;)e+=f.geometry.x,b+=f.geometry.y,f=f.parent;for(f=0;f<k.length;f++)this.importNode(k[f],n,m,e,b);this.edges.push({edges:this.getDirectChildNamedElements(c,mxGraphMlConstants.EDGE),parent:m,dx:e,dy:b})};
 mxGraphMlCodec.prototype.importPort=function(c,n){for(var m=c.getAttribute(mxGraphMlConstants.PORT_NAME),k={},f=this.getDirectChildNamedElements(c,mxGraphMlConstants.DATA),e=0;e<f.length;e++){var b=f[e];b.getAttribute(mxGraphMlConstants.KEY);b=this.dataElem2Obj(b);b.key==this.portsKeys[mxGraphMlConstants.PORT_LOCATION_PARAMETER].key&&this.mapObject(b,{"y:FreeNodePortLocationModelParameter.Ratio":function(a,b){var c=a.split(",");b.pos={x:c[0],y:c[1]}}},k)}n[m]=k};
 mxGraphMlCodec.prototype.styleMap2Str=function(c){var n="",m="",k;for(k in c)m+=n+k+"="+c[k],n=";";return m};
-mxGraphMlCodec.prototype.importNode=function(c,n,m,k,f){var e=this.getDirectChildNamedElements(c,mxGraphMlConstants.DATA),b=c.getAttribute(mxGraphMlConstants.ID),a=new mxCell;a.vertex=!0;a.geometry=new mxGeometry(0,0,30,30);n.addCell(a,m);m={graphMlID:b};for(var d=null,g=null,p=null,y=null,A=0;A<e.length;A++){var x=this.dataElem2Obj(e[A]);if(x.key)if(x.key==this.nodesKeys[mxGraphMlConstants.NODE_GEOMETRY].key)this.addNodeGeo(a,x,k,f);else if(x.key==this.nodesKeys[mxGraphMlConstants.USER_TAGS].key)p=
-x;else if(x.key==this.nodesKeys[mxGraphMlConstants.NODE_STYLE].key)d=x,x["yjs:StringTemplateNodeStyle"]?g=x["yjs:StringTemplateNodeStyle"]["#text"]:this.addNodeStyle(a,x,m);else if(x.key==this.nodesKeys[mxGraphMlConstants.NODE_LABELS].key)y=x;else if(x.key==this.nodesKeys[mxGraphMlConstants.NODE_GRAPHICS].key){var z=d=null;for(z in x)if("key"!=z&&"#text"!=z){if("y:ProxyAutoBoundsNode"==z){if(z=x[z]["y:Realizers"])for(var F in z)if("active"!=F&&"#text"!=F){d=z[F][z.active];x={};x[F]=d;break}}else d=
-x[z];break}d&&(d[mxGraphMlConstants.GEOMETRY]&&this.addNodeGeo(a,d[mxGraphMlConstants.GEOMETRY],k,f),d[mxGraphMlConstants.NODE_LABEL]&&(y=d[mxGraphMlConstants.NODE_LABEL]));d=x;this.addNodeStyle(a,x,m)}}f=this.getDirectChildNamedElements(c,mxGraphMlConstants.PORT);k={};for(A=0;A<f.length;A++)this.importPort(f[A],k);g&&this.handleTemplates(g,p,a,m);this.handleFixedRatio(a,m);this.handleCompoundShape(a,m,d,null);0==m.strokeWidth&&(m.strokeColor="none");a.style=this.styleMap2Str(m);c=this.getDirectChildNamedElements(c,
-mxGraphMlConstants.GRAPH);for(A=0;A<c.length;A++)this.importGraph(c[A],n,a,k);y&&this.addLabels(a,y,m,n);this.nodesMap[b]={node:a,ports:k}};
+mxGraphMlCodec.prototype.importNode=function(c,n,m,k,f){var e=this.getDirectChildNamedElements(c,mxGraphMlConstants.DATA),b=c.getAttribute(mxGraphMlConstants.ID),a=new mxCell;a.vertex=!0;a.geometry=new mxGeometry(0,0,30,30);n.addCell(a,m);m={graphMlID:b};for(var d=null,h=null,p=null,y=null,z=0;z<e.length;z++){var x=this.dataElem2Obj(e[z]);if(x.key)if(x.key==this.nodesKeys[mxGraphMlConstants.NODE_GEOMETRY].key)this.addNodeGeo(a,x,k,f);else if(x.key==this.nodesKeys[mxGraphMlConstants.USER_TAGS].key)p=
+x;else if(x.key==this.nodesKeys[mxGraphMlConstants.NODE_STYLE].key)d=x,x["yjs:StringTemplateNodeStyle"]?h=x["yjs:StringTemplateNodeStyle"]["#text"]:this.addNodeStyle(a,x,m);else if(x.key==this.nodesKeys[mxGraphMlConstants.NODE_LABELS].key)y=x;else if(x.key==this.nodesKeys[mxGraphMlConstants.NODE_GRAPHICS].key){var A=d=null;for(A in x)if("key"!=A&&"#text"!=A){if("y:ProxyAutoBoundsNode"==A){if(A=x[A]["y:Realizers"])for(var D in A)if("active"!=D&&"#text"!=D){d=A[D][A.active];x={};x[D]=d;break}}else d=
+x[A];break}d&&(d[mxGraphMlConstants.GEOMETRY]&&this.addNodeGeo(a,d[mxGraphMlConstants.GEOMETRY],k,f),d[mxGraphMlConstants.NODE_LABEL]&&(y=d[mxGraphMlConstants.NODE_LABEL]));d=x;this.addNodeStyle(a,x,m)}}f=this.getDirectChildNamedElements(c,mxGraphMlConstants.PORT);k={};for(z=0;z<f.length;z++)this.importPort(f[z],k);h&&this.handleTemplates(h,p,a,m);this.handleFixedRatio(a,m);this.handleCompoundShape(a,m,d,null);0==m.strokeWidth&&(m.strokeColor="none");a.style=this.styleMap2Str(m);c=this.getDirectChildNamedElements(c,
+mxGraphMlConstants.GRAPH);for(z=0;z<c.length;z++)this.importGraph(c[z],n,a,k);y&&this.addLabels(a,y,m,n);this.nodesMap[b]={node:a,ports:k}};
 mxGraphMlCodec.prototype.addNodeStyle=function(c,n,m){c=function(a,b){if("line"!=a){b.dashed=1;var c;switch(a){case "DashDot":c="3 1 1 1";break;case "Dot":c="1 1";break;case "DashDotDot":c="3 1 1 1 1 1";break;case "Dash":c="3 1";break;case "dotted":c="1 3";break;case "dashed":c="5 2";break;default:c=a.replace(/0/g,"1")}c&&(0>c.indexOf(" ")&&(c=c+" "+c),b.dashPattern=c)}};c={shape:{key:"shape",mod:"shape"},"y:Shape.type":{key:"shape",mod:"shape"},configuration:{key:"shape",mod:"shape"},type:{key:"shape",
 mod:"shape"},assetName:{key:"shape",mod:"shape"},activityType:{key:"shape",mod:"shape"},fill:{key:"fillColor",mod:"color"},"fill.yjs:SolidColorFill.color":{key:"fillColor",mod:"color"},"fill.yjs:SolidColorFill.color.yjs:Color.value":{key:"fillColor",mod:"color"},"y:Fill":{color:{key:"fillColor",mod:"color"},transparent:function(a,b){"true"==a&&(b.fillColor="none")}},"y:BorderStyle":{color:{key:"strokeColor",mod:"color"},width:"strokeWidth",hasColor:function(a,b){"false"==a&&(b.strokeColor="none")},
 type:c},stroke:{key:"strokeColor",mod:"color"},"stroke.yjs:Stroke":{dashStyle:c,"dashStyle.yjs:DashStyle.dashes":c,fill:{key:"strokeColor",mod:"color"},"fill.yjs:SolidColorFill.color":{key:"strokeColor",mod:"color"},"thickness.sys:Double":"strokeWidth",thickness:"strokeWidth"}};var k=mxUtils.clone(c);k.defaults={fillColor:"#CCCCCC",strokeColor:"#6881B3"};var f=mxUtils.clone(c);f.defaults={shape:"ext;rounded=1",fillColor:"#FFFFFF",strokeColor:"#000090"};var e=mxUtils.clone(c);e.defaults={shape:"rhombus;fillColor=#FFFFFF;strokeColor=#FFCD28"};
-var b=mxUtils.clone(c);b.defaults={shape:"hexagon",strokeColor:"#007000"};var a=mxUtils.clone(c);a.defaults={shape:"mxgraph.bpmn.shape;perimeter=ellipsePerimeter;symbol=general",outline:"standard"};a.characteristic={key:"outline",mod:"bpmnOutline"};var d=mxUtils.clone(c);d.defaults={shape:"js:bpmnDataObject"};var g=mxUtils.clone(c);g.defaults={shape:"datastore"};var p=mxUtils.clone(c);p.defaults={shape:"swimlane;swimlaneLine=0;startSize=20;dashed=1;dashPattern=3 1 1 1;collapsible=0;rounded=1"};var y=
-mxUtils.clone(c);y.defaults={shape:"js:BpmnChoreography"};var A=mxUtils.clone(c);A.defaults={rounded:"1",glass:"1",strokeColor:"#FFFFFF"};A.inset="strokeWidth";A.radius="arcSize";A.drawShadow={key:"shadow",mod:"bool"};A.color={key:"fillColor",mod:"color",addGradient:"north"};A["color.yjs:Color.value"]=A.color;var x=mxUtils.clone(c);x.defaults={rounded:"1",arcSize:10,glass:"1",shadow:"1",strokeColor:"none"};x.drawShadow={key:"shadow",mod:"bool"};var z=mxUtils.clone(c);z.defaults={shape:"swimlane",
-startSize:20,strokeWidth:4,spacingLeft:10};z.isCollapsible={key:"collapsible",mod:"bool"};z.borderColor={key:"strokeColor",mod:"color"};z.folderFrontColor={key:"fillColor",mod:"color"};var F=mxUtils.clone(c);F.defaults={shape:"swimlane",startSize:20,spacingLeft:10};F["yjs:PanelNodeStyle"]={color:{key:"swimlaneFillColor",mod:"color"},"color.yjs:Color.value":{key:"swimlaneFillColor",mod:"color"},labelInsetsColor:{key:"fillColor",mod:"color"},"labelInsetsColor.yjs:Color.value":{key:"fillColor",mod:"color"}};
-var B=mxUtils.clone(c);B.defaults={shape:"js:table"};var C=mxUtils.clone(c);C.defaults={shape:"image"};C.image=function(a,b){b.image=a};var G=mxUtils.clone(c);G.defaults={shape:"image"};G["y:SVGModel.y:SVGContent.y:Resource.#text"]=function(a,b){b.image="data:image/svg+xml,"+(window.btoa?btoa(a):Base64.encode(a))};var D=mxUtils.clone(c);D.defaults={shape:"swimlane",startSize:20};D["y:Shape.type"]=function(a,b){"roundrectangle"==a&&(b.rounded=1,b.arcSize=5)};var Z=mxUtils.clone(c);Z.defaults={shape:"js:table2"};
-var Y=mxUtils.clone(c);Y.defaults={gradientDirection:"east"};Y["y:Fill"].color2={key:"gradientColor",mod:"color"};Y["y:StyleProperties.y:Property"]={"com.yworks.bpmn.characteristic":{key:"outline",mod:"bpmnOutline"},"com.yworks.bpmn.icon.fill":{key:"gradientColor",mod:"color"},"com.yworks.bpmn.icon.fill2":{key:"fillColor",mod:"color"},"com.yworks.bpmn.type":{key:"symbol",mod:"bpmnSymbol"},"y.view.ShadowNodePainter.SHADOW_PAINTING":{key:"shadow",mod:"bool"},doubleBorder:{key:"double",mod:"bool"},"com.yworks.sbgn.style.radius":{key:"arcSize",
-mod:"scale",scale:2},"com.yworks.sbgn.style.inverse":{key:"flipV",mod:"bool"}};this.mapObject(n,{"yjs:ShapeNodeStyle":c,"demostyle:FlowchartNodeStyle":c,"demostyle:AssetNodeStyle":k,"bpmn:ActivityNodeStyle":f,"bpmn:GatewayNodeStyle":e,"bpmn:ConversationNodeStyle":b,"bpmn:EventNodeStyle":a,"bpmn:DataObjectNodeStyle":d,"bpmn:DataStoreNodeStyle":g,"bpmn:GroupNodeStyle":p,"bpmn:ChoreographyNodeStyle":y,"yjs:BevelNodeStyle":A,"yjs:ShinyPlateNodeStyle":x,"demostyle:DemoGroupStyle":z,"yjs:CollapsibleNodeStyleDecorator":F,
-"bpmn:PoolNodeStyle":B,"yjs:TableNodeStyle":B,"demotablestyle:DemoTableStyle":B,"yjs:ImageNodeStyle":C,"y:ShapeNode":c,"y:GenericNode":Y,"y:GenericGroupNode":Y,"y:TableNode":Z,"y:SVGNode":G,"y:GroupNode":D},m)};
-mxGraphMlCodec.prototype.handleTemplates=function(c,n,m,k){if(c){for(var f=m.geometry.width,e=m.geometry.height,b='<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 '+f+" "+e+'"><g>',a,d=[],g=/\{TemplateBinding\s+([^}]+)\}/g;null!=(a=g.exec(c));){var p="";switch(a[1]){case "width":p=f;break;case "height":p=e}d.push({match:a[0],repl:p})}if(n&&n["y:Json"])for(e=JSON.parse(n["y:Json"]["#text"]),g=/\{Binding\s+([^}]+)\}/g;null!=(a=g.exec(c));)if(p=a[1].split(","),
+var b=mxUtils.clone(c);b.defaults={shape:"hexagon",strokeColor:"#007000"};var a=mxUtils.clone(c);a.defaults={shape:"mxgraph.bpmn.shape;perimeter=ellipsePerimeter;symbol=general",outline:"standard"};a.characteristic={key:"outline",mod:"bpmnOutline"};var d=mxUtils.clone(c);d.defaults={shape:"js:bpmnDataObject"};var h=mxUtils.clone(c);h.defaults={shape:"datastore"};var p=mxUtils.clone(c);p.defaults={shape:"swimlane;swimlaneLine=0;startSize=20;dashed=1;dashPattern=3 1 1 1;collapsible=0;rounded=1"};var y=
+mxUtils.clone(c);y.defaults={shape:"js:BpmnChoreography"};var z=mxUtils.clone(c);z.defaults={rounded:"1",glass:"1",strokeColor:"#FFFFFF"};z.inset="strokeWidth";z.radius="arcSize";z.drawShadow={key:"shadow",mod:"bool"};z.color={key:"fillColor",mod:"color",addGradient:"north"};z["color.yjs:Color.value"]=z.color;var x=mxUtils.clone(c);x.defaults={rounded:"1",arcSize:10,glass:"1",shadow:"1",strokeColor:"none"};x.drawShadow={key:"shadow",mod:"bool"};var A=mxUtils.clone(c);A.defaults={shape:"swimlane",
+startSize:20,strokeWidth:4,spacingLeft:10};A.isCollapsible={key:"collapsible",mod:"bool"};A.borderColor={key:"strokeColor",mod:"color"};A.folderFrontColor={key:"fillColor",mod:"color"};var D=mxUtils.clone(c);D.defaults={shape:"swimlane",startSize:20,spacingLeft:10};D["yjs:PanelNodeStyle"]={color:{key:"swimlaneFillColor",mod:"color"},"color.yjs:Color.value":{key:"swimlaneFillColor",mod:"color"},labelInsetsColor:{key:"fillColor",mod:"color"},"labelInsetsColor.yjs:Color.value":{key:"fillColor",mod:"color"}};
+var C=mxUtils.clone(c);C.defaults={shape:"js:table"};var B=mxUtils.clone(c);B.defaults={shape:"image"};B.image=function(a,b){b.image=a};var G=mxUtils.clone(c);G.defaults={shape:"image"};G["y:SVGModel.y:SVGContent.y:Resource.#text"]=function(a,b){b.image="data:image/svg+xml,"+(window.btoa?btoa(a):Base64.encode(a))};var F=mxUtils.clone(c);F.defaults={shape:"swimlane",startSize:20};F["y:Shape.type"]=function(a,b){"roundrectangle"==a&&(b.rounded=1,b.arcSize=5)};var Q=mxUtils.clone(c);Q.defaults={shape:"js:table2"};
+var aa=mxUtils.clone(c);aa.defaults={gradientDirection:"east"};aa["y:Fill"].color2={key:"gradientColor",mod:"color"};aa["y:StyleProperties.y:Property"]={"com.yworks.bpmn.characteristic":{key:"outline",mod:"bpmnOutline"},"com.yworks.bpmn.icon.fill":{key:"gradientColor",mod:"color"},"com.yworks.bpmn.icon.fill2":{key:"fillColor",mod:"color"},"com.yworks.bpmn.type":{key:"symbol",mod:"bpmnSymbol"},"y.view.ShadowNodePainter.SHADOW_PAINTING":{key:"shadow",mod:"bool"},doubleBorder:{key:"double",mod:"bool"},
+"com.yworks.sbgn.style.radius":{key:"arcSize",mod:"scale",scale:2},"com.yworks.sbgn.style.inverse":{key:"flipV",mod:"bool"}};this.mapObject(n,{"yjs:ShapeNodeStyle":c,"demostyle:FlowchartNodeStyle":c,"demostyle:AssetNodeStyle":k,"bpmn:ActivityNodeStyle":f,"bpmn:GatewayNodeStyle":e,"bpmn:ConversationNodeStyle":b,"bpmn:EventNodeStyle":a,"bpmn:DataObjectNodeStyle":d,"bpmn:DataStoreNodeStyle":h,"bpmn:GroupNodeStyle":p,"bpmn:ChoreographyNodeStyle":y,"yjs:BevelNodeStyle":z,"yjs:ShinyPlateNodeStyle":x,"demostyle:DemoGroupStyle":A,
+"yjs:CollapsibleNodeStyleDecorator":D,"bpmn:PoolNodeStyle":C,"yjs:TableNodeStyle":C,"demotablestyle:DemoTableStyle":C,"yjs:ImageNodeStyle":B,"y:ShapeNode":c,"y:GenericNode":aa,"y:GenericGroupNode":aa,"y:TableNode":Q,"y:SVGNode":G,"y:GroupNode":F},m)};
+mxGraphMlCodec.prototype.handleTemplates=function(c,n,m,k){if(c){for(var f=m.geometry.width,e=m.geometry.height,b='<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 '+f+" "+e+'"><g>',a,d=[],h=/\{TemplateBinding\s+([^}]+)\}/g;null!=(a=h.exec(c));){var p="";switch(a[1]){case "width":p=f;break;case "height":p=e}d.push({match:a[0],repl:p})}if(n&&n["y:Json"])for(e=JSON.parse(n["y:Json"]["#text"]),h=/\{Binding\s+([^}]+)\}/g;null!=(a=h.exec(c));)if(p=a[1].split(","),
 f=e[p[0]]){if(1<p.length&&p[1].indexOf("Converter=")){var y=mxGraphMlConverters[p[1].substr(11)];y&&(arguments=[f],p[2]&&arguments.push(p[2].substr(11)),f=y.apply(null,arguments))}d.push({match:a[0],repl:mxUtils.htmlEntities(f)})}for(a=0;a<d.length;a++)c=c.replace(d[a].match,d[a].repl);d=[];for(e=/\<text.+data-content="([^"]+).+\<\/text\>/g;null!=(a=e.exec(c));)f=a[0].substr(0,a[0].length-7)+a[1]+"</text>",d.push({match:a[0],repl:f});for(a=0;a<d.length;a++)c=c.replace(d[a].match,d[a].repl);b=b+c+
 "</g></svg>";k.shape="image";k.image="data:image/svg+xml,"+(window.btoa?btoa(b):Base64.encode(b))}};
 mxGraphMlCodec.prototype.handleCompoundShape=function(c,n,m,k){var f=n.shape;if(f&&0==f.indexOf("js:")){switch(f){case "js:bpmnArtifactShadow":n.shadow="1";case "js:bpmnArtifact":n.shape=n.symbol;delete n.fillColor;delete n.strokeColor;delete n.gradientColor;this.handleCompoundShape(c,n,m,k);break;case "js:bpmnDataObjectShadow":case "js:bpmnDataObject":n.shape="note;size=16";m=m["bpmn:DataObjectNodeStyle"]||m["y:GenericNode"]||m["y:GenericGroupNode"];k={};this.mapObject(m,{"y:StyleProperties.y:Property":{"com.yworks.bpmn.dataObjectType":"dataObjectType",
@@ -1293,45 +1294,45 @@ new mxCell("",new mxGeometry(0,0,15,15),"shape=mxgraph.bpmn.script_task;"),b.geo
 new mxPoint(m,-20);var d=new mxCell("",new mxGeometry(.5,.5,8,1),"shape=rect;part=1;");d.geometry.offset=new mxPoint(-4,-1);d.geometry.relative=!0;d.vertex=!0;b.insert(d);break;case "bpmn_marker_loop":b=new mxCell("",new mxGeometry(.5,1,15,15),"shape=mxgraph.bpmn.loop;part=1;");b.geometry.offset=new mxPoint(m,-20);break;case "bpmn_marker_parallel":b=new mxCell("",new mxGeometry(.5,1,15,15),"shape=parallelMarker;part=1;");b.geometry.offset=new mxPoint(m,-20);break;case "bpmn_marker_sequential":b=new mxCell("",
 new mxGeometry(.5,1,15,15),"shape=parallelMarker;direction=south;part=1;");b.geometry.offset=new mxPoint(m,-20);break;case "bpmn_marker_ad_hoc":b=new mxCell("",new mxGeometry(.5,1,15,10),"shape=mxgraph.bpmn.ad_hoc;strokeColor=none;flipH=1;part=1;fillColor=#000000");b.geometry.offset=new mxPoint(m,-17);break;case "bpmn_marker_compensation":b=new mxCell("",new mxGeometry(.5,1,15,11),"shape=mxgraph.bpmn.compensation;part=1;"),b.geometry.offset=new mxPoint(m,-18)}b.geometry.relative=!0;b.vertex=!0;c.insert(b);
 m+=20}break;case "js:table":n.shape="swimlane;collapsible=0;swimlaneLine=0";k=m["yjs:TableNodeStyle"]||m["demotablestyle:DemoTableStyle"];!k&&m["bpmn:PoolNodeStyle"]&&(k=m["bpmn:PoolNodeStyle"]["yjs:TableNodeStyle"]);this.mapObject(k,{"backgroundStyle.demotablestyle:TableBackgroundStyle":{"insetFill.yjs:SolidColorFill.color.yjs:Color.value":{key:"fillColor",mod:"color"},"tableBackgroundFill.yjs:SolidColorFill.color.yjs:Color.value":{key:"swimlaneFillColor",mod:"color"},"tableBackgroundStroke.yjs:Stroke":{fill:{key:"strokeColor",
-mod:"color"},thickness:"strokeWidth"}},"backgroundStyle.yjs:ShapeNodeStyle.fill":{key:"fillColor",mod:"color"},"backgroundStyle.yjs:ShapeNodeStyle.fill.yjs:SolidColorFill.color":{key:"fillColor",mod:"color"}},n);n.swimlaneFillColor=n.fillColor;k=k.table["y:Table"];var g=a=0,p={x:0};m=0;(e=k.Insets)?(e=e.split(","),"0"!=e[0]?(n.startSize=e[0],p.x=parseFloat(e[0]),n.horizontal="0"):"0"!=e[1]&&(n.startSize=e[1],m=parseFloat(e[1]),g+=m)):n.startSize="0";var y={},A={Insets:function(a,b){b.startSize=a.split(",")[0]},
+mod:"color"},thickness:"strokeWidth"}},"backgroundStyle.yjs:ShapeNodeStyle.fill":{key:"fillColor",mod:"color"},"backgroundStyle.yjs:ShapeNodeStyle.fill.yjs:SolidColorFill.color":{key:"fillColor",mod:"color"}},n);n.swimlaneFillColor=n.fillColor;k=k.table["y:Table"];var h=a=0,p={x:0};m=0;(e=k.Insets)?(e=e.split(","),"0"!=e[0]?(n.startSize=e[0],p.x=parseFloat(e[0]),n.horizontal="0"):"0"!=e[1]&&(n.startSize=e[1],m=parseFloat(e[1]),h+=m)):n.startSize="0";var y={},z={Insets:function(a,b){b.startSize=a.split(",")[0]},
 "Style.bpmn:AlternatingLeafStripeStyle":{"evenLeafDescriptor.bpmn:StripeDescriptor":{insetFill:{key:"evenFill",mod:"color"},backgroundFill:{key:"evenLaneFill",mod:"color"}},"oddLeafDescriptor.bpmn:StripeDescriptor":{insetFill:{key:"oddFill",mod:"color"},backgroundFill:{key:"oddLaneFill",mod:"color"}}},"Style.yjs:NodeStyleStripeStyleAdapter":{"demotablestyle:DemoStripeStyle":{"stripeInsetFill.yjs:SolidColorFill.color.yjs:Color.value":{key:"fillColor",mod:"color"},"tableLineFill.yjs:SolidColorFill.color.yjs:Color.value":{key:"strokeColor",
-mod:"color"}},"yjs:ShapeNodeStyle":{fill:{key:"swimlaneFillColor",mod:"color"}}},Size:"height"};this.mapObject(k.RowDefaults,{defaults:{shape:"swimlane;collapsible=0;horizontal=0",startSize:"0"},"y:StripeDefaults":A},y);b={};d={Insets:function(a,b){b.startSize=a.split(",")[1]},"Style.bpmn:AlternatingLeafStripeStyle":{"evenLeafDescriptor.bpmn:StripeDescriptor":{insetFill:{key:"evenFill",mod:"color"},backgroundFill:{key:"evenLaneFill",mod:"color"}},"oddLeafDescriptor.bpmn:StripeDescriptor":{insetFill:{key:"oddFill",
+mod:"color"}},"yjs:ShapeNodeStyle":{fill:{key:"swimlaneFillColor",mod:"color"}}},Size:"height"};this.mapObject(k.RowDefaults,{defaults:{shape:"swimlane;collapsible=0;horizontal=0",startSize:"0"},"y:StripeDefaults":z},y);b={};d={Insets:function(a,b){b.startSize=a.split(",")[1]},"Style.bpmn:AlternatingLeafStripeStyle":{"evenLeafDescriptor.bpmn:StripeDescriptor":{insetFill:{key:"evenFill",mod:"color"},backgroundFill:{key:"evenLaneFill",mod:"color"}},"oddLeafDescriptor.bpmn:StripeDescriptor":{insetFill:{key:"oddFill",
 mod:"color"},backgroundFill:{key:"oddLaneFill",mod:"color"}}},"Style.yjs:NodeStyleStripeStyleAdapter":{"demotablestyle:DemoStripeStyle":{"stripeInsetFill.yjs:SolidColorFill.color.yjs:Color.value":{key:"fillColor",mod:"color"},"tableLineFill.yjs:SolidColorFill.color.yjs:Color.value":{key:"strokeColor",mod:"color"}},"yjs:ShapeNodeStyle":{fill:{key:"swimlaneFillColor",mod:"color"}}},Size:"width"};this.mapObject(k.ColumnDefaults,{defaults:{shape:"swimlane;collapsible=0",startSize:"0",fillColor:"none"},
-"y:StripeDefaults":d},b);var e=c.geometry,a=k.Rows["y:Row"],g=g+parseFloat(b.startSize),x=p.x,z=p.x;p.lx=p.x;if(a)for(a instanceof Array||(a=[a]),e=0;e<a.length;e++)p.x=z,p.lx=z,g=this.addRow(a[e],c,e&1,g,p,A,y),x=Math.max(p.x,x);k=k.Columns["y:Column"];a=x;if(k)for(k instanceof Array||(k=[k]),e=0;e<k.length;e++)a=this.addColumn(k[e],c,e&1,a,m,d,b);break;case "js:table2":n.shape="swimlane;collapsible=0;swimlaneLine=0";k={};this.mapObject(m,{"y:TableNode":{"y:StyleProperties.y:Property":{"yed.table.section.color":{key:"secColor",
+"y:StripeDefaults":d},b);var e=c.geometry,a=k.Rows["y:Row"],h=h+parseFloat(b.startSize),x=p.x,A=p.x;p.lx=p.x;if(a)for(a instanceof Array||(a=[a]),e=0;e<a.length;e++)p.x=A,p.lx=A,h=this.addRow(a[e],c,e&1,h,p,z,y),x=Math.max(p.x,x);k=k.Columns["y:Column"];a=x;if(k)for(k instanceof Array||(k=[k]),e=0;e<k.length;e++)a=this.addColumn(k[e],c,e&1,a,m,d,b);break;case "js:table2":n.shape="swimlane;collapsible=0;swimlaneLine=0";k={};this.mapObject(m,{"y:TableNode":{"y:StyleProperties.y:Property":{"yed.table.section.color":{key:"secColor",
 mod:"color"},"yed.table.header.height":"headerH","yed.table.header.color.main":{key:"headerColor",mod:"color"},"yed.table.header.color.alternating":{key:"headerColorAlt",mod:"color"},"yed.table.lane.color.main":{key:"laneColor",mod:"color"},"yed.table.lane.color.alternating":{key:"laneColorAlt",mod:"color"},"yed.table.lane.style":"laneStyle","com.yworks.bpmn.type":"isHorz",POOL_LANE_COLOR_ALTERNATING:{key:"laneColorAlt",mod:"color"},POOL_LANE_COLOR_MAIN:{key:"laneColor",mod:"color"},POOL_LANE_STYLE:"laneStyle",
-POOL_HEADER_COLOR_MAIN:{key:"headerColor",mod:"color"},POOL_HEADER_COLOR_ALTERNATING:{key:"headerColorAlt",mod:"color"},POOL_TABLE_SECTION_COLOR:{key:"secColor",mod:"color"}},"y:Table":{"y:DefaultColumnInsets.top":"colHHeight","y:DefaultRowInsets.left":"rowHWidth","y:Insets":{top:"tblHHeight",left:"tblHWidth"}}}},k);n.swimlaneFillColor=n.fillColor;A=b=0;"pool_type_lane_and_column"==k.isHorz||"pool_type_empty"==k.isHorz||"pool_type_lane"==k.isHorz?A=parseFloat(k.tblHWidth):b=parseFloat(k.tblHHeight);
-n.startSize=b?b:A;try{a=m["y:TableNode"]["y:Table"]["y:Rows"]["y:Row"];d=m["y:TableNode"]["y:Table"]["y:Columns"]["y:Column"];g="lane.style.rows"==k.laneStyle||"lane_style_rows"==k.laneStyle;a instanceof Array||(a=[a]);d instanceof Array||(d=[d]);p=parseFloat(k.rowHWidth);for(e=0;e<a.length;e++)a[e]["y:Insets"]&&(p=Math.max(p,parseFloat(a[e]["y:Insets"].left)+parseFloat(a[e]["y:Insets"].right)));y=parseFloat(k.colHHeight);for(e=0;e<d.length;e++)d[e]["y:Insets"]&&(y=Math.max(y,parseFloat(d[e]["y:Insets"].top)+
-parseFloat(d[e]["y:Insets"].bottom)));g?(this.addTbl2Rows(c,a,b,A,p,y,g,k),this.addTbl2Cols(c,d,b,A,p,y,g,k)):(this.addTbl2Cols(c,d,b,A,p,y,g,k),this.addTbl2Rows(c,a,b,A,p,y,g,k))}catch(F){}break;case "js:relationship_big_entity":n.shape="swimlane;startSize=30;rounded=1;arcSize=5;collapsible=0";if(c=m["y:GenericNode"]["y:Fill"])n.fillColor=c.color2,n.swimlaneFillColor=c.color;break;case "js:relationship_attribute":n.shape="1"==n["double"]?"doubleEllipse":"ellipse"}0<f.indexOf("Shadow")&&(n.shadow=
+POOL_HEADER_COLOR_MAIN:{key:"headerColor",mod:"color"},POOL_HEADER_COLOR_ALTERNATING:{key:"headerColorAlt",mod:"color"},POOL_TABLE_SECTION_COLOR:{key:"secColor",mod:"color"}},"y:Table":{"y:DefaultColumnInsets.top":"colHHeight","y:DefaultRowInsets.left":"rowHWidth","y:Insets":{top:"tblHHeight",left:"tblHWidth"}}}},k);n.swimlaneFillColor=n.fillColor;z=b=0;"pool_type_lane_and_column"==k.isHorz||"pool_type_empty"==k.isHorz||"pool_type_lane"==k.isHorz?z=parseFloat(k.tblHWidth):b=parseFloat(k.tblHHeight);
+n.startSize=b?b:z;try{a=m["y:TableNode"]["y:Table"]["y:Rows"]["y:Row"];d=m["y:TableNode"]["y:Table"]["y:Columns"]["y:Column"];h="lane.style.rows"==k.laneStyle||"lane_style_rows"==k.laneStyle;a instanceof Array||(a=[a]);d instanceof Array||(d=[d]);p=parseFloat(k.rowHWidth);for(e=0;e<a.length;e++)a[e]["y:Insets"]&&(p=Math.max(p,parseFloat(a[e]["y:Insets"].left)+parseFloat(a[e]["y:Insets"].right)));y=parseFloat(k.colHHeight);for(e=0;e<d.length;e++)d[e]["y:Insets"]&&(y=Math.max(y,parseFloat(d[e]["y:Insets"].top)+
+parseFloat(d[e]["y:Insets"].bottom)));h?(this.addTbl2Rows(c,a,b,z,p,y,h,k),this.addTbl2Cols(c,d,b,z,p,y,h,k)):(this.addTbl2Cols(c,d,b,z,p,y,h,k),this.addTbl2Rows(c,a,b,z,p,y,h,k))}catch(D){}break;case "js:relationship_big_entity":n.shape="swimlane;startSize=30;rounded=1;arcSize=5;collapsible=0";if(c=m["y:GenericNode"]["y:Fill"])n.fillColor=c.color2,n.swimlaneFillColor=c.color;break;case "js:relationship_attribute":n.shape="1"==n["double"]?"doubleEllipse":"ellipse"}0<f.indexOf("Shadow")&&(n.shadow=
 "1")}};
-mxGraphMlCodec.prototype.addTbl2Rows=function(c,n,m,k,f,e,b,a){m+=e;for(var d=null!=a.isHorz,g=0;g<n.length;g++){var p=g&1,y=new mxCell;y.vertex=!0;var A={shape:"swimlane;collapsible=0;horizontal=0",startSize:f,fillColor:a.secColor||"none",swimlaneLine:d?"0":"1"};0==parseFloat(A.startSize)&&(A.fillColor="none",A.swimlaneLine="0");if(b){var x=p?a.headerColorAlt:a.headerColor;A.swimlaneFillColor=p?a.laneColorAlt:a.laneColor;A.fillColor=x?x:A.swimlaneFillColor}p=parseFloat(n[g].height);x=d&&0==g?e:0;
-y.geometry=new mxGeometry(k,m-x,c.geometry.width-k,p+x);m+=p;y.style=this.styleMap2Str(A);c.insert(y)}};
-mxGraphMlCodec.prototype.addTbl2Cols=function(c,n,m,k,f,e,b,a){k=f+k;for(var d=null!=a.isHorz,g=0;g<n.length;g++){var p=g&1,y=new mxCell;y.vertex=!0;var A={shape:"swimlane;collapsible=0",startSize:e,fillColor:a.secColor||"none",swimlaneLine:d?"0":"1"};0==parseFloat(A.startSize)&&(A.fillColor="none");if(!b){var x=p?a.headerColorAlt:a.headerColor;A.swimlaneFillColor=p?a.laneColorAlt:a.laneColor;A.fillColor=x?x:A.swimlaneFillColor}p=parseFloat(n[g].width);x=d&&0==g?f:0;y.geometry=new mxGeometry(k-x,
-m,p+x,c.geometry.height-m);k+=p;y.style=this.styleMap2Str(A);c.insert(y)}};
-mxGraphMlCodec.prototype.addRow=function(c,n,m,k,f,e,b){var a=new mxCell;a.vertex=!0;var d=mxUtils.clone(b);this.mapObject(c,e,d);m?(d.oddFill&&(d.fillColor=d.oddFill),d.oddLaneFill&&(d.swimlaneFillColor=d.oddLaneFill)):(d.evenFill&&(d.fillColor=d.evenFill),d.evenLaneFill&&(d.swimlaneFillColor=d.evenLaneFill));m=parseFloat(d.height);a.geometry=new mxGeometry(f.lx,k,n.geometry.width-f.lx,m);var g=c.Labels;g&&this.addLabels(a,g,d);a.style=this.styleMap2Str(d);n.insert(a);c=c["y:Row"];f.lx=0;d.startSize&&
-(f.lx=parseFloat(d.startSize),f.x+=f.lx);n=d=f.x;var g=f.lx,p=0;if(c){c instanceof Array||(c=[c]);for(var y=0;y<c.length;y++)f.x=d,f.lx=g,p=this.addRow(c[y],a,y&1,p,f,e,b),n=Math.max(f.x,n)}f.x=n;m=Math.max(m,p);a.geometry.height=m;return k+m};
-mxGraphMlCodec.prototype.addColumn=function(c,n,m,k,f,e,b){var a=new mxCell;a.vertex=!0;var d=mxUtils.clone(b);this.mapObject(c,e,d);m?(d.oddFill&&(d.fillColor=d.oddFill),d.oddLaneFill&&(d.swimlaneFillColor=d.oddLaneFill)):(d.evenFill&&(d.fillColor=d.evenFill),d.evenLaneFill&&(d.swimlaneFillColor=d.evenLaneFill));m=parseFloat(d.width);a.geometry=new mxGeometry(k,f,m,n.geometry.height-f);var g=c.Labels;g&&this.addLabels(a,g,d);a.style=this.styleMap2Str(d);n.insert(a);c=c["y:Column"];n=0;if(c)for(c instanceof
+mxGraphMlCodec.prototype.addTbl2Rows=function(c,n,m,k,f,e,b,a){m+=e;for(var d=null!=a.isHorz,h=0;h<n.length;h++){var p=h&1,y=new mxCell;y.vertex=!0;var z={shape:"swimlane;collapsible=0;horizontal=0",startSize:f,fillColor:a.secColor||"none",swimlaneLine:d?"0":"1"};0==parseFloat(z.startSize)&&(z.fillColor="none",z.swimlaneLine="0");if(b){var x=p?a.headerColorAlt:a.headerColor;z.swimlaneFillColor=p?a.laneColorAlt:a.laneColor;z.fillColor=x?x:z.swimlaneFillColor}p=parseFloat(n[h].height);x=d&&0==h?e:0;
+y.geometry=new mxGeometry(k,m-x,c.geometry.width-k,p+x);m+=p;y.style=this.styleMap2Str(z);c.insert(y)}};
+mxGraphMlCodec.prototype.addTbl2Cols=function(c,n,m,k,f,e,b,a){k=f+k;for(var d=null!=a.isHorz,h=0;h<n.length;h++){var p=h&1,y=new mxCell;y.vertex=!0;var z={shape:"swimlane;collapsible=0",startSize:e,fillColor:a.secColor||"none",swimlaneLine:d?"0":"1"};0==parseFloat(z.startSize)&&(z.fillColor="none");if(!b){var x=p?a.headerColorAlt:a.headerColor;z.swimlaneFillColor=p?a.laneColorAlt:a.laneColor;z.fillColor=x?x:z.swimlaneFillColor}p=parseFloat(n[h].width);x=d&&0==h?f:0;y.geometry=new mxGeometry(k-x,
+m,p+x,c.geometry.height-m);k+=p;y.style=this.styleMap2Str(z);c.insert(y)}};
+mxGraphMlCodec.prototype.addRow=function(c,n,m,k,f,e,b){var a=new mxCell;a.vertex=!0;var d=mxUtils.clone(b);this.mapObject(c,e,d);m?(d.oddFill&&(d.fillColor=d.oddFill),d.oddLaneFill&&(d.swimlaneFillColor=d.oddLaneFill)):(d.evenFill&&(d.fillColor=d.evenFill),d.evenLaneFill&&(d.swimlaneFillColor=d.evenLaneFill));m=parseFloat(d.height);a.geometry=new mxGeometry(f.lx,k,n.geometry.width-f.lx,m);var h=c.Labels;h&&this.addLabels(a,h,d);a.style=this.styleMap2Str(d);n.insert(a);c=c["y:Row"];f.lx=0;d.startSize&&
+(f.lx=parseFloat(d.startSize),f.x+=f.lx);n=d=f.x;var h=f.lx,p=0;if(c){c instanceof Array||(c=[c]);for(var y=0;y<c.length;y++)f.x=d,f.lx=h,p=this.addRow(c[y],a,y&1,p,f,e,b),n=Math.max(f.x,n)}f.x=n;m=Math.max(m,p);a.geometry.height=m;return k+m};
+mxGraphMlCodec.prototype.addColumn=function(c,n,m,k,f,e,b){var a=new mxCell;a.vertex=!0;var d=mxUtils.clone(b);this.mapObject(c,e,d);m?(d.oddFill&&(d.fillColor=d.oddFill),d.oddLaneFill&&(d.swimlaneFillColor=d.oddLaneFill)):(d.evenFill&&(d.fillColor=d.evenFill),d.evenLaneFill&&(d.swimlaneFillColor=d.evenLaneFill));m=parseFloat(d.width);a.geometry=new mxGeometry(k,f,m,n.geometry.height-f);var h=c.Labels;h&&this.addLabels(a,h,d);a.style=this.styleMap2Str(d);n.insert(a);c=c["y:Column"];n=0;if(c)for(c instanceof
 Array||(c=[c]),d=0;d<c.length;d++)n=this.addColumn(c[d],a,d&1,n,f,e,b);m=Math.max(m,n);a.geometry.width=m;return k+m};mxGraphMlCodec.prototype.handleFixedRatio=function(c,n){var m=n.shape,k=c.geometry;if(m&&k)if(0<m.indexOf(";aspect=fixed"))m=Math.min(k.height,k.width),m==k.height&&(k.x+=(k.width-m)/2),k.height=m,k.width=m;else if(0<m.indexOf(";rotation=90")||0<m.indexOf(";rotation=-90")){var m=k.height,f=k.width;k.height=f;k.width=m;m=(m-f)/2;k.x-=m;k.y+=m}};
 mxGraphMlCodec.prototype.addNodeGeo=function(c,n,m,k){var f=n[mxGraphMlConstants.RECT],e=0,b=0,a=30,d=30;f?(e=f[mxGraphMlConstants.X],b=f[mxGraphMlConstants.Y],a=f[mxGraphMlConstants.WIDTH],d=f[mxGraphMlConstants.HEIGHT]):(e=n[mxGraphMlConstants.X_L]||e,b=n[mxGraphMlConstants.Y_L]||b,a=n[mxGraphMlConstants.WIDTH_L]||a,d=n[mxGraphMlConstants.HEIGHT_L]||d);c=c.geometry;c.x=parseFloat(e)-m;c.y=parseFloat(b)-k;c.width=parseFloat(a);c.height=parseFloat(d)};
-mxGraphMlCodec.prototype.importEdge=function(c,n,m,k,f){var e=this.getDirectChildNamedElements(c,mxGraphMlConstants.DATA),b=c.getAttribute(mxGraphMlConstants.ID),a=c.getAttribute(mxGraphMlConstants.EDGE_SOURCE),d=c.getAttribute(mxGraphMlConstants.EDGE_TARGET),g=c.getAttribute(mxGraphMlConstants.EDGE_SOURCE_PORT);c=c.getAttribute(mxGraphMlConstants.EDGE_TARGET_PORT);a=this.nodesMap[a];d=this.nodesMap[d];m=n.insertEdge(m,null,"",a.node,d.node,"graphMLId="+b);for(var b={graphMlID:b},p=0;p<e.length;p++){var y=
-this.dataElem2Obj(e[p]),A=y["y:PolyLineEdge"]||y["y:GenericEdge"]||y["y:ArcEdge"]||y["y:BezierEdge"]||y["y:QuadCurveEdge"]||y["y:SplineEdge"];y.key==this.edgesKeys[mxGraphMlConstants.EDGE_GEOMETRY].key?this.addEdgeGeo(m,y,k,f):y.key==this.edgesKeys[mxGraphMlConstants.EDGE_STYLE].key?this.addEdgeStyle(m,y,b):y.key==this.edgesKeys[mxGraphMlConstants.EDGE_LABELS].key?this.addLabels(m,y,b,n):A&&(this.addEdgeStyle(m,y,b),y=this.addEdgePath(m,A["y:Path"],b,k,f),A["y:EdgeLabel"]&&this.addLabels(m,A["y:EdgeLabel"],
-b,n,y),null!=b.shape&&0==b.shape.indexOf("link")&&(b.width=b.strokeWidth,b.strokeWidth=1))}a.ports&&g&&(n=a.ports[g],n.pos&&(b.exitX=n.pos.x,b.exitY=n.pos.y));d.ports&&c&&(n=d.ports[c],n.pos&&(b.entryX=n.pos.x,b.entryY=n.pos.y));m.style=this.styleMap2Str(b);return m};
+mxGraphMlCodec.prototype.importEdge=function(c,n,m,k,f){var e=this.getDirectChildNamedElements(c,mxGraphMlConstants.DATA),b=c.getAttribute(mxGraphMlConstants.ID),a=c.getAttribute(mxGraphMlConstants.EDGE_SOURCE),d=c.getAttribute(mxGraphMlConstants.EDGE_TARGET),h=c.getAttribute(mxGraphMlConstants.EDGE_SOURCE_PORT);c=c.getAttribute(mxGraphMlConstants.EDGE_TARGET_PORT);a=this.nodesMap[a];d=this.nodesMap[d];m=n.insertEdge(m,null,"",a.node,d.node,"graphMLId="+b);for(var b={graphMlID:b},p=0;p<e.length;p++){var y=
+this.dataElem2Obj(e[p]),z=y["y:PolyLineEdge"]||y["y:GenericEdge"]||y["y:ArcEdge"]||y["y:BezierEdge"]||y["y:QuadCurveEdge"]||y["y:SplineEdge"];y.key==this.edgesKeys[mxGraphMlConstants.EDGE_GEOMETRY].key?this.addEdgeGeo(m,y,k,f):y.key==this.edgesKeys[mxGraphMlConstants.EDGE_STYLE].key?this.addEdgeStyle(m,y,b):y.key==this.edgesKeys[mxGraphMlConstants.EDGE_LABELS].key?this.addLabels(m,y,b,n):z&&(this.addEdgeStyle(m,y,b),y=this.addEdgePath(m,z["y:Path"],b,k,f),z["y:EdgeLabel"]&&this.addLabels(m,z["y:EdgeLabel"],
+b,n,y),null!=b.shape&&0==b.shape.indexOf("link")&&(b.width=b.strokeWidth,b.strokeWidth=1))}a.ports&&h&&(n=a.ports[h],n.pos&&(b.exitX=n.pos.x,b.exitY=n.pos.y));d.ports&&c&&(n=d.ports[c],n.pos&&(b.entryX=n.pos.x,b.entryY=n.pos.y));m.style=this.styleMap2Str(b);return m};
 mxGraphMlCodec.prototype.addEdgeGeo=function(c,n,m,k){if(n=n[mxGraphMlConstants.Y_BEND]){for(var f=[],e=0;e<n.length;e++){var b=n[e][mxGraphMlConstants.LOCATION];b&&(b=b.split(","),f.push(new mxPoint(parseFloat(b[0])-m,parseFloat(b[1])-k)))}c.geometry.points=f}};
-mxGraphMlCodec.prototype.addEdgePath=function(c,n,m,k,f){var e=[];if(n){var b=parseFloat(n.sx),a=parseFloat(n.sy),d=parseFloat(n.tx),g=parseFloat(n.ty),p=c.source.geometry;0!=b||0!=a?(m.exitX=(b+p.width/2)/p.width,m.exitY=(a+p.height/2)/p.height,e.push(new mxPoint(p.x+m.exitX*p.width-k,p.y+m.exitY*p.height-f))):e.push(new mxPoint(p.x+p.width/2-k,p.y+p.height/2-f));b=c.target.geometry;0!=d||0!=g?(m.entryX=(d+b.width/2)/b.width,m.entryY=(g+b.height/2)/b.height,m=new mxPoint(b.x+m.entryX*b.width-k,b.y+
-m.entryY*b.height-f)):m=new mxPoint(b.x+b.width/2-k,b.y+b.height/2-f);if(n=n["y:Point"]){n instanceof Array||(n=[n]);d=[];for(g=0;g<n.length;g++)b=new mxPoint(parseFloat(n[g].x)-k,parseFloat(n[g].y)-f),d.push(b),e.push(b);c.geometry.points=d}e.push(m)}return e};
+mxGraphMlCodec.prototype.addEdgePath=function(c,n,m,k,f){var e=[];if(n){var b=parseFloat(n.sx),a=parseFloat(n.sy),d=parseFloat(n.tx),h=parseFloat(n.ty),p=c.source.geometry;0!=b||0!=a?(m.exitX=(b+p.width/2)/p.width,m.exitY=(a+p.height/2)/p.height,e.push(new mxPoint(p.x+m.exitX*p.width-k,p.y+m.exitY*p.height-f))):e.push(new mxPoint(p.x+p.width/2-k,p.y+p.height/2-f));b=c.target.geometry;0!=d||0!=h?(m.entryX=(d+b.width/2)/b.width,m.entryY=(h+b.height/2)/b.height,m=new mxPoint(b.x+m.entryX*b.width-k,b.y+
+m.entryY*b.height-f)):m=new mxPoint(b.x+b.width/2-k,b.y+b.height/2-f);if(n=n["y:Point"]){n instanceof Array||(n=[n]);d=[];for(h=0;h<n.length;h++)b=new mxPoint(parseFloat(n[h].x)-k,parseFloat(n[h].y)-f),d.push(b),e.push(b);c.geometry.points=d}e.push(m)}return e};
 mxGraphMlCodec.prototype.addEdgeStyle=function(c,n,m){c=function(a,b){b.dashed=1;var c;switch(a){case "DashDot":c="3 1 1 1";break;case "Dot":c="1 1";break;case "DashDotDot":c="3 1 1 1 1 1";break;case "Dash":c="3 1";break;default:c=a.replace(/0/g,"1")}c&&(0>c.indexOf(" ")&&(c=c+" "+c),b.dashPattern=c)};var k=function(a,b){b.endFill="WHITE"==a||0==a.indexOf("white_")||0==a.indexOf("transparent_")?"0":"1"},f=function(a,b){b.startFill="WHITE"==a||0==a.indexOf("white_")||0==a.indexOf("transparent_")?"0":
 "1"},e={defaults:{rounded:0,endArrow:"none"},configuration:{key:"shape",mod:"shape"},"y:LineStyle":{color:{key:"strokeColor",mod:"color"},type:function(a,b){"line"!=a&&(b.dashed=1);var c=null;switch(a){case "dashed":c="3 1";break;case "dotted":c="1 1";break;case "dashed_dotted":c="3 2 1 2"}c&&(b.dashPattern=c)},width:"strokeWidth"},"y:Arrows":{source:function(a,b){b.startArrow=mxGraphMlArrowsMap[a]||"classic";f(a,b)},target:function(a,b){b.endArrow=mxGraphMlArrowsMap[a]||"classic";k(a,b)}},"y:BendStyle":{smoothed:{key:"rounded",
 mod:"bool"}}},b=mxUtils.clone(e);b.defaults.curved="1";this.mapObject(n,{"yjs:PolylineEdgeStyle":{defaults:{endArrow:"none",rounded:0},smoothingLength:function(a,b){b.rounded=a&&0<parseFloat(a)?"1":"0"},stroke:{key:"strokeColor",mod:"color"},"stroke.yjs:Stroke":{dashStyle:c,"dashStyle.yjs:DashStyle.dashes":c,fill:{key:"strokeColor",mod:"color"},"fill.yjs:SolidColorFill.color":{key:"strokeColor",mod:"color"},"thickness.sys:Double":"strokeWidth",thickness:"strokeWidth"},targetArrow:{key:"endArrow",
 mod:"arrow"},"targetArrow.yjs:Arrow":{defaults:{endArrow:"classic",endFill:"1",endSize:"6"},fill:k,scale:{key:"endSize",mod:"scale",scale:5},type:{key:"endArrow",mod:"arrow"}},sourceArrow:{key:"startArrow",mod:"arrow"},"sourceArrow.yjs:Arrow":{defaults:{startArrow:"classic",startFill:"1",startSize:"6"},fill:f,scale:{key:"startSize",mod:"scale",scale:5},type:{key:"startArrow",mod:"arrow"}}},"y:PolyLineEdge":e,"y:GenericEdge":e,"y:ArcEdge":b,"y:BezierEdge":b,"y:QuadCurveEdge":b,"y:SplineEdge":b},m)};
-mxGraphMlCodec.prototype.addLabels=function(c,n,m,k,f){m=c.getChildCount();var e=n[mxGraphMlConstants.Y_LABEL]||n;n=[];var b=[],a=[];if(e){e instanceof Array||(e=[e]);for(var d=0;d<e.length;d++){var g=e[d],p={},y=g[mxGraphMlConstants.TEXT]||g;y&&(y=y["#text"]);var A=g[mxGraphMlConstants.LAYOUTPARAMETER]||g||{},x=function(a,b){a&&(a=a.toUpperCase());var c=b.fontStyle||0;switch(a){case "ITALIC":c|=2;break;case "BOLD":c|=1;break;case "UNDERLINE":c|=4}b.fontStyle=c};this.mapObject(g,{"Style.yjs:DefaultLabelStyle":{backgroundFill:{key:"labelBackgroundColor",
+mxGraphMlCodec.prototype.addLabels=function(c,n,m,k,f){m=c.getChildCount();var e=n[mxGraphMlConstants.Y_LABEL]||n;n=[];var b=[],a=[];if(e){e instanceof Array||(e=[e]);for(var d=0;d<e.length;d++){var h=e[d],p={},y=h[mxGraphMlConstants.TEXT]||h;y&&(y=y["#text"]);var z=h[mxGraphMlConstants.LAYOUTPARAMETER]||h||{},x=function(a,b){a&&(a=a.toUpperCase());var c=b.fontStyle||0;switch(a){case "ITALIC":c|=2;break;case "BOLD":c|=1;break;case "UNDERLINE":c|=4}b.fontStyle=c};this.mapObject(h,{"Style.yjs:DefaultLabelStyle":{backgroundFill:{key:"labelBackgroundColor",
 mod:"color"},"backgroundFill.yjs:SolidColorFill.color":{key:"labelBackgroundColor",mod:"color"},backgroundStroke:{key:"labelBorderColor",mod:"color"},"backgroundStroke.yjs:Stroke.fill":{key:"labelBorderColor",mod:"color"},textFill:{key:"fontColor",mod:"color"},"textFill.yjs:SolidColorFill.color":{key:"fontColor",mod:"color"},textSize:"fontSize",horizontalTextAlignment:"align",verticalTextAlignment:"verticalAlign",wrapping:function(a,b){a&&(b.whiteSpace="wrap")},"font.yjs:Font":{fontFamily:"fontFamily",
-fontSize:"fontSize",fontStyle:x,fontWeight:x,textDecoration:x}},"Style.y:VoidLabelStyle":function(a,b){b.VoidLbl=!0},alignment:"align",fontFamily:"fontFamily",fontSize:"fontSize",fontStyle:x,underlinedText:function(a,b){var c=b.fontStyle||0;"true"==a&&(c|=4);b.fontStyle=c},horizontalTextPosition:"",textColor:{key:"fontColor",mod:"color"},verticalTextPosition:"verticalAlign",hasText:{key:"hasText",mod:"bool"},rotationAngle:"rotation"},p);p.VoidLbl||"0"==p.hasText||(n.push(y),b.push(p),a.push(A))}}for(d=
-0;d<n.length;d++)if(n[d]&&(!a[d]||!a[d]["bpmn:ParticipantParameter"])){n[d]=mxUtils.htmlEntities(n[d],!1).replace(/\n/g,"<br/>");A=c.geometry;p=new mxCell(n[d],new mxGeometry(0,0,A.width,A.height),"text;html=1;spacing=0;"+this.styleMap2Str(b[d]));p.vertex=!0;c.insert(p,m);e=p.geometry;if(a[d]["y:RatioAnchoredLabelModelParameter"])A=mxUtils.getSizeForString(n[d],b[d].fontSize,b[d].fontFamily),(g=a[d]["y:RatioAnchoredLabelModelParameter"].LayoutOffset)?(g=g.split(","),e.x=parseFloat(g[0]),e.y=parseFloat(g[1]),
-e.width=A.width,e.height=A.height,p.style+=";spacingTop=-4;"):p.style+=";align=center;";else if(a[d]["y:InteriorLabelModel"]){switch(a[d]["y:InteriorLabelModel"]){case "Center":p.style+=";verticalAlign=middle;";break;case "North":e.height=1;break;case "West":e.width=A.height,e.height=A.width,e.y=A.height/2-A.width/2,e.x=-e.y,p.style+=";rotation=-90"}p.style+=";align=center;"}else if(a[d]["y:StretchStripeLabelModel"]||a[d]["y:StripeLabelModelParameter"])switch(a[d]["y:StretchStripeLabelModel"]||a[d]["y:StripeLabelModelParameter"].Position){case "North":e.height=
-1;break;case "West":e.width=A.height,e.height=A.width,e.y=A.height/2-A.width/2,e.x=-e.y,p.style+=";rotation=-90;"}else if(a[d]["bpmn:PoolHeaderLabelModel"]){switch(a[d]["bpmn:PoolHeaderLabelModel"]){case "NORTH":e.height=1;break;case "WEST":e.width=A.height,e.height=A.width,e.y=A.height/2-A.width/2,e.x=-e.y,p.style+=";rotation=-90;"}p.style+=";align=center;"}else if(a[d]["y:InteriorStretchLabelModelParameter"])p.style+=";align=center;";else if(a[d]["y:ExteriorLabelModel"])switch(a[d]["y:ExteriorLabelModel"]){case "East":p.style+=
-";labelPosition=right;verticalLabelPosition=middle;align=left;verticalAlign=middle;";break;case "South":p.style+=";labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;";break;case "North":p.style+=";labelPosition=center;verticalLabelPosition=top;align=center;verticalAlign=bottom;";break;case "West":p.style+=";labelPosition=left;verticalLabelPosition=middle;align=right;verticalAlign=middle;"}else if(a[d]["y:FreeEdgeLabelModelParameter"]){e.relative=!0;e.adjustIt=!0;var A=
-a[d]["y:FreeEdgeLabelModelParameter"],g=A.Ratio,x=A.Distance,z=A.Angle;g&&(e.x=parseFloat(g));x&&(e.y=parseFloat(x));z&&(p.style+=";rotation="+parseFloat(z)*(180/Math.PI));p.style+=";verticalAlign=middle;"}else if(a[d]["y:EdgePathLabelModelParameter"]){e.relative=!0;A=a[d]["y:EdgePathLabelModelParameter"];y=A.SideOfEdge;g=A.SegmentRatio;e.x=g?2*parseFloat(g)-1:0;if(y)switch(y){case "RightOfEdge":e.y=-15;break;case "LeftOfEdge":e.y=15}p.style+=";verticalAlign=middle;"}else if(A=parseFloat(a[d].x),
-g=parseFloat(a[d].y),a[d].width&&(e.width=parseFloat(a[d].width)),a[d].height&&(e.height=parseFloat(a[d].height)),c.edge)if(e.relative=!0,e.x=0,e.y=0,p=c.source.geometry.getCenterX()-c.target.geometry.getCenterX(),y=c.source.geometry.getCenterY()-c.target.geometry.getCenterY(),k&&f&&a[d]["y:ModelParameter"]&&a[d]["y:ModelParameter"]["y:SmartEdgeLabelModelParameter"]){var A=a[d]["y:ModelParameter"]["y:SmartEdgeLabelModelParameter"],z=parseFloat(A.angle),x=parseFloat(A.distance),F=A.position,g=parseFloat(A.ratio),
-A=parseFloat(A.segment),B=new mxCellState;B.absolutePoints=f;k.view.updateEdgeBounds(B);var C="left"==F?1:-1;if(-1==A&&6.283185307179586==z)e.offset=new mxPoint(1>Math.abs(g)?B.segments[0]*g:g,C*x);else{-1==A&&(A=0);for(var G=z=0;G<A;G++)z+=B.segments[G];z+=B.segments[A]*g;e.x=z/B.length*2-1;e.y=(("center"==F?0:x)+e.height/2*C*(Math.abs(p)>Math.abs(y)?1:-1))*C}}else isNaN(A)||isNaN(g)||(e.offset=new mxPoint(A+p/2+(0<p?-e.width:e.width),g));else e.x=A||0,e.y=g||0;b[d].rotation&&270==b[d].rotation&&
+fontSize:"fontSize",fontStyle:x,fontWeight:x,textDecoration:x}},"Style.y:VoidLabelStyle":function(a,b){b.VoidLbl=!0},alignment:"align",fontFamily:"fontFamily",fontSize:"fontSize",fontStyle:x,underlinedText:function(a,b){var c=b.fontStyle||0;"true"==a&&(c|=4);b.fontStyle=c},horizontalTextPosition:"",textColor:{key:"fontColor",mod:"color"},verticalTextPosition:"verticalAlign",hasText:{key:"hasText",mod:"bool"},rotationAngle:"rotation"},p);p.VoidLbl||"0"==p.hasText||(n.push(y),b.push(p),a.push(z))}}for(d=
+0;d<n.length;d++)if(n[d]&&(!a[d]||!a[d]["bpmn:ParticipantParameter"])){n[d]=mxUtils.htmlEntities(n[d],!1).replace(/\n/g,"<br/>");z=c.geometry;p=new mxCell(n[d],new mxGeometry(0,0,z.width,z.height),"text;html=1;spacing=0;"+this.styleMap2Str(b[d]));p.vertex=!0;c.insert(p,m);e=p.geometry;if(a[d]["y:RatioAnchoredLabelModelParameter"])z=mxUtils.getSizeForString(n[d],b[d].fontSize,b[d].fontFamily),(h=a[d]["y:RatioAnchoredLabelModelParameter"].LayoutOffset)?(h=h.split(","),e.x=parseFloat(h[0]),e.y=parseFloat(h[1]),
+e.width=z.width,e.height=z.height,p.style+=";spacingTop=-4;"):p.style+=";align=center;";else if(a[d]["y:InteriorLabelModel"]){switch(a[d]["y:InteriorLabelModel"]){case "Center":p.style+=";verticalAlign=middle;";break;case "North":e.height=1;break;case "West":e.width=z.height,e.height=z.width,e.y=z.height/2-z.width/2,e.x=-e.y,p.style+=";rotation=-90"}p.style+=";align=center;"}else if(a[d]["y:StretchStripeLabelModel"]||a[d]["y:StripeLabelModelParameter"])switch(a[d]["y:StretchStripeLabelModel"]||a[d]["y:StripeLabelModelParameter"].Position){case "North":e.height=
+1;break;case "West":e.width=z.height,e.height=z.width,e.y=z.height/2-z.width/2,e.x=-e.y,p.style+=";rotation=-90;"}else if(a[d]["bpmn:PoolHeaderLabelModel"]){switch(a[d]["bpmn:PoolHeaderLabelModel"]){case "NORTH":e.height=1;break;case "WEST":e.width=z.height,e.height=z.width,e.y=z.height/2-z.width/2,e.x=-e.y,p.style+=";rotation=-90;"}p.style+=";align=center;"}else if(a[d]["y:InteriorStretchLabelModelParameter"])p.style+=";align=center;";else if(a[d]["y:ExteriorLabelModel"])switch(a[d]["y:ExteriorLabelModel"]){case "East":p.style+=
+";labelPosition=right;verticalLabelPosition=middle;align=left;verticalAlign=middle;";break;case "South":p.style+=";labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;";break;case "North":p.style+=";labelPosition=center;verticalLabelPosition=top;align=center;verticalAlign=bottom;";break;case "West":p.style+=";labelPosition=left;verticalLabelPosition=middle;align=right;verticalAlign=middle;"}else if(a[d]["y:FreeEdgeLabelModelParameter"]){e.relative=!0;e.adjustIt=!0;var z=
+a[d]["y:FreeEdgeLabelModelParameter"],h=z.Ratio,x=z.Distance,A=z.Angle;h&&(e.x=parseFloat(h));x&&(e.y=parseFloat(x));A&&(p.style+=";rotation="+parseFloat(A)*(180/Math.PI));p.style+=";verticalAlign=middle;"}else if(a[d]["y:EdgePathLabelModelParameter"]){e.relative=!0;z=a[d]["y:EdgePathLabelModelParameter"];y=z.SideOfEdge;h=z.SegmentRatio;e.x=h?2*parseFloat(h)-1:0;if(y)switch(y){case "RightOfEdge":e.y=-15;break;case "LeftOfEdge":e.y=15}p.style+=";verticalAlign=middle;"}else if(z=parseFloat(a[d].x),
+h=parseFloat(a[d].y),a[d].width&&(e.width=parseFloat(a[d].width)),a[d].height&&(e.height=parseFloat(a[d].height)),c.edge)if(e.relative=!0,e.x=0,e.y=0,p=c.source.geometry.getCenterX()-c.target.geometry.getCenterX(),y=c.source.geometry.getCenterY()-c.target.geometry.getCenterY(),k&&f&&a[d]["y:ModelParameter"]&&a[d]["y:ModelParameter"]["y:SmartEdgeLabelModelParameter"]){var z=a[d]["y:ModelParameter"]["y:SmartEdgeLabelModelParameter"],A=parseFloat(z.angle),x=parseFloat(z.distance),D=z.position,h=parseFloat(z.ratio),
+z=parseFloat(z.segment),C=new mxCellState;C.absolutePoints=f;k.view.updateEdgeBounds(C);var B="left"==D?1:-1;if(-1==z&&6.283185307179586==A)e.offset=new mxPoint(1>Math.abs(h)?C.segments[0]*h:h,B*x);else{-1==z&&(z=0);for(var G=A=0;G<z;G++)A+=C.segments[G];A+=C.segments[z]*h;e.x=A/C.length*2-1;e.y=(("center"==D?0:x)+e.height/2*B*(Math.abs(p)>Math.abs(y)?1:-1))*B}}else isNaN(z)||isNaN(h)||(e.offset=new mxPoint(z+p/2+(0<p?-e.width:e.width),h));else e.x=z||0,e.y=h||0;b[d].rotation&&270==b[d].rotation&&
 (e.x-=e.height/2)}return{lblTxts:n,lblStyles:b}};mxGraphMlCodec.prototype.processPage=function(c,n){var m=(new mxCodec).encode(c.getModel());m.setAttribute("style","default-style2");m=mxUtils.getXml(m);m='<diagram name="Page '+n+'">'+Graph.compress(m);return m+"</diagram>"};mxGraphMlCodec.prototype.getDirectChildNamedElements=function(c,n){for(var m=[],k=c.firstChild;null!=k;k=k.nextSibling)null!=k&&1==k.nodeType&&n==k.nodeName&&0<m.push(k);return m};
 mxGraphMlCodec.prototype.getDirectFirstChildNamedElements=function(c,n){for(var m=c.firstChild;null!=m;m=m.nextSibling)if(null!=m&&1==m.nodeType&&n==m.nodeName)return m;return null};mxGraphMlCodec.prototype.getDirectChildElements=function(c){var n=[];for(c=c.firstChild;null!=c;c=c.nextSibling)null!=c&&1==c.nodeType&&0<n.push(c);return n};mxGraphMlCodec.prototype.getDirectFirstChildElement=function(c){for(c=c.firstChild;null!=c;c=c.nextSibling)if(null!=c&&1==c.nodeType)return c;return null};
 var mxGraphMlConverters={"orgchartconverters.linebreakconverter":function(c,n){if("string"===typeof c){for(var m=c;20<m.length&&-1<m.indexOf(" ");)m=m.substring(0,m.lastIndexOf(" "));return"true"===n?m:c.substring(m.length)}return""},"orgchartconverters.borderconverter":function(c,n){return"boolean"===typeof c?c?"#FFBB33":"rgba(0,0,0,0)":"#FFF"},"orgchartconverters.addhashconverter":function(c,n){return"string"===typeof c?"string"===typeof n?"#"+c+n:"#"+c:c},"orgchartconverters.intermediateconverter":function(c,
diff --git a/src/main/webapp/js/mxgraph/Dialogs.js b/src/main/webapp/js/mxgraph/Dialogs.js
index 4d21060a88b46c876a32d96e7b310640a03e0bd4..352ab70fbc9042f7d8f2c800477fb53bef07a56c 100644
--- a/src/main/webapp/js/mxgraph/Dialogs.js
+++ b/src/main/webapp/js/mxgraph/Dialogs.js
@@ -1606,6 +1606,11 @@ var EditDataDialog = function(ui, cell)
 		texts[index] = form.addTextarea(names[count] + ':', value, 2);
 		texts[index].style.width = '100%';
 		
+		if (value.indexOf('\n') > 0)
+		{
+			texts[index].setAttribute('rows', '2');
+		}
+		
 		addRemoveButton(texts[index], name);
 	};
 	
diff --git a/src/main/webapp/js/mxgraph/EditorUi.js b/src/main/webapp/js/mxgraph/EditorUi.js
index 763e614920e12ba2c1fec11d1b1955b2af34a293..51212586795c38899afb23f3e96d651fafd71f4a 100644
--- a/src/main/webapp/js/mxgraph/EditorUi.js
+++ b/src/main/webapp/js/mxgraph/EditorUi.js
@@ -4222,27 +4222,54 @@ EditorUi.prototype.createKeyHandler = function(editor)
 					}
 					else
 					{
-						var dx = 0;
-						var dy = 0;
+						var cells = graph.getMovableCells(graph.getSelectionCells());
+						var realCells = [];
 						
-						if (keyCode == 37)
-						{
-							dx = -stepSize;
-						}
-						else if (keyCode == 38)
-						{
-							dy = -stepSize;
-						}
-						else if (keyCode == 39)
-						{
-							dx = stepSize;
-						}
-						else if (keyCode == 40)
-						{
-							dy = stepSize;
-						}
-						
-						graph.moveCells(graph.getMovableCells(graph.getSelectionCells()), dx, dy);
+					    for (var i = 0; i < cells.length; i++)
+					    {
+							var state = graph.view.getState(cells[i]);
+							var style = (state != null) ? state.style : graph.getCellStyle(cells[i]);
+					    	
+							if (mxUtils.getValue(style, 'part', '0') == '1')
+							{
+						        var parent = graph.model.getParent(cells[i]);
+					
+						        if (graph.model.isVertex(parent) && mxUtils.indexOf(cells, parent) < 0)
+						        {
+						            realCells.push(parent);
+						        }
+							}
+							else
+							{
+								realCells.push(cells[i]);
+							}
+					    }
+					    
+					    if (realCells.length > 0)
+					    {
+						    cells = realCells;
+							var dx = 0;
+							var dy = 0;
+							
+							if (keyCode == 37)
+							{
+								dx = -stepSize;
+							}
+							else if (keyCode == 38)
+							{
+								dy = -stepSize;
+							}
+							else if (keyCode == 39)
+							{
+								dx = stepSize;
+							}
+							else if (keyCode == 40)
+							{
+								dy = stepSize;
+							}
+							
+							graph.moveCells(cells, dx, dy);
+					    }
 					}				
 				}
 			}
diff --git a/src/main/webapp/js/mxgraph/Graph.js b/src/main/webapp/js/mxgraph/Graph.js
index 3b14562184d3cdbb22b37aaffdb53e4f897af9af..18fb327271df47d59c2f8e1ae2136d8b6d72aa92 100644
--- a/src/main/webapp/js/mxgraph/Graph.js
+++ b/src/main/webapp/js/mxgraph/Graph.js
@@ -585,9 +585,11 @@ Graph = function(container, model, renderHint, stylesheet, themes, standalone)
 		// if the parent is not already in the list of cells. container style is used to disable
 		// step into swimlanes and dropTarget style is used to disable acting as a drop target.
 		// LATER: Handle recursive parts
+		var graphHandlerGetCells = this.graphHandler.getCells;
+		
 		this.graphHandler.getCells = function(initialCell)
 		{
-		    var cells = mxGraphHandler.prototype.getCells.apply(this, arguments);
+		    var cells = graphHandlerGetCells.apply(this, arguments);
 		    var newCells = [];
 
 		    for (var i = 0; i < cells.length; i++)
@@ -612,7 +614,22 @@ Graph = function(container, model, renderHint, stylesheet, themes, standalone)
 
 		    return newCells;
 		};
+		
+		// Handles parts of cells for drag and drop
+		var graphHandlerStart = this.graphHandler.start;
+		
+		this.graphHandler.start = function(cell, x, y, cells)
+		{
+			var state = this.graph.view.getState(cell);
 
+			if (state != null && mxUtils.getValue(state.style, 'part', false))
+			{
+				cell = this.graph.model.getParent(cell);
+			}
+			
+			graphHandlerStart.apply(this, arguments);
+		};
+		
 		// Handles parts of cells when cloning the source for new connections
 		this.connectionHandler.createTargetVertex = function(evt, source)
 		{
@@ -5906,9 +5923,10 @@ if (typeof mxVertexHandler != 'undefined')
 		 */
 		Graph.prototype.getAttributeForCell = function(cell, attributeName, defaultValue)
 		{
-			return (cell.value != null && typeof cell.value === 'object') ?
-				(cell.value.getAttribute(attributeName) || defaultValue) :
-				defaultValue;
+			var value = (cell.value != null && typeof cell.value === 'object') ?
+				cell.value.getAttribute(attributeName) : null;
+			
+			return (value != null) ? value : defaultValue;
 		};
 
 		/**
@@ -7948,7 +7966,7 @@ if (typeof mxVertexHandler != 'undefined')
 			
 			mxGraphHandlerMoveCells.apply(this, arguments);
 		};
-		
+
 		/**
 		 * Hints on handlers
 		 */
diff --git a/src/main/webapp/js/shapes.min.js b/src/main/webapp/js/shapes.min.js
index d0e00ca786955d2b89d2c3c32edbe8ff7d256c70..77189ca9f0705c326aa3431a0d12529c112b6a49 100644
--- a/src/main/webapp/js/shapes.min.js
+++ b/src/main/webapp/js/shapes.min.js
@@ -2227,7 +2227,11 @@ Graph.handleFactory[mxShapeGmdlSliderDiscreteDots.prototype.cst.SHAPE_DISCRETE_D
 function mxShapeGmdlProgressBar(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1;this.dx1=.8}mxUtils.extend(mxShapeGmdlProgressBar,mxShape);mxShapeGmdlProgressBar.prototype.cst={PROGRESS_BAR:"mxgraph.gmdl.progressBar"};mxShapeGmdlProgressBar.prototype.customProperties=[{name:"dx1",dispName:"Handle Position",type:"int",min:0,defVal:.8}];
 mxShapeGmdlProgressBar.prototype.paintVertexShape=function(a,d,e,b,c){var f=b*Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"dx1",this.dx1))));a.translate(d,e);a.save();a.setStrokeColor("#aaaaaa");a.begin();a.moveTo(0,.5*c);a.lineTo(b,.5*c);a.stroke();a.restore();a.setShadow(!1);a.begin();a.moveTo(0,.5*c);a.lineTo(f,.5*c);a.stroke()};mxCellRenderer.registerShape(mxShapeGmdlProgressBar.prototype.cst.PROGRESS_BAR,mxShapeGmdlProgressBar);mxShapeGmdlProgressBar.prototype.constraints=null;
 Graph.handleFactory[mxShapeGmdlProgressBar.prototype.cst.PROGRESS_BAR]=function(a){var d=[Graph.createHandle(a,["dx1"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"dx1",this.dx1))));return new mxPoint(a.x+b*a.width,a.y+a.height/2)},function(a,b){this.state.style.dx1=Math.round(100*Math.max(0,Math.min(1,(b.x-a.x)/a.width)))/100})];a=Graph.createHandle(a,["dx2"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"dx2",this.dx1))));
-return new mxPoint(a.x+b*a.width,a.y+a.height/2)},function(a,b){this.state.style.dx2=Math.round(100*Math.max(0,Math.min(1,(b.x-a.x)/a.width)))/100});d.push(a);return d};function mxShapeInfographicNumEntryVert(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1;this.dy=.5}mxUtils.extend(mxShapeInfographicNumEntryVert,mxActor);mxShapeInfographicNumEntryVert.prototype.cst={NUM_ENTRY_VERT:"mxgraph.infographic.numberedEntryVert"};
+return new mxPoint(a.x+b*a.width,a.y+a.height/2)},function(a,b){this.state.style.dx2=Math.round(100*Math.max(0,Math.min(1,(b.x-a.x)/a.width)))/100});d.push(a);return d};function mxShapeIBMBox(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeIBMBox,mxShape);mxShapeIBMBox.prototype.cst={IBM_BOX:"mxgraph.ibm.box"};
+mxShapeIBMBox.prototype.customProperties=[{name:"prType",dispName:"Box Type",defVal:"cloud",type:"enum",enumList:[{val:"cloud",dispName:"IBM Cloud"},{val:"vpc",dispName:"VPC"},{val:"region",dispName:"Region"},{val:"zone",dispName:"Zone"},{val:"subnet",dispName:"Subnet ACL"},{val:"public",dispName:"Public Network"},{val:"enterprise",dispName:"Enterprise Network"},{val:"classic",dispName:"Classic Infrastructure"}]}];
+mxShapeIBMBox.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);a.begin();a.rect(0,0,b,c);a.fillAndStroke();d=mxUtils.getValue(this.state.style,"strokeColor","none");a.setFillColor(d);a.setStrokeColor("none");switch(mxUtils.getValue(this.state.style,"prType","")){case "cloud":d=mxStencilRegistry.getStencil("mxgraph.ibm.cloudtag");d.drawShape(a,this,0,0,25,25);break;case "vpc":d=mxStencilRegistry.getStencil("mxgraph.ibm.vpctag");d.drawShape(a,this,0,0,25,25);break;case "region":d=mxStencilRegistry.getStencil("mxgraph.ibm.regiontag");
+d.drawShape(a,this,0,0,25,25);break;case "zone":d=mxStencilRegistry.getStencil("mxgraph.ibm.zonetag");d.drawShape(a,this,0,0,25,25);break;case "subnet":d=mxStencilRegistry.getStencil("mxgraph.ibm.subnettag");d.drawShape(a,this,0,0,25,25);break;case "public":d=mxStencilRegistry.getStencil("mxgraph.ibm.publictag");d.drawShape(a,this,0,0,25,25);break;case "enterprise":d=mxStencilRegistry.getStencil("mxgraph.ibm.enterprisetag");d.drawShape(a,this,0,0,25,25);break;case "classic":d=mxStencilRegistry.getStencil("mxgraph.ibm.classictag"),
+d.drawShape(a,this,0,0,25,25)}};mxCellRenderer.registerShape(mxShapeIBMBox.prototype.cst.IBM_BOX,mxShapeIBMBox);function mxShapeInfographicNumEntryVert(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1;this.dy=.5}mxUtils.extend(mxShapeInfographicNumEntryVert,mxActor);mxShapeInfographicNumEntryVert.prototype.cst={NUM_ENTRY_VERT:"mxgraph.infographic.numberedEntryVert"};
 mxShapeInfographicNumEntryVert.prototype.customProperties=[{name:"dy",dispName:"Circle Size",min:0,defVal:25}];
 mxShapeInfographicNumEntryVert.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));d=Math.min(d,b-10,c-5);a.ellipse(.5*b-.5*d,0,d,d);a.fillAndStroke();a.begin();a.moveTo(0,.5*d);a.lineTo(.5*b-.5*d-5,.5*d);a.arcTo(.5*d+5,.5*d+5,0,0,0,.5*b+.5*d+5,.5*d);a.lineTo(b,.5*d);a.lineTo(b,c);a.lineTo(0,c);a.close();a.fillAndStroke()};
 mxCellRenderer.registerShape(mxShapeInfographicNumEntryVert.prototype.cst.NUM_ENTRY_VERT,mxShapeInfographicNumEntryVert);
diff --git a/src/main/webapp/js/stencils.min.js b/src/main/webapp/js/stencils.min.js
index cc7876a0c54f1a0bb56fb5aef82d2742bed2c1e3..28aeadd43c97bfa3abcb1387e8d8e5e857cdbe79 100644
--- a/src/main/webapp/js/stencils.min.js
+++ b/src/main/webapp/js/stencils.min.js
@@ -59,6 +59,7 @@ f['office/users.xml'] = '7X3Zch1HkuXX8PVarLk81lQvT20zNjU988ySUFW0pkgZSVVTfz/hAjL
 f['office/databases.xml'] = '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';
 f['office/security.xml'] = '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';
 f['cisco19.xml'] = '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';
+f['ibm.xml'] = '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';
 f['cisco/wireless.xml'] = '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';
 f['cisco/servers.xml'] = '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';
 f['cisco/buildings.xml'] = '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';
@@ -180,7 +181,7 @@ f['mockup/advertising.xml'] = '7Vtdc5s6EP01PCajD6D0kThOm7lO4pKknfvItYnDxAZfjFvSX
 f['mockup/misc.xml'] = '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';
 f['bpmn.xml'] = '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';
 f['atlassian.xml'] = '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';
-f['basic.xml'] = '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';
+f['basic.xml'] = '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';
 f['cisco_safe/design.xml'] = '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';
 f['cisco_safe/capability.xml'] = '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';
 f['cisco_safe/threat.xml'] = '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';
diff --git a/src/main/webapp/js/viewer.min.js b/src/main/webapp/js/viewer.min.js
index ec59d5f33a6b430f6cff698c9a080a7890c519e0..a2129b0147198b1fd9ba07461d9217162d9efcc6 100644
--- a/src/main/webapp/js/viewer.min.js
+++ b/src/main/webapp/js/viewer.min.js
@@ -165,7 +165,7 @@ e;for(e in a)e!=mxObjectIdentity.FIELD_NAME&&(null==b||0>mxUtils.indexOf(b,e))&&
 b||null!=a&&null!=b&&a.length!=b.length)return!1;if(null!=a&&null!=b){for(var d in b)c++;for(d in a)if(c--,!(mxUtils.isNaN(a[d])&&mxUtils.isNaN(b[d])||a[d]==b[d]))return!1}return 0==c},removeDuplicates:function(a){for(var b=new mxDictionary,c=[],d=0;d<a.length;d++)b.get(a[d])||(c.push(a[d]),b.put(a[d],!0));return c},isNaN:function(a){return"number"==typeof a&&isNaN(a)},extend:function(a,b){var c=function(){};c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a},toString:function(a){var b=
 "",c;for(c in a)try{if(null==a[c])b+=c+" = [null]\n";else if("function"==typeof a[c])b+=c+" => [Function]\n";else if("object"==typeof a[c])var d=mxUtils.getFunctionName(a[c].constructor),b=b+(c+" => ["+d+"]\n");else b+=c+" = "+a[c]+"\n"}catch(e){b+=c+"="+e.message}return b},toRadians:function(a){return Math.PI*a/180},toDegree:function(a){return 180*a/Math.PI},arcToCurves:function(a,b,c,d,e,f,g,k,l){k-=a;l-=b;if(0===c||0===d)return q;c=Math.abs(c);d=Math.abs(d);var m=-k/2,n=-l/2,p=Math.cos(e*Math.PI/
 180),q=Math.sin(e*Math.PI/180);e=p*m+q*n;var m=-1*q*m+p*n,n=e*e,r=m*m,t=c*c,u=d*d,x=n/t+r/u;1<x?(c*=Math.sqrt(x),d*=Math.sqrt(x),f=0):(x=1,f===g&&(x=-1),f=x*Math.sqrt((t*u-t*r-u*n)/(t*r+u*n)));n=f*c*m/d;r=-1*f*d*e/c;k=p*n-q*r+k/2;l=q*n+p*r+l/2;t=Math.atan2((m-r)/d,(e-n)/c)-Math.atan2(0,1);f=0<=t?t:2*Math.PI+t;t=Math.atan2((-m-r)/d,(-e-n)/c)-Math.atan2((m-r)/d,(e-n)/c);e=0<=t?t:2*Math.PI+t;0==g&&0<e?e-=2*Math.PI:0!=g&&0>e&&(e+=2*Math.PI);g=2*e/Math.PI;g=Math.ceil(0>g?-1*g:g);e/=g;m=8/3*Math.sin(e/
-4)*Math.sin(e/4)/Math.sin(e/2);n=p*c;p*=d;c*=q;d*=q;for(var y=Math.cos(f),A=Math.sin(f),r=-m*(n*A+d*y),t=-m*(c*A-p*y),q=[],z=0;z<g;++z){f+=e;var y=Math.cos(f),A=Math.sin(f),u=n*y-d*A+k,x=c*y+p*A+l,v=-m*(n*A+d*y),y=-m*(c*A-p*y),A=6*z;q[A]=Number(r+a);q[A+1]=Number(t+b);q[A+2]=Number(u-v+a);q[A+3]=Number(x-y+b);q[A+4]=Number(u+a);q[A+5]=Number(x+b);r=u+v;t=x+y}return q},getBoundingBox:function(a,b,c){var d=null;if(null!=a&&null!=b&&0!=b){b=mxUtils.toRadians(b);var d=Math.cos(b),e=Math.sin(b);c=null!=
+4)*Math.sin(e/4)/Math.sin(e/2);n=p*c;p*=d;c*=q;d*=q;for(var y=Math.cos(f),B=Math.sin(f),r=-m*(n*B+d*y),t=-m*(c*B-p*y),q=[],A=0;A<g;++A){f+=e;var y=Math.cos(f),B=Math.sin(f),u=n*y-d*B+k,x=c*y+p*B+l,z=-m*(n*B+d*y),y=-m*(c*B-p*y),B=6*A;q[B]=Number(r+a);q[B+1]=Number(t+b);q[B+2]=Number(u-z+a);q[B+3]=Number(x-y+b);q[B+4]=Number(u+a);q[B+5]=Number(x+b);r=u+z;t=x+y}return q},getBoundingBox:function(a,b,c){var d=null;if(null!=a&&null!=b&&0!=b){b=mxUtils.toRadians(b);var d=Math.cos(b),e=Math.sin(b);c=null!=
 c?c:new mxPoint(a.x+a.width/2,a.y+a.height/2);var f=new mxPoint(a.x,a.y);b=new mxPoint(a.x+a.width,a.y);var g=new mxPoint(b.x,a.y+a.height);a=new mxPoint(a.x,g.y);f=mxUtils.getRotatedPoint(f,d,e,c);b=mxUtils.getRotatedPoint(b,d,e,c);g=mxUtils.getRotatedPoint(g,d,e,c);a=mxUtils.getRotatedPoint(a,d,e,c);d=new mxRectangle(f.x,f.y,0,0);d.add(new mxRectangle(b.x,b.y,0,0));d.add(new mxRectangle(g.x,g.y,0,0));d.add(new mxRectangle(a.x,a.y,0,0))}return d},getRotatedPoint:function(a,b,c,d){d=null!=d?d:new mxPoint;
 var e=a.x-d.x;a=a.y-d.y;return new mxPoint(e*b-a*c+d.x,a*b+e*c+d.y)},getPortConstraints:function(a,b,c,d){b=mxUtils.getValue(a.style,mxConstants.STYLE_PORT_CONSTRAINT,mxUtils.getValue(b.style,c?mxConstants.STYLE_SOURCE_PORT_CONSTRAINT:mxConstants.STYLE_TARGET_PORT_CONSTRAINT,null));if(null==b)return d;d=b.toString();b=mxConstants.DIRECTION_MASK_NONE;c=0;1==mxUtils.getValue(a.style,mxConstants.STYLE_PORT_CONSTRAINT_ROTATION,0)&&(c=mxUtils.getValue(a.style,mxConstants.STYLE_ROTATION,0));a=0;45<c?(a=
 1,135<=c&&(a=2)):-45>c&&(a=3,-135>=c&&(a=2));if(0<=d.indexOf(mxConstants.DIRECTION_NORTH))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_NORTH;break;case 1:b|=mxConstants.DIRECTION_MASK_EAST;break;case 2:b|=mxConstants.DIRECTION_MASK_SOUTH;break;case 3:b|=mxConstants.DIRECTION_MASK_WEST}if(0<=d.indexOf(mxConstants.DIRECTION_WEST))switch(a){case 0:b|=mxConstants.DIRECTION_MASK_WEST;break;case 1:b|=mxConstants.DIRECTION_MASK_NORTH;break;case 2:b|=mxConstants.DIRECTION_MASK_EAST;break;case 3:b|=mxConstants.DIRECTION_MASK_SOUTH}if(0<=
@@ -243,7 +243,7 @@ START_EDITING:"startEditing",EDITING_STARTED:"editingStarted",EDITING_STOPPED:"e
 mxXmlRequest.prototype.async=null;mxXmlRequest.prototype.binary=!1;mxXmlRequest.prototype.withCredentials=!1;mxXmlRequest.prototype.username=null;mxXmlRequest.prototype.password=null;mxXmlRequest.prototype.request=null;mxXmlRequest.prototype.decodeSimulateValues=!1;mxXmlRequest.prototype.isBinary=function(){return this.binary};mxXmlRequest.prototype.setBinary=function(a){this.binary=a};mxXmlRequest.prototype.getText=function(){return this.request.responseText};
 mxXmlRequest.prototype.isReady=function(){return 4==this.request.readyState};mxXmlRequest.prototype.getDocumentElement=function(){var a=this.getXml();return null!=a?a.documentElement:null};mxXmlRequest.prototype.getXml=function(){var a=this.request.responseXML;if(9<=document.documentMode||null==a||null==a.documentElement)a=mxUtils.parseXml(this.request.responseText);return a};mxXmlRequest.prototype.getText=function(){return this.request.responseText};
 mxXmlRequest.prototype.getStatus=function(){return null!=this.request?this.request.status:null};mxXmlRequest.prototype.create=function(){if(window.XMLHttpRequest)return function(){var a=new XMLHttpRequest;this.isBinary()&&a.overrideMimeType&&a.overrideMimeType("text/plain; charset=x-user-defined");return a};if("undefined"!=typeof ActiveXObject)return function(){return new ActiveXObject("Microsoft.XMLHTTP")}}();
-mxXmlRequest.prototype.send=function(a,b,c,d){this.request=this.create();null!=this.request&&(null!=a&&(this.request.onreadystatechange=mxUtils.bind(this,function(){this.isReady()&&(a(this),this.request.onreadystatechaange=null)})),this.request.open(this.method,this.url,this.async,this.username,this.password),this.setRequestHeaders(this.request,this.params),window.XMLHttpRequest&&this.withCredentials&&(this.request.withCredentials="true"),!mxClient.IS_QUIRKS&&(null==document.documentMode||9<document.documentMode)&&
+mxXmlRequest.prototype.send=function(a,b,c,d){this.request=this.create();null!=this.request&&(null!=a&&(this.request.onreadystatechange=mxUtils.bind(this,function(){this.isReady()&&(a(this),this.request.onreadystatechange=null)})),this.request.open(this.method,this.url,this.async,this.username,this.password),this.setRequestHeaders(this.request,this.params),window.XMLHttpRequest&&this.withCredentials&&(this.request.withCredentials="true"),!mxClient.IS_QUIRKS&&(null==document.documentMode||9<document.documentMode)&&
 window.XMLHttpRequest&&null!=c&&null!=d&&(this.request.timeout=c,this.request.ontimeout=d),this.request.send(this.params))};mxXmlRequest.prototype.setRequestHeaders=function(a,b){null!=b&&a.setRequestHeader("Content-Type","application/x-www-form-urlencoded")};
 mxXmlRequest.prototype.simulate=function(a,b){a=a||document;var c=null;a==document&&(c=window.onbeforeunload,window.onbeforeunload=null);var d=a.createElement("form");d.setAttribute("method",this.method);d.setAttribute("action",this.url);null!=b&&d.setAttribute("target",b);d.style.display="none";d.style.visibility="hidden";for(var e=0<this.params.indexOf("&")?this.params.split("&"):this.params.split(),f=0;f<e.length;f++){var g=e[f].indexOf("=");if(0<g){var k=e[f].substring(0,g),g=e[f].substring(g+
 1);this.decodeSimulateValues&&(g=decodeURIComponent(g));var l=a.createElement("textarea");l.setAttribute("wrap","off");l.setAttribute("name",k);mxUtils.write(l,g);d.appendChild(l)}}a.body.appendChild(d);d.submit();null!=d.parentNode&&d.parentNode.removeChild(d);null!=c&&(window.onbeforeunload=c)};
@@ -439,11 +439,11 @@ mxSvgCanvas2D.prototype.createDiv=function(a){mxUtils.isNode(a)||(a="<div><div>"
 document?c.appendChild(a.cloneNode(!0)):c.appendChild(a);d.appendChild(c);b.appendChild(d)}else b.innerHTML=a;return b};mxSvgCanvas2D.prototype.updateText=function(a,b,c,d,e,f,g,k,l,m,n){null!=n&&null!=n.firstChild&&null!=n.firstChild.firstChild&&this.updateTextNodes(a,b,c,d,e,f,g,k,l,m,n.firstChild)};
 mxSvgCanvas2D.prototype.addForeignObject=function(a,b,c,d,e,f,g,k,l,m,n,p,q,r,t){q=this.createElement("g");var u=this.createElement("foreignObject");u.setAttribute("style","overflow: visible; text-align: left;");u.setAttribute("pointer-events","none");r.ownerDocument!=document&&(r=mxUtils.importNodeImplementation(u.ownerDocument,r,!0));u.appendChild(r);q.appendChild(u);this.updateTextNodes(a,b,c,d,f,g,k,m,n,p,q);this.root.ownerDocument!=document&&(a=this.createAlternateContent(u,a,b,c,d,e,f,g,k,l,
 m,n,p),null!=a&&(u.setAttribute("requiredFeatures","http://www.w3.org/TR/SVG11/feature#Extensibility"),b=this.createElement("switch"),b.appendChild(u),b.appendChild(a),q.appendChild(b)));t.appendChild(q)};
-mxSvgCanvas2D.prototype.updateTextNodes=function(a,b,c,d,e,f,g,k,l,m,n){var p=this.state.scale;mxSvgCanvas2D.createCss(c,d,e,f,g,k,l,null!=this.state.fontBackgroundColor?this.state.fontBackgroundColor:null,null!=this.state.fontBorderColor?this.state.fontBorderColor:null,"display: flex; align-items: unsafe "+(f==mxConstants.ALIGN_TOP?"flex-start":f==mxConstants.ALIGN_BOTTOM?"flex-end":"center")+"; justify-content: unsafe "+(e==mxConstants.ALIGN_LEFT?"flex-start":e==mxConstants.ALIGN_RIGHT?"flex-end":
+mxSvgCanvas2D.prototype.updateTextNodes=function(a,b,c,d,e,f,g,k,l,m,n){var p=this.state.scale;mxSvgCanvas2D.createCss(c+2,d,e,f,g,k,l,null!=this.state.fontBackgroundColor?this.state.fontBackgroundColor:null,null!=this.state.fontBorderColor?this.state.fontBorderColor:null,"display: flex; align-items: unsafe "+(f==mxConstants.ALIGN_TOP?"flex-start":f==mxConstants.ALIGN_BOTTOM?"flex-end":"center")+"; justify-content: unsafe "+(e==mxConstants.ALIGN_LEFT?"flex-start":e==mxConstants.ALIGN_RIGHT?"flex-end":
 "center")+"; ",this.getTextCss(),p,mxUtils.bind(this,function(c,d,e,f,g){a+=this.state.dx;b+=this.state.dy;var k=n.firstChild,l=k.firstChild,q=l.firstChild,r=(this.rotateHtml?this.state.rotation:0)+(null!=m?m:0),t=(0!=this.foOffset?"translate("+this.foOffset+" "+this.foOffset+")":"")+(1!=p?"scale("+p+")":"");q.firstChild.setAttribute("style",g);q.setAttribute("style",f);k.setAttribute("width",Math.ceil(1/Math.min(1,p)*100)+"%");k.setAttribute("height",Math.ceil(1/Math.min(1,p)*100)+"%");d=Math.round(b+
 d);0>d?k.setAttribute("y",d):(k.removeAttribute("y"),e+="padding-top: "+d+"px; ");l.setAttribute("style",e+"margin-left: "+Math.round(a+c)+"px;");t+=0!=r?"rotate("+r+" "+a+" "+b+")":"";""!=t?n.setAttribute("transform",t):n.removeAttribute("transform");1!=this.state.alpha?n.setAttribute("opacity",this.state.alpha):n.removeAttribute("opacity")}))};
 mxSvgCanvas2D.createCss=function(a,b,c,d,e,f,g,k,l,m,n,p,q){p="box-sizing: border-box; font-size: 0; text-align: "+(c==mxConstants.ALIGN_LEFT?"left":c==mxConstants.ALIGN_RIGHT?"right":"center")+"; ";var r=mxUtils.getAlignmentAsPoint(c,d);c="overflow: hidden; ";d="width: 1px; ";var t="height: 1px; ",u=r.x*a,r=r.y*b;g?(d="width: "+Math.round(a)+"px; ",p+="max-height: "+Math.round(b)+"px; ",r=0):"fill"==f?(d="width: "+Math.round(a)+"px; ",t="height: "+Math.round(b)+"px; ",n+="width: 100%; height: 100%; ",
-p+=d+t):"width"==f?(d="width: "+Math.round(a)+"px; ",n+="width: 100%; ",p+=d,r=0,0<b&&(p+="max-height: "+Math.round(b)+"px; ")):(c="",r=0);b="";null!=k&&(b+="background-color: "+k+"; ");null!=l&&(b+="border: 1px solid "+l+"; ");""==c||g?n+=b:p+=b;e&&0<a?(n+="white-space: normal; word-wrap: "+mxConstants.WORD_WRAP+"; ",d="width: "+Math.round(a+2)+"px; ",""!=c&&"fill"!=f&&(r=0)):(n+="white-space: nowrap; ",""==c&&(u=0));q(u,r,m+d+t,p+c,n,c)};
+p+=d+t):"width"==f?(d="width: "+Math.round(a)+"px; ",n+="width: 100%; ",p+=d,r=0,0<b&&(p+="max-height: "+Math.round(b)+"px; ")):(c="",r=0);b="";null!=k&&(b+="background-color: "+k+"; ");null!=l&&(b+="border: 1px solid "+l+"; ");""==c||g?n+=b:p+=b;e&&0<a?(n+="white-space: normal; word-wrap: "+mxConstants.WORD_WRAP+"; ",d="width: "+Math.round(a)+"px; ",""!=c&&"fill"!=f&&(r=0)):(n+="white-space: nowrap; ",""==c&&(u=0));q(u,r,m+d+t,p+c,n,c)};
 mxSvgCanvas2D.prototype.getTextCss=function(){var a=this.state,b="display: inline-block; font-size: "+a.fontSize+"px; font-family: "+a.fontFamily+"; color: "+a.fontColor+"; line-height: "+(mxConstants.ABSOLUTE_LINE_HEIGHT?a.fontSize*mxConstants.LINE_HEIGHT+"px":mxConstants.LINE_HEIGHT*this.lineHeightCorrection)+"; pointer-events: "+(this.pointerEvents?this.pointerEventsValue:"none")+"; ";(a.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&(b+="font-weight: bold; ");(a.fontStyle&mxConstants.FONT_ITALIC)==
 mxConstants.FONT_ITALIC&&(b+="font-style: italic; ");var c=[];(a.fontStyle&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&c.push("underline");(a.fontStyle&mxConstants.FONT_STRIKETHROUGH)==mxConstants.FONT_STRIKETHROUGH&&c.push("line-through");0<c.length&&(b+="text-decoration: "+c.join(" ")+"; ");return b};
 mxSvgCanvas2D.prototype.text=function(a,b,c,d,e,f,g,k,l,m,n,p,q){if(this.textEnabled&&null!=e)if(p=null!=p?p:0,this.foEnabled&&"html"==l){var r=this.createDiv(e);null!=r&&(null!=q&&r.setAttribute("dir",q),this.addForeignObject(a,b,c,d,e,f,g,k,l,m,n,p,q,r,this.root))}else this.plainText(a+this.state.dx,b+this.state.dy,c,d,e,f,g,k,m,n,p,q)};
@@ -481,8 +481,8 @@ mxVmlCanvas2D.prototype.text=function(a,b,c,d,e,f,g,k,l,m,n,p,q){if(this.textEna
 this.format(a)+"px";l.style.top=this.format(b)+"px";l.style.zoom=r.scale;var t=this.createElement("div");t.style.position="relative";t.style.display="inline";var u=mxUtils.getAlignmentAsPoint(f,g),x=u.x,u=u.y;e=this.createDiv(e,f,g,m);f=this.createElement("div");null!=q&&e.setAttribute("dir",q);if(k&&0<c){if(n||(e.style.width=Math.round(c)+"px"),e.style.wordWrap=mxConstants.WORD_WRAP,e.style.whiteSpace="normal","break-word"==e.style.wordWrap){var y=e;null!=y.firstChild&&"DIV"==y.firstChild.nodeName&&
 (y.firstChild.style.width="100%")}}else e.style.whiteSpace="nowrap";p=r.rotation+(p||0);this.rotateHtml&&0!=p?(f.style.display="inline",f.style.zoom="1",f.appendChild(e),8!=document.documentMode||mxClient.IS_EM||"DIV"==this.root.nodeName?l.appendChild(f):(t.appendChild(f),l.appendChild(t))):8!=document.documentMode||mxClient.IS_EM?(e.style.display="inline",l.appendChild(e)):(t.appendChild(e),l.appendChild(t));"DIV"!=this.root.nodeName?(q=this.createVmlElement("rect"),q.stroked="false",q.filled="false",
 q.appendChild(l),this.root.appendChild(q)):this.root.appendChild(l);n?(e.style.overflow="hidden",e.style.width=Math.round(c)+"px",mxClient.IS_QUIRKS||(e.style.maxHeight=Math.round(d)+"px")):"fill"==m?(e.style.overflow="hidden",e.style.width=Math.max(0,c)+1+"px",e.style.height=Math.max(0,d)+1+"px"):"width"==m&&(e.style.overflow="hidden",e.style.width=Math.max(0,c)+1+"px",e.style.maxHeight=Math.max(0,d)+1+"px");if(this.rotateHtml&&0!=p){y=Math.PI/180*p;p=parseFloat(parseFloat(Math.cos(y)).toFixed(8));
-q=parseFloat(parseFloat(Math.sin(-y)).toFixed(8));y%=2*Math.PI;0>y&&(y+=2*Math.PI);y%=Math.PI;y>Math.PI/2&&(y=Math.PI-y);g=Math.cos(y);var A=Math.sin(y);8!=document.documentMode||mxClient.IS_EM||(e.style.display="inline-block",f.style.display="inline-block",t.style.display="inline-block");e.style.visibility="hidden";e.style.position="absolute";document.body.appendChild(e);t=e;null!=t.firstChild&&"DIV"==t.firstChild.nodeName&&(t=t.firstChild);y=t.offsetWidth+3;t=t.offsetHeight;n?(c=Math.min(c,y),t=
-Math.min(t,d)):c=y;k&&(e.style.width=c+"px");mxClient.IS_QUIRKS&&(n||"width"==m)&&t>d&&(t=d,e.style.height=t+"px");d=t;n=(d-d*g+c*-A)/2-q*c*(x+.5)+p*d*(u+.5);k=(c-c*g+d*-A)/2+p*c*(x+.5)+q*d*(u+.5);"group"==l.nodeName&&"DIV"==this.root.nodeName?(m=this.createElement("div"),m.style.display="inline-block",m.style.position="absolute",m.style.left=this.format(a+(k-c/2)*r.scale)+"px",m.style.top=this.format(b+(n-d/2)*r.scale)+"px",l.parentNode.appendChild(m),m.appendChild(l)):(r=8!=document.documentMode||
+q=parseFloat(parseFloat(Math.sin(-y)).toFixed(8));y%=2*Math.PI;0>y&&(y+=2*Math.PI);y%=Math.PI;y>Math.PI/2&&(y=Math.PI-y);g=Math.cos(y);var B=Math.sin(y);8!=document.documentMode||mxClient.IS_EM||(e.style.display="inline-block",f.style.display="inline-block",t.style.display="inline-block");e.style.visibility="hidden";e.style.position="absolute";document.body.appendChild(e);t=e;null!=t.firstChild&&"DIV"==t.firstChild.nodeName&&(t=t.firstChild);y=t.offsetWidth+3;t=t.offsetHeight;n?(c=Math.min(c,y),t=
+Math.min(t,d)):c=y;k&&(e.style.width=c+"px");mxClient.IS_QUIRKS&&(n||"width"==m)&&t>d&&(t=d,e.style.height=t+"px");d=t;n=(d-d*g+c*-B)/2-q*c*(x+.5)+p*d*(u+.5);k=(c-c*g+d*-B)/2+p*c*(x+.5)+q*d*(u+.5);"group"==l.nodeName&&"DIV"==this.root.nodeName?(m=this.createElement("div"),m.style.display="inline-block",m.style.position="absolute",m.style.left=this.format(a+(k-c/2)*r.scale)+"px",m.style.top=this.format(b+(n-d/2)*r.scale)+"px",l.parentNode.appendChild(m),m.appendChild(l)):(r=8!=document.documentMode||
 mxClient.IS_EM?r.scale:1,l.style.left=this.format(a+(k-c/2)*r)+"px",l.style.top=this.format(b+(n-d/2)*r)+"px");f.style.filter="progid:DXImageTransform.Microsoft.Matrix(M11="+p+", M12="+q+", M21="+-q+", M22="+p+", sizingMethod='auto expand')";f.style.backgroundColor=this.rotatedHtmlBackground;1>this.state.alpha&&(f.style.filter+="alpha(opacity="+100*this.state.alpha+")");f.appendChild(e);e.style.position="";e.style.visibility=""}else 8!=document.documentMode||mxClient.IS_EM?(e.style.verticalAlign=
 "top",1>this.state.alpha&&(l.style.filter="alpha(opacity="+100*this.state.alpha+")"),r=e.parentNode,e.style.visibility="hidden",document.body.appendChild(e),c=e.offsetWidth,t=e.offsetHeight,mxClient.IS_QUIRKS&&n&&t>d&&(t=d,e.style.height=t+"px"),d=t,e.style.visibility="",r.appendChild(e),l.style.left=this.format(a+c*x*this.state.scale)+"px",l.style.top=this.format(b+d*u*this.state.scale)+"px"):(1>this.state.alpha&&(e.style.filter="alpha(opacity="+100*this.state.alpha+")"),t.style.left=100*x+"%",t.style.top=
 100*u+"%")}else this.plainText(a,b,c,d,mxUtils.htmlEntities(e,!1),f,g,k,l,m,n,p,q)}};
@@ -491,9 +491,9 @@ mxVmlCanvas2D.prototype.plainText=function(a,b,c,d,e,f,g,k,l,m,n,p,q){k=this.sta
 g==mxConstants.ALIGN_BOTTOM?f=-k/2:g!=mxConstants.ALIGN_MIDDLE&&(f=k/2);null!=p&&(c.style.rotation=p,g=Math.PI/180*p,e=Math.sin(g)*f,f*=Math.cos(g));c.appendChild(d);c.style.left=this.format(a-e)+"px";c.style.top=this.format(b+f)+"px";this.root.appendChild(c)};mxVmlCanvas2D.prototype.stroke=function(){this.addNode(!1,!0)};mxVmlCanvas2D.prototype.fill=function(){this.addNode(!0,!1)};mxVmlCanvas2D.prototype.fillAndStroke=function(){this.addNode(!0,!0)};
 function mxGuide(a,b){this.graph=a;this.setStates(b)}mxGuide.prototype.graph=null;mxGuide.prototype.states=null;mxGuide.prototype.horizontal=!0;mxGuide.prototype.vertical=!0;mxGuide.prototype.guideX=null;mxGuide.prototype.guideY=null;mxGuide.prototype.rounded=!1;mxGuide.prototype.tolerance=2;mxGuide.prototype.setStates=function(a){this.states=a};mxGuide.prototype.isEnabledForEvent=function(a){return!0};
 mxGuide.prototype.getGuideTolerance=function(a){return a&&this.graph.gridEnabled?this.graph.gridSize/2:this.tolerance};mxGuide.prototype.createGuideShape=function(a){a=new mxPolyline([],mxConstants.GUIDE_COLOR,mxConstants.GUIDE_STROKEWIDTH);a.isDashed=!0;return a};mxGuide.prototype.isStateIgnored=function(a){return!1};
-mxGuide.prototype.move=function(a,b,c,d){if(null!=this.states&&(this.horizontal||this.vertical)&&null!=a&&null!=b){d=function(c,d,e){c+=this.graph.panDy;var f=!1;e&&Math.abs(c-v)<=t?(b.y=c-a.getCenterY(),t=Math.abs(c-v),f=!0):e||(Math.abs(c-A)<=t?(b.y=c-a.y,t=Math.abs(c-A),f=!0):Math.abs(c-z)<=t&&(b.y=c-a.y-a.height,t=Math.abs(c-z),f=!0));f&&(p=d,q=Math.round(c-this.graph.panDy),null==this.guideY&&(this.guideY=this.createGuideShape(!1),this.guideY.dialect=this.graph.dialect!=mxConstants.DIALECT_SVG?
+mxGuide.prototype.move=function(a,b,c,d){if(null!=this.states&&(this.horizontal||this.vertical)&&null!=a&&null!=b){d=function(c,d,e){c+=this.graph.panDy;var f=!1;e&&Math.abs(c-z)<=t?(b.y=c-a.getCenterY(),t=Math.abs(c-z),f=!0):e||(Math.abs(c-B)<=t?(b.y=c-a.y,t=Math.abs(c-B),f=!0):Math.abs(c-A)<=t&&(b.y=c-a.y-a.height,t=Math.abs(c-A),f=!0));f&&(p=d,q=Math.round(c-this.graph.panDy),null==this.guideY&&(this.guideY=this.createGuideShape(!1),this.guideY.dialect=this.graph.dialect!=mxConstants.DIALECT_SVG?
 mxConstants.DIALECT_VML:mxConstants.DIALECT_SVG,this.guideY.pointerEvents=!1,this.guideY.init(this.graph.getView().getOverlayPane())));n=n||f};var e=function(c,d,e){c+=this.graph.panDx;var f=!1;e&&Math.abs(c-y)<=r?(b.x=c-a.getCenterX(),r=Math.abs(c-y),f=!0):e||(Math.abs(c-u)<=r?(b.x=c-a.x,r=Math.abs(c-u),f=!0):Math.abs(c-x)<=r&&(b.x=c-a.x-a.width,r=Math.abs(c-x),f=!0));f&&(l=d,m=Math.round(c-this.graph.panDx),null==this.guideX&&(this.guideX=this.createGuideShape(!0),this.guideX.dialect=this.graph.dialect!=
-mxConstants.DIALECT_SVG?mxConstants.DIALECT_VML:mxConstants.DIALECT_SVG,this.guideX.pointerEvents=!1,this.guideX.init(this.graph.getView().getOverlayPane())));k=k||f};this.graph.getView();var f=this.graph.getView().scale,f=this.getGuideTolerance(c)*f,g=a.clone();g.x+=b.x;g.y+=b.y;for(var k=!1,l=null,m=null,n=!1,p=null,q=null,r=f,t=f,u=g.x,x=g.x+g.width,y=g.getCenterX(),A=g.y,z=g.y+g.height,v=g.getCenterY(),f=0;f<this.states.length;f++)g=this.states[f],null==g||this.isStateIgnored(g)||(this.horizontal&&
+mxConstants.DIALECT_SVG?mxConstants.DIALECT_VML:mxConstants.DIALECT_SVG,this.guideX.pointerEvents=!1,this.guideX.init(this.graph.getView().getOverlayPane())));k=k||f};this.graph.getView();var f=this.graph.getView().scale,f=this.getGuideTolerance(c)*f,g=a.clone();g.x+=b.x;g.y+=b.y;for(var k=!1,l=null,m=null,n=!1,p=null,q=null,r=f,t=f,u=g.x,x=g.x+g.width,y=g.getCenterX(),B=g.y,A=g.y+g.height,z=g.getCenterY(),f=0;f<this.states.length;f++)g=this.states[f],null==g||this.isStateIgnored(g)||(this.horizontal&&
 (e.call(this,g.x+g.width,g,!1),e.call(this,g.x,g,!1),e.call(this,g.getCenterX(),g,!0)),this.vertical&&(d.call(this,g.y+g.height,g,!1),d.call(this,g.y,g,!1),d.call(this,g.getCenterY(),g,!0)));this.graph.snapDelta(b,a,!c,k,n);c=this.graph.container;k||null==this.guideX?null!=this.guideX&&(e=d=null,null!=l&&null!=a&&(d=Math.min(a.y+b.y-this.graph.panDy,l.y),e=Math.max(a.y+a.height+b.y-this.graph.panDy,l.y+l.height)),this.guideX.points=null!=d&&null!=e?[new mxPoint(m,d),new mxPoint(m,e)]:[new mxPoint(m,
 -this.graph.panDy),new mxPoint(m,c.scrollHeight-3-this.graph.panDy)],this.guideX.stroke=this.getGuideColor(l,!0),this.guideX.node.style.visibility="visible",this.guideX.redraw()):this.guideX.node.style.visibility="hidden";n||null==this.guideY?null!=this.guideY&&(e=d=null,null!=p&&null!=a&&(d=Math.min(a.x+b.x-this.graph.panDx,p.x),e=Math.max(a.x+a.width+b.x-this.graph.panDx,p.x+p.width)),this.guideY.points=null!=d&&null!=e?[new mxPoint(d,q),new mxPoint(e,q)]:[new mxPoint(-this.graph.panDx,q),new mxPoint(c.scrollWidth-
 3-this.graph.panDx,q)],this.guideY.stroke=this.getGuideColor(p,!1),this.guideY.node.style.visibility="visible",this.guideY.redraw()):this.guideY.node.style.visibility="hidden";b=this.getDelta(a,l,b.x,p,b.y)}return b};mxGuide.prototype.getDelta=function(a,b,c,d,e){if(this.rounded||null!=b&&null==b.cell)c=Math.floor(a.x+c)-a.x;if(this.rounded||null!=d&&null==d.cell)e=Math.floor(a.y+e)-a.y;return new mxPoint(c,e)};mxGuide.prototype.getGuideColor=function(a,b){return mxConstants.GUIDE_COLOR};
@@ -579,14 +579,14 @@ function mxArrowConnector(a,b,c,d,e,f,g){mxShape.call(this);this.points=a;this.f
 mxArrowConnector.prototype.resetStyles=function(){mxShape.prototype.resetStyles.apply(this,arguments);this.arrowSpacing=mxConstants.ARROW_SPACING};mxArrowConnector.prototype.apply=function(a){mxShape.prototype.apply.apply(this,arguments);null!=this.style&&(this.startSize=3*mxUtils.getNumber(this.style,mxConstants.STYLE_STARTSIZE,mxConstants.ARROW_SIZE/5),this.endSize=3*mxUtils.getNumber(this.style,mxConstants.STYLE_ENDSIZE,mxConstants.ARROW_SIZE/5))};
 mxArrowConnector.prototype.augmentBoundingBox=function(a){mxShape.prototype.augmentBoundingBox.apply(this,arguments);var b=this.getEdgeWidth();this.isMarkerStart()&&(b=Math.max(b,this.getStartArrowWidth()));this.isMarkerEnd()&&(b=Math.max(b,this.getEndArrowWidth()));a.grow((b/2+this.strokewidth)*this.scale)};
 mxArrowConnector.prototype.paintEdgeShape=function(a,b){var c=this.strokewidth;this.outline&&(c=Math.max(1,mxUtils.getNumber(this.style,mxConstants.STYLE_STROKEWIDTH,this.strokewidth)));for(var d=this.getStartArrowWidth()+c,e=this.getEndArrowWidth()+c,f=this.outline?this.getEdgeWidth()+c:this.getEdgeWidth(),g=this.isOpenEnded(),k=this.isMarkerStart(),l=this.isMarkerEnd(),m=g?0:this.arrowSpacing+c/2,n=this.startSize+c,c=this.endSize+c,p=this.isArrowRounded(),q=b[b.length-1],r=1;r<b.length-1&&b[r].x==
-b[0].x&&b[r].y==b[0].y;)r++;var t=b[r].x-b[0].x,r=b[r].y-b[0].y,u=Math.sqrt(t*t+r*r);if(0!=u){var x=t/u,y,A=x,z=r/u,v,B=z,u=f*z,C=-f*x,E=[];p?a.setLineJoin("round"):2<b.length&&a.setMiterLimit(1.42);a.begin();t=x;r=z;if(k&&!g)this.paintMarker(a,b[0].x,b[0].y,x,z,n,d,f,m,!0);else{y=b[0].x+u/2+m*x;v=b[0].y+C/2+m*z;var G=b[0].x-u/2+m*x,J=b[0].y-C/2+m*z;g?(a.moveTo(y,v),E.push(function(){a.lineTo(G,J)})):(a.moveTo(G,J),a.lineTo(y,v))}for(var D=v=y=0,u=0;u<b.length-2;u++)if(C=mxUtils.relativeCcw(b[u].x,
-b[u].y,b[u+1].x,b[u+1].y,b[u+2].x,b[u+2].y),y=b[u+2].x-b[u+1].x,v=b[u+2].y-b[u+1].y,D=Math.sqrt(y*y+v*v),0!=D){A=y/D;B=v/D;D=Math.max(Math.sqrt((x*A+z*B+1)/2),.04);y=x+A;v=z+B;var H=Math.sqrt(y*y+v*v);if(0!=H){y/=H;v/=H;var H=Math.max(D,Math.min(this.strokewidth/200+.04,.35)),D=0!=C&&p?Math.max(.1,H):Math.max(D,.06),I=b[u+1].x+v*f/2/D,F=b[u+1].y-y*f/2/D;v=b[u+1].x-v*f/2/D;y=b[u+1].y+y*f/2/D;0!=C&&p?-1==C?(C=v+B*f,D=y-A*f,a.lineTo(v+z*f,y-x*f),a.quadTo(I,F,C,D),function(b,c){E.push(function(){a.lineTo(b,
-c)})}(v,y)):(a.lineTo(I,F),function(b,c){var d=I-z*f,e=F+x*f,g=I-B*f,k=F+A*f;E.push(function(){a.quadTo(b,c,d,e)});E.push(function(){a.lineTo(g,k)})}(v,y)):(a.lineTo(I,F),function(b,c){E.push(function(){a.lineTo(b,c)})}(v,y));x=A;z=B}}u=f*B;C=-f*A;if(l&&!g)this.paintMarker(a,q.x,q.y,-x,-z,c,e,f,m,!1);else{a.lineTo(q.x-m*A+u/2,q.y-m*B+C/2);var K=q.x-m*A-u/2,L=q.y-m*B-C/2;g?(a.moveTo(K,L),E.splice(0,0,function(){a.moveTo(K,L)})):a.lineTo(K,L)}for(u=E.length-1;0<=u;u--)E[u]();g?(a.end(),a.stroke()):
-(a.close(),a.fillAndStroke());a.setShadow(!1);a.setMiterLimit(4);p&&a.setLineJoin("flat");2<b.length&&(a.setMiterLimit(4),k&&!g&&(a.begin(),this.paintMarker(a,b[0].x,b[0].y,t,r,n,d,f,m,!0),a.stroke(),a.end()),l&&!g&&(a.begin(),this.paintMarker(a,q.x,q.y,-x,-z,c,e,f,m,!0),a.stroke(),a.end()))}};
+b[0].x&&b[r].y==b[0].y;)r++;var t=b[r].x-b[0].x,r=b[r].y-b[0].y,u=Math.sqrt(t*t+r*r);if(0!=u){var x=t/u,y,B=x,A=r/u,z,C=A,u=f*A,v=-f*x,D=[];p?a.setLineJoin("round"):2<b.length&&a.setMiterLimit(1.42);a.begin();t=x;r=A;if(k&&!g)this.paintMarker(a,b[0].x,b[0].y,x,A,n,d,f,m,!0);else{y=b[0].x+u/2+m*x;z=b[0].y+v/2+m*A;var G=b[0].x-u/2+m*x,J=b[0].y-v/2+m*A;g?(a.moveTo(y,z),D.push(function(){a.lineTo(G,J)})):(a.moveTo(G,J),a.lineTo(y,z))}for(var E=z=y=0,u=0;u<b.length-2;u++)if(v=mxUtils.relativeCcw(b[u].x,
+b[u].y,b[u+1].x,b[u+1].y,b[u+2].x,b[u+2].y),y=b[u+2].x-b[u+1].x,z=b[u+2].y-b[u+1].y,E=Math.sqrt(y*y+z*z),0!=E){B=y/E;C=z/E;E=Math.max(Math.sqrt((x*B+A*C+1)/2),.04);y=x+B;z=A+C;var H=Math.sqrt(y*y+z*z);if(0!=H){y/=H;z/=H;var H=Math.max(E,Math.min(this.strokewidth/200+.04,.35)),E=0!=v&&p?Math.max(.1,H):Math.max(E,.06),I=b[u+1].x+z*f/2/E,F=b[u+1].y-y*f/2/E;z=b[u+1].x-z*f/2/E;y=b[u+1].y+y*f/2/E;0!=v&&p?-1==v?(v=z+C*f,E=y-B*f,a.lineTo(z+A*f,y-x*f),a.quadTo(I,F,v,E),function(b,c){D.push(function(){a.lineTo(b,
+c)})}(z,y)):(a.lineTo(I,F),function(b,c){var d=I-A*f,e=F+x*f,g=I-C*f,k=F+B*f;D.push(function(){a.quadTo(b,c,d,e)});D.push(function(){a.lineTo(g,k)})}(z,y)):(a.lineTo(I,F),function(b,c){D.push(function(){a.lineTo(b,c)})}(z,y));x=B;A=C}}u=f*C;v=-f*B;if(l&&!g)this.paintMarker(a,q.x,q.y,-x,-A,c,e,f,m,!1);else{a.lineTo(q.x-m*B+u/2,q.y-m*C+v/2);var K=q.x-m*B-u/2,L=q.y-m*C-v/2;g?(a.moveTo(K,L),D.splice(0,0,function(){a.moveTo(K,L)})):a.lineTo(K,L)}for(u=D.length-1;0<=u;u--)D[u]();g?(a.end(),a.stroke()):
+(a.close(),a.fillAndStroke());a.setShadow(!1);a.setMiterLimit(4);p&&a.setLineJoin("flat");2<b.length&&(a.setMiterLimit(4),k&&!g&&(a.begin(),this.paintMarker(a,b[0].x,b[0].y,t,r,n,d,f,m,!0),a.stroke(),a.end()),l&&!g&&(a.begin(),this.paintMarker(a,q.x,q.y,-x,-A,c,e,f,m,!0),a.stroke(),a.end()))}};
 mxArrowConnector.prototype.paintMarker=function(a,b,c,d,e,f,g,k,l,m){g=k/g;var n=k*e/2;k=-k*d/2;var p=(l+f)*d;f=(l+f)*e;m?a.moveTo(b-n+p,c-k+f):a.lineTo(b-n+p,c-k+f);a.lineTo(b-n/g+p,c-k/g+f);a.lineTo(b+l*d,c+l*e);a.lineTo(b+n/g+p,c+k/g+f);a.lineTo(b+n+p,c+k+f)};mxArrowConnector.prototype.isArrowRounded=function(){return this.isRounded};mxArrowConnector.prototype.getStartArrowWidth=function(){return mxConstants.ARROW_WIDTH};mxArrowConnector.prototype.getEndArrowWidth=function(){return mxConstants.ARROW_WIDTH};
 mxArrowConnector.prototype.getEdgeWidth=function(){return mxConstants.ARROW_WIDTH/3};mxArrowConnector.prototype.isOpenEnded=function(){return!1};mxArrowConnector.prototype.isMarkerStart=function(){return mxUtils.getValue(this.style,mxConstants.STYLE_STARTARROW,mxConstants.NONE)!=mxConstants.NONE};mxArrowConnector.prototype.isMarkerEnd=function(){return mxUtils.getValue(this.style,mxConstants.STYLE_ENDARROW,mxConstants.NONE)!=mxConstants.NONE};
-function mxText(a,b,c,d,e,f,g,k,l,m,n,p,q,r,t,u,x,y,A,z,v){mxShape.call(this);this.value=a;this.bounds=b;this.color=null!=e?e:"black";this.align=null!=c?c:mxConstants.ALIGN_CENTER;this.valign=null!=d?d:mxConstants.ALIGN_MIDDLE;this.family=null!=f?f:mxConstants.DEFAULT_FONTFAMILY;this.size=null!=g?g:mxConstants.DEFAULT_FONTSIZE;this.fontStyle=null!=k?k:mxConstants.DEFAULT_FONTSTYLE;this.spacing=parseInt(l||2);this.spacingTop=this.spacing+parseInt(m||0);this.spacingRight=this.spacing+parseInt(n||0);
-this.spacingBottom=this.spacing+parseInt(p||0);this.spacingLeft=this.spacing+parseInt(q||0);this.horizontal=null!=r?r:!0;this.background=t;this.border=u;this.wrap=null!=x?x:!1;this.clipped=null!=y?y:!1;this.overflow=null!=A?A:"visible";this.labelPadding=null!=z?z:0;this.textDirection=v;this.rotation=0;this.updateMargin()}mxUtils.extend(mxText,mxShape);mxText.prototype.baseSpacingTop=0;mxText.prototype.baseSpacingBottom=0;mxText.prototype.baseSpacingLeft=0;mxText.prototype.baseSpacingRight=0;
+function mxText(a,b,c,d,e,f,g,k,l,m,n,p,q,r,t,u,x,y,B,A,z){mxShape.call(this);this.value=a;this.bounds=b;this.color=null!=e?e:"black";this.align=null!=c?c:mxConstants.ALIGN_CENTER;this.valign=null!=d?d:mxConstants.ALIGN_MIDDLE;this.family=null!=f?f:mxConstants.DEFAULT_FONTFAMILY;this.size=null!=g?g:mxConstants.DEFAULT_FONTSIZE;this.fontStyle=null!=k?k:mxConstants.DEFAULT_FONTSTYLE;this.spacing=parseInt(l||2);this.spacingTop=this.spacing+parseInt(m||0);this.spacingRight=this.spacing+parseInt(n||0);
+this.spacingBottom=this.spacing+parseInt(p||0);this.spacingLeft=this.spacing+parseInt(q||0);this.horizontal=null!=r?r:!0;this.background=t;this.border=u;this.wrap=null!=x?x:!1;this.clipped=null!=y?y:!1;this.overflow=null!=B?B:"visible";this.labelPadding=null!=A?A:0;this.textDirection=z;this.rotation=0;this.updateMargin()}mxUtils.extend(mxText,mxShape);mxText.prototype.baseSpacingTop=0;mxText.prototype.baseSpacingBottom=0;mxText.prototype.baseSpacingLeft=0;mxText.prototype.baseSpacingRight=0;
 mxText.prototype.replaceLinefeeds=!0;mxText.prototype.verticalTextRotation=-90;mxText.prototype.ignoreClippedStringSize=!0;mxText.prototype.ignoreStringSize=!1;mxText.prototype.textWidthPadding=8!=document.documentMode||mxClient.IS_EM?3:4;mxText.prototype.lastValue=null;mxText.prototype.cacheEnabled=!0;mxText.prototype.isParseVml=function(){return!1};mxText.prototype.isHtmlAllowed=function(){return 8!=document.documentMode||mxClient.IS_EM};mxText.prototype.getSvgScreenOffset=function(){return 0};
 mxText.prototype.checkBounds=function(){return!isNaN(this.scale)&&isFinite(this.scale)&&0<this.scale&&null!=this.bounds&&!isNaN(this.bounds.x)&&!isNaN(this.bounds.y)&&!isNaN(this.bounds.width)&&!isNaN(this.bounds.height)};
 mxText.prototype.paint=function(a,b){var c=this.scale,d=this.bounds.x/c,e=this.bounds.y/c,f=this.bounds.width/c,c=this.bounds.height/c;this.updateTransform(a,d,e,f,c);this.configureCanvas(a,d,e,f,c);if(b)a.updateText(d,e,f,c,this.align,this.valign,this.wrap,this.overflow,this.clipped,this.getTextRotation(),this.node);else{var g=mxUtils.isNode(this.value)||this.dialect==mxConstants.DIALECT_STRICTHTML,k=g||a instanceof mxVmlCanvas2D?"html":"",l=this.value;g||"html"!=k||(l=mxUtils.htmlEntities(l,!1));
@@ -611,9 +611,9 @@ mxText.prototype.updateVmlContainer=function(){this.node.style.left=Math.round(t
 mxText.prototype.getTextCss=function(){var a="display: inline-block; font-size: "+this.size+"px; font-family: "+this.family+"; color: "+this.color+"; line-height: "+(mxConstants.ABSOLUTE_LINE_HEIGHT?this.size*mxConstants.LINE_HEIGHT+"px":mxConstants.LINE_HEIGHT)+"; pointer-events: "+(this.pointerEvents?"all":"none")+"; ";(this.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&(a+="font-weight: bold; ");(this.fontStyle&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&(a+="font-style: italic; ");
 var b=[];(this.fontStyle&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&b.push("underline");(this.fontStyle&mxConstants.FONT_STRIKETHROUGH)==mxConstants.FONT_STRIKETHROUGH&&b.push("line-through");0<b.length&&(a+="text-decoration: "+b.join(" ")+"; ");return a};
 mxText.prototype.redrawHtmlShape=function(){if(mxClient.IS_SVG)this.redrawHtmlShapeWithCss3();else{var a=this.node.style;a.whiteSpace="normal";a.overflow="";a.width="";a.height="";this.updateValue();this.updateFont(this.node);this.updateSize(this.node,null==this.state||null==this.state.view.textDiv);this.offsetHeight=this.offsetWidth=null;mxClient.IS_IE&&(null==document.documentMode||8>=document.documentMode)?this.updateHtmlFilter():this.updateHtmlTransform()}};
-mxText.prototype.redrawHtmlShapeWithCss3=function(){var a=Math.max(0,Math.round(this.bounds.width/this.scale)),b=Math.max(0,Math.round(this.bounds.height/this.scale)),c="position: absolute; left: "+Math.round(this.bounds.x)+"px; top: "+Math.round(this.bounds.y)+"px; pointer-events: none; ",d=this.getTextCss()+(this.pointerEvents?"pointer-events: all; ":"");mxSvgCanvas2D.createCss(a,b,this.align,this.valign,this.wrap,this.overflow,this.clipped,null!=this.background?mxUtils.htmlEntities(this.background):
-null,null!=this.border?mxUtils.htmlEntities(this.border):null,c,d,this.scale,mxUtils.bind(this,function(a,b,c,d,l,m){a=this.getTextRotation();a=(1!=this.scale?"scale("+this.scale+") ":"")+(0!=a?"rotate("+a+"deg) ":"")+(0!=this.margin.x||0!=this.margin.y?"translate("+100*this.margin.x+"%,"+100*this.margin.y+"%)":"");""!=a&&(a="transform-origin: 0 0; transform: "+a+"; ");""==m?(c+=d,d="display:inline-block; min-width: 100%; "+a):d+=a;100>this.opacity&&(l+="opacity: "+this.opacity/100+"; ");this.node.setAttribute("style",
-c);c=mxUtils.isNode(this.value)?this.value.outerHTML:this.getHtmlValue();null==this.node.firstChild&&(this.node.innerHTML="<div><div>"+c+"</div></div>");this.node.firstChild.firstChild.setAttribute("style",l);this.node.firstChild.setAttribute("style",d)}))};
+mxText.prototype.redrawHtmlShapeWithCss3=function(){var a=Math.max(0,Math.round(this.bounds.width/this.scale)),b=Math.max(0,Math.round(this.bounds.height/this.scale)),c="position: absolute; left: "+Math.round(this.bounds.x)+"px; top: "+Math.round(this.bounds.y)+"px; pointer-events: none; ",d=this.getTextCss();mxSvgCanvas2D.createCss(a+2,b,this.align,this.valign,this.wrap,this.overflow,this.clipped,null!=this.background?mxUtils.htmlEntities(this.background):null,null!=this.border?mxUtils.htmlEntities(this.border):
+null,c,d,this.scale,mxUtils.bind(this,function(a,b,c,d,l,m){a=this.getTextRotation();a=(1!=this.scale?"scale("+this.scale+") ":"")+(0!=a?"rotate("+a+"deg) ":"")+(0!=this.margin.x||0!=this.margin.y?"translate("+100*this.margin.x+"%,"+100*this.margin.y+"%)":"");""!=a&&(a="transform-origin: 0 0; transform: "+a+"; ");""==m?(c+=d,d="display:inline-block; min-width: 100%; "+a):d+=a;100>this.opacity&&(l+="opacity: "+this.opacity/100+"; ");this.node.setAttribute("style",c);c=mxUtils.isNode(this.value)?this.value.outerHTML:
+this.getHtmlValue();null==this.node.firstChild&&(this.node.innerHTML="<div><div>"+c+"</div></div>");this.node.firstChild.firstChild.setAttribute("style",l);this.node.firstChild.setAttribute("style",d)}))};
 mxText.prototype.updateHtmlTransform=function(){var a=this.getTextRotation(),b=this.node.style,c=this.margin.x,d=this.margin.y;0!=a?(mxUtils.setPrefixedStyle(b,"transformOrigin",100*-c+"% "+100*-d+"%"),mxUtils.setPrefixedStyle(b,"transform","translate("+100*c+"%,"+100*d+"%) scale("+this.scale+") rotate("+a+"deg)")):(mxUtils.setPrefixedStyle(b,"transformOrigin","0% 0%"),mxUtils.setPrefixedStyle(b,"transform","scale("+this.scale+") translate("+100*c+"%,"+100*d+"%)"));b.left=Math.round(this.bounds.x-
 Math.ceil(c*("fill"!=this.overflow&&"width"!=this.overflow?3:1)))+"px";b.top=Math.round(this.bounds.y-d*("fill"!=this.overflow?3:1))+"px";b.opacity=100>this.opacity?this.opacity/100:""};
 mxText.prototype.updateInnerHtml=function(a){if(mxUtils.isNode(this.value))a.innerHTML=this.value.outerHTML;else{var b=this.value;this.dialect!=mxConstants.DIALECT_STRICTHTML&&(b=mxUtils.htmlEntities(b,!1));b=mxUtils.replaceTrailingNewlines(b,"<div>&nbsp;</div>");b=this.replaceLinefeeds?b.replace(/\n/g,"<br/>"):b;a.innerHTML='<div style="display:inline-block;_display:inline;">'+b+"</div>"}};
@@ -790,9 +790,9 @@ mxMedianHybridCrossingReduction.prototype.execute=function(a){a=this.layout.getM
 k}else for(c++,e=0;e<this.nestedBestRanks.length;e++)for(f=a.ranks[e],g=0;g<f.length;g++)k=f[g],k.setGeneralPurposeVariable(e,g);if(0==d)break}c=[];d=[];for(b=0;b<a.maxRank+1;b++)d[b]=[],c[b]=d[b];for(b=0;b<this.nestedBestRanks.length;b++)for(e=0;e<this.nestedBestRanks[b].length;e++)d[b].push(this.nestedBestRanks[b][e]);a.ranks=c};mxMedianHybridCrossingReduction.prototype.calculateCrossings=function(a){for(var b=a.ranks.length,c=0,d=1;d<b;d++)c+=this.calculateRankCrossing(d,a);return c};
 mxMedianHybridCrossingReduction.prototype.calculateRankCrossing=function(a,b){for(var c=0,d=b.ranks[a],e=b.ranks[a-1],f=[],g=0;g<d.length;g++){for(var k=d[g],l=k.getGeneralPurposeVariable(a),k=k.getPreviousLayerConnectedCells(a),m=[],n=0;n<k.length;n++){var p=k[n].getGeneralPurposeVariable(a-1);m.push(p)}m.sort(function(a,b){return a-b});f[l]=m}d=[];for(g=0;g<f.length;g++)d=d.concat(f[g]);for(f=1;f<e.length;)f<<=1;l=2*f-1;--f;e=[];for(g=0;g<l;++g)e[g]=0;for(g=0;g<d.length;g++)for(l=d[g]+f,++e[l];0<
 l;)l%2&&(c+=e[l+1]),l=l-1>>1,++e[l];return c};
-mxMedianHybridCrossingReduction.prototype.transpose=function(a,b){for(var c=!0,d=0;c&&10>d++;)for(var e=1==a%2&&1==d%2,c=!1,f=0;f<b.ranks.length;f++){for(var g=b.ranks[f],k=[],l=0;l<g.length;l++){var m=g[l],n=m.getGeneralPurposeVariable(f);0>n&&(n=l);k[n]=m}for(var p=null,q=null,r,t,u=null,x=null,y,A=null,l=0;l<g.length-1;l++){if(0==l){y=k[l];m=y.getNextLayerConnectedCells(f);n=y.getPreviousLayerConnectedCells(f);r=[];t=[];for(var z=0;z<m.length;z++)r[z]=m[z].getGeneralPurposeVariable(f+1);for(z=
-0;z<n.length;z++)t[z]=n[z].getGeneralPurposeVariable(f-1)}else m=p,n=q,r=u,t=x,y=A;A=k[l+1];p=A.getNextLayerConnectedCells(f);q=A.getPreviousLayerConnectedCells(f);u=[];x=[];for(z=0;z<p.length;z++)u[z]=p[z].getGeneralPurposeVariable(f+1);for(z=0;z<q.length;z++)x[z]=q[z].getGeneralPurposeVariable(f-1);for(var v=0,B=0,z=0;z<r.length;z++)for(var C=0;C<u.length;C++)r[z]>u[C]&&v++,r[z]<u[C]&&B++;for(z=0;z<t.length;z++)for(C=0;C<x.length;C++)t[z]>x[C]&&v++,t[z]<x[C]&&B++;if(B<v||B==v&&e)p=y.getGeneralPurposeVariable(f),
-y.setGeneralPurposeVariable(f,A.getGeneralPurposeVariable(f)),A.setGeneralPurposeVariable(f,p),p=m,q=n,u=r,x=t,A=y,e||(c=!0)}}};mxMedianHybridCrossingReduction.prototype.weightedMedian=function(a,b){var c=0==a%2;if(c)for(var d=b.maxRank-1;0<=d;d--)this.medianRank(d,c);else for(d=1;d<b.maxRank;d++)this.medianRank(d,c)};
+mxMedianHybridCrossingReduction.prototype.transpose=function(a,b){for(var c=!0,d=0;c&&10>d++;)for(var e=1==a%2&&1==d%2,c=!1,f=0;f<b.ranks.length;f++){for(var g=b.ranks[f],k=[],l=0;l<g.length;l++){var m=g[l],n=m.getGeneralPurposeVariable(f);0>n&&(n=l);k[n]=m}for(var p=null,q=null,r,t,u=null,x=null,y,B=null,l=0;l<g.length-1;l++){if(0==l){y=k[l];m=y.getNextLayerConnectedCells(f);n=y.getPreviousLayerConnectedCells(f);r=[];t=[];for(var A=0;A<m.length;A++)r[A]=m[A].getGeneralPurposeVariable(f+1);for(A=
+0;A<n.length;A++)t[A]=n[A].getGeneralPurposeVariable(f-1)}else m=p,n=q,r=u,t=x,y=B;B=k[l+1];p=B.getNextLayerConnectedCells(f);q=B.getPreviousLayerConnectedCells(f);u=[];x=[];for(A=0;A<p.length;A++)u[A]=p[A].getGeneralPurposeVariable(f+1);for(A=0;A<q.length;A++)x[A]=q[A].getGeneralPurposeVariable(f-1);for(var z=0,C=0,A=0;A<r.length;A++)for(var v=0;v<u.length;v++)r[A]>u[v]&&z++,r[A]<u[v]&&C++;for(A=0;A<t.length;A++)for(v=0;v<x.length;v++)t[A]>x[v]&&z++,t[A]<x[v]&&C++;if(C<z||C==z&&e)p=y.getGeneralPurposeVariable(f),
+y.setGeneralPurposeVariable(f,B.getGeneralPurposeVariable(f)),B.setGeneralPurposeVariable(f,p),p=m,q=n,u=r,x=t,B=y,e||(c=!0)}}};mxMedianHybridCrossingReduction.prototype.weightedMedian=function(a,b){var c=0==a%2;if(c)for(var d=b.maxRank-1;0<=d;d--)this.medianRank(d,c);else for(d=1;d<b.maxRank;d++)this.medianRank(d,c)};
 mxMedianHybridCrossingReduction.prototype.medianRank=function(a,b){for(var c=this.nestedBestRanks[a].length,d=[],e=[],f=0;f<c;f++){var g=this.nestedBestRanks[a][f],k=new MedianCellSorter;k.cell=g;var l;l=b?g.getNextLayerConnectedCells(a):g.getPreviousLayerConnectedCells(a);var m;m=b?a+1:a-1;null!=l&&0!=l.length?(k.medianValue=this.medianValue(l,m),d.push(k)):e[g.getGeneralPurposeVariable(a)]=!0}d.sort(MedianCellSorter.prototype.compare);for(f=0;f<c;f++)null==e[f]&&(g=d.shift().cell,g.setGeneralPurposeVariable(a,
 f))};mxMedianHybridCrossingReduction.prototype.medianValue=function(a,b){for(var c=[],d=0,e=0;e<a.length;e++){var f=a[e];c[d++]=f.getGeneralPurposeVariable(b)}c.sort(function(a,b){return a-b});if(1==d%2)return c[Math.floor(d/2)];if(2==d)return(c[0]+c[1])/2;e=d/2;f=c[e-1]-c[0];d=c[d-1]-c[e];return(c[e-1]*d+c[e]*f)/(f+d)};function MedianCellSorter(){}MedianCellSorter.prototype.medianValue=0;MedianCellSorter.prototype.cell=!1;
 MedianCellSorter.prototype.compare=function(a,b){return null!=a&&null!=b?b.medianValue>a.medianValue?-1:b.medianValue<a.medianValue?1:0:0};function mxMinimumCycleRemover(a){this.layout=a}mxMinimumCycleRemover.prototype=new mxHierarchicalLayoutStage;mxMinimumCycleRemover.prototype.constructor=mxMinimumCycleRemover;mxMinimumCycleRemover.prototype.layout=null;
@@ -827,7 +827,7 @@ t;if(r.isVertex()){t=0==k?e.connectsAsSource:e.connectsAsTarget;for(var u=0;u<t.
 p+=this.prefVertEdgeOff:m>f/2&&(p-=this.prefVertEdgeOff),t=0;t<q;t++)r[4*t+2*k]=n,n+=l,r[4*t+2*k+1]=p}f=e.getNextLayerConnectedCells(b);g=b+1}}};
 mxCoordinateAssignment.prototype.setEdgePosition=function(a){var b=0;if(101207!=a.temp[0]){var c=a.maxRank,d=a.minRank;c==d&&(c=a.source.maxRank,d=a.target.minRank);for(var e=0,f=this.jettyPositions[a.ids[0]],g=a.isReversed?a.target.cell:a.source.cell,k=this.layout.graph,l=this.orientation==mxConstants.DIRECTION_EAST||this.orientation==mxConstants.DIRECTION_SOUTH,m=0;m<a.edges.length;m++){var n=a.edges[m],p=this.layout.getVisibleTerminal(n,!0),q=[],r=a.isReversed;p!=g&&(r=!r);if(null!=f){var t=r?
 2:0,u=r?l?this.rankBottomY[d]:this.rankTopY[d]:l?this.rankTopY[c]:this.rankBottomY[c],x=f[4*e+1+t];r!=l&&(x=-x);var u=u+x,t=f[4*e+t],y=k.model.getTerminal(n,!0);this.layout.isPort(y)&&k.model.getParent(y)==p&&(t=k.view.getState(y),t=null!=t?t.x:p.geometry.x+a.source.width*y.geometry.x);this.orientation==mxConstants.DIRECTION_NORTH||this.orientation==mxConstants.DIRECTION_SOUTH?(q.push(new mxPoint(t,u)),this.layout.edgeStyle==mxHierarchicalEdgeStyle.CURVE&&q.push(new mxPoint(t,u+x))):(q.push(new mxPoint(u,
-t)),this.layout.edgeStyle==mxHierarchicalEdgeStyle.CURVE&&q.push(new mxPoint(u+x,t)))}t=a.x.length-1;u=x=-1;p=a.maxRank-1;for(r&&(t=0,x=a.x.length,u=1,p=a.minRank+1);a.maxRank!=a.minRank&&t!=x;t+=u){var y=a.x[t]+b,A=(this.rankTopY[p]+this.rankBottomY[p+1])/2,z=(this.rankTopY[p-1]+this.rankBottomY[p])/2;if(r)var v=A,A=z,z=v;this.orientation==mxConstants.DIRECTION_NORTH||this.orientation==mxConstants.DIRECTION_SOUTH?(q.push(new mxPoint(y,A)),q.push(new mxPoint(y,z))):(q.push(new mxPoint(A,y)),q.push(new mxPoint(z,
+t)),this.layout.edgeStyle==mxHierarchicalEdgeStyle.CURVE&&q.push(new mxPoint(u+x,t)))}t=a.x.length-1;u=x=-1;p=a.maxRank-1;for(r&&(t=0,x=a.x.length,u=1,p=a.minRank+1);a.maxRank!=a.minRank&&t!=x;t+=u){var y=a.x[t]+b,B=(this.rankTopY[p]+this.rankBottomY[p+1])/2,A=(this.rankTopY[p-1]+this.rankBottomY[p])/2;if(r)var z=B,B=A,A=z;this.orientation==mxConstants.DIRECTION_NORTH||this.orientation==mxConstants.DIRECTION_SOUTH?(q.push(new mxPoint(y,B)),q.push(new mxPoint(y,A))):(q.push(new mxPoint(B,y)),q.push(new mxPoint(A,
 y)));this.limitX=Math.max(this.limitX,y);p+=u}null!=f&&(t=r?2:0,u=r?l?this.rankTopY[c]:this.rankBottomY[c]:l?this.rankBottomY[d]:this.rankTopY[d],x=f[4*e+3-t],r!=l&&(x=-x),u-=x,t=f[4*e+2-t],r=k.model.getTerminal(n,!1),p=this.layout.getVisibleTerminal(n,!1),this.layout.isPort(r)&&k.model.getParent(r)==p&&(t=k.view.getState(r),t=null!=t?t.x:p.geometry.x+a.target.width*r.geometry.x),this.orientation==mxConstants.DIRECTION_NORTH||this.orientation==mxConstants.DIRECTION_SOUTH?(this.layout.edgeStyle==mxHierarchicalEdgeStyle.CURVE&&
 q.push(new mxPoint(t,u-x)),q.push(new mxPoint(t,u))):(this.layout.edgeStyle==mxHierarchicalEdgeStyle.CURVE&&q.push(new mxPoint(u-x,t)),q.push(new mxPoint(u,t))));a.isReversed&&this.processReversedEdge(a,n);this.layout.setEdgePoints(n,q);b=0==b?this.parallelEdgeSpacing:0<b?-b:-b+this.parallelEdgeSpacing;e++}a.temp[0]=101207}};
 mxCoordinateAssignment.prototype.setVertexLocation=function(a){var b=a.cell,c=a.x[0]-a.width/2,d=a.y[0]-a.height/2;this.rankTopY[a.minRank]=Math.min(this.rankTopY[a.minRank],d);this.rankBottomY[a.minRank]=Math.max(this.rankBottomY[a.minRank],d+a.height);this.orientation==mxConstants.DIRECTION_NORTH||this.orientation==mxConstants.DIRECTION_SOUTH?this.layout.setVertexLocation(b,c,d):this.layout.setVertexLocation(b,d,c);this.limitX=Math.max(this.limitX,c+a.width)};
@@ -951,10 +951,10 @@ mxPrintPreview.prototype.getDoctype=function(){var a="";5==document.documentMode
 mxPrintPreview.prototype.open=function(a,b,c,d){var e=this.graph.cellRenderer.initializeOverlay,f=null;try{this.printOverlays&&(this.graph.cellRenderer.initializeOverlay=function(a,b){b.init(a.view.getDrawPane())});this.printControls&&(this.graph.cellRenderer.initControl=function(a,b,c,d){b.dialect=a.view.graph.dialect;b.init(a.view.getDrawPane())});this.wnd=null!=b?b:this.wnd;var g=!1;null==this.wnd&&(g=!0,this.wnd=window.open());var k=this.wnd.document;if(g){var l=this.getDoctype();null!=l&&0<l.length&&
 k.writeln(l);mxClient.IS_VML?k.writeln('<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">'):("CSS1Compat"===document.compatMode&&k.writeln("<!DOCTYPE html>"),k.writeln("<html>"));k.writeln("<head>");this.writeHead(k,a);k.writeln("</head>");k.writeln('<body class="mxPage">')}var m=this.graph.getGraphBounds().clone(),n=this.graph.getView().getScale(),p=n/this.scale,q=this.graph.getView().getTranslate();this.autoOrigin||(this.x0-=q.x*this.scale,this.y0-=
 q.y*this.scale,m.width+=m.x,m.height+=m.y,m.x=0,this.border=m.y=0);var r=this.pageFormat.width-2*this.border,t=this.pageFormat.height-2*this.border;this.pageFormat.height+=this.marginTop+this.marginBottom;m.width/=p;m.height/=p;var u=Math.max(1,Math.ceil((m.width+this.x0)/r)),x=Math.max(1,Math.ceil((m.height+this.y0)/t));this.pageCount=u*x;var y=mxUtils.bind(this,function(){if(this.pageSelector&&(1<x||1<u)){var a=this.createPageSelector(x,u);k.body.appendChild(a);if(mxClient.IS_IE&&null==k.documentMode||
-5==k.documentMode||8==k.documentMode||7==k.documentMode){a.style.position="absolute";var b=function(){a.style.top=(k.body.scrollTop||k.documentElement.scrollTop)+10+"px"};mxEvent.addListener(this.wnd,"scroll",function(a){b()});mxEvent.addListener(this.wnd,"resize",function(a){b()})}}}),A=mxUtils.bind(this,function(a,b){null!=this.borderColor&&(a.style.borderColor=this.borderColor,a.style.borderStyle="solid",a.style.borderWidth="1px");a.style.background=this.backgroundColor;if(c||b)a.style.pageBreakAfter=
-"always";if(g&&(mxClient.IS_IE||11<=document.documentMode||mxClient.IS_EDGE))k.writeln(a.outerHTML),a.parentNode.removeChild(a);else if(mxClient.IS_IE||11<=document.documentMode||mxClient.IS_EDGE){var d=k.createElement("div");d.innerHTML=a.outerHTML;d=d.getElementsByTagName("div")[0];k.body.appendChild(d);a.parentNode.removeChild(a)}else a.parentNode.removeChild(a),k.body.appendChild(a);(c||b)&&this.addPageBreak(k)}),z=this.getCoverPages(this.pageFormat.width,this.pageFormat.height);if(null!=z)for(var v=
-0;v<z.length;v++)A(z[v],!0);for(var B=this.getAppendices(this.pageFormat.width,this.pageFormat.height),v=0;v<x;v++){var C=v*t/this.scale-this.y0/this.scale+(m.y-q.y*n)/n;for(a=0;a<u;a++){if(null==this.wnd)return null;var E=a*r/this.scale-this.x0/this.scale+(m.x-q.x*n)/n,G=v*u+a+1,J=new mxRectangle(E,C,r,t),f=this.renderPage(this.pageFormat.width,this.pageFormat.height,0,0,mxUtils.bind(this,function(a){this.addGraphFragment(-E,-C,this.scale,G,a,J);this.printBackgroundImage&&this.insertBackgroundImage(a,
--E,-C)}),G);f.setAttribute("id","mxPage-"+G);A(f,null!=B||v<x-1||a<u-1)}}if(null!=B)for(v=0;v<B.length;v++)A(B[v],v<B.length-1);g&&!d&&(this.closeDocument(),y());this.wnd.focus()}catch(D){null!=f&&null!=f.parentNode&&f.parentNode.removeChild(f)}finally{this.graph.cellRenderer.initializeOverlay=e}return this.wnd};mxPrintPreview.prototype.addPageBreak=function(a){var b=a.createElement("hr");b.className="mxPageBreak";a.body.appendChild(b)};
+5==k.documentMode||8==k.documentMode||7==k.documentMode){a.style.position="absolute";var b=function(){a.style.top=(k.body.scrollTop||k.documentElement.scrollTop)+10+"px"};mxEvent.addListener(this.wnd,"scroll",function(a){b()});mxEvent.addListener(this.wnd,"resize",function(a){b()})}}}),B=mxUtils.bind(this,function(a,b){null!=this.borderColor&&(a.style.borderColor=this.borderColor,a.style.borderStyle="solid",a.style.borderWidth="1px");a.style.background=this.backgroundColor;if(c||b)a.style.pageBreakAfter=
+"always";if(g&&(mxClient.IS_IE||11<=document.documentMode||mxClient.IS_EDGE))k.writeln(a.outerHTML),a.parentNode.removeChild(a);else if(mxClient.IS_IE||11<=document.documentMode||mxClient.IS_EDGE){var d=k.createElement("div");d.innerHTML=a.outerHTML;d=d.getElementsByTagName("div")[0];k.body.appendChild(d);a.parentNode.removeChild(a)}else a.parentNode.removeChild(a),k.body.appendChild(a);(c||b)&&this.addPageBreak(k)}),A=this.getCoverPages(this.pageFormat.width,this.pageFormat.height);if(null!=A)for(var z=
+0;z<A.length;z++)B(A[z],!0);for(var C=this.getAppendices(this.pageFormat.width,this.pageFormat.height),z=0;z<x;z++){var v=z*t/this.scale-this.y0/this.scale+(m.y-q.y*n)/n;for(a=0;a<u;a++){if(null==this.wnd)return null;var D=a*r/this.scale-this.x0/this.scale+(m.x-q.x*n)/n,G=z*u+a+1,J=new mxRectangle(D,v,r,t),f=this.renderPage(this.pageFormat.width,this.pageFormat.height,0,0,mxUtils.bind(this,function(a){this.addGraphFragment(-D,-v,this.scale,G,a,J);this.printBackgroundImage&&this.insertBackgroundImage(a,
+-D,-v)}),G);f.setAttribute("id","mxPage-"+G);B(f,null!=C||z<x-1||a<u-1)}}if(null!=C)for(z=0;z<C.length;z++)B(C[z],z<C.length-1);g&&!d&&(this.closeDocument(),y());this.wnd.focus()}catch(E){null!=f&&null!=f.parentNode&&f.parentNode.removeChild(f)}finally{this.graph.cellRenderer.initializeOverlay=e}return this.wnd};mxPrintPreview.prototype.addPageBreak=function(a){var b=a.createElement("hr");b.className="mxPageBreak";a.body.appendChild(b)};
 mxPrintPreview.prototype.closeDocument=function(){try{if(null!=this.wnd&&null!=this.wnd.document){var a=this.wnd.document;this.writePostfix(a);a.writeln("</body>");a.writeln("</html>");a.close();mxEvent.release(a.body)}}catch(b){}};
 mxPrintPreview.prototype.writeHead=function(a,b){null!=this.title&&a.writeln("<title>"+this.title+"</title>");mxClient.IS_VML&&a.writeln('<style type="text/css">v\\:*{behavior:url(#default#VML)}o\\:*{behavior:url(#default#VML)}</style>');mxClient.link("stylesheet",mxClient.basePath+"/css/common.css",a);a.writeln('<style type="text/css">');a.writeln("@media print {");a.writeln("  * { -webkit-print-color-adjust: exact; }");a.writeln("  table.mxPageSelector { display: none; }");a.writeln("  hr.mxPageBreak { display: none; }");
 a.writeln("}");a.writeln("@media screen {");a.writeln("  table.mxPageSelector { position: fixed; right: 10px; top: 10px;font-family: Arial; font-size:10pt; border: solid 1px darkgray;background: white; border-collapse:collapse; }");a.writeln("  table.mxPageSelector td { border: solid 1px gray; padding:4px; }");a.writeln("  body.mxPage { background: gray; }");a.writeln("}");null!=b&&a.writeln(b);a.writeln("</style>")};mxPrintPreview.prototype.writePostfix=function(a){};
@@ -966,8 +966,8 @@ b-2*this.border+"px",l.style.overflow="hidden",!mxClient.IS_IE||null!=f.document
 mxPrintPreview.prototype.getRoot=function(){var a=this.graph.view.currentRoot;null==a&&(a=this.graph.getModel().getRoot());return a};
 mxPrintPreview.prototype.addGraphFragment=function(a,b,c,d,e,f){var g=this.graph.getView();d=this.graph.container;this.graph.container=e;var k=g.getCanvas(),l=g.getBackgroundPane(),m=g.getDrawPane(),n=g.getOverlayPane(),p=c;if(this.graph.dialect==mxConstants.DIALECT_SVG){if(g.createSvg(),!mxClient.NO_FO){var q=g.getDrawPane().parentNode;q.getAttribute("transform");q.setAttribute("transformOrigin","0 0");q.setAttribute("transform","scale("+c+","+c+")translate("+a+","+b+")");c=1;b=a=0}}else this.graph.dialect==
 mxConstants.DIALECT_VML?g.createVml():g.createHtml();q=g.isEventsEnabled();g.setEventsEnabled(!1);var r=this.graph.isEnabled();this.graph.setEnabled(!1);var t=g.getTranslate();g.translate=new mxPoint(a,b);var u=this.graph.cellRenderer.redraw,x=g.states;a=g.scale;if(this.clipping){var y=new mxRectangle((f.x+t.x)*a,(f.y+t.y)*a,f.width*a/p,f.height*a/p);this.graph.cellRenderer.redraw=function(a,b,c){if(null!=a){var d=x.get(a.cell);if(null!=d&&(d=g.getBoundingBox(d,!1),null!=d&&!mxUtils.intersects(y,
-d)))return}u.apply(this,arguments)}}a=null;try{var A=[this.getRoot()];a=new mxTemporaryCellStates(g,c,A,null,mxUtils.bind(this,function(a){return this.getLinkForCellState(a)}))}finally{if(mxClient.IS_IE)g.overlayPane.innerHTML="",g.canvas.style.overflow="hidden",g.canvas.style.position="relative",g.canvas.style.top=this.marginTop+"px",g.canvas.style.width=f.width+"px",g.canvas.style.height=f.height+"px";else for(c=e.firstChild;null!=c;)A=c.nextSibling,b=c.nodeName.toLowerCase(),"svg"==b?(c.style.overflow=
-"hidden",c.style.position="relative",c.style.top=this.marginTop+"px",c.setAttribute("width",f.width),c.setAttribute("height",f.height),c.style.width="",c.style.height=""):"default"!=c.style.cursor&&"div"!=b&&c.parentNode.removeChild(c),c=A;this.printBackgroundImage&&(e=e.getElementsByTagName("svg"),0<e.length&&(e[0].style.position="absolute"));g.overlayPane.parentNode.removeChild(g.overlayPane);this.graph.setEnabled(r);this.graph.container=d;this.graph.cellRenderer.redraw=u;g.canvas=k;g.backgroundPane=
+d)))return}u.apply(this,arguments)}}a=null;try{var B=[this.getRoot()];a=new mxTemporaryCellStates(g,c,B,null,mxUtils.bind(this,function(a){return this.getLinkForCellState(a)}))}finally{if(mxClient.IS_IE)g.overlayPane.innerHTML="",g.canvas.style.overflow="hidden",g.canvas.style.position="relative",g.canvas.style.top=this.marginTop+"px",g.canvas.style.width=f.width+"px",g.canvas.style.height=f.height+"px";else for(c=e.firstChild;null!=c;)B=c.nextSibling,b=c.nodeName.toLowerCase(),"svg"==b?(c.style.overflow=
+"hidden",c.style.position="relative",c.style.top=this.marginTop+"px",c.setAttribute("width",f.width),c.setAttribute("height",f.height),c.style.width="",c.style.height=""):"default"!=c.style.cursor&&"div"!=b&&c.parentNode.removeChild(c),c=B;this.printBackgroundImage&&(e=e.getElementsByTagName("svg"),0<e.length&&(e[0].style.position="absolute"));g.overlayPane.parentNode.removeChild(g.overlayPane);this.graph.setEnabled(r);this.graph.container=d;this.graph.cellRenderer.redraw=u;g.canvas=k;g.backgroundPane=
 l;g.drawPane=m;g.overlayPane=n;g.translate=t;a.destroy();g.setEventsEnabled(q)}};mxPrintPreview.prototype.getLinkForCellState=function(a){return this.graph.getLinkForCell(a.cell)};
 mxPrintPreview.prototype.insertBackgroundImage=function(a,b,c){var d=this.graph.backgroundImage;if(null!=d){var e=document.createElement("img");e.style.position="absolute";e.style.marginLeft=Math.round(b*this.scale)+"px";e.style.marginTop=Math.round(c*this.scale)+"px";e.setAttribute("width",Math.round(this.scale*d.width));e.setAttribute("height",Math.round(this.scale*d.height));e.src=d.src;a.insertBefore(e,a.firstChild)}};mxPrintPreview.prototype.getCoverPages=function(){return null};
 mxPrintPreview.prototype.getAppendices=function(){return null};mxPrintPreview.prototype.print=function(a){a=this.open(a);null!=a&&a.print()};mxPrintPreview.prototype.close=function(){null!=this.wnd&&(this.wnd.close(),this.wnd=null)};function mxStylesheet(){this.styles={};this.putDefaultVertexStyle(this.createDefaultVertexStyle());this.putDefaultEdgeStyle(this.createDefaultEdgeStyle())}
@@ -1086,31 +1086,32 @@ f),g=f.y<k||f.y>n,k=f.x<l||f.x>m;else l=Math.max(b.x,c.x),m=Math.min(b.x+b.width
 b.x=k.x,b.y=k.y);null!=g&&(c=new mxCellState,c.x=g.x,c.y=g.y);null!=b&&null!=c&&(a=Math.max(b.x,c.x),k=Math.min(b.x+b.width,c.x+c.width),a=null!=d?d.x:Math.round(k+(a-k)/2),k=f.getRoutingCenterY(b),f=f.getRoutingCenterY(c),null!=d&&(d.y>=b.y&&d.y<=b.y+b.height&&(k=d.y),d.y>=c.y&&d.y<=c.y+c.height&&(f=d.y)),mxUtils.contains(c,a,k)||mxUtils.contains(b,a,k)||e.push(new mxPoint(a,k)),mxUtils.contains(c,a,f)||mxUtils.contains(b,a,f)||e.push(new mxPoint(a,f)),1==e.length&&(null!=d?mxUtils.contains(c,a,
 d.y)||mxUtils.contains(b,a,d.y)||e.push(new mxPoint(a,d.y)):(f=Math.max(b.y,c.y),e.push(new mxPoint(a,f+(Math.min(b.y+b.height,c.y+c.height)-f)/2)))))},TopToBottom:function(a,b,c,d,e){var f=a.view;d=null!=d&&0<d.length?d[0]:null;var g=a.absolutePoints,k=g[0],g=g[g.length-1];null!=d&&(d=f.transformControlPoint(a,d));null!=k&&(b=new mxCellState,b.x=k.x,b.y=k.y);null!=g&&(c=new mxCellState,c.x=g.x,c.y=g.y);null!=b&&null!=c&&(k=Math.max(b.y,c.y),g=Math.min(b.y+b.height,c.y+c.height),a=f.getRoutingCenterX(b),
 null!=d&&d.x>=b.x&&d.x<=b.x+b.width&&(a=d.x),k=null!=d?d.y:Math.round(g+(k-g)/2),mxUtils.contains(c,a,k)||mxUtils.contains(b,a,k)||e.push(new mxPoint(a,k)),a=null!=d&&d.x>=c.x&&d.x<=c.x+c.width?d.x:f.getRoutingCenterX(c),mxUtils.contains(c,a,k)||mxUtils.contains(b,a,k)||e.push(new mxPoint(a,k)),1==e.length&&(null!=d&&1==e.length?mxUtils.contains(c,d.x,k)||mxUtils.contains(b,d.x,k)||e.push(new mxPoint(d.x,k)):(f=Math.max(b.x,c.x),e.push(new mxPoint(f+(Math.min(b.x+b.width,c.x+c.width)-f)/2,k)))))},
-SegmentConnector:function(a,b,c,d,e){function f(a){if(null==l||Math.abs(l.x-a.x)>=k||Math.abs(l.y-a.y)>=k)e.push(a),l=a;return l}var g=a.absolutePoints,k=Math.max(1,a.view.scale),l=0<e.length?e[0]:null,m=!0,n=null,p=g[0];null==p&&null!=b?p=new mxPoint(a.view.getRoutingCenterX(b),a.view.getRoutingCenterY(b)):null!=p&&(p=p.clone());p.x=Math.round(p.x);p.y=Math.round(p.y);var q=g.length-1;if(null!=d&&0<d.length){for(var n=[],r=0;r<d.length;r++){var t=a.view.transformControlPoint(a,d[r]);null!=t&&(t.x=
-Math.round(t.x),t.y=Math.round(t.y),n.push(t))}if(0==n.length)return;d=n;null!=p&&null!=d[0]&&(Math.abs(d[0].x-p.x)<k&&(d[0].x=p.x),Math.abs(d[0].y-p.y)<k&&(d[0].y=p.y));t=g[q];null!=t&&null!=d[d.length-1]&&(Math.abs(d[d.length-1].x-t.x)<k&&(d[d.length-1].x=t.x),Math.abs(d[d.length-1].y-t.y)<k&&(d[d.length-1].y=t.y));var n=d[0],u=b,x=g[0],y=!1,A=!1,y=n;null!=x&&(x.x=Math.round(x.x),x.y=Math.round(x.y),u=null);for(r=0;2>r;r++){var z=null!=x&&x.x==y.x,v=null!=x&&x.y==y.y,B=null!=u&&y.y>=u.y&&y.y<=u.y+
-u.height,u=null!=u&&y.x>=u.x&&y.x<=u.x+u.width,y=v||null==x&&B,A=z||null==x&&u;if(0!=r||!(y&&A||z&&v)){if(null!=x&&!v&&!z&&(B||u)){m=B?!1:!0;break}if(A||y){m=y;1==r&&(m=0==d.length%2?y:A);break}}u=c;x=g[q];null!=x&&(x.x=Math.round(x.x),x.y=Math.round(x.y),u=null);y=d[d.length-1];z&&v&&(d=d.slice(1))}m&&(null!=g[0]&&g[0].y!=n.y||null==g[0]&&null!=b&&(n.y<b.y||n.y>b.y+b.height))?f(new mxPoint(p.x,n.y)):!m&&(null!=g[0]&&g[0].x!=n.x||null==g[0]&&null!=b&&(n.x<b.x||n.x>b.x+b.width))&&f(new mxPoint(n.x,
-p.y));m?p.y=n.y:p.x=n.x;for(r=0;r<d.length;r++)m=!m,n=d[r],m?p.y=n.y:p.x=n.x,f(p.clone())}else n=p,m=!0;p=g[q];null==p&&null!=c&&(p=new mxPoint(a.view.getRoutingCenterX(c),a.view.getRoutingCenterY(c)));null!=p&&(p.x=Math.round(p.x),p.y=Math.round(p.y),null!=n&&(m&&(null!=g[q]&&g[q].y!=n.y||null==g[q]&&null!=c&&(n.y<c.y||n.y>c.y+c.height))?f(new mxPoint(p.x,n.y)):!m&&(null!=g[q]&&g[q].x!=n.x||null==g[q]&&null!=c&&(n.x<c.x||n.x>c.x+c.width))&&f(new mxPoint(n.x,p.y))));if(null==g[0]&&null!=b)for(;1<
-e.length&&null!=e[1]&&mxUtils.contains(b,e[1].x,e[1].y);)e.splice(1,1);if(null==g[q]&&null!=c)for(;1<e.length&&null!=e[e.length-1]&&mxUtils.contains(c,e[e.length-1].x,e[e.length-1].y);)e.splice(e.length-1,1);null!=t&&null!=e[e.length-1]&&Math.abs(t.x-e[e.length-1].x)<=k&&Math.abs(t.y-e[e.length-1].y)<=k&&(e.splice(e.length-1,1),null!=e[e.length-1]&&(Math.abs(e[e.length-1].x-t.x)<k&&(e[e.length-1].x=t.x),Math.abs(e[e.length-1].y-t.y)<k&&(e[e.length-1].y=t.y)))},orthBuffer:10,orthPointsFallback:!0,
-dirVectors:[[-1,0],[0,-1],[1,0],[0,1],[-1,0],[0,-1],[1,0]],wayPoints1:[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],routePatterns:[[[513,2308,2081,2562],[513,1090,514,2184,2114,2561],[513,1090,514,2564,2184,2562],[513,2308,2561,1090,514,2568,2308]],[[514,1057,513,2308,2081,2562],[514,2184,2114,2561],[514,2184,2562,1057,513,2564,2184],[514,1057,513,2568,2308,2561]],[[1090,514,1057,513,2308,2081,2562],[2114,2561],[1090,2562,1057,513,2564,2184],[1090,514,1057,513,2308,2561,
-2568]],[[2081,2562],[1057,513,1090,514,2184,2114,2561],[1057,513,1090,514,2184,2562,2564],[1057,2561,1090,514,2568,2308]]],inlineRoutePatterns:[[null,[2114,2568],null,null],[null,[514,2081,2114,2568],null,null],[null,[2114,2561],null,null],[[2081,2562],[1057,2114,2568],[2184,2562],null]],vertexSeperations:[],limits:[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]],LEFT_MASK:32,TOP_MASK:64,RIGHT_MASK:128,BOTTOM_MASK:256,LEFT:1,TOP:2,RIGHT:4,BOTTOM:8,SIDE_MASK:480,CENTER_MASK:512,SOURCE_MASK:1024,TARGET_MASK:2048,
-VERTEX_MASK:3072,getJettySize:function(a,b,c,d,e){b=mxUtils.getValue(a.style,e?mxConstants.STYLE_SOURCE_JETTY_SIZE:mxConstants.STYLE_TARGET_JETTY_SIZE,mxUtils.getValue(a.style,mxConstants.STYLE_JETTY_SIZE,mxEdgeStyle.orthBuffer));"auto"==b&&(mxUtils.getValue(a.style,e?mxConstants.STYLE_STARTARROW:mxConstants.STYLE_ENDARROW,mxConstants.NONE)!=mxConstants.NONE?(a=mxUtils.getNumber(a.style,e?mxConstants.STYLE_STARTSIZE:mxConstants.STYLE_ENDSIZE,mxConstants.DEFAULT_MARKERSIZE),b=Math.max(2,Math.ceil((a+
-mxEdgeStyle.orthBuffer)/mxEdgeStyle.orthBuffer))*mxEdgeStyle.orthBuffer):b=2*mxEdgeStyle.orthBuffer);return b},OrthConnector:function(a,b,c,d,e){var f=a.view.graph,g=null==b?!1:f.getModel().isEdge(b.cell),k=null==c?!1:f.getModel().isEdge(c.cell),f=a.absolutePoints,l=f[0],m=f[f.length-1],n=null!=b?b.x:l.x,p=null!=b?b.y:l.y,q=null!=b?b.width:0,r=null!=b?b.height:0,t=null!=c?c.x:m.x,u=null!=c?c.y:m.y,x=null!=c?c.width:0,y=null!=c?c.height:0,f=a.view.scale*mxEdgeStyle.getJettySize(a,b,c,d,!0),A=a.view.scale*
-mxEdgeStyle.getJettySize(a,b,c,d,!1);null!=b&&c==b&&(f=A=Math.max(f,A));var z=A+f,v=!1;if(null!=l&&null!=m)var v=m.x-l.x,B=m.y-l.y,v=v*v+B*B<z*z;if(v||mxEdgeStyle.orthPointsFallback&&null!=d&&0<d.length||g||k)mxEdgeStyle.SegmentConnector(a,b,c,d,e);else{d=[mxConstants.DIRECTION_MASK_ALL,mxConstants.DIRECTION_MASK_ALL];null!=b&&(d[0]=mxUtils.getPortConstraints(b,a,!0,mxConstants.DIRECTION_MASK_ALL),v=mxUtils.getValue(b.style,mxConstants.STYLE_ROTATION,0),0!=v&&(v=mxUtils.getBoundingBox(new mxRectangle(n,
-p,q,r),v),n=v.x,p=v.y,q=v.width,r=v.height));null!=c&&(d[1]=mxUtils.getPortConstraints(c,a,!1,mxConstants.DIRECTION_MASK_ALL),v=mxUtils.getValue(c.style,mxConstants.STYLE_ROTATION,0),0!=v&&(v=mxUtils.getBoundingBox(new mxRectangle(t,u,x,y),v),t=v.x,u=v.y,x=v.width,y=v.height));n=Math.round(10*n)/10;p=Math.round(10*p)/10;q=Math.round(10*q)/10;r=Math.round(10*r)/10;t=Math.round(10*t)/10;u=Math.round(10*u)/10;x=Math.round(10*x)/10;y=Math.round(10*y)/10;a=[0,0];n=[[n,p,q,r],[t,u,x,y]];A=[f,A];for(v=0;2>
-v;v++)mxEdgeStyle.limits[v][1]=n[v][0]-A[v],mxEdgeStyle.limits[v][2]=n[v][1]-A[v],mxEdgeStyle.limits[v][4]=n[v][0]+n[v][2]+A[v],mxEdgeStyle.limits[v][8]=n[v][1]+n[v][3]+A[v];A=n[0][1]+n[0][3]/2;p=n[1][1]+n[1][3]/2;v=n[0][0]+n[0][2]/2-(n[1][0]+n[1][2]/2);B=A-p;A=0;0>v?A=0>B?2:1:0>=B&&(A=3,0==v&&(A=2));p=null;null!=b&&(p=l);b=[[.5,.5],[.5,.5]];for(v=0;2>v;v++)null!=p&&(b[v][0]=(p.x-n[v][0])/n[v][2],1>=Math.abs(p.x-n[v][0])?a[v]=mxConstants.DIRECTION_MASK_WEST:1>=Math.abs(p.x-n[v][0]-n[v][2])&&(a[v]=
-mxConstants.DIRECTION_MASK_EAST),b[v][1]=(p.y-n[v][1])/n[v][3],1>=Math.abs(p.y-n[v][1])?a[v]=mxConstants.DIRECTION_MASK_NORTH:1>=Math.abs(p.y-n[v][1]-n[v][3])&&(a[v]=mxConstants.DIRECTION_MASK_SOUTH)),p=null,null!=c&&(p=m);v=n[0][1]-(n[1][1]+n[1][3]);m=n[0][0]-(n[1][0]+n[1][2]);p=n[1][1]-(n[0][1]+n[0][3]);q=n[1][0]-(n[0][0]+n[0][2]);mxEdgeStyle.vertexSeperations[1]=Math.max(m-z,0);mxEdgeStyle.vertexSeperations[2]=Math.max(v-z,0);mxEdgeStyle.vertexSeperations[4]=Math.max(p-z,0);mxEdgeStyle.vertexSeperations[3]=
-Math.max(q-z,0);z=[];c=[];l=[];c[0]=m>=q?mxConstants.DIRECTION_MASK_WEST:mxConstants.DIRECTION_MASK_EAST;l[0]=v>=p?mxConstants.DIRECTION_MASK_NORTH:mxConstants.DIRECTION_MASK_SOUTH;c[1]=mxUtils.reversePortConstraints(c[0]);l[1]=mxUtils.reversePortConstraints(l[0]);m=m>=q?m:q;p=v>=p?v:p;q=[[0,0],[0,0]];r=!1;for(v=0;2>v;v++)0==a[v]&&(0==(c[v]&d[v])&&(c[v]=mxUtils.reversePortConstraints(c[v])),0==(l[v]&d[v])&&(l[v]=mxUtils.reversePortConstraints(l[v])),q[v][0]=l[v],q[v][1]=c[v]);0<p&&0<m&&(0<(c[0]&d[0])&&
-0<(l[1]&d[1])?(q[0][0]=c[0],q[0][1]=l[0],q[1][0]=l[1],q[1][1]=c[1],r=!0):0<(l[0]&d[0])&&0<(c[1]&d[1])&&(q[0][0]=l[0],q[0][1]=c[0],q[1][0]=c[1],q[1][1]=l[1],r=!0));0<p&&!r&&(q[0][0]=l[0],q[0][1]=c[0],q[1][0]=l[1],q[1][1]=c[1],r=!0);0<m&&!r&&(q[0][0]=c[0],q[0][1]=l[0],q[1][0]=c[1],q[1][1]=l[1]);for(v=0;2>v;v++)0==a[v]&&(0==(q[v][0]&d[v])&&(q[v][0]=q[v][1]),z[v]=q[v][0]&d[v],z[v]|=(q[v][1]&d[v])<<8,z[v]|=(q[1-v][v]&d[v])<<16,z[v]|=(q[1-v][1-v]&d[v])<<24,0==(z[v]&15)&&(z[v]<<=8),0==(z[v]&3840)&&(z[v]=
-z[v]&15|z[v]>>8),0==(z[v]&983040)&&(z[v]=z[v]&65535|(z[v]&251658240)>>8),a[v]=z[v]&15,d[v]==mxConstants.DIRECTION_MASK_WEST||d[v]==mxConstants.DIRECTION_MASK_NORTH||d[v]==mxConstants.DIRECTION_MASK_EAST||d[v]==mxConstants.DIRECTION_MASK_SOUTH)&&(a[v]=d[v]);d=a[0]==mxConstants.DIRECTION_MASK_EAST?3:a[0];z=a[1]==mxConstants.DIRECTION_MASK_EAST?3:a[1];d-=A;z-=A;1>d&&(d+=4);1>z&&(z+=4);d=mxEdgeStyle.routePatterns[d-1][z-1];mxEdgeStyle.wayPoints1[0][0]=n[0][0];mxEdgeStyle.wayPoints1[0][1]=n[0][1];switch(a[0]){case mxConstants.DIRECTION_MASK_WEST:mxEdgeStyle.wayPoints1[0][0]-=
-f;mxEdgeStyle.wayPoints1[0][1]+=b[0][1]*n[0][3];break;case mxConstants.DIRECTION_MASK_SOUTH:mxEdgeStyle.wayPoints1[0][0]+=b[0][0]*n[0][2];mxEdgeStyle.wayPoints1[0][1]+=n[0][3]+f;break;case mxConstants.DIRECTION_MASK_EAST:mxEdgeStyle.wayPoints1[0][0]+=n[0][2]+f;mxEdgeStyle.wayPoints1[0][1]+=b[0][1]*n[0][3];break;case mxConstants.DIRECTION_MASK_NORTH:mxEdgeStyle.wayPoints1[0][0]+=b[0][0]*n[0][2],mxEdgeStyle.wayPoints1[0][1]-=f}f=0;c=z=0<(a[0]&(mxConstants.DIRECTION_MASK_EAST|mxConstants.DIRECTION_MASK_WEST))?
-0:1;for(v=0;v<d.length;v++)l=d[v]&15,r=l==mxConstants.DIRECTION_MASK_EAST?3:l,r+=A,4<r&&(r-=4),m=mxEdgeStyle.dirVectors[r-1],l=0<r%2?0:1,l!=z&&(f++,mxEdgeStyle.wayPoints1[f][0]=mxEdgeStyle.wayPoints1[f-1][0],mxEdgeStyle.wayPoints1[f][1]=mxEdgeStyle.wayPoints1[f-1][1]),t=0<(d[v]&mxEdgeStyle.TARGET_MASK),u=0<(d[v]&mxEdgeStyle.SOURCE_MASK),p=(d[v]&mxEdgeStyle.SIDE_MASK)>>5,p<<=A,15<p&&(p>>=4),q=0<(d[v]&mxEdgeStyle.CENTER_MASK),(u||t)&&9>p?(r=u?0:1,p=q&&0==l?n[r][0]+b[r][0]*n[r][2]:q?n[r][1]+b[r][1]*
-n[r][3]:mxEdgeStyle.limits[r][p],0==l?(p=(p-mxEdgeStyle.wayPoints1[f][0])*m[0],0<p&&(mxEdgeStyle.wayPoints1[f][0]+=m[0]*p)):(p=(p-mxEdgeStyle.wayPoints1[f][1])*m[1],0<p&&(mxEdgeStyle.wayPoints1[f][1]+=m[1]*p))):q&&(mxEdgeStyle.wayPoints1[f][0]+=m[0]*Math.abs(mxEdgeStyle.vertexSeperations[r]/2),mxEdgeStyle.wayPoints1[f][1]+=m[1]*Math.abs(mxEdgeStyle.vertexSeperations[r]/2)),0<f&&mxEdgeStyle.wayPoints1[f][l]==mxEdgeStyle.wayPoints1[f-1][l]?f--:z=l;for(v=0;v<=f&&(v!=f||((0<(a[1]&(mxConstants.DIRECTION_MASK_EAST|
-mxConstants.DIRECTION_MASK_WEST))?0:1)==c?0:1)==(f+1)%2);v++)e.push(new mxPoint(Math.round(mxEdgeStyle.wayPoints1[v][0]),Math.round(mxEdgeStyle.wayPoints1[v][1])));for(a=1;a<e.length;)null==e[a-1]||null==e[a]||e[a-1].x!=e[a].x||e[a-1].y!=e[a].y?a++:e.splice(a,1)}},getRoutePattern:function(a,b,c,d){var e=a[0]==mxConstants.DIRECTION_MASK_EAST?3:a[0];a=a[1]==mxConstants.DIRECTION_MASK_EAST?3:a[1];e-=b;a-=b;1>e&&(e+=4);1>a&&(a+=4);b=routePatterns[e-1][a-1];0!=c&&0!=d||null==inlineRoutePatterns[e-1][a-
-1]||(b=inlineRoutePatterns[e-1][a-1]);return b}},mxStyleRegistry={values:[],putValue:function(a,b){mxStyleRegistry.values[a]=b},getValue:function(a){return mxStyleRegistry.values[a]},getName:function(a){for(var b in mxStyleRegistry.values)if(mxStyleRegistry.values[b]==a)return b;return null}};mxStyleRegistry.putValue(mxConstants.EDGESTYLE_ELBOW,mxEdgeStyle.ElbowConnector);mxStyleRegistry.putValue(mxConstants.EDGESTYLE_ENTITY_RELATION,mxEdgeStyle.EntityRelation);
-mxStyleRegistry.putValue(mxConstants.EDGESTYLE_LOOP,mxEdgeStyle.Loop);mxStyleRegistry.putValue(mxConstants.EDGESTYLE_SIDETOSIDE,mxEdgeStyle.SideToSide);mxStyleRegistry.putValue(mxConstants.EDGESTYLE_TOPTOBOTTOM,mxEdgeStyle.TopToBottom);mxStyleRegistry.putValue(mxConstants.EDGESTYLE_ORTHOGONAL,mxEdgeStyle.OrthConnector);mxStyleRegistry.putValue(mxConstants.EDGESTYLE_SEGMENT,mxEdgeStyle.SegmentConnector);mxStyleRegistry.putValue(mxConstants.PERIMETER_ELLIPSE,mxPerimeter.EllipsePerimeter);
-mxStyleRegistry.putValue(mxConstants.PERIMETER_RECTANGLE,mxPerimeter.RectanglePerimeter);mxStyleRegistry.putValue(mxConstants.PERIMETER_RHOMBUS,mxPerimeter.RhombusPerimeter);mxStyleRegistry.putValue(mxConstants.PERIMETER_TRIANGLE,mxPerimeter.TrianglePerimeter);mxStyleRegistry.putValue(mxConstants.PERIMETER_HEXAGON,mxPerimeter.HexagonPerimeter);function mxGraphView(a){this.graph=a;this.translate=new mxPoint;this.graphBounds=new mxRectangle;this.states=new mxDictionary}mxGraphView.prototype=new mxEventSource;
-mxGraphView.prototype.constructor=mxGraphView;mxGraphView.prototype.EMPTY_POINT=new mxPoint;mxGraphView.prototype.doneResource="none"!=mxClient.language?"done":"";mxGraphView.prototype.updatingDocumentResource="none"!=mxClient.language?"updatingDocument":"";mxGraphView.prototype.allowEval=!1;mxGraphView.prototype.captureDocumentGesture=!0;mxGraphView.prototype.optimizeVmlReflows=!0;mxGraphView.prototype.rendering=!0;mxGraphView.prototype.graph=null;mxGraphView.prototype.currentRoot=null;
-mxGraphView.prototype.graphBounds=null;mxGraphView.prototype.scale=1;mxGraphView.prototype.translate=null;mxGraphView.prototype.states=null;mxGraphView.prototype.updateStyle=!1;mxGraphView.prototype.lastNode=null;mxGraphView.prototype.lastHtmlNode=null;mxGraphView.prototype.lastForegroundNode=null;mxGraphView.prototype.lastForegroundHtmlNode=null;mxGraphView.prototype.getGraphBounds=function(){return this.graphBounds};mxGraphView.prototype.setGraphBounds=function(a){this.graphBounds=a};
+SegmentConnector:function(a,b,c,d,e){function f(b){b.x=Math.round(b.x*a.view.scale*10)/10;b.y=Math.round(b.y*a.view.scale*10)/10;if(null==k||1<=Math.abs(k.x-b.x)||Math.abs(k.y-b.y)>=Math.max(1,a.view.scale))e.push(b),k=b;return k}var g=mxEdgeStyle.scalePointArray(a.absolutePoints,a.view.scale);b=mxEdgeStyle.scaleCellState(b,a.view.scale);c=mxEdgeStyle.scaleCellState(c,a.view.scale);var k=0<e.length?e[0]:null,l=!0,m=null,n=g[0];null==n&&null!=b?n=new mxPoint(a.view.getRoutingCenterX(b),a.view.getRoutingCenterY(b)):
+null!=n&&(n=n.clone());var p=g.length-1;if(null!=d&&0<d.length){for(var q=[],r=0;r<d.length;r++){var t=a.view.transformControlPoint(a,d[r],!0);null!=t&&q.push(t)}if(0==q.length)return;null!=n&&null!=q[0]&&(1>Math.abs(q[0].x-n.x)&&(q[0].x=n.x),1>Math.abs(q[0].y-n.y)&&(q[0].y=n.y));t=g[p];null!=t&&null!=q[q.length-1]&&(1>Math.abs(q[q.length-1].x-t.x)&&(q[q.length-1].x=t.x),1>Math.abs(q[q.length-1].y-t.y)&&(q[q.length-1].y=t.y));var m=q[0],u=b;d=g[0];var x=!1,y=!1,x=m;null!=d&&(u=null);for(r=0;2>r;r++){var B=
+null!=d&&d.x==x.x,A=null!=d&&d.y==x.y,z=null!=u&&x.y>=u.y&&x.y<=u.y+u.height,u=null!=u&&x.x>=u.x&&x.x<=u.x+u.width,x=A||null==d&&z,y=B||null==d&&u;if(0!=r||!(x&&y||B&&A)){if(null!=d&&!A&&!B&&(z||u)){l=z?!1:!0;break}if(y||x){l=x;1==r&&(l=0==q.length%2?x:y);break}}u=c;d=g[p];null!=d&&(u=null);x=q[q.length-1];B&&A&&(q=q.slice(1))}l&&(null!=g[0]&&g[0].y!=m.y||null==g[0]&&null!=b&&(m.y<b.y||m.y>b.y+b.height))?f(new mxPoint(n.x,m.y)):!l&&(null!=g[0]&&g[0].x!=m.x||null==g[0]&&null!=b&&(m.x<b.x||m.x>b.x+
+b.width))&&f(new mxPoint(m.x,n.y));l?n.y=m.y:n.x=m.x;for(r=0;r<q.length;r++)l=!l,m=q[r],l?n.y=m.y:n.x=m.x,f(n.clone())}else m=n,l=!0;n=g[p];null==n&&null!=c&&(n=new mxPoint(a.view.getRoutingCenterX(c),a.view.getRoutingCenterY(c)));null!=n&&null!=m&&(l&&(null!=g[p]&&g[p].y!=m.y||null==g[p]&&null!=c&&(m.y<c.y||m.y>c.y+c.height))?f(new mxPoint(n.x,m.y)):!l&&(null!=g[p]&&g[p].x!=m.x||null==g[p]&&null!=c&&(m.x<c.x||m.x>c.x+c.width))&&f(new mxPoint(m.x,n.y)));if(null==g[0]&&null!=b)for(;1<e.length&&null!=
+e[1]&&mxUtils.contains(b,e[1].x,e[1].y);)e.splice(1,1);if(null==g[p]&&null!=c)for(;1<e.length&&null!=e[e.length-1]&&mxUtils.contains(c,e[e.length-1].x,e[e.length-1].y);)e.splice(e.length-1,1);null!=t&&null!=e[e.length-1]&&1>=Math.abs(t.x-e[e.length-1].x)&&1>=Math.abs(t.y-e[e.length-1].y)&&(e.splice(e.length-1,1),null!=e[e.length-1]&&(1>Math.abs(e[e.length-1].x-t.x)&&(e[e.length-1].x=t.x),1>Math.abs(e[e.length-1].y-t.y)&&(e[e.length-1].y=t.y)))},orthBuffer:10,orthPointsFallback:!0,dirVectors:[[-1,
+0],[0,-1],[1,0],[0,1],[-1,0],[0,-1],[1,0]],wayPoints1:[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],routePatterns:[[[513,2308,2081,2562],[513,1090,514,2184,2114,2561],[513,1090,514,2564,2184,2562],[513,2308,2561,1090,514,2568,2308]],[[514,1057,513,2308,2081,2562],[514,2184,2114,2561],[514,2184,2562,1057,513,2564,2184],[514,1057,513,2568,2308,2561]],[[1090,514,1057,513,2308,2081,2562],[2114,2561],[1090,2562,1057,513,2564,2184],[1090,514,1057,513,2308,2561,2568]],[[2081,
+2562],[1057,513,1090,514,2184,2114,2561],[1057,513,1090,514,2184,2562,2564],[1057,2561,1090,514,2568,2308]]],inlineRoutePatterns:[[null,[2114,2568],null,null],[null,[514,2081,2114,2568],null,null],[null,[2114,2561],null,null],[[2081,2562],[1057,2114,2568],[2184,2562],null]],vertexSeperations:[],limits:[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]],LEFT_MASK:32,TOP_MASK:64,RIGHT_MASK:128,BOTTOM_MASK:256,LEFT:1,TOP:2,RIGHT:4,BOTTOM:8,SIDE_MASK:480,CENTER_MASK:512,SOURCE_MASK:1024,TARGET_MASK:2048,VERTEX_MASK:3072,
+getJettySize:function(a,b){var c=mxUtils.getValue(a.style,b?mxConstants.STYLE_SOURCE_JETTY_SIZE:mxConstants.STYLE_TARGET_JETTY_SIZE,mxUtils.getValue(a.style,mxConstants.STYLE_JETTY_SIZE,mxEdgeStyle.orthBuffer));"auto"==c&&(mxUtils.getValue(a.style,b?mxConstants.STYLE_STARTARROW:mxConstants.STYLE_ENDARROW,mxConstants.NONE)!=mxConstants.NONE?(c=mxUtils.getNumber(a.style,b?mxConstants.STYLE_STARTSIZE:mxConstants.STYLE_ENDSIZE,mxConstants.DEFAULT_MARKERSIZE),c=Math.max(2,Math.ceil((c+mxEdgeStyle.orthBuffer)/
+mxEdgeStyle.orthBuffer))*mxEdgeStyle.orthBuffer):c=2*mxEdgeStyle.orthBuffer);return c},scalePointArray:function(a,b){var c=[];if(null!=a)for(var d=0;d<a.length;d++)if(null!=a[d]){var e=new mxPoint(Math.round(a[d].x/b*10)/10,Math.round(a[d].y/b*10)/10);c[d]=e}else c[d]=null;else c=null;return c},scaleCellState:function(a,b){var c;null!=a?(c=a.clone(),c.setRect(Math.round(a.x/b*10)/10,Math.round(a.y/b*10)/10,Math.round(a.width/b*10)/10,Math.round(a.height/b*10)/10)):c=null;return c},OrthConnector:function(a,
+b,c,d,e){var f=a.view.graph,g=null==l?!1:f.getModel().isEdge(l.cell),k=null==m?!1:f.getModel().isEdge(m.cell),f=mxEdgeStyle.scalePointArray(a.absolutePoints,a.view.scale),l=mxEdgeStyle.scaleCellState(b,a.view.scale),m=mxEdgeStyle.scaleCellState(c,a.view.scale),n=f[0],p=f[f.length-1],q=null!=l?l.x:n.x,r=null!=l?l.y:n.y,t=null!=l?l.width:0,u=null!=l?l.height:0,x=null!=m?m.x:p.x,y=null!=m?m.y:p.y,B=null!=m?m.width:0,A=null!=m?m.height:0,f=mxEdgeStyle.getJettySize(a,!0),z=mxEdgeStyle.getJettySize(a,!1);
+null!=l&&m==l&&(f=z=Math.max(f,z));var C=z+f,v=!1;if(null!=n&&null!=p)var v=p.x-n.x,D=p.y-n.y,v=v*v+D*D<C*C;if(v||mxEdgeStyle.orthPointsFallback&&null!=d&&0<d.length||g||k)mxEdgeStyle.SegmentConnector(a,b,c,d,e);else{c=[mxConstants.DIRECTION_MASK_ALL,mxConstants.DIRECTION_MASK_ALL];null!=l&&(c[0]=mxUtils.getPortConstraints(l,a,!0,mxConstants.DIRECTION_MASK_ALL),b=mxUtils.getValue(l.style,mxConstants.STYLE_ROTATION,0),0!=b&&(b=mxUtils.getBoundingBox(new mxRectangle(q,r,t,u),b),q=b.x,r=b.y,t=b.width,
+u=b.height));null!=m&&(c[1]=mxUtils.getPortConstraints(m,a,!1,mxConstants.DIRECTION_MASK_ALL),b=mxUtils.getValue(m.style,mxConstants.STYLE_ROTATION,0),0!=b&&(b=mxUtils.getBoundingBox(new mxRectangle(x,y,B,A),b),x=b.x,y=b.y,B=b.width,A=b.height));b=[0,0];q=[[q,r,t,u],[x,y,B,A]];z=[f,z];for(v=0;2>v;v++)mxEdgeStyle.limits[v][1]=q[v][0]-z[v],mxEdgeStyle.limits[v][2]=q[v][1]-z[v],mxEdgeStyle.limits[v][4]=q[v][0]+q[v][2]+z[v],mxEdgeStyle.limits[v][8]=q[v][1]+q[v][3]+z[v];z=q[0][1]+q[0][3]/2;r=q[1][1]+q[1][3]/
+2;v=q[0][0]+q[0][2]/2-(q[1][0]+q[1][2]/2);D=z-r;z=0;0>v?z=0>D?2:1:0>=D&&(z=3,0==v&&(z=2));r=null;null!=l&&(r=n);l=[[.5,.5],[.5,.5]];for(v=0;2>v;v++)null!=r&&(l[v][0]=(r.x-q[v][0])/q[v][2],1>=Math.abs(r.x-q[v][0])?b[v]=mxConstants.DIRECTION_MASK_WEST:1>=Math.abs(r.x-q[v][0]-q[v][2])&&(b[v]=mxConstants.DIRECTION_MASK_EAST),l[v][1]=(r.y-q[v][1])/q[v][3],1>=Math.abs(r.y-q[v][1])?b[v]=mxConstants.DIRECTION_MASK_NORTH:1>=Math.abs(r.y-q[v][1]-q[v][3])&&(b[v]=mxConstants.DIRECTION_MASK_SOUTH)),r=null,null!=
+m&&(r=p);v=q[0][1]-(q[1][1]+q[1][3]);p=q[0][0]-(q[1][0]+q[1][2]);r=q[1][1]-(q[0][1]+q[0][3]);t=q[1][0]-(q[0][0]+q[0][2]);mxEdgeStyle.vertexSeperations[1]=Math.max(p-C,0);mxEdgeStyle.vertexSeperations[2]=Math.max(v-C,0);mxEdgeStyle.vertexSeperations[4]=Math.max(r-C,0);mxEdgeStyle.vertexSeperations[3]=Math.max(t-C,0);C=[];m=[];n=[];m[0]=p>=t?mxConstants.DIRECTION_MASK_WEST:mxConstants.DIRECTION_MASK_EAST;n[0]=v>=r?mxConstants.DIRECTION_MASK_NORTH:mxConstants.DIRECTION_MASK_SOUTH;m[1]=mxUtils.reversePortConstraints(m[0]);
+n[1]=mxUtils.reversePortConstraints(n[0]);p=p>=t?p:t;r=v>=r?v:r;t=[[0,0],[0,0]];u=!1;for(v=0;2>v;v++)0==b[v]&&(0==(m[v]&c[v])&&(m[v]=mxUtils.reversePortConstraints(m[v])),0==(n[v]&c[v])&&(n[v]=mxUtils.reversePortConstraints(n[v])),t[v][0]=n[v],t[v][1]=m[v]);0<r&&0<p&&(0<(m[0]&c[0])&&0<(n[1]&c[1])?(t[0][0]=m[0],t[0][1]=n[0],t[1][0]=n[1],t[1][1]=m[1],u=!0):0<(n[0]&c[0])&&0<(m[1]&c[1])&&(t[0][0]=n[0],t[0][1]=m[0],t[1][0]=m[1],t[1][1]=n[1],u=!0));0<r&&!u&&(t[0][0]=n[0],t[0][1]=m[0],t[1][0]=n[1],t[1][1]=
+m[1],u=!0);0<p&&!u&&(t[0][0]=m[0],t[0][1]=n[0],t[1][0]=m[1],t[1][1]=n[1]);for(v=0;2>v;v++)0==b[v]&&(0==(t[v][0]&c[v])&&(t[v][0]=t[v][1]),C[v]=t[v][0]&c[v],C[v]|=(t[v][1]&c[v])<<8,C[v]|=(t[1-v][v]&c[v])<<16,C[v]|=(t[1-v][1-v]&c[v])<<24,0==(C[v]&15)&&(C[v]<<=8),0==(C[v]&3840)&&(C[v]=C[v]&15|C[v]>>8),0==(C[v]&983040)&&(C[v]=C[v]&65535|(C[v]&251658240)>>8),b[v]=C[v]&15,c[v]==mxConstants.DIRECTION_MASK_WEST||c[v]==mxConstants.DIRECTION_MASK_NORTH||c[v]==mxConstants.DIRECTION_MASK_EAST||c[v]==mxConstants.DIRECTION_MASK_SOUTH)&&
+(b[v]=c[v]);c=b[0]==mxConstants.DIRECTION_MASK_EAST?3:b[0];C=b[1]==mxConstants.DIRECTION_MASK_EAST?3:b[1];c-=z;C-=z;1>c&&(c+=4);1>C&&(C+=4);c=mxEdgeStyle.routePatterns[c-1][C-1];mxEdgeStyle.wayPoints1[0][0]=q[0][0];mxEdgeStyle.wayPoints1[0][1]=q[0][1];switch(b[0]){case mxConstants.DIRECTION_MASK_WEST:mxEdgeStyle.wayPoints1[0][0]-=f;mxEdgeStyle.wayPoints1[0][1]+=l[0][1]*q[0][3];break;case mxConstants.DIRECTION_MASK_SOUTH:mxEdgeStyle.wayPoints1[0][0]+=l[0][0]*q[0][2];mxEdgeStyle.wayPoints1[0][1]+=q[0][3]+
+f;break;case mxConstants.DIRECTION_MASK_EAST:mxEdgeStyle.wayPoints1[0][0]+=q[0][2]+f;mxEdgeStyle.wayPoints1[0][1]+=l[0][1]*q[0][3];break;case mxConstants.DIRECTION_MASK_NORTH:mxEdgeStyle.wayPoints1[0][0]+=l[0][0]*q[0][2],mxEdgeStyle.wayPoints1[0][1]-=f}f=0;m=C=0<(b[0]&(mxConstants.DIRECTION_MASK_EAST|mxConstants.DIRECTION_MASK_WEST))?0:1;for(v=0;v<c.length;v++)n=c[v]&15,u=n==mxConstants.DIRECTION_MASK_EAST?3:n,u+=z,4<u&&(u-=4),p=mxEdgeStyle.dirVectors[u-1],n=0<u%2?0:1,n!=C&&(f++,mxEdgeStyle.wayPoints1[f][0]=
+mxEdgeStyle.wayPoints1[f-1][0],mxEdgeStyle.wayPoints1[f][1]=mxEdgeStyle.wayPoints1[f-1][1]),x=0<(c[v]&mxEdgeStyle.TARGET_MASK),y=0<(c[v]&mxEdgeStyle.SOURCE_MASK),r=(c[v]&mxEdgeStyle.SIDE_MASK)>>5,r<<=z,15<r&&(r>>=4),t=0<(c[v]&mxEdgeStyle.CENTER_MASK),(y||x)&&9>r?(u=y?0:1,r=t&&0==n?q[u][0]+l[u][0]*q[u][2]:t?q[u][1]+l[u][1]*q[u][3]:mxEdgeStyle.limits[u][r],0==n?(r=(r-mxEdgeStyle.wayPoints1[f][0])*p[0],0<r&&(mxEdgeStyle.wayPoints1[f][0]+=p[0]*r)):(r=(r-mxEdgeStyle.wayPoints1[f][1])*p[1],0<r&&(mxEdgeStyle.wayPoints1[f][1]+=
+p[1]*r))):t&&(mxEdgeStyle.wayPoints1[f][0]+=p[0]*Math.abs(mxEdgeStyle.vertexSeperations[u]/2),mxEdgeStyle.wayPoints1[f][1]+=p[1]*Math.abs(mxEdgeStyle.vertexSeperations[u]/2)),0<f&&mxEdgeStyle.wayPoints1[f][n]==mxEdgeStyle.wayPoints1[f-1][n]?f--:C=n;for(v=0;v<=f&&(v!=f||((0<(b[1]&(mxConstants.DIRECTION_MASK_EAST|mxConstants.DIRECTION_MASK_WEST))?0:1)==m?0:1)==(f+1)%2);v++)e.push(new mxPoint(Math.round(mxEdgeStyle.wayPoints1[v][0]*a.view.scale*10)/10,Math.round(mxEdgeStyle.wayPoints1[v][1]*a.view.scale*
+10)/10));for(a=1;a<e.length;)null==e[a-1]||null==e[a]||e[a-1].x!=e[a].x||e[a-1].y!=e[a].y?a++:e.splice(a,1)}},getRoutePattern:function(a,b,c,d){var e=a[0]==mxConstants.DIRECTION_MASK_EAST?3:a[0];a=a[1]==mxConstants.DIRECTION_MASK_EAST?3:a[1];e-=b;a-=b;1>e&&(e+=4);1>a&&(a+=4);b=routePatterns[e-1][a-1];0!=c&&0!=d||null==inlineRoutePatterns[e-1][a-1]||(b=inlineRoutePatterns[e-1][a-1]);return b}},mxStyleRegistry={values:[],putValue:function(a,b){mxStyleRegistry.values[a]=b},getValue:function(a){return mxStyleRegistry.values[a]},
+getName:function(a){for(var b in mxStyleRegistry.values)if(mxStyleRegistry.values[b]==a)return b;return null}};mxStyleRegistry.putValue(mxConstants.EDGESTYLE_ELBOW,mxEdgeStyle.ElbowConnector);mxStyleRegistry.putValue(mxConstants.EDGESTYLE_ENTITY_RELATION,mxEdgeStyle.EntityRelation);mxStyleRegistry.putValue(mxConstants.EDGESTYLE_LOOP,mxEdgeStyle.Loop);mxStyleRegistry.putValue(mxConstants.EDGESTYLE_SIDETOSIDE,mxEdgeStyle.SideToSide);mxStyleRegistry.putValue(mxConstants.EDGESTYLE_TOPTOBOTTOM,mxEdgeStyle.TopToBottom);
+mxStyleRegistry.putValue(mxConstants.EDGESTYLE_ORTHOGONAL,mxEdgeStyle.OrthConnector);mxStyleRegistry.putValue(mxConstants.EDGESTYLE_SEGMENT,mxEdgeStyle.SegmentConnector);mxStyleRegistry.putValue(mxConstants.PERIMETER_ELLIPSE,mxPerimeter.EllipsePerimeter);mxStyleRegistry.putValue(mxConstants.PERIMETER_RECTANGLE,mxPerimeter.RectanglePerimeter);mxStyleRegistry.putValue(mxConstants.PERIMETER_RHOMBUS,mxPerimeter.RhombusPerimeter);mxStyleRegistry.putValue(mxConstants.PERIMETER_TRIANGLE,mxPerimeter.TrianglePerimeter);
+mxStyleRegistry.putValue(mxConstants.PERIMETER_HEXAGON,mxPerimeter.HexagonPerimeter);function mxGraphView(a){this.graph=a;this.translate=new mxPoint;this.graphBounds=new mxRectangle;this.states=new mxDictionary}mxGraphView.prototype=new mxEventSource;mxGraphView.prototype.constructor=mxGraphView;mxGraphView.prototype.EMPTY_POINT=new mxPoint;mxGraphView.prototype.doneResource="none"!=mxClient.language?"done":"";
+mxGraphView.prototype.updatingDocumentResource="none"!=mxClient.language?"updatingDocument":"";mxGraphView.prototype.allowEval=!1;mxGraphView.prototype.captureDocumentGesture=!0;mxGraphView.prototype.optimizeVmlReflows=!0;mxGraphView.prototype.rendering=!0;mxGraphView.prototype.graph=null;mxGraphView.prototype.currentRoot=null;mxGraphView.prototype.graphBounds=null;mxGraphView.prototype.scale=1;mxGraphView.prototype.translate=null;mxGraphView.prototype.states=null;
+mxGraphView.prototype.updateStyle=!1;mxGraphView.prototype.lastNode=null;mxGraphView.prototype.lastHtmlNode=null;mxGraphView.prototype.lastForegroundNode=null;mxGraphView.prototype.lastForegroundHtmlNode=null;mxGraphView.prototype.getGraphBounds=function(){return this.graphBounds};mxGraphView.prototype.setGraphBounds=function(a){this.graphBounds=a};
 mxGraphView.prototype.getBounds=function(a){var b=null;if(null!=a&&0<a.length)for(var c=this.graph.getModel(),d=0;d<a.length;d++)if(c.isVertex(a[d])||c.isEdge(a[d])){var e=this.getState(a[d]);null!=e&&(null==b?b=mxRectangle.fromRectangle(e):b.add(e))}return b};mxGraphView.prototype.setCurrentRoot=function(a){if(this.currentRoot!=a){var b=new mxCurrentRootChange(this,a);b.execute();var c=new mxUndoableEdit(this,!0);c.add(b);this.fireEvent(new mxEventObject(mxEvent.UNDO,"edit",c));this.graph.sizeDidChange()}return a};
 mxGraphView.prototype.scaleAndTranslate=function(a,b,c){var d=this.scale,e=new mxPoint(this.translate.x,this.translate.y);if(this.scale!=a||this.translate.x!=b||this.translate.y!=c)this.scale=a,this.translate.x=b,this.translate.y=c,this.isEventsEnabled()&&this.viewStateChanged();this.fireEvent(new mxEventObject(mxEvent.SCALE_AND_TRANSLATE,"scale",a,"previousScale",d,"translate",this.translate,"previousTranslate",e))};mxGraphView.prototype.getScale=function(){return this.scale};
 mxGraphView.prototype.setScale=function(a){var b=this.scale;this.scale!=a&&(this.scale=a,this.isEventsEnabled()&&this.viewStateChanged());this.fireEvent(new mxEventObject(mxEvent.SCALE,"scale",a,"previousScale",b))};mxGraphView.prototype.getTranslate=function(){return this.translate};
@@ -1145,7 +1146,7 @@ mxGraphView.prototype.updateFixedTerminalPoints=function(a,b,c){this.updateFixed
 mxGraphView.prototype.getFixedTerminalPoint=function(a,b,c,d){var e=null;null!=d&&(e=this.graph.getConnectionPoint(b,d,!1));if(null==e&&null==b){b=this.scale;d=this.translate;var f=a.origin,e=this.graph.getCellGeometry(a.cell).getTerminalPoint(c);null!=e&&(e=new mxPoint(b*(d.x+e.x+f.x),b*(d.y+e.y+f.y)))}return e};
 mxGraphView.prototype.updateBoundsFromStencil=function(a){var b=null;if(null!=a&&null!=a.shape&&null!=a.shape.stencil&&"fixed"==a.shape.stencil.aspect){var b=mxRectangle.fromRectangle(a),c=a.shape.stencil.computeAspect(a.style,a.x,a.y,a.width,a.height);a.setRect(c.x,c.y,a.shape.stencil.w0*c.width,a.shape.stencil.h0*c.height)}return b};
 mxGraphView.prototype.updatePoints=function(a,b,c,d){if(null!=a){var e=[];e.push(a.absolutePoints[0]);var f=this.getEdgeStyle(a,b,c,d);if(null!=f){c=this.getTerminalPort(a,c,!0);d=this.getTerminalPort(a,d,!1);var g=this.updateBoundsFromStencil(c),k=this.updateBoundsFromStencil(d);f(a,c,d,b,e);null!=g&&c.setRect(g.x,g.y,g.width,g.height);null!=k&&d.setRect(k.x,k.y,k.width,k.height)}else if(null!=b)for(f=0;f<b.length;f++)null!=b[f]&&(c=mxUtils.clone(b[f]),e.push(this.transformControlPoint(a,c)));b=
-a.absolutePoints;e.push(b[b.length-1]);a.absolutePoints=e}};mxGraphView.prototype.transformControlPoint=function(a,b){if(null!=a&&null!=b){var c=a.origin;return new mxPoint(this.scale*(b.x+this.translate.x+c.x),this.scale*(b.y+this.translate.y+c.y))}return null};
+a.absolutePoints;e.push(b[b.length-1]);a.absolutePoints=e}};mxGraphView.prototype.transformControlPoint=function(a,b,c){return null!=a&&null!=b?(a=a.origin,c=c?1:this.scale,new mxPoint(c*(b.x+this.translate.x+a.x),c*(b.y+this.translate.y+a.y))):null};
 mxGraphView.prototype.isLoopStyleEnabled=function(a,b,c,d){var e=this.graph.getConnectionConstraint(a,c,!0),f=this.graph.getConnectionConstraint(a,d,!1);return!(null==b||2>b.length)||mxUtils.getValue(a.style,mxConstants.STYLE_ORTHOGONAL_LOOP,!1)&&(null!=e&&null!=e.point||null!=f&&null!=f.point)?!1:null!=c&&c==d};
 mxGraphView.prototype.getEdgeStyle=function(a,b,c,d){a=this.isLoopStyleEnabled(a,b,c,d)?mxUtils.getValue(a.style,mxConstants.STYLE_LOOP,this.graph.defaultLoopStyle):mxUtils.getValue(a.style,mxConstants.STYLE_NOEDGESTYLE,!1)?null:a.style[mxConstants.STYLE_EDGE];"string"==typeof a&&(b=mxStyleRegistry.getValue(a),null==b&&this.isAllowEval()&&(b=mxUtils.eval(a)),a=b);return"function"==typeof a?a:null};
 mxGraphView.prototype.updateFloatingTerminalPoints=function(a,b,c){var d=a.absolutePoints,e=d[0];null==d[d.length-1]&&null!=c&&this.updateFloatingTerminalPoint(a,c,b,!1);null==e&&null!=b&&this.updateFloatingTerminalPoint(a,b,c,!0)};mxGraphView.prototype.updateFloatingTerminalPoint=function(a,b,c,d){a.setAbsoluteTerminalPoint(this.getFloatingTerminalPoint(a,b,c,d),d)};
@@ -1481,12 +1482,12 @@ mxCellStatePreview.prototype.revalidateState=function(a,b,c,d){if(null!=a){var e
 g)),b,c,d)}};mxCellStatePreview.prototype.addEdges=function(a){for(var b=this.graph.getModel(),c=b.getEdgeCount(a.cell),d=0;d<c;d++){var e=a.view.getState(b.getEdgeAt(a.cell,d));null!=e&&this.moveState(e,0,0)}};function mxConnectionConstraint(a,b,c,d,e){this.point=a;this.perimeter=null!=b?b:!0;this.name=c;this.dx=d?d:0;this.dy=e?e:0}mxConnectionConstraint.prototype.point=null;mxConnectionConstraint.prototype.perimeter=null;mxConnectionConstraint.prototype.name=null;
 mxConnectionConstraint.prototype.dx=null;mxConnectionConstraint.prototype.dy=null;
 function mxGraphHandler(a){this.graph=a;this.graph.addMouseListener(this);this.panHandler=mxUtils.bind(this,function(){this.suspended||(this.updatePreview(),this.updateHint())});this.graph.addListener(mxEvent.PAN,this.panHandler);this.escapeHandler=mxUtils.bind(this,function(a,c){this.reset()});this.graph.addListener(mxEvent.ESCAPE,this.escapeHandler);this.refreshHandler=mxUtils.bind(this,function(a,c){window.setTimeout(mxUtils.bind(this,function(){if(null!=this.first&&!this.suspended){var a=this.currentDx,
-b=this.currentDy;this.currentDy=this.currentDx=0;this.updatePreview();this.bounds=this.graph.getView().getBounds(this.cells);this.pBounds=this.getPreviewBounds(this.cells);null==this.pBounds?this.reset():(this.currentDx=a,this.currentDy=b,this.updatePreview(),this.updateHint(),this.livePreviewUsed&&this.setHandlesVisibleForCells(this.graph.getSelectionCells(),!1))}}),0)});this.graph.getModel().addListener(mxEvent.CHANGE,this.refreshHandler)}mxGraphHandler.prototype.graph=null;
-mxGraphHandler.prototype.maxCells=mxClient.IS_IE?20:50;mxGraphHandler.prototype.enabled=!0;mxGraphHandler.prototype.highlightEnabled=!0;mxGraphHandler.prototype.cloneEnabled=!0;mxGraphHandler.prototype.moveEnabled=!0;mxGraphHandler.prototype.guidesEnabled=!1;mxGraphHandler.prototype.guide=null;mxGraphHandler.prototype.currentDx=null;mxGraphHandler.prototype.currentDy=null;mxGraphHandler.prototype.updateCursor=!0;mxGraphHandler.prototype.selectEnabled=!0;
-mxGraphHandler.prototype.removeCellsFromParent=!0;mxGraphHandler.prototype.removeEmptyParents=!1;mxGraphHandler.prototype.connectOnDrop=!1;mxGraphHandler.prototype.scrollOnMove=!0;mxGraphHandler.prototype.minimumSize=6;mxGraphHandler.prototype.previewColor="black";mxGraphHandler.prototype.htmlPreview=!1;mxGraphHandler.prototype.shape=null;mxGraphHandler.prototype.scaleGrid=!1;mxGraphHandler.prototype.rotationEnabled=!0;mxGraphHandler.prototype.maxLivePreview=0;
-mxGraphHandler.prototype.allowLivePreview=mxClient.IS_SVG;mxGraphHandler.prototype.isEnabled=function(){return this.enabled};mxGraphHandler.prototype.setEnabled=function(a){this.enabled=a};mxGraphHandler.prototype.isCloneEnabled=function(){return this.cloneEnabled};mxGraphHandler.prototype.setCloneEnabled=function(a){this.cloneEnabled=a};mxGraphHandler.prototype.isMoveEnabled=function(){return this.moveEnabled};mxGraphHandler.prototype.setMoveEnabled=function(a){this.moveEnabled=a};
-mxGraphHandler.prototype.isSelectEnabled=function(){return this.selectEnabled};mxGraphHandler.prototype.setSelectEnabled=function(a){this.selectEnabled=a};mxGraphHandler.prototype.isRemoveCellsFromParent=function(){return this.removeCellsFromParent};mxGraphHandler.prototype.setRemoveCellsFromParent=function(a){this.removeCellsFromParent=a};mxGraphHandler.prototype.getInitialCellForEvent=function(a){return a.getCell()};mxGraphHandler.prototype.isDelayedSelection=function(a,b){return this.graph.isCellSelected(a)};
-mxGraphHandler.prototype.consumeMouseEvent=function(a,b){b.consume()};
+b=this.currentDy;this.currentDy=this.currentDx=0;this.updatePreview();this.bounds=this.graph.getView().getBounds(this.cells);this.pBounds=this.getPreviewBounds(this.cells);null==this.pBounds?this.reset():(this.currentDx=a,this.currentDy=b,this.updatePreview(),this.updateHint(),this.livePreviewUsed&&this.setHandlesVisibleForCells(this.graph.getSelectionCells(),!1))}}),0)});this.graph.getModel().addListener(mxEvent.CHANGE,this.refreshHandler);this.keyHandler=mxUtils.bind(this,function(a){null!=this.graph.container&&
+"hidden"!=this.graph.container.style.visibility&&(a=this.graph.isCloneEvent(a)&&this.graph.isCellsCloneable()&&this.isCloneEnabled(),a!=this.cloning&&(this.cloning=a,this.checkPreview(),this.updatePreview()))});mxEvent.addListener(document,"keydown",this.keyHandler);mxEvent.addListener(document,"keyup",this.keyHandler)}mxGraphHandler.prototype.graph=null;mxGraphHandler.prototype.maxCells=mxClient.IS_IE?20:50;mxGraphHandler.prototype.enabled=!0;mxGraphHandler.prototype.highlightEnabled=!0;
+mxGraphHandler.prototype.cloneEnabled=!0;mxGraphHandler.prototype.moveEnabled=!0;mxGraphHandler.prototype.guidesEnabled=!1;mxGraphHandler.prototype.handlesVisible=!0;mxGraphHandler.prototype.guide=null;mxGraphHandler.prototype.currentDx=null;mxGraphHandler.prototype.currentDy=null;mxGraphHandler.prototype.updateCursor=!0;mxGraphHandler.prototype.selectEnabled=!0;mxGraphHandler.prototype.removeCellsFromParent=!0;mxGraphHandler.prototype.removeEmptyParents=!1;
+mxGraphHandler.prototype.connectOnDrop=!1;mxGraphHandler.prototype.scrollOnMove=!0;mxGraphHandler.prototype.minimumSize=6;mxGraphHandler.prototype.previewColor="black";mxGraphHandler.prototype.htmlPreview=!1;mxGraphHandler.prototype.shape=null;mxGraphHandler.prototype.scaleGrid=!1;mxGraphHandler.prototype.rotationEnabled=!0;mxGraphHandler.prototype.maxLivePreview=0;mxGraphHandler.prototype.allowLivePreview=mxClient.IS_SVG;mxGraphHandler.prototype.isEnabled=function(){return this.enabled};
+mxGraphHandler.prototype.setEnabled=function(a){this.enabled=a};mxGraphHandler.prototype.isCloneEnabled=function(){return this.cloneEnabled};mxGraphHandler.prototype.setCloneEnabled=function(a){this.cloneEnabled=a};mxGraphHandler.prototype.isMoveEnabled=function(){return this.moveEnabled};mxGraphHandler.prototype.setMoveEnabled=function(a){this.moveEnabled=a};mxGraphHandler.prototype.isSelectEnabled=function(){return this.selectEnabled};
+mxGraphHandler.prototype.setSelectEnabled=function(a){this.selectEnabled=a};mxGraphHandler.prototype.isRemoveCellsFromParent=function(){return this.removeCellsFromParent};mxGraphHandler.prototype.setRemoveCellsFromParent=function(a){this.removeCellsFromParent=a};mxGraphHandler.prototype.getInitialCellForEvent=function(a){return a.getCell()};mxGraphHandler.prototype.isDelayedSelection=function(a,b){return this.graph.isCellSelected(a)};mxGraphHandler.prototype.consumeMouseEvent=function(a,b){b.consume()};
 mxGraphHandler.prototype.mouseDown=function(a,b){if(!b.isConsumed()&&this.isEnabled()&&this.graph.isEnabled()&&null!=b.getState()&&!mxEvent.isMultiTouchEvent(b.getEvent())){var c=this.getInitialCellForEvent(b);this.delayedSelection=this.isDelayedSelection(c,b);this.cell=null;this.isSelectEnabled()&&!this.delayedSelection&&this.graph.selectCellForEvent(c,b.getEvent());if(this.isMoveEnabled()){var d=this.graph.model,e=d.getGeometry(c);this.graph.isCellMovable(c)&&(!d.isEdge(c)||1<this.graph.getSelectionCount()||
 null!=e.points&&0<e.points.length||null==d.getTerminal(c,!0)||null==d.getTerminal(c,!1)||this.graph.allowDanglingEdges||this.graph.isCloneEvent(b.getEvent())&&this.graph.isCellsCloneable())?this.start(c,b.getX(),b.getY()):this.delayedSelection&&(this.cell=c);this.cellWasClicked=!0;this.consumeMouseEvent(mxEvent.MOUSE_DOWN,b)}}};
 mxGraphHandler.prototype.getGuideStates=function(){var a=this.graph.getDefaultParent(),b=this.graph.getModel(),c=mxUtils.bind(this,function(a){return null!=this.graph.view.getState(a)&&b.isVertex(a)&&null!=b.getGeometry(a)&&!b.getGeometry(a).relative});return this.graph.view.getCellStates(b.filterDescendants(c,a))};mxGraphHandler.prototype.getCells=function(a){return!this.delayedSelection&&this.graph.isCellMovable(a)?[a]:this.graph.getMovableCells(this.graph.getSelectionCells())};
@@ -1497,20 +1498,21 @@ mxGraphHandler.prototype.start=function(a,b,c,d){this.cell=a;this.first=mxUtils.
 var e=this.graph.model.getParent(a),f=2>this.graph.model.getChildCount(e),g=new mxDictionary;a=this.graph.getOpposites(this.graph.getEdges(this.cell),this.cell);for(b=0;b<a.length;b++)c=this.graph.view.getState(a[b]),null==c||g.get(c)||g.put(c,!0);this.guide.isStateIgnored=mxUtils.bind(this,function(a){var b=this.graph.model.getParent(a.cell);return null!=a.cell&&(!this.cloning&&this.isCellMoving(a.cell)||a.cell!=(this.target||e)&&!f&&!g.get(a)&&(null==this.target||2<=this.graph.model.getChildCount(this.target))&&
 b!=(this.target||e))})}};mxGraphHandler.prototype.addStates=function(a,b){var c=this.graph.view.getState(a),d=0;if(null!=c&&null==b.get(a)){b.put(a,c);d++;for(var c=this.graph.model.getChildCount(a),e=0;e<c;e++)d+=this.addStates(this.graph.model.getChildAt(a,e),b)}return d};mxGraphHandler.prototype.isCellMoving=function(a){return null!=this.allCells.get(a)};mxGraphHandler.prototype.useGuidesForEvent=function(a){return null!=this.guide?this.guide.isEnabledForEvent(a.getEvent()):!0};
 mxGraphHandler.prototype.snap=function(a){var b=this.scaleGrid?this.graph.view.scale:1;a.x=this.graph.snap(a.x/b)*b;a.y=this.graph.snap(a.y/b)*b;return a};mxGraphHandler.prototype.getDelta=function(a){a=mxUtils.convertPoint(this.graph.container,a.getX(),a.getY());return new mxPoint(a.x-this.first.x-this.graph.panDx,a.y-this.first.y-this.graph.panDy)};mxGraphHandler.prototype.updateHint=function(a){};mxGraphHandler.prototype.removeHint=function(){};
-mxGraphHandler.prototype.roundLength=function(a){return Math.round(100*a)/100};
+mxGraphHandler.prototype.roundLength=function(a){return Math.round(100*a)/100};mxGraphHandler.prototype.isValidDropTarget=function(a){return this.graph.model.getParent(this.cell)!=a};
+mxGraphHandler.prototype.checkPreview=function(){this.livePreviewActive&&this.cloning?(this.resetLivePreview(),this.livePreviewActive=!1):this.maxLivePreview>=this.cellCount&&!this.livePreviewActive&&this.allowLivePreview?this.cloning&&this.livePreviewActive||(this.livePreviewUsed=this.livePreviewActive=!0):this.livePreviewUsed||null!=this.shape||(this.shape=this.createPreviewShape(this.bounds))};
 mxGraphHandler.prototype.mouseMove=function(a,b){var c=this.graph;if(b.isConsumed()||!c.isMouseDown||null==this.cell||null==this.first||null==this.bounds||this.suspended)!this.isMoveEnabled()&&!this.isCloneEnabled()||!this.updateCursor||b.isConsumed()||null==b.getState()&&null==b.sourceState||c.isMouseDown||(d=c.getCursorForMouseEvent(b),null==d&&c.isEnabled()&&c.isCellMovable(b.getCell())&&(d=c.getModel().isEdge(b.getCell())?mxConstants.CURSOR_MOVABLE_EDGE:mxConstants.CURSOR_MOVABLE_VERTEX),null!=
 d&&null!=b.sourceState&&b.sourceState.setCursor(d));else if(mxEvent.isMultiTouchEvent(b.getEvent()))this.reset();else{var d=this.getDelta(b),e=c.tolerance;if(null!=this.shape||this.livePreviewActive||Math.abs(d.x)>e||Math.abs(d.y)>e){null==this.highlight&&(this.highlight=new mxCellHighlight(this.graph,mxConstants.DROP_TARGET_COLOR,3));var e=c.isCloneEvent(b.getEvent())&&c.isCellsCloneable()&&this.isCloneEnabled(),f=c.isGridEnabledEvent(b.getEvent()),g=b.getCell(),k=!0,l=null;this.cloning=e;c.isDropEnabled()&&
-this.highlightEnabled&&(l=c.getDropTarget(this.cells,b.getEvent(),g,e));var m=c.getView().getState(l),n=!1;null==m||c.model.getParent(this.cell)==l&&!e?(this.target=null,this.connectOnDrop&&null!=g&&1==this.cells.length&&c.getModel().isVertex(g)&&c.isCellConnectable(g)&&(m=c.getView().getState(g),null!=m&&(g=null==c.getEdgeValidationError(null,this.cell,g)?mxConstants.VALID_COLOR:mxConstants.INVALID_CONNECT_TARGET_COLOR,this.setHighlightColor(g),n=!0))):(this.target!=l&&(this.target=l,this.setHighlightColor(mxConstants.DROP_TARGET_COLOR)),
-n=!0);null!=m&&n?this.highlight.highlight(m):this.highlight.hide();this.livePreviewActive&&e?(this.resetLivePreview(),this.livePreviewActive=!1):this.maxLivePreview>=this.cellCount&&!this.livePreviewActive&&this.allowLivePreview?e&&this.livePreviewActive||(this.setHandlesVisibleForCells(this.graph.getSelectionCells(),!1),this.livePreviewUsed=this.livePreviewActive=!0):this.livePreviewUsed||null!=this.shape||(this.shape=this.createPreviewShape(this.bounds));null!=this.guide&&this.useGuidesForEvent(b)?
-(d=this.guide.move(this.bounds,d,f,e),k=!1):d=this.graph.snapDelta(d,this.bounds,!f,!1,!1);null!=this.guide&&k&&this.guide.hide();c.isConstrainedEvent(b.getEvent())&&(Math.abs(d.x)>Math.abs(d.y)?d.y=0:d.x=0);if(this.currentDx!=d.x||this.currentDy!=d.y)this.currentDx=d.x,this.currentDy=d.y,this.updatePreview()}this.updateHint(b);this.consumeMouseEvent(mxEvent.MOUSE_MOVE,b);mxEvent.consume(b.getEvent())}};
-mxGraphHandler.prototype.updatePreview=function(a){this.livePreviewUsed&&!a?null!=this.cells&&this.updateLivePreview(this.currentDx,this.currentDy):this.updatePreviewShape()};mxGraphHandler.prototype.updatePreviewShape=function(){null!=this.shape&&(this.shape.bounds=new mxRectangle(Math.round(this.pBounds.x+this.currentDx),Math.round(this.pBounds.y+this.currentDy),this.pBounds.width,this.pBounds.height),this.shape.redraw())};
+this.highlightEnabled&&(l=c.getDropTarget(this.cells,b.getEvent(),g,e));var m=c.getView().getState(l),n=!1;null!=m&&(e||this.isValidDropTarget(l))?(this.target!=l&&(this.target=l,this.setHighlightColor(mxConstants.DROP_TARGET_COLOR)),n=!0):(this.target=null,this.connectOnDrop&&null!=g&&1==this.cells.length&&c.getModel().isVertex(g)&&c.isCellConnectable(g)&&(m=c.getView().getState(g),null!=m&&(g=null==c.getEdgeValidationError(null,this.cell,g)?mxConstants.VALID_COLOR:mxConstants.INVALID_CONNECT_TARGET_COLOR,
+this.setHighlightColor(g),n=!0)));null!=m&&n?this.highlight.highlight(m):this.highlight.hide();null!=this.guide&&this.useGuidesForEvent(b)?(d=this.guide.move(this.bounds,d,f,e),k=!1):d=this.graph.snapDelta(d,this.bounds,!f,!1,!1);null!=this.guide&&k&&this.guide.hide();c.isConstrainedEvent(b.getEvent())&&(Math.abs(d.x)>Math.abs(d.y)?d.y=0:d.x=0);this.checkPreview();if(this.currentDx!=d.x||this.currentDy!=d.y)this.currentDx=d.x,this.currentDy=d.y,this.updatePreview()}this.updateHint(b);this.consumeMouseEvent(mxEvent.MOUSE_MOVE,
+b);mxEvent.consume(b.getEvent())}};mxGraphHandler.prototype.updatePreview=function(a){this.livePreviewUsed&&!a?null!=this.cells&&(this.setHandlesVisibleForCells(this.graph.getSelectionCells(),!1),this.updateLivePreview(this.currentDx,this.currentDy)):this.updatePreviewShape()};
+mxGraphHandler.prototype.updatePreviewShape=function(){null!=this.shape&&(this.shape.bounds=new mxRectangle(Math.round(this.pBounds.x+this.currentDx),Math.round(this.pBounds.y+this.currentDy),this.pBounds.width,this.pBounds.height),this.shape.redraw())};
 mxGraphHandler.prototype.updateLivePreview=function(a,b){if(!this.suspended){var c=[];null!=this.allCells&&this.allCells.visit(mxUtils.bind(this,function(d,e){if(null==this.graph.view.getState(e.cell))e.destroy();else{var f=e.clone();c.push([e,f]);null!=e.shape&&(null==e.shape.originalPointerEvents&&(e.shape.originalPointerEvents=e.shape.pointerEvents),e.shape.pointerEvents=!1,null!=e.text&&(null==e.text.originalPointerEvents&&(e.text.originalPointerEvents=e.text.pointerEvents),e.text.pointerEvents=
 !1));this.graph.model.isVertex(e.cell)&&(e.x+=a,e.y+=b,this.cloning||(e.view.graph.cellRenderer.redraw(e,!0),e.view.invalidate(e.cell),e.invalid=!1,null!=e.control&&null!=e.control.node&&(e.control.node.style.visibility="hidden")))}}));if(0==c.length)this.reset();else{for(var d=this.graph.view.scale,e=0;e<c.length;e++){var f=c[e][0];if(this.graph.model.isEdge(f.cell)){var g=this.graph.getCellGeometry(f.cell),k=[];if(null!=g&&null!=g.points)for(var l=0;l<g.points.length;l++)null!=g.points[l]&&k.push(new mxPoint(g.points[l].x+
 a/d,g.points[l].y+b/d));var g=f.visibleSourceState,l=f.visibleTargetState,m=c[e][1].absolutePoints;null!=g&&this.isCellMoving(g.cell)?f.view.updateFixedTerminalPoint(f,g,!0,this.graph.getConnectionConstraint(f,g,!0)):(g=m[0],f.setAbsoluteTerminalPoint(new mxPoint(g.x+a,g.y+b),!0),g=null);null!=l&&this.isCellMoving(l.cell)?f.view.updateFixedTerminalPoint(f,l,!1,this.graph.getConnectionConstraint(f,l,!1)):(l=m[m.length-1],f.setAbsoluteTerminalPoint(new mxPoint(l.x+a,l.y+b),!1),l=null);f.view.updatePoints(f,
 k,g,l);f.view.updateFloatingTerminalPoints(f,g,l);f.view.updateEdgeLabelOffset(f);f.invalid=!1;this.cloning||f.view.graph.cellRenderer.redraw(f,!0)}}this.graph.view.validate();this.redrawHandles(c);this.resetPreviewStates(c)}}};mxGraphHandler.prototype.redrawHandles=function(a){for(var b=0;b<a.length;b++){var c=this.graph.selectionCellsHandler.getHandler(a[b][0].cell);null!=c&&c.redraw(!0)}};mxGraphHandler.prototype.resetPreviewStates=function(a){for(var b=0;b<a.length;b++)a[b][0].setState(a[b][1])};
 mxGraphHandler.prototype.suspend=function(){this.suspended||(this.livePreviewUsed&&this.updateLivePreview(0,0),null!=this.shape&&(this.shape.node.style.visibility="hidden"),null!=this.guide&&this.guide.setVisible(!1),this.suspended=!0)};mxGraphHandler.prototype.resume=function(){this.suspended&&(this.suspended=null,this.livePreviewUsed&&(this.livePreviewActive=!0),null!=this.shape&&(this.shape.node.style.visibility="visible"),null!=this.guide&&this.guide.setVisible(!0))};
-mxGraphHandler.prototype.resetLivePreview=function(){null!=this.allCells&&(this.allCells.visit(mxUtils.bind(this,function(a,b){null!=b.shape&&null!=b.shape.originalPointerEvents&&(b.shape.pointerEvents=b.shape.originalPointerEvents,b.shape.originalPointerEvents=null,null!=b.text&&(b.text.pointerEvents=b.text.originalPointerEvents,b.text.originalPointerEvents=null));null!=b.control&&null!=b.control.node&&"hidden"==b.control.node.style.visibility&&(b.control.node.style.visibility="");b.view.invalidate(b.cell)})),
-this.graph.view.validate())};mxGraphHandler.prototype.setHandlesVisibleForCells=function(a,b){for(var c=0;c<a.length;c++){var d=this.graph.selectionCellsHandler.getHandler(a[c]);null!=d&&(d.setHandlesVisible(b),b&&d.redraw())}};mxGraphHandler.prototype.setHighlightColor=function(a){null!=this.highlight&&this.highlight.setHighlightColor(a)};
+mxGraphHandler.prototype.resetLivePreview=function(){null!=this.allCells&&(this.allCells.visit(mxUtils.bind(this,function(a,b){null!=b.shape&&null!=b.shape.originalPointerEvents&&(b.shape.pointerEvents=b.shape.originalPointerEvents,b.shape.originalPointerEvents=null,b.shape.bounds=null,null!=b.text&&(b.text.pointerEvents=b.text.originalPointerEvents,b.text.originalPointerEvents=null));null!=b.control&&null!=b.control.node&&"hidden"==b.control.node.style.visibility&&(b.control.node.style.visibility=
+"");b.view.invalidate(b.cell)})),this.graph.view.validate())};mxGraphHandler.prototype.setHandlesVisibleForCells=function(a,b){if(this.handlesVisible!=b){this.handlesVisible=b;for(var c=0;c<a.length;c++){var d=this.graph.selectionCellsHandler.getHandler(a[c]);null!=d&&(d.setHandlesVisible(b),b&&d.redraw())}}};mxGraphHandler.prototype.setHighlightColor=function(a){null!=this.highlight&&this.highlight.setHighlightColor(a)};
 mxGraphHandler.prototype.mouseUp=function(a,b){if(!b.isConsumed())if(this.livePreviewUsed&&this.resetLivePreview(),null==this.cell||null==this.first||null==this.shape&&!this.livePreviewUsed||null==this.currentDx||null==this.currentDy)this.isSelectEnabled()&&this.delayedSelection&&null!=this.cell&&this.selectDelayed(b);else{var c=this.graph,d=b.getCell();if(this.connectOnDrop&&null==this.target&&null!=d&&c.getModel().isVertex(d)&&c.isCellConnectable(d)&&c.isEdgeValid(null,this.cell,d))c.connectionHandler.connect(this.cell,
 d,b.getEvent());else{var d=c.isCloneEvent(b.getEvent())&&c.isCellsCloneable()&&this.isCloneEnabled(),e=c.getView().scale,f=this.roundLength(this.currentDx/e),e=this.roundLength(this.currentDy/e),g=this.target;c.isSplitEnabled()&&c.isSplitTarget(g,this.cells,b.getEvent())?c.splitEdge(g,this.cells,null,f,e):this.moveCells(this.cells,f,e,d,this.target,b.getEvent())}}this.cellWasClicked&&this.consumeMouseEvent(mxEvent.MOUSE_UP,b);this.reset()};
 mxGraphHandler.prototype.selectDelayed=function(a){this.graph.isCellSelected(this.cell)&&this.graph.popupMenuHandler.isPopupTrigger(a)||this.graph.selectCellForEvent(this.cell,a.getEvent())};
@@ -1520,7 +1522,7 @@ mxGraphHandler.prototype.moveCells=function(a,b,c,d,e,f){d&&(a=this.graph.getClo
 this.graph.model.getParent(a[l]);null==m||k.get(m)||(k.put(m,!0),g.push(m))}}a=this.graph.moveCells(a,b,c,d,e,f);b=[];for(l=0;l<g.length;l++)this.shouldRemoveParent(g[l])&&b.push(g[l]);this.graph.removeCells(b,!1)}finally{this.graph.getModel().endUpdate()}d&&this.graph.setSelectionCells(a);this.isSelectEnabled()&&this.scrollOnMove&&this.graph.scrollCellToVisible(a[0])};
 mxGraphHandler.prototype.shouldRemoveParent=function(a){a=this.graph.view.getState(a);return null!=a&&(this.graph.model.isEdge(a.cell)||this.graph.model.isVertex(a.cell))&&this.graph.isCellDeletable(a.cell)&&0==this.graph.model.getChildCount(a.cell)&&this.graph.isTransparentState(a)};
 mxGraphHandler.prototype.destroyShapes=function(){null!=this.shape&&(this.shape.destroy(),this.shape=null);null!=this.guide&&(this.guide.destroy(),this.guide=null);null!=this.highlight&&(this.highlight.destroy(),this.highlight=null)};
-mxGraphHandler.prototype.destroy=function(){this.graph.removeMouseListener(this);this.graph.removeListener(this.panHandler);null!=this.escapeHandler&&(this.graph.removeListener(this.escapeHandler),this.escapeHandler=null);null!=this.refreshHandler&&(this.graph.getModel().removeListener(this.refreshHandler),this.refreshHandler=null);this.destroyShapes();this.removeHint()};
+mxGraphHandler.prototype.destroy=function(){this.graph.removeMouseListener(this);this.graph.removeListener(this.panHandler);null!=this.escapeHandler&&(this.graph.removeListener(this.escapeHandler),this.escapeHandler=null);null!=this.refreshHandler&&(this.graph.getModel().removeListener(this.refreshHandler),this.refreshHandler=null);mxEvent.removeListener(document,"keydown",this.keyHandler);mxEvent.removeListener(document,"keyup",this.keyHandler);this.destroyShapes();this.removeHint()};
 function mxPanningHandler(a){null!=a&&(this.graph=a,this.graph.addMouseListener(this),this.forcePanningHandler=mxUtils.bind(this,function(a,c){var b=c.getProperty("eventName"),e=c.getProperty("event");b==mxEvent.MOUSE_DOWN&&this.isForcePanningEvent(e)&&(this.start(e),this.active=!0,this.fireEvent(new mxEventObject(mxEvent.PAN_START,"event",e)),e.consume())}),this.graph.addListener(mxEvent.FIRE_MOUSE_EVENT,this.forcePanningHandler),this.gestureHandler=mxUtils.bind(this,function(a,c){if(this.isPinchEnabled()){var b=
 c.getProperty("event");mxEvent.isConsumed(b)||"gesturestart"!=b.type?"gestureend"==b.type&&null!=this.initialScale&&(this.initialScale=null):(this.initialScale=this.graph.view.scale,this.active||null==this.mouseDownEvent||(this.start(this.mouseDownEvent),this.mouseDownEvent=null));null!=this.initialScale&&this.zoomGraph(b)}}),this.graph.addListener(mxEvent.GESTURE,this.gestureHandler),this.mouseUpListener=mxUtils.bind(this,function(){this.active&&this.reset()}),mxEvent.addListener(document,"mouseup",
 this.mouseUpListener))}mxPanningHandler.prototype=new mxEventSource;mxPanningHandler.prototype.constructor=mxPanningHandler;mxPanningHandler.prototype.graph=null;mxPanningHandler.prototype.useLeftButtonForPanning=!1;mxPanningHandler.prototype.usePopupTrigger=!0;mxPanningHandler.prototype.ignoreCell=!1;mxPanningHandler.prototype.previewEnabled=!0;mxPanningHandler.prototype.useGrid=!1;mxPanningHandler.prototype.panningEnabled=!0;mxPanningHandler.prototype.pinchEnabled=!0;
@@ -1577,8 +1579,9 @@ mxEvent.isAltDown(a.getEvent())&&null!=a.getState()||this.marker.highlight.isHig
 mxConnectionHandler.prototype.updateCurrentState=function(a,b){this.constraintHandler.update(a,null==this.first,!1,null==this.first||a.isSource(this.marker.highlight.shape)?null:b);if(null!=this.constraintHandler.currentFocus&&null!=this.constraintHandler.currentConstraint)null!=this.marker.highlight&&null!=this.marker.highlight.state&&this.marker.highlight.state.cell==this.constraintHandler.currentFocus.cell?"transparent"!=this.marker.highlight.shape.stroke&&(this.marker.highlight.shape.stroke="transparent",
 this.marker.highlight.repaint()):this.marker.markCell(this.constraintHandler.currentFocus.cell,"transparent"),null!=this.previous&&(this.error=this.validateConnection(this.previous.cell,this.constraintHandler.currentFocus.cell),null==this.error&&(this.currentState=this.constraintHandler.currentFocus),(null!=this.error||null!=this.currentState&&!this.isCellEnabled(this.currentState.cell))&&this.constraintHandler.reset());else{this.graph.isIgnoreTerminalEvent(a.getEvent())?(this.marker.reset(),this.currentState=
 null):(this.marker.process(a),this.currentState=this.marker.getValidState());null==this.currentState||this.isCellEnabled(this.currentState.cell)||(this.constraintHandler.reset(),this.marker.reset(),this.currentState=null);var c=this.isOutlineConnectEvent(a);null!=this.currentState&&c&&(a.isSource(this.marker.highlight.shape)&&(b=new mxPoint(a.getGraphX(),a.getGraphY())),c=this.graph.getOutlineConstraint(b,this.currentState,a),this.constraintHandler.setFocus(a,this.currentState,!1),this.constraintHandler.currentConstraint=
-c,this.constraintHandler.currentPoint=b);this.outlineConnect&&null!=this.marker.highlight&&null!=this.marker.highlight.shape&&(c=this.graph.view.scale,null!=this.constraintHandler.currentConstraint&&null!=this.constraintHandler.currentFocus?(this.marker.highlight.shape.stroke=mxConstants.OUTLINE_HIGHLIGHT_COLOR,this.marker.highlight.shape.strokewidth=mxConstants.OUTLINE_HIGHLIGHT_STROKEWIDTH/c/c,this.marker.highlight.repaint()):this.marker.hasValidState()&&(this.marker.getValidState()!=a.getState()?
-(this.marker.highlight.shape.stroke="transparent",this.currentState=null):this.marker.highlight.shape.stroke=mxConstants.DEFAULT_VALID_COLOR,this.marker.highlight.shape.strokewidth=mxConstants.HIGHLIGHT_STROKEWIDTH/c/c,this.marker.highlight.repaint()))}};mxConnectionHandler.prototype.isCellEnabled=function(a){return!0};mxConnectionHandler.prototype.convertWaypoint=function(a){var b=this.graph.getView().getScale(),c=this.graph.getView().getTranslate();a.x=a.x/b-c.x;a.y=a.y/b-c.y};
+c,this.constraintHandler.currentPoint=b);this.outlineConnect&&null!=this.marker.highlight&&null!=this.marker.highlight.shape&&(c=this.graph.view.scale,null!=this.constraintHandler.currentConstraint&&null!=this.constraintHandler.currentFocus?(this.marker.highlight.shape.stroke=mxConstants.OUTLINE_HIGHLIGHT_COLOR,this.marker.highlight.shape.strokewidth=mxConstants.OUTLINE_HIGHLIGHT_STROKEWIDTH/c/c,this.marker.highlight.repaint()):this.marker.hasValidState()&&(this.graph.isCellConnectable(a.getCell())&&
+this.marker.getValidState()!=a.getState()?(this.marker.highlight.shape.stroke="transparent",this.currentState=null):this.marker.highlight.shape.stroke=mxConstants.DEFAULT_VALID_COLOR,this.marker.highlight.shape.strokewidth=mxConstants.HIGHLIGHT_STROKEWIDTH/c/c,this.marker.highlight.repaint()))}};mxConnectionHandler.prototype.isCellEnabled=function(a){return!0};
+mxConnectionHandler.prototype.convertWaypoint=function(a){var b=this.graph.getView().getScale(),c=this.graph.getView().getTranslate();a.x=a.x/b-c.x;a.y=a.y/b-c.y};
 mxConnectionHandler.prototype.snapToPreview=function(a,b){if(!mxEvent.isAltDown(a.getEvent())&&null!=this.previous){var c=this.graph.gridSize*this.graph.view.scale/2,d=null!=this.sourceConstraint?this.first:new mxPoint(this.previous.getCenterX(),this.previous.getCenterY());Math.abs(d.x-a.getGraphX())<c&&(b.x=d.x);Math.abs(d.y-a.getGraphY())<c&&(b.y=d.y)}};
 mxConnectionHandler.prototype.mouseMove=function(a,b){if(b.isConsumed()||!this.ignoreMouseDown&&null==this.first&&this.graph.isMouseDown)this.constraintHandler.reset();else{this.isEnabled()||null==this.currentState||(this.destroyIcons(),this.currentState=null);var c=this.graph.getView(),d=c.scale,e=c.translate,c=new mxPoint(b.getGraphX(),b.getGraphY());this.error=null;this.graph.isGridEnabledEvent(b.getEvent())&&(c=new mxPoint((this.graph.snap(c.x/d-e.x)+e.x)*d,(this.graph.snap(c.y/d-e.y)+e.y)*d));
 this.snapToPreview(b,c);this.currentPoint=c;(null!=this.first||this.isEnabled()&&this.graph.isEnabled())&&(null!=this.shape||null==this.first||Math.abs(b.getGraphX()-this.first.x)>this.graph.tolerance||Math.abs(b.getGraphY()-this.first.y)>this.graph.tolerance)&&this.updateCurrentState(b,c);if(null!=this.first){var f=null,d=c;null!=this.constraintHandler.currentConstraint&&null!=this.constraintHandler.currentFocus&&null!=this.constraintHandler.currentPoint?(f=this.constraintHandler.currentConstraint,
@@ -1754,13 +1757,13 @@ mxEdgeHandler.prototype.isOutlineConnectEvent=function(a){var b=mxUtils.getOffse
 mxEvent.isAltDown(a.getEvent())&&null!=a.getState()||this.marker.highlight.isHighlightAt(d,c)||(f!=d||b!=c)&&null==a.getState()&&this.marker.highlight.isHighlightAt(f,b))};
 mxEdgeHandler.prototype.updatePreviewState=function(a,b,c,d,e){var f=this.isSource?c:this.state.getVisibleTerminalState(!0),g=this.isTarget?c:this.state.getVisibleTerminalState(!1),k=this.graph.getConnectionConstraint(a,f,!0),l=this.graph.getConnectionConstraint(a,g,!1),m=this.constraintHandler.currentConstraint;null==m&&e&&(null!=c?(d.isSource(this.marker.highlight.shape)&&(b=new mxPoint(d.getGraphX(),d.getGraphY())),m=this.graph.getOutlineConstraint(b,c,d),this.constraintHandler.setFocus(d,c,this.isSource),
 this.constraintHandler.currentConstraint=m,this.constraintHandler.currentPoint=b):m=new mxConnectionConstraint);if(this.outlineConnect&&null!=this.marker.highlight&&null!=this.marker.highlight.shape){var n=this.graph.view.scale;null!=this.constraintHandler.currentConstraint&&null!=this.constraintHandler.currentFocus?(this.marker.highlight.shape.stroke=e?mxConstants.OUTLINE_HIGHLIGHT_COLOR:"transparent",this.marker.highlight.shape.strokewidth=mxConstants.OUTLINE_HIGHLIGHT_STROKEWIDTH/n/n,this.marker.highlight.repaint()):
-this.marker.hasValidState()&&(this.marker.highlight.shape.stroke=this.marker.getValidState()==d.getState()?mxConstants.DEFAULT_VALID_COLOR:"transparent",this.marker.highlight.shape.strokewidth=mxConstants.HIGHLIGHT_STROKEWIDTH/n/n,this.marker.highlight.repaint())}this.isSource?k=m:this.isTarget&&(l=m);if(this.isSource||this.isTarget)null!=m&&null!=m.point?(a.style[this.isSource?mxConstants.STYLE_EXIT_X:mxConstants.STYLE_ENTRY_X]=m.point.x,a.style[this.isSource?mxConstants.STYLE_EXIT_Y:mxConstants.STYLE_ENTRY_Y]=
-m.point.y):(delete a.style[this.isSource?mxConstants.STYLE_EXIT_X:mxConstants.STYLE_ENTRY_X],delete a.style[this.isSource?mxConstants.STYLE_EXIT_Y:mxConstants.STYLE_ENTRY_Y]);a.setVisibleTerminalState(f,!0);a.setVisibleTerminalState(g,!1);this.isSource&&null==f||a.view.updateFixedTerminalPoint(a,f,!0,k);this.isTarget&&null==g||a.view.updateFixedTerminalPoint(a,g,!1,l);(this.isSource||this.isTarget)&&null==c&&(a.setAbsoluteTerminalPoint(b,this.isSource),null==this.marker.getMarkedState()&&(this.error=
-this.graph.allowDanglingEdges?null:""));a.view.updatePoints(a,this.points,f,g);a.view.updateFloatingTerminalPoints(a,f,g)};
+this.marker.hasValidState()&&(this.marker.highlight.shape.stroke=this.graph.isCellConnectable(d.getCell())&&this.marker.getValidState()!=d.getState()?"transparent":mxConstants.DEFAULT_VALID_COLOR,this.marker.highlight.shape.strokewidth=mxConstants.HIGHLIGHT_STROKEWIDTH/n/n,this.marker.highlight.repaint())}this.isSource?k=m:this.isTarget&&(l=m);if(this.isSource||this.isTarget)null!=m&&null!=m.point?(a.style[this.isSource?mxConstants.STYLE_EXIT_X:mxConstants.STYLE_ENTRY_X]=m.point.x,a.style[this.isSource?
+mxConstants.STYLE_EXIT_Y:mxConstants.STYLE_ENTRY_Y]=m.point.y):(delete a.style[this.isSource?mxConstants.STYLE_EXIT_X:mxConstants.STYLE_ENTRY_X],delete a.style[this.isSource?mxConstants.STYLE_EXIT_Y:mxConstants.STYLE_ENTRY_Y]);a.setVisibleTerminalState(f,!0);a.setVisibleTerminalState(g,!1);this.isSource&&null==f||a.view.updateFixedTerminalPoint(a,f,!0,k);this.isTarget&&null==g||a.view.updateFixedTerminalPoint(a,g,!1,l);(this.isSource||this.isTarget)&&null==c&&(a.setAbsoluteTerminalPoint(b,this.isSource),
+null==this.marker.getMarkedState()&&(this.error=this.graph.allowDanglingEdges?null:""));a.view.updatePoints(a,this.points,f,g);a.view.updateFloatingTerminalPoints(a,f,g)};
 mxEdgeHandler.prototype.mouseMove=function(a,b){if(null!=this.index&&null!=this.marker){this.currentPoint=this.getPointForEvent(b);this.error=null;!this.graph.isIgnoreTerminalEvent(b.getEvent())&&mxEvent.isShiftDown(b.getEvent())&&null!=this.snapPoint&&(Math.abs(this.snapPoint.x-this.currentPoint.x)<Math.abs(this.snapPoint.y-this.currentPoint.y)?this.currentPoint.x=this.snapPoint.x:this.currentPoint.y=this.snapPoint.y);if(this.index<=mxEvent.CUSTOM_HANDLE&&this.index>mxEvent.VIRTUAL_HANDLE)null!=
 this.customHandles&&this.customHandles[mxEvent.CUSTOM_HANDLE-this.index].processEvent(b);else if(this.isLabel)this.label.x=this.currentPoint.x,this.label.y=this.currentPoint.y;else{this.points=this.getPreviewPoints(this.currentPoint,b);var c=this.isSource||this.isTarget?this.getPreviewTerminalState(b):null;if(null!=this.constraintHandler.currentConstraint&&null!=this.constraintHandler.currentFocus&&null!=this.constraintHandler.currentPoint)this.currentPoint=this.constraintHandler.currentPoint.clone();
-else if(this.outlineConnect){var d=this.isSource||this.isTarget?this.isOutlineConnectEvent(b):!1;d?c=this.marker.highlight.state:null!=c&&c!=b.getState()&&null!=this.marker.highlight.shape&&(this.marker.highlight.shape.stroke="transparent",this.marker.highlight.repaint(),c=null)}null==c||this.isCellEnabled(c.cell)||(c=null,this.marker.reset());var e=this.clonePreviewState(this.currentPoint,null!=c?c.cell:null);this.updatePreviewState(e,this.currentPoint,c,b,d);this.setPreviewColor(null==this.error?
-this.marker.validColor:this.marker.invalidColor);this.abspoints=e.absolutePoints;this.active=!0}this.updateHint(b,this.currentPoint);this.drawPreview();mxEvent.consume(b.getEvent());b.consume()}else mxClient.IS_IE&&null!=this.getHandleForEvent(b)&&b.consume(!1)};
+else if(this.outlineConnect){var d=this.isSource||this.isTarget?this.isOutlineConnectEvent(b):!1;d?c=this.marker.highlight.state:null!=c&&c!=b.getState()&&this.graph.isCellConnectable(b.getCell())&&null!=this.marker.highlight.shape&&(this.marker.highlight.shape.stroke="transparent",this.marker.highlight.repaint(),c=null)}null==c||this.isCellEnabled(c.cell)||(c=null,this.marker.reset());var e=this.clonePreviewState(this.currentPoint,null!=c?c.cell:null);this.updatePreviewState(e,this.currentPoint,
+c,b,d);this.setPreviewColor(null==this.error?this.marker.validColor:this.marker.invalidColor);this.abspoints=e.absolutePoints;this.active=!0}this.updateHint(b,this.currentPoint);this.drawPreview();mxEvent.consume(b.getEvent());b.consume()}else mxClient.IS_IE&&null!=this.getHandleForEvent(b)&&b.consume(!1)};
 mxEdgeHandler.prototype.mouseUp=function(a,b){if(null!=this.index&&null!=this.marker){var c=this.state.cell,d=this.index;this.index=null;if(b.getX()!=this.startX||b.getY()!=this.startY){var e=!this.graph.isIgnoreTerminalEvent(b.getEvent())&&this.graph.isCloneEvent(b.getEvent())&&this.cloneEnabled&&this.graph.isCellsCloneable();if(null!=this.error)0<this.error.length&&this.graph.validationAlert(this.error);else if(d<=mxEvent.CUSTOM_HANDLE&&d>mxEvent.VIRTUAL_HANDLE){if(null!=this.customHandles){var f=
 this.graph.getModel();f.beginUpdate();try{this.customHandles[mxEvent.CUSTOM_HANDLE-d].execute()}finally{f.endUpdate()}}}else if(this.isLabel)this.moveLabel(this.state,this.label.x,this.label.y);else if(this.isSource||this.isTarget)if(d=null,null!=this.constraintHandler.currentConstraint&&null!=this.constraintHandler.currentFocus&&(d=this.constraintHandler.currentFocus.cell),null==d&&this.marker.hasValidState()&&null!=this.marker.highlight&&null!=this.marker.highlight.shape&&"transparent"!=this.marker.highlight.shape.stroke&&
 "white"!=this.marker.highlight.shape.stroke&&(d=this.marker.validState.cell),null!=d){var f=this.graph.getModel(),g=f.getParent(c);f.beginUpdate();try{if(e){var k=f.getGeometry(c),e=this.graph.cloneCell(c);f.add(g,e,f.getChildCount(g));null!=k&&(k=k.clone(),f.setGeometry(e,k));var l=f.getTerminal(c,!this.isSource);this.graph.connectCell(e,l,!this.isSource);c=e}c=this.connect(c,d,this.isSource,e,b)}finally{f.endUpdate()}}else this.graph.isAllowDanglingEdges()&&(f=this.abspoints[this.isSource?0:this.abspoints.length-
@@ -1973,8 +1976,8 @@ this.fragment&&(a=a+"#"+this.fragment);return a};this.toAbsolute=function(a){a=n
 a.query):("/"===this.path.substr(0,1)?c.path=b(this.path):(c.path=null!==a.authority&&""===a.path?"/"+this.path:a.path.replace(/[^\/]+$/,"")+this.path,c.path=b(c.path)),c.query=this.query),c.authority=a.authority),c.scheme=a.scheme);c.fragment=this.fragment;return c};a&&this.parse(a)},color:function(a,b){function c(a,b,c){if(null===a)return[c,c,c];var d=Math.floor(a),e=c*(1-b);a=c*(1-b*(d%2?a-d:1-(a-d)));switch(d){case 6:case 0:return[c,a,e];case 1:return[a,c,e];case 2:return[e,c,a];case 3:return[e,
 a,c];case 4:return[a,e,c];case 5:return[c,e,a]}}function d(b,c){if(!jscolor.picker){jscolor.picker={box:document.createElement("div"),boxB:document.createElement("div"),pad:document.createElement("div"),padB:document.createElement("div"),padM:document.createElement("div"),sld:document.createElement("div"),sldB:document.createElement("div"),sldM:document.createElement("div"),btn:document.createElement("div"),btnS:document.createElement("span"),btnT:document.createTextNode(r.pickerCloseText)};for(var d=
 0;d<jscolor.images.sld[1];d+=4){var k=document.createElement("div");k.style.height="4px";k.style.fontSize="1px";k.style.lineHeight="0";jscolor.picker.sld.appendChild(k)}jscolor.picker.sldB.appendChild(jscolor.picker.sld);jscolor.picker.box.appendChild(jscolor.picker.sldB);jscolor.picker.box.appendChild(jscolor.picker.sldM);jscolor.picker.padB.appendChild(jscolor.picker.pad);jscolor.picker.box.appendChild(jscolor.picker.padB);jscolor.picker.box.appendChild(jscolor.picker.padM);jscolor.picker.btnS.appendChild(jscolor.picker.btnT);
-jscolor.picker.btn.appendChild(jscolor.picker.btnS);jscolor.picker.box.appendChild(jscolor.picker.btn);jscolor.picker.boxB.appendChild(jscolor.picker.box)}var l=jscolor.picker;l.box.onmouseup=l.box.onmouseout=function(){mxClient.IS_TOUCH||a.focus()};l.box.onmousedown=function(){};l.box.onmousemove=function(a){if(y||A)y&&m(a),A&&n(a),document.selection?document.selection.empty():window.getSelection&&window.getSelection().removeAllRanges(),p()};l.padM.onmouseup=l.padM.onmouseout=function(){y&&(y=!1,
-jscolor.fireEvent(u,"change"))};l.padM.onmousedown=function(a){switch(t){case 0:0===r.hsv[2]&&r.fromHSV(null,null,1);break;case 1:0===r.hsv[1]&&r.fromHSV(null,1,null)}y=!0;m(a);p()};l.sldM.onmouseup=l.sldM.onmouseout=function(){A&&(A=!1,jscolor.fireEvent(u,"change"))};l.sldM.onmousedown=function(a){A=!0;n(a);p()};d=e(r);l.box.style.width=d[0]+"px";l.box.style.height=d[1]+"px";l.boxB.style.position="absolute";l.boxB.style.clear="both";l.boxB.style.left=b+"px";l.boxB.style.top=c+"px";l.boxB.style.zIndex=
+jscolor.picker.btn.appendChild(jscolor.picker.btnS);jscolor.picker.box.appendChild(jscolor.picker.btn);jscolor.picker.boxB.appendChild(jscolor.picker.box)}var l=jscolor.picker;l.box.onmouseup=l.box.onmouseout=function(){mxClient.IS_TOUCH||a.focus()};l.box.onmousedown=function(){};l.box.onmousemove=function(a){if(y||B)y&&m(a),B&&n(a),document.selection?document.selection.empty():window.getSelection&&window.getSelection().removeAllRanges(),p()};l.padM.onmouseup=l.padM.onmouseout=function(){y&&(y=!1,
+jscolor.fireEvent(u,"change"))};l.padM.onmousedown=function(a){switch(t){case 0:0===r.hsv[2]&&r.fromHSV(null,null,1);break;case 1:0===r.hsv[1]&&r.fromHSV(null,1,null)}y=!0;m(a);p()};l.sldM.onmouseup=l.sldM.onmouseout=function(){B&&(B=!1,jscolor.fireEvent(u,"change"))};l.sldM.onmousedown=function(a){B=!0;n(a);p()};d=e(r);l.box.style.width=d[0]+"px";l.box.style.height=d[1]+"px";l.boxB.style.position="absolute";l.boxB.style.clear="both";l.boxB.style.left=b+"px";l.boxB.style.top=c+"px";l.boxB.style.zIndex=
 r.pickerZIndex;l.boxB.style.border=r.pickerBorder+"px solid";l.boxB.style.borderColor=r.pickerBorderColor;l.boxB.style.background=r.pickerFaceColor;l.pad.style.width=jscolor.images.pad[0]+"px";l.pad.style.height=jscolor.images.pad[1]+"px";l.padB.style.position="absolute";l.padB.style.left=r.pickerFace+"px";l.padB.style.top=r.pickerFace+"px";l.padB.style.border=r.pickerInset+"px solid";l.padB.style.borderColor=r.pickerInsetColor;l.padM.style.position="absolute";l.padM.style.left="0";l.padM.style.top=
 "0";l.padM.style.width=r.pickerFace+2*r.pickerInset+jscolor.images.pad[0]+jscolor.images.arrow[0]+"px";l.padM.style.height=l.box.style.height;l.padM.style.cursor="crosshair";l.sld.style.overflow="hidden";l.sld.style.width=jscolor.images.sld[0]+"px";l.sld.style.height=jscolor.images.sld[1]+"px";l.sldB.style.display=r.slider?"block":"none";l.sldB.style.position="absolute";l.sldB.style.right=r.pickerFace+"px";l.sldB.style.top=r.pickerFace+"px";l.sldB.style.border=r.pickerInset+"px solid";l.sldB.style.borderColor=
 r.pickerInsetColor;l.sldM.style.display=r.slider?"block":"none";l.sldM.style.position="absolute";l.sldM.style.right="0";l.sldM.style.top="0";l.sldM.style.width=jscolor.images.sld[0]+jscolor.images.arrow[0]+r.pickerFace+2*r.pickerInset+"px";l.sldM.style.height=l.box.style.height;try{l.sldM.style.cursor="pointer"}catch(F){l.sldM.style.cursor="hand"}l.btn.style.display=r.pickerClosable?"block":"none";l.btn.style.position="absolute";l.btn.style.left=r.pickerFace+"px";l.btn.style.bottom=r.pickerFace+"px";
@@ -1983,17 +1986,17 @@ l.btn.style.padding="0 15px";l.btn.style.height="18px";l.btn.style.border=r.pick
 "no-repeat";l.pad.style.backgroundPosition="0 0";f();g();jscolor.picker.owner=r;document.getElementsByTagName("body")[0].appendChild(l.boxB)}function e(a){return[2*a.pickerInset+2*a.pickerFace+jscolor.images.pad[0]+(a.slider?2*a.pickerInset+2*jscolor.images.arrow[0]+jscolor.images.sld[0]:0),a.pickerClosable?4*a.pickerInset+3*a.pickerFace+jscolor.images.pad[1]+a.pickerButtonHeight:2*a.pickerInset+2*a.pickerFace+jscolor.images.pad[1]]}function f(){switch(t){case 0:var a=1;break;case 1:a=2}jscolor.picker.padM.style.backgroundPosition=
 r.pickerFace+r.pickerInset+Math.round(r.hsv[0]/6*(jscolor.images.pad[0]-1))-Math.floor(jscolor.images.cross[0]/2)+"px "+(r.pickerFace+r.pickerInset+Math.round((1-r.hsv[a])*(jscolor.images.pad[1]-1))-Math.floor(jscolor.images.cross[1]/2))+"px";a=jscolor.picker.sld.childNodes;switch(t){case 0:for(var b=c(r.hsv[0],r.hsv[1],1),d=0;d<a.length;d+=1)a[d].style.backgroundColor="rgb("+b[0]*(1-d/a.length)*100+"%,"+b[1]*(1-d/a.length)*100+"%,"+b[2]*(1-d/a.length)*100+"%)";break;case 1:var e,f=[r.hsv[2],0,0],
 d=Math.floor(r.hsv[0]),g=d%2?r.hsv[0]-d:1-(r.hsv[0]-d);switch(d){case 6:case 0:b=[0,1,2];break;case 1:b=[1,0,2];break;case 2:b=[2,0,1];break;case 3:b=[2,1,0];break;case 4:b=[1,2,0];break;case 5:b=[0,2,1]}for(d=0;d<a.length;d+=1)e=1-1/(a.length-1)*d,f[1]=f[0]*(1-e*g),f[2]=f[0]*(1-e),a[d].style.backgroundColor="rgb("+100*f[b[0]]+"%,"+100*f[b[1]]+"%,"+100*f[b[2]]+"%)"}}function g(){switch(t){case 0:var a=2;break;case 1:a=1}jscolor.picker.sldM.style.backgroundPosition="0 "+(r.pickerFace+r.pickerInset+
-Math.round((1-r.hsv[a])*(jscolor.images.sld[1]-1))-Math.floor(jscolor.images.arrow[1]/2))+"px"}function k(){return jscolor.picker&&jscolor.picker.owner===r}function l(){u!==a&&r.importColor()}function m(a){var b=jscolor.getRelMousePos(a);a=b.x-r.pickerFace-r.pickerInset;b=b.y-r.pickerFace-r.pickerInset;switch(t){case 0:r.fromHSV(6/(jscolor.images.pad[0]-1)*a,1-b/(jscolor.images.pad[1]-1),null,C);break;case 1:r.fromHSV(6/(jscolor.images.pad[0]-1)*a,null,1-b/(jscolor.images.pad[1]-1),C)}}function n(a){a=
-jscolor.getRelMousePos(a).y-r.pickerFace-r.pickerInset;switch(t){case 0:r.fromHSV(null,null,1-a/(jscolor.images.sld[1]-1),B);break;case 1:r.fromHSV(null,1-a/(jscolor.images.sld[1]-1),null,B)}}function p(){if(r.onImmediateChange)if("string"===typeof r.onImmediateChange)eval(r.onImmediateChange);else r.onImmediateChange(r)}this.adjust=this.required=!0;this.hash=!1;this.slider=this.caps=!0;this.styleElement=this.valueElement=a;this.onImmediateChange=null;this.hsv=[0,0,1];this.rgb=[1,1,1];this.pickerOnfocus=
+Math.round((1-r.hsv[a])*(jscolor.images.sld[1]-1))-Math.floor(jscolor.images.arrow[1]/2))+"px"}function k(){return jscolor.picker&&jscolor.picker.owner===r}function l(){u!==a&&r.importColor()}function m(a){var b=jscolor.getRelMousePos(a);a=b.x-r.pickerFace-r.pickerInset;b=b.y-r.pickerFace-r.pickerInset;switch(t){case 0:r.fromHSV(6/(jscolor.images.pad[0]-1)*a,1-b/(jscolor.images.pad[1]-1),null,v);break;case 1:r.fromHSV(6/(jscolor.images.pad[0]-1)*a,null,1-b/(jscolor.images.pad[1]-1),v)}}function n(a){a=
+jscolor.getRelMousePos(a).y-r.pickerFace-r.pickerInset;switch(t){case 0:r.fromHSV(null,null,1-a/(jscolor.images.sld[1]-1),C);break;case 1:r.fromHSV(null,1-a/(jscolor.images.sld[1]-1),null,C)}}function p(){if(r.onImmediateChange)if("string"===typeof r.onImmediateChange)eval(r.onImmediateChange);else r.onImmediateChange(r)}this.adjust=this.required=!0;this.hash=!1;this.slider=this.caps=!0;this.styleElement=this.valueElement=a;this.onImmediateChange=null;this.hsv=[0,0,1];this.rgb=[1,1,1];this.pickerOnfocus=
 !0;this.pickerMode="HSV";this.pickerPosition="bottom";this.pickerSmartPosition=!0;this.pickerButtonHeight=20;this.pickerClosable=!1;this.pickerCloseText="Close";this.pickerButtonColor="ButtonText";this.pickerFace=0;this.pickerFaceColor="ThreeDFace";this.pickerBorder=1;this.pickerBorderColor="ThreeDHighlight ThreeDShadow ThreeDShadow ThreeDHighlight";this.pickerInset=1;this.pickerInsetColor="ThreeDShadow ThreeDHighlight ThreeDHighlight ThreeDShadow";this.pickerZIndex=1E4;for(var q in b)b.hasOwnProperty(q)&&
 (this[q]=b[q]);this.hidePicker=function(){k()&&(delete jscolor.picker.owner,document.getElementsByTagName("body")[0].removeChild(jscolor.picker.boxB))};this.showPicker=function(){k()||(jscolor.getElementPos(a),jscolor.getElementSize(a),jscolor.getViewPos(),jscolor.getViewSize(),e(this),this.pickerPosition.toLowerCase(),d(0,0))};this.importColor=function(){u?this.adjust?!this.required&&/^\s*$/.test(u.value)?(u.value="",x.style.backgroundImage=x.jscStyle.backgroundImage,x.style.backgroundColor=x.jscStyle.backgroundColor,
-x.style.color=x.jscStyle.color,this.exportColor(z|v)):this.fromString(u.value)||this.exportColor():this.fromString(u.value,z)||(x.style.backgroundImage=x.jscStyle.backgroundImage,x.style.backgroundColor=x.jscStyle.backgroundColor,x.style.color=x.jscStyle.color,this.exportColor(z|v)):this.exportColor()};this.exportColor=function(a){if(!(a&z)&&u){var b=this.toString();this.caps&&(b=b.toUpperCase());this.hash&&(b="#"+b);u.value=b}a&v||!x||(x.style.backgroundImage="none",x.style.backgroundColor="#"+this.toString(),
-x.style.color=.5>.213*this.rgb[0]+.715*this.rgb[1]+.072*this.rgb[2]?"#FFF":"#000");a&B||!k()||f();a&C||!k()||g()};this.fromHSV=function(a,b,d,e){0>a&&(a=0);6<a&&(a=6);0>b&&(b=0);1<b&&(b=1);0>d&&(d=0);1<d&&(d=1);this.rgb=c(null===a?this.hsv[0]:this.hsv[0]=a,null===b?this.hsv[1]:this.hsv[1]=b,null===d?this.hsv[2]:this.hsv[2]=d);this.exportColor(e)};this.fromRGB=function(a,b,c,d){0>a&&(a=0);1<a&&(a=1);0>b&&(b=0);1<b&&(b=1);0>c&&(c=0);1<c&&(c=1);a=null===a?this.rgb[0]:this.rgb[0]=a;b=null===b?this.rgb[1]:
+x.style.color=x.jscStyle.color,this.exportColor(A|z)):this.fromString(u.value)||this.exportColor():this.fromString(u.value,A)||(x.style.backgroundImage=x.jscStyle.backgroundImage,x.style.backgroundColor=x.jscStyle.backgroundColor,x.style.color=x.jscStyle.color,this.exportColor(A|z)):this.exportColor()};this.exportColor=function(a){if(!(a&A)&&u){var b=this.toString();this.caps&&(b=b.toUpperCase());this.hash&&(b="#"+b);u.value=b}a&z||!x||(x.style.backgroundImage="none",x.style.backgroundColor="#"+this.toString(),
+x.style.color=.5>.213*this.rgb[0]+.715*this.rgb[1]+.072*this.rgb[2]?"#FFF":"#000");a&C||!k()||f();a&v||!k()||g()};this.fromHSV=function(a,b,d,e){0>a&&(a=0);6<a&&(a=6);0>b&&(b=0);1<b&&(b=1);0>d&&(d=0);1<d&&(d=1);this.rgb=c(null===a?this.hsv[0]:this.hsv[0]=a,null===b?this.hsv[1]:this.hsv[1]=b,null===d?this.hsv[2]:this.hsv[2]=d);this.exportColor(e)};this.fromRGB=function(a,b,c,d){0>a&&(a=0);1<a&&(a=1);0>b&&(b=0);1<b&&(b=1);0>c&&(c=0);1<c&&(c=1);a=null===a?this.rgb[0]:this.rgb[0]=a;b=null===b?this.rgb[1]:
 this.rgb[1]=b;var e=null===c?this.rgb[2]:this.rgb[2]=c,f=Math.min(Math.min(a,b),e);c=Math.max(Math.max(a,b),e);var g=c-f;0===g?a=[null,0,c]:(a=a===f?3+(e-b)/g:b===f?5+(a-e)/g:1+(b-a)/g,a=[6===a?0:a,g/c,c]);null!==a[0]&&(this.hsv[0]=a[0]);0!==a[2]&&(this.hsv[1]=a[1]);this.hsv[2]=a[2];this.exportColor(d)};this.fromString=function(a,b){var c=a.match(/^\W*([0-9A-F]{3}([0-9A-F]{3})?)\W*$/i);return c?(6===c[1].length?this.fromRGB(parseInt(c[1].substr(0,2),16)/255,parseInt(c[1].substr(2,2),16)/255,parseInt(c[1].substr(4,
 2),16)/255,b):this.fromRGB(parseInt(c[1].charAt(0)+c[1].charAt(0),16)/255,parseInt(c[1].charAt(1)+c[1].charAt(1),16)/255,parseInt(c[1].charAt(2)+c[1].charAt(2),16)/255,b),!0):!1};this.toString=function(){return(256|Math.round(255*this.rgb[0])).toString(16).substr(1)+(256|Math.round(255*this.rgb[1])).toString(16).substr(1)+(256|Math.round(255*this.rgb[2])).toString(16).substr(1)};var r=this,t="hvs"===this.pickerMode.toLowerCase()?1:0,u=jscolor.fetchElement(this.valueElement),x=jscolor.fetchElement(this.styleElement),
-y=!1,A=!1,z=1,v=2,B=4,C=8;u&&(q=function(){r.fromString(u.value,z);p()},jscolor.addEvent(u,"keyup",q),jscolor.addEvent(u,"input",q),jscolor.addEvent(u,"blur",l),u.setAttribute("autocomplete","off"));x&&(x.jscStyle={backgroundImage:x.style.backgroundImage,backgroundColor:x.style.backgroundColor,color:x.style.color});switch(t){case 0:jscolor.requireImage("hs.png");break;case 1:jscolor.requireImage("hv.png")}this.importColor()}};jscolor.install();
-Editor=function(a,b,f,d,l){mxEventSource.call(this);this.chromeless=null!=a?a:this.chromeless;this.initStencilRegistry();this.graph=d||this.createGraph(b,f);this.editable=null!=l?l:!a;this.undoManager=this.createUndoManager();this.status="";this.getOrCreateFilename=function(){return this.filename||mxResources.get("drawing",[Editor.pageCounter])+".xml"};this.getFilename=function(){return this.filename};this.setStatus=function(a){this.status=a;this.fireEvent(new mxEventObject("statusChanged"))};this.getStatus=
-function(){return this.status};this.graphChangeListener=function(a,b){var d=null!=b?b.getProperty("edit"):null;null!=d&&d.ignoreEdit||this.setModified(!0)};this.graph.getModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(){this.graphChangeListener.apply(this,arguments)}));this.graph.resetViewOnRootChange=!1;this.init()};Editor.pageCounter=0;
+y=!1,B=!1,A=1,z=2,C=4,v=8;u&&(q=function(){r.fromString(u.value,A);p()},jscolor.addEvent(u,"keyup",q),jscolor.addEvent(u,"input",q),jscolor.addEvent(u,"blur",l),u.setAttribute("autocomplete","off"));x&&(x.jscStyle={backgroundImage:x.style.backgroundImage,backgroundColor:x.style.backgroundColor,color:x.style.color});switch(t){case 0:jscolor.requireImage("hs.png");break;case 1:jscolor.requireImage("hv.png")}this.importColor()}};jscolor.install();
+Editor=function(a,b,e,c,l){mxEventSource.call(this);this.chromeless=null!=a?a:this.chromeless;this.initStencilRegistry();this.graph=c||this.createGraph(b,e);this.editable=null!=l?l:!a;this.undoManager=this.createUndoManager();this.status="";this.getOrCreateFilename=function(){return this.filename||mxResources.get("drawing",[Editor.pageCounter])+".xml"};this.getFilename=function(){return this.filename};this.setStatus=function(a){this.status=a;this.fireEvent(new mxEventObject("statusChanged"))};this.getStatus=
+function(){return this.status};this.graphChangeListener=function(a,b){var c=null!=b?b.getProperty("edit"):null;null!=c&&c.ignoreEdit||this.setModified(!0)};this.graph.getModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(){this.graphChangeListener.apply(this,arguments)}));this.graph.resetViewOnRootChange=!1;this.init()};Editor.pageCounter=0;
 (function(){try{for(var a=window;null!=a.opener&&"undefined"!==typeof a.opener.Editor&&!isNaN(a.opener.Editor.pageCounter)&&a.opener!=a;)a=a.opener;null!=a&&(a.Editor.pageCounter++,Editor.pageCounter=a.Editor.pageCounter)}catch(b){}})();Editor.useLocalStorage="undefined"!=typeof Storage&&mxClient.IS_IOS;
 Editor.helpImage=mxClient.IS_SVG?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBmaWxsPSJub25lIiBkPSJNMCAwaDI0djI0SDB6Ii8+PHBhdGggZD0iTTExIDE4aDJ2LTJoLTJ2MnptMS0xNkM2LjQ4IDIgMiA2LjQ4IDIgMTJzNC40OCAxMCAxMCAxMCAxMC00LjQ4IDEwLTEwUzE3LjUyIDIgMTIgMnptMCAxOGMtNC40MSAwLTgtMy41OS04LThzMy41OS04IDgtOCA4IDMuNTkgOCA4LTMuNTkgOC04IDh6bTAtMTRjLTIuMjEgMC00IDEuNzktNCA0aDJjMC0xLjEuOS0yIDItMnMyIC45IDIgMmMwIDItMyAxLjc1LTMgNWgyYzAtMi4yNSAzLTIuNSAzLTUgMC0yLjIxLTEuNzktNC00LTR6Ii8+PC9zdmc+":IMAGE_PATH+
 "/help.png";
@@ -2016,27 +2019,27 @@ Editor.fullscreenLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAA
 Editor.ctrlKey=mxClient.IS_MAC?"Cmd":"Ctrl";Editor.hintOffset=20;Editor.popupsAllowed=!0;mxUtils.extend(Editor,mxEventSource);Editor.prototype.originalNoForeignObject=mxClient.NO_FO;Editor.prototype.transparentImage=mxClient.IS_SVG?"data:image/gif;base64,R0lGODlhMAAwAIAAAP///wAAACH5BAEAAAAALAAAAAAwADAAAAIxhI+py+0Po5y02ouz3rz7D4biSJbmiabqyrbuC8fyTNf2jef6zvf+DwwKh8Si8egpAAA7":IMAGE_PATH+"/transparent.gif";Editor.prototype.extendCanvas=!0;Editor.prototype.chromeless=!1;Editor.prototype.cancelFirst=!0;
 Editor.prototype.enabled=!0;Editor.prototype.filename=null;Editor.prototype.modified=!1;Editor.prototype.autosave=!0;Editor.prototype.initialTopSpacing=0;Editor.prototype.appName=document.title;Editor.prototype.editBlankUrl=window.location.protocol+"//"+window.location.host+"/";Editor.prototype.defaultGraphOverflow="hidden";Editor.prototype.init=function(){};Editor.prototype.isChromelessView=function(){return this.chromeless};Editor.prototype.setAutosave=function(a){this.autosave=a;this.fireEvent(new mxEventObject("autosaveChanged"))};
 Editor.prototype.getEditBlankUrl=function(a){return this.editBlankUrl+a};
-Editor.prototype.editAsNew=function(a,b){var f=null!=b?"?title="+encodeURIComponent(b):"";null!=urlParams.ui&&(f+=(0<f.length?"&":"?")+"ui="+urlParams.ui);if("undefined"!==typeof window.postMessage&&(null==document.documentMode||10<=document.documentMode)){var d=null,l=mxUtils.bind(this,function(b){"ready"==b.data&&b.source==d&&(mxEvent.removeListener(window,"message",l),d.postMessage(a,"*"))});mxEvent.addListener(window,"message",l);d=this.graph.openLink(this.getEditBlankUrl(f+(0<f.length?"&":"?")+
-"client=1"),null,!0)}else this.graph.openLink(this.getEditBlankUrl(f)+"#R"+encodeURIComponent(a))};Editor.prototype.createGraph=function(a,b){var f=new Graph(null,b,null,null,a);f.transparentBackground=!1;this.chromeless||(f.isBlankLink=function(a){return!this.isExternalProtocol(a)});return f};
+Editor.prototype.editAsNew=function(a,b){var e=null!=b?"?title="+encodeURIComponent(b):"";null!=urlParams.ui&&(e+=(0<e.length?"&":"?")+"ui="+urlParams.ui);if("undefined"!==typeof window.postMessage&&(null==document.documentMode||10<=document.documentMode)){var c=null,l=mxUtils.bind(this,function(b){"ready"==b.data&&b.source==c&&(mxEvent.removeListener(window,"message",l),c.postMessage(a,"*"))});mxEvent.addListener(window,"message",l);c=this.graph.openLink(this.getEditBlankUrl(e+(0<e.length?"&":"?")+
+"client=1"),null,!0)}else this.graph.openLink(this.getEditBlankUrl(e)+"#R"+encodeURIComponent(a))};Editor.prototype.createGraph=function(a,b){var e=new Graph(null,b,null,null,a);e.transparentBackground=!1;this.chromeless||(e.isBlankLink=function(a){return!this.isExternalProtocol(a)});return e};
 Editor.prototype.resetGraph=function(){this.graph.gridEnabled=!this.isChromelessView()||"1"==urlParams.grid;this.graph.graphHandler.guidesEnabled=!0;this.graph.setTooltips(!0);this.graph.setConnectable(!0);this.graph.foldingEnabled=!0;this.graph.scrollbars=this.graph.defaultScrollbars;this.graph.pageVisible=this.graph.defaultPageVisible;this.graph.pageBreaksVisible=this.graph.pageVisible;this.graph.preferPageSize=this.graph.pageBreaksVisible;this.graph.background=null;this.graph.pageScale=mxGraph.prototype.pageScale;
 this.graph.pageFormat=mxGraph.prototype.pageFormat;this.graph.currentScale=1;this.graph.currentTranslate.x=0;this.graph.currentTranslate.y=0;this.updateGraphComponents();this.graph.view.setScale(1)};
 Editor.prototype.readGraphState=function(a){this.graph.gridEnabled="0"!=a.getAttribute("grid")&&(!this.isChromelessView()||"1"==urlParams.grid);this.graph.gridSize=parseFloat(a.getAttribute("gridSize"))||mxGraph.prototype.gridSize;this.graph.graphHandler.guidesEnabled="0"!=a.getAttribute("guides");this.graph.setTooltips("0"!=a.getAttribute("tooltips"));this.graph.setConnectable("0"!=a.getAttribute("connect"));this.graph.connectionArrowsEnabled="0"!=a.getAttribute("arrows");this.graph.foldingEnabled=
 "0"!=a.getAttribute("fold");this.isChromelessView()&&this.graph.foldingEnabled&&(this.graph.foldingEnabled="1"==urlParams.nav,this.graph.cellRenderer.forceControlClickHandler=this.graph.foldingEnabled);var b=parseFloat(a.getAttribute("pageScale"));!isNaN(b)&&0<b?this.graph.pageScale=b:this.graph.pageScale=mxGraph.prototype.pageScale;this.graph.isLightboxView()||this.graph.isViewer()?this.graph.pageVisible=!1:(b=a.getAttribute("page"),this.graph.pageVisible=null!=b?"0"!=b:this.graph.defaultPageVisible);
-this.graph.pageBreaksVisible=this.graph.pageVisible;this.graph.preferPageSize=this.graph.pageBreaksVisible;var b=parseFloat(a.getAttribute("pageWidth")),f=parseFloat(a.getAttribute("pageHeight"));isNaN(b)||isNaN(f)||(this.graph.pageFormat=new mxRectangle(0,0,b,f));a=a.getAttribute("background");this.graph.background=null!=a&&0<a.length?a:null};
-Editor.prototype.setGraphXml=function(a){if(null!=a){var b=new mxCodec(a.ownerDocument);if("mxGraphModel"==a.nodeName){this.graph.model.beginUpdate();try{this.graph.model.clear(),this.graph.view.scale=1,this.readGraphState(a),this.updateGraphComponents(),b.decode(a,this.graph.getModel())}finally{this.graph.model.endUpdate()}this.fireEvent(new mxEventObject("resetGraphView"))}else if("root"==a.nodeName){this.resetGraph();var f=b.document.createElement("mxGraphModel");f.appendChild(a);b.decode(f,this.graph.getModel());
+this.graph.pageBreaksVisible=this.graph.pageVisible;this.graph.preferPageSize=this.graph.pageBreaksVisible;var b=parseFloat(a.getAttribute("pageWidth")),e=parseFloat(a.getAttribute("pageHeight"));isNaN(b)||isNaN(e)||(this.graph.pageFormat=new mxRectangle(0,0,b,e));a=a.getAttribute("background");this.graph.background=null!=a&&0<a.length?a:null};
+Editor.prototype.setGraphXml=function(a){if(null!=a){var b=new mxCodec(a.ownerDocument);if("mxGraphModel"==a.nodeName){this.graph.model.beginUpdate();try{this.graph.model.clear(),this.graph.view.scale=1,this.readGraphState(a),this.updateGraphComponents(),b.decode(a,this.graph.getModel())}finally{this.graph.model.endUpdate()}this.fireEvent(new mxEventObject("resetGraphView"))}else if("root"==a.nodeName){this.resetGraph();var e=b.document.createElement("mxGraphModel");e.appendChild(a);b.decode(e,this.graph.getModel());
 this.updateGraphComponents();this.fireEvent(new mxEventObject("resetGraphView"))}else throw{message:mxResources.get("cannotOpenFile"),node:a,toString:function(){return this.message}};}else this.resetGraph(),this.graph.model.clear(),this.fireEvent(new mxEventObject("resetGraphView"))};
 Editor.prototype.getGraphXml=function(a){a=(null!=a?a:1)?(new mxCodec(mxUtils.createXmlDocument())).encode(this.graph.getModel()):this.graph.encodeCells(mxUtils.sortCells(this.graph.model.getTopmostCells(this.graph.getSelectionCells())));if(0!=this.graph.view.translate.x||0!=this.graph.view.translate.y)a.setAttribute("dx",Math.round(100*this.graph.view.translate.x)/100),a.setAttribute("dy",Math.round(100*this.graph.view.translate.y)/100);a.setAttribute("grid",this.graph.isGridEnabled()?"1":"0");a.setAttribute("gridSize",
 this.graph.gridSize);a.setAttribute("guides",this.graph.graphHandler.guidesEnabled?"1":"0");a.setAttribute("tooltips",this.graph.tooltipHandler.isEnabled()?"1":"0");a.setAttribute("connect",this.graph.connectionHandler.isEnabled()?"1":"0");a.setAttribute("arrows",this.graph.connectionArrowsEnabled?"1":"0");a.setAttribute("fold",this.graph.foldingEnabled?"1":"0");a.setAttribute("page",this.graph.pageVisible?"1":"0");a.setAttribute("pageScale",this.graph.pageScale);a.setAttribute("pageWidth",this.graph.pageFormat.width);
 a.setAttribute("pageHeight",this.graph.pageFormat.height);null!=this.graph.background&&a.setAttribute("background",this.graph.background);return a};Editor.prototype.updateGraphComponents=function(){var a=this.graph;null!=a.container&&(a.view.validateBackground(),a.container.style.overflow=a.scrollbars?"auto":this.defaultGraphOverflow,this.fireEvent(new mxEventObject("updateGraphComponents")))};Editor.prototype.setModified=function(a){this.modified=a};
 Editor.prototype.setFilename=function(a){this.filename=a};
-Editor.prototype.createUndoManager=function(){var a=this.graph,b=new mxUndoManager;this.undoListener=function(a,f){b.undoableEditHappened(f.getProperty("edit"))};var f=mxUtils.bind(this,function(a,b){this.undoListener.apply(this,arguments)});a.getModel().addListener(mxEvent.UNDO,f);a.getView().addListener(mxEvent.UNDO,f);f=function(b,f){var d=a.getSelectionCellsForChanges(f.getProperty("edit").changes);a.getModel();for(var l=[],u=0;u<d.length;u++)null!=a.view.getState(d[u])&&l.push(d[u]);a.setSelectionCells(l)};
-b.addListener(mxEvent.UNDO,f);b.addListener(mxEvent.REDO,f);return b};Editor.prototype.initStencilRegistry=function(){};Editor.prototype.destroy=function(){null!=this.graph&&(this.graph.destroy(),this.graph=null)};OpenFile=function(a){this.consumer=this.producer=null;this.done=a;this.args=null};OpenFile.prototype.setConsumer=function(a){this.consumer=a;this.execute()};OpenFile.prototype.setData=function(){this.args=arguments;this.execute()};OpenFile.prototype.error=function(a){this.cancel(!0);mxUtils.alert(a)};
+Editor.prototype.createUndoManager=function(){var a=this.graph,b=new mxUndoManager;this.undoListener=function(a,e){b.undoableEditHappened(e.getProperty("edit"))};var e=mxUtils.bind(this,function(a,b){this.undoListener.apply(this,arguments)});a.getModel().addListener(mxEvent.UNDO,e);a.getView().addListener(mxEvent.UNDO,e);e=function(b,e){var c=a.getSelectionCellsForChanges(e.getProperty("edit").changes);a.getModel();for(var l=[],u=0;u<c.length;u++)null!=a.view.getState(c[u])&&l.push(c[u]);a.setSelectionCells(l)};
+b.addListener(mxEvent.UNDO,e);b.addListener(mxEvent.REDO,e);return b};Editor.prototype.initStencilRegistry=function(){};Editor.prototype.destroy=function(){null!=this.graph&&(this.graph.destroy(),this.graph=null)};OpenFile=function(a){this.consumer=this.producer=null;this.done=a;this.args=null};OpenFile.prototype.setConsumer=function(a){this.consumer=a;this.execute()};OpenFile.prototype.setData=function(){this.args=arguments;this.execute()};OpenFile.prototype.error=function(a){this.cancel(!0);mxUtils.alert(a)};
 OpenFile.prototype.execute=function(){null!=this.consumer&&null!=this.args&&(this.cancel(!1),this.consumer.apply(this,this.args))};OpenFile.prototype.cancel=function(a){null!=this.done&&this.done(null!=a?a:!0)};
-function Dialog(a,b,f,d,l,m,q,u,z,C,c){var e=0;mxClient.IS_VML&&(null==document.documentMode||8>document.documentMode)&&(e=80);f+=e;d+=e;var k=f,x=d,n=mxUtils.getDocumentSize();null!=window.innerHeight&&(n.height=window.innerHeight);var g=n.height,A=Math.max(1,Math.round((n.width-f-64)/2)),v=Math.max(1,Math.round((g-d-a.footerHeight)/3));mxClient.IS_QUIRKS||(b.style.maxHeight="100%");f=null!=document.body?Math.min(f,document.body.scrollWidth-64):f;d=Math.min(d,g-64);0<a.dialogs.length&&(this.zIndex+=
+function Dialog(a,b,e,c,l,m,q,u,z,C,d){var f=0;mxClient.IS_VML&&(null==document.documentMode||8>document.documentMode)&&(f=80);e+=f;c+=f;var k=e,x=c,n=mxUtils.getDocumentSize();null!=window.innerHeight&&(n.height=window.innerHeight);var g=n.height,A=Math.max(1,Math.round((n.width-e-64)/2)),v=Math.max(1,Math.round((g-c-a.footerHeight)/3));mxClient.IS_QUIRKS||(b.style.maxHeight="100%");e=null!=document.body?Math.min(e,document.body.scrollWidth-64):e;c=Math.min(c,g-64);0<a.dialogs.length&&(this.zIndex+=
 2*a.dialogs.length);null==this.bg&&(this.bg=a.createDiv("background"),this.bg.style.position="absolute",this.bg.style.background=Dialog.backdropColor,this.bg.style.height=g+"px",this.bg.style.right="0px",this.bg.style.zIndex=this.zIndex-2,mxUtils.setOpacity(this.bg,this.bgOpacity),mxClient.IS_QUIRKS&&new mxDivResizer(this.bg));n=mxUtils.getDocumentScrollOrigin(document);this.bg.style.left=n.x+"px";this.bg.style.top=n.y+"px";A+=n.x;v+=n.y;l&&document.body.appendChild(this.bg);var t=a.createDiv(z?"geTransDialog":
-"geDialog");l=this.getPosition(A,v,f,d);A=l.x;v=l.y;t.style.width=f+"px";t.style.height=d+"px";t.style.left=A+"px";t.style.top=v+"px";t.style.zIndex=this.zIndex;t.appendChild(b);document.body.appendChild(t);!u&&b.clientHeight>t.clientHeight-64&&(b.style.overflowY="auto");if(m&&(m=document.createElement("img"),m.setAttribute("src",Dialog.prototype.closeImage),m.setAttribute("title",mxResources.get("close")),m.className="geDialogClose",m.style.top=v+14+"px",m.style.left=A+f+38-e+"px",m.style.zIndex=
-this.zIndex,mxEvent.addListener(m,"click",mxUtils.bind(this,function(){a.hideDialog(!0)})),document.body.appendChild(m),this.dialogImg=m,!c)){var D=!1;mxEvent.addGestureListeners(this.bg,mxUtils.bind(this,function(a){D=!0}),null,mxUtils.bind(this,function(c){D&&(a.hideDialog(!0),D=!1)}))}this.resizeListener=mxUtils.bind(this,function(){if(null!=C){var c=C();null!=c&&(k=f=c.w,x=d=c.h)}c=mxUtils.getDocumentSize();g=c.height;this.bg.style.height=g+"px";A=Math.max(1,Math.round((c.width-f-64)/2));v=Math.max(1,
-Math.round((g-d-a.footerHeight)/3));f=null!=document.body?Math.min(k,document.body.scrollWidth-64):k;d=Math.min(x,g-64);c=this.getPosition(A,v,f,d);A=c.x;v=c.y;t.style.left=A+"px";t.style.top=v+"px";t.style.width=f+"px";t.style.height=d+"px";!u&&b.clientHeight>t.clientHeight-64&&(b.style.overflowY="auto");null!=this.dialogImg&&(this.dialogImg.style.top=v+14+"px",this.dialogImg.style.left=A+f+38-e+"px")});mxEvent.addListener(window,"resize",this.resizeListener);this.onDialogClose=q;this.container=
+"geDialog");l=this.getPosition(A,v,e,c);A=l.x;v=l.y;t.style.width=e+"px";t.style.height=c+"px";t.style.left=A+"px";t.style.top=v+"px";t.style.zIndex=this.zIndex;t.appendChild(b);document.body.appendChild(t);!u&&b.clientHeight>t.clientHeight-64&&(b.style.overflowY="auto");if(m&&(m=document.createElement("img"),m.setAttribute("src",Dialog.prototype.closeImage),m.setAttribute("title",mxResources.get("close")),m.className="geDialogClose",m.style.top=v+14+"px",m.style.left=A+e+38-f+"px",m.style.zIndex=
+this.zIndex,mxEvent.addListener(m,"click",mxUtils.bind(this,function(){a.hideDialog(!0)})),document.body.appendChild(m),this.dialogImg=m,!d)){var E=!1;mxEvent.addGestureListeners(this.bg,mxUtils.bind(this,function(a){E=!0}),null,mxUtils.bind(this,function(d){E&&(a.hideDialog(!0),E=!1)}))}this.resizeListener=mxUtils.bind(this,function(){if(null!=C){var d=C();null!=d&&(k=e=d.w,x=c=d.h)}d=mxUtils.getDocumentSize();g=d.height;this.bg.style.height=g+"px";A=Math.max(1,Math.round((d.width-e-64)/2));v=Math.max(1,
+Math.round((g-c-a.footerHeight)/3));e=null!=document.body?Math.min(k,document.body.scrollWidth-64):k;c=Math.min(x,g-64);d=this.getPosition(A,v,e,c);A=d.x;v=d.y;t.style.left=A+"px";t.style.top=v+"px";t.style.width=e+"px";t.style.height=c+"px";!u&&b.clientHeight>t.clientHeight-64&&(b.style.overflowY="auto");null!=this.dialogImg&&(this.dialogImg.style.top=v+14+"px",this.dialogImg.style.left=A+e+38-f+"px")});mxEvent.addListener(window,"resize",this.resizeListener);this.onDialogClose=q;this.container=
 t;a.editor.fireEvent(new mxEventObject("showDialog"))}Dialog.backdropColor="white";Dialog.prototype.zIndex=mxPopupMenu.prototype.zIndex-1;
 Dialog.prototype.noColorImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkEzRDlBMUUwODYxMTExRTFCMzA4RDdDMjJBMEMxRDM3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkEzRDlBMUUxODYxMTExRTFCMzA4RDdDMjJBMEMxRDM3Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTNEOUExREU4NjExMTFFMUIzMDhEN0MyMkEwQzFEMzciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTNEOUExREY4NjExMTFFMUIzMDhEN0MyMkEwQzFEMzciLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5xh3fmAAAABlBMVEX////MzMw46qqDAAAAGElEQVR42mJggAJGKGAYIIGBth8KAAIMAEUQAIElnLuQAAAAAElFTkSuQmCC":IMAGE_PATH+
 "/nocolor.png";Dialog.prototype.closeImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJAQMAAADaX5RTAAAABlBMVEV7mr3///+wksspAAAAAnRSTlP/AOW3MEoAAAAdSURBVAgdY9jXwCDDwNDRwHCwgeExmASygSL7GgB12QiqNHZZIwAAAABJRU5ErkJggg==":IMAGE_PATH+"/close.png";
@@ -2046,159 +2049,159 @@ Dialog.prototype.lockedImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoA
 "/locked.png";
 Dialog.prototype.unlockedImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAMAAABhq6zVAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzdDMDZCN0QxNzIxMTFFNUI0RTk5NTg4OTcyMUUyODEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzdDMDZCN0UxNzIxMTFFNUI0RTk5NTg4OTcyMUUyODEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDozN0MwNkI3QjE3MjExMUU1QjRFOTk1ODg5NzIxRTI4MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDozN0MwNkI3QzE3MjExMUU1QjRFOTk1ODg5NzIxRTI4MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PkKMpVwAAAAYUExURZmZmbKysr+/v6ysrOXl5czMzLGxsf///zHN5lwAAAAIdFJOU/////////8A3oO9WQAAADxJREFUeNpUzFESACAEBNBVsfe/cZJU+8Mzs8CIABCidtfGOndnYsT40HDSiCcbPdoJo10o9aI677cpwACRoAF3dFNlswAAAABJRU5ErkJggg==":IMAGE_PATH+
 "/unlocked.png";Dialog.prototype.bgOpacity=80;Dialog.prototype.getPosition=function(a,b){return new mxPoint(a,b)};Dialog.prototype.close=function(a,b){if(null!=this.onDialogClose){if(0==this.onDialogClose(a,b))return!1;this.onDialogClose=null}null!=this.dialogImg&&(this.dialogImg.parentNode.removeChild(this.dialogImg),this.dialogImg=null);null!=this.bg&&null!=this.bg.parentNode&&this.bg.parentNode.removeChild(this.bg);mxEvent.removeListener(window,"resize",this.resizeListener);this.container.parentNode.removeChild(this.container)};
-var ErrorDialog=function(a,b,f,d,l,m,q,u,z,C,c){z=null!=z?z:!0;var e=document.createElement("div");e.style.textAlign="center";if(null!=b){var k=document.createElement("div");k.style.padding="0px";k.style.margin="0px";k.style.fontSize="18px";k.style.paddingBottom="16px";k.style.marginBottom="10px";k.style.borderBottom="1px solid #c0c0c0";k.style.color="gray";k.style.whiteSpace="nowrap";k.style.textOverflow="ellipsis";k.style.overflow="hidden";mxUtils.write(k,b);k.setAttribute("title",b);e.appendChild(k)}b=
-document.createElement("div");b.style.lineHeight="1.2em";b.style.padding="6px";b.innerHTML=f;e.appendChild(b);f=document.createElement("div");f.style.marginTop="12px";f.style.textAlign="center";null!=m&&(b=mxUtils.button(mxResources.get("tryAgain"),function(){a.hideDialog();m()}),b.className="geBtn",f.appendChild(b),f.style.textAlign="center");null!=C&&(C=mxUtils.button(C,function(){null!=c&&c()}),C.className="geBtn",f.appendChild(C));var x=mxUtils.button(d,function(){z&&a.hideDialog();null!=l&&l()});
-x.className="geBtn";f.appendChild(x);null!=q&&(d=mxUtils.button(q,function(){z&&a.hideDialog();null!=u&&u()}),d.className="geBtn gePrimaryBtn",f.appendChild(d));this.init=function(){x.focus()};e.appendChild(f);this.container=e},PrintDialog=function(a,b){this.create(a,b)};
-PrintDialog.prototype.create=function(a){function b(a){var b=u.checked||C.checked,d=parseInt(e.value)/100;isNaN(d)&&(d=1,e.value="100%");var d=.75*d,k=f.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT,x=1/f.pageScale;if(b){var t=u.checked?1:parseInt(c.value);isNaN(t)||(x=mxUtils.getScaleForPageCount(t,f,k))}f.getGraphBounds();var l=t=0,k=mxRectangle.fromRectangle(k);k.width=Math.ceil(k.width*d);k.height=Math.ceil(k.height*d);x*=d;!b&&f.pageVisible?(d=f.getPageLayout(),t-=d.x*k.width,l-=d.y*k.height):
-b=!0;b=PrintDialog.createPrintPreview(f,x,k,0,t,l,b);b.open();a&&PrintDialog.printPreview(b)}var f=a.editor.graph,d,l,m=document.createElement("table");m.style.width="100%";m.style.height="100%";var q=document.createElement("tbody");d=document.createElement("tr");var u=document.createElement("input");u.setAttribute("type","checkbox");l=document.createElement("td");l.setAttribute("colspan","2");l.style.fontSize="10pt";l.appendChild(u);var z=document.createElement("span");mxUtils.write(z," "+mxResources.get("fitPage"));
-l.appendChild(z);mxEvent.addListener(z,"click",function(a){u.checked=!u.checked;C.checked=!u.checked;mxEvent.consume(a)});mxEvent.addListener(u,"change",function(){C.checked=!u.checked});d.appendChild(l);q.appendChild(d);d=d.cloneNode(!1);var C=document.createElement("input");C.setAttribute("type","checkbox");l=document.createElement("td");l.style.fontSize="10pt";l.appendChild(C);z=document.createElement("span");mxUtils.write(z," "+mxResources.get("posterPrint")+":");l.appendChild(z);mxEvent.addListener(z,
-"click",function(a){C.checked=!C.checked;u.checked=!C.checked;mxEvent.consume(a)});d.appendChild(l);var c=document.createElement("input");c.setAttribute("value","1");c.setAttribute("type","number");c.setAttribute("min","1");c.setAttribute("size","4");c.setAttribute("disabled","disabled");c.style.width="50px";l=document.createElement("td");l.style.fontSize="10pt";l.appendChild(c);mxUtils.write(l," "+mxResources.get("pages")+" (max)");d.appendChild(l);q.appendChild(d);mxEvent.addListener(C,"change",
-function(){C.checked?c.removeAttribute("disabled"):c.setAttribute("disabled","disabled");u.checked=!C.checked});d=d.cloneNode(!1);l=document.createElement("td");mxUtils.write(l,mxResources.get("pageScale")+":");d.appendChild(l);l=document.createElement("td");var e=document.createElement("input");e.setAttribute("value","100 %");e.setAttribute("size","5");e.style.width="50px";l.appendChild(e);d.appendChild(l);q.appendChild(d);d=document.createElement("tr");l=document.createElement("td");l.colSpan=2;
+var ErrorDialog=function(a,b,e,c,l,m,q,u,z,C,d){z=null!=z?z:!0;var f=document.createElement("div");f.style.textAlign="center";if(null!=b){var k=document.createElement("div");k.style.padding="0px";k.style.margin="0px";k.style.fontSize="18px";k.style.paddingBottom="16px";k.style.marginBottom="10px";k.style.borderBottom="1px solid #c0c0c0";k.style.color="gray";k.style.whiteSpace="nowrap";k.style.textOverflow="ellipsis";k.style.overflow="hidden";mxUtils.write(k,b);k.setAttribute("title",b);f.appendChild(k)}b=
+document.createElement("div");b.style.lineHeight="1.2em";b.style.padding="6px";b.innerHTML=e;f.appendChild(b);e=document.createElement("div");e.style.marginTop="12px";e.style.textAlign="center";null!=m&&(b=mxUtils.button(mxResources.get("tryAgain"),function(){a.hideDialog();m()}),b.className="geBtn",e.appendChild(b),e.style.textAlign="center");null!=C&&(C=mxUtils.button(C,function(){null!=d&&d()}),C.className="geBtn",e.appendChild(C));var x=mxUtils.button(c,function(){z&&a.hideDialog();null!=l&&l()});
+x.className="geBtn";e.appendChild(x);null!=q&&(c=mxUtils.button(q,function(){z&&a.hideDialog();null!=u&&u()}),c.className="geBtn gePrimaryBtn",e.appendChild(c));this.init=function(){x.focus()};f.appendChild(e);this.container=f},PrintDialog=function(a,b){this.create(a,b)};
+PrintDialog.prototype.create=function(a){function b(a){var b=u.checked||C.checked,c=parseInt(f.value)/100;isNaN(c)&&(c=1,f.value="100%");var c=.75*c,k=e.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT,x=1/e.pageScale;if(b){var t=u.checked?1:parseInt(d.value);isNaN(t)||(x=mxUtils.getScaleForPageCount(t,e,k))}e.getGraphBounds();var l=t=0,k=mxRectangle.fromRectangle(k);k.width=Math.ceil(k.width*c);k.height=Math.ceil(k.height*c);x*=c;!b&&e.pageVisible?(c=e.getPageLayout(),t-=c.x*k.width,l-=c.y*k.height):
+b=!0;b=PrintDialog.createPrintPreview(e,x,k,0,t,l,b);b.open();a&&PrintDialog.printPreview(b)}var e=a.editor.graph,c,l,m=document.createElement("table");m.style.width="100%";m.style.height="100%";var q=document.createElement("tbody");c=document.createElement("tr");var u=document.createElement("input");u.setAttribute("type","checkbox");l=document.createElement("td");l.setAttribute("colspan","2");l.style.fontSize="10pt";l.appendChild(u);var z=document.createElement("span");mxUtils.write(z," "+mxResources.get("fitPage"));
+l.appendChild(z);mxEvent.addListener(z,"click",function(a){u.checked=!u.checked;C.checked=!u.checked;mxEvent.consume(a)});mxEvent.addListener(u,"change",function(){C.checked=!u.checked});c.appendChild(l);q.appendChild(c);c=c.cloneNode(!1);var C=document.createElement("input");C.setAttribute("type","checkbox");l=document.createElement("td");l.style.fontSize="10pt";l.appendChild(C);z=document.createElement("span");mxUtils.write(z," "+mxResources.get("posterPrint")+":");l.appendChild(z);mxEvent.addListener(z,
+"click",function(a){C.checked=!C.checked;u.checked=!C.checked;mxEvent.consume(a)});c.appendChild(l);var d=document.createElement("input");d.setAttribute("value","1");d.setAttribute("type","number");d.setAttribute("min","1");d.setAttribute("size","4");d.setAttribute("disabled","disabled");d.style.width="50px";l=document.createElement("td");l.style.fontSize="10pt";l.appendChild(d);mxUtils.write(l," "+mxResources.get("pages")+" (max)");c.appendChild(l);q.appendChild(c);mxEvent.addListener(C,"change",
+function(){C.checked?d.removeAttribute("disabled"):d.setAttribute("disabled","disabled");u.checked=!C.checked});c=c.cloneNode(!1);l=document.createElement("td");mxUtils.write(l,mxResources.get("pageScale")+":");c.appendChild(l);l=document.createElement("td");var f=document.createElement("input");f.setAttribute("value","100 %");f.setAttribute("size","5");f.style.width="50px";l.appendChild(f);c.appendChild(l);q.appendChild(c);c=document.createElement("tr");l=document.createElement("td");l.colSpan=2;
 l.style.paddingTop="20px";l.setAttribute("align","right");z=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});z.className="geBtn";a.editor.cancelFirst&&l.appendChild(z);if(PrintDialog.previewEnabled){var k=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();b(!1)});k.className="geBtn";l.appendChild(k)}k=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();b(!0)});k.className="geBtn gePrimaryBtn";l.appendChild(k);a.editor.cancelFirst||
-l.appendChild(z);d.appendChild(l);q.appendChild(d);m.appendChild(q);this.container=m};PrintDialog.printPreview=function(a){try{if(null!=a.wnd){var b=function(){a.wnd.focus();a.wnd.print();a.wnd.close()};mxClient.IS_GC?window.setTimeout(b,500):b()}}catch(f){}};
-PrintDialog.createPrintPreview=function(a,b,f,d,l,m,q){b=new mxPrintPreview(a,b,f,d,l,m);b.title=mxResources.get("preview");b.printBackgroundImage=!0;b.autoOrigin=q;a=a.background;if(null==a||""==a||a==mxConstants.NONE)a="#ffffff";b.backgroundColor=a;var u=b.writeHead;b.writeHead=function(a){u.apply(this,arguments);a.writeln('<style type="text/css">');a.writeln("@media screen {");a.writeln("  body > div { padding:30px;box-sizing:content-box; }");a.writeln("}");a.writeln("</style>")};return b};
+l.appendChild(z);c.appendChild(l);q.appendChild(c);m.appendChild(q);this.container=m};PrintDialog.printPreview=function(a){try{if(null!=a.wnd){var b=function(){a.wnd.focus();a.wnd.print();a.wnd.close()};mxClient.IS_GC?window.setTimeout(b,500):b()}}catch(e){}};
+PrintDialog.createPrintPreview=function(a,b,e,c,l,m,q){b=new mxPrintPreview(a,b,e,c,l,m);b.title=mxResources.get("preview");b.printBackgroundImage=!0;b.autoOrigin=q;a=a.background;if(null==a||""==a||a==mxConstants.NONE)a="#ffffff";b.backgroundColor=a;var u=b.writeHead;b.writeHead=function(a){u.apply(this,arguments);a.writeln('<style type="text/css">');a.writeln("@media screen {");a.writeln("  body > div { padding:30px;box-sizing:content-box; }");a.writeln("}");a.writeln("</style>")};return b};
 PrintDialog.previewEnabled=!0;
-var PageSetupDialog=function(a){function b(){null==c||c==mxConstants.NONE?(C.style.backgroundColor="",C.style.backgroundImage="url('"+Dialog.prototype.noColorImage+"')"):(C.style.backgroundColor=c,C.style.backgroundImage="")}function f(){null==x?(k.removeAttribute("title"),k.style.fontSize="",k.innerHTML=mxResources.get("change")+"..."):(k.setAttribute("title",x.src),k.style.fontSize="11px",k.innerHTML=x.src.substring(0,42)+"...")}var d=a.editor.graph,l,m,q=document.createElement("table");q.style.width=
-"100%";q.style.height="100%";var u=document.createElement("tbody");l=document.createElement("tr");m=document.createElement("td");m.style.verticalAlign="top";m.style.fontSize="10pt";mxUtils.write(m,mxResources.get("paperSize")+":");l.appendChild(m);m=document.createElement("td");m.style.verticalAlign="top";m.style.fontSize="10pt";var z=PageSetupDialog.addPageFormatPanel(m,"pagesetupdialog",d.pageFormat);l.appendChild(m);u.appendChild(l);l=document.createElement("tr");m=document.createElement("td");
-mxUtils.write(m,mxResources.get("background")+":");l.appendChild(m);m=document.createElement("td");m.style.whiteSpace="nowrap";document.createElement("input").setAttribute("type","text");var C=document.createElement("button");C.style.width="18px";C.style.height="18px";C.style.marginRight="20px";C.style.backgroundPosition="center center";C.style.backgroundRepeat="no-repeat";var c=d.background;b();mxEvent.addListener(C,"click",function(e){a.pickColor(c||"none",function(a){c=a;b()});mxEvent.consume(e)});
-m.appendChild(C);mxUtils.write(m,mxResources.get("gridSize")+":");var e=document.createElement("input");e.setAttribute("type","number");e.setAttribute("min","0");e.style.width="40px";e.style.marginLeft="6px";e.value=d.getGridSize();m.appendChild(e);mxEvent.addListener(e,"change",function(){var a=parseInt(e.value);e.value=Math.max(1,isNaN(a)?d.getGridSize():a)});l.appendChild(m);u.appendChild(l);l=document.createElement("tr");m=document.createElement("td");mxUtils.write(m,mxResources.get("image")+
-":");l.appendChild(m);m=document.createElement("td");var k=document.createElement("a");k.style.textDecoration="underline";k.style.cursor="pointer";k.style.color="#a0a0a0";var x=d.backgroundImage;mxEvent.addListener(k,"click",function(c){a.showBackgroundImageDialog(function(a){x=a;f()});mxEvent.consume(c)});f();m.appendChild(k);l.appendChild(m);u.appendChild(l);l=document.createElement("tr");m=document.createElement("td");m.colSpan=2;m.style.paddingTop="16px";m.setAttribute("align","right");var n=
-mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});n.className="geBtn";a.editor.cancelFirst&&m.appendChild(n);var g=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();d.gridSize!==e.value&&d.setGridSize(parseInt(e.value));var b=new ChangePageSetup(a,c,x,z.get());b.ignoreColor=d.background==c;b.ignoreImage=(null!=d.backgroundImage?d.backgroundImage.src:null)===(null!=x?x.src:null);d.pageFormat.width==b.previousFormat.width&&d.pageFormat.height==b.previousFormat.height&&
-b.ignoreColor&&b.ignoreImage||d.model.execute(b)});g.className="geBtn gePrimaryBtn";m.appendChild(g);a.editor.cancelFirst||m.appendChild(n);l.appendChild(m);u.appendChild(l);q.appendChild(u);this.container=q};
-PageSetupDialog.addPageFormatPanel=function(a,b,f,d){function l(a,b,d){if(d||e!=document.activeElement&&k!=document.activeElement){a=!1;for(b=0;b<n.length;b++)d=n[b],t?"custom"==d.key&&(u.value=d.key,t=!1):null!=d.format&&("a4"==d.key?826==f.width?(f=mxRectangle.fromRectangle(f),f.width=827):826==f.height&&(f=mxRectangle.fromRectangle(f),f.height=827):"a5"==d.key&&(584==f.width?(f=mxRectangle.fromRectangle(f),f.width=583):584==f.height&&(f=mxRectangle.fromRectangle(f),f.height=583)),f.width==d.format.width&&
-f.height==d.format.height?(u.value=d.key,m.setAttribute("checked","checked"),m.defaultChecked=!0,m.checked=!0,q.removeAttribute("checked"),q.defaultChecked=!1,q.checked=!1,a=!0):f.width==d.format.height&&f.height==d.format.width&&(u.value=d.key,m.removeAttribute("checked"),m.defaultChecked=!1,m.checked=!1,q.setAttribute("checked","checked"),q.defaultChecked=!0,a=q.checked=!0));a?(z.style.display="",c.style.display="none"):(e.value=f.width/100,k.value=f.height/100,m.setAttribute("checked","checked"),
-u.value="custom",z.style.display="none",c.style.display="")}}b="format-"+b;var m=document.createElement("input");m.setAttribute("name",b);m.setAttribute("type","radio");m.setAttribute("value","portrait");var q=document.createElement("input");q.setAttribute("name",b);q.setAttribute("type","radio");q.setAttribute("value","landscape");var u=document.createElement("select");u.style.marginBottom="8px";u.style.width="202px";var z=document.createElement("div");z.style.marginLeft="4px";z.style.width="210px";
-z.style.height="24px";m.style.marginRight="6px";z.appendChild(m);b=document.createElement("span");b.style.maxWidth="100px";mxUtils.write(b,mxResources.get("portrait"));z.appendChild(b);q.style.marginLeft="10px";q.style.marginRight="6px";z.appendChild(q);var C=document.createElement("span");C.style.width="100px";mxUtils.write(C,mxResources.get("landscape"));z.appendChild(C);var c=document.createElement("div");c.style.marginLeft="4px";c.style.width="210px";c.style.height="24px";var e=document.createElement("input");
-e.setAttribute("size","7");e.style.textAlign="right";c.appendChild(e);mxUtils.write(c," in x ");var k=document.createElement("input");k.setAttribute("size","7");k.style.textAlign="right";c.appendChild(k);mxUtils.write(c," in");z.style.display="none";c.style.display="none";for(var x={},n=PageSetupDialog.getFormats(),g=0;g<n.length;g++){var A=n[g];x[A.key]=A;var v=document.createElement("option");v.setAttribute("value",A.key);mxUtils.write(v,A.title);u.appendChild(v)}var t=!1;l();a.appendChild(u);mxUtils.br(a);
-a.appendChild(z);a.appendChild(c);var D=f,y=function(a,b){var g=x[u.value];null!=g.format?(e.value=g.format.width/100,k.value=g.format.height/100,c.style.display="none",z.style.display=""):(z.style.display="none",c.style.display="");g=parseFloat(e.value);if(isNaN(g)||0>=g)e.value=f.width/100;g=parseFloat(k.value);if(isNaN(g)||0>=g)k.value=f.height/100;g=new mxRectangle(0,0,Math.floor(100*parseFloat(e.value)),Math.floor(100*parseFloat(k.value)));"custom"!=u.value&&q.checked&&(g=new mxRectangle(0,0,
-g.height,g.width));b&&t||g.width==D.width&&g.height==D.height||(D=g,null!=d&&d(D))};mxEvent.addListener(b,"click",function(a){m.checked=!0;y(a);mxEvent.consume(a)});mxEvent.addListener(C,"click",function(a){q.checked=!0;y(a);mxEvent.consume(a)});mxEvent.addListener(e,"blur",y);mxEvent.addListener(e,"click",y);mxEvent.addListener(k,"blur",y);mxEvent.addListener(k,"click",y);mxEvent.addListener(q,"change",y);mxEvent.addListener(m,"change",y);mxEvent.addListener(u,"change",function(a){t="custom"==u.value;
-y(a,!0)});y();return{set:function(a){f=a;l(null,null,!0)},get:function(){return D},widthInput:e,heightInput:k}};
+var PageSetupDialog=function(a){function b(){null==d||d==mxConstants.NONE?(C.style.backgroundColor="",C.style.backgroundImage="url('"+Dialog.prototype.noColorImage+"')"):(C.style.backgroundColor=d,C.style.backgroundImage="")}function e(){null==x?(k.removeAttribute("title"),k.style.fontSize="",k.innerHTML=mxResources.get("change")+"..."):(k.setAttribute("title",x.src),k.style.fontSize="11px",k.innerHTML=x.src.substring(0,42)+"...")}var c=a.editor.graph,l,m,q=document.createElement("table");q.style.width=
+"100%";q.style.height="100%";var u=document.createElement("tbody");l=document.createElement("tr");m=document.createElement("td");m.style.verticalAlign="top";m.style.fontSize="10pt";mxUtils.write(m,mxResources.get("paperSize")+":");l.appendChild(m);m=document.createElement("td");m.style.verticalAlign="top";m.style.fontSize="10pt";var z=PageSetupDialog.addPageFormatPanel(m,"pagesetupdialog",c.pageFormat);l.appendChild(m);u.appendChild(l);l=document.createElement("tr");m=document.createElement("td");
+mxUtils.write(m,mxResources.get("background")+":");l.appendChild(m);m=document.createElement("td");m.style.whiteSpace="nowrap";document.createElement("input").setAttribute("type","text");var C=document.createElement("button");C.style.width="18px";C.style.height="18px";C.style.marginRight="20px";C.style.backgroundPosition="center center";C.style.backgroundRepeat="no-repeat";var d=c.background;b();mxEvent.addListener(C,"click",function(f){a.pickColor(d||"none",function(a){d=a;b()});mxEvent.consume(f)});
+m.appendChild(C);mxUtils.write(m,mxResources.get("gridSize")+":");var f=document.createElement("input");f.setAttribute("type","number");f.setAttribute("min","0");f.style.width="40px";f.style.marginLeft="6px";f.value=c.getGridSize();m.appendChild(f);mxEvent.addListener(f,"change",function(){var a=parseInt(f.value);f.value=Math.max(1,isNaN(a)?c.getGridSize():a)});l.appendChild(m);u.appendChild(l);l=document.createElement("tr");m=document.createElement("td");mxUtils.write(m,mxResources.get("image")+
+":");l.appendChild(m);m=document.createElement("td");var k=document.createElement("a");k.style.textDecoration="underline";k.style.cursor="pointer";k.style.color="#a0a0a0";var x=c.backgroundImage;mxEvent.addListener(k,"click",function(d){a.showBackgroundImageDialog(function(a){x=a;e()});mxEvent.consume(d)});e();m.appendChild(k);l.appendChild(m);u.appendChild(l);l=document.createElement("tr");m=document.createElement("td");m.colSpan=2;m.style.paddingTop="16px";m.setAttribute("align","right");var n=
+mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});n.className="geBtn";a.editor.cancelFirst&&m.appendChild(n);var g=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();c.gridSize!==f.value&&c.setGridSize(parseInt(f.value));var b=new ChangePageSetup(a,d,x,z.get());b.ignoreColor=c.background==d;b.ignoreImage=(null!=c.backgroundImage?c.backgroundImage.src:null)===(null!=x?x.src:null);c.pageFormat.width==b.previousFormat.width&&c.pageFormat.height==b.previousFormat.height&&
+b.ignoreColor&&b.ignoreImage||c.model.execute(b)});g.className="geBtn gePrimaryBtn";m.appendChild(g);a.editor.cancelFirst||m.appendChild(n);l.appendChild(m);u.appendChild(l);q.appendChild(u);this.container=q};
+PageSetupDialog.addPageFormatPanel=function(a,b,e,c){function l(a,b,c){if(c||f!=document.activeElement&&k!=document.activeElement){a=!1;for(b=0;b<n.length;b++)c=n[b],t?"custom"==c.key&&(u.value=c.key,t=!1):null!=c.format&&("a4"==c.key?826==e.width?(e=mxRectangle.fromRectangle(e),e.width=827):826==e.height&&(e=mxRectangle.fromRectangle(e),e.height=827):"a5"==c.key&&(584==e.width?(e=mxRectangle.fromRectangle(e),e.width=583):584==e.height&&(e=mxRectangle.fromRectangle(e),e.height=583)),e.width==c.format.width&&
+e.height==c.format.height?(u.value=c.key,m.setAttribute("checked","checked"),m.defaultChecked=!0,m.checked=!0,q.removeAttribute("checked"),q.defaultChecked=!1,q.checked=!1,a=!0):e.width==c.format.height&&e.height==c.format.width&&(u.value=c.key,m.removeAttribute("checked"),m.defaultChecked=!1,m.checked=!1,q.setAttribute("checked","checked"),q.defaultChecked=!0,a=q.checked=!0));a?(z.style.display="",d.style.display="none"):(f.value=e.width/100,k.value=e.height/100,m.setAttribute("checked","checked"),
+u.value="custom",z.style.display="none",d.style.display="")}}b="format-"+b;var m=document.createElement("input");m.setAttribute("name",b);m.setAttribute("type","radio");m.setAttribute("value","portrait");var q=document.createElement("input");q.setAttribute("name",b);q.setAttribute("type","radio");q.setAttribute("value","landscape");var u=document.createElement("select");u.style.marginBottom="8px";u.style.width="202px";var z=document.createElement("div");z.style.marginLeft="4px";z.style.width="210px";
+z.style.height="24px";m.style.marginRight="6px";z.appendChild(m);b=document.createElement("span");b.style.maxWidth="100px";mxUtils.write(b,mxResources.get("portrait"));z.appendChild(b);q.style.marginLeft="10px";q.style.marginRight="6px";z.appendChild(q);var C=document.createElement("span");C.style.width="100px";mxUtils.write(C,mxResources.get("landscape"));z.appendChild(C);var d=document.createElement("div");d.style.marginLeft="4px";d.style.width="210px";d.style.height="24px";var f=document.createElement("input");
+f.setAttribute("size","7");f.style.textAlign="right";d.appendChild(f);mxUtils.write(d," in x ");var k=document.createElement("input");k.setAttribute("size","7");k.style.textAlign="right";d.appendChild(k);mxUtils.write(d," in");z.style.display="none";d.style.display="none";for(var x={},n=PageSetupDialog.getFormats(),g=0;g<n.length;g++){var A=n[g];x[A.key]=A;var v=document.createElement("option");v.setAttribute("value",A.key);mxUtils.write(v,A.title);u.appendChild(v)}var t=!1;l();a.appendChild(u);mxUtils.br(a);
+a.appendChild(z);a.appendChild(d);var E=e,y=function(a,b){var g=x[u.value];null!=g.format?(f.value=g.format.width/100,k.value=g.format.height/100,d.style.display="none",z.style.display=""):(z.style.display="none",d.style.display="");g=parseFloat(f.value);if(isNaN(g)||0>=g)f.value=e.width/100;g=parseFloat(k.value);if(isNaN(g)||0>=g)k.value=e.height/100;g=new mxRectangle(0,0,Math.floor(100*parseFloat(f.value)),Math.floor(100*parseFloat(k.value)));"custom"!=u.value&&q.checked&&(g=new mxRectangle(0,0,
+g.height,g.width));b&&t||g.width==E.width&&g.height==E.height||(E=g,null!=c&&c(E))};mxEvent.addListener(b,"click",function(a){m.checked=!0;y(a);mxEvent.consume(a)});mxEvent.addListener(C,"click",function(a){q.checked=!0;y(a);mxEvent.consume(a)});mxEvent.addListener(f,"blur",y);mxEvent.addListener(f,"click",y);mxEvent.addListener(k,"blur",y);mxEvent.addListener(k,"click",y);mxEvent.addListener(q,"change",y);mxEvent.addListener(m,"change",y);mxEvent.addListener(u,"change",function(a){t="custom"==u.value;
+y(a,!0)});y();return{set:function(a){e=a;l(null,null,!0)},get:function(){return E},widthInput:f,heightInput:k}};
 PageSetupDialog.getFormats=function(){return[{key:"letter",title:'US-Letter (8,5" x 11")',format:mxConstants.PAGE_FORMAT_LETTER_PORTRAIT},{key:"legal",title:'US-Legal (8,5" x 14")',format:new mxRectangle(0,0,850,1400)},{key:"tabloid",title:'US-Tabloid (11" x 17")',format:new mxRectangle(0,0,1100,1700)},{key:"executive",title:'US-Executive (7" x 10")',format:new mxRectangle(0,0,700,1E3)},{key:"a0",title:"A0 (841 mm x 1189 mm)",format:new mxRectangle(0,0,3300,4681)},{key:"a1",title:"A1 (594 mm x 841 mm)",
 format:new mxRectangle(0,0,2339,3300)},{key:"a2",title:"A2 (420 mm x 594 mm)",format:new mxRectangle(0,0,1654,2336)},{key:"a3",title:"A3 (297 mm x 420 mm)",format:new mxRectangle(0,0,1169,1654)},{key:"a4",title:"A4 (210 mm x 297 mm)",format:mxConstants.PAGE_FORMAT_A4_PORTRAIT},{key:"a5",title:"A5 (148 mm x 210 mm)",format:new mxRectangle(0,0,583,827)},{key:"a6",title:"A6 (105 mm x 148 mm)",format:new mxRectangle(0,0,413,583)},{key:"a7",title:"A7 (74 mm x 105 mm)",format:new mxRectangle(0,0,291,413)},
 {key:"b4",title:"B4 (250 mm x 353 mm)",format:new mxRectangle(0,0,980,1390)},{key:"b5",title:"B5 (176 mm x 250 mm)",format:new mxRectangle(0,0,690,980)},{key:"16-9",title:"16:9 (1600 x 900)",format:new mxRectangle(0,0,1600,900)},{key:"16-10",title:"16:10 (1920 x 1200)",format:new mxRectangle(0,0,1920,1200)},{key:"4-3",title:"4:3 (1600 x 1200)",format:new mxRectangle(0,0,1600,1200)},{key:"custom",title:mxResources.get("custom"),format:null}]};
-(function(){mxGraphView.prototype.validateBackgroundPage=function(){var a=this.graph;if(null!=a.container&&!a.transparentBackground){if(a.pageVisible){var b=this.getBackgroundPageBounds();if(null==this.backgroundPageShape){for(var d=a.container.firstChild;null!=d&&d.nodeType!=mxConstants.NODETYPE_ELEMENT;)d=d.nextSibling;null!=d&&(this.backgroundPageShape=this.createBackgroundPageShape(b),this.backgroundPageShape.scale=1,this.backgroundPageShape.isShadow=!mxClient.IS_QUIRKS,this.backgroundPageShape.dialect=
-mxConstants.DIALECT_STRICTHTML,this.backgroundPageShape.init(a.container),d.style.position="absolute",a.container.insertBefore(this.backgroundPageShape.node,d),this.backgroundPageShape.redraw(),this.backgroundPageShape.node.className="geBackgroundPage",mxEvent.addListener(this.backgroundPageShape.node,"dblclick",mxUtils.bind(this,function(c){a.dblClick(c)})),mxEvent.addGestureListeners(this.backgroundPageShape.node,mxUtils.bind(this,function(c){a.fireMouseEvent(mxEvent.MOUSE_DOWN,new mxMouseEvent(c))}),
-mxUtils.bind(this,function(c){null!=a.tooltipHandler&&a.tooltipHandler.isHideOnHover()&&a.tooltipHandler.hide();a.isMouseDown&&!mxEvent.isConsumed(c)&&a.fireMouseEvent(mxEvent.MOUSE_MOVE,new mxMouseEvent(c))}),mxUtils.bind(this,function(c){a.fireMouseEvent(mxEvent.MOUSE_UP,new mxMouseEvent(c))})))}else this.backgroundPageShape.scale=1,this.backgroundPageShape.bounds=b,this.backgroundPageShape.redraw()}else null!=this.backgroundPageShape&&(this.backgroundPageShape.destroy(),this.backgroundPageShape=
-null);this.validateBackgroundStyles()}};mxGraphView.prototype.validateBackgroundStyles=function(){var a=this.graph,b=null==a.background||a.background==mxConstants.NONE?a.defaultPageBackgroundColor:a.background,d=null!=b&&this.gridColor!=b.toLowerCase()?this.gridColor:"#ffffff",c="none",e="";if(a.isGridEnabled()){e=10;mxClient.IS_SVG?(c=unescape(encodeURIComponent(this.createSvgGrid(d))),c=window.btoa?btoa(c):Base64.encode(c,!0),c="url(data:image/svg+xml;base64,"+c+")",e=a.gridSize*this.scale*this.gridSteps):
-c="url("+this.gridImage+")";var k=d=0;null!=a.view.backgroundPageShape&&(k=this.getBackgroundPageBounds(),d=1+k.x,k=1+k.y);e=-Math.round(e-mxUtils.mod(this.translate.x*this.scale-d,e))+"px "+-Math.round(e-mxUtils.mod(this.translate.y*this.scale-k,e))+"px"}d=a.view.canvas;null!=d.ownerSVGElement&&(d=d.ownerSVGElement);null!=a.view.backgroundPageShape?(a.view.backgroundPageShape.node.style.backgroundPosition=e,a.view.backgroundPageShape.node.style.backgroundImage=c,a.view.backgroundPageShape.node.style.backgroundColor=
-b,a.container.className="geDiagramContainer geDiagramBackdrop",d.style.backgroundImage="none",d.style.backgroundColor=""):(a.container.className="geDiagramContainer",d.style.backgroundPosition=e,d.style.backgroundColor=b,d.style.backgroundImage=c)};mxGraphView.prototype.createSvgGrid=function(a){for(var b=this.graph.gridSize*this.scale;b<this.minGridSize;)b*=2;for(var d=this.gridSteps*b,c=[],e=1;e<this.gridSteps;e++){var k=e*b;c.push("M 0 "+k+" L "+d+" "+k+" M "+k+" 0 L "+k+" "+d)}return'<svg width="'+
-d+'" height="'+d+'" xmlns="'+mxConstants.NS_SVG+'"><defs><pattern id="grid" width="'+d+'" height="'+d+'" patternUnits="userSpaceOnUse"><path d="'+c.join(" ")+'" fill="none" stroke="'+a+'" opacity="0.2" stroke-width="1"/><path d="M '+d+" 0 L 0 0 0 "+d+'" fill="none" stroke="'+a+'" stroke-width="1"/></pattern></defs><rect width="100%" height="100%" fill="url(#grid)"/></svg>'};var a=mxGraph.prototype.panGraph;mxGraph.prototype.panGraph=function(b,d){a.apply(this,arguments);if(null!=this.shiftPreview1){var f=
-this.view.canvas;null!=f.ownerSVGElement&&(f=f.ownerSVGElement);var c=this.gridSize*this.view.scale*this.view.gridSteps,c=-Math.round(c-mxUtils.mod(this.view.translate.x*this.view.scale+b,c))+"px "+-Math.round(c-mxUtils.mod(this.view.translate.y*this.view.scale+d,c))+"px";f.style.backgroundPosition=c}};mxGraph.prototype.updatePageBreaks=function(a,b,d){var c=this.view.scale,e=this.view.translate,k=this.pageFormat,f=c*this.pageScale,n=this.view.getBackgroundPageBounds();b=n.width;d=n.height;var g=
-new mxRectangle(c*e.x,c*e.y,k.width*f,k.height*f),A=(a=a&&Math.min(g.width,g.height)>this.minPageBreakDist)?Math.ceil(d/g.height)-1:0,v=a?Math.ceil(b/g.width)-1:0,t=n.x+b,l=n.y+d;null==this.horizontalPageBreaks&&0<A&&(this.horizontalPageBreaks=[]);null==this.verticalPageBreaks&&0<v&&(this.verticalPageBreaks=[]);a=mxUtils.bind(this,function(a){if(null!=a){for(var c=a==this.horizontalPageBreaks?A:v,b=0;b<=c;b++){var e=a==this.horizontalPageBreaks?[new mxPoint(Math.round(n.x),Math.round(n.y+(b+1)*g.height)),
-new mxPoint(Math.round(t),Math.round(n.y+(b+1)*g.height))]:[new mxPoint(Math.round(n.x+(b+1)*g.width),Math.round(n.y)),new mxPoint(Math.round(n.x+(b+1)*g.width),Math.round(l))];null!=a[b]?(a[b].points=e,a[b].redraw()):(e=new mxPolyline(e,this.pageBreakColor),e.dialect=this.dialect,e.isDashed=this.pageBreakDashed,e.pointerEvents=!1,e.init(this.view.backgroundPane),e.redraw(),a[b]=e)}for(b=c;b<a.length;b++)a[b].destroy();a.splice(c,a.length-c)}});a(this.horizontalPageBreaks);a(this.verticalPageBreaks)};
-var b=mxGraphHandler.prototype.shouldRemoveCellsFromParent;mxGraphHandler.prototype.shouldRemoveCellsFromParent=function(a,d,f){for(var c=0;c<d.length;c++)if(this.graph.getModel().isVertex(d[c])){var e=this.graph.getCellGeometry(d[c]);if(null!=e&&e.relative)return!1}return b.apply(this,arguments)};var f=mxConnectionHandler.prototype.createMarker;mxConnectionHandler.prototype.createMarker=function(){var a=f.apply(this,arguments);a.intersects=mxUtils.bind(this,function(b,d){return this.isConnecting()?
-!0:mxCellMarker.prototype.intersects.apply(a,arguments)});return a};mxGraphView.prototype.createBackgroundPageShape=function(a){return new mxRectangleShape(a,"#ffffff",this.graph.defaultPageBorderColor)};mxGraphView.prototype.getBackgroundPageBounds=function(){var a=this.getGraphBounds(),b=0<a.width?a.x/this.scale-this.translate.x:0,d=0<a.height?a.y/this.scale-this.translate.y:0,c=this.graph.pageFormat,e=this.graph.pageScale,k=c.width*e,c=c.height*e,e=Math.floor(Math.min(0,b)/k),f=Math.floor(Math.min(0,
-d)/c);return new mxRectangle(this.scale*(this.translate.x+e*k),this.scale*(this.translate.y+f*c),this.scale*(Math.ceil(Math.max(1,b+a.width/this.scale)/k)-e)*k,this.scale*(Math.ceil(Math.max(1,d+a.height/this.scale)/c)-f)*c)};var d=mxGraph.prototype.panGraph;mxGraph.prototype.panGraph=function(a,b){d.apply(this,arguments);this.dialect==mxConstants.DIALECT_SVG||null==this.view.backgroundPageShape||this.useScrollbarsForPanning&&mxUtils.hasScrollbars(this.container)||(this.view.backgroundPageShape.node.style.marginLeft=
-a+"px",this.view.backgroundPageShape.node.style.marginTop=b+"px")};var l=mxPopupMenu.prototype.addItem;mxPopupMenu.prototype.addItem=function(a,b,d,c,e,k){var f=l.apply(this,arguments);null==k||k||mxEvent.addListener(f,"mousedown",function(a){mxEvent.consume(a)});return f};var m=mxGraphHandler.prototype.getInitialCellForEvent;mxGraphHandler.prototype.getInitialCellForEvent=function(a){var b=this.graph.getModel(),d=b.getParent(this.graph.getSelectionCell()),c=m.apply(this,arguments),e=b.getParent(c);
-if(null==d||d!=c&&d!=e)for(;!this.graph.isCellSelected(c)&&!this.graph.isCellSelected(e)&&b.isVertex(e)&&!this.graph.isContainer(e);)c=e,e=this.graph.getModel().getParent(c);return c};var q=mxGraphHandler.prototype.isDelayedSelection;mxGraphHandler.prototype.isDelayedSelection=function(a,b){var d=q.apply(this,arguments);if(!d)for(var c=this.graph.getModel(),e=c.getParent(a);null!=e;){if(this.graph.isCellSelected(e)&&c.isVertex(e)){d=!0;break}e=c.getParent(e)}return d};mxGraphHandler.prototype.selectDelayed=
-function(a){if(!this.graph.popupMenuHandler.isPopupTrigger(a)){var b=a.getCell();null==b&&(b=this.cell);var d=this.graph.view.getState(b);if(null==d||!a.isSource(d.control))for(var d=this.graph.getModel(),c=d.getParent(b);!this.graph.isCellSelected(c)&&d.isVertex(c);)b=c,c=d.getParent(b);this.graph.selectCellForEvent(b,a.getEvent())}};mxPopupMenuHandler.prototype.getCellForPopupEvent=function(a){a=a.getCell();for(var b=this.graph.getModel(),d=b.getParent(a);b.isVertex(d)&&!this.graph.isContainer(d);)this.graph.isCellSelected(d)&&
-(a=d),d=b.getParent(d);return a}})();EditorUi=function(a,b,f){mxEventSource.call(this);this.destroyFunctions=[];this.editor=a||new Editor;this.container=b||document.body;var d=this.editor.graph;d.lightbox=f;d.useCssTransforms&&(this.lazyZoomDelay=0);mxClient.IS_SVG?mxPopupMenu.prototype.submenuImage="data:image/gif;base64,R0lGODlhCQAJAIAAAP///zMzMyH5BAEAAAAALAAAAAAJAAkAAAIPhI8WebHsHopSOVgb26AAADs=":(new Image).src=mxPopupMenu.prototype.submenuImage;mxClient.IS_SVG||null==mxConnectionHandler.prototype.connectImage||((new Image).src=mxConnectionHandler.prototype.connectImage.src);
-this.editor.chromeless&&!this.editor.editable&&(this.footerHeight=0,d.isEnabled=function(){return!1},d.panningHandler.isForcePanningEvent=function(a){return!mxEvent.isPopupTrigger(a.getEvent())});this.actions=new Actions(this);this.menus=this.createMenus();if(!d.standalone){this.createDivs();this.createUi();this.refresh();var l=mxUtils.bind(this,function(a){null==a&&(a=window.event);return d.isEditing()||null!=a&&this.isSelectionAllowed(a)});this.container==document.body&&(this.menubarContainer.onselectstart=
+(function(){mxGraphView.prototype.validateBackgroundPage=function(){var a=this.graph;if(null!=a.container&&!a.transparentBackground){if(a.pageVisible){var b=this.getBackgroundPageBounds();if(null==this.backgroundPageShape){for(var c=a.container.firstChild;null!=c&&c.nodeType!=mxConstants.NODETYPE_ELEMENT;)c=c.nextSibling;null!=c&&(this.backgroundPageShape=this.createBackgroundPageShape(b),this.backgroundPageShape.scale=1,this.backgroundPageShape.isShadow=!mxClient.IS_QUIRKS,this.backgroundPageShape.dialect=
+mxConstants.DIALECT_STRICTHTML,this.backgroundPageShape.init(a.container),c.style.position="absolute",a.container.insertBefore(this.backgroundPageShape.node,c),this.backgroundPageShape.redraw(),this.backgroundPageShape.node.className="geBackgroundPage",mxEvent.addListener(this.backgroundPageShape.node,"dblclick",mxUtils.bind(this,function(d){a.dblClick(d)})),mxEvent.addGestureListeners(this.backgroundPageShape.node,mxUtils.bind(this,function(d){a.fireMouseEvent(mxEvent.MOUSE_DOWN,new mxMouseEvent(d))}),
+mxUtils.bind(this,function(d){null!=a.tooltipHandler&&a.tooltipHandler.isHideOnHover()&&a.tooltipHandler.hide();a.isMouseDown&&!mxEvent.isConsumed(d)&&a.fireMouseEvent(mxEvent.MOUSE_MOVE,new mxMouseEvent(d))}),mxUtils.bind(this,function(d){a.fireMouseEvent(mxEvent.MOUSE_UP,new mxMouseEvent(d))})))}else this.backgroundPageShape.scale=1,this.backgroundPageShape.bounds=b,this.backgroundPageShape.redraw()}else null!=this.backgroundPageShape&&(this.backgroundPageShape.destroy(),this.backgroundPageShape=
+null);this.validateBackgroundStyles()}};mxGraphView.prototype.validateBackgroundStyles=function(){var a=this.graph,b=null==a.background||a.background==mxConstants.NONE?a.defaultPageBackgroundColor:a.background,c=null!=b&&this.gridColor!=b.toLowerCase()?this.gridColor:"#ffffff",d="none",f="";if(a.isGridEnabled()){f=10;mxClient.IS_SVG?(d=unescape(encodeURIComponent(this.createSvgGrid(c))),d=window.btoa?btoa(d):Base64.encode(d,!0),d="url(data:image/svg+xml;base64,"+d+")",f=a.gridSize*this.scale*this.gridSteps):
+d="url("+this.gridImage+")";var k=c=0;null!=a.view.backgroundPageShape&&(k=this.getBackgroundPageBounds(),c=1+k.x,k=1+k.y);f=-Math.round(f-mxUtils.mod(this.translate.x*this.scale-c,f))+"px "+-Math.round(f-mxUtils.mod(this.translate.y*this.scale-k,f))+"px"}c=a.view.canvas;null!=c.ownerSVGElement&&(c=c.ownerSVGElement);null!=a.view.backgroundPageShape?(a.view.backgroundPageShape.node.style.backgroundPosition=f,a.view.backgroundPageShape.node.style.backgroundImage=d,a.view.backgroundPageShape.node.style.backgroundColor=
+b,a.container.className="geDiagramContainer geDiagramBackdrop",c.style.backgroundImage="none",c.style.backgroundColor=""):(a.container.className="geDiagramContainer",c.style.backgroundPosition=f,c.style.backgroundColor=b,c.style.backgroundImage=d)};mxGraphView.prototype.createSvgGrid=function(a){for(var b=this.graph.gridSize*this.scale;b<this.minGridSize;)b*=2;for(var c=this.gridSteps*b,d=[],f=1;f<this.gridSteps;f++){var k=f*b;d.push("M 0 "+k+" L "+c+" "+k+" M "+k+" 0 L "+k+" "+c)}return'<svg width="'+
+c+'" height="'+c+'" xmlns="'+mxConstants.NS_SVG+'"><defs><pattern id="grid" width="'+c+'" height="'+c+'" patternUnits="userSpaceOnUse"><path d="'+d.join(" ")+'" fill="none" stroke="'+a+'" opacity="0.2" stroke-width="1"/><path d="M '+c+" 0 L 0 0 0 "+c+'" fill="none" stroke="'+a+'" stroke-width="1"/></pattern></defs><rect width="100%" height="100%" fill="url(#grid)"/></svg>'};var a=mxGraph.prototype.panGraph;mxGraph.prototype.panGraph=function(b,c){a.apply(this,arguments);if(null!=this.shiftPreview1){var e=
+this.view.canvas;null!=e.ownerSVGElement&&(e=e.ownerSVGElement);var d=this.gridSize*this.view.scale*this.view.gridSteps,d=-Math.round(d-mxUtils.mod(this.view.translate.x*this.view.scale+b,d))+"px "+-Math.round(d-mxUtils.mod(this.view.translate.y*this.view.scale+c,d))+"px";e.style.backgroundPosition=d}};mxGraph.prototype.updatePageBreaks=function(a,b,c){var d=this.view.scale,f=this.view.translate,k=this.pageFormat,e=d*this.pageScale,n=this.view.getBackgroundPageBounds();b=n.width;c=n.height;var g=
+new mxRectangle(d*f.x,d*f.y,k.width*e,k.height*e),A=(a=a&&Math.min(g.width,g.height)>this.minPageBreakDist)?Math.ceil(c/g.height)-1:0,v=a?Math.ceil(b/g.width)-1:0,t=n.x+b,l=n.y+c;null==this.horizontalPageBreaks&&0<A&&(this.horizontalPageBreaks=[]);null==this.verticalPageBreaks&&0<v&&(this.verticalPageBreaks=[]);a=mxUtils.bind(this,function(a){if(null!=a){for(var d=a==this.horizontalPageBreaks?A:v,b=0;b<=d;b++){var f=a==this.horizontalPageBreaks?[new mxPoint(Math.round(n.x),Math.round(n.y+(b+1)*g.height)),
+new mxPoint(Math.round(t),Math.round(n.y+(b+1)*g.height))]:[new mxPoint(Math.round(n.x+(b+1)*g.width),Math.round(n.y)),new mxPoint(Math.round(n.x+(b+1)*g.width),Math.round(l))];null!=a[b]?(a[b].points=f,a[b].redraw()):(f=new mxPolyline(f,this.pageBreakColor),f.dialect=this.dialect,f.isDashed=this.pageBreakDashed,f.pointerEvents=!1,f.init(this.view.backgroundPane),f.redraw(),a[b]=f)}for(b=d;b<a.length;b++)a[b].destroy();a.splice(d,a.length-d)}});a(this.horizontalPageBreaks);a(this.verticalPageBreaks)};
+var b=mxGraphHandler.prototype.shouldRemoveCellsFromParent;mxGraphHandler.prototype.shouldRemoveCellsFromParent=function(a,c,e){for(var d=0;d<c.length;d++)if(this.graph.getModel().isVertex(c[d])){var f=this.graph.getCellGeometry(c[d]);if(null!=f&&f.relative)return!1}return b.apply(this,arguments)};var e=mxConnectionHandler.prototype.createMarker;mxConnectionHandler.prototype.createMarker=function(){var a=e.apply(this,arguments);a.intersects=mxUtils.bind(this,function(b,c){return this.isConnecting()?
+!0:mxCellMarker.prototype.intersects.apply(a,arguments)});return a};mxGraphView.prototype.createBackgroundPageShape=function(a){return new mxRectangleShape(a,"#ffffff",this.graph.defaultPageBorderColor)};mxGraphView.prototype.getBackgroundPageBounds=function(){var a=this.getGraphBounds(),b=0<a.width?a.x/this.scale-this.translate.x:0,c=0<a.height?a.y/this.scale-this.translate.y:0,d=this.graph.pageFormat,f=this.graph.pageScale,k=d.width*f,d=d.height*f,f=Math.floor(Math.min(0,b)/k),e=Math.floor(Math.min(0,
+c)/d);return new mxRectangle(this.scale*(this.translate.x+f*k),this.scale*(this.translate.y+e*d),this.scale*(Math.ceil(Math.max(1,b+a.width/this.scale)/k)-f)*k,this.scale*(Math.ceil(Math.max(1,c+a.height/this.scale)/d)-e)*d)};var c=mxGraph.prototype.panGraph;mxGraph.prototype.panGraph=function(a,b){c.apply(this,arguments);this.dialect==mxConstants.DIALECT_SVG||null==this.view.backgroundPageShape||this.useScrollbarsForPanning&&mxUtils.hasScrollbars(this.container)||(this.view.backgroundPageShape.node.style.marginLeft=
+a+"px",this.view.backgroundPageShape.node.style.marginTop=b+"px")};var l=mxPopupMenu.prototype.addItem;mxPopupMenu.prototype.addItem=function(a,b,c,d,f,k){var e=l.apply(this,arguments);null==k||k||mxEvent.addListener(e,"mousedown",function(a){mxEvent.consume(a)});return e};var m=mxGraphHandler.prototype.getInitialCellForEvent;mxGraphHandler.prototype.getInitialCellForEvent=function(a){var b=this.graph.getModel(),c=b.getParent(this.graph.getSelectionCell()),d=m.apply(this,arguments),f=b.getParent(d);
+if(null==c||c!=d&&c!=f)for(;!this.graph.isCellSelected(d)&&!this.graph.isCellSelected(f)&&b.isVertex(f)&&!this.graph.isContainer(f);)d=f,f=this.graph.getModel().getParent(d);return d};var q=mxGraphHandler.prototype.isDelayedSelection;mxGraphHandler.prototype.isDelayedSelection=function(a,b){var c=q.apply(this,arguments);if(!c)for(var d=this.graph.getModel(),f=d.getParent(a);null!=f;){if(this.graph.isCellSelected(f)&&d.isVertex(f)){c=!0;break}f=d.getParent(f)}return c};mxGraphHandler.prototype.selectDelayed=
+function(a){if(!this.graph.popupMenuHandler.isPopupTrigger(a)){var b=a.getCell();null==b&&(b=this.cell);var c=this.graph.view.getState(b);if(null==c||!a.isSource(c.control))for(var c=this.graph.getModel(),d=c.getParent(b);!this.graph.isCellSelected(d)&&c.isVertex(d);)b=d,d=c.getParent(b);this.graph.selectCellForEvent(b,a.getEvent())}};mxPopupMenuHandler.prototype.getCellForPopupEvent=function(a){a=a.getCell();for(var b=this.graph.getModel(),c=b.getParent(a);b.isVertex(c)&&!this.graph.isContainer(c);)this.graph.isCellSelected(c)&&
+(a=c),c=b.getParent(c);return a}})();EditorUi=function(a,b,e){mxEventSource.call(this);this.destroyFunctions=[];this.editor=a||new Editor;this.container=b||document.body;var c=this.editor.graph;c.lightbox=e;c.useCssTransforms&&(this.lazyZoomDelay=0);mxClient.IS_SVG?mxPopupMenu.prototype.submenuImage="data:image/gif;base64,R0lGODlhCQAJAIAAAP///zMzMyH5BAEAAAAALAAAAAAJAAkAAAIPhI8WebHsHopSOVgb26AAADs=":(new Image).src=mxPopupMenu.prototype.submenuImage;mxClient.IS_SVG||null==mxConnectionHandler.prototype.connectImage||((new Image).src=mxConnectionHandler.prototype.connectImage.src);
+this.editor.chromeless&&!this.editor.editable&&(this.footerHeight=0,c.isEnabled=function(){return!1},c.panningHandler.isForcePanningEvent=function(a){return!mxEvent.isPopupTrigger(a.getEvent())});this.actions=new Actions(this);this.menus=this.createMenus();if(!c.standalone){this.createDivs();this.createUi();this.refresh();var l=mxUtils.bind(this,function(a){null==a&&(a=window.event);return c.isEditing()||null!=a&&this.isSelectionAllowed(a)});this.container==document.body&&(this.menubarContainer.onselectstart=
 l,this.menubarContainer.onmousedown=l,this.toolbarContainer.onselectstart=l,this.toolbarContainer.onmousedown=l,this.diagramContainer.onselectstart=l,this.diagramContainer.onmousedown=l,this.sidebarContainer.onselectstart=l,this.sidebarContainer.onmousedown=l,this.formatContainer.onselectstart=l,this.formatContainer.onmousedown=l,this.footerContainer.onselectstart=l,this.footerContainer.onmousedown=l,null!=this.tabContainer&&(this.tabContainer.onselectstart=l));!this.editor.chromeless||this.editor.editable?
-(b=function(a){if(null!=a){var c=mxEvent.getSource(a);if("A"==c.nodeName)for(;null!=c;){if("geHint"==c.className)return!0;c=c.parentNode}}return l(a)},mxClient.IS_IE&&("undefined"===typeof document.documentMode||9>document.documentMode)?mxEvent.addListener(this.diagramContainer,"contextmenu",b):this.diagramContainer.oncontextmenu=b):d.panningHandler.usePopupTrigger=!1;d.init(this.diagramContainer);mxClient.IS_SVG&&null!=d.view.getDrawPane()&&(b=d.view.getDrawPane().ownerSVGElement,null!=b&&(b.style.position=
-"absolute"));this.hoverIcons=this.createHoverIcons();mxEvent.addListener(this.diagramContainer,"mousemove",mxUtils.bind(this,function(a){var c=mxUtils.getOffset(this.diagramContainer);0<mxEvent.getClientX(a)-c.x-this.diagramContainer.clientWidth||0<mxEvent.getClientY(a)-c.y-this.diagramContainer.clientHeight?this.diagramContainer.setAttribute("title",mxResources.get("panTooltip")):this.diagramContainer.removeAttribute("title")}));var m=!1,q=this.hoverIcons.isResetEvent;this.hoverIcons.isResetEvent=
-function(a,c){return m||q.apply(this,arguments)};this.keydownHandler=mxUtils.bind(this,function(a){32!=a.which||d.isEditing()?mxEvent.isConsumed(a)||27!=a.keyCode||this.hideDialog(null,!0):(m=!0,this.hoverIcons.reset(),d.container.style.cursor="move",d.isEditing()||mxEvent.getSource(a)!=d.container||mxEvent.consume(a))});mxEvent.addListener(document,"keydown",this.keydownHandler);this.keyupHandler=mxUtils.bind(this,function(a){d.container.style.cursor="";m=!1});mxEvent.addListener(document,"keyup",
-this.keyupHandler);var u=d.panningHandler.isForcePanningEvent;d.panningHandler.isForcePanningEvent=function(a){return u.apply(this,arguments)||m||mxEvent.isMouseEvent(a.getEvent())&&(this.usePopupTrigger||!mxEvent.isPopupTrigger(a.getEvent()))&&(!mxEvent.isControlDown(a.getEvent())&&mxEvent.isRightMouseButton(a.getEvent())||mxEvent.isMiddleMouseButton(a.getEvent()))};var z=d.cellEditor.isStopEditingEvent;d.cellEditor.isStopEditingEvent=function(a){return z.apply(this,arguments)||13==a.keyCode&&(!mxClient.IS_SF&&
-mxEvent.isControlDown(a)||mxClient.IS_MAC&&mxEvent.isMetaDown(a)||mxClient.IS_SF&&mxEvent.isShiftDown(a))};var C=d.isZoomWheelEvent;d.isZoomWheelEvent=function(){return m||C.apply(this,arguments)};var c=!1,e=null,k=null,x=null,n=mxUtils.bind(this,function(){if(null!=this.toolbar&&c!=d.cellEditor.isContentEditing()){for(var a=this.toolbar.container.firstChild,b=[];null!=a;){var g=a.nextSibling;0>mxUtils.indexOf(this.toolbar.staticElements,a)&&(a.parentNode.removeChild(a),b.push(a));a=g}a=this.toolbar.fontMenu;
-g=this.toolbar.sizeMenu;if(null==x)this.toolbar.createTextToolbar();else{for(var f=0;f<x.length;f++)this.toolbar.container.appendChild(x[f]);this.toolbar.fontMenu=e;this.toolbar.sizeMenu=k}c=d.cellEditor.isContentEditing();e=a;k=g;x=b}}),g=this,A=d.cellEditor.startEditing;d.cellEditor.startEditing=function(){A.apply(this,arguments);n();if(d.cellEditor.isContentEditing()){var a=!1,c=function(){a||(a=!0,window.setTimeout(function(){for(var c=d.getSelectedElement();null!=c&&c.nodeType!=mxConstants.NODETYPE_ELEMENT;)c=
-c.parentNode;if(null!=c&&(c=mxUtils.getCurrentStyle(c),null!=c&&null!=g.toolbar)){var b=c.fontFamily;"'"==b.charAt(0)&&(b=b.substring(1));"'"==b.charAt(b.length-1)&&(b=b.substring(0,b.length-1));g.toolbar.setFontName(b);g.toolbar.setFontSize(parseInt(c.fontSize))}a=!1},0))};mxEvent.addListener(d.cellEditor.textarea,"input",c);mxEvent.addListener(d.cellEditor.textarea,"touchend",c);mxEvent.addListener(d.cellEditor.textarea,"mouseup",c);mxEvent.addListener(d.cellEditor.textarea,"keyup",c);c()}};var v=
-d.cellEditor.stopEditing;d.cellEditor.stopEditing=function(a,c){v.apply(this,arguments);n()};d.container.setAttribute("tabindex","0");d.container.style.cursor="default";if(window.self===window.top&&null!=d.container.parentNode)try{d.container.focus()}catch(P){}var t=d.fireMouseEvent;d.fireMouseEvent=function(a,c,b){a==mxEvent.MOUSE_DOWN&&this.container.focus();t.apply(this,arguments)};d.popupMenuHandler.autoExpand=!0;null!=this.menus&&(d.popupMenuHandler.factoryMethod=mxUtils.bind(this,function(a,
-c,b){this.menus.createPopupMenu(a,c,b)}));mxEvent.addGestureListeners(document,mxUtils.bind(this,function(a){d.popupMenuHandler.hideMenu()}));this.keyHandler=this.createKeyHandler(a);this.getKeyHandler=function(){return keyHandler};var D="rounded shadow glass dashed dashPattern comic labelBackgroundColor".split(" "),y="shape edgeStyle curved rounded elbow comic jumpStyle jumpSize".split(" ");this.setDefaultStyle=function(a){try{var c=d.view.getState(a);if(null!=c){var b=a.clone();b.style="";var e=
-d.getCellStyle(b);a=[];var b=[],k;for(k in c.style)e[k]!=c.style[k]&&(a.push(c.style[k]),b.push(k));for(var g=d.getModel().getStyle(c.cell),f=null!=g?g.split(";"):[],g=0;g<f.length;g++){var p=f[g],n=p.indexOf("=");if(0<=n){k=p.substring(0,n);var x=p.substring(n+1);null!=e[k]&&"none"==x&&(a.push(x),b.push(k))}}d.getModel().isEdge(c.cell)?d.currentEdgeStyle={}:d.currentVertexStyle={};this.fireEvent(new mxEventObject("styleChanged","keys",b,"values",a,"cells",[c.cell]))}}catch(Z){this.handleError(Z)}};
-this.clearDefaultStyle=function(){d.currentEdgeStyle=mxUtils.clone(d.defaultEdgeStyle);d.currentVertexStyle=mxUtils.clone(d.defaultVertexStyle);this.fireEvent(new mxEventObject("styleChanged","keys",[],"values",[],"cells",[]))};var E=["fontFamily","fontSize","fontColor"],p="edgeStyle startArrow startFill startSize endArrow endFill endSize".split(" "),B=["startArrow startFill startSize sourcePerimeterSpacing endArrow endFill endSize targetPerimeterSpacing".split(" "),["strokeColor","strokeWidth"],
-["fillColor","gradientColor"],E,["opacity"],["align"],["html"]];for(a=0;a<B.length;a++)for(b=0;b<B[a].length;b++)D.push(B[a][b]);for(a=0;a<y.length;a++)0>mxUtils.indexOf(D,y[a])&&D.push(y[a]);var L=function(a,c){var b=d.getModel();b.beginUpdate();try{for(var e=0;e<a.length;e++){var k=a[e],g;if(c)g=["fontSize","fontFamily","fontColor"];else{var f=b.getStyle(k),p=null!=f?f.split(";"):[];g=D.slice();for(var n=0;n<p.length;n++){var x=p[n],t=x.indexOf("=");if(0<=t){var v=x.substring(0,t),A=mxUtils.indexOf(g,
-v);0<=A&&g.splice(A,1);for(var Q=0;Q<B.length;Q++){var l=B[Q];if(0<=mxUtils.indexOf(l,v))for(var I=0;I<l.length;I++){var L=mxUtils.indexOf(g,l[I]);0<=L&&g.splice(L,1)}}}}}for(var m=b.isEdge(k),u=m?d.currentEdgeStyle:d.currentVertexStyle,P=b.getStyle(k),n=0;n<g.length;n++){var v=g[n],q=u[v];null==q||"shape"==v&&!m||m&&!(0>mxUtils.indexOf(y,v))||(P=mxUtils.setStyle(P,v,q))}b.setStyle(k,P)}}finally{b.endUpdate()}};d.addListener("cellsInserted",function(a,c){L(c.getProperty("cells"))});d.addListener("textInserted",
-function(a,c){L(c.getProperty("cells"),!0)});d.connectionHandler.addListener(mxEvent.CONNECT,function(a,c){var b=[c.getProperty("cell")];c.getProperty("terminalInserted")&&b.push(c.getProperty("terminal"));L(b)});this.addListener("styleChanged",mxUtils.bind(this,function(a,c){var b=c.getProperty("cells"),e=!1,k=!1;if(0<b.length)for(var g=0;g<b.length&&(e=d.getModel().isVertex(b[g])||e,!(k=d.getModel().isEdge(b[g])||k)||!e);g++);else k=e=!0;for(var b=c.getProperty("keys"),f=c.getProperty("values"),
-g=0;g<b.length;g++){var n=0<=mxUtils.indexOf(E,b[g]);if("strokeColor"!=b[g]||null!=f[g]&&"none"!=f[g])if(0<=mxUtils.indexOf(y,b[g]))k||0<=mxUtils.indexOf(p,b[g])?null==f[g]?delete d.currentEdgeStyle[b[g]]:d.currentEdgeStyle[b[g]]=f[g]:e&&0<=mxUtils.indexOf(D,b[g])&&(null==f[g]?delete d.currentVertexStyle[b[g]]:d.currentVertexStyle[b[g]]=f[g]);else if(0<=mxUtils.indexOf(D,b[g])){if(e||n)null==f[g]?delete d.currentVertexStyle[b[g]]:d.currentVertexStyle[b[g]]=f[g];if(k||n||0<=mxUtils.indexOf(p,b[g]))null==
-f[g]?delete d.currentEdgeStyle[b[g]]:d.currentEdgeStyle[b[g]]=f[g]}}null!=this.toolbar&&(this.toolbar.setFontName(d.currentVertexStyle.fontFamily||Menus.prototype.defaultFont),this.toolbar.setFontSize(d.currentVertexStyle.fontSize||Menus.prototype.defaultFontSize),null!=this.toolbar.edgeStyleMenu&&(this.toolbar.edgeStyleMenu.getElementsByTagName("div")[0].className="orthogonalEdgeStyle"==d.currentEdgeStyle.edgeStyle&&"1"==d.currentEdgeStyle.curved?"geSprite geSprite-curved":"straight"==d.currentEdgeStyle.edgeStyle||
-"none"==d.currentEdgeStyle.edgeStyle||null==d.currentEdgeStyle.edgeStyle?"geSprite geSprite-straight":"entityRelationEdgeStyle"==d.currentEdgeStyle.edgeStyle?"geSprite geSprite-entity":"elbowEdgeStyle"==d.currentEdgeStyle.edgeStyle?"geSprite geSprite-"+("vertical"==d.currentEdgeStyle.elbow?"verticalelbow":"horizontalelbow"):"isometricEdgeStyle"==d.currentEdgeStyle.edgeStyle?"geSprite geSprite-"+("vertical"==d.currentEdgeStyle.elbow?"verticalisometric":"horizontalisometric"):"geSprite geSprite-orthogonal"),
-null!=this.toolbar.edgeShapeMenu&&(this.toolbar.edgeShapeMenu.getElementsByTagName("div")[0].className="link"==d.currentEdgeStyle.shape?"geSprite geSprite-linkedge":"flexArrow"==d.currentEdgeStyle.shape?"geSprite geSprite-arrow":"arrow"==d.currentEdgeStyle.shape?"geSprite geSprite-simplearrow":"geSprite geSprite-connection"),null!=this.toolbar.lineStartMenu&&(this.toolbar.lineStartMenu.getElementsByTagName("div")[0].className=this.getCssClassForMarker("start",d.currentEdgeStyle.shape,d.currentEdgeStyle[mxConstants.STYLE_STARTARROW],
-mxUtils.getValue(d.currentEdgeStyle,"startFill","1"))),null!=this.toolbar.lineEndMenu&&(this.toolbar.lineEndMenu.getElementsByTagName("div")[0].className=this.getCssClassForMarker("end",d.currentEdgeStyle.shape,d.currentEdgeStyle[mxConstants.STYLE_ENDARROW],mxUtils.getValue(d.currentEdgeStyle,"endFill","1"))))}));null!=this.toolbar&&(a=mxUtils.bind(this,function(){var a=d.currentVertexStyle.fontFamily||"Helvetica",c=String(d.currentVertexStyle.fontSize||"12"),b=d.getView().getState(d.getSelectionCell());
-null!=b&&(a=b.style[mxConstants.STYLE_FONTFAMILY]||a,c=b.style[mxConstants.STYLE_FONTSIZE]||c,10<a.length&&(a=a.substring(0,8)+"..."));this.toolbar.setFontName(a);this.toolbar.setFontSize(c)}),d.getSelectionModel().addListener(mxEvent.CHANGE,a),d.getModel().addListener(mxEvent.CHANGE,a));d.addListener(mxEvent.CELLS_ADDED,function(a,c){var b=c.getProperty("cells"),e=c.getProperty("parent");d.getModel().isLayer(e)&&!d.isCellVisible(e)&&null!=b&&0<b.length&&d.getModel().setVisible(e,!0)});this.gestureHandler=
+(b=function(a){if(null!=a){var d=mxEvent.getSource(a);if("A"==d.nodeName)for(;null!=d;){if("geHint"==d.className)return!0;d=d.parentNode}}return l(a)},mxClient.IS_IE&&("undefined"===typeof document.documentMode||9>document.documentMode)?mxEvent.addListener(this.diagramContainer,"contextmenu",b):this.diagramContainer.oncontextmenu=b):c.panningHandler.usePopupTrigger=!1;c.init(this.diagramContainer);mxClient.IS_SVG&&null!=c.view.getDrawPane()&&(b=c.view.getDrawPane().ownerSVGElement,null!=b&&(b.style.position=
+"absolute"));this.hoverIcons=this.createHoverIcons();mxEvent.addListener(this.diagramContainer,"mousemove",mxUtils.bind(this,function(a){var d=mxUtils.getOffset(this.diagramContainer);0<mxEvent.getClientX(a)-d.x-this.diagramContainer.clientWidth||0<mxEvent.getClientY(a)-d.y-this.diagramContainer.clientHeight?this.diagramContainer.setAttribute("title",mxResources.get("panTooltip")):this.diagramContainer.removeAttribute("title")}));var m=!1,q=this.hoverIcons.isResetEvent;this.hoverIcons.isResetEvent=
+function(a,d){return m||q.apply(this,arguments)};this.keydownHandler=mxUtils.bind(this,function(a){32!=a.which||c.isEditing()?mxEvent.isConsumed(a)||27!=a.keyCode||this.hideDialog(null,!0):(m=!0,this.hoverIcons.reset(),c.container.style.cursor="move",c.isEditing()||mxEvent.getSource(a)!=c.container||mxEvent.consume(a))});mxEvent.addListener(document,"keydown",this.keydownHandler);this.keyupHandler=mxUtils.bind(this,function(a){c.container.style.cursor="";m=!1});mxEvent.addListener(document,"keyup",
+this.keyupHandler);var u=c.panningHandler.isForcePanningEvent;c.panningHandler.isForcePanningEvent=function(a){return u.apply(this,arguments)||m||mxEvent.isMouseEvent(a.getEvent())&&(this.usePopupTrigger||!mxEvent.isPopupTrigger(a.getEvent()))&&(!mxEvent.isControlDown(a.getEvent())&&mxEvent.isRightMouseButton(a.getEvent())||mxEvent.isMiddleMouseButton(a.getEvent()))};var z=c.cellEditor.isStopEditingEvent;c.cellEditor.isStopEditingEvent=function(a){return z.apply(this,arguments)||13==a.keyCode&&(!mxClient.IS_SF&&
+mxEvent.isControlDown(a)||mxClient.IS_MAC&&mxEvent.isMetaDown(a)||mxClient.IS_SF&&mxEvent.isShiftDown(a))};var C=c.isZoomWheelEvent;c.isZoomWheelEvent=function(){return m||C.apply(this,arguments)};var d=!1,f=null,k=null,x=null,n=mxUtils.bind(this,function(){if(null!=this.toolbar&&d!=c.cellEditor.isContentEditing()){for(var a=this.toolbar.container.firstChild,b=[];null!=a;){var g=a.nextSibling;0>mxUtils.indexOf(this.toolbar.staticElements,a)&&(a.parentNode.removeChild(a),b.push(a));a=g}a=this.toolbar.fontMenu;
+g=this.toolbar.sizeMenu;if(null==x)this.toolbar.createTextToolbar();else{for(var e=0;e<x.length;e++)this.toolbar.container.appendChild(x[e]);this.toolbar.fontMenu=f;this.toolbar.sizeMenu=k}d=c.cellEditor.isContentEditing();f=a;k=g;x=b}}),g=this,A=c.cellEditor.startEditing;c.cellEditor.startEditing=function(){A.apply(this,arguments);n();if(c.cellEditor.isContentEditing()){var a=!1,d=function(){a||(a=!0,window.setTimeout(function(){for(var d=c.getSelectedElement();null!=d&&d.nodeType!=mxConstants.NODETYPE_ELEMENT;)d=
+d.parentNode;if(null!=d&&(d=mxUtils.getCurrentStyle(d),null!=d&&null!=g.toolbar)){var b=d.fontFamily;"'"==b.charAt(0)&&(b=b.substring(1));"'"==b.charAt(b.length-1)&&(b=b.substring(0,b.length-1));g.toolbar.setFontName(b);g.toolbar.setFontSize(parseInt(d.fontSize))}a=!1},0))};mxEvent.addListener(c.cellEditor.textarea,"input",d);mxEvent.addListener(c.cellEditor.textarea,"touchend",d);mxEvent.addListener(c.cellEditor.textarea,"mouseup",d);mxEvent.addListener(c.cellEditor.textarea,"keyup",d);d()}};var v=
+c.cellEditor.stopEditing;c.cellEditor.stopEditing=function(a,d){v.apply(this,arguments);n()};c.container.setAttribute("tabindex","0");c.container.style.cursor="default";if(window.self===window.top&&null!=c.container.parentNode)try{c.container.focus()}catch(M){}var t=c.fireMouseEvent;c.fireMouseEvent=function(a,d,b){a==mxEvent.MOUSE_DOWN&&this.container.focus();t.apply(this,arguments)};c.popupMenuHandler.autoExpand=!0;null!=this.menus&&(c.popupMenuHandler.factoryMethod=mxUtils.bind(this,function(a,
+d,b){this.menus.createPopupMenu(a,d,b)}));mxEvent.addGestureListeners(document,mxUtils.bind(this,function(a){c.popupMenuHandler.hideMenu()}));this.keyHandler=this.createKeyHandler(a);this.getKeyHandler=function(){return keyHandler};var E="rounded shadow glass dashed dashPattern comic labelBackgroundColor".split(" "),y="shape edgeStyle curved rounded elbow comic jumpStyle jumpSize".split(" ");this.setDefaultStyle=function(a){try{var d=c.view.getState(a);if(null!=d){var b=a.clone();b.style="";var f=
+c.getCellStyle(b);a=[];var b=[],k;for(k in d.style)f[k]!=d.style[k]&&(a.push(d.style[k]),b.push(k));for(var g=c.getModel().getStyle(d.cell),e=null!=g?g.split(";"):[],g=0;g<e.length;g++){var p=e[g],n=p.indexOf("=");if(0<=n){k=p.substring(0,n);var x=p.substring(n+1);null!=f[k]&&"none"==x&&(a.push(x),b.push(k))}}c.getModel().isEdge(d.cell)?c.currentEdgeStyle={}:c.currentVertexStyle={};this.fireEvent(new mxEventObject("styleChanged","keys",b,"values",a,"cells",[d.cell]))}}catch(Z){this.handleError(Z)}};
+this.clearDefaultStyle=function(){c.currentEdgeStyle=mxUtils.clone(c.defaultEdgeStyle);c.currentVertexStyle=mxUtils.clone(c.defaultVertexStyle);this.fireEvent(new mxEventObject("styleChanged","keys",[],"values",[],"cells",[]))};var D=["fontFamily","fontSize","fontColor"],p="edgeStyle startArrow startFill startSize endArrow endFill endSize".split(" "),B=["startArrow startFill startSize sourcePerimeterSpacing endArrow endFill endSize targetPerimeterSpacing".split(" "),["strokeColor","strokeWidth"],
+["fillColor","gradientColor"],D,["opacity"],["align"],["html"]];for(a=0;a<B.length;a++)for(b=0;b<B[a].length;b++)E.push(B[a][b]);for(a=0;a<y.length;a++)0>mxUtils.indexOf(E,y[a])&&E.push(y[a]);var K=function(a,d){var b=c.getModel();b.beginUpdate();try{for(var f=0;f<a.length;f++){var k=a[f],g;if(d)g=["fontSize","fontFamily","fontColor"];else{var e=b.getStyle(k),p=null!=e?e.split(";"):[];g=E.slice();for(var n=0;n<p.length;n++){var x=p[n],t=x.indexOf("=");if(0<=t){var v=x.substring(0,t),A=mxUtils.indexOf(g,
+v);0<=A&&g.splice(A,1);for(var Q=0;Q<B.length;Q++){var l=B[Q];if(0<=mxUtils.indexOf(l,v))for(var K=0;K<l.length;K++){var m=mxUtils.indexOf(g,l[K]);0<=m&&g.splice(m,1)}}}}}for(var u=b.isEdge(k),I=u?c.currentEdgeStyle:c.currentVertexStyle,q=b.getStyle(k),n=0;n<g.length;n++){var v=g[n],D=I[v];null==D||"shape"==v&&!u||u&&!(0>mxUtils.indexOf(y,v))||(q=mxUtils.setStyle(q,v,D))}b.setStyle(k,q)}}finally{b.endUpdate()}};c.addListener("cellsInserted",function(a,d){K(d.getProperty("cells"))});c.addListener("textInserted",
+function(a,d){K(d.getProperty("cells"),!0)});c.connectionHandler.addListener(mxEvent.CONNECT,function(a,d){var b=[d.getProperty("cell")];d.getProperty("terminalInserted")&&b.push(d.getProperty("terminal"));K(b)});this.addListener("styleChanged",mxUtils.bind(this,function(a,d){var b=d.getProperty("cells"),f=!1,k=!1;if(0<b.length)for(var g=0;g<b.length&&(f=c.getModel().isVertex(b[g])||f,!(k=c.getModel().isEdge(b[g])||k)||!f);g++);else k=f=!0;for(var b=d.getProperty("keys"),e=d.getProperty("values"),
+g=0;g<b.length;g++){var n=0<=mxUtils.indexOf(D,b[g]);if("strokeColor"!=b[g]||null!=e[g]&&"none"!=e[g])if(0<=mxUtils.indexOf(y,b[g]))k||0<=mxUtils.indexOf(p,b[g])?null==e[g]?delete c.currentEdgeStyle[b[g]]:c.currentEdgeStyle[b[g]]=e[g]:f&&0<=mxUtils.indexOf(E,b[g])&&(null==e[g]?delete c.currentVertexStyle[b[g]]:c.currentVertexStyle[b[g]]=e[g]);else if(0<=mxUtils.indexOf(E,b[g])){if(f||n)null==e[g]?delete c.currentVertexStyle[b[g]]:c.currentVertexStyle[b[g]]=e[g];if(k||n||0<=mxUtils.indexOf(p,b[g]))null==
+e[g]?delete c.currentEdgeStyle[b[g]]:c.currentEdgeStyle[b[g]]=e[g]}}null!=this.toolbar&&(this.toolbar.setFontName(c.currentVertexStyle.fontFamily||Menus.prototype.defaultFont),this.toolbar.setFontSize(c.currentVertexStyle.fontSize||Menus.prototype.defaultFontSize),null!=this.toolbar.edgeStyleMenu&&(this.toolbar.edgeStyleMenu.getElementsByTagName("div")[0].className="orthogonalEdgeStyle"==c.currentEdgeStyle.edgeStyle&&"1"==c.currentEdgeStyle.curved?"geSprite geSprite-curved":"straight"==c.currentEdgeStyle.edgeStyle||
+"none"==c.currentEdgeStyle.edgeStyle||null==c.currentEdgeStyle.edgeStyle?"geSprite geSprite-straight":"entityRelationEdgeStyle"==c.currentEdgeStyle.edgeStyle?"geSprite geSprite-entity":"elbowEdgeStyle"==c.currentEdgeStyle.edgeStyle?"geSprite geSprite-"+("vertical"==c.currentEdgeStyle.elbow?"verticalelbow":"horizontalelbow"):"isometricEdgeStyle"==c.currentEdgeStyle.edgeStyle?"geSprite geSprite-"+("vertical"==c.currentEdgeStyle.elbow?"verticalisometric":"horizontalisometric"):"geSprite geSprite-orthogonal"),
+null!=this.toolbar.edgeShapeMenu&&(this.toolbar.edgeShapeMenu.getElementsByTagName("div")[0].className="link"==c.currentEdgeStyle.shape?"geSprite geSprite-linkedge":"flexArrow"==c.currentEdgeStyle.shape?"geSprite geSprite-arrow":"arrow"==c.currentEdgeStyle.shape?"geSprite geSprite-simplearrow":"geSprite geSprite-connection"),null!=this.toolbar.lineStartMenu&&(this.toolbar.lineStartMenu.getElementsByTagName("div")[0].className=this.getCssClassForMarker("start",c.currentEdgeStyle.shape,c.currentEdgeStyle[mxConstants.STYLE_STARTARROW],
+mxUtils.getValue(c.currentEdgeStyle,"startFill","1"))),null!=this.toolbar.lineEndMenu&&(this.toolbar.lineEndMenu.getElementsByTagName("div")[0].className=this.getCssClassForMarker("end",c.currentEdgeStyle.shape,c.currentEdgeStyle[mxConstants.STYLE_ENDARROW],mxUtils.getValue(c.currentEdgeStyle,"endFill","1"))))}));null!=this.toolbar&&(a=mxUtils.bind(this,function(){var a=c.currentVertexStyle.fontFamily||"Helvetica",d=String(c.currentVertexStyle.fontSize||"12"),b=c.getView().getState(c.getSelectionCell());
+null!=b&&(a=b.style[mxConstants.STYLE_FONTFAMILY]||a,d=b.style[mxConstants.STYLE_FONTSIZE]||d,10<a.length&&(a=a.substring(0,8)+"..."));this.toolbar.setFontName(a);this.toolbar.setFontSize(d)}),c.getSelectionModel().addListener(mxEvent.CHANGE,a),c.getModel().addListener(mxEvent.CHANGE,a));c.addListener(mxEvent.CELLS_ADDED,function(a,d){var b=d.getProperty("cells"),f=d.getProperty("parent");c.getModel().isLayer(f)&&!c.isCellVisible(f)&&null!=b&&0<b.length&&c.getModel().setVisible(f,!0)});this.gestureHandler=
 mxUtils.bind(this,function(a){null!=this.currentMenu&&mxEvent.getSource(a)!=this.currentMenu.div&&this.hideCurrentMenu()});mxEvent.addGestureListeners(document,this.gestureHandler);this.resizeHandler=mxUtils.bind(this,function(){window.setTimeout(mxUtils.bind(this,function(){null!=this.editor.graph&&this.refresh()}),0)});mxEvent.addListener(window,"resize",this.resizeHandler);this.orientationChangeHandler=mxUtils.bind(this,function(){this.refresh()});mxEvent.addListener(window,"orientationchange",
-this.orientationChangeHandler);mxClient.IS_IOS&&!window.navigator.standalone&&(this.scrollHandler=mxUtils.bind(this,function(){window.scrollTo(0,0)}),mxEvent.addListener(window,"scroll",this.scrollHandler));this.editor.addListener("resetGraphView",mxUtils.bind(this,function(){this.resetScrollbars()}));this.addListener("gridEnabledChanged",mxUtils.bind(this,function(){d.view.validateBackground()}));this.addListener("backgroundColorChanged",mxUtils.bind(this,function(){d.view.validateBackground()}));
-d.addListener("gridSizeChanged",mxUtils.bind(this,function(){d.isGridEnabled()&&d.view.validateBackground()}));this.editor.resetGraph()}this.init();d.standalone||this.open()};mxUtils.extend(EditorUi,mxEventSource);EditorUi.compactUi=!0;EditorUi.prototype.splitSize=mxClient.IS_TOUCH||mxClient.IS_POINTER?12:8;EditorUi.prototype.menubarHeight=30;EditorUi.prototype.formatEnabled=!0;EditorUi.prototype.formatWidth=240;EditorUi.prototype.toolbarHeight=38;EditorUi.prototype.footerHeight=28;
+this.orientationChangeHandler);mxClient.IS_IOS&&!window.navigator.standalone&&(this.scrollHandler=mxUtils.bind(this,function(){window.scrollTo(0,0)}),mxEvent.addListener(window,"scroll",this.scrollHandler));this.editor.addListener("resetGraphView",mxUtils.bind(this,function(){this.resetScrollbars()}));this.addListener("gridEnabledChanged",mxUtils.bind(this,function(){c.view.validateBackground()}));this.addListener("backgroundColorChanged",mxUtils.bind(this,function(){c.view.validateBackground()}));
+c.addListener("gridSizeChanged",mxUtils.bind(this,function(){c.isGridEnabled()&&c.view.validateBackground()}));this.editor.resetGraph()}this.init();c.standalone||this.open()};mxUtils.extend(EditorUi,mxEventSource);EditorUi.compactUi=!0;EditorUi.prototype.splitSize=mxClient.IS_TOUCH||mxClient.IS_POINTER?12:8;EditorUi.prototype.menubarHeight=30;EditorUi.prototype.formatEnabled=!0;EditorUi.prototype.formatWidth=240;EditorUi.prototype.toolbarHeight=38;EditorUi.prototype.footerHeight=28;
 EditorUi.prototype.sidebarFooterHeight=34;EditorUi.prototype.hsplitPosition=640>=screen.width?118:"large"!=urlParams["sidebar-entries"]?212:240;EditorUi.prototype.allowAnimation=!0;EditorUi.prototype.lightboxMaxFitScale=2;EditorUi.prototype.lightboxVerticalDivider=4;EditorUi.prototype.hsplitClickEnabled=!1;
 EditorUi.prototype.init=function(){var a=this.editor.graph;if(!a.standalone){mxEvent.addListener(a.container,"scroll",mxUtils.bind(this,function(){a.tooltipHandler.hide();null!=a.connectionHandler&&null!=a.connectionHandler.constraintHandler&&a.connectionHandler.constraintHandler.reset()}));a.addListener(mxEvent.ESCAPE,mxUtils.bind(this,function(){a.tooltipHandler.hide()}));mxEvent.addListener(a.container,"keydown",mxUtils.bind(this,function(a){this.onKeyDown(a)}));mxEvent.addListener(a.container,
-"keypress",mxUtils.bind(this,function(a){this.onKeyPress(a)}));this.addUndoListener();this.addBeforeUnloadListener();a.getSelectionModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(){this.updateActionStates()}));a.getModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(){this.updateActionStates()}));var b=a.setDefaultParent,f=this;this.editor.graph.setDefaultParent=function(){b.apply(this,arguments);f.updateActionStates()};a.editLink=f.actions.get("editLink").funct;this.updateActionStates();
+"keypress",mxUtils.bind(this,function(a){this.onKeyPress(a)}));this.addUndoListener();this.addBeforeUnloadListener();a.getSelectionModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(){this.updateActionStates()}));a.getModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(){this.updateActionStates()}));var b=a.setDefaultParent,e=this;this.editor.graph.setDefaultParent=function(){b.apply(this,arguments);e.updateActionStates()};a.editLink=e.actions.get("editLink").funct;this.updateActionStates();
 this.initClipboard();this.initCanvas();null!=this.format&&this.format.init()}};EditorUi.prototype.onKeyDown=function(a){var b=this.editor.graph;9==a.which&&b.isEnabled()&&!mxEvent.isAltDown(a)&&(b.isEditing()?b.stopEditing(!1):b.selectCell(!mxEvent.isShiftDown(a)),mxEvent.consume(a))};
 EditorUi.prototype.onKeyPress=function(a){var b=this.editor.graph;!this.isImmediateEditingEvent(a)||b.isEditing()||b.isSelectionEmpty()||0===a.which||27===a.which||mxEvent.isAltDown(a)||mxEvent.isControlDown(a)||mxEvent.isMetaDown(a)||(b.escape(),b.startEditing(),mxClient.IS_FF&&(b=b.cellEditor,b.textarea.innerHTML=String.fromCharCode(a.which),a=document.createRange(),a.selectNodeContents(b.textarea),a.collapse(!1),b=window.getSelection(),b.removeAllRanges(),b.addRange(a)))};
 EditorUi.prototype.isImmediateEditingEvent=function(a){return!0};
-EditorUi.prototype.getCssClassForMarker=function(a,b,f,d){return"flexArrow"==b?null!=f&&f!=mxConstants.NONE?"geSprite geSprite-"+a+"blocktrans":"geSprite geSprite-noarrow":f==mxConstants.ARROW_CLASSIC?"1"==d?"geSprite geSprite-"+a+"classic":"geSprite geSprite-"+a+"classictrans":f==mxConstants.ARROW_CLASSIC_THIN?"1"==d?"geSprite geSprite-"+a+"classicthin":"geSprite geSprite-"+a+"classicthintrans":f==mxConstants.ARROW_OPEN?"geSprite geSprite-"+a+"open":f==mxConstants.ARROW_OPEN_THIN?"geSprite geSprite-"+
-a+"openthin":f==mxConstants.ARROW_BLOCK?"1"==d?"geSprite geSprite-"+a+"block":"geSprite geSprite-"+a+"blocktrans":f==mxConstants.ARROW_BLOCK_THIN?"1"==d?"geSprite geSprite-"+a+"blockthin":"geSprite geSprite-"+a+"blockthintrans":f==mxConstants.ARROW_OVAL?"1"==d?"geSprite geSprite-"+a+"oval":"geSprite geSprite-"+a+"ovaltrans":f==mxConstants.ARROW_DIAMOND?"1"==d?"geSprite geSprite-"+a+"diamond":"geSprite geSprite-"+a+"diamondtrans":f==mxConstants.ARROW_DIAMOND_THIN?"1"==d?"geSprite geSprite-"+a+"thindiamond":
-"geSprite geSprite-"+a+"thindiamondtrans":"openAsync"==f?"geSprite geSprite-"+a+"openasync":"dash"==f?"geSprite geSprite-"+a+"dash":"cross"==f?"geSprite geSprite-"+a+"cross":"async"==f?"1"==d?"geSprite geSprite-"+a+"async":"geSprite geSprite-"+a+"asynctrans":"circle"==f||"circlePlus"==f?"1"==d||"circle"==f?"geSprite geSprite-"+a+"circle":"geSprite geSprite-"+a+"circleplus":"ERone"==f?"geSprite geSprite-"+a+"erone":"ERmandOne"==f?"geSprite geSprite-"+a+"eronetoone":"ERmany"==f?"geSprite geSprite-"+
-a+"ermany":"ERoneToMany"==f?"geSprite geSprite-"+a+"eronetomany":"ERzeroToOne"==f?"geSprite geSprite-"+a+"eroneopt":"ERzeroToMany"==f?"geSprite geSprite-"+a+"ermanyopt":"geSprite geSprite-noarrow"};EditorUi.prototype.createMenus=function(){return null};
-EditorUi.prototype.updatePasteActionStates=function(){var a=this.editor.graph,b=this.actions.get("paste"),f=this.actions.get("pasteHere");b.setEnabled(this.editor.graph.cellEditor.isContentEditing()||!mxClipboard.isEmpty()&&a.isEnabled()&&!a.isCellLocked(a.getDefaultParent()));f.setEnabled(b.isEnabled())};
-EditorUi.prototype.initClipboard=function(){var a=this,b=mxClipboard.cut;mxClipboard.cut=function(d){d.cellEditor.isContentEditing()?document.execCommand("cut",!1,null):b.apply(this,arguments);a.updatePasteActionStates()};mxClipboard.copy=function(b){var d=null;if(b.cellEditor.isContentEditing())document.execCommand("copy",!1,null);else{for(var d=d||b.getSelectionCells(),d=b.getExportableCells(b.model.getTopmostCells(d)),f={},l=b.createCellLookup(d),m=b.cloneCells(d,null,f),c=new mxGraphModel,e=c.getChildAt(c.getRoot(),
-0),k=0;k<m.length;k++)c.add(e,m[k]);b.updateCustomLinks(b.createCellMapping(f,l),m);mxClipboard.insertCount=1;mxClipboard.setCells(m)}a.updatePasteActionStates();return d};var f=mxClipboard.paste;mxClipboard.paste=function(b){var d=null;b.cellEditor.isContentEditing()?document.execCommand("paste",!1,null):d=f.apply(this,arguments);a.updatePasteActionStates();return d};var d=this.editor.graph.cellEditor.startEditing;this.editor.graph.cellEditor.startEditing=function(){d.apply(this,arguments);a.updatePasteActionStates()};
-var l=this.editor.graph.cellEditor.stopEditing;this.editor.graph.cellEditor.stopEditing=function(b,d){l.apply(this,arguments);a.updatePasteActionStates()};this.updatePasteActionStates()};EditorUi.prototype.lazyZoomDelay=20;EditorUi.prototype.wheelZoomDelay=400;EditorUi.prototype.buttonZoomDelay=600;
-EditorUi.prototype.initCanvas=function(){var a=this.editor.graph;a.timerAutoScroll=!0;a.getPagePadding=function(){return new mxPoint(Math.max(0,Math.round((a.container.offsetWidth-34)/a.view.scale)),Math.max(0,Math.round((a.container.offsetHeight-34)/a.view.scale)))};a.view.getBackgroundPageBounds=function(){var a=this.graph.getPageLayout(),c=this.graph.getPageSize();return new mxRectangle(this.scale*(this.translate.x+a.x*c.width),this.scale*(this.translate.y+a.y*c.height),this.scale*a.width*c.width,
-this.scale*a.height*c.height)};a.getPreferredPageSize=function(a,c,b){a=this.getPageLayout();c=this.getPageSize();return new mxRectangle(0,0,a.width*c.width,a.height*c.height)};var b=null,f=this;if(this.editor.isChromelessView()){this.chromelessResize=b=mxUtils.bind(this,function(c,b,e,d){if(null!=a.container&&!a.isViewer()){e=null!=e?e:0;d=null!=d?d:0;var k=a.pageVisible?a.view.getBackgroundPageBounds():a.getGraphBounds(),g=mxUtils.hasScrollbars(a.container),f=a.view.translate,p=a.view.scale,n=mxRectangle.fromRectangle(k);
-n.x=n.x/p-f.x;n.y=n.y/p-f.y;n.width/=p;n.height/=p;var f=a.container.scrollTop,x=a.container.scrollLeft,B=mxClient.IS_QUIRKS||8<=document.documentMode?20:14;if(8==document.documentMode||9==document.documentMode)B+=3;var t=a.container.offsetWidth-B,B=a.container.offsetHeight-B;c=c?Math.max(.3,Math.min(b||1,t/n.width)):p;b=(t-c*n.width)/2/c;var v=0==this.lightboxVerticalDivider?0:(B-c*n.height)/this.lightboxVerticalDivider/c;g&&(b=Math.max(b,0),v=Math.max(v,0));if(g||k.width<t||k.height<B)a.view.scaleAndTranslate(c,
-Math.floor(b-n.x),Math.floor(v-n.y)),a.container.scrollTop=f*c/p,a.container.scrollLeft=x*c/p;else if(0!=e||0!=d)k=a.view.translate,a.view.setTranslate(Math.floor(k.x+e/p),Math.floor(k.y+d/p))}});this.chromelessWindowResize=mxUtils.bind(this,function(){this.chromelessResize(!1)});var d=mxUtils.bind(this,function(){this.chromelessWindowResize(!1)});mxEvent.addListener(window,"resize",d);this.destroyFunctions.push(function(){mxEvent.removeListener(window,"resize",d)});this.editor.addListener("resetGraphView",
-mxUtils.bind(this,function(){this.chromelessResize(!0)}));this.actions.get("zoomIn").funct=mxUtils.bind(this,function(c){a.zoomIn();this.chromelessResize(!1)});this.actions.get("zoomOut").funct=mxUtils.bind(this,function(c){a.zoomOut();this.chromelessResize(!1)});if("0"!=urlParams.toolbar){var l=JSON.parse(decodeURIComponent(urlParams["toolbar-config"]||"{}"));this.chromelessToolbar=document.createElement("div");this.chromelessToolbar.style.position="fixed";this.chromelessToolbar.style.overflow="hidden";
-this.chromelessToolbar.style.boxSizing="border-box";this.chromelessToolbar.style.whiteSpace="nowrap";this.chromelessToolbar.style.backgroundColor="#000000";this.chromelessToolbar.style.padding="10px 10px 8px 10px";this.chromelessToolbar.style.left=a.isViewer()?"0":"50%";mxClient.IS_VML||(mxUtils.setPrefixedStyle(this.chromelessToolbar.style,"borderRadius","20px"),mxUtils.setPrefixedStyle(this.chromelessToolbar.style,"transition","opacity 600ms ease-in-out"));var m=mxUtils.bind(this,function(){var c=
-mxUtils.getCurrentStyle(a.container);a.isViewer()?this.chromelessToolbar.style.top="0":this.chromelessToolbar.style.bottom=(null!=c?parseInt(c["margin-bottom"]||0):0)+(null!=this.tabContainer?20+parseInt(this.tabContainer.style.height):20)+"px"});this.editor.addListener("resetGraphView",m);m();var q=0,m=mxUtils.bind(this,function(a,c,b){q++;var e=document.createElement("span");e.style.paddingLeft="8px";e.style.paddingRight="8px";e.style.cursor="pointer";mxEvent.addListener(e,"click",a);null!=b&&e.setAttribute("title",
-b);a=document.createElement("img");a.setAttribute("border","0");a.setAttribute("src",c);e.appendChild(a);this.chromelessToolbar.appendChild(e);return e});null!=l.backBtn&&m(mxUtils.bind(this,function(a){window.location.href=l.backBtn.url;mxEvent.consume(a)}),Editor.backLargeImage,mxResources.get("back",null,"Back"));var u=m(mxUtils.bind(this,function(a){this.actions.get("previousPage").funct();mxEvent.consume(a)}),Editor.previousLargeImage,mxResources.get("previousPage")),z=document.createElement("div");
-z.style.display="inline-block";z.style.verticalAlign="top";z.style.fontFamily="Helvetica,Arial";z.style.marginTop="8px";z.style.fontSize="14px";z.style.color="#ffffff";this.chromelessToolbar.appendChild(z);var C=m(mxUtils.bind(this,function(a){this.actions.get("nextPage").funct();mxEvent.consume(a)}),Editor.nextLargeImage,mxResources.get("nextPage")),c=mxUtils.bind(this,function(){null!=this.pages&&1<this.pages.length&&null!=this.currentPage&&(z.innerHTML="",mxUtils.write(z,mxUtils.indexOf(this.pages,
-this.currentPage)+1+" / "+this.pages.length))});u.style.paddingLeft="0px";u.style.paddingRight="4px";C.style.paddingLeft="4px";C.style.paddingRight="0px";var e=mxUtils.bind(this,function(){null!=this.pages&&1<this.pages.length&&null!=this.currentPage?(C.style.display="",u.style.display="",z.style.display="inline-block"):(C.style.display="none",u.style.display="none",z.style.display="none");c()});this.editor.addListener("resetGraphView",e);this.editor.addListener("pageSelected",c);m(mxUtils.bind(this,
-function(a){this.actions.get("zoomOut").funct();mxEvent.consume(a)}),Editor.zoomOutLargeImage,mxResources.get("zoomOut")+" (Alt+Mousewheel)");m(mxUtils.bind(this,function(a){this.actions.get("zoomIn").funct();mxEvent.consume(a)}),Editor.zoomInLargeImage,mxResources.get("zoomIn")+" (Alt+Mousewheel)");m(mxUtils.bind(this,function(c){a.isLightboxView()?(1==a.view.scale?this.lightboxFit():a.zoomTo(1),this.chromelessResize(!1)):this.chromelessResize(!0);mxEvent.consume(c)}),Editor.actualSizeLargeImage,
+EditorUi.prototype.getCssClassForMarker=function(a,b,e,c){return"flexArrow"==b?null!=e&&e!=mxConstants.NONE?"geSprite geSprite-"+a+"blocktrans":"geSprite geSprite-noarrow":e==mxConstants.ARROW_CLASSIC?"1"==c?"geSprite geSprite-"+a+"classic":"geSprite geSprite-"+a+"classictrans":e==mxConstants.ARROW_CLASSIC_THIN?"1"==c?"geSprite geSprite-"+a+"classicthin":"geSprite geSprite-"+a+"classicthintrans":e==mxConstants.ARROW_OPEN?"geSprite geSprite-"+a+"open":e==mxConstants.ARROW_OPEN_THIN?"geSprite geSprite-"+
+a+"openthin":e==mxConstants.ARROW_BLOCK?"1"==c?"geSprite geSprite-"+a+"block":"geSprite geSprite-"+a+"blocktrans":e==mxConstants.ARROW_BLOCK_THIN?"1"==c?"geSprite geSprite-"+a+"blockthin":"geSprite geSprite-"+a+"blockthintrans":e==mxConstants.ARROW_OVAL?"1"==c?"geSprite geSprite-"+a+"oval":"geSprite geSprite-"+a+"ovaltrans":e==mxConstants.ARROW_DIAMOND?"1"==c?"geSprite geSprite-"+a+"diamond":"geSprite geSprite-"+a+"diamondtrans":e==mxConstants.ARROW_DIAMOND_THIN?"1"==c?"geSprite geSprite-"+a+"thindiamond":
+"geSprite geSprite-"+a+"thindiamondtrans":"openAsync"==e?"geSprite geSprite-"+a+"openasync":"dash"==e?"geSprite geSprite-"+a+"dash":"cross"==e?"geSprite geSprite-"+a+"cross":"async"==e?"1"==c?"geSprite geSprite-"+a+"async":"geSprite geSprite-"+a+"asynctrans":"circle"==e||"circlePlus"==e?"1"==c||"circle"==e?"geSprite geSprite-"+a+"circle":"geSprite geSprite-"+a+"circleplus":"ERone"==e?"geSprite geSprite-"+a+"erone":"ERmandOne"==e?"geSprite geSprite-"+a+"eronetoone":"ERmany"==e?"geSprite geSprite-"+
+a+"ermany":"ERoneToMany"==e?"geSprite geSprite-"+a+"eronetomany":"ERzeroToOne"==e?"geSprite geSprite-"+a+"eroneopt":"ERzeroToMany"==e?"geSprite geSprite-"+a+"ermanyopt":"geSprite geSprite-noarrow"};EditorUi.prototype.createMenus=function(){return null};
+EditorUi.prototype.updatePasteActionStates=function(){var a=this.editor.graph,b=this.actions.get("paste"),e=this.actions.get("pasteHere");b.setEnabled(this.editor.graph.cellEditor.isContentEditing()||!mxClipboard.isEmpty()&&a.isEnabled()&&!a.isCellLocked(a.getDefaultParent()));e.setEnabled(b.isEnabled())};
+EditorUi.prototype.initClipboard=function(){var a=this,b=mxClipboard.cut;mxClipboard.cut=function(c){c.cellEditor.isContentEditing()?document.execCommand("cut",!1,null):b.apply(this,arguments);a.updatePasteActionStates()};mxClipboard.copy=function(b){var c=null;if(b.cellEditor.isContentEditing())document.execCommand("copy",!1,null);else{for(var c=c||b.getSelectionCells(),c=b.getExportableCells(b.model.getTopmostCells(c)),e={},l=b.createCellLookup(c),m=b.cloneCells(c,null,e),d=new mxGraphModel,f=d.getChildAt(d.getRoot(),
+0),k=0;k<m.length;k++)d.add(f,m[k]);b.updateCustomLinks(b.createCellMapping(e,l),m);mxClipboard.insertCount=1;mxClipboard.setCells(m)}a.updatePasteActionStates();return c};var e=mxClipboard.paste;mxClipboard.paste=function(b){var c=null;b.cellEditor.isContentEditing()?document.execCommand("paste",!1,null):c=e.apply(this,arguments);a.updatePasteActionStates();return c};var c=this.editor.graph.cellEditor.startEditing;this.editor.graph.cellEditor.startEditing=function(){c.apply(this,arguments);a.updatePasteActionStates()};
+var l=this.editor.graph.cellEditor.stopEditing;this.editor.graph.cellEditor.stopEditing=function(b,c){l.apply(this,arguments);a.updatePasteActionStates()};this.updatePasteActionStates()};EditorUi.prototype.lazyZoomDelay=20;EditorUi.prototype.wheelZoomDelay=400;EditorUi.prototype.buttonZoomDelay=600;
+EditorUi.prototype.initCanvas=function(){var a=this.editor.graph;a.timerAutoScroll=!0;a.getPagePadding=function(){return new mxPoint(Math.max(0,Math.round((a.container.offsetWidth-34)/a.view.scale)),Math.max(0,Math.round((a.container.offsetHeight-34)/a.view.scale)))};a.view.getBackgroundPageBounds=function(){var a=this.graph.getPageLayout(),d=this.graph.getPageSize();return new mxRectangle(this.scale*(this.translate.x+a.x*d.width),this.scale*(this.translate.y+a.y*d.height),this.scale*a.width*d.width,
+this.scale*a.height*d.height)};a.getPreferredPageSize=function(a,d,b){a=this.getPageLayout();d=this.getPageSize();return new mxRectangle(0,0,a.width*d.width,a.height*d.height)};var b=null,e=this;if(this.editor.isChromelessView()){this.chromelessResize=b=mxUtils.bind(this,function(d,b,f,c){if(null!=a.container&&!a.isViewer()){f=null!=f?f:0;c=null!=c?c:0;var k=a.pageVisible?a.view.getBackgroundPageBounds():a.getGraphBounds(),g=mxUtils.hasScrollbars(a.container),e=a.view.translate,p=a.view.scale,n=mxRectangle.fromRectangle(k);
+n.x=n.x/p-e.x;n.y=n.y/p-e.y;n.width/=p;n.height/=p;var e=a.container.scrollTop,x=a.container.scrollLeft,B=mxClient.IS_QUIRKS||8<=document.documentMode?20:14;if(8==document.documentMode||9==document.documentMode)B+=3;var t=a.container.offsetWidth-B,B=a.container.offsetHeight-B;d=d?Math.max(.3,Math.min(b||1,t/n.width)):p;b=(t-d*n.width)/2/d;var v=0==this.lightboxVerticalDivider?0:(B-d*n.height)/this.lightboxVerticalDivider/d;g&&(b=Math.max(b,0),v=Math.max(v,0));if(g||k.width<t||k.height<B)a.view.scaleAndTranslate(d,
+Math.floor(b-n.x),Math.floor(v-n.y)),a.container.scrollTop=e*d/p,a.container.scrollLeft=x*d/p;else if(0!=f||0!=c)k=a.view.translate,a.view.setTranslate(Math.floor(k.x+f/p),Math.floor(k.y+c/p))}});this.chromelessWindowResize=mxUtils.bind(this,function(){this.chromelessResize(!1)});var c=mxUtils.bind(this,function(){this.chromelessWindowResize(!1)});mxEvent.addListener(window,"resize",c);this.destroyFunctions.push(function(){mxEvent.removeListener(window,"resize",c)});this.editor.addListener("resetGraphView",
+mxUtils.bind(this,function(){this.chromelessResize(!0)}));this.actions.get("zoomIn").funct=mxUtils.bind(this,function(d){a.zoomIn();this.chromelessResize(!1)});this.actions.get("zoomOut").funct=mxUtils.bind(this,function(d){a.zoomOut();this.chromelessResize(!1)});if("0"!=urlParams.toolbar){var l=JSON.parse(decodeURIComponent(urlParams["toolbar-config"]||"{}"));this.chromelessToolbar=document.createElement("div");this.chromelessToolbar.style.position="fixed";this.chromelessToolbar.style.overflow="hidden";
+this.chromelessToolbar.style.boxSizing="border-box";this.chromelessToolbar.style.whiteSpace="nowrap";this.chromelessToolbar.style.backgroundColor="#000000";this.chromelessToolbar.style.padding="10px 10px 8px 10px";this.chromelessToolbar.style.left=a.isViewer()?"0":"50%";mxClient.IS_VML||(mxUtils.setPrefixedStyle(this.chromelessToolbar.style,"borderRadius","20px"),mxUtils.setPrefixedStyle(this.chromelessToolbar.style,"transition","opacity 600ms ease-in-out"));var m=mxUtils.bind(this,function(){var d=
+mxUtils.getCurrentStyle(a.container);a.isViewer()?this.chromelessToolbar.style.top="0":this.chromelessToolbar.style.bottom=(null!=d?parseInt(d["margin-bottom"]||0):0)+(null!=this.tabContainer?20+parseInt(this.tabContainer.style.height):20)+"px"});this.editor.addListener("resetGraphView",m);m();var q=0,m=mxUtils.bind(this,function(a,d,b){q++;var f=document.createElement("span");f.style.paddingLeft="8px";f.style.paddingRight="8px";f.style.cursor="pointer";mxEvent.addListener(f,"click",a);null!=b&&f.setAttribute("title",
+b);a=document.createElement("img");a.setAttribute("border","0");a.setAttribute("src",d);f.appendChild(a);this.chromelessToolbar.appendChild(f);return f});null!=l.backBtn&&m(mxUtils.bind(this,function(a){window.location.href=l.backBtn.url;mxEvent.consume(a)}),Editor.backLargeImage,mxResources.get("back",null,"Back"));var u=m(mxUtils.bind(this,function(a){this.actions.get("previousPage").funct();mxEvent.consume(a)}),Editor.previousLargeImage,mxResources.get("previousPage")),z=document.createElement("div");
+z.style.display="inline-block";z.style.verticalAlign="top";z.style.fontFamily="Helvetica,Arial";z.style.marginTop="8px";z.style.fontSize="14px";z.style.color="#ffffff";this.chromelessToolbar.appendChild(z);var C=m(mxUtils.bind(this,function(a){this.actions.get("nextPage").funct();mxEvent.consume(a)}),Editor.nextLargeImage,mxResources.get("nextPage")),d=mxUtils.bind(this,function(){null!=this.pages&&1<this.pages.length&&null!=this.currentPage&&(z.innerHTML="",mxUtils.write(z,mxUtils.indexOf(this.pages,
+this.currentPage)+1+" / "+this.pages.length))});u.style.paddingLeft="0px";u.style.paddingRight="4px";C.style.paddingLeft="4px";C.style.paddingRight="0px";var f=mxUtils.bind(this,function(){null!=this.pages&&1<this.pages.length&&null!=this.currentPage?(C.style.display="",u.style.display="",z.style.display="inline-block"):(C.style.display="none",u.style.display="none",z.style.display="none");d()});this.editor.addListener("resetGraphView",f);this.editor.addListener("pageSelected",d);m(mxUtils.bind(this,
+function(a){this.actions.get("zoomOut").funct();mxEvent.consume(a)}),Editor.zoomOutLargeImage,mxResources.get("zoomOut")+" (Alt+Mousewheel)");m(mxUtils.bind(this,function(a){this.actions.get("zoomIn").funct();mxEvent.consume(a)}),Editor.zoomInLargeImage,mxResources.get("zoomIn")+" (Alt+Mousewheel)");m(mxUtils.bind(this,function(d){a.isLightboxView()?(1==a.view.scale?this.lightboxFit():a.zoomTo(1),this.chromelessResize(!1)):this.chromelessResize(!0);mxEvent.consume(d)}),Editor.actualSizeLargeImage,
 mxResources.get("fit"));var k=null,x=null,n=mxUtils.bind(this,function(a){null!=k&&(window.clearTimeout(k),fadeThead=null);null!=x&&(window.clearTimeout(x),fadeThead2=null);k=window.setTimeout(mxUtils.bind(this,function(){mxUtils.setOpacity(this.chromelessToolbar,0);k=null;x=window.setTimeout(mxUtils.bind(this,function(){this.chromelessToolbar.style.display="none";x=null}),600)}),a||200)}),g=mxUtils.bind(this,function(a){null!=k&&(window.clearTimeout(k),fadeThead=null);null!=x&&(window.clearTimeout(x),
-fadeThead2=null);this.chromelessToolbar.style.display="";mxUtils.setOpacity(this.chromelessToolbar,a||30)});if("1"==urlParams.layers){this.layersDialog=null;var A=m(mxUtils.bind(this,function(c){if(null!=this.layersDialog)this.layersDialog.parentNode.removeChild(this.layersDialog),this.layersDialog=null;else{this.layersDialog=a.createLayersDialog();mxEvent.addListener(this.layersDialog,"mouseleave",mxUtils.bind(this,function(){this.layersDialog.parentNode.removeChild(this.layersDialog);this.layersDialog=
+fadeThead2=null);this.chromelessToolbar.style.display="";mxUtils.setOpacity(this.chromelessToolbar,a||30)});if("1"==urlParams.layers){this.layersDialog=null;var A=m(mxUtils.bind(this,function(d){if(null!=this.layersDialog)this.layersDialog.parentNode.removeChild(this.layersDialog),this.layersDialog=null;else{this.layersDialog=a.createLayersDialog();mxEvent.addListener(this.layersDialog,"mouseleave",mxUtils.bind(this,function(){this.layersDialog.parentNode.removeChild(this.layersDialog);this.layersDialog=
 null}));var b=A.getBoundingClientRect();mxUtils.setPrefixedStyle(this.layersDialog.style,"borderRadius","5px");this.layersDialog.style.position="fixed";this.layersDialog.style.fontFamily="Helvetica,Arial";this.layersDialog.style.backgroundColor="#000000";this.layersDialog.style.width="160px";this.layersDialog.style.padding="4px 2px 4px 2px";this.layersDialog.style.color="#ffffff";mxUtils.setOpacity(this.layersDialog,70);this.layersDialog.style.left=b.left+"px";this.layersDialog.style.bottom=parseInt(this.chromelessToolbar.style.bottom)+
-this.chromelessToolbar.offsetHeight+4+"px";b=mxUtils.getCurrentStyle(this.editor.graph.container);this.layersDialog.style.zIndex=b.zIndex;document.body.appendChild(this.layersDialog)}mxEvent.consume(c)}),Editor.layersLargeImage,mxResources.get("layers")),v=a.getModel();v.addListener(mxEvent.CHANGE,function(){A.style.display=1<v.getChildCount(v.root)?"":"none"})}this.addChromelessToolbarItems(m);null==this.editor.editButtonLink&&null==this.editor.editButtonFunc||m(mxUtils.bind(this,function(c){null!=
-this.editor.editButtonFunc?this.editor.editButtonFunc():"_blank"==this.editor.editButtonLink?this.editor.editAsNew(this.getEditBlankXml()):a.openLink(this.editor.editButtonLink,"editWindow");mxEvent.consume(c)}),Editor.editLargeImage,mxResources.get("edit"));if(null!=this.lightboxToolbarActions)for(e=0;e<this.lightboxToolbarActions.length;e++){var t=this.lightboxToolbarActions[e];m(t.fn,t.icon,t.tooltip)}null!=l.refreshBtn&&m(mxUtils.bind(this,function(a){l.refreshBtn.url?window.location.href=l.refreshBtn.url:
-window.location.reload();mxEvent.consume(a)}),Editor.refreshLargeImage,mxResources.get("refresh",null,"Refresh"));null!=l.fullscreenBtn&&window.self!==window.top&&m(mxUtils.bind(this,function(c){l.fullscreenBtn.url?a.openLink(l.fullscreenBtn.url):a.openLink(window.location.href);mxEvent.consume(c)}),Editor.fullscreenLargeImage,mxResources.get("openInNewWindow",null,"Open in New Window"));(l.closeBtn&&window.self===window.top||a.lightbox&&("1"==urlParams.close||this.container!=document.body))&&m(mxUtils.bind(this,
+this.chromelessToolbar.offsetHeight+4+"px";b=mxUtils.getCurrentStyle(this.editor.graph.container);this.layersDialog.style.zIndex=b.zIndex;document.body.appendChild(this.layersDialog)}mxEvent.consume(d)}),Editor.layersLargeImage,mxResources.get("layers")),v=a.getModel();v.addListener(mxEvent.CHANGE,function(){A.style.display=1<v.getChildCount(v.root)?"":"none"})}this.addChromelessToolbarItems(m);null==this.editor.editButtonLink&&null==this.editor.editButtonFunc||m(mxUtils.bind(this,function(d){null!=
+this.editor.editButtonFunc?this.editor.editButtonFunc():"_blank"==this.editor.editButtonLink?this.editor.editAsNew(this.getEditBlankXml()):a.openLink(this.editor.editButtonLink,"editWindow");mxEvent.consume(d)}),Editor.editLargeImage,mxResources.get("edit"));if(null!=this.lightboxToolbarActions)for(f=0;f<this.lightboxToolbarActions.length;f++){var t=this.lightboxToolbarActions[f];m(t.fn,t.icon,t.tooltip)}null!=l.refreshBtn&&m(mxUtils.bind(this,function(a){l.refreshBtn.url?window.location.href=l.refreshBtn.url:
+window.location.reload();mxEvent.consume(a)}),Editor.refreshLargeImage,mxResources.get("refresh",null,"Refresh"));null!=l.fullscreenBtn&&window.self!==window.top&&m(mxUtils.bind(this,function(d){l.fullscreenBtn.url?a.openLink(l.fullscreenBtn.url):a.openLink(window.location.href);mxEvent.consume(d)}),Editor.fullscreenLargeImage,mxResources.get("openInNewWindow",null,"Open in New Window"));(l.closeBtn&&window.self===window.top||a.lightbox&&("1"==urlParams.close||this.container!=document.body))&&m(mxUtils.bind(this,
 function(a){"1"==urlParams.close||l.closeBtn?window.close():(this.destroy(),mxEvent.consume(a))}),Editor.closeLargeImage,mxResources.get("close")+" (Escape)");this.chromelessToolbar.style.display="none";a.isViewer()||mxUtils.setPrefixedStyle(this.chromelessToolbar.style,"transform","translate(-50%,0)");a.container.appendChild(this.chromelessToolbar);mxEvent.addListener(a.container,mxClient.IS_POINTER?"pointermove":"mousemove",mxUtils.bind(this,function(a){mxEvent.isTouchEvent(a)||(mxEvent.isShiftDown(a)||
 g(30),n())}));mxEvent.addListener(this.chromelessToolbar,mxClient.IS_POINTER?"pointermove":"mousemove",function(a){mxEvent.consume(a)});mxEvent.addListener(this.chromelessToolbar,"mouseenter",mxUtils.bind(this,function(a){mxEvent.isShiftDown(a)?n():g(100)}));mxEvent.addListener(this.chromelessToolbar,"mousemove",mxUtils.bind(this,function(a){mxEvent.isShiftDown(a)?n():g(100);mxEvent.consume(a)}));mxEvent.addListener(this.chromelessToolbar,"mouseleave",mxUtils.bind(this,function(a){mxEvent.isTouchEvent(a)||
-g(30)}));var D=a.getTolerance();a.addMouseListener({startX:0,startY:0,scrollLeft:0,scrollTop:0,mouseDown:function(c,b){this.startX=b.getGraphX();this.startY=b.getGraphY();this.scrollLeft=a.container.scrollLeft;this.scrollTop=a.container.scrollTop},mouseMove:function(a,c){},mouseUp:function(c,b){mxEvent.isTouchEvent(b.getEvent())&&Math.abs(this.scrollLeft-a.container.scrollLeft)<D&&Math.abs(this.scrollTop-a.container.scrollTop)<D&&Math.abs(this.startX-b.getGraphX())<D&&Math.abs(this.startY-b.getGraphY())<
-D&&(0<parseFloat(f.chromelessToolbar.style.opacity||0)?n():g(30))}})}this.editor.editable||this.addChromelessClickHandler()}else if(this.editor.extendCanvas){var y=a.view.validate;a.view.validate=function(){if(null!=this.graph.container&&mxUtils.hasScrollbars(this.graph.container)){var a=this.graph.getPagePadding(),c=this.graph.getPageSize();this.translate.x=a.x-(this.x0||0)*c.width;this.translate.y=a.y-(this.y0||0)*c.height}y.apply(this,arguments)};if(!a.isViewer()){var E=a.sizeDidChange;a.sizeDidChange=
-function(){if(null!=this.container&&mxUtils.hasScrollbars(this.container)){var c=this.getPageLayout(),b=this.getPagePadding(),e=this.getPageSize(),d=Math.ceil(2*b.x+c.width*e.width),k=Math.ceil(2*b.y+c.height*e.height),g=a.minimumGraphSize;if(null==g||g.width!=d||g.height!=k)a.minimumGraphSize=new mxRectangle(0,0,d,k);d=b.x-c.x*e.width;b=b.y-c.y*e.height;this.autoTranslate||this.view.translate.x==d&&this.view.translate.y==b?E.apply(this,arguments):(this.autoTranslate=!0,this.view.x0=c.x,this.view.y0=
-c.y,c=a.view.translate.x,e=a.view.translate.y,a.view.setTranslate(d,b),a.container.scrollLeft+=Math.round((d-c)*a.view.scale),a.container.scrollTop+=Math.round((b-e)*a.view.scale),this.autoTranslate=!1)}else this.fireEvent(new mxEventObject(mxEvent.SIZE,"bounds",this.getGraphBounds()))}}}var p=a.view.getBackgroundPane(),B=a.view.getDrawPane();a.cumulativeZoomFactor=1;var L=null,P=null,I=null,S=function(c){null!=L&&window.clearTimeout(L);window.setTimeout(function(){a.isMouseDown||(L=window.setTimeout(mxUtils.bind(this,
+g(30)}));var E=a.getTolerance();a.addMouseListener({startX:0,startY:0,scrollLeft:0,scrollTop:0,mouseDown:function(d,b){this.startX=b.getGraphX();this.startY=b.getGraphY();this.scrollLeft=a.container.scrollLeft;this.scrollTop=a.container.scrollTop},mouseMove:function(a,d){},mouseUp:function(d,b){mxEvent.isTouchEvent(b.getEvent())&&Math.abs(this.scrollLeft-a.container.scrollLeft)<E&&Math.abs(this.scrollTop-a.container.scrollTop)<E&&Math.abs(this.startX-b.getGraphX())<E&&Math.abs(this.startY-b.getGraphY())<
+E&&(0<parseFloat(e.chromelessToolbar.style.opacity||0)?n():g(30))}})}this.editor.editable||this.addChromelessClickHandler()}else if(this.editor.extendCanvas){var y=a.view.validate;a.view.validate=function(){if(null!=this.graph.container&&mxUtils.hasScrollbars(this.graph.container)){var a=this.graph.getPagePadding(),d=this.graph.getPageSize();this.translate.x=a.x-(this.x0||0)*d.width;this.translate.y=a.y-(this.y0||0)*d.height}y.apply(this,arguments)};if(!a.isViewer()){var D=a.sizeDidChange;a.sizeDidChange=
+function(){if(null!=this.container&&mxUtils.hasScrollbars(this.container)){var d=this.getPageLayout(),b=this.getPagePadding(),f=this.getPageSize(),c=Math.ceil(2*b.x+d.width*f.width),k=Math.ceil(2*b.y+d.height*f.height),g=a.minimumGraphSize;if(null==g||g.width!=c||g.height!=k)a.minimumGraphSize=new mxRectangle(0,0,c,k);c=b.x-d.x*f.width;b=b.y-d.y*f.height;this.autoTranslate||this.view.translate.x==c&&this.view.translate.y==b?D.apply(this,arguments):(this.autoTranslate=!0,this.view.x0=d.x,this.view.y0=
+d.y,d=a.view.translate.x,f=a.view.translate.y,a.view.setTranslate(c,b),a.container.scrollLeft+=Math.round((c-d)*a.view.scale),a.container.scrollTop+=Math.round((b-f)*a.view.scale),this.autoTranslate=!1)}else this.fireEvent(new mxEventObject(mxEvent.SIZE,"bounds",this.getGraphBounds()))}}}var p=a.view.getBackgroundPane(),B=a.view.getDrawPane();a.cumulativeZoomFactor=1;var K=null,M=null,I=null,S=function(d){null!=K&&window.clearTimeout(K);window.setTimeout(function(){a.isMouseDown||(K=window.setTimeout(mxUtils.bind(this,
 function(){a.isFastZoomEnabled()&&(null!=a.view.backgroundPageShape&&null!=a.view.backgroundPageShape.node&&(mxUtils.setPrefixedStyle(a.view.backgroundPageShape.node.style,"transform-origin",null),mxUtils.setPrefixedStyle(a.view.backgroundPageShape.node.style,"transform",null)),B.style.transformOrigin="",p.style.transformOrigin="",mxClient.IS_SF?(B.style.transform="scale(1)",p.style.transform="scale(1)",window.setTimeout(function(){B.style.transform="";p.style.transform=""},0)):(B.style.transform=
-"",p.style.transform=""),a.view.getDecoratorPane().style.opacity="",a.view.getOverlayPane().style.opacity="");var c=new mxPoint(a.container.scrollLeft,a.container.scrollTop),e=mxUtils.getOffset(a.container),d=a.view.scale,k=0,g=0;null!=P&&(k=a.container.offsetWidth/2-P.x+e.x,g=a.container.offsetHeight/2-P.y+e.y);a.zoom(a.cumulativeZoomFactor);a.view.scale!=d&&(null!=I&&(k+=c.x-I.x,g+=c.y-I.y),null!=b&&f.chromelessResize(!1,null,k*(a.cumulativeZoomFactor-1),g*(a.cumulativeZoomFactor-1)),!mxUtils.hasScrollbars(a.container)||
-0==k&&0==g||(a.container.scrollLeft-=k*(a.cumulativeZoomFactor-1),a.container.scrollTop-=g*(a.cumulativeZoomFactor-1)));a.cumulativeZoomFactor=1;P=I=L=null}),null!=c?c:a.isFastZoomEnabled()?f.wheelZoomDelay:f.lazyZoomDelay))},0)};a.lazyZoom=function(c,b,e){(b=b||!a.scrollbars)&&(P=new mxPoint(a.container.offsetLeft+a.container.clientWidth/2,a.container.offsetTop+a.container.clientHeight/2));c?.15>=this.view.scale*this.cumulativeZoomFactor?this.cumulativeZoomFactor*=(this.view.scale+.05)/this.view.scale:
+"",p.style.transform=""),a.view.getDecoratorPane().style.opacity="",a.view.getOverlayPane().style.opacity="");var d=new mxPoint(a.container.scrollLeft,a.container.scrollTop),f=mxUtils.getOffset(a.container),c=a.view.scale,k=0,g=0;null!=M&&(k=a.container.offsetWidth/2-M.x+f.x,g=a.container.offsetHeight/2-M.y+f.y);a.zoom(a.cumulativeZoomFactor);a.view.scale!=c&&(null!=I&&(k+=d.x-I.x,g+=d.y-I.y),null!=b&&e.chromelessResize(!1,null,k*(a.cumulativeZoomFactor-1),g*(a.cumulativeZoomFactor-1)),!mxUtils.hasScrollbars(a.container)||
+0==k&&0==g||(a.container.scrollLeft-=k*(a.cumulativeZoomFactor-1),a.container.scrollTop-=g*(a.cumulativeZoomFactor-1)));a.cumulativeZoomFactor=1;M=I=K=null}),null!=d?d:a.isFastZoomEnabled()?e.wheelZoomDelay:e.lazyZoomDelay))},0)};a.lazyZoom=function(d,b,f){(b=b||!a.scrollbars)&&(M=new mxPoint(a.container.offsetLeft+a.container.clientWidth/2,a.container.offsetTop+a.container.clientHeight/2));d?.15>=this.view.scale*this.cumulativeZoomFactor?this.cumulativeZoomFactor*=(this.view.scale+.05)/this.view.scale:
 (this.cumulativeZoomFactor*=this.zoomFactor,this.cumulativeZoomFactor=Math.round(this.view.scale*this.cumulativeZoomFactor*20)/20/this.view.scale):.15>=this.view.scale*this.cumulativeZoomFactor?this.cumulativeZoomFactor*=(this.view.scale-.05)/this.view.scale:(this.cumulativeZoomFactor/=this.zoomFactor,this.cumulativeZoomFactor=Math.round(this.view.scale*this.cumulativeZoomFactor*20)/20/this.view.scale);this.cumulativeZoomFactor=Math.max(.05,Math.min(this.view.scale*this.cumulativeZoomFactor,160))/
-this.view.scale;if(a.isFastZoomEnabled()){I=new mxPoint(a.container.scrollLeft,a.container.scrollTop);c=b?a.container.scrollLeft+a.container.clientWidth/2:P.x+a.container.scrollLeft-a.container.offsetLeft;var d=b?a.container.scrollTop+a.container.clientHeight/2:P.y+a.container.scrollTop-a.container.offsetTop;B.style.transformOrigin=c+"px "+d+"px";B.style.transform="scale("+this.cumulativeZoomFactor+")";p.style.transformOrigin=c+"px "+d+"px";p.style.transform="scale("+this.cumulativeZoomFactor+")";
-null!=a.view.backgroundPageShape&&null!=a.view.backgroundPageShape.node&&(c=a.view.backgroundPageShape.node,mxUtils.setPrefixedStyle(c.style,"transform-origin",(b?a.container.clientWidth/2+a.container.scrollLeft-c.offsetLeft+"px":P.x+a.container.scrollLeft-c.offsetLeft-a.container.offsetLeft+"px")+" "+(b?a.container.clientHeight/2+a.container.scrollTop-c.offsetTop+"px":P.y+a.container.scrollTop-c.offsetTop-a.container.offsetTop+"px")),mxUtils.setPrefixedStyle(c.style,"transform","scale("+this.cumulativeZoomFactor+
-")"));a.view.getDecoratorPane().style.opacity="0";a.view.getOverlayPane().style.opacity="0";null!=f.hoverIcons&&f.hoverIcons.reset()}S(e)};mxEvent.addGestureListeners(a.container,function(a){null!=L&&window.clearTimeout(L)},null,function(c){1!=a.cumulativeZoomFactor&&S(0)});mxEvent.addListener(a.container,"scroll",function(){L&&!a.isMouseDown&&1!=a.cumulativeZoomFactor&&S(0)});mxEvent.addMouseWheelListener(mxUtils.bind(this,function(c,b,e){if(null==this.dialogs||0==this.dialogs.length)if(!a.scrollbars&&
-!a.isZoomWheelEvent(c)){e=a.view.getTranslate();var d=40/a.view.scale;mxEvent.isShiftDown(c)?a.view.setTranslate(e.x+(b?-d:d),e.y):a.view.setTranslate(e.x,e.y+(b?d:-d))}else if(e||a.isZoomWheelEvent(c))for(e=mxEvent.getSource(c);null!=e;){if(e==a.container)return a.tooltipHandler.hideTooltip(),P=new mxPoint(mxEvent.getClientX(c),mxEvent.getClientY(c)),a.lazyZoom(b),mxEvent.consume(c),!1;e=e.parentNode}}),a.container);a.panningHandler.zoomGraph=function(c){a.cumulativeZoomFactor=c.scale;a.lazyZoom(0<
-c.scale,!0);mxEvent.consume(c)}};EditorUi.prototype.addChromelessToolbarItems=function(a){a(mxUtils.bind(this,function(a){this.actions.get("print").funct();mxEvent.consume(a)}),Editor.printLargeImage,mxResources.get("print"))};
+this.view.scale;if(a.isFastZoomEnabled()){I=new mxPoint(a.container.scrollLeft,a.container.scrollTop);d=b?a.container.scrollLeft+a.container.clientWidth/2:M.x+a.container.scrollLeft-a.container.offsetLeft;var c=b?a.container.scrollTop+a.container.clientHeight/2:M.y+a.container.scrollTop-a.container.offsetTop;B.style.transformOrigin=d+"px "+c+"px";B.style.transform="scale("+this.cumulativeZoomFactor+")";p.style.transformOrigin=d+"px "+c+"px";p.style.transform="scale("+this.cumulativeZoomFactor+")";
+null!=a.view.backgroundPageShape&&null!=a.view.backgroundPageShape.node&&(d=a.view.backgroundPageShape.node,mxUtils.setPrefixedStyle(d.style,"transform-origin",(b?a.container.clientWidth/2+a.container.scrollLeft-d.offsetLeft+"px":M.x+a.container.scrollLeft-d.offsetLeft-a.container.offsetLeft+"px")+" "+(b?a.container.clientHeight/2+a.container.scrollTop-d.offsetTop+"px":M.y+a.container.scrollTop-d.offsetTop-a.container.offsetTop+"px")),mxUtils.setPrefixedStyle(d.style,"transform","scale("+this.cumulativeZoomFactor+
+")"));a.view.getDecoratorPane().style.opacity="0";a.view.getOverlayPane().style.opacity="0";null!=e.hoverIcons&&e.hoverIcons.reset()}S(f)};mxEvent.addGestureListeners(a.container,function(a){null!=K&&window.clearTimeout(K)},null,function(d){1!=a.cumulativeZoomFactor&&S(0)});mxEvent.addListener(a.container,"scroll",function(){K&&!a.isMouseDown&&1!=a.cumulativeZoomFactor&&S(0)});mxEvent.addMouseWheelListener(mxUtils.bind(this,function(d,b,f){if(null==this.dialogs||0==this.dialogs.length)if(!a.scrollbars&&
+!a.isZoomWheelEvent(d)){f=a.view.getTranslate();var c=40/a.view.scale;mxEvent.isShiftDown(d)?a.view.setTranslate(f.x+(b?-c:c),f.y):a.view.setTranslate(f.x,f.y+(b?c:-c))}else if(f||a.isZoomWheelEvent(d))for(f=mxEvent.getSource(d);null!=f;){if(f==a.container)return a.tooltipHandler.hideTooltip(),M=new mxPoint(mxEvent.getClientX(d),mxEvent.getClientY(d)),a.lazyZoom(b),mxEvent.consume(d),!1;f=f.parentNode}}),a.container);a.panningHandler.zoomGraph=function(d){a.cumulativeZoomFactor=d.scale;a.lazyZoom(0<
+d.scale,!0);mxEvent.consume(d)}};EditorUi.prototype.addChromelessToolbarItems=function(a){a(mxUtils.bind(this,function(a){this.actions.get("print").funct();mxEvent.consume(a)}),Editor.printLargeImage,mxResources.get("print"))};
 EditorUi.prototype.createTemporaryGraph=function(a){a=new Graph(document.createElement("div"),null,null,a);a.resetViewOnRootChange=!1;a.setConnectable(!1);a.gridEnabled=!1;a.autoScroll=!1;a.setTooltips(!1);a.setEnabled(!1);a.container.style.visibility="hidden";a.container.style.position="absolute";a.container.style.overflow="hidden";a.container.style.height="1px";a.container.style.width="1px";return a};
 EditorUi.prototype.addChromelessClickHandler=function(){var a=urlParams.highlight;null!=a&&0<a.length&&(a="#"+a);this.editor.graph.addClickHandler(a)};EditorUi.prototype.toggleFormatPanel=function(a){null!=this.format&&(this.formatWidth=a||0<this.formatWidth?0:240,this.formatContainer.style.display=a||0<this.formatWidth?"":"none",this.refresh(),this.format.refresh(),this.fireEvent(new mxEventObject("formatWidthChanged")))};
-EditorUi.prototype.lightboxFit=function(a){if(this.isDiagramEmpty())this.editor.graph.view.setScale(1);else{var b=urlParams.border,f=60;null!=b&&(f=parseInt(b));this.editor.graph.maxFitScale=this.lightboxMaxFitScale;this.editor.graph.fit(f,null,null,null,null,null,a);this.editor.graph.maxFitScale=null}};EditorUi.prototype.isDiagramEmpty=function(){var a=this.editor.graph.getModel();return 1==a.getChildCount(a.root)&&0==a.getChildCount(a.getChildAt(a.root,0))};
+EditorUi.prototype.lightboxFit=function(a){if(this.isDiagramEmpty())this.editor.graph.view.setScale(1);else{var b=urlParams.border,e=60;null!=b&&(e=parseInt(b));this.editor.graph.maxFitScale=this.lightboxMaxFitScale;this.editor.graph.fit(e,null,null,null,null,null,a);this.editor.graph.maxFitScale=null}};EditorUi.prototype.isDiagramEmpty=function(){var a=this.editor.graph.getModel();return 1==a.getChildCount(a.root)&&0==a.getChildCount(a.getChildAt(a.root,0))};
 EditorUi.prototype.isSelectionAllowed=function(a){return"SELECT"==mxEvent.getSource(a).nodeName||"INPUT"==mxEvent.getSource(a).nodeName&&mxUtils.isAncestorNode(this.formatContainer,mxEvent.getSource(a))};EditorUi.prototype.addBeforeUnloadListener=function(){window.onbeforeunload=mxUtils.bind(this,function(){if(!this.editor.isChromelessView())return this.onBeforeUnload()})};EditorUi.prototype.onBeforeUnload=function(){if(this.editor.modified)return mxResources.get("allChangesLost")};
-EditorUi.prototype.open=function(){try{null!=window.opener&&null!=window.opener.openFile&&window.opener.openFile.setConsumer(mxUtils.bind(this,function(a,b){try{var f=mxUtils.parseXml(a);this.editor.setGraphXml(f.documentElement);this.editor.setModified(!1);this.editor.undoManager.clear();null!=b&&(this.editor.setFilename(b),this.updateDocumentTitle())}catch(d){mxUtils.alert(mxResources.get("invalidOrMissingFile")+": "+d.message)}}))}catch(a){}this.editor.graph.view.validate();this.editor.graph.sizeDidChange();
+EditorUi.prototype.open=function(){try{null!=window.opener&&null!=window.opener.openFile&&window.opener.openFile.setConsumer(mxUtils.bind(this,function(a,b){try{var e=mxUtils.parseXml(a);this.editor.setGraphXml(e.documentElement);this.editor.setModified(!1);this.editor.undoManager.clear();null!=b&&(this.editor.setFilename(b),this.updateDocumentTitle())}catch(c){mxUtils.alert(mxResources.get("invalidOrMissingFile")+": "+c.message)}}))}catch(a){}this.editor.graph.view.validate();this.editor.graph.sizeDidChange();
 this.editor.fireEvent(new mxEventObject("resetGraphView"))};EditorUi.prototype.setCurrentMenu=function(a,b){this.currentMenuElt=b;this.currentMenu=a};EditorUi.prototype.resetCurrentMenu=function(){this.currentMenu=this.currentMenuElt=null};EditorUi.prototype.hideCurrentMenu=function(){null!=this.currentMenu&&(this.currentMenu.hideMenu(),this.resetCurrentMenu())};
 EditorUi.prototype.updateDocumentTitle=function(){var a=this.editor.getOrCreateFilename();null!=this.editor.appName&&(a+=" - "+this.editor.appName);document.title=a};EditorUi.prototype.createHoverIcons=function(){return new HoverIcons(this.editor.graph)};EditorUi.prototype.redo=function(){try{this.editor.graph.isEditing()?document.execCommand("redo",!1,null):this.editor.undoManager.redo()}catch(a){}};
-EditorUi.prototype.undo=function(){try{var a=this.editor.graph;if(a.isEditing()){var b=a.cellEditor.textarea.innerHTML;document.execCommand("undo",!1,null);b==a.cellEditor.textarea.innerHTML&&(a.stopEditing(!0),this.editor.undoManager.undo())}else this.editor.undoManager.undo()}catch(f){}};EditorUi.prototype.canRedo=function(){return this.editor.graph.isEditing()||this.editor.undoManager.canRedo()};EditorUi.prototype.canUndo=function(){return this.editor.graph.isEditing()||this.editor.undoManager.canUndo()};
-EditorUi.prototype.getEditBlankXml=function(){return mxUtils.getXml(this.editor.getGraphXml())};EditorUi.prototype.getUrl=function(a){a=null!=a?a:window.location.pathname;var b=0<a.indexOf("?")?1:0,f;for(f in urlParams)a=0==b?a+"?":a+"&",a+=f+"="+urlParams[f],b++;return a};
-EditorUi.prototype.setScrollbars=function(a){var b=this.editor.graph,f=b.container.style.overflow;b.scrollbars=a;this.editor.updateGraphComponents();f!=b.container.style.overflow&&(b.container.scrollTop=0,b.container.scrollLeft=0,b.view.scaleAndTranslate(1,0,0),this.resetScrollbars());this.fireEvent(new mxEventObject("scrollbarsChanged"))};EditorUi.prototype.hasScrollbars=function(){return this.editor.graph.scrollbars};
+EditorUi.prototype.undo=function(){try{var a=this.editor.graph;if(a.isEditing()){var b=a.cellEditor.textarea.innerHTML;document.execCommand("undo",!1,null);b==a.cellEditor.textarea.innerHTML&&(a.stopEditing(!0),this.editor.undoManager.undo())}else this.editor.undoManager.undo()}catch(e){}};EditorUi.prototype.canRedo=function(){return this.editor.graph.isEditing()||this.editor.undoManager.canRedo()};EditorUi.prototype.canUndo=function(){return this.editor.graph.isEditing()||this.editor.undoManager.canUndo()};
+EditorUi.prototype.getEditBlankXml=function(){return mxUtils.getXml(this.editor.getGraphXml())};EditorUi.prototype.getUrl=function(a){a=null!=a?a:window.location.pathname;var b=0<a.indexOf("?")?1:0,e;for(e in urlParams)a=0==b?a+"?":a+"&",a+=e+"="+urlParams[e],b++;return a};
+EditorUi.prototype.setScrollbars=function(a){var b=this.editor.graph,e=b.container.style.overflow;b.scrollbars=a;this.editor.updateGraphComponents();e!=b.container.style.overflow&&(b.container.scrollTop=0,b.container.scrollLeft=0,b.view.scaleAndTranslate(1,0,0),this.resetScrollbars());this.fireEvent(new mxEventObject("scrollbarsChanged"))};EditorUi.prototype.hasScrollbars=function(){return this.editor.graph.scrollbars};
 EditorUi.prototype.resetScrollbars=function(){var a=this.editor.graph;if(!this.editor.extendCanvas)a.container.scrollTop=0,a.container.scrollLeft=0,mxUtils.hasScrollbars(a.container)||a.view.setTranslate(0,0);else if(!this.editor.isChromelessView())if(mxUtils.hasScrollbars(a.container))if(a.pageVisible){var b=a.getPagePadding();a.container.scrollTop=Math.floor(b.y-this.editor.initialTopSpacing)-1;a.container.scrollLeft=Math.floor(Math.min(b.x,(a.container.scrollWidth-a.container.clientWidth)/2))-
-1;b=a.getGraphBounds();0<b.width&&0<b.height&&(b.x>a.container.scrollLeft+.9*a.container.clientWidth&&(a.container.scrollLeft=Math.min(b.x+b.width-a.container.clientWidth,b.x-10)),b.y>a.container.scrollTop+.9*a.container.clientHeight&&(a.container.scrollTop=Math.min(b.y+b.height-a.container.clientHeight,b.y-10)))}else{var b=a.getGraphBounds(),f=Math.max(b.width,a.scrollTileSize.width*a.view.scale);a.container.scrollTop=Math.floor(Math.max(0,b.y-Math.max(20,(a.container.clientHeight-Math.max(b.height,
-a.scrollTileSize.height*a.view.scale))/4)));a.container.scrollLeft=Math.floor(Math.max(0,b.x-Math.max(0,(a.container.clientWidth-f)/2)))}else{var b=mxRectangle.fromRectangle(a.pageVisible?a.view.getBackgroundPageBounds():a.getGraphBounds()),f=a.view.translate,d=a.view.scale;b.x=b.x/d-f.x;b.y=b.y/d-f.y;b.width/=d;b.height/=d;a.view.setTranslate(Math.floor(Math.max(0,(a.container.clientWidth-b.width)/2)-b.x+2),Math.floor((a.pageVisible?0:Math.max(0,(a.container.clientHeight-b.height)/4))-b.y+1))}};
-EditorUi.prototype.setPageVisible=function(a){var b=this.editor.graph,f=mxUtils.hasScrollbars(b.container),d=0,l=0;f&&(d=b.view.translate.x*b.view.scale-b.container.scrollLeft,l=b.view.translate.y*b.view.scale-b.container.scrollTop);b.pageVisible=a;b.pageBreaksVisible=a;b.preferPageSize=a;b.view.validateBackground();f&&(a=b.getSelectionCells(),b.clearSelection(),b.setSelectionCells(a));b.sizeDidChange();f&&(b.container.scrollLeft=b.view.translate.x*b.view.scale-d,b.container.scrollTop=b.view.translate.y*
-b.view.scale-l);this.fireEvent(new mxEventObject("pageViewChanged"))};function ChangePageSetup(a,b,f,d,l){this.ui=a;this.previousColor=this.color=b;this.previousImage=this.image=f;this.previousFormat=this.format=d;this.previousPageScale=this.pageScale=l;this.ignoreImage=this.ignoreColor=!1}
+1;b=a.getGraphBounds();0<b.width&&0<b.height&&(b.x>a.container.scrollLeft+.9*a.container.clientWidth&&(a.container.scrollLeft=Math.min(b.x+b.width-a.container.clientWidth,b.x-10)),b.y>a.container.scrollTop+.9*a.container.clientHeight&&(a.container.scrollTop=Math.min(b.y+b.height-a.container.clientHeight,b.y-10)))}else{var b=a.getGraphBounds(),e=Math.max(b.width,a.scrollTileSize.width*a.view.scale);a.container.scrollTop=Math.floor(Math.max(0,b.y-Math.max(20,(a.container.clientHeight-Math.max(b.height,
+a.scrollTileSize.height*a.view.scale))/4)));a.container.scrollLeft=Math.floor(Math.max(0,b.x-Math.max(0,(a.container.clientWidth-e)/2)))}else{var b=mxRectangle.fromRectangle(a.pageVisible?a.view.getBackgroundPageBounds():a.getGraphBounds()),e=a.view.translate,c=a.view.scale;b.x=b.x/c-e.x;b.y=b.y/c-e.y;b.width/=c;b.height/=c;a.view.setTranslate(Math.floor(Math.max(0,(a.container.clientWidth-b.width)/2)-b.x+2),Math.floor((a.pageVisible?0:Math.max(0,(a.container.clientHeight-b.height)/4))-b.y+1))}};
+EditorUi.prototype.setPageVisible=function(a){var b=this.editor.graph,e=mxUtils.hasScrollbars(b.container),c=0,l=0;e&&(c=b.view.translate.x*b.view.scale-b.container.scrollLeft,l=b.view.translate.y*b.view.scale-b.container.scrollTop);b.pageVisible=a;b.pageBreaksVisible=a;b.preferPageSize=a;b.view.validateBackground();e&&(a=b.getSelectionCells(),b.clearSelection(),b.setSelectionCells(a));b.sizeDidChange();e&&(b.container.scrollLeft=b.view.translate.x*b.view.scale-c,b.container.scrollTop=b.view.translate.y*
+b.view.scale-l);this.fireEvent(new mxEventObject("pageViewChanged"))};function ChangePageSetup(a,b,e,c,l){this.ui=a;this.previousColor=this.color=b;this.previousImage=this.image=e;this.previousFormat=this.format=c;this.previousPageScale=this.pageScale=l;this.ignoreImage=this.ignoreColor=!1}
 ChangePageSetup.prototype.execute=function(){var a=this.ui.editor.graph;if(!this.ignoreColor){this.color=this.previousColor;var b=a.background;this.ui.setBackgroundColor(this.previousColor);this.previousColor=b}this.ignoreImage||(this.image=this.previousImage,b=a.backgroundImage,this.ui.setBackgroundImage(this.previousImage),this.previousImage=b);null!=this.previousFormat&&(this.format=this.previousFormat,b=a.pageFormat,this.previousFormat.width!=b.width||this.previousFormat.height!=b.height)&&(this.ui.setPageFormat(this.previousFormat),
 this.previousFormat=b);null!=this.foldingEnabled&&this.foldingEnabled!=this.ui.editor.graph.foldingEnabled&&(this.ui.setFoldingEnabled(this.foldingEnabled),this.foldingEnabled=!this.foldingEnabled);null!=this.previousPageScale&&(a=this.ui.editor.graph.pageScale,this.previousPageScale!=a&&(this.ui.setPageScale(this.previousPageScale),this.previousPageScale=a))};
-(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat","previousPageScale"]);a.afterDecode=function(a,f,d){d.previousColor=d.color;d.previousImage=d.image;d.previousFormat=d.format;d.previousPageScale=d.pageScale;null!=d.foldingEnabled&&(d.foldingEnabled=!d.foldingEnabled);return d};mxCodecRegistry.register(a)})();EditorUi.prototype.setBackgroundColor=function(a){this.editor.graph.background=a;this.editor.graph.view.validateBackground();this.fireEvent(new mxEventObject("backgroundColorChanged"))};
+(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat","previousPageScale"]);a.afterDecode=function(a,e,c){c.previousColor=c.color;c.previousImage=c.image;c.previousFormat=c.format;c.previousPageScale=c.pageScale;null!=c.foldingEnabled&&(c.foldingEnabled=!c.foldingEnabled);return c};mxCodecRegistry.register(a)})();EditorUi.prototype.setBackgroundColor=function(a){this.editor.graph.background=a;this.editor.graph.view.validateBackground();this.fireEvent(new mxEventObject("backgroundColorChanged"))};
 EditorUi.prototype.setFoldingEnabled=function(a){this.editor.graph.foldingEnabled=a;this.editor.graph.view.revalidate();this.fireEvent(new mxEventObject("foldingEnabledChanged"))};EditorUi.prototype.setPageFormat=function(a){this.editor.graph.pageFormat=a;this.editor.graph.pageVisible?(this.editor.graph.view.validateBackground(),this.editor.graph.sizeDidChange()):this.actions.get("pageView").funct();this.fireEvent(new mxEventObject("pageFormatChanged"))};
 EditorUi.prototype.setPageScale=function(a){this.editor.graph.pageScale=a;this.editor.graph.pageVisible?(this.editor.graph.view.validateBackground(),this.editor.graph.sizeDidChange()):this.actions.get("pageView").funct();this.fireEvent(new mxEventObject("pageScaleChanged"))};EditorUi.prototype.setGridColor=function(a){this.editor.graph.view.gridColor=a;this.editor.graph.view.validateBackground();this.fireEvent(new mxEventObject("gridColorChanged"))};
-EditorUi.prototype.addUndoListener=function(){var a=this.actions.get("undo"),b=this.actions.get("redo"),f=this.editor.undoManager,d=mxUtils.bind(this,function(){a.setEnabled(this.canUndo());b.setEnabled(this.canRedo())});f.addListener(mxEvent.ADD,d);f.addListener(mxEvent.UNDO,d);f.addListener(mxEvent.REDO,d);f.addListener(mxEvent.CLEAR,d);var l=this.editor.graph.cellEditor.startEditing;this.editor.graph.cellEditor.startEditing=function(){l.apply(this,arguments);d()};var m=this.editor.graph.cellEditor.stopEditing;
-this.editor.graph.cellEditor.stopEditing=function(a,b){m.apply(this,arguments);d()};d()};
-EditorUi.prototype.updateActionStates=function(){var a=this.editor.graph,b=!a.isSelectionEmpty(),f=!1,d=!1,l=a.getSelectionCells();if(null!=l)for(var m=0;m<l.length;m++){var q=l[m];a.getModel().isEdge(q)&&(d=!0);a.getModel().isVertex(q)&&(f=!0);if(d&&f)break}l="cut copy bold italic underline delete duplicate editStyle editTooltip editLink backgroundColor borderColor edit toFront toBack lockUnlock solid dashed pasteSize dotted fillColor gradientColor shadow fontColor formattedText rounded toggleRounded sharp strokeColor".split(" ");for(m=
-0;m<l.length;m++)this.actions.get(l[m]).setEnabled(b);this.actions.get("setAsDefaultStyle").setEnabled(1==a.getSelectionCount());this.actions.get("clearWaypoints").setEnabled(!a.isSelectionEmpty());this.actions.get("copySize").setEnabled(1==a.getSelectionCount());this.actions.get("turn").setEnabled(!a.isSelectionEmpty());this.actions.get("curved").setEnabled(d);this.actions.get("rotation").setEnabled(f);this.actions.get("wordWrap").setEnabled(f);this.actions.get("autosize").setEnabled(f);d=f&&1==
-a.getSelectionCount();this.actions.get("group").setEnabled(1<a.getSelectionCount()||d&&!a.isContainer(a.getSelectionCell()));this.actions.get("ungroup").setEnabled(1==a.getSelectionCount()&&(0<a.getModel().getChildCount(a.getSelectionCell())||d&&a.isContainer(a.getSelectionCell())));this.actions.get("removeFromGroup").setEnabled(d&&a.getModel().isVertex(a.getModel().getParent(a.getSelectionCell())));a.view.getState(a.getSelectionCell());this.menus.get("navigation").setEnabled(b||null!=a.view.currentRoot);
-this.actions.get("collapsible").setEnabled(f&&(a.isContainer(a.getSelectionCell())||0<a.model.getChildCount(a.getSelectionCell())));this.actions.get("home").setEnabled(null!=a.view.currentRoot);this.actions.get("exitGroup").setEnabled(null!=a.view.currentRoot);this.actions.get("enterGroup").setEnabled(1==a.getSelectionCount()&&a.isValidRoot(a.getSelectionCell()));b=1==a.getSelectionCount()&&a.isCellFoldable(a.getSelectionCell());this.actions.get("expand").setEnabled(b);this.actions.get("collapse").setEnabled(b);
-this.actions.get("editLink").setEnabled(1==a.getSelectionCount());this.actions.get("openLink").setEnabled(1==a.getSelectionCount()&&null!=a.getLinkForCell(a.getSelectionCell()));this.actions.get("guides").setEnabled(a.isEnabled());this.actions.get("grid").setEnabled(!this.editor.chromeless||this.editor.editable);b=a.isEnabled()&&!a.isCellLocked(a.getDefaultParent());this.menus.get("layout").setEnabled(b);this.menus.get("insert").setEnabled(b);this.menus.get("direction").setEnabled(b&&f);this.menus.get("align").setEnabled(b&&
-f&&1<a.getSelectionCount());this.menus.get("distribute").setEnabled(b&&f&&1<a.getSelectionCount());this.actions.get("selectVertices").setEnabled(b);this.actions.get("selectEdges").setEnabled(b);this.actions.get("selectAll").setEnabled(b);this.actions.get("selectNone").setEnabled(b);this.updatePasteActionStates()};EditorUi.prototype.zeroOffset=new mxPoint(0,0);EditorUi.prototype.getDiagramContainerOffset=function(){return this.zeroOffset};
-EditorUi.prototype.refresh=function(a){a=null!=a?a:!0;var b=mxClient.IS_IE&&(null==document.documentMode||5==document.documentMode),f=this.container.clientWidth,d=this.container.clientHeight;this.container==document.body&&(f=document.body.clientWidth||document.documentElement.clientWidth,d=b?document.body.clientHeight||document.documentElement.clientHeight:document.documentElement.clientHeight);var l=0;mxClient.IS_IOS&&!window.navigator.standalone&&window.innerHeight!=document.documentElement.clientHeight&&
-(l=document.documentElement.clientHeight-window.innerHeight,window.scrollTo(0,0));var m=Math.max(0,Math.min(this.hsplitPosition,f-this.splitSize-20)),q=0;null!=this.menubar&&(this.menubarContainer.style.height=this.menubarHeight+"px",q+=this.menubarHeight);null!=this.toolbar&&(this.toolbarContainer.style.top=this.menubarHeight+"px",this.toolbarContainer.style.height=this.toolbarHeight+"px",q+=this.toolbarHeight);0<q&&!mxClient.IS_QUIRKS&&(q+=1);var u=0;if(null!=this.sidebarFooterContainer){var z=
-this.footerHeight+l,u=Math.max(0,Math.min(d-q-z,this.sidebarFooterHeight));this.sidebarFooterContainer.style.width=m+"px";this.sidebarFooterContainer.style.height=u+"px";this.sidebarFooterContainer.style.bottom=z+"px"}z=null!=this.format?this.formatWidth:0;this.sidebarContainer.style.top=q+"px";this.sidebarContainer.style.width=m+"px";this.formatContainer.style.top=q+"px";this.formatContainer.style.width=z+"px";this.formatContainer.style.display=null!=this.format?"":"none";var C=this.getDiagramContainerOffset(),
-c=null!=this.hsplit.parentNode?m+this.splitSize:0;this.diagramContainer.style.left=c+C.x+"px";this.diagramContainer.style.top=q+C.y+"px";this.footerContainer.style.height=this.footerHeight+"px";this.hsplit.style.top=this.sidebarContainer.style.top;this.hsplit.style.bottom=this.footerHeight+l+"px";this.hsplit.style.left=m+"px";this.footerContainer.style.display=0==this.footerHeight?"none":"";null!=this.tabContainer&&(this.tabContainer.style.left=c+"px");b?(this.menubarContainer.style.width=f+"px",
-this.toolbarContainer.style.width=this.menubarContainer.style.width,b=Math.max(0,d-this.footerHeight-this.menubarHeight-this.toolbarHeight),this.sidebarContainer.style.height=b-u+"px",this.formatContainer.style.height=b+"px",this.diagramContainer.style.width=null!=this.hsplit.parentNode?Math.max(0,f-m-this.splitSize-z)+"px":f+"px",this.footerContainer.style.width=this.menubarContainer.style.width,u=Math.max(0,d-this.footerHeight-this.menubarHeight-this.toolbarHeight),null!=this.tabContainer&&(this.tabContainer.style.width=
-this.diagramContainer.style.width,this.tabContainer.style.bottom=this.footerHeight+l+"px",u-=this.tabContainer.clientHeight),this.diagramContainer.style.height=u+"px",this.hsplit.style.height=u+"px"):(0<this.footerHeight&&(this.footerContainer.style.bottom=l+"px"),this.diagramContainer.style.right=z+"px",f=0,null!=this.tabContainer&&(this.tabContainer.style.bottom=this.footerHeight+l+"px",this.tabContainer.style.right=this.diagramContainer.style.right,f=this.tabContainer.clientHeight),this.sidebarContainer.style.bottom=
-this.footerHeight+u+l+"px",this.formatContainer.style.bottom=this.footerHeight+l+"px",this.diagramContainer.style.bottom=this.footerHeight+l+f+"px");a&&this.editor.graph.sizeDidChange()};EditorUi.prototype.createTabContainer=function(){return null};
+EditorUi.prototype.addUndoListener=function(){var a=this.actions.get("undo"),b=this.actions.get("redo"),e=this.editor.undoManager,c=mxUtils.bind(this,function(){a.setEnabled(this.canUndo());b.setEnabled(this.canRedo())});e.addListener(mxEvent.ADD,c);e.addListener(mxEvent.UNDO,c);e.addListener(mxEvent.REDO,c);e.addListener(mxEvent.CLEAR,c);var l=this.editor.graph.cellEditor.startEditing;this.editor.graph.cellEditor.startEditing=function(){l.apply(this,arguments);c()};var m=this.editor.graph.cellEditor.stopEditing;
+this.editor.graph.cellEditor.stopEditing=function(a,b){m.apply(this,arguments);c()};c()};
+EditorUi.prototype.updateActionStates=function(){var a=this.editor.graph,b=!a.isSelectionEmpty(),e=!1,c=!1,l=a.getSelectionCells();if(null!=l)for(var m=0;m<l.length;m++){var q=l[m];a.getModel().isEdge(q)&&(c=!0);a.getModel().isVertex(q)&&(e=!0);if(c&&e)break}l="cut copy bold italic underline delete duplicate editStyle editTooltip editLink backgroundColor borderColor edit toFront toBack lockUnlock solid dashed pasteSize dotted fillColor gradientColor shadow fontColor formattedText rounded toggleRounded sharp strokeColor".split(" ");for(m=
+0;m<l.length;m++)this.actions.get(l[m]).setEnabled(b);this.actions.get("setAsDefaultStyle").setEnabled(1==a.getSelectionCount());this.actions.get("clearWaypoints").setEnabled(!a.isSelectionEmpty());this.actions.get("copySize").setEnabled(1==a.getSelectionCount());this.actions.get("turn").setEnabled(!a.isSelectionEmpty());this.actions.get("curved").setEnabled(c);this.actions.get("rotation").setEnabled(e);this.actions.get("wordWrap").setEnabled(e);this.actions.get("autosize").setEnabled(e);c=e&&1==
+a.getSelectionCount();this.actions.get("group").setEnabled(1<a.getSelectionCount()||c&&!a.isContainer(a.getSelectionCell()));this.actions.get("ungroup").setEnabled(1==a.getSelectionCount()&&(0<a.getModel().getChildCount(a.getSelectionCell())||c&&a.isContainer(a.getSelectionCell())));this.actions.get("removeFromGroup").setEnabled(c&&a.getModel().isVertex(a.getModel().getParent(a.getSelectionCell())));a.view.getState(a.getSelectionCell());this.menus.get("navigation").setEnabled(b||null!=a.view.currentRoot);
+this.actions.get("collapsible").setEnabled(e&&(a.isContainer(a.getSelectionCell())||0<a.model.getChildCount(a.getSelectionCell())));this.actions.get("home").setEnabled(null!=a.view.currentRoot);this.actions.get("exitGroup").setEnabled(null!=a.view.currentRoot);this.actions.get("enterGroup").setEnabled(1==a.getSelectionCount()&&a.isValidRoot(a.getSelectionCell()));b=1==a.getSelectionCount()&&a.isCellFoldable(a.getSelectionCell());this.actions.get("expand").setEnabled(b);this.actions.get("collapse").setEnabled(b);
+this.actions.get("editLink").setEnabled(1==a.getSelectionCount());this.actions.get("openLink").setEnabled(1==a.getSelectionCount()&&null!=a.getLinkForCell(a.getSelectionCell()));this.actions.get("guides").setEnabled(a.isEnabled());this.actions.get("grid").setEnabled(!this.editor.chromeless||this.editor.editable);b=a.isEnabled()&&!a.isCellLocked(a.getDefaultParent());this.menus.get("layout").setEnabled(b);this.menus.get("insert").setEnabled(b);this.menus.get("direction").setEnabled(b&&e);this.menus.get("align").setEnabled(b&&
+e&&1<a.getSelectionCount());this.menus.get("distribute").setEnabled(b&&e&&1<a.getSelectionCount());this.actions.get("selectVertices").setEnabled(b);this.actions.get("selectEdges").setEnabled(b);this.actions.get("selectAll").setEnabled(b);this.actions.get("selectNone").setEnabled(b);this.updatePasteActionStates()};EditorUi.prototype.zeroOffset=new mxPoint(0,0);EditorUi.prototype.getDiagramContainerOffset=function(){return this.zeroOffset};
+EditorUi.prototype.refresh=function(a){a=null!=a?a:!0;var b=mxClient.IS_IE&&(null==document.documentMode||5==document.documentMode),e=this.container.clientWidth,c=this.container.clientHeight;this.container==document.body&&(e=document.body.clientWidth||document.documentElement.clientWidth,c=b?document.body.clientHeight||document.documentElement.clientHeight:document.documentElement.clientHeight);var l=0;mxClient.IS_IOS&&!window.navigator.standalone&&window.innerHeight!=document.documentElement.clientHeight&&
+(l=document.documentElement.clientHeight-window.innerHeight,window.scrollTo(0,0));var m=Math.max(0,Math.min(this.hsplitPosition,e-this.splitSize-20)),q=0;null!=this.menubar&&(this.menubarContainer.style.height=this.menubarHeight+"px",q+=this.menubarHeight);null!=this.toolbar&&(this.toolbarContainer.style.top=this.menubarHeight+"px",this.toolbarContainer.style.height=this.toolbarHeight+"px",q+=this.toolbarHeight);0<q&&!mxClient.IS_QUIRKS&&(q+=1);var u=0;if(null!=this.sidebarFooterContainer){var z=
+this.footerHeight+l,u=Math.max(0,Math.min(c-q-z,this.sidebarFooterHeight));this.sidebarFooterContainer.style.width=m+"px";this.sidebarFooterContainer.style.height=u+"px";this.sidebarFooterContainer.style.bottom=z+"px"}z=null!=this.format?this.formatWidth:0;this.sidebarContainer.style.top=q+"px";this.sidebarContainer.style.width=m+"px";this.formatContainer.style.top=q+"px";this.formatContainer.style.width=z+"px";this.formatContainer.style.display=null!=this.format?"":"none";var C=this.getDiagramContainerOffset(),
+d=null!=this.hsplit.parentNode?m+this.splitSize:0;this.diagramContainer.style.left=d+C.x+"px";this.diagramContainer.style.top=q+C.y+"px";this.footerContainer.style.height=this.footerHeight+"px";this.hsplit.style.top=this.sidebarContainer.style.top;this.hsplit.style.bottom=this.footerHeight+l+"px";this.hsplit.style.left=m+"px";this.footerContainer.style.display=0==this.footerHeight?"none":"";null!=this.tabContainer&&(this.tabContainer.style.left=d+"px");b?(this.menubarContainer.style.width=e+"px",
+this.toolbarContainer.style.width=this.menubarContainer.style.width,b=Math.max(0,c-this.footerHeight-this.menubarHeight-this.toolbarHeight),this.sidebarContainer.style.height=b-u+"px",this.formatContainer.style.height=b+"px",this.diagramContainer.style.width=null!=this.hsplit.parentNode?Math.max(0,e-m-this.splitSize-z)+"px":e+"px",this.footerContainer.style.width=this.menubarContainer.style.width,u=Math.max(0,c-this.footerHeight-this.menubarHeight-this.toolbarHeight),null!=this.tabContainer&&(this.tabContainer.style.width=
+this.diagramContainer.style.width,this.tabContainer.style.bottom=this.footerHeight+l+"px",u-=this.tabContainer.clientHeight),this.diagramContainer.style.height=u+"px",this.hsplit.style.height=u+"px"):(0<this.footerHeight&&(this.footerContainer.style.bottom=l+"px"),this.diagramContainer.style.right=z+"px",e=0,null!=this.tabContainer&&(this.tabContainer.style.bottom=this.footerHeight+l+"px",this.tabContainer.style.right=this.diagramContainer.style.right,e=this.tabContainer.clientHeight),this.sidebarContainer.style.bottom=
+this.footerHeight+u+l+"px",this.formatContainer.style.bottom=this.footerHeight+l+"px",this.diagramContainer.style.bottom=this.footerHeight+l+e+"px");a&&this.editor.graph.sizeDidChange()};EditorUi.prototype.createTabContainer=function(){return null};
 EditorUi.prototype.createDivs=function(){this.menubarContainer=this.createDiv("geMenubarContainer");this.toolbarContainer=this.createDiv("geToolbarContainer");this.sidebarContainer=this.createDiv("geSidebarContainer");this.formatContainer=this.createDiv("geSidebarContainer geFormatContainer");this.diagramContainer=this.createDiv("geDiagramContainer");this.footerContainer=this.createDiv("geFooterContainer");this.hsplit=this.createDiv("geHsplit");this.hsplit.setAttribute("title",mxResources.get("collapseExpand"));
 this.menubarContainer.style.top="0px";this.menubarContainer.style.left="0px";this.menubarContainer.style.right="0px";this.toolbarContainer.style.left="0px";this.toolbarContainer.style.right="0px";this.sidebarContainer.style.left="0px";this.formatContainer.style.right="0px";this.formatContainer.style.zIndex="1";this.diagramContainer.style.right=(null!=this.format?this.formatWidth:0)+"px";this.footerContainer.style.left="0px";this.footerContainer.style.right="0px";this.footerContainer.style.bottom=
 "0px";this.footerContainer.style.zIndex=mxPopupMenu.prototype.zIndex-2;this.hsplit.style.width=this.splitSize+"px";if(this.sidebarFooterContainer=this.createSidebarFooterContainer())this.sidebarFooterContainer.style.left="0px";this.editor.chromeless?this.diagramContainer.style.border="none":this.tabContainer=this.createTabContainer()};EditorUi.prototype.createSidebarFooterContainer=function(){return null};
@@ -2207,82 +2210,82 @@ this.sidebar=this.editor.chromeless?null:this.createSidebar(this.sidebarContaine
 this.container.appendChild(this.sidebarFooterContainer);this.container.appendChild(this.diagramContainer);null!=this.container&&null!=this.tabContainer&&this.container.appendChild(this.tabContainer);this.toolbar=this.editor.chromeless?null:this.createToolbar(this.createDiv("geToolbar"));null!=this.toolbar&&(this.toolbarContainer.appendChild(this.toolbar.container),this.container.appendChild(this.toolbarContainer));null!=this.sidebar&&(this.container.appendChild(this.hsplit),this.addSplitHandler(this.hsplit,
 !0,0,mxUtils.bind(this,function(a){this.hsplitPosition=a;this.refresh()})))};EditorUi.prototype.createStatusContainer=function(){var a=document.createElement("a");a.className="geItem geStatus";420>screen.width&&(a.style.maxWidth=Math.max(20,screen.width-320)+"px",a.style.overflow="hidden");return a};EditorUi.prototype.setStatusText=function(a){this.statusContainer.innerHTML=a};EditorUi.prototype.createToolbar=function(a){return new Toolbar(this,a)};
 EditorUi.prototype.createSidebar=function(a){return new Sidebar(this,a)};EditorUi.prototype.createFormat=function(a){return new Format(this,a)};EditorUi.prototype.createFooter=function(){return this.createDiv("geFooter")};EditorUi.prototype.createDiv=function(a){var b=document.createElement("div");b.className=a;return b};
-EditorUi.prototype.addSplitHandler=function(a,b,f,d){function l(a){if(null!=q){var e=new mxPoint(mxEvent.getClientX(a),mxEvent.getClientY(a));d(Math.max(0,u+(b?e.x-q.x:q.y-e.y)-f));mxEvent.consume(a);u!=c()&&(z=!0,C=null)}}function m(a){l(a);q=u=null}var q=null,u=null,z=!0,C=null;mxClient.IS_POINTER&&(a.style.touchAction="none");var c=mxUtils.bind(this,function(){var c=parseInt(b?a.style.left:a.style.bottom);b||(c=c+f-this.footerHeight);return c});mxEvent.addGestureListeners(a,function(a){q=new mxPoint(mxEvent.getClientX(a),
-mxEvent.getClientY(a));u=c();z=!1;mxEvent.consume(a)});mxEvent.addListener(a,"click",mxUtils.bind(this,function(a){if(!z&&this.hsplitClickEnabled){var b=null!=C?C-f:0;C=c();d(b);mxEvent.consume(a)}}));mxEvent.addGestureListeners(document,null,l,m);this.destroyFunctions.push(function(){mxEvent.removeGestureListeners(document,null,l,m)})};
-EditorUi.prototype.handleError=function(a,b,f,d,l){a=null!=a&&null!=a.error?a.error:a;if(null!=a||null!=b){l=mxUtils.htmlEntities(mxResources.get("unknownError"));var m=mxResources.get("ok");b=null!=b?b:mxResources.get("error");null!=a&&null!=a.message&&(l=mxUtils.htmlEntities(a.message));this.showError(b,l,m,f,null,null,null,null,null,null,null,null,d?f:null)}else null!=f&&f()};
-EditorUi.prototype.showError=function(a,b,f,d,l,m,q,u,z,C,c,e,k){a=new ErrorDialog(this,a,b,f||mxResources.get("ok"),d,l,m,q,e,u,z);b=Math.ceil(null!=b?b.length/50:1);this.showDialog(a.container,C||340,c||100+20*b,!0,!1,k);a.init()};EditorUi.prototype.showDialog=function(a,b,f,d,l,m,q,u,z,C){this.editor.graph.tooltipHandler.hideTooltip();null==this.dialogs&&(this.dialogs=[]);this.dialog=new Dialog(this,a,b,f,d,l,m,q,u,z,C);this.dialogs.push(this.dialog)};
-EditorUi.prototype.hideDialog=function(a,b){if(null!=this.dialogs&&0<this.dialogs.length){var f=this.dialogs.pop();0==f.close(a,b)?this.dialogs.push(f):(this.dialog=0<this.dialogs.length?this.dialogs[this.dialogs.length-1]:null,this.editor.fireEvent(new mxEventObject("hideDialog")),null==this.dialog&&"hidden"!=this.editor.graph.container.style.visibility&&window.setTimeout(mxUtils.bind(this,function(){this.editor.graph.isEditing()&&null!=this.editor.graph.cellEditor.textarea?this.editor.graph.cellEditor.textarea.focus():
-(mxUtils.clearSelection(),this.editor.graph.container.focus())}),0))}};EditorUi.prototype.pickColor=function(a,b){var f=this.editor.graph,d=f.cellEditor.saveSelection(),l=226+17*(Math.ceil(ColorDialog.prototype.presetColors.length/12)+Math.ceil(ColorDialog.prototype.defaultColors.length/12)),m=new ColorDialog(this,a||"none",function(a){f.cellEditor.restoreSelection(d);b(a)},function(){f.cellEditor.restoreSelection(d)});this.showDialog(m.container,230,l,!0,!1);m.init()};
+EditorUi.prototype.addSplitHandler=function(a,b,e,c){function l(a){if(null!=q){var f=new mxPoint(mxEvent.getClientX(a),mxEvent.getClientY(a));c(Math.max(0,u+(b?f.x-q.x:q.y-f.y)-e));mxEvent.consume(a);u!=d()&&(z=!0,C=null)}}function m(a){l(a);q=u=null}var q=null,u=null,z=!0,C=null;mxClient.IS_POINTER&&(a.style.touchAction="none");var d=mxUtils.bind(this,function(){var d=parseInt(b?a.style.left:a.style.bottom);b||(d=d+e-this.footerHeight);return d});mxEvent.addGestureListeners(a,function(a){q=new mxPoint(mxEvent.getClientX(a),
+mxEvent.getClientY(a));u=d();z=!1;mxEvent.consume(a)});mxEvent.addListener(a,"click",mxUtils.bind(this,function(a){if(!z&&this.hsplitClickEnabled){var b=null!=C?C-e:0;C=d();c(b);mxEvent.consume(a)}}));mxEvent.addGestureListeners(document,null,l,m);this.destroyFunctions.push(function(){mxEvent.removeGestureListeners(document,null,l,m)})};
+EditorUi.prototype.handleError=function(a,b,e,c,l){a=null!=a&&null!=a.error?a.error:a;if(null!=a||null!=b){l=mxUtils.htmlEntities(mxResources.get("unknownError"));var m=mxResources.get("ok");b=null!=b?b:mxResources.get("error");null!=a&&null!=a.message&&(l=mxUtils.htmlEntities(a.message));this.showError(b,l,m,e,null,null,null,null,null,null,null,null,c?e:null)}else null!=e&&e()};
+EditorUi.prototype.showError=function(a,b,e,c,l,m,q,u,z,C,d,f,k){a=new ErrorDialog(this,a,b,e||mxResources.get("ok"),c,l,m,q,f,u,z);b=Math.ceil(null!=b?b.length/50:1);this.showDialog(a.container,C||340,d||100+20*b,!0,!1,k);a.init()};EditorUi.prototype.showDialog=function(a,b,e,c,l,m,q,u,z,C){this.editor.graph.tooltipHandler.hideTooltip();null==this.dialogs&&(this.dialogs=[]);this.dialog=new Dialog(this,a,b,e,c,l,m,q,u,z,C);this.dialogs.push(this.dialog)};
+EditorUi.prototype.hideDialog=function(a,b){if(null!=this.dialogs&&0<this.dialogs.length){var e=this.dialogs.pop();0==e.close(a,b)?this.dialogs.push(e):(this.dialog=0<this.dialogs.length?this.dialogs[this.dialogs.length-1]:null,this.editor.fireEvent(new mxEventObject("hideDialog")),null==this.dialog&&"hidden"!=this.editor.graph.container.style.visibility&&window.setTimeout(mxUtils.bind(this,function(){this.editor.graph.isEditing()&&null!=this.editor.graph.cellEditor.textarea?this.editor.graph.cellEditor.textarea.focus():
+(mxUtils.clearSelection(),this.editor.graph.container.focus())}),0))}};EditorUi.prototype.pickColor=function(a,b){var e=this.editor.graph,c=e.cellEditor.saveSelection(),l=226+17*(Math.ceil(ColorDialog.prototype.presetColors.length/12)+Math.ceil(ColorDialog.prototype.defaultColors.length/12)),m=new ColorDialog(this,a||"none",function(a){e.cellEditor.restoreSelection(c);b(a)},function(){e.cellEditor.restoreSelection(c)});this.showDialog(m.container,230,l,!0,!1);m.init()};
 EditorUi.prototype.openFile=function(){window.openFile=new OpenFile(mxUtils.bind(this,function(a){this.hideDialog(a)}));this.showDialog((new OpenDialog(this)).container,Editor.useLocalStorage?640:320,Editor.useLocalStorage?480:220,!0,!0,function(){window.openFile=null})};
-EditorUi.prototype.extractGraphModelFromHtml=function(a){var b=null;try{var f=a.indexOf("&lt;mxGraphModel ");if(0<=f){var d=a.lastIndexOf("&lt;/mxGraphModel&gt;");d>f&&(b=a.substring(f,d+21).replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/\\&quot;/g,'"').replace(/\n/g,""))}}catch(l){}return b};
-EditorUi.prototype.extractGraphModelFromEvent=function(a){var b=null,f=null;null!=a&&(a=null!=a.dataTransfer?a.dataTransfer:a.clipboardData,null!=a&&(10==document.documentMode||11==document.documentMode?f=a.getData("Text"):(f=0<=mxUtils.indexOf(a.types,"text/html")?a.getData("text/html"):null,mxUtils.indexOf(a.types,null==f||0==f.length)&&(f=a.getData("text/plain"))),null!=f&&(f=Graph.zapGremlins(mxUtils.trim(f)),a=this.extractGraphModelFromHtml(f),null!=a&&(f=a))));null!=f&&this.isCompatibleString(f)&&
-(b=f);return b};EditorUi.prototype.isCompatibleString=function(a){return!1};EditorUi.prototype.saveFile=function(a){a||null==this.editor.filename?(a=new FilenameDialog(this,this.editor.getOrCreateFilename(),mxResources.get("save"),mxUtils.bind(this,function(a){this.save(a)}),null,mxUtils.bind(this,function(a){if(null!=a&&0<a.length)return!0;mxUtils.confirm(mxResources.get("invalidName"));return!1})),this.showDialog(a.container,300,100,!0,!0),a.init()):this.save(this.editor.getOrCreateFilename())};
+EditorUi.prototype.extractGraphModelFromHtml=function(a){var b=null;try{var e=a.indexOf("&lt;mxGraphModel ");if(0<=e){var c=a.lastIndexOf("&lt;/mxGraphModel&gt;");c>e&&(b=a.substring(e,c+21).replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/\\&quot;/g,'"').replace(/\n/g,""))}}catch(l){}return b};
+EditorUi.prototype.extractGraphModelFromEvent=function(a){var b=null,e=null;null!=a&&(a=null!=a.dataTransfer?a.dataTransfer:a.clipboardData,null!=a&&(10==document.documentMode||11==document.documentMode?e=a.getData("Text"):(e=0<=mxUtils.indexOf(a.types,"text/html")?a.getData("text/html"):null,mxUtils.indexOf(a.types,null==e||0==e.length)&&(e=a.getData("text/plain"))),null!=e&&(e=Graph.zapGremlins(mxUtils.trim(e)),a=this.extractGraphModelFromHtml(e),null!=a&&(e=a))));null!=e&&this.isCompatibleString(e)&&
+(b=e);return b};EditorUi.prototype.isCompatibleString=function(a){return!1};EditorUi.prototype.saveFile=function(a){a||null==this.editor.filename?(a=new FilenameDialog(this,this.editor.getOrCreateFilename(),mxResources.get("save"),mxUtils.bind(this,function(a){this.save(a)}),null,mxUtils.bind(this,function(a){if(null!=a&&0<a.length)return!0;mxUtils.confirm(mxResources.get("invalidName"));return!1})),this.showDialog(a.container,300,100,!0,!0),a.init()):this.save(this.editor.getOrCreateFilename())};
 EditorUi.prototype.save=function(a){if(null!=a){this.editor.graph.isEditing()&&this.editor.graph.stopEditing();var b=mxUtils.getXml(this.editor.getGraphXml());try{if(Editor.useLocalStorage){if(null!=localStorage.getItem(a)&&!mxUtils.confirm(mxResources.get("replaceIt",[a])))return;localStorage.setItem(a,b);this.editor.setStatus(mxUtils.htmlEntities(mxResources.get("saved"))+" "+new Date)}else if(b.length<MAX_REQUEST_SIZE)(new mxXmlRequest(SAVE_URL,"filename="+encodeURIComponent(a)+"&xml="+encodeURIComponent(b))).simulate(document,
-"_blank");else{mxUtils.alert(mxResources.get("drawingTooLarge"));mxUtils.popup(b);return}this.editor.setModified(!1);this.editor.setFilename(a);this.updateDocumentTitle()}catch(f){this.editor.setStatus(mxUtils.htmlEntities(mxResources.get("errorSavingFile")))}}};
-EditorUi.prototype.executeLayout=function(a,b,f){var d=this.editor.graph;if(d.isEnabled()){d.getModel().beginUpdate();try{a()}catch(l){throw l;}finally{this.allowAnimation&&b&&0>navigator.userAgent.indexOf("Camino")?(a=new mxMorphing(d),a.addListener(mxEvent.DONE,mxUtils.bind(this,function(){d.getModel().endUpdate();null!=f&&f()})),a.startAnimation()):(d.getModel().endUpdate(),null!=f&&f())}}};
-EditorUi.prototype.showImageDialog=function(a,b,f,d){d=this.editor.graph.cellEditor;var l=d.saveSelection(),m=mxUtils.prompt(a,b);d.restoreSelection(l);if(null!=m&&0<m.length){var q=new Image;q.onload=function(){f(m,q.width,q.height)};q.onerror=function(){f(null);mxUtils.alert(mxResources.get("fileNotFound"))};q.src=m}else f(null)};EditorUi.prototype.showLinkDialog=function(a,b,f){a=new LinkDialog(this,a,b,f);this.showDialog(a.container,420,90,!0,!0);a.init()};
+"_blank");else{mxUtils.alert(mxResources.get("drawingTooLarge"));mxUtils.popup(b);return}this.editor.setModified(!1);this.editor.setFilename(a);this.updateDocumentTitle()}catch(e){this.editor.setStatus(mxUtils.htmlEntities(mxResources.get("errorSavingFile")))}}};
+EditorUi.prototype.executeLayout=function(a,b,e){var c=this.editor.graph;if(c.isEnabled()){c.getModel().beginUpdate();try{a()}catch(l){throw l;}finally{this.allowAnimation&&b&&0>navigator.userAgent.indexOf("Camino")?(a=new mxMorphing(c),a.addListener(mxEvent.DONE,mxUtils.bind(this,function(){c.getModel().endUpdate();null!=e&&e()})),a.startAnimation()):(c.getModel().endUpdate(),null!=e&&e())}}};
+EditorUi.prototype.showImageDialog=function(a,b,e,c){c=this.editor.graph.cellEditor;var l=c.saveSelection(),m=mxUtils.prompt(a,b);c.restoreSelection(l);if(null!=m&&0<m.length){var q=new Image;q.onload=function(){e(m,q.width,q.height)};q.onerror=function(){e(null);mxUtils.alert(mxResources.get("fileNotFound"))};q.src=m}else e(null)};EditorUi.prototype.showLinkDialog=function(a,b,e){a=new LinkDialog(this,a,b,e);this.showDialog(a.container,420,90,!0,!0);a.init()};
 EditorUi.prototype.showDataDialog=function(a){null!=a&&(a=new EditDataDialog(this,a),this.showDialog(a.container,480,420,!0,!1,null,!1),a.init())};
-EditorUi.prototype.showBackgroundImageDialog=function(a){a=null!=a?a:mxUtils.bind(this,function(a){a=new ChangePageSetup(this,null,a);a.ignoreColor=!0;this.editor.graph.model.execute(a)});var b=mxUtils.prompt(mxResources.get("backgroundImage"),"");if(null!=b&&0<b.length){var f=new Image;f.onload=function(){a(new mxImage(b,f.width,f.height))};f.onerror=function(){a(null);mxUtils.alert(mxResources.get("fileNotFound"))};f.src=b}else a(null)};
-EditorUi.prototype.setBackgroundImage=function(a){this.editor.graph.setBackgroundImage(a);this.editor.graph.view.validateBackgroundImage();this.fireEvent(new mxEventObject("backgroundImageChanged"))};EditorUi.prototype.confirm=function(a,b,f){mxUtils.confirm(a)?null!=b&&b():null!=f&&f()};
+EditorUi.prototype.showBackgroundImageDialog=function(a){a=null!=a?a:mxUtils.bind(this,function(a){a=new ChangePageSetup(this,null,a);a.ignoreColor=!0;this.editor.graph.model.execute(a)});var b=mxUtils.prompt(mxResources.get("backgroundImage"),"");if(null!=b&&0<b.length){var e=new Image;e.onload=function(){a(new mxImage(b,e.width,e.height))};e.onerror=function(){a(null);mxUtils.alert(mxResources.get("fileNotFound"))};e.src=b}else a(null)};
+EditorUi.prototype.setBackgroundImage=function(a){this.editor.graph.setBackgroundImage(a);this.editor.graph.view.validateBackgroundImage();this.fireEvent(new mxEventObject("backgroundImageChanged"))};EditorUi.prototype.confirm=function(a,b,e){mxUtils.confirm(a)?null!=b&&b():null!=e&&e()};
 EditorUi.prototype.createOutline=function(a){var b=new mxOutline(this.editor.graph);b.border=20;mxEvent.addListener(window,"resize",function(){b.update()});this.addListener("pageFormatChanged",function(){b.update()});return b};EditorUi.prototype.altShiftActions={67:"clearWaypoints",65:"connectionArrows",76:"editLink",80:"connectionPoints",84:"editTooltip",86:"pasteSize",88:"copySize"};
-EditorUi.prototype.createKeyHandler=function(a){function b(a,c,b){q.push(function(){if(!d.isSelectionEmpty()&&d.isEnabled())if(c=null!=c?c:1,b){d.getModel().beginUpdate();try{for(var e=d.getSelectionCells(),k=0;k<e.length;k++)if(d.getModel().isVertex(e[k])&&d.isCellResizable(e[k])){var f=d.getCellGeometry(e[k]);null!=f&&(f=f.clone(),37==a?f.width=Math.max(0,f.width-c):38==a?f.height=Math.max(0,f.height-c):39==a?f.width+=c:40==a&&(f.height+=c),d.getModel().setGeometry(e[k],f))}}finally{d.getModel().endUpdate()}}else e=
-d.getSelectionCell(),k=d.model.getParent(e),f=null,1==d.getSelectionCount()&&d.model.isVertex(e)&&null!=d.layoutManager&&!d.isCellLocked(e)&&(f=d.layoutManager.getLayout(k)),null!=f&&f.constructor==mxStackLayout?(f=k.getIndex(e),37==a||38==a?d.model.add(k,e,Math.max(0,f-1)):39!=a&&40!=a||d.model.add(k,e,Math.min(d.model.getChildCount(k),f+1))):(k=e=0,37==a?e=-c:38==a?k=-c:39==a?e=c:40==a&&(k=c),d.moveCells(d.getMovableCells(d.getSelectionCells()),e,k))});null!=u&&window.clearTimeout(u);u=window.setTimeout(function(){if(0<
-q.length){d.getModel().beginUpdate();try{for(var a=0;a<q.length;a++)q[a]();q=[]}finally{d.getModel().endUpdate()}}},200)}var f=this,d=this.editor.graph,l=new mxKeyHandler(d),m=l.isEventIgnored;l.isEventIgnored=function(a){return(!this.isControlDown(a)||mxEvent.isShiftDown(a)||90!=a.keyCode&&89!=a.keyCode&&188!=a.keyCode&&190!=a.keyCode&&85!=a.keyCode)&&(66!=a.keyCode&&73!=a.keyCode||!this.isControlDown(a)||this.graph.cellEditor.isContentEditing()&&!mxClient.IS_FF&&!mxClient.IS_SF)&&m.apply(this,arguments)};
-l.isEnabledForEvent=function(a){return!mxEvent.isConsumed(a)&&this.isGraphEvent(a)&&this.isEnabled()&&(null==f.dialogs||0==f.dialogs.length)};l.isControlDown=function(a){return mxEvent.isControlDown(a)||mxClient.IS_MAC&&a.metaKey};var q=[],u=null,z={37:mxConstants.DIRECTION_WEST,38:mxConstants.DIRECTION_NORTH,39:mxConstants.DIRECTION_EAST,40:mxConstants.DIRECTION_SOUTH},C=l.getFunction;mxKeyHandler.prototype.getFunction=function(a){if(d.isEnabled()){if(mxEvent.isShiftDown(a)&&mxEvent.isAltDown(a)){var c=
-f.actions.get(f.altShiftActions[a.keyCode]);if(null!=c)return c.funct}if(9==a.keyCode&&mxEvent.isAltDown(a))return mxEvent.isShiftDown(a)?function(){d.selectParentCell()}:function(){d.selectChildCell()};if(null!=z[a.keyCode]&&!d.isSelectionEmpty())if(!this.isControlDown(a)&&mxEvent.isShiftDown(a)&&mxEvent.isAltDown(a)){if(d.model.isVertex(d.getSelectionCell()))return function(){var c=d.connectVertex(d.getSelectionCell(),z[a.keyCode],d.defaultEdgeLength,a,!0);null!=c&&0<c.length&&(1==c.length&&d.model.isEdge(c[0])?
-d.setSelectionCell(d.model.getTerminal(c[0],!1)):d.setSelectionCell(c[c.length-1]),d.scrollCellToVisible(d.getSelectionCell()),null!=f.hoverIcons&&f.hoverIcons.update(d.view.getState(d.getSelectionCell())))}}else return this.isControlDown(a)?function(){b(a.keyCode,mxEvent.isShiftDown(a)?d.gridSize:null,!0)}:function(){b(a.keyCode,mxEvent.isShiftDown(a)?d.gridSize:null)}}return C.apply(this,arguments)};l.bindAction=mxUtils.bind(this,function(a,c,b,e){var d=this.actions.get(b);null!=d&&(b=function(){d.isEnabled()&&
-d.funct()},c?e?l.bindControlShiftKey(a,b):l.bindControlKey(a,b):e?l.bindShiftKey(a,b):l.bindKey(a,b))});var c=this,e=l.escape;l.escape=function(a){e.apply(this,arguments)};l.enter=function(){};l.bindControlShiftKey(36,function(){d.exitGroup()});l.bindControlShiftKey(35,function(){d.enterGroup()});l.bindKey(36,function(){d.home()});l.bindKey(35,function(){d.refresh()});l.bindAction(107,!0,"zoomIn");l.bindAction(109,!0,"zoomOut");l.bindAction(80,!0,"print");l.bindAction(79,!0,"outline",!0);l.bindAction(112,
-!1,"about");if(!this.editor.chromeless||this.editor.editable)l.bindControlKey(36,function(){d.isEnabled()&&d.foldCells(!0)}),l.bindControlKey(35,function(){d.isEnabled()&&d.foldCells(!1)}),l.bindControlKey(13,function(){if(d.isEnabled())try{d.setSelectionCells(d.duplicateCells(d.getSelectionCells(),!1))}catch(k){c.handleError(k)}}),l.bindAction(8,!1,"delete"),l.bindAction(8,!0,"deleteAll"),l.bindAction(46,!1,"delete"),l.bindAction(46,!0,"deleteAll"),l.bindAction(72,!0,"resetView"),l.bindAction(72,
-!0,"fitWindow",!0),l.bindAction(74,!0,"fitPage"),l.bindAction(74,!0,"fitTwoPages",!0),l.bindAction(48,!0,"customZoom"),l.bindAction(82,!0,"turn"),l.bindAction(82,!0,"clearDefaultStyle",!0),l.bindAction(83,!0,"save"),l.bindAction(83,!0,"saveAs",!0),l.bindAction(65,!0,"selectAll"),l.bindAction(65,!0,"selectNone",!0),l.bindAction(73,!0,"selectVertices",!0),l.bindAction(69,!0,"selectEdges",!0),l.bindAction(69,!0,"editStyle"),l.bindAction(66,!0,"bold"),l.bindAction(66,!0,"toBack",!0),l.bindAction(70,!0,
-"toFront",!0),l.bindAction(68,!0,"duplicate"),l.bindAction(68,!0,"setAsDefaultStyle",!0),l.bindAction(90,!0,"undo"),l.bindAction(89,!0,"autosize",!0),l.bindAction(88,!0,"cut"),l.bindAction(67,!0,"copy"),l.bindAction(86,!0,"paste"),l.bindAction(71,!0,"group"),l.bindAction(77,!0,"editData"),l.bindAction(71,!0,"grid",!0),l.bindAction(73,!0,"italic"),l.bindAction(76,!0,"lockUnlock"),l.bindAction(76,!0,"layers",!0),l.bindAction(80,!0,"formatPanel",!0),l.bindAction(85,!0,"underline"),l.bindAction(85,!0,
-"ungroup",!0),l.bindAction(190,!0,"superscript"),l.bindAction(188,!0,"subscript"),l.bindKey(13,function(){d.isEnabled()&&d.startEditingAtCell()}),l.bindKey(113,function(){d.isEnabled()&&d.startEditingAtCell()});mxClient.IS_WIN?l.bindAction(89,!0,"redo"):l.bindAction(90,!0,"redo",!0);return l};
+EditorUi.prototype.createKeyHandler=function(a){function b(a,d,b){q.push(function(){if(!c.isSelectionEmpty()&&c.isEnabled())if(d=null!=d?d:1,b){c.getModel().beginUpdate();try{for(var f=c.getSelectionCells(),k=0;k<f.length;k++)if(c.getModel().isVertex(f[k])&&c.isCellResizable(f[k])){var e=c.getCellGeometry(f[k]);null!=e&&(e=e.clone(),37==a?e.width=Math.max(0,e.width-d):38==a?e.height=Math.max(0,e.height-d):39==a?e.width+=d:40==a&&(e.height+=d),c.getModel().setGeometry(f[k],e))}}finally{c.getModel().endUpdate()}}else{var e=
+c.getSelectionCell(),n=c.model.getParent(e),f=null;1==c.getSelectionCount()&&c.model.isVertex(e)&&null!=c.layoutManager&&!c.isCellLocked(e)&&(f=c.layoutManager.getLayout(n));if(null!=f&&f.constructor==mxStackLayout)f=n.getIndex(e),37==a||38==a?c.model.add(n,e,Math.max(0,f-1)):39!=a&&40!=a||c.model.add(n,e,Math.min(c.model.getChildCount(n),f+1));else{f=c.getMovableCells(c.getSelectionCells());e=[];for(k=0;k<f.length;k++)n=c.view.getState(f[k]),n=null!=n?n.style:c.getCellStyle(f[k]),"1"==mxUtils.getValue(n,
+"part","0")?(n=c.model.getParent(f[k]),c.model.isVertex(n)&&0>mxUtils.indexOf(f,n)&&e.push(n)):e.push(f[k]);0<e.length&&(k=f=0,37==a?f=-d:38==a?k=-d:39==a?f=d:40==a&&(k=d),c.moveCells(e,f,k))}}});null!=u&&window.clearTimeout(u);u=window.setTimeout(function(){if(0<q.length){c.getModel().beginUpdate();try{for(var a=0;a<q.length;a++)q[a]();q=[]}finally{c.getModel().endUpdate()}}},200)}var e=this,c=this.editor.graph,l=new mxKeyHandler(c),m=l.isEventIgnored;l.isEventIgnored=function(a){return(!this.isControlDown(a)||
+mxEvent.isShiftDown(a)||90!=a.keyCode&&89!=a.keyCode&&188!=a.keyCode&&190!=a.keyCode&&85!=a.keyCode)&&(66!=a.keyCode&&73!=a.keyCode||!this.isControlDown(a)||this.graph.cellEditor.isContentEditing()&&!mxClient.IS_FF&&!mxClient.IS_SF)&&m.apply(this,arguments)};l.isEnabledForEvent=function(a){return!mxEvent.isConsumed(a)&&this.isGraphEvent(a)&&this.isEnabled()&&(null==e.dialogs||0==e.dialogs.length)};l.isControlDown=function(a){return mxEvent.isControlDown(a)||mxClient.IS_MAC&&a.metaKey};var q=[],u=
+null,z={37:mxConstants.DIRECTION_WEST,38:mxConstants.DIRECTION_NORTH,39:mxConstants.DIRECTION_EAST,40:mxConstants.DIRECTION_SOUTH},C=l.getFunction;mxKeyHandler.prototype.getFunction=function(a){if(c.isEnabled()){if(mxEvent.isShiftDown(a)&&mxEvent.isAltDown(a)){var d=e.actions.get(e.altShiftActions[a.keyCode]);if(null!=d)return d.funct}if(9==a.keyCode&&mxEvent.isAltDown(a))return mxEvent.isShiftDown(a)?function(){c.selectParentCell()}:function(){c.selectChildCell()};if(null!=z[a.keyCode]&&!c.isSelectionEmpty())if(!this.isControlDown(a)&&
+mxEvent.isShiftDown(a)&&mxEvent.isAltDown(a)){if(c.model.isVertex(c.getSelectionCell()))return function(){var d=c.connectVertex(c.getSelectionCell(),z[a.keyCode],c.defaultEdgeLength,a,!0);null!=d&&0<d.length&&(1==d.length&&c.model.isEdge(d[0])?c.setSelectionCell(c.model.getTerminal(d[0],!1)):c.setSelectionCell(d[d.length-1]),c.scrollCellToVisible(c.getSelectionCell()),null!=e.hoverIcons&&e.hoverIcons.update(c.view.getState(c.getSelectionCell())))}}else return this.isControlDown(a)?function(){b(a.keyCode,
+mxEvent.isShiftDown(a)?c.gridSize:null,!0)}:function(){b(a.keyCode,mxEvent.isShiftDown(a)?c.gridSize:null)}}return C.apply(this,arguments)};l.bindAction=mxUtils.bind(this,function(a,d,b,f){var c=this.actions.get(b);null!=c&&(b=function(){c.isEnabled()&&c.funct()},d?f?l.bindControlShiftKey(a,b):l.bindControlKey(a,b):f?l.bindShiftKey(a,b):l.bindKey(a,b))});var d=this,f=l.escape;l.escape=function(a){f.apply(this,arguments)};l.enter=function(){};l.bindControlShiftKey(36,function(){c.exitGroup()});l.bindControlShiftKey(35,
+function(){c.enterGroup()});l.bindKey(36,function(){c.home()});l.bindKey(35,function(){c.refresh()});l.bindAction(107,!0,"zoomIn");l.bindAction(109,!0,"zoomOut");l.bindAction(80,!0,"print");l.bindAction(79,!0,"outline",!0);l.bindAction(112,!1,"about");if(!this.editor.chromeless||this.editor.editable)l.bindControlKey(36,function(){c.isEnabled()&&c.foldCells(!0)}),l.bindControlKey(35,function(){c.isEnabled()&&c.foldCells(!1)}),l.bindControlKey(13,function(){if(c.isEnabled())try{c.setSelectionCells(c.duplicateCells(c.getSelectionCells(),
+!1))}catch(k){d.handleError(k)}}),l.bindAction(8,!1,"delete"),l.bindAction(8,!0,"deleteAll"),l.bindAction(46,!1,"delete"),l.bindAction(46,!0,"deleteAll"),l.bindAction(72,!0,"resetView"),l.bindAction(72,!0,"fitWindow",!0),l.bindAction(74,!0,"fitPage"),l.bindAction(74,!0,"fitTwoPages",!0),l.bindAction(48,!0,"customZoom"),l.bindAction(82,!0,"turn"),l.bindAction(82,!0,"clearDefaultStyle",!0),l.bindAction(83,!0,"save"),l.bindAction(83,!0,"saveAs",!0),l.bindAction(65,!0,"selectAll"),l.bindAction(65,!0,
+"selectNone",!0),l.bindAction(73,!0,"selectVertices",!0),l.bindAction(69,!0,"selectEdges",!0),l.bindAction(69,!0,"editStyle"),l.bindAction(66,!0,"bold"),l.bindAction(66,!0,"toBack",!0),l.bindAction(70,!0,"toFront",!0),l.bindAction(68,!0,"duplicate"),l.bindAction(68,!0,"setAsDefaultStyle",!0),l.bindAction(90,!0,"undo"),l.bindAction(89,!0,"autosize",!0),l.bindAction(88,!0,"cut"),l.bindAction(67,!0,"copy"),l.bindAction(86,!0,"paste"),l.bindAction(71,!0,"group"),l.bindAction(77,!0,"editData"),l.bindAction(71,
+!0,"grid",!0),l.bindAction(73,!0,"italic"),l.bindAction(76,!0,"lockUnlock"),l.bindAction(76,!0,"layers",!0),l.bindAction(80,!0,"formatPanel",!0),l.bindAction(85,!0,"underline"),l.bindAction(85,!0,"ungroup",!0),l.bindAction(190,!0,"superscript"),l.bindAction(188,!0,"subscript"),l.bindKey(13,function(){c.isEnabled()&&c.startEditingAtCell()}),l.bindKey(113,function(){c.isEnabled()&&c.startEditingAtCell()});mxClient.IS_WIN?l.bindAction(89,!0,"redo"):l.bindAction(90,!0,"redo",!0);return l};
 EditorUi.prototype.destroy=function(){null!=this.editor&&(this.editor.destroy(),this.editor=null);null!=this.menubar&&(this.menubar.destroy(),this.menubar=null);null!=this.toolbar&&(this.toolbar.destroy(),this.toolbar=null);null!=this.sidebar&&(this.sidebar.destroy(),this.sidebar=null);null!=this.keyHandler&&(this.keyHandler.destroy(),this.keyHandler=null);null!=this.keydownHandler&&(mxEvent.removeListener(document,"keydown",this.keydownHandler),this.keydownHandler=null);null!=this.keyupHandler&&
 (mxEvent.removeListener(document,"keyup",this.keyupHandler),this.keyupHandler=null);null!=this.resizeHandler&&(mxEvent.removeListener(window,"resize",this.resizeHandler),this.resizeHandler=null);null!=this.gestureHandler&&(mxEvent.removeGestureListeners(document,this.gestureHandler),this.gestureHandler=null);null!=this.orientationChangeHandler&&(mxEvent.removeListener(window,"orientationchange",this.orientationChangeHandler),this.orientationChangeHandler=null);null!=this.scrollHandler&&(mxEvent.removeListener(window,
-"scroll",this.scrollHandler),this.scrollHandler=null);if(null!=this.destroyFunctions){for(var a=0;a<this.destroyFunctions.length;a++)this.destroyFunctions[a]();this.destroyFunctions=null}for(var b=[this.menubarContainer,this.toolbarContainer,this.sidebarContainer,this.formatContainer,this.diagramContainer,this.footerContainer,this.chromelessToolbar,this.hsplit,this.sidebarFooterContainer,this.layersDialog],a=0;a<b.length;a++)null!=b[a]&&null!=b[a].parentNode&&b[a].parentNode.removeChild(b[a])};"undefined"!==typeof html4&&(html4.ATTRIBS["a::target"]=0,html4.ATTRIBS["source::src"]=0,html4.ATTRIBS["video::src"]=0);(function(){var a=[["nbsp","160"],["shy","173"]],b=mxUtils.parseXml;mxUtils.parseXml=function(f){for(var d=0;d<a.length;d++)f=f.replace(new RegExp("&"+a[d][0]+";","g"),"&#"+a[d][1]+";");return b(f)}})();
+"scroll",this.scrollHandler),this.scrollHandler=null);if(null!=this.destroyFunctions){for(var a=0;a<this.destroyFunctions.length;a++)this.destroyFunctions[a]();this.destroyFunctions=null}for(var b=[this.menubarContainer,this.toolbarContainer,this.sidebarContainer,this.formatContainer,this.diagramContainer,this.footerContainer,this.chromelessToolbar,this.hsplit,this.sidebarFooterContainer,this.layersDialog],a=0;a<b.length;a++)null!=b[a]&&null!=b[a].parentNode&&b[a].parentNode.removeChild(b[a])};"undefined"!==typeof html4&&(html4.ATTRIBS["a::target"]=0,html4.ATTRIBS["source::src"]=0,html4.ATTRIBS["video::src"]=0);(function(){var a=[["nbsp","160"],["shy","173"]],b=mxUtils.parseXml;mxUtils.parseXml=function(e){for(var c=0;c<a.length;c++)e=e.replace(new RegExp("&"+a[c][0]+";","g"),"&#"+a[c][1]+";");return b(e)}})();
 Date.prototype.toISOString||function(){function a(a){a=String(a);1===a.length&&(a="0"+a);return a}Date.prototype.toISOString=function(){return this.getUTCFullYear()+"-"+a(this.getUTCMonth()+1)+"-"+a(this.getUTCDate())+"T"+a(this.getUTCHours())+":"+a(this.getUTCMinutes())+":"+a(this.getUTCSeconds())+"."+String((this.getUTCMilliseconds()/1E3).toFixed(3)).slice(2,5)+"Z"}}();Date.now||(Date.now=function(){return(new Date).getTime()});mxConstants.POINTS=1;mxConstants.MILLIMETERS=2;mxConstants.INCHES=3;
 mxConstants.PIXELS_PER_MM=3.937;mxConstants.PIXELS_PER_INCH=100;mxConstants.SHADOW_OPACITY=.25;mxConstants.SHADOWCOLOR="#000000";mxConstants.VML_SHADOWCOLOR="#d0d0d0";mxGraph.prototype.pageBreakColor="#c0c0c0";mxGraph.prototype.pageScale=1;(function(){try{if(null!=navigator&&null!=navigator.language){var a=navigator.language.toLowerCase();mxGraph.prototype.pageFormat="en-us"===a||"en-ca"===a||"es-mx"===a?mxConstants.PAGE_FORMAT_LETTER_PORTRAIT:mxConstants.PAGE_FORMAT_A4_PORTRAIT}}catch(b){}})();
 mxText.prototype.baseSpacingTop=5;mxText.prototype.baseSpacingBottom=1;mxGraphModel.prototype.ignoreRelativeEdgeParent=!1;mxGraphView.prototype.gridImage=mxClient.IS_SVG?"data:image/gif;base64,R0lGODlhCgAKAJEAAAAAAP///8zMzP///yH5BAEAAAMALAAAAAAKAAoAAAIJ1I6py+0Po2wFADs=":IMAGE_PATH+"/grid.gif";mxGraphView.prototype.gridSteps=4;mxGraphView.prototype.minGridSize=4;mxGraphView.prototype.defaultGridColor="#d0d0d0";mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultGridColor;
-mxGraphView.prototype.unit=mxConstants.POINTS;mxGraphView.prototype.setUnit=function(a){this.unit!=a&&(this.unit=a,this.fireEvent(new mxEventObject("unitChanged","unit",a)))};mxSvgCanvas2D.prototype.foAltText="[Not supported by viewer]";mxShape.prototype.getConstraints=function(a,b,f){return null};
-Graph=function(a,b,f,d,l,m){mxGraph.call(this,a,b,f,d);this.themes=l||this.defaultThemes;this.currentEdgeStyle=mxUtils.clone(this.defaultEdgeStyle);this.currentVertexStyle=mxUtils.clone(this.defaultVertexStyle);this.standalone=null!=m?m:!1;a=this.baseUrl;b=a.indexOf("//");this.domainPathUrl=this.domainUrl="";0<b&&(b=a.indexOf("/",b+2),0<b&&(this.domainUrl=a.substring(0,b)),b=a.lastIndexOf("/"),0<b&&(this.domainPathUrl=a.substring(0,b+1)));this.isHtmlLabel=function(a){var c=this.view.getState(a);a=
-null!=c?c.style:this.getCellStyle(a);return null!=a?"1"==a.html||"wrap"==a[mxConstants.STYLE_WHITE_SPACE]:!1};if(this.edgeMode){var q=null,u=null,z=null,C=null,c=!1;this.addListener(mxEvent.FIRE_MOUSE_EVENT,mxUtils.bind(this,function(a,b){if("mouseDown"==b.getProperty("eventName")&&this.isEnabled()){var e=b.getProperty("event");if(!mxEvent.isControlDown(e.getEvent())&&!mxEvent.isShiftDown(e.getEvent())){var d=e.getState();null!=d&&this.model.isEdge(d.cell)&&(q=new mxPoint(e.getGraphX(),e.getGraphY()),
-c=this.isCellSelected(d.cell),z=d,u=e,null!=d.text&&null!=d.text.boundingBox&&mxUtils.contains(d.text.boundingBox,e.getGraphX(),e.getGraphY())?C=mxEvent.LABEL_HANDLE:(d=this.selectionCellsHandler.getHandler(d.cell),null!=d&&null!=d.bends&&0<d.bends.length&&(C=d.getHandleForEvent(e))))}}}));this.addMouseListener({mouseDown:function(a,c){},mouseMove:mxUtils.bind(this,function(a,b){var e=this.selectionCellsHandler.handlers.map,d;for(d in e)if(null!=e[d].index)return;if(this.isEnabled()&&!this.panningHandler.isActive()&&
-!mxEvent.isControlDown(b.getEvent())&&!mxEvent.isShiftDown(b.getEvent())&&!mxEvent.isAltDown(b.getEvent()))if(d=this.tolerance,null!=q&&null!=z&&null!=u){if(e=z,Math.abs(q.x-b.getGraphX())>d||Math.abs(q.y-b.getGraphY())>d){this.isCellSelected(e.cell)||this.setSelectionCell(e.cell);var k=this.selectionCellsHandler.getHandler(e.cell);if(null!=k&&null!=k.bends&&0<k.bends.length){var g=k.getHandleForEvent(u),f=this.view.getEdgeStyle(e);d=f==mxEdgeStyle.EntityRelation;c||C!=mxEvent.LABEL_HANDLE||(g=C);
-if(d&&0!=g&&g!=k.bends.length-1&&g!=mxEvent.LABEL_HANDLE)!d||null==e.visibleSourceState&&null==e.visibleTargetState||(this.graphHandler.reset(),b.consume());else if(g==mxEvent.LABEL_HANDLE||0==g||null!=e.visibleSourceState||g==k.bends.length-1||null!=e.visibleTargetState)d||g==mxEvent.LABEL_HANDLE||(d=e.absolutePoints,null!=d&&(null==f&&null==g||f==mxEdgeStyle.OrthConnector)&&(g=C,null==g&&(g=new mxRectangle(q.x,q.y),g.grow(mxEdgeHandler.prototype.handleImage.width/2),mxUtils.contains(g,d[0].x,d[0].y)?
-g=0:mxUtils.contains(g,d[d.length-1].x,d[d.length-1].y)?g=k.bends.length-1:null!=f&&(2==d.length||3==d.length&&(0==Math.round(d[0].x-d[1].x)&&0==Math.round(d[1].x-d[2].x)||0==Math.round(d[0].y-d[1].y)&&0==Math.round(d[1].y-d[2].y)))?g=2:(g=mxUtils.findNearestSegment(e,q.x,q.y),g=null==f?mxEvent.VIRTUAL_HANDLE-g:g+1))),null==g&&(g=mxEvent.VIRTUAL_HANDLE)),k.start(b.getGraphX(),b.getGraphX(),g),C=q=u=z=null,c=!1,b.consume(),this.graphHandler.reset()}}}else if(e=b.getState(),null!=e&&this.model.isEdge(e.cell)){k=
-null;d=e.absolutePoints;if(null!=d)if(g=new mxRectangle(b.getGraphX(),b.getGraphY()),g.grow(mxEdgeHandler.prototype.handleImage.width/2),null!=e.text&&null!=e.text.boundingBox&&mxUtils.contains(e.text.boundingBox,b.getGraphX(),b.getGraphY()))k="move";else if(mxUtils.contains(g,d[0].x,d[0].y)||mxUtils.contains(g,d[d.length-1].x,d[d.length-1].y))k="pointer";else if(null!=e.visibleSourceState||null!=e.visibleTargetState)f=this.view.getEdgeStyle(e),k="crosshair",f!=mxEdgeStyle.EntityRelation&&this.isOrthogonal(e)&&
-(f=mxUtils.findNearestSegment(e,b.getGraphX(),b.getGraphY()),f<d.length-1&&0<=f&&(k=0==Math.round(d[f].x-d[f+1].x)?"col-resize":"row-resize"));null!=k&&e.setCursor(k)}}),mouseUp:mxUtils.bind(this,function(a,c){C=q=u=z=null})})}this.cellRenderer.getLabelValue=function(a){var c=mxCellRenderer.prototype.getLabelValue.apply(this,arguments);a.view.graph.isHtmlLabel(a.cell)&&(c=1!=a.style.html?mxUtils.htmlEntities(c,!1):a.view.graph.sanitizeHtml(c));return c};if("undefined"!==typeof mxVertexHandler){this.setConnectable(!0);
-this.setDropEnabled(!0);this.setPanning(!0);this.setTooltips(!0);this.setAllowLoops(!0);this.allowAutoPanning=!0;this.constrainChildren=this.resetEdgesOnConnect=!1;this.constrainRelativeChildren=!0;this.graphHandler.scrollOnMove=!1;this.graphHandler.scaleGrid=!0;this.connectionHandler.setCreateTarget(!1);this.connectionHandler.insertBeforeSource=!0;this.connectionHandler.isValidSource=function(a,c){return!1};this.alternateEdgeStyle="vertical";null==d&&this.loadStylesheet();var e=this.graphHandler.getGuideStates;
-this.graphHandler.getGuideStates=function(){var a=e.apply(this,arguments);if(this.graph.pageVisible){for(var c=[],b=this.graph.pageFormat,d=this.graph.pageScale,k=b.width*d,b=b.height*d,d=this.graph.view.translate,g=this.graph.view.scale,f=this.graph.getPageLayout(),p=0;p<f.width;p++)c.push(new mxRectangle(((f.x+p)*k+d.x)*g,(f.y*b+d.y)*g,k*g,b*g));for(p=0;p<f.height;p++)c.push(new mxRectangle((f.x*k+d.x)*g,((f.y+p)*b+d.y)*g,k*g,b*g));a=c.concat(a)}return a};mxDragSource.prototype.dragElementZIndex=
-mxPopupMenu.prototype.zIndex;mxGuide.prototype.getGuideColor=function(a,c){return null==a.cell?"#ffa500":mxConstants.GUIDE_COLOR};this.graphHandler.createPreviewShape=function(a){this.previewColor="#000000"==this.graph.background?"#ffffff":mxGraphHandler.prototype.previewColor;return mxGraphHandler.prototype.createPreviewShape.apply(this,arguments)};this.graphHandler.getCells=function(a){for(var c=mxGraphHandler.prototype.getCells.apply(this,arguments),b=[],e=0;e<c.length;e++){var d=this.graph.view.getState(c[e]),
-d=null!=d?d.style:this.graph.getCellStyle(c[e]);"1"==mxUtils.getValue(d,"part","0")?(d=this.graph.model.getParent(c[e]),this.graph.model.isVertex(d)&&0>mxUtils.indexOf(c,d)&&b.push(d)):b.push(c[e])}return b};this.connectionHandler.createTargetVertex=function(a,c){var b=this.graph.view.getState(c),b=null!=b?b.style:this.graph.getCellStyle(c);mxUtils.getValue(b,"part",!1)&&(b=this.graph.model.getParent(c),this.graph.model.isVertex(b)&&(c=b));return mxConnectionHandler.prototype.createTargetVertex.apply(this,
-arguments)};var k=new mxRubberband(this);this.getRubberband=function(){return k};var x=(new Date).getTime(),n=0,g=this.connectionHandler.mouseMove;this.connectionHandler.mouseMove=function(){var a=this.currentState;g.apply(this,arguments);a!=this.currentState?(x=(new Date).getTime(),n=0):n=(new Date).getTime()-x};var A=this.connectionHandler.isOutlineConnectEvent;this.connectionHandler.isOutlineConnectEvent=function(a){return null!=this.currentState&&a.getState()==this.currentState&&2E3<n||(null==
-this.currentState||"0"!=mxUtils.getValue(this.currentState.style,"outlineConnect","1"))&&A.apply(this,arguments)};var v=this.isToggleEvent;this.isToggleEvent=function(a){return v.apply(this,arguments)||!mxClient.IS_CHROMEOS&&mxEvent.isShiftDown(a)};var t=k.isForceRubberbandEvent;k.isForceRubberbandEvent=function(a){return t.apply(this,arguments)&&!mxEvent.isShiftDown(a.getEvent())&&!mxEvent.isControlDown(a.getEvent())||mxClient.IS_CHROMEOS&&mxEvent.isShiftDown(a.getEvent())||mxUtils.hasScrollbars(this.graph.container)&&
-mxClient.IS_FF&&mxClient.IS_WIN&&null==a.getState()&&mxEvent.isTouchEvent(a.getEvent())};var D=null;this.panningHandler.addListener(mxEvent.PAN_START,mxUtils.bind(this,function(){this.isEnabled()&&(D=this.container.style.cursor,this.container.style.cursor="move")}));this.panningHandler.addListener(mxEvent.PAN_END,mxUtils.bind(this,function(){this.isEnabled()&&(this.container.style.cursor=D)}));this.popupMenuHandler.autoExpand=!0;this.popupMenuHandler.isSelectOnPopup=function(a){return mxEvent.isMouseEvent(a.getEvent())};
-var y=this.click;this.click=function(a){var c=null==a.state&&null!=a.sourceState&&this.isCellLocked(a.sourceState.cell);if(this.isEnabled()&&!c||a.isConsumed())return y.apply(this,arguments);var b=c?a.sourceState.cell:a.getCell();null!=b&&(b=this.getLinkForCell(b),null!=b&&(this.isCustomLink(b)?this.customLinkClicked(b):this.openLink(b)));this.isEnabled()&&c&&this.clearSelection()};this.tooltipHandler.getStateForEvent=function(a){return a.sourceState};this.getCursorForMouseEvent=function(a){var c=
-null==a.state&&null!=a.sourceState&&this.isCellLocked(a.sourceState.cell);return this.getCursorForCell(c?a.sourceState.cell:a.getCell())};var E=this.getCursorForCell;this.getCursorForCell=function(a){if(!this.isEnabled()||this.isCellLocked(a)){if(null!=this.getLinkForCell(a))return"pointer";if(this.isCellLocked(a))return"default"}return E.apply(this,arguments)};this.selectRegion=function(a,c){var b=this.getAllCells(a.x,a.y,a.width,a.height);this.selectCellsForEvent(b,c);return b};this.getAllCells=
-function(a,c,b,e,d,k){k=null!=k?k:[];if(0<b||0<e){var g=this.getModel(),f=a+b,p=c+e;null==d&&(d=this.getCurrentRoot(),null==d&&(d=g.getRoot()));if(null!=d)for(var n=g.getChildCount(d),x=0;x<n;x++){var B=g.getChildAt(d,x),t=this.view.getState(B);if(null!=t&&this.isCellVisible(B)&&"1"!=mxUtils.getValue(t.style,"locked","0")){var Q=mxUtils.getValue(t.style,mxConstants.STYLE_ROTATION)||0;0!=Q&&(t=mxUtils.getBoundingBox(t,Q));(g.isEdge(B)||g.isVertex(B))&&t.x>=a&&t.y+t.height<=p&&t.y>=c&&t.x+t.width<=
-f&&k.push(B);this.getAllCells(a,c,b,e,B,k)}}}return k};var p=this.graphHandler.shouldRemoveCellsFromParent;this.graphHandler.shouldRemoveCellsFromParent=function(a,c,b){return this.graph.isCellSelected(a)?!1:p.apply(this,arguments)};this.isCellLocked=function(a){for(a=this.view.getState(a);null!=a;){if("1"==mxUtils.getValue(a.style,"locked","0"))return!0;a=this.view.getState(this.model.getParent(a.cell))}return!1};var B=null;this.addListener(mxEvent.FIRE_MOUSE_EVENT,mxUtils.bind(this,function(a,c){if("mouseDown"==
-c.getProperty("eventName")){var b=c.getProperty("event").getState();B=null==b||this.isSelectionEmpty()||this.isCellSelected(b.cell)?null:this.getSelectionCells()}}));this.addListener(mxEvent.TAP_AND_HOLD,mxUtils.bind(this,function(a,c){if(!mxEvent.isMultiTouchEvent(c)){var b=c.getProperty("event"),e=c.getProperty("cell");null==e?(b=mxUtils.convertPoint(this.container,mxEvent.getClientX(b),mxEvent.getClientY(b)),k.start(b.x,b.y)):null!=B?this.addSelectionCells(B):1<this.getSelectionCount()&&this.isCellSelected(e)&&
-this.removeSelectionCell(e);B=null;c.consume()}}));this.connectionHandler.selectCells=function(a,c){this.graph.setSelectionCell(c||a)};this.connectionHandler.constraintHandler.isStateIgnored=function(a,c){return c&&a.view.graph.isCellSelected(a.cell)};this.selectionModel.addListener(mxEvent.CHANGE,mxUtils.bind(this,function(){var a=this.connectionHandler.constraintHandler;null!=a.currentFocus&&a.isStateIgnored(a.currentFocus,!0)&&(a.currentFocus=null,a.constraints=null,a.destroyIcons());a.destroyFocusHighlight()}));
-Graph.touchStyle&&this.initTouch();var L=this.updateMouseEvent;this.updateMouseEvent=function(a){a=L.apply(this,arguments);null!=a.state&&this.isCellLocked(a.getCell())&&(a.state=null);return a}}this.currentTranslate=new mxPoint(0,0)};Graph.touchStyle=mxClient.IS_TOUCH||mxClient.IS_FF&&mxClient.IS_WIN||0<navigator.maxTouchPoints||0<navigator.msMaxTouchPoints||null==window.urlParams||"1"==urlParams.touch;
-Graph.fileSupport=null!=window.File&&null!=window.FileReader&&null!=window.FileList&&(null==window.urlParams||"0"!=urlParams.filesupport);Graph.lineJumpsEnabled=!0;Graph.defaultJumpSize=6;
-Graph.createSvgImage=function(a,b,f,d,l){f=unescape(encodeURIComponent('<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="'+a+'px" height="'+b+'px" '+(null!=d&&null!=l?'viewBox="0 0 '+d+" "+l+'" ':"")+'version="1.1">'+f+"</svg>"));return new mxImage("data:image/svg+xml;base64,"+(window.btoa?btoa(f):Base64.encode(f,!0)),a,b)};
-Graph.zapGremlins=function(a){for(var b=[],f=0;f<a.length;f++){var d=a.charCodeAt(f);(32<=d||9==d||10==d||13==d)&&65535!=d&&65534!=d&&b.push(a.charAt(f))}return b.join("")};Graph.stringToBytes=function(a){for(var b=Array(a.length),f=0;f<a.length;f++)b[f]=a.charCodeAt(f);return b};Graph.bytesToString=function(a){for(var b=Array(a.length),f=0;f<a.length;f++)b[f]=String.fromCharCode(a[f]);return b.join("")};Graph.compressNode=function(a){return Graph.compress(Graph.zapGremlins(mxUtils.getXml(a)))};
-Graph.compress=function(a,b){if(null==a||0==a.length||"undefined"===typeof pako)return a;var f=b?pako.deflate(encodeURIComponent(a),{to:"string"}):pako.deflateRaw(encodeURIComponent(a),{to:"string"});return window.btoa?btoa(f):Base64.encode(f,!0)};Graph.decompress=function(a,b){if(null==a||0==a.length||"undefined"===typeof pako)return a;var f=window.atob?atob(a):Base64.decode(a,!0),f=b?pako.inflate(f,{to:"string"}):pako.inflateRaw(f,{to:"string"});return Graph.zapGremlins(decodeURIComponent(f))};
+mxGraphView.prototype.unit=mxConstants.POINTS;mxGraphView.prototype.setUnit=function(a){this.unit!=a&&(this.unit=a,this.fireEvent(new mxEventObject("unitChanged","unit",a)))};mxSvgCanvas2D.prototype.foAltText="[Not supported by viewer]";mxShape.prototype.getConstraints=function(a,b,e){return null};
+Graph=function(a,b,e,c,l,m){mxGraph.call(this,a,b,e,c);this.themes=l||this.defaultThemes;this.currentEdgeStyle=mxUtils.clone(this.defaultEdgeStyle);this.currentVertexStyle=mxUtils.clone(this.defaultVertexStyle);this.standalone=null!=m?m:!1;a=this.baseUrl;b=a.indexOf("//");this.domainPathUrl=this.domainUrl="";0<b&&(b=a.indexOf("/",b+2),0<b&&(this.domainUrl=a.substring(0,b)),b=a.lastIndexOf("/"),0<b&&(this.domainPathUrl=a.substring(0,b+1)));this.isHtmlLabel=function(a){var d=this.view.getState(a);a=
+null!=d?d.style:this.getCellStyle(a);return null!=a?"1"==a.html||"wrap"==a[mxConstants.STYLE_WHITE_SPACE]:!1};if(this.edgeMode){var q=null,u=null,z=null,C=null,d=!1;this.addListener(mxEvent.FIRE_MOUSE_EVENT,mxUtils.bind(this,function(a,b){if("mouseDown"==b.getProperty("eventName")&&this.isEnabled()){var f=b.getProperty("event");if(!mxEvent.isControlDown(f.getEvent())&&!mxEvent.isShiftDown(f.getEvent())){var c=f.getState();null!=c&&this.model.isEdge(c.cell)&&(q=new mxPoint(f.getGraphX(),f.getGraphY()),
+d=this.isCellSelected(c.cell),z=c,u=f,null!=c.text&&null!=c.text.boundingBox&&mxUtils.contains(c.text.boundingBox,f.getGraphX(),f.getGraphY())?C=mxEvent.LABEL_HANDLE:(c=this.selectionCellsHandler.getHandler(c.cell),null!=c&&null!=c.bends&&0<c.bends.length&&(C=c.getHandleForEvent(f))))}}}));this.addMouseListener({mouseDown:function(a,d){},mouseMove:mxUtils.bind(this,function(a,b){var f=this.selectionCellsHandler.handlers.map,c;for(c in f)if(null!=f[c].index)return;if(this.isEnabled()&&!this.panningHandler.isActive()&&
+!mxEvent.isControlDown(b.getEvent())&&!mxEvent.isShiftDown(b.getEvent())&&!mxEvent.isAltDown(b.getEvent()))if(c=this.tolerance,null!=q&&null!=z&&null!=u){if(f=z,Math.abs(q.x-b.getGraphX())>c||Math.abs(q.y-b.getGraphY())>c){this.isCellSelected(f.cell)||this.setSelectionCell(f.cell);var k=this.selectionCellsHandler.getHandler(f.cell);if(null!=k&&null!=k.bends&&0<k.bends.length){var g=k.getHandleForEvent(u),e=this.view.getEdgeStyle(f);c=e==mxEdgeStyle.EntityRelation;d||C!=mxEvent.LABEL_HANDLE||(g=C);
+if(c&&0!=g&&g!=k.bends.length-1&&g!=mxEvent.LABEL_HANDLE)!c||null==f.visibleSourceState&&null==f.visibleTargetState||(this.graphHandler.reset(),b.consume());else if(g==mxEvent.LABEL_HANDLE||0==g||null!=f.visibleSourceState||g==k.bends.length-1||null!=f.visibleTargetState)c||g==mxEvent.LABEL_HANDLE||(c=f.absolutePoints,null!=c&&(null==e&&null==g||e==mxEdgeStyle.OrthConnector)&&(g=C,null==g&&(g=new mxRectangle(q.x,q.y),g.grow(mxEdgeHandler.prototype.handleImage.width/2),mxUtils.contains(g,c[0].x,c[0].y)?
+g=0:mxUtils.contains(g,c[c.length-1].x,c[c.length-1].y)?g=k.bends.length-1:null!=e&&(2==c.length||3==c.length&&(0==Math.round(c[0].x-c[1].x)&&0==Math.round(c[1].x-c[2].x)||0==Math.round(c[0].y-c[1].y)&&0==Math.round(c[1].y-c[2].y)))?g=2:(g=mxUtils.findNearestSegment(f,q.x,q.y),g=null==e?mxEvent.VIRTUAL_HANDLE-g:g+1))),null==g&&(g=mxEvent.VIRTUAL_HANDLE)),k.start(b.getGraphX(),b.getGraphX(),g),C=q=u=z=null,d=!1,b.consume(),this.graphHandler.reset()}}}else if(f=b.getState(),null!=f&&this.model.isEdge(f.cell)){k=
+null;c=f.absolutePoints;if(null!=c)if(g=new mxRectangle(b.getGraphX(),b.getGraphY()),g.grow(mxEdgeHandler.prototype.handleImage.width/2),null!=f.text&&null!=f.text.boundingBox&&mxUtils.contains(f.text.boundingBox,b.getGraphX(),b.getGraphY()))k="move";else if(mxUtils.contains(g,c[0].x,c[0].y)||mxUtils.contains(g,c[c.length-1].x,c[c.length-1].y))k="pointer";else if(null!=f.visibleSourceState||null!=f.visibleTargetState)e=this.view.getEdgeStyle(f),k="crosshair",e!=mxEdgeStyle.EntityRelation&&this.isOrthogonal(f)&&
+(e=mxUtils.findNearestSegment(f,b.getGraphX(),b.getGraphY()),e<c.length-1&&0<=e&&(k=0==Math.round(c[e].x-c[e+1].x)?"col-resize":"row-resize"));null!=k&&f.setCursor(k)}}),mouseUp:mxUtils.bind(this,function(a,d){C=q=u=z=null})})}this.cellRenderer.getLabelValue=function(a){var d=mxCellRenderer.prototype.getLabelValue.apply(this,arguments);a.view.graph.isHtmlLabel(a.cell)&&(d=1!=a.style.html?mxUtils.htmlEntities(d,!1):a.view.graph.sanitizeHtml(d));return d};if("undefined"!==typeof mxVertexHandler){this.setConnectable(!0);
+this.setDropEnabled(!0);this.setPanning(!0);this.setTooltips(!0);this.setAllowLoops(!0);this.allowAutoPanning=!0;this.constrainChildren=this.resetEdgesOnConnect=!1;this.constrainRelativeChildren=!0;this.graphHandler.scrollOnMove=!1;this.graphHandler.scaleGrid=!0;this.connectionHandler.setCreateTarget(!1);this.connectionHandler.insertBeforeSource=!0;this.connectionHandler.isValidSource=function(a,d){return!1};this.alternateEdgeStyle="vertical";null==c&&this.loadStylesheet();var f=this.graphHandler.getGuideStates;
+this.graphHandler.getGuideStates=function(){var a=f.apply(this,arguments);if(this.graph.pageVisible){for(var d=[],b=this.graph.pageFormat,c=this.graph.pageScale,k=b.width*c,b=b.height*c,c=this.graph.view.translate,g=this.graph.view.scale,e=this.graph.getPageLayout(),p=0;p<e.width;p++)d.push(new mxRectangle(((e.x+p)*k+c.x)*g,(e.y*b+c.y)*g,k*g,b*g));for(p=0;p<e.height;p++)d.push(new mxRectangle((e.x*k+c.x)*g,((e.y+p)*b+c.y)*g,k*g,b*g));a=d.concat(a)}return a};mxDragSource.prototype.dragElementZIndex=
+mxPopupMenu.prototype.zIndex;mxGuide.prototype.getGuideColor=function(a,d){return null==a.cell?"#ffa500":mxConstants.GUIDE_COLOR};this.graphHandler.createPreviewShape=function(a){this.previewColor="#000000"==this.graph.background?"#ffffff":mxGraphHandler.prototype.previewColor;return mxGraphHandler.prototype.createPreviewShape.apply(this,arguments)};var k=this.graphHandler.getCells;this.graphHandler.getCells=function(a){for(var d=k.apply(this,arguments),b=[],f=0;f<d.length;f++){var c=this.graph.view.getState(d[f]),
+c=null!=c?c.style:this.graph.getCellStyle(d[f]);"1"==mxUtils.getValue(c,"part","0")?(c=this.graph.model.getParent(d[f]),this.graph.model.isVertex(c)&&0>mxUtils.indexOf(d,c)&&b.push(c)):b.push(d[f])}return b};var x=this.graphHandler.start;this.graphHandler.start=function(a,d,b,f){var c=this.graph.view.getState(a);null!=c&&mxUtils.getValue(c.style,"part",!1)&&(a=this.graph.model.getParent(a));x.apply(this,arguments)};this.connectionHandler.createTargetVertex=function(a,d){var b=this.graph.view.getState(d),
+b=null!=b?b.style:this.graph.getCellStyle(d);mxUtils.getValue(b,"part",!1)&&(b=this.graph.model.getParent(d),this.graph.model.isVertex(b)&&(d=b));return mxConnectionHandler.prototype.createTargetVertex.apply(this,arguments)};var n=new mxRubberband(this);this.getRubberband=function(){return n};var g=(new Date).getTime(),A=0,v=this.connectionHandler.mouseMove;this.connectionHandler.mouseMove=function(){var a=this.currentState;v.apply(this,arguments);a!=this.currentState?(g=(new Date).getTime(),A=0):
+A=(new Date).getTime()-g};var t=this.connectionHandler.isOutlineConnectEvent;this.connectionHandler.isOutlineConnectEvent=function(a){return null!=this.currentState&&a.getState()==this.currentState&&2E3<A||(null==this.currentState||"0"!=mxUtils.getValue(this.currentState.style,"outlineConnect","1"))&&t.apply(this,arguments)};var E=this.isToggleEvent;this.isToggleEvent=function(a){return E.apply(this,arguments)||!mxClient.IS_CHROMEOS&&mxEvent.isShiftDown(a)};var y=n.isForceRubberbandEvent;n.isForceRubberbandEvent=
+function(a){return y.apply(this,arguments)&&!mxEvent.isShiftDown(a.getEvent())&&!mxEvent.isControlDown(a.getEvent())||mxClient.IS_CHROMEOS&&mxEvent.isShiftDown(a.getEvent())||mxUtils.hasScrollbars(this.graph.container)&&mxClient.IS_FF&&mxClient.IS_WIN&&null==a.getState()&&mxEvent.isTouchEvent(a.getEvent())};var D=null;this.panningHandler.addListener(mxEvent.PAN_START,mxUtils.bind(this,function(){this.isEnabled()&&(D=this.container.style.cursor,this.container.style.cursor="move")}));this.panningHandler.addListener(mxEvent.PAN_END,
+mxUtils.bind(this,function(){this.isEnabled()&&(this.container.style.cursor=D)}));this.popupMenuHandler.autoExpand=!0;this.popupMenuHandler.isSelectOnPopup=function(a){return mxEvent.isMouseEvent(a.getEvent())};var p=this.click;this.click=function(a){var d=null==a.state&&null!=a.sourceState&&this.isCellLocked(a.sourceState.cell);if(this.isEnabled()&&!d||a.isConsumed())return p.apply(this,arguments);var b=d?a.sourceState.cell:a.getCell();null!=b&&(b=this.getLinkForCell(b),null!=b&&(this.isCustomLink(b)?
+this.customLinkClicked(b):this.openLink(b)));this.isEnabled()&&d&&this.clearSelection()};this.tooltipHandler.getStateForEvent=function(a){return a.sourceState};this.getCursorForMouseEvent=function(a){var d=null==a.state&&null!=a.sourceState&&this.isCellLocked(a.sourceState.cell);return this.getCursorForCell(d?a.sourceState.cell:a.getCell())};var B=this.getCursorForCell;this.getCursorForCell=function(a){if(!this.isEnabled()||this.isCellLocked(a)){if(null!=this.getLinkForCell(a))return"pointer";if(this.isCellLocked(a))return"default"}return B.apply(this,
+arguments)};this.selectRegion=function(a,d){var b=this.getAllCells(a.x,a.y,a.width,a.height);this.selectCellsForEvent(b,d);return b};this.getAllCells=function(a,d,b,f,c,k){k=null!=k?k:[];if(0<b||0<f){var g=this.getModel(),e=a+b,p=d+f;null==c&&(c=this.getCurrentRoot(),null==c&&(c=g.getRoot()));if(null!=c)for(var n=g.getChildCount(c),x=0;x<n;x++){var B=g.getChildAt(c,x),t=this.view.getState(B);if(null!=t&&this.isCellVisible(B)&&"1"!=mxUtils.getValue(t.style,"locked","0")){var v=mxUtils.getValue(t.style,
+mxConstants.STYLE_ROTATION)||0;0!=v&&(t=mxUtils.getBoundingBox(t,v));(g.isEdge(B)||g.isVertex(B))&&t.x>=a&&t.y+t.height<=p&&t.y>=d&&t.x+t.width<=e&&k.push(B);this.getAllCells(a,d,b,f,B,k)}}}return k};var K=this.graphHandler.shouldRemoveCellsFromParent;this.graphHandler.shouldRemoveCellsFromParent=function(a,d,b){return this.graph.isCellSelected(a)?!1:K.apply(this,arguments)};this.isCellLocked=function(a){for(a=this.view.getState(a);null!=a;){if("1"==mxUtils.getValue(a.style,"locked","0"))return!0;
+a=this.view.getState(this.model.getParent(a.cell))}return!1};var M=null;this.addListener(mxEvent.FIRE_MOUSE_EVENT,mxUtils.bind(this,function(a,d){if("mouseDown"==d.getProperty("eventName")){var b=d.getProperty("event").getState();M=null==b||this.isSelectionEmpty()||this.isCellSelected(b.cell)?null:this.getSelectionCells()}}));this.addListener(mxEvent.TAP_AND_HOLD,mxUtils.bind(this,function(a,d){if(!mxEvent.isMultiTouchEvent(d)){var b=d.getProperty("event"),f=d.getProperty("cell");null==f?(b=mxUtils.convertPoint(this.container,
+mxEvent.getClientX(b),mxEvent.getClientY(b)),n.start(b.x,b.y)):null!=M?this.addSelectionCells(M):1<this.getSelectionCount()&&this.isCellSelected(f)&&this.removeSelectionCell(f);M=null;d.consume()}}));this.connectionHandler.selectCells=function(a,d){this.graph.setSelectionCell(d||a)};this.connectionHandler.constraintHandler.isStateIgnored=function(a,d){return d&&a.view.graph.isCellSelected(a.cell)};this.selectionModel.addListener(mxEvent.CHANGE,mxUtils.bind(this,function(){var a=this.connectionHandler.constraintHandler;
+null!=a.currentFocus&&a.isStateIgnored(a.currentFocus,!0)&&(a.currentFocus=null,a.constraints=null,a.destroyIcons());a.destroyFocusHighlight()}));Graph.touchStyle&&this.initTouch();var I=this.updateMouseEvent;this.updateMouseEvent=function(a){a=I.apply(this,arguments);null!=a.state&&this.isCellLocked(a.getCell())&&(a.state=null);return a}}this.currentTranslate=new mxPoint(0,0)};
+Graph.touchStyle=mxClient.IS_TOUCH||mxClient.IS_FF&&mxClient.IS_WIN||0<navigator.maxTouchPoints||0<navigator.msMaxTouchPoints||null==window.urlParams||"1"==urlParams.touch;Graph.fileSupport=null!=window.File&&null!=window.FileReader&&null!=window.FileList&&(null==window.urlParams||"0"!=urlParams.filesupport);Graph.lineJumpsEnabled=!0;Graph.defaultJumpSize=6;
+Graph.createSvgImage=function(a,b,e,c,l){e=unescape(encodeURIComponent('<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="'+a+'px" height="'+b+'px" '+(null!=c&&null!=l?'viewBox="0 0 '+c+" "+l+'" ':"")+'version="1.1">'+e+"</svg>"));return new mxImage("data:image/svg+xml;base64,"+(window.btoa?btoa(e):Base64.encode(e,!0)),a,b)};
+Graph.zapGremlins=function(a){for(var b=[],e=0;e<a.length;e++){var c=a.charCodeAt(e);(32<=c||9==c||10==c||13==c)&&65535!=c&&65534!=c&&b.push(a.charAt(e))}return b.join("")};Graph.stringToBytes=function(a){for(var b=Array(a.length),e=0;e<a.length;e++)b[e]=a.charCodeAt(e);return b};Graph.bytesToString=function(a){for(var b=Array(a.length),e=0;e<a.length;e++)b[e]=String.fromCharCode(a[e]);return b.join("")};Graph.compressNode=function(a){return Graph.compress(Graph.zapGremlins(mxUtils.getXml(a)))};
+Graph.compress=function(a,b){if(null==a||0==a.length||"undefined"===typeof pako)return a;var e=b?pako.deflate(encodeURIComponent(a),{to:"string"}):pako.deflateRaw(encodeURIComponent(a),{to:"string"});return window.btoa?btoa(e):Base64.encode(e,!0)};Graph.decompress=function(a,b){if(null==a||0==a.length||"undefined"===typeof pako)return a;var e=window.atob?atob(a):Base64.decode(a,!0),e=b?pako.inflate(e,{to:"string"}):pako.inflateRaw(e,{to:"string"});return Graph.zapGremlins(decodeURIComponent(e))};
 mxUtils.extend(Graph,mxGraph);Graph.prototype.minFitScale=null;Graph.prototype.maxFitScale=null;Graph.prototype.linkPolicy="frame"==urlParams.target?"blank":urlParams.target||"auto";Graph.prototype.linkTarget="frame"==urlParams.target?"_self":"_blank";Graph.prototype.linkRelation="nofollow noopener noreferrer";Graph.prototype.defaultScrollbars=!mxClient.IS_IOS;Graph.prototype.defaultPageVisible=!0;Graph.prototype.lightbox=!1;Graph.prototype.defaultPageBackgroundColor="#ffffff";
 Graph.prototype.defaultPageBorderColor="#ffffff";Graph.prototype.scrollTileSize=new mxRectangle(0,0,400,400);Graph.prototype.transparentBackground=!0;Graph.prototype.selectParentAfterDelete=!1;Graph.prototype.defaultEdgeLength=80;Graph.prototype.edgeMode=!1;Graph.prototype.connectionArrowsEnabled=!0;Graph.prototype.placeholderPattern=RegExp("%(date{.*}|[^%^{^}]+)%","g");Graph.prototype.absoluteUrlPattern=/^(?:[a-z]+:)?\/\//i;Graph.prototype.defaultThemeName="default";
 Graph.prototype.defaultThemes={};Graph.prototype.baseUrl=null!=urlParams.base?decodeURIComponent(urlParams.base):(window!=window.top?document.referrer:document.location.toString()).split("#")[0];Graph.prototype.editAfterInsert=!1;Graph.prototype.builtInProperties=["label","tooltip","placeholders","placeholder"];Graph.prototype.standalone=!1;
-Graph.prototype.init=function(a){mxGraph.prototype.init.apply(this,arguments);this.cellRenderer.initializeLabel=function(a,f){mxCellRenderer.prototype.initializeLabel.apply(this,arguments);var b=a.view.graph.tolerance,l=!0,m=null,q=mxUtils.bind(this,function(a){l=!0;m=new mxPoint(mxEvent.getClientX(a),mxEvent.getClientY(a))}),u=mxUtils.bind(this,function(a){l=l&&null!=m&&Math.abs(m.x-mxEvent.getClientX(a))<b&&Math.abs(m.y-mxEvent.getClientY(a))<b}),z=mxUtils.bind(this,function(b){if(l)for(var c=mxEvent.getSource(b);null!=
-c&&c!=f.node;){if("a"==c.nodeName.toLowerCase()){a.view.graph.labelLinkClicked(a,c,b);break}c=c.parentNode}});mxEvent.addGestureListeners(f.node,q,u,z);mxEvent.addListener(f.node,"click",function(a){mxEvent.consume(a)})};this.initLayoutManager()};
-(function(){Graph.prototype.useCssTransforms=!1;Graph.prototype.currentScale=1;Graph.prototype.currentTranslate=new mxPoint(0,0);Graph.prototype.isFastZoomEnabled=function(){return"nocss"!=urlParams.zoom&&!mxClient.NO_FO&&!mxClient.IS_EDGE&&!this.useCssTransforms&&this.isCssTransformsSupported()};Graph.prototype.isCssTransformsSupported=function(){return this.dialect==mxConstants.DIALECT_SVG&&!mxClient.NO_FO&&(!this.lightbox||!mxClient.IS_SF)};Graph.prototype.getCellAt=function(a,b,f,q,u,z){this.useCssTransforms&&
-(a=a/this.currentScale-this.currentTranslate.x,b=b/this.currentScale-this.currentTranslate.y);return this.getScaledCellAt.apply(this,arguments)};Graph.prototype.getScaledCellAt=function(a,b,f,q,u,z){q=null!=q?q:!0;u=null!=u?u:!0;null==f&&(f=this.getCurrentRoot(),null==f&&(f=this.getModel().getRoot()));if(null!=f)for(var d=this.model.getChildCount(f)-1;0<=d;d--){var c=this.model.getChildAt(f,d),e=this.getScaledCellAt(a,b,c,q,u,z);if(null!=e)return e;if(this.isCellVisible(c)&&(u&&this.model.isEdge(c)||
-q&&this.model.isVertex(c))&&(e=this.view.getState(c),null!=e&&(null==z||!z(e,a,b))&&this.intersects(e,a,b)))return c}return null};mxCellHighlight.prototype.getStrokeWidth=function(a){a=this.strokeWidth;this.graph.useCssTransforms&&(a/=this.graph.currentScale);return a};mxGraphView.prototype.getGraphBounds=function(){var a=this.graphBounds;if(this.graph.useCssTransforms)var b=this.graph.currentTranslate,f=this.graph.currentScale,a=new mxRectangle((a.x+b.x)*f,(a.y+b.y)*f,a.width*f,a.height*f);return a};
+Graph.prototype.init=function(a){mxGraph.prototype.init.apply(this,arguments);this.cellRenderer.initializeLabel=function(a,e){mxCellRenderer.prototype.initializeLabel.apply(this,arguments);var b=a.view.graph.tolerance,l=!0,m=null,q=mxUtils.bind(this,function(a){l=!0;m=new mxPoint(mxEvent.getClientX(a),mxEvent.getClientY(a))}),u=mxUtils.bind(this,function(a){l=l&&null!=m&&Math.abs(m.x-mxEvent.getClientX(a))<b&&Math.abs(m.y-mxEvent.getClientY(a))<b}),z=mxUtils.bind(this,function(b){if(l)for(var d=mxEvent.getSource(b);null!=
+d&&d!=e.node;){if("a"==d.nodeName.toLowerCase()){a.view.graph.labelLinkClicked(a,d,b);break}d=d.parentNode}});mxEvent.addGestureListeners(e.node,q,u,z);mxEvent.addListener(e.node,"click",function(a){mxEvent.consume(a)})};this.initLayoutManager()};
+(function(){Graph.prototype.useCssTransforms=!1;Graph.prototype.currentScale=1;Graph.prototype.currentTranslate=new mxPoint(0,0);Graph.prototype.isFastZoomEnabled=function(){return"nocss"!=urlParams.zoom&&!mxClient.NO_FO&&!mxClient.IS_EDGE&&!this.useCssTransforms&&this.isCssTransformsSupported()};Graph.prototype.isCssTransformsSupported=function(){return this.dialect==mxConstants.DIALECT_SVG&&!mxClient.NO_FO&&(!this.lightbox||!mxClient.IS_SF)};Graph.prototype.getCellAt=function(a,b,e,q,u,z){this.useCssTransforms&&
+(a=a/this.currentScale-this.currentTranslate.x,b=b/this.currentScale-this.currentTranslate.y);return this.getScaledCellAt.apply(this,arguments)};Graph.prototype.getScaledCellAt=function(a,b,e,q,u,z){q=null!=q?q:!0;u=null!=u?u:!0;null==e&&(e=this.getCurrentRoot(),null==e&&(e=this.getModel().getRoot()));if(null!=e)for(var c=this.model.getChildCount(e)-1;0<=c;c--){var d=this.model.getChildAt(e,c),f=this.getScaledCellAt(a,b,d,q,u,z);if(null!=f)return f;if(this.isCellVisible(d)&&(u&&this.model.isEdge(d)||
+q&&this.model.isVertex(d))&&(f=this.view.getState(d),null!=f&&(null==z||!z(f,a,b))&&this.intersects(f,a,b)))return d}return null};mxCellHighlight.prototype.getStrokeWidth=function(a){a=this.strokeWidth;this.graph.useCssTransforms&&(a/=this.graph.currentScale);return a};mxGraphView.prototype.getGraphBounds=function(){var a=this.graphBounds;if(this.graph.useCssTransforms)var b=this.graph.currentTranslate,e=this.graph.currentScale,a=new mxRectangle((a.x+b.x)*e,(a.y+b.y)*e,a.width*e,a.height*e);return a};
 mxGraphView.prototype.viewStateChanged=function(){this.graph.useCssTransforms?this.validate():this.revalidate();this.graph.sizeDidChange()};var a=mxGraphView.prototype.validate;mxGraphView.prototype.validate=function(b){this.graph.useCssTransforms&&(this.graph.currentScale=this.scale,this.graph.currentTranslate.x=this.translate.x,this.graph.currentTranslate.y=this.translate.y,this.scale=1,this.translate.x=0,this.translate.y=0);a.apply(this,arguments);this.graph.useCssTransforms&&(this.graph.updateCssTransform(),
-this.scale=this.graph.currentScale,this.translate.x=this.graph.currentTranslate.x,this.translate.y=this.graph.currentTranslate.y)};Graph.prototype.updateCssTransform=function(){var a=this.view.getDrawPane();if(null!=a)if(a=a.parentNode,this.useCssTransforms){var b=a.getAttribute("transform");a.setAttribute("transformOrigin","0 0");var f=Math.round(100*this.currentScale)/100;a.setAttribute("transform","scale("+f+","+f+")translate("+Math.round(100*this.currentTranslate.x)/100+","+Math.round(100*this.currentTranslate.y)/
-100+")");if(b!=a.getAttribute("transform"))try{if(mxClient.IS_EDGE){var q=a.style.display;a.style.display="none";a.getBBox();a.style.display=q}}catch(u){}}else a.removeAttribute("transformOrigin"),a.removeAttribute("transform")};var b=mxGraphView.prototype.validateBackgroundPage;mxGraphView.prototype.validateBackgroundPage=function(){var a=this.graph.useCssTransforms,f=this.scale,m=this.translate;a&&(this.scale=this.graph.currentScale,this.translate=this.graph.currentTranslate);b.apply(this,arguments);
-a&&(this.scale=f,this.translate=m)};var f=mxGraph.prototype.updatePageBreaks;mxGraph.prototype.updatePageBreaks=function(a,b,m){var d=this.useCssTransforms,l=this.view.scale,z=this.view.translate;d&&(this.view.scale=1,this.view.translate=new mxPoint(0,0),this.useCssTransforms=!1);f.apply(this,arguments);d&&(this.view.scale=l,this.view.translate=z,this.useCssTransforms=!0)}})();Graph.prototype.isLightboxView=function(){return this.lightbox};Graph.prototype.isViewer=function(){return!1};
-Graph.prototype.labelLinkClicked=function(a,b,f){b=b.getAttribute("href");if(null!=b&&!this.isCustomLink(b)&&mxEvent.isLeftMouseButton(f)&&!mxEvent.isPopupTrigger(f)||mxEvent.isTouchEvent(f)){if(!this.isEnabled()||this.isCellLocked(a.cell))a=this.isBlankLink(b)?this.linkTarget:"_top",this.openLink(this.getAbsoluteUrl(b),a);mxEvent.consume(f)}};
-Graph.prototype.openLink=function(a,b,f){var d=window;try{if("_self"==b&&window!=window.top)window.location.href=a;else if(a.substring(0,this.baseUrl.length)==this.baseUrl&&"#"==a.charAt(this.baseUrl.length)&&"_top"==b&&window==window.top){var l=a.split("#")[1];window.location.hash=="#"+l&&(window.location.hash="");window.location.hash=l}else d=window.open(a,b),null==d||f||(d.opener=null)}catch(m){}return d};Graph.prototype.getLinkTitle=function(a){return a.substring(a.lastIndexOf("/")+1)};
+this.scale=this.graph.currentScale,this.translate.x=this.graph.currentTranslate.x,this.translate.y=this.graph.currentTranslate.y)};Graph.prototype.updateCssTransform=function(){var a=this.view.getDrawPane();if(null!=a)if(a=a.parentNode,this.useCssTransforms){var b=a.getAttribute("transform");a.setAttribute("transformOrigin","0 0");var e=Math.round(100*this.currentScale)/100;a.setAttribute("transform","scale("+e+","+e+")translate("+Math.round(100*this.currentTranslate.x)/100+","+Math.round(100*this.currentTranslate.y)/
+100+")");if(b!=a.getAttribute("transform"))try{if(mxClient.IS_EDGE){var q=a.style.display;a.style.display="none";a.getBBox();a.style.display=q}}catch(u){}}else a.removeAttribute("transformOrigin"),a.removeAttribute("transform")};var b=mxGraphView.prototype.validateBackgroundPage;mxGraphView.prototype.validateBackgroundPage=function(){var a=this.graph.useCssTransforms,e=this.scale,m=this.translate;a&&(this.scale=this.graph.currentScale,this.translate=this.graph.currentTranslate);b.apply(this,arguments);
+a&&(this.scale=e,this.translate=m)};var e=mxGraph.prototype.updatePageBreaks;mxGraph.prototype.updatePageBreaks=function(a,b,m){var c=this.useCssTransforms,l=this.view.scale,z=this.view.translate;c&&(this.view.scale=1,this.view.translate=new mxPoint(0,0),this.useCssTransforms=!1);e.apply(this,arguments);c&&(this.view.scale=l,this.view.translate=z,this.useCssTransforms=!0)}})();Graph.prototype.isLightboxView=function(){return this.lightbox};Graph.prototype.isViewer=function(){return!1};
+Graph.prototype.labelLinkClicked=function(a,b,e){b=b.getAttribute("href");if(null!=b&&!this.isCustomLink(b)&&mxEvent.isLeftMouseButton(e)&&!mxEvent.isPopupTrigger(e)||mxEvent.isTouchEvent(e)){if(!this.isEnabled()||this.isCellLocked(a.cell))a=this.isBlankLink(b)?this.linkTarget:"_top",this.openLink(this.getAbsoluteUrl(b),a);mxEvent.consume(e)}};
+Graph.prototype.openLink=function(a,b,e){var c=window;try{if("_self"==b&&window!=window.top)window.location.href=a;else if(a.substring(0,this.baseUrl.length)==this.baseUrl&&"#"==a.charAt(this.baseUrl.length)&&"_top"==b&&window==window.top){var l=a.split("#")[1];window.location.hash=="#"+l&&(window.location.hash="");window.location.hash=l}else c=window.open(a,b),null==c||e||(c.opener=null)}catch(m){}return c};Graph.prototype.getLinkTitle=function(a){return a.substring(a.lastIndexOf("/")+1)};
 Graph.prototype.isCustomLink=function(a){return"data:"==a.substring(0,5)};Graph.prototype.customLinkClicked=function(a){return!1};Graph.prototype.isExternalProtocol=function(a){return"mailto:"===a.substring(0,7)};Graph.prototype.isBlankLink=function(a){return!this.isExternalProtocol(a)&&("blank"===this.linkPolicy||"self"!==this.linkPolicy&&!this.isRelativeUrl(a)&&a.substring(0,this.domainUrl.length)!==this.domainUrl)};
 Graph.prototype.isRelativeUrl=function(a){return null!=a&&!this.absoluteUrlPattern.test(a)&&"data:"!==a.substring(0,5)&&!this.isExternalProtocol(a)};Graph.prototype.getAbsoluteUrl=function(a){null!=a&&this.isRelativeUrl(a)&&(a="#"==a.charAt(0)?this.baseUrl+a:"/"==a.charAt(0)?this.domainUrl+a:this.domainPathUrl+a);return a};
 Graph.prototype.initLayoutManager=function(){this.layoutManager=new mxLayoutManager(this);this.layoutManager.getLayout=function(a){a=this.graph.getCellStyle(a);if(null!=a){if("stackLayout"==a.childLayout){var b=new mxStackLayout(this.graph,!0);b.resizeParentMax="1"==mxUtils.getValue(a,"resizeParentMax","1");b.horizontal="1"==mxUtils.getValue(a,"horizontalStack","1");b.resizeParent="1"==mxUtils.getValue(a,"resizeParent","1");b.resizeLast="1"==mxUtils.getValue(a,"resizeLast","0");b.spacing=a.stackSpacing||
@@ -2290,44 +2293,44 @@ b.spacing;b.border=a.stackBorder||b.border;b.marginLeft=a.marginLeft||0;b.margin
 !0,b.edgeRouting=!1,b.resetEdges=!1,b;if("flowLayout"==a.childLayout)return b=new mxHierarchicalLayout(this.graph,mxUtils.getValue(a,"flowOrientation",mxConstants.DIRECTION_EAST)),b.resizeParent="1"==mxUtils.getValue(a,"resizeParent","1"),b.parentBorder=mxUtils.getValue(a,"parentPadding",20),b.maintainParentLocation=!0,b.intraCellSpacing=mxUtils.getValue(a,"intraCellSpacing",mxHierarchicalLayout.prototype.intraCellSpacing),b.interRankCellSpacing=mxUtils.getValue(a,"interRankCellSpacing",mxHierarchicalLayout.prototype.interRankCellSpacing),
 b.interHierarchySpacing=mxUtils.getValue(a,"interHierarchySpacing",mxHierarchicalLayout.prototype.interHierarchySpacing),b.parallelEdgeSpacing=mxUtils.getValue(a,"parallelEdgeSpacing",mxHierarchicalLayout.prototype.parallelEdgeSpacing),b;if("circleLayout"==a.childLayout)return new mxCircleLayout(this.graph);if("organicLayout"==a.childLayout)return new mxFastOrganicLayout(this.graph)}return null}};
 Graph.prototype.getPageSize=function(){return this.pageVisible?new mxRectangle(0,0,this.pageFormat.width*this.pageScale,this.pageFormat.height*this.pageScale):this.scrollTileSize};
-Graph.prototype.getPageLayout=function(){var a=this.getPageSize(),b=this.getGraphBounds();if(0==b.width||0==b.height)return new mxRectangle(0,0,1,1);var f=Math.ceil(b.x/this.view.scale-this.view.translate.x),d=Math.ceil(b.y/this.view.scale-this.view.translate.y),l=Math.floor(f/a.width),m=Math.floor(d/a.height);return new mxRectangle(l,m,Math.ceil((f+Math.floor(b.width/this.view.scale))/a.width)-l,Math.ceil((d+Math.floor(b.height/this.view.scale))/a.height)-m)};
-Graph.prototype.sanitizeHtml=function(a,b){return html_sanitize(a,function(a){return null!=a&&"javascript:"!==a.toString().toLowerCase().substring(0,11)?a:null},function(a){return a})};Graph.prototype.updatePlaceholders=function(){var a=!1,b;for(b in this.model.cells){var f=this.model.cells[b];this.isReplacePlaceholders(f)&&(this.view.invalidate(f,!1,!1),a=!0)}a&&this.view.validate()};Graph.prototype.isReplacePlaceholders=function(a){return null!=a.value&&"object"==typeof a.value&&"1"==a.value.getAttribute("placeholders")};
+Graph.prototype.getPageLayout=function(){var a=this.getPageSize(),b=this.getGraphBounds();if(0==b.width||0==b.height)return new mxRectangle(0,0,1,1);var e=Math.ceil(b.x/this.view.scale-this.view.translate.x),c=Math.ceil(b.y/this.view.scale-this.view.translate.y),l=Math.floor(e/a.width),m=Math.floor(c/a.height);return new mxRectangle(l,m,Math.ceil((e+Math.floor(b.width/this.view.scale))/a.width)-l,Math.ceil((c+Math.floor(b.height/this.view.scale))/a.height)-m)};
+Graph.prototype.sanitizeHtml=function(a,b){return html_sanitize(a,function(a){return null!=a&&"javascript:"!==a.toString().toLowerCase().substring(0,11)?a:null},function(a){return a})};Graph.prototype.updatePlaceholders=function(){var a=!1,b;for(b in this.model.cells){var e=this.model.cells[b];this.isReplacePlaceholders(e)&&(this.view.invalidate(e,!1,!1),a=!0)}a&&this.view.validate()};Graph.prototype.isReplacePlaceholders=function(a){return null!=a.value&&"object"==typeof a.value&&"1"==a.value.getAttribute("placeholders")};
 Graph.prototype.isZoomWheelEvent=function(a){return mxEvent.isAltDown(a)||mxEvent.isMetaDown(a)&&mxClient.IS_MAC||mxEvent.isControlDown(a)};Graph.prototype.isTransparentClickEvent=function(a){return mxEvent.isAltDown(a)||mxClient.IS_CHROMEOS&&mxEvent.isShiftDown(a)};Graph.prototype.isIgnoreTerminalEvent=function(a){return mxEvent.isShiftDown(a)&&mxEvent.isControlDown(a)};
-Graph.prototype.isSplitTarget=function(a,b,f){return!this.model.isEdge(b[0])&&!mxEvent.isAltDown(f)&&!mxEvent.isShiftDown(f)&&mxGraph.prototype.isSplitTarget.apply(this,arguments)};Graph.prototype.getLabel=function(a){var b=mxGraph.prototype.getLabel.apply(this,arguments);null!=b&&this.isReplacePlaceholders(a)&&null==a.getAttribute("placeholder")&&(b=this.replacePlaceholders(a,b));return b};
+Graph.prototype.isSplitTarget=function(a,b,e){return!this.model.isEdge(b[0])&&!mxEvent.isAltDown(e)&&!mxEvent.isShiftDown(e)&&mxGraph.prototype.isSplitTarget.apply(this,arguments)};Graph.prototype.getLabel=function(a){var b=mxGraph.prototype.getLabel.apply(this,arguments);null!=b&&this.isReplacePlaceholders(a)&&null==a.getAttribute("placeholder")&&(b=this.replacePlaceholders(a,b));return b};
 Graph.prototype.isLabelMovable=function(a){var b=this.view.getState(a),b=null!=b?b.style:this.getCellStyle(a);return!this.isCellLocked(a)&&(this.model.isEdge(a)&&this.edgeLabelsMovable||this.model.isVertex(a)&&(this.vertexLabelsMovable||"1"==mxUtils.getValue(b,"labelMovable","0")))};Graph.prototype.setGridSize=function(a){this.gridSize=a;this.fireEvent(new mxEventObject("gridSizeChanged"))};
 Graph.prototype.getGlobalVariable=function(a){var b=null;"date"==a?b=(new Date).toLocaleDateString():"time"==a?b=(new Date).toLocaleTimeString():"timestamp"==a?b=(new Date).toLocaleString():"date{"==a.substring(0,5)&&(a=a.substring(5,a.length-1),b=this.formatDate(new Date,a));return b};
-Graph.prototype.formatDate=function(a,b,f){null==this.dateFormatCache&&(this.dateFormatCache={i18n:{dayNames:"Sun Mon Tue Wed Thu Fri Sat Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),monthNames:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec January February March April May June July August September October November December".split(" ")},masks:{"default":"ddd mmm dd yyyy HH:MM:ss",shortDate:"m/d/yy",mediumDate:"mmm d, yyyy",longDate:"mmmm d, yyyy",fullDate:"dddd, mmmm d, yyyy",
-shortTime:"h:MM TT",mediumTime:"h:MM:ss TT",longTime:"h:MM:ss TT Z",isoDate:"yyyy-mm-dd",isoTime:"HH:MM:ss",isoDateTime:"yyyy-mm-dd'T'HH:MM:ss",isoUtcDateTime:"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"}});var d=this.dateFormatCache,l=/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,m=/[^-+\dA-Z]/g,q=function(a,c){a=String(a);for(c=c||2;a.length<c;)a="0"+a;return a};1!=arguments.length||"[object String]"!=Object.prototype.toString.call(a)||
-/\d/.test(a)||(b=a,a=void 0);a=a?new Date(a):new Date;if(isNaN(a))throw SyntaxError("invalid date");b=String(d.masks[b]||b||d.masks["default"]);"UTC:"==b.slice(0,4)&&(b=b.slice(4),f=!0);var u=f?"getUTC":"get",z=a[u+"Date"](),C=a[u+"Day"](),c=a[u+"Month"](),e=a[u+"FullYear"](),k=a[u+"Hours"](),x=a[u+"Minutes"](),n=a[u+"Seconds"](),u=a[u+"Milliseconds"](),g=f?0:a.getTimezoneOffset(),A={d:z,dd:q(z),ddd:d.i18n.dayNames[C],dddd:d.i18n.dayNames[C+7],m:c+1,mm:q(c+1),mmm:d.i18n.monthNames[c],mmmm:d.i18n.monthNames[c+
-12],yy:String(e).slice(2),yyyy:e,h:k%12||12,hh:q(k%12||12),H:k,HH:q(k),M:x,MM:q(x),s:n,ss:q(n),l:q(u,3),L:q(99<u?Math.round(u/10):u),t:12>k?"a":"p",tt:12>k?"am":"pm",T:12>k?"A":"P",TT:12>k?"AM":"PM",Z:f?"UTC":(String(a).match(l)||[""]).pop().replace(m,""),o:(0<g?"-":"+")+q(100*Math.floor(Math.abs(g)/60)+Math.abs(g)%60,4),S:["th","st","nd","rd"][3<z%10?0:(10!=z%100-z%10)*z%10]};return b.replace(/d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,function(a){return a in A?A[a]:a.slice(1,
+Graph.prototype.formatDate=function(a,b,e){null==this.dateFormatCache&&(this.dateFormatCache={i18n:{dayNames:"Sun Mon Tue Wed Thu Fri Sat Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),monthNames:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec January February March April May June July August September October November December".split(" ")},masks:{"default":"ddd mmm dd yyyy HH:MM:ss",shortDate:"m/d/yy",mediumDate:"mmm d, yyyy",longDate:"mmmm d, yyyy",fullDate:"dddd, mmmm d, yyyy",
+shortTime:"h:MM TT",mediumTime:"h:MM:ss TT",longTime:"h:MM:ss TT Z",isoDate:"yyyy-mm-dd",isoTime:"HH:MM:ss",isoDateTime:"yyyy-mm-dd'T'HH:MM:ss",isoUtcDateTime:"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"}});var c=this.dateFormatCache,l=/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,m=/[^-+\dA-Z]/g,q=function(a,d){a=String(a);for(d=d||2;a.length<d;)a="0"+a;return a};1!=arguments.length||"[object String]"!=Object.prototype.toString.call(a)||
+/\d/.test(a)||(b=a,a=void 0);a=a?new Date(a):new Date;if(isNaN(a))throw SyntaxError("invalid date");b=String(c.masks[b]||b||c.masks["default"]);"UTC:"==b.slice(0,4)&&(b=b.slice(4),e=!0);var u=e?"getUTC":"get",z=a[u+"Date"](),C=a[u+"Day"](),d=a[u+"Month"](),f=a[u+"FullYear"](),k=a[u+"Hours"](),x=a[u+"Minutes"](),n=a[u+"Seconds"](),u=a[u+"Milliseconds"](),g=e?0:a.getTimezoneOffset(),A={d:z,dd:q(z),ddd:c.i18n.dayNames[C],dddd:c.i18n.dayNames[C+7],m:d+1,mm:q(d+1),mmm:c.i18n.monthNames[d],mmmm:c.i18n.monthNames[d+
+12],yy:String(f).slice(2),yyyy:f,h:k%12||12,hh:q(k%12||12),H:k,HH:q(k),M:x,MM:q(x),s:n,ss:q(n),l:q(u,3),L:q(99<u?Math.round(u/10):u),t:12>k?"a":"p",tt:12>k?"am":"pm",T:12>k?"A":"P",TT:12>k?"AM":"PM",Z:e?"UTC":(String(a).match(l)||[""]).pop().replace(m,""),o:(0<g?"-":"+")+q(100*Math.floor(Math.abs(g)/60)+Math.abs(g)%60,4),S:["th","st","nd","rd"][3<z%10?0:(10!=z%100-z%10)*z%10]};return b.replace(/d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,function(a){return a in A?A[a]:a.slice(1,
 a.length-1)})};
-Graph.prototype.createLayersDialog=function(){var a=document.createElement("div");a.style.position="absolute";for(var b=this.getModel(),f=b.getChildCount(b.root),d=0;d<f;d++)mxUtils.bind(this,function(d){var f=document.createElement("div");f.style.overflow="hidden";f.style.textOverflow="ellipsis";f.style.padding="2px";f.style.whiteSpace="nowrap";var l=document.createElement("input");l.style.display="inline-block";l.setAttribute("type","checkbox");b.isVisible(d)&&(l.setAttribute("checked","checked"),
-l.defaultChecked=!0);f.appendChild(l);var u=this.convertValueToString(d)||mxResources.get("background")||"Background";f.setAttribute("title",u);mxUtils.write(f,u);a.appendChild(f);mxEvent.addListener(l,"click",function(){null!=l.getAttribute("checked")?l.removeAttribute("checked"):l.setAttribute("checked","checked");b.setVisible(d,l.checked)})})(b.getChildAt(b.root,d));return a};
-Graph.prototype.replacePlaceholders=function(a,b){var f=[];if(null!=b){for(var d=0;match=this.placeholderPattern.exec(b);){var l=match[0];if(2<l.length&&"%label%"!=l&&"%tooltip%"!=l){var m=null;if(match.index>d&&"%"==b.charAt(match.index-1))m=l.substring(1);else{var q=l.substring(1,l.length-1);if(0>q.indexOf("{"))for(var u=a;null==m&&null!=u;)null!=u.value&&"object"==typeof u.value&&(m=u.hasAttribute(q)?null!=u.getAttribute(q)?u.getAttribute(q):"":null),u=this.model.getParent(u);null==m&&(m=this.getGlobalVariable(q))}f.push(b.substring(d,
-match.index)+(null!=m?m:l));d=match.index+l.length}}f.push(b.substring(d))}return f.join("")};Graph.prototype.restoreSelection=function(a){if(null!=a&&0<a.length){for(var b=[],f=0;f<a.length;f++){var d=this.model.getCell(a[f].id);null!=d&&b.push(d)}this.setSelectionCells(b)}else this.clearSelection()};
-Graph.prototype.selectCellsForConnectVertex=function(a,b,f){2==a.length&&this.model.isVertex(a[1])?(this.setSelectionCell(a[1]),this.scrollCellToVisible(a[1]),null!=f&&(mxEvent.isTouchEvent(b)?f.update(f.getState(this.view.getState(a[1]))):f.reset())):this.setSelectionCells(a)};
-Graph.prototype.connectVertex=function(a,b,f,d,l,m){if(a.geometry.relative&&this.model.isEdge(a.parent))return[];m=m?m:!1;var q=a.geometry.relative&&null!=a.parent.geometry?new mxPoint(a.parent.geometry.width*a.geometry.x,a.parent.geometry.height*a.geometry.y):new mxPoint(a.geometry.x,a.geometry.y);b==mxConstants.DIRECTION_NORTH?(q.x+=a.geometry.width/2,q.y-=f):b==mxConstants.DIRECTION_SOUTH?(q.x+=a.geometry.width/2,q.y+=a.geometry.height+f):(q.x=b==mxConstants.DIRECTION_WEST?q.x-f:q.x+(a.geometry.width+
-f),q.y+=a.geometry.height/2);f=this.view.getState(this.model.getParent(a));var u=this.view.scale,z=this.view.translate,C=z.x*u,z=z.y*u;null!=f&&this.model.isVertex(f.cell)&&(C=f.x,z=f.y);this.model.isVertex(a.parent)&&a.geometry.relative&&(q.x+=a.parent.geometry.x,q.y+=a.parent.geometry.y);m=m||mxEvent.isControlDown(d)&&!l?null:this.getCellAt(C+q.x*u,z+q.y*u);this.model.isAncestor(m,a)&&(m=null);for(f=m;null!=f;){if(this.isCellLocked(f)){m=null;break}f=this.model.getParent(f)}null!=m&&(f=this.view.getState(a),
-u=this.view.getState(m),null!=f&&null!=u&&mxUtils.intersects(f,u)&&(m=null));if(l=!mxEvent.isShiftDown(d)||l)b==mxConstants.DIRECTION_NORTH?q.y-=a.geometry.height/2:b==mxConstants.DIRECTION_SOUTH?q.y+=a.geometry.height/2:q.x=b==mxConstants.DIRECTION_WEST?q.x-a.geometry.width/2:q.x+a.geometry.width/2;null==m||this.isCellConnectable(m)||(f=this.getModel().getParent(m),this.getModel().isVertex(f)&&this.isCellConnectable(f)&&(m=f));if(m==a||this.model.isEdge(m)||!this.isCellConnectable(m))m=null;f=[];
-this.model.beginUpdate();try{var c=null!=m&&this.isSwimlane(m),u=c?null:m;if(null==u&&l){for(var C=a,e=this.getCellGeometry(a);null!=e&&e.relative;)C=this.getModel().getParent(C),e=this.getCellGeometry(C);var k=this.view.getState(C),x=null!=k?k.style:this.getCellStyle(C);if(mxUtils.getValue(x,"part",!1)){var n=this.model.getParent(C);this.model.isVertex(n)&&(C=n)}u=this.duplicateCells([C],!1)[0];e=this.getCellGeometry(u);null!=e&&(e.x=q.x-e.width/2,e.y=q.y-e.height/2);c&&(this.addCells([u],m,null,
-null,null,!0),m=null)}c=null;null!=this.layoutManager&&(c=this.layoutManager.getLayout(this.model.getParent(a)));var g=mxEvent.isControlDown(d)&&l||null==m&&null!=c&&c.constructor==mxStackLayout?null:this.insertEdge(this.model.getParent(a),null,"",a,u,this.createCurrentEdgeStyle());if(null!=g&&this.connectionHandler.insertBeforeSource){var A=null;for(d=a;null!=d.parent&&null!=d.geometry&&d.geometry.relative&&d.parent!=g.parent;)d=this.model.getParent(d);null!=d&&null!=d.parent&&d.parent==g.parent&&
-(A=d.parent.getIndex(d),this.model.add(d.parent,g,A))}null==m&&null!=u&&null!=c&&null!=a.parent&&c.constructor==mxStackLayout&&b==mxConstants.DIRECTION_WEST&&(A=a.parent.getIndex(a),this.model.add(a.parent,u,A));null!=g&&f.push(g);null==m&&null!=u&&f.push(u);null==u&&null!=g&&g.geometry.setTerminalPoint(q,!1);null!=g&&this.fireEvent(new mxEventObject("cellsInserted","cells",[g]))}finally{this.model.endUpdate()}return f};
-Graph.prototype.getIndexableText=function(){var a=document.createElement("div"),b=[],f,d;for(d in this.model.cells)if(f=this.model.cells[d],this.model.isVertex(f)||this.model.isEdge(f))this.isHtmlLabel(f)?(a.innerHTML=this.getLabel(f),f=mxUtils.extractTextWithWhitespace([a])):f=this.getLabel(f),f=mxUtils.trim(f.replace(/[\x00-\x1F\x7F-\x9F]|\s+/g," ")),0<f.length&&b.push(f);return b.join(" ")};
-Graph.prototype.convertValueToString=function(a){if(null!=a.value&&"object"==typeof a.value){if(this.isReplacePlaceholders(a)&&null!=a.getAttribute("placeholder")){for(var b=a.getAttribute("placeholder"),f=a,d=null;null==d&&null!=f;)null!=f.value&&"object"==typeof f.value&&(d=f.hasAttribute(b)?null!=f.getAttribute(b)?f.getAttribute(b):"":null),f=this.model.getParent(f);return d||""}return a.value.getAttribute("label")||""}return mxGraph.prototype.convertValueToString.apply(this,arguments)};
+Graph.prototype.createLayersDialog=function(){var a=document.createElement("div");a.style.position="absolute";for(var b=this.getModel(),e=b.getChildCount(b.root),c=0;c<e;c++)mxUtils.bind(this,function(c){var e=document.createElement("div");e.style.overflow="hidden";e.style.textOverflow="ellipsis";e.style.padding="2px";e.style.whiteSpace="nowrap";var l=document.createElement("input");l.style.display="inline-block";l.setAttribute("type","checkbox");b.isVisible(c)&&(l.setAttribute("checked","checked"),
+l.defaultChecked=!0);e.appendChild(l);var u=this.convertValueToString(c)||mxResources.get("background")||"Background";e.setAttribute("title",u);mxUtils.write(e,u);a.appendChild(e);mxEvent.addListener(l,"click",function(){null!=l.getAttribute("checked")?l.removeAttribute("checked"):l.setAttribute("checked","checked");b.setVisible(c,l.checked)})})(b.getChildAt(b.root,c));return a};
+Graph.prototype.replacePlaceholders=function(a,b){var e=[];if(null!=b){for(var c=0;match=this.placeholderPattern.exec(b);){var l=match[0];if(2<l.length&&"%label%"!=l&&"%tooltip%"!=l){var m=null;if(match.index>c&&"%"==b.charAt(match.index-1))m=l.substring(1);else{var q=l.substring(1,l.length-1);if(0>q.indexOf("{"))for(var u=a;null==m&&null!=u;)null!=u.value&&"object"==typeof u.value&&(m=u.hasAttribute(q)?null!=u.getAttribute(q)?u.getAttribute(q):"":null),u=this.model.getParent(u);null==m&&(m=this.getGlobalVariable(q))}e.push(b.substring(c,
+match.index)+(null!=m?m:l));c=match.index+l.length}}e.push(b.substring(c))}return e.join("")};Graph.prototype.restoreSelection=function(a){if(null!=a&&0<a.length){for(var b=[],e=0;e<a.length;e++){var c=this.model.getCell(a[e].id);null!=c&&b.push(c)}this.setSelectionCells(b)}else this.clearSelection()};
+Graph.prototype.selectCellsForConnectVertex=function(a,b,e){2==a.length&&this.model.isVertex(a[1])?(this.setSelectionCell(a[1]),this.scrollCellToVisible(a[1]),null!=e&&(mxEvent.isTouchEvent(b)?e.update(e.getState(this.view.getState(a[1]))):e.reset())):this.setSelectionCells(a)};
+Graph.prototype.connectVertex=function(a,b,e,c,l,m){if(a.geometry.relative&&this.model.isEdge(a.parent))return[];m=m?m:!1;var q=a.geometry.relative&&null!=a.parent.geometry?new mxPoint(a.parent.geometry.width*a.geometry.x,a.parent.geometry.height*a.geometry.y):new mxPoint(a.geometry.x,a.geometry.y);b==mxConstants.DIRECTION_NORTH?(q.x+=a.geometry.width/2,q.y-=e):b==mxConstants.DIRECTION_SOUTH?(q.x+=a.geometry.width/2,q.y+=a.geometry.height+e):(q.x=b==mxConstants.DIRECTION_WEST?q.x-e:q.x+(a.geometry.width+
+e),q.y+=a.geometry.height/2);e=this.view.getState(this.model.getParent(a));var u=this.view.scale,z=this.view.translate,C=z.x*u,z=z.y*u;null!=e&&this.model.isVertex(e.cell)&&(C=e.x,z=e.y);this.model.isVertex(a.parent)&&a.geometry.relative&&(q.x+=a.parent.geometry.x,q.y+=a.parent.geometry.y);m=m||mxEvent.isControlDown(c)&&!l?null:this.getCellAt(C+q.x*u,z+q.y*u);this.model.isAncestor(m,a)&&(m=null);for(e=m;null!=e;){if(this.isCellLocked(e)){m=null;break}e=this.model.getParent(e)}null!=m&&(e=this.view.getState(a),
+u=this.view.getState(m),null!=e&&null!=u&&mxUtils.intersects(e,u)&&(m=null));if(l=!mxEvent.isShiftDown(c)||l)b==mxConstants.DIRECTION_NORTH?q.y-=a.geometry.height/2:b==mxConstants.DIRECTION_SOUTH?q.y+=a.geometry.height/2:q.x=b==mxConstants.DIRECTION_WEST?q.x-a.geometry.width/2:q.x+a.geometry.width/2;null==m||this.isCellConnectable(m)||(e=this.getModel().getParent(m),this.getModel().isVertex(e)&&this.isCellConnectable(e)&&(m=e));if(m==a||this.model.isEdge(m)||!this.isCellConnectable(m))m=null;e=[];
+this.model.beginUpdate();try{var d=null!=m&&this.isSwimlane(m),u=d?null:m;if(null==u&&l){for(var C=a,f=this.getCellGeometry(a);null!=f&&f.relative;)C=this.getModel().getParent(C),f=this.getCellGeometry(C);var k=this.view.getState(C),x=null!=k?k.style:this.getCellStyle(C);if(mxUtils.getValue(x,"part",!1)){var n=this.model.getParent(C);this.model.isVertex(n)&&(C=n)}u=this.duplicateCells([C],!1)[0];f=this.getCellGeometry(u);null!=f&&(f.x=q.x-f.width/2,f.y=q.y-f.height/2);d&&(this.addCells([u],m,null,
+null,null,!0),m=null)}d=null;null!=this.layoutManager&&(d=this.layoutManager.getLayout(this.model.getParent(a)));var g=mxEvent.isControlDown(c)&&l||null==m&&null!=d&&d.constructor==mxStackLayout?null:this.insertEdge(this.model.getParent(a),null,"",a,u,this.createCurrentEdgeStyle());if(null!=g&&this.connectionHandler.insertBeforeSource){var A=null;for(c=a;null!=c.parent&&null!=c.geometry&&c.geometry.relative&&c.parent!=g.parent;)c=this.model.getParent(c);null!=c&&null!=c.parent&&c.parent==g.parent&&
+(A=c.parent.getIndex(c),this.model.add(c.parent,g,A))}null==m&&null!=u&&null!=d&&null!=a.parent&&d.constructor==mxStackLayout&&b==mxConstants.DIRECTION_WEST&&(A=a.parent.getIndex(a),this.model.add(a.parent,u,A));null!=g&&e.push(g);null==m&&null!=u&&e.push(u);null==u&&null!=g&&g.geometry.setTerminalPoint(q,!1);null!=g&&this.fireEvent(new mxEventObject("cellsInserted","cells",[g]))}finally{this.model.endUpdate()}return e};
+Graph.prototype.getIndexableText=function(){var a=document.createElement("div"),b=[],e,c;for(c in this.model.cells)if(e=this.model.cells[c],this.model.isVertex(e)||this.model.isEdge(e))this.isHtmlLabel(e)?(a.innerHTML=this.getLabel(e),e=mxUtils.extractTextWithWhitespace([a])):e=this.getLabel(e),e=mxUtils.trim(e.replace(/[\x00-\x1F\x7F-\x9F]|\s+/g," ")),0<e.length&&b.push(e);return b.join(" ")};
+Graph.prototype.convertValueToString=function(a){if(null!=a.value&&"object"==typeof a.value){if(this.isReplacePlaceholders(a)&&null!=a.getAttribute("placeholder")){for(var b=a.getAttribute("placeholder"),e=a,c=null;null==c&&null!=e;)null!=e.value&&"object"==typeof e.value&&(c=e.hasAttribute(b)?null!=e.getAttribute(b)?e.getAttribute(b):"":null),e=this.model.getParent(e);return c||""}return a.value.getAttribute("label")||""}return mxGraph.prototype.convertValueToString.apply(this,arguments)};
 Graph.prototype.getLinksForState=function(a){return null!=a&&null!=a.text&&null!=a.text.node?a.text.node.getElementsByTagName("a"):null};Graph.prototype.getLinkForCell=function(a){return null!=a.value&&"object"==typeof a.value?(a=a.value.getAttribute("link"),null!=a&&"javascript:"===a.toLowerCase().substring(0,11)&&(a=a.substring(11)),a):null};
-Graph.prototype.getCellStyle=function(a){var b=mxGraph.prototype.getCellStyle.apply(this,arguments);if(null!=a&&null!=this.layoutManager){var f=this.model.getParent(a);this.model.isVertex(f)&&this.isCellCollapsed(a)&&(f=this.layoutManager.getLayout(f),null!=f&&f.constructor==mxStackLayout&&(b[mxConstants.STYLE_HORIZONTAL]=!f.horizontal))}return b};
-Graph.prototype.updateAlternateBounds=function(a,b,f){if(null!=a&&null!=b&&null!=this.layoutManager&&null!=b.alternateBounds){var d=this.layoutManager.getLayout(this.model.getParent(a));null!=d&&d.constructor==mxStackLayout&&(d.horizontal?b.alternateBounds.height=0:b.alternateBounds.width=0)}mxGraph.prototype.updateAlternateBounds.apply(this,arguments)};Graph.prototype.isMoveCellsEvent=function(a,b){return mxEvent.isShiftDown(a)||"1"==mxUtils.getValue(b.style,"moveCells","0")};
-Graph.prototype.foldCells=function(a,b,f,d,l){b=null!=b?b:!1;null==f&&(f=this.getFoldableCells(this.getSelectionCells(),a));if(null!=f){this.model.beginUpdate();try{if(mxGraph.prototype.foldCells.apply(this,arguments),null!=this.layoutManager)for(var m=0;m<f.length;m++){var q=this.view.getState(f[m]),u=this.getCellGeometry(f[m]);if(null!=q&&null!=u){var z=Math.round(u.width-q.width/this.view.scale),C=Math.round(u.height-q.height/this.view.scale);if(0!=C||0!=z){var c=this.model.getParent(f[m]),e=this.layoutManager.getLayout(c);
-null==e?null!=l&&this.isMoveCellsEvent(l,q)&&this.moveSiblings(q,c,z,C):null!=l&&mxEvent.isAltDown(l)||e.constructor!=mxStackLayout||e.resizeLast||this.resizeParentStacks(c,e,z,C)}}}}finally{this.model.endUpdate()}this.isEnabled()&&this.setSelectionCells(f)}};
-Graph.prototype.moveSiblings=function(a,b,f,d){this.model.beginUpdate();try{var l=this.getCellsBeyond(a.x,a.y,b,!0,!0);for(b=0;b<l.length;b++)if(l[b]!=a.cell){var m=this.view.getState(l[b]),q=this.getCellGeometry(l[b]);null!=m&&null!=q&&(q=q.clone(),q.translate(Math.round(f*Math.max(0,Math.min(1,(m.x-a.x)/a.width))),Math.round(d*Math.max(0,Math.min(1,(m.y-a.y)/a.height)))),this.model.setGeometry(l[b],q))}}finally{this.model.endUpdate()}};
-Graph.prototype.resizeParentStacks=function(a,b,f,d){if(null!=this.layoutManager&&null!=b&&b.constructor==mxStackLayout&&!b.resizeLast){this.model.beginUpdate();try{for(var l=b.horizontal;null!=a&&null!=b&&b.constructor==mxStackLayout&&b.horizontal==l&&!b.resizeLast;){var m=this.getCellGeometry(a),q=this.view.getState(a);null!=q&&null!=m&&(m=m.clone(),b.horizontal?m.width+=f+Math.min(0,q.width/this.view.scale-m.width):m.height+=d+Math.min(0,q.height/this.view.scale-m.height),this.model.setGeometry(a,
+Graph.prototype.getCellStyle=function(a){var b=mxGraph.prototype.getCellStyle.apply(this,arguments);if(null!=a&&null!=this.layoutManager){var e=this.model.getParent(a);this.model.isVertex(e)&&this.isCellCollapsed(a)&&(e=this.layoutManager.getLayout(e),null!=e&&e.constructor==mxStackLayout&&(b[mxConstants.STYLE_HORIZONTAL]=!e.horizontal))}return b};
+Graph.prototype.updateAlternateBounds=function(a,b,e){if(null!=a&&null!=b&&null!=this.layoutManager&&null!=b.alternateBounds){var c=this.layoutManager.getLayout(this.model.getParent(a));null!=c&&c.constructor==mxStackLayout&&(c.horizontal?b.alternateBounds.height=0:b.alternateBounds.width=0)}mxGraph.prototype.updateAlternateBounds.apply(this,arguments)};Graph.prototype.isMoveCellsEvent=function(a,b){return mxEvent.isShiftDown(a)||"1"==mxUtils.getValue(b.style,"moveCells","0")};
+Graph.prototype.foldCells=function(a,b,e,c,l){b=null!=b?b:!1;null==e&&(e=this.getFoldableCells(this.getSelectionCells(),a));if(null!=e){this.model.beginUpdate();try{if(mxGraph.prototype.foldCells.apply(this,arguments),null!=this.layoutManager)for(var m=0;m<e.length;m++){var q=this.view.getState(e[m]),u=this.getCellGeometry(e[m]);if(null!=q&&null!=u){var z=Math.round(u.width-q.width/this.view.scale),C=Math.round(u.height-q.height/this.view.scale);if(0!=C||0!=z){var d=this.model.getParent(e[m]),f=this.layoutManager.getLayout(d);
+null==f?null!=l&&this.isMoveCellsEvent(l,q)&&this.moveSiblings(q,d,z,C):null!=l&&mxEvent.isAltDown(l)||f.constructor!=mxStackLayout||f.resizeLast||this.resizeParentStacks(d,f,z,C)}}}}finally{this.model.endUpdate()}this.isEnabled()&&this.setSelectionCells(e)}};
+Graph.prototype.moveSiblings=function(a,b,e,c){this.model.beginUpdate();try{var l=this.getCellsBeyond(a.x,a.y,b,!0,!0);for(b=0;b<l.length;b++)if(l[b]!=a.cell){var m=this.view.getState(l[b]),q=this.getCellGeometry(l[b]);null!=m&&null!=q&&(q=q.clone(),q.translate(Math.round(e*Math.max(0,Math.min(1,(m.x-a.x)/a.width))),Math.round(c*Math.max(0,Math.min(1,(m.y-a.y)/a.height)))),this.model.setGeometry(l[b],q))}}finally{this.model.endUpdate()}};
+Graph.prototype.resizeParentStacks=function(a,b,e,c){if(null!=this.layoutManager&&null!=b&&b.constructor==mxStackLayout&&!b.resizeLast){this.model.beginUpdate();try{for(var l=b.horizontal;null!=a&&null!=b&&b.constructor==mxStackLayout&&b.horizontal==l&&!b.resizeLast;){var m=this.getCellGeometry(a),q=this.view.getState(a);null!=q&&null!=m&&(m=m.clone(),b.horizontal?m.width+=e+Math.min(0,q.width/this.view.scale-m.width):m.height+=c+Math.min(0,q.height/this.view.scale-m.height),this.model.setGeometry(a,
 m));a=this.model.getParent(a);b=this.layoutManager.getLayout(a)}}finally{this.model.endUpdate()}}};Graph.prototype.isContainer=function(a){var b=this.view.getState(a),b=null!=b?b.style:this.getCellStyle(a);return this.isSwimlane(a)?"0"!=b.container:"1"==b.container};Graph.prototype.isCellConnectable=function(a){var b=this.view.getState(a),b=null!=b?b.style:this.getCellStyle(a);return null!=b&&null!=b.connectable?"0"!=b.connectable:mxGraph.prototype.isCellConnectable.apply(this,arguments)};
-Graph.prototype.isLabelMovable=function(a){var b=this.view.getState(a),b=null!=b?b.style:this.getCellStyle(a);return null!=b&&null!=b.movableLabel?"0"!=b.movableLabel:mxGraph.prototype.isLabelMovable.apply(this,arguments)};Graph.prototype.selectAll=function(a){a=a||this.getDefaultParent();this.isCellLocked(a)||mxGraph.prototype.selectAll.apply(this,arguments)};Graph.prototype.selectCells=function(a,b,f){f=f||this.getDefaultParent();this.isCellLocked(f)||mxGraph.prototype.selectCells.apply(this,arguments)};
-Graph.prototype.getSwimlaneAt=function(a,b,f){f=f||this.getDefaultParent();return this.isCellLocked(f)?null:mxGraph.prototype.getSwimlaneAt.apply(this,arguments)};Graph.prototype.isCellFoldable=function(a){var b=this.view.getState(a),b=null!=b?b.style:this.getCellStyle(a);return this.foldingEnabled&&("1"==b.treeFolding||!this.isCellLocked(a)&&(this.isContainer(a)&&"0"!=b.collapsible||!this.isContainer(a)&&"1"==b.collapsible))};
+Graph.prototype.isLabelMovable=function(a){var b=this.view.getState(a),b=null!=b?b.style:this.getCellStyle(a);return null!=b&&null!=b.movableLabel?"0"!=b.movableLabel:mxGraph.prototype.isLabelMovable.apply(this,arguments)};Graph.prototype.selectAll=function(a){a=a||this.getDefaultParent();this.isCellLocked(a)||mxGraph.prototype.selectAll.apply(this,arguments)};Graph.prototype.selectCells=function(a,b,e){e=e||this.getDefaultParent();this.isCellLocked(e)||mxGraph.prototype.selectCells.apply(this,arguments)};
+Graph.prototype.getSwimlaneAt=function(a,b,e){e=e||this.getDefaultParent();return this.isCellLocked(e)?null:mxGraph.prototype.getSwimlaneAt.apply(this,arguments)};Graph.prototype.isCellFoldable=function(a){var b=this.view.getState(a),b=null!=b?b.style:this.getCellStyle(a);return this.foldingEnabled&&("1"==b.treeFolding||!this.isCellLocked(a)&&(this.isContainer(a)&&"0"!=b.collapsible||!this.isContainer(a)&&"1"==b.collapsible))};
 Graph.prototype.reset=function(){this.isEditing()&&this.stopEditing(!0);this.escape();this.isSelectionEmpty()||this.clearSelection()};Graph.prototype.zoom=function(a,b){a=Math.max(.01,Math.min(this.view.scale*a,160))/this.view.scale;mxGraph.prototype.zoom.apply(this,arguments)};Graph.prototype.zoomIn=function(){.15>this.view.scale?this.zoom((this.view.scale+.01)/this.view.scale):this.zoom(Math.round(this.view.scale*this.zoomFactor*20)/20/this.view.scale)};
 Graph.prototype.zoomOut=function(){.15>=this.view.scale?this.zoom((this.view.scale-.01)/this.view.scale):this.zoom(Math.round(1/this.zoomFactor*this.view.scale*20)/20/this.view.scale)};
-Graph.prototype.getTooltipForCell=function(a){var b="";if(mxUtils.isNode(a.value)){var f=a.value.getAttribute("tooltip");if(null!=f)null!=f&&this.isReplacePlaceholders(a)&&(f=this.replacePlaceholders(a,f)),b=this.sanitizeHtml(f);else{f=this.builtInProperties;a=a.value.attributes;var d=[];this.isEnabled()&&f.push("link");for(var l=0;l<a.length;l++)0>mxUtils.indexOf(f,a[l].nodeName)&&0<a[l].nodeValue.length&&d.push({name:a[l].nodeName,value:a[l].nodeValue});d.sort(function(a,b){return a.name<b.name?
--1:a.name>b.name?1:0});for(l=0;l<d.length;l++)"link"==d[l].name&&this.isCustomLink(d[l].value)||(b+=("link"!=d[l].name?"<b>"+d[l].name+":</b> ":"")+mxUtils.htmlEntities(d[l].value)+"\n");0<b.length&&(b=b.substring(0,b.length-1),mxClient.IS_SVG&&(b='<div style="max-width:360px;">'+b+"</div>"))}}return b};Graph.prototype.stringToBytes=function(a){return Graph.stringToBytes(a)};Graph.prototype.bytesToString=function(a){return Graph.bytesToString(a)};Graph.prototype.compressNode=function(a){return Graph.compressNode(a)};
+Graph.prototype.getTooltipForCell=function(a){var b="";if(mxUtils.isNode(a.value)){var e=a.value.getAttribute("tooltip");if(null!=e)null!=e&&this.isReplacePlaceholders(a)&&(e=this.replacePlaceholders(a,e)),b=this.sanitizeHtml(e);else{e=this.builtInProperties;a=a.value.attributes;var c=[];this.isEnabled()&&e.push("link");for(var l=0;l<a.length;l++)0>mxUtils.indexOf(e,a[l].nodeName)&&0<a[l].nodeValue.length&&c.push({name:a[l].nodeName,value:a[l].nodeValue});c.sort(function(a,b){return a.name<b.name?
+-1:a.name>b.name?1:0});for(l=0;l<c.length;l++)"link"==c[l].name&&this.isCustomLink(c[l].value)||(b+=("link"!=c[l].name?"<b>"+c[l].name+":</b> ":"")+mxUtils.htmlEntities(c[l].value)+"\n");0<b.length&&(b=b.substring(0,b.length-1),mxClient.IS_SVG&&(b='<div style="max-width:360px;">'+b+"</div>"))}}return b};Graph.prototype.stringToBytes=function(a){return Graph.stringToBytes(a)};Graph.prototype.bytesToString=function(a){return Graph.bytesToString(a)};Graph.prototype.compressNode=function(a){return Graph.compressNode(a)};
 Graph.prototype.compress=function(a,b){return Graph.compress(a,b)};Graph.prototype.decompress=function(a,b){return Graph.decompress(a,b)};Graph.prototype.zapGremlins=function(a){return Graph.zapGremlins(a)};HoverIcons=function(a){this.graph=a;this.init()};HoverIcons.prototype.arrowSpacing=2;HoverIcons.prototype.updateDelay=500;HoverIcons.prototype.activationDelay=140;HoverIcons.prototype.currentState=null;HoverIcons.prototype.activeArrow=null;HoverIcons.prototype.inactiveOpacity=15;
 HoverIcons.prototype.cssCursor="copy";HoverIcons.prototype.checkCollisions=!0;HoverIcons.prototype.arrowFill="#29b6f2";HoverIcons.prototype.triangleUp=mxClient.IS_SVG?Graph.createSvgImage(18,28,'<path d="m 6 26 L 12 26 L 12 12 L 18 12 L 9 1 L 1 12 L 6 12 z" stroke="#fff" fill="'+HoverIcons.prototype.arrowFill+'"/>'):new mxImage(IMAGE_PATH+"/triangle-up.png",26,14);
 HoverIcons.prototype.triangleRight=mxClient.IS_SVG?Graph.createSvgImage(26,18,'<path d="m 1 6 L 14 6 L 14 1 L 26 9 L 14 18 L 14 12 L 1 12 z" stroke="#fff" fill="'+HoverIcons.prototype.arrowFill+'"/>'):new mxImage(IMAGE_PATH+"/triangle-right.png",14,26);HoverIcons.prototype.triangleDown=mxClient.IS_SVG?Graph.createSvgImage(18,26,'<path d="m 6 1 L 6 14 L 1 14 L 9 26 L 18 14 L 12 14 L 12 1 z" stroke="#fff" fill="'+HoverIcons.prototype.arrowFill+'"/>'):new mxImage(IMAGE_PATH+"/triangle-down.png",26,14);
@@ -2337,139 +2340,139 @@ IMAGE_PATH+"/refresh.png",38,38);HoverIcons.prototype.tolerance=mxClient.IS_TOUC
 HoverIcons.prototype.init=function(){this.arrowUp=this.createArrow(this.triangleUp,mxResources.get("plusTooltip"));this.arrowRight=this.createArrow(this.triangleRight,mxResources.get("plusTooltip"));this.arrowDown=this.createArrow(this.triangleDown,mxResources.get("plusTooltip"));this.arrowLeft=this.createArrow(this.triangleLeft,mxResources.get("plusTooltip"));this.elts=[this.arrowUp,this.arrowRight,this.arrowDown,this.arrowLeft];this.resetHandler=mxUtils.bind(this,function(){this.reset()});this.repaintHandler=
 mxUtils.bind(this,function(){this.repaint()});this.graph.selectionModel.addListener(mxEvent.CHANGE,this.resetHandler);this.graph.model.addListener(mxEvent.CHANGE,this.repaintHandler);this.graph.view.addListener(mxEvent.SCALE_AND_TRANSLATE,this.repaintHandler);this.graph.view.addListener(mxEvent.TRANSLATE,this.repaintHandler);this.graph.view.addListener(mxEvent.SCALE,this.repaintHandler);this.graph.view.addListener(mxEvent.DOWN,this.repaintHandler);this.graph.view.addListener(mxEvent.UP,this.repaintHandler);
 this.graph.addListener(mxEvent.ROOT,this.repaintHandler);this.graph.addListener(mxEvent.ESCAPE,this.resetHandler);mxEvent.addListener(this.graph.container,"scroll",this.resetHandler);this.graph.addListener(mxEvent.ESCAPE,mxUtils.bind(this,function(){this.mouseDownPoint=null}));mxEvent.addListener(this.graph.container,"mouseleave",mxUtils.bind(this,function(a){null!=a.relatedTarget&&mxEvent.getSource(a)==this.graph.container&&this.setDisplay("none")}));this.graph.addListener(mxEvent.START_EDITING,
-mxUtils.bind(this,function(a){this.reset()}));var a=this.graph.click;this.graph.click=mxUtils.bind(this,function(b){a.apply(this.graph,arguments);null==this.currentState||this.graph.isCellSelected(this.currentState.cell)||!mxEvent.isTouchEvent(b.getEvent())||this.graph.model.isVertex(b.getCell())||this.reset()});var b=!1;this.graph.addMouseListener({mouseDown:mxUtils.bind(this,function(a,d){b=!1;var f=d.getEvent();if(this.isResetEvent(f))this.reset();else if(!this.isActive()){var m=this.getState(d.getState());
-null==m&&mxEvent.isTouchEvent(f)||this.update(m)}this.setDisplay("none")}),mouseMove:mxUtils.bind(this,function(a,d){var f=d.getEvent();this.isResetEvent(f)?this.reset():this.graph.isMouseDown||mxEvent.isTouchEvent(f)||this.update(this.getState(d.getState()),d.getGraphX(),d.getGraphY());null!=this.graph.connectionHandler&&null!=this.graph.connectionHandler.shape&&(b=!0)}),mouseUp:mxUtils.bind(this,function(a,d){var f=d.getEvent();mxUtils.convertPoint(this.graph.container,mxEvent.getClientX(f),mxEvent.getClientY(f));
-this.isResetEvent(f)?this.reset():this.isActive()&&!b&&null!=this.mouseDownPoint?this.click(this.currentState,this.getDirection(),d):this.isActive()?1==this.graph.getSelectionCount()&&this.graph.model.isEdge(this.graph.getSelectionCell())?this.reset():this.update(this.getState(this.graph.view.getState(this.graph.getCellAt(d.getGraphX(),d.getGraphY())))):mxEvent.isTouchEvent(f)||null!=this.bbox&&mxUtils.contains(this.bbox,d.getGraphX(),d.getGraphY())?(this.setDisplay(""),this.repaint()):mxEvent.isTouchEvent(f)||
+mxUtils.bind(this,function(a){this.reset()}));var a=this.graph.click;this.graph.click=mxUtils.bind(this,function(b){a.apply(this.graph,arguments);null==this.currentState||this.graph.isCellSelected(this.currentState.cell)||!mxEvent.isTouchEvent(b.getEvent())||this.graph.model.isVertex(b.getCell())||this.reset()});var b=!1;this.graph.addMouseListener({mouseDown:mxUtils.bind(this,function(a,c){b=!1;var e=c.getEvent();if(this.isResetEvent(e))this.reset();else if(!this.isActive()){var m=this.getState(c.getState());
+null==m&&mxEvent.isTouchEvent(e)||this.update(m)}this.setDisplay("none")}),mouseMove:mxUtils.bind(this,function(a,c){var e=c.getEvent();this.isResetEvent(e)?this.reset():this.graph.isMouseDown||mxEvent.isTouchEvent(e)||this.update(this.getState(c.getState()),c.getGraphX(),c.getGraphY());null!=this.graph.connectionHandler&&null!=this.graph.connectionHandler.shape&&(b=!0)}),mouseUp:mxUtils.bind(this,function(a,c){var e=c.getEvent();mxUtils.convertPoint(this.graph.container,mxEvent.getClientX(e),mxEvent.getClientY(e));
+this.isResetEvent(e)?this.reset():this.isActive()&&!b&&null!=this.mouseDownPoint?this.click(this.currentState,this.getDirection(),c):this.isActive()?1==this.graph.getSelectionCount()&&this.graph.model.isEdge(this.graph.getSelectionCell())?this.reset():this.update(this.getState(this.graph.view.getState(this.graph.getCellAt(c.getGraphX(),c.getGraphY())))):mxEvent.isTouchEvent(e)||null!=this.bbox&&mxUtils.contains(this.bbox,c.getGraphX(),c.getGraphY())?(this.setDisplay(""),this.repaint()):mxEvent.isTouchEvent(e)||
 this.reset();b=!1;this.resetActiveArrow()})})};HoverIcons.prototype.isResetEvent=function(a,b){return mxEvent.isAltDown(a)||null==this.activeArrow&&mxEvent.isShiftDown(a)||mxEvent.isMetaDown(a)||mxEvent.isPopupTrigger(a)&&!mxEvent.isControlDown(a)};
-HoverIcons.prototype.createArrow=function(a,b){var f=null;mxClient.IS_IE&&!mxClient.IS_SVG?(mxClient.IS_IE6&&"CSS1Compat"!=document.compatMode?(f=document.createElement(mxClient.VML_PREFIX+":image"),f.setAttribute("src",a.src),f.style.borderStyle="none"):(f=document.createElement("div"),f.style.backgroundImage="url("+a.src+")",f.style.backgroundPosition="center",f.style.backgroundRepeat="no-repeat"),f.style.width=a.width+4+"px",f.style.height=a.height+4+"px",f.style.display=mxClient.IS_QUIRKS?"inline":
-"inline-block"):(f=mxUtils.createImage(a.src),f.style.width=a.width+"px",f.style.height=a.height+"px",f.style.padding=this.tolerance+"px");null!=b&&f.setAttribute("title",b);f.style.position="absolute";f.style.cursor=this.cssCursor;mxEvent.addGestureListeners(f,mxUtils.bind(this,function(a){null==this.currentState||this.isResetEvent(a)||(this.mouseDownPoint=mxUtils.convertPoint(this.graph.container,mxEvent.getClientX(a),mxEvent.getClientY(a)),this.drag(a,this.mouseDownPoint.x,this.mouseDownPoint.y),
-this.activeArrow=f,this.setDisplay("none"),mxEvent.consume(a))}));mxEvent.redirectMouseEvents(f,this.graph,this.currentState);mxEvent.addListener(f,"mouseenter",mxUtils.bind(this,function(a){mxEvent.isMouseEvent(a)&&(null!=this.activeArrow&&this.activeArrow!=f&&mxUtils.setOpacity(this.activeArrow,this.inactiveOpacity),this.graph.connectionHandler.constraintHandler.reset(),mxUtils.setOpacity(f,100),this.activeArrow=f)}));mxEvent.addListener(f,"mouseleave",mxUtils.bind(this,function(a){this.graph.isMouseDown||
-this.resetActiveArrow()}));return f};HoverIcons.prototype.resetActiveArrow=function(){null!=this.activeArrow&&(mxUtils.setOpacity(this.activeArrow,this.inactiveOpacity),this.activeArrow=null)};HoverIcons.prototype.getDirection=function(){var a=mxConstants.DIRECTION_EAST;this.activeArrow==this.arrowUp?a=mxConstants.DIRECTION_NORTH:this.activeArrow==this.arrowDown?a=mxConstants.DIRECTION_SOUTH:this.activeArrow==this.arrowLeft&&(a=mxConstants.DIRECTION_WEST);return a};
+HoverIcons.prototype.createArrow=function(a,b){var e=null;mxClient.IS_IE&&!mxClient.IS_SVG?(mxClient.IS_IE6&&"CSS1Compat"!=document.compatMode?(e=document.createElement(mxClient.VML_PREFIX+":image"),e.setAttribute("src",a.src),e.style.borderStyle="none"):(e=document.createElement("div"),e.style.backgroundImage="url("+a.src+")",e.style.backgroundPosition="center",e.style.backgroundRepeat="no-repeat"),e.style.width=a.width+4+"px",e.style.height=a.height+4+"px",e.style.display=mxClient.IS_QUIRKS?"inline":
+"inline-block"):(e=mxUtils.createImage(a.src),e.style.width=a.width+"px",e.style.height=a.height+"px",e.style.padding=this.tolerance+"px");null!=b&&e.setAttribute("title",b);e.style.position="absolute";e.style.cursor=this.cssCursor;mxEvent.addGestureListeners(e,mxUtils.bind(this,function(a){null==this.currentState||this.isResetEvent(a)||(this.mouseDownPoint=mxUtils.convertPoint(this.graph.container,mxEvent.getClientX(a),mxEvent.getClientY(a)),this.drag(a,this.mouseDownPoint.x,this.mouseDownPoint.y),
+this.activeArrow=e,this.setDisplay("none"),mxEvent.consume(a))}));mxEvent.redirectMouseEvents(e,this.graph,this.currentState);mxEvent.addListener(e,"mouseenter",mxUtils.bind(this,function(a){mxEvent.isMouseEvent(a)&&(null!=this.activeArrow&&this.activeArrow!=e&&mxUtils.setOpacity(this.activeArrow,this.inactiveOpacity),this.graph.connectionHandler.constraintHandler.reset(),mxUtils.setOpacity(e,100),this.activeArrow=e)}));mxEvent.addListener(e,"mouseleave",mxUtils.bind(this,function(a){this.graph.isMouseDown||
+this.resetActiveArrow()}));return e};HoverIcons.prototype.resetActiveArrow=function(){null!=this.activeArrow&&(mxUtils.setOpacity(this.activeArrow,this.inactiveOpacity),this.activeArrow=null)};HoverIcons.prototype.getDirection=function(){var a=mxConstants.DIRECTION_EAST;this.activeArrow==this.arrowUp?a=mxConstants.DIRECTION_NORTH:this.activeArrow==this.arrowDown?a=mxConstants.DIRECTION_SOUTH:this.activeArrow==this.arrowLeft&&(a=mxConstants.DIRECTION_WEST);return a};
 HoverIcons.prototype.visitNodes=function(a){for(var b=0;b<this.elts.length;b++)null!=this.elts[b]&&a(this.elts[b])};HoverIcons.prototype.removeNodes=function(){this.visitNodes(function(a){null!=a.parentNode&&a.parentNode.removeChild(a)})};HoverIcons.prototype.setDisplay=function(a){this.visitNodes(function(b){b.style.display=a})};HoverIcons.prototype.isActive=function(){return null!=this.activeArrow&&null!=this.currentState};
-HoverIcons.prototype.drag=function(a,b,f){this.graph.popupMenuHandler.hideMenu();this.graph.stopEditing(!1);null!=this.currentState&&(this.graph.connectionHandler.start(this.currentState,b,f),this.graph.isMouseTrigger=mxEvent.isMouseEvent(a),this.graph.isMouseDown=!0,b=this.graph.selectionCellsHandler.getHandler(this.currentState.cell),null!=b&&b.setHandlesVisible(!1),b=this.graph.connectionHandler.edgeState,null!=a&&mxEvent.isShiftDown(a)&&mxEvent.isControlDown(a)&&null!=b&&"orthogonalEdgeStyle"===
-mxUtils.getValue(b.style,mxConstants.STYLE_EDGE,null)&&(a=this.getDirection(),b.cell.style=mxUtils.setStyle(b.cell.style,"sourcePortConstraint",a),b.style.sourcePortConstraint=a))};HoverIcons.prototype.getStateAt=function(a,b,f){return this.graph.view.getState(this.graph.getCellAt(b,f))};
-HoverIcons.prototype.click=function(a,b,f){var d=f.getEvent(),l=f.getGraphX(),m=f.getGraphY(),l=this.getStateAt(a,l,m);null==l||!this.graph.model.isEdge(l.cell)||mxEvent.isControlDown(d)||l.getVisibleTerminalState(!0)!=a&&l.getVisibleTerminalState(!1)!=a?null!=a&&this.graph.selectCellsForConnectVertex(this.graph.connectVertex(a.cell,b,this.graph.defaultEdgeLength,d),d,this):(this.graph.setSelectionCell(l.cell),this.reset());f.consume()};
+HoverIcons.prototype.drag=function(a,b,e){this.graph.popupMenuHandler.hideMenu();this.graph.stopEditing(!1);null!=this.currentState&&(this.graph.connectionHandler.start(this.currentState,b,e),this.graph.isMouseTrigger=mxEvent.isMouseEvent(a),this.graph.isMouseDown=!0,b=this.graph.selectionCellsHandler.getHandler(this.currentState.cell),null!=b&&b.setHandlesVisible(!1),b=this.graph.connectionHandler.edgeState,null!=a&&mxEvent.isShiftDown(a)&&mxEvent.isControlDown(a)&&null!=b&&"orthogonalEdgeStyle"===
+mxUtils.getValue(b.style,mxConstants.STYLE_EDGE,null)&&(a=this.getDirection(),b.cell.style=mxUtils.setStyle(b.cell.style,"sourcePortConstraint",a),b.style.sourcePortConstraint=a))};HoverIcons.prototype.getStateAt=function(a,b,e){return this.graph.view.getState(this.graph.getCellAt(b,e))};
+HoverIcons.prototype.click=function(a,b,e){var c=e.getEvent(),l=e.getGraphX(),m=e.getGraphY(),l=this.getStateAt(a,l,m);null==l||!this.graph.model.isEdge(l.cell)||mxEvent.isControlDown(c)||l.getVisibleTerminalState(!0)!=a&&l.getVisibleTerminalState(!1)!=a?null!=a&&this.graph.selectCellsForConnectVertex(this.graph.connectVertex(a.cell,b,this.graph.defaultEdgeLength,c),c,this):(this.graph.setSelectionCell(l.cell),this.reset());e.consume()};
 HoverIcons.prototype.reset=function(a){null!=a&&!a||null==this.updateThread||window.clearTimeout(this.updateThread);this.activeArrow=this.currentState=this.mouseDownPoint=null;this.removeNodes();this.bbox=null};
 HoverIcons.prototype.repaint=function(){this.bbox=null;if(null!=this.currentState){this.currentState=this.getState(this.currentState);if(null!=this.currentState&&this.graph.model.isVertex(this.currentState.cell)&&this.graph.isCellConnectable(this.currentState.cell)){var a=mxRectangle.fromRectangle(this.currentState);null!=this.currentState.shape&&null!=this.currentState.shape.boundingBox&&(a=mxRectangle.fromRectangle(this.currentState.shape.boundingBox));a.grow(this.graph.tolerance);a.grow(this.arrowSpacing);
-var b=this.graph.selectionCellsHandler.getHandler(this.currentState.cell),f=null;null!=b&&(a.x-=b.horizontalOffset/2,a.y-=b.verticalOffset/2,a.width+=b.horizontalOffset,a.height+=b.verticalOffset,null!=b.rotationShape&&null!=b.rotationShape.node&&"hidden"!=b.rotationShape.node.style.visibility&&"none"!=b.rotationShape.node.style.display&&null!=b.rotationShape.boundingBox&&(f=b.rotationShape.boundingBox));b=mxUtils.bind(this,function(a,b,d){if(null!=f){var c=new mxRectangle(b,d,a.clientWidth,a.clientHeight);
-mxUtils.intersects(c,f)&&(a==this.arrowUp?d-=c.y+c.height-f.y:a==this.arrowRight?b+=f.x+f.width-c.x:a==this.arrowDown?d+=f.y+f.height-c.y:a==this.arrowLeft&&(b-=c.x+c.width-f.x))}a.style.left=b+"px";a.style.top=d+"px";mxUtils.setOpacity(a,this.inactiveOpacity)});b(this.arrowUp,Math.round(this.currentState.getCenterX()-this.triangleUp.width/2-this.tolerance),Math.round(a.y-this.triangleUp.height-this.tolerance));b(this.arrowRight,Math.round(a.x+a.width-this.tolerance),Math.round(this.currentState.getCenterY()-
-this.triangleRight.height/2-this.tolerance));b(this.arrowDown,parseInt(this.arrowUp.style.left),Math.round(a.y+a.height-this.tolerance));b(this.arrowLeft,Math.round(a.x-this.triangleLeft.width-this.tolerance),parseInt(this.arrowRight.style.top));if(this.checkCollisions){var b=this.graph.getCellAt(a.x+a.width+this.triangleRight.width/2,this.currentState.getCenterY()),d=this.graph.getCellAt(a.x-this.triangleLeft.width/2,this.currentState.getCenterY()),l=this.graph.getCellAt(this.currentState.getCenterX(),
-a.y-this.triangleUp.height/2),a=this.graph.getCellAt(this.currentState.getCenterX(),a.y+a.height+this.triangleDown.height/2);null!=b&&b==d&&d==l&&l==a&&(a=l=d=b=null);var m=this.graph.getCellGeometry(this.currentState.cell),q=mxUtils.bind(this,function(a,b){var d=this.graph.model.isVertex(a)&&this.graph.getCellGeometry(a);null==a||this.graph.model.isAncestor(a,this.currentState.cell)||this.graph.isSwimlane(a)||!(null==d||null==m||d.height<3*m.height&&d.width<3*m.width)?b.style.visibility="visible":
-b.style.visibility="hidden"});q(b,this.arrowRight);q(d,this.arrowLeft);q(l,this.arrowUp);q(a,this.arrowDown)}else this.arrowLeft.style.visibility="visible",this.arrowRight.style.visibility="visible",this.arrowUp.style.visibility="visible",this.arrowDown.style.visibility="visible";this.graph.tooltipHandler.isEnabled()?(this.arrowLeft.setAttribute("title",mxResources.get("plusTooltip")),this.arrowRight.setAttribute("title",mxResources.get("plusTooltip")),this.arrowUp.setAttribute("title",mxResources.get("plusTooltip")),
+var b=this.graph.selectionCellsHandler.getHandler(this.currentState.cell),e=null;null!=b&&(a.x-=b.horizontalOffset/2,a.y-=b.verticalOffset/2,a.width+=b.horizontalOffset,a.height+=b.verticalOffset,null!=b.rotationShape&&null!=b.rotationShape.node&&"hidden"!=b.rotationShape.node.style.visibility&&"none"!=b.rotationShape.node.style.display&&null!=b.rotationShape.boundingBox&&(e=b.rotationShape.boundingBox));b=mxUtils.bind(this,function(a,b,c){if(null!=e){var d=new mxRectangle(b,c,a.clientWidth,a.clientHeight);
+mxUtils.intersects(d,e)&&(a==this.arrowUp?c-=d.y+d.height-e.y:a==this.arrowRight?b+=e.x+e.width-d.x:a==this.arrowDown?c+=e.y+e.height-d.y:a==this.arrowLeft&&(b-=d.x+d.width-e.x))}a.style.left=b+"px";a.style.top=c+"px";mxUtils.setOpacity(a,this.inactiveOpacity)});b(this.arrowUp,Math.round(this.currentState.getCenterX()-this.triangleUp.width/2-this.tolerance),Math.round(a.y-this.triangleUp.height-this.tolerance));b(this.arrowRight,Math.round(a.x+a.width-this.tolerance),Math.round(this.currentState.getCenterY()-
+this.triangleRight.height/2-this.tolerance));b(this.arrowDown,parseInt(this.arrowUp.style.left),Math.round(a.y+a.height-this.tolerance));b(this.arrowLeft,Math.round(a.x-this.triangleLeft.width-this.tolerance),parseInt(this.arrowRight.style.top));if(this.checkCollisions){var b=this.graph.getCellAt(a.x+a.width+this.triangleRight.width/2,this.currentState.getCenterY()),c=this.graph.getCellAt(a.x-this.triangleLeft.width/2,this.currentState.getCenterY()),l=this.graph.getCellAt(this.currentState.getCenterX(),
+a.y-this.triangleUp.height/2),a=this.graph.getCellAt(this.currentState.getCenterX(),a.y+a.height+this.triangleDown.height/2);null!=b&&b==c&&c==l&&l==a&&(a=l=c=b=null);var m=this.graph.getCellGeometry(this.currentState.cell),q=mxUtils.bind(this,function(a,b){var c=this.graph.model.isVertex(a)&&this.graph.getCellGeometry(a);null==a||this.graph.model.isAncestor(a,this.currentState.cell)||this.graph.isSwimlane(a)||!(null==c||null==m||c.height<3*m.height&&c.width<3*m.width)?b.style.visibility="visible":
+b.style.visibility="hidden"});q(b,this.arrowRight);q(c,this.arrowLeft);q(l,this.arrowUp);q(a,this.arrowDown)}else this.arrowLeft.style.visibility="visible",this.arrowRight.style.visibility="visible",this.arrowUp.style.visibility="visible",this.arrowDown.style.visibility="visible";this.graph.tooltipHandler.isEnabled()?(this.arrowLeft.setAttribute("title",mxResources.get("plusTooltip")),this.arrowRight.setAttribute("title",mxResources.get("plusTooltip")),this.arrowUp.setAttribute("title",mxResources.get("plusTooltip")),
 this.arrowDown.setAttribute("title",mxResources.get("plusTooltip"))):(this.arrowLeft.removeAttribute("title"),this.arrowRight.removeAttribute("title"),this.arrowUp.removeAttribute("title"),this.arrowDown.removeAttribute("title"))}else this.reset();null!=this.currentState&&(this.bbox=this.computeBoundingBox(),null!=this.bbox&&this.bbox.grow(10))}};
 HoverIcons.prototype.computeBoundingBox=function(){var a=this.graph.model.isEdge(this.currentState.cell)?null:mxRectangle.fromRectangle(this.currentState);this.visitNodes(function(b){null!=b.parentNode&&(b=new mxRectangle(b.offsetLeft,b.offsetTop,b.offsetWidth,b.offsetHeight),null==a?a=b:a.add(b))});return a};
 HoverIcons.prototype.getState=function(a){if(null!=a)if(a=a.cell,this.graph.getModel().contains(a)){if(this.graph.getModel().isVertex(a)&&!this.graph.isCellConnectable(a)){var b=this.graph.getModel().getParent(a);this.graph.getModel().isVertex(b)&&this.graph.isCellConnectable(b)&&(a=b)}if(this.graph.isCellLocked(a)||this.graph.model.isEdge(a))a=null;a=this.graph.view.getState(a);null!=a&&null==a.style&&(a=null)}else a=null;return a};
-HoverIcons.prototype.update=function(a,b,f){if(!this.graph.connectionArrowsEnabled||null!=a&&"0"==mxUtils.getValue(a.style,"allowArrows","1"))this.reset();else{null!=a&&null!=a.cell.geometry&&a.cell.geometry.relative&&this.graph.model.isEdge(a.cell.parent)&&(a=null);var d=null;this.prev!=a||this.isActive()?(this.startTime=(new Date).getTime(),this.prev=a,d=0,null!=this.updateThread&&window.clearTimeout(this.updateThread),null!=a&&(this.updateThread=window.setTimeout(mxUtils.bind(this,function(){this.isActive()||
-this.graph.isMouseDown||this.graph.panningHandler.isActive()||(this.prev=a,this.update(a,b,f))}),this.updateDelay+10))):null!=this.startTime&&(d=(new Date).getTime()-this.startTime);this.setDisplay("");null!=this.currentState&&this.currentState!=a&&d<this.activationDelay&&null!=this.bbox&&!mxUtils.contains(this.bbox,b,f)?this.reset(!1):(null!=this.currentState||d>this.activationDelay)&&this.currentState!=a&&(d>this.updateDelay&&null!=a||null==this.bbox||null==b||null==f||!mxUtils.contains(this.bbox,
-b,f))&&(null!=a&&this.graph.isEnabled()?(this.removeNodes(),this.setCurrentState(a),this.repaint(),this.graph.connectionHandler.constraintHandler.currentFocus!=a&&this.graph.connectionHandler.constraintHandler.reset()):this.reset())}};
+HoverIcons.prototype.update=function(a,b,e){if(!this.graph.connectionArrowsEnabled||null!=a&&"0"==mxUtils.getValue(a.style,"allowArrows","1"))this.reset();else{null!=a&&null!=a.cell.geometry&&a.cell.geometry.relative&&this.graph.model.isEdge(a.cell.parent)&&(a=null);var c=null;this.prev!=a||this.isActive()?(this.startTime=(new Date).getTime(),this.prev=a,c=0,null!=this.updateThread&&window.clearTimeout(this.updateThread),null!=a&&(this.updateThread=window.setTimeout(mxUtils.bind(this,function(){this.isActive()||
+this.graph.isMouseDown||this.graph.panningHandler.isActive()||(this.prev=a,this.update(a,b,e))}),this.updateDelay+10))):null!=this.startTime&&(c=(new Date).getTime()-this.startTime);this.setDisplay("");null!=this.currentState&&this.currentState!=a&&c<this.activationDelay&&null!=this.bbox&&!mxUtils.contains(this.bbox,b,e)?this.reset(!1):(null!=this.currentState||c>this.activationDelay)&&this.currentState!=a&&(c>this.updateDelay&&null!=a||null==this.bbox||null==b||null==e||!mxUtils.contains(this.bbox,
+b,e))&&(null!=a&&this.graph.isEnabled()?(this.removeNodes(),this.setCurrentState(a),this.repaint(),this.graph.connectionHandler.constraintHandler.currentFocus!=a&&this.graph.connectionHandler.constraintHandler.reset()):this.reset())}};
 HoverIcons.prototype.setCurrentState=function(a){"eastwest"!=a.style.portConstraint&&(this.graph.container.appendChild(this.arrowUp),this.graph.container.appendChild(this.arrowDown));this.graph.container.appendChild(this.arrowRight);this.graph.container.appendChild(this.arrowLeft);this.currentState=a};
-(function(){var a=mxGraphView.prototype.resetValidationState;mxGraphView.prototype.resetValidationState=function(){a.apply(this,arguments);this.validEdges=[]};var b=mxGraphView.prototype.validateCellState;mxGraphView.prototype.validateCellState=function(a,d){d=null!=d?d:!0;var c=this.getState(a);null!=c&&d&&this.graph.model.isEdge(c.cell)&&null!=c.style&&1!=c.style[mxConstants.STYLE_CURVED]&&!c.invalid&&this.updateLineJumps(c)&&this.graph.cellRenderer.redraw(c,!1,this.isRendering());c=b.apply(this,
-arguments);null!=c&&d&&this.graph.model.isEdge(c.cell)&&null!=c.style&&1!=c.style[mxConstants.STYLE_CURVED]&&this.validEdges.push(c);return c};var f=mxCellRenderer.prototype.isShapeInvalid;mxCellRenderer.prototype.isShapeInvalid=function(a,b){return f.apply(this,arguments)||null!=a.routedPoints&&null!=b.routedPoints&&!mxUtils.equalPoints(b.routedPoints,a.routedPoints)};var d=mxGraphView.prototype.updateCellState;mxGraphView.prototype.updateCellState=function(a){d.apply(this,arguments);this.graph.model.isEdge(a.cell)&&
-1!=a.style[mxConstants.STYLE_CURVED]&&this.updateLineJumps(a)};mxGraphView.prototype.updateLineJumps=function(a){var b=a.absolutePoints;if(Graph.lineJumpsEnabled){var c=null!=a.routedPoints,e=null;if(null!=b&&null!=this.validEdges&&"none"!==mxUtils.getValue(a.style,"jumpStyle","none")){for(var d=function(c,b,d){var k=new mxPoint(b,d);k.type=c;e.push(k);k=null!=a.routedPoints?a.routedPoints[e.length-1]:null;return null==k||k.type!=c||k.x!=b||k.y!=d},f=.5*this.scale,c=!1,e=[],n=0;n<b.length-1;n++){for(var g=
-b[n+1],A=b[n],v=[],t=b[n+2];n<b.length-2&&mxUtils.ptSegDistSq(A.x,A.y,t.x,t.y,g.x,g.y)<1*this.scale*this.scale;)g=t,n++,t=b[n+2];for(var c=d(0,A.x,A.y)||c,l=0;l<this.validEdges.length;l++){var y=this.validEdges[l],u=y.absolutePoints;if(null!=u&&mxUtils.intersects(a,y)&&"1"!=y.style.noJump)for(y=0;y<u.length-1;y++){for(var p=u[y+1],B=u[y],t=u[y+2];y<u.length-2&&mxUtils.ptSegDistSq(B.x,B.y,t.x,t.y,p.x,p.y)<1*this.scale*this.scale;)p=t,y++,t=u[y+2];t=mxUtils.intersection(A.x,A.y,g.x,g.y,B.x,B.y,p.x,
-p.y);if(null!=t&&(Math.abs(t.x-A.x)>f||Math.abs(t.y-A.y)>f)&&(Math.abs(t.x-g.x)>f||Math.abs(t.y-g.y)>f)&&(Math.abs(t.x-B.x)>f||Math.abs(t.y-B.y)>f)&&(Math.abs(t.x-p.x)>f||Math.abs(t.y-p.y)>f)){p=t.x-A.x;B=t.y-A.y;t={distSq:p*p+B*B,x:t.x,y:t.y};for(p=0;p<v.length;p++)if(v[p].distSq>t.distSq){v.splice(p,0,t);t=null;break}null==t||0!=v.length&&v[v.length-1].x===t.x&&v[v.length-1].y===t.y||v.push(t)}}}for(y=0;y<v.length;y++)c=d(1,v[y].x,v[y].y)||c}t=b[b.length-1];c=d(0,t.x,t.y)||c}a.routedPoints=e;return c}return!1};
-var l=mxConnector.prototype.paintLine;mxConnector.prototype.paintLine=function(a,b,c){this.routedPoints=null!=this.state?this.state.routedPoints:null;if(this.outline||null==this.state||null==this.style||null==this.state.routedPoints||0==this.state.routedPoints.length)l.apply(this,arguments);else{var e=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2,d=(parseInt(mxUtils.getValue(this.style,"jumpSize",Graph.defaultJumpSize))-2)/2+this.strokewidth,f=mxUtils.getValue(this.style,
-"jumpStyle","none"),n=!0,g=null,A=null,v=[],t=null;a.begin();for(var u=0;u<this.state.routedPoints.length;u++){var y=this.state.routedPoints[u],m=new mxPoint(y.x/this.scale,y.y/this.scale);0==u?m=b[0]:u==this.state.routedPoints.length-1&&(m=b[b.length-1]);var p=!1;if(null!=g&&1==y.type){var B=this.state.routedPoints[u+1],y=B.x/this.scale-m.x,B=B.y/this.scale-m.y,y=y*y+B*B;null==t&&(t=new mxPoint(m.x-g.x,m.y-g.y),A=Math.sqrt(t.x*t.x+t.y*t.y),0<A?(t.x=t.x*d/A,t.y=t.y*d/A):t=null);y>d*d&&0<A&&(y=g.x-
-m.x,B=g.y-m.y,y=y*y+B*B,y>d*d&&(p=new mxPoint(m.x-t.x,m.y-t.y),y=new mxPoint(m.x+t.x,m.y+t.y),v.push(p),this.addPoints(a,v,c,e,!1,null,n),v=0>Math.round(t.x)||0==Math.round(t.x)&&0>=Math.round(t.y)?1:-1,n=!1,"sharp"==f?(a.lineTo(p.x-t.y*v,p.y+t.x*v),a.lineTo(y.x-t.y*v,y.y+t.x*v),a.lineTo(y.x,y.y)):"arc"==f?(v*=1.3,a.curveTo(p.x-t.y*v,p.y+t.x*v,y.x-t.y*v,y.y+t.x*v,y.x,y.y)):(a.moveTo(y.x,y.y),n=!0),v=[y],p=!0))}else t=null;p||(v.push(m),g=m)}this.addPoints(a,v,c,e,!1,null,n);a.stroke()}};var m=mxGraphView.prototype.updateFloatingTerminalPoint;
-mxGraphView.prototype.updateFloatingTerminalPoint=function(a,b,c,e){if(null==b||null==a||"1"!=b.style.snapToPoint&&"1"!=a.style.snapToPoint)m.apply(this,arguments);else{b=this.getTerminalPort(a,b,e);var d=this.getNextPoint(a,c,e),f=this.graph.isOrthogonal(a),n=mxUtils.toRadians(Number(b.style[mxConstants.STYLE_ROTATION]||"0")),g=new mxPoint(b.getCenterX(),b.getCenterY());if(0!=n)var A=Math.cos(-n),v=Math.sin(-n),d=mxUtils.getRotatedPoint(d,A,v,g);A=parseFloat(a.style[mxConstants.STYLE_PERIMETER_SPACING]||
-0);A+=parseFloat(a.style[e?mxConstants.STYLE_SOURCE_PERIMETER_SPACING:mxConstants.STYLE_TARGET_PERIMETER_SPACING]||0);d=this.getPerimeterPoint(b,d,0==n&&f,A);0!=n&&(A=Math.cos(n),v=Math.sin(n),d=mxUtils.getRotatedPoint(d,A,v,g));a.setAbsoluteTerminalPoint(this.snapToAnchorPoint(a,b,c,e,d),e)}};mxGraphView.prototype.snapToAnchorPoint=function(a,b,c,e,d){if(null!=b&&null!=a){a=this.graph.getAllConnectionConstraints(b);e=c=null;if(null!=a)for(var k=0;k<a.length;k++){var f=this.graph.getConnectionPoint(b,
-a[k]);if(null!=f){var g=(f.x-d.x)*(f.x-d.x)+(f.y-d.y)*(f.y-d.y);if(null==e||g<e)c=f,e=g}}null!=c&&(d=c)}return d};var q=mxStencil.prototype.evaluateTextAttribute;mxStencil.prototype.evaluateTextAttribute=function(a,b,c){var d=q.apply(this,arguments);"1"==a.getAttribute("placeholders")&&null!=c.state&&(d=c.state.view.graph.replacePlaceholders(c.state.cell,d));return d};var u=mxCellRenderer.prototype.createShape;mxCellRenderer.prototype.createShape=function(a){if(null!=a.style&&"undefined"!==typeof pako){var b=
-mxUtils.getValue(a.style,mxConstants.STYLE_SHAPE,null);if(null!=b&&"string"===typeof b&&"stencil("==b.substring(0,8))try{var c=b.substring(8,b.length-1),d=mxUtils.parseXml(Graph.decompress(c));return new mxShape(new mxStencil(d.documentElement))}catch(k){null!=window.console&&console.log("Error in shape: "+k)}}return u.apply(this,arguments)}})();mxStencilRegistry.libraries={};mxStencilRegistry.dynamicLoading=!0;mxStencilRegistry.allowEval=!0;mxStencilRegistry.packages=[];
-mxStencilRegistry.getStencil=function(a){var b=mxStencilRegistry.stencils[a];if(null==b&&null==mxCellRenderer.defaultShapes[a]&&mxStencilRegistry.dynamicLoading){var f=mxStencilRegistry.getBasenameForStencil(a);if(null!=f){b=mxStencilRegistry.libraries[f];if(null!=b){if(null==mxStencilRegistry.packages[f]){for(var d=0;d<b.length;d++){var l=b[d];if(".xml"==l.toLowerCase().substring(l.length-4,l.length))mxStencilRegistry.loadStencilSet(l,null);else if(".js"==l.toLowerCase().substring(l.length-3,l.length))try{if(mxStencilRegistry.allowEval){var m=
-mxUtils.load(l);null!=m&&200<=m.getStatus()&&299>=m.getStatus()&&eval.call(window,m.getText())}}catch(q){null!=window.console&&console.log("error in getStencil:",l,q)}}mxStencilRegistry.packages[f]=1}}else f=f.replace("_-_","_"),mxStencilRegistry.loadStencilSet(STENCIL_PATH+"/"+f+".xml",null);b=mxStencilRegistry.stencils[a]}}return b};
-mxStencilRegistry.getBasenameForStencil=function(a){var b=null;if(null!=a&&"string"===typeof a&&(a=a.split("."),0<a.length&&"mxgraph"==a[0]))for(var b=a[1],f=2;f<a.length-1;f++)b+="/"+a[f];return b};
-mxStencilRegistry.loadStencilSet=function(a,b,f,d){var l=mxStencilRegistry.packages[a];if(null!=f&&f||null==l){var m=!1;if(null==l)try{if(d){mxStencilRegistry.loadStencil(a,mxUtils.bind(this,function(d){null!=d&&null!=d.documentElement&&(mxStencilRegistry.packages[a]=d,m=!0,mxStencilRegistry.parseStencilSet(d.documentElement,b,m))}));return}l=mxStencilRegistry.loadStencil(a);mxStencilRegistry.packages[a]=l;m=!0}catch(q){null!=window.console&&console.log("error in loadStencilSet:",a,q)}null!=l&&null!=
+(function(){var a=mxGraphView.prototype.resetValidationState;mxGraphView.prototype.resetValidationState=function(){a.apply(this,arguments);this.validEdges=[]};var b=mxGraphView.prototype.validateCellState;mxGraphView.prototype.validateCellState=function(a,c){c=null!=c?c:!0;var d=this.getState(a);null!=d&&c&&this.graph.model.isEdge(d.cell)&&null!=d.style&&1!=d.style[mxConstants.STYLE_CURVED]&&!d.invalid&&this.updateLineJumps(d)&&this.graph.cellRenderer.redraw(d,!1,this.isRendering());d=b.apply(this,
+arguments);null!=d&&c&&this.graph.model.isEdge(d.cell)&&null!=d.style&&1!=d.style[mxConstants.STYLE_CURVED]&&this.validEdges.push(d);return d};var e=mxCellRenderer.prototype.isShapeInvalid;mxCellRenderer.prototype.isShapeInvalid=function(a,b){return e.apply(this,arguments)||null!=a.routedPoints&&null!=b.routedPoints&&!mxUtils.equalPoints(b.routedPoints,a.routedPoints)};var c=mxGraphView.prototype.updateCellState;mxGraphView.prototype.updateCellState=function(a){c.apply(this,arguments);this.graph.model.isEdge(a.cell)&&
+1!=a.style[mxConstants.STYLE_CURVED]&&this.updateLineJumps(a)};mxGraphView.prototype.updateLineJumps=function(a){var b=a.absolutePoints;if(Graph.lineJumpsEnabled){var d=null!=a.routedPoints,f=null;if(null!=b&&null!=this.validEdges&&"none"!==mxUtils.getValue(a.style,"jumpStyle","none")){for(var c=function(d,b,c){var k=new mxPoint(b,c);k.type=d;f.push(k);k=null!=a.routedPoints?a.routedPoints[f.length-1]:null;return null==k||k.type!=d||k.x!=b||k.y!=c},e=.5*this.scale,d=!1,f=[],n=0;n<b.length-1;n++){for(var g=
+b[n+1],A=b[n],v=[],t=b[n+2];n<b.length-2&&mxUtils.ptSegDistSq(A.x,A.y,t.x,t.y,g.x,g.y)<1*this.scale*this.scale;)g=t,n++,t=b[n+2];for(var d=c(0,A.x,A.y)||d,l=0;l<this.validEdges.length;l++){var y=this.validEdges[l],u=y.absolutePoints;if(null!=u&&mxUtils.intersects(a,y)&&"1"!=y.style.noJump)for(y=0;y<u.length-1;y++){for(var p=u[y+1],B=u[y],t=u[y+2];y<u.length-2&&mxUtils.ptSegDistSq(B.x,B.y,t.x,t.y,p.x,p.y)<1*this.scale*this.scale;)p=t,y++,t=u[y+2];t=mxUtils.intersection(A.x,A.y,g.x,g.y,B.x,B.y,p.x,
+p.y);if(null!=t&&(Math.abs(t.x-A.x)>e||Math.abs(t.y-A.y)>e)&&(Math.abs(t.x-g.x)>e||Math.abs(t.y-g.y)>e)&&(Math.abs(t.x-B.x)>e||Math.abs(t.y-B.y)>e)&&(Math.abs(t.x-p.x)>e||Math.abs(t.y-p.y)>e)){p=t.x-A.x;B=t.y-A.y;t={distSq:p*p+B*B,x:t.x,y:t.y};for(p=0;p<v.length;p++)if(v[p].distSq>t.distSq){v.splice(p,0,t);t=null;break}null==t||0!=v.length&&v[v.length-1].x===t.x&&v[v.length-1].y===t.y||v.push(t)}}}for(y=0;y<v.length;y++)d=c(1,v[y].x,v[y].y)||d}t=b[b.length-1];d=c(0,t.x,t.y)||d}a.routedPoints=f;return d}return!1};
+var l=mxConnector.prototype.paintLine;mxConnector.prototype.paintLine=function(a,b,d){this.routedPoints=null!=this.state?this.state.routedPoints:null;if(this.outline||null==this.state||null==this.style||null==this.state.routedPoints||0==this.state.routedPoints.length)l.apply(this,arguments);else{var f=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2,c=(parseInt(mxUtils.getValue(this.style,"jumpSize",Graph.defaultJumpSize))-2)/2+this.strokewidth,e=mxUtils.getValue(this.style,
+"jumpStyle","none"),n=!0,g=null,A=null,v=[],t=null;a.begin();for(var u=0;u<this.state.routedPoints.length;u++){var y=this.state.routedPoints[u],m=new mxPoint(y.x/this.scale,y.y/this.scale);0==u?m=b[0]:u==this.state.routedPoints.length-1&&(m=b[b.length-1]);var p=!1;if(null!=g&&1==y.type){var B=this.state.routedPoints[u+1],y=B.x/this.scale-m.x,B=B.y/this.scale-m.y,y=y*y+B*B;null==t&&(t=new mxPoint(m.x-g.x,m.y-g.y),A=Math.sqrt(t.x*t.x+t.y*t.y),0<A?(t.x=t.x*c/A,t.y=t.y*c/A):t=null);y>c*c&&0<A&&(y=g.x-
+m.x,B=g.y-m.y,y=y*y+B*B,y>c*c&&(p=new mxPoint(m.x-t.x,m.y-t.y),y=new mxPoint(m.x+t.x,m.y+t.y),v.push(p),this.addPoints(a,v,d,f,!1,null,n),v=0>Math.round(t.x)||0==Math.round(t.x)&&0>=Math.round(t.y)?1:-1,n=!1,"sharp"==e?(a.lineTo(p.x-t.y*v,p.y+t.x*v),a.lineTo(y.x-t.y*v,y.y+t.x*v),a.lineTo(y.x,y.y)):"arc"==e?(v*=1.3,a.curveTo(p.x-t.y*v,p.y+t.x*v,y.x-t.y*v,y.y+t.x*v,y.x,y.y)):(a.moveTo(y.x,y.y),n=!0),v=[y],p=!0))}else t=null;p||(v.push(m),g=m)}this.addPoints(a,v,d,f,!1,null,n);a.stroke()}};var m=mxGraphView.prototype.updateFloatingTerminalPoint;
+mxGraphView.prototype.updateFloatingTerminalPoint=function(a,b,d,f){if(null==b||null==a||"1"!=b.style.snapToPoint&&"1"!=a.style.snapToPoint)m.apply(this,arguments);else{b=this.getTerminalPort(a,b,f);var c=this.getNextPoint(a,d,f),e=this.graph.isOrthogonal(a),n=mxUtils.toRadians(Number(b.style[mxConstants.STYLE_ROTATION]||"0")),g=new mxPoint(b.getCenterX(),b.getCenterY());if(0!=n)var A=Math.cos(-n),v=Math.sin(-n),c=mxUtils.getRotatedPoint(c,A,v,g);A=parseFloat(a.style[mxConstants.STYLE_PERIMETER_SPACING]||
+0);A+=parseFloat(a.style[f?mxConstants.STYLE_SOURCE_PERIMETER_SPACING:mxConstants.STYLE_TARGET_PERIMETER_SPACING]||0);c=this.getPerimeterPoint(b,c,0==n&&e,A);0!=n&&(A=Math.cos(n),v=Math.sin(n),c=mxUtils.getRotatedPoint(c,A,v,g));a.setAbsoluteTerminalPoint(this.snapToAnchorPoint(a,b,d,f,c),f)}};mxGraphView.prototype.snapToAnchorPoint=function(a,b,d,f,c){if(null!=b&&null!=a){a=this.graph.getAllConnectionConstraints(b);f=d=null;if(null!=a)for(var e=0;e<a.length;e++){var k=this.graph.getConnectionPoint(b,
+a[e]);if(null!=k){var g=(k.x-c.x)*(k.x-c.x)+(k.y-c.y)*(k.y-c.y);if(null==f||g<f)d=k,f=g}}null!=d&&(c=d)}return c};var q=mxStencil.prototype.evaluateTextAttribute;mxStencil.prototype.evaluateTextAttribute=function(a,b,d){var f=q.apply(this,arguments);"1"==a.getAttribute("placeholders")&&null!=d.state&&(f=d.state.view.graph.replacePlaceholders(d.state.cell,f));return f};var u=mxCellRenderer.prototype.createShape;mxCellRenderer.prototype.createShape=function(a){if(null!=a.style&&"undefined"!==typeof pako){var b=
+mxUtils.getValue(a.style,mxConstants.STYLE_SHAPE,null);if(null!=b&&"string"===typeof b&&"stencil("==b.substring(0,8))try{var d=b.substring(8,b.length-1),f=mxUtils.parseXml(Graph.decompress(d));return new mxShape(new mxStencil(f.documentElement))}catch(k){null!=window.console&&console.log("Error in shape: "+k)}}return u.apply(this,arguments)}})();mxStencilRegistry.libraries={};mxStencilRegistry.dynamicLoading=!0;mxStencilRegistry.allowEval=!0;mxStencilRegistry.packages=[];
+mxStencilRegistry.getStencil=function(a){var b=mxStencilRegistry.stencils[a];if(null==b&&null==mxCellRenderer.defaultShapes[a]&&mxStencilRegistry.dynamicLoading){var e=mxStencilRegistry.getBasenameForStencil(a);if(null!=e){b=mxStencilRegistry.libraries[e];if(null!=b){if(null==mxStencilRegistry.packages[e]){for(var c=0;c<b.length;c++){var l=b[c];if(".xml"==l.toLowerCase().substring(l.length-4,l.length))mxStencilRegistry.loadStencilSet(l,null);else if(".js"==l.toLowerCase().substring(l.length-3,l.length))try{if(mxStencilRegistry.allowEval){var m=
+mxUtils.load(l);null!=m&&200<=m.getStatus()&&299>=m.getStatus()&&eval.call(window,m.getText())}}catch(q){null!=window.console&&console.log("error in getStencil:",l,q)}}mxStencilRegistry.packages[e]=1}}else e=e.replace("_-_","_"),mxStencilRegistry.loadStencilSet(STENCIL_PATH+"/"+e+".xml",null);b=mxStencilRegistry.stencils[a]}}return b};
+mxStencilRegistry.getBasenameForStencil=function(a){var b=null;if(null!=a&&"string"===typeof a&&(a=a.split("."),0<a.length&&"mxgraph"==a[0]))for(var b=a[1],e=2;e<a.length-1;e++)b+="/"+a[e];return b};
+mxStencilRegistry.loadStencilSet=function(a,b,e,c){var l=mxStencilRegistry.packages[a];if(null!=e&&e||null==l){var m=!1;if(null==l)try{if(c){mxStencilRegistry.loadStencil(a,mxUtils.bind(this,function(c){null!=c&&null!=c.documentElement&&(mxStencilRegistry.packages[a]=c,m=!0,mxStencilRegistry.parseStencilSet(c.documentElement,b,m))}));return}l=mxStencilRegistry.loadStencil(a);mxStencilRegistry.packages[a]=l;m=!0}catch(q){null!=window.console&&console.log("error in loadStencilSet:",a,q)}null!=l&&null!=
 l.documentElement&&mxStencilRegistry.parseStencilSet(l.documentElement,b,m)}};mxStencilRegistry.loadStencil=function(a,b){if(null!=b)mxUtils.get(a,mxUtils.bind(this,function(a){b(200<=a.getStatus()&&299>=a.getStatus()?a.getXml():null)}));else return mxUtils.load(a).getXml()};mxStencilRegistry.parseStencilSets=function(a){for(var b=0;b<a.length;b++)mxStencilRegistry.parseStencilSet(mxUtils.parseXml(a[b]).documentElement)};
-mxStencilRegistry.parseStencilSet=function(a,b,f){if("stencils"==a.nodeName)for(var d=a.firstChild;null!=d;)"shapes"==d.nodeName&&mxStencilRegistry.parseStencilSet(d,b,f),d=d.nextSibling;else{f=null!=f?f:!0;var d=a.firstChild,l="";a=a.getAttribute("name");for(null!=a&&(l=a+".");null!=d;){if(d.nodeType==mxConstants.NODETYPE_ELEMENT&&(a=d.getAttribute("name"),null!=a)){var l=l.toLowerCase(),m=a.replace(/ /g,"_");f&&mxStencilRegistry.addStencil(l+m.toLowerCase(),new mxStencil(d));if(null!=b){var q=d.getAttribute("w"),
-u=d.getAttribute("h"),q=null==q?80:parseInt(q,10),u=null==u?80:parseInt(u,10);b(l,m,a,q,u)}}d=d.nextSibling}}};
-"undefined"!=typeof mxVertexHandler&&function(){function a(){var a=document.createElement("div");a.className="geHint";a.style.whiteSpace="nowrap";a.style.position="absolute";return a}function b(a,c){switch(c){case mxConstants.POINTS:return a;case mxConstants.MILLIMETERS:return(a/mxConstants.PIXELS_PER_MM).toFixed(1);case mxConstants.INCHES:return(a/mxConstants.PIXELS_PER_INCH).toFixed(2)}}mxConstants.HANDLE_FILLCOLOR="#29b6f2";mxConstants.HANDLE_STROKECOLOR="#0088cf";mxConstants.VERTEX_SELECTION_COLOR=
+mxStencilRegistry.parseStencilSet=function(a,b,e){if("stencils"==a.nodeName)for(var c=a.firstChild;null!=c;)"shapes"==c.nodeName&&mxStencilRegistry.parseStencilSet(c,b,e),c=c.nextSibling;else{e=null!=e?e:!0;var c=a.firstChild,l="";a=a.getAttribute("name");for(null!=a&&(l=a+".");null!=c;){if(c.nodeType==mxConstants.NODETYPE_ELEMENT&&(a=c.getAttribute("name"),null!=a)){var l=l.toLowerCase(),m=a.replace(/ /g,"_");e&&mxStencilRegistry.addStencil(l+m.toLowerCase(),new mxStencil(c));if(null!=b){var q=c.getAttribute("w"),
+u=c.getAttribute("h"),q=null==q?80:parseInt(q,10),u=null==u?80:parseInt(u,10);b(l,m,a,q,u)}}c=c.nextSibling}}};
+"undefined"!=typeof mxVertexHandler&&function(){function a(){var a=document.createElement("div");a.className="geHint";a.style.whiteSpace="nowrap";a.style.position="absolute";return a}function b(a,d){switch(d){case mxConstants.POINTS:return a;case mxConstants.MILLIMETERS:return(a/mxConstants.PIXELS_PER_MM).toFixed(1);case mxConstants.INCHES:return(a/mxConstants.PIXELS_PER_INCH).toFixed(2)}}mxConstants.HANDLE_FILLCOLOR="#29b6f2";mxConstants.HANDLE_STROKECOLOR="#0088cf";mxConstants.VERTEX_SELECTION_COLOR=
 "#00a8ff";mxConstants.OUTLINE_COLOR="#00a8ff";mxConstants.OUTLINE_HANDLE_FILLCOLOR="#99ccff";mxConstants.OUTLINE_HANDLE_STROKECOLOR="#00a8ff";mxConstants.CONNECT_HANDLE_FILLCOLOR="#cee7ff";mxConstants.EDGE_SELECTION_COLOR="#00a8ff";mxConstants.DEFAULT_VALID_COLOR="#00a8ff";mxConstants.LABEL_HANDLE_FILLCOLOR="#cee7ff";mxConstants.GUIDE_COLOR="#0088cf";mxConstants.HIGHLIGHT_OPACITY=30;mxConstants.HIGHLIGHT_SIZE=5;mxEdgeHandler.prototype.snapToTerminals=!0;mxGraphHandler.prototype.guidesEnabled=!0;mxGraphHandler.prototype.removeEmptyParents=
-!0;mxRubberband.prototype.fadeOut=!0;mxGuide.prototype.isEnabledForEvent=function(a){return!mxEvent.isAltDown(a)};var f=mxConnectionHandler.prototype.isCreateTarget;mxConnectionHandler.prototype.isCreateTarget=function(a){return mxEvent.isControlDown(a)||f.apply(this,arguments)};mxConstraintHandler.prototype.createHighlightShape=function(){var a=new mxEllipse(null,this.highlightColor,this.highlightColor,0);a.opacity=mxConstants.HIGHLIGHT_OPACITY;return a};mxConnectionHandler.prototype.livePreview=
-!0;mxConnectionHandler.prototype.cursor="crosshair";mxConnectionHandler.prototype.createEdgeState=function(a){a=this.graph.createCurrentEdgeStyle();a=this.graph.createEdge(null,null,null,null,null,a);a=new mxCellState(this.graph.view,a,this.graph.getCellStyle(a));for(var c in this.graph.currentEdgeStyle)a.style[c]=this.graph.currentEdgeStyle[c];return a};var d=mxConnectionHandler.prototype.createShape;mxConnectionHandler.prototype.createShape=function(){var a=d.apply(this,arguments);a.isDashed="1"==
-this.graph.currentEdgeStyle[mxConstants.STYLE_DASHED];return a};mxConnectionHandler.prototype.updatePreview=function(a){};var l=mxConnectionHandler.prototype.createMarker;mxConnectionHandler.prototype.createMarker=function(){var a=l.apply(this,arguments),c=a.getCell;a.getCell=mxUtils.bind(this,function(a){var b=c.apply(this,arguments);this.error=null;return b});return a};Graph.prototype.defaultVertexStyle={};Graph.prototype.defaultEdgeStyle={edgeStyle:"orthogonalEdgeStyle",rounded:"0",jettySize:"auto",
+!0;mxRubberband.prototype.fadeOut=!0;mxGuide.prototype.isEnabledForEvent=function(a){return!mxEvent.isAltDown(a)};var e=mxConnectionHandler.prototype.isCreateTarget;mxConnectionHandler.prototype.isCreateTarget=function(a){return mxEvent.isControlDown(a)||e.apply(this,arguments)};mxConstraintHandler.prototype.createHighlightShape=function(){var a=new mxEllipse(null,this.highlightColor,this.highlightColor,0);a.opacity=mxConstants.HIGHLIGHT_OPACITY;return a};mxConnectionHandler.prototype.livePreview=
+!0;mxConnectionHandler.prototype.cursor="crosshair";mxConnectionHandler.prototype.createEdgeState=function(a){a=this.graph.createCurrentEdgeStyle();a=this.graph.createEdge(null,null,null,null,null,a);a=new mxCellState(this.graph.view,a,this.graph.getCellStyle(a));for(var d in this.graph.currentEdgeStyle)a.style[d]=this.graph.currentEdgeStyle[d];return a};var c=mxConnectionHandler.prototype.createShape;mxConnectionHandler.prototype.createShape=function(){var a=c.apply(this,arguments);a.isDashed="1"==
+this.graph.currentEdgeStyle[mxConstants.STYLE_DASHED];return a};mxConnectionHandler.prototype.updatePreview=function(a){};var l=mxConnectionHandler.prototype.createMarker;mxConnectionHandler.prototype.createMarker=function(){var a=l.apply(this,arguments),d=a.getCell;a.getCell=mxUtils.bind(this,function(a){var b=d.apply(this,arguments);this.error=null;return b});return a};Graph.prototype.defaultVertexStyle={};Graph.prototype.defaultEdgeStyle={edgeStyle:"orthogonalEdgeStyle",rounded:"0",jettySize:"auto",
 orthogonalLoop:"1"};Graph.prototype.createCurrentEdgeStyle=function(){var a="edgeStyle="+(this.currentEdgeStyle.edgeStyle||"none")+";";null!=this.currentEdgeStyle.shape&&(a+="shape="+this.currentEdgeStyle.shape+";");null!=this.currentEdgeStyle.curved&&(a+="curved="+this.currentEdgeStyle.curved+";");null!=this.currentEdgeStyle.rounded&&(a+="rounded="+this.currentEdgeStyle.rounded+";");null!=this.currentEdgeStyle.comic&&(a+="comic="+this.currentEdgeStyle.comic+";");null!=this.currentEdgeStyle.jumpStyle&&
 (a+="jumpStyle="+this.currentEdgeStyle.jumpStyle+";");null!=this.currentEdgeStyle.jumpSize&&(a+="jumpSize="+this.currentEdgeStyle.jumpSize+";");null!=this.currentEdgeStyle.orthogonalLoop?a+="orthogonalLoop="+this.currentEdgeStyle.orthogonalLoop+";":null!=Graph.prototype.defaultEdgeStyle.orthogonalLoop&&(a+="orthogonalLoop="+Graph.prototype.defaultEdgeStyle.orthogonalLoop+";");null!=this.currentEdgeStyle.jettySize?a+="jettySize="+this.currentEdgeStyle.jettySize+";":null!=Graph.prototype.defaultEdgeStyle.jettySize&&
 (a+="jettySize="+Graph.prototype.defaultEdgeStyle.jettySize+";");"elbowEdgeStyle"==this.currentEdgeStyle.edgeStyle&&null!=this.currentEdgeStyle.elbow&&(a+="elbow="+this.currentEdgeStyle.elbow+";");return a=null!=this.currentEdgeStyle.html?a+("html="+this.currentEdgeStyle.html+";"):a+"html=1;"};Graph.prototype.getPagePadding=function(){return new mxPoint(0,0)};Graph.prototype.loadStylesheet=function(){var a=null!=this.themes?this.themes[this.defaultThemeName]:mxStyleRegistry.dynamicLoading?mxUtils.load(STYLE_PATH+
-"/default.xml").getDocumentElement():null;null!=a&&(new mxCodec(a.ownerDocument)).decode(a,this.getStylesheet())};Graph.prototype.createCellLookup=function(a,c){c=null!=c?c:{};for(var b=0;b<a.length;b++){var d=a[b];c[mxObjectIdentity.get(d)]=d.getId();for(var e=this.model.getChildCount(d),k=0;k<e;k++)this.createCellLookup([this.model.getChildAt(d,k)],c)}return c};Graph.prototype.createCellMapping=function(a,c,b){b=null!=b?b:{};for(var d in a){var e=c[d];null==b[e]&&(b[e]=a[d].getId()||"")}return b};
-Graph.prototype.importGraphModel=function(a,c,b,d){c=null!=c?c:0;b=null!=b?b:0;var e=new mxCodec(a.ownerDocument),k=new mxGraphModel;e.decode(a,k);a=[];var e={},f={},g=k.getChildren(this.cloneCell(k.root,this.isCloneInvalidEdges(),e));if(null!=g){var p=this.createCellLookup([k.root]),g=g.slice();this.model.beginUpdate();try{if(1!=g.length||this.isCellLocked(this.getDefaultParent()))for(k=0;k<g.length;k++)a=a.concat(this.model.getChildren(this.moveCells([g[k]],c,b,!1,this.model.getRoot())[0]));else a=
-this.moveCells(k.getChildren(g[0]),c,b,!1,this.getDefaultParent()),f[k.getChildAt(k.root,0).getId()]=this.getDefaultParent().getId();this.createCellMapping(e,p,f);this.updateCustomLinks(f,a);if(d){this.isGridEnabled()&&(c=this.snap(c),b=this.snap(b));var n=this.getBoundingBoxFromGeometry(a,!0);null!=n&&this.moveCells(a,c-n.x,b-n.y)}}finally{this.model.endUpdate()}}return a};Graph.prototype.encodeCells=function(a){for(var c={},b=this.cloneCells(a,null,c),d=new mxDictionary,e=0;e<a.length;e++)d.put(a[e],
-!0);for(e=0;e<b.length;e++){var k=this.view.getState(a[e]);if(null!=k){var f=this.getCellGeometry(b[e]);null==f||!f.relative||this.model.isEdge(a[e])||d.get(this.model.getParent(a[e]))||(f.relative=!1,f.x=k.x/k.view.scale-k.view.translate.x,f.y=k.y/k.view.scale-k.view.translate.y)}}d=new mxCodec;k=new mxGraphModel;f=k.getChildAt(k.getRoot(),0);for(e=0;e<b.length;e++)k.add(f,b[e]);this.updateCustomLinks(this.createCellMapping(c,this.createCellLookup(a)),b);return d.encode(k)};var m=Graph.prototype.moveCells;
-Graph.prototype.moveCells=function(a,c,b,d,e,k,f){f=null!=f?f:{};var g=m.apply(this,arguments);d&&this.updateCustomLinks(this.createCellMapping(f,this.createCellLookup(a)),g);return g};Graph.prototype.updateCustomLinks=function(a,c){for(var b=0;b<c.length;b++)null!=c[b]&&this.updateCustomLinksForCell(a,c[b])};Graph.prototype.updateCustomLinksForCell=function(a,c){};Graph.prototype.getAllConnectionConstraints=function(a,c){if(null!=a){var b=mxUtils.getValue(a.style,"points",null);if(null!=b){var d=
-[];try{for(var e=JSON.parse(b),b=0;b<e.length;b++){var k=e[b];d.push(new mxConnectionConstraint(new mxPoint(k[0],k[1]),2<k.length?"0"!=k[2]:!0,null,3<k.length?k[3]:0,4<k.length?k[4]:0))}}catch(R){}return d}if(null!=a.shape&&null!=a.shape.bounds){k=a.shape.direction;e=a.shape.bounds;b=a.shape.scale;d=e.width/b;e=e.height/b;if(k==mxConstants.DIRECTION_NORTH||k==mxConstants.DIRECTION_SOUTH)k=d,d=e,e=k;b=a.shape.getConstraints(a.style,d,e);if(null!=b)return b;if(null!=a.shape.stencil&&null!=a.shape.stencil.constraints)return a.shape.stencil.constraints;
-if(null!=a.shape.constraints)return a.shape.constraints}}return null};Graph.prototype.flipEdge=function(a){if(null!=a){var c=this.view.getState(a),c=null!=c?c.style:this.getCellStyle(a);null!=c&&(c=mxUtils.getValue(c,mxConstants.STYLE_ELBOW,mxConstants.ELBOW_HORIZONTAL)==mxConstants.ELBOW_HORIZONTAL?mxConstants.ELBOW_VERTICAL:mxConstants.ELBOW_HORIZONTAL,this.setCellStyles(mxConstants.STYLE_ELBOW,c,[a]))}};Graph.prototype.isValidRoot=function(a){for(var c=this.model.getChildCount(a),b=0,d=0;d<c;d++){var e=
-this.model.getChildAt(a,d);this.model.isVertex(e)&&(e=this.getCellGeometry(e),null==e||e.relative||b++)}return 0<b||this.isContainer(a)};Graph.prototype.isValidDropTarget=function(a){var c=this.view.getState(a),c=null!=c?c.style:this.getCellStyle(a);return"1"!=mxUtils.getValue(c,"part","0")&&(this.isContainer(a)||mxGraph.prototype.isValidDropTarget.apply(this,arguments)&&"0"!=mxUtils.getValue(c,"dropTarget","1"))};Graph.prototype.createGroupCell=function(){var a=mxGraph.prototype.createGroupCell.apply(this,
-arguments);a.setStyle("group");return a};Graph.prototype.isExtendParentsOnAdd=function(a){var c=mxGraph.prototype.isExtendParentsOnAdd.apply(this,arguments);if(c&&null!=a&&null!=this.layoutManager){var b=this.model.getParent(a);null!=b&&(b=this.layoutManager.getLayout(b),null!=b&&b.constructor==mxStackLayout&&(c=!1))}return c};Graph.prototype.getPreferredSizeForCell=function(a){var c=mxGraph.prototype.getPreferredSizeForCell.apply(this,arguments);null!=c&&(c.width+=10,c.height+=4,this.gridEnabled&&
-(c.width=this.snap(c.width),c.height=this.snap(c.height)));return c};Graph.prototype.turnShapes=function(a){var c=this.getModel(),b=[];c.beginUpdate();try{for(var d=0;d<a.length;d++){var e=a[d];if(c.isEdge(e)){var k=c.getTerminal(e,!0),f=c.getTerminal(e,!1);c.setTerminal(e,f,!0);c.setTerminal(e,k,!1);var g=c.getGeometry(e);if(null!=g){g=g.clone();null!=g.points&&g.points.reverse();var p=g.getTerminalPoint(!0),n=g.getTerminalPoint(!1);g.setTerminalPoint(p,!1);g.setTerminalPoint(n,!0);c.setGeometry(e,
-g);var B=this.view.getState(e),x=this.view.getState(k),t=this.view.getState(f);if(null!=B){var A=null!=x?this.getConnectionConstraint(B,x,!0):null,v=null!=t?this.getConnectionConstraint(B,t,!1):null;this.setConnectionConstraint(e,k,!0,v);this.setConnectionConstraint(e,f,!1,A)}b.push(e)}}else if(c.isVertex(e)&&(g=this.getCellGeometry(e),null!=g)){g=g.clone();g.x+=g.width/2-g.height/2;g.y+=g.height/2-g.width/2;var l=g.width;g.width=g.height;g.height=l;c.setGeometry(e,g);var y=this.view.getState(e);
-if(null!=y){var Q=y.style[mxConstants.STYLE_DIRECTION]||"east";"east"==Q?Q="south":"south"==Q?Q="west":"west"==Q?Q="north":"north"==Q&&(Q="east");this.setCellStyles(mxConstants.STYLE_DIRECTION,Q,[e])}b.push(e)}}}finally{c.endUpdate()}return b};Graph.prototype.stencilHasPlaceholders=function(a){if(null!=a&&null!=a.fgNode)for(a=a.fgNode.firstChild;null!=a;){if("text"==a.nodeName&&"1"==a.getAttribute("placeholders"))return!0;a=a.nextSibling}return!1};Graph.prototype.processChange=function(a){mxGraph.prototype.processChange.apply(this,
-arguments);if(a instanceof mxValueChange&&null!=a.cell&&null!=a.cell.value&&"object"==typeof a.cell.value){var c=this.model.getDescendants(a.cell);if(0<c.length)for(var b=0;b<c.length;b++){var e=this.view.getState(c[b]);null!=e&&null!=e.shape&&null!=e.shape.stencil&&this.stencilHasPlaceholders(e.shape.stencil)?this.removeStateForCell(c[b]):this.isReplacePlaceholders(c[b])&&this.view.invalidate(c[b],!1,!1)}}};Graph.prototype.replaceElement=function(a,c){for(var b=a.ownerDocument.createElement(null!=
-c?c:"span"),e=Array.prototype.slice.call(a.attributes);attr=e.pop();)b.setAttribute(attr.nodeName,attr.nodeValue);b.innerHTML=a.innerHTML;a.parentNode.replaceChild(b,a)};Graph.prototype.processElements=function(a,c){if(null!=a)for(var b=a.getElementsByTagName("*"),e=0;e<b.length;e++)c(b[e])};Graph.prototype.updateLabelElements=function(a,c,b){a=null!=a?a:this.getSelectionCells();for(var e=document.createElement("div"),d=0;d<a.length;d++)if(this.isHtmlLabel(a[d])){var k=this.convertValueToString(a[d]);
-if(null!=k&&0<k.length){e.innerHTML=k;for(var g=e.getElementsByTagName(null!=b?b:"*"),f=0;f<g.length;f++)c(g[f]);e.innerHTML!=k&&this.cellLabelChanged(a[d],e.innerHTML)}}};Graph.prototype.cellLabelChanged=function(a,c,b){c=Graph.zapGremlins(c);this.model.beginUpdate();try{if(null!=a.value&&"object"==typeof a.value){if(this.isReplacePlaceholders(a)&&null!=a.getAttribute("placeholder"))for(var e=a.getAttribute("placeholder"),d=a;null!=d;){if(d==this.model.getRoot()||null!=d.value&&"object"==typeof d.value&&
-d.hasAttribute(e)){this.setAttributeForCell(d,e,c);break}d=this.model.getParent(d)}var k=a.value.cloneNode(!0);k.setAttribute("label",c);c=k}mxGraph.prototype.cellLabelChanged.apply(this,arguments)}finally{this.model.endUpdate()}};Graph.prototype.cellsRemoved=function(a){if(null!=a){for(var c=new mxDictionary,b=0;b<a.length;b++)c.put(a[b],!0);for(var e=[],b=0;b<a.length;b++){var d=this.model.getParent(a[b]);null==d||c.get(d)||(c.put(d,!0),e.push(d))}for(b=0;b<e.length;b++)if(d=this.view.getState(e[b]),
-null!=d&&(this.model.isEdge(d.cell)||this.model.isVertex(d.cell))&&this.isCellDeletable(d.cell)&&this.isTransparentState(d)){for(var k=!0,g=0;g<this.model.getChildCount(d.cell)&&k;g++)c.get(this.model.getChildAt(d.cell,g))||(k=!1);k&&a.push(d.cell)}}mxGraph.prototype.cellsRemoved.apply(this,arguments)};Graph.prototype.removeCellsAfterUngroup=function(a){for(var c=[],b=0;b<a.length;b++)this.isCellDeletable(a[b])&&this.isTransparentState(this.view.getState(a[b]))&&c.push(a[b]);a=c;mxGraph.prototype.removeCellsAfterUngroup.apply(this,
-arguments)};Graph.prototype.setLinkForCell=function(a,c){this.setAttributeForCell(a,"link",c)};Graph.prototype.setTooltipForCell=function(a,c){this.setAttributeForCell(a,"tooltip",c)};Graph.prototype.getAttributeForCell=function(a,c,b){return null!=a.value&&"object"===typeof a.value?a.value.getAttribute(c)||b:b};Graph.prototype.setAttributeForCell=function(a,c,b){var e;null!=a.value&&"object"==typeof a.value?e=a.value.cloneNode(!0):(e=mxUtils.createXmlDocument().createElement("UserObject"),e.setAttribute("label",
-a.value||""));null!=b?e.setAttribute(c,b):e.removeAttribute(c);this.model.setValue(a,e)};Graph.prototype.getDropTarget=function(a,c,b,e){this.getModel();if(mxEvent.isAltDown(c))return null;for(var d=0;d<a.length;d++)if(this.model.isEdge(this.model.getParent(a[d])))return null;return mxGraph.prototype.getDropTarget.apply(this,arguments)};Graph.prototype.click=function(a){mxGraph.prototype.click.call(this,a);this.firstClickState=a.getState();this.firstClickSource=a.getSource()};Graph.prototype.dblClick=
-function(a,c){if(this.isEnabled()){var b=mxUtils.convertPoint(this.container,mxEvent.getClientX(a),mxEvent.getClientY(a));if(null!=a&&!this.model.isVertex(c)){var e=this.model.isEdge(c)?this.view.getState(c):null,d=mxEvent.getSource(a);this.firstClickState!=e||this.firstClickSource!=d||null!=e&&null!=e.text&&null!=e.text.node&&null!=e.text.boundingBox&&(mxUtils.contains(e.text.boundingBox,b.x,b.y)||mxUtils.isAncestorNode(e.text.node,mxEvent.getSource(a)))||(null!=e||this.isCellLocked(this.getDefaultParent()))&&
-(null==e||this.isCellLocked(e.cell))||!(null!=e||mxClient.IS_VML&&d==this.view.getCanvas()||mxClient.IS_SVG&&d==this.view.getCanvas().ownerSVGElement)||(c=this.addText(b.x,b.y,e))}mxGraph.prototype.dblClick.call(this,a,c)}};Graph.prototype.getInsertPoint=function(){var a=this.getGridSize(),c=this.container.scrollLeft/this.view.scale-this.view.translate.x,b=this.container.scrollTop/this.view.scale-this.view.translate.y;if(this.pageVisible)var e=this.getPageLayout(),d=this.getPageSize(),c=Math.max(c,
-e.x*d.width),b=Math.max(b,e.y*d.height);return new mxPoint(this.snap(c+a),this.snap(b+a))};Graph.prototype.getFreeInsertPoint=function(){var a=this.view,c=this.getGraphBounds(),b=this.getInsertPoint(),e=this.snap(Math.round(Math.max(b.x,c.x/a.scale-a.translate.x+(0==c.width?2*this.gridSize:0)))),a=this.snap(Math.round(Math.max(b.y,(c.y+c.height)/a.scale-a.translate.y+2*this.gridSize)));return new mxPoint(e,a)};Graph.prototype.isMouseInsertPoint=function(){return!1};Graph.prototype.addText=function(a,
-c,b){var e=new mxCell;e.value="Text";e.style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];";e.geometry=new mxGeometry(0,0,0,0);e.vertex=!0;if(null!=b){e.style+="labelBackgroundColor=#ffffff;";e.geometry.relative=!0;e.connectable=!1;var d=this.view.getRelativePoint(b,a,c);e.geometry.x=Math.round(1E4*d.x)/1E4;e.geometry.y=Math.round(d.y);e.geometry.offset=new mxPoint(0,0);var d=this.view.getPoint(b,e.geometry),k=this.view.scale;e.geometry.offset=new mxPoint(Math.round((a-d.x)/
-k),Math.round((c-d.y)/k))}else e.style+="autosize=1;",d=this.view.translate,e.geometry.width=40,e.geometry.height=20,e.geometry.x=Math.round(a/this.view.scale)-d.x,e.geometry.y=Math.round(c/this.view.scale)-d.y;this.getModel().beginUpdate();try{this.addCells([e],null!=b?b.cell:null),this.fireEvent(new mxEventObject("textInserted","cells",[e])),this.autoSizeCell(e)}finally{this.getModel().endUpdate()}return e};Graph.prototype.addClickHandler=function(a,c,b){var e=mxUtils.bind(this,function(){var a=
-this.container.getElementsByTagName("a");if(null!=a)for(var b=0;b<a.length;b++){var e=this.getAbsoluteUrl(a[b].getAttribute("href"));null!=e&&(a[b].setAttribute("rel",this.linkRelation),a[b].setAttribute("href",e),null!=c&&mxEvent.addGestureListeners(a[b],null,null,c))}});this.model.addListener(mxEvent.CHANGE,e);e();var d=this.container.style.cursor,k=this.getTolerance(),g=this,f={currentState:null,currentLink:null,highlight:null!=a&&""!=a&&a!=mxConstants.NONE?new mxCellHighlight(g,a,4):null,startX:0,
-startY:0,scrollLeft:0,scrollTop:0,updateCurrentState:function(a){var c=a.sourceState;if(null==c||null==g.getLinkForCell(c.cell))a=g.getCellAt(a.getGraphX(),a.getGraphY(),null,null,null,function(a,c,b){return null==g.getLinkForCell(a.cell)}),c=g.view.getState(a);c!=this.currentState&&(null!=this.currentState&&this.clear(),this.currentState=c,null!=this.currentState&&this.activate(this.currentState))},mouseDown:function(a,c){this.startX=c.getGraphX();this.startY=c.getGraphY();this.scrollLeft=g.container.scrollLeft;
-this.scrollTop=g.container.scrollTop;null==this.currentLink&&"auto"==g.container.style.overflow&&(g.container.style.cursor="move");this.updateCurrentState(c)},mouseMove:function(a,c){if(g.isMouseDown){if(null!=this.currentLink){var b=Math.abs(this.startX-c.getGraphX()),e=Math.abs(this.startY-c.getGraphY());(b>k||e>k)&&this.clear()}}else{for(b=c.getSource();null!=b&&"a"!=b.nodeName.toLowerCase();)b=b.parentNode;null!=b?this.clear():(null!=g.tooltipHandler&&null!=this.currentLink&&null!=this.currentState&&
-g.tooltipHandler.reset(c,!0,this.currentState),(null==this.currentState||c.getState()!=this.currentState&&null!=c.sourceState||!g.intersects(this.currentState,c.getGraphX(),c.getGraphY()))&&this.updateCurrentState(c))}},mouseUp:function(a,e){for(var d=e.getSource(),f=e.getEvent();null!=d&&"a"!=d.nodeName.toLowerCase();)d=d.parentNode;null==d&&Math.abs(this.scrollLeft-g.container.scrollLeft)<k&&Math.abs(this.scrollTop-g.container.scrollTop)<k&&(null==e.sourceState||!e.isSource(e.sourceState.control))&&
-((mxEvent.isLeftMouseButton(f)||mxEvent.isMiddleMouseButton(f))&&!mxEvent.isPopupTrigger(f)||mxEvent.isTouchEvent(f))&&(null!=this.currentLink?(d=g.isBlankLink(this.currentLink),"data:"!==this.currentLink.substring(0,5)&&d||null==c||c(f,this.currentLink),mxEvent.isConsumed(f)||(f=mxEvent.isMiddleMouseButton(f)?"_blank":d?g.linkTarget:"_top",g.openLink(this.currentLink,f),e.consume())):null!=b&&!e.isConsumed()&&Math.abs(this.scrollLeft-g.container.scrollLeft)<k&&Math.abs(this.scrollTop-g.container.scrollTop)<
-k&&Math.abs(this.startX-e.getGraphX())<k&&Math.abs(this.startY-e.getGraphY())<k&&b(e.getEvent()));this.clear()},activate:function(a){this.currentLink=g.getAbsoluteUrl(g.getLinkForCell(a.cell));null!=this.currentLink&&(g.container.style.cursor="pointer",null!=this.highlight&&this.highlight.highlight(a))},clear:function(){null!=g.container&&(g.container.style.cursor=d);this.currentLink=this.currentState=null;null!=this.highlight&&this.highlight.hide();null!=g.tooltipHandler&&g.tooltipHandler.hide()}};
-g.click=function(a){};g.addMouseListener(f);mxEvent.addListener(document,"mouseleave",function(a){f.clear()})};Graph.prototype.duplicateCells=function(a,c){a=null!=a?a:this.getSelectionCells();c=null!=c?c:!0;a=this.model.getTopmostCells(a);var b=this.getModel(),e=this.gridSize,d=[];b.beginUpdate();try{for(var k=this.cloneCells(a,!1,null,!0),g=0;g<a.length;g++){var f=b.getParent(a[g]),p=this.moveCells([k[g]],e,e,!1)[0];d.push(p);if(c)b.add(f,k[g]);else{var n=f.getIndex(a[g]);b.add(f,k[g],n+1)}}}finally{b.endUpdate()}return d};
-Graph.prototype.insertImage=function(a,c,b){if(null!=a&&null!=this.cellEditor.textarea){for(var e=this.cellEditor.textarea.getElementsByTagName("img"),d=[],k=0;k<e.length;k++)d.push(e[k]);document.execCommand("insertimage",!1,a);a=this.cellEditor.textarea.getElementsByTagName("img");if(a.length==d.length+1)for(k=a.length-1;0<=k;k--)if(0==k||a[k]!=d[k-1]){a[k].setAttribute("width",c);a[k].setAttribute("height",b);break}}};Graph.prototype.insertLink=function(a){if(null!=this.cellEditor.textarea)if(0==
-a.length)document.execCommand("unlink",!1);else if(mxClient.IS_FF){for(var c=this.cellEditor.textarea.getElementsByTagName("a"),b=[],e=0;e<c.length;e++)b.push(c[e]);document.execCommand("createlink",!1,mxUtils.trim(a));c=this.cellEditor.textarea.getElementsByTagName("a");if(c.length==b.length+1)for(e=c.length-1;0<=e;e--)if(c[e]!=b[e-1]){for(c=c[e].getElementsByTagName("a");0<c.length;){for(b=c[0].parentNode;null!=c[0].firstChild;)b.insertBefore(c[0].firstChild,c[0]);b.removeChild(c[0])}break}}else document.execCommand("createlink",
-!1,mxUtils.trim(a))};Graph.prototype.isCellResizable=function(a){var c=mxGraph.prototype.isCellResizable.apply(this,arguments),b=this.view.getState(a),b=null!=b?b.style:this.getCellStyle(a);return c||"0"!=mxUtils.getValue(b,mxConstants.STYLE_RESIZABLE,"1")&&"wrap"==b[mxConstants.STYLE_WHITE_SPACE]};Graph.prototype.distributeCells=function(a,c){null==c&&(c=this.getSelectionCells());if(null!=c&&1<c.length){for(var b=[],e=null,d=null,k=0;k<c.length;k++)if(this.getModel().isVertex(c[k])){var g=this.view.getState(c[k]);
-if(null!=g){var f=a?g.getCenterX():g.getCenterY(),e=null!=e?Math.max(e,f):f,d=null!=d?Math.min(d,f):f;b.push(g)}}if(2<b.length){b.sort(function(c,b){return a?c.x-b.x:c.y-b.y});g=this.view.translate;f=this.view.scale;d=d/f-(a?g.x:g.y);e=e/f-(a?g.x:g.y);this.getModel().beginUpdate();try{for(var p=(e-d)/(b.length-1),e=d,k=1;k<b.length-1;k++){var n=this.view.getState(this.model.getParent(b[k].cell)),B=this.getCellGeometry(b[k].cell),e=e+p;null!=B&&null!=n&&(B=B.clone(),a?B.x=Math.round(e-B.width/2)-n.origin.x:
-B.y=Math.round(e-B.height/2)-n.origin.y,this.getModel().setGeometry(b[k].cell,B))}}finally{this.getModel().endUpdate()}}}return c};Graph.prototype.isCloneEvent=function(a){return mxClient.IS_MAC&&mxEvent.isMetaDown(a)||mxEvent.isControlDown(a)};Graph.prototype.createSvgImageExport=function(){var a=new mxImageExport;a.getLinkForCellState=mxUtils.bind(this,function(a,c){return this.getLinkForCell(a.cell)});return a};Graph.prototype.getSvg=function(a,c,b,e,d,k,g,f,p,n){var B=this.useCssTransforms;B&&
-(this.useCssTransforms=!1,this.view.revalidate(),this.sizeDidChange());try{c=null!=c?c:1;b=null!=b?b:0;d=null!=d?d:!0;k=null!=k?k:!0;g=null!=g?g:!0;var x=k||e?this.getGraphBounds():this.getBoundingBox(this.getSelectionCells());if(null==x)throw Error(mxResources.get("drawingEmpty"));var t=this.view.scale,A=mxUtils.createXmlDocument(),v=null!=A.createElementNS?A.createElementNS(mxConstants.NS_SVG,"svg"):A.createElement("svg");null!=a&&(null!=v.style?v.style.backgroundColor=a:v.setAttribute("style",
-"background-color:"+a));null==A.createElementNS?(v.setAttribute("xmlns",mxConstants.NS_SVG),v.setAttribute("xmlns:xlink",mxConstants.NS_XLINK)):v.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink",mxConstants.NS_XLINK);a=c/t;var l=Math.max(1,Math.ceil(x.width*a)+2*b)+(n?5:0),y=Math.max(1,Math.ceil(x.height*a)+2*b)+(n?5:0);v.setAttribute("version","1.1");v.setAttribute("width",l+"px");v.setAttribute("height",y+"px");v.setAttribute("viewBox",(d?"-0.5 -0.5":"0 0")+" "+l+" "+y);A.appendChild(v);
-var L=null!=A.createElementNS?A.createElementNS(mxConstants.NS_SVG,"g"):A.createElement("g");v.appendChild(L);var u=this.createSvgCanvas(L);u.foOffset=d?-.5:0;u.textOffset=d?-.5:0;u.imageOffset=d?-.5:0;u.translate(Math.floor((b/c-x.x)/t),Math.floor((b/c-x.y)/t));var m=document.createElement("div"),I=u.getAlternateText;u.getAlternateText=function(a,c,b,e,d,k,g,f,p,n,B,x,t){if(null!=k&&0<this.state.fontSize)try{mxUtils.isNode(k)?k=k.innerText:(m.innerHTML=k,k=mxUtils.extractTextWithWhitespace(m.childNodes));
-for(var v=Math.ceil(2*e/this.state.fontSize),A=[],l=0,y=0;(0==v||l<v)&&y<k.length;){var L=k.charCodeAt(y);if(10==L||13==L){if(0<l)break}else A.push(k.charAt(y)),255>L&&l++;y++}A.length<k.length&&1<k.length-A.length&&(k=mxUtils.trim(A.join(""))+"...");return k}catch(Ga){return I.apply(this,arguments)}else return I.apply(this,arguments)};var q=this.backgroundImage;if(null!=q){c=t/c;var G=this.view.translate,E=new mxRectangle(G.x*c,G.y*c,q.width*c,q.height*c);mxUtils.intersects(x,E)&&u.image(G.x,G.y,
-q.width,q.height,q.src,!0)}u.scale(a);u.textEnabled=g;f=null!=f?f:this.createSvgImageExport();var Q=f.drawCellState,z=f.getLinkForCellState;f.getLinkForCellState=function(a,c){var b=z.apply(this,arguments);return null==b||a.view.graph.isCustomLink(b)?null:b};f.drawCellState=function(a,c){for(var b=a.view.graph,e=b.isCellSelected(a.cell),d=b.model.getParent(a.cell);!k&&!e&&null!=d;)e=b.isCellSelected(d),d=b.model.getParent(d);(k||e)&&Q.apply(this,arguments)};f.drawState(this.getView().getState(this.model.root),
-u);this.updateSvgLinks(v,p,!0);return v}finally{B&&(this.useCssTransforms=!0,this.view.revalidate(),this.sizeDidChange())}};Graph.prototype.updateSvgLinks=function(a,c,b){a=a.getElementsByTagName("a");for(var e=0;e<a.length;e++){var d=a[e].getAttribute("href");null==d&&(d=a[e].getAttribute("xlink:href"));null!=d&&(null!=c&&/^https?:\/\//.test(d)?a[e].setAttribute("target",c):b&&this.isCustomLink(d)&&a[e].setAttribute("href","javascript:void(0);"))}};Graph.prototype.createSvgCanvas=function(a){a=new mxSvgCanvas2D(a);
-a.pointerEvents=!0;return a};Graph.prototype.getSelectedElement=function(){var a=null;if(window.getSelection){var c=window.getSelection();c.getRangeAt&&c.rangeCount&&(a=c.getRangeAt(0).commonAncestorContainer)}else document.selection&&(a=document.selection.createRange().parentElement());return a};Graph.prototype.getParentByName=function(a,c,b){for(;null!=a&&a.nodeName!=c;){if(a==b)return null;a=a.parentNode}return a};Graph.prototype.getParentByNames=function(a,c,b){for(;null!=a&&!(0<=mxUtils.indexOf(c,
-a.nodeName));){if(a==b)return null;a=a.parentNode}return a};Graph.prototype.selectNode=function(a){var c=null;if(window.getSelection){if(c=window.getSelection(),c.getRangeAt&&c.rangeCount){var b=document.createRange();b.selectNode(a);c.removeAllRanges();c.addRange(b)}}else(c=document.selection)&&"Control"!=c.type&&(a=c.createRange(),a.collapse(!0),b=c.createRange(),b.setEndPoint("StartToStart",a),b.select())};Graph.prototype.insertRow=function(a,c){for(var b=a.tBodies[0],e=b.rows[0].cells,d=0,k=0;k<
-e.length;k++)var g=e[k].getAttribute("colspan"),d=d+(null!=g?parseInt(g):1);b=b.insertRow(c);for(k=0;k<d;k++)mxUtils.br(b.insertCell(-1));return b.cells[0]};Graph.prototype.deleteRow=function(a,c){a.tBodies[0].deleteRow(c)};Graph.prototype.insertColumn=function(a,c){var b=a.tHead;if(null!=b)for(var e=0;e<b.rows.length;e++){var d=document.createElement("th");b.rows[e].appendChild(d);mxUtils.br(d)}b=a.tBodies[0];for(e=0;e<b.rows.length;e++)d=b.rows[e].insertCell(c),mxUtils.br(d);return b.rows[0].cells[0<=
-c?c:b.rows[0].cells.length-1]};Graph.prototype.deleteColumn=function(a,c){if(0<=c)for(var b=a.tBodies[0].rows,e=0;e<b.length;e++)b[e].cells.length>c&&b[e].deleteCell(c)};Graph.prototype.pasteHtmlAtCaret=function(a){var c;if(window.getSelection){if(c=window.getSelection(),c.getRangeAt&&c.rangeCount){c=c.getRangeAt(0);c.deleteContents();var b=document.createElement("div");b.innerHTML=a;a=document.createDocumentFragment();for(var e;e=b.firstChild;)lastNode=a.appendChild(e);c.insertNode(a)}}else(c=document.selection)&&
-"Control"!=c.type&&c.createRange().pasteHTML(a)};Graph.prototype.createLinkForHint=function(a,c){function b(a,c){a.length>c&&(a=a.substring(0,Math.round(c/2))+"..."+a.substring(a.length-Math.round(c/4)));return a}a=null!=a?a:"javascript:void(0);";if(null==c||0==c.length)c=this.isCustomLink(a)?this.getLinkTitle(a):a;var e=document.createElement("a");e.setAttribute("rel",this.linkRelation);e.setAttribute("href",this.getAbsoluteUrl(a));e.setAttribute("title",b(this.isCustomLink(a)?this.getLinkTitle(a):
-a,80));null!=this.linkTarget&&e.setAttribute("target",this.linkTarget);mxUtils.write(e,b(c,40));this.isCustomLink(a)&&mxEvent.addListener(e,"click",mxUtils.bind(this,function(c){this.customLinkClicked(a);mxEvent.consume(c)}));return e};Graph.prototype.initTouch=function(){this.connectionHandler.marker.isEnabled=function(){return null!=this.graph.connectionHandler.first};this.addListener(mxEvent.START_EDITING,function(a,c){this.popupMenuHandler.hideMenu()});var a=this.updateMouseEvent;this.updateMouseEvent=
-function(c){c=a.apply(this,arguments);if(mxEvent.isTouchEvent(c.getEvent())&&null==c.getState()){var b=this.getCellAt(c.graphX,c.graphY);null!=b&&this.isSwimlane(b)&&this.hitsSwimlaneContent(b,c.graphX,c.graphY)||(c.state=this.view.getState(b),null!=c.state&&null!=c.state.shape&&(this.container.style.cursor=c.state.shape.node.style.cursor))}null==c.getState()&&this.isEnabled()&&(this.container.style.cursor="default");return c};var c=!1,b=!1,e=!1,d=this.fireMouseEvent;this.fireMouseEvent=function(a,
-k,g){a==mxEvent.MOUSE_DOWN&&(k=this.updateMouseEvent(k),c=this.isCellSelected(k.getCell()),b=this.isSelectionEmpty(),e=this.popupMenuHandler.isMenuShowing());d.apply(this,arguments)};this.popupMenuHandler.mouseUp=mxUtils.bind(this,function(a,d){this.popupMenuHandler.popupTrigger=!this.isEditing()&&this.isEnabled()&&(null==d.getState()||!d.isSource(d.getState().control))&&(this.popupMenuHandler.popupTrigger||!e&&!mxEvent.isMouseEvent(d.getEvent())&&(b&&null==d.getCell()&&this.isSelectionEmpty()||c&&
-this.isCellSelected(d.getCell())));mxPopupMenuHandler.prototype.mouseUp.apply(this.popupMenuHandler,arguments)})};mxCellEditor.prototype.isContentEditing=function(){var a=this.graph.view.getState(this.editingCell);return null!=a&&1==a.style.html};mxCellEditor.prototype.isTableSelected=function(){return null!=this.graph.getParentByName(this.graph.getSelectedElement(),"TABLE",this.textarea)};mxCellEditor.prototype.alignText=function(a,c){var b=null!=c&&mxEvent.isShiftDown(c);if(b||null!=window.getSelection&&
-null!=window.getSelection().containsNode){var e=!0;this.graph.processElements(this.textarea,function(a){b||window.getSelection().containsNode(a,!0)?(a.removeAttribute("align"),a.style.textAlign=null):e=!1});e&&this.graph.cellEditor.setAlign(a)}document.execCommand("justify"+a.toLowerCase(),!1,null)};mxCellEditor.prototype.saveSelection=function(){if(window.getSelection){var a=window.getSelection();if(a.getRangeAt&&a.rangeCount){for(var c=[],b=0,e=a.rangeCount;b<e;++b)c.push(a.getRangeAt(b));return c}}else if(document.selection&&
-document.selection.createRange)return document.selection.createRange();return null};mxCellEditor.prototype.restoreSelection=function(a){try{if(a)if(window.getSelection){sel=window.getSelection();sel.removeAllRanges();for(var c=0,b=a.length;c<b;++c)sel.addRange(a[c])}else document.selection&&a.select&&a.select()}catch(U){}};var q=mxCellRenderer.prototype.initializeLabel;mxCellRenderer.prototype.initializeLabel=function(a){null!=a.text&&(a.text.replaceLinefeeds="0"!=mxUtils.getValue(a.style,"nl2Br",
-"1"));q.apply(this,arguments)};var u=mxConstraintHandler.prototype.update;mxConstraintHandler.prototype.update=function(a,c){this.isKeepFocusEvent(a)||!mxEvent.isAltDown(a.getEvent())?u.apply(this,arguments):this.reset()};mxGuide.prototype.createGuideShape=function(a){return new mxPolyline([],mxConstants.GUIDE_COLOR,mxConstants.GUIDE_STROKEWIDTH)};mxCellEditor.prototype.escapeCancelsEditing=!1;var z=mxCellEditor.prototype.startEditing;mxCellEditor.prototype.startEditing=function(a,c){z.apply(this,
-arguments);var b=this.graph.view.getState(a);this.textarea.className=null!=b&&1==b.style.html?"mxCellEditor geContentEditable":"mxCellEditor mxPlainTextEditor";this.codeViewMode=!1;this.switchSelectionState=null;this.graph.setSelectionCell(a);var b=this.graph.getModel().getParent(a),e=this.graph.getCellGeometry(a);this.graph.getModel().isEdge(b)&&null!=e&&e.relative||this.graph.getModel().isEdge(a)?mxClient.IS_QUIRKS?this.textarea.style.border="gray dotted 1px":this.textarea.style.outline=mxClient.IS_IE||
-mxClient.IS_IE11||mxClient.IS_FF&&mxClient.IS_WIN?"gray dotted 1px":"":mxClient.IS_QUIRKS&&(this.textarea.style.outline="none",this.textarea.style.border="")};var C=mxCellEditor.prototype.installListeners;mxCellEditor.prototype.installListeners=function(a){function c(a,b){b.originalNode=a;a=a.firstChild;for(var e=b.firstChild;null!=a&&null!=e;)c(a,e),a=a.nextSibling,e=e.nextSibling;return b}function b(a,c){if(null!=a)if(c.originalNode!=a)e(a);else for(a=a.firstChild,c=c.firstChild;null!=a;){var d=
-a.nextSibling;null==c?e(a):(b(a,c),c=c.nextSibling);a=d}}function e(a){for(var c=a.firstChild;null!=c;){var b=c.nextSibling;e(c);c=b}1==a.nodeType&&("BR"===a.nodeName||null!=a.firstChild)||3==a.nodeType&&0!=mxUtils.trim(mxUtils.getTextContent(a)).length?(3==a.nodeType&&mxUtils.setTextContent(a,mxUtils.getTextContent(a).replace(/\n|\r/g,"")),1==a.nodeType&&(a.removeAttribute("style"),a.removeAttribute("class"),a.removeAttribute("width"),a.removeAttribute("cellpadding"),a.removeAttribute("cellspacing"),
-a.removeAttribute("border"))):a.parentNode.removeChild(a)}C.apply(this,arguments);mxClient.IS_QUIRKS||7===document.documentMode||8===document.documentMode||mxEvent.addListener(this.textarea,"paste",mxUtils.bind(this,function(a){var e=c(this.textarea,this.textarea.cloneNode(!0));window.setTimeout(mxUtils.bind(this,function(){null!=this.textarea&&(0<=this.textarea.innerHTML.indexOf("<o:OfficeDocumentSettings>")||0<=this.textarea.innerHTML.indexOf("\x3c!--[if !mso]>"))&&b(this.textarea,e)}),0)}))};mxCellEditor.prototype.toggleViewMode=
-function(){var a=this.graph.view.getState(this.editingCell);if(null!=a){var c=null!=a&&"0"!=mxUtils.getValue(a.style,"nl2Br","1"),b=this.saveSelection();if(this.codeViewMode){p=mxUtils.extractTextWithWhitespace(this.textarea.childNodes);0<p.length&&"\n"==p.charAt(p.length-1)&&(p=p.substring(0,p.length-1));p=this.graph.sanitizeHtml(c?p.replace(/\n/g,"<br/>"):p,!0);this.textarea.className="mxCellEditor geContentEditable";var e=mxUtils.getValue(a.style,mxConstants.STYLE_FONTSIZE,mxConstants.DEFAULT_FONTSIZE),
-c=mxUtils.getValue(a.style,mxConstants.STYLE_FONTFAMILY,mxConstants.DEFAULT_FONTFAMILY),d=mxUtils.getValue(a.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_LEFT),k=(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD,g=(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC,f=[];(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&f.push("underline");
-(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_STRIKETHROUGH)==mxConstants.FONT_STRIKETHROUGH&&f.push("line-through");this.textarea.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?Math.round(e*mxConstants.LINE_HEIGHT)+"px":mxConstants.LINE_HEIGHT;this.textarea.style.fontSize=Math.round(e)+"px";this.textarea.style.textDecoration=f.join(" ");this.textarea.style.fontWeight=k?"bold":"normal";this.textarea.style.fontStyle=g?"italic":"";this.textarea.style.fontFamily=c;this.textarea.style.textAlign=
-d;this.textarea.style.padding="0px";this.textarea.innerHTML!=p&&(this.textarea.innerHTML=p,0==this.textarea.innerHTML.length&&(this.textarea.innerHTML=this.getEmptyLabelText(),this.clearOnChange=0<this.textarea.innerHTML.length));this.codeViewMode=!1}else{this.clearOnChange&&this.textarea.innerHTML==this.getEmptyLabelText()&&(this.clearOnChange=!1,this.textarea.innerHTML="");var p=mxUtils.htmlEntities(this.textarea.innerHTML);mxClient.IS_QUIRKS||8==document.documentMode||(p=mxUtils.replaceTrailingNewlines(p,
-"<div><br></div>"));p=this.graph.sanitizeHtml(c?p.replace(/\n/g,"").replace(/&lt;br\s*.?&gt;/g,"<br>"):p,!0);this.textarea.className="mxCellEditor mxPlainTextEditor";var e=mxConstants.DEFAULT_FONTSIZE;this.textarea.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?Math.round(e*mxConstants.LINE_HEIGHT)+"px":mxConstants.LINE_HEIGHT;this.textarea.style.fontSize=Math.round(e)+"px";this.textarea.style.textDecoration="";this.textarea.style.fontWeight="normal";this.textarea.style.fontStyle="";this.textarea.style.fontFamily=
-mxConstants.DEFAULT_FONTFAMILY;this.textarea.style.textAlign="left";this.textarea.style.padding="2px";this.textarea.innerHTML!=p&&(this.textarea.innerHTML=p);this.codeViewMode=!0}this.textarea.focus();null!=this.switchSelectionState&&this.restoreSelection(this.switchSelectionState);this.switchSelectionState=b;this.resize()}};var c=mxCellEditor.prototype.resize;mxCellEditor.prototype.resize=function(a,b){if(null!=this.textarea)if(a=this.graph.getView().getState(this.editingCell),this.codeViewMode&&
-null!=a){var e=a.view.scale;this.bounds=mxRectangle.fromRectangle(a);if(0==this.bounds.width&&0==this.bounds.height){this.bounds.width=160*e;this.bounds.height=60*e;var d=null!=a.text?a.text.margin:null;null==d&&(d=mxUtils.getAlignmentAsPoint(mxUtils.getValue(a.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_CENTER),mxUtils.getValue(a.style,mxConstants.STYLE_VERTICAL_ALIGN,mxConstants.ALIGN_MIDDLE)));this.bounds.x+=d.x*this.bounds.width;this.bounds.y+=d.y*this.bounds.height}this.textarea.style.width=
-Math.round((this.bounds.width-4)/e)+"px";this.textarea.style.height=Math.round((this.bounds.height-4)/e)+"px";this.textarea.style.overflow="auto";this.textarea.clientHeight<this.textarea.offsetHeight&&(this.textarea.style.height=Math.round(this.bounds.height/e)+(this.textarea.offsetHeight-this.textarea.clientHeight)+"px",this.bounds.height=parseInt(this.textarea.style.height)*e);this.textarea.clientWidth<this.textarea.offsetWidth&&(this.textarea.style.width=Math.round(this.bounds.width/e)+(this.textarea.offsetWidth-
-this.textarea.clientWidth)+"px",this.bounds.width=parseInt(this.textarea.style.width)*e);this.textarea.style.left=Math.round(this.bounds.x)+"px";this.textarea.style.top=Math.round(this.bounds.y)+"px";mxClient.IS_VML?this.textarea.style.zoom=e:mxUtils.setPrefixedStyle(this.textarea.style,"transform","scale("+e+","+e+")")}else this.textarea.style.height="",this.textarea.style.overflow="",c.apply(this,arguments)};mxCellEditorGetInitialValue=mxCellEditor.prototype.getInitialValue;mxCellEditor.prototype.getInitialValue=
-function(a,c){if("0"==mxUtils.getValue(a.style,"html","0"))return mxCellEditorGetInitialValue.apply(this,arguments);var b=this.graph.getEditingValue(a.cell,c);"1"==mxUtils.getValue(a.style,"nl2Br","1")&&(b=b.replace(/\n/g,"<br/>"));return b=this.graph.sanitizeHtml(b,!0)};mxCellEditorGetCurrentValue=mxCellEditor.prototype.getCurrentValue;mxCellEditor.prototype.getCurrentValue=function(a){if("0"==mxUtils.getValue(a.style,"html","0"))return mxCellEditorGetCurrentValue.apply(this,arguments);var c=this.graph.sanitizeHtml(this.textarea.innerHTML,
-!0);return c="1"==mxUtils.getValue(a.style,"nl2Br","1")?c.replace(/\r\n/g,"<br/>").replace(/\n/g,"<br/>"):c.replace(/\r\n/g,"").replace(/\n/g,"")};var e=mxCellEditor.prototype.stopEditing;mxCellEditor.prototype.stopEditing=function(a){this.codeViewMode&&this.toggleViewMode();e.apply(this,arguments);this.focusContainer()};mxCellEditor.prototype.focusContainer=function(){try{this.graph.container.focus()}catch(Q){}};var k=mxCellEditor.prototype.applyValue;mxCellEditor.prototype.applyValue=function(a,
-c){this.graph.getModel().beginUpdate();try{k.apply(this,arguments),""==c&&this.graph.isCellDeletable(a.cell)&&0==this.graph.model.getChildCount(a.cell)&&this.graph.isTransparentState(a)&&this.graph.removeCells([a.cell],!1)}finally{this.graph.getModel().endUpdate()}};mxCellEditor.prototype.getBackgroundColor=function(a){var c=mxUtils.getValue(a.style,mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,null);null!=c&&c!=mxConstants.NONE||!(null!=a.cell.geometry&&0<a.cell.geometry.width)||0==mxUtils.getValue(a.style,
-mxConstants.STYLE_ROTATION,0)&&0!=mxUtils.getValue(a.style,mxConstants.STYLE_HORIZONTAL,1)||(c=mxUtils.getValue(a.style,mxConstants.STYLE_FILLCOLOR,null));c==mxConstants.NONE&&(c=null);return c};mxCellEditor.prototype.getMinimumSize=function(a){var c=this.graph.getView().scale;return new mxRectangle(0,0,null==a.text?30:a.text.size*c+20,30)};var x=mxGraphHandler.prototype.moveCells;mxGraphHandler.prototype.moveCells=function(a,c,b,e,d,k){mxEvent.isAltDown(k)&&(d=null);x.apply(this,arguments)};mxGraphView.prototype.formatUnitText=
-function(a){return a?b(a,this.unit):a};mxGraphHandler.prototype.updateHint=function(c){if(null!=this.pBounds&&(null!=this.shape||this.livePreviewActive)){null==this.hint&&(this.hint=a(),this.graph.container.appendChild(this.hint));var e=this.graph.view.translate,d=this.graph.view.scale;c=this.roundLength((this.bounds.x+this.currentDx)/d-e.x);e=this.roundLength((this.bounds.y+this.currentDy)/d-e.y);d=this.graph.view.unit;this.hint.innerHTML=b(c,d)+", "+b(e,d);this.hint.style.left=this.pBounds.x+this.currentDx+
+"/default.xml").getDocumentElement():null;null!=a&&(new mxCodec(a.ownerDocument)).decode(a,this.getStylesheet())};Graph.prototype.createCellLookup=function(a,d){d=null!=d?d:{};for(var b=0;b<a.length;b++){var c=a[b];d[mxObjectIdentity.get(c)]=c.getId();for(var f=this.model.getChildCount(c),k=0;k<f;k++)this.createCellLookup([this.model.getChildAt(c,k)],d)}return d};Graph.prototype.createCellMapping=function(a,d,b){b=null!=b?b:{};for(var c in a){var f=d[c];null==b[f]&&(b[f]=a[c].getId()||"")}return b};
+Graph.prototype.importGraphModel=function(a,d,b,c){d=null!=d?d:0;b=null!=b?b:0;var f=new mxCodec(a.ownerDocument),k=new mxGraphModel;f.decode(a,k);a=[];var f={},e={},g=k.getChildren(this.cloneCell(k.root,this.isCloneInvalidEdges(),f));if(null!=g){var p=this.createCellLookup([k.root]),g=g.slice();this.model.beginUpdate();try{if(1!=g.length||this.isCellLocked(this.getDefaultParent()))for(k=0;k<g.length;k++)a=a.concat(this.model.getChildren(this.moveCells([g[k]],d,b,!1,this.model.getRoot())[0]));else a=
+this.moveCells(k.getChildren(g[0]),d,b,!1,this.getDefaultParent()),e[k.getChildAt(k.root,0).getId()]=this.getDefaultParent().getId();this.createCellMapping(f,p,e);this.updateCustomLinks(e,a);if(c){this.isGridEnabled()&&(d=this.snap(d),b=this.snap(b));var n=this.getBoundingBoxFromGeometry(a,!0);null!=n&&this.moveCells(a,d-n.x,b-n.y)}}finally{this.model.endUpdate()}}return a};Graph.prototype.encodeCells=function(a){for(var d={},b=this.cloneCells(a,null,d),c=new mxDictionary,f=0;f<a.length;f++)c.put(a[f],
+!0);for(f=0;f<b.length;f++){var k=this.view.getState(a[f]);if(null!=k){var e=this.getCellGeometry(b[f]);null==e||!e.relative||this.model.isEdge(a[f])||c.get(this.model.getParent(a[f]))||(e.relative=!1,e.x=k.x/k.view.scale-k.view.translate.x,e.y=k.y/k.view.scale-k.view.translate.y)}}c=new mxCodec;k=new mxGraphModel;e=k.getChildAt(k.getRoot(),0);for(f=0;f<b.length;f++)k.add(e,b[f]);this.updateCustomLinks(this.createCellMapping(d,this.createCellLookup(a)),b);return c.encode(k)};var m=Graph.prototype.moveCells;
+Graph.prototype.moveCells=function(a,d,b,f,c,k,e){e=null!=e?e:{};var g=m.apply(this,arguments);f&&this.updateCustomLinks(this.createCellMapping(e,this.createCellLookup(a)),g);return g};Graph.prototype.updateCustomLinks=function(a,d){for(var b=0;b<d.length;b++)null!=d[b]&&this.updateCustomLinksForCell(a,d[b])};Graph.prototype.updateCustomLinksForCell=function(a,d){};Graph.prototype.getAllConnectionConstraints=function(a,d){if(null!=a){var b=mxUtils.getValue(a.style,"points",null);if(null!=b){var f=
+[];try{for(var c=JSON.parse(b),b=0;b<c.length;b++){var k=c[b];f.push(new mxConnectionConstraint(new mxPoint(k[0],k[1]),2<k.length?"0"!=k[2]:!0,null,3<k.length?k[3]:0,4<k.length?k[4]:0))}}catch(R){}return f}if(null!=a.shape&&null!=a.shape.bounds){k=a.shape.direction;c=a.shape.bounds;b=a.shape.scale;f=c.width/b;c=c.height/b;if(k==mxConstants.DIRECTION_NORTH||k==mxConstants.DIRECTION_SOUTH)k=f,f=c,c=k;b=a.shape.getConstraints(a.style,f,c);if(null!=b)return b;if(null!=a.shape.stencil&&null!=a.shape.stencil.constraints)return a.shape.stencil.constraints;
+if(null!=a.shape.constraints)return a.shape.constraints}}return null};Graph.prototype.flipEdge=function(a){if(null!=a){var d=this.view.getState(a),d=null!=d?d.style:this.getCellStyle(a);null!=d&&(d=mxUtils.getValue(d,mxConstants.STYLE_ELBOW,mxConstants.ELBOW_HORIZONTAL)==mxConstants.ELBOW_HORIZONTAL?mxConstants.ELBOW_VERTICAL:mxConstants.ELBOW_HORIZONTAL,this.setCellStyles(mxConstants.STYLE_ELBOW,d,[a]))}};Graph.prototype.isValidRoot=function(a){for(var d=this.model.getChildCount(a),b=0,f=0;f<d;f++){var c=
+this.model.getChildAt(a,f);this.model.isVertex(c)&&(c=this.getCellGeometry(c),null==c||c.relative||b++)}return 0<b||this.isContainer(a)};Graph.prototype.isValidDropTarget=function(a){var d=this.view.getState(a),d=null!=d?d.style:this.getCellStyle(a);return"1"!=mxUtils.getValue(d,"part","0")&&(this.isContainer(a)||mxGraph.prototype.isValidDropTarget.apply(this,arguments)&&"0"!=mxUtils.getValue(d,"dropTarget","1"))};Graph.prototype.createGroupCell=function(){var a=mxGraph.prototype.createGroupCell.apply(this,
+arguments);a.setStyle("group");return a};Graph.prototype.isExtendParentsOnAdd=function(a){var d=mxGraph.prototype.isExtendParentsOnAdd.apply(this,arguments);if(d&&null!=a&&null!=this.layoutManager){var b=this.model.getParent(a);null!=b&&(b=this.layoutManager.getLayout(b),null!=b&&b.constructor==mxStackLayout&&(d=!1))}return d};Graph.prototype.getPreferredSizeForCell=function(a){var d=mxGraph.prototype.getPreferredSizeForCell.apply(this,arguments);null!=d&&(d.width+=10,d.height+=4,this.gridEnabled&&
+(d.width=this.snap(d.width),d.height=this.snap(d.height)));return d};Graph.prototype.turnShapes=function(a){var d=this.getModel(),b=[];d.beginUpdate();try{for(var f=0;f<a.length;f++){var c=a[f];if(d.isEdge(c)){var k=d.getTerminal(c,!0),e=d.getTerminal(c,!1);d.setTerminal(c,e,!0);d.setTerminal(c,k,!1);var g=d.getGeometry(c);if(null!=g){g=g.clone();null!=g.points&&g.points.reverse();var p=g.getTerminalPoint(!0),n=g.getTerminalPoint(!1);g.setTerminalPoint(p,!1);g.setTerminalPoint(n,!0);d.setGeometry(c,
+g);var B=this.view.getState(c),x=this.view.getState(k),t=this.view.getState(e);if(null!=B){var A=null!=x?this.getConnectionConstraint(B,x,!0):null,v=null!=t?this.getConnectionConstraint(B,t,!1):null;this.setConnectionConstraint(c,k,!0,v);this.setConnectionConstraint(c,e,!1,A)}b.push(c)}}else if(d.isVertex(c)&&(g=this.getCellGeometry(c),null!=g)){g=g.clone();g.x+=g.width/2-g.height/2;g.y+=g.height/2-g.width/2;var l=g.width;g.width=g.height;g.height=l;d.setGeometry(c,g);var y=this.view.getState(c);
+if(null!=y){var Q=y.style[mxConstants.STYLE_DIRECTION]||"east";"east"==Q?Q="south":"south"==Q?Q="west":"west"==Q?Q="north":"north"==Q&&(Q="east");this.setCellStyles(mxConstants.STYLE_DIRECTION,Q,[c])}b.push(c)}}}finally{d.endUpdate()}return b};Graph.prototype.stencilHasPlaceholders=function(a){if(null!=a&&null!=a.fgNode)for(a=a.fgNode.firstChild;null!=a;){if("text"==a.nodeName&&"1"==a.getAttribute("placeholders"))return!0;a=a.nextSibling}return!1};Graph.prototype.processChange=function(a){mxGraph.prototype.processChange.apply(this,
+arguments);if(a instanceof mxValueChange&&null!=a.cell&&null!=a.cell.value&&"object"==typeof a.cell.value){var d=this.model.getDescendants(a.cell);if(0<d.length)for(var b=0;b<d.length;b++){var c=this.view.getState(d[b]);null!=c&&null!=c.shape&&null!=c.shape.stencil&&this.stencilHasPlaceholders(c.shape.stencil)?this.removeStateForCell(d[b]):this.isReplacePlaceholders(d[b])&&this.view.invalidate(d[b],!1,!1)}}};Graph.prototype.replaceElement=function(a,d){for(var b=a.ownerDocument.createElement(null!=
+d?d:"span"),c=Array.prototype.slice.call(a.attributes);attr=c.pop();)b.setAttribute(attr.nodeName,attr.nodeValue);b.innerHTML=a.innerHTML;a.parentNode.replaceChild(b,a)};Graph.prototype.processElements=function(a,d){if(null!=a)for(var b=a.getElementsByTagName("*"),c=0;c<b.length;c++)d(b[c])};Graph.prototype.updateLabelElements=function(a,d,b){a=null!=a?a:this.getSelectionCells();for(var c=document.createElement("div"),f=0;f<a.length;f++)if(this.isHtmlLabel(a[f])){var k=this.convertValueToString(a[f]);
+if(null!=k&&0<k.length){c.innerHTML=k;for(var g=c.getElementsByTagName(null!=b?b:"*"),e=0;e<g.length;e++)d(g[e]);c.innerHTML!=k&&this.cellLabelChanged(a[f],c.innerHTML)}}};Graph.prototype.cellLabelChanged=function(a,d,b){d=Graph.zapGremlins(d);this.model.beginUpdate();try{if(null!=a.value&&"object"==typeof a.value){if(this.isReplacePlaceholders(a)&&null!=a.getAttribute("placeholder"))for(var c=a.getAttribute("placeholder"),f=a;null!=f;){if(f==this.model.getRoot()||null!=f.value&&"object"==typeof f.value&&
+f.hasAttribute(c)){this.setAttributeForCell(f,c,d);break}f=this.model.getParent(f)}var k=a.value.cloneNode(!0);k.setAttribute("label",d);d=k}mxGraph.prototype.cellLabelChanged.apply(this,arguments)}finally{this.model.endUpdate()}};Graph.prototype.cellsRemoved=function(a){if(null!=a){for(var d=new mxDictionary,b=0;b<a.length;b++)d.put(a[b],!0);for(var c=[],b=0;b<a.length;b++){var f=this.model.getParent(a[b]);null==f||d.get(f)||(d.put(f,!0),c.push(f))}for(b=0;b<c.length;b++)if(f=this.view.getState(c[b]),
+null!=f&&(this.model.isEdge(f.cell)||this.model.isVertex(f.cell))&&this.isCellDeletable(f.cell)&&this.isTransparentState(f)){for(var k=!0,g=0;g<this.model.getChildCount(f.cell)&&k;g++)d.get(this.model.getChildAt(f.cell,g))||(k=!1);k&&a.push(f.cell)}}mxGraph.prototype.cellsRemoved.apply(this,arguments)};Graph.prototype.removeCellsAfterUngroup=function(a){for(var d=[],b=0;b<a.length;b++)this.isCellDeletable(a[b])&&this.isTransparentState(this.view.getState(a[b]))&&d.push(a[b]);a=d;mxGraph.prototype.removeCellsAfterUngroup.apply(this,
+arguments)};Graph.prototype.setLinkForCell=function(a,d){this.setAttributeForCell(a,"link",d)};Graph.prototype.setTooltipForCell=function(a,d){this.setAttributeForCell(a,"tooltip",d)};Graph.prototype.getAttributeForCell=function(a,d,b){a=null!=a.value&&"object"===typeof a.value?a.value.getAttribute(d):null;return null!=a?a:b};Graph.prototype.setAttributeForCell=function(a,d,b){var c;null!=a.value&&"object"==typeof a.value?c=a.value.cloneNode(!0):(c=mxUtils.createXmlDocument().createElement("UserObject"),
+c.setAttribute("label",a.value||""));null!=b?c.setAttribute(d,b):c.removeAttribute(d);this.model.setValue(a,c)};Graph.prototype.getDropTarget=function(a,d,b,c){this.getModel();if(mxEvent.isAltDown(d))return null;for(var f=0;f<a.length;f++)if(this.model.isEdge(this.model.getParent(a[f])))return null;return mxGraph.prototype.getDropTarget.apply(this,arguments)};Graph.prototype.click=function(a){mxGraph.prototype.click.call(this,a);this.firstClickState=a.getState();this.firstClickSource=a.getSource()};
+Graph.prototype.dblClick=function(a,d){if(this.isEnabled()){var b=mxUtils.convertPoint(this.container,mxEvent.getClientX(a),mxEvent.getClientY(a));if(null!=a&&!this.model.isVertex(d)){var c=this.model.isEdge(d)?this.view.getState(d):null,f=mxEvent.getSource(a);this.firstClickState!=c||this.firstClickSource!=f||null!=c&&null!=c.text&&null!=c.text.node&&null!=c.text.boundingBox&&(mxUtils.contains(c.text.boundingBox,b.x,b.y)||mxUtils.isAncestorNode(c.text.node,mxEvent.getSource(a)))||(null!=c||this.isCellLocked(this.getDefaultParent()))&&
+(null==c||this.isCellLocked(c.cell))||!(null!=c||mxClient.IS_VML&&f==this.view.getCanvas()||mxClient.IS_SVG&&f==this.view.getCanvas().ownerSVGElement)||(d=this.addText(b.x,b.y,c))}mxGraph.prototype.dblClick.call(this,a,d)}};Graph.prototype.getInsertPoint=function(){var a=this.getGridSize(),d=this.container.scrollLeft/this.view.scale-this.view.translate.x,b=this.container.scrollTop/this.view.scale-this.view.translate.y;if(this.pageVisible)var c=this.getPageLayout(),f=this.getPageSize(),d=Math.max(d,
+c.x*f.width),b=Math.max(b,c.y*f.height);return new mxPoint(this.snap(d+a),this.snap(b+a))};Graph.prototype.getFreeInsertPoint=function(){var a=this.view,d=this.getGraphBounds(),b=this.getInsertPoint(),c=this.snap(Math.round(Math.max(b.x,d.x/a.scale-a.translate.x+(0==d.width?2*this.gridSize:0)))),a=this.snap(Math.round(Math.max(b.y,(d.y+d.height)/a.scale-a.translate.y+2*this.gridSize)));return new mxPoint(c,a)};Graph.prototype.isMouseInsertPoint=function(){return!1};Graph.prototype.addText=function(a,
+d,b){var c=new mxCell;c.value="Text";c.style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];";c.geometry=new mxGeometry(0,0,0,0);c.vertex=!0;if(null!=b){c.style+="labelBackgroundColor=#ffffff;";c.geometry.relative=!0;c.connectable=!1;var f=this.view.getRelativePoint(b,a,d);c.geometry.x=Math.round(1E4*f.x)/1E4;c.geometry.y=Math.round(f.y);c.geometry.offset=new mxPoint(0,0);var f=this.view.getPoint(b,c.geometry),k=this.view.scale;c.geometry.offset=new mxPoint(Math.round((a-f.x)/
+k),Math.round((d-f.y)/k))}else c.style+="autosize=1;",f=this.view.translate,c.geometry.width=40,c.geometry.height=20,c.geometry.x=Math.round(a/this.view.scale)-f.x,c.geometry.y=Math.round(d/this.view.scale)-f.y;this.getModel().beginUpdate();try{this.addCells([c],null!=b?b.cell:null),this.fireEvent(new mxEventObject("textInserted","cells",[c])),this.autoSizeCell(c)}finally{this.getModel().endUpdate()}return c};Graph.prototype.addClickHandler=function(a,d,b){var c=mxUtils.bind(this,function(){var a=
+this.container.getElementsByTagName("a");if(null!=a)for(var b=0;b<a.length;b++){var c=this.getAbsoluteUrl(a[b].getAttribute("href"));null!=c&&(a[b].setAttribute("rel",this.linkRelation),a[b].setAttribute("href",c),null!=d&&mxEvent.addGestureListeners(a[b],null,null,d))}});this.model.addListener(mxEvent.CHANGE,c);c();var f=this.container.style.cursor,k=this.getTolerance(),g=this,e={currentState:null,currentLink:null,highlight:null!=a&&""!=a&&a!=mxConstants.NONE?new mxCellHighlight(g,a,4):null,startX:0,
+startY:0,scrollLeft:0,scrollTop:0,updateCurrentState:function(a){var d=a.sourceState;if(null==d||null==g.getLinkForCell(d.cell))a=g.getCellAt(a.getGraphX(),a.getGraphY(),null,null,null,function(a,d,b){return null==g.getLinkForCell(a.cell)}),d=g.view.getState(a);d!=this.currentState&&(null!=this.currentState&&this.clear(),this.currentState=d,null!=this.currentState&&this.activate(this.currentState))},mouseDown:function(a,d){this.startX=d.getGraphX();this.startY=d.getGraphY();this.scrollLeft=g.container.scrollLeft;
+this.scrollTop=g.container.scrollTop;null==this.currentLink&&"auto"==g.container.style.overflow&&(g.container.style.cursor="move");this.updateCurrentState(d)},mouseMove:function(a,d){if(g.isMouseDown){if(null!=this.currentLink){var b=Math.abs(this.startX-d.getGraphX()),c=Math.abs(this.startY-d.getGraphY());(b>k||c>k)&&this.clear()}}else{for(b=d.getSource();null!=b&&"a"!=b.nodeName.toLowerCase();)b=b.parentNode;null!=b?this.clear():(null!=g.tooltipHandler&&null!=this.currentLink&&null!=this.currentState&&
+g.tooltipHandler.reset(d,!0,this.currentState),(null==this.currentState||d.getState()!=this.currentState&&null!=d.sourceState||!g.intersects(this.currentState,d.getGraphX(),d.getGraphY()))&&this.updateCurrentState(d))}},mouseUp:function(a,c){for(var f=c.getSource(),e=c.getEvent();null!=f&&"a"!=f.nodeName.toLowerCase();)f=f.parentNode;null==f&&Math.abs(this.scrollLeft-g.container.scrollLeft)<k&&Math.abs(this.scrollTop-g.container.scrollTop)<k&&(null==c.sourceState||!c.isSource(c.sourceState.control))&&
+((mxEvent.isLeftMouseButton(e)||mxEvent.isMiddleMouseButton(e))&&!mxEvent.isPopupTrigger(e)||mxEvent.isTouchEvent(e))&&(null!=this.currentLink?(f=g.isBlankLink(this.currentLink),"data:"!==this.currentLink.substring(0,5)&&f||null==d||d(e,this.currentLink),mxEvent.isConsumed(e)||(e=mxEvent.isMiddleMouseButton(e)?"_blank":f?g.linkTarget:"_top",g.openLink(this.currentLink,e),c.consume())):null!=b&&!c.isConsumed()&&Math.abs(this.scrollLeft-g.container.scrollLeft)<k&&Math.abs(this.scrollTop-g.container.scrollTop)<
+k&&Math.abs(this.startX-c.getGraphX())<k&&Math.abs(this.startY-c.getGraphY())<k&&b(c.getEvent()));this.clear()},activate:function(a){this.currentLink=g.getAbsoluteUrl(g.getLinkForCell(a.cell));null!=this.currentLink&&(g.container.style.cursor="pointer",null!=this.highlight&&this.highlight.highlight(a))},clear:function(){null!=g.container&&(g.container.style.cursor=f);this.currentLink=this.currentState=null;null!=this.highlight&&this.highlight.hide();null!=g.tooltipHandler&&g.tooltipHandler.hide()}};
+g.click=function(a){};g.addMouseListener(e);mxEvent.addListener(document,"mouseleave",function(a){e.clear()})};Graph.prototype.duplicateCells=function(a,d){a=null!=a?a:this.getSelectionCells();d=null!=d?d:!0;a=this.model.getTopmostCells(a);var b=this.getModel(),c=this.gridSize,f=[];b.beginUpdate();try{for(var k=this.cloneCells(a,!1,null,!0),g=0;g<a.length;g++){var e=b.getParent(a[g]),p=this.moveCells([k[g]],c,c,!1)[0];f.push(p);if(d)b.add(e,k[g]);else{var n=e.getIndex(a[g]);b.add(e,k[g],n+1)}}}finally{b.endUpdate()}return f};
+Graph.prototype.insertImage=function(a,d,b){if(null!=a&&null!=this.cellEditor.textarea){for(var c=this.cellEditor.textarea.getElementsByTagName("img"),f=[],k=0;k<c.length;k++)f.push(c[k]);document.execCommand("insertimage",!1,a);a=this.cellEditor.textarea.getElementsByTagName("img");if(a.length==f.length+1)for(k=a.length-1;0<=k;k--)if(0==k||a[k]!=f[k-1]){a[k].setAttribute("width",d);a[k].setAttribute("height",b);break}}};Graph.prototype.insertLink=function(a){if(null!=this.cellEditor.textarea)if(0==
+a.length)document.execCommand("unlink",!1);else if(mxClient.IS_FF){for(var d=this.cellEditor.textarea.getElementsByTagName("a"),b=[],c=0;c<d.length;c++)b.push(d[c]);document.execCommand("createlink",!1,mxUtils.trim(a));d=this.cellEditor.textarea.getElementsByTagName("a");if(d.length==b.length+1)for(c=d.length-1;0<=c;c--)if(d[c]!=b[c-1]){for(d=d[c].getElementsByTagName("a");0<d.length;){for(b=d[0].parentNode;null!=d[0].firstChild;)b.insertBefore(d[0].firstChild,d[0]);b.removeChild(d[0])}break}}else document.execCommand("createlink",
+!1,mxUtils.trim(a))};Graph.prototype.isCellResizable=function(a){var d=mxGraph.prototype.isCellResizable.apply(this,arguments),b=this.view.getState(a),b=null!=b?b.style:this.getCellStyle(a);return d||"0"!=mxUtils.getValue(b,mxConstants.STYLE_RESIZABLE,"1")&&"wrap"==b[mxConstants.STYLE_WHITE_SPACE]};Graph.prototype.distributeCells=function(a,d){null==d&&(d=this.getSelectionCells());if(null!=d&&1<d.length){for(var b=[],c=null,f=null,k=0;k<d.length;k++)if(this.getModel().isVertex(d[k])){var g=this.view.getState(d[k]);
+if(null!=g){var e=a?g.getCenterX():g.getCenterY(),c=null!=c?Math.max(c,e):e,f=null!=f?Math.min(f,e):e;b.push(g)}}if(2<b.length){b.sort(function(d,b){return a?d.x-b.x:d.y-b.y});g=this.view.translate;e=this.view.scale;f=f/e-(a?g.x:g.y);c=c/e-(a?g.x:g.y);this.getModel().beginUpdate();try{for(var p=(c-f)/(b.length-1),c=f,k=1;k<b.length-1;k++){var n=this.view.getState(this.model.getParent(b[k].cell)),B=this.getCellGeometry(b[k].cell),c=c+p;null!=B&&null!=n&&(B=B.clone(),a?B.x=Math.round(c-B.width/2)-n.origin.x:
+B.y=Math.round(c-B.height/2)-n.origin.y,this.getModel().setGeometry(b[k].cell,B))}}finally{this.getModel().endUpdate()}}}return d};Graph.prototype.isCloneEvent=function(a){return mxClient.IS_MAC&&mxEvent.isMetaDown(a)||mxEvent.isControlDown(a)};Graph.prototype.createSvgImageExport=function(){var a=new mxImageExport;a.getLinkForCellState=mxUtils.bind(this,function(a,d){return this.getLinkForCell(a.cell)});return a};Graph.prototype.getSvg=function(a,d,b,c,f,k,g,e,p,n){var B=this.useCssTransforms;B&&
+(this.useCssTransforms=!1,this.view.revalidate(),this.sizeDidChange());try{d=null!=d?d:1;b=null!=b?b:0;f=null!=f?f:!0;k=null!=k?k:!0;g=null!=g?g:!0;var x=k||c?this.getGraphBounds():this.getBoundingBox(this.getSelectionCells());if(null==x)throw Error(mxResources.get("drawingEmpty"));var t=this.view.scale,A=mxUtils.createXmlDocument(),v=null!=A.createElementNS?A.createElementNS(mxConstants.NS_SVG,"svg"):A.createElement("svg");null!=a&&(null!=v.style?v.style.backgroundColor=a:v.setAttribute("style",
+"background-color:"+a));null==A.createElementNS?(v.setAttribute("xmlns",mxConstants.NS_SVG),v.setAttribute("xmlns:xlink",mxConstants.NS_XLINK)):v.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink",mxConstants.NS_XLINK);a=d/t;var l=Math.max(1,Math.ceil(x.width*a)+2*b)+(n?5:0),y=Math.max(1,Math.ceil(x.height*a)+2*b)+(n?5:0);v.setAttribute("version","1.1");v.setAttribute("width",l+"px");v.setAttribute("height",y+"px");v.setAttribute("viewBox",(f?"-0.5 -0.5":"0 0")+" "+l+" "+y);A.appendChild(v);
+var K=null!=A.createElementNS?A.createElementNS(mxConstants.NS_SVG,"g"):A.createElement("g");v.appendChild(K);var u=this.createSvgCanvas(K);u.foOffset=f?-.5:0;u.textOffset=f?-.5:0;u.imageOffset=f?-.5:0;u.translate(Math.floor((b/d-x.x)/t),Math.floor((b/d-x.y)/t));var m=document.createElement("div"),I=u.getAlternateText;u.getAlternateText=function(a,d,b,c,f,k,g,e,p,n,B,x,t){if(null!=k&&0<this.state.fontSize)try{mxUtils.isNode(k)?k=k.innerText:(m.innerHTML=k,k=mxUtils.extractTextWithWhitespace(m.childNodes));
+for(var v=Math.ceil(2*c/this.state.fontSize),A=[],l=0,y=0;(0==v||l<v)&&y<k.length;){var K=k.charCodeAt(y);if(10==K||13==K){if(0<l)break}else A.push(k.charAt(y)),255>K&&l++;y++}A.length<k.length&&1<k.length-A.length&&(k=mxUtils.trim(A.join(""))+"...");return k}catch(Ga){return I.apply(this,arguments)}else return I.apply(this,arguments)};var q=this.backgroundImage;if(null!=q){d=t/d;var G=this.view.translate,D=new mxRectangle(G.x*d,G.y*d,q.width*d,q.height*d);mxUtils.intersects(x,D)&&u.image(G.x,G.y,
+q.width,q.height,q.src,!0)}u.scale(a);u.textEnabled=g;e=null!=e?e:this.createSvgImageExport();var Q=e.drawCellState,M=e.getLinkForCellState;e.getLinkForCellState=function(a,d){var b=M.apply(this,arguments);return null==b||a.view.graph.isCustomLink(b)?null:b};e.drawCellState=function(a,d){for(var b=a.view.graph,c=b.isCellSelected(a.cell),f=b.model.getParent(a.cell);!k&&!c&&null!=f;)c=b.isCellSelected(f),f=b.model.getParent(f);(k||c)&&Q.apply(this,arguments)};e.drawState(this.getView().getState(this.model.root),
+u);this.updateSvgLinks(v,p,!0);return v}finally{B&&(this.useCssTransforms=!0,this.view.revalidate(),this.sizeDidChange())}};Graph.prototype.updateSvgLinks=function(a,d,b){a=a.getElementsByTagName("a");for(var c=0;c<a.length;c++){var f=a[c].getAttribute("href");null==f&&(f=a[c].getAttribute("xlink:href"));null!=f&&(null!=d&&/^https?:\/\//.test(f)?a[c].setAttribute("target",d):b&&this.isCustomLink(f)&&a[c].setAttribute("href","javascript:void(0);"))}};Graph.prototype.createSvgCanvas=function(a){a=new mxSvgCanvas2D(a);
+a.pointerEvents=!0;return a};Graph.prototype.getSelectedElement=function(){var a=null;if(window.getSelection){var d=window.getSelection();d.getRangeAt&&d.rangeCount&&(a=d.getRangeAt(0).commonAncestorContainer)}else document.selection&&(a=document.selection.createRange().parentElement());return a};Graph.prototype.getParentByName=function(a,d,b){for(;null!=a&&a.nodeName!=d;){if(a==b)return null;a=a.parentNode}return a};Graph.prototype.getParentByNames=function(a,d,b){for(;null!=a&&!(0<=mxUtils.indexOf(d,
+a.nodeName));){if(a==b)return null;a=a.parentNode}return a};Graph.prototype.selectNode=function(a){var d=null;if(window.getSelection){if(d=window.getSelection(),d.getRangeAt&&d.rangeCount){var b=document.createRange();b.selectNode(a);d.removeAllRanges();d.addRange(b)}}else(d=document.selection)&&"Control"!=d.type&&(a=d.createRange(),a.collapse(!0),b=d.createRange(),b.setEndPoint("StartToStart",a),b.select())};Graph.prototype.insertRow=function(a,d){for(var b=a.tBodies[0],c=b.rows[0].cells,f=0,k=0;k<
+c.length;k++)var g=c[k].getAttribute("colspan"),f=f+(null!=g?parseInt(g):1);b=b.insertRow(d);for(k=0;k<f;k++)mxUtils.br(b.insertCell(-1));return b.cells[0]};Graph.prototype.deleteRow=function(a,d){a.tBodies[0].deleteRow(d)};Graph.prototype.insertColumn=function(a,d){var b=a.tHead;if(null!=b)for(var c=0;c<b.rows.length;c++){var f=document.createElement("th");b.rows[c].appendChild(f);mxUtils.br(f)}b=a.tBodies[0];for(c=0;c<b.rows.length;c++)f=b.rows[c].insertCell(d),mxUtils.br(f);return b.rows[0].cells[0<=
+d?d:b.rows[0].cells.length-1]};Graph.prototype.deleteColumn=function(a,d){if(0<=d)for(var b=a.tBodies[0].rows,c=0;c<b.length;c++)b[c].cells.length>d&&b[c].deleteCell(d)};Graph.prototype.pasteHtmlAtCaret=function(a){var d;if(window.getSelection){if(d=window.getSelection(),d.getRangeAt&&d.rangeCount){d=d.getRangeAt(0);d.deleteContents();var b=document.createElement("div");b.innerHTML=a;a=document.createDocumentFragment();for(var c;c=b.firstChild;)lastNode=a.appendChild(c);d.insertNode(a)}}else(d=document.selection)&&
+"Control"!=d.type&&d.createRange().pasteHTML(a)};Graph.prototype.createLinkForHint=function(a,d){function b(a,d){a.length>d&&(a=a.substring(0,Math.round(d/2))+"..."+a.substring(a.length-Math.round(d/4)));return a}a=null!=a?a:"javascript:void(0);";if(null==d||0==d.length)d=this.isCustomLink(a)?this.getLinkTitle(a):a;var c=document.createElement("a");c.setAttribute("rel",this.linkRelation);c.setAttribute("href",this.getAbsoluteUrl(a));c.setAttribute("title",b(this.isCustomLink(a)?this.getLinkTitle(a):
+a,80));null!=this.linkTarget&&c.setAttribute("target",this.linkTarget);mxUtils.write(c,b(d,40));this.isCustomLink(a)&&mxEvent.addListener(c,"click",mxUtils.bind(this,function(d){this.customLinkClicked(a);mxEvent.consume(d)}));return c};Graph.prototype.initTouch=function(){this.connectionHandler.marker.isEnabled=function(){return null!=this.graph.connectionHandler.first};this.addListener(mxEvent.START_EDITING,function(a,d){this.popupMenuHandler.hideMenu()});var a=this.updateMouseEvent;this.updateMouseEvent=
+function(d){d=a.apply(this,arguments);if(mxEvent.isTouchEvent(d.getEvent())&&null==d.getState()){var b=this.getCellAt(d.graphX,d.graphY);null!=b&&this.isSwimlane(b)&&this.hitsSwimlaneContent(b,d.graphX,d.graphY)||(d.state=this.view.getState(b),null!=d.state&&null!=d.state.shape&&(this.container.style.cursor=d.state.shape.node.style.cursor))}null==d.getState()&&this.isEnabled()&&(this.container.style.cursor="default");return d};var d=!1,b=!1,c=!1,f=this.fireMouseEvent;this.fireMouseEvent=function(a,
+k,g){a==mxEvent.MOUSE_DOWN&&(k=this.updateMouseEvent(k),d=this.isCellSelected(k.getCell()),b=this.isSelectionEmpty(),c=this.popupMenuHandler.isMenuShowing());f.apply(this,arguments)};this.popupMenuHandler.mouseUp=mxUtils.bind(this,function(a,f){this.popupMenuHandler.popupTrigger=!this.isEditing()&&this.isEnabled()&&(null==f.getState()||!f.isSource(f.getState().control))&&(this.popupMenuHandler.popupTrigger||!c&&!mxEvent.isMouseEvent(f.getEvent())&&(b&&null==f.getCell()&&this.isSelectionEmpty()||d&&
+this.isCellSelected(f.getCell())));mxPopupMenuHandler.prototype.mouseUp.apply(this.popupMenuHandler,arguments)})};mxCellEditor.prototype.isContentEditing=function(){var a=this.graph.view.getState(this.editingCell);return null!=a&&1==a.style.html};mxCellEditor.prototype.isTableSelected=function(){return null!=this.graph.getParentByName(this.graph.getSelectedElement(),"TABLE",this.textarea)};mxCellEditor.prototype.alignText=function(a,d){var b=null!=d&&mxEvent.isShiftDown(d);if(b||null!=window.getSelection&&
+null!=window.getSelection().containsNode){var c=!0;this.graph.processElements(this.textarea,function(a){b||window.getSelection().containsNode(a,!0)?(a.removeAttribute("align"),a.style.textAlign=null):c=!1});c&&this.graph.cellEditor.setAlign(a)}document.execCommand("justify"+a.toLowerCase(),!1,null)};mxCellEditor.prototype.saveSelection=function(){if(window.getSelection){var a=window.getSelection();if(a.getRangeAt&&a.rangeCount){for(var d=[],b=0,c=a.rangeCount;b<c;++b)d.push(a.getRangeAt(b));return d}}else if(document.selection&&
+document.selection.createRange)return document.selection.createRange();return null};mxCellEditor.prototype.restoreSelection=function(a){try{if(a)if(window.getSelection){sel=window.getSelection();sel.removeAllRanges();for(var d=0,b=a.length;d<b;++d)sel.addRange(a[d])}else document.selection&&a.select&&a.select()}catch(U){}};var q=mxCellRenderer.prototype.initializeLabel;mxCellRenderer.prototype.initializeLabel=function(a){null!=a.text&&(a.text.replaceLinefeeds="0"!=mxUtils.getValue(a.style,"nl2Br",
+"1"));q.apply(this,arguments)};var u=mxConstraintHandler.prototype.update;mxConstraintHandler.prototype.update=function(a,d){this.isKeepFocusEvent(a)||!mxEvent.isAltDown(a.getEvent())?u.apply(this,arguments):this.reset()};mxGuide.prototype.createGuideShape=function(a){return new mxPolyline([],mxConstants.GUIDE_COLOR,mxConstants.GUIDE_STROKEWIDTH)};mxCellEditor.prototype.escapeCancelsEditing=!1;var z=mxCellEditor.prototype.startEditing;mxCellEditor.prototype.startEditing=function(a,d){z.apply(this,
+arguments);var b=this.graph.view.getState(a);this.textarea.className=null!=b&&1==b.style.html?"mxCellEditor geContentEditable":"mxCellEditor mxPlainTextEditor";this.codeViewMode=!1;this.switchSelectionState=null;this.graph.setSelectionCell(a);var b=this.graph.getModel().getParent(a),c=this.graph.getCellGeometry(a);this.graph.getModel().isEdge(b)&&null!=c&&c.relative||this.graph.getModel().isEdge(a)?mxClient.IS_QUIRKS?this.textarea.style.border="gray dotted 1px":this.textarea.style.outline=mxClient.IS_IE||
+mxClient.IS_IE11||mxClient.IS_FF&&mxClient.IS_WIN?"gray dotted 1px":"":mxClient.IS_QUIRKS&&(this.textarea.style.outline="none",this.textarea.style.border="")};var C=mxCellEditor.prototype.installListeners;mxCellEditor.prototype.installListeners=function(a){function d(a,b){b.originalNode=a;a=a.firstChild;for(var c=b.firstChild;null!=a&&null!=c;)d(a,c),a=a.nextSibling,c=c.nextSibling;return b}function b(a,d){if(null!=a)if(d.originalNode!=a)c(a);else for(a=a.firstChild,d=d.firstChild;null!=a;){var f=
+a.nextSibling;null==d?c(a):(b(a,d),d=d.nextSibling);a=f}}function c(a){for(var d=a.firstChild;null!=d;){var b=d.nextSibling;c(d);d=b}1==a.nodeType&&("BR"===a.nodeName||null!=a.firstChild)||3==a.nodeType&&0!=mxUtils.trim(mxUtils.getTextContent(a)).length?(3==a.nodeType&&mxUtils.setTextContent(a,mxUtils.getTextContent(a).replace(/\n|\r/g,"")),1==a.nodeType&&(a.removeAttribute("style"),a.removeAttribute("class"),a.removeAttribute("width"),a.removeAttribute("cellpadding"),a.removeAttribute("cellspacing"),
+a.removeAttribute("border"))):a.parentNode.removeChild(a)}C.apply(this,arguments);mxClient.IS_QUIRKS||7===document.documentMode||8===document.documentMode||mxEvent.addListener(this.textarea,"paste",mxUtils.bind(this,function(a){var c=d(this.textarea,this.textarea.cloneNode(!0));window.setTimeout(mxUtils.bind(this,function(){null!=this.textarea&&(0<=this.textarea.innerHTML.indexOf("<o:OfficeDocumentSettings>")||0<=this.textarea.innerHTML.indexOf("\x3c!--[if !mso]>"))&&b(this.textarea,c)}),0)}))};mxCellEditor.prototype.toggleViewMode=
+function(){var a=this.graph.view.getState(this.editingCell);if(null!=a){var d=null!=a&&"0"!=mxUtils.getValue(a.style,"nl2Br","1"),b=this.saveSelection();if(this.codeViewMode){p=mxUtils.extractTextWithWhitespace(this.textarea.childNodes);0<p.length&&"\n"==p.charAt(p.length-1)&&(p=p.substring(0,p.length-1));p=this.graph.sanitizeHtml(d?p.replace(/\n/g,"<br/>"):p,!0);this.textarea.className="mxCellEditor geContentEditable";var c=mxUtils.getValue(a.style,mxConstants.STYLE_FONTSIZE,mxConstants.DEFAULT_FONTSIZE),
+d=mxUtils.getValue(a.style,mxConstants.STYLE_FONTFAMILY,mxConstants.DEFAULT_FONTFAMILY),f=mxUtils.getValue(a.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_LEFT),k=(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD,g=(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC,e=[];(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&e.push("underline");
+(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_STRIKETHROUGH)==mxConstants.FONT_STRIKETHROUGH&&e.push("line-through");this.textarea.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?Math.round(c*mxConstants.LINE_HEIGHT)+"px":mxConstants.LINE_HEIGHT;this.textarea.style.fontSize=Math.round(c)+"px";this.textarea.style.textDecoration=e.join(" ");this.textarea.style.fontWeight=k?"bold":"normal";this.textarea.style.fontStyle=g?"italic":"";this.textarea.style.fontFamily=d;this.textarea.style.textAlign=
+f;this.textarea.style.padding="0px";this.textarea.innerHTML!=p&&(this.textarea.innerHTML=p,0==this.textarea.innerHTML.length&&(this.textarea.innerHTML=this.getEmptyLabelText(),this.clearOnChange=0<this.textarea.innerHTML.length));this.codeViewMode=!1}else{this.clearOnChange&&this.textarea.innerHTML==this.getEmptyLabelText()&&(this.clearOnChange=!1,this.textarea.innerHTML="");var p=mxUtils.htmlEntities(this.textarea.innerHTML);mxClient.IS_QUIRKS||8==document.documentMode||(p=mxUtils.replaceTrailingNewlines(p,
+"<div><br></div>"));p=this.graph.sanitizeHtml(d?p.replace(/\n/g,"").replace(/&lt;br\s*.?&gt;/g,"<br>"):p,!0);this.textarea.className="mxCellEditor mxPlainTextEditor";var c=mxConstants.DEFAULT_FONTSIZE;this.textarea.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?Math.round(c*mxConstants.LINE_HEIGHT)+"px":mxConstants.LINE_HEIGHT;this.textarea.style.fontSize=Math.round(c)+"px";this.textarea.style.textDecoration="";this.textarea.style.fontWeight="normal";this.textarea.style.fontStyle="";this.textarea.style.fontFamily=
+mxConstants.DEFAULT_FONTFAMILY;this.textarea.style.textAlign="left";this.textarea.style.padding="2px";this.textarea.innerHTML!=p&&(this.textarea.innerHTML=p);this.codeViewMode=!0}this.textarea.focus();null!=this.switchSelectionState&&this.restoreSelection(this.switchSelectionState);this.switchSelectionState=b;this.resize()}};var d=mxCellEditor.prototype.resize;mxCellEditor.prototype.resize=function(a,b){if(null!=this.textarea)if(a=this.graph.getView().getState(this.editingCell),this.codeViewMode&&
+null!=a){var c=a.view.scale;this.bounds=mxRectangle.fromRectangle(a);if(0==this.bounds.width&&0==this.bounds.height){this.bounds.width=160*c;this.bounds.height=60*c;var f=null!=a.text?a.text.margin:null;null==f&&(f=mxUtils.getAlignmentAsPoint(mxUtils.getValue(a.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_CENTER),mxUtils.getValue(a.style,mxConstants.STYLE_VERTICAL_ALIGN,mxConstants.ALIGN_MIDDLE)));this.bounds.x+=f.x*this.bounds.width;this.bounds.y+=f.y*this.bounds.height}this.textarea.style.width=
+Math.round((this.bounds.width-4)/c)+"px";this.textarea.style.height=Math.round((this.bounds.height-4)/c)+"px";this.textarea.style.overflow="auto";this.textarea.clientHeight<this.textarea.offsetHeight&&(this.textarea.style.height=Math.round(this.bounds.height/c)+(this.textarea.offsetHeight-this.textarea.clientHeight)+"px",this.bounds.height=parseInt(this.textarea.style.height)*c);this.textarea.clientWidth<this.textarea.offsetWidth&&(this.textarea.style.width=Math.round(this.bounds.width/c)+(this.textarea.offsetWidth-
+this.textarea.clientWidth)+"px",this.bounds.width=parseInt(this.textarea.style.width)*c);this.textarea.style.left=Math.round(this.bounds.x)+"px";this.textarea.style.top=Math.round(this.bounds.y)+"px";mxClient.IS_VML?this.textarea.style.zoom=c:mxUtils.setPrefixedStyle(this.textarea.style,"transform","scale("+c+","+c+")")}else this.textarea.style.height="",this.textarea.style.overflow="",d.apply(this,arguments)};mxCellEditorGetInitialValue=mxCellEditor.prototype.getInitialValue;mxCellEditor.prototype.getInitialValue=
+function(a,d){if("0"==mxUtils.getValue(a.style,"html","0"))return mxCellEditorGetInitialValue.apply(this,arguments);var b=this.graph.getEditingValue(a.cell,d);"1"==mxUtils.getValue(a.style,"nl2Br","1")&&(b=b.replace(/\n/g,"<br/>"));return b=this.graph.sanitizeHtml(b,!0)};mxCellEditorGetCurrentValue=mxCellEditor.prototype.getCurrentValue;mxCellEditor.prototype.getCurrentValue=function(a){if("0"==mxUtils.getValue(a.style,"html","0"))return mxCellEditorGetCurrentValue.apply(this,arguments);var d=this.graph.sanitizeHtml(this.textarea.innerHTML,
+!0);return d="1"==mxUtils.getValue(a.style,"nl2Br","1")?d.replace(/\r\n/g,"<br/>").replace(/\n/g,"<br/>"):d.replace(/\r\n/g,"").replace(/\n/g,"")};var f=mxCellEditor.prototype.stopEditing;mxCellEditor.prototype.stopEditing=function(a){this.codeViewMode&&this.toggleViewMode();f.apply(this,arguments);this.focusContainer()};mxCellEditor.prototype.focusContainer=function(){try{this.graph.container.focus()}catch(Q){}};var k=mxCellEditor.prototype.applyValue;mxCellEditor.prototype.applyValue=function(a,
+d){this.graph.getModel().beginUpdate();try{k.apply(this,arguments),""==d&&this.graph.isCellDeletable(a.cell)&&0==this.graph.model.getChildCount(a.cell)&&this.graph.isTransparentState(a)&&this.graph.removeCells([a.cell],!1)}finally{this.graph.getModel().endUpdate()}};mxCellEditor.prototype.getBackgroundColor=function(a){var d=mxUtils.getValue(a.style,mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,null);null!=d&&d!=mxConstants.NONE||!(null!=a.cell.geometry&&0<a.cell.geometry.width)||0==mxUtils.getValue(a.style,
+mxConstants.STYLE_ROTATION,0)&&0!=mxUtils.getValue(a.style,mxConstants.STYLE_HORIZONTAL,1)||(d=mxUtils.getValue(a.style,mxConstants.STYLE_FILLCOLOR,null));d==mxConstants.NONE&&(d=null);return d};mxCellEditor.prototype.getMinimumSize=function(a){var d=this.graph.getView().scale;return new mxRectangle(0,0,null==a.text?30:a.text.size*d+20,30)};var x=mxGraphHandler.prototype.moveCells;mxGraphHandler.prototype.moveCells=function(a,d,b,c,f,k){mxEvent.isAltDown(k)&&(f=null);x.apply(this,arguments)};mxGraphView.prototype.formatUnitText=
+function(a){return a?b(a,this.unit):a};mxGraphHandler.prototype.updateHint=function(d){if(null!=this.pBounds&&(null!=this.shape||this.livePreviewActive)){null==this.hint&&(this.hint=a(),this.graph.container.appendChild(this.hint));var c=this.graph.view.translate,f=this.graph.view.scale;d=this.roundLength((this.bounds.x+this.currentDx)/f-c.x);c=this.roundLength((this.bounds.y+this.currentDy)/f-c.y);f=this.graph.view.unit;this.hint.innerHTML=b(d,f)+", "+b(c,f);this.hint.style.left=this.pBounds.x+this.currentDx+
 Math.round((this.pBounds.width-this.hint.clientWidth)/2)+"px";this.hint.style.top=this.pBounds.y+this.currentDy+this.pBounds.height+Editor.hintOffset+"px"}};mxGraphHandler.prototype.removeHint=function(){null!=this.hint&&(this.hint.parentNode.removeChild(this.hint),this.hint=null)};mxVertexHandler.prototype.rotationHandleVSpacing=-12;mxVertexHandler.prototype.getRotationHandlePosition=function(){var a=this.getHandlePadding();return new mxPoint(this.bounds.x+this.bounds.width-this.rotationHandleVSpacing+
-a.x/2,this.bounds.y+this.rotationHandleVSpacing-a.y/2)};mxVertexHandler.prototype.isRecursiveResize=function(a,c){return!this.graph.isSwimlane(a.cell)&&0<this.graph.model.getChildCount(a.cell)&&!mxEvent.isControlDown(c.getEvent())&&!this.graph.isCellCollapsed(a.cell)&&"1"==mxUtils.getValue(a.style,"recursiveResize","1")&&null==mxUtils.getValue(a.style,"childLayout",null)};mxVertexHandler.prototype.isCenteredEvent=function(a,c){return!(!this.graph.isSwimlane(a.cell)&&0<this.graph.model.getChildCount(a.cell)&&
-!this.graph.isCellCollapsed(a.cell)&&"1"==mxUtils.getValue(a.style,"recursiveResize","1")&&null==mxUtils.getValue(a.style,"childLayout",null))&&mxEvent.isControlDown(c.getEvent())||mxEvent.isMetaDown(c.getEvent())};var n=mxVertexHandler.prototype.getHandlePadding;mxVertexHandler.prototype.getHandlePadding=function(){var a=new mxPoint(0,0),c=this.tolerance;this.graph.cellEditor.getEditingCell()==this.state.cell&&null!=this.sizers&&0<this.sizers.length&&null!=this.sizers[0]?(c/=2,a.x=this.sizers[0].bounds.width+
-c,a.y=this.sizers[0].bounds.height+c):a=n.apply(this,arguments);return a};mxVertexHandler.prototype.updateHint=function(c){if(this.index!=mxEvent.LABEL_HANDLE){null==this.hint&&(this.hint=a(),this.state.view.graph.container.appendChild(this.hint));if(this.index==mxEvent.ROTATION_HANDLE)this.hint.innerHTML=this.currentAlpha+"&deg;";else{c=this.state.view.scale;var e=this.state.view.unit;this.hint.innerHTML=b(this.roundLength(this.bounds.width/c),e)+" x "+b(this.roundLength(this.bounds.height/c),e)}c=
-mxUtils.getBoundingBox(this.bounds,null!=this.currentAlpha?this.currentAlpha:this.state.style[mxConstants.STYLE_ROTATION]||"0");null==c&&(c=this.bounds);this.hint.style.left=c.x+Math.round((c.width-this.hint.clientWidth)/2)+"px";this.hint.style.top=c.y+c.height+Editor.hintOffset+"px";null!=this.linkHint&&(this.linkHint.style.display="none")}};mxVertexHandler.prototype.removeHint=function(){mxGraphHandler.prototype.removeHint.apply(this,arguments);null!=this.linkHint&&(this.linkHint.style.display=
-"")};var g=mxEdgeHandler.prototype.mouseMove;mxEdgeHandler.prototype.mouseMove=function(a,c){g.apply(this,arguments);null!=this.graph.graphHandler&&null!=this.graph.graphHandler.first&&null!=this.linkHint&&"none"!=this.linkHint.style.display&&(this.linkHint.style.display="none")};var A=mxEdgeHandler.prototype.mouseUp;mxEdgeHandler.prototype.mouseUp=function(a,c){A.apply(this,arguments);null!=this.linkHint&&"none"==this.linkHint.style.display&&(this.linkHint.style.display="")};mxEdgeHandler.prototype.updateHint=
-function(c,e){null==this.hint&&(this.hint=a(),this.state.view.graph.container.appendChild(this.hint));var d=this.graph.view.translate,k=this.graph.view.scale,g=this.roundLength(e.x/k-d.x),d=this.roundLength(e.y/k-d.y),k=this.graph.view.unit;this.hint.innerHTML=b(g,k)+", "+b(d,k);this.hint.style.visibility="visible";if(this.isSource||this.isTarget)null!=this.constraintHandler.currentConstraint&&null!=this.constraintHandler.currentFocus?(g=this.constraintHandler.currentConstraint.point,this.hint.innerHTML=
-"["+Math.round(100*g.x)+"%, "+Math.round(100*g.y)+"%]"):this.marker.hasValidState()&&(this.hint.style.visibility="hidden");this.hint.style.left=Math.round(c.getGraphX()-this.hint.clientWidth/2)+"px";this.hint.style.top=Math.max(c.getGraphY(),e.y)+Editor.hintOffset+"px";null!=this.linkHint&&(this.linkHint.style.display="none")};mxEdgeHandler.prototype.removeHint=mxVertexHandler.prototype.removeHint;HoverIcons.prototype.mainHandle=mxClient.IS_SVG?Graph.createSvgImage(18,18,'<circle cx="9" cy="9" r="5" stroke="#fff" fill="'+
+a.x/2,this.bounds.y+this.rotationHandleVSpacing-a.y/2)};mxVertexHandler.prototype.isRecursiveResize=function(a,d){return!this.graph.isSwimlane(a.cell)&&0<this.graph.model.getChildCount(a.cell)&&!mxEvent.isControlDown(d.getEvent())&&!this.graph.isCellCollapsed(a.cell)&&"1"==mxUtils.getValue(a.style,"recursiveResize","1")&&null==mxUtils.getValue(a.style,"childLayout",null)};mxVertexHandler.prototype.isCenteredEvent=function(a,d){return!(!this.graph.isSwimlane(a.cell)&&0<this.graph.model.getChildCount(a.cell)&&
+!this.graph.isCellCollapsed(a.cell)&&"1"==mxUtils.getValue(a.style,"recursiveResize","1")&&null==mxUtils.getValue(a.style,"childLayout",null))&&mxEvent.isControlDown(d.getEvent())||mxEvent.isMetaDown(d.getEvent())};var n=mxVertexHandler.prototype.getHandlePadding;mxVertexHandler.prototype.getHandlePadding=function(){var a=new mxPoint(0,0),d=this.tolerance;this.graph.cellEditor.getEditingCell()==this.state.cell&&null!=this.sizers&&0<this.sizers.length&&null!=this.sizers[0]?(d/=2,a.x=this.sizers[0].bounds.width+
+d,a.y=this.sizers[0].bounds.height+d):a=n.apply(this,arguments);return a};mxVertexHandler.prototype.updateHint=function(d){if(this.index!=mxEvent.LABEL_HANDLE){null==this.hint&&(this.hint=a(),this.state.view.graph.container.appendChild(this.hint));if(this.index==mxEvent.ROTATION_HANDLE)this.hint.innerHTML=this.currentAlpha+"&deg;";else{d=this.state.view.scale;var c=this.state.view.unit;this.hint.innerHTML=b(this.roundLength(this.bounds.width/d),c)+" x "+b(this.roundLength(this.bounds.height/d),c)}d=
+mxUtils.getBoundingBox(this.bounds,null!=this.currentAlpha?this.currentAlpha:this.state.style[mxConstants.STYLE_ROTATION]||"0");null==d&&(d=this.bounds);this.hint.style.left=d.x+Math.round((d.width-this.hint.clientWidth)/2)+"px";this.hint.style.top=d.y+d.height+Editor.hintOffset+"px";null!=this.linkHint&&(this.linkHint.style.display="none")}};mxVertexHandler.prototype.removeHint=function(){mxGraphHandler.prototype.removeHint.apply(this,arguments);null!=this.linkHint&&(this.linkHint.style.display=
+"")};var g=mxEdgeHandler.prototype.mouseMove;mxEdgeHandler.prototype.mouseMove=function(a,d){g.apply(this,arguments);null!=this.graph.graphHandler&&null!=this.graph.graphHandler.first&&null!=this.linkHint&&"none"!=this.linkHint.style.display&&(this.linkHint.style.display="none")};var A=mxEdgeHandler.prototype.mouseUp;mxEdgeHandler.prototype.mouseUp=function(a,d){A.apply(this,arguments);null!=this.linkHint&&"none"==this.linkHint.style.display&&(this.linkHint.style.display="")};mxEdgeHandler.prototype.updateHint=
+function(d,c){null==this.hint&&(this.hint=a(),this.state.view.graph.container.appendChild(this.hint));var f=this.graph.view.translate,k=this.graph.view.scale,g=this.roundLength(c.x/k-f.x),f=this.roundLength(c.y/k-f.y),k=this.graph.view.unit;this.hint.innerHTML=b(g,k)+", "+b(f,k);this.hint.style.visibility="visible";if(this.isSource||this.isTarget)null!=this.constraintHandler.currentConstraint&&null!=this.constraintHandler.currentFocus?(g=this.constraintHandler.currentConstraint.point,this.hint.innerHTML=
+"["+Math.round(100*g.x)+"%, "+Math.round(100*g.y)+"%]"):this.marker.hasValidState()&&(this.hint.style.visibility="hidden");this.hint.style.left=Math.round(d.getGraphX()-this.hint.clientWidth/2)+"px";this.hint.style.top=Math.max(d.getGraphY(),c.y)+Editor.hintOffset+"px";null!=this.linkHint&&(this.linkHint.style.display="none")};mxEdgeHandler.prototype.removeHint=mxVertexHandler.prototype.removeHint;HoverIcons.prototype.mainHandle=mxClient.IS_SVG?Graph.createSvgImage(18,18,'<circle cx="9" cy="9" r="5" stroke="#fff" fill="'+
 HoverIcons.prototype.arrowFill+'" stroke-width="1"/>'):new mxImage(IMAGE_PATH+"/handle-main.png",17,17);HoverIcons.prototype.secondaryHandle=mxClient.IS_SVG?Graph.createSvgImage(16,16,'<path d="m 8 3 L 13 8 L 8 13 L 3 8 z" stroke="#fff" fill="#fca000"/>'):new mxImage(IMAGE_PATH+"/handle-secondary.png",17,17);HoverIcons.prototype.fixedHandle=mxClient.IS_SVG?Graph.createSvgImage(18,18,'<circle cx="9" cy="9" r="5" stroke="#fff" fill="'+HoverIcons.prototype.arrowFill+'" stroke-width="1"/><path d="m 7 7 L 11 11 M 7 11 L 11 7" stroke="#fff"/>'):
 new mxImage(IMAGE_PATH+"/handle-fixed.png",17,17);HoverIcons.prototype.terminalHandle=mxClient.IS_SVG?Graph.createSvgImage(18,18,'<circle cx="9" cy="9" r="5" stroke="#fff" fill="'+HoverIcons.prototype.arrowFill+'" stroke-width="1"/><circle cx="9" cy="9" r="2" stroke="#fff" fill="transparent"/>'):new mxImage(IMAGE_PATH+"/handle-terminal.png",17,17);HoverIcons.prototype.rotationHandle=mxClient.IS_SVG?Graph.createSvgImage(16,16,'<path stroke="'+HoverIcons.prototype.arrowFill+'" fill="'+HoverIcons.prototype.arrowFill+
 '" d="M15.55 5.55L11 1v3.07C7.06 4.56 4 7.92 4 12s3.05 7.44 7 7.93v-2.02c-2.84-.48-5-2.94-5-5.91s2.16-5.43 5-5.91V10l4.55-4.45zM19.93 11c-.17-1.39-.72-2.73-1.62-3.89l-1.42 1.42c.54.75.88 1.6 1.02 2.47h2.02zM13 17.9v2.02c1.39-.17 2.74-.71 3.9-1.61l-1.44-1.44c-.75.54-1.59.89-2.46 1.03zm3.89-2.42l1.42 1.41c.9-1.16 1.45-2.5 1.62-3.89h-2.02c-.14.87-.48 1.72-1.02 2.48z"/>',24,24):new mxImage(IMAGE_PATH+"/handle-rotate.png",16,16);mxClient.IS_SVG&&(mxConstraintHandler.prototype.pointImage=Graph.createSvgImage(5,
@@ -2478,185 +2481,185 @@ HoverIcons.prototype.secondaryHandle;mxOutline.prototype.sizerImage=HoverIcons.p
 mxClient.IS_SVG||((new Image).src=HoverIcons.prototype.mainHandle.src,(new Image).src=HoverIcons.prototype.fixedHandle.src,(new Image).src=HoverIcons.prototype.terminalHandle.src,(new Image).src=HoverIcons.prototype.secondaryHandle.src,(new Image).src=HoverIcons.prototype.rotationHandle.src,(new Image).src=HoverIcons.prototype.triangleUp.src,(new Image).src=HoverIcons.prototype.triangleRight.src,(new Image).src=HoverIcons.prototype.triangleDown.src,(new Image).src=HoverIcons.prototype.triangleLeft.src,
 (new Image).src=HoverIcons.prototype.refreshTarget.src,(new Image).src=HoverIcons.prototype.roundDrop.src);mxVertexHandler.prototype.rotationEnabled=!0;mxVertexHandler.prototype.manageSizers=!0;mxVertexHandler.prototype.livePreview=!0;mxGraphHandler.prototype.maxLivePreview=16;mxRubberband.prototype.defaultOpacity=30;mxConnectionHandler.prototype.outlineConnect=!0;mxCellHighlight.prototype.keepOnTop=!0;mxVertexHandler.prototype.parentHighlightEnabled=!0;mxEdgeHandler.prototype.parentHighlightEnabled=
 !0;mxEdgeHandler.prototype.dblClickRemoveEnabled=!0;mxEdgeHandler.prototype.straightRemoveEnabled=!0;mxEdgeHandler.prototype.virtualBendsEnabled=!0;mxEdgeHandler.prototype.mergeRemoveEnabled=!0;mxEdgeHandler.prototype.manageLabelHandle=!0;mxEdgeHandler.prototype.outlineConnect=!0;mxEdgeHandler.prototype.isAddVirtualBendEvent=function(a){return!mxEvent.isShiftDown(a.getEvent())};mxEdgeHandler.prototype.isCustomHandleEvent=function(a){return!mxEvent.isShiftDown(a.getEvent())};if(Graph.touchStyle){if(mxClient.IS_TOUCH||
-0<navigator.maxTouchPoints||0<navigator.msMaxTouchPoints)mxShape.prototype.svgStrokeTolerance=18,mxVertexHandler.prototype.tolerance=12,mxEdgeHandler.prototype.tolerance=12,Graph.prototype.tolerance=12,mxVertexHandler.prototype.rotationHandleVSpacing=-16,mxConstraintHandler.prototype.getTolerance=function(a){return mxEvent.isMouseEvent(a.getEvent())?4:this.graph.getTolerance()};mxPanningHandler.prototype.isPanningTrigger=function(a){var c=a.getEvent();return null==a.getState()&&!mxEvent.isMouseEvent(c)||
-mxEvent.isPopupTrigger(c)&&(null==a.getState()||mxEvent.isControlDown(c)||mxEvent.isShiftDown(c))};var v=mxGraphHandler.prototype.mouseDown;mxGraphHandler.prototype.mouseDown=function(a,c){v.apply(this,arguments);mxEvent.isTouchEvent(c.getEvent())&&this.graph.isCellSelected(c.getCell())&&1<this.graph.getSelectionCount()&&(this.delayedSelection=!1)}}else mxPanningHandler.prototype.isPanningTrigger=function(a){var c=a.getEvent();return mxEvent.isLeftMouseButton(c)&&(this.useLeftButtonForPanning&&null==
-a.getState()||mxEvent.isControlDown(c)&&!mxEvent.isShiftDown(c))||this.usePopupTrigger&&mxEvent.isPopupTrigger(c)};mxRubberband.prototype.isSpaceEvent=function(a){return this.graph.isEnabled()&&!this.graph.isCellLocked(this.graph.getDefaultParent())&&mxEvent.isControlDown(a.getEvent())&&mxEvent.isShiftDown(a.getEvent())};mxRubberband.prototype.mouseUp=function(a,c){var b=null!=this.div&&"none"!=this.div.style.display,e=null,d=null,k=null,g=null;null!=this.first&&null!=this.currentX&&null!=this.currentY&&
-(e=this.first.x,d=this.first.y,k=(this.currentX-e)/this.graph.view.scale,g=(this.currentY-d)/this.graph.view.scale,mxEvent.isAltDown(c.getEvent())||(k=this.graph.snap(k),g=this.graph.snap(g),this.graph.isGridEnabled()||(Math.abs(k)<this.graph.tolerance&&(k=0),Math.abs(g)<this.graph.tolerance&&(g=0))));this.reset();if(b){if(mxEvent.isAltDown(c.getEvent())&&this.graph.isToggleEvent(c.getEvent())){var k=new mxRectangle(this.x,this.y,this.width,this.height),f=this.graph.getCells(k.x,k.y,k.width,k.height);
-this.graph.removeSelectionCells(f)}else if(this.isSpaceEvent(c)){this.graph.model.beginUpdate();try{for(f=this.graph.getCellsBeyond(e,d,this.graph.getDefaultParent(),!0,!0),b=0;b<f.length;b++)if(this.graph.isCellMovable(f[b])){var p=this.graph.view.getState(f[b]),n=this.graph.getCellGeometry(f[b]);null!=p&&null!=n&&(n=n.clone(),n.translate(k,g),this.graph.model.setGeometry(f[b],n))}}finally{this.graph.model.endUpdate()}}else k=new mxRectangle(this.x,this.y,this.width,this.height),this.graph.selectRegion(k,
-c.getEvent());c.consume()}};mxRubberband.prototype.mouseMove=function(a,c){if(!c.isConsumed()&&null!=this.first){var b=mxUtils.getScrollOrigin(this.graph.container),e=mxUtils.getOffset(this.graph.container);b.x-=e.x;b.y-=e.y;var e=c.getX()+b.x,b=c.getY()+b.y,d=this.first.x-e,k=this.first.y-b,g=this.graph.tolerance;if(null!=this.div||Math.abs(d)>g||Math.abs(k)>g)null==this.div&&(this.div=this.createShape()),mxUtils.clearSelection(),this.update(e,b),this.isSpaceEvent(c)?(e=this.x+this.width,b=this.y+
-this.height,d=this.graph.view.scale,mxEvent.isAltDown(c.getEvent())||(this.width=this.graph.snap(this.width/d)*d,this.height=this.graph.snap(this.height/d)*d,this.graph.isGridEnabled()||(this.width<this.graph.tolerance&&(this.width=0),this.height<this.graph.tolerance&&(this.height=0)),this.x<this.first.x&&(this.x=e-this.width),this.y<this.first.y&&(this.y=b-this.height)),this.div.style.borderStyle="dashed",this.div.style.backgroundColor="white",this.div.style.left=this.x+"px",this.div.style.top=this.y+
+0<navigator.maxTouchPoints||0<navigator.msMaxTouchPoints)mxShape.prototype.svgStrokeTolerance=18,mxVertexHandler.prototype.tolerance=12,mxEdgeHandler.prototype.tolerance=12,Graph.prototype.tolerance=12,mxVertexHandler.prototype.rotationHandleVSpacing=-16,mxConstraintHandler.prototype.getTolerance=function(a){return mxEvent.isMouseEvent(a.getEvent())?4:this.graph.getTolerance()};mxPanningHandler.prototype.isPanningTrigger=function(a){var d=a.getEvent();return null==a.getState()&&!mxEvent.isMouseEvent(d)||
+mxEvent.isPopupTrigger(d)&&(null==a.getState()||mxEvent.isControlDown(d)||mxEvent.isShiftDown(d))};var v=mxGraphHandler.prototype.mouseDown;mxGraphHandler.prototype.mouseDown=function(a,d){v.apply(this,arguments);mxEvent.isTouchEvent(d.getEvent())&&this.graph.isCellSelected(d.getCell())&&1<this.graph.getSelectionCount()&&(this.delayedSelection=!1)}}else mxPanningHandler.prototype.isPanningTrigger=function(a){var d=a.getEvent();return mxEvent.isLeftMouseButton(d)&&(this.useLeftButtonForPanning&&null==
+a.getState()||mxEvent.isControlDown(d)&&!mxEvent.isShiftDown(d))||this.usePopupTrigger&&mxEvent.isPopupTrigger(d)};mxRubberband.prototype.isSpaceEvent=function(a){return this.graph.isEnabled()&&!this.graph.isCellLocked(this.graph.getDefaultParent())&&mxEvent.isControlDown(a.getEvent())&&mxEvent.isShiftDown(a.getEvent())};mxRubberband.prototype.mouseUp=function(a,d){var b=null!=this.div&&"none"!=this.div.style.display,c=null,f=null,k=null,g=null;null!=this.first&&null!=this.currentX&&null!=this.currentY&&
+(c=this.first.x,f=this.first.y,k=(this.currentX-c)/this.graph.view.scale,g=(this.currentY-f)/this.graph.view.scale,mxEvent.isAltDown(d.getEvent())||(k=this.graph.snap(k),g=this.graph.snap(g),this.graph.isGridEnabled()||(Math.abs(k)<this.graph.tolerance&&(k=0),Math.abs(g)<this.graph.tolerance&&(g=0))));this.reset();if(b){if(mxEvent.isAltDown(d.getEvent())&&this.graph.isToggleEvent(d.getEvent())){var k=new mxRectangle(this.x,this.y,this.width,this.height),e=this.graph.getCells(k.x,k.y,k.width,k.height);
+this.graph.removeSelectionCells(e)}else if(this.isSpaceEvent(d)){this.graph.model.beginUpdate();try{for(e=this.graph.getCellsBeyond(c,f,this.graph.getDefaultParent(),!0,!0),b=0;b<e.length;b++)if(this.graph.isCellMovable(e[b])){var p=this.graph.view.getState(e[b]),n=this.graph.getCellGeometry(e[b]);null!=p&&null!=n&&(n=n.clone(),n.translate(k,g),this.graph.model.setGeometry(e[b],n))}}finally{this.graph.model.endUpdate()}}else k=new mxRectangle(this.x,this.y,this.width,this.height),this.graph.selectRegion(k,
+d.getEvent());d.consume()}};mxRubberband.prototype.mouseMove=function(a,d){if(!d.isConsumed()&&null!=this.first){var b=mxUtils.getScrollOrigin(this.graph.container),c=mxUtils.getOffset(this.graph.container);b.x-=c.x;b.y-=c.y;var c=d.getX()+b.x,b=d.getY()+b.y,f=this.first.x-c,k=this.first.y-b,g=this.graph.tolerance;if(null!=this.div||Math.abs(f)>g||Math.abs(k)>g)null==this.div&&(this.div=this.createShape()),mxUtils.clearSelection(),this.update(c,b),this.isSpaceEvent(d)?(c=this.x+this.width,b=this.y+
+this.height,f=this.graph.view.scale,mxEvent.isAltDown(d.getEvent())||(this.width=this.graph.snap(this.width/f)*f,this.height=this.graph.snap(this.height/f)*f,this.graph.isGridEnabled()||(this.width<this.graph.tolerance&&(this.width=0),this.height<this.graph.tolerance&&(this.height=0)),this.x<this.first.x&&(this.x=c-this.width),this.y<this.first.y&&(this.y=b-this.height)),this.div.style.borderStyle="dashed",this.div.style.backgroundColor="white",this.div.style.left=this.x+"px",this.div.style.top=this.y+
 "px",this.div.style.width=Math.max(0,this.width)+"px",this.div.style.height=this.graph.container.clientHeight+"px",this.div.style.borderWidth=0>=this.width?"0px 1px 0px 0px":"0px 1px 0px 1px",null==this.secondDiv&&(this.secondDiv=this.div.cloneNode(!0),this.div.parentNode.appendChild(this.secondDiv)),this.secondDiv.style.left=this.x+"px",this.secondDiv.style.top=this.y+"px",this.secondDiv.style.width=this.graph.container.clientWidth+"px",this.secondDiv.style.height=Math.max(0,this.height)+"px",this.secondDiv.style.borderWidth=
-0>=this.height?"1px 0px 0px 0px":"1px 0px 1px 0px"):(this.div.style.backgroundColor="",this.div.style.borderWidth="",this.div.style.borderStyle="",null!=this.secondDiv&&(this.secondDiv.parentNode.removeChild(this.secondDiv),this.secondDiv=null)),c.consume()}};var t=mxRubberband.prototype.reset;mxRubberband.prototype.reset=function(){null!=this.secondDiv&&(this.secondDiv.parentNode.removeChild(this.secondDiv),this.secondDiv=null);t.apply(this,arguments)};var D=(new Date).getTime(),y=0,E=mxEdgeHandler.prototype.updatePreviewState;
-mxEdgeHandler.prototype.updatePreviewState=function(a,c,b,e){E.apply(this,arguments);b!=this.currentTerminalState?(D=(new Date).getTime(),y=0):y=(new Date).getTime()-D;this.currentTerminalState=b};var p=mxEdgeHandler.prototype.isOutlineConnectEvent;mxEdgeHandler.prototype.isOutlineConnectEvent=function(a){return null!=this.currentTerminalState&&a.getState()==this.currentTerminalState&&2E3<y||(null==this.currentTerminalState||"0"!=mxUtils.getValue(this.currentTerminalState.style,"outlineConnect","1"))&&
-p.apply(this,arguments)};mxVertexHandler.prototype.isCustomHandleEvent=function(a){return!mxEvent.isShiftDown(a.getEvent())};mxEdgeHandler.prototype.createHandleShape=function(a,c){var b=null!=a&&0==a,e=this.state.getVisibleTerminalState(b),d=null!=a&&(0==a||a>=this.state.absolutePoints.length-1||this.constructor==mxElbowEdgeHandler&&2==a)?this.graph.getConnectionConstraint(this.state,e,b):null,b=null!=(null!=d?this.graph.getConnectionPoint(this.state.getVisibleTerminalState(b),d):null)?this.fixedHandleImage:
-null!=d&&null!=e?this.terminalHandleImage:this.handleImage;if(null!=b)return b=new mxImageShape(new mxRectangle(0,0,b.width,b.height),b.src),b.preserveImageAspect=!1,b;b=mxConstants.HANDLE_SIZE;this.preferHtml&&--b;return new mxRectangleShape(new mxRectangle(0,0,b,b),mxConstants.HANDLE_FILLCOLOR,mxConstants.HANDLE_STROKECOLOR)};var B=mxVertexHandler.prototype.createSizerShape;mxVertexHandler.prototype.createSizerShape=function(a,c,b){this.handleImage=c==mxEvent.ROTATION_HANDLE?HoverIcons.prototype.rotationHandle:
-c==mxEvent.LABEL_HANDLE?this.secondaryHandleImage:this.handleImage;return B.apply(this,arguments)};var L=mxGraphHandler.prototype.getBoundingBox;mxGraphHandler.prototype.getBoundingBox=function(a){if(null!=a&&1==a.length){var c=this.graph.getModel(),b=c.getParent(a[0]),e=this.graph.getCellGeometry(a[0]);if(c.isEdge(b)&&null!=e&&e.relative&&(c=this.graph.view.getState(a[0]),null!=c&&2>c.width&&2>c.height&&null!=c.text&&null!=c.text.boundingBox))return mxRectangle.fromRectangle(c.text.boundingBox)}return L.apply(this,
-arguments)};var P=mxGraphHandler.prototype.getGuideStates;mxGraphHandler.prototype.getGuideStates=function(){for(var a=P.apply(this,arguments),c=[],b=0;b<a.length;b++)"1"!=mxUtils.getValue(a[b].style,"part","0")&&c.push(a[b]);return c};var I=mxVertexHandler.prototype.getSelectionBounds;mxVertexHandler.prototype.getSelectionBounds=function(a){var c=this.graph.getModel(),b=c.getParent(a.cell),e=this.graph.getCellGeometry(a.cell);return c.isEdge(b)&&null!=e&&e.relative&&2>a.width&&2>a.height&&null!=
-a.text&&null!=a.text.boundingBox?(c=a.text.unrotatedBoundingBox||a.text.boundingBox,new mxRectangle(Math.round(c.x),Math.round(c.y),Math.round(c.width),Math.round(c.height))):I.apply(this,arguments)};var S=mxVertexHandler.prototype.mouseDown;mxVertexHandler.prototype.mouseDown=function(a,c){var b=this.graph.getModel(),e=b.getParent(this.state.cell),d=this.graph.getCellGeometry(this.state.cell);(this.getHandleForEvent(c)==mxEvent.ROTATION_HANDLE||!b.isEdge(e)||null==d||!d.relative||null==this.state||
-2<=this.state.width||2<=this.state.height)&&S.apply(this,arguments)};mxVertexHandler.prototype.isRotationHandleVisible=function(){return this.graph.isEnabled()&&this.rotationEnabled&&this.graph.isCellRotatable(this.state.cell)&&(0>=mxGraphHandler.prototype.maxCells||this.graph.getSelectionCount()<mxGraphHandler.prototype.maxCells)};mxVertexHandler.prototype.rotateClick=function(){var a=mxUtils.getValue(this.state.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),c=mxUtils.getValue(this.state.style,
-mxConstants.STYLE_FILLCOLOR,mxConstants.NONE);this.state.view.graph.model.isVertex(this.state.cell)&&a==mxConstants.NONE&&c==mxConstants.NONE?(a=mxUtils.mod(mxUtils.getValue(this.state.style,mxConstants.STYLE_ROTATION,0)+90,360),this.state.view.graph.setCellStyles(mxConstants.STYLE_ROTATION,a,[this.state.cell])):this.state.view.graph.turnShapes([this.state.cell])};var F=mxVertexHandler.prototype.mouseMove;mxVertexHandler.prototype.mouseMove=function(a,c){F.apply(this,arguments);null!=this.graph.graphHandler.first&&
-(null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display="none"),null!=this.linkHint&&"none"!=this.linkHint.style.display&&(this.linkHint.style.display="none"))};var G=mxVertexHandler.prototype.mouseUp;mxVertexHandler.prototype.mouseUp=function(a,c){G.apply(this,arguments);null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display=1==this.graph.getSelectionCount()?"":"none");null!=this.linkHint&&"none"==this.linkHint.style.display&&
-(this.linkHint.style.display="")};var O=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){O.apply(this,arguments);var a=!1;null!=this.rotationShape&&this.rotationShape.node.setAttribute("title",mxResources.get("rotateTooltip"));var c=mxUtils.bind(this,function(){null!=this.specialHandle&&(this.specialHandle.node.style.display=this.graph.isEnabled()&&this.graph.getSelectionCount()<this.graph.graphHandler.maxCells?"":"none");this.redrawHandles()});this.changeHandler=mxUtils.bind(this,
-function(a,b){this.updateLinkHint(this.graph.getLinkForCell(this.state.cell),this.graph.getLinksForState(this.state));c()});this.graph.getSelectionModel().addListener(mxEvent.CHANGE,this.changeHandler);this.graph.getModel().addListener(mxEvent.CHANGE,this.changeHandler);this.editingHandler=mxUtils.bind(this,function(a,c){this.redrawHandles()});this.graph.addListener(mxEvent.EDITING_STOPPED,this.editingHandler);var b=this.graph.getLinkForCell(this.state.cell),e=this.graph.getLinksForState(this.state);
-this.updateLinkHint(b,e);if(null!=b||null!=e&&0<e.length)a=!0;a&&this.redrawHandles()};mxVertexHandler.prototype.updateLinkHint=function(c,b){try{if(null==c&&(null==b||0==b.length)||1<this.graph.getSelectionCount())null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);else if(null!=c||null!=b&&0<b.length){null==this.linkHint&&(this.linkHint=a(),this.linkHint.style.padding="6px 8px 6px 8px",this.linkHint.style.opacity="1",this.linkHint.style.filter="",this.graph.container.appendChild(this.linkHint));
-this.linkHint.innerHTML="";if(null!=c&&(this.linkHint.appendChild(this.graph.createLinkForHint(c)),this.graph.isEnabled()&&"function"===typeof this.graph.editLink)){var e=document.createElement("img");e.setAttribute("src",Editor.editImage);e.setAttribute("title",mxResources.get("editLink"));e.setAttribute("width","11");e.setAttribute("height","11");e.style.marginLeft="10px";e.style.marginBottom="-1px";e.style.cursor="pointer";this.linkHint.appendChild(e);mxEvent.addListener(e,"click",mxUtils.bind(this,
-function(a){this.graph.setSelectionCell(this.state.cell);this.graph.editLink();mxEvent.consume(a)}));var d=document.createElement("img");d.setAttribute("src",Dialog.prototype.clearImage);d.setAttribute("title",mxResources.get("removeIt",[mxResources.get("link")]));d.setAttribute("width","13");d.setAttribute("height","10");d.style.marginLeft="4px";d.style.marginBottom="-1px";d.style.cursor="pointer";this.linkHint.appendChild(d);mxEvent.addListener(d,"click",mxUtils.bind(this,function(a){this.graph.setLinkForCell(this.state.cell,
-null);mxEvent.consume(a)}))}if(null!=b)for(e=0;e<b.length;e++){var k=document.createElement("div");k.style.marginTop=null!=c||0<e?"6px":"0px";k.appendChild(this.graph.createLinkForHint(b[e].getAttribute("href"),mxUtils.getTextContent(b[e])));this.linkHint.appendChild(k)}}}catch(na){}};mxEdgeHandler.prototype.updateLinkHint=mxVertexHandler.prototype.updateLinkHint;var V=mxEdgeHandler.prototype.init;mxEdgeHandler.prototype.init=function(){V.apply(this,arguments);this.constraintHandler.isEnabled=mxUtils.bind(this,
-function(){return this.state.view.graph.connectionHandler.isEnabled()});var a=mxUtils.bind(this,function(){null!=this.linkHint&&(this.linkHint.style.display=1==this.graph.getSelectionCount()?"":"none");null!=this.labelShape&&(this.labelShape.node.style.display=this.graph.isEnabled()&&this.graph.getSelectionCount()<this.graph.graphHandler.maxCells?"":"none")});this.changeHandler=mxUtils.bind(this,function(c,b){this.updateLinkHint(this.graph.getLinkForCell(this.state.cell),this.graph.getLinksForState(this.state));
-a();this.redrawHandles()});this.graph.getSelectionModel().addListener(mxEvent.CHANGE,this.changeHandler);this.graph.getModel().addListener(mxEvent.CHANGE,this.changeHandler);var c=this.graph.getLinkForCell(this.state.cell),b=this.graph.getLinksForState(this.state);if(null!=c||null!=b&&0<b.length)this.updateLinkHint(c,b),this.redrawHandles()};var aa=mxConnectionHandler.prototype.init;mxConnectionHandler.prototype.init=function(){aa.apply(this,arguments);this.constraintHandler.isEnabled=mxUtils.bind(this,
-function(){return this.graph.connectionHandler.isEnabled()})};var W=mxVertexHandler.prototype.redrawHandles;mxVertexHandler.prototype.redrawHandles=function(){null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display=1!=this.graph.getSelectionCount()||null!=this.index&&this.index!=mxEvent.ROTATION_HANDLE?"none":"");W.apply(this);if(null!=this.state&&null!=this.linkHint){var a=new mxPoint(this.state.getCenterX(),this.state.getCenterY()),c=new mxRectangle(this.state.x,
-this.state.y-22,this.state.width+24,this.state.height+22),b=mxUtils.getBoundingBox(c,this.state.style[mxConstants.STYLE_ROTATION]||"0",a),a=null!=b?mxUtils.getBoundingBox(this.state,this.state.style[mxConstants.STYLE_ROTATION]||"0"):this.state,c=null!=this.state.text?this.state.text.boundingBox:null;null==b&&(b=this.state);b=b.y+b.height;null!=c&&(b=Math.max(b,c.y+c.height));this.linkHint.style.left=Math.max(0,Math.round(a.x+(a.width-this.linkHint.clientWidth)/2))+"px";this.linkHint.style.top=Math.round(b+
+0>=this.height?"1px 0px 0px 0px":"1px 0px 1px 0px"):(this.div.style.backgroundColor="",this.div.style.borderWidth="",this.div.style.borderStyle="",null!=this.secondDiv&&(this.secondDiv.parentNode.removeChild(this.secondDiv),this.secondDiv=null)),d.consume()}};var t=mxRubberband.prototype.reset;mxRubberband.prototype.reset=function(){null!=this.secondDiv&&(this.secondDiv.parentNode.removeChild(this.secondDiv),this.secondDiv=null);t.apply(this,arguments)};var E=(new Date).getTime(),y=0,D=mxEdgeHandler.prototype.updatePreviewState;
+mxEdgeHandler.prototype.updatePreviewState=function(a,d,b,c){D.apply(this,arguments);b!=this.currentTerminalState?(E=(new Date).getTime(),y=0):y=(new Date).getTime()-E;this.currentTerminalState=b};var p=mxEdgeHandler.prototype.isOutlineConnectEvent;mxEdgeHandler.prototype.isOutlineConnectEvent=function(a){return null!=this.currentTerminalState&&a.getState()==this.currentTerminalState&&2E3<y||(null==this.currentTerminalState||"0"!=mxUtils.getValue(this.currentTerminalState.style,"outlineConnect","1"))&&
+p.apply(this,arguments)};mxVertexHandler.prototype.isCustomHandleEvent=function(a){return!mxEvent.isShiftDown(a.getEvent())};mxEdgeHandler.prototype.createHandleShape=function(a,d){var b=null!=a&&0==a,c=this.state.getVisibleTerminalState(b),f=null!=a&&(0==a||a>=this.state.absolutePoints.length-1||this.constructor==mxElbowEdgeHandler&&2==a)?this.graph.getConnectionConstraint(this.state,c,b):null,b=null!=(null!=f?this.graph.getConnectionPoint(this.state.getVisibleTerminalState(b),f):null)?this.fixedHandleImage:
+null!=f&&null!=c?this.terminalHandleImage:this.handleImage;if(null!=b)return b=new mxImageShape(new mxRectangle(0,0,b.width,b.height),b.src),b.preserveImageAspect=!1,b;b=mxConstants.HANDLE_SIZE;this.preferHtml&&--b;return new mxRectangleShape(new mxRectangle(0,0,b,b),mxConstants.HANDLE_FILLCOLOR,mxConstants.HANDLE_STROKECOLOR)};var B=mxVertexHandler.prototype.createSizerShape;mxVertexHandler.prototype.createSizerShape=function(a,d,b){this.handleImage=d==mxEvent.ROTATION_HANDLE?HoverIcons.prototype.rotationHandle:
+d==mxEvent.LABEL_HANDLE?this.secondaryHandleImage:this.handleImage;return B.apply(this,arguments)};var K=mxGraphHandler.prototype.getBoundingBox;mxGraphHandler.prototype.getBoundingBox=function(a){if(null!=a&&1==a.length){var d=this.graph.getModel(),b=d.getParent(a[0]),c=this.graph.getCellGeometry(a[0]);if(d.isEdge(b)&&null!=c&&c.relative&&(d=this.graph.view.getState(a[0]),null!=d&&2>d.width&&2>d.height&&null!=d.text&&null!=d.text.boundingBox))return mxRectangle.fromRectangle(d.text.boundingBox)}return K.apply(this,
+arguments)};var M=mxGraphHandler.prototype.getGuideStates;mxGraphHandler.prototype.getGuideStates=function(){for(var a=M.apply(this,arguments),d=[],b=0;b<a.length;b++)"1"!=mxUtils.getValue(a[b].style,"part","0")&&d.push(a[b]);return d};var I=mxVertexHandler.prototype.getSelectionBounds;mxVertexHandler.prototype.getSelectionBounds=function(a){var d=this.graph.getModel(),b=d.getParent(a.cell),c=this.graph.getCellGeometry(a.cell);return d.isEdge(b)&&null!=c&&c.relative&&2>a.width&&2>a.height&&null!=
+a.text&&null!=a.text.boundingBox?(d=a.text.unrotatedBoundingBox||a.text.boundingBox,new mxRectangle(Math.round(d.x),Math.round(d.y),Math.round(d.width),Math.round(d.height))):I.apply(this,arguments)};var S=mxVertexHandler.prototype.mouseDown;mxVertexHandler.prototype.mouseDown=function(a,d){var b=this.graph.getModel(),c=b.getParent(this.state.cell),f=this.graph.getCellGeometry(this.state.cell);(this.getHandleForEvent(d)==mxEvent.ROTATION_HANDLE||!b.isEdge(c)||null==f||!f.relative||null==this.state||
+2<=this.state.width||2<=this.state.height)&&S.apply(this,arguments)};mxVertexHandler.prototype.isRotationHandleVisible=function(){return this.graph.isEnabled()&&this.rotationEnabled&&this.graph.isCellRotatable(this.state.cell)&&(0>=mxGraphHandler.prototype.maxCells||this.graph.getSelectionCount()<mxGraphHandler.prototype.maxCells)};mxVertexHandler.prototype.rotateClick=function(){var a=mxUtils.getValue(this.state.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),d=mxUtils.getValue(this.state.style,
+mxConstants.STYLE_FILLCOLOR,mxConstants.NONE);this.state.view.graph.model.isVertex(this.state.cell)&&a==mxConstants.NONE&&d==mxConstants.NONE?(a=mxUtils.mod(mxUtils.getValue(this.state.style,mxConstants.STYLE_ROTATION,0)+90,360),this.state.view.graph.setCellStyles(mxConstants.STYLE_ROTATION,a,[this.state.cell])):this.state.view.graph.turnShapes([this.state.cell])};var F=mxVertexHandler.prototype.mouseMove;mxVertexHandler.prototype.mouseMove=function(a,d){F.apply(this,arguments);null!=this.graph.graphHandler.first&&
+(null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display="none"),null!=this.linkHint&&"none"!=this.linkHint.style.display&&(this.linkHint.style.display="none"))};var G=mxVertexHandler.prototype.mouseUp;mxVertexHandler.prototype.mouseUp=function(a,d){G.apply(this,arguments);null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display=1==this.graph.getSelectionCount()?"":"none");null!=this.linkHint&&"none"==this.linkHint.style.display&&
+(this.linkHint.style.display="")};var P=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){P.apply(this,arguments);var a=!1;null!=this.rotationShape&&this.rotationShape.node.setAttribute("title",mxResources.get("rotateTooltip"));var d=mxUtils.bind(this,function(){null!=this.specialHandle&&(this.specialHandle.node.style.display=this.graph.isEnabled()&&this.graph.getSelectionCount()<this.graph.graphHandler.maxCells?"":"none");this.redrawHandles()});this.changeHandler=mxUtils.bind(this,
+function(a,b){this.updateLinkHint(this.graph.getLinkForCell(this.state.cell),this.graph.getLinksForState(this.state));d()});this.graph.getSelectionModel().addListener(mxEvent.CHANGE,this.changeHandler);this.graph.getModel().addListener(mxEvent.CHANGE,this.changeHandler);this.editingHandler=mxUtils.bind(this,function(a,d){this.redrawHandles()});this.graph.addListener(mxEvent.EDITING_STOPPED,this.editingHandler);var b=this.graph.getLinkForCell(this.state.cell),c=this.graph.getLinksForState(this.state);
+this.updateLinkHint(b,c);if(null!=b||null!=c&&0<c.length)a=!0;a&&this.redrawHandles()};mxVertexHandler.prototype.updateLinkHint=function(d,b){try{if(null==d&&(null==b||0==b.length)||1<this.graph.getSelectionCount())null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);else if(null!=d||null!=b&&0<b.length){null==this.linkHint&&(this.linkHint=a(),this.linkHint.style.padding="6px 8px 6px 8px",this.linkHint.style.opacity="1",this.linkHint.style.filter="",this.graph.container.appendChild(this.linkHint));
+this.linkHint.innerHTML="";if(null!=d&&(this.linkHint.appendChild(this.graph.createLinkForHint(d)),this.graph.isEnabled()&&"function"===typeof this.graph.editLink)){var c=document.createElement("img");c.setAttribute("src",Editor.editImage);c.setAttribute("title",mxResources.get("editLink"));c.setAttribute("width","11");c.setAttribute("height","11");c.style.marginLeft="10px";c.style.marginBottom="-1px";c.style.cursor="pointer";this.linkHint.appendChild(c);mxEvent.addListener(c,"click",mxUtils.bind(this,
+function(a){this.graph.setSelectionCell(this.state.cell);this.graph.editLink();mxEvent.consume(a)}));var f=document.createElement("img");f.setAttribute("src",Dialog.prototype.clearImage);f.setAttribute("title",mxResources.get("removeIt",[mxResources.get("link")]));f.setAttribute("width","13");f.setAttribute("height","10");f.style.marginLeft="4px";f.style.marginBottom="-1px";f.style.cursor="pointer";this.linkHint.appendChild(f);mxEvent.addListener(f,"click",mxUtils.bind(this,function(a){this.graph.setLinkForCell(this.state.cell,
+null);mxEvent.consume(a)}))}if(null!=b)for(c=0;c<b.length;c++){var k=document.createElement("div");k.style.marginTop=null!=d||0<c?"6px":"0px";k.appendChild(this.graph.createLinkForHint(b[c].getAttribute("href"),mxUtils.getTextContent(b[c])));this.linkHint.appendChild(k)}}}catch(na){}};mxEdgeHandler.prototype.updateLinkHint=mxVertexHandler.prototype.updateLinkHint;var V=mxEdgeHandler.prototype.init;mxEdgeHandler.prototype.init=function(){V.apply(this,arguments);this.constraintHandler.isEnabled=mxUtils.bind(this,
+function(){return this.state.view.graph.connectionHandler.isEnabled()});var a=mxUtils.bind(this,function(){null!=this.linkHint&&(this.linkHint.style.display=1==this.graph.getSelectionCount()?"":"none");null!=this.labelShape&&(this.labelShape.node.style.display=this.graph.isEnabled()&&this.graph.getSelectionCount()<this.graph.graphHandler.maxCells?"":"none")});this.changeHandler=mxUtils.bind(this,function(d,b){this.updateLinkHint(this.graph.getLinkForCell(this.state.cell),this.graph.getLinksForState(this.state));
+a();this.redrawHandles()});this.graph.getSelectionModel().addListener(mxEvent.CHANGE,this.changeHandler);this.graph.getModel().addListener(mxEvent.CHANGE,this.changeHandler);var d=this.graph.getLinkForCell(this.state.cell),b=this.graph.getLinksForState(this.state);if(null!=d||null!=b&&0<b.length)this.updateLinkHint(d,b),this.redrawHandles()};var aa=mxConnectionHandler.prototype.init;mxConnectionHandler.prototype.init=function(){aa.apply(this,arguments);this.constraintHandler.isEnabled=mxUtils.bind(this,
+function(){return this.graph.connectionHandler.isEnabled()})};var W=mxVertexHandler.prototype.redrawHandles;mxVertexHandler.prototype.redrawHandles=function(){null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display=1!=this.graph.getSelectionCount()||null!=this.index&&this.index!=mxEvent.ROTATION_HANDLE?"none":"");W.apply(this);if(null!=this.state&&null!=this.linkHint){var a=new mxPoint(this.state.getCenterX(),this.state.getCenterY()),d=new mxRectangle(this.state.x,
+this.state.y-22,this.state.width+24,this.state.height+22),b=mxUtils.getBoundingBox(d,this.state.style[mxConstants.STYLE_ROTATION]||"0",a),a=null!=b?mxUtils.getBoundingBox(this.state,this.state.style[mxConstants.STYLE_ROTATION]||"0"):this.state,d=null!=this.state.text?this.state.text.boundingBox:null;null==b&&(b=this.state);b=b.y+b.height;null!=d&&(b=Math.max(b,d.y+d.height));this.linkHint.style.left=Math.max(0,Math.round(a.x+(a.width-this.linkHint.clientWidth)/2))+"px";this.linkHint.style.top=Math.round(b+
 this.verticalOffset/2+Editor.hintOffset)+"px"}};var H=mxVertexHandler.prototype.destroy;mxVertexHandler.prototype.destroy=function(){H.apply(this,arguments);null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);null!=this.changeHandler&&(this.graph.getSelectionModel().removeListener(this.changeHandler),this.graph.getModel().removeListener(this.changeHandler),this.changeHandler=null);null!=this.editingHandler&&(this.graph.removeListener(this.editingHandler),
 this.editingHandler=null)};var Z=mxEdgeHandler.prototype.redrawHandles;mxEdgeHandler.prototype.redrawHandles=function(){if(null!=this.marker&&(Z.apply(this),null!=this.state&&null!=this.linkHint)){var a=this.state;null!=this.state.text&&null!=this.state.text.bounds&&(a=new mxRectangle(a.x,a.y,a.width,a.height),a.add(this.state.text.bounds));this.linkHint.style.left=Math.max(0,Math.round(a.x+(a.width-this.linkHint.clientWidth)/2))+"px";this.linkHint.style.top=Math.round(a.y+a.height+Editor.hintOffset)+
 "px"}};var fa=mxEdgeHandler.prototype.reset;mxEdgeHandler.prototype.reset=function(){fa.apply(this,arguments);null!=this.linkHint&&(this.linkHint.style.visibility="")};var ma=mxEdgeHandler.prototype.destroy;mxEdgeHandler.prototype.destroy=function(){ma.apply(this,arguments);null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);null!=this.changeHandler&&(this.graph.getModel().removeListener(this.changeHandler),this.graph.getSelectionModel().removeListener(this.changeHandler),
-this.changeHandler=null)}}();(function(){function a(){mxCylinder.call(this)}function b(){mxActor.call(this)}function f(){mxCylinder.call(this)}function d(){mxCylinder.call(this)}function l(){mxCylinder.call(this)}function m(){mxActor.call(this)}function q(){mxCylinder.call(this)}function u(){mxActor.call(this)}function z(){mxActor.call(this)}function C(){mxActor.call(this)}function c(){mxActor.call(this)}function e(){mxActor.call(this)}function k(){mxActor.call(this)}function x(){mxActor.call(this)}function n(a,c){this.canvas=
-a;this.canvas.setLineJoin("round");this.canvas.setLineCap("round");this.defaultVariation=c;this.originalLineTo=this.canvas.lineTo;this.canvas.lineTo=mxUtils.bind(this,n.prototype.lineTo);this.originalMoveTo=this.canvas.moveTo;this.canvas.moveTo=mxUtils.bind(this,n.prototype.moveTo);this.originalClose=this.canvas.close;this.canvas.close=mxUtils.bind(this,n.prototype.close);this.originalQuadTo=this.canvas.quadTo;this.canvas.quadTo=mxUtils.bind(this,n.prototype.quadTo);this.originalCurveTo=this.canvas.curveTo;
-this.canvas.curveTo=mxUtils.bind(this,n.prototype.curveTo);this.originalArcTo=this.canvas.arcTo;this.canvas.arcTo=mxUtils.bind(this,n.prototype.arcTo)}function g(){mxRectangleShape.call(this)}function A(){mxRectangleShape.call(this)}function v(){mxActor.call(this)}function t(){mxActor.call(this)}function D(){mxActor.call(this)}function y(){mxRectangleShape.call(this)}function E(){mxRectangleShape.call(this)}function p(){mxCylinder.call(this)}function B(){mxShape.call(this)}function L(){mxShape.call(this)}
-function P(){mxEllipse.call(this)}function I(){mxShape.call(this)}function S(){mxShape.call(this)}function F(){mxRectangleShape.call(this)}function G(){mxShape.call(this)}function O(){mxShape.call(this)}function V(){mxShape.call(this)}function aa(){mxShape.call(this)}function W(){mxShape.call(this)}function H(){mxCylinder.call(this)}function Z(){mxRectangleShape.call(this)}function fa(){mxDoubleEllipse.call(this)}function ma(){mxDoubleEllipse.call(this)}function Q(){mxArrowConnector.call(this);this.spacing=
-0}function ga(){mxArrowConnector.call(this);this.spacing=0}function T(){mxActor.call(this)}function U(){mxRectangleShape.call(this)}function da(){mxActor.call(this)}function na(){mxActor.call(this)}function R(){mxActor.call(this)}function ba(){mxActor.call(this)}function M(){mxActor.call(this)}function J(){mxActor.call(this)}function ja(){mxActor.call(this)}function N(){mxActor.call(this)}function X(){mxActor.call(this)}function ha(){mxActor.call(this)}function la(){mxEllipse.call(this)}function K(){mxEllipse.call(this)}
-function oa(){mxEllipse.call(this)}function ea(){mxRhombus.call(this)}function ia(){mxEllipse.call(this)}function Aa(){mxEllipse.call(this)}function Ba(){mxEllipse.call(this)}function za(){mxEllipse.call(this)}function pa(){mxActor.call(this)}function ka(){mxActor.call(this)}function ta(){mxActor.call(this)}function qa(){mxConnector.call(this)}function ua(a,c,b,e,d,k,g,f,p,n){g+=p;var ca=e.clone();e.x-=d*(2*g+p);e.y-=k*(2*g+p);d*=g+p;k*=g+p;return function(){a.ellipse(ca.x-d-g,ca.y-k-g,2*g,2*g);n?
-a.fillAndStroke():a.stroke()}}mxUtils.extend(a,mxCylinder);a.prototype.size=20;a.prototype.darkOpacity=0;a.prototype.darkOpacity2=0;a.prototype.paintVertexShape=function(a,c,b,e,d){var k=Math.max(0,Math.min(e,Math.min(d,parseFloat(mxUtils.getValue(this.style,"size",this.size))))),g=Math.max(-1,Math.min(1,parseFloat(mxUtils.getValue(this.style,"darkOpacity",this.darkOpacity)))),ca=Math.max(-1,Math.min(1,parseFloat(mxUtils.getValue(this.style,"darkOpacity2",this.darkOpacity2))));a.translate(c,b);a.begin();
-a.moveTo(0,0);a.lineTo(e-k,0);a.lineTo(e,k);a.lineTo(e,d);a.lineTo(k,d);a.lineTo(0,d-k);a.lineTo(0,0);a.close();a.end();a.fillAndStroke();this.outline||(a.setShadow(!1),0!=g&&(a.setFillAlpha(Math.abs(g)),a.setFillColor(0>g?"#FFFFFF":"#000000"),a.begin(),a.moveTo(0,0),a.lineTo(e-k,0),a.lineTo(e,k),a.lineTo(k,k),a.close(),a.fill()),0!=ca&&(a.setFillAlpha(Math.abs(ca)),a.setFillColor(0>ca?"#FFFFFF":"#000000"),a.begin(),a.moveTo(0,0),a.lineTo(k,k),a.lineTo(k,d),a.lineTo(0,d-k),a.close(),a.fill()),a.begin(),
-a.moveTo(k,d),a.lineTo(k,k),a.lineTo(0,0),a.moveTo(k,k),a.lineTo(e,k),a.end(),a.stroke())};a.prototype.getLabelMargins=function(a){return mxUtils.getValue(this.style,"boundedLbl",!1)?(a=parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale,new mxRectangle(a,a,0,0)):null};mxCellRenderer.registerShape("cube",a);var wa=Math.tan(mxUtils.toRadians(30)),ra=(.5-wa)/2;mxUtils.extend(b,mxActor);b.prototype.size=20;b.prototype.redrawPath=function(a,c,b,e,d){c=Math.min(e,d/wa);a.translate((e-
-c)/2,(d-c)/2+c/4);a.moveTo(0,.25*c);a.lineTo(.5*c,c*ra);a.lineTo(c,.25*c);a.lineTo(.5*c,(.5-ra)*c);a.lineTo(0,.25*c);a.close();a.end()};mxCellRenderer.registerShape("isoRectangle",b);mxUtils.extend(f,mxCylinder);f.prototype.size=20;f.prototype.redrawPath=function(a,c,b,e,d,k){c=Math.min(e,d/(.5+wa));k?(a.moveTo(0,.25*c),a.lineTo(.5*c,(.5-ra)*c),a.lineTo(c,.25*c),a.moveTo(.5*c,(.5-ra)*c),a.lineTo(.5*c,(1-ra)*c)):(a.translate((e-c)/2,(d-c)/2),a.moveTo(0,.25*c),a.lineTo(.5*c,c*ra),a.lineTo(c,.25*c),
-a.lineTo(c,.75*c),a.lineTo(.5*c,(1-ra)*c),a.lineTo(0,.75*c),a.close());a.end()};mxCellRenderer.registerShape("isoCube",f);mxUtils.extend(d,mxCylinder);d.prototype.redrawPath=function(a,c,b,e,d,k){c=Math.min(d/2,Math.round(d/8)+this.strokewidth-1);if(k&&null!=this.fill||!k&&null==this.fill)a.moveTo(0,c),a.curveTo(0,2*c,e,2*c,e,c),k||(a.stroke(),a.begin()),a.translate(0,c/2),a.moveTo(0,c),a.curveTo(0,2*c,e,2*c,e,c),k||(a.stroke(),a.begin()),a.translate(0,c/2),a.moveTo(0,c),a.curveTo(0,2*c,e,2*c,e,c),
-k||(a.stroke(),a.begin()),a.translate(0,-c);k||(a.moveTo(0,c),a.curveTo(0,-c/3,e,-c/3,e,c),a.lineTo(e,d-c),a.curveTo(e,d+c/3,0,d+c/3,0,d-c),a.close())};d.prototype.getLabelMargins=function(a){return new mxRectangle(0,2.5*Math.min(a.height/2,Math.round(a.height/8)+this.strokewidth-1),0,0)};mxCellRenderer.registerShape("datastore",d);mxUtils.extend(l,mxCylinder);l.prototype.size=30;l.prototype.darkOpacity=0;l.prototype.paintVertexShape=function(a,c,b,e,d){var k=Math.max(0,Math.min(e,Math.min(d,parseFloat(mxUtils.getValue(this.style,
-"size",this.size))))),g=Math.max(-1,Math.min(1,parseFloat(mxUtils.getValue(this.style,"darkOpacity",this.darkOpacity))));a.translate(c,b);a.begin();a.moveTo(0,0);a.lineTo(e-k,0);a.lineTo(e,k);a.lineTo(e,d);a.lineTo(0,d);a.lineTo(0,0);a.close();a.end();a.fillAndStroke();this.outline||(a.setShadow(!1),0!=g&&(a.setFillAlpha(Math.abs(g)),a.setFillColor(0>g?"#FFFFFF":"#000000"),a.begin(),a.moveTo(e-k,0),a.lineTo(e-k,k),a.lineTo(e,k),a.close(),a.fill()),a.begin(),a.moveTo(e-k,0),a.lineTo(e-k,k),a.lineTo(e,
-k),a.end(),a.stroke())};mxCellRenderer.registerShape("note",l);mxUtils.extend(m,mxActor);m.prototype.redrawPath=function(a,c,b,e,d){a.moveTo(0,0);a.quadTo(e/2,.5*d,e,0);a.quadTo(.5*e,d/2,e,d);a.quadTo(e/2,.5*d,0,d);a.quadTo(.5*e,d/2,0,0);a.end()};mxCellRenderer.registerShape("switch",m);mxUtils.extend(q,mxCylinder);q.prototype.tabWidth=60;q.prototype.tabHeight=20;q.prototype.tabPosition="right";q.prototype.redrawPath=function(a,c,b,e,d,k){c=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,
-"tabWidth",this.tabWidth))));b=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"tabHeight",this.tabHeight))));var g=mxUtils.getValue(this.style,"tabPosition",this.tabPosition);k?"left"==g?(a.moveTo(0,b),a.lineTo(c,b)):(a.moveTo(e-c,b),a.lineTo(e,b)):("left"==g?(a.moveTo(0,0),a.lineTo(c,0),a.lineTo(c,b),a.lineTo(e,b)):(a.moveTo(0,b),a.lineTo(e-c,b),a.lineTo(e-c,0),a.lineTo(e,0)),a.lineTo(e,d),a.lineTo(0,d),a.lineTo(0,b),a.close());a.end()};mxCellRenderer.registerShape("folder",q);mxUtils.extend(u,
-mxActor);u.prototype.size=30;u.prototype.isRoundable=function(){return!0};u.prototype.redrawPath=function(a,c,b,e,d){c=Math.max(0,Math.min(e,Math.min(d,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(c,0),new mxPoint(e,0),new mxPoint(e,d),new mxPoint(0,d),new mxPoint(0,c)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("card",u);mxUtils.extend(z,mxActor);z.prototype.size=
-.4;z.prototype.redrawPath=function(a,c,b,e,d){c=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));a.moveTo(0,c/2);a.quadTo(e/4,1.4*c,e/2,c/2);a.quadTo(3*e/4,c*(1-1.4),e,c/2);a.lineTo(e,d-c/2);a.quadTo(3*e/4,d-1.4*c,e/2,d-c/2);a.quadTo(e/4,d-c*(1-1.4),0,d-c/2);a.lineTo(0,c/2);a.close();a.end()};z.prototype.getLabelBounds=function(a){if(mxUtils.getValue(this.style,"boundedLbl",!1)){var c=mxUtils.getValue(this.style,"size",this.size),b=a.width,e=a.height;if(null==this.direction||
-this.direction==mxConstants.DIRECTION_EAST||this.direction==mxConstants.DIRECTION_WEST)return c*=e,new mxRectangle(a.x,a.y+c,b,e-2*c);c*=b;return new mxRectangle(a.x+c,a.y,b-2*c,e)}return a};mxCellRenderer.registerShape("tape",z);mxUtils.extend(C,mxActor);C.prototype.size=.3;C.prototype.getLabelMargins=function(a){return mxUtils.getValue(this.style,"boundedLbl",!1)?new mxRectangle(0,0,0,parseFloat(mxUtils.getValue(this.style,"size",this.size))*a.height):null};C.prototype.redrawPath=function(a,c,b,
-e,d){c=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));a.moveTo(0,0);a.lineTo(e,0);a.lineTo(e,d-c/2);a.quadTo(3*e/4,d-1.4*c,e/2,d-c/2);a.quadTo(e/4,d-c*(1-1.4),0,d-c/2);a.lineTo(0,c/2);a.close();a.end()};mxCellRenderer.registerShape("document",C);var Ca=mxCylinder.prototype.getCylinderSize;mxCylinder.prototype.getCylinderSize=function(a,c,b,e){var d=mxUtils.getValue(this.style,"size");return null!=d?e*Math.max(0,Math.min(1,d)):Ca.apply(this,arguments)};mxCylinder.prototype.getLabelMargins=
-function(a){if(mxUtils.getValue(this.style,"boundedLbl",!1)){var c=2*mxUtils.getValue(this.style,"size",.15);return new mxRectangle(0,Math.min(this.maxHeight*this.scale,a.height*c),0,0)}return null};mxUtils.extend(c,mxActor);c.prototype.size=.2;c.prototype.isRoundable=function(){return!0};c.prototype.redrawPath=function(a,c,b,e,d){c=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/
-2;this.addPoints(a,[new mxPoint(0,d),new mxPoint(c,0),new mxPoint(e,0),new mxPoint(e-c,d)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("parallelogram",c);mxUtils.extend(e,mxActor);e.prototype.size=.2;e.prototype.isRoundable=function(){return!0};e.prototype.redrawPath=function(a,c,b,e,d){c=e*Math.max(0,Math.min(.5,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,
-d),new mxPoint(c,0),new mxPoint(e-c,0),new mxPoint(e,d)],this.isRounded,b,!0)};mxCellRenderer.registerShape("trapezoid",e);mxUtils.extend(k,mxActor);k.prototype.size=.5;k.prototype.redrawPath=function(a,c,b,e,d){a.setFillColor(null);c=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(e,0),new mxPoint(c,0),new mxPoint(c,d/2),new mxPoint(0,d/2),new mxPoint(c,
-d/2),new mxPoint(c,d),new mxPoint(e,d)],this.isRounded,b,!1);a.end()};mxCellRenderer.registerShape("curlyBracket",k);mxUtils.extend(x,mxActor);x.prototype.redrawPath=function(a,c,b,e,d){a.setStrokeWidth(1);a.setFillColor(this.stroke);c=e/5;a.rect(0,0,c,d);a.fillAndStroke();a.rect(2*c,0,c,d);a.fillAndStroke();a.rect(4*c,0,c,d);a.fillAndStroke()};mxCellRenderer.registerShape("parallelMarker",x);n.prototype.moveTo=function(a,c){this.originalMoveTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=
-c;this.firstX=a;this.firstY=c};n.prototype.close=function(){null!=this.firstX&&null!=this.firstY&&(this.lineTo(this.firstX,this.firstY),this.originalClose.apply(this.canvas,arguments));this.originalClose.apply(this.canvas,arguments)};n.prototype.quadTo=function(a,c,b,e){this.originalQuadTo.apply(this.canvas,arguments);this.lastX=b;this.lastY=e};n.prototype.curveTo=function(a,c,b,e,d,k){this.originalCurveTo.apply(this.canvas,arguments);this.lastX=d;this.lastY=k};n.prototype.arcTo=function(a,c,b,e,
-d,k,g){this.originalArcTo.apply(this.canvas,arguments);this.lastX=k;this.lastY=g};n.prototype.lineTo=function(a,c){if(null!=this.lastX&&null!=this.lastY){var b=function(a){return"number"===typeof a?a?0>a?-1:1:a===a?0:NaN:NaN},e=Math.abs(a-this.lastX),d=Math.abs(c-this.lastY),k=Math.sqrt(e*e+d*d);if(2>k){this.originalLineTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=c;return}var g=Math.round(k/10),f=this.defaultVariation;5>g&&(g=5,f/=3);for(var ca=b(a-this.lastX)*e/g,b=b(c-this.lastY)*d/
-g,e=e/k,d=d/k,k=0;k<g;k++){var p=(Math.random()-.5)*f;this.originalLineTo.call(this.canvas,ca*k+this.lastX-p*d,b*k+this.lastY-p*e)}this.originalLineTo.call(this.canvas,a,c)}else this.originalLineTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=c};n.prototype.destroy=function(){this.canvas.lineTo=this.originalLineTo;this.canvas.moveTo=this.originalMoveTo;this.canvas.close=this.originalClose;this.canvas.quadTo=this.originalQuadTo;this.canvas.curveTo=this.originalCurveTo;this.canvas.arcTo=this.originalArcTo};
+this.changeHandler=null)}}();(function(){function a(){mxCylinder.call(this)}function b(){mxActor.call(this)}function e(){mxCylinder.call(this)}function c(){mxCylinder.call(this)}function l(){mxCylinder.call(this)}function m(){mxActor.call(this)}function q(){mxCylinder.call(this)}function u(){mxActor.call(this)}function z(){mxActor.call(this)}function C(){mxActor.call(this)}function d(){mxActor.call(this)}function f(){mxActor.call(this)}function k(){mxActor.call(this)}function x(){mxActor.call(this)}function n(a,d){this.canvas=
+a;this.canvas.setLineJoin("round");this.canvas.setLineCap("round");this.defaultVariation=d;this.originalLineTo=this.canvas.lineTo;this.canvas.lineTo=mxUtils.bind(this,n.prototype.lineTo);this.originalMoveTo=this.canvas.moveTo;this.canvas.moveTo=mxUtils.bind(this,n.prototype.moveTo);this.originalClose=this.canvas.close;this.canvas.close=mxUtils.bind(this,n.prototype.close);this.originalQuadTo=this.canvas.quadTo;this.canvas.quadTo=mxUtils.bind(this,n.prototype.quadTo);this.originalCurveTo=this.canvas.curveTo;
+this.canvas.curveTo=mxUtils.bind(this,n.prototype.curveTo);this.originalArcTo=this.canvas.arcTo;this.canvas.arcTo=mxUtils.bind(this,n.prototype.arcTo)}function g(){mxRectangleShape.call(this)}function A(){mxRectangleShape.call(this)}function v(){mxActor.call(this)}function t(){mxActor.call(this)}function E(){mxActor.call(this)}function y(){mxRectangleShape.call(this)}function D(){mxRectangleShape.call(this)}function p(){mxCylinder.call(this)}function B(){mxShape.call(this)}function K(){mxShape.call(this)}
+function M(){mxEllipse.call(this)}function I(){mxShape.call(this)}function S(){mxShape.call(this)}function F(){mxRectangleShape.call(this)}function G(){mxShape.call(this)}function P(){mxShape.call(this)}function V(){mxShape.call(this)}function aa(){mxShape.call(this)}function W(){mxShape.call(this)}function H(){mxCylinder.call(this)}function Z(){mxRectangleShape.call(this)}function fa(){mxDoubleEllipse.call(this)}function ma(){mxDoubleEllipse.call(this)}function Q(){mxArrowConnector.call(this);this.spacing=
+0}function ga(){mxArrowConnector.call(this);this.spacing=0}function T(){mxActor.call(this)}function U(){mxRectangleShape.call(this)}function da(){mxActor.call(this)}function na(){mxActor.call(this)}function R(){mxActor.call(this)}function ba(){mxActor.call(this)}function N(){mxActor.call(this)}function J(){mxActor.call(this)}function ja(){mxActor.call(this)}function O(){mxActor.call(this)}function X(){mxActor.call(this)}function ha(){mxActor.call(this)}function la(){mxEllipse.call(this)}function L(){mxEllipse.call(this)}
+function oa(){mxEllipse.call(this)}function ea(){mxRhombus.call(this)}function ia(){mxEllipse.call(this)}function Aa(){mxEllipse.call(this)}function Ba(){mxEllipse.call(this)}function za(){mxEllipse.call(this)}function pa(){mxActor.call(this)}function ka(){mxActor.call(this)}function ta(){mxActor.call(this)}function qa(){mxConnector.call(this)}function ua(a,d,b,c,f,k,g,e,p,n){g+=p;var ca=c.clone();c.x-=f*(2*g+p);c.y-=k*(2*g+p);f*=g+p;k*=g+p;return function(){a.ellipse(ca.x-f-g,ca.y-k-g,2*g,2*g);n?
+a.fillAndStroke():a.stroke()}}mxUtils.extend(a,mxCylinder);a.prototype.size=20;a.prototype.darkOpacity=0;a.prototype.darkOpacity2=0;a.prototype.paintVertexShape=function(a,d,b,c,f){var k=Math.max(0,Math.min(c,Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size))))),g=Math.max(-1,Math.min(1,parseFloat(mxUtils.getValue(this.style,"darkOpacity",this.darkOpacity)))),ca=Math.max(-1,Math.min(1,parseFloat(mxUtils.getValue(this.style,"darkOpacity2",this.darkOpacity2))));a.translate(d,b);a.begin();
+a.moveTo(0,0);a.lineTo(c-k,0);a.lineTo(c,k);a.lineTo(c,f);a.lineTo(k,f);a.lineTo(0,f-k);a.lineTo(0,0);a.close();a.end();a.fillAndStroke();this.outline||(a.setShadow(!1),0!=g&&(a.setFillAlpha(Math.abs(g)),a.setFillColor(0>g?"#FFFFFF":"#000000"),a.begin(),a.moveTo(0,0),a.lineTo(c-k,0),a.lineTo(c,k),a.lineTo(k,k),a.close(),a.fill()),0!=ca&&(a.setFillAlpha(Math.abs(ca)),a.setFillColor(0>ca?"#FFFFFF":"#000000"),a.begin(),a.moveTo(0,0),a.lineTo(k,k),a.lineTo(k,f),a.lineTo(0,f-k),a.close(),a.fill()),a.begin(),
+a.moveTo(k,f),a.lineTo(k,k),a.lineTo(0,0),a.moveTo(k,k),a.lineTo(c,k),a.end(),a.stroke())};a.prototype.getLabelMargins=function(a){return mxUtils.getValue(this.style,"boundedLbl",!1)?(a=parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale,new mxRectangle(a,a,0,0)):null};mxCellRenderer.registerShape("cube",a);var wa=Math.tan(mxUtils.toRadians(30)),ra=(.5-wa)/2;mxUtils.extend(b,mxActor);b.prototype.size=20;b.prototype.redrawPath=function(a,d,b,c,f){d=Math.min(c,f/wa);a.translate((c-
+d)/2,(f-d)/2+d/4);a.moveTo(0,.25*d);a.lineTo(.5*d,d*ra);a.lineTo(d,.25*d);a.lineTo(.5*d,(.5-ra)*d);a.lineTo(0,.25*d);a.close();a.end()};mxCellRenderer.registerShape("isoRectangle",b);mxUtils.extend(e,mxCylinder);e.prototype.size=20;e.prototype.redrawPath=function(a,d,b,c,f,k){d=Math.min(c,f/(.5+wa));k?(a.moveTo(0,.25*d),a.lineTo(.5*d,(.5-ra)*d),a.lineTo(d,.25*d),a.moveTo(.5*d,(.5-ra)*d),a.lineTo(.5*d,(1-ra)*d)):(a.translate((c-d)/2,(f-d)/2),a.moveTo(0,.25*d),a.lineTo(.5*d,d*ra),a.lineTo(d,.25*d),
+a.lineTo(d,.75*d),a.lineTo(.5*d,(1-ra)*d),a.lineTo(0,.75*d),a.close());a.end()};mxCellRenderer.registerShape("isoCube",e);mxUtils.extend(c,mxCylinder);c.prototype.redrawPath=function(a,d,b,c,f,k){d=Math.min(f/2,Math.round(f/8)+this.strokewidth-1);if(k&&null!=this.fill||!k&&null==this.fill)a.moveTo(0,d),a.curveTo(0,2*d,c,2*d,c,d),k||(a.stroke(),a.begin()),a.translate(0,d/2),a.moveTo(0,d),a.curveTo(0,2*d,c,2*d,c,d),k||(a.stroke(),a.begin()),a.translate(0,d/2),a.moveTo(0,d),a.curveTo(0,2*d,c,2*d,c,d),
+k||(a.stroke(),a.begin()),a.translate(0,-d);k||(a.moveTo(0,d),a.curveTo(0,-d/3,c,-d/3,c,d),a.lineTo(c,f-d),a.curveTo(c,f+d/3,0,f+d/3,0,f-d),a.close())};c.prototype.getLabelMargins=function(a){return new mxRectangle(0,2.5*Math.min(a.height/2,Math.round(a.height/8)+this.strokewidth-1),0,0)};mxCellRenderer.registerShape("datastore",c);mxUtils.extend(l,mxCylinder);l.prototype.size=30;l.prototype.darkOpacity=0;l.prototype.paintVertexShape=function(a,d,b,c,f){var k=Math.max(0,Math.min(c,Math.min(f,parseFloat(mxUtils.getValue(this.style,
+"size",this.size))))),g=Math.max(-1,Math.min(1,parseFloat(mxUtils.getValue(this.style,"darkOpacity",this.darkOpacity))));a.translate(d,b);a.begin();a.moveTo(0,0);a.lineTo(c-k,0);a.lineTo(c,k);a.lineTo(c,f);a.lineTo(0,f);a.lineTo(0,0);a.close();a.end();a.fillAndStroke();this.outline||(a.setShadow(!1),0!=g&&(a.setFillAlpha(Math.abs(g)),a.setFillColor(0>g?"#FFFFFF":"#000000"),a.begin(),a.moveTo(c-k,0),a.lineTo(c-k,k),a.lineTo(c,k),a.close(),a.fill()),a.begin(),a.moveTo(c-k,0),a.lineTo(c-k,k),a.lineTo(c,
+k),a.end(),a.stroke())};mxCellRenderer.registerShape("note",l);mxUtils.extend(m,mxActor);m.prototype.redrawPath=function(a,d,b,c,f){a.moveTo(0,0);a.quadTo(c/2,.5*f,c,0);a.quadTo(.5*c,f/2,c,f);a.quadTo(c/2,.5*f,0,f);a.quadTo(.5*c,f/2,0,0);a.end()};mxCellRenderer.registerShape("switch",m);mxUtils.extend(q,mxCylinder);q.prototype.tabWidth=60;q.prototype.tabHeight=20;q.prototype.tabPosition="right";q.prototype.redrawPath=function(a,d,b,c,f,k){d=Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style,
+"tabWidth",this.tabWidth))));b=Math.max(0,Math.min(f,parseFloat(mxUtils.getValue(this.style,"tabHeight",this.tabHeight))));var g=mxUtils.getValue(this.style,"tabPosition",this.tabPosition);k?"left"==g?(a.moveTo(0,b),a.lineTo(d,b)):(a.moveTo(c-d,b),a.lineTo(c,b)):("left"==g?(a.moveTo(0,0),a.lineTo(d,0),a.lineTo(d,b),a.lineTo(c,b)):(a.moveTo(0,b),a.lineTo(c-d,b),a.lineTo(c-d,0),a.lineTo(c,0)),a.lineTo(c,f),a.lineTo(0,f),a.lineTo(0,b),a.close());a.end()};mxCellRenderer.registerShape("folder",q);mxUtils.extend(u,
+mxActor);u.prototype.size=30;u.prototype.isRoundable=function(){return!0};u.prototype.redrawPath=function(a,d,b,c,f){d=Math.max(0,Math.min(c,Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(d,0),new mxPoint(c,0),new mxPoint(c,f),new mxPoint(0,f),new mxPoint(0,d)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("card",u);mxUtils.extend(z,mxActor);z.prototype.size=
+.4;z.prototype.redrawPath=function(a,d,b,c,f){d=f*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));a.moveTo(0,d/2);a.quadTo(c/4,1.4*d,c/2,d/2);a.quadTo(3*c/4,d*(1-1.4),c,d/2);a.lineTo(c,f-d/2);a.quadTo(3*c/4,f-1.4*d,c/2,f-d/2);a.quadTo(c/4,f-d*(1-1.4),0,f-d/2);a.lineTo(0,d/2);a.close();a.end()};z.prototype.getLabelBounds=function(a){if(mxUtils.getValue(this.style,"boundedLbl",!1)){var d=mxUtils.getValue(this.style,"size",this.size),b=a.width,c=a.height;if(null==this.direction||
+this.direction==mxConstants.DIRECTION_EAST||this.direction==mxConstants.DIRECTION_WEST)return d*=c,new mxRectangle(a.x,a.y+d,b,c-2*d);d*=b;return new mxRectangle(a.x+d,a.y,b-2*d,c)}return a};mxCellRenderer.registerShape("tape",z);mxUtils.extend(C,mxActor);C.prototype.size=.3;C.prototype.getLabelMargins=function(a){return mxUtils.getValue(this.style,"boundedLbl",!1)?new mxRectangle(0,0,0,parseFloat(mxUtils.getValue(this.style,"size",this.size))*a.height):null};C.prototype.redrawPath=function(a,d,b,
+c,f){d=f*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));a.moveTo(0,0);a.lineTo(c,0);a.lineTo(c,f-d/2);a.quadTo(3*c/4,f-1.4*d,c/2,f-d/2);a.quadTo(c/4,f-d*(1-1.4),0,f-d/2);a.lineTo(0,d/2);a.close();a.end()};mxCellRenderer.registerShape("document",C);var Ca=mxCylinder.prototype.getCylinderSize;mxCylinder.prototype.getCylinderSize=function(a,d,b,c){var f=mxUtils.getValue(this.style,"size");return null!=f?c*Math.max(0,Math.min(1,f)):Ca.apply(this,arguments)};mxCylinder.prototype.getLabelMargins=
+function(a){if(mxUtils.getValue(this.style,"boundedLbl",!1)){var d=2*mxUtils.getValue(this.style,"size",.15);return new mxRectangle(0,Math.min(this.maxHeight*this.scale,a.height*d),0,0)}return null};mxUtils.extend(d,mxActor);d.prototype.size=.2;d.prototype.isRoundable=function(){return!0};d.prototype.redrawPath=function(a,d,b,c,f){d=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/
+2;this.addPoints(a,[new mxPoint(0,f),new mxPoint(d,0),new mxPoint(c,0),new mxPoint(c-d,f)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("parallelogram",d);mxUtils.extend(f,mxActor);f.prototype.size=.2;f.prototype.isRoundable=function(){return!0};f.prototype.redrawPath=function(a,d,b,c,f){d=c*Math.max(0,Math.min(.5,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,
+f),new mxPoint(d,0),new mxPoint(c-d,0),new mxPoint(c,f)],this.isRounded,b,!0)};mxCellRenderer.registerShape("trapezoid",f);mxUtils.extend(k,mxActor);k.prototype.size=.5;k.prototype.redrawPath=function(a,d,b,c,f){a.setFillColor(null);d=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(c,0),new mxPoint(d,0),new mxPoint(d,f/2),new mxPoint(0,f/2),new mxPoint(d,
+f/2),new mxPoint(d,f),new mxPoint(c,f)],this.isRounded,b,!1);a.end()};mxCellRenderer.registerShape("curlyBracket",k);mxUtils.extend(x,mxActor);x.prototype.redrawPath=function(a,d,b,c,f){a.setStrokeWidth(1);a.setFillColor(this.stroke);d=c/5;a.rect(0,0,d,f);a.fillAndStroke();a.rect(2*d,0,d,f);a.fillAndStroke();a.rect(4*d,0,d,f);a.fillAndStroke()};mxCellRenderer.registerShape("parallelMarker",x);n.prototype.moveTo=function(a,d){this.originalMoveTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=
+d;this.firstX=a;this.firstY=d};n.prototype.close=function(){null!=this.firstX&&null!=this.firstY&&(this.lineTo(this.firstX,this.firstY),this.originalClose.apply(this.canvas,arguments));this.originalClose.apply(this.canvas,arguments)};n.prototype.quadTo=function(a,d,b,c){this.originalQuadTo.apply(this.canvas,arguments);this.lastX=b;this.lastY=c};n.prototype.curveTo=function(a,d,b,c,f,k){this.originalCurveTo.apply(this.canvas,arguments);this.lastX=f;this.lastY=k};n.prototype.arcTo=function(a,d,b,c,
+f,k,g){this.originalArcTo.apply(this.canvas,arguments);this.lastX=k;this.lastY=g};n.prototype.lineTo=function(a,d){if(null!=this.lastX&&null!=this.lastY){var b=function(a){return"number"===typeof a?a?0>a?-1:1:a===a?0:NaN:NaN},c=Math.abs(a-this.lastX),f=Math.abs(d-this.lastY),k=Math.sqrt(c*c+f*f);if(2>k){this.originalLineTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=d;return}var g=Math.round(k/10),e=this.defaultVariation;5>g&&(g=5,e/=3);for(var ca=b(a-this.lastX)*c/g,b=b(d-this.lastY)*f/
+g,c=c/k,f=f/k,k=0;k<g;k++){var p=(Math.random()-.5)*e;this.originalLineTo.call(this.canvas,ca*k+this.lastX-p*f,b*k+this.lastY-p*c)}this.originalLineTo.call(this.canvas,a,d)}else this.originalLineTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=d};n.prototype.destroy=function(){this.canvas.lineTo=this.originalLineTo;this.canvas.moveTo=this.originalMoveTo;this.canvas.close=this.originalClose;this.canvas.quadTo=this.originalQuadTo;this.canvas.curveTo=this.originalCurveTo;this.canvas.arcTo=this.originalArcTo};
 var Ma=mxShape.prototype.paint;mxShape.prototype.defaultJiggle=1.5;mxShape.prototype.paint=function(a){null!=this.style&&"0"!=mxUtils.getValue(this.style,"comic","0")&&null==a.handHiggle&&(a.handJiggle=new n(a,mxUtils.getValue(this.style,"jiggle",this.defaultJiggle)));Ma.apply(this,arguments);null!=a.handJiggle&&(a.handJiggle.destroy(),delete a.handJiggle)};mxRhombus.prototype.defaultJiggle=2;var Da=mxRectangleShape.prototype.isHtmlAllowed;mxRectangleShape.prototype.isHtmlAllowed=function(){return(null==
-this.style||"0"==mxUtils.getValue(this.style,"comic","0"))&&Da.apply(this,arguments)};var xa=mxRectangleShape.prototype.paintBackground;mxRectangleShape.prototype.paintBackground=function(a,c,b,e,d){if(null==a.handJiggle)xa.apply(this,arguments);else{var k=!0;null!=this.style&&(k="1"==mxUtils.getValue(this.style,mxConstants.STYLE_POINTER_EVENTS,"1"));if(k||null!=this.fill&&this.fill!=mxConstants.NONE||null!=this.stroke&&this.stroke!=mxConstants.NONE)k||null!=this.fill&&this.fill!=mxConstants.NONE||
-(a.pointerEvents=!1),a.begin(),this.isRounded?("1"==mxUtils.getValue(this.style,mxConstants.STYLE_ABSOLUTE_ARCSIZE,0)?k=Math.min(e/2,Math.min(d/2,mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2)):(k=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,k=Math.min(e*k,d*k)),a.moveTo(c+k,b),a.lineTo(c+e-k,b),a.quadTo(c+e,b,c+e,b+k),a.lineTo(c+e,b+d-k),a.quadTo(c+e,b+d,c+e-k,b+d),a.lineTo(c+k,b+d),a.quadTo(c,b+d,c,b+d-k),
-a.lineTo(c,b+k),a.quadTo(c,b,c+k,b)):(a.moveTo(c,b),a.lineTo(c+e,b),a.lineTo(c+e,b+d),a.lineTo(c,b+d),a.lineTo(c,b)),a.close(),a.end(),a.fillAndStroke()}};var ya=mxRectangleShape.prototype.paintForeground;mxRectangleShape.prototype.paintForeground=function(a,c,b,e,d){null==a.handJiggle&&ya.apply(this,arguments)};mxUtils.extend(g,mxRectangleShape);g.prototype.size=.1;g.prototype.isHtmlAllowed=function(){return!1};g.prototype.getLabelBounds=function(a){if(mxUtils.getValue(this.state.style,mxConstants.STYLE_HORIZONTAL,
-!0)==(null==this.direction||this.direction==mxConstants.DIRECTION_EAST||this.direction==mxConstants.DIRECTION_WEST)){var c=a.width,b=a.height;a=new mxRectangle(a.x,a.y,c,b);var e=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));if(this.isRounded)var d=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,e=Math.max(e,Math.min(c*d,b*d));a.x+=Math.round(e);a.width-=Math.round(2*e)}return a};g.prototype.paintForeground=
-function(a,c,b,e,d){var k=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));if(this.isRounded)var g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,k=Math.max(k,Math.min(e*g,d*g));k=Math.round(k);a.begin();a.moveTo(c+k,b);a.lineTo(c+k,b+d);a.moveTo(c+e-k,b);a.lineTo(c+e-k,b+d);a.end();a.stroke();mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("process",g);mxUtils.extend(A,
-mxRectangleShape);A.prototype.paintBackground=function(a,c,b,e,d){a.setFillColor(mxConstants.NONE);a.rect(c,b,e,d);a.fill()};A.prototype.paintForeground=function(a,c,b,e,d){};mxCellRenderer.registerShape("transparent",A);mxUtils.extend(v,mxHexagon);v.prototype.size=30;v.prototype.position=.5;v.prototype.position2=.5;v.prototype.base=20;v.prototype.getLabelMargins=function(){return new mxRectangle(0,0,0,parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale)};v.prototype.isRoundable=
-function(){return!0};v.prototype.redrawPath=function(a,c,b,e,d){c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;b=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"size",this.size))));var k=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"position",this.position)))),g=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"position2",this.position2)))),f=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"base",this.base))));
-this.addPoints(a,[new mxPoint(0,0),new mxPoint(e,0),new mxPoint(e,d-b),new mxPoint(Math.min(e,k+f),d-b),new mxPoint(g,d),new mxPoint(Math.max(0,k),d-b),new mxPoint(0,d-b)],this.isRounded,c,!0,[4])};mxCellRenderer.registerShape("callout",v);mxUtils.extend(t,mxActor);t.prototype.size=.2;t.prototype.fixedSize=20;t.prototype.isRoundable=function(){return!0};t.prototype.redrawPath=function(a,c,b,e,d){c="0"!=mxUtils.getValue(this.style,"fixedSize","0")?Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,
-"size",this.fixedSize)))):e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(e-c,0),new mxPoint(e,d/2),new mxPoint(e-c,d),new mxPoint(0,d),new mxPoint(c,d/2)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("step",t);mxUtils.extend(D,mxHexagon);D.prototype.size=.25;D.prototype.isRoundable=function(){return!0};D.prototype.redrawPath=
-function(a,c,b,e,d){c=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(c,0),new mxPoint(e-c,0),new mxPoint(e,.5*d),new mxPoint(e-c,d),new mxPoint(c,d),new mxPoint(0,.5*d)],this.isRounded,b,!0)};mxCellRenderer.registerShape("hexagon",D);mxUtils.extend(y,mxRectangleShape);y.prototype.isHtmlAllowed=function(){return!1};y.prototype.paintForeground=function(a,
-c,b,e,d){var k=Math.min(e/5,d/5)+1;a.begin();a.moveTo(c+e/2,b+k);a.lineTo(c+e/2,b+d-k);a.moveTo(c+k,b+d/2);a.lineTo(c+e-k,b+d/2);a.end();a.stroke();mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("plus",y);var Ha=mxRhombus.prototype.paintVertexShape;mxRhombus.prototype.getLabelBounds=function(a){if(1==this.style["double"]){var c=(2*Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0))*this.scale;return new mxRectangle(a.x+
-c,a.y+c,a.width-2*c,a.height-2*c)}return a};mxRhombus.prototype.paintVertexShape=function(a,c,b,e,d){Ha.apply(this,arguments);if(!this.outline&&1==this.style["double"]){var k=2*Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0);c+=k;b+=k;e-=2*k;d-=2*k;0<e&&0<d&&(a.setShadow(!1),Ha.apply(this,[a,c,b,e,d]))}};mxUtils.extend(E,mxRectangleShape);E.prototype.isHtmlAllowed=function(){return!1};E.prototype.getLabelBounds=function(a){if(1==this.style["double"]){var c=(Math.max(2,
-this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0))*this.scale;return new mxRectangle(a.x+c,a.y+c,a.width-2*c,a.height-2*c)}return a};E.prototype.paintForeground=function(a,c,b,e,d){if(null!=this.style){if(!this.outline&&1==this.style["double"]){var k=Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0);c+=k;b+=k;e-=2*k;d-=2*k;0<e&&0<d&&mxRectangleShape.prototype.paintBackground.apply(this,arguments)}a.setDashed(!1);var k=0,g;do{g=mxCellRenderer.defaultShapes[this.style["symbol"+
-k]];if(null!=g){var f=this.style["symbol"+k+"Align"],p=this.style["symbol"+k+"VerticalAlign"],ca=this.style["symbol"+k+"Width"],n=this.style["symbol"+k+"Height"],B=this.style["symbol"+k+"Spacing"]||0,x=this.style["symbol"+k+"VSpacing"]||B,t=this.style["symbol"+k+"ArcSpacing"];null!=t&&(t*=this.getArcSize(e+this.strokewidth,d+this.strokewidth),B+=t,x+=t);var t=c,v=b,t=f==mxConstants.ALIGN_CENTER?t+(e-ca)/2:f==mxConstants.ALIGN_RIGHT?t+(e-ca-B):t+B,v=p==mxConstants.ALIGN_MIDDLE?v+(d-n)/2:p==mxConstants.ALIGN_BOTTOM?
-v+(d-n-x):v+x;a.save();f=new g;f.style=this.style;g.prototype.paintVertexShape.call(f,a,t,v,ca,n);a.restore()}k++}while(null!=g)}mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("ext",E);mxUtils.extend(p,mxCylinder);p.prototype.redrawPath=function(a,c,b,e,d,k){k?(a.moveTo(0,0),a.lineTo(e/2,d/2),a.lineTo(e,0),a.end()):(a.moveTo(0,0),a.lineTo(e,0),a.lineTo(e,d),a.lineTo(0,d),a.close())};mxCellRenderer.registerShape("message",p);mxUtils.extend(B,mxShape);
-B.prototype.paintBackground=function(a,c,b,e,d){a.translate(c,b);a.ellipse(e/4,0,e/2,d/4);a.fillAndStroke();a.begin();a.moveTo(e/2,d/4);a.lineTo(e/2,2*d/3);a.moveTo(e/2,d/3);a.lineTo(0,d/3);a.moveTo(e/2,d/3);a.lineTo(e,d/3);a.moveTo(e/2,2*d/3);a.lineTo(0,d);a.moveTo(e/2,2*d/3);a.lineTo(e,d);a.end();a.stroke()};mxCellRenderer.registerShape("umlActor",B);mxUtils.extend(L,mxShape);L.prototype.getLabelMargins=function(a){return new mxRectangle(a.width/6,0,0,0)};L.prototype.paintBackground=function(a,
-c,b,e,d){a.translate(c,b);a.begin();a.moveTo(0,d/4);a.lineTo(0,3*d/4);a.end();a.stroke();a.begin();a.moveTo(0,d/2);a.lineTo(e/6,d/2);a.end();a.stroke();a.ellipse(e/6,0,5*e/6,d);a.fillAndStroke()};mxCellRenderer.registerShape("umlBoundary",L);mxUtils.extend(P,mxEllipse);P.prototype.paintVertexShape=function(a,c,b,e,d){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.begin();a.moveTo(c+e/8,b+d);a.lineTo(c+7*e/8,b+d);a.end();a.stroke()};mxCellRenderer.registerShape("umlEntity",P);mxUtils.extend(I,
-mxShape);I.prototype.paintVertexShape=function(a,c,b,e,d){a.translate(c,b);a.begin();a.moveTo(e,0);a.lineTo(0,d);a.moveTo(0,0);a.lineTo(e,d);a.end();a.stroke()};mxCellRenderer.registerShape("umlDestroy",I);mxUtils.extend(S,mxShape);S.prototype.getLabelBounds=function(a){return new mxRectangle(a.x,a.y+a.height/8,a.width,7*a.height/8)};S.prototype.paintBackground=function(a,c,b,e,d){a.translate(c,b);a.begin();a.moveTo(3*e/8,d/8*1.1);a.lineTo(5*e/8,0);a.end();a.stroke();a.ellipse(0,d/8,e,7*d/8);a.fillAndStroke()};
-S.prototype.paintForeground=function(a,c,b,e,d){a.begin();a.moveTo(3*e/8,d/8*1.1);a.lineTo(5*e/8,d/4);a.end();a.stroke()};mxCellRenderer.registerShape("umlControl",S);mxUtils.extend(F,mxRectangleShape);F.prototype.size=40;F.prototype.isHtmlAllowed=function(){return!1};F.prototype.getLabelBounds=function(a){var c=Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale));return new mxRectangle(a.x,a.y,a.width,c)};F.prototype.paintBackground=function(a,c,b,e,
-d){var k=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"size",this.size)))),g=mxUtils.getValue(this.style,"participant");null==g||null==this.state?mxRectangleShape.prototype.paintBackground.call(this,a,c,b,e,k):(g=this.state.view.graph.cellRenderer.getShape(g),null!=g&&g!=F&&(g=new g,g.apply(this.state),a.save(),g.paintVertexShape(a,c,b,e,k),a.restore()));k<d&&(a.setDashed(!0),a.begin(),a.moveTo(c+e/2,b+k),a.lineTo(c+e/2,b+d),a.end(),a.stroke())};F.prototype.paintForeground=function(a,
-c,b,e,d){var k=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"size",this.size))));mxRectangleShape.prototype.paintForeground.call(this,a,c,b,e,Math.min(d,k))};mxCellRenderer.registerShape("umlLifeline",F);mxUtils.extend(G,mxShape);G.prototype.width=60;G.prototype.height=30;G.prototype.corner=10;G.prototype.getLabelMargins=function(a){return new mxRectangle(0,0,a.width-parseFloat(mxUtils.getValue(this.style,"width",this.width)*this.scale),a.height-parseFloat(mxUtils.getValue(this.style,
-"height",this.height)*this.scale))};G.prototype.paintBackground=function(a,c,b,e,d){var k=this.corner,g=Math.min(e,Math.max(k,parseFloat(mxUtils.getValue(this.style,"width",this.width)))),f=Math.min(d,Math.max(1.5*k,parseFloat(mxUtils.getValue(this.style,"height",this.height)))),p=mxUtils.getValue(this.style,mxConstants.STYLE_SWIMLANE_FILLCOLOR,mxConstants.NONE);p!=mxConstants.NONE&&(a.setFillColor(p),a.rect(c,b,e,d),a.fill());null!=this.fill&&this.fill!=mxConstants.NONE&&this.gradient&&this.gradient!=
-mxConstants.NONE?(this.getGradientBounds(a,c,b,e,d),a.setGradient(this.fill,this.gradient,c,b,e,d,this.gradientDirection)):a.setFillColor(this.fill);a.begin();a.moveTo(c,b);a.lineTo(c+g,b);a.lineTo(c+g,b+Math.max(0,f-1.5*k));a.lineTo(c+Math.max(0,g-k),b+f);a.lineTo(c,b+f);a.close();a.fillAndStroke();a.begin();a.moveTo(c+g,b);a.lineTo(c+e,b);a.lineTo(c+e,b+d);a.lineTo(c,b+d);a.lineTo(c,b+f);a.stroke()};mxCellRenderer.registerShape("umlFrame",G);mxPerimeter.LifelinePerimeter=function(a,c,b,e){e=F.prototype.size;
-null!=c&&(e=mxUtils.getValue(c.style,"size",e)*c.view.scale);c=parseFloat(c.style[mxConstants.STYLE_STROKEWIDTH]||1)*c.view.scale/2-1;b.x<a.getCenterX()&&(c=-1*(c+1));return new mxPoint(a.getCenterX()+c,Math.min(a.y+a.height,Math.max(a.y+e,b.y)))};mxStyleRegistry.putValue("lifelinePerimeter",mxPerimeter.LifelinePerimeter);mxPerimeter.OrthogonalPerimeter=function(a,c,b,e){e=!0;return mxPerimeter.RectanglePerimeter.apply(this,arguments)};mxStyleRegistry.putValue("orthogonalPerimeter",mxPerimeter.OrthogonalPerimeter);
-mxPerimeter.BackbonePerimeter=function(a,c,b,e){e=parseFloat(c.style[mxConstants.STYLE_STROKEWIDTH]||1)*c.view.scale/2-1;null!=c.style.backboneSize&&(e+=parseFloat(c.style.backboneSize)*c.view.scale/2-1);if("south"==c.style[mxConstants.STYLE_DIRECTION]||"north"==c.style[mxConstants.STYLE_DIRECTION])return b.x<a.getCenterX()&&(e=-1*(e+1)),new mxPoint(a.getCenterX()+e,Math.min(a.y+a.height,Math.max(a.y,b.y)));b.y<a.getCenterY()&&(e=-1*(e+1));return new mxPoint(Math.min(a.x+a.width,Math.max(a.x,b.x)),
-a.getCenterY()+e)};mxStyleRegistry.putValue("backbonePerimeter",mxPerimeter.BackbonePerimeter);mxPerimeter.CalloutPerimeter=function(a,c,b,e){return mxPerimeter.RectanglePerimeter(mxUtils.getDirectedBounds(a,new mxRectangle(0,0,0,Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(c.style,"size",v.prototype.size))*c.view.scale))),c.style),c,b,e)};mxStyleRegistry.putValue("calloutPerimeter",mxPerimeter.CalloutPerimeter);mxPerimeter.ParallelogramPerimeter=function(a,b,e,d){var k=c.prototype.size;
-null!=b&&(k=mxUtils.getValue(b.style,"size",k));var g=a.x,f=a.y,p=a.width,n=a.height;b=null!=b?mxUtils.getValue(b.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;b==mxConstants.DIRECTION_NORTH||b==mxConstants.DIRECTION_SOUTH?(k=n*Math.max(0,Math.min(1,k)),f=[new mxPoint(g,f),new mxPoint(g+p,f+k),new mxPoint(g+p,f+n),new mxPoint(g,f+n-k),new mxPoint(g,f)]):(k=p*Math.max(0,Math.min(1,k)),f=[new mxPoint(g+k,f),new mxPoint(g+p,f),new mxPoint(g+p-k,f+n),new mxPoint(g,
-f+n),new mxPoint(g+k,f)]);n=a.getCenterX();a=a.getCenterY();a=new mxPoint(n,a);d&&(e.x<g||e.x>g+p?a.y=e.y:a.x=e.x);return mxUtils.getPerimeterPoint(f,a,e)};mxStyleRegistry.putValue("parallelogramPerimeter",mxPerimeter.ParallelogramPerimeter);mxPerimeter.TrapezoidPerimeter=function(a,c,b,d){var k=e.prototype.size;null!=c&&(k=mxUtils.getValue(c.style,"size",k));var g=a.x,f=a.y,p=a.width,n=a.height;c=null!=c?mxUtils.getValue(c.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;
-c==mxConstants.DIRECTION_EAST?(k=p*Math.max(0,Math.min(1,k)),f=[new mxPoint(g+k,f),new mxPoint(g+p-k,f),new mxPoint(g+p,f+n),new mxPoint(g,f+n),new mxPoint(g+k,f)]):c==mxConstants.DIRECTION_WEST?(k=p*Math.max(0,Math.min(1,k)),f=[new mxPoint(g,f),new mxPoint(g+p,f),new mxPoint(g+p-k,f+n),new mxPoint(g+k,f+n),new mxPoint(g,f)]):c==mxConstants.DIRECTION_NORTH?(k=n*Math.max(0,Math.min(1,k)),f=[new mxPoint(g,f+k),new mxPoint(g+p,f),new mxPoint(g+p,f+n),new mxPoint(g,f+n-k),new mxPoint(g,f+k)]):(k=n*Math.max(0,
-Math.min(1,k)),f=[new mxPoint(g,f),new mxPoint(g+p,f+k),new mxPoint(g+p,f+n-k),new mxPoint(g,f+n),new mxPoint(g,f)]);n=a.getCenterX();a=a.getCenterY();a=new mxPoint(n,a);d&&(b.x<g||b.x>g+p?a.y=b.y:a.x=b.x);return mxUtils.getPerimeterPoint(f,a,b)};mxStyleRegistry.putValue("trapezoidPerimeter",mxPerimeter.TrapezoidPerimeter);mxPerimeter.StepPerimeter=function(a,c,b,e){var d="0"!=mxUtils.getValue(c.style,"fixedSize","0"),k=d?t.prototype.fixedSize:t.prototype.size;null!=c&&(k=mxUtils.getValue(c.style,
-"size",k));var g=a.x,f=a.y,p=a.width,n=a.height,ca=a.getCenterX();a=a.getCenterY();c=null!=c?mxUtils.getValue(c.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;c==mxConstants.DIRECTION_EAST?(d=d?Math.max(0,Math.min(p,k)):p*Math.max(0,Math.min(1,k)),f=[new mxPoint(g,f),new mxPoint(g+p-d,f),new mxPoint(g+p,a),new mxPoint(g+p-d,f+n),new mxPoint(g,f+n),new mxPoint(g+d,a),new mxPoint(g,f)]):c==mxConstants.DIRECTION_WEST?(d=d?Math.max(0,Math.min(p,k)):p*Math.max(0,
-Math.min(1,k)),f=[new mxPoint(g+d,f),new mxPoint(g+p,f),new mxPoint(g+p-d,a),new mxPoint(g+p,f+n),new mxPoint(g+d,f+n),new mxPoint(g,a),new mxPoint(g+d,f)]):c==mxConstants.DIRECTION_NORTH?(d=d?Math.max(0,Math.min(n,k)):n*Math.max(0,Math.min(1,k)),f=[new mxPoint(g,f+d),new mxPoint(ca,f),new mxPoint(g+p,f+d),new mxPoint(g+p,f+n),new mxPoint(ca,f+n-d),new mxPoint(g,f+n),new mxPoint(g,f+d)]):(d=d?Math.max(0,Math.min(n,k)):n*Math.max(0,Math.min(1,k)),f=[new mxPoint(g,f),new mxPoint(ca,f+d),new mxPoint(g+
-p,f),new mxPoint(g+p,f+n-d),new mxPoint(ca,f+n),new mxPoint(g,f+n-d),new mxPoint(g,f)]);ca=new mxPoint(ca,a);e&&(b.x<g||b.x>g+p?ca.y=b.y:ca.x=b.x);return mxUtils.getPerimeterPoint(f,ca,b)};mxStyleRegistry.putValue("stepPerimeter",mxPerimeter.StepPerimeter);mxPerimeter.HexagonPerimeter2=function(a,c,b,e){var d=D.prototype.size;null!=c&&(d=mxUtils.getValue(c.style,"size",d));var k=a.x,g=a.y,f=a.width,p=a.height,n=a.getCenterX();a=a.getCenterY();c=null!=c?mxUtils.getValue(c.style,mxConstants.STYLE_DIRECTION,
-mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;c==mxConstants.DIRECTION_NORTH||c==mxConstants.DIRECTION_SOUTH?(d=p*Math.max(0,Math.min(1,d)),g=[new mxPoint(n,g),new mxPoint(k+f,g+d),new mxPoint(k+f,g+p-d),new mxPoint(n,g+p),new mxPoint(k,g+p-d),new mxPoint(k,g+d),new mxPoint(n,g)]):(d=f*Math.max(0,Math.min(1,d)),g=[new mxPoint(k+d,g),new mxPoint(k+f-d,g),new mxPoint(k+f,a),new mxPoint(k+f-d,g+p),new mxPoint(k+d,g+p),new mxPoint(k,a),new mxPoint(k+d,g)]);n=new mxPoint(n,a);e&&(b.x<k||b.x>k+
-f?n.y=b.y:n.x=b.x);return mxUtils.getPerimeterPoint(g,n,b)};mxStyleRegistry.putValue("hexagonPerimeter2",mxPerimeter.HexagonPerimeter2);mxUtils.extend(O,mxShape);O.prototype.size=10;O.prototype.paintBackground=function(a,c,b,e,d){var k=parseFloat(mxUtils.getValue(this.style,"size",this.size));a.translate(c,b);a.ellipse((e-k)/2,0,k,k);a.fillAndStroke();a.begin();a.moveTo(e/2,k);a.lineTo(e/2,d);a.end();a.stroke()};mxCellRenderer.registerShape("lollipop",O);mxUtils.extend(V,mxShape);V.prototype.size=
-10;V.prototype.inset=2;V.prototype.paintBackground=function(a,c,b,e,d){var k=parseFloat(mxUtils.getValue(this.style,"size",this.size)),g=parseFloat(mxUtils.getValue(this.style,"inset",this.inset))+this.strokewidth;a.translate(c,b);a.begin();a.moveTo(e/2,k+g);a.lineTo(e/2,d);a.end();a.stroke();a.begin();a.moveTo((e-k)/2-g,k/2);a.quadTo((e-k)/2-g,k+g,e/2,k+g);a.quadTo((e+k)/2+g,k+g,(e+k)/2+g,k/2);a.end();a.stroke()};mxCellRenderer.registerShape("requires",V);mxUtils.extend(aa,mxShape);aa.prototype.paintBackground=
-function(a,c,b,e,d){a.translate(c,b);a.begin();a.moveTo(0,0);a.quadTo(e,0,e,d/2);a.quadTo(e,d,0,d);a.end();a.stroke()};mxCellRenderer.registerShape("requiredInterface",aa);mxUtils.extend(W,mxShape);W.prototype.inset=2;W.prototype.paintBackground=function(a,c,b,e,d){var k=parseFloat(mxUtils.getValue(this.style,"inset",this.inset))+this.strokewidth;a.translate(c,b);a.ellipse(0,k,e-2*k,d-2*k);a.fillAndStroke();a.begin();a.moveTo(e/2,0);a.quadTo(e,0,e,d/2);a.quadTo(e,d,e/2,d);a.end();a.stroke()};mxCellRenderer.registerShape("providedRequiredInterface",
-W);mxUtils.extend(H,mxCylinder);H.prototype.jettyWidth=32;H.prototype.jettyHeight=12;H.prototype.redrawPath=function(a,c,b,e,d,k){var g=parseFloat(mxUtils.getValue(this.style,"jettyWidth",this.jettyWidth));c=parseFloat(mxUtils.getValue(this.style,"jettyHeight",this.jettyHeight));b=g/2;var g=b+g/2,f=.3*d-c/2,p=.7*d-c/2;k?(a.moveTo(b,f),a.lineTo(g,f),a.lineTo(g,f+c),a.lineTo(b,f+c),a.moveTo(b,p),a.lineTo(g,p),a.lineTo(g,p+c),a.lineTo(b,p+c)):(a.moveTo(b,0),a.lineTo(e,0),a.lineTo(e,d),a.lineTo(b,d),
-a.lineTo(b,p+c),a.lineTo(0,p+c),a.lineTo(0,p),a.lineTo(b,p),a.lineTo(b,f+c),a.lineTo(0,f+c),a.lineTo(0,f),a.lineTo(b,f),a.close());a.end()};mxCellRenderer.registerShape("component",H);mxUtils.extend(Z,mxRectangleShape);Z.prototype.paintForeground=function(a,c,b,e,d){var k=e/2,g=d/2,f=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;a.begin();this.addPoints(a,[new mxPoint(c+k,b),new mxPoint(c+e,b+g),new mxPoint(c+k,b+d),new mxPoint(c,b+g)],this.isRounded,f,!0);a.stroke();
-mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("associativeEntity",Z);mxUtils.extend(fa,mxDoubleEllipse);fa.prototype.outerStroke=!0;fa.prototype.paintVertexShape=function(a,c,b,e,d){var k=Math.min(4,Math.min(e/5,d/5));0<e&&0<d&&(a.ellipse(c+k,b+k,e-2*k,d-2*k),a.fillAndStroke());a.setShadow(!1);this.outerStroke&&(a.ellipse(c,b,e,d),a.stroke())};mxCellRenderer.registerShape("endState",fa);mxUtils.extend(ma,fa);ma.prototype.outerStroke=!1;mxCellRenderer.registerShape("startState",
+this.style||"0"==mxUtils.getValue(this.style,"comic","0"))&&Da.apply(this,arguments)};var xa=mxRectangleShape.prototype.paintBackground;mxRectangleShape.prototype.paintBackground=function(a,d,b,c,f){if(null==a.handJiggle)xa.apply(this,arguments);else{var k=!0;null!=this.style&&(k="1"==mxUtils.getValue(this.style,mxConstants.STYLE_POINTER_EVENTS,"1"));if(k||null!=this.fill&&this.fill!=mxConstants.NONE||null!=this.stroke&&this.stroke!=mxConstants.NONE)k||null!=this.fill&&this.fill!=mxConstants.NONE||
+(a.pointerEvents=!1),a.begin(),this.isRounded?("1"==mxUtils.getValue(this.style,mxConstants.STYLE_ABSOLUTE_ARCSIZE,0)?k=Math.min(c/2,Math.min(f/2,mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2)):(k=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,k=Math.min(c*k,f*k)),a.moveTo(d+k,b),a.lineTo(d+c-k,b),a.quadTo(d+c,b,d+c,b+k),a.lineTo(d+c,b+f-k),a.quadTo(d+c,b+f,d+c-k,b+f),a.lineTo(d+k,b+f),a.quadTo(d,b+f,d,b+f-k),
+a.lineTo(d,b+k),a.quadTo(d,b,d+k,b)):(a.moveTo(d,b),a.lineTo(d+c,b),a.lineTo(d+c,b+f),a.lineTo(d,b+f),a.lineTo(d,b)),a.close(),a.end(),a.fillAndStroke()}};var ya=mxRectangleShape.prototype.paintForeground;mxRectangleShape.prototype.paintForeground=function(a,d,b,c,f){null==a.handJiggle&&ya.apply(this,arguments)};mxUtils.extend(g,mxRectangleShape);g.prototype.size=.1;g.prototype.isHtmlAllowed=function(){return!1};g.prototype.getLabelBounds=function(a){if(mxUtils.getValue(this.state.style,mxConstants.STYLE_HORIZONTAL,
+!0)==(null==this.direction||this.direction==mxConstants.DIRECTION_EAST||this.direction==mxConstants.DIRECTION_WEST)){var d=a.width,b=a.height;a=new mxRectangle(a.x,a.y,d,b);var c=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));if(this.isRounded)var f=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,c=Math.max(c,Math.min(d*f,b*f));a.x+=Math.round(c);a.width-=Math.round(2*c)}return a};g.prototype.paintForeground=
+function(a,d,b,c,f){var k=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));if(this.isRounded)var g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,k=Math.max(k,Math.min(c*g,f*g));k=Math.round(k);a.begin();a.moveTo(d+k,b);a.lineTo(d+k,b+f);a.moveTo(d+c-k,b);a.lineTo(d+c-k,b+f);a.end();a.stroke();mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("process",g);mxUtils.extend(A,
+mxRectangleShape);A.prototype.paintBackground=function(a,d,b,c,f){a.setFillColor(mxConstants.NONE);a.rect(d,b,c,f);a.fill()};A.prototype.paintForeground=function(a,d,b,c,f){};mxCellRenderer.registerShape("transparent",A);mxUtils.extend(v,mxHexagon);v.prototype.size=30;v.prototype.position=.5;v.prototype.position2=.5;v.prototype.base=20;v.prototype.getLabelMargins=function(){return new mxRectangle(0,0,0,parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale)};v.prototype.isRoundable=
+function(){return!0};v.prototype.redrawPath=function(a,d,b,c,f){d=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;b=Math.max(0,Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size))));var k=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"position",this.position)))),g=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"position2",this.position2)))),e=Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style,"base",this.base))));
+this.addPoints(a,[new mxPoint(0,0),new mxPoint(c,0),new mxPoint(c,f-b),new mxPoint(Math.min(c,k+e),f-b),new mxPoint(g,f),new mxPoint(Math.max(0,k),f-b),new mxPoint(0,f-b)],this.isRounded,d,!0,[4])};mxCellRenderer.registerShape("callout",v);mxUtils.extend(t,mxActor);t.prototype.size=.2;t.prototype.fixedSize=20;t.prototype.isRoundable=function(){return!0};t.prototype.redrawPath=function(a,d,b,c,f){d="0"!=mxUtils.getValue(this.style,"fixedSize","0")?Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style,
+"size",this.fixedSize)))):c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(c-d,0),new mxPoint(c,f/2),new mxPoint(c-d,f),new mxPoint(0,f),new mxPoint(d,f/2)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("step",t);mxUtils.extend(E,mxHexagon);E.prototype.size=.25;E.prototype.isRoundable=function(){return!0};E.prototype.redrawPath=
+function(a,d,b,c,f){d=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(d,0),new mxPoint(c-d,0),new mxPoint(c,.5*f),new mxPoint(c-d,f),new mxPoint(d,f),new mxPoint(0,.5*f)],this.isRounded,b,!0)};mxCellRenderer.registerShape("hexagon",E);mxUtils.extend(y,mxRectangleShape);y.prototype.isHtmlAllowed=function(){return!1};y.prototype.paintForeground=function(a,
+d,b,c,f){var k=Math.min(c/5,f/5)+1;a.begin();a.moveTo(d+c/2,b+k);a.lineTo(d+c/2,b+f-k);a.moveTo(d+k,b+f/2);a.lineTo(d+c-k,b+f/2);a.end();a.stroke();mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("plus",y);var Ha=mxRhombus.prototype.paintVertexShape;mxRhombus.prototype.getLabelBounds=function(a){if(1==this.style["double"]){var d=(2*Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0))*this.scale;return new mxRectangle(a.x+
+d,a.y+d,a.width-2*d,a.height-2*d)}return a};mxRhombus.prototype.paintVertexShape=function(a,d,b,c,f){Ha.apply(this,arguments);if(!this.outline&&1==this.style["double"]){var k=2*Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0);d+=k;b+=k;c-=2*k;f-=2*k;0<c&&0<f&&(a.setShadow(!1),Ha.apply(this,[a,d,b,c,f]))}};mxUtils.extend(D,mxRectangleShape);D.prototype.isHtmlAllowed=function(){return!1};D.prototype.getLabelBounds=function(a){if(1==this.style["double"]){var d=(Math.max(2,
+this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0))*this.scale;return new mxRectangle(a.x+d,a.y+d,a.width-2*d,a.height-2*d)}return a};D.prototype.paintForeground=function(a,d,b,c,f){if(null!=this.style){if(!this.outline&&1==this.style["double"]){var k=Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0);d+=k;b+=k;c-=2*k;f-=2*k;0<c&&0<f&&mxRectangleShape.prototype.paintBackground.apply(this,arguments)}a.setDashed(!1);var k=0,g;do{g=mxCellRenderer.defaultShapes[this.style["symbol"+
+k]];if(null!=g){var e=this.style["symbol"+k+"Align"],p=this.style["symbol"+k+"VerticalAlign"],ca=this.style["symbol"+k+"Width"],n=this.style["symbol"+k+"Height"],B=this.style["symbol"+k+"Spacing"]||0,x=this.style["symbol"+k+"VSpacing"]||B,t=this.style["symbol"+k+"ArcSpacing"];null!=t&&(t*=this.getArcSize(c+this.strokewidth,f+this.strokewidth),B+=t,x+=t);var t=d,v=b,t=e==mxConstants.ALIGN_CENTER?t+(c-ca)/2:e==mxConstants.ALIGN_RIGHT?t+(c-ca-B):t+B,v=p==mxConstants.ALIGN_MIDDLE?v+(f-n)/2:p==mxConstants.ALIGN_BOTTOM?
+v+(f-n-x):v+x;a.save();e=new g;e.style=this.style;g.prototype.paintVertexShape.call(e,a,t,v,ca,n);a.restore()}k++}while(null!=g)}mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("ext",D);mxUtils.extend(p,mxCylinder);p.prototype.redrawPath=function(a,d,b,c,f,k){k?(a.moveTo(0,0),a.lineTo(c/2,f/2),a.lineTo(c,0),a.end()):(a.moveTo(0,0),a.lineTo(c,0),a.lineTo(c,f),a.lineTo(0,f),a.close())};mxCellRenderer.registerShape("message",p);mxUtils.extend(B,mxShape);
+B.prototype.paintBackground=function(a,d,b,c,f){a.translate(d,b);a.ellipse(c/4,0,c/2,f/4);a.fillAndStroke();a.begin();a.moveTo(c/2,f/4);a.lineTo(c/2,2*f/3);a.moveTo(c/2,f/3);a.lineTo(0,f/3);a.moveTo(c/2,f/3);a.lineTo(c,f/3);a.moveTo(c/2,2*f/3);a.lineTo(0,f);a.moveTo(c/2,2*f/3);a.lineTo(c,f);a.end();a.stroke()};mxCellRenderer.registerShape("umlActor",B);mxUtils.extend(K,mxShape);K.prototype.getLabelMargins=function(a){return new mxRectangle(a.width/6,0,0,0)};K.prototype.paintBackground=function(a,
+d,b,c,f){a.translate(d,b);a.begin();a.moveTo(0,f/4);a.lineTo(0,3*f/4);a.end();a.stroke();a.begin();a.moveTo(0,f/2);a.lineTo(c/6,f/2);a.end();a.stroke();a.ellipse(c/6,0,5*c/6,f);a.fillAndStroke()};mxCellRenderer.registerShape("umlBoundary",K);mxUtils.extend(M,mxEllipse);M.prototype.paintVertexShape=function(a,d,b,c,f){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.begin();a.moveTo(d+c/8,b+f);a.lineTo(d+7*c/8,b+f);a.end();a.stroke()};mxCellRenderer.registerShape("umlEntity",M);mxUtils.extend(I,
+mxShape);I.prototype.paintVertexShape=function(a,d,b,c,f){a.translate(d,b);a.begin();a.moveTo(c,0);a.lineTo(0,f);a.moveTo(0,0);a.lineTo(c,f);a.end();a.stroke()};mxCellRenderer.registerShape("umlDestroy",I);mxUtils.extend(S,mxShape);S.prototype.getLabelBounds=function(a){return new mxRectangle(a.x,a.y+a.height/8,a.width,7*a.height/8)};S.prototype.paintBackground=function(a,d,b,c,f){a.translate(d,b);a.begin();a.moveTo(3*c/8,f/8*1.1);a.lineTo(5*c/8,0);a.end();a.stroke();a.ellipse(0,f/8,c,7*f/8);a.fillAndStroke()};
+S.prototype.paintForeground=function(a,d,b,c,f){a.begin();a.moveTo(3*c/8,f/8*1.1);a.lineTo(5*c/8,f/4);a.end();a.stroke()};mxCellRenderer.registerShape("umlControl",S);mxUtils.extend(F,mxRectangleShape);F.prototype.size=40;F.prototype.isHtmlAllowed=function(){return!1};F.prototype.getLabelBounds=function(a){var d=Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale));return new mxRectangle(a.x,a.y,a.width,d)};F.prototype.paintBackground=function(a,d,b,c,
+f){var k=Math.max(0,Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size)))),g=mxUtils.getValue(this.style,"participant");null==g||null==this.state?mxRectangleShape.prototype.paintBackground.call(this,a,d,b,c,k):(g=this.state.view.graph.cellRenderer.getShape(g),null!=g&&g!=F&&(g=new g,g.apply(this.state),a.save(),g.paintVertexShape(a,d,b,c,k),a.restore()));k<f&&(a.setDashed(!0),a.begin(),a.moveTo(d+c/2,b+k),a.lineTo(d+c/2,b+f),a.end(),a.stroke())};F.prototype.paintForeground=function(a,
+d,b,c,f){var k=Math.max(0,Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size))));mxRectangleShape.prototype.paintForeground.call(this,a,d,b,c,Math.min(f,k))};mxCellRenderer.registerShape("umlLifeline",F);mxUtils.extend(G,mxShape);G.prototype.width=60;G.prototype.height=30;G.prototype.corner=10;G.prototype.getLabelMargins=function(a){return new mxRectangle(0,0,a.width-parseFloat(mxUtils.getValue(this.style,"width",this.width)*this.scale),a.height-parseFloat(mxUtils.getValue(this.style,
+"height",this.height)*this.scale))};G.prototype.paintBackground=function(a,d,b,c,f){var k=this.corner,g=Math.min(c,Math.max(k,parseFloat(mxUtils.getValue(this.style,"width",this.width)))),e=Math.min(f,Math.max(1.5*k,parseFloat(mxUtils.getValue(this.style,"height",this.height)))),p=mxUtils.getValue(this.style,mxConstants.STYLE_SWIMLANE_FILLCOLOR,mxConstants.NONE);p!=mxConstants.NONE&&(a.setFillColor(p),a.rect(d,b,c,f),a.fill());null!=this.fill&&this.fill!=mxConstants.NONE&&this.gradient&&this.gradient!=
+mxConstants.NONE?(this.getGradientBounds(a,d,b,c,f),a.setGradient(this.fill,this.gradient,d,b,c,f,this.gradientDirection)):a.setFillColor(this.fill);a.begin();a.moveTo(d,b);a.lineTo(d+g,b);a.lineTo(d+g,b+Math.max(0,e-1.5*k));a.lineTo(d+Math.max(0,g-k),b+e);a.lineTo(d,b+e);a.close();a.fillAndStroke();a.begin();a.moveTo(d+g,b);a.lineTo(d+c,b);a.lineTo(d+c,b+f);a.lineTo(d,b+f);a.lineTo(d,b+e);a.stroke()};mxCellRenderer.registerShape("umlFrame",G);mxPerimeter.LifelinePerimeter=function(a,d,b,c){c=F.prototype.size;
+null!=d&&(c=mxUtils.getValue(d.style,"size",c)*d.view.scale);d=parseFloat(d.style[mxConstants.STYLE_STROKEWIDTH]||1)*d.view.scale/2-1;b.x<a.getCenterX()&&(d=-1*(d+1));return new mxPoint(a.getCenterX()+d,Math.min(a.y+a.height,Math.max(a.y+c,b.y)))};mxStyleRegistry.putValue("lifelinePerimeter",mxPerimeter.LifelinePerimeter);mxPerimeter.OrthogonalPerimeter=function(a,d,b,c){c=!0;return mxPerimeter.RectanglePerimeter.apply(this,arguments)};mxStyleRegistry.putValue("orthogonalPerimeter",mxPerimeter.OrthogonalPerimeter);
+mxPerimeter.BackbonePerimeter=function(a,d,b,c){c=parseFloat(d.style[mxConstants.STYLE_STROKEWIDTH]||1)*d.view.scale/2-1;null!=d.style.backboneSize&&(c+=parseFloat(d.style.backboneSize)*d.view.scale/2-1);if("south"==d.style[mxConstants.STYLE_DIRECTION]||"north"==d.style[mxConstants.STYLE_DIRECTION])return b.x<a.getCenterX()&&(c=-1*(c+1)),new mxPoint(a.getCenterX()+c,Math.min(a.y+a.height,Math.max(a.y,b.y)));b.y<a.getCenterY()&&(c=-1*(c+1));return new mxPoint(Math.min(a.x+a.width,Math.max(a.x,b.x)),
+a.getCenterY()+c)};mxStyleRegistry.putValue("backbonePerimeter",mxPerimeter.BackbonePerimeter);mxPerimeter.CalloutPerimeter=function(a,d,b,c){return mxPerimeter.RectanglePerimeter(mxUtils.getDirectedBounds(a,new mxRectangle(0,0,0,Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(d.style,"size",v.prototype.size))*d.view.scale))),d.style),d,b,c)};mxStyleRegistry.putValue("calloutPerimeter",mxPerimeter.CalloutPerimeter);mxPerimeter.ParallelogramPerimeter=function(a,b,c,f){var k=d.prototype.size;
+null!=b&&(k=mxUtils.getValue(b.style,"size",k));var g=a.x,e=a.y,p=a.width,n=a.height;b=null!=b?mxUtils.getValue(b.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;b==mxConstants.DIRECTION_NORTH||b==mxConstants.DIRECTION_SOUTH?(k=n*Math.max(0,Math.min(1,k)),e=[new mxPoint(g,e),new mxPoint(g+p,e+k),new mxPoint(g+p,e+n),new mxPoint(g,e+n-k),new mxPoint(g,e)]):(k=p*Math.max(0,Math.min(1,k)),e=[new mxPoint(g+k,e),new mxPoint(g+p,e),new mxPoint(g+p-k,e+n),new mxPoint(g,
+e+n),new mxPoint(g+k,e)]);n=a.getCenterX();a=a.getCenterY();a=new mxPoint(n,a);f&&(c.x<g||c.x>g+p?a.y=c.y:a.x=c.x);return mxUtils.getPerimeterPoint(e,a,c)};mxStyleRegistry.putValue("parallelogramPerimeter",mxPerimeter.ParallelogramPerimeter);mxPerimeter.TrapezoidPerimeter=function(a,d,b,c){var k=f.prototype.size;null!=d&&(k=mxUtils.getValue(d.style,"size",k));var g=a.x,e=a.y,p=a.width,n=a.height;d=null!=d?mxUtils.getValue(d.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;
+d==mxConstants.DIRECTION_EAST?(k=p*Math.max(0,Math.min(1,k)),e=[new mxPoint(g+k,e),new mxPoint(g+p-k,e),new mxPoint(g+p,e+n),new mxPoint(g,e+n),new mxPoint(g+k,e)]):d==mxConstants.DIRECTION_WEST?(k=p*Math.max(0,Math.min(1,k)),e=[new mxPoint(g,e),new mxPoint(g+p,e),new mxPoint(g+p-k,e+n),new mxPoint(g+k,e+n),new mxPoint(g,e)]):d==mxConstants.DIRECTION_NORTH?(k=n*Math.max(0,Math.min(1,k)),e=[new mxPoint(g,e+k),new mxPoint(g+p,e),new mxPoint(g+p,e+n),new mxPoint(g,e+n-k),new mxPoint(g,e+k)]):(k=n*Math.max(0,
+Math.min(1,k)),e=[new mxPoint(g,e),new mxPoint(g+p,e+k),new mxPoint(g+p,e+n-k),new mxPoint(g,e+n),new mxPoint(g,e)]);n=a.getCenterX();a=a.getCenterY();a=new mxPoint(n,a);c&&(b.x<g||b.x>g+p?a.y=b.y:a.x=b.x);return mxUtils.getPerimeterPoint(e,a,b)};mxStyleRegistry.putValue("trapezoidPerimeter",mxPerimeter.TrapezoidPerimeter);mxPerimeter.StepPerimeter=function(a,d,b,c){var f="0"!=mxUtils.getValue(d.style,"fixedSize","0"),k=f?t.prototype.fixedSize:t.prototype.size;null!=d&&(k=mxUtils.getValue(d.style,
+"size",k));var g=a.x,e=a.y,p=a.width,n=a.height,ca=a.getCenterX();a=a.getCenterY();d=null!=d?mxUtils.getValue(d.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;d==mxConstants.DIRECTION_EAST?(f=f?Math.max(0,Math.min(p,k)):p*Math.max(0,Math.min(1,k)),e=[new mxPoint(g,e),new mxPoint(g+p-f,e),new mxPoint(g+p,a),new mxPoint(g+p-f,e+n),new mxPoint(g,e+n),new mxPoint(g+f,a),new mxPoint(g,e)]):d==mxConstants.DIRECTION_WEST?(f=f?Math.max(0,Math.min(p,k)):p*Math.max(0,
+Math.min(1,k)),e=[new mxPoint(g+f,e),new mxPoint(g+p,e),new mxPoint(g+p-f,a),new mxPoint(g+p,e+n),new mxPoint(g+f,e+n),new mxPoint(g,a),new mxPoint(g+f,e)]):d==mxConstants.DIRECTION_NORTH?(f=f?Math.max(0,Math.min(n,k)):n*Math.max(0,Math.min(1,k)),e=[new mxPoint(g,e+f),new mxPoint(ca,e),new mxPoint(g+p,e+f),new mxPoint(g+p,e+n),new mxPoint(ca,e+n-f),new mxPoint(g,e+n),new mxPoint(g,e+f)]):(f=f?Math.max(0,Math.min(n,k)):n*Math.max(0,Math.min(1,k)),e=[new mxPoint(g,e),new mxPoint(ca,e+f),new mxPoint(g+
+p,e),new mxPoint(g+p,e+n-f),new mxPoint(ca,e+n),new mxPoint(g,e+n-f),new mxPoint(g,e)]);ca=new mxPoint(ca,a);c&&(b.x<g||b.x>g+p?ca.y=b.y:ca.x=b.x);return mxUtils.getPerimeterPoint(e,ca,b)};mxStyleRegistry.putValue("stepPerimeter",mxPerimeter.StepPerimeter);mxPerimeter.HexagonPerimeter2=function(a,d,b,c){var f=E.prototype.size;null!=d&&(f=mxUtils.getValue(d.style,"size",f));var k=a.x,g=a.y,e=a.width,p=a.height,n=a.getCenterX();a=a.getCenterY();d=null!=d?mxUtils.getValue(d.style,mxConstants.STYLE_DIRECTION,
+mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;d==mxConstants.DIRECTION_NORTH||d==mxConstants.DIRECTION_SOUTH?(f=p*Math.max(0,Math.min(1,f)),g=[new mxPoint(n,g),new mxPoint(k+e,g+f),new mxPoint(k+e,g+p-f),new mxPoint(n,g+p),new mxPoint(k,g+p-f),new mxPoint(k,g+f),new mxPoint(n,g)]):(f=e*Math.max(0,Math.min(1,f)),g=[new mxPoint(k+f,g),new mxPoint(k+e-f,g),new mxPoint(k+e,a),new mxPoint(k+e-f,g+p),new mxPoint(k+f,g+p),new mxPoint(k,a),new mxPoint(k+f,g)]);n=new mxPoint(n,a);c&&(b.x<k||b.x>k+
+e?n.y=b.y:n.x=b.x);return mxUtils.getPerimeterPoint(g,n,b)};mxStyleRegistry.putValue("hexagonPerimeter2",mxPerimeter.HexagonPerimeter2);mxUtils.extend(P,mxShape);P.prototype.size=10;P.prototype.paintBackground=function(a,d,b,c,f){var k=parseFloat(mxUtils.getValue(this.style,"size",this.size));a.translate(d,b);a.ellipse((c-k)/2,0,k,k);a.fillAndStroke();a.begin();a.moveTo(c/2,k);a.lineTo(c/2,f);a.end();a.stroke()};mxCellRenderer.registerShape("lollipop",P);mxUtils.extend(V,mxShape);V.prototype.size=
+10;V.prototype.inset=2;V.prototype.paintBackground=function(a,d,b,c,f){var k=parseFloat(mxUtils.getValue(this.style,"size",this.size)),g=parseFloat(mxUtils.getValue(this.style,"inset",this.inset))+this.strokewidth;a.translate(d,b);a.begin();a.moveTo(c/2,k+g);a.lineTo(c/2,f);a.end();a.stroke();a.begin();a.moveTo((c-k)/2-g,k/2);a.quadTo((c-k)/2-g,k+g,c/2,k+g);a.quadTo((c+k)/2+g,k+g,(c+k)/2+g,k/2);a.end();a.stroke()};mxCellRenderer.registerShape("requires",V);mxUtils.extend(aa,mxShape);aa.prototype.paintBackground=
+function(a,d,b,c,f){a.translate(d,b);a.begin();a.moveTo(0,0);a.quadTo(c,0,c,f/2);a.quadTo(c,f,0,f);a.end();a.stroke()};mxCellRenderer.registerShape("requiredInterface",aa);mxUtils.extend(W,mxShape);W.prototype.inset=2;W.prototype.paintBackground=function(a,d,b,c,f){var k=parseFloat(mxUtils.getValue(this.style,"inset",this.inset))+this.strokewidth;a.translate(d,b);a.ellipse(0,k,c-2*k,f-2*k);a.fillAndStroke();a.begin();a.moveTo(c/2,0);a.quadTo(c,0,c,f/2);a.quadTo(c,f,c/2,f);a.end();a.stroke()};mxCellRenderer.registerShape("providedRequiredInterface",
+W);mxUtils.extend(H,mxCylinder);H.prototype.jettyWidth=32;H.prototype.jettyHeight=12;H.prototype.redrawPath=function(a,d,b,c,f,k){var g=parseFloat(mxUtils.getValue(this.style,"jettyWidth",this.jettyWidth));d=parseFloat(mxUtils.getValue(this.style,"jettyHeight",this.jettyHeight));b=g/2;var g=b+g/2,e=.3*f-d/2,p=.7*f-d/2;k?(a.moveTo(b,e),a.lineTo(g,e),a.lineTo(g,e+d),a.lineTo(b,e+d),a.moveTo(b,p),a.lineTo(g,p),a.lineTo(g,p+d),a.lineTo(b,p+d)):(a.moveTo(b,0),a.lineTo(c,0),a.lineTo(c,f),a.lineTo(b,f),
+a.lineTo(b,p+d),a.lineTo(0,p+d),a.lineTo(0,p),a.lineTo(b,p),a.lineTo(b,e+d),a.lineTo(0,e+d),a.lineTo(0,e),a.lineTo(b,e),a.close());a.end()};mxCellRenderer.registerShape("component",H);mxUtils.extend(Z,mxRectangleShape);Z.prototype.paintForeground=function(a,d,b,c,f){var k=c/2,g=f/2,e=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;a.begin();this.addPoints(a,[new mxPoint(d+k,b),new mxPoint(d+c,b+g),new mxPoint(d+k,b+f),new mxPoint(d,b+g)],this.isRounded,e,!0);a.stroke();
+mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("associativeEntity",Z);mxUtils.extend(fa,mxDoubleEllipse);fa.prototype.outerStroke=!0;fa.prototype.paintVertexShape=function(a,d,b,c,f){var k=Math.min(4,Math.min(c/5,f/5));0<c&&0<f&&(a.ellipse(d+k,b+k,c-2*k,f-2*k),a.fillAndStroke());a.setShadow(!1);this.outerStroke&&(a.ellipse(d,b,c,f),a.stroke())};mxCellRenderer.registerShape("endState",fa);mxUtils.extend(ma,fa);ma.prototype.outerStroke=!1;mxCellRenderer.registerShape("startState",
 ma);mxUtils.extend(Q,mxArrowConnector);Q.prototype.defaultWidth=4;Q.prototype.isOpenEnded=function(){return!0};Q.prototype.getEdgeWidth=function(){return mxUtils.getNumber(this.style,"width",this.defaultWidth)+Math.max(0,this.strokewidth-1)};Q.prototype.isArrowRounded=function(){return this.isRounded};mxCellRenderer.registerShape("link",Q);mxUtils.extend(ga,mxArrowConnector);ga.prototype.defaultWidth=10;ga.prototype.defaultArrowWidth=20;ga.prototype.getStartArrowWidth=function(){return this.getEdgeWidth()+
 mxUtils.getNumber(this.style,"startWidth",this.defaultArrowWidth)};ga.prototype.getEndArrowWidth=function(){return this.getEdgeWidth()+mxUtils.getNumber(this.style,"endWidth",this.defaultArrowWidth)};ga.prototype.getEdgeWidth=function(){return mxUtils.getNumber(this.style,"width",this.defaultWidth)+Math.max(0,this.strokewidth-1)};mxCellRenderer.registerShape("flexArrow",ga);mxUtils.extend(T,mxActor);T.prototype.size=30;T.prototype.isRoundable=function(){return!0};T.prototype.redrawPath=function(a,
-c,b,e,d){c=Math.min(d,parseFloat(mxUtils.getValue(this.style,"size",this.size)));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,d),new mxPoint(0,c),new mxPoint(e,0),new mxPoint(e,d)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("manualInput",T);mxUtils.extend(U,mxRectangleShape);U.prototype.dx=20;U.prototype.dy=20;U.prototype.isHtmlAllowed=function(){return!1};U.prototype.paintForeground=function(a,c,b,e,d){mxRectangleShape.prototype.paintForeground.apply(this,
-arguments);var k=0;if(this.isRounded)var g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,k=Math.max(k,Math.min(e*g,d*g));g=Math.max(k,Math.min(e,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));k=Math.max(k,Math.min(d,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));a.begin();a.moveTo(c,b+k);a.lineTo(c+e,b+k);a.end();a.stroke();a.begin();a.moveTo(c+g,b);a.lineTo(c+g,b+d);a.end();a.stroke()};mxCellRenderer.registerShape("internalStorage",
-U);mxUtils.extend(da,mxActor);da.prototype.dx=20;da.prototype.dy=20;da.prototype.redrawPath=function(a,c,b,e,d){c=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));b=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));parseFloat(mxUtils.getValue(this.style,"size",this.size));var k=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(e,0),new mxPoint(e,b),new mxPoint(c,
-b),new mxPoint(c,d),new mxPoint(0,d)],this.isRounded,k,!0);a.end()};mxCellRenderer.registerShape("corner",da);mxUtils.extend(na,mxActor);na.prototype.redrawPath=function(a,c,b,e,d){a.moveTo(0,0);a.lineTo(0,d);a.end();a.moveTo(e,0);a.lineTo(e,d);a.end();a.moveTo(0,d/2);a.lineTo(e,d/2);a.end()};mxCellRenderer.registerShape("crossbar",na);mxUtils.extend(R,mxActor);R.prototype.dx=20;R.prototype.dy=20;R.prototype.redrawPath=function(a,c,b,e,d){c=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,
-"dx",this.dx))));b=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));parseFloat(mxUtils.getValue(this.style,"size",this.size));var k=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(e,0),new mxPoint(e,b),new mxPoint((e+c)/2,b),new mxPoint((e+c)/2,d),new mxPoint((e-c)/2,d),new mxPoint((e-c)/2,b),new mxPoint(0,b)],this.isRounded,k,!0);a.end()};mxCellRenderer.registerShape("tee",R);mxUtils.extend(ba,
-mxActor);ba.prototype.arrowWidth=.3;ba.prototype.arrowSize=.2;ba.prototype.redrawPath=function(a,c,b,e,d){var k=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",this.arrowWidth))));c=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",this.arrowSize))));b=(d-k)/2;var k=b+k,g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,b),new mxPoint(e-c,b),new mxPoint(e-c,0),new mxPoint(e,d/2),new mxPoint(e-
-c,d),new mxPoint(e-c,k),new mxPoint(0,k)],this.isRounded,g,!0);a.end()};mxCellRenderer.registerShape("singleArrow",ba);mxUtils.extend(M,mxActor);M.prototype.redrawPath=function(a,c,b,e,d){var k=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",ba.prototype.arrowWidth))));c=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",ba.prototype.arrowSize))));b=(d-k)/2;var k=b+k,g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/
-2;this.addPoints(a,[new mxPoint(0,d/2),new mxPoint(c,0),new mxPoint(c,b),new mxPoint(e-c,b),new mxPoint(e-c,0),new mxPoint(e,d/2),new mxPoint(e-c,d),new mxPoint(e-c,k),new mxPoint(c,k),new mxPoint(c,d)],this.isRounded,g,!0);a.end()};mxCellRenderer.registerShape("doubleArrow",M);mxUtils.extend(J,mxActor);J.prototype.size=.1;J.prototype.redrawPath=function(a,c,b,e,d){c=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));a.moveTo(c,0);a.lineTo(e,0);a.quadTo(e-2*c,d/2,
-e,d);a.lineTo(c,d);a.quadTo(c-2*c,d/2,c,0);a.close();a.end()};mxCellRenderer.registerShape("dataStorage",J);mxUtils.extend(ja,mxActor);ja.prototype.redrawPath=function(a,c,b,e,d){a.moveTo(0,0);a.quadTo(e,0,e,d/2);a.quadTo(e,d,0,d);a.close();a.end()};mxCellRenderer.registerShape("or",ja);mxUtils.extend(N,mxActor);N.prototype.redrawPath=function(a,c,b,e,d){a.moveTo(0,0);a.quadTo(e,0,e,d/2);a.quadTo(e,d,0,d);a.quadTo(e/2,d/2,0,0);a.close();a.end()};mxCellRenderer.registerShape("xor",N);mxUtils.extend(X,
-mxActor);X.prototype.size=20;X.prototype.isRoundable=function(){return!0};X.prototype.redrawPath=function(a,c,b,e,d){c=Math.min(e/2,Math.min(d,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(c,0),new mxPoint(e-c,0),new mxPoint(e,.8*c),new mxPoint(e,d),new mxPoint(0,d),new mxPoint(0,.8*c)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("loopLimit",X);mxUtils.extend(ha,
-mxActor);ha.prototype.size=.375;ha.prototype.isRoundable=function(){return!0};ha.prototype.redrawPath=function(a,c,b,e,d){c=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(e,0),new mxPoint(e,d-c),new mxPoint(e/2,d),new mxPoint(0,d-c)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("offPageConnector",ha);mxUtils.extend(la,
-mxEllipse);la.prototype.paintVertexShape=function(a,c,b,e,d){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.begin();a.moveTo(c+e/2,b+d);a.lineTo(c+e,b+d);a.end();a.stroke()};mxCellRenderer.registerShape("tapeData",la);mxUtils.extend(K,mxEllipse);K.prototype.paintVertexShape=function(a,c,b,e,d){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);a.begin();a.moveTo(c,b+d/2);a.lineTo(c+e,b+d/2);a.end();a.stroke();a.begin();a.moveTo(c+e/2,b);a.lineTo(c+e/2,b+d);a.end();
-a.stroke()};mxCellRenderer.registerShape("orEllipse",K);mxUtils.extend(oa,mxEllipse);oa.prototype.paintVertexShape=function(a,c,b,e,d){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);a.begin();a.moveTo(c+.145*e,b+.145*d);a.lineTo(c+.855*e,b+.855*d);a.end();a.stroke();a.begin();a.moveTo(c+.855*e,b+.145*d);a.lineTo(c+.145*e,b+.855*d);a.end();a.stroke()};mxCellRenderer.registerShape("sumEllipse",oa);mxUtils.extend(ea,mxRhombus);ea.prototype.paintVertexShape=function(a,c,b,
-e,d){mxRhombus.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);a.begin();a.moveTo(c,b+d/2);a.lineTo(c+e,b+d/2);a.end();a.stroke()};mxCellRenderer.registerShape("sortShape",ea);mxUtils.extend(ia,mxEllipse);ia.prototype.paintVertexShape=function(a,c,b,e,d){a.begin();a.moveTo(c,b);a.lineTo(c+e,b);a.lineTo(c+e/2,b+d/2);a.close();a.fillAndStroke();a.begin();a.moveTo(c,b+d);a.lineTo(c+e,b+d);a.lineTo(c+e/2,b+d/2);a.close();a.fillAndStroke()};mxCellRenderer.registerShape("collate",ia);mxUtils.extend(Aa,
-mxEllipse);Aa.prototype.paintVertexShape=function(a,c,b,e,d){var k=b+d-5;a.begin();a.moveTo(c,b);a.lineTo(c,b+d);a.moveTo(c,k);a.lineTo(c+10,k-5);a.moveTo(c,k);a.lineTo(c+10,k+5);a.moveTo(c,k);a.lineTo(c+e,k);a.moveTo(c+e,b);a.lineTo(c+e,b+d);a.moveTo(c+e,k);a.lineTo(c+e-10,k-5);a.moveTo(c+e,k);a.lineTo(c+e-10,k+5);a.end();a.stroke()};mxCellRenderer.registerShape("dimension",Aa);mxUtils.extend(Ba,mxEllipse);Ba.prototype.paintVertexShape=function(a,c,b,e,d){this.outline||a.setStrokeColor(null);mxRectangleShape.prototype.paintBackground.apply(this,
-arguments);null!=this.style&&(a.setStrokeColor(this.stroke),a.rect(c,b,e,d),a.fill(),a.begin(),a.moveTo(c,b),"1"==mxUtils.getValue(this.style,"top","1")?a.lineTo(c+e,b):a.moveTo(c+e,b),"1"==mxUtils.getValue(this.style,"right","1")?a.lineTo(c+e,b+d):a.moveTo(c+e,b+d),"1"==mxUtils.getValue(this.style,"bottom","1")?a.lineTo(c,b+d):a.moveTo(c,b+d),"1"==mxUtils.getValue(this.style,"left","1")&&a.lineTo(c,b-this.strokewidth/2),a.end(),a.stroke())};mxCellRenderer.registerShape("partialRectangle",Ba);mxUtils.extend(za,
-mxEllipse);za.prototype.paintVertexShape=function(a,c,b,e,d){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);a.begin();"vertical"==mxUtils.getValue(this.style,"line")?(a.moveTo(c+e/2,b),a.lineTo(c+e/2,b+d)):(a.moveTo(c,b+d/2),a.lineTo(c+e,b+d/2));a.end();a.stroke()};mxCellRenderer.registerShape("lineEllipse",za);mxUtils.extend(pa,mxActor);pa.prototype.redrawPath=function(a,c,b,e,d){c=Math.min(e,d/2);a.moveTo(0,0);a.lineTo(e-c,0);a.quadTo(e,0,e,d/2);a.quadTo(e,d,e-c,d);a.lineTo(0,
-d);a.close();a.end()};mxCellRenderer.registerShape("delay",pa);mxUtils.extend(ka,mxActor);ka.prototype.size=.2;ka.prototype.redrawPath=function(a,c,b,e,d){c=Math.min(d,e);var k=Math.max(0,Math.min(c,c*parseFloat(mxUtils.getValue(this.style,"size",this.size))));c=(d-k)/2;b=c+k;var g=(e-k)/2,k=g+k;a.moveTo(0,c);a.lineTo(g,c);a.lineTo(g,0);a.lineTo(k,0);a.lineTo(k,c);a.lineTo(e,c);a.lineTo(e,b);a.lineTo(k,b);a.lineTo(k,d);a.lineTo(g,d);a.lineTo(g,b);a.lineTo(0,b);a.close();a.end()};mxCellRenderer.registerShape("cross",
-ka);mxUtils.extend(ta,mxActor);ta.prototype.size=.25;ta.prototype.redrawPath=function(a,c,b,e,d){c=Math.min(e,d/2);b=Math.min(e-c,Math.max(0,parseFloat(mxUtils.getValue(this.style,"size",this.size)))*e);a.moveTo(0,d/2);a.lineTo(b,0);a.lineTo(e-c,0);a.quadTo(e,0,e,d/2);a.quadTo(e,d,e-c,d);a.lineTo(b,d);a.close();a.end()};mxCellRenderer.registerShape("display",ta);mxUtils.extend(qa,mxConnector);qa.prototype.origPaintEdgeShape=qa.prototype.paintEdgeShape;qa.prototype.paintEdgeShape=function(a,c,b){for(var e=
-[],d=0;d<c.length;d++)e.push(mxUtils.clone(c[d]));var d=a.state.dashed,k=a.state.fixDash;qa.prototype.origPaintEdgeShape.apply(this,[a,e,b]);3<=a.state.strokeWidth&&(e=mxUtils.getValue(this.style,"fillColor",null),null!=e&&(a.setStrokeColor(e),a.setStrokeWidth(a.state.strokeWidth-2),a.setDashed(d,k),qa.prototype.origPaintEdgeShape.apply(this,[a,c,b])))};mxCellRenderer.registerShape("filledEdge",qa);"undefined"!==typeof StyleFormatPanel&&function(){var a=StyleFormatPanel.prototype.getCustomColors;
-StyleFormatPanel.prototype.getCustomColors=function(){var c=this.format.getSelectionState(),b=a.apply(this,arguments);"umlFrame"==c.style.shape&&b.push({title:mxResources.get("laneColor"),key:"swimlaneFillColor",defaultValue:"#ffffff"});return b}}();mxMarker.addMarker("dash",function(a,c,b,e,d,k,g,f,p,n){var B=d*(g+p+1),x=k*(g+p+1);return function(){a.begin();a.moveTo(e.x-B/2-x/2,e.y-x/2+B/2);a.lineTo(e.x+x/2-3*B/2,e.y-3*x/2-B/2);a.stroke()}});mxMarker.addMarker("cross",function(a,c,b,e,d,k,g,f,p,
-n){var B=d*(g+p+1),x=k*(g+p+1);return function(){a.begin();a.moveTo(e.x-B/2-x/2,e.y-x/2+B/2);a.lineTo(e.x+x/2-3*B/2,e.y-3*x/2-B/2);a.moveTo(e.x-B/2+x/2,e.y-x/2-B/2);a.lineTo(e.x-x/2-3*B/2,e.y-3*x/2+B/2);a.stroke()}});mxMarker.addMarker("circle",ua);mxMarker.addMarker("circlePlus",function(a,c,b,e,d,k,g,f,p,n){var B=e.clone(),x=ua.apply(this,arguments),t=d*(g+2*p),v=k*(g+2*p);return function(){x.apply(this,arguments);a.begin();a.moveTo(B.x-d*p,B.y-k*p);a.lineTo(B.x-2*t+d*p,B.y-2*v+k*p);a.moveTo(B.x-
-t-v+k*p,B.y-v+t-d*p);a.lineTo(B.x+v-t-k*p,B.y-v-t+d*p);a.stroke()}});mxMarker.addMarker("halfCircle",function(a,c,b,e,d,k,g,f,p,n){var B=d*(g+p+1),x=k*(g+p+1),t=e.clone();e.x-=B;e.y-=x;return function(){a.begin();a.moveTo(t.x-x,t.y+B);a.quadTo(e.x-x,e.y+B,e.x,e.y);a.quadTo(e.x+x,e.y-B,t.x+x,t.y-B);a.stroke()}});mxMarker.addMarker("async",function(a,c,b,e,d,k,g,f,p,n){c=d*p*1.118;b=k*p*1.118;d*=g+p;k*=g+p;var B=e.clone();B.x-=c;B.y-=b;e.x+=1*-d-c;e.y+=1*-k-b;return function(){a.begin();a.moveTo(B.x,
-B.y);f?a.lineTo(B.x-d-k/2,B.y-k+d/2):a.lineTo(B.x+k/2-d,B.y-k-d/2);a.lineTo(B.x-d,B.y-k);a.close();n?a.fillAndStroke():a.stroke()}});mxMarker.addMarker("openAsync",function(a){a=null!=a?a:2;return function(c,b,e,d,k,g,f,p,n,B){k*=f+n;g*=f+n;var x=d.clone();return function(){c.begin();c.moveTo(x.x,x.y);p?c.lineTo(x.x-k-g/a,x.y-g+k/a):c.lineTo(x.x+g/a-k,x.y-g-k/a);c.stroke()}}}(2));if("undefined"!==typeof mxVertexHandler){var Ia=function(a,c,b){return Ea(a,["width"],c,function(c,e,d,k,g){g=a.shape.getEdgeWidth()*
-a.view.scale+b;return new mxPoint(k.x+e*c/4+d*g/2,k.y+d*c/4-e*g/2)},function(c,e,d,k,g,f){c=Math.sqrt(mxUtils.ptSegDistSq(k.x,k.y,g.x,g.y,f.x,f.y));a.style.width=Math.round(2*c)/a.view.scale-b})},Ea=function(a,c,b,e,d){return Y(a,c,function(c){var d=a.absolutePoints,k=d.length-1;c=a.view.translate;var g=a.view.scale,f=b?d[0]:d[k],d=b?d[1]:d[k-1],k=d.x-f.x,p=d.y-f.y,n=Math.sqrt(k*k+p*p),f=e.call(this,n,k/n,p/n,f,d);return new mxPoint(f.x/g-c.x,f.y/g-c.y)},function(c,e,k){var g=a.absolutePoints,f=g.length-
-1;c=a.view.translate;var p=a.view.scale,n=b?g[0]:g[f],g=b?g[1]:g[f-1],f=g.x-n.x,B=g.y-n.y,x=Math.sqrt(f*f+B*B);e.x=(e.x+c.x)*p;e.y=(e.y+c.y)*p;d.call(this,x,f/x,B/x,n,g,e,k)})},va=function(a){return function(c){return[Y(c,["arrowWidth","arrowSize"],function(c){var b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"arrowWidth",ba.prototype.arrowWidth))),e=Math.max(0,Math.min(a,mxUtils.getValue(this.state.style,"arrowSize",ba.prototype.arrowSize)));return new mxPoint(c.x+(1-e)*c.width,c.y+(1-
-b)*c.height/2)},function(c,b){this.state.style.arrowWidth=Math.max(0,Math.min(1,Math.abs(c.y+c.height/2-b.y)/c.height*2));this.state.style.arrowSize=Math.max(0,Math.min(a,(c.x+c.width-b.x)/c.width))})]}},Na=function(a,c,b){return function(e){var d=[Y(e,["size"],function(b){var e=Math.max(0,Math.min(b.width,Math.min(b.height,parseFloat(mxUtils.getValue(this.state.style,"size",c)))))*a;return new mxPoint(b.x+e,b.y+e)},function(c,b){this.state.style.size=Math.round(Math.max(0,Math.min(Math.min(c.width,
-b.x-c.x),Math.min(c.height,b.y-c.y)))/a)})];b&&mxUtils.getValue(e.style,mxConstants.STYLE_ROUNDED,!1)&&d.push(sa(e));return d}},Ja=function(a,c,b,e,d){b=null!=b?b:1;return function(k){var g=[Y(k,["size"],function(c){var b=null!=d?"0"!=mxUtils.getValue(this.state.style,"fixedSize","0"):null,e=parseFloat(mxUtils.getValue(this.state.style,"size",b?d:a));return new mxPoint(c.x+Math.max(0,Math.min(c.width,e*(b?1:c.width))),c.getCenterY())},function(a,c,e){var g=null!=d?"0"!=mxUtils.getValue(this.state.style,
-"fixedSize","0"):null;a=g?c.x-a.x:Math.max(0,Math.min(b,(c.x-a.x)/a.width));g&&!mxEvent.isAltDown(e.getEvent())&&(a=k.view.graph.snap(a));this.state.style.size=a},null,e)];c&&mxUtils.getValue(k.style,mxConstants.STYLE_ROUNDED,!1)&&g.push(sa(k));return g}},Oa=function(a){return function(c){var b=[Y(c,["size"],function(c){var b=Math.max(0,Math.min(a,parseFloat(mxUtils.getValue(this.state.style,"size",e.prototype.size))));return new mxPoint(c.x+b*c.width*.75,c.y+c.height/4)},function(c,b){this.state.style.size=
-Math.max(0,Math.min(a,(b.x-c.x)/(.75*c.width)))},null,!0)];mxUtils.getValue(c.style,mxConstants.STYLE_ROUNDED,!1)&&b.push(sa(c));return b}},Fa=function(){return function(a){var c=[];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&c.push(sa(a));return c}},sa=function(a,c){return Y(a,[mxConstants.STYLE_ARCSIZE],function(b){var e=null!=c?c:b.height/8;if("1"==mxUtils.getValue(a.style,mxConstants.STYLE_ABSOLUTE_ARCSIZE,0)){var d=mxUtils.getValue(a.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/
-2;return new mxPoint(b.x+b.width-Math.min(b.width/2,d),b.y+e)}d=Math.max(0,parseFloat(mxUtils.getValue(a.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)))/100;return new mxPoint(b.x+b.width-Math.min(Math.max(b.width/2,b.height/2),Math.min(b.width,b.height)*d),b.y+e)},function(c,b,e){"1"==mxUtils.getValue(a.style,mxConstants.STYLE_ABSOLUTE_ARCSIZE,0)?this.state.style[mxConstants.STYLE_ARCSIZE]=Math.round(Math.max(0,Math.min(c.width,2*(c.x+c.width-b.x)))):this.state.style[mxConstants.STYLE_ARCSIZE]=
-Math.round(Math.min(50,Math.max(0,100*(c.width-b.x+c.x)/Math.min(c.width,c.height))))})},Y=function(a,c,b,e,d,k){var g=new mxHandle(a,null,mxVertexHandler.prototype.secondaryHandleImage);g.execute=function(){for(var a=0;a<c.length;a++)this.copyStyle(c[a])};g.getPosition=b;g.setPosition=e;g.ignoreGrid=null!=d?d:!0;if(k){var f=g.positionChanged;g.positionChanged=function(){f.apply(this,arguments);a.view.invalidate(this.state.cell);a.view.validate()}}return g},Ga={link:function(a){return[Ia(a,!0,10),
-Ia(a,!1,10)]},flexArrow:function(a){var c=a.view.graph.gridSize/a.view.scale,b=[];mxUtils.getValue(a.style,mxConstants.STYLE_STARTARROW,mxConstants.NONE)!=mxConstants.NONE&&(b.push(Ea(a,["width",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!0,function(c,b,e,d,k){c=(a.shape.getEdgeWidth()-a.shape.strokewidth)*a.view.scale;k=3*mxUtils.getNumber(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(d.x+b*(k+a.shape.strokewidth*a.view.scale)+e*c/2,d.y+
-e*(k+a.shape.strokewidth*a.view.scale)-b*c/2)},function(b,e,d,k,g,f,p){b=Math.sqrt(mxUtils.ptSegDistSq(k.x,k.y,g.x,g.y,f.x,f.y));e=mxUtils.ptLineDist(k.x,k.y,k.x+d,k.y-e,f.x,f.y);a.style[mxConstants.STYLE_STARTSIZE]=Math.round(100*(e-a.shape.strokewidth)/3)/100/a.view.scale;a.style.width=Math.round(2*b)/a.view.scale;mxEvent.isControlDown(p.getEvent())&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE]);mxEvent.isAltDown(p.getEvent())||Math.abs(parseFloat(a.style[mxConstants.STYLE_STARTSIZE])-
-parseFloat(a.style[mxConstants.STYLE_ENDSIZE]))<c/6&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE])})),b.push(Ea(a,["startWidth","endWidth",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!0,function(c,b,e,d,k){c=(a.shape.getStartArrowWidth()-a.shape.strokewidth)*a.view.scale;k=3*mxUtils.getNumber(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(d.x+b*(k+a.shape.strokewidth*a.view.scale)+e*c/2,d.y+e*(k+a.shape.strokewidth*
-a.view.scale)-b*c/2)},function(b,e,d,k,g,f,p){b=Math.sqrt(mxUtils.ptSegDistSq(k.x,k.y,g.x,g.y,f.x,f.y));e=mxUtils.ptLineDist(k.x,k.y,k.x+d,k.y-e,f.x,f.y);a.style[mxConstants.STYLE_STARTSIZE]=Math.round(100*(e-a.shape.strokewidth)/3)/100/a.view.scale;a.style.startWidth=Math.max(0,Math.round(2*b)-a.shape.getEdgeWidth())/a.view.scale;mxEvent.isControlDown(p.getEvent())&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE],a.style.endWidth=a.style.startWidth);mxEvent.isAltDown(p.getEvent())||
-(Math.abs(parseFloat(a.style[mxConstants.STYLE_STARTSIZE])-parseFloat(a.style[mxConstants.STYLE_ENDSIZE]))<c/6&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE]),Math.abs(parseFloat(a.style.startWidth)-parseFloat(a.style.endWidth))<c&&(a.style.startWidth=a.style.endWidth))})));mxUtils.getValue(a.style,mxConstants.STYLE_ENDARROW,mxConstants.NONE)!=mxConstants.NONE&&(b.push(Ea(a,["width",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!1,function(c,b,e,d,k){c=(a.shape.getEdgeWidth()-
-a.shape.strokewidth)*a.view.scale;k=3*mxUtils.getNumber(a.style,mxConstants.STYLE_ENDSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(d.x+b*(k+a.shape.strokewidth*a.view.scale)-e*c/2,d.y+e*(k+a.shape.strokewidth*a.view.scale)+b*c/2)},function(b,e,d,k,g,f,p){b=Math.sqrt(mxUtils.ptSegDistSq(k.x,k.y,g.x,g.y,f.x,f.y));e=mxUtils.ptLineDist(k.x,k.y,k.x+d,k.y-e,f.x,f.y);a.style[mxConstants.STYLE_ENDSIZE]=Math.round(100*(e-a.shape.strokewidth)/3)/100/a.view.scale;a.style.width=Math.round(2*
-b)/a.view.scale;mxEvent.isControlDown(p.getEvent())&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE]);mxEvent.isAltDown(p.getEvent())||Math.abs(parseFloat(a.style[mxConstants.STYLE_ENDSIZE])-parseFloat(a.style[mxConstants.STYLE_STARTSIZE]))<c/6&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE])})),b.push(Ea(a,["startWidth","endWidth",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!1,function(c,b,e,d,k){c=(a.shape.getEndArrowWidth()-a.shape.strokewidth)*
-a.view.scale;k=3*mxUtils.getNumber(a.style,mxConstants.STYLE_ENDSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(d.x+b*(k+a.shape.strokewidth*a.view.scale)-e*c/2,d.y+e*(k+a.shape.strokewidth*a.view.scale)+b*c/2)},function(b,e,d,k,g,f,p){b=Math.sqrt(mxUtils.ptSegDistSq(k.x,k.y,g.x,g.y,f.x,f.y));e=mxUtils.ptLineDist(k.x,k.y,k.x+d,k.y-e,f.x,f.y);a.style[mxConstants.STYLE_ENDSIZE]=Math.round(100*(e-a.shape.strokewidth)/3)/100/a.view.scale;a.style.endWidth=Math.max(0,Math.round(2*b)-a.shape.getEdgeWidth())/
-a.view.scale;mxEvent.isControlDown(p.getEvent())&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE],a.style.startWidth=a.style.endWidth);mxEvent.isAltDown(p.getEvent())||(Math.abs(parseFloat(a.style[mxConstants.STYLE_ENDSIZE])-parseFloat(a.style[mxConstants.STYLE_STARTSIZE]))<c/6&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE]),Math.abs(parseFloat(a.style.endWidth)-parseFloat(a.style.startWidth))<c&&(a.style.endWidth=a.style.startWidth))})));return b},
-swimlane:function(a){var c=[Y(a,[mxConstants.STYLE_STARTSIZE],function(c){var b=parseFloat(mxUtils.getValue(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_STARTSIZE));return 1==mxUtils.getValue(a.style,mxConstants.STYLE_HORIZONTAL,1)?new mxPoint(c.getCenterX(),c.y+Math.max(0,Math.min(c.height,b))):new mxPoint(c.x+Math.max(0,Math.min(c.width,b)),c.getCenterY())},function(c,b){a.style[mxConstants.STYLE_STARTSIZE]=1==mxUtils.getValue(this.state.style,mxConstants.STYLE_HORIZONTAL,1)?Math.round(Math.max(0,
-Math.min(c.height,b.y-c.y))):Math.round(Math.max(0,Math.min(c.width,b.x-c.x)))})];if(mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED)){var b=parseFloat(mxUtils.getValue(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_STARTSIZE));c.push(sa(a,b/2))}return c},label:Fa(),ext:Fa(),rectangle:Fa(),triangle:Fa(),rhombus:Fa(),umlLifeline:function(a){return[Y(a,["size"],function(a){var c=Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(this.state.style,"size",F.prototype.size))));return new mxPoint(a.getCenterX(),
-a.y+c)},function(a,c){this.state.style.size=Math.round(Math.max(0,Math.min(a.height,c.y-a.y)))},!1)]},umlFrame:function(a){return[Y(a,["width","height"],function(a){var c=Math.max(G.prototype.corner,Math.min(a.width,mxUtils.getValue(this.state.style,"width",G.prototype.width))),b=Math.max(1.5*G.prototype.corner,Math.min(a.height,mxUtils.getValue(this.state.style,"height",G.prototype.height)));return new mxPoint(a.x+c,a.y+b)},function(a,c){this.state.style.width=Math.round(Math.max(G.prototype.corner,
-Math.min(a.width,c.x-a.x)));this.state.style.height=Math.round(Math.max(1.5*G.prototype.corner,Math.min(a.height,c.y-a.y)))},!1)]},process:function(a){var c=[Y(a,["size"],function(a){var c=Math.max(0,Math.min(.5,parseFloat(mxUtils.getValue(this.state.style,"size",g.prototype.size))));return new mxPoint(a.x+a.width*c,a.y+a.height/4)},function(a,c){this.state.style.size=Math.max(0,Math.min(.5,(c.x-a.x)/a.width))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&c.push(sa(a));return c},cross:function(a){return[Y(a,
-["size"],function(a){var c=Math.min(a.width,a.height),c=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"size",ka.prototype.size)))*c/2;return new mxPoint(a.getCenterX()-c,a.getCenterY()-c)},function(a,c){var b=Math.min(a.width,a.height);this.state.style.size=Math.max(0,Math.min(1,Math.min(Math.max(0,a.getCenterY()-c.y)/b*2,Math.max(0,a.getCenterX()-c.x)/b*2)))})]},note:function(a){return[Y(a,["size"],function(a){var c=Math.max(0,Math.min(a.width,Math.min(a.height,parseFloat(mxUtils.getValue(this.state.style,
-"size",l.prototype.size)))));return new mxPoint(a.x+a.width-c,a.y+c)},function(a,c){this.state.style.size=Math.round(Math.max(0,Math.min(Math.min(a.width,a.x+a.width-c.x),Math.min(a.height,c.y-a.y))))})]},manualInput:function(a){var c=[Y(a,["size"],function(a){var c=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",T.prototype.size)));return new mxPoint(a.x+a.width/4,a.y+3*c/4)},function(a,c){this.state.style.size=Math.round(Math.max(0,Math.min(a.height,4*(c.y-a.y)/3)))})];mxUtils.getValue(a.style,
-mxConstants.STYLE_ROUNDED,!1)&&c.push(sa(a));return c},dataStorage:function(a){return[Y(a,["size"],function(a){var c=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",J.prototype.size))));return new mxPoint(a.x+(1-c)*a.width,a.getCenterY())},function(a,c){this.state.style.size=Math.max(0,Math.min(1,(a.x+a.width-c.x)/a.width))})]},callout:function(a){var c=[Y(a,["size","position"],function(a){var c=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",v.prototype.size))),
-b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position",v.prototype.position)));mxUtils.getValue(this.state.style,"base",v.prototype.base);return new mxPoint(a.x+b*a.width,a.y+a.height-c)},function(a,c){mxUtils.getValue(this.state.style,"base",v.prototype.base);this.state.style.size=Math.round(Math.max(0,Math.min(a.height,a.y+a.height-c.y)));this.state.style.position=Math.round(100*Math.max(0,Math.min(1,(c.x-a.x)/a.width)))/100}),Y(a,["position2"],function(a){var c=Math.max(0,Math.min(1,
-mxUtils.getValue(this.state.style,"position2",v.prototype.position2)));return new mxPoint(a.x+c*a.width,a.y+a.height)},function(a,c){this.state.style.position2=Math.round(100*Math.max(0,Math.min(1,(c.x-a.x)/a.width)))/100}),Y(a,["base"],function(a){var c=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",v.prototype.size))),b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position",v.prototype.position))),e=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,
-"base",v.prototype.base)));return new mxPoint(a.x+Math.min(a.width,b*a.width+e),a.y+a.height-c)},function(a,c){var b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position",v.prototype.position)));this.state.style.base=Math.round(Math.max(0,Math.min(a.width,c.x-a.x-b*a.width)))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&c.push(sa(a));return c},internalStorage:function(a){var c=[Y(a,["dx","dy"],function(a){var c=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,
-"dx",U.prototype.dx))),b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"dy",U.prototype.dy)));return new mxPoint(a.x+c,a.y+b)},function(a,c){this.state.style.dx=Math.round(Math.max(0,Math.min(a.width,c.x-a.x)));this.state.style.dy=Math.round(Math.max(0,Math.min(a.height,c.y-a.y)))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&c.push(sa(a));return c},corner:function(a){return[Y(a,["dx","dy"],function(a){var c=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,
-"dx",da.prototype.dx))),b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"dy",da.prototype.dy)));return new mxPoint(a.x+c,a.y+b)},function(a,c){this.state.style.dx=Math.round(Math.max(0,Math.min(a.width,c.x-a.x)));this.state.style.dy=Math.round(Math.max(0,Math.min(a.height,c.y-a.y)))})]},tee:function(a){return[Y(a,["dx","dy"],function(a){var c=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"dx",R.prototype.dx))),b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,
-"dy",R.prototype.dy)));return new mxPoint(a.x+(a.width+c)/2,a.y+b)},function(a,c){this.state.style.dx=Math.round(Math.max(0,2*Math.min(a.width/2,c.x-a.x-a.width/2)));this.state.style.dy=Math.round(Math.max(0,Math.min(a.height,c.y-a.y)))})]},singleArrow:va(1),doubleArrow:va(.5),folder:function(a){return[Y(a,["tabWidth","tabHeight"],function(a){var c=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"tabWidth",q.prototype.tabWidth))),b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,
-"tabHeight",q.prototype.tabHeight)));mxUtils.getValue(this.state.style,"tabPosition",q.prototype.tabPosition)==mxConstants.ALIGN_RIGHT&&(c=a.width-c);return new mxPoint(a.x+c,a.y+b)},function(a,c){var b=Math.max(0,Math.min(a.width,c.x-a.x));mxUtils.getValue(this.state.style,"tabPosition",q.prototype.tabPosition)==mxConstants.ALIGN_RIGHT&&(b=a.width-b);this.state.style.tabWidth=Math.round(b);this.state.style.tabHeight=Math.round(Math.max(0,Math.min(a.height,c.y-a.y)))})]},document:function(a){return[Y(a,
-["size"],function(a){var c=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",C.prototype.size))));return new mxPoint(a.x+3*a.width/4,a.y+(1-c)*a.height)},function(a,c){this.state.style.size=Math.max(0,Math.min(1,(a.y+a.height-c.y)/a.height))})]},tape:function(a){return[Y(a,["size"],function(a){var c=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",z.prototype.size))));return new mxPoint(a.getCenterX(),a.y+c*a.height/2)},function(a,c){this.state.style.size=
-Math.max(0,Math.min(1,(c.y-a.y)/a.height*2))})]},offPageConnector:function(a){return[Y(a,["size"],function(a){var c=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",ha.prototype.size))));return new mxPoint(a.getCenterX(),a.y+(1-c)*a.height)},function(a,c){this.state.style.size=Math.max(0,Math.min(1,(a.y+a.height-c.y)/a.height))})]},step:Ja(t.prototype.size,!0,null,!0,t.prototype.fixedSize),hexagon:Ja(D.prototype.size,!0,.5,!0),curlyBracket:Ja(k.prototype.size,!1),display:Ja(ta.prototype.size,
+d,b,c,f){d=Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size)));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,f),new mxPoint(0,d),new mxPoint(c,0),new mxPoint(c,f)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("manualInput",T);mxUtils.extend(U,mxRectangleShape);U.prototype.dx=20;U.prototype.dy=20;U.prototype.isHtmlAllowed=function(){return!1};U.prototype.paintForeground=function(a,d,b,c,f){mxRectangleShape.prototype.paintForeground.apply(this,
+arguments);var k=0;if(this.isRounded)var g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,k=Math.max(k,Math.min(c*g,f*g));g=Math.max(k,Math.min(c,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));k=Math.max(k,Math.min(f,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));a.begin();a.moveTo(d,b+k);a.lineTo(d+c,b+k);a.end();a.stroke();a.begin();a.moveTo(d+g,b);a.lineTo(d+g,b+f);a.end();a.stroke()};mxCellRenderer.registerShape("internalStorage",
+U);mxUtils.extend(da,mxActor);da.prototype.dx=20;da.prototype.dy=20;da.prototype.redrawPath=function(a,d,b,c,f){d=Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));b=Math.max(0,Math.min(f,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));parseFloat(mxUtils.getValue(this.style,"size",this.size));var k=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(c,0),new mxPoint(c,b),new mxPoint(d,
+b),new mxPoint(d,f),new mxPoint(0,f)],this.isRounded,k,!0);a.end()};mxCellRenderer.registerShape("corner",da);mxUtils.extend(na,mxActor);na.prototype.redrawPath=function(a,d,b,c,f){a.moveTo(0,0);a.lineTo(0,f);a.end();a.moveTo(c,0);a.lineTo(c,f);a.end();a.moveTo(0,f/2);a.lineTo(c,f/2);a.end()};mxCellRenderer.registerShape("crossbar",na);mxUtils.extend(R,mxActor);R.prototype.dx=20;R.prototype.dy=20;R.prototype.redrawPath=function(a,d,b,c,f){d=Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style,
+"dx",this.dx))));b=Math.max(0,Math.min(f,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));parseFloat(mxUtils.getValue(this.style,"size",this.size));var k=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(c,0),new mxPoint(c,b),new mxPoint((c+d)/2,b),new mxPoint((c+d)/2,f),new mxPoint((c-d)/2,f),new mxPoint((c-d)/2,b),new mxPoint(0,b)],this.isRounded,k,!0);a.end()};mxCellRenderer.registerShape("tee",R);mxUtils.extend(ba,
+mxActor);ba.prototype.arrowWidth=.3;ba.prototype.arrowSize=.2;ba.prototype.redrawPath=function(a,d,b,c,f){var k=f*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",this.arrowWidth))));d=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",this.arrowSize))));b=(f-k)/2;var k=b+k,g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,b),new mxPoint(c-d,b),new mxPoint(c-d,0),new mxPoint(c,f/2),new mxPoint(c-
+d,f),new mxPoint(c-d,k),new mxPoint(0,k)],this.isRounded,g,!0);a.end()};mxCellRenderer.registerShape("singleArrow",ba);mxUtils.extend(N,mxActor);N.prototype.redrawPath=function(a,d,b,c,f){var k=f*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",ba.prototype.arrowWidth))));d=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",ba.prototype.arrowSize))));b=(f-k)/2;var k=b+k,g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/
+2;this.addPoints(a,[new mxPoint(0,f/2),new mxPoint(d,0),new mxPoint(d,b),new mxPoint(c-d,b),new mxPoint(c-d,0),new mxPoint(c,f/2),new mxPoint(c-d,f),new mxPoint(c-d,k),new mxPoint(d,k),new mxPoint(d,f)],this.isRounded,g,!0);a.end()};mxCellRenderer.registerShape("doubleArrow",N);mxUtils.extend(J,mxActor);J.prototype.size=.1;J.prototype.redrawPath=function(a,d,b,c,f){d=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));a.moveTo(d,0);a.lineTo(c,0);a.quadTo(c-2*d,f/2,
+c,f);a.lineTo(d,f);a.quadTo(d-2*d,f/2,d,0);a.close();a.end()};mxCellRenderer.registerShape("dataStorage",J);mxUtils.extend(ja,mxActor);ja.prototype.redrawPath=function(a,d,b,c,f){a.moveTo(0,0);a.quadTo(c,0,c,f/2);a.quadTo(c,f,0,f);a.close();a.end()};mxCellRenderer.registerShape("or",ja);mxUtils.extend(O,mxActor);O.prototype.redrawPath=function(a,d,b,c,f){a.moveTo(0,0);a.quadTo(c,0,c,f/2);a.quadTo(c,f,0,f);a.quadTo(c/2,f/2,0,0);a.close();a.end()};mxCellRenderer.registerShape("xor",O);mxUtils.extend(X,
+mxActor);X.prototype.size=20;X.prototype.isRoundable=function(){return!0};X.prototype.redrawPath=function(a,d,b,c,f){d=Math.min(c/2,Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(d,0),new mxPoint(c-d,0),new mxPoint(c,.8*d),new mxPoint(c,f),new mxPoint(0,f),new mxPoint(0,.8*d)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("loopLimit",X);mxUtils.extend(ha,
+mxActor);ha.prototype.size=.375;ha.prototype.isRoundable=function(){return!0};ha.prototype.redrawPath=function(a,d,b,c,f){d=f*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(c,0),new mxPoint(c,f-d),new mxPoint(c/2,f),new mxPoint(0,f-d)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("offPageConnector",ha);mxUtils.extend(la,
+mxEllipse);la.prototype.paintVertexShape=function(a,d,b,c,f){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.begin();a.moveTo(d+c/2,b+f);a.lineTo(d+c,b+f);a.end();a.stroke()};mxCellRenderer.registerShape("tapeData",la);mxUtils.extend(L,mxEllipse);L.prototype.paintVertexShape=function(a,d,b,c,f){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);a.begin();a.moveTo(d,b+f/2);a.lineTo(d+c,b+f/2);a.end();a.stroke();a.begin();a.moveTo(d+c/2,b);a.lineTo(d+c/2,b+f);a.end();
+a.stroke()};mxCellRenderer.registerShape("orEllipse",L);mxUtils.extend(oa,mxEllipse);oa.prototype.paintVertexShape=function(a,d,b,c,f){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);a.begin();a.moveTo(d+.145*c,b+.145*f);a.lineTo(d+.855*c,b+.855*f);a.end();a.stroke();a.begin();a.moveTo(d+.855*c,b+.145*f);a.lineTo(d+.145*c,b+.855*f);a.end();a.stroke()};mxCellRenderer.registerShape("sumEllipse",oa);mxUtils.extend(ea,mxRhombus);ea.prototype.paintVertexShape=function(a,d,b,
+c,f){mxRhombus.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);a.begin();a.moveTo(d,b+f/2);a.lineTo(d+c,b+f/2);a.end();a.stroke()};mxCellRenderer.registerShape("sortShape",ea);mxUtils.extend(ia,mxEllipse);ia.prototype.paintVertexShape=function(a,d,b,c,f){a.begin();a.moveTo(d,b);a.lineTo(d+c,b);a.lineTo(d+c/2,b+f/2);a.close();a.fillAndStroke();a.begin();a.moveTo(d,b+f);a.lineTo(d+c,b+f);a.lineTo(d+c/2,b+f/2);a.close();a.fillAndStroke()};mxCellRenderer.registerShape("collate",ia);mxUtils.extend(Aa,
+mxEllipse);Aa.prototype.paintVertexShape=function(a,d,b,c,f){var k=b+f-5;a.begin();a.moveTo(d,b);a.lineTo(d,b+f);a.moveTo(d,k);a.lineTo(d+10,k-5);a.moveTo(d,k);a.lineTo(d+10,k+5);a.moveTo(d,k);a.lineTo(d+c,k);a.moveTo(d+c,b);a.lineTo(d+c,b+f);a.moveTo(d+c,k);a.lineTo(d+c-10,k-5);a.moveTo(d+c,k);a.lineTo(d+c-10,k+5);a.end();a.stroke()};mxCellRenderer.registerShape("dimension",Aa);mxUtils.extend(Ba,mxEllipse);Ba.prototype.paintVertexShape=function(a,d,b,c,f){this.outline||a.setStrokeColor(null);mxRectangleShape.prototype.paintBackground.apply(this,
+arguments);null!=this.style&&(a.setStrokeColor(this.stroke),a.rect(d,b,c,f),a.fill(),a.begin(),a.moveTo(d,b),"1"==mxUtils.getValue(this.style,"top","1")?a.lineTo(d+c,b):a.moveTo(d+c,b),"1"==mxUtils.getValue(this.style,"right","1")?a.lineTo(d+c,b+f):a.moveTo(d+c,b+f),"1"==mxUtils.getValue(this.style,"bottom","1")?a.lineTo(d,b+f):a.moveTo(d,b+f),"1"==mxUtils.getValue(this.style,"left","1")&&a.lineTo(d,b-this.strokewidth/2),a.end(),a.stroke())};mxCellRenderer.registerShape("partialRectangle",Ba);mxUtils.extend(za,
+mxEllipse);za.prototype.paintVertexShape=function(a,d,b,c,f){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);a.begin();"vertical"==mxUtils.getValue(this.style,"line")?(a.moveTo(d+c/2,b),a.lineTo(d+c/2,b+f)):(a.moveTo(d,b+f/2),a.lineTo(d+c,b+f/2));a.end();a.stroke()};mxCellRenderer.registerShape("lineEllipse",za);mxUtils.extend(pa,mxActor);pa.prototype.redrawPath=function(a,d,b,c,f){d=Math.min(c,f/2);a.moveTo(0,0);a.lineTo(c-d,0);a.quadTo(c,0,c,f/2);a.quadTo(c,f,c-d,f);a.lineTo(0,
+f);a.close();a.end()};mxCellRenderer.registerShape("delay",pa);mxUtils.extend(ka,mxActor);ka.prototype.size=.2;ka.prototype.redrawPath=function(a,d,b,c,f){d=Math.min(f,c);var k=Math.max(0,Math.min(d,d*parseFloat(mxUtils.getValue(this.style,"size",this.size))));d=(f-k)/2;b=d+k;var g=(c-k)/2,k=g+k;a.moveTo(0,d);a.lineTo(g,d);a.lineTo(g,0);a.lineTo(k,0);a.lineTo(k,d);a.lineTo(c,d);a.lineTo(c,b);a.lineTo(k,b);a.lineTo(k,f);a.lineTo(g,f);a.lineTo(g,b);a.lineTo(0,b);a.close();a.end()};mxCellRenderer.registerShape("cross",
+ka);mxUtils.extend(ta,mxActor);ta.prototype.size=.25;ta.prototype.redrawPath=function(a,d,b,c,f){d=Math.min(c,f/2);b=Math.min(c-d,Math.max(0,parseFloat(mxUtils.getValue(this.style,"size",this.size)))*c);a.moveTo(0,f/2);a.lineTo(b,0);a.lineTo(c-d,0);a.quadTo(c,0,c,f/2);a.quadTo(c,f,c-d,f);a.lineTo(b,f);a.close();a.end()};mxCellRenderer.registerShape("display",ta);mxUtils.extend(qa,mxConnector);qa.prototype.origPaintEdgeShape=qa.prototype.paintEdgeShape;qa.prototype.paintEdgeShape=function(a,d,b){for(var c=
+[],f=0;f<d.length;f++)c.push(mxUtils.clone(d[f]));var f=a.state.dashed,k=a.state.fixDash;qa.prototype.origPaintEdgeShape.apply(this,[a,c,b]);3<=a.state.strokeWidth&&(c=mxUtils.getValue(this.style,"fillColor",null),null!=c&&(a.setStrokeColor(c),a.setStrokeWidth(a.state.strokeWidth-2),a.setDashed(f,k),qa.prototype.origPaintEdgeShape.apply(this,[a,d,b])))};mxCellRenderer.registerShape("filledEdge",qa);"undefined"!==typeof StyleFormatPanel&&function(){var a=StyleFormatPanel.prototype.getCustomColors;
+StyleFormatPanel.prototype.getCustomColors=function(){var d=this.format.getSelectionState(),b=a.apply(this,arguments);"umlFrame"==d.style.shape&&b.push({title:mxResources.get("laneColor"),key:"swimlaneFillColor",defaultValue:"#ffffff"});return b}}();mxMarker.addMarker("dash",function(a,d,b,c,f,k,g,e,p,n){var B=f*(g+p+1),x=k*(g+p+1);return function(){a.begin();a.moveTo(c.x-B/2-x/2,c.y-x/2+B/2);a.lineTo(c.x+x/2-3*B/2,c.y-3*x/2-B/2);a.stroke()}});mxMarker.addMarker("cross",function(a,d,b,c,f,k,g,e,p,
+n){var B=f*(g+p+1),x=k*(g+p+1);return function(){a.begin();a.moveTo(c.x-B/2-x/2,c.y-x/2+B/2);a.lineTo(c.x+x/2-3*B/2,c.y-3*x/2-B/2);a.moveTo(c.x-B/2+x/2,c.y-x/2-B/2);a.lineTo(c.x-x/2-3*B/2,c.y-3*x/2+B/2);a.stroke()}});mxMarker.addMarker("circle",ua);mxMarker.addMarker("circlePlus",function(a,d,b,c,f,k,g,e,p,n){var B=c.clone(),x=ua.apply(this,arguments),t=f*(g+2*p),v=k*(g+2*p);return function(){x.apply(this,arguments);a.begin();a.moveTo(B.x-f*p,B.y-k*p);a.lineTo(B.x-2*t+f*p,B.y-2*v+k*p);a.moveTo(B.x-
+t-v+k*p,B.y-v+t-f*p);a.lineTo(B.x+v-t-k*p,B.y-v-t+f*p);a.stroke()}});mxMarker.addMarker("halfCircle",function(a,d,b,c,f,k,g,e,p,n){var B=f*(g+p+1),x=k*(g+p+1),t=c.clone();c.x-=B;c.y-=x;return function(){a.begin();a.moveTo(t.x-x,t.y+B);a.quadTo(c.x-x,c.y+B,c.x,c.y);a.quadTo(c.x+x,c.y-B,t.x+x,t.y-B);a.stroke()}});mxMarker.addMarker("async",function(a,d,b,c,f,k,g,e,p,n){d=f*p*1.118;b=k*p*1.118;f*=g+p;k*=g+p;var B=c.clone();B.x-=d;B.y-=b;c.x+=1*-f-d;c.y+=1*-k-b;return function(){a.begin();a.moveTo(B.x,
+B.y);e?a.lineTo(B.x-f-k/2,B.y-k+f/2):a.lineTo(B.x+k/2-f,B.y-k-f/2);a.lineTo(B.x-f,B.y-k);a.close();n?a.fillAndStroke():a.stroke()}});mxMarker.addMarker("openAsync",function(a){a=null!=a?a:2;return function(d,b,c,f,k,g,e,p,n,B){k*=e+n;g*=e+n;var x=f.clone();return function(){d.begin();d.moveTo(x.x,x.y);p?d.lineTo(x.x-k-g/a,x.y-g+k/a):d.lineTo(x.x+g/a-k,x.y-g-k/a);d.stroke()}}}(2));if("undefined"!==typeof mxVertexHandler){var Ia=function(a,d,b){return Ea(a,["width"],d,function(d,c,f,k,g){g=a.shape.getEdgeWidth()*
+a.view.scale+b;return new mxPoint(k.x+c*d/4+f*g/2,k.y+f*d/4-c*g/2)},function(d,c,f,k,g,e){d=Math.sqrt(mxUtils.ptSegDistSq(k.x,k.y,g.x,g.y,e.x,e.y));a.style.width=Math.round(2*d)/a.view.scale-b})},Ea=function(a,d,b,c,f){return Y(a,d,function(d){var f=a.absolutePoints,k=f.length-1;d=a.view.translate;var g=a.view.scale,e=b?f[0]:f[k],f=b?f[1]:f[k-1],k=f.x-e.x,p=f.y-e.y,n=Math.sqrt(k*k+p*p),e=c.call(this,n,k/n,p/n,e,f);return new mxPoint(e.x/g-d.x,e.y/g-d.y)},function(d,c,k){var g=a.absolutePoints,e=g.length-
+1;d=a.view.translate;var p=a.view.scale,n=b?g[0]:g[e],g=b?g[1]:g[e-1],e=g.x-n.x,B=g.y-n.y,x=Math.sqrt(e*e+B*B);c.x=(c.x+d.x)*p;c.y=(c.y+d.y)*p;f.call(this,x,e/x,B/x,n,g,c,k)})},va=function(a){return function(d){return[Y(d,["arrowWidth","arrowSize"],function(d){var b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"arrowWidth",ba.prototype.arrowWidth))),c=Math.max(0,Math.min(a,mxUtils.getValue(this.state.style,"arrowSize",ba.prototype.arrowSize)));return new mxPoint(d.x+(1-c)*d.width,d.y+(1-
+b)*d.height/2)},function(d,b){this.state.style.arrowWidth=Math.max(0,Math.min(1,Math.abs(d.y+d.height/2-b.y)/d.height*2));this.state.style.arrowSize=Math.max(0,Math.min(a,(d.x+d.width-b.x)/d.width))})]}},Na=function(a,d,b){return function(c){var f=[Y(c,["size"],function(b){var c=Math.max(0,Math.min(b.width,Math.min(b.height,parseFloat(mxUtils.getValue(this.state.style,"size",d)))))*a;return new mxPoint(b.x+c,b.y+c)},function(d,b){this.state.style.size=Math.round(Math.max(0,Math.min(Math.min(d.width,
+b.x-d.x),Math.min(d.height,b.y-d.y)))/a)})];b&&mxUtils.getValue(c.style,mxConstants.STYLE_ROUNDED,!1)&&f.push(sa(c));return f}},Ja=function(a,d,b,c,f){b=null!=b?b:1;return function(k){var g=[Y(k,["size"],function(d){var b=null!=f?"0"!=mxUtils.getValue(this.state.style,"fixedSize","0"):null,c=parseFloat(mxUtils.getValue(this.state.style,"size",b?f:a));return new mxPoint(d.x+Math.max(0,Math.min(d.width,c*(b?1:d.width))),d.getCenterY())},function(a,d,c){var g=null!=f?"0"!=mxUtils.getValue(this.state.style,
+"fixedSize","0"):null;a=g?d.x-a.x:Math.max(0,Math.min(b,(d.x-a.x)/a.width));g&&!mxEvent.isAltDown(c.getEvent())&&(a=k.view.graph.snap(a));this.state.style.size=a},null,c)];d&&mxUtils.getValue(k.style,mxConstants.STYLE_ROUNDED,!1)&&g.push(sa(k));return g}},Oa=function(a){return function(d){var b=[Y(d,["size"],function(d){var b=Math.max(0,Math.min(a,parseFloat(mxUtils.getValue(this.state.style,"size",f.prototype.size))));return new mxPoint(d.x+b*d.width*.75,d.y+d.height/4)},function(d,b){this.state.style.size=
+Math.max(0,Math.min(a,(b.x-d.x)/(.75*d.width)))},null,!0)];mxUtils.getValue(d.style,mxConstants.STYLE_ROUNDED,!1)&&b.push(sa(d));return b}},Fa=function(){return function(a){var d=[];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&d.push(sa(a));return d}},sa=function(a,d){return Y(a,[mxConstants.STYLE_ARCSIZE],function(b){var c=null!=d?d:b.height/8;if("1"==mxUtils.getValue(a.style,mxConstants.STYLE_ABSOLUTE_ARCSIZE,0)){var f=mxUtils.getValue(a.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/
+2;return new mxPoint(b.x+b.width-Math.min(b.width/2,f),b.y+c)}f=Math.max(0,parseFloat(mxUtils.getValue(a.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)))/100;return new mxPoint(b.x+b.width-Math.min(Math.max(b.width/2,b.height/2),Math.min(b.width,b.height)*f),b.y+c)},function(d,b,c){"1"==mxUtils.getValue(a.style,mxConstants.STYLE_ABSOLUTE_ARCSIZE,0)?this.state.style[mxConstants.STYLE_ARCSIZE]=Math.round(Math.max(0,Math.min(d.width,2*(d.x+d.width-b.x)))):this.state.style[mxConstants.STYLE_ARCSIZE]=
+Math.round(Math.min(50,Math.max(0,100*(d.width-b.x+d.x)/Math.min(d.width,d.height))))})},Y=function(a,d,b,c,f,k){var g=new mxHandle(a,null,mxVertexHandler.prototype.secondaryHandleImage);g.execute=function(){for(var a=0;a<d.length;a++)this.copyStyle(d[a])};g.getPosition=b;g.setPosition=c;g.ignoreGrid=null!=f?f:!0;if(k){var e=g.positionChanged;g.positionChanged=function(){e.apply(this,arguments);a.view.invalidate(this.state.cell);a.view.validate()}}return g},Ga={link:function(a){return[Ia(a,!0,10),
+Ia(a,!1,10)]},flexArrow:function(a){var d=a.view.graph.gridSize/a.view.scale,b=[];mxUtils.getValue(a.style,mxConstants.STYLE_STARTARROW,mxConstants.NONE)!=mxConstants.NONE&&(b.push(Ea(a,["width",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!0,function(d,b,c,f,k){d=(a.shape.getEdgeWidth()-a.shape.strokewidth)*a.view.scale;k=3*mxUtils.getNumber(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(f.x+b*(k+a.shape.strokewidth*a.view.scale)+c*d/2,f.y+
+c*(k+a.shape.strokewidth*a.view.scale)-b*d/2)},function(b,c,f,k,g,e,p){b=Math.sqrt(mxUtils.ptSegDistSq(k.x,k.y,g.x,g.y,e.x,e.y));c=mxUtils.ptLineDist(k.x,k.y,k.x+f,k.y-c,e.x,e.y);a.style[mxConstants.STYLE_STARTSIZE]=Math.round(100*(c-a.shape.strokewidth)/3)/100/a.view.scale;a.style.width=Math.round(2*b)/a.view.scale;mxEvent.isControlDown(p.getEvent())&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE]);mxEvent.isAltDown(p.getEvent())||Math.abs(parseFloat(a.style[mxConstants.STYLE_STARTSIZE])-
+parseFloat(a.style[mxConstants.STYLE_ENDSIZE]))<d/6&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE])})),b.push(Ea(a,["startWidth","endWidth",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!0,function(d,b,c,f,k){d=(a.shape.getStartArrowWidth()-a.shape.strokewidth)*a.view.scale;k=3*mxUtils.getNumber(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(f.x+b*(k+a.shape.strokewidth*a.view.scale)+c*d/2,f.y+c*(k+a.shape.strokewidth*
+a.view.scale)-b*d/2)},function(b,c,f,k,g,e,p){b=Math.sqrt(mxUtils.ptSegDistSq(k.x,k.y,g.x,g.y,e.x,e.y));c=mxUtils.ptLineDist(k.x,k.y,k.x+f,k.y-c,e.x,e.y);a.style[mxConstants.STYLE_STARTSIZE]=Math.round(100*(c-a.shape.strokewidth)/3)/100/a.view.scale;a.style.startWidth=Math.max(0,Math.round(2*b)-a.shape.getEdgeWidth())/a.view.scale;mxEvent.isControlDown(p.getEvent())&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE],a.style.endWidth=a.style.startWidth);mxEvent.isAltDown(p.getEvent())||
+(Math.abs(parseFloat(a.style[mxConstants.STYLE_STARTSIZE])-parseFloat(a.style[mxConstants.STYLE_ENDSIZE]))<d/6&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE]),Math.abs(parseFloat(a.style.startWidth)-parseFloat(a.style.endWidth))<d&&(a.style.startWidth=a.style.endWidth))})));mxUtils.getValue(a.style,mxConstants.STYLE_ENDARROW,mxConstants.NONE)!=mxConstants.NONE&&(b.push(Ea(a,["width",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!1,function(d,b,c,f,k){d=(a.shape.getEdgeWidth()-
+a.shape.strokewidth)*a.view.scale;k=3*mxUtils.getNumber(a.style,mxConstants.STYLE_ENDSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(f.x+b*(k+a.shape.strokewidth*a.view.scale)-c*d/2,f.y+c*(k+a.shape.strokewidth*a.view.scale)+b*d/2)},function(b,c,f,k,g,e,p){b=Math.sqrt(mxUtils.ptSegDistSq(k.x,k.y,g.x,g.y,e.x,e.y));c=mxUtils.ptLineDist(k.x,k.y,k.x+f,k.y-c,e.x,e.y);a.style[mxConstants.STYLE_ENDSIZE]=Math.round(100*(c-a.shape.strokewidth)/3)/100/a.view.scale;a.style.width=Math.round(2*
+b)/a.view.scale;mxEvent.isControlDown(p.getEvent())&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE]);mxEvent.isAltDown(p.getEvent())||Math.abs(parseFloat(a.style[mxConstants.STYLE_ENDSIZE])-parseFloat(a.style[mxConstants.STYLE_STARTSIZE]))<d/6&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE])})),b.push(Ea(a,["startWidth","endWidth",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!1,function(d,b,c,f,k){d=(a.shape.getEndArrowWidth()-a.shape.strokewidth)*
+a.view.scale;k=3*mxUtils.getNumber(a.style,mxConstants.STYLE_ENDSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(f.x+b*(k+a.shape.strokewidth*a.view.scale)-c*d/2,f.y+c*(k+a.shape.strokewidth*a.view.scale)+b*d/2)},function(b,c,f,k,g,e,p){b=Math.sqrt(mxUtils.ptSegDistSq(k.x,k.y,g.x,g.y,e.x,e.y));c=mxUtils.ptLineDist(k.x,k.y,k.x+f,k.y-c,e.x,e.y);a.style[mxConstants.STYLE_ENDSIZE]=Math.round(100*(c-a.shape.strokewidth)/3)/100/a.view.scale;a.style.endWidth=Math.max(0,Math.round(2*b)-a.shape.getEdgeWidth())/
+a.view.scale;mxEvent.isControlDown(p.getEvent())&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE],a.style.startWidth=a.style.endWidth);mxEvent.isAltDown(p.getEvent())||(Math.abs(parseFloat(a.style[mxConstants.STYLE_ENDSIZE])-parseFloat(a.style[mxConstants.STYLE_STARTSIZE]))<d/6&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE]),Math.abs(parseFloat(a.style.endWidth)-parseFloat(a.style.startWidth))<d&&(a.style.endWidth=a.style.startWidth))})));return b},
+swimlane:function(a){var d=[Y(a,[mxConstants.STYLE_STARTSIZE],function(d){var b=parseFloat(mxUtils.getValue(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_STARTSIZE));return 1==mxUtils.getValue(a.style,mxConstants.STYLE_HORIZONTAL,1)?new mxPoint(d.getCenterX(),d.y+Math.max(0,Math.min(d.height,b))):new mxPoint(d.x+Math.max(0,Math.min(d.width,b)),d.getCenterY())},function(d,b){a.style[mxConstants.STYLE_STARTSIZE]=1==mxUtils.getValue(this.state.style,mxConstants.STYLE_HORIZONTAL,1)?Math.round(Math.max(0,
+Math.min(d.height,b.y-d.y))):Math.round(Math.max(0,Math.min(d.width,b.x-d.x)))})];if(mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED)){var b=parseFloat(mxUtils.getValue(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_STARTSIZE));d.push(sa(a,b/2))}return d},label:Fa(),ext:Fa(),rectangle:Fa(),triangle:Fa(),rhombus:Fa(),umlLifeline:function(a){return[Y(a,["size"],function(a){var d=Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(this.state.style,"size",F.prototype.size))));return new mxPoint(a.getCenterX(),
+a.y+d)},function(a,d){this.state.style.size=Math.round(Math.max(0,Math.min(a.height,d.y-a.y)))},!1)]},umlFrame:function(a){return[Y(a,["width","height"],function(a){var d=Math.max(G.prototype.corner,Math.min(a.width,mxUtils.getValue(this.state.style,"width",G.prototype.width))),b=Math.max(1.5*G.prototype.corner,Math.min(a.height,mxUtils.getValue(this.state.style,"height",G.prototype.height)));return new mxPoint(a.x+d,a.y+b)},function(a,d){this.state.style.width=Math.round(Math.max(G.prototype.corner,
+Math.min(a.width,d.x-a.x)));this.state.style.height=Math.round(Math.max(1.5*G.prototype.corner,Math.min(a.height,d.y-a.y)))},!1)]},process:function(a){var d=[Y(a,["size"],function(a){var d=Math.max(0,Math.min(.5,parseFloat(mxUtils.getValue(this.state.style,"size",g.prototype.size))));return new mxPoint(a.x+a.width*d,a.y+a.height/4)},function(a,d){this.state.style.size=Math.max(0,Math.min(.5,(d.x-a.x)/a.width))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&d.push(sa(a));return d},cross:function(a){return[Y(a,
+["size"],function(a){var d=Math.min(a.width,a.height),d=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"size",ka.prototype.size)))*d/2;return new mxPoint(a.getCenterX()-d,a.getCenterY()-d)},function(a,d){var b=Math.min(a.width,a.height);this.state.style.size=Math.max(0,Math.min(1,Math.min(Math.max(0,a.getCenterY()-d.y)/b*2,Math.max(0,a.getCenterX()-d.x)/b*2)))})]},note:function(a){return[Y(a,["size"],function(a){var d=Math.max(0,Math.min(a.width,Math.min(a.height,parseFloat(mxUtils.getValue(this.state.style,
+"size",l.prototype.size)))));return new mxPoint(a.x+a.width-d,a.y+d)},function(a,d){this.state.style.size=Math.round(Math.max(0,Math.min(Math.min(a.width,a.x+a.width-d.x),Math.min(a.height,d.y-a.y))))})]},manualInput:function(a){var d=[Y(a,["size"],function(a){var d=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",T.prototype.size)));return new mxPoint(a.x+a.width/4,a.y+3*d/4)},function(a,d){this.state.style.size=Math.round(Math.max(0,Math.min(a.height,4*(d.y-a.y)/3)))})];mxUtils.getValue(a.style,
+mxConstants.STYLE_ROUNDED,!1)&&d.push(sa(a));return d},dataStorage:function(a){return[Y(a,["size"],function(a){var d=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",J.prototype.size))));return new mxPoint(a.x+(1-d)*a.width,a.getCenterY())},function(a,d){this.state.style.size=Math.max(0,Math.min(1,(a.x+a.width-d.x)/a.width))})]},callout:function(a){var d=[Y(a,["size","position"],function(a){var d=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",v.prototype.size))),
+b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position",v.prototype.position)));mxUtils.getValue(this.state.style,"base",v.prototype.base);return new mxPoint(a.x+b*a.width,a.y+a.height-d)},function(a,d){mxUtils.getValue(this.state.style,"base",v.prototype.base);this.state.style.size=Math.round(Math.max(0,Math.min(a.height,a.y+a.height-d.y)));this.state.style.position=Math.round(100*Math.max(0,Math.min(1,(d.x-a.x)/a.width)))/100}),Y(a,["position2"],function(a){var d=Math.max(0,Math.min(1,
+mxUtils.getValue(this.state.style,"position2",v.prototype.position2)));return new mxPoint(a.x+d*a.width,a.y+a.height)},function(a,d){this.state.style.position2=Math.round(100*Math.max(0,Math.min(1,(d.x-a.x)/a.width)))/100}),Y(a,["base"],function(a){var d=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",v.prototype.size))),b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position",v.prototype.position))),c=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,
+"base",v.prototype.base)));return new mxPoint(a.x+Math.min(a.width,b*a.width+c),a.y+a.height-d)},function(a,d){var b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position",v.prototype.position)));this.state.style.base=Math.round(Math.max(0,Math.min(a.width,d.x-a.x-b*a.width)))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&d.push(sa(a));return d},internalStorage:function(a){var d=[Y(a,["dx","dy"],function(a){var d=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,
+"dx",U.prototype.dx))),b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"dy",U.prototype.dy)));return new mxPoint(a.x+d,a.y+b)},function(a,d){this.state.style.dx=Math.round(Math.max(0,Math.min(a.width,d.x-a.x)));this.state.style.dy=Math.round(Math.max(0,Math.min(a.height,d.y-a.y)))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&d.push(sa(a));return d},corner:function(a){return[Y(a,["dx","dy"],function(a){var d=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,
+"dx",da.prototype.dx))),b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"dy",da.prototype.dy)));return new mxPoint(a.x+d,a.y+b)},function(a,d){this.state.style.dx=Math.round(Math.max(0,Math.min(a.width,d.x-a.x)));this.state.style.dy=Math.round(Math.max(0,Math.min(a.height,d.y-a.y)))})]},tee:function(a){return[Y(a,["dx","dy"],function(a){var d=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"dx",R.prototype.dx))),b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,
+"dy",R.prototype.dy)));return new mxPoint(a.x+(a.width+d)/2,a.y+b)},function(a,d){this.state.style.dx=Math.round(Math.max(0,2*Math.min(a.width/2,d.x-a.x-a.width/2)));this.state.style.dy=Math.round(Math.max(0,Math.min(a.height,d.y-a.y)))})]},singleArrow:va(1),doubleArrow:va(.5),folder:function(a){return[Y(a,["tabWidth","tabHeight"],function(a){var d=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"tabWidth",q.prototype.tabWidth))),b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,
+"tabHeight",q.prototype.tabHeight)));mxUtils.getValue(this.state.style,"tabPosition",q.prototype.tabPosition)==mxConstants.ALIGN_RIGHT&&(d=a.width-d);return new mxPoint(a.x+d,a.y+b)},function(a,d){var b=Math.max(0,Math.min(a.width,d.x-a.x));mxUtils.getValue(this.state.style,"tabPosition",q.prototype.tabPosition)==mxConstants.ALIGN_RIGHT&&(b=a.width-b);this.state.style.tabWidth=Math.round(b);this.state.style.tabHeight=Math.round(Math.max(0,Math.min(a.height,d.y-a.y)))})]},document:function(a){return[Y(a,
+["size"],function(a){var d=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",C.prototype.size))));return new mxPoint(a.x+3*a.width/4,a.y+(1-d)*a.height)},function(a,d){this.state.style.size=Math.max(0,Math.min(1,(a.y+a.height-d.y)/a.height))})]},tape:function(a){return[Y(a,["size"],function(a){var d=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",z.prototype.size))));return new mxPoint(a.getCenterX(),a.y+d*a.height/2)},function(a,d){this.state.style.size=
+Math.max(0,Math.min(1,(d.y-a.y)/a.height*2))})]},offPageConnector:function(a){return[Y(a,["size"],function(a){var d=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",ha.prototype.size))));return new mxPoint(a.getCenterX(),a.y+(1-d)*a.height)},function(a,d){this.state.style.size=Math.max(0,Math.min(1,(a.y+a.height-d.y)/a.height))})]},step:Ja(t.prototype.size,!0,null,!0,t.prototype.fixedSize),hexagon:Ja(E.prototype.size,!0,.5,!0),curlyBracket:Ja(k.prototype.size,!1),display:Ja(ta.prototype.size,
 !1),cube:Na(1,a.prototype.size,!1),card:Na(.5,u.prototype.size,!0),loopLimit:Na(.5,X.prototype.size,!0),trapezoid:Oa(.5),parallelogram:Oa(1)};Graph.createHandle=Y;Graph.handleFactory=Ga;mxVertexHandler.prototype.createCustomHandles=function(){if(1==this.state.view.graph.getSelectionCount()&&this.graph.isCellRotatable(this.state.cell)){var a=this.state.style.shape;null==mxCellRenderer.defaultShapes[a]&&null==mxStencilRegistry.getStencil(a)&&(a=mxConstants.SHAPE_RECTANGLE);a=Ga[a];null==a&&null!=this.state.shape&&
 this.state.shape.isRoundable()&&(a=Ga[mxConstants.SHAPE_RECTANGLE]);if(null!=a)return a(this.state)}return null};mxEdgeHandler.prototype.createCustomHandles=function(){if(1==this.state.view.graph.getSelectionCount()){var a=this.state.style.shape;null==mxCellRenderer.defaultShapes[a]&&null==mxStencilRegistry.getStencil(a)&&(a=mxConstants.SHAPE_CONNECTOR);a=Ga[a];if(null!=a)return a(this.state)}return null}}else Graph.createHandle=function(){},Graph.handleFactory={};var Ka=new mxPoint(1,0),La=new mxPoint(1,
-0),va=mxUtils.toRadians(-30),Ka=mxUtils.getRotatedPoint(Ka,Math.cos(va),Math.sin(va)),va=mxUtils.toRadians(-150),La=mxUtils.getRotatedPoint(La,Math.cos(va),Math.sin(va));mxEdgeStyle.IsometricConnector=function(a,c,b,e,d){var k=a.view;e=null!=e&&0<e.length?e[0]:null;var g=a.absolutePoints,f=g[0],g=g[g.length-1];null!=e&&(e=k.transformControlPoint(a,e));null==f&&null!=c&&(f=new mxPoint(c.getCenterX(),c.getCenterY()));null==g&&null!=b&&(g=new mxPoint(b.getCenterX(),b.getCenterY()));var p=Ka.x,n=Ka.y,
-B=La.x,x=La.y,t="horizontal"==mxUtils.getValue(a.style,"elbow","horizontal");if(null!=g&&null!=f){a=function(a,c,b){a-=v.x;var e=c-v.y;c=(x*a-B*e)/(p*x-n*B);a=(n*a-p*e)/(n*B-p*x);t?(b&&(v=new mxPoint(v.x+p*c,v.y+n*c),d.push(v)),v=new mxPoint(v.x+B*a,v.y+x*a)):(b&&(v=new mxPoint(v.x+B*a,v.y+x*a),d.push(v)),v=new mxPoint(v.x+p*c,v.y+n*c));d.push(v)};var v=f;null==e&&(e=new mxPoint(f.x+(g.x-f.x)/2,f.y+(g.y-f.y)/2));a(e.x,e.y,!0);a(g.x,g.y,!1)}};mxStyleRegistry.putValue("isometricEdgeStyle",mxEdgeStyle.IsometricConnector);
-var Pa=Graph.prototype.createEdgeHandler;Graph.prototype.createEdgeHandler=function(a,c){if(c==mxEdgeStyle.IsometricConnector){var b=new mxElbowEdgeHandler(a);b.snapToTerminals=!1;return b}return Pa.apply(this,arguments)};b.prototype.constraints=[];f.prototype.getConstraints=function(a,c,b){a=[];var e=Math.tan(mxUtils.toRadians(30)),d=(.5-e)/2,e=Math.min(c,b/(.5+e));c=(c-e)/2;b=(b-e)/2;a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,b+.25*e));a.push(new mxConnectionConstraint(new mxPoint(0,
-0),!1,null,c+.5*e,b+e*d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c+e,b+.25*e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c+e,b+.75*e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c+.5*e,b+(1-d)*e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,b+.75*e));return a};v.prototype.getConstraints=function(a,c,b){a=[];mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE);var e=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,
-"size",this.size))));parseFloat(mxUtils.getValue(this.style,"position",this.position));var d=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"position2",this.position2))));parseFloat(mxUtils.getValue(this.style,"base",this.base));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.25,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.75,0),!1));a.push(new mxConnectionConstraint(new mxPoint(1,
-0),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,.5*(b-e)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,b-e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,b-e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*(b-e)));c>=2*e&&a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return a};mxRectangleShape.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,
+0),va=mxUtils.toRadians(-30),Ka=mxUtils.getRotatedPoint(Ka,Math.cos(va),Math.sin(va)),va=mxUtils.toRadians(-150),La=mxUtils.getRotatedPoint(La,Math.cos(va),Math.sin(va));mxEdgeStyle.IsometricConnector=function(a,d,b,c,f){var k=a.view;c=null!=c&&0<c.length?c[0]:null;var g=a.absolutePoints,e=g[0],g=g[g.length-1];null!=c&&(c=k.transformControlPoint(a,c));null==e&&null!=d&&(e=new mxPoint(d.getCenterX(),d.getCenterY()));null==g&&null!=b&&(g=new mxPoint(b.getCenterX(),b.getCenterY()));var p=Ka.x,n=Ka.y,
+B=La.x,x=La.y,t="horizontal"==mxUtils.getValue(a.style,"elbow","horizontal");if(null!=g&&null!=e){a=function(a,d,b){a-=v.x;var c=d-v.y;d=(x*a-B*c)/(p*x-n*B);a=(n*a-p*c)/(n*B-p*x);t?(b&&(v=new mxPoint(v.x+p*d,v.y+n*d),f.push(v)),v=new mxPoint(v.x+B*a,v.y+x*a)):(b&&(v=new mxPoint(v.x+B*a,v.y+x*a),f.push(v)),v=new mxPoint(v.x+p*d,v.y+n*d));f.push(v)};var v=e;null==c&&(c=new mxPoint(e.x+(g.x-e.x)/2,e.y+(g.y-e.y)/2));a(c.x,c.y,!0);a(g.x,g.y,!1)}};mxStyleRegistry.putValue("isometricEdgeStyle",mxEdgeStyle.IsometricConnector);
+var Pa=Graph.prototype.createEdgeHandler;Graph.prototype.createEdgeHandler=function(a,d){if(d==mxEdgeStyle.IsometricConnector){var b=new mxElbowEdgeHandler(a);b.snapToTerminals=!1;return b}return Pa.apply(this,arguments)};b.prototype.constraints=[];e.prototype.getConstraints=function(a,d,b){a=[];var c=Math.tan(mxUtils.toRadians(30)),f=(.5-c)/2,c=Math.min(d,b/(.5+c));d=(d-c)/2;b=(b-c)/2;a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,b+.25*c));a.push(new mxConnectionConstraint(new mxPoint(0,
+0),!1,null,d+.5*c,b+c*f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d+c,b+.25*c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d+c,b+.75*c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d+.5*c,b+(1-f)*c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,b+.75*c));return a};v.prototype.getConstraints=function(a,d,b){a=[];mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE);var c=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,
+"size",this.size))));parseFloat(mxUtils.getValue(this.style,"position",this.position));var f=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"position2",this.position2))));parseFloat(mxUtils.getValue(this.style,"base",this.base));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.25,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.75,0),!1));a.push(new mxConnectionConstraint(new mxPoint(1,
+0),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,.5*(b-c)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,b-c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,f,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,b-c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*(b-c)));d>=2*c&&a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return a};mxRectangleShape.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,
 0),!0),new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(1,0),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),
 new mxConnectionConstraint(new mxPoint(0,1),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0),new mxConnectionConstraint(new mxPoint(1,1),!0)];mxEllipse.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!0),new mxConnectionConstraint(new mxPoint(1,0),!0),new mxConnectionConstraint(new mxPoint(0,1),!0),new mxConnectionConstraint(new mxPoint(1,1),!0),new mxConnectionConstraint(new mxPoint(.5,
-0),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(1,.5))];mxLabel.prototype.constraints=mxRectangleShape.prototype.constraints;mxImageShape.prototype.constraints=mxRectangleShape.prototype.constraints;mxSwimlane.prototype.constraints=mxRectangleShape.prototype.constraints;y.prototype.constraints=mxRectangleShape.prototype.constraints;l.prototype.getConstraints=function(a,c,b){a=[];var e=Math.max(0,Math.min(c,
-Math.min(b,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(c-e),0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c-e,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c-.5*e,.5*e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,.5*(b+e)));a.push(new mxConnectionConstraint(new mxPoint(1,
-1),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));c>=2*e&&a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return a};u.prototype.getConstraints=function(a,c,b){a=[];var e=Math.max(0,Math.min(c,Math.min(b,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));a.push(new mxConnectionConstraint(new mxPoint(1,0),!1));a.push(new mxConnectionConstraint(new mxPoint(0,
-0),!1,null,.5*(c+e),0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,e,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*e,.5*e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*(b+e)));a.push(new mxConnectionConstraint(new mxPoint(0,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(1,1),!1));a.push(new mxConnectionConstraint(new mxPoint(1,
-.5),!1));c>=2*e&&a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return a};a.prototype.getConstraints=function(a,c,b){a=[];var e=Math.max(0,Math.min(c,Math.min(b,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(c-e),0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c-e,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c-.5*e,.5*e));a.push(new mxConnectionConstraint(new mxPoint(0,
-0),!1,null,c,e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,.5*(b+e)));a.push(new mxConnectionConstraint(new mxPoint(1,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(c+e),b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,e,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*e,b-.5*e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,b-e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*(b-e)));return a};
-q.prototype.getConstraints=function(a,c,b){a=[];var e=Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style,"tabWidth",this.tabWidth)))),d=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"tabHeight",this.tabHeight))));"left"==mxUtils.getValue(this.style,"tabPosition",this.tabPosition)?(a.push(new mxConnectionConstraint(new mxPoint(0,0),!1)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*e,0)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,e,0)),a.push(new mxConnectionConstraint(new mxPoint(0,
-0),!1,null,e,d)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(c+e),d))):(a.push(new mxConnectionConstraint(new mxPoint(1,0),!1)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c-.5*e,0)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c-e,0)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c-e,d)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(c-e),d)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,d));a.push(new mxConnectionConstraint(new mxPoint(0,
-0),!1,null,c,.25*(b-d)+d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,.5*(b-d)+d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,.75*(b-d)+d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.25*(b-d)+d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*(b-d)+d));a.push(new mxConnectionConstraint(new mxPoint(0,
-0),!1,null,0,.75*(b-d)+d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,b));a.push(new mxConnectionConstraint(new mxPoint(.25,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.75,1),!1));return a};U.prototype.constraints=mxRectangleShape.prototype.constraints;J.prototype.constraints=mxRectangleShape.prototype.constraints;la.prototype.constraints=mxEllipse.prototype.constraints;K.prototype.constraints=mxEllipse.prototype.constraints;
-oa.prototype.constraints=mxEllipse.prototype.constraints;za.prototype.constraints=mxEllipse.prototype.constraints;T.prototype.constraints=mxRectangleShape.prototype.constraints;pa.prototype.constraints=mxRectangleShape.prototype.constraints;ta.prototype.getConstraints=function(a,c,b){a=[];var e=Math.min(c,b/2),d=Math.min(c-e,Math.max(0,parseFloat(mxUtils.getValue(this.style,"size",this.size)))*c);a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1,null));a.push(new mxConnectionConstraint(new mxPoint(0,
-0),!1,null,d,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(d+c-e),0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c-e,0));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1,null));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c-e,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(d+c-e),b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,b));return a};X.prototype.constraints=mxRectangleShape.prototype.constraints;ha.prototype.constraints=
+0),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(1,.5))];mxLabel.prototype.constraints=mxRectangleShape.prototype.constraints;mxImageShape.prototype.constraints=mxRectangleShape.prototype.constraints;mxSwimlane.prototype.constraints=mxRectangleShape.prototype.constraints;y.prototype.constraints=mxRectangleShape.prototype.constraints;l.prototype.getConstraints=function(a,d,b){a=[];var c=Math.max(0,Math.min(d,
+Math.min(b,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(d-c),0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-c,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-.5*c,.5*c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,.5*(b+c)));a.push(new mxConnectionConstraint(new mxPoint(1,
+1),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));d>=2*c&&a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return a};u.prototype.getConstraints=function(a,d,b){a=[];var c=Math.max(0,Math.min(d,Math.min(b,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));a.push(new mxConnectionConstraint(new mxPoint(1,0),!1));a.push(new mxConnectionConstraint(new mxPoint(0,
+0),!1,null,.5*(d+c),0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*c,.5*c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*(b+c)));a.push(new mxConnectionConstraint(new mxPoint(0,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(1,1),!1));a.push(new mxConnectionConstraint(new mxPoint(1,
+.5),!1));d>=2*c&&a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return a};a.prototype.getConstraints=function(a,d,b){a=[];var c=Math.max(0,Math.min(d,Math.min(b,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(d-c),0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-c,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-.5*c,.5*c));a.push(new mxConnectionConstraint(new mxPoint(0,
+0),!1,null,d,c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,.5*(b+c)));a.push(new mxConnectionConstraint(new mxPoint(1,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(d+c),b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*c,b-.5*c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,b-c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*(b-c)));return a};
+q.prototype.getConstraints=function(a,d,b){a=[];var c=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"tabWidth",this.tabWidth)))),f=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"tabHeight",this.tabHeight))));"left"==mxUtils.getValue(this.style,"tabPosition",this.tabPosition)?(a.push(new mxConnectionConstraint(new mxPoint(0,0),!1)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*c,0)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,0)),a.push(new mxConnectionConstraint(new mxPoint(0,
+0),!1,null,c,f)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(d+c),f))):(a.push(new mxConnectionConstraint(new mxPoint(1,0),!1)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-.5*c,0)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-c,0)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-c,f)),a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(d-c),f)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,f));a.push(new mxConnectionConstraint(new mxPoint(0,
+0),!1,null,d,.25*(b-f)+f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,.5*(b-f)+f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,.75*(b-f)+f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.25*(b-f)+f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*(b-f)+f));a.push(new mxConnectionConstraint(new mxPoint(0,
+0),!1,null,0,.75*(b-f)+f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,b));a.push(new mxConnectionConstraint(new mxPoint(.25,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(.75,1),!1));return a};U.prototype.constraints=mxRectangleShape.prototype.constraints;J.prototype.constraints=mxRectangleShape.prototype.constraints;la.prototype.constraints=mxEllipse.prototype.constraints;L.prototype.constraints=mxEllipse.prototype.constraints;
+oa.prototype.constraints=mxEllipse.prototype.constraints;za.prototype.constraints=mxEllipse.prototype.constraints;T.prototype.constraints=mxRectangleShape.prototype.constraints;pa.prototype.constraints=mxRectangleShape.prototype.constraints;ta.prototype.getConstraints=function(a,d,b){a=[];var c=Math.min(d,b/2),f=Math.min(d-c,Math.max(0,parseFloat(mxUtils.getValue(this.style,"size",this.size)))*d);a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1,null));a.push(new mxConnectionConstraint(new mxPoint(0,
+0),!1,null,f,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(f+d-c),0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-c,0));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1,null));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-c,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(f+d-c),b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,f,b));return a};X.prototype.constraints=mxRectangleShape.prototype.constraints;ha.prototype.constraints=
 mxRectangleShape.prototype.constraints;mxCylinder.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.15,.05),!1),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.85,.05),!1),new mxConnectionConstraint(new mxPoint(0,.3),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.7),!0),new mxConnectionConstraint(new mxPoint(1,.3),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,
 .7),!0),new mxConnectionConstraint(new mxPoint(.15,.95),!1),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.85,.95),!1)];B.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,.1),!1),new mxConnectionConstraint(new mxPoint(.5,0),!1),new mxConnectionConstraint(new mxPoint(.75,.1),!1),new mxConnectionConstraint(new mxPoint(0,1/3),!1),new mxConnectionConstraint(new mxPoint(0,1),!1),new mxConnectionConstraint(new mxPoint(1,1/3),!1),new mxConnectionConstraint(new mxPoint(1,
 1),!1),new mxConnectionConstraint(new mxPoint(.5,.5),!1)];H.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(0,.3),!0),new mxConnectionConstraint(new mxPoint(0,.7),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.25,
@@ -2664,145 +2667,145 @@ mxRectangleShape.prototype.constraints;mxCylinder.prototype.constraints=[new mxC
 1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0)];m.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!1),new mxConnectionConstraint(new mxPoint(.5,.25),!1),new mxConnectionConstraint(new mxPoint(1,0),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.75,.5),!1),new mxConnectionConstraint(new mxPoint(0,1),!1),new mxConnectionConstraint(new mxPoint(.5,.75),!1),new mxConnectionConstraint(new mxPoint(1,
 1),!1)];z.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.35),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,.65),!1),new mxConnectionConstraint(new mxPoint(1,.35),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(1,.65),!1),new mxConnectionConstraint(new mxPoint(.25,1),!1),new mxConnectionConstraint(new mxPoint(.75,0),!1)];t.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),
 !0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,
-.75),!0)];mxLine.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.75,.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1)];O.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.5,0),!1),new mxConnectionConstraint(new mxPoint(.5,1),!1)];mxDoubleEllipse.prototype.constraints=mxEllipse.prototype.constraints;mxRhombus.prototype.constraints=mxEllipse.prototype.constraints;mxTriangle.prototype.constraints=
+.75),!0)];mxLine.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.75,.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1)];P.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.5,0),!1),new mxConnectionConstraint(new mxPoint(.5,1),!1)];mxDoubleEllipse.prototype.constraints=mxEllipse.prototype.constraints;mxRhombus.prototype.constraints=mxEllipse.prototype.constraints;mxTriangle.prototype.constraints=
 [new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0)];mxHexagon.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.375,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.625,0),!0),new mxConnectionConstraint(new mxPoint(0,
 .25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.375,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.625,1),!0)];mxCloud.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,.25),!1),new mxConnectionConstraint(new mxPoint(.4,
 .1),!1),new mxConnectionConstraint(new mxPoint(.16,.55),!1),new mxConnectionConstraint(new mxPoint(.07,.4),!1),new mxConnectionConstraint(new mxPoint(.31,.8),!1),new mxConnectionConstraint(new mxPoint(.13,.77),!1),new mxConnectionConstraint(new mxPoint(.8,.8),!1),new mxConnectionConstraint(new mxPoint(.55,.95),!1),new mxConnectionConstraint(new mxPoint(.875,.5),!1),new mxConnectionConstraint(new mxPoint(.96,.7),!1),new mxConnectionConstraint(new mxPoint(.625,.2),!1),new mxConnectionConstraint(new mxPoint(.88,
-.25),!1)];c.prototype.constraints=mxRectangleShape.prototype.constraints;e.prototype.constraints=mxRectangleShape.prototype.constraints;C.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),
-!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0)];mxArrow.prototype.constraints=null;R.prototype.getConstraints=function(a,c,b){a=[];var e=Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style,"dx",this.dx)))),d=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(1,
-0),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,.5*d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.75*c+.25*e,d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(c+e),d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(c+e),.5*(b+d)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(c+e),b));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0,
-0),!1,null,.5*(c-e),b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(c-e),.5*(b+d)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(c-e),d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.25*c-.25*e,d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*d));return a};da.prototype.getConstraints=function(a,c,b){a=[];var e=Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style,
-"dx",this.dx)))),d=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(1,0),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,.5*d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(c+e),d));a.push(new mxConnectionConstraint(new mxPoint(0,
-0),!1,null,e,d));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,e,.5*(b+d)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,e,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*e,b));a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,1),!1));return a};na.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,
-1),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.5,.5),!1),new mxConnectionConstraint(new mxPoint(.75,.5),!1),new mxConnectionConstraint(new mxPoint(1,0),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(1,1),!1)];ba.prototype.getConstraints=function(a,c,b){a=[];var e=b*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",this.arrowWidth)))),d=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,
-"arrowSize",this.arrowSize)))),e=(b-e)/2;a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(c-d),e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c-d,0));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c-d,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(c-d),b-e));a.push(new mxConnectionConstraint(new mxPoint(0,
-0),!1,null,0,b-e));return a};M.prototype.getConstraints=function(a,c,b){a=[];var e=b*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",ba.prototype.arrowWidth)))),d=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",ba.prototype.arrowSize)))),e=(b-e)/2;a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*c,e));a.push(new mxConnectionConstraint(new mxPoint(0,
-0),!1,null,c-d,0));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c-d,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*c,b-e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,b));return a};ka.prototype.getConstraints=function(a,c,b){a=[];var e=Math.min(b,c),d=Math.max(0,Math.min(e,e*parseFloat(mxUtils.getValue(this.style,"size",this.size)))),e=(b-d)/2,k=e+d,g=(c-d)/2,d=g+d;a.push(new mxConnectionConstraint(new mxPoint(0,
-0),!1,null,g,.5*e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,g,0));a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,.5*e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,g,b-.5*e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,g,b));a.push(new mxConnectionConstraint(new mxPoint(.5,
-1),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,b-.5*e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,k));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(c+d),e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,e));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,k));a.push(new mxConnectionConstraint(new mxPoint(0,
-0),!1,null,.5*(c+d),k));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,g,k));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*g,e));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,e));a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,k));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*g,k));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,g,e));return a};F.prototype.constraints=
-null;ja.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.25),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,.75),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(.7,.1),!1),new mxConnectionConstraint(new mxPoint(.7,.9),!1)];N.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.175,.25),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.175,
+.25),!1)];d.prototype.constraints=mxRectangleShape.prototype.constraints;f.prototype.constraints=mxRectangleShape.prototype.constraints;C.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),
+!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0)];mxArrow.prototype.constraints=null;R.prototype.getConstraints=function(a,d,b){a=[];var c=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"dx",this.dx)))),f=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(1,
+0),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,.5*f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.75*d+.25*c,f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(d+c),f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(d+c),.5*(b+f)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(d+c),b));a.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));a.push(new mxConnectionConstraint(new mxPoint(0,
+0),!1,null,.5*(d-c),b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(d-c),.5*(b+f)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(d-c),f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.25*d-.25*c,f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*f));return a};da.prototype.getConstraints=function(a,d,b){a=[];var c=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,
+"dx",this.dx)))),f=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1));a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(1,0),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,.5*f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(d+c),f));a.push(new mxConnectionConstraint(new mxPoint(0,
+0),!1,null,c,f));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,.5*(b+f)));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,c,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*c,b));a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,1),!1));return a};na.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,
+1),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.5,.5),!1),new mxConnectionConstraint(new mxPoint(.75,.5),!1),new mxConnectionConstraint(new mxPoint(1,0),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(1,1),!1)];ba.prototype.getConstraints=function(a,d,b){a=[];var c=b*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",this.arrowWidth)))),f=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,
+"arrowSize",this.arrowSize)))),c=(b-c)/2;a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(d-f),c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-f,0));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-f,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(d-f),b-c));a.push(new mxConnectionConstraint(new mxPoint(0,
+0),!1,null,0,b-c));return a};N.prototype.getConstraints=function(a,d,b){a=[];var c=b*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",ba.prototype.arrowWidth)))),f=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",ba.prototype.arrowSize)))),c=(b-c)/2;a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,f,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*d,c));a.push(new mxConnectionConstraint(new mxPoint(0,
+0),!1,null,d-f,0));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d-f,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*d,b-c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,f,b));return a};ka.prototype.getConstraints=function(a,d,b){a=[];var c=Math.min(b,d),f=Math.max(0,Math.min(c,c*parseFloat(mxUtils.getValue(this.style,"size",this.size)))),c=(b-f)/2,k=c+f,g=(d-f)/2,f=g+f;a.push(new mxConnectionConstraint(new mxPoint(0,
+0),!1,null,g,.5*c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,g,0));a.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,f,0));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,f,.5*c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,f,c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,g,b-.5*c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,g,b));a.push(new mxConnectionConstraint(new mxPoint(.5,
+1),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,f,b));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,f,b-.5*c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,f,k));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(d+f),c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,c));a.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,d,k));a.push(new mxConnectionConstraint(new mxPoint(0,
+0),!1,null,.5*(d+f),k));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,g,k));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*g,c));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,c));a.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,k));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*g,k));a.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,g,c));return a};F.prototype.constraints=
+null;ja.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.25),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,.75),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(.7,.1),!1),new mxConnectionConstraint(new mxPoint(.7,.9),!1)];O.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.175,.25),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.175,
 .75),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(.7,.1),!1),new mxConnectionConstraint(new mxPoint(.7,.9),!1)];aa.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1)];W.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1)]})();function Actions(a){this.editorUi=a;this.actions={};this.init()}
-Actions.prototype.init=function(){function a(a){d.escape();var b=d.getDeletableCells(d.getSelectionCells());if(null!=b&&0<b.length){var f=d.selectParentAfterDelete?d.model.getParents(b):null;d.removeCells(b,a);if(null!=f){a=[];for(b=0;b<f.length;b++)d.model.contains(f[b])&&(d.model.isVertex(f[b])||d.model.isEdge(f[b]))&&a.push(f[b]);d.setSelectionCells(a)}}}var b=this.editorUi,f=b.editor,d=f.graph,l=function(){return Action.prototype.isEnabled.apply(this,arguments)&&d.isEnabled()};this.addAction("new...",
-function(){d.openLink(b.getUrl())});this.addAction("open...",function(){window.openNew=!0;window.openKey="open";b.openFile()});this.addAction("import...",function(){window.openNew=!1;window.openKey="import";window.openFile=new OpenFile(mxUtils.bind(this,function(){b.hideDialog()}));window.openFile.setConsumer(mxUtils.bind(this,function(a,b){try{var d=mxUtils.parseXml(a);f.graph.setSelectionCells(f.graph.importGraphModel(d.documentElement))}catch(c){mxUtils.alert(mxResources.get("invalidOrMissingFile")+
-": "+c.message)}}));b.showDialog((new OpenDialog(this)).container,320,220,!0,!0,function(){window.openFile=null})}).isEnabled=l;this.addAction("save",function(){b.saveFile(!1)},null,null,Editor.ctrlKey+"+S").isEnabled=l;this.addAction("saveAs...",function(){b.saveFile(!0)},null,null,Editor.ctrlKey+"+Shift+S").isEnabled=l;this.addAction("export...",function(){b.showDialog((new ExportDialog(b)).container,300,296,!0,!0)});this.addAction("editDiagram...",function(){var a=new EditDiagramDialog(b);b.showDialog(a.container,
-620,420,!0,!1);a.init()});this.addAction("pageSetup...",function(){b.showDialog((new PageSetupDialog(b)).container,320,220,!0,!0)}).isEnabled=l;this.addAction("print...",function(){b.showDialog((new PrintDialog(b)).container,300,180,!0,!0)},null,"sprite-print",Editor.ctrlKey+"+P");this.addAction("preview",function(){mxUtils.show(d,null,10,10)});this.addAction("undo",function(){b.undo()},null,"sprite-undo",Editor.ctrlKey+"+Z");this.addAction("redo",function(){b.redo()},null,"sprite-redo",mxClient.IS_WIN?
-Editor.ctrlKey+"+Y":Editor.ctrlKey+"+Shift+Z");this.addAction("cut",function(){mxClipboard.cut(d)},null,"sprite-cut",Editor.ctrlKey+"+X");this.addAction("copy",function(){try{mxClipboard.copy(d)}catch(u){b.handleError(u)}},null,"sprite-copy",Editor.ctrlKey+"+C");this.addAction("paste",function(){d.isEnabled()&&!d.isCellLocked(d.getDefaultParent())&&mxClipboard.paste(d)},!1,"sprite-paste",Editor.ctrlKey+"+V");this.addAction("pasteHere",function(a){if(d.isEnabled()&&!d.isCellLocked(d.getDefaultParent())){d.getModel().beginUpdate();
-try{var b=mxClipboard.paste(d);if(null!=b){a=!0;for(var f=0;f<b.length&&a;f++)a=a&&d.model.isEdge(b[f]);var c=d.view.translate,e=d.view.scale,k=c.x,x=c.y,c=null;if(1==b.length&&a){var n=d.getCellGeometry(b[0]);null!=n&&(c=n.getTerminalPoint(!0))}c=null!=c?c:d.getBoundingBoxFromGeometry(b,a);if(null!=c){var g=Math.round(d.snap(d.popupMenuHandler.triggerX/e-k)),A=Math.round(d.snap(d.popupMenuHandler.triggerY/e-x));d.cellsMoved(b,g-c.x,A-c.y)}}}finally{d.getModel().endUpdate()}}});this.addAction("copySize",
-function(a){a=d.getSelectionCell();d.isEnabled()&&null!=a&&d.getModel().isVertex(a)&&(a=d.getCellGeometry(a),null!=a&&(b.copiedSize=new mxRectangle(a.x,a.y,a.width,a.height)))},null,null,"Alt+Shift+X");this.addAction("pasteSize",function(a){if(d.isEnabled()&&!d.isSelectionEmpty()&&null!=b.copiedSize){d.getModel().beginUpdate();try{var f=d.getSelectionCells();for(a=0;a<f.length;a++)if(d.getModel().isVertex(f[a])){var l=d.getCellGeometry(f[a]);null!=l&&(l=l.clone(),l.width=b.copiedSize.width,l.height=
-b.copiedSize.height,d.getModel().setGeometry(f[a],l))}}finally{d.getModel().endUpdate()}}},null,null,"Alt+Shift+V");this.addAction("delete",function(b){a(null!=b&&mxEvent.isShiftDown(b))},null,null,"Delete");this.addAction("deleteAll",function(){a(!0)},null,null,Editor.ctrlKey+"+Delete");this.addAction("duplicate",function(){try{d.setSelectionCells(d.duplicateCells())}catch(u){b.handleError(u)}},null,null,Editor.ctrlKey+"+D");this.put("turn",new Action(mxResources.get("turn")+" / "+mxResources.get("reverse"),
-function(){d.turnShapes(d.getSelectionCells())},null,null,Editor.ctrlKey+"+R"));this.addAction("selectVertices",function(){d.selectVertices(null,!0)},null,null,Editor.ctrlKey+"+Shift+I");this.addAction("selectEdges",function(){d.selectEdges()},null,null,Editor.ctrlKey+"+Shift+E");this.addAction("selectAll",function(){d.selectAll(null,!0)},null,null,Editor.ctrlKey+"+A");this.addAction("selectNone",function(){d.clearSelection()},null,null,Editor.ctrlKey+"+Shift+A");this.addAction("lockUnlock",function(){if(!d.isSelectionEmpty()){d.getModel().beginUpdate();
-try{var a=d.isCellMovable(d.getSelectionCell())?1:0;d.toggleCellStyles(mxConstants.STYLE_MOVABLE,a);d.toggleCellStyles(mxConstants.STYLE_RESIZABLE,a);d.toggleCellStyles(mxConstants.STYLE_ROTATABLE,a);d.toggleCellStyles(mxConstants.STYLE_DELETABLE,a);d.toggleCellStyles(mxConstants.STYLE_EDITABLE,a);d.toggleCellStyles("connectable",a)}finally{d.getModel().endUpdate()}}},null,null,Editor.ctrlKey+"+L");this.addAction("home",function(){d.home()},null,null,"Home");this.addAction("exitGroup",function(){d.exitGroup()},
-null,null,Editor.ctrlKey+"+Shift+Home");this.addAction("enterGroup",function(){d.enterGroup()},null,null,Editor.ctrlKey+"+Shift+End");this.addAction("collapse",function(){d.foldCells(!0)},null,null,Editor.ctrlKey+"+Home");this.addAction("expand",function(){d.foldCells(!1)},null,null,Editor.ctrlKey+"+End");this.addAction("toFront",function(){d.orderCells(!1)},null,null,Editor.ctrlKey+"+Shift+F");this.addAction("toBack",function(){d.orderCells(!0)},null,null,Editor.ctrlKey+"+Shift+B");this.addAction("group",
-function(){1==d.getSelectionCount()?d.setCellStyles("container","1"):d.setSelectionCell(d.groupCells(null,0))},null,null,Editor.ctrlKey+"+G");this.addAction("ungroup",function(){1==d.getSelectionCount()&&0==d.getModel().getChildCount(d.getSelectionCell())?d.setCellStyles("container","0"):d.setSelectionCells(d.ungroupCells())},null,null,Editor.ctrlKey+"+Shift+U");this.addAction("removeFromGroup",function(){d.removeCellsFromParent()});this.addAction("edit",function(){d.isEnabled()&&d.startEditingAtCell()},
-null,null,"F2/Enter");this.addAction("editData...",function(){var a=d.getSelectionCell()||d.getModel().getRoot();b.showDataDialog(a)},null,null,Editor.ctrlKey+"+M");this.addAction("editTooltip...",function(){var a=b.editor.graph;if(a.isEnabled()&&!a.isSelectionEmpty()){var d=a.getSelectionCell(),f="";if(mxUtils.isNode(d.value)){var c=d.value.getAttribute("tooltip");null!=c&&(f=c)}f=new TextareaDialog(b,mxResources.get("editTooltip")+":",f,function(c){a.setTooltipForCell(d,c)});b.showDialog(f.container,
-320,200,!0,!0);f.init()}},null,null,"Alt+Shift+T");this.addAction("openLink",function(){var a=d.getLinkForCell(d.getSelectionCell());null!=a&&d.openLink(a)});this.addAction("editLink...",function(){var a=b.editor.graph;if(a.isEnabled()&&!a.isSelectionEmpty()){var d=a.getSelectionCell(),f=a.getLinkForCell(d)||"";b.showLinkDialog(f,mxResources.get("apply"),function(c){c=mxUtils.trim(c);a.setLinkForCell(d,0<c.length?c:null)})}},null,null,"Alt+Shift+L");this.put("insertImage",new Action(mxResources.get("image")+
-"...",function(){d.isEnabled()&&!d.isCellLocked(d.getDefaultParent())&&(d.clearSelection(),b.actions.get("image").funct())})).isEnabled=l;this.put("insertLink",new Action(mxResources.get("link")+"...",function(){d.isEnabled()&&!d.isCellLocked(d.getDefaultParent())&&b.showLinkDialog("",mxResources.get("insert"),function(a,b){a=mxUtils.trim(a);if(0<a.length){var f=null,c=d.getLinkTitle(a);null!=b&&0<b.length&&(f=b[0].iconUrl,c=b[0].name||b[0].type,c=c.charAt(0).toUpperCase()+c.substring(1),30<c.length&&
-(c=c.substring(0,30)+"..."));var e=d.getFreeInsertPoint(),f=new mxCell(c,new mxGeometry(e.x,e.y,100,40),"fontColor=#0000EE;fontStyle=4;rounded=1;overflow=hidden;"+(null!=f?"shape=label;imageWidth=16;imageHeight=16;spacingLeft=26;align=left;image="+f:"spacing=10;"));f.vertex=!0;d.setLinkForCell(f,a);d.cellSizeUpdated(f,!0);d.getModel().beginUpdate();try{f=d.addCell(f),d.fireEvent(new mxEventObject("cellsInserted","cells",[f]))}finally{d.getModel().endUpdate()}d.setSelectionCell(f);d.scrollCellToVisible(d.getSelectionCell())}})})).isEnabled=
-l;this.addAction("link...",mxUtils.bind(this,function(){var a=b.editor.graph;if(a.isEnabled())if(a.cellEditor.isContentEditing()){var d=a.getSelectedElement(),f=a.getParentByName(d,"A",a.cellEditor.textarea),c="";if(null==f&&null!=d&&null!=d.getElementsByTagName)for(var e=d.getElementsByTagName("a"),k=0;k<e.length&&null==f;k++)e[k].textContent==d.textContent&&(f=e[k]);null!=f&&"A"==f.nodeName&&(c=f.getAttribute("href")||"",a.selectNode(f));var x=a.cellEditor.saveSelection();b.showLinkDialog(c,mxResources.get("apply"),
-mxUtils.bind(this,function(c){a.cellEditor.restoreSelection(x);null!=c&&a.insertLink(c)}))}else a.isSelectionEmpty()?this.get("insertLink").funct():this.get("editLink").funct()})).isEnabled=l;this.addAction("autosize",function(){var a=d.getSelectionCells();if(null!=a){d.getModel().beginUpdate();try{for(var b=0;b<a.length;b++){var f=a[b];if(d.getModel().getChildCount(f))d.updateGroupBounds([f],20);else{var c=d.view.getState(f),e=d.getCellGeometry(f);d.getModel().isVertex(f)&&null!=c&&null!=c.text&&
-null!=e&&d.isWrapping(f)?(e=e.clone(),e.height=c.text.boundingBox.height/d.view.scale,d.getModel().setGeometry(f,e)):d.updateCellSize(f)}}}finally{d.getModel().endUpdate()}}},null,null,Editor.ctrlKey+"+Shift+Y");this.addAction("formattedText",function(){var a=d.getView().getState(d.getSelectionCell());if(null!=a){d.stopEditing();a="1"==a.style.html?null:"1";d.getModel().beginUpdate();try{for(var f=d.getSelectionCells(),l=0;l<f.length;l++)if(state=d.getView().getState(f[l]),null!=state){var c=mxUtils.getValue(state.style,
-"html","0");if("1"==c&&null==a){var e=d.convertValueToString(state.cell);"0"!=mxUtils.getValue(state.style,"nl2Br","1")&&(e=e.replace(/\n/g,"").replace(/<br\s*.?>/g,"\n"));var k=document.createElement("div");k.innerHTML=e;e=mxUtils.extractTextWithWhitespace(k.childNodes);d.cellLabelChanged(state.cell,e);d.setCellStyles("html",a,[f[l]])}else"0"==c&&"1"==a&&(e=mxUtils.htmlEntities(d.convertValueToString(state.cell),!1),"0"!=mxUtils.getValue(state.style,"nl2Br","1")&&(e=e.replace(/\n/g,"<br/>")),d.cellLabelChanged(state.cell,
-d.sanitizeHtml(e)),d.setCellStyles("html",a,[f[l]]))}b.fireEvent(new mxEventObject("styleChanged","keys",["html"],"values",[null!=a?a:"0"],"cells",f))}finally{d.getModel().endUpdate()}}});this.addAction("wordWrap",function(){var a=d.getView().getState(d.getSelectionCell()),b="wrap";d.stopEditing();null!=a&&"wrap"==a.style[mxConstants.STYLE_WHITE_SPACE]&&(b=null);d.setCellStyles(mxConstants.STYLE_WHITE_SPACE,b)});this.addAction("rotation",function(){var a="0",f=d.getView().getState(d.getSelectionCell());
-null!=f&&(a=f.style[mxConstants.STYLE_ROTATION]||a);a=new FilenameDialog(b,a,mxResources.get("apply"),function(a){null!=a&&0<a.length&&d.setCellStyles(mxConstants.STYLE_ROTATION,a)},mxResources.get("enterValue")+" ("+mxResources.get("rotation")+" 0-360)");b.showDialog(a.container,375,80,!0,!0);a.init()});this.addAction("resetView",function(){d.zoomTo(1);b.resetScrollbars()},null,null,Editor.ctrlKey+"+H");this.addAction("zoomIn",function(a){d.isFastZoomEnabled()?d.lazyZoom(!0,!0,b.buttonZoomDelay):
-d.zoomIn()},null,null,Editor.ctrlKey+" + (Numpad) / Alt+Mousewheel");this.addAction("zoomOut",function(a){d.isFastZoomEnabled()?d.lazyZoom(!1,!0,b.buttonZoomDelay):d.zoomOut()},null,null,Editor.ctrlKey+" - (Numpad) / Alt+Mousewheel");this.addAction("fitWindow",function(){var a=d.isSelectionEmpty()?d.getGraphBounds():d.getBoundingBox(d.getSelectionCells()),b=d.view.translate,f=d.view.scale;a.width/=f;a.height/=f;a.x=a.x/f-b.x;a.y=a.y/f-b.y;var f=d.container.clientWidth-10,c=d.container.clientHeight-
-10,e=Math.floor(20*Math.min(f/a.width,c/a.height))/20;d.zoomTo(e);mxUtils.hasScrollbars(d.container)&&(d.container.scrollTop=(a.y+b.y)*e-Math.max((c-a.height*e)/2+5,0),d.container.scrollLeft=(a.x+b.x)*e-Math.max((f-a.width*e)/2+5,0))},null,null,Editor.ctrlKey+"+Shift+H");this.addAction("fitPage",mxUtils.bind(this,function(){d.pageVisible||this.get("pageView").funct();var a=d.pageFormat,b=d.pageScale;d.zoomTo(Math.floor(20*Math.min((d.container.clientWidth-10)/a.width/b,(d.container.clientHeight-10)/
-a.height/b))/20);mxUtils.hasScrollbars(d.container)&&(a=d.getPagePadding(),d.container.scrollTop=a.y*d.view.scale-1,d.container.scrollLeft=Math.min(a.x*d.view.scale,(d.container.scrollWidth-d.container.clientWidth)/2)-1)}),null,null,Editor.ctrlKey+"+J");this.addAction("fitTwoPages",mxUtils.bind(this,function(){d.pageVisible||this.get("pageView").funct();var a=d.pageFormat,b=d.pageScale;d.zoomTo(Math.floor(20*Math.min((d.container.clientWidth-10)/(2*a.width)/b,(d.container.clientHeight-10)/a.height/
-b))/20);mxUtils.hasScrollbars(d.container)&&(a=d.getPagePadding(),d.container.scrollTop=Math.min(a.y,(d.container.scrollHeight-d.container.clientHeight)/2),d.container.scrollLeft=Math.min(a.x,(d.container.scrollWidth-d.container.clientWidth)/2))}),null,null,Editor.ctrlKey+"+Shift+J");this.addAction("fitPageWidth",mxUtils.bind(this,function(){d.pageVisible||this.get("pageView").funct();d.zoomTo(Math.floor(20*(d.container.clientWidth-10)/d.pageFormat.width/d.pageScale)/20);if(mxUtils.hasScrollbars(d.container)){var a=
-d.getPagePadding();d.container.scrollLeft=Math.min(a.x*d.view.scale,(d.container.scrollWidth-d.container.clientWidth)/2)}}));this.put("customZoom",new Action(mxResources.get("custom")+"...",mxUtils.bind(this,function(){var a=new FilenameDialog(this.editorUi,parseInt(100*d.getView().getScale()),mxResources.get("apply"),mxUtils.bind(this,function(a){a=parseInt(a);!isNaN(a)&&0<a&&d.zoomTo(a/100)}),mxResources.get("zoom")+" (%)");this.editorUi.showDialog(a.container,300,80,!0,!0);a.init()}),null,null,
-Editor.ctrlKey+"+0"));this.addAction("pageScale...",mxUtils.bind(this,function(){var a=new FilenameDialog(this.editorUi,parseInt(100*d.pageScale),mxResources.get("apply"),mxUtils.bind(this,function(a){a=parseInt(a);!isNaN(a)&&0<a&&(a=new ChangePageSetup(b,null,null,null,a/100),a.ignoreColor=!0,a.ignoreImage=!0,d.model.execute(a))}),mxResources.get("pageScale")+" (%)");this.editorUi.showDialog(a.container,300,80,!0,!0);a.init()}));var m=null,m=this.addAction("grid",function(){d.setGridEnabled(!d.isGridEnabled());
-b.fireEvent(new mxEventObject("gridEnabledChanged"))},null,null,Editor.ctrlKey+"+Shift+G");m.setToggleAction(!0);m.setSelectedCallback(function(){return d.isGridEnabled()});m.setEnabled(!1);m=this.addAction("guides",function(){d.graphHandler.guidesEnabled=!d.graphHandler.guidesEnabled;b.fireEvent(new mxEventObject("guidesEnabledChanged"))});m.setToggleAction(!0);m.setSelectedCallback(function(){return d.graphHandler.guidesEnabled});m.setEnabled(!1);m=this.addAction("tooltips",function(){d.tooltipHandler.setEnabled(!d.tooltipHandler.isEnabled())});
-m.setToggleAction(!0);m.setSelectedCallback(function(){return d.tooltipHandler.isEnabled()});m=this.addAction("collapseExpand",function(){var a=new ChangePageSetup(b);a.ignoreColor=!0;a.ignoreImage=!0;a.foldingEnabled=!d.foldingEnabled;d.model.execute(a)});m.setToggleAction(!0);m.setSelectedCallback(function(){return d.foldingEnabled});m.isEnabled=l;m=this.addAction("scrollbars",function(){b.setScrollbars(!b.hasScrollbars())});m.setToggleAction(!0);m.setSelectedCallback(function(){return d.scrollbars});
-m=this.addAction("pageView",mxUtils.bind(this,function(){b.setPageVisible(!d.pageVisible)}));m.setToggleAction(!0);m.setSelectedCallback(function(){return d.pageVisible});m=this.addAction("connectionArrows",function(){d.connectionArrowsEnabled=!d.connectionArrowsEnabled;b.fireEvent(new mxEventObject("connectionArrowsChanged"))},null,null,"Alt+Shift+A");m.setToggleAction(!0);m.setSelectedCallback(function(){return d.connectionArrowsEnabled});m=this.addAction("connectionPoints",function(){d.setConnectable(!d.connectionHandler.isEnabled());
-b.fireEvent(new mxEventObject("connectionPointsChanged"))},null,null,"Alt+Shift+P");m.setToggleAction(!0);m.setSelectedCallback(function(){return d.connectionHandler.isEnabled()});m=this.addAction("copyConnect",function(){d.connectionHandler.setCreateTarget(!d.connectionHandler.isCreateTarget());b.fireEvent(new mxEventObject("copyConnectChanged"))});m.setToggleAction(!0);m.setSelectedCallback(function(){return d.connectionHandler.isCreateTarget()});m.isEnabled=l;m=this.addAction("autosave",function(){b.editor.setAutosave(!b.editor.autosave)});
-m.setToggleAction(!0);m.setSelectedCallback(function(){return b.editor.autosave});m.isEnabled=l;m.visible=!1;this.addAction("help",function(){var a="";mxResources.isLanguageSupported(mxClient.language)&&(a="_"+mxClient.language);d.openLink(RESOURCES_PATH+"/help"+a+".html")});var q=!1;this.put("about",new Action(mxResources.get("about")+" Graph Editor...",function(){q||(b.showDialog((new AboutDialog(b)).container,320,280,!0,!0,function(){q=!1}),q=!0)},null,null,"F1"));m=mxUtils.bind(this,function(a,
-b,f,c){return this.addAction(a,function(){if(null!=f&&d.cellEditor.isContentEditing())f();else{d.stopEditing(!1);d.getModel().beginUpdate();try{var a=d.getSelectionCells();d.toggleCellStyleFlags(mxConstants.STYLE_FONTSTYLE,b,a);(b&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD?d.updateLabelElements(d.getSelectionCells(),function(a){a.style.fontWeight=null;"B"==a.nodeName&&d.replaceElement(a)}):(b&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC?d.updateLabelElements(d.getSelectionCells(),function(a){a.style.fontStyle=
-null;"I"==a.nodeName&&d.replaceElement(a)}):(b&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&d.updateLabelElements(d.getSelectionCells(),function(a){a.style.textDecoration=null;"U"==a.nodeName&&d.replaceElement(a)});for(var c=0;c<a.length;c++)0==d.model.getChildCount(a[c])&&d.autoSizeCell(a[c],!1)}finally{d.getModel().endUpdate()}}},null,null,c)});m("bold",mxConstants.FONT_BOLD,function(){document.execCommand("bold",!1,null)},Editor.ctrlKey+"+B");m("italic",mxConstants.FONT_ITALIC,function(){document.execCommand("italic",
+Actions.prototype.init=function(){function a(a){c.escape();var b=c.getDeletableCells(c.getSelectionCells());if(null!=b&&0<b.length){var e=c.selectParentAfterDelete?c.model.getParents(b):null;c.removeCells(b,a);if(null!=e){a=[];for(b=0;b<e.length;b++)c.model.contains(e[b])&&(c.model.isVertex(e[b])||c.model.isEdge(e[b]))&&a.push(e[b]);c.setSelectionCells(a)}}}var b=this.editorUi,e=b.editor,c=e.graph,l=function(){return Action.prototype.isEnabled.apply(this,arguments)&&c.isEnabled()};this.addAction("new...",
+function(){c.openLink(b.getUrl())});this.addAction("open...",function(){window.openNew=!0;window.openKey="open";b.openFile()});this.addAction("import...",function(){window.openNew=!1;window.openKey="import";window.openFile=new OpenFile(mxUtils.bind(this,function(){b.hideDialog()}));window.openFile.setConsumer(mxUtils.bind(this,function(a,b){try{var c=mxUtils.parseXml(a);e.graph.setSelectionCells(e.graph.importGraphModel(c.documentElement))}catch(d){mxUtils.alert(mxResources.get("invalidOrMissingFile")+
+": "+d.message)}}));b.showDialog((new OpenDialog(this)).container,320,220,!0,!0,function(){window.openFile=null})}).isEnabled=l;this.addAction("save",function(){b.saveFile(!1)},null,null,Editor.ctrlKey+"+S").isEnabled=l;this.addAction("saveAs...",function(){b.saveFile(!0)},null,null,Editor.ctrlKey+"+Shift+S").isEnabled=l;this.addAction("export...",function(){b.showDialog((new ExportDialog(b)).container,300,296,!0,!0)});this.addAction("editDiagram...",function(){var a=new EditDiagramDialog(b);b.showDialog(a.container,
+620,420,!0,!1);a.init()});this.addAction("pageSetup...",function(){b.showDialog((new PageSetupDialog(b)).container,320,220,!0,!0)}).isEnabled=l;this.addAction("print...",function(){b.showDialog((new PrintDialog(b)).container,300,180,!0,!0)},null,"sprite-print",Editor.ctrlKey+"+P");this.addAction("preview",function(){mxUtils.show(c,null,10,10)});this.addAction("undo",function(){b.undo()},null,"sprite-undo",Editor.ctrlKey+"+Z");this.addAction("redo",function(){b.redo()},null,"sprite-redo",mxClient.IS_WIN?
+Editor.ctrlKey+"+Y":Editor.ctrlKey+"+Shift+Z");this.addAction("cut",function(){mxClipboard.cut(c)},null,"sprite-cut",Editor.ctrlKey+"+X");this.addAction("copy",function(){try{mxClipboard.copy(c)}catch(u){b.handleError(u)}},null,"sprite-copy",Editor.ctrlKey+"+C");this.addAction("paste",function(){c.isEnabled()&&!c.isCellLocked(c.getDefaultParent())&&mxClipboard.paste(c)},!1,"sprite-paste",Editor.ctrlKey+"+V");this.addAction("pasteHere",function(a){if(c.isEnabled()&&!c.isCellLocked(c.getDefaultParent())){c.getModel().beginUpdate();
+try{var b=mxClipboard.paste(c);if(null!=b){a=!0;for(var e=0;e<b.length&&a;e++)a=a&&c.model.isEdge(b[e]);var d=c.view.translate,f=c.view.scale,k=d.x,x=d.y,d=null;if(1==b.length&&a){var n=c.getCellGeometry(b[0]);null!=n&&(d=n.getTerminalPoint(!0))}d=null!=d?d:c.getBoundingBoxFromGeometry(b,a);if(null!=d){var g=Math.round(c.snap(c.popupMenuHandler.triggerX/f-k)),A=Math.round(c.snap(c.popupMenuHandler.triggerY/f-x));c.cellsMoved(b,g-d.x,A-d.y)}}}finally{c.getModel().endUpdate()}}});this.addAction("copySize",
+function(a){a=c.getSelectionCell();c.isEnabled()&&null!=a&&c.getModel().isVertex(a)&&(a=c.getCellGeometry(a),null!=a&&(b.copiedSize=new mxRectangle(a.x,a.y,a.width,a.height)))},null,null,"Alt+Shift+X");this.addAction("pasteSize",function(a){if(c.isEnabled()&&!c.isSelectionEmpty()&&null!=b.copiedSize){c.getModel().beginUpdate();try{var e=c.getSelectionCells();for(a=0;a<e.length;a++)if(c.getModel().isVertex(e[a])){var l=c.getCellGeometry(e[a]);null!=l&&(l=l.clone(),l.width=b.copiedSize.width,l.height=
+b.copiedSize.height,c.getModel().setGeometry(e[a],l))}}finally{c.getModel().endUpdate()}}},null,null,"Alt+Shift+V");this.addAction("delete",function(b){a(null!=b&&mxEvent.isShiftDown(b))},null,null,"Delete");this.addAction("deleteAll",function(){a(!0)},null,null,Editor.ctrlKey+"+Delete");this.addAction("duplicate",function(){try{c.setSelectionCells(c.duplicateCells())}catch(u){b.handleError(u)}},null,null,Editor.ctrlKey+"+D");this.put("turn",new Action(mxResources.get("turn")+" / "+mxResources.get("reverse"),
+function(){c.turnShapes(c.getSelectionCells())},null,null,Editor.ctrlKey+"+R"));this.addAction("selectVertices",function(){c.selectVertices(null,!0)},null,null,Editor.ctrlKey+"+Shift+I");this.addAction("selectEdges",function(){c.selectEdges()},null,null,Editor.ctrlKey+"+Shift+E");this.addAction("selectAll",function(){c.selectAll(null,!0)},null,null,Editor.ctrlKey+"+A");this.addAction("selectNone",function(){c.clearSelection()},null,null,Editor.ctrlKey+"+Shift+A");this.addAction("lockUnlock",function(){if(!c.isSelectionEmpty()){c.getModel().beginUpdate();
+try{var a=c.isCellMovable(c.getSelectionCell())?1:0;c.toggleCellStyles(mxConstants.STYLE_MOVABLE,a);c.toggleCellStyles(mxConstants.STYLE_RESIZABLE,a);c.toggleCellStyles(mxConstants.STYLE_ROTATABLE,a);c.toggleCellStyles(mxConstants.STYLE_DELETABLE,a);c.toggleCellStyles(mxConstants.STYLE_EDITABLE,a);c.toggleCellStyles("connectable",a)}finally{c.getModel().endUpdate()}}},null,null,Editor.ctrlKey+"+L");this.addAction("home",function(){c.home()},null,null,"Home");this.addAction("exitGroup",function(){c.exitGroup()},
+null,null,Editor.ctrlKey+"+Shift+Home");this.addAction("enterGroup",function(){c.enterGroup()},null,null,Editor.ctrlKey+"+Shift+End");this.addAction("collapse",function(){c.foldCells(!0)},null,null,Editor.ctrlKey+"+Home");this.addAction("expand",function(){c.foldCells(!1)},null,null,Editor.ctrlKey+"+End");this.addAction("toFront",function(){c.orderCells(!1)},null,null,Editor.ctrlKey+"+Shift+F");this.addAction("toBack",function(){c.orderCells(!0)},null,null,Editor.ctrlKey+"+Shift+B");this.addAction("group",
+function(){1==c.getSelectionCount()?c.setCellStyles("container","1"):c.setSelectionCell(c.groupCells(null,0))},null,null,Editor.ctrlKey+"+G");this.addAction("ungroup",function(){1==c.getSelectionCount()&&0==c.getModel().getChildCount(c.getSelectionCell())?c.setCellStyles("container","0"):c.setSelectionCells(c.ungroupCells())},null,null,Editor.ctrlKey+"+Shift+U");this.addAction("removeFromGroup",function(){c.removeCellsFromParent()});this.addAction("edit",function(){c.isEnabled()&&c.startEditingAtCell()},
+null,null,"F2/Enter");this.addAction("editData...",function(){var a=c.getSelectionCell()||c.getModel().getRoot();b.showDataDialog(a)},null,null,Editor.ctrlKey+"+M");this.addAction("editTooltip...",function(){var a=b.editor.graph;if(a.isEnabled()&&!a.isSelectionEmpty()){var c=a.getSelectionCell(),e="";if(mxUtils.isNode(c.value)){var d=c.value.getAttribute("tooltip");null!=d&&(e=d)}e=new TextareaDialog(b,mxResources.get("editTooltip")+":",e,function(d){a.setTooltipForCell(c,d)});b.showDialog(e.container,
+320,200,!0,!0);e.init()}},null,null,"Alt+Shift+T");this.addAction("openLink",function(){var a=c.getLinkForCell(c.getSelectionCell());null!=a&&c.openLink(a)});this.addAction("editLink...",function(){var a=b.editor.graph;if(a.isEnabled()&&!a.isSelectionEmpty()){var c=a.getSelectionCell(),e=a.getLinkForCell(c)||"";b.showLinkDialog(e,mxResources.get("apply"),function(d){d=mxUtils.trim(d);a.setLinkForCell(c,0<d.length?d:null)})}},null,null,"Alt+Shift+L");this.put("insertImage",new Action(mxResources.get("image")+
+"...",function(){c.isEnabled()&&!c.isCellLocked(c.getDefaultParent())&&(c.clearSelection(),b.actions.get("image").funct())})).isEnabled=l;this.put("insertLink",new Action(mxResources.get("link")+"...",function(){c.isEnabled()&&!c.isCellLocked(c.getDefaultParent())&&b.showLinkDialog("",mxResources.get("insert"),function(a,b){a=mxUtils.trim(a);if(0<a.length){var e=null,d=c.getLinkTitle(a);null!=b&&0<b.length&&(e=b[0].iconUrl,d=b[0].name||b[0].type,d=d.charAt(0).toUpperCase()+d.substring(1),30<d.length&&
+(d=d.substring(0,30)+"..."));var f=c.getFreeInsertPoint(),e=new mxCell(d,new mxGeometry(f.x,f.y,100,40),"fontColor=#0000EE;fontStyle=4;rounded=1;overflow=hidden;"+(null!=e?"shape=label;imageWidth=16;imageHeight=16;spacingLeft=26;align=left;image="+e:"spacing=10;"));e.vertex=!0;c.setLinkForCell(e,a);c.cellSizeUpdated(e,!0);c.getModel().beginUpdate();try{e=c.addCell(e),c.fireEvent(new mxEventObject("cellsInserted","cells",[e]))}finally{c.getModel().endUpdate()}c.setSelectionCell(e);c.scrollCellToVisible(c.getSelectionCell())}})})).isEnabled=
+l;this.addAction("link...",mxUtils.bind(this,function(){var a=b.editor.graph;if(a.isEnabled())if(a.cellEditor.isContentEditing()){var c=a.getSelectedElement(),e=a.getParentByName(c,"A",a.cellEditor.textarea),d="";if(null==e&&null!=c&&null!=c.getElementsByTagName)for(var f=c.getElementsByTagName("a"),k=0;k<f.length&&null==e;k++)f[k].textContent==c.textContent&&(e=f[k]);null!=e&&"A"==e.nodeName&&(d=e.getAttribute("href")||"",a.selectNode(e));var x=a.cellEditor.saveSelection();b.showLinkDialog(d,mxResources.get("apply"),
+mxUtils.bind(this,function(d){a.cellEditor.restoreSelection(x);null!=d&&a.insertLink(d)}))}else a.isSelectionEmpty()?this.get("insertLink").funct():this.get("editLink").funct()})).isEnabled=l;this.addAction("autosize",function(){var a=c.getSelectionCells();if(null!=a){c.getModel().beginUpdate();try{for(var b=0;b<a.length;b++){var e=a[b];if(c.getModel().getChildCount(e))c.updateGroupBounds([e],20);else{var d=c.view.getState(e),f=c.getCellGeometry(e);c.getModel().isVertex(e)&&null!=d&&null!=d.text&&
+null!=f&&c.isWrapping(e)?(f=f.clone(),f.height=d.text.boundingBox.height/c.view.scale,c.getModel().setGeometry(e,f)):c.updateCellSize(e)}}}finally{c.getModel().endUpdate()}}},null,null,Editor.ctrlKey+"+Shift+Y");this.addAction("formattedText",function(){var a=c.getView().getState(c.getSelectionCell());if(null!=a){c.stopEditing();a="1"==a.style.html?null:"1";c.getModel().beginUpdate();try{for(var e=c.getSelectionCells(),l=0;l<e.length;l++)if(state=c.getView().getState(e[l]),null!=state){var d=mxUtils.getValue(state.style,
+"html","0");if("1"==d&&null==a){var f=c.convertValueToString(state.cell);"0"!=mxUtils.getValue(state.style,"nl2Br","1")&&(f=f.replace(/\n/g,"").replace(/<br\s*.?>/g,"\n"));var k=document.createElement("div");k.innerHTML=f;f=mxUtils.extractTextWithWhitespace(k.childNodes);c.cellLabelChanged(state.cell,f);c.setCellStyles("html",a,[e[l]])}else"0"==d&&"1"==a&&(f=mxUtils.htmlEntities(c.convertValueToString(state.cell),!1),"0"!=mxUtils.getValue(state.style,"nl2Br","1")&&(f=f.replace(/\n/g,"<br/>")),c.cellLabelChanged(state.cell,
+c.sanitizeHtml(f)),c.setCellStyles("html",a,[e[l]]))}b.fireEvent(new mxEventObject("styleChanged","keys",["html"],"values",[null!=a?a:"0"],"cells",e))}finally{c.getModel().endUpdate()}}});this.addAction("wordWrap",function(){var a=c.getView().getState(c.getSelectionCell()),b="wrap";c.stopEditing();null!=a&&"wrap"==a.style[mxConstants.STYLE_WHITE_SPACE]&&(b=null);c.setCellStyles(mxConstants.STYLE_WHITE_SPACE,b)});this.addAction("rotation",function(){var a="0",e=c.getView().getState(c.getSelectionCell());
+null!=e&&(a=e.style[mxConstants.STYLE_ROTATION]||a);a=new FilenameDialog(b,a,mxResources.get("apply"),function(a){null!=a&&0<a.length&&c.setCellStyles(mxConstants.STYLE_ROTATION,a)},mxResources.get("enterValue")+" ("+mxResources.get("rotation")+" 0-360)");b.showDialog(a.container,375,80,!0,!0);a.init()});this.addAction("resetView",function(){c.zoomTo(1);b.resetScrollbars()},null,null,Editor.ctrlKey+"+H");this.addAction("zoomIn",function(a){c.isFastZoomEnabled()?c.lazyZoom(!0,!0,b.buttonZoomDelay):
+c.zoomIn()},null,null,Editor.ctrlKey+" + (Numpad) / Alt+Mousewheel");this.addAction("zoomOut",function(a){c.isFastZoomEnabled()?c.lazyZoom(!1,!0,b.buttonZoomDelay):c.zoomOut()},null,null,Editor.ctrlKey+" - (Numpad) / Alt+Mousewheel");this.addAction("fitWindow",function(){var a=c.isSelectionEmpty()?c.getGraphBounds():c.getBoundingBox(c.getSelectionCells()),b=c.view.translate,e=c.view.scale;a.width/=e;a.height/=e;a.x=a.x/e-b.x;a.y=a.y/e-b.y;var e=c.container.clientWidth-10,d=c.container.clientHeight-
+10,f=Math.floor(20*Math.min(e/a.width,d/a.height))/20;c.zoomTo(f);mxUtils.hasScrollbars(c.container)&&(c.container.scrollTop=(a.y+b.y)*f-Math.max((d-a.height*f)/2+5,0),c.container.scrollLeft=(a.x+b.x)*f-Math.max((e-a.width*f)/2+5,0))},null,null,Editor.ctrlKey+"+Shift+H");this.addAction("fitPage",mxUtils.bind(this,function(){c.pageVisible||this.get("pageView").funct();var a=c.pageFormat,b=c.pageScale;c.zoomTo(Math.floor(20*Math.min((c.container.clientWidth-10)/a.width/b,(c.container.clientHeight-10)/
+a.height/b))/20);mxUtils.hasScrollbars(c.container)&&(a=c.getPagePadding(),c.container.scrollTop=a.y*c.view.scale-1,c.container.scrollLeft=Math.min(a.x*c.view.scale,(c.container.scrollWidth-c.container.clientWidth)/2)-1)}),null,null,Editor.ctrlKey+"+J");this.addAction("fitTwoPages",mxUtils.bind(this,function(){c.pageVisible||this.get("pageView").funct();var a=c.pageFormat,b=c.pageScale;c.zoomTo(Math.floor(20*Math.min((c.container.clientWidth-10)/(2*a.width)/b,(c.container.clientHeight-10)/a.height/
+b))/20);mxUtils.hasScrollbars(c.container)&&(a=c.getPagePadding(),c.container.scrollTop=Math.min(a.y,(c.container.scrollHeight-c.container.clientHeight)/2),c.container.scrollLeft=Math.min(a.x,(c.container.scrollWidth-c.container.clientWidth)/2))}),null,null,Editor.ctrlKey+"+Shift+J");this.addAction("fitPageWidth",mxUtils.bind(this,function(){c.pageVisible||this.get("pageView").funct();c.zoomTo(Math.floor(20*(c.container.clientWidth-10)/c.pageFormat.width/c.pageScale)/20);if(mxUtils.hasScrollbars(c.container)){var a=
+c.getPagePadding();c.container.scrollLeft=Math.min(a.x*c.view.scale,(c.container.scrollWidth-c.container.clientWidth)/2)}}));this.put("customZoom",new Action(mxResources.get("custom")+"...",mxUtils.bind(this,function(){var a=new FilenameDialog(this.editorUi,parseInt(100*c.getView().getScale()),mxResources.get("apply"),mxUtils.bind(this,function(a){a=parseInt(a);!isNaN(a)&&0<a&&c.zoomTo(a/100)}),mxResources.get("zoom")+" (%)");this.editorUi.showDialog(a.container,300,80,!0,!0);a.init()}),null,null,
+Editor.ctrlKey+"+0"));this.addAction("pageScale...",mxUtils.bind(this,function(){var a=new FilenameDialog(this.editorUi,parseInt(100*c.pageScale),mxResources.get("apply"),mxUtils.bind(this,function(a){a=parseInt(a);!isNaN(a)&&0<a&&(a=new ChangePageSetup(b,null,null,null,a/100),a.ignoreColor=!0,a.ignoreImage=!0,c.model.execute(a))}),mxResources.get("pageScale")+" (%)");this.editorUi.showDialog(a.container,300,80,!0,!0);a.init()}));var m=null,m=this.addAction("grid",function(){c.setGridEnabled(!c.isGridEnabled());
+b.fireEvent(new mxEventObject("gridEnabledChanged"))},null,null,Editor.ctrlKey+"+Shift+G");m.setToggleAction(!0);m.setSelectedCallback(function(){return c.isGridEnabled()});m.setEnabled(!1);m=this.addAction("guides",function(){c.graphHandler.guidesEnabled=!c.graphHandler.guidesEnabled;b.fireEvent(new mxEventObject("guidesEnabledChanged"))});m.setToggleAction(!0);m.setSelectedCallback(function(){return c.graphHandler.guidesEnabled});m.setEnabled(!1);m=this.addAction("tooltips",function(){c.tooltipHandler.setEnabled(!c.tooltipHandler.isEnabled())});
+m.setToggleAction(!0);m.setSelectedCallback(function(){return c.tooltipHandler.isEnabled()});m=this.addAction("collapseExpand",function(){var a=new ChangePageSetup(b);a.ignoreColor=!0;a.ignoreImage=!0;a.foldingEnabled=!c.foldingEnabled;c.model.execute(a)});m.setToggleAction(!0);m.setSelectedCallback(function(){return c.foldingEnabled});m.isEnabled=l;m=this.addAction("scrollbars",function(){b.setScrollbars(!b.hasScrollbars())});m.setToggleAction(!0);m.setSelectedCallback(function(){return c.scrollbars});
+m=this.addAction("pageView",mxUtils.bind(this,function(){b.setPageVisible(!c.pageVisible)}));m.setToggleAction(!0);m.setSelectedCallback(function(){return c.pageVisible});m=this.addAction("connectionArrows",function(){c.connectionArrowsEnabled=!c.connectionArrowsEnabled;b.fireEvent(new mxEventObject("connectionArrowsChanged"))},null,null,"Alt+Shift+A");m.setToggleAction(!0);m.setSelectedCallback(function(){return c.connectionArrowsEnabled});m=this.addAction("connectionPoints",function(){c.setConnectable(!c.connectionHandler.isEnabled());
+b.fireEvent(new mxEventObject("connectionPointsChanged"))},null,null,"Alt+Shift+P");m.setToggleAction(!0);m.setSelectedCallback(function(){return c.connectionHandler.isEnabled()});m=this.addAction("copyConnect",function(){c.connectionHandler.setCreateTarget(!c.connectionHandler.isCreateTarget());b.fireEvent(new mxEventObject("copyConnectChanged"))});m.setToggleAction(!0);m.setSelectedCallback(function(){return c.connectionHandler.isCreateTarget()});m.isEnabled=l;m=this.addAction("autosave",function(){b.editor.setAutosave(!b.editor.autosave)});
+m.setToggleAction(!0);m.setSelectedCallback(function(){return b.editor.autosave});m.isEnabled=l;m.visible=!1;this.addAction("help",function(){var a="";mxResources.isLanguageSupported(mxClient.language)&&(a="_"+mxClient.language);c.openLink(RESOURCES_PATH+"/help"+a+".html")});var q=!1;this.put("about",new Action(mxResources.get("about")+" Graph Editor...",function(){q||(b.showDialog((new AboutDialog(b)).container,320,280,!0,!0,function(){q=!1}),q=!0)},null,null,"F1"));m=mxUtils.bind(this,function(a,
+b,e,d){return this.addAction(a,function(){if(null!=e&&c.cellEditor.isContentEditing())e();else{c.stopEditing(!1);c.getModel().beginUpdate();try{var a=c.getSelectionCells();c.toggleCellStyleFlags(mxConstants.STYLE_FONTSTYLE,b,a);(b&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD?c.updateLabelElements(c.getSelectionCells(),function(a){a.style.fontWeight=null;"B"==a.nodeName&&c.replaceElement(a)}):(b&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC?c.updateLabelElements(c.getSelectionCells(),function(a){a.style.fontStyle=
+null;"I"==a.nodeName&&c.replaceElement(a)}):(b&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&c.updateLabelElements(c.getSelectionCells(),function(a){a.style.textDecoration=null;"U"==a.nodeName&&c.replaceElement(a)});for(var d=0;d<a.length;d++)0==c.model.getChildCount(a[d])&&c.autoSizeCell(a[d],!1)}finally{c.getModel().endUpdate()}}},null,null,d)});m("bold",mxConstants.FONT_BOLD,function(){document.execCommand("bold",!1,null)},Editor.ctrlKey+"+B");m("italic",mxConstants.FONT_ITALIC,function(){document.execCommand("italic",
 !1,null)},Editor.ctrlKey+"+I");m("underline",mxConstants.FONT_UNDERLINE,function(){document.execCommand("underline",!1,null)},Editor.ctrlKey+"+U");this.addAction("fontColor...",function(){b.menus.pickColor(mxConstants.STYLE_FONTCOLOR,"forecolor","000000")});this.addAction("strokeColor...",function(){b.menus.pickColor(mxConstants.STYLE_STROKECOLOR)});this.addAction("fillColor...",function(){b.menus.pickColor(mxConstants.STYLE_FILLCOLOR)});this.addAction("gradientColor...",function(){b.menus.pickColor(mxConstants.STYLE_GRADIENTCOLOR)});
-this.addAction("backgroundColor...",function(){b.menus.pickColor(mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,"backcolor")});this.addAction("borderColor...",function(){b.menus.pickColor(mxConstants.STYLE_LABEL_BORDERCOLOR)});this.addAction("vertical",function(){b.menus.toggleStyle(mxConstants.STYLE_HORIZONTAL,!0)});this.addAction("shadow",function(){b.menus.toggleStyle(mxConstants.STYLE_SHADOW)});this.addAction("solid",function(){d.getModel().beginUpdate();try{d.setCellStyles(mxConstants.STYLE_DASHED,
-null),d.setCellStyles(mxConstants.STYLE_DASH_PATTERN,null),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],"values",[null,null],"cells",d.getSelectionCells()))}finally{d.getModel().endUpdate()}});this.addAction("dashed",function(){d.getModel().beginUpdate();try{d.setCellStyles(mxConstants.STYLE_DASHED,"1"),d.setCellStyles(mxConstants.STYLE_DASH_PATTERN,null),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_DASHED,
-mxConstants.STYLE_DASH_PATTERN],"values",["1",null],"cells",d.getSelectionCells()))}finally{d.getModel().endUpdate()}});this.addAction("dotted",function(){d.getModel().beginUpdate();try{d.setCellStyles(mxConstants.STYLE_DASHED,"1"),d.setCellStyles(mxConstants.STYLE_DASH_PATTERN,"1 4"),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],"values",["1","1 4"],"cells",d.getSelectionCells()))}finally{d.getModel().endUpdate()}});this.addAction("sharp",
-function(){d.getModel().beginUpdate();try{d.setCellStyles(mxConstants.STYLE_ROUNDED,"0"),d.setCellStyles(mxConstants.STYLE_CURVED,"0"),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_ROUNDED,mxConstants.STYLE_CURVED],"values",["0","0"],"cells",d.getSelectionCells()))}finally{d.getModel().endUpdate()}});this.addAction("rounded",function(){d.getModel().beginUpdate();try{d.setCellStyles(mxConstants.STYLE_ROUNDED,"1"),d.setCellStyles(mxConstants.STYLE_CURVED,"0"),b.fireEvent(new mxEventObject("styleChanged",
-"keys",[mxConstants.STYLE_ROUNDED,mxConstants.STYLE_CURVED],"values",["1","0"],"cells",d.getSelectionCells()))}finally{d.getModel().endUpdate()}});this.addAction("toggleRounded",function(){if(!d.isSelectionEmpty()&&d.isEnabled()){d.getModel().beginUpdate();try{var a=d.getSelectionCells(),f=d.view.getState(a[0]),l=null!=f?f.style:d.getCellStyle(a[0]),c="1"==mxUtils.getValue(l,mxConstants.STYLE_ROUNDED,"0")?"0":"1";d.setCellStyles(mxConstants.STYLE_ROUNDED,c);d.setCellStyles(mxConstants.STYLE_CURVED,
-null);b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_ROUNDED,mxConstants.STYLE_CURVED],"values",[c,"0"],"cells",d.getSelectionCells()))}finally{d.getModel().endUpdate()}}});this.addAction("curved",function(){d.getModel().beginUpdate();try{d.setCellStyles(mxConstants.STYLE_ROUNDED,"0"),d.setCellStyles(mxConstants.STYLE_CURVED,"1"),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_ROUNDED,mxConstants.STYLE_CURVED],"values",["0","1"],"cells",d.getSelectionCells()))}finally{d.getModel().endUpdate()}});
-this.addAction("collapsible",function(){var a=d.view.getState(d.getSelectionCell()),f="1";null!=a&&null!=d.getFoldingImage(a)&&(f="0");d.setCellStyles("collapsible",f);b.fireEvent(new mxEventObject("styleChanged","keys",["collapsible"],"values",[f],"cells",d.getSelectionCells()))});this.addAction("editStyle...",mxUtils.bind(this,function(){var a=d.getSelectionCells();if(null!=a&&0<a.length){var b=d.getModel(),b=new TextareaDialog(this.editorUi,mxResources.get("editStyle")+":",b.getStyle(a[0])||"",
-function(b){null!=b&&d.setCellStyle(mxUtils.trim(b),a)},null,null,400,220);this.editorUi.showDialog(b.container,420,300,!0,!0);b.init()}}),null,null,Editor.ctrlKey+"+E");this.addAction("setAsDefaultStyle",function(){d.isEnabled()&&!d.isSelectionEmpty()&&b.setDefaultStyle(d.getSelectionCell())},null,null,Editor.ctrlKey+"+Shift+D");this.addAction("clearDefaultStyle",function(){d.isEnabled()&&b.clearDefaultStyle()},null,null,Editor.ctrlKey+"+Shift+R");this.addAction("addWaypoint",function(){var a=d.getSelectionCell();
-if(null!=a&&d.getModel().isEdge(a)){var b=f.graph.selectionCellsHandler.getHandler(a);if(b instanceof mxEdgeHandler){for(var l=d.view.translate,c=d.view.scale,e=l.x,l=l.y,a=d.getModel().getParent(a),k=d.getCellGeometry(a);d.getModel().isVertex(a)&&null!=k;)e+=k.x,l+=k.y,a=d.getModel().getParent(a),k=d.getCellGeometry(a);e=Math.round(d.snap(d.popupMenuHandler.triggerX/c-e));c=Math.round(d.snap(d.popupMenuHandler.triggerY/c-l));b.addPointAt(b.state,e,c)}}});this.addAction("removeWaypoint",function(){var a=
-b.actions.get("removeWaypoint");null!=a.handler&&a.handler.removePoint(a.handler.state,a.index)});this.addAction("clearWaypoints",function(){var a=d.getSelectionCells();if(null!=a){a=d.addAllEdges(a);d.getModel().beginUpdate();try{for(var b=0;b<a.length;b++){var f=a[b];if(d.getModel().isEdge(f)){var c=d.getCellGeometry(f);null!=c&&(c=c.clone(),c.points=null,d.getModel().setGeometry(f,c))}}}finally{d.getModel().endUpdate()}}},null,null,"Alt+Shift+C");m=this.addAction("subscript",mxUtils.bind(this,
-function(){d.cellEditor.isContentEditing()&&document.execCommand("subscript",!1,null)}),null,null,Editor.ctrlKey+"+,");m=this.addAction("superscript",mxUtils.bind(this,function(){d.cellEditor.isContentEditing()&&document.execCommand("superscript",!1,null)}),null,null,Editor.ctrlKey+"+.");this.addAction("image...",function(){if(d.isEnabled()&&!d.isCellLocked(d.getDefaultParent())){var a=mxResources.get("image")+" ("+mxResources.get("url")+"):",f=d.getView().getState(d.getSelectionCell()),l="";null!=
-f&&(l=f.style[mxConstants.STYLE_IMAGE]||l);var c=d.cellEditor.saveSelection();b.showImageDialog(a,l,function(a,b,f){if(d.cellEditor.isContentEditing())d.cellEditor.restoreSelection(c),d.insertImage(a,b,f);else{var e=d.getSelectionCells();if(null!=a&&(0<a.length||0<e.length)){var k=null;d.getModel().beginUpdate();try{if(0==e.length){var x=d.getFreeInsertPoint(),k=e=[d.insertVertex(d.getDefaultParent(),null,"",x.x,x.y,b,f,"shape=image;imageAspect=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;")];
-d.fireEvent(new mxEventObject("cellsInserted","cells",k))}d.setCellStyles(mxConstants.STYLE_IMAGE,0<a.length?a:null,e);var v=d.view.getState(e[0]),t=null!=v?v.style:d.getCellStyle(e[0]);"image"!=t[mxConstants.STYLE_SHAPE]&&"label"!=t[mxConstants.STYLE_SHAPE]?d.setCellStyles(mxConstants.STYLE_SHAPE,"image",e):0==a.length&&d.setCellStyles(mxConstants.STYLE_SHAPE,null,e);if(1==d.getSelectionCount()&&null!=b&&null!=f){var l=e[0],y=d.getModel().getGeometry(l);null!=y&&(y=y.clone(),y.width=b,y.height=f,
-d.getModel().setGeometry(l,y))}}finally{d.getModel().endUpdate()}null!=k&&(d.setSelectionCells(k),d.scrollCellToVisible(k[0]))}}},d.cellEditor.isContentEditing(),!d.cellEditor.isContentEditing())}}).isEnabled=l;m=this.addAction("layers",mxUtils.bind(this,function(){null==this.layersWindow?(this.layersWindow=new LayersWindow(b,document.body.offsetWidth-280,120,220,180),this.layersWindow.window.addListener("show",function(){b.fireEvent(new mxEventObject("layers"))}),this.layersWindow.window.addListener("hide",
+this.addAction("backgroundColor...",function(){b.menus.pickColor(mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,"backcolor")});this.addAction("borderColor...",function(){b.menus.pickColor(mxConstants.STYLE_LABEL_BORDERCOLOR)});this.addAction("vertical",function(){b.menus.toggleStyle(mxConstants.STYLE_HORIZONTAL,!0)});this.addAction("shadow",function(){b.menus.toggleStyle(mxConstants.STYLE_SHADOW)});this.addAction("solid",function(){c.getModel().beginUpdate();try{c.setCellStyles(mxConstants.STYLE_DASHED,
+null),c.setCellStyles(mxConstants.STYLE_DASH_PATTERN,null),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],"values",[null,null],"cells",c.getSelectionCells()))}finally{c.getModel().endUpdate()}});this.addAction("dashed",function(){c.getModel().beginUpdate();try{c.setCellStyles(mxConstants.STYLE_DASHED,"1"),c.setCellStyles(mxConstants.STYLE_DASH_PATTERN,null),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_DASHED,
+mxConstants.STYLE_DASH_PATTERN],"values",["1",null],"cells",c.getSelectionCells()))}finally{c.getModel().endUpdate()}});this.addAction("dotted",function(){c.getModel().beginUpdate();try{c.setCellStyles(mxConstants.STYLE_DASHED,"1"),c.setCellStyles(mxConstants.STYLE_DASH_PATTERN,"1 4"),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],"values",["1","1 4"],"cells",c.getSelectionCells()))}finally{c.getModel().endUpdate()}});this.addAction("sharp",
+function(){c.getModel().beginUpdate();try{c.setCellStyles(mxConstants.STYLE_ROUNDED,"0"),c.setCellStyles(mxConstants.STYLE_CURVED,"0"),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_ROUNDED,mxConstants.STYLE_CURVED],"values",["0","0"],"cells",c.getSelectionCells()))}finally{c.getModel().endUpdate()}});this.addAction("rounded",function(){c.getModel().beginUpdate();try{c.setCellStyles(mxConstants.STYLE_ROUNDED,"1"),c.setCellStyles(mxConstants.STYLE_CURVED,"0"),b.fireEvent(new mxEventObject("styleChanged",
+"keys",[mxConstants.STYLE_ROUNDED,mxConstants.STYLE_CURVED],"values",["1","0"],"cells",c.getSelectionCells()))}finally{c.getModel().endUpdate()}});this.addAction("toggleRounded",function(){if(!c.isSelectionEmpty()&&c.isEnabled()){c.getModel().beginUpdate();try{var a=c.getSelectionCells(),e=c.view.getState(a[0]),l=null!=e?e.style:c.getCellStyle(a[0]),d="1"==mxUtils.getValue(l,mxConstants.STYLE_ROUNDED,"0")?"0":"1";c.setCellStyles(mxConstants.STYLE_ROUNDED,d);c.setCellStyles(mxConstants.STYLE_CURVED,
+null);b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_ROUNDED,mxConstants.STYLE_CURVED],"values",[d,"0"],"cells",c.getSelectionCells()))}finally{c.getModel().endUpdate()}}});this.addAction("curved",function(){c.getModel().beginUpdate();try{c.setCellStyles(mxConstants.STYLE_ROUNDED,"0"),c.setCellStyles(mxConstants.STYLE_CURVED,"1"),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_ROUNDED,mxConstants.STYLE_CURVED],"values",["0","1"],"cells",c.getSelectionCells()))}finally{c.getModel().endUpdate()}});
+this.addAction("collapsible",function(){var a=c.view.getState(c.getSelectionCell()),e="1";null!=a&&null!=c.getFoldingImage(a)&&(e="0");c.setCellStyles("collapsible",e);b.fireEvent(new mxEventObject("styleChanged","keys",["collapsible"],"values",[e],"cells",c.getSelectionCells()))});this.addAction("editStyle...",mxUtils.bind(this,function(){var a=c.getSelectionCells();if(null!=a&&0<a.length){var b=c.getModel(),b=new TextareaDialog(this.editorUi,mxResources.get("editStyle")+":",b.getStyle(a[0])||"",
+function(b){null!=b&&c.setCellStyle(mxUtils.trim(b),a)},null,null,400,220);this.editorUi.showDialog(b.container,420,300,!0,!0);b.init()}}),null,null,Editor.ctrlKey+"+E");this.addAction("setAsDefaultStyle",function(){c.isEnabled()&&!c.isSelectionEmpty()&&b.setDefaultStyle(c.getSelectionCell())},null,null,Editor.ctrlKey+"+Shift+D");this.addAction("clearDefaultStyle",function(){c.isEnabled()&&b.clearDefaultStyle()},null,null,Editor.ctrlKey+"+Shift+R");this.addAction("addWaypoint",function(){var a=c.getSelectionCell();
+if(null!=a&&c.getModel().isEdge(a)){var b=e.graph.selectionCellsHandler.getHandler(a);if(b instanceof mxEdgeHandler){for(var l=c.view.translate,d=c.view.scale,f=l.x,l=l.y,a=c.getModel().getParent(a),k=c.getCellGeometry(a);c.getModel().isVertex(a)&&null!=k;)f+=k.x,l+=k.y,a=c.getModel().getParent(a),k=c.getCellGeometry(a);f=Math.round(c.snap(c.popupMenuHandler.triggerX/d-f));d=Math.round(c.snap(c.popupMenuHandler.triggerY/d-l));b.addPointAt(b.state,f,d)}}});this.addAction("removeWaypoint",function(){var a=
+b.actions.get("removeWaypoint");null!=a.handler&&a.handler.removePoint(a.handler.state,a.index)});this.addAction("clearWaypoints",function(){var a=c.getSelectionCells();if(null!=a){a=c.addAllEdges(a);c.getModel().beginUpdate();try{for(var b=0;b<a.length;b++){var e=a[b];if(c.getModel().isEdge(e)){var d=c.getCellGeometry(e);null!=d&&(d=d.clone(),d.points=null,c.getModel().setGeometry(e,d))}}}finally{c.getModel().endUpdate()}}},null,null,"Alt+Shift+C");m=this.addAction("subscript",mxUtils.bind(this,
+function(){c.cellEditor.isContentEditing()&&document.execCommand("subscript",!1,null)}),null,null,Editor.ctrlKey+"+,");m=this.addAction("superscript",mxUtils.bind(this,function(){c.cellEditor.isContentEditing()&&document.execCommand("superscript",!1,null)}),null,null,Editor.ctrlKey+"+.");this.addAction("image...",function(){if(c.isEnabled()&&!c.isCellLocked(c.getDefaultParent())){var a=mxResources.get("image")+" ("+mxResources.get("url")+"):",e=c.getView().getState(c.getSelectionCell()),l="";null!=
+e&&(l=e.style[mxConstants.STYLE_IMAGE]||l);var d=c.cellEditor.saveSelection();b.showImageDialog(a,l,function(a,b,e){if(c.cellEditor.isContentEditing())c.cellEditor.restoreSelection(d),c.insertImage(a,b,e);else{var f=c.getSelectionCells();if(null!=a&&(0<a.length||0<f.length)){var k=null;c.getModel().beginUpdate();try{if(0==f.length){var x=c.getFreeInsertPoint(),k=f=[c.insertVertex(c.getDefaultParent(),null,"",x.x,x.y,b,e,"shape=image;imageAspect=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;")];
+c.fireEvent(new mxEventObject("cellsInserted","cells",k))}c.setCellStyles(mxConstants.STYLE_IMAGE,0<a.length?a:null,f);var v=c.view.getState(f[0]),t=null!=v?v.style:c.getCellStyle(f[0]);"image"!=t[mxConstants.STYLE_SHAPE]&&"label"!=t[mxConstants.STYLE_SHAPE]?c.setCellStyles(mxConstants.STYLE_SHAPE,"image",f):0==a.length&&c.setCellStyles(mxConstants.STYLE_SHAPE,null,f);if(1==c.getSelectionCount()&&null!=b&&null!=e){var l=f[0],y=c.getModel().getGeometry(l);null!=y&&(y=y.clone(),y.width=b,y.height=e,
+c.getModel().setGeometry(l,y))}}finally{c.getModel().endUpdate()}null!=k&&(c.setSelectionCells(k),c.scrollCellToVisible(k[0]))}}},c.cellEditor.isContentEditing(),!c.cellEditor.isContentEditing())}}).isEnabled=l;m=this.addAction("layers",mxUtils.bind(this,function(){null==this.layersWindow?(this.layersWindow=new LayersWindow(b,document.body.offsetWidth-280,120,220,180),this.layersWindow.window.addListener("show",function(){b.fireEvent(new mxEventObject("layers"))}),this.layersWindow.window.addListener("hide",
 function(){b.fireEvent(new mxEventObject("layers"))}),this.layersWindow.window.setVisible(!0),b.fireEvent(new mxEventObject("layers"))):this.layersWindow.window.setVisible(!this.layersWindow.window.isVisible())}),null,null,Editor.ctrlKey+"+Shift+L");m.setToggleAction(!0);m.setSelectedCallback(mxUtils.bind(this,function(){return null!=this.layersWindow&&this.layersWindow.window.isVisible()}));m=this.addAction("formatPanel",mxUtils.bind(this,function(){b.toggleFormatPanel()}),null,null,Editor.ctrlKey+
 "+Shift+P");m.setToggleAction(!0);m.setSelectedCallback(mxUtils.bind(this,function(){return 0<b.formatWidth}));m=this.addAction("outline",mxUtils.bind(this,function(){null==this.outlineWindow?(this.outlineWindow=new OutlineWindow(b,document.body.offsetWidth-260,100,180,180),this.outlineWindow.window.addListener("show",function(){b.fireEvent(new mxEventObject("outline"))}),this.outlineWindow.window.addListener("hide",function(){b.fireEvent(new mxEventObject("outline"))}),this.outlineWindow.window.setVisible(!0),
 b.fireEvent(new mxEventObject("outline"))):this.outlineWindow.window.setVisible(!this.outlineWindow.window.isVisible())}),null,null,Editor.ctrlKey+"+Shift+O");m.setToggleAction(!0);m.setSelectedCallback(mxUtils.bind(this,function(){return null!=this.outlineWindow&&this.outlineWindow.window.isVisible()}))};
-Actions.prototype.addAction=function(a,b,f,d,l){var m;"..."==a.substring(a.length-3)?(a=a.substring(0,a.length-3),m=mxResources.get(a)+"..."):m=mxResources.get(a);return this.put(a,new Action(m,b,f,d,l))};Actions.prototype.put=function(a,b){return this.actions[a]=b};Actions.prototype.get=function(a){return this.actions[a]};function Action(a,b,f,d,l){mxEventSource.call(this);this.label=a;this.funct=this.createFunction(b);this.enabled=null!=f?f:!0;this.iconCls=d;this.shortcut=l;this.visible=!0}
+Actions.prototype.addAction=function(a,b,e,c,l){var m;"..."==a.substring(a.length-3)?(a=a.substring(0,a.length-3),m=mxResources.get(a)+"..."):m=mxResources.get(a);return this.put(a,new Action(m,b,e,c,l))};Actions.prototype.put=function(a,b){return this.actions[a]=b};Actions.prototype.get=function(a){return this.actions[a]};function Action(a,b,e,c,l){mxEventSource.call(this);this.label=a;this.funct=this.createFunction(b);this.enabled=null!=e?e:!0;this.iconCls=c;this.shortcut=l;this.visible=!0}
 mxUtils.extend(Action,mxEventSource);Action.prototype.createFunction=function(a){return a};Action.prototype.setEnabled=function(a){this.enabled!=a&&(this.enabled=a,this.fireEvent(new mxEventObject("stateChanged")))};Action.prototype.isEnabled=function(){return this.enabled};Action.prototype.setToggleAction=function(a){this.toggleAction=a};Action.prototype.setSelectedCallback=function(a){this.selectedCallback=a};Action.prototype.isSelected=function(){return this.selectedCallback()};DrawioFile=function(a,b){mxEventSource.call(this);this.ui=a;this.shadowData=this.data=b||"";this.shadowPages=null;this.stats={opened:0,merged:0,fileMerged:0,fileReloaded:0,conflicts:0,timeouts:0,saved:0,closed:0,destroyed:0,joined:0,checksumErrors:0,bytesSent:0,bytesReceived:0,msgSent:0,msgReceived:0,cacheHits:0,cacheMiss:0,cacheFail:0}};DrawioFile.SYNC=urlParams.sync||"auto";DrawioFile.LAST_WRITE_WINS=!0;mxUtils.extend(DrawioFile,mxEventSource);DrawioFile.prototype.allChangesSavedKey="allChangesSaved";
 DrawioFile.prototype.autosaveDelay=1500;DrawioFile.prototype.maxAutosaveDelay=3E4;DrawioFile.prototype.autosaveThread=null;DrawioFile.prototype.lastAutosave=null;DrawioFile.prototype.lastSaved=null;DrawioFile.prototype.lastChanged=null;DrawioFile.prototype.opened=null;DrawioFile.prototype.modified=!1;DrawioFile.prototype.data=null;DrawioFile.prototype.shadowData=null;DrawioFile.prototype.shadowPages=null;DrawioFile.prototype.changeListenerEnabled=!0;DrawioFile.prototype.lastAutosaveRevision=null;
 DrawioFile.prototype.maxAutosaveRevisionDelay=3E5;DrawioFile.prototype.inConflictState=!1;DrawioFile.prototype.invalidChecksum=!1;DrawioFile.prototype.errorReportsEnabled=!1;DrawioFile.prototype.reportEnabled=!0;DrawioFile.prototype.ageStart=null;DrawioFile.prototype.getSize=function(){return null!=this.data?this.data.length:0};
 DrawioFile.prototype.synchronizeFile=function(a,b){this.savingFile?null!=b&&b({message:mxResources.get("busy")}):null!=this.sync?this.sync.fileChanged(a,b):this.updateFile(a,b)};
-DrawioFile.prototype.updateFile=function(a,b,f,d){null!=f&&f()||(this.ui.getCurrentFile()!=this||this.invalidChecksum?null!=b&&b():this.getLatestVersion(mxUtils.bind(this,function(l){try{null!=f&&f()||(this.ui.getCurrentFile()!=this||this.invalidChecksum?null!=b&&b():null!=l?this.mergeFile(l,a,b,d):this.reloadFile(a,b))}catch(m){null!=b&&b(m)}}),b))};
-DrawioFile.prototype.mergeFile=function(a,b,f,d){var l=!0;try{this.stats.fileMerged++;var m=null!=this.shadowPages?this.shadowPages:this.ui.getPagesForNode(mxUtils.parseXml(this.shadowData).documentElement),q=this.ui.getPagesForNode(mxUtils.parseXml(a.data).documentElement);if(null!=q&&0<q.length){this.shadowPages=q;this.backupPatch=this.isModified()?this.ui.diffPages(m,this.ui.pages):null;var u=[this.ui.diffPages(null!=d?d:m,this.shadowPages)];if(!this.ignorePatches(u)){var z=this.ui.patchPages(m,
-u[0]);d={};var C=this.ui.getHashValueForPages(z,d),m={},c=this.ui.getHashValueForPages(this.shadowPages,m);"1"==urlParams.test&&EditorUi.debug("File.mergeFile",[this],"backup",this.backupPatch,"patches",u,"checksum",c==C,C);if(null!=C&&C!=c){var e=this.compressReportData(this.getAnonymizedXmlForPages(q)),k=this.compressReportData(this.getAnonymizedXmlForPages(z)),x=this.ui.hashValue(a.getCurrentEtag()),n=this.ui.hashValue(this.getCurrentEtag());this.checksumError(f,u,"Shadow Details: "+JSON.stringify(d)+
-"\nChecksum: "+C+"\nCurrent: "+c+"\nCurrent Details: "+JSON.stringify(m)+"\nFrom: "+x+"\nTo: "+n+"\n\nFile Data:\n"+e+"\nPatched Shadow:\n"+k,null,"mergeFile");return}this.patch(u,DrawioFile.LAST_WRITE_WINS?this.backupPatch:null)}}else throw l=!1,Error(mxResources.get("notADiagramFile"));this.inConflictState=this.invalidChecksum=!1;this.setDescriptor(a.getDescriptor());this.descriptorChanged();this.backupPatch=null;null!=b&&b()}catch(v){this.invalidChecksum=this.inConflictState=!0;this.descriptorChanged();
-null!=f&&f(v);try{if(l)if(this.errorReportsEnabled)this.sendErrorReport("Error in mergeFile",null,v);else{var g=this.getCurrentUser(),A=null!=g?g.id:"unknown";EditorUi.logError("Error in mergeFile",null,this.getMode()+"."+this.getId(),A,v)}}catch(t){}}};
-DrawioFile.prototype.getAnonymizedXmlForPages=function(a){var b=new mxCodec(mxUtils.createXmlDocument()),f=b.document.createElement("mxfile");if(null!=a)for(var d=0;d<a.length;d++){var l=b.encode(new mxGraphModel(a[d].root));"1"!=urlParams.dev&&(l=this.ui.anonymizeNode(l,!0));l.setAttribute("id",a[d].getId());a[d].viewState&&this.ui.editor.graph.saveViewState(a[d].viewState,l,!0);f.appendChild(l)}return mxUtils.getPrettyXml(f)};
-DrawioFile.prototype.compressReportData=function(a,b,f){b=null!=b?b:1E4;null!=f&&null!=a&&a.length>f?a=a.substring(0,f)+"[...]":null!=a&&a.length>b&&(a=Graph.compress(a)+"\n");return a};
-DrawioFile.prototype.checksumError=function(a,b,f,d,l){this.stats.checksumErrors++;this.invalidChecksum=this.inConflictState=!0;this.descriptorChanged();null!=this.sync&&this.sync.updateOnlineState();null!=a&&a();try{if(this.errorReportsEnabled){if(null!=b)for(a=0;a<b.length;a++)this.ui.anonymizePatch(b[a]);var m=mxUtils.bind(this,function(a){var d=this.compressReportData(JSON.stringify(b,null,2));a=null!=a?this.compressReportData(this.getAnonymizedXmlForPages(this.ui.getPagesForNode(mxUtils.parseXml(a.data).documentElement)),
-25E3):"n/a";this.sendErrorReport("Checksum Error in "+l+" "+this.getHash(),(null!=f?f:"")+"\n\nPatches:\n"+d+(null!=a?"\n\nRemote:\n"+a:""),null,7E4)});null==d?m(null):this.getLatestVersion(mxUtils.bind(this,function(a){null!=a&&a.getCurrentEtag()==d?m(a):m(null)}),function(){})}else{var q=this.getCurrentUser(),u=null!=q?q.id:"unknown";EditorUi.logError("Checksum Error in "+l+" "+this.getId(),null,this.getMode()+"."+this.getId(),"user_"+u+(null!=this.sync?"-client_"+this.sync.clientId:"-nosync"));
+DrawioFile.prototype.updateFile=function(a,b,e,c){null!=e&&e()||(this.ui.getCurrentFile()!=this||this.invalidChecksum?null!=b&&b():this.getLatestVersion(mxUtils.bind(this,function(l){try{null!=e&&e()||(this.ui.getCurrentFile()!=this||this.invalidChecksum?null!=b&&b():null!=l?this.mergeFile(l,a,b,c):this.reloadFile(a,b))}catch(m){null!=b&&b(m)}}),b))};
+DrawioFile.prototype.mergeFile=function(a,b,e,c){var l=!0;try{this.stats.fileMerged++;var m=null!=this.shadowPages?this.shadowPages:this.ui.getPagesForNode(mxUtils.parseXml(this.shadowData).documentElement),q=this.ui.getPagesForNode(mxUtils.parseXml(a.data).documentElement);if(null!=q&&0<q.length){this.shadowPages=q;this.backupPatch=this.isModified()?this.ui.diffPages(m,this.ui.pages):null;var u=[this.ui.diffPages(null!=c?c:m,this.shadowPages)];if(!this.ignorePatches(u)){var z=this.ui.patchPages(m,
+u[0]);c={};var C=this.ui.getHashValueForPages(z,c),m={},d=this.ui.getHashValueForPages(this.shadowPages,m);"1"==urlParams.test&&EditorUi.debug("File.mergeFile",[this],"backup",this.backupPatch,"patches",u,"checksum",d==C,C);if(null!=C&&C!=d){var f=this.compressReportData(this.getAnonymizedXmlForPages(q)),k=this.compressReportData(this.getAnonymizedXmlForPages(z)),x=this.ui.hashValue(a.getCurrentEtag()),n=this.ui.hashValue(this.getCurrentEtag());this.checksumError(e,u,"Shadow Details: "+JSON.stringify(c)+
+"\nChecksum: "+C+"\nCurrent: "+d+"\nCurrent Details: "+JSON.stringify(m)+"\nFrom: "+x+"\nTo: "+n+"\n\nFile Data:\n"+f+"\nPatched Shadow:\n"+k,null,"mergeFile");return}this.patch(u,DrawioFile.LAST_WRITE_WINS?this.backupPatch:null)}}else throw l=!1,Error(mxResources.get("notADiagramFile"));this.inConflictState=this.invalidChecksum=!1;this.setDescriptor(a.getDescriptor());this.descriptorChanged();this.backupPatch=null;null!=b&&b()}catch(v){this.invalidChecksum=this.inConflictState=!0;this.descriptorChanged();
+null!=e&&e(v);try{if(l)if(this.errorReportsEnabled)this.sendErrorReport("Error in mergeFile",null,v);else{var g=this.getCurrentUser(),A=null!=g?g.id:"unknown";EditorUi.logError("Error in mergeFile",null,this.getMode()+"."+this.getId(),A,v)}}catch(t){}}};
+DrawioFile.prototype.getAnonymizedXmlForPages=function(a){var b=new mxCodec(mxUtils.createXmlDocument()),e=b.document.createElement("mxfile");if(null!=a)for(var c=0;c<a.length;c++){var l=b.encode(new mxGraphModel(a[c].root));"1"!=urlParams.dev&&(l=this.ui.anonymizeNode(l,!0));l.setAttribute("id",a[c].getId());a[c].viewState&&this.ui.editor.graph.saveViewState(a[c].viewState,l,!0);e.appendChild(l)}return mxUtils.getPrettyXml(e)};
+DrawioFile.prototype.compressReportData=function(a,b,e){b=null!=b?b:1E4;null!=e&&null!=a&&a.length>e?a=a.substring(0,e)+"[...]":null!=a&&a.length>b&&(a=Graph.compress(a)+"\n");return a};
+DrawioFile.prototype.checksumError=function(a,b,e,c,l){this.stats.checksumErrors++;this.invalidChecksum=this.inConflictState=!0;this.descriptorChanged();null!=this.sync&&this.sync.updateOnlineState();null!=a&&a();try{if(this.errorReportsEnabled){if(null!=b)for(a=0;a<b.length;a++)this.ui.anonymizePatch(b[a]);var m=mxUtils.bind(this,function(a){var c=this.compressReportData(JSON.stringify(b,null,2));a=null!=a?this.compressReportData(this.getAnonymizedXmlForPages(this.ui.getPagesForNode(mxUtils.parseXml(a.data).documentElement)),
+25E3):"n/a";this.sendErrorReport("Checksum Error in "+l+" "+this.getHash(),(null!=e?e:"")+"\n\nPatches:\n"+c+(null!=a?"\n\nRemote:\n"+a:""),null,7E4)});null==c?m(null):this.getLatestVersion(mxUtils.bind(this,function(a){null!=a&&a.getCurrentEtag()==c?m(a):m(null)}),function(){})}else{var q=this.getCurrentUser(),u=null!=q?q.id:"unknown";EditorUi.logError("Checksum Error in "+l+" "+this.getId(),null,this.getMode()+"."+this.getId(),"user_"+u+(null!=this.sync?"-client_"+this.sync.clientId:"-nosync"));
 try{EditorUi.logEvent({category:"CHECKSUM-ERROR-SYNC-FILE-"+this.getHash(),action:l,label:"user_"+u+(null!=this.sync?"-client_"+this.sync.clientId:"-nosync")})}catch(z){}}}catch(z){}};
-DrawioFile.prototype.sendErrorReport=function(a,b,f,d){try{var l=this.compressReportData(this.getAnonymizedXmlForPages(this.shadowPages),25E3),m=this.compressReportData(this.getAnonymizedXmlForPages(this.ui.pages),25E3),q=this.getCurrentUser(),u=null!=q?this.ui.hashValue(q.id):"unknown",z=null!=this.sync?"-client_"+this.sync.clientId:"-nosync",C=this.getTitle(),c=C.lastIndexOf("."),q="xml";0<c&&(q=C.substring(c));var e=null!=f?f.stack:Error().stack;EditorUi.sendReport(a+" "+(new Date).toISOString()+
+DrawioFile.prototype.sendErrorReport=function(a,b,e,c){try{var l=this.compressReportData(this.getAnonymizedXmlForPages(this.shadowPages),25E3),m=this.compressReportData(this.getAnonymizedXmlForPages(this.ui.pages),25E3),q=this.getCurrentUser(),u=null!=q?this.ui.hashValue(q.id):"unknown",z=null!=this.sync?"-client_"+this.sync.clientId:"-nosync",C=this.getTitle(),d=C.lastIndexOf("."),q="xml";0<d&&(q=C.substring(d));var f=null!=e?e.stack:Error().stack;EditorUi.sendReport(a+" "+(new Date).toISOString()+
 ":\n\nBrowser="+navigator.userAgent+"\nFile="+this.ui.hashValue(this.getId())+" ("+this.getMode()+")"+(this.isModified()?" modified":"")+"\nSize/Type="+this.getSize()+" ("+q+")\nUser="+u+z+"\nPrefix="+this.ui.editor.graph.model.prefix+"\nSync="+DrawioFile.SYNC+(null!=this.sync?(this.sync.enabled?" enabled":"")+(this.sync.isConnected()?" connected":""):"")+"\nPlugins="+(null!=mxSettings.settings?mxSettings.getPlugins():"null")+"\n\nStats:\n"+JSON.stringify(this.stats,null,2)+(null!=b?"\n\n"+b:"")+
-(null!=f?"\n\nError: "+f.message:"")+"\n\nStack:\n"+e+"\n\nShadow:\n"+l+"\n\nData:\n"+m,d)}catch(k){}};
-DrawioFile.prototype.reloadFile=function(a,b){try{this.ui.spinner.stop();var f=mxUtils.bind(this,function(){this.stats.fileReloaded++;this.reportEnabled=!1;var b=this.ui.editor.graph.getViewState(),f=this.ui.editor.graph.getSelectionCells(),m=this.ui.currentPage;this.ui.loadFile(this.getHash(),!0,null,mxUtils.bind(this,function(){if(null==this.ui.fileLoadedError){this.ui.restoreViewState(m,b,f);null!=this.backupPatch&&this.patch([this.backupPatch]);var d=this.ui.getCurrentFile();null!=d&&(d.stats=
-this.stats);null!=a&&a()}}),!0)});this.isModified()&&null==this.backupPatch?this.ui.confirm(mxResources.get("allChangesLost"),mxUtils.bind(this,function(){this.handleFileSuccess("manual"==DrawioFile.SYNC)}),f,mxResources.get("cancel"),mxResources.get("discardChanges")):f()}catch(d){null!=b&&b(d)}};DrawioFile.prototype.copyFile=function(a,b){this.ui.editor.editAsNew(this.ui.getFileData(!0),this.ui.getCopyFilename(this))};
-DrawioFile.prototype.ignorePatches=function(a){for(var b=!0,f=0;f<a.length&&b;f++)b=b&&0==Object.keys(a[f]).length;return b};
-DrawioFile.prototype.patch=function(a,b){var f=this.ui.editor.undoManager,d=f.history.slice(),l=f.indexOfNextAdd,m=this.ui.editor.graph;m.container.style.visibility="hidden";var q=this.changeListenerEnabled;this.changeListenerEnabled=!1;var u=m.foldingEnabled,z=m.mathEnabled,C=m.cellRenderer.redraw;m.cellRenderer.redraw=function(a){a.view.graph.isEditing(a.cell)&&(a.view.graph.scrollCellToVisible(a.cell),a.view.graph.cellEditor.resize());C.apply(this,arguments)};m.model.beginUpdate();try{for(var c=
-0;c<a.length;c++)this.ui.pages=this.ui.patchPages(this.ui.pages,a[c],!0,b,this.isModified());0==this.ui.pages.length&&this.ui.pages.push(this.ui.createPage());0>mxUtils.indexOf(this.ui.pages,this.ui.currentPage)&&this.ui.selectPage(this.ui.pages[0],!0)}finally{m.container.style.visibility="";m.model.endUpdate();m.cellRenderer.redraw=C;this.changeListenerEnabled=q;f.history=d;f.indexOfNextAdd=l;f.fireEvent(new mxEventObject(mxEvent.CLEAR));if(null==this.ui.currentPage||this.ui.currentPage.needsUpdate)z!=
+(null!=e?"\n\nError: "+e.message:"")+"\n\nStack:\n"+f+"\n\nShadow:\n"+l+"\n\nData:\n"+m,c)}catch(k){}};
+DrawioFile.prototype.reloadFile=function(a,b){try{this.ui.spinner.stop();var e=mxUtils.bind(this,function(){this.stats.fileReloaded++;this.reportEnabled=!1;var b=this.ui.editor.graph.getViewState(),e=this.ui.editor.graph.getSelectionCells(),m=this.ui.currentPage;this.ui.loadFile(this.getHash(),!0,null,mxUtils.bind(this,function(){if(null==this.ui.fileLoadedError){this.ui.restoreViewState(m,b,e);null!=this.backupPatch&&this.patch([this.backupPatch]);var c=this.ui.getCurrentFile();null!=c&&(c.stats=
+this.stats);null!=a&&a()}}),!0)});this.isModified()&&null==this.backupPatch?this.ui.confirm(mxResources.get("allChangesLost"),mxUtils.bind(this,function(){this.handleFileSuccess("manual"==DrawioFile.SYNC)}),e,mxResources.get("cancel"),mxResources.get("discardChanges")):e()}catch(c){null!=b&&b(c)}};DrawioFile.prototype.copyFile=function(a,b){this.ui.editor.editAsNew(this.ui.getFileData(!0),this.ui.getCopyFilename(this))};
+DrawioFile.prototype.ignorePatches=function(a){for(var b=!0,e=0;e<a.length&&b;e++)b=b&&0==Object.keys(a[e]).length;return b};
+DrawioFile.prototype.patch=function(a,b){var e=this.ui.editor.undoManager,c=e.history.slice(),l=e.indexOfNextAdd,m=this.ui.editor.graph;m.container.style.visibility="hidden";var q=this.changeListenerEnabled;this.changeListenerEnabled=!1;var u=m.foldingEnabled,z=m.mathEnabled,C=m.cellRenderer.redraw;m.cellRenderer.redraw=function(a){a.view.graph.isEditing(a.cell)&&(a.view.graph.scrollCellToVisible(a.cell),a.view.graph.cellEditor.resize());C.apply(this,arguments)};m.model.beginUpdate();try{for(var d=
+0;d<a.length;d++)this.ui.pages=this.ui.patchPages(this.ui.pages,a[d],!0,b,this.isModified());0==this.ui.pages.length&&this.ui.pages.push(this.ui.createPage());0>mxUtils.indexOf(this.ui.pages,this.ui.currentPage)&&this.ui.selectPage(this.ui.pages[0],!0)}finally{m.container.style.visibility="";m.model.endUpdate();m.cellRenderer.redraw=C;this.changeListenerEnabled=q;e.history=c;e.indexOfNextAdd=l;e.fireEvent(new mxEventObject(mxEvent.CLEAR));if(null==this.ui.currentPage||this.ui.currentPage.needsUpdate)z!=
 m.mathEnabled?(this.ui.editor.updateGraphComponents(),m.refresh()):(u!=m.foldingEnabled?m.view.revalidate():m.view.validate(),m.sizeDidChange());this.ui.updateTabContainer()}};
-DrawioFile.prototype.save=function(a,b,f,d,l,m){try{if(this.isEditable())if(!l&&this.invalidChecksum)if(null!=f)f({message:mxResources.get("checksum")});else throw Error(mxResources.get("checksum"));else this.updateFileData(),this.clearAutosave(),null!=b&&b();else if(null!=f)f({message:mxResources.get("readOnly")});else throw Error(mxResources.get("readOnly"));}catch(q){if(null!=f)f(q);else throw q;}};
-DrawioFile.prototype.updateFileData=function(){this.setData(this.ui.getFileData(null,null,null,null,null,null,null,null,this,!this.isCompressed()))};DrawioFile.prototype.isCompressedStorage=function(){return!0};DrawioFile.prototype.isCompressed=function(){var a=null!=this.ui.fileNode?this.ui.fileNode.getAttribute("compressed"):null;return null!=a?"false"!=a:this.isCompressedStorage()&&Editor.compressXml};DrawioFile.prototype.saveAs=function(a,b,f){};DrawioFile.prototype.saveFile=function(a,b,f,d){};
-DrawioFile.prototype.getPublicUrl=function(a){a(null)};DrawioFile.prototype.isRestricted=function(){return!1};DrawioFile.prototype.isModified=function(){return this.modified};DrawioFile.prototype.setModified=function(a){this.modified=a};DrawioFile.prototype.isAutosaveOptional=function(){return!1};DrawioFile.prototype.isAutosave=function(){return!this.inConflictState&&this.ui.editor.autosave};DrawioFile.prototype.isRenamable=function(){return!1};DrawioFile.prototype.rename=function(a,b,f){};
-DrawioFile.prototype.isMovable=function(){return!1};DrawioFile.prototype.isTrashed=function(){return!1};DrawioFile.prototype.move=function(a,b,f){};DrawioFile.prototype.getHash=function(){return""};DrawioFile.prototype.getId=function(){return""};DrawioFile.prototype.isEditable=function(){return!this.ui.editor.isChromelessView()||this.ui.editor.editable};DrawioFile.prototype.getUi=function(){return this.ui};DrawioFile.prototype.getTitle=function(){return""};
+DrawioFile.prototype.save=function(a,b,e,c,l,m){try{if(this.isEditable())if(!l&&this.invalidChecksum)if(null!=e)e({message:mxResources.get("checksum")});else throw Error(mxResources.get("checksum"));else this.updateFileData(),this.clearAutosave(),null!=b&&b();else if(null!=e)e({message:mxResources.get("readOnly")});else throw Error(mxResources.get("readOnly"));}catch(q){if(null!=e)e(q);else throw q;}};
+DrawioFile.prototype.updateFileData=function(){this.setData(this.ui.getFileData(null,null,null,null,null,null,null,null,this,!this.isCompressed()))};DrawioFile.prototype.isCompressedStorage=function(){return!0};DrawioFile.prototype.isCompressed=function(){var a=null!=this.ui.fileNode?this.ui.fileNode.getAttribute("compressed"):null;return null!=a?"false"!=a:this.isCompressedStorage()&&Editor.compressXml};DrawioFile.prototype.saveAs=function(a,b,e){};DrawioFile.prototype.saveFile=function(a,b,e,c){};
+DrawioFile.prototype.getPublicUrl=function(a){a(null)};DrawioFile.prototype.isRestricted=function(){return!1};DrawioFile.prototype.isModified=function(){return this.modified};DrawioFile.prototype.setModified=function(a){this.modified=a};DrawioFile.prototype.isAutosaveOptional=function(){return!1};DrawioFile.prototype.isAutosave=function(){return!this.inConflictState&&this.ui.editor.autosave};DrawioFile.prototype.isRenamable=function(){return!1};DrawioFile.prototype.rename=function(a,b,e){};
+DrawioFile.prototype.isMovable=function(){return!1};DrawioFile.prototype.isTrashed=function(){return!1};DrawioFile.prototype.move=function(a,b,e){};DrawioFile.prototype.getHash=function(){return""};DrawioFile.prototype.getId=function(){return""};DrawioFile.prototype.isEditable=function(){return!this.ui.editor.isChromelessView()||this.ui.editor.editable};DrawioFile.prototype.getUi=function(){return this.ui};DrawioFile.prototype.getTitle=function(){return""};
 DrawioFile.prototype.setData=function(a){this.data=a};DrawioFile.prototype.getData=function(){return this.data};
-DrawioFile.prototype.open=function(){this.stats.opened++;var a=this.getData();if(null!=a){var b=function(a){for(var b=0;null!=a&&b<a.length;b++){var f=a[b];null!=f.id&&0==f.id.indexOf("extFont_")&&f.parentNode.removeChild(f)}};b(document.querySelectorAll("head > style[id]"));b(document.querySelectorAll("head > link[id]"));this.ui.setFileData(a);this.isModified()||(this.shadowData=mxUtils.getXml(this.ui.getXmlFileData()),this.shadowPages=null)}this.installListeners();this.isSyncSupported()&&this.startSync()};
+DrawioFile.prototype.open=function(){this.stats.opened++;var a=this.getData();if(null!=a){var b=function(a){for(var b=0;null!=a&&b<a.length;b++){var e=a[b];null!=e.id&&0==e.id.indexOf("extFont_")&&e.parentNode.removeChild(e)}};b(document.querySelectorAll("head > style[id]"));b(document.querySelectorAll("head > link[id]"));this.ui.setFileData(a);this.isModified()||(this.shadowData=mxUtils.getXml(this.ui.getXmlFileData()),this.shadowPages=null)}this.installListeners();this.isSyncSupported()&&this.startSync()};
 DrawioFile.prototype.isSyncSupported=function(){return!1};DrawioFile.prototype.isRevisionHistorySupported=function(){return!1};DrawioFile.prototype.getRevisions=function(a,b){a(null)};DrawioFile.prototype.loadDescriptor=function(a,b){a(null)};DrawioFile.prototype.loadPatchDescriptor=function(a,b){this.loadDescriptor(mxUtils.bind(this,function(b){a(b)}),b)};DrawioFile.prototype.patchDescriptor=function(a,b){this.setDescriptorEtag(a,this.getDescriptorEtag(b))};
 DrawioFile.prototype.startSync=function(){"auto"!=DrawioFile.SYNC||"1"==urlParams.stealth||"1"!=urlParams.rt&&this.ui.editor.chromeless&&!this.ui.editor.editable||(null==this.sync&&(this.sync=new DrawioFileSync(this)),this.sync.start())};DrawioFile.prototype.isConflict=function(){return!1};DrawioFile.prototype.getChannelId=function(){return Graph.compress(this.getHash()).replace(/[\/ +]/g,"_")};DrawioFile.prototype.getChannelKey=function(a){return null};DrawioFile.prototype.getCurrentUser=function(){return null};
 DrawioFile.prototype.getLatestVersion=function(a,b){a(null)};DrawioFile.prototype.getLastModifiedDate=function(){return new Date};DrawioFile.prototype.setCurrentRevisionId=function(a){this.setDescriptorRevisionId(this.getDescriptor(),a)};DrawioFile.prototype.getCurrentRevisionId=function(){return this.getDescriptorRevisionId(this.getDescriptor())};DrawioFile.prototype.setCurrentEtag=function(a){this.setDescriptorEtag(this.getDescriptor(),a)};DrawioFile.prototype.getCurrentEtag=function(){return this.getDescriptorEtag(this.getDescriptor())};
 DrawioFile.prototype.getDescriptor=function(){return null};DrawioFile.prototype.setDescriptor=function(){};DrawioFile.prototype.setDescriptorRevisionId=function(a,b){this.setDescriptorEtag(a,b)};DrawioFile.prototype.getDescriptorRevisionId=function(a){return this.getDescriptorEtag(a)};DrawioFile.prototype.setDescriptorEtag=function(a,b){};DrawioFile.prototype.getDescriptorEtag=function(a){return null};DrawioFile.prototype.getDescriptorSecret=function(a){return null};
-DrawioFile.prototype.installListeners=function(){null==this.changeListener&&(this.changeListener=mxUtils.bind(this,function(a,b){var f=null!=b?b.getProperty("edit"):null;!this.changeListenerEnabled||!this.isEditable()||null!=f&&f.ignoreEdit||this.fileChanged()}),this.ui.editor.graph.model.addListener(mxEvent.CHANGE,this.changeListener),this.ui.editor.graph.addListener("gridSizeChanged",this.changeListener),this.ui.editor.graph.addListener("shadowVisibleChanged",this.changeListener),this.ui.addListener("pageFormatChanged",
+DrawioFile.prototype.installListeners=function(){null==this.changeListener&&(this.changeListener=mxUtils.bind(this,function(a,b){var e=null!=b?b.getProperty("edit"):null;!this.changeListenerEnabled||!this.isEditable()||null!=e&&e.ignoreEdit||this.fileChanged()}),this.ui.editor.graph.model.addListener(mxEvent.CHANGE,this.changeListener),this.ui.editor.graph.addListener("gridSizeChanged",this.changeListener),this.ui.editor.graph.addListener("shadowVisibleChanged",this.changeListener),this.ui.addListener("pageFormatChanged",
 this.changeListener),this.ui.addListener("pageScaleChanged",this.changeListener),this.ui.addListener("backgroundColorChanged",this.changeListener),this.ui.addListener("backgroundImageChanged",this.changeListener),this.ui.addListener("foldingEnabledChanged",this.changeListener),this.ui.addListener("mathEnabledChanged",this.changeListener),this.ui.addListener("gridEnabledChanged",this.changeListener),this.ui.addListener("guidesEnabledChanged",this.changeListener),this.ui.addListener("pageViewChanged",
 this.changeListener),this.ui.addListener("connectionPointsChanged",this.changeListener),this.ui.addListener("connectionArrowsChanged",this.changeListener))};
 DrawioFile.prototype.addAllSavedStatus=function(a){null!=this.ui.statusContainer&&this.ui.getCurrentFile()==this&&(a=null!=a?a:mxUtils.htmlEntities(mxResources.get(this.allChangesSavedKey)),this.ui.editor.setStatus('<div title="'+a+'">'+a+"</div>"),a=this.ui.statusContainer.getElementsByTagName("div"),0<a.length&&this.isRevisionHistorySupported()&&(a[0].style.cursor="pointer",a[0].style.textDecoration="underline",mxEvent.addListener(a[0],"click",mxUtils.bind(this,function(){this.ui.actions.get("revisionHistory").funct()}))))};
-DrawioFile.prototype.addUnsavedStatus=function(a){if(!this.inConflictState&&null!=this.ui.statusContainer&&this.ui.getCurrentFile()==this)if(a instanceof Error&&null!=a.message&&""!=a.message){var b=mxUtils.htmlEntities(mxResources.get("unsavedChanges"));this.ui.editor.setStatus('<div title="'+b+'" class="geStatusAlert" style="overflow:hidden;">'+b+" ("+mxUtils.htmlEntities(a.message)+")</div>")}else{b=this.getErrorMessage(a);if(null==b&&null!=this.lastSaved){var f=this.ui.timeSince(new Date(this.lastSaved));
-null!=f&&(b=mxResources.get("lastSaved",[f]))}null!=b&&60<b.length&&(b=b.substring(0,60)+"...");b=mxUtils.htmlEntities(mxResources.get("unsavedChangesClickHereToSave"))+(null!=b&&""!=b?" ("+mxUtils.htmlEntities(b)+")":"");this.ui.editor.setStatus('<div title="'+b+'" class="geStatusAlert" style="cursor:pointer;overflow:hidden;">'+b+"</div>");b=this.ui.statusContainer.getElementsByTagName("div");null!=b&&0<b.length?mxEvent.addListener(b[0],"click",mxUtils.bind(this,function(){this.ui.actions.get(null!=
+DrawioFile.prototype.addUnsavedStatus=function(a){if(!this.inConflictState&&null!=this.ui.statusContainer&&this.ui.getCurrentFile()==this)if(a instanceof Error&&null!=a.message&&""!=a.message){var b=mxUtils.htmlEntities(mxResources.get("unsavedChanges"));this.ui.editor.setStatus('<div title="'+b+'" class="geStatusAlert" style="overflow:hidden;">'+b+" ("+mxUtils.htmlEntities(a.message)+")</div>")}else{b=this.getErrorMessage(a);if(null==b&&null!=this.lastSaved){var e=this.ui.timeSince(new Date(this.lastSaved));
+null!=e&&(b=mxResources.get("lastSaved",[e]))}null!=b&&60<b.length&&(b=b.substring(0,60)+"...");b=mxUtils.htmlEntities(mxResources.get("unsavedChangesClickHereToSave"))+(null!=b&&""!=b?" ("+mxUtils.htmlEntities(b)+")":"");this.ui.editor.setStatus('<div title="'+b+'" class="geStatusAlert" style="cursor:pointer;overflow:hidden;">'+b+"</div>");b=this.ui.statusContainer.getElementsByTagName("div");null!=b&&0<b.length?mxEvent.addListener(b[0],"click",mxUtils.bind(this,function(){this.ui.actions.get(null!=
 this.ui.mode&&this.isEditable()?"save":"saveAs").funct()})):(b=mxUtils.htmlEntities(mxResources.get("unsavedChanges")),this.ui.editor.setStatus('<div title="'+b+'" class="geStatusAlert" style="overflow:hidden;">'+b+" ("+mxUtils.htmlEntities(a.message)+")</div>"))}};
-DrawioFile.prototype.addConflictStatus=function(a,b){this.invalidChecksum&&null==b&&(b=mxResources.get("checksum"));this.setConflictStatus(mxUtils.htmlEntities(mxResources.get("fileChangedSync"))+(null!=b&&""!=b?" ("+mxUtils.htmlEntities(b)+")":""));this.ui.spinner.stop();this.clearAutosave();var f=null!=this.ui.statusContainer?this.ui.statusContainer.getElementsByTagName("div"):null;null!=f&&0<f.length?mxEvent.addListener(f[0],"click",mxUtils.bind(this,function(b){"IMG"!=mxEvent.getSource(b).nodeName&&
+DrawioFile.prototype.addConflictStatus=function(a,b){this.invalidChecksum&&null==b&&(b=mxResources.get("checksum"));this.setConflictStatus(mxUtils.htmlEntities(mxResources.get("fileChangedSync"))+(null!=b&&""!=b?" ("+mxUtils.htmlEntities(b)+")":""));this.ui.spinner.stop();this.clearAutosave();var e=null!=this.ui.statusContainer?this.ui.statusContainer.getElementsByTagName("div"):null;null!=e&&0<e.length?mxEvent.addListener(e[0],"click",mxUtils.bind(this,function(b){"IMG"!=mxEvent.getSource(b).nodeName&&
 a()})):this.ui.alert(mxUtils.htmlEntities(mxResources.get("fileChangedSync")),a)};DrawioFile.prototype.setConflictStatus=function(a){this.ui.editor.setStatus('<div title="'+a+'" class="geStatusAlert geBlink" style="cursor:pointer;overflow:hidden;">'+a+' <a href="https://desk.draw.io/support/solutions/articles/16000087947" target="_blank"><img border="0" style="margin-left:2px;cursor:help;opacity:0.5;width:16px;height:16px;" valign="bottom" src="'+Editor.helpImage+'" style=""/></a></div>')};
-DrawioFile.prototype.showRefreshDialog=function(a,b,f){null==f&&(f=mxResources.get("checksum"));this.ui.editor.isChromelessView()&&!this.ui.editor.editable?this.ui.alert(mxResources.get("fileChangedSync"),mxUtils.bind(this,function(){this.reloadFile(a,b)})):(this.addConflictStatus(mxUtils.bind(this,function(){this.showRefreshDialog(a,b)}),f),this.ui.showError(mxResources.get("error")+" ("+f+")",mxResources.get("fileChangedSyncDialog"),mxResources.get("makeCopy"),mxUtils.bind(this,function(){this.copyFile(a,
+DrawioFile.prototype.showRefreshDialog=function(a,b,e){null==e&&(e=mxResources.get("checksum"));this.ui.editor.isChromelessView()&&!this.ui.editor.editable?this.ui.alert(mxResources.get("fileChangedSync"),mxUtils.bind(this,function(){this.reloadFile(a,b)})):(this.addConflictStatus(mxUtils.bind(this,function(){this.showRefreshDialog(a,b)}),e),this.ui.showError(mxResources.get("error")+" ("+e+")",mxResources.get("fileChangedSyncDialog"),mxResources.get("makeCopy"),mxUtils.bind(this,function(){this.copyFile(a,
 b)}),null,mxResources.get("synchronize"),mxUtils.bind(this,function(){this.reloadFile(a,b)}),mxResources.get("cancel"),mxUtils.bind(this,function(){this.ui.hideDialog()}),360,150))};
-DrawioFile.prototype.showCopyDialog=function(a,b,f){this.invalidChecksum=this.inConflictState=!1;this.addUnsavedStatus();this.ui.showError(mxResources.get("externalChanges"),mxResources.get("fileChangedOverwriteDialog"),mxResources.get("makeCopy"),mxUtils.bind(this,function(){this.copyFile(a,b)}),null,mxResources.get("overwrite"),f,mxResources.get("cancel"),mxUtils.bind(this,function(){this.ui.hideDialog()}),360,150)};
+DrawioFile.prototype.showCopyDialog=function(a,b,e){this.invalidChecksum=this.inConflictState=!1;this.addUnsavedStatus();this.ui.showError(mxResources.get("externalChanges"),mxResources.get("fileChangedOverwriteDialog"),mxResources.get("makeCopy"),mxUtils.bind(this,function(){this.copyFile(a,b)}),null,mxResources.get("overwrite"),e,mxResources.get("cancel"),mxUtils.bind(this,function(){this.ui.hideDialog()}),360,150)};
 DrawioFile.prototype.showConflictDialog=function(a,b){this.ui.showError(mxResources.get("externalChanges"),mxResources.get("fileChangedSyncDialog"),mxResources.get("overwrite"),a,null,mxResources.get("synchronize"),b,mxResources.get("cancel"),mxUtils.bind(this,function(){this.ui.hideDialog();this.handleFileError(null,!1)}),340,150)};
-DrawioFile.prototype.redirectToNewApp=function(a,b){this.ui.spinner.stop();if(!this.redirectDialogShowing){this.redirectDialogShowing=!0;var f=window.location.protocol+"//"+window.location.host+"/"+this.ui.getSearch("create title mode url drive splash state".split(" "))+"#"+this.getHash(),d=mxResources.get("redirectToNewApp");null!=b&&(d+=" ("+b+")");var l=mxUtils.bind(this,function(){var b=mxUtils.bind(this,function(){this.redirectDialogShowing=!1;window.location.href==f?window.location.reload():
-window.location.href=f});null==a&&this.isModified()?this.ui.confirm(mxResources.get("allChangesLost"),mxUtils.bind(this,function(){this.redirectDialogShowing=!1}),b,mxResources.get("cancel"),mxResources.get("discardChanges")):b()});null!=a?this.isModified()?this.ui.confirm(d,mxUtils.bind(this,function(){this.redirectDialogShowing=!1;a()}),l,mxResources.get("cancel"),mxResources.get("discardChanges")):this.ui.confirm(d,l,mxUtils.bind(this,function(){this.redirectDialogShowing=!1;a()})):this.ui.alert(mxResources.get("redirectToNewApp"),
+DrawioFile.prototype.redirectToNewApp=function(a,b){this.ui.spinner.stop();if(!this.redirectDialogShowing){this.redirectDialogShowing=!0;var e=window.location.protocol+"//"+window.location.host+"/"+this.ui.getSearch("create title mode url drive splash state".split(" "))+"#"+this.getHash(),c=mxResources.get("redirectToNewApp");null!=b&&(c+=" ("+b+")");var l=mxUtils.bind(this,function(){var b=mxUtils.bind(this,function(){this.redirectDialogShowing=!1;window.location.href==e?window.location.reload():
+window.location.href=e});null==a&&this.isModified()?this.ui.confirm(mxResources.get("allChangesLost"),mxUtils.bind(this,function(){this.redirectDialogShowing=!1}),b,mxResources.get("cancel"),mxResources.get("discardChanges")):b()});null!=a?this.isModified()?this.ui.confirm(c,mxUtils.bind(this,function(){this.redirectDialogShowing=!1;a()}),l,mxResources.get("cancel"),mxResources.get("discardChanges")):this.ui.confirm(c,l,mxUtils.bind(this,function(){this.redirectDialogShowing=!1;a()})):this.ui.alert(mxResources.get("redirectToNewApp"),
 l)}};DrawioFile.prototype.handleFileSuccess=function(a){this.ui.spinner.stop();this.ui.getCurrentFile()==this&&(this.isModified()?this.fileChanged():a?(this.isTrashed()?this.addAllSavedStatus(mxUtils.htmlEntities(mxResources.get(this.allChangesSavedKey))+" ("+mxUtils.htmlEntities(mxResources.get("fileMovedToTrash"))+")"):this.addAllSavedStatus(),null!=this.sync&&(this.sync.resetUpdateStatusThread(),this.sync.remoteFileChanged&&(this.sync.remoteFileChanged=!1,this.sync.fileChangedNotify()))):this.ui.editor.setStatus(""))};
-DrawioFile.prototype.handleFileError=function(a,b){this.ui.spinner.stop();if(this.ui.getCurrentFile()==this)if(this.inConflictState)this.handleConflictError(a,b);else if(this.isModified()&&this.addUnsavedStatus(a),b)this.ui.handleError(a,null!=a?mxResources.get("errorSavingFile"):null);else if(!this.isModified()){var f=null!=a?null!=a.error?a.error.message:a.message:null;null!=f&&60<f.length&&(f=f.substring(0,60)+"...");this.ui.editor.setStatus('<div class="geStatusAlert" style="cursor:pointer;overflow:hidden;">'+
-mxUtils.htmlEntities(mxResources.get("error"))+(null!=f?" ("+mxUtils.htmlEntities(f)+")":"")+"</div>")}};
-DrawioFile.prototype.handleConflictError=function(a,b){var f=mxUtils.bind(this,function(){this.handleFileSuccess(!0)}),d=mxUtils.bind(this,function(a){this.handleFileError(a,!0)}),l=mxUtils.bind(this,function(){this.ui.spinner.spin(document.body,mxResources.get("saving"))&&(this.ui.editor.setStatus(""),this.save(!0,f,d,null,!0,this.constructor!=GitHubFile&&this.constructor!=GitLabFile||null==a?null:a.commitMessage))}),m=mxUtils.bind(this,function(){this.ui.spinner.spin(document.body,mxResources.get("updatingDocument"))&&
-this.synchronizeFile(mxUtils.bind(this,function(){this.ui.spinner.stop();this.ui.spinner.spin(document.body,mxResources.get("saving"))&&this.save(!0,f,d,null,null,this.constructor!=GitHubFile&&this.constructor!=GitLabFile||null==a?null:a.commitMessage)}),d)});"none"==DrawioFile.SYNC?this.showCopyDialog(f,d,l):this.invalidChecksum?this.showRefreshDialog(f,d,this.getErrorMessage(a)):b?this.showConflictDialog(l,m):this.addConflictStatus(mxUtils.bind(this,function(){this.ui.editor.setStatus(mxUtils.htmlEntities(mxResources.get("updatingDocument")));
-this.synchronizeFile(f,d)}),this.getErrorMessage(a))};DrawioFile.prototype.getErrorMessage=function(a){return null!=a?null!=a.error?a.error.message:a.message:null};DrawioFile.prototype.isOverdue=function(){return null!=this.ageStart&&Date.now()-this.ageStart.getTime()>=this.ui.warnInterval};
+DrawioFile.prototype.handleFileError=function(a,b){this.ui.spinner.stop();if(this.ui.getCurrentFile()==this)if(this.inConflictState)this.handleConflictError(a,b);else if(this.isModified()&&this.addUnsavedStatus(a),b)this.ui.handleError(a,null!=a?mxResources.get("errorSavingFile"):null);else if(!this.isModified()){var e=null!=a?null!=a.error?a.error.message:a.message:null;null!=e&&60<e.length&&(e=e.substring(0,60)+"...");this.ui.editor.setStatus('<div class="geStatusAlert" style="cursor:pointer;overflow:hidden;">'+
+mxUtils.htmlEntities(mxResources.get("error"))+(null!=e?" ("+mxUtils.htmlEntities(e)+")":"")+"</div>")}};
+DrawioFile.prototype.handleConflictError=function(a,b){var e=mxUtils.bind(this,function(){this.handleFileSuccess(!0)}),c=mxUtils.bind(this,function(a){this.handleFileError(a,!0)}),l=mxUtils.bind(this,function(){this.ui.spinner.spin(document.body,mxResources.get("saving"))&&(this.ui.editor.setStatus(""),this.save(!0,e,c,null,!0,this.constructor!=GitHubFile&&this.constructor!=GitLabFile||null==a?null:a.commitMessage))}),m=mxUtils.bind(this,function(){this.ui.spinner.spin(document.body,mxResources.get("updatingDocument"))&&
+this.synchronizeFile(mxUtils.bind(this,function(){this.ui.spinner.stop();this.ui.spinner.spin(document.body,mxResources.get("saving"))&&this.save(!0,e,c,null,null,this.constructor!=GitHubFile&&this.constructor!=GitLabFile||null==a?null:a.commitMessage)}),c)});"none"==DrawioFile.SYNC?this.showCopyDialog(e,c,l):this.invalidChecksum?this.showRefreshDialog(e,c,this.getErrorMessage(a)):b?this.showConflictDialog(l,m):this.addConflictStatus(mxUtils.bind(this,function(){this.ui.editor.setStatus(mxUtils.htmlEntities(mxResources.get("updatingDocument")));
+this.synchronizeFile(e,c)}),this.getErrorMessage(a))};DrawioFile.prototype.getErrorMessage=function(a){return null!=a?null!=a.error?a.error.message:a.message:null};DrawioFile.prototype.isOverdue=function(){return null!=this.ageStart&&Date.now()-this.ageStart.getTime()>=this.ui.warnInterval};
 DrawioFile.prototype.fileChanged=function(){this.lastChanged=new Date;this.setModified(!0);this.isAutosave()?(this.addAllSavedStatus(mxUtils.htmlEntities(mxResources.get("saving"))+"..."),this.ui.scheduleSanityCheck(),null==this.ageStart&&(this.ageStart=new Date),this.autosave(this.autosaveDelay,this.maxAutosaveDelay,mxUtils.bind(this,function(a){this.ui.stopSanityCheck();null==this.autosaveThread?(this.handleFileSuccess(!0),this.ageStart=null):this.isModified()&&(this.ui.scheduleSanityCheck(),this.ageStart=
 this.lastChanged)}),mxUtils.bind(this,function(a){this.handleFileError(a)}))):(this.ageStart=null,this.isAutosaveOptional()&&this.ui.editor.autosave||this.inConflictState||this.addUnsavedStatus())};
-DrawioFile.prototype.fileSaved=function(a,b,f,d){this.lastSaved=new Date;this.ageStart=null;try{this.stats.saved++,this.invalidChecksum=this.inConflictState=!1,null==this.sync?(this.shadowData=a,this.shadowPages=null,null!=f&&f()):this.sync.fileSaved(this.ui.getPagesForNode(mxUtils.parseXml(a).documentElement),b,f,d,a)}catch(q){this.invalidChecksum=this.inConflictState=!0;this.descriptorChanged();null!=d&&d(q);try{if(this.errorReportsEnabled)this.sendErrorReport("Error in fileSaved",null,q);else{var l=
+DrawioFile.prototype.fileSaved=function(a,b,e,c){this.lastSaved=new Date;this.ageStart=null;try{this.stats.saved++,this.invalidChecksum=this.inConflictState=!1,null==this.sync?(this.shadowData=a,this.shadowPages=null,null!=e&&e()):this.sync.fileSaved(this.ui.getPagesForNode(mxUtils.parseXml(a).documentElement),b,e,c,a)}catch(q){this.invalidChecksum=this.inConflictState=!0;this.descriptorChanged();null!=c&&c(q);try{if(this.errorReportsEnabled)this.sendErrorReport("Error in fileSaved",null,q);else{var l=
 this.getCurrentUser(),m=null!=l?l.id:"unknown";EditorUi.logError("Error in fileSaved",null,this.getMode()+"."+this.getId(),m,q)}}catch(u){}}};
-DrawioFile.prototype.autosave=function(a,b,f,d){null==this.lastAutosave&&(this.lastAutosave=Date.now());a=Date.now()-this.lastAutosave<b?a:0;this.clearAutosave();var l=window.setTimeout(mxUtils.bind(this,function(){this.lastAutosave=null;this.autosaveThread==l&&(this.autosaveThread=null);if(this.isModified()&&this.isAutosaveNow()){var a=this.isAutosaveRevision();a&&(this.lastAutosaveRevision=(new Date).getTime());this.save(a,mxUtils.bind(this,function(a){this.autosaveCompleted();null!=f&&f(a)}),mxUtils.bind(this,
-function(a){null!=d&&d(a)}))}else this.isModified()||this.ui.editor.setStatus(""),null!=f&&f(null)}),a);this.autosaveThread=l};DrawioFile.prototype.isAutosaveNow=function(){return!0};DrawioFile.prototype.autosaveCompleted=function(){};DrawioFile.prototype.clearAutosave=function(){null!=this.autosaveThread&&(window.clearTimeout(this.autosaveThread),this.autosaveThread=null)};
+DrawioFile.prototype.autosave=function(a,b,e,c){null==this.lastAutosave&&(this.lastAutosave=Date.now());a=Date.now()-this.lastAutosave<b?a:0;this.clearAutosave();var l=window.setTimeout(mxUtils.bind(this,function(){this.lastAutosave=null;this.autosaveThread==l&&(this.autosaveThread=null);if(this.isModified()&&this.isAutosaveNow()){var a=this.isAutosaveRevision();a&&(this.lastAutosaveRevision=(new Date).getTime());this.save(a,mxUtils.bind(this,function(a){this.autosaveCompleted();null!=e&&e(a)}),mxUtils.bind(this,
+function(a){null!=c&&c(a)}))}else this.isModified()||this.ui.editor.setStatus(""),null!=e&&e(null)}),a);this.autosaveThread=l};DrawioFile.prototype.isAutosaveNow=function(){return!0};DrawioFile.prototype.autosaveCompleted=function(){};DrawioFile.prototype.clearAutosave=function(){null!=this.autosaveThread&&(window.clearTimeout(this.autosaveThread),this.autosaveThread=null)};
 DrawioFile.prototype.isAutosaveRevision=function(){var a=(new Date).getTime();return null==this.lastAutosaveRevision||a-this.lastAutosaveRevision>this.maxAutosaveRevisionDelay};DrawioFile.prototype.descriptorChanged=function(){this.fireEvent(new mxEventObject("descriptorChanged"))};DrawioFile.prototype.contentChanged=function(){this.fireEvent(new mxEventObject("contentChanged"))};
-DrawioFile.prototype.close=function(a){this.updateFileData();this.stats.closed++;this.isAutosave()&&this.isModified()&&this.save(this.isAutosaveRevision(),null,null,a);this.destroy()};DrawioFile.prototype.hasSameExtension=function(a,b){if(null!=a&&null!=b){var f=a.lastIndexOf("."),d=0<f?a.substring(f):"",f=b.lastIndexOf(".");return d===(0<f?b.substring(f):"")}return a==b};
+DrawioFile.prototype.close=function(a){this.updateFileData();this.stats.closed++;this.isAutosave()&&this.isModified()&&this.save(this.isAutosaveRevision(),null,null,a);this.destroy()};DrawioFile.prototype.hasSameExtension=function(a,b){if(null!=a&&null!=b){var e=a.lastIndexOf("."),c=0<e?a.substring(e):"",e=b.lastIndexOf(".");return c===(0<e?b.substring(e):"")}return a==b};
 DrawioFile.prototype.removeListeners=function(){null!=this.changeListener&&(this.ui.editor.graph.model.removeListener(this.changeListener),this.ui.editor.graph.removeListener(this.changeListener),this.ui.removeListener(this.changeListener),this.changeListener=null)};DrawioFile.prototype.destroy=function(){this.stats.destroyed++;this.clearAutosave();this.removeListeners();null!=this.sync&&(this.sync.destroy(),this.sync=null)};DrawioFile.prototype.commentsSupported=function(){return!1};
-DrawioFile.prototype.commentsRefreshNeeded=function(){return!0};DrawioFile.prototype.commentsSaveNeeded=function(){return!1};DrawioFile.prototype.getComments=function(a,b){a([])};DrawioFile.prototype.addComment=function(a,b,f){b(Date.now())};DrawioFile.prototype.canReplyToReplies=function(){return!0};DrawioFile.prototype.canComment=function(){return!0};DrawioFile.prototype.newComment=function(a,b){return new DrawioComment(this,null,a,Date.now(),Date.now(),!1,b)};LocalFile=function(a,b,f,d){DrawioFile.call(this,a,b);this.title=f;this.mode=d?null:App.MODE_DEVICE};mxUtils.extend(LocalFile,DrawioFile);LocalFile.prototype.isAutosave=function(){return!1};LocalFile.prototype.getMode=function(){return this.mode};LocalFile.prototype.getTitle=function(){return this.title};LocalFile.prototype.isRenamable=function(){return!0};LocalFile.prototype.save=function(a,b,f){this.saveAs(this.title,b,f)};LocalFile.prototype.saveAs=function(a,b,f){this.saveFile(a,!1,b,f)};
-LocalFile.prototype.saveFile=function(a,b,f,d){this.title=a;this.updateFileData();b=this.getData();var l=this.ui.useCanvasForExport&&/(\.png)$/i.test(this.getTitle()),m=mxUtils.bind(this,function(b){if(this.ui.isOfflineApp()||this.ui.isLocalFileSave())this.ui.doSaveLocalFile(b,a,l?"image/png":"text/xml",l);else if(b.length<MAX_REQUEST_SIZE){var d=a.lastIndexOf("."),d=0<d?a.substring(d+1):"xml";(new mxXmlRequest(SAVE_URL,"format="+d+"&xml="+encodeURIComponent(b)+"&filename="+encodeURIComponent(a)+
-(l?"&binary=1":""))).simulate(document,"_blank")}else this.ui.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(b)}));this.setModified(!1);this.contentChanged();null!=f&&f()});l?this.ui.getEmbeddedPng(mxUtils.bind(this,function(a){m(a)}),d,this.ui.getCurrentFile()!=this?this.getData():null):m(b)};LocalFile.prototype.rename=function(a,b,f){this.title=a;this.descriptorChanged();null!=b&&b()};
+DrawioFile.prototype.commentsRefreshNeeded=function(){return!0};DrawioFile.prototype.commentsSaveNeeded=function(){return!1};DrawioFile.prototype.getComments=function(a,b){a([])};DrawioFile.prototype.addComment=function(a,b,e){b(Date.now())};DrawioFile.prototype.canReplyToReplies=function(){return!0};DrawioFile.prototype.canComment=function(){return!0};DrawioFile.prototype.newComment=function(a,b){return new DrawioComment(this,null,a,Date.now(),Date.now(),!1,b)};LocalFile=function(a,b,e,c){DrawioFile.call(this,a,b);this.title=e;this.mode=c?null:App.MODE_DEVICE};mxUtils.extend(LocalFile,DrawioFile);LocalFile.prototype.isAutosave=function(){return!1};LocalFile.prototype.getMode=function(){return this.mode};LocalFile.prototype.getTitle=function(){return this.title};LocalFile.prototype.isRenamable=function(){return!0};LocalFile.prototype.save=function(a,b,e){this.saveAs(this.title,b,e)};LocalFile.prototype.saveAs=function(a,b,e){this.saveFile(a,!1,b,e)};
+LocalFile.prototype.saveFile=function(a,b,e,c){this.title=a;this.updateFileData();b=this.getData();var l=this.ui.useCanvasForExport&&/(\.png)$/i.test(this.getTitle()),m=mxUtils.bind(this,function(b){if(this.ui.isOfflineApp()||this.ui.isLocalFileSave())this.ui.doSaveLocalFile(b,a,l?"image/png":"text/xml",l);else if(b.length<MAX_REQUEST_SIZE){var c=a.lastIndexOf("."),c=0<c?a.substring(c+1):"xml";(new mxXmlRequest(SAVE_URL,"format="+c+"&xml="+encodeURIComponent(b)+"&filename="+encodeURIComponent(a)+
+(l?"&binary=1":""))).simulate(document,"_blank")}else this.ui.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(b)}));this.setModified(!1);this.contentChanged();null!=e&&e()});l?this.ui.getEmbeddedPng(mxUtils.bind(this,function(a){m(a)}),c,this.ui.getCurrentFile()!=this?this.getData():null):m(b)};LocalFile.prototype.rename=function(a,b,e){this.title=a;this.descriptorChanged();null!=b&&b()};
 LocalFile.prototype.open=function(){this.ui.setFileData(this.getData());this.installListeners()};(function(){Editor.prototype.appName="draw.io";Editor.prototype.fileExtensions=[{ext:"html",title:"filetypeHtml"},{ext:"png",title:"filetypePng"},{ext:"svg",title:"filetypeSvg"}];Editor.closeImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAMAAADzN3VRAAAApVBMVEUAAAD////k5OT///8AAAB1dXXMzMz9/f39/f37+/v5+fn+/v7///9iYmJaWlqFhYWnp6ejo6OHh4f////////////////7+/v5+fnx8fH///8AAAD///8bGxv7+/v5+fkoKCghISFDQ0MYGBjh4eHY2Njb29tQUFBvb29HR0c/Pz82NjYrKyu/v78SEhLu7u7s7OzV1dVVVVU7OzsVFRXAv78QEBBzqehMAAAAG3RSTlMAA/7p/vz5xZlrTiPL/v78+/v7+OXd2TYQDs8L70ZbAAABKUlEQVQoz3VS13LCMBBUXHChd8iukDslQChJ/v/TchaG4cXS+OSb1c7trU7V60OpdRz2ZtNZL4zXNlcN8BEtSG6+NxIXkeRPoBuQ1cjvZ31/VJFB10ISli6diYfH8iYO3WUNCcNlB0gTrXOtkxTo0O1aKKiBBMhhv2MNBQKoiA5wxlZo0JDzD3AYKbWacyj3fs01wxey0pyEP+R8pWKWXoqtIZ0DDg5pbki9krEKOa6LVDQsdoXEsi46Zqh69KFz7B1u7Hb2yDV8firXDKBlZ4UFiswKGRhXTS93/ECK7yxnJ3+S3y/ThpO+cfSD017nqa18aasabU0/t7d+tk0/1oMEJ1NaD67iwdF68OabFSLn+eHb0+vjy+uk8br9fdrftH0O2menfd7+AQfYM/lNjoDHAAAAAElFTkSuQmCC":
 IMAGE_PATH+"/delete.png";Editor.plusImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDdCMTdENjVCOEM4MTFFNDlCRjVBNDdCODU5NjNBNUMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDdCMTdENjZCOEM4MTFFNDlCRjVBNDdCODU5NjNBNUMiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowN0IxN0Q2M0I4QzgxMUU0OUJGNUE0N0I4NTk2M0E1QyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowN0IxN0Q2NEI4QzgxMUU0OUJGNUE0N0I4NTk2M0E1QyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PtjrjmgAAAAtSURBVHjaYvz//z8DMigvLwcLdHZ2MiKLMzEQCaivkLGsrOw/dU0cAr4GCDAARQsQbTFrv10AAAAASUVORK5CYII=":
 IMAGE_PATH+"/plus.png";Editor.spinImage=mxClient.IS_SVG?"data:image/gif;base64,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":
@@ -2824,60 +2827,60 @@ enumList:[{val:"visible",dispName:"Visible"},{val:"hidden",dispName:"Hidden"},{v
 type:"enum",defVal:"none",enumList:[{val:"none",dispName:"None"},{val:"north",dispName:"North"},{val:"east",dispName:"East"},{val:"south",dispName:"South"},{val:"west",dispName:"West"}]},{name:"portConstraintRotation",dispName:"Rotate Constraint",type:"bool",defVal:!1},{name:"connectable",dispName:"Connectable",type:"bool",defVal:!0},{name:"allowArrows",dispName:"Allow Arrows",type:"bool",defVal:!0},{name:"snapToPoint",dispName:"Snap to Point",type:"bool",defVal:!1},{name:"perimeter",dispName:"Perimeter",
 defVal:"none",type:"enum",enumList:[{val:"none",dispName:"None"},{val:"rectanglePerimeter",dispName:"Rectangle"},{val:"ellipsePerimeter",dispName:"Ellipse"},{val:"rhombusPerimeter",dispName:"Rhombus"},{val:"trianglePerimeter",dispName:"Triangle"},{val:"hexagonPerimeter2",dispName:"Hexagon"},{val:"lifelinePerimeter",dispName:"Lifeline"},{val:"orthogonalPerimeter",dispName:"Orthogonal"},{val:"backbonePerimeter",dispName:"Backbone"},{val:"calloutPerimeter",dispName:"Callout"},{val:"parallelogramPerimeter",
 dispName:"Parallelogram"},{val:"trapezoidPerimeter",dispName:"Trapezoid"},{val:"stepPerimeter",dispName:"Step"}]},{name:"fixDash",dispName:"Fixed Dash",type:"bool",defVal:!1},{name:"jiggle",dispName:"Jiggle",type:"float",min:0,defVal:1.5,isVisible:function(a){return"1"==mxUtils.getValue(a.style,"comic","0")}},{name:"autosize",dispName:"Autosize",type:"bool",defVal:!1},{name:"collapsible",dispName:"Collapsible",type:"bool",defVal:!1},{name:"container",dispName:"Container",type:"bool",defVal:!1},{name:"recursiveResize",
-dispName:"Resize Children",type:"bool",defVal:!0},{name:"part",dispName:"Part",type:"bool",defVal:!1},{name:"editable",dispName:"Editable",type:"bool",defVal:!0},{name:"backgroundOutline",dispName:"Background Outline",type:"bool",defVal:!1},{name:"movable",dispName:"Movable",type:"bool",defVal:!0},{name:"movableLabel",dispName:"Movable Label",type:"bool",defVal:!1,isVisible:function(a,c){var b=0<a.vertices.length?c.editorUi.editor.graph.getCellGeometry(a.vertices[0]):null;return null!=b&&!b.relative}},
+dispName:"Resize Children",type:"bool",defVal:!0},{name:"part",dispName:"Part",type:"bool",defVal:!1},{name:"editable",dispName:"Editable",type:"bool",defVal:!0},{name:"backgroundOutline",dispName:"Background Outline",type:"bool",defVal:!1},{name:"movable",dispName:"Movable",type:"bool",defVal:!0},{name:"movableLabel",dispName:"Movable Label",type:"bool",defVal:!1,isVisible:function(a,d){var b=0<a.vertices.length?d.editorUi.editor.graph.getCellGeometry(a.vertices[0]):null;return null!=b&&!b.relative}},
 {name:"resizable",dispName:"Resizable",type:"bool",defVal:!0},{name:"resizeWidth",dispName:"Resize Width",type:"bool",defVal:!1},{name:"resizeHeight",dispName:"Resize Height",type:"bool",defVal:!1},{name:"rotatable",dispName:"Rotatable",type:"bool",defVal:!0},{name:"cloneable",dispName:"Cloneable",type:"bool",defVal:!0},{name:"deletable",dispName:"Deletable",type:"bool",defVal:!0},{name:"treeFolding",dispName:"Tree Folding",type:"bool",defVal:!1},{name:"treeMoving",dispName:"Tree Moving",type:"bool",
-defVal:!1},{name:"moveCells",dispName:"Move Cells on Fold",type:"bool",defVal:!1,isVisible:function(a,c){return 0<a.vertices.length&&c.editorUi.editor.graph.isContainer(a.vertices[0])}}];Editor.defaultCsvValue='##\n## Example CSV import. Use ## for comments and # for configuration. Paste CSV below.\n## The following names are reserved and should not be used (or ignored):\n## id, tooltip, placeholder(s), link and label (see below)\n##\n#\n## Node label with placeholders and HTML.\n## Default is \'%name_of_first_column%\'.\n#\n# label: %name%<br><i style="color:gray;">%position%</i><br><a href="mailto:%email%">Email</a>\n#\n## Node style (placeholders are replaced once).\n## Default is the current style for nodes.\n#\n# style: label;image=%image%;whiteSpace=wrap;html=1;rounded=1;fillColor=%fill%;strokeColor=%stroke%;\n#\n## Parent style for nodes with child nodes (placeholders are replaced once).\n#\n# parentstyle: swimlane;whiteSpace=wrap;html=1;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;\n#\n## Optional column name that contains a reference to a named style in styles.\n## Default is the current style for nodes.\n#\n# stylename: -\n#\n## JSON for named styles of the form {"name": "style", "name": "style"} where style is a cell style with\n## placeholders that are replaced once.\n#\n# styles: -\n#\n## Optional column name that contains a reference to a named label in labels.\n## Default is the current label.\n#\n# labelname: -\n#\n## JSON for named labels of the form {"name": "label", "name": "label"} where label is a cell label with\n## placeholders.\n#\n# labels: -\n#\n## Uses the given column name as the identity for cells (updates existing cells).\n## Default is no identity (empty value or -).\n#\n# identity: -\n#\n## Uses the given column name as the parent reference for cells. Default is no parent (empty or -).\n## The identity above is used for resolving the reference so it must be specified.\n#\n# parent: -\n#\n## Adds a prefix to the identity of cells to make sure they do not collide with existing cells (whose\n## IDs are numbers from 0..n, sometimes with a GUID prefix in the context of realtime collaboration).\n## Default is csvimport-.\n#\n# namespace: csvimport-\n#\n## Connections between rows ("from": source colum, "to": target column).\n## Label, style and invert are optional. Defaults are \'\', current style and false.\n## In addition to label, an optional fromlabel and tolabel can be used to name the column\n## that contains the text for the label in the edges source or target (invert ignored).\n## The label is concatenated in the form fromlabel + label + tolabel if all are defined.\n## The target column may contain a comma-separated list of values.\n## Multiple connect entries are allowed.\n#\n# connect: {"from": "manager", "to": "name", "invert": true, "label": "manages", \\\n#          "style": "curved=1;endArrow=blockThin;endFill=1;fontSize=11;"}\n# connect: {"from": "refs", "to": "id", "style": "curved=1;fontSize=11;"}\n#\n## Node x-coordinate. Possible value is a column name. Default is empty. Layouts will\n## override this value.\n#\n# left: \n#\n## Node y-coordinate. Possible value is a column name. Default is empty. Layouts will\n## override this value.\n#\n# top: \n#\n## Node width. Possible value is a number (in px), auto or an @ sign followed by a column\n## name that contains the value for the width. Default is auto.\n#\n# width: auto\n#\n## Node height. Possible value is a number (in px), auto or an @ sign followed by a column\n## name that contains the value for the height. Default is auto.\n#\n# height: auto\n#\n## Padding for autosize. Default is 0.\n#\n# padding: -12\n#\n## Comma-separated list of ignored columns for metadata. (These can be\n## used for connections and styles but will not be added as metadata.)\n#\n# ignore: id,image,fill,stroke,refs,manager\n#\n## Column to be renamed to link attribute (used as link).\n#\n# link: url\n#\n## Spacing between nodes. Default is 40.\n#\n# nodespacing: 40\n#\n## Spacing between levels of hierarchical layouts. Default is 100.\n#\n# levelspacing: 100\n#\n## Spacing between parallel edges. Default is 40. Use 0 to disable.\n#\n# edgespacing: 40\n#\n## Name or JSON of layout. Possible values are auto, none, verticaltree, horizontaltree,\n## verticalflow, horizontalflow, organic, circle or a JSON string as used in Layout, Apply.\n## Default is auto.\n#\n# layout: auto\n#\n## ---- CSV below this line. First line are column names. ----\nname,position,id,location,manager,email,fill,stroke,refs,url,image\nEvan Miller,CFO,emi,Office 1,,me@example.com,#dae8fc,#6c8ebf,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-9-2-128.png\nEdward Morrison,Brand Manager,emo,Office 2,Evan Miller,me@example.com,#d5e8d4,#82b366,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-10-3-128.png\nRon Donovan,System Admin,rdo,Office 3,Evan Miller,me@example.com,#d5e8d4,#82b366,"emo,tva",https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-2-128.png\nTessa Valet,HR Director,tva,Office 4,Evan Miller,me@example.com,#d5e8d4,#82b366,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-3-128.png\n';
-Editor.fastCompress=function(a){return null==a||0==a.length||"undefined"===typeof pako?a:pako.deflateRaw(a,{to:"string"})};Editor.fastDecompress=function(a){return null==a||0==a.length||"undefined"===typeof pako?a:pako.inflateRaw(a,{to:"string"})};Editor.extractGraphModel=function(a,c){if(null!=a&&"undefined"!==typeof pako){var b=a.ownerDocument.getElementsByTagName("div"),e=[];if(null!=b&&0<b.length)for(var d=0;d<b.length;d++)if("mxgraph"==b[d].getAttribute("class")){e.push(b[d]);break}0<e.length&&
-(b=e[0].getAttribute("data-mxgraph"),null!=b?(e=JSON.parse(b),null!=e&&null!=e.xml&&(e=mxUtils.parseXml(e.xml),a=e.documentElement)):(e=e[0].getElementsByTagName("div"),0<e.length&&(b=mxUtils.getTextContent(e[0]),b=Graph.decompress(b),0<b.length&&(e=mxUtils.parseXml(b),a=e.documentElement))))}if(null!=a&&"svg"==a.nodeName)if(b=a.getAttribute("content"),null!=b&&"<"!=b.charAt(0)&&"%"!=b.charAt(0)&&(b=unescape(window.atob?atob(b):Base64.decode(cont,b))),null!=b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b)),
-null!=b&&0<b.length)a=mxUtils.parseXml(b).documentElement;else throw{message:mxResources.get("notADiagramFile")};null==a||c||(e=null,"diagram"==a.nodeName?e=a:"mxfile"==a.nodeName&&(b=a.getElementsByTagName("diagram"),0<b.length&&(e=b[Math.max(0,Math.min(b.length-1,urlParams.page||0))])),null!=e&&(a=Editor.parseDiagramNode(e)));null==a||"mxGraphModel"==a.nodeName||c&&"mxfile"==a.nodeName||(a=null);return a};Editor.parseDiagramNode=function(a){var c=mxUtils.trim(mxUtils.getTextContent(a)),b=null;0<
-c.length?(a=Graph.decompress(c),null!=a&&0<a.length&&(b=mxUtils.parseXml(a).documentElement)):(a=mxUtils.getChildNodes(a),0<a.length&&(b=mxUtils.createXmlDocument(),b.appendChild(b.importNode(a[0],!0)),b=b.documentElement));return b};Editor.getDiagramNodeXml=function(a){var c=mxUtils.getTextContent(a),b=null;0<c.length?b=Graph.decompress(c):null!=a.firstChild&&(b=mxUtils.getXml(a.firstChild));return b};Editor.extractGraphModelFromPdf=function(a){a=a.substring(a.indexOf(",")+1);a=window.atob&&!mxClient.IS_SF?
-atob(a):Base64.decode(a,!0);for(var c=null,b="",e=0,d=0,k=[],g=null;d<a.length;){var f=a.charCodeAt(d),d=d+1;10!=f&&(b+=String.fromCharCode(f));f=="\n/Subject (".charCodeAt(e)?e++:e=0;if(11==e){var p=a.indexOf(")\n",d);if(p>d){c=a.substring(d,p);break}}10==f&&("endobj"==b?g=null:"obj"==b.substring(b.length-3,b.length)||"xref"==b||"trailer"==b?(g=[],k[b.split(" ")[0]]=g):null!=g&&g.push(b),b="")}null==c&&(c=Editor.extractGraphModelFromXref(k));null!=c&&(c=decodeURIComponent(c.replace(/\\\(/g,"(").replace(/\\\)/g,
-")")));return c};Editor.extractGraphModelFromXref=function(a){var c=a.trailer,b=null;null!=c&&(c=/.* \/Info (\d+) (\d+) R/g.exec(c.join("\n")),null!=c&&0<c.length&&(c=a[c[1]],null!=c&&(c=/.* \/Subject (\d+) (\d+) R/g.exec(c.join("\n")),null!=c&&0<c.length&&(a=a[c[1]],null!=a&&(a=a.join("\n"),b=a.substring(1,a.length-1))))));return b};Editor.extractGraphModelFromPng=function(a){var c=null;try{var b=a.substring(a.indexOf(",")+1),e=window.atob&&!mxClient.IS_SF?atob(b):Base64.decode(b,!0);EditorUi.parsePng(e,
-mxUtils.bind(this,function(a,b,d){a=e.substring(a+8,a+8+d);"zTXt"==b?(d=a.indexOf(String.fromCharCode(0)),"mxGraphModel"==a.substring(0,d)&&(a=pako.inflateRaw(a.substring(d+2),{to:"string"}).replace(/\+/g," "),null!=a&&0<a.length&&(c=a))):"tEXt"==b&&(a=a.split(String.fromCharCode(0)),1<a.length&&("mxGraphModel"==a[0]||"mxfile"==a[0])&&(c=a[1]));if(null!=c||"IDAT"==b)return!0}))}catch(I){}null!=c&&"%"==c.charAt(0)&&(c=decodeURIComponent(c));null!=c&&"%"==c.charAt(0)&&(c=decodeURIComponent(c));return c};
-Editor.extractParserError=function(a,c){var b=null,e=null!=a?a.getElementsByTagName("parsererror"):null;null!=e&&0<e.length&&(b=c||mxResources.get("invalidChars"),e=e[0].getElementsByTagName("div"),0<e.length&&(b=mxUtils.getTextContent(e[0])));return b};Editor.configure=function(a,c){if(null!=a){Editor.config=a;Editor.configVersion=a.version;Menus.prototype.defaultFonts=a.defaultFonts||Menus.prototype.defaultFonts;ColorDialog.prototype.presetColors=a.presetColors||ColorDialog.prototype.presetColors;
+defVal:!1},{name:"moveCells",dispName:"Move Cells on Fold",type:"bool",defVal:!1,isVisible:function(a,d){return 0<a.vertices.length&&d.editorUi.editor.graph.isContainer(a.vertices[0])}}];Editor.defaultCsvValue='##\n## Example CSV import. Use ## for comments and # for configuration. Paste CSV below.\n## The following names are reserved and should not be used (or ignored):\n## id, tooltip, placeholder(s), link and label (see below)\n##\n#\n## Node label with placeholders and HTML.\n## Default is \'%name_of_first_column%\'.\n#\n# label: %name%<br><i style="color:gray;">%position%</i><br><a href="mailto:%email%">Email</a>\n#\n## Node style (placeholders are replaced once).\n## Default is the current style for nodes.\n#\n# style: label;image=%image%;whiteSpace=wrap;html=1;rounded=1;fillColor=%fill%;strokeColor=%stroke%;\n#\n## Parent style for nodes with child nodes (placeholders are replaced once).\n#\n# parentstyle: swimlane;whiteSpace=wrap;html=1;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;\n#\n## Optional column name that contains a reference to a named style in styles.\n## Default is the current style for nodes.\n#\n# stylename: -\n#\n## JSON for named styles of the form {"name": "style", "name": "style"} where style is a cell style with\n## placeholders that are replaced once.\n#\n# styles: -\n#\n## Optional column name that contains a reference to a named label in labels.\n## Default is the current label.\n#\n# labelname: -\n#\n## JSON for named labels of the form {"name": "label", "name": "label"} where label is a cell label with\n## placeholders.\n#\n# labels: -\n#\n## Uses the given column name as the identity for cells (updates existing cells).\n## Default is no identity (empty value or -).\n#\n# identity: -\n#\n## Uses the given column name as the parent reference for cells. Default is no parent (empty or -).\n## The identity above is used for resolving the reference so it must be specified.\n#\n# parent: -\n#\n## Adds a prefix to the identity of cells to make sure they do not collide with existing cells (whose\n## IDs are numbers from 0..n, sometimes with a GUID prefix in the context of realtime collaboration).\n## Default is csvimport-.\n#\n# namespace: csvimport-\n#\n## Connections between rows ("from": source colum, "to": target column).\n## Label, style and invert are optional. Defaults are \'\', current style and false.\n## In addition to label, an optional fromlabel and tolabel can be used to name the column\n## that contains the text for the label in the edges source or target (invert ignored).\n## The label is concatenated in the form fromlabel + label + tolabel if all are defined.\n## The target column may contain a comma-separated list of values.\n## Multiple connect entries are allowed.\n#\n# connect: {"from": "manager", "to": "name", "invert": true, "label": "manages", \\\n#          "style": "curved=1;endArrow=blockThin;endFill=1;fontSize=11;"}\n# connect: {"from": "refs", "to": "id", "style": "curved=1;fontSize=11;"}\n#\n## Node x-coordinate. Possible value is a column name. Default is empty. Layouts will\n## override this value.\n#\n# left: \n#\n## Node y-coordinate. Possible value is a column name. Default is empty. Layouts will\n## override this value.\n#\n# top: \n#\n## Node width. Possible value is a number (in px), auto or an @ sign followed by a column\n## name that contains the value for the width. Default is auto.\n#\n# width: auto\n#\n## Node height. Possible value is a number (in px), auto or an @ sign followed by a column\n## name that contains the value for the height. Default is auto.\n#\n# height: auto\n#\n## Padding for autosize. Default is 0.\n#\n# padding: -12\n#\n## Comma-separated list of ignored columns for metadata. (These can be\n## used for connections and styles but will not be added as metadata.)\n#\n# ignore: id,image,fill,stroke,refs,manager\n#\n## Column to be renamed to link attribute (used as link).\n#\n# link: url\n#\n## Spacing between nodes. Default is 40.\n#\n# nodespacing: 40\n#\n## Spacing between levels of hierarchical layouts. Default is 100.\n#\n# levelspacing: 100\n#\n## Spacing between parallel edges. Default is 40. Use 0 to disable.\n#\n# edgespacing: 40\n#\n## Name or JSON of layout. Possible values are auto, none, verticaltree, horizontaltree,\n## verticalflow, horizontalflow, organic, circle or a JSON string as used in Layout, Apply.\n## Default is auto.\n#\n# layout: auto\n#\n## ---- CSV below this line. First line are column names. ----\nname,position,id,location,manager,email,fill,stroke,refs,url,image\nEvan Miller,CFO,emi,Office 1,,me@example.com,#dae8fc,#6c8ebf,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-9-2-128.png\nEdward Morrison,Brand Manager,emo,Office 2,Evan Miller,me@example.com,#d5e8d4,#82b366,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-10-3-128.png\nRon Donovan,System Admin,rdo,Office 3,Evan Miller,me@example.com,#d5e8d4,#82b366,"emo,tva",https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-2-128.png\nTessa Valet,HR Director,tva,Office 4,Evan Miller,me@example.com,#d5e8d4,#82b366,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-3-128.png\n';
+Editor.fastCompress=function(a){return null==a||0==a.length||"undefined"===typeof pako?a:pako.deflateRaw(a,{to:"string"})};Editor.fastDecompress=function(a){return null==a||0==a.length||"undefined"===typeof pako?a:pako.inflateRaw(a,{to:"string"})};Editor.extractGraphModel=function(a,d){if(null!=a&&"undefined"!==typeof pako){var b=a.ownerDocument.getElementsByTagName("div"),c=[];if(null!=b&&0<b.length)for(var f=0;f<b.length;f++)if("mxgraph"==b[f].getAttribute("class")){c.push(b[f]);break}0<c.length&&
+(b=c[0].getAttribute("data-mxgraph"),null!=b?(c=JSON.parse(b),null!=c&&null!=c.xml&&(c=mxUtils.parseXml(c.xml),a=c.documentElement)):(c=c[0].getElementsByTagName("div"),0<c.length&&(b=mxUtils.getTextContent(c[0]),b=Graph.decompress(b),0<b.length&&(c=mxUtils.parseXml(b),a=c.documentElement))))}if(null!=a&&"svg"==a.nodeName)if(b=a.getAttribute("content"),null!=b&&"<"!=b.charAt(0)&&"%"!=b.charAt(0)&&(b=unescape(window.atob?atob(b):Base64.decode(cont,b))),null!=b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b)),
+null!=b&&0<b.length)a=mxUtils.parseXml(b).documentElement;else throw{message:mxResources.get("notADiagramFile")};null==a||d||(c=null,"diagram"==a.nodeName?c=a:"mxfile"==a.nodeName&&(b=a.getElementsByTagName("diagram"),0<b.length&&(c=b[Math.max(0,Math.min(b.length-1,urlParams.page||0))])),null!=c&&(a=Editor.parseDiagramNode(c)));null==a||"mxGraphModel"==a.nodeName||d&&"mxfile"==a.nodeName||(a=null);return a};Editor.parseDiagramNode=function(a){var d=mxUtils.trim(mxUtils.getTextContent(a)),b=null;0<
+d.length?(a=Graph.decompress(d),null!=a&&0<a.length&&(b=mxUtils.parseXml(a).documentElement)):(a=mxUtils.getChildNodes(a),0<a.length&&(b=mxUtils.createXmlDocument(),b.appendChild(b.importNode(a[0],!0)),b=b.documentElement));return b};Editor.getDiagramNodeXml=function(a){var d=mxUtils.getTextContent(a),b=null;0<d.length?b=Graph.decompress(d):null!=a.firstChild&&(b=mxUtils.getXml(a.firstChild));return b};Editor.extractGraphModelFromPdf=function(a){a=a.substring(a.indexOf(",")+1);a=window.atob&&!mxClient.IS_SF?
+atob(a):Base64.decode(a,!0);for(var d=null,b="",c=0,f=0,k=[],g=null;f<a.length;){var e=a.charCodeAt(f),f=f+1;10!=e&&(b+=String.fromCharCode(e));e=="\n/Subject (".charCodeAt(c)?c++:c=0;if(11==c){var p=a.indexOf(")\n",f);if(p>f){d=a.substring(f,p);break}}10==e&&("endobj"==b?g=null:"obj"==b.substring(b.length-3,b.length)||"xref"==b||"trailer"==b?(g=[],k[b.split(" ")[0]]=g):null!=g&&g.push(b),b="")}null==d&&(d=Editor.extractGraphModelFromXref(k));null!=d&&(d=decodeURIComponent(d.replace(/\\\(/g,"(").replace(/\\\)/g,
+")")));return d};Editor.extractGraphModelFromXref=function(a){var d=a.trailer,b=null;null!=d&&(d=/.* \/Info (\d+) (\d+) R/g.exec(d.join("\n")),null!=d&&0<d.length&&(d=a[d[1]],null!=d&&(d=/.* \/Subject (\d+) (\d+) R/g.exec(d.join("\n")),null!=d&&0<d.length&&(a=a[d[1]],null!=a&&(a=a.join("\n"),b=a.substring(1,a.length-1))))));return b};Editor.extractGraphModelFromPng=function(a){var d=null;try{var b=a.substring(a.indexOf(",")+1),c=window.atob&&!mxClient.IS_SF?atob(b):Base64.decode(b,!0);EditorUi.parsePng(c,
+mxUtils.bind(this,function(a,b,f){a=c.substring(a+8,a+8+f);"zTXt"==b?(f=a.indexOf(String.fromCharCode(0)),"mxGraphModel"==a.substring(0,f)&&(a=pako.inflateRaw(a.substring(f+2),{to:"string"}).replace(/\+/g," "),null!=a&&0<a.length&&(d=a))):"tEXt"==b&&(a=a.split(String.fromCharCode(0)),1<a.length&&("mxGraphModel"==a[0]||"mxfile"==a[0])&&(d=a[1]));if(null!=d||"IDAT"==b)return!0}))}catch(I){}null!=d&&"%"==d.charAt(0)&&(d=decodeURIComponent(d));null!=d&&"%"==d.charAt(0)&&(d=decodeURIComponent(d));return d};
+Editor.extractParserError=function(a,d){var b=null,c=null!=a?a.getElementsByTagName("parsererror"):null;null!=c&&0<c.length&&(b=d||mxResources.get("invalidChars"),c=c[0].getElementsByTagName("div"),0<c.length&&(b=mxUtils.getTextContent(c[0])));return b};Editor.configure=function(a,d){if(null!=a){Editor.config=a;Editor.configVersion=a.version;Menus.prototype.defaultFonts=a.defaultFonts||Menus.prototype.defaultFonts;ColorDialog.prototype.presetColors=a.presetColors||ColorDialog.prototype.presetColors;
 ColorDialog.prototype.defaultColors=a.defaultColors||ColorDialog.prototype.defaultColors;StyleFormatPanel.prototype.defaultColorSchemes=a.defaultColorSchemes||StyleFormatPanel.prototype.defaultColorSchemes;Graph.prototype.defaultEdgeLength=a.defaultEdgeLength||Graph.prototype.defaultEdgeLength;DrawioFile.prototype.autosaveDelay=a.autosaveDelay||DrawioFile.prototype.autosaveDelay;null!=a.templateFile&&(EditorUi.templateFile=a.templateFile);null!=a.globalVars&&(Editor.globalVars=a.globalVars);null!=
 a.compressXml&&(Editor.compressXml=a.compressXml);a.customFonts&&(Menus.prototype.defaultFonts=a.customFonts.concat(Menus.prototype.defaultFonts));a.customPresetColors&&(ColorDialog.prototype.presetColors=a.customPresetColors.concat(ColorDialog.prototype.presetColors));null!=a.customColorSchemes&&(StyleFormatPanel.prototype.defaultColorSchemes=a.customColorSchemes.concat(StyleFormatPanel.prototype.defaultColorSchemes));if(null!=a.css){var b=document.createElement("style");b.setAttribute("type","text/css");
-b.appendChild(document.createTextNode(a.css));var e=document.getElementsByTagName("script")[0];e.parentNode.insertBefore(b,e)}null!=a.libraries&&(Sidebar.prototype.customEntries=a.libraries);null!=a.enabledLibraries&&(Sidebar.prototype.enabledLibraries=a.enabledLibraries);null!=a.defaultLibraries&&(Sidebar.prototype.defaultEntries=a.defaultLibraries);null!=a.defaultCustomLibraries&&(Editor.defaultCustomLibraries=a.defaultCustomLibraries);null!=a.enableCustomLibraries&&(Editor.enableCustomLibraries=
+b.appendChild(document.createTextNode(a.css));var c=document.getElementsByTagName("script")[0];c.parentNode.insertBefore(b,c)}null!=a.libraries&&(Sidebar.prototype.customEntries=a.libraries);null!=a.enabledLibraries&&(Sidebar.prototype.enabledLibraries=a.enabledLibraries);null!=a.defaultLibraries&&(Sidebar.prototype.defaultEntries=a.defaultLibraries);null!=a.defaultCustomLibraries&&(Editor.defaultCustomLibraries=a.defaultCustomLibraries);null!=a.enableCustomLibraries&&(Editor.enableCustomLibraries=
 a.enableCustomLibraries);null!=a.defaultVertexStyle&&(Graph.prototype.defaultVertexStyle=a.defaultVertexStyle);null!=a.defaultEdgeStyle&&(Graph.prototype.defaultEdgeStyle=a.defaultEdgeStyle);a.emptyDiagramXml&&(EditorUi.prototype.emptyDiagramXml=a.emptyDiagramXml);a.thumbWidth&&(Sidebar.prototype.thumbWidth=a.thumbWidth);a.thumbHeight&&(Sidebar.prototype.thumbHeight=a.thumbHeight);a.emptyLibraryXml&&(EditorUi.prototype.emptyLibraryXml=a.emptyLibraryXml);a.sidebarWidth&&(EditorUi.prototype.hsplitPosition=
-a.sidebarWidth);a.fontCss&&Editor.configureFontCss(a.fontCss);null!=a.autosaveDelay&&(b=parseInt(a.autosaveDelay),!isNaN(b)&&0<b?DrawioFile.prototype.autosaveDelay=b:EditorUi.debug("Invalid autosaveDelay: "+a.autosaveDelay));if(null!=a.plugins&&!c)for(App.initPluginCallback(),b=0;b<a.plugins.length;b++)mxscript(a.plugins[b])}};Editor.configureFontCss=function(a){if(null!=a){Editor.prototype.fontCss=a;var c=document.getElementsByTagName("script")[0];if(null!=c&&null!=c.parentNode){var b=document.createElement("style");
-b.setAttribute("type","text/css");b.appendChild(document.createTextNode(a));c.parentNode.insertBefore(b,c);a=a.split("url(");for(b=1;b<a.length;b++){var e=a[b].indexOf(")"),e=a[b].substring(0,e).replace(RegExp("^[\\s\"']+","g"),"").replace(RegExp("[\\s\"']+$","g"),""),d=document.createElement("link");d.setAttribute("rel","preload");d.setAttribute("href",e);d.setAttribute("as","font");d.setAttribute("crossorigin","");c.parentNode.insertBefore(d,c)}}}};Editor.GOOGLE_FONTS="https://fonts.googleapis.com/css?family=";
-Editor.GUID_ALPHABET="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_";Editor.GUID_LENGTH=20;Editor.guid=function(a){a=null!=a?a:Editor.GUID_LENGTH;for(var c=[],b=0;b<a;b++)c.push(Editor.GUID_ALPHABET.charAt(Math.floor(Math.random()*Editor.GUID_ALPHABET.length)));return c.join("")};Editor.prototype.timeout=25E3;Editor.prototype.useForeignObjectForMath=!mxClient.IS_SF;Editor.prototype.editButtonLink=null!=urlParams.edit?decodeURIComponent(urlParams.edit):null;var a=Editor.prototype.setGraphXml;
-Editor.prototype.setGraphXml=function(c){c=null!=c&&"mxlibrary"!=c.nodeName?this.extractGraphModel(c):null;if(null!=c){var b=c.getElementsByTagName("parsererror");if(null!=b&&0<b.length){var b=b[0],e=b.getElementsByTagName("div");null!=e&&0<e.length&&(b=e[0]);throw{message:mxUtils.getTextContent(b)};}if("mxGraphModel"==c.nodeName){b=c.getAttribute("style")||"default-style2";if("1"==urlParams.embed||null!=b&&""!=b)b!=this.graph.currentStyle&&(e=null!=this.graph.themes?this.graph.themes[b]:mxUtils.load(STYLE_PATH+
-"/"+b+".xml").getDocumentElement(),null!=e&&(d=new mxCodec(e.ownerDocument),d.decode(e,this.graph.getStylesheet())));else if(e=null!=this.graph.themes?this.graph.themes["default-old"]:mxUtils.load(STYLE_PATH+"/default-old.xml").getDocumentElement(),null!=e){var d=new mxCodec(e.ownerDocument);d.decode(e,this.graph.getStylesheet())}this.graph.currentStyle=b;this.graph.mathEnabled="1"==urlParams.math||"1"==c.getAttribute("math");b=c.getAttribute("backgroundImage");null!=b?(b=JSON.parse(b),this.graph.setBackgroundImage(new mxImage(b.src,
-b.width,b.height))):this.graph.setBackgroundImage(null);mxClient.NO_FO=this.graph.mathEnabled&&!this.useForeignObjectForMath?!0:this.originalNoForeignObject;this.graph.useCssTransforms=!mxClient.NO_FO&&this.isChromelessView()&&this.graph.isCssTransformsSupported();this.graph.updateCssTransform();this.graph.setShadowVisible("1"==c.getAttribute("shadow"),!1);if(b=c.getAttribute("extFonts"))try{for(b=b.split("|").map(function(a){a=a.split("^");return{name:a[0],url:a[1]}}),e=0;e<b.length;e++)this.graph.addExtFont(b[e].name,
-b[e].url)}catch(I){console.log("ExtFonts format error: "+I.message)}}a.apply(this,arguments)}else throw{message:mxResources.get("notADiagramFile")||"Invalid data",toString:function(){return this.message}};};var b=Editor.prototype.getGraphXml;Editor.prototype.getGraphXml=function(a){a=null!=a?a:!0;var c=b.apply(this,arguments);null!=this.graph.currentStyle&&"default-style2"!=this.graph.currentStyle&&c.setAttribute("style",this.graph.currentStyle);null!=this.graph.backgroundImage&&c.setAttribute("backgroundImage",
-JSON.stringify(this.graph.backgroundImage));c.setAttribute("math",this.graph.mathEnabled?"1":"0");c.setAttribute("shadow",this.graph.shadowVisible?"1":"0");if(null!=this.graph.extFonts&&0<this.graph.extFonts.length){var e=this.graph.extFonts.map(function(a){return a.name+"^"+a.url});c.setAttribute("extFonts",e.join("|"))}return c};Editor.prototype.isDataSvg=function(a){try{var c=mxUtils.parseXml(a).documentElement.getAttribute("content");if(null!=c&&(null!=c&&"<"!=c.charAt(0)&&"%"!=c.charAt(0)&&(c=
-unescape(window.atob?atob(c):Base64.decode(cont,c))),null!=c&&"%"==c.charAt(0)&&(c=decodeURIComponent(c)),null!=c&&0<c.length)){var b=mxUtils.parseXml(c).documentElement;return"mxfile"==b.nodeName||"mxGraphModel"==b.nodeName}}catch(P){}return!1};Editor.prototype.extractGraphModel=function(a,c){return Editor.extractGraphModel.apply(this,arguments)};var f=Editor.prototype.resetGraph;Editor.prototype.resetGraph=function(){this.graph.mathEnabled="1"==urlParams.math;this.graph.view.x0=null;this.graph.view.y0=
-null;mxClient.NO_FO=this.graph.mathEnabled&&!this.useForeignObjectForMath?!0:this.originalNoForeignObject;this.graph.useCssTransforms=!mxClient.NO_FO&&this.isChromelessView()&&this.graph.isCssTransformsSupported();this.graph.updateCssTransform();f.apply(this,arguments)};var d=Editor.prototype.updateGraphComponents;Editor.prototype.updateGraphComponents=function(){d.apply(this,arguments);mxClient.NO_FO=this.graph.mathEnabled&&!this.useForeignObjectForMath&&null!=Editor.MathJaxRender?!0:this.originalNoForeignObject;
-this.graph.useCssTransforms=!mxClient.NO_FO&&this.isChromelessView()&&this.graph.isCssTransformsSupported();this.graph.updateCssTransform()};Editor.initMath=function(a,c){a=null!=a?a:DRAW_MATH_URL+"/MathJax.js?config=TeX-MML-AM_HTMLorMML";Editor.mathJaxQueue=[];Editor.doMathJaxRender=function(a){window.setTimeout(function(){"hidden"!=a.style.visibility&&MathJax.Hub.Queue(["Typeset",MathJax.Hub,a])},0)};window.MathJax={skipStartupTypeset:!0,showMathMenu:!1,messageStyle:"none",AuthorInit:function(){MathJax.Hub.Config(c||
+a.sidebarWidth);a.fontCss&&Editor.configureFontCss(a.fontCss);null!=a.autosaveDelay&&(b=parseInt(a.autosaveDelay),!isNaN(b)&&0<b?DrawioFile.prototype.autosaveDelay=b:EditorUi.debug("Invalid autosaveDelay: "+a.autosaveDelay));if(null!=a.plugins&&!d)for(App.initPluginCallback(),b=0;b<a.plugins.length;b++)mxscript(a.plugins[b])}};Editor.configureFontCss=function(a){if(null!=a){Editor.prototype.fontCss=a;var d=document.getElementsByTagName("script")[0];if(null!=d&&null!=d.parentNode){var b=document.createElement("style");
+b.setAttribute("type","text/css");b.appendChild(document.createTextNode(a));d.parentNode.insertBefore(b,d);a=a.split("url(");for(b=1;b<a.length;b++){var c=a[b].indexOf(")"),c=a[b].substring(0,c).replace(RegExp("^[\\s\"']+","g"),"").replace(RegExp("[\\s\"']+$","g"),""),f=document.createElement("link");f.setAttribute("rel","preload");f.setAttribute("href",c);f.setAttribute("as","font");f.setAttribute("crossorigin","");d.parentNode.insertBefore(f,d)}}}};Editor.GOOGLE_FONTS="https://fonts.googleapis.com/css?family=";
+Editor.GUID_ALPHABET="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_";Editor.GUID_LENGTH=20;Editor.guid=function(a){a=null!=a?a:Editor.GUID_LENGTH;for(var d=[],b=0;b<a;b++)d.push(Editor.GUID_ALPHABET.charAt(Math.floor(Math.random()*Editor.GUID_ALPHABET.length)));return d.join("")};Editor.prototype.timeout=25E3;Editor.prototype.useForeignObjectForMath=!mxClient.IS_SF;Editor.prototype.editButtonLink=null!=urlParams.edit?decodeURIComponent(urlParams.edit):null;var a=Editor.prototype.setGraphXml;
+Editor.prototype.setGraphXml=function(d){d=null!=d&&"mxlibrary"!=d.nodeName?this.extractGraphModel(d):null;if(null!=d){var b=d.getElementsByTagName("parsererror");if(null!=b&&0<b.length){var b=b[0],c=b.getElementsByTagName("div");null!=c&&0<c.length&&(b=c[0]);throw{message:mxUtils.getTextContent(b)};}if("mxGraphModel"==d.nodeName){b=d.getAttribute("style")||"default-style2";if("1"==urlParams.embed||null!=b&&""!=b)b!=this.graph.currentStyle&&(c=null!=this.graph.themes?this.graph.themes[b]:mxUtils.load(STYLE_PATH+
+"/"+b+".xml").getDocumentElement(),null!=c&&(f=new mxCodec(c.ownerDocument),f.decode(c,this.graph.getStylesheet())));else if(c=null!=this.graph.themes?this.graph.themes["default-old"]:mxUtils.load(STYLE_PATH+"/default-old.xml").getDocumentElement(),null!=c){var f=new mxCodec(c.ownerDocument);f.decode(c,this.graph.getStylesheet())}this.graph.currentStyle=b;this.graph.mathEnabled="1"==urlParams.math||"1"==d.getAttribute("math");b=d.getAttribute("backgroundImage");null!=b?(b=JSON.parse(b),this.graph.setBackgroundImage(new mxImage(b.src,
+b.width,b.height))):this.graph.setBackgroundImage(null);mxClient.NO_FO=this.graph.mathEnabled&&!this.useForeignObjectForMath?!0:this.originalNoForeignObject;this.graph.useCssTransforms=!mxClient.NO_FO&&this.isChromelessView()&&this.graph.isCssTransformsSupported();this.graph.updateCssTransform();this.graph.setShadowVisible("1"==d.getAttribute("shadow"),!1);if(b=d.getAttribute("extFonts"))try{for(b=b.split("|").map(function(a){a=a.split("^");return{name:a[0],url:a[1]}}),c=0;c<b.length;c++)this.graph.addExtFont(b[c].name,
+b[c].url)}catch(I){console.log("ExtFonts format error: "+I.message)}}a.apply(this,arguments)}else throw{message:mxResources.get("notADiagramFile")||"Invalid data",toString:function(){return this.message}};};var b=Editor.prototype.getGraphXml;Editor.prototype.getGraphXml=function(a){a=null!=a?a:!0;var d=b.apply(this,arguments);null!=this.graph.currentStyle&&"default-style2"!=this.graph.currentStyle&&d.setAttribute("style",this.graph.currentStyle);null!=this.graph.backgroundImage&&d.setAttribute("backgroundImage",
+JSON.stringify(this.graph.backgroundImage));d.setAttribute("math",this.graph.mathEnabled?"1":"0");d.setAttribute("shadow",this.graph.shadowVisible?"1":"0");if(null!=this.graph.extFonts&&0<this.graph.extFonts.length){var c=this.graph.extFonts.map(function(a){return a.name+"^"+a.url});d.setAttribute("extFonts",c.join("|"))}return d};Editor.prototype.isDataSvg=function(a){try{var d=mxUtils.parseXml(a).documentElement.getAttribute("content");if(null!=d&&(null!=d&&"<"!=d.charAt(0)&&"%"!=d.charAt(0)&&(d=
+unescape(window.atob?atob(d):Base64.decode(cont,d))),null!=d&&"%"==d.charAt(0)&&(d=decodeURIComponent(d)),null!=d&&0<d.length)){var b=mxUtils.parseXml(d).documentElement;return"mxfile"==b.nodeName||"mxGraphModel"==b.nodeName}}catch(M){}return!1};Editor.prototype.extractGraphModel=function(a,d){return Editor.extractGraphModel.apply(this,arguments)};var e=Editor.prototype.resetGraph;Editor.prototype.resetGraph=function(){this.graph.mathEnabled="1"==urlParams.math;this.graph.view.x0=null;this.graph.view.y0=
+null;mxClient.NO_FO=this.graph.mathEnabled&&!this.useForeignObjectForMath?!0:this.originalNoForeignObject;this.graph.useCssTransforms=!mxClient.NO_FO&&this.isChromelessView()&&this.graph.isCssTransformsSupported();this.graph.updateCssTransform();e.apply(this,arguments)};var c=Editor.prototype.updateGraphComponents;Editor.prototype.updateGraphComponents=function(){c.apply(this,arguments);mxClient.NO_FO=this.graph.mathEnabled&&!this.useForeignObjectForMath&&null!=Editor.MathJaxRender?!0:this.originalNoForeignObject;
+this.graph.useCssTransforms=!mxClient.NO_FO&&this.isChromelessView()&&this.graph.isCssTransformsSupported();this.graph.updateCssTransform()};Editor.initMath=function(a,d){a=null!=a?a:DRAW_MATH_URL+"/MathJax.js?config=TeX-MML-AM_HTMLorMML";Editor.mathJaxQueue=[];Editor.doMathJaxRender=function(a){window.setTimeout(function(){"hidden"!=a.style.visibility&&MathJax.Hub.Queue(["Typeset",MathJax.Hub,a])},0)};window.MathJax={skipStartupTypeset:!0,showMathMenu:!1,messageStyle:"none",AuthorInit:function(){MathJax.Hub.Config(d||
 {jax:["input/TeX","input/MathML","input/AsciiMath","output/HTML-CSS"],extensions:["tex2jax.js","mml2jax.js","asciimath2jax.js"],"HTML-CSS":{imageFont:null},TeX:{extensions:["AMSmath.js","AMSsymbols.js","noErrors.js","noUndefined.js"]},tex2jax:{ignoreClass:"mxCellEditor"},asciimath2jax:{ignoreClass:"mxCellEditor"}});MathJax.Hub.Register.StartupHook("Begin",function(){for(var a=0;a<Editor.mathJaxQueue.length;a++)Editor.doMathJaxRender(Editor.mathJaxQueue[a])})}};Editor.MathJaxRender=function(a){"undefined"!==
-typeof MathJax&&"undefined"!==typeof MathJax.Hub?Editor.doMathJaxRender(a):Editor.mathJaxQueue.push(a)};Editor.MathJaxClear=function(){Editor.mathJaxQueue=[]};var b=Editor.prototype.init;Editor.prototype.init=function(){b.apply(this,arguments);this.graph.addListener(mxEvent.SIZE,mxUtils.bind(this,function(a,c){null!=this.graph.container&&this.graph.mathEnabled&&!this.graph.blockMathRender&&Editor.MathJaxRender(this.graph.container)}))};var e=document.getElementsByTagName("script");if(null!=e&&0<e.length){var d=
-document.createElement("script");d.type="text/javascript";d.src=a;e[0].parentNode.appendChild(d)}};Editor.prototype.csvToArray=function(a){if(!/^\s*(?:'[^'\\]*(?:\\[\S\s][^'\\]*)*'|"[^"\\]*(?:\\[\S\s][^"\\]*)*"|[^,'"\s\\]*(?:\s+[^,'"\s\\]+)*)\s*(?:,\s*(?:'[^'\\]*(?:\\[\S\s][^'\\]*)*'|"[^"\\]*(?:\\[\S\s][^"\\]*)*"|[^,'"\s\\]*(?:\s+[^,'"\s\\]+)*)\s*)*$/.test(a))return null;var c=[];a.replace(/(?!\s*$)\s*(?:'([^'\\]*(?:\\[\S\s][^'\\]*)*)'|"([^"\\]*(?:\\[\S\s][^"\\]*)*)"|([^,'"\s\\]*(?:\s+[^,'"\s\\]+)*))\s*(?:,|$)/g,
-function(a,b,e,d){void 0!==b?c.push(b.replace(/\\'/g,"'")):void 0!==e?c.push(e.replace(/\\"/g,'"')):void 0!==d&&c.push(d);return""});/,\s*$/.test(a)&&c.push("");return c};Editor.prototype.isCorsEnabledForUrl=function(a){if(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)return!0;null!=urlParams.cors&&null==this.corsRegExp&&(this.corsRegExp=new RegExp(decodeURIComponent(urlParams.cors)));return null!=this.corsRegExp&&this.corsRegExp.test(a)||"https://raw.githubusercontent.com/"===a.substring(0,34)||
-"https://cdn.rawgit.com/"===a.substring(0,23)||"https://rawgit.com/"===a.substring(0,19)||/^https?:\/\/[^\/]*\.blob.core.windows.net\//.test(a)||/^https?:\/\/[^\/]*\.iconfinder.com\//.test(a)||/^https?:\/\/[^\/]*\.draw\.io\/proxy/.test(a)||/^https?:\/\/[^\/]*\.github\.io\//.test(a)};Editor.prototype.createImageUrlConverter=function(){var a=new mxUrlConverter;a.updateBaseUrl();var c=a.convert,b=this;a.convert=function(e){if(null!=e){var d="http://"==e.substring(0,7)||"https://"==e.substring(0,8);d&&
-!navigator.onLine?e=EditorUi.prototype.svgBrokenImage.src:!d||e.substring(0,a.baseUrl.length)==a.baseUrl||EditorUi.prototype.crossOriginImages&&b.isCorsEnabledForUrl(e)?"chrome-extension://"==e.substring(0,19)||mxClient.IS_CHROMEAPP||(e=c.apply(this,arguments)):e=PROXY_URL+"?url="+encodeURIComponent(e)}return e};return a};Editor.prototype.createSvgDataUri=function(a){return"data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent(a)))};Editor.prototype.convertImageToDataUri=function(a,c){if(/(\.svg)$/i.test(a))mxUtils.get(a,
-mxUtils.bind(this,function(a){c(this.createSvgDataUri(a.getText()))}),function(){c(EditorUi.prototype.svgBrokenImage.src)});else{var b=new Image;EditorUi.prototype.crossOriginImages&&(b.crossOrigin="anonymous");b.onload=function(){var a=document.createElement("canvas"),e=a.getContext("2d");a.height=b.height;a.width=b.width;e.drawImage(b,0,0);try{c(a.toDataURL())}catch(S){c(EditorUi.prototype.svgBrokenImage.src)}};b.onerror=function(){c(EditorUi.prototype.svgBrokenImage.src)};b.src=a}};Editor.prototype.convertImages=
-function(a,c,b,e){null==e&&(e=this.createImageUrlConverter());var d=0,k=b||{};b=mxUtils.bind(this,function(b,g){for(var f=a.getElementsByTagName(b),n=0;n<f.length;n++)mxUtils.bind(this,function(b){var f=e.convert(b.getAttribute(g));if(null!=f&&"data:"!=f.substring(0,5)){var n=k[f];null==n?(d++,this.convertImageToDataUri(f,function(e){null!=e&&(k[f]=e,b.setAttribute(g,e));d--;0==d&&c(a)})):b.setAttribute(g,n)}else null!=f&&b.setAttribute(g,f)})(f[n])});b("image","xlink:href");b("img","src");0==d&&
-c(a)};Editor.prototype.base64Encode=function(a){for(var c="",b=0,e=a.length,d,k,g;b<e;){d=a.charCodeAt(b++)&255;if(b==e){c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(d>>2);c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((d&3)<<4);c+="==";break}k=a.charCodeAt(b++);if(b==e){c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(d>>2);c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((d&3)<<
-4|(k&240)>>4);c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((k&15)<<2);c+="=";break}g=a.charCodeAt(b++);c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(d>>2);c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((d&3)<<4|(k&240)>>4);c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((k&15)<<2|(g&192)>>6);c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(g&63)}return c};
-Editor.prototype.loadUrl=function(a,c,b,e,d,k){try{var g=e||/(\.png)($|\?)/i.test(a)||/(\.jpe?g)($|\?)/i.test(a)||/(\.gif)($|\?)/i.test(a);d=null!=d?d:!0;var f=mxUtils.bind(this,function(){mxUtils.get(a,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus()){if(null!=c){var e=a.getText();if(g){if((9==document.documentMode||10==document.documentMode)&&"undefined"!==typeof window.mxUtilsBinaryToArray){a=mxUtilsBinaryToArray(a.request.responseBody).toArray();for(var e=Array(a.length),
-d=0;d<a.length;d++)e[d]=String.fromCharCode(a[d]);e=e.join("")}k=null!=k?k:"data:image/png;base64,";e=k+this.base64Encode(e)}c(e)}}else null!=b&&b({code:App.ERROR_UNKNOWN},a)}),function(){null!=b&&b({code:App.ERROR_UNKNOWN})},g,this.timeout,function(){d&&null!=b&&b({code:App.ERROR_TIMEOUT,retry:f})})});f()}catch(O){null!=b&&b(O)}};Editor.prototype.loadFonts=function(a){if(null!=this.fontCss&&null==this.resolvedFontCss){var c=function(a){return a.replace(RegExp("^[\\s\"']+","g"),"").replace(RegExp("[\\s\"']+$",
-"g"),"")},b=this.fontCss.split("url("),e=0,d={},k=mxUtils.bind(this,function(){if(0==e){for(var k=[b[0]],g=1;g<b.length;g++){var f=b[g].indexOf(")");k.push('url("');k.push(d[c(b[g].substring(0,f))]);k.push('"'+b[g].substring(f))}this.resolvedFontCss=k.join("");a()}});if(0<b.length)for(var g=1;g<b.length;g++){var f=b[g].indexOf(")"),n=null,p=b[g].indexOf("format(",f);0<p&&(n=c(b[g].substring(p+7,b[g].indexOf(")",p))));mxUtils.bind(this,function(a){if(null==d[a]){d[a]=a;e++;var c="application/x-font-ttf";
-if("svg"==n||/(\.svg)($|\?)/i.test(a))c="image/svg+xml";else if("otf"==n||"embedded-opentype"==n||/(\.otf)($|\?)/i.test(a))c="application/x-font-opentype";else if("woff"==n||/(\.woff)($|\?)/i.test(a))c="application/font-woff";else if("woff2"==n||/(\.woff2)($|\?)/i.test(a))c="application/font-woff2";else if("eot"==n||/(\.eot)($|\?)/i.test(a))c="application/vnd.ms-fontobject";else if("sfnt"==n||/(\.sfnt)($|\?)/i.test(a))c="application/font-sfnt";var b=a;/^https?:\/\//.test(b)&&!this.isCorsEnabledForUrl(b)&&
-(b=PROXY_URL+"?url="+encodeURIComponent(a));this.loadUrl(b,mxUtils.bind(this,function(c){d[a]=c;e--;k()}),mxUtils.bind(this,function(a){e--;k()}),!0,null,"data:"+c+";charset=utf-8;base64,")}})(c(b[g].substring(0,f)),n)}}else a()};Editor.prototype.addMathCss=function(a){a=a.getElementsByTagName("defs");if(null!=a&&0<a.length)for(var c=document.getElementsByTagName("style"),b=0;b<c.length;b++)0<mxUtils.getTextContent(c[b]).indexOf("MathJax")&&a[0].appendChild(c[b].cloneNode(!0))};Editor.prototype.addFontCss=
-function(a,c){c=null!=c?c:this.fontCss;if(null!=c){var b=a.getElementsByTagName("defs"),e=a.ownerDocument;0==b.length?(b=null!=e.createElementNS?e.createElementNS(mxConstants.NS_SVG,"defs"):e.createElement("defs"),null!=a.firstChild?a.insertBefore(b,a.firstChild):a.appendChild(b)):b=b[0];e=null!=e.createElementNS?e.createElementNS(mxConstants.NS_SVG,"style"):e.createElement("style");e.setAttribute("type","text/css");mxUtils.setTextContent(e,c);b.appendChild(e)}};Editor.prototype.isExportToCanvas=
-function(){return mxClient.IS_CHROMEAPP||this.useCanvasForExport&&(!this.graph.mathEnabled||!mxClient.IS_SF&&!((mxClient.IS_GC||mxClient.IS_EDGE)&&!mxClient.IS_MAC))};Editor.prototype.exportToCanvas=function(a,c,b,e,d,k,g,f,n,x,t,v,l,A){k=null!=k?k:!0;v=null!=v?v:this.graph;l=null!=l?l:0;var p=n?null:v.background;p==mxConstants.NONE&&(p=null);null==p&&(p=e);null==p&&0==n&&(p=this.graph.defaultPageBackgroundColor);this.convertImages(v.getSvg(p,null,null,A,null,null!=g?g:!0,null,null,null,x),mxUtils.bind(this,
-function(b){var e=new Image;e.onload=mxUtils.bind(this,function(){try{var g=document.createElement("canvas"),n=parseInt(b.getAttribute("width")),x=parseInt(b.getAttribute("height"));f=null!=f?f:1;null!=c&&(f=k?Math.min(1,Math.min(3*c/(4*x),c/n)):c/n);n=Math.ceil(f*n)+2*l;x=Math.ceil(f*x)+2*l;g.setAttribute("width",n);g.setAttribute("height",x);var t=g.getContext("2d");null!=p&&(t.beginPath(),t.rect(0,0,n,x),t.fillStyle=p,t.fill());t.scale(f,f);mxClient.IS_SF?window.setTimeout(function(){t.drawImage(e,
-l/f,l/f);a(g)},0):(t.drawImage(e,l/f,l/f),a(g))}catch(R){null!=d&&d(R)}});e.onerror=function(a){null!=d&&d(a)};try{x&&this.graph.addSvgShadow(b);var g=mxUtils.bind(this,function(){if(null!=this.resolvedFontCss){var a=document.createElement("style");a.setAttribute("type","text/css");a.innerHTML=this.resolvedFontCss;b.getElementsByTagName("defs")[0].appendChild(a)}v.mathEnabled&&this.addMathCss(b);e.src=this.createSvgDataUri(mxUtils.getXml(b))});this.loadFonts(g)}catch(T){null!=d&&d(T)}}),b,t)};Editor.prototype.writeGraphModelToPng=
-function(a,c,b,e,d){function k(a,c){var b=n;n+=c;return a.substring(b,n)}function g(a){a=k(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}function f(a){return String.fromCharCode(a>>24&255,a>>16&255,a>>8&255,a&255)}a=a.substring(a.indexOf(",")+1);a=window.atob?atob(a):Base64.decode(a,!0);var n=0;if(k(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=d&&d();else if(k(a,4),"IHDR"!=k(a,4))null!=d&&d();else{k(a,17);d=a.substring(0,
-n);do{var p=g(a);if("IDAT"==k(a,4)){d=a.substring(0,n-8);b=b+String.fromCharCode(0)+("zTXt"==c?String.fromCharCode(0):"")+e;e=4294967295;e=EditorUi.prototype.updateCRC(e,c,0,4);e=EditorUi.prototype.updateCRC(e,b,0,b.length);d+=f(b.length)+c+b+f(e^4294967295);d+=a.substring(n-8,a.length);break}d+=a.substring(n-8,n-4+p);k(a,p);k(a,4)}while(p);return"data:image/png;base64,"+(window.btoa?btoa(d):Base64.encode(d,!0))}};if(window.ColorDialog){FilenameDialog.filenameHelpLink="https://desk.draw.io/support/solutions/articles/16000091426";
-var l=ColorDialog.addRecentColor;ColorDialog.addRecentColor=function(a,c){l.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()};var m=ColorDialog.resetRecentColors;ColorDialog.resetRecentColors=function(){m.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()}}window.EditDataDialog&&(EditDataDialog.getDisplayIdForCell=function(a,c){var b=null;null!=a.editor.graph.getModel().getParent(c)?b=c.getId():null!=a.currentPage&&
+typeof MathJax&&"undefined"!==typeof MathJax.Hub?Editor.doMathJaxRender(a):Editor.mathJaxQueue.push(a)};Editor.MathJaxClear=function(){Editor.mathJaxQueue=[]};var b=Editor.prototype.init;Editor.prototype.init=function(){b.apply(this,arguments);this.graph.addListener(mxEvent.SIZE,mxUtils.bind(this,function(a,d){null!=this.graph.container&&this.graph.mathEnabled&&!this.graph.blockMathRender&&Editor.MathJaxRender(this.graph.container)}))};var c=document.getElementsByTagName("script");if(null!=c&&0<c.length){var f=
+document.createElement("script");f.type="text/javascript";f.src=a;c[0].parentNode.appendChild(f)}};Editor.prototype.csvToArray=function(a){if(!/^\s*(?:'[^'\\]*(?:\\[\S\s][^'\\]*)*'|"[^"\\]*(?:\\[\S\s][^"\\]*)*"|[^,'"\s\\]*(?:\s+[^,'"\s\\]+)*)\s*(?:,\s*(?:'[^'\\]*(?:\\[\S\s][^'\\]*)*'|"[^"\\]*(?:\\[\S\s][^"\\]*)*"|[^,'"\s\\]*(?:\s+[^,'"\s\\]+)*)\s*)*$/.test(a))return null;var d=[];a.replace(/(?!\s*$)\s*(?:'([^'\\]*(?:\\[\S\s][^'\\]*)*)'|"([^"\\]*(?:\\[\S\s][^"\\]*)*)"|([^,'"\s\\]*(?:\s+[^,'"\s\\]+)*))\s*(?:,|$)/g,
+function(a,b,c,f){void 0!==b?d.push(b.replace(/\\'/g,"'")):void 0!==c?d.push(c.replace(/\\"/g,'"')):void 0!==f&&d.push(f);return""});/,\s*$/.test(a)&&d.push("");return d};Editor.prototype.isCorsEnabledForUrl=function(a){if(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)return!0;null!=urlParams.cors&&null==this.corsRegExp&&(this.corsRegExp=new RegExp(decodeURIComponent(urlParams.cors)));return null!=this.corsRegExp&&this.corsRegExp.test(a)||"https://raw.githubusercontent.com/"===a.substring(0,34)||
+"https://cdn.rawgit.com/"===a.substring(0,23)||"https://rawgit.com/"===a.substring(0,19)||/^https?:\/\/[^\/]*\.blob.core.windows.net\//.test(a)||/^https?:\/\/[^\/]*\.iconfinder.com\//.test(a)||/^https?:\/\/[^\/]*\.draw\.io\/proxy/.test(a)||/^https?:\/\/[^\/]*\.github\.io\//.test(a)};Editor.prototype.createImageUrlConverter=function(){var a=new mxUrlConverter;a.updateBaseUrl();var d=a.convert,b=this;a.convert=function(c){if(null!=c){var f="http://"==c.substring(0,7)||"https://"==c.substring(0,8);f&&
+!navigator.onLine?c=EditorUi.prototype.svgBrokenImage.src:!f||c.substring(0,a.baseUrl.length)==a.baseUrl||EditorUi.prototype.crossOriginImages&&b.isCorsEnabledForUrl(c)?"chrome-extension://"==c.substring(0,19)||mxClient.IS_CHROMEAPP||(c=d.apply(this,arguments)):c=PROXY_URL+"?url="+encodeURIComponent(c)}return c};return a};Editor.prototype.createSvgDataUri=function(a){return"data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent(a)))};Editor.prototype.convertImageToDataUri=function(a,d){if(/(\.svg)$/i.test(a))mxUtils.get(a,
+mxUtils.bind(this,function(a){d(this.createSvgDataUri(a.getText()))}),function(){d(EditorUi.prototype.svgBrokenImage.src)});else{var b=new Image;EditorUi.prototype.crossOriginImages&&(b.crossOrigin="anonymous");b.onload=function(){var a=document.createElement("canvas"),c=a.getContext("2d");a.height=b.height;a.width=b.width;c.drawImage(b,0,0);try{d(a.toDataURL())}catch(S){d(EditorUi.prototype.svgBrokenImage.src)}};b.onerror=function(){d(EditorUi.prototype.svgBrokenImage.src)};b.src=a}};Editor.prototype.convertImages=
+function(a,d,b,c){null==c&&(c=this.createImageUrlConverter());var f=0,k=b||{};b=mxUtils.bind(this,function(b,g){for(var e=a.getElementsByTagName(b),n=0;n<e.length;n++)mxUtils.bind(this,function(b){var e=c.convert(b.getAttribute(g));if(null!=e&&"data:"!=e.substring(0,5)){var n=k[e];null==n?(f++,this.convertImageToDataUri(e,function(c){null!=c&&(k[e]=c,b.setAttribute(g,c));f--;0==f&&d(a)})):b.setAttribute(g,n)}else null!=e&&b.setAttribute(g,e)})(e[n])});b("image","xlink:href");b("img","src");0==f&&
+d(a)};Editor.prototype.base64Encode=function(a){for(var d="",b=0,c=a.length,f,k,g;b<c;){f=a.charCodeAt(b++)&255;if(b==c){d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(f>>2);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f&3)<<4);d+="==";break}k=a.charCodeAt(b++);if(b==c){d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(f>>2);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f&3)<<
+4|(k&240)>>4);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((k&15)<<2);d+="=";break}g=a.charCodeAt(b++);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(f>>2);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f&3)<<4|(k&240)>>4);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((k&15)<<2|(g&192)>>6);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(g&63)}return d};
+Editor.prototype.loadUrl=function(a,d,b,c,f,k){try{var g=c||/(\.png)($|\?)/i.test(a)||/(\.jpe?g)($|\?)/i.test(a)||/(\.gif)($|\?)/i.test(a);f=null!=f?f:!0;var e=mxUtils.bind(this,function(){mxUtils.get(a,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus()){if(null!=d){var c=a.getText();if(g){if((9==document.documentMode||10==document.documentMode)&&"undefined"!==typeof window.mxUtilsBinaryToArray){a=mxUtilsBinaryToArray(a.request.responseBody).toArray();for(var c=Array(a.length),
+f=0;f<a.length;f++)c[f]=String.fromCharCode(a[f]);c=c.join("")}k=null!=k?k:"data:image/png;base64,";c=k+this.base64Encode(c)}d(c)}}else null!=b&&b({code:App.ERROR_UNKNOWN},a)}),function(){null!=b&&b({code:App.ERROR_UNKNOWN})},g,this.timeout,function(){f&&null!=b&&b({code:App.ERROR_TIMEOUT,retry:e})})});e()}catch(P){null!=b&&b(P)}};Editor.prototype.loadFonts=function(a){if(null!=this.fontCss&&null==this.resolvedFontCss){var d=function(a){return a.replace(RegExp("^[\\s\"']+","g"),"").replace(RegExp("[\\s\"']+$",
+"g"),"")},b=this.fontCss.split("url("),c=0,f={},k=mxUtils.bind(this,function(){if(0==c){for(var k=[b[0]],g=1;g<b.length;g++){var e=b[g].indexOf(")");k.push('url("');k.push(f[d(b[g].substring(0,e))]);k.push('"'+b[g].substring(e))}this.resolvedFontCss=k.join("");a()}});if(0<b.length)for(var g=1;g<b.length;g++){var e=b[g].indexOf(")"),n=null,p=b[g].indexOf("format(",e);0<p&&(n=d(b[g].substring(p+7,b[g].indexOf(")",p))));mxUtils.bind(this,function(a){if(null==f[a]){f[a]=a;c++;var d="application/x-font-ttf";
+if("svg"==n||/(\.svg)($|\?)/i.test(a))d="image/svg+xml";else if("otf"==n||"embedded-opentype"==n||/(\.otf)($|\?)/i.test(a))d="application/x-font-opentype";else if("woff"==n||/(\.woff)($|\?)/i.test(a))d="application/font-woff";else if("woff2"==n||/(\.woff2)($|\?)/i.test(a))d="application/font-woff2";else if("eot"==n||/(\.eot)($|\?)/i.test(a))d="application/vnd.ms-fontobject";else if("sfnt"==n||/(\.sfnt)($|\?)/i.test(a))d="application/font-sfnt";var b=a;/^https?:\/\//.test(b)&&!this.isCorsEnabledForUrl(b)&&
+(b=PROXY_URL+"?url="+encodeURIComponent(a));this.loadUrl(b,mxUtils.bind(this,function(d){f[a]=d;c--;k()}),mxUtils.bind(this,function(a){c--;k()}),!0,null,"data:"+d+";charset=utf-8;base64,")}})(d(b[g].substring(0,e)),n)}}else a()};Editor.prototype.addMathCss=function(a){a=a.getElementsByTagName("defs");if(null!=a&&0<a.length)for(var d=document.getElementsByTagName("style"),b=0;b<d.length;b++)0<mxUtils.getTextContent(d[b]).indexOf("MathJax")&&a[0].appendChild(d[b].cloneNode(!0))};Editor.prototype.addFontCss=
+function(a,d){d=null!=d?d:this.fontCss;if(null!=d){var b=a.getElementsByTagName("defs"),c=a.ownerDocument;0==b.length?(b=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"defs"):c.createElement("defs"),null!=a.firstChild?a.insertBefore(b,a.firstChild):a.appendChild(b)):b=b[0];c=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"style"):c.createElement("style");c.setAttribute("type","text/css");mxUtils.setTextContent(c,d);b.appendChild(c)}};Editor.prototype.isExportToCanvas=
+function(){return mxClient.IS_CHROMEAPP||this.useCanvasForExport&&(!this.graph.mathEnabled||!mxClient.IS_SF&&!((mxClient.IS_GC||mxClient.IS_EDGE)&&!mxClient.IS_MAC))};Editor.prototype.exportToCanvas=function(a,d,b,c,f,k,g,e,n,x,t,v,l,A){k=null!=k?k:!0;v=null!=v?v:this.graph;l=null!=l?l:0;var p=n?null:v.background;p==mxConstants.NONE&&(p=null);null==p&&(p=c);null==p&&0==n&&(p=this.graph.defaultPageBackgroundColor);this.convertImages(v.getSvg(p,null,null,A,null,null!=g?g:!0,null,null,null,x),mxUtils.bind(this,
+function(b){var c=new Image;c.onload=mxUtils.bind(this,function(){try{var g=document.createElement("canvas"),n=parseInt(b.getAttribute("width")),x=parseInt(b.getAttribute("height"));e=null!=e?e:1;null!=d&&(e=k?Math.min(1,Math.min(3*d/(4*x),d/n)):d/n);n=Math.ceil(e*n)+2*l;x=Math.ceil(e*x)+2*l;g.setAttribute("width",n);g.setAttribute("height",x);var t=g.getContext("2d");null!=p&&(t.beginPath(),t.rect(0,0,n,x),t.fillStyle=p,t.fill());t.scale(e,e);mxClient.IS_SF?window.setTimeout(function(){t.drawImage(c,
+l/e,l/e);a(g)},0):(t.drawImage(c,l/e,l/e),a(g))}catch(R){null!=f&&f(R)}});c.onerror=function(a){null!=f&&f(a)};try{x&&this.graph.addSvgShadow(b);var g=mxUtils.bind(this,function(){if(null!=this.resolvedFontCss){var a=document.createElement("style");a.setAttribute("type","text/css");a.innerHTML=this.resolvedFontCss;b.getElementsByTagName("defs")[0].appendChild(a)}v.mathEnabled&&this.addMathCss(b);c.src=this.createSvgDataUri(mxUtils.getXml(b))});this.loadFonts(g)}catch(T){null!=f&&f(T)}}),b,t)};Editor.prototype.writeGraphModelToPng=
+function(a,d,b,c,f){function k(a,d){var b=n;n+=d;return a.substring(b,n)}function g(a){a=k(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}function e(a){return String.fromCharCode(a>>24&255,a>>16&255,a>>8&255,a&255)}a=a.substring(a.indexOf(",")+1);a=window.atob?atob(a):Base64.decode(a,!0);var n=0;if(k(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=f&&f();else if(k(a,4),"IHDR"!=k(a,4))null!=f&&f();else{k(a,17);f=a.substring(0,
+n);do{var p=g(a);if("IDAT"==k(a,4)){f=a.substring(0,n-8);b=b+String.fromCharCode(0)+("zTXt"==d?String.fromCharCode(0):"")+c;c=4294967295;c=EditorUi.prototype.updateCRC(c,d,0,4);c=EditorUi.prototype.updateCRC(c,b,0,b.length);f+=e(b.length)+d+b+e(c^4294967295);f+=a.substring(n-8,a.length);break}f+=a.substring(n-8,n-4+p);k(a,p);k(a,4)}while(p);return"data:image/png;base64,"+(window.btoa?btoa(f):Base64.encode(f,!0))}};if(window.ColorDialog){FilenameDialog.filenameHelpLink="https://desk.draw.io/support/solutions/articles/16000091426";
+var l=ColorDialog.addRecentColor;ColorDialog.addRecentColor=function(a,d){l.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()};var m=ColorDialog.resetRecentColors;ColorDialog.resetRecentColors=function(){m.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()}}window.EditDataDialog&&(EditDataDialog.getDisplayIdForCell=function(a,d){var b=null;null!=a.editor.graph.getModel().getParent(d)?b=d.getId():null!=a.currentPage&&
 (b=a.currentPage.getId());return b});if(null!=window.StyleFormatPanel){var q=Format.prototype.init;Format.prototype.init=function(){q.apply(this,arguments);this.editorUi.editor.addListener("fileLoaded",this.update)};var u=Format.prototype.refresh;Format.prototype.refresh=function(){null!=this.editorUi.getCurrentFile()||"1"==urlParams.embed||this.editorUi.editor.chromeless?u.apply(this,arguments):this.clear()};DiagramFormatPanel.prototype.isShadowOptionVisible=function(){var a=this.editorUi.getCurrentFile();
-return"1"==urlParams.embed||null!=a&&a.isEditable()};DiagramFormatPanel.prototype.isMathOptionVisible=function(a){return!1};var z=DiagramFormatPanel.prototype.addView;DiagramFormatPanel.prototype.addView=function(a){a=z.apply(this,arguments);this.editorUi.getCurrentFile();if(mxClient.IS_SVG&&this.isShadowOptionVisible()){var c=this.editorUi,b=c.editor.graph,e=this.createOption(mxResources.get("shadow"),function(){return b.shadowVisible},function(a){var e=new ChangePageSetup(c);e.ignoreColor=!0;e.ignoreImage=
-!0;e.shadowVisible=a;b.model.execute(e)},{install:function(a){this.listener=function(){a(b.shadowVisible)};c.addListener("shadowVisibleChanged",this.listener)},destroy:function(){c.removeListener(this.listener)}});Editor.shadowOptionEnabled||(e.getElementsByTagName("input")[0].setAttribute("disabled","disabled"),mxUtils.setOpacity(e,60));a.appendChild(e)}return a};var C=DiagramFormatPanel.prototype.addOptions;DiagramFormatPanel.prototype.addOptions=function(a){a=C.apply(this,arguments);var c=this.editorUi,
-b=c.editor.graph;if(b.isEnabled()){var e=c.getCurrentFile();if(null!=e&&e.isAutosaveOptional()){var d=this.createOption(mxResources.get("autosave"),function(){return c.editor.autosave},function(a){c.editor.setAutosave(a);c.editor.autosave&&e.isModified()&&e.fileChanged()},{install:function(a){this.listener=function(){a(c.editor.autosave)};c.editor.addListener("autosaveChanged",this.listener)},destroy:function(){c.editor.removeListener(this.listener)}});a.appendChild(d)}}if(this.isMathOptionVisible()&&
-b.isEnabled()&&"undefined"!==typeof MathJax){d=this.createOption(mxResources.get("mathematicalTypesetting"),function(){return b.mathEnabled},function(a){c.actions.get("mathematicalTypesetting").funct()},{install:function(a){this.listener=function(){a(b.mathEnabled)};c.addListener("mathEnabledChanged",this.listener)},destroy:function(){c.removeListener(this.listener)}});d.style.paddingTop="5px";a.appendChild(d);var k=c.menus.createHelpLink("https://desk.draw.io/support/solutions/articles/16000032875");
-k.style.position="relative";k.style.marginLeft="6px";k.style.top="2px";d.appendChild(k)}return a};mxCellRenderer.prototype.defaultVertexShape.prototype.customProperties=[{name:"arcSize",dispName:"Arc Size",type:"float",min:0,defVal:mxConstants.LINE_ARCSIZE},{name:"absoluteArcSize",dispName:"Abs. Arc Size",type:"bool",defVal:!1}];mxCellRenderer.defaultShapes.link.prototype.customProperties=[{name:"width",dispName:"Width",type:"float",min:0,defVal:4}];mxCellRenderer.defaultShapes.flexArrow.prototype.customProperties=
+return"1"==urlParams.embed||null!=a&&a.isEditable()};DiagramFormatPanel.prototype.isMathOptionVisible=function(a){return!1};var z=DiagramFormatPanel.prototype.addView;DiagramFormatPanel.prototype.addView=function(a){a=z.apply(this,arguments);this.editorUi.getCurrentFile();if(mxClient.IS_SVG&&this.isShadowOptionVisible()){var d=this.editorUi,b=d.editor.graph,c=this.createOption(mxResources.get("shadow"),function(){return b.shadowVisible},function(a){var c=new ChangePageSetup(d);c.ignoreColor=!0;c.ignoreImage=
+!0;c.shadowVisible=a;b.model.execute(c)},{install:function(a){this.listener=function(){a(b.shadowVisible)};d.addListener("shadowVisibleChanged",this.listener)},destroy:function(){d.removeListener(this.listener)}});Editor.shadowOptionEnabled||(c.getElementsByTagName("input")[0].setAttribute("disabled","disabled"),mxUtils.setOpacity(c,60));a.appendChild(c)}return a};var C=DiagramFormatPanel.prototype.addOptions;DiagramFormatPanel.prototype.addOptions=function(a){a=C.apply(this,arguments);var d=this.editorUi,
+b=d.editor.graph;if(b.isEnabled()){var c=d.getCurrentFile();if(null!=c&&c.isAutosaveOptional()){var f=this.createOption(mxResources.get("autosave"),function(){return d.editor.autosave},function(a){d.editor.setAutosave(a);d.editor.autosave&&c.isModified()&&c.fileChanged()},{install:function(a){this.listener=function(){a(d.editor.autosave)};d.editor.addListener("autosaveChanged",this.listener)},destroy:function(){d.editor.removeListener(this.listener)}});a.appendChild(f)}}if(this.isMathOptionVisible()&&
+b.isEnabled()&&"undefined"!==typeof MathJax){f=this.createOption(mxResources.get("mathematicalTypesetting"),function(){return b.mathEnabled},function(a){d.actions.get("mathematicalTypesetting").funct()},{install:function(a){this.listener=function(){a(b.mathEnabled)};d.addListener("mathEnabledChanged",this.listener)},destroy:function(){d.removeListener(this.listener)}});f.style.paddingTop="5px";a.appendChild(f);var k=d.menus.createHelpLink("https://desk.draw.io/support/solutions/articles/16000032875");
+k.style.position="relative";k.style.marginLeft="6px";k.style.top="2px";f.appendChild(k)}return a};mxCellRenderer.prototype.defaultVertexShape.prototype.customProperties=[{name:"arcSize",dispName:"Arc Size",type:"float",min:0,defVal:mxConstants.LINE_ARCSIZE},{name:"absoluteArcSize",dispName:"Abs. Arc Size",type:"bool",defVal:!1}];mxCellRenderer.defaultShapes.link.prototype.customProperties=[{name:"width",dispName:"Width",type:"float",min:0,defVal:4}];mxCellRenderer.defaultShapes.flexArrow.prototype.customProperties=
 [{name:"width",dispName:"Width",type:"float",min:0,defVal:10},{name:"startWidth",dispName:"Start Width",type:"float",min:0,defVal:20},{name:"endWidth",dispName:"End Width",type:"float",min:0,defVal:20}];mxCellRenderer.defaultShapes.process.prototype.customProperties=[{name:"size",dispName:"Indent",type:"float",min:0,max:.5,defVal:.1}];mxCellRenderer.defaultShapes.rhombus.prototype.customProperties=[{name:"arcSize",dispName:"Arc Size",type:"float",min:0,max:50,defVal:mxConstants.LINE_ARCSIZE},{name:"double",
 dispName:"Double",type:"bool",defVal:!1}];mxCellRenderer.defaultShapes.partialRectangle.prototype.customProperties=[{name:"top",dispName:"Top Line",type:"bool",defVal:!0},{name:"bottom",dispName:"Bottom Line",type:"bool",defVal:!0},{name:"left",dispName:"Left Line",type:"bool",defVal:!0},{name:"right",dispName:"Right Line",type:"bool",defVal:!0}];mxCellRenderer.defaultShapes.parallelogram.prototype.customProperties=[{name:"arcSize",dispName:"Arc Size",type:"float",min:0,defVal:mxConstants.LINE_ARCSIZE},
 {name:"size",dispName:"Slope Angle",type:"float",min:0,max:1,defVal:.2}];mxCellRenderer.defaultShapes.hexagon.prototype.customProperties=[{name:"arcSize",dispName:"Arc Size",type:"float",min:0,defVal:mxConstants.LINE_ARCSIZE},{name:"size",dispName:"Slope Angle",type:"float",min:0,max:1,defVal:.25}];mxCellRenderer.defaultShapes.triangle.prototype.customProperties=[{name:"arcSize",dispName:"Arc Size",type:"float",min:0,defVal:mxConstants.LINE_ARCSIZE}];mxCellRenderer.defaultShapes.document.prototype.customProperties=
@@ -2898,387 +2901,388 @@ defVal:"none",enumList:[{val:"none",dispName:"Default"},{val:"umlActor",dispName
 font:"#ffffff"},{fill:"#aa00ff",stroke:"#7700CC",font:"#ffffff"},{fill:"#d80073",stroke:"#A50040",font:"#ffffff"},{fill:"#a20025",stroke:"#6F0000",font:"#ffffff"}],[{fill:"#e51400",stroke:"#B20000",font:"#ffffff"},{fill:"#fa6800",stroke:"#C73500",font:"#ffffff"},{fill:"#f0a30a",stroke:"#BD7000",font:"#ffffff"},{fill:"#e3c800",stroke:"#B09500",font:"#ffffff"},{fill:"#6d8764",stroke:"#3A5431",font:"#ffffff"},{fill:"#647687",stroke:"#314354",font:"#ffffff"},{fill:"#76608a",stroke:"#432D57",font:"#ffffff"},
 {fill:"#a0522d",stroke:"#6D1F00",font:"#ffffff"}],[{fill:"",stroke:""},{fill:mxConstants.NONE,stroke:""},{fill:"#fad7ac",stroke:"#b46504"},{fill:"#fad9d5",stroke:"#ae4132"},{fill:"#b0e3e6",stroke:"#0e8088"},{fill:"#b1ddf0",stroke:"#10739e"},{fill:"#d0cee2",stroke:"#56517e"},{fill:"#bac8d3",stroke:"#23445d"}],[{fill:"",stroke:""},{fill:"#f5f5f5",stroke:"#666666",gradient:"#b3b3b3"},{fill:"#dae8fc",stroke:"#6c8ebf",gradient:"#7ea6e0"},{fill:"#d5e8d4",stroke:"#82b366",gradient:"#97d077"},{fill:"#ffcd28",
 stroke:"#d79b00",gradient:"#ffa500"},{fill:"#fff2cc",stroke:"#d6b656",gradient:"#ffd966"},{fill:"#f8cecc",stroke:"#b85450",gradient:"#ea6b66"},{fill:"#e6d0de",stroke:"#996185",gradient:"#d5739d"}],[{fill:"",stroke:""},{fill:"#eeeeee",stroke:"#36393d"},{fill:"#f9f7ed",stroke:"#36393d"},{fill:"#ffcc99",stroke:"#36393d"},{fill:"#cce5ff",stroke:"#36393d"},{fill:"#ffff88",stroke:"#36393d"},{fill:"#cdeb8b",stroke:"#36393d"},{fill:"#ffcccc",stroke:"#36393d"}]];StyleFormatPanel.prototype.customColorSchemes=
-null;StyleFormatPanel.prototype.findCommonProperties=function(a,c,b){if(null!=c){var e=function(a){if(null!=a)if(b)for(var e=0;e<a.length;e++)c[a[e].name]=a[e];else for(var d in c){for(var k=!1,e=0;e<a.length;e++)if(a[e].name==d&&a[e].type==c[d].type){k=!0;break}k||delete c[d]}},d=this.editorUi.editor.graph.view.getState(a);null!=d&&null!=d.shape&&(d.shape.commonCustomPropAdded||(d.shape.commonCustomPropAdded=!0,d.shape.customProperties=d.shape.customProperties||[],d.cell.vertex?Array.prototype.push.apply(d.shape.customProperties,
-Editor.commonVertexProperties):Array.prototype.push.apply(d.shape.customProperties,Editor.commonEdgeProperties)),e(d.shape.customProperties));a=a.getAttribute("customProperties");if(null!=a)try{e(JSON.parse(a))}catch(S){}}};var c=StyleFormatPanel.prototype.init;StyleFormatPanel.prototype.init=function(){var a=this.format.createSelectionState();"image"==a.style.shape||a.containsLabel||this.container.appendChild(this.addStyles(this.createPanel()));c.apply(this,arguments);if(Editor.enableCustomProperties){for(var b=
-{},e=a.vertices,d=a.edges,k=0;k<e.length;k++)this.findCommonProperties(e[k],b,0==k);for(k=0;k<d.length;k++)this.findCommonProperties(d[k],b,0==e.length&&0==k);null!=Object.getOwnPropertyNames&&0<Object.getOwnPropertyNames(b).length&&this.container.appendChild(this.addProperties(this.createPanel(),b,a))}};var e=StyleFormatPanel.prototype.addStyleOps;StyleFormatPanel.prototype.addStyleOps=function(a){var c=mxUtils.button(mxResources.get("copyStyle"),mxUtils.bind(this,function(a){this.editorUi.actions.get("copyStyle").funct()}));
-c.setAttribute("title",mxResources.get("copyStyle")+" ("+this.editorUi.actions.get("copyStyle").shortcut+")");c.style.marginBottom="2px";c.style.width="100px";c.style.marginRight="2px";a.appendChild(c);c=mxUtils.button(mxResources.get("pasteStyle"),mxUtils.bind(this,function(a){this.editorUi.actions.get("pasteStyle").funct()}));c.setAttribute("title",mxResources.get("pasteStyle")+" ("+this.editorUi.actions.get("pasteStyle").shortcut+")");c.style.marginBottom="2px";c.style.width="100px";a.appendChild(c);
-mxUtils.br(a);return e.apply(this,arguments)};EditorUi.prototype.propertiesCollapsed=!0;StyleFormatPanel.prototype.addProperties=function(a,c,b){function e(a,c,b,e){t.getModel().beginUpdate();try{var d=[],k=[];if(null!=b.index){for(var g=[],f=b.parentRow.nextSibling;f&&f.getAttribute("data-pName")==a;)g.push(f.getAttribute("data-pValue")),f=f.nextSibling;b.index<g.length?null!=e?g.splice(e,1):g[b.index]=c:g.push(c);null!=b.size&&g.length>b.size&&(g=g.slice(0,b.size));c=g.join(",");null!=b.countProperty&&
-(t.setCellStyles(b.countProperty,g.length,t.getSelectionCells()),d.push(b.countProperty),k.push(g.length))}t.setCellStyles(a,c,t.getSelectionCells());d.push(a);k.push(c);if(null!=b.dependentProps)for(a=0;a<b.dependentProps.length;a++){var n=b.dependentPropsDefVal[a],p=b.dependentPropsVals[a];if(p.length>c)p=p.slice(0,c);else for(var v=p.length;v<c;v++)p.push(n);p=p.join(",");t.setCellStyles(b.dependentProps[a],p,t.getSelectionCells());d.push(b.dependentProps[a]);k.push(p)}if("function"==typeof b.onChange)b.onChange(t,
-c);x.editorUi.fireEvent(new mxEventObject("styleChanged","keys",d,"values",k,"cells",t.getSelectionCells()))}finally{t.getModel().endUpdate()}}function d(c,b,e){var d=mxUtils.getOffset(a,!0),k=mxUtils.getOffset(c,!0);b.style.position="absolute";b.style.left=k.x-d.x+"px";b.style.top=k.y-d.y+"px";b.style.width=c.offsetWidth+"px";b.style.height=c.offsetHeight-(e?4:0)+"px";b.style.zIndex=5}function k(a,c,b){var d=document.createElement("div");d.style.width="32px";d.style.height="4px";d.style.margin="2px";
-d.style.border="1px solid black";d.style.background=c&&"none"!=c?c:"url('"+Dialog.prototype.noColorImage+"')";btn=mxUtils.button("",mxUtils.bind(x,function(k){this.editorUi.pickColor(c,function(c){d.style.background="none"==c?"url('"+Dialog.prototype.noColorImage+"')":c;e(a,c,b)});mxEvent.consume(k)}));btn.style.height="12px";btn.style.width="40px";btn.className="geColorBtn";btn.appendChild(d);return btn}function g(a,c,b,d,k,g,f){null!=c&&(c=c.split(","),v.push({name:a,values:c,type:b,defVal:d,countProperty:k,
-parentRow:g,isDeletable:!0,flipBkg:f}));btn=mxUtils.button("+",mxUtils.bind(x,function(c){for(var n=g,x=0;null!=n.nextSibling;)if(n.nextSibling.getAttribute("data-pName")==a)n=n.nextSibling,x++;else break;var t={type:b,parentRow:g,index:x,isDeletable:!0,defVal:d,countProperty:k},x=p(a,"",t,0==x%2,f);e(a,d,t);n.parentNode.insertBefore(x,n.nextSibling);mxEvent.consume(c)}));btn.style.height="16px";btn.style.width="25px";btn.className="geColorBtn";return btn}function f(a,c,b,e,d,k,g){if(0<d){var f=Array(d);
-c=null!=c?c.split(","):[];for(var n=0;n<d;n++)f[n]=null!=c[n]?c[n]:null!=e?e:"";v.push({name:a,values:f,type:b,defVal:e,parentRow:k,flipBkg:g,size:d})}return document.createElement("div")}function n(a,c,b){var d=document.createElement("input");d.type="checkbox";d.checked="1"==c;mxEvent.addListener(d,"change",function(){e(a,d.checked?"1":"0",b)});return d}function p(c,b,p,t,v){var A=p.dispName,l=p.type,y=document.createElement("tr");y.className="gePropRow"+(v?"Dark":"")+(t?"Alt":"")+" gePropNonHeaderRow";
-y.setAttribute("data-pName",c);y.setAttribute("data-pValue",b);t=!1;null!=p.index&&(y.setAttribute("data-index",p.index),A=(null!=A?A:"")+"["+p.index+"]",t=!0);var B=document.createElement("td");B.className="gePropRowCell";B.innerHTML=mxUtils.htmlEntities(mxResources.get(A,null,A));t&&(B.style.textAlign="right");y.appendChild(B);B=document.createElement("td");B.className="gePropRowCell";if("color"==l)B.appendChild(k(c,b,p));else if("bool"==l||"boolean"==l)B.appendChild(n(c,b,p));else if("enum"==l){var m=
-p.enumList;for(v=0;v<m.length;v++)if(A=m[v],A.val==b){B.innerHTML=mxUtils.htmlEntities(mxResources.get(A.dispName,null,A.dispName));break}mxEvent.addListener(B,"click",mxUtils.bind(x,function(){var k=document.createElement("select");d(B,k);for(var g=0;g<m.length;g++){var f=m[g],n=document.createElement("option");n.value=mxUtils.htmlEntities(f.val);n.innerHTML=mxUtils.htmlEntities(mxResources.get(f.dispName,null,f.dispName));k.appendChild(n)}k.value=b;a.appendChild(k);mxEvent.addListener(k,"change",
-function(){var a=mxUtils.htmlEntities(k.value);e(c,a,p)});k.focus();mxEvent.addListener(k,"blur",function(){a.removeChild(k)})}))}else"dynamicArr"==l?B.appendChild(g(c,b,p.subType,p.subDefVal,p.countProperty,y,v)):"staticArr"==l?B.appendChild(f(c,b,p.subType,p.subDefVal,p.size,y,v)):(B.innerHTML=b,mxEvent.addListener(B,"click",mxUtils.bind(x,function(){function k(){var a=g.value,a=0==a.length&&"string"!=l?0:a;p.allowAuto&&(null!=a.trim&&"auto"==a.trim().toLowerCase()?(a="auto",l="string"):(a=parseFloat(a),
-a=isNaN(a)?0:a));null!=p.min&&a<p.min?a=p.min:null!=p.max&&a>p.max&&(a=p.max);a=mxUtils.htmlEntities(("int"==l?parseInt(a):a)+"");e(c,a,p)}var g=document.createElement("input");d(B,g,!0);g.value=b;g.className="gePropEditor";"int"!=l&&"float"!=l||p.allowAuto||(g.type="number",g.step="int"==l?"1":"any",null!=p.min&&(g.min=parseFloat(p.min)),null!=p.max&&(g.max=parseFloat(p.max)));a.appendChild(g);mxEvent.addListener(g,"keypress",function(a){13==a.keyCode&&k()});g.focus();mxEvent.addListener(g,"blur",
-function(){k()})})));p.isDeletable&&(v=mxUtils.button("-",mxUtils.bind(x,function(a){e(c,"",p,p.index);mxEvent.consume(a)})),v.style.height="16px",v.style.width="25px",v.style["float"]="right",v.className="geColorBtn",B.appendChild(v));y.appendChild(B);return y}var x=this,t=this.editorUi.editor.graph,v=[];a.style.position="relative";a.style.padding="0";var l=document.createElement("table");l.style.whiteSpace="nowrap";l.style.width="100%";var A=document.createElement("tr");A.className="gePropHeader";
-var y=document.createElement("th");y.className="gePropHeaderCell";var B=document.createElement("img");B.src=Sidebar.prototype.expandedImage;y.appendChild(B);mxUtils.write(y,mxResources.get("property"));A.style.cursor="pointer";var m=function(){var c=l.querySelectorAll(".gePropNonHeaderRow"),b;if(x.editorUi.propertiesCollapsed){B.src=Sidebar.prototype.collapsedImage;b="none";for(var e=a.childNodes.length-1;0<=e;e--)try{var d=a.childNodes[e],k=d.nodeName.toUpperCase();"INPUT"!=k&&"SELECT"!=k||a.removeChild(d)}catch(K){}}else B.src=
-Sidebar.prototype.expandedImage,b="";for(e=0;e<c.length;e++)c[e].style.display=b};mxEvent.addListener(A,"click",function(){x.editorUi.propertiesCollapsed=!x.editorUi.propertiesCollapsed;m()});A.appendChild(y);y=document.createElement("th");y.className="gePropHeaderCell";y.innerHTML=mxResources.get("value");A.appendChild(y);l.appendChild(A);var E=!1,q=!1,D;for(D in c)if(A=c[D],"function"!=typeof A.isVisible||A.isVisible(b,this)){var u=null!=b.style[D]?mxUtils.htmlEntities(b.style[D]+""):A.defVal;if("separator"==
-A.type)q=!q;else{if("staticArr"==A.type)A.size=parseInt(b.style[A.sizeProperty]||c[A.sizeProperty].defVal)||0;else if(null!=A.dependentProps){for(var L=A.dependentProps,z=[],C=[],y=0;y<L.length;y++){var J=b.style[L[y]];C.push(c[L[y]].subDefVal);z.push(null!=J?J.split(","):[])}A.dependentPropsDefVal=C;A.dependentPropsVals=z}l.appendChild(p(D,u,A,E,q));E=!E}}for(y=0;y<v.length;y++)for(A=v[y],c=A.parentRow,b=0;b<A.values.length;b++)D=p(A.name,A.values[b],{type:A.type,parentRow:A.parentRow,isDeletable:A.isDeletable,
-index:b,defVal:A.defVal,countProperty:A.countProperty,size:A.size},0==b%2,A.flipBkg),c.parentNode.insertBefore(D,c.nextSibling),c=D;a.appendChild(l);m();return a};StyleFormatPanel.prototype.addStyles=function(a){function c(a){function c(a){var c=mxUtils.button("",function(c){e.getModel().beginUpdate();try{var b=e.getSelectionCells();for(c=0;c<b.length;c++){for(var d=e.getModel().getStyle(b[c]),g=0;g<k.length;g++)d=mxUtils.removeStylename(d,k[g]);var f=e.getModel().isVertex(b[c])?e.defaultVertexStyle:
-e.defaultEdgeStyle;null!=a?(d=mxUtils.setStyle(d,mxConstants.STYLE_GRADIENTCOLOR,a.gradient||mxUtils.getValue(f,mxConstants.STYLE_GRADIENTCOLOR,null)),d=""==a.fill?mxUtils.setStyle(d,mxConstants.STYLE_FILLCOLOR,null):mxUtils.setStyle(d,mxConstants.STYLE_FILLCOLOR,a.fill||mxUtils.getValue(f,mxConstants.STYLE_FILLCOLOR,null)),d=""==a.stroke?mxUtils.setStyle(d,mxConstants.STYLE_STROKECOLOR,null):mxUtils.setStyle(d,mxConstants.STYLE_STROKECOLOR,a.stroke||mxUtils.getValue(f,mxConstants.STYLE_STROKECOLOR,
-null)),e.getModel().isVertex(b[c])&&(d=mxUtils.setStyle(d,mxConstants.STYLE_FONTCOLOR,a.font||mxUtils.getValue(f,mxConstants.STYLE_FONTCOLOR,null)))):(d=mxUtils.setStyle(d,mxConstants.STYLE_FILLCOLOR,mxUtils.getValue(f,mxConstants.STYLE_FILLCOLOR,"#ffffff")),d=mxUtils.setStyle(d,mxConstants.STYLE_STROKECOLOR,mxUtils.getValue(f,mxConstants.STYLE_STROKECOLOR,"#000000")),d=mxUtils.setStyle(d,mxConstants.STYLE_GRADIENTCOLOR,mxUtils.getValue(f,mxConstants.STYLE_GRADIENTCOLOR,null)),e.getModel().isVertex(b[c])&&
-(d=mxUtils.setStyle(d,mxConstants.STYLE_FONTCOLOR,mxUtils.getValue(f,mxConstants.STYLE_FONTCOLOR,null))));e.getModel().setStyle(b[c],d)}}finally{e.getModel().endUpdate()}});c.className="geStyleButton";c.style.width="36px";c.style.height="30px";c.style.margin="0px 6px 6px 0px";if(null!=a)null!=a.gradient?mxClient.IS_IE&&(mxClient.IS_QUIRKS||10>document.documentMode)?c.style.filter="progid:DXImageTransform.Microsoft.Gradient(StartColorStr='"+a.fill+"', EndColorStr='"+a.gradient+"', GradientType=0)":
-c.style.backgroundImage="linear-gradient("+a.fill+" 0px,"+a.gradient+" 100%)":a.fill==mxConstants.NONE?c.style.background="url('"+Dialog.prototype.noColorImage+"')":c.style.backgroundColor=""==a.fill?mxUtils.getValue(e.defaultVertexStyle,mxConstants.STYLE_FILLCOLOR,"dark"==uiTheme?"#2a2a2a":"#ffffff"):a.fill||mxUtils.getValue(e.defaultVertexStyle,mxConstants.STYLE_FILLCOLOR,"dark"==uiTheme?"#2a2a2a":"#ffffff"),c.style.border=a.stroke==mxConstants.NONE?"1px solid transparent":""==a.stroke?"1px solid "+
-mxUtils.getValue(e.defaultVertexStyle,mxConstants.STYLE_STROKECOLOR,"dark"!=uiTheme?"#2a2a2a":"#ffffff"):"1px solid "+(a.stroke||mxUtils.getValue(e.defaultVertexStyle,mxConstants.STYLE_STROKECOLOR,"dark"!=uiTheme?"#2a2a2a":"#ffffff"));else{var b=mxUtils.getValue(e.defaultVertexStyle,mxConstants.STYLE_FILLCOLOR,"#ffffff"),g=mxUtils.getValue(e.defaultVertexStyle,mxConstants.STYLE_STROKECOLOR,"#000000");c.style.backgroundColor=b;c.style.border="1px solid "+g}d.appendChild(c)}d.innerHTML="";for(var b=
-0;b<a.length;b++)0<b&&0==mxUtils.mod(b,4)&&mxUtils.br(d),c(a[b])}function b(a){mxEvent.addListener(a,"mouseenter",function(){a.style.opacity="1"});mxEvent.addListener(a,"mouseleave",function(){a.style.opacity="0.5"})}var e=this.editorUi.editor.graph,d=document.createElement("div");d.style.whiteSpace="nowrap";d.style.paddingLeft="24px";d.style.paddingRight="20px";a.style.paddingLeft="16px";a.style.paddingBottom="6px";a.style.position="relative";a.appendChild(d);var k="plain-gray plain-blue plain-green plain-turquoise plain-orange plain-yellow plain-red plain-pink plain-purple gray blue green turquoise orange yellow red pink purple".split(" ");
+null;StyleFormatPanel.prototype.findCommonProperties=function(a,d,b){if(null!=d){var c=function(a){if(null!=a)if(b)for(var c=0;c<a.length;c++)d[a[c].name]=a[c];else for(var f in d){for(var k=!1,c=0;c<a.length;c++)if(a[c].name==f&&a[c].type==d[f].type){k=!0;break}k||delete d[f]}},f=this.editorUi.editor.graph.view.getState(a);null!=f&&null!=f.shape&&(f.shape.commonCustomPropAdded||(f.shape.commonCustomPropAdded=!0,f.shape.customProperties=f.shape.customProperties||[],f.cell.vertex?Array.prototype.push.apply(f.shape.customProperties,
+Editor.commonVertexProperties):Array.prototype.push.apply(f.shape.customProperties,Editor.commonEdgeProperties)),c(f.shape.customProperties));a=a.getAttribute("customProperties");if(null!=a)try{c(JSON.parse(a))}catch(S){}}};var d=StyleFormatPanel.prototype.init;StyleFormatPanel.prototype.init=function(){var a=this.format.createSelectionState();"image"==a.style.shape||a.containsLabel||this.container.appendChild(this.addStyles(this.createPanel()));d.apply(this,arguments);if(Editor.enableCustomProperties){for(var b=
+{},c=a.vertices,f=a.edges,k=0;k<c.length;k++)this.findCommonProperties(c[k],b,0==k);for(k=0;k<f.length;k++)this.findCommonProperties(f[k],b,0==c.length&&0==k);null!=Object.getOwnPropertyNames&&0<Object.getOwnPropertyNames(b).length&&this.container.appendChild(this.addProperties(this.createPanel(),b,a))}};var f=StyleFormatPanel.prototype.addStyleOps;StyleFormatPanel.prototype.addStyleOps=function(a){var d=mxUtils.button(mxResources.get("copyStyle"),mxUtils.bind(this,function(a){this.editorUi.actions.get("copyStyle").funct()}));
+d.setAttribute("title",mxResources.get("copyStyle")+" ("+this.editorUi.actions.get("copyStyle").shortcut+")");d.style.marginBottom="2px";d.style.width="100px";d.style.marginRight="2px";a.appendChild(d);d=mxUtils.button(mxResources.get("pasteStyle"),mxUtils.bind(this,function(a){this.editorUi.actions.get("pasteStyle").funct()}));d.setAttribute("title",mxResources.get("pasteStyle")+" ("+this.editorUi.actions.get("pasteStyle").shortcut+")");d.style.marginBottom="2px";d.style.width="100px";a.appendChild(d);
+mxUtils.br(a);return f.apply(this,arguments)};EditorUi.prototype.propertiesCollapsed=!0;StyleFormatPanel.prototype.addProperties=function(a,d,b){function c(a,d,b,c){t.getModel().beginUpdate();try{var f=[],k=[];if(null!=b.index){for(var g=[],e=b.parentRow.nextSibling;e&&e.getAttribute("data-pName")==a;)g.push(e.getAttribute("data-pValue")),e=e.nextSibling;b.index<g.length?null!=c?g.splice(c,1):g[b.index]=d:g.push(d);null!=b.size&&g.length>b.size&&(g=g.slice(0,b.size));d=g.join(",");null!=b.countProperty&&
+(t.setCellStyles(b.countProperty,g.length,t.getSelectionCells()),f.push(b.countProperty),k.push(g.length))}t.setCellStyles(a,d,t.getSelectionCells());f.push(a);k.push(d);if(null!=b.dependentProps)for(a=0;a<b.dependentProps.length;a++){var n=b.dependentPropsDefVal[a],p=b.dependentPropsVals[a];if(p.length>d)p=p.slice(0,d);else for(var v=p.length;v<d;v++)p.push(n);p=p.join(",");t.setCellStyles(b.dependentProps[a],p,t.getSelectionCells());f.push(b.dependentProps[a]);k.push(p)}if("function"==typeof b.onChange)b.onChange(t,
+d);x.editorUi.fireEvent(new mxEventObject("styleChanged","keys",f,"values",k,"cells",t.getSelectionCells()))}finally{t.getModel().endUpdate()}}function f(d,b,c){var f=mxUtils.getOffset(a,!0),k=mxUtils.getOffset(d,!0);b.style.position="absolute";b.style.left=k.x-f.x+"px";b.style.top=k.y-f.y+"px";b.style.width=d.offsetWidth+"px";b.style.height=d.offsetHeight-(c?4:0)+"px";b.style.zIndex=5}function k(a,d,b){var f=document.createElement("div");f.style.width="32px";f.style.height="4px";f.style.margin="2px";
+f.style.border="1px solid black";f.style.background=d&&"none"!=d?d:"url('"+Dialog.prototype.noColorImage+"')";btn=mxUtils.button("",mxUtils.bind(x,function(k){this.editorUi.pickColor(d,function(d){f.style.background="none"==d?"url('"+Dialog.prototype.noColorImage+"')":d;c(a,d,b)});mxEvent.consume(k)}));btn.style.height="12px";btn.style.width="40px";btn.className="geColorBtn";btn.appendChild(f);return btn}function g(a,d,b,f,k,g,e){null!=d&&(d=d.split(","),v.push({name:a,values:d,type:b,defVal:f,countProperty:k,
+parentRow:g,isDeletable:!0,flipBkg:e}));btn=mxUtils.button("+",mxUtils.bind(x,function(d){for(var n=g,x=0;null!=n.nextSibling;)if(n.nextSibling.getAttribute("data-pName")==a)n=n.nextSibling,x++;else break;var t={type:b,parentRow:g,index:x,isDeletable:!0,defVal:f,countProperty:k},x=p(a,"",t,0==x%2,e);c(a,f,t);n.parentNode.insertBefore(x,n.nextSibling);mxEvent.consume(d)}));btn.style.height="16px";btn.style.width="25px";btn.className="geColorBtn";return btn}function e(a,d,b,c,f,k,g){if(0<f){var e=Array(f);
+d=null!=d?d.split(","):[];for(var n=0;n<f;n++)e[n]=null!=d[n]?d[n]:null!=c?c:"";v.push({name:a,values:e,type:b,defVal:c,parentRow:k,flipBkg:g,size:f})}return document.createElement("div")}function n(a,d,b){var f=document.createElement("input");f.type="checkbox";f.checked="1"==d;mxEvent.addListener(f,"change",function(){c(a,f.checked?"1":"0",b)});return f}function p(d,b,p,t,v){var A=p.dispName,l=p.type,y=document.createElement("tr");y.className="gePropRow"+(v?"Dark":"")+(t?"Alt":"")+" gePropNonHeaderRow";
+y.setAttribute("data-pName",d);y.setAttribute("data-pValue",b);t=!1;null!=p.index&&(y.setAttribute("data-index",p.index),A=(null!=A?A:"")+"["+p.index+"]",t=!0);var B=document.createElement("td");B.className="gePropRowCell";B.innerHTML=mxUtils.htmlEntities(mxResources.get(A,null,A));t&&(B.style.textAlign="right");y.appendChild(B);B=document.createElement("td");B.className="gePropRowCell";if("color"==l)B.appendChild(k(d,b,p));else if("bool"==l||"boolean"==l)B.appendChild(n(d,b,p));else if("enum"==l){var m=
+p.enumList;for(v=0;v<m.length;v++)if(A=m[v],A.val==b){B.innerHTML=mxUtils.htmlEntities(mxResources.get(A.dispName,null,A.dispName));break}mxEvent.addListener(B,"click",mxUtils.bind(x,function(){var k=document.createElement("select");f(B,k);for(var g=0;g<m.length;g++){var e=m[g],n=document.createElement("option");n.value=mxUtils.htmlEntities(e.val);n.innerHTML=mxUtils.htmlEntities(mxResources.get(e.dispName,null,e.dispName));k.appendChild(n)}k.value=b;a.appendChild(k);mxEvent.addListener(k,"change",
+function(){var a=mxUtils.htmlEntities(k.value);c(d,a,p)});k.focus();mxEvent.addListener(k,"blur",function(){a.removeChild(k)})}))}else"dynamicArr"==l?B.appendChild(g(d,b,p.subType,p.subDefVal,p.countProperty,y,v)):"staticArr"==l?B.appendChild(e(d,b,p.subType,p.subDefVal,p.size,y,v)):(B.innerHTML=b,mxEvent.addListener(B,"click",mxUtils.bind(x,function(){function k(){var a=g.value,a=0==a.length&&"string"!=l?0:a;p.allowAuto&&(null!=a.trim&&"auto"==a.trim().toLowerCase()?(a="auto",l="string"):(a=parseFloat(a),
+a=isNaN(a)?0:a));null!=p.min&&a<p.min?a=p.min:null!=p.max&&a>p.max&&(a=p.max);a=mxUtils.htmlEntities(("int"==l?parseInt(a):a)+"");c(d,a,p)}var g=document.createElement("input");f(B,g,!0);g.value=b;g.className="gePropEditor";"int"!=l&&"float"!=l||p.allowAuto||(g.type="number",g.step="int"==l?"1":"any",null!=p.min&&(g.min=parseFloat(p.min)),null!=p.max&&(g.max=parseFloat(p.max)));a.appendChild(g);mxEvent.addListener(g,"keypress",function(a){13==a.keyCode&&k()});g.focus();mxEvent.addListener(g,"blur",
+function(){k()})})));p.isDeletable&&(v=mxUtils.button("-",mxUtils.bind(x,function(a){c(d,"",p,p.index);mxEvent.consume(a)})),v.style.height="16px",v.style.width="25px",v.style["float"]="right",v.className="geColorBtn",B.appendChild(v));y.appendChild(B);return y}var x=this,t=this.editorUi.editor.graph,v=[];a.style.position="relative";a.style.padding="0";var l=document.createElement("table");l.style.whiteSpace="nowrap";l.style.width="100%";var A=document.createElement("tr");A.className="gePropHeader";
+var y=document.createElement("th");y.className="gePropHeaderCell";var B=document.createElement("img");B.src=Sidebar.prototype.expandedImage;y.appendChild(B);mxUtils.write(y,mxResources.get("property"));A.style.cursor="pointer";var m=function(){var d=l.querySelectorAll(".gePropNonHeaderRow"),b;if(x.editorUi.propertiesCollapsed){B.src=Sidebar.prototype.collapsedImage;b="none";for(var c=a.childNodes.length-1;0<=c;c--)try{var f=a.childNodes[c],k=f.nodeName.toUpperCase();"INPUT"!=k&&"SELECT"!=k||a.removeChild(f)}catch(L){}}else B.src=
+Sidebar.prototype.expandedImage,b="";for(c=0;c<d.length;c++)d[c].style.display=b};mxEvent.addListener(A,"click",function(){x.editorUi.propertiesCollapsed=!x.editorUi.propertiesCollapsed;m()});A.appendChild(y);y=document.createElement("th");y.className="gePropHeaderCell";y.innerHTML=mxResources.get("value");A.appendChild(y);l.appendChild(A);var D=!1,q=!1,E;for(E in d)if(A=d[E],"function"!=typeof A.isVisible||A.isVisible(b,this)){var u=null!=b.style[E]?mxUtils.htmlEntities(b.style[E]+""):A.defVal;if("separator"==
+A.type)q=!q;else{if("staticArr"==A.type)A.size=parseInt(b.style[A.sizeProperty]||d[A.sizeProperty].defVal)||0;else if(null!=A.dependentProps){for(var K=A.dependentProps,z=[],C=[],y=0;y<K.length;y++){var J=b.style[K[y]];C.push(d[K[y]].subDefVal);z.push(null!=J?J.split(","):[])}A.dependentPropsDefVal=C;A.dependentPropsVals=z}l.appendChild(p(E,u,A,D,q));D=!D}}for(y=0;y<v.length;y++)for(A=v[y],d=A.parentRow,b=0;b<A.values.length;b++)E=p(A.name,A.values[b],{type:A.type,parentRow:A.parentRow,isDeletable:A.isDeletable,
+index:b,defVal:A.defVal,countProperty:A.countProperty,size:A.size},0==b%2,A.flipBkg),d.parentNode.insertBefore(E,d.nextSibling),d=E;a.appendChild(l);m();return a};StyleFormatPanel.prototype.addStyles=function(a){function d(a){function d(a){var d=mxUtils.button("",function(d){c.getModel().beginUpdate();try{var b=c.getSelectionCells();for(d=0;d<b.length;d++){for(var f=c.getModel().getStyle(b[d]),g=0;g<k.length;g++)f=mxUtils.removeStylename(f,k[g]);var e=c.getModel().isVertex(b[d])?c.defaultVertexStyle:
+c.defaultEdgeStyle;null!=a?(f=mxUtils.setStyle(f,mxConstants.STYLE_GRADIENTCOLOR,a.gradient||mxUtils.getValue(e,mxConstants.STYLE_GRADIENTCOLOR,null)),f=""==a.fill?mxUtils.setStyle(f,mxConstants.STYLE_FILLCOLOR,null):mxUtils.setStyle(f,mxConstants.STYLE_FILLCOLOR,a.fill||mxUtils.getValue(e,mxConstants.STYLE_FILLCOLOR,null)),f=""==a.stroke?mxUtils.setStyle(f,mxConstants.STYLE_STROKECOLOR,null):mxUtils.setStyle(f,mxConstants.STYLE_STROKECOLOR,a.stroke||mxUtils.getValue(e,mxConstants.STYLE_STROKECOLOR,
+null)),c.getModel().isVertex(b[d])&&(f=mxUtils.setStyle(f,mxConstants.STYLE_FONTCOLOR,a.font||mxUtils.getValue(e,mxConstants.STYLE_FONTCOLOR,null)))):(f=mxUtils.setStyle(f,mxConstants.STYLE_FILLCOLOR,mxUtils.getValue(e,mxConstants.STYLE_FILLCOLOR,"#ffffff")),f=mxUtils.setStyle(f,mxConstants.STYLE_STROKECOLOR,mxUtils.getValue(e,mxConstants.STYLE_STROKECOLOR,"#000000")),f=mxUtils.setStyle(f,mxConstants.STYLE_GRADIENTCOLOR,mxUtils.getValue(e,mxConstants.STYLE_GRADIENTCOLOR,null)),c.getModel().isVertex(b[d])&&
+(f=mxUtils.setStyle(f,mxConstants.STYLE_FONTCOLOR,mxUtils.getValue(e,mxConstants.STYLE_FONTCOLOR,null))));c.getModel().setStyle(b[d],f)}}finally{c.getModel().endUpdate()}});d.className="geStyleButton";d.style.width="36px";d.style.height="30px";d.style.margin="0px 6px 6px 0px";if(null!=a)null!=a.gradient?mxClient.IS_IE&&(mxClient.IS_QUIRKS||10>document.documentMode)?d.style.filter="progid:DXImageTransform.Microsoft.Gradient(StartColorStr='"+a.fill+"', EndColorStr='"+a.gradient+"', GradientType=0)":
+d.style.backgroundImage="linear-gradient("+a.fill+" 0px,"+a.gradient+" 100%)":a.fill==mxConstants.NONE?d.style.background="url('"+Dialog.prototype.noColorImage+"')":d.style.backgroundColor=""==a.fill?mxUtils.getValue(c.defaultVertexStyle,mxConstants.STYLE_FILLCOLOR,"dark"==uiTheme?"#2a2a2a":"#ffffff"):a.fill||mxUtils.getValue(c.defaultVertexStyle,mxConstants.STYLE_FILLCOLOR,"dark"==uiTheme?"#2a2a2a":"#ffffff"),d.style.border=a.stroke==mxConstants.NONE?"1px solid transparent":""==a.stroke?"1px solid "+
+mxUtils.getValue(c.defaultVertexStyle,mxConstants.STYLE_STROKECOLOR,"dark"!=uiTheme?"#2a2a2a":"#ffffff"):"1px solid "+(a.stroke||mxUtils.getValue(c.defaultVertexStyle,mxConstants.STYLE_STROKECOLOR,"dark"!=uiTheme?"#2a2a2a":"#ffffff"));else{var b=mxUtils.getValue(c.defaultVertexStyle,mxConstants.STYLE_FILLCOLOR,"#ffffff"),g=mxUtils.getValue(c.defaultVertexStyle,mxConstants.STYLE_STROKECOLOR,"#000000");d.style.backgroundColor=b;d.style.border="1px solid "+g}f.appendChild(d)}f.innerHTML="";for(var b=
+0;b<a.length;b++)0<b&&0==mxUtils.mod(b,4)&&mxUtils.br(f),d(a[b])}function b(a){mxEvent.addListener(a,"mouseenter",function(){a.style.opacity="1"});mxEvent.addListener(a,"mouseleave",function(){a.style.opacity="0.5"})}var c=this.editorUi.editor.graph,f=document.createElement("div");f.style.whiteSpace="nowrap";f.style.paddingLeft="24px";f.style.paddingRight="20px";a.style.paddingLeft="16px";a.style.paddingBottom="6px";a.style.position="relative";a.appendChild(f);var k="plain-gray plain-blue plain-green plain-turquoise plain-orange plain-yellow plain-red plain-pink plain-purple gray blue green turquoise orange yellow red pink purple".split(" ");
 null==this.editorUi.currentScheme&&(this.editorUi.currentScheme=0);var g=document.createElement("div");g.style.cssText="position:absolute;left:10px;top:8px;bottom:8px;width:20px;margin:4px;opacity:0.5;background-repeat:no-repeat;background-position:center center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQBAMAAADQT4M0AAAAIVBMVEUAAAB2dnZ4eHh3d3d1dXVxcXF2dnZ2dnZ2dnZxcXF2dnYmb3w1AAAACnRSTlMAfCTkhhvb7cQSPH2JPgAAADRJREFUCNdjwACMAmBKaiGYs2oJmLPKAZ3DabU8AMRTXpUKopislqFyVzCAuUZgikkBZjoAcMYLnp53P/UAAAAASUVORK5CYII=);";
-mxEvent.addListener(g,"click",mxUtils.bind(this,function(){this.editorUi.currentScheme=mxUtils.mod(this.editorUi.currentScheme-1,this.defaultColorSchemes.length);c(this.defaultColorSchemes[this.editorUi.currentScheme])}));var f=document.createElement("div");f.style.cssText="position:absolute;left:202px;top:8px;bottom:8px;width:20px;margin:4px;opacity:0.5;background-repeat:no-repeat;background-position:center center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQBAMAAADQT4M0AAAAIVBMVEUAAAB2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnYBuwCcAAAACnRSTlMAfCTkhhvb7cQSPH2JPgAAADZJREFUCNdjQAOMAmBKaiGY8loF5rKswsZlrVo8AUiFrTICcbIWK8A5DF1gDoMymMPApIAwHwCS0Qx/U7qCBQAAAABJRU5ErkJggg==);";
-1<this.defaultColorSchemes.length&&(a.appendChild(g),a.appendChild(f));mxEvent.addListener(f,"click",mxUtils.bind(this,function(){this.editorUi.currentScheme=mxUtils.mod(this.editorUi.currentScheme+1,this.defaultColorSchemes.length);c(this.defaultColorSchemes[this.editorUi.currentScheme])}));b(g);b(f);c(this.defaultColorSchemes[this.editorUi.currentScheme]);return a};StyleFormatPanel.prototype.addEditOps=function(a){var c=this.format.getSelectionState(),b=null;1==this.editorUi.editor.graph.getSelectionCount()&&
-(b=mxUtils.button(mxResources.get("editStyle"),mxUtils.bind(this,function(a){this.editorUi.actions.get("editStyle").funct()})),b.setAttribute("title",mxResources.get("editStyle")+" ("+this.editorUi.actions.get("editStyle").shortcut+")"),b.style.width="202px",b.style.marginBottom="2px",a.appendChild(b));var e=this.editorUi.editor.graph,d=e.view.getState(e.getSelectionCell());1==e.getSelectionCount()&&null!=d&&null!=d.shape&&null!=d.shape.stencil?(c=mxUtils.button(mxResources.get("editShape"),mxUtils.bind(this,
-function(a){this.editorUi.actions.get("editShape").funct()})),c.setAttribute("title",mxResources.get("editShape")),c.style.marginBottom="2px",null==b?c.style.width="202px":(b.style.width="100px",c.style.width="100px",c.style.marginLeft="2px"),a.appendChild(c)):c.image&&(c=mxUtils.button(mxResources.get("editImage"),mxUtils.bind(this,function(a){this.editorUi.actions.get("image").funct()})),c.setAttribute("title",mxResources.get("editImage")),c.style.marginBottom="2px",null==b?c.style.width="202px":
-(b.style.width="100px",c.style.width="100px",c.style.marginLeft="2px"),a.appendChild(c));return a}}Graph.prototype.defaultThemeName="default-style2";Graph.prototype.lastPasteXml=null;Graph.prototype.pasteCounter=0;Graph.prototype.defaultScrollbars="0"!=urlParams.sb;Graph.prototype.defaultPageVisible="0"!=urlParams.pv;Graph.prototype.shadowId="dropShadow";Graph.prototype.svgShadowColor="#3D4574";Graph.prototype.svgShadowOpacity="0.4";Graph.prototype.svgShadowBlur="1.7";Graph.prototype.svgShadowSize=
-"3";Graph.prototype.edgeMode="move"!=urlParams.edge;var k=Graph.prototype.init;Graph.prototype.init=function(){function a(a){c=a;try{if(mxClient.IS_QUIRKS||7==document.documentMode||8==document.documentMode)c=document.createEventObject(a),c.type=a.type,c.canBubble=a.canBubble,c.cancelable=a.cancelable,c.view=a.view,c.detail=a.detail,c.screenX=a.screenX,c.screenY=a.screenY,c.clientX=a.clientX,c.clientY=a.clientY,c.ctrlKey=a.ctrlKey,c.altKey=a.altKey,c.shiftKey=a.shiftKey,c.metaKey=a.metaKey,c.button=
-a.button,c.relatedTarget=a.relatedTarget}catch(S){}}k.apply(this,arguments);window.mxFreehand&&(this.freehand=new mxFreehand(this));var c=null;mxEvent.addListener(this.container,"mouseenter",a);mxEvent.addListener(this.container,"mousemove",a);mxEvent.addListener(this.container,"mouseleave",function(a){c=null});this.isMouseInsertPoint=function(){return null!=c};var b=this.getInsertPoint;this.getInsertPoint=function(){return null!=c?this.getPointForEvent(c):b.apply(this,arguments)};var e=this.layoutManager.getLayout;
-this.layoutManager.getLayout=function(a){var c=this.graph.getCellStyle(a);if(null!=c){if("rack"==c.childLayout){var b=new mxStackLayout(this.graph,!1);b.gridSize=null!=c.rackUnitSize?parseFloat(c.rackUnitSize):"undefined"!==typeof mxRackContainer?mxRackContainer.unitSize:20;b.fill=!0;b.marginLeft=c.marginLeft||0;b.marginRight=c.marginRight||0;b.marginTop=c.marginTop||0;b.marginBottom=c.marginBottom||0;b.allowGaps=c.allowGaps||0;b.resizeParent=!1;return b}if("undefined"!==typeof mxTableLayout&&"tableLayout"==
-c.childLayout)return b=new mxTableLayout(this.graph),b.rows=c.tableRows||2,b.columns=c.tableColumns||2,b.colPercentages=c.colPercentages,b.rowPercentages=c.rowPercentages,b.equalColumns="1"==mxUtils.getValue(c,"equalColumns",b.colPercentages?"0":"1"),b.equalRows="1"==mxUtils.getValue(c,"equalRows",b.rowPercentages?"0":"1"),b.resizeParent="1"==mxUtils.getValue(c,"resizeParent","1"),b.border=c.tableBorder||b.border,b.marginLeft=c.marginLeft||0,b.marginRight=c.marginRight||0,b.marginTop=c.marginTop||
-0,b.marginBottom=c.marginBottom||0,b.autoAddCol="1"==mxUtils.getValue(c,"autoAddCol","0"),b.autoAddRow="1"==mxUtils.getValue(c,"autoAddRow",b.autoAddCol?"0":"1"),b.colWidths=c.colWidths||"100",b.rowHeights=c.rowHeights||"50",b}return e.apply(this,arguments)};this.updateGlobalUrlVariables()};Graph.prototype.updateGlobalUrlVariables=function(){this.globalVars=Editor.globalVars;if(null!=urlParams.vars)try{this.globalVars=null!=this.globalVars?mxUtils.clone(this.globalVars):{};var a=JSON.parse(decodeURIComponent(urlParams.vars));
-if(null!=a)for(var c in a)this.globalVars[c]=a[c]}catch(L){null!=window.console&&console.log("Error in vars URL parameter: "+L)}};Graph.prototype.getExportVariables=function(){return null!=this.globalVars?mxUtils.clone(this.globalVars):{}};var x=Graph.prototype.getGlobalVariable;Graph.prototype.getGlobalVariable=function(a){var c=x.apply(this,arguments);null==c&&null!=this.globalVars&&(c=this.globalVars[a]);return c};Graph.prototype.getDefaultStylesheet=function(){if(null==this.defaultStylesheet){var a=
-this.themes["default-style2"];this.defaultStylesheet=(new mxCodec(a.ownerDocument)).decode(a)}return this.defaultStylesheet};Graph.prototype.isViewer=function(){return urlParams.viewer};var n=Graph.prototype.getSvg;Graph.prototype.getSvg=function(a,c,b,e,d,k,g,f,x,t,v){var p=null;null!=this.themes&&"darkTheme"==this.defaultThemeName&&(p=this.stylesheet,this.stylesheet=this.getDefaultStylesheet(),this.refresh());var A=n.apply(this,arguments);if(v&&null!=this.extFonts&&0<this.extFonts.length){var l=
-A.ownerDocument,y=null!=l.createElementNS?l.createElementNS(mxConstants.NS_SVG,"style"):l.createElement("style");null!=l.setAttributeNS?y.setAttributeNS("type","text/css"):y.setAttribute("type","text/css");for(var B="",m="",E=0;E<this.extFonts.length;E++){var q=this.extFonts[E].name,G=this.extFonts[E].url;0==G.indexOf(Editor.GOOGLE_FONTS)?B+="@import url("+G+");\n":m+='@font-face {\nfont-family: "'+q+'";\nsrc: url("'+G+'");\n}\n'}y.appendChild(l.createTextNode(B+m));A.getElementsByTagName("defs")[0].appendChild(y)}null!=
-p&&(this.stylesheet=p,this.refresh());return A};var g=Graph.prototype.createSvgImageExport;Graph.prototype.createSvgImageExport=function(){var a=g.apply(this,arguments);if(this.mathEnabled){this.container.getBoundingClientRect();var c=a.drawText;a.drawText=function(a,b){if(null!=a.text&&null!=a.text.value&&a.text.checkBounds()&&(mxUtils.isNode(a.text.value)||a.text.dialect==mxConstants.DIALECT_STRICTHTML)){var e=a.text.getContentNode();if(null!=e){e=e.cloneNode(!0);if(e.getElementsByTagNameNS)for(var d=
-e.getElementsByTagNameNS("http://www.w3.org/1998/Math/MathML","math");0<d.length;)d[0].parentNode.removeChild(d[0]);null!=e.innerHTML&&(d=a.text.value,a.text.value=e.innerHTML,c.apply(this,arguments),a.text.value=d)}}else c.apply(this,arguments)}}return a};var A=mxGraphView.prototype.validateBackgroundPage;mxGraphView.prototype.validateBackgroundPage=function(){A.apply(this,arguments);if(mxClient.IS_GC&&null!=this.getDrawPane()){var a=this.getDrawPane().parentNode;!this.graph.mathEnabled||mxClient.NO_FO||
+mxEvent.addListener(g,"click",mxUtils.bind(this,function(){this.editorUi.currentScheme=mxUtils.mod(this.editorUi.currentScheme-1,this.defaultColorSchemes.length);d(this.defaultColorSchemes[this.editorUi.currentScheme])}));var e=document.createElement("div");e.style.cssText="position:absolute;left:202px;top:8px;bottom:8px;width:20px;margin:4px;opacity:0.5;background-repeat:no-repeat;background-position:center center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQBAMAAADQT4M0AAAAIVBMVEUAAAB2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnYBuwCcAAAACnRSTlMAfCTkhhvb7cQSPH2JPgAAADZJREFUCNdjQAOMAmBKaiGY8loF5rKswsZlrVo8AUiFrTICcbIWK8A5DF1gDoMymMPApIAwHwCS0Qx/U7qCBQAAAABJRU5ErkJggg==);";
+1<this.defaultColorSchemes.length&&(a.appendChild(g),a.appendChild(e));mxEvent.addListener(e,"click",mxUtils.bind(this,function(){this.editorUi.currentScheme=mxUtils.mod(this.editorUi.currentScheme+1,this.defaultColorSchemes.length);d(this.defaultColorSchemes[this.editorUi.currentScheme])}));b(g);b(e);d(this.defaultColorSchemes[this.editorUi.currentScheme]);return a};StyleFormatPanel.prototype.addEditOps=function(a){var d=this.format.getSelectionState(),b=null;1==this.editorUi.editor.graph.getSelectionCount()&&
+(b=mxUtils.button(mxResources.get("editStyle"),mxUtils.bind(this,function(a){this.editorUi.actions.get("editStyle").funct()})),b.setAttribute("title",mxResources.get("editStyle")+" ("+this.editorUi.actions.get("editStyle").shortcut+")"),b.style.width="202px",b.style.marginBottom="2px",a.appendChild(b));var c=this.editorUi.editor.graph,f=c.view.getState(c.getSelectionCell());1==c.getSelectionCount()&&null!=f&&null!=f.shape&&null!=f.shape.stencil?(d=mxUtils.button(mxResources.get("editShape"),mxUtils.bind(this,
+function(a){this.editorUi.actions.get("editShape").funct()})),d.setAttribute("title",mxResources.get("editShape")),d.style.marginBottom="2px",null==b?d.style.width="202px":(b.style.width="100px",d.style.width="100px",d.style.marginLeft="2px"),a.appendChild(d)):d.image&&(d=mxUtils.button(mxResources.get("editImage"),mxUtils.bind(this,function(a){this.editorUi.actions.get("image").funct()})),d.setAttribute("title",mxResources.get("editImage")),d.style.marginBottom="2px",null==b?d.style.width="202px":
+(b.style.width="100px",d.style.width="100px",d.style.marginLeft="2px"),a.appendChild(d));return a}}Graph.prototype.defaultThemeName="default-style2";Graph.prototype.lastPasteXml=null;Graph.prototype.pasteCounter=0;Graph.prototype.defaultScrollbars="0"!=urlParams.sb;Graph.prototype.defaultPageVisible="0"!=urlParams.pv;Graph.prototype.shadowId="dropShadow";Graph.prototype.svgShadowColor="#3D4574";Graph.prototype.svgShadowOpacity="0.4";Graph.prototype.svgShadowBlur="1.7";Graph.prototype.svgShadowSize=
+"3";Graph.prototype.edgeMode="move"!=urlParams.edge;var k=Graph.prototype.init;Graph.prototype.init=function(){function a(a){d=a;try{if(mxClient.IS_QUIRKS||7==document.documentMode||8==document.documentMode)d=document.createEventObject(a),d.type=a.type,d.canBubble=a.canBubble,d.cancelable=a.cancelable,d.view=a.view,d.detail=a.detail,d.screenX=a.screenX,d.screenY=a.screenY,d.clientX=a.clientX,d.clientY=a.clientY,d.ctrlKey=a.ctrlKey,d.altKey=a.altKey,d.shiftKey=a.shiftKey,d.metaKey=a.metaKey,d.button=
+a.button,d.relatedTarget=a.relatedTarget}catch(S){}}k.apply(this,arguments);window.mxFreehand&&(this.freehand=new mxFreehand(this));var d=null;mxEvent.addListener(this.container,"mouseenter",a);mxEvent.addListener(this.container,"mousemove",a);mxEvent.addListener(this.container,"mouseleave",function(a){d=null});this.isMouseInsertPoint=function(){return null!=d};var b=this.getInsertPoint;this.getInsertPoint=function(){return null!=d?this.getPointForEvent(d):b.apply(this,arguments)};var c=this.layoutManager.getLayout;
+this.layoutManager.getLayout=function(a){var d=this.graph.getCellStyle(a);if(null!=d){if("rack"==d.childLayout){var b=new mxStackLayout(this.graph,!1);b.gridSize=null!=d.rackUnitSize?parseFloat(d.rackUnitSize):"undefined"!==typeof mxRackContainer?mxRackContainer.unitSize:20;b.fill=!0;b.marginLeft=d.marginLeft||0;b.marginRight=d.marginRight||0;b.marginTop=d.marginTop||0;b.marginBottom=d.marginBottom||0;b.allowGaps=d.allowGaps||0;b.resizeParent=!1;return b}if("undefined"!==typeof mxTableLayout&&"tableLayout"==
+d.childLayout)return b=new mxTableLayout(this.graph),b.rows=d.tableRows||2,b.columns=d.tableColumns||2,b.colPercentages=d.colPercentages,b.rowPercentages=d.rowPercentages,b.equalColumns="1"==mxUtils.getValue(d,"equalColumns",b.colPercentages?"0":"1"),b.equalRows="1"==mxUtils.getValue(d,"equalRows",b.rowPercentages?"0":"1"),b.resizeParent="1"==mxUtils.getValue(d,"resizeParent","1"),b.border=d.tableBorder||b.border,b.marginLeft=d.marginLeft||0,b.marginRight=d.marginRight||0,b.marginTop=d.marginTop||
+0,b.marginBottom=d.marginBottom||0,b.autoAddCol="1"==mxUtils.getValue(d,"autoAddCol","0"),b.autoAddRow="1"==mxUtils.getValue(d,"autoAddRow",b.autoAddCol?"0":"1"),b.colWidths=d.colWidths||"100",b.rowHeights=d.rowHeights||"50",b}return c.apply(this,arguments)};this.updateGlobalUrlVariables()};Graph.prototype.updateGlobalUrlVariables=function(){this.globalVars=Editor.globalVars;if(null!=urlParams.vars)try{this.globalVars=null!=this.globalVars?mxUtils.clone(this.globalVars):{};var a=JSON.parse(decodeURIComponent(urlParams.vars));
+if(null!=a)for(var d in a)this.globalVars[d]=a[d]}catch(K){null!=window.console&&console.log("Error in vars URL parameter: "+K)}};Graph.prototype.getExportVariables=function(){return null!=this.globalVars?mxUtils.clone(this.globalVars):{}};var x=Graph.prototype.getGlobalVariable;Graph.prototype.getGlobalVariable=function(a){var d=x.apply(this,arguments);null==d&&null!=this.globalVars&&(d=this.globalVars[a]);return d};Graph.prototype.getDefaultStylesheet=function(){if(null==this.defaultStylesheet){var a=
+this.themes["default-style2"];this.defaultStylesheet=(new mxCodec(a.ownerDocument)).decode(a)}return this.defaultStylesheet};Graph.prototype.isViewer=function(){return urlParams.viewer};var n=Graph.prototype.getSvg;Graph.prototype.getSvg=function(a,d,b,c,f,k,g,e,x,t,v){var p=null;null!=this.themes&&"darkTheme"==this.defaultThemeName&&(p=this.stylesheet,this.stylesheet=this.getDefaultStylesheet(),this.refresh());var A=n.apply(this,arguments);if(v&&null!=this.extFonts&&0<this.extFonts.length){var l=
+A.ownerDocument,y=null!=l.createElementNS?l.createElementNS(mxConstants.NS_SVG,"style"):l.createElement("style");null!=l.setAttributeNS?y.setAttributeNS("type","text/css"):y.setAttribute("type","text/css");for(var B="",m="",D=0;D<this.extFonts.length;D++){var q=this.extFonts[D].name,G=this.extFonts[D].url;0==G.indexOf(Editor.GOOGLE_FONTS)?B+="@import url("+G+");\n":m+='@font-face {\nfont-family: "'+q+'";\nsrc: url("'+G+'");\n}\n'}y.appendChild(l.createTextNode(B+m));A.getElementsByTagName("defs")[0].appendChild(y)}null!=
+p&&(this.stylesheet=p,this.refresh());return A};var g=Graph.prototype.createSvgImageExport;Graph.prototype.createSvgImageExport=function(){var a=g.apply(this,arguments);if(this.mathEnabled){this.container.getBoundingClientRect();var d=a.drawText;a.drawText=function(a,b){if(null!=a.text&&null!=a.text.value&&a.text.checkBounds()&&(mxUtils.isNode(a.text.value)||a.text.dialect==mxConstants.DIALECT_STRICTHTML)){var c=a.text.getContentNode();if(null!=c){c=c.cloneNode(!0);if(c.getElementsByTagNameNS)for(var f=
+c.getElementsByTagNameNS("http://www.w3.org/1998/Math/MathML","math");0<f.length;)f[0].parentNode.removeChild(f[0]);null!=c.innerHTML&&(f=a.text.value,a.text.value=c.innerHTML,d.apply(this,arguments),a.text.value=f)}}else d.apply(this,arguments)}}return a};var A=mxGraphView.prototype.validateBackgroundPage;mxGraphView.prototype.validateBackgroundPage=function(){A.apply(this,arguments);if(mxClient.IS_GC&&null!=this.getDrawPane()){var a=this.getDrawPane().parentNode;!this.graph.mathEnabled||mxClient.NO_FO||
 null!=this.webKitForceRepaintNode&&null!=this.webKitForceRepaintNode.parentNode||"svg"!=this.graph.container.firstChild.nodeName?null==this.webKitForceRepaintNode||this.graph.mathEnabled&&("svg"==this.graph.container.firstChild.nodeName||this.graph.container.firstChild==this.webKitForceRepaintNode)||(null!=this.webKitForceRepaintNode.parentNode&&this.webKitForceRepaintNode.parentNode.removeChild(this.webKitForceRepaintNode),this.webKitForceRepaintNode=null):(this.webKitForceRepaintNode=document.createElement("div"),
-this.webKitForceRepaintNode.style.cssText="position:absolute;",a.ownerSVGElement.parentNode.insertBefore(this.webKitForceRepaintNode,a.ownerSVGElement))}};var v=Graph.prototype.loadStylesheet;Graph.prototype.loadStylesheet=function(){v.apply(this,arguments);this.currentStyle="default-style2"};Graph.prototype.handleCustomLink=function(a){if("data:action/json,"==a.substring(0,17)&&(a=JSON.parse(a.substring(17)),null!=a.actions)){for(var c=0;c<a.actions.length;c++){var b=a.actions[c];if(null!=b.open)if(this.isCustomLink(b.open)){if(!this.customLinkClicked(b.open))return}else this.openLink(b.open)}this.model.beginUpdate();
-try{for(c=0;c<a.actions.length;c++)b=a.actions[c],null!=b.toggle&&this.toggleCells(this.getCellsForAction(b.toggle,!0)),null!=b.show&&this.setCellsVisible(this.getCellsForAction(b.show,!0),!0),null!=b.hide&&this.setCellsVisible(this.getCellsForAction(b.hide,!0),!1)}finally{this.model.endUpdate()}for(c=0;c<a.actions.length;c++){var b=a.actions[c],e=[];null!=b.select&&this.isEnabled()&&(e=this.getCellsForAction(b.select),this.setSelectionCells(e));null!=b.highlight&&(e=this.getCellsForAction(b.highlight),
-this.highlightCells(e,b.highlight.color,b.highlight.duration,b.highlight.opacity));null!=b.scroll&&(e=this.getCellsForAction(b.scroll));0<e.length&&this.scrollCellToVisible(e[0])}}};Graph.prototype.updateCustomLinksForCell=function(a,c){var b=this.getLinkForCell(c);null!=b&&"data:action/json,"==b.substring(0,17)&&this.setLinkForCell(c,this.updateCustomLink(a,b));if(this.isHtmlLabel(c)){var e=document.createElement("div");e.innerHTML=this.getLabel(c);for(var d=e.getElementsByTagName("a"),k=!1,g=0;g<
-d.length;g++)b=d[g].getAttribute("href"),null!=b&&"data:action/json,"==b.substring(0,17)&&(d[g].setAttribute("href",this.updateCustomLink(a,b)),k=!0);k&&this.labelChanged(c,e.innerHTML)}};Graph.prototype.updateCustomLink=function(a,c){if("data:action/json,"==c.substring(0,17))try{var b=JSON.parse(c.substring(17));null!=b.actions&&(this.updateCustomLinkActions(a,b.actions),c="data:action/json,"+JSON.stringify(b))}catch(P){}return c};Graph.prototype.updateCustomLinkActions=function(a,c){for(var b=0;b<
-c.length;b++){var e=c[b];this.updateCustomLinkAction(a,e.toggle);this.updateCustomLinkAction(a,e.show);this.updateCustomLinkAction(a,e.hide);this.updateCustomLinkAction(a,e.select);this.updateCustomLinkAction(a,e.highlight);this.updateCustomLinkAction(a,e.scroll)}};Graph.prototype.updateCustomLinkAction=function(a,c){if(null!=c&&null!=c.cells){for(var b=[],e=0;e<c.cells.length;e++)if("*"==c.cells[e])b.push(c.cells[e]);else{var d=a[c.cells[e]];null!=d?""!=d&&b.push(d):b.push(c.cells[e])}c.cells=b}};
-Graph.prototype.getCellsForAction=function(a,c){return this.getCellsById(a.cells).concat(this.getCellsForTags(a.tags,null,null,c))};Graph.prototype.getCellsById=function(a){var c=[];if(null!=a)for(var b=0;b<a.length;b++)if("*"==a[b])var e=this.getDefaultParent(),c=c.concat(this.model.filterDescendants(function(a){return a!=e},e));else{var d=this.model.getCell(a[b]);null!=d&&c.push(d)}return c};Graph.prototype.getCellsForTags=function(a,c,b,e){var d=[];if(null!=a){c=null!=c?c:this.model.getDescendants(this.model.getRoot());
-b=null!=b?b:"tags";for(var k=0,g={},f=0;f<a.length;f++)0<a[f].length&&(g[a[f].toLowerCase()]=!0,k++);for(f=0;f<c.length;f++)if(e&&this.model.getParent(c[f])==this.model.root||this.model.isVertex(c[f])||this.model.isEdge(c[f])){var n=null!=c[f].value&&"object"==typeof c[f].value?mxUtils.trim(c[f].value.getAttribute(b)||""):"",x=!1;if(0<n.length){if(n=n.toLowerCase().split(" "),n.length>=a.length){for(var p=x=0;p<n.length&&x<k;p++)null!=g[n[p]]&&x++;x=x==k}}else x=0==a.length;x&&d.push(c[f])}}return d};
-Graph.prototype.toggleCells=function(a){this.model.beginUpdate();try{for(var c=0;c<a.length;c++)this.model.setVisible(a[c],!this.model.isVisible(a[c]))}finally{this.model.endUpdate()}};Graph.prototype.setCellsVisible=function(a,c){this.model.beginUpdate();try{for(var b=0;b<a.length;b++)this.model.setVisible(a[b],c)}finally{this.model.endUpdate()}};Graph.prototype.highlightCells=function(a,c,b,e){for(var d=0;d<a.length;d++)this.highlightCell(a[d],c,b,e)};Graph.prototype.highlightCell=function(a,c,
-b,e){c=null!=c?c:mxConstants.DEFAULT_VALID_COLOR;b=null!=b?b:1E3;a=this.view.getState(a);if(null!=a){var d=Math.max(5,mxUtils.getValue(a.style,mxConstants.STYLE_STROKEWIDTH,1)+4),k=new mxCellHighlight(this,c,d,!1);null!=e&&(k.opacity=e);k.highlight(a);window.setTimeout(function(){null!=k.shape&&(mxUtils.setPrefixedStyle(k.shape.node.style,"transition","all 1200ms ease-in-out"),k.shape.node.style.opacity=0);window.setTimeout(function(){k.destroy()},1200)},b)}};Graph.prototype.addSvgShadow=function(a,
-c,b){b=null!=b?b:!1;var e=a.ownerDocument,d=null!=e.createElementNS?e.createElementNS(mxConstants.NS_SVG,"filter"):e.createElement("filter");d.setAttribute("id",this.shadowId);var k=null!=e.createElementNS?e.createElementNS(mxConstants.NS_SVG,"feGaussianBlur"):e.createElement("feGaussianBlur");k.setAttribute("in","SourceAlpha");k.setAttribute("stdDeviation",this.svgShadowBlur);k.setAttribute("result","blur");d.appendChild(k);k=null!=e.createElementNS?e.createElementNS(mxConstants.NS_SVG,"feOffset"):
-e.createElement("feOffset");k.setAttribute("in","blur");k.setAttribute("dx",this.svgShadowSize);k.setAttribute("dy",this.svgShadowSize);k.setAttribute("result","offsetBlur");d.appendChild(k);k=null!=e.createElementNS?e.createElementNS(mxConstants.NS_SVG,"feFlood"):e.createElement("feFlood");k.setAttribute("flood-color",this.svgShadowColor);k.setAttribute("flood-opacity",this.svgShadowOpacity);k.setAttribute("result","offsetColor");d.appendChild(k);k=null!=e.createElementNS?e.createElementNS(mxConstants.NS_SVG,
-"feComposite"):e.createElement("feComposite");k.setAttribute("in","offsetColor");k.setAttribute("in2","offsetBlur");k.setAttribute("operator","in");k.setAttribute("result","offsetBlur");d.appendChild(k);k=null!=e.createElementNS?e.createElementNS(mxConstants.NS_SVG,"feBlend"):e.createElement("feBlend");k.setAttribute("in","SourceGraphic");k.setAttribute("in2","offsetBlur");d.appendChild(k);k=a.getElementsByTagName("defs");0==k.length?(e=null!=e.createElementNS?e.createElementNS(mxConstants.NS_SVG,
-"defs"):e.createElement("defs"),null!=a.firstChild?a.insertBefore(e,a.firstChild):a.appendChild(e)):e=k[0];e.appendChild(d);b||(c=null!=c?c:a.getElementsByTagName("g")[0],null!=c&&(c.setAttribute("filter","url(#"+this.shadowId+")"),isNaN(parseInt(a.getAttribute("width")))||(a.setAttribute("width",parseInt(a.getAttribute("width"))+6),a.setAttribute("height",parseInt(a.getAttribute("height"))+6),c=a.getAttribute("viewBox"),null!=c&&0<c.length&&(c=c.split(" "),3<c.length&&(w=parseFloat(c[2])+6,h=parseFloat(c[3])+
-6,a.setAttribute("viewBox",c[0]+" "+c[1]+" "+w+" "+h))))));return d};Graph.prototype.setShadowVisible=function(a,c){mxClient.IS_SVG&&(c=null!=c?c:!0,(this.shadowVisible=a)?this.view.getDrawPane().setAttribute("filter","url(#"+this.shadowId+")"):this.view.getDrawPane().removeAttribute("filter"),c&&this.fireEvent(new mxEventObject("shadowVisibleChanged")))};Graph.prototype.selectUnlockedLayer=function(){if(null==this.defaultParent){var a=this.model.getChildCount(this.model.root),c,b=0;do c=this.model.getChildAt(this.model.root,
-b);while(b++<a&&"1"==mxUtils.getValue(this.getCellStyle(c),"locked","0"));null!=c&&this.setDefaultParent(c)}};mxStencilRegistry.libraries.mockup=[SHAPES_PATH+"/mockup/mxMockupButtons.js"];mxStencilRegistry.libraries.arrows2=[SHAPES_PATH+"/mxArrows.js"];mxStencilRegistry.libraries.atlassian=[STENCIL_PATH+"/atlassian.xml",SHAPES_PATH+"/mxAtlassian.js"];mxStencilRegistry.libraries.bpmn=[SHAPES_PATH+"/bpmn/mxBpmnShape2.js",STENCIL_PATH+"/bpmn.xml"];mxStencilRegistry.libraries.c4=[SHAPES_PATH+"/mxC4.js"];
+this.webKitForceRepaintNode.style.cssText="position:absolute;",a.ownerSVGElement.parentNode.insertBefore(this.webKitForceRepaintNode,a.ownerSVGElement))}};var v=Graph.prototype.loadStylesheet;Graph.prototype.loadStylesheet=function(){v.apply(this,arguments);this.currentStyle="default-style2"};Graph.prototype.handleCustomLink=function(a){if("data:action/json,"==a.substring(0,17)&&(a=JSON.parse(a.substring(17)),null!=a.actions)){for(var d=0;d<a.actions.length;d++){var b=a.actions[d];if(null!=b.open)if(this.isCustomLink(b.open)){if(!this.customLinkClicked(b.open))return}else this.openLink(b.open)}this.model.beginUpdate();
+try{for(d=0;d<a.actions.length;d++)b=a.actions[d],null!=b.toggle&&this.toggleCells(this.getCellsForAction(b.toggle,!0)),null!=b.show&&this.setCellsVisible(this.getCellsForAction(b.show,!0),!0),null!=b.hide&&this.setCellsVisible(this.getCellsForAction(b.hide,!0),!1)}finally{this.model.endUpdate()}for(d=0;d<a.actions.length;d++){var b=a.actions[d],c=[];null!=b.select&&this.isEnabled()&&(c=this.getCellsForAction(b.select),this.setSelectionCells(c));null!=b.highlight&&(c=this.getCellsForAction(b.highlight),
+this.highlightCells(c,b.highlight.color,b.highlight.duration,b.highlight.opacity));null!=b.scroll&&(c=this.getCellsForAction(b.scroll));0<c.length&&this.scrollCellToVisible(c[0])}}};Graph.prototype.updateCustomLinksForCell=function(a,d){var b=this.getLinkForCell(d);null!=b&&"data:action/json,"==b.substring(0,17)&&this.setLinkForCell(d,this.updateCustomLink(a,b));if(this.isHtmlLabel(d)){var c=document.createElement("div");c.innerHTML=this.getLabel(d);for(var f=c.getElementsByTagName("a"),k=!1,g=0;g<
+f.length;g++)b=f[g].getAttribute("href"),null!=b&&"data:action/json,"==b.substring(0,17)&&(f[g].setAttribute("href",this.updateCustomLink(a,b)),k=!0);k&&this.labelChanged(d,c.innerHTML)}};Graph.prototype.updateCustomLink=function(a,d){if("data:action/json,"==d.substring(0,17))try{var b=JSON.parse(d.substring(17));null!=b.actions&&(this.updateCustomLinkActions(a,b.actions),d="data:action/json,"+JSON.stringify(b))}catch(M){}return d};Graph.prototype.updateCustomLinkActions=function(a,d){for(var b=0;b<
+d.length;b++){var c=d[b];this.updateCustomLinkAction(a,c.toggle);this.updateCustomLinkAction(a,c.show);this.updateCustomLinkAction(a,c.hide);this.updateCustomLinkAction(a,c.select);this.updateCustomLinkAction(a,c.highlight);this.updateCustomLinkAction(a,c.scroll)}};Graph.prototype.updateCustomLinkAction=function(a,d){if(null!=d&&null!=d.cells){for(var b=[],c=0;c<d.cells.length;c++)if("*"==d.cells[c])b.push(d.cells[c]);else{var f=a[d.cells[c]];null!=f?""!=f&&b.push(f):b.push(d.cells[c])}d.cells=b}};
+Graph.prototype.getCellsForAction=function(a,d){return this.getCellsById(a.cells).concat(this.getCellsForTags(a.tags,null,null,d))};Graph.prototype.getCellsById=function(a){var d=[];if(null!=a)for(var b=0;b<a.length;b++)if("*"==a[b])var c=this.getDefaultParent(),d=d.concat(this.model.filterDescendants(function(a){return a!=c},c));else{var f=this.model.getCell(a[b]);null!=f&&d.push(f)}return d};Graph.prototype.getCellsForTags=function(a,d,b,c){var f=[];if(null!=a){d=null!=d?d:this.model.getDescendants(this.model.getRoot());
+b=null!=b?b:"tags";for(var k=0,g={},e=0;e<a.length;e++)0<a[e].length&&(g[a[e].toLowerCase()]=!0,k++);for(e=0;e<d.length;e++)if(c&&this.model.getParent(d[e])==this.model.root||this.model.isVertex(d[e])||this.model.isEdge(d[e])){var n=null!=d[e].value&&"object"==typeof d[e].value?mxUtils.trim(d[e].value.getAttribute(b)||""):"",x=!1;if(0<n.length){if(n=n.toLowerCase().split(" "),n.length>=a.length){for(var p=x=0;p<n.length&&x<k;p++)null!=g[n[p]]&&x++;x=x==k}}else x=0==a.length;x&&f.push(d[e])}}return f};
+Graph.prototype.toggleCells=function(a){this.model.beginUpdate();try{for(var d=0;d<a.length;d++)this.model.setVisible(a[d],!this.model.isVisible(a[d]))}finally{this.model.endUpdate()}};Graph.prototype.setCellsVisible=function(a,d){this.model.beginUpdate();try{for(var b=0;b<a.length;b++)this.model.setVisible(a[b],d)}finally{this.model.endUpdate()}};Graph.prototype.highlightCells=function(a,d,b,c){for(var f=0;f<a.length;f++)this.highlightCell(a[f],d,b,c)};Graph.prototype.highlightCell=function(a,d,
+b,c){d=null!=d?d:mxConstants.DEFAULT_VALID_COLOR;b=null!=b?b:1E3;a=this.view.getState(a);if(null!=a){var f=Math.max(5,mxUtils.getValue(a.style,mxConstants.STYLE_STROKEWIDTH,1)+4),k=new mxCellHighlight(this,d,f,!1);null!=c&&(k.opacity=c);k.highlight(a);window.setTimeout(function(){null!=k.shape&&(mxUtils.setPrefixedStyle(k.shape.node.style,"transition","all 1200ms ease-in-out"),k.shape.node.style.opacity=0);window.setTimeout(function(){k.destroy()},1200)},b)}};Graph.prototype.addSvgShadow=function(a,
+d,b){b=null!=b?b:!1;var c=a.ownerDocument,f=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"filter"):c.createElement("filter");f.setAttribute("id",this.shadowId);var k=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feGaussianBlur"):c.createElement("feGaussianBlur");k.setAttribute("in","SourceAlpha");k.setAttribute("stdDeviation",this.svgShadowBlur);k.setAttribute("result","blur");f.appendChild(k);k=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feOffset"):
+c.createElement("feOffset");k.setAttribute("in","blur");k.setAttribute("dx",this.svgShadowSize);k.setAttribute("dy",this.svgShadowSize);k.setAttribute("result","offsetBlur");f.appendChild(k);k=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feFlood"):c.createElement("feFlood");k.setAttribute("flood-color",this.svgShadowColor);k.setAttribute("flood-opacity",this.svgShadowOpacity);k.setAttribute("result","offsetColor");f.appendChild(k);k=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,
+"feComposite"):c.createElement("feComposite");k.setAttribute("in","offsetColor");k.setAttribute("in2","offsetBlur");k.setAttribute("operator","in");k.setAttribute("result","offsetBlur");f.appendChild(k);k=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feBlend"):c.createElement("feBlend");k.setAttribute("in","SourceGraphic");k.setAttribute("in2","offsetBlur");f.appendChild(k);k=a.getElementsByTagName("defs");0==k.length?(c=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,
+"defs"):c.createElement("defs"),null!=a.firstChild?a.insertBefore(c,a.firstChild):a.appendChild(c)):c=k[0];c.appendChild(f);b||(d=null!=d?d:a.getElementsByTagName("g")[0],null!=d&&(d.setAttribute("filter","url(#"+this.shadowId+")"),isNaN(parseInt(a.getAttribute("width")))||(a.setAttribute("width",parseInt(a.getAttribute("width"))+6),a.setAttribute("height",parseInt(a.getAttribute("height"))+6),d=a.getAttribute("viewBox"),null!=d&&0<d.length&&(d=d.split(" "),3<d.length&&(w=parseFloat(d[2])+6,h=parseFloat(d[3])+
+6,a.setAttribute("viewBox",d[0]+" "+d[1]+" "+w+" "+h))))));return f};Graph.prototype.setShadowVisible=function(a,d){mxClient.IS_SVG&&(d=null!=d?d:!0,(this.shadowVisible=a)?this.view.getDrawPane().setAttribute("filter","url(#"+this.shadowId+")"):this.view.getDrawPane().removeAttribute("filter"),d&&this.fireEvent(new mxEventObject("shadowVisibleChanged")))};Graph.prototype.selectUnlockedLayer=function(){if(null==this.defaultParent){var a=this.model.getChildCount(this.model.root),d,b=0;do d=this.model.getChildAt(this.model.root,
+b);while(b++<a&&"1"==mxUtils.getValue(this.getCellStyle(d),"locked","0"));null!=d&&this.setDefaultParent(d)}};mxStencilRegistry.libraries.mockup=[SHAPES_PATH+"/mockup/mxMockupButtons.js"];mxStencilRegistry.libraries.arrows2=[SHAPES_PATH+"/mxArrows.js"];mxStencilRegistry.libraries.atlassian=[STENCIL_PATH+"/atlassian.xml",SHAPES_PATH+"/mxAtlassian.js"];mxStencilRegistry.libraries.bpmn=[SHAPES_PATH+"/bpmn/mxBpmnShape2.js",STENCIL_PATH+"/bpmn.xml"];mxStencilRegistry.libraries.c4=[SHAPES_PATH+"/mxC4.js"];
 mxStencilRegistry.libraries.cisco19=[SHAPES_PATH+"/mxCisco19.js",STENCIL_PATH+"/cisco19.xml"];mxStencilRegistry.libraries.dfd=[SHAPES_PATH+"/mxDFD.js"];mxStencilRegistry.libraries.er=[SHAPES_PATH+"/er/mxER.js"];mxStencilRegistry.libraries.kubernetes=[SHAPES_PATH+"/mxKubernetes.js",STENCIL_PATH+"/kubernetes.xml"];mxStencilRegistry.libraries.flowchart=[SHAPES_PATH+"/mxFlowchart.js",STENCIL_PATH+"/flowchart.xml"];mxStencilRegistry.libraries.ios=[SHAPES_PATH+"/mockup/mxMockupiOS.js"];mxStencilRegistry.libraries.rackGeneral=
 [SHAPES_PATH+"/rack/mxRack.js",STENCIL_PATH+"/rack/general.xml"];mxStencilRegistry.libraries.rackF5=[STENCIL_PATH+"/rack/f5.xml"];mxStencilRegistry.libraries.lean_mapping=[SHAPES_PATH+"/mxLeanMap.js",STENCIL_PATH+"/lean_mapping.xml"];mxStencilRegistry.libraries.basic=[SHAPES_PATH+"/mxBasic.js",STENCIL_PATH+"/basic.xml"];mxStencilRegistry.libraries.ios7icons=[STENCIL_PATH+"/ios7/icons.xml"];mxStencilRegistry.libraries.ios7ui=[SHAPES_PATH+"/ios7/mxIOS7Ui.js",STENCIL_PATH+"/ios7/misc.xml"];mxStencilRegistry.libraries.android=
 [SHAPES_PATH+"/mxAndroid.js",STENCIL_PATH+"/android/android.xml"];mxStencilRegistry.libraries["electrical/miscellaneous"]=[SHAPES_PATH+"/mxElectrical.js",STENCIL_PATH+"/electrical/miscellaneous.xml"];mxStencilRegistry.libraries["electrical/transmission"]=[SHAPES_PATH+"/mxElectrical.js",STENCIL_PATH+"/electrical/transmission.xml"];mxStencilRegistry.libraries["electrical/logic_gates"]=[SHAPES_PATH+"/mxElectrical.js",STENCIL_PATH+"/electrical/logic_gates.xml"];mxStencilRegistry.libraries["electrical/abstract"]=
 [SHAPES_PATH+"/mxElectrical.js",STENCIL_PATH+"/electrical/abstract.xml"];mxStencilRegistry.libraries.infographic=[SHAPES_PATH+"/mxInfographic.js"];mxStencilRegistry.libraries["mockup/buttons"]=[SHAPES_PATH+"/mockup/mxMockupButtons.js"];mxStencilRegistry.libraries["mockup/containers"]=[SHAPES_PATH+"/mockup/mxMockupContainers.js"];mxStencilRegistry.libraries["mockup/forms"]=[SHAPES_PATH+"/mockup/mxMockupForms.js"];mxStencilRegistry.libraries["mockup/graphics"]=[SHAPES_PATH+"/mockup/mxMockupGraphics.js",
 STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/markup"]=[SHAPES_PATH+"/mockup/mxMockupMarkup.js"];mxStencilRegistry.libraries["mockup/misc"]=[SHAPES_PATH+"/mockup/mxMockupMisc.js",STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/navigation"]=[SHAPES_PATH+"/mockup/mxMockupNavigation.js",STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/text"]=[SHAPES_PATH+"/mockup/mxMockupText.js"];mxStencilRegistry.libraries.floorplan=[SHAPES_PATH+"/mxFloorplan.js",
-STENCIL_PATH+"/floorplan.xml"];mxStencilRegistry.libraries.bootstrap=[SHAPES_PATH+"/mxBootstrap.js",STENCIL_PATH+"/bootstrap.xml"];mxStencilRegistry.libraries.gmdl=[SHAPES_PATH+"/mxGmdl.js",STENCIL_PATH+"/gmdl.xml"];mxStencilRegistry.libraries.gcp2=[SHAPES_PATH+"/mxGCP2.js",STENCIL_PATH+"/gcp2.xml"];mxStencilRegistry.libraries.cabinets=[SHAPES_PATH+"/mxCabinets.js",STENCIL_PATH+"/cabinets.xml"];mxStencilRegistry.libraries.archimate=[SHAPES_PATH+"/mxArchiMate.js"];mxStencilRegistry.libraries.archimate3=
-[SHAPES_PATH+"/mxArchiMate3.js"];mxStencilRegistry.libraries.sysml=[SHAPES_PATH+"/mxSysML.js"];mxStencilRegistry.libraries.eip=[SHAPES_PATH+"/mxEip.js",STENCIL_PATH+"/eip.xml"];mxStencilRegistry.libraries.networks=[SHAPES_PATH+"/mxNetworks.js",STENCIL_PATH+"/networks.xml"];mxStencilRegistry.libraries.aws3d=[SHAPES_PATH+"/mxAWS3D.js",STENCIL_PATH+"/aws3d.xml"];mxStencilRegistry.libraries.aws4=[SHAPES_PATH+"/mxAWS4.js",STENCIL_PATH+"/aws4.xml"];mxStencilRegistry.libraries.aws4b=[SHAPES_PATH+"/mxAWS4.js",
-STENCIL_PATH+"/aws4.xml"];mxStencilRegistry.libraries.veeam=[STENCIL_PATH+"/veeam/2d.xml",STENCIL_PATH+"/veeam/3d.xml",STENCIL_PATH+"/veeam/veeam.xml"];mxStencilRegistry.libraries.veeam2=[STENCIL_PATH+"/veeam/2d.xml",STENCIL_PATH+"/veeam/3d.xml",STENCIL_PATH+"/veeam/veeam2.xml"];mxStencilRegistry.libraries.pid2inst=[SHAPES_PATH+"/pid2/mxPidInstruments.js"];mxStencilRegistry.libraries.pid2misc=[SHAPES_PATH+"/pid2/mxPidMisc.js",STENCIL_PATH+"/pid/misc.xml"];mxStencilRegistry.libraries.pid2valves=[SHAPES_PATH+
-"/pid2/mxPidValves.js"];mxStencilRegistry.libraries.pidFlowSensors=[STENCIL_PATH+"/pid/flow_sensors.xml"];mxMarker.getPackageForType=function(a){var c=null;null!=a&&0<a.length&&("ER"==a.substring(0,2)?c="mxgraph.er":"sysML"==a.substring(0,5)&&(c="mxgraph.sysml"));return c};var t=mxMarker.createMarker;mxMarker.createMarker=function(a,c,b,e,d,k,g,f,n,x){if(null!=b&&null==mxMarker.markers[b]){var p=this.getPackageForType(b);null!=p&&mxStencilRegistry.getStencil(p)}return t.apply(this,arguments)};PrintDialog.prototype.create=
-function(a,c){function b(){A.value=Math.max(1,Math.min(f,Math.max(parseInt(A.value),parseInt(p.value))));p.value=Math.max(1,Math.min(f,Math.min(parseInt(A.value),parseInt(p.value))))}function e(c){function b(c,b,k){var g=c.useCssTransforms,f=c.currentTranslate,n=c.currentScale,x=c.view.translate,t=c.view.scale;c.useCssTransforms&&(c.useCssTransforms=!1,c.currentTranslate=new mxPoint(0,0),c.currentScale=1,c.view.translate=new mxPoint(0,0),c.view.scale=1);var v=c.getGraphBounds(),p=0,l=0,A=ha.get(),
-y=1/c.pageScale,q=B.checked;if(q)var y=parseInt(N.value),E=parseInt(X.value),y=Math.min(A.height*E/(v.height/c.view.scale),A.width*y/(v.width/c.view.scale));else y=parseInt(m.value)/(100*c.pageScale),isNaN(y)&&(e=1/c.pageScale,m.value="100 %");A=mxRectangle.fromRectangle(A);A.width=Math.ceil(A.width*e);A.height=Math.ceil(A.height*e);y*=e;!q&&c.pageVisible?(v=c.getPageLayout(),p-=v.x*A.width,l-=v.y*A.height):q=!0;if(null==b){b=PrintDialog.createPrintPreview(c,y,A,0,p,l,q);b.pageSelector=!1;b.mathEnabled=
-!1;p=a.getCurrentFile();null!=p&&(b.title=p.getTitle());var D=b.writeHead;b.writeHead=function(b){D.apply(this,arguments);null!=a.editor.fontCss&&(b.writeln('<style type="text/css">'),b.writeln(a.editor.fontCss),b.writeln("</style>"));if(null!=c.extFonts)for(var e=0;e<c.extFonts.length;e++){var d=c.extFonts[e].name,k=c.extFonts[e].url;0==k.indexOf(Editor.GOOGLE_FONTS)?b.writeln('<link rel="stylesheet" href="'+k+'" charset="UTF-8" type="text/css">'):(b.writeln('<style type="text/css">'),b.writeln('@font-face {\n\tfont-family: "'+
-d+'";\n\tsrc: url("'+k+'");\n}'),b.writeln("</style>"))}};if("undefined"!==typeof MathJax){var G=b.renderPage;b.renderPage=function(c,b,e,d,k,g){var f=mxClient.NO_FO;mxClient.NO_FO=this.graph.mathEnabled&&!a.editor.useForeignObjectForMath?!0:a.editor.originalNoForeignObject;var n=G.apply(this,arguments);mxClient.NO_FO=f;this.graph.mathEnabled?this.mathEnabled=this.mathEnabled||!0:n.className="geDisableMathJax";return n}}p=null;null!=d.themes&&"darkTheme"==d.defaultThemeName&&(p=d.stylesheet,d.stylesheet=
-d.getDefaultStylesheet(),d.refresh());b.open(null,null,k,!0);null!=p&&(d.stylesheet=p,d.refresh())}else{A=c.background;if(null==A||""==A||A==mxConstants.NONE)A="#ffffff";b.backgroundColor=A;b.autoOrigin=q;b.appendGraph(c,y,p,l,k,!0);if(null!=c.extFonts&&null!=b.wnd)for(k=0;k<c.extFonts.length;k++)p=c.extFonts[k].name,l=c.extFonts[k].url,0==l.indexOf(Editor.GOOGLE_FONTS)?b.wnd.document.writeln('<link rel="stylesheet" href="'+l+'" charset="UTF-8" type="text/css">'):(b.wnd.document.writeln('<style type="text/css">'),
-b.wnd.document.writeln('@font-face {\n\tfont-family: "'+p+'";\n\tsrc: url("'+l+'");\n}'),b.wnd.document.writeln("</style>"))}g&&(c.useCssTransforms=g,c.currentTranslate=f,c.currentScale=n,c.view.translate=x,c.view.scale=t);return b}var e=parseInt(la.value)/100;isNaN(e)&&(e=1,la.value="100 %");var e=.75*e,k=p.value,g=A.value,f=!t.checked,x=null;f&&(f=k==n&&g==n);if(!f&&null!=a.pages&&a.pages.length){var v=0,f=a.pages.length-1;t.checked||(v=parseInt(k)-1,f=parseInt(g)-1);for(var l=v;l<=f;l++){var y=
-a.pages[l],k=y==a.currentPage?d:null;if(null==k){var k=a.createTemporaryGraph(d.getStylesheet()),g=!0,v=!1,E=null,q=null;null==y.viewState&&null==y.root&&a.updatePageRoot(y);null!=y.viewState&&(g=y.viewState.pageVisible,v=y.viewState.mathEnabled,E=y.viewState.background,q=y.viewState.backgroundImage,k.extFonts=y.viewState.extFonts);k.background=E;k.backgroundImage=null!=q?new mxImage(q.src,q.width,q.height):null;k.pageVisible=g;k.mathEnabled=v;var D=k.getGlobalVariable;k.getGlobalVariable=function(c){return"page"==
-c?y.getName():"pagenumber"==c?l+1:"pagecount"==c?null!=a.pages?a.pages.length:1:D.apply(this,arguments)};document.body.appendChild(k.container);a.updatePageRoot(y);k.model.setRoot(y.root)}x=b(k,x,l!=f);k!=d&&k.container.parentNode.removeChild(k.container)}}else x=b(d);null==x?a.handleError({message:mxResources.get("errorUpdatingPreview")}):(x.mathEnabled&&(f=x.wnd.document,f.writeln('<script type="text/x-mathjax-config">'),f.writeln("MathJax.Hub.Config({"),f.writeln("showMathMenu: false,"),f.writeln('messageStyle: "none",'),
-f.writeln('jax: ["input/TeX", "input/MathML", "input/AsciiMath", "output/HTML-CSS"],'),f.writeln('extensions: ["tex2jax.js", "mml2jax.js", "asciimath2jax.js"],'),f.writeln('"HTML-CSS": {'),f.writeln("imageFont: null"),f.writeln("},"),f.writeln("TeX: {"),f.writeln('extensions: ["AMSmath.js", "AMSsymbols.js", "noErrors.js", "noUndefined.js"]'),f.writeln("},"),f.writeln("tex2jax: {"),f.writeln('\tignoreClass: "geDisableMathJax"'),f.writeln("},"),f.writeln("asciimath2jax: {"),f.writeln('\tignoreClass: "geDisableMathJax"'),
-f.writeln("}"),f.writeln("});"),c&&(f.writeln("MathJax.Hub.Queue(function () {"),f.writeln("window.print();"),f.writeln("});")),f.writeln("\x3c/script>"),f.writeln('<script type="text/javascript" src="'+DRAW_MATH_URL+'/MathJax.js">\x3c/script>')),x.closeDocument(),!x.mathEnabled&&c&&PrintDialog.printPreview(x))}var d=a.editor.graph,k=document.createElement("div"),g=document.createElement("h3");g.style.width="100%";g.style.textAlign="center";g.style.marginTop="0px";mxUtils.write(g,c||mxResources.get("print"));
-k.appendChild(g);var f=1,n=1,x=document.createElement("div");x.style.cssText="border-bottom:1px solid lightGray;padding-bottom:12px;margin-bottom:12px;";var t=document.createElement("input");t.style.cssText="margin-right:8px;margin-bottom:8px;";t.setAttribute("value","all");t.setAttribute("type","radio");t.setAttribute("name","pages-printdialog");x.appendChild(t);g=document.createElement("span");mxUtils.write(g,mxResources.get("printAllPages"));x.appendChild(g);mxUtils.br(x);var v=t.cloneNode(!0);
-t.setAttribute("checked","checked");v.setAttribute("value","range");x.appendChild(v);g=document.createElement("span");mxUtils.write(g,mxResources.get("pages")+":");x.appendChild(g);var p=document.createElement("input");p.style.cssText="margin:0 8px 0 8px;";p.setAttribute("value","1");p.setAttribute("type","number");p.setAttribute("min","1");p.style.width="50px";x.appendChild(p);g=document.createElement("span");mxUtils.write(g,mxResources.get("to"));x.appendChild(g);var A=p.cloneNode(!0);x.appendChild(A);
-mxEvent.addListener(p,"focus",function(){v.checked=!0});mxEvent.addListener(A,"focus",function(){v.checked=!0});mxEvent.addListener(p,"change",b);mxEvent.addListener(A,"change",b);if(null!=a.pages&&(f=a.pages.length,null!=a.currentPage))for(g=0;g<a.pages.length;g++)if(a.currentPage==a.pages[g]){n=g+1;p.value=n;A.value=n;break}p.setAttribute("max",f);A.setAttribute("max",f);1<f&&k.appendChild(x);var l=document.createElement("div");l.style.marginBottom="10px";var y=document.createElement("input");y.style.marginRight=
-"8px";y.setAttribute("value","adjust");y.setAttribute("type","radio");y.setAttribute("name","printZoom");l.appendChild(y);g=document.createElement("span");mxUtils.write(g,mxResources.get("adjustTo"));l.appendChild(g);var m=document.createElement("input");m.style.cssText="margin:0 8px 0 8px;";m.setAttribute("value","100 %");m.style.width="50px";l.appendChild(m);mxEvent.addListener(m,"focus",function(){y.checked=!0});k.appendChild(l);var x=x.cloneNode(!1),B=y.cloneNode(!0);B.setAttribute("value","fit");
-y.setAttribute("checked","checked");g=document.createElement("div");g.style.cssText="display:inline-block;height:100%;vertical-align:top;padding-top:2px;";g.appendChild(B);x.appendChild(g);l=document.createElement("table");l.style.display="inline-block";var E=document.createElement("tbody"),q=document.createElement("tr"),D=q.cloneNode(!0),u=document.createElement("td"),z=u.cloneNode(!0),C=u.cloneNode(!0),M=u.cloneNode(!0),J=u.cloneNode(!0),ja=u.cloneNode(!0);u.style.textAlign="right";M.style.textAlign=
-"right";mxUtils.write(u,mxResources.get("fitTo"));var N=document.createElement("input");N.style.cssText="margin:0 8px 0 8px;";N.setAttribute("value","1");N.setAttribute("min","1");N.setAttribute("type","number");N.style.width="40px";z.appendChild(N);g=document.createElement("span");mxUtils.write(g,mxResources.get("fitToSheetsAcross"));C.appendChild(g);mxUtils.write(M,mxResources.get("fitToBy"));var X=N.cloneNode(!0);J.appendChild(X);mxEvent.addListener(N,"focus",function(){B.checked=!0});mxEvent.addListener(X,
-"focus",function(){B.checked=!0});g=document.createElement("span");mxUtils.write(g,mxResources.get("fitToSheetsDown"));ja.appendChild(g);q.appendChild(u);q.appendChild(z);q.appendChild(C);D.appendChild(M);D.appendChild(J);D.appendChild(ja);E.appendChild(q);E.appendChild(D);l.appendChild(E);x.appendChild(l);k.appendChild(x);x=document.createElement("div");g=document.createElement("div");g.style.fontWeight="bold";g.style.marginBottom="12px";mxUtils.write(g,mxResources.get("paperSize"));x.appendChild(g);
-g=document.createElement("div");g.style.marginBottom="12px";var ha=PageSetupDialog.addPageFormatPanel(g,"printdialog",a.editor.graph.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT);x.appendChild(g);g=document.createElement("span");mxUtils.write(g,mxResources.get("pageScale"));x.appendChild(g);var la=document.createElement("input");la.style.cssText="margin:0 8px 0 8px;";la.setAttribute("value","100 %");la.style.width="60px";x.appendChild(la);k.appendChild(x);g=document.createElement("div");g.style.cssText=
-"text-align:right;margin:48px 0 0 0;";x=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});x.className="geBtn";a.editor.cancelFirst&&g.appendChild(x);a.isOffline()||(l=mxUtils.button(mxResources.get("help"),function(){d.openLink("https://desk.draw.io/support/solutions/articles/16000048947")}),l.className="geBtn",g.appendChild(l));PrintDialog.previewEnabled&&(l=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();e(!1)}),l.className="geBtn",g.appendChild(l));l=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?
-"print":"ok"),function(){a.hideDialog();e(!0)});l.className="geBtn gePrimaryBtn";g.appendChild(l);a.editor.cancelFirst||g.appendChild(x);k.appendChild(g);this.container=k};var D=ChangePageSetup.prototype.execute;ChangePageSetup.prototype.execute=function(){null==this.page&&(this.page=this.ui.currentPage);this.page!=this.ui.currentPage?null!=this.page.viewState&&(this.ignoreColor||(this.page.viewState.background=this.color),this.ignoreImage||(this.page.viewState.backgroundImage=this.image),null!=this.format&&
-(this.page.viewState.pageFormat=this.format),null!=this.mathEnabled&&(this.page.viewState.mathEnabled=this.mathEnabled),null!=this.shadowVisible&&(this.page.viewState.shadowVisible=this.shadowVisible)):(D.apply(this,arguments),null!=this.mathEnabled&&this.mathEnabled!=this.ui.isMathEnabled()&&(this.ui.setMathEnabled(this.mathEnabled),this.mathEnabled=!this.mathEnabled),null!=this.shadowVisible&&this.shadowVisible!=this.ui.editor.graph.shadowVisible&&(this.ui.editor.graph.setShadowVisible(this.shadowVisible),
-this.shadowVisible=!this.shadowVisible))};Editor.prototype.useCanvasForExport=!1;try{var y=document.createElement("canvas"),E=new Image;E.onload=function(){try{y.getContext("2d").drawImage(E,0,0);var a=y.toDataURL("image/png");Editor.prototype.useCanvasForExport=null!=a&&6<a.length}catch(B){}};E.src="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1px" height="1px" version="1.1"><foreignObject pointer-events="all" width="1" height="1"><div xmlns="http://www.w3.org/1999/xhtml"></div></foreignObject></svg>')))}catch(p){}})();
-(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.beforeDecode=function(a,f,d){d.ui=a.ui;return f};a.afterDecode=function(a,f,d){d.previousColor=d.color;d.previousImage=d.image;d.previousFormat=d.format;null!=d.foldingEnabled&&(d.foldingEnabled=!d.foldingEnabled);null!=d.mathEnabled&&(d.mathEnabled=!d.mathEnabled);null!=d.shadowVisible&&(d.shadowVisible=!d.shadowVisible);return d};mxCodecRegistry.register(a)})();(function(){EditorUi.VERSION="@DRAWIO-VERSION@";EditorUi.compactUi="atlas"!=uiTheme;mxGraphView.prototype.defaultDarkGridColor="#6e6e6e";"dark"==uiTheme&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&/.*\.draw\.io$/.test(window.location.hostname)&&"support.draw.io"!=window.location.hostname;EditorUi.drawHost="https://www.draw.io";EditorUi.lastErrorMessage=null;EditorUi.ignoredAnonymizedChars="\n\t`~!@#$%^&*()_+{}|:\"<>?-=[];'./,\n\t";
+STENCIL_PATH+"/floorplan.xml"];mxStencilRegistry.libraries.bootstrap=[SHAPES_PATH+"/mxBootstrap.js",STENCIL_PATH+"/bootstrap.xml"];mxStencilRegistry.libraries.gmdl=[SHAPES_PATH+"/mxGmdl.js",STENCIL_PATH+"/gmdl.xml"];mxStencilRegistry.libraries.gcp2=[SHAPES_PATH+"/mxGCP2.js",STENCIL_PATH+"/gcp2.xml"];mxStencilRegistry.libraries.ibm=[SHAPES_PATH+"/mxIBM.js",STENCIL_PATH+"/ibm.xml"];mxStencilRegistry.libraries.cabinets=[SHAPES_PATH+"/mxCabinets.js",STENCIL_PATH+"/cabinets.xml"];mxStencilRegistry.libraries.archimate=
+[SHAPES_PATH+"/mxArchiMate.js"];mxStencilRegistry.libraries.archimate3=[SHAPES_PATH+"/mxArchiMate3.js"];mxStencilRegistry.libraries.sysml=[SHAPES_PATH+"/mxSysML.js"];mxStencilRegistry.libraries.eip=[SHAPES_PATH+"/mxEip.js",STENCIL_PATH+"/eip.xml"];mxStencilRegistry.libraries.networks=[SHAPES_PATH+"/mxNetworks.js",STENCIL_PATH+"/networks.xml"];mxStencilRegistry.libraries.aws3d=[SHAPES_PATH+"/mxAWS3D.js",STENCIL_PATH+"/aws3d.xml"];mxStencilRegistry.libraries.aws4=[SHAPES_PATH+"/mxAWS4.js",STENCIL_PATH+
+"/aws4.xml"];mxStencilRegistry.libraries.aws4b=[SHAPES_PATH+"/mxAWS4.js",STENCIL_PATH+"/aws4.xml"];mxStencilRegistry.libraries.veeam=[STENCIL_PATH+"/veeam/2d.xml",STENCIL_PATH+"/veeam/3d.xml",STENCIL_PATH+"/veeam/veeam.xml"];mxStencilRegistry.libraries.veeam2=[STENCIL_PATH+"/veeam/2d.xml",STENCIL_PATH+"/veeam/3d.xml",STENCIL_PATH+"/veeam/veeam2.xml"];mxStencilRegistry.libraries.pid2inst=[SHAPES_PATH+"/pid2/mxPidInstruments.js"];mxStencilRegistry.libraries.pid2misc=[SHAPES_PATH+"/pid2/mxPidMisc.js",
+STENCIL_PATH+"/pid/misc.xml"];mxStencilRegistry.libraries.pid2valves=[SHAPES_PATH+"/pid2/mxPidValves.js"];mxStencilRegistry.libraries.pidFlowSensors=[STENCIL_PATH+"/pid/flow_sensors.xml"];mxMarker.getPackageForType=function(a){var d=null;null!=a&&0<a.length&&("ER"==a.substring(0,2)?d="mxgraph.er":"sysML"==a.substring(0,5)&&(d="mxgraph.sysml"));return d};var t=mxMarker.createMarker;mxMarker.createMarker=function(a,d,b,c,f,k,g,e,n,x){if(null!=b&&null==mxMarker.markers[b]){var p=this.getPackageForType(b);
+null!=p&&mxStencilRegistry.getStencil(p)}return t.apply(this,arguments)};PrintDialog.prototype.create=function(a,d){function b(){A.value=Math.max(1,Math.min(e,Math.max(parseInt(A.value),parseInt(p.value))));p.value=Math.max(1,Math.min(e,Math.min(parseInt(A.value),parseInt(p.value))))}function c(d){function b(d,b,k){var g=d.useCssTransforms,e=d.currentTranslate,n=d.currentScale,x=d.view.translate,t=d.view.scale;d.useCssTransforms&&(d.useCssTransforms=!1,d.currentTranslate=new mxPoint(0,0),d.currentScale=
+1,d.view.translate=new mxPoint(0,0),d.view.scale=1);var v=d.getGraphBounds(),p=0,l=0,A=ha.get(),y=1/d.pageScale,D=B.checked;if(D)var y=parseInt(O.value),q=parseInt(X.value),y=Math.min(A.height*q/(v.height/d.view.scale),A.width*y/(v.width/d.view.scale));else y=parseInt(m.value)/(100*d.pageScale),isNaN(y)&&(c=1/d.pageScale,m.value="100 %");A=mxRectangle.fromRectangle(A);A.width=Math.ceil(A.width*c);A.height=Math.ceil(A.height*c);y*=c;!D&&d.pageVisible?(v=d.getPageLayout(),p-=v.x*A.width,l-=v.y*A.height):
+D=!0;if(null==b){b=PrintDialog.createPrintPreview(d,y,A,0,p,l,D);b.pageSelector=!1;b.mathEnabled=!1;p=a.getCurrentFile();null!=p&&(b.title=p.getTitle());var E=b.writeHead;b.writeHead=function(b){E.apply(this,arguments);null!=a.editor.fontCss&&(b.writeln('<style type="text/css">'),b.writeln(a.editor.fontCss),b.writeln("</style>"));if(null!=d.extFonts)for(var c=0;c<d.extFonts.length;c++){var f=d.extFonts[c].name,k=d.extFonts[c].url;0==k.indexOf(Editor.GOOGLE_FONTS)?b.writeln('<link rel="stylesheet" href="'+
+k+'" charset="UTF-8" type="text/css">'):(b.writeln('<style type="text/css">'),b.writeln('@font-face {\n\tfont-family: "'+f+'";\n\tsrc: url("'+k+'");\n}'),b.writeln("</style>"))}};if("undefined"!==typeof MathJax){var G=b.renderPage;b.renderPage=function(d,b,c,f,k,g){var e=mxClient.NO_FO;mxClient.NO_FO=this.graph.mathEnabled&&!a.editor.useForeignObjectForMath?!0:a.editor.originalNoForeignObject;var n=G.apply(this,arguments);mxClient.NO_FO=e;this.graph.mathEnabled?this.mathEnabled=this.mathEnabled||
+!0:n.className="geDisableMathJax";return n}}p=null;null!=f.themes&&"darkTheme"==f.defaultThemeName&&(p=f.stylesheet,f.stylesheet=f.getDefaultStylesheet(),f.refresh());b.open(null,null,k,!0);null!=p&&(f.stylesheet=p,f.refresh())}else{A=d.background;if(null==A||""==A||A==mxConstants.NONE)A="#ffffff";b.backgroundColor=A;b.autoOrigin=D;b.appendGraph(d,y,p,l,k,!0);if(null!=d.extFonts&&null!=b.wnd)for(k=0;k<d.extFonts.length;k++)p=d.extFonts[k].name,l=d.extFonts[k].url,0==l.indexOf(Editor.GOOGLE_FONTS)?
+b.wnd.document.writeln('<link rel="stylesheet" href="'+l+'" charset="UTF-8" type="text/css">'):(b.wnd.document.writeln('<style type="text/css">'),b.wnd.document.writeln('@font-face {\n\tfont-family: "'+p+'";\n\tsrc: url("'+l+'");\n}'),b.wnd.document.writeln("</style>"))}g&&(d.useCssTransforms=g,d.currentTranslate=e,d.currentScale=n,d.view.translate=x,d.view.scale=t);return b}var c=parseInt(la.value)/100;isNaN(c)&&(c=1,la.value="100 %");var c=.75*c,k=p.value,g=A.value,e=!t.checked,x=null;e&&(e=k==
+n&&g==n);if(!e&&null!=a.pages&&a.pages.length){var v=0,e=a.pages.length-1;t.checked||(v=parseInt(k)-1,e=parseInt(g)-1);for(var l=v;l<=e;l++){var y=a.pages[l],k=y==a.currentPage?f:null;if(null==k){var k=a.createTemporaryGraph(f.getStylesheet()),g=!0,v=!1,D=null,q=null;null==y.viewState&&null==y.root&&a.updatePageRoot(y);null!=y.viewState&&(g=y.viewState.pageVisible,v=y.viewState.mathEnabled,D=y.viewState.background,q=y.viewState.backgroundImage,k.extFonts=y.viewState.extFonts);k.background=D;k.backgroundImage=
+null!=q?new mxImage(q.src,q.width,q.height):null;k.pageVisible=g;k.mathEnabled=v;var E=k.getGlobalVariable;k.getGlobalVariable=function(d){return"page"==d?y.getName():"pagenumber"==d?l+1:"pagecount"==d?null!=a.pages?a.pages.length:1:E.apply(this,arguments)};document.body.appendChild(k.container);a.updatePageRoot(y);k.model.setRoot(y.root)}x=b(k,x,l!=e);k!=f&&k.container.parentNode.removeChild(k.container)}}else x=b(f);null==x?a.handleError({message:mxResources.get("errorUpdatingPreview")}):(x.mathEnabled&&
+(e=x.wnd.document,e.writeln('<script type="text/x-mathjax-config">'),e.writeln("MathJax.Hub.Config({"),e.writeln("showMathMenu: false,"),e.writeln('messageStyle: "none",'),e.writeln('jax: ["input/TeX", "input/MathML", "input/AsciiMath", "output/HTML-CSS"],'),e.writeln('extensions: ["tex2jax.js", "mml2jax.js", "asciimath2jax.js"],'),e.writeln('"HTML-CSS": {'),e.writeln("imageFont: null"),e.writeln("},"),e.writeln("TeX: {"),e.writeln('extensions: ["AMSmath.js", "AMSsymbols.js", "noErrors.js", "noUndefined.js"]'),
+e.writeln("},"),e.writeln("tex2jax: {"),e.writeln('\tignoreClass: "geDisableMathJax"'),e.writeln("},"),e.writeln("asciimath2jax: {"),e.writeln('\tignoreClass: "geDisableMathJax"'),e.writeln("}"),e.writeln("});"),d&&(e.writeln("MathJax.Hub.Queue(function () {"),e.writeln("window.print();"),e.writeln("});")),e.writeln("\x3c/script>"),e.writeln('<script type="text/javascript" src="'+DRAW_MATH_URL+'/MathJax.js">\x3c/script>')),x.closeDocument(),!x.mathEnabled&&d&&PrintDialog.printPreview(x))}var f=a.editor.graph,
+k=document.createElement("div"),g=document.createElement("h3");g.style.width="100%";g.style.textAlign="center";g.style.marginTop="0px";mxUtils.write(g,d||mxResources.get("print"));k.appendChild(g);var e=1,n=1,x=document.createElement("div");x.style.cssText="border-bottom:1px solid lightGray;padding-bottom:12px;margin-bottom:12px;";var t=document.createElement("input");t.style.cssText="margin-right:8px;margin-bottom:8px;";t.setAttribute("value","all");t.setAttribute("type","radio");t.setAttribute("name",
+"pages-printdialog");x.appendChild(t);g=document.createElement("span");mxUtils.write(g,mxResources.get("printAllPages"));x.appendChild(g);mxUtils.br(x);var v=t.cloneNode(!0);t.setAttribute("checked","checked");v.setAttribute("value","range");x.appendChild(v);g=document.createElement("span");mxUtils.write(g,mxResources.get("pages")+":");x.appendChild(g);var p=document.createElement("input");p.style.cssText="margin:0 8px 0 8px;";p.setAttribute("value","1");p.setAttribute("type","number");p.setAttribute("min",
+"1");p.style.width="50px";x.appendChild(p);g=document.createElement("span");mxUtils.write(g,mxResources.get("to"));x.appendChild(g);var A=p.cloneNode(!0);x.appendChild(A);mxEvent.addListener(p,"focus",function(){v.checked=!0});mxEvent.addListener(A,"focus",function(){v.checked=!0});mxEvent.addListener(p,"change",b);mxEvent.addListener(A,"change",b);if(null!=a.pages&&(e=a.pages.length,null!=a.currentPage))for(g=0;g<a.pages.length;g++)if(a.currentPage==a.pages[g]){n=g+1;p.value=n;A.value=n;break}p.setAttribute("max",
+e);A.setAttribute("max",e);1<e&&k.appendChild(x);var l=document.createElement("div");l.style.marginBottom="10px";var y=document.createElement("input");y.style.marginRight="8px";y.setAttribute("value","adjust");y.setAttribute("type","radio");y.setAttribute("name","printZoom");l.appendChild(y);g=document.createElement("span");mxUtils.write(g,mxResources.get("adjustTo"));l.appendChild(g);var m=document.createElement("input");m.style.cssText="margin:0 8px 0 8px;";m.setAttribute("value","100 %");m.style.width=
+"50px";l.appendChild(m);mxEvent.addListener(m,"focus",function(){y.checked=!0});k.appendChild(l);var x=x.cloneNode(!1),B=y.cloneNode(!0);B.setAttribute("value","fit");y.setAttribute("checked","checked");g=document.createElement("div");g.style.cssText="display:inline-block;height:100%;vertical-align:top;padding-top:2px;";g.appendChild(B);x.appendChild(g);l=document.createElement("table");l.style.display="inline-block";var D=document.createElement("tbody"),q=document.createElement("tr"),E=q.cloneNode(!0),
+u=document.createElement("td"),z=u.cloneNode(!0),C=u.cloneNode(!0),N=u.cloneNode(!0),J=u.cloneNode(!0),ja=u.cloneNode(!0);u.style.textAlign="right";N.style.textAlign="right";mxUtils.write(u,mxResources.get("fitTo"));var O=document.createElement("input");O.style.cssText="margin:0 8px 0 8px;";O.setAttribute("value","1");O.setAttribute("min","1");O.setAttribute("type","number");O.style.width="40px";z.appendChild(O);g=document.createElement("span");mxUtils.write(g,mxResources.get("fitToSheetsAcross"));
+C.appendChild(g);mxUtils.write(N,mxResources.get("fitToBy"));var X=O.cloneNode(!0);J.appendChild(X);mxEvent.addListener(O,"focus",function(){B.checked=!0});mxEvent.addListener(X,"focus",function(){B.checked=!0});g=document.createElement("span");mxUtils.write(g,mxResources.get("fitToSheetsDown"));ja.appendChild(g);q.appendChild(u);q.appendChild(z);q.appendChild(C);E.appendChild(N);E.appendChild(J);E.appendChild(ja);D.appendChild(q);D.appendChild(E);l.appendChild(D);x.appendChild(l);k.appendChild(x);
+x=document.createElement("div");g=document.createElement("div");g.style.fontWeight="bold";g.style.marginBottom="12px";mxUtils.write(g,mxResources.get("paperSize"));x.appendChild(g);g=document.createElement("div");g.style.marginBottom="12px";var ha=PageSetupDialog.addPageFormatPanel(g,"printdialog",a.editor.graph.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT);x.appendChild(g);g=document.createElement("span");mxUtils.write(g,mxResources.get("pageScale"));x.appendChild(g);var la=document.createElement("input");
+la.style.cssText="margin:0 8px 0 8px;";la.setAttribute("value","100 %");la.style.width="60px";x.appendChild(la);k.appendChild(x);g=document.createElement("div");g.style.cssText="text-align:right;margin:48px 0 0 0;";x=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});x.className="geBtn";a.editor.cancelFirst&&g.appendChild(x);a.isOffline()||(l=mxUtils.button(mxResources.get("help"),function(){f.openLink("https://desk.draw.io/support/solutions/articles/16000048947")}),l.className=
+"geBtn",g.appendChild(l));PrintDialog.previewEnabled&&(l=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();c(!1)}),l.className="geBtn",g.appendChild(l));l=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();c(!0)});l.className="geBtn gePrimaryBtn";g.appendChild(l);a.editor.cancelFirst||g.appendChild(x);k.appendChild(g);this.container=k};var E=ChangePageSetup.prototype.execute;ChangePageSetup.prototype.execute=function(){null==this.page&&
+(this.page=this.ui.currentPage);this.page!=this.ui.currentPage?null!=this.page.viewState&&(this.ignoreColor||(this.page.viewState.background=this.color),this.ignoreImage||(this.page.viewState.backgroundImage=this.image),null!=this.format&&(this.page.viewState.pageFormat=this.format),null!=this.mathEnabled&&(this.page.viewState.mathEnabled=this.mathEnabled),null!=this.shadowVisible&&(this.page.viewState.shadowVisible=this.shadowVisible)):(E.apply(this,arguments),null!=this.mathEnabled&&this.mathEnabled!=
+this.ui.isMathEnabled()&&(this.ui.setMathEnabled(this.mathEnabled),this.mathEnabled=!this.mathEnabled),null!=this.shadowVisible&&this.shadowVisible!=this.ui.editor.graph.shadowVisible&&(this.ui.editor.graph.setShadowVisible(this.shadowVisible),this.shadowVisible=!this.shadowVisible))};Editor.prototype.useCanvasForExport=!1;try{var y=document.createElement("canvas"),D=new Image;D.onload=function(){try{y.getContext("2d").drawImage(D,0,0);var a=y.toDataURL("image/png");Editor.prototype.useCanvasForExport=
+null!=a&&6<a.length}catch(B){}};D.src="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1px" height="1px" version="1.1"><foreignObject pointer-events="all" width="1" height="1"><div xmlns="http://www.w3.org/1999/xhtml"></div></foreignObject></svg>')))}catch(p){}})();
+(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.beforeDecode=function(a,e,c){c.ui=a.ui;return e};a.afterDecode=function(a,e,c){c.previousColor=c.color;c.previousImage=c.image;c.previousFormat=c.format;null!=c.foldingEnabled&&(c.foldingEnabled=!c.foldingEnabled);null!=c.mathEnabled&&(c.mathEnabled=!c.mathEnabled);null!=c.shadowVisible&&(c.shadowVisible=!c.shadowVisible);return c};mxCodecRegistry.register(a)})();(function(){EditorUi.VERSION="@DRAWIO-VERSION@";EditorUi.compactUi="atlas"!=uiTheme;mxGraphView.prototype.defaultDarkGridColor="#6e6e6e";"dark"==uiTheme&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&/.*\.draw\.io$/.test(window.location.hostname)&&"support.draw.io"!=window.location.hostname;EditorUi.drawHost="https://www.draw.io";EditorUi.lastErrorMessage=null;EditorUi.ignoredAnonymizedChars="\n\t`~!@#$%^&*()_+{}|:\"<>?-=[];'./,\n\t";
 EditorUi.templateFile=TEMPLATE_PATH+"/index.xml";EditorUi.cacheUrl="1"==urlParams.dev?"/cache":window.REALTIME_URL;null==EditorUi.cacheUrl&&"undefined"!==typeof DrawioFile&&(DrawioFile.SYNC="none");Editor.cacheTimeout=1E4;EditorUi.enablePlantUml=EditorUi.enableLogging;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;EditorUi.scratchpadHelpLink="https://desk.draw.io/support/solutions/articles/16000042367";EditorUi.logError=
-function(a,b,d,f,n){if("1"==urlParams.dev)EditorUi.debug("logError",a,b,d,f,n);else if(EditorUi.enableLogging)try{if(a!=EditorUi.lastErrorMessage&&(null==a||null==b||-1==a.indexOf("Script error")&&-1==a.indexOf("extension"))&&null!=a&&0>a.indexOf("DocumentClosedError")){EditorUi.lastErrorMessage=a;var c=0<=a.indexOf("NetworkError")||0<=a.indexOf("SecurityError")||0<=a.indexOf("NS_ERROR_FAILURE")||0<=a.indexOf("out of memory")?"CONFIG":"SEVERE",e=null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"";
-n=null!=n?n:Error(a);(new Image).src=e+"/log?severity="+c+"&v="+encodeURIComponent(EditorUi.VERSION)+"&msg=clientError:"+encodeURIComponent(a)+":url:"+encodeURIComponent(window.location.href)+":lnum:"+encodeURIComponent(d)+(null!=f?":colno:"+encodeURIComponent(f):"")+(null!=n&&null!=n.stack?"&stack="+encodeURIComponent(n.stack):"")}}catch(v){}};EditorUi.logEvent=function(a){if("1"==urlParams.dev)EditorUi.debug("logEvent",a);else if(EditorUi.enableLogging)try{var c=null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:
-"";(new Image).src=c+"/images/1x1.png?v="+encodeURIComponent(EditorUi.VERSION)+(null!=a?"&data="+encodeURIComponent(JSON.stringify(a)):"")}catch(k){}};EditorUi.sendReport=function(a,b){if("1"==urlParams.dev)EditorUi.debug("sendReport",a);else if(EditorUi.enableLogging)try{b=null!=b?b:5E4,a.length>b&&(a=a.substring(0,b)+"\n...[SHORTENED]"),mxUtils.post("/email","version="+encodeURIComponent(EditorUi.VERSION)+"&url="+encodeURIComponent(window.location.href)+"&data="+encodeURIComponent(a))}catch(k){}};
-EditorUi.debug=function(){try{if(null!=window.console&&"1"==urlParams.test){for(var a=[(new Date).toISOString()],b=0;b<arguments.length;b++)a.push(arguments[b]);console.log.apply(console,a)}}catch(k){}};EditorUi.parsePng=function(a,b,d){function c(a,c){var b=k;k+=c;return a.substring(b,k)}function e(a){a=c(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}var k=0;if(c(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=d&&d();else if(c(a,
-4),"IHDR"!=c(a,4))null!=d&&d();else{c(a,17);do{d=e(a);var f=c(a,4);if(null!=b&&b(k-8,f,d))break;value=c(a,d);c(a,4);if("IEND"==f)break}while(d)}};EditorUi.removeChildNodes=function(a){for(;null!=a.firstChild;)a.removeChild(a.firstChild)};EditorUi.prototype.emptyDiagramXml='<mxGraphModel><root><mxCell id="0"/><mxCell id="1" parent="0"/></root></mxGraphModel>';EditorUi.prototype.emptyLibraryXml="<mxlibrary>[]</mxlibrary>";EditorUi.prototype.mode=null;EditorUi.prototype.timeout=Editor.prototype.timeout;
+function(a,b,c,e,n){if("1"==urlParams.dev)EditorUi.debug("logError",a,b,c,e,n);else if(EditorUi.enableLogging)try{if(a!=EditorUi.lastErrorMessage&&(null==a||null==b||-1==a.indexOf("Script error")&&-1==a.indexOf("extension"))&&null!=a&&0>a.indexOf("DocumentClosedError")){EditorUi.lastErrorMessage=a;var d=0<=a.indexOf("NetworkError")||0<=a.indexOf("SecurityError")||0<=a.indexOf("NS_ERROR_FAILURE")||0<=a.indexOf("out of memory")?"CONFIG":"SEVERE",f=null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"";
+n=null!=n?n:Error(a);(new Image).src=f+"/log?severity="+d+"&v="+encodeURIComponent(EditorUi.VERSION)+"&msg=clientError:"+encodeURIComponent(a)+":url:"+encodeURIComponent(window.location.href)+":lnum:"+encodeURIComponent(c)+(null!=e?":colno:"+encodeURIComponent(e):"")+(null!=n&&null!=n.stack?"&stack="+encodeURIComponent(n.stack):"")}}catch(v){}};EditorUi.logEvent=function(a){if("1"==urlParams.dev)EditorUi.debug("logEvent",a);else if(EditorUi.enableLogging)try{var d=null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:
+"";(new Image).src=d+"/images/1x1.png?v="+encodeURIComponent(EditorUi.VERSION)+(null!=a?"&data="+encodeURIComponent(JSON.stringify(a)):"")}catch(k){}};EditorUi.sendReport=function(a,b){if("1"==urlParams.dev)EditorUi.debug("sendReport",a);else if(EditorUi.enableLogging)try{b=null!=b?b:5E4,a.length>b&&(a=a.substring(0,b)+"\n...[SHORTENED]"),mxUtils.post("/email","version="+encodeURIComponent(EditorUi.VERSION)+"&url="+encodeURIComponent(window.location.href)+"&data="+encodeURIComponent(a))}catch(k){}};
+EditorUi.debug=function(){try{if(null!=window.console&&"1"==urlParams.test){for(var a=[(new Date).toISOString()],b=0;b<arguments.length;b++)a.push(arguments[b]);console.log.apply(console,a)}}catch(k){}};EditorUi.parsePng=function(a,b,c){function d(a,d){var b=k;k+=d;return a.substring(b,k)}function f(a){a=d(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}var k=0;if(d(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=c&&c();else if(d(a,
+4),"IHDR"!=d(a,4))null!=c&&c();else{d(a,17);do{c=f(a);var e=d(a,4);if(null!=b&&b(k-8,e,c))break;value=d(a,c);d(a,4);if("IEND"==e)break}while(c)}};EditorUi.removeChildNodes=function(a){for(;null!=a.firstChild;)a.removeChild(a.firstChild)};EditorUi.prototype.emptyDiagramXml='<mxGraphModel><root><mxCell id="0"/><mxCell id="1" parent="0"/></root></mxGraphModel>';EditorUi.prototype.emptyLibraryXml="<mxlibrary>[]</mxlibrary>";EditorUi.prototype.mode=null;EditorUi.prototype.timeout=Editor.prototype.timeout;
 EditorUi.prototype.sidebarFooterHeight=38;EditorUi.prototype.defaultCustomShapeStyle="shape=stencil(tZRtTsQgEEBPw1+DJR7AoN6DbWftpAgE0Ortd/jYRGq72R+YNE2YgTePloEJGWblgA18ZuKFDcMj5/Sm8boZq+BgjCX4pTyqk6ZlKROitwusOMXKQDODx5iy4pXxZ5qTHiFHawxB0JrQZH7lCabQ0Fr+XWC1/E8zcsT/gAi+Subo2/3Mh6d/oJb5nU1b5tW7r2knautaa3T+U32o7f7vZwpJkaNDLORJjcu7t59m2jXxqX9un+tt022acsfmoKaQZ+vhhswZtS6Ne/ThQGt0IV0N3Yyv6P3CeT9/tHO0XFI5cAE=);whiteSpace=wrap;html=1;";EditorUi.prototype.svgBrokenImage=Graph.createSvgImage(10,10,'<rect x="0" y="0" width="10" height="10" stroke="#000" fill="transparent"/><path d="m 0 0 L 10 10 L 0 10 L 10 0" stroke="#000" fill="transparent"/>');
 EditorUi.prototype.crossOriginImages=!mxClient.IS_IE;EditorUi.prototype.maxBackgroundSize=1600;EditorUi.prototype.maxImageSize=520;EditorUi.prototype.resampleThreshold=1E5;EditorUi.prototype.maxImageBytes=1E6;EditorUi.prototype.maxBackgroundBytes=25E5;EditorUi.prototype.maxTextBytes=5E5;EditorUi.prototype.currentFile=null;EditorUi.prototype.printPdfExport=!1;EditorUi.prototype.pdfPageExport=!0;EditorUi.prototype.formatEnabled="0"!=urlParams.format;EditorUi.prototype.insertTemplateEnabled=!0;EditorUi.prototype.closableScratchpad=
-!0;(function(){EditorUi.prototype.useCanvasForExport=!1;EditorUi.prototype.jpgSupported=!1;try{var a=document.createElement("canvas");EditorUi.prototype.canvasSupported=!(!a.getContext||!a.getContext("2d"))}catch(n){}try{var b=document.createElement("canvas"),d=new Image;d.onload=function(){try{b.getContext("2d").drawImage(d,0,0);var a=b.toDataURL("image/png");EditorUi.prototype.useCanvasForExport=null!=a&&6<a.length}catch(g){}};d.src="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1px" height="1px" version="1.1"><foreignObject pointer-events="all" width="1" height="1"><div xmlns="http://www.w3.org/1999/xhtml"></div></foreignObject></svg>')))}catch(n){}try{b=
-document.createElement("canvas");b.width=b.height=1;var f=b.toDataURL("image/jpeg");EditorUi.prototype.jpgSupported=null!==f.match("image/jpeg")}catch(n){}})();EditorUi.prototype.openLink=function(a,b,d){return this.editor.graph.openLink(a,b,d)};EditorUi.prototype.showSplash=function(a){};EditorUi.prototype.getLocalData=function(a,b){b(localStorage.getItem(a))};EditorUi.prototype.setLocalData=function(a,b,d){localStorage.setItem(a,b);null!=d&&d()};EditorUi.prototype.removeLocalData=function(a,b){localStorage.removeItem(a);
+!0;(function(){EditorUi.prototype.useCanvasForExport=!1;EditorUi.prototype.jpgSupported=!1;try{var a=document.createElement("canvas");EditorUi.prototype.canvasSupported=!(!a.getContext||!a.getContext("2d"))}catch(n){}try{var b=document.createElement("canvas"),c=new Image;c.onload=function(){try{b.getContext("2d").drawImage(c,0,0);var a=b.toDataURL("image/png");EditorUi.prototype.useCanvasForExport=null!=a&&6<a.length}catch(g){}};c.src="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1px" height="1px" version="1.1"><foreignObject pointer-events="all" width="1" height="1"><div xmlns="http://www.w3.org/1999/xhtml"></div></foreignObject></svg>')))}catch(n){}try{b=
+document.createElement("canvas");b.width=b.height=1;var e=b.toDataURL("image/jpeg");EditorUi.prototype.jpgSupported=null!==e.match("image/jpeg")}catch(n){}})();EditorUi.prototype.openLink=function(a,b,c){return this.editor.graph.openLink(a,b,c)};EditorUi.prototype.showSplash=function(a){};EditorUi.prototype.getLocalData=function(a,b){b(localStorage.getItem(a))};EditorUi.prototype.setLocalData=function(a,b,c){localStorage.setItem(a,b);null!=c&&c()};EditorUi.prototype.removeLocalData=function(a,b){localStorage.removeItem(a);
 b()};EditorUi.prototype.setMathEnabled=function(a){this.editor.graph.mathEnabled=a;this.editor.updateGraphComponents();this.editor.graph.refresh();this.fireEvent(new mxEventObject("mathEnabledChanged"))};EditorUi.prototype.isMathEnabled=function(a){return this.editor.graph.mathEnabled};EditorUi.prototype.isAppCache=function(){return("1"==urlParams.appcache||this.isOfflineApp())&&!("serviceWorker"in navigator)};EditorUi.prototype.isOfflineApp=function(){return"1"==urlParams.offline};EditorUi.prototype.isOffline=
-function(a){return this.isOfflineApp()||!navigator.onLine||!a&&"1"==urlParams.stealth};EditorUi.prototype.createSpinner=function(a,b,d){d=null!=d?d:24;var c=new Spinner({lines:12,length:d,width:Math.round(d/3),radius:Math.round(d/2),rotate:0,color:"dark"==uiTheme?"#c0c0c0":"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,zIndex:2E9}),e=c.spin;c.spin=function(d,k){var g=!1;this.active||(e.call(this,d),this.active=!0,null!=k&&(g=document.createElement("div"),g.style.position="absolute",g.style.whiteSpace=
+function(a){return this.isOfflineApp()||!navigator.onLine||!a&&"1"==urlParams.stealth};EditorUi.prototype.createSpinner=function(a,b,c){c=null!=c?c:24;var d=new Spinner({lines:12,length:c,width:Math.round(c/3),radius:Math.round(c/2),rotate:0,color:"dark"==uiTheme?"#c0c0c0":"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,zIndex:2E9}),f=d.spin;d.spin=function(c,k){var g=!1;this.active||(f.call(this,c),this.active=!0,null!=k&&(g=document.createElement("div"),g.style.position="absolute",g.style.whiteSpace=
 "nowrap",g.style.background="#4B4243",g.style.color="white",g.style.fontFamily="Helvetica, Arial",g.style.fontSize="9pt",g.style.padding="6px",g.style.paddingLeft="10px",g.style.paddingRight="10px",g.style.zIndex=2E9,g.style.left=Math.max(0,a)+"px",g.style.top=Math.max(0,b+70)+"px",mxUtils.setPrefixedStyle(g.style,"borderRadius","6px"),mxUtils.setPrefixedStyle(g.style,"transform","translate(-50%,-50%)"),"dark"!=uiTheme&&mxUtils.setPrefixedStyle(g.style,"boxShadow","2px 2px 3px 0px #ddd"),"..."!=k.substring(k.length-
-3,k.length)&&"!"!=k.charAt(k.length-1)&&(k+="..."),g.innerHTML=k,d.appendChild(g),c.status=g,mxClient.IS_VML&&(null==document.documentMode||8>=document.documentMode)&&(g.style.left=Math.round(Math.max(0,a-g.offsetWidth/2))+"px",g.style.top=Math.round(Math.max(0,b+70-g.offsetHeight/2))+"px")),this.pause=mxUtils.bind(this,function(){var a=function(){};this.active&&(a=mxUtils.bind(this,function(){this.spin(d,k)}));this.stop();return a}),g=!0);return g};var k=c.stop;c.stop=function(){k.call(this);this.active=
-!1;null!=c.status&&null!=c.status.parentNode&&c.status.parentNode.removeChild(c.status);c.status=null};c.pause=function(){return function(){}};return c};EditorUi.prototype.isCompatibleString=function(a){try{var c=mxUtils.parseXml(a),b=this.editor.extractGraphModel(c.documentElement,!0);return null!=b&&0==b.getElementsByTagName("parsererror").length}catch(x){}return!1};EditorUi.prototype.isVisioData=function(a){return 8<a.length&&208==a.charCodeAt(0)&&207==a.charCodeAt(1)&&17==a.charCodeAt(2)&&224==
+3,k.length)&&"!"!=k.charAt(k.length-1)&&(k+="..."),g.innerHTML=k,c.appendChild(g),d.status=g,mxClient.IS_VML&&(null==document.documentMode||8>=document.documentMode)&&(g.style.left=Math.round(Math.max(0,a-g.offsetWidth/2))+"px",g.style.top=Math.round(Math.max(0,b+70-g.offsetHeight/2))+"px")),this.pause=mxUtils.bind(this,function(){var a=function(){};this.active&&(a=mxUtils.bind(this,function(){this.spin(c,k)}));this.stop();return a}),g=!0);return g};var k=d.stop;d.stop=function(){k.call(this);this.active=
+!1;null!=d.status&&null!=d.status.parentNode&&d.status.parentNode.removeChild(d.status);d.status=null};d.pause=function(){return function(){}};return d};EditorUi.prototype.isCompatibleString=function(a){try{var d=mxUtils.parseXml(a),b=this.editor.extractGraphModel(d.documentElement,!0);return null!=b&&0==b.getElementsByTagName("parsererror").length}catch(x){}return!1};EditorUi.prototype.isVisioData=function(a){return 8<a.length&&208==a.charCodeAt(0)&&207==a.charCodeAt(1)&&17==a.charCodeAt(2)&&224==
 a.charCodeAt(3)&&161==a.charCodeAt(4)&&177==a.charCodeAt(5)&&26==a.charCodeAt(6)&&225==a.charCodeAt(7)||80==a.charCodeAt(0)&&75==a.charCodeAt(1)&&3==a.charCodeAt(2)&&4==a.charCodeAt(3)||80==a.charCodeAt(0)&&75==a.charCodeAt(1)&&3==a.charCodeAt(2)&&6==a.charCodeAt(3)};EditorUi.prototype.isPngData=function(a){return 8<a.length&&137==a.charCodeAt(0)&&80==a.charCodeAt(1)&&78==a.charCodeAt(2)&&71==a.charCodeAt(3)&&13==a.charCodeAt(4)&&10==a.charCodeAt(5)&&26==a.charCodeAt(6)&&10==a.charCodeAt(7)};var a=
-EditorUi.prototype.extractGraphModelFromHtml;EditorUi.prototype.extractGraphModelFromHtml=function(c){var b=a.apply(this,arguments);if(null==b)try{var d=c.indexOf("&lt;mxfile ");if(0<=d){var f=c.lastIndexOf("&lt;/mxfile&gt;");f>d&&(b=c.substring(d,f+15).replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/\\&quot;/g,'"').replace(/\n/g,""))}else var n=mxUtils.parseXml(c),g=this.editor.extractGraphModel(n.documentElement,null!=this.pages||"hidden"==this.diagramContainer.style.visibility),b=null!=g?mxUtils.getXml(g):
-""}catch(A){}return b};EditorUi.prototype.validateFileData=function(a){if(null!=a&&0<a.length){var c=a.indexOf('<meta charset="utf-8">');0<=c&&(a=a.slice(0,c)+'<meta charset="utf-8"/>'+a.slice(c+23-1,a.length));a=Graph.zapGremlins(a)}return a};EditorUi.prototype.replaceFileData=function(a){a=this.validateFileData(a);a=null!=a&&0<a.length?mxUtils.parseXml(a).documentElement:null;var c=null!=a?this.editor.extractGraphModel(a,!0):null;null!=c&&(a=c);if(null!=a){c=this.editor.graph;c.model.beginUpdate();
-try{var b=null!=this.pages?this.pages.slice():null,d=a.getElementsByTagName("diagram");if("0"!=urlParams.pages||1<d.length||1==d.length&&d[0].hasAttribute("name")){this.fileNode=a;this.pages=null!=this.pages?this.pages:[];for(var f=d.length-1;0<=f;f--){var g=this.updatePageRoot(new DiagramPage(d[f]));null==g.getName()&&g.setName(mxResources.get("pageWithNumber",[f+1]));c.model.execute(new ChangePage(this,g,0==f?g:null,0))}}else"0"!=urlParams.pages&&null==this.fileNode&&(this.fileNode=a.ownerDocument.createElement("mxfile"),
-this.currentPage=new DiagramPage(a.ownerDocument.createElement("diagram")),this.currentPage.setName(mxResources.get("pageWithNumber",[1])),c.model.execute(new ChangePage(this,this.currentPage,this.currentPage,0))),this.editor.setGraphXml(a),null!=this.currentPage&&(this.currentPage.root=this.editor.graph.model.root);if(null!=b)for(f=0;f<b.length;f++)c.model.execute(new ChangePage(this,b[f],null))}finally{c.model.endUpdate()}}};EditorUi.prototype.createFileData=function(a,b,d,f,n,g,l,v,t,m,y){b=null!=
-b?b:this.editor.graph;n=null!=n?n:!1;t=null!=t?t:!0;var c,e=null;null==d||d.getMode()==App.MODE_DEVICE||d.getMode()==App.MODE_BROWSER?c="_blank":e=c=f;if(null==a)return"";var k=a;if("mxfile"!=k.nodeName.toLowerCase()){if(y){var x=a.ownerDocument.createElement("diagram");x.setAttribute("id",Editor.guid());x.appendChild(a)}else{x=Graph.zapGremlins(mxUtils.getXml(a));k=Graph.compress(x);if(Graph.decompress(k)!=x)return x;x=a.ownerDocument.createElement("diagram");x.setAttribute("id",Editor.guid());mxUtils.setTextContent(x,
+EditorUi.prototype.extractGraphModelFromHtml;EditorUi.prototype.extractGraphModelFromHtml=function(d){var b=a.apply(this,arguments);if(null==b)try{var c=d.indexOf("&lt;mxfile ");if(0<=c){var e=d.lastIndexOf("&lt;/mxfile&gt;");e>c&&(b=d.substring(c,e+15).replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/\\&quot;/g,'"').replace(/\n/g,""))}else var n=mxUtils.parseXml(d),g=this.editor.extractGraphModel(n.documentElement,null!=this.pages||"hidden"==this.diagramContainer.style.visibility),b=null!=g?mxUtils.getXml(g):
+""}catch(A){}return b};EditorUi.prototype.validateFileData=function(a){if(null!=a&&0<a.length){var d=a.indexOf('<meta charset="utf-8">');0<=d&&(a=a.slice(0,d)+'<meta charset="utf-8"/>'+a.slice(d+23-1,a.length));a=Graph.zapGremlins(a)}return a};EditorUi.prototype.replaceFileData=function(a){a=this.validateFileData(a);a=null!=a&&0<a.length?mxUtils.parseXml(a).documentElement:null;var d=null!=a?this.editor.extractGraphModel(a,!0):null;null!=d&&(a=d);if(null!=a){d=this.editor.graph;d.model.beginUpdate();
+try{var b=null!=this.pages?this.pages.slice():null,c=a.getElementsByTagName("diagram");if("0"!=urlParams.pages||1<c.length||1==c.length&&c[0].hasAttribute("name")){this.fileNode=a;this.pages=null!=this.pages?this.pages:[];for(var e=c.length-1;0<=e;e--){var g=this.updatePageRoot(new DiagramPage(c[e]));null==g.getName()&&g.setName(mxResources.get("pageWithNumber",[e+1]));d.model.execute(new ChangePage(this,g,0==e?g:null,0))}}else"0"!=urlParams.pages&&null==this.fileNode&&(this.fileNode=a.ownerDocument.createElement("mxfile"),
+this.currentPage=new DiagramPage(a.ownerDocument.createElement("diagram")),this.currentPage.setName(mxResources.get("pageWithNumber",[1])),d.model.execute(new ChangePage(this,this.currentPage,this.currentPage,0))),this.editor.setGraphXml(a),null!=this.currentPage&&(this.currentPage.root=this.editor.graph.model.root);if(null!=b)for(e=0;e<b.length;e++)d.model.execute(new ChangePage(this,b[e],null))}finally{d.model.endUpdate()}}};EditorUi.prototype.createFileData=function(a,b,c,e,n,g,l,v,t,m,y){b=null!=
+b?b:this.editor.graph;n=null!=n?n:!1;t=null!=t?t:!0;var d,f=null;null==c||c.getMode()==App.MODE_DEVICE||c.getMode()==App.MODE_BROWSER?d="_blank":f=d=e;if(null==a)return"";var k=a;if("mxfile"!=k.nodeName.toLowerCase()){if(y){var x=a.ownerDocument.createElement("diagram");x.setAttribute("id",Editor.guid());x.appendChild(a)}else{x=Graph.zapGremlins(mxUtils.getXml(a));k=Graph.compress(x);if(Graph.decompress(k)!=x)return x;x=a.ownerDocument.createElement("diagram");x.setAttribute("id",Editor.guid());mxUtils.setTextContent(x,
 k)}k=a.ownerDocument.createElement("mxfile");k.appendChild(x)}m?(k=k.cloneNode(!0),k.removeAttribute("modified"),k.removeAttribute("host"),k.removeAttribute("agent"),k.removeAttribute("etag"),k.removeAttribute("userAgent"),k.removeAttribute("version"),k.removeAttribute("editor"),k.removeAttribute("type")):(k.removeAttribute("userAgent"),k.removeAttribute("version"),k.removeAttribute("editor"),k.removeAttribute("pages"),k.removeAttribute("type"),mxClient.IS_CHROMEAPP?k.setAttribute("host","Chrome"):
-EditorUi.isElectronApp?k.setAttribute("host","Electron"):k.setAttribute("host",window.location.hostname),k.setAttribute("modified",(new Date).toISOString()),k.setAttribute("agent",navigator.userAgent),k.setAttribute("version",EditorUi.VERSION),k.setAttribute("etag",Editor.guid()),a=null!=d?d.getMode():this.mode,null!=a&&k.setAttribute("type",a),1<k.getElementsByTagName("diagram").length&&null!=this.pages&&k.setAttribute("pages",this.pages.length));y=y?mxUtils.getPrettyXml(k):mxUtils.getXml(k);if(!g&&
-!n&&(l||null!=d&&/(\.html)$/i.test(d.getTitle())))y=this.getHtml2(mxUtils.getXml(k),b,null!=d?d.getTitle():null,c,e);else if(g||!n&&null!=d&&/(\.svg)$/i.test(d.getTitle()))null==d||d.getMode()!=App.MODE_DEVICE&&d.getMode()!=App.MODE_BROWSER||(f=null),y=this.getEmbeddedSvg(y,b,f,null,v,t,e);return y};EditorUi.prototype.getXmlFileData=function(a,b,d){a=null!=a?a:!0;b=null!=b?b:!1;d=null!=d?d:!Editor.compressXml;var c=this.editor.getGraphXml(a);if(a&&null!=this.fileNode&&null!=this.currentPage)if(a=
-function(a){var b=a.getElementsByTagName("mxGraphModel"),b=0<b.length?b[0]:null;null==b&&d?(b=mxUtils.trim(mxUtils.getTextContent(a)),a=a.cloneNode(!1),0<b.length&&(b=Graph.decompress(b),null!=b&&0<b.length&&a.appendChild(mxUtils.parseXml(b).documentElement))):null==b||d?a=a.cloneNode(!0):(a=a.cloneNode(!1),mxUtils.setTextContent(a,Graph.compressNode(b)));c.appendChild(a)},EditorUi.removeChildNodes(this.currentPage.node),mxUtils.setTextContent(this.currentPage.node,Graph.compressNode(c)),c=this.fileNode.cloneNode(!1),
-b)a(this.currentPage.node);else for(b=0;b<this.pages.length;b++){if(this.currentPage!=this.pages[b]&&this.pages[b].needsUpdate){var e=(new mxCodec(mxUtils.createXmlDocument())).encode(new mxGraphModel(this.pages[b].root));this.editor.graph.saveViewState(this.pages[b].viewState,e);EditorUi.removeChildNodes(this.pages[b].node);mxUtils.setTextContent(this.pages[b].node,Graph.compressNode(e));delete this.pages[b].needsUpdate}a(this.pages[b].node)}return c};EditorUi.prototype.anonymizeString=function(a,
-b){for(var c=[],e=0;e<a.length;e++){var d=a.charAt(e);0<=EditorUi.ignoredAnonymizedChars.indexOf(d)?c.push(d):isNaN(parseInt(d))?d.toLowerCase()!=d?c.push(String.fromCharCode(65+Math.round(25*Math.random()))):d.toUpperCase()!=d?c.push(String.fromCharCode(97+Math.round(25*Math.random()))):/\s/.test(d)?c.push(" "):c.push("?"):c.push(b?"0":Math.round(9*Math.random()))}return c.join("")};EditorUi.prototype.anonymizePatch=function(a){if(null!=a[EditorUi.DIFF_INSERT])for(var c=0;c<a[EditorUi.DIFF_INSERT].length;c++)try{var b=
-mxUtils.parseXml(a[EditorUi.DIFF_INSERT][c].data).documentElement.cloneNode(!1);null!=b.getAttribute("name")&&b.setAttribute("name",this.anonymizeString(b.getAttribute("name")));a[EditorUi.DIFF_INSERT][c].data=mxUtils.getXml(b)}catch(g){a[EditorUi.DIFF_INSERT][c].data=g.message}if(null!=a[EditorUi.DIFF_UPDATE]){for(var d in a[EditorUi.DIFF_UPDATE]){var f=a[EditorUi.DIFF_UPDATE][d];null!=f.name&&(f.name=this.anonymizeString(f.name));null!=f.cells&&(c=mxUtils.bind(this,function(a){var c=f.cells[a];
-if(null!=c){for(var b in c)null!=c[b].value&&(c[b].value="["+c[b].value.length+"]"),null!=c[b].xmlValue&&(c[b].xmlValue="["+c[b].xmlValue.length+"]"),null!=c[b].style&&(c[b].style="["+c[b].style.length+"]"),0==Object.keys(c[b]).length&&delete c[b];0==Object.keys(c).length&&delete f.cells[a]}}),c(EditorUi.DIFF_INSERT),c(EditorUi.DIFF_UPDATE),0==Object.keys(f.cells).length&&delete f.cells);0==Object.keys(f).length&&delete a[EditorUi.DIFF_UPDATE][d]}0==Object.keys(a[EditorUi.DIFF_UPDATE]).length&&delete a[EditorUi.DIFF_UPDATE]}return a};
-EditorUi.prototype.anonymizeAttributes=function(a,b){if(null!=a.attributes)for(var c=0;c<a.attributes.length;c++)"as"!=a.attributes[c].name&&a.setAttribute(a.attributes[c].name,this.anonymizeString(a.attributes[c].value,b));if(null!=a.childNodes)for(c=0;c<a.childNodes.length;c++)this.anonymizeAttributes(a.childNodes[c],b)};EditorUi.prototype.anonymizeNode=function(a,b){for(var c=a.getElementsByTagName("mxCell"),e=0;e<c.length;e++)null!=c[e].getAttribute("value")&&c[e].setAttribute("value","["+c[e].getAttribute("value").length+
-"]"),null!=c[e].getAttribute("xmlValue")&&c[e].setAttribute("xmlValue","["+c[e].getAttribute("xmlValue").length+"]"),null!=c[e].getAttribute("style")&&c[e].setAttribute("style","["+c[e].getAttribute("style").length+"]"),null!=c[e].parentNode&&"root"!=c[e].parentNode.nodeName&&null!=c[e].parentNode.parentNode&&(c[e].setAttribute("id",c[e].parentNode.getAttribute("id")),c[e].parentNode.parentNode.replaceChild(c[e],c[e].parentNode));return a};EditorUi.prototype.synchronizeCurrentFile=function(a){var c=
-this.getCurrentFile();null!=c&&(c.savingFile?this.handleError({message:mxResources.get("busy")}):!a&&c.invalidChecksum?c.handleFileError(null,!0):this.spinner.spin(document.body,mxResources.get("updatingDocument"))&&(c.clearAutosave(),this.editor.setStatus(""),a?c.reloadFile(mxUtils.bind(this,function(){c.handleFileSuccess("manual"==DrawioFile.SYNC)}),mxUtils.bind(this,function(a){c.handleFileError(a,!0)})):c.synchronizeFile(mxUtils.bind(this,function(){c.handleFileSuccess("manual"==DrawioFile.SYNC)}),
-mxUtils.bind(this,function(a){c.handleFileError(a,!0)}))))};EditorUi.prototype.getFileData=function(a,b,d,f,n,g,l,v,t,m){n=null!=n?n:!0;g=null!=g?g:!1;var c=this.editor.graph;if(b||!a&&null!=t&&/(\.svg)$/i.test(t.getTitle()))if(m=!1,null!=this.pages&&this.currentPage!=this.pages[0]){var e=c.getGlobalVariable,c=this.createTemporaryGraph(c.getStylesheet()),k=this.pages[0];c.getGlobalVariable=function(a){return"page"==a?k.getName():"pagenumber"==a?1:e.apply(this,arguments)};document.body.appendChild(c.container);
-c.model.setRoot(k.root)}l=null!=l?l:this.getXmlFileData(n,g,m);t=null!=t?t:this.getCurrentFile();a=this.createFileData(l,c,t,window.location.href,a,b,d,f,n,v,m);c!=this.editor.graph&&c.container.parentNode.removeChild(c.container);return a};EditorUi.prototype.getHtml=function(a,b,d,f,n,g){g=null!=g?g:!0;var c=null,e=EditorUi.drawHost+"/js/embed-static.min.js";if(null!=b){var c=g?b.getGraphBounds():b.getBoundingBox(b.getSelectionCells()),k=b.view.scale;g=Math.floor(c.x/k-b.view.translate.x);k=Math.floor(c.y/
-k-b.view.translate.y);c=b.background;null==n&&(b=this.getBasenames().join(";"),0<b.length&&(e=EditorUi.drawHost+"/embed.js?s="+b));a.setAttribute("x0",g);a.setAttribute("y0",k)}null!=a&&(a.setAttribute("pan","1"),a.setAttribute("zoom","1"),a.setAttribute("resize","0"),a.setAttribute("fit","0"),a.setAttribute("border","20"),a.setAttribute("links","1"),null!=f&&a.setAttribute("edit",f));null!=n&&(n=n.replace(/&/g,"&amp;"));a=null!=a?Graph.zapGremlins(mxUtils.getXml(a)):"";f=Graph.compress(a);Graph.decompress(f)!=
-a&&(f=encodeURIComponent(a));return(null==n?'\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n':"")+"<!DOCTYPE html>\n<html"+(null!=n?' xmlns="http://www.w3.org/1999/xhtml">':">")+"\n<head>\n"+(null==n?null!=d?"<title>"+mxUtils.htmlEntities(d)+"</title>\n":"":"<title>Draw.io Diagram</title>\n")+(null!=n?'<meta http-equiv="refresh" content="0;URL=\''+n+"'\"/>\n":"")+"</head>\n<body"+(null==n&&null!=c&&c!=mxConstants.NONE?' style="background-color:'+c+';">':">")+
-'\n<div class="mxgraph" style="position:relative;overflow:auto;width:100%;">\n<div style="width:1px;height:1px;overflow:hidden;">'+f+"</div>\n</div>\n"+(null==n?'<script type="text/javascript" src="'+e+'">\x3c/script>':'<a style="position:absolute;top:50%;left:50%;margin-top:-128px;margin-left:-64px;" href="'+n+'" target="_blank"><img border="0" src="'+EditorUi.drawHost+'/images/drawlogo128.png"/></a>')+"\n</body>\n</html>\n"};EditorUi.prototype.getHtml2=function(a,b,d,f,n){b=EditorUi.drawHost+"/js/viewer.min.js";
-null!=n&&(n=n.replace(/&/g,"&amp;"));a={highlight:"#0000ff",nav:this.editor.graph.foldingEnabled,resize:!0,xml:Graph.zapGremlins(a),toolbar:"pages zoom layers lightbox"};null!=this.pages&&null!=this.currentPage&&(a.page=mxUtils.indexOf(this.pages,this.currentPage));return(null==n?'\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n':"")+"<!DOCTYPE html>\n<html"+(null!=n?' xmlns="http://www.w3.org/1999/xhtml">':">")+"\n<head>\n"+(null==n?null!=d?"<title>"+mxUtils.htmlEntities(d)+
+EditorUi.isElectronApp?k.setAttribute("host","Electron"):k.setAttribute("host",window.location.hostname),k.setAttribute("modified",(new Date).toISOString()),k.setAttribute("agent",navigator.userAgent),k.setAttribute("version",EditorUi.VERSION),k.setAttribute("etag",Editor.guid()),a=null!=c?c.getMode():this.mode,null!=a&&k.setAttribute("type",a),1<k.getElementsByTagName("diagram").length&&null!=this.pages&&k.setAttribute("pages",this.pages.length));y=y?mxUtils.getPrettyXml(k):mxUtils.getXml(k);if(!g&&
+!n&&(l||null!=c&&/(\.html)$/i.test(c.getTitle())))y=this.getHtml2(mxUtils.getXml(k),b,null!=c?c.getTitle():null,d,f);else if(g||!n&&null!=c&&/(\.svg)$/i.test(c.getTitle()))null==c||c.getMode()!=App.MODE_DEVICE&&c.getMode()!=App.MODE_BROWSER||(e=null),y=this.getEmbeddedSvg(y,b,e,null,v,t,f);return y};EditorUi.prototype.getXmlFileData=function(a,b,c){a=null!=a?a:!0;b=null!=b?b:!1;c=null!=c?c:!Editor.compressXml;var d=this.editor.getGraphXml(a);if(a&&null!=this.fileNode&&null!=this.currentPage)if(a=
+function(a){var b=a.getElementsByTagName("mxGraphModel"),b=0<b.length?b[0]:null;null==b&&c?(b=mxUtils.trim(mxUtils.getTextContent(a)),a=a.cloneNode(!1),0<b.length&&(b=Graph.decompress(b),null!=b&&0<b.length&&a.appendChild(mxUtils.parseXml(b).documentElement))):null==b||c?a=a.cloneNode(!0):(a=a.cloneNode(!1),mxUtils.setTextContent(a,Graph.compressNode(b)));d.appendChild(a)},EditorUi.removeChildNodes(this.currentPage.node),mxUtils.setTextContent(this.currentPage.node,Graph.compressNode(d)),d=this.fileNode.cloneNode(!1),
+b)a(this.currentPage.node);else for(b=0;b<this.pages.length;b++){if(this.currentPage!=this.pages[b]&&this.pages[b].needsUpdate){var f=(new mxCodec(mxUtils.createXmlDocument())).encode(new mxGraphModel(this.pages[b].root));this.editor.graph.saveViewState(this.pages[b].viewState,f);EditorUi.removeChildNodes(this.pages[b].node);mxUtils.setTextContent(this.pages[b].node,Graph.compressNode(f));delete this.pages[b].needsUpdate}a(this.pages[b].node)}return d};EditorUi.prototype.anonymizeString=function(a,
+b){for(var d=[],c=0;c<a.length;c++){var f=a.charAt(c);0<=EditorUi.ignoredAnonymizedChars.indexOf(f)?d.push(f):isNaN(parseInt(f))?f.toLowerCase()!=f?d.push(String.fromCharCode(65+Math.round(25*Math.random()))):f.toUpperCase()!=f?d.push(String.fromCharCode(97+Math.round(25*Math.random()))):/\s/.test(f)?d.push(" "):d.push("?"):d.push(b?"0":Math.round(9*Math.random()))}return d.join("")};EditorUi.prototype.anonymizePatch=function(a){if(null!=a[EditorUi.DIFF_INSERT])for(var d=0;d<a[EditorUi.DIFF_INSERT].length;d++)try{var b=
+mxUtils.parseXml(a[EditorUi.DIFF_INSERT][d].data).documentElement.cloneNode(!1);null!=b.getAttribute("name")&&b.setAttribute("name",this.anonymizeString(b.getAttribute("name")));a[EditorUi.DIFF_INSERT][d].data=mxUtils.getXml(b)}catch(g){a[EditorUi.DIFF_INSERT][d].data=g.message}if(null!=a[EditorUi.DIFF_UPDATE]){for(var c in a[EditorUi.DIFF_UPDATE]){var e=a[EditorUi.DIFF_UPDATE][c];null!=e.name&&(e.name=this.anonymizeString(e.name));null!=e.cells&&(d=mxUtils.bind(this,function(a){var d=e.cells[a];
+if(null!=d){for(var b in d)null!=d[b].value&&(d[b].value="["+d[b].value.length+"]"),null!=d[b].xmlValue&&(d[b].xmlValue="["+d[b].xmlValue.length+"]"),null!=d[b].style&&(d[b].style="["+d[b].style.length+"]"),0==Object.keys(d[b]).length&&delete d[b];0==Object.keys(d).length&&delete e.cells[a]}}),d(EditorUi.DIFF_INSERT),d(EditorUi.DIFF_UPDATE),0==Object.keys(e.cells).length&&delete e.cells);0==Object.keys(e).length&&delete a[EditorUi.DIFF_UPDATE][c]}0==Object.keys(a[EditorUi.DIFF_UPDATE]).length&&delete a[EditorUi.DIFF_UPDATE]}return a};
+EditorUi.prototype.anonymizeAttributes=function(a,b){if(null!=a.attributes)for(var d=0;d<a.attributes.length;d++)"as"!=a.attributes[d].name&&a.setAttribute(a.attributes[d].name,this.anonymizeString(a.attributes[d].value,b));if(null!=a.childNodes)for(d=0;d<a.childNodes.length;d++)this.anonymizeAttributes(a.childNodes[d],b)};EditorUi.prototype.anonymizeNode=function(a,b){for(var d=a.getElementsByTagName("mxCell"),c=0;c<d.length;c++)null!=d[c].getAttribute("value")&&d[c].setAttribute("value","["+d[c].getAttribute("value").length+
+"]"),null!=d[c].getAttribute("xmlValue")&&d[c].setAttribute("xmlValue","["+d[c].getAttribute("xmlValue").length+"]"),null!=d[c].getAttribute("style")&&d[c].setAttribute("style","["+d[c].getAttribute("style").length+"]"),null!=d[c].parentNode&&"root"!=d[c].parentNode.nodeName&&null!=d[c].parentNode.parentNode&&(d[c].setAttribute("id",d[c].parentNode.getAttribute("id")),d[c].parentNode.parentNode.replaceChild(d[c],d[c].parentNode));return a};EditorUi.prototype.synchronizeCurrentFile=function(a){var d=
+this.getCurrentFile();null!=d&&(d.savingFile?this.handleError({message:mxResources.get("busy")}):!a&&d.invalidChecksum?d.handleFileError(null,!0):this.spinner.spin(document.body,mxResources.get("updatingDocument"))&&(d.clearAutosave(),this.editor.setStatus(""),a?d.reloadFile(mxUtils.bind(this,function(){d.handleFileSuccess("manual"==DrawioFile.SYNC)}),mxUtils.bind(this,function(a){d.handleFileError(a,!0)})):d.synchronizeFile(mxUtils.bind(this,function(){d.handleFileSuccess("manual"==DrawioFile.SYNC)}),
+mxUtils.bind(this,function(a){d.handleFileError(a,!0)}))))};EditorUi.prototype.getFileData=function(a,b,c,e,n,g,l,v,t,m){n=null!=n?n:!0;g=null!=g?g:!1;var d=this.editor.graph;if(b||!a&&null!=t&&/(\.svg)$/i.test(t.getTitle()))if(m=!1,null!=this.pages&&this.currentPage!=this.pages[0]){var f=d.getGlobalVariable,d=this.createTemporaryGraph(d.getStylesheet()),k=this.pages[0];d.getGlobalVariable=function(a){return"page"==a?k.getName():"pagenumber"==a?1:f.apply(this,arguments)};document.body.appendChild(d.container);
+d.model.setRoot(k.root)}l=null!=l?l:this.getXmlFileData(n,g,m);t=null!=t?t:this.getCurrentFile();a=this.createFileData(l,d,t,window.location.href,a,b,c,e,n,v,m);d!=this.editor.graph&&d.container.parentNode.removeChild(d.container);return a};EditorUi.prototype.getHtml=function(a,b,c,e,n,g){g=null!=g?g:!0;var d=null,f=EditorUi.drawHost+"/js/embed-static.min.js";if(null!=b){var d=g?b.getGraphBounds():b.getBoundingBox(b.getSelectionCells()),k=b.view.scale;g=Math.floor(d.x/k-b.view.translate.x);k=Math.floor(d.y/
+k-b.view.translate.y);d=b.background;null==n&&(b=this.getBasenames().join(";"),0<b.length&&(f=EditorUi.drawHost+"/embed.js?s="+b));a.setAttribute("x0",g);a.setAttribute("y0",k)}null!=a&&(a.setAttribute("pan","1"),a.setAttribute("zoom","1"),a.setAttribute("resize","0"),a.setAttribute("fit","0"),a.setAttribute("border","20"),a.setAttribute("links","1"),null!=e&&a.setAttribute("edit",e));null!=n&&(n=n.replace(/&/g,"&amp;"));a=null!=a?Graph.zapGremlins(mxUtils.getXml(a)):"";e=Graph.compress(a);Graph.decompress(e)!=
+a&&(e=encodeURIComponent(a));return(null==n?'\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n':"")+"<!DOCTYPE html>\n<html"+(null!=n?' xmlns="http://www.w3.org/1999/xhtml">':">")+"\n<head>\n"+(null==n?null!=c?"<title>"+mxUtils.htmlEntities(c)+"</title>\n":"":"<title>Draw.io Diagram</title>\n")+(null!=n?'<meta http-equiv="refresh" content="0;URL=\''+n+"'\"/>\n":"")+"</head>\n<body"+(null==n&&null!=d&&d!=mxConstants.NONE?' style="background-color:'+d+';">':">")+
+'\n<div class="mxgraph" style="position:relative;overflow:auto;width:100%;">\n<div style="width:1px;height:1px;overflow:hidden;">'+e+"</div>\n</div>\n"+(null==n?'<script type="text/javascript" src="'+f+'">\x3c/script>':'<a style="position:absolute;top:50%;left:50%;margin-top:-128px;margin-left:-64px;" href="'+n+'" target="_blank"><img border="0" src="'+EditorUi.drawHost+'/images/drawlogo128.png"/></a>')+"\n</body>\n</html>\n"};EditorUi.prototype.getHtml2=function(a,b,c,e,n){b=EditorUi.drawHost+"/js/viewer.min.js";
+null!=n&&(n=n.replace(/&/g,"&amp;"));a={highlight:"#0000ff",nav:this.editor.graph.foldingEnabled,resize:!0,xml:Graph.zapGremlins(a),toolbar:"pages zoom layers lightbox"};null!=this.pages&&null!=this.currentPage&&(a.page=mxUtils.indexOf(this.pages,this.currentPage));return(null==n?'\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n':"")+"<!DOCTYPE html>\n<html"+(null!=n?' xmlns="http://www.w3.org/1999/xhtml">':">")+"\n<head>\n"+(null==n?null!=c?"<title>"+mxUtils.htmlEntities(c)+
 "</title>\n":"":"<title>Draw.io Diagram</title>\n")+(null!=n?'<meta http-equiv="refresh" content="0;URL=\''+n+"'\"/>\n":"")+'<meta charset="utf-8"/>\n</head>\n<body>\n<div class="mxgraph" style="max-width:100%;border:1px solid transparent;" data-mxgraph="'+mxUtils.htmlEntities(JSON.stringify(a))+'"></div>\n'+(null==n?'<script type="text/javascript" src="'+b+'">\x3c/script>':'<a style="position:absolute;top:50%;left:50%;margin-top:-128px;margin-left:-64px;" href="'+n+'" target="_blank"><img border="0" src="'+
-EditorUi.drawHost+'/images/drawlogo128.png"/></a>')+"\n</body>\n</html>\n"};EditorUi.prototype.setFileData=function(a){a=this.validateFileData(a);this.pages=this.fileNode=this.currentPage=null;a=null!=a&&0<a.length?mxUtils.parseXml(a).documentElement:null;var c=Editor.extractParserError(a,mxResources.get("invalidOrMissingFile"));if(c)throw Error(c);c=null!=a?this.editor.extractGraphModel(a,!0):null;null!=c&&(a=c);if(null!=a&&"mxfile"==a.nodeName&&(c=a.getElementsByTagName("diagram"),"0"!=urlParams.pages||
-1<c.length||1==c.length&&c[0].hasAttribute("name"))){var b=null;this.fileNode=a;this.pages=[];for(var d=0;d<c.length;d++)null==c[d].getAttribute("id")&&c[d].setAttribute("id",d),a=new DiagramPage(c[d]),null==a.getName()&&a.setName(mxResources.get("pageWithNumber",[d+1])),this.pages.push(a),null!=urlParams["page-id"]&&a.getId()==urlParams["page-id"]&&(b=a);this.currentPage=null!=b?b:this.pages[Math.max(0,Math.min(this.pages.length-1,urlParams.page||0))];a=this.currentPage.node}"0"!=urlParams.pages&&
-null==this.fileNode&&null!=a&&(this.fileNode=a.ownerDocument.createElement("mxfile"),this.currentPage=new DiagramPage(a.ownerDocument.createElement("diagram")),this.currentPage.setName(mxResources.get("pageWithNumber",[1])),this.pages=[this.currentPage]);this.editor.setGraphXml(a);null!=this.currentPage&&(this.currentPage.root=this.editor.graph.model.root);if(null!=urlParams["layer-ids"])try{var f=urlParams["layer-ids"].split(" ");a={};for(d=0;d<f.length;d++)a[f[d]]=!0;for(var g=this.editor.graph.getModel(),
-l=g.getChildren(g.root),d=0;d<l.length;d++){var v=l[d];g.setVisible(v,a[v.id]||!1)}}catch(t){}};EditorUi.prototype.getBaseFilename=function(a){var c=this.getCurrentFile(),c=null!=c&&null!=c.getTitle()?c.getTitle():this.defaultFilename;if(/(\.xml)$/i.test(c)||/(\.html)$/i.test(c)||/(\.svg)$/i.test(c)||/(\.png)$/i.test(c)||/(\.drawio)$/i.test(c))c=c.substring(0,c.lastIndexOf("."));!a&&null!=this.pages&&1<this.pages.length&&null!=this.currentPage&&null!=this.currentPage.node.getAttribute("name")&&0<
-this.currentPage.getName().length&&(c=c+"-"+this.currentPage.getName());return c};EditorUi.prototype.downloadFile=function(a,b,d,f,n,g,l,v,t,m,y){try{f=null!=f?f:this.editor.graph.isSelectionEmpty();var c=this.getBaseFilename(!n),e=c+"."+a;if("xml"==a){var k='<?xml version="1.0" encoding="UTF-8"?>\n'+this.getFileData(!0,null,null,null,f,n,null,null,null,b);this.saveData(e,a,k,"text/xml")}else if("html"==a)k=this.getHtml2(this.getFileData(!0),this.editor.graph,c),this.saveData(e,a,k,"text/html");else if("svg"!=
-a&&"xmlsvg"!=a||!this.spinner.spin(document.body,mxResources.get("export")))"xmlpng"==a?e=c+".png":"jpeg"==a&&(e=c+".jpg"),this.saveRequest(e,a,mxUtils.bind(this,function(c,b){try{var e=this.editor.graph.pageVisible;null!=g&&(this.editor.graph.pageVisible=g);var d=this.createDownloadRequest(c,a,f,b,l,n,v,t,m,y);this.editor.graph.pageVisible=e;return d}catch(aa){this.handleError(aa)}}));else{var x=null,A=mxUtils.bind(this,function(a){a.length<=MAX_REQUEST_SIZE?this.saveData(e,"svg",a,"image/svg+xml"):
-this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(x)}))});if("svg"==a){var q=this.editor.graph.background;if(l||q==mxConstants.NONE)q=null;var D=this.editor.graph.getSvg(q,null,null,null,null,f);d&&this.editor.graph.addSvgShadow(D);this.convertImages(D,mxUtils.bind(this,mxUtils.bind(this,function(a){this.spinner.stop();A('<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n'+
-mxUtils.getXml(a))})))}else e=c+".svg",x=this.getFileData(!1,!0,null,mxUtils.bind(this,function(a){this.spinner.stop();A(a)}),f)}}catch(F){this.handleError(F)}};EditorUi.prototype.createDownloadRequest=function(a,b,d,f,n,g,l,v,t,m){var c=this.editor.graph,e=c.getGraphBounds();d=this.getFileData(!0,null,null,null,d,0==g?!1:"xmlpng"!=b);var k="",x="";if(e.width*e.height>MAX_AREA||d.length>MAX_REQUEST_SIZE)throw{message:mxResources.get("drawingTooLarge")};m=m?"1":"0";"pdf"==b&&0==g&&(x="&allPages=1");
-if("xmlpng"==b&&(m="1",b="png",null!=this.pages&&null!=this.currentPage))for(g=0;g<this.pages.length;g++)if(this.pages[g]==this.currentPage){k="&from="+g;break}g=c.background;"png"==b&&n?g=mxConstants.NONE:n||null!=g&&g!=mxConstants.NONE||(g="#ffffff");n={globalVars:c.getExportVariables()};t&&(n.grid={size:c.gridSize,steps:c.view.gridSteps,color:c.view.gridColor});return new mxXmlRequest(EXPORT_URL,"format="+b+k+x+"&bg="+(null!=g?g:mxConstants.NONE)+"&base64="+f+"&embedXml="+m+"&xml="+encodeURIComponent(d)+
-(null!=a?"&filename="+encodeURIComponent(a):"")+"&extras="+encodeURIComponent(JSON.stringify(n))+(null!=l?"&scale="+l:"")+(null!=v?"&border="+v:""))};EditorUi.prototype.setMode=function(a,b){this.mode=a};EditorUi.prototype.loadDescriptor=function(a,b,d){var c=window.location.hash,e=mxUtils.bind(this,function(e){var d=null!=a.data?a.data:"";null!=e&&0<e.length&&(0<d.length&&(d+="\n"),d+=e);e=new LocalFile(this,"csv"!=a.format&&0<d.length?d:this.emptyDiagramXml,null!=urlParams.title?decodeURIComponent(urlParams.title):
-this.defaultFilename,!0);e.getHash=function(){return c};this.fileLoaded(e);"csv"==a.format&&this.importCsv(d,mxUtils.bind(this,function(a){this.editor.undoManager.clear();this.editor.setModified(!1);this.editor.setStatus("")}));if(null!=a.update){var k=null!=a.interval?parseInt(a.interval):6E4,g=null,f=mxUtils.bind(this,function(){var c=this.currentPage;mxUtils.post(a.update,"xml="+encodeURIComponent(mxUtils.getXml(this.editor.getGraphXml())),mxUtils.bind(this,function(a){c===this.currentPage&&(200<=
-a.getStatus()&&300>=a.getStatus()?(this.updateDiagram(a.getText()),n()):this.handleError({message:mxResources.get("error")+" "+a.getStatus()}))}),mxUtils.bind(this,function(a){this.handleError(a)}))}),n=mxUtils.bind(this,function(){window.clearTimeout(g);g=window.setTimeout(f,k)});this.editor.addListener("pageSelected",mxUtils.bind(this,function(){n();f()}));n();f()}null!=b&&b()});if(null!=a.url&&0<a.url.length){var k=a.url;/^https?:\/\//.test(k)&&!this.editor.isCorsEnabledForUrl(k)&&(k=PROXY_URL+
-"?url="+encodeURIComponent(k));this.loadUrl(k,mxUtils.bind(this,function(a){e(a)}),mxUtils.bind(this,function(a){null!=d&&d(a)}))}else e("")};EditorUi.prototype.updateDiagram=function(a){function c(a){var c=new mxCellOverlay(a.image||f.warningImage,a.tooltip,a.align,a.valign,a.offset);c.addListener(mxEvent.CLICK,function(c,b){d.alert(a.tooltip)});return c}var b=null,d=this;if(null!=a&&0<a.length&&(b=mxUtils.parseXml(a),a=null!=b?b.documentElement:null,null!=a&&"updates"==a.nodeName)){var f=this.editor.graph,
-g=f.getModel();g.beginUpdate();var l=null;try{for(a=a.firstChild;null!=a;){if("update"==a.nodeName){var v=g.getCell(a.getAttribute("id"));if(null!=v){try{var t=a.getAttribute("value");if(null!=t){var m=mxUtils.parseXml(t).documentElement;if(null!=m)if("1"==m.getAttribute("replace-value"))g.setValue(v,m);else for(var y=m.attributes,q=0;q<y.length;q++)f.setAttributeForCell(v,y[q].nodeName,0<y[q].nodeValue.length?y[q].nodeValue:null)}}catch(G){null!=window.console&&console.log("Error in value for "+
-v.id+": "+G)}try{var p=a.getAttribute("style");null!=p&&f.model.setStyle(v,p)}catch(G){null!=window.console&&console.log("Error in style for "+v.id+": "+G)}try{var B=a.getAttribute("icon");if(null!=B){var u=0<B.length?JSON.parse(B):null;null!=u&&u.append||f.removeCellOverlays(v);null!=u&&f.addCellOverlay(v,c(u))}}catch(G){null!=window.console&&console.log("Error in icon for "+v.id+": "+G)}try{var z=a.getAttribute("geometry");if(null!=z){var z=JSON.parse(z),I=f.getCellGeometry(v);if(null!=I){I=I.clone();
-for(key in z){var C=parseFloat(z[key]);"dx"==key?I.x+=C:"dy"==key?I.y+=C:"dw"==key?I.width+=C:"dh"==key?I.height+=C:I[key]=parseFloat(z[key])}f.model.setGeometry(v,I)}}}catch(G){null!=window.console&&console.log("Error in icon for "+v.id+": "+G)}}}else if("model"==a.nodeName){for(var F=a.firstChild;null!=F&&F.nodeType!=mxConstants.NODETYPE_ELEMENT;)F=F.nextSibling;null!=F&&(new mxCodec(a.firstChild)).decode(F,g)}else if("view"==a.nodeName){if(a.hasAttribute("scale")&&(f.view.scale=parseFloat(a.getAttribute("scale"))),
-a.hasAttribute("dx")||a.hasAttribute("dy"))f.view.translate=new mxPoint(parseFloat(a.getAttribute("dx")||0),parseFloat(a.getAttribute("dy")||0))}else"fit"==a.nodeName&&(l=a.hasAttribute("max-scale")?parseFloat(a.getAttribute("max-scale")):1);a=a.nextSibling}}finally{g.endUpdate()}null!=l&&this.chromelessResize&&this.chromelessResize(!0,l)}return b};EditorUi.prototype.getCopyFilename=function(a,b){var c=null!=a&&null!=a.getTitle()?a.getTitle():this.defaultFilename,e="",d=c.lastIndexOf(".");0<=d&&(e=
-c.substring(d),c=c.substring(0,d));if(b)var f=new Date,d=f.getFullYear(),l=f.getMonth()+1,v=f.getDate(),t=f.getHours(),m=f.getMinutes(),f=f.getSeconds(),c=c+(" "+(d+"-"+l+"-"+v+"-"+t+"-"+m+"-"+f));return c=mxResources.get("copyOf",[c])+e};EditorUi.prototype.fileLoaded=function(a,b){var c=this.getCurrentFile();this.fileLoadedError=null;this.setCurrentFile(null);var e=!1;this.hideDialog();null!=c&&(EditorUi.debug("File.closed",[c]),c.removeListener(this.descriptorChangedListener),c.close());this.editor.graph.model.clear();
-this.editor.undoManager.clear();var d=mxUtils.bind(this,function(){this.setGraphEnabled(!1);this.setCurrentFile(null);null!=c&&this.updateDocumentTitle();this.editor.graph.model.clear();this.editor.undoManager.clear();this.setBackgroundImage(null);!b&&null!=window.location.hash&&0<window.location.hash.length&&(window.location.hash="");null!=this.fname&&(this.fnameWrapper.style.display="none",this.fname.innerHTML="",this.fname.setAttribute("title",mxResources.get("rename")));this.editor.setStatus("");
+EditorUi.drawHost+'/images/drawlogo128.png"/></a>')+"\n</body>\n</html>\n"};EditorUi.prototype.setFileData=function(a){a=this.validateFileData(a);this.pages=this.fileNode=this.currentPage=null;a=null!=a&&0<a.length?mxUtils.parseXml(a).documentElement:null;var d=Editor.extractParserError(a,mxResources.get("invalidOrMissingFile"));if(d)throw Error(d);d=null!=a?this.editor.extractGraphModel(a,!0):null;null!=d&&(a=d);if(null!=a&&"mxfile"==a.nodeName&&(d=a.getElementsByTagName("diagram"),"0"!=urlParams.pages||
+1<d.length||1==d.length&&d[0].hasAttribute("name"))){var b=null;this.fileNode=a;this.pages=[];for(var c=0;c<d.length;c++)null==d[c].getAttribute("id")&&d[c].setAttribute("id",c),a=new DiagramPage(d[c]),null==a.getName()&&a.setName(mxResources.get("pageWithNumber",[c+1])),this.pages.push(a),null!=urlParams["page-id"]&&a.getId()==urlParams["page-id"]&&(b=a);this.currentPage=null!=b?b:this.pages[Math.max(0,Math.min(this.pages.length-1,urlParams.page||0))];a=this.currentPage.node}"0"!=urlParams.pages&&
+null==this.fileNode&&null!=a&&(this.fileNode=a.ownerDocument.createElement("mxfile"),this.currentPage=new DiagramPage(a.ownerDocument.createElement("diagram")),this.currentPage.setName(mxResources.get("pageWithNumber",[1])),this.pages=[this.currentPage]);this.editor.setGraphXml(a);null!=this.currentPage&&(this.currentPage.root=this.editor.graph.model.root);if(null!=urlParams["layer-ids"])try{var e=urlParams["layer-ids"].split(" ");a={};for(c=0;c<e.length;c++)a[e[c]]=!0;for(var g=this.editor.graph.getModel(),
+l=g.getChildren(g.root),c=0;c<l.length;c++){var v=l[c];g.setVisible(v,a[v.id]||!1)}}catch(t){}};EditorUi.prototype.getBaseFilename=function(a){var d=this.getCurrentFile(),d=null!=d&&null!=d.getTitle()?d.getTitle():this.defaultFilename;if(/(\.xml)$/i.test(d)||/(\.html)$/i.test(d)||/(\.svg)$/i.test(d)||/(\.png)$/i.test(d)||/(\.drawio)$/i.test(d))d=d.substring(0,d.lastIndexOf("."));!a&&null!=this.pages&&1<this.pages.length&&null!=this.currentPage&&null!=this.currentPage.node.getAttribute("name")&&0<
+this.currentPage.getName().length&&(d=d+"-"+this.currentPage.getName());return d};EditorUi.prototype.downloadFile=function(a,b,c,e,n,g,l,v,t,m,y){try{e=null!=e?e:this.editor.graph.isSelectionEmpty();var d=this.getBaseFilename(!n),f=d+"."+a;if("xml"==a){var k='<?xml version="1.0" encoding="UTF-8"?>\n'+this.getFileData(!0,null,null,null,e,n,null,null,null,b);this.saveData(f,a,k,"text/xml")}else if("html"==a)k=this.getHtml2(this.getFileData(!0),this.editor.graph,d),this.saveData(f,a,k,"text/html");else if("svg"!=
+a&&"xmlsvg"!=a||!this.spinner.spin(document.body,mxResources.get("export")))"xmlpng"==a?f=d+".png":"jpeg"==a&&(f=d+".jpg"),this.saveRequest(f,a,mxUtils.bind(this,function(d,b){try{var c=this.editor.graph.pageVisible;null!=g&&(this.editor.graph.pageVisible=g);var f=this.createDownloadRequest(d,a,e,b,l,n,v,t,m,y);this.editor.graph.pageVisible=c;return f}catch(aa){this.handleError(aa)}}));else{var x=null,A=mxUtils.bind(this,function(a){a.length<=MAX_REQUEST_SIZE?this.saveData(f,"svg",a,"image/svg+xml"):
+this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(x)}))});if("svg"==a){var q=this.editor.graph.background;if(l||q==mxConstants.NONE)q=null;var E=this.editor.graph.getSvg(q,null,null,null,null,e);c&&this.editor.graph.addSvgShadow(E);this.convertImages(E,mxUtils.bind(this,mxUtils.bind(this,function(a){this.spinner.stop();A('<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n'+
+mxUtils.getXml(a))})))}else f=d+".svg",x=this.getFileData(!1,!0,null,mxUtils.bind(this,function(a){this.spinner.stop();A(a)}),e)}}catch(F){this.handleError(F)}};EditorUi.prototype.createDownloadRequest=function(a,b,c,e,n,g,l,v,t,m){var d=this.editor.graph,f=d.getGraphBounds();c=this.getFileData(!0,null,null,null,c,0==g?!1:"xmlpng"!=b);var k="",x="";if(f.width*f.height>MAX_AREA||c.length>MAX_REQUEST_SIZE)throw{message:mxResources.get("drawingTooLarge")};m=m?"1":"0";"pdf"==b&&0==g&&(x="&allPages=1");
+if("xmlpng"==b&&(m="1",b="png",null!=this.pages&&null!=this.currentPage))for(g=0;g<this.pages.length;g++)if(this.pages[g]==this.currentPage){k="&from="+g;break}g=d.background;"png"==b&&n?g=mxConstants.NONE:n||null!=g&&g!=mxConstants.NONE||(g="#ffffff");n={globalVars:d.getExportVariables()};t&&(n.grid={size:d.gridSize,steps:d.view.gridSteps,color:d.view.gridColor});return new mxXmlRequest(EXPORT_URL,"format="+b+k+x+"&bg="+(null!=g?g:mxConstants.NONE)+"&base64="+e+"&embedXml="+m+"&xml="+encodeURIComponent(c)+
+(null!=a?"&filename="+encodeURIComponent(a):"")+"&extras="+encodeURIComponent(JSON.stringify(n))+(null!=l?"&scale="+l:"")+(null!=v?"&border="+v:""))};EditorUi.prototype.setMode=function(a,b){this.mode=a};EditorUi.prototype.loadDescriptor=function(a,b,c){var d=window.location.hash,f=mxUtils.bind(this,function(c){var f=null!=a.data?a.data:"";null!=c&&0<c.length&&(0<f.length&&(f+="\n"),f+=c);c=new LocalFile(this,"csv"!=a.format&&0<f.length?f:this.emptyDiagramXml,null!=urlParams.title?decodeURIComponent(urlParams.title):
+this.defaultFilename,!0);c.getHash=function(){return d};this.fileLoaded(c);"csv"==a.format&&this.importCsv(f,mxUtils.bind(this,function(a){this.editor.undoManager.clear();this.editor.setModified(!1);this.editor.setStatus("")}));if(null!=a.update){var k=null!=a.interval?parseInt(a.interval):6E4,g=null,e=mxUtils.bind(this,function(){var d=this.currentPage;mxUtils.post(a.update,"xml="+encodeURIComponent(mxUtils.getXml(this.editor.getGraphXml())),mxUtils.bind(this,function(a){d===this.currentPage&&(200<=
+a.getStatus()&&300>=a.getStatus()?(this.updateDiagram(a.getText()),n()):this.handleError({message:mxResources.get("error")+" "+a.getStatus()}))}),mxUtils.bind(this,function(a){this.handleError(a)}))}),n=mxUtils.bind(this,function(){window.clearTimeout(g);g=window.setTimeout(e,k)});this.editor.addListener("pageSelected",mxUtils.bind(this,function(){n();e()}));n();e()}null!=b&&b()});if(null!=a.url&&0<a.url.length){var k=a.url;/^https?:\/\//.test(k)&&!this.editor.isCorsEnabledForUrl(k)&&(k=PROXY_URL+
+"?url="+encodeURIComponent(k));this.loadUrl(k,mxUtils.bind(this,function(a){f(a)}),mxUtils.bind(this,function(a){null!=c&&c(a)}))}else f("")};EditorUi.prototype.updateDiagram=function(a){function d(a){var d=new mxCellOverlay(a.image||e.warningImage,a.tooltip,a.align,a.valign,a.offset);d.addListener(mxEvent.CLICK,function(d,b){c.alert(a.tooltip)});return d}var b=null,c=this;if(null!=a&&0<a.length&&(b=mxUtils.parseXml(a),a=null!=b?b.documentElement:null,null!=a&&"updates"==a.nodeName)){var e=this.editor.graph,
+g=e.getModel();g.beginUpdate();var l=null;try{for(a=a.firstChild;null!=a;){if("update"==a.nodeName){var v=g.getCell(a.getAttribute("id"));if(null!=v){try{var t=a.getAttribute("value");if(null!=t){var m=mxUtils.parseXml(t).documentElement;if(null!=m)if("1"==m.getAttribute("replace-value"))g.setValue(v,m);else for(var y=m.attributes,q=0;q<y.length;q++)e.setAttributeForCell(v,y[q].nodeName,0<y[q].nodeValue.length?y[q].nodeValue:null)}}catch(G){null!=window.console&&console.log("Error in value for "+
+v.id+": "+G)}try{var p=a.getAttribute("style");null!=p&&e.model.setStyle(v,p)}catch(G){null!=window.console&&console.log("Error in style for "+v.id+": "+G)}try{var B=a.getAttribute("icon");if(null!=B){var u=0<B.length?JSON.parse(B):null;null!=u&&u.append||e.removeCellOverlays(v);null!=u&&e.addCellOverlay(v,d(u))}}catch(G){null!=window.console&&console.log("Error in icon for "+v.id+": "+G)}try{var z=a.getAttribute("geometry");if(null!=z){var z=JSON.parse(z),I=e.getCellGeometry(v);if(null!=I){I=I.clone();
+for(key in z){var C=parseFloat(z[key]);"dx"==key?I.x+=C:"dy"==key?I.y+=C:"dw"==key?I.width+=C:"dh"==key?I.height+=C:I[key]=parseFloat(z[key])}e.model.setGeometry(v,I)}}}catch(G){null!=window.console&&console.log("Error in icon for "+v.id+": "+G)}}}else if("model"==a.nodeName){for(var F=a.firstChild;null!=F&&F.nodeType!=mxConstants.NODETYPE_ELEMENT;)F=F.nextSibling;null!=F&&(new mxCodec(a.firstChild)).decode(F,g)}else if("view"==a.nodeName){if(a.hasAttribute("scale")&&(e.view.scale=parseFloat(a.getAttribute("scale"))),
+a.hasAttribute("dx")||a.hasAttribute("dy"))e.view.translate=new mxPoint(parseFloat(a.getAttribute("dx")||0),parseFloat(a.getAttribute("dy")||0))}else"fit"==a.nodeName&&(l=a.hasAttribute("max-scale")?parseFloat(a.getAttribute("max-scale")):1);a=a.nextSibling}}finally{g.endUpdate()}null!=l&&this.chromelessResize&&this.chromelessResize(!0,l)}return b};EditorUi.prototype.getCopyFilename=function(a,b){var d=null!=a&&null!=a.getTitle()?a.getTitle():this.defaultFilename,c="",f=d.lastIndexOf(".");0<=f&&(c=
+d.substring(f),d=d.substring(0,f));if(b)var e=new Date,f=e.getFullYear(),l=e.getMonth()+1,v=e.getDate(),t=e.getHours(),m=e.getMinutes(),e=e.getSeconds(),d=d+(" "+(f+"-"+l+"-"+v+"-"+t+"-"+m+"-"+e));return d=mxResources.get("copyOf",[d])+c};EditorUi.prototype.fileLoaded=function(a,b){var d=this.getCurrentFile();this.fileLoadedError=null;this.setCurrentFile(null);var c=!1;this.hideDialog();null!=d&&(EditorUi.debug("File.closed",[d]),d.removeListener(this.descriptorChangedListener),d.close());this.editor.graph.model.clear();
+this.editor.undoManager.clear();var f=mxUtils.bind(this,function(){this.setGraphEnabled(!1);this.setCurrentFile(null);null!=d&&this.updateDocumentTitle();this.editor.graph.model.clear();this.editor.undoManager.clear();this.setBackgroundImage(null);!b&&null!=window.location.hash&&0<window.location.hash.length&&(window.location.hash="");null!=this.fname&&(this.fnameWrapper.style.display="none",this.fname.innerHTML="",this.fname.setAttribute("title",mxResources.get("rename")));this.editor.setStatus("");
 this.updateUi();b||this.showSplash()});if(null!=a)try{mxClient.IS_SF&&"min"==uiTheme&&(this.diagramContainer.style.visibility="");this.openingFile=!0;this.setCurrentFile(a);a.addListener("descriptorChanged",this.descriptorChangedListener);a.addListener("contentChanged",this.descriptorChangedListener);a.open();delete this.openingFile;this.setGraphEnabled(!0);this.setMode(a.getMode());this.editor.graph.model.prefix=Editor.guid()+"-";this.editor.undoManager.clear();this.descriptorChanged();this.updateUi();
 a.isEditable()?a.isModified()?(a.addUnsavedStatus(),null!=a.backupPatch&&a.patch([a.backupPatch])):this.editor.setStatus(""):this.editor.setStatus('<span class="geStatusAlert" style="margin-left:8px;">'+mxUtils.htmlEntities(mxResources.get("readOnly"))+"</span>");!this.editor.isChromelessView()||this.editor.editable?(this.editor.graph.selectUnlockedLayer(),this.showLayersDialog(),this.restoreLibraries(),window.self!==window.top&&window.focus()):this.editor.graph.isLightboxView()&&this.lightboxFit();
-this.chromelessResize&&this.chromelessResize();this.editor.fireEvent(new mxEventObject("fileLoaded"));e=!0;this.isOffline()||null==a.getMode()||EditorUi.logEvent({category:a.getMode().toUpperCase()+"-OPEN-FILE-"+a.getHash(),action:"size_"+a.getSize(),label:"autosave_"+(this.editor.autosave?"on":"off")});EditorUi.debug("File.opened",[a]);if(this.editor.editable&&this.mode==a.getMode()&&a.getMode()!=App.MODE_DEVICE&&null!=a.getMode())try{this.addRecent({id:a.getHash(),title:a.getTitle(),mode:a.getMode()})}catch(A){}try{mxSettings.setOpenCounter(mxSettings.getOpenCounter()+
+this.chromelessResize&&this.chromelessResize();this.editor.fireEvent(new mxEventObject("fileLoaded"));c=!0;this.isOffline()||null==a.getMode()||EditorUi.logEvent({category:a.getMode().toUpperCase()+"-OPEN-FILE-"+a.getHash(),action:"size_"+a.getSize(),label:"autosave_"+(this.editor.autosave?"on":"off")});EditorUi.debug("File.opened",[a]);if(this.editor.editable&&this.mode==a.getMode()&&a.getMode()!=App.MODE_DEVICE&&null!=a.getMode())try{this.addRecent({id:a.getHash(),title:a.getTitle(),mode:a.getMode()})}catch(A){}try{mxSettings.setOpenCounter(mxSettings.getOpenCounter()+
 1),mxSettings.save()}catch(A){}}catch(A){this.fileLoadedError=A;null!=window.console&&(console.error(A),console.log("error in fileLoaded:",a,A));if(EditorUi.enableLogging&&!this.isOffline())try{(new Image).src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?v="+encodeURIComponent(EditorUi.VERSION)+"&msg=errorInFileLoaded:url:"+encodeURIComponent(window.location.href)+(null!=A&&null!=A.message?":err:"+encodeURIComponent(A.message):"")+(null!=A&&null!=A.stack?"&stack="+encodeURIComponent(A.stack):
-"")}catch(v){}var f=mxUtils.bind(this,function(){null!=urlParams.url&&this.spinner.spin(document.body,mxResources.get("reconnecting"))?window.location.search=this.getSearch(["url"]):null!=c?this.fileLoaded(c):d()});b?f():this.handleError(A,mxResources.get("errorLoadingFile"),f,!0)}else d();return e};EditorUi.prototype.getHashValueForPages=function(a,b){var c=0,e=new mxGraphModel,d=new mxCodec;null!=b&&(b.byteCount=0,b.attrCount=0,b.eltCount=0,b.nodeCount=0);for(var f=0;f<a.length;f++){this.updatePageRoot(a[f]);
-var l=a[f].node.cloneNode(!1);l.removeAttribute("name");e.root=a[f].root;var v=d.encode(e);this.editor.graph.saveViewState(a[f].viewState,v,!0);v.removeAttribute("pageWidth");v.removeAttribute("pageHeight");l.appendChild(v);null!=b&&(b.eltCount+=l.getElementsByTagName("*").length,b.nodeCount+=l.getElementsByTagName("mxCell").length);c=(c<<5)-c+this.hashValue(l,function(a,c,b,e){return!e||"mxGeometry"!=a.nodeName&&"mxPoint"!=a.nodeName||"x"!=c&&"y"!=c&&"width"!=c&&"height"!=c?e&&"mxCell"==a.nodeName&&
-"previous"==c?null:b:Math.round(b)},b)<<0}return c};EditorUi.prototype.hashValue=function(a,b,d){var c=0;if(null!=a&&"object"===typeof a&&"number"===typeof a.nodeType&&"string"===typeof a.nodeName&&"function"===typeof a.getAttribute){null!=a.nodeName&&(c^=this.hashValue(a.nodeName,b,d));if(null!=a.attributes){null!=d&&(d.attrCount+=a.attributes.length);for(var e=0;e<a.attributes.length;e++){var k=a.attributes[e].name,f=null!=b?b(a,k,a.attributes[e].value,!0):a.attributes[e].value;null!=f&&(c^=this.hashValue(k,
-b,d)+this.hashValue(f,b,d))}}if(null!=a.childNodes)for(e=0;e<a.childNodes.length;e++)c=(c<<5)-c+this.hashValue(a.childNodes[e],b,d)<<0}else if(null!=a&&"function"!==typeof a){a=String(a);b=0;null!=d&&(d.byteCount+=a.length);for(e=0;e<a.length;e++)b=(b<<5)-b+a.charCodeAt(e)<<0;c^=b}return c};EditorUi.prototype.descriptorChanged=function(){};EditorUi.prototype.restoreLibraries=function(){};EditorUi.prototype.saveLibrary=function(a,b,d,f,n,g,l){};EditorUi.prototype.isScratchpadEnabled=function(){return isLocalStorage||
-mxClient.IS_CHROMEAPP};EditorUi.prototype.toggleScratchpad=function(){this.isScratchpadEnabled()&&(null==this.scratchpad?this.getLocalData(".scratchpad",mxUtils.bind(this,function(a){null==a&&(a=this.emptyLibraryXml);this.loadLibrary(new StorageLibrary(this,a,".scratchpad"))})):this.closeLibrary(this.scratchpad))};EditorUi.prototype.createLibraryDataFromImages=function(a){var c=mxUtils.createXmlDocument(),b=c.createElement("mxlibrary");mxUtils.setTextContent(b,JSON.stringify(a));c.appendChild(b);
-return mxUtils.getXml(c)};EditorUi.prototype.closeLibrary=function(a){null!=a&&(this.removeLibrarySidebar(a.getHash()),a.constructor!=LocalLibrary&&mxSettings.removeCustomLibrary(a.getHash()),".scratchpad"==a.title&&(this.scratchpad=null))};EditorUi.prototype.removeLibrarySidebar=function(a){var c=this.sidebar.palettes[a];if(null!=c){for(var b=0;b<c.length;b++)c[b].parentNode.removeChild(c[b]);delete this.sidebar.palettes[a]}};EditorUi.prototype.repositionLibrary=function(a){var c=this.sidebar.container;
-if(null==a){var b=this.sidebar.palettes["L.scratchpad"];null==b&&(b=this.sidebar.palettes.search);null!=b&&(a=b[b.length-1].nextSibling)}a=null!=a?a:c.firstChild.nextSibling.nextSibling;var b=c.lastChild,d=b.previousSibling;c.insertBefore(b,a);c.insertBefore(d,b)};EditorUi.prototype.loadLibrary=function(a){var c=mxUtils.parseXml(a.getData());if("mxlibrary"==c.documentElement.nodeName){var b=JSON.parse(mxUtils.getTextContent(c.documentElement));this.libraryLoaded(a,b,c.documentElement.getAttribute("title"))}else throw{message:mxResources.get("notALibraryFile")};
-};EditorUi.prototype.getLibraryStorageHint=function(a){return""};EditorUi.prototype.libraryLoaded=function(a,b,d){if(null!=this.sidebar){a.constructor!=LocalLibrary&&mxSettings.addCustomLibrary(a.getHash());".scratchpad"==a.title&&(this.scratchpad=a);var c=this.sidebar.palettes[a.getHash()],c=null!=c?c[c.length-1].nextSibling:null;this.removeLibrarySidebar(a.getHash());var e=null,k=mxUtils.bind(this,function(c,b){0==c.length&&a.isEditable()?(null==e&&(e=document.createElement("div"),e.className="geDropTarget",
-mxUtils.write(e,mxResources.get("dragElementsHere"))),b.appendChild(e)):this.addLibraryEntries(c,b)});null!=this.sidebar&&null!=b&&this.sidebar.addEntries(b);d=null!=d&&0<d.length?d:a.getTitle();var f=this.sidebar.addPalette(a.getHash(),d,!0,mxUtils.bind(this,function(a){k(b,a)}));this.repositionLibrary(c);var l=f.parentNode.previousSibling;d=l.getAttribute("title");null!=d&&0<d.length&&".scratchpad"!=a.title&&l.setAttribute("title",this.getLibraryStorageHint(a)+"\n"+d);var t=document.createElement("div");
+"")}catch(v){}var e=mxUtils.bind(this,function(){null!=urlParams.url&&this.spinner.spin(document.body,mxResources.get("reconnecting"))?window.location.search=this.getSearch(["url"]):null!=d?this.fileLoaded(d):f()});b?e():this.handleError(A,mxResources.get("errorLoadingFile"),e,!0)}else f();return c};EditorUi.prototype.getHashValueForPages=function(a,b){var d=0,c=new mxGraphModel,f=new mxCodec;null!=b&&(b.byteCount=0,b.attrCount=0,b.eltCount=0,b.nodeCount=0);for(var e=0;e<a.length;e++){this.updatePageRoot(a[e]);
+var l=a[e].node.cloneNode(!1);l.removeAttribute("name");c.root=a[e].root;var v=f.encode(c);this.editor.graph.saveViewState(a[e].viewState,v,!0);v.removeAttribute("pageWidth");v.removeAttribute("pageHeight");l.appendChild(v);null!=b&&(b.eltCount+=l.getElementsByTagName("*").length,b.nodeCount+=l.getElementsByTagName("mxCell").length);d=(d<<5)-d+this.hashValue(l,function(a,d,b,c){return!c||"mxGeometry"!=a.nodeName&&"mxPoint"!=a.nodeName||"x"!=d&&"y"!=d&&"width"!=d&&"height"!=d?c&&"mxCell"==a.nodeName&&
+"previous"==d?null:b:Math.round(b)},b)<<0}return d};EditorUi.prototype.hashValue=function(a,b,c){var d=0;if(null!=a&&"object"===typeof a&&"number"===typeof a.nodeType&&"string"===typeof a.nodeName&&"function"===typeof a.getAttribute){null!=a.nodeName&&(d^=this.hashValue(a.nodeName,b,c));if(null!=a.attributes){null!=c&&(c.attrCount+=a.attributes.length);for(var f=0;f<a.attributes.length;f++){var k=a.attributes[f].name,e=null!=b?b(a,k,a.attributes[f].value,!0):a.attributes[f].value;null!=e&&(d^=this.hashValue(k,
+b,c)+this.hashValue(e,b,c))}}if(null!=a.childNodes)for(f=0;f<a.childNodes.length;f++)d=(d<<5)-d+this.hashValue(a.childNodes[f],b,c)<<0}else if(null!=a&&"function"!==typeof a){a=String(a);b=0;null!=c&&(c.byteCount+=a.length);for(f=0;f<a.length;f++)b=(b<<5)-b+a.charCodeAt(f)<<0;d^=b}return d};EditorUi.prototype.descriptorChanged=function(){};EditorUi.prototype.restoreLibraries=function(){};EditorUi.prototype.saveLibrary=function(a,b,c,e,n,g,l){};EditorUi.prototype.isScratchpadEnabled=function(){return isLocalStorage||
+mxClient.IS_CHROMEAPP};EditorUi.prototype.toggleScratchpad=function(){this.isScratchpadEnabled()&&(null==this.scratchpad?this.getLocalData(".scratchpad",mxUtils.bind(this,function(a){null==a&&(a=this.emptyLibraryXml);this.loadLibrary(new StorageLibrary(this,a,".scratchpad"))})):this.closeLibrary(this.scratchpad))};EditorUi.prototype.createLibraryDataFromImages=function(a){var d=mxUtils.createXmlDocument(),b=d.createElement("mxlibrary");mxUtils.setTextContent(b,JSON.stringify(a));d.appendChild(b);
+return mxUtils.getXml(d)};EditorUi.prototype.closeLibrary=function(a){null!=a&&(this.removeLibrarySidebar(a.getHash()),a.constructor!=LocalLibrary&&mxSettings.removeCustomLibrary(a.getHash()),".scratchpad"==a.title&&(this.scratchpad=null))};EditorUi.prototype.removeLibrarySidebar=function(a){var d=this.sidebar.palettes[a];if(null!=d){for(var b=0;b<d.length;b++)d[b].parentNode.removeChild(d[b]);delete this.sidebar.palettes[a]}};EditorUi.prototype.repositionLibrary=function(a){var d=this.sidebar.container;
+if(null==a){var b=this.sidebar.palettes["L.scratchpad"];null==b&&(b=this.sidebar.palettes.search);null!=b&&(a=b[b.length-1].nextSibling)}a=null!=a?a:d.firstChild.nextSibling.nextSibling;var b=d.lastChild,c=b.previousSibling;d.insertBefore(b,a);d.insertBefore(c,b)};EditorUi.prototype.loadLibrary=function(a){var d=mxUtils.parseXml(a.getData());if("mxlibrary"==d.documentElement.nodeName){var b=JSON.parse(mxUtils.getTextContent(d.documentElement));this.libraryLoaded(a,b,d.documentElement.getAttribute("title"))}else throw{message:mxResources.get("notALibraryFile")};
+};EditorUi.prototype.getLibraryStorageHint=function(a){return""};EditorUi.prototype.libraryLoaded=function(a,b,c){if(null!=this.sidebar){a.constructor!=LocalLibrary&&mxSettings.addCustomLibrary(a.getHash());".scratchpad"==a.title&&(this.scratchpad=a);var d=this.sidebar.palettes[a.getHash()],d=null!=d?d[d.length-1].nextSibling:null;this.removeLibrarySidebar(a.getHash());var f=null,k=mxUtils.bind(this,function(d,b){0==d.length&&a.isEditable()?(null==f&&(f=document.createElement("div"),f.className="geDropTarget",
+mxUtils.write(f,mxResources.get("dragElementsHere"))),b.appendChild(f)):this.addLibraryEntries(d,b)});null!=this.sidebar&&null!=b&&this.sidebar.addEntries(b);c=null!=c&&0<c.length?c:a.getTitle();var e=this.sidebar.addPalette(a.getHash(),c,!0,mxUtils.bind(this,function(a){k(b,a)}));this.repositionLibrary(d);var l=e.parentNode.previousSibling;c=l.getAttribute("title");null!=c&&0<c.length&&".scratchpad"!=a.title&&l.setAttribute("title",this.getLibraryStorageHint(a)+"\n"+c);var t=document.createElement("div");
 t.style.position="absolute";t.style.right="0px";t.style.top="0px";t.style.padding="8px";mxClient.IS_QUIRKS||8==document.documentMode||(t.style.backgroundColor="inherit");l.style.position="relative";var m=document.createElement("img");m.setAttribute("src",Dialog.prototype.closeImage);m.setAttribute("title",mxResources.get("close"));m.setAttribute("valign","absmiddle");m.setAttribute("border","0");m.style.cursor="pointer";m.style.margin="0 3px";var y=null;if(".scratchpad"!=a.title||this.closableScratchpad)t.appendChild(m),
-mxEvent.addListener(m,"click",mxUtils.bind(this,function(c){if(!mxEvent.isConsumed(c)){var b=mxUtils.bind(this,function(){this.closeLibrary(a)});null!=y?this.confirm(mxResources.get("allChangesLost"),null,b,mxResources.get("cancel"),mxResources.get("discardChanges")):b();mxEvent.consume(c)}}));if(a.isEditable()){var q=this.editor.graph,p=null,B=mxUtils.bind(this,function(c){this.showLibraryDialog(a.getTitle(),f,b,a,a.getMode());mxEvent.consume(c)}),u=mxUtils.bind(this,function(c){a.setModified(!0);
+mxEvent.addListener(m,"click",mxUtils.bind(this,function(d){if(!mxEvent.isConsumed(d)){var b=mxUtils.bind(this,function(){this.closeLibrary(a)});null!=y?this.confirm(mxResources.get("allChangesLost"),null,b,mxResources.get("cancel"),mxResources.get("discardChanges")):b();mxEvent.consume(d)}}));if(a.isEditable()){var q=this.editor.graph,p=null,B=mxUtils.bind(this,function(d){this.showLibraryDialog(a.getTitle(),e,b,a,a.getMode());mxEvent.consume(d)}),u=mxUtils.bind(this,function(d){a.setModified(!0);
 a.isAutosave()?(null!=p&&null!=p.parentNode&&p.parentNode.removeChild(p),p=m.cloneNode(!1),p.setAttribute("src",Editor.spinImage),p.setAttribute("title",mxResources.get("saving")),p.style.cursor="default",p.style.marginRight="2px",p.style.marginTop="-2px",t.insertBefore(p,t.firstChild),l.style.paddingRight=18*t.childNodes.length+"px",this.saveLibrary(a.getTitle(),b,a,a.getMode(),!0,!0,function(){null!=p&&null!=p.parentNode&&(p.parentNode.removeChild(p),l.style.paddingRight=18*t.childNodes.length+
-"px")})):null==y&&(y=m.cloneNode(!1),y.setAttribute("src",IMAGE_PATH+"/download.png"),y.setAttribute("title",mxResources.get("save")),t.insertBefore(y,t.firstChild),mxEvent.addListener(y,"click",mxUtils.bind(this,function(c){this.saveLibrary(a.getTitle(),b,a,a.getMode(),a.constructor==LocalLibrary,!0,function(){null==y||a.isModified()||(l.style.paddingRight=18*t.childNodes.length+"px",y.parentNode.removeChild(y),y=null)});mxEvent.consume(c)})),l.style.paddingRight=18*t.childNodes.length+"px")}),z=
-mxUtils.bind(this,function(a,c,d,k){a=q.cloneCells(mxUtils.sortCells(q.model.getTopmostCells(a)));for(var g=0;g<a.length;g++){var n=q.getCellGeometry(a[g]);null!=n&&n.translate(-c.x,-c.y)}f.appendChild(this.sidebar.createVertexTemplateFromCells(a,c.width,c.height,k||"",!0,!1,!1));a={xml:Graph.compress(mxUtils.getXml(this.editor.graph.encodeCells(a))),w:c.width,h:c.height};null!=k&&(a.title=k);b.push(a);u(d);null!=e&&null!=e.parentNode&&0<b.length&&(e.parentNode.removeChild(e),e=null)}),I=mxUtils.bind(this,
-function(a){if(q.isSelectionEmpty())q.getRubberband().isActive()?(q.getRubberband().execute(a),q.getRubberband().reset()):this.showError(mxResources.get("error"),mxResources.get("nothingIsSelected"),mxResources.get("ok"));else{var c=q.getSelectionCells(),b=q.view.getBounds(c),d=q.view.scale;b.x/=d;b.y/=d;b.width/=d;b.height/=d;b.x-=q.view.translate.x;b.y-=q.view.translate.y;z(c,b)}mxEvent.consume(a)});mxEvent.addGestureListeners(f,function(){},mxUtils.bind(this,function(a){q.isMouseDown&&null!=q.panningManager&&
-null!=q.graphHandler.first&&(q.graphHandler.suspend(),null!=q.graphHandler.hint&&(q.graphHandler.hint.style.visibility="hidden"),f.style.backgroundColor="#f1f3f4",f.style.cursor="copy",q.panningManager.stop(),q.autoScroll=!1,mxEvent.consume(a))}),mxUtils.bind(this,function(a){q.isMouseDown&&null!=q.panningManager&&null!=q.graphHandler&&(f.style.backgroundColor="",f.style.cursor="default",this.sidebar.showTooltips=!0,q.panningManager.stop(),q.graphHandler.reset(),q.isMouseDown=!1,q.autoScroll=!0,I(a),
-mxEvent.consume(a))}));mxEvent.addListener(f,"mouseleave",mxUtils.bind(this,function(a){q.isMouseDown&&null!=q.graphHandler.first&&(q.graphHandler.resume(),null!=q.graphHandler.hint&&(q.graphHandler.hint.style.visibility="visible"),f.style.backgroundColor="",f.style.cursor="",q.autoScroll=!0)}));Graph.fileSupport&&(mxEvent.addListener(f,"dragover",mxUtils.bind(this,function(a){f.style.backgroundColor="#f1f3f4";a.dataTransfer.dropEffect="copy";f.style.cursor="copy";this.sidebar.hideTooltip();a.stopPropagation();
-a.preventDefault()})),mxEvent.addListener(f,"drop",mxUtils.bind(this,function(a){f.style.cursor="";f.style.backgroundColor="";0<a.dataTransfer.files.length&&this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,mxUtils.bind(this,function(c,d,g,n,l,t,x,p,v){if(null!=c&&"image/"==d.substring(0,6))c="shape=image;verticalLabelPosition=bottom;verticalAlign=top;aspect=fixed;image="+this.convertDataUri(c),c=[new mxCell("",new mxGeometry(0,0,l,t),c)],c[0].vertex=!0,z(c,new mxRectangle(0,0,l,t),a,mxEvent.isAltDown(a)?
-null:x.substring(0,x.lastIndexOf(".")).replace(/_/g," ")),null!=e&&null!=e.parentNode&&0<b.length&&(e.parentNode.removeChild(e),e=null);else{var y=!1,A=mxUtils.bind(this,function(c,d){if(null!=c&&"application/pdf"==d){var g=Editor.extractGraphModelFromPdf(c);null!=g&&0<g.length&&(d="text/xml",c=g)}if(null!=c&&"text/xml"==d)if(g=mxUtils.parseXml(c),"mxlibrary"==g.documentElement.nodeName)try{var n=JSON.parse(mxUtils.getTextContent(g.documentElement));k(n,f);b=b.concat(n);u(a);this.spinner.stop();y=
-!0}catch(M){}else if("mxfile"==g.documentElement.nodeName)try{for(var l=g.documentElement.getElementsByTagName("diagram"),n=0;n<l.length;n++){var t=this.stringToCells(Editor.getDiagramNodeXml(l[n])),x=this.editor.graph.getBoundingBoxFromGeometry(t);z(t,new mxRectangle(0,0,x.width,x.height),a)}y=!0}catch(M){null!=window.console&&console.log("error in drop handler:",M)}y||(this.spinner.stop(),this.handleError({message:mxResources.get("errorLoadingFile")}));null!=e&&null!=e.parentNode&&0<b.length&&(e.parentNode.removeChild(e),
-e=null)});null!=v&&null!=x&&(/(\.v(dx|sdx?))($|\?)/i.test(x)||/(\.vs(x|sx?))($|\?)/i.test(x))?this.importVisio(v,function(a){A(a,"text/xml")},null,x):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(c,x)&&null!=v?this.parseFile(v,mxUtils.bind(this,function(a){4==a.readyState&&(this.spinner.stop(),200<=a.status&&299>=a.status?A(a.responseText,"text/xml"):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge":"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))})):
-A(c,d)}}));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(f,"dragleave",function(a){f.style.cursor="";f.style.backgroundColor="";a.stopPropagation();a.preventDefault()}));m=m.cloneNode(!1);m.setAttribute("src",Editor.editImage);m.setAttribute("title",mxResources.get("edit"));t.insertBefore(m,t.firstChild);mxEvent.addListener(m,"click",B);mxEvent.addListener(f,"dblclick",function(a){mxEvent.getSource(a)==f&&B(a)});d=m.cloneNode(!1);d.setAttribute("src",Editor.plusImage);d.setAttribute("title",
-mxResources.get("add"));t.insertBefore(d,t.firstChild);mxEvent.addListener(d,"click",I);this.isOffline()||".scratchpad"!=a.title||null==EditorUi.scratchpadHelpLink||(d=document.createElement("span"),d.setAttribute("title",mxResources.get("help")),d.style.cssText="color:#a3a3a3;text-decoration:none;margin-right:2px;",mxUtils.write(d,"?"),mxEvent.addGestureListeners(d,mxUtils.bind(this,function(a){this.openLink(EditorUi.scratchpadHelpLink);mxEvent.consume(a)})),t.insertBefore(d,t.firstChild))}l.appendChild(t);
-l.style.paddingRight=18*t.childNodes.length+"px"}};EditorUi.prototype.addLibraryEntries=function(a,b){for(var c=0;c<a.length;c++){var d=a[c],e=d.data;if(null!=e){var e=this.convertDataUri(e),f="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";"fixed"==d.aspect&&(f+="aspect=fixed;");b.appendChild(this.sidebar.createVertexTemplate(f+"image="+e,d.w,d.h,"",d.title||"",!1,!1,!0))}else null!=d.xml&&(e=this.stringToCells(Graph.decompress(d.xml)),0<e.length&&b.appendChild(this.sidebar.createVertexTemplateFromCells(e,
-d.w,d.h,d.title||"",!0,!1,!0)))}};EditorUi.prototype.getResource=function(a){return null!=a?a[mxLanguage]||a.main:null};EditorUi.prototype.footerHeight=0;"1"==urlParams.offline||EditorUi.isElectronApp||("1"==urlParams.savesidebar&&(Sidebar.prototype.thumbWidth=64,Sidebar.prototype.thumbHeight=64),EditorUi.prototype.createFooter=function(){return document.getElementById("geFooter")});EditorUi.initTheme=function(){"atlas"==uiTheme?(mxClient.link("stylesheet",STYLE_PATH+"/atlas.css"),"undefined"!==typeof Toolbar&&
+"px")})):null==y&&(y=m.cloneNode(!1),y.setAttribute("src",IMAGE_PATH+"/download.png"),y.setAttribute("title",mxResources.get("save")),t.insertBefore(y,t.firstChild),mxEvent.addListener(y,"click",mxUtils.bind(this,function(d){this.saveLibrary(a.getTitle(),b,a,a.getMode(),a.constructor==LocalLibrary,!0,function(){null==y||a.isModified()||(l.style.paddingRight=18*t.childNodes.length+"px",y.parentNode.removeChild(y),y=null)});mxEvent.consume(d)})),l.style.paddingRight=18*t.childNodes.length+"px")}),z=
+mxUtils.bind(this,function(a,d,c,k){a=q.cloneCells(mxUtils.sortCells(q.model.getTopmostCells(a)));for(var g=0;g<a.length;g++){var n=q.getCellGeometry(a[g]);null!=n&&n.translate(-d.x,-d.y)}e.appendChild(this.sidebar.createVertexTemplateFromCells(a,d.width,d.height,k||"",!0,!1,!1));a={xml:Graph.compress(mxUtils.getXml(this.editor.graph.encodeCells(a))),w:d.width,h:d.height};null!=k&&(a.title=k);b.push(a);u(c);null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null)}),I=mxUtils.bind(this,
+function(a){if(q.isSelectionEmpty())q.getRubberband().isActive()?(q.getRubberband().execute(a),q.getRubberband().reset()):this.showError(mxResources.get("error"),mxResources.get("nothingIsSelected"),mxResources.get("ok"));else{var d=q.getSelectionCells(),b=q.view.getBounds(d),c=q.view.scale;b.x/=c;b.y/=c;b.width/=c;b.height/=c;b.x-=q.view.translate.x;b.y-=q.view.translate.y;z(d,b)}mxEvent.consume(a)});mxEvent.addGestureListeners(e,function(){},mxUtils.bind(this,function(a){q.isMouseDown&&null!=q.panningManager&&
+null!=q.graphHandler.first&&(q.graphHandler.suspend(),null!=q.graphHandler.hint&&(q.graphHandler.hint.style.visibility="hidden"),e.style.backgroundColor="#f1f3f4",e.style.cursor="copy",q.panningManager.stop(),q.autoScroll=!1,mxEvent.consume(a))}),mxUtils.bind(this,function(a){q.isMouseDown&&null!=q.panningManager&&null!=q.graphHandler&&(e.style.backgroundColor="",e.style.cursor="default",this.sidebar.showTooltips=!0,q.panningManager.stop(),q.graphHandler.reset(),q.isMouseDown=!1,q.autoScroll=!0,I(a),
+mxEvent.consume(a))}));mxEvent.addListener(e,"mouseleave",mxUtils.bind(this,function(a){q.isMouseDown&&null!=q.graphHandler.first&&(q.graphHandler.resume(),null!=q.graphHandler.hint&&(q.graphHandler.hint.style.visibility="visible"),e.style.backgroundColor="",e.style.cursor="",q.autoScroll=!0)}));Graph.fileSupport&&(mxEvent.addListener(e,"dragover",mxUtils.bind(this,function(a){e.style.backgroundColor="#f1f3f4";a.dataTransfer.dropEffect="copy";e.style.cursor="copy";this.sidebar.hideTooltip();a.stopPropagation();
+a.preventDefault()})),mxEvent.addListener(e,"drop",mxUtils.bind(this,function(a){e.style.cursor="";e.style.backgroundColor="";0<a.dataTransfer.files.length&&this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,mxUtils.bind(this,function(d,c,g,n,l,t,x,p,v){if(null!=d&&"image/"==c.substring(0,6))d="shape=image;verticalLabelPosition=bottom;verticalAlign=top;aspect=fixed;image="+this.convertDataUri(d),d=[new mxCell("",new mxGeometry(0,0,l,t),d)],d[0].vertex=!0,z(d,new mxRectangle(0,0,l,t),a,mxEvent.isAltDown(a)?
+null:x.substring(0,x.lastIndexOf(".")).replace(/_/g," ")),null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null);else{var y=!1,A=mxUtils.bind(this,function(d,c){if(null!=d&&"application/pdf"==c){var g=Editor.extractGraphModelFromPdf(d);null!=g&&0<g.length&&(c="text/xml",d=g)}if(null!=d&&"text/xml"==c)if(g=mxUtils.parseXml(d),"mxlibrary"==g.documentElement.nodeName)try{var n=JSON.parse(mxUtils.getTextContent(g.documentElement));k(n,e);b=b.concat(n);u(a);this.spinner.stop();y=
+!0}catch(N){}else if("mxfile"==g.documentElement.nodeName)try{for(var l=g.documentElement.getElementsByTagName("diagram"),n=0;n<l.length;n++){var t=this.stringToCells(Editor.getDiagramNodeXml(l[n])),x=this.editor.graph.getBoundingBoxFromGeometry(t);z(t,new mxRectangle(0,0,x.width,x.height),a)}y=!0}catch(N){null!=window.console&&console.log("error in drop handler:",N)}y||(this.spinner.stop(),this.handleError({message:mxResources.get("errorLoadingFile")}));null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),
+f=null)});null!=v&&null!=x&&(/(\.v(dx|sdx?))($|\?)/i.test(x)||/(\.vs(x|sx?))($|\?)/i.test(x))?this.importVisio(v,function(a){A(a,"text/xml")},null,x):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(d,x)&&null!=v?this.parseFile(v,mxUtils.bind(this,function(a){4==a.readyState&&(this.spinner.stop(),200<=a.status&&299>=a.status?A(a.responseText,"text/xml"):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge":"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))})):
+A(d,c)}}));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(e,"dragleave",function(a){e.style.cursor="";e.style.backgroundColor="";a.stopPropagation();a.preventDefault()}));m=m.cloneNode(!1);m.setAttribute("src",Editor.editImage);m.setAttribute("title",mxResources.get("edit"));t.insertBefore(m,t.firstChild);mxEvent.addListener(m,"click",B);mxEvent.addListener(e,"dblclick",function(a){mxEvent.getSource(a)==e&&B(a)});c=m.cloneNode(!1);c.setAttribute("src",Editor.plusImage);c.setAttribute("title",
+mxResources.get("add"));t.insertBefore(c,t.firstChild);mxEvent.addListener(c,"click",I);this.isOffline()||".scratchpad"!=a.title||null==EditorUi.scratchpadHelpLink||(c=document.createElement("span"),c.setAttribute("title",mxResources.get("help")),c.style.cssText="color:#a3a3a3;text-decoration:none;margin-right:2px;",mxUtils.write(c,"?"),mxEvent.addGestureListeners(c,mxUtils.bind(this,function(a){this.openLink(EditorUi.scratchpadHelpLink);mxEvent.consume(a)})),t.insertBefore(c,t.firstChild))}l.appendChild(t);
+l.style.paddingRight=18*t.childNodes.length+"px"}};EditorUi.prototype.addLibraryEntries=function(a,b){for(var d=0;d<a.length;d++){var c=a[d],f=c.data;if(null!=f){var f=this.convertDataUri(f),e="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";"fixed"==c.aspect&&(e+="aspect=fixed;");b.appendChild(this.sidebar.createVertexTemplate(e+"image="+f,c.w,c.h,"",c.title||"",!1,!1,!0))}else null!=c.xml&&(f=this.stringToCells(Graph.decompress(c.xml)),0<f.length&&b.appendChild(this.sidebar.createVertexTemplateFromCells(f,
+c.w,c.h,c.title||"",!0,!1,!0)))}};EditorUi.prototype.getResource=function(a){return null!=a?a[mxLanguage]||a.main:null};EditorUi.prototype.footerHeight=0;"1"==urlParams.offline||EditorUi.isElectronApp||("1"==urlParams.savesidebar&&(Sidebar.prototype.thumbWidth=64,Sidebar.prototype.thumbHeight=64),EditorUi.prototype.createFooter=function(){return document.getElementById("geFooter")});EditorUi.initTheme=function(){"atlas"==uiTheme?(mxClient.link("stylesheet",STYLE_PATH+"/atlas.css"),"undefined"!==typeof Toolbar&&
 (Toolbar.prototype.unselectedBackground=mxClient.IS_QUIRKS?"none":"linear-gradient(rgb(255, 255, 255) 0px, rgb(242, 242, 242) 100%)",Toolbar.prototype.selectedBackground="rgb(242, 242, 242)"),Editor.prototype.initialTopSpacing=3,EditorUi.prototype.menubarHeight=41,EditorUi.prototype.toolbarHeight=38):"dark"==uiTheme&&(mxClient.link("stylesheet",STYLE_PATH+"/dark.css"),Dialog.backdropColor="#2a2a2a",Graph.prototype.defaultThemeName="darkTheme",Graph.prototype.defaultPageBackgroundColor="#2a2a2a",Graph.prototype.defaultPageBorderColor=
 "#505759",Format.prototype.inactiveTabBackgroundColor="black",BaseFormatPanel.prototype.buttonBackgroundColor="#2a2a2a",Sidebar.prototype.dragPreviewBorder="1px dashed #cccccc",mxGraphHandler.prototype.previewColor="#cccccc",StyleFormatPanel.prototype.defaultStrokeColor="#cccccc",mxClient.IS_SVG&&(Editor.helpImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAP1BMVEUAAAD///////////////////////////////////////////////////////////////////////////////9Du/pqAAAAFXRSTlMAT30qCJRBboyDZyCgRzUUdF46MJlgXETgAAAAeklEQVQY022O2w4DIQhEQUURda/9/28tUO2+7CQS5sgQ4F1RapX78YUwRqQjTU8ILqQfKerTKTvACJ4nLX3krt+8aS82oI8aQC4KavRgtvEW/mDvsICgA03PSGRr79MqX1YPNIxzjyqtw8ZnnRo4t5a5undtJYRywau+ds4Cyza3E6YAAAAASUVORK5CYII=",
 Editor.checkmarkImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAMAAACeyVWkAAAARVBMVEUAAACZmZkICAgEBASNjY2Dg4MYGBiTk5N5eXl1dXVmZmZQUFBCQkI3NzceHh4MDAykpKSJiYl+fn5sbGxaWlo/Pz8SEhK96uPlAAAAAXRSTlMAQObYZgAAAE5JREFUGNPFzTcSgDAQQ1HJGUfy/Y9K7V1qeOUfzQifCQZai1XHaz11LFysbDbzgDSSWMZiETz3+b8yNUc/MMsktxuC8XQBSncdLwz+8gCCggGXzBcozAAAAABJRU5ErkJggg=="))};EditorUi.initTheme();EditorUi.prototype.hideFooter=function(){var a=document.getElementById("geFooter");null!=a&&(this.footerHeight=0,a.style.display=
-"none",this.refresh())};EditorUi.prototype.showFooter=function(a){var c=document.getElementById("geFooter");null!=c&&(this.footerHeight=a,c.style.display="inline",this.refresh())};EditorUi.prototype.showImageDialog=function(a,b,d,f,n){a=new ImageDialog(this,a,b,d,f,n);this.showDialog(a.container,Graph.fileSupport?440:360,Graph.fileSupport?200:90,!0,!0);a.init()};EditorUi.prototype.showBackgroundImageDialog=function(a){a=null!=a?a:mxUtils.bind(this,function(a){a=new ChangePageSetup(this,null,a);a.ignoreColor=
-!0;this.editor.graph.model.execute(a)});var c=new BackgroundImageDialog(this,mxUtils.bind(this,function(c){a(c)}));this.showDialog(c.container,360,200,!0,!0);c.init()};EditorUi.prototype.showLibraryDialog=function(a,b,d,f,n){a=new LibraryDialog(this,a,b,d,f,n);this.showDialog(a.container,640,440,!0,!1,mxUtils.bind(this,function(a){a&&null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.showSplash()}));a.init()};var b=EditorUi.prototype.createFormat;EditorUi.prototype.createFormat=function(a){var c=
-b.apply(this,arguments);this.editor.graph.addListener("viewStateChanged",mxUtils.bind(this,function(a){this.editor.graph.isSelectionEmpty()&&c.refresh()}));return c};EditorUi.prototype.createSidebarFooterContainer=function(){var a=this.createDiv("geSidebarContainer geSidebarFooter");a.style.position="absolute";a.style.overflow="hidden";var b=document.createElement("a");b.className="geTitle";b.style.color="#DF6C0C";b.style.fontWeight="bold";b.style.height="100%";b.style.paddingTop="9px";b.innerHTML=
-'<span style="font-size:18px;margin-right:5px;">+</span>';mxUtils.write(b,mxResources.get("moreShapes")+"...");mxEvent.addListener(b,mxClient.IS_POINTER?"pointerdown":"mousedown",mxUtils.bind(this,function(a){a.preventDefault()}));mxEvent.addListener(b,"click",mxUtils.bind(this,function(a){this.actions.get("shapes").funct();mxEvent.consume(a)}));a.appendChild(b);return a};EditorUi.prototype.handleError=function(a,b,d,f,n,g){var c=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){},
-e=null!=a&&null!=a.error?a.error:a;if(null!=e||null!=b){var k=mxUtils.htmlEntities(mxResources.get("unknownError")),l=mxResources.get("ok"),x=null;b=null!=b?b:mxResources.get("error");if(null!=e){null!=e.retry&&(l=mxResources.get("cancel"),x=function(){c();e.retry()});if(404==e.code||404==e.status||403==e.code){var k=403==e.code?null!=e.message?mxUtils.htmlEntities(e.message):mxUtils.htmlEntities(mxResources.get("accessDenied")):null!=n?n:mxUtils.htmlEntities(mxResources.get("fileNotFoundOrDenied")+
-(null!=this.drive&&null!=this.drive.user?" ("+this.drive.user.displayName+", "+this.drive.user.email+")":"")),m=null!=g?g:window.location.hash;if(null!=m&&("#G"==m.substring(0,2)||"#Uhttps%3A%2F%2Fdrive.google.com%2Fuc%3Fid%3D"==m.substring(0,45))&&(null!=a&&null!=a.error&&(null!=a.error.errors&&0<a.error.errors.length&&"fileAccess"==a.error.errors[0].reason||null!=a.error.data&&0<a.error.data.length&&"fileAccess"==a.error.data[0].reason)||404==e.code||404==e.status)){m="#U"==m.substring(0,2)?m.substring(45,
-m.lastIndexOf("%26ex")):m.substring(2);this.showError(b,k,mxResources.get("openInNewWindow"),mxUtils.bind(this,function(){this.editor.graph.openLink("https://drive.google.com/open?id="+m);this.handleError(a,b,d,f,n)}),x,mxResources.get("changeUser"),mxUtils.bind(this,function(){function a(){e.innerHTML="";for(var a=0;a<c.length;a++){var b=document.createElement("option");mxUtils.write(b,c[a].displayName);b.value=a;e.appendChild(b);b=document.createElement("option");b.innerHTML="&nbsp;&nbsp;&nbsp;";
-mxUtils.write(b,"<"+c[a].email+">");b.setAttribute("disabled","disabled");e.appendChild(b)}b=document.createElement("option");mxUtils.write(b,mxResources.get("addAccount"));b.value=c.length;e.appendChild(b)}var c=this.drive.getUsersList(),b=document.createElement("div"),d=document.createElement("span");d.style.marginTop="6px";mxUtils.write(d,mxResources.get("changeUser")+": ");b.appendChild(d);var e=document.createElement("select");e.style.width="200px";a();mxEvent.addListener(e,"change",mxUtils.bind(this,
-function(){var b=e.value,d=c.length!=b;d&&this.drive.setUser(c[b]);this.drive.authorize(d,mxUtils.bind(this,function(){d||(c=this.drive.getUsersList(),a())}),mxUtils.bind(this,function(a){this.handleError(a)}),!0)}));b.appendChild(e);b=new CustomDialog(this,b,mxUtils.bind(this,function(){this.loadFile(window.location.hash.substr(1),!0)}));this.showDialog(b.container,300,75,!0,!0)}),mxResources.get("cancel"),mxUtils.bind(this,function(){this.hideDialog();null!=d&&d()}),480,150);return}}null!=e.message?
-k=mxUtils.htmlEntities(e.message):null!=e.response&&null!=e.response.error?k=mxUtils.htmlEntities(e.response.error):"undefined"!==typeof window.App&&(e.code==App.ERROR_TIMEOUT?k=mxUtils.htmlEntities(mxResources.get("timeout")):e.code==App.ERROR_BUSY&&(k=mxUtils.htmlEntities(mxResources.get("busy"))))}var p=g=null;null!=e&&null!=e.helpLink&&(g=mxResources.get("help"),p=mxUtils.bind(this,function(){return this.editor.graph.openLink(e.helpLink)}));this.showError(b,k,l,d,x,null,null,g,p,null,null,null,
-f?d:null)}else null!=d&&d()};EditorUi.prototype.alert=function(a,b){var c=new ErrorDialog(this,null,a,mxResources.get("ok"),b);this.showDialog(c.container,340,100,!0,!1);c.init()};EditorUi.prototype.confirm=function(a,b,d,f,n,g){var c=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){},e=Math.min(200,28*Math.ceil(a.length/50));a=new ConfirmDialog(this,a,function(){c();null!=b&&b()},function(){c();null!=d&&d()},f,n,null,null,null,null,e);this.showDialog(a.container,340,46+
-e,!0,g);a.init()};EditorUi.prototype.setCurrentFile=function(a){null!=a&&(a.opened=new Date);this.currentFile=a};EditorUi.prototype.getCurrentFile=function(){return this.currentFile};EditorUi.prototype.isExportToCanvas=function(){return this.editor.isExportToCanvas()};EditorUi.prototype.createSvgDataUri=function(a){return"data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent(a)))};EditorUi.prototype.createImageDataUri=function(a,b,d,f){var c=a.toDataURL("image/"+d);if(6>=c.length||c==a.cloneNode(!1).toDataURL("image/"+
-d))throw{message:"Invalid image"};null!=b&&(c=this.writeGraphModelToPng(c,"tEXt","mxfile",encodeURIComponent(b)));0<f&&(c=this.writeGraphModelToPng(c,"pHYs","dpi",f));return c};EditorUi.prototype.saveCanvas=function(a,b,d,f,n){var c="jpeg"==d?"jpg":d;f=this.getBaseFilename(f)+"."+c;a=this.createImageDataUri(a,b,d,n);this.saveData(f,c,a.substring(a.lastIndexOf(",")+1),"image/"+d,!0)};EditorUi.prototype.isLocalFileSave=function(){return"remote"!=urlParams.save&&(mxClient.IS_IE||"undefined"!==typeof window.Blob&&
-"undefined"!==typeof window.URL)&&9!=document.documentMode&&8!=document.documentMode&&7!=document.documentMode&&!mxClient.IS_QUIRKS||this.isOfflineApp()||mxClient.IS_IOS};EditorUi.prototype.showTextDialog=function(a,b){var c=new TextareaDialog(this,a,b,null,null,mxResources.get("close"));c.textarea.style.width="600px";c.textarea.style.height="380px";this.showDialog(c.container,620,460,!0,!0,null,null,null,null,!0);c.init();document.execCommand("selectall",!1,null)};EditorUi.prototype.doSaveLocalFile=
-function(a,b,d,f,n){if(window.Blob&&navigator.msSaveOrOpenBlob)a=f?this.base64ToBlob(a,d):new Blob([a],{type:d}),navigator.msSaveOrOpenBlob(a,b);else if(mxClient.IS_IE)d=window.open("about:blank","_blank"),null==d?mxUtils.popup(a,!0):(d.document.write(a),d.document.close(),d.document.execCommand("SaveAs",!0,b),d.close());else if(mxClient.IS_IOS&&mxClient.IS_SF&&this.isOffline())navigator.standalone||null==d||"image/"!=d.substring(0,6)?this.showTextDialog(b+":",a):this.openInNewWindow(a,d,f);else{var c=
-document.createElement("a"),e=0>navigator.userAgent.indexOf("PaleMoon/")&&"undefined"!==typeof c.download;if(mxClient.IS_GC)var k=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./),e=65==(k?parseInt(k[2],10):!1)?!1:e;if(e||this.isOffline()){c.href=URL.createObjectURL(f?this.base64ToBlob(a,d):new Blob([a],{type:d}));e?c.download=b:c.setAttribute("target","_blank");document.body.appendChild(c);try{window.setTimeout(function(){URL.revokeObjectURL(c.href)},0),c.click(),c.parentNode.removeChild(c)}catch(t){}}else this.createEchoRequest(a,
-b,d,f,n).simulate(document,"_blank")}};EditorUi.prototype.createEchoRequest=function(a,b,d,f,n,g){a="xml="+encodeURIComponent(a);return new mxXmlRequest(SAVE_URL,a+(null!=d?"&mime="+d:"")+(null!=n?"&format="+n:"")+(null!=g?"&base64="+g:"")+(null!=b?"&filename="+encodeURIComponent(b):"")+(f?"&binary=1":""))};EditorUi.prototype.base64ToBlob=function(a,b){b=b||"";for(var c=atob(a),d=c.length,e=Math.ceil(d/1024),f=Array(e),l=0;l<e;++l){for(var v=1024*l,t=Math.min(v+1024,d),m=Array(t-v),y=0;v<t;++y,++v)m[y]=
-c[v].charCodeAt(0);f[l]=new Uint8Array(m)}return new Blob(f,{type:b})};EditorUi.prototype.saveLocalFile=function(a,b,d,f,n,g,l){g=null!=g?g:!1;l=null!=l?l:"vsdx"!=n&&(!mxClient.IS_IOS||!navigator.standalone);n=this.getServiceCount(g);isLocalStorage&&n++;var c=4>=n?2:6<n?4:3;b=new CreateDialog(this,b,mxUtils.bind(this,function(c,b){try{if("_blank"==b)if(null!=d&&"image/"==d.substring(0,6))this.openInNewWindow(a,d,f);else{var e=window.open("about:blank");null==e?mxUtils.popup(a,!0):(e.document.write("<pre>"+
-mxUtils.htmlEntities(a,!1)+"</pre>"),e.document.close())}else b==App.MODE_DEVICE||"download"==b?this.doSaveLocalFile(a,c,d,f):null!=c&&0<c.length&&this.pickFolder(b,mxUtils.bind(this,function(e){try{this.exportFile(a,c,d,f,b,e)}catch(p){this.handleError(p)}}))}catch(E){this.handleError(E)}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,g,l,null,1<n,c,a,d,f);g=this.isServices(n)?n>c?390:270:160;this.showDialog(b.container,400,g,!0,!0);b.init()};
-EditorUi.prototype.openInNewWindow=function(a,b,d){var c=window.open("about:blank");null==c||null==c.document?mxUtils.popup(a,!0):("image/svg+xml"!=b||mxClient.IS_SVG?(d=d?a:btoa(unescape(encodeURIComponent(a))),"image/svg+xml"==b?mxClient.IS_GC&&mxClient.IS_MAC?c.document.write('<html><object style="max-width:100%;" data="data:'+b+";base64,"+d+'"/></html>'):c.document.write("<html>"+a+"</html>"):c.document.write('<html><img style="max-width:100%;" src="data:'+b+";base64,"+d+'"/></html>')):c.document.write("<html><pre>"+
-mxUtils.htmlEntities(a,!1)+"</pre></html>"),c.document.close())};var f=EditorUi.prototype.addChromelessToolbarItems;EditorUi.prototype.addChromelessToolbarItems=function(a){if(this.isExportToCanvas()){this.exportDialog=null;var c=a(mxUtils.bind(this,function(a){var b=mxUtils.bind(this,function(){mxEvent.removeListener(this.editor.graph.container,"click",b);null!=this.exportDialog&&(this.exportDialog.parentNode.removeChild(this.exportDialog),this.exportDialog=null)});if(null!=this.exportDialog)b.apply(this);
-else{this.exportDialog=document.createElement("div");var d=c.getBoundingClientRect();mxUtils.setPrefixedStyle(this.exportDialog.style,"borderRadius","5px");this.exportDialog.style.position="fixed";this.exportDialog.style.textAlign="center";this.exportDialog.style.fontFamily="Helvetica,Arial";this.exportDialog.style.backgroundColor="#000000";this.exportDialog.style.width="50px";this.exportDialog.style.height="50px";this.exportDialog.style.padding="4px 2px 4px 2px";this.exportDialog.style.color="#ffffff";
-mxUtils.setOpacity(this.exportDialog,70);this.exportDialog.style.left=d.left+"px";this.exportDialog.style.bottom=parseInt(this.chromelessToolbar.style.bottom)+this.chromelessToolbar.offsetHeight+4+"px";d=mxUtils.getCurrentStyle(this.editor.graph.container);this.exportDialog.style.zIndex=d.zIndex;var e=new Spinner({lines:8,length:6,width:5,radius:6,rotate:0,color:"#fff",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"28px",zIndex:2E9});e.spin(this.exportDialog);this.exportToCanvas(mxUtils.bind(this,function(a){e.stop();
-this.exportDialog.style.width="auto";this.exportDialog.style.height="auto";this.exportDialog.style.padding="10px";var c=this.createImageDataUri(a,null,"png");a=document.createElement("img");a.style.maxWidth="140px";a.style.maxHeight="140px";a.style.cursor="pointer";a.style.backgroundColor="white";a.setAttribute("title",mxResources.get("openInNewWindow"));a.setAttribute("border","0");a.setAttribute("src",c);this.exportDialog.appendChild(a);mxEvent.addListener(a,"click",mxUtils.bind(this,function(){this.openInNewWindow(c.substring(c.indexOf(",")+
-1),"image/png",!0);b.apply(this,arguments)}))}),null,this.thumbImageCache,null,mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}));mxEvent.addListener(this.editor.graph.container,"click",b);document.body.appendChild(this.exportDialog)}mxEvent.consume(a)}),Editor.cameraLargeImage,mxResources.get("export"))}f.apply(this,arguments)};EditorUi.prototype.saveData=function(a,b,d,f,n){this.isLocalFileSave()?this.saveLocalFile(d,a,f,n,b):this.saveRequest(a,b,mxUtils.bind(this,function(a,
-c){return this.createEchoRequest(d,a,f,n,b,c)}),d,n,f)};EditorUi.prototype.saveRequest=function(a,b,d,f,n,g,l){l=null!=l?l:!mxClient.IS_IOS||!navigator.standalone;var c=this.getServiceCount(!1);isLocalStorage&&c++;var e=4>=c?2:6<c?4:3;a=new CreateDialog(this,a,mxUtils.bind(this,function(a,c){if("_blank"==c||null!=a&&0<a.length){var e=d("_blank"==c?null:a,c==App.MODE_DEVICE||"download"==c||null==c||"_blank"==c?"0":"1");null!=e&&(c==App.MODE_DEVICE||"download"==c||"_blank"==c?e.simulate(document,"_blank"):
-this.pickFolder(c,mxUtils.bind(this,function(d){g=null!=g?g:"pdf"==b?"application/pdf":"image/"+b;if(null!=f)try{this.exportFile(f,a,g,!0,c,d)}catch(B){this.handleError(B)}else this.spinner.spin(document.body,mxResources.get("saving"))&&e.send(mxUtils.bind(this,function(){this.spinner.stop();if(200<=e.getStatus()&&299>=e.getStatus())try{this.exportFile(e.getText(),a,g,!0,c,d)}catch(B){this.handleError(B)}else this.handleError({message:mxResources.get("errorSavingFile")})}),function(a){this.spinner.stop();
-this.handleError(a)})})))}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,!1,l,null,1<c,e,f,g,n);c=this.isServices(c)?4<c?390:270:160;this.showDialog(a.container,380,c,!0,!0);a.init()};EditorUi.prototype.isServices=function(a){return 1!=a};EditorUi.prototype.getEditBlankXml=function(){return this.getFileData(!0)};EditorUi.prototype.exportFile=function(a,b,d,f,n,g){};EditorUi.prototype.pickFolder=function(a,b,d){b(null)};EditorUi.prototype.exportSvg=
-function(a,b,d,f,n,g,l,v,t,m){if(this.spinner.spin(document.body,mxResources.get("export")))try{var c=this.editor.graph.isSelectionEmpty();d=null!=d?d:c;var e=b?null:this.editor.graph.background;e==mxConstants.NONE&&(e=null);null==e&&0==b&&(e="#ffffff");var k=this.editor.graph.getSvg(e,a,l,v,null,d,null,null,"blank"==m?"_blank":"self"==m?"_top":null,null,!0);f&&this.editor.graph.addSvgShadow(k);var x=this.getBaseFilename()+".svg",A=mxUtils.bind(this,function(a){this.spinner.stop();n&&a.setAttribute("content",
-this.getFileData(!0,null,null,null,d,t,null,null,null,!1));var c='<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n'+mxUtils.getXml(a);this.isLocalFileSave()||c.length<=MAX_REQUEST_SIZE?this.saveData(x,"svg",c,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(c)}))});this.editor.addFontCss(k);this.editor.graph.mathEnabled&&
-this.editor.addMathCss(k);g?(null==this.thumbImageCache&&(this.thumbImageCache={}),this.convertImages(k,A,this.thumbImageCache)):A(k)}catch(P){this.handleError(P)}};EditorUi.prototype.addRadiobox=function(a,b,d,f,n,g,l){return this.addCheckbox(a,d,f,n,g,l,!0,b)};EditorUi.prototype.addCheckbox=function(a,b,d,f,n,g,l,v){g=null!=g?g:!0;var c=document.createElement("input");c.style.marginRight="8px";c.style.marginTop="16px";c.setAttribute("type",l?"radio":"checkbox");l="geCheckbox-"+Editor.guid();c.id=
-l;null!=v&&c.setAttribute("name",v);d&&(c.setAttribute("checked","checked"),c.defaultChecked=!0);f&&c.setAttribute("disabled","disabled");g&&(a.appendChild(c),d=document.createElement("label"),mxUtils.write(d,b),d.setAttribute("for",l),a.appendChild(d),n||mxUtils.br(a));return c};EditorUi.prototype.addEditButton=function(a,b){var c=this.addCheckbox(a,mxResources.get("edit")+":",!0,null,!0);c.style.marginLeft="24px";var d=this.getCurrentFile(),e="";null!=d&&d.getMode()!=App.MODE_DEVICE&&d.getMode()!=
-App.MODE_BROWSER&&(e=window.location.href);var f=document.createElement("select");f.style.width="120px";f.style.marginLeft="8px";f.style.marginRight="10px";f.className="geBtn";d=document.createElement("option");d.setAttribute("value","blank");mxUtils.write(d,mxResources.get("makeCopy"));f.appendChild(d);d=document.createElement("option");d.setAttribute("value","custom");mxUtils.write(d,mxResources.get("custom")+"...");f.appendChild(d);a.appendChild(f);mxEvent.addListener(f,"change",mxUtils.bind(this,
-function(){if("custom"==f.value){var a=new FilenameDialog(this,e,mxResources.get("ok"),function(a){null!=a?e=a:f.value="blank"},mxResources.get("url"),null,null,null,null,function(){f.value="blank"});this.showDialog(a.container,300,80,!0,!1);a.init()}}));mxEvent.addListener(c,"change",mxUtils.bind(this,function(){c.checked&&(null==b||b.checked)?f.removeAttribute("disabled"):f.setAttribute("disabled","disabled")}));mxUtils.br(a);return{getLink:function(){return c.checked?"blank"===f.value?"_blank":
-e:null},getEditInput:function(){return c},getEditSelect:function(){return f}}};EditorUi.prototype.addLinkSection=function(a,b){function c(){l.innerHTML='<div style="width:100%;height:100%;box-sizing:border-box;'+(null!=f&&f!=mxConstants.NONE?"border:1px solid black;background-color:"+f:"background-position:center center;background-repeat:no-repeat;background-image:url('"+Dialog.prototype.closeImage+"')")+';"></div>'}mxUtils.write(a,mxResources.get("links")+":");var d=document.createElement("select");
-d.style.width="100px";d.style.marginLeft="8px";d.style.marginRight="10px";d.className="geBtn";var e=document.createElement("option");e.setAttribute("value","auto");mxUtils.write(e,mxResources.get("automatic"));d.appendChild(e);e=document.createElement("option");e.setAttribute("value","blank");mxUtils.write(e,mxResources.get("openInNewWindow"));d.appendChild(e);e=document.createElement("option");e.setAttribute("value","self");mxUtils.write(e,mxResources.get("openInThisWindow"));d.appendChild(e);b&&
-(e=document.createElement("option"),e.setAttribute("value","frame"),mxUtils.write(e,mxResources.get("openInThisWindow")+" ("+mxResources.get("iframe")+")"),d.appendChild(e));a.appendChild(d);mxUtils.write(a,mxResources.get("borderColor")+":");var f="#0000ff",l=null,l=mxUtils.button("",mxUtils.bind(this,function(a){this.pickColor(f||"none",function(a){f=a;c()});mxEvent.consume(a)}));c();l.style.padding=mxClient.IS_FF?"4px 2px 4px 2px":"4px";l.style.marginLeft="4px";l.style.height="22px";l.style.width=
-"22px";l.style.position="relative";l.style.top=mxClient.IS_IE||mxClient.IS_IE11||mxClient.IS_EDGE?"6px":"1px";l.className="geColorBtn";a.appendChild(l);mxUtils.br(a);return{getColor:function(){return f},getTarget:function(){return d.value},focus:function(){d.focus()}}};EditorUi.prototype.createLink=function(a,b,d,f,n,g,l,v){var c=this.getCurrentFile(),e=[];f&&(e.push("lightbox=1"),"auto"!=a&&e.push("target="+a),null!=b&&b!=mxConstants.NONE&&e.push("highlight="+("#"==b.charAt(0)?b.substring(1):b)),
-null!=n&&0<n.length&&e.push("edit="+encodeURIComponent(n)),g&&e.push("layers=1"),this.editor.graph.foldingEnabled&&e.push("nav=1"));d&&null!=this.currentPage&&null!=this.pages&&this.currentPage!=this.pages[0]&&e.push("page-id="+this.currentPage.getId());a=!0;null!=l?d="#U"+encodeURIComponent(l):(c=this.getCurrentFile(),v||null==c||c.constructor!=window.DriveFile?d="#R"+encodeURIComponent(d?this.getFileData(!0,null,null,null,null,null,null,!0,null,!1):Graph.compress(mxUtils.getXml(this.editor.getGraphXml()))):
-(d="#"+c.getHash(),a=!1));a&&null!=c&&null!=c.getTitle()&&c.getTitle()!=this.defaultFilename&&e.push("title="+encodeURIComponent(c.getTitle()));return(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||!/.*\.draw\.io$/.test(window.location.hostname)?EditorUi.drawHost:"https://"+window.location.host+"/")+(0<e.length?"?"+e.join("&"):"")+d};EditorUi.prototype.createHtml=function(a,b,d,f,n,g,l,v,t,m,y){this.getBasenames();var c={};""!=n&&n!=mxConstants.NONE&&(c.highlight=n);"auto"!==f&&(c.target=f);t||(c.lightbox=
-!1);c.nav=this.editor.graph.foldingEnabled;d=parseInt(d);isNaN(d)||100==d||(c.zoom=d/100);d=[];l&&(d.push("pages"),c.resize=!0,null!=this.pages&&null!=this.currentPage&&(c.page=mxUtils.indexOf(this.pages,this.currentPage)));b&&(d.push("zoom"),c.resize=!0);v&&d.push("layers");0<d.length&&(t&&d.push("lightbox"),c.toolbar=d.join(" "));null!=m&&0<m.length&&(c.edit=m);null!=a?c.url=a:c.xml=this.getFileData(!0,null,null,null,null,!l);b='<div class="mxgraph" style="'+(g?"max-width:100%;":"")+(""!=d?"border:1px solid transparent;":
-"")+'" data-mxgraph="'+mxUtils.htmlEntities(JSON.stringify(c))+'"></div>';a=null!=a?"&fetch="+encodeURIComponent(a):"";y(b,'<script type="text/javascript" src="'+(0<a.length?("1"==urlParams.dev?"https://test.draw.io/embed2.js?dev=1":EditorUi.drawHost+"/embed2.js?")+a:"1"==urlParams.dev?"https://test.draw.io/js/viewer.min.js":window.VIEWER_URL?window.VIEWER_URL:EditorUi.drawHost+"/js/viewer.min.js")+'">\x3c/script>')};EditorUi.prototype.showHtmlDialog=function(a,b,d,f){var c=document.createElement("div");
-c.style.whiteSpace="nowrap";var e=document.createElement("h3");mxUtils.write(e,mxResources.get("html"));e.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";c.appendChild(e);var k=document.createElement("div");k.style.cssText="border-bottom:1px solid lightGray;padding-bottom:8px;margin-bottom:12px;";var l=document.createElement("input");l.style.cssText="margin-right:8px;margin-top:8px;margin-bottom:8px;";l.setAttribute("value","url");l.setAttribute("type","radio");l.setAttribute("name",
-"type-embedhtmldialog");e=l.cloneNode(!0);e.setAttribute("value","copy");k.appendChild(e);var t=document.createElement("span");mxUtils.write(t,mxResources.get("includeCopyOfMyDiagram"));k.appendChild(t);mxUtils.br(k);k.appendChild(l);t=document.createElement("span");mxUtils.write(t,mxResources.get("publicDiagramUrl"));k.appendChild(t);var x=this.getCurrentFile();null==d&&null!=x&&x.constructor==window.DriveFile&&(t=document.createElement("a"),t.style.paddingLeft="12px",t.style.color="gray",t.setAttribute("href",
-"javascript:void(0);"),mxUtils.write(t,mxResources.get("share")),k.appendChild(t),mxEvent.addListener(t,"click",mxUtils.bind(this,function(){this.hideDialog();this.drive.showPermissions(x.getId())})));e.setAttribute("checked","checked");null==d&&l.setAttribute("disabled","disabled");c.appendChild(k);var y=this.addLinkSection(c),m=this.addCheckbox(c,mxResources.get("zoom"),!0,null,!0);mxUtils.write(c,":");var p=document.createElement("input");p.setAttribute("type","text");p.style.marginRight="16px";
-p.style.width="60px";p.style.marginLeft="4px";p.style.marginRight="12px";p.value="100%";c.appendChild(p);var q=this.addCheckbox(c,mxResources.get("fit"),!0),k=null!=this.pages&&1<this.pages.length,u=u=this.addCheckbox(c,mxResources.get("allPages"),k,!k),z=this.addCheckbox(c,mxResources.get("layers"),!0),I=this.addCheckbox(c,mxResources.get("lightbox"),!0),C=this.addEditButton(c,I),F=C.getEditInput();F.style.marginBottom="16px";mxEvent.addListener(I,"change",function(){I.checked?F.removeAttribute("disabled"):
-F.setAttribute("disabled","disabled");F.checked&&I.checked?C.getEditSelect().removeAttribute("disabled"):C.getEditSelect().setAttribute("disabled","disabled")});a=new CustomDialog(this,c,mxUtils.bind(this,function(){f(l.checked?d:null,m.checked,p.value,y.getTarget(),y.getColor(),q.checked,u.checked,z.checked,I.checked,C.getLink())}),null,a,b);this.showDialog(a.container,340,384,!0,!0);e.focus()};EditorUi.prototype.showPublishLinkDialog=function(a,b,d,f,n,g){var c=document.createElement("div");c.style.whiteSpace=
-"nowrap";var e=document.createElement("h3");mxUtils.write(e,a||mxResources.get("link"));e.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";c.appendChild(e);var k=this.getCurrentFile(),e="https://desk.draw.io/support/solutions/articles/16000051941";a=0;if(null!=k&&k.constructor==window.DriveFile&&!b){a=80;var e="https://desk.draw.io/support/solutions/articles/16000039384",l=document.createElement("div");l.style.cssText="border-bottom:1px solid lightGray;padding-bottom:14px;padding-top:6px;margin-bottom:14px;text-align:center;";
-var x=document.createElement("div");x.style.whiteSpace="normal";mxUtils.write(x,mxResources.get("linkAccountRequired"));l.appendChild(x);x=mxUtils.button(mxResources.get("share"),mxUtils.bind(this,function(){this.drive.showPermissions(k.getId())}));x.style.marginTop="12px";x.className="geBtn";l.appendChild(x);c.appendChild(l);x=document.createElement("a");x.style.paddingLeft="12px";x.style.color="gray";x.style.fontSize="11px";x.setAttribute("href","javascript:void(0);");mxUtils.write(x,mxResources.get("check"));
-l.appendChild(x);mxEvent.addListener(x,"click",mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("loading"))&&this.getPublicUrl(this.getCurrentFile(),mxUtils.bind(this,function(a){this.spinner.stop();a=new ErrorDialog(this,null,mxResources.get(null!=a?"diagramIsPublic":"diagramIsNotPublic"),mxResources.get("ok"));this.showDialog(a.container,300,80,!0,!1);a.init()}))}))}var m=null,p=null;if(null!=d||null!=f)a+=30,mxUtils.write(c,mxResources.get("width")+":"),m=document.createElement("input"),
-m.setAttribute("type","text"),m.style.marginRight="16px",m.style.width="50px",m.style.marginLeft="6px",m.style.marginRight="16px",m.style.marginBottom="10px",m.value="100%",c.appendChild(m),mxUtils.write(c,mxResources.get("height")+":"),p=document.createElement("input"),p.setAttribute("type","text"),p.style.width="50px",p.style.marginLeft="6px",p.style.marginBottom="10px",p.value=f+"px",c.appendChild(p),mxUtils.br(c);var q=this.addLinkSection(c,g);d=null!=this.pages&&1<this.pages.length;var u=null;
-if(null==k||k.constructor!=window.DriveFile||b)u=this.addCheckbox(c,mxResources.get("allPages"),d,!d);var z=this.addCheckbox(c,mxResources.get("lightbox"),!0),I=this.addEditButton(c,z),C=I.getEditInput(),F=this.addCheckbox(c,mxResources.get("layers"),!0);F.style.marginLeft=C.style.marginLeft;F.style.marginBottom="16px";F.style.marginTop="8px";mxEvent.addListener(z,"change",function(){z.checked?(F.removeAttribute("disabled"),C.removeAttribute("disabled")):(F.setAttribute("disabled","disabled"),C.setAttribute("disabled",
-"disabled"));C.checked&&z.checked?I.getEditSelect().removeAttribute("disabled"):I.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,c,mxUtils.bind(this,function(){n(q.getTarget(),q.getColor(),null==u?!0:u.checked,z.checked,I.getLink(),F.checked,null!=m?m.value:null,null!=p?p.value:null)}),null,mxResources.get("create"),e);this.showDialog(b.container,340,254+a,!0,!0);null!=m?(m.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?m.select():
-document.execCommand("selectAll",!1,null)):q.focus()};EditorUi.prototype.showRemoteExportDialog=function(a,b,d,f,n){var c=document.createElement("div");c.style.whiteSpace="nowrap";var e=document.createElement("h3");mxUtils.write(e,mxResources.get("image"));e.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:"+(n?"10":"4")+"px";c.appendChild(e);if(n){mxUtils.write(c,mxResources.get("zoom")+":");var k=document.createElement("input");k.setAttribute("type","text");k.style.marginRight=
-"16px";k.style.width="60px";k.style.marginLeft="4px";k.style.marginRight="12px";k.value=this.lastExportZoom||"100%";c.appendChild(k);mxUtils.write(c,mxResources.get("borderWidth")+":");var l=document.createElement("input");l.setAttribute("type","text");l.style.marginRight="16px";l.style.width="60px";l.style.marginLeft="4px";l.value=this.lastExportBorder||"0";c.appendChild(l);mxUtils.br(c)}var x=this.addCheckbox(c,mxResources.get("selectionOnly"),!1,this.editor.graph.isSelectionEmpty()),y=f?null:this.addCheckbox(c,
-mxResources.get("includeCopyOfMyDiagram"),!0),e=this.editor.graph,m=f?null:this.addCheckbox(c,mxResources.get("transparentBackground"),e.background==mxConstants.NONE||null==e.background);null!=m&&(m.style.marginBottom="16px");a=new CustomDialog(this,c,mxUtils.bind(this,function(){var a=parseInt(k.value)/100||1,c=parseInt(l.value)||0;d(!x.checked,null!=y?y.checked:!1,null!=m?m.checked:!1,a,c)}),null,a,b);this.showDialog(a.container,300,(n?25:0)+(f?125:210),!0,!0)};EditorUi.prototype.showExportDialog=
-function(a,b,d,f,l,g,m,v){m=null!=m?m:!0;var c=document.createElement("div");c.style.whiteSpace="nowrap";var e=this.editor.graph,k="jpeg"==v?196:300,n=document.createElement("h3");mxUtils.write(n,a);n.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:10px";c.appendChild(n);mxUtils.write(c,mxResources.get("zoom")+":");var p=document.createElement("input");p.setAttribute("type","text");p.style.marginRight="16px";p.style.width="60px";p.style.marginLeft="4px";p.style.marginRight=
-"12px";p.value=this.lastExportZoom||"100%";c.appendChild(p);mxUtils.write(c,mxResources.get("borderWidth")+":");var x=document.createElement("input");x.setAttribute("type","text");x.style.marginRight="16px";x.style.width="60px";x.style.marginLeft="4px";x.value=this.lastExportBorder||"0";c.appendChild(x);mxUtils.br(c);var q=this.addCheckbox(c,mxResources.get("transparentBackground"),!1,null,null,"jpeg"!=v),A=this.addCheckbox(c,mxResources.get("selectionOnly"),!1,e.isSelectionEmpty()),u=document.createElement("input");
-u.style.marginTop="16px";u.style.marginRight="8px";u.style.marginLeft="24px";u.setAttribute("disabled","disabled");u.setAttribute("type","checkbox");g&&(c.appendChild(u),mxUtils.write(c,mxResources.get("crop")),mxUtils.br(c),k+=26,mxEvent.addListener(A,"change",function(){A.checked?u.removeAttribute("disabled"):u.setAttribute("disabled","disabled")}));e.isSelectionEmpty()||(u.setAttribute("checked","checked"),u.defaultChecked=!0);var z=this.addCheckbox(c,mxResources.get("shadow"),e.shadowVisible),
-C=document.createElement("input");C.style.marginTop="16px";C.style.marginRight="8px";C.setAttribute("type","checkbox");!this.isOffline()&&this.canvasSupported||C.setAttribute("disabled","disabled");b&&(c.appendChild(C),mxUtils.write(c,mxResources.get("embedImages")),mxUtils.br(c),k+=26);var G=null;if("png"==v||"jpeg"==v)G=this.addCheckbox(c,mxResources.get("grid"),!1,this.isOffline()||!this.canvasSupported,!1,!0),k+=26;var O=this.addCheckbox(c,mxResources.get("includeCopyOfMyDiagram"),m,null,null,
-"jpeg"!=v),V=null!=this.pages&&1<this.pages.length,aa=this.addCheckbox(c,V?mxResources.get("allPages"):"",V,!V,null,"jpeg"!=v);aa.style.marginLeft="24px";aa.style.marginBottom="16px";V?k+=26:aa.style.display="none";mxEvent.addListener(O,"change",function(){O.checked&&V?aa.removeAttribute("disabled"):aa.setAttribute("disabled","disabled")});m&&V||aa.setAttribute("disabled","disabled");var W=document.createElement("select");W.style.maxWidth="260px";W.style.marginLeft="8px";W.style.marginRight="10px";
-W.className="geBtn";a=document.createElement("option");a.setAttribute("value","auto");mxUtils.write(a,mxResources.get("automatic"));W.appendChild(a);a=document.createElement("option");a.setAttribute("value","blank");mxUtils.write(a,mxResources.get("openInNewWindow"));W.appendChild(a);a=document.createElement("option");a.setAttribute("value","self");mxUtils.write(a,mxResources.get("openInThisWindow"));W.appendChild(a);"svg"==v&&(mxUtils.write(c,mxResources.get("links")+":"),c.appendChild(W),mxUtils.br(c),
-mxUtils.br(c),k+=26);d=new CustomDialog(this,c,mxUtils.bind(this,function(){this.lastExportBorder=x.value;this.lastExportZoom=p.value;l(p.value,q.checked,!A.checked,z.checked,O.checked,C.checked,x.value,u.checked,!aa.checked,W.value,null!=G?G.checked:null)}),null,d,f);this.showDialog(d.container,340,k,!0,!0,null,null,null,null,!0);p.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?p.select():document.execCommand("selectAll",!1,null)};EditorUi.prototype.showEmbedImageDialog=
-function(a,b,d,f,l){var c=document.createElement("div");c.style.whiteSpace="nowrap";var e=this.editor.graph;if(null!=b){var k=document.createElement("h3");mxUtils.write(k,b);k.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";c.appendChild(k)}var n=this.addCheckbox(c,mxResources.get("fit"),!0),x=this.addCheckbox(c,mxResources.get("shadow"),e.shadowVisible&&f,!f),m=this.addCheckbox(c,d),q=this.addCheckbox(c,mxResources.get("lightbox"),!0),p=this.addEditButton(c,q),u=p.getEditInput(),
-z=1<e.model.getChildCount(e.model.getRoot()),C=this.addCheckbox(c,mxResources.get("layers"),z,!z);C.style.marginLeft=u.style.marginLeft;C.style.marginBottom="12px";C.style.marginTop="8px";mxEvent.addListener(q,"change",function(){q.checked?(z&&C.removeAttribute("disabled"),u.removeAttribute("disabled")):(C.setAttribute("disabled","disabled"),u.setAttribute("disabled","disabled"));u.checked&&q.checked?p.getEditSelect().removeAttribute("disabled"):p.getEditSelect().setAttribute("disabled","disabled")});
-b=new CustomDialog(this,c,mxUtils.bind(this,function(){a(n.checked,x.checked,m.checked,q.checked,p.getLink(),C.checked)}),null,mxResources.get("embed"),l);this.showDialog(b.container,280,280,!0,!0)};EditorUi.prototype.createEmbedImage=function(a,b,d,f,l,g,m,v){function c(c){var b=" ",k="";f&&(b=" onclick=\"(function(img){if(img.wnd!=null&&!img.wnd.closed){img.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==img.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd=window.open('"+
-EditorUi.drawHost+"/?client=1&lightbox=1"+(l?"&edit=_blank":"")+(g?"&layers=1":"")+"');}})(this);\"",k+="cursor:pointer;");a&&(k+="max-width:100%;");var n="";d&&(n=' width="'+Math.round(e.width)+'" height="'+Math.round(e.height)+'"');m('<img src="'+c+'"'+n+(""!=k?' style="'+k+'"':"")+b+"/>")}var e=this.editor.graph.getGraphBounds();if(this.isExportToCanvas())this.exportToCanvas(mxUtils.bind(this,function(a){var b=f?this.getFileData(!0):null;a=this.createImageDataUri(a,b,"png");c(a)}),null,null,null,
-mxUtils.bind(this,function(a){v({message:mxResources.get("unknownError")})}),null,!0,d?2:1,null,b);else if(b=this.getFileData(!0),e.width*e.height<=MAX_AREA&&b.length<=MAX_REQUEST_SIZE){var k="";d&&(k="&w="+Math.round(2*e.width)+"&h="+Math.round(2*e.height));var n=new mxXmlRequest(EXPORT_URL,"format=png&base64=1&embedXml="+(f?"1":"0")+k+"&xml="+encodeURIComponent(b));n.send(mxUtils.bind(this,function(){200<=n.getStatus()&&299>=n.getStatus()?c("data:image/png;base64,"+n.getText()):v({message:mxResources.get("unknownError")})}))}else v({message:mxResources.get("drawingTooLarge")})};
-EditorUi.prototype.createEmbedSvg=function(a,b,d,f,l,g,m){var c=this.editor.graph.getSvg(null,null,null,null,null,null,null,null,null,null,!d),e=c.getElementsByTagName("a");if(null!=e)for(var k=0;k<e.length;k++){var n=e[k].getAttribute("href");null!=n&&"#"==n.charAt(0)&&"_blank"==e[k].getAttribute("target")&&e[k].removeAttribute("target")}f&&c.setAttribute("content",this.getFileData(!0));b&&this.editor.graph.addSvgShadow(c);if(d){var x=" ",p="";f&&(x="onclick=\"(function(img){if(img.wnd!=null&&!img.wnd.closed){img.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==img.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd=window.open('"+
-EditorUi.drawHost+"/?client=1&lightbox=1"+(l?"&edit=_blank":"")+(g?"&layers=1":"")+"');}})(this);\"",p+="cursor:pointer;");a&&(p+="max-width:100%;");this.convertImages(c,mxUtils.bind(this,function(a){m('<img src="'+this.createSvgDataUri(mxUtils.getXml(a))+'"'+(""!=p?' style="'+p+'"':"")+x+"/>")}))}else p="",f&&(c.setAttribute("onclick","(function(svg){var src=window.event.target||window.event.srcElement;while (src!=null&&src.nodeName.toLowerCase()!='a'){src=src.parentNode;}if(src==null){if(svg.wnd!=null&&!svg.wnd.closed){svg.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==svg.wnd){svg.wnd.postMessage(decodeURIComponent(svg.getAttribute('content')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);svg.wnd=window.open('"+
-EditorUi.drawHost+"/?client=1&lightbox=1"+(l?"&edit=_blank":"")+(g?"&layers=1":"")+"');}}})(this);"),p+="cursor:pointer;"),a&&(a=parseInt(c.getAttribute("width")),b=parseInt(c.getAttribute("height")),c.setAttribute("viewBox","-0.5 -0.5 "+a+" "+b),p+="max-width:100%;max-height:"+b+"px;",c.removeAttribute("height")),""!=p&&c.setAttribute("style",p),this.editor.addFontCss(c),this.editor.graph.mathEnabled&&this.editor.addMathCss(c),m(mxUtils.getXml(c))};EditorUi.prototype.timeSince=function(a){a=Math.floor((new Date-
-a)/1E3);var c=Math.floor(a/31536E3);if(1<c)return c+" "+mxResources.get("years");c=Math.floor(a/2592E3);if(1<c)return c+" "+mxResources.get("months");c=Math.floor(a/86400);if(1<c)return c+" "+mxResources.get("days");c=Math.floor(a/3600);if(1<c)return c+" "+mxResources.get("hours");c=Math.floor(a/60);return 1<c?c+" "+mxResources.get("minutes"):1==c?c+" "+mxResources.get("minute"):null};EditorUi.prototype.decodeNodeIntoGraph=function(a,b){if(null!=a){var c=null;if("diagram"==a.nodeName)c=a;else if("mxfile"==
-a.nodeName){var d=a.getElementsByTagName("diagram");if(0<d.length){var c=d[0],e=b.getGlobalVariable;b.getGlobalVariable=function(a){return"page"==a?c.getAttribute("name")||mxResources.get("pageWithNumber",[1]):"pagenumber"==a?1:e.apply(this,arguments)}}}null!=c&&(a=Editor.parseDiagramNode(c))}d=this.editor.graph;try{this.editor.graph=b,this.editor.setGraphXml(a)}catch(g){}finally{this.editor.graph=d}return a};EditorUi.prototype.getEmbeddedPng=function(a,b,d){try{var c=this.editor.graph,e=null;if(null!=
-d&&0<d.length)c=this.createTemporaryGraph(this.editor.graph.getStylesheet()),document.body.appendChild(c.container),this.decodeNodeIntoGraph(this.editor.extractGraphModel(mxUtils.parseXml(d).documentElement,!0),c),e=d;else if(null!=this.pages&&this.currentPage!=this.pages[0]){var c=this.createTemporaryGraph(c.getStylesheet()),f=c.getGlobalVariable,k=this.pages[0];c.getGlobalVariable=function(a){return"page"==a?k.getName():"pagenumber"==a?1:f.apply(this,arguments)};document.body.appendChild(c.container);
-c.model.setRoot(k.root)}this.exportToCanvas(mxUtils.bind(this,function(d){try{null==e&&(e=this.getFileData(!0,null,null,null,null,null,null,null,null,!1));var f=d.toDataURL("image/png"),f=this.writeGraphModelToPng(f,"tEXt","mxfile",encodeURIComponent(e));a(f.substring(f.lastIndexOf(",")+1));c!=this.editor.graph&&c.container.parentNode.removeChild(c.container)}catch(D){null!=b&&b(D)}}),null,null,null,mxUtils.bind(this,function(a){null!=b&&b(a)}),null,null,null,null,c.shadowVisible,null,c)}catch(v){null!=
-b&&b(v)}};EditorUi.prototype.getEmbeddedSvg=function(a,b,d,f,l,g,m,v){v=null!=v?v:!0;m=b.background;m==mxConstants.NONE&&(m=null);g=b.getSvg(m,null,null,null,null,g);b.shadowVisible&&b.addSvgShadow(g);null!=a&&g.setAttribute("content",a);null!=d&&g.setAttribute("resource",d);if(null!=l)this.embedFonts(g,mxUtils.bind(this,function(a){v?this.convertImages(a,mxUtils.bind(this,function(a){l((f?"":'<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n')+
-mxUtils.getXml(a))})):l((f?"":'<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n')+mxUtils.getXml(a))}));else return(f?"":'<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n')+mxUtils.getXml(g)};EditorUi.prototype.embedFonts=function(a,b){this.loadFonts(mxUtils.bind(this,function(){try{null!=this.editor.resolvedFontCss&&
-this.editor.addFontCss(a,this.editor.resolvedFontCss),this.embedExtFonts(mxUtils.bind(this,function(c){try{null!=c&&this.editor.addFontCss(a,c),b(a)}catch(x){b(a)}}))}catch(k){b(a)}}))};EditorUi.prototype.exportImage=function(a,b,d,f,l,g,m,v,t,q,y){t=null!=t?t:"png";if(this.spinner.spin(document.body,mxResources.get("exporting"))){var c=this.editor.graph.isSelectionEmpty();d=null!=d?d:c;null==this.thumbImageCache&&(this.thumbImageCache={});try{this.exportToCanvas(mxUtils.bind(this,function(a){this.spinner.stop();
-try{this.saveCanvas(a,l?this.getFileData(!0,null,null,null,d,v):null,t,null==this.pages||0==this.pages.length,y)}catch(B){"Invalid image"==B.message?this.downloadFile(t):this.handleError(B)}}),null,this.thumbImageCache,null,mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}),null,d,a||1,b,f,null,null,g,m,q)}catch(p){this.spinner.stop(),this.handleError(p)}}};EditorUi.prototype.embedCssFonts=function(a,b){function c(a){return a.replace(RegExp("^[\\s\"']+","g"),"").replace(RegExp("[\\s\"']+$",
-"g"),"")}var d=a.split("url("),e=0;null==this.cachedFonts&&(this.cachedFonts={});var f=mxUtils.bind(this,function(){if(0==e){for(var a=[d[0]],f=1;f<d.length;f++){var k=d[f].indexOf(")");a.push('url("');a.push(this.cachedFonts[c(d[f].substring(0,k))]);a.push('"'+d[f].substring(k))}b(a.join(""))}});if(0<d.length){for(var l=1;l<d.length;l++){var m=d[l].indexOf(")"),t=null,q=d[l].indexOf("format(",m);0<q&&(t=c(d[l].substring(q+7,d[l].indexOf(")",q))));mxUtils.bind(this,function(a){if(null==this.cachedFonts[a]){this.cachedFonts[a]=
-a;e++;var c="application/x-font-ttf";if("svg"==t||/(\.svg)($|\?)/i.test(a))c="image/svg+xml";else if("otf"==t||"embedded-opentype"==t||/(\.otf)($|\?)/i.test(a))c="application/x-font-opentype";else if("woff"==t||/(\.woff)($|\?)/i.test(a))c="application/font-woff";else if("woff2"==t||/(\.woff2)($|\?)/i.test(a))c="application/font-woff2";else if("eot"==t||/(\.eot)($|\?)/i.test(a))c="application/vnd.ms-fontobject";else if("sfnt"==t||/(\.sfnt)($|\?)/i.test(a))c="application/font-sfnt";var b=a;/^https?:\/\//.test(b)&&
-!this.editor.isCorsEnabledForUrl(b)&&(b=PROXY_URL+"?url="+encodeURIComponent(a));this.loadUrl(b,mxUtils.bind(this,function(c){this.cachedFonts[a]=c;e--;f()}),mxUtils.bind(this,function(a){e--;f()}),!0,null,"data:"+c+";charset=utf-8;base64,")}})(c(d[l].substring(0,m)),t)}f()}else b(a)};EditorUi.prototype.loadFonts=function(a){null!=this.editor.fontCss&&null==this.editor.resolvedFontCss?this.embedCssFonts(this.editor.fontCss,mxUtils.bind(this,function(c){this.editor.resolvedFontCss=c;a()})):a()};EditorUi.prototype.embedExtFonts=
-function(a){var c=this.editor.graph.extFonts;if(null!=c&&0<c.length){var b="",d=0;null==this.cachedGoogleFonts&&(this.cachedGoogleFonts={});for(var f=mxUtils.bind(this,function(){0==d&&this.embedCssFonts(b,a)}),g=0;g<c.length;g++){var l=c[g].name,m=c[g].url;0==m.indexOf(Editor.GOOGLE_FONTS)?null==this.cachedGoogleFonts[m]?(d++,this.loadUrl(m,mxUtils.bind(this,function(a){this.cachedGoogleFonts[m]=a;b+=a;d--;f()}),mxUtils.bind(this,function(a){d--;b+="@import url("+m+");";f()}))):b+=this.cachedGoogleFonts[m]:
-b+='@font-face {font-family: "'+l+'";src: url("'+m+'");}'}f()}else a()};EditorUi.prototype.exportToCanvas=function(a,b,d,f,l,g,m,v,t,q,y,u,p,B,z){try{g=null!=g?g:!0;m=null!=m?m:!0;u=null!=u?u:this.editor.graph;p=null!=p?p:0;var c=t?null:u.background;c==mxConstants.NONE&&(c=null);null==c&&(c=f);null==c&&0==t&&(c="#ffffff");this.convertImages(u.getSvg(null,null,null,B,null,m,null,null,null,q),mxUtils.bind(this,function(d){try{var e=new Image;e.onload=mxUtils.bind(this,function(){try{var f=function(){mxClient.IS_SF?
-window.setTimeout(function(){t.drawImage(e,p/v,p/v);a(k)},0):(t.drawImage(e,p/v,p/v),a(k))},k=document.createElement("canvas"),n=parseInt(d.getAttribute("width")),m=parseInt(d.getAttribute("height"));v=null!=v?v:1;null!=b&&(v=g?Math.min(1,Math.min(3*b/(4*m),b/n)):b/n);n=Math.ceil(v*n)+2*p;m=Math.ceil(v*m)+2*p;k.setAttribute("width",n);k.setAttribute("height",m);var t=k.getContext("2d");null!=c&&(t.beginPath(),t.rect(0,0,n,m),t.fillStyle=c,t.fill());t.scale(v,v);if(z){var x=u.view,y=x.scale;x.scale=
-1;var q=btoa(unescape(encodeURIComponent(x.createSvgGrid(x.gridColor))));x.scale=y;var q="data:image/svg+xml;base64,"+q,A=u.gridSize*x.gridSteps*v,B=u.getGraphBounds(),E=x.translate.x*y,D=x.translate.y*y,I=E+(B.x-E)/y,C=D+(B.y-D)/y,F=new Image;F.onload=function(){try{for(var a=-Math.round(A-mxUtils.mod((E-I)*v,A)),c=-Math.round(A-mxUtils.mod((D-C)*v,A));a<n;a+=A)for(var b=c;b<m;b+=A)t.drawImage(F,a/v,b/v);f()}catch(J){null!=l&&l(J)}};F.onerror=function(a){null!=l&&l(a)};F.src=q}else f()}catch(R){null!=
-l&&l(R)}});e.onerror=function(a){null!=l&&l(a)};q&&this.editor.graph.addSvgShadow(d);this.editor.graph.mathEnabled&&this.editor.addMathCss(d);var f=mxUtils.bind(this,function(){try{null!=this.editor.resolvedFontCss&&this.editor.addFontCss(d,this.editor.resolvedFontCss),e.src=this.createSvgDataUri(mxUtils.getXml(d))}catch(G){null!=l&&l(G)}});this.embedExtFonts(mxUtils.bind(this,function(a){try{null!=a&&this.editor.addFontCss(d,a),this.loadFonts(f)}catch(O){null!=l&&l(O)}}))}catch(G){null!=l&&l(G)}}),
-d,y)}catch(I){null!=l&&l(I)}};EditorUi.prototype.createImageUrlConverter=function(){var a=new mxUrlConverter;a.updateBaseUrl();var b=a.convert,d=this;a.convert=function(c){if(null!=c){var e="http://"==c.substring(0,7)||"https://"==c.substring(0,8);e&&!navigator.onLine?c=d.svgBrokenImage.src:!e||c.substring(0,a.baseUrl.length)==a.baseUrl||d.crossOriginImages&&d.editor.isCorsEnabledForUrl(c)?"chrome-extension://"==c.substring(0,19)||mxClient.IS_CHROMEAPP||(c=b.apply(this,arguments)):c=PROXY_URL+"?url="+
-encodeURIComponent(c)}return c};return a};EditorUi.prototype.convertImages=function(a,b,d,f){null==f&&(f=this.createImageUrlConverter());var c=0,e=d||{};d=mxUtils.bind(this,function(d,k){for(var g=a.getElementsByTagName(d),l=0;l<g.length;l++)mxUtils.bind(this,function(d){try{if(null!=d){var g=f.convert(d.getAttribute(k));if(null!=g&&"data:"!=g.substring(0,5)){var l=e[g];null==l?(c++,this.convertImageToDataUri(g,function(f){null!=f&&(e[g]=f,d.setAttribute(k,f));c--;0==c&&b(a)})):d.setAttribute(k,l)}else null!=
-g&&d.setAttribute(k,g)}}catch(B){}})(g[l])});d("image","xlink:href");d("img","src");0==c&&b(a)};EditorUi.prototype.loadUrl=function(a,b,d,f,l,g,m){try{var c=!m&&(f||/(\.png)($|\?)/i.test(a)||/(\.jpe?g)($|\?)/i.test(a)||/(\.gif)($|\?)/i.test(a)||/(\.pdf)($|\?)/i.test(a));l=null!=l?l:!0;var e=mxUtils.bind(this,function(){mxUtils.get(a,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus()){if(null!=b){var e=a.getText();if(c){if((9==document.documentMode||10==document.documentMode)&&
-"undefined"!==typeof window.mxUtilsBinaryToArray){a=mxUtilsBinaryToArray(a.request.responseBody).toArray();for(var e=Array(a.length),f=0;f<a.length;f++)e[f]=String.fromCharCode(a[f]);e=e.join("")}g=null!=g?g:"data:image/png;base64,";e=g+this.base64Encode(e)}b(e)}}else null!=d&&d({message:mxResources.get("error")+" "+a.getStatus()},a)}),function(a){null!=d&&d({message:mxResources.get("error")+" "+a.getStatus()})},c,this.timeout,function(){l&&null!=d&&d({code:App.ERROR_TIMEOUT,retry:e})})});e()}catch(D){null!=
-d&&d(D)}};EditorUi.prototype.isCorsEnabledForUrl=function(a){return this.editor.isCorsEnabledForUrl(a)};EditorUi.prototype.convertImageToDataUri=function(a,b){try{var c=!0,d=window.setTimeout(mxUtils.bind(this,function(){c=!1;b(this.svgBrokenImage.src)}),this.timeout);if(/(\.svg)$/i.test(a))mxUtils.get(a,mxUtils.bind(this,function(a){window.clearTimeout(d);c&&b(this.createSvgDataUri(a.getText()))}),function(){window.clearTimeout(d);c&&b(this.svgBrokenImage.src)});else{var e=new Image,f=this;this.crossOriginImages&&
-(e.crossOrigin="anonymous");e.onload=function(){window.clearTimeout(d);if(c)try{var a=document.createElement("canvas"),k=a.getContext("2d");a.height=e.height;a.width=e.width;k.drawImage(e,0,0);b(a.toDataURL())}catch(t){b(f.svgBrokenImage.src)}};e.onerror=function(){window.clearTimeout(d);c&&b(f.svgBrokenImage.src)};e.src=a}}catch(A){b(this.svgBrokenImage.src)}};EditorUi.prototype.importXml=function(a,b,d,f,l){b=null!=b?b:0;d=null!=d?d:0;var c=[];try{var e=this.editor.graph;if(null!=a&&0<a.length){e.model.beginUpdate();
+"none",this.refresh())};EditorUi.prototype.showFooter=function(a){var d=document.getElementById("geFooter");null!=d&&(this.footerHeight=a,d.style.display="inline",this.refresh())};EditorUi.prototype.showImageDialog=function(a,b,c,e,n){a=new ImageDialog(this,a,b,c,e,n);this.showDialog(a.container,Graph.fileSupport?440:360,Graph.fileSupport?200:90,!0,!0);a.init()};EditorUi.prototype.showBackgroundImageDialog=function(a){a=null!=a?a:mxUtils.bind(this,function(a){a=new ChangePageSetup(this,null,a);a.ignoreColor=
+!0;this.editor.graph.model.execute(a)});var d=new BackgroundImageDialog(this,mxUtils.bind(this,function(d){a(d)}));this.showDialog(d.container,360,200,!0,!0);d.init()};EditorUi.prototype.showLibraryDialog=function(a,b,c,e,n){a=new LibraryDialog(this,a,b,c,e,n);this.showDialog(a.container,640,440,!0,!1,mxUtils.bind(this,function(a){a&&null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.showSplash()}));a.init()};var b=EditorUi.prototype.createFormat;EditorUi.prototype.createFormat=function(a){var d=
+b.apply(this,arguments);this.editor.graph.addListener("viewStateChanged",mxUtils.bind(this,function(a){this.editor.graph.isSelectionEmpty()&&d.refresh()}));return d};EditorUi.prototype.createSidebarFooterContainer=function(){var a=this.createDiv("geSidebarContainer geSidebarFooter");a.style.position="absolute";a.style.overflow="hidden";var b=document.createElement("a");b.className="geTitle";b.style.color="#DF6C0C";b.style.fontWeight="bold";b.style.height="100%";b.style.paddingTop="9px";b.innerHTML=
+'<span style="font-size:18px;margin-right:5px;">+</span>';mxUtils.write(b,mxResources.get("moreShapes")+"...");mxEvent.addListener(b,mxClient.IS_POINTER?"pointerdown":"mousedown",mxUtils.bind(this,function(a){a.preventDefault()}));mxEvent.addListener(b,"click",mxUtils.bind(this,function(a){this.actions.get("shapes").funct();mxEvent.consume(a)}));a.appendChild(b);return a};EditorUi.prototype.handleError=function(a,b,c,e,n,g){var d=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){},
+f=null!=a&&null!=a.error?a.error:a;if(null!=f||null!=b){var k=mxUtils.htmlEntities(mxResources.get("unknownError")),l=mxResources.get("ok"),x=null;b=null!=b?b:mxResources.get("error");if(null!=f){null!=f.retry&&(l=mxResources.get("cancel"),x=function(){d();f.retry()});if(404==f.code||404==f.status||403==f.code){var k=403==f.code?null!=f.message?mxUtils.htmlEntities(f.message):mxUtils.htmlEntities(mxResources.get("accessDenied")):null!=n?n:mxUtils.htmlEntities(mxResources.get("fileNotFoundOrDenied")+
+(null!=this.drive&&null!=this.drive.user?" ("+this.drive.user.displayName+", "+this.drive.user.email+")":"")),m=null!=g?g:window.location.hash;if(null!=m&&("#G"==m.substring(0,2)||"#Uhttps%3A%2F%2Fdrive.google.com%2Fuc%3Fid%3D"==m.substring(0,45))&&(null!=a&&null!=a.error&&(null!=a.error.errors&&0<a.error.errors.length&&"fileAccess"==a.error.errors[0].reason||null!=a.error.data&&0<a.error.data.length&&"fileAccess"==a.error.data[0].reason)||404==f.code||404==f.status)){m="#U"==m.substring(0,2)?m.substring(45,
+m.lastIndexOf("%26ex")):m.substring(2);this.showError(b,k,mxResources.get("openInNewWindow"),mxUtils.bind(this,function(){this.editor.graph.openLink("https://drive.google.com/open?id="+m);this.handleError(a,b,c,e,n)}),x,mxResources.get("changeUser"),mxUtils.bind(this,function(){function a(){f.innerHTML="";for(var a=0;a<d.length;a++){var b=document.createElement("option");mxUtils.write(b,d[a].displayName);b.value=a;f.appendChild(b);b=document.createElement("option");b.innerHTML="&nbsp;&nbsp;&nbsp;";
+mxUtils.write(b,"<"+d[a].email+">");b.setAttribute("disabled","disabled");f.appendChild(b)}b=document.createElement("option");mxUtils.write(b,mxResources.get("addAccount"));b.value=d.length;f.appendChild(b)}var d=this.drive.getUsersList(),b=document.createElement("div"),c=document.createElement("span");c.style.marginTop="6px";mxUtils.write(c,mxResources.get("changeUser")+": ");b.appendChild(c);var f=document.createElement("select");f.style.width="200px";a();mxEvent.addListener(f,"change",mxUtils.bind(this,
+function(){var b=f.value,c=d.length!=b;c&&this.drive.setUser(d[b]);this.drive.authorize(c,mxUtils.bind(this,function(){c||(d=this.drive.getUsersList(),a())}),mxUtils.bind(this,function(a){this.handleError(a)}),!0)}));b.appendChild(f);b=new CustomDialog(this,b,mxUtils.bind(this,function(){this.loadFile(window.location.hash.substr(1),!0)}));this.showDialog(b.container,300,75,!0,!0)}),mxResources.get("cancel"),mxUtils.bind(this,function(){this.hideDialog();null!=c&&c()}),480,150);return}}null!=f.message?
+k=mxUtils.htmlEntities(f.message):null!=f.response&&null!=f.response.error?k=mxUtils.htmlEntities(f.response.error):"undefined"!==typeof window.App&&(f.code==App.ERROR_TIMEOUT?k=mxUtils.htmlEntities(mxResources.get("timeout")):f.code==App.ERROR_BUSY&&(k=mxUtils.htmlEntities(mxResources.get("busy"))))}var p=g=null;null!=f&&null!=f.helpLink&&(g=mxResources.get("help"),p=mxUtils.bind(this,function(){return this.editor.graph.openLink(f.helpLink)}));this.showError(b,k,l,c,x,null,null,g,p,null,null,null,
+e?c:null)}else null!=c&&c()};EditorUi.prototype.alert=function(a,b){var d=new ErrorDialog(this,null,a,mxResources.get("ok"),b);this.showDialog(d.container,340,100,!0,!1);d.init()};EditorUi.prototype.confirm=function(a,b,c,e,n,g){var d=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){},f=Math.min(200,28*Math.ceil(a.length/50));a=new ConfirmDialog(this,a,function(){d();null!=b&&b()},function(){d();null!=c&&c()},e,n,null,null,null,null,f);this.showDialog(a.container,340,46+
+f,!0,g);a.init()};EditorUi.prototype.setCurrentFile=function(a){null!=a&&(a.opened=new Date);this.currentFile=a};EditorUi.prototype.getCurrentFile=function(){return this.currentFile};EditorUi.prototype.isExportToCanvas=function(){return this.editor.isExportToCanvas()};EditorUi.prototype.createSvgDataUri=function(a){return"data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent(a)))};EditorUi.prototype.createImageDataUri=function(a,b,c,e){var d=a.toDataURL("image/"+c);if(6>=d.length||d==a.cloneNode(!1).toDataURL("image/"+
+c))throw{message:"Invalid image"};null!=b&&(d=this.writeGraphModelToPng(d,"tEXt","mxfile",encodeURIComponent(b)));0<e&&(d=this.writeGraphModelToPng(d,"pHYs","dpi",e));return d};EditorUi.prototype.saveCanvas=function(a,b,c,e,n){var d="jpeg"==c?"jpg":c;e=this.getBaseFilename(e)+"."+d;a=this.createImageDataUri(a,b,c,n);this.saveData(e,d,a.substring(a.lastIndexOf(",")+1),"image/"+c,!0)};EditorUi.prototype.isLocalFileSave=function(){return"remote"!=urlParams.save&&(mxClient.IS_IE||"undefined"!==typeof window.Blob&&
+"undefined"!==typeof window.URL)&&9!=document.documentMode&&8!=document.documentMode&&7!=document.documentMode&&!mxClient.IS_QUIRKS||this.isOfflineApp()||mxClient.IS_IOS};EditorUi.prototype.showTextDialog=function(a,b){var d=new TextareaDialog(this,a,b,null,null,mxResources.get("close"));d.textarea.style.width="600px";d.textarea.style.height="380px";this.showDialog(d.container,620,460,!0,!0,null,null,null,null,!0);d.init();document.execCommand("selectall",!1,null)};EditorUi.prototype.doSaveLocalFile=
+function(a,b,c,e,n){if(window.Blob&&navigator.msSaveOrOpenBlob)a=e?this.base64ToBlob(a,c):new Blob([a],{type:c}),navigator.msSaveOrOpenBlob(a,b);else if(mxClient.IS_IE)c=window.open("about:blank","_blank"),null==c?mxUtils.popup(a,!0):(c.document.write(a),c.document.close(),c.document.execCommand("SaveAs",!0,b),c.close());else if(mxClient.IS_IOS&&this.isOffline())navigator.standalone||null==c||"image/"!=c.substring(0,6)?this.showTextDialog(b+":",a):this.openInNewWindow(a,c,e);else{var d=document.createElement("a"),
+f=0>navigator.userAgent.indexOf("PaleMoon/")&&!mxClient.IS_IOS&&"undefined"!==typeof d.download;if(mxClient.IS_GC)var k=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./),f=65==(k?parseInt(k[2],10):!1)?!1:f;if(f||this.isOffline()){d.href=URL.createObjectURL(e?this.base64ToBlob(a,c):new Blob([a],{type:c}));f?d.download=b:d.setAttribute("target","_blank");document.body.appendChild(d);try{window.setTimeout(function(){URL.revokeObjectURL(d.href)},0),d.click(),d.parentNode.removeChild(d)}catch(t){}}else this.createEchoRequest(a,
+b,c,e,n).simulate(document,"_blank")}};EditorUi.prototype.createEchoRequest=function(a,b,c,e,n,g){a="xml="+encodeURIComponent(a);return new mxXmlRequest(SAVE_URL,a+(null!=c?"&mime="+c:"")+(null!=n?"&format="+n:"")+(null!=g?"&base64="+g:"")+(null!=b?"&filename="+encodeURIComponent(b):"")+(e?"&binary=1":""))};EditorUi.prototype.base64ToBlob=function(a,b){b=b||"";for(var d=atob(a),c=d.length,f=Math.ceil(c/1024),e=Array(f),l=0;l<f;++l){for(var v=1024*l,t=Math.min(v+1024,c),m=Array(t-v),y=0;v<t;++y,++v)m[y]=
+d[v].charCodeAt(0);e[l]=new Uint8Array(m)}return new Blob(e,{type:b})};EditorUi.prototype.saveLocalFile=function(a,b,c,e,n,g,l){g=null!=g?g:!1;l=null!=l?l:"vsdx"!=n&&(!mxClient.IS_IOS||!navigator.standalone);n=this.getServiceCount(g);isLocalStorage&&n++;var d=4>=n?2:6<n?4:3;b=new CreateDialog(this,b,mxUtils.bind(this,function(d,b){try{if("_blank"==b)if(null!=c&&"image/"==c.substring(0,6))this.openInNewWindow(a,c,e);else{var f=window.open("about:blank");null==f?mxUtils.popup(a,!0):(f.document.write("<pre>"+
+mxUtils.htmlEntities(a,!1)+"</pre>"),f.document.close())}else b==App.MODE_DEVICE||"download"==b?this.doSaveLocalFile(a,d,c,e):null!=d&&0<d.length&&this.pickFolder(b,mxUtils.bind(this,function(f){try{this.exportFile(a,d,c,e,b,f)}catch(p){this.handleError(p)}}))}catch(D){this.handleError(D)}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,g,l,null,1<n,d,a,c,e);g=this.isServices(n)?n>d?390:270:160;this.showDialog(b.container,400,g,!0,!0);b.init()};
+EditorUi.prototype.openInNewWindow=function(a,b,c){var d=window.open("about:blank");null==d||null==d.document?mxUtils.popup(a,!0):("image/svg+xml"!=b||mxClient.IS_SVG?(c=c?a:btoa(unescape(encodeURIComponent(a))),"image/svg+xml"==b?mxClient.IS_GC&&mxClient.IS_MAC?d.document.write('<html><object style="max-width:100%;" data="data:'+b+";base64,"+c+'"/></html>'):d.document.write("<html>"+a+"</html>"):d.document.write('<html><img style="max-width:100%;" src="data:'+b+";base64,"+c+'"/></html>')):d.document.write("<html><pre>"+
+mxUtils.htmlEntities(a,!1)+"</pre></html>"),d.document.close())};var e=EditorUi.prototype.addChromelessToolbarItems;EditorUi.prototype.addChromelessToolbarItems=function(a){if(this.isExportToCanvas()){this.exportDialog=null;var d=a(mxUtils.bind(this,function(a){var b=mxUtils.bind(this,function(){mxEvent.removeListener(this.editor.graph.container,"click",b);null!=this.exportDialog&&(this.exportDialog.parentNode.removeChild(this.exportDialog),this.exportDialog=null)});if(null!=this.exportDialog)b.apply(this);
+else{this.exportDialog=document.createElement("div");var c=d.getBoundingClientRect();mxUtils.setPrefixedStyle(this.exportDialog.style,"borderRadius","5px");this.exportDialog.style.position="fixed";this.exportDialog.style.textAlign="center";this.exportDialog.style.fontFamily="Helvetica,Arial";this.exportDialog.style.backgroundColor="#000000";this.exportDialog.style.width="50px";this.exportDialog.style.height="50px";this.exportDialog.style.padding="4px 2px 4px 2px";this.exportDialog.style.color="#ffffff";
+mxUtils.setOpacity(this.exportDialog,70);this.exportDialog.style.left=c.left+"px";this.exportDialog.style.bottom=parseInt(this.chromelessToolbar.style.bottom)+this.chromelessToolbar.offsetHeight+4+"px";c=mxUtils.getCurrentStyle(this.editor.graph.container);this.exportDialog.style.zIndex=c.zIndex;var f=new Spinner({lines:8,length:6,width:5,radius:6,rotate:0,color:"#fff",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"28px",zIndex:2E9});f.spin(this.exportDialog);this.exportToCanvas(mxUtils.bind(this,function(a){f.stop();
+this.exportDialog.style.width="auto";this.exportDialog.style.height="auto";this.exportDialog.style.padding="10px";var d=this.createImageDataUri(a,null,"png");a=document.createElement("img");a.style.maxWidth="140px";a.style.maxHeight="140px";a.style.cursor="pointer";a.style.backgroundColor="white";a.setAttribute("title",mxResources.get("openInNewWindow"));a.setAttribute("border","0");a.setAttribute("src",d);this.exportDialog.appendChild(a);mxEvent.addListener(a,"click",mxUtils.bind(this,function(){this.openInNewWindow(d.substring(d.indexOf(",")+
+1),"image/png",!0);b.apply(this,arguments)}))}),null,this.thumbImageCache,null,mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}));mxEvent.addListener(this.editor.graph.container,"click",b);document.body.appendChild(this.exportDialog)}mxEvent.consume(a)}),Editor.cameraLargeImage,mxResources.get("export"))}e.apply(this,arguments)};EditorUi.prototype.saveData=function(a,b,c,e,n){this.isLocalFileSave()?this.saveLocalFile(c,a,e,n,b):this.saveRequest(a,b,mxUtils.bind(this,function(a,
+d){return this.createEchoRequest(c,a,e,n,b,d)}),c,n,e)};EditorUi.prototype.saveRequest=function(a,b,c,e,n,g,l){l=null!=l?l:!mxClient.IS_IOS||!navigator.standalone;var d=this.getServiceCount(!1);isLocalStorage&&d++;var f=4>=d?2:6<d?4:3;a=new CreateDialog(this,a,mxUtils.bind(this,function(a,d){if("_blank"==d||null!=a&&0<a.length){var f=c("_blank"==d?null:a,d==App.MODE_DEVICE||"download"==d||null==d||"_blank"==d?"0":"1");null!=f&&(d==App.MODE_DEVICE||"download"==d||"_blank"==d?f.simulate(document,"_blank"):
+this.pickFolder(d,mxUtils.bind(this,function(c){g=null!=g?g:"pdf"==b?"application/pdf":"image/"+b;if(null!=e)try{this.exportFile(e,a,g,!0,d,c)}catch(B){this.handleError(B)}else this.spinner.spin(document.body,mxResources.get("saving"))&&f.send(mxUtils.bind(this,function(){this.spinner.stop();if(200<=f.getStatus()&&299>=f.getStatus())try{this.exportFile(f.getText(),a,g,!0,d,c)}catch(B){this.handleError(B)}else this.handleError({message:mxResources.get("errorSavingFile")})}),function(a){this.spinner.stop();
+this.handleError(a)})})))}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,!1,l,null,1<d,f,e,g,n);d=this.isServices(d)?4<d?390:270:160;this.showDialog(a.container,380,d,!0,!0);a.init()};EditorUi.prototype.isServices=function(a){return 1!=a};EditorUi.prototype.getEditBlankXml=function(){return this.getFileData(!0)};EditorUi.prototype.exportFile=function(a,b,c,e,n,g){};EditorUi.prototype.pickFolder=function(a,b,c){b(null)};EditorUi.prototype.exportSvg=
+function(a,b,c,e,n,g,l,v,t,m){if(this.spinner.spin(document.body,mxResources.get("export")))try{var d=this.editor.graph.isSelectionEmpty();c=null!=c?c:d;var f=b?null:this.editor.graph.background;f==mxConstants.NONE&&(f=null);null==f&&0==b&&(f="#ffffff");var k=this.editor.graph.getSvg(f,a,l,v,null,c,null,null,"blank"==m?"_blank":"self"==m?"_top":null,null,!0);e&&this.editor.graph.addSvgShadow(k);var x=this.getBaseFilename()+".svg",A=mxUtils.bind(this,function(a){this.spinner.stop();n&&a.setAttribute("content",
+this.getFileData(!0,null,null,null,c,t,null,null,null,!1));var d='<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n'+mxUtils.getXml(a);this.isLocalFileSave()||d.length<=MAX_REQUEST_SIZE?this.saveData(x,"svg",d,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(d)}))});this.editor.addFontCss(k);this.editor.graph.mathEnabled&&
+this.editor.addMathCss(k);g?(null==this.thumbImageCache&&(this.thumbImageCache={}),this.convertImages(k,A,this.thumbImageCache)):A(k)}catch(M){this.handleError(M)}};EditorUi.prototype.addRadiobox=function(a,b,c,e,n,g,l){return this.addCheckbox(a,c,e,n,g,l,!0,b)};EditorUi.prototype.addCheckbox=function(a,b,c,e,n,g,l,v){g=null!=g?g:!0;var d=document.createElement("input");d.style.marginRight="8px";d.style.marginTop="16px";d.setAttribute("type",l?"radio":"checkbox");l="geCheckbox-"+Editor.guid();d.id=
+l;null!=v&&d.setAttribute("name",v);c&&(d.setAttribute("checked","checked"),d.defaultChecked=!0);e&&d.setAttribute("disabled","disabled");g&&(a.appendChild(d),c=document.createElement("label"),mxUtils.write(c,b),c.setAttribute("for",l),a.appendChild(c),n||mxUtils.br(a));return d};EditorUi.prototype.addEditButton=function(a,b){var d=this.addCheckbox(a,mxResources.get("edit")+":",!0,null,!0);d.style.marginLeft="24px";var c=this.getCurrentFile(),f="";null!=c&&c.getMode()!=App.MODE_DEVICE&&c.getMode()!=
+App.MODE_BROWSER&&(f=window.location.href);var e=document.createElement("select");e.style.width="120px";e.style.marginLeft="8px";e.style.marginRight="10px";e.className="geBtn";c=document.createElement("option");c.setAttribute("value","blank");mxUtils.write(c,mxResources.get("makeCopy"));e.appendChild(c);c=document.createElement("option");c.setAttribute("value","custom");mxUtils.write(c,mxResources.get("custom")+"...");e.appendChild(c);a.appendChild(e);mxEvent.addListener(e,"change",mxUtils.bind(this,
+function(){if("custom"==e.value){var a=new FilenameDialog(this,f,mxResources.get("ok"),function(a){null!=a?f=a:e.value="blank"},mxResources.get("url"),null,null,null,null,function(){e.value="blank"});this.showDialog(a.container,300,80,!0,!1);a.init()}}));mxEvent.addListener(d,"change",mxUtils.bind(this,function(){d.checked&&(null==b||b.checked)?e.removeAttribute("disabled"):e.setAttribute("disabled","disabled")}));mxUtils.br(a);return{getLink:function(){return d.checked?"blank"===e.value?"_blank":
+f:null},getEditInput:function(){return d},getEditSelect:function(){return e}}};EditorUi.prototype.addLinkSection=function(a,b){function d(){l.innerHTML='<div style="width:100%;height:100%;box-sizing:border-box;'+(null!=e&&e!=mxConstants.NONE?"border:1px solid black;background-color:"+e:"background-position:center center;background-repeat:no-repeat;background-image:url('"+Dialog.prototype.closeImage+"')")+';"></div>'}mxUtils.write(a,mxResources.get("links")+":");var c=document.createElement("select");
+c.style.width="100px";c.style.marginLeft="8px";c.style.marginRight="10px";c.className="geBtn";var f=document.createElement("option");f.setAttribute("value","auto");mxUtils.write(f,mxResources.get("automatic"));c.appendChild(f);f=document.createElement("option");f.setAttribute("value","blank");mxUtils.write(f,mxResources.get("openInNewWindow"));c.appendChild(f);f=document.createElement("option");f.setAttribute("value","self");mxUtils.write(f,mxResources.get("openInThisWindow"));c.appendChild(f);b&&
+(f=document.createElement("option"),f.setAttribute("value","frame"),mxUtils.write(f,mxResources.get("openInThisWindow")+" ("+mxResources.get("iframe")+")"),c.appendChild(f));a.appendChild(c);mxUtils.write(a,mxResources.get("borderColor")+":");var e="#0000ff",l=null,l=mxUtils.button("",mxUtils.bind(this,function(a){this.pickColor(e||"none",function(a){e=a;d()});mxEvent.consume(a)}));d();l.style.padding=mxClient.IS_FF?"4px 2px 4px 2px":"4px";l.style.marginLeft="4px";l.style.height="22px";l.style.width=
+"22px";l.style.position="relative";l.style.top=mxClient.IS_IE||mxClient.IS_IE11||mxClient.IS_EDGE?"6px":"1px";l.className="geColorBtn";a.appendChild(l);mxUtils.br(a);return{getColor:function(){return e},getTarget:function(){return c.value},focus:function(){c.focus()}}};EditorUi.prototype.createLink=function(a,b,c,e,n,g,l,v){var d=this.getCurrentFile(),f=[];e&&(f.push("lightbox=1"),"auto"!=a&&f.push("target="+a),null!=b&&b!=mxConstants.NONE&&f.push("highlight="+("#"==b.charAt(0)?b.substring(1):b)),
+null!=n&&0<n.length&&f.push("edit="+encodeURIComponent(n)),g&&f.push("layers=1"),this.editor.graph.foldingEnabled&&f.push("nav=1"));c&&null!=this.currentPage&&null!=this.pages&&this.currentPage!=this.pages[0]&&f.push("page-id="+this.currentPage.getId());a=!0;null!=l?c="#U"+encodeURIComponent(l):(d=this.getCurrentFile(),v||null==d||d.constructor!=window.DriveFile?c="#R"+encodeURIComponent(c?this.getFileData(!0,null,null,null,null,null,null,!0,null,!1):Graph.compress(mxUtils.getXml(this.editor.getGraphXml()))):
+(c="#"+d.getHash(),a=!1));a&&null!=d&&null!=d.getTitle()&&d.getTitle()!=this.defaultFilename&&f.push("title="+encodeURIComponent(d.getTitle()));return(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||!/.*\.draw\.io$/.test(window.location.hostname)?EditorUi.drawHost:"https://"+window.location.host+"/")+(0<f.length?"?"+f.join("&"):"")+c};EditorUi.prototype.createHtml=function(a,b,c,e,n,g,l,v,t,m,y){this.getBasenames();var d={};""!=n&&n!=mxConstants.NONE&&(d.highlight=n);"auto"!==e&&(d.target=e);t||(d.lightbox=
+!1);d.nav=this.editor.graph.foldingEnabled;c=parseInt(c);isNaN(c)||100==c||(d.zoom=c/100);c=[];l&&(c.push("pages"),d.resize=!0,null!=this.pages&&null!=this.currentPage&&(d.page=mxUtils.indexOf(this.pages,this.currentPage)));b&&(c.push("zoom"),d.resize=!0);v&&c.push("layers");0<c.length&&(t&&c.push("lightbox"),d.toolbar=c.join(" "));null!=m&&0<m.length&&(d.edit=m);null!=a?d.url=a:d.xml=this.getFileData(!0,null,null,null,null,!l);b='<div class="mxgraph" style="'+(g?"max-width:100%;":"")+(""!=c?"border:1px solid transparent;":
+"")+'" data-mxgraph="'+mxUtils.htmlEntities(JSON.stringify(d))+'"></div>';a=null!=a?"&fetch="+encodeURIComponent(a):"";y(b,'<script type="text/javascript" src="'+(0<a.length?("1"==urlParams.dev?"https://test.draw.io/embed2.js?dev=1":EditorUi.drawHost+"/embed2.js?")+a:"1"==urlParams.dev?"https://test.draw.io/js/viewer.min.js":window.VIEWER_URL?window.VIEWER_URL:EditorUi.drawHost+"/js/viewer.min.js")+'">\x3c/script>')};EditorUi.prototype.showHtmlDialog=function(a,b,c,e){var d=document.createElement("div");
+d.style.whiteSpace="nowrap";var f=document.createElement("h3");mxUtils.write(f,mxResources.get("html"));f.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";d.appendChild(f);var k=document.createElement("div");k.style.cssText="border-bottom:1px solid lightGray;padding-bottom:8px;margin-bottom:12px;";var l=document.createElement("input");l.style.cssText="margin-right:8px;margin-top:8px;margin-bottom:8px;";l.setAttribute("value","url");l.setAttribute("type","radio");l.setAttribute("name",
+"type-embedhtmldialog");f=l.cloneNode(!0);f.setAttribute("value","copy");k.appendChild(f);var t=document.createElement("span");mxUtils.write(t,mxResources.get("includeCopyOfMyDiagram"));k.appendChild(t);mxUtils.br(k);k.appendChild(l);t=document.createElement("span");mxUtils.write(t,mxResources.get("publicDiagramUrl"));k.appendChild(t);var x=this.getCurrentFile();null==c&&null!=x&&x.constructor==window.DriveFile&&(t=document.createElement("a"),t.style.paddingLeft="12px",t.style.color="gray",t.setAttribute("href",
+"javascript:void(0);"),mxUtils.write(t,mxResources.get("share")),k.appendChild(t),mxEvent.addListener(t,"click",mxUtils.bind(this,function(){this.hideDialog();this.drive.showPermissions(x.getId())})));f.setAttribute("checked","checked");null==c&&l.setAttribute("disabled","disabled");d.appendChild(k);var y=this.addLinkSection(d),m=this.addCheckbox(d,mxResources.get("zoom"),!0,null,!0);mxUtils.write(d,":");var p=document.createElement("input");p.setAttribute("type","text");p.style.marginRight="16px";
+p.style.width="60px";p.style.marginLeft="4px";p.style.marginRight="12px";p.value="100%";d.appendChild(p);var q=this.addCheckbox(d,mxResources.get("fit"),!0),k=null!=this.pages&&1<this.pages.length,u=u=this.addCheckbox(d,mxResources.get("allPages"),k,!k),z=this.addCheckbox(d,mxResources.get("layers"),!0),I=this.addCheckbox(d,mxResources.get("lightbox"),!0),C=this.addEditButton(d,I),F=C.getEditInput();F.style.marginBottom="16px";mxEvent.addListener(I,"change",function(){I.checked?F.removeAttribute("disabled"):
+F.setAttribute("disabled","disabled");F.checked&&I.checked?C.getEditSelect().removeAttribute("disabled"):C.getEditSelect().setAttribute("disabled","disabled")});a=new CustomDialog(this,d,mxUtils.bind(this,function(){e(l.checked?c:null,m.checked,p.value,y.getTarget(),y.getColor(),q.checked,u.checked,z.checked,I.checked,C.getLink())}),null,a,b);this.showDialog(a.container,340,384,!0,!0);f.focus()};EditorUi.prototype.showPublishLinkDialog=function(a,b,c,e,n,g){var d=document.createElement("div");d.style.whiteSpace=
+"nowrap";var f=document.createElement("h3");mxUtils.write(f,a||mxResources.get("link"));f.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";d.appendChild(f);var k=this.getCurrentFile(),f="https://desk.draw.io/support/solutions/articles/16000051941";a=0;if(null!=k&&k.constructor==window.DriveFile&&!b){a=80;var f="https://desk.draw.io/support/solutions/articles/16000039384",l=document.createElement("div");l.style.cssText="border-bottom:1px solid lightGray;padding-bottom:14px;padding-top:6px;margin-bottom:14px;text-align:center;";
+var x=document.createElement("div");x.style.whiteSpace="normal";mxUtils.write(x,mxResources.get("linkAccountRequired"));l.appendChild(x);x=mxUtils.button(mxResources.get("share"),mxUtils.bind(this,function(){this.drive.showPermissions(k.getId())}));x.style.marginTop="12px";x.className="geBtn";l.appendChild(x);d.appendChild(l);x=document.createElement("a");x.style.paddingLeft="12px";x.style.color="gray";x.style.fontSize="11px";x.setAttribute("href","javascript:void(0);");mxUtils.write(x,mxResources.get("check"));
+l.appendChild(x);mxEvent.addListener(x,"click",mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("loading"))&&this.getPublicUrl(this.getCurrentFile(),mxUtils.bind(this,function(a){this.spinner.stop();a=new ErrorDialog(this,null,mxResources.get(null!=a?"diagramIsPublic":"diagramIsNotPublic"),mxResources.get("ok"));this.showDialog(a.container,300,80,!0,!1);a.init()}))}))}var m=null,p=null;if(null!=c||null!=e)a+=30,mxUtils.write(d,mxResources.get("width")+":"),m=document.createElement("input"),
+m.setAttribute("type","text"),m.style.marginRight="16px",m.style.width="50px",m.style.marginLeft="6px",m.style.marginRight="16px",m.style.marginBottom="10px",m.value="100%",d.appendChild(m),mxUtils.write(d,mxResources.get("height")+":"),p=document.createElement("input"),p.setAttribute("type","text"),p.style.width="50px",p.style.marginLeft="6px",p.style.marginBottom="10px",p.value=e+"px",d.appendChild(p),mxUtils.br(d);var q=this.addLinkSection(d,g);c=null!=this.pages&&1<this.pages.length;var u=null;
+if(null==k||k.constructor!=window.DriveFile||b)u=this.addCheckbox(d,mxResources.get("allPages"),c,!c);var z=this.addCheckbox(d,mxResources.get("lightbox"),!0),I=this.addEditButton(d,z),C=I.getEditInput(),F=this.addCheckbox(d,mxResources.get("layers"),!0);F.style.marginLeft=C.style.marginLeft;F.style.marginBottom="16px";F.style.marginTop="8px";mxEvent.addListener(z,"change",function(){z.checked?(F.removeAttribute("disabled"),C.removeAttribute("disabled")):(F.setAttribute("disabled","disabled"),C.setAttribute("disabled",
+"disabled"));C.checked&&z.checked?I.getEditSelect().removeAttribute("disabled"):I.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,d,mxUtils.bind(this,function(){n(q.getTarget(),q.getColor(),null==u?!0:u.checked,z.checked,I.getLink(),F.checked,null!=m?m.value:null,null!=p?p.value:null)}),null,mxResources.get("create"),f);this.showDialog(b.container,340,254+a,!0,!0);null!=m?(m.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?m.select():
+document.execCommand("selectAll",!1,null)):q.focus()};EditorUi.prototype.showRemoteExportDialog=function(a,b,c,e,n){var d=document.createElement("div");d.style.whiteSpace="nowrap";var f=document.createElement("h3");mxUtils.write(f,mxResources.get("image"));f.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:"+(n?"10":"4")+"px";d.appendChild(f);if(n){mxUtils.write(d,mxResources.get("zoom")+":");var k=document.createElement("input");k.setAttribute("type","text");k.style.marginRight=
+"16px";k.style.width="60px";k.style.marginLeft="4px";k.style.marginRight="12px";k.value=this.lastExportZoom||"100%";d.appendChild(k);mxUtils.write(d,mxResources.get("borderWidth")+":");var l=document.createElement("input");l.setAttribute("type","text");l.style.marginRight="16px";l.style.width="60px";l.style.marginLeft="4px";l.value=this.lastExportBorder||"0";d.appendChild(l);mxUtils.br(d)}var x=this.addCheckbox(d,mxResources.get("selectionOnly"),!1,this.editor.graph.isSelectionEmpty()),y=e?null:this.addCheckbox(d,
+mxResources.get("includeCopyOfMyDiagram"),!0),f=this.editor.graph,m=e?null:this.addCheckbox(d,mxResources.get("transparentBackground"),f.background==mxConstants.NONE||null==f.background);null!=m&&(m.style.marginBottom="16px");a=new CustomDialog(this,d,mxUtils.bind(this,function(){var a=parseInt(k.value)/100||1,d=parseInt(l.value)||0;c(!x.checked,null!=y?y.checked:!1,null!=m?m.checked:!1,a,d)}),null,a,b);this.showDialog(a.container,300,(n?25:0)+(e?125:210),!0,!0)};EditorUi.prototype.showExportDialog=
+function(a,b,c,e,n,g,l,m){l=null!=l?l:!0;var d=document.createElement("div");d.style.whiteSpace="nowrap";var f=this.editor.graph,k="jpeg"==m?196:300,x=document.createElement("h3");mxUtils.write(x,a);x.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:10px";d.appendChild(x);mxUtils.write(d,mxResources.get("zoom")+":");var p=document.createElement("input");p.setAttribute("type","text");p.style.marginRight="16px";p.style.width="60px";p.style.marginLeft="4px";p.style.marginRight=
+"12px";p.value=this.lastExportZoom||"100%";d.appendChild(p);mxUtils.write(d,mxResources.get("borderWidth")+":");var v=document.createElement("input");v.setAttribute("type","text");v.style.marginRight="16px";v.style.width="60px";v.style.marginLeft="4px";v.value=this.lastExportBorder||"0";d.appendChild(v);mxUtils.br(d);var q=this.addCheckbox(d,mxResources.get("transparentBackground"),!1,null,null,"jpeg"!=m),A=this.addCheckbox(d,mxResources.get("selectionOnly"),!1,f.isSelectionEmpty()),u=document.createElement("input");
+u.style.marginTop="16px";u.style.marginRight="8px";u.style.marginLeft="24px";u.setAttribute("disabled","disabled");u.setAttribute("type","checkbox");g&&(d.appendChild(u),mxUtils.write(d,mxResources.get("crop")),mxUtils.br(d),k+=26,mxEvent.addListener(A,"change",function(){A.checked?u.removeAttribute("disabled"):u.setAttribute("disabled","disabled")}));f.isSelectionEmpty()||(u.setAttribute("checked","checked"),u.defaultChecked=!0);var z=this.addCheckbox(d,mxResources.get("shadow"),f.shadowVisible),
+C=document.createElement("input");C.style.marginTop="16px";C.style.marginRight="8px";C.setAttribute("type","checkbox");!this.isOffline()&&this.canvasSupported||C.setAttribute("disabled","disabled");b&&(d.appendChild(C),mxUtils.write(d,mxResources.get("embedImages")),mxUtils.br(d),k+=26);var G=null;if("png"==m||"jpeg"==m)G=this.addCheckbox(d,mxResources.get("grid"),!1,this.isOffline()||!this.canvasSupported,!1,!0),k+=26;var P=this.addCheckbox(d,mxResources.get("includeCopyOfMyDiagram"),l,null,null,
+"jpeg"!=m),V=null!=this.pages&&1<this.pages.length,aa=this.addCheckbox(d,V?mxResources.get("allPages"):"",V,!V,null,"jpeg"!=m);aa.style.marginLeft="24px";aa.style.marginBottom="16px";V?k+=26:aa.style.display="none";mxEvent.addListener(P,"change",function(){P.checked&&V?aa.removeAttribute("disabled"):aa.setAttribute("disabled","disabled")});l&&V||aa.setAttribute("disabled","disabled");var W=document.createElement("select");W.style.maxWidth="260px";W.style.marginLeft="8px";W.style.marginRight="10px";
+W.className="geBtn";a=document.createElement("option");a.setAttribute("value","auto");mxUtils.write(a,mxResources.get("automatic"));W.appendChild(a);a=document.createElement("option");a.setAttribute("value","blank");mxUtils.write(a,mxResources.get("openInNewWindow"));W.appendChild(a);a=document.createElement("option");a.setAttribute("value","self");mxUtils.write(a,mxResources.get("openInThisWindow"));W.appendChild(a);"svg"==m&&(mxUtils.write(d,mxResources.get("links")+":"),d.appendChild(W),mxUtils.br(d),
+mxUtils.br(d),k+=26);c=new CustomDialog(this,d,mxUtils.bind(this,function(){this.lastExportBorder=v.value;this.lastExportZoom=p.value;n(p.value,q.checked,!A.checked,z.checked,P.checked,C.checked,v.value,u.checked,!aa.checked,W.value,null!=G?G.checked:null)}),null,c,e);this.showDialog(c.container,340,k,!0,!0,null,null,null,null,!0);p.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?p.select():document.execCommand("selectAll",!1,null)};EditorUi.prototype.showEmbedImageDialog=
+function(a,b,c,e,n){var d=document.createElement("div");d.style.whiteSpace="nowrap";var f=this.editor.graph;if(null!=b){var k=document.createElement("h3");mxUtils.write(k,b);k.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";d.appendChild(k)}var l=this.addCheckbox(d,mxResources.get("fit"),!0),x=this.addCheckbox(d,mxResources.get("shadow"),f.shadowVisible&&e,!e),m=this.addCheckbox(d,c),q=this.addCheckbox(d,mxResources.get("lightbox"),!0),p=this.addEditButton(d,q),u=p.getEditInput(),
+z=1<f.model.getChildCount(f.model.getRoot()),C=this.addCheckbox(d,mxResources.get("layers"),z,!z);C.style.marginLeft=u.style.marginLeft;C.style.marginBottom="12px";C.style.marginTop="8px";mxEvent.addListener(q,"change",function(){q.checked?(z&&C.removeAttribute("disabled"),u.removeAttribute("disabled")):(C.setAttribute("disabled","disabled"),u.setAttribute("disabled","disabled"));u.checked&&q.checked?p.getEditSelect().removeAttribute("disabled"):p.getEditSelect().setAttribute("disabled","disabled")});
+b=new CustomDialog(this,d,mxUtils.bind(this,function(){a(l.checked,x.checked,m.checked,q.checked,p.getLink(),C.checked)}),null,mxResources.get("embed"),n);this.showDialog(b.container,280,280,!0,!0)};EditorUi.prototype.createEmbedImage=function(a,b,c,e,n,g,l,m){function d(d){var b=" ",k="";e&&(b=" onclick=\"(function(img){if(img.wnd!=null&&!img.wnd.closed){img.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==img.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd=window.open('"+
+EditorUi.drawHost+"/?client=1&lightbox=1"+(n?"&edit=_blank":"")+(g?"&layers=1":"")+"');}})(this);\"",k+="cursor:pointer;");a&&(k+="max-width:100%;");var p="";c&&(p=' width="'+Math.round(f.width)+'" height="'+Math.round(f.height)+'"');l('<img src="'+d+'"'+p+(""!=k?' style="'+k+'"':"")+b+"/>")}var f=this.editor.graph.getGraphBounds();if(this.isExportToCanvas())this.exportToCanvas(mxUtils.bind(this,function(a){var b=e?this.getFileData(!0):null;a=this.createImageDataUri(a,b,"png");d(a)}),null,null,null,
+mxUtils.bind(this,function(a){m({message:mxResources.get("unknownError")})}),null,!0,c?2:1,null,b);else if(b=this.getFileData(!0),f.width*f.height<=MAX_AREA&&b.length<=MAX_REQUEST_SIZE){var k="";c&&(k="&w="+Math.round(2*f.width)+"&h="+Math.round(2*f.height));var x=new mxXmlRequest(EXPORT_URL,"format=png&base64=1&embedXml="+(e?"1":"0")+k+"&xml="+encodeURIComponent(b));x.send(mxUtils.bind(this,function(){200<=x.getStatus()&&299>=x.getStatus()?d("data:image/png;base64,"+x.getText()):m({message:mxResources.get("unknownError")})}))}else m({message:mxResources.get("drawingTooLarge")})};
+EditorUi.prototype.createEmbedSvg=function(a,b,c,e,n,g,l){var d=this.editor.graph.getSvg(null,null,null,null,null,null,null,null,null,null,!c),f=d.getElementsByTagName("a");if(null!=f)for(var k=0;k<f.length;k++){var x=f[k].getAttribute("href");null!=x&&"#"==x.charAt(0)&&"_blank"==f[k].getAttribute("target")&&f[k].removeAttribute("target")}e&&d.setAttribute("content",this.getFileData(!0));b&&this.editor.graph.addSvgShadow(d);if(c){var m=" ",p="";e&&(m="onclick=\"(function(img){if(img.wnd!=null&&!img.wnd.closed){img.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==img.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd=window.open('"+
+EditorUi.drawHost+"/?client=1&lightbox=1"+(n?"&edit=_blank":"")+(g?"&layers=1":"")+"');}})(this);\"",p+="cursor:pointer;");a&&(p+="max-width:100%;");this.convertImages(d,mxUtils.bind(this,function(a){l('<img src="'+this.createSvgDataUri(mxUtils.getXml(a))+'"'+(""!=p?' style="'+p+'"':"")+m+"/>")}))}else p="",e&&(d.setAttribute("onclick","(function(svg){var src=window.event.target||window.event.srcElement;while (src!=null&&src.nodeName.toLowerCase()!='a'){src=src.parentNode;}if(src==null){if(svg.wnd!=null&&!svg.wnd.closed){svg.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==svg.wnd){svg.wnd.postMessage(decodeURIComponent(svg.getAttribute('content')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);svg.wnd=window.open('"+
+EditorUi.drawHost+"/?client=1&lightbox=1"+(n?"&edit=_blank":"")+(g?"&layers=1":"")+"');}}})(this);"),p+="cursor:pointer;"),a&&(a=parseInt(d.getAttribute("width")),b=parseInt(d.getAttribute("height")),d.setAttribute("viewBox","-0.5 -0.5 "+a+" "+b),p+="max-width:100%;max-height:"+b+"px;",d.removeAttribute("height")),""!=p&&d.setAttribute("style",p),this.editor.addFontCss(d),this.editor.graph.mathEnabled&&this.editor.addMathCss(d),l(mxUtils.getXml(d))};EditorUi.prototype.timeSince=function(a){a=Math.floor((new Date-
+a)/1E3);var d=Math.floor(a/31536E3);if(1<d)return d+" "+mxResources.get("years");d=Math.floor(a/2592E3);if(1<d)return d+" "+mxResources.get("months");d=Math.floor(a/86400);if(1<d)return d+" "+mxResources.get("days");d=Math.floor(a/3600);if(1<d)return d+" "+mxResources.get("hours");d=Math.floor(a/60);return 1<d?d+" "+mxResources.get("minutes"):1==d?d+" "+mxResources.get("minute"):null};EditorUi.prototype.decodeNodeIntoGraph=function(a,b){if(null!=a){var d=null;if("diagram"==a.nodeName)d=a;else if("mxfile"==
+a.nodeName){var c=a.getElementsByTagName("diagram");if(0<c.length){var d=c[0],f=b.getGlobalVariable;b.getGlobalVariable=function(a){return"page"==a?d.getAttribute("name")||mxResources.get("pageWithNumber",[1]):"pagenumber"==a?1:f.apply(this,arguments)}}}null!=d&&(a=Editor.parseDiagramNode(d))}c=this.editor.graph;try{this.editor.graph=b,this.editor.setGraphXml(a)}catch(g){}finally{this.editor.graph=c}return a};EditorUi.prototype.getEmbeddedPng=function(a,b,c){try{var d=this.editor.graph,f=null;if(null!=
+c&&0<c.length)d=this.createTemporaryGraph(this.editor.graph.getStylesheet()),document.body.appendChild(d.container),this.decodeNodeIntoGraph(this.editor.extractGraphModel(mxUtils.parseXml(c).documentElement,!0),d),f=c;else if(null!=this.pages&&this.currentPage!=this.pages[0]){var d=this.createTemporaryGraph(d.getStylesheet()),e=d.getGlobalVariable,k=this.pages[0];d.getGlobalVariable=function(a){return"page"==a?k.getName():"pagenumber"==a?1:e.apply(this,arguments)};document.body.appendChild(d.container);
+d.model.setRoot(k.root)}this.exportToCanvas(mxUtils.bind(this,function(c){try{null==f&&(f=this.getFileData(!0,null,null,null,null,null,null,null,null,!1));var e=c.toDataURL("image/png"),e=this.writeGraphModelToPng(e,"tEXt","mxfile",encodeURIComponent(f));a(e.substring(e.lastIndexOf(",")+1));d!=this.editor.graph&&d.container.parentNode.removeChild(d.container)}catch(E){null!=b&&b(E)}}),null,null,null,mxUtils.bind(this,function(a){null!=b&&b(a)}),null,null,null,null,d.shadowVisible,null,d)}catch(v){null!=
+b&&b(v)}};EditorUi.prototype.getEmbeddedSvg=function(a,b,c,e,l,g,m,v){v=null!=v?v:!0;m=b.background;m==mxConstants.NONE&&(m=null);g=b.getSvg(m,null,null,null,null,g);b.shadowVisible&&b.addSvgShadow(g);null!=a&&g.setAttribute("content",a);null!=c&&g.setAttribute("resource",c);if(null!=l)this.embedFonts(g,mxUtils.bind(this,function(a){v?this.convertImages(a,mxUtils.bind(this,function(a){l((e?"":'<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n')+
+mxUtils.getXml(a))})):l((e?"":'<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n')+mxUtils.getXml(a))}));else return(e?"":'<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n')+mxUtils.getXml(g)};EditorUi.prototype.embedFonts=function(a,b){this.loadFonts(mxUtils.bind(this,function(){try{null!=this.editor.resolvedFontCss&&
+this.editor.addFontCss(a,this.editor.resolvedFontCss),this.embedExtFonts(mxUtils.bind(this,function(d){try{null!=d&&this.editor.addFontCss(a,d),b(a)}catch(x){b(a)}}))}catch(k){b(a)}}))};EditorUi.prototype.exportImage=function(a,b,c,e,l,g,m,v,t,q,y){t=null!=t?t:"png";if(this.spinner.spin(document.body,mxResources.get("exporting"))){var d=this.editor.graph.isSelectionEmpty();c=null!=c?c:d;null==this.thumbImageCache&&(this.thumbImageCache={});try{this.exportToCanvas(mxUtils.bind(this,function(a){this.spinner.stop();
+try{this.saveCanvas(a,l?this.getFileData(!0,null,null,null,c,v):null,t,null==this.pages||0==this.pages.length,y)}catch(B){"Invalid image"==B.message?this.downloadFile(t):this.handleError(B)}}),null,this.thumbImageCache,null,mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}),null,c,a||1,b,e,null,null,g,m,q)}catch(p){this.spinner.stop(),this.handleError(p)}}};EditorUi.prototype.embedCssFonts=function(a,b){function d(a){return a.replace(RegExp("^[\\s\"']+","g"),"").replace(RegExp("[\\s\"']+$",
+"g"),"")}var c=a.split("url("),f=0;null==this.cachedFonts&&(this.cachedFonts={});var e=mxUtils.bind(this,function(){if(0==f){for(var a=[c[0]],e=1;e<c.length;e++){var k=c[e].indexOf(")");a.push('url("');a.push(this.cachedFonts[d(c[e].substring(0,k))]);a.push('"'+c[e].substring(k))}b(a.join(""))}});if(0<c.length){for(var l=1;l<c.length;l++){var m=c[l].indexOf(")"),t=null,q=c[l].indexOf("format(",m);0<q&&(t=d(c[l].substring(q+7,c[l].indexOf(")",q))));mxUtils.bind(this,function(a){if(null==this.cachedFonts[a]){this.cachedFonts[a]=
+a;f++;var d="application/x-font-ttf";if("svg"==t||/(\.svg)($|\?)/i.test(a))d="image/svg+xml";else if("otf"==t||"embedded-opentype"==t||/(\.otf)($|\?)/i.test(a))d="application/x-font-opentype";else if("woff"==t||/(\.woff)($|\?)/i.test(a))d="application/font-woff";else if("woff2"==t||/(\.woff2)($|\?)/i.test(a))d="application/font-woff2";else if("eot"==t||/(\.eot)($|\?)/i.test(a))d="application/vnd.ms-fontobject";else if("sfnt"==t||/(\.sfnt)($|\?)/i.test(a))d="application/font-sfnt";var b=a;/^https?:\/\//.test(b)&&
+!this.editor.isCorsEnabledForUrl(b)&&(b=PROXY_URL+"?url="+encodeURIComponent(a));this.loadUrl(b,mxUtils.bind(this,function(d){this.cachedFonts[a]=d;f--;e()}),mxUtils.bind(this,function(a){f--;e()}),!0,null,"data:"+d+";charset=utf-8;base64,")}})(d(c[l].substring(0,m)),t)}e()}else b(a)};EditorUi.prototype.loadFonts=function(a){null!=this.editor.fontCss&&null==this.editor.resolvedFontCss?this.embedCssFonts(this.editor.fontCss,mxUtils.bind(this,function(d){this.editor.resolvedFontCss=d;a()})):a()};EditorUi.prototype.embedExtFonts=
+function(a){var d=this.editor.graph.extFonts;if(null!=d&&0<d.length){var b="",c=0;null==this.cachedGoogleFonts&&(this.cachedGoogleFonts={});for(var e=mxUtils.bind(this,function(){0==c&&this.embedCssFonts(b,a)}),g=0;g<d.length;g++){var l=d[g].name,m=d[g].url;0==m.indexOf(Editor.GOOGLE_FONTS)?null==this.cachedGoogleFonts[m]?(c++,this.loadUrl(m,mxUtils.bind(this,function(a){this.cachedGoogleFonts[m]=a;b+=a;c--;e()}),mxUtils.bind(this,function(a){c--;b+="@import url("+m+");";e()}))):b+=this.cachedGoogleFonts[m]:
+b+='@font-face {font-family: "'+l+'";src: url("'+m+'");}'}e()}else a()};EditorUi.prototype.exportToCanvas=function(a,b,c,e,l,g,m,v,t,q,y,u,p,B,z){try{g=null!=g?g:!0;m=null!=m?m:!0;u=null!=u?u:this.editor.graph;p=null!=p?p:0;var d=t?null:u.background;d==mxConstants.NONE&&(d=null);null==d&&(d=e);null==d&&0==t&&(d="#ffffff");this.convertImages(u.getSvg(null,null,null,B,null,m,null,null,null,q),mxUtils.bind(this,function(c){try{var f=new Image;f.onload=mxUtils.bind(this,function(){try{var e=function(){mxClient.IS_SF?
+window.setTimeout(function(){t.drawImage(f,p/v,p/v);a(k)},0):(t.drawImage(f,p/v,p/v),a(k))},k=document.createElement("canvas"),n=parseInt(c.getAttribute("width")),m=parseInt(c.getAttribute("height"));v=null!=v?v:1;null!=b&&(v=g?Math.min(1,Math.min(3*b/(4*m),b/n)):b/n);n=Math.ceil(v*n)+2*p;m=Math.ceil(v*m)+2*p;k.setAttribute("width",n);k.setAttribute("height",m);var t=k.getContext("2d");null!=d&&(t.beginPath(),t.rect(0,0,n,m),t.fillStyle=d,t.fill());t.scale(v,v);if(z){var x=u.view,y=x.scale;x.scale=
+1;var q=btoa(unescape(encodeURIComponent(x.createSvgGrid(x.gridColor))));x.scale=y;var q="data:image/svg+xml;base64,"+q,A=u.gridSize*x.gridSteps*v,B=u.getGraphBounds(),D=x.translate.x*y,E=x.translate.y*y,I=D+(B.x-D)/y,C=E+(B.y-E)/y,F=new Image;F.onload=function(){try{for(var a=-Math.round(A-mxUtils.mod((D-I)*v,A)),d=-Math.round(A-mxUtils.mod((E-C)*v,A));a<n;a+=A)for(var b=d;b<m;b+=A)t.drawImage(F,a/v,b/v);e()}catch(J){null!=l&&l(J)}};F.onerror=function(a){null!=l&&l(a)};F.src=q}else e()}catch(R){null!=
+l&&l(R)}});f.onerror=function(a){null!=l&&l(a)};q&&this.editor.graph.addSvgShadow(c);this.editor.graph.mathEnabled&&this.editor.addMathCss(c);var e=mxUtils.bind(this,function(){try{null!=this.editor.resolvedFontCss&&this.editor.addFontCss(c,this.editor.resolvedFontCss),f.src=this.createSvgDataUri(mxUtils.getXml(c))}catch(G){null!=l&&l(G)}});this.embedExtFonts(mxUtils.bind(this,function(a){try{null!=a&&this.editor.addFontCss(c,a),this.loadFonts(e)}catch(P){null!=l&&l(P)}}))}catch(G){null!=l&&l(G)}}),
+c,y)}catch(I){null!=l&&l(I)}};EditorUi.prototype.createImageUrlConverter=function(){var a=new mxUrlConverter;a.updateBaseUrl();var b=a.convert,c=this;a.convert=function(d){if(null!=d){var f="http://"==d.substring(0,7)||"https://"==d.substring(0,8);f&&!navigator.onLine?d=c.svgBrokenImage.src:!f||d.substring(0,a.baseUrl.length)==a.baseUrl||c.crossOriginImages&&c.editor.isCorsEnabledForUrl(d)?"chrome-extension://"==d.substring(0,19)||mxClient.IS_CHROMEAPP||(d=b.apply(this,arguments)):d=PROXY_URL+"?url="+
+encodeURIComponent(d)}return d};return a};EditorUi.prototype.convertImages=function(a,b,c,e){null==e&&(e=this.createImageUrlConverter());var d=0,f=c||{};c=mxUtils.bind(this,function(c,k){for(var g=a.getElementsByTagName(c),l=0;l<g.length;l++)mxUtils.bind(this,function(c){try{if(null!=c){var g=e.convert(c.getAttribute(k));if(null!=g&&"data:"!=g.substring(0,5)){var l=f[g];null==l?(d++,this.convertImageToDataUri(g,function(e){null!=e&&(f[g]=e,c.setAttribute(k,e));d--;0==d&&b(a)})):c.setAttribute(k,l)}else null!=
+g&&c.setAttribute(k,g)}}catch(B){}})(g[l])});c("image","xlink:href");c("img","src");0==d&&b(a)};EditorUi.prototype.loadUrl=function(a,b,c,e,l,g,m){try{var d=!m&&(e||/(\.png)($|\?)/i.test(a)||/(\.jpe?g)($|\?)/i.test(a)||/(\.gif)($|\?)/i.test(a)||/(\.pdf)($|\?)/i.test(a));l=null!=l?l:!0;var f=mxUtils.bind(this,function(){mxUtils.get(a,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus()){if(null!=b){var f=a.getText();if(d){if((9==document.documentMode||10==document.documentMode)&&
+"undefined"!==typeof window.mxUtilsBinaryToArray){a=mxUtilsBinaryToArray(a.request.responseBody).toArray();for(var f=Array(a.length),e=0;e<a.length;e++)f[e]=String.fromCharCode(a[e]);f=f.join("")}g=null!=g?g:"data:image/png;base64,";f=g+this.base64Encode(f)}b(f)}}else null!=c&&c({message:mxResources.get("error")+" "+a.getStatus()},a)}),function(a){null!=c&&c({message:mxResources.get("error")+" "+a.getStatus()})},d,this.timeout,function(){l&&null!=c&&c({code:App.ERROR_TIMEOUT,retry:f})})});f()}catch(E){null!=
+c&&c(E)}};EditorUi.prototype.isCorsEnabledForUrl=function(a){return this.editor.isCorsEnabledForUrl(a)};EditorUi.prototype.convertImageToDataUri=function(a,b){try{var d=!0,c=window.setTimeout(mxUtils.bind(this,function(){d=!1;b(this.svgBrokenImage.src)}),this.timeout);if(/(\.svg)$/i.test(a))mxUtils.get(a,mxUtils.bind(this,function(a){window.clearTimeout(c);d&&b(this.createSvgDataUri(a.getText()))}),function(){window.clearTimeout(c);d&&b(this.svgBrokenImage.src)});else{var f=new Image,e=this;this.crossOriginImages&&
+(f.crossOrigin="anonymous");f.onload=function(){window.clearTimeout(c);if(d)try{var a=document.createElement("canvas"),k=a.getContext("2d");a.height=f.height;a.width=f.width;k.drawImage(f,0,0);b(a.toDataURL())}catch(t){b(e.svgBrokenImage.src)}};f.onerror=function(){window.clearTimeout(c);d&&b(e.svgBrokenImage.src)};f.src=a}}catch(A){b(this.svgBrokenImage.src)}};EditorUi.prototype.importXml=function(a,b,c,e,l){b=null!=b?b:0;c=null!=c?c:0;var d=[];try{var f=this.editor.graph;if(null!=a&&0<a.length){f.model.beginUpdate();
 try{var k=mxUtils.parseXml(a);a={};var n=this.editor.extractGraphModel(k.documentElement,null!=this.pages);if(null!=n&&"mxfile"==n.nodeName&&null!=this.pages){var m=n.getElementsByTagName("diagram");if(1==m.length)n=Editor.parseDiagramNode(m[0]),null!=this.currentPage&&(a[m[0].getAttribute("id")]=this.currentPage.getId());else if(1<m.length){var k=[],x=0;null!=this.pages&&1==this.pages.length&&this.isDiagramEmpty()&&(a[m[0].getAttribute("id")]=this.pages[0].getId(),n=Editor.parseDiagramNode(m[0]),
-f=!1,x=1);for(;x<m.length;x++){var q=m[x].getAttribute("id");m[x].removeAttribute("id");var p=this.updatePageRoot(new DiagramPage(m[x]));a[q]=m[x].getAttribute("id");var u=this.pages.length;null==p.getName()&&p.setName(mxResources.get("pageWithNumber",[u+1]));e.model.execute(new ChangePage(this,p,p,u,!0));k.push(p)}this.updatePageLinks(a,k)}}if(null!=n&&"mxGraphModel"===n.nodeName)for(c=e.importGraphModel(n,b,d,f),x=0;x<c.length;x++)this.updatePageLinksForCell(a,c[x])}finally{e.model.endUpdate()}}}catch(L){if(l)throw L;
-this.handleError(L)}return c};EditorUi.prototype.updatePageLinks=function(a,b){for(var c=0;c<b.length;c++)this.updatePageLinksForCell(a,b[c].root)};EditorUi.prototype.updatePageLinksForCell=function(a,b){var c=document.createElement("div"),d=this.editor.graph,e=d.getLinkForCell(b);null!=e&&d.setLinkForCell(b,this.updatePageLink(a,e));if(d.isHtmlLabel(b)){c.innerHTML=d.getLabel(b);for(var f=c.getElementsByTagName("a"),l=!1,m=0;m<f.length;m++)e=f[m].getAttribute("href"),null!=e&&(f[m].setAttribute("href",
-this.updatePageLink(a,e)),l=!0);l&&d.labelChanged(b,c.innerHTML)}for(m=0;m<d.model.getChildCount(b);m++)this.updatePageLinksForCell(a,d.model.getChildAt(b,m))};EditorUi.prototype.updatePageLink=function(a,b){if("data:page/id,"==b.substring(0,13)){var c=a[b.substring(b.indexOf(",")+1)];b=null!=c?"data:page/id,"+c:null}else if("data:action/json,"==b.substring(0,17))try{var d=JSON.parse(b.substring(17));if(null!=d.actions){for(var e=0;e<d.actions.length;e++){var f=d.actions[e];null!=f.open&&"data:page/id,"==
-f.open.substring(0,13)&&(c=a[f.open.substring(f.open.indexOf(",")+1)],null!=c?f.open="data:page/id,"+c:delete f.open)}b="data:action/json,"+JSON.stringify(d)}}catch(A){}return b};EditorUi.prototype.isRemoteVisioFormat=function(a){return/(\.v(sd|dx))($|\?)/i.test(a)||/(\.vs(s|x))($|\?)/i.test(a)};EditorUi.prototype.importVisio=function(a,b,d,f){f=null!=f?f:a.name;d=null!=d?d:mxUtils.bind(this,function(a){this.handleError(a)});var c=mxUtils.bind(this,function(){this.loadingExtensions=!1;if(this.doImportVisio){var c=
-this.isRemoteVisioFormat(f);try{var e="UNKNOWN-VISIO",k=f.lastIndexOf(".");0<=k&&k<f.length&&(e=f.substring(k+1).toUpperCase());EditorUi.logEvent({category:e+"-MS-IMPORT-FILE",action:"filename_"+f,label:c?"remote":"local"})}catch(D){}if(c)if(null!=VSD_CONVERT_URL){c=new FormData;c.append("file1",a,f);var l=new XMLHttpRequest;l.open("POST",VSD_CONVERT_URL);l.responseType="blob";this.addRemoteServiceSecurityCheck(l);l.onreadystatechange=mxUtils.bind(this,function(){if(4==l.readyState)if(200<=l.status&&
-299>=l.status)try{var a=l.response;if("text/xml"==a.type){var c=new FileReader;c.onload=mxUtils.bind(this,function(a){try{b(a.target.result)}catch(p){d({message:mxResources.get("errorLoadingFile")})}});c.readAsText(a)}else this.doImportVisio(a,b,d,f)}catch(E){d(E)}else d({})});l.send(c)}else d({message:"conf"==this.getServiceName()?mxResources.get("vsdNoConfig"):mxResources.get("serviceUnavailableOrBlocked")});else try{this.doImportVisio(a,b,d,f)}catch(D){d(D)}}else this.spinner.stop(),this.handleError({message:mxResources.get("serviceUnavailableOrBlocked")})});
-this.doImportVisio||this.loadingExtensions||this.isOffline(!0)?c():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",c))};EditorUi.prototype.importGraphML=function(a,b,d){d=null!=d?d:mxUtils.bind(this,function(a){this.handleError(a)});var c=mxUtils.bind(this,function(){this.loadingExtensions=!1;if(this.doImportGraphML)try{this.doImportGraphML(a,b,d)}catch(n){d(n)}else this.spinner.stop(),this.handleError({message:mxResources.get("serviceUnavailableOrBlocked")})});this.doImportGraphML||this.loadingExtensions||
-this.isOffline(!0)?c():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",c))};EditorUi.prototype.exportVisio=function(){var a=mxUtils.bind(this,function(){this.loadingExtensions=!1;if("undefined"!==typeof VsdxExport)try{(new VsdxExport(this)).exportCurrentDiagrams()||this.handleError({message:mxResources.get("unknownError")})}catch(e){this.handleError(e)}else this.spinner.stop(),this.handleError({message:mxResources.get("serviceUnavailableOrBlocked")})});"undefined"!==typeof VsdxExport||
-this.loadingExtensions||this.isOffline(!0)?a():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",a))};EditorUi.prototype.convertLucidChart=function(a,b,d){var c=mxUtils.bind(this,function(){this.loadingExtensions=!1;if("undefined"!==typeof window.LucidImporter){try{EditorUi.logEvent({category:"LUCIDCHART-IMPORT-FILE",action:"size_"+a.length}),EditorUi.debug("convertLucidChart",a)}catch(n){}try{b(LucidImporter.importState(JSON.parse(a)))}catch(n){null!=window.console&&console.error(n),d(n)}}else d({message:mxResources.get("serviceUnavailableOrBlocked")})});
-"undefined"!==typeof window.LucidImporter||this.loadingExtensions||this.isOffline(!0)?window.setTimeout(c,0):(this.loadingExtensions=!0,"1"==urlParams.dev?mxscript("js/diagramly/Extensions.js",c):mxscript("js/extensions.min.js",c))};EditorUi.prototype.generatePlantUmlImage=function(a,b,d,f){function c(a,c,b){c1=a>>2;c2=(a&3)<<4|c>>4;c3=(c&15)<<2|b>>6;c4=b&63;r="";r+=e(c1&63);r+=e(c2&63);r+=e(c3&63);return r+=e(c4&63)}function e(a){if(10>a)return String.fromCharCode(48+a);a-=10;if(26>a)return String.fromCharCode(65+
-a);a-=26;if(26>a)return String.fromCharCode(97+a);a-=26;return 0==a?"-":1==a?"_":"?"}var k=new XMLHttpRequest;k.open("GET",("txt"==b?PLANT_URL+"/txt/":"png"==b?PLANT_URL+"/png/":PLANT_URL+"/svg/")+function(a){r="";for(i=0;i<a.length;i+=3)r=i+2==a.length?r+c(a.charCodeAt(i),a.charCodeAt(i+1),0):i+1==a.length?r+c(a.charCodeAt(i),0,0):r+c(a.charCodeAt(i),a.charCodeAt(i+1),a.charCodeAt(i+2));return r}(pako.deflateRaw(a,{to:"string"})),!0);"txt"!=b&&(k.responseType="blob");k.onload=function(a){if(200<=
-this.status&&300>this.status)if("txt"==b)d(this.response);else{var c=new FileReader;c.readAsDataURL(this.response);c.onloadend=function(a){var b=new Image;b.onload=function(){try{var a=b.width,e=b.height;if(0==a&&0==e){var k=c.result,g=k.indexOf(","),l=decodeURIComponent(escape(atob(k.substring(g+1)))),n=mxUtils.parseXml(l).getElementsByTagName("svg");0<n.length&&(a=parseFloat(n[0].getAttribute("width")),e=parseFloat(n[0].getAttribute("height")))}d(c.result,a,e)}catch(S){f(S)}};b.src=c.result};c.onerror=
-function(a){f(a)}}else f(a)};k.onerror=function(a){f(a)};k.send()};EditorUi.prototype.insertAsPreText=function(a,b,d){var c=this.editor.graph,e=null;c.getModel().beginUpdate();try{e=c.insertVertex(null,null,"<pre>"+a+"</pre>",b,d,1,1,"text;html=1;align=left;verticalAlign=top;"),c.updateCellSize(e,!0)}finally{c.getModel().endUpdate()}return e};EditorUi.prototype.insertTextAt=function(a,b,d,f,l,g,m){g=null!=g?g:!0;m=null!=m?m:!0;if(null!=a)if(Graph.fileSupport&&!this.isOffline()&&(new XMLHttpRequest).upload&&
-this.isRemoteFileFormat(a))this.parseFile(new Blob([a.replace(/\s+/g," ")],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&200<=a.status&&299>=a.status&&this.editor.graph.setSelectionCells(this.insertTextAt(a.responseText,b,d,!0))}));else if("data:"==a.substring(0,5)||!this.isOffline()&&(l||/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(a))){var c=this.editor.graph;if("data:application/pdf;base64,"==a.substring(0,28)){var e=Editor.extractGraphModelFromPdf(a);if(null!=e&&
-0<e.length)return this.importXml(e,b,d,g,!0)}if("data:image/png;base64,"==a.substring(0,22)&&(e=this.extractGraphModelFromPng(a),null!=e&&0<e.length))return this.importXml(e,b,d,g,!0);if("data:image/svg+xml;"==a.substring(0,19))try{e=null;"data:image/svg+xml;base64,"==a.substring(0,26)?(e=a.substring(a.indexOf(",")+1),e=window.atob&&!mxClient.IS_SF?atob(e):Base64.decode(e,!0)):e=decodeURIComponent(a.substring(a.indexOf(",")+1));var k=this.importXml(e,b,d,g,!0);if(0<k.length)return k}catch(y){}this.loadImage(a,
-mxUtils.bind(this,function(e){if("data:"==a.substring(0,5))this.resizeImage(e,a,mxUtils.bind(this,function(a,e,f){c.setSelectionCell(c.insertVertex(null,null,"",c.snap(b),c.snap(d),e,f,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+this.convertDataUri(a)+";"))}),m,this.maxImageSize);else{var f=Math.min(1,Math.min(this.maxImageSize/e.width,this.maxImageSize/e.height)),k=Math.round(e.width*f);e=Math.round(e.height*f);c.setSelectionCell(c.insertVertex(null,
-null,"",c.snap(b),c.snap(d),k,e,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+a+";"))}}),mxUtils.bind(this,function(){var e=null;c.getModel().beginUpdate();try{e=c.insertVertex(c.getDefaultParent(),null,a,c.snap(b),c.snap(d),1,1,"text;"+(f?"html=1;":"")),c.updateCellSize(e),c.fireEvent(new mxEventObject("textInserted","cells",[e]))}finally{c.getModel().endUpdate()}c.setSelectionCell(e)}))}else{a=Graph.zapGremlins(mxUtils.trim(a));
-if(this.isCompatibleString(a))return this.importXml(a,b,d,g);if(0<a.length)if(this.isLucidChartData(a))this.convertLucidChart(a,mxUtils.bind(this,function(a){this.editor.graph.setSelectionCells(this.importXml(a,b,d,g))}),mxUtils.bind(this,function(a){this.handleError(a)}));else{c=this.editor.graph;l=null;c.getModel().beginUpdate();try{l=c.insertVertex(c.getDefaultParent(),null,"",c.snap(b),c.snap(d),1,1,"text;"+(f?"html=1;":"")),c.fireEvent(new mxEventObject("textInserted","cells",[l])),"<"==a.charAt(0)&&
-a.indexOf(">")==a.length-1&&(a=mxUtils.htmlEntities(a)),a.length>this.maxTextBytes&&(a=a.substring(0,this.maxTextBytes)+"..."),l.value=a,c.updateCellSize(l),/\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))/i.test(l.value)&&c.setLinkForCell(l,l.value),l.geometry.width+=c.gridSize,l.geometry.height+=c.gridSize}finally{c.getModel().endUpdate()}return[l]}}return[]};
-EditorUi.prototype.formatFileSize=function(a){var c=-1;do a/=1024,c++;while(1024<a);return Math.max(a,.1).toFixed(1)+" kB; MB; GB; TB;PB;EB;ZB;YB".split(";")[c]};EditorUi.prototype.convertDataUri=function(a){if("data:"==a.substring(0,5)){var b=a.indexOf(";");0<b&&(a=a.substring(0,b)+a.substring(a.indexOf(",",b+1)))}return a};EditorUi.prototype.isRemoteFileFormat=function(a,b){return/(\"contentType\":\s*\"application\/gliffy\+json\")/.test(a)};EditorUi.prototype.isLucidChartData=function(a){return null!=
-a&&('{"state":"{\\"Properties\\":'==a.substring(0,26)||'{"Properties":'==a.substring(0,14))};EditorUi.prototype.importLocalFile=function(a,b){if(a&&Graph.fileSupport){if(null==this.importFileInputElt){var c=document.createElement("input");c.setAttribute("type","file");mxEvent.addListener(c,"change",mxUtils.bind(this,function(){null!=c.files&&(this.importFiles(c.files,null,null,this.maxImageSize),c.type="",c.type="file",c.value="")}));c.style.display="none";document.body.appendChild(c);this.importFileInputElt=
-c}this.importFileInputElt.click()}else{window.openNew=!1;window.openKey="import";if(!b){var d=Editor.useLocalStorage;Editor.useLocalStorage=!a}window.openFile=new OpenFile(mxUtils.bind(this,function(a){this.hideDialog(a)}));window.openFile.setConsumer(mxUtils.bind(this,function(a,b){if(null!=b&&Graph.fileSupport&&/(\.v(dx|sdx?))($|\?)/i.test(b)){var c=new Blob([a],{type:"application/octet-stream"});this.importVisio(c,mxUtils.bind(this,function(a){this.importXml(a,0,0,!0)}),null,b)}else this.editor.graph.setSelectionCells(this.importXml(a,
-0,0,!0))}));this.showDialog((new OpenDialog(this)).container,360,220,!0,!0,function(){window.openFile=null});if(!b){var e=this.dialog,f=e.close;this.dialog.close=mxUtils.bind(this,function(a){Editor.useLocalStorage=d;f.apply(e,arguments);a&&null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.showSplash()})}}};EditorUi.prototype.importZipFile=function(a,b,d){var c=this,e=mxUtils.bind(this,function(){this.loadingExtensions=!1;"undefined"!==typeof JSZip?JSZip.loadAsync(a).then(function(e){if(0==
-Object.keys(e.files).length)d();else{var f=0,k,g=!1;e.forEach(function(a,c){var e=c.name.toLowerCase();"diagram/diagram.xml"==e?(g=!0,c.async("string").then(function(a){0==a.indexOf("<mxfile ")?b(a):d()})):0==e.indexOf("versions/")&&(e=parseInt(e.substr(9)),e>f&&(f=e,k=c))});0<f?k.async("string").then(function(e){!c.isOffline()&&(new XMLHttpRequest).upload&&c.isRemoteFileFormat(e,a.name)?c.parseFile(new Blob([e],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&(200<=
-a.status&&299>=a.status?b(a.responseText):d())}),a.name):d()}):g||d()}},function(a){d(a)}):d()});"undefined"!==typeof JSZip||this.loadingExtensions||this.isOffline(!0)?e():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",e))};EditorUi.prototype.importFile=function(a,b,d,f,l,g,m,q,t,u,y){u=null!=u?u:!0;var c=!1,e=null,k=mxUtils.bind(this,function(a){var b=null;null!=a&&"<mxlibrary"==a.substring(0,10)?this.loadLibrary(new LocalLibrary(this,a,m)):b=this.importXml(a,d,f,u);null!=q&&q(b)});"image"==
-b.substring(0,5)?(t=!1,"image/png"==b.substring(0,9)&&(b=y?null:this.extractGraphModelFromPng(a),null!=b&&0<b.length&&(e=this.importXml(b,d,f,u),t=!0)),t||(b=this.editor.graph,y=a.indexOf(";"),0<y&&(a=a.substring(0,y)+a.substring(a.indexOf(",",y+1))),u&&b.isGridEnabled()&&(d=b.snap(d),f=b.snap(f)),e=[b.insertVertex(null,null,"",d,f,l,g,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+a+";")])):/(\.*<graphml )/.test(a)?(c=!0,
-this.importGraphML(a,k)):null!=t&&null!=m&&(/(\.v(dx|sdx?))($|\?)/i.test(m)||/(\.vs(x|sx?))($|\?)/i.test(m))?(c=!0,this.importVisio(t,k)):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(a,m)?(c=!0,this.parseFile(null!=t?t:new Blob([a],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&(200<=a.status&&299>=a.status?k(a.responseText):null!=q&&q(null))}),m)):0==a.indexOf("PK")&&null!=t?(c=!0,this.importZipFile(t,k,mxUtils.bind(this,function(){e=
-this.insertTextAt(this.validateFileData(a),d,f,!0,null,u);q(e)}))):/(\.v(sd|dx))($|\?)/i.test(m)||/(\.vs(s|x))($|\?)/i.test(m)||(e=this.insertTextAt(this.validateFileData(a),d,f,!0,null,u));c||null==q||q(e);return e};EditorUi.prototype.base64Encode=function(a){for(var b="",c=0,d=a.length,f,g,l;c<d;){f=a.charCodeAt(c++)&255;if(c==d){b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(f>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f&3)<<
-4);b+="==";break}g=a.charCodeAt(c++);if(c==d){b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(f>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f&3)<<4|(g&240)>>4);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((g&15)<<2);b+="=";break}l=a.charCodeAt(c++);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(f>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f&
-3)<<4|(g&240)>>4);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((g&15)<<2|(l&192)>>6);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(l&63)}return b};EditorUi.prototype.importFiles=function(a,b,d,f,l,g,m,q,t,u,y,z){b=null!=b?b:0;d=null!=d?d:0;f=null!=f?f:this.maxImageSize;u=null!=u?u:this.maxImageBytes;var c=null!=b&&null!=d,e=!0,k=!1;if(!mxClient.IS_CHROMEAPP&&null!=a)for(var n=y||this.resampleThreshold,x=0;x<a.length;x++)if("image/"==a[x].type.substring(0,
-6)&&a[x].size>n){k=!0;break}var v=mxUtils.bind(this,function(){var k=this.editor.graph,n=k.gridSize;l=null!=l?l:mxUtils.bind(this,function(a,b,d,e,f,g,k,l,n){try{return null!=a&&"<mxlibrary"==a.substring(0,10)?(this.spinner.stop(),this.loadLibrary(new LocalLibrary(this,a,k)),null):this.importFile(a,b,d,e,f,g,k,l,n,c,z)}catch(R){return this.handleError(R),null}});g=null!=g?g:mxUtils.bind(this,function(a){k.setSelectionCells(a)});if(this.spinner.spin(document.body,mxResources.get("loading")))for(var p=
-a.length,t=p,x=[],v=mxUtils.bind(this,function(a,b){x[a]=b;if(0==--t){this.spinner.stop();if(null!=q)q(x);else{var c=[];k.getModel().beginUpdate();try{for(var d=0;d<x.length;d++){var e=x[d]();null!=e&&(c=c.concat(e))}}finally{k.getModel().endUpdate()}}g(c)}}),A=0;A<p;A++)mxUtils.bind(this,function(c){var g=a[c];if(null!=g){var p=new FileReader;p.onload=mxUtils.bind(this,function(a){if(null==m||m(g))if("image/"==g.type.substring(0,6))if("image/svg"==g.type.substring(0,9)){var p=a.target.result,t=p.indexOf(","),
-q=decodeURIComponent(escape(atob(p.substring(t+1)))),x=mxUtils.parseXml(q),q=x.getElementsByTagName("svg");if(0<q.length){var q=q[0],A=z?null:q.getAttribute("content");null!=A&&"<"!=A.charAt(0)&&"%"!=A.charAt(0)&&(A=unescape(window.atob?atob(A):Base64.decode(A,!0)));null!=A&&"%"==A.charAt(0)&&(A=decodeURIComponent(A));null==A||"<mxfile "!==A.substring(0,8)&&"<mxGraphModel "!==A.substring(0,14)?v(c,mxUtils.bind(this,function(){try{if(p.substring(0,t+1),null!=x){var a=x.getElementsByTagName("svg");
-if(0<a.length){var e=a[0],m=e.getAttribute("width"),q=e.getAttribute("height"),m=null!=m&&"%"!=m.charAt(m.length-1)?parseFloat(m):NaN,q=null!=q&&"%"!=q.charAt(q.length-1)?parseFloat(q):NaN,y=e.getAttribute("viewBox");if(null==y||0==y.length)e.setAttribute("viewBox","0 0 "+m+" "+q);else if(isNaN(m)||isNaN(q)){var v=y.split(" ");3<v.length&&(m=parseFloat(v[2]),q=parseFloat(v[3]))}p=this.createSvgDataUri(mxUtils.getXml(e));var A=Math.min(1,Math.min(f/Math.max(1,m)),f/Math.max(1,q)),u=l(p,g.type,b+c*
-n,d+c*n,Math.max(1,Math.round(m*A)),Math.max(1,Math.round(q*A)),g.name);if(isNaN(m)||isNaN(q)){var B=new Image;B.onload=mxUtils.bind(this,function(){m=Math.max(1,B.width);q=Math.max(1,B.height);u[0].geometry.width=m;u[0].geometry.height=q;e.setAttribute("viewBox","0 0 "+m+" "+q);p=this.createSvgDataUri(mxUtils.getXml(e));var a=p.indexOf(";");0<a&&(p=p.substring(0,a)+p.substring(p.indexOf(",",a+1)));k.setCellStyles("image",p,[u[0]])});B.src=this.createSvgDataUri(mxUtils.getXml(e))}return u}}}catch(ea){}return null})):
-v(c,mxUtils.bind(this,function(){return l(A,"text/xml",b+c*n,d+c*n,0,0,g.name)}))}else v(c,mxUtils.bind(this,function(){return null}))}else{q=!1;if("image/png"==g.type){var B=z?null:this.extractGraphModelFromPng(a.target.result);if(null!=B&&0<B.length){var G=new Image;G.src=a.target.result;v(c,mxUtils.bind(this,function(){return l(B,"text/xml",b+c*n,d+c*n,G.width,G.height,g.name)}));q=!0}}q||(mxClient.IS_CHROMEAPP?(this.spinner.stop(),this.showError(mxResources.get("error"),mxResources.get("dragAndDropNotSupported"),
-mxResources.get("cancel"),mxUtils.bind(this,function(){}),null,mxResources.get("ok"),mxUtils.bind(this,function(){this.actions.get("import").funct()}))):this.loadImage(a.target.result,mxUtils.bind(this,function(k){this.resizeImage(k,a.target.result,mxUtils.bind(this,function(k,m,p){v(c,mxUtils.bind(this,function(){if(null!=k&&k.length<u){var t=e&&this.isResampleImage(a.target.result,y)?Math.min(1,Math.min(f/m,f/p)):1;return l(k,g.type,b+c*n,d+c*n,Math.round(m*t),Math.round(p*t),g.name)}this.handleError({message:mxResources.get("imageTooBig")});
-return null}))}),e,f,y)}),mxUtils.bind(this,function(){this.handleError({message:mxResources.get("invalidOrMissingFile")})})))}else p=a.target.result,l(p,g.type,b+c*n,d+c*n,240,160,g.name,function(a){v(c,function(){return a})},g)});/(\.v(dx|sdx?))($|\?)/i.test(g.name)||/(\.vs(x|sx?))($|\?)/i.test(g.name)?l(null,g.type,b+c*n,d+c*n,240,160,g.name,function(a){v(c,function(){return a})},g):"image"==g.type.substring(0,5)||"application/pdf"==g.type?p.readAsDataURL(g):p.readAsText(g)}})(A)});if(k){k=[];
-for(x=0;x<a.length;x++)k.push(a[x]);a=k;this.confirmImageResize(function(a){e=a;v()},t)}else v()};EditorUi.prototype.confirmImageResize=function(a,b){b=null!=b?b:!1;var c=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){},d=isLocalStorage||mxClient.IS_CHROMEAPP?mxSettings.getResizeImages():null,e=function(d,e){if(d||b)mxSettings.setResizeImages(d?e:null),mxSettings.save();c();a(e)};null==d||b?this.showDialog((new ConfirmDialog(this,mxResources.get("resizeLargeImages"),
-function(a){e(a,!0)},function(a){e(a,!1)},mxResources.get("resize"),mxResources.get("actualSize"),'<img style="margin-top:8px;" src="'+Editor.loResImage+'"/>','<img style="margin-top:8px;" src="'+Editor.hiResImage+'"/>',isLocalStorage||mxClient.IS_CHROMEAPP)).container,340,isLocalStorage||mxClient.IS_CHROMEAPP?220:200,!0,!0):e(!1,d)};EditorUi.prototype.parseFile=function(a,b,d){d=null!=d?d:a.name;var c=new FormData;c.append("format","xml");c.append("upfile",a,d);var e=new XMLHttpRequest;e.open("POST",
-OPEN_URL);e.onreadystatechange=function(){b(e)};e.send(c);try{EditorUi.logEvent({category:"GLIFFY-IMPORT-FILE",action:"size_"+a.size})}catch(g){}};EditorUi.prototype.isResampleImage=function(a,b){b=null!=b?b:this.resampleThreshold;return a.length>b};EditorUi.prototype.resizeImage=function(a,b,d,f,l,g){l=null!=l?l:this.maxImageSize;var c=Math.max(1,a.width),e=Math.max(1,a.height);if(f&&this.isResampleImage(b,g))try{var k=Math.max(c/l,e/l);if(1<k){var n=Math.round(c/k),m=Math.round(e/k),q=document.createElement("canvas");
-q.width=n;q.height=m;q.getContext("2d").drawImage(a,0,0,n,m);var p=q.toDataURL();if(p.length<b.length){var x=document.createElement("canvas");x.width=n;x.height=m;var u=x.toDataURL();p!==u&&(b=p,c=n,e=m)}}}catch(P){}d(b,c,e)};EditorUi.prototype.crcTable=[];for(var d=0;256>d;d++)for(var l=d,m=0;8>m;m++)l=1==(l&1)?3988292384^l>>>1:l>>>1,EditorUi.prototype.crcTable[d]=l;EditorUi.prototype.updateCRC=function(a,b,d,f){for(var c=0;c<f;c++)a=EditorUi.prototype.crcTable[(a^b.charCodeAt(d+c))&255]^a>>>8;return a};
-EditorUi.prototype.crc32=function(a){this.crcTable=this.crcTable||this.createCrcTable();for(var b=-1,c=0;c<a.length;c++)b=b>>>8^this.crcTable[(b^a.charCodeAt(c))&255];return(b^-1)>>>0};EditorUi.prototype.writeGraphModelToPng=function(a,b,d,f,l){function c(a,b){var c=n;n+=b;return a.substring(c,n)}function e(a){a=c(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}function k(a){return String.fromCharCode(a>>24&255,a>>16&255,a>>8&255,a&255)}a=a.substring(a.indexOf(",")+
-1);a=window.atob?atob(a):Base64.decode(a,!0);var n=0;if(c(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=l&&l();else if(c(a,4),"IHDR"!=c(a,4))null!=l&&l();else{c(a,17);l=a.substring(0,n);do{var m=e(a);if("IDAT"==c(a,4)){l=a.substring(0,n-8);"pHYs"==b&&"dpi"==d?(d=Math.round(f/.0254),d=k(d)+k(d)+String.fromCharCode(1)):d=d+String.fromCharCode(0)+("zTXt"==b?String.fromCharCode(0):"")+f;f=4294967295;f=this.updateCRC(f,b,0,4);f=this.updateCRC(f,d,0,d.length);l+=k(d.length)+
-b+d+k(f^4294967295);l+=a.substring(n-8,a.length);break}l+=a.substring(n-8,n-4+m);c(a,m);c(a,4)}while(m);return"data:image/png;base64,"+(window.btoa?btoa(l):Base64.encode(l,!0))}};EditorUi.prototype.extractGraphModelFromPng=function(a){return Editor.extractGraphModelFromPng(a)};EditorUi.prototype.loadImage=function(a,b,d){try{var c=new Image;c.onload=function(){b(c)};null!=d&&(c.onerror=d);c.src=a}catch(n){if(null!=d)d(n);else throw n;}};var q=EditorUi.prototype.init;EditorUi.prototype.init=function(){mxStencilRegistry.allowEval=
-mxStencilRegistry.allowEval&&!this.isOfflineApp();"undefined"!==typeof window.mxSettings&&(this.formatWidth=mxSettings.getFormatWidth());var a=this,b=this.editor.graph,d=b.cellEditor.startEditing;b.cellEditor.startEditing=function(c,e){var f=this.graph.getAttributeForCell(c,"plantUmlData");if(null!=f){var g=JSON.parse(f),f=new TextareaDialog(a,mxResources.get("plantUml")+":",g.data,function(d){null!=d&&a.spinner.spin(document.body,mxResources.get("inserting"))&&a.generatePlantUmlImage(d,g.format,
-function(e,f,k){a.spinner.stop();b.getModel().beginUpdate();try{if("txt"==g.format)b.labelChanged(c,"<pre>"+e+"</pre>"),b.updateCellSize(c,!0);else{b.setCellStyles("image",a.convertDataUri(e),[c]);var l=b.model.getGeometry(c);null!=l&&(l=l.clone(),l.width=f,l.height=k,b.cellsResized([c],[l],!1))}b.setAttributeForCell(c,"plantUmlData",JSON.stringify({data:d,format:g.format}))}finally{b.getModel().endUpdate()}},function(b){a.handleError(b)})},null,null,400,220);a.showDialog(f.container,420,300,!0,!0);
-f.init()}else d.apply(this,arguments)};b.getLinkTitle=function(b){return a.getLinkTitle(b)};b.customLinkClicked=function(b){var c=!1;try{a.handleCustomLink(b),c=!0}catch(L){a.handleError(L)}return c};var f=this.clearDefaultStyle;this.clearDefaultStyle=function(){f.apply(this,arguments)};this.isOffline()||"undefined"===typeof window.EditDataDialog||(EditDataDialog.placeholderHelpLink="https://desk.draw.io/support/solutions/articles/16000051979");var l=a.editor.getEditBlankUrl;this.editor.getEditBlankUrl=
-function(b){b=null!=b?b:"";if(null!=a.pages&&null!=a.currentPage)for(var c=0;c<a.pages.length;c++)if(a.pages[c]==a.currentPage){0<c&&(b+=(0<b.length?"&":"?")+"page="+c);break}"1"==urlParams.dev&&(b+=(0<b.length?"&":"?")+"dev=1&drawdev=1");return l.apply(this,arguments)};var g=b.addClickHandler;b.addClickHandler=function(a,c,d){var e=c;c=function(a,c){if(null==c){var d=mxEvent.getSource(a);"a"==d.nodeName.toLowerCase()&&(c=d.getAttribute("href"))}null!=c&&b.isCustomLink(c)&&(mxEvent.isTouchEvent(a)||
-!mxEvent.isPopupTrigger(a))&&b.customLinkClicked(c)&&mxEvent.consume(a);null!=e&&e(a,c)};g.call(this,a,c,d)};q.apply(this,arguments);mxClient.IS_SVG&&this.editor.graph.addSvgShadow(b.view.canvas.ownerSVGElement,null,!0);a.actions.get("print").funct=function(){a.showDialog((new PrintDialog(a)).container,360,null!=a.pages&&1<a.pages.length?450:370,!0,!0)};this.defaultFilename=mxResources.get("untitledDiagram");var m=b.getExportVariables;b.getExportVariables=function(){var b=m.apply(this,arguments);
+e=!1,x=1);for(;x<m.length;x++){var q=m[x].getAttribute("id");m[x].removeAttribute("id");var p=this.updatePageRoot(new DiagramPage(m[x]));a[q]=m[x].getAttribute("id");var u=this.pages.length;null==p.getName()&&p.setName(mxResources.get("pageWithNumber",[u+1]));f.model.execute(new ChangePage(this,p,p,u,!0));k.push(p)}this.updatePageLinks(a,k)}}if(null!=n&&"mxGraphModel"===n.nodeName)for(d=f.importGraphModel(n,b,c,e),x=0;x<d.length;x++)this.updatePageLinksForCell(a,d[x])}finally{f.model.endUpdate()}}}catch(K){if(l)throw K;
+this.handleError(K)}return d};EditorUi.prototype.updatePageLinks=function(a,b){for(var d=0;d<b.length;d++)this.updatePageLinksForCell(a,b[d].root)};EditorUi.prototype.updatePageLinksForCell=function(a,b){var d=document.createElement("div"),c=this.editor.graph,f=c.getLinkForCell(b);null!=f&&c.setLinkForCell(b,this.updatePageLink(a,f));if(c.isHtmlLabel(b)){d.innerHTML=c.getLabel(b);for(var e=d.getElementsByTagName("a"),l=!1,m=0;m<e.length;m++)f=e[m].getAttribute("href"),null!=f&&(e[m].setAttribute("href",
+this.updatePageLink(a,f)),l=!0);l&&c.labelChanged(b,d.innerHTML)}for(m=0;m<c.model.getChildCount(b);m++)this.updatePageLinksForCell(a,c.model.getChildAt(b,m))};EditorUi.prototype.updatePageLink=function(a,b){if("data:page/id,"==b.substring(0,13)){var d=a[b.substring(b.indexOf(",")+1)];b=null!=d?"data:page/id,"+d:null}else if("data:action/json,"==b.substring(0,17))try{var c=JSON.parse(b.substring(17));if(null!=c.actions){for(var f=0;f<c.actions.length;f++){var e=c.actions[f];null!=e.open&&"data:page/id,"==
+e.open.substring(0,13)&&(d=a[e.open.substring(e.open.indexOf(",")+1)],null!=d?e.open="data:page/id,"+d:delete e.open)}b="data:action/json,"+JSON.stringify(c)}}catch(A){}return b};EditorUi.prototype.isRemoteVisioFormat=function(a){return/(\.v(sd|dx))($|\?)/i.test(a)||/(\.vs(s|x))($|\?)/i.test(a)};EditorUi.prototype.importVisio=function(a,b,c,e){e=null!=e?e:a.name;c=null!=c?c:mxUtils.bind(this,function(a){this.handleError(a)});var d=mxUtils.bind(this,function(){this.loadingExtensions=!1;if(this.doImportVisio){var d=
+this.isRemoteVisioFormat(e);try{var f="UNKNOWN-VISIO",k=e.lastIndexOf(".");0<=k&&k<e.length&&(f=e.substring(k+1).toUpperCase());EditorUi.logEvent({category:f+"-MS-IMPORT-FILE",action:"filename_"+e,label:d?"remote":"local"})}catch(E){}if(d)if(null!=VSD_CONVERT_URL){d=new FormData;d.append("file1",a,e);var l=new XMLHttpRequest;l.open("POST",VSD_CONVERT_URL);l.responseType="blob";this.addRemoteServiceSecurityCheck(l);l.onreadystatechange=mxUtils.bind(this,function(){if(4==l.readyState)if(200<=l.status&&
+299>=l.status)try{var a=l.response;if("text/xml"==a.type){var d=new FileReader;d.onload=mxUtils.bind(this,function(a){try{b(a.target.result)}catch(p){c({message:mxResources.get("errorLoadingFile")})}});d.readAsText(a)}else this.doImportVisio(a,b,c,e)}catch(D){c(D)}else c({})});l.send(d)}else c({message:"conf"==this.getServiceName()?mxResources.get("vsdNoConfig"):mxResources.get("serviceUnavailableOrBlocked")});else try{this.doImportVisio(a,b,c,e)}catch(E){c(E)}}else this.spinner.stop(),this.handleError({message:mxResources.get("serviceUnavailableOrBlocked")})});
+this.doImportVisio||this.loadingExtensions||this.isOffline(!0)?d():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",d))};EditorUi.prototype.importGraphML=function(a,b,c){c=null!=c?c:mxUtils.bind(this,function(a){this.handleError(a)});var d=mxUtils.bind(this,function(){this.loadingExtensions=!1;if(this.doImportGraphML)try{this.doImportGraphML(a,b,c)}catch(n){c(n)}else this.spinner.stop(),this.handleError({message:mxResources.get("serviceUnavailableOrBlocked")})});this.doImportGraphML||this.loadingExtensions||
+this.isOffline(!0)?d():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",d))};EditorUi.prototype.exportVisio=function(){var a=mxUtils.bind(this,function(){this.loadingExtensions=!1;if("undefined"!==typeof VsdxExport)try{(new VsdxExport(this)).exportCurrentDiagrams()||this.handleError({message:mxResources.get("unknownError")})}catch(f){this.handleError(f)}else this.spinner.stop(),this.handleError({message:mxResources.get("serviceUnavailableOrBlocked")})});"undefined"!==typeof VsdxExport||
+this.loadingExtensions||this.isOffline(!0)?a():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",a))};EditorUi.prototype.convertLucidChart=function(a,b,c){var d=mxUtils.bind(this,function(){this.loadingExtensions=!1;if("undefined"!==typeof window.LucidImporter){try{EditorUi.logEvent({category:"LUCIDCHART-IMPORT-FILE",action:"size_"+a.length}),EditorUi.debug("convertLucidChart",a)}catch(n){}try{b(LucidImporter.importState(JSON.parse(a)))}catch(n){null!=window.console&&console.error(n),c(n)}}else c({message:mxResources.get("serviceUnavailableOrBlocked")})});
+"undefined"!==typeof window.LucidImporter||this.loadingExtensions||this.isOffline(!0)?window.setTimeout(d,0):(this.loadingExtensions=!0,"1"==urlParams.dev?mxscript("js/diagramly/Extensions.js",d):mxscript("js/extensions.min.js",d))};EditorUi.prototype.generatePlantUmlImage=function(a,b,c,e){function d(a,d,b){c1=a>>2;c2=(a&3)<<4|d>>4;c3=(d&15)<<2|b>>6;c4=b&63;r="";r+=f(c1&63);r+=f(c2&63);r+=f(c3&63);return r+=f(c4&63)}function f(a){if(10>a)return String.fromCharCode(48+a);a-=10;if(26>a)return String.fromCharCode(65+
+a);a-=26;if(26>a)return String.fromCharCode(97+a);a-=26;return 0==a?"-":1==a?"_":"?"}var k=new XMLHttpRequest;k.open("GET",("txt"==b?PLANT_URL+"/txt/":"png"==b?PLANT_URL+"/png/":PLANT_URL+"/svg/")+function(a){r="";for(i=0;i<a.length;i+=3)r=i+2==a.length?r+d(a.charCodeAt(i),a.charCodeAt(i+1),0):i+1==a.length?r+d(a.charCodeAt(i),0,0):r+d(a.charCodeAt(i),a.charCodeAt(i+1),a.charCodeAt(i+2));return r}(pako.deflateRaw(a,{to:"string"})),!0);"txt"!=b&&(k.responseType="blob");k.onload=function(a){if(200<=
+this.status&&300>this.status)if("txt"==b)c(this.response);else{var d=new FileReader;d.readAsDataURL(this.response);d.onloadend=function(a){var b=new Image;b.onload=function(){try{var a=b.width,f=b.height;if(0==a&&0==f){var k=d.result,g=k.indexOf(","),l=decodeURIComponent(escape(atob(k.substring(g+1)))),n=mxUtils.parseXml(l).getElementsByTagName("svg");0<n.length&&(a=parseFloat(n[0].getAttribute("width")),f=parseFloat(n[0].getAttribute("height")))}c(d.result,a,f)}catch(S){e(S)}};b.src=d.result};d.onerror=
+function(a){e(a)}}else e(a)};k.onerror=function(a){e(a)};k.send()};EditorUi.prototype.insertAsPreText=function(a,b,c){var d=this.editor.graph,f=null;d.getModel().beginUpdate();try{f=d.insertVertex(null,null,"<pre>"+a+"</pre>",b,c,1,1,"text;html=1;align=left;verticalAlign=top;"),d.updateCellSize(f,!0)}finally{d.getModel().endUpdate()}return f};EditorUi.prototype.insertTextAt=function(a,b,c,e,l,g,m){g=null!=g?g:!0;m=null!=m?m:!0;if(null!=a)if(Graph.fileSupport&&!this.isOffline()&&(new XMLHttpRequest).upload&&
+this.isRemoteFileFormat(a))this.parseFile(new Blob([a.replace(/\s+/g," ")],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&200<=a.status&&299>=a.status&&this.editor.graph.setSelectionCells(this.insertTextAt(a.responseText,b,c,!0))}));else if("data:"==a.substring(0,5)||!this.isOffline()&&(l||/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(a))){var d=this.editor.graph;if("data:application/pdf;base64,"==a.substring(0,28)){var f=Editor.extractGraphModelFromPdf(a);if(null!=f&&
+0<f.length)return this.importXml(f,b,c,g,!0)}if("data:image/png;base64,"==a.substring(0,22)&&(f=this.extractGraphModelFromPng(a),null!=f&&0<f.length))return this.importXml(f,b,c,g,!0);if("data:image/svg+xml;"==a.substring(0,19))try{f=null;"data:image/svg+xml;base64,"==a.substring(0,26)?(f=a.substring(a.indexOf(",")+1),f=window.atob&&!mxClient.IS_SF?atob(f):Base64.decode(f,!0)):f=decodeURIComponent(a.substring(a.indexOf(",")+1));var k=this.importXml(f,b,c,g,!0);if(0<k.length)return k}catch(y){}this.loadImage(a,
+mxUtils.bind(this,function(f){if("data:"==a.substring(0,5))this.resizeImage(f,a,mxUtils.bind(this,function(a,f,e){d.setSelectionCell(d.insertVertex(null,null,"",d.snap(b),d.snap(c),f,e,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+this.convertDataUri(a)+";"))}),m,this.maxImageSize);else{var e=Math.min(1,Math.min(this.maxImageSize/f.width,this.maxImageSize/f.height)),k=Math.round(f.width*e);f=Math.round(f.height*e);d.setSelectionCell(d.insertVertex(null,
+null,"",d.snap(b),d.snap(c),k,f,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+a+";"))}}),mxUtils.bind(this,function(){var f=null;d.getModel().beginUpdate();try{f=d.insertVertex(d.getDefaultParent(),null,a,d.snap(b),d.snap(c),1,1,"text;"+(e?"html=1;":"")),d.updateCellSize(f),d.fireEvent(new mxEventObject("textInserted","cells",[f]))}finally{d.getModel().endUpdate()}d.setSelectionCell(f)}))}else{a=Graph.zapGremlins(mxUtils.trim(a));
+if(this.isCompatibleString(a))return this.importXml(a,b,c,g);if(0<a.length)if(this.isLucidChartData(a))this.convertLucidChart(a,mxUtils.bind(this,function(a){this.editor.graph.setSelectionCells(this.importXml(a,b,c,g))}),mxUtils.bind(this,function(a){this.handleError(a)}));else{d=this.editor.graph;l=null;d.getModel().beginUpdate();try{l=d.insertVertex(d.getDefaultParent(),null,"",d.snap(b),d.snap(c),1,1,"text;"+(e?"html=1;":"")),d.fireEvent(new mxEventObject("textInserted","cells",[l])),"<"==a.charAt(0)&&
+a.indexOf(">")==a.length-1&&(a=mxUtils.htmlEntities(a)),a.length>this.maxTextBytes&&(a=a.substring(0,this.maxTextBytes)+"..."),l.value=a,d.updateCellSize(l),/\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))/i.test(l.value)&&d.setLinkForCell(l,l.value),l.geometry.width+=d.gridSize,l.geometry.height+=d.gridSize}finally{d.getModel().endUpdate()}return[l]}}return[]};
+EditorUi.prototype.formatFileSize=function(a){var d=-1;do a/=1024,d++;while(1024<a);return Math.max(a,.1).toFixed(1)+" kB; MB; GB; TB;PB;EB;ZB;YB".split(";")[d]};EditorUi.prototype.convertDataUri=function(a){if("data:"==a.substring(0,5)){var b=a.indexOf(";");0<b&&(a=a.substring(0,b)+a.substring(a.indexOf(",",b+1)))}return a};EditorUi.prototype.isRemoteFileFormat=function(a,b){return/(\"contentType\":\s*\"application\/gliffy\+json\")/.test(a)};EditorUi.prototype.isLucidChartData=function(a){return null!=
+a&&('{"state":"{\\"Properties\\":'==a.substring(0,26)||'{"Properties":'==a.substring(0,14))};EditorUi.prototype.importLocalFile=function(a,b){if(a&&Graph.fileSupport){if(null==this.importFileInputElt){var d=document.createElement("input");d.setAttribute("type","file");mxEvent.addListener(d,"change",mxUtils.bind(this,function(){null!=d.files&&(this.importFiles(d.files,null,null,this.maxImageSize),d.type="",d.type="file",d.value="")}));d.style.display="none";document.body.appendChild(d);this.importFileInputElt=
+d}this.importFileInputElt.click()}else{window.openNew=!1;window.openKey="import";if(!b){var c=Editor.useLocalStorage;Editor.useLocalStorage=!a}window.openFile=new OpenFile(mxUtils.bind(this,function(a){this.hideDialog(a)}));window.openFile.setConsumer(mxUtils.bind(this,function(a,b){if(null!=b&&Graph.fileSupport&&/(\.v(dx|sdx?))($|\?)/i.test(b)){var d=new Blob([a],{type:"application/octet-stream"});this.importVisio(d,mxUtils.bind(this,function(a){this.importXml(a,0,0,!0)}),null,b)}else this.editor.graph.setSelectionCells(this.importXml(a,
+0,0,!0))}));this.showDialog((new OpenDialog(this)).container,360,220,!0,!0,function(){window.openFile=null});if(!b){var f=this.dialog,e=f.close;this.dialog.close=mxUtils.bind(this,function(a){Editor.useLocalStorage=c;e.apply(f,arguments);a&&null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.showSplash()})}}};EditorUi.prototype.importZipFile=function(a,b,c){var d=this,f=mxUtils.bind(this,function(){this.loadingExtensions=!1;"undefined"!==typeof JSZip?JSZip.loadAsync(a).then(function(f){if(0==
+Object.keys(f.files).length)c();else{var e=0,k,g=!1;f.forEach(function(a,d){var f=d.name.toLowerCase();"diagram/diagram.xml"==f?(g=!0,d.async("string").then(function(a){0==a.indexOf("<mxfile ")?b(a):c()})):0==f.indexOf("versions/")&&(f=parseInt(f.substr(9)),f>e&&(e=f,k=d))});0<e?k.async("string").then(function(f){!d.isOffline()&&(new XMLHttpRequest).upload&&d.isRemoteFileFormat(f,a.name)?d.parseFile(new Blob([f],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&(200<=
+a.status&&299>=a.status?b(a.responseText):c())}),a.name):c()}):g||c()}},function(a){c(a)}):c()});"undefined"!==typeof JSZip||this.loadingExtensions||this.isOffline(!0)?f():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",f))};EditorUi.prototype.importFile=function(a,b,c,e,l,g,m,q,t,u,y){u=null!=u?u:!0;var d=!1,f=null,k=mxUtils.bind(this,function(a){var b=null;null!=a&&"<mxlibrary"==a.substring(0,10)?this.loadLibrary(new LocalLibrary(this,a,m)):b=this.importXml(a,c,e,u);null!=q&&q(b)});"image"==
+b.substring(0,5)?(t=!1,"image/png"==b.substring(0,9)&&(b=y?null:this.extractGraphModelFromPng(a),null!=b&&0<b.length&&(f=this.importXml(b,c,e,u),t=!0)),t||(b=this.editor.graph,y=a.indexOf(";"),0<y&&(a=a.substring(0,y)+a.substring(a.indexOf(",",y+1))),u&&b.isGridEnabled()&&(c=b.snap(c),e=b.snap(e)),f=[b.insertVertex(null,null,"",c,e,l,g,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+a+";")])):/(\.*<graphml )/.test(a)?(d=!0,
+this.importGraphML(a,k)):null!=t&&null!=m&&(/(\.v(dx|sdx?))($|\?)/i.test(m)||/(\.vs(x|sx?))($|\?)/i.test(m))?(d=!0,this.importVisio(t,k)):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(a,m)?(d=!0,this.parseFile(null!=t?t:new Blob([a],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&(200<=a.status&&299>=a.status?k(a.responseText):null!=q&&q(null))}),m)):0==a.indexOf("PK")&&null!=t?(d=!0,this.importZipFile(t,k,mxUtils.bind(this,function(){f=
+this.insertTextAt(this.validateFileData(a),c,e,!0,null,u);q(f)}))):/(\.v(sd|dx))($|\?)/i.test(m)||/(\.vs(s|x))($|\?)/i.test(m)||(f=this.insertTextAt(this.validateFileData(a),c,e,!0,null,u));d||null==q||q(f);return f};EditorUi.prototype.base64Encode=function(a){for(var b="",d=0,c=a.length,e,g,l;d<c;){e=a.charCodeAt(d++)&255;if(d==c){b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<
+4);b+="==";break}g=a.charCodeAt(d++);if(d==c){b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(g&240)>>4);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((g&15)<<2);b+="=";break}l=a.charCodeAt(d++);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&
+3)<<4|(g&240)>>4);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((g&15)<<2|(l&192)>>6);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(l&63)}return b};EditorUi.prototype.importFiles=function(a,b,c,e,l,g,m,q,t,u,y,z){b=null!=b?b:0;c=null!=c?c:0;e=null!=e?e:this.maxImageSize;u=null!=u?u:this.maxImageBytes;var d=null!=b&&null!=c,f=!0,k=!1;if(!mxClient.IS_CHROMEAPP&&null!=a)for(var n=y||this.resampleThreshold,x=0;x<a.length;x++)if("image/"==a[x].type.substring(0,
+6)&&a[x].size>n){k=!0;break}var v=mxUtils.bind(this,function(){var k=this.editor.graph,n=k.gridSize;l=null!=l?l:mxUtils.bind(this,function(a,b,c,f,e,g,k,l,n){try{return null!=a&&"<mxlibrary"==a.substring(0,10)?(this.spinner.stop(),this.loadLibrary(new LocalLibrary(this,a,k)),null):this.importFile(a,b,c,f,e,g,k,l,n,d,z)}catch(R){return this.handleError(R),null}});g=null!=g?g:mxUtils.bind(this,function(a){k.setSelectionCells(a)});if(this.spinner.spin(document.body,mxResources.get("loading")))for(var p=
+a.length,t=p,x=[],v=mxUtils.bind(this,function(a,b){x[a]=b;if(0==--t){this.spinner.stop();if(null!=q)q(x);else{var d=[];k.getModel().beginUpdate();try{for(var c=0;c<x.length;c++){var f=x[c]();null!=f&&(d=d.concat(f))}}finally{k.getModel().endUpdate()}}g(d)}}),A=0;A<p;A++)mxUtils.bind(this,function(d){var g=a[d];if(null!=g){var p=new FileReader;p.onload=mxUtils.bind(this,function(a){if(null==m||m(g))if("image/"==g.type.substring(0,6))if("image/svg"==g.type.substring(0,9)){var p=a.target.result,t=p.indexOf(","),
+q=decodeURIComponent(escape(atob(p.substring(t+1)))),x=mxUtils.parseXml(q),q=x.getElementsByTagName("svg");if(0<q.length){var q=q[0],A=z?null:q.getAttribute("content");null!=A&&"<"!=A.charAt(0)&&"%"!=A.charAt(0)&&(A=unescape(window.atob?atob(A):Base64.decode(A,!0)));null!=A&&"%"==A.charAt(0)&&(A=decodeURIComponent(A));null==A||"<mxfile "!==A.substring(0,8)&&"<mxGraphModel "!==A.substring(0,14)?v(d,mxUtils.bind(this,function(){try{if(p.substring(0,t+1),null!=x){var a=x.getElementsByTagName("svg");
+if(0<a.length){var f=a[0],m=f.getAttribute("width"),q=f.getAttribute("height"),m=null!=m&&"%"!=m.charAt(m.length-1)?parseFloat(m):NaN,q=null!=q&&"%"!=q.charAt(q.length-1)?parseFloat(q):NaN,y=f.getAttribute("viewBox");if(null==y||0==y.length)f.setAttribute("viewBox","0 0 "+m+" "+q);else if(isNaN(m)||isNaN(q)){var v=y.split(" ");3<v.length&&(m=parseFloat(v[2]),q=parseFloat(v[3]))}p=this.createSvgDataUri(mxUtils.getXml(f));var A=Math.min(1,Math.min(e/Math.max(1,m)),e/Math.max(1,q)),u=l(p,g.type,b+d*
+n,c+d*n,Math.max(1,Math.round(m*A)),Math.max(1,Math.round(q*A)),g.name);if(isNaN(m)||isNaN(q)){var B=new Image;B.onload=mxUtils.bind(this,function(){m=Math.max(1,B.width);q=Math.max(1,B.height);u[0].geometry.width=m;u[0].geometry.height=q;f.setAttribute("viewBox","0 0 "+m+" "+q);p=this.createSvgDataUri(mxUtils.getXml(f));var a=p.indexOf(";");0<a&&(p=p.substring(0,a)+p.substring(p.indexOf(",",a+1)));k.setCellStyles("image",p,[u[0]])});B.src=this.createSvgDataUri(mxUtils.getXml(f))}return u}}}catch(ea){}return null})):
+v(d,mxUtils.bind(this,function(){return l(A,"text/xml",b+d*n,c+d*n,0,0,g.name)}))}else v(d,mxUtils.bind(this,function(){return null}))}else{q=!1;if("image/png"==g.type){var B=z?null:this.extractGraphModelFromPng(a.target.result);if(null!=B&&0<B.length){var G=new Image;G.src=a.target.result;v(d,mxUtils.bind(this,function(){return l(B,"text/xml",b+d*n,c+d*n,G.width,G.height,g.name)}));q=!0}}q||(mxClient.IS_CHROMEAPP?(this.spinner.stop(),this.showError(mxResources.get("error"),mxResources.get("dragAndDropNotSupported"),
+mxResources.get("cancel"),mxUtils.bind(this,function(){}),null,mxResources.get("ok"),mxUtils.bind(this,function(){this.actions.get("import").funct()}))):this.loadImage(a.target.result,mxUtils.bind(this,function(k){this.resizeImage(k,a.target.result,mxUtils.bind(this,function(k,m,p){v(d,mxUtils.bind(this,function(){if(null!=k&&k.length<u){var t=f&&this.isResampleImage(a.target.result,y)?Math.min(1,Math.min(e/m,e/p)):1;return l(k,g.type,b+d*n,c+d*n,Math.round(m*t),Math.round(p*t),g.name)}this.handleError({message:mxResources.get("imageTooBig")});
+return null}))}),f,e,y)}),mxUtils.bind(this,function(){this.handleError({message:mxResources.get("invalidOrMissingFile")})})))}else p=a.target.result,l(p,g.type,b+d*n,c+d*n,240,160,g.name,function(a){v(d,function(){return a})},g)});/(\.v(dx|sdx?))($|\?)/i.test(g.name)||/(\.vs(x|sx?))($|\?)/i.test(g.name)?l(null,g.type,b+d*n,c+d*n,240,160,g.name,function(a){v(d,function(){return a})},g):"image"==g.type.substring(0,5)||"application/pdf"==g.type?p.readAsDataURL(g):p.readAsText(g)}})(A)});if(k){k=[];
+for(x=0;x<a.length;x++)k.push(a[x]);a=k;this.confirmImageResize(function(a){f=a;v()},t)}else v()};EditorUi.prototype.confirmImageResize=function(a,b){b=null!=b?b:!1;var d=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){},c=isLocalStorage||mxClient.IS_CHROMEAPP?mxSettings.getResizeImages():null,f=function(c,f){if(c||b)mxSettings.setResizeImages(c?f:null),mxSettings.save();d();a(f)};null==c||b?this.showDialog((new ConfirmDialog(this,mxResources.get("resizeLargeImages"),
+function(a){f(a,!0)},function(a){f(a,!1)},mxResources.get("resize"),mxResources.get("actualSize"),'<img style="margin-top:8px;" src="'+Editor.loResImage+'"/>','<img style="margin-top:8px;" src="'+Editor.hiResImage+'"/>',isLocalStorage||mxClient.IS_CHROMEAPP)).container,340,isLocalStorage||mxClient.IS_CHROMEAPP?220:200,!0,!0):f(!1,c)};EditorUi.prototype.parseFile=function(a,b,c){c=null!=c?c:a.name;var d=new FormData;d.append("format","xml");d.append("upfile",a,c);var f=new XMLHttpRequest;f.open("POST",
+OPEN_URL);f.onreadystatechange=function(){b(f)};f.send(d);try{EditorUi.logEvent({category:"GLIFFY-IMPORT-FILE",action:"size_"+a.size})}catch(g){}};EditorUi.prototype.isResampleImage=function(a,b){b=null!=b?b:this.resampleThreshold;return a.length>b};EditorUi.prototype.resizeImage=function(a,b,c,e,l,g){l=null!=l?l:this.maxImageSize;var d=Math.max(1,a.width),f=Math.max(1,a.height);if(e&&this.isResampleImage(b,g))try{var k=Math.max(d/l,f/l);if(1<k){var n=Math.round(d/k),m=Math.round(f/k),q=document.createElement("canvas");
+q.width=n;q.height=m;q.getContext("2d").drawImage(a,0,0,n,m);var p=q.toDataURL();if(p.length<b.length){var x=document.createElement("canvas");x.width=n;x.height=m;var u=x.toDataURL();p!==u&&(b=p,d=n,f=m)}}}catch(M){}c(b,d,f)};EditorUi.prototype.crcTable=[];for(var c=0;256>c;c++)for(var l=c,m=0;8>m;m++)l=1==(l&1)?3988292384^l>>>1:l>>>1,EditorUi.prototype.crcTable[c]=l;EditorUi.prototype.updateCRC=function(a,b,c,e){for(var d=0;d<e;d++)a=EditorUi.prototype.crcTable[(a^b.charCodeAt(c+d))&255]^a>>>8;return a};
+EditorUi.prototype.crc32=function(a){this.crcTable=this.crcTable||this.createCrcTable();for(var b=-1,d=0;d<a.length;d++)b=b>>>8^this.crcTable[(b^a.charCodeAt(d))&255];return(b^-1)>>>0};EditorUi.prototype.writeGraphModelToPng=function(a,b,c,e,l){function d(a,b){var d=n;n+=b;return a.substring(d,n)}function f(a){a=d(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}function k(a){return String.fromCharCode(a>>24&255,a>>16&255,a>>8&255,a&255)}a=a.substring(a.indexOf(",")+
+1);a=window.atob?atob(a):Base64.decode(a,!0);var n=0;if(d(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=l&&l();else if(d(a,4),"IHDR"!=d(a,4))null!=l&&l();else{d(a,17);l=a.substring(0,n);do{var m=f(a);if("IDAT"==d(a,4)){l=a.substring(0,n-8);"pHYs"==b&&"dpi"==c?(c=Math.round(e/.0254),c=k(c)+k(c)+String.fromCharCode(1)):c=c+String.fromCharCode(0)+("zTXt"==b?String.fromCharCode(0):"")+e;e=4294967295;e=this.updateCRC(e,b,0,4);e=this.updateCRC(e,c,0,c.length);l+=k(c.length)+
+b+c+k(e^4294967295);l+=a.substring(n-8,a.length);break}l+=a.substring(n-8,n-4+m);d(a,m);d(a,4)}while(m);return"data:image/png;base64,"+(window.btoa?btoa(l):Base64.encode(l,!0))}};EditorUi.prototype.extractGraphModelFromPng=function(a){return Editor.extractGraphModelFromPng(a)};EditorUi.prototype.loadImage=function(a,b,c){try{var d=new Image;d.onload=function(){b(d)};null!=c&&(d.onerror=c);d.src=a}catch(n){if(null!=c)c(n);else throw n;}};var q=EditorUi.prototype.init;EditorUi.prototype.init=function(){mxStencilRegistry.allowEval=
+mxStencilRegistry.allowEval&&!this.isOfflineApp();"undefined"!==typeof window.mxSettings&&(this.formatWidth=mxSettings.getFormatWidth());var a=this,b=this.editor.graph,c=b.cellEditor.startEditing;b.cellEditor.startEditing=function(d,f){var e=this.graph.getAttributeForCell(d,"plantUmlData");if(null!=e){var g=JSON.parse(e),e=new TextareaDialog(a,mxResources.get("plantUml")+":",g.data,function(c){null!=c&&a.spinner.spin(document.body,mxResources.get("inserting"))&&a.generatePlantUmlImage(c,g.format,
+function(f,e,k){a.spinner.stop();b.getModel().beginUpdate();try{if("txt"==g.format)b.labelChanged(d,"<pre>"+f+"</pre>"),b.updateCellSize(d,!0);else{b.setCellStyles("image",a.convertDataUri(f),[d]);var l=b.model.getGeometry(d);null!=l&&(l=l.clone(),l.width=e,l.height=k,b.cellsResized([d],[l],!1))}b.setAttributeForCell(d,"plantUmlData",JSON.stringify({data:c,format:g.format}))}finally{b.getModel().endUpdate()}},function(b){a.handleError(b)})},null,null,400,220);a.showDialog(e.container,420,300,!0,!0);
+e.init()}else c.apply(this,arguments)};b.getLinkTitle=function(b){return a.getLinkTitle(b)};b.customLinkClicked=function(b){var d=!1;try{a.handleCustomLink(b),d=!0}catch(K){a.handleError(K)}return d};var e=this.clearDefaultStyle;this.clearDefaultStyle=function(){e.apply(this,arguments)};this.isOffline()||"undefined"===typeof window.EditDataDialog||(EditDataDialog.placeholderHelpLink="https://desk.draw.io/support/solutions/articles/16000051979");var l=a.editor.getEditBlankUrl;this.editor.getEditBlankUrl=
+function(b){b=null!=b?b:"";if(null!=a.pages&&null!=a.currentPage)for(var d=0;d<a.pages.length;d++)if(a.pages[d]==a.currentPage){0<d&&(b+=(0<b.length?"&":"?")+"page="+d);break}"1"==urlParams.dev&&(b+=(0<b.length?"&":"?")+"dev=1&drawdev=1");return l.apply(this,arguments)};var g=b.addClickHandler;b.addClickHandler=function(a,d,c){var f=d;d=function(a,d){if(null==d){var c=mxEvent.getSource(a);"a"==c.nodeName.toLowerCase()&&(d=c.getAttribute("href"))}null!=d&&b.isCustomLink(d)&&(mxEvent.isTouchEvent(a)||
+!mxEvent.isPopupTrigger(a))&&b.customLinkClicked(d)&&mxEvent.consume(a);null!=f&&f(a,d)};g.call(this,a,d,c)};q.apply(this,arguments);mxClient.IS_SVG&&this.editor.graph.addSvgShadow(b.view.canvas.ownerSVGElement,null,!0);a.actions.get("print").funct=function(){a.showDialog((new PrintDialog(a)).container,360,null!=a.pages&&1<a.pages.length?450:370,!0,!0)};this.defaultFilename=mxResources.get("untitledDiagram");var m=b.getExportVariables;b.getExportVariables=function(){var b=m.apply(this,arguments);
 b.pagecount=null!=a.pages?a.pages.length:1;b.page=null!=a.currentPage?a.currentPage.getName():"";b.pagenumber=null!=a.pages&&null!=a.currentPage?mxUtils.indexOf(a.pages,a.currentPage)+1:1;return b};var v=b.getGlobalVariable;b.getGlobalVariable=function(b){return"page"==b&&null!=a.currentPage?a.currentPage.getName():"pagenumber"==b?null!=a.currentPage&&null!=a.pages?mxUtils.indexOf(a.pages,a.currentPage)+1:1:"pagecount"==b?null!=a.pages?a.pages.length:1:v.apply(this,arguments)};var t=b.labelLinkClicked;
-b.labelLinkClicked=function(a,c,d){var e=c.getAttribute("href");if(null==e||!b.isCustomLink(e)||!mxEvent.isTouchEvent(d)&&mxEvent.isPopupTrigger(d))t.apply(this,arguments);else{if(!b.isEnabled()||null!=a&&b.isCellLocked(a.cell))b.customLinkClicked(e),b.getRubberband().reset();mxEvent.consume(d)}};this.editor.getOrCreateFilename=function(){var b=a.defaultFilename,c=a.getCurrentFile();null!=c&&(b=null!=c.getTitle()?c.getTitle():b);return b};var u=this.actions.get("print");u.setEnabled(!mxClient.IS_IOS||
+b.labelLinkClicked=function(a,d,c){var f=d.getAttribute("href");if(null==f||!b.isCustomLink(f)||!mxEvent.isTouchEvent(c)&&mxEvent.isPopupTrigger(c))t.apply(this,arguments);else{if(!b.isEnabled()||null!=a&&b.isCellLocked(a.cell))b.customLinkClicked(f),b.getRubberband().reset();mxEvent.consume(c)}};this.editor.getOrCreateFilename=function(){var b=a.defaultFilename,d=a.getCurrentFile();null!=d&&(b=null!=d.getTitle()?d.getTitle():b);return b};var u=this.actions.get("print");u.setEnabled(!mxClient.IS_IOS||
 !navigator.standalone);u.visible=u.isEnabled();if(!this.editor.chromeless||this.editor.editable)this.keyHandler.bindAction(70,!0,"find"),this.keyHandler.bindAction(67,!0,"copyStyle",!0),this.keyHandler.bindAction(86,!0,"pasteStyle",!0),this.keyHandler.bindAction(77,!0,"editGeometry",!0),this.keyHandler.bindAction(88,!0,"insertText",!0),this.keyHandler.bindAction(75,!0,"insertRectangle"),this.keyHandler.bindAction(75,!0,"insertEllipse",!0),mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||(this.altShiftActions[83]=
-"synchronize"),this.installImagePasteHandler(),this.installNativeClipboardHandler();this.spinner=this.createSpinner(document.body.clientWidth/2-2,Math.max(document.body.clientHeight||0,document.documentElement.clientHeight||0)/2,24);Graph.fileSupport&&this.editor.graph.addListener(mxEvent.EDITING_STARTED,mxUtils.bind(this,function(a){var b=this.editor.graph,c=b.cellEditor.text2,d=null;null!=c&&(mxEvent.addListener(c,"dragleave",function(a){null!=d&&(d.parentNode.removeChild(d),d=null);a.stopPropagation();
-a.preventDefault()}),mxEvent.addListener(c,"dragover",mxUtils.bind(this,function(a){null==d&&(!mxClient.IS_IE||10<document.documentMode)&&(d=this.highlightElement(c));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(c,"drop",mxUtils.bind(this,function(a){null!=d&&(d.parentNode.removeChild(d),d=null);if(0<a.dataTransfer.files.length)this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,function(a,c,d,e,f,g){b.insertImage(a,f,g)},function(){},function(a){return"image/"==a.type.substring(0,
-6)},function(a){for(var b=0;b<a.length;b++)a[b]()},mxEvent.isControlDown(a));else if(0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")){var c=a.dataTransfer.getData("text/uri-list");/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(c)?this.loadImage(decodeURIComponent(c),mxUtils.bind(this,function(a){var d=Math.max(1,a.width);a=Math.max(1,a.height);var e=this.maxImageSize,e=Math.min(1,Math.min(e/Math.max(1,d)),e/Math.max(1,a));b.insertImage(decodeURIComponent(c),d*e,a*e)})):document.execCommand("insertHTML",
+"synchronize"),this.installImagePasteHandler(),this.installNativeClipboardHandler();this.spinner=this.createSpinner(document.body.clientWidth/2-2,Math.max(document.body.clientHeight||0,document.documentElement.clientHeight||0)/2,24);Graph.fileSupport&&this.editor.graph.addListener(mxEvent.EDITING_STARTED,mxUtils.bind(this,function(a){var b=this.editor.graph,d=b.cellEditor.text2,c=null;null!=d&&(mxEvent.addListener(d,"dragleave",function(a){null!=c&&(c.parentNode.removeChild(c),c=null);a.stopPropagation();
+a.preventDefault()}),mxEvent.addListener(d,"dragover",mxUtils.bind(this,function(a){null==c&&(!mxClient.IS_IE||10<document.documentMode)&&(c=this.highlightElement(d));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(d,"drop",mxUtils.bind(this,function(a){null!=c&&(c.parentNode.removeChild(c),c=null);if(0<a.dataTransfer.files.length)this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,function(a,d,c,f,e,g){b.insertImage(a,e,g)},function(){},function(a){return"image/"==a.type.substring(0,
+6)},function(a){for(var b=0;b<a.length;b++)a[b]()},mxEvent.isControlDown(a));else if(0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")){var d=a.dataTransfer.getData("text/uri-list");/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(d)?this.loadImage(decodeURIComponent(d),mxUtils.bind(this,function(a){var c=Math.max(1,a.width);a=Math.max(1,a.height);var f=this.maxImageSize,f=Math.min(1,Math.min(f/Math.max(1,c)),f/Math.max(1,a));b.insertImage(decodeURIComponent(d),c*f,a*f)})):document.execCommand("insertHTML",
 !1,a.dataTransfer.getData("text/plain"))}else 0<=mxUtils.indexOf(a.dataTransfer.types,"text/html")?document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/html")):0<=mxUtils.indexOf(a.dataTransfer.types,"text/plain")&&document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/plain"));a.stopPropagation();a.preventDefault()})))}));"undefined"!==typeof window.mxSettings&&(u=this.editor.graph.view,u.setUnit(mxSettings.getUnit()),u.addListener("unitChanged",function(a,b){mxSettings.setUnit(b.getProperty("unit"));
 mxSettings.save()}),this.ruler=!this.canvasSupported||9==document.documentMode||"1"!=urlParams.ruler&&!mxSettings.isRulerOn()||this.editor.isChromelessView()&&!this.editor.editable?null:new mxDualRuler(this,u.unit),this.refresh());if("1"==urlParams.styledev){u=document.getElementById("geFooter");null!=u&&(this.styleInput=document.createElement("input"),this.styleInput.setAttribute("type","text"),this.styleInput.style.position="absolute",this.styleInput.style.top="14px",this.styleInput.style.left=
-"2px",this.styleInput.style.width="98%",this.styleInput.style.visibility="hidden",this.styleInput.style.opacity="0.9",mxEvent.addListener(this.styleInput,"change",mxUtils.bind(this,function(){this.editor.graph.getModel().setStyle(this.editor.graph.getSelectionCell(),this.styleInput.value)})),u.appendChild(this.styleInput),this.editor.graph.getSelectionModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(a,b){if(0<this.editor.graph.getSelectionCount()){var c=this.editor.graph.getSelectionCell(),
-c=this.editor.graph.getModel().getStyle(c);this.styleInput.value=c||"";this.styleInput.style.visibility="visible"}else this.styleInput.style.visibility="hidden"})));var y=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==this.styleInput?!0:y.apply(this,arguments)}}u=document.getElementById("geInfo");null!=u&&u.parentNode.removeChild(u);if(Graph.fileSupport&&(!this.editor.chromeless||this.editor.editable)){var z=null;mxEvent.addListener(b.container,"dragleave",
-function(a){b.isEnabled()&&(null!=z&&(z.parentNode.removeChild(z),z=null),a.stopPropagation(),a.preventDefault())});mxEvent.addListener(b.container,"dragover",mxUtils.bind(this,function(a){null==z&&(!mxClient.IS_IE||10<document.documentMode)&&(z=this.highlightElement(b.container));null!=this.sidebar&&this.sidebar.hideTooltip();a.stopPropagation();a.preventDefault()}));mxEvent.addListener(b.container,"drop",mxUtils.bind(this,function(a){null!=z&&(z.parentNode.removeChild(z),z=null);if(b.isEnabled()){var c=
-mxUtils.convertPoint(b.container,mxEvent.getClientX(a),mxEvent.getClientY(a)),d=b.view.translate,e=b.view.scale,f=c.x/e-d.x,g=c.y/e-d.y;mxEvent.isAltDown(a)&&(g=f=0);if(0<a.dataTransfer.files.length)this.importFiles(a.dataTransfer.files,f,g,this.maxImageSize,null,null,null,null,mxEvent.isControlDown(a),null,null,mxEvent.isShiftDown(a));else{var k=0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")?a.dataTransfer.getData("text/uri-list"):null,c=this.extractGraphModelFromEvent(a,null!=this.pages);
-if(null!=c)b.setSelectionCells(this.importXml(c,f,g,!0));else if(0<=mxUtils.indexOf(a.dataTransfer.types,"text/html")){var l=a.dataTransfer.getData("text/html"),c=document.createElement("div");c.innerHTML=l;var n=null,d=c.getElementsByTagName("img");null!=d&&1==d.length?(l=d[0].getAttribute("src"),/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(l)||(n=!0)):(c=c.getElementsByTagName("a"),null!=c&&1==c.length&&(l=c[0].getAttribute("href")));var m=!0,p=mxUtils.bind(this,function(){b.setSelectionCells(this.insertTextAt(l,
-f,g,!0,n,null,m))});n&&l.length>this.resampleThreshold?this.confirmImageResize(function(a){m=a;p()},mxEvent.isControlDown(a)):p()}else null!=k&&/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(k)?this.loadImage(decodeURIComponent(k),mxUtils.bind(this,function(a){var c=Math.max(1,a.width);a=Math.max(1,a.height);var d=this.maxImageSize,d=Math.min(1,Math.min(d/Math.max(1,c)),d/Math.max(1,a));b.setSelectionCell(b.insertVertex(null,null,"",f,g,c*d,a*d,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+
-k+";"))}),mxUtils.bind(this,function(a){b.setSelectionCells(this.insertTextAt(k,f,g,!0))})):0<=mxUtils.indexOf(a.dataTransfer.types,"text/plain")&&b.setSelectionCells(this.insertTextAt(a.dataTransfer.getData("text/plain"),f,g,!0))}}a.stopPropagation();a.preventDefault()}),!1)}this.initPages();"1"==urlParams.embed&&this.initializeEmbedMode();this.installSettings()};EditorUi.prototype.installImagePasteHandler=function(){if(!mxClient.IS_IE){var a=this.editor.graph;a.container.addEventListener("paste",
-mxUtils.bind(this,function(b){if(!mxEvent.isConsumed(b))try{for(var c=b.clipboardData||b.originalEvent.clipboardData,d=!1,e=0;e<c.types.length;e++)if("text/"===c.types[e].substring(0,5)){d=!0;break}if(!d){var f=c.items;for(index in f){var l=f[index];if("file"===l.kind){if(a.isEditing())this.importFiles([l.getAsFile()],0,0,this.maxImageSize,function(b,c,d,e,f,g){a.insertImage(b,f,g)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()});else{var m=
-this.editor.graph.getInsertPoint();this.importFiles([l.getAsFile()],m.x,m.y,this.maxImageSize);mxEvent.consume(b)}break}}}}catch(t){}}),!1)}};EditorUi.prototype.installNativeClipboardHandler=function(){function a(){window.setTimeout(function(){d.innerHTML="&nbsp;";d.focus();document.execCommand("selectAll",!1,null)},0)}var b=this.editor.graph,d=document.createElement("div");d.setAttribute("autocomplete","off");d.setAttribute("autocorrect","off");d.setAttribute("autocapitalize","off");d.setAttribute("spellcheck",
-"false");d.style.textRendering="optimizeSpeed";d.style.fontFamily="monospace";d.style.wordBreak="break-all";d.style.background="transparent";d.style.color="transparent";d.style.position="absolute";d.style.whiteSpace="nowrap";d.style.overflow="hidden";d.style.display="block";d.style.fontSize="1";d.style.zIndex="-1";d.style.resize="none";d.style.outline="none";d.style.width="1px";d.style.height="1px";mxUtils.setOpacity(d,0);d.contentEditable=!0;d.innerHTML="&nbsp;";var f=!1;this.keyHandler.bindControlKey(88,
-null);this.keyHandler.bindControlKey(67,null);this.keyHandler.bindControlKey(86,null);mxEvent.addListener(document,"keydown",mxUtils.bind(this,function(a){var c=mxEvent.getSource(a);null==b.container||!b.isEnabled()||b.isMouseDown||b.isEditing()||null!=this.dialog||"INPUT"==c.nodeName||"TEXTAREA"==c.nodeName||!(224==a.keyCode||!mxClient.IS_MAC&&17==a.keyCode||mxClient.IS_MAC&&91==a.keyCode)||f||(d.style.left=b.container.scrollLeft+10+"px",d.style.top=b.container.scrollTop+10+"px",b.container.appendChild(d),
-f=!0,mxClient.IS_QUIRKS?window.setTimeout(function(){d.focus();document.execCommand("selectAll",!1,null)},0):(d.focus(),document.execCommand("selectAll",!1,null)))}));mxEvent.addListener(document,"keyup",mxUtils.bind(this,function(a){var c=a.keyCode;window.setTimeout(mxUtils.bind(this,function(){!f||224!=c&&17!=c&&91!=c||(f=!1,b.isEditing()||null!=this.dialog||null==b.container||b.container.focus(),d.parentNode.removeChild(d),null==this.dialog&&mxUtils.clearSelection())}),0)}));mxEvent.addListener(d,
-"copy",mxUtils.bind(this,function(c){if(b.isEnabled())try{mxClipboard.copy(b),this.copyCells(d),a()}catch(A){this.handleError(A)}}));mxEvent.addListener(d,"cut",mxUtils.bind(this,function(c){if(b.isEnabled())try{mxClipboard.copy(b),this.copyCells(d,!0),a()}catch(A){this.handleError(A)}}));mxEvent.addListener(d,"paste",mxUtils.bind(this,function(a){b.isEnabled()&&!b.isCellLocked(b.getDefaultParent())&&((new Date).getTime(),d.innerHTML="&nbsp;",d.focus(),null!=a.clipboardData&&this.pasteCells(a,d,!0),
-mxEvent.isConsumed(a)||window.setTimeout(mxUtils.bind(this,function(){this.pasteCells(a,d,!1)}),0))}),!0);var l=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==d?!0:l.apply(this,arguments)}};EditorUi.prototype.getLinkTitle=function(a){var b=Graph.prototype.getLinkTitle.apply(this,arguments);if("data:page/id,"==a.substring(0,13)){var c=a.indexOf(",");0<c&&(b=this.getPageById(a.substring(c+1)),b=null!=b?b.getName():mxResources.get("pageNotFound"))}else"data:"==
+"2px",this.styleInput.style.width="98%",this.styleInput.style.visibility="hidden",this.styleInput.style.opacity="0.9",mxEvent.addListener(this.styleInput,"change",mxUtils.bind(this,function(){this.editor.graph.getModel().setStyle(this.editor.graph.getSelectionCell(),this.styleInput.value)})),u.appendChild(this.styleInput),this.editor.graph.getSelectionModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(a,b){if(0<this.editor.graph.getSelectionCount()){var d=this.editor.graph.getSelectionCell(),
+d=this.editor.graph.getModel().getStyle(d);this.styleInput.value=d||"";this.styleInput.style.visibility="visible"}else this.styleInput.style.visibility="hidden"})));var y=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==this.styleInput?!0:y.apply(this,arguments)}}u=document.getElementById("geInfo");null!=u&&u.parentNode.removeChild(u);if(Graph.fileSupport&&(!this.editor.chromeless||this.editor.editable)){var z=null;mxEvent.addListener(b.container,"dragleave",
+function(a){b.isEnabled()&&(null!=z&&(z.parentNode.removeChild(z),z=null),a.stopPropagation(),a.preventDefault())});mxEvent.addListener(b.container,"dragover",mxUtils.bind(this,function(a){null==z&&(!mxClient.IS_IE||10<document.documentMode)&&(z=this.highlightElement(b.container));null!=this.sidebar&&this.sidebar.hideTooltip();a.stopPropagation();a.preventDefault()}));mxEvent.addListener(b.container,"drop",mxUtils.bind(this,function(a){null!=z&&(z.parentNode.removeChild(z),z=null);if(b.isEnabled()){var d=
+mxUtils.convertPoint(b.container,mxEvent.getClientX(a),mxEvent.getClientY(a)),c=b.view.translate,f=b.view.scale,e=d.x/f-c.x,g=d.y/f-c.y;mxEvent.isAltDown(a)&&(g=e=0);if(0<a.dataTransfer.files.length)this.importFiles(a.dataTransfer.files,e,g,this.maxImageSize,null,null,null,null,mxEvent.isControlDown(a),null,null,mxEvent.isShiftDown(a));else{var k=0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")?a.dataTransfer.getData("text/uri-list"):null,d=this.extractGraphModelFromEvent(a,null!=this.pages);
+if(null!=d)b.setSelectionCells(this.importXml(d,e,g,!0));else if(0<=mxUtils.indexOf(a.dataTransfer.types,"text/html")){var l=a.dataTransfer.getData("text/html"),d=document.createElement("div");d.innerHTML=l;var n=null,c=d.getElementsByTagName("img");null!=c&&1==c.length?(l=c[0].getAttribute("src"),/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(l)||(n=!0)):(d=d.getElementsByTagName("a"),null!=d&&1==d.length&&(l=d[0].getAttribute("href")));var m=!0,p=mxUtils.bind(this,function(){b.setSelectionCells(this.insertTextAt(l,
+e,g,!0,n,null,m))});n&&l.length>this.resampleThreshold?this.confirmImageResize(function(a){m=a;p()},mxEvent.isControlDown(a)):p()}else null!=k&&/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(k)?this.loadImage(decodeURIComponent(k),mxUtils.bind(this,function(a){var d=Math.max(1,a.width);a=Math.max(1,a.height);var c=this.maxImageSize,c=Math.min(1,Math.min(c/Math.max(1,d)),c/Math.max(1,a));b.setSelectionCell(b.insertVertex(null,null,"",e,g,d*c,a*c,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+
+k+";"))}),mxUtils.bind(this,function(a){b.setSelectionCells(this.insertTextAt(k,e,g,!0))})):0<=mxUtils.indexOf(a.dataTransfer.types,"text/plain")&&b.setSelectionCells(this.insertTextAt(a.dataTransfer.getData("text/plain"),e,g,!0))}}a.stopPropagation();a.preventDefault()}),!1)}this.initPages();"1"==urlParams.embed&&this.initializeEmbedMode();this.installSettings()};EditorUi.prototype.installImagePasteHandler=function(){if(!mxClient.IS_IE){var a=this.editor.graph;a.container.addEventListener("paste",
+mxUtils.bind(this,function(b){if(!mxEvent.isConsumed(b))try{for(var d=b.clipboardData||b.originalEvent.clipboardData,c=!1,f=0;f<d.types.length;f++)if("text/"===d.types[f].substring(0,5)){c=!0;break}if(!c){var e=d.items;for(index in e){var l=e[index];if("file"===l.kind){if(a.isEditing())this.importFiles([l.getAsFile()],0,0,this.maxImageSize,function(b,d,c,f,e,g){a.insertImage(b,e,g)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()});else{var m=
+this.editor.graph.getInsertPoint();this.importFiles([l.getAsFile()],m.x,m.y,this.maxImageSize);mxEvent.consume(b)}break}}}}catch(t){}}),!1)}};EditorUi.prototype.installNativeClipboardHandler=function(){function a(){window.setTimeout(function(){c.innerHTML="&nbsp;";c.focus();document.execCommand("selectAll",!1,null)},0)}var b=this.editor.graph,c=document.createElement("div");c.setAttribute("autocomplete","off");c.setAttribute("autocorrect","off");c.setAttribute("autocapitalize","off");c.setAttribute("spellcheck",
+"false");c.style.textRendering="optimizeSpeed";c.style.fontFamily="monospace";c.style.wordBreak="break-all";c.style.background="transparent";c.style.color="transparent";c.style.position="absolute";c.style.whiteSpace="nowrap";c.style.overflow="hidden";c.style.display="block";c.style.fontSize="1";c.style.zIndex="-1";c.style.resize="none";c.style.outline="none";c.style.width="1px";c.style.height="1px";mxUtils.setOpacity(c,0);c.contentEditable=!0;c.innerHTML="&nbsp;";var e=!1;this.keyHandler.bindControlKey(88,
+null);this.keyHandler.bindControlKey(67,null);this.keyHandler.bindControlKey(86,null);mxEvent.addListener(document,"keydown",mxUtils.bind(this,function(a){var d=mxEvent.getSource(a);null==b.container||!b.isEnabled()||b.isMouseDown||b.isEditing()||null!=this.dialog||"INPUT"==d.nodeName||"TEXTAREA"==d.nodeName||!(224==a.keyCode||!mxClient.IS_MAC&&17==a.keyCode||mxClient.IS_MAC&&91==a.keyCode)||e||(c.style.left=b.container.scrollLeft+10+"px",c.style.top=b.container.scrollTop+10+"px",b.container.appendChild(c),
+e=!0,mxClient.IS_QUIRKS?window.setTimeout(function(){c.focus();document.execCommand("selectAll",!1,null)},0):(c.focus(),document.execCommand("selectAll",!1,null)))}));mxEvent.addListener(document,"keyup",mxUtils.bind(this,function(a){var d=a.keyCode;window.setTimeout(mxUtils.bind(this,function(){!e||224!=d&&17!=d&&91!=d||(e=!1,b.isEditing()||null!=this.dialog||null==b.container||b.container.focus(),c.parentNode.removeChild(c),null==this.dialog&&mxUtils.clearSelection())}),0)}));mxEvent.addListener(c,
+"copy",mxUtils.bind(this,function(d){if(b.isEnabled())try{mxClipboard.copy(b),this.copyCells(c),a()}catch(A){this.handleError(A)}}));mxEvent.addListener(c,"cut",mxUtils.bind(this,function(d){if(b.isEnabled())try{mxClipboard.copy(b),this.copyCells(c,!0),a()}catch(A){this.handleError(A)}}));mxEvent.addListener(c,"paste",mxUtils.bind(this,function(a){b.isEnabled()&&!b.isCellLocked(b.getDefaultParent())&&((new Date).getTime(),c.innerHTML="&nbsp;",c.focus(),null!=a.clipboardData&&this.pasteCells(a,c,!0),
+mxEvent.isConsumed(a)||window.setTimeout(mxUtils.bind(this,function(){this.pasteCells(a,c,!1)}),0))}),!0);var l=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==c?!0:l.apply(this,arguments)}};EditorUi.prototype.getLinkTitle=function(a){var b=Graph.prototype.getLinkTitle.apply(this,arguments);if("data:page/id,"==a.substring(0,13)){var d=a.indexOf(",");0<d&&(b=this.getPageById(a.substring(d+1)),b=null!=b?b.getName():mxResources.get("pageNotFound"))}else"data:"==
 a.substring(0,5)&&(b=mxResources.get("action"));return b};EditorUi.prototype.handleCustomLink=function(a){if("data:page/id,"==a.substring(0,13)){var b=a.indexOf(",");if(a=this.getPageById(a.substring(b+1)))this.selectPage(a);else throw Error(mxResources.get("pageNotFound")||"Page not found");}else this.editor.graph.handleCustomLink(a)};EditorUi.prototype.isSettingsEnabled=function(){return"undefined"!==typeof window.mxSettings&&(isLocalStorage||mxClient.IS_CHROMEAPP)};EditorUi.prototype.installSettings=
-function(){if(this.isSettingsEnabled()){ColorDialog.recentColors=mxSettings.getRecentColors();if(isLocalStorage)try{window.addEventListener("storage",mxUtils.bind(this,function(a){a.key==mxSettings.key&&(mxSettings.load(),ColorDialog.recentColors=mxSettings.getRecentColors(),this.menus.customFonts=mxSettings.getCustomFonts())}),!1)}catch(c){}this.fireEvent(new mxEventObject("styleChanged","keys",[],"values",[],"cells",[]));this.menus.customFonts=mxSettings.getCustomFonts();this.addListener("customFontsChanged",
+function(){if(this.isSettingsEnabled()){ColorDialog.recentColors=mxSettings.getRecentColors();if(isLocalStorage)try{window.addEventListener("storage",mxUtils.bind(this,function(a){a.key==mxSettings.key&&(mxSettings.load(),ColorDialog.recentColors=mxSettings.getRecentColors(),this.menus.customFonts=mxSettings.getCustomFonts())}),!1)}catch(d){}this.fireEvent(new mxEventObject("styleChanged","keys",[],"values",[],"cells",[]));this.menus.customFonts=mxSettings.getCustomFonts();this.addListener("customFontsChanged",
 mxUtils.bind(this,function(a,b){mxSettings.setCustomFonts(this.menus.customFonts);mxSettings.save()}));this.editor.graph.connectionHandler.setCreateTarget(mxSettings.isCreateTarget());this.fireEvent(new mxEventObject("copyConnectChanged"));this.addListener("copyConnectChanged",mxUtils.bind(this,function(a,b){mxSettings.setCreateTarget(this.editor.graph.connectionHandler.isCreateTarget());mxSettings.save()}));this.editor.graph.pageFormat=mxSettings.getPageFormat();this.addListener("pageFormatChanged",
 mxUtils.bind(this,function(a,b){mxSettings.setPageFormat(this.editor.graph.pageFormat);mxSettings.save()}));this.editor.graph.view.gridColor=mxSettings.getGridColor("dark"==uiTheme);this.addListener("gridColorChanged",mxUtils.bind(this,function(a,b){mxSettings.setGridColor(this.editor.graph.view.gridColor,"dark"==uiTheme);mxSettings.save()}));if(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)this.editor.addListener("autosaveChanged",mxUtils.bind(this,function(a,b){mxSettings.setAutosave(this.editor.autosave);
-mxSettings.save()})),this.editor.autosave=mxSettings.getAutosave();null!=this.sidebar&&this.sidebar.showPalette("search",mxSettings.settings.search);this.editor.chromeless&&!this.editor.editable||null==this.sidebar||!(mxSettings.settings.isNew||8>=parseInt(mxSettings.settings.version||0))||(this.toggleScratchpad(),mxSettings.save());this.addListener("formatWidthChanged",function(){mxSettings.setFormatWidth(this.formatWidth);mxSettings.save()})}};EditorUi.prototype.copyCells=function(a,b){var c=this.editor.graph;
-if(c.isSelectionEmpty())a.innerHTML="";else{var d=mxUtils.sortCells(c.model.getTopmostCells(c.getSelectionCells())),e=mxUtils.getXml(c.encodeCells(d));mxUtils.setTextContent(a,encodeURIComponent(e));b?(c.removeCells(d,!1),c.lastPasteXml=null):(c.lastPasteXml=e,c.pasteCounter=0);a.focus();document.execCommand("selectAll",!1,null)}};EditorUi.prototype.pasteCells=function(a,b,d){if(!mxEvent.isConsumed(a)){var c=b;if(d&&null!=a.clipboardData&&a.clipboardData.getData){var e=a.clipboardData.getData("text/html");
-if(null!=e&&0<e.length){if(c=document.createElement("div"),c.innerHTML=e,e=c.getElementsByTagName("style"),null!=e)for(;0<e.length;)e[0].parentNode.removeChild(e[0])}else e=a.clipboardData.getData("text/plain"),null!=e&&0<e.length&&(c=document.createElement("div"),mxUtils.setTextContent(c,e))}e=c.getElementsByTagName("span");if(null!=e&&0<e.length&&"application/vnd.lucid.chart.objects"===e[0].getAttribute("data-lucid-type"))d=e[0].getAttribute("data-lucid-content"),null!=d&&0<d.length&&(this.convertLucidChart(d,
-mxUtils.bind(this,function(a){var b=this.editor.graph;b.lastPasteXml==a?b.pasteCounter++:(b.lastPasteXml=a,b.pasteCounter=0);var c=b.pasteCounter*b.gridSize;b.setSelectionCells(this.importXml(a,c,c));b.scrollCellToVisible(b.getSelectionCell())}),mxUtils.bind(this,function(a){this.handleError(a)})),mxEvent.consume(a));else{var f=mxUtils.trim(null==c.innerText?mxUtils.getTextContent(c):c.innerText),k=!1;try{var l=f.lastIndexOf("%3E");0<=l&&l<f.length-3&&(f=f.substring(0,l+3))}catch(p){}try{var e=c.getElementsByTagName("span"),
-m=null!=e&&0<e.length?mxUtils.trim(decodeURIComponent(e[0].textContent)):decodeURIComponent(f);this.isCompatibleString(m)&&(k=!0,f=m)}catch(p){}try{var q=this.editor.graph;if(null!=f&&0<f.length){q.lastPasteXml==f?q.pasteCounter++:(q.lastPasteXml=f,q.pasteCounter=0);var y=q.pasteCounter*q.gridSize;if(k||this.isCompatibleString(f))q.setSelectionCells(this.importXml(f,y,y));else{var u=q.getInsertPoint();q.isMouseInsertPoint()&&(y=0,q.lastPasteXml==f&&0<q.pasteCounter&&q.pasteCounter--);q.setSelectionCells(this.insertTextAt(f,
-u.x+y,u.y+y,!0))}q.isSelectionEmpty()||(q.scrollCellToVisible(q.getSelectionCell()),null!=this.hoverIcons&&this.hoverIcons.update(q.view.getState(q.getSelectionCell())));try{mxEvent.consume(a)}catch(p){}}else d||(q.lastPasteXml=null,q.pasteCounter=0)}catch(p){this.handleError(p)}}}b.innerHTML="&nbsp;"};EditorUi.prototype.addFileDropHandler=function(a){if(Graph.fileSupport)for(var b=null,c=0;c<a.length;c++)mxEvent.addListener(a[c],"dragleave",function(a){null!=b&&(b.parentNode.removeChild(b),b=null);
-a.stopPropagation();a.preventDefault()}),mxEvent.addListener(a[c],"dragover",mxUtils.bind(this,function(a){(this.editor.graph.isEnabled()||"1"!=urlParams.embed)&&null==b&&(!mxClient.IS_IE||10<document.documentMode&&12>document.documentMode)&&(b=this.highlightElement());a.stopPropagation();a.preventDefault()})),mxEvent.addListener(a[c],"drop",mxUtils.bind(this,function(a){null!=b&&(b.parentNode.removeChild(b),b=null);if(this.editor.graph.isEnabled()||"1"!=urlParams.embed)if(0<a.dataTransfer.files.length)this.hideDialog(),
-"1"==urlParams.embed?this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,null,null,null,null,!mxEvent.isControlDown(a)&&!mxEvent.isShiftDown(a)):this.openFiles(a.dataTransfer.files,!0);else{var c=this.extractGraphModelFromEvent(a);if(null==c){var d=null!=a.dataTransfer?a.dataTransfer:a.clipboardData;null!=d&&(10==document.documentMode||11==document.documentMode?c=d.getData("Text"):(c=null,c=0<=mxUtils.indexOf(d.types,"text/uri-list")?a.dataTransfer.getData("text/uri-list"):0<=mxUtils.indexOf(d.types,
-"text/html")?d.getData("text/html"):null,null!=c&&0<c.length?(d=document.createElement("div"),d.innerHTML=c,d=d.getElementsByTagName("img"),0<d.length&&(c=d[0].getAttribute("src"))):0<=mxUtils.indexOf(d.types,"text/plain")&&(c=d.getData("text/plain"))),null!=c&&("data:image/png;base64,"==c.substring(0,22)?(c=this.extractGraphModelFromPng(c),null!=c&&0<c.length&&this.openLocalFile(c,null,!0)):!this.isOffline()&&this.isRemoteFileFormat(c)?(new mxXmlRequest(OPEN_URL,"format=xml&data="+encodeURIComponent(c))).send(mxUtils.bind(this,
-function(a){200<=a.getStatus()&&299>=a.getStatus()&&this.openLocalFile(a.getText(),null,!0)})):/^https?:\/\//.test(c)&&(null==this.getCurrentFile()?window.location.hash="#U"+encodeURIComponent(c):window.openWindow((mxClient.IS_CHROMEAPP?EditorUi.drawHost+"/":"https://"+location.host+"/")+window.location.search+"#U"+encodeURIComponent(c)))))}else this.openLocalFile(c,null,!0)}a.stopPropagation();a.preventDefault()}))};EditorUi.prototype.highlightElement=function(a){var b=0,c=0,d,f;if(null==a){f=document.body;
-var g=document.documentElement;d=(f.clientWidth||g.clientWidth)-3;f=Math.max(f.clientHeight||0,g.clientHeight)-3}else b=a.offsetTop,c=a.offsetLeft,d=a.clientWidth,f=a.clientHeight;g=document.createElement("div");g.style.zIndex=mxPopupMenu.prototype.zIndex+2;g.style.border="3px dotted rgb(254, 137, 12)";g.style.pointerEvents="none";g.style.position="absolute";g.style.top=b+"px";g.style.left=c+"px";g.style.width=Math.max(0,d-3)+"px";g.style.height=Math.max(0,f-3)+"px";null!=a&&a.parentNode==this.editor.graph.container?
-this.editor.graph.container.appendChild(g):document.body.appendChild(g);return g};EditorUi.prototype.stringToCells=function(a){a=mxUtils.parseXml(a);var b=this.editor.extractGraphModel(a.documentElement);a=[];if(null!=b){var c=new mxCodec(b.ownerDocument),d=new mxGraphModel;c.decode(b,d);b=d.getChildAt(d.getRoot(),0);for(c=0;c<d.getChildCount(b);c++)a.push(d.getChildAt(b,c))}return a};EditorUi.prototype.openFiles=function(a,b){if(this.spinner.spin(document.body,mxResources.get("loading")))for(var c=
-0;c<a.length;c++)mxUtils.bind(this,function(a){var c=new FileReader;c.onload=mxUtils.bind(this,function(c){try{var d=c.target.result,e=a.name;if(null!=e&&0<e.length){!this.useCanvasForExport&&/(\.png)$/i.test(e)?e=e.substring(0,e.length-4)+".drawio":/(\.pdf)$/i.test(e)&&(e=e.substring(0,e.length-4)+".drawio");var f=mxUtils.bind(this,function(a){e=0<=e.lastIndexOf(".")?e.substring(0,e.lastIndexOf("."))+".drawio":e+".drawio";if("<mxlibrary"==a.substring(0,10)){null==this.getCurrentFile()&&"1"!=urlParams.embed&&
-this.openLocalFile(this.emptyDiagramXml,this.defaultFilename,b);try{this.loadLibrary(new LocalLibrary(this,a,e))}catch(E){this.handleError(E,mxResources.get("errorLoadingFile"))}}else this.openLocalFile(a,e,b)});if(/(\.v(dx|sdx?))($|\?)/i.test(e)||/(\.vs(x|sx?))($|\?)/i.test(e))this.importVisio(a,mxUtils.bind(this,function(a){this.spinner.stop();f(a)}));else if(/(\.*<graphml )/.test(d))this.importGraphML(d,mxUtils.bind(this,function(a){this.spinner.stop();f(a)}));else if(Graph.fileSupport&&!this.isOffline()&&
-(new XMLHttpRequest).upload&&this.isRemoteFileFormat(d,e))this.parseFile(a,mxUtils.bind(this,function(a){4==a.readyState&&(this.spinner.stop(),200<=a.status&&299>=a.status?f(a.responseText):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge":"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))}));else if(this.isLucidChartData(d))/(\.json)$/i.test(e)&&(e=e.substring(0,e.length-5)+".drawio"),this.convertLucidChart(d,mxUtils.bind(this,function(a){this.spinner.stop();this.openLocalFile(a,
-e,b)}),mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}));else if("<mxlibrary"==c.target.result.substring(0,10)){this.spinner.stop();null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.openLocalFile(this.emptyDiagramXml,this.defaultFilename,b);try{this.loadLibrary(new LocalLibrary(this,c.target.result,a.name))}catch(y){this.handleError(y,mxResources.get("errorLoadingFile"))}}else if(0==d.indexOf("PK"))this.importZipFile(a,mxUtils.bind(this,function(a){this.spinner.stop();
-f(a)}),mxUtils.bind(this,function(){this.spinner.stop();this.openLocalFile(d,e,b)}));else{if("image/png"==a.type.substring(0,9))d=this.extractGraphModelFromPng(d);else if("application/pdf"==a.type){var g=Editor.extractGraphModelFromPdf(d);null!=g&&(d=g)}this.spinner.stop();this.openLocalFile(d,e,b)}}}catch(y){this.handleError(y)}});c.onerror=mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a);window.openFile=null});"image"!==a.type.substring(0,5)&&"application/pdf"!==a.type||"image/svg"===
-a.type.substring(0,9)?c.readAsText(a):c.readAsDataURL(a)})(a[c])};EditorUi.prototype.openLocalFile=function(a,b,d){var c=this.getCurrentFile(),e=mxUtils.bind(this,function(){window.openFile=null;if(null==b&&null!=this.getCurrentFile()&&this.isDiagramEmpty()){var c=mxUtils.parseXml(a);null!=c&&(this.editor.setGraphXml(c.documentElement),this.editor.graph.selectAll())}else this.fileLoaded(new LocalFile(this,a,b||this.defaultFilename,d))});if(null!=a&&0<a.length)null==c||!c.isModified()&&(mxClient.IS_CHROMEAPP||
-EditorUi.isElectronApp)?e():(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)&&null!=c&&c.isModified()?this.confirm(mxResources.get("allChangesLost"),null,e,mxResources.get("cancel"),mxResources.get("discardChanges")):(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(a,b),window.openWindow(this.getUrl(),null,mxUtils.bind(this,function(){null!=c&&c.isModified()?this.confirm(mxResources.get("allChangesLost"),null,e,mxResources.get("cancel"),mxResources.get("discardChanges")):
-e()})));else throw Error(mxResources.get("notADiagramFile"));};EditorUi.prototype.getBasenames=function(){var a={};if(null!=this.pages)for(var b=0;b<this.pages.length;b++)this.updatePageRoot(this.pages[b]),this.addBasenamesForCell(this.pages[b].root,a);else this.addBasenamesForCell(this.editor.graph.model.getRoot(),a);var b=[],d;for(d in a)b.push(d);return b};EditorUi.prototype.addBasenamesForCell=function(a,b){function c(a){if(null!=a){var c=a.lastIndexOf(".");0<c&&(a=a.substring(c+1,a.length));
-null==b[a]&&(b[a]=!0)}}var d=this.editor.graph,e=d.getCellStyle(a);c(mxStencilRegistry.getBasenameForStencil(e[mxConstants.STYLE_SHAPE]));d.model.isEdge(a)&&(c(mxMarker.getPackageForType(e[mxConstants.STYLE_STARTARROW])),c(mxMarker.getPackageForType(e[mxConstants.STYLE_ENDARROW])));for(var e=d.model.getChildCount(a),f=0;f<e;f++)this.addBasenamesForCell(d.model.getChildAt(a,f),b)};EditorUi.prototype.setGraphEnabled=function(a){this.diagramContainer.style.visibility=a?"":"hidden";this.formatContainer.style.visibility=
+mxSettings.save()})),this.editor.autosave=mxSettings.getAutosave();null!=this.sidebar&&this.sidebar.showPalette("search",mxSettings.settings.search);this.editor.chromeless&&!this.editor.editable||null==this.sidebar||!(mxSettings.settings.isNew||8>=parseInt(mxSettings.settings.version||0))||(this.toggleScratchpad(),mxSettings.save());this.addListener("formatWidthChanged",function(){mxSettings.setFormatWidth(this.formatWidth);mxSettings.save()})}};EditorUi.prototype.copyCells=function(a,b){var d=this.editor.graph;
+if(d.isSelectionEmpty())a.innerHTML="";else{var c=mxUtils.sortCells(d.model.getTopmostCells(d.getSelectionCells())),f=mxUtils.getXml(d.encodeCells(c));mxUtils.setTextContent(a,encodeURIComponent(f));b?(d.removeCells(c,!1),d.lastPasteXml=null):(d.lastPasteXml=f,d.pasteCounter=0);a.focus();document.execCommand("selectAll",!1,null)}};EditorUi.prototype.pasteCells=function(a,b,c){if(!mxEvent.isConsumed(a)){var d=b;if(c&&null!=a.clipboardData&&a.clipboardData.getData){var f=a.clipboardData.getData("text/html");
+if(null!=f&&0<f.length){if(d=document.createElement("div"),d.innerHTML=f,f=d.getElementsByTagName("style"),null!=f)for(;0<f.length;)f[0].parentNode.removeChild(f[0])}else f=a.clipboardData.getData("text/plain"),null!=f&&0<f.length&&(d=document.createElement("div"),mxUtils.setTextContent(d,f))}f=d.getElementsByTagName("span");if(null!=f&&0<f.length&&"application/vnd.lucid.chart.objects"===f[0].getAttribute("data-lucid-type"))c=f[0].getAttribute("data-lucid-content"),null!=c&&0<c.length&&(this.convertLucidChart(c,
+mxUtils.bind(this,function(a){var b=this.editor.graph;b.lastPasteXml==a?b.pasteCounter++:(b.lastPasteXml=a,b.pasteCounter=0);var d=b.pasteCounter*b.gridSize;b.setSelectionCells(this.importXml(a,d,d));b.scrollCellToVisible(b.getSelectionCell())}),mxUtils.bind(this,function(a){this.handleError(a)})),mxEvent.consume(a));else{var e=mxUtils.trim(null==d.innerText?mxUtils.getTextContent(d):d.innerText),k=!1;try{var l=e.lastIndexOf("%3E");0<=l&&l<e.length-3&&(e=e.substring(0,l+3))}catch(p){}try{var f=d.getElementsByTagName("span"),
+m=null!=f&&0<f.length?mxUtils.trim(decodeURIComponent(f[0].textContent)):decodeURIComponent(e);this.isCompatibleString(m)&&(k=!0,e=m)}catch(p){}try{var q=this.editor.graph;if(null!=e&&0<e.length){q.lastPasteXml==e?q.pasteCounter++:(q.lastPasteXml=e,q.pasteCounter=0);var y=q.pasteCounter*q.gridSize;if(k||this.isCompatibleString(e))q.setSelectionCells(this.importXml(e,y,y));else{var u=q.getInsertPoint();q.isMouseInsertPoint()&&(y=0,q.lastPasteXml==e&&0<q.pasteCounter&&q.pasteCounter--);q.setSelectionCells(this.insertTextAt(e,
+u.x+y,u.y+y,!0))}q.isSelectionEmpty()||(q.scrollCellToVisible(q.getSelectionCell()),null!=this.hoverIcons&&this.hoverIcons.update(q.view.getState(q.getSelectionCell())));try{mxEvent.consume(a)}catch(p){}}else c||(q.lastPasteXml=null,q.pasteCounter=0)}catch(p){this.handleError(p)}}}b.innerHTML="&nbsp;"};EditorUi.prototype.addFileDropHandler=function(a){if(Graph.fileSupport)for(var b=null,d=0;d<a.length;d++)mxEvent.addListener(a[d],"dragleave",function(a){null!=b&&(b.parentNode.removeChild(b),b=null);
+a.stopPropagation();a.preventDefault()}),mxEvent.addListener(a[d],"dragover",mxUtils.bind(this,function(a){(this.editor.graph.isEnabled()||"1"!=urlParams.embed)&&null==b&&(!mxClient.IS_IE||10<document.documentMode&&12>document.documentMode)&&(b=this.highlightElement());a.stopPropagation();a.preventDefault()})),mxEvent.addListener(a[d],"drop",mxUtils.bind(this,function(a){null!=b&&(b.parentNode.removeChild(b),b=null);if(this.editor.graph.isEnabled()||"1"!=urlParams.embed)if(0<a.dataTransfer.files.length)this.hideDialog(),
+"1"==urlParams.embed?this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,null,null,null,null,!mxEvent.isControlDown(a)&&!mxEvent.isShiftDown(a)):this.openFiles(a.dataTransfer.files,!0);else{var d=this.extractGraphModelFromEvent(a);if(null==d){var c=null!=a.dataTransfer?a.dataTransfer:a.clipboardData;null!=c&&(10==document.documentMode||11==document.documentMode?d=c.getData("Text"):(d=null,d=0<=mxUtils.indexOf(c.types,"text/uri-list")?a.dataTransfer.getData("text/uri-list"):0<=mxUtils.indexOf(c.types,
+"text/html")?c.getData("text/html"):null,null!=d&&0<d.length?(c=document.createElement("div"),c.innerHTML=d,c=c.getElementsByTagName("img"),0<c.length&&(d=c[0].getAttribute("src"))):0<=mxUtils.indexOf(c.types,"text/plain")&&(d=c.getData("text/plain"))),null!=d&&("data:image/png;base64,"==d.substring(0,22)?(d=this.extractGraphModelFromPng(d),null!=d&&0<d.length&&this.openLocalFile(d,null,!0)):!this.isOffline()&&this.isRemoteFileFormat(d)?(new mxXmlRequest(OPEN_URL,"format=xml&data="+encodeURIComponent(d))).send(mxUtils.bind(this,
+function(a){200<=a.getStatus()&&299>=a.getStatus()&&this.openLocalFile(a.getText(),null,!0)})):/^https?:\/\//.test(d)&&(null==this.getCurrentFile()?window.location.hash="#U"+encodeURIComponent(d):window.openWindow((mxClient.IS_CHROMEAPP?EditorUi.drawHost+"/":"https://"+location.host+"/")+window.location.search+"#U"+encodeURIComponent(d)))))}else this.openLocalFile(d,null,!0)}a.stopPropagation();a.preventDefault()}))};EditorUi.prototype.highlightElement=function(a){var b=0,d=0,c,e;if(null==a){e=document.body;
+var g=document.documentElement;c=(e.clientWidth||g.clientWidth)-3;e=Math.max(e.clientHeight||0,g.clientHeight)-3}else b=a.offsetTop,d=a.offsetLeft,c=a.clientWidth,e=a.clientHeight;g=document.createElement("div");g.style.zIndex=mxPopupMenu.prototype.zIndex+2;g.style.border="3px dotted rgb(254, 137, 12)";g.style.pointerEvents="none";g.style.position="absolute";g.style.top=b+"px";g.style.left=d+"px";g.style.width=Math.max(0,c-3)+"px";g.style.height=Math.max(0,e-3)+"px";null!=a&&a.parentNode==this.editor.graph.container?
+this.editor.graph.container.appendChild(g):document.body.appendChild(g);return g};EditorUi.prototype.stringToCells=function(a){a=mxUtils.parseXml(a);var b=this.editor.extractGraphModel(a.documentElement);a=[];if(null!=b){var d=new mxCodec(b.ownerDocument),c=new mxGraphModel;d.decode(b,c);b=c.getChildAt(c.getRoot(),0);for(d=0;d<c.getChildCount(b);d++)a.push(c.getChildAt(b,d))}return a};EditorUi.prototype.openFiles=function(a,b){if(this.spinner.spin(document.body,mxResources.get("loading")))for(var d=
+0;d<a.length;d++)mxUtils.bind(this,function(a){var d=new FileReader;d.onload=mxUtils.bind(this,function(d){try{var c=d.target.result,f=a.name;if(null!=f&&0<f.length){!this.useCanvasForExport&&/(\.png)$/i.test(f)?f=f.substring(0,f.length-4)+".drawio":/(\.pdf)$/i.test(f)&&(f=f.substring(0,f.length-4)+".drawio");var e=mxUtils.bind(this,function(a){f=0<=f.lastIndexOf(".")?f.substring(0,f.lastIndexOf("."))+".drawio":f+".drawio";if("<mxlibrary"==a.substring(0,10)){null==this.getCurrentFile()&&"1"!=urlParams.embed&&
+this.openLocalFile(this.emptyDiagramXml,this.defaultFilename,b);try{this.loadLibrary(new LocalLibrary(this,a,f))}catch(D){this.handleError(D,mxResources.get("errorLoadingFile"))}}else this.openLocalFile(a,f,b)});if(/(\.v(dx|sdx?))($|\?)/i.test(f)||/(\.vs(x|sx?))($|\?)/i.test(f))this.importVisio(a,mxUtils.bind(this,function(a){this.spinner.stop();e(a)}));else if(/(\.*<graphml )/.test(c))this.importGraphML(c,mxUtils.bind(this,function(a){this.spinner.stop();e(a)}));else if(Graph.fileSupport&&!this.isOffline()&&
+(new XMLHttpRequest).upload&&this.isRemoteFileFormat(c,f))this.parseFile(a,mxUtils.bind(this,function(a){4==a.readyState&&(this.spinner.stop(),200<=a.status&&299>=a.status?e(a.responseText):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge":"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))}));else if(this.isLucidChartData(c))/(\.json)$/i.test(f)&&(f=f.substring(0,f.length-5)+".drawio"),this.convertLucidChart(c,mxUtils.bind(this,function(a){this.spinner.stop();this.openLocalFile(a,
+f,b)}),mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}));else if("<mxlibrary"==d.target.result.substring(0,10)){this.spinner.stop();null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.openLocalFile(this.emptyDiagramXml,this.defaultFilename,b);try{this.loadLibrary(new LocalLibrary(this,d.target.result,a.name))}catch(y){this.handleError(y,mxResources.get("errorLoadingFile"))}}else if(0==c.indexOf("PK"))this.importZipFile(a,mxUtils.bind(this,function(a){this.spinner.stop();
+e(a)}),mxUtils.bind(this,function(){this.spinner.stop();this.openLocalFile(c,f,b)}));else{if("image/png"==a.type.substring(0,9))c=this.extractGraphModelFromPng(c);else if("application/pdf"==a.type){var g=Editor.extractGraphModelFromPdf(c);null!=g&&(c=g)}this.spinner.stop();this.openLocalFile(c,f,b)}}}catch(y){this.handleError(y)}});d.onerror=mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a);window.openFile=null});"image"!==a.type.substring(0,5)&&"application/pdf"!==a.type||"image/svg"===
+a.type.substring(0,9)?d.readAsText(a):d.readAsDataURL(a)})(a[d])};EditorUi.prototype.openLocalFile=function(a,b,c){var d=this.getCurrentFile(),f=mxUtils.bind(this,function(){window.openFile=null;if(null==b&&null!=this.getCurrentFile()&&this.isDiagramEmpty()){var d=mxUtils.parseXml(a);null!=d&&(this.editor.setGraphXml(d.documentElement),this.editor.graph.selectAll())}else this.fileLoaded(new LocalFile(this,a,b||this.defaultFilename,c))});if(null!=a&&0<a.length)null==d||!d.isModified()&&(mxClient.IS_CHROMEAPP||
+EditorUi.isElectronApp)?f():(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)&&null!=d&&d.isModified()?this.confirm(mxResources.get("allChangesLost"),null,f,mxResources.get("cancel"),mxResources.get("discardChanges")):(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(a,b),window.openWindow(this.getUrl(),null,mxUtils.bind(this,function(){null!=d&&d.isModified()?this.confirm(mxResources.get("allChangesLost"),null,f,mxResources.get("cancel"),mxResources.get("discardChanges")):
+f()})));else throw Error(mxResources.get("notADiagramFile"));};EditorUi.prototype.getBasenames=function(){var a={};if(null!=this.pages)for(var b=0;b<this.pages.length;b++)this.updatePageRoot(this.pages[b]),this.addBasenamesForCell(this.pages[b].root,a);else this.addBasenamesForCell(this.editor.graph.model.getRoot(),a);var b=[],c;for(c in a)b.push(c);return b};EditorUi.prototype.addBasenamesForCell=function(a,b){function d(a){if(null!=a){var d=a.lastIndexOf(".");0<d&&(a=a.substring(d+1,a.length));
+null==b[a]&&(b[a]=!0)}}var c=this.editor.graph,f=c.getCellStyle(a);d(mxStencilRegistry.getBasenameForStencil(f[mxConstants.STYLE_SHAPE]));c.model.isEdge(a)&&(d(mxMarker.getPackageForType(f[mxConstants.STYLE_STARTARROW])),d(mxMarker.getPackageForType(f[mxConstants.STYLE_ENDARROW])));for(var f=c.model.getChildCount(a),e=0;e<f;e++)this.addBasenamesForCell(c.model.getChildAt(a,e),b)};EditorUi.prototype.setGraphEnabled=function(a){this.diagramContainer.style.visibility=a?"":"hidden";this.formatContainer.style.visibility=
 a?"":"hidden";this.sidebarFooterContainer.style.display=a?"":"none";this.sidebarContainer.style.display=a?"":"none";this.hsplit.style.display=a?"":"none";this.editor.graph.setEnabled(a);null!=this.ruler&&(this.ruler.hRuler.container.style.visibility=a?"":"hidden",this.ruler.vRuler.container.style.visibility=a?"":"hidden");null!=this.tabContainer&&(this.tabContainer.style.visibility=a?"":"hidden");a||(null!=this.actions.outlineWindow&&this.actions.outlineWindow.window.setVisible(!1),null!=this.actions.layersWindow&&
-this.actions.layersWindow.window.setVisible(!1),null!=this.menus.tagsWindow&&this.menus.tagsWindow.window.setVisible(!1),null!=this.menus.findWindow&&this.menus.findWindow.window.setVisible(!1))};EditorUi.prototype.initializeEmbedMode=function(){this.setGraphEnabled(!1);(window.opener||window.parent)!=window&&("1"!=urlParams.spin||this.spinner.spin(document.body,mxResources.get("loading")))&&this.installMessageHandler(mxUtils.bind(this,function(a,b,d){this.spinner.stop();this.addEmbedButtons();this.setGraphEnabled(!0);
-null!=a&&0<a.length?(this.setFileData(a),this.editor.isChromelessView()?this.editor.graph.isLightboxView()&&this.lightboxFit():this.showLayersDialog(),this.chromelessResize&&this.chromelessResize()):(this.editor.graph.model.clear(),this.editor.fireEvent(new mxEventObject("resetGraphView")));this.editor.undoManager.clear();this.editor.modified=null!=d?d:!1;this.updateUi();window.self!==window.top&&window.focus();null!=this.format&&this.format.refresh()}))};EditorUi.prototype.showLayersDialog=function(){1<
+this.actions.layersWindow.window.setVisible(!1),null!=this.menus.tagsWindow&&this.menus.tagsWindow.window.setVisible(!1),null!=this.menus.findWindow&&this.menus.findWindow.window.setVisible(!1))};EditorUi.prototype.initializeEmbedMode=function(){this.setGraphEnabled(!1);(window.opener||window.parent)!=window&&("1"!=urlParams.spin||this.spinner.spin(document.body,mxResources.get("loading")))&&this.installMessageHandler(mxUtils.bind(this,function(a,b,c){this.spinner.stop();this.addEmbedButtons();this.setGraphEnabled(!0);
+null!=a&&0<a.length?(this.setFileData(a),this.editor.isChromelessView()?this.editor.graph.isLightboxView()&&this.lightboxFit():this.showLayersDialog(),this.chromelessResize&&this.chromelessResize()):(this.editor.graph.model.clear(),this.editor.fireEvent(new mxEventObject("resetGraphView")));this.editor.undoManager.clear();this.editor.modified=null!=c?c:!1;this.updateUi();window.self!==window.top&&window.focus();null!=this.format&&this.format.refresh()}))};EditorUi.prototype.showLayersDialog=function(){1<
 this.editor.graph.getModel().getChildCount(this.editor.graph.getModel().getRoot())&&(null==this.actions.layersWindow?this.actions.get("layers").funct():this.actions.layersWindow.window.setVisible(!0))};EditorUi.prototype.getPublicUrl=function(a,b){null!=a?a.getPublicUrl(b):b(null)};EditorUi.prototype.createLoadMessage=function(a){var b=this.editor.graph;return{event:a,pageVisible:b.pageVisible,translate:b.view.translate,bounds:b.getGraphBounds(),currentPage:this.getSelectedPageIndex(),scale:b.view.scale,
-page:b.view.getBackgroundPageBounds()}};EditorUi.prototype.installMessageHandler=function(a){var b=null,c=!1,d=!1,f=null,g=mxUtils.bind(this,function(a,b){this.editor.modified&&"0"!=urlParams.modified?null!=urlParams.modified&&this.editor.setStatus(mxUtils.htmlEntities(mxResources.get(urlParams.modified))):this.editor.setStatus("")});this.editor.graph.model.addListener(mxEvent.CHANGE,g);mxEvent.addListener(window,"message",mxUtils.bind(this,function(e){if(e.source==(window.opener||window.parent)){var g=
-e.data,k=mxUtils.bind(this,function(a){if(null!=a&&"function"===typeof a.charAt&&"<"!=a.charAt(0))try{"data:image/png;base64,"==a.substring(0,22)?a=this.extractGraphModelFromPng(a):"data:image/svg+xml;base64,"==a.substring(0,26)?a=atob(a.substring(26)):"data:image/svg+xml;utf8,"==a.substring(0,24)&&(a=a.substring(24)),null!=a&&("%"==a.charAt(0)?a=decodeURIComponent(a):"<"!=a.charAt(0)&&(a=Graph.decompress(a)))}catch(na){}return a});if("json"==urlParams.proto){try{g=JSON.parse(g)}catch(da){g=null}try{if(null==
+page:b.view.getBackgroundPageBounds()}};EditorUi.prototype.installMessageHandler=function(a){var b=null,d=!1,c=!1,e=null,g=mxUtils.bind(this,function(a,b){this.editor.modified&&"0"!=urlParams.modified?null!=urlParams.modified&&this.editor.setStatus(mxUtils.htmlEntities(mxResources.get(urlParams.modified))):this.editor.setStatus("")});this.editor.graph.model.addListener(mxEvent.CHANGE,g);mxEvent.addListener(window,"message",mxUtils.bind(this,function(f){if(f.source==(window.opener||window.parent)){var g=
+f.data,k=mxUtils.bind(this,function(a){if(null!=a&&"function"===typeof a.charAt&&"<"!=a.charAt(0))try{"data:image/png;base64,"==a.substring(0,22)?a=this.extractGraphModelFromPng(a):"data:image/svg+xml;base64,"==a.substring(0,26)?a=atob(a.substring(26)):"data:image/svg+xml;utf8,"==a.substring(0,24)&&(a=a.substring(24)),null!=a&&("%"==a.charAt(0)?a=decodeURIComponent(a):"<"!=a.charAt(0)&&(a=Graph.decompress(a)))}catch(na){}return a});if("json"==urlParams.proto){try{g=JSON.parse(g)}catch(da){g=null}try{if(null==
 g)return;if("dialog"==g.action){this.showError(null!=g.titleKey?mxResources.get(g.titleKey):g.title,null!=g.messageKey?mxResources.get(g.messageKey):g.message,null!=g.buttonKey?mxResources.get(g.buttonKey):g.button);null!=g.modified&&(this.editor.modified=g.modified);return}if("prompt"==g.action){this.spinner.stop();var m=new FilenameDialog(this,g.defaultValue||"",null!=g.okKey?mxResources.get(g.okKey):null,function(a){null!=a&&l.postMessage(JSON.stringify({event:"prompt",value:a,message:g}),"*")},
 null!=g.titleKey?mxResources.get(g.titleKey):g.title);this.showDialog(m.container,300,80,!0,!1);m.init();return}if("draft"==g.action){var n=k(g.xml);this.spinner.stop();m=new DraftDialog(this,mxResources.get("draftFound",[g.name||this.defaultFilename]),n,mxUtils.bind(this,function(){this.hideDialog();l.postMessage(JSON.stringify({event:"draft",result:"edit",message:g}),"*")}),mxUtils.bind(this,function(){this.hideDialog();l.postMessage(JSON.stringify({event:"draft",result:"discard",message:g}),"*")}),
 g.editKey?mxResources.get(g.editKey):null,g.discardKey?mxResources.get(g.discardKey):null,g.ignore?mxUtils.bind(this,function(){this.hideDialog();l.postMessage(JSON.stringify({event:"draft",result:"ignore",message:g}),"*")}):null);this.showDialog(m.container,640,480,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));try{m.init()}catch(da){l.postMessage(JSON.stringify({event:"draft",error:da.toString(),message:g}),"*")}return}if("template"==g.action){this.spinner.stop();var p=
-1==g.enableRecent,q=1==g.enableSearch,u=1==g.enableCustomTemp,m=new NewDialog(this,!1,null!=g.callback,mxUtils.bind(this,function(b,c){b=b||this.emptyDiagramXml;null!=g.callback?l.postMessage(JSON.stringify({event:"template",xml:b,blank:b==this.emptyDiagramXml,name:c}),"*"):(a(b,e,b!=this.emptyDiagramXml),this.editor.modified||this.editor.setStatus(""))}),null,null,null,null,null,null,null,p?mxUtils.bind(this,function(a){this.remoteInvoke("getRecentDiagrams",null,null,a,function(){a(null,"Network Error!")})}):
-null,q?mxUtils.bind(this,function(a,b){this.remoteInvoke("searchDiagrams",[a],null,b,function(){b(null,"Network Error!")})}):null,mxUtils.bind(this,function(a,b,c){l.postMessage(JSON.stringify({event:"template",docUrl:a,info:b,name:c}),"*")}),null,null,u?mxUtils.bind(this,function(a){this.remoteInvoke("getCustomTemplates",null,null,a,function(){a({},0)})}):null);this.showDialog(m.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));m.init();return}if("textContent"==
+1==g.enableRecent,q=1==g.enableSearch,u=1==g.enableCustomTemp,m=new NewDialog(this,!1,null!=g.callback,mxUtils.bind(this,function(b,d){b=b||this.emptyDiagramXml;null!=g.callback?l.postMessage(JSON.stringify({event:"template",xml:b,blank:b==this.emptyDiagramXml,name:d}),"*"):(a(b,f,b!=this.emptyDiagramXml),this.editor.modified||this.editor.setStatus(""))}),null,null,null,null,null,null,null,p?mxUtils.bind(this,function(a){this.remoteInvoke("getRecentDiagrams",null,null,a,function(){a(null,"Network Error!")})}):
+null,q?mxUtils.bind(this,function(a,b){this.remoteInvoke("searchDiagrams",[a],null,b,function(){b(null,"Network Error!")})}):null,mxUtils.bind(this,function(a,b,d){l.postMessage(JSON.stringify({event:"template",docUrl:a,info:b,name:d}),"*")}),null,null,u?mxUtils.bind(this,function(a){this.remoteInvoke("getCustomTemplates",null,null,a,function(){a({},0)})}):null);this.showDialog(m.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));m.init();return}if("textContent"==
 g.action){var x=this.getDiagramTextContent();l.postMessage(JSON.stringify({event:"textContent",data:x,message:g}),"*");return}if("status"==g.action){null!=g.messageKey?this.editor.setStatus(mxUtils.htmlEntities(mxResources.get(g.messageKey))):null!=g.message&&this.editor.setStatus(mxUtils.htmlEntities(g.message));null!=g.modified&&(this.editor.modified=g.modified);return}if("spinner"==g.action){var v=null!=g.messageKey?mxResources.get(g.messageKey):g.message;null==g.show||g.show?this.spinner.spin(document.body,
 v):this.spinner.stop();return}if("export"==g.action){if("png"==g.format||"xmlpng"==g.format){if(null==g.spin&&null==g.spinKey||this.spinner.spin(document.body,null!=g.spinKey?mxResources.get(g.spinKey):g.spin)){var A=null!=g.xml?g.xml:this.getFileData(!0);this.editor.graph.setEnabled(!1);var z=this.editor.graph,G=mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();var b=this.createLoadMessage("export");b.format=g.format;b.message=g;b.data=a;b.xml=encodeURIComponent(A);
 l.postMessage(JSON.stringify(b),"*")}),C=mxUtils.bind(this,function(a){null==a&&(a=Editor.blankImage);"xmlpng"==g.format&&(a=this.writeGraphModelToPng(a,"tEXt","mxfile",encodeURIComponent(A)));z!=this.editor.graph&&z.container.parentNode.removeChild(z.container);G(a)}),V=g.pageId||(null!=this.pages?this.pages[0].getId():null);if(this.isExportToCanvas()){if(null!=this.pages&&this.currentPage.getId()!=V){for(var aa=z.getGlobalVariable,z=this.createTemporaryGraph(z.getStylesheet()),W,H=0;H<this.pages.length;H++)if(this.pages[H].getId()==
@@ -3286,217 +3290,217 @@ V){W=this.updatePageRoot(this.pages[H]);break}z.getGlobalVariable=function(a){re
 function(){C(null)}),null,null,g.scale,null,null,null,z)}else(new mxXmlRequest(EXPORT_URL,"format=png&embedXml="+("xmlpng"==g.format?"1":"0")+(null!=V?"&pageId="+V:"")+(null!=g.layerIds?"&extras="+encodeURIComponent(JSON.stringify({layerIds:g.layerIds})):"")+(null!=g.scale?"&scale="+g.scale:"")+"&base64=1&xml="+encodeURIComponent(A))).send(mxUtils.bind(this,function(a){200<=a.getStatus()&&299>=a.getStatus()?G("data:image/png;base64,"+a.getText()):C(null)}),mxUtils.bind(this,function(){C(null)}))}}else{null!=
 g.xml&&0<g.xml.length&&this.setFileData(g.xml);v=this.createLoadMessage("export");if("html2"==g.format||"html"==g.format&&("0"!=urlParams.pages||null!=this.pages&&1<this.pages.length)){var ma=this.getXmlFileData();v.xml=mxUtils.getXml(ma);v.data=this.getFileData(null,null,!0,null,null,null,ma);v.format=g.format}else if("html"==g.format)A=this.editor.getGraphXml(),v.data=this.getHtml(A,this.editor.graph),v.xml=mxUtils.getXml(A),v.format=g.format;else{mxSvgCanvas2D.prototype.foAltText=null;var Q=this.editor.graph.background;
 Q==mxConstants.NONE&&(Q=null);v.xml=this.getFileData(!0,null,null,null,null,null,null,null,null,!1);v.format="svg";var ga=mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();v.data=this.createSvgDataUri(a);l.postMessage(JSON.stringify(v),"*")});if("xmlsvg"==g.format)(null==g.spin&&null==g.spinKey||this.spinner.spin(document.body,null!=g.spinKey?mxResources.get(g.spinKey):g.spin))&&this.getEmbeddedSvg(v.xml,this.editor.graph,null,!0,ga,null,null,g.embedImages);else if(null==
-g.spin&&null==g.spinKey||this.spinner.spin(document.body,null!=g.spinKey?mxResources.get(g.spinKey):g.spin)){this.editor.graph.setEnabled(!1);var T=this.editor.graph.getSvg(Q);this.embedFonts(T,mxUtils.bind(this,function(a){g.embedImages||null==g.embedImages?this.convertImages(a,mxUtils.bind(this,function(a){ga(mxUtils.getXml(a))})):ga(mxUtils.getXml(a))}))}return}l.postMessage(JSON.stringify(v),"*")}return}if("load"==g.action)d=1==g.autosave,this.hideDialog(),null!=g.modified&&null==urlParams.modified&&
+g.spin&&null==g.spinKey||this.spinner.spin(document.body,null!=g.spinKey?mxResources.get(g.spinKey):g.spin)){this.editor.graph.setEnabled(!1);var T=this.editor.graph.getSvg(Q);this.embedFonts(T,mxUtils.bind(this,function(a){g.embedImages||null==g.embedImages?this.convertImages(a,mxUtils.bind(this,function(a){ga(mxUtils.getXml(a))})):ga(mxUtils.getXml(a))}))}return}l.postMessage(JSON.stringify(v),"*")}return}if("load"==g.action)c=1==g.autosave,this.hideDialog(),null!=g.modified&&null==urlParams.modified&&
 (urlParams.modified=g.modified),null!=g.saveAndExit&&null==urlParams.saveAndExit&&(urlParams.saveAndExit=g.saveAndExit),null!=g.title&&null!=this.buttonContainer&&(n=document.createElement("span"),mxUtils.write(n,g.title),"atlas"==uiTheme?(this.buttonContainer.style.paddingRight="12px",this.buttonContainer.style.paddingTop="6px",this.buttonContainer.style.right="25px"):"min"!=uiTheme&&(this.buttonContainer.style.paddingRight="38px",this.buttonContainer.style.paddingTop="6px"),null!=this.embedFilenameSpan&&
 this.embedFilenameSpan.parentNode.removeChild(this.embedFilenameSpan),this.buttonContainer.appendChild(n),this.embedFilenameSpan=n),g=null!=g.xmlpng?this.extractGraphModelFromPng(g.xmlpng):g.xml;else{"remoteInvokeReady"==g.action?this.handleRemoteInvokeReady(l):"remoteInvoke"==g.action?this.handleRemoteInvoke(g):"remoteInvokeResponse"==g.action?this.handleRemoteInvokeResponse(g):l.postMessage(JSON.stringify({error:"unknownMessage",data:JSON.stringify(g)}),"*");return}}catch(da){this.handleError(da)}}var U=
-mxUtils.bind(this,function(e,g){c=!0;try{a(e,g)}catch(ba){this.handleError(ba)}c=!1;null!=urlParams.modified&&this.editor.setStatus("");var k=mxUtils.bind(this,function(){return"0"!=urlParams.pages||null!=this.pages&&1<this.pages.length?this.getFileData(!0):mxUtils.getXml(this.editor.getGraphXml())});f=k();d&&null==b&&(b=mxUtils.bind(this,function(a,b){var d=k();if(d!=f&&!c){var e=this.createLoadMessage("autosave");e.xml=d;d=JSON.stringify(e);(window.opener||window.parent).postMessage(d,"*")}f=d}),
+mxUtils.bind(this,function(f,g){d=!0;try{a(f,g)}catch(ba){this.handleError(ba)}d=!1;null!=urlParams.modified&&this.editor.setStatus("");var k=mxUtils.bind(this,function(){return"0"!=urlParams.pages||null!=this.pages&&1<this.pages.length?this.getFileData(!0):mxUtils.getXml(this.editor.getGraphXml())});e=k();c&&null==b&&(b=mxUtils.bind(this,function(a,b){var c=k();if(c!=e&&!d){var f=this.createLoadMessage("autosave");f.xml=c;c=JSON.stringify(f);(window.opener||window.parent).postMessage(c,"*")}e=c}),
 this.editor.graph.model.addListener(mxEvent.CHANGE,b),this.editor.graph.addListener("gridSizeChanged",b),this.editor.graph.addListener("shadowVisibleChanged",b),this.addListener("pageFormatChanged",b),this.addListener("pageScaleChanged",b),this.addListener("backgroundColorChanged",b),this.addListener("backgroundImageChanged",b),this.addListener("foldingEnabledChanged",b),this.addListener("mathEnabledChanged",b),this.addListener("gridEnabledChanged",b),this.addListener("guidesEnabledChanged",b),this.addListener("pageViewChanged",
-b));"1"!=urlParams.returnbounds&&"json"!=urlParams.proto||l.postMessage(JSON.stringify(this.createLoadMessage("load")),"*")});null!=g&&"function"===typeof g.substring&&"data:application/vnd.visio;base64,"==g.substring(0,34)?(k="0M8R4KGxGuE"==g.substring(34,45)?"raw.vsd":"raw.vsdx",this.importVisio(this.base64ToBlob(g.substring(g.indexOf(",")+1)),function(a){U(a,e)},mxUtils.bind(this,function(a){this.handleError(a)}),k)):null!=g&&"function"===typeof g.substring&&!this.isOffline()&&(new XMLHttpRequest).upload&&
-this.isRemoteFileFormat(g,"")?this.parseFile(new Blob([g],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&200<=a.status&&299>=a.status&&"<mxGraphModel"==a.responseText.substring(0,13)&&U(a.responseText,e)}),""):null!=g&&"function"===typeof g.substring&&this.isLucidChartData(g)?this.convertLucidChart(g,mxUtils.bind(this,function(a){U(a)}),mxUtils.bind(this,function(a){this.handleError(a)})):(g=k(g),U(g,e))}}));var l=window.opener||window.parent,g="json"==urlParams.proto?
+b));"1"!=urlParams.returnbounds&&"json"!=urlParams.proto||l.postMessage(JSON.stringify(this.createLoadMessage("load")),"*")});null!=g&&"function"===typeof g.substring&&"data:application/vnd.visio;base64,"==g.substring(0,34)?(k="0M8R4KGxGuE"==g.substring(34,45)?"raw.vsd":"raw.vsdx",this.importVisio(this.base64ToBlob(g.substring(g.indexOf(",")+1)),function(a){U(a,f)},mxUtils.bind(this,function(a){this.handleError(a)}),k)):null!=g&&"function"===typeof g.substring&&!this.isOffline()&&(new XMLHttpRequest).upload&&
+this.isRemoteFileFormat(g,"")?this.parseFile(new Blob([g],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&200<=a.status&&299>=a.status&&"<mxGraphModel"==a.responseText.substring(0,13)&&U(a.responseText,f)}),""):null!=g&&"function"===typeof g.substring&&this.isLucidChartData(g)?this.convertLucidChart(g,mxUtils.bind(this,function(a){U(a)}),mxUtils.bind(this,function(a){this.handleError(a)})):(g=k(g),U(g,f))}}));var l=window.opener||window.parent,g="json"==urlParams.proto?
 JSON.stringify({event:"init"}):urlParams.ready||"ready";l.postMessage(g,"*")};EditorUi.prototype.addEmbedButtons=function(){if(null!=this.menubar){var a=document.createElement("div");a.style.display="inline-block";a.style.position="absolute";a.style.paddingTop="atlas"==uiTheme?"2px":"0px";a.style.paddingLeft="8px";a.style.paddingBottom="2px";var b=document.createElement("button");b.className="geBigButton";"1"==urlParams.noSaveBtn?(mxUtils.write(b,mxResources.get("saveAndExit")),b.setAttribute("title",
 mxResources.get("saveAndExit")),mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("saveAndExit").funct()})),a.appendChild(b)):(mxUtils.write(b,mxResources.get("save")),b.setAttribute("title",mxResources.get("save")+" ("+Editor.ctrlKey+"+S)"),mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("save").funct()})),a.appendChild(b),"1"==urlParams.saveAndExit&&(b=document.createElement("a"),mxUtils.write(b,mxResources.get("saveAndExit")),b.setAttribute("title",
 mxResources.get("saveAndExit")),b.className="geBigButton geBigStandardButton",b.style.marginLeft="6px",mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("saveAndExit").funct()})),a.appendChild(b)));b=document.createElement("a");mxUtils.write(b,mxResources.get("exit"));b.setAttribute("title",mxResources.get("exit"));b.className="geBigButton geBigStandardButton";b.style.marginLeft="6px";b.style.marginRight="20px";mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("exit").funct()}));
 a.appendChild(b);this.toolbar.container.appendChild(a);this.toolbar.staticElements.push(a);a.style.right="atlas"!=uiTheme?"52px":"42px"}};EditorUi.prototype.showImportCsvDialog=function(){null==this.importCsvDialog&&(this.importCsvDialog=new TextareaDialog(this,mxResources.get("csv")+":",Editor.defaultCsvValue,mxUtils.bind(this,function(a){this.importCsv(a)}),null,null,620,430,null,!0,!0,mxResources.get("import"),this.isOffline()?null:"https://about.draw.io/import-from-csv-to-drawio/"));this.showDialog(this.importCsvDialog.container,
-640,520,!0,!0,null,null,null,null,!0);this.importCsvDialog.init()};EditorUi.prototype.executeLayoutList=function(a,b){for(var c=this.editor.graph,d=c.getSelectionCells(),e=0;e<a.length;e++){var f=new window[a[e].layout](c);if(null!=a[e].config)for(var l in a[e].config)f[l]=a[e].config[l];this.executeLayout(function(){f.execute(c.getDefaultParent(),0==d.length?null:d)},e==a.length-1,b)}};EditorUi.prototype.importCsv=function(a,b){try{var c=a.split("\n"),d=[],e=[],f={};if(0<c.length){var l={},m=null,
-q=null,u=null,y=null,z=null,p=null,B=null,C=null,P="",I="auto",S="auto",F=null,G=null,O=40,V=40,aa=100,W=0,H=this.editor.graph;H.getGraphBounds();for(var Z=function(){null!=b?b(ka):(H.setSelectionCells(ka),H.scrollCellToVisible(H.getSelectionCell()))},fa=H.getFreeInsertPoint(),ma=fa.x,Q=fa.y,fa=Q,ga=null,T="auto",C=null,U=[],da=null,na=null,R=0;R<c.length&&"#"==c[R].charAt(0);){a=c[R];for(R++;R<c.length&&"\\"==a.charAt(a.length-1)&&"#"==c[R].charAt(0);)a=a.substring(0,a.length-1)+mxUtils.trim(c[R].substring(1)),
-R++;if("#"!=a.charAt(1)){var ba=a.indexOf(":");if(0<ba){var M=mxUtils.trim(a.substring(1,ba)),J=mxUtils.trim(a.substring(ba+1));"label"==M?ga=H.sanitizeHtml(J):"labelname"==M&&0<J.length&&"-"!=J?y=J:"labels"==M&&0<J.length&&"-"!=J?z=JSON.parse(J):"style"==M?m=J:"parentstyle"==M?p=J:"stylename"==M&&0<J.length&&"-"!=J?u=J:"styles"==M&&0<J.length&&"-"!=J?q=JSON.parse(J):"identity"==M&&0<J.length&&"-"!=J?B=J:"parent"==M&&0<J.length&&"-"!=J?C=J:"namespace"==M&&0<J.length&&"-"!=J?P=J:"width"==M?I=J:"height"==
-M?S=J:"left"==M&&0<J.length?F=J:"top"==M&&0<J.length?G=J:"ignore"==M?na=J.split(","):"connect"==M?U.push(JSON.parse(J)):"link"==M?da=J:"padding"==M?W=parseFloat(J):"edgespacing"==M?O=parseFloat(J):"nodespacing"==M?V=parseFloat(J):"levelspacing"==M?aa=parseFloat(J):"layout"==M&&(T=J)}}}if(null==c[R])throw Error(mxResources.get("invalidOrMissingFile"));var ja=this.editor.csvToArray(c[R]),M=ba=null;if(null!=B||null!=C)for(var N=0;N<ja.length;N++)B==ja[N]&&(ba=N),C==ja[N]&&(M=N);null==ga&&(ga="%"+ja[0]+
-"%");if(null!=U)for(var X=0;X<U.length;X++)null==l[U[X].to]&&(l[U[X].to]={});H.model.beginUpdate();try{for(N=R+1;N<c.length;N++){var ha=this.editor.csvToArray(c[N]);if(null==ha){var la=40<c[N].length?c[N].substring(0,40)+"...":c[N];throw Error(N+" ("+la+") "+mxResources.get("containsValidationErrors"));}if(ha.length==ja.length){var K=null,oa=null!=ba?P+ha[ba]:null;null!=oa&&(K=H.model.getCell(oa));var B=null!=K,ea=new mxCell(ga,new mxGeometry(ma,fa,0,0),m||"whiteSpace=wrap;html=1;");ea.vertex=!0;
-ea.id=oa;for(var ia=0;ia<ha.length;ia++)H.setAttributeForCell(ea,ja[ia],ha[ia]);if(null!=y&&null!=z){var Aa=z[ea.getAttribute(y)];null!=Aa&&H.labelChanged(ea,Aa)}if(null!=u&&null!=q){var Ba=q[ea.getAttribute(u)];null!=Ba&&(ea.style=Ba)}H.setAttributeForCell(ea,"placeholders","1");ea.style=H.replacePlaceholders(ea,ea.style);B&&(H.model.setGeometry(K,ea.geometry),H.model.setStyle(K,ea.style),0>mxUtils.indexOf(e,K)&&e.push(K));K=ea;if(!B)for(X=0;X<U.length;X++)l[U[X].to][K.getAttribute(U[X].to)]=K;null!=
-da&&"link"!=da&&(H.setLinkForCell(K,K.getAttribute(da)),H.setAttributeForCell(K,da,null));H.fireEvent(new mxEventObject("cellsInserted","cells",[K]));var za=this.editor.graph.getPreferredSizeForCell(K);K.vertex&&(null!=F&&null!=K.getAttribute(F)&&(K.geometry.x=ma+parseFloat(K.getAttribute(F))),null!=G&&null!=K.getAttribute(G)&&(K.geometry.y=Q+parseFloat(K.getAttribute(G))),"@"==I.charAt(0)&&null!=K.getAttribute(I.substring(1))?K.geometry.width=parseFloat(K.getAttribute(I.substring(1))):K.geometry.width=
-"auto"==I?za.width+W:parseFloat(I),"@"==S.charAt(0)&&null!=K.getAttribute(S.substring(1))?K.geometry.height=parseFloat(K.getAttribute(S.substring(1))):K.geometry.height="auto"==S?za.height+W:parseFloat(S),fa+=K.geometry.height+V);B?(null==f[oa]&&(f[oa]=[]),f[oa].push(K)):(C=null!=M?H.model.getCell(P+ha[M]):null,d.push(K),null!=C?(C.style=H.replacePlaceholders(C,p),H.addCell(K,C)):e.push(H.addCell(K)))}}for(var pa=e.slice(),ka=e.slice(),X=0;X<U.length;X++)for(var ta=U[X],N=0;N<e.length;N++){var K=
-e[N],qa=mxUtils.bind(this,function(a,b,c){var d=b.getAttribute(c.from);if(null!=d){H.setAttributeForCell(b,c.from,null);for(var d=d.split(","),e=0;e<d.length;e++){var f=l[c.to][d[e]];if(null!=f){var g=c.label;null!=c.fromlabel&&(g=(b.getAttribute(c.fromlabel)||"")+(g||""));null!=c.tolabel&&(g=(g||"")+(f.getAttribute(c.tolabel)||""));ka.push(H.insertEdge(null,null,g||"",c.invert?f:a,c.invert?a:f,c.style||H.createCurrentEdgeStyle()));mxUtils.remove(c.invert?a:f,pa)}}}});qa(K,K,ta);if(null!=f[K.id])for(ia=
-0;ia<f[K.id].length;ia++)qa(K,f[K.id][ia],ta)}if(null!=na)for(N=0;N<d.length;N++)for(K=d[N],ia=0;ia<na.length;ia++)H.setAttributeForCell(K,mxUtils.trim(na[ia]),null);if(0<e.length){var ua=new mxParallelEdgeLayout(H);ua.spacing=O;var wa=function(){0<ua.spacing&&ua.execute(H.getDefaultParent());for(var a=0;a<e.length;a++){var b=H.getCellGeometry(e[a]);b.x=Math.round(H.snap(b.x));b.y=Math.round(H.snap(b.y));"auto"==I&&(b.width=Math.round(H.snap(b.width)));"auto"==S&&(b.height=Math.round(H.snap(b.height)))}};
-if("["==T.charAt(0)){var ra=Z;H.view.validate();this.executeLayoutList(JSON.parse(T),function(){wa();ra()});Z=null}else if("circle"==T){var Ca=new mxCircleLayout(H);Ca.resetEdges=!1;var Ma=Ca.isVertexIgnored;Ca.isVertexIgnored=function(a){return Ma.apply(this,arguments)||0>mxUtils.indexOf(e,a)};this.executeLayout(function(){Ca.execute(H.getDefaultParent());wa()},!0,Z);Z=null}else if("horizontaltree"==T||"verticaltree"==T||"auto"==T&&ka.length==2*e.length-1&&1==pa.length){H.view.validate();var Da=
-new mxCompactTreeLayout(H,"horizontaltree"==T);Da.levelDistance=V;Da.edgeRouting=!1;Da.resetEdges=!1;this.executeLayout(function(){Da.execute(H.getDefaultParent(),0<pa.length?pa[0]:null)},!0,Z);Z=null}else if("horizontalflow"==T||"verticalflow"==T||"auto"==T&&1==pa.length){H.view.validate();var xa=new mxHierarchicalLayout(H,"horizontalflow"==T?mxConstants.DIRECTION_WEST:mxConstants.DIRECTION_NORTH);xa.intraCellSpacing=V;xa.parallelEdgeSpacing=O;xa.interRankCellSpacing=aa;xa.disableEdgeStyle=!1;this.executeLayout(function(){xa.execute(H.getDefaultParent(),
-ka);H.moveCells(ka,ma,Q)},!0,Z);Z=null}else if("organic"==T||"auto"==T&&ka.length>e.length){H.view.validate();var ya=new mxFastOrganicLayout(H);ya.forceConstant=3*V;ya.resetEdges=!1;var Ha=ya.isVertexIgnored;ya.isVertexIgnored=function(a){return Ha.apply(this,arguments)||0>mxUtils.indexOf(e,a)};ua=new mxParallelEdgeLayout(H);ua.spacing=O;this.executeLayout(function(){ya.execute(H.getDefaultParent());wa()},!0,Z);Z=null}}this.hideDialog()}finally{H.model.endUpdate()}null!=Z&&Z()}}catch(Ia){this.handleError(Ia)}};
-EditorUi.prototype.getSearch=function(a){var b="";if("1"!=urlParams.offline&&"1"!=urlParams.demo&&null!=a&&0<window.location.search.length){var c="?",d;for(d in urlParams)0>mxUtils.indexOf(a,d)&&null!=urlParams[d]&&(b+=c+d+"="+urlParams[d],c="&")}else b=window.location.search;return b};EditorUi.prototype.getUrl=function(a){a=null!=a?a:window.location.pathname;var b=0<a.indexOf("?")?1:0;if("1"==urlParams.offline)a+=window.location.search;else{var c="tmp libs clibs state fileId code share notitle data url embed client create title splash".split(" "),
-d;for(d in urlParams)0>mxUtils.indexOf(c,d)&&(a=0==b?a+"?":a+"&",null!=urlParams[d]&&(a+=d+"="+urlParams[d],b++))}return a};EditorUi.prototype.showLinkDialog=function(a,b,d){a=new LinkDialog(this,a,b,d,!0);this.showDialog(a.container,560,130,!0,!0);a.init()};var u=EditorUi.prototype.createOutline;EditorUi.prototype.createOutline=function(a){var b=u.apply(this,arguments),c=this.editor.graph,d=b.getSourceGraphBounds;b.getSourceGraphBounds=function(){if(mxUtils.hasScrollbars(c.container)&&c.pageVisible&&
-null!=this.source.minimumGraphSize){var a=this.source.getPagePadding(),b=this.source.view.scale;return new mxRectangle(0,0,Math.ceil(this.source.minimumGraphSize.width-2*a.x/b),Math.ceil(this.source.minimumGraphSize.height-2*a.y/b))}return d.apply(this,arguments)};var f=b.getSourceContainerSize;b.getSourceContainerSize=function(){if(mxUtils.hasScrollbars(c.container)&&null!=this.source.minimumGraphSize){var a=this.source.getPagePadding(),b=this.source.view.scale;return new mxRectangle(0,0,Math.ceil(this.source.minimumGraphSize.width*
-b-2*a.x),Math.ceil(this.source.minimumGraphSize.height*b-2*a.y))}return f.apply(this,arguments)};b.getOutlineOffset=function(a){if(mxUtils.hasScrollbars(c.container)&&null!=this.source.minimumGraphSize){var d=this.source.getPagePadding();return new mxPoint(Math.round(Math.max(0,(b.outline.container.clientWidth/a-(this.source.minimumGraphSize.width-2*d.x))/2)-d.x),Math.round(Math.max(0,(b.outline.container.clientHeight/a-(this.source.minimumGraphSize.height-2*d.y))/2)-d.y-5/a))}return new mxPoint(8/
-a,8/a)};var g=b.init;b.init=function(){g.apply(this,arguments);b.outline.view.getBackgroundPageBounds=function(){var a=c.getPageLayout(),b=c.getPageSize();return new mxRectangle(this.scale*(this.translate.x+a.x*b.width),this.scale*(this.translate.y+a.y*b.height),this.scale*a.width*b.width,this.scale*a.height*b.height)};b.outline.view.validateBackgroundPage()};this.editor.addListener("pageSelected",function(a,c){var d=c.getProperty("change"),e=b.source,f=b.outline;f.pageScale=e.pageScale;f.pageFormat=
-e.pageFormat;f.background=e.background;f.pageVisible=e.pageVisible;f.background=e.background;var g=mxUtils.getCurrentStyle(e.container);f.container.style.backgroundColor=g.backgroundColor;null!=e.view.backgroundPageShape&&null!=f.view.backgroundPageShape&&(f.view.backgroundPageShape.fill=e.view.backgroundPageShape.fill);b.outline.view.clear(d.previousPage.root,!0);b.outline.view.validate()});return b};EditorUi.prototype.getServiceCount=function(a,b){var c=1;null==this.drive&&"function"!==typeof window.DriveClient||
-c++;b||null==this.dropbox&&"function"!==typeof window.DropboxClient||c++;null==this.oneDrive&&"function"!==typeof window.OneDriveClient||c++;b||null==this.gitHub||c++;b||null==this.gitLab||c++;b&&a&&isLocalStorage&&"1"==urlParams.browser&&c++;return c};EditorUi.prototype.updateUi=function(){this.updateButtonContainer();this.updateActionStates();var a=this.getCurrentFile(),b=null!=a||"1"==urlParams.embed&&this.editor.graph.isEnabled();this.menus.get("viewPanels").setEnabled(b);this.menus.get("viewZoom").setEnabled(b);
-var d=("1"!=urlParams.embed||!this.editor.graph.isEnabled())&&(null==a||a.isRestricted());this.actions.get("makeCopy").setEnabled(!d);this.actions.get("print").setEnabled(!d);this.menus.get("exportAs").setEnabled(!d);this.menus.get("embed").setEnabled(!d);d="1"!=urlParams.embed||this.editor.graph.isEnabled();this.menus.get("extras").setEnabled(d);Editor.enableCustomLibraries&&(this.menus.get("openLibraryFrom").setEnabled(d),this.menus.get("newLibrary").setEnabled(d));a="1"==urlParams.embed&&this.editor.graph.isEnabled()||
+640,520,!0,!0,null,null,null,null,!0);this.importCsvDialog.init()};EditorUi.prototype.executeLayoutList=function(a,b){for(var d=this.editor.graph,c=d.getSelectionCells(),f=0;f<a.length;f++){var e=new window[a[f].layout](d);if(null!=a[f].config)for(var l in a[f].config)e[l]=a[f].config[l];this.executeLayout(function(){e.execute(d.getDefaultParent(),0==c.length?null:c)},f==a.length-1,b)}};EditorUi.prototype.importCsv=function(a,b){try{var d=a.split("\n"),c=[],f=[],e={};if(0<d.length){var l={},m=null,
+q=null,u=null,y=null,z=null,p=null,B=null,C=null,M="",I="auto",S="auto",F=null,G=null,P=40,V=40,aa=100,W=0,H=this.editor.graph;H.getGraphBounds();for(var Z=function(){null!=b?b(ka):(H.setSelectionCells(ka),H.scrollCellToVisible(H.getSelectionCell()))},fa=H.getFreeInsertPoint(),ma=fa.x,Q=fa.y,fa=Q,ga=null,T="auto",C=null,U=[],da=null,na=null,R=0;R<d.length&&"#"==d[R].charAt(0);){a=d[R];for(R++;R<d.length&&"\\"==a.charAt(a.length-1)&&"#"==d[R].charAt(0);)a=a.substring(0,a.length-1)+mxUtils.trim(d[R].substring(1)),
+R++;if("#"!=a.charAt(1)){var ba=a.indexOf(":");if(0<ba){var N=mxUtils.trim(a.substring(1,ba)),J=mxUtils.trim(a.substring(ba+1));"label"==N?ga=H.sanitizeHtml(J):"labelname"==N&&0<J.length&&"-"!=J?y=J:"labels"==N&&0<J.length&&"-"!=J?z=JSON.parse(J):"style"==N?m=J:"parentstyle"==N?p=J:"stylename"==N&&0<J.length&&"-"!=J?u=J:"styles"==N&&0<J.length&&"-"!=J?q=JSON.parse(J):"identity"==N&&0<J.length&&"-"!=J?B=J:"parent"==N&&0<J.length&&"-"!=J?C=J:"namespace"==N&&0<J.length&&"-"!=J?M=J:"width"==N?I=J:"height"==
+N?S=J:"left"==N&&0<J.length?F=J:"top"==N&&0<J.length?G=J:"ignore"==N?na=J.split(","):"connect"==N?U.push(JSON.parse(J)):"link"==N?da=J:"padding"==N?W=parseFloat(J):"edgespacing"==N?P=parseFloat(J):"nodespacing"==N?V=parseFloat(J):"levelspacing"==N?aa=parseFloat(J):"layout"==N&&(T=J)}}}if(null==d[R])throw Error(mxResources.get("invalidOrMissingFile"));var ja=this.editor.csvToArray(d[R]),N=ba=null;if(null!=B||null!=C)for(var O=0;O<ja.length;O++)B==ja[O]&&(ba=O),C==ja[O]&&(N=O);null==ga&&(ga="%"+ja[0]+
+"%");if(null!=U)for(var X=0;X<U.length;X++)null==l[U[X].to]&&(l[U[X].to]={});H.model.beginUpdate();try{for(O=R+1;O<d.length;O++){var ha=this.editor.csvToArray(d[O]);if(null==ha){var la=40<d[O].length?d[O].substring(0,40)+"...":d[O];throw Error(O+" ("+la+") "+mxResources.get("containsValidationErrors"));}if(ha.length==ja.length){var L=null,oa=null!=ba?M+ha[ba]:null;null!=oa&&(L=H.model.getCell(oa));var B=null!=L,ea=new mxCell(ga,new mxGeometry(ma,fa,0,0),m||"whiteSpace=wrap;html=1;");ea.vertex=!0;
+ea.id=oa;for(var ia=0;ia<ha.length;ia++)H.setAttributeForCell(ea,ja[ia],ha[ia]);if(null!=y&&null!=z){var Aa=z[ea.getAttribute(y)];null!=Aa&&H.labelChanged(ea,Aa)}if(null!=u&&null!=q){var Ba=q[ea.getAttribute(u)];null!=Ba&&(ea.style=Ba)}H.setAttributeForCell(ea,"placeholders","1");ea.style=H.replacePlaceholders(ea,ea.style);B&&(H.model.setGeometry(L,ea.geometry),H.model.setStyle(L,ea.style),0>mxUtils.indexOf(f,L)&&f.push(L));L=ea;if(!B)for(X=0;X<U.length;X++)l[U[X].to][L.getAttribute(U[X].to)]=L;null!=
+da&&"link"!=da&&(H.setLinkForCell(L,L.getAttribute(da)),H.setAttributeForCell(L,da,null));H.fireEvent(new mxEventObject("cellsInserted","cells",[L]));var za=this.editor.graph.getPreferredSizeForCell(L);L.vertex&&(null!=F&&null!=L.getAttribute(F)&&(L.geometry.x=ma+parseFloat(L.getAttribute(F))),null!=G&&null!=L.getAttribute(G)&&(L.geometry.y=Q+parseFloat(L.getAttribute(G))),"@"==I.charAt(0)&&null!=L.getAttribute(I.substring(1))?L.geometry.width=parseFloat(L.getAttribute(I.substring(1))):L.geometry.width=
+"auto"==I?za.width+W:parseFloat(I),"@"==S.charAt(0)&&null!=L.getAttribute(S.substring(1))?L.geometry.height=parseFloat(L.getAttribute(S.substring(1))):L.geometry.height="auto"==S?za.height+W:parseFloat(S),fa+=L.geometry.height+V);B?(null==e[oa]&&(e[oa]=[]),e[oa].push(L)):(C=null!=N?H.model.getCell(M+ha[N]):null,c.push(L),null!=C?(C.style=H.replacePlaceholders(C,p),H.addCell(L,C)):f.push(H.addCell(L)))}}for(var pa=f.slice(),ka=f.slice(),X=0;X<U.length;X++)for(var ta=U[X],O=0;O<f.length;O++){var L=
+f[O],qa=mxUtils.bind(this,function(a,b,d){var c=b.getAttribute(d.from);if(null!=c){H.setAttributeForCell(b,d.from,null);for(var c=c.split(","),f=0;f<c.length;f++){var e=l[d.to][c[f]];if(null!=e){var g=d.label;null!=d.fromlabel&&(g=(b.getAttribute(d.fromlabel)||"")+(g||""));null!=d.tolabel&&(g=(g||"")+(e.getAttribute(d.tolabel)||""));ka.push(H.insertEdge(null,null,g||"",d.invert?e:a,d.invert?a:e,d.style||H.createCurrentEdgeStyle()));mxUtils.remove(d.invert?a:e,pa)}}}});qa(L,L,ta);if(null!=e[L.id])for(ia=
+0;ia<e[L.id].length;ia++)qa(L,e[L.id][ia],ta)}if(null!=na)for(O=0;O<c.length;O++)for(L=c[O],ia=0;ia<na.length;ia++)H.setAttributeForCell(L,mxUtils.trim(na[ia]),null);if(0<f.length){var ua=new mxParallelEdgeLayout(H);ua.spacing=P;var wa=function(){0<ua.spacing&&ua.execute(H.getDefaultParent());for(var a=0;a<f.length;a++){var b=H.getCellGeometry(f[a]);b.x=Math.round(H.snap(b.x));b.y=Math.round(H.snap(b.y));"auto"==I&&(b.width=Math.round(H.snap(b.width)));"auto"==S&&(b.height=Math.round(H.snap(b.height)))}};
+if("["==T.charAt(0)){var ra=Z;H.view.validate();this.executeLayoutList(JSON.parse(T),function(){wa();ra()});Z=null}else if("circle"==T){var Ca=new mxCircleLayout(H);Ca.resetEdges=!1;var Ma=Ca.isVertexIgnored;Ca.isVertexIgnored=function(a){return Ma.apply(this,arguments)||0>mxUtils.indexOf(f,a)};this.executeLayout(function(){Ca.execute(H.getDefaultParent());wa()},!0,Z);Z=null}else if("horizontaltree"==T||"verticaltree"==T||"auto"==T&&ka.length==2*f.length-1&&1==pa.length){H.view.validate();var Da=
+new mxCompactTreeLayout(H,"horizontaltree"==T);Da.levelDistance=V;Da.edgeRouting=!1;Da.resetEdges=!1;this.executeLayout(function(){Da.execute(H.getDefaultParent(),0<pa.length?pa[0]:null)},!0,Z);Z=null}else if("horizontalflow"==T||"verticalflow"==T||"auto"==T&&1==pa.length){H.view.validate();var xa=new mxHierarchicalLayout(H,"horizontalflow"==T?mxConstants.DIRECTION_WEST:mxConstants.DIRECTION_NORTH);xa.intraCellSpacing=V;xa.parallelEdgeSpacing=P;xa.interRankCellSpacing=aa;xa.disableEdgeStyle=!1;this.executeLayout(function(){xa.execute(H.getDefaultParent(),
+ka);H.moveCells(ka,ma,Q)},!0,Z);Z=null}else if("organic"==T||"auto"==T&&ka.length>f.length){H.view.validate();var ya=new mxFastOrganicLayout(H);ya.forceConstant=3*V;ya.resetEdges=!1;var Ha=ya.isVertexIgnored;ya.isVertexIgnored=function(a){return Ha.apply(this,arguments)||0>mxUtils.indexOf(f,a)};ua=new mxParallelEdgeLayout(H);ua.spacing=P;this.executeLayout(function(){ya.execute(H.getDefaultParent());wa()},!0,Z);Z=null}}this.hideDialog()}finally{H.model.endUpdate()}null!=Z&&Z()}}catch(Ia){this.handleError(Ia)}};
+EditorUi.prototype.getSearch=function(a){var b="";if("1"!=urlParams.offline&&"1"!=urlParams.demo&&null!=a&&0<window.location.search.length){var d="?",c;for(c in urlParams)0>mxUtils.indexOf(a,c)&&null!=urlParams[c]&&(b+=d+c+"="+urlParams[c],d="&")}else b=window.location.search;return b};EditorUi.prototype.getUrl=function(a){a=null!=a?a:window.location.pathname;var b=0<a.indexOf("?")?1:0;if("1"==urlParams.offline)a+=window.location.search;else{var d="tmp libs clibs state fileId code share notitle data url embed client create title splash".split(" "),
+c;for(c in urlParams)0>mxUtils.indexOf(d,c)&&(a=0==b?a+"?":a+"&",null!=urlParams[c]&&(a+=c+"="+urlParams[c],b++))}return a};EditorUi.prototype.showLinkDialog=function(a,b,c){a=new LinkDialog(this,a,b,c,!0);this.showDialog(a.container,560,130,!0,!0);a.init()};var u=EditorUi.prototype.createOutline;EditorUi.prototype.createOutline=function(a){var b=u.apply(this,arguments),d=this.editor.graph,c=b.getSourceGraphBounds;b.getSourceGraphBounds=function(){if(mxUtils.hasScrollbars(d.container)&&d.pageVisible&&
+null!=this.source.minimumGraphSize){var a=this.source.getPagePadding(),b=this.source.view.scale;return new mxRectangle(0,0,Math.ceil(this.source.minimumGraphSize.width-2*a.x/b),Math.ceil(this.source.minimumGraphSize.height-2*a.y/b))}return c.apply(this,arguments)};var e=b.getSourceContainerSize;b.getSourceContainerSize=function(){if(mxUtils.hasScrollbars(d.container)&&null!=this.source.minimumGraphSize){var a=this.source.getPagePadding(),b=this.source.view.scale;return new mxRectangle(0,0,Math.ceil(this.source.minimumGraphSize.width*
+b-2*a.x),Math.ceil(this.source.minimumGraphSize.height*b-2*a.y))}return e.apply(this,arguments)};b.getOutlineOffset=function(a){if(mxUtils.hasScrollbars(d.container)&&null!=this.source.minimumGraphSize){var c=this.source.getPagePadding();return new mxPoint(Math.round(Math.max(0,(b.outline.container.clientWidth/a-(this.source.minimumGraphSize.width-2*c.x))/2)-c.x),Math.round(Math.max(0,(b.outline.container.clientHeight/a-(this.source.minimumGraphSize.height-2*c.y))/2)-c.y-5/a))}return new mxPoint(8/
+a,8/a)};var g=b.init;b.init=function(){g.apply(this,arguments);b.outline.view.getBackgroundPageBounds=function(){var a=d.getPageLayout(),b=d.getPageSize();return new mxRectangle(this.scale*(this.translate.x+a.x*b.width),this.scale*(this.translate.y+a.y*b.height),this.scale*a.width*b.width,this.scale*a.height*b.height)};b.outline.view.validateBackgroundPage()};this.editor.addListener("pageSelected",function(a,d){var c=d.getProperty("change"),f=b.source,e=b.outline;e.pageScale=f.pageScale;e.pageFormat=
+f.pageFormat;e.background=f.background;e.pageVisible=f.pageVisible;e.background=f.background;var g=mxUtils.getCurrentStyle(f.container);e.container.style.backgroundColor=g.backgroundColor;null!=f.view.backgroundPageShape&&null!=e.view.backgroundPageShape&&(e.view.backgroundPageShape.fill=f.view.backgroundPageShape.fill);b.outline.view.clear(c.previousPage.root,!0);b.outline.view.validate()});return b};EditorUi.prototype.getServiceCount=function(a,b){var d=1;null==this.drive&&"function"!==typeof window.DriveClient||
+d++;b||null==this.dropbox&&"function"!==typeof window.DropboxClient||d++;null==this.oneDrive&&"function"!==typeof window.OneDriveClient||d++;b||null==this.gitHub||d++;b||null==this.gitLab||d++;b&&a&&isLocalStorage&&"1"==urlParams.browser&&d++;return d};EditorUi.prototype.updateUi=function(){this.updateButtonContainer();this.updateActionStates();var a=this.getCurrentFile(),b=null!=a||"1"==urlParams.embed&&this.editor.graph.isEnabled();this.menus.get("viewPanels").setEnabled(b);this.menus.get("viewZoom").setEnabled(b);
+var c=("1"!=urlParams.embed||!this.editor.graph.isEnabled())&&(null==a||a.isRestricted());this.actions.get("makeCopy").setEnabled(!c);this.actions.get("print").setEnabled(!c);this.menus.get("exportAs").setEnabled(!c);this.menus.get("embed").setEnabled(!c);c="1"!=urlParams.embed||this.editor.graph.isEnabled();this.menus.get("extras").setEnabled(c);Editor.enableCustomLibraries&&(this.menus.get("openLibraryFrom").setEnabled(c),this.menus.get("newLibrary").setEnabled(c));a="1"==urlParams.embed&&this.editor.graph.isEnabled()||
 null!=a&&a.isEditable();this.actions.get("image").setEnabled(b);this.actions.get("zoomIn").setEnabled(b);this.actions.get("zoomOut").setEnabled(b);this.actions.get("resetView").setEnabled(b);this.actions.get("undo").setEnabled(this.canUndo()&&a);this.actions.get("redo").setEnabled(this.canRedo()&&a);this.menus.get("edit").setEnabled(b);this.menus.get("view").setEnabled(b);this.menus.get("importFrom").setEnabled(a);this.menus.get("arrange").setEnabled(a);null!=this.toolbar&&(null!=this.toolbar.edgeShapeMenu&&
-this.toolbar.edgeShapeMenu.setEnabled(a),null!=this.toolbar.edgeStyleMenu&&this.toolbar.edgeStyleMenu.setEnabled(a));if(this.isAppCache()){var f=window.applicationCache;if(null!=f&&null==this.offlineStatus){this.offlineStatus=document.createElement("div");this.offlineStatus.className="geItem";this.offlineStatus.style.position="absolute";this.offlineStatus.style.fontSize="8pt";this.offlineStatus.style.top="2px";this.offlineStatus.style.right="12px";this.offlineStatus.style.color="#666";this.offlineStatus.style.margin=
-"4px";this.offlineStatus.style.padding="2px";this.offlineStatus.style.verticalAlign="middle";this.offlineStatus.innerHTML="";this.menubarContainer.appendChild(this.offlineStatus);mxEvent.addListener(this.offlineStatus,"click",mxUtils.bind(this,function(){var a=this.offlineStatus.getElementsByTagName("img");null!=a&&0<a.length&&this.alert(a[0].getAttribute("title"))}));var l=null,b=mxUtils.bind(this,function(){var a=f.status,b;a==f.CHECKING&&(a=f.DOWNLOADING);switch(a){case f.UNCACHED:b="";break;case f.IDLE:b=
-"min"==uiTheme?"":'<img title="draw.io is up to date." border="0" src="'+IMAGE_PATH+'/checkmark.gif"/>';break;case f.DOWNLOADING:b='<img title="Downloading new version..." border="0" src="'+IMAGE_PATH+'/spin.gif"/>';break;case f.UPDATEREADY:b='<img title="'+mxUtils.htmlEntities(mxResources.get("restartForChangeRequired"))+'" border="0" src="'+IMAGE_PATH+'/download.png"/>';break;case f.OBSOLETE:b='<img title="Obsolete" border="0" src="'+IMAGE_PATH+'/clear.gif"/>';break;default:b='<img title="Unknown" border="0" src="'+
-IMAGE_PATH+'/clear.gif"/>'}a!=l&&(this.offlineStatus.innerHTML=b,l=a)});mxEvent.addListener(f,"checking",b);mxEvent.addListener(f,"noupdate",b);mxEvent.addListener(f,"downloading",b);mxEvent.addListener(f,"progress",b);mxEvent.addListener(f,"cached",b);mxEvent.addListener(f,"updateready",b);mxEvent.addListener(f,"obsolete",b);mxEvent.addListener(f,"error",b);b()}}else this.updateUserElement()};EditorUi.prototype.updateButtonContainer=function(){};EditorUi.prototype.updateUserElement=function(){};
-EditorUi.prototype.scheduleSanityCheck=function(){};EditorUi.prototype.stopSanityCheck=function(){};EditorUi.prototype.isDiagramActive=function(){var a=this.getCurrentFile();return null!=a&&a.isEditable()||"1"==urlParams.embed&&this.editor.graph.isEnabled()};var z=EditorUi.prototype.updateActionStates;EditorUi.prototype.updateActionStates=function(){z.apply(this,arguments);var a=this.editor.graph,b=this.isDiagramActive(),d=this.getCurrentFile();this.actions.get("pageSetup").setEnabled(b);this.actions.get("autosave").setEnabled(null!=
-d&&d.isEditable()&&d.isAutosaveOptional());this.actions.get("guides").setEnabled(b);this.actions.get("editData").setEnabled(b);this.actions.get("shadowVisible").setEnabled(b);this.actions.get("connectionArrows").setEnabled(b);this.actions.get("connectionPoints").setEnabled(b);this.actions.get("copyStyle").setEnabled(b&&!a.isSelectionEmpty());this.actions.get("pasteStyle").setEnabled(b&&!a.isSelectionEmpty());this.actions.get("editGeometry").setEnabled(a.getModel().isVertex(a.getSelectionCell()));
-this.actions.get("createShape").setEnabled(b);this.actions.get("createRevision").setEnabled(b);this.actions.get("moveToFolder").setEnabled(null!=d);this.actions.get("makeCopy").setEnabled(null!=d&&!d.isRestricted());this.actions.get("editDiagram").setEnabled(b&&(null==d||!d.isRestricted()));this.actions.get("publishLink").setEnabled(null!=d&&!d.isRestricted());this.actions.get("tags").setEnabled("hidden"!=this.diagramContainer.style.visibility);this.actions.get("find").setEnabled("hidden"!=this.diagramContainer.style.visibility);
-this.actions.get("layers").setEnabled("hidden"!=this.diagramContainer.style.visibility);this.actions.get("outline").setEnabled("hidden"!=this.diagramContainer.style.visibility);this.actions.get("rename").setEnabled(null!=d&&d.isRenamable()||"1"==urlParams.embed);this.actions.get("close").setEnabled(null!=d);this.menus.get("publish").setEnabled(null!=d&&!d.isRestricted());a=a.view.getState(a.getSelectionCell());this.actions.get("editShape").setEnabled(b&&null!=a&&null!=a.shape&&null!=a.shape.stencil)};
-var C=EditorUi.prototype.destroy;EditorUi.prototype.destroy=function(){null!=this.exportDialog&&(this.exportDialog.parentNode.removeChild(this.exportDialog),this.exportDialog=null);C.apply(this,arguments)};null!=window.ExportDialog&&(ExportDialog.showXmlOption=!1,ExportDialog.showGifOption=!1,ExportDialog.exportFile=function(a,b,d,f,l,g,m){var c=a.editor.graph;if("xml"==d)a.hideDialog(),a.saveData(b,"xml",mxUtils.getXml(a.editor.getGraphXml()),"text/xml");else if("svg"==d)a.hideDialog(),a.saveData(b,
-"svg",mxUtils.getXml(c.getSvg(f,l,g)),"image/svg+xml");else{var e=a.getFileData(!0,null,null,null,null,!0),k=c.getGraphBounds(),n=Math.floor(k.width*l/c.view.scale),q=Math.floor(k.height*l/c.view.scale);if(e.length<=MAX_REQUEST_SIZE&&n*q<MAX_AREA)if(a.hideDialog(),"png"!=d&&"jpg"!=d&&"jpeg"!=d||!a.isExportToCanvas()){var p={globalVars:c.getExportVariables()};a.saveRequest(b,d,function(a,b){return new mxXmlRequest(EXPORT_URL,"format="+d+"&base64="+(b||"0")+(null!=a?"&filename="+encodeURIComponent(a):
-"")+"&extras="+encodeURIComponent(JSON.stringify(p))+(0<m?"&dpi="+m:"")+"&bg="+(null!=f?f:"none")+"&w="+n+"&h="+q+"&border="+g+"&xml="+encodeURIComponent(e))})}else"png"==d?a.exportImage(l,null==f||"none"==f,!0,!1,!1,g,!0,!1,null,null,m):a.exportImage(l,!1,!0,!1,!1,g,!0,!1,"jpeg");else mxUtils.alert(mxResources.get("drawingTooLarge"))}});EditorUi.prototype.getDiagramTextContent=function(){this.editor.graph.setEnabled(!1);var a=this.editor.graph,b="";if(null!=this.pages)for(var d=0;d<this.pages.length;d++){var f=
-a;this.currentPage!=this.pages[d]&&(f=this.createTemporaryGraph(a.getStylesheet()),f.model.setRoot(this.pages[d].root));b+=this.pages[d].getName()+" "+f.getIndexableText()+" "}else b=a.getIndexableText();this.editor.graph.setEnabled(!0);return b};EditorUi.prototype.showRemotelyStoredLibrary=function(a){var b={},c=document.createElement("div");c.style.whiteSpace="nowrap";var d=document.createElement("h3");mxUtils.write(d,mxUtils.htmlEntities(a));d.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";
-c.appendChild(d);var f=document.createElement("div");f.style.cssText="border:1px solid lightGray;overflow: auto;height:300px";f.innerHTML='<div style="text-align:center;padding:8px;"><img src="/images/spin.gif"></div>';var g={};try{var l=mxSettings.getCustomLibraries();for(a=0;a<l.length;a++){var m=l[a];if("R"==m.substring(0,1)){var q=JSON.parse(decodeURIComponent(m.substring(1)));g[q[0]]={id:q[0],title:q[1],downloadUrl:q[2]}}}}catch(D){}this.remoteInvoke("getCustomLibraries",null,null,function(a){f.innerHTML=
-"";if(0==a.length)f.innerHTML='<div style="text-align:center;padding-top:20px;color:gray;">'+mxUtils.htmlEntities(mxResources.get("noLibraries"))+"</div>";else for(var c=0;c<a.length;c++){var d=a[c];g[d.id]&&(b[d.id]=d);var e=this.addCheckbox(f,d.title,g[d.id]);(function(a,c){mxEvent.addListener(c,"change",function(){this.checked?b[a.id]=a:delete b[a.id]})})(d,e)}},mxUtils.bind(this,function(a){f.innerHTML="";var b=document.createElement("div");b.style.padding="8px";b.style.textAlign="center";mxUtils.write(b,
-mxResources.get("error")+": ");mxUtils.write(b,null!=a&&null!=a.message?a.message:mxResources.get("unknownError"));f.appendChild(b)}));c.appendChild(f);c=new CustomDialog(this,c,mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("loading"));var a=0,c;for(c in b)null==g[c]&&(a++,mxUtils.bind(this,function(b){this.remoteInvoke("getFileContent",[b.downloadUrl],null,mxUtils.bind(this,function(c){a--;0==a&&this.spinner.stop();try{this.loadLibrary(new RemoteLibrary(this,c,b))}catch(B){this.handleError(B,
-mxResources.get("errorLoadingFile"))}}),mxUtils.bind(this,function(){a--;0==a&&this.spinner.stop();this.handleError(null,mxResources.get("errorLoadingFile"))}))})(b[c]));for(c in g)b[c]||this.closeLibrary(new RemoteLibrary(this,null,g[c]));0==a&&this.spinner.stop()}),null,null,"https://desk.draw.io/support/solutions/articles/16000092763");this.showDialog(c.container,340,375,!0,!0,null,null,null,null,!0)};EditorUi.prototype.remoteInvokableFns={getDiagramTextContent:{isAsync:!1}};EditorUi.prototype.remoteInvokeCallbacks=
-[];EditorUi.prototype.remoteInvokeQueue=[];EditorUi.prototype.handleRemoteInvokeReady=function(a){this.remoteWin=a;for(var b=0;b<this.remoteInvokeQueue.length;b++)a.postMessage(this.remoteInvokeQueue[b],"*");this.remoteInvokeQueue=[]};EditorUi.prototype.handleRemoteInvokeResponse=function(a){var b=a.msgMarkers,c=this.remoteInvokeCallbacks[b.callbackId];if(null==c)throw Error("No callback for "+(null!=b?b.callbackId:"null"));a.error?c.error&&c.error(a.error.errResp):c.callback&&c.callback.apply(this,
-a.resp);this.remoteInvokeCallbacks[b.callbackId]=null};EditorUi.prototype.remoteInvoke=function(a,b,d,f,l){var c=!0,e=window.setTimeout(mxUtils.bind(this,function(){c=!1;l({code:App.ERROR_TIMEOUT,message:mxResources.get("timeout")})}),this.timeout),k=mxUtils.bind(this,function(){window.clearTimeout(e);c&&f.apply(this,arguments)});d=d||{};d.callbackId=this.remoteInvokeCallbacks.length;this.remoteInvokeCallbacks.push({callback:k,error:l});a=JSON.stringify({event:"remoteInvoke",funtionName:a,functionArgs:b,
-msgMarkers:d});null!=this.remoteWin?this.remoteWin.postMessage(a,"*"):this.remoteInvokeQueue.push(a)};EditorUi.prototype.handleRemoteInvoke=function(a){var b=mxUtils.bind(this,function(b,c){var d={event:"remoteInvokeResponse",msgMarkers:a.msgMarkers};null!=c?d.error={errResp:c}:null!=b&&(d.resp=b);this.remoteWin.postMessage(JSON.stringify(d),"*")});try{var c=a.funtionName,d=this.remoteInvokableFns[c];if(null!=d&&"function"===typeof this[c]){var f=a.functionArgs;Array.isArray(f)||(f=[]);if(d.isAsync)f.push(function(){b(Array.prototype.slice.apply(arguments))}),
-f.push(function(a){b(null,a||"Unkown Error")}),this[c].apply(this,f);else{var g=this[c].apply(this,f);b([g])}}else b(null,"Invalid Call: "+c+" is not found.")}catch(A){b(null,"Invalid Call: An error occured, "+A.message)}};EditorUi.prototype.commentsSupported=function(){var a=this.getCurrentFile();return null!=a?a.commentsSupported():!1};EditorUi.prototype.commentsRefreshNeeded=function(){var a=this.getCurrentFile();return null!=a?a.commentsRefreshNeeded():!0};EditorUi.prototype.commentsSaveNeeded=
-function(){var a=this.getCurrentFile();return null!=a?a.commentsSaveNeeded():!1};EditorUi.prototype.getComments=function(a,b){var c=this.getCurrentFile();null!=c?c.getComments(a,b):a([])};EditorUi.prototype.addComment=function(a,b,d){var c=this.getCurrentFile();null!=c?c.addComment(a,b,d):b(Date.now())};EditorUi.prototype.canReplyToReplies=function(){var a=this.getCurrentFile();return null!=a?a.canReplyToReplies():!0};EditorUi.prototype.canComment=function(){var a=this.getCurrentFile();return null!=
-a?a.canComment():!0};EditorUi.prototype.newComment=function(a,b){var c=this.getCurrentFile();return null!=c?c.newComment(a,b):new DrawioComment(this,null,a,Date.now(),Date.now(),!1,b)};EditorUi.prototype.isRevisionHistorySupported=function(){var a=this.getCurrentFile();return null!=a&&a.isRevisionHistorySupported()};EditorUi.prototype.getRevisions=function(a,b){var c=this.getCurrentFile();null!=c&&c.getRevisions?c.getRevisions(a,b):b({message:mxResources.get("unknownError")})};EditorUi.prototype.isRevisionHistoryEnabled=
+this.toolbar.edgeShapeMenu.setEnabled(a),null!=this.toolbar.edgeStyleMenu&&this.toolbar.edgeStyleMenu.setEnabled(a));if(this.isAppCache()){var e=window.applicationCache;if(null!=e&&null==this.offlineStatus){this.offlineStatus=document.createElement("div");this.offlineStatus.className="geItem";this.offlineStatus.style.position="absolute";this.offlineStatus.style.fontSize="8pt";this.offlineStatus.style.top="2px";this.offlineStatus.style.right="12px";this.offlineStatus.style.color="#666";this.offlineStatus.style.margin=
+"4px";this.offlineStatus.style.padding="2px";this.offlineStatus.style.verticalAlign="middle";this.offlineStatus.innerHTML="";this.menubarContainer.appendChild(this.offlineStatus);mxEvent.addListener(this.offlineStatus,"click",mxUtils.bind(this,function(){var a=this.offlineStatus.getElementsByTagName("img");null!=a&&0<a.length&&this.alert(a[0].getAttribute("title"))}));var l=null,b=mxUtils.bind(this,function(){var a=e.status,b;a==e.CHECKING&&(a=e.DOWNLOADING);switch(a){case e.UNCACHED:b="";break;case e.IDLE:b=
+"min"==uiTheme?"":'<img title="draw.io is up to date." border="0" src="'+IMAGE_PATH+'/checkmark.gif"/>';break;case e.DOWNLOADING:b='<img title="Downloading new version..." border="0" src="'+IMAGE_PATH+'/spin.gif"/>';break;case e.UPDATEREADY:b='<img title="'+mxUtils.htmlEntities(mxResources.get("restartForChangeRequired"))+'" border="0" src="'+IMAGE_PATH+'/download.png"/>';break;case e.OBSOLETE:b='<img title="Obsolete" border="0" src="'+IMAGE_PATH+'/clear.gif"/>';break;default:b='<img title="Unknown" border="0" src="'+
+IMAGE_PATH+'/clear.gif"/>'}a!=l&&(this.offlineStatus.innerHTML=b,l=a)});mxEvent.addListener(e,"checking",b);mxEvent.addListener(e,"noupdate",b);mxEvent.addListener(e,"downloading",b);mxEvent.addListener(e,"progress",b);mxEvent.addListener(e,"cached",b);mxEvent.addListener(e,"updateready",b);mxEvent.addListener(e,"obsolete",b);mxEvent.addListener(e,"error",b);b()}}else this.updateUserElement()};EditorUi.prototype.updateButtonContainer=function(){};EditorUi.prototype.updateUserElement=function(){};
+EditorUi.prototype.scheduleSanityCheck=function(){};EditorUi.prototype.stopSanityCheck=function(){};EditorUi.prototype.isDiagramActive=function(){var a=this.getCurrentFile();return null!=a&&a.isEditable()||"1"==urlParams.embed&&this.editor.graph.isEnabled()};var z=EditorUi.prototype.updateActionStates;EditorUi.prototype.updateActionStates=function(){z.apply(this,arguments);var a=this.editor.graph,b=this.isDiagramActive(),c=this.getCurrentFile();this.actions.get("pageSetup").setEnabled(b);this.actions.get("autosave").setEnabled(null!=
+c&&c.isEditable()&&c.isAutosaveOptional());this.actions.get("guides").setEnabled(b);this.actions.get("editData").setEnabled(b);this.actions.get("shadowVisible").setEnabled(b);this.actions.get("connectionArrows").setEnabled(b);this.actions.get("connectionPoints").setEnabled(b);this.actions.get("copyStyle").setEnabled(b&&!a.isSelectionEmpty());this.actions.get("pasteStyle").setEnabled(b&&!a.isSelectionEmpty());this.actions.get("editGeometry").setEnabled(a.getModel().isVertex(a.getSelectionCell()));
+this.actions.get("createShape").setEnabled(b);this.actions.get("createRevision").setEnabled(b);this.actions.get("moveToFolder").setEnabled(null!=c);this.actions.get("makeCopy").setEnabled(null!=c&&!c.isRestricted());this.actions.get("editDiagram").setEnabled(b&&(null==c||!c.isRestricted()));this.actions.get("publishLink").setEnabled(null!=c&&!c.isRestricted());this.actions.get("tags").setEnabled("hidden"!=this.diagramContainer.style.visibility);this.actions.get("find").setEnabled("hidden"!=this.diagramContainer.style.visibility);
+this.actions.get("layers").setEnabled("hidden"!=this.diagramContainer.style.visibility);this.actions.get("outline").setEnabled("hidden"!=this.diagramContainer.style.visibility);this.actions.get("rename").setEnabled(null!=c&&c.isRenamable()||"1"==urlParams.embed);this.actions.get("close").setEnabled(null!=c);this.menus.get("publish").setEnabled(null!=c&&!c.isRestricted());a=a.view.getState(a.getSelectionCell());this.actions.get("editShape").setEnabled(b&&null!=a&&null!=a.shape&&null!=a.shape.stencil)};
+var C=EditorUi.prototype.destroy;EditorUi.prototype.destroy=function(){null!=this.exportDialog&&(this.exportDialog.parentNode.removeChild(this.exportDialog),this.exportDialog=null);C.apply(this,arguments)};null!=window.ExportDialog&&(ExportDialog.showXmlOption=!1,ExportDialog.showGifOption=!1,ExportDialog.exportFile=function(a,b,c,e,l,g,m){var d=a.editor.graph;if("xml"==c)a.hideDialog(),a.saveData(b,"xml",mxUtils.getXml(a.editor.getGraphXml()),"text/xml");else if("svg"==c)a.hideDialog(),a.saveData(b,
+"svg",mxUtils.getXml(d.getSvg(e,l,g)),"image/svg+xml");else{var f=a.getFileData(!0,null,null,null,null,!0),k=d.getGraphBounds(),n=Math.floor(k.width*l/d.view.scale),q=Math.floor(k.height*l/d.view.scale);if(f.length<=MAX_REQUEST_SIZE&&n*q<MAX_AREA)if(a.hideDialog(),"png"!=c&&"jpg"!=c&&"jpeg"!=c||!a.isExportToCanvas()){var p={globalVars:d.getExportVariables()};a.saveRequest(b,c,function(a,b){return new mxXmlRequest(EXPORT_URL,"format="+c+"&base64="+(b||"0")+(null!=a?"&filename="+encodeURIComponent(a):
+"")+"&extras="+encodeURIComponent(JSON.stringify(p))+(0<m?"&dpi="+m:"")+"&bg="+(null!=e?e:"none")+"&w="+n+"&h="+q+"&border="+g+"&xml="+encodeURIComponent(f))})}else"png"==c?a.exportImage(l,null==e||"none"==e,!0,!1,!1,g,!0,!1,null,null,m):a.exportImage(l,!1,!0,!1,!1,g,!0,!1,"jpeg");else mxUtils.alert(mxResources.get("drawingTooLarge"))}});EditorUi.prototype.getDiagramTextContent=function(){this.editor.graph.setEnabled(!1);var a=this.editor.graph,b="";if(null!=this.pages)for(var c=0;c<this.pages.length;c++){var e=
+a;this.currentPage!=this.pages[c]&&(e=this.createTemporaryGraph(a.getStylesheet()),e.model.setRoot(this.pages[c].root));b+=this.pages[c].getName()+" "+e.getIndexableText()+" "}else b=a.getIndexableText();this.editor.graph.setEnabled(!0);return b};EditorUi.prototype.showRemotelyStoredLibrary=function(a){var b={},d=document.createElement("div");d.style.whiteSpace="nowrap";var c=document.createElement("h3");mxUtils.write(c,mxUtils.htmlEntities(a));c.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";
+d.appendChild(c);var e=document.createElement("div");e.style.cssText="border:1px solid lightGray;overflow: auto;height:300px";e.innerHTML='<div style="text-align:center;padding:8px;"><img src="/images/spin.gif"></div>';var g={};try{var l=mxSettings.getCustomLibraries();for(a=0;a<l.length;a++){var m=l[a];if("R"==m.substring(0,1)){var q=JSON.parse(decodeURIComponent(m.substring(1)));g[q[0]]={id:q[0],title:q[1],downloadUrl:q[2]}}}}catch(E){}this.remoteInvoke("getCustomLibraries",null,null,function(a){e.innerHTML=
+"";if(0==a.length)e.innerHTML='<div style="text-align:center;padding-top:20px;color:gray;">'+mxUtils.htmlEntities(mxResources.get("noLibraries"))+"</div>";else for(var d=0;d<a.length;d++){var c=a[d];g[c.id]&&(b[c.id]=c);var f=this.addCheckbox(e,c.title,g[c.id]);(function(a,d){mxEvent.addListener(d,"change",function(){this.checked?b[a.id]=a:delete b[a.id]})})(c,f)}},mxUtils.bind(this,function(a){e.innerHTML="";var b=document.createElement("div");b.style.padding="8px";b.style.textAlign="center";mxUtils.write(b,
+mxResources.get("error")+": ");mxUtils.write(b,null!=a&&null!=a.message?a.message:mxResources.get("unknownError"));e.appendChild(b)}));d.appendChild(e);d=new CustomDialog(this,d,mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("loading"));var a=0,d;for(d in b)null==g[d]&&(a++,mxUtils.bind(this,function(b){this.remoteInvoke("getFileContent",[b.downloadUrl],null,mxUtils.bind(this,function(d){a--;0==a&&this.spinner.stop();try{this.loadLibrary(new RemoteLibrary(this,d,b))}catch(B){this.handleError(B,
+mxResources.get("errorLoadingFile"))}}),mxUtils.bind(this,function(){a--;0==a&&this.spinner.stop();this.handleError(null,mxResources.get("errorLoadingFile"))}))})(b[d]));for(d in g)b[d]||this.closeLibrary(new RemoteLibrary(this,null,g[d]));0==a&&this.spinner.stop()}),null,null,"https://desk.draw.io/support/solutions/articles/16000092763");this.showDialog(d.container,340,375,!0,!0,null,null,null,null,!0)};EditorUi.prototype.remoteInvokableFns={getDiagramTextContent:{isAsync:!1}};EditorUi.prototype.remoteInvokeCallbacks=
+[];EditorUi.prototype.remoteInvokeQueue=[];EditorUi.prototype.handleRemoteInvokeReady=function(a){this.remoteWin=a;for(var b=0;b<this.remoteInvokeQueue.length;b++)a.postMessage(this.remoteInvokeQueue[b],"*");this.remoteInvokeQueue=[]};EditorUi.prototype.handleRemoteInvokeResponse=function(a){var b=a.msgMarkers,d=this.remoteInvokeCallbacks[b.callbackId];if(null==d)throw Error("No callback for "+(null!=b?b.callbackId:"null"));a.error?d.error&&d.error(a.error.errResp):d.callback&&d.callback.apply(this,
+a.resp);this.remoteInvokeCallbacks[b.callbackId]=null};EditorUi.prototype.remoteInvoke=function(a,b,c,e,l){var d=!0,f=window.setTimeout(mxUtils.bind(this,function(){d=!1;l({code:App.ERROR_TIMEOUT,message:mxResources.get("timeout")})}),this.timeout),k=mxUtils.bind(this,function(){window.clearTimeout(f);d&&e.apply(this,arguments)});c=c||{};c.callbackId=this.remoteInvokeCallbacks.length;this.remoteInvokeCallbacks.push({callback:k,error:l});a=JSON.stringify({event:"remoteInvoke",funtionName:a,functionArgs:b,
+msgMarkers:c});null!=this.remoteWin?this.remoteWin.postMessage(a,"*"):this.remoteInvokeQueue.push(a)};EditorUi.prototype.handleRemoteInvoke=function(a){var b=mxUtils.bind(this,function(b,d){var c={event:"remoteInvokeResponse",msgMarkers:a.msgMarkers};null!=d?c.error={errResp:d}:null!=b&&(c.resp=b);this.remoteWin.postMessage(JSON.stringify(c),"*")});try{var d=a.funtionName,c=this.remoteInvokableFns[d];if(null!=c&&"function"===typeof this[d]){var e=a.functionArgs;Array.isArray(e)||(e=[]);if(c.isAsync)e.push(function(){b(Array.prototype.slice.apply(arguments))}),
+e.push(function(a){b(null,a||"Unkown Error")}),this[d].apply(this,e);else{var g=this[d].apply(this,e);b([g])}}else b(null,"Invalid Call: "+d+" is not found.")}catch(A){b(null,"Invalid Call: An error occured, "+A.message)}};EditorUi.prototype.commentsSupported=function(){var a=this.getCurrentFile();return null!=a?a.commentsSupported():!1};EditorUi.prototype.commentsRefreshNeeded=function(){var a=this.getCurrentFile();return null!=a?a.commentsRefreshNeeded():!0};EditorUi.prototype.commentsSaveNeeded=
+function(){var a=this.getCurrentFile();return null!=a?a.commentsSaveNeeded():!1};EditorUi.prototype.getComments=function(a,b){var d=this.getCurrentFile();null!=d?d.getComments(a,b):a([])};EditorUi.prototype.addComment=function(a,b,c){var d=this.getCurrentFile();null!=d?d.addComment(a,b,c):b(Date.now())};EditorUi.prototype.canReplyToReplies=function(){var a=this.getCurrentFile();return null!=a?a.canReplyToReplies():!0};EditorUi.prototype.canComment=function(){var a=this.getCurrentFile();return null!=
+a?a.canComment():!0};EditorUi.prototype.newComment=function(a,b){var d=this.getCurrentFile();return null!=d?d.newComment(a,b):new DrawioComment(this,null,a,Date.now(),Date.now(),!1,b)};EditorUi.prototype.isRevisionHistorySupported=function(){var a=this.getCurrentFile();return null!=a&&a.isRevisionHistorySupported()};EditorUi.prototype.getRevisions=function(a,b){var d=this.getCurrentFile();null!=d&&d.getRevisions?d.getRevisions(a,b):b({message:mxResources.get("unknownError")})};EditorUi.prototype.isRevisionHistoryEnabled=
 function(){var a=this.getCurrentFile();return null!=a&&(a.constructor==DriveFile&&a.isEditable()||a.constructor==DropboxFile)};EditorUi.prototype.getServiceName=function(){return"draw.io"};EditorUi.prototype.addRemoteServiceSecurityCheck=function(a){a.setRequestHeader("Content-Language","da, mi, en, de-DE")}})();
-var CommentsWindow=function(a,b,f,d,l,m){function q(){for(var a=t.getElementsByTagName("div"),b=0,c=0;c<a.length;c++)"none"!=a[c].style.display&&a[c].parentNode==t&&b++;D.style.display=0==b?"block":"none"}function u(a,b,c,d){function e(){b.removeChild(l);b.removeChild(m);k.style.display="block";f.style.display="block"}g={div:b,comment:a,saveCallback:c,deleteOnCancel:d};var f=b.querySelector(".geCommentTxt"),k=b.querySelector(".geCommentActionsList"),l=document.createElement("textarea");l.className=
-"geCommentEditTxtArea";l.style.minHeight=f.offsetHeight+"px";l.value=a.content;b.insertBefore(l,f);var m=document.createElement("div");m.className="geCommentEditBtns";var n=mxUtils.button(mxResources.get("cancel"),function(){d?(b.parentNode.removeChild(b),q()):e();g=null});n.className="geCommentEditBtn";m.appendChild(n);var p=mxUtils.button(mxResources.get("save"),function(){f.innerHTML="";a.content=l.value;mxUtils.write(f,a.content);e();c(a);g=null});mxEvent.addListener(l,"keydown",mxUtils.bind(this,
-function(a){mxEvent.isConsumed(a)||((mxEvent.isControlDown(a)||mxClient.IS_MAC&&mxEvent.isMetaDown(a))&&13==a.keyCode?(p.click(),mxEvent.consume(a)):27==a.keyCode&&(n.click(),mxEvent.consume(a)))}));p.focus();p.className="geCommentEditBtn gePrimaryBtn";m.appendChild(p);b.insertBefore(m,f);k.style.display="none";f.style.display="none";l.focus()}function z(b,c){c.innerHTML="";var d=new Date(b.modifiedDate),e=a.timeSince(d);null==e&&(e=mxResources.get("lessThanAMinute"));mxUtils.write(c,mxResources.get("timeAgo",
-[e],"{1} ago"));c.setAttribute("title",d.toLocaleDateString()+" "+d.toLocaleTimeString())}function C(a){var b=document.createElement("img");b.className="geCommentBusyImg";b.src=IMAGE_PATH+"/spin.gif";a.appendChild(b);a.busyImg=b}function c(a){a.style.border="1px solid red";a.removeChild(a.busyImg)}function e(a){a.style.border="";a.removeChild(a.busyImg)}function k(b,d,f,l,m){function y(a,c,d){var e=document.createElement("li");e.className="geCommentAction";var f=document.createElement("a");f.className=
-"geCommentActionLnk";mxUtils.write(f,a);e.appendChild(f);mxEvent.addListener(f,"click",function(a){c(a,b);a.preventDefault();mxEvent.consume(a)});I.appendChild(e);d&&(e.style.display="none")}function v(){function a(b){c.push(d);if(null!=b.replies)for(var e=0;e<b.replies.length;e++)d=d.nextSibling,a(b.replies[e])}var c=[],d=B;a(b);return{pdiv:d,replies:c}}function A(d,f,g,m,n){function q(){C(x);b.addReply(t,function(a){t.id=a;b.replies.push(t);e(x);g&&g()},function(b){p();c(x);a.handleError(b,null,
-null,null,mxUtils.htmlEntities(mxResources.get("objectNotFound")))},m,n)}function p(){u(t,x,function(a){q()},!0)}var y=v().pdiv,t=a.newComment(d,a.getCurrentUser());t.pCommentId=b.id;null==b.replies&&(b.replies=[]);var x=k(t,b.replies,y,l+1);f?p():q()}if(m||!b.isResolved){D.style.display="none";var B=document.createElement("div");B.className="geCommentContainer";B.setAttribute("data-commentId",b.id);B.style.marginLeft=20*l+5+"px";b.isResolved&&"dark"!=uiTheme&&(B.style.backgroundColor="ghostWhite");
-var G=document.createElement("div");G.className="geCommentHeader";var E=document.createElement("img");E.className="geCommentUserImg";E.src=b.user.pictureUrl||Editor.userImage;G.appendChild(E);E=document.createElement("div");E.className="geCommentHeaderTxt";G.appendChild(E);var O=document.createElement("div");O.className="geCommentUsername";mxUtils.write(O,b.user.displayName||"");E.appendChild(O);O=document.createElement("div");O.className="geCommentDate";O.setAttribute("data-commentId",b.id);z(b,
-O);E.appendChild(O);B.appendChild(G);G=document.createElement("div");G.className="geCommentTxt";mxUtils.write(G,b.content||"");B.appendChild(G);G=document.createElement("div");G.className="geCommentActions";var I=document.createElement("ul");I.className="geCommentActionsList";G.appendChild(I);x||0!=l&&!n||y(mxResources.get("reply"),function(){A("",!0)},b.isResolved);E=a.getCurrentUser();null==E||E.id!=b.user.id||x||(y(mxResources.get("edit"),function(){function d(){u(b,B,function(){C(B);b.editComment(b.content,
-function(){e(B)},function(b){c(B);d();a.handleError(b,null,null,null,mxUtils.htmlEntities(mxResources.get("objectNotFound")))})})}d()},b.isResolved),y(mxResources.get("delete"),function(){a.confirm(mxResources.get("areYouSure"),function(){C(B);b.deleteComment(function(){for(var a=v(b).replies,c=0;c<a.length;c++)t.removeChild(a[c]);for(c=0;c<d.length;c++)if(d[c]==b){d.splice(c,1);break}D.style.display=0==t.getElementsByTagName("div").length?"block":"none"},function(b){c(B);a.handleError(b,null,null,
-null,mxUtils.htmlEntities(mxResources.get("objectNotFound")))})})},b.isResolved));x||0!=l||y(b.isResolved?mxResources.get("reopen"):mxResources.get("resolve"),function(a){function c(){var c=a.target;c.innerHTML="";b.isResolved=!b.isResolved;mxUtils.write(c,b.isResolved?mxResources.get("reopen"):mxResources.get("resolve"));for(var d=b.isResolved?"none":"",e=v(b).replies,f="dark"==uiTheme?"transparent":b.isResolved?"ghostWhite":"white",g=0;g<e.length;g++){e[g].style.backgroundColor=f;for(var k=e[g].querySelectorAll(".geCommentAction"),
-l=0;l<k.length;l++)k[l]!=c.parentNode&&(k[l].style.display=d);p||(e[g].style.display="none")}q()}b.isResolved?A(mxResources.get("reOpened")+": ",!0,c,!1,!0):A(mxResources.get("markedAsResolved"),!1,c,!0)});B.appendChild(G);null!=f?t.insertBefore(B,f.nextSibling):t.appendChild(B);for(f=0;null!=b.replies&&f<b.replies.length;f++)G=b.replies[f],G.isResolved=b.isResolved,k(G,b.replies,null,l+1,m);null!=g&&(g.comment.id==b.id?(m=b.content,b.content=g.comment.content,u(b,B,g.saveCallback,g.deleteOnCancel),
+var CommentsWindow=function(a,b,e,c,l,m){function q(){for(var a=t.getElementsByTagName("div"),b=0,d=0;d<a.length;d++)"none"!=a[d].style.display&&a[d].parentNode==t&&b++;E.style.display=0==b?"block":"none"}function u(a,b,d,c){function e(){b.removeChild(l);b.removeChild(m);k.style.display="block";f.style.display="block"}g={div:b,comment:a,saveCallback:d,deleteOnCancel:c};var f=b.querySelector(".geCommentTxt"),k=b.querySelector(".geCommentActionsList"),l=document.createElement("textarea");l.className=
+"geCommentEditTxtArea";l.style.minHeight=f.offsetHeight+"px";l.value=a.content;b.insertBefore(l,f);var m=document.createElement("div");m.className="geCommentEditBtns";var n=mxUtils.button(mxResources.get("cancel"),function(){c?(b.parentNode.removeChild(b),q()):e();g=null});n.className="geCommentEditBtn";m.appendChild(n);var p=mxUtils.button(mxResources.get("save"),function(){f.innerHTML="";a.content=l.value;mxUtils.write(f,a.content);e();d(a);g=null});mxEvent.addListener(l,"keydown",mxUtils.bind(this,
+function(a){mxEvent.isConsumed(a)||((mxEvent.isControlDown(a)||mxClient.IS_MAC&&mxEvent.isMetaDown(a))&&13==a.keyCode?(p.click(),mxEvent.consume(a)):27==a.keyCode&&(n.click(),mxEvent.consume(a)))}));p.focus();p.className="geCommentEditBtn gePrimaryBtn";m.appendChild(p);b.insertBefore(m,f);k.style.display="none";f.style.display="none";l.focus()}function z(b,d){d.innerHTML="";var c=new Date(b.modifiedDate),e=a.timeSince(c);null==e&&(e=mxResources.get("lessThanAMinute"));mxUtils.write(d,mxResources.get("timeAgo",
+[e],"{1} ago"));d.setAttribute("title",c.toLocaleDateString()+" "+c.toLocaleTimeString())}function C(a){var b=document.createElement("img");b.className="geCommentBusyImg";b.src=IMAGE_PATH+"/spin.gif";a.appendChild(b);a.busyImg=b}function d(a){a.style.border="1px solid red";a.removeChild(a.busyImg)}function f(a){a.style.border="";a.removeChild(a.busyImg)}function k(b,c,e,l,m){function y(a,d,c){var e=document.createElement("li");e.className="geCommentAction";var f=document.createElement("a");f.className=
+"geCommentActionLnk";mxUtils.write(f,a);e.appendChild(f);mxEvent.addListener(f,"click",function(a){d(a,b);a.preventDefault();mxEvent.consume(a)});I.appendChild(e);c&&(e.style.display="none")}function v(){function a(b){d.push(c);if(null!=b.replies)for(var e=0;e<b.replies.length;e++)c=c.nextSibling,a(b.replies[e])}var d=[],c=B;a(b);return{pdiv:c,replies:d}}function A(c,e,g,m,n){function p(){C(x);b.addReply(t,function(a){t.id=a;b.replies.push(t);f(x);g&&g()},function(b){q();d(x);a.handleError(b,null,
+null,null,mxUtils.htmlEntities(mxResources.get("objectNotFound")))},m,n)}function q(){u(t,x,function(a){p()},!0)}var y=v().pdiv,t=a.newComment(c,a.getCurrentUser());t.pCommentId=b.id;null==b.replies&&(b.replies=[]);var x=k(t,b.replies,y,l+1);e?q():p()}if(m||!b.isResolved){E.style.display="none";var B=document.createElement("div");B.className="geCommentContainer";B.setAttribute("data-commentId",b.id);B.style.marginLeft=20*l+5+"px";b.isResolved&&"dark"!=uiTheme&&(B.style.backgroundColor="ghostWhite");
+var G=document.createElement("div");G.className="geCommentHeader";var D=document.createElement("img");D.className="geCommentUserImg";D.src=b.user.pictureUrl||Editor.userImage;G.appendChild(D);D=document.createElement("div");D.className="geCommentHeaderTxt";G.appendChild(D);var P=document.createElement("div");P.className="geCommentUsername";mxUtils.write(P,b.user.displayName||"");D.appendChild(P);P=document.createElement("div");P.className="geCommentDate";P.setAttribute("data-commentId",b.id);z(b,
+P);D.appendChild(P);B.appendChild(G);G=document.createElement("div");G.className="geCommentTxt";mxUtils.write(G,b.content||"");B.appendChild(G);G=document.createElement("div");G.className="geCommentActions";var I=document.createElement("ul");I.className="geCommentActionsList";G.appendChild(I);x||0!=l&&!n||y(mxResources.get("reply"),function(){A("",!0)},b.isResolved);D=a.getCurrentUser();null==D||D.id!=b.user.id||x||(y(mxResources.get("edit"),function(){function c(){u(b,B,function(){C(B);b.editComment(b.content,
+function(){f(B)},function(b){d(B);c();a.handleError(b,null,null,null,mxUtils.htmlEntities(mxResources.get("objectNotFound")))})})}c()},b.isResolved),y(mxResources.get("delete"),function(){a.confirm(mxResources.get("areYouSure"),function(){C(B);b.deleteComment(function(){for(var a=v(b).replies,d=0;d<a.length;d++)t.removeChild(a[d]);for(d=0;d<c.length;d++)if(c[d]==b){c.splice(d,1);break}E.style.display=0==t.getElementsByTagName("div").length?"block":"none"},function(b){d(B);a.handleError(b,null,null,
+null,mxUtils.htmlEntities(mxResources.get("objectNotFound")))})})},b.isResolved));x||0!=l||y(b.isResolved?mxResources.get("reopen"):mxResources.get("resolve"),function(a){function d(){var d=a.target;d.innerHTML="";b.isResolved=!b.isResolved;mxUtils.write(d,b.isResolved?mxResources.get("reopen"):mxResources.get("resolve"));for(var c=b.isResolved?"none":"",e=v(b).replies,f="dark"==uiTheme?"transparent":b.isResolved?"ghostWhite":"white",g=0;g<e.length;g++){e[g].style.backgroundColor=f;for(var k=e[g].querySelectorAll(".geCommentAction"),
+l=0;l<k.length;l++)k[l]!=d.parentNode&&(k[l].style.display=c);p||(e[g].style.display="none")}q()}b.isResolved?A(mxResources.get("reOpened")+": ",!0,d,!1,!0):A(mxResources.get("markedAsResolved"),!1,d,!0)});B.appendChild(G);null!=e?t.insertBefore(B,e.nextSibling):t.appendChild(B);for(e=0;null!=b.replies&&e<b.replies.length;e++)G=b.replies[e],G.isResolved=b.isResolved,k(G,b.replies,null,l+1,m);null!=g&&(g.comment.id==b.id?(m=b.content,b.content=g.comment.content,u(b,B,g.saveCallback,g.deleteOnCancel),
 b.content=m):null==g.comment.id&&g.comment.pCommentId==b.id&&(t.appendChild(g.div),u(g.comment,g.div,g.saveCallback,g.deleteOnCancel)));return B}}var x=!a.canComment(),n=a.canReplyToReplies(),g=null,A=document.createElement("div");A.className="geCommentsWin";A.style.background="white"==Dialog.backdropColor?"whiteSmoke":Dialog.backdropColor;var v=EditorUi.compactUi?"26px":"30px",t=document.createElement("div");t.className="geCommentsList";t.style.backgroundColor="white"==Dialog.backdropColor?"whiteSmoke":
-Dialog.backdropColor;t.style.bottom=parseInt(v)+7+"px";A.appendChild(t);var D=document.createElement("span");D.style.cssText="display:none;padding-top:10px;text-align:center;";mxUtils.write(D,mxResources.get("noCommentsFound"));var y=document.createElement("div");y.className="geToolbarContainer geCommentsToolbar";y.style.height=v;y.style.padding=EditorUi.compactUi?"4px 0px 3px 0px":"1px";y.style.backgroundColor="white"==Dialog.backdropColor?"whiteSmoke":Dialog.backdropColor;mxClient.IS_QUIRKS&&(y.style.filter=
-"none");v=document.createElement("a");v.className="geButton";mxClient.IS_QUIRKS&&(v.style.filter="none");if(!x){var E=v.cloneNode();E.innerHTML='<div class="geSprite geSprite-plus" style="display:inline-block;"></div>';E.setAttribute("title",mxResources.get("create")+"...");mxEvent.addListener(E,"click",function(b){function d(){u(f,g,function(b){C(g);a.addComment(b,function(a){b.id=a;B.push(b);e(g)},function(b){c(g);d();a.handleError(b,null,null,null,mxUtils.htmlEntities(mxResources.get("objectNotFound")))})},
-!0)}var f=a.newComment("",a.getCurrentUser()),g=k(f,B,null,0);d();b.preventDefault();mxEvent.consume(b)});y.appendChild(E)}E=v.cloneNode();E.innerHTML='<img src="'+IMAGE_PATH+'/check.png" style="width: 16px; padding: 2px;">';E.setAttribute("title",mxResources.get("showResolved"));var p=!1;"dark"==uiTheme&&(E.style.filter="invert(100%)");mxEvent.addListener(E,"click",function(a){this.className=(p=!p)?"geButton geCheckedBtn":"geButton";L();a.preventDefault();mxEvent.consume(a)});y.appendChild(E);a.commentsRefreshNeeded()&&
-(E=v.cloneNode(),E.innerHTML='<img src="'+IMAGE_PATH+'/update16.png" style="width: 16px; padding: 2px;">',E.setAttribute("title",mxResources.get("refresh")),"dark"==uiTheme&&(E.style.filter="invert(100%)"),mxEvent.addListener(E,"click",function(a){L();a.preventDefault();mxEvent.consume(a)}),y.appendChild(E));a.commentsSaveNeeded()&&(v=v.cloneNode(),v.innerHTML='<img src="'+IMAGE_PATH+'/save.png" style="width: 20px; padding: 2px;">',v.setAttribute("title",mxResources.get("save")),"dark"==uiTheme&&
-(v.style.filter="invert(100%)"),mxEvent.addListener(v,"click",function(a){m();a.preventDefault();mxEvent.consume(a)}),y.appendChild(v));A.appendChild(y);var B=[],L=mxUtils.bind(this,function(){this.hasError=!1;if(null!=g)try{g.div=g.div.cloneNode(!0);var b=g.div.querySelector(".geCommentEditTxtArea"),c=g.div.querySelector(".geCommentEditBtns");g.comment.content=b.value;b.parentNode.removeChild(b);c.parentNode.removeChild(c)}catch(F){a.handleError(F)}t.innerHTML='<div style="padding-top:10px;text-align:center;"><img src="'+
-IMAGE_PATH+'/spin.gif" valign="middle"> '+mxUtils.htmlEntities(mxResources.get("loading"))+"...</div>";n=a.canReplyToReplies();a.commentsSupported()?a.getComments(function(a){function b(a){if(null!=a){a.sort(function(a,b){return new Date(a.modifiedDate)-new Date(b.modifiedDate)});for(var c=0;c<a.length;c++)b(a[c].replies)}}a.sort(function(a,b){return new Date(a.modifiedDate)-new Date(b.modifiedDate)});t.innerHTML="";t.appendChild(D);D.style.display="block";B=a;for(a=0;a<B.length;a++)b(B[a].replies),
-k(B[a],B,null,0,p);null!=g&&null==g.comment.id&&null==g.comment.pCommentId&&(t.appendChild(g.div),u(g.comment,g.div,g.saveCallback,g.deleteOnCancel))},mxUtils.bind(this,function(a){t.innerHTML=mxUtils.htmlEntities(mxResources.get("error")+(a&&a.message?": "+a.message:""));this.hasError=!0})):t.innerHTML=mxUtils.htmlEntities(mxResources.get("error"))});L();this.refreshComments=L;y=mxUtils.bind(this,function(){function a(b){var d=c[b.id];if(null!=d)for(z(b,d),d=0;null!=b.replies&&d<b.replies.length;d++)a(b.replies[d])}
-if(this.window.isVisible()){for(var b=t.querySelectorAll(".geCommentDate"),c={},d=0;d<b.length;d++){var e=b[d];c[e.getAttribute("data-commentId")]=e}for(d=0;d<B.length;d++)a(B[d])}});setInterval(y,6E4);this.refreshCommentsTime=y;this.window=new mxWindow(mxResources.get("comments"),A,b,f,d,l,!0,!0);this.window.minimumSize=new mxRectangle(0,0,300,200);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!0);this.window.setClosable(!0);this.window.setVisible(!0);this.window.addListener(mxEvent.SHOW,
-mxUtils.bind(this,function(){this.window.fit()}));this.window.setLocation=function(a,b){var c=window.innerHeight||document.body.clientHeight||document.documentElement.clientHeight;a=Math.max(0,Math.min(a,(window.innerWidth||document.body.clientWidth||document.documentElement.clientWidth)-this.table.clientWidth));b=Math.max(0,Math.min(b,c-this.table.clientHeight-48));this.getX()==a&&this.getY()==b||mxWindow.prototype.setLocation.apply(this,arguments)};var P=mxUtils.bind(this,function(){var a=this.window.getX(),
-b=this.window.getY();this.window.setLocation(a,b)});mxEvent.addListener(window,"resize",P);this.destroy=function(){mxEvent.removeListener(window,"resize",P);this.window.destroy()}},ConfirmDialog=function(a,b,f,d,l,m,q,u,z,C,c){var e=document.createElement("div");e.style.textAlign="center";c=null!=c?c:44;var k=document.createElement("div");k.style.padding="6px";k.style.overflow="auto";k.style.maxHeight=c+"px";k.style.lineHeight="1.2em";mxClient.IS_QUIRKS&&(k.style.height="60px");mxUtils.write(k,b);
-e.appendChild(k);null!=C&&(k=document.createElement("div"),k.style.padding="6px 0 6px 0",b=document.createElement("img"),b.setAttribute("src",C),k.appendChild(b),e.appendChild(k));C=document.createElement("div");C.style.textAlign="center";C.style.whiteSpace="nowrap";var x=document.createElement("input");x.setAttribute("type","checkbox");m=mxUtils.button(m||mxResources.get("cancel"),function(){a.hideDialog();null!=d&&d(x.checked)});m.className="geBtn";null!=u&&(m.innerHTML=u+"<br>"+m.innerHTML,m.style.paddingBottom=
-"8px",m.style.paddingTop="8px",m.style.height="auto",m.style.width="40%");a.editor.cancelFirst&&C.appendChild(m);var n=mxUtils.button(l||mxResources.get("ok"),function(){a.hideDialog();null!=f&&f(x.checked)});C.appendChild(n);null!=q?(n.innerHTML=q+"<br>"+n.innerHTML+"<br>",n.style.paddingBottom="8px",n.style.paddingTop="8px",n.style.height="auto",n.className="geBtn",n.style.width="40%"):n.className="geBtn gePrimaryBtn";a.editor.cancelFirst||C.appendChild(m);e.appendChild(C);z?(C.style.marginTop=
-"10px",k=document.createElement("p"),k.style.marginTop="20px",k.appendChild(x),l=document.createElement("span"),mxUtils.write(l," "+mxResources.get("rememberThisSetting")),k.appendChild(l),e.appendChild(k),mxEvent.addListener(l,"click",function(a){x.checked=!x.checked;mxEvent.consume(a)})):C.style.marginTop="12px";this.init=function(){n.focus()};this.container=e};function DiagramPage(a,b){this.node=a;null!=b?this.node.setAttribute("id",b):null==this.getId()&&this.node.setAttribute("id",Editor.guid())}DiagramPage.prototype.node=null;DiagramPage.prototype.root=null;DiagramPage.prototype.viewState=null;DiagramPage.prototype.getId=function(){return this.node.getAttribute("id")};DiagramPage.prototype.getName=function(){return this.node.getAttribute("name")};
-DiagramPage.prototype.setName=function(a){null==a?this.node.removeAttribute("name"):this.node.setAttribute("name",a)};function RenamePage(a,b,f){this.ui=a;this.page=b;this.previous=this.name=f}RenamePage.prototype.execute=function(){var a=this.page.getName();this.page.setName(this.previous);this.name=this.previous;this.previous=a;this.ui.editor.graph.updatePlaceholders();this.ui.editor.fireEvent(new mxEventObject("pageRenamed"))};
-function MovePage(a,b,f){this.ui=a;this.oldIndex=b;this.newIndex=f}MovePage.prototype.execute=function(){this.ui.pages.splice(this.newIndex,0,this.ui.pages.splice(this.oldIndex,1)[0]);var a=this.oldIndex;this.oldIndex=this.newIndex;this.newIndex=a;this.ui.editor.graph.updatePlaceholders();this.ui.editor.fireEvent(new mxEventObject("pageMoved"))};
-function SelectPage(a,b,f){this.ui=a;this.previousPage=this.page=b;this.neverShown=!0;null!=b&&(this.neverShown=null==b.viewState,this.ui.updatePageRoot(b),null!=f&&(b.viewState=f,this.neverShown=!1))}
-SelectPage.prototype.execute=function(){var a=mxUtils.indexOf(this.ui.pages,this.previousPage);if(null!=this.page&&0<=a){var a=this.ui.currentPage,b=this.ui.editor,f=b.graph,d=Graph.compressNode(b.getGraphXml(!0));mxUtils.setTextContent(a.node,d);a.viewState=f.getViewState();a.root=f.model.root;null!=a.model&&a.model.rootChanged(a.root);f.view.clear(a.root,!0);f.clearSelection();this.ui.currentPage=this.previousPage;this.previousPage=a;a=this.ui.currentPage;f.model.prefix=Editor.guid()+"-";f.model.rootChanged(a.root);
-f.setViewState(a.viewState);f.gridEnabled=f.gridEnabled&&(!this.ui.editor.isChromelessView()||"1"==urlParams.grid);b.updateGraphComponents();f.view.validate();f.blockMathRender=!0;f.sizeDidChange();f.blockMathRender=!1;this.neverShown&&(this.neverShown=!1,f.selectUnlockedLayer());b.graph.fireEvent(new mxEventObject(mxEvent.ROOT));b.fireEvent(new mxEventObject("pageSelected","change",this))}};
-function ChangePage(a,b,f,d,l){SelectPage.call(this,a,f);this.relatedPage=b;this.index=d;this.previousIndex=null;this.noSelect=l}mxUtils.extend(ChangePage,SelectPage);
+Dialog.backdropColor;t.style.bottom=parseInt(v)+7+"px";A.appendChild(t);var E=document.createElement("span");E.style.cssText="display:none;padding-top:10px;text-align:center;";mxUtils.write(E,mxResources.get("noCommentsFound"));var y=document.createElement("div");y.className="geToolbarContainer geCommentsToolbar";y.style.height=v;y.style.padding=EditorUi.compactUi?"4px 0px 3px 0px":"1px";y.style.backgroundColor="white"==Dialog.backdropColor?"whiteSmoke":Dialog.backdropColor;mxClient.IS_QUIRKS&&(y.style.filter=
+"none");v=document.createElement("a");v.className="geButton";mxClient.IS_QUIRKS&&(v.style.filter="none");if(!x){var D=v.cloneNode();D.innerHTML='<div class="geSprite geSprite-plus" style="display:inline-block;"></div>';D.setAttribute("title",mxResources.get("create")+"...");mxEvent.addListener(D,"click",function(b){function c(){u(e,g,function(b){C(g);a.addComment(b,function(a){b.id=a;B.push(b);f(g)},function(b){d(g);c();a.handleError(b,null,null,null,mxUtils.htmlEntities(mxResources.get("objectNotFound")))})},
+!0)}var e=a.newComment("",a.getCurrentUser()),g=k(e,B,null,0);c();b.preventDefault();mxEvent.consume(b)});y.appendChild(D)}D=v.cloneNode();D.innerHTML='<img src="'+IMAGE_PATH+'/check.png" style="width: 16px; padding: 2px;">';D.setAttribute("title",mxResources.get("showResolved"));var p=!1;"dark"==uiTheme&&(D.style.filter="invert(100%)");mxEvent.addListener(D,"click",function(a){this.className=(p=!p)?"geButton geCheckedBtn":"geButton";K();a.preventDefault();mxEvent.consume(a)});y.appendChild(D);a.commentsRefreshNeeded()&&
+(D=v.cloneNode(),D.innerHTML='<img src="'+IMAGE_PATH+'/update16.png" style="width: 16px; padding: 2px;">',D.setAttribute("title",mxResources.get("refresh")),"dark"==uiTheme&&(D.style.filter="invert(100%)"),mxEvent.addListener(D,"click",function(a){K();a.preventDefault();mxEvent.consume(a)}),y.appendChild(D));a.commentsSaveNeeded()&&(v=v.cloneNode(),v.innerHTML='<img src="'+IMAGE_PATH+'/save.png" style="width: 20px; padding: 2px;">',v.setAttribute("title",mxResources.get("save")),"dark"==uiTheme&&
+(v.style.filter="invert(100%)"),mxEvent.addListener(v,"click",function(a){m();a.preventDefault();mxEvent.consume(a)}),y.appendChild(v));A.appendChild(y);var B=[],K=mxUtils.bind(this,function(){this.hasError=!1;if(null!=g)try{g.div=g.div.cloneNode(!0);var b=g.div.querySelector(".geCommentEditTxtArea"),d=g.div.querySelector(".geCommentEditBtns");g.comment.content=b.value;b.parentNode.removeChild(b);d.parentNode.removeChild(d)}catch(F){a.handleError(F)}t.innerHTML='<div style="padding-top:10px;text-align:center;"><img src="'+
+IMAGE_PATH+'/spin.gif" valign="middle"> '+mxUtils.htmlEntities(mxResources.get("loading"))+"...</div>";n=a.canReplyToReplies();a.commentsSupported()?a.getComments(function(a){function b(a){if(null!=a){a.sort(function(a,b){return new Date(a.modifiedDate)-new Date(b.modifiedDate)});for(var d=0;d<a.length;d++)b(a[d].replies)}}a.sort(function(a,b){return new Date(a.modifiedDate)-new Date(b.modifiedDate)});t.innerHTML="";t.appendChild(E);E.style.display="block";B=a;for(a=0;a<B.length;a++)b(B[a].replies),
+k(B[a],B,null,0,p);null!=g&&null==g.comment.id&&null==g.comment.pCommentId&&(t.appendChild(g.div),u(g.comment,g.div,g.saveCallback,g.deleteOnCancel))},mxUtils.bind(this,function(a){t.innerHTML=mxUtils.htmlEntities(mxResources.get("error")+(a&&a.message?": "+a.message:""));this.hasError=!0})):t.innerHTML=mxUtils.htmlEntities(mxResources.get("error"))});K();this.refreshComments=K;y=mxUtils.bind(this,function(){function a(b){var c=d[b.id];if(null!=c)for(z(b,c),c=0;null!=b.replies&&c<b.replies.length;c++)a(b.replies[c])}
+if(this.window.isVisible()){for(var b=t.querySelectorAll(".geCommentDate"),d={},c=0;c<b.length;c++){var e=b[c];d[e.getAttribute("data-commentId")]=e}for(c=0;c<B.length;c++)a(B[c])}});setInterval(y,6E4);this.refreshCommentsTime=y;this.window=new mxWindow(mxResources.get("comments"),A,b,e,c,l,!0,!0);this.window.minimumSize=new mxRectangle(0,0,300,200);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!0);this.window.setClosable(!0);this.window.setVisible(!0);this.window.addListener(mxEvent.SHOW,
+mxUtils.bind(this,function(){this.window.fit()}));this.window.setLocation=function(a,b){var d=window.innerHeight||document.body.clientHeight||document.documentElement.clientHeight;a=Math.max(0,Math.min(a,(window.innerWidth||document.body.clientWidth||document.documentElement.clientWidth)-this.table.clientWidth));b=Math.max(0,Math.min(b,d-this.table.clientHeight-48));this.getX()==a&&this.getY()==b||mxWindow.prototype.setLocation.apply(this,arguments)};var M=mxUtils.bind(this,function(){var a=this.window.getX(),
+b=this.window.getY();this.window.setLocation(a,b)});mxEvent.addListener(window,"resize",M);this.destroy=function(){mxEvent.removeListener(window,"resize",M);this.window.destroy()}},ConfirmDialog=function(a,b,e,c,l,m,q,u,z,C,d){var f=document.createElement("div");f.style.textAlign="center";d=null!=d?d:44;var k=document.createElement("div");k.style.padding="6px";k.style.overflow="auto";k.style.maxHeight=d+"px";k.style.lineHeight="1.2em";mxClient.IS_QUIRKS&&(k.style.height="60px");mxUtils.write(k,b);
+f.appendChild(k);null!=C&&(k=document.createElement("div"),k.style.padding="6px 0 6px 0",b=document.createElement("img"),b.setAttribute("src",C),k.appendChild(b),f.appendChild(k));C=document.createElement("div");C.style.textAlign="center";C.style.whiteSpace="nowrap";var x=document.createElement("input");x.setAttribute("type","checkbox");m=mxUtils.button(m||mxResources.get("cancel"),function(){a.hideDialog();null!=c&&c(x.checked)});m.className="geBtn";null!=u&&(m.innerHTML=u+"<br>"+m.innerHTML,m.style.paddingBottom=
+"8px",m.style.paddingTop="8px",m.style.height="auto",m.style.width="40%");a.editor.cancelFirst&&C.appendChild(m);var n=mxUtils.button(l||mxResources.get("ok"),function(){a.hideDialog();null!=e&&e(x.checked)});C.appendChild(n);null!=q?(n.innerHTML=q+"<br>"+n.innerHTML+"<br>",n.style.paddingBottom="8px",n.style.paddingTop="8px",n.style.height="auto",n.className="geBtn",n.style.width="40%"):n.className="geBtn gePrimaryBtn";a.editor.cancelFirst||C.appendChild(m);f.appendChild(C);z?(C.style.marginTop=
+"10px",k=document.createElement("p"),k.style.marginTop="20px",k.appendChild(x),l=document.createElement("span"),mxUtils.write(l," "+mxResources.get("rememberThisSetting")),k.appendChild(l),f.appendChild(k),mxEvent.addListener(l,"click",function(a){x.checked=!x.checked;mxEvent.consume(a)})):C.style.marginTop="12px";this.init=function(){n.focus()};this.container=f};function DiagramPage(a,b){this.node=a;null!=b?this.node.setAttribute("id",b):null==this.getId()&&this.node.setAttribute("id",Editor.guid())}DiagramPage.prototype.node=null;DiagramPage.prototype.root=null;DiagramPage.prototype.viewState=null;DiagramPage.prototype.getId=function(){return this.node.getAttribute("id")};DiagramPage.prototype.getName=function(){return this.node.getAttribute("name")};
+DiagramPage.prototype.setName=function(a){null==a?this.node.removeAttribute("name"):this.node.setAttribute("name",a)};function RenamePage(a,b,e){this.ui=a;this.page=b;this.previous=this.name=e}RenamePage.prototype.execute=function(){var a=this.page.getName();this.page.setName(this.previous);this.name=this.previous;this.previous=a;this.ui.editor.graph.updatePlaceholders();this.ui.editor.fireEvent(new mxEventObject("pageRenamed"))};
+function MovePage(a,b,e){this.ui=a;this.oldIndex=b;this.newIndex=e}MovePage.prototype.execute=function(){this.ui.pages.splice(this.newIndex,0,this.ui.pages.splice(this.oldIndex,1)[0]);var a=this.oldIndex;this.oldIndex=this.newIndex;this.newIndex=a;this.ui.editor.graph.updatePlaceholders();this.ui.editor.fireEvent(new mxEventObject("pageMoved"))};
+function SelectPage(a,b,e){this.ui=a;this.previousPage=this.page=b;this.neverShown=!0;null!=b&&(this.neverShown=null==b.viewState,this.ui.updatePageRoot(b),null!=e&&(b.viewState=e,this.neverShown=!1))}
+SelectPage.prototype.execute=function(){var a=mxUtils.indexOf(this.ui.pages,this.previousPage);if(null!=this.page&&0<=a){var a=this.ui.currentPage,b=this.ui.editor,e=b.graph,c=Graph.compressNode(b.getGraphXml(!0));mxUtils.setTextContent(a.node,c);a.viewState=e.getViewState();a.root=e.model.root;null!=a.model&&a.model.rootChanged(a.root);e.view.clear(a.root,!0);e.clearSelection();this.ui.currentPage=this.previousPage;this.previousPage=a;a=this.ui.currentPage;e.model.prefix=Editor.guid()+"-";e.model.rootChanged(a.root);
+e.setViewState(a.viewState);e.gridEnabled=e.gridEnabled&&(!this.ui.editor.isChromelessView()||"1"==urlParams.grid);b.updateGraphComponents();e.view.validate();e.blockMathRender=!0;e.sizeDidChange();e.blockMathRender=!1;this.neverShown&&(this.neverShown=!1,e.selectUnlockedLayer());b.graph.fireEvent(new mxEventObject(mxEvent.ROOT));b.fireEvent(new mxEventObject("pageSelected","change",this))}};
+function ChangePage(a,b,e,c,l){SelectPage.call(this,a,e);this.relatedPage=b;this.index=c;this.previousIndex=null;this.noSelect=l}mxUtils.extend(ChangePage,SelectPage);
 ChangePage.prototype.execute=function(){this.ui.editor.fireEvent(new mxEventObject("beforePageChange","change",this));this.previousIndex=this.index;if(null==this.index){var a=mxUtils.indexOf(this.ui.pages,this.relatedPage);this.ui.pages.splice(a,1);this.index=a}else this.ui.pages.splice(this.index,0,this.relatedPage),this.index=null;this.noSelect||SelectPage.prototype.execute.apply(this,arguments)};EditorUi.prototype.tabContainerHeight=38;
 EditorUi.prototype.getSelectedPageIndex=function(){var a=null;if(null!=this.pages&&null!=this.currentPage)for(var b=0;b<this.pages.length;b++)if(this.pages[b]==this.currentPage){a=b;break}return a};EditorUi.prototype.getPageById=function(a){if(null!=this.pages)for(var b=0;b<this.pages.length;b++)if(this.pages[b].getId()==a)return this.pages[b];return null};
-EditorUi.prototype.initPages=function(){if(!this.editor.graph.standalone){this.actions.addAction("previousPage",mxUtils.bind(this,function(){this.selectNextPage(!1)}));this.actions.addAction("nextPage",mxUtils.bind(this,function(){this.selectNextPage(!0)}));this.keyHandler.bindAction(33,!0,"previousPage",!0);this.keyHandler.bindAction(34,!0,"nextPage",!0);var a=this.editor.graph,b=a.view.validateBackground;a.view.validateBackground=mxUtils.bind(this,function(){if(null!=this.tabContainer){var d=this.tabContainer.style.height;
-this.tabContainer.style.height=null==this.fileNode||null==this.pages||1==this.pages.length&&"0"==urlParams.pages?"0px":this.tabContainerHeight+"px";d!=this.tabContainer.style.height&&this.refresh(!1)}b.apply(a.view,arguments)});var f=null,d=mxUtils.bind(this,function(){this.updateTabContainer();var b=this.currentPage;null!=b&&b!=f&&(null==b.viewState||null==b.viewState.scrollLeft?(this.resetScrollbars(),a.isLightboxView()&&this.lightboxFit(),null!=this.chromelessResize&&(a.container.scrollLeft=0,
-a.container.scrollTop=0,this.chromelessResize())):(a.container.scrollLeft=a.view.translate.x*a.view.scale+b.viewState.scrollLeft,a.container.scrollTop=a.view.translate.y*a.view.scale+b.viewState.scrollTop),f=b);null!=this.actions.layersWindow&&this.actions.layersWindow.refreshLayers();"undefined"!==typeof MathJax&&"undefined"!==typeof MathJax.Hub?1!=MathJax.Hub.queue.pending||null==this.editor||this.editor.graph.mathEnabled||MathJax.Hub.Queue(mxUtils.bind(this,function(){null!=this.editor&&this.editor.graph.refresh()})):
-"undefined"===typeof Editor.MathJaxClear||null!=this.editor&&this.editor.graph.mathEnabled||Editor.MathJaxClear()});this.editor.graph.model.addListener(mxEvent.CHANGE,mxUtils.bind(this,function(a,b){for(var f=b.getProperty("edit").changes,l=0;l<f.length;l++)if(f[l]instanceof SelectPage||f[l]instanceof RenamePage||f[l]instanceof MovePage||f[l]instanceof mxRootChange){d();break}}));null!=this.toolbar&&this.editor.addListener("pageSelected",this.toolbar.updateZoom)}};
-EditorUi.prototype.restoreViewState=function(a,b,f){a=null!=a?this.getPageById(a.getId()):null;var d=this.editor.graph;null!=a&&null!=this.currentPage&&null!=this.pages&&(a!=this.currentPage?this.selectPage(a,!0,b):(d.setViewState(b),this.editor.updateGraphComponents(),d.view.revalidate(),d.sizeDidChange()),d.container.scrollLeft=d.view.translate.x*d.view.scale+b.scrollLeft,d.container.scrollTop=d.view.translate.y*d.view.scale+b.scrollTop,d.restoreSelection(f))};
-Graph.prototype.createViewState=function(a){var b=a.getAttribute("page"),f=parseFloat(a.getAttribute("pageScale")),d=parseFloat(a.getAttribute("pageWidth")),l=parseFloat(a.getAttribute("pageHeight")),m=a.getAttribute("background"),q=a.getAttribute("backgroundImage"),q=null!=q&&0<q.length?JSON.parse(q):null,u=a.getAttribute("extFonts");if(u)try{u=u.split("|").map(function(a){a=a.split("^");return{name:a[0],url:a[1]}})}catch(z){console.log("ExtFonts format error: "+z.message)}return{gridEnabled:"0"!=
-a.getAttribute("grid"),gridSize:parseFloat(a.getAttribute("gridSize"))||mxGraph.prototype.gridSize,guidesEnabled:"0"!=a.getAttribute("guides"),foldingEnabled:"0"!=a.getAttribute("fold"),shadowVisible:"1"==a.getAttribute("shadow"),pageVisible:this.isLightboxView()?!1:null!=b?"0"!=b:this.defaultPageVisible,background:null!=m&&0<m.length?m:null,backgroundImage:null!=q?new mxImage(q.src,q.width,q.height):null,pageScale:isNaN(f)?mxGraph.prototype.pageScale:f,pageFormat:isNaN(d)||isNaN(l)?"undefined"===
-typeof mxSettings?mxGraph.prototype.pageFormat:mxSettings.getPageFormat():new mxRectangle(0,0,d,l),tooltips:"0"!=a.getAttribute("tooltips"),connect:"0"!=a.getAttribute("connect"),arrows:"0"!=a.getAttribute("arrows"),mathEnabled:"1"==a.getAttribute("math"),selectionCells:null,defaultParent:null,scrollbars:this.defaultScrollbars,scale:1,extFonts:u||[]}};
-Graph.prototype.saveViewState=function(a,b,f){f||(b.setAttribute("grid",null==a||a.gridEnabled?"1":"0"),b.setAttribute("gridSize",null!=a?a.gridSize:mxGraph.prototype.gridSize),b.setAttribute("guides",null==a||a.guidesEnabled?"1":"0"),b.setAttribute("tooltips",null==a||a.tooltips?"1":"0"),b.setAttribute("connect",null==a||a.connect?"1":"0"),b.setAttribute("arrows",null==a||a.arrows?"1":"0"),b.setAttribute("page",null==a&&this.defaultPageVisible||null!=a&&a.pageVisible?"1":"0"),b.setAttribute("fold",
-null==a||a.foldingEnabled?"1":"0"));b.setAttribute("pageScale",null!=a&&null!=a.pageScale?a.pageScale:mxGraph.prototype.pageScale);f=null!=a?a.pageFormat:"undefined"===typeof mxSettings?mxGraph.prototype.pageFormat:mxSettings.getPageFormat();null!=f&&(b.setAttribute("pageWidth",f.width),b.setAttribute("pageHeight",f.height));null!=a&&null!=a.background&&b.setAttribute("background",a.background);null!=a&&null!=a.backgroundImage&&b.setAttribute("backgroundImage",JSON.stringify(a.backgroundImage));b.setAttribute("math",
+EditorUi.prototype.initPages=function(){if(!this.editor.graph.standalone){this.actions.addAction("previousPage",mxUtils.bind(this,function(){this.selectNextPage(!1)}));this.actions.addAction("nextPage",mxUtils.bind(this,function(){this.selectNextPage(!0)}));this.keyHandler.bindAction(33,!0,"previousPage",!0);this.keyHandler.bindAction(34,!0,"nextPage",!0);var a=this.editor.graph,b=a.view.validateBackground;a.view.validateBackground=mxUtils.bind(this,function(){if(null!=this.tabContainer){var c=this.tabContainer.style.height;
+this.tabContainer.style.height=null==this.fileNode||null==this.pages||1==this.pages.length&&"0"==urlParams.pages?"0px":this.tabContainerHeight+"px";c!=this.tabContainer.style.height&&this.refresh(!1)}b.apply(a.view,arguments)});var e=null,c=mxUtils.bind(this,function(){this.updateTabContainer();var b=this.currentPage;null!=b&&b!=e&&(null==b.viewState||null==b.viewState.scrollLeft?(this.resetScrollbars(),a.isLightboxView()&&this.lightboxFit(),null!=this.chromelessResize&&(a.container.scrollLeft=0,
+a.container.scrollTop=0,this.chromelessResize())):(a.container.scrollLeft=a.view.translate.x*a.view.scale+b.viewState.scrollLeft,a.container.scrollTop=a.view.translate.y*a.view.scale+b.viewState.scrollTop),e=b);null!=this.actions.layersWindow&&this.actions.layersWindow.refreshLayers();"undefined"!==typeof MathJax&&"undefined"!==typeof MathJax.Hub?1!=MathJax.Hub.queue.pending||null==this.editor||this.editor.graph.mathEnabled||MathJax.Hub.Queue(mxUtils.bind(this,function(){null!=this.editor&&this.editor.graph.refresh()})):
+"undefined"===typeof Editor.MathJaxClear||null!=this.editor&&this.editor.graph.mathEnabled||Editor.MathJaxClear()});this.editor.graph.model.addListener(mxEvent.CHANGE,mxUtils.bind(this,function(a,b){for(var e=b.getProperty("edit").changes,l=0;l<e.length;l++)if(e[l]instanceof SelectPage||e[l]instanceof RenamePage||e[l]instanceof MovePage||e[l]instanceof mxRootChange){c();break}}));null!=this.toolbar&&this.editor.addListener("pageSelected",this.toolbar.updateZoom)}};
+EditorUi.prototype.restoreViewState=function(a,b,e){a=null!=a?this.getPageById(a.getId()):null;var c=this.editor.graph;null!=a&&null!=this.currentPage&&null!=this.pages&&(a!=this.currentPage?this.selectPage(a,!0,b):(c.setViewState(b),this.editor.updateGraphComponents(),c.view.revalidate(),c.sizeDidChange()),c.container.scrollLeft=c.view.translate.x*c.view.scale+b.scrollLeft,c.container.scrollTop=c.view.translate.y*c.view.scale+b.scrollTop,c.restoreSelection(e))};
+Graph.prototype.createViewState=function(a){var b=a.getAttribute("page"),e=parseFloat(a.getAttribute("pageScale")),c=parseFloat(a.getAttribute("pageWidth")),l=parseFloat(a.getAttribute("pageHeight")),m=a.getAttribute("background"),q=a.getAttribute("backgroundImage"),q=null!=q&&0<q.length?JSON.parse(q):null,u=a.getAttribute("extFonts");if(u)try{u=u.split("|").map(function(a){a=a.split("^");return{name:a[0],url:a[1]}})}catch(z){console.log("ExtFonts format error: "+z.message)}return{gridEnabled:"0"!=
+a.getAttribute("grid"),gridSize:parseFloat(a.getAttribute("gridSize"))||mxGraph.prototype.gridSize,guidesEnabled:"0"!=a.getAttribute("guides"),foldingEnabled:"0"!=a.getAttribute("fold"),shadowVisible:"1"==a.getAttribute("shadow"),pageVisible:this.isLightboxView()?!1:null!=b?"0"!=b:this.defaultPageVisible,background:null!=m&&0<m.length?m:null,backgroundImage:null!=q?new mxImage(q.src,q.width,q.height):null,pageScale:isNaN(e)?mxGraph.prototype.pageScale:e,pageFormat:isNaN(c)||isNaN(l)?"undefined"===
+typeof mxSettings?mxGraph.prototype.pageFormat:mxSettings.getPageFormat():new mxRectangle(0,0,c,l),tooltips:"0"!=a.getAttribute("tooltips"),connect:"0"!=a.getAttribute("connect"),arrows:"0"!=a.getAttribute("arrows"),mathEnabled:"1"==a.getAttribute("math"),selectionCells:null,defaultParent:null,scrollbars:this.defaultScrollbars,scale:1,extFonts:u||[]}};
+Graph.prototype.saveViewState=function(a,b,e){e||(b.setAttribute("grid",null==a||a.gridEnabled?"1":"0"),b.setAttribute("gridSize",null!=a?a.gridSize:mxGraph.prototype.gridSize),b.setAttribute("guides",null==a||a.guidesEnabled?"1":"0"),b.setAttribute("tooltips",null==a||a.tooltips?"1":"0"),b.setAttribute("connect",null==a||a.connect?"1":"0"),b.setAttribute("arrows",null==a||a.arrows?"1":"0"),b.setAttribute("page",null==a&&this.defaultPageVisible||null!=a&&a.pageVisible?"1":"0"),b.setAttribute("fold",
+null==a||a.foldingEnabled?"1":"0"));b.setAttribute("pageScale",null!=a&&null!=a.pageScale?a.pageScale:mxGraph.prototype.pageScale);e=null!=a?a.pageFormat:"undefined"===typeof mxSettings?mxGraph.prototype.pageFormat:mxSettings.getPageFormat();null!=e&&(b.setAttribute("pageWidth",e.width),b.setAttribute("pageHeight",e.height));null!=a&&null!=a.background&&b.setAttribute("background",a.background);null!=a&&null!=a.backgroundImage&&b.setAttribute("backgroundImage",JSON.stringify(a.backgroundImage));b.setAttribute("math",
 null!=a&&a.mathEnabled?"1":"0");b.setAttribute("shadow",null!=a&&a.shadowVisible?"1":"0");null!=a&&null!=a.extFonts&&0<a.extFonts.length&&b.setAttribute("extFonts",a.extFonts.map(function(a){return a.name+"^"+a.url}).join("|"))};
 Graph.prototype.getViewState=function(){return{defaultParent:this.defaultParent,currentRoot:this.view.currentRoot,gridEnabled:this.gridEnabled,gridSize:this.gridSize,guidesEnabled:this.graphHandler.guidesEnabled,foldingEnabled:this.foldingEnabled,shadowVisible:this.shadowVisible,scrollbars:this.scrollbars,pageVisible:this.pageVisible,background:this.background,backgroundImage:this.backgroundImage,pageScale:this.pageScale,pageFormat:this.pageFormat,tooltips:this.tooltipHandler.isEnabled(),connect:this.connectionHandler.isEnabled(),
 arrows:this.connectionArrowsEnabled,scale:this.view.scale,scrollLeft:this.container.scrollLeft-this.view.translate.x*this.view.scale,scrollTop:this.container.scrollTop-this.view.translate.y*this.view.scale,translate:this.view.translate.clone(),lastPasteXml:this.lastPasteXml,pasteCounter:this.pasteCounter,mathEnabled:this.mathEnabled,extFonts:this.extFonts}};
 Graph.prototype.setViewState=function(a,b){if(null!=a){this.lastPasteXml=a.lastPasteXml;this.pasteCounter=a.pasteCounter||0;this.mathEnabled=a.mathEnabled;this.gridEnabled=a.gridEnabled;this.gridSize=a.gridSize;this.graphHandler.guidesEnabled=a.guidesEnabled;this.foldingEnabled=a.foldingEnabled;this.setShadowVisible(a.shadowVisible,!1);this.scrollbars=a.scrollbars;this.pageVisible=!this.isViewer()&&a.pageVisible;this.background=a.background;this.backgroundImage=a.backgroundImage;this.pageScale=a.pageScale;
-this.pageFormat=a.pageFormat;this.view.currentRoot=a.currentRoot;this.defaultParent=a.defaultParent;this.connectionArrowsEnabled=a.arrows;this.setTooltips(a.tooltips);this.setConnectable(a.connect);var f=this.extFonts;this.extFonts=a.extFonts||[];if(b&&null!=f)for(var d=0;d<f.length;d++){var l=document.getElementById("extFont_"+f[d].name);null!=l&&l.parentNode.removeChild(l)}for(d=0;d<this.extFonts.length;d++)this.addExtFont(this.extFonts[d].name,this.extFonts[d].url,!0);this.view.scale=null!=a.scale?
+this.pageFormat=a.pageFormat;this.view.currentRoot=a.currentRoot;this.defaultParent=a.defaultParent;this.connectionArrowsEnabled=a.arrows;this.setTooltips(a.tooltips);this.setConnectable(a.connect);var e=this.extFonts;this.extFonts=a.extFonts||[];if(b&&null!=e)for(var c=0;c<e.length;c++){var l=document.getElementById("extFont_"+e[c].name);null!=l&&l.parentNode.removeChild(l)}for(c=0;c<this.extFonts.length;c++)this.addExtFont(this.extFonts[c].name,this.extFonts[c].url,!0);this.view.scale=null!=a.scale?
 a.scale:1;null==this.view.currentRoot||this.model.contains(this.view.currentRoot)||(this.view.currentRoot=null);null==this.defaultParent||this.model.contains(this.defaultParent)||(this.setDefaultParent(null),this.selectUnlockedLayer());null!=a.translate&&(this.view.translate=a.translate)}else this.view.currentRoot=null,this.view.scale=1,this.gridEnabled=!0,this.gridSize=mxGraph.prototype.gridSize,this.pageScale=mxGraph.prototype.pageScale,this.pageFormat="undefined"===typeof mxSettings?mxGraph.prototype.pageFormat:
 mxSettings.getPageFormat(),this.pageVisible=this.defaultPageVisible,this.backgroundImage=this.background=null,this.scrollbars=this.defaultScrollbars,this.foldingEnabled=this.graphHandler.guidesEnabled=!0,this.setShadowVisible(!1,!1),this.defaultParent=null,this.setTooltips(!0),this.setConnectable(!0),this.lastPasteXml=null,this.pasteCounter=0,this.mathEnabled=!1,this.connectionArrowsEnabled=!0,this.extFonts=[];this.preferPageSize=this.pageBreaksVisible=this.pageVisible;this.fireEvent(new mxEventObject("viewStateChanged",
 "state",a))};
-Graph.prototype.addExtFont=function(a,b,f){if(a&&b){var d="extFont_"+a;if(null==document.getElementById(d))if(0==b.indexOf(Editor.GOOGLE_FONTS))mxClient.link("stylesheet",b,null,d);else{document.getElementsByTagName("head");var l=document.createElement("style");l.appendChild(document.createTextNode('@font-face {\n\tfont-family: "'+a+'";\n\tsrc: url("'+b+'");\n}'));l.setAttribute("id",d);document.getElementsByTagName("head")[0].appendChild(l)}if(!f){null==this.extFonts&&(this.extFonts=[]);f=this.extFonts;
-d=!0;for(l=0;l<f.length;l++)if(f[l].name==a){d=!1;break}d&&this.extFonts.push({name:a,url:b})}}};
-EditorUi.prototype.updatePageRoot=function(a){if(null==a.root){var b=this.editor.extractGraphModel(a.node),f=Editor.extractParserError(b);if(f)throw Error(f);null!=b?(a.graphModelNode=b,a.viewState=this.editor.graph.createViewState(b),f=new mxCodec(b.ownerDocument),a.root=f.decode(b).root):a.root=this.editor.graph.model.createRoot()}else if(null==a.viewState){if(null==a.graphModelNode){b=this.editor.extractGraphModel(a.node);if(f=Editor.extractParserError(b))throw Error(f);null!=b&&(a.graphModelNode=
+Graph.prototype.addExtFont=function(a,b,e){if(a&&b){var c="extFont_"+a;if(null==document.getElementById(c))if(0==b.indexOf(Editor.GOOGLE_FONTS))mxClient.link("stylesheet",b,null,c);else{document.getElementsByTagName("head");var l=document.createElement("style");l.appendChild(document.createTextNode('@font-face {\n\tfont-family: "'+a+'";\n\tsrc: url("'+b+'");\n}'));l.setAttribute("id",c);document.getElementsByTagName("head")[0].appendChild(l)}if(!e){null==this.extFonts&&(this.extFonts=[]);e=this.extFonts;
+c=!0;for(l=0;l<e.length;l++)if(e[l].name==a){c=!1;break}c&&this.extFonts.push({name:a,url:b})}}};
+EditorUi.prototype.updatePageRoot=function(a){if(null==a.root){var b=this.editor.extractGraphModel(a.node),e=Editor.extractParserError(b);if(e)throw Error(e);null!=b?(a.graphModelNode=b,a.viewState=this.editor.graph.createViewState(b),e=new mxCodec(b.ownerDocument),a.root=e.decode(b).root):a.root=this.editor.graph.model.createRoot()}else if(null==a.viewState){if(null==a.graphModelNode){b=this.editor.extractGraphModel(a.node);if(e=Editor.extractParserError(b))throw Error(e);null!=b&&(a.graphModelNode=
 b)}null!=a.graphModelNode&&(a.viewState=this.editor.graph.createViewState(a.graphModelNode))}return a};
-EditorUi.prototype.selectPage=function(a,b,f){try{if(a!=this.currentPage){this.editor.graph.isEditing()&&this.editor.graph.stopEditing(!1);b=null!=b?b:!1;this.editor.graph.isMouseDown=!1;this.editor.graph.reset();var d=this.editor.graph.model.createUndoableEdit();d.ignoreEdit=!0;var l=new SelectPage(this,a,f);l.execute();d.add(l);d.notify();this.editor.graph.tooltipHandler.hide();b||this.editor.graph.model.fireEvent(new mxEventObject(mxEvent.UNDO,"edit",d))}}catch(m){this.handleError(m)}};
+EditorUi.prototype.selectPage=function(a,b,e){try{if(a!=this.currentPage){this.editor.graph.isEditing()&&this.editor.graph.stopEditing(!1);b=null!=b?b:!1;this.editor.graph.isMouseDown=!1;this.editor.graph.reset();var c=this.editor.graph.model.createUndoableEdit();c.ignoreEdit=!0;var l=new SelectPage(this,a,e);l.execute();c.add(l);c.notify();this.editor.graph.tooltipHandler.hide();b||this.editor.graph.model.fireEvent(new mxEventObject(mxEvent.UNDO,"edit",c))}}catch(m){this.handleError(m)}};
 EditorUi.prototype.selectNextPage=function(a){var b=this.currentPage;null!=b&&null!=this.pages&&(b=mxUtils.indexOf(this.pages,b),a?this.selectPage(this.pages[mxUtils.mod(b+1,this.pages.length)]):a||this.selectPage(this.pages[mxUtils.mod(b-1,this.pages.length)]))};
-EditorUi.prototype.insertPage=function(a,b){if(this.editor.graph.isEnabled()){this.editor.graph.isEditing()&&this.editor.graph.stopEditing(!1);a=null!=a?a:this.createPage(null,this.createPageId());b=null!=b?b:this.pages.length;var f=new ChangePage(this,a,a,b);this.editor.graph.model.execute(f)}return a};EditorUi.prototype.createPageId=function(){var a;do a=Editor.guid();while(null!=this.getPageById(a));return a};
-EditorUi.prototype.createPage=function(a,b){var f=new DiagramPage(this.fileNode.ownerDocument.createElement("diagram"),b);f.setName(null!=a?a:this.createPageName());return f};EditorUi.prototype.createPageName=function(){for(var a={},b=0;b<this.pages.length;b++){var f=this.pages[b].getName();null!=f&&0<f.length&&(a[f]=f)}b=this.pages.length;do f=mxResources.get("pageWithNumber",[++b]);while(null!=a[f]);return f};
-EditorUi.prototype.removePage=function(a){try{var b=this.editor.graph,f=mxUtils.indexOf(this.pages,a);if(b.isEnabled()&&0<=f){this.editor.graph.isEditing()&&this.editor.graph.stopEditing(!1);b.model.beginUpdate();try{var d=this.currentPage;d==a&&1<this.pages.length?(f==this.pages.length-1?f--:f++,d=this.pages[f]):1>=this.pages.length&&(d=this.insertPage(),b.model.execute(new RenamePage(this,d,mxResources.get("pageWithNumber",[1]))));b.model.execute(new ChangePage(this,a,d))}finally{b.model.endUpdate()}}}catch(l){this.handleError(l)}return a};
-EditorUi.prototype.duplicatePage=function(a,b){var f=null;try{var d=this.editor.graph;if(d.isEnabled()){d.isEditing()&&d.stopEditing();var l=a.node.cloneNode(!1);l.removeAttribute("id");f=new DiagramPage(l);f.root=d.cloneCell(d.model.root);f.viewState=d.getViewState();f.viewState.scale=1;f.viewState.scrollLeft=null;f.viewState.scrollTop=null;f.viewState.currentRoot=null;f.viewState.defaultParent=null;f.setName(b);f=this.insertPage(f,mxUtils.indexOf(this.pages,a)+1)}}catch(m){this.handleError(m)}return f};
+EditorUi.prototype.insertPage=function(a,b){if(this.editor.graph.isEnabled()){this.editor.graph.isEditing()&&this.editor.graph.stopEditing(!1);a=null!=a?a:this.createPage(null,this.createPageId());b=null!=b?b:this.pages.length;var e=new ChangePage(this,a,a,b);this.editor.graph.model.execute(e)}return a};EditorUi.prototype.createPageId=function(){var a;do a=Editor.guid();while(null!=this.getPageById(a));return a};
+EditorUi.prototype.createPage=function(a,b){var e=new DiagramPage(this.fileNode.ownerDocument.createElement("diagram"),b);e.setName(null!=a?a:this.createPageName());return e};EditorUi.prototype.createPageName=function(){for(var a={},b=0;b<this.pages.length;b++){var e=this.pages[b].getName();null!=e&&0<e.length&&(a[e]=e)}b=this.pages.length;do e=mxResources.get("pageWithNumber",[++b]);while(null!=a[e]);return e};
+EditorUi.prototype.removePage=function(a){try{var b=this.editor.graph,e=mxUtils.indexOf(this.pages,a);if(b.isEnabled()&&0<=e){this.editor.graph.isEditing()&&this.editor.graph.stopEditing(!1);b.model.beginUpdate();try{var c=this.currentPage;c==a&&1<this.pages.length?(e==this.pages.length-1?e--:e++,c=this.pages[e]):1>=this.pages.length&&(c=this.insertPage(),b.model.execute(new RenamePage(this,c,mxResources.get("pageWithNumber",[1]))));b.model.execute(new ChangePage(this,a,c))}finally{b.model.endUpdate()}}}catch(l){this.handleError(l)}return a};
+EditorUi.prototype.duplicatePage=function(a,b){var e=null;try{var c=this.editor.graph;if(c.isEnabled()){c.isEditing()&&c.stopEditing();var l=a.node.cloneNode(!1);l.removeAttribute("id");e=new DiagramPage(l);e.root=c.cloneCell(c.model.root);e.viewState=c.getViewState();e.viewState.scale=1;e.viewState.scrollLeft=null;e.viewState.scrollTop=null;e.viewState.currentRoot=null;e.viewState.defaultParent=null;e.setName(b);e=this.insertPage(e,mxUtils.indexOf(this.pages,a)+1)}}catch(m){this.handleError(m)}return e};
 EditorUi.prototype.renamePage=function(a){if(this.editor.graph.isEnabled()){var b=new FilenameDialog(this,a.getName(),mxResources.get("rename"),mxUtils.bind(this,function(b){null!=b&&0<b.length&&this.editor.graph.model.execute(new RenamePage(this,a,b))}),mxResources.get("rename"));this.showDialog(b.container,300,80,!0,!0);b.init()}return a};EditorUi.prototype.movePage=function(a,b){this.editor.graph.model.execute(new MovePage(this,a,b))};
 EditorUi.prototype.createTabContainer=function(){var a=document.createElement("div");a.className="geTabContainer";a.style.position="absolute";a.style.whiteSpace="nowrap";a.style.overflow="hidden";a.style.height="0px";return a};
-EditorUi.prototype.updateTabContainer=function(){if(null!=this.tabContainer&&null!=this.pages){var a=this.editor.graph,b=document.createElement("div");b.style.position="relative";b.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";b.style.verticalAlign="top";b.style.height=this.tabContainer.style.height;b.style.whiteSpace="nowrap";b.style.overflow="hidden";b.style.fontSize="13px";b.style.marginLeft="30px";for(var f=this.editor.isChromelessView()?29:59,d=Math.min(140,Math.max(20,(this.tabContainer.clientWidth-
-f)/this.pages.length)+1),l=null,m=0;m<this.pages.length;m++)mxUtils.bind(this,function(d,c){this.pages[d]==this.currentPage?(c.className="geActivePage",c.style.backgroundColor="dark"==uiTheme?"#2a2a2a":"#fff"):c.className="geInactivePage";c.setAttribute("draggable","true");mxEvent.addListener(c,"dragstart",mxUtils.bind(this,function(b){a.isEnabled()?(mxClient.IS_FF&&b.dataTransfer.setData("Text","<diagram/>"),l=d):mxEvent.consume(b)}));mxEvent.addListener(c,"dragend",mxUtils.bind(this,function(a){l=
-null;a.stopPropagation();a.preventDefault()}));mxEvent.addListener(c,"dragover",mxUtils.bind(this,function(a){null!=l&&(a.dataTransfer.dropEffect="move");a.stopPropagation();a.preventDefault()}));mxEvent.addListener(c,"drop",mxUtils.bind(this,function(a){null!=l&&d!=l&&this.movePage(l,d);a.stopPropagation();a.preventDefault()}));b.appendChild(c)})(m,this.createTabForPage(this.pages[m],d,this.pages[m]!=this.currentPage,m+1));this.tabContainer.innerHTML="";this.tabContainer.appendChild(b);d=this.createPageMenuTab();
-this.tabContainer.appendChild(d);d=null;this.isPageInsertTabVisible()&&(d=this.createPageInsertTab(),this.tabContainer.appendChild(d));if(b.clientWidth>this.tabContainer.clientWidth-f){null!=d&&(d.style.position="absolute",d.style.right="0px",b.style.marginRight="30px");var q=this.createControlTab(4,"&nbsp;&#10094;&nbsp;");q.style.position="absolute";q.style.right=this.editor.chromeless?"29px":"55px";q.style.fontSize="13pt";this.tabContainer.appendChild(q);var u=this.createControlTab(4,"&nbsp;&#10095;");
+EditorUi.prototype.updateTabContainer=function(){if(null!=this.tabContainer&&null!=this.pages){var a=this.editor.graph,b=document.createElement("div");b.style.position="relative";b.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";b.style.verticalAlign="top";b.style.height=this.tabContainer.style.height;b.style.whiteSpace="nowrap";b.style.overflow="hidden";b.style.fontSize="13px";b.style.marginLeft="30px";for(var e=this.editor.isChromelessView()?29:59,c=Math.min(140,Math.max(20,(this.tabContainer.clientWidth-
+e)/this.pages.length)+1),l=null,m=0;m<this.pages.length;m++)mxUtils.bind(this,function(c,d){this.pages[c]==this.currentPage?(d.className="geActivePage",d.style.backgroundColor="dark"==uiTheme?"#2a2a2a":"#fff"):d.className="geInactivePage";d.setAttribute("draggable","true");mxEvent.addListener(d,"dragstart",mxUtils.bind(this,function(b){a.isEnabled()?(mxClient.IS_FF&&b.dataTransfer.setData("Text","<diagram/>"),l=c):mxEvent.consume(b)}));mxEvent.addListener(d,"dragend",mxUtils.bind(this,function(a){l=
+null;a.stopPropagation();a.preventDefault()}));mxEvent.addListener(d,"dragover",mxUtils.bind(this,function(a){null!=l&&(a.dataTransfer.dropEffect="move");a.stopPropagation();a.preventDefault()}));mxEvent.addListener(d,"drop",mxUtils.bind(this,function(a){null!=l&&c!=l&&this.movePage(l,c);a.stopPropagation();a.preventDefault()}));b.appendChild(d)})(m,this.createTabForPage(this.pages[m],c,this.pages[m]!=this.currentPage,m+1));this.tabContainer.innerHTML="";this.tabContainer.appendChild(b);c=this.createPageMenuTab();
+this.tabContainer.appendChild(c);c=null;this.isPageInsertTabVisible()&&(c=this.createPageInsertTab(),this.tabContainer.appendChild(c));if(b.clientWidth>this.tabContainer.clientWidth-e){null!=c&&(c.style.position="absolute",c.style.right="0px",b.style.marginRight="30px");var q=this.createControlTab(4,"&nbsp;&#10094;&nbsp;");q.style.position="absolute";q.style.right=this.editor.chromeless?"29px":"55px";q.style.fontSize="13pt";this.tabContainer.appendChild(q);var u=this.createControlTab(4,"&nbsp;&#10095;");
 u.style.position="absolute";u.style.right=this.editor.chromeless?"0px":"29px";u.style.fontSize="13pt";this.tabContainer.appendChild(u);var z=Math.max(0,this.tabContainer.clientWidth-(this.editor.chromeless?86:116));b.style.width=z+"px";mxEvent.addListener(q,"click",mxUtils.bind(this,function(a){b.scrollLeft-=Math.max(20,z-20);mxUtils.setOpacity(q,0<b.scrollLeft?100:50);mxUtils.setOpacity(u,b.scrollLeft<b.scrollWidth-b.clientWidth?100:50);mxEvent.consume(a)}));mxUtils.setOpacity(q,0<b.scrollLeft?100:
 50);mxUtils.setOpacity(u,b.scrollLeft<b.scrollWidth-b.clientWidth?100:50);mxEvent.addListener(u,"click",mxUtils.bind(this,function(a){b.scrollLeft+=Math.max(20,z-20);mxUtils.setOpacity(q,0<b.scrollLeft?100:50);mxUtils.setOpacity(u,b.scrollLeft<b.scrollWidth-b.clientWidth?100:50);mxEvent.consume(a)}))}}};EditorUi.prototype.isPageInsertTabVisible=function(){return 1==urlParams.embed||null!=this.getCurrentFile()&&this.getCurrentFile().isEditable()};
 EditorUi.prototype.createTab=function(a){var b=document.createElement("div");b.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";b.style.whiteSpace="nowrap";b.style.boxSizing="border-box";b.style.position="relative";b.style.overflow="hidden";b.style.textAlign="center";b.style.marginLeft="-1px";b.style.height=this.tabContainer.clientHeight+"px";b.style.padding="12px 4px 8px 4px";b.style.border="dark"==uiTheme?"1px solid #505759":"1px solid #e8eaed";b.style.borderTopStyle="none";b.style.borderBottomStyle=
 "none";b.style.backgroundColor=this.tabContainer.style.backgroundColor;b.style.cursor="move";b.style.color="gray";a&&(mxEvent.addListener(b,"mouseenter",mxUtils.bind(this,function(a){this.editor.graph.isMouseDown||(b.style.backgroundColor="dark"==uiTheme?"black":"#e8eaed",mxEvent.consume(a))})),mxEvent.addListener(b,"mouseleave",mxUtils.bind(this,function(a){b.style.backgroundColor=this.tabContainer.style.backgroundColor;mxEvent.consume(a)})));return b};
-EditorUi.prototype.createControlTab=function(a,b){var f=this.createTab(!0);f.style.lineHeight=this.tabContainerHeight+"px";f.style.paddingTop=a+"px";f.style.cursor="pointer";f.style.width="30px";f.innerHTML=b;null!=f.firstChild&&null!=f.firstChild.style&&mxUtils.setOpacity(f.firstChild,40);return f};
-EditorUi.prototype.createPageMenuTab=function(){var a=this.createControlTab(3,'<div class="geSprite geSprite-dots" style="display:inline-block;margin-top:5px;width:21px;height:21px;"></div>');a.setAttribute("title",mxResources.get("pages"));a.style.position="absolute";a.style.marginLeft="0px";a.style.top="0px";a.style.left="1px";mxEvent.addListener(a,"click",mxUtils.bind(this,function(a){this.editor.graph.popupMenuHandler.hideMenu();var b=new mxPopupMenu(mxUtils.bind(this,function(a,b){for(var d=
-0;d<this.pages.length;d++)mxUtils.bind(this,function(d){var c=a.addItem(this.pages[d].getName(),null,mxUtils.bind(this,function(){this.selectPage(this.pages[d])}),b);this.pages[d]==this.currentPage&&a.addCheckmark(c,Editor.checkmarkImage)})(d);if(this.editor.graph.isEnabled()){a.addSeparator(b);a.addItem(mxResources.get("insertPage"),null,mxUtils.bind(this,function(){this.insertPage()}),b);var f=this.currentPage;null!=f&&(a.addSeparator(b),a.addItem(mxResources.get("delete"),null,mxUtils.bind(this,
-function(){this.removePage(f)}),b),a.addItem(mxResources.get("rename"),null,mxUtils.bind(this,function(){this.renamePage(f,f.getName())}),b),a.addSeparator(b),a.addItem(mxResources.get("duplicate"),null,mxUtils.bind(this,function(){this.duplicatePage(f,mxResources.get("copyOf",[f.getName()]))}),b))}}));b.div.className+=" geMenubarMenu";b.smartSeparators=!0;b.showDisabled=!0;b.autoExpand=!0;b.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(b,arguments);b.destroy()});var d=
-mxEvent.getClientX(a),l=mxEvent.getClientY(a);b.popup(d,l,null,a);this.setCurrentMenu(b);mxEvent.consume(a)}));return a};EditorUi.prototype.createPageInsertTab=function(){var a=this.createControlTab(4,'<div class="geSprite geSprite-plus" style="display:inline-block;width:21px;height:21px;"></div>');a.setAttribute("title",mxResources.get("insertPage"));mxEvent.addListener(a,"click",mxUtils.bind(this,function(a){this.insertPage();mxEvent.consume(a)}));return a};
-EditorUi.prototype.createTabForPage=function(a,b,f,d){f=this.createTab(f);var l=a.getName()||mxResources.get("untitled"),m=a.getId();f.setAttribute("title",l+(null!=m?" ("+m+")":"")+" ["+d+"]");mxUtils.write(f,l);f.style.maxWidth=b+"px";f.style.width=b+"px";this.addTabListeners(a,f);42<b&&(f.style.textOverflow="ellipsis");return f};
-EditorUi.prototype.addTabListeners=function(a,b){mxEvent.disableContextMenu(b);var f=this.editor.graph;mxEvent.addListener(b,"dblclick",mxUtils.bind(this,function(b){this.renamePage(a);mxEvent.consume(b)}));var d=!1,l=!1;mxEvent.addGestureListeners(b,mxUtils.bind(this,function(b){d=null!=this.currentMenu;l=a==this.currentPage;f.isMouseDown||l||this.selectPage(a)}),null,mxUtils.bind(this,function(m){if(f.isEnabled()&&!f.isMouseDown&&(mxEvent.isTouchEvent(m)&&l||mxEvent.isPopupTrigger(m))){f.popupMenuHandler.hideMenu();
-this.hideCurrentMenu();if(!mxEvent.isTouchEvent(m)||!d){var q=new mxPopupMenu(this.createPageMenu(a));q.div.className+=" geMenubarMenu";q.smartSeparators=!0;q.showDisabled=!0;q.autoExpand=!0;q.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(q,arguments);this.resetCurrentMenu();q.destroy()});var u=mxEvent.getClientX(m),z=mxEvent.getClientY(m);q.popup(u,z,null,m);this.setCurrentMenu(q,b)}mxEvent.consume(m)}}))};
-EditorUi.prototype.getLinkForPage=function(a){if(!mxClient.IS_CHROMEAPP&&!EditorUi.isElectronApp){var b=this.getCurrentFile();if(null!=b&&b.constructor!=LocalFile&&"draw.io"==this.getServiceName()){var f=this.getSearch("create title mode url drive splash state".split(" ")),f=f+((0==f.length?"?":"&")+"page-id="+a.getId());return window.location.protocol+"//"+window.location.host+"/"+f+"#"+b.getHash()}}return null};
-EditorUi.prototype.createPageMenu=function(a,b){return mxUtils.bind(this,function(f,d){f.addItem(mxResources.get("insert"),null,mxUtils.bind(this,function(){this.insertPage(null,mxUtils.indexOf(this.pages,a)+1)}),d);f.addItem(mxResources.get("delete"),null,mxUtils.bind(this,function(){this.removePage(a)}),d);f.addItem(mxResources.get("rename"),null,mxUtils.bind(this,function(){this.renamePage(a,b)}),d);var l=this.getLinkForPage(a);null!=l&&(f.addSeparator(d),f.addItem(mxResources.get("link"),null,
-mxUtils.bind(this,function(){var a=new EmbedDialog(this,l);this.showDialog(a.container,440,240,!0,!0);a.init()}),d));f.addSeparator(d);f.addItem(mxResources.get("duplicate"),null,mxUtils.bind(this,function(){this.duplicatePage(a,mxResources.get("copyOf",[a.getName()]))}),d);mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||"draw.io"!=this.getServiceName()||(f.addSeparator(d),f.addItem(mxResources.get("openInNewWindow"),null,mxUtils.bind(this,function(){this.editor.editAsNew(this.getFileData(!0,null,
-null,null,!0,!0))}),d))})};(function(){var a=EditorUi.prototype.refresh;EditorUi.prototype.refresh=function(b){a.apply(this,arguments);this.updateTabContainer()}})();(function(){mxCodecRegistry.getCodec(ChangePageSetup).exclude.push("page")})();(function(){var a=new mxObjectCodec(new MovePage,["ui"]);a.beforeDecode=function(a,f,d){d.ui=a.ui;return f};a.afterDecode=function(a,f,d){a=d.oldIndex;d.oldIndex=d.newIndex;d.newIndex=a;return d};mxCodecRegistry.register(a)})();
-(function(){var a=new mxObjectCodec(new RenamePage,["ui","page"]);a.beforeDecode=function(a,f,d){d.ui=a.ui;return f};a.afterDecode=function(a,f,d){a=d.previous;d.previous=d.name;d.name=a;return d};mxCodecRegistry.register(a)})();
-(function(){var a=new mxObjectCodec(new ChangePage,"ui relatedPage index neverShown page previousPage".split(" ")),b="defaultParent currentRoot scrollLeft scrollTop scale translate lastPasteXml pasteCounter".split(" ");a.afterEncode=function(a,d,l){l.setAttribute("relatedPage",d.relatedPage.getId());null==d.index&&(l.setAttribute("name",d.relatedPage.getName()),null!=d.relatedPage.viewState&&l.setAttribute("viewState",JSON.stringify(d.relatedPage.viewState,function(a,d){return 0>mxUtils.indexOf(b,
-a)?d:void 0})),null!=d.relatedPage.root&&a.encodeCell(d.relatedPage.root,l));return l};a.beforeDecode=function(a,b,l){l.ui=a.ui;l.relatedPage=l.ui.getPageById(b.getAttribute("relatedPage"));if(null==l.relatedPage){var d=b.ownerDocument.createElement("diagram");d.setAttribute("id",b.getAttribute("relatedPage"));d.setAttribute("name",b.getAttribute("name"));l.relatedPage=new DiagramPage(d);d=b.getAttribute("viewState");null!=d&&(l.relatedPage.viewState=JSON.parse(d),b.removeAttribute("viewState"));
-b=b.cloneNode(!0);d=b.firstChild;if(null!=d)for(l.relatedPage.root=a.decodeCell(d,!1),l=d.nextSibling,d.parentNode.removeChild(d),d=l;null!=d;){l=d.nextSibling;if(d.nodeType==mxConstants.NODETYPE_ELEMENT){var f=d.getAttribute("id");null==a.lookup(f)&&a.decodeCell(d)}d.parentNode.removeChild(d);d=l}}return b};a.afterDecode=function(a,b,l){l.index=l.previousIndex;return l};mxCodecRegistry.register(a)})();(function(){var a=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAMAAABhEH5lAAAASFBMVEUAAAAAAAB/f3/9/f319fUfHx/7+/s+Pj69vb0AAAAAAAAAAAAAAAAAAAAAAAAAAAB2dnZ1dXUAAAAAAAAVFRX///8ZGRkGBgbOcI1hAAAAE3RSTlMA+vr9/f38+fb1893Bo00u+/tFvPJUBQAAAIRJREFUGNM0jEcSxCAQAxlydGqD///TNWxZBx1aXVIrWysplbapL3sFxgDq/idXBnHgBPK1nIxwc55vCXl6dRFtrV6svs/A/UjsPcpzA5tqyByD92HqQlMFh45BG6ND1DiKSoPDdm96N77bg5F+wyaEqRGb8ZiOwHQqdg9hehszcLAEIQB2lQ4p/sEpnAAAAABJRU5ErkJggg==":IMAGE_PATH+"/move.png";EditorUi.prototype.altShiftActions[68]=
-"selectDescendants";var b=Graph.prototype.foldCells;Graph.prototype.foldCells=function(a,d,f,u,z){d=null!=d?d:!1;null==f&&(f=this.getFoldableCells(this.getSelectionCells(),a));this.stopEditing();this.model.beginUpdate();try{for(var l=f.slice(),c=[],e=0;e<f.length;e++){var k=this.view.getState(f[e]),m=null!=k?k.style:this.getCellStyle(f[e]);"1"==mxUtils.getValue(m,"treeFolding","0")&&(this.traverse(f[e],!0,mxUtils.bind(this,function(a,b){null!=b&&c.push(b);a!=f[e]&&c.push(a);return a==f[e]||!this.model.isCollapsed(a)})),
-this.model.setCollapsed(f[e],a))}for(e=0;e<c.length;e++)this.model.setVisible(c[e],!a);f=l;f=b.apply(this,arguments)}finally{this.model.endUpdate()}return f};var f=EditorUi.prototype.init;EditorUi.prototype.init=function(){f.apply(this,arguments);this.editor.isChromelessView()&&!this.editor.editable||this.addTrees()};EditorUi.prototype.addTrees=function(){function b(a){return A.isVertex(a)&&f(a)}function d(a){var b=!1;null!=a&&(b=g.view.getState(a),b="1"==(null!=b?b.style:g.getCellStyle(a)).treeMoving);
-return b}function f(a){var b=!1;null!=a&&(a=A.getParent(a),b=g.view.getState(a),b="tree"==(null!=b?b.style:g.getCellStyle(a)).containerType);return b}function u(a){var b=!1;null!=a&&(a=A.getParent(a),b=g.view.getState(a),g.view.getState(a),b=null!=(null!=b?b.style:g.getCellStyle(a)).childLayout);return b}function z(a){a=g.view.getState(a);if(null!=a){var b=g.getIncomingEdges(a.cell);if(0<b.length&&(b=g.view.getState(b[0]),null!=b&&(b=b.absolutePoints,null!=b&&0<b.length&&(b=b[b.length-1],null!=b)))){if(b.y==
+EditorUi.prototype.createControlTab=function(a,b){var e=this.createTab(!0);e.style.lineHeight=this.tabContainerHeight+"px";e.style.paddingTop=a+"px";e.style.cursor="pointer";e.style.width="30px";e.innerHTML=b;null!=e.firstChild&&null!=e.firstChild.style&&mxUtils.setOpacity(e.firstChild,40);return e};
+EditorUi.prototype.createPageMenuTab=function(){var a=this.createControlTab(3,'<div class="geSprite geSprite-dots" style="display:inline-block;margin-top:5px;width:21px;height:21px;"></div>');a.setAttribute("title",mxResources.get("pages"));a.style.position="absolute";a.style.marginLeft="0px";a.style.top="0px";a.style.left="1px";mxEvent.addListener(a,"click",mxUtils.bind(this,function(a){this.editor.graph.popupMenuHandler.hideMenu();var b=new mxPopupMenu(mxUtils.bind(this,function(a,b){for(var c=
+0;c<this.pages.length;c++)mxUtils.bind(this,function(c){var d=a.addItem(this.pages[c].getName(),null,mxUtils.bind(this,function(){this.selectPage(this.pages[c])}),b);this.pages[c]==this.currentPage&&a.addCheckmark(d,Editor.checkmarkImage)})(c);if(this.editor.graph.isEnabled()){a.addSeparator(b);a.addItem(mxResources.get("insertPage"),null,mxUtils.bind(this,function(){this.insertPage()}),b);var e=this.currentPage;null!=e&&(a.addSeparator(b),a.addItem(mxResources.get("delete"),null,mxUtils.bind(this,
+function(){this.removePage(e)}),b),a.addItem(mxResources.get("rename"),null,mxUtils.bind(this,function(){this.renamePage(e,e.getName())}),b),a.addSeparator(b),a.addItem(mxResources.get("duplicate"),null,mxUtils.bind(this,function(){this.duplicatePage(e,mxResources.get("copyOf",[e.getName()]))}),b))}}));b.div.className+=" geMenubarMenu";b.smartSeparators=!0;b.showDisabled=!0;b.autoExpand=!0;b.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(b,arguments);b.destroy()});var c=
+mxEvent.getClientX(a),l=mxEvent.getClientY(a);b.popup(c,l,null,a);this.setCurrentMenu(b);mxEvent.consume(a)}));return a};EditorUi.prototype.createPageInsertTab=function(){var a=this.createControlTab(4,'<div class="geSprite geSprite-plus" style="display:inline-block;width:21px;height:21px;"></div>');a.setAttribute("title",mxResources.get("insertPage"));mxEvent.addListener(a,"click",mxUtils.bind(this,function(a){this.insertPage();mxEvent.consume(a)}));return a};
+EditorUi.prototype.createTabForPage=function(a,b,e,c){e=this.createTab(e);var l=a.getName()||mxResources.get("untitled"),m=a.getId();e.setAttribute("title",l+(null!=m?" ("+m+")":"")+" ["+c+"]");mxUtils.write(e,l);e.style.maxWidth=b+"px";e.style.width=b+"px";this.addTabListeners(a,e);42<b&&(e.style.textOverflow="ellipsis");return e};
+EditorUi.prototype.addTabListeners=function(a,b){mxEvent.disableContextMenu(b);var e=this.editor.graph;mxEvent.addListener(b,"dblclick",mxUtils.bind(this,function(b){this.renamePage(a);mxEvent.consume(b)}));var c=!1,l=!1;mxEvent.addGestureListeners(b,mxUtils.bind(this,function(b){c=null!=this.currentMenu;l=a==this.currentPage;e.isMouseDown||l||this.selectPage(a)}),null,mxUtils.bind(this,function(m){if(e.isEnabled()&&!e.isMouseDown&&(mxEvent.isTouchEvent(m)&&l||mxEvent.isPopupTrigger(m))){e.popupMenuHandler.hideMenu();
+this.hideCurrentMenu();if(!mxEvent.isTouchEvent(m)||!c){var q=new mxPopupMenu(this.createPageMenu(a));q.div.className+=" geMenubarMenu";q.smartSeparators=!0;q.showDisabled=!0;q.autoExpand=!0;q.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(q,arguments);this.resetCurrentMenu();q.destroy()});var u=mxEvent.getClientX(m),z=mxEvent.getClientY(m);q.popup(u,z,null,m);this.setCurrentMenu(q,b)}mxEvent.consume(m)}}))};
+EditorUi.prototype.getLinkForPage=function(a){if(!mxClient.IS_CHROMEAPP&&!EditorUi.isElectronApp){var b=this.getCurrentFile();if(null!=b&&b.constructor!=LocalFile&&"draw.io"==this.getServiceName()){var e=this.getSearch("create title mode url drive splash state".split(" ")),e=e+((0==e.length?"?":"&")+"page-id="+a.getId());return window.location.protocol+"//"+window.location.host+"/"+e+"#"+b.getHash()}}return null};
+EditorUi.prototype.createPageMenu=function(a,b){return mxUtils.bind(this,function(e,c){e.addItem(mxResources.get("insert"),null,mxUtils.bind(this,function(){this.insertPage(null,mxUtils.indexOf(this.pages,a)+1)}),c);e.addItem(mxResources.get("delete"),null,mxUtils.bind(this,function(){this.removePage(a)}),c);e.addItem(mxResources.get("rename"),null,mxUtils.bind(this,function(){this.renamePage(a,b)}),c);var l=this.getLinkForPage(a);null!=l&&(e.addSeparator(c),e.addItem(mxResources.get("link"),null,
+mxUtils.bind(this,function(){var a=new EmbedDialog(this,l);this.showDialog(a.container,440,240,!0,!0);a.init()}),c));e.addSeparator(c);e.addItem(mxResources.get("duplicate"),null,mxUtils.bind(this,function(){this.duplicatePage(a,mxResources.get("copyOf",[a.getName()]))}),c);mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||"draw.io"!=this.getServiceName()||(e.addSeparator(c),e.addItem(mxResources.get("openInNewWindow"),null,mxUtils.bind(this,function(){this.editor.editAsNew(this.getFileData(!0,null,
+null,null,!0,!0))}),c))})};(function(){var a=EditorUi.prototype.refresh;EditorUi.prototype.refresh=function(b){a.apply(this,arguments);this.updateTabContainer()}})();(function(){mxCodecRegistry.getCodec(ChangePageSetup).exclude.push("page")})();(function(){var a=new mxObjectCodec(new MovePage,["ui"]);a.beforeDecode=function(a,e,c){c.ui=a.ui;return e};a.afterDecode=function(a,e,c){a=c.oldIndex;c.oldIndex=c.newIndex;c.newIndex=a;return c};mxCodecRegistry.register(a)})();
+(function(){var a=new mxObjectCodec(new RenamePage,["ui","page"]);a.beforeDecode=function(a,e,c){c.ui=a.ui;return e};a.afterDecode=function(a,e,c){a=c.previous;c.previous=c.name;c.name=a;return c};mxCodecRegistry.register(a)})();
+(function(){var a=new mxObjectCodec(new ChangePage,"ui relatedPage index neverShown page previousPage".split(" ")),b="defaultParent currentRoot scrollLeft scrollTop scale translate lastPasteXml pasteCounter".split(" ");a.afterEncode=function(a,c,l){l.setAttribute("relatedPage",c.relatedPage.getId());null==c.index&&(l.setAttribute("name",c.relatedPage.getName()),null!=c.relatedPage.viewState&&l.setAttribute("viewState",JSON.stringify(c.relatedPage.viewState,function(a,c){return 0>mxUtils.indexOf(b,
+a)?c:void 0})),null!=c.relatedPage.root&&a.encodeCell(c.relatedPage.root,l));return l};a.beforeDecode=function(a,b,l){l.ui=a.ui;l.relatedPage=l.ui.getPageById(b.getAttribute("relatedPage"));if(null==l.relatedPage){var c=b.ownerDocument.createElement("diagram");c.setAttribute("id",b.getAttribute("relatedPage"));c.setAttribute("name",b.getAttribute("name"));l.relatedPage=new DiagramPage(c);c=b.getAttribute("viewState");null!=c&&(l.relatedPage.viewState=JSON.parse(c),b.removeAttribute("viewState"));
+b=b.cloneNode(!0);c=b.firstChild;if(null!=c)for(l.relatedPage.root=a.decodeCell(c,!1),l=c.nextSibling,c.parentNode.removeChild(c),c=l;null!=c;){l=c.nextSibling;if(c.nodeType==mxConstants.NODETYPE_ELEMENT){var e=c.getAttribute("id");null==a.lookup(e)&&a.decodeCell(c)}c.parentNode.removeChild(c);c=l}}return b};a.afterDecode=function(a,b,l){l.index=l.previousIndex;return l};mxCodecRegistry.register(a)})();(function(){var a=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAMAAABhEH5lAAAASFBMVEUAAAAAAAB/f3/9/f319fUfHx/7+/s+Pj69vb0AAAAAAAAAAAAAAAAAAAAAAAAAAAB2dnZ1dXUAAAAAAAAVFRX///8ZGRkGBgbOcI1hAAAAE3RSTlMA+vr9/f38+fb1893Bo00u+/tFvPJUBQAAAIRJREFUGNM0jEcSxCAQAxlydGqD///TNWxZBx1aXVIrWysplbapL3sFxgDq/idXBnHgBPK1nIxwc55vCXl6dRFtrV6svs/A/UjsPcpzA5tqyByD92HqQlMFh45BG6ND1DiKSoPDdm96N77bg5F+wyaEqRGb8ZiOwHQqdg9hehszcLAEIQB2lQ4p/sEpnAAAAABJRU5ErkJggg==":IMAGE_PATH+"/move.png";EditorUi.prototype.altShiftActions[68]=
+"selectDescendants";var b=Graph.prototype.foldCells;Graph.prototype.foldCells=function(a,c,e,u,z){c=null!=c?c:!1;null==e&&(e=this.getFoldableCells(this.getSelectionCells(),a));this.stopEditing();this.model.beginUpdate();try{for(var l=e.slice(),d=[],f=0;f<e.length;f++){var k=this.view.getState(e[f]),m=null!=k?k.style:this.getCellStyle(e[f]);"1"==mxUtils.getValue(m,"treeFolding","0")&&(this.traverse(e[f],!0,mxUtils.bind(this,function(a,b){null!=b&&d.push(b);a!=e[f]&&d.push(a);return a==e[f]||!this.model.isCollapsed(a)})),
+this.model.setCollapsed(e[f],a))}for(f=0;f<d.length;f++)this.model.setVisible(d[f],!a);e=l;e=b.apply(this,arguments)}finally{this.model.endUpdate()}return e};var e=EditorUi.prototype.init;EditorUi.prototype.init=function(){e.apply(this,arguments);this.editor.isChromelessView()&&!this.editor.editable||this.addTrees()};EditorUi.prototype.addTrees=function(){function b(a){return A.isVertex(a)&&e(a)}function c(a){var b=!1;null!=a&&(b=g.view.getState(a),b="1"==(null!=b?b.style:g.getCellStyle(a)).treeMoving);
+return b}function e(a){var b=!1;null!=a&&(a=A.getParent(a),b=g.view.getState(a),b="tree"==(null!=b?b.style:g.getCellStyle(a)).containerType);return b}function u(a){var b=!1;null!=a&&(a=A.getParent(a),b=g.view.getState(a),g.view.getState(a),b=null!=(null!=b?b.style:g.getCellStyle(a)).childLayout);return b}function z(a){a=g.view.getState(a);if(null!=a){var b=g.getIncomingEdges(a.cell);if(0<b.length&&(b=g.view.getState(b[0]),null!=b&&(b=b.absolutePoints,null!=b&&0<b.length&&(b=b[b.length-1],null!=b)))){if(b.y==
 a.y&&Math.abs(b.x-a.getCenterX())<a.width/2)return mxConstants.DIRECTION_SOUTH;if(b.y==a.y+a.height&&Math.abs(b.x-a.getCenterX())<a.width/2)return mxConstants.DIRECTION_NORTH;if(b.x>a.getCenterX())return mxConstants.DIRECTION_WEST}}return mxConstants.DIRECTION_EAST}function C(a,b){b=null!=b?b:!0;g.model.beginUpdate();try{var c=g.model.getParent(a),d=g.getIncomingEdges(a),e=g.cloneCells([d[0],a]);g.model.setTerminal(e[0],g.model.getTerminal(d[0],!0),!0);var f=z(a),k=c.geometry;f==mxConstants.DIRECTION_SOUTH||
-f==mxConstants.DIRECTION_NORTH?e[1].geometry.x+=b?a.geometry.width+10:-e[1].geometry.width-10:e[1].geometry.y+=b?a.geometry.height+10:-e[1].geometry.height-10;g.view.currentRoot!=c&&(e[1].geometry.x-=k.x,e[1].geometry.y-=k.y);var l=g.view.getState(a),m=g.view.scale;if(null!=l){var p=mxRectangle.fromRectangle(l);f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH?p.x+=(b?a.geometry.width+10:-e[1].geometry.width-10)*m:p.y+=(b?a.geometry.height+10:-e[1].geometry.height-10)*m;var n=g.getOutgoingEdges(g.model.getTerminal(d[0],
-!0));if(null!=n){for(var q=f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH,y=k=d=0;y<n.length;y++){var u=g.model.getTerminal(n[y],!1);if(f==z(u)){var t=g.view.getState(u);u!=a&&null!=t&&(q&&b!=t.getCenterX()<l.getCenterX()||!q&&b!=t.getCenterY()<l.getCenterY())&&mxUtils.intersects(p,t)&&(d=10+Math.max(d,(Math.min(p.x+p.width,t.x+t.width)-Math.max(p.x,t.x))/m),k=10+Math.max(k,(Math.min(p.y+p.height,t.y+t.height)-Math.max(p.y,t.y))/m))}}q?k=0:d=0;for(y=0;y<n.length;y++)if(u=g.model.getTerminal(n[y],
-!1),f==z(u)&&(t=g.view.getState(u),u!=a&&null!=t&&(q&&b!=t.getCenterX()<l.getCenterX()||!q&&b!=t.getCenterY()<l.getCenterY()))){var v=[];g.traverse(t.cell,!0,function(a,b){null!=b&&v.push(b);v.push(a);return!0});g.moveCells(v,(b?1:-1)*d,(b?1:-1)*k)}}}return g.addCells(e,c)}finally{g.model.endUpdate()}}function c(a){g.model.beginUpdate();try{var b=z(a),c=g.getIncomingEdges(a),d=g.cloneCells([c[0],a]);g.model.setTerminal(c[0],d[1],!1);g.model.setTerminal(d[0],d[1],!0);g.model.setTerminal(d[0],a,!1);
-var e=g.model.getParent(a),f=e.geometry,k=[];g.view.currentRoot!=e&&(d[1].geometry.x-=f.x,d[1].geometry.y-=f.y);g.traverse(a,!0,function(a,b){null!=b&&k.push(b);k.push(a);return!0});var l=a.geometry.width+40,m=a.geometry.height+40;b==mxConstants.DIRECTION_SOUTH?l=0:b==mxConstants.DIRECTION_NORTH?(l=0,m=-m):b==mxConstants.DIRECTION_WEST?(l=-l,m=0):b==mxConstants.DIRECTION_EAST&&(m=0);g.moveCells(k,l,m);return g.addCells(d,e)}finally{g.model.endUpdate()}}function e(a){g.model.beginUpdate();try{var b=
-g.model.getParent(a),c=g.getIncomingEdges(a),d=g.cloneCells([c[0],a]);g.model.setTerminal(d[0],a,!0);var c=g.getOutgoingEdges(a),e=b.geometry,f=[];g.view.currentRoot==b&&(e=new mxRectangle);for(var k=0;k<c.length;k++){var l=g.model.getTerminal(c[k],!1);null!=l&&f.push(l)}var m=g.view.getBounds(f),p=z(a),n=g.view.translate,q=g.view.scale;p==mxConstants.DIRECTION_SOUTH?(d[1].geometry.x=null==m?a.geometry.x+(a.geometry.width-d[1].geometry.width)/2:(m.x+m.width)/q-n.x-e.x+10,d[1].geometry.y+=d[1].geometry.height-
-e.y+40):p==mxConstants.DIRECTION_NORTH?(d[1].geometry.x=null==m?a.geometry.x+(a.geometry.width-d[1].geometry.width)/2:(m.x+m.width)/q-n.x+-e.x+10,d[1].geometry.y-=d[1].geometry.height+e.y+40):(d[1].geometry.x=p==mxConstants.DIRECTION_WEST?d[1].geometry.x-(d[1].geometry.width+e.x+40):d[1].geometry.x+(d[1].geometry.width-e.x+40),d[1].geometry.y=null==m?a.geometry.y+(a.geometry.height-d[1].geometry.height)/2:(m.y+m.height)/q-n.y+-e.y+10);return g.addCells(d,b)}finally{g.model.endUpdate()}}function k(a,
+f==mxConstants.DIRECTION_NORTH?e[1].geometry.x+=b?a.geometry.width+10:-e[1].geometry.width-10:e[1].geometry.y+=b?a.geometry.height+10:-e[1].geometry.height-10;g.view.currentRoot!=c&&(e[1].geometry.x-=k.x,e[1].geometry.y-=k.y);var l=g.view.getState(a),m=g.view.scale;if(null!=l){var n=mxRectangle.fromRectangle(l);f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH?n.x+=(b?a.geometry.width+10:-e[1].geometry.width-10)*m:n.y+=(b?a.geometry.height+10:-e[1].geometry.height-10)*m;var p=g.getOutgoingEdges(g.model.getTerminal(d[0],
+!0));if(null!=p){for(var q=f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH,y=k=d=0;y<p.length;y++){var u=g.model.getTerminal(p[y],!1);if(f==z(u)){var t=g.view.getState(u);u!=a&&null!=t&&(q&&b!=t.getCenterX()<l.getCenterX()||!q&&b!=t.getCenterY()<l.getCenterY())&&mxUtils.intersects(n,t)&&(d=10+Math.max(d,(Math.min(n.x+n.width,t.x+t.width)-Math.max(n.x,t.x))/m),k=10+Math.max(k,(Math.min(n.y+n.height,t.y+t.height)-Math.max(n.y,t.y))/m))}}q?k=0:d=0;for(y=0;y<p.length;y++)if(u=g.model.getTerminal(p[y],
+!1),f==z(u)&&(t=g.view.getState(u),u!=a&&null!=t&&(q&&b!=t.getCenterX()<l.getCenterX()||!q&&b!=t.getCenterY()<l.getCenterY()))){var v=[];g.traverse(t.cell,!0,function(a,b){null!=b&&v.push(b);v.push(a);return!0});g.moveCells(v,(b?1:-1)*d,(b?1:-1)*k)}}}return g.addCells(e,c)}finally{g.model.endUpdate()}}function d(a){g.model.beginUpdate();try{var b=z(a),c=g.getIncomingEdges(a),d=g.cloneCells([c[0],a]);g.model.setTerminal(c[0],d[1],!1);g.model.setTerminal(d[0],d[1],!0);g.model.setTerminal(d[0],a,!1);
+var e=g.model.getParent(a),f=e.geometry,k=[];g.view.currentRoot!=e&&(d[1].geometry.x-=f.x,d[1].geometry.y-=f.y);g.traverse(a,!0,function(a,b){null!=b&&k.push(b);k.push(a);return!0});var l=a.geometry.width+40,m=a.geometry.height+40;b==mxConstants.DIRECTION_SOUTH?l=0:b==mxConstants.DIRECTION_NORTH?(l=0,m=-m):b==mxConstants.DIRECTION_WEST?(l=-l,m=0):b==mxConstants.DIRECTION_EAST&&(m=0);g.moveCells(k,l,m);return g.addCells(d,e)}finally{g.model.endUpdate()}}function f(a){g.model.beginUpdate();try{var b=
+g.model.getParent(a),d=g.getIncomingEdges(a),c=g.cloneCells([d[0],a]);g.model.setTerminal(c[0],a,!0);var d=g.getOutgoingEdges(a),e=b.geometry,f=[];g.view.currentRoot==b&&(e=new mxRectangle);for(var k=0;k<d.length;k++){var l=g.model.getTerminal(d[k],!1);null!=l&&f.push(l)}var m=g.view.getBounds(f),n=z(a),p=g.view.translate,q=g.view.scale;n==mxConstants.DIRECTION_SOUTH?(c[1].geometry.x=null==m?a.geometry.x+(a.geometry.width-c[1].geometry.width)/2:(m.x+m.width)/q-p.x-e.x+10,c[1].geometry.y+=c[1].geometry.height-
+e.y+40):n==mxConstants.DIRECTION_NORTH?(c[1].geometry.x=null==m?a.geometry.x+(a.geometry.width-c[1].geometry.width)/2:(m.x+m.width)/q-p.x+-e.x+10,c[1].geometry.y-=c[1].geometry.height+e.y+40):(c[1].geometry.x=n==mxConstants.DIRECTION_WEST?c[1].geometry.x-(c[1].geometry.width+e.x+40):c[1].geometry.x+(c[1].geometry.width-e.x+40),c[1].geometry.y=null==m?a.geometry.y+(a.geometry.height-c[1].geometry.height)/2:(m.y+m.height)/q-p.y+-e.y+10);return g.addCells(c,b)}finally{g.model.endUpdate()}}function k(a,
 b,c){a=g.getOutgoingEdges(a);c=g.view.getState(c);var d=[];if(null!=c&&null!=a){for(var e=0;e<a.length;e++){var f=g.view.getState(g.model.getTerminal(a[e],!1));null!=f&&(!b&&Math.min(f.x+f.width,c.x+c.width)>=Math.max(f.x,c.x)||b&&Math.min(f.y+f.height,c.y+c.height)>=Math.max(f.y,c.y))&&d.push(f)}d.sort(function(a,c){return b?a.x+a.width-c.x-c.width:a.y+a.height-c.y-c.height})}return d}function x(a,b){var c=z(a),d=b==mxConstants.DIRECTION_EAST||b==mxConstants.DIRECTION_WEST;(c==mxConstants.DIRECTION_EAST||
 c==mxConstants.DIRECTION_WEST)==d&&c!=b?n.actions.get("selectParent").funct():c==b?(d=g.getOutgoingEdges(a),null!=d&&0<d.length&&g.setSelectionCell(g.model.getTerminal(d[0],!1))):(c=g.getIncomingEdges(a),null!=c&&0<c.length&&(d=k(g.model.getTerminal(c[0],!0),d,a),c=g.view.getState(a),null!=c&&(c=mxUtils.indexOf(d,c),0<=c&&(c+=b==mxConstants.DIRECTION_NORTH||b==mxConstants.DIRECTION_WEST?-1:1,0<=c&&c<=d.length-1&&g.setSelectionCell(d[c].cell)))))}var n=this,g=n.editor.graph,A=g.getModel(),v=n.menus.createPopupMenu;
 n.menus.createPopupMenu=function(a,c,d){v.apply(this,arguments);if(1==g.getSelectionCount()){c=g.getSelectionCell();var e=g.getOutgoingEdges(c);a.addSeparator();null!=e&&0<e.length&&(b(g.getSelectionCell())&&this.addMenuItems(a,["selectChildren"],null,d),this.addMenuItems(a,["selectDescendants"],null,d));b(g.getSelectionCell())&&(a.addSeparator(),0<g.getIncomingEdges(c).length&&this.addMenuItems(a,["selectSiblings","selectParent"],null,d))}};n.actions.addAction("selectChildren",function(){if(g.isEnabled()&&
 1==g.getSelectionCount()){var a=g.getSelectionCell(),a=g.getOutgoingEdges(a);if(null!=a){for(var b=[],c=0;c<a.length;c++)b.push(g.model.getTerminal(a[c],!1));g.setSelectionCells(b)}}},null,null,"Alt+Shift+X");n.actions.addAction("selectSiblings",function(){if(g.isEnabled()&&1==g.getSelectionCount()){var a=g.getSelectionCell(),a=g.getIncomingEdges(a);if(null!=a&&0<a.length&&(a=g.getOutgoingEdges(g.model.getTerminal(a[0],!0)),null!=a)){for(var b=[],c=0;c<a.length;c++)b.push(g.model.getTerminal(a[c],
 !1));g.setSelectionCells(b)}}},null,null,"Alt+Shift+S");n.actions.addAction("selectParent",function(){if(g.isEnabled()&&1==g.getSelectionCount()){var a=g.getSelectionCell(),a=g.getIncomingEdges(a);null!=a&&0<a.length&&g.setSelectionCell(g.model.getTerminal(a[0],!0))}},null,null,"Alt+Shift+P");n.actions.addAction("selectDescendants",function(){if(g.isEnabled()&&1==g.getSelectionCount()){var a=g.getSelectionCell(),b=[];g.traverse(a,!0,function(a,c){null!=c&&b.push(c);b.push(a);return!0});g.setSelectionCells(b)}},
-null,null,"Alt+Shift+D");var t=g.removeCells;g.removeCells=function(a,c){c=null!=c?c:!0;null==a&&(a=this.getDeletableCells(this.getSelectionCells()));c&&(a=this.getDeletableCells(this.addAllEdges(a)));for(var d=[],e=0;e<a.length;e++){var k=a[e];A.isEdge(k)&&f(k)&&(d.push(k),k=A.getTerminal(k,!1));b(k)?(g.traverse(k,!0,function(a,b){null!=b&&d.push(b);d.push(a);return!0}),k=g.getIncomingEdges(a[e]),a=a.concat(k)):d.push(a[e])}a=d;return t.apply(this,arguments)};n.hoverIcons.getStateAt=function(a,c,
-d){return b(a.cell)?null:this.graph.view.getState(this.graph.getCellAt(c,d))};var D=g.duplicateCells;g.duplicateCells=function(a,c){a=null!=a?a:this.getSelectionCells();for(var d=a.slice(0),e=0;e<d.length;e++){var f=g.view.getState(d[e]);if(null!=f&&b(f.cell))for(var k=g.getIncomingEdges(f.cell),f=0;f<k.length;f++)mxUtils.remove(k[f],a)}this.model.beginUpdate();try{var l=D.call(this,a,c);if(l.length==a.length)for(e=0;e<a.length;e++)if(b(a[e])){var m=g.getIncomingEdges(l[e]),k=g.getIncomingEdges(a[e]);
-if(0==m.length&&0<k.length){var p=this.cloneCell(k[0]);this.addEdge(p,g.getDefaultParent(),this.model.getTerminal(k[0],!0),l[e])}}}finally{this.model.endUpdate()}return l};var y=g.moveCells;g.moveCells=function(a,c,d,e,f,k,l){var m=null;this.model.beginUpdate();try{var p=f,n=this.view.getState(f),q=null!=n?n.style:this.getCellStyle(f);if(null!=a&&b(f)&&"1"==mxUtils.getValue(q,"treeFolding","0")){for(var u=0;u<a.length;u++)if(b(a[u])||g.model.isEdge(a[u])&&null==g.model.getTerminal(a[u],!0)){f=g.model.getParent(a[u]);
-break}if(null!=p&&f!=p&&null!=this.view.getState(a[0])){var t=g.getIncomingEdges(a[0]);if(0<t.length){var v=g.view.getState(g.model.getTerminal(t[0],!0));if(null!=v){var x=g.view.getState(p);null!=x&&(c=(x.getCenterX()-v.getCenterX())/g.view.scale,d=(x.getCenterY()-v.getCenterY())/g.view.scale)}}}}m=y.apply(this,arguments);if(null!=m&&null!=a&&m.length==a.length)for(u=0;u<m.length;u++)if(this.model.isEdge(m[u]))b(p)&&0>mxUtils.indexOf(m,this.model.getTerminal(m[u],!0))&&this.model.setTerminal(m[u],
-p,!0);else if(b(a[u])&&(t=g.getIncomingEdges(a[u]),0<t.length))if(!e)b(p)&&0>mxUtils.indexOf(a,this.model.getTerminal(t[0],!0))&&this.model.setTerminal(t[0],p,!0);else if(0==g.getIncomingEdges(m[u]).length){n=p;if(null==n||n==g.model.getParent(a[u]))n=g.model.getTerminal(t[0],!0);e=this.cloneCell(t[0]);this.addEdge(e,g.getDefaultParent(),n,m[u])}}finally{this.model.endUpdate()}return m};if(null!=n.sidebar){var E=n.sidebar.dropAndConnect;n.sidebar.dropAndConnect=function(a,c,d,e){var f=g.model,k=null;
-f.beginUpdate();try{if(k=E.apply(this,arguments),b(a))for(var l=0;l<k.length;l++)if(f.isEdge(k[l])&&null==f.getTerminal(k[l],!0)){f.setTerminal(k[l],a,!0);var m=g.getCellGeometry(k[l]);m.points=null;null!=m.getTerminalPoint(!0)&&m.setTerminalPoint(null,!0)}}finally{f.endUpdate()}return k}}var p={88:n.actions.get("selectChildren"),84:n.actions.get("selectSubtree"),80:n.actions.get("selectParent"),83:n.actions.get("selectSiblings")},B=n.onKeyDown;n.onKeyDown=function(a){try{if(g.isEnabled()&&!g.isEditing()&&
-b(g.getSelectionCell())&&1==g.getSelectionCount()){var d=null;0<g.getIncomingEdges(g.getSelectionCell()).length&&(9==a.which?d=mxEvent.isShiftDown(a)?c(g.getSelectionCell()):e(g.getSelectionCell()):13==a.which&&(d=C(g.getSelectionCell(),!mxEvent.isShiftDown(a))));if(null!=d&&0<d.length)1==d.length&&g.model.isEdge(d[0])?g.setSelectionCell(g.model.getTerminal(d[0],!1)):g.setSelectionCell(d[d.length-1]),null!=n.hoverIcons&&n.hoverIcons.update(g.view.getState(g.getSelectionCell())),g.startEditingAtCell(g.getSelectionCell()),
-mxEvent.consume(a);else if(mxEvent.isAltDown(a)&&mxEvent.isShiftDown(a)){var f=p[a.keyCode];null!=f&&(f.funct(a),mxEvent.consume(a))}else 37==a.keyCode?(x(g.getSelectionCell(),mxConstants.DIRECTION_WEST),mxEvent.consume(a)):38==a.keyCode?(x(g.getSelectionCell(),mxConstants.DIRECTION_NORTH),mxEvent.consume(a)):39==a.keyCode?(x(g.getSelectionCell(),mxConstants.DIRECTION_EAST),mxEvent.consume(a)):40==a.keyCode&&(x(g.getSelectionCell(),mxConstants.DIRECTION_SOUTH),mxEvent.consume(a))}}catch(aa){console.log("error",
-aa)}mxEvent.isConsumed(a)||B.apply(this,arguments)};var L=g.connectVertex;g.connectVertex=function(a,d,f,k,l,m){var p=g.getIncomingEdges(a);return b(a)&&0<p.length?(f=z(a),k=f==mxConstants.DIRECTION_EAST||f==mxConstants.DIRECTION_WEST,l=d==mxConstants.DIRECTION_EAST||d==mxConstants.DIRECTION_WEST,f==d?e(a):k==l?c(a):C(a,d!=mxConstants.DIRECTION_NORTH&&d!=mxConstants.DIRECTION_WEST)):L.call(this,a,d,f,k,l,m)};g.getSubtree=function(a){var c=[a];!d(a)&&!b(a)||u(a)||g.traverse(a,!0,function(a,b){null!=
-b&&0>mxUtils.indexOf(c,b)&&c.push(b);0>mxUtils.indexOf(c,a)&&c.push(a);return!0});return c};var P=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){P.apply(this,arguments);(d(this.state.cell)||b(this.state.cell))&&0<this.graph.getOutgoingEdges(this.state.cell).length&&(this.moveHandle=mxUtils.createImage(a),this.moveHandle.setAttribute("title","Move Subtree"),this.moveHandle.style.position="absolute",this.moveHandle.style.cursor="pointer",this.moveHandle.style.width="18px",
+null,null,"Alt+Shift+D");var t=g.removeCells;g.removeCells=function(a,c){c=null!=c?c:!0;null==a&&(a=this.getDeletableCells(this.getSelectionCells()));c&&(a=this.getDeletableCells(this.addAllEdges(a)));for(var d=[],f=0;f<a.length;f++){var k=a[f];A.isEdge(k)&&e(k)&&(d.push(k),k=A.getTerminal(k,!1));b(k)?(g.traverse(k,!0,function(a,b){null!=b&&d.push(b);d.push(a);return!0}),k=g.getIncomingEdges(a[f]),a=a.concat(k)):d.push(a[f])}a=d;return t.apply(this,arguments)};n.hoverIcons.getStateAt=function(a,c,
+d){return b(a.cell)?null:this.graph.view.getState(this.graph.getCellAt(c,d))};var E=g.duplicateCells;g.duplicateCells=function(a,c){a=null!=a?a:this.getSelectionCells();for(var d=a.slice(0),e=0;e<d.length;e++){var f=g.view.getState(d[e]);if(null!=f&&b(f.cell))for(var k=g.getIncomingEdges(f.cell),f=0;f<k.length;f++)mxUtils.remove(k[f],a)}this.model.beginUpdate();try{var l=E.call(this,a,c);if(l.length==a.length)for(e=0;e<a.length;e++)if(b(a[e])){var m=g.getIncomingEdges(l[e]),k=g.getIncomingEdges(a[e]);
+if(0==m.length&&0<k.length){var n=this.cloneCell(k[0]);this.addEdge(n,g.getDefaultParent(),this.model.getTerminal(k[0],!0),l[e])}}}finally{this.model.endUpdate()}return l};var y=g.moveCells;g.moveCells=function(a,c,d,e,f,k,l){var m=null;this.model.beginUpdate();try{var n=f,p=this.view.getState(f),q=null!=p?p.style:this.getCellStyle(f);if(null!=a&&b(f)&&"1"==mxUtils.getValue(q,"treeFolding","0")){for(var u=0;u<a.length;u++)if(b(a[u])||g.model.isEdge(a[u])&&null==g.model.getTerminal(a[u],!0)){f=g.model.getParent(a[u]);
+break}if(null!=n&&f!=n&&null!=this.view.getState(a[0])){var t=g.getIncomingEdges(a[0]);if(0<t.length){var v=g.view.getState(g.model.getTerminal(t[0],!0));if(null!=v){var x=g.view.getState(n);null!=x&&(c=(x.getCenterX()-v.getCenterX())/g.view.scale,d=(x.getCenterY()-v.getCenterY())/g.view.scale)}}}}m=y.apply(this,arguments);if(null!=m&&null!=a&&m.length==a.length)for(u=0;u<m.length;u++)if(this.model.isEdge(m[u]))b(n)&&0>mxUtils.indexOf(m,this.model.getTerminal(m[u],!0))&&this.model.setTerminal(m[u],
+n,!0);else if(b(a[u])&&(t=g.getIncomingEdges(a[u]),0<t.length))if(!e)b(n)&&0>mxUtils.indexOf(a,this.model.getTerminal(t[0],!0))&&this.model.setTerminal(t[0],n,!0);else if(0==g.getIncomingEdges(m[u]).length){p=n;if(null==p||p==g.model.getParent(a[u]))p=g.model.getTerminal(t[0],!0);e=this.cloneCell(t[0]);this.addEdge(e,g.getDefaultParent(),p,m[u])}}finally{this.model.endUpdate()}return m};if(null!=n.sidebar){var D=n.sidebar.dropAndConnect;n.sidebar.dropAndConnect=function(a,c,d,e){var f=g.model,k=null;
+f.beginUpdate();try{if(k=D.apply(this,arguments),b(a))for(var l=0;l<k.length;l++)if(f.isEdge(k[l])&&null==f.getTerminal(k[l],!0)){f.setTerminal(k[l],a,!0);var m=g.getCellGeometry(k[l]);m.points=null;null!=m.getTerminalPoint(!0)&&m.setTerminalPoint(null,!0)}}finally{f.endUpdate()}return k}}var p={88:n.actions.get("selectChildren"),84:n.actions.get("selectSubtree"),80:n.actions.get("selectParent"),83:n.actions.get("selectSiblings")},B=n.onKeyDown;n.onKeyDown=function(a){try{if(g.isEnabled()&&!g.isEditing()&&
+b(g.getSelectionCell())&&1==g.getSelectionCount()){var c=null;0<g.getIncomingEdges(g.getSelectionCell()).length&&(9==a.which?c=mxEvent.isShiftDown(a)?d(g.getSelectionCell()):f(g.getSelectionCell()):13==a.which&&(c=C(g.getSelectionCell(),!mxEvent.isShiftDown(a))));if(null!=c&&0<c.length)1==c.length&&g.model.isEdge(c[0])?g.setSelectionCell(g.model.getTerminal(c[0],!1)):g.setSelectionCell(c[c.length-1]),null!=n.hoverIcons&&n.hoverIcons.update(g.view.getState(g.getSelectionCell())),g.startEditingAtCell(g.getSelectionCell()),
+mxEvent.consume(a);else if(mxEvent.isAltDown(a)&&mxEvent.isShiftDown(a)){var e=p[a.keyCode];null!=e&&(e.funct(a),mxEvent.consume(a))}else 37==a.keyCode?(x(g.getSelectionCell(),mxConstants.DIRECTION_WEST),mxEvent.consume(a)):38==a.keyCode?(x(g.getSelectionCell(),mxConstants.DIRECTION_NORTH),mxEvent.consume(a)):39==a.keyCode?(x(g.getSelectionCell(),mxConstants.DIRECTION_EAST),mxEvent.consume(a)):40==a.keyCode&&(x(g.getSelectionCell(),mxConstants.DIRECTION_SOUTH),mxEvent.consume(a))}}catch(aa){console.log("error",
+aa)}mxEvent.isConsumed(a)||B.apply(this,arguments)};var K=g.connectVertex;g.connectVertex=function(a,c,e,k,l,m){var n=g.getIncomingEdges(a);return b(a)&&0<n.length?(e=z(a),k=e==mxConstants.DIRECTION_EAST||e==mxConstants.DIRECTION_WEST,l=c==mxConstants.DIRECTION_EAST||c==mxConstants.DIRECTION_WEST,e==c?f(a):k==l?d(a):C(a,c!=mxConstants.DIRECTION_NORTH&&c!=mxConstants.DIRECTION_WEST)):K.call(this,a,c,e,k,l,m)};g.getSubtree=function(a){var d=[a];!c(a)&&!b(a)||u(a)||g.traverse(a,!0,function(a,b){null!=
+b&&0>mxUtils.indexOf(d,b)&&d.push(b);0>mxUtils.indexOf(d,a)&&d.push(a);return!0});return d};var M=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){M.apply(this,arguments);(c(this.state.cell)||b(this.state.cell))&&0<this.graph.getOutgoingEdges(this.state.cell).length&&(this.moveHandle=mxUtils.createImage(a),this.moveHandle.setAttribute("title","Move Subtree"),this.moveHandle.style.position="absolute",this.moveHandle.style.cursor="pointer",this.moveHandle.style.width="18px",
 this.moveHandle.style.height="18px",this.graph.container.appendChild(this.moveHandle),mxEvent.addGestureListeners(this.moveHandle,mxUtils.bind(this,function(a){this.graph.graphHandler.start(this.state.cell,mxEvent.getClientX(a),mxEvent.getClientY(a),this.graph.getSubtree(this.state.cell));this.graph.graphHandler.cellWasClicked=!0;this.graph.isMouseTrigger=mxEvent.isMouseEvent(a);this.graph.isMouseDown=!0;n.hoverIcons.reset();mxEvent.consume(a)})))};var I=mxVertexHandler.prototype.redrawHandles;mxVertexHandler.prototype.redrawHandles=
 function(){I.apply(this,arguments);null!=this.moveHandle&&(this.moveHandle.style.left=this.state.x+this.state.width+(40>this.state.width?10:0)+2+"px",this.moveHandle.style.top=this.state.y+this.state.height+(40>this.state.height?10:0)+2+"px")};var S=mxVertexHandler.prototype.setHandlesVisible;mxVertexHandler.prototype.setHandlesVisible=function(a){S.apply(this,arguments);null!=this.moveHandle&&(this.moveHandle.style.display=a?"":"none")};var F=mxVertexHandler.prototype.destroy;mxVertexHandler.prototype.destroy=
-function(a,b){F.apply(this,arguments);null!=this.moveHandle&&(this.moveHandle.parentNode.removeChild(this.moveHandle),this.moveHandle=null)}};if("undefined"!==typeof Sidebar){var d=Sidebar.prototype.createAdvancedShapes;Sidebar.prototype.createAdvancedShapes=function(){var a=d.apply(this,arguments),b=this.graph;return a.concat([this.addEntry("tree container",function(){var a=new mxCell("Tree Container",new mxGeometry(0,0,220,160),"swimlane;html=1;startSize=20;horizontal=1;containerType=tree;");a.vertex=
-!0;return sb.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree mindmap mindmaps central idea branch topic",function(){var a=new mxCell("Mindmap",new mxGeometry(0,0,420,126),"swimlane;html=1;startSize=20;horizontal=1;containerType=tree;");a.vertex=!0;var b=new mxCell("Central Idea",new mxGeometry(160,60,100,40),"ellipse;whiteSpace=wrap;html=1;align=center;container=1;recursiveResize=0;treeFolding=1;treeMoving=1;");b.vertex=!0;var d=new mxCell("Topic",
-new mxGeometry(320,40,80,20),"whiteSpace=wrap;html=1;rounded=1;arcSize=50;align=center;verticalAlign=middle;container=1;recursiveResize=0;strokeWidth=1;autosize=1;spacing=4;treeFolding=1;treeMoving=1;");d.vertex=!0;var f=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");f.geometry.relative=!0;f.edge=!0;b.insertEdge(f,!0);d.insertEdge(f,!1);var c=new mxCell("Branch",new mxGeometry(320,80,72,26),"whiteSpace=wrap;html=1;shape=partialRectangle;top=0;left=0;bottom=1;right=0;points=[[0,1],[1,1]];strokeColor=#000000;fillColor=none;align=center;verticalAlign=bottom;routingCenterY=0.5;snapToPoint=1;container=1;recursiveResize=0;autosize=1;treeFolding=1;treeMoving=1;");
-c.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");e.geometry.relative=!0;e.edge=!0;b.insertEdge(e,!0);c.insertEdge(e,!1);var k=new mxCell("Topic",new mxGeometry(20,40,80,20),"whiteSpace=wrap;html=1;rounded=1;arcSize=50;align=center;verticalAlign=middle;container=1;recursiveResize=0;strokeWidth=1;autosize=1;spacing=4;treeFolding=1;treeMoving=1;");k.vertex=!0;var l=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");
+function(a,b){F.apply(this,arguments);null!=this.moveHandle&&(this.moveHandle.parentNode.removeChild(this.moveHandle),this.moveHandle=null)}};if("undefined"!==typeof Sidebar){var c=Sidebar.prototype.createAdvancedShapes;Sidebar.prototype.createAdvancedShapes=function(){var a=c.apply(this,arguments),b=this.graph;return a.concat([this.addEntry("tree container",function(){var a=new mxCell("Tree Container",new mxGeometry(0,0,220,160),"swimlane;html=1;startSize=20;horizontal=1;containerType=tree;");a.vertex=
+!0;return sb.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree mindmap mindmaps central idea branch topic",function(){var a=new mxCell("Mindmap",new mxGeometry(0,0,420,126),"swimlane;html=1;startSize=20;horizontal=1;containerType=tree;");a.vertex=!0;var b=new mxCell("Central Idea",new mxGeometry(160,60,100,40),"ellipse;whiteSpace=wrap;html=1;align=center;container=1;recursiveResize=0;treeFolding=1;treeMoving=1;");b.vertex=!0;var c=new mxCell("Topic",
+new mxGeometry(320,40,80,20),"whiteSpace=wrap;html=1;rounded=1;arcSize=50;align=center;verticalAlign=middle;container=1;recursiveResize=0;strokeWidth=1;autosize=1;spacing=4;treeFolding=1;treeMoving=1;");c.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");e.geometry.relative=!0;e.edge=!0;b.insertEdge(e,!0);c.insertEdge(e,!1);var d=new mxCell("Branch",new mxGeometry(320,80,72,26),"whiteSpace=wrap;html=1;shape=partialRectangle;top=0;left=0;bottom=1;right=0;points=[[0,1],[1,1]];strokeColor=#000000;fillColor=none;align=center;verticalAlign=bottom;routingCenterY=0.5;snapToPoint=1;container=1;recursiveResize=0;autosize=1;treeFolding=1;treeMoving=1;");
+d.vertex=!0;var f=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");f.geometry.relative=!0;f.edge=!0;b.insertEdge(f,!0);d.insertEdge(f,!1);var k=new mxCell("Topic",new mxGeometry(20,40,80,20),"whiteSpace=wrap;html=1;rounded=1;arcSize=50;align=center;verticalAlign=middle;container=1;recursiveResize=0;strokeWidth=1;autosize=1;spacing=4;treeFolding=1;treeMoving=1;");k.vertex=!0;var l=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");
 l.geometry.relative=!0;l.edge=!0;b.insertEdge(l,!0);k.insertEdge(l,!1);var m=new mxCell("Branch",new mxGeometry(20,80,72,26),"whiteSpace=wrap;html=1;shape=partialRectangle;top=0;left=0;bottom=1;right=0;points=[[0,1],[1,1]];strokeColor=#000000;fillColor=none;align=center;verticalAlign=bottom;routingCenterY=0.5;snapToPoint=1;container=1;recursiveResize=0;autosize=1;treeFolding=1;treeMoving=1;");m.vertex=!0;var g=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");
-g.geometry.relative=!0;g.edge=!0;b.insertEdge(g,!0);m.insertEdge(g,!1);a.insert(f);a.insert(e);a.insert(l);a.insert(g);a.insert(b);a.insert(d);a.insert(c);a.insert(k);a.insert(m);return sb.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree mindmap mindmaps central idea",function(){var a=new mxCell("Central Idea",new mxGeometry(0,0,100,40),"ellipse;whiteSpace=wrap;html=1;align=center;container=1;recursiveResize=0;treeFolding=1;treeMoving=1;");a.vertex=
+g.geometry.relative=!0;g.edge=!0;b.insertEdge(g,!0);m.insertEdge(g,!1);a.insert(e);a.insert(f);a.insert(l);a.insert(g);a.insert(b);a.insert(c);a.insert(d);a.insert(k);a.insert(m);return sb.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree mindmap mindmaps central idea",function(){var a=new mxCell("Central Idea",new mxGeometry(0,0,100,40),"ellipse;whiteSpace=wrap;html=1;align=center;container=1;recursiveResize=0;treeFolding=1;treeMoving=1;");a.vertex=
 !0;return sb.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree mindmap mindmaps branch",function(){var a=new mxCell("Branch",new mxGeometry(0,0,80,20),"whiteSpace=wrap;html=1;shape=partialRectangle;top=0;left=0;bottom=1;right=0;points=[[0,1],[1,1]];strokeColor=#000000;fillColor=none;align=center;verticalAlign=bottom;routingCenterY=0.5;snapToPoint=1;container=1;recursiveResize=0;autosize=1;treeFolding=1;treeMoving=1;");a.vertex=!0;var b=new mxCell("",
 new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");b.geometry.setTerminalPoint(new mxPoint(-40,40),!0);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!1);return sb.createVertexTemplateFromCells([a,b],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree mindmap mindmaps sub topic",function(){var a=new mxCell("Sub Topic",new mxGeometry(0,0,72,26),"whiteSpace=wrap;html=1;rounded=1;arcSize=50;align=center;verticalAlign=middle;container=1;recursiveResize=0;strokeWidth=1;autosize=1;spacing=4;treeFolding=1;treeMoving=1;");
 a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");b.geometry.setTerminalPoint(new mxPoint(-40,40),!0);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!1);return sb.createVertexTemplateFromCells([a,b],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree orgchart organization division",function(){var a=new mxCell("Orgchart",new mxGeometry(0,0,280,220),"swimlane;html=1;startSize=20;horizontal=1;containerType=tree;");
-a.vertex=!0;var d=new mxCell("Organization",new mxGeometry(80,40,120,60),"whiteSpace=wrap;html=1;align=center;treeFolding=1;treeMoving=1;container=1;recursiveResize=0;");b.setAttributeForCell(d,"treeRoot","1");d.vertex=!0;var f=new mxCell("Division",new mxGeometry(20,140,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;container=1;recursiveResize=0;treeFolding=1;treeMoving=1;");f.vertex=!0;var l=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;elbow=vertical;startArrow=none;endArrow=none;rounded=0;");
-l.geometry.relative=!0;l.edge=!0;d.insertEdge(l,!0);f.insertEdge(l,!1);var c=new mxCell("Division",new mxGeometry(160,140,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;container=1;recursiveResize=0;treeFolding=1;treeMoving=1;");c.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;elbow=vertical;startArrow=none;endArrow=none;rounded=0;");e.geometry.relative=!0;e.edge=!0;d.insertEdge(e,!0);c.insertEdge(e,!1);a.insert(l);a.insert(e);a.insert(d);a.insert(f);
-a.insert(c);return sb.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree root",function(){var a=new mxCell("Organization",new mxGeometry(0,0,120,60),"whiteSpace=wrap;html=1;align=center;treeFolding=1;treeMoving=1;container=1;recursiveResize=0;");b.setAttributeForCell(a,"treeRoot","1");a.vertex=!0;return sb.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree division",function(){var a=new mxCell("Division",
+a.vertex=!0;var c=new mxCell("Organization",new mxGeometry(80,40,120,60),"whiteSpace=wrap;html=1;align=center;treeFolding=1;treeMoving=1;container=1;recursiveResize=0;");b.setAttributeForCell(c,"treeRoot","1");c.vertex=!0;var e=new mxCell("Division",new mxGeometry(20,140,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;container=1;recursiveResize=0;treeFolding=1;treeMoving=1;");e.vertex=!0;var l=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;elbow=vertical;startArrow=none;endArrow=none;rounded=0;");
+l.geometry.relative=!0;l.edge=!0;c.insertEdge(l,!0);e.insertEdge(l,!1);var d=new mxCell("Division",new mxGeometry(160,140,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;container=1;recursiveResize=0;treeFolding=1;treeMoving=1;");d.vertex=!0;var f=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;elbow=vertical;startArrow=none;endArrow=none;rounded=0;");f.geometry.relative=!0;f.edge=!0;c.insertEdge(f,!0);d.insertEdge(f,!1);a.insert(l);a.insert(f);a.insert(c);a.insert(e);
+a.insert(d);return sb.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree root",function(){var a=new mxCell("Organization",new mxGeometry(0,0,120,60),"whiteSpace=wrap;html=1;align=center;treeFolding=1;treeMoving=1;container=1;recursiveResize=0;");b.setAttributeForCell(a,"treeRoot","1");a.vertex=!0;return sb.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree division",function(){var a=new mxCell("Division",
 new mxGeometry(20,40,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;container=1;recursiveResize=0;treeFolding=1;treeMoving=1;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;elbow=vertical;startArrow=none;endArrow=none;rounded=0;");b.geometry.setTerminalPoint(new mxPoint(0,0),!0);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!1);return sb.createVertexTemplateFromCells([a,b],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree sub sections",
-function(){var a=new mxCell("Sub Section",new mxGeometry(0,0,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;container=1;recursiveResize=0;treeFolding=1;treeMoving=1;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=none;rounded=0;targetPortConstraint=eastwest;sourcePortConstraint=northsouth;");b.geometry.setTerminalPoint(new mxPoint(110,-40),!0);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!1);var d=new mxCell("Sub Section",
-new mxGeometry(120,0,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;container=1;recursiveResize=0;treeFolding=1;treeMoving=1;");d.vertex=!0;var f=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=none;rounded=0;targetPortConstraint=eastwest;sourcePortConstraint=northsouth;");f.geometry.setTerminalPoint(new mxPoint(110,-40),!0);f.geometry.relative=!0;f.edge=!0;d.insertEdge(f,!1);return sb.createVertexTemplateFromCells([b,f,a,d],220,60,
+function(){var a=new mxCell("Sub Section",new mxGeometry(0,0,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;container=1;recursiveResize=0;treeFolding=1;treeMoving=1;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=none;rounded=0;targetPortConstraint=eastwest;sourcePortConstraint=northsouth;");b.geometry.setTerminalPoint(new mxPoint(110,-40),!0);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!1);var c=new mxCell("Sub Section",
+new mxGeometry(120,0,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;container=1;recursiveResize=0;treeFolding=1;treeMoving=1;");c.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=none;rounded=0;targetPortConstraint=eastwest;sourcePortConstraint=northsouth;");e.geometry.setTerminalPoint(new mxPoint(110,-40),!0);e.geometry.relative=!0;e.edge=!0;c.insertEdge(e,!1);return sb.createVertexTemplateFromCells([b,e,a,c],220,60,
 "Sub Sections")})])}}})();EditorUi.initMinimalTheme=function(){function a(a){var b=a.editor.graph;b.popupMenuHandler.hideMenu();null==a.formatWindow?(a.formatWindow=new l(a,mxResources.get("format"),Math.max(20,a.diagramContainer.clientWidth-240-12),56,240,Math.min(566,b.container.clientHeight-10),function(b){b=a.createFormat(b);b.init();return b}),a.formatWindow.window.minimumSize=new mxRectangle(0,0,240,80),a.formatWindow.window.setVisible(!0)):a.formatWindow.window.setVisible(!a.formatWindow.window.isVisible());a.formatWindow.window.isVisible()&&
 a.formatWindow.window.fit()}function b(a){var b=a.editor.graph;b.popupMenuHandler.hideMenu();new mxRectangle;if(null==a.sidebarWindow){var c=Math.min(b.container.clientWidth-10,218);a.sidebarWindow=new l(a,mxResources.get("shapes"),10,56,c-6,Math.min(650,b.container.clientHeight-30),function(b){function c(c,d){var f=a.menus.get(c),g=e.addMenu(d,mxUtils.bind(this,function(){f.funct.apply(this,arguments)}));g.style.cssText="position:absolute;border-top:1px solid lightgray;width:50%;height:24px;bottom:0px;text-align:center;cursor:pointer;padding:6px 0 0 0;cusor:pointer;";
 g.className="geTitle";b.appendChild(g);return g}var d=document.createElement("div");d.style.cssText="position:absolute;left:0;right:0;border-top:1px solid lightgray;height:24px;bottom:31px;text-align:center;cursor:pointer;padding:6px 0 0 0;";d.className="geTitle";d.innerHTML='<span style="font-size:18px;margin-right:5px;">+</span>';mxUtils.write(d,mxResources.get("moreShapes"));b.appendChild(d);mxEvent.addListener(d,"click",function(){a.actions.get("shapes").funct()});var e=new Menubar(a,b);if(!Editor.enableCustomLibraries||
 "1"==urlParams.embed&&"1"!=urlParams.libraries)d.style.bottom="0";else if(null!=a.actions.get("newLibrary")){d=document.createElement("div");d.style.cssText="position:absolute;left:0px;width:50%;border-top:1px solid lightgray;height:30px;bottom:0px;text-align:center;cursor:pointer;padding:0px;";d.className="geTitle";var f=document.createElement("span");f.style.cssText="position:relative;top:6px;";mxUtils.write(f,mxResources.get("newLibrary"));d.appendChild(f);b.appendChild(d);mxEvent.addListener(d,
 "click",a.actions.get("newLibrary").funct);d=document.createElement("div");d.style.cssText="position:absolute;left:50%;width:50%;border-top:1px solid lightgray;height:30px;bottom:0px;text-align:center;cursor:pointer;padding:0px;border-left: 1px solid lightgray;";d.className="geTitle";f=document.createElement("span");f.style.cssText="position:relative;top:6px;";mxUtils.write(f,mxResources.get("openLibrary"));d.appendChild(f);b.appendChild(d);mxEvent.addListener(d,"click",a.actions.get("openLibrary").funct)}else d=
 c("newLibrary",mxResources.get("newLibrary")),d.style.boxSizing="border-box",d.style.paddingRight="6px",d.style.paddingLeft="6px",d.style.height="32px",d.style.left="0",d=c("openLibraryFrom",mxResources.get("openLibraryFrom")),d.style.borderLeft="1px solid lightgray",d.style.boxSizing="border-box",d.style.paddingRight="6px",d.style.paddingLeft="6px",d.style.height="32px",d.style.left="50%";b.appendChild(a.sidebar.container);b.style.overflow="hidden";return b});a.sidebarWindow.window.minimumSize=new mxRectangle(0,
-0,90,90);a.sidebarWindow.window.setVisible(!0);a.getLocalData("sidebar",function(b){a.sidebar.showEntries(b,null,!0)});a.restoreLibraries()}else a.sidebarWindow.window.setVisible(!a.sidebarWindow.window.isVisible());a.sidebarWindow.window.isVisible()&&a.sidebarWindow.window.fit()}if("1"==urlParams.lightbox||"0"==urlParams.chrome||"undefined"===typeof window.Format||"undefined"===typeof window.Menus)window.uiTheme=null;else{var f=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth;
-try{var d=document.createElement("style");d.type="text/css";d.innerHTML="* { -webkit-font-smoothing: antialiased; }html body .mxWindow button.geBtn { font-size:12px !important; margin-left: 0; }html body table.mxWindow td.mxWindowPane div.mxWindowPane *:not(svg *) { font-size:9pt; }table.mxWindow * :not(svg *) { font-size:13px; }html body div.diagramContainer button, html body button.geBtn { font-size:14px; font-weight:700;border-radius: 5px; }html body button.geBtn:active { opacity: 0.6; }html body a.geMenuItem { opacity: 0.75; cursor: pointer; user-select:none; }html body a.geMenuItem[disabled] { opacity: 0.2; }html body a.geMenuItem[disabled]:active { opacity: 0.2; }html body div.geActivePage { opacity: 0.7; }html body a.geMenuItem:active { opacity: 0.2; }html body .geToolbarButton { opacity: 0.3; }html body .geToolbarButton:active { opacity: 0.15; }html body .geStatus:active { opacity: 0.5; }html table.mxPopupMenu tr.mxPopupMenuItemHover:active { opacity:0.7; }html body .geDialog input, html body .geToolbarContainer input, html body .mxWindow input {padding:2px;display:inline-block; }div.geDialog { border-radius: 5px; }html body div.geDialog button.geBigButton { color: #fff !important; border: none !important; }.mxWindow button, .geDialog select, .mxWindow select { display:inline-block; }html body .mxWindow .geColorBtn, html body .geDialog .geColorBtn { background: none; }html body div.diagramContainer button, html body .mxWindow button, html body .geDialog button { min-width: 0px; border-radius: 5px; color: #353535 !important; border-style: solid; border-width: 1px; border-color: rgb(216, 216, 216); }html body div.diagramContainer button:hover, html body .mxWindow button:hover, html body .geDialog button:hover { border-color: rgb(177, 177, 177); }html body div.diagramContainer button:active, html body .mxWindow button:active, html body .geDialog button:active { opacity: 0.6; }div.diagramContainer button.geBtn, .mxWindow button.geBtn, .geDialog button.geBtn { min-width:72px; font-weight: 600; background: none; }div.diagramContainer button.gePrimaryBtn, .mxWindow button.gePrimaryBtn, .geDialog button.gePrimaryBtn, html body .gePrimaryBtn { background: #29b6f2; color: #fff !important; border: none; box-shadow: none; }html body .gePrimaryBtn:hover { background: #29b6f2; border: none; box-shadow: inherit; }html body button.gePrimaryBtn:hover { background: #29b6f2; border: none; }.geBtn button { min-width:72px !important; }div.geToolbarContainer a.geButton { margin:0px; padding: 0 2px 4px 2px; } .geDialog, .mxWindow td.mxWindowPane *, div.geSprite, td.mxWindowTitle, .geDiagramContainer { box-sizing:content-box; }.mxWindow div button.geStyleButton { box-sizing: border-box; }table.mxWindow td.mxWindowPane button.geColorBtn { padding:0px; box-sizing: border-box; }td.mxWindowPane .geSidebarContainer button { padding:2px; box-sizing: border-box; }html body .geMenuItem { font-size:14px; text-decoration: none; font-weight: normal; padding: 6px 10px 6px 10px; border: none; border-radius: 5px; color: #353535; box-shadow: inset 0 0 0 1px rgba(0,0,0,.11), inset 0 -1px 0 0 rgba(0,0,0,.08), 0 1px 2px 0 rgba(0,0,0,.04); }.geToolbarContainer { background:#fff !important; }div.geSidebarContainer { background-color: #ffffff; }div.geSidebarContainer .geTitle { background-color:#fdfdfd; }div.mxWindow td.mxWindowPane button { background-image: none; float: none; }td.mxWindowTitle { height: 22px !important; background: none !important; font-size: 13px !important; text-align:center !important; border-bottom:1px solid lightgray; }div.mxWindow, div.mxWindowTitle { background-image: none !important; background-color:#fff !important; }div.mxWindow { border-radius:5px; box-shadow: 0px 0px 2px #C0C0C0 !important;}div.mxWindow * { font-family: inherit !important; }html div.geVerticalHandle { position:absolute;bottom:0px;left:50%;cursor:row-resize;width:11px;height:11px;background:white;margin-bottom:-6px; margin-left:-6px; border: none; border-radius: 6px; box-shadow: inset 0 0 0 1px rgba(0,0,0,.11), inset 0 -1px 0 0 rgba(0,0,0,.08), 0 1px 2px 0 rgba(0,0,0,.04); }html div.geInactivePage { background: rgb(249, 249, 249) !important; color: #A0A0A0 !important; } html div.geActivePage { background: white !important;color: #353535 !important; } html div.mxRubberband { border:1px solid; border-color: #29b6f2 !important; background:rgba(41,182,242,0.4) !important; } html body div.mxPopupMenu { border-radius:5px; border:1px solid #c0c0c0; padding:5px 0 5px 0; box-shadow: 0px 4px 17px -4px rgba(96,96,96,1); } html table.mxPopupMenu td.mxPopupMenuItem { color: #353535; font-size: 14px; padding-top: 4px; padding-bottom: 4px; }html table.mxPopupMenu tr.mxPopupMenuItemHover { background-color: #29b6f2; }html tr.mxPopupMenuItemHover td.mxPopupMenuItem, html tr.mxPopupMenuItemHover td.mxPopupMenuItem span { color: #fff !important; }html tr.mxPopupMenuItem, html td.mxPopupMenuItem { transition-property: none !important; }html table.mxPopupMenu hr { height: 2px; background-color: rgba(0,0,0,.07); margin: 5px 0; }"+
-(mxClient.IS_IOS?"html input[type=checkbox], html input[type=radio] { height:12px; }":"");document.getElementsByTagName("head")[0].appendChild(d)}catch(g){}var l=function(a,b,c,d,e,f,k){var g=document.createElement("div");g.className="geSidebarContainer";g.style.position="absolute";g.style.width="100%";g.style.height="100%";g.style.border="1px solid whiteSmoke";g.style.overflowX="hidden";g.style.overflowY="auto";k(g);this.window=new mxWindow(b,g,c,d,e,f,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);
+0,90,90);a.sidebarWindow.window.setVisible(!0);a.getLocalData("sidebar",function(b){a.sidebar.showEntries(b,null,!0)});a.restoreLibraries()}else a.sidebarWindow.window.setVisible(!a.sidebarWindow.window.isVisible());a.sidebarWindow.window.isVisible()&&a.sidebarWindow.window.fit()}if("1"==urlParams.lightbox||"0"==urlParams.chrome||"undefined"===typeof window.Format||"undefined"===typeof window.Menus)window.uiTheme=null;else{var e=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth;
+try{var c=document.createElement("style");c.type="text/css";c.innerHTML="* { -webkit-font-smoothing: antialiased; }html body .mxWindow button.geBtn { font-size:12px !important; margin-left: 0; }html body table.mxWindow td.mxWindowPane div.mxWindowPane *:not(svg *) { font-size:9pt; }table.mxWindow * :not(svg *) { font-size:13px; }html body div.diagramContainer button, html body button.geBtn { font-size:14px; font-weight:700;border-radius: 5px; }html body button.geBtn:active { opacity: 0.6; }html body a.geMenuItem { opacity: 0.75; cursor: pointer; user-select:none; }html body a.geMenuItem[disabled] { opacity: 0.2; }html body a.geMenuItem[disabled]:active { opacity: 0.2; }html body div.geActivePage { opacity: 0.7; }html body a.geMenuItem:active { opacity: 0.2; }html body .geToolbarButton { opacity: 0.3; }html body .geToolbarButton:active { opacity: 0.15; }html body .geStatus:active { opacity: 0.5; }html table.mxPopupMenu tr.mxPopupMenuItemHover:active { opacity:0.7; }html body .geDialog input, html body .geToolbarContainer input, html body .mxWindow input {padding:2px;display:inline-block; }div.geDialog { border-radius: 5px; }html body div.geDialog button.geBigButton { color: #fff !important; border: none !important; }.mxWindow button, .geDialog select, .mxWindow select { display:inline-block; }html body .mxWindow .geColorBtn, html body .geDialog .geColorBtn { background: none; }html body div.diagramContainer button, html body .mxWindow button, html body .geDialog button { min-width: 0px; border-radius: 5px; color: #353535 !important; border-style: solid; border-width: 1px; border-color: rgb(216, 216, 216); }html body div.diagramContainer button:hover, html body .mxWindow button:hover, html body .geDialog button:hover { border-color: rgb(177, 177, 177); }html body div.diagramContainer button:active, html body .mxWindow button:active, html body .geDialog button:active { opacity: 0.6; }div.diagramContainer button.geBtn, .mxWindow button.geBtn, .geDialog button.geBtn { min-width:72px; font-weight: 600; background: none; }div.diagramContainer button.gePrimaryBtn, .mxWindow button.gePrimaryBtn, .geDialog button.gePrimaryBtn, html body .gePrimaryBtn { background: #29b6f2; color: #fff !important; border: none; box-shadow: none; }html body .gePrimaryBtn:hover { background: #29b6f2; border: none; box-shadow: inherit; }html body button.gePrimaryBtn:hover { background: #29b6f2; border: none; }.geBtn button { min-width:72px !important; }div.geToolbarContainer a.geButton { margin:0px; padding: 0 2px 4px 2px; } .geDialog, .mxWindow td.mxWindowPane *, div.geSprite, td.mxWindowTitle, .geDiagramContainer { box-sizing:content-box; }.mxWindow div button.geStyleButton { box-sizing: border-box; }table.mxWindow td.mxWindowPane button.geColorBtn { padding:0px; box-sizing: border-box; }td.mxWindowPane .geSidebarContainer button { padding:2px; box-sizing: border-box; }html body .geMenuItem { font-size:14px; text-decoration: none; font-weight: normal; padding: 6px 10px 6px 10px; border: none; border-radius: 5px; color: #353535; box-shadow: inset 0 0 0 1px rgba(0,0,0,.11), inset 0 -1px 0 0 rgba(0,0,0,.08), 0 1px 2px 0 rgba(0,0,0,.04); }.geToolbarContainer { background:#fff !important; }div.geSidebarContainer { background-color: #ffffff; }div.geSidebarContainer .geTitle { background-color:#fdfdfd; }div.mxWindow td.mxWindowPane button { background-image: none; float: none; }td.mxWindowTitle { height: 22px !important; background: none !important; font-size: 13px !important; text-align:center !important; border-bottom:1px solid lightgray; }div.mxWindow, div.mxWindowTitle { background-image: none !important; background-color:#fff !important; }div.mxWindow { border-radius:5px; box-shadow: 0px 0px 2px #C0C0C0 !important;}div.mxWindow * { font-family: inherit !important; }html div.geVerticalHandle { position:absolute;bottom:0px;left:50%;cursor:row-resize;width:11px;height:11px;background:white;margin-bottom:-6px; margin-left:-6px; border: none; border-radius: 6px; box-shadow: inset 0 0 0 1px rgba(0,0,0,.11), inset 0 -1px 0 0 rgba(0,0,0,.08), 0 1px 2px 0 rgba(0,0,0,.04); }html div.geInactivePage { background: rgb(249, 249, 249) !important; color: #A0A0A0 !important; } html div.geActivePage { background: white !important;color: #353535 !important; } html div.mxRubberband { border:1px solid; border-color: #29b6f2 !important; background:rgba(41,182,242,0.4) !important; } html body div.mxPopupMenu { border-radius:5px; border:1px solid #c0c0c0; padding:5px 0 5px 0; box-shadow: 0px 4px 17px -4px rgba(96,96,96,1); } html table.mxPopupMenu td.mxPopupMenuItem { color: #353535; font-size: 14px; padding-top: 4px; padding-bottom: 4px; }html table.mxPopupMenu tr.mxPopupMenuItemHover { background-color: #29b6f2; }html tr.mxPopupMenuItemHover td.mxPopupMenuItem, html tr.mxPopupMenuItemHover td.mxPopupMenuItem span { color: #fff !important; }html tr.mxPopupMenuItem, html td.mxPopupMenuItem { transition-property: none !important; }html table.mxPopupMenu hr { height: 2px; background-color: rgba(0,0,0,.07); margin: 5px 0; }"+
+(mxClient.IS_IOS?"html input[type=checkbox], html input[type=radio] { height:12px; }":"");document.getElementsByTagName("head")[0].appendChild(c)}catch(g){}var l=function(a,b,c,d,e,f,k){var g=document.createElement("div");g.className="geSidebarContainer";g.style.position="absolute";g.style.width="100%";g.style.height="100%";g.style.border="1px solid whiteSmoke";g.style.overflowX="hidden";g.style.overflowY="auto";k(g);this.window=new mxWindow(b,g,c,d,e,f,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);
 this.window.setResizable(!0);this.window.setClosable(!0);this.window.setVisible(!0);this.window.setLocation=function(a,b){var c=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight;a=Math.max(0,Math.min(a,(window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth)-this.table.clientWidth));b=Math.max(0,Math.min(b,c-this.table.clientHeight-48));this.getX()==a&&this.getY()==b||mxWindow.prototype.setLocation.apply(this,arguments)};mxClient.IS_SF&&
 (this.window.div.onselectstart=mxUtils.bind(this,function(b){null==b&&(b=window.event);return null!=b&&a.isSelectionAllowed(b)}))};Editor.checkmarkImage=Graph.createSvgImage(22,18,'<path transform="translate(4 0)" d="M7.181,15.007a1,1,0,0,1-.793-0.391L3.222,10.5A1,1,0,1,1,4.808,9.274L7.132,12.3l6.044-8.86A1,1,0,1,1,14.83,4.569l-6.823,10a1,1,0,0,1-.8.437H7.181Z" fill="#29b6f2"/>').src;mxWindow.prototype.closeImage=Graph.createSvgImage(18,10,'<path d="M 5 1 L 13 9 M 13 1 L 5 9" stroke="#C0C0C0" stroke-width="2"/>').src;
 mxWindow.prototype.minimizeImage=Graph.createSvgImage(14,10,'<path d="M 3 7 L 7 3 L 11 7" stroke="#C0C0C0" stroke-width="2" fill="#ffffff"/>').src;mxWindow.prototype.normalizeImage=Graph.createSvgImage(14,10,'<path d="M 3 3 L 7 7 L 11 3" stroke="#C0C0C0" stroke-width="2" fill="#ffffff"/>').src;mxConstraintHandler.prototype.pointImage=Graph.createSvgImage(5,5,'<path d="m 0 0 L 5 5 M 0 5 L 5 0" stroke="#29b6f2"/>');mxOutline.prototype.sizerImage=null;mxConstants.VERTEX_SELECTION_COLOR="#C0C0C0";mxConstants.EDGE_SELECTION_COLOR=
 "#C0C0C0";mxConstants.CONNECT_HANDLE_FILLCOLOR="#cee7ff";mxConstants.DEFAULT_VALID_COLOR="#29b6f2";mxConstants.GUIDE_COLOR="#C0C0C0";mxConstants.HIGHLIGHT_STROKEWIDTH=5;mxConstants.HIGHLIGHT_OPACITY=35;mxConstants.OUTLINE_COLOR="#29b6f2";mxConstants.OUTLINE_HANDLE_FILLCOLOR="#29b6f2";mxConstants.OUTLINE_HANDLE_STROKECOLOR="#fff";Graph.prototype.svgShadowColor="#3D4574";Graph.prototype.svgShadowOpacity="0.4";Graph.prototype.svgShadowSize="0.6";Graph.prototype.svgShadowBlur="1.2";Format.prototype.inactiveTabBackgroundColor=
 "#f0f0f0";mxGraphHandler.prototype.previewColor="#C0C0C0";mxRubberband.prototype.defaultOpacity=50;HoverIcons.prototype.inactiveOpacity=25;Format.prototype.showCloseButton=!1;EditorUi.prototype.closableScratchpad=!1;EditorUi.prototype.toolbarHeight=46;EditorUi.prototype.footerHeight=0;Graph.prototype.editAfterInsert=!mxClient.IS_IOS&&!mxClient.IS_ANDROID;Editor.prototype.isChromelessView=function(){return!1};Graph.prototype.isLightboxView=function(){return!1};var m=EditorUi.prototype.updateTabContainer;
 EditorUi.prototype.updateTabContainer=function(){null!=this.tabContainer&&(this.tabContainer.style.right="70px",this.diagramContainer.style.bottom=this.tabContainerHeight+"px");m.apply(this,arguments)};var q=EditorUi.prototype.updateActionStates;EditorUi.prototype.updateActionStates=function(){q.apply(this,arguments);this.menus.get("save").setEnabled(null!=this.getCurrentFile()||"1"==urlParams.embed)};var u=Menus.prototype.addShortcut;Menus.prototype.addShortcut=function(a,b){null!=b.shortcut&&900>
-f&&!mxClient.IS_IOS?a.firstChild.nextSibling.setAttribute("title",b.shortcut):u.apply(this,arguments)};var z=App.prototype.updateUserElement;App.prototype.updateUserElement=function(){z.apply(this,arguments);if(null!=this.userElement){var a=this.userElement;a.style.cssText="position:relative;margin-right:4px;cursor:pointer;display:"+a.style.display;a.className="geToolbarButton";a.innerHTML="";a.style.backgroundImage="url("+Editor.userImage+")";a.style.backgroundPosition="center center";a.style.backgroundRepeat=
+e&&!mxClient.IS_IOS?a.firstChild.nextSibling.setAttribute("title",b.shortcut):u.apply(this,arguments)};var z=App.prototype.updateUserElement;App.prototype.updateUserElement=function(){z.apply(this,arguments);if(null!=this.userElement){var a=this.userElement;a.style.cssText="position:relative;margin-right:4px;cursor:pointer;display:"+a.style.display;a.className="geToolbarButton";a.innerHTML="";a.style.backgroundImage="url("+Editor.userImage+")";a.style.backgroundPosition="center center";a.style.backgroundRepeat=
 "no-repeat";a.style.backgroundSize="24px 24px";a.style.height="24px";a.style.width="24px";a.style.cssFloat="right";a.setAttribute("title",mxResources.get("changeUser"));"none"!=a.style.display&&(a.style.display="inline-block")}};var C=App.prototype.updateButtonContainer;App.prototype.updateButtonContainer=function(){C.apply(this,arguments);if(null!=this.shareButton){var a=this.shareButton;a.style.cssText="display:inline-block;position:relative;box-sizing:border-box;margin-right:4px;cursor:pointer;";
 a.className="geToolbarButton";a.innerHTML="";a.style.backgroundImage="url("+Editor.shareImage+")";a.style.backgroundPosition="center center";a.style.backgroundRepeat="no-repeat";a.style.backgroundSize="24px 24px";a.style.height="24px";a.style.width="24px"}};EditorUi.prototype.addEmbedButtons=function(){if(null!=this.buttonContainer){var a=document.createElement("div");a.style.display="inline-block";a.style.position="relative";a.style.marginTop="8px";a.style.marginRight="4px";var b=document.createElement("a");
 b.className="geMenuItem gePrimaryBtn";b.style.marginLeft="8px";b.style.padding="6px";"1"==urlParams.noSaveBtn?(mxUtils.write(b,mxResources.get("saveAndExit")),b.setAttribute("title",mxResources.get("saveAndExit")),mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("saveAndExit").funct()})),a.appendChild(b)):(mxUtils.write(b,mxResources.get("save")),b.setAttribute("title",mxResources.get("save")+" ("+Editor.ctrlKey+"+S)"),mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("save").funct()})),
 a.appendChild(b),"1"==urlParams.saveAndExit&&(b=document.createElement("a"),mxUtils.write(b,mxResources.get("saveAndExit")),b.setAttribute("title",mxResources.get("saveAndExit")),b.className="geMenuItem",b.style.marginLeft="6px",b.style.padding="6px",mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("saveAndExit").funct()})),a.appendChild(b)));b=document.createElement("a");mxUtils.write(b,mxResources.get("exit"));b.setAttribute("title",mxResources.get("exit"));b.className=
-"geMenuItem";b.style.marginLeft="6px";b.style.padding="6px";mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("exit").funct()}));a.appendChild(b);this.buttonContainer.appendChild(a);this.buttonContainer.style.top="6px"}};Sidebar.prototype.getTooltipOffset=function(){var a=mxUtils.getOffset(this.editorUi.sidebarWindow.window.div);a.y+=40;return a};var c=Menus.prototype.createPopupMenu;Menus.prototype.createPopupMenu=function(a,b,d){var e=this.editorUi.editor.graph;a.smartSeparators=
-!0;c.apply(this,arguments);mxUtils.bind(this,function(a,b){var c=new FilenameDialog(this.editorUi,a,mxResources.get("apply"),function(a){b(parseFloat(a))},mxResources.get("spacing"));this.editorUi.showDialog(c.container,300,80,!0,!0);c.init()});1==e.getSelectionCount()?(this.addMenuItems(a,["editTooltip","-","editStyle","editGeometry","-"],null,d),e.isCellFoldable(e.getSelectionCell())&&this.addMenuItems(a,e.isCellCollapsed(b)?["expand"]:["collapse"],null,d),this.addMenuItems(a,["collapsible","-",
-"lockUnlock","enterGroup"],null,d),a.addSeparator(),this.addSubmenu("layout",a)):e.isSelectionEmpty()&&e.isEnabled()?(a.addSeparator(),this.addMenuItems(a,["editData"],null,d),a.addSeparator(),this.addSubmenu("layout",a),this.addSubmenu("view",a,null,mxResources.get("options")),a.addSeparator(),this.addSubmenu("insert",a),this.addMenuItems(a,["-","exitGroup"],null,d)):e.isEnabled()&&this.addMenuItems(a,["-","lockUnlock"],null,d)};EditorUi.prototype.toggleFormatPanel=function(b){null!=this.formatWindow?
-this.formatWindow.window.setVisible(b?!1:!this.formatWindow.window.isVisible()):a(this)};DiagramFormatPanel.prototype.isMathOptionVisible=function(){return!0};var e=EditorUi.prototype.destroy;EditorUi.prototype.destroy=function(){null!=this.sidebarWindow&&(this.sidebarWindow.window.setVisible(!1),this.sidebarWindow.window.destroy(),this.sidebarWindow=null);null!=this.formatWindow&&(this.formatWindow.window.setVisible(!1),this.formatWindow.window.destroy(),this.formatWindow=null);null!=this.actions.outlineWindow&&
+"geMenuItem";b.style.marginLeft="6px";b.style.padding="6px";mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("exit").funct()}));a.appendChild(b);this.buttonContainer.appendChild(a);this.buttonContainer.style.top="6px"}};Sidebar.prototype.getTooltipOffset=function(){var a=mxUtils.getOffset(this.editorUi.sidebarWindow.window.div);a.y+=40;return a};var d=Menus.prototype.createPopupMenu;Menus.prototype.createPopupMenu=function(a,b,c){var e=this.editorUi.editor.graph;a.smartSeparators=
+!0;d.apply(this,arguments);mxUtils.bind(this,function(a,b){var c=new FilenameDialog(this.editorUi,a,mxResources.get("apply"),function(a){b(parseFloat(a))},mxResources.get("spacing"));this.editorUi.showDialog(c.container,300,80,!0,!0);c.init()});1==e.getSelectionCount()?(this.addMenuItems(a,["editTooltip","-","editStyle","editGeometry","-"],null,c),e.isCellFoldable(e.getSelectionCell())&&this.addMenuItems(a,e.isCellCollapsed(b)?["expand"]:["collapse"],null,c),this.addMenuItems(a,["collapsible","-",
+"lockUnlock","enterGroup"],null,c),a.addSeparator(),this.addSubmenu("layout",a)):e.isSelectionEmpty()&&e.isEnabled()?(a.addSeparator(),this.addMenuItems(a,["editData"],null,c),a.addSeparator(),this.addSubmenu("layout",a),this.addSubmenu("view",a,null,mxResources.get("options")),a.addSeparator(),this.addSubmenu("insert",a),this.addMenuItems(a,["-","exitGroup"],null,c)):e.isEnabled()&&this.addMenuItems(a,["-","lockUnlock"],null,c)};EditorUi.prototype.toggleFormatPanel=function(b){null!=this.formatWindow?
+this.formatWindow.window.setVisible(b?!1:!this.formatWindow.window.isVisible()):a(this)};DiagramFormatPanel.prototype.isMathOptionVisible=function(){return!0};var f=EditorUi.prototype.destroy;EditorUi.prototype.destroy=function(){null!=this.sidebarWindow&&(this.sidebarWindow.window.setVisible(!1),this.sidebarWindow.window.destroy(),this.sidebarWindow=null);null!=this.formatWindow&&(this.formatWindow.window.setVisible(!1),this.formatWindow.window.destroy(),this.formatWindow=null);null!=this.actions.outlineWindow&&
 (this.actions.outlineWindow.window.setVisible(!1),this.actions.outlineWindow.window.destroy(),this.actions.outlineWindow=null);null!=this.actions.layersWindow&&(this.actions.layersWindow.window.setVisible(!1),this.actions.layersWindow.window.destroy(),this.actions.layersWindow=null);null!=this.menus.tagsWindow&&(this.menus.tagsWindow.window.setVisible(!1),this.menus.tagsWindow.window.destroy(),this.menus.tagsWindow=null);null!=this.menus.findWindow&&(this.menus.findWindow.window.setVisible(!1),this.menus.findWindow.window.destroy(),
-this.menus.findWindow=null);e.apply(this,arguments)};var k=EditorUi.prototype.setGraphEnabled;EditorUi.prototype.setGraphEnabled=function(a){k.apply(this,arguments);a||(null!=this.sidebarWindow&&this.sidebarWindow.window.setVisible(!1),null!=this.formatWindow&&this.formatWindow.window.setVisible(!1))};EditorUi.prototype.chromelessWindowResize=function(){};var x=Menus.prototype.init;Menus.prototype.init=function(){x.apply(this,arguments);var c=this.editorUi,d=c.editor.graph;c.actions.get("editDiagram").label=
+this.menus.findWindow=null);f.apply(this,arguments)};var k=EditorUi.prototype.setGraphEnabled;EditorUi.prototype.setGraphEnabled=function(a){k.apply(this,arguments);a||(null!=this.sidebarWindow&&this.sidebarWindow.window.setVisible(!1),null!=this.formatWindow&&this.formatWindow.window.setVisible(!1))};EditorUi.prototype.chromelessWindowResize=function(){};var x=Menus.prototype.init;Menus.prototype.init=function(){x.apply(this,arguments);var c=this.editorUi,d=c.editor.graph;c.actions.get("editDiagram").label=
 mxResources.get("formatXml")+"...";c.actions.get("createShape").label=mxResources.get("shape")+"...";c.actions.get("outline").label=mxResources.get("outline")+"...";c.actions.get("layers").label=mxResources.get("layers")+"...";c.actions.put("importCsv",new Action(mxResources.get("csv")+"...",function(){d.popupMenuHandler.hideMenu();c.showImportCsvDialog()}));c.actions.put("importText",new Action(mxResources.get("text")+"...",function(){var a=new ParseDialog(c,"Insert from Text");c.showDialog(a.container,
 620,420,!0,!1);a.init()}));c.actions.put("formatSql",new Action(mxResources.get("formatSql")+"...",function(){var a=new ParseDialog(c,"Insert from Text","formatSql");c.showDialog(a.container,620,420,!0,!1);a.init()}));c.actions.put("toggleShapes",new Action(mxResources.get("shapes")+"...",function(){b(c)}));c.actions.put("toggleFormat",new Action(mxResources.get("format")+"...",function(){a(c)}));EditorUi.enablePlantUml&&!c.isOffline()&&c.actions.put("plantUml",new Action(mxResources.get("plantUml")+
 "...",function(){var a=new ParseDialog(c,"Insert from Text","plantUml");c.showDialog(a.container,620,420,!0,!1);a.init()}));this.put("diagram",new Menu(mxUtils.bind(this,function(a,b){var d=c.getCurrentFile();c.menus.addSubmenu("extras",a,b,mxResources.get("preferences"));a.addSeparator(b);mxClient.IS_CHROMEAPP||EditorUi.isElectronApp?(c.menus.addMenuItems(a,["new","open","-"],b),EditorUi.isElectronApp&&c.menus.addMenuItems(a,["synchronize","-"],b),c.menus.addMenuItems(a,["save","saveAs","-"],b)):
@@ -3511,17 +3515,17 @@ b)})))};var n=EditorUi.prototype.init;EditorUi.prototype.init=function(){functio
 e,"geMenuItem");null!=c?(e.style.backgroundImage="url("+c+")",e.style.backgroundPosition="center center",e.style.backgroundRepeat="no-repeat",e.style.backgroundSize="24px 24px",e.style.width="34px",e.innerHTML=""):b||(e.style.backgroundImage="url("+mxWindow.prototype.normalizeImage+")",e.style.backgroundPosition="right 6px center",e.style.backgroundRepeat="no-repeat",e.style.paddingRight="22px");return e}function c(a,b,c,d,e,f){var g=document.createElement("a");g.className="geMenuItem";g.style.display=
 "inline-block";g.style.boxSizing="border-box";g.style.height="30px";g.style.padding="6px";g.style.position="relative";g.style.verticalAlign="top";g.style.top="0px";null!=l.statusContainer?p.insertBefore(g,l.statusContainer):p.appendChild(g);null!=f?(g.style.backgroundImage="url("+f+")",g.style.backgroundPosition="center center",g.style.backgroundRepeat="no-repeat",g.style.backgroundSize="24px 24px",g.style.width="34px"):mxUtils.write(g,a);mxEvent.addListener(g,mxClient.IS_POINTER?"pointerdown":"mousedown",
 mxUtils.bind(this,function(a){a.preventDefault()}));mxEvent.addListener(g,"click",function(a){"disabled"!=g.getAttribute("disabled")&&b(a);mxEvent.consume(a)});null==c&&(g.style.marginRight="4px");null!=d&&g.setAttribute("title",d);null!=e&&(a=function(){e.isEnabled()?(g.removeAttribute("disabled"),g.style.cursor="pointer"):(g.setAttribute("disabled","disabled"),g.style.cursor="default")},e.addListener("stateChanged",a),a());return g}function d(a,b){var c=document.createElement("div");c.className=
-"geMenuItem";c.style.display="inline-block";c.style.verticalAlign="top";c.style.marginRight="6px";c.style.padding="0 4px 0 4px";c.style.height="30px";c.style.position="relative";c.style.top="0px";for(var d=0;d<a.length;d++)null!=a[d]&&(a[d].style.margin="0px",a[d].style.boxShadow="none",c.appendChild(a[d]));null!=b&&mxUtils.setOpacity(c,b);null!=l.statusContainer?p.insertBefore(c,l.statusContainer):p.appendChild(c);return c}function e(){for(var b=p.firstChild;null!=b;){var e=b.nextSibling;"geMenuItem"!=
-b.className&&"geItem"!=b.className||b.parentNode.removeChild(b);b=e}q=p.firstChild;f=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth;(b=1E3>f)||a("diagram");d([b?a("diagram",null,IMAGE_PATH+"/drawlogo.svg"):null,c(mxResources.get("shapes"),l.actions.get("toggleShapes").funct,null,mxResources.get("shapes"),l.actions.get("image"),b?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTMgMTN2OGg4di04aC04ek0zIDIxaDh2LThIM3Y4ek0zIDN2OGg4VjNIM3ptMTMuNjYtMS4zMUwxMSA3LjM0IDE2LjY2IDEzbDUuNjYtNS42Ni01LjY2LTUuNjV6Ii8+PC9zdmc+":
+"geMenuItem";c.style.display="inline-block";c.style.verticalAlign="top";c.style.marginRight="6px";c.style.padding="0 4px 0 4px";c.style.height="30px";c.style.position="relative";c.style.top="0px";for(var d=0;d<a.length;d++)null!=a[d]&&(a[d].style.margin="0px",a[d].style.boxShadow="none",c.appendChild(a[d]));null!=b&&mxUtils.setOpacity(c,b);null!=l.statusContainer?p.insertBefore(c,l.statusContainer):p.appendChild(c);return c}function f(){for(var b=p.firstChild;null!=b;){var f=b.nextSibling;"geMenuItem"!=
+b.className&&"geItem"!=b.className||b.parentNode.removeChild(b);b=f}q=p.firstChild;e=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth;(b=1E3>e)||a("diagram");d([b?a("diagram",null,IMAGE_PATH+"/drawlogo.svg"):null,c(mxResources.get("shapes"),l.actions.get("toggleShapes").funct,null,mxResources.get("shapes"),l.actions.get("image"),b?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTMgMTN2OGg4di04aC04ek0zIDIxaDh2LThIM3Y4ek0zIDN2OGg4VjNIM3ptMTMuNjYtMS4zMUwxMSA3LjM0IDE2LjY2IDEzbDUuNjYtNS42Ni01LjY2LTUuNjV6Ii8+PC9zdmc+":
 null),c(mxResources.get("format"),l.actions.get("toggleFormat").funct,null,mxResources.get("format")+" ("+l.actions.get("formatPanel").shortcut+")",l.actions.get("image"),b?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIgM2MtNC45NyAwLTkgNC4wMy05IDlzNC4wMyA5IDkgOWMuODMgMCAxLjUtLjY3IDEuNS0xLjUgMC0uMzktLjE1LS43NC0uMzktMS4wMS0uMjMtLjI2LS4zOC0uNjEtLjM4LS45OSAwLS44My42Ny0xLjUgMS41LTEuNUgxNmMyLjc2IDAgNS0yLjI0IDUtNSAwLTQuNDItNC4wMy04LTktOHptLTUuNSA5Yy0uODMgMC0xLjUtLjY3LTEuNS0xLjVTNS42NyA5IDYuNSA5IDggOS42NyA4IDEwLjUgNy4zMyAxMiA2LjUgMTJ6bTMtNEM4LjY3IDggOCA3LjMzIDggNi41UzguNjcgNSA5LjUgNXMxLjUuNjcgMS41IDEuNVMxMC4zMyA4IDkuNSA4em01IDBjLS44MyAwLTEuNS0uNjctMS41LTEuNVMxMy42NyA1IDE0LjUgNXMxLjUuNjcgMS41IDEuNVMxNS4zMyA4IDE0LjUgOHptMyA0Yy0uODMgMC0xLjUtLjY3LTEuNS0xLjVTMTYuNjcgOSAxNy41IDlzMS41LjY3IDEuNSAxLjUtLjY3IDEuNS0xLjUgMS41eiIvPjwvc3ZnPg==":
-null)],b?60:null);e=a("insert",!0,b?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTkgMTNoLTZ2NmgtMnYtNkg1di0yaDZWNWgydjZoNnYyeiIvPjwvc3ZnPg==":null);d([e,c(mxResources.get("delete"),l.actions.get("delete").funct,null,mxResources.get("delete"),l.actions.get("delete"),b?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNiAxOWMwIDEuMS45IDIgMiAyaDhjMS4xIDAgMi0uOSAyLTJWN0g2djEyek0xOSA0aC0zLjVsLTEtMWgtNWwtMSAxSDV2MmgxNFY0eiIvPjwvc3ZnPg==":
-null)],b?60:null);if(411<=f&&(e=l.actions.get("undo"),b=l.actions.get("redo"),e=c("",e.funct,null,mxResources.get("undo")+" ("+e.shortcut+")",e,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIuNSA4Yy0yLjY1IDAtNS4wNS45OS02LjkgMi42TDIgN3Y5aDlsLTMuNjItMy42MmMxLjM5LTEuMTYgMy4xNi0xLjg4IDUuMTItMS44OCAzLjU0IDAgNi41NSAyLjMxIDcuNiA1LjVsMi4zNy0uNzhDMjEuMDggMTEuMDMgMTcuMTUgOCAxMi41IDh6Ii8+PC9zdmc+"),b=c("",
-b.funct,null,mxResources.get("redo")+" ("+b.shortcut+")",b,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTguNCAxMC42QzE2LjU1IDguOTkgMTQuMTUgOCAxMS41IDhjLTQuNjUgMC04LjU4IDMuMDMtOS45NiA3LjIyTDMuOSAxNmMxLjA1LTMuMTkgNC4wNS01LjUgNy42LTUuNSAxLjk1IDAgMy43My43MiA1LjEyIDEuODhMMTMgMTZoOVY3bC0zLjYgMy42eiIvPjwvc3ZnPg=="),d([e,b],60),480<=f)){var b=l.actions.get("zoomIn"),e=l.actions.get("zoomOut"),g=l.actions.get("resetView");
+null)],b?60:null);f=a("insert",!0,b?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTkgMTNoLTZ2NmgtMnYtNkg1di0yaDZWNWgydjZoNnYyeiIvPjwvc3ZnPg==":null);d([f,c(mxResources.get("delete"),l.actions.get("delete").funct,null,mxResources.get("delete"),l.actions.get("delete"),b?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNiAxOWMwIDEuMS45IDIgMiAyaDhjMS4xIDAgMi0uOSAyLTJWN0g2djEyek0xOSA0aC0zLjVsLTEtMWgtNWwtMSAxSDV2MmgxNFY0eiIvPjwvc3ZnPg==":
+null)],b?60:null);if(411<=e&&(f=l.actions.get("undo"),b=l.actions.get("redo"),f=c("",f.funct,null,mxResources.get("undo")+" ("+f.shortcut+")",f,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIuNSA4Yy0yLjY1IDAtNS4wNS45OS02LjkgMi42TDIgN3Y5aDlsLTMuNjItMy42MmMxLjM5LTEuMTYgMy4xNi0xLjg4IDUuMTItMS44OCAzLjU0IDAgNi41NSAyLjMxIDcuNiA1LjVsMi4zNy0uNzhDMjEuMDggMTEuMDMgMTcuMTUgOCAxMi41IDh6Ii8+PC9zdmc+"),b=c("",
+b.funct,null,mxResources.get("redo")+" ("+b.shortcut+")",b,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTguNCAxMC42QzE2LjU1IDguOTkgMTQuMTUgOCAxMS41IDhjLTQuNjUgMC04LjU4IDMuMDMtOS45NiA3LjIyTDMuOSAxNmMxLjA1LTMuMTkgNC4wNS01LjUgNy42LTUuNSAxLjk1IDAgMy43My43MiA1LjEyIDEuODhMMTMgMTZoOVY3bC0zLjYgMy42eiIvPjwvc3ZnPg=="),d([f,b],60),480<=e)){var b=l.actions.get("zoomIn"),f=l.actions.get("zoomOut"),g=l.actions.get("resetView");
 d([c("",function(){m.popupMenuHandler.hideMenu();var a=m.view.scale,b=m.view.translate.x,c=m.view.translate.y;l.actions.get("resetView").funct();1E-5>Math.abs(a-m.view.scale)&&b==m.view.translate.x&&c==m.view.translate.y&&l.actions.get(m.pageVisible?"fitPage":"fitWindow").funct()},!0,mxResources.get("fit")+" ("+Editor.ctrlKey+"+H)",g,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMyA1djRoMlY1aDRWM0g1Yy0xLjEgMC0yIC45LTIgMnptMiAxMEgzdjRjMCAxLjEuOSAyIDIgMmg0di0ySDV2LTR6bTE0IDRoLTR2Mmg0YzEuMSAwIDItLjkgMi0ydi00aC0ydjR6bTAtMTZoLTR2Mmg0djRoMlY1YzAtMS4xLS45LTItMi0yeiIvPjwvc3ZnPg=="),
-640<=f?c("",b.funct,!0,mxResources.get("zoomIn")+" ("+Editor.ctrlKey+" +)",b,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTUuNSAxNGgtLjc5bC0uMjgtLjI3QzE1LjQxIDEyLjU5IDE2IDExLjExIDE2IDkuNSAxNiA1LjkxIDEzLjA5IDMgOS41IDNTMyA1LjkxIDMgOS41IDUuOTEgMTYgOS41IDE2YzEuNjEgMCAzLjA5LS41OSA0LjIzLTEuNTdsLjI3LjI4di43OWw1IDQuOTlMMjAuNDkgMTlsLTQuOTktNXptLTYgMEM3LjAxIDE0IDUgMTEuOTkgNSA5LjVTNy4wMSA1IDkuNSA1IDE0IDcuMDEgMTQgOS41IDExLjk5IDE0IDkuNSAxNHptMi41LTRoLTJ2Mkg5di0ySDdWOWgyVjdoMXYyaDJ2MXoiLz48L3N2Zz4="):
-null,640<=f?c("",e.funct,!0,mxResources.get("zoomOut")+" ("+Editor.ctrlKey+" -)",e,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTUuNSAxNGgtLjc5bC0uMjgtLjI3QzE1LjQxIDEyLjU5IDE2IDExLjExIDE2IDkuNSAxNiA1LjkxIDEzLjA5IDMgOS41IDNTMyA1LjkxIDMgOS41IDUuOTEgMTYgOS41IDE2YzEuNjEgMCAzLjA5LS41OSA0LjIzLTEuNTdsLjI3LjI4di43OWw1IDQuOTlMMjAuNDkgMTlsLTQuOTktNXptLTYgMEM3LjAxIDE0IDUgMTEuOTkgNSA5LjVTNy4wMSA1IDkuNSA1IDE0IDcuMDEgMTQgOS41IDExLjk5IDE0IDkuNSAxNHpNNyA5aDV2MUg3eiIvPjwvc3ZnPg=="):
-null],60)}b=l.menus.get("language");null!=b&&!mxClient.IS_CHROMEAPP&&!EditorUi.isElectronApp&&600<=f?(null==O&&(e=u.addMenu("",b.funct),e.setAttribute("title",mxResources.get("language")),e.className="geToolbarButton",e.style.backgroundImage="url("+Editor.globeImage+")",e.style.backgroundPosition="center center",e.style.backgroundRepeat="no-repeat",e.style.backgroundSize="24px 24px",e.style.position="absolute",e.style.height="24px",e.style.width="24px",e.style.zIndex="1",e.style.right="8px",e.style.cursor=
-"pointer",e.style.top="1"==urlParams.embed?"12px":"11px",p.appendChild(e),O=e),l.buttonContainer.style.paddingRight="34px"):(l.buttonContainer.style.paddingRight="4px",null!=O&&(O.parentNode.removeChild(O),O=null))}n.apply(this,arguments);var k=document.createElement("div");k.style.cssText="position:absolute;left:0px;right:0px;top:0px;overflow-y:auto;overflow-x:hidden;";k.style.bottom="1"!=urlParams.embed||"1"==urlParams.libraries?"63px":"32px";this.sidebar=this.createSidebar(k);null==urlParams.clibs&&
+640<=e?c("",b.funct,!0,mxResources.get("zoomIn")+" ("+Editor.ctrlKey+" +)",b,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTUuNSAxNGgtLjc5bC0uMjgtLjI3QzE1LjQxIDEyLjU5IDE2IDExLjExIDE2IDkuNSAxNiA1LjkxIDEzLjA5IDMgOS41IDNTMyA1LjkxIDMgOS41IDUuOTEgMTYgOS41IDE2YzEuNjEgMCAzLjA5LS41OSA0LjIzLTEuNTdsLjI3LjI4di43OWw1IDQuOTlMMjAuNDkgMTlsLTQuOTktNXptLTYgMEM3LjAxIDE0IDUgMTEuOTkgNSA5LjVTNy4wMSA1IDkuNSA1IDE0IDcuMDEgMTQgOS41IDExLjk5IDE0IDkuNSAxNHptMi41LTRoLTJ2Mkg5di0ySDdWOWgyVjdoMXYyaDJ2MXoiLz48L3N2Zz4="):
+null,640<=e?c("",f.funct,!0,mxResources.get("zoomOut")+" ("+Editor.ctrlKey+" -)",f,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTUuNSAxNGgtLjc5bC0uMjgtLjI3QzE1LjQxIDEyLjU5IDE2IDExLjExIDE2IDkuNSAxNiA1LjkxIDEzLjA5IDMgOS41IDNTMyA1LjkxIDMgOS41IDUuOTEgMTYgOS41IDE2YzEuNjEgMCAzLjA5LS41OSA0LjIzLTEuNTdsLjI3LjI4di43OWw1IDQuOTlMMjAuNDkgMTlsLTQuOTktNXptLTYgMEM3LjAxIDE0IDUgMTEuOTkgNSA5LjVTNy4wMSA1IDkuNSA1IDE0IDcuMDEgMTQgOS41IDExLjk5IDE0IDkuNSAxNHpNNyA5aDV2MUg3eiIvPjwvc3ZnPg=="):
+null],60)}b=l.menus.get("language");null!=b&&!mxClient.IS_CHROMEAPP&&!EditorUi.isElectronApp&&600<=e?(null==P&&(f=u.addMenu("",b.funct),f.setAttribute("title",mxResources.get("language")),f.className="geToolbarButton",f.style.backgroundImage="url("+Editor.globeImage+")",f.style.backgroundPosition="center center",f.style.backgroundRepeat="no-repeat",f.style.backgroundSize="24px 24px",f.style.position="absolute",f.style.height="24px",f.style.width="24px",f.style.zIndex="1",f.style.right="8px",f.style.cursor=
+"pointer",f.style.top="1"==urlParams.embed?"12px":"11px",p.appendChild(f),P=f),l.buttonContainer.style.paddingRight="34px"):(l.buttonContainer.style.paddingRight="4px",null!=P&&(P.parentNode.removeChild(P),P=null))}n.apply(this,arguments);var k=document.createElement("div");k.style.cssText="position:absolute;left:0px;right:0px;top:0px;overflow-y:auto;overflow-x:hidden;";k.style.bottom="1"!=urlParams.embed||"1"==urlParams.libraries?"63px":"32px";this.sidebar=this.createSidebar(k);null==urlParams.clibs&&
 null==urlParams.libs||b(this);var l=this,m=l.editor.graph;l.toolbar=this.createToolbar(l.createDiv("geToolbar"));l.defaultLibraryName=mxResources.get("untitledLibrary");var p=document.createElement("div");p.style.cssText="position:absolute;left:0px;right:0px;top:0px;height:30px;padding:8px;border-bottom:1px solid lightgray;background-color:#ffffff;text-align:left;white-space:nowrap;";var q=null,u=new Menubar(l,p);l.statusContainer=l.createStatusContainer();l.statusContainer.style.position="relative";
 l.statusContainer.style.maxWidth="";l.statusContainer.style.marginTop="7px";l.statusContainer.style.marginLeft="6px";l.statusContainer.style.color="gray";l.statusContainer.style.cursor="default";l.editor.addListener("statusChanged",mxUtils.bind(this,function(){l.setStatusText(l.editor.getStatus())}));var x=l.descriptorChanged;l.descriptorChanged=function(){x.apply(this,arguments);var a=l.getCurrentFile();if(null!=a&&null!=a.getTitle()){var b=a.getMode();"google"==b?b="googleDrive":"github"==b?b="gitHub":
 "gitlab"==b?b="gitLab":"onedrive"==b&&(b="oneDrive");b=mxResources.get(b);p.setAttribute("title",a.getTitle()+(null!=b?" ("+b+")":""))}else p.removeAttribute("title")};l.setStatusText(l.editor.getStatus());p.appendChild(l.statusContainer);l.buttonContainer=document.createElement("div");l.buttonContainer.style.cssText="position:absolute;right:0px;padding-right:34px;top:10px;white-space:nowrap;padding-top:2px;background-color:inherit;";p.appendChild(l.buttonContainer);l.menubarContainer=l.buttonContainer;
@@ -3529,70 +3533,70 @@ l.tabContainer=document.createElement("div");l.tabContainer.style.cssText="posit
 if(null!=C){this.tabContainer.style.right="70px";var F=u.addMenu("100%",C.funct);F.setAttribute("title",mxResources.get("zoom")+" (Alt+Mousewheel)");F.style.whiteSpace="nowrap";F.style.backgroundImage="url("+mxWindow.prototype.minimizeImage+")";F.style.backgroundPosition="right 6px center";F.style.backgroundRepeat="no-repeat";F.style.backgroundColor="#ffffff";F.style.paddingRight="10px";F.style.display="block";F.style.position="absolute";F.style.textDecoration="none";F.style.textDecoration="none";
 F.style.right="0px";F.style.bottom="0px";F.style.overflow="hidden";F.style.visibility="hidden";F.style.textAlign="center";F.style.color="#000";F.style.fontSize="12px";F.style.color="#707070";F.style.width="59px";F.style.cursor="pointer";F.style.borderTop="1px solid lightgray";F.style.borderLeft="1px solid lightgray";F.style.height=parseInt(l.tabContainerHeight)-1+"px";F.style.lineHeight=parseInt(l.tabContainerHeight)+1+"px";z.appendChild(F);C=mxUtils.bind(this,function(){F.innerHTML=Math.round(100*
 l.editor.graph.view.scale)+"%"});l.editor.graph.view.addListener(mxEvent.EVENT_SCALE,C);l.editor.addListener("resetGraphView",C);l.editor.addListener("pageSelected",C);var G=l.setGraphEnabled;l.setGraphEnabled=function(){G.apply(this,arguments);null!=this.tabContainer&&(F.style.visibility=this.tabContainer.style.visibility,this.diagramContainer.style.bottom="hidden"!=this.tabContainer.style.visibility?this.tabContainerHeight+"px":"0px")}}z.appendChild(l.tabContainer);z.appendChild(p);z.appendChild(l.diagramContainer);
-k.appendChild(z);l.updateTabContainer();var O=null;e();mxEvent.addListener(window,"resize",function(){e();null!=l.sidebarWindow&&l.sidebarWindow.window.fit();null!=l.formatWindow&&l.formatWindow.window.fit();null!=l.actions.outlineWindow&&l.actions.outlineWindow.window.fit();null!=l.actions.layersWindow&&l.actions.layersWindow.window.fit();null!=l.menus.tagsWindow&&l.menus.tagsWindow.window.fit();null!=l.menus.findWindow&&l.menus.findWindow.window.fit()})}}};
-(function(){var a=!1;"min"!=uiTheme||a||mxClient.IS_CHROMEAPP||(EditorUi.initMinimalTheme(),a=!0);var b=EditorUi.initTheme;EditorUi.initTheme=function(){b.apply(this,arguments);"min"!=uiTheme||a||(this.initMinimalTheme(),a=!0)}})();DrawioComment=function(a,b,f,d,l,m,q){this.file=a;this.id=b;this.content=f;this.modifiedDate=d;this.createdDate=l;this.isResolved=m;this.user=q;this.replies=[]};DrawioComment.prototype.addReplyDirect=function(a){null!=a&&this.replies.push(a)};DrawioComment.prototype.addReply=function(a,b,f,d,l){b()};DrawioComment.prototype.editComment=function(a,b,f){b()};DrawioComment.prototype.deleteComment=function(a,b){a()};DrawioUser=function(a,b,f,d,l){this.id=a;this.email=b;this.displayName=f;this.pictureUrl=d;this.locale=l};mxResources.parse('# *DO NOT DIRECTLY EDIT THIS FILE, IT IS AUTOMATICALLY GENERATED AND IT IS BASED ON:*\n# https://docs.google.com/spreadsheet/ccc?key=0AmQEO36liL4FdDJLWVNMaVV2UmRKSnpXU09MYkdGbEE\naboutDrawio=About draw.io\naccessDenied=Access Denied\naction=Action\nactualSize=Actual Size\nadd=Add\naddAccount=Add account\naddedFile=Added {1}\naddImages=Add Images\naddImageUrl=Add Image URL\naddLayer=Add Layer\naddProperty=Add Property\naddress=Address\naddToExistingDrawing=Add to Existing Drawing\naddWaypoint=Add Waypoint\nadjustTo=Adjust to\nadvanced=Advanced\nalign=Align\nalignment=Alignment\nallChangesLost=All changes will be lost!\nallPages=All Pages\nallProjects=All Projects\nallSpaces=All Spaces\nallTags=All Tags\nanchor=Anchor\nandroid=Android\nangle=Angle\narc=Arc\nareYouSure=Are you sure?\nensureDataSaved=Please ensure your data is saved before closing.\nallChangesSaved=All changes saved\nallChangesSavedInDrive=All changes saved in Drive\nallowPopups=Allow pop-ups to avoid this dialog.\nallowRelativeUrl=Allow relative URL\nalreadyConnected=Nodes already connected\napply=Apply\narchiMate21=ArchiMate 2.1\narrange=Arrange\narrow=Arrow\narrows=Arrows\nasNew=As New\natlas=Atlas\nauthor=Author\nauthorizationRequired=Authorization required\nauthorizeThisAppIn=Authorize this app in {1}:\nauthorize=Authorize\nauthorizing=Authorizing\nautomatic=Automatic\nautosave=Autosave\nautosize=Autosize\nattachments=Attachments\naws=AWS\naws3d=AWS 3D\nazure=Azure\nback=Back\nbackground=Background\nbackgroundColor=Background Color\nbackgroundImage=Background Image\nbasic=Basic\nblankDrawing=Blank Drawing\nblankDiagram=Blank Diagram\nblock=Block\nblockquote=Blockquote\nblog=Blog\nbold=Bold\nbootstrap=Bootstrap\nborder=Border\nborderColor=Border Color\nborderWidth=Border Width\nbottom=Bottom\nbottomAlign=Bottom Align\nbottomLeft=Bottom Left\nbottomRight=Bottom Right\nbpmn=BPMN\nbrowser=Browser\nbulletedList=Bulleted List\nbusiness=Business\nbusy=Operation in progress\ncabinets=Cabinets\ncancel=Cancel\ncenter=Center\ncannotLoad=Load attempts failed. Please try again later.\ncannotLogin=Log in attempts failed. Please try again later.\ncannotOpenFile=Cannot open file\nchange=Change\nchangeOrientation=Change Orientation\nchangeUser=Change user\nchangeStorage=Change storage\nchangesNotSaved=Changes have not been saved\nclassDiagram=Class Diagram\nuserJoined={1} has joined\nuserLeft={1} has left\nchatWindowTitle=Chat\nchooseAnOption=Choose an option\nchromeApp=Chrome App\ncollaborativeEditingNotice=Important Notice for Collaborative Editing\ncompressed=Compressed\ncommitMessage=Commit Message\nconfigLinkWarn=This link configures draw.io. Only click OK if you trust whoever gave you it!\nconfigLinkConfirm=Click OK to configure and restart draw.io.\ncsv=CSV\ndark=Dark\ndidYouMeanToExportToPdf=Did you mean to export to PDF?\ndraftFound=A draft for \'{1}\' has been found. Load it into the editor or discard it to continue.\ndragAndDropNotSupported=Drag and drop not supported for images. Would you like to import instead?\ndropboxCharsNotAllowed=The following characters are not allowed:  / : ? * " |\ncheck=Check\nchecksum=Checksum\ncircle=Circle\ncisco=Cisco\nclassic=Classic\nclearDefaultStyle=Clear Default Style\nclearWaypoints=Clear Waypoints\nclipart=Clipart\nclose=Close\nclosingFile=Closing file\ncollaborator=Collaborator\ncollaborators=Collaborators\ncollapse=Collapse\ncollapseExpand=Collapse/Expand\ncollapse-expand=Click to collapse/expand\nShift-click to move neighbors \nAlt-click to protect group size\ncollapsible=Collapsible\ncomic=Comic\ncomment=Comment\ncommentsNotes=Comments/Notes\ncompress=Compress\nconnect=Connect\nconnecting=Connecting\nconnectWithDrive=Connect with Google Drive\nconnection=Connection\nconnectionArrows=Connection Arrows\nconnectionPoints=Connection Points\nconstrainProportions=Constrain Proportions\ncontainsValidationErrors=Contains validation errors\ncopiedToClipboard=Copied to clipboard\ncopy=Copy\ncopyConnect=Copy on connect\ncopyCreated=A copy of the file was created.\ncopyOf=Copy of {1}\ncopyOfDrawing=Copy of Drawing\ncopySize=Copy Size\ncopyStyle=Copy Style\ncreate=Create\ncreateNewDiagram=Create New Diagram\ncreateRevision=Create Revision\ncreateShape=Create Shape\ncrop=Crop\ncurved=Curved\ncustom=Custom\ncurrent=Current\ncurrentPage=Current page\ncut=Cut\ndashed=Dashed\ndecideLater=Decide later\ndefault=Default\ndelete=Delete\ndeleteColumn=Delete Column\ndeleteLibrary401=Insufficient permissions to delete this library\ndeleteLibrary404=Selected library could not be found\ndeleteLibrary500=Error deleting library\ndeleteLibraryConfirm=You are about to permanently delete this library. Are you sure you want to do this?\ndeleteRow=Delete Row\ndescription=Description\ndevice=Device\ndiagram=Diagram\ndiagramContent=Diagram Content\ndiagramLocked=Diagram has been locked to prevent further data loss.\ndiagramLockedBySince=The diagram is locked by {1} since {2} ago\ndiagramName=Diagram Name\ndiagramIsPublic=Diagram is public\ndiagramIsNotPublic=Diagram is not public\ndiamond=Diamond\ndiamondThin=Diamond (thin)\ndidYouKnow=Did you know...\ndirection=Direction\ndiscard=Discard\ndiscardChangesAndReconnect=Discard Changes and Reconnect\ngoogleDriveMissingClickHere=Google Drive missing? Click here!\ndiscardChanges=Discard Changes\ndisconnected=Disconnected\ndistribute=Distribute\ndone=Done\ndotted=Dotted\ndoubleClickOrientation=Doubleclick to change orientation\ndoubleClickTooltip=Doubleclick to insert text\ndoubleClickChangeProperty=Doubleclick to change property name\ndownload=Download\ndownloadDesktop=Get draw.io Desktop\ndownloadAs=Download as\nclickHereToSave=Click here to save.\ndpi=DPI\ndraftDiscarded=Draft discarded\ndraftSaved=Draft saved\ndragElementsHere=Drag elements here\ndragImagesHere=Drag images or URLs here\ndragUrlsHere=Drag URLs here\ndraw.io=draw.io\ndrawing=Drawing{1}\ndrawingEmpty=Drawing is empty\ndrawingTooLarge=Drawing is too large\ndrawioForWork=Draw.io for GSuite\ndropbox=Dropbox\nduplicate=Duplicate\nduplicateIt=Duplicate {1}\ndivider=Divider\ndx=Dx\ndy=Dy\neast=East\nedit=Edit\neditData=Edit Data\neditDiagram=Edit Diagram\neditGeometry=Edit Geometry\neditImage=Edit Image\neditImageUrl=Edit Image URL\neditLink=Edit Link\neditShape=Edit Shape\neditStyle=Edit Style\neditText=Edit Text\neditTooltip=Edit Tooltip\nglass=Glass\ngoogleImages=Google Images\nimageSearch=Image Search\neip=EIP\nembed=Embed\nembedImages=Embed Images\nmainEmbedNotice=Paste this into the page\nelectrical=Electrical\nellipse=Ellipse\nembedNotice=Paste this once at the end of the page\nenterGroup=Enter Group\nenterName=Enter Name\nenterPropertyName=Enter Property Name\nenterValue=Enter Value\nentityRelation=Entity Relation\nentityRelationshipDiagram=Entity Relationship Diagram\nerror=Error\nerrorDeletingFile=Error deleting file\nerrorLoadingFile=Error loading file\nerrorRenamingFile=Error renaming file\nerrorRenamingFileNotFound=Error renaming file. File was not found.\nerrorRenamingFileForbidden=Error renaming file. Insufficient access rights.\nerrorSavingDraft=Error saving draft\nerrorSavingFile=Error saving file\nerrorSavingFileUnknown=Error authorizing with Google\'s servers. Please refresh the page to re-attempt.\nerrorSavingFileForbidden=Error saving file. Insufficient access rights.\nerrorSavingFileNameConflict=Could not save diagram. Current page already contains file named \'{1}\'.\nerrorSavingFileNotFound=Error saving file. File was not found.\nerrorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.\nerrorSavingFileSessionTimeout=Your session has ended. Please <a target=\'_blank\' href=\'{1}\'>{2}</a> and return to this tab to try to save again.\nerrorSendingFeedback=Error sending feedback.\nerrorUpdatingPreview=Error updating preview.\nexit=Exit\nexitGroup=Exit Group\nexpand=Expand\nexport=Export\nexporting=Exporting\nexportAs=Export as\nexportOptionsDisabled=Export options disabled\nexportOptionsDisabledDetails=The owner has disabled options to download, print or copy for commenters and viewers on this file.\nexternalChanges=External Changes\nextras=Extras\nfacebook=Facebook\nfailedToSaveTryReconnect=Failed to save, trying to reconnect\nfeatureRequest=Feature Request\nfeedback=Feedback\nfeedbackSent=Feedback successfully sent.\nfloorplans=Floorplans\nfile=File\nfileChangedOverwriteDialog=The file has been modified. Do you want to save the file and overwrite those changes?\nfileChangedSyncDialog=The file has been modified. Do you want to synchronize those changes?\nfileChangedSync=The file has been modified. Click here to synchronize.\noverwrite=Overwrite\nsynchronize=Synchronize\nfilename=Filename\nfileExists=File already exists\nfileMovedToTrash=File was moved to trash\nfileNearlyFullSeeFaq=File nearly full, please see FAQ\nfileNotFound=File not found\nrepositoryNotFound=Repository not found\nfileNotFoundOrDenied=The file was not found. It does not exist or you do not have access.\nfileNotLoaded=File not loaded\nfileNotSaved=File not saved\nfileOpenLocation=How would you like to open these file(s)?\nfiletypeHtml=.html causes file to save as HTML with redirect to cloud URL\nfiletypePng=.png causes file to save as PNG with embedded data\nfiletypeSvg=.svg causes file to save as SVG with embedded data\nfileWillBeSavedInAppFolder={1} will be saved in the app folder.\nfill=Fill\nfillColor=Fill Color\nfilterCards=Filter Cards\nfind=Find\nfit=Fit\nfitContainer=Resize Container\nfitIntoContainer=Fit into Container\nfitPage=Fit Page\nfitPageWidth=Fit Page Width\nfitTo=Fit to\nfitToSheetsAcross=sheet(s) across\nfitToBy=by\nfitToSheetsDown=sheet(s) down\nfitTwoPages=Two Pages\nfitWindow=Fit Window\nflip=Flip\nflipH=Flip Horizontal\nflipV=Flip Vertical\nflowchart=Flowchart\nfolder=Folder\nfont=Font\nfontColor=Font Color\nfontFamily=Font Family\nfontSize=Font Size\nforbidden=You are not authorized to access this file\nformat=Format\nformatPanel=Format Panel\nformatted=Formatted\nformattedText=Formatted Text\nformatPng=PNG\nformatGif=GIF\nformatJpg=JPEG\nformatPdf=PDF\nformatSql=SQL\nformatSvg=SVG\nformatHtmlEmbedded=HTML\nformatSvgEmbedded=SVG (with XML)\nformatVsdx=VSDX\nformatVssx=VSSX\nformatXmlPlain=XML (Plain)\nformatXml=XML\nforum=Discussion/Help Forums\nfreehand=Freehand\nfromTemplate=From Template\nfromTemplateUrl=From Template URL\nfromText=From Text\nfromUrl=From URL\nfromThisPage=From this page\nfullscreen=Fullscreen\ngap=Gap\ngcp=GCP\ngeneral=General\ngithub=GitHub\ngitlab=GitLab\ngliffy=Gliffy\nglobal=Global\ngoogleDocs=Google Docs\ngoogleDrive=Google Drive\ngoogleGadget=Google Gadget\ngooglePlus=Google+\ngoogleSharingNotAvailable=Sharing is only available via Google Drive. Please click Open below and share from the more actions menu:\ngoogleSlides=Google Slides\ngoogleSites=Google Sites\ngoogleSheets=Google Sheets\ngradient=Gradient\ngradientColor=Color\ngrid=Grid\ngridColor=Grid Color\ngridSize=Grid Size\ngroup=Group\nguides=Guides\nhateApp=I hate draw.io\nheading=Heading\nheight=Height\nhelp=Help\nhelpTranslate=Help us translate this application\nhide=Hide\nhideIt=Hide {1}\nhidden=Hidden\nhome=Home\nhorizontal=Horizontal\nhorizontalFlow=Horizontal Flow\nhorizontalTree=Horizontal Tree\nhowTranslate=How good is the translation in your language?\nhtml=HTML\nhtmlText=HTML Text\nid=ID\niframe=IFrame\nignore=Ignore\nimage=Image\nimageUrl=Image URL\nimages=Images\nimagePreviewError=This image couldn\'t be loaded for preview. Please check the URL.\nimageTooBig=Image too big\nimgur=Imgur\nimport=Import\nimportFrom=Import from\nincludeCopyOfMyDiagram=Include a copy of my diagram\nincreaseIndent=Increase Indent\ndecreaseIndent=Decrease Indent\ninsert=Insert\ninsertColumnBefore=Insert Column Left\ninsertColumnAfter=Insert Column Right\ninsertEllipse=Insert Ellipse\ninsertImage=Insert Image\ninsertHorizontalRule=Insert Horizontal Rule\ninsertLink=Insert Link\ninsertPage=Insert Page\ninsertRectangle=Insert Rectangle\ninsertRhombus=Insert Rhombus\ninsertRowBefore=Insert Row Above\ninsertRowAfter=Insert Row After\ninsertText=Insert Text\ninserting=Inserting\ninstallDrawio=Install draw.io\ninvalidFilename=Diagram names must not contain the following characters:  / | : ; { } < > & + ? = "\ninvalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>.\ninvalidInput=Invalid input\ninvalidName=Invalid name\ninvalidOrMissingFile=Invalid or missing file\ninvalidPublicUrl=Invalid public URL\nisometric=Isometric\nios=iOS\nitalic=Italic\nkennedy=Kennedy\nkeyboardShortcuts=Keyboard Shortcuts\nlayers=Layers\nlandscape=Landscape\nlanguage=Language\nleanMapping=Lean Mapping\nlastChange=Last change {1} ago\nlessThanAMinute=less than a minute\nlicensingError=Licensing Error\nlicenseHasExpired=The license for {1} has expired on {2}. Click here.\nlicenseWillExpire=The license for {1} will expire on {2}. Click here.\nlineJumps=Line jumps\nlinkAccountRequired=If the diagram is not public a Google account is required to view the link.\nlinkText=Link Text\nlist=List\nminute=minute\nminutes=minutes\nhours=hours\ndays=days\nmonths=months\nyears=years\nrestartForChangeRequired=Changes will take effect after a restart of the application.\nlaneColor=Lanecolor\nlastModified=Last modified\nlayout=Layout\nleft=Left\nleftAlign=Left Align\nleftToRight=Left to right\nlibraryTooltip=Drag and drop shapes here or click + to insert. Double click to edit.\nlightbox=Lightbox\nline=Line\nlineend=Line end\nlineheight=Line Height\nlinestart=Line start\nlinewidth=Linewidth\nlink=Link\nlinks=Links\nloading=Loading\nlockUnlock=Lock/Unlock\nloggedOut=Logged Out\nlogIn=log in\nloveIt=I love {1}\nlucidchart=Lucidchart\nmaps=Maps\nmathematicalTypesetting=Mathematical Typesetting\nmakeCopy=Make a Copy\nmanual=Manual\nmicrosoftOffice=Microsoft Office\nmicrosoftExcel=Microsoft Excel\nmicrosoftPowerPoint=Microsoft PowerPoint\nmicrosoftWord=Microsoft Word\nmiddle=Middle\nminimal=Minimal\nmisc=Misc\nmockups=Mockups\nmodificationDate=Modification date\nmodifiedBy=Modified by\nmore=More\nmoreResults=More Results\nmoreShapes=More Shapes\nmove=Move\nmoveToFolder=Move to Folder\nmoving=Moving\nmoveSelectionTo=Move selection to {1}\nname=Name\nnavigation=Navigation\nnetwork=Network\nnetworking=Networking\nnew=New\nnewLibrary=New Library\nnextPage=Next Page\nno=No\nnoPickFolder=No, pick folder\nnoAttachments=No attachments found\nnoColor=No Color\nnoFiles=No Files\nnoFileSelected=No file selected\nnoLibraries=No libraries found\nnoMoreResults=No more results\nnone=None\nnoOtherViewers=No other viewers\nnoPlugins=No plugins\nnoPreview=No preview\nnoResponse=No response from server\nnoResultsFor=No results for \'{1}\'\nnoRevisions=No revisions\nnoSearchResults=No search results found\nnoPageContentOrNotSaved=No anchors found on this page or it hasn\'t been saved yet\nnormal=Normal\nnorth=North\nnotADiagramFile=Not a diagram file\nnotALibraryFile=Not a library file\nnotAvailable=Not available\nnotAUtf8File=Not a UTF-8 file\nnotConnected=Not connected\nnote=Note\nnotUsingService=Not using {1}?\nnumberedList=Numbered list\noffline=Offline\nok=OK\noneDrive=OneDrive\nonline=Online\nopacity=Opacity\nopen=Open\nopenArrow=Open Arrow\nopenExistingDiagram=Open Existing Diagram\nopenFile=Open File\nopenFrom=Open from\nopenLibrary=Open Library\nopenLibraryFrom=Open Library from\nopenLink=Open Link\nopenInNewWindow=Open in New Window\nopenInThisWindow=Open in This Window\nopenIt=Open {1}\nopenRecent=Open Recent\nopenSupported=Supported formats are files saved from this software (.xml), .vsdx and .gliffy\noptions=Options\norganic=Organic\norgChart=Org Chart\northogonal=Orthogonal\notherViewer=other viewer\notherViewers=other viewers\noutline=Outline\noval=Oval\npage=Page\npageContent=Page Content\npageNotFound=Page not found\npageWithNumber=Page-{1}\npages=Pages\npageView=Page View\npageSetup=Page Setup\npageScale=Page Scale\npan=Pan\npanTooltip=Space+Drag to pan\npaperSize=Paper Size\npattern=Pattern\npaste=Paste\npasteHere=Paste here\npasteSize=Paste Size\npasteStyle=Paste Style\nperimeter=Perimeter\npermissionAnyone=Anyone can edit\npermissionAuthor=Owner and admins can edit\npickFolder=Pick a folder\npickLibraryDialogTitle=Select Library\npublicDiagramUrl=Public URL of the diagram\nplaceholders=Placeholders\nplantUml=PlantUML\nplugins=Plugins\npluginUrl=Plugin URL\npluginWarning=The page has requested to load the following plugin(s):\n \n {1}\n \n Would you like to load these plugin(s) now?\n \n NOTE : Only allow plugins to run if you fully understand the security implications of doing so.\n\nplusTooltip=Click to connect and clone (ctrl+click to clone, shift+click to connect). Drag to connect (ctrl+drag to clone).\nportrait=Portrait\nposition=Position\nposterPrint=Poster Print\npreferences=Preferences\npreview=Preview\npreviousPage=Previous Page\nprint=Print\nprintAllPages=Print All Pages\nprocEng=Proc. Eng.\nproject=Project\npriority=Priority\nproperties=Properties\npublish=Publish\nquickStart=Quick Start Video\nrack=Rack\nradialTree=Radial Tree\nreadOnly=Read-only\nreconnecting=Reconnecting\nrecentlyUpdated=Recently Updated\nrecentlyViewed=Recently Viewed\nrectangle=Rectangle\nredirectToNewApp=This file was created or modified in a newer version of this app. You will be redirected now.\nrealtimeTimeout=It looks like you\'ve made a few changes while offline. We\'re sorry, these changes cannot be saved.\nredo=Redo\nrefresh=Refresh\nregularExpression=Regular Expression\nrelative=Relative\nrelativeUrlNotAllowed=Relative URL not allowed\nrememberMe=Remember me\nrememberThisSetting=Remember this setting\nremoveFormat=Clear Formatting\nremoveFromGroup=Remove from Group\nremoveIt=Remove {1}\nremoveWaypoint=Remove Waypoint\nrename=Rename\nrenamed=Renamed\nrenameIt=Rename {1}\nrenaming=Renaming\nreplace=Replace\nreplaceIt={1} already exists. Do you want to replace it?\nreplaceExistingDrawing=Replace existing drawing\nrequired=required\nreset=Reset\nresetView=Reset View\nresize=Resize\nresizeLargeImages=Do you want to resize large images to make the application run faster?\nretina=Retina\nresponsive=Responsive\nrestore=Restore\nrestoring=Restoring\nretryingIn=Retrying in {1} second(s)\nretryingLoad=Load failed. Retrying...\nretryingLogin=Login time out. Retrying...\nreverse=Reverse\nrevision=Revision\nrevisionHistory=Revision History\nrhombus=Rhombus\nright=Right\nrightAlign=Right Align\nrightToLeft=Right to left\nrotate=Rotate\nrotateTooltip=Click and drag to rotate, click to turn shape only by 90 degrees\nrotation=Rotation\nrounded=Rounded\nsave=Save\nsaveAndExit=Save & Exit\nsaveAs=Save as\nsaveAsXmlFile=Save as XML file?\nsaved=Saved\nsaveDiagramFirst=Please save the diagram first\nsaveDiagramsTo=Save diagrams to\nsaveLibrary403=Insufficient permissions to edit this library\nsaveLibrary500=There was an error while saving the library\nsaveLibraryReadOnly=Could not save library while read-only mode is active\nsaving=Saving\nscratchpad=Scratchpad\nscrollbars=Scrollbars\nsearch=Search\nsearchShapes=Search Shapes\nselectAll=Select All\nselectionOnly=Selection Only\nselectCard=Select Card\nselectEdges=Select Edges\nselectFile=Select File\nselectFolder=Select Folder\nselectFont=Select Font\nselectNone=Select None\nselectTemplate=Select Template\nselectVertices=Select Vertices\nsendMessage=Send\nsendYourFeedbackToDrawIo=Send your feedback to draw.io\nserviceUnavailableOrBlocked=Service unavailable or blocked\nsessionExpired=Your session has expired. Please refresh the browser window.\nsessionTimeoutOnSave=Your session has timed out and you have been disconnected from the Google Drive. Press OK to login and save. \nsetAsDefaultStyle=Set as Default Style\nshadow=Shadow\nshape=Shape\nshapes=Shapes\nshare=Share\nshareLink=Link for shared editing\nsharp=Sharp\nshow=Show\nshowStartScreen=Show Start Screen\nsidebarTooltip=Click to expand. Drag and drop shapes into the diagram. Shift+click to change selection. Alt+click to insert and connect.\nsigns=Signs\nsignOut=Sign out\nsimple=Simple\nsimpleArrow=Simple Arrow\nsimpleViewer=Simple Viewer\nsize=Size\nsolid=Solid\nsourceSpacing=Source Spacing\nsouth=South\nsoftware=Software\nspace=Space\nspacing=Spacing\nspecialLink=Special Link\nstandard=Standard\nstartDrawing=Start drawing\nstopDrawing=Stop drawing\nstarting=Starting\nstraight=Straight\nstrikethrough=Strikethrough\nstrokeColor=Line Color\nstyle=Style\nsubscript=Subscript\nsummary=Summary\nsuperscript=Superscript\nsupport=Support\nswimlaneDiagram=Swimlane Diagram\nsysml=SysML\ntags=Tags\ntable=Table\ntables=Tables\ntakeOver=Take Over\ntargetSpacing=Target Spacing\ntemplate=Template\ntemplates=Templates\ntext=Text\ntextAlignment=Text Alignment\ntextOpacity=Text Opacity\ntheme=Theme\ntimeout=Timeout\ntitle=Title\nto=to\ntoBack=To Back\ntoFront=To Front\ntoolbar=Toolbar\ntooltips=Tooltips\ntop=Top\ntopAlign=Top Align\ntopLeft=Top Left\ntopRight=Top Right\ntransparent=Transparent\ntransparentBackground=Transparent Background\ntrello=Trello\ntryAgain=Try again\ntryOpeningViaThisPage=Try opening via this page\nturn=Rotate shape only by 90°\ntype=Type\ntwitter=Twitter\numl=UML\nunderline=Underline\nundo=Undo\nungroup=Ungroup\nunsavedChanges=Unsaved changes\nunsavedChangesClickHereToSave=Unsaved changes. Click here to save.\nuntitled=Untitled\nuntitledDiagram=Untitled Diagram\nuntitledLayer=Untitled Layer\nuntitledLibrary=Untitled Library\nunknownError=Unknown error\nupdateFile=Update {1}\nupdatingDocument=Updating Document. Please wait...\nupdatingPreview=Updating Preview. Please wait...\nupdatingSelection=Updating Selection. Please wait...\nupload=Upload\nurl=URL\nuseOffline=Use Offline\nuseRootFolder=Use root folder?\nuserManual=User Manual\nvertical=Vertical\nverticalFlow=Vertical Flow\nverticalTree=Vertical Tree\nview=View\nviewerSettings=Viewer Settings\nviewUrl=Link to view: {1}\nvoiceAssistant=Voice Assistant (beta)\nwarning=Warning\nwaypoints=Waypoints\nwest=West\nwidth=Width\nwiki=Wiki\nwordWrap=Word Wrap\nwritingDirection=Writing Direction\nyes=Yes\nyourEmailAddress=Your email address\nzoom=Zoom\nzoomIn=Zoom In\nzoomOut=Zoom Out\nbasic=Basic\nbusinessprocess=Business Processes\ncharts=Charts\nengineering=Engineering\nflowcharts=Flowcharts\ngmdl=Material Design\nmindmaps=Mindmaps\nmockups=Mockups\nnetworkdiagrams=Network Diagrams\nnothingIsSelected=Nothing is selected\nother=Other\nsoftwaredesign=Software Design\nvenndiagrams=Venn Diagrams\nwebEmailOrOther=Web, email or any other internet address\nwebLink=Web Link\nwireframes=Wireframes\nproperty=Property\nvalue=Value\nshowMore=Show More\nshowLess=Show Less\nmyDiagrams=My Diagrams\nallDiagrams=All Diagrams\nrecentlyUsed=Recently used\nlistView=List view\ngridView=Grid view\nresultsFor=Results for \'{1}\'\noneDriveCharsNotAllowed=The following characters are not allowed: ~ " # %  * : < > ? /  { | }\noneDriveInvalidDeviceName=The specified device name is invalid\nofficeNotLoggedOD=You are not logged in to OneDrive. Please open draw.io task pane and login first.\nofficeSelectSingleDiag=Please select a single draw.io diagram only without other contents.\nofficeSelectDiag=Please select a draw.io diagram.\nofficeCannotFindDiagram=Cannot find a draw.io diagram in the selection\nnoDiagrams=No diagrams found\nauthFailed=Authentication failed\nofficeFailedAuthMsg=Unable to successfully authenticate user or authorize application.\nconvertingDiagramFailed=Converting diagram failed\nofficeCopyImgErrMsg=Due to some limitations in the host application, the image could not be inserted. Please manually copy the image then paste it to the document.\ninsertingImageFailed=Inserting image failed\nofficeCopyImgInst=Instructions: Right-click the image below. Select "Copy image" from the context menu. Then, in the document, right-click and select "Paste" from the context menu.\nfolderEmpty=Folder is empty\nrecent=Recent\nsharedWithMe=Shared With Me\nsharepointSites=Sharepoint Sites\nerrorFetchingFolder=Error fetching folder items\nerrorAuthOD=Error authenticating to OneDrive\nofficeMainHeader=Adds draw.io diagrams to your document.\nofficeStepsHeader=This add-in performs the following steps:\nofficeStep1=Connects to Microsoft OneDrive, Google Drive or your device.\nofficeStep2=Select a draw.io diagram.\nofficeStep3=Insert the diagram into the document.\nofficeAuthPopupInfo=Please complete the authentication in the pop-up window.\nofficeSelDiag=Select draw.io Diagram:\nfiles=Files\nshared=Shared\nsharepoint=Sharepoint\nofficeManualUpdateInst=Instructions: Copy draw.io diagram from the document. Then, in the box below, right-click and select "Paste" from the context menu.\nofficeClickToEdit=Click icon to start editing:\npasteDiagram=Paste draw.io diagram here\nconnectOD=Connect to OneDrive\nselectChildren=Select Children\nselectSiblings=Select Siblings\nselectParent=Select Parent\nselectDescendants=Select Descendants\nlastSaved=Last saved {1} ago\nresolve=Resolve\nreopen=Re-open\nshowResolved=Show Resolved\nreply=Reply\nobjectNotFound=Object not found\nreOpened=Re-opened\nmarkedAsResolved=Marked as resolved\nnoCommentsFound=No comments found\ncomments=Comments\ntimeAgo={1} ago\nconfluenceCloud=Confluence Cloud\nlibraries=Libraries\nconfAnchor=Confluence Page Anchor\nconfTimeout=The connection has timed out\nconfSrvTakeTooLong=The server at {1} is taking too long to respond.\nconfCannotInsertNew=Cannot insert draw.io diagram to a new Confluence page\nconfSaveTry=Please save the page and try again.\nconfCannotGetID=Unable to determine page ID\nconfContactAdmin=Please contact your Confluence administrator.\nreadErr=Read Error\neditingErr=Editing Error\nconfExtEditNotPossible=This diagram cannot be edited externally. Please try editing it while editing the page\nconfEditedExt=Diagram/Page edited externally\ndiagNotFound=Diagram Not Found\nconfEditedExtRefresh=Diagram/Page is edited externally. Please refresh the page.\nconfCannotEditDraftDelOrExt=Cannot edit diagrams in a draft page, diagram is deleted from the page, or diagram is edited externally. Please check the page.\nretBack=Return back\nconfDiagNotPublished=The diagram does not belong to a published page\ncreatedByDraw=Created by draw.io\nfilenameShort=Filename too short\ninvalidChars=Invalid characters\nalreadyExst={1} already exists\ndraftReadErr=Draft Read Error\ndiagCantLoad=Diagram cannot be loaded\ndraftWriteErr=Draft Write Error\ndraftCantCreate=Draft could not be created\nconfDuplName=Duplicate diagram name detected. Please pick another name.\nconfSessionExpired=Looks like your session expired. Log in again to keep working.\nlogin=Login\ndrawPrev=draw.io preview\ndrwaDiag=draw.io diagram\nunknownErr=Unkown Error\ninvalidCallFnNotFound=Invalid Call: {1} not found\ninvalidCallErrOccured=Invalid Call: An error occurred, {1}\nanonymous=Anonymous\nconfGotoPage=Go to containing page\nshowComments=Show Comments\nconfError=Error: {1}\ngliffyImport=Gliffy Import\ngliffyImportInst1=Click the "Start Import" button to import all Gliffy diagrams to draw.io.\ngliffyImportInst2=Please note that the import procedure will take some time and the browser window must remain open until the import is completed.\nstartImport=Start Import\ndrawConfig=draw.io Configuration\ncustomLib=Custom Libraries\ncustomTemp=Custom Templates\npageIdsExp=Page IDs Export\ndrawReindex=draw.io re-indexing (beta)\nworking=Working\ndrawConfigNotFoundInst=draw.io Configuration Space (DRAWIOCONFIG) does not exist. This space is needed to store draw.io configuration files and custom libraries/templates.\ncreateConfSp=Create Config Space\nunexpErrRefresh=Unexpected error, please refresh the page and try again.\nconfigJSONInst=Write draw.io JSON configuration in the editor below then click save. If you need help, please refer to\nthisPage=this page\ncurCustLib=Current Custom Libraries\nlibName=Library Name\naction=Action\ndrawConfID=draw.io Config ID\naddLibInst=Click the "Add Library" button to upload a new library.\naddLib=Add Library\ncustomTempInst1=Custom templates are draw.io diagrams saved in children pages of\ncustomTempInst2=For more details, please refer to\ntempsPage=Templates page\npageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.\npageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.\nstartExp=Start Export\nrefreshDrawIndex=Refresh draw.io Diagrams Index\nreindexInst1=Click the "Start Indexing" button to refresh draw.io diagrams index.\nreindexInst2=Please note that the indexing procedure will take some time and the browser window must remain open until the indexing is completed.\nstartIndexing=Start Indexing\nconfAPageFoundFetch=Page "{1}" found. Fetching\nconfAAllDiagDone=All {1} diagrams processed. Process finished.\nconfAStartedProcessing=Started processing page "{1}"\nconfAAllDiagInPageDone=All {1} diagrams in page "{2}" processed successfully.\nconfAPartialDiagDone={1} out of {2} {3} diagrams in page "{4}" processed successfully.\nconfAUpdatePageFailed=Updating page "{1}" failed.\nconfANoDiagFoundInPage=No {1} diagrams found in page "{2}".\nconfAFetchPageFailed=Fetching the page failed.\nconfANoDiagFound=No {1} diagrams found. Process finished.\nconfASearchFailed=Searching for {1} diagrams failed. Please try again later.\nconfAGliffyDiagFound={2} diagram "{1}" found. Importing\nconfAGliffyDiagImported={2} diagram "{1}" imported successfully.\nconfASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.\nconfAImportedFromByDraw=Imported from "{1}" by draw.io\nconfAImportGliffyFailed=Importing {2} diagram "{1}" failed.\nconfAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.\nconfACheckBrokenDiagLnk=Checking for broken diagrams links.\nconfADelDiagLinkOf=Deleting diagram link of "{1}"\nconfADupLnk=(duplicate link)\nconfADelDiagLnkFailed=Deleting diagram link of "{1}" failed.\nconfAUnexpErrProcessPage=Unexpected error during processing the page with id: {1}\nconfADiagFoundIndex=Diagram "{1}" found. Indexing\nconfADiagIndexSucc=Diagram "{1}" indexed successfully.\nconfAIndexDiagFailed=Indexing diagram "{1}" failed.\nconfASkipDiagOtherPage=Skipped "{1}" as it belongs to another page!\nconfADiagUptoDate=Diagram "{1}" is up to date.\nconfACheckPagesWDraw=Checking pages having draw.io diagrams.\nconfAErrOccured=An error occurred!\nsavedSucc=Saved successfully\nconfASaveFailedErr=Saving Failed (Unexpected Error)\ncharacter=Character\nconfAConfPageDesc=This page contains draw.io configuration file (configuration.json) as attachment\nconfALibPageDesc=This page contains draw.io custom libraries as attachments\nconfATempPageDesc=This page contains draw.io custom templates as attachments\nworking=Working\nconfAConfSpaceDesc=This space is used to store draw.io configuration files and custom libraries/templates\nconfANoCustLib=No Custom Libraries\ndelFailed=Delete failed!\nshowID=Show ID\nconfAIncorrectLibFileType=Incorrect file type. Libraries should be XML files.\nuploading=Uploading\nconfALibExist=This library already exists\nconfAUploadSucc=Uploaded successfully\nconfAUploadFailErr=Upload Failed (Unexpected Error)\nhiResPreview=High Res Preview\nofficeNotLoggedGD=You are not logged in to Google Drive. Please open draw.io task pane and login first.\nofficePopupInfo=Please complete the process in the pop-up window.\npickODFile=Pick OneDrive File\npickGDriveFile=Pick Google Drive File\npickDeviceFile=Pick Device File\nvsdNoConfig="vsdurl" is not configured\nruler=Ruler\nunits=Units\npoints=Points\ninches=Inches\nmillimeters=Millimeters\nconfEditDraftDelOrExt=This diagram is in a draft page, is deleted from the page, or is edited externally. It will be saved as a new attachment version and may not be reflected in the page.\nconfDiagEditedExt=Diagram is edited in another session. It will be saved as a new attachment version but the page will show other session\'s modifications.\nmacroNotFound=Macro Not Found\nconfAInvalidPageIdsFormat=Incorrect Page IDs file format\nconfACollectingCurPages=Collecting current pages\nconfABuildingPagesMap=Building pages mapping\nconfAProcessDrawDiag=Started processing imported draw.io diagrams\nconfAProcessDrawDiagDone=Finished processing imported draw.io diagrams\nconfAProcessImpPages=Started processing imported pages\nconfAErrPrcsDiagInPage=Error processing draw.io diagrams in page "{1}"\nconfAPrcsDiagInPage=Processing draw.io diagrams in page "{1}"\nconfAImpDiagram=Importing diagram "{1}"\nconfAImpDiagramFailed=Importing diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. \nconfAImpDiagramError=Error importing diagram "{1}". Cannot fetch or save the diagram. Cannot fix this diagram links.\nconfAUpdateDgrmCCFailed=Updating link to diagram "{1}" failed.\nconfImpDiagramSuccess=Updating diagram "{1}" done successfully.\nconfANoLnksInDrgm=No links to update in: {1}\nconfAUpdateLnkToPg=Updated link to page: "{1}" in diagram: "{2}"\nconfAUpdateLBLnkToPg=Updated lightbox link to page: "{1}" in diagram: "{2}"\nconfAUpdateLnkBase=Updated base URL from: "{1}" to: "{2}" in diagram: "{3}"\nconfAPageIdsImpDone=Page IDs Import finished.\nconfAPrcsMacrosInPage=Processing draw.io macros in page "{1}"\nconfAErrFetchPage=Error fetching page "{1}"\nconfAFixingMacro=Fixing macro of diagram "{1}"\nconfAErrReadingExpFile=Error reading export file\nconfAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished\nconfAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. \npageIdsExpTrg=Export target\nconfALucidDiagImgImported={2} diagram "{1}" image extracted successfully.\nconfASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.\nconfGetInfoFailed=Fetching file info from {1} failed.\nconfCheckCacheFailed=Cannot get cached file info.\nconfReadFileErr=Cannot read "{1}" file from {2}.\nconfSaveCacheFailed=Unexpected error. Cannot save cached file\n');Graph.prototype.defaultThemes["default-style2"]=mxUtils.parseXml('<mxStylesheet><add as="defaultVertex"><add as="shape" value="label"/><add as="perimeter" value="rectanglePerimeter"/><add as="fontSize" value="12"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="fillColor" value="#ffffff"/><add as="strokeColor" value="#000000"/><add as="fontColor" value="#000000"/></add><add as="defaultEdge"><add as="shape" value="connector"/><add as="labelBackgroundColor" value="#ffffff"/><add as="endArrow" value="classic"/><add as="fontSize" value="11"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="rounded" value="1"/><add as="strokeColor" value="#000000"/><add as="fontColor" value="#000000"/></add><add as="fancy"><add as="shadow" value="1"/><add as="glass" value="1"/></add><add as="gray" extend="fancy"><add as="gradientColor" value="#B3B3B3"/><add as="fillColor" value="#F5F5F5"/><add as="strokeColor" value="#666666"/></add><add as="blue" extend="fancy"><add as="gradientColor" value="#7EA6E0"/><add as="fillColor" value="#DAE8FC"/><add as="strokeColor" value="#6C8EBF"/></add><add as="green" extend="fancy"><add as="gradientColor" value="#97D077"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#82B366"/></add><add as="turquoise" extend="fancy"><add as="gradientColor" value="#67AB9F"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#6A9153"/></add><add as="yellow" extend="fancy"><add as="gradientColor" value="#FFD966"/><add as="fillColor" value="#FFF2CC"/><add as="strokeColor" value="#D6B656"/></add><add as="orange" extend="fancy"><add as="gradientColor" value="#FFA500"/><add as="fillColor" value="#FFCD28"/><add as="strokeColor" value="#D79B00"/></add><add as="red" extend="fancy"><add as="gradientColor" value="#EA6B66"/><add as="fillColor" value="#F8CECC"/><add as="strokeColor" value="#B85450"/></add><add as="pink" extend="fancy"><add as="gradientColor" value="#B5739D"/><add as="fillColor" value="#E6D0DE"/><add as="strokeColor" value="#996185"/></add><add as="purple" extend="fancy"><add as="gradientColor" value="#8C6C9C"/><add as="fillColor" value="#E1D5E7"/><add as="strokeColor" value="#9673A6"/></add><add as="plain-gray"><add as="gradientColor" value="#B3B3B3"/><add as="fillColor" value="#F5F5F5"/><add as="strokeColor" value="#666666"/></add><add as="plain-blue"><add as="gradientColor" value="#7EA6E0"/><add as="fillColor" value="#DAE8FC"/><add as="strokeColor" value="#6C8EBF"/></add><add as="plain-green"><add as="gradientColor" value="#97D077"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#82B366"/></add><add as="plain-turquoise"><add as="gradientColor" value="#67AB9F"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#6A9153"/></add><add as="plain-yellow"><add as="gradientColor" value="#FFD966"/><add as="fillColor" value="#FFF2CC"/><add as="strokeColor" value="#D6B656"/></add><add as="plain-orange"><add as="gradientColor" value="#FFA500"/><add as="fillColor" value="#FFCD28"/><add as="strokeColor" value="#D79B00"/></add><add as="plain-red"><add as="gradientColor" value="#EA6B66"/><add as="fillColor" value="#F8CECC"/><add as="strokeColor" value="#B85450"/></add><add as="plain-pink"><add as="gradientColor" value="#B5739D"/><add as="fillColor" value="#E6D0DE"/><add as="strokeColor" value="#996185"/></add><add as="plain-purple"><add as="gradientColor" value="#8C6C9C"/><add as="fillColor" value="#E1D5E7"/><add as="strokeColor" value="#9673A6"/></add><add as="text"><add as="fillColor" value="none"/><add as="gradientColor" value="none"/><add as="strokeColor" value="none"/><add as="align" value="left"/><add as="verticalAlign" value="top"/></add><add as="label"><add as="fontStyle" value="1"/><add as="align" value="left"/><add as="verticalAlign" value="middle"/><add as="spacing" value="2"/><add as="spacingLeft" value="52"/><add as="imageWidth" value="42"/><add as="imageHeight" value="42"/><add as="rounded" value="1"/></add><add as="icon" extend="label"><add as="align" value="center"/><add as="imageAlign" value="center"/><add as="verticalLabelPosition" value="bottom"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="4"/><add as="labelBackgroundColor" value="#ffffff"/><add as="spacing" value="0"/><add as="spacingLeft" value="0"/><add as="spacingTop" value="6"/><add as="fontStyle" value="0"/><add as="imageWidth" value="48"/><add as="imageHeight" value="48"/></add><add as="swimlane"><add as="shape" value="swimlane"/><add as="fontSize" value="12"/><add as="fontStyle" value="1"/><add as="startSize" value="23"/></add><add as="group"><add as="verticalAlign" value="top"/><add as="fillColor" value="none"/><add as="strokeColor" value="none"/><add as="gradientColor" value="none"/><add as="pointerEvents" value="0"/></add><add as="ellipse"><add as="shape" value="ellipse"/><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombus"><add as="shape" value="rhombus"/><add as="perimeter" value="rhombusPerimeter"/></add><add as="triangle"><add as="shape" value="triangle"/><add as="perimeter" value="trianglePerimeter"/></add><add as="line"><add as="shape" value="line"/><add as="strokeWidth" value="4"/><add as="labelBackgroundColor" value="#ffffff"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="8"/></add><add as="image"><add as="shape" value="image"/><add as="labelBackgroundColor" value="white"/><add as="verticalAlign" value="top"/><add as="verticalLabelPosition" value="bottom"/></add><add as="roundImage" extend="image"><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombusImage" extend="image"><add as="perimeter" value="rhombusPerimeter"/></add><add as="arrow"><add as="shape" value="arrow"/><add as="edgeStyle" value="none"/><add as="fillColor" value="#ffffff"/></add></mxStylesheet>').documentElement;
-Graph.prototype.defaultThemes.darkTheme=mxUtils.parseXml('<mxStylesheet><add as="defaultVertex"><add as="shape" value="label"/><add as="perimeter" value="rectanglePerimeter"/><add as="fontSize" value="12"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="fillColor" value="#2a2a2a"/><add as="strokeColor" value="#f0f0f0"/><add as="fontColor" value="#f0f0f0"/></add><add as="defaultEdge"><add as="shape" value="connector"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="endArrow" value="classic"/><add as="fontSize" value="11"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="rounded" value="1"/><add as="strokeColor" value="#f0f0f0"/><add as="fontColor" value="#f0f0f0"/></add><add as="text"><add as="fillColor" value="none"/><add as="gradientColor" value="none"/><add as="strokeColor" value="none"/><add as="align" value="left"/><add as="verticalAlign" value="top"/></add><add as="label"><add as="fontStyle" value="1"/><add as="align" value="left"/><add as="verticalAlign" value="middle"/><add as="spacing" value="2"/><add as="spacingLeft" value="52"/><add as="imageWidth" value="42"/><add as="imageHeight" value="42"/><add as="rounded" value="1"/></add><add as="icon" extend="label"><add as="align" value="center"/><add as="imageAlign" value="center"/><add as="verticalLabelPosition" value="bottom"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="4"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="spacing" value="0"/><add as="spacingLeft" value="0"/><add as="spacingTop" value="6"/><add as="fontStyle" value="0"/><add as="imageWidth" value="48"/><add as="imageHeight" value="48"/></add><add as="swimlane"><add as="shape" value="swimlane"/><add as="fontSize" value="12"/><add as="fontStyle" value="1"/><add as="startSize" value="23"/></add><add as="group"><add as="verticalAlign" value="top"/><add as="fillColor" value="none"/><add as="strokeColor" value="none"/><add as="gradientColor" value="none"/><add as="pointerEvents" value="0"/></add><add as="ellipse"><add as="shape" value="ellipse"/><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombus"><add as="shape" value="rhombus"/><add as="perimeter" value="rhombusPerimeter"/></add><add as="triangle"><add as="shape" value="triangle"/><add as="perimeter" value="trianglePerimeter"/></add><add as="line"><add as="shape" value="line"/><add as="strokeWidth" value="4"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="8"/></add><add as="image"><add as="shape" value="image"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="verticalAlign" value="top"/><add as="verticalLabelPosition" value="bottom"/></add><add as="roundImage" extend="image"><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombusImage" extend="image"><add as="perimeter" value="rhombusPerimeter"/></add><add as="arrow"><add as="shape" value="arrow"/><add as="edgeStyle" value="none"/><add as="fillColor" value="#2a2a2a"/></add></mxStylesheet>').documentElement;GraphViewer=function(a,b,f){this.init(a,b,f)};mxUtils.extend(GraphViewer,mxEventSource);GraphViewer.prototype.editBlankUrl="https://www.draw.io/";GraphViewer.prototype.imageBaseUrl="https://www.draw.io/";GraphViewer.prototype.toolbarHeight="BackCompat"==document.compatMode?28:30;GraphViewer.prototype.lightboxChrome=!0;GraphViewer.prototype.lightboxZIndex=999;GraphViewer.prototype.toolbarZIndex=999;GraphViewer.prototype.autoFit=!0;GraphViewer.prototype.center=!1;GraphViewer.prototype.allowZoomIn=!1;
+k.appendChild(z);l.updateTabContainer();var P=null;f();mxEvent.addListener(window,"resize",function(){f();null!=l.sidebarWindow&&l.sidebarWindow.window.fit();null!=l.formatWindow&&l.formatWindow.window.fit();null!=l.actions.outlineWindow&&l.actions.outlineWindow.window.fit();null!=l.actions.layersWindow&&l.actions.layersWindow.window.fit();null!=l.menus.tagsWindow&&l.menus.tagsWindow.window.fit();null!=l.menus.findWindow&&l.menus.findWindow.window.fit()})}}};
+(function(){var a=!1;"min"!=uiTheme||a||mxClient.IS_CHROMEAPP||(EditorUi.initMinimalTheme(),a=!0);var b=EditorUi.initTheme;EditorUi.initTheme=function(){b.apply(this,arguments);"min"!=uiTheme||a||(this.initMinimalTheme(),a=!0)}})();DrawioComment=function(a,b,e,c,l,m,q){this.file=a;this.id=b;this.content=e;this.modifiedDate=c;this.createdDate=l;this.isResolved=m;this.user=q;this.replies=[]};DrawioComment.prototype.addReplyDirect=function(a){null!=a&&this.replies.push(a)};DrawioComment.prototype.addReply=function(a,b,e,c,l){b()};DrawioComment.prototype.editComment=function(a,b,e){b()};DrawioComment.prototype.deleteComment=function(a,b){a()};DrawioUser=function(a,b,e,c,l){this.id=a;this.email=b;this.displayName=e;this.pictureUrl=c;this.locale=l};mxResources.parse('# *DO NOT DIRECTLY EDIT THIS FILE, IT IS AUTOMATICALLY GENERATED AND IT IS BASED ON:*\n# https://docs.google.com/spreadsheet/ccc?key=0AmQEO36liL4FdDJLWVNMaVV2UmRKSnpXU09MYkdGbEE\naboutDrawio=About draw.io\naccessDenied=Access Denied\naction=Action\nactualSize=Actual Size\nadd=Add\naddAccount=Add account\naddedFile=Added {1}\naddImages=Add Images\naddImageUrl=Add Image URL\naddLayer=Add Layer\naddProperty=Add Property\naddress=Address\naddToExistingDrawing=Add to Existing Drawing\naddWaypoint=Add Waypoint\nadjustTo=Adjust to\nadvanced=Advanced\nalign=Align\nalignment=Alignment\nallChangesLost=All changes will be lost!\nallPages=All Pages\nallProjects=All Projects\nallSpaces=All Spaces\nallTags=All Tags\nanchor=Anchor\nandroid=Android\nangle=Angle\narc=Arc\nareYouSure=Are you sure?\nensureDataSaved=Please ensure your data is saved before closing.\nallChangesSaved=All changes saved\nallChangesSavedInDrive=All changes saved in Drive\nallowPopups=Allow pop-ups to avoid this dialog.\nallowRelativeUrl=Allow relative URL\nalreadyConnected=Nodes already connected\napply=Apply\narchiMate21=ArchiMate 2.1\narrange=Arrange\narrow=Arrow\narrows=Arrows\nasNew=As New\natlas=Atlas\nauthor=Author\nauthorizationRequired=Authorization required\nauthorizeThisAppIn=Authorize this app in {1}:\nauthorize=Authorize\nauthorizing=Authorizing\nautomatic=Automatic\nautosave=Autosave\nautosize=Autosize\nattachments=Attachments\naws=AWS\naws3d=AWS 3D\nazure=Azure\nback=Back\nbackground=Background\nbackgroundColor=Background Color\nbackgroundImage=Background Image\nbasic=Basic\nblankDrawing=Blank Drawing\nblankDiagram=Blank Diagram\nblock=Block\nblockquote=Blockquote\nblog=Blog\nbold=Bold\nbootstrap=Bootstrap\nborder=Border\nborderColor=Border Color\nborderWidth=Border Width\nbottom=Bottom\nbottomAlign=Bottom Align\nbottomLeft=Bottom Left\nbottomRight=Bottom Right\nbpmn=BPMN\nbrowser=Browser\nbulletedList=Bulleted List\nbusiness=Business\nbusy=Operation in progress\ncabinets=Cabinets\ncancel=Cancel\ncenter=Center\ncannotLoad=Load attempts failed. Please try again later.\ncannotLogin=Log in attempts failed. Please try again later.\ncannotOpenFile=Cannot open file\nchange=Change\nchangeOrientation=Change Orientation\nchangeUser=Change user\nchangeStorage=Change storage\nchangesNotSaved=Changes have not been saved\nclassDiagram=Class Diagram\nuserJoined={1} has joined\nuserLeft={1} has left\nchatWindowTitle=Chat\nchooseAnOption=Choose an option\nchromeApp=Chrome App\ncollaborativeEditingNotice=Important Notice for Collaborative Editing\ncompressed=Compressed\ncommitMessage=Commit Message\nconfigLinkWarn=This link configures draw.io. Only click OK if you trust whoever gave you it!\nconfigLinkConfirm=Click OK to configure and restart draw.io.\ncsv=CSV\ndark=Dark\ndidYouMeanToExportToPdf=Did you mean to export to PDF?\ndraftFound=A draft for \'{1}\' has been found. Load it into the editor or discard it to continue.\ndragAndDropNotSupported=Drag and drop not supported for images. Would you like to import instead?\ndropboxCharsNotAllowed=The following characters are not allowed:  / : ? * " |\ncheck=Check\nchecksum=Checksum\ncircle=Circle\ncisco=Cisco\nclassic=Classic\nclearDefaultStyle=Clear Default Style\nclearWaypoints=Clear Waypoints\nclipart=Clipart\nclose=Close\nclosingFile=Closing file\ncollaborator=Collaborator\ncollaborators=Collaborators\ncollapse=Collapse\ncollapseExpand=Collapse/Expand\ncollapse-expand=Click to collapse/expand\nShift-click to move neighbors \nAlt-click to protect group size\ncollapsible=Collapsible\ncomic=Comic\ncomment=Comment\ncommentsNotes=Comments/Notes\ncompress=Compress\nconnect=Connect\nconnecting=Connecting\nconnectWithDrive=Connect with Google Drive\nconnection=Connection\nconnectionArrows=Connection Arrows\nconnectionPoints=Connection Points\nconstrainProportions=Constrain Proportions\ncontainsValidationErrors=Contains validation errors\ncopiedToClipboard=Copied to clipboard\ncopy=Copy\ncopyConnect=Copy on connect\ncopyCreated=A copy of the file was created.\ncopyOf=Copy of {1}\ncopyOfDrawing=Copy of Drawing\ncopySize=Copy Size\ncopyStyle=Copy Style\ncreate=Create\ncreateNewDiagram=Create New Diagram\ncreateRevision=Create Revision\ncreateShape=Create Shape\ncrop=Crop\ncurved=Curved\ncustom=Custom\ncurrent=Current\ncurrentPage=Current page\ncut=Cut\ndashed=Dashed\ndecideLater=Decide later\ndefault=Default\ndelete=Delete\ndeleteColumn=Delete Column\ndeleteLibrary401=Insufficient permissions to delete this library\ndeleteLibrary404=Selected library could not be found\ndeleteLibrary500=Error deleting library\ndeleteLibraryConfirm=You are about to permanently delete this library. Are you sure you want to do this?\ndeleteRow=Delete Row\ndescription=Description\ndevice=Device\ndiagram=Diagram\ndiagramContent=Diagram Content\ndiagramLocked=Diagram has been locked to prevent further data loss.\ndiagramLockedBySince=The diagram is locked by {1} since {2} ago\ndiagramName=Diagram Name\ndiagramIsPublic=Diagram is public\ndiagramIsNotPublic=Diagram is not public\ndiamond=Diamond\ndiamondThin=Diamond (thin)\ndidYouKnow=Did you know...\ndirection=Direction\ndiscard=Discard\ndiscardChangesAndReconnect=Discard Changes and Reconnect\ngoogleDriveMissingClickHere=Google Drive missing? Click here!\ndiscardChanges=Discard Changes\ndisconnected=Disconnected\ndistribute=Distribute\ndone=Done\ndotted=Dotted\ndoubleClickOrientation=Doubleclick to change orientation\ndoubleClickTooltip=Doubleclick to insert text\ndoubleClickChangeProperty=Doubleclick to change property name\ndownload=Download\ndownloadDesktop=Get draw.io Desktop\ndownloadAs=Download as\nclickHereToSave=Click here to save.\ndpi=DPI\ndraftDiscarded=Draft discarded\ndraftSaved=Draft saved\ndragElementsHere=Drag elements here\ndragImagesHere=Drag images or URLs here\ndragUrlsHere=Drag URLs here\ndraw.io=draw.io\ndrawing=Drawing{1}\ndrawingEmpty=Drawing is empty\ndrawingTooLarge=Drawing is too large\ndrawioForWork=Draw.io for GSuite\ndropbox=Dropbox\nduplicate=Duplicate\nduplicateIt=Duplicate {1}\ndivider=Divider\ndx=Dx\ndy=Dy\neast=East\nedit=Edit\neditData=Edit Data\neditDiagram=Edit Diagram\neditGeometry=Edit Geometry\neditImage=Edit Image\neditImageUrl=Edit Image URL\neditLink=Edit Link\neditShape=Edit Shape\neditStyle=Edit Style\neditText=Edit Text\neditTooltip=Edit Tooltip\nglass=Glass\ngoogleImages=Google Images\nimageSearch=Image Search\neip=EIP\nembed=Embed\nembedImages=Embed Images\nmainEmbedNotice=Paste this into the page\nelectrical=Electrical\nellipse=Ellipse\nembedNotice=Paste this once at the end of the page\nenterGroup=Enter Group\nenterName=Enter Name\nenterPropertyName=Enter Property Name\nenterValue=Enter Value\nentityRelation=Entity Relation\nentityRelationshipDiagram=Entity Relationship Diagram\nerror=Error\nerrorDeletingFile=Error deleting file\nerrorLoadingFile=Error loading file\nerrorRenamingFile=Error renaming file\nerrorRenamingFileNotFound=Error renaming file. File was not found.\nerrorRenamingFileForbidden=Error renaming file. Insufficient access rights.\nerrorSavingDraft=Error saving draft\nerrorSavingFile=Error saving file\nerrorSavingFileUnknown=Error authorizing with Google\'s servers. Please refresh the page to re-attempt.\nerrorSavingFileForbidden=Error saving file. Insufficient access rights.\nerrorSavingFileNameConflict=Could not save diagram. Current page already contains file named \'{1}\'.\nerrorSavingFileNotFound=Error saving file. File was not found.\nerrorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.\nerrorSavingFileSessionTimeout=Your session has ended. Please <a target=\'_blank\' href=\'{1}\'>{2}</a> and return to this tab to try to save again.\nerrorSendingFeedback=Error sending feedback.\nerrorUpdatingPreview=Error updating preview.\nexit=Exit\nexitGroup=Exit Group\nexpand=Expand\nexport=Export\nexporting=Exporting\nexportAs=Export as\nexportOptionsDisabled=Export options disabled\nexportOptionsDisabledDetails=The owner has disabled options to download, print or copy for commenters and viewers on this file.\nexternalChanges=External Changes\nextras=Extras\nfacebook=Facebook\nfailedToSaveTryReconnect=Failed to save, trying to reconnect\nfeatureRequest=Feature Request\nfeedback=Feedback\nfeedbackSent=Feedback successfully sent.\nfloorplans=Floorplans\nfile=File\nfileChangedOverwriteDialog=The file has been modified. Do you want to save the file and overwrite those changes?\nfileChangedSyncDialog=The file has been modified. Do you want to synchronize those changes?\nfileChangedSync=The file has been modified. Click here to synchronize.\noverwrite=Overwrite\nsynchronize=Synchronize\nfilename=Filename\nfileExists=File already exists\nfileMovedToTrash=File was moved to trash\nfileNearlyFullSeeFaq=File nearly full, please see FAQ\nfileNotFound=File not found\nrepositoryNotFound=Repository not found\nfileNotFoundOrDenied=The file was not found. It does not exist or you do not have access.\nfileNotLoaded=File not loaded\nfileNotSaved=File not saved\nfileOpenLocation=How would you like to open these file(s)?\nfiletypeHtml=.html causes file to save as HTML with redirect to cloud URL\nfiletypePng=.png causes file to save as PNG with embedded data\nfiletypeSvg=.svg causes file to save as SVG with embedded data\nfileWillBeSavedInAppFolder={1} will be saved in the app folder.\nfill=Fill\nfillColor=Fill Color\nfilterCards=Filter Cards\nfind=Find\nfit=Fit\nfitContainer=Resize Container\nfitIntoContainer=Fit into Container\nfitPage=Fit Page\nfitPageWidth=Fit Page Width\nfitTo=Fit to\nfitToSheetsAcross=sheet(s) across\nfitToBy=by\nfitToSheetsDown=sheet(s) down\nfitTwoPages=Two Pages\nfitWindow=Fit Window\nflip=Flip\nflipH=Flip Horizontal\nflipV=Flip Vertical\nflowchart=Flowchart\nfolder=Folder\nfont=Font\nfontColor=Font Color\nfontFamily=Font Family\nfontSize=Font Size\nforbidden=You are not authorized to access this file\nformat=Format\nformatPanel=Format Panel\nformatted=Formatted\nformattedText=Formatted Text\nformatPng=PNG\nformatGif=GIF\nformatJpg=JPEG\nformatPdf=PDF\nformatSql=SQL\nformatSvg=SVG\nformatHtmlEmbedded=HTML\nformatSvgEmbedded=SVG (with XML)\nformatVsdx=VSDX\nformatVssx=VSSX\nformatXmlPlain=XML (Plain)\nformatXml=XML\nforum=Discussion/Help Forums\nfreehand=Freehand\nfromTemplate=From Template\nfromTemplateUrl=From Template URL\nfromText=From Text\nfromUrl=From URL\nfromThisPage=From this page\nfullscreen=Fullscreen\ngap=Gap\ngcp=GCP\ngeneral=General\ngithub=GitHub\ngitlab=GitLab\ngliffy=Gliffy\nglobal=Global\ngoogleDocs=Google Docs\ngoogleDrive=Google Drive\ngoogleGadget=Google Gadget\ngooglePlus=Google+\ngoogleSharingNotAvailable=Sharing is only available via Google Drive. Please click Open below and share from the more actions menu:\ngoogleSlides=Google Slides\ngoogleSites=Google Sites\ngoogleSheets=Google Sheets\ngradient=Gradient\ngradientColor=Color\ngrid=Grid\ngridColor=Grid Color\ngridSize=Grid Size\ngroup=Group\nguides=Guides\nhateApp=I hate draw.io\nheading=Heading\nheight=Height\nhelp=Help\nhelpTranslate=Help us translate this application\nhide=Hide\nhideIt=Hide {1}\nhidden=Hidden\nhome=Home\nhorizontal=Horizontal\nhorizontalFlow=Horizontal Flow\nhorizontalTree=Horizontal Tree\nhowTranslate=How good is the translation in your language?\nhtml=HTML\nhtmlText=HTML Text\nid=ID\niframe=IFrame\nignore=Ignore\nimage=Image\nimageUrl=Image URL\nimages=Images\nimagePreviewError=This image couldn\'t be loaded for preview. Please check the URL.\nimageTooBig=Image too big\nimgur=Imgur\nimport=Import\nimportFrom=Import from\nincludeCopyOfMyDiagram=Include a copy of my diagram\nincreaseIndent=Increase Indent\ndecreaseIndent=Decrease Indent\ninsert=Insert\ninsertColumnBefore=Insert Column Left\ninsertColumnAfter=Insert Column Right\ninsertEllipse=Insert Ellipse\ninsertImage=Insert Image\ninsertHorizontalRule=Insert Horizontal Rule\ninsertLink=Insert Link\ninsertPage=Insert Page\ninsertRectangle=Insert Rectangle\ninsertRhombus=Insert Rhombus\ninsertRowBefore=Insert Row Above\ninsertRowAfter=Insert Row After\ninsertText=Insert Text\ninserting=Inserting\ninstallDrawio=Install draw.io\ninvalidFilename=Diagram names must not contain the following characters:  / | : ; { } < > & + ? = "\ninvalidLicenseSeeThisPage=Your license is invalid, please see this <a target="_blank" href="https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin">page</a>.\ninvalidInput=Invalid input\ninvalidName=Invalid name\ninvalidOrMissingFile=Invalid or missing file\ninvalidPublicUrl=Invalid public URL\nisometric=Isometric\nios=iOS\nitalic=Italic\nkennedy=Kennedy\nkeyboardShortcuts=Keyboard Shortcuts\nlayers=Layers\nlandscape=Landscape\nlanguage=Language\nleanMapping=Lean Mapping\nlastChange=Last change {1} ago\nlessThanAMinute=less than a minute\nlicensingError=Licensing Error\nlicenseHasExpired=The license for {1} has expired on {2}. Click here.\nlicenseWillExpire=The license for {1} will expire on {2}. Click here.\nlineJumps=Line jumps\nlinkAccountRequired=If the diagram is not public a Google account is required to view the link.\nlinkText=Link Text\nlist=List\nminute=minute\nminutes=minutes\nhours=hours\ndays=days\nmonths=months\nyears=years\nrestartForChangeRequired=Changes will take effect after a restart of the application.\nlaneColor=Lanecolor\nlastModified=Last modified\nlayout=Layout\nleft=Left\nleftAlign=Left Align\nleftToRight=Left to right\nlibraryTooltip=Drag and drop shapes here or click + to insert. Double click to edit.\nlightbox=Lightbox\nline=Line\nlineend=Line end\nlineheight=Line Height\nlinestart=Line start\nlinewidth=Linewidth\nlink=Link\nlinks=Links\nloading=Loading\nlockUnlock=Lock/Unlock\nloggedOut=Logged Out\nlogIn=log in\nloveIt=I love {1}\nlucidchart=Lucidchart\nmaps=Maps\nmathematicalTypesetting=Mathematical Typesetting\nmakeCopy=Make a Copy\nmanual=Manual\nmicrosoftOffice=Microsoft Office\nmicrosoftExcel=Microsoft Excel\nmicrosoftPowerPoint=Microsoft PowerPoint\nmicrosoftWord=Microsoft Word\nmiddle=Middle\nminimal=Minimal\nmisc=Misc\nmockups=Mockups\nmodificationDate=Modification date\nmodifiedBy=Modified by\nmore=More\nmoreResults=More Results\nmoreShapes=More Shapes\nmove=Move\nmoveToFolder=Move to Folder\nmoving=Moving\nmoveSelectionTo=Move selection to {1}\nname=Name\nnavigation=Navigation\nnetwork=Network\nnetworking=Networking\nnew=New\nnewLibrary=New Library\nnextPage=Next Page\nno=No\nnoPickFolder=No, pick folder\nnoAttachments=No attachments found\nnoColor=No Color\nnoFiles=No Files\nnoFileSelected=No file selected\nnoLibraries=No libraries found\nnoMoreResults=No more results\nnone=None\nnoOtherViewers=No other viewers\nnoPlugins=No plugins\nnoPreview=No preview\nnoResponse=No response from server\nnoResultsFor=No results for \'{1}\'\nnoRevisions=No revisions\nnoSearchResults=No search results found\nnoPageContentOrNotSaved=No anchors found on this page or it hasn\'t been saved yet\nnormal=Normal\nnorth=North\nnotADiagramFile=Not a diagram file\nnotALibraryFile=Not a library file\nnotAvailable=Not available\nnotAUtf8File=Not a UTF-8 file\nnotConnected=Not connected\nnote=Note\nnotUsingService=Not using {1}?\nnumberedList=Numbered list\noffline=Offline\nok=OK\noneDrive=OneDrive\nonline=Online\nopacity=Opacity\nopen=Open\nopenArrow=Open Arrow\nopenExistingDiagram=Open Existing Diagram\nopenFile=Open File\nopenFrom=Open from\nopenLibrary=Open Library\nopenLibraryFrom=Open Library from\nopenLink=Open Link\nopenInNewWindow=Open in New Window\nopenInThisWindow=Open in This Window\nopenIt=Open {1}\nopenRecent=Open Recent\nopenSupported=Supported formats are files saved from this software (.xml), .vsdx and .gliffy\noptions=Options\norganic=Organic\norgChart=Org Chart\northogonal=Orthogonal\notherViewer=other viewer\notherViewers=other viewers\noutline=Outline\noval=Oval\npage=Page\npageContent=Page Content\npageNotFound=Page not found\npageWithNumber=Page-{1}\npages=Pages\npageView=Page View\npageSetup=Page Setup\npageScale=Page Scale\npan=Pan\npanTooltip=Space+Drag to pan\npaperSize=Paper Size\npattern=Pattern\npaste=Paste\npasteHere=Paste here\npasteSize=Paste Size\npasteStyle=Paste Style\nperimeter=Perimeter\npermissionAnyone=Anyone can edit\npermissionAuthor=Owner and admins can edit\npickFolder=Pick a folder\npickLibraryDialogTitle=Select Library\npublicDiagramUrl=Public URL of the diagram\nplaceholders=Placeholders\nplantUml=PlantUML\nplugins=Plugins\npluginUrl=Plugin URL\npluginWarning=The page has requested to load the following plugin(s):\n \n {1}\n \n Would you like to load these plugin(s) now?\n \n NOTE : Only allow plugins to run if you fully understand the security implications of doing so.\n\nplusTooltip=Click to connect and clone (ctrl+click to clone, shift+click to connect). Drag to connect (ctrl+drag to clone).\nportrait=Portrait\nposition=Position\nposterPrint=Poster Print\npreferences=Preferences\npreview=Preview\npreviousPage=Previous Page\nprint=Print\nprintAllPages=Print All Pages\nprocEng=Proc. Eng.\nproject=Project\npriority=Priority\nproperties=Properties\npublish=Publish\nquickStart=Quick Start Video\nrack=Rack\nradialTree=Radial Tree\nreadOnly=Read-only\nreconnecting=Reconnecting\nrecentlyUpdated=Recently Updated\nrecentlyViewed=Recently Viewed\nrectangle=Rectangle\nredirectToNewApp=This file was created or modified in a newer version of this app. You will be redirected now.\nrealtimeTimeout=It looks like you\'ve made a few changes while offline. We\'re sorry, these changes cannot be saved.\nredo=Redo\nrefresh=Refresh\nregularExpression=Regular Expression\nrelative=Relative\nrelativeUrlNotAllowed=Relative URL not allowed\nrememberMe=Remember me\nrememberThisSetting=Remember this setting\nremoveFormat=Clear Formatting\nremoveFromGroup=Remove from Group\nremoveIt=Remove {1}\nremoveWaypoint=Remove Waypoint\nrename=Rename\nrenamed=Renamed\nrenameIt=Rename {1}\nrenaming=Renaming\nreplace=Replace\nreplaceIt={1} already exists. Do you want to replace it?\nreplaceExistingDrawing=Replace existing drawing\nrequired=required\nreset=Reset\nresetView=Reset View\nresize=Resize\nresizeLargeImages=Do you want to resize large images to make the application run faster?\nretina=Retina\nresponsive=Responsive\nrestore=Restore\nrestoring=Restoring\nretryingIn=Retrying in {1} second(s)\nretryingLoad=Load failed. Retrying...\nretryingLogin=Login time out. Retrying...\nreverse=Reverse\nrevision=Revision\nrevisionHistory=Revision History\nrhombus=Rhombus\nright=Right\nrightAlign=Right Align\nrightToLeft=Right to left\nrotate=Rotate\nrotateTooltip=Click and drag to rotate, click to turn shape only by 90 degrees\nrotation=Rotation\nrounded=Rounded\nsave=Save\nsaveAndExit=Save & Exit\nsaveAs=Save as\nsaveAsXmlFile=Save as XML file?\nsaved=Saved\nsaveDiagramFirst=Please save the diagram first\nsaveDiagramsTo=Save diagrams to\nsaveLibrary403=Insufficient permissions to edit this library\nsaveLibrary500=There was an error while saving the library\nsaveLibraryReadOnly=Could not save library while read-only mode is active\nsaving=Saving\nscratchpad=Scratchpad\nscrollbars=Scrollbars\nsearch=Search\nsearchShapes=Search Shapes\nselectAll=Select All\nselectionOnly=Selection Only\nselectCard=Select Card\nselectEdges=Select Edges\nselectFile=Select File\nselectFolder=Select Folder\nselectFont=Select Font\nselectNone=Select None\nselectTemplate=Select Template\nselectVertices=Select Vertices\nsendMessage=Send\nsendYourFeedbackToDrawIo=Send your feedback to draw.io\nserviceUnavailableOrBlocked=Service unavailable or blocked\nsessionExpired=Your session has expired. Please refresh the browser window.\nsessionTimeoutOnSave=Your session has timed out and you have been disconnected from the Google Drive. Press OK to login and save. \nsetAsDefaultStyle=Set as Default Style\nshadow=Shadow\nshape=Shape\nshapes=Shapes\nshare=Share\nshareLink=Link for shared editing\nsharp=Sharp\nshow=Show\nshowStartScreen=Show Start Screen\nsidebarTooltip=Click to expand. Drag and drop shapes into the diagram. Shift+click to change selection. Alt+click to insert and connect.\nsigns=Signs\nsignOut=Sign out\nsimple=Simple\nsimpleArrow=Simple Arrow\nsimpleViewer=Simple Viewer\nsize=Size\nsolid=Solid\nsourceSpacing=Source Spacing\nsouth=South\nsoftware=Software\nspace=Space\nspacing=Spacing\nspecialLink=Special Link\nstandard=Standard\nstartDrawing=Start drawing\nstopDrawing=Stop drawing\nstarting=Starting\nstraight=Straight\nstrikethrough=Strikethrough\nstrokeColor=Line Color\nstyle=Style\nsubscript=Subscript\nsummary=Summary\nsuperscript=Superscript\nsupport=Support\nswimlaneDiagram=Swimlane Diagram\nsysml=SysML\ntags=Tags\ntable=Table\ntables=Tables\ntakeOver=Take Over\ntargetSpacing=Target Spacing\ntemplate=Template\ntemplates=Templates\ntext=Text\ntextAlignment=Text Alignment\ntextOpacity=Text Opacity\ntheme=Theme\ntimeout=Timeout\ntitle=Title\nto=to\ntoBack=To Back\ntoFront=To Front\ntoolbar=Toolbar\ntooltips=Tooltips\ntop=Top\ntopAlign=Top Align\ntopLeft=Top Left\ntopRight=Top Right\ntransparent=Transparent\ntransparentBackground=Transparent Background\ntrello=Trello\ntryAgain=Try again\ntryOpeningViaThisPage=Try opening via this page\nturn=Rotate shape only by 90°\ntype=Type\ntwitter=Twitter\numl=UML\nunderline=Underline\nundo=Undo\nungroup=Ungroup\nunsavedChanges=Unsaved changes\nunsavedChangesClickHereToSave=Unsaved changes. Click here to save.\nuntitled=Untitled\nuntitledDiagram=Untitled Diagram\nuntitledLayer=Untitled Layer\nuntitledLibrary=Untitled Library\nunknownError=Unknown error\nupdateFile=Update {1}\nupdatingDocument=Updating Document. Please wait...\nupdatingPreview=Updating Preview. Please wait...\nupdatingSelection=Updating Selection. Please wait...\nupload=Upload\nurl=URL\nuseOffline=Use Offline\nuseRootFolder=Use root folder?\nuserManual=User Manual\nvertical=Vertical\nverticalFlow=Vertical Flow\nverticalTree=Vertical Tree\nview=View\nviewerSettings=Viewer Settings\nviewUrl=Link to view: {1}\nvoiceAssistant=Voice Assistant (beta)\nwarning=Warning\nwaypoints=Waypoints\nwest=West\nwidth=Width\nwiki=Wiki\nwordWrap=Word Wrap\nwritingDirection=Writing Direction\nyes=Yes\nyourEmailAddress=Your email address\nzoom=Zoom\nzoomIn=Zoom In\nzoomOut=Zoom Out\nbasic=Basic\nbusinessprocess=Business Processes\ncharts=Charts\nengineering=Engineering\nflowcharts=Flowcharts\ngmdl=Material Design\nmindmaps=Mindmaps\nmockups=Mockups\nnetworkdiagrams=Network Diagrams\nnothingIsSelected=Nothing is selected\nother=Other\nsoftwaredesign=Software Design\nvenndiagrams=Venn Diagrams\nwebEmailOrOther=Web, email or any other internet address\nwebLink=Web Link\nwireframes=Wireframes\nproperty=Property\nvalue=Value\nshowMore=Show More\nshowLess=Show Less\nmyDiagrams=My Diagrams\nallDiagrams=All Diagrams\nrecentlyUsed=Recently used\nlistView=List view\ngridView=Grid view\nresultsFor=Results for \'{1}\'\noneDriveCharsNotAllowed=The following characters are not allowed: ~ " # %  * : < > ? /  { | }\noneDriveInvalidDeviceName=The specified device name is invalid\nofficeNotLoggedOD=You are not logged in to OneDrive. Please open draw.io task pane and login first.\nofficeSelectSingleDiag=Please select a single draw.io diagram only without other contents.\nofficeSelectDiag=Please select a draw.io diagram.\nofficeCannotFindDiagram=Cannot find a draw.io diagram in the selection\nnoDiagrams=No diagrams found\nauthFailed=Authentication failed\nofficeFailedAuthMsg=Unable to successfully authenticate user or authorize application.\nconvertingDiagramFailed=Converting diagram failed\nofficeCopyImgErrMsg=Due to some limitations in the host application, the image could not be inserted. Please manually copy the image then paste it to the document.\ninsertingImageFailed=Inserting image failed\nofficeCopyImgInst=Instructions: Right-click the image below. Select "Copy image" from the context menu. Then, in the document, right-click and select "Paste" from the context menu.\nfolderEmpty=Folder is empty\nrecent=Recent\nsharedWithMe=Shared With Me\nsharepointSites=Sharepoint Sites\nerrorFetchingFolder=Error fetching folder items\nerrorAuthOD=Error authenticating to OneDrive\nofficeMainHeader=Adds draw.io diagrams to your document.\nofficeStepsHeader=This add-in performs the following steps:\nofficeStep1=Connects to Microsoft OneDrive, Google Drive or your device.\nofficeStep2=Select a draw.io diagram.\nofficeStep3=Insert the diagram into the document.\nofficeAuthPopupInfo=Please complete the authentication in the pop-up window.\nofficeSelDiag=Select draw.io Diagram:\nfiles=Files\nshared=Shared\nsharepoint=Sharepoint\nofficeManualUpdateInst=Instructions: Copy draw.io diagram from the document. Then, in the box below, right-click and select "Paste" from the context menu.\nofficeClickToEdit=Click icon to start editing:\npasteDiagram=Paste draw.io diagram here\nconnectOD=Connect to OneDrive\nselectChildren=Select Children\nselectSiblings=Select Siblings\nselectParent=Select Parent\nselectDescendants=Select Descendants\nlastSaved=Last saved {1} ago\nresolve=Resolve\nreopen=Re-open\nshowResolved=Show Resolved\nreply=Reply\nobjectNotFound=Object not found\nreOpened=Re-opened\nmarkedAsResolved=Marked as resolved\nnoCommentsFound=No comments found\ncomments=Comments\ntimeAgo={1} ago\nconfluenceCloud=Confluence Cloud\nlibraries=Libraries\nconfAnchor=Confluence Page Anchor\nconfTimeout=The connection has timed out\nconfSrvTakeTooLong=The server at {1} is taking too long to respond.\nconfCannotInsertNew=Cannot insert draw.io diagram to a new Confluence page\nconfSaveTry=Please save the page and try again.\nconfCannotGetID=Unable to determine page ID\nconfContactAdmin=Please contact your Confluence administrator.\nreadErr=Read Error\neditingErr=Editing Error\nconfExtEditNotPossible=This diagram cannot be edited externally. Please try editing it while editing the page\nconfEditedExt=Diagram/Page edited externally\ndiagNotFound=Diagram Not Found\nconfEditedExtRefresh=Diagram/Page is edited externally. Please refresh the page.\nconfCannotEditDraftDelOrExt=Cannot edit diagrams in a draft page, diagram is deleted from the page, or diagram is edited externally. Please check the page.\nretBack=Return back\nconfDiagNotPublished=The diagram does not belong to a published page\ncreatedByDraw=Created by draw.io\nfilenameShort=Filename too short\ninvalidChars=Invalid characters\nalreadyExst={1} already exists\ndraftReadErr=Draft Read Error\ndiagCantLoad=Diagram cannot be loaded\ndraftWriteErr=Draft Write Error\ndraftCantCreate=Draft could not be created\nconfDuplName=Duplicate diagram name detected. Please pick another name.\nconfSessionExpired=Looks like your session expired. Log in again to keep working.\nlogin=Login\ndrawPrev=draw.io preview\ndrwaDiag=draw.io diagram\nunknownErr=Unkown Error\ninvalidCallFnNotFound=Invalid Call: {1} not found\ninvalidCallErrOccured=Invalid Call: An error occurred, {1}\nanonymous=Anonymous\nconfGotoPage=Go to containing page\nshowComments=Show Comments\nconfError=Error: {1}\ngliffyImport=Gliffy Import\ngliffyImportInst1=Click the "Start Import" button to import all Gliffy diagrams to draw.io.\ngliffyImportInst2=Please note that the import procedure will take some time and the browser window must remain open until the import is completed.\nstartImport=Start Import\ndrawConfig=draw.io Configuration\ncustomLib=Custom Libraries\ncustomTemp=Custom Templates\npageIdsExp=Page IDs Export\ndrawReindex=draw.io re-indexing (beta)\nworking=Working\ndrawConfigNotFoundInst=draw.io Configuration Space (DRAWIOCONFIG) does not exist. This space is needed to store draw.io configuration files and custom libraries/templates.\ncreateConfSp=Create Config Space\nunexpErrRefresh=Unexpected error, please refresh the page and try again.\nconfigJSONInst=Write draw.io JSON configuration in the editor below then click save. If you need help, please refer to\nthisPage=this page\ncurCustLib=Current Custom Libraries\nlibName=Library Name\naction=Action\ndrawConfID=draw.io Config ID\naddLibInst=Click the "Add Library" button to upload a new library.\naddLib=Add Library\ncustomTempInst1=Custom templates are draw.io diagrams saved in children pages of\ncustomTempInst2=For more details, please refer to\ntempsPage=Templates page\npageIdsExpInst1=Select export target, then click the "Start Export" button to export all pages IDs.\npageIdsExpInst2=Please note that the export procedure will take some time and the browser window must remain open until the export is completed.\nstartExp=Start Export\nrefreshDrawIndex=Refresh draw.io Diagrams Index\nreindexInst1=Click the "Start Indexing" button to refresh draw.io diagrams index.\nreindexInst2=Please note that the indexing procedure will take some time and the browser window must remain open until the indexing is completed.\nstartIndexing=Start Indexing\nconfAPageFoundFetch=Page "{1}" found. Fetching\nconfAAllDiagDone=All {1} diagrams processed. Process finished.\nconfAStartedProcessing=Started processing page "{1}"\nconfAAllDiagInPageDone=All {1} diagrams in page "{2}" processed successfully.\nconfAPartialDiagDone={1} out of {2} {3} diagrams in page "{4}" processed successfully.\nconfAUpdatePageFailed=Updating page "{1}" failed.\nconfANoDiagFoundInPage=No {1} diagrams found in page "{2}".\nconfAFetchPageFailed=Fetching the page failed.\nconfANoDiagFound=No {1} diagrams found. Process finished.\nconfASearchFailed=Searching for {1} diagrams failed. Please try again later.\nconfAGliffyDiagFound={2} diagram "{1}" found. Importing\nconfAGliffyDiagImported={2} diagram "{1}" imported successfully.\nconfASavingImpGliffyFailed=Saving imported {2} diagram "{1}" failed.\nconfAImportedFromByDraw=Imported from "{1}" by draw.io\nconfAImportGliffyFailed=Importing {2} diagram "{1}" failed.\nconfAFetchGliffyFailed=Fetching {2} diagram "{1}" failed.\nconfACheckBrokenDiagLnk=Checking for broken diagrams links.\nconfADelDiagLinkOf=Deleting diagram link of "{1}"\nconfADupLnk=(duplicate link)\nconfADelDiagLnkFailed=Deleting diagram link of "{1}" failed.\nconfAUnexpErrProcessPage=Unexpected error during processing the page with id: {1}\nconfADiagFoundIndex=Diagram "{1}" found. Indexing\nconfADiagIndexSucc=Diagram "{1}" indexed successfully.\nconfAIndexDiagFailed=Indexing diagram "{1}" failed.\nconfASkipDiagOtherPage=Skipped "{1}" as it belongs to another page!\nconfADiagUptoDate=Diagram "{1}" is up to date.\nconfACheckPagesWDraw=Checking pages having draw.io diagrams.\nconfAErrOccured=An error occurred!\nsavedSucc=Saved successfully\nconfASaveFailedErr=Saving Failed (Unexpected Error)\ncharacter=Character\nconfAConfPageDesc=This page contains draw.io configuration file (configuration.json) as attachment\nconfALibPageDesc=This page contains draw.io custom libraries as attachments\nconfATempPageDesc=This page contains draw.io custom templates as attachments\nworking=Working\nconfAConfSpaceDesc=This space is used to store draw.io configuration files and custom libraries/templates\nconfANoCustLib=No Custom Libraries\ndelFailed=Delete failed!\nshowID=Show ID\nconfAIncorrectLibFileType=Incorrect file type. Libraries should be XML files.\nuploading=Uploading\nconfALibExist=This library already exists\nconfAUploadSucc=Uploaded successfully\nconfAUploadFailErr=Upload Failed (Unexpected Error)\nhiResPreview=High Res Preview\nofficeNotLoggedGD=You are not logged in to Google Drive. Please open draw.io task pane and login first.\nofficePopupInfo=Please complete the process in the pop-up window.\npickODFile=Pick OneDrive File\npickGDriveFile=Pick Google Drive File\npickDeviceFile=Pick Device File\nvsdNoConfig="vsdurl" is not configured\nruler=Ruler\nunits=Units\npoints=Points\ninches=Inches\nmillimeters=Millimeters\nconfEditDraftDelOrExt=This diagram is in a draft page, is deleted from the page, or is edited externally. It will be saved as a new attachment version and may not be reflected in the page.\nconfDiagEditedExt=Diagram is edited in another session. It will be saved as a new attachment version but the page will show other session\'s modifications.\nmacroNotFound=Macro Not Found\nconfAInvalidPageIdsFormat=Incorrect Page IDs file format\nconfACollectingCurPages=Collecting current pages\nconfABuildingPagesMap=Building pages mapping\nconfAProcessDrawDiag=Started processing imported draw.io diagrams\nconfAProcessDrawDiagDone=Finished processing imported draw.io diagrams\nconfAProcessImpPages=Started processing imported pages\nconfAErrPrcsDiagInPage=Error processing draw.io diagrams in page "{1}"\nconfAPrcsDiagInPage=Processing draw.io diagrams in page "{1}"\nconfAImpDiagram=Importing diagram "{1}"\nconfAImpDiagramFailed=Importing diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. \nconfAImpDiagramError=Error importing diagram "{1}". Cannot fetch or save the diagram. Cannot fix this diagram links.\nconfAUpdateDgrmCCFailed=Updating link to diagram "{1}" failed.\nconfImpDiagramSuccess=Updating diagram "{1}" done successfully.\nconfANoLnksInDrgm=No links to update in: {1}\nconfAUpdateLnkToPg=Updated link to page: "{1}" in diagram: "{2}"\nconfAUpdateLBLnkToPg=Updated lightbox link to page: "{1}" in diagram: "{2}"\nconfAUpdateLnkBase=Updated base URL from: "{1}" to: "{2}" in diagram: "{3}"\nconfAPageIdsImpDone=Page IDs Import finished.\nconfAPrcsMacrosInPage=Processing draw.io macros in page "{1}"\nconfAErrFetchPage=Error fetching page "{1}"\nconfAFixingMacro=Fixing macro of diagram "{1}"\nconfAErrReadingExpFile=Error reading export file\nconfAPrcsDiagInPageDone=Processing draw.io diagrams in page "{1}" finished\nconfAFixingMacroSkipped=Fixing macro of diagram "{1}" failed. Cannot find its new page ID. Maybe it points to a page that is not imported. \npageIdsExpTrg=Export target\nconfALucidDiagImgImported={2} diagram "{1}" image extracted successfully.\nconfASavingLucidDiagImgFailed=Extracting {2} diagram "{1}" image failed.\nconfGetInfoFailed=Fetching file info from {1} failed.\nconfCheckCacheFailed=Cannot get cached file info.\nconfReadFileErr=Cannot read "{1}" file from {2}.\nconfSaveCacheFailed=Unexpected error. Cannot save cached file\n');Graph.prototype.defaultThemes["default-style2"]=mxUtils.parseXml('<mxStylesheet><add as="defaultVertex"><add as="shape" value="label"/><add as="perimeter" value="rectanglePerimeter"/><add as="fontSize" value="12"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="fillColor" value="#ffffff"/><add as="strokeColor" value="#000000"/><add as="fontColor" value="#000000"/></add><add as="defaultEdge"><add as="shape" value="connector"/><add as="labelBackgroundColor" value="#ffffff"/><add as="endArrow" value="classic"/><add as="fontSize" value="11"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="rounded" value="1"/><add as="strokeColor" value="#000000"/><add as="fontColor" value="#000000"/></add><add as="fancy"><add as="shadow" value="1"/><add as="glass" value="1"/></add><add as="gray" extend="fancy"><add as="gradientColor" value="#B3B3B3"/><add as="fillColor" value="#F5F5F5"/><add as="strokeColor" value="#666666"/></add><add as="blue" extend="fancy"><add as="gradientColor" value="#7EA6E0"/><add as="fillColor" value="#DAE8FC"/><add as="strokeColor" value="#6C8EBF"/></add><add as="green" extend="fancy"><add as="gradientColor" value="#97D077"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#82B366"/></add><add as="turquoise" extend="fancy"><add as="gradientColor" value="#67AB9F"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#6A9153"/></add><add as="yellow" extend="fancy"><add as="gradientColor" value="#FFD966"/><add as="fillColor" value="#FFF2CC"/><add as="strokeColor" value="#D6B656"/></add><add as="orange" extend="fancy"><add as="gradientColor" value="#FFA500"/><add as="fillColor" value="#FFCD28"/><add as="strokeColor" value="#D79B00"/></add><add as="red" extend="fancy"><add as="gradientColor" value="#EA6B66"/><add as="fillColor" value="#F8CECC"/><add as="strokeColor" value="#B85450"/></add><add as="pink" extend="fancy"><add as="gradientColor" value="#B5739D"/><add as="fillColor" value="#E6D0DE"/><add as="strokeColor" value="#996185"/></add><add as="purple" extend="fancy"><add as="gradientColor" value="#8C6C9C"/><add as="fillColor" value="#E1D5E7"/><add as="strokeColor" value="#9673A6"/></add><add as="plain-gray"><add as="gradientColor" value="#B3B3B3"/><add as="fillColor" value="#F5F5F5"/><add as="strokeColor" value="#666666"/></add><add as="plain-blue"><add as="gradientColor" value="#7EA6E0"/><add as="fillColor" value="#DAE8FC"/><add as="strokeColor" value="#6C8EBF"/></add><add as="plain-green"><add as="gradientColor" value="#97D077"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#82B366"/></add><add as="plain-turquoise"><add as="gradientColor" value="#67AB9F"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#6A9153"/></add><add as="plain-yellow"><add as="gradientColor" value="#FFD966"/><add as="fillColor" value="#FFF2CC"/><add as="strokeColor" value="#D6B656"/></add><add as="plain-orange"><add as="gradientColor" value="#FFA500"/><add as="fillColor" value="#FFCD28"/><add as="strokeColor" value="#D79B00"/></add><add as="plain-red"><add as="gradientColor" value="#EA6B66"/><add as="fillColor" value="#F8CECC"/><add as="strokeColor" value="#B85450"/></add><add as="plain-pink"><add as="gradientColor" value="#B5739D"/><add as="fillColor" value="#E6D0DE"/><add as="strokeColor" value="#996185"/></add><add as="plain-purple"><add as="gradientColor" value="#8C6C9C"/><add as="fillColor" value="#E1D5E7"/><add as="strokeColor" value="#9673A6"/></add><add as="text"><add as="fillColor" value="none"/><add as="gradientColor" value="none"/><add as="strokeColor" value="none"/><add as="align" value="left"/><add as="verticalAlign" value="top"/></add><add as="label"><add as="fontStyle" value="1"/><add as="align" value="left"/><add as="verticalAlign" value="middle"/><add as="spacing" value="2"/><add as="spacingLeft" value="52"/><add as="imageWidth" value="42"/><add as="imageHeight" value="42"/><add as="rounded" value="1"/></add><add as="icon" extend="label"><add as="align" value="center"/><add as="imageAlign" value="center"/><add as="verticalLabelPosition" value="bottom"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="4"/><add as="labelBackgroundColor" value="#ffffff"/><add as="spacing" value="0"/><add as="spacingLeft" value="0"/><add as="spacingTop" value="6"/><add as="fontStyle" value="0"/><add as="imageWidth" value="48"/><add as="imageHeight" value="48"/></add><add as="swimlane"><add as="shape" value="swimlane"/><add as="fontSize" value="12"/><add as="fontStyle" value="1"/><add as="startSize" value="23"/></add><add as="group"><add as="verticalAlign" value="top"/><add as="fillColor" value="none"/><add as="strokeColor" value="none"/><add as="gradientColor" value="none"/><add as="pointerEvents" value="0"/></add><add as="ellipse"><add as="shape" value="ellipse"/><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombus"><add as="shape" value="rhombus"/><add as="perimeter" value="rhombusPerimeter"/></add><add as="triangle"><add as="shape" value="triangle"/><add as="perimeter" value="trianglePerimeter"/></add><add as="line"><add as="shape" value="line"/><add as="strokeWidth" value="4"/><add as="labelBackgroundColor" value="#ffffff"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="8"/></add><add as="image"><add as="shape" value="image"/><add as="labelBackgroundColor" value="white"/><add as="verticalAlign" value="top"/><add as="verticalLabelPosition" value="bottom"/></add><add as="roundImage" extend="image"><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombusImage" extend="image"><add as="perimeter" value="rhombusPerimeter"/></add><add as="arrow"><add as="shape" value="arrow"/><add as="edgeStyle" value="none"/><add as="fillColor" value="#ffffff"/></add></mxStylesheet>').documentElement;
+Graph.prototype.defaultThemes.darkTheme=mxUtils.parseXml('<mxStylesheet><add as="defaultVertex"><add as="shape" value="label"/><add as="perimeter" value="rectanglePerimeter"/><add as="fontSize" value="12"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="fillColor" value="#2a2a2a"/><add as="strokeColor" value="#f0f0f0"/><add as="fontColor" value="#f0f0f0"/></add><add as="defaultEdge"><add as="shape" value="connector"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="endArrow" value="classic"/><add as="fontSize" value="11"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="rounded" value="1"/><add as="strokeColor" value="#f0f0f0"/><add as="fontColor" value="#f0f0f0"/></add><add as="text"><add as="fillColor" value="none"/><add as="gradientColor" value="none"/><add as="strokeColor" value="none"/><add as="align" value="left"/><add as="verticalAlign" value="top"/></add><add as="label"><add as="fontStyle" value="1"/><add as="align" value="left"/><add as="verticalAlign" value="middle"/><add as="spacing" value="2"/><add as="spacingLeft" value="52"/><add as="imageWidth" value="42"/><add as="imageHeight" value="42"/><add as="rounded" value="1"/></add><add as="icon" extend="label"><add as="align" value="center"/><add as="imageAlign" value="center"/><add as="verticalLabelPosition" value="bottom"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="4"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="spacing" value="0"/><add as="spacingLeft" value="0"/><add as="spacingTop" value="6"/><add as="fontStyle" value="0"/><add as="imageWidth" value="48"/><add as="imageHeight" value="48"/></add><add as="swimlane"><add as="shape" value="swimlane"/><add as="fontSize" value="12"/><add as="fontStyle" value="1"/><add as="startSize" value="23"/></add><add as="group"><add as="verticalAlign" value="top"/><add as="fillColor" value="none"/><add as="strokeColor" value="none"/><add as="gradientColor" value="none"/><add as="pointerEvents" value="0"/></add><add as="ellipse"><add as="shape" value="ellipse"/><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombus"><add as="shape" value="rhombus"/><add as="perimeter" value="rhombusPerimeter"/></add><add as="triangle"><add as="shape" value="triangle"/><add as="perimeter" value="trianglePerimeter"/></add><add as="line"><add as="shape" value="line"/><add as="strokeWidth" value="4"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="8"/></add><add as="image"><add as="shape" value="image"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="verticalAlign" value="top"/><add as="verticalLabelPosition" value="bottom"/></add><add as="roundImage" extend="image"><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombusImage" extend="image"><add as="perimeter" value="rhombusPerimeter"/></add><add as="arrow"><add as="shape" value="arrow"/><add as="edgeStyle" value="none"/><add as="fillColor" value="#2a2a2a"/></add></mxStylesheet>').documentElement;GraphViewer=function(a,b,e){this.init(a,b,e)};mxUtils.extend(GraphViewer,mxEventSource);GraphViewer.prototype.editBlankUrl="https://www.draw.io/";GraphViewer.prototype.imageBaseUrl="https://www.draw.io/";GraphViewer.prototype.toolbarHeight="BackCompat"==document.compatMode?28:30;GraphViewer.prototype.lightboxChrome=!0;GraphViewer.prototype.lightboxZIndex=999;GraphViewer.prototype.toolbarZIndex=999;GraphViewer.prototype.autoFit=!0;GraphViewer.prototype.center=!1;GraphViewer.prototype.allowZoomIn=!1;
 GraphViewer.prototype.showTitleAsTooltip=!1;GraphViewer.prototype.checkVisibleState=!0;GraphViewer.prototype.minHeight=28;GraphViewer.prototype.minWidth=100;
-GraphViewer.prototype.init=function(a,b,f){this.graphConfig=null!=f?f:{};this.autoFit=null!=this.graphConfig["auto-fit"]?this.graphConfig["auto-fit"]:this.autoFit;this.allowZoomIn=null!=this.graphConfig["allow-zoom-in"]?this.graphConfig["allow-zoom-in"]:this.allowZoomIn;this.center=null!=this.graphConfig.center?this.graphConfig.center:this.center;this.checkVisibleState=null!=this.graphConfig["check-visible-state"]?this.graphConfig["check-visible-state"]:this.checkVisibleState;this.toolbarItems=null!=
+GraphViewer.prototype.init=function(a,b,e){this.graphConfig=null!=e?e:{};this.autoFit=null!=this.graphConfig["auto-fit"]?this.graphConfig["auto-fit"]:this.autoFit;this.allowZoomIn=null!=this.graphConfig["allow-zoom-in"]?this.graphConfig["allow-zoom-in"]:this.allowZoomIn;this.center=null!=this.graphConfig.center?this.graphConfig.center:this.center;this.checkVisibleState=null!=this.graphConfig["check-visible-state"]?this.graphConfig["check-visible-state"]:this.checkVisibleState;this.toolbarItems=null!=
 this.graphConfig.toolbar?this.graphConfig.toolbar.split(" "):[];this.zoomEnabled=0<=mxUtils.indexOf(this.toolbarItems,"zoom");this.layersEnabled=0<=mxUtils.indexOf(this.toolbarItems,"layers");this.lightboxEnabled=0<=mxUtils.indexOf(this.toolbarItems,"lightbox");this.lightboxClickEnabled=0!=this.graphConfig.lightbox;this.initialWidth=null!=a?a.style.width:null;this.widthIsEmpty=null!=this.initialWidth?""==this.initialWidth:!0;this.currentPage=parseInt(this.graphConfig.page)||0;this.pageId=this.graphConfig.pageId;
-this.editor=null;"inline"==this.graphConfig["toolbar-position"]&&(this.minHeight+=this.toolbarHeight);if(null!=b&&(this.xmlDocument=b.ownerDocument,this.xmlNode=b,this.xml=mxUtils.getXml(b),null!=a)){var d=mxUtils.bind(this,function(){this.graph=new Graph(a);this.graph.defaultPageBackgroundColor="transparent";this.graph.transparentBackground=!1;this.graphConfig.move&&(this.graph.isMoveCellsEvent=function(a){return!0});this.lightboxClickEnabled&&(a.style.cursor="pointer");this.editor=new Editor(!0,
-null,null,this.graph);this.editor.editBlankUrl=this.editBlankUrl;this.graph.lightbox=!0;this.graph.centerZoom=!1;this.graph.autoExtend=!1;this.graph.autoScroll=!1;this.graph.setEnabled(!1);1==this.graphConfig["toolbar-nohide"]&&(this.editor.defaultGraphOverflow="visible");this.xmlNode=this.editor.extractGraphModel(this.xmlNode,!0);this.xmlNode!=b&&(this.xml=mxUtils.getXml(this.xmlNode),this.xmlDocument=this.xmlNode.ownerDocument);var d=this;this.graph.getImageFromBundles=function(a){return d.getImageUrl(a)};
-mxClient.IS_SVG&&this.graph.addSvgShadow(this.graph.view.canvas.ownerSVGElement,null,!0);if("mxfile"==this.xmlNode.nodeName){var f=this.xmlNode.getElementsByTagName("diagram");if(0<f.length){if(null!=this.pageId)for(var l=0;l<f.length;l++)if(this.pageId==f[l].getAttribute("id")){this.currentPage=l;break}var m=this.graph.getGlobalVariable,d=this;this.graph.getGlobalVariable=function(a){var b=f[d.currentPage];return"page"==a?b.getAttribute("name")||"Page-"+(d.currentPage+1):"pagenumber"==a?d.currentPage+
-1:"pagecount"==a?f.length:m.apply(this,arguments)}}}this.diagrams=[];var c=null;this.selectPage=function(a){this.handlingResize||(this.currentPage=mxUtils.mod(a,this.diagrams.length),this.updateGraphXml(Editor.parseDiagramNode(this.diagrams[this.currentPage])))};this.selectPageById=function(a){for(var b=!1,c=0;c<this.diagrams.length;c++)if(this.diagrams[c].getAttribute("id")==a){this.selectPage(c);b=!0;break}return b};l=mxUtils.bind(this,function(){if(null==this.xmlNode||"mxfile"!=this.xmlNode.nodeName)this.diagrams=
-[];this.xmlNode!=c&&(this.diagrams=this.xmlNode.getElementsByTagName("diagram"),c=this.xmlNode)});this.addListener("xmlNodeChanged",l);l();urlParams.page=d.currentPage;this.graph.getModel().beginUpdate();try{urlParams.nav=0!=this.graphConfig.nav?"1":"0",this.editor.setGraphXml(this.xmlNode),this.graph.border=null!=this.graphConfig.border?this.graphConfig.border:8,this.graph.view.scale=this.graphConfig.zoom||1}finally{this.graph.getModel().endUpdate()}this.graph.panningHandler.useLeftButtonForPanning=
+this.editor=null;"inline"==this.graphConfig["toolbar-position"]&&(this.minHeight+=this.toolbarHeight);if(null!=b&&(this.xmlDocument=b.ownerDocument,this.xmlNode=b,this.xml=mxUtils.getXml(b),null!=a)){var c=mxUtils.bind(this,function(){this.graph=new Graph(a);this.graph.defaultPageBackgroundColor="transparent";this.graph.transparentBackground=!1;this.graphConfig.move&&(this.graph.isMoveCellsEvent=function(a){return!0});this.lightboxClickEnabled&&(a.style.cursor="pointer");this.editor=new Editor(!0,
+null,null,this.graph);this.editor.editBlankUrl=this.editBlankUrl;this.graph.lightbox=!0;this.graph.centerZoom=!1;this.graph.autoExtend=!1;this.graph.autoScroll=!1;this.graph.setEnabled(!1);1==this.graphConfig["toolbar-nohide"]&&(this.editor.defaultGraphOverflow="visible");this.xmlNode=this.editor.extractGraphModel(this.xmlNode,!0);this.xmlNode!=b&&(this.xml=mxUtils.getXml(this.xmlNode),this.xmlDocument=this.xmlNode.ownerDocument);var c=this;this.graph.getImageFromBundles=function(a){return c.getImageUrl(a)};
+mxClient.IS_SVG&&this.graph.addSvgShadow(this.graph.view.canvas.ownerSVGElement,null,!0);if("mxfile"==this.xmlNode.nodeName){var e=this.xmlNode.getElementsByTagName("diagram");if(0<e.length){if(null!=this.pageId)for(var l=0;l<e.length;l++)if(this.pageId==e[l].getAttribute("id")){this.currentPage=l;break}var m=this.graph.getGlobalVariable,c=this;this.graph.getGlobalVariable=function(a){var b=e[c.currentPage];return"page"==a?b.getAttribute("name")||"Page-"+(c.currentPage+1):"pagenumber"==a?c.currentPage+
+1:"pagecount"==a?e.length:m.apply(this,arguments)}}}this.diagrams=[];var d=null;this.selectPage=function(a){this.handlingResize||(this.currentPage=mxUtils.mod(a,this.diagrams.length),this.updateGraphXml(Editor.parseDiagramNode(this.diagrams[this.currentPage])))};this.selectPageById=function(a){for(var b=!1,c=0;c<this.diagrams.length;c++)if(this.diagrams[c].getAttribute("id")==a){this.selectPage(c);b=!0;break}return b};l=mxUtils.bind(this,function(){if(null==this.xmlNode||"mxfile"!=this.xmlNode.nodeName)this.diagrams=
+[];this.xmlNode!=d&&(this.diagrams=this.xmlNode.getElementsByTagName("diagram"),d=this.xmlNode)});this.addListener("xmlNodeChanged",l);l();urlParams.page=c.currentPage;this.graph.getModel().beginUpdate();try{urlParams.nav=0!=this.graphConfig.nav?"1":"0",this.editor.setGraphXml(this.xmlNode),this.graph.border=null!=this.graphConfig.border?this.graphConfig.border:8,this.graph.view.scale=this.graphConfig.zoom||1}finally{this.graph.getModel().endUpdate()}this.graph.panningHandler.useLeftButtonForPanning=
 !0;this.graph.panningHandler.isForcePanningEvent=function(a){return!mxEvent.isPopupTrigger(a.getEvent())&&"auto"==this.graph.container.style.overflow};this.graph.panningHandler.usePopupTrigger=!1;this.graph.panningHandler.pinchEnabled=!1;this.graph.panningHandler.ignoreCell=!0;this.graph.setPanning(!1);null!=this.graphConfig.toolbar?this.addToolbar():null!=this.graphConfig.title&&this.showTitleAsTooltip&&a.setAttribute("title",this.graphConfig.title);this.addSizeHandler();this.showLayers(this.graph);
-this.addClickHandler(this.graph);this.graph.setTooltips(0!=this.graphConfig.tooltips);this.graph.initialViewState={translate:this.graph.view.translate.clone(),scale:this.graph.view.scale};d=this;this.graph.customLinkClicked=function(a){var b=!0;if("data:page/id,"==a.substring(0,13)){var c=a.indexOf(",");d.selectPageById(a.substring(c+1))||(b=!1,alert(mxResources.get("pageNotFound")||"Page not found"))}else this.handleCustomLink(a);return b};this.fireEvent(new mxEventObject("render"))});f=window.MutationObserver||
-window.WebKitMutationObserver||window.MozMutationObserver;if(this.checkVisibleState&&0==a.offsetWidth&&"undefined"!==typeof f){var l=this.getObservableParent(a),m=new f(mxUtils.bind(this,function(b){0<a.offsetWidth&&(m.disconnect(),d())}));m.observe(l,{attributes:!0})}else d()}};GraphViewer.prototype.getObservableParent=function(a){for(a=a.parentNode;a!=document.body&&null!=a.parentNode&&"none"!==mxUtils.getCurrentStyle(a).display;)a=a.parentNode;return a};
+this.addClickHandler(this.graph);this.graph.setTooltips(0!=this.graphConfig.tooltips);this.graph.initialViewState={translate:this.graph.view.translate.clone(),scale:this.graph.view.scale};c=this;this.graph.customLinkClicked=function(a){var b=!0;if("data:page/id,"==a.substring(0,13)){var d=a.indexOf(",");c.selectPageById(a.substring(d+1))||(b=!1,alert(mxResources.get("pageNotFound")||"Page not found"))}else this.handleCustomLink(a);return b};this.fireEvent(new mxEventObject("render"))});e=window.MutationObserver||
+window.WebKitMutationObserver||window.MozMutationObserver;if(this.checkVisibleState&&0==a.offsetWidth&&"undefined"!==typeof e){var l=this.getObservableParent(a),m=new e(mxUtils.bind(this,function(b){0<a.offsetWidth&&(m.disconnect(),c())}));m.observe(l,{attributes:!0})}else c()}};GraphViewer.prototype.getObservableParent=function(a){for(a=a.parentNode;a!=document.body&&null!=a.parentNode&&"none"!==mxUtils.getCurrentStyle(a).display;)a=a.parentNode;return a};
 GraphViewer.prototype.getImageUrl=function(a){null!=a&&"http://"!=a.substring(0,7)&&"https://"!=a.substring(0,8)&&"data:image"!=a.substring(0,10)&&("/"==a.charAt(0)&&(a=a.substring(1,a.length)),a=this.imageBaseUrl+a);return a};GraphViewer.prototype.setXmlNode=function(a){a=this.editor.extractGraphModel(a,!0);this.xmlDocument=a.ownerDocument;this.xml=mxUtils.getXml(a);this.xmlNode=a;this.updateGraphXml(a);this.fireEvent(new mxEventObject("xmlNodeChanged"))};
 GraphViewer.prototype.setFileNode=function(a){null==this.xmlNode&&(this.xmlDocument=a.ownerDocument,this.xml=mxUtils.getXml(a),this.xmlNode=a);this.setGraphXml(a)};GraphViewer.prototype.updateGraphXml=function(a){this.setGraphXml(a);this.fireEvent(new mxEventObject("graphChanged"))};
 GraphViewer.prototype.setGraphXml=function(a){null!=this.graph&&(this.graph.view.translate=new mxPoint,this.graph.view.scale=1,this.graph.getModel().clear(),this.editor.setGraphXml(a),this.widthIsEmpty?(this.graph.container.style.width="",this.graph.container.style.height=""):this.graph.container.style.width=this.initialWidth,this.positionGraph(),this.graph.initialViewState={translate:this.graph.view.translate.clone(),scale:this.graph.view.scale})};
-GraphViewer.prototype.addSizeHandler=function(){var a=this.graph.container,b=this.graph.getGraphBounds(),f=!1;a.style.overflow=1!=this.graphConfig["toolbar-nohide"]?"hidden":"visible";var d=mxUtils.bind(this,function(){if(!f){f=!0;var b=this.graph.getGraphBounds();a.style.overflow=1!=this.graphConfig["toolbar-nohide"]?b.width+2*this.graph.border>a.offsetWidth-2?"auto":"hidden":"visible";if(null!=this.toolbar&&1!=this.graphConfig["toolbar-nohide"]){var b=a.getBoundingClientRect(),d=mxUtils.getScrollOrigin(document.body),
-d="relative"===document.body.style.position?document.body.getBoundingClientRect():{left:-d.x,top:-d.y},b={left:b.left-d.left,top:b.top-d.top,bottom:b.bottom-d.top,right:b.right-d.left};this.toolbar.style.left=b.left+"px";"bottom"==this.graphConfig["toolbar-position"]?this.toolbar.style.top=b.bottom-1+"px":"inline"!=this.graphConfig["toolbar-position"]?(this.toolbar.style.width=Math.max(this.minToolbarWidth,a.offsetWidth)+"px",this.toolbar.style.top=b.top+1+"px"):this.toolbar.style.top=b.top+"px"}f=
-!1}}),l=null;this.handlingResize=!1;this.fitGraph=mxUtils.bind(this,function(b){var d=a.offsetWidth;d==l||this.handlingResize||(this.handlingResize=!0,"auto"==a.style.overflow&&(a.style.overflow="hidden"),this.graph.maxFitScale=null!=b?b:this.graphConfig.zoom||(this.allowZoomIn?null:1),this.graph.fit(null,null,null,null,null,!0),(this.center||0==this.graphConfig.resize&&""!=a.style.height)&&this.graph.center(),this.graph.maxFitScale=null,0==this.graphConfig.resize&&""!=a.style.height||this.updateContainerHeight(a,
-Math.max(this.minHeight,this.graph.getGraphBounds().height+2*this.graph.border+1)),this.graph.initialViewState={translate:this.graph.view.translate.clone(),scale:this.graph.view.scale},l=d,window.setTimeout(mxUtils.bind(this,function(){this.handlingResize=!1}),0))});GraphViewer.useResizeSensor&&(mxClient.IS_QUIRKS||9>=document.documentMode?(mxEvent.addListener(window,"resize",d),this.graph.addListener("size",d)):new ResizeSensor(this.graph.container,d));if(this.graphConfig.resize||(this.zoomEnabled||
-!this.autoFit)&&0!=this.graphConfig.resize)this.graph.minimumContainerSize=new mxRectangle(0,0,this.minWidth,this.minHeight),this.graph.resizeContainer=!0;else if(!this.widthIsEmpty||""!=a.style.height&&this.autoFit||this.updateContainerWidth(a,b.width+2*this.graph.border),0==this.graphConfig.resize&&""!=a.style.height||this.updateContainerHeight(a,Math.max(this.minHeight,b.height+2*this.graph.border+1)),!this.zoomEnabled&&this.autoFit){var m=l=null,d=mxUtils.bind(this,function(){window.clearTimeout(m);
-this.handlingResize||(m=window.setTimeout(mxUtils.bind(this,this.fitGraph),100))});GraphViewer.useResizeSensor&&(mxClient.IS_QUIRKS||9>=document.documentMode?mxEvent.addListener(window,"resize",d):new ResizeSensor(this.graph.container,d))}else mxClient.IS_QUIRKS||9>=document.documentMode||this.graph.addListener("size",d);var q=mxUtils.bind(this,function(){var d=a.style.minWidth;this.widthIsEmpty&&(a.style.minWidth="100%");var f=null!=this.graphConfig["max-height"]?this.graphConfig["max-height"]:""!=
-a.style.height&&this.autoFit?a.offsetHeight:void 0;if(0<a.offsetWidth&&(this.allowZoomIn||b.width+2*this.graph.border>a.offsetWidth||b.height+2*this.graph.border>f)){var m=null;null!=f&&b.height+2*this.graph.border>f-2&&(m=(f-2*this.graph.border-2)/b.height);this.fitGraph(m)}else this.widthIsEmpty||0!=this.graphConfig.resize||""==a.style.height?(this.graph.view.setTranslate(Math.floor(this.graph.border-b.x/this.graph.view.scale),Math.floor(this.graph.border-b.y/this.graph.view.scale)),l=a.offsetWidth):
-this.graph.center((!this.widthIsEmpty||b.width<this.minWidth)&&1!=this.graphConfig.resize);a.style.minWidth=d});mxClient.IS_QUIRKS||8==document.documentMode?window.setTimeout(q,0):q();this.positionGraph=function(){b=this.graph.getGraphBounds();l=null;q()}};GraphViewer.prototype.updateContainerWidth=function(a,b){a.style.width=b+"px"};
+GraphViewer.prototype.addSizeHandler=function(){var a=this.graph.container,b=this.graph.getGraphBounds(),e=!1;a.style.overflow=1!=this.graphConfig["toolbar-nohide"]?"hidden":"visible";var c=mxUtils.bind(this,function(){if(!e){e=!0;var b=this.graph.getGraphBounds();a.style.overflow=1!=this.graphConfig["toolbar-nohide"]?b.width+2*this.graph.border>a.offsetWidth-2?"auto":"hidden":"visible";if(null!=this.toolbar&&1!=this.graphConfig["toolbar-nohide"]){var b=a.getBoundingClientRect(),c=mxUtils.getScrollOrigin(document.body),
+c="relative"===document.body.style.position?document.body.getBoundingClientRect():{left:-c.x,top:-c.y},b={left:b.left-c.left,top:b.top-c.top,bottom:b.bottom-c.top,right:b.right-c.left};this.toolbar.style.left=b.left+"px";"bottom"==this.graphConfig["toolbar-position"]?this.toolbar.style.top=b.bottom-1+"px":"inline"!=this.graphConfig["toolbar-position"]?(this.toolbar.style.width=Math.max(this.minToolbarWidth,a.offsetWidth)+"px",this.toolbar.style.top=b.top+1+"px"):this.toolbar.style.top=b.top+"px"}e=
+!1}}),l=null;this.handlingResize=!1;this.fitGraph=mxUtils.bind(this,function(b){var c=a.offsetWidth;c==l||this.handlingResize||(this.handlingResize=!0,"auto"==a.style.overflow&&(a.style.overflow="hidden"),this.graph.maxFitScale=null!=b?b:this.graphConfig.zoom||(this.allowZoomIn?null:1),this.graph.fit(null,null,null,null,null,!0),(this.center||0==this.graphConfig.resize&&""!=a.style.height)&&this.graph.center(),this.graph.maxFitScale=null,0==this.graphConfig.resize&&""!=a.style.height||this.updateContainerHeight(a,
+Math.max(this.minHeight,this.graph.getGraphBounds().height+2*this.graph.border+1)),this.graph.initialViewState={translate:this.graph.view.translate.clone(),scale:this.graph.view.scale},l=c,window.setTimeout(mxUtils.bind(this,function(){this.handlingResize=!1}),0))});GraphViewer.useResizeSensor&&(mxClient.IS_QUIRKS||9>=document.documentMode?(mxEvent.addListener(window,"resize",c),this.graph.addListener("size",c)):new ResizeSensor(this.graph.container,c));if(this.graphConfig.resize||(this.zoomEnabled||
+!this.autoFit)&&0!=this.graphConfig.resize)this.graph.minimumContainerSize=new mxRectangle(0,0,this.minWidth,this.minHeight),this.graph.resizeContainer=!0;else if(!this.widthIsEmpty||""!=a.style.height&&this.autoFit||this.updateContainerWidth(a,b.width+2*this.graph.border),0==this.graphConfig.resize&&""!=a.style.height||this.updateContainerHeight(a,Math.max(this.minHeight,b.height+2*this.graph.border+1)),!this.zoomEnabled&&this.autoFit){var m=l=null,c=mxUtils.bind(this,function(){window.clearTimeout(m);
+this.handlingResize||(m=window.setTimeout(mxUtils.bind(this,this.fitGraph),100))});GraphViewer.useResizeSensor&&(mxClient.IS_QUIRKS||9>=document.documentMode?mxEvent.addListener(window,"resize",c):new ResizeSensor(this.graph.container,c))}else mxClient.IS_QUIRKS||9>=document.documentMode||this.graph.addListener("size",c);var q=mxUtils.bind(this,function(){var c=a.style.minWidth;this.widthIsEmpty&&(a.style.minWidth="100%");var e=null!=this.graphConfig["max-height"]?this.graphConfig["max-height"]:""!=
+a.style.height&&this.autoFit?a.offsetHeight:void 0;if(0<a.offsetWidth&&(this.allowZoomIn||b.width+2*this.graph.border>a.offsetWidth||b.height+2*this.graph.border>e)){var m=null;null!=e&&b.height+2*this.graph.border>e-2&&(m=(e-2*this.graph.border-2)/b.height);this.fitGraph(m)}else this.widthIsEmpty||0!=this.graphConfig.resize||""==a.style.height?(this.graph.view.setTranslate(Math.floor(this.graph.border-b.x/this.graph.view.scale),Math.floor(this.graph.border-b.y/this.graph.view.scale)),l=a.offsetWidth):
+this.graph.center((!this.widthIsEmpty||b.width<this.minWidth)&&1!=this.graphConfig.resize);a.style.minWidth=c});mxClient.IS_QUIRKS||8==document.documentMode?window.setTimeout(q,0):q();this.positionGraph=function(){b=this.graph.getGraphBounds();l=null;q()}};GraphViewer.prototype.updateContainerWidth=function(a,b){a.style.width=b+"px"};
 GraphViewer.prototype.updateContainerHeight=function(a,b){if(this.zoomEnabled||!this.autoFit||"BackCompat"==document.compatMode||mxClient.IS_QUIRKS||8==document.documentMode)a.style.height=b+"px"};
-GraphViewer.prototype.showLayers=function(a,b){var f=this.graphConfig.layers,f=null!=f?f.split(" "):[],d=this.graphConfig.layerIds,l=null!=d&&0<d.length;if(0<f.length||l||null!=b){var m=null!=b?b.getModel():null,q=a.getModel();q.beginUpdate();try{for(var u=q.getChildCount(q.root),z=0;z<u;z++)q.setVisible(q.getChildAt(q.root,z),null!=b?m.isVisible(m.getChildAt(m.root,z)):!1);if(null==m)if(l)for(z=0;z<d.length;z++)q.setVisible(q.getCell(d[z]),!0);else for(z=0;z<f.length;z++)q.setVisible(q.getChildAt(q.root,
-parseInt(f[z])),!0)}finally{q.endUpdate()}}};
-GraphViewer.prototype.addToolbar=function(){function a(a,b,d,e){var g=document.createElement("div");g.style.borderRight="1px solid #d0d0d0";g.style.padding="3px 6px 3px 6px";mxEvent.addListener(g,"click",a);null!=d&&g.setAttribute("title",d);g.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";a=document.createElement("img");a.setAttribute("border","0");a.setAttribute("src",b);null==e||e?(mxEvent.addListener(g,"mouseenter",function(){g.style.backgroundColor="#ddd"}),mxEvent.addListener(g,"mouseleave",
-function(){g.style.backgroundColor="#eee"}),mxUtils.setOpacity(a,60),g.style.cursor="pointer"):mxUtils.setOpacity(g,30);g.appendChild(a);f.appendChild(g);c++;return g}var b=this.graph.container;"bottom"==this.graphConfig["toolbar-position"]?b.style.marginBottom=this.toolbarHeight+"px":"inline"!=this.graphConfig["toolbar-position"]&&(b.style.marginTop=this.toolbarHeight+"px");var f=b.ownerDocument.createElement("div");f.style.position="absolute";f.style.overflow="hidden";f.style.boxSizing="border-box";
-f.style.whiteSpace="nowrap";f.style.textAlign="left";f.style.zIndex=this.toolbarZIndex;f.style.backgroundColor="#eee";f.style.height=this.toolbarHeight+"px";this.toolbar=f;if("inline"==this.graphConfig["toolbar-position"]){mxUtils.setPrefixedStyle(f.style,"transition","opacity 100ms ease-in-out");mxUtils.setOpacity(f,30);var d=null,l=null,m=mxUtils.bind(this,function(a){null!=d&&(window.clearTimeout(d),fadeThead=null);null!=l&&(window.clearTimeout(l),fadeThead2=null);d=window.setTimeout(mxUtils.bind(this,
-function(){mxUtils.setOpacity(f,0);d=null;l=window.setTimeout(mxUtils.bind(this,function(){f.style.display="none";l=null}),100)}),a||200)}),q=mxUtils.bind(this,function(a){null!=d&&(window.clearTimeout(d),fadeThead=null);null!=l&&(window.clearTimeout(l),fadeThead2=null);f.style.display="";mxUtils.setOpacity(f,a||30)});mxEvent.addListener(this.graph.container,mxClient.IS_POINTER?"pointermove":"mousemove",mxUtils.bind(this,function(a){mxEvent.isTouchEvent(a)||(q(30),m())}));mxEvent.addListener(f,mxClient.IS_POINTER?
-"pointermove":"mousemove",function(a){mxEvent.consume(a)});mxEvent.addListener(f,"mouseenter",mxUtils.bind(this,function(a){q(100)}));mxEvent.addListener(f,"mousemove",mxUtils.bind(this,function(a){q(100);mxEvent.consume(a)}));mxEvent.addListener(f,"mouseleave",mxUtils.bind(this,function(a){mxEvent.isTouchEvent(a)||q(30)}));var u=this.graph,z=u.getTolerance();u.addMouseListener({startX:0,startY:0,scrollLeft:0,scrollTop:0,mouseDown:function(a,b){this.startX=b.getGraphX();this.startY=b.getGraphY();
-this.scrollLeft=u.container.scrollLeft;this.scrollTop=u.container.scrollTop},mouseMove:function(a,b){},mouseUp:function(a,b){mxEvent.isTouchEvent(b.getEvent())&&Math.abs(this.scrollLeft-u.container.scrollLeft)<z&&Math.abs(this.scrollTop-u.container.scrollTop)<z&&Math.abs(this.startX-b.getGraphX())<z&&Math.abs(this.startY-b.getGraphY())<z&&(0<parseFloat(f.style.opacity||0)?m():q(30))}})}for(var C=this.toolbarItems,c=0,e=null,k=null,x=0;x<C.length;x++){var n=C[x];if("pages"==n){k=b.ownerDocument.createElement("div");
-k.style.cssText="display:inline-block;position:relative;padding:3px 4px 0 4px;vertical-align:top;font-family:Helvetica,Arial;font-size:12px;top:4px;cursor:default;";mxUtils.setOpacity(k,70);var g=a(mxUtils.bind(this,function(){this.selectPage(this.currentPage-1)}),Editor.previousImage,mxResources.get("previousPage")||"Previous Page");g.style.borderRightStyle="none";g.style.paddingLeft="0px";g.style.paddingRight="0px";f.appendChild(k);var A=a(mxUtils.bind(this,function(){this.selectPage(this.currentPage+
+GraphViewer.prototype.showLayers=function(a,b){var e=this.graphConfig.layers,e=null!=e?e.split(" "):[],c=this.graphConfig.layerIds,l=null!=c&&0<c.length;if(0<e.length||l||null!=b){var m=null!=b?b.getModel():null,q=a.getModel();q.beginUpdate();try{for(var u=q.getChildCount(q.root),z=0;z<u;z++)q.setVisible(q.getChildAt(q.root,z),null!=b?m.isVisible(m.getChildAt(m.root,z)):!1);if(null==m)if(l)for(z=0;z<c.length;z++)q.setVisible(q.getCell(c[z]),!0);else for(z=0;z<e.length;z++)q.setVisible(q.getChildAt(q.root,
+parseInt(e[z])),!0)}finally{q.endUpdate()}}};
+GraphViewer.prototype.addToolbar=function(){function a(a,b,c,f){var g=document.createElement("div");g.style.borderRight="1px solid #d0d0d0";g.style.padding="3px 6px 3px 6px";mxEvent.addListener(g,"click",a);null!=c&&g.setAttribute("title",c);g.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";a=document.createElement("img");a.setAttribute("border","0");a.setAttribute("src",b);null==f||f?(mxEvent.addListener(g,"mouseenter",function(){g.style.backgroundColor="#ddd"}),mxEvent.addListener(g,"mouseleave",
+function(){g.style.backgroundColor="#eee"}),mxUtils.setOpacity(a,60),g.style.cursor="pointer"):mxUtils.setOpacity(g,30);g.appendChild(a);e.appendChild(g);d++;return g}var b=this.graph.container;"bottom"==this.graphConfig["toolbar-position"]?b.style.marginBottom=this.toolbarHeight+"px":"inline"!=this.graphConfig["toolbar-position"]&&(b.style.marginTop=this.toolbarHeight+"px");var e=b.ownerDocument.createElement("div");e.style.position="absolute";e.style.overflow="hidden";e.style.boxSizing="border-box";
+e.style.whiteSpace="nowrap";e.style.textAlign="left";e.style.zIndex=this.toolbarZIndex;e.style.backgroundColor="#eee";e.style.height=this.toolbarHeight+"px";this.toolbar=e;if("inline"==this.graphConfig["toolbar-position"]){mxUtils.setPrefixedStyle(e.style,"transition","opacity 100ms ease-in-out");mxUtils.setOpacity(e,30);var c=null,l=null,m=mxUtils.bind(this,function(a){null!=c&&(window.clearTimeout(c),fadeThead=null);null!=l&&(window.clearTimeout(l),fadeThead2=null);c=window.setTimeout(mxUtils.bind(this,
+function(){mxUtils.setOpacity(e,0);c=null;l=window.setTimeout(mxUtils.bind(this,function(){e.style.display="none";l=null}),100)}),a||200)}),q=mxUtils.bind(this,function(a){null!=c&&(window.clearTimeout(c),fadeThead=null);null!=l&&(window.clearTimeout(l),fadeThead2=null);e.style.display="";mxUtils.setOpacity(e,a||30)});mxEvent.addListener(this.graph.container,mxClient.IS_POINTER?"pointermove":"mousemove",mxUtils.bind(this,function(a){mxEvent.isTouchEvent(a)||(q(30),m())}));mxEvent.addListener(e,mxClient.IS_POINTER?
+"pointermove":"mousemove",function(a){mxEvent.consume(a)});mxEvent.addListener(e,"mouseenter",mxUtils.bind(this,function(a){q(100)}));mxEvent.addListener(e,"mousemove",mxUtils.bind(this,function(a){q(100);mxEvent.consume(a)}));mxEvent.addListener(e,"mouseleave",mxUtils.bind(this,function(a){mxEvent.isTouchEvent(a)||q(30)}));var u=this.graph,z=u.getTolerance();u.addMouseListener({startX:0,startY:0,scrollLeft:0,scrollTop:0,mouseDown:function(a,b){this.startX=b.getGraphX();this.startY=b.getGraphY();
+this.scrollLeft=u.container.scrollLeft;this.scrollTop=u.container.scrollTop},mouseMove:function(a,b){},mouseUp:function(a,b){mxEvent.isTouchEvent(b.getEvent())&&Math.abs(this.scrollLeft-u.container.scrollLeft)<z&&Math.abs(this.scrollTop-u.container.scrollTop)<z&&Math.abs(this.startX-b.getGraphX())<z&&Math.abs(this.startY-b.getGraphY())<z&&(0<parseFloat(e.style.opacity||0)?m():q(30))}})}for(var C=this.toolbarItems,d=0,f=null,k=null,x=0;x<C.length;x++){var n=C[x];if("pages"==n){k=b.ownerDocument.createElement("div");
+k.style.cssText="display:inline-block;position:relative;padding:3px 4px 0 4px;vertical-align:top;font-family:Helvetica,Arial;font-size:12px;top:4px;cursor:default;";mxUtils.setOpacity(k,70);var g=a(mxUtils.bind(this,function(){this.selectPage(this.currentPage-1)}),Editor.previousImage,mxResources.get("previousPage")||"Previous Page");g.style.borderRightStyle="none";g.style.paddingLeft="0px";g.style.paddingRight="0px";e.appendChild(k);var A=a(mxUtils.bind(this,function(){this.selectPage(this.currentPage+
 1)}),Editor.nextImage,mxResources.get("nextPage")||"Next Page");A.style.paddingLeft="0px";A.style.paddingRight="0px";n=mxUtils.bind(this,function(){k.innerHTML="";mxUtils.write(k,this.currentPage+1+" / "+this.diagrams.length);k.style.display=1<this.diagrams.length?"inline-block":"none";g.style.display=k.style.display;A.style.display=k.style.display});this.addListener("graphChanged",n);n()}else if("zoom"==n)this.zoomEnabled&&(a(mxUtils.bind(this,function(){this.graph.zoomOut()}),Editor.zoomOutImage,
-mxResources.get("zoomOut")||"Zoom Out"),a(mxUtils.bind(this,function(){this.graph.zoomIn()}),Editor.zoomInImage,mxResources.get("zoomIn")||"Zoom In"),a(mxUtils.bind(this,function(){this.graph.view.scaleAndTranslate(this.graph.initialViewState.scale,this.graph.initialViewState.translate.x,this.graph.initialViewState.translate.y)}),Editor.zoomFitImage,mxResources.get("fit")||"Fit"));else if("layers"==n){if(this.layersEnabled){var v=this.graph.getModel(),t=a(mxUtils.bind(this,function(a){if(null!=e)e.parentNode.removeChild(e),
-e=null;else{e=this.graph.createLayersDialog();mxEvent.addListener(e,"mouseleave",function(){e.parentNode.removeChild(e);e=null});a=t.getBoundingClientRect();e.style.width="140px";e.style.padding="2px 0px 2px 0px";e.style.border="1px solid #d0d0d0";e.style.backgroundColor="#eee";e.style.fontFamily="Helvetica Neue,Helvetica,Arial Unicode MS,Arial";e.style.fontSize="11px";e.style.zIndex=this.toolbarZIndex+1;mxUtils.setOpacity(e,80);var b=mxUtils.getDocumentScrollOrigin(document);e.style.left=b.x+a.left+
-"px";e.style.top=b.y+a.bottom+"px";document.body.appendChild(e)}}),Editor.layersImage,mxResources.get("layers")||"Layers");v.addListener(mxEvent.CHANGE,function(){t.style.display=1<v.getChildCount(v.root)?"inline-block":"none"});t.style.display=1<v.getChildCount(v.root)?"inline-block":"none"}}else"lightbox"==n?this.lightboxEnabled&&a(mxUtils.bind(this,function(){this.showLightbox()}),Editor.maximizeImage,mxResources.get("show")||"Show"):null!=this.graphConfig["toolbar-buttons"]&&(n=this.graphConfig["toolbar-buttons"][n],
-null!=n&&a(null==n.enabled||n.enabled?n.handler:function(){},n.image,n.title,n.enabled))}null!=this.graph.minimumContainerSize&&(this.graph.minimumContainerSize.width=34*c);null!=this.graphConfig.title&&(C=b.ownerDocument.createElement("div"),C.style.cssText="display:inline-block;position:relative;padding:3px 6px 0 6px;vertical-align:top;font-family:Helvetica,Arial;font-size:12px;top:4px;cursor:default;",C.setAttribute("title",this.graphConfig.title),mxUtils.write(C,this.graphConfig.title),mxUtils.setOpacity(C,
-70),f.appendChild(C));this.minToolbarWidth=34*c;var D=b.style.border,C=mxUtils.bind(this,function(){f.style.width="inline"==this.graphConfig["toolbar-position"]?"auto":Math.max(this.minToolbarWidth,b.offsetWidth)+"px";f.style.border="1px solid #d0d0d0";if(1!=this.graphConfig["toolbar-nohide"]){var a=b.getBoundingClientRect(),c=mxUtils.getScrollOrigin(document.body),c="relative"===document.body.style.position?document.body.getBoundingClientRect():{left:-c.x,top:-c.y},a={left:a.left-c.left,top:a.top-
-c.top,bottom:a.bottom-c.top,right:a.right-c.left};f.style.left=a.left+"px";"bottom"==this.graphConfig["toolbar-position"]?f.style.top=a.bottom-1+"px":"inline"!=this.graphConfig["toolbar-position"]?(f.style.marginTop=-this.toolbarHeight+"px",f.style.top=a.top+1+"px"):f.style.top=a.top+"px";"1px solid transparent"==D&&(b.style.border="1px solid #d0d0d0");document.body.appendChild(f);var d=mxUtils.bind(this,function(){null!=f.parentNode&&f.parentNode.removeChild(f);null!=e&&(e.parentNode.removeChild(e),
-e=null);b.style.border=D});mxEvent.addListener(document,"mousemove",function(a){for(a=mxEvent.getSource(a);null!=a;){if(a==b||a==f||a==e)return;a=a.parentNode}d()});mxEvent.addListener(document,"mouseleave",function(a){d()})}else f.style.top=-this.toolbarHeight+"px",b.appendChild(f)});1!=this.graphConfig["toolbar-nohide"]?mxEvent.addListener(b,"mouseenter",C):C()};
-GraphViewer.prototype.addClickHandler=function(a,b){a.linkPolicy=this.graphConfig.target||a.linkPolicy;a.addClickHandler(this.graphConfig.highlight,mxUtils.bind(this,function(f,d){if(null==d){var l=mxEvent.getSource(f);"a"==l.nodeName.toLowerCase()&&(d=l.getAttribute("href"))}null!=b?null==d||a.isCustomLink(d)?mxEvent.consume(f):a.isExternalProtocol(d)||a.isBlankLink(d)||window.setTimeout(function(){b.destroy()},0):null!=d&&null==b&&a.isCustomLink(d)&&(mxEvent.isTouchEvent(f)||!mxEvent.isPopupTrigger(f))&&
-a.customLinkClicked(d)&&mxEvent.consume(f)}),mxUtils.bind(this,function(a){null!=b||!this.lightboxClickEnabled||mxEvent.isTouchEvent(a)&&0!=this.toolbarItems.length||this.showLightbox()}))};
-GraphViewer.prototype.showLightbox=function(a,b,f){if("open"==this.graphConfig.lightbox||window.self!==window.top)if(null==this.lightboxWindow||this.lightboxWindow.closed){a=null!=a?a:null!=this.graphConfig.editable?this.graphConfig.editable:!0;f={client:1,lightbox:1,target:null!=f?f:"blank"};a&&(f.edit=this.graphConfig.edit||"_blank");if(null!=b?b:1)f.close=1;this.layersEnabled&&(f.layers=1);null!=this.graphConfig&&0!=this.graphConfig.nav&&(f.nav=1);null!=this.graphConfig&&null!=this.graphConfig.highlight&&
-(f.highlight=this.graphConfig.highlight.substring(1));null!=this.currentPage&&0<this.currentPage&&(f.page=this.currentPage);"undefined"!==typeof window.postMessage&&(null==document.documentMode||10<=document.documentMode)?null==this.lightboxWindow&&mxEvent.addListener(window,"message",mxUtils.bind(this,function(a){"ready"==a.data&&a.source==this.lightboxWindow&&this.lightboxWindow.postMessage(this.xml,"*")})):f.data=encodeURIComponent(this.xml);a="www.draw.io";"1"==urlParams.dev&&(f.dev="1",f.drawdev=
-"1",a="test.draw.io");this.lightboxWindow=window.open("https://"+a+"/#P"+encodeURIComponent(JSON.stringify(f)))}else this.lightboxWindow.focus();else this.showLocalLightbox()};
+mxResources.get("zoomOut")||"Zoom Out"),a(mxUtils.bind(this,function(){this.graph.zoomIn()}),Editor.zoomInImage,mxResources.get("zoomIn")||"Zoom In"),a(mxUtils.bind(this,function(){this.graph.view.scaleAndTranslate(this.graph.initialViewState.scale,this.graph.initialViewState.translate.x,this.graph.initialViewState.translate.y)}),Editor.zoomFitImage,mxResources.get("fit")||"Fit"));else if("layers"==n){if(this.layersEnabled){var v=this.graph.getModel(),t=a(mxUtils.bind(this,function(a){if(null!=f)f.parentNode.removeChild(f),
+f=null;else{f=this.graph.createLayersDialog();mxEvent.addListener(f,"mouseleave",function(){f.parentNode.removeChild(f);f=null});a=t.getBoundingClientRect();f.style.width="140px";f.style.padding="2px 0px 2px 0px";f.style.border="1px solid #d0d0d0";f.style.backgroundColor="#eee";f.style.fontFamily="Helvetica Neue,Helvetica,Arial Unicode MS,Arial";f.style.fontSize="11px";f.style.zIndex=this.toolbarZIndex+1;mxUtils.setOpacity(f,80);var b=mxUtils.getDocumentScrollOrigin(document);f.style.left=b.x+a.left+
+"px";f.style.top=b.y+a.bottom+"px";document.body.appendChild(f)}}),Editor.layersImage,mxResources.get("layers")||"Layers");v.addListener(mxEvent.CHANGE,function(){t.style.display=1<v.getChildCount(v.root)?"inline-block":"none"});t.style.display=1<v.getChildCount(v.root)?"inline-block":"none"}}else"lightbox"==n?this.lightboxEnabled&&a(mxUtils.bind(this,function(){this.showLightbox()}),Editor.maximizeImage,mxResources.get("show")||"Show"):null!=this.graphConfig["toolbar-buttons"]&&(n=this.graphConfig["toolbar-buttons"][n],
+null!=n&&a(null==n.enabled||n.enabled?n.handler:function(){},n.image,n.title,n.enabled))}null!=this.graph.minimumContainerSize&&(this.graph.minimumContainerSize.width=34*d);null!=this.graphConfig.title&&(C=b.ownerDocument.createElement("div"),C.style.cssText="display:inline-block;position:relative;padding:3px 6px 0 6px;vertical-align:top;font-family:Helvetica,Arial;font-size:12px;top:4px;cursor:default;",C.setAttribute("title",this.graphConfig.title),mxUtils.write(C,this.graphConfig.title),mxUtils.setOpacity(C,
+70),e.appendChild(C));this.minToolbarWidth=34*d;var E=b.style.border,C=mxUtils.bind(this,function(){e.style.width="inline"==this.graphConfig["toolbar-position"]?"auto":Math.max(this.minToolbarWidth,b.offsetWidth)+"px";e.style.border="1px solid #d0d0d0";if(1!=this.graphConfig["toolbar-nohide"]){var a=b.getBoundingClientRect(),c=mxUtils.getScrollOrigin(document.body),c="relative"===document.body.style.position?document.body.getBoundingClientRect():{left:-c.x,top:-c.y},a={left:a.left-c.left,top:a.top-
+c.top,bottom:a.bottom-c.top,right:a.right-c.left};e.style.left=a.left+"px";"bottom"==this.graphConfig["toolbar-position"]?e.style.top=a.bottom-1+"px":"inline"!=this.graphConfig["toolbar-position"]?(e.style.marginTop=-this.toolbarHeight+"px",e.style.top=a.top+1+"px"):e.style.top=a.top+"px";"1px solid transparent"==E&&(b.style.border="1px solid #d0d0d0");document.body.appendChild(e);var d=mxUtils.bind(this,function(){null!=e.parentNode&&e.parentNode.removeChild(e);null!=f&&(f.parentNode.removeChild(f),
+f=null);b.style.border=E});mxEvent.addListener(document,"mousemove",function(a){for(a=mxEvent.getSource(a);null!=a;){if(a==b||a==e||a==f)return;a=a.parentNode}d()});mxEvent.addListener(document,"mouseleave",function(a){d()})}else e.style.top=-this.toolbarHeight+"px",b.appendChild(e)});1!=this.graphConfig["toolbar-nohide"]?mxEvent.addListener(b,"mouseenter",C):C()};
+GraphViewer.prototype.addClickHandler=function(a,b){a.linkPolicy=this.graphConfig.target||a.linkPolicy;a.addClickHandler(this.graphConfig.highlight,mxUtils.bind(this,function(e,c){if(null==c){var l=mxEvent.getSource(e);"a"==l.nodeName.toLowerCase()&&(c=l.getAttribute("href"))}null!=b?null==c||a.isCustomLink(c)?mxEvent.consume(e):a.isExternalProtocol(c)||a.isBlankLink(c)||window.setTimeout(function(){b.destroy()},0):null!=c&&null==b&&a.isCustomLink(c)&&(mxEvent.isTouchEvent(e)||!mxEvent.isPopupTrigger(e))&&
+a.customLinkClicked(c)&&mxEvent.consume(e)}),mxUtils.bind(this,function(a){null!=b||!this.lightboxClickEnabled||mxEvent.isTouchEvent(a)&&0!=this.toolbarItems.length||this.showLightbox()}))};
+GraphViewer.prototype.showLightbox=function(a,b,e){if("open"==this.graphConfig.lightbox||window.self!==window.top)if(null==this.lightboxWindow||this.lightboxWindow.closed){a=null!=a?a:null!=this.graphConfig.editable?this.graphConfig.editable:!0;e={client:1,lightbox:1,target:null!=e?e:"blank"};a&&(e.edit=this.graphConfig.edit||"_blank");if(null!=b?b:1)e.close=1;this.layersEnabled&&(e.layers=1);null!=this.graphConfig&&0!=this.graphConfig.nav&&(e.nav=1);null!=this.graphConfig&&null!=this.graphConfig.highlight&&
+(e.highlight=this.graphConfig.highlight.substring(1));null!=this.currentPage&&0<this.currentPage&&(e.page=this.currentPage);"undefined"!==typeof window.postMessage&&(null==document.documentMode||10<=document.documentMode)?null==this.lightboxWindow&&mxEvent.addListener(window,"message",mxUtils.bind(this,function(a){"ready"==a.data&&a.source==this.lightboxWindow&&this.lightboxWindow.postMessage(this.xml,"*")})):e.data=encodeURIComponent(this.xml);a="www.draw.io";"1"==urlParams.dev&&(e.dev="1",e.drawdev=
+"1",a="test.draw.io");this.lightboxWindow=window.open("https://"+a+"/#P"+encodeURIComponent(JSON.stringify(e)))}else this.lightboxWindow.focus();else this.showLocalLightbox()};
 GraphViewer.prototype.showLocalLightbox=function(){var a=mxUtils.getDocumentScrollOrigin(document),b=document.createElement("div");mxClient.IS_QUIRKS?(b.style.position="absolute",b.style.left=a.x+"px",b.style.top=a.y+"px",b.style.width=document.body.offsetWidth+"px",b.style.height=document.body.offsetHeight+"px"):b.style.cssText="position:fixed;top:0;left:0;bottom:0;right:0;";b.style.zIndex=this.lightboxZIndex;b.style.backgroundColor="#000000";mxUtils.setOpacity(b,70);document.body.appendChild(b);
-var f=document.createElement("img");f.setAttribute("border","0");f.setAttribute("src",Editor.closeImage);mxClient.IS_QUIRKS?(f.style.position="absolute",f.style.right="32px",f.style.top=a.y+32+"px"):f.style.cssText="position:fixed;top:32px;right:32px;";f.style.cursor="pointer";mxEvent.addListener(f,"click",function(){l.destroy()});urlParams.pages="1";urlParams.page=this.currentPage;urlParams["page-id"]=this.graphConfig.pageId;urlParams["layer-ids"]=null!=this.graphConfig.layerIds&&0<this.graphConfig.layerIds.length?
-this.graphConfig.layerIds.join(" "):null;urlParams.nav=0!=this.graphConfig.nav?"1":"0";urlParams.layers=this.layersEnabled?"1":"0";if(null==document.documentMode||10<=document.documentMode)Editor.prototype.editButtonLink=this.graphConfig.edit,Editor.prototype.editButtonFunc=this.graphConfig.editFunc;EditorUi.prototype.updateActionStates=function(){};EditorUi.prototype.addBeforeUnloadListener=function(){};EditorUi.prototype.addChromelessClickHandler=function(){};var d=Graph.prototype.shadowId;Graph.prototype.shadowId=
-"lightboxDropShadow";var l=new EditorUi(new Editor(!0),document.createElement("div"),!0);l.editor.editBlankUrl=this.editBlankUrl;l.editor.graph.shadowId="lightboxDropShadow";Graph.prototype.shadowId=d;l.refresh=function(){};var m=mxUtils.bind(this,function(a){27==a.keyCode&&l.destroy()}),q=l.destroy;l.destroy=function(){mxEvent.removeListener(document.documentElement,"keydown",m);document.body.removeChild(b);document.body.removeChild(f);document.body.style.overflow="auto";GraphViewer.resizeSensorEnabled=
-!0;q.apply(this,arguments)};var u=l.editor.graph,z=u.container;z.style.overflow="hidden";this.lightboxChrome?(z.style.border="1px solid #c0c0c0",z.style.margin="40px",mxEvent.addListener(document.documentElement,"keydown",m)):(b.style.display="none",f.style.display="none");var C=this;u.getImageFromBundles=function(a){return C.getImageUrl(a)};var c=l.createTemporaryGraph;l.createTemporaryGraph=function(){var a=c.apply(this,arguments);a.getImageFromBundles=function(a){return C.getImageUrl(a)};return a};
+var e=document.createElement("img");e.setAttribute("border","0");e.setAttribute("src",Editor.closeImage);mxClient.IS_QUIRKS?(e.style.position="absolute",e.style.right="32px",e.style.top=a.y+32+"px"):e.style.cssText="position:fixed;top:32px;right:32px;";e.style.cursor="pointer";mxEvent.addListener(e,"click",function(){l.destroy()});urlParams.pages="1";urlParams.page=this.currentPage;urlParams["page-id"]=this.graphConfig.pageId;urlParams["layer-ids"]=null!=this.graphConfig.layerIds&&0<this.graphConfig.layerIds.length?
+this.graphConfig.layerIds.join(" "):null;urlParams.nav=0!=this.graphConfig.nav?"1":"0";urlParams.layers=this.layersEnabled?"1":"0";if(null==document.documentMode||10<=document.documentMode)Editor.prototype.editButtonLink=this.graphConfig.edit,Editor.prototype.editButtonFunc=this.graphConfig.editFunc;EditorUi.prototype.updateActionStates=function(){};EditorUi.prototype.addBeforeUnloadListener=function(){};EditorUi.prototype.addChromelessClickHandler=function(){};var c=Graph.prototype.shadowId;Graph.prototype.shadowId=
+"lightboxDropShadow";var l=new EditorUi(new Editor(!0),document.createElement("div"),!0);l.editor.editBlankUrl=this.editBlankUrl;l.editor.graph.shadowId="lightboxDropShadow";Graph.prototype.shadowId=c;l.refresh=function(){};var m=mxUtils.bind(this,function(a){27==a.keyCode&&l.destroy()}),q=l.destroy;l.destroy=function(){mxEvent.removeListener(document.documentElement,"keydown",m);document.body.removeChild(b);document.body.removeChild(e);document.body.style.overflow="auto";GraphViewer.resizeSensorEnabled=
+!0;q.apply(this,arguments)};var u=l.editor.graph,z=u.container;z.style.overflow="hidden";this.lightboxChrome?(z.style.border="1px solid #c0c0c0",z.style.margin="40px",mxEvent.addListener(document.documentElement,"keydown",m)):(b.style.display="none",e.style.display="none");var C=this;u.getImageFromBundles=function(a){return C.getImageUrl(a)};var d=l.createTemporaryGraph;l.createTemporaryGraph=function(){var a=d.apply(this,arguments);a.getImageFromBundles=function(a){return C.getImageUrl(a)};return a};
 this.graphConfig.move&&(u.isMoveCellsEvent=function(a){return!0});mxClient.IS_QUIRKS||(mxUtils.setPrefixedStyle(z.style,"border-radius","4px"),z.style.position="fixed");GraphViewer.resizeSensorEnabled=!1;document.body.style.overflow="hidden";mxClient.IS_SF||mxClient.IS_EDGE||(mxUtils.setPrefixedStyle(z.style,"transform","rotateY(90deg)"),mxUtils.setPrefixedStyle(z.style,"transition","all .25s ease-in-out"));this.addClickHandler(u,l);window.setTimeout(mxUtils.bind(this,function(){z.style.outline="none";
-z.style.zIndex=this.lightboxZIndex;f.style.zIndex=this.lightboxZIndex;document.body.appendChild(z);document.body.appendChild(f);l.setFileData(this.xml);mxUtils.setPrefixedStyle(z.style,"transform","rotateY(0deg)");l.chromelessToolbar.style.bottom="60px";l.chromelessToolbar.style.zIndex=this.lightboxZIndex;document.body.appendChild(l.chromelessToolbar);l.getEditBlankXml=mxUtils.bind(this,function(){return this.xml});mxClient.IS_QUIRKS&&(z.style.position="absolute",z.style.display="block",z.style.left=
+z.style.zIndex=this.lightboxZIndex;e.style.zIndex=this.lightboxZIndex;document.body.appendChild(z);document.body.appendChild(e);l.setFileData(this.xml);mxUtils.setPrefixedStyle(z.style,"transform","rotateY(0deg)");l.chromelessToolbar.style.bottom="60px";l.chromelessToolbar.style.zIndex=this.lightboxZIndex;document.body.appendChild(l.chromelessToolbar);l.getEditBlankXml=mxUtils.bind(this,function(){return this.xml});mxClient.IS_QUIRKS&&(z.style.position="absolute",z.style.display="block",z.style.left=
 a.x+"px",z.style.top=a.y+"px",z.style.width=document.body.clientWidth-80+"px",z.style.height=document.body.clientHeight-80+"px",z.style.backgroundColor="white",l.chromelessToolbar.style.display="block",l.chromelessToolbar.style.position="absolute",l.chromelessToolbar.style.bottom="",l.chromelessToolbar.style.top=a.y+document.body.clientHeight-100+"px");l.lightboxFit();l.chromelessResize();this.showLayers(u,this.graph);mxEvent.addListener(b,"click",function(){l.destroy()})}),0);return l};
-GraphViewer.processElements=function(a){mxUtils.forEach(GraphViewer.getElementsByClassName(a||"mxgraph"),function(a){try{a.innerHTML="",GraphViewer.createViewerForElement(a)}catch(f){throw a.innerHTML=f.message,f;}})};
-GraphViewer.getElementsByClassName=function(a){if(document.getElementsByClassName){var b=document.getElementsByClassName(a);a=[];for(var f=0;f<b.length;f++)a.push(b[f]);return a}for(var d=document.getElementsByTagName("*"),b=[],f=0;f<d.length;f++){var l=d[f].className;null!=l&&0<l.length&&(l=l.split(" "),0<=mxUtils.indexOf(l,a)&&b.push(d[f]))}return b};
-GraphViewer.createViewerForElement=function(a,b){var f=a.getAttribute("data-mxgraph");if(null!=f){var d=JSON.parse(f),l=function(f){f=mxUtils.parseXml(f);f=new GraphViewer(a,f.documentElement,d);null!=b&&b(f)};null!=d.url?GraphViewer.getUrl(d.url,function(a){l(a)}):l(d.xml)}};
+GraphViewer.processElements=function(a){mxUtils.forEach(GraphViewer.getElementsByClassName(a||"mxgraph"),function(a){try{a.innerHTML="",GraphViewer.createViewerForElement(a)}catch(e){throw a.innerHTML=e.message,e;}})};
+GraphViewer.getElementsByClassName=function(a){if(document.getElementsByClassName){var b=document.getElementsByClassName(a);a=[];for(var e=0;e<b.length;e++)a.push(b[e]);return a}for(var c=document.getElementsByTagName("*"),b=[],e=0;e<c.length;e++){var l=c[e].className;null!=l&&0<l.length&&(l=l.split(" "),0<=mxUtils.indexOf(l,a)&&b.push(c[e]))}return b};
+GraphViewer.createViewerForElement=function(a,b){var e=a.getAttribute("data-mxgraph");if(null!=e){var c=JSON.parse(e),l=function(e){e=mxUtils.parseXml(e);e=new GraphViewer(a,e.documentElement,c);null!=b&&b(e)};null!=c.url?GraphViewer.getUrl(c.url,function(a){l(a)}):l(c.xml)}};
 GraphViewer.initCss=function(){try{var a=document.createElement("style");a.type="text/css";a.innerHTML="div.mxTooltip {\n-webkit-box-shadow: 3px 3px 12px #C0C0C0;\n-moz-box-shadow: 3px 3px 12px #C0C0C0;\nbox-shadow: 3px 3px 12px #C0C0C0;\nbackground: #FFFFCC;\nborder-style: solid;\nborder-width: 1px;\nborder-color: black;\nfont-family: Arial;\nfont-size: 8pt;\nposition: absolute;\ncursor: default;\npadding: 4px;\ncolor: black;}\ntd.mxPopupMenuIcon div {\nwidth:16px;\nheight:16px;}\nhtml div.mxPopupMenu {\n-webkit-box-shadow:2px 2px 3px #d5d5d5;\n-moz-box-shadow:2px 2px 3px #d5d5d5;\nbox-shadow:2px 2px 3px #d5d5d5;\n_filter:progid:DXImageTransform.Microsoft.DropShadow(OffX=2, OffY=2, Color='#d0d0d0',Positive='true');\nbackground:white;\nposition:absolute;\nborder:3px solid #e7e7e7;\npadding:3px;}\nhtml table.mxPopupMenu {\nborder-collapse:collapse;\nmargin:0px;}\nhtml td.mxPopupMenuItem {\npadding:7px 30px 7px 30px;\nfont-family:Helvetica Neue,Helvetica,Arial Unicode MS,Arial;\nfont-size:10pt;}\nhtml td.mxPopupMenuIcon {\nbackground-color:white;\npadding:0px;}\ntd.mxPopupMenuIcon .geIcon {\npadding:2px;\npadding-bottom:4px;\nmargin:2px;\nborder:1px solid transparent;\nopacity:0.5;\n_width:26px;\n_height:26px;}\ntd.mxPopupMenuIcon .geIcon:hover {\nborder:1px solid gray;\nborder-radius:2px;\nopacity:1;}\nhtml tr.mxPopupMenuItemHover {\nbackground-color: #eeeeee;\ncolor: black;}\ntable.mxPopupMenu hr {\ncolor:#cccccc;\nbackground-color:#cccccc;\nborder:none;\nheight:1px;}\ntable.mxPopupMenu tr {\tfont-size:4pt;}\n.geDialog { font-family:Helvetica Neue,Helvetica,Arial Unicode MS,Arial;\nfont-size:10pt;\nborder:none;\nmargin:0px;}\n.geDialog {\tposition:absolute;\tbackground:white;\toverflow:hidden;\tpadding:30px;\tborder:1px solid #acacac;\t-webkit-box-shadow:0px 0px 2px 2px #d5d5d5;\t-moz-box-shadow:0px 0px 2px 2px #d5d5d5;\tbox-shadow:0px 0px 2px 2px #d5d5d5;\t_filter:progid:DXImageTransform.Microsoft.DropShadow(OffX=2, OffY=2, Color='#d5d5d5', Positive='true');\tz-index: 2;}.geDialogClose {\tposition:absolute;\twidth:9px;\theight:9px;\topacity:0.5;\tcursor:pointer;\t_filter:alpha(opacity=50);}.geDialogClose:hover {\topacity:1;}.geDialogTitle {\tbox-sizing:border-box;\twhite-space:nowrap;\tbackground:rgb(229, 229, 229);\tborder-bottom:1px solid rgb(192, 192, 192);\tfont-size:15px;\tfont-weight:bold;\ttext-align:center;\tcolor:rgb(35, 86, 149);}.geDialogFooter {\tbackground:whiteSmoke;\twhite-space:nowrap;\ttext-align:right;\tbox-sizing:border-box;\tborder-top:1px solid #e5e5e5;\tcolor:darkGray;}\n.geBtn {\tbackground-color: #f5f5f5;\tborder-radius: 2px;\tborder: 1px solid #d8d8d8;\tcolor: #333;\tcursor: default;\tfont-size: 11px;\tfont-weight: bold;\theight: 29px;\tline-height: 27px;\tmargin: 0 0 0 8px;\tmin-width: 72px;\toutline: 0;\tpadding: 0 8px;\tcursor: pointer;}.geBtn:hover, .geBtn:focus {\t-webkit-box-shadow: 0px 1px 1px rgba(0,0,0,0.1);\t-moz-box-shadow: 0px 1px 1px rgba(0,0,0,0.1);\tbox-shadow: 0px 1px 1px rgba(0,0,0,0.1);\tborder: 1px solid #c6c6c6;\tbackground-color: #f8f8f8;\tbackground-image: linear-gradient(#f8f8f8 0px,#f1f1f1 100%);\tcolor: #111;}.geBtn:disabled {\topacity: .5;}.gePrimaryBtn {\tbackground-color: #4d90fe;\tbackground-image: linear-gradient(#4d90fe 0px,#4787ed 100%);\tborder: 1px solid #3079ed;\tcolor: #fff;}.gePrimaryBtn:hover, .gePrimaryBtn:focus {\tbackground-color: #357ae8;\tbackground-image: linear-gradient(#4d90fe 0px,#357ae8 100%);\tborder: 1px solid #2f5bb7;\tcolor: #fff;}.gePrimaryBtn:disabled {\topacity: .5;}";document.getElementsByTagName("head")[0].appendChild(a)}catch(b){}};
-GraphViewer.cachedUrls={};GraphViewer.getUrl=function(a,b,f){if(null!=GraphViewer.cachedUrls[a])b(GraphViewer.cachedUrls[a]);else{var d=0<navigator.userAgent.indexOf("MSIE 9")?new XDomainRequest:new XMLHttpRequest;d.open("GET",a);d.onload=function(){b(null!=d.getText?d.getText():d.responseText)};d.onerror=f;d.send()}};GraphViewer.resizeSensorEnabled=!0;GraphViewer.useResizeSensor=!0;
-(function(){var a=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||function(a){return window.setTimeout(a,20)},b=function(f,d){function l(){this.q=[];this.add=function(a){this.q.push(a)};var a,b;this.call=function(){a=0;for(b=this.q.length;a<b;a++)this.q[a].call()}}function m(a,b){return a.currentStyle?a.currentStyle[b]:window.getComputedStyle?window.getComputedStyle(a,null).getPropertyValue(b):a.style[b]}function q(b,c){if(!b.resizedAttached)b.resizedAttached=
+GraphViewer.cachedUrls={};GraphViewer.getUrl=function(a,b,e){if(null!=GraphViewer.cachedUrls[a])b(GraphViewer.cachedUrls[a]);else{var c=0<navigator.userAgent.indexOf("MSIE 9")?new XDomainRequest:new XMLHttpRequest;c.open("GET",a);c.onload=function(){b(null!=c.getText?c.getText():c.responseText)};c.onerror=e;c.send()}};GraphViewer.resizeSensorEnabled=!0;GraphViewer.useResizeSensor=!0;
+(function(){var a=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||function(a){return window.setTimeout(a,20)},b=function(e,c){function l(){this.q=[];this.add=function(a){this.q.push(a)};var a,b;this.call=function(){a=0;for(b=this.q.length;a<b;a++)this.q[a].call()}}function m(a,b){return a.currentStyle?a.currentStyle[b]:window.getComputedStyle?window.getComputedStyle(a,null).getPropertyValue(b):a.style[b]}function q(b,c){if(!b.resizedAttached)b.resizedAttached=
 new l,b.resizedAttached.add(c);else if(b.resizedAttached){b.resizedAttached.add(c);return}b.resizeSensor=document.createElement("div");b.resizeSensor.className="resize-sensor";b.resizeSensor.style.cssText="position: absolute; left: 0; top: 0; right: 0; bottom: 0; overflow: hidden; z-index: -1; visibility: hidden;";b.resizeSensor.innerHTML='<div class="resize-sensor-expand" style="position: absolute; left: 0; top: 0; right: 0; bottom: 0; overflow: hidden; z-index: -1; visibility: hidden;"><div style="position: absolute; left: 0; top: 0; transition: 0s;"></div></div><div class="resize-sensor-shrink" style="position: absolute; left: 0; top: 0; right: 0; bottom: 0; overflow: hidden; z-index: -1; visibility: hidden;"><div style="position: absolute; left: 0; top: 0; transition: 0s; width: 200%; height: 200%"></div></div>';
 b.appendChild(b.resizeSensor);"static"==m(b,"position")&&(b.style.position="relative");var d=b.resizeSensor.childNodes[0],e=d.childNodes[0],f=b.resizeSensor.childNodes[1],k=function(){e.style.width="100000px";e.style.height="100000px";d.scrollLeft=1E5;d.scrollTop=1E5;f.scrollLeft=1E5;f.scrollTop=1E5};k();var q=!1,t=function(){b.resizedAttached&&(q&&(b.resizedAttached.call(),q=!1),a(t))};a(t);var u,y,z,p,B=function(){if((z=b.offsetWidth)!=u||(p=b.offsetHeight)!=y)q=!0,u=z,y=p;k()},C=function(a,b,c){a.attachEvent?
-a.attachEvent("on"+b,c):a.addEventListener(b,c)};C(d,"scroll",B);C(f,"scroll",B)}var u=function(){GraphViewer.resizeSensorEnabled&&d()},z=Object.prototype.toString.call(f),C="[object Array]"===z||"[object NodeList]"===z||"[object HTMLCollection]"===z||"undefined"!==typeof jQuery&&f instanceof jQuery||"undefined"!==typeof Elements&&f instanceof Elements;if(C)for(var z=0,c=f.length;z<c;z++)q(f[z],u);else q(f,u);this.detach=function(){if(C)for(var a=0,c=f.length;a<c;a++)b.detach(f[a]);else b.detach(f)}};
+a.attachEvent("on"+b,c):a.addEventListener(b,c)};C(d,"scroll",B);C(f,"scroll",B)}var u=function(){GraphViewer.resizeSensorEnabled&&c()},z=Object.prototype.toString.call(e),C="[object Array]"===z||"[object NodeList]"===z||"[object HTMLCollection]"===z||"undefined"!==typeof jQuery&&e instanceof jQuery||"undefined"!==typeof Elements&&e instanceof Elements;if(C)for(var z=0,d=e.length;z<d;z++)q(e[z],u);else q(e,u);this.detach=function(){if(C)for(var a=0,c=e.length;a<c;a++)b.detach(e[a]);else b.detach(e)}};
 b.detach=function(a){a.resizeSensor&&(a.removeChild(a.resizeSensor),delete a.resizeSensor,delete a.resizedAttached)};window.ResizeSensor=b})();
 (function(){Editor.initMath();GraphViewer.initCss();if(null!=window.onDrawioViewerLoad)window.onDrawioViewerLoad();else GraphViewer.processElements()})();
diff --git a/src/main/webapp/plugins/p1.js b/src/main/webapp/plugins/p1.js
index b7b6ace3c4176da4500c6d7dde410fdd5c618568..2f7a8b2ea121467a55a5c9ab284c90767dc830d6 100644
--- a/src/main/webapp/plugins/p1.js
+++ b/src/main/webapp/plugins/p1.js
@@ -2,82 +2,87 @@
  * Sample plugin.
  */
 Draw.loadPlugin(function(ui) {
-    // Adds custom sidebar entry
-    ui.sidebar.addPalette('esolia', 'eSolia', true, function(content) {
-
-        // content.appendChild(ui.sidebar.createVertexTemplate(null, 120, 60));
-        content.appendChild(ui.sidebar.createVertexTemplate('shape=image;image=http://download.esolia.net.s3.amazonaws.com/img/eSolia-Logo-Color.svg;resizable=0;movable=0;rotatable=0', 100, 100));
-        content.appendChild(ui.sidebar.createVertexTemplate('text;spacingTop=-5;fontFamily=Courier New;fontSize=8;fontColor=#999999;resizable=0;movable=0;rotatable=0', 100, 100));
-        content.appendChild(ui.sidebar.createVertexTemplate('rounded=1;whiteSpace=wrap;gradientColor=none;fillColor=#004C99;shadow=1;strokeColor=#FFFFFF;align=center;fontColor=#FFFFFF;strokeWidth=3;fontFamily=Courier New;verticalAlign=middle', 100, 100));
-        content.appendChild(ui.sidebar.createVertexTemplate('curved=1;strokeColor=#004C99;endArrow=oval;endFill=0;strokeWidth=3;shadow=1;dashed=1', 100, 100));
-    });
-
-    // Collapses default sidebar entry and inserts this before
-    var c = ui.sidebar.container;
-    c.firstChild.click();
-    c.insertBefore(c.lastChild, c.firstChild);
-    c.insertBefore(c.lastChild, c.firstChild);
-
-    // Adds logo to footer
-    ui.footerContainer.innerHTML = '<img width=50px height=17px align="right" style="margin-top:14px;margin-right:12px;" ' + 'src="http://download.esolia.net.s3.amazonaws.com/img/eSolia-Logo-Color.svg"/>';
 	
-	// Adds placeholder for %today% and %filename%
-    var graph = ui.editor.graph;
-	var graphGetGlobalVariable = graph.getGlobalVariable;
-	
-	graph.getGlobalVariable = function(name)
+	// Sidebar is null in lightbox
+	if (ui.sidebar != null)
 	{
-		if (name == 'today')
-		{
-			return new Date().toLocaleString();
-		}
-		else if (name == 'filename')
-		{
-			var file = ui.getCurrentFile();
-			
-			return (file != null && file.getTitle() != null) ? file.getTitle() : '';
-		}
-		
-		return graphGetGlobalVariable.apply(this, arguments);
-	};
+	    // Adds custom sidebar entry
+	    ui.sidebar.addPalette('esolia', 'eSolia', true, function(content) {
 	
-	// Adds support for exporting PDF with placeholders
-	var graphGetExportVariables = graph.getExportVariables;
+	        // content.appendChild(ui.sidebar.createVertexTemplate(null, 120, 60));
+	        content.appendChild(ui.sidebar.createVertexTemplate('shape=image;image=http://download.esolia.net.s3.amazonaws.com/img/eSolia-Logo-Color.svg;resizable=0;movable=0;rotatable=0', 100, 100));
+	        content.appendChild(ui.sidebar.createVertexTemplate('text;spacingTop=-5;fontFamily=Courier New;fontSize=8;fontColor=#999999;resizable=0;movable=0;rotatable=0', 100, 100));
+	        content.appendChild(ui.sidebar.createVertexTemplate('rounded=1;whiteSpace=wrap;gradientColor=none;fillColor=#004C99;shadow=1;strokeColor=#FFFFFF;align=center;fontColor=#FFFFFF;strokeWidth=3;fontFamily=Courier New;verticalAlign=middle', 100, 100));
+	        content.appendChild(ui.sidebar.createVertexTemplate('curved=1;strokeColor=#004C99;endArrow=oval;endFill=0;strokeWidth=3;shadow=1;dashed=1', 100, 100));
+	    });
 	
-	Graph.prototype.getExportVariables = function()
-	{
-		var vars = graphGetExportVariables.apply(this, arguments);
-		var file = ui.getCurrentFile();
+	    // Collapses default sidebar entry and inserts this before
+	    var c = ui.sidebar.container;
+	    c.firstChild.click();
+	    c.insertBefore(c.lastChild, c.firstChild);
+	    c.insertBefore(c.lastChild, c.firstChild);
+	
+	    // Adds logo to footer
+	    ui.footerContainer.innerHTML = '<img width=50px height=17px align="right" style="margin-top:14px;margin-right:12px;" ' + 'src="http://download.esolia.net.s3.amazonaws.com/img/eSolia-Logo-Color.svg"/>';
 		
-		vars['today'] = new Date().toLocaleString();
-		vars['filename'] = (file != null && file.getTitle() != null) ? file.getTitle() : '';
+		// Adds placeholder for %today% and %filename%
+	    var graph = ui.editor.graph;
+		var graphGetGlobalVariable = graph.getGlobalVariable;
 		
-		return vars;
-	};
+		graph.getGlobalVariable = function(name)
+		{
+			if (name == 'today')
+			{
+				return new Date().toLocaleString();
+			}
+			else if (name == 'filename')
+			{
+				var file = ui.getCurrentFile();
+				
+				return (file != null && file.getTitle() != null) ? file.getTitle() : '';
+			}
+			
+			return graphGetGlobalVariable.apply(this, arguments);
+		};
+		
+		// Adds support for exporting PDF with placeholders
+		var graphGetExportVariables = graph.getExportVariables;
+		
+		Graph.prototype.getExportVariables = function()
+		{
+			var vars = graphGetExportVariables.apply(this, arguments);
+			var file = ui.getCurrentFile();
+			
+			vars['today'] = new Date().toLocaleString();
+			vars['filename'] = (file != null && file.getTitle() != null) ? file.getTitle() : '';
+			
+			return vars;
+		};
 	
-//    // Adds resource for action
-//    mxResources.parse('helloWorldAction=Hello, World!');
-//
-//    // Adds action
-//    ui.actions.addAction('helloWorldAction', function() {
-//        var ran = Math.floor((Math.random() * 100) + 1);
-//        mxUtils.alert('A random number is ' + ran);
-//    });
-//
-//    // Adds menu
-//    ui.menubar.addMenu('Hello, World Menu', function(menu, parent) {
-//        ui.menus.addMenuItem(menu, 'helloWorldAction');
-//    });
-//
-//    // Reorders menubar
-//    ui.menubar.container.insertBefore(ui.menubar.container.lastChild,
-//        ui.menubar.container.lastChild.previousSibling.previousSibling);
-//
-//    // Adds toolbar button
-//    ui.toolbar.addSeparator();
-//    var elt = ui.toolbar.addItem('', 'helloWorldAction');
-//
-//    // Cannot use built-in sprites
-//    elt.firstChild.style.backgroundImage = 'url(https://www.draw.io/images/logo-small.gif)';
-//    elt.firstChild.style.backgroundPosition = '2px 3px';
+//	    // Adds resource for action
+//	    mxResources.parse('helloWorldAction=Hello, World!');
+//	
+//	    // Adds action
+//	    ui.actions.addAction('helloWorldAction', function() {
+//	        var ran = Math.floor((Math.random() * 100) + 1);
+//	        mxUtils.alert('A random number is ' + ran);
+//	    });
+//	
+//	    // Adds menu
+//	    ui.menubar.addMenu('Hello, World Menu', function(menu, parent) {
+//	        ui.menus.addMenuItem(menu, 'helloWorldAction');
+//	    });
+//	
+//	    // Reorders menubar
+//	    ui.menubar.container.insertBefore(ui.menubar.container.lastChild,
+//	        ui.menubar.container.lastChild.previousSibling.previousSibling);
+//	
+//	    // Adds toolbar button
+//	    ui.toolbar.addSeparator();
+//	    var elt = ui.toolbar.addItem('', 'helloWorldAction');
+//	
+//	    // Cannot use built-in sprites
+//	    elt.firstChild.style.backgroundImage = 'url(https://www.draw.io/images/logo-small.gif)';
+//	    elt.firstChild.style.backgroundPosition = '2px 3px';
+	}
 });
\ No newline at end of file
diff --git a/src/main/webapp/service-worker.js b/src/main/webapp/service-worker.js
index b5cf64ab66e3f0a1c60e9fcc9fbac17d4aa0a6ed..4dddbd04c05a953c324fe460438af1e31ca8d85c 100644
--- a/src/main/webapp/service-worker.js
+++ b/src/main/webapp/service-worker.js
@@ -6,7 +6,7 @@ if (workbox)
 	workbox.precaching.precacheAndRoute([
   {
     "url": "js/app.min.js",
-    "revision": "a47c27e2820bc498831b2c5bedccc800"
+    "revision": "0bc6d325a00a8b17599888b78f240e69"
   },
   {
     "url": "index.html",
@@ -18,15 +18,15 @@ if (workbox)
   },
   {
     "url": "js/shapes.min.js",
-    "revision": "114ed79fe7b406c1b7d034459b989e1d"
+    "revision": "6d1fdbc4b5e424d0713b28de2676d9e9"
   },
   {
     "url": "js/stencils.min.js",
-    "revision": "29c858398e8354cd77d0c81b3e8a43ca"
+    "revision": "fdb0ffc3355997c93f0e7773d1376a82"
   },
   {
     "url": "js/extensions.min.js",
-    "revision": "25b5872708446c8f83ec4d7a8de3c915"
+    "revision": "9b497ff1ec749be17d547373bea332ef"
   },
   {
     "url": "js/diagramly/ElectronApp.js",
diff --git a/src/main/webapp/shapes/mxIBM.js b/src/main/webapp/shapes/mxIBM.js
new file mode 100644
index 0000000000000000000000000000000000000000..ef2079efb1834a4908975ba2ca998447df8e662e
--- /dev/null
+++ b/src/main/webapp/shapes/mxIBM.js
@@ -0,0 +1,100 @@
+/**
+ * $Id: mxIBM.js,v 1.0 2018/08/21 13:05:39 mate Exp $
+ * Copyright (c) 2006-2020, JGraph Ltd
+ */
+
+//**********************************************************************************************************************************************************
+//Box
+//**********************************************************************************************************************************************************
+/**
+* Extends mxShape.
+*/
+function mxShapeIBMBox(bounds, fill, stroke, strokewidth)
+{
+	mxShape.call(this);
+	this.bounds = bounds;
+	this.fill = fill;
+	this.stroke = stroke;
+	this.strokewidth = (strokewidth != null) ? strokewidth : 1;
+};
+
+/**
+* Extends mxShape.
+*/
+mxUtils.extend(mxShapeIBMBox, mxShape);
+
+mxShapeIBMBox.prototype.cst = {
+		IBM_BOX : 'mxgraph.ibm.box'
+};
+
+mxShapeIBMBox.prototype.customProperties = [
+	{name: 'prType', dispName: 'Box Type', defVal: 'cloud', type: 'enum', 
+		enumList: [{val: 'cloud', dispName: 'IBM Cloud'}, 
+				   {val: 'vpc', dispName: 'VPC'}, 
+				   {val: 'region', dispName: 'Region'}, 
+				   {val: 'zone', dispName: 'Zone'}, 
+				   {val: 'subnet', dispName: 'Subnet ACL'}, 
+				   {val: 'public', dispName: 'Public Network'}, 
+				   {val: 'enterprise', dispName: 'Enterprise Network'}, 
+				   {val: 'classic', dispName: 'Classic Infrastructure'}]}
+];
+
+/**
+* Function: paintVertexShape
+* 
+* Paints the vertex shape.
+*/
+mxShapeIBMBox.prototype.paintVertexShape = function(c, x, y, w, h)
+{
+	c.translate(x, y);
+	
+	c.begin();
+	c.rect(0,0, w, h);
+	c.fillAndStroke();
+	
+	var strokeColor = mxUtils.getValue(this.state.style, 'strokeColor', 'none');
+	c.setFillColor(strokeColor);
+	c.setStrokeColor('none');
+	
+	var prType = mxUtils.getValue(this.state.style, 'prType', '');
+	
+	switch(prType)
+	{
+		case 'cloud':
+			var bgSt1 = mxStencilRegistry.getStencil('mxgraph.ibm.cloudtag');
+			bgSt1.drawShape(c, this, 0, 0, 25, 25);
+			break;
+		case 'vpc':
+			var bgSt1 = mxStencilRegistry.getStencil('mxgraph.ibm.vpctag');
+			bgSt1.drawShape(c, this, 0, 0, 25, 25);
+			break;
+		case 'region':
+			var bgSt1 = mxStencilRegistry.getStencil('mxgraph.ibm.regiontag');
+			bgSt1.drawShape(c, this, 0, 0, 25, 25);
+			break;
+		case 'zone':
+			var bgSt1 = mxStencilRegistry.getStencil('mxgraph.ibm.zonetag');
+			bgSt1.drawShape(c, this, 0, 0, 25, 25);
+			break;
+		case 'subnet':
+			var bgSt1 = mxStencilRegistry.getStencil('mxgraph.ibm.subnettag');
+			bgSt1.drawShape(c, this, 0, 0, 25, 25);
+			break;
+		case 'public':
+			var bgSt1 = mxStencilRegistry.getStencil('mxgraph.ibm.publictag');
+			bgSt1.drawShape(c, this, 0, 0, 25, 25);
+			break;
+		case 'enterprise':
+			var bgSt1 = mxStencilRegistry.getStencil('mxgraph.ibm.enterprisetag');
+			bgSt1.drawShape(c, this, 0, 0, 25, 25);
+			break;
+		case 'classic':
+			var bgSt1 = mxStencilRegistry.getStencil('mxgraph.ibm.classictag');
+			bgSt1.drawShape(c, this, 0, 0, 25, 25);
+			break;
+		default:
+			break;
+	}
+};
+
+mxCellRenderer.registerShape(mxShapeIBMBox.prototype.cst.IBM_BOX, mxShapeIBMBox);
diff --git a/src/main/webapp/stencils/basic.xml b/src/main/webapp/stencils/basic.xml
index a87ac8fa1a254f22a03538028fd8b76c70a828ce..ac5a6d063bb2833489dfe1b27ad56e41841d1b49 100644
--- a/src/main/webapp/stencils/basic.xml
+++ b/src/main/webapp/stencils/basic.xml
@@ -1,590 +1,709 @@
 <shapes name="mxgraph.basic">
-<shape name="4 Point Star" h="92" w="92" aspect="variable" strokewidth="inherit">
-<connections>
-<constraint x="0.5" y="0" perimeter="0" name="N"/>
-<constraint x="0.5" y="1" perimeter="0" name="S"/>
-<constraint x="0" y="0.5" perimeter="0" name="W"/>
-<constraint x="1" y="0.5" perimeter="0" name="E"/>
-</connections>
-<background>
-<path>
-<move x="46" y="0"/>
-<line x="56" y="36"/>
-<line x="92" y="46"/>
-<line x="56" y="56"/>
-<line x="46" y="92"/>
-<line x="36" y="56"/>
-<line x="0" y="46"/>
-<line x="36" y="36"/>
-<close/>
-</path>
-</background>
-<foreground>
-<fillstroke/>
-</foreground>
+<shape aspect="variable" h="92" name="4 Point Star" strokewidth="inherit" w="92">
+    <connections>
+        <constraint name="N" perimeter="0" x="0.5" y="0"/>
+        <constraint name="S" perimeter="0" x="0.5" y="1"/>
+        <constraint name="W" perimeter="0" x="0" y="0.5"/>
+        <constraint name="E" perimeter="0" x="1" y="0.5"/>
+    </connections>
+    <background>
+        <path>
+            <move x="46" y="0"/>
+            <line x="56" y="36"/>
+            <line x="92" y="46"/>
+            <line x="56" y="56"/>
+            <line x="46" y="92"/>
+            <line x="36" y="56"/>
+            <line x="0" y="46"/>
+            <line x="36" y="36"/>
+            <close/>
+        </path>
+    </background>
+    <foreground>
+        <fillstroke/>
+    </foreground>
 </shape>
-<shape name="6 Point Star" h="84.5" w="96" aspect="variable" strokewidth="inherit">
-<connections>
-<constraint x="0.24" y="0" perimeter="0" name="N1"/>
-<constraint x="0.24" y="1" perimeter="0" name="S1"/>
-<constraint x="0.76" y="0" perimeter="0" name="N2"/>
-<constraint x="0.76" y="1" perimeter="0" name="S2"/>
-<constraint x="0" y="0.5" perimeter="0" name="W"/>
-<constraint x="1" y="0.5" perimeter="0" name="E"/>
-</connections>
-<background>
-<path>
-<move x="23" y="28.9"/>
-<line x="23" y="0"/>
-<line x="48" y="14.4"/>
-<line x="73" y="0"/>
-<line x="73" y="28.9"/>
-<line x="96" y="42.2"/>
-<line x="73" y="55.6"/>
-<line x="73" y="84.5"/>
-<line x="48" y="70"/>
-<line x="23" y="84.5"/>
-<line x="23" y="55.6"/>
-<line x="0" y="42.2"/>
-<close/>
-</path>
-</background>
-<foreground>
-<fillstroke/>
-</foreground>
+<shape aspect="variable" h="84.5" name="6 Point Star" strokewidth="inherit" w="96">
+    <connections>
+        <constraint name="N1" perimeter="0" x="0.24" y="0"/>
+        <constraint name="S1" perimeter="0" x="0.24" y="1"/>
+        <constraint name="N2" perimeter="0" x="0.76" y="0"/>
+        <constraint name="S2" perimeter="0" x="0.76" y="1"/>
+        <constraint name="W" perimeter="0" x="0" y="0.5"/>
+        <constraint name="E" perimeter="0" x="1" y="0.5"/>
+    </connections>
+    <background>
+        <path>
+            <move x="23" y="28.9"/>
+            <line x="23" y="0"/>
+            <line x="48" y="14.4"/>
+            <line x="73" y="0"/>
+            <line x="73" y="28.9"/>
+            <line x="96" y="42.2"/>
+            <line x="73" y="55.6"/>
+            <line x="73" y="84.5"/>
+            <line x="48" y="70"/>
+            <line x="23" y="84.5"/>
+            <line x="23" y="55.6"/>
+            <line x="0" y="42.2"/>
+            <close/>
+        </path>
+    </background>
+    <foreground>
+        <fillstroke/>
+    </foreground>
 </shape>
-<shape name="8 Point Star" h="96" w="96" aspect="variable" strokewidth="inherit">
-<connections>
-<constraint x="0.29" y="0" perimeter="0" name="N1"/>
-<constraint x="0.29" y="1" perimeter="0" name="S1"/>
-<constraint x="0.71" y="0" perimeter="0" name="N2"/>
-<constraint x="0.71" y="1" perimeter="0" name="S2"/>
-<constraint x="0" y="0.29" perimeter="0" name="W1"/>
-<constraint x="0" y="0.71" perimeter="0" name="W2"/>
-<constraint x="1" y="0.29" perimeter="0" name="E1"/>
-<constraint x="1" y="0.71" perimeter="0" name="E2"/>
-</connections>
-<background>
-<path>
-<move x="28" y="28"/>
-<line x="28" y="0"/>
-<line x="48" y="20"/>
-<line x="68" y="0"/>
-<line x="68" y="28"/>
-<line x="96" y="28"/>
-<line x="76" y="48"/>
-<line x="96" y="68"/>
-<line x="68" y="68"/>
-<line x="68" y="96"/>
-<line x="48" y="76"/>
-<line x="28" y="96"/>
-<line x="28" y="68"/>
-<line x="0" y="68"/>
-<line x="20" y="48"/>
-<line x="0" y="28"/>
-<close/>
-</path>
-</background>
-<foreground>
-<fillstroke/>
-</foreground>
+<shape aspect="variable" h="96" name="8 Point Star" strokewidth="inherit" w="96">
+    <connections>
+        <constraint name="N1" perimeter="0" x="0.29" y="0"/>
+        <constraint name="S1" perimeter="0" x="0.29" y="1"/>
+        <constraint name="N2" perimeter="0" x="0.71" y="0"/>
+        <constraint name="S2" perimeter="0" x="0.71" y="1"/>
+        <constraint name="W1" perimeter="0" x="0" y="0.29"/>
+        <constraint name="W2" perimeter="0" x="0" y="0.71"/>
+        <constraint name="E1" perimeter="0" x="1" y="0.29"/>
+        <constraint name="E2" perimeter="0" x="1" y="0.71"/>
+    </connections>
+    <background>
+        <path>
+            <move x="28" y="28"/>
+            <line x="28" y="0"/>
+            <line x="48" y="20"/>
+            <line x="68" y="0"/>
+            <line x="68" y="28"/>
+            <line x="96" y="28"/>
+            <line x="76" y="48"/>
+            <line x="96" y="68"/>
+            <line x="68" y="68"/>
+            <line x="68" y="96"/>
+            <line x="48" y="76"/>
+            <line x="28" y="96"/>
+            <line x="28" y="68"/>
+            <line x="0" y="68"/>
+            <line x="20" y="48"/>
+            <line x="0" y="28"/>
+            <close/>
+        </path>
+    </background>
+    <foreground>
+        <fillstroke/>
+    </foreground>
 </shape>
-<shape name="Banner" h="50" w="96" aspect="variable" strokewidth="inherit">
-<connections>
-<constraint x="0.5" y="0" perimeter="0" name="N"/>
-<constraint x="0.5" y="0.8" perimeter="0" name="S"/>
-<constraint x="0.13" y="0.6" perimeter="0" name="W"/>
-<constraint x="0.87" y="0.6" perimeter="0" name="E"/>
-</connections>
-<background>
-<path>
-<move x="0" y="50"/>
-<line x="38" y="50"/>
-<arc rx="2.5" ry="2.5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="0" x="40.5" y="47.5"/>
-<line x="40.5" y="40"/>
-<line x="55.5" y="40"/>
-<line x="55.5" y="47.5"/>
-<arc rx="2.5" ry="2.5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="0" x="58" y="50"/>
-<line x="96" y="50"/>
-<line x="83" y="30"/>
-<line x="96" y="10"/>
-<line x="70.5" y="10"/>
-<line x="70.5" y="2.5"/>
-<arc rx="2.5" ry="2.5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="0" x="68" y="0"/>
-<line x="28" y="0"/>
-<arc rx="2.5" ry="2.5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="0" x="25.5" y="2.5"/>
-<line x="25.5" y="10"/>
-<line x="0" y="10"/>
-<line x="13" y="30"/>
-<close/>
-</path>
-</background>
-<foreground>
-<fillstroke/>
-<path>
-<move x="40.5" y="47.5"/>
-<arc rx="2.5" ry="2.5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="0" x="38" y="45"/>
-<line x="28" y="45"/>
-<arc rx="2.5" ry="2.5" x-axis-rotation="0" large-arc-flag="1" sweep-flag="1" x="28" y="40"/>
-<line x="68" y="40"/>
-<arc rx="2.5" ry="2.5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="68" y="45"/>
-<line x="58" y="45"/>
-<arc rx="2.5" ry="2.5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="0" x="55.5" y="47.5"/>
-<move x="25.5" y="42.5"/>
-<line x="25.5" y="10"/>
-<move x="70.5" y="42.5"/>
-<line x="70.5" y="10"/>
-</path>
-<stroke/>
-</foreground>
+<shape aspect="variable" h="50" name="Banner" strokewidth="inherit" w="96">
+    <connections>
+        <constraint name="N" perimeter="0" x="0.5" y="0"/>
+        <constraint name="S" perimeter="0" x="0.5" y="0.8"/>
+        <constraint name="W" perimeter="0" x="0.13" y="0.6"/>
+        <constraint name="E" perimeter="0" x="0.87" y="0.6"/>
+    </connections>
+    <background>
+        <path>
+            <move x="0" y="50"/>
+            <line x="38" y="50"/>
+            <arc large-arc-flag="0" rx="2.5" ry="2.5" sweep-flag="0" x="40.5" x-axis-rotation="0" y="47.5"/>
+            <line x="40.5" y="40"/>
+            <line x="55.5" y="40"/>
+            <line x="55.5" y="47.5"/>
+            <arc large-arc-flag="0" rx="2.5" ry="2.5" sweep-flag="0" x="58" x-axis-rotation="0" y="50"/>
+            <line x="96" y="50"/>
+            <line x="83" y="30"/>
+            <line x="96" y="10"/>
+            <line x="70.5" y="10"/>
+            <line x="70.5" y="2.5"/>
+            <arc large-arc-flag="0" rx="2.5" ry="2.5" sweep-flag="0" x="68" x-axis-rotation="0" y="0"/>
+            <line x="28" y="0"/>
+            <arc large-arc-flag="0" rx="2.5" ry="2.5" sweep-flag="0" x="25.5" x-axis-rotation="0" y="2.5"/>
+            <line x="25.5" y="10"/>
+            <line x="0" y="10"/>
+            <line x="13" y="30"/>
+            <close/>
+        </path>
+    </background>
+    <foreground>
+        <fillstroke/>
+        <path>
+            <move x="40.5" y="47.5"/>
+            <arc large-arc-flag="0" rx="2.5" ry="2.5" sweep-flag="0" x="38" x-axis-rotation="0" y="45"/>
+            <line x="28" y="45"/>
+            <arc large-arc-flag="1" rx="2.5" ry="2.5" sweep-flag="1" x="28" x-axis-rotation="0" y="40"/>
+            <line x="68" y="40"/>
+            <arc large-arc-flag="0" rx="2.5" ry="2.5" sweep-flag="1" x="68" x-axis-rotation="0" y="45"/>
+            <line x="58" y="45"/>
+            <arc large-arc-flag="0" rx="2.5" ry="2.5" sweep-flag="0" x="55.5" x-axis-rotation="0" y="47.5"/>
+            <move x="25.5" y="42.5"/>
+            <line x="25.5" y="10"/>
+            <move x="70.5" y="42.5"/>
+            <line x="70.5" y="10"/>
+        </path>
+        <stroke/>
+    </foreground>
 </shape>
-<shape name="Cloud Callout" h="61.4" w="90.41" aspect="variable" strokewidth="inherit">
-<connections>
-<constraint x="0.5" y="0" perimeter="0" name="N"/>
-<constraint x="0.5" y="0.74" perimeter="0" name="S"/>
-<constraint x="0.015" y="0.4" perimeter="0" name="W"/>
-<constraint x="0.993" y="0.4" perimeter="0" name="E"/>
-<constraint x="0.01" y="0.995" perimeter="0" name="SW"/>
-</connections>
-<background>
-<save/>
-<linejoin join="round"/>
-<path>
-<move x="12.1" y="31.8"/>
-<arc rx="8" ry="8" x-axis-rotation="0" large-arc-flag="1" sweep-flag="1" x="12.1" y="16.8"/>
-<arc rx="12" ry="12" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="33.1" y="8.8"/>
-<arc rx="14" ry="14" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="59.1" y="8.8"/>
-<arc rx="12" ry="12" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="79.1" y="16.8"/>
-<arc rx="8" ry="8" x-axis-rotation="0" large-arc-flag="1" sweep-flag="1" x="79.1" y="31.8"/>
-<arc rx="12" ry="12" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="58.1" y="38.8"/>
-<arc rx="14" ry="14" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="34.1" y="38.8"/>
-<arc rx="10" ry="8" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="12.1" y="31.8"/>
-<close/>
-</path>
-</background>
-<foreground>
-<fillstroke/>
-<restore/>
-<linejoin join="miter"/>
-<ellipse x="9.1" y="46.1" w="12" h="5.4"/>
-<fillstroke/>
-<ellipse x="4.3" y="53.5" w="7.6" h="3.6"/>
-<fillstroke/>
-<ellipse x="0" y="58.8" w="4.8" h="2.6"/>
-<fillstroke/>
-</foreground>
+<shape aspect="variable" h="61.4" name="Cloud Callout" strokewidth="inherit" w="90.41">
+    <connections>
+        <constraint name="N" perimeter="0" x="0.5" y="0"/>
+        <constraint name="S" perimeter="0" x="0.5" y="0.74"/>
+        <constraint name="W" perimeter="0" x="0.015" y="0.4"/>
+        <constraint name="E" perimeter="0" x="0.993" y="0.4"/>
+        <constraint name="SW" perimeter="0" x="0.01" y="0.995"/>
+    </connections>
+    <background>
+        <save/>
+        <path>
+            <move x="12.1" y="31.8"/>
+            <arc large-arc-flag="1" rx="8" ry="8" sweep-flag="1" x="12.1" x-axis-rotation="0" y="16.8"/>
+            <arc large-arc-flag="0" rx="12" ry="12" sweep-flag="1" x="33.1" x-axis-rotation="0" y="8.8"/>
+            <arc large-arc-flag="0" rx="14" ry="14" sweep-flag="1" x="59.1" x-axis-rotation="0" y="8.8"/>
+            <arc large-arc-flag="0" rx="12" ry="12" sweep-flag="1" x="79.1" x-axis-rotation="0" y="16.8"/>
+            <arc large-arc-flag="1" rx="8" ry="8" sweep-flag="1" x="79.1" x-axis-rotation="0" y="31.8"/>
+            <arc large-arc-flag="0" rx="12" ry="12" sweep-flag="1" x="58.1" x-axis-rotation="0" y="38.8"/>
+            <arc large-arc-flag="0" rx="14" ry="14" sweep-flag="1" x="34.1" x-axis-rotation="0" y="38.8"/>
+            <arc large-arc-flag="0" rx="10" ry="8" sweep-flag="1" x="12.1" x-axis-rotation="0" y="31.8"/>
+            <close/>
+        </path>
+    </background>
+    <foreground>
+        <linejoin join="round"/>
+        <fillstroke/>
+        <restore/>
+        <rect/>
+        <stroke/>
+        <ellipse h="5.4" w="12" x="9.1" y="46.1"/>
+        <fillstroke/>
+        <ellipse h="3.6" w="7.6" x="4.3" y="53.5"/>
+        <fillstroke/>
+        <ellipse h="2.6" w="4.8" x="0" y="58.8"/>
+        <fillstroke/>
+    </foreground>
 </shape>
-<shape name="Cone" h="96.91" w="99" aspect="variable" strokewidth="inherit">
-<connections>
-<constraint x="0.5" y="0" perimeter="0" name="N"/>
-<constraint x="0.5" y="1" perimeter="0" name="S"/>
-</connections>
-<background>
-<path>
-<move x="49.5" y="0"/>
-<line x="99" y="88"/>
-<arc rx="25" ry="4.5" x-axis-rotation="0" large-arc-flag="1" sweep-flag="1" x="0" y="88"/>
-<close/>
-</path>
-</background>
-<foreground>
-<fillstroke/>
-<path>
-<move x="0" y="88"/>
-<arc rx="25" ry="4.5" x-axis-rotation="0" large-arc-flag="1" sweep-flag="1" x="99" y="88"/>
-</path>
-<fillstroke/>
-</foreground>
+<shape aspect="variable" h="175.05" name="Cloud Rect" strokewidth="inherit" w="212.54">
+    <connections/>
+    <background>
+        <path>
+            <move x="8.46" y="0"/>
+            <curve x1="3.79" x2="0" x3="0" y1="0" y2="3.79" y3="8.46"/>
+            <curve x1="0" x2="1.17" x3="3.16" y1="11.02" y2="13.44" y3="15.05"/>
+            <curve x1="1.16" x2="0" x3="0" y1="16.65" y2="19.08" y3="21.64"/>
+            <curve x1="0" x2="1.17" x3="3.16" y1="24.2" y2="26.62" y3="28.22"/>
+            <curve x1="1.16" x2="0" x3="0" y1="29.83" y2="32.25" y3="34.81"/>
+            <curve x1="0" x2="1.17" x3="3.16" y1="37.38" y2="39.8" y3="41.4"/>
+            <curve x1="1.16" x2="0" x3="0" y1="43.01" y2="45.43" y3="47.99"/>
+            <curve x1="0" x2="1.17" x3="3.16" y1="50.55" y2="52.98" y3="54.58"/>
+            <curve x1="1.16" x2="0" x3="0" y1="56.18" y2="58.61" y3="61.17"/>
+            <curve x1="0" x2="1.17" x3="3.16" y1="63.73" y2="66.15" y3="67.76"/>
+            <curve x1="1.16" x2="0" x3="0" y1="69.36" y2="71.79" y3="74.35"/>
+            <curve x1="0" x2="1.17" x3="3.16" y1="76.91" y2="79.33" y3="80.93"/>
+            <curve x1="1.16" x2="0" x3="0" y1="82.54" y2="84.96" y3="87.53"/>
+            <curve x1="0" x2="1.17" x3="3.16" y1="90.09" y2="92.51" y3="94.11"/>
+            <curve x1="1.16" x2="0" x3="0" y1="95.71" y2="98.14" y3="100.7"/>
+            <curve x1="0" x2="1.17" x3="3.16" y1="103.26" y2="105.68" y3="107.29"/>
+            <curve x1="1.16" x2="0" x3="0" y1="108.89" y2="111.32" y3="113.88"/>
+            <curve x1="0" x2="1.17" x3="3.16" y1="116.44" y2="118.86" y3="120.47"/>
+            <curve x1="1.16" x2="0" x3="0" y1="122.07" y2="124.49" y3="127.06"/>
+            <curve x1="0" x2="1.17" x3="3.16" y1="129.62" y2="132.04" y3="133.64"/>
+            <curve x1="1.16" x2="0" x3="0" y1="135.25" y2="137.67" y3="140.23"/>
+            <curve x1="0" x2="1.17" x3="3.16" y1="142.79" y2="145.22" y3="146.82"/>
+            <curve x1="1.16" x2="0" x3="0" y1="148.42" y2="150.85" y3="153.41"/>
+            <curve x1="0" x2="1.17" x3="3.16" y1="155.97" y2="158.39" y3="160"/>
+            <curve x1="1.16" x2="0" x3="0" y1="161.6" y2="164.03" y3="166.59"/>
+            <curve x1="0" x2="3.79" x3="8.46" y1="171.26" y2="175.05" y3="175.05"/>
+            <curve x1="11.29" x2="13.94" x3="15.5" y1="175.05" y2="173.63" y3="171.27"/>
+            <curve x1="17.07" x2="19.71" x3="22.55" y1="173.63" y2="175.05" y3="175.05"/>
+            <curve x1="25.34" x2="27.95" x3="29.53" y1="175.05" y2="173.67" y3="171.37"/>
+            <curve x1="31.1" x2="33.71" x3="36.5" y1="173.67" y2="175.05" y3="175.05"/>
+            <curve x1="39.29" x2="41.9" x3="43.48" y1="175.05" y2="173.67" y3="171.37"/>
+            <curve x1="45.05" x2="47.66" x3="50.45" y1="173.67" y2="175.05" y3="175.05"/>
+            <curve x1="53.24" x2="55.85" x3="57.43" y1="175.05" y2="173.67" y3="171.37"/>
+            <curve x1="59" x2="61.61" x3="64.4" y1="173.67" y2="175.05" y3="175.05"/>
+            <curve x1="67.19" x2="69.8" x3="71.38" y1="175.05" y2="173.67" y3="171.37"/>
+            <curve x1="72.95" x2="75.56" x3="78.35" y1="173.67" y2="175.05" y3="175.05"/>
+            <curve x1="81.14" x2="83.75" x3="85.33" y1="175.05" y2="173.67" y3="171.37"/>
+            <curve x1="86.91" x2="89.51" x3="92.3" y1="173.67" y2="175.05" y3="175.05"/>
+            <curve x1="95.09" x2="97.7" x3="99.28" y1="175.05" y2="173.67" y3="171.37"/>
+            <curve x1="100.86" x2="103.46" x3="106.25" y1="173.67" y2="175.05" y3="175.05"/>
+            <curve x1="109.04" x2="111.65" x3="113.23" y1="175.05" y2="173.67" y3="171.37"/>
+            <curve x1="114.81" x2="117.41" x3="120.2" y1="173.67" y2="175.05" y3="175.05"/>
+            <curve x1="122.99" x2="125.61" x3="127.18" y1="175.05" y2="173.67" y3="171.37"/>
+            <curve x1="128.76" x2="131.36" x3="134.15" y1="173.67" y2="175.05" y3="175.05"/>
+            <curve x1="136.94" x2="139.56" x3="141.13" y1="175.05" y2="173.67" y3="171.37"/>
+            <curve x1="142.71" x2="145.32" x3="148.1" y1="173.67" y2="175.05" y3="175.05"/>
+            <curve x1="150.9" x2="153.51" x3="155.08" y1="175.05" y2="173.67" y3="171.37"/>
+            <curve x1="156.66" x2="159.27" x3="162.06" y1="173.67" y2="175.05" y3="175.05"/>
+            <curve x1="164.85" x2="167.46" x3="169.03" y1="175.05" y2="173.67" y3="171.37"/>
+            <curve x1="170.61" x2="173.22" x3="176" y1="173.67" y2="175.05" y3="175.05"/>
+            <curve x1="178.8" x2="181.41" x3="182.98" y1="175.05" y2="173.67" y3="171.37"/>
+            <curve x1="184.56" x2="187.17" x3="189.96" y1="173.67" y2="175.05" y3="175.05"/>
+            <curve x1="192.8" x2="195.45" x3="197.02" y1="175.05" y2="173.61" y3="171.24"/>
+            <curve x1="198.58" x2="201.23" x3="204.08" y1="173.62" y2="175.05" y3="175.05"/>
+            <curve x1="208.75" x2="212.54" x3="212.54" y1="175.05" y2="171.26" y3="166.59"/>
+            <curve x1="212.54" x2="211.38" x3="209.38" y1="164.03" y2="161.61" y3="160"/>
+            <curve x1="211.38" x2="212.54" x3="212.54" y1="158.4" y2="155.97" y3="153.41"/>
+            <curve x1="212.54" x2="211.38" x3="209.38" y1="150.85" y2="148.43" y3="146.83"/>
+            <curve x1="211.38" x2="212.54" x3="212.54" y1="145.22" y2="142.8" y3="140.23"/>
+            <curve x1="212.54" x2="211.38" x3="209.38" y1="137.67" y2="135.25" y3="133.65"/>
+            <curve x1="211.38" x2="212.54" x3="212.54" y1="132.04" y2="129.62" y3="127.06"/>
+            <curve x1="212.54" x2="211.38" x3="209.38" y1="124.5" y2="122.08" y3="120.47"/>
+            <curve x1="211.38" x2="212.54" x3="212.54" y1="118.87" y2="116.44" y3="113.88"/>
+            <curve x1="212.54" x2="211.38" x3="209.38" y1="111.32" y2="108.9" y3="107.29"/>
+            <curve x1="211.38" x2="212.54" x3="212.54" y1="105.69" y2="103.26" y3="100.7"/>
+            <curve x1="212.54" x2="211.38" x3="209.38" y1="98.14" y2="95.72" y3="94.12"/>
+            <curve x1="211.38" x2="212.54" x3="212.54" y1="92.51" y2="90.09" y3="87.53"/>
+            <curve x1="212.54" x2="211.38" x3="209.38" y1="84.97" y2="82.54" y3="80.94"/>
+            <curve x1="211.38" x2="212.54" x3="212.54" y1="79.33" y2="76.91" y3="74.35"/>
+            <curve x1="212.54" x2="211.38" x3="209.38" y1="71.79" y2="69.37" y3="67.76"/>
+            <curve x1="211.38" x2="212.54" x3="212.54" y1="66.16" y2="63.73" y3="61.17"/>
+            <curve x1="212.54" x2="211.38" x3="209.38" y1="58.61" y2="56.19" y3="54.58"/>
+            <curve x1="211.38" x2="212.54" x3="212.54" y1="52.98" y2="50.56" y3="47.99"/>
+            <curve x1="212.54" x2="211.38" x3="209.38" y1="45.43" y2="43.01" y3="41.41"/>
+            <curve x1="211.38" x2="212.54" x3="212.54" y1="39.8" y2="37.38" y3="34.81"/>
+            <curve x1="212.54" x2="211.38" x3="209.38" y1="32.25" y2="29.83" y3="28.23"/>
+            <curve x1="211.38" x2="212.54" x3="212.54" y1="26.62" y2="24.2" y3="21.64"/>
+            <curve x1="212.54" x2="211.38" x3="209.38" y1="19.08" y2="16.66" y3="15.05"/>
+            <curve x1="211.38" x2="212.54" x3="212.54" y1="13.45" y2="11.02" y3="8.46"/>
+            <curve x1="212.54" x2="208.75" x3="204.08" y1="3.79" y2="0" y3="0"/>
+            <curve x1="201.24" x2="198.58" x3="197.02" y1="0" y2="1.44" y3="3.81"/>
+            <curve x1="195.46" x2="192.8" x3="189.96" y1="1.43" y2="0" y3="0"/>
+            <curve x1="187.16" x2="184.55" x3="182.98" y1="0" y2="1.38" y3="3.68"/>
+            <curve x1="181.4" x2="178.79" x3="176" y1="1.38" y2="0" y3="0"/>
+            <curve x1="173.21" x2="170.6" x3="169.02" y1="0" y2="1.38" y3="3.68"/>
+            <curve x1="167.45" x2="164.84" x3="162.06" y1="1.38" y2="0" y3="0"/>
+            <curve x1="159.26" x2="156.65" x3="155.07" y1="0" y2="1.38" y3="3.68"/>
+            <curve x1="153.5" x2="150.89" x3="148.1" y1="1.38" y2="0" y3="0"/>
+            <curve x1="145.31" x2="142.7" x3="141.12" y1="0" y2="1.38" y3="3.68"/>
+            <curve x1="139.55" x2="136.94" x3="134.15" y1="1.38" y2="0" y3="0"/>
+            <curve x1="131.36" x2="128.75" x3="127.17" y1="0" y2="1.38" y3="3.68"/>
+            <curve x1="125.6" x2="122.99" x3="120.2" y1="1.38" y2="0" y3="0"/>
+            <curve x1="117.41" x2="114.8" x3="113.22" y1="0" y2="1.38" y3="3.68"/>
+            <curve x1="111.65" x2="109.04" x3="106.25" y1="1.38" y2="0" y3="0"/>
+            <curve x1="103.46" x2="100.85" x3="99.27" y1="0" y2="1.38" y3="3.68"/>
+            <curve x1="97.7" x2="95.09" x3="92.3" y1="1.38" y2="0" y3="0"/>
+            <curve x1="89.51" x2="86.9" x3="85.32" y1="0" y2="1.38" y3="3.68"/>
+            <curve x1="83.75" x2="81.14" x3="78.35" y1="1.38" y2="0" y3="0"/>
+            <curve x1="75.56" x2="72.95" x3="71.37" y1="0" y2="1.38" y3="3.68"/>
+            <curve x1="69.79" x2="67.19" x3="64.4" y1="1.38" y2="0" y3="0"/>
+            <curve x1="61.61" x2="59" x3="57.42" y1="0" y2="1.38" y3="3.68"/>
+            <curve x1="55.84" x2="53.24" x3="50.45" y1="1.38" y2="0" y3="0"/>
+            <curve x1="47.66" x2="45.05" x3="43.47" y1="0" y2="1.38" y3="3.68"/>
+            <curve x1="41.89" x2="39.29" x3="36.5" y1="1.38" y2="0" y3="0"/>
+            <curve x1="33.71" x2="31.09" x3="29.52" y1="0" y2="1.38" y3="3.68"/>
+            <curve x1="27.94" x2="25.34" x3="22.55" y1="1.38" y2="0" y3="0"/>
+            <curve x1="19.71" x2="17.07" x3="15.5" y1="0" y2="1.42" y3="3.78"/>
+            <curve x1="13.94" x2="11.29" x3="8.46" y1="1.42" y2="0" y3="0"/>
+            <close/>
+        </path>
+    </background>
+    <foreground>
+        <fillstroke/>
+    </foreground>
 </shape>
-<shape name="Cross" h="98" w="98" aspect="variable" strokewidth="inherit">
-<connections>
-<constraint x="0.5" y="0" perimeter="0" name="N"/>
-<constraint x="0.5" y="1" perimeter="0" name="S"/>
-<constraint x="0" y="0.5" perimeter="0" name="W"/>
-<constraint x="1" y="0.5" perimeter="0" name="E"/>
-</connections>
-<background>
-<path>
-<move x="0" y="34"/>
-<line x="34" y="34"/>
-<line x="34" y="0"/>
-<line x="64" y="0"/>
-<line x="64" y="34"/>
-<line x="98" y="34"/>
-<line x="98" y="64"/>
-<line x="64" y="64"/>
-<line x="64" y="98"/>
-<line x="34" y="98"/>
-<line x="34" y="64"/>
-<line x="0" y="64"/>
-<close/>
-</path>
-</background>
-<foreground>
-<fillstroke/>
-</foreground>
+<shape aspect="variable" h="96.91" name="Cone" strokewidth="inherit" w="99">
+    <connections>
+        <constraint name="N" perimeter="0" x="0.5" y="0"/>
+        <constraint name="S" perimeter="0" x="0.5" y="1"/>
+    </connections>
+    <background>
+        <path>
+            <move x="49.5" y="0"/>
+            <line x="99" y="88"/>
+            <arc large-arc-flag="1" rx="25" ry="4.5" sweep-flag="1" x="0" x-axis-rotation="0" y="88"/>
+            <close/>
+        </path>
+    </background>
+    <foreground>
+        <fillstroke/>
+        <path>
+            <move x="0" y="88"/>
+            <arc large-arc-flag="1" rx="25" ry="4.5" sweep-flag="1" x="99" x-axis-rotation="0" y="88"/>
+        </path>
+        <fillstroke/>
+    </foreground>
+</shape>
+<shape aspect="variable" h="98" name="Cross" strokewidth="inherit" w="98">
+    <connections>
+        <constraint name="N" perimeter="0" x="0.5" y="0"/>
+        <constraint name="S" perimeter="0" x="0.5" y="1"/>
+        <constraint name="W" perimeter="0" x="0" y="0.5"/>
+        <constraint name="E" perimeter="0" x="1" y="0.5"/>
+    </connections>
+    <background>
+        <path>
+            <move x="0" y="34"/>
+            <line x="34" y="34"/>
+            <line x="34" y="0"/>
+            <line x="64" y="0"/>
+            <line x="64" y="34"/>
+            <line x="98" y="34"/>
+            <line x="98" y="64"/>
+            <line x="64" y="64"/>
+            <line x="64" y="98"/>
+            <line x="34" y="98"/>
+            <line x="34" y="64"/>
+            <line x="0" y="64"/>
+            <close/>
+        </path>
+    </background>
+    <foreground>
+        <fillstroke/>
+    </foreground>
 </shape>
-<shape name="Document" h="98" w="98" aspect="variable" strokewidth="inherit">
-<connections>
-<constraint x="0.5" y="0" perimeter="0" name="N"/>
-<constraint x="0.5" y="1" perimeter="0" name="S"/>
-<constraint x="0" y="0.5" perimeter="0" name="W"/>
-<constraint x="1" y="0.5" perimeter="0" name="E"/>
-</connections>
-<background>
-<path>
-<move x="98" y="14"/>
-<line x="98" y="98"/>
-<line x="0" y="98"/>
-<line x="0" y="0"/>
-<line x="84" y="0"/>
-<close/>
-</path>
-</background>
-<foreground>
-<fillstroke/>
-<path>
-<move x="84" y="0"/>
-<arc rx="18" ry="10" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="79" y="9"/>
-<line x="98" y="14"/>
-</path>
-<stroke/>
-</foreground>
+<shape aspect="variable" h="98" name="Document" strokewidth="inherit" w="99">
+    <connections>
+        <constraint name="N" perimeter="0" x="0.5" y="0"/>
+        <constraint name="S" perimeter="0" x="0.5" y="1"/>
+        <constraint name="W" perimeter="0" x="0" y="0.5"/>
+        <constraint name="E" perimeter="0" x="1" y="0.5"/>
+    </connections>
+    <background>
+        <path>
+            <move x="98" y="14"/>
+            <line x="98" y="98"/>
+            <line x="0" y="98"/>
+            <line x="0" y="0"/>
+            <line x="84" y="0"/>
+            <close/>
+        </path>
+    </background>
+    <foreground>
+        <fillstroke/>
+        <path>
+            <move x="84" y="0"/>
+            <arc large-arc-flag="0" rx="18" ry="10" sweep-flag="1" x="79" x-axis-rotation="0" y="9"/>
+            <line x="99" y="14.7"/>
+            <close/>
+        </path>
+        <fillstroke/>
+    </foreground>
 </shape>
-<shape name="Flash" h="95.5" w="60" aspect="variable" strokewidth="inherit">
-<connections>
-<constraint x="0.565" y="0" perimeter="0" name="N"/>
-<constraint x="0" y="0.995" perimeter="0" name="SW"/>
-</connections>
-<background>
-
-<miterlimit limit="6"/>
-<path>
-<move x="0" y="95.5"/>
-<line x="20" y="75.5"/>
-<line x="3" y="61.5"/>
-<line x="20" y="49.5"/>
-<line x="3" y="31.5"/>
-<line x="34" y="0"/>
-<line x="60" y="25.5"/>
-<line x="36" y="39.5"/>
-<line x="50" y="53.5"/>
-<line x="29" y="65.5"/>
-<line x="42" y="76.5"/>
-<close/>
-</path>
-</background>
-<foreground>
-<fillstroke/>
-</foreground>
+<shape aspect="variable" h="95.5" name="Flash" strokewidth="inherit" w="60">
+    <connections>
+        <constraint name="N" perimeter="0" x="0.565" y="0"/>
+        <constraint name="SW" perimeter="0" x="0" y="0.995"/>
+    </connections>
+    <background>
+        <path>
+            <move x="0" y="95.5"/>
+            <line x="20" y="75.5"/>
+            <line x="3" y="61.5"/>
+            <line x="20" y="49.5"/>
+            <line x="3" y="31.5"/>
+            <line x="34" y="0"/>
+            <line x="60" y="25.5"/>
+            <line x="36" y="39.5"/>
+            <line x="50" y="53.5"/>
+            <line x="29" y="65.5"/>
+            <line x="42" y="76.5"/>
+            <close/>
+        </path>
+    </background>
+    <foreground>
+        <miterlimit limit="6"/>
+        <fillstroke/>
+    </foreground>
 </shape>
-<shape name="Half Circle" h="49" w="98" aspect="variable" strokewidth="inherit">
-<connections>
-<constraint x="0.5" y="0" perimeter="0" name="N"/>
-<constraint x="0.5" y="1" perimeter="0" name="S"/>
-</connections>
-<background>
-<path>
-<move x="0" y="0"/>
-<arc rx="44.5" ry="44.5" x-axis-rotation="0" large-arc-flag="1" sweep-flag="0" x="98" y="0"/>
-<close/>
-</path>
-</background>
-<foreground>
-<fillstroke/>
-</foreground>
+<shape aspect="variable" h="49" name="Half Circle" strokewidth="inherit" w="98">
+    <connections>
+        <constraint name="N" perimeter="0" x="0.5" y="0"/>
+        <constraint name="S" perimeter="0" x="0.5" y="1"/>
+    </connections>
+    <background>
+        <path>
+            <move x="0" y="0"/>
+            <arc large-arc-flag="1" rx="44.5" ry="44.5" sweep-flag="0" x="98" x-axis-rotation="0" y="0"/>
+            <close/>
+        </path>
+    </background>
+    <foreground>
+        <fillstroke/>
+    </foreground>
 </shape>
-<shape name="Heart" h="94.74" w="103.89" aspect="variable" strokewidth="inherit">
-<connections>
-<constraint x="0.5" y="0.115" perimeter="0" name="N"/>
-<constraint x="0.5" y="1" perimeter="0" name="S"/>
-<constraint x="0.07" y="0.5" perimeter="0" name="W"/>
-<constraint x="0.93" y="0.5" perimeter="0" name="E"/>
-</connections>
-<background>
-<path>
-<move x="51.94" y="94.74"/>
-<curve x1="55.79" y1="90.78" x2="77.8" y2="68.16" x3="91.56" y3="54.03"/>
-<curve x1="103.89" y1="41.37" x2="103.62" y2="22.91" x3="92.42" y3="11.46"/>
-<curve x1="81.21" y1="0" x2="63.09" y2="0.05" x3="51.94" y3="11.56"/>
-<curve x1="40.79" y1="0.05" x2="22.67" y2="0" x3="11.47" y3="11.45"/>
-<curve x1="0.26" y1="22.9" x2="0" y2="41.36" x3="12.32" y3="54.03"/>
-<curve x1="26.08" y1="68.16" x2="48.09" y2="90.78" x3="51.94" y3="94.74"/>
-<close/>
-</path>
-</background>
-<foreground>
-<fillstroke/>
-</foreground>
+<shape aspect="variable" h="94.74" name="Heart" strokewidth="inherit" w="103.89">
+    <connections>
+        <constraint name="N" perimeter="0" x="0.5" y="0.115"/>
+        <constraint name="S" perimeter="0" x="0.5" y="1"/>
+        <constraint name="W" perimeter="0" x="0.07" y="0.5"/>
+        <constraint name="E" perimeter="0" x="0.93" y="0.5"/>
+    </connections>
+    <background>
+        <path>
+            <move x="51.94" y="94.74"/>
+            <curve x1="55.79" x2="77.8" x3="91.56" y1="90.78" y2="68.16" y3="54.03"/>
+            <curve x1="103.89" x2="103.62" x3="92.42" y1="41.37" y2="22.91" y3="11.46"/>
+            <curve x1="81.21" x2="63.09" x3="51.94" y1="0" y2="0.05" y3="11.56"/>
+            <curve x1="40.79" x2="22.67" x3="11.47" y1="0.05" y2="0" y3="11.45"/>
+            <curve x1="0.26" x2="0" x3="12.32" y1="22.9" y2="41.36" y3="54.03"/>
+            <curve x1="26.08" x2="48.09" x3="51.94" y1="68.16" y2="90.78" y3="94.74"/>
+            <close/>
+        </path>
+    </background>
+    <foreground>
+        <fillstroke/>
+    </foreground>
 </shape>
-<shape name="Loud Callout" h="59.9" w="93.3" aspect="variable" strokewidth="inherit">
-<connections>
-<constraint x="0.49" y="0" perimeter="0" name="N"/>
-<constraint x="0.52" y="0.91" perimeter="0" name="S"/>
-<constraint x="0" y="0.51" perimeter="0" name="W"/>
-<constraint x="0.99" y="0.503" perimeter="0" name="E"/>
-<constraint x="0.04" y="1" perimeter="0" name="SE"/>
-</connections>
-<background>
-
-<miterlimit limit="10"/>
-<path>
-<move x="14.9" y="43.9"/>
-<line x="9.3" y="46.7"/>
-<line x="11.1" y="40.9"/>
-<line x="6.6" y="43.9"/>
-<line x="8.3" y="39.2"/>
-<line x="2.8" y="40.8"/>
-<line x="6.6" y="36.4"/>
-<line x="0.9" y="36.2"/>
-<line x="5.8" y="32.7"/>
-<line x="0" y="30.8"/>
-<line x="5.3" y="28.2"/>
-<line x="0.3" y="25.6"/>
-<line x="5.9" y="24.19"/>
-<line x="0.8" y="19.9"/>
-<line x="6.5" y="19.8"/>
-<line x="2.8" y="15.1"/>
-<line x="8.2" y="16.1"/>
-<line x="5.9" y="11.3"/>
-<line x="11.5" y="13.2"/>
-<line x="10.2" y="8.7"/>
-<line x="15.7" y="10.6"/>
-<line x="14.9" y="6.15"/>
-<line x="19.2" y="9.3"/>
-<line x="19.8" y="4.3"/>
-<line x="23.4" y="8"/>
-<line x="23.8" y="3.4"/>
-<line x="28.5" y="6.9"/>
-<line x="30.3" y="1.3"/>
-<line x="33.3" y="6.2"/>
-<line x="34.7" y="0.6"/>
-<line x="38.2" y="6"/>
-<line x="40.6" y="0"/>
-<line x="42.8" y="5.8"/>
-<line x="45.6" y="0"/>
-<line x="47.1" y="6"/>
-<line x="51.3" y="1"/>
-<line x="50.8" y="6.3"/>
-<line x="55.4" y="0.6"/>
-<line x="55.1" y="6.6"/>
-<line x="60.5" y="1.4"/>
-<line x="61.1" y="7.1"/>
-<line x="66.1" y="2.7"/>
-<line x="66.2" y="8.7"/>
-<line x="71.9" y="4.4"/>
-<line x="70.5" y="10"/>
-<line x="77.6" y="6.2"/>
-<line x="74.9" y="11.8"/>
-<line x="83.9" y="7.8"/>
-<line x="80.1" y="13.6"/>
-<line x="88.1" y="11.9"/>
-<line x="85.2" y="17"/>
-<line x="91.2" y="16.9"/>
-<line x="87" y="20.1"/>
-<line x="93.3" y="21.2"/>
-<line x="87.9" y="24"/>
-<line x="93.2" y="25.8"/>
-<line x="86.8" y="26.8"/>
-<line x="92.4" y="30.3"/>
-<line x="86.6" y="30.8"/>
-<line x="90.9" y="34.8"/>
-<line x="84.2" y="33.5"/>
-<line x="87.8" y="38.8"/>
-<line x="82" y="36.6"/>
-<line x="84.7" y="41.7"/>
-<line x="79.2" y="40.7"/>
-<line x="79.8" y="46"/>
-<line x="76.3" y="42.9"/>
-<line x="75.6" y="48.6"/>
-<line x="72" y="44.7"/>
-<line x="71.7" y="51.2"/>
-<line x="68" y="46"/>
-<line x="66.2" y="52.1"/>
-<line x="63.7" y="46.6"/>
-<line x="61.2" y="53.7"/>
-<line x="59.7" y="47.6"/>
-<line x="56.9" y="53.8"/>
-<line x="55" y="48.1"/>
-<line x="52.8" y="53.9"/>
-<line x="50.9" y="48.1"/>
-<line x="48.4" y="54.5"/>
-<line x="47" y="48.1"/>
-<line x="44.4" y="53.7"/>
-<line x="43.2" y="47.4"/>
-<line x="40.1" y="54.2"/>
-<line x="38.8" y="47.4"/>
-<line x="36.3" y="54.7"/>
-<line x="35.6" y="47.8"/>
-<line x="32.4" y="55.1"/>
-<line x="30.9" y="46.6"/>
-<line x="28.6" y="53.3"/>
-<line x="26.8" y="47.8"/>
-<line x="3.8" y="59.9"/>
-<close/>
-</path>
-</background>
-<foreground>
-<fillstroke/>
-</foreground>
+<shape aspect="variable" h="59.9" name="Loud Callout" strokewidth="inherit" w="93.3">
+    <connections>
+        <constraint name="N" perimeter="0" x="0.49" y="0"/>
+        <constraint name="S" perimeter="0" x="0.52" y="0.91"/>
+        <constraint name="W" perimeter="0" x="0" y="0.51"/>
+        <constraint name="E" perimeter="0" x="0.99" y="0.503"/>
+        <constraint name="SE" perimeter="0" x="0.04" y="1"/>
+    </connections>
+    <background>
+        <path>
+            <move x="14.9" y="43.9"/>
+            <line x="9.3" y="46.7"/>
+            <line x="11.1" y="40.9"/>
+            <line x="6.6" y="43.9"/>
+            <line x="8.3" y="39.2"/>
+            <line x="2.8" y="40.8"/>
+            <line x="6.6" y="36.4"/>
+            <line x="0.9" y="36.2"/>
+            <line x="5.8" y="32.7"/>
+            <line x="0" y="30.8"/>
+            <line x="5.3" y="28.2"/>
+            <line x="0.3" y="25.6"/>
+            <line x="5.9" y="24.19"/>
+            <line x="0.8" y="19.9"/>
+            <line x="6.5" y="19.8"/>
+            <line x="2.8" y="15.1"/>
+            <line x="8.2" y="16.1"/>
+            <line x="5.9" y="11.3"/>
+            <line x="11.5" y="13.2"/>
+            <line x="10.2" y="8.7"/>
+            <line x="15.7" y="10.6"/>
+            <line x="14.9" y="6.15"/>
+            <line x="19.2" y="9.3"/>
+            <line x="19.8" y="4.3"/>
+            <line x="23.4" y="8"/>
+            <line x="23.8" y="3.4"/>
+            <line x="28.5" y="6.9"/>
+            <line x="30.3" y="1.3"/>
+            <line x="33.3" y="6.2"/>
+            <line x="34.7" y="0.6"/>
+            <line x="38.2" y="6"/>
+            <line x="40.6" y="0"/>
+            <line x="42.8" y="5.8"/>
+            <line x="45.6" y="0"/>
+            <line x="47.1" y="6"/>
+            <line x="51.3" y="1"/>
+            <line x="50.8" y="6.3"/>
+            <line x="55.4" y="0.6"/>
+            <line x="55.1" y="6.6"/>
+            <line x="60.5" y="1.4"/>
+            <line x="61.1" y="7.1"/>
+            <line x="66.1" y="2.7"/>
+            <line x="66.2" y="8.7"/>
+            <line x="71.9" y="4.4"/>
+            <line x="70.5" y="10"/>
+            <line x="77.6" y="6.2"/>
+            <line x="74.9" y="11.8"/>
+            <line x="83.9" y="7.8"/>
+            <line x="80.1" y="13.6"/>
+            <line x="88.1" y="11.9"/>
+            <line x="85.2" y="17"/>
+            <line x="91.2" y="16.9"/>
+            <line x="87" y="20.1"/>
+            <line x="93.3" y="21.2"/>
+            <line x="87.9" y="24"/>
+            <line x="93.2" y="25.8"/>
+            <line x="86.8" y="26.8"/>
+            <line x="92.4" y="30.3"/>
+            <line x="86.6" y="30.8"/>
+            <line x="90.9" y="34.8"/>
+            <line x="84.2" y="33.5"/>
+            <line x="87.8" y="38.8"/>
+            <line x="82" y="36.6"/>
+            <line x="84.7" y="41.7"/>
+            <line x="79.2" y="40.7"/>
+            <line x="79.8" y="46"/>
+            <line x="76.3" y="42.9"/>
+            <line x="75.6" y="48.6"/>
+            <line x="72" y="44.7"/>
+            <line x="71.7" y="51.2"/>
+            <line x="68" y="46"/>
+            <line x="66.2" y="52.1"/>
+            <line x="63.7" y="46.6"/>
+            <line x="61.2" y="53.7"/>
+            <line x="59.7" y="47.6"/>
+            <line x="56.9" y="53.8"/>
+            <line x="55" y="48.1"/>
+            <line x="52.8" y="53.9"/>
+            <line x="50.9" y="48.1"/>
+            <line x="48.4" y="54.5"/>
+            <line x="47" y="48.1"/>
+            <line x="44.4" y="53.7"/>
+            <line x="43.2" y="47.4"/>
+            <line x="40.1" y="54.2"/>
+            <line x="38.8" y="47.4"/>
+            <line x="36.3" y="54.7"/>
+            <line x="35.6" y="47.8"/>
+            <line x="32.4" y="55.1"/>
+            <line x="30.9" y="46.6"/>
+            <line x="28.6" y="53.3"/>
+            <line x="26.8" y="47.8"/>
+            <line x="3.8" y="59.9"/>
+            <close/>
+        </path>
+    </background>
+    <foreground>
+        <miterlimit limit="10"/>
+        <fillstroke/>
+    </foreground>
 </shape>
-<shape name="Moon" h="103.05" w="77.05" aspect="variable" strokewidth="inherit">
-<connections>
-<constraint x="0.48" y="0" perimeter="0" name="N"/>
-<constraint x="1" y="0.89" perimeter="0" name="SE"/>
-</connections>
-<background>
-<path>
-<move x="37.05" y="0"/>
-<arc rx="48" ry="48" x-axis-rotation="0" large-arc-flag="1" sweep-flag="0" x="77.05" y="92"/>
-<arc rx="60" ry="60" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="37.05" y="0"/>
-<close/>
-</path>
-</background>
-<foreground>
-<fillstroke/>
-</foreground>
+<shape aspect="variable" h="103.05" name="Moon" strokewidth="inherit" w="77.05">
+    <connections>
+        <constraint name="N" perimeter="0" x="0.48" y="0"/>
+        <constraint name="SE" perimeter="0" x="1" y="0.89"/>
+    </connections>
+    <background>
+        <path>
+            <move x="37.05" y="0"/>
+            <arc large-arc-flag="1" rx="48" ry="48" sweep-flag="0" x="77.05" x-axis-rotation="0" y="92"/>
+            <arc large-arc-flag="0" rx="60" ry="60" sweep-flag="1" x="37.05" x-axis-rotation="0" y="0"/>
+            <close/>
+        </path>
+    </background>
+    <foreground>
+        <fillstroke/>
+    </foreground>
 </shape>
-<shape name="No Symbol" h="100" w="100" aspect="variable" strokewidth="inherit">
-<connections>
-<constraint x="0.5" y="0" perimeter="0" name="N"/>
-<constraint x="0.5" y="1" perimeter="0" name="S"/>
-<constraint x="0" y="0.5" perimeter="0" name="W"/>
-<constraint x="1" y="0.5" perimeter="0" name="E"/>
-<constraint x="0.145" y="0.145" perimeter="0" name="NW"/>
-<constraint x="0.145" y="0.855" perimeter="0" name="SW"/>
-<constraint x="0.855" y="0.145" perimeter="0" name="NE"/>
-<constraint x="0.855" y="0.855" perimeter="0" name="SE"/>
-</connections>
-<background>
-<path>
-<move x="0" y="50"/>
-<arc rx="35" ry="35" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="100" y="50"/>
-<arc rx="35" ry="35" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="0" y="50"/>
-<close/>
-<move x="78.95" y="69.7"/>
-<arc rx="35" ry="35" x-axis-rotation="0" large-arc-flag="0" sweep-flag="0" x="30.3" y="21.05"/>
-<close/>
-<move x="21.15" y="30.3"/>
-<arc rx="35" ry="35" x-axis-rotation="0" large-arc-flag="0" sweep-flag="0" x="69.7" y="79"/>
-<close/>
-</path>
-</background>
-<foreground>
-<fillstroke/>
-</foreground>
+<shape aspect="variable" h="100" name="No Symbol" strokewidth="inherit" w="100">
+    <connections>
+        <constraint name="N" perimeter="0" x="0.5" y="0"/>
+        <constraint name="S" perimeter="0" x="0.5" y="1"/>
+        <constraint name="W" perimeter="0" x="0" y="0.5"/>
+        <constraint name="E" perimeter="0" x="1" y="0.5"/>
+        <constraint name="NW" perimeter="0" x="0.145" y="0.145"/>
+        <constraint name="SW" perimeter="0" x="0.145" y="0.855"/>
+        <constraint name="NE" perimeter="0" x="0.855" y="0.145"/>
+        <constraint name="SE" perimeter="0" x="0.855" y="0.855"/>
+    </connections>
+    <background>
+        <path>
+            <move x="0" y="50"/>
+            <arc large-arc-flag="0" rx="35" ry="35" sweep-flag="1" x="100" x-axis-rotation="0" y="50"/>
+            <arc large-arc-flag="0" rx="35" ry="35" sweep-flag="1" x="0" x-axis-rotation="0" y="50"/>
+            <close/>
+            <move x="78.95" y="69.7"/>
+            <arc large-arc-flag="0" rx="35" ry="35" sweep-flag="0" x="30.3" x-axis-rotation="0" y="21.05"/>
+            <close/>
+            <move x="21.15" y="30.3"/>
+            <arc large-arc-flag="0" rx="35" ry="35" sweep-flag="0" x="69.7" x-axis-rotation="0" y="79"/>
+            <close/>
+        </path>
+    </background>
+    <foreground>
+        <fillstroke/>
+    </foreground>
 </shape>
-<shape name="Octagon" h="98" w="98" aspect="variable" strokewidth="inherit">
-<connections>
-<constraint x="0.5" y="0" perimeter="0" name="N"/>
-<constraint x="0.5" y="1" perimeter="0" name="S"/>
-<constraint x="0" y="0.5" perimeter="0" name="W"/>
-<constraint x="1" y="0.5" perimeter="0" name="E"/>
-</connections>
-<background>
-<path>
-<move x="0" y="29"/>
-<line x="29" y="0"/>
-<line x="69" y="0"/>
-<line x="98" y="29"/>
-<line x="98" y="69"/>
-<line x="69" y="98"/>
-<line x="29" y="98"/>
-<line x="0" y="69"/>
-<close/>
-</path>
-</background>
-<foreground>
-<fillstroke/>
-</foreground>
+<shape aspect="variable" h="98" name="Octagon" strokewidth="inherit" w="98">
+    <connections>
+        <constraint name="N" perimeter="0" x="0.5" y="0"/>
+        <constraint name="S" perimeter="0" x="0.5" y="1"/>
+        <constraint name="W" perimeter="0" x="0" y="0.5"/>
+        <constraint name="E" perimeter="0" x="1" y="0.5"/>
+    </connections>
+    <background>
+        <path>
+            <move x="0" y="29"/>
+            <line x="29" y="0"/>
+            <line x="69" y="0"/>
+            <line x="98" y="29"/>
+            <line x="98" y="69"/>
+            <line x="69" y="98"/>
+            <line x="29" y="98"/>
+            <line x="0" y="69"/>
+            <close/>
+        </path>
+    </background>
+    <foreground>
+        <fillstroke/>
+    </foreground>
 </shape>
-<shape name="Orthogonal Triangle" h="97" w="97" aspect="variable" strokewidth="inherit">
-<connections>
-<constraint x="0" y="0" perimeter="0" name="NW"/>
-<constraint x="0" y="1" perimeter="0" name="SW"/>
-<constraint x="1" y="1" perimeter="0" name="SE"/>
-<constraint x="0.5" y="0.5" perimeter="0" name="center"/>
-</connections>
-<background>
-<path>
-<move x="0" y="97"/>
-<line x="0" y="0"/>
-<line x="97" y="97"/>
-<close/>
-</path>
-</background>
-<foreground>
-<fillstroke/>
-</foreground>
+<shape aspect="variable" h="97" name="Orthogonal Triangle" strokewidth="inherit" w="97">
+    <connections>
+        <constraint name="NW" perimeter="0" x="0" y="0"/>
+        <constraint name="SW" perimeter="0" x="0" y="1"/>
+        <constraint name="SE" perimeter="0" x="1" y="1"/>
+        <constraint name="center" perimeter="0" x="0.5" y="0.5"/>
+    </connections>
+    <background>
+        <path>
+            <move x="0" y="97"/>
+            <line x="0" y="0"/>
+            <line x="97" y="97"/>
+            <close/>
+        </path>
+    </background>
+    <foreground>
+        <fillstroke/>
+    </foreground>
 </shape>
-<shape name="Oval Callout" h="63.15" w="109.43" aspect="variable" strokewidth="inherit">
-<connections>
-<constraint x="0.5" y="0.045" perimeter="0" name="N"/>
-<constraint x="0.5" y="0.84" perimeter="0" name="S"/>
-<constraint x="0.045" y="0.45" perimeter="0" name="W"/>
-<constraint x="0.945" y="0.45" perimeter="0" name="E"/>
-<constraint x="0.08" y="1" perimeter="0" name="SW"/>
-</connections>
-<background>
-
-<miterlimit limit="15"/>
-<path>
-<move x="20.53" y="46.15"/>
-<arc rx="49" ry="25" x-axis-rotation="0" large-arc-flag="1" sweep-flag="1" x="31.53" y="50.15"/>
-<arc rx="30" ry="30" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="9.03" y="63.15"/>
-<arc rx="30" ry="30" x-axis-rotation="0" large-arc-flag="0" sweep-flag="0" x="20.53" y="46.15"/>
-<close/>
-</path>
-</background>
-<foreground>
-<fillstroke/>
-</foreground>
+<shape aspect="variable" h="63.15" name="Oval Callout" strokewidth="inherit" w="109.43">
+    <connections>
+        <constraint name="N" perimeter="0" x="0.5" y="0.045"/>
+        <constraint name="S" perimeter="0" x="0.5" y="0.84"/>
+        <constraint name="W" perimeter="0" x="0.045" y="0.45"/>
+        <constraint name="E" perimeter="0" x="0.945" y="0.45"/>
+        <constraint name="SW" perimeter="0" x="0.08" y="1"/>
+    </connections>
+    <background>
+        <path>
+            <move x="20.53" y="46.15"/>
+            <arc large-arc-flag="1" rx="49" ry="25" sweep-flag="1" x="31.53" x-axis-rotation="0" y="50.15"/>
+            <arc large-arc-flag="0" rx="30" ry="30" sweep-flag="1" x="9.03" x-axis-rotation="0" y="63.15"/>
+            <arc large-arc-flag="0" rx="30" ry="30" sweep-flag="0" x="20.53" x-axis-rotation="0" y="46.15"/>
+            <close/>
+        </path>
+    </background>
+    <foreground>
+        <miterlimit limit="15"/>
+        <fillstroke/>
+    </foreground>
 </shape>
-<shape name="Parallelepiped" h="60" w="97" aspect="variable" strokewidth="inherit">
-<connections>
-<constraint x="0.5" y="0" perimeter="0" name="N"/>
-<constraint x="0.5" y="1" perimeter="0" name="S"/>
-<constraint x="0.12" y="0.5" perimeter="0" name="W"/>
-<constraint x="0.88" y="0.5" perimeter="0" name="E"/>
-<constraint x="0.24" y="0" perimeter="0" name="NW"/>
-<constraint x="1" y="0" perimeter="0" name="NE"/>
-<constraint x="0.76" y="1" perimeter="0" name="SE"/>
-<constraint x="0" y="1" perimeter="0" name="SW"/>
-</connections>
-<background>
-<path>
-<move x="0" y="60"/>
-<line x="23.5" y="0"/>
-<line x="97" y="0"/>
-<line x="73.5" y="60"/>
-<close/>
-</path>
-</background>
-<foreground>
-<fillstroke/>
-</foreground>
+<shape aspect="variable" h="60" name="Parallelepiped" strokewidth="inherit" w="97">
+    <connections>
+        <constraint name="N" perimeter="0" x="0.5" y="0"/>
+        <constraint name="S" perimeter="0" x="0.5" y="1"/>
+        <constraint name="W" perimeter="0" x="0.12" y="0.5"/>
+        <constraint name="E" perimeter="0" x="0.88" y="0.5"/>
+        <constraint name="NW" perimeter="0" x="0.24" y="0"/>
+        <constraint name="NE" perimeter="0" x="1" y="0"/>
+        <constraint name="SE" perimeter="0" x="0.76" y="1"/>
+        <constraint name="SW" perimeter="0" x="0" y="1"/>
+    </connections>
+    <background>
+        <path>
+            <move x="0" y="60"/>
+            <line x="23.5" y="0"/>
+            <line x="97" y="0"/>
+            <line x="73.5" y="60"/>
+            <close/>
+        </path>
+    </background>
+    <foreground>
+        <fillstroke/>
+    </foreground>
 </shape>
-<shape name="Pentagon" h="90" w="97" aspect="variable" strokewidth="inherit">
-<connections>
-<constraint x="0.5" y="0" perimeter="0" name="N"/>
-<constraint x="0" y="0.365" perimeter="0" name="W"/>
-<constraint x="1" y="0.365" perimeter="0" name="E"/>
-<constraint x="0.81" y="1" perimeter="0" name="SE"/>
-<constraint x="0.19" y="1" perimeter="0" name="SW"/>
-</connections>
-<background>
-<path>
-<move x="18.5" y="90"/>
-<line x="0" y="33"/>
-<line x="48.5" y="0"/>
-<line x="97" y="33"/>
-<line x="78.5" y="90"/>
-<close/>
-</path>
-</background>
-<foreground>
-<fillstroke/>
-</foreground>
+<shape aspect="variable" h="90" name="Pentagon" strokewidth="inherit" w="97">
+    <connections>
+        <constraint name="N" perimeter="0" x="0.5" y="0"/>
+        <constraint name="W" perimeter="0" x="0" y="0.365"/>
+        <constraint name="E" perimeter="0" x="1" y="0.365"/>
+        <constraint name="SE" perimeter="0" x="0.81" y="1"/>
+        <constraint name="SW" perimeter="0" x="0.19" y="1"/>
+    </connections>
+    <background>
+        <path>
+            <move x="18.5" y="90"/>
+            <line x="0" y="33"/>
+            <line x="48.5" y="0"/>
+            <line x="97" y="33"/>
+            <line x="78.5" y="90"/>
+            <close/>
+        </path>
+    </background>
+    <foreground>
+        <fillstroke/>
+    </foreground>
 </shape>
 <shape aspect="variable" h="100" name="Pointed Oval" strokewidth="inherit" w="50.93">
     <connections/>
@@ -600,310 +719,310 @@
         <fillstroke/>
     </foreground>
 </shape>
-<shape name="Rectangular Callout" h="60" w="98" aspect="variable" strokewidth="inherit">
-<connections>
-<constraint x="0.5" y="0" perimeter="0" name="N"/>
-<constraint x="0.5" y="0.715" perimeter="0" name="S"/>
-<constraint x="0" y="0.355" perimeter="0" name="W"/>
-<constraint x="1" y="0.355" perimeter="0" name="E"/>
-<constraint x="0.04" y="1" perimeter="0" name="SW"/>
-</connections>
-<background>
-
-<miterlimit limit="10"/>
-<path>
-<move x="15" y="43"/>
-<line x="0" y="43"/>
-<line x="0" y="0"/>
-<line x="98" y="0"/>
-<line x="98" y="43"/>
-<line x="29" y="43"/>
-<line x="4" y="60"/>
-<close/>
-</path>
-</background>
-<foreground>
-<fillstroke/>
-</foreground>
+<shape aspect="variable" h="60" name="Rectangular Callout" strokewidth="inherit" w="98">
+    <connections>
+        <constraint name="N" perimeter="0" x="0.5" y="0"/>
+        <constraint name="S" perimeter="0" x="0.5" y="0.715"/>
+        <constraint name="W" perimeter="0" x="0" y="0.355"/>
+        <constraint name="E" perimeter="0" x="1" y="0.355"/>
+        <constraint name="SW" perimeter="0" x="0.04" y="1"/>
+    </connections>
+    <background>
+        <path>
+            <move x="15" y="43"/>
+            <line x="0" y="43"/>
+            <line x="0" y="0"/>
+            <line x="98" y="0"/>
+            <line x="98" y="43"/>
+            <line x="29" y="43"/>
+            <line x="4" y="60"/>
+            <close/>
+        </path>
+    </background>
+    <foreground>
+        <miterlimit limit="10"/>
+        <fillstroke/>
+    </foreground>
 </shape>
-<shape name="Rounded Rectangular Callout" h="60" w="98" aspect="variable" strokewidth="inherit">
-<connections>
-<constraint x="0.5" y="0" perimeter="0" name="N"/>
-<constraint x="0.5" y="0.715" perimeter="0" name="S"/>
-<constraint x="0" y="0.355" perimeter="0" name="W"/>
-<constraint x="1" y="0.355" perimeter="0" name="E"/>
-<constraint x="0.04" y="1" perimeter="0" name="SW"/>
-</connections>
-<background>
-
-<miterlimit limit="15"/>
-<path>
-<move x="15.5" y="43"/>
-<line x="5" y="43"/>
-<arc rx="5" ry="5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="0" y="38"/>
-<line x="0" y="5"/>
-<arc rx="5" ry="5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="5" y="0"/>
-<line x="93" y="0"/>
-<arc rx="5" ry="5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="98" y="5"/>
-<line x="98" y="38"/>
-<arc rx="5" ry="5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="93" y="43"/>
-<line x="29" y="43"/>
-<arc rx="30" ry="30" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="4" y="60"/>
-<arc rx="30" ry="30" x-axis-rotation="0" large-arc-flag="0" sweep-flag="0" x="15.5" y="43"/>
-<close/>
-</path>
-</background>
-<foreground>
-<fillstroke/>
-</foreground>
+<shape aspect="variable" h="60" name="Rounded Rectangular Callout" strokewidth="inherit" w="98">
+    <connections>
+        <constraint name="N" perimeter="0" x="0.5" y="0"/>
+        <constraint name="S" perimeter="0" x="0.5" y="0.715"/>
+        <constraint name="W" perimeter="0" x="0" y="0.355"/>
+        <constraint name="E" perimeter="0" x="1" y="0.355"/>
+        <constraint name="SW" perimeter="0" x="0.04" y="1"/>
+    </connections>
+    <background>
+        <path>
+            <move x="15.5" y="43"/>
+            <line x="5" y="43"/>
+            <arc large-arc-flag="0" rx="5" ry="5" sweep-flag="1" x="0" x-axis-rotation="0" y="38"/>
+            <line x="0" y="5"/>
+            <arc large-arc-flag="0" rx="5" ry="5" sweep-flag="1" x="5" x-axis-rotation="0" y="0"/>
+            <line x="93" y="0"/>
+            <arc large-arc-flag="0" rx="5" ry="5" sweep-flag="1" x="98" x-axis-rotation="0" y="5"/>
+            <line x="98" y="38"/>
+            <arc large-arc-flag="0" rx="5" ry="5" sweep-flag="1" x="93" x-axis-rotation="0" y="43"/>
+            <line x="29" y="43"/>
+            <arc large-arc-flag="0" rx="30" ry="30" sweep-flag="1" x="4" x-axis-rotation="0" y="60"/>
+            <arc large-arc-flag="0" rx="30" ry="30" sweep-flag="0" x="15.5" x-axis-rotation="0" y="43"/>
+            <close/>
+        </path>
+    </background>
+    <foreground>
+        <miterlimit limit="15"/>
+        <fillstroke/>
+    </foreground>
 </shape>
-<shape name="Smiley" h="98" w="98" aspect="variable" strokewidth="inherit">
-<connections>
-<constraint x="0.5" y="0" perimeter="0" name="N"/>
-<constraint x="0.5" y="1" perimeter="0" name="S"/>
-<constraint x="0" y="0.5" perimeter="0" name="W"/>
-<constraint x="1" y="0.5" perimeter="0" name="E"/>
-<constraint x="0.145" y="0.145" perimeter="0" name="NW"/>
-<constraint x="0.145" y="0.855" perimeter="0" name="SW"/>
-<constraint x="0.855" y="0.145" perimeter="0" name="NE"/>
-<constraint x="0.855" y="0.855" perimeter="0" name="SE"/>
-</connections>
-<background>
-<ellipse x="0" y="0" w="98" h="98"/>
-</background>
-<foreground>
-<fillstroke/>
-<save/>
-<path>
-<move x="11" y="54"/>
-<arc rx="38" ry="27" x-axis-rotation="0" large-arc-flag="1" sweep-flag="0" x="87" y="54"/>
-</path>
-<stroke/>
-<restore/>
-<strokewidth width="1"/>
-<path>
-<move x="16" y="51"/>
-<line x="6" y="57"/>
-</path>
-<stroke/>
-<path>
-<move x="82" y="51"/>
-<line x="92" y="57"/>
-</path>
-<stroke/>
-<strokewidth width="6"/>
-<ellipse x="24" y="27" w="6" h="16"/>
-<fillstroke/>
-<ellipse x="68" y="27" w="6" h="16"/>
-<fillstroke/>
-</foreground>
+<shape aspect="variable" h="98" name="Smiley" strokewidth="inherit" w="98">
+    <connections>
+        <constraint name="N" perimeter="0" x="0.5" y="0"/>
+        <constraint name="S" perimeter="0" x="0.5" y="1"/>
+        <constraint name="W" perimeter="0" x="0" y="0.5"/>
+        <constraint name="E" perimeter="0" x="1" y="0.5"/>
+        <constraint name="NW" perimeter="0" x="0.145" y="0.145"/>
+        <constraint name="SW" perimeter="0" x="0.145" y="0.855"/>
+        <constraint name="NE" perimeter="0" x="0.855" y="0.145"/>
+        <constraint name="SE" perimeter="0" x="0.855" y="0.855"/>
+    </connections>
+    <background>
+        <save/>
+        <ellipse h="98" w="98" x="0" y="0"/>
+    </background>
+    <foreground>
+        <fillstroke/>
+        <strokewidth width="2"/>
+        <path>
+            <move x="11" y="54"/>
+            <arc large-arc-flag="1" rx="38" ry="27" sweep-flag="0" x="87" x-axis-rotation="0" y="54"/>
+        </path>
+        <stroke/>
+        <restore/>
+        <rect/>
+        <stroke/>
+        <path>
+            <move x="16" y="51"/>
+            <line x="6" y="57"/>
+        </path>
+        <fillstroke/>
+        <path>
+            <move x="82" y="51"/>
+            <line x="92" y="57"/>
+        </path>
+        <fillstroke/>
+        <strokewidth width="6"/>
+        <ellipse h="16" w="6" x="24" y="27"/>
+        <fillstroke/>
+        <ellipse h="16" w="6" x="68" y="27"/>
+        <fillstroke/>
+    </foreground>
 </shape>
-<shape name="Star" h="90" w="95" aspect="variable" strokewidth="inherit">
-<connections>
-<constraint x="0.5" y="0" perimeter="0" name="N"/>
-<constraint x="0.5" y="0.76" perimeter="0" name="S"/>
-<constraint x="0" y="0.367" perimeter="0" name="W"/>
-<constraint x="1" y="0.367" perimeter="0" name="E"/>
-<constraint x="0.185" y="1" perimeter="0" name="SW"/>
-<constraint x="0.815" y="1" perimeter="0" name="SE"/>
-</connections>
-<background>
-<path>
-<move x="0" y="33"/>
-<line x="36.4" y="33"/>
-<line x="47.5" y="0"/>
-<line x="58.6" y="33"/>
-<line x="95" y="33"/>
-<line x="66" y="55.1"/>
-<line x="77.5" y="90"/>
-<line x="47.5" y="68.4"/>
-<line x="17.5" y="90"/>
-<line x="29" y="55.1"/>
-<close/>
-</path>
-</background>
-<foreground>
-<fillstroke/>
-</foreground>
+<shape aspect="variable" h="90" name="Star" strokewidth="inherit" w="95">
+    <connections>
+        <constraint name="N" perimeter="0" x="0.5" y="0"/>
+        <constraint name="S" perimeter="0" x="0.5" y="0.76"/>
+        <constraint name="W" perimeter="0" x="0" y="0.367"/>
+        <constraint name="E" perimeter="0" x="1" y="0.367"/>
+        <constraint name="SW" perimeter="0" x="0.185" y="1"/>
+        <constraint name="SE" perimeter="0" x="0.815" y="1"/>
+    </connections>
+    <background>
+        <path>
+            <move x="0" y="33"/>
+            <line x="36.4" y="33"/>
+            <line x="47.5" y="0"/>
+            <line x="58.6" y="33"/>
+            <line x="95" y="33"/>
+            <line x="66" y="55.1"/>
+            <line x="77.5" y="90"/>
+            <line x="47.5" y="68.4"/>
+            <line x="17.5" y="90"/>
+            <line x="29" y="55.1"/>
+            <close/>
+        </path>
+    </background>
+    <foreground>
+        <fillstroke/>
+    </foreground>
 </shape>
-<shape name="Sun" h="95" w="95" aspect="variable" strokewidth="inherit">
-<connections>
-<constraint x="0.5" y="0" perimeter="0" name="N"/>
-<constraint x="0.5" y="1" perimeter="0" name="S"/>
-<constraint x="0" y="0.5" perimeter="0" name="W"/>
-<constraint x="1" y="0.5" perimeter="0" name="E"/>
-<constraint x="0.145" y="0.145" perimeter="0" name="NW"/>
-<constraint x="0.145" y="0.855" perimeter="0" name="SW"/>
-<constraint x="0.855" y="0.145" perimeter="0" name="NE"/>
-<constraint x="0.855" y="0.855" perimeter="0" name="SE"/>
-</connections>
-<background>
-<ellipse x="17.5" y="17.5" w="60" h="60"/>
-</background>
-<foreground>
-<fillstroke/>
-<path>
-<move x="42.5" y="14.5"/>
-<line x="47.5" y="0"/>
-<line x="52.5" y="14.5"/>
-<close/>
-</path>
-<fillstroke/>
-<path>
-<move x="42.5" y="80.5"/>
-<line x="47.5" y="95"/>
-<line x="52.5" y="80.5"/>
-<close/>
-</path>
-<fillstroke/>
-<path>
-<move x="14.5" y="42.5"/>
-<line x="0" y="47.5"/>
-<line x="14.5" y="52.5"/>
-<close/>
-</path>
-<fillstroke/>
-<path>
-<move x="80.5" y="42.5"/>
-<line x="95" y="47.5"/>
-<line x="80.5" y="52.5"/>
-<close/>
-</path>
-<fillstroke/>
-<path>
-<move x="67.5" y="20.5"/>
-<line x="81.2" y="13.9"/>
-<line x="74.5" y="27.5"/>
-<close/>
-</path>
-<fillstroke/>
-<path>
-<move x="67.5" y="74.5"/>
-<line x="81.2" y="81.1"/>
-<line x="74.5" y="67.5"/>
-<close/>
-</path>
-<fillstroke/>
-<path>
-<move x="27.5" y="20.5"/>
-<line x="13.8" y="13.9"/>
-<line x="20.5" y="27.5"/>
-<close/>
-</path>
-<fillstroke/>
-<path>
-<move x="27.5" y="74.5"/>
-<line x="13.8" y="81.1"/>
-<line x="20.5" y="67.5"/>
-<close/>
-</path>
-<fillstroke/>
-</foreground>
+<shape aspect="variable" h="95" name="Sun" strokewidth="inherit" w="95">
+    <connections>
+        <constraint name="N" perimeter="0" x="0.5" y="0"/>
+        <constraint name="S" perimeter="0" x="0.5" y="1"/>
+        <constraint name="W" perimeter="0" x="0" y="0.5"/>
+        <constraint name="E" perimeter="0" x="1" y="0.5"/>
+        <constraint name="NW" perimeter="0" x="0.145" y="0.145"/>
+        <constraint name="SW" perimeter="0" x="0.145" y="0.855"/>
+        <constraint name="NE" perimeter="0" x="0.855" y="0.145"/>
+        <constraint name="SE" perimeter="0" x="0.855" y="0.855"/>
+    </connections>
+    <background>
+        <ellipse h="60" w="60" x="17.5" y="17.5"/>
+    </background>
+    <foreground>
+        <fillstroke/>
+        <path>
+            <move x="42.5" y="14.5"/>
+            <line x="47.5" y="0"/>
+            <line x="52.5" y="14.5"/>
+            <close/>
+        </path>
+        <fillstroke/>
+        <path>
+            <move x="42.5" y="80.5"/>
+            <line x="47.5" y="95"/>
+            <line x="52.5" y="80.5"/>
+            <close/>
+        </path>
+        <fillstroke/>
+        <path>
+            <move x="14.5" y="42.5"/>
+            <line x="0" y="47.5"/>
+            <line x="14.5" y="52.5"/>
+            <close/>
+        </path>
+        <fillstroke/>
+        <path>
+            <move x="80.5" y="42.5"/>
+            <line x="95" y="47.5"/>
+            <line x="80.5" y="52.5"/>
+            <close/>
+        </path>
+        <fillstroke/>
+        <path>
+            <move x="67.5" y="20.5"/>
+            <line x="81.2" y="13.9"/>
+            <line x="74.5" y="27.5"/>
+            <close/>
+        </path>
+        <fillstroke/>
+        <path>
+            <move x="67.5" y="74.5"/>
+            <line x="81.2" y="81.1"/>
+            <line x="74.5" y="67.5"/>
+            <close/>
+        </path>
+        <fillstroke/>
+        <path>
+            <move x="27.5" y="20.5"/>
+            <line x="13.8" y="13.9"/>
+            <line x="20.5" y="27.5"/>
+            <close/>
+        </path>
+        <fillstroke/>
+        <path>
+            <move x="27.5" y="74.5"/>
+            <line x="13.8" y="81.1"/>
+            <line x="20.5" y="67.5"/>
+            <close/>
+        </path>
+        <fillstroke/>
+    </foreground>
 </shape>
-<shape name="Tick" h="97.54" w="84.4" aspect="variable" strokewidth="inherit">
-<connections>
-<constraint x="0.9" y="0.01" perimeter="0" name="N"/>
-<constraint x="0.32" y="0.992" perimeter="0" name="S"/>
-<constraint x="0" y="0.7" perimeter="0" name="W"/>
-<constraint x="1" y="0.06" perimeter="0" name="E"/>
-</connections>
-<background>
-<path>
-<move x="0.36" y="66.69"/>
-<arc rx="12" ry="12" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="16.36" y="58.69"/>
-<arc rx="20" ry="20" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="26.36" y="69.69"/>
-<arc rx="200" ry="200" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="63.36" y="5.69"/>
-<arc rx="18" ry="18" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="80.36" y="1.69"/>
-<arc rx="4.5" ry="4.5" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="83.36" y="8.69"/>
-<arc rx="230" ry="230" x-axis-rotation="0" large-arc-flag="0" sweep-flag="0" x="35.36" y="94.69"/>
-<arc rx="20" ry="20" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="17.36" y="94.69"/>
-<arc rx="100" ry="100" x-axis-rotation="0" large-arc-flag="0" sweep-flag="0" x="0.36" y="68.69"/>
-<arc rx="2" ry="2" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="0.36" y="66.69"/>
-<close/>
-</path>
-</background>
-<foreground>
-<fillstroke/>
-</foreground>
+<shape aspect="variable" h="97.54" name="Tick" strokewidth="inherit" w="84.4">
+    <connections>
+        <constraint name="N" perimeter="0" x="0.9" y="0.01"/>
+        <constraint name="S" perimeter="0" x="0.32" y="0.992"/>
+        <constraint name="W" perimeter="0" x="0" y="0.7"/>
+        <constraint name="E" perimeter="0" x="1" y="0.06"/>
+    </connections>
+    <background>
+        <path>
+            <move x="0.36" y="66.69"/>
+            <arc large-arc-flag="0" rx="12" ry="12" sweep-flag="1" x="16.36" x-axis-rotation="0" y="58.69"/>
+            <arc large-arc-flag="0" rx="20" ry="20" sweep-flag="1" x="26.36" x-axis-rotation="0" y="69.69"/>
+            <arc large-arc-flag="0" rx="200" ry="200" sweep-flag="1" x="63.36" x-axis-rotation="0" y="5.69"/>
+            <arc large-arc-flag="0" rx="18" ry="18" sweep-flag="1" x="80.36" x-axis-rotation="0" y="1.69"/>
+            <arc large-arc-flag="0" rx="4.5" ry="4.5" sweep-flag="1" x="83.36" x-axis-rotation="0" y="8.69"/>
+            <arc large-arc-flag="0" rx="230" ry="230" sweep-flag="0" x="35.36" x-axis-rotation="0" y="94.69"/>
+            <arc large-arc-flag="0" rx="20" ry="20" sweep-flag="1" x="17.36" x-axis-rotation="0" y="94.69"/>
+            <arc large-arc-flag="0" rx="100" ry="100" sweep-flag="0" x="0.36" x-axis-rotation="0" y="68.69"/>
+            <arc large-arc-flag="0" rx="2" ry="2" sweep-flag="1" x="0.36" x-axis-rotation="0" y="66.69"/>
+            <close/>
+        </path>
+    </background>
+    <foreground>
+        <fillstroke/>
+    </foreground>
 </shape>
-<shape name="Trapezoid" h="98" w="97" aspect="variable" strokewidth="inherit">
-<connections>
-<constraint x="0.5" y="0" perimeter="0" name="N"/>
-<constraint x="0.5" y="1" perimeter="0" name="S"/>
-<constraint x="0.12" y="0.5" perimeter="0" name="W"/>
-<constraint x="0.88" y="0.5" perimeter="0" name="E"/>
-<constraint x="0.24" y="0" perimeter="0" name="NW"/>
-<constraint x="0" y="1" perimeter="0" name="SW"/>
-<constraint x="0.76" y="0" perimeter="0" name="NE"/>
-<constraint x="1" y="1" perimeter="0" name="SE"/>
-</connections>
-<background>
-<path>
-<move x="0" y="98"/>
-<line x="23.5" y="0"/>
-<line x="73.5" y="0"/>
-<line x="97" y="98"/>
-<close/>
-</path>
-</background>
-<foreground>
-<fillstroke/>
-</foreground>
+<shape aspect="variable" h="98" name="Trapezoid" strokewidth="inherit" w="97">
+    <connections>
+        <constraint name="N" perimeter="0" x="0.5" y="0"/>
+        <constraint name="S" perimeter="0" x="0.5" y="1"/>
+        <constraint name="W" perimeter="0" x="0.12" y="0.5"/>
+        <constraint name="E" perimeter="0" x="0.88" y="0.5"/>
+        <constraint name="NW" perimeter="0" x="0.24" y="0"/>
+        <constraint name="SW" perimeter="0" x="0" y="1"/>
+        <constraint name="NE" perimeter="0" x="0.76" y="0"/>
+        <constraint name="SE" perimeter="0" x="1" y="1"/>
+    </connections>
+    <background>
+        <path>
+            <move x="0" y="98"/>
+            <line x="23.5" y="0"/>
+            <line x="73.5" y="0"/>
+            <line x="97" y="98"/>
+            <close/>
+        </path>
+    </background>
+    <foreground>
+        <fillstroke/>
+    </foreground>
 </shape>
-<shape name="Wave" h="56.7" w="98" aspect="variable" strokewidth="inherit">
-<connections>
-<constraint x="0.5" y="0.295" perimeter="0" name="N"/>
-<constraint x="0.5" y="1" perimeter="0" name="S"/>
-<constraint x="0" y="0.5" perimeter="0" name="W"/>
-<constraint x="1" y="0.5" perimeter="0" name="E"/>
-</connections>
-<background>
-<path>
-<move x="0" y="8.7"/>
-<arc rx="20" ry="20" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="33" y="8.7"/>
-<arc rx="20" ry="20" x-axis-rotation="0" large-arc-flag="0" sweep-flag="0" x="65" y="8.7"/>
-<arc rx="20" ry="20" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="98" y="8.7"/>
-<line x="98" y="48.7"/>
-<arc rx="20" ry="20" x-axis-rotation="0" large-arc-flag="0" sweep-flag="0" x="65" y="48.7"/>
-<arc rx="20" ry="20" x-axis-rotation="0" large-arc-flag="0" sweep-flag="1" x="33" y="48.7"/>
-<arc rx="20" ry="20" x-axis-rotation="0" large-arc-flag="0" sweep-flag="0" x="0" y="48.7"/>
-<close/>
-</path>
-</background>
-<foreground>
-<fillstroke/>
-</foreground>
+<shape aspect="variable" h="56.7" name="Wave" strokewidth="inherit" w="98">
+    <connections>
+        <constraint name="N" perimeter="0" x="0.5" y="0.295"/>
+        <constraint name="S" perimeter="0" x="0.5" y="1"/>
+        <constraint name="W" perimeter="0" x="0" y="0.5"/>
+        <constraint name="E" perimeter="0" x="1" y="0.5"/>
+    </connections>
+    <background>
+        <path>
+            <move x="0" y="8.7"/>
+            <arc large-arc-flag="0" rx="20" ry="20" sweep-flag="1" x="33" x-axis-rotation="0" y="8.7"/>
+            <arc large-arc-flag="0" rx="20" ry="20" sweep-flag="0" x="65" x-axis-rotation="0" y="8.7"/>
+            <arc large-arc-flag="0" rx="20" ry="20" sweep-flag="1" x="98" x-axis-rotation="0" y="8.7"/>
+            <line x="98" y="48.7"/>
+            <arc large-arc-flag="0" rx="20" ry="20" sweep-flag="0" x="65" x-axis-rotation="0" y="48.7"/>
+            <arc large-arc-flag="0" rx="20" ry="20" sweep-flag="1" x="33" x-axis-rotation="0" y="48.7"/>
+            <arc large-arc-flag="0" rx="20" ry="20" sweep-flag="0" x="0" x-axis-rotation="0" y="48.7"/>
+            <close/>
+        </path>
+    </background>
+    <foreground>
+        <fillstroke/>
+    </foreground>
 </shape>
-<shape name="X" h="98" w="96" aspect="variable" strokewidth="inherit">
-<connections>
-<constraint x="0.5" y="0.29" perimeter="0" name="N"/>
-<constraint x="0.5" y="0.71" perimeter="0" name="S"/>
-<constraint x="0.33" y="0.5" perimeter="0" name="W"/>
-<constraint x="0.65" y="0.5" perimeter="0" name="E"/>
-<constraint x="0" y="0" perimeter="0" name="NW"/>
-<constraint x="0" y="1" perimeter="0" name="SW"/>
-<constraint x="1" y="0" perimeter="0" name="NE"/>
-<constraint x="1" y="1" perimeter="0" name="SE"/>
-</connections>
-<background>
-<path>
-<move x="0" y="0"/>
-<line x="28" y="0"/>
-<line x="48" y="29"/>
-<line x="68" y="0"/>
-<line x="96" y="0"/>
-<line x="62" y="49"/>
-<line x="96" y="98"/>
-<line x="68" y="98"/>
-<line x="48" y="69"/>
-<line x="28" y="98"/>
-<line x="0" y="98"/>
-<line x="32" y="49"/>
-<close/>
-</path>
-</background>
-<foreground>
-<fillstroke/>
-</foreground>
+<shape aspect="variable" h="98" name="X" strokewidth="inherit" w="96">
+    <connections>
+        <constraint name="N" perimeter="0" x="0.5" y="0.29"/>
+        <constraint name="S" perimeter="0" x="0.5" y="0.71"/>
+        <constraint name="W" perimeter="0" x="0.33" y="0.5"/>
+        <constraint name="E" perimeter="0" x="0.65" y="0.5"/>
+        <constraint name="NW" perimeter="0" x="0" y="0"/>
+        <constraint name="SW" perimeter="0" x="0" y="1"/>
+        <constraint name="NE" perimeter="0" x="1" y="0"/>
+        <constraint name="SE" perimeter="0" x="1" y="1"/>
+    </connections>
+    <background>
+        <path>
+            <move x="0" y="0"/>
+            <line x="28" y="0"/>
+            <line x="48" y="29"/>
+            <line x="68" y="0"/>
+            <line x="96" y="0"/>
+            <line x="62" y="49"/>
+            <line x="96" y="98"/>
+            <line x="68" y="98"/>
+            <line x="48" y="69"/>
+            <line x="28" y="98"/>
+            <line x="0" y="98"/>
+            <line x="32" y="49"/>
+            <close/>
+        </path>
+    </background>
+    <foreground>
+        <fillstroke/>
+    </foreground>
 </shape>
 </shapes>
\ No newline at end of file
diff --git a/src/main/webapp/stencils/ibm.xml b/src/main/webapp/stencils/ibm.xml
new file mode 100644
index 0000000000000000000000000000000000000000..744e8efffed678be80a179b167c4ffcbab147807
--- /dev/null
+++ b/src/main/webapp/stencils/ibm.xml
@@ -0,0 +1,578 @@
+<shapes name="mxgraph.ibm">
+<shape aspect="variable" h="64" name="ClassicTag" strokewidth="inherit" w="64">
+    <connections/>
+    <foreground>
+        <rect h="64" w="64" x="0" y="0"/>
+        <fill/>
+        <fillcolor color="#ffffff"/>
+        <path>
+            <move x="33.73" y="11.71"/>
+            <curve x1="34.23" x2="34.73" x3="35.23" y1="11.71" y2="11.81" y3="11.81"/>
+            <curve x1="37.33" x2="39.23" x3="41.13" y1="12.01" y2="12.51" y3="13.41"/>
+            <curve x1="47.03" x2="50.83" x3="52.53" y1="16.21" y2="20.71" y3="27.01"/>
+            <curve x1="53.23" x2="53.33" x3="52.93" y1="29.61" y2="32.21" y3="34.91"/>
+            <curve x1="52.03" x2="49.33" x3="44.73" y1="40.61" y2="45.11" y3="48.51"/>
+            <curve x1="42.03" x2="38.93" x3="35.53" y1="50.51" y2="51.71" y3="52.11"/>
+            <curve x1="31.83" x2="28.23" x3="24.83" y1="52.61" y2="52.11" y3="50.61"/>
+            <curve x1="24.73" x2="24.73" x3="24.63" y1="50.61" y2="50.51" y3="50.51"/>
+            <curve x1="25.23" x2="25.73" x3="26.33" y1="49.41" y2="48.31" y3="47.21"/>
+            <curve x1="31.03" x2="35.63" x3="40.13" y1="49.11" y2="49.11" y3="46.91"/>
+            <curve x1="43.73" x2="46.33" x3="48.03" y1="45.21" y2="42.41" y3="38.81"/>
+            <curve x1="51.23" x2="48.93" x3="42.43" y1="31.51" y2="23.01" y3="18.51"/>
+            <curve x1="35.93" x2="27.03" x3="21.43" y1="14.01" y2="14.71" y3="20.21"/>
+            <curve x1="15.63" x2="15.33" x3="18.23" y1="25.81" y2="34.01" y3="39.51"/>
+            <curve x1="19.63" x2="21.03" x3="22.43" y1="38.21" y2="37.01" y3="35.71"/>
+            <curve x1="22.43" x2="22.43" x3="22.43" y1="39.31" y2="42.81" y3="46.31"/>
+            <curve x1="18.63" x2="14.73" x3="10.83" y1="46.31" y2="46.31" y3="46.31"/>
+            <curve x1="12.33" x2="13.83" x3="15.33" y1="44.91" y2="43.51" y3="42.21"/>
+            <curve x1="15.13" x2="14.83" x3="14.63" y1="41.71" y2="41.31" y3="40.81"/>
+            <curve x1="13.73" x2="13.13" x3="12.83" y1="38.91" y2="36.91" y3="34.81"/>
+            <curve x1="11.53" x2="17.03" x3="25.93" y1="25.21" y2="16.21" y3="12.91"/>
+            <curve x1="27.83" x2="29.73" x3="31.73" y1="12.21" y2="11.81" y3="11.71"/>
+            <curve x1="31.83" x2="31.93" x3="32.03" y1="11.71" y2="11.71" y3="11.71"/>
+            <curve x1="32.63" x2="33.13" x3="33.73" y1="11.71" y2="11.71" y3="11.71"/>
+            <close/>
+        </path>
+        <fill/>
+    </foreground>
+</shape>
+<shape aspect="variable" h="64" name="CloudTag" strokewidth="inherit" w="64">
+    <connections/>
+    <foreground>
+        <rect h="64" w="64" x="0" y="0"/>
+        <fill/>
+        <fillcolor color="#ffffff"/>
+        <path>
+            <move x="32.03" y="9"/>
+            <arc large-arc-flag="0" rx="0.94" ry="0.94" sweep-flag="0" x="31.1" x-axis-rotation="0" y="9.96"/>
+            <line x="31.08" y="15.44"/>
+            <arc large-arc-flag="1" rx="0.95" ry="0.95" sweep-flag="0" x="32.97" x-axis-rotation="0" y="15.45"/>
+            <line x="32.99" y="9.97"/>
+            <arc large-arc-flag="0" rx="0.94" ry="0.94" sweep-flag="0" x="32.03" x-axis-rotation="0" y="9.01"/>
+            <close/>
+            <move x="45.71" y="12.71"/>
+            <arc large-arc-flag="0" rx="0.94" ry="0.94" sweep-flag="0" x="44.88" x-axis-rotation="0" y="13.2"/>
+            <line x="42.17" y="17.95"/>
+            <arc large-arc-flag="1" rx="0.94" ry="0.94" sweep-flag="0" x="43.81" x-axis-rotation="0" y="18.89"/>
+            <line x="46.52" y="14.13"/>
+            <arc large-arc-flag="0" rx="0.94" ry="0.94" sweep-flag="0" x="45.71" x-axis-rotation="0" y="12.71"/>
+            <close/>
+            <move x="18.23" y="12.73"/>
+            <arc large-arc-flag="0" rx="0.94" ry="0.94" sweep-flag="0" x="17.47" x-axis-rotation="0" y="14.17"/>
+            <line x="20.25" y="18.88"/>
+            <arc large-arc-flag="1" rx="0.95" ry="0.95" sweep-flag="0" x="21.88" x-axis-rotation="0" y="17.93"/>
+            <line x="19.1" y="13.21"/>
+            <arc large-arc-flag="0" rx="0.94" ry="0.94" sweep-flag="0" x="18.23" x-axis-rotation="0" y="12.73"/>
+            <close/>
+            <move x="32.01" y="19.75"/>
+            <curve x1="31.31" x2="30.6" x3="29.87" y1="19.75" y2="19.79" y3="19.88"/>
+            <curve x1="27.92" x2="25.86" x3="23.73" y1="20.13" y2="20.75" y3="21.87"/>
+            <line x="23.72" y="21.88"/>
+            <line x="23.7" y="21.89"/>
+            <curve x1="15.34" x2="13.7" x3="14.77" y1="26.58" y2="34.86" y3="40.82"/>
+            <line x="16.62" y="40.48"/>
+            <curve x1="15.67" x2="16.99" x3="24.61" y1="35.15" y2="27.83" y3="23.54"/>
+            <curve x1="32.39" x2="38.77" x3="42.19" y1="19.47" y2="22.69" y3="25.46"/>
+            <line x="43.38" y="24"/>
+            <curve x1="40.9" x2="36.89" x3="32.01" y1="21.98" y2="19.77" y3="19.75"/>
+            <close/>
+            <move x="55.83" y="22.71"/>
+            <arc large-arc-flag="0" rx="0.94" ry="0.94" sweep-flag="0" x="55.32" x-axis-rotation="0" y="22.84"/>
+            <line x="50.58" y="25.58"/>
+            <arc large-arc-flag="1" rx="0.95" ry="0.95" sweep-flag="0" x="51.52" x-axis-rotation="0" y="27.22"/>
+            <line x="56.26" y="24.47"/>
+            <arc large-arc-flag="0" rx="0.94" ry="0.94" sweep-flag="0" x="55.83" x-axis-rotation="0" y="22.71"/>
+            <close/>
+            <move x="8.17" y="22.82"/>
+            <arc large-arc-flag="0" rx="0.94" ry="0.94" sweep-flag="0" x="7.77" x-axis-rotation="0" y="24.59"/>
+            <line x="12.5" y="27.34"/>
+            <arc large-arc-flag="1" rx="0.95" ry="0.95" sweep-flag="0" x="13.45" x-axis-rotation="0" y="25.71"/>
+            <line x="8.72" y="22.96"/>
+            <arc large-arc-flag="0" rx="0.94" ry="0.94" sweep-flag="0" x="8.17" x-axis-rotation="0" y="22.82"/>
+            <close/>
+            <move x="44.8" y="28.15"/>
+            <curve x1="41.97" x2="39.48" x3="37.1" y1="28.15" y2="28.88" y3="30.32"/>
+            <line x="38.08" y="31.94"/>
+            <curve x1="40.21" x2="42.29" x3="44.8" y1="30.65" y2="30.04" y3="30.04"/>
+            <curve x1="50.9" x2="56.07" x3="56.07" y1="30.04" y2="35.17" y3="41.65"/>
+            <curve x1="56.07" x2="50.91" x3="44.28" y1="47.73" y2="53.11" y3="53.11"/>
+            <line x="16.84" y="53.06"/>
+            <curve x1="14.92" x2="12.64" x3="10.89" y1="53.06" y2="52.12" y3="50.51"/>
+            <curve x1="9.15" x2="7.94" x3="7.94" y1="48.9" y2="46.68" y3="44.11"/>
+            <line x="7.94" y="44.09"/>
+            <line x="7.94" y="44.07"/>
+            <curve x1="7.86" x2="9.02" x3="11.2" y1="41.59" y2="38.44" y3="36.44"/>
+            <line x="9.92" y="35.05"/>
+            <curve x1="7.28" x2="5.95" x3="6.05" y1="37.47" y2="41.04" y3="44.13"/>
+            <curve x1="6.06" x2="7.55" x3="9.61" y1="47.29" y2="50" y3="51.9"/>
+            <curve x1="11.68" x2="14.32" x3="16.84" y1="53.81" y2="54.95" y3="54.95"/>
+            <line x="44.28" y="55"/>
+            <curve x1="51.93" x2="57.96" x3="57.96" y1="55" y2="48.8" y3="41.65"/>
+            <curve x1="57.96" x2="51.95" x3="44.8" y1="34.16" y2="28.15" y3="28.15"/>
+            <close/>
+        </path>
+        <fill/>
+    </foreground>
+</shape>
+<shape aspect="variable" h="64" name="EnterpriseTag" strokewidth="inherit" w="64">
+    <connections/>
+    <foreground>
+        <rect h="64" w="64" x="0" y="0"/>
+        <fill/>
+        <fillcolor color="#ffffff"/>
+        <path>
+            <move x="21.8" y="7"/>
+            <line x="21.8" y="18.2"/>
+            <curve x1="21.6" x2="21.4" x3="21.3" y1="18.3" y2="18.3" y3="18.3"/>
+            <line x="4.3" y="18.3"/>
+            <line x="4.1" y="18.3"/>
+            <line x="4.1" y="56.9"/>
+            <line x="12.8" y="56.9"/>
+            <line x="21.2" y="56.9"/>
+            <curve x1="21.4" x2="21.6" x3="21.8" y1="56.9" y2="57" y3="57"/>
+            <line x="59.9" y="57"/>
+            <curve x1="59.9" x2="59.9" x3="59.8" y1="47.2" y2="37.4" y3="27.4"/>
+            <line x="45.1" y="27.4"/>
+            <line x="45.1" y="7"/>
+            <close/>
+            <move x="23.5" y="8.7"/>
+            <line x="43.5" y="8.7"/>
+            <line x="43.5" y="29.1"/>
+            <line x="58.2" y="29.1"/>
+            <line x="58.2" y="55.3"/>
+            <line x="37.5" y="55.3"/>
+            <line x="37.5" y="38.9"/>
+            <line x="30.4" y="38.9"/>
+            <line x="30.4" y="55.3"/>
+            <line x="23.5" y="55.3"/>
+            <close/>
+            <move x="32.1" y="12.6"/>
+            <line x="32.1" y="20.1"/>
+            <line x="35.4" y="20.1"/>
+            <line x="35.4" y="12.6"/>
+            <close/>
+            <move x="38.4" y="12.6"/>
+            <line x="38.4" y="20.1"/>
+            <line x="41.7" y="20.1"/>
+            <line x="41.7" y="12.6"/>
+            <close/>
+            <move x="25.5" y="12.7"/>
+            <line x="25.5" y="20.2"/>
+            <line x="28.9" y="20.2"/>
+            <line x="28.9" y="12.7"/>
+            <close/>
+            <move x="5.9" y="20"/>
+            <line x="21.8" y="20"/>
+            <curve x1="21.8" x2="21.8" x3="21.9" y1="31.8" y2="43.5" y3="55.3"/>
+            <line x="15.9" y="55.3"/>
+            <line x="15.9" y="46.1"/>
+            <line x="11.9" y="46.1"/>
+            <line x="11.9" y="55.3"/>
+            <line x="5.9" y="55.3"/>
+            <close/>
+            <move x="8.6" y="22.7"/>
+            <line x="8.6" y="30.4"/>
+            <line x="11.9" y="30.4"/>
+            <line x="11.9" y="22.7"/>
+            <close/>
+            <move x="15.7" y="22.7"/>
+            <line x="15.7" y="30.4"/>
+            <line x="19.1" y="30.4"/>
+            <line x="19.1" y="22.7"/>
+            <close/>
+            <move x="25.6" y="24.3"/>
+            <line x="25.6" y="32.6"/>
+            <line x="28.9" y="32.6"/>
+            <line x="28.9" y="24.3"/>
+            <close/>
+            <move x="32.1" y="24.3"/>
+            <line x="32.1" y="32.6"/>
+            <line x="35.4" y="32.6"/>
+            <line x="35.4" y="24.3"/>
+            <close/>
+            <move x="38.4" y="24.3"/>
+            <line x="38.4" y="32.6"/>
+            <line x="41.7" y="32.6"/>
+            <line x="41.7" y="24.3"/>
+            <close/>
+            <move x="44.5" y="32.8"/>
+            <line x="44.5" y="40.6"/>
+            <line x="47.8" y="40.6"/>
+            <line x="47.8" y="32.8"/>
+            <close/>
+            <move x="51.7" y="32.8"/>
+            <line x="51.7" y="40.6"/>
+            <line x="55" y="40.6"/>
+            <line x="55" y="32.8"/>
+            <close/>
+            <move x="8.6" y="35"/>
+            <line x="8.6" y="42.9"/>
+            <line x="11.9" y="42.9"/>
+            <line x="11.9" y="35"/>
+            <close/>
+            <move x="15.8" y="35"/>
+            <line x="15.8" y="42.9"/>
+            <line x="19.1" y="42.9"/>
+            <line x="19.1" y="35"/>
+            <close/>
+            <move x="44.5" y="45.1"/>
+            <line x="44.5" y="53"/>
+            <line x="47.8" y="53"/>
+            <line x="47.8" y="45.1"/>
+            <close/>
+            <move x="51.7" y="45.1"/>
+            <line x="51.7" y="53"/>
+            <line x="55" y="53"/>
+            <line x="55" y="45.1"/>
+            <close/>
+        </path>
+        <fill/>
+    </foreground>
+</shape>
+<shape aspect="variable" h="64" name="PublicTag" strokewidth="inherit" w="64">
+    <connections/>
+    <foreground>
+        <rect h="64" w="64" x="0" y="0"/>
+        <fill/>
+        <fillcolor color="#ffffff"/>
+        <path>
+            <move x="31.9" y="26.6"/>
+            <curve x1="27" x2="23" x3="23" y1="26.6" y2="22.6" y3="17.7"/>
+            <curve x1="23" x2="27" x3="31.9" y1="12.8" y2="8.8" y3="8.8"/>
+            <curve x1="36.8" x2="40.8" x3="40.8" y1="8.8" y2="12.8" y3="17.7"/>
+            <curve x1="40.9" x2="36.9" x3="31.9" y1="22.6" y2="26.6" y3="26.6"/>
+            <close/>
+            <move x="31.9" y="9.9"/>
+            <curve x1="27.6" x2="24.1" x3="24.1" y1="9.9" y2="13.4" y3="17.7"/>
+            <curve x1="24.1" x2="27.6" x3="31.9" y1="22" y2="25.5" y3="25.5"/>
+            <curve x1="36.2" x2="39.7" x3="39.7" y1="25.5" y2="22" y3="17.7"/>
+            <curve x1="39.8" x2="36.3" x3="31.9" y1="13.4" y2="9.9" y3="9.9"/>
+            <close/>
+            <move x="43.5" y="44.6"/>
+            <curve x1="38.6" x2="34.6" x3="34.6" y1="44.6" y2="40.6" y3="35.7"/>
+            <curve x1="34.6" x2="38.6" x3="43.5" y1="30.8" y2="26.8" y3="26.8"/>
+            <curve x1="48.4" x2="52.4" x3="52.4" y1="26.8" y2="30.8" y3="35.7"/>
+            <curve x1="52.4" x2="48.4" x3="43.5" y1="40.6" y2="44.6" y3="44.6"/>
+            <close/>
+            <move x="43.5" y="27.9"/>
+            <curve x1="39.2" x2="35.7" x3="35.7" y1="27.9" y2="31.4" y3="35.7"/>
+            <curve x1="35.7" x2="39.2" x3="43.5" y1="40" y2="43.5" y3="43.5"/>
+            <curve x1="47.8" x2="51.3" x3="51.3" y1="43.5" y2="40" y3="35.7"/>
+            <curve x1="51.3" x2="47.8" x3="43.5" y1="31.4" y2="27.9" y3="27.9"/>
+            <close/>
+            <move x="50.5" y="48.2"/>
+            <line x="36.5" y="48.1"/>
+            <curve x1="34.6" x2="33" x3="33" y1="48.1" y2="49.6" y3="51.6"/>
+            <line x="33" y="55.1"/>
+            <line x="54" y="55.2"/>
+            <line x="54" y="51.7"/>
+            <curve x1="54" x2="52.5" x3="50.5" y1="49.8" y2="48.2" y3="48.2"/>
+            <close/>
+            <move x="20.4" y="44.6"/>
+            <curve x1="15.5" x2="11.5" x3="11.5" y1="44.6" y2="40.6" y3="35.7"/>
+            <curve x1="11.5" x2="15.5" x3="20.4" y1="30.8" y2="26.8" y3="26.8"/>
+            <curve x1="25.3" x2="29.3" x3="29.3" y1="26.8" y2="30.8" y3="35.7"/>
+            <curve x1="29.3" x2="25.3" x3="20.4" y1="40.6" y2="44.6" y3="44.6"/>
+            <close/>
+            <move x="20.4" y="27.9"/>
+            <curve x1="16.1" x2="12.6" x3="12.6" y1="27.9" y2="31.4" y3="35.7"/>
+            <curve x1="12.6" x2="16.1" x3="20.4" y1="40" y2="43.5" y3="43.5"/>
+            <curve x1="24.7" x2="28.2" x3="28.2" y1="43.5" y2="40" y3="35.7"/>
+            <curve x1="28.2" x2="24.7" x3="20.4" y1="31.4" y2="27.9" y3="27.9"/>
+            <close/>
+            <move x="27.5" y="48.2"/>
+            <line x="13.5" y="48.1"/>
+            <curve x1="11.6" x2="10" x3="10" y1="48.1" y2="49.6" y3="51.6"/>
+            <line x="10" y="55.1"/>
+            <line x="31" y="55.2"/>
+            <line x="31" y="51.7"/>
+            <curve x1="31" x2="29.4" x3="27.5" y1="49.8" y2="48.2" y3="48.2"/>
+            <close/>
+        </path>
+        <fill/>
+    </foreground>
+</shape>
+<shape aspect="variable" h="64" name="RegionTag" strokewidth="inherit" w="64">
+    <connections/>
+    <foreground>
+        <rect h="64" w="64" x="0" y="0"/>
+        <fill/>
+        <fillcolor color="#ffffff"/>
+        <path>
+            <move x="13.16" y="8.9"/>
+            <line x="13.16" y="12"/>
+            <line x="13.16" y="55.1"/>
+            <line x="15.78" y="55.1"/>
+            <line x="15.78" y="33.31"/>
+            <line x="50.38" y="33.31"/>
+            <line x="38.59" y="21.19"/>
+            <line x="50.84" y="10.79"/>
+            <line x="15.78" y="10.79"/>
+            <line x="15.78" y="8.9"/>
+            <close/>
+            <move x="15.78" y="13.41"/>
+            <line x="43.7" y="13.41"/>
+            <line x="34.75" y="21.01"/>
+            <line x="44.17" y="30.69"/>
+            <line x="15.78" y="30.69"/>
+            <close/>
+        </path>
+        <fill/>
+    </foreground>
+</shape>
+<shape aspect="variable" h="64" name="SubnetTag" strokewidth="inherit" w="64">
+    <connections/>
+    <foreground>
+        <rect h="64" w="64" x="0" y="0"/>
+        <fill/>
+        <fillcolor color="#ffffff"/>
+        <path>
+            <move x="31.85" y="6.85"/>
+            <curve x1="30.73" x2="27.68" x3="24.71" y1="6.85" y2="6.95" y3="8.96"/>
+            <curve x1="24.71" x2="24.7" x3="24.7" y1="8.96" y2="8.96" y3="8.96"/>
+            <curve x1="24.69" x2="21.93" x3="20.63" y1="8.97" y2="10.69" y3="13.78"/>
+            <curve x1="20.08" x2="20.07" x3="20.07" y1="15.04" y2="16.22" y3="16.22"/>
+            <line x="20.07" y="18.52"/>
+            <line x="20.07" y="21.62"/>
+            <line x="20.07" y="25.68"/>
+            <line x="18.35" y="25.68"/>
+            <curve x1="16.85" x2="15.51" x3="15.51" y1="25.68" y2="26.91" y3="28.52"/>
+            <line x="15.51" y="54.32"/>
+            <curve x1="15.51" x2="16.74" x3="18.35" y1="55.82" y2="57.16" y3="57.16"/>
+            <line x="45.55" y="57.16"/>
+            <curve x1="47.11" x2="48.49" x3="48.49" y1="57.16" y2="55.93" y3="54.32"/>
+            <line x="48.49" y="28.52"/>
+            <curve x1="48.49" x2="47.26" x3="45.65" y1="27.02" y2="25.68" y3="25.68"/>
+            <line x="43.73" y="25.68"/>
+            <line x="43.73" y="21.08"/>
+            <line x="43.73" y="21.04"/>
+            <curve x1="43.63" x2="43.64" x3="43.41" y1="18.9" y2="17.31" y3="15.86"/>
+            <curve x1="43.28" x2="43.01" x3="42.68" y1="14.88" y2="14.05" y3="13.28"/>
+            <line x="42.68" y="13.27"/>
+            <line x="42.68" y="13.26"/>
+            <curve x1="41.32" x2="38.81" x3="37.99" y1="10.18" y2="8.65" y3="8.19"/>
+            <line x="37.96" y="8.17"/>
+            <line x="37.93" y="8.15"/>
+            <curve x1="35.42" x2="33.06" x3="31.86" y1="6.84" y2="6.84" y3="6.84"/>
+            <close/>
+            <move x="31.85" y="10.6"/>
+            <curve x1="33.05" x2="34.48" x3="36.16" y1="10.6" y2="10.61" y3="11.48"/>
+            <curve x1="36.76" x2="38.4" x3="39.23" y1="11.83" y2="12.89" y3="14.78"/>
+            <line x="39.23" y="14.78"/>
+            <curve x1="39.49" x2="39.61" x3="39.69" y1="15.39" y2="15.75" y3="16.36"/>
+            <line x="39.69" y="16.4"/>
+            <line x="39.7" y="16.43"/>
+            <curve x1="39.85" x2="39.87" x3="39.98" y1="17.36" y2="18.96" y3="21.17"/>
+            <line x="39.98" y="25.68"/>
+            <line x="23.83" y="25.68"/>
+            <line x="23.83" y="21.62"/>
+            <line x="23.83" y="18.52"/>
+            <line x="23.83" y="16.22"/>
+            <curve x1="23.83" x2="23.84" x3="24.07" y1="16.22" y2="15.81" y3="15.29"/>
+            <line x="24.08" y="15.27"/>
+            <line x="24.09" y="15.24"/>
+            <curve x1="24.79" x2="26.8" x3="26.8" y1="13.56" y2="12.09" y3="12.09"/>
+            <line x="26.81" y="12.08"/>
+            <line x="26.82" y="12.08"/>
+            <curve x1="28.84" x2="30.98" x3="31.86" y1="10.7" y2="10.6" y3="10.6"/>
+            <close/>
+            <move x="41.38" y="30.56"/>
+            <line x="44.33" y="33.49"/>
+            <line x="28.39" y="49.53"/>
+            <line x="19.52" y="39.82"/>
+            <line x="22.58" y="37.03"/>
+            <line x="28.52" y="43.52"/>
+            <close/>
+        </path>
+        <fill/>
+    </foreground>
+</shape>
+<shape aspect="variable" h="64" name="VPCTag" strokewidth="inherit" w="64">
+    <connections/>
+    <foreground>
+        <rect h="64" w="64" x="0" y="0"/>
+        <fill/>
+        <fillcolor color="#ffffff"/>
+        <path>
+            <move x="32.03" y="9"/>
+            <arc large-arc-flag="0" rx="0.94" ry="0.94" sweep-flag="0" x="31.1" x-axis-rotation="0" y="9.96"/>
+            <line x="31.08" y="15.44"/>
+            <arc large-arc-flag="1" rx="0.95" ry="0.95" sweep-flag="0" x="32.97" x-axis-rotation="0" y="15.45"/>
+            <line x="32.99" y="9.97"/>
+            <arc large-arc-flag="0" rx="0.94" ry="0.94" sweep-flag="0" x="32.03" x-axis-rotation="0" y="9.01"/>
+            <close/>
+            <move x="45.71" y="12.71"/>
+            <arc large-arc-flag="0" rx="0.94" ry="0.94" sweep-flag="0" x="44.88" x-axis-rotation="0" y="13.2"/>
+            <line x="42.17" y="17.95"/>
+            <arc large-arc-flag="1" rx="0.94" ry="0.94" sweep-flag="0" x="43.81" x-axis-rotation="0" y="18.89"/>
+            <line x="46.52" y="14.13"/>
+            <arc large-arc-flag="0" rx="0.94" ry="0.94" sweep-flag="0" x="45.71" x-axis-rotation="0" y="12.71"/>
+            <close/>
+            <move x="18.23" y="12.73"/>
+            <arc large-arc-flag="0" rx="0.94" ry="0.94" sweep-flag="0" x="17.47" x-axis-rotation="0" y="14.17"/>
+            <line x="20.25" y="18.89"/>
+            <arc large-arc-flag="1" rx="0.95" ry="0.95" sweep-flag="0" x="21.88" x-axis-rotation="0" y="17.93"/>
+            <line x="19.1" y="13.21"/>
+            <arc large-arc-flag="0" rx="0.94" ry="0.94" sweep-flag="0" x="18.23" x-axis-rotation="0" y="12.73"/>
+            <close/>
+            <move x="32.01" y="19.75"/>
+            <curve x1="31.31" x2="30.6" x3="29.87" y1="19.75" y2="19.79" y3="19.88"/>
+            <curve x1="27.92" x2="25.86" x3="23.73" y1="20.13" y2="20.75" y3="21.87"/>
+            <line x="23.72" y="21.88"/>
+            <line x="23.7" y="21.89"/>
+            <curve x1="15.34" x2="13.7" x3="14.76" y1="26.58" y2="34.87" y3="40.82"/>
+            <line x="16.63" y="40.49"/>
+            <curve x1="15.67" x2="17" x3="24.61" y1="35.15" y2="27.83" y3="23.54"/>
+            <curve x1="32.39" x2="38.77" x3="42.19" y1="19.47" y2="22.69" y3="25.46"/>
+            <line x="43.38" y="24"/>
+            <curve x1="40.9" x2="36.89" x3="32.01" y1="21.98" y2="19.77" y3="19.75"/>
+            <close/>
+            <move x="55.73" y="22.71"/>
+            <arc large-arc-flag="0" rx="0.94" ry="0.94" sweep-flag="0" x="55.32" x-axis-rotation="0" y="22.84"/>
+            <line x="50.58" y="25.58"/>
+            <arc large-arc-flag="1" rx="0.95" ry="0.95" sweep-flag="0" x="51.52" x-axis-rotation="0" y="27.22"/>
+            <line x="56.26" y="24.48"/>
+            <arc large-arc-flag="0" rx="0.94" ry="0.94" sweep-flag="0" x="55.83" x-axis-rotation="0" y="22.71"/>
+            <arc large-arc-flag="0" rx="0.94" ry="0.94" sweep-flag="0" x="55.73" x-axis-rotation="0" y="22.71"/>
+            <close/>
+            <move x="8.27" y="22.82"/>
+            <arc large-arc-flag="0" rx="0.94" ry="0.94" sweep-flag="0" x="8.17" x-axis-rotation="0" y="22.82"/>
+            <arc large-arc-flag="0" rx="0.94" ry="0.94" sweep-flag="0" x="7.77" x-axis-rotation="0" y="24.59"/>
+            <line x="12.5" y="27.34"/>
+            <arc large-arc-flag="0" rx="0.95" ry="0.95" sweep-flag="0" x="13.45" x-axis-rotation="0" y="25.71"/>
+            <line x="8.72" y="22.96"/>
+            <arc large-arc-flag="0" rx="0.94" ry="0.94" sweep-flag="0" x="8.27" x-axis-rotation="0" y="22.82"/>
+            <close/>
+            <move x="28.68" y="25.05"/>
+            <curve x1="27" x2="25.26" x3="23.91" y1="25.05" y2="25.59" y3="26.77"/>
+            <curve x1="22.56" x2="21.67" x3="21.67" y1="27.96" y2="29.82" y3="32.15"/>
+            <line x="21.67" y="34.88"/>
+            <arc large-arc-flag="0" rx="9.04" ry="9.04" sweep-flag="0" x="19.41" x-axis-rotation="0" y="40.84"/>
+            <arc large-arc-flag="0" rx="9.04" ry="9.04" sweep-flag="0" x="28.45" x-axis-rotation="0" y="49.89"/>
+            <arc large-arc-flag="0" rx="9.04" ry="9.04" sweep-flag="0" x="37.49" x-axis-rotation="0" y="40.84"/>
+            <arc large-arc-flag="0" rx="9.04" ry="9.04" sweep-flag="0" x="35.23" x-axis-rotation="0" y="34.89"/>
+            <line x="35.23" y="32.15"/>
+            <curve x1="35.23" x2="34.53" x3="33.39" y1="30.42" y2="28.71" y3="27.37"/>
+            <curve x1="32.24" x2="30.59" x3="28.68" y1="26.04" y2="25.05" y3="25.05"/>
+            <close/>
+            <move x="28.68" y="27.32"/>
+            <curve x1="29.8" x2="30.86" x3="31.66" y1="27.32" y2="27.91" y3="28.85"/>
+            <curve x1="32.47" x2="32.97" x3="32.97" y1="29.79" y2="31.06" y3="32.15"/>
+            <line x="32.97" y="33.02"/>
+            <arc large-arc-flag="0" rx="9.04" ry="9.04" sweep-flag="0" x="28.45" x-axis-rotation="0" y="31.81"/>
+            <arc large-arc-flag="0" rx="9.04" ry="9.04" sweep-flag="0" x="23.93" x-axis-rotation="0" y="33.03"/>
+            <line x="23.93" y="32.15"/>
+            <curve x1="23.93" x2="24.54" x3="25.41" y1="30.36" y2="29.24" y3="28.48"/>
+            <curve x1="26.28" x2="27.48" x3="28.68" y1="27.71" y2="27.32" y3="27.32"/>
+            <close/>
+            <move x="44.8" y="28.15"/>
+            <line x="44.8" y="28.15"/>
+            <curve x1="41.97" x2="39.48" x3="37.1" y1="28.15" y2="28.88" y3="30.33"/>
+            <line x="38.08" y="31.94"/>
+            <curve x1="40.21" x2="42.29" x3="44.8" y1="30.65" y2="30.04" y3="30.04"/>
+            <curve x1="50.9" x2="56.07" x3="56.07" y1="30.04" y2="35.17" y3="41.65"/>
+            <curve x1="56.07" x2="50.91" x3="44.28" y1="47.73" y2="53.11" y3="53.11"/>
+            <line x="16.84" y="53.06"/>
+            <curve x1="14.92" x2="12.64" x3="10.89" y1="53.06" y2="52.12" y3="50.51"/>
+            <curve x1="9.15" x2="7.94" x3="7.94" y1="48.91" y2="46.68" y3="44.11"/>
+            <line x="7.94" y="44.09"/>
+            <line x="7.94" y="44.07"/>
+            <curve x1="7.86" x2="9.02" x3="11.2" y1="41.59" y2="38.44" y3="36.44"/>
+            <line x="9.92" y="35.05"/>
+            <curve x1="7.28" x2="5.95" x3="6.05" y1="37.47" y2="41.03" y3="44.13"/>
+            <curve x1="6.06" x2="7.55" x3="9.61" y1="47.28" y2="50" y3="51.9"/>
+            <curve x1="11.68" x2="14.32" x3="16.84" y1="53.81" y2="54.95" y3="54.95"/>
+            <line x="44.28" y="55"/>
+            <curve x1="51.93" x2="57.96" x3="57.96" y1="55" y2="48.8" y3="41.65"/>
+            <curve x1="57.96" x2="51.95" x3="44.8" y1="34.16" y2="28.15" y3="28.15"/>
+            <close/>
+            <move x="32.6" y="36.65"/>
+            <line x="34.2" y="38.26"/>
+            <line x="26.7" y="45.74"/>
+            <line x="22.5" y="41.53"/>
+            <line x="24.1" y="39.93"/>
+            <line x="26.71" y="42.53"/>
+            <close/>
+        </path>
+        <fill/>
+    </foreground>
+</shape>
+<shape aspect="variable" h="64" name="ZoneTag" strokewidth="inherit" w="64">
+    <connections/>
+    <foreground>
+        <rect h="64" w="64" x="0" y="0"/>
+        <fill/>
+        <fillcolor color="#ffffff"/>
+        <path>
+            <move x="21.12" y="9.52"/>
+            <line x="21.12" y="15.15"/>
+            <line x="8.15" y="15.15"/>
+            <line x="8.15" y="51.25"/>
+            <line x="21.12" y="51.25"/>
+            <line x="21.12" y="54.48"/>
+            <line x="42.88" y="54.48"/>
+            <line x="42.88" y="51.25"/>
+            <line x="55.85" y="51.25"/>
+            <line x="55.85" y="15.15"/>
+            <line x="42.88" y="15.15"/>
+            <line x="42.88" y="9.52"/>
+            <close/>
+            <move x="23.08" y="11.48"/>
+            <line x="40.92" y="11.48"/>
+            <line x="40.92" y="52.52"/>
+            <line x="23.08" y="52.52"/>
+            <close/>
+            <move x="27.2" y="16.52"/>
+            <line x="27.2" y="18.48"/>
+            <line x="36.8" y="18.48"/>
+            <line x="36.8" y="16.52"/>
+            <close/>
+            <move x="10.05" y="17.05"/>
+            <line x="21.12" y="17.05"/>
+            <line x="21.12" y="19.42"/>
+            <line x="12.5" y="19.42"/>
+            <line x="12.5" y="21.38"/>
+            <line x="21.12" y="21.38"/>
+            <line x="21.12" y="23.52"/>
+            <line x="12.5" y="23.52"/>
+            <line x="12.5" y="25.48"/>
+            <line x="21.12" y="25.48"/>
+            <line x="21.12" y="27.52"/>
+            <line x="12.5" y="27.52"/>
+            <line x="12.5" y="29.48"/>
+            <line x="21.12" y="29.48"/>
+            <line x="21.12" y="49.35"/>
+            <line x="10.05" y="49.35"/>
+            <close/>
+            <move x="42.88" y="17.05"/>
+            <line x="53.95" y="17.05"/>
+            <line x="53.95" y="49.35"/>
+            <line x="42.88" y="49.35"/>
+            <line x="42.88" y="29.48"/>
+            <line x="51.5" y="29.48"/>
+            <line x="51.5" y="27.52"/>
+            <line x="42.88" y="27.52"/>
+            <line x="42.88" y="25.48"/>
+            <line x="51.5" y="25.48"/>
+            <line x="51.5" y="23.52"/>
+            <line x="42.88" y="23.52"/>
+            <line x="42.88" y="21.38"/>
+            <line x="51.5" y="21.38"/>
+            <line x="51.5" y="19.42"/>
+            <line x="42.88" y="19.42"/>
+            <close/>
+            <move x="27.2" y="20.52"/>
+            <line x="27.2" y="22.48"/>
+            <line x="36.8" y="22.48"/>
+            <line x="36.8" y="20.52"/>
+            <close/>
+            <move x="27.2" y="24.62"/>
+            <line x="27.2" y="26.58"/>
+            <line x="36.8" y="26.58"/>
+            <line x="36.8" y="24.62"/>
+            <close/>
+        </path>
+        <fill/>
+    </foreground>
+</shape>
+</shapes>
\ No newline at end of file