Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/jgraph/drawio.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGaudenz Alder <gaudenz@jgraph.com>2018-05-29 19:56:09 +0300
committerGaudenz Alder <gaudenz@jgraph.com>2018-05-29 19:56:09 +0300
commit636273370bd95c72d5850309a44f0ddd3f963180 (patch)
tree8f23a2cc4cb73bda4095c11fe4371193b8a92da3
parent6bca8afd63cebee0ba692a265f82fedd80d91fd7 (diff)
8.6.9 releasev8.6.9
Former-commit-id: dd3ab4e4d482b9f3fdd354469481c8b5434cc6ea
-rw-r--r--ChangeLog7
-rw-r--r--VERSION2
-rw-r--r--etc/mxgraph/mxClient.js8
-rw-r--r--src/main/webapp/cache.manifest4
-rw-r--r--src/main/webapp/connect/confluence/admin.js4
-rw-r--r--src/main/webapp/connect/confluence/connect.json2
-rw-r--r--src/main/webapp/connect/confluence/connectUtils-1-4-8.js64
-rw-r--r--src/main/webapp/connect/confluence/macroEditor.html11
-rw-r--r--src/main/webapp/connect/confluence/viewer-1-4-8.html22
-rw-r--r--src/main/webapp/images/facebook.pngbin1054 -> 845 bytes
-rw-r--r--src/main/webapp/images/favicon-16x16.pngbin892 -> 362 bytes
-rw-r--r--src/main/webapp/images/favicon-32x32.pngbin1258 -> 531 bytes
-rw-r--r--src/main/webapp/images/tweet.pngbin511 -> 457 bytes
-rw-r--r--src/main/webapp/js/app.min.js1245
-rw-r--r--src/main/webapp/js/atlas-viewer.min.js1057
-rw-r--r--src/main/webapp/js/atlas.min.js2288
-rw-r--r--src/main/webapp/js/diagramly/App.js211
-rw-r--r--src/main/webapp/js/diagramly/Editor.js22
-rw-r--r--src/main/webapp/js/diagramly/EditorUi.js40
-rw-r--r--src/main/webapp/js/diagramly/Embed.js13
-rw-r--r--src/main/webapp/js/diagramly/Menus.js391
-rw-r--r--src/main/webapp/js/diagramly/Minimal.js24
-rw-r--r--src/main/webapp/js/diagramly/Pages.js19
-rw-r--r--src/main/webapp/js/diagramly/sidebar/Sidebar-WebIcons.js14
-rw-r--r--src/main/webapp/js/diagramly/vsdx/importer.js75
-rw-r--r--src/main/webapp/js/embed-static.min.js53
-rw-r--r--src/main/webapp/js/embed.dev.js13
-rw-r--r--src/main/webapp/js/embed.min.js41
-rw-r--r--src/main/webapp/js/extensions.min.js57
-rw-r--r--src/main/webapp/js/mxgraph/Actions.js4
-rw-r--r--src/main/webapp/js/mxgraph/Editor.js5
-rw-r--r--src/main/webapp/js/mxgraph/EditorUi.js5
-rw-r--r--src/main/webapp/js/mxgraph/Graph.js2
-rw-r--r--src/main/webapp/js/mxgraph/Menus.js15
-rw-r--r--src/main/webapp/js/reader.min.js12
-rw-r--r--src/main/webapp/js/stencils.min.js4
-rw-r--r--src/main/webapp/js/viewer.min.js1057
-rw-r--r--src/main/webapp/mxgraph/css/common.css3
-rw-r--r--src/main/webapp/plugins/cConf-1-4-8.js63
-rw-r--r--src/main/webapp/stencils/webicons.xml104
-rw-r--r--src/main/webapp/stencils/weblogos.xml165
41 files changed, 3688 insertions, 3438 deletions
diff --git a/ChangeLog b/ChangeLog
index a6dd806c..000d0383 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+29-MAY-2018: 8.6.9
+
+- Adds enableCustomLibraries switch
+- Fixes math rendering timing bug
+- Uses mxGraph 3.9.6 beta 1
+- Uses MathJax 2.7.4
+
24-MAY-2018: 8.6.8
- Fixes math typesetting in PDF export
diff --git a/VERSION b/VERSION
index 96e02c50..3e11df10 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-8.6.8 \ No newline at end of file
+8.6.9 \ No newline at end of file
diff --git a/etc/mxgraph/mxClient.js b/etc/mxgraph/mxClient.js
index b475d879..6b1be671 100644
--- a/etc/mxgraph/mxClient.js
+++ b/etc/mxgraph/mxClient.js
@@ -1,4 +1,4 @@
-var mxClient={VERSION:"3.9.5",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&
+var mxClient={VERSION:"3.9.6",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&
0>navigator.userAgent.indexOf("Edge/"),IS_OP:0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/"),IS_OT:0<=navigator.userAgent.indexOf("Presto/")&&0>navigator.userAgent.indexOf("Presto/2.4.")&&0>navigator.userAgent.indexOf("Presto/2.3.")&&0>navigator.userAgent.indexOf("Presto/2.2.")&&0>navigator.userAgent.indexOf("Presto/2.1.")&&0>navigator.userAgent.indexOf("Presto/2.0.")&&0>navigator.userAgent.indexOf("Presto/1."),IS_SF:0<=navigator.userAgent.indexOf("AppleWebKit/")&&
0>navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_IOS:navigator.userAgent.match(/(iPad|iPhone|iPod)/g)?!0:!1,IS_GC:0<=navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:0<=navigator.userAgent.indexOf("Firefox/"),IS_MT:0<=navigator.userAgent.indexOf("Firefox/")&&0>navigator.userAgent.indexOf("Firefox/1.")&&0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&&
0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_SVG:0<=navigator.userAgent.indexOf("Firefox/")||0<=navigator.userAgent.indexOf("Iceweasel/")||0<=navigator.userAgent.indexOf("Seamonkey/")||0<=navigator.userAgent.indexOf("Iceape/")||0<=navigator.userAgent.indexOf("Galeon/")||
@@ -426,9 +426,9 @@ mxShape.prototype.updateHtmlColors=function(a){var b=this.stroke;null!=b&&b!=mxC
mxUtils.addTransparentBackgroundFilter(a):this.setTransparentBackgroundImage(a)};
mxShape.prototype.updateHtmlBounds=function(a){var b=9<=document.documentMode?0:Math.ceil(this.strokewidth*this.scale);a.style.borderWidth=Math.max(1,b)+"px";a.style.overflow="hidden";a.style.left=Math.round(this.bounds.x-b/2)+"px";a.style.top=Math.round(this.bounds.y-b/2)+"px";"CSS1Compat"==document.compatMode&&(b=-b);a.style.width=Math.round(Math.max(0,this.bounds.width+b))+"px";a.style.height=Math.round(Math.max(0,this.bounds.height+b))+"px"};
mxShape.prototype.destroyCanvas=function(a){if(a instanceof mxSvgCanvas2D){for(var b in a.gradients){var c=a.gradients[b];null!=c&&(c.mxRefCount=(c.mxRefCount||0)+1)}this.releaseSvgGradients(this.oldGradients);this.oldGradients=a.gradients}};
-mxShape.prototype.paint=function(a){var b=this.scale,c=this.bounds.x/b,d=this.bounds.y/b,e=this.bounds.width/b,f=this.bounds.height/b;if(this.isPaintBoundsInverted())var g=(e-f)/2,c=c+g,d=d-g,g=e,e=f,f=g;this.updateTransform(a,c,d,e,f);this.configureCanvas(a,c,d,e,f);g=null;if(null==this.stencil&&null==this.points&&this.shapePointerEvents||null!=this.stencil&&this.stencilPointerEvents){var k=this.createBoundingBox();this.dialect==mxConstants.DIALECT_SVG?(g=this.createTransparentSvgRectangle(k.x,k.y,
-k.width,k.height),this.node.appendChild(g)):(k=a.createRect("rect",k.x/b,k.y/b,k.width/b,k.height/b),k.appendChild(a.createTransparentFill()),k.stroked="false",a.root.appendChild(k))}if(null!=this.stencil)this.stencil.drawShape(a,this,c,d,e,f);else if(a.setStrokeWidth(this.strokewidth),null!=this.points){c=[];for(d=0;d<this.points.length;d++)null!=this.points[d]&&c.push(new mxPoint(this.points[d].x/b,this.points[d].y/b));this.paintEdgeShape(a,c)}else this.paintVertexShape(a,c,d,e,f);null!=g&&null!=
-a.state&&null!=a.state.transform&&g.setAttribute("transform",a.state.transform)};
+mxShape.prototype.paint=function(a){var b=!1;if(null!=a&&this.outline){var c=a.stroke;a.stroke=function(){b=!0;c.apply(this,arguments)};var d=a.fillAndStroke;a.fillAndStroke=function(){b=!0;d.apply(this,arguments)}}var e=this.scale,f=this.bounds.x/e,g=this.bounds.y/e,k=this.bounds.width/e,l=this.bounds.height/e;if(this.isPaintBoundsInverted())var m=(k-l)/2,f=f+m,g=g-m,m=k,k=l,l=m;this.updateTransform(a,f,g,k,l);this.configureCanvas(a,f,g,k,l);m=null;if(null==this.stencil&&null==this.points&&this.shapePointerEvents||
+null!=this.stencil&&this.stencilPointerEvents){var n=this.createBoundingBox();this.dialect==mxConstants.DIALECT_SVG?(m=this.createTransparentSvgRectangle(n.x,n.y,n.width,n.height),this.node.appendChild(m)):(n=a.createRect("rect",n.x/e,n.y/e,n.width/e,n.height/e),n.appendChild(a.createTransparentFill()),n.stroked="false",a.root.appendChild(n))}if(null!=this.stencil)this.stencil.drawShape(a,this,f,g,k,l);else if(a.setStrokeWidth(this.strokewidth),null!=this.points){for(var n=[],p=0;p<this.points.length;p++)null!=
+this.points[p]&&n.push(new mxPoint(this.points[p].x/e,this.points[p].y/e));this.paintEdgeShape(a,n)}else this.paintVertexShape(a,f,g,k,l);null!=m&&null!=a.state&&null!=a.state.transform&&m.setAttribute("transform",a.state.transform);null!=a&&this.outline&&!b&&(a.rect(f,g,k,l),a.stroke())};
mxShape.prototype.configureCanvas=function(a,b,c,d,e){var f=null;null!=this.style&&(f=this.style.dashPattern);a.setAlpha(this.opacity/100);a.setFillAlpha(this.fillOpacity/100);a.setStrokeAlpha(this.strokeOpacity/100);null!=this.isShadow&&a.setShadow(this.isShadow);null!=this.isDashed&&a.setDashed(this.isDashed,null!=this.style?1==mxUtils.getValue(this.style,mxConstants.STYLE_FIX_DASH,!1):!1);null!=f&&a.setDashPattern(f);null!=this.fill&&this.fill!=mxConstants.NONE&&this.gradient&&this.gradient!=mxConstants.NONE?
(b=this.getGradientBounds(a,b,c,d,e),a.setGradient(this.fill,this.gradient,b.x,b.y,b.width,b.height,this.gradientDirection)):a.setFillColor(this.fill);a.setStrokeColor(this.stroke)};mxShape.prototype.getGradientBounds=function(a,b,c,d,e){return new mxRectangle(b,c,d,e)};mxShape.prototype.updateTransform=function(a,b,c,d,e){a.scale(this.scale);a.rotate(this.getShapeRotation(),this.flipH,this.flipV,b+d/2,c+e/2)};
mxShape.prototype.paintVertexShape=function(a,b,c,d,e){this.paintBackground(a,b,c,d,e);a.setShadow(!1);this.paintForeground(a,b,c,d,e)};mxShape.prototype.paintBackground=function(a,b,c,d,e){};mxShape.prototype.paintForeground=function(a,b,c,d,e){};mxShape.prototype.paintEdgeShape=function(a,b){};
diff --git a/src/main/webapp/cache.manifest b/src/main/webapp/cache.manifest
index 5c0f09e0..0796ebd4 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!
-# 05/24/2018 11:31 AM
+# 05/29/2018 06:47 PM
app.html
index.html?offline=1
@@ -26,11 +26,9 @@ mxgraph/images/window.gif
mxgraph/images/window-title.gif
mxgraph/images/button.gif
mxgraph/images/point.gif
-mxgraph/images/transparent.gif
resources/dia.txt
images/delete.png
images/droptarget.png
-images/edit.gif
images/help.png
images/download.png
images/drawlogo-text-bottom.svg
diff --git a/src/main/webapp/connect/confluence/admin.js b/src/main/webapp/connect/confluence/admin.js
index bdee7038..8820bac0 100644
--- a/src/main/webapp/connect/confluence/admin.js
+++ b/src/main/webapp/connect/confluence/admin.js
@@ -320,7 +320,7 @@ var GliffyMassImporter = function(logDiv)
};
//Add custom content
- AC.saveCustomContent(spaceKey, pageId, pageType, attName + ".drawio.xml", attInfo.revision, null, null,
+ AC.saveCustomContent(spaceKey, pageId, pageType, attName + ".drawio.xml", attName + ".drawio.xml", attInfo.revision, null, null,
function(responseText)
{
logDiv.append($('<div>Gliffy diagram "'+ AC.htmlEntities(attName) +'" imported successfully.</div>'));
@@ -403,7 +403,7 @@ var DrawIoDiagramsIndexer = function(logDiv)
function addNewCustomContent()
{
- AC.saveCustomContent(spaceKey, pageId, pageType, attName, revision, null, null,
+ AC.saveCustomContent(spaceKey, pageId, pageType, attName, attName, revision, null, null,
function(responseText)
{
logDiv.append($('<div>Diagram "'+ AC.htmlEntities(attName) +'" indexed successfully.</div>'));
diff --git a/src/main/webapp/connect/confluence/connect.json b/src/main/webapp/connect/confluence/connect.json
index 2751c51d..153bc1a6 100644
--- a/src/main/webapp/connect/confluence/connect.json
+++ b/src/main/webapp/connect/confluence/connect.json
@@ -76,7 +76,7 @@
"i18n": "drawioMacro",
"value": "Draw.io Diagram"
},
- "url": "/connect/confluence/viewer-1-4-8.html?ceoId=${page.id}&diagramName=${diagramName}&revision=${revision}&width=${width}&height=${height}&tbstyle=${tbstyle}&lbox=${lbox}&zoom=${zoom}&links=${links}&owningPageId=${pageId}",
+ "url": "/connect/confluence/viewer-1-4-8.html?ceoId=${page.id}&diagramName=${diagramName}&revision=${revision}&width=${width}&height=${height}&tbstyle=${tbstyle}&lbox=${lbox}&zoom=${zoom}&links=${links}&owningPageId=${pageId}&displayName=${diagramDisplayName}",
"width": "100%",
"description":
{
diff --git a/src/main/webapp/connect/confluence/connectUtils-1-4-8.js b/src/main/webapp/connect/confluence/connectUtils-1-4-8.js
index e5cb043b..cc9128a3 100644
--- a/src/main/webapp/connect/confluence/connectUtils-1-4-8.js
+++ b/src/main/webapp/connect/confluence/connectUtils-1-4-8.js
@@ -431,6 +431,8 @@ AC.init = function(baseUrl, location, pageId, editor, diagramName, initialXml, d
var user = AC.getUrlParam('user_id', true);
var draftExists = false;
+ var diagramDisplayName = macroData != null? (macroData.diagramDisplayName || diagramName) : diagramName;
+
AP.require(['messages', 'confluence', 'request'], function(messages, confluence, request)
{
var newPage = location.indexOf('createpage.action') > -1 ? true : false;
@@ -613,7 +615,7 @@ AC.init = function(baseUrl, location, pageId, editor, diagramName, initialXml, d
if (initialXml != '')
{
editor.contentWindow.postMessage(JSON.stringify({action: 'load',
- autosave: 1, xml: initialXml, title: diagramName,
+ autosave: 1, xml: initialXml, title: diagramDisplayName,
macroData: macroData}), '*');
}
@@ -621,7 +623,7 @@ AC.init = function(baseUrl, location, pageId, editor, diagramName, initialXml, d
{
// Keeps ignore option even for existing files
editor.contentWindow.postMessage(JSON.stringify({action: 'draft', xml: draftXml,
- name: diagramName, discardKey: 'discardChanges', ignore: true}), '*');
+ name: diagramDisplayName, discardKey: 'discardChanges', ignore: true}), '*');
}
else if (initialXml == '')
{
@@ -654,7 +656,7 @@ AC.init = function(baseUrl, location, pageId, editor, diagramName, initialXml, d
//console.trace('DRAFT: Using', draftName);
editor.contentWindow.postMessage(JSON.stringify({action: 'load',
- autosave: 1, xml: drawMsg.message.xml, title: diagramName}), '*');
+ autosave: 1, xml: drawMsg.message.xml, title: diagramDisplayName}), '*');
editor.contentWindow.postMessage(JSON.stringify({action: 'status',
messageKey: 'unsavedChanges', modified: true}), '*');
draftExists = true;
@@ -666,7 +668,7 @@ AC.init = function(baseUrl, location, pageId, editor, diagramName, initialXml, d
if (initialXml != '')
{
editor.contentWindow.postMessage(JSON.stringify({action: 'load',
- autosave: 1, xml: initialXml, title: diagramName,
+ autosave: 1, xml: initialXml, title: diagramDisplayName,
macroData: macroData}), '*');
}
else
@@ -843,6 +845,7 @@ AC.init = function(baseUrl, location, pageId, editor, diagramName, initialXml, d
checkName(drawMsg.name, function(name)
{
diagramName = name;
+ diagramDisplayName = name;
AP.require('request', function(request) {
@@ -853,7 +856,7 @@ AC.init = function(baseUrl, location, pageId, editor, diagramName, initialXml, d
success: function(xml)
{
editor.contentWindow.postMessage(JSON.stringify({action: 'load',
- autosave: 1, xml: xml, title: diagramName}), '*');
+ autosave: 1, xml: xml, title: diagramDisplayName}), '*');
editor.contentWindow.postMessage(JSON.stringify({action: 'spinner',
show: false}), '*');
},
@@ -906,6 +909,7 @@ AC.init = function(baseUrl, location, pageId, editor, diagramName, initialXml, d
editor.contentWindow.postMessage(JSON.stringify({action: 'spinner',
show: false}), '*');
diagramName = name;
+ diagramDisplayName = name;
if (AC.draftEnabled)
{
@@ -917,7 +921,7 @@ AC.init = function(baseUrl, location, pageId, editor, diagramName, initialXml, d
{
editor.contentWindow.postMessage(JSON.stringify({action: 'spinner', show: false}), '*');
editor.contentWindow.postMessage(JSON.stringify({action: 'load',
- autosave: 1, xml: drawMsg.xml, title: diagramName}), '*');
+ autosave: 1, xml: drawMsg.xml, title: diagramDisplayName}), '*');
},
function()
{
@@ -933,7 +937,7 @@ AC.init = function(baseUrl, location, pageId, editor, diagramName, initialXml, d
else
{
editor.contentWindow.postMessage(JSON.stringify({action: 'load',
- autosave: 1, xml: drawMsg.xml, title: diagramName}), '*');
+ autosave: 1, xml: drawMsg.xml, title: diagramDisplayName}), '*');
}
},
function(name, err, errKey)
@@ -996,6 +1000,7 @@ AC.init = function(baseUrl, location, pageId, editor, diagramName, initialXml, d
editor.contentWindow.postMessage(JSON.stringify({action: 'spinner',
show: false}), '*');
diagramName = name;
+ diagramDisplayName = name;
editor.contentWindow.postMessage(JSON.stringify({action: 'export',
format: 'png', spinKey: 'saving'}), '*');
},
@@ -1006,6 +1011,39 @@ AC.init = function(baseUrl, location, pageId, editor, diagramName, initialXml, d
promptName(name, err, errKey);
});
}
+ else if (drawMsg.event == 'rename')
+ {
+ //If diagram name is not set yet, use the new name for both file and diagram
+ //TODO should we disable renaming if diagramName is null?
+ if (diagramName == null)
+ {
+ editor.contentWindow.postMessage(JSON.stringify({action: 'spinner',
+ show: true}), '*');
+
+ checkName(drawMsg.name, function(name)
+ {
+ editor.contentWindow.postMessage(JSON.stringify({action: 'spinner',
+ show: false}), '*');
+ diagramName = name;
+ diagramDisplayName = name;
+ },
+ function(name, err, errKey)
+ {
+ editor.contentWindow.postMessage(JSON.stringify({action: 'spinner',
+ show: false}), '*');
+ editor.contentWindow.postMessage(JSON.stringify({action: 'dialog',
+ titleKey: 'error', message: err, messageKey: errKey,
+ buttonKey: 'ok'}), '*');
+ });
+ }
+ else
+ {
+ diagramDisplayName = drawMsg.name;
+ }
+
+ editor.contentWindow.postMessage(JSON.stringify({action: 'status',
+ messageKey: 'unsavedChanges', modified: true}), '*');
+ }
else if (drawMsg.event == 'export')
{
// Proceeds from sending the export message by saving the exported files
@@ -1078,7 +1116,7 @@ AC.init = function(baseUrl, location, pageId, editor, diagramName, initialXml, d
var spaceKey = AC.getSpaceKey(attObj._expandable.space);
var pageType = attObj.container.type;
- AC.saveCustomContent(spaceKey, pageId, pageType, diagramName, revision,
+ AC.saveCustomContent(spaceKey, pageId, pageType, diagramName, diagramDisplayName, revision,
(drawMsg.macroData != null) ? drawMsg.macroData.contentId : null,
(drawMsg.macroData != null) ? drawMsg.macroData.contentVer : null,
function(responseText)
@@ -1121,6 +1159,7 @@ AC.init = function(baseUrl, location, pageId, editor, diagramName, initialXml, d
confluence.saveMacro(
{
diagramName: diagramName,
+ diagramDisplayName: diagramDisplayName,
revision: revision,
pageId: newPage ? null : pageId,
contentId: contentId,
@@ -1200,6 +1239,7 @@ AC.loadDiagram = function (pageId, diagramName, revision, success, error, owning
confluence.saveMacro(
{
diagramName: macroData.diagramName,
+ diagramDisplayName: macroData.diagramDisplayName != null ? macroData.diagramDisplayName : macroData.diagramName,
revision: attInfo.version.number,
pageId: macroData.pageId,
contentId: macroData.contentId,
@@ -1309,7 +1349,7 @@ AC.loadDiagram = function (pageId, diagramName, revision, success, error, owning
});
};
-AC.saveCustomContent = function(spaceKey, pageId, pageType, diagramName, revision, contentId, contentVer, success, error)
+AC.saveCustomContent = function(spaceKey, pageId, pageType, diagramName, diagramDisplayName, revision, contentId, contentVer, success, error)
{
var customObj = {
"type": "ac:com.mxgraph.confluence.plugins.diagramly:drawio-diagram",
@@ -1320,7 +1360,7 @@ AC.saveCustomContent = function(spaceKey, pageId, pageType, diagramName, revisio
"type": pageType,
"id": pageId
},
- "title": diagramName,
+ "title": diagramDisplayName,
"body": {
"storage": {
"value": encodeURIComponent(JSON.stringify({
@@ -1356,7 +1396,7 @@ AC.saveCustomContent = function(spaceKey, pageId, pageType, diagramName, revisio
if (contentId && err.statusCode == 403 && err.message.indexOf(contentId) > 0)
{
- AC.saveCustomContent(spaceKey, pageId, pageType, diagramName, revision, null, null, success, error);
+ AC.saveCustomContent(spaceKey, pageId, pageType, diagramName, diagramDisplayName, revision, null, null, success, error);
}
//Sometimes the macro is not updated such that the version is not correct. The same happens when a page version is restored
else if (err.statusCode == 409 && err.message.indexOf("Current version is:") > 0)
@@ -1367,7 +1407,7 @@ AC.saveCustomContent = function(spaceKey, pageId, pageType, diagramName, revisio
if (curContentVer != null)
{
- AC.saveCustomContent(spaceKey, pageId, pageType, diagramName, revision, contentId, curContentVer[0], success, error);
+ AC.saveCustomContent(spaceKey, pageId, pageType, diagramName, diagramDisplayName, revision, contentId, curContentVer[0], success, error);
}
}
else
diff --git a/src/main/webapp/connect/confluence/macroEditor.html b/src/main/webapp/connect/confluence/macroEditor.html
index 7c34c335..2d74b71d 100644
--- a/src/main/webapp/connect/confluence/macroEditor.html
+++ b/src/main/webapp/connect/confluence/macroEditor.html
@@ -34,14 +34,19 @@
var script = document.createElement('script');
script.setAttribute('data-options', 'resize:false;margin:false');
- alert("Unsupported draw.io version, please upgrade.");
-
// Main
script.onload = function()
{
AP.sizeToParent(true);
- AC.initAsync(baseUrl);
+
+ alert("Unsupported draw.io version, please upgrade.");
+
+ AP.require(['confluence'], function (confluence)
+ {
+ confluence.closeMacroEditor();
+ });
};
+
script.src = connectUrl + '/all.js';
head.appendChild(script);
diff --git a/src/main/webapp/connect/confluence/viewer-1-4-8.html b/src/main/webapp/connect/confluence/viewer-1-4-8.html
index a0e81895..8d847fc4 100644
--- a/src/main/webapp/connect/confluence/viewer-1-4-8.html
+++ b/src/main/webapp/connect/confluence/viewer-1-4-8.html
@@ -78,6 +78,7 @@ if (lang != null)
var diagramWidth = parseFloat(getUrlParam('width'));
var diagramHeight = parseFloat(getUrlParam('height'));
var diagramName = getUrlParam('diagramName');
+ var displayName = getUrlParam('displayName');
//ceoId and owningPageId are IDs of the page that potentially hold the attachment
//they will differ when page history is shown, ceoId will be historical version ID,
@@ -128,8 +129,9 @@ if (lang != null)
}
// Loads the given XML into the viewer
- function showDiagram(id, backupId, name, revision, page, links, retryParams)
+ function showDiagram(id, backupId, name, revision, page, links, retryParams, displayName)
{
+ displayName = displayName || name;
id = id.toString();
retryParams = retryParams || {}; //so we can use it without NPE check
@@ -260,7 +262,7 @@ if (lang != null)
if (tbStyle == 'top')
{
- config.title = name;
+ config.title = displayName;
}
if (links != 'auto')
@@ -325,10 +327,10 @@ if (lang != null)
{
dialog.create(
{
- header: name,
+ header: displayName,
key: 'lightbox',
size: 'fullscreen',
- customData: {id: id, name: name, revision: revision, page: viewer.currentPage, links: links},
+ customData: {id: id, name: name, revision: revision, page: viewer.currentPage, links: links, displayName: displayName},
chrome: true
});
};
@@ -350,7 +352,7 @@ if (lang != null)
if (attInfo.version.number > loadedVer
&& (pageInfo.version.message == null || pageInfo.version.message.indexOf("Reverted") < 0))
{
- showDiagram(id, backupId, name, attInfo.version.number + '', page, links, {dontCheckVer: true});
+ showDiagram(id, backupId, name, attInfo.version.number + '', page, links, {dontCheckVer: true}, displayName);
//I think updating macro here is too risky since calling confluence.getMacroData returns null
}
}
@@ -440,12 +442,12 @@ if (lang != null)
//So, try revision 1 first
if (revision > 1)
{
- showDiagram(id, backupId, name, null, page, links, {revision: revision});
+ showDiagram(id, backupId, name, null, page, links, {revision: revision}, displayName);
}
else if (backupId != null)
{
//Since attachment wasn't found in this page, it is better to save it to this page
- showDiagram(backupId, null, name, revision || retryParams.revision, page, links, {saveIt: true, pageId: id});
+ showDiagram(backupId, null, name, revision || retryParams.revision, page, links, {saveIt: true, pageId: id}, displayName);
}
}
else if (acceptResponse)
@@ -477,7 +479,7 @@ if (lang != null)
var info = JSON.parse(decodeURIComponent(resp.body.storage.value));
- showDiagram(info.pageId, info.pageId, info.diagramName, info.version, null, links, {dontCheckVer: true}); //custom content can load old versions which will be overridden by version check
+ showDiagram(info.pageId, info.pageId, info.diagramName, info.version, null, links, {dontCheckVer: true}, resp.title); //custom content can load old versions which will be overridden by version check
},
error: function (resp)
{
@@ -489,12 +491,12 @@ if (lang != null)
{
// Gets the paramters from the customData object in lightbox mode
// LATER: Add XML to custom data (does not seem to work)
- showDiagram(dialog.customData.id, dialog.customData.id, dialog.customData.name, dialog.customData.revision, dialog.customData.page, dialog.customData.links);
+ showDiagram(dialog.customData.id, dialog.customData.id, dialog.customData.name, dialog.customData.revision, dialog.customData.page, dialog.customData.links, null, dialog.customData.displayName);
}
else
{
var myPageId = (owningPageId != null && owningPageId.length > 0) ? owningPageId : ceoId;
- showDiagram(candidateId, (owningPageId != null && owningPageId.length > 0) ? owningPageId : ceoId, diagramName, revision, null, links);
+ showDiagram(candidateId, (owningPageId != null && owningPageId.length > 0) ? owningPageId : ceoId, diagramName, revision, null, links, null, displayName);
}
});
});
diff --git a/src/main/webapp/images/facebook.png b/src/main/webapp/images/facebook.png
index 67abbcdb..b29439cf 100644
--- a/src/main/webapp/images/facebook.png
+++ b/src/main/webapp/images/facebook.png
Binary files differ
diff --git a/src/main/webapp/images/favicon-16x16.png b/src/main/webapp/images/favicon-16x16.png
index d478f41a..7dfb157f 100644
--- a/src/main/webapp/images/favicon-16x16.png
+++ b/src/main/webapp/images/favicon-16x16.png
Binary files differ
diff --git a/src/main/webapp/images/favicon-32x32.png b/src/main/webapp/images/favicon-32x32.png
index f0832805..64154c83 100644
--- a/src/main/webapp/images/favicon-32x32.png
+++ b/src/main/webapp/images/favicon-32x32.png
Binary files differ
diff --git a/src/main/webapp/images/tweet.png b/src/main/webapp/images/tweet.png
index 21917858..01c8083e 100644
--- a/src/main/webapp/images/tweet.png
+++ b/src/main/webapp/images/tweet.png
Binary files differ
diff --git a/src/main/webapp/js/app.min.js b/src/main/webapp/js/app.min.js
index 9aa92b7f..880d8d30 100644
--- a/src/main/webapp/js/app.min.js
+++ b/src/main/webapp/js/app.min.js
@@ -104,7 +104,7 @@ ko:"한국어",ja:"日本語",zh:"中文(中国)","zh-tw":"中文(台灣
function setCurrentXml(a,b){null!=window.parent&&null!=window.parent.openFile&&window.parent.openFile.setData(a,b)}
(function(){if("undefined"!==typeof JSON&&isLocalStorage)try{var a=localStorage.getItem(".drawio-config"),b=!0;null!=a&&(b=JSON.parse(a).showStartScreen);0==b&&(urlParams.splash="0")}catch(c){}a=urlParams["export"];null!=a&&("http://"!=a.substring(0,7)&&"https://"!=a.substring(0,8)&&(a="http://"+a),EXPORT_URL=a);window.DRAWIO_LOG_URL=window.DRAWIO_LOG_URL||"";b=window.location.host;"test.draw.io"!=b&&(a=b.length-7,b=b.lastIndexOf("draw.io",a),-1!==b&&b===a&&(window.DRAWIO_LOG_URL="https://log.draw.io"))})();
if("1"==urlParams.offline||"1"==urlParams.demo||"1"==urlParams.stealth||"1"==urlParams.local)urlParams.analytics="0",urlParams.picker="0",urlParams.gapi="0",urlParams.db="0",urlParams.od="0",urlParams.gh="0",urlParams.tr="0";if("1"==urlParams.offline||"1"==urlParams.local)urlParams.math="0";"1"==urlParams.lightbox&&(urlParams.chrome="0");window.urlParams=window.urlParams||{};window.MAX_REQUEST_SIZE=window.MAX_REQUEST_SIZE||10485760;window.MAX_AREA=window.MAX_AREA||225E6;window.EXPORT_URL=window.EXPORT_URL||"/export";window.SAVE_URL=window.SAVE_URL||"/save";window.OPEN_URL=window.OPEN_URL||"/open";window.RESOURCES_PATH=window.RESOURCES_PATH||"resources";window.RESOURCE_BASE=window.RESOURCE_BASE||window.RESOURCES_PATH+"/grapheditor";window.STENCIL_PATH=window.STENCIL_PATH||"stencils";window.IMAGE_PATH=window.IMAGE_PATH||"images";
-window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"3.9.5",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&
+window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"3.9.6",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&
0>navigator.userAgent.indexOf("Edge/"),IS_OP:0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/"),IS_OT:0<=navigator.userAgent.indexOf("Presto/")&&0>navigator.userAgent.indexOf("Presto/2.4.")&&0>navigator.userAgent.indexOf("Presto/2.3.")&&0>navigator.userAgent.indexOf("Presto/2.2.")&&0>navigator.userAgent.indexOf("Presto/2.1.")&&0>navigator.userAgent.indexOf("Presto/2.0.")&&0>navigator.userAgent.indexOf("Presto/1."),IS_SF:0<=navigator.userAgent.indexOf("AppleWebKit/")&&
0>navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_IOS:navigator.userAgent.match(/(iPad|iPhone|iPod)/g)?!0:!1,IS_GC:0<=navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:0<=navigator.userAgent.indexOf("Firefox/"),IS_MT:0<=navigator.userAgent.indexOf("Firefox/")&&0>navigator.userAgent.indexOf("Firefox/1.")&&0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&&
0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_SVG:0<=navigator.userAgent.indexOf("Firefox/")||0<=navigator.userAgent.indexOf("Iceweasel/")||0<=navigator.userAgent.indexOf("Seamonkey/")||0<=navigator.userAgent.indexOf("Iceape/")||0<=navigator.userAgent.indexOf("Galeon/")||
@@ -532,9 +532,9 @@ mxShape.prototype.updateHtmlColors=function(a){var b=this.stroke;null!=b&&b!=mxC
mxUtils.addTransparentBackgroundFilter(a):this.setTransparentBackgroundImage(a)};
mxShape.prototype.updateHtmlBounds=function(a){var b=9<=document.documentMode?0:Math.ceil(this.strokewidth*this.scale);a.style.borderWidth=Math.max(1,b)+"px";a.style.overflow="hidden";a.style.left=Math.round(this.bounds.x-b/2)+"px";a.style.top=Math.round(this.bounds.y-b/2)+"px";"CSS1Compat"==document.compatMode&&(b=-b);a.style.width=Math.round(Math.max(0,this.bounds.width+b))+"px";a.style.height=Math.round(Math.max(0,this.bounds.height+b))+"px"};
mxShape.prototype.destroyCanvas=function(a){if(a instanceof mxSvgCanvas2D){for(var b in a.gradients){var c=a.gradients[b];null!=c&&(c.mxRefCount=(c.mxRefCount||0)+1)}this.releaseSvgGradients(this.oldGradients);this.oldGradients=a.gradients}};
-mxShape.prototype.paint=function(a){var b=this.scale,c=this.bounds.x/b,d=this.bounds.y/b,e=this.bounds.width/b,f=this.bounds.height/b;if(this.isPaintBoundsInverted())var g=(e-f)/2,c=c+g,d=d-g,g=e,e=f,f=g;this.updateTransform(a,c,d,e,f);this.configureCanvas(a,c,d,e,f);g=null;if(null==this.stencil&&null==this.points&&this.shapePointerEvents||null!=this.stencil&&this.stencilPointerEvents){var k=this.createBoundingBox();this.dialect==mxConstants.DIALECT_SVG?(g=this.createTransparentSvgRectangle(k.x,k.y,
-k.width,k.height),this.node.appendChild(g)):(k=a.createRect("rect",k.x/b,k.y/b,k.width/b,k.height/b),k.appendChild(a.createTransparentFill()),k.stroked="false",a.root.appendChild(k))}if(null!=this.stencil)this.stencil.drawShape(a,this,c,d,e,f);else if(a.setStrokeWidth(this.strokewidth),null!=this.points){c=[];for(d=0;d<this.points.length;d++)null!=this.points[d]&&c.push(new mxPoint(this.points[d].x/b,this.points[d].y/b));this.paintEdgeShape(a,c)}else this.paintVertexShape(a,c,d,e,f);null!=g&&null!=
-a.state&&null!=a.state.transform&&g.setAttribute("transform",a.state.transform)};
+mxShape.prototype.paint=function(a){var b=!1;if(null!=a&&this.outline){var c=a.stroke;a.stroke=function(){b=!0;c.apply(this,arguments)};var d=a.fillAndStroke;a.fillAndStroke=function(){b=!0;d.apply(this,arguments)}}var e=this.scale,f=this.bounds.x/e,g=this.bounds.y/e,k=this.bounds.width/e,l=this.bounds.height/e;if(this.isPaintBoundsInverted())var m=(k-l)/2,f=f+m,g=g-m,m=k,k=l,l=m;this.updateTransform(a,f,g,k,l);this.configureCanvas(a,f,g,k,l);m=null;if(null==this.stencil&&null==this.points&&this.shapePointerEvents||
+null!=this.stencil&&this.stencilPointerEvents){var n=this.createBoundingBox();this.dialect==mxConstants.DIALECT_SVG?(m=this.createTransparentSvgRectangle(n.x,n.y,n.width,n.height),this.node.appendChild(m)):(n=a.createRect("rect",n.x/e,n.y/e,n.width/e,n.height/e),n.appendChild(a.createTransparentFill()),n.stroked="false",a.root.appendChild(n))}if(null!=this.stencil)this.stencil.drawShape(a,this,f,g,k,l);else if(a.setStrokeWidth(this.strokewidth),null!=this.points){for(var n=[],p=0;p<this.points.length;p++)null!=
+this.points[p]&&n.push(new mxPoint(this.points[p].x/e,this.points[p].y/e));this.paintEdgeShape(a,n)}else this.paintVertexShape(a,f,g,k,l);null!=m&&null!=a.state&&null!=a.state.transform&&m.setAttribute("transform",a.state.transform);null!=a&&this.outline&&!b&&(a.rect(f,g,k,l),a.stroke())};
mxShape.prototype.configureCanvas=function(a,b,c,d,e){var f=null;null!=this.style&&(f=this.style.dashPattern);a.setAlpha(this.opacity/100);a.setFillAlpha(this.fillOpacity/100);a.setStrokeAlpha(this.strokeOpacity/100);null!=this.isShadow&&a.setShadow(this.isShadow);null!=this.isDashed&&a.setDashed(this.isDashed,null!=this.style?1==mxUtils.getValue(this.style,mxConstants.STYLE_FIX_DASH,!1):!1);null!=f&&a.setDashPattern(f);null!=this.fill&&this.fill!=mxConstants.NONE&&this.gradient&&this.gradient!=mxConstants.NONE?
(b=this.getGradientBounds(a,b,c,d,e),a.setGradient(this.fill,this.gradient,b.x,b.y,b.width,b.height,this.gradientDirection)):a.setFillColor(this.fill);a.setStrokeColor(this.stroke)};mxShape.prototype.getGradientBounds=function(a,b,c,d,e){return new mxRectangle(b,c,d,e)};mxShape.prototype.updateTransform=function(a,b,c,d,e){a.scale(this.scale);a.rotate(this.getShapeRotation(),this.flipH,this.flipV,b+d/2,c+e/2)};
mxShape.prototype.paintVertexShape=function(a,b,c,d,e){this.paintBackground(a,b,c,d,e);a.setShadow(!1);this.paintForeground(a,b,c,d,e)};mxShape.prototype.paintBackground=function(a,b,c,d,e){};mxShape.prototype.paintForeground=function(a,b,c,d,e){};mxShape.prototype.paintEdgeShape=function(a,b){};
@@ -1958,7 +1958,7 @@ Editor.checkmarkImage=mxClient.IS_SVG?"data:image/gif;base64,R0lGODlhFQAVAMQfAGx
Editor.zoomInImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVBAMAAABbObilAAAAElBMVEUAAAAAAAAsLCwhISFxcXFgYGBavKaoAAAAAXRSTlMAQObYZgAAAElJREFUCNdjIAMwCQrB2YKCggJQJqMIA4sglK3owMzgqABVwsDMwCgAZTMbG8PYCHGEeoQ5CPMFFRD2MkFshmpSQLBRJFSJ8wcAEqcEM2uhl2MAAAAASUVORK5CYII=";Editor.zoomFitImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVBAMAAABbObilAAAAD1BMVEUAAAAAAAAwMDBwcHBgYGC1xl09AAAAAXRSTlMAQObYZgAAAEFJREFUCNdjIAMwCQrB2YKCggJQJqMwA7MglK1owMBgqABVApITwMdGqEeYgzBfUAFhLxPEZqgmBQQbRUKFOH8AAK5OA3lA+FFOAAAAAElFTkSuQmCC";
Editor.layersImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAMAAACeyVWkAAAAaVBMVEUAAAAgICAICAgdHR0PDw8WFhYICAgLCwsXFxcvLy8ODg4uLi4iIiIqKiokJCQYGBgKCgonJycFBQUCAgIqKiocHBwcHBwODg4eHh4cHBwnJycJCQkUFBQqKiojIyMuLi4ZGRkgICAEBATOWYXAAAAAGnRSTlMAD7+fnz8/H7/ff18/77+vr5+fn39/b28fH2xSoKsAAACQSURBVBjTrYxJEsMgDARZZMAY73sgCcn/HxnhKtnk7j6oRq0psfuoyndZ/SuODkHPLzfVT6KeyPePnJ7KrnkRjWMXTn4SMnN8mXe2SSM3ts8L/ZUxxrbAULSYJJULE0Iw9pjpenoICcgcX61mGgTgtCv9Be99pzCoDhNQWQnchD1mup5++CYGcoQexajZbfwAj/0MD8ZOaUgAAAAASUVORK5CYII=";
Editor.previousImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABmJLR0QA/wD/AP+gvaeTAAAAh0lEQVQ4je3UsQnCUBCA4U8hpa1NsoEjpHQJS0dxADdwEMuMIJkgA1hYChbGQgMi+JC8q4L/AB/vDu7x74cWWEZhJU44RmA1zujR5GIbXF9YNrjD/Q0bDRY4fEBZ4P4LlgTnCbAf84pUM8/9hY08tMUtEoQ1LpEgrNBFglChFXR6Q6GfwwR6AGKJMF74Vtt3AAAAAElFTkSuQmCC";Editor.nextImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABmJLR0QA/wD/AP+gvaeTAAAAi0lEQVQ4jeXUIQ7CUAwA0MeGxWI2yylwnALJUdBcgYvM7QYLmjOQIAkIPmJZghiIvypoUtX0tfnJL38X5ZfaEgUeUcManFBHgS0SLlhHggk3bCPBhCf2keCQR8wjwYTDp6YiZxJmOU1jGw7vGALescuBxsArNlOwd/CM1VSM/ut1qCIw+uOwiMJ+OF4CQzBCXm3hyAAAAABJRU5ErkJggg==";
-Editor.zoomOutLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAilBMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2N2iNAAAALXRSTlMA+vTcKMM96GRBHwXxi0YaX1HLrKWhiHpWEOnOr52Vb2xKSDcT19PKv5l/Ngdk8+viAAABJklEQVQ4y4WT2XaDMAxEvWD2nSSUNEnTJN3r//+9Sj7ILAY6L0ijC4ONYVZRpo6cByrz2YKSUGorGTpz71lPVHvT+avoB5wIkU/mxk8veceSuNoLg44IzziXjvpih72wKQnm8yc2UoiP/LAd8jQfe2Xf4Pq+2EyYIvv9wbzHHCgwxDdlBtWZOdqDfTCVgqpygQpsZaojVAVc9UjQxnAJDIBhiQv84tq3gMQCAVTxVoSibXJf8tMuc7e1TB/DCmejBNg/w1Y3c+AM5vv4w7xM59/oXamrHaLVqPQ+OTCnmMZxgz0SdL5zji0/ld6j88qGa5KIiBB6WeJGKfUKwSMKLuXgvl1TW0tm5R9UQL/efSDYsnzxD8CinhBsTTdugJatKpJwf8v+ADb8QmvW7AeAAAAAAElFTkSuQmCC";
+Editor.editImage=mxClient.IS_SVG?"data:image/gif;base64,R0lGODlhCwALAIABAFdXV////yH5BAEAAAEALAAAAAALAAsAAAIZjB8AiKuc4jvLOGqzrjX6zmkWyChXaUJBAQA7":IMAGE_PATH+"/edit.gif";Editor.zoomOutLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAilBMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2N2iNAAAALXRSTlMA+vTcKMM96GRBHwXxi0YaX1HLrKWhiHpWEOnOr52Vb2xKSDcT19PKv5l/Ngdk8+viAAABJklEQVQ4y4WT2XaDMAxEvWD2nSSUNEnTJN3r//+9Sj7ILAY6L0ijC4ONYVZRpo6cByrz2YKSUGorGTpz71lPVHvT+avoB5wIkU/mxk8veceSuNoLg44IzziXjvpih72wKQnm8yc2UoiP/LAd8jQfe2Xf4Pq+2EyYIvv9wbzHHCgwxDdlBtWZOdqDfTCVgqpygQpsZaojVAVc9UjQxnAJDIBhiQv84tq3gMQCAVTxVoSibXJf8tMuc7e1TB/DCmejBNg/w1Y3c+AM5vv4w7xM59/oXamrHaLVqPQ+OTCnmMZxgz0SdL5zji0/ld6j88qGa5KIiBB6WeJGKfUKwSMKLuXgvl1TW0tm5R9UQL/efSDYsnzxD8CinhBsTTdugJatKpJwf8v+ADb8QmvW7AeAAAAAAElFTkSuQmCC";
Editor.zoomInLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAilBMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2N2iNAAAALXRSTlMA+vTcKMM96GRBHwXxi0YaX1HLrKWhiHpWEOnOr52Vb2xKSDcT19PKv5l/Ngdk8+viAAABKElEQVQ4y4WT6WKCMBCENwkBwn2oFKvWqr3L+79es4EkQIDOH2d3Pxk2ABiJlB8JCXjqw4LikHVGLHTm3nM3UeVN5690GBBN0GwyV/3kkrUQR+WeKnREeKpzaXWd77CmJiXGfPIEI4V4yQ9TIW/ntlcMBe731Vts9w5TWG8F5j3mQI4hvrKpdGeYA7CX9qAcl650gVJartxRuhyHVghF8idQAIbFLvCLu28BsQEC6aKtCK6Pyb3JT7PmbmtNH8Ny56CotD/2qOs5cJbuffxgXmCib+xddVU5RNOhkvvkhTlFehzVWCOh3++MYElOhfdovaImnRYVmqDdsuhNp1QrBBE6uGC2+3ZNjGdg5B94oD+9uyVgWT79BwAxEBTWdOu3bWBVgsn/N/AHUD9IC01Oe40AAAAASUVORK5CYII=";
Editor.actualSizeLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAilBMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2N2iNAAAALXRSTlMA+vTcKMM96GRBHwXxi0YaX1HLrKWhiHpWEOnOr52Vb2xKSDcT19PKv5l/Ngdk8+viAAABIUlEQVQ4y4WT2XqDIBCFBxDc9yTWNEnTJN3r+79eGT4BEbXnaubMr8dBBaM450dCQp4LWFAascGIRd48eB4cNYE7f6XjgGiCFs5c+dml6CFN6j1V6IQIlHPpdV/usKcmJcV88gQTRXjLD9Mhb+fWq8YG9/uCmTCFjeeDeY85UGKIUGUuqzN42kv7oCouq9oHamlzVR1lVfpAIu1QVRiW+sAv7r4FpAYIZZVsRXB9TP5Dfpo1d1trCgzz1iiptH/sUbdz4CzN9+mLeXHn3+hdddd4RDegsrvzwZwSs2GLPRJidAqCLTlVwaMPqpYMWjTWBB2WRW86pVkhSKyDK2bdt2tmagZG4sBD/evdLQHLEvQfAOKRoLCmG1FAB6uKmby+gz+REDn7O5+EwQAAAABJRU5ErkJggg==";
Editor.printLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAXVBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9RKvvlAAAAHnRSTlMAydnl77qbMLT093H7K4Nd4Ktn082+lYt5bkklEgP44nQSAAAApUlEQVQ4y73P2Q6DIBRF0cOgbRHHzhP//5m9mBAQKjG1cT0Yc7ITAMu1LNQgUZiQ2DYoNQ0sCQb6qgHAfRx48opq3J9AZ6xuF7uOew8Ik1OsCZRS2UAC9V+D9a+QZYxNA45YFQftPtSkATOhw7dAc0vPBwKWiIOjP0JZ0yMuQJ27g36DipOUsqRAM0dR8KD1/ILHaHSE/w8DIx09E3g/BTce6rHUB5sAPKvfF+JdAAAAAElFTkSuQmCC";
@@ -2114,8 +2114,8 @@ EditorUi.prototype.undo=function(){try{var a=this.editor.graph;if(a.isEditing())
EditorUi.prototype.getEditBlankXml=function(){return mxUtils.getXml(this.editor.getGraphXml())};EditorUi.prototype.getUrl=function(a){a=null!=a?a:window.location.pathname;var c=0<a.indexOf("?")?1:0,d;for(d in urlParams)a=0==c?a+"?":a+"&",a+=d+"="+urlParams[d],c++;return a};
EditorUi.prototype.setScrollbars=function(a){var c=this.editor.graph,d=c.container.style.overflow;c.scrollbars=a;this.editor.updateGraphComponents();d!=c.container.style.overflow&&("hidden"==c.container.style.overflow?(a=c.view.translate,c.view.setTranslate(a.x-c.container.scrollLeft/c.view.scale,a.y-c.container.scrollTop/c.view.scale),c.container.scrollLeft=0,c.container.scrollTop=0,c.minimumGraphSize=null,c.sizeDidChange()):(a=c.view.translate.x,d=c.view.translate.y,c.view.translate.x=0,c.view.translate.y=
0,c.sizeDidChange(),c.container.scrollLeft-=Math.round(a*c.view.scale),c.container.scrollTop-=Math.round(d*c.view.scale)));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 c=a.getPagePadding();a.container.scrollTop=Math.floor(c.y-this.editor.initialTopSpacing);a.container.scrollLeft=Math.floor(Math.min(c.x,(a.container.scrollWidth-a.container.clientWidth)/2));c=
-a.getGraphBounds();0<c.width&&0<c.height&&(c.x>a.container.scrollLeft+.9*a.container.clientWidth&&(a.container.scrollLeft=Math.min(c.x+c.width-a.container.clientWidth,c.x-10)),c.y>a.container.scrollTop+.9*a.container.clientHeight&&(a.container.scrollTop=Math.min(c.y+c.height-a.container.clientHeight,c.y-10)))}else{var c=a.getGraphBounds(),d=Math.max(c.width,a.scrollTileSize.width*a.view.scale);a.container.scrollTop=Math.floor(Math.max(0,c.y-Math.max(20,(a.container.clientHeight-Math.max(c.height,
+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 c=a.getPagePadding();a.container.scrollTop=Math.floor(c.y-this.editor.initialTopSpacing)-1;a.container.scrollLeft=Math.floor(Math.min(c.x,(a.container.scrollWidth-a.container.clientWidth)/2))-
+1;c=a.getGraphBounds();0<c.width&&0<c.height&&(c.x>a.container.scrollLeft+.9*a.container.clientWidth&&(a.container.scrollLeft=Math.min(c.x+c.width-a.container.clientWidth,c.x-10)),c.y>a.container.scrollTop+.9*a.container.clientHeight&&(a.container.scrollTop=Math.min(c.y+c.height-a.container.clientHeight,c.y-10)))}else{var c=a.getGraphBounds(),d=Math.max(c.width,a.scrollTileSize.width*a.view.scale);a.container.scrollTop=Math.floor(Math.max(0,c.y-Math.max(20,(a.container.clientHeight-Math.max(c.height,
a.scrollTileSize.height*a.view.scale))/4)));a.container.scrollLeft=Math.floor(Math.max(0,c.x-Math.max(0,(a.container.clientWidth-d)/2)))}else a.pageVisible?(c=a.view.getBackgroundPageBounds(),a.view.setTranslate(Math.floor(Math.max(0,(a.container.clientWidth-c.width)/2)-c.x),Math.floor(Math.max(0,(a.container.clientHeight-c.height)/2)-c.y))):(c=a.getGraphBounds(),a.view.setTranslate(Math.floor(Math.max(0,Math.max(0,(a.container.clientWidth-c.width)/2)-c.x)),Math.floor(Math.max(0,Math.max(20,(a.container.clientHeight-
c.height)/4))-c.y)))};
EditorUi.prototype.setPageVisible=function(a){var c=this.editor.graph,d=mxUtils.hasScrollbars(c.container),b=0,f=0;d&&(b=c.view.translate.x*c.view.scale-c.container.scrollLeft,f=c.view.translate.y*c.view.scale-c.container.scrollTop);c.pageVisible=a;c.pageBreaksVisible=a;c.preferPageSize=a;c.view.validateBackground();d&&(a=c.getSelectionCells(),c.clearSelection(),c.setSelectionCells(a));c.sizeDidChange();d&&(c.container.scrollLeft=c.view.translate.x*c.view.scale-b,c.container.scrollTop=c.view.translate.y*
@@ -2479,14 +2479,14 @@ this.setDisplay("");null!=this.currentState&&this.currentState!=a&&b<this.activa
this.reset())}else 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 c=mxGraphView.prototype.validateCellState;mxGraphView.prototype.validateCellState=function(a,b){var d=this.getState(a);null!=d&&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&&this.graph.model.isEdge(d.cell)&&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 f=new mxPoint(c,e);f.type=b;d.push(f);f=null!=a.routedPoints?a.routedPoints[d.length-1]:null;return null==f||f.type!=b||f.x!=c||f.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],v=[],u=b[f+2];f<
-b.length-2&&mxUtils.ptSegDistSq(k.x,k.y,u.x,u.y,h.x,h.y)<1*this.scale*this.scale;)h=u,f++,u=b[f+2];for(var c=e(0,k.x,k.y)||c,z=0;z<this.validEdges.length;z++){var x=this.validEdges[z],C=x.absolutePoints;if(null!=C&&mxUtils.intersects(a,x)&&"1"!=x.style.noJump)for(x=0;x<C.length-1;x++){for(var A=C[x+1],D=C[x],u=C[x+2];x<C.length-2&&mxUtils.ptSegDistSq(D.x,D.y,u.x,u.y,A.x,A.y)<1*this.scale*this.scale;)A=u,x++,u=C[x+2];u=mxUtils.intersection(k.x,k.y,h.x,h.y,D.x,D.y,A.x,A.y);if(null!=u&&(Math.abs(u.x-
-D.x)>g||Math.abs(u.y-D.y)>g)&&(Math.abs(u.x-A.x)>g||Math.abs(u.y-A.y)>g)){A=u.x-k.x;D=u.y-k.y;u={distSq:A*A+D*D,x:u.x,y:u.y};for(A=0;A<v.length;A++)if(v[A].distSq>u.distSq){v.splice(A,0,u);u=null;break}null==u||0!=v.length&&v[v.length-1].x===u.x&&v[v.length-1].y===u.y||v.push(u)}}}for(x=0;x<v.length;x++)c=e(1,v[x].x,v[x].y)||c}u=b[b.length-1];c=e(0,u.x,u.y)||c}a.routedPoints=d;return c}return!1};var f=mxConnector.prototype.paintLine;mxConnector.prototype.paintLine=function(a,b,c){this.routedPoints=
+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},f=.5*this.scale,c=!1,d=[],g=0;g<b.length-1;g++){for(var h=b[g+1],k=b[g],v=[],u=b[g+2];g<
+b.length-2&&mxUtils.ptSegDistSq(k.x,k.y,u.x,u.y,h.x,h.y)<1*this.scale*this.scale;)h=u,g++,u=b[g+2];for(var c=e(0,k.x,k.y)||c,z=0;z<this.validEdges.length;z++){var x=this.validEdges[z],C=x.absolutePoints;if(null!=C&&mxUtils.intersects(a,x)&&"1"!=x.style.noJump)for(x=0;x<C.length-1;x++){for(var A=C[x+1],D=C[x],u=C[x+2];x<C.length-2&&mxUtils.ptSegDistSq(D.x,D.y,u.x,u.y,A.x,A.y)<1*this.scale*this.scale;)A=u,x++,u=C[x+2];u=mxUtils.intersection(k.x,k.y,h.x,h.y,D.x,D.y,A.x,A.y);if(null!=u&&(Math.abs(u.x-
+D.x)>f||Math.abs(u.y-D.y)>f)&&(Math.abs(u.x-A.x)>f||Math.abs(u.y-A.y)>f)){A=u.x-k.x;D=u.y-k.y;u={distSq:A*A+D*D,x:u.x,y:u.y};for(A=0;A<v.length;A++)if(v[A].distSq>u.distSq){v.splice(A,0,u);u=null;break}null==u||0!=v.length&&v[v.length-1].x===u.x&&v[v.length-1].y===u.y||v.push(u)}}}for(x=0;x<v.length;x++)c=e(1,v[x].x,v[x].y)||c}u=b[b.length-1];c=e(0,u.x,u.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,k=!0,l=null,m=null;h=[];var u=null;a.begin();for(var z=0;z<this.state.routedPoints.length;z++){var x=
this.state.routedPoints[z],C=new mxPoint(x.x/this.scale,x.y/this.scale);0==z?C=b[0]:z==this.state.routedPoints.length-1&&(C=b[b.length-1]);var A=!1;if(null!=l&&1==x.type){var D=this.state.routedPoints[z+1],x=D.x/this.scale-C.x,D=D.y/this.scale-C.y,x=x*x+D*D;null==u&&(u=new mxPoint(C.x-l.x,C.y-l.y),m=Math.sqrt(u.x*u.x+u.y*u.y),u.x=u.x*e/m,u.y=u.y*e/m);x>e*e&&0<m&&(x=l.x-C.x,D=l.y-C.y,x=x*x+D*D,x>e*e&&(A=new mxPoint(C.x-u.x,C.y-u.y),x=new mxPoint(C.x+u.x,C.y+u.y),h.push(A),this.addPoints(a,h,c,d,!1,
null,k),h=0>Math.round(u.x)||0==Math.round(u.x)&&0>=Math.round(u.y)?1:-1,k=!1,"sharp"==g?(a.lineTo(A.x-u.y*h,A.y+u.x*h),a.lineTo(x.x-u.y*h,x.y+u.x*h),a.lineTo(x.x,x.y)):"arc"==g?(h*=1.3,a.curveTo(A.x-u.y*h,A.y+u.x*h,x.x-u.y*h,x.y+u.x*h,x.x,x.y)):(a.moveTo(x.x,x.y),k=!0),h=[x],A=!0))}else u=null;A||(h.push(C),l=C)}this.addPoints(a,h,c,d,!1,null,k);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 f=this.getNextPoint(a,c,d),g=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),f=mxUtils.getRotatedPoint(f,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);f=this.getPerimeterPoint(b,f,0==h&&g,l);0!=h&&(l=Math.cos(h),m=Math.sin(h),f=mxUtils.getRotatedPoint(f,l,m,k));a.setAbsoluteTerminalPoint(this.snapToAnchorPoint(a,b,c,d,f),d)}};mxGraphView.prototype.snapToAnchorPoint=function(a,b,c,d,e){if(null!=b&&null!=a){a=this.graph.getAllConnectionConstraints(b);d=c=null;for(var f=0;f<a.length;f++){var g=this.graph.getConnectionPoint(b,a[f]);if(null!=g){var h=(g.x-e.x)*(g.x-e.x)+(g.y-e.y)*(g.y-e.y);if(null==d||h<d)c=g,d=h}}null!=c&&(e=c)}return e};var k=mxStencil.prototype.evaluateTextAttribute;
+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;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 k=mxStencil.prototype.evaluateTextAttribute;
mxStencil.prototype.evaluateTextAttribute=function(a,b,c){var d=k.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=mxUtils.getValue(a.style,mxConstants.STYLE_SHAPE,null);if(null!=b&&"stencil("==b.substring(0,8))try{var c=b.substring(8,b.length-1),d=mxUtils.parseXml(a.view.graph.decompress(c));
return new mxShape(new mxStencil(d.documentElement))}catch(p){null!=window.console&&console.log("Error in shape: "+p)}}return g.apply(this,arguments)}})();mxStencilRegistry.libraries={};mxStencilRegistry.dynamicLoading=!0;mxStencilRegistry.allowEval=!0;mxStencilRegistry.packages=[];
mxStencilRegistry.getStencil=function(a){var c=mxStencilRegistry.stencils[a];if(null==c&&null==mxCellRenderer.defaultShapes[a]&&mxStencilRegistry.dynamicLoading){var d=mxStencilRegistry.getBasenameForStencil(a);if(null!=d){c=mxStencilRegistry.libraries[d];if(null!=c){if(null==mxStencilRegistry.packages[d]){for(var b=0;b<c.length;b++){var f=c[b];if(".xml"==f.toLowerCase().substring(f.length-4,f.length))mxStencilRegistry.loadStencilSet(f,null);else if(".js"==f.toLowerCase().substring(f.length-3,f.length))try{if(mxStencilRegistry.allowEval){var e=
@@ -2503,50 +2503,50 @@ for(var b in this.graph.currentEdgeStyle)a.style[b]=this.graph.currentEdgeStyle[
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",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+";");"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.importGraphModel=function(a,b,c,d){b=null!=b?
-b:0;c=null!=c?c:0;var e=[],f=new mxGraphModel;(new mxCodec(a.ownerDocument)).decode(a,f);a=f.getChildCount(f.getRoot());this.model.getChildCount(this.model.getRoot());this.model.beginUpdate();try{for(var g={},h=0;h<a;h++){var k=f.getChildAt(f.getRoot(),h);if(1!=a||this.isCellLocked(this.getDefaultParent()))k=this.importCells([k],0,0,this.model.getRoot(),null,g)[0],l=this.model.getChildren(k),this.moveCells(l,b,c),e=e.concat(l);else var l=f.getChildren(k),e=e.concat(this.importCells(l,b,c,this.getDefaultParent(),
-null,g))}if(d){this.isGridEnabled()&&(b=this.snap(b),c=this.snap(c));var y=this.getBoundingBoxFromGeometry(e,!0);null!=y&&this.moveCells(e,b-y.x,c-y.y)}}finally{this.model.endUpdate()}return e};Graph.prototype.getAllConnectionConstraints=function(a,b){if(null!=a){var c=mxUtils.getValue(a.style,"points",null);if(null!=c){var d=[];try{for(var e=JSON.parse(c),c=0;c<e.length;c++){var f=e[c];d.push(new mxConnectionConstraint(new mxPoint(f[0],f[1]),2<f.length?"0"!=f[2]:!0))}}catch(ca){}return d}if(null!=
+b:0;c=null!=c?c:0;var e=[],g=new mxGraphModel;(new mxCodec(a.ownerDocument)).decode(a,g);a=g.getChildCount(g.getRoot());this.model.getChildCount(this.model.getRoot());this.model.beginUpdate();try{for(var f={},h=0;h<a;h++){var k=g.getChildAt(g.getRoot(),h);if(1!=a||this.isCellLocked(this.getDefaultParent()))k=this.importCells([k],0,0,this.model.getRoot(),null,f)[0],l=this.model.getChildren(k),this.moveCells(l,b,c),e=e.concat(l);else var l=g.getChildren(k),e=e.concat(this.importCells(l,b,c,this.getDefaultParent(),
+null,f))}if(d){this.isGridEnabled()&&(b=this.snap(b),c=this.snap(c));var y=this.getBoundingBoxFromGeometry(e,!0);null!=y&&this.moveCells(e,b-y.x,c-y.y)}}finally{this.model.endUpdate()}return e};Graph.prototype.getAllConnectionConstraints=function(a,b){if(null!=a){var c=mxUtils.getValue(a.style,"points",null);if(null!=c){var d=[];try{for(var e=JSON.parse(c),c=0;c<e.length;c++){var g=e[c];d.push(new mxConnectionConstraint(new mxPoint(g[0],g[1]),2<g.length?"0"!=g[2]:!0))}}catch(ca){}return d}if(null!=
a.shape)if(null!=a.shape.stencil){if(null!=a.shape.stencil)return a.shape.stencil.constraints}else if(null!=a.shape.constraints)return a.shape.constraints}return null};Graph.prototype.flipEdge=function(a){if(null!=a){var b=this.view.getState(a),b=null!=b?b.style:this.getCellStyle(a);null!=b&&(b=mxUtils.getValue(b,mxConstants.STYLE_ELBOW,mxConstants.ELBOW_HORIZONTAL)==mxConstants.ELBOW_HORIZONTAL?mxConstants.ELBOW_VERTICAL:mxConstants.ELBOW_HORIZONTAL,this.setCellStyles(mxConstants.STYLE_ELBOW,b,[a]))}};
Graph.prototype.isValidRoot=function(a){for(var b=this.model.getChildCount(a),c=0,d=0;d<b;d++){var e=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 f=b.getTerminal(e,!0),g=b.getTerminal(e,!1);b.setTerminal(e,g,!0);b.setTerminal(e,f,!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 m=this.view.getState(e),G=this.view.getState(f),n=this.view.getState(g);if(null!=m){var p=null!=G?this.getConnectionConstraint(m,G,!0):null,q=null!=n?this.getConnectionConstraint(m,n,!1):null;this.setConnectionConstraint(e,f,!0,q);this.setConnectionConstraint(e,g,!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 r=h.width;h.width=h.height;
+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 m=this.view.getState(e),G=this.view.getState(g),n=this.view.getState(f);if(null!=m){var p=null!=G?this.getConnectionConstraint(m,G,!0):null,q=null!=n?this.getConnectionConstraint(m,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 r=h.width;h.width=h.height;
h.height=r;b.setGeometry(e,h);var t=this.view.getState(e);if(null!=t){var x=t.style[mxConstants.STYLE_DIRECTION]||"east";"east"==x?x="south":"south"==x?x="west":"west"==x?x="north":"north"==x&&(x="east");this.setCellStyles(mxConstants.STYLE_DIRECTION,x,[e])}c.push(e)}}}finally{b.endUpdate()}return c};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++)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.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 f=this.convertValueToString(a[e]);if(null!=f&&0<f.length){d.innerHTML=f;for(var g=d.getElementsByTagName(null!=c?c:"*"),h=0;h<g.length;h++)b(g[h]);d.innerHTML!=f&&this.cellLabelChanged(a[e],d.innerHTML)}}};Graph.prototype.cellLabelChanged=function(a,b,c){b=this.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 f=a.value.cloneNode(!0);f.setAttribute("label",b);b=f}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)){var f=mxUtils.getValue(e.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),g=mxUtils.getValue(e.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE);if(f==mxConstants.NONE&&g==mxConstants.NONE){f=!0;for(g=0;g<this.model.getChildCount(e.cell)&&f;g++)b.get(this.model.getChildAt(e.cell,g))||(f=!1);f&&a.push(e.cell)}}}mxGraph.prototype.cellsRemoved.apply(this,
+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=this.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)){var g=mxUtils.getValue(e.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),f=mxUtils.getValue(e.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE);if(g==mxConstants.NONE&&f==mxConstants.NONE){g=!0;for(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++)if(this.isCellDeletable(a[c])){var d=this.view.getState(a[c]);if(null!=d){var e=mxUtils.getValue(d.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),d=mxUtils.getValue(d.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE);e==mxConstants.NONE&&d==mxConstants.NONE&&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.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&&0<c.length?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&&(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;resizable=0;points=[];";d.geometry=new mxGeometry(0,0,0,0);d.vertex=!0;if(null!=c){d.style+="align=center;verticalAlign=middle;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),f=this.view.scale;d.geometry.offset=new mxPoint(Math.round((a-e.x)/f),Math.round((b-e.y)/f))}else d.style+="autosize=1;align=left;verticalAlign=top;spacingTop=-4;",e=this.view.translate,d.geometry.width=40,d.geometry.height=20,d.geometry.x=Math.round(a/this.view.scale)-e.x,d.geometry.y=Math.round(b/this.view.scale)-
+!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)/g),Math.round((b-e.y)/g))}else d.style+="autosize=1;align=left;verticalAlign=top;spacingTop=-4;",e=this.view.translate,d.geometry.width=40,d.geometry.height=20,d.geometry.x=Math.round(a/this.view.scale)-e.x,d.geometry.y=Math.round(b/this.view.scale)-
e.y;this.getModel().beginUpdate();try{this.addCells([d],null!=c?c.cell:null),this.fireEvent(new mxEventObject("textInserted","cells",[d])),this.autoSizeCell(d)}finally{this.getModel().endUpdate()}return d};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.addClickHandler=function(a,b,c){var d=mxUtils.bind(this,function(){var a=this.container.getElementsByTagName("a");
-if(null!=a)for(var c=0;c<a.length;c++){var d=this.getAbsoluteUrl(a[c].getAttribute("href"));null!=d&&(a[c].setAttribute("href",d),null!=b&&mxEvent.addGestureListeners(a[c],null,null,b))}});this.model.addListener(mxEvent.CHANGE,d);d();var e=this.container.style.cursor,f=this.getTolerance(),g=this,h={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 b=a.sourceState;
-if(null==b||null==g.getLinkForCell(b.cell))a=g.getCellAt(a.getGraphX(),a.getGraphY(),null,null,null,function(a,b,c){return null==g.getLinkForCell(a.cell)}),b=g.view.getState(a);b!=this.currentState&&(null!=this.currentState&&this.clear(),this.currentState=b,null!=this.currentState&&this.activate(this.currentState))},mouseDown:function(a,b){this.startX=b.getGraphX();this.startY=b.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(b)},mouseMove:function(a,b){if(g.isMouseDown){if(null!=this.currentLink){var c=Math.abs(this.startX-b.getGraphX()),d=Math.abs(this.startY-b.getGraphY());(c>f||d>f)&&this.clear()}}else{for(c=b.getSource();null!=c&&"a"!=c.nodeName.toLowerCase();)c=c.parentNode;null!=c?this.clear():(null!=g.tooltipHandler&&null!=this.currentLink&&null!=this.currentState&&g.tooltipHandler.reset(b,!0,this.currentState),(null==this.currentState||
-b.getState()!=this.currentState&&null!=b.sourceState||!g.intersects(this.currentState,b.getGraphX(),b.getGraphY()))&&this.updateCurrentState(b))}},mouseUp:function(a,d){for(var e=d.getSource(),h=d.getEvent();null!=e&&"a"!=e.nodeName.toLowerCase();)e=e.parentNode;null==e&&Math.abs(this.scrollLeft-g.container.scrollLeft)<f&&Math.abs(this.scrollTop-g.container.scrollTop)<f&&(null==d.sourceState||!d.isSource(d.sourceState.control))&&((mxEvent.isLeftMouseButton(h)||mxEvent.isMiddleMouseButton(h))&&!mxEvent.isPopupTrigger(h)||
-mxEvent.isTouchEvent(h))&&(null!=this.currentLink?(e=g.isBlankLink(this.currentLink),"data:"!==this.currentLink.substring(0,5)&&e||null==b||b(h,this.currentLink),mxEvent.isConsumed(h)||(h=mxEvent.isMiddleMouseButton(h)?"_blank":e?g.linkTarget:"_top",g.openLink(this.currentLink,h),d.consume())):null!=c&&!d.isConsumed()&&Math.abs(this.scrollLeft-g.container.scrollLeft)<f&&Math.abs(this.scrollTop-g.container.scrollTop)<f&&Math.abs(this.startX-d.getGraphX())<f&&Math.abs(this.startY-d.getGraphY())<f&&
-c(d.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=e);this.currentLink=this.currentState=null;null!=this.highlight&&this.highlight.hide();null!=g.tooltipHandler&&g.tooltipHandler.hide()}};g.click=function(a){};g.addMouseListener(h);mxEvent.addListener(document,"mouseleave",
-function(a){h.clear()})};Graph.prototype.duplicateCells=function(a,b){a=null!=a?a:this.getSelectionCells();b=null!=b?b:!0;a=this.model.getTopmostCells(a);var c=this.getModel(),d=this.gridSize,e=[];c.beginUpdate();try{for(var f=this.cloneCells(a,!1),g=0;g<a.length;g++){var h=c.getParent(a[g]),k=this.moveCells([f[g]],d,d,!1)[0];e.push(k);if(b)c.add(h,f[g]);else{var l=h.getIndex(a[g]);c.add(h,f[g],l+1)}}}finally{c.endUpdate()}return e};Graph.prototype.insertImage=function(a,b,c){if(null!=a){for(var d=
-this.cellEditor.textarea.getElementsByTagName("img"),e=[],f=0;f<d.length;f++)e.push(d[f]);document.execCommand("insertimage",!1,a);a=this.cellEditor.textarea.getElementsByTagName("img");if(a.length==e.length+1)for(f=a.length-1;0<=f;f--)if(0==f||a[f]!=e[f-1]){a[f].setAttribute("width",b);a[f].setAttribute("height",c);break}}};Graph.prototype.insertLink=function(a){0==a.length?document.execCommand("unlink",!1):document.execCommand("createlink",!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,f=0;f<b.length;f++)if(this.getModel().isVertex(b[f])){var g=this.view.getState(b[f]);if(null!=g){var h=a?g.getCenterX():g.getCenterY(),d=
-null!=d?Math.max(d,h):h,e=null!=e?Math.min(e,h):h;c.push(g)}}if(2<c.length){c.sort(function(b,c){return a?b.x-c.x:b.y-c.y});g=this.view.translate;h=this.view.scale;e=e/h-(a?g.x:g.y);d=d/h-(a?g.x:g.y);this.getModel().beginUpdate();try{for(var k=(d-e)/(c.length-1),d=e,f=1;f<c.length-1;f++){var l=this.view.getState(this.model.getParent(c[f].cell)),m=this.getCellGeometry(c[f].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[f].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.encodeCells=function(a){for(var b=this.cloneCells(a),c=new mxDictionary,d=0;d<a.length;d++)c.put(a[d],!0);for(d=0;d<b.length;d++){var e=this.view.getState(a[d]);if(null!=e){var f=this.getCellGeometry(b[d]);null==f||!f.relative||this.model.isEdge(a[d])||c.get(this.model.getParent(a[d]))||(f.relative=!1,f.x=e.x/e.view.scale-
-e.view.translate.x,f.y=e.y/e.view.scale-e.view.translate.y)}}c=new mxCodec;e=new mxGraphModel;f=e.getChildAt(e.getRoot(),0);for(d=0;d<a.length;d++)e.add(f,b[d]);return c.encode(e)};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,f,g,h){b=null!=b?b:1;c=null!=c?c:0;e=null!=e?e:!0;f=null!=f?f:!0;g=null!=g?g:!0;d=f||d?this.getGraphBounds():
+if(null!=a)for(var c=0;c<a.length;c++){var d=this.getAbsoluteUrl(a[c].getAttribute("href"));null!=d&&(a[c].setAttribute("href",d),null!=b&&mxEvent.addGestureListeners(a[c],null,null,b))}});this.model.addListener(mxEvent.CHANGE,d);d();var e=this.container.style.cursor,g=this.getTolerance(),f=this,h={currentState:null,currentLink:null,highlight:null!=a&&""!=a&&a!=mxConstants.NONE?new mxCellHighlight(f,a,4):null,startX:0,startY:0,scrollLeft:0,scrollTop:0,updateCurrentState:function(a){var b=a.sourceState;
+if(null==b||null==f.getLinkForCell(b.cell))a=f.getCellAt(a.getGraphX(),a.getGraphY(),null,null,null,function(a,b,c){return null==f.getLinkForCell(a.cell)}),b=f.view.getState(a);b!=this.currentState&&(null!=this.currentState&&this.clear(),this.currentState=b,null!=this.currentState&&this.activate(this.currentState))},mouseDown:function(a,b){this.startX=b.getGraphX();this.startY=b.getGraphY();this.scrollLeft=f.container.scrollLeft;this.scrollTop=f.container.scrollTop;null==this.currentLink&&"auto"==
+f.container.style.overflow&&(f.container.style.cursor="move");this.updateCurrentState(b)},mouseMove:function(a,b){if(f.isMouseDown){if(null!=this.currentLink){var c=Math.abs(this.startX-b.getGraphX()),d=Math.abs(this.startY-b.getGraphY());(c>g||d>g)&&this.clear()}}else{for(c=b.getSource();null!=c&&"a"!=c.nodeName.toLowerCase();)c=c.parentNode;null!=c?this.clear():(null!=f.tooltipHandler&&null!=this.currentLink&&null!=this.currentState&&f.tooltipHandler.reset(b,!0,this.currentState),(null==this.currentState||
+b.getState()!=this.currentState&&null!=b.sourceState||!f.intersects(this.currentState,b.getGraphX(),b.getGraphY()))&&this.updateCurrentState(b))}},mouseUp:function(a,d){for(var e=d.getSource(),h=d.getEvent();null!=e&&"a"!=e.nodeName.toLowerCase();)e=e.parentNode;null==e&&Math.abs(this.scrollLeft-f.container.scrollLeft)<g&&Math.abs(this.scrollTop-f.container.scrollTop)<g&&(null==d.sourceState||!d.isSource(d.sourceState.control))&&((mxEvent.isLeftMouseButton(h)||mxEvent.isMiddleMouseButton(h))&&!mxEvent.isPopupTrigger(h)||
+mxEvent.isTouchEvent(h))&&(null!=this.currentLink?(e=f.isBlankLink(this.currentLink),"data:"!==this.currentLink.substring(0,5)&&e||null==b||b(h,this.currentLink),mxEvent.isConsumed(h)||(h=mxEvent.isMiddleMouseButton(h)?"_blank":e?f.linkTarget:"_top",f.openLink(this.currentLink,h),d.consume())):null!=c&&!d.isConsumed()&&Math.abs(this.scrollLeft-f.container.scrollLeft)<g&&Math.abs(this.scrollTop-f.container.scrollTop)<g&&Math.abs(this.startX-d.getGraphX())<g&&Math.abs(this.startY-d.getGraphY())<g&&
+c(d.getEvent()));this.clear()},activate:function(a){this.currentLink=f.getAbsoluteUrl(f.getLinkForCell(a.cell));null!=this.currentLink&&(f.container.style.cursor="pointer",null!=this.highlight&&this.highlight.highlight(a))},clear:function(){null!=f.container&&(f.container.style.cursor=e);this.currentLink=this.currentState=null;null!=this.highlight&&this.highlight.hide();null!=f.tooltipHandler&&f.tooltipHandler.hide()}};f.click=function(a){};f.addMouseListener(h);mxEvent.addListener(document,"mouseleave",
+function(a){h.clear()})};Graph.prototype.duplicateCells=function(a,b){a=null!=a?a:this.getSelectionCells();b=null!=b?b:!0;a=this.model.getTopmostCells(a);var c=this.getModel(),d=this.gridSize,e=[];c.beginUpdate();try{for(var g=this.cloneCells(a,!1),f=0;f<a.length;f++){var h=c.getParent(a[f]),k=this.moveCells([g[f]],d,d,!1)[0];e.push(k);if(b)c.add(h,g[f]);else{var l=h.getIndex(a[f]);c.add(h,g[f],l+1)}}}finally{c.endUpdate()}return e};Graph.prototype.insertImage=function(a,b,c){if(null!=a){for(var d=
+this.cellEditor.textarea.getElementsByTagName("img"),e=[],g=0;g<d.length;g++)e.push(d[g]);document.execCommand("insertimage",!1,a);a=this.cellEditor.textarea.getElementsByTagName("img");if(a.length==e.length+1)for(g=a.length-1;0<=g;g--)if(0==g||a[g]!=e[g-1]){a[g].setAttribute("width",b);a[g].setAttribute("height",c);break}}};Graph.prototype.insertLink=function(a){0==a.length?document.execCommand("unlink",!1):document.execCommand("createlink",!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.encodeCells=function(a){for(var b=this.cloneCells(a),c=new mxDictionary,d=0;d<a.length;d++)c.put(a[d],!0);for(d=0;d<b.length;d++){var e=this.view.getState(a[d]);if(null!=e){var g=this.getCellGeometry(b[d]);null==g||!g.relative||this.model.isEdge(a[d])||c.get(this.model.getParent(a[d]))||(g.relative=!1,g.x=e.x/e.view.scale-
+e.view.translate.x,g.y=e.y/e.view.scale-e.view.translate.y)}}c=new mxCodec;e=new mxGraphModel;g=e.getChildAt(e.getRoot(),0);for(d=0;d<a.length;d++)e.add(g,b[d]);return c.encode(e)};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){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;d=g||d?this.getGraphBounds():
this.getBoundingBox(this.getSelectionCells());if(null==d)throw Error(mxResources.get("drawingEmpty"));var k=this.view.scale,l=mxUtils.createXmlDocument(),m=null!=l.createElementNS?l.createElementNS(mxConstants.NS_SVG,"svg"):l.createElement("svg");null!=a&&(null!=m.style?m.style.backgroundColor=a:m.setAttribute("style","background-color:"+a));null==l.createElementNS?(m.setAttribute("xmlns",mxConstants.NS_SVG),m.setAttribute("xmlns:xlink",mxConstants.NS_XLINK)):m.setAttributeNS("http://www.w3.org/2000/xmlns/",
"xmlns:xlink",mxConstants.NS_XLINK);a=b/k;m.setAttribute("width",Math.max(1,Math.ceil(d.width*a)+2*c)+"px");m.setAttribute("height",Math.max(1,Math.ceil(d.height*a)+2*c)+"px");m.setAttribute("version","1.1");var y=m;e&&(y=null!=l.createElementNS?l.createElementNS(mxConstants.NS_SVG,"g"):l.createElement("g"),y.setAttribute("transform","translate(0.5,0.5)"),m.appendChild(y));l.appendChild(m);l=this.createSvgCanvas(y);l.foOffset=e?-.5:0;l.textOffset=e?-.5:0;l.imageOffset=e?-.5:0;l.translate(Math.floor((c/
-b-d.x)/k),Math.floor((c/b-d.y)/k));var n=document.createElement("textarea"),p=l.createAlternateContent;l.createAlternateContent=function(a,b,c,d,e,f,g,h,k,l,m,y,G){var q=this.state;if(null!=this.foAltText&&(0==d||0!=q.fontSize&&f.length<5*d/q.fontSize)){var r=this.createElement("text");r.setAttribute("x",Math.round(d/2));r.setAttribute("y",Math.round((e+q.fontSize)/2));r.setAttribute("fill",q.fontColor||"black");r.setAttribute("text-anchor","middle");r.setAttribute("font-size",Math.round(q.fontSize)+
-"px");r.setAttribute("font-family",q.fontFamily);(q.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&r.setAttribute("font-weight","bold");(q.fontStyle&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&r.setAttribute("font-style","italic");(q.fontStyle&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&r.setAttribute("text-decoration","underline");try{return n.innerHTML=f,r.textContent=n.value,r}catch(Ea){return p.apply(this,arguments)}}else return p.apply(this,arguments)};c=this.backgroundImage;
-null!=c&&(e=k/b,b=this.view.translate,e=new mxRectangle(b.x*e,b.y*e,c.width*e,c.height*e),mxUtils.intersects(d,e)&&l.image(b.x,b.y,c.width,c.height,c.src,!0));l.scale(a);l.textEnabled=g;h=null!=h?h:this.createSvgImageExport();var G=h.drawCellState;h.drawCellState=function(a,b){for(var c=a.view.graph,d=c.isCellSelected(a.cell),e=c.model.getParent(a.cell);!f&&!d&&null!=e;)d=c.isCellSelected(e),e=c.model.getParent(e);(f||d)&&G.apply(this,arguments)};h.drawState(this.getView().getState(this.model.root),
+b-d.x)/k),Math.floor((c/b-d.y)/k));var n=document.createElement("textarea"),p=l.createAlternateContent;l.createAlternateContent=function(a,b,c,d,e,g,f,h,k,l,m,y,G){var q=this.state;if(null!=this.foAltText&&(0==d||0!=q.fontSize&&g.length<5*d/q.fontSize)){var r=this.createElement("text");r.setAttribute("x",Math.round(d/2));r.setAttribute("y",Math.round((e+q.fontSize)/2));r.setAttribute("fill",q.fontColor||"black");r.setAttribute("text-anchor","middle");r.setAttribute("font-size",Math.round(q.fontSize)+
+"px");r.setAttribute("font-family",q.fontFamily);(q.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&r.setAttribute("font-weight","bold");(q.fontStyle&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&r.setAttribute("font-style","italic");(q.fontStyle&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&r.setAttribute("text-decoration","underline");try{return n.innerHTML=g,r.textContent=n.value,r}catch(Ea){return p.apply(this,arguments)}}else return p.apply(this,arguments)};c=this.backgroundImage;
+null!=c&&(e=k/b,b=this.view.translate,e=new mxRectangle(b.x*e,b.y*e,c.width*e,c.height*e),mxUtils.intersects(d,e)&&l.image(b.x,b.y,c.width,c.height,c.src,!0));l.scale(a);l.textEnabled=f;h=null!=h?h:this.createSvgImageExport();var G=h.drawCellState;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)&&G.apply(this,arguments)};h.drawState(this.getView().getState(this.model.root),
l);return m};Graph.prototype.createSvgCanvas=function(a){return new mxSvgCanvas2D(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.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=0<c.rows.length?c.rows[0].cells.length:1,c=c.insertRow(b),e=0;e<d;e++)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<=b?b:c.rows[0].cells.length-1]};Graph.prototype.deleteColumn=function(a,b){if(0<=b)for(var c=a.tBodies[0].rows,d=0;d<c.length;d++)c[d].cells.length>b&&
c[d].deleteCell(b)};Graph.prototype.pasteHtmlAtCaret=function(a){var b;if(window.getSelection){if(b=window.getSelection(),b.getRangeAt&&b.rangeCount){b=b.getRangeAt(0);b.deleteContents();var c=document.createElement("div");c.innerHTML=a;a=document.createDocumentFragment();for(var d;d=c.firstChild;)lastNode=a.appendChild(d);b.insertNode(a)}}else(b=document.selection)&&"Control"!=b.type&&b.createRange().pasteHTML(a)};Graph.prototype.createLinkForHint=function(a,b){b=null!=b?b:a;var c=document.createElement("a");
c.setAttribute("href",this.getAbsoluteUrl(a));c.setAttribute("title",a);null!=this.linkTarget&&c.setAttribute("target",this.linkTarget);40<b.length&&(b=b.substring(0,26)+"..."+b.substring(b.length-10));mxUtils.write(c,b);return c};Graph.prototype.initTouch=function(){this.connectionHandler.marker.isEnabled=function(){return null!=this.graph.connectionHandler.first};this.addListener(mxEvent.START_EDITING,function(a,b){this.popupMenuHandler.hideMenu()});var a=this.updateMouseEvent;this.updateMouseEvent=
function(b){b=a.apply(this,arguments);if(mxEvent.isTouchEvent(b.getEvent())&&null==b.getState()){var c=this.getCellAt(b.graphX,b.graphY);null!=c&&this.isSwimlane(c)&&this.hitsSwimlaneContent(c,b.graphX,b.graphY)||(b.state=this.view.getState(c),null!=b.state&&null!=b.state.shape&&(this.container.style.cursor=b.state.shape.node.style.cursor))}null==b.getState()&&this.isEnabled()&&(this.container.style.cursor="default");return b};var b=!1,c=!1,d=!1,e=this.fireMouseEvent;this.fireMouseEvent=function(a,
-f,g){a==mxEvent.MOUSE_DOWN&&(f=this.updateMouseEvent(f),b=this.isCellSelected(f.getCell()),c=this.isSelectionEmpty(),d=this.popupMenuHandler.isMenuShowing());e.apply(this,arguments)};this.popupMenuHandler.mouseUp=mxUtils.bind(this,function(a,e){this.popupMenuHandler.popupTrigger=!this.isEditing()&&this.isEnabled()&&(null==e.getState()||!e.isSource(e.getState().control))&&(this.popupMenuHandler.popupTrigger||!d&&!mxEvent.isMouseEvent(e.getEvent())&&(c&&null==e.getCell()&&this.isSelectionEmpty()||b&&
+g,f){a==mxEvent.MOUSE_DOWN&&(g=this.updateMouseEvent(g),b=this.isCellSelected(g.getCell()),c=this.isSelectionEmpty(),d=this.popupMenuHandler.isMenuShowing());e.apply(this,arguments)};this.popupMenuHandler.mouseUp=mxUtils.bind(this,function(a,e){this.popupMenuHandler.popupTrigger=!this.isEditing()&&this.isEnabled()&&(null==e.getState()||!e.isSource(e.getState().control))&&(this.popupMenuHandler.popupTrigger||!d&&!mxEvent.isMouseEvent(e.getEvent())&&(c&&null==e.getCell()&&this.isSelectionEmpty()||b&&
this.isCellSelected(e.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.saveSelection=function(){if(window.getSelection){var a=window.getSelection();if(a.getRangeAt&&a.rangeCount){for(var b=[],c=0,d=a.rangeCount;c<d;++c)b.push(a.getRangeAt(c));return b}}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 b=0,c=a.length;b<c;++b)sel.addRange(a[b])}else document.selection&&a.select&&a.select()}catch(W){}};var f=mxCellRenderer.prototype.initializeLabel;mxCellRenderer.prototype.initializeLabel=function(a){null!=a.text&&(a.text.replaceLinefeeds="0"!=mxUtils.getValue(a.style,"nl2Br","1"));f.apply(this,arguments)};var e=mxConstraintHandler.prototype.update;
mxConstraintHandler.prototype.update=function(a,b){this.isKeepFocusEvent(a)||!mxEvent.isAltDown(a.getEvent())?e.apply(this,arguments):this.reset()};mxGuide.prototype.createGuideShape=function(a){return new mxPolyline([],mxConstants.GUIDE_COLOR,mxConstants.GUIDE_STROKEWIDTH)};mxCellEditor.prototype.escapeCancelsEditing=!1;var k=mxCellEditor.prototype.startEditing;mxCellEditor.prototype.startEditing=function(a,b){k.apply(this,arguments);var c=this.graph.view.getState(a);this.textarea.className=null!=
@@ -2554,9 +2554,9 @@ c&&1==c.style.html?"mxCellEditor geContentEditable":"mxCellEditor mxPlainTextEdi
"":mxClient.IS_QUIRKS&&(this.textarea.style.outline="none",this.textarea.style.border="")};var g=mxCellEditor.prototype.installListeners;mxCellEditor.prototype.installListeners=function(a){function b(a,c){c.originalNode=a;a=a.firstChild;for(var d=c.firstChild;null!=a&&null!=d;)b(a,d),a=a.nextSibling,d=d.nextSibling;return c}function c(a,b){if(null!=a)if(b.originalNode!=a)d(a);else for(a=a.firstChild,b=b.firstChild;null!=a;){var e=a.nextSibling;null==b?d(a):(c(a,b),b=b.nextSibling);a=e}}function d(a){for(var b=
a.firstChild;null!=b;){var c=b.nextSibling;d(b);b=c}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)}g.apply(this,arguments);
mxClient.IS_QUIRKS||7===document.documentMode||8===document.documentMode||mxEvent.addListener(this.textarea,"paste",mxUtils.bind(this,function(a){var d=b(this.textarea,this.textarea.cloneNode(!0));window.setTimeout(mxUtils.bind(this,function(){c(this.textarea,d)}),0)}))};mxCellEditor.prototype.toggleViewMode=function(){var a=this.graph.view.getState(this.editingCell),b=null!=a&&"0"!=mxUtils.getValue(a.style,"nl2Br","1"),c=this.saveSelection();if(this.codeViewMode){h=mxUtils.extractTextWithWhitespace(this.textarea.childNodes);
-0<h.length&&"\n"==h.charAt(h.length-1)&&(h=h.substring(0,h.length-1));h=this.graph.sanitizeHtml(b?h.replace(/\n/g,"<br/>"):h,!0);this.textarea.className="mxCellEditor geContentEditable";var d=mxUtils.getValue(a.style,mxConstants.STYLE_FONTSIZE,mxConstants.DEFAULT_FONTSIZE),b=mxUtils.getValue(a.style,mxConstants.STYLE_FONTFAMILY,mxConstants.DEFAULT_FONTFAMILY),e=mxUtils.getValue(a.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_LEFT),f=(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,a=(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE;this.textarea.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?Math.round(d*mxConstants.LINE_HEIGHT)+"px":mxConstants.LINE_HEIGHT;this.textarea.style.fontSize=Math.round(d)+"px";this.textarea.style.textDecoration=a?"underline":"";this.textarea.style.fontWeight=
-f?"bold":"normal";this.textarea.style.fontStyle=g?"italic":"";this.textarea.style.fontFamily=b;this.textarea.style.textAlign=e;this.textarea.style.padding="0px";this.textarea.innerHTML!=h&&(this.textarea.innerHTML=h,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="");
+0<h.length&&"\n"==h.charAt(h.length-1)&&(h=h.substring(0,h.length-1));h=this.graph.sanitizeHtml(b?h.replace(/\n/g,"<br/>"):h,!0);this.textarea.className="mxCellEditor geContentEditable";var d=mxUtils.getValue(a.style,mxConstants.STYLE_FONTSIZE,mxConstants.DEFAULT_FONTSIZE),b=mxUtils.getValue(a.style,mxConstants.STYLE_FONTFAMILY,mxConstants.DEFAULT_FONTFAMILY),e=mxUtils.getValue(a.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_LEFT),g=(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_BOLD)==
+mxConstants.FONT_BOLD,f=(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC,a=(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE;this.textarea.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?Math.round(d*mxConstants.LINE_HEIGHT)+"px":mxConstants.LINE_HEIGHT;this.textarea.style.fontSize=Math.round(d)+"px";this.textarea.style.textDecoration=a?"underline":"";this.textarea.style.fontWeight=
+g?"bold":"normal";this.textarea.style.fontStyle=f?"italic":"";this.textarea.style.fontFamily=b;this.textarea.style.textAlign=e;this.textarea.style.padding="0px";this.textarea.innerHTML!=h&&(this.textarea.innerHTML=h,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 h=mxUtils.htmlEntities(this.textarea.innerHTML);mxClient.IS_QUIRKS||8==document.documentMode||(h=mxUtils.replaceTrailingNewlines(h,"<div><br></div>"));h=this.graph.sanitizeHtml(b?h.replace(/\n/g,"").replace(/&lt;br\s*.?&gt;/g,"<br>"):h,!0);this.textarea.className="mxCellEditor mxPlainTextEditor";var d=mxConstants.DEFAULT_FONTSIZE;this.textarea.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?Math.round(d*mxConstants.LINE_HEIGHT)+"px":mxConstants.LINE_HEIGHT;this.textarea.style.fontSize=Math.round(d)+
"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!=h&&(this.textarea.innerHTML=h);this.codeViewMode=!0}this.textarea.focus();null!=this.switchSelectionState&&this.restoreSelection(this.switchSelectionState);this.switchSelectionState=c;this.resize()};var h=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 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,
@@ -2566,13 +2566,13 @@ c);this.textarea.clientWidth<this.textarea.offsetWidth&&(this.textarea.style.wid
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 l=mxCellEditor.prototype.stopEditing;mxCellEditor.prototype.stopEditing=function(a){this.codeViewMode&&this.toggleViewMode();l.apply(this,arguments);this.focusContainer()};mxCellEditor.prototype.focusContainer=
function(){try{this.graph.container.focus()}catch(G){}};var m=mxCellEditor.prototype.applyValue;mxCellEditor.prototype.applyValue=function(a,b){this.graph.getModel().beginUpdate();try{if(m.apply(this,arguments),this.graph.isCellDeletable(a.cell)&&0==this.graph.model.getChildCount(a.cell)){var c=mxUtils.getValue(a.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),d=mxUtils.getValue(a.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE);""==b&&c==mxConstants.NONE&&d==mxConstants.NONE&&this.graph.removeCells([a.cell],
!1)}}finally{this.graph.getModel().endUpdate()}};mxCellEditor.prototype.getBackgroundColor=function(a){var b=null;if(this.graph.getModel().isEdge(a.cell)||this.graph.getModel().isEdge(this.graph.getModel().getParent(a.cell)))b=mxUtils.getValue(a.style,mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,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 n=mxGraphHandler.prototype.moveCells;
-mxGraphHandler.prototype.moveCells=function(a,b,c,d,e,f){mxEvent.isAltDown(f)&&(e=null);n.apply(this,arguments)};mxGraphHandler.prototype.updateHint=function(b){if(null!=this.shape){null==this.hint&&(this.hint=a(),this.graph.container.appendChild(this.hint));var c=this.graph.view.translate,d=this.graph.view.scale;b=this.roundLength((this.bounds.x+this.currentDx)/d-c.x);c=this.roundLength((this.bounds.y+this.currentDy)/d-c.y);this.hint.innerHTML=b+", "+c;this.hint.style.left=this.shape.bounds.x+Math.round((this.shape.bounds.width-
+mxGraphHandler.prototype.moveCells=function(a,b,c,d,e,g){mxEvent.isAltDown(g)&&(e=null);n.apply(this,arguments)};mxGraphHandler.prototype.updateHint=function(b){if(null!=this.shape){null==this.hint&&(this.hint=a(),this.graph.container.appendChild(this.hint));var c=this.graph.view.translate,d=this.graph.view.scale;b=this.roundLength((this.bounds.x+this.currentDx)/d-c.x);c=this.roundLength((this.bounds.y+this.currentDy)/d-c.y);this.hint.innerHTML=b+", "+c;this.hint.style.left=this.shape.bounds.x+Math.round((this.shape.bounds.width-
this.hint.clientWidth)/2)+"px";this.hint.style.top=this.shape.bounds.y+this.shape.bounds.height+12+"px"}};mxGraphHandler.prototype.removeHint=function(){null!=this.hint&&(this.hint.parentNode.removeChild(this.hint),this.hint=null)};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 p=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=p.apply(this,arguments);return a};mxVertexHandler.prototype.updateHint=function(b){this.index!=mxEvent.LABEL_HANDLE&&(null==this.hint&&(this.hint=a(),this.state.view.graph.container.appendChild(this.hint)),this.index==mxEvent.ROTATION_HANDLE?this.hint.innerHTML=this.currentAlpha+
"&deg;":(b=this.state.view.scale,this.hint.innerHTML=this.roundLength(this.bounds.width/b)+" x "+this.roundLength(this.bounds.height/b)),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+12+"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="")};mxEdgeHandler.prototype.updateHint=function(b,c){null==this.hint&&(this.hint=a(),this.state.view.graph.container.appendChild(this.hint));var d=this.graph.view.translate,e=this.graph.view.scale,f=this.roundLength(c.x/e-d.x),d=this.roundLength(c.y/e-d.y);this.hint.innerHTML=f+", "+d;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(),c.y)+this.state.view.graph.gridSize+"px";null!=this.linkHint&&(this.linkHint.style.display="none")};mxEdgeHandler.prototype.removeHint=mxVertexHandler.prototype.removeHint;
+function(){mxGraphHandler.prototype.removeHint.apply(this,arguments);null!=this.linkHint&&(this.linkHint.style.display="")};mxEdgeHandler.prototype.updateHint=function(b,c){null==this.hint&&(this.hint=a(),this.state.view.graph.container.appendChild(this.hint));var d=this.graph.view.translate,e=this.graph.view.scale,g=this.roundLength(c.x/e-d.x),d=this.roundLength(c.y/e-d.y);this.hint.innerHTML=g+", "+d;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(b.getGraphX()-this.hint.clientWidth/2)+"px";this.hint.style.top=Math.max(b.getGraphY(),c.y)+this.state.view.graph.gridSize+"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="#007dfc" 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="#007dfc" 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="#007dfc" 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=new mxImage(mxClient.IS_SVG?"data:image/png;base64,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":
IMAGE_PATH+"/handle-rotate.png",19,21);mxClient.IS_SVG&&(mxConstraintHandler.prototype.pointImage=Graph.createSvgImage(5,5,'<path d="m 0 0 L 5 5 M 0 5 L 5 0" stroke="#007dfc"/>'));mxVertexHandler.prototype.handleImage=HoverIcons.prototype.mainHandle;mxVertexHandler.prototype.secondaryHandleImage=HoverIcons.prototype.secondaryHandle;mxEdgeHandler.prototype.handleImage=HoverIcons.prototype.mainHandle;mxEdgeHandler.prototype.terminalHandleImage=HoverIcons.prototype.terminalHandle;mxEdgeHandler.prototype.fixedHandleImage=
@@ -2582,10 +2582,10 @@ Sidebar.prototype.roundDrop=HoverIcons.prototype.roundDrop);mxClient.IS_SVG||((n
-20;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=-24,mxConstraintHandler.prototype.getTolerance=function(a){return mxEvent.isMouseEvent(a.getEvent())?4:this.graph.getTolerance()};mxPanningHandler.prototype.isPanningTrigger=function(a){var b=a.getEvent();return null==
a.getState()&&!mxEvent.isMouseEvent(b)||mxEvent.isPopupTrigger(b)&&(null==a.getState()||mxEvent.isControlDown(b)||mxEvent.isShiftDown(b))};var q=mxGraphHandler.prototype.mouseDown;mxGraphHandler.prototype.mouseDown=function(a,b){q.apply(this,arguments);mxEvent.isTouchEvent(b.getEvent())&&this.graph.isCellSelected(b.getCell())&&1<this.graph.getSelectionCount()&&(this.delayedSelection=!1)}}else mxPanningHandler.prototype.isPanningTrigger=function(a){var b=a.getEvent();return mxEvent.isLeftMouseButton(b)&&
-(this.useLeftButtonForPanning&&null==a.getState()||mxEvent.isControlDown(b)&&!mxEvent.isShiftDown(b))||this.usePopupTrigger&&mxEvent.isPopupTrigger(b)};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,b){var c=null!=this.div&&"none"!=this.div.style.display,d=null,e=null,f=null,g=null;null!=this.first&&
-null!=this.currentX&&null!=this.currentY&&(d=this.first.x,e=this.first.y,f=(this.currentX-d)/this.graph.view.scale,g=(this.currentY-e)/this.graph.view.scale,mxEvent.isAltDown(b.getEvent())||(f=this.graph.snap(f),g=this.graph.snap(g),this.graph.isGridEnabled()||(Math.abs(f)<this.graph.tolerance&&(f=0),Math.abs(g)<this.graph.tolerance&&(g=0))));this.reset();if(c){if(mxEvent.isAltDown(b.getEvent())&&this.graph.isToggleEvent(b.getEvent())){var f=new mxRectangle(this.x,this.y,this.width,this.height),h=
-this.graph.getCells(f.x,f.y,f.width,f.height);this.graph.removeSelectionCells(h)}else if(this.isSpaceEvent(b)){this.graph.model.beginUpdate();try{for(h=this.graph.getCellsBeyond(d,e,this.graph.getDefaultParent(),!0,!0),c=0;c<h.length;c++)if(this.graph.isCellMovable(h[c])){var k=this.graph.view.getState(h[c]),l=this.graph.getCellGeometry(h[c]);null!=k&&null!=l&&(l=l.clone(),l.translate(f,g),this.graph.model.setGeometry(h[c],l))}}finally{this.graph.model.endUpdate()}}else f=new mxRectangle(this.x,this.y,
-this.width,this.height),this.graph.selectRegion(f,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,f=this.first.y-c,g=this.graph.tolerance;if(null!=this.div||Math.abs(e)>g||Math.abs(f)>g)null==this.div&&(this.div=this.createShape()),mxUtils.clearSelection(),this.update(d,c),
+(this.useLeftButtonForPanning&&null==a.getState()||mxEvent.isControlDown(b)&&!mxEvent.isShiftDown(b))||this.usePopupTrigger&&mxEvent.isPopupTrigger(b)};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,b){var c=null!=this.div&&"none"!=this.div.style.display,d=null,e=null,g=null,f=null;null!=this.first&&
+null!=this.currentX&&null!=this.currentY&&(d=this.first.x,e=this.first.y,g=(this.currentX-d)/this.graph.view.scale,f=(this.currentY-e)/this.graph.view.scale,mxEvent.isAltDown(b.getEvent())||(g=this.graph.snap(g),f=this.graph.snap(f),this.graph.isGridEnabled()||(Math.abs(g)<this.graph.tolerance&&(g=0),Math.abs(f)<this.graph.tolerance&&(f=0))));this.reset();if(c){if(mxEvent.isAltDown(b.getEvent())&&this.graph.isToggleEvent(b.getEvent())){var g=new mxRectangle(this.x,this.y,this.width,this.height),h=
+this.graph.getCells(g.x,g.y,g.width,g.height);this.graph.removeSelectionCells(h)}else if(this.isSpaceEvent(b)){this.graph.model.beginUpdate();try{for(h=this.graph.getCellsBeyond(d,e,this.graph.getDefaultParent(),!0,!0),c=0;c<h.length;c++)if(this.graph.isCellMovable(h[c])){var k=this.graph.view.getState(h[c]),l=this.graph.getCellGeometry(h[c]);null!=k&&null!=l&&(l=l.clone(),l.translate(g,f),this.graph.model.setGeometry(h[c],l))}}finally{this.graph.model.endUpdate()}}else g=new mxRectangle(this.x,this.y,
+this.width,this.height),this.graph.selectRegion(g,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 r=mxRubberband.prototype.reset;mxRubberband.prototype.reset=function(){null!=this.secondDiv&&(this.secondDiv.parentNode.removeChild(this.secondDiv),this.secondDiv=null);r.apply(this,
@@ -2600,7 +2600,7 @@ function(a,b){B.apply(this,arguments);null!=this.rotationShape&&null!=this.rotat
1==this.graph.getSelectionCount()?"":"none");null!=this.specialHandle&&(this.specialHandle.node.style.display=this.graph.isEnabled()&&this.graph.getSelectionCount()<this.graph.graphHandler.maxCells?"":"none");this.redrawHandles()});this.selectionHandler=mxUtils.bind(this,function(a,c){b()});this.graph.getSelectionModel().addListener(mxEvent.CHANGE,this.selectionHandler);this.changeHandler=mxUtils.bind(this,function(a,c){this.updateLinkHint(this.graph.getLinkForCell(this.state.cell),this.graph.getLinksForState(this.state));
b()});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);this.updateLinkHint(c,d);if(null!=c||null!=d&&0<d.length)a=!0;a&&this.redrawHandles()};mxVertexHandler.prototype.updateLinkHint=function(b,c){if(null==b&&(null==c||0==c.length)||1<this.graph.getSelectionCount())null!=
this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);else if(null!=b||null!=c&&0<c.length){null==this.linkHint&&(this.linkHint=a(),this.linkHint.style.padding="6px 8px 6px 8px",this.linkHint.style.fontSize="90%",this.linkHint.style.opacity="1",this.linkHint.style.filter="",this.graph.container.appendChild(this.linkHint));this.linkHint.innerHTML="";if(null!=b&&(this.linkHint.appendChild(this.graph.createLinkForHint(b)),this.graph.isEnabled()&&"function"===typeof this.graph.editLink)){var d=
-document.createElement("img");d.setAttribute("src",IMAGE_PATH+"/edit.gif");d.setAttribute("title",mxResources.get("editLink"));d.setAttribute("width","11");d.setAttribute("height","11");d.style.marginLeft="10px";d.style.marginBottom="-1px";d.style.cursor="pointer";this.linkHint.appendChild(d);mxEvent.addListener(d,"click",mxUtils.bind(this,function(a){this.graph.setSelectionCell(this.state.cell);this.graph.editLink();mxEvent.consume(a)}));d=document.createElement("img");d.setAttribute("src",Dialog.prototype.clearImage);
+document.createElement("img");d.setAttribute("src",Editor.editImage);d.setAttribute("title",mxResources.get("editLink"));d.setAttribute("width","11");d.setAttribute("height","11");d.style.marginLeft="10px";d.style.marginBottom="-1px";d.style.cursor="pointer";this.linkHint.appendChild(d);mxEvent.addListener(d,"click",mxUtils.bind(this,function(a){this.graph.setSelectionCell(this.state.cell);this.graph.editLink();mxEvent.consume(a)}));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!=c)for(d=0;d<c.length;d++){var e=document.createElement("div");e.style.marginTop=null!=b||0<d?"6px":"0px";e.appendChild(this.graph.createLinkForHint(c[d].getAttribute("href"),
mxUtils.getTextContent(c[d])));this.linkHint.appendChild(e)}}};mxEdgeHandler.prototype.updateLinkHint=mxVertexHandler.prototype.updateLinkHint;var K=mxEdgeHandler.prototype.init;mxEdgeHandler.prototype.init=function(){K.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.selectionHandler=mxUtils.bind(this,function(b,c){a()});this.graph.getSelectionModel().addListener(mxEvent.CHANGE,this.selectionHandler);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.getModel().addListener(mxEvent.CHANGE,
@@ -2635,14 +2635,14 @@ n=!1);else if(r!=mxUtils.getValue(this.format.getSelectionState().style,c,d)){l.
(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.style.padding="12px 0px 12px 18px";a.style.borderBottom="1px solid #c0c0c0";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){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 k=document.createElement("div");mxUtils.setPrefixedStyle(k.style,"borderRadius","3px");k.style.border="1px solid rgb(192, 192, 192)";k.style.position="absolute";var g=document.createElement("div");g.style.borderBottom="1px solid rgb(192, 192, 192)";g.style.position="relative";g.style.height=b+"px";g.style.width="10px";g.className=
-"geBtnUp";k.appendChild(g);var h=g.cloneNode(!1);h.style.border="none";h.style.height=b+"px";h.className="geBtnDown";k.appendChild(h);mxEvent.addListener(h,"click",function(b){""==a.value&&(a.value=e||"2");var f=parseInt(a.value);isNaN(f)||(a.value=f-d,null!=c&&c(b));mxEvent.consume(b)});mxEvent.addListener(g,"click",function(b){""==a.value&&(a.value=e||"0");var f=parseInt(a.value);isNaN(f)||(a.value=f+d,null!=c&&c(b));mxEvent.consume(b)});if(f){var l=null;mxEvent.addGestureListeners(k,function(a){if(mxClient.IS_QUIRKS||
+"geBtnUp";k.appendChild(g);var h=g.cloneNode(!1);h.style.border="none";h.style.height=b+"px";h.className="geBtnDown";k.appendChild(h);mxEvent.addListener(h,"click",function(b){""==a.value&&(a.value=e||"2");var g=parseInt(a.value);isNaN(g)||(a.value=g-d,null!=c&&c(b));mxEvent.consume(b)});mxEvent.addListener(g,"click",function(b){""==a.value&&(a.value=e||"0");var g=parseInt(a.value);isNaN(g)||(a.value=g+d,null!=c&&c(b));mxEvent.consume(b)});if(f){var l=null;mxEvent.addGestureListeners(k,function(a){if(mxClient.IS_QUIRKS||
8==document.documentMode)l=document.selection.createRange();mxEvent.consume(a)},null,function(a){if(null!=l){try{l.select()}catch(n){}l=null;mxEvent.consume(a)}})}return k};
BaseFormatPanel.prototype.createOption=function(a,c,d,b){var f=document.createElement("div");f.style.padding="6px 0px 1px 0px";f.style.whiteSpace="nowrap";f.style.overflow="hidden";f.style.width="200px";f.style.height=mxClient.IS_QUIRKS?"27px":"18px";var e=document.createElement("input");e.setAttribute("type","checkbox");e.style.margin="0px 6px 0px 0px";f.appendChild(e);var k=document.createElement("span");mxUtils.write(k,a);f.appendChild(k);var g=!1,h=c(),l=function(a){g||(g=!0,a?(e.setAttribute("checked",
"checked"),e.defaultChecked=!0,e.checked=!0):(e.removeAttribute("checked"),e.defaultChecked=!1,e.checked=!1),h!=a&&(h=a,c()!=h&&d(h)),g=!1)};mxEvent.addListener(f,"click",function(a){if("disabled"!=e.getAttribute("disabled")){a=mxEvent.getSource(a);if(a==f||a==k)e.checked=!e.checked;l(e.checked)}});l(h);null!=b&&(b.install(l),this.listeners.push(b));return f};
BaseFormatPanel.prototype.createCellOption=function(a,c,d,b,f,e,k,g){b=null!=b?"null"==b?null:b:"1";f=null!=f?"null"==f?null:f:"0";var h=this.editorUi,l=h.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!=k)k.funct();else{l.getModel().beginUpdate();try{a=a?b:f,l.setCellStyles(c,a,l.getSelectionCells()),null!=e&&e(l.getSelectionCells(),a),h.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,k){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 h=document.createElement("input");h.setAttribute("type","checkbox");h.style.margin="0px 6px 0px 0px";k||g.appendChild(h);var l=document.createElement("span");mxUtils.write(l,a);g.appendChild(l);var m=!1,n=c(),p=null,q=function(a,f,g){if(!m){m=
-!0;p.innerHTML='<div style="width:'+(mxClient.IS_QUIRKS?"30":"36")+"px;height:12px;margin:3px;border:1px solid black;background-color:"+(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?(h.setAttribute("checked","checked"),h.defaultChecked=!0,h.checked=!0):(h.removeAttribute("checked"),h.defaultChecked=!1,h.checked=!1);p.style.display=h.checked||k?"":"none";null!=e&&e(a);f||(n=a,(g||k||c()!=n)&&
+BaseFormatPanel.prototype.createColorOption=function(a,c,d,b,f,e,k){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 h=document.createElement("input");h.setAttribute("type","checkbox");h.style.margin="0px 6px 0px 0px";k||g.appendChild(h);var l=document.createElement("span");mxUtils.write(l,a);g.appendChild(l);var m=!1,n=c(),p=null,q=function(a,g,f){if(!m){m=
+!0;p.innerHTML='<div style="width:'+(mxClient.IS_QUIRKS?"30":"36")+"px;height:12px;margin:3px;border:1px solid black;background-color:"+(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?(h.setAttribute("checked","checked"),h.defaultChecked=!0,h.checked=!0):(h.removeAttribute("checked"),h.defaultChecked=!1,h.checked=!1);p.style.display=h.checked||k?"":"none";null!=e&&e(a);g||(n=a,(f||k||c()!=n)&&
d(n));m=!1}},p=mxUtils.button("",mxUtils.bind(this,function(a){this.editorUi.pickColor(n,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=h.checked||k?"":"none";g.appendChild(p);mxEvent.addListener(g,"click",function(a){a=mxEvent.getSource(a);if(a==h||"INPUT"!=a.nodeName)a!=h&&(h.checked=!h.checked),h.checked||null==n||n==mxConstants.NONE||
b==mxConstants.NONE||(b=n),q(h.checked?b:mxConstants.NONE)});q(n,!0);null!=f&&(f.install(q),this.listeners.push(f));return g};
BaseFormatPanel.prototype.createCellColorOption=function(a,c,d,b,f){var e=this.editorUi,k=e.editor.graph;return this.createColorOption(a,function(){var a=k.view.getState(k.getSelectionCell());return null!=a?mxUtils.getValue(a.style,c,null):null},function(a){k.getModel().beginUpdate();try{null!=f&&f(a),k.setCellStyles(c,a,k.getSelectionCells()),e.fireEvent(new mxEventObject("styleChanged","keys",[c],"values",[a],"cells",k.getSelectionCells()))}finally{k.getModel().endUpdate()}},d||mxConstants.NONE,
@@ -2712,8 +2712,8 @@ J.setAttribute("value",w[p]);mxUtils.write(J,mxResources.get(w[p]));I.appendChil
rightToLeft:mxConstants.TEXT_DIRECTION_RTL},p=0;p<J.length;p++){var P=document.createElement("option");P.setAttribute("value",J[p]);mxUtils.write(P,mxResources.get(J[p]));N.appendChild(P)}w.appendChild(N);b.isEditing()||(a.appendChild(g),mxEvent.addListener(I,"change",function(a){b.getModel().beginUpdate();try{var c=E[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(w),mxEvent.addListener(N,"change",function(a){b.setCellStyles(mxConstants.STYLE_TEXT_DIRECTION,Q[N.value],b.getSelectionCells());mxEvent.consume(a)}));var F=document.createElement("input");F.style.textAlign="right";F.style.marginTop="4px";mxClient.IS_QUIRKS||(F.style.position="absolute",
F.style.right="32px");F.style.width="46px";F.style.height=mxClient.IS_QUIRKS?"21px":"17px";h.appendChild(F);var G=null,g=this.installInputHandler(F,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){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(e.nodeType==mxConstants.NODETYPE_ELEMENT){var f=e.getElementsByTagName("*");c(e);for(e=0;e<f.length;e++)c(f[e])}F.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},f=null,document.selection?f=document.selection.createRange().parentElement():(d=window.getSelection(),0<d.rangeCount&&(f=d.getRangeAt(0).commonAncestorContainer)),null!=f&&c(b.cellEditor.textarea,f))for(G=a,document.execCommand("fontSize",!1,"4"),f=b.cellEditor.textarea.getElementsByTagName("font"),e=0;e<f.length;e++)if("4"==f[e].getAttribute("size")){f[e].removeAttribute("size");f[e].style.fontSize=G+
+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(e.nodeType==mxConstants.NODETYPE_ELEMENT){var g=e.getElementsByTagName("*");c(e);for(e=0;e<g.length;e++)c(g[e])}F.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(G=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=G+
"px";window.setTimeout(function(){F.value=G+" pt";G=null},0);break}},!0),g=this.createStepper(F,g,1,10,!0,Menus.prototype.defaultFontSize);g.style.display=F.style.display;g.style.marginTop="4px";mxClient.IS_QUIRKS||(g.style.right="20px");h.appendChild(g);h=l.getElementsByTagName("div")[0];h.style.cssFloat="right";var H=null,y="#ffffff",W=null,R="#000000",T=b.cellEditor.isContentEditing()?this.createColorOption(mxResources.get("backgroundColor"),function(){return y},function(a){document.execCommand("backcolor",
!1,a!=mxConstants.NONE?a:"transparent")},"#ffffff",{install:function(a){H=a},destroy:function(){H=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})});T.style.fontWeight="bold";var ca=this.createCellColorOption(mxResources.get("borderColor"),mxConstants.STYLE_LABEL_BORDERCOLOR,"#000000");ca.style.fontWeight="bold";h=b.cellEditor.isContentEditing()?
this.createColorOption(mxResources.get("fontColor"),function(){return R},function(a){document.execCommand("forecolor",!1,a!=mxConstants.NONE?a:"transparent")},"#000000",{install:function(a){W=a},destroy:function(){W=null}},null,!0):this.createCellColorOption(mxResources.get("fontColor"),mxConstants.STYLE_FONTCOLOR,"#000000",function(a){T.style.display=null==a||a==mxConstants.NONE?"none":"";ca.style.display=T.style.display},function(a){null==a||a==mxConstants.NONE?b.setCellStyles(mxConstants.STYLE_NOLABEL,
@@ -2738,11 +2738,11 @@ a=mxUtils.getValue(f.style,mxConstants.STYLE_TEXT_DIRECTION,mxConstants.DEFAULT_
isNaN(a)?"":a+" pt";if(d||document.activeElement!=ga)a=parseFloat(mxUtils.getValue(f.style,mxConstants.STYLE_SPACING_RIGHT,0)),ga.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=fa)a=parseFloat(mxUtils.getValue(f.style,mxConstants.STYLE_SPACING_BOTTOM,0)),fa.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=Z)a=parseFloat(mxUtils.getValue(f.style,mxConstants.STYLE_SPACING_LEFT,0)),Z.value=isNaN(a)?"":a+" pt"});U=this.installInputHandler(Y,mxConstants.STYLE_SPACING,2,-999,999," pt");
X=this.installInputHandler(ea,mxConstants.STYLE_SPACING_TOP,0,-999,999," pt");ka=this.installInputHandler(ga,mxConstants.STYLE_SPACING_RIGHT,0,-999,999," pt");da=this.installInputHandler(fa,mxConstants.STYLE_SPACING_BOTTOM,0,-999,999," pt");ja=this.installInputHandler(Z,mxConstants.STYLE_SPACING_LEFT,0,-999,999," pt");this.addKeyHandler(F,V);this.addKeyHandler(Y,V);this.addKeyHandler(ea,V);this.addKeyHandler(ga,V);this.addKeyHandler(fa,V);this.addKeyHandler(Z,V);b.getModel().addListener(mxEvent.CHANGE,
V);this.listeners.push({destroy:function(){b.getModel().removeListener(V)}});V();if(b.cellEditor.isContentEditing()){var ma=!1,e=function(){ma||(ma=!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){return"px"==a.substring(a.length-2)?parseFloat(a):mxConstants.DEFAULT_FONTSIZE},e=function(a,b,c){return"%"==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 f=mxUtils.getCurrentStyle(a),g=d(f.fontSize),h=e(g,f.lineHeight,a),k=a.getElementsByTagName("*");if(0<k.length&&window.getSelection&&!mxClient.IS_IE&&!mxClient.IS_IE11)for(var n=window.getSelection(),p=0;p<k.length;p++)if(n.containsNode(k[p],!0)){temp=mxUtils.getCurrentStyle(k[p]);
-var g=Math.max(d(temp.fontSize),g),u=e(g,temp.lineHeight,k[p]);if(u!=h||isNaN(u))h=""}null!=f&&(c(m[0],"bold"==f.fontWeight||null!=b.getParentByName(a,"B",b.cellEditor.textarea)),c(m[1],"italic"==f.fontStyle||null!=b.getParentByName(a,"I",b.cellEditor.textarea)),c(m[2],null!=b.getParentByName(a,"U",b.cellEditor.textarea)),c(q,"left"==f.textAlign),c(r,"center"==f.textAlign),c(t,"right"==f.textAlign),c(A,"justify"==f.textAlign),c(C,null!=b.getParentByName(a,"SUP",b.cellEditor.textarea)),c(x,null!=b.getParentByName(a,
-"SUB",b.cellEditor.textarea)),B=b.getParentByName(a,"TABLE",b.cellEditor.textarea),K=null==B?null:b.getParentByName(a,"TR",B),L=null==B?null:b.getParentByName(a,"TD",B),D.style.display=null!=B?"":"none",document.activeElement!=F&&("FONT"==a.nodeName&&"4"==a.getAttribute("size")&&null!=G?(a.removeAttribute("size"),a.style.fontSize=G+" pt",G=null):F.value=isNaN(g)?"":g+" pt",u=parseFloat(h),isNaN(u)?la.value="100 %":la.value=Math.round(100*u)+" %"),a=f.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)}),d=f.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!=W&&(R="#"==a.charAt(0)?a:"#000000",W(R,!0)),null!=H&&(y="#"==d.charAt(0)?d:null,H(y,!0)),null!=l.firstChild&&(f=f.fontFamily,
-"'"==f.charAt(0)&&(f=f.substring(1)),"'"==f.charAt(f.length-1)&&(f=f.substring(0,f.length-1)),'"'==f.charAt(0)&&(f=f.substring(1)),'"'==f.charAt(f.length-1)&&(f=f.substring(0,f.length-1)),l.firstChild.nodeValue=f))}ma=!1},0))};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};
+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 g=mxUtils.getCurrentStyle(a),f=d(g.fontSize),h=e(f,g.lineHeight,a),k=a.getElementsByTagName("*");if(0<k.length&&window.getSelection&&!mxClient.IS_IE&&!mxClient.IS_IE11)for(var n=window.getSelection(),p=0;p<k.length;p++)if(n.containsNode(k[p],!0)){temp=mxUtils.getCurrentStyle(k[p]);
+var f=Math.max(d(temp.fontSize),f),u=e(f,temp.lineHeight,k[p]);if(u!=h||isNaN(u))h=""}null!=g&&(c(m[0],"bold"==g.fontWeight||null!=b.getParentByName(a,"B",b.cellEditor.textarea)),c(m[1],"italic"==g.fontStyle||null!=b.getParentByName(a,"I",b.cellEditor.textarea)),c(m[2],null!=b.getParentByName(a,"U",b.cellEditor.textarea)),c(q,"left"==g.textAlign),c(r,"center"==g.textAlign),c(t,"right"==g.textAlign),c(A,"justify"==g.textAlign),c(C,null!=b.getParentByName(a,"SUP",b.cellEditor.textarea)),c(x,null!=b.getParentByName(a,
+"SUB",b.cellEditor.textarea)),B=b.getParentByName(a,"TABLE",b.cellEditor.textarea),K=null==B?null:b.getParentByName(a,"TR",B),L=null==B?null:b.getParentByName(a,"TD",B),D.style.display=null!=B?"":"none",document.activeElement!=F&&("FONT"==a.nodeName&&"4"==a.getAttribute("size")&&null!=G?(a.removeAttribute("size"),a.style.fontSize=G+" pt",G=null):F.value=isNaN(f)?"":f+" pt",u=parseFloat(h),isNaN(u)?la.value="100 %":la.value=Math.round(100*u)+" %"),a=g.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)}),d=g.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!=W&&(R="#"==a.charAt(0)?a:"#000000",W(R,!0)),null!=H&&(y="#"==d.charAt(0)?d:null,H(y,!0)),null!=l.firstChild&&(g=g.fontFamily,
+"'"==g.charAt(0)&&(g=g.substring(1)),"'"==g.charAt(g.length-1)&&(g=g.substring(0,g.length-1)),'"'==g.charAt(0)&&(g=g.substring(1)),'"'==g.charAt(g.length-1)&&(g=g.substring(0,g.length-1)),l.firstChild.nodeValue=g))}ma=!1},0))};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";
StyleFormatPanel.prototype.init=function(){var a=this.format.getSelectionState();a.containsImage&&"image"!=a.style.shape||this.container.appendChild(this.addFill(this.createPanel()));this.container.appendChild(this.addStroke(this.createPanel()));this.container.appendChild(this.addLineJumps(this.createPanel()));a=this.createRelativeOption(mxResources.get("opacity"),mxConstants.STYLE_OPACITY,41);a.style.paddingTop="8px";a.style.paddingBottom="8px";this.container.appendChild(a);this.container.appendChild(this.addEffects(this.createPanel()));
a=this.addEditOps(this.createPanel());null!=a.firstChild&&mxUtils.br(a);this.container.appendChild(this.addStyleOps(a))};
@@ -2797,7 +2797,7 @@ null,!1)):this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW],
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 L,K,I=this.addUnitInput(l,"pt",74,33,function(){L.apply(this,arguments)}),E=this.addUnitInput(l,"pt",20,33,function(){K.apply(this,arguments)});mxUtils.br(l);u=document.createElement("div");
u.style.height="8px";l.appendChild(u);m=m.cloneNode(!1);mxUtils.write(m,mxResources.get("linestart"));l.appendChild(m);var J,N,Q=this.addUnitInput(l,"pt",74,33,function(){J.apply(this,arguments)}),P=this.addUnitInput(l,"pt",20,33,function(){N.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);k=k.cloneNode(!1);k.style.fontWeight="normal";k.style.position="relative";k.style.paddingLeft="16px";k.style.marginBottom=
"2px";k.style.marginTop="6px";k.style.borderWidth="0px";k.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"));k.appendChild(m);var F,G=this.addUnitInput(k,"pt",20,41,function(){F.apply(this,arguments)});e.edges.length==f.getSelectionCount()?(a.appendChild(h),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(k));var H=mxUtils.bind(this,function(a,c,d){function h(a,c,d,f){d=d.getElementsByTagName("div")[0];d.className=b.getCssClassForMarker(f,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=
+mxUtils.br(a)),a.appendChild(l)):e.vertices.length==f.getSelectionCount()&&(mxClient.IS_QUIRKS&&mxUtils.br(a),a.appendChild(k));var H=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!=w)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_STROKEWIDTH,1)),w.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=v)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_STROKEWIDTH,1)),v.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)?D.style.borderBottom="1px dashed "+this.defaultStrokeColor:D.style.borderBottom="1px dotted "+this.defaultStrokeColor:D.style.borderBottom="1px solid "+this.defaultStrokeColor;B.style.borderBottom=D.style.borderBottom;
a=x.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,
@@ -2835,14 +2835,14 @@ a;this.canvas.setLineJoin("round");this.canvas.setLineCap("round");this.defaultV
this.canvas.curveTo=mxUtils.bind(this,r.prototype.curveTo);this.originalArcTo=this.canvas.arcTo;this.canvas.arcTo=mxUtils.bind(this,r.prototype.arcTo)}function t(){mxRectangleShape.call(this)}function w(){mxRectangleShape.call(this)}function v(){mxActor.call(this)}function u(){mxActor.call(this)}function z(){mxActor.call(this)}function x(){mxRectangleShape.call(this)}function C(){mxRectangleShape.call(this)}function A(){mxCylinder.call(this)}function D(){mxShape.call(this)}function B(){mxShape.call(this)}
function L(){mxEllipse.call(this)}function K(){mxShape.call(this)}function I(){mxShape.call(this)}function E(){mxRectangleShape.call(this)}function J(){mxShape.call(this)}function N(){mxShape.call(this)}function Q(){mxShape.call(this)}function P(){mxCylinder.call(this)}function F(){mxDoubleEllipse.call(this)}function G(){mxDoubleEllipse.call(this)}function H(){mxArrowConnector.call(this);this.spacing=0}function y(){mxArrowConnector.call(this);this.spacing=0}function W(){mxActor.call(this)}function R(){mxRectangleShape.call(this)}
function T(){mxActor.call(this)}function ca(){mxActor.call(this)}function X(){mxActor.call(this)}function U(){mxActor.call(this)}function ja(){mxActor.call(this)}function da(){mxActor.call(this)}function ka(){mxActor.call(this)}function ea(){mxActor.call(this)}function Y(){mxActor.call(this)}function Z(){mxActor.call(this)}function fa(){mxEllipse.call(this)}function ga(){mxEllipse.call(this)}function ba(){mxEllipse.call(this)}function la(){mxRhombus.call(this)}function V(){mxEllipse.call(this)}function ma(){mxEllipse.call(this)}
-function S(){mxEllipse.call(this)}function ua(){mxEllipse.call(this)}function va(){mxActor.call(this)}function pa(){mxActor.call(this)}function qa(){mxActor.call(this)}function na(){mxConnector.call(this)}function Da(a,b,c,d,e,f,g,h,k,l){g+=k;var O=d.clone();d.x-=e*(2*g+k);d.y-=f*(2*g+k);e*=g+k;f*=g+k;return function(){a.ellipse(O.x-e-g,O.y-f-g,2*g,2*g);l?a.fillAndStroke():a.stroke()}}mxUtils.extend(a,mxCylinder);a.prototype.size=20;a.prototype.redrawPath=function(a,b,c,d,e,f){b=Math.max(0,Math.min(d,
-Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));f?(a.moveTo(b,e),a.lineTo(b,b),a.lineTo(0,0),a.moveTo(b,b),a.lineTo(d,b)):(a.moveTo(0,0),a.lineTo(d-b,0),a.lineTo(d,b),a.lineTo(d,e),a.lineTo(b,e),a.lineTo(0,e-b),a.lineTo(0,0),a.close());a.end()};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 za=Math.tan(mxUtils.toRadians(30)),oa=(.5-za)/2;mxUtils.extend(c,mxActor);c.prototype.size=20;c.prototype.redrawPath=function(a,b,c,d,e){b=Math.min(d,e/za);a.translate((d-b)/2,(e-b)/2+b/4);a.moveTo(0,.25*b);a.lineTo(.5*b,b*oa);a.lineTo(b,.25*b);a.lineTo(.5*b,(.5-oa)*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,f){b=Math.min(d,e/(.5+za));f?(a.moveTo(0,.25*b),a.lineTo(.5*
-b,(.5-oa)*b),a.lineTo(b,.25*b),a.moveTo(.5*b,(.5-oa)*b),a.lineTo(.5*b,(1-oa)*b)):(a.translate((d-b)/2,(e-b)/2),a.moveTo(0,.25*b),a.lineTo(.5*b,b*oa),a.lineTo(b,.25*b),a.lineTo(b,.75*b),a.lineTo(.5*b,(1-oa)*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,f){b=Math.min(e/2,Math.round(e/8)+this.strokewidth-1);if(f&&null!=this.fill||!f&&null==this.fill)a.moveTo(0,b),a.curveTo(0,2*b,d,2*b,d,b),f||
-(a.stroke(),a.begin()),a.translate(0,b/2),a.moveTo(0,b),a.curveTo(0,2*b,d,2*b,d,b),f||(a.stroke(),a.begin()),a.translate(0,b/2),a.moveTo(0,b),a.curveTo(0,2*b,d,2*b,d,b),f||(a.stroke(),a.begin()),a.translate(0,-b);f||(a.moveTo(0,b),a.curveTo(0,-b/3,d,-b/3,d,b),a.lineTo(d,e-b),a.curveTo(d,e+b/3,0,e+b/3,0,e-b),a.close())};b.prototype.getLabelMargins=function(a){return new mxRectangle(0,2.5*Math.min(a.height/2,Math.round(a.height/8)+this.strokewidth-1)*this.scale,0,0)};mxCellRenderer.registerShape("datastore",
-b);mxUtils.extend(f,mxCylinder);f.prototype.size=30;f.prototype.redrawPath=function(a,b,c,d,e,f){b=Math.max(0,Math.min(d,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));f?(a.moveTo(d-b,0),a.lineTo(d-b,b),a.lineTo(d,b)):(a.moveTo(0,0),a.lineTo(d-b,0),a.lineTo(d,b),a.lineTo(d,e),a.lineTo(0,e),a.lineTo(0,0),a.close());a.end()};mxCellRenderer.registerShape("note",f);mxUtils.extend(e,mxActor);e.prototype.redrawPath=function(a,b,c,d,e){a.moveTo(0,0);a.quadTo(d/2,.5*e,d,0);a.quadTo(.5*
-d,e/2,d,e);a.quadTo(d/2,.5*e,0,e);a.quadTo(.5*d,e/2,0,0);a.end()};mxCellRenderer.registerShape("switch",e);mxUtils.extend(k,mxCylinder);k.prototype.tabWidth=60;k.prototype.tabHeight=20;k.prototype.tabPosition="right";k.prototype.redrawPath=function(a,b,c,d,e,f){b=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"tabWidth",this.tabWidth))));c=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"tabHeight",this.tabHeight))));var g=mxUtils.getValue(this.style,"tabPosition",this.tabPosition);
-f?"left"==g?(a.moveTo(0,c),a.lineTo(b,c)):(a.moveTo(d-b,c),a.lineTo(d,c)):("left"==g?(a.moveTo(0,0),a.lineTo(b,0),a.lineTo(b,c),a.lineTo(d,c)):(a.moveTo(0,c),a.lineTo(d-b,c),a.lineTo(d-b,0),a.lineTo(d,0)),a.lineTo(d,e),a.lineTo(0,e),a.lineTo(0,c),a.close());a.end()};mxCellRenderer.registerShape("folder",k);mxUtils.extend(g,mxActor);g.prototype.size=30;g.prototype.redrawPath=function(a,b,c,d,e){b=Math.max(0,Math.min(d,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));c=mxUtils.getValue(this.style,
+function S(){mxEllipse.call(this)}function ua(){mxEllipse.call(this)}function va(){mxActor.call(this)}function pa(){mxActor.call(this)}function qa(){mxActor.call(this)}function na(){mxConnector.call(this)}function Da(a,b,c,d,e,g,f,h,k,l){f+=k;var O=d.clone();d.x-=e*(2*f+k);d.y-=g*(2*f+k);e*=f+k;g*=f+k;return function(){a.ellipse(O.x-e-f,O.y-g-f,2*f,2*f);l?a.fillAndStroke():a.stroke()}}mxUtils.extend(a,mxCylinder);a.prototype.size=20;a.prototype.redrawPath=function(a,b,c,d,e,g){b=Math.max(0,Math.min(d,
+Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));g?(a.moveTo(b,e),a.lineTo(b,b),a.lineTo(0,0),a.moveTo(b,b),a.lineTo(d,b)):(a.moveTo(0,0),a.lineTo(d-b,0),a.lineTo(d,b),a.lineTo(d,e),a.lineTo(b,e),a.lineTo(0,e-b),a.lineTo(0,0),a.close());a.end()};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 za=Math.tan(mxUtils.toRadians(30)),oa=(.5-za)/2;mxUtils.extend(c,mxActor);c.prototype.size=20;c.prototype.redrawPath=function(a,b,c,d,e){b=Math.min(d,e/za);a.translate((d-b)/2,(e-b)/2+b/4);a.moveTo(0,.25*b);a.lineTo(.5*b,b*oa);a.lineTo(b,.25*b);a.lineTo(.5*b,(.5-oa)*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+za));g?(a.moveTo(0,.25*b),a.lineTo(.5*
+b,(.5-oa)*b),a.lineTo(b,.25*b),a.moveTo(.5*b,(.5-oa)*b),a.lineTo(.5*b,(1-oa)*b)):(a.translate((d-b)/2,(e-b)/2),a.moveTo(0,.25*b),a.lineTo(.5*b,b*oa),a.lineTo(b,.25*b),a.lineTo(b,.75*b),a.lineTo(.5*b,(1-oa)*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(),a.begin()),a.translate(0,-b);g||(a.moveTo(0,b),a.curveTo(0,-b/3,d,-b/3,d,b),a.lineTo(d,e-b),a.curveTo(d,e+b/3,0,e+b/3,0,e-b),a.close())};b.prototype.getLabelMargins=function(a){return new mxRectangle(0,2.5*Math.min(a.height/2,Math.round(a.height/8)+this.strokewidth-1)*this.scale,0,0)};mxCellRenderer.registerShape("datastore",
+b);mxUtils.extend(f,mxCylinder);f.prototype.size=30;f.prototype.redrawPath=function(a,b,c,d,e,g){b=Math.max(0,Math.min(d,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));g?(a.moveTo(d-b,0),a.lineTo(d-b,b),a.lineTo(d,b)):(a.moveTo(0,0),a.lineTo(d-b,0),a.lineTo(d,b),a.lineTo(d,e),a.lineTo(0,e),a.lineTo(0,0),a.close());a.end()};mxCellRenderer.registerShape("note",f);mxUtils.extend(e,mxActor);e.prototype.redrawPath=function(a,b,c,d,e){a.moveTo(0,0);a.quadTo(d/2,.5*e,d,0);a.quadTo(.5*
+d,e/2,d,e);a.quadTo(d/2,.5*e,0,e);a.quadTo(.5*d,e/2,0,0);a.end()};mxCellRenderer.registerShape("switch",e);mxUtils.extend(k,mxCylinder);k.prototype.tabWidth=60;k.prototype.tabHeight=20;k.prototype.tabPosition="right";k.prototype.redrawPath=function(a,b,c,d,e,g){b=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"tabWidth",this.tabWidth))));c=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"tabHeight",this.tabHeight))));var f=mxUtils.getValue(this.style,"tabPosition",this.tabPosition);
+g?"left"==f?(a.moveTo(0,c),a.lineTo(b,c)):(a.moveTo(d-b,c),a.lineTo(d,c)):("left"==f?(a.moveTo(0,0),a.lineTo(b,0),a.lineTo(b,c),a.lineTo(d,c)):(a.moveTo(0,c),a.lineTo(d-b,c),a.lineTo(d-b,0),a.lineTo(d,0)),a.lineTo(d,e),a.lineTo(0,e),a.lineTo(0,c),a.close());a.end()};mxCellRenderer.registerShape("folder",k);mxUtils.extend(g,mxActor);g.prototype.size=30;g.prototype.redrawPath=function(a,b,c,d,e){b=Math.max(0,Math.min(d,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(b,0),new mxPoint(d,0),new mxPoint(d,e),new mxPoint(0,e),new mxPoint(0,b)],this.isRounded,c,!0);a.end()};mxCellRenderer.registerShape("card",g);mxUtils.extend(h,mxActor);h.prototype.size=.4;h.prototype.redrawPath=function(a,b,c,d,e){b=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));a.moveTo(0,b/2);a.quadTo(d/4,1.4*b,d/2,b/2);a.quadTo(3*d/4,b*(1-1.4),d,b/2);a.lineTo(d,e-b/2);a.quadTo(3*
d/4,e-1.4*b,d/2,e-b/2);a.quadTo(d/4,e-b*(1-1.4),0,e-b/2);a.lineTo(0,b/2);a.close();a.end()};h.prototype.getLabelBounds=function(a){if(mxUtils.getValue(this.style,"boundedLbl",!1)){var b=mxUtils.getValue(this.style,"size",this.size),c=a.width,d=a.height;if(null==this.direction||this.direction==mxConstants.DIRECTION_EAST||this.direction==mxConstants.DIRECTION_WEST)return b*=d,new mxRectangle(a.x,a.y+b,c,d-2*b);b*=c;return new mxRectangle(a.x+b,a.y,c-2*b,d)}return a};mxCellRenderer.registerShape("tape",
h);mxUtils.extend(l,mxActor);l.prototype.size=.3;l.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};l.prototype.redrawPath=function(a,b,c,d,e){b=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));a.moveTo(0,0);a.lineTo(d,0);a.lineTo(d,e-b/2);a.quadTo(3*d/4,e-1.4*b,d/2,e-b/2);a.quadTo(d/4,e-b*(1-1.4),0,e-b/2);a.lineTo(0,b/2);a.close();
@@ -2850,89 +2850,89 @@ a.end()};mxCellRenderer.registerShape("document",l);mxCylinder.prototype.getLabe
[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.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);r.prototype.moveTo=function(a,b){this.originalMoveTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=b;this.firstX=a;this.firstY=b};r.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)};r.prototype.quadTo=function(a,b,c,d){this.originalQuadTo.apply(this.canvas,arguments);this.lastX=c;this.lastY=d};r.prototype.curveTo=function(a,b,c,d,e,f){this.originalCurveTo.apply(this.canvas,arguments);this.lastX=e;this.lastY=f};r.prototype.arcTo=function(a,b,c,d,e,f,g){this.originalArcTo.apply(this.canvas,arguments);this.lastX=f;this.lastY=
-g};r.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),f=Math.sqrt(d*d+e*e);if(2>f){this.originalLineTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=b;return}var g=Math.round(f/10),h=this.defaultVariation;5>g&&(g=5,h/=3);for(var O=c(a-this.lastX)*d/g,c=c(b-this.lastY)*e/g,d=d/f,e=e/f,f=0;f<g;f++){var k=(Math.random()-.5)*h;this.originalLineTo.call(this.canvas,
-O*f+this.lastX-k*e,c*f+this.lastY-k*d)}this.originalLineTo.call(this.canvas,a,b)}else this.originalLineTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=b};r.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 Ea=mxShape.prototype.paint;mxShape.prototype.defaultJiggle=1.5;mxShape.prototype.paint=
+null!=this.firstY&&(this.lineTo(this.firstX,this.firstY),this.originalClose.apply(this.canvas,arguments));this.originalClose.apply(this.canvas,arguments)};r.prototype.quadTo=function(a,b,c,d){this.originalQuadTo.apply(this.canvas,arguments);this.lastX=c;this.lastY=d};r.prototype.curveTo=function(a,b,c,d,e,g){this.originalCurveTo.apply(this.canvas,arguments);this.lastX=e;this.lastY=g};r.prototype.arcTo=function(a,b,c,d,e,g,f){this.originalArcTo.apply(this.canvas,arguments);this.lastX=g;this.lastY=
+f};r.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),h=this.defaultVariation;5>f&&(f=5,h/=3);for(var O=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)*h;this.originalLineTo.call(this.canvas,
+O*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};r.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 Ea=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 r(a,mxUtils.getValue(this.style,"jiggle",this.defaultJiggle)));Ea.apply(this,arguments);null!=a.handJiggle&&(a.handJiggle.destroy(),delete a.handJiggle)};mxRhombus.prototype.defaultJiggle=2;var Ia=mxRectangleShape.prototype.isHtmlAllowed;mxRectangleShape.prototype.isHtmlAllowed=function(){return(null==this.style||"0"==mxUtils.getValue(this.style,"comic","0"))&&Ia.apply(this,arguments)};
-var Ja=mxRectangleShape.prototype.paintBackground;mxRectangleShape.prototype.paintBackground=function(a,b,c,d,e){if(null==a.handJiggle)Ja.apply(this,arguments);else{var f=!0;null!=this.style&&(f="1"==mxUtils.getValue(this.style,mxConstants.STYLE_POINTER_EVENTS,"1"));if(f||null!=this.fill&&this.fill!=mxConstants.NONE||null!=this.stroke&&this.stroke!=mxConstants.NONE)f||null!=this.fill&&this.fill!=mxConstants.NONE||(a.pointerEvents=!1),a.begin(),this.isRounded?("1"==mxUtils.getValue(this.style,mxConstants.STYLE_ABSOLUTE_ARCSIZE,
-0)?f=Math.min(d/2,Math.min(e/2,mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2)):(f=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,f=Math.min(d*f,e*f)),a.moveTo(b+f,c),a.lineTo(b+d-f,c),a.quadTo(b+d,c,b+d,c+f),a.lineTo(b+d,c+e-f),a.quadTo(b+d,c+e,b+d-f,c+e),a.lineTo(b+f,c+e),a.quadTo(b,c+e,b,c+e-f),a.lineTo(b,c+f),a.quadTo(b,c,b+f,c)):(a.moveTo(b,c),a.lineTo(b+d,c),a.lineTo(b+d,c+e),a.lineTo(b,c+e),a.lineTo(b,
+var Ja=mxRectangleShape.prototype.paintBackground;mxRectangleShape.prototype.paintBackground=function(a,b,c,d,e){if(null==a.handJiggle)Ja.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 Ka=mxRectangleShape.prototype.paintForeground;mxRectangleShape.prototype.paintForeground=function(a,b,c,d,e){null==a.handJiggle&&Ka.apply(this,arguments)};mxUtils.extend(t,mxRectangleShape);t.prototype.size=.1;t.prototype.isHtmlAllowed=function(){return!1};t.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};t.prototype.paintForeground=function(a,b,c,d,e){var f=d*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,f=Math.max(f,Math.min(d*g,e*g));f=Math.round(f);a.begin();a.moveTo(b+f,c);a.lineTo(b+f,c+e);a.moveTo(b+d-f,c);a.lineTo(b+d-f,c+e);a.end();a.stroke();mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("process",t);mxUtils.extend(w,mxRectangleShape);w.prototype.paintBackground=function(a,b,c,d,e){a.setFillColor(mxConstants.NONE);a.rect(b,c,d,e);a.fill()};w.prototype.paintForeground=
+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};t.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",t);mxUtils.extend(w,mxRectangleShape);w.prototype.paintBackground=function(a,b,c,d,e){a.setFillColor(mxConstants.NONE);a.rect(b,c,d,e);a.fill()};w.prototype.paintForeground=
function(a,b,c,d,e){};mxCellRenderer.registerShape("transparent",w);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.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 f=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"position",this.position)))),g=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,f+h),e-c),new mxPoint(g,e),new mxPoint(Math.max(0,f),e-c),new mxPoint(0,e-c)],this.isRounded,b,!0,[4])};mxCellRenderer.registerShape("callout",
+"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",
v);mxUtils.extend(u,mxActor);u.prototype.size=.2;u.prototype.fixedSize=20;u.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",u);mxUtils.extend(z,mxHexagon);z.prototype.size=.25;z.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",z);mxUtils.extend(x,mxRectangleShape);x.prototype.isHtmlAllowed=function(){return!1};x.prototype.paintForeground=function(a,b,c,d,e){var f=Math.min(d/5,e/5)+1;a.begin();a.moveTo(b+d/2,c+f);a.lineTo(b+d/2,c+e-f);a.moveTo(b+f,c+e/2);a.lineTo(b+d-f,c+e/2);a.end();a.stroke();mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("plus",x);var Fa=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){Fa.apply(this,arguments);if(!this.outline&&1==this.style["double"]){var f=2*Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0);b+=f;c+=f;d-=2*f;e-=2*f;0<d&&0<e&&(a.setShadow(!1),Fa.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 f=Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||
-0);b+=f;c+=f;d-=2*f;e-=2*f;0<d&&0<e&&mxRectangleShape.prototype.paintBackground.apply(this,arguments)}a.setDashed(!1);var f=0,g;do{g=mxCellRenderer.defaultShapes[this.style["symbol"+f]];if(null!=g){var h=this.style["symbol"+f+"Align"],k=this.style["symbol"+f+"VerticalAlign"],O=this.style["symbol"+f+"Width"],l=this.style["symbol"+f+"Height"],m=this.style["symbol"+f+"Spacing"]||0,Aa=this.style["symbol"+f+"VSpacing"]||m,aa=this.style["symbol"+f+"ArcSpacing"];null!=aa&&(aa*=this.getArcSize(d+this.strokewidth,
-e+this.strokewidth),m+=aa,Aa+=aa);var aa=b,ra=c,aa=h==mxConstants.ALIGN_CENTER?aa+(d-O)/2:h==mxConstants.ALIGN_RIGHT?aa+(d-O-m):aa+m,ra=k==mxConstants.ALIGN_MIDDLE?ra+(e-l)/2:k==mxConstants.ALIGN_BOTTOM?ra+(e-l-Aa):ra+Aa;a.save();h=new g;h.style=this.style;g.prototype.paintVertexShape.call(h,a,aa,ra,O,l);a.restore()}f++}while(null!=g)}mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("ext",C);mxUtils.extend(A,mxCylinder);A.prototype.redrawPath=function(a,
-b,c,d,e,f){f?(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",A);mxUtils.extend(D,mxShape);D.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();
+this.isRounded,c,!0)};mxCellRenderer.registerShape("hexagon",z);mxUtils.extend(x,mxRectangleShape);x.prototype.isHtmlAllowed=function(){return!1};x.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",x);var Fa=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){Fa.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),Fa.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"],k=this.style["symbol"+g+"VerticalAlign"],O=this.style["symbol"+g+"Width"],l=this.style["symbol"+g+"Height"],m=this.style["symbol"+g+"Spacing"]||0,Aa=this.style["symbol"+g+"VSpacing"]||m,aa=this.style["symbol"+g+"ArcSpacing"];null!=aa&&(aa*=this.getArcSize(d+this.strokewidth,
+e+this.strokewidth),m+=aa,Aa+=aa);var aa=b,ra=c,aa=h==mxConstants.ALIGN_CENTER?aa+(d-O)/2:h==mxConstants.ALIGN_RIGHT?aa+(d-O-m):aa+m,ra=k==mxConstants.ALIGN_MIDDLE?ra+(e-l)/2:k==mxConstants.ALIGN_BOTTOM?ra+(e-l-Aa):ra+Aa;a.save();h=new f;h.style=this.style;f.prototype.paintVertexShape.call(h,a,aa,ra,O,l);a.restore()}g++}while(null!=f)}mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("ext",C);mxUtils.extend(A,mxCylinder);A.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",A);mxUtils.extend(D,mxShape);D.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",D);mxUtils.extend(B,mxShape);B.prototype.getLabelMargins=function(a){return new mxRectangle(a.width/6,0,0,0)};B.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",B);mxUtils.extend(L,mxEllipse);L.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",L);mxUtils.extend(K,mxShape);K.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",K);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(E,mxRectangleShape);E.prototype.size=40;E.prototype.isHtmlAllowed=function(){return!1};E.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)};E.prototype.paintBackground=function(a,b,c,d,e){var f=Math.max(0,Math.min(e,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,b,c,d,f):(g=this.state.view.graph.cellRenderer.getShape(g),null!=g&&g!=E&&(g=new g,
-g.apply(this.state),a.save(),g.paintVertexShape(a,b,c,d,f),a.restore()));f<e&&(a.setDashed(!0),a.begin(),a.moveTo(b+d/2,c+f),a.lineTo(b+d/2,c+e),a.end(),a.stroke())};E.prototype.paintForeground=function(a,b,c,d,e){var f=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,f))};mxCellRenderer.registerShape("umlLifeline",E);mxUtils.extend(J,mxShape);J.prototype.width=60;J.prototype.height=30;J.prototype.corner=
-10;J.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))};J.prototype.paintBackground=function(a,b,c,d,e){var f=this.corner,g=Math.min(d,Math.max(f,parseFloat(mxUtils.getValue(this.style,"width",this.width)))),h=Math.min(e,Math.max(1.5*f,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+g,c);a.lineTo(b+g,c+Math.max(0,h-1.5*f));a.lineTo(b+Math.max(0,g-f),c+h);a.lineTo(b,c+h);a.close();a.fillAndStroke();a.begin();
-a.moveTo(b+g,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",J);mxPerimeter.LifelinePerimeter=function(a,b,c,d){d=E.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);
+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)};E.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!=E&&(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())};E.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",E);mxUtils.extend(J,mxShape);J.prototype.width=60;J.prototype.height=30;J.prototype.corner=
+10;J.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))};J.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",J);mxPerimeter.LifelinePerimeter=function(a,b,c,d){d=E.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",v.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;null!=b&&(e=mxUtils.getValue(b.style,"size",e));var f=a.x,g=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_NORTH||b==mxConstants.DIRECTION_SOUTH?(e=k*Math.max(0,Math.min(1,e)),g=[new mxPoint(f,g),new mxPoint(f+
-h,g+e),new mxPoint(f+h,g+k),new mxPoint(f,g+k-e),new mxPoint(f,g)]):(e=h*Math.max(0,Math.min(1,e)),g=[new mxPoint(f+e,g),new mxPoint(f+h,g),new mxPoint(f+h-e,g+k),new mxPoint(f,g+k),new mxPoint(f+e,g)]);k=a.getCenterX();a=a.getCenterY();a=new mxPoint(k,a);d&&(c.x<f||c.x>f+h?a.y=c.y:a.x=c.x);return mxUtils.getPerimeterPoint(g,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 f=a.x,g=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)),g=[new mxPoint(f+e,g),new mxPoint(f+h-e,g),new mxPoint(f+h,g+k),new mxPoint(f,g+k),new mxPoint(f+e,g)]):b==mxConstants.DIRECTION_WEST?(e=h*Math.max(0,Math.min(1,e)),g=[new mxPoint(f,g),new mxPoint(f+h,g),new mxPoint(f+h-e,g+k),new mxPoint(f+e,g+k),new mxPoint(f,
-g)]):b==mxConstants.DIRECTION_NORTH?(e=k*Math.max(0,Math.min(1,e)),g=[new mxPoint(f,g+e),new mxPoint(f+h,g),new mxPoint(f+h,g+k),new mxPoint(f,g+k-e),new mxPoint(f,g+e)]):(e=k*Math.max(0,Math.min(1,e)),g=[new mxPoint(f,g),new mxPoint(f+h,g+e),new mxPoint(f+h,g+k-e),new mxPoint(f,g+k),new mxPoint(f,g)]);k=a.getCenterX();a=a.getCenterY();a=new mxPoint(k,a);d&&(c.x<f||c.x>f+h?a.y=c.y:a.x=c.x);return mxUtils.getPerimeterPoint(g,a,c)};mxStyleRegistry.putValue("trapezoidPerimeter",mxPerimeter.TrapezoidPerimeter);
-mxPerimeter.StepPerimeter=function(a,b,c,d){var e="0"!=mxUtils.getValue(b.style,"fixedSize","0"),f=e?u.prototype.fixedSize:u.prototype.size;null!=b&&(f=mxUtils.getValue(b.style,"size",f));var g=a.x,h=a.y,k=a.width,l=a.height,O=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,f)):k*Math.max(0,Math.min(1,f)),h=[new mxPoint(g,h),new mxPoint(g+k-
-e,h),new mxPoint(g+k,a),new mxPoint(g+k-e,h+l),new mxPoint(g,h+l),new mxPoint(g+e,a),new mxPoint(g,h)]):b==mxConstants.DIRECTION_WEST?(e=e?Math.max(0,Math.min(k,f)):k*Math.max(0,Math.min(1,f)),h=[new mxPoint(g+e,h),new mxPoint(g+k,h),new mxPoint(g+k-e,a),new mxPoint(g+k,h+l),new mxPoint(g+e,h+l),new mxPoint(g,a),new mxPoint(g+e,h)]):b==mxConstants.DIRECTION_NORTH?(e=e?Math.max(0,Math.min(l,f)):l*Math.max(0,Math.min(1,f)),h=[new mxPoint(g,h+e),new mxPoint(O,h),new mxPoint(g+k,h+e),new mxPoint(g+k,
-h+l),new mxPoint(O,h+l-e),new mxPoint(g,h+l),new mxPoint(g,h+e)]):(e=e?Math.max(0,Math.min(l,f)):l*Math.max(0,Math.min(1,f)),h=[new mxPoint(g,h),new mxPoint(O,h+e),new mxPoint(g+k,h),new mxPoint(g+k,h+l-e),new mxPoint(O,h+l),new mxPoint(g,h+l-e),new mxPoint(g,h)]);O=new mxPoint(O,a);d&&(c.x<g||c.x>g+k?O.y=c.y:O.x=c.x);return mxUtils.getPerimeterPoint(h,O,c)};mxStyleRegistry.putValue("stepPerimeter",mxPerimeter.StepPerimeter);mxPerimeter.HexagonPerimeter2=function(a,b,c,d){var e=z.prototype.size;null!=
-b&&(e=mxUtils.getValue(b.style,"size",e));var f=a.x,g=a.y,h=a.width,k=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_NORTH||b==mxConstants.DIRECTION_SOUTH?(e=k*Math.max(0,Math.min(1,e)),g=[new mxPoint(l,g),new mxPoint(f+h,g+e),new mxPoint(f+h,g+k-e),new mxPoint(l,g+k),new mxPoint(f,g+k-e),new mxPoint(f,g+e),new mxPoint(l,g)]):(e=h*Math.max(0,Math.min(1,e)),g=[new mxPoint(f+
-e,g),new mxPoint(f+h-e,g),new mxPoint(f+h,a),new mxPoint(f+h-e,g+k),new mxPoint(f+e,g+k),new mxPoint(f,a),new mxPoint(f+e,g)]);l=new mxPoint(l,a);d&&(c.x<f||c.x>f+h?l.y=c.y:l.x=c.x);return mxUtils.getPerimeterPoint(g,l,c)};mxStyleRegistry.putValue("hexagonPerimeter2",mxPerimeter.HexagonPerimeter2);mxUtils.extend(N,mxShape);N.prototype.size=10;N.prototype.paintBackground=function(a,b,c,d,e){var f=parseFloat(mxUtils.getValue(this.style,"size",this.size));a.translate(b,c);a.ellipse((d-f)/2,0,f,f);a.fillAndStroke();
-a.begin();a.moveTo(d/2,f);a.lineTo(d/2,e);a.end();a.stroke()};mxCellRenderer.registerShape("lollipop",N);mxUtils.extend(Q,mxShape);Q.prototype.size=10;Q.prototype.inset=2;Q.prototype.paintBackground=function(a,b,c,d,e){var f=parseFloat(mxUtils.getValue(this.style,"size",this.size)),g=parseFloat(mxUtils.getValue(this.style,"inset",this.inset))+this.strokewidth;a.translate(b,c);a.begin();a.moveTo(d/2,f+g);a.lineTo(d/2,e);a.end();a.stroke();a.begin();a.moveTo((d-f)/2-g,f/2);a.quadTo((d-f)/2-g,f+g,d/
-2,f+g);a.quadTo((d+f)/2+g,f+g,(d+f)/2+g,f/2);a.end();a.stroke()};mxCellRenderer.registerShape("requires",Q);mxUtils.extend(P,mxCylinder);P.prototype.jettyWidth=32;P.prototype.jettyHeight=12;P.prototype.redrawPath=function(a,b,c,d,e,f){var g=parseFloat(mxUtils.getValue(this.style,"jettyWidth",this.jettyWidth));b=parseFloat(mxUtils.getValue(this.style,"jettyHeight",this.jettyHeight));c=g/2;var g=c+g/2,h=.3*e-b/2,k=.7*e-b/2;f?(a.moveTo(c,h),a.lineTo(g,h),a.lineTo(g,h+b),a.lineTo(c,h+b),a.moveTo(c,k),
-a.lineTo(g,k),a.lineTo(g,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",P);mxUtils.extend(F,mxDoubleEllipse);F.prototype.outerStroke=!0;F.prototype.paintVertexShape=function(a,b,c,d,e){var f=Math.min(4,Math.min(d/5,e/5));0<d&&0<e&&(a.ellipse(b+f,c+f,d-2*f,e-2*f),a.fillAndStroke());a.setShadow(!1);
+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;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_NORTH||b==mxConstants.DIRECTION_SOUTH?(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),new mxPoint(g,f+k-e),new mxPoint(g,f)]):(e=h*Math.max(0,Math.min(1,e)),f=[new mxPoint(g+e,f),new mxPoint(g+h,f),new mxPoint(g+h-e,f+k),new mxPoint(g,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?u.prototype.fixedSize:u.prototype.size;null!=b&&(g=mxUtils.getValue(b.style,"size",g));var f=a.x,h=a.y,k=a.width,l=a.height,O=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+l),new mxPoint(f,h+l),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+l),new mxPoint(f+e,h+l),new mxPoint(f,a),new mxPoint(f+e,h)]):b==mxConstants.DIRECTION_NORTH?(e=e?Math.max(0,Math.min(l,g)):l*Math.max(0,Math.min(1,g)),h=[new mxPoint(f,h+e),new mxPoint(O,h),new mxPoint(f+k,h+e),new mxPoint(f+k,
+h+l),new mxPoint(O,h+l-e),new mxPoint(f,h+l),new mxPoint(f,h+e)]):(e=e?Math.max(0,Math.min(l,g)):l*Math.max(0,Math.min(1,g)),h=[new mxPoint(f,h),new mxPoint(O,h+e),new mxPoint(f+k,h),new mxPoint(f+k,h+l-e),new mxPoint(O,h+l),new mxPoint(f,h+l-e),new mxPoint(f,h)]);O=new mxPoint(O,a);d&&(c.x<f||c.x>f+k?O.y=c.y:O.x=c.x);return mxUtils.getPerimeterPoint(h,O,c)};mxStyleRegistry.putValue("stepPerimeter",mxPerimeter.StepPerimeter);mxPerimeter.HexagonPerimeter2=function(a,b,c,d){var e=z.prototype.size;null!=
+b&&(e=mxUtils.getValue(b.style,"size",e));var g=a.x,f=a.y,h=a.width,k=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_NORTH||b==mxConstants.DIRECTION_SOUTH?(e=k*Math.max(0,Math.min(1,e)),f=[new mxPoint(l,f),new mxPoint(g+h,f+e),new mxPoint(g+h,f+k-e),new mxPoint(l,f+k),new mxPoint(g,f+k-e),new mxPoint(g,f+e),new mxPoint(l,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)]);l=new mxPoint(l,a);d&&(c.x<g||c.x>g+h?l.y=c.y:l.x=c.x);return mxUtils.getPerimeterPoint(f,l,c)};mxStyleRegistry.putValue("hexagonPerimeter2",mxPerimeter.HexagonPerimeter2);mxUtils.extend(N,mxShape);N.prototype.size=10;N.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",N);mxUtils.extend(Q,mxShape);Q.prototype.size=10;Q.prototype.inset=2;Q.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",Q);mxUtils.extend(P,mxCylinder);P.prototype.jettyWidth=32;P.prototype.jettyHeight=12;P.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",P);mxUtils.extend(F,mxDoubleEllipse);F.prototype.outerStroke=!0;F.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",F);mxUtils.extend(G,F);G.prototype.outerStroke=!1;mxCellRenderer.registerShape("startState",G);mxUtils.extend(H,mxArrowConnector);H.prototype.defaultWidth=4;H.prototype.isOpenEnded=function(){return!0};H.prototype.getEdgeWidth=function(){return mxUtils.getNumber(this.style,"width",this.defaultWidth)+Math.max(0,this.strokewidth-1)};H.prototype.isArrowRounded=function(){return this.isRounded};mxCellRenderer.registerShape("link",
H);mxUtils.extend(y,mxArrowConnector);y.prototype.defaultWidth=10;y.prototype.defaultArrowWidth=20;y.prototype.getStartArrowWidth=function(){return this.getEdgeWidth()+mxUtils.getNumber(this.style,"startWidth",this.defaultArrowWidth)};y.prototype.getEndArrowWidth=function(){return this.getEdgeWidth()+mxUtils.getNumber(this.style,"endWidth",this.defaultArrowWidth)};y.prototype.getEdgeWidth=function(){return mxUtils.getNumber(this.style,"width",this.defaultWidth)+Math.max(0,this.strokewidth-1)};mxCellRenderer.registerShape("flexArrow",
y);mxUtils.extend(W,mxActor);W.prototype.size=30;W.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",W);mxUtils.extend(R,mxRectangleShape);R.prototype.dx=20;R.prototype.dy=20;R.prototype.isHtmlAllowed=
-function(){return!1};R.prototype.paintForeground=function(a,b,c,d,e){mxRectangleShape.prototype.paintForeground.apply(this,arguments);var f=0;if(this.isRounded)var g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,f=Math.max(f,Math.min(d*g,e*g));g=Math.max(f,Math.min(d,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));f=Math.max(f,Math.min(e,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));a.begin();a.moveTo(b,c+f);a.lineTo(b+d,c+f);
-a.end();a.stroke();a.begin();a.moveTo(b+g,c);a.lineTo(b+g,c+e);a.end();a.stroke()};mxCellRenderer.registerShape("internalStorage",R);mxUtils.extend(T,mxActor);T.prototype.dx=20;T.prototype.dy=20;T.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 f=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,e),new mxPoint(0,e)],this.isRounded,f,!0);a.end()};mxCellRenderer.registerShape("corner",T);mxUtils.extend(ca,mxActor);ca.prototype.redrawPath=function(a,b,c,d,e){a.moveTo(0,0);a.lineTo(0,e);a.end();a.moveTo(d,0);a.lineTo(d,e);a.end();a.moveTo(0,e/2);a.lineTo(d,e/2);a.end()};mxCellRenderer.registerShape("crossbar",ca);mxUtils.extend(X,mxActor);X.prototype.dx=20;X.prototype.dy=
-20;X.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 f=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((d+b)/2,c),new mxPoint((d+b)/2,e),new mxPoint((d-b)/2,e),new mxPoint((d-
-b)/2,c),new mxPoint(0,c)],this.isRounded,f,!0);a.end()};mxCellRenderer.registerShape("tee",X);mxUtils.extend(U,mxActor);U.prototype.arrowWidth=.3;U.prototype.arrowSize=.2;U.prototype.redrawPath=function(a,b,c,d,e){var f=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",this.arrowWidth))));b=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",this.arrowSize))));c=(e-f)/2;var f=c+f,g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/
-2;this.addPoints(a,[new mxPoint(0,c),new mxPoint(d-b,c),new mxPoint(d-b,0),new mxPoint(d,e/2),new mxPoint(d-b,e),new mxPoint(d-b,f),new mxPoint(0,f)],this.isRounded,g,!0);a.end()};mxCellRenderer.registerShape("singleArrow",U);mxUtils.extend(ja,mxActor);ja.prototype.redrawPath=function(a,b,c,d,e){var f=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",U.prototype.arrowWidth))));b=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",U.prototype.arrowSize))));
-c=(e-f)/2;var f=c+f,g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,e/2),new mxPoint(b,0),new mxPoint(b,c),new mxPoint(d-b,c),new mxPoint(d-b,0),new mxPoint(d,e/2),new mxPoint(d-b,e),new mxPoint(d-b,f),new mxPoint(b,f),new mxPoint(b,e)],this.isRounded,g,!0);a.end()};mxCellRenderer.registerShape("doubleArrow",ja);mxUtils.extend(da,mxActor);da.prototype.size=.1;da.prototype.redrawPath=function(a,b,c,d,e){b=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,
+function(){return!1};R.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",R);mxUtils.extend(T,mxActor);T.prototype.dx=20;T.prototype.dy=20;T.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,e),new mxPoint(0,e)],this.isRounded,g,!0);a.end()};mxCellRenderer.registerShape("corner",T);mxUtils.extend(ca,mxActor);ca.prototype.redrawPath=function(a,b,c,d,e){a.moveTo(0,0);a.lineTo(0,e);a.end();a.moveTo(d,0);a.lineTo(d,e);a.end();a.moveTo(0,e/2);a.lineTo(d,e/2);a.end()};mxCellRenderer.registerShape("crossbar",ca);mxUtils.extend(X,mxActor);X.prototype.dx=20;X.prototype.dy=
+20;X.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((d+b)/2,c),new mxPoint((d+b)/2,e),new mxPoint((d-b)/2,e),new mxPoint((d-
+b)/2,c),new mxPoint(0,c)],this.isRounded,g,!0);a.end()};mxCellRenderer.registerShape("tee",X);mxUtils.extend(U,mxActor);U.prototype.arrowWidth=.3;U.prototype.arrowSize=.2;U.prototype.redrawPath=function(a,b,c,d,e){var g=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",this.arrowWidth))));b=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",this.arrowSize))));c=(e-g)/2;var g=c+g,f=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/
+2;this.addPoints(a,[new mxPoint(0,c),new mxPoint(d-b,c),new mxPoint(d-b,0),new mxPoint(d,e/2),new mxPoint(d-b,e),new mxPoint(d-b,g),new mxPoint(0,g)],this.isRounded,f,!0);a.end()};mxCellRenderer.registerShape("singleArrow",U);mxUtils.extend(ja,mxActor);ja.prototype.redrawPath=function(a,b,c,d,e){var g=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",U.prototype.arrowWidth))));b=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",U.prototype.arrowSize))));
+c=(e-g)/2;var g=c+g,f=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,e/2),new mxPoint(b,0),new mxPoint(b,c),new mxPoint(d-b,c),new mxPoint(d-b,0),new mxPoint(d,e/2),new mxPoint(d-b,e),new mxPoint(d-b,g),new mxPoint(b,g),new mxPoint(b,e)],this.isRounded,f,!0);a.end()};mxCellRenderer.registerShape("doubleArrow",ja);mxUtils.extend(da,mxActor);da.prototype.size=.1;da.prototype.redrawPath=function(a,b,c,d,e){b=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,
"size",this.size))));a.moveTo(b,0);a.lineTo(d,0);a.quadTo(d-2*b,e/2,d,e);a.lineTo(b,e);a.quadTo(b-2*b,e/2,b,0);a.close();a.end()};mxCellRenderer.registerShape("dataStorage",da);mxUtils.extend(ka,mxActor);ka.prototype.redrawPath=function(a,b,c,d,e){a.moveTo(0,0);a.quadTo(d,0,d,e/2);a.quadTo(d,e,0,e);a.close();a.end()};mxCellRenderer.registerShape("or",ka);mxUtils.extend(ea,mxActor);ea.prototype.redrawPath=function(a,b,c,d,e){a.moveTo(0,0);a.quadTo(d,0,d,e/2);a.quadTo(d,e,0,e);a.quadTo(d/2,e/2,0,0);
a.close();a.end()};mxCellRenderer.registerShape("xor",ea);mxUtils.extend(Y,mxActor);Y.prototype.size=20;Y.prototype.redrawPath=function(a,b,c,d,e){b=Math.min(d/2,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(b,0),new mxPoint(d-b,0),new mxPoint(d,.8*b),new mxPoint(d,e),new mxPoint(0,e),new mxPoint(0,.8*b)],this.isRounded,c,!0);a.end()};mxCellRenderer.registerShape("loopLimit",
Y);mxUtils.extend(Z,mxActor);Z.prototype.size=.375;Z.prototype.redrawPath=function(a,b,c,d,e){b=e*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,0),new mxPoint(d,e-b),new mxPoint(d/2,e),new mxPoint(0,e-b)],this.isRounded,c,!0);a.end()};mxCellRenderer.registerShape("offPageConnector",Z);mxUtils.extend(fa,mxEllipse);fa.prototype.paintVertexShape=
function(a,b,c,d,e){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.begin();a.moveTo(b+d/2,c+e);a.lineTo(b+d,c+e);a.end();a.stroke()};mxCellRenderer.registerShape("tapeData",fa);mxUtils.extend(ga,mxEllipse);ga.prototype.paintVertexShape=function(a,b,c,d,e){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);a.begin();a.moveTo(b,c+e/2);a.lineTo(b+d,c+e/2);a.end();a.stroke();a.begin();a.moveTo(b+d/2,c);a.lineTo(b+d/2,c+e);a.end();a.stroke()};mxCellRenderer.registerShape("orEllipse",
ga);mxUtils.extend(ba,mxEllipse);ba.prototype.paintVertexShape=function(a,b,c,d,e){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);a.begin();a.moveTo(b+.145*d,c+.145*e);a.lineTo(b+.855*d,c+.855*e);a.end();a.stroke();a.begin();a.moveTo(b+.855*d,c+.145*e);a.lineTo(b+.145*d,c+.855*e);a.end();a.stroke()};mxCellRenderer.registerShape("sumEllipse",ba);mxUtils.extend(la,mxRhombus);la.prototype.paintVertexShape=function(a,b,c,d,e){mxRhombus.prototype.paintVertexShape.apply(this,
arguments);a.setShadow(!1);a.begin();a.moveTo(b,c+e/2);a.lineTo(b+d,c+e/2);a.end();a.stroke()};mxCellRenderer.registerShape("sortShape",la);mxUtils.extend(V,mxEllipse);V.prototype.paintVertexShape=function(a,b,c,d,e){a.begin();a.moveTo(b,c);a.lineTo(b+d,c);a.lineTo(b+d/2,c+e/2);a.close();a.fillAndStroke();a.begin();a.moveTo(b,c+e);a.lineTo(b+d,c+e);a.lineTo(b+d/2,c+e/2);a.close();a.fillAndStroke()};mxCellRenderer.registerShape("collate",V);mxUtils.extend(ma,mxEllipse);ma.prototype.paintVertexShape=
-function(a,b,c,d,e){var f=c+e-5;a.begin();a.moveTo(b,c);a.lineTo(b,c+e);a.moveTo(b,f);a.lineTo(b+10,f-5);a.moveTo(b,f);a.lineTo(b+10,f+5);a.moveTo(b,f);a.lineTo(b+d,f);a.moveTo(b+d,c);a.lineTo(b+d,c+e);a.moveTo(b+d,f);a.lineTo(b+d-10,f-5);a.moveTo(b+d,f);a.lineTo(b+d-10,f+5);a.end();a.stroke()};mxCellRenderer.registerShape("dimension",ma);mxUtils.extend(S,mxEllipse);S.prototype.paintVertexShape=function(a,b,c,d,e){this.outline||a.setStrokeColor(null);mxRectangleShape.prototype.paintBackground.apply(this,
+function(a,b,c,d,e){var g=c+e-5;a.begin();a.moveTo(b,c);a.lineTo(b,c+e);a.moveTo(b,g);a.lineTo(b+10,g-5);a.moveTo(b,g);a.lineTo(b+10,g+5);a.moveTo(b,g);a.lineTo(b+d,g);a.moveTo(b+d,c);a.lineTo(b+d,c+e);a.moveTo(b+d,g);a.lineTo(b+d-10,g-5);a.moveTo(b+d,g);a.lineTo(b+d-10,g+5);a.end();a.stroke()};mxCellRenderer.registerShape("dimension",ma);mxUtils.extend(S,mxEllipse);S.prototype.paintVertexShape=function(a,b,c,d,e){this.outline||a.setStrokeColor(null);mxRectangleShape.prototype.paintBackground.apply(this,
arguments);null!=this.style&&(a.setStrokeColor(this.stroke),a.rect(b,c,d,e),a.fill(),a.begin(),a.moveTo(b,c),"1"==mxUtils.getValue(this.style,"top","1")?a.lineTo(b+d,c):a.moveTo(b+d,c),"1"==mxUtils.getValue(this.style,"right","1")?a.lineTo(b+d,c+e):a.moveTo(b+d,c+e),"1"==mxUtils.getValue(this.style,"bottom","1")?a.lineTo(b,c+e):a.moveTo(b,c+e),"1"==mxUtils.getValue(this.style,"left","1")&&a.lineTo(b,c-this.strokewidth/2),a.end(),a.stroke())};mxCellRenderer.registerShape("partialRectangle",S);mxUtils.extend(ua,
mxEllipse);ua.prototype.paintVertexShape=function(a,b,c,d,e){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);a.begin();"vertical"==mxUtils.getValue(this.style,"line")?(a.moveTo(b+d/2,c),a.lineTo(b+d/2,c+e)):(a.moveTo(b,c+e/2),a.lineTo(b+d,c+e/2));a.end();a.stroke()};mxCellRenderer.registerShape("lineEllipse",ua);mxUtils.extend(va,mxActor);va.prototype.redrawPath=function(a,b,c,d,e){b=Math.min(d,e/2);a.moveTo(0,0);a.lineTo(d-b,0);a.quadTo(d,0,d,e/2);a.quadTo(d,e,d-b,e);a.lineTo(0,
-e);a.close();a.end()};mxCellRenderer.registerShape("delay",va);mxUtils.extend(pa,mxActor);pa.prototype.size=.2;pa.prototype.redrawPath=function(a,b,c,d,e){b=Math.min(e,d);var f=Math.max(0,Math.min(b,b*parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=(e-f)/2;c=b+f;var g=(d-f)/2,f=g+f;a.moveTo(0,b);a.lineTo(g,b);a.lineTo(g,0);a.lineTo(f,0);a.lineTo(f,b);a.lineTo(d,b);a.lineTo(d,c);a.lineTo(f,c);a.lineTo(f,e);a.lineTo(g,e);a.lineTo(g,c);a.lineTo(0,c);a.close();a.end()};mxCellRenderer.registerShape("cross",
+e);a.close();a.end()};mxCellRenderer.registerShape("delay",va);mxUtils.extend(pa,mxActor);pa.prototype.size=.2;pa.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",
pa);mxUtils.extend(qa,mxActor);qa.prototype.size=.25;qa.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",qa);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,f=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,f),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,f,g,h,k,l){var m=e*(g+k+1),n=f*(g+k+1);return function(){a.begin();a.moveTo(d.x-m/2-n/2,d.y-n/2+m/2);a.lineTo(d.x+n/2-3*m/2,d.y-3*n/2-m/2);a.stroke()}});mxMarker.addMarker("cross",function(a,b,c,d,e,f,g,h,k,
-l){var m=e*(g+k+1),n=f*(g+k+1);return function(){a.begin();a.moveTo(d.x-m/2-n/2,d.y-n/2+m/2);a.lineTo(d.x+n/2-3*m/2,d.y-3*n/2-m/2);a.moveTo(d.x-m/2+n/2,d.y-n/2-m/2);a.lineTo(d.x-n/2-3*m/2,d.y-3*n/2+m/2);a.stroke()}});mxMarker.addMarker("circle",Da);mxMarker.addMarker("circlePlus",function(a,b,c,d,e,f,g,h,k,l){var m=d.clone(),n=Da.apply(this,arguments),p=e*(g+2*k),O=f*(g+2*k);return function(){n.apply(this,arguments);a.begin();a.moveTo(m.x-e*k,m.y-f*k);a.lineTo(m.x-2*p+e*k,m.y-2*O+f*k);a.moveTo(m.x-
-p-O+f*k,m.y-O+p-e*k);a.lineTo(m.x+O-p-f*k,m.y-O-p+e*k);a.stroke()}});mxMarker.addMarker("async",function(a,b,c,d,e,f,g,h,k,l){b=e*k*1.118;c=f*k*1.118;e*=g+k;f*=g+k;var m=d.clone();m.x-=b;m.y-=c;d.x+=1*-e-b;d.y+=1*-f-c;return function(){a.begin();a.moveTo(m.x,m.y);h?a.lineTo(m.x-e-f/2,m.y-f+e/2):a.lineTo(m.x+f/2-e,m.y-f-e/2);a.lineTo(m.x-e,m.y-f);a.close();l?a.fillAndStroke():a.stroke()}});mxMarker.addMarker("openAsync",function(a){a=null!=a?a:2;return function(b,c,d,e,f,g,h,k,l,m){f*=h+l;g*=h+l;var n=
-e.clone();return function(){b.begin();b.moveTo(n.x,n.y);k?b.lineTo(n.x-f-g/a,n.y-g+f/a):b.lineTo(n.x+g/a-f,n.y-g-f/a);b.stroke()}}}(2));if("undefined"!==typeof mxVertexHandler){var Ga=function(a,b,c){return sa(a,["width"],b,function(b,d,e,f,g){g=a.shape.getEdgeWidth()*a.view.scale+c;return new mxPoint(f.x+d*b/4+e*g/2,f.y+e*b/4-d*g/2)},function(b,d,e,f,g,h){b=Math.sqrt(mxUtils.ptSegDistSq(f.x,f.y,g.x,g.y,h.x,h.y));a.style.width=Math.round(2*b)/a.view.scale-c})},sa=function(a,b,c,d,e){return M(a,b,
-function(b){var e=a.absolutePoints,f=e.length-1;b=a.view.translate;var g=a.view.scale,h=c?e[0]:e[f],e=c?e[1]:e[f-1],f=e.x-h.x,k=e.y-h.y,l=Math.sqrt(f*f+k*k),h=d.call(this,l,f/l,k/l,h,e);return new mxPoint(h.x/g-b.x,h.y/g-b.y)},function(b,d,f){var g=a.absolutePoints,h=g.length-1;b=a.view.translate;var k=a.view.scale,l=c?g[0]:g[h],g=c?g[1]:g[h-1],h=g.x-l.x,m=g.y-l.y,n=Math.sqrt(h*h+m*m);d.x=(d.x+b.x)*k;d.y=(d.y+b.y)*k;e.call(this,n,h/n,m/n,l,g,d,f)})},ia=function(a){return function(b){return[M(b,["arrowWidth",
+[],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),n=g*(f+k+1);return function(){a.begin();a.moveTo(d.x-m/2-n/2,d.y-n/2+m/2);a.lineTo(d.x+n/2-3*m/2,d.y-3*n/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),n=g*(f+k+1);return function(){a.begin();a.moveTo(d.x-m/2-n/2,d.y-n/2+m/2);a.lineTo(d.x+n/2-3*m/2,d.y-3*n/2-m/2);a.moveTo(d.x-m/2+n/2,d.y-n/2-m/2);a.lineTo(d.x-n/2-3*m/2,d.y-3*n/2+m/2);a.stroke()}});mxMarker.addMarker("circle",Da);mxMarker.addMarker("circlePlus",function(a,b,c,d,e,g,f,h,k,l){var m=d.clone(),n=Da.apply(this,arguments),p=e*(f+2*k),O=g*(f+2*k);return function(){n.apply(this,arguments);a.begin();a.moveTo(m.x-e*k,m.y-g*k);a.lineTo(m.x-2*p+e*k,m.y-2*O+g*k);a.moveTo(m.x-
+p-O+g*k,m.y-O+p-e*k);a.lineTo(m.x+O-p-g*k,m.y-O-p+e*k);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 n=
+e.clone();return function(){b.begin();b.moveTo(n.x,n.y);k?b.lineTo(n.x-g-f/a,n.y-f+g/a):b.lineTo(n.x+f/a-g,n.y-f-g/a);b.stroke()}}}(2));if("undefined"!==typeof mxVertexHandler){var Ga=function(a,b,c){return sa(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})},sa=function(a,b,c,d,e){return M(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,n=Math.sqrt(h*h+m*m);d.x=(d.x+b.x)*k;d.y=(d.y+b.y)*k;e.call(this,n,h/n,m/n,l,f,d,g)})},ia=function(a){return function(b){return[M(b,["arrowWidth",
"arrowSize"],function(b){var c=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"arrowWidth",U.prototype.arrowWidth))),d=Math.max(0,Math.min(a,mxUtils.getValue(this.state.style,"arrowSize",U.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))})]}},Ba=function(a,b,c){return function(d){var e=
-[M(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}},wa=function(a,b,c,d,e){c=null!=c?c:1;return function(f){var g=[M(f,["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 g=null!=e?"0"!=mxUtils.getValue(this.state.style,"fixedSize","0"):null;a=g?b.x-a.x:Math.max(0,Math.min(c,(b.x-a.x)/a.width));g&&!mxEvent.isAltDown(d.getEvent())&&(a=f.view.graph.snap(a));this.state.style.size=a},null,d)];b&&mxUtils.getValue(f.style,mxConstants.STYLE_ROUNDED,!1)&&g.push(ha(f));return g}},Ha=function(a){return function(b){var c=
+[M(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}},wa=function(a,b,c,d,e){c=null!=c?c:1;return function(g){var f=[M(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}},Ha=function(a){return function(b){var c=
[M(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=Math.max(0,Math.min(a,(c.x-b.x)/(.75*b.width)))},null,!0)];mxUtils.getValue(b.style,mxConstants.STYLE_ROUNDED,!1)&&c.push(ha(b));return c}},ta=function(){return function(a){var b=[];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&b.push(ha(a));return b}},ha=function(a,b){return M(a,
[mxConstants.STYLE_ARCSIZE],function(c){var d=null!=b?b:c.height/8;if("1"==mxUtils.getValue(a.style,mxConstants.STYLE_ABSOLUTE_ARCSIZE,0)){var e=mxUtils.getValue(a.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;return new mxPoint(c.x+c.width-Math.min(c.width/2,e),c.y+d)}e=Math.max(0,parseFloat(mxUtils.getValue(a.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)))/100;return new mxPoint(c.x+c.width-Math.min(Math.max(c.width/2,c.height/2),Math.min(c.width,c.height)*
-e),c.y+d)},function(b,c,d){"1"==mxUtils.getValue(a.style,mxConstants.STYLE_ABSOLUTE_ARCSIZE,0)?this.state.style[mxConstants.STYLE_ARCSIZE]=Math.round(Math.max(0,Math.min(b.width,2*(b.x+b.width-c.x)))):this.state.style[mxConstants.STYLE_ARCSIZE]=Math.round(Math.min(50,Math.max(0,100*(b.width-c.x+b.x)/Math.min(b.width,b.height))))})},M=function(a,b,c,d,e,f){var g=new mxHandle(a,null,mxVertexHandler.prototype.secondaryHandleImage);g.execute=function(){for(var a=0;a<b.length;a++)this.copyStyle(b[a])};
-g.getPosition=c;g.setPosition=d;g.ignoreGrid=null!=e?e:!0;if(f){var h=g.positionChanged;g.positionChanged=function(){h.apply(this,arguments);a.view.invalidate(this.state.cell);a.view.validate()}}return g},Ca={link:function(a){return[Ga(a,!0,10),Ga(a,!1,10)]},flexArrow:function(a){var b=a.view.graph.gridSize/a.view.scale,c=[];mxUtils.getValue(a.style,mxConstants.STYLE_STARTARROW,mxConstants.NONE)!=mxConstants.NONE&&(c.push(sa(a,["width",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!0,function(b,
-c,d,e,f){b=(a.shape.getEdgeWidth()-a.shape.strokewidth)*a.view.scale;f=3*mxUtils.getNumber(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(e.x+c*(f+a.shape.strokewidth*a.view.scale)+d*b/2,e.y+d*(f+a.shape.strokewidth*a.view.scale)-c*b/2)},function(c,d,e,f,g,h,k){c=Math.sqrt(mxUtils.ptSegDistSq(f.x,f.y,g.x,g.y,h.x,h.y));d=mxUtils.ptLineDist(f.x,f.y,f.x+e,f.y-d,h.x,h.y);a.style[mxConstants.STYLE_STARTSIZE]=Math.round(100*(d-a.shape.strokewidth)/3)/100/a.view.scale;
-a.style.width=Math.round(2*c)/a.view.scale;mxEvent.isControlDown(k.getEvent())&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE]);mxEvent.isAltDown(k.getEvent())||Math.abs(parseFloat(a.style[mxConstants.STYLE_STARTSIZE])-parseFloat(a.style[mxConstants.STYLE_ENDSIZE]))<b/6&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE])})),c.push(sa(a,["startWidth","endWidth",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!0,function(b,c,d,e,f){b=(a.shape.getStartArrowWidth()-
-a.shape.strokewidth)*a.view.scale;f=3*mxUtils.getNumber(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(e.x+c*(f+a.shape.strokewidth*a.view.scale)+d*b/2,e.y+d*(f+a.shape.strokewidth*a.view.scale)-c*b/2)},function(c,d,e,f,g,h,k){c=Math.sqrt(mxUtils.ptSegDistSq(f.x,f.y,g.x,g.y,h.x,h.y));d=mxUtils.ptLineDist(f.x,f.y,f.x+e,f.y-d,h.x,h.y);a.style[mxConstants.STYLE_STARTSIZE]=Math.round(100*(d-a.shape.strokewidth)/3)/100/a.view.scale;a.style.startWidth=Math.max(0,
+e),c.y+d)},function(b,c,d){"1"==mxUtils.getValue(a.style,mxConstants.STYLE_ABSOLUTE_ARCSIZE,0)?this.state.style[mxConstants.STYLE_ARCSIZE]=Math.round(Math.max(0,Math.min(b.width,2*(b.x+b.width-c.x)))):this.state.style[mxConstants.STYLE_ARCSIZE]=Math.round(Math.min(50,Math.max(0,100*(b.width-c.x+b.x)/Math.min(b.width,b.height))))})},M=function(a,b,c,d,e,g){var f=new mxHandle(a,null,mxVertexHandler.prototype.secondaryHandleImage);f.execute=function(){for(var a=0;a<b.length;a++)this.copyStyle(b[a])};
+f.getPosition=c;f.setPosition=d;f.ignoreGrid=null!=e?e:!0;if(g){var h=f.positionChanged;f.positionChanged=function(){h.apply(this,arguments);a.view.invalidate(this.state.cell);a.view.validate()}}return f},Ca={link:function(a){return[Ga(a,!0,10),Ga(a,!1,10)]},flexArrow:function(a){var b=a.view.graph.gridSize/a.view.scale,c=[];mxUtils.getValue(a.style,mxConstants.STYLE_STARTARROW,mxConstants.NONE)!=mxConstants.NONE&&(c.push(sa(a,["width",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!0,function(b,
+c,d,e,g){b=(a.shape.getEdgeWidth()-a.shape.strokewidth)*a.view.scale;g=3*mxUtils.getNumber(a.style,mxConstants.STYLE_STARTSIZE,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_STARTSIZE]=Math.round(100*(d-a.shape.strokewidth)/3)/100/a.view.scale;
+a.style.width=Math.round(2*c)/a.view.scale;mxEvent.isControlDown(k.getEvent())&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE]);mxEvent.isAltDown(k.getEvent())||Math.abs(parseFloat(a.style[mxConstants.STYLE_STARTSIZE])-parseFloat(a.style[mxConstants.STYLE_ENDSIZE]))<b/6&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE])})),c.push(sa(a,["startWidth","endWidth",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!0,function(b,c,d,e,g){b=(a.shape.getStartArrowWidth()-
+a.shape.strokewidth)*a.view.scale;g=3*mxUtils.getNumber(a.style,mxConstants.STYLE_STARTSIZE,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_STARTSIZE]=Math.round(100*(d-a.shape.strokewidth)/3)/100/a.view.scale;a.style.startWidth=Math.max(0,
Math.round(2*c)-a.shape.getEdgeWidth())/a.view.scale;mxEvent.isControlDown(k.getEvent())&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE],a.style.endWidth=a.style.startWidth);mxEvent.isAltDown(k.getEvent())||(Math.abs(parseFloat(a.style[mxConstants.STYLE_STARTSIZE])-parseFloat(a.style[mxConstants.STYLE_ENDSIZE]))<b/6&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE]),Math.abs(parseFloat(a.style.startWidth)-parseFloat(a.style.endWidth))<b&&(a.style.startWidth=
-a.style.endWidth))})));mxUtils.getValue(a.style,mxConstants.STYLE_ENDARROW,mxConstants.NONE)!=mxConstants.NONE&&(c.push(sa(a,["width",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!1,function(b,c,d,e,f){b=(a.shape.getEdgeWidth()-a.shape.strokewidth)*a.view.scale;f=3*mxUtils.getNumber(a.style,mxConstants.STYLE_ENDSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(e.x+c*(f+a.shape.strokewidth*a.view.scale)-d*b/2,e.y+d*(f+a.shape.strokewidth*a.view.scale)+c*b/2)},function(c,d,e,
-f,g,h,k){c=Math.sqrt(mxUtils.ptSegDistSq(f.x,f.y,g.x,g.y,h.x,h.y));d=mxUtils.ptLineDist(f.x,f.y,f.x+e,f.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.width=Math.round(2*c)/a.view.scale;mxEvent.isControlDown(k.getEvent())&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE]);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])})),c.push(sa(a,["startWidth","endWidth",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!1,function(b,c,d,e,f){b=(a.shape.getEndArrowWidth()-a.shape.strokewidth)*a.view.scale;f=3*mxUtils.getNumber(a.style,mxConstants.STYLE_ENDSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(e.x+c*(f+a.shape.strokewidth*a.view.scale)-d*b/2,e.y+d*(f+a.shape.strokewidth*a.view.scale)+c*b/2)},function(c,d,e,f,g,h,k){c=
-Math.sqrt(mxUtils.ptSegDistSq(f.x,f.y,g.x,g.y,h.x,h.y));d=mxUtils.ptLineDist(f.x,f.y,f.x+e,f.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])-
+a.style.endWidth))})));mxUtils.getValue(a.style,mxConstants.STYLE_ENDARROW,mxConstants.NONE)!=mxConstants.NONE&&(c.push(sa(a,["width",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!1,function(b,c,d,e,g){b=(a.shape.getEdgeWidth()-a.shape.strokewidth)*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.width=Math.round(2*c)/a.view.scale;mxEvent.isControlDown(k.getEvent())&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE]);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])})),c.push(sa(a,["startWidth","endWidth",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!1,function(b,c,d,e,g){b=(a.shape.getEndArrowWidth()-a.shape.strokewidth)*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=[M(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:ta(),ext:ta(),rectangle:ta(),triangle:ta(),rhombus:ta(),umlLifeline:function(a){return[M(a,["size"],function(a){var b=Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(this.state.style,"size",E.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[M(a,["width","height"],function(a){var b=Math.max(J.prototype.corner,Math.min(a.width,mxUtils.getValue(this.state.style,
@@ -2951,9 +2951,9 @@ Math.max(0,Math.min(a.width,b.x-a.x));mxUtils.getValue(this.state.style,"tabPosi
Math.max(0,Math.min(1,(a.y+a.height-b.y)/a.height))})]},tape:function(a){return[M(a,["size"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",h.prototype.size))));return new mxPoint(a.getCenterX(),a.y+b*a.height/2)},function(a,b){this.state.style.size=Math.max(0,Math.min(1,(b.y-a.y)/a.height*2))})]},offPageConnector:function(a){return[M(a,["size"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",Z.prototype.size))));
return new mxPoint(a.getCenterX(),a.y+(1-b)*a.height)},function(a,b){this.state.style.size=Math.max(0,Math.min(1,(a.y+a.height-b.y)/a.height))})]},step:wa(u.prototype.size,!0,null,!0,u.prototype.fixedSize),hexagon:wa(z.prototype.size,!0,.5,!0),curlyBracket:wa(p.prototype.size,!1),display:wa(qa.prototype.size,!1),cube:Ba(1,a.prototype.size,!1),card:Ba(.5,g.prototype.size,!0),loopLimit:Ba(.5,Y.prototype.size,!0),trapezoid:Ha(.5),parallelogram:Ha(1)};Graph.createHandle=M;Graph.handleFactory=Ca;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=Ca[a];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=Ca[a];if(null!=a)return a(this.state)}return null}}else Graph.createHandle=function(){},Graph.handleFactory={};var xa=new mxPoint(1,0),ya=new mxPoint(1,0),ia=mxUtils.toRadians(-30),xa=mxUtils.getRotatedPoint(xa,Math.cos(ia),Math.sin(ia)),ia=mxUtils.toRadians(-150),ya=mxUtils.getRotatedPoint(ya,Math.cos(ia),Math.sin(ia));mxEdgeStyle.IsometricConnector=function(a,b,c,d,e){var f=a.view;d=null!=d&&0<d.length?d[0]:null;var g=a.absolutePoints,h=g[0],g=g[g.length-1];null!=
-d&&(d=f.transformControlPoint(a,d));null==h&&null!=b&&(h=new mxPoint(b.getCenterX(),b.getCenterY()));null==g&&null!=c&&(g=new mxPoint(c.getCenterX(),c.getCenterY()));var k=xa.x,l=xa.y,m=ya.x,n=ya.y,p="horizontal"==mxUtils.getValue(a.style,"elbow","horizontal");if(null!=g&&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+(g.x-h.x)/2,h.y+(g.y-h.y)/2));a(d.x,d.y,!0);a(g.x,g.y,!1)}};mxStyleRegistry.putValue("isometricEdgeStyle",mxEdgeStyle.IsometricConnector);var La=Graph.prototype.createEdgeHandler;Graph.prototype.createEdgeHandler=function(a,b){if(b==mxEdgeStyle.IsometricConnector){var c=new mxElbowEdgeHandler(a);c.snapToTerminals=!1;return c}return La.apply(this,arguments)};c.prototype.constraints=[];d.prototype.constraints=[];v.prototype.constraints=[];
+(a=mxConstants.SHAPE_CONNECTOR);a=Ca[a];if(null!=a)return a(this.state)}return null}}else Graph.createHandle=function(){},Graph.handleFactory={};var xa=new mxPoint(1,0),ya=new mxPoint(1,0),ia=mxUtils.toRadians(-30),xa=mxUtils.getRotatedPoint(xa,Math.cos(ia),Math.sin(ia)),ia=mxUtils.toRadians(-150),ya=mxUtils.getRotatedPoint(ya,Math.cos(ia),Math.sin(ia));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=xa.x,l=xa.y,m=ya.x,n=ya.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);var La=Graph.prototype.createEdgeHandler;Graph.prototype.createEdgeHandler=function(a,b){if(b==mxEdgeStyle.IsometricConnector){var c=new mxElbowEdgeHandler(a);c.snapToTerminals=!1;return c}return La.apply(this,arguments)};c.prototype.constraints=[];d.prototype.constraints=[];v.prototype.constraints=[];
mxRectangleShape.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),new mxConnectionConstraint(new mxPoint(.25,
1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,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;x.prototype.constraints=mxRectangleShape.prototype.constraints;f.prototype.constraints=mxRectangleShape.prototype.constraints;g.prototype.constraints=mxRectangleShape.prototype.constraints;a.prototype.constraints=mxRectangleShape.prototype.constraints;k.prototype.constraints=mxRectangleShape.prototype.constraints;
@@ -2979,7 +2979,7 @@ this.addAction("open...",function(){window.openNew=!0;window.openKey="open";c.op
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,230,!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(){mxClipboard.copy(b)},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,f=b.view.scale,g=e.x,k=e.y,e=null;if(1==c.length&&a){var r=b.getCellGeometry(c[0]);null!=r&&(e=r.getTerminalPoint(!0))}e=null!=e?e:b.getBoundingBoxFromGeometry(c,a);if(null!=e){var t=Math.round(b.snap(b.popupMenuHandler.triggerX/f-g)),w=Math.round(b.snap(b.popupMenuHandler.triggerY/f-k));b.cellsMoved(c,t-e.x,w-e.y)}}}finally{b.getModel().endUpdate()}}});this.addAction("delete",function(b){a(null!=b&&mxEvent.isShiftDown(b))},null,null,"Delete");
+a;d++)a=a&&b.model.isEdge(c[d]);var e=b.view.translate,g=b.view.scale,f=e.x,k=e.y,e=null;if(1==c.length&&a){var r=b.getCellGeometry(c[0]);null!=r&&(e=r.getTerminalPoint(!0))}e=null!=e?e:b.getBoundingBoxFromGeometry(c,a);if(null!=e){var t=Math.round(b.snap(b.popupMenuHandler.triggerX/g-f)),w=Math.round(b.snap(b.popupMenuHandler.triggerY/g-k));b.cellsMoved(c,t-e.x,w-e.y)}}}finally{b.getModel().endUpdate()}}});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(){b.setSelectionCells(b.duplicateCells())},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,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();try{var a=b.isCellMovable(b.getSelectionCell())?1:0;b.toggleCellStyles(mxConstants.STYLE_MOVABLE,a);b.toggleCellStyles(mxConstants.STYLE_RESIZABLE,a);b.toggleCellStyles(mxConstants.STYLE_ROTATABLE,
a);b.toggleCellStyles(mxConstants.STYLE_DELETABLE,a);b.toggleCellStyles(mxConstants.STYLE_EDITABLE,a);b.toggleCellStyles("connectable",a)}finally{b.getModel().endUpdate()}}},null,null,Editor.ctrlKey+"+L");this.addAction("home",function(){b.home()},null,null,"Home");this.addAction("exitGroup",function(){b.exitGroup()},null,null,Editor.ctrlKey+"+Shift+Home");this.addAction("enterGroup",function(){b.enterGroup()},null,null,Editor.ctrlKey+"+Shift+End");this.addAction("collapse",function(){b.foldCells(!0)},
@@ -2987,7 +2987,7 @@ null,null,Editor.ctrlKey+"+Home");this.addAction("expand",function(){b.foldCells
b.getSelectionCount()&&0==b.getModel().getChildCount(b.getSelectionCell())?b.setCellStyles("container","0"):b.setSelectionCells(b.ungroupCells())},null,null,Editor.ctrlKey+"+Shift+U");this.addAction("removeFromGroup",function(){b.removeCellsFromParent()});this.addAction("edit",function(){b.isEnabled()&&b.startEditingAtCell()},null,null,"F2/Enter");this.addAction("editData...",function(){var a=b.getSelectionCell()||b.getModel().getRoot();null!=a&&(a=new EditDataDialog(c,a),c.showDialog(a.container,
340,340,!0,!1,null,!1),a.init())},null,null,Editor.ctrlKey+"+M");this.addAction("editTooltip...",function(){var a=c.editor.graph;if(a.isEnabled()&&!a.isSelectionEmpty()){var b=a.getSelectionCell(),d="";if(mxUtils.isNode(b.value)){var e=b.value.getAttribute("tooltip");null!=e&&(d=e)}d=new TextareaDialog(c,mxResources.get("editTooltip")+":",d,function(c){a.setTooltipForCell(b,c)});c.showDialog(d.container,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.addAction("insertLink...",function(){b.isEnabled()&&!b.isCellLocked(b.getDefaultParent())&&c.showLinkDialog("",mxResources.get("insert"),
-function(a,d){a=mxUtils.trim(a);if(0<a.length){var e=null,f=a.substring(a.lastIndexOf("/")+1);if(b.isPageLink(a)){var g=a.indexOf(",");0<g&&(f=c.getPageById(a.substring(g+1)),f=null!=f?f.getName():mxResources.get("pageNotFound"))}null!=d&&0<d.length&&(e=d[0].iconUrl,f=d[0].name||d[0].type,f=f.charAt(0).toUpperCase()+f.substring(1),30<f.length&&(f=f.substring(0,30)+"..."));g=b.getFreeInsertPoint();e=new mxCell(f,new mxGeometry(g.x,g.y,100,40),"fontColor=#0000EE;fontStyle=4;rounded=1;overflow=hidden;"+
+function(a,d){a=mxUtils.trim(a);if(0<a.length){var e=null,g=a.substring(a.lastIndexOf("/")+1);if(b.isPageLink(a)){var f=a.indexOf(",");0<f&&(g=c.getPageById(a.substring(f+1)),g=null!=g?g.getName():mxResources.get("pageNotFound"))}null!=d&&0<d.length&&(e=d[0].iconUrl,g=d[0].name||d[0].type,g=g.charAt(0).toUpperCase()+g.substring(1),30<g.length&&(g=g.substring(0,30)+"..."));f=b.getFreeInsertPoint();e=new mxCell(g,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;b.setLinkForCell(e,a);b.cellSizeUpdated(e,!0);b.getModel().beginUpdate();try{e=b.addCell(e),b.fireEvent(new mxEventObject("cellsInserted","cells",[e]))}finally{b.getModel().endUpdate()}b.setSelectionCell(e);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.getParentByName(a.getSelectedElement(),"A",a.cellEditor.textarea),d="";null!=b&&(d=b.getAttribute("href")||"");var e=a.cellEditor.saveSelection();c.showLinkDialog(d,mxResources.get("apply"),mxUtils.bind(this,function(b){a.cellEditor.restoreSelection(e);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!=
@@ -2995,7 +2995,7 @@ a){var d="1";b.stopEditing();b.getModel().beginUpdate();try{if("1"==a.style.html
b.sanitizeHtml(e));b.setCellStyles("html",d);c.fireEvent(new mxEventObject("styleChanged","keys",["html"],"values",[null!=d?d:"0"],"cells",b.getSelectionCells()))}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());
null!=d&&(a=d.style[mxConstants.STYLE_ROTATION]||a);a=new FilenameDialog(c,a,mxResources.get("apply"),function(a){null!=a&&0<a.length&&b.setCellStyles(mxConstants.STYLE_ROTATION,a)},mxResources.get("enterValue")+" ("+mxResources.get("rotation")+" 0-360)");c.showDialog(a.container,375,80,!0,!0);a.init()});this.addAction("resetView",function(){b.zoomTo(1);c.resetScrollbars()},null,null,Editor.ctrlKey+"+H");this.addAction("zoomIn",function(a){b.zoomIn()},null,null,Editor.ctrlKey+" + (Numpad) / Alt+Mousewheel");
this.addAction("zoomOut",function(a){b.zoomOut()},null,null,Editor.ctrlKey+" - (Numpad) / Alt+Mousewheel");this.addAction("fitWindow",function(){b.fit()},null,null,Editor.ctrlKey+"+Shift+H");this.addAction("fitPage",mxUtils.bind(this,function(){b.pageVisible||this.get("pageView").funct();var a=b.pageFormat,c=b.pageScale;b.zoomTo(Math.floor(20*Math.min((b.container.clientWidth-10)/a.width/c,(b.container.clientHeight-10)/a.height/c))/20);mxUtils.hasScrollbars(b.container)&&(a=b.getPagePadding(),b.container.scrollTop=
-a.y*b.view.scale,b.container.scrollLeft=Math.min(a.x*b.view.scale,(b.container.scrollWidth-b.container.clientWidth)/2))}),null,null,Editor.ctrlKey+"+J");this.addAction("fitTwoPages",mxUtils.bind(this,function(){b.pageVisible||this.get("pageView").funct();var a=b.pageFormat,c=b.pageScale;b.zoomTo(Math.floor(20*Math.min((b.container.clientWidth-10)/(2*a.width)/c,(b.container.clientHeight-10)/a.height/c))/20);mxUtils.hasScrollbars(b.container)&&(a=b.getPagePadding(),b.container.scrollTop=Math.min(a.y,
+a.y*b.view.scale-1,b.container.scrollLeft=Math.min(a.x*b.view.scale,(b.container.scrollWidth-b.container.clientWidth)/2)-1)}),null,null,Editor.ctrlKey+"+J");this.addAction("fitTwoPages",mxUtils.bind(this,function(){b.pageVisible||this.get("pageView").funct();var a=b.pageFormat,c=b.pageScale;b.zoomTo(Math.floor(20*Math.min((b.container.clientWidth-10)/(2*a.width)/c,(b.container.clientHeight-10)/a.height/c))/20);mxUtils.hasScrollbars(b.container)&&(a=b.getPagePadding(),b.container.scrollTop=Math.min(a.y,
(b.container.scrollHeight-b.container.clientHeight)/2),b.container.scrollLeft=Math.min(a.x,(b.container.scrollWidth-b.container.clientWidth)/2))}),null,null,Editor.ctrlKey+"+Shift+J");this.addAction("fitPageWidth",mxUtils.bind(this,function(){b.pageVisible||this.get("pageView").funct();b.zoomTo(Math.floor(20*(b.container.clientWidth-10)/b.pageFormat.width/b.pageScale)/20);if(mxUtils.hasScrollbars(b.container)){var a=b.getPagePadding();b.container.scrollLeft=Math.min(a.x*b.view.scale,(b.container.scrollWidth-
b.container.clientWidth)/2)}}));this.put("customZoom",new Action(mxResources.get("custom")+"...",mxUtils.bind(this,function(){var a=new FilenameDialog(this.editorUi,parseInt(100*b.getView().getScale()),mxResources.get("apply"),mxUtils.bind(this,function(a){a=parseInt(a);!isNaN(a)&&0<a&&b.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*b.pageScale),mxResources.get("apply"),mxUtils.bind(this,function(a){a=parseInt(a);!isNaN(a)&&0<a&&c.setPageScale(a/100)}),mxResources.get("pageScale")+" (%)");this.editorUi.showDialog(a.container,300,80,!0,!0);a.init()}));var e=null,e=this.addAction("grid",function(){b.setGridEnabled(!b.isGridEnabled());c.fireEvent(new mxEventObject("gridEnabledChanged"))},null,null,Editor.ctrlKey+"+Shift+G");e.setToggleAction(!0);e.setSelectedCallback(function(){return b.isGridEnabled()});e.setEnabled(!1);
@@ -3045,7 +3045,7 @@ b){this.addMenuItems(a,["toFront","toBack","-"],b);this.addSubmenu("direction",a
b)})));this.put("view",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,(null!=this.editorUi.format?["formatPanel"]:[]).concat("outline layers - pageView pageScale - scrollbars tooltips - grid guides - connectionArrows connectionPoints - resetView zoomIn zoomOut".split(" "),b))})));this.put("viewPanels",new Menu(mxUtils.bind(this,function(a,b){null!=this.editorUi.format&&this.addMenuItems(a,["formatPanel"],b);this.addMenuItems(a,["outline","layers"],b)})));this.put("viewZoom",new Menu(mxUtils.bind(this,
function(c,b){this.addMenuItems(c,["resetView","-"],b);for(var d=[.25,.5,.75,1,1.25,1.5,2,3,4],e=0;e<d.length;e++)(function(d){c.addItem(100*d+"%",null,function(){a.zoomTo(d)},b)})(d[e]);this.addMenuItems(c,"- fitWindow fitPageWidth fitPage fitTwoPages - customZoom".split(" "),b)})));this.put("file",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,"new open - save saveAs - import export - pageSetup print".split(" "),b)})));this.put("edit",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,
"undo redo - cut copy paste delete - duplicate - editData editTooltip editStyle - edit - editLink openLink - selectVertices selectEdges selectAll selectNone - lockUnlock".split(" "))})));this.put("extras",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,["copyConnect","collapseExpand","-","editDiagram"])})));this.put("help",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,["help","-","about"])})))};Menus.prototype.put=function(a,c){return this.menus[a]=c};
-Menus.prototype.get=function(a){return this.menus[a]};Menus.prototype.addSubmenu=function(a,c,d,b){var f=this.get(a).isEnabled();if(c.showDisabled||f)d=c.addItem(b||mxResources.get(a),null,null,d,null,f),this.addMenu(a,c,d)};Menus.prototype.addMenu=function(a,c,d){var b=this.get(a);null!=b&&(c.showDisabled||b.isEnabled())&&this.get(a).execute(c,d)};
+Menus.prototype.get=function(a){return this.menus[a]};Menus.prototype.addSubmenu=function(a,c,d,b){var f=this.get(a);null!=f&&(f=f.isEnabled(),c.showDisabled||f)&&(d=c.addItem(b||mxResources.get(a),null,null,d,null,f),this.addMenu(a,c,d))};Menus.prototype.addMenu=function(a,c,d){var b=this.get(a);null!=b&&(c.showDisabled||b.isEnabled())&&this.get(a).execute(c,d)};
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){var e=d.getParentByName(b,"TR"),f=d.cellEditor.textarea.getElementsByTagName("table");a=[];for(var k=0;k<f.length;k++)a.push(f[k]);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(k=b.length-1;0<=k;k--)if(0==k||b[k]!=a[k-1]){d.selectNode(b[k].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 k=f.insertCell(-1);mxClient.IS_QUIRKS&&(k.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"),k=Math.min(20,h.sectionRowIndex+2),
@@ -6625,76 +6625,76 @@ this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;ve
56,46,"","VM Running",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vm running","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.vm_saved_state;",58,48,"","VM Saved State",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vm saved state","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.vm_windows;",
46,60,"","VM Windows",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vm windows","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.vnic;",62,62,"","vNIC",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vnic","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.wan_accelerator;",
46,46,"","WAN Accelerator",null,null,this.getTagsForStencil("mxgraph.veeam.3d","wan accelerator","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.workstation;",76,62,"","Workstation",null,null,this.getTagsForStencil("mxgraph.veeam.3d","workstation","veeam 3d three dimension vmware virtual machine ").join(" "))];this.addPalette("veeam3D",
-"Veeam / 3D",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))}})();(function(){Sidebar.prototype.addWebIconsPalette=function(){var a="dashed=0;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.webicons.";this.addPaletteFunctions("webicons","Web Icons",!1,[this.createVertexTemplateEntry(a+"adfty;fillColor=#66E8F3;gradientColor=#1C7CBA",102.4,102.4,"","Adfty",null,null,this.getTagsForStencil("mxgraph.webicons","adfty","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"adobe_pdf;fillColor=#F40C0C;gradientColor=#610603",102.4,102.4,"","Adobe PDF",null,null,this.getTagsForStencil("mxgraph.webicons",
-"adobe pdf","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"aim;fillColor=#27E1E5;gradientColor=#0A4361",102.4,102.4,"","Aim",null,null,this.getTagsForStencil("mxgraph.webicons","aim","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"allvoices;fillColor=#807E7E;gradientColor=#1B1C1C",102.4,102.4,"","Allvoices",null,null,this.getTagsForStencil("mxgraph.webicons","allvoices","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"amazon;fillColor=#FFFFFF;gradientColor=#DFDEDE",
-102.4,102.4,"","Amazon",null,null,this.getTagsForStencil("mxgraph.webicons","amazon","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"amazon_2;fillColor=#605658;gradientColor=#231F20",102.4,102.4,"","Amazon",null,null,this.getTagsForStencil("mxgraph.webicons","amazon","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"android;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Android",null,null,this.getTagsForStencil("mxgraph.webicons","android","web icons icon").join(" ")),
-this.createVertexTemplateEntry(a+"apache;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Apache",null,null,this.getTagsForStencil("mxgraph.webicons","apache db database","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"apple;fillColor=#807E7E;gradientColor=#1B1C1C",102.4,102.4,"","Apple",null,null,this.getTagsForStencil("mxgraph.webicons","apple","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"apple_classic;fillColor=#66E8F3;gradientColor=#1C7CBA",102.4,102.4,
-"","Apple (classic)",null,null,this.getTagsForStencil("mxgraph.webicons","apple classic","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"arduino;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Arduino",null,null,this.getTagsForStencil("mxgraph.webicons","arduino","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"ask;fillColor=#F33543;gradientColor=#B50E11",102.4,102.4,"","Ask",null,null,this.getTagsForStencil("mxgraph.webicons","ask","web icons icon").join(" ")),
-this.createVertexTemplateEntry(a+"atlassian;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Atlassian",null,null,this.getTagsForStencil("mxgraph.webicons","atlassian","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"audioboo;fillColor=#EB35CF;gradientColor=#8C0E35",102.4,102.4,"","Audioboo",null,null,this.getTagsForStencil("mxgraph.webicons","audioboo","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"aws;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"",
-"AWS",null,null,this.getTagsForStencil("mxgraph.webicons","aws amazon web service","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"aws_s3;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","AWS S3",null,null,this.getTagsForStencil("mxgraph.webicons","aws s3 amazon web service","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"baidu;fillColor=#738FE8;gradientColor=#1F2470",102.4,102.4,"","Baidu",null,null,this.getTagsForStencil("mxgraph.webicons","baidu","web icons icon").join(" ")),
-this.createVertexTemplateEntry(a+"bebo;fillColor=#695D5D;gradientColor=#100E0E",102.4,102.4,"","Bebo",null,null,this.getTagsForStencil("mxgraph.webicons","bebo","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"behance;fillColor=#695D5D;gradientColor=#100E0E",102.4,102.4,"","Behance",null,null,this.getTagsForStencil("mxgraph.webicons","behance","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"bing;fillColor=#0A776E;gradientColor=#053D39",102.4,102.4,"","Bing",null,null,
-this.getTagsForStencil("mxgraph.webicons","bing","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"bitbucket;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Bitbucket",null,null,this.getTagsForStencil("mxgraph.webicons","bitbucket","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"blinklist;fillColor=#695D5D;gradientColor=#100E0E",102.4,102.4,"","Blinklist",null,null,this.getTagsForStencil("mxgraph.webicons","blinklist","web icons icon").join(" ")),this.createVertexTemplateEntry(a+
-"blogger;fillColor=#FDE47C;gradientColor=#F55F21",102.4,102.4,"","Blogger",null,null,this.getTagsForStencil("mxgraph.webicons","blogger","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"blogmarks;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Blogmarks",null,null,this.getTagsForStencil("mxgraph.webicons","blogmarks","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"bookmarks.fr;fillColor=#F9FAF4;gradientColor=#DCDFBB",102.4,102.4,"","Bookmarks.fr",null,null,this.getTagsForStencil("mxgraph.webicons",
-"bookmarks.fr","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"box;fillColor=#4CDFEF;gradientColor=#153EA0",102.4,102.4,"","Box",null,null,this.getTagsForStencil("mxgraph.webicons","box","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"buddymarks;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Buddymarks",null,null,this.getTagsForStencil("mxgraph.webicons","buddymarks","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"buffer;fillColor=#FFFFFF;gradientColor=#DFDEDE",
-102.4,102.4,"","Buffer",null,null,this.getTagsForStencil("mxgraph.webicons","buffer","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"buzzfeed;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Buzzfeed",null,null,this.getTagsForStencil("mxgraph.webicons","buzzfeed","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"chrome;fillColor=#FFFFFF;gradientColor=#DFDEDE",103.2,104,"","Chrome",null,null,this.getTagsForStencil("mxgraph.webicons","chrome","web icons icon").join(" ")),
-this.createVertexTemplateEntry(a+"citeulike;fillColor=#ACD65E;gradientColor=#2E3618",102.4,102.4,"","Citeulike",null,null,this.getTagsForStencil("mxgraph.webicons","citeulike","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"confluence;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Confluence",null,null,this.getTagsForStencil("mxgraph.webicons","confluence","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"connotea;fillColor=#E9FDFC;gradientColor=#BADBE9",102.4,
-102.4,"","Connotea",null,null,this.getTagsForStencil("mxgraph.webicons","connotea","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"dealsplus;fillColor=#B569B5;gradientColor=#7A467A",102.4,102.4,"","Dealsplus",null,null,this.getTagsForStencil("mxgraph.webicons","dealsplus","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"delicious",102.4,102.4,"","Delicious",null,null,this.getTagsForStencil("mxgraph.webicons","delicious","web icons icon").join(" ")),this.createVertexTemplateEntry(a+
-"designfloat;fillColor=#247BE0;gradientColor=#0A1F42",102.4,102.4,"","Designfloat",null,null,this.getTagsForStencil("mxgraph.webicons","designfloat","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"deviantart;fillColor=#00C659;gradientColor=#00813B",102.4,102.4,"","Deviantart",null,null,this.getTagsForStencil("mxgraph.webicons","deviantart","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"digg;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Digg",null,null,this.getTagsForStencil("mxgraph.webicons",
-"digg","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"diigo;fillColor=#2C7DE0;gradientColor=#1E5599",102.4,102.4,"","Diigo",null,null,this.getTagsForStencil("mxgraph.webicons","diiigo","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"dopplr;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Dopplr",null,null,this.getTagsForStencil("mxgraph.webicons","dopplr","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"drawio1;fillColor=#2174CE;gradientColor=#134277",
-102.4,102.4,"","Draw.io",null,null,this.getTagsForStencil("mxgraph.webicons","drawio draw io","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"drawio2;fillColor=#2174CE;gradientColor=#134277",102.4,102.4,"","Draw.io",null,null,this.getTagsForStencil("mxgraph.webicons","drawio draw io","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"dribbble;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Dribbble",null,null,this.getTagsForStencil("mxgraph.webicons","dribbble",
-"web icons icon").join(" ")),this.createVertexTemplateEntry(a+"dropbox;fillColor=#0BAAFE;gradientColor=#0080E6",102.4,102.4,"","Dropbox",null,null,this.getTagsForStencil("mxgraph.webicons","dropbox","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"dropbox2;fillColor=#2FB8FC;gradientColor=#0080E6",102.4,102.4,"","Dropbox",null,null,this.getTagsForStencil("mxgraph.webicons","dropbox","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"drupal;fillColor=#FFFFFF;gradientColor=#DFDEDE",
-102.4,102.4,"","Drupal",null,null,this.getTagsForStencil("mxgraph.webicons","drupal","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"dzone;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Dzone",null,null,this.getTagsForStencil("mxgraph.webicons","dzone","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"ebay;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Ebay",null,null,this.getTagsForStencil("mxgraph.webicons","ebay","web icons icon").join(" ")),this.createVertexTemplateEntry(a+
-"edmodo;fillColor=#2F81CE;gradientColor=#1F5487",102.4,102.4,"","Edmodo",null,null,this.getTagsForStencil("mxgraph.webicons","edmodo","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"evernote;fillColor=#D4EF75;gradientColor=#399F1F",102.4,102.4,"","Evernote",null,null,this.getTagsForStencil("mxgraph.webicons","evernote","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"facebook;fillColor=#6294E4;gradientColor=#1A2665",102.4,102.4,"","Facebook",null,null,this.getTagsForStencil("mxgraph.webicons",
-"facebook","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"fancy;fillColor=#C3ECF8;gradientColor=#348DD4",102.4,102.4,"","Fancy",null,null,this.getTagsForStencil("mxgraph.webicons","fancy","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"fark;fillColor=#EBEBF1;gradientColor=#8482A7",102.4,102.4,"","Fark",null,null,this.getTagsForStencil("mxgraph.webicons","fark","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"fashiolista;fillColor=#FFFFFF;gradientColor=#DFDEDE",
-102.4,102.4,"","Fashiolista",null,null,this.getTagsForStencil("mxgraph.webicons","fashiolista","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"feed;fillColor=#FFAC75;gradientColor=#FF6600",102.4,102.4,"","Feed",null,null,this.getTagsForStencil("mxgraph.webicons","feed","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"feedburner;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Feedburner",null,null,this.getTagsForStencil("mxgraph.webicons","feedburner","web icons icon").join(" ")),
-this.createVertexTemplateEntry(a+"flickr;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Flickr",null,null,this.getTagsForStencil("mxgraph.webicons","flickr","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"folkd;fillColor=#27A2E9;gradientColor=#0A2977",102.4,102.4,"","Folkd",null,null,this.getTagsForStencil("mxgraph.webicons","folkd","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"forrst;fillColor=#3E6B32;gradientColor=#111C0D",102.4,102.4,"","Forrst",null,null,
-this.getTagsForStencil("mxgraph.webicons","forrst","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"fotolog;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Fotolog",null,null,this.getTagsForStencil("mxgraph.webicons","fotolog","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"freshbump;fillColor=#695D5D;gradientColor=#100E0E",102.4,102.4,"","Freshbump",null,null,this.getTagsForStencil("mxgraph.webicons","freshbump","web icons icon").join(" ")),this.createVertexTemplateEntry(a+
-"fresqui;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Fresqui",null,null,this.getTagsForStencil("mxgraph.webicons","fresqui","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"friendfeed;fillColor=#7BDCEF;gradientColor=#21379E",102.4,102.4,"","Friendfeed",null,null,this.getTagsForStencil("mxgraph.webicons","fiendfeed","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"funp;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Funp",null,null,this.getTagsForStencil("mxgraph.webicons",
-"funp","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"fwisp;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Fwisp",null,null,this.getTagsForStencil("mxgraph.webicons","fwisp","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"gabbr;fillColor=#FBAC39;gradientColor=#EA2B0E",102.4,102.4,"","Gabbr",null,null,this.getTagsForStencil("mxgraph.webicons","gabbr","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"gamespot;fillColor=#695D5D;gradientColor=#100E0E",
-102.4,102.4,"","Gamespot",null,null,this.getTagsForStencil("mxgraph.webicons","gamespot","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"github;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Github",null,null,this.getTagsForStencil("mxgraph.webicons","github","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"gmail;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Gmail",null,null,this.getTagsForStencil("mxgraph.webicons","gmail","web icons icon").join(" ")),
-this.createVertexTemplateEntry(a+"google;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Google",null,null,this.getTagsForStencil("mxgraph.webicons","google","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"google_drive;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Google Drive",null,null,this.getTagsForStencil("mxgraph.webicons","google drive","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"google_hangout;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,
-102.4,"","Google Hangout",null,null,this.getTagsForStencil("mxgraph.webicons","google hangout","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"google_play;fillColor=#000000",69.4,20.6,"","Google Play",null,null,this.getTagsForStencil("mxgraph.webicons","google play","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"google_play_light;fillColor=#66E8F3;gradientColor=#1C7CBA",60,10.4,"","Google Play Light",null,null,this.getTagsForStencil("mxgraph.webicons","google play light",
-"web icons icon").join(" ")),this.createVertexTemplateEntry(a+"google_photos;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Google Photos",null,null,this.getTagsForStencil("mxgraph.webicons","google photos","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"google_plus;fillColor=#F24B46;gradientColor=#AD3832",102.4,102.4,"","Google Plus",null,null,this.getTagsForStencil("mxgraph.webicons","google plus","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"grooveshark;fillColor=#695D5D;gradientColor=#000000",
-102.4,102.4,"","Grooveshark",null,null,this.getTagsForStencil("mxgraph.webicons","grooveshark","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"hatena;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Hatena",null,null,this.getTagsForStencil("mxgraph.webicons","hatena","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"html5;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","HTML5",null,null,this.getTagsForStencil("mxgraph.webicons","html5 html","web icons icon").join(" ")),
-this.createVertexTemplateEntry(a+"identi.ca;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Identi.ca",null,null,this.getTagsForStencil("mxgraph.webicons","identi.ca","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"instagram;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Instagram",null,null,this.getTagsForStencil("mxgraph.webicons","instagram","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"instapaper;fillColor=#807E7E;gradientColor=#1B1C1C",102.4,
-102.4,"","Instapaper",null,null,this.getTagsForStencil("mxgraph.webicons","instapaper","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"ios;fillColor=#695D5D;gradientColor=#100E0E",102.4,102.4,"","iOS",null,null,this.getTagsForStencil("mxgraph.webicons","ios","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"jamespot;fillColor=#695D5D;gradientColor=#100E0E",102.4,102.4,"","Jamespot",null,null,this.getTagsForStencil("mxgraph.webicons","jamespot","web icons icon").join(" ")),
-this.createVertexTemplateEntry(a+"java;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Java",null,null,this.getTagsForStencil("mxgraph.webicons","java","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"joomla;fillColor=#1F457D;gradientColor=#081220",102.4,102.4,"","Joomla",null,null,this.getTagsForStencil("mxgraph.webicons","joomla","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"jquery;fillColor=#0BB9EA;gradientColor=#032F80",102.4,102.4,"","Jquery",null,null,
-this.getTagsForStencil("mxgraph.webicons","jquery","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"json;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","JSON",null,null,this.getTagsForStencil("mxgraph.webicons","json","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"json_2;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","JSON",null,null,this.getTagsForStencil("mxgraph.webicons","json","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"last.fm;fillColor=#F33543;gradientColor=#BD0E11",
-102.4,102.4,"","Last.fm",null,null,this.getTagsForStencil("mxgraph.webicons","last.fm last fm","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"linkagogo;fillColor=#F6F5FA;gradientColor=#C8C1E1",102.4,102.4,"","Linkagogo",null,null,this.getTagsForStencil("mxgraph.webicons","linkagogo","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"linkedin;fillColor=#0095DB;gradientColor=#006391",102.4,102.4,"","LinkedIn",null,null,this.getTagsForStencil("mxgraph.webicons","linkedin",
-"web icons icon").join(" ")),this.createVertexTemplateEntry(a+"livejournal;fillColor=#2690E5;gradientColor=#0A2463",102.4,102.4,"","Livejournal",null,null,this.getTagsForStencil("mxgraph.webicons","livejournal","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"mail.ru;fillColor=#267BE0;gradientColor=#0A1F42",102.4,102.4,"","Mail.ru",null,null,this.getTagsForStencil("mxgraph.webicons","mail.ru","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"meetup;fillColor=#F83263;gradientColor=#D40D19",
-102.4,102.4,"","Meetup",null,null,this.getTagsForStencil("mxgraph.webicons","meetup","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"meneame;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Meneame",null,null,this.getTagsForStencil("mxgraph.webicons","meneame","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"messenger;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Messenger",null,null,this.getTagsForStencil("mxgraph.webicons","messenger","web icons icon").join(" ")),
-this.createVertexTemplateEntry(a+"messenger_2;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Messenger",null,null,this.getTagsForStencil("mxgraph.webicons","messenger","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"messenger_3;fillColor=#09BEFC;gradientColor=#0060FA",102.4,102.4,"","Messenger",null,null,this.getTagsForStencil("mxgraph.webicons","messenger","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"mind_body_green;fillColor=#E0EEF8;gradientColor=#4496D5",
-102.4,102.4,"","Mind Body Green",null,null,this.getTagsForStencil("mxgraph.webicons","mind body green","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"mongodb;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","MongoDb",null,null,this.getTagsForStencil("mxgraph.webicons","mongodb","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"myspace;fillColor=#3C69E2;gradientColor=#101B54",102.4,102.4,"","MySpace",null,null,this.getTagsForStencil("mxgraph.webicons","myspace",
-"web icons icon").join(" ")),this.createVertexTemplateEntry(a+"n4g;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","N4g",null,null,this.getTagsForStencil("mxgraph.webicons","n4g","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"netlog;fillColor=#FA3743;gradientColor=#E10E11",102.4,102.4,"","Netlog",null,null,this.getTagsForStencil("mxgraph.webicons","netlog","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"netvibes;fillColor=#99DB00;gradientColor=#638E00",102.4,
-102.4,"","Netvibes",null,null,this.getTagsForStencil("mxgraph.webicons","netvibes","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"netvouz;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Netvouz",null,null,this.getTagsForStencil("mxgraph.webicons","netvouz","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"networkedblogs;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Networkedblogs",null,null,this.getTagsForStencil("mxgraph.webicons","networkedblogs",
-"web icons icon").join(" ")),this.createVertexTemplateEntry(a+"newsvine;fillColor=#008733;gradientColor=#00441B",102.4,102.4,"","Newsvine",null,null,this.getTagsForStencil("mxgraph.webicons","newsvine","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"odnoklassniki;fillColor=#FDE15A;gradientColor=#F24317",102.4,102.4,"","Odnoklassniki",null,null,this.getTagsForStencil("mxgraph.webicons","odnoklassniki","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"oknotizie;fillColor=#FFFFFF;gradientColor=#DFDEDE",
-102.4,102.4,"","Oknotizie",null,null,this.getTagsForStencil("mxgraph.webicons","oknotizie","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"onedrive;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","OneDrive",null,null,this.getTagsForStencil("mxgraph.webicons","onedrive","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"oracle;fillColor=#FA3743;gradientColor=#E10E11",102.4,102.4,"","Oracle",null,null,this.getTagsForStencil("mxgraph.webicons","oracle","web icons icon").join(" ")),
-this.createVertexTemplateEntry(a+"paypal;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Paypal",null,null,this.getTagsForStencil("mxgraph.webicons","paypal","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"phone;fillColor=#76F21E;gradientColor=#079704",102.4,102.4,"","Phone",null,null,this.getTagsForStencil("mxgraph.webicons","phone","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"phonefavs;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Phonefavs",
-null,null,this.getTagsForStencil("mxgraph.webicons","phonefavs","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"pinterest;fillColor=#E50B28;gradientColor=#890616",102.4,102.4,"","Pinterest",null,null,this.getTagsForStencil("mxgraph.webicons","pinterest","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"plaxo;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Plaxo",null,null,this.getTagsForStencil("mxgraph.webicons","plaxo","web icons icon").join(" ")),this.createVertexTemplateEntry(a+
-"playfire;fillColor=#695D5D;gradientColor=#100E0E",102.4,102.4,"","Playfire",null,null,this.getTagsForStencil("mxgraph.webicons","playfire","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"plurk;fillColor=#FF5656;gradientColor=#A8312D",102.4,102.4,"","Plurk",null,null,this.getTagsForStencil("mxgraph.webicons","plurk","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"pocket;fillColor=#FF4460;gradientColor=#B73143",102.4,102.4,"","Pocket",null,null,this.getTagsForStencil("mxgraph.webicons",
-"pocket","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"protopage;fillColor=#4B78C0;gradientColor=#294282",102.4,102.4,"","Protopage",null,null,this.getTagsForStencil("mxgraph.webicons","protopage","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"readernaut;fillColor=#695D5D;gradientColor=#100E0E",102.4,102.4,"","Readernaut",null,null,this.getTagsForStencil("mxgraph.webicons","readernaut","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"reddit;fillColor=#F3F8FC;gradientColor=#B4D2F0",
-102.4,102.4,"","Reddit",null,null,this.getTagsForStencil("mxgraph.webicons","reddit","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"rss;fillColor=#FDE532;gradientColor=#F4600D",102.4,102.4,"","RSS",null,null,this.getTagsForStencil("mxgraph.webicons","rss","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"scoopit;fillColor=#8CD845;gradientColor=#4E7A27",102.4,102.4,"","Scoopit",null,null,this.getTagsForStencil("mxgraph.webicons","scoopit","web icons icon").join(" ")),this.createVertexTemplateEntry(a+
-"scribd;fillColor=#1D637D;gradientColor=#071920",102.4,102.4,"","Scribd",null,null,this.getTagsForStencil("mxgraph.webicons","scribd","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"segnalo;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Segnalo",null,null,this.getTagsForStencil("mxgraph.webicons","segnalo","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"sina;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Sina",null,null,this.getTagsForStencil("mxgraph.webicons",
-"sina","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"sitejot;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Sitejot",null,null,this.getTagsForStencil("mxgraph.webicons","sitejot","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"skype;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Skype",null,null,this.getTagsForStencil("mxgraph.webicons","skype","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"skyrock;fillColor=#47B8FF;gradientColor=#006AAD",
-102.4,102.4,"","Skyrock",null,null,this.getTagsForStencil("mxgraph.webicons","skyrock","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"slashdot;fillColor=#03B2AC;gradientColor=#012C2C",102.4,102.4,"","Slashdot",null,null,this.getTagsForStencil("mxgraph.webicons","slashdot","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"sms;fillColor=#86D466;gradientColor=#42B418",102.4,102.4,"","SMS",null,null,this.getTagsForStencil("mxgraph.webicons","sms","web icons icon").join(" ")),
-this.createVertexTemplateEntry(a+"socialvibe;fillColor=#FA16E2;gradientColor=#DF064B",102.4,102.4,"","Socialvibe",null,null,this.getTagsForStencil("mxgraph.webicons","socialvibe","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"society6;fillColor=#695D5D;gradientColor=#100E0E",102.4,102.4,"","Society6",null,null,this.getTagsForStencil("mxgraph.webicons","society6","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"sonico;fillColor=#3FEAF6;gradientColor=#117EC9",102.4,102.4,
-"","Sonico",null,null,this.getTagsForStencil("mxgraph.webicons","sonico","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"soundcloud;fillColor=#F78E11;gradientColor=#F93A0E",102.4,102.4,"","Soundcloud",null,null,this.getTagsForStencil("mxgraph.webicons","soundcloud","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"sourceforge;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Sourceforge",null,null,this.getTagsForStencil("mxgraph.webicons","sourceforge","web icons icon").join(" ")),
-this.createVertexTemplateEntry(a+"sourceforge_2;fillColor=#0078AF;gradientColor=#00385E",102.4,102.4,"","Sourceforge",null,null,this.getTagsForStencil("mxgraph.webicons","sourceforge","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"spring.me;fillColor=#3CBEF2;gradientColor=#2B8AAF",102.4,102.4,"","Spring.me",null,null,this.getTagsForStencil("mxgraph.webicons","spring me","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"stackexchange;fillColor=#FFFFFF;gradientColor=#DFDEDE",
-102.4,102.4,"","Stackexchange",null,null,this.getTagsForStencil("mxgraph.webicons","stackexchange stack exchange","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"stackoverflow;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","StackOverflow",null,null,this.getTagsForStencil("mxgraph.webicons","stackoverflow stack overflow","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"startaid;fillColor=#47B0E5;gradientColor=#2F7599",102.4,102.4,"","Startaid",null,null,this.getTagsForStencil("mxgraph.webicons",
-"startaid","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"startlap;fillColor=#B9E6F0;gradientColor=#3062A2",102.4,102.4,"","Startlap",null,null,this.getTagsForStencil("mxgraph.webicons","startlap","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"steam;fillColor=#695D5D;gradientColor=#100E0E",102.4,102.4,"","Steam",null,null,this.getTagsForStencil("mxgraph.webicons","steam","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"stumbleupon;fillColor=#FA823C;gradientColor=#E12110",
-102.4,102.4,"","StumbleUpon",null,null,this.getTagsForStencil("mxgraph.webicons","stumbleupon","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"stumpedia;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Stumpedia",null,null,this.getTagsForStencil("mxgraph.webicons","stumpedia","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"technorati;fillColor=#99EC92;gradientColor=#288925",102.4,102.4,"","Technorati",null,null,this.getTagsForStencil("mxgraph.webicons","technorati",
-"web icons icon").join(" ")),this.createVertexTemplateEntry(a+"translate;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Translate",null,null,this.getTagsForStencil("mxgraph.webicons","translate","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"tumblr;fillColor=#588BBC;gradientColor=#172330",102.4,102.4,"","Tumblr",null,null,this.getTagsForStencil("mxgraph.webicons","tumblr","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"tunein;fillColor=#FFFFFF;gradientColor=#DFDEDE",
-102.4,102.4,"","Tunein",null,null,this.getTagsForStencil("mxgraph.webicons","tunein","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"twitter;fillColor=#49EAF7;gradientColor=#137BD0",102.4,102.4,"","Twitter",null,null,this.getTagsForStencil("mxgraph.webicons","twitter","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"two;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Two",null,null,this.getTagsForStencil("mxgraph.webicons","two","web icons icon").join(" ")),this.createVertexTemplateEntry(a+
-"typepad;fillColor=#CBD372;gradientColor=#818748",102.4,102.4,"","Typepad",null,null,this.getTagsForStencil("mxgraph.webicons","typepad","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"viadeo;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Viadeo",null,null,this.getTagsForStencil("mxgraph.webicons","viadeo","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"viber;fillColor=#9964C4;gradientColor=#52366B",102.4,102.4,"","Viber",null,null,this.getTagsForStencil("mxgraph.webicons",
-"viber","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"viddler;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Viddler",null,null,this.getTagsForStencil("mxgraph.webicons","viddler","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"vimeo;fillColor=#A4EDF9;gradientColor=#2B8ED9",102.4,102.4,"","Vimeo",null,null,this.getTagsForStencil("mxgraph.webicons","vimeo","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"virb;fillColor=#536873;gradientColor=#161A1D",
-102.4,102.4,"","Virb",null,null,this.getTagsForStencil("mxgraph.webicons","virb","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"vkontakte;fillColor=#5F94CC;gradientColor=#39587A",102.4,102.4,"","Vkontakte",null,null,this.getTagsForStencil("mxgraph.webicons","vkontakte","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"wakoopa;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Wakoopa",null,null,this.getTagsForStencil("mxgraph.webicons","wakoopa","web icons icon").join(" ")),
-this.createVertexTemplateEntry(a+"weheartit;fillColor=#FF7AA2;gradientColor=#FF4577",102.4,102.4,"","Weheartit",null,null,this.getTagsForStencil("mxgraph.webicons","weheartit","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"whatsapp;fillColor=#4FE238;gradientColor=#138709",102.4,102.4,"","Whatsapp",null,null,this.getTagsForStencil("mxgraph.webicons","whatsapp","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"wix;fillColor=#8AE3F2;gradientColor=#2451B0",102.4,102.4,"",
-"Wix",null,null,this.getTagsForStencil("mxgraph.webicons","wix","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"wordpress;fillColor=#35E2EE;gradientColor=#0E4D99",102.4,102.4,"","Wordpress",null,null,this.getTagsForStencil("mxgraph.webicons","wordpress","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"wordpress_2;fillColor=#35E2EE;gradientColor=#0E4D99",102.4,102.4,"","Wordpress",null,null,this.getTagsForStencil("mxgraph.webicons","wordpress","web icons icon").join(" ")),
-this.createVertexTemplateEntry(a+"xanga;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Xanga",null,null,this.getTagsForStencil("mxgraph.webicons","xanga","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"xerpi;fillColor=#7F719B;gradientColor=#32264B",102.4,102.4,"","Xerpi",null,null,this.getTagsForStencil("mxgraph.webicons","xerpi","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"xing;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Xing",null,null,this.getTagsForStencil("mxgraph.webicons",
-"xing","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"yahoo;fillColor=#AC37AE;gradientColor=#2E0E2D",102.4,102.4,"","Yahoo",null,null,this.getTagsForStencil("mxgraph.webicons","yahoo","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"yahoo_2;fillColor=#AC37AE;gradientColor=#2E0E2D",102.4,102.4,"","Yahoo",null,null,this.getTagsForStencil("mxgraph.webicons","yahoo","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"yammer;fillColor=#00AFE0;gradientColor=#005F7A",
-102.4,102.4,"","Yammer",null,null,this.getTagsForStencil("mxgraph.webicons","yammer","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"yandex;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Yandex",null,null,this.getTagsForStencil("mxgraph.webicons","yandex","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"yelp;fillColor=#EF5140;gradientColor=#9C1410",102.4,102.4,"","Yelp",null,null,this.getTagsForStencil("mxgraph.webicons","yelp","web icons icon").join(" ")),this.createVertexTemplateEntry(a+
-"yoolink;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Yoolink",null,null,this.getTagsForStencil("mxgraph.webicons","yoolink","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"youmob;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Youmob",null,null,this.getTagsForStencil("mxgraph.webicons","youmob","web icons icon").join(" "))])};Sidebar.prototype.addWebLogosPalette=function(){var a="dashed=0;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.weblogos.";this.addPaletteFunctions("weblogos",
-"Web Logos",!1,[this.createVertexTemplateEntry(a+"adfty;fillColor=#66E8F3;gradientColor=#1C7CBA",91.2,.2*458,"","Adfty",null,null,this.getTagsForStencil("mxgraph.weblogos","adfty","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"adobe_pdf;fillColor=#A60908",69.4,.2*338,"","Adobe PDF",null,null,this.getTagsForStencil("mxgraph.weblogos","adobe pdf","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"aim",.2*312,68.4,"","Aim",null,null,this.getTagsForStencil("mxgraph.weblogos",
+"Veeam / 3D",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))}})();(function(){Sidebar.prototype.addWebIconsPalette=function(){var a="dashed=0;html=1;align=center;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;"+mxConstants.STYLE_SHAPE+"=mxgraph.webicons.";this.addPaletteFunctions("webicons","Web Icons",!1,[this.createVertexTemplateEntry(a+"adfty;fillColor=#66E8F3;gradientColor=#1C7CBA",102.4,102.4,"","Adfty",null,null,this.getTagsForStencil("mxgraph.webicons","adfty","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"adobe_pdf;fillColor=#F40C0C;gradientColor=#610603",
+102.4,102.4,"","Adobe PDF",null,null,this.getTagsForStencil("mxgraph.webicons","adobe pdf","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"aim;fillColor=#27E1E5;gradientColor=#0A4361",102.4,102.4,"","Aim",null,null,this.getTagsForStencil("mxgraph.webicons","aim","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"allvoices;fillColor=#807E7E;gradientColor=#1B1C1C",102.4,102.4,"","Allvoices",null,null,this.getTagsForStencil("mxgraph.webicons","allvoices","web icons icon").join(" ")),
+this.createVertexTemplateEntry(a+"amazon;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Amazon",null,null,this.getTagsForStencil("mxgraph.webicons","amazon","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"amazon_2;fillColor=#605658;gradientColor=#231F20",102.4,102.4,"","Amazon",null,null,this.getTagsForStencil("mxgraph.webicons","amazon","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"android;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Android",
+null,null,this.getTagsForStencil("mxgraph.webicons","android","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"apache;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Apache",null,null,this.getTagsForStencil("mxgraph.webicons","apache db database","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"apple;fillColor=#807E7E;gradientColor=#1B1C1C",102.4,102.4,"","Apple",null,null,this.getTagsForStencil("mxgraph.webicons","apple","web icons icon").join(" ")),this.createVertexTemplateEntry(a+
+"apple_classic;fillColor=#66E8F3;gradientColor=#1C7CBA",102.4,102.4,"","Apple (classic)",null,null,this.getTagsForStencil("mxgraph.webicons","apple classic","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"arduino;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Arduino",null,null,this.getTagsForStencil("mxgraph.webicons","arduino","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"ask;fillColor=#F33543;gradientColor=#B50E11",102.4,102.4,"","Ask",null,null,this.getTagsForStencil("mxgraph.webicons",
+"ask","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"atlassian;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Atlassian",null,null,this.getTagsForStencil("mxgraph.webicons","atlassian","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"audioboo;fillColor=#EB35CF;gradientColor=#8C0E35",102.4,102.4,"","Audioboo",null,null,this.getTagsForStencil("mxgraph.webicons","audioboo","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"aws;fillColor=#FFFFFF;gradientColor=#DFDEDE",
+102.4,102.4,"","AWS",null,null,this.getTagsForStencil("mxgraph.webicons","aws amazon web service","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"aws_s3;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","AWS S3",null,null,this.getTagsForStencil("mxgraph.webicons","aws s3 amazon web service","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"baidu;fillColor=#738FE8;gradientColor=#1F2470",102.4,102.4,"","Baidu",null,null,this.getTagsForStencil("mxgraph.webicons","baidu",
+"web icons icon").join(" ")),this.createVertexTemplateEntry(a+"bebo;fillColor=#695D5D;gradientColor=#100E0E",102.4,102.4,"","Bebo",null,null,this.getTagsForStencil("mxgraph.webicons","bebo","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"behance;fillColor=#695D5D;gradientColor=#100E0E",102.4,102.4,"","Behance",null,null,this.getTagsForStencil("mxgraph.webicons","behance","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"bing;fillColor=#0A776E;gradientColor=#053D39",102.4,
+102.4,"","Bing",null,null,this.getTagsForStencil("mxgraph.webicons","bing","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"bitbucket;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Bitbucket",null,null,this.getTagsForStencil("mxgraph.webicons","bitbucket","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"blinklist;fillColor=#695D5D;gradientColor=#100E0E",102.4,102.4,"","Blinklist",null,null,this.getTagsForStencil("mxgraph.webicons","blinklist","web icons icon").join(" ")),
+this.createVertexTemplateEntry(a+"blogger;fillColor=#FDE47C;gradientColor=#F55F21",102.4,102.4,"","Blogger",null,null,this.getTagsForStencil("mxgraph.webicons","blogger","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"blogmarks;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Blogmarks",null,null,this.getTagsForStencil("mxgraph.webicons","blogmarks","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"bookmarks.fr;fillColor=#F9FAF4;gradientColor=#DCDFBB",102.4,102.4,
+"","Bookmarks.fr",null,null,this.getTagsForStencil("mxgraph.webicons","bookmarks.fr","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"box;fillColor=#4CDFEF;gradientColor=#153EA0",102.4,102.4,"","Box",null,null,this.getTagsForStencil("mxgraph.webicons","box","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"buddymarks;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Buddymarks",null,null,this.getTagsForStencil("mxgraph.webicons","buddymarks","web icons icon").join(" ")),
+this.createVertexTemplateEntry(a+"buffer;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Buffer",null,null,this.getTagsForStencil("mxgraph.webicons","buffer","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"buzzfeed;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Buzzfeed",null,null,this.getTagsForStencil("mxgraph.webicons","buzzfeed","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"chrome;fillColor=#FFFFFF;gradientColor=#DFDEDE",103.2,104,"","Chrome",
+null,null,this.getTagsForStencil("mxgraph.webicons","chrome","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"citeulike;fillColor=#ACD65E;gradientColor=#2E3618",102.4,102.4,"","Citeulike",null,null,this.getTagsForStencil("mxgraph.webicons","citeulike","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"confluence;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Confluence",null,null,this.getTagsForStencil("mxgraph.webicons","confluence","web icons icon").join(" ")),
+this.createVertexTemplateEntry(a+"connotea;fillColor=#E9FDFC;gradientColor=#BADBE9",102.4,102.4,"","Connotea",null,null,this.getTagsForStencil("mxgraph.webicons","connotea","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"dealsplus;fillColor=#B569B5;gradientColor=#7A467A",102.4,102.4,"","Dealsplus",null,null,this.getTagsForStencil("mxgraph.webicons","dealsplus","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"delicious",102.4,102.4,"","Delicious",null,null,this.getTagsForStencil("mxgraph.webicons",
+"delicious","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"designfloat;fillColor=#247BE0;gradientColor=#0A1F42",102.4,102.4,"","Designfloat",null,null,this.getTagsForStencil("mxgraph.webicons","designfloat","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"deviantart;fillColor=#00C659;gradientColor=#00813B",102.4,102.4,"","Deviantart",null,null,this.getTagsForStencil("mxgraph.webicons","deviantart","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"digg;fillColor=#FFFFFF;gradientColor=#DFDEDE",
+102.4,102.4,"","Digg",null,null,this.getTagsForStencil("mxgraph.webicons","digg","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"diigo;fillColor=#2C7DE0;gradientColor=#1E5599",102.4,102.4,"","Diigo",null,null,this.getTagsForStencil("mxgraph.webicons","diiigo","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"dopplr;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Dopplr",null,null,this.getTagsForStencil("mxgraph.webicons","dopplr","web icons icon").join(" ")),this.createVertexTemplateEntry(a+
+"drawio2;fillColor=#2174CE;gradientColor=#134277",102.4,102.4,"","Draw.io",null,null,this.getTagsForStencil("mxgraph.webicons","drawio draw io draw.io","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"dribbble;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Dribbble",null,null,this.getTagsForStencil("mxgraph.webicons","dribbble","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"dropbox;fillColor=#0BAAFE;gradientColor=#0080E6",102.4,102.4,"","Dropbox",null,null,
+this.getTagsForStencil("mxgraph.webicons","dropbox","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"dropbox2;fillColor=#2FB8FC;gradientColor=#0080E6",102.4,102.4,"","Dropbox",null,null,this.getTagsForStencil("mxgraph.webicons","dropbox","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"drupal;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Drupal",null,null,this.getTagsForStencil("mxgraph.webicons","drupal","web icons icon").join(" ")),this.createVertexTemplateEntry(a+
+"dzone;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Dzone",null,null,this.getTagsForStencil("mxgraph.webicons","dzone","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"ebay;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Ebay",null,null,this.getTagsForStencil("mxgraph.webicons","ebay","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"edmodo;fillColor=#2F81CE;gradientColor=#1F5487",102.4,102.4,"","Edmodo",null,null,this.getTagsForStencil("mxgraph.webicons",
+"edmodo","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"evernote;fillColor=#D4EF75;gradientColor=#399F1F",102.4,102.4,"","Evernote",null,null,this.getTagsForStencil("mxgraph.webicons","evernote","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"facebook;fillColor=#6294E4;gradientColor=#1A2665",102.4,102.4,"","Facebook",null,null,this.getTagsForStencil("mxgraph.webicons","facebook","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"fancy;fillColor=#C3ECF8;gradientColor=#348DD4",
+102.4,102.4,"","Fancy",null,null,this.getTagsForStencil("mxgraph.webicons","fancy","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"fark;fillColor=#EBEBF1;gradientColor=#8482A7",102.4,102.4,"","Fark",null,null,this.getTagsForStencil("mxgraph.webicons","fark","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"fashiolista;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Fashiolista",null,null,this.getTagsForStencil("mxgraph.webicons","fashiolista","web icons icon").join(" ")),
+this.createVertexTemplateEntry(a+"feed;fillColor=#FFAC75;gradientColor=#FF6600",102.4,102.4,"","Feed",null,null,this.getTagsForStencil("mxgraph.webicons","feed","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"feedburner;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Feedburner",null,null,this.getTagsForStencil("mxgraph.webicons","feedburner","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"flickr;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Flickr",
+null,null,this.getTagsForStencil("mxgraph.webicons","flickr","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"folkd;fillColor=#27A2E9;gradientColor=#0A2977",102.4,102.4,"","Folkd",null,null,this.getTagsForStencil("mxgraph.webicons","folkd","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"forrst;fillColor=#3E6B32;gradientColor=#111C0D",102.4,102.4,"","Forrst",null,null,this.getTagsForStencil("mxgraph.webicons","forrst","web icons icon").join(" ")),this.createVertexTemplateEntry(a+
+"fotolog;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Fotolog",null,null,this.getTagsForStencil("mxgraph.webicons","fotolog","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"freshbump;fillColor=#695D5D;gradientColor=#100E0E",102.4,102.4,"","Freshbump",null,null,this.getTagsForStencil("mxgraph.webicons","freshbump","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"fresqui;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Fresqui",null,null,this.getTagsForStencil("mxgraph.webicons",
+"fresqui","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"friendfeed;fillColor=#7BDCEF;gradientColor=#21379E",102.4,102.4,"","Friendfeed",null,null,this.getTagsForStencil("mxgraph.webicons","fiendfeed","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"funp;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Funp",null,null,this.getTagsForStencil("mxgraph.webicons","funp","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"fwisp;fillColor=#FFFFFF;gradientColor=#DFDEDE",
+102.4,102.4,"","Fwisp",null,null,this.getTagsForStencil("mxgraph.webicons","fwisp","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"gabbr;fillColor=#FBAC39;gradientColor=#EA2B0E",102.4,102.4,"","Gabbr",null,null,this.getTagsForStencil("mxgraph.webicons","gabbr","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"gamespot;fillColor=#695D5D;gradientColor=#100E0E",102.4,102.4,"","Gamespot",null,null,this.getTagsForStencil("mxgraph.webicons","gamespot","web icons icon").join(" ")),
+this.createVertexTemplateEntry(a+"github;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Github",null,null,this.getTagsForStencil("mxgraph.webicons","github","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"gmail;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Gmail",null,null,this.getTagsForStencil("mxgraph.webicons","gmail","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"google;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Google",null,null,
+this.getTagsForStencil("mxgraph.webicons","google","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"google_drive;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Google Drive",null,null,this.getTagsForStencil("mxgraph.webicons","google drive","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"google_hangout;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Google Hangout",null,null,this.getTagsForStencil("mxgraph.webicons","google hangout","web icons icon").join(" ")),
+this.createVertexTemplateEntry(a+"google_play;fillColor=#000000",69.4,20.6,"","Google Play",null,null,this.getTagsForStencil("mxgraph.webicons","google play","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"google_play_light;fillColor=#66E8F3;gradientColor=#1C7CBA",60,10.4,"","Google Play Light",null,null,this.getTagsForStencil("mxgraph.webicons","google play light","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"google_photos;fillColor=#FFFFFF;gradientColor=#DFDEDE",
+102.4,102.4,"","Google Photos",null,null,this.getTagsForStencil("mxgraph.webicons","google photos","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"google_plus;fillColor=#F24B46;gradientColor=#AD3832",102.4,102.4,"","Google Plus",null,null,this.getTagsForStencil("mxgraph.webicons","google plus","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"grooveshark;fillColor=#695D5D;gradientColor=#000000",102.4,102.4,"","Grooveshark",null,null,this.getTagsForStencil("mxgraph.webicons",
+"grooveshark","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"hatena;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Hatena",null,null,this.getTagsForStencil("mxgraph.webicons","hatena","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"html5;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","HTML5",null,null,this.getTagsForStencil("mxgraph.webicons","html5 html","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"identi.ca;fillColor=#FFFFFF;gradientColor=#DFDEDE",
+102.4,102.4,"","Identi.ca",null,null,this.getTagsForStencil("mxgraph.webicons","identi.ca","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"instagram;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Instagram",null,null,this.getTagsForStencil("mxgraph.webicons","instagram","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"instapaper;fillColor=#807E7E;gradientColor=#1B1C1C",102.4,102.4,"","Instapaper",null,null,this.getTagsForStencil("mxgraph.webicons","instapaper",
+"web icons icon").join(" ")),this.createVertexTemplateEntry(a+"ios;fillColor=#695D5D;gradientColor=#100E0E",102.4,102.4,"","iOS",null,null,this.getTagsForStencil("mxgraph.webicons","ios","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"jamespot;fillColor=#695D5D;gradientColor=#100E0E",102.4,102.4,"","Jamespot",null,null,this.getTagsForStencil("mxgraph.webicons","jamespot","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"java;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,
+102.4,"","Java",null,null,this.getTagsForStencil("mxgraph.webicons","java","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"joomla;fillColor=#1F457D;gradientColor=#081220",102.4,102.4,"","Joomla",null,null,this.getTagsForStencil("mxgraph.webicons","joomla","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"jquery;fillColor=#0BB9EA;gradientColor=#032F80",102.4,102.4,"","Jquery",null,null,this.getTagsForStencil("mxgraph.webicons","jquery","web icons icon").join(" ")),this.createVertexTemplateEntry(a+
+"json;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","JSON",null,null,this.getTagsForStencil("mxgraph.webicons","json","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"json_2;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","JSON",null,null,this.getTagsForStencil("mxgraph.webicons","json","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"last.fm;fillColor=#F33543;gradientColor=#BD0E11",102.4,102.4,"","Last.fm",null,null,this.getTagsForStencil("mxgraph.webicons",
+"last.fm last fm","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"linkagogo;fillColor=#F6F5FA;gradientColor=#C8C1E1",102.4,102.4,"","Linkagogo",null,null,this.getTagsForStencil("mxgraph.webicons","linkagogo","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"linkedin;fillColor=#0095DB;gradientColor=#006391",102.4,102.4,"","LinkedIn",null,null,this.getTagsForStencil("mxgraph.webicons","linkedin","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"livejournal;fillColor=#2690E5;gradientColor=#0A2463",
+102.4,102.4,"","Livejournal",null,null,this.getTagsForStencil("mxgraph.webicons","livejournal","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"mail.ru;fillColor=#267BE0;gradientColor=#0A1F42",102.4,102.4,"","Mail.ru",null,null,this.getTagsForStencil("mxgraph.webicons","mail.ru","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"meetup;fillColor=#F83263;gradientColor=#D40D19",102.4,102.4,"","Meetup",null,null,this.getTagsForStencil("mxgraph.webicons","meetup","web icons icon").join(" ")),
+this.createVertexTemplateEntry(a+"meneame;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Meneame",null,null,this.getTagsForStencil("mxgraph.webicons","meneame","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"messenger;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Messenger",null,null,this.getTagsForStencil("mxgraph.webicons","messenger","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"messenger_2;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,
+"","Messenger",null,null,this.getTagsForStencil("mxgraph.webicons","messenger","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"messenger_3;fillColor=#09BEFC;gradientColor=#0060FA",102.4,102.4,"","Messenger",null,null,this.getTagsForStencil("mxgraph.webicons","messenger","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"mind_body_green;fillColor=#E0EEF8;gradientColor=#4496D5",102.4,102.4,"","Mind Body Green",null,null,this.getTagsForStencil("mxgraph.webicons","mind body green",
+"web icons icon").join(" ")),this.createVertexTemplateEntry(a+"mongodb;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","MongoDb",null,null,this.getTagsForStencil("mxgraph.webicons","mongodb","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"myspace;fillColor=#3C69E2;gradientColor=#101B54",102.4,102.4,"","MySpace",null,null,this.getTagsForStencil("mxgraph.webicons","myspace","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"n4g;fillColor=#FFFFFF;gradientColor=#DFDEDE",
+102.4,102.4,"","N4g",null,null,this.getTagsForStencil("mxgraph.webicons","n4g","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"netlog;fillColor=#FA3743;gradientColor=#E10E11",102.4,102.4,"","Netlog",null,null,this.getTagsForStencil("mxgraph.webicons","netlog","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"netvibes;fillColor=#99DB00;gradientColor=#638E00",102.4,102.4,"","Netvibes",null,null,this.getTagsForStencil("mxgraph.webicons","netvibes","web icons icon").join(" ")),
+this.createVertexTemplateEntry(a+"netvouz;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Netvouz",null,null,this.getTagsForStencil("mxgraph.webicons","netvouz","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"networkedblogs;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Networkedblogs",null,null,this.getTagsForStencil("mxgraph.webicons","networkedblogs","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"newsvine;fillColor=#008733;gradientColor=#00441B",
+102.4,102.4,"","Newsvine",null,null,this.getTagsForStencil("mxgraph.webicons","newsvine","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"odnoklassniki;fillColor=#FDE15A;gradientColor=#F24317",102.4,102.4,"","Odnoklassniki",null,null,this.getTagsForStencil("mxgraph.webicons","odnoklassniki","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"oknotizie;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Oknotizie",null,null,this.getTagsForStencil("mxgraph.webicons","oknotizie",
+"web icons icon").join(" ")),this.createVertexTemplateEntry(a+"onedrive;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","OneDrive",null,null,this.getTagsForStencil("mxgraph.webicons","onedrive","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"oracle;fillColor=#FA3743;gradientColor=#E10E11",102.4,102.4,"","Oracle",null,null,this.getTagsForStencil("mxgraph.webicons","oracle","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"paypal;fillColor=#FFFFFF;gradientColor=#DFDEDE",
+102.4,102.4,"","Paypal",null,null,this.getTagsForStencil("mxgraph.webicons","paypal","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"phone;fillColor=#76F21E;gradientColor=#079704",102.4,102.4,"","Phone",null,null,this.getTagsForStencil("mxgraph.webicons","phone","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"phonefavs;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Phonefavs",null,null,this.getTagsForStencil("mxgraph.webicons","phonefavs","web icons icon").join(" ")),
+this.createVertexTemplateEntry(a+"pinterest;fillColor=#E50B28;gradientColor=#890616",102.4,102.4,"","Pinterest",null,null,this.getTagsForStencil("mxgraph.webicons","pinterest","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"plaxo;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Plaxo",null,null,this.getTagsForStencil("mxgraph.webicons","plaxo","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"playfire;fillColor=#695D5D;gradientColor=#100E0E",102.4,102.4,"","Playfire",
+null,null,this.getTagsForStencil("mxgraph.webicons","playfire","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"plurk;fillColor=#FF5656;gradientColor=#A8312D",102.4,102.4,"","Plurk",null,null,this.getTagsForStencil("mxgraph.webicons","plurk","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"pocket;fillColor=#FF4460;gradientColor=#B73143",102.4,102.4,"","Pocket",null,null,this.getTagsForStencil("mxgraph.webicons","pocket","web icons icon").join(" ")),this.createVertexTemplateEntry(a+
+"protopage;fillColor=#4B78C0;gradientColor=#294282",102.4,102.4,"","Protopage",null,null,this.getTagsForStencil("mxgraph.webicons","protopage","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"readernaut;fillColor=#695D5D;gradientColor=#100E0E",102.4,102.4,"","Readernaut",null,null,this.getTagsForStencil("mxgraph.webicons","readernaut","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"reddit;fillColor=#F3F8FC;gradientColor=#B4D2F0",102.4,102.4,"","Reddit",null,null,this.getTagsForStencil("mxgraph.webicons",
+"reddit","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"rss;fillColor=#FDE532;gradientColor=#F4600D",102.4,102.4,"","RSS",null,null,this.getTagsForStencil("mxgraph.webicons","rss","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"scoopit;fillColor=#8CD845;gradientColor=#4E7A27",102.4,102.4,"","Scoopit",null,null,this.getTagsForStencil("mxgraph.webicons","scoopit","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"scribd;fillColor=#1D637D;gradientColor=#071920",
+102.4,102.4,"","Scribd",null,null,this.getTagsForStencil("mxgraph.webicons","scribd","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"segnalo;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Segnalo",null,null,this.getTagsForStencil("mxgraph.webicons","segnalo","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"sina;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Sina",null,null,this.getTagsForStencil("mxgraph.webicons","sina","web icons icon").join(" ")),
+this.createVertexTemplateEntry(a+"sitejot;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Sitejot",null,null,this.getTagsForStencil("mxgraph.webicons","sitejot","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"skype;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Skype",null,null,this.getTagsForStencil("mxgraph.webicons","skype","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"skyrock;fillColor=#47B8FF;gradientColor=#006AAD",102.4,102.4,"","Skyrock",null,
+null,this.getTagsForStencil("mxgraph.webicons","skyrock","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"slashdot;fillColor=#03B2AC;gradientColor=#012C2C",102.4,102.4,"","Slashdot",null,null,this.getTagsForStencil("mxgraph.webicons","slashdot","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"sms;fillColor=#86D466;gradientColor=#42B418",102.4,102.4,"","SMS",null,null,this.getTagsForStencil("mxgraph.webicons","sms","web icons icon").join(" ")),this.createVertexTemplateEntry(a+
+"socialvibe;fillColor=#FA16E2;gradientColor=#DF064B",102.4,102.4,"","Socialvibe",null,null,this.getTagsForStencil("mxgraph.webicons","socialvibe","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"society6;fillColor=#695D5D;gradientColor=#100E0E",102.4,102.4,"","Society6",null,null,this.getTagsForStencil("mxgraph.webicons","society6","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"sonico;fillColor=#3FEAF6;gradientColor=#117EC9",102.4,102.4,"","Sonico",null,null,this.getTagsForStencil("mxgraph.webicons",
+"sonico","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"soundcloud;fillColor=#F78E11;gradientColor=#F93A0E",102.4,102.4,"","Soundcloud",null,null,this.getTagsForStencil("mxgraph.webicons","soundcloud","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"sourceforge;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Sourceforge",null,null,this.getTagsForStencil("mxgraph.webicons","sourceforge","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"sourceforge_2;fillColor=#0078AF;gradientColor=#00385E",
+102.4,102.4,"","Sourceforge",null,null,this.getTagsForStencil("mxgraph.webicons","sourceforge","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"spring.me;fillColor=#3CBEF2;gradientColor=#2B8AAF",102.4,102.4,"","Spring.me",null,null,this.getTagsForStencil("mxgraph.webicons","spring me","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"stackexchange;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Stackexchange",null,null,this.getTagsForStencil("mxgraph.webicons",
+"stackexchange stack exchange","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"stackoverflow;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","StackOverflow",null,null,this.getTagsForStencil("mxgraph.webicons","stackoverflow stack overflow","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"startaid;fillColor=#47B0E5;gradientColor=#2F7599",102.4,102.4,"","Startaid",null,null,this.getTagsForStencil("mxgraph.webicons","startaid","web icons icon").join(" ")),this.createVertexTemplateEntry(a+
+"startlap;fillColor=#B9E6F0;gradientColor=#3062A2",102.4,102.4,"","Startlap",null,null,this.getTagsForStencil("mxgraph.webicons","startlap","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"steam;fillColor=#695D5D;gradientColor=#100E0E",102.4,102.4,"","Steam",null,null,this.getTagsForStencil("mxgraph.webicons","steam","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"stumbleupon;fillColor=#FA823C;gradientColor=#E12110",102.4,102.4,"","StumbleUpon",null,null,this.getTagsForStencil("mxgraph.webicons",
+"stumbleupon","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"stumpedia;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Stumpedia",null,null,this.getTagsForStencil("mxgraph.webicons","stumpedia","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"technorati;fillColor=#99EC92;gradientColor=#288925",102.4,102.4,"","Technorati",null,null,this.getTagsForStencil("mxgraph.webicons","technorati","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"translate;fillColor=#FFFFFF;gradientColor=#DFDEDE",
+102.4,102.4,"","Translate",null,null,this.getTagsForStencil("mxgraph.webicons","translate","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"tumblr;fillColor=#588BBC;gradientColor=#172330",102.4,102.4,"","Tumblr",null,null,this.getTagsForStencil("mxgraph.webicons","tumblr","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"tunein;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Tunein",null,null,this.getTagsForStencil("mxgraph.webicons","tunein","web icons icon").join(" ")),
+this.createVertexTemplateEntry(a+"twitter;fillColor=#49EAF7;gradientColor=#137BD0",102.4,102.4,"","Twitter",null,null,this.getTagsForStencil("mxgraph.webicons","twitter","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"two;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Two",null,null,this.getTagsForStencil("mxgraph.webicons","two","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"typepad;fillColor=#CBD372;gradientColor=#818748",102.4,102.4,"","Typepad",null,null,
+this.getTagsForStencil("mxgraph.webicons","typepad","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"viadeo;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Viadeo",null,null,this.getTagsForStencil("mxgraph.webicons","viadeo","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"viber;fillColor=#9964C4;gradientColor=#52366B",102.4,102.4,"","Viber",null,null,this.getTagsForStencil("mxgraph.webicons","viber","web icons icon").join(" ")),this.createVertexTemplateEntry(a+
+"viddler;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Viddler",null,null,this.getTagsForStencil("mxgraph.webicons","viddler","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"vimeo;fillColor=#A4EDF9;gradientColor=#2B8ED9",102.4,102.4,"","Vimeo",null,null,this.getTagsForStencil("mxgraph.webicons","vimeo","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"virb;fillColor=#536873;gradientColor=#161A1D",102.4,102.4,"","Virb",null,null,this.getTagsForStencil("mxgraph.webicons",
+"virb","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"vkontakte;fillColor=#5F94CC;gradientColor=#39587A",102.4,102.4,"","Vkontakte",null,null,this.getTagsForStencil("mxgraph.webicons","vkontakte","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"wakoopa;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Wakoopa",null,null,this.getTagsForStencil("mxgraph.webicons","wakoopa","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"weheartit;fillColor=#FF7AA2;gradientColor=#FF4577",
+102.4,102.4,"","Weheartit",null,null,this.getTagsForStencil("mxgraph.webicons","weheartit","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"whatsapp;fillColor=#4FE238;gradientColor=#138709",102.4,102.4,"","Whatsapp",null,null,this.getTagsForStencil("mxgraph.webicons","whatsapp","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"wix;fillColor=#8AE3F2;gradientColor=#2451B0",102.4,102.4,"","Wix",null,null,this.getTagsForStencil("mxgraph.webicons","wix","web icons icon").join(" ")),
+this.createVertexTemplateEntry(a+"wordpress;fillColor=#35E2EE;gradientColor=#0E4D99",102.4,102.4,"","Wordpress",null,null,this.getTagsForStencil("mxgraph.webicons","wordpress","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"wordpress_2;fillColor=#35E2EE;gradientColor=#0E4D99",102.4,102.4,"","Wordpress",null,null,this.getTagsForStencil("mxgraph.webicons","wordpress","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"xanga;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,
+"","Xanga",null,null,this.getTagsForStencil("mxgraph.webicons","xanga","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"xerpi;fillColor=#7F719B;gradientColor=#32264B",102.4,102.4,"","Xerpi",null,null,this.getTagsForStencil("mxgraph.webicons","xerpi","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"xing;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Xing",null,null,this.getTagsForStencil("mxgraph.webicons","xing","web icons icon").join(" ")),this.createVertexTemplateEntry(a+
+"yahoo;fillColor=#AC37AE;gradientColor=#2E0E2D",102.4,102.4,"","Yahoo",null,null,this.getTagsForStencil("mxgraph.webicons","yahoo","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"yahoo_2;fillColor=#AC37AE;gradientColor=#2E0E2D",102.4,102.4,"","Yahoo",null,null,this.getTagsForStencil("mxgraph.webicons","yahoo","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"yammer;fillColor=#00AFE0;gradientColor=#005F7A",102.4,102.4,"","Yammer",null,null,this.getTagsForStencil("mxgraph.webicons",
+"yammer","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"yandex;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Yandex",null,null,this.getTagsForStencil("mxgraph.webicons","yandex","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"yelp;fillColor=#EF5140;gradientColor=#9C1410",102.4,102.4,"","Yelp",null,null,this.getTagsForStencil("mxgraph.webicons","yelp","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"yoolink;fillColor=#FFFFFF;gradientColor=#DFDEDE",
+102.4,102.4,"","Yoolink",null,null,this.getTagsForStencil("mxgraph.webicons","yoolink","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"youmob;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Youmob",null,null,this.getTagsForStencil("mxgraph.webicons","youmob","web icons icon").join(" "))])};Sidebar.prototype.addWebLogosPalette=function(){var a="dashed=0;html=1;align=center;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;"+mxConstants.STYLE_SHAPE+"=mxgraph.weblogos.";
+this.addPaletteFunctions("weblogos","Web Logos",!1,[this.createVertexTemplateEntry(a+"adfty;fillColor=#66E8F3;gradientColor=#1C7CBA",91.2,.2*458,"","Adfty",null,null,this.getTagsForStencil("mxgraph.weblogos","adfty","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"adobe_pdf;fillColor=#A60908",69.4,.2*338,"","Adobe PDF",null,null,this.getTagsForStencil("mxgraph.weblogos","adobe pdf","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"aim",.2*312,68.4,"","Aim",null,null,this.getTagsForStencil("mxgraph.weblogos",
"aim","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"allvoices",84,.2*398,"","Allvoices",null,null,this.getTagsForStencil("mxgraph.weblogos","allvoices","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"amazon",.2*314,68.2,"","Amazon",null,null,this.getTagsForStencil("mxgraph.weblogos","amazon","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"android;fillColor=#A4CA39;strokeColor=none",.2*338,80,"","Android",null,null,this.getTagsForStencil("mxgraph.weblogos",
"android","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"apache",42.6,85.2,"","Apache",null,null,this.getTagsForStencil("mxgraph.weblogos","apache db database","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"apple;fillColor=#1B1C1C;strokeColor=none",.2*312,76.2,"","Apple",null,null,this.getTagsForStencil("mxgraph.weblogos","apple","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"apple_classic",.2*312,76.2,"","Apple (classic)",null,null,this.getTagsForStencil("mxgraph.weblogos",
"apple classic","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"app_store;fillColor=#000000;strokeColor=none",61.2,20,"","App Store",null,null,this.getTagsForStencil("mxgraph.weblogos","app store application","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"app_store_iphone;fillColor=#75797C;strokeColor=none",61.2,20,"","App Store iPhone",null,null,this.getTagsForStencil("mxgraph.weblogos","app store iphone","web logos logo").join(" ")),this.createVertexTemplateEntry(a+
@@ -6709,59 +6709,59 @@ this.createVertexTemplateEntry(a+"chrome",74.8,75.4,"","Chrome",null,null,this.g
this.createVertexTemplateEntry("image;image=img/lib/atlassian/Confluence_Logo.svg;",63,57,"","Confluence",null,null,this.getTagsForStencil("mxgraph.weblogos","confluence logo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"connotea",81,.2*413,"","Connotea",null,null,this.getTagsForStencil("mxgraph.weblogos","connotea","web logos logo").join(" ")),this.createVertexTemplateEntry("image;image=img/lib/atlassian/Crowd_Logo.svg;",66,65,"","Crowd",null,null,this.getTagsForStencil("mxgraph.weblogos",
"crowd logo","web logos logo").join(" ")),this.createVertexTemplateEntry("image;image=img/lib/atlassian/Crucible_Logo.svg;",61,61,"","Crucible",null,null,this.getTagsForStencil("mxgraph.weblogos","crucible logo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"dealsplus;fillColor=#935492",76,.2*333,"","Dealsplus",null,null,this.getTagsForStencil("mxgraph.weblogos","dealsplus","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"designfloat;strokeColor=none",72,72,"","Designfloat",
null,null,this.getTagsForStencil("mxgraph.weblogos","designfloat","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"deviantart;fillColor=#009544;strokeColor=none;",62,86.4,"","Deviantart",null,null,this.getTagsForStencil("mxgraph.weblogos","deviantart","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"digg;fillColor=#ffffff",58,56,"","Digg",null,null,this.getTagsForStencil("mxgraph.weblogos","digg","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"diigo;fillColor=#2973D2;strokeColor=none",
-61.2,68.8,"","Diigo",null,null,this.getTagsForStencil("mxgraph.weblogos","diiigo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"dopplr;fillColor=#F9634D;strokeColor=none",102.4,102.4,"","Dopplr",null,null,this.getTagsForStencil("mxgraph.weblogos","dopplr","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"drawio1;fillColor=#1A5BA3",49.6,68.2,"","Draw.io",null,null,this.getTagsForStencil("mxgraph.weblogos","drawio draw io","web logos logo").join(" ")),this.createVertexTemplateEntry(a+
-"drawio2;fillColor=#1A5BA3",52.2,70.8,"","Draw.io",null,null,this.getTagsForStencil("mxgraph.weblogos","drawio draw io","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"dribbble;fillColor=#EB548D",67.4,67.2,"","Dribbble",null,null,this.getTagsForStencil("mxgraph.weblogos","dribbble","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"dropbox;fillColor=#0287EA",73.4,62,"","Dropbox2",null,null,this.getTagsForStencil("mxgraph.weblogos","dropbox","web logos logo").join(" ")),
-this.createVertexTemplateEntry(a+"drupal",60.6,69,"","Drupal",null,null,this.getTagsForStencil("mxgraph.weblogos","drupal","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"dzone",.2*438,61.2,"","Dzone",null,null,this.getTagsForStencil("mxgraph.weblogos","dzone","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"ebay",81.2,34.4,"","Ebay",null,null,this.getTagsForStencil("mxgraph.weblogos","ebay","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"edmodo;fillColor=#276CB0;strokeColor=none",
-69.2,73.8,"","Edmodo",null,null,this.getTagsForStencil("mxgraph.weblogos","edmodo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"evernote;fillColor=#3F3F3F",.2*317,75.2,"","Evernote",null,null,this.getTagsForStencil("mxgraph.weblogos","evernote","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"fancy;fillColor=#6DB3E3",39.2,79,"","Fancy",null,null,this.getTagsForStencil("mxgraph.weblogos","fancy","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"fark;fillColor=#B1B0C7;gradientColor=#ffffff;strokeColor=#B1B0C7",
-44.2,70.2,"","Fark",null,null,this.getTagsForStencil("mxgraph.weblogos","fark","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"fashiolista",.2*388,73.2,"","Fashiolista",null,null,this.getTagsForStencil("mxgraph.weblogos","fashiolista","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"feed;fillColor=#000000",.2*302,59.2,"","Feed",null,null,this.getTagsForStencil("mxgraph.weblogos","feed","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"feedburner",68.4,74.4,
-"","Feedburner",null,null,this.getTagsForStencil("mxgraph.weblogos","feedburner","web logos logo").join(" ")),this.createVertexTemplateEntry("image;image=img/lib/atlassian/Fisheye_Logo.svg;",71,59,"","Fisheye",null,null,this.getTagsForStencil("mxgraph.weblogos","fisheye logo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"flickr",71.2,.2*156,"","Flickr",null,null,this.getTagsForStencil("mxgraph.weblogos","flickr","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"folkd;fillColor=#165AA6",
-.2*419,43.6,"","Folkd",null,null,this.getTagsForStencil("mxgraph.weblogos","folkd","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"forrst;fillColor=#27431F",.2*264,73.2,"","Forrst",null,null,this.getTagsForStencil("mxgraph.weblogos","forrst","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"fotolog;fillColor=#000000;strokeColor=none",47.6,47.6,"","Fotolog",null,null,this.getTagsForStencil("mxgraph.weblogos","fotolog","web logos logo").join(" ")),this.createVertexTemplateEntry(a+
-"freshbump;fillColor=#C2D952;strokeColor=none",71.2,76,"","Freshbump",null,null,this.getTagsForStencil("mxgraph.weblogos","freshbump","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"fresqui",102.4,102.4,"","Fresqui",null,null,this.getTagsForStencil("mxgraph.weblogos","fresqui","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"friendfeed;fillColor=#4172BB",73.8,71,"","Friendfeed",null,null,this.getTagsForStencil("mxgraph.weblogos","fiendfeed","web logos logo").join(" ")),
-this.createVertexTemplateEntry(a+"funp",75,40,"","Funp",null,null,this.getTagsForStencil("mxgraph.weblogos","funp","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"fwisp;fillColor=#66676A;strokeColor=none",65.4,66,"","Fwisp",null,null,this.getTagsForStencil("mxgraph.weblogos","fwisp","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"gabbr;fillColor=#F05B1E",64.4,66,"","Gabbr",null,null,this.getTagsForStencil("mxgraph.weblogos","gabbr","web logos logo").join(" ")),this.createVertexTemplateEntry(a+
-"gamespot",.2*408,.2*408,"","Gamespot",null,null,this.getTagsForStencil("mxgraph.weblogos","gamespot","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"github",75,75,"","Github",null,null,this.getTagsForStencil("mxgraph.weblogos","github","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"gmail",64.8,.2*234,"","Gmail",null,null,this.getTagsForStencil("mxgraph.weblogos","gmail","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"google",65.2,69.4,"","Google",null,
-null,this.getTagsForStencil("mxgraph.weblogos","google","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"google_drive",66.4,58,"","Google Drive",null,null,this.getTagsForStencil("mxgraph.weblogos","google drive","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"google_hangout;fillColor=#4BA139;strokeColor=none",64.8,75.4,"","Google Hangout",null,null,this.getTagsForStencil("mxgraph.weblogos","google hangout","web logos logo").join(" ")),this.createVertexTemplateEntry(a+
-"google_play;fillColor=#000000",69.4,20.6,"","Google Play",null,null,this.getTagsForStencil("mxgraph.weblogos","google play","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"google_play_light;fillColor=#66E8F3;gradientColor=#1C7CBA",60,10.4,"","Google Play Light",null,null,this.getTagsForStencil("mxgraph.weblogos","google play light","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"google_photos",87.2,87.2,"","Google Photos",null,null,this.getTagsForStencil("mxgraph.weblogos",
-"google photos","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"google_plus;fillColor=#DD4C40;strokeColor=none",.2*328,44,"","Google+",null,null,this.getTagsForStencil("mxgraph.weblogos","google plus","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"grooveshark;fillColor=#000000;strokeColor=none",62.2,62.2,"","Grooveshark",null,null,this.getTagsForStencil("mxgraph.weblogos","grooveshark","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"hatena",86.2,44.2,
-"","Hatena",null,null,this.getTagsForStencil("mxgraph.weblogos","hatena","web logos logo").join(" ")),this.createVertexTemplateEntry("image;image=img/lib/atlassian/Hipchat_Logo.svg;",66,62,"","Hipchat",null,null,this.getTagsForStencil("mxgraph.weblogos","hipchat logo atlassian","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"html5",.2*262,74,"","HTML5",null,null,this.getTagsForStencil("mxgraph.weblogos","html5 html","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"identi.ca",
-74.2,47.6,"","Identi.ca",null,null,this.getTagsForStencil("mxgraph.weblogos","identi.ca","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"instagram;fillColor=#6FC0E4;gradientColor=#1E305B",72.2,72.2,"","Instagram",null,null,this.getTagsForStencil("mxgraph.weblogos","instagram","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"instapaper",27.6,70.2,"","Instapaper",null,null,this.getTagsForStencil("mxgraph.weblogos","instapaper","web logos logo").join(" ")),this.createVertexTemplateEntry(a+
-"ios;fillColor=#695D5D;gradientColor=#100E0E",.2*368,.2*197,"","iOS",null,null,this.getTagsForStencil("mxgraph.weblogos","ios","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"jamespot;fillColor=#695D5D;gradientColor=#100E0E",78,78,"","Jamespot",null,null,this.getTagsForStencil("mxgraph.weblogos","jamespot","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"java",34.4,65,"","Java",null,null,this.getTagsForStencil("mxgraph.weblogos","java","web logos logo").join(" ")),this.createVertexTemplateEntry("image;image=img/lib/atlassian/Jira_Logo.svg;",
-72,72,"","Jira",null,null,this.getTagsForStencil("mxgraph.weblogos","jira logo","web logos logo").join(" ")),this.createVertexTemplateEntry("image;image=img/lib/atlassian/Jira_Core_Logo.svg;",55,66,"","Jira Core",null,null,this.getTagsForStencil("mxgraph.weblogos","jira core logo atlassian","web logos logo").join(" ")),this.createVertexTemplateEntry("image;image=img/lib/atlassian/Jira_Service_Desk_Logo.svg;",59,76,"","Jira Service Desk",null,null,this.getTagsForStencil("mxgraph.weblogos","jira service desk logo atlassian",
-"web logos logo").join(" ")),this.createVertexTemplateEntry("image;image=img/lib/atlassian/Jira_Software_Logo.svg;",74,76,"","Jira Software",null,null,this.getTagsForStencil("mxgraph.weblogos","jira software logo atlassian","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"joomla;fillColor=#1F457D;gradientColor=#081220",66,.2*328,"","Joomla",null,null,this.getTagsForStencil("mxgraph.weblogos","joomla","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"jquery;fillColor=#0BB9EA;gradientColor=#032F80",
-73.8,67,"","Jquery",null,null,this.getTagsForStencil("mxgraph.weblogos","jquery","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"json",70,75.8,"","JSON",null,null,this.getTagsForStencil("mxgraph.weblogos","json","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"json_2",80.4,.2*126,"","JSON",null,null,this.getTagsForStencil("mxgraph.weblogos","json","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"last.fm;fillColor=#F33543;gradientColor=#BD0E11",83.2,50,"",
-"Last.fm",null,null,this.getTagsForStencil("mxgraph.weblogos","last.fm last fm","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"linkagogo;fillColor=#F6F5FA;gradientColor=#C8C1E1",102.2,80,"","Linkagogo",null,null,this.getTagsForStencil("mxgraph.weblogos","linkagogo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"linkedin;fillColor=#0095DB;gradientColor=#006391",.2*287,60.6,"","LinkedIn",null,null,this.getTagsForStencil("mxgraph.weblogos","linkedin","web logos logo").join(" ")),
-this.createVertexTemplateEntry(a+"livejournal;fillColor=#2690E5;gradientColor=#0A2463",64,.2*343,"","Livejournal",null,null,this.getTagsForStencil("mxgraph.weblogos","livejournal","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"mail.ru;fillColor=#267BE0;gradientColor=#0A1F42",81.2,.2*393,"","Mail.ru",null,null,this.getTagsForStencil("mxgraph.weblogos","mail.ru","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"mathoverflow;fillColor=#656463;gradientColor=#F28711;gradientDirection=east",
-59,48.2,"","MathOverflow",null,null,this.getTagsForStencil("mxgraph.weblogos","mathoverflow","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"meetup;fillColor=#413E3E;strokeColor=none",74.8,30,"","Meetup",null,null,this.getTagsForStencil("mxgraph.weblogos","meetup","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"meneame",76,.2*338,"","Meneame",null,null,this.getTagsForStencil("mxgraph.weblogos","meneame","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"messenger",
-.2*413,.2*384,"","Messenger",null,null,this.getTagsForStencil("mxgraph.weblogos","messenger","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"messenger_2",64.4,64.8,"","Messenger",null,null,this.getTagsForStencil("mxgraph.weblogos","messenger","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"messenger_3;fillColor=#437BBD;strokeColor=#dddddd",64.4,64.8,"","Messenger",null,null,this.getTagsForStencil("mxgraph.weblogos","messenger","web logos logo").join(" ")),this.createVertexTemplateEntry(a+
-"mind_body_green;strokeColor=#888888",81.4,.2*464,"","Mind Body Green",null,null,this.getTagsForStencil("mxgraph.weblogos","mind body green","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"mongodb",41.2,86.2,"","MongoDb",null,null,this.getTagsForStencil("mxgraph.weblogos","mongodb","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"myspace;fillColor=#003399;strokeColor=none",63,70.2,"","MySpace",null,null,this.getTagsForStencil("mxgraph.weblogos","myspace","web logos logo").join(" ")),
-this.createVertexTemplateEntry(a+"n4g;fillColor=#000000;strokeColor=none",88.2,31.8,"","N4g",null,null,this.getTagsForStencil("mxgraph.weblogos","n4g","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"netlog;fillColor=#F42424;strokeColor=none",.2*383,68.8,"","Netlog",null,null,this.getTagsForStencil("mxgraph.weblogos","netlog","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"netvibes;fillColor=#84BD00;strokeColor=none",.2*309,.2*309,"","Netvibes",null,null,this.getTagsForStencil("mxgraph.weblogos",
-"netvibes","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"netvouz",57.2,.2*287,"","Netvouz",null,null,this.getTagsForStencil("mxgraph.weblogos","netvouz","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"networkedblogs",.2*394,.2*394,"","Networkedblogs",null,null,this.getTagsForStencil("mxgraph.weblogos","networkedblogs","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"newsvine;fillColor=#005221;strokeColor=none",40.6,77.2,"","Newsvine",null,null,this.getTagsForStencil("mxgraph.weblogos",
-"newsvine","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"odnoklassniki;fillColor=#F58220;strokeColor=none",.2*247,82,"","Odnoklassniki",null,null,this.getTagsForStencil("mxgraph.weblogos","odnoklassniki","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"oknotizie",.2*237,70.4,"","Oknotizie",null,null,this.getTagsForStencil("mxgraph.weblogos","oknotizie","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"onedrive;fillColor=#094AB1;strokeColor=none",71.2,43.2,
-"","OneDrive",null,null,this.getTagsForStencil("mxgraph.weblogos","onedrive","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"oracle;fillColor=#FF0000;strokeColor=none",90,23,"","Oracle",null,null,this.getTagsForStencil("mxgraph.weblogos","oracle","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"paypal",51.2,58,"","Paypal",null,null,this.getTagsForStencil("mxgraph.weblogos","paypal","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"phone;fillColor=#36BE0F;strokeColor=none",
-.2*289,54.2,"","Phone",null,null,this.getTagsForStencil("mxgraph.weblogos","phone","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"phonefavs",64.4,.2*394,"","Phonefavs",null,null,this.getTagsForStencil("mxgraph.weblogos","phonefavs","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"pinterest;fillColor=#BD081C;strokeColor=none",.2*384,74.4,"","Pinterest",null,null,this.getTagsForStencil("mxgraph.weblogos","pinterest","web logos logo").join(" ")),this.createVertexTemplateEntry(a+
-"plaxo;fillColor=#414F5C;strokeColor=none",80,80,"","Plaxo",null,null,this.getTagsForStencil("mxgraph.weblogos","plaxo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"playfire;fillColor=#FDA21A;gradientColor=#FEE635;strokeColor=none",62,61.6,"","Playfire",null,null,this.getTagsForStencil("mxgraph.weblogos","playfire","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"plurk;fillColor=#E9443D;strokeColor=none",102.4,102.4,"","Plurk",null,null,this.getTagsForStencil("mxgraph.weblogos",
-"plurk","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"pocket;fillColor=#EE4056;strokeColor=none",.2*314,.2*289,"","Pocket",null,null,this.getTagsForStencil("mxgraph.weblogos","pocket","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"protopage;fillColor=#4B78C0;gradientColor=#294282",.2*394,80,"","Protopage",null,null,this.getTagsForStencil("mxgraph.weblogos","protopage","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"readernaut;fillColor=#000000;strokeColor=none",
-72,72,"","Readernaut",null,null,this.getTagsForStencil("mxgraph.weblogos","readernaut","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"reddit;fillColor=#F3F8FC;gradientColor=#B4D2F0",88,.2*368,"","Reddit",null,null,this.getTagsForStencil("mxgraph.weblogos","reddit","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"rss;fillColor=#F56800;strokeColor=none",.2*408,.2*408,"","RSS",null,null,this.getTagsForStencil("mxgraph.weblogos","rss","web logos logo").join(" ")),this.createVertexTemplateEntry(a+
-"scoopit;fillColor=#6CAB36;strokeColor=none",58,70,"","Scoopit",null,null,this.getTagsForStencil("mxgraph.weblogos","scoopit","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"scribd;fillColor=#3D3533;strokeColor=none",.2*289,69.2,"","Scribd",null,null,this.getTagsForStencil("mxgraph.weblogos","scribd","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"segnalo",.2*403,.2*389,"","Segnalo",null,null,this.getTagsForStencil("mxgraph.weblogos","segnalo","web logos logo").join(" ")),
-this.createVertexTemplateEntry(a+"sina",.2*429,.2*343,"","Sina",null,null,this.getTagsForStencil("mxgraph.weblogos","sina","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"sitejot",77.2,66,"","Sitejot",null,null,this.getTagsForStencil("mxgraph.weblogos","sitejot","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"skype;fillColor=#2AACE2;strokeColor=none",.2*388,.2*394,"","Skype",null,null,this.getTagsForStencil("mxgraph.weblogos","skype","web logos logo").join(" ")),this.createVertexTemplateEntry(a+
-"skyrock;fillColor=#009AFF;strokeColor=none",67.8,70.4,"","Skyrock",null,null,this.getTagsForStencil("mxgraph.weblogos","skyrock","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"slashdot;fillColor=#026664;strokeColor=none",.2*262,62,"","Slashdot",null,null,this.getTagsForStencil("mxgraph.weblogos","slashdot","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"sms;fillColor=#48B921;strokeColor=none",69.2,64,"","SMS",null,null,this.getTagsForStencil("mxgraph.weblogos","sms",
-"web logos logo").join(" ")),this.createVertexTemplateEntry(a+"socialvibe;fillColor=#EE2F7F;strokeColor=none",50,50,"","Socialvibe",null,null,this.getTagsForStencil("mxgraph.weblogos","socialvibe","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"society6;fillColor=#000000;strokeColor=none",74.8,53,"","Society6",null,null,this.getTagsForStencil("mxgraph.weblogos","society6","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"sonico;fillColor=#01AEF0;strokeColor=none",69.2,
-63.2,"","Sonico",null,null,this.getTagsForStencil("mxgraph.weblogos","sonico","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"soundcloud;fillColor=#FE4600;strokeColor=none",73.4,32.6,"","Soundcloud",null,null,this.getTagsForStencil("mxgraph.weblogos","soundcloud","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"sourceforge",74.2,74.4,"","Sourceforge",null,null,this.getTagsForStencil("mxgraph.weblogos","sourceforge","web logos logo").join(" ")),this.createVertexTemplateEntry(a+
-"sourceforge_2;fillColor=#00547E;strokeColor=none",63.2,.2*234,"","Sourceforge",null,null,this.getTagsForStencil("mxgraph.weblogos","sourceforge","web logos logo").join(" ")),this.createVertexTemplateEntry("image;image=img/lib/atlassian/Sourcetree_Logo.svg;",57,71,"","Sourcetree",null,null,this.getTagsForStencil("mxgraph.weblogos","sourcetree logo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"spring.me;fillColor=#0374B8;strokeColor=none",73.2,31.6,"","Spring.me",null,null,this.getTagsForStencil("mxgraph.weblogos",
-"spring me","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"stackexchange",.2*319,79,"","Stackexchange",null,null,this.getTagsForStencil("mxgraph.weblogos","stackexchange stack exchange","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"stackoverflow",.2*272,64,"","StackOverflow",null,null,this.getTagsForStencil("mxgraph.weblogos","stackoverflow stack overflow","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"startaid;fillColor=#409FCF;strokeColor=none",41.2,
-42.6,"","Startaid",null,null,this.getTagsForStencil("mxgraph.weblogos","startaid","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"startlap;fillColor=#B9E6F0;gradientColor=#3062A2",82,84.2,"","Startlap",null,null,this.getTagsForStencil("mxgraph.weblogos","startlap","web logos logo").join(" ")),this.createVertexTemplateEntry("image;image=img/lib/atlassian/Statuspage_Logo.svg;",75,52,"","Statuspage",null,null,this.getTagsForStencil("mxgraph.weblogos","statuspage logo","web logos logo").join(" ")),
-this.createVertexTemplateEntry(a+"steam;fillColor=#695D5D;gradientColor=#100E0E",85.2,39.6,"","Steam",null,null,this.getTagsForStencil("mxgraph.weblogos","steam","web logos logo").join(" ")),this.createVertexTemplateEntry("image;image=img/lib/atlassian/Stride_Logo.svg;",69,57,"","Stride",null,null,this.getTagsForStencil("mxgraph.weblogos","stride logo atlassian","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"stumbleupon;fillColor=#EB4924;strokeColor=none",102.4,102.4,"","StumbleUpon",
-null,null,this.getTagsForStencil("mxgraph.weblogos","stumbleupon","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"stumpedia",67,.2*338,"","Stumpedia",null,null,this.getTagsForStencil("mxgraph.weblogos","stumpedia","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"translate",68.4,67,"","Translate",null,null,this.getTagsForStencil("mxgraph.weblogos","translate","web logos logo").join(" ")),this.createVertexTemplateEntry("image;image=img/lib/atlassian/Trello_Logo.svg;",70,
-70,"","Trello",null,null,this.getTagsForStencil("mxgraph.weblogos","trello logo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"tumblr;fillColor=#36465D;strokeColor=none",40.6,65.2,"","Tumblr",null,null,this.getTagsForStencil("mxgraph.weblogos","tumblr","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"tunein",70,70,"","Tunein",null,null,this.getTagsForStencil("mxgraph.weblogos","tunein","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"twitter;fillColor=#1DA1F2;strokeColor=none",
-80,70,"","Twitter",null,null,this.getTagsForStencil("mxgraph.weblogos","twitter","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"two;fillColor=#FF6D00;strokeColor=none",75.4,20,"","Two",null,null,this.getTagsForStencil("mxgraph.weblogos","two","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"typepad;fillColor=#ADB560;strokeColor=none",64.8,.2*192,"","Typepad",null,null,this.getTagsForStencil("mxgraph.weblogos","typepad","web logos logo").join(" ")),this.createVertexTemplateEntry(a+
-"viadeo",73.4,84,"","Viadeo",null,null,this.getTagsForStencil("mxgraph.weblogos","viadeo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"viber;fillColor=#7D539F;strokeColor=none",77.4,85.2,"","Viber",null,null,this.getTagsForStencil("mxgraph.weblogos","viber","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"viddler;fillColor=#1896E0;gradientColor=#06253F",82,.2*106,"","Viddler",null,null,this.getTagsForStencil("mxgraph.weblogos","viddler","web logos logo").join(" ")),
-this.createVertexTemplateEntry(a+"vimeo;fillColor=#1AB7EA;strokeColor=none",62.6,58,"","Vimeo",null,null,this.getTagsForStencil("mxgraph.weblogos","vimeo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"virb;fillColor=#000000;strokeColor=none",66,.2*353,"","Virb",null,null,this.getTagsForStencil("mxgraph.weblogos","virb","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"vkontakte;fillColor=#4C75A3;strokeColor=none",70.4,40,"","Vkontakte",null,null,this.getTagsForStencil("mxgraph.weblogos",
-"vkontakte","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"wakoopa;fillColor=#FF6D00;strokeColor=none",.2*413,.2*224,"","Wakoopa",null,null,this.getTagsForStencil("mxgraph.weblogos","wakoopa","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"weheartit;fillColor=#FF4577;strokeColor=none",82.2,.2*348,"","Weheartit",null,null,this.getTagsForStencil("mxgraph.weblogos","weheartit","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"whatsapp;fillColor=#00E676;strokeColor=#dddddd",
-74.4,74.8,"","Whatsapp",null,null,this.getTagsForStencil("mxgraph.weblogos","whatsapp","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"wix;strokeColor=#dddddd",74,61.6,"","Wix",null,null,this.getTagsForStencil("mxgraph.weblogos","wix","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"wordpress;fillColor=#00A7DA;strokeColor=none",.2*333,65.4,"","Wordpress",null,null,this.getTagsForStencil("mxgraph.weblogos","wordpress","web logos logo").join(" ")),this.createVertexTemplateEntry(a+
-"wordpress_2;fillColor=#00A7DA;strokeColor=none",68.8,68.8,"","Wordpress",null,null,this.getTagsForStencil("mxgraph.weblogos","wordpress","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"xanga;fillColor=#000000;strokeColor=none",70,38,"","Xanga",null,null,this.getTagsForStencil("mxgraph.weblogos","xanga","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"xerpi;fillColor=#7F719B;gradientColor=#32264B;strokeColor=none",70.2,.2*328,"","Xerpi",null,null,this.getTagsForStencil("mxgraph.weblogos",
-"xerpi","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"xing",65,73.8,"","Xing",null,null,this.getTagsForStencil("mxgraph.weblogos","xing","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"yahoo;fillColor=#65106E;strokeColor=none",74.4,43.6,"","Yahoo",null,null,this.getTagsForStencil("mxgraph.weblogos","yahoo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"yahoo_2;fillColor=#65106E;strokeColor=none",80,46.6,"","Yahoo",null,null,this.getTagsForStencil("mxgraph.weblogos",
-"yahoo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"yammer;fillColor=#0093BE;strokeColor=none",.2*348,59.6,"","Yammer",null,null,this.getTagsForStencil("mxgraph.weblogos","yammer","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"yandex",31.8,66.4,"","Yandex",null,null,this.getTagsForStencil("mxgraph.weblogos","yandex","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"yelp;fillColor=#C41200;strokeColor=none",.2*317,83,"","Yelp",null,null,this.getTagsForStencil("mxgraph.weblogos",
-"yelp","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"yoolink",79.2,79.2,"","Yoolink",null,null,this.getTagsForStencil("mxgraph.weblogos","yoolink","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"youmob",76,76.2,"","Youmob",null,null,this.getTagsForStencil("mxgraph.weblogos","youmob","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"youtube;fillColor=#FF2626;gradientColor=#B5171F",.2*786,65.8,"","Youtube",null,null,this.getTagsForStencil("mxgraph.weblogos",
-"youtube","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"youtube_2;fillColor=#FF2626;gradientColor=#B5171F",.2*232,32.6,"","Youtube",null,null,this.getTagsForStencil("mxgraph.weblogos","youtube","web logos logo").join(" "))])}})();
+61.2,68.8,"","Diigo",null,null,this.getTagsForStencil("mxgraph.weblogos","diiigo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"dopplr;fillColor=#F9634D;strokeColor=none",102.4,102.4,"","Dopplr",null,null,this.getTagsForStencil("mxgraph.weblogos","dopplr","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"drawio2;fillColor=#1A5BA3",52.2,70.8,"","Draw.io",null,null,this.getTagsForStencil("mxgraph.weblogos","drawio draw io draw.io","web logos logo").join(" ")),this.createVertexTemplateEntry(a+
+"drawio3;fillColor=#1A5BA3;fontSize=15;fontColor=#1A5BA3;fontStyle=1",52.2,52.2,'draw<font color="#f08707">.io</font>',"Draw.io",null,null,this.getTagsForStencil("mxgraph.weblogos","drawio draw io draw.io","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"dribbble;fillColor=#EB548D",67.4,67.2,"","Dribbble",null,null,this.getTagsForStencil("mxgraph.weblogos","dribbble","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"dropbox;fillColor=#0287EA",73.4,62,"","Dropbox2",null,
+null,this.getTagsForStencil("mxgraph.weblogos","dropbox","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"drupal",60.6,69,"","Drupal",null,null,this.getTagsForStencil("mxgraph.weblogos","drupal","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"dzone",.2*438,61.2,"","Dzone",null,null,this.getTagsForStencil("mxgraph.weblogos","dzone","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"ebay",81.2,34.4,"","Ebay",null,null,this.getTagsForStencil("mxgraph.weblogos",
+"ebay","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"edmodo;fillColor=#276CB0;strokeColor=none",69.2,73.8,"","Edmodo",null,null,this.getTagsForStencil("mxgraph.weblogos","edmodo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"evernote;fillColor=#3F3F3F",.2*317,75.2,"","Evernote",null,null,this.getTagsForStencil("mxgraph.weblogos","evernote","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"fancy;fillColor=#6DB3E3",39.2,79,"","Fancy",null,null,this.getTagsForStencil("mxgraph.weblogos",
+"fancy","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"fark;fillColor=#B1B0C7;gradientColor=#ffffff;strokeColor=#B1B0C7",44.2,70.2,"","Fark",null,null,this.getTagsForStencil("mxgraph.weblogos","fark","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"fashiolista",.2*388,73.2,"","Fashiolista",null,null,this.getTagsForStencil("mxgraph.weblogos","fashiolista","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"feed;fillColor=#000000",.2*302,59.2,"","Feed",null,
+null,this.getTagsForStencil("mxgraph.weblogos","feed","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"feedburner",68.4,74.4,"","Feedburner",null,null,this.getTagsForStencil("mxgraph.weblogos","feedburner","web logos logo").join(" ")),this.createVertexTemplateEntry("image;image=img/lib/atlassian/Fisheye_Logo.svg;",71,59,"","Fisheye",null,null,this.getTagsForStencil("mxgraph.weblogos","fisheye logo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"flickr",71.2,.2*156,"",
+"Flickr",null,null,this.getTagsForStencil("mxgraph.weblogos","flickr","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"folkd;fillColor=#165AA6",.2*419,43.6,"","Folkd",null,null,this.getTagsForStencil("mxgraph.weblogos","folkd","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"forrst;fillColor=#27431F",.2*264,73.2,"","Forrst",null,null,this.getTagsForStencil("mxgraph.weblogos","forrst","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"fotolog;fillColor=#000000;strokeColor=none",
+47.6,47.6,"","Fotolog",null,null,this.getTagsForStencil("mxgraph.weblogos","fotolog","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"freshbump;fillColor=#C2D952;strokeColor=none",71.2,76,"","Freshbump",null,null,this.getTagsForStencil("mxgraph.weblogos","freshbump","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"fresqui",102.4,102.4,"","Fresqui",null,null,this.getTagsForStencil("mxgraph.weblogos","fresqui","web logos logo").join(" ")),this.createVertexTemplateEntry(a+
+"friendfeed;fillColor=#4172BB",73.8,71,"","Friendfeed",null,null,this.getTagsForStencil("mxgraph.weblogos","fiendfeed","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"funp",75,40,"","Funp",null,null,this.getTagsForStencil("mxgraph.weblogos","funp","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"fwisp;fillColor=#66676A;strokeColor=none",65.4,66,"","Fwisp",null,null,this.getTagsForStencil("mxgraph.weblogos","fwisp","web logos logo").join(" ")),this.createVertexTemplateEntry(a+
+"gabbr;fillColor=#F05B1E",64.4,66,"","Gabbr",null,null,this.getTagsForStencil("mxgraph.weblogos","gabbr","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"gamespot",.2*408,.2*408,"","Gamespot",null,null,this.getTagsForStencil("mxgraph.weblogos","gamespot","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"github",75,75,"","Github",null,null,this.getTagsForStencil("mxgraph.weblogos","github","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"gmail",64.8,.2*234,
+"","Gmail",null,null,this.getTagsForStencil("mxgraph.weblogos","gmail","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"google",65.2,69.4,"","Google",null,null,this.getTagsForStencil("mxgraph.weblogos","google","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"google_drive",66.4,58,"","Google Drive",null,null,this.getTagsForStencil("mxgraph.weblogos","google drive","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"google_hangout;fillColor=#4BA139;strokeColor=none",
+64.8,75.4,"","Google Hangout",null,null,this.getTagsForStencil("mxgraph.weblogos","google hangout","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"google_play;fillColor=#000000",69.4,20.6,"","Google Play",null,null,this.getTagsForStencil("mxgraph.weblogos","google play","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"google_play_light;fillColor=#66E8F3;gradientColor=#1C7CBA",60,10.4,"","Google Play Light",null,null,this.getTagsForStencil("mxgraph.weblogos","google play light",
+"web logos logo").join(" ")),this.createVertexTemplateEntry(a+"google_photos",87.2,87.2,"","Google Photos",null,null,this.getTagsForStencil("mxgraph.weblogos","google photos","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"google_plus;fillColor=#DD4C40;strokeColor=none",.2*328,44,"","Google+",null,null,this.getTagsForStencil("mxgraph.weblogos","google plus","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"grooveshark;fillColor=#000000;strokeColor=none",62.2,62.2,"","Grooveshark",
+null,null,this.getTagsForStencil("mxgraph.weblogos","grooveshark","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"hatena",86.2,44.2,"","Hatena",null,null,this.getTagsForStencil("mxgraph.weblogos","hatena","web logos logo").join(" ")),this.createVertexTemplateEntry("image;image=img/lib/atlassian/Hipchat_Logo.svg;",66,62,"","Hipchat",null,null,this.getTagsForStencil("mxgraph.weblogos","hipchat logo atlassian","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"html5",.2*262,
+74,"","HTML5",null,null,this.getTagsForStencil("mxgraph.weblogos","html5 html","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"identi.ca",74.2,47.6,"","Identi.ca",null,null,this.getTagsForStencil("mxgraph.weblogos","identi.ca","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"instagram;fillColor=#6FC0E4;gradientColor=#1E305B",72.2,72.2,"","Instagram",null,null,this.getTagsForStencil("mxgraph.weblogos","instagram","web logos logo").join(" ")),this.createVertexTemplateEntry(a+
+"instapaper",27.6,70.2,"","Instapaper",null,null,this.getTagsForStencil("mxgraph.weblogos","instapaper","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"ios;fillColor=#695D5D;gradientColor=#100E0E",.2*368,.2*197,"","iOS",null,null,this.getTagsForStencil("mxgraph.weblogos","ios","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"jamespot;fillColor=#695D5D;gradientColor=#100E0E",78,78,"","Jamespot",null,null,this.getTagsForStencil("mxgraph.weblogos","jamespot","web logos logo").join(" ")),
+this.createVertexTemplateEntry(a+"java",34.4,65,"","Java",null,null,this.getTagsForStencil("mxgraph.weblogos","java","web logos logo").join(" ")),this.createVertexTemplateEntry("image;image=img/lib/atlassian/Jira_Logo.svg;",72,72,"","Jira",null,null,this.getTagsForStencil("mxgraph.weblogos","jira logo","web logos logo").join(" ")),this.createVertexTemplateEntry("image;image=img/lib/atlassian/Jira_Core_Logo.svg;",55,66,"","Jira Core",null,null,this.getTagsForStencil("mxgraph.weblogos","jira core logo atlassian",
+"web logos logo").join(" ")),this.createVertexTemplateEntry("image;image=img/lib/atlassian/Jira_Service_Desk_Logo.svg;",59,76,"","Jira Service Desk",null,null,this.getTagsForStencil("mxgraph.weblogos","jira service desk logo atlassian","web logos logo").join(" ")),this.createVertexTemplateEntry("image;image=img/lib/atlassian/Jira_Software_Logo.svg;",74,76,"","Jira Software",null,null,this.getTagsForStencil("mxgraph.weblogos","jira software logo atlassian","web logos logo").join(" ")),this.createVertexTemplateEntry(a+
+"joomla;fillColor=#1F457D;gradientColor=#081220",66,.2*328,"","Joomla",null,null,this.getTagsForStencil("mxgraph.weblogos","joomla","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"jquery;fillColor=#0BB9EA;gradientColor=#032F80",73.8,67,"","Jquery",null,null,this.getTagsForStencil("mxgraph.weblogos","jquery","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"json",70,75.8,"","JSON",null,null,this.getTagsForStencil("mxgraph.weblogos","json","web logos logo").join(" ")),this.createVertexTemplateEntry(a+
+"json_2",80.4,.2*126,"","JSON",null,null,this.getTagsForStencil("mxgraph.weblogos","json","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"last.fm;fillColor=#F33543;gradientColor=#BD0E11",83.2,50,"","Last.fm",null,null,this.getTagsForStencil("mxgraph.weblogos","last.fm last fm","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"linkagogo;fillColor=#F6F5FA;gradientColor=#C8C1E1",102.2,80,"","Linkagogo",null,null,this.getTagsForStencil("mxgraph.weblogos","linkagogo","web logos logo").join(" ")),
+this.createVertexTemplateEntry(a+"linkedin;fillColor=#0095DB;gradientColor=#006391",.2*287,60.6,"","LinkedIn",null,null,this.getTagsForStencil("mxgraph.weblogos","linkedin","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"livejournal;fillColor=#2690E5;gradientColor=#0A2463",64,.2*343,"","Livejournal",null,null,this.getTagsForStencil("mxgraph.weblogos","livejournal","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"mail.ru;fillColor=#267BE0;gradientColor=#0A1F42",81.2,.2*
+393,"","Mail.ru",null,null,this.getTagsForStencil("mxgraph.weblogos","mail.ru","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"mathoverflow;fillColor=#656463;gradientColor=#F28711;gradientDirection=east",59,48.2,"","MathOverflow",null,null,this.getTagsForStencil("mxgraph.weblogos","mathoverflow","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"meetup;fillColor=#413E3E;strokeColor=none",74.8,30,"","Meetup",null,null,this.getTagsForStencil("mxgraph.weblogos","meetup","web logos logo").join(" ")),
+this.createVertexTemplateEntry(a+"meneame",76,.2*338,"","Meneame",null,null,this.getTagsForStencil("mxgraph.weblogos","meneame","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"messenger",.2*413,.2*384,"","Messenger",null,null,this.getTagsForStencil("mxgraph.weblogos","messenger","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"messenger_2",64.4,64.8,"","Messenger",null,null,this.getTagsForStencil("mxgraph.weblogos","messenger","web logos logo").join(" ")),this.createVertexTemplateEntry(a+
+"messenger_3;fillColor=#437BBD;strokeColor=#dddddd",64.4,64.8,"","Messenger",null,null,this.getTagsForStencil("mxgraph.weblogos","messenger","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"mind_body_green;strokeColor=#888888",81.4,.2*464,"","Mind Body Green",null,null,this.getTagsForStencil("mxgraph.weblogos","mind body green","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"mongodb",41.2,86.2,"","MongoDb",null,null,this.getTagsForStencil("mxgraph.weblogos","mongodb",
+"web logos logo").join(" ")),this.createVertexTemplateEntry(a+"myspace;fillColor=#003399;strokeColor=none",63,70.2,"","MySpace",null,null,this.getTagsForStencil("mxgraph.weblogos","myspace","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"n4g;fillColor=#000000;strokeColor=none",88.2,31.8,"","N4g",null,null,this.getTagsForStencil("mxgraph.weblogos","n4g","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"netlog;fillColor=#F42424;strokeColor=none",.2*383,68.8,"","Netlog",null,
+null,this.getTagsForStencil("mxgraph.weblogos","netlog","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"netvibes;fillColor=#84BD00;strokeColor=none",.2*309,.2*309,"","Netvibes",null,null,this.getTagsForStencil("mxgraph.weblogos","netvibes","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"netvouz",57.2,.2*287,"","Netvouz",null,null,this.getTagsForStencil("mxgraph.weblogos","netvouz","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"networkedblogs",.2*394,.2*
+394,"","Networkedblogs",null,null,this.getTagsForStencil("mxgraph.weblogos","networkedblogs","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"newsvine;fillColor=#005221;strokeColor=none",40.6,77.2,"","Newsvine",null,null,this.getTagsForStencil("mxgraph.weblogos","newsvine","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"odnoklassniki;fillColor=#F58220;strokeColor=none",.2*247,82,"","Odnoklassniki",null,null,this.getTagsForStencil("mxgraph.weblogos","odnoklassniki","web logos logo").join(" ")),
+this.createVertexTemplateEntry(a+"oknotizie",.2*237,70.4,"","Oknotizie",null,null,this.getTagsForStencil("mxgraph.weblogos","oknotizie","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"onedrive;fillColor=#094AB1;strokeColor=none",71.2,43.2,"","OneDrive",null,null,this.getTagsForStencil("mxgraph.weblogos","onedrive","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"oracle;fillColor=#FF0000;strokeColor=none",90,23,"","Oracle",null,null,this.getTagsForStencil("mxgraph.weblogos",
+"oracle","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"paypal",51.2,58,"","Paypal",null,null,this.getTagsForStencil("mxgraph.weblogos","paypal","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"phone;fillColor=#36BE0F;strokeColor=none",.2*289,54.2,"","Phone",null,null,this.getTagsForStencil("mxgraph.weblogos","phone","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"phonefavs",64.4,.2*394,"","Phonefavs",null,null,this.getTagsForStencil("mxgraph.weblogos",
+"phonefavs","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"pinterest;fillColor=#BD081C;strokeColor=none",.2*384,74.4,"","Pinterest",null,null,this.getTagsForStencil("mxgraph.weblogos","pinterest","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"plaxo;fillColor=#414F5C;strokeColor=none",80,80,"","Plaxo",null,null,this.getTagsForStencil("mxgraph.weblogos","plaxo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"playfire;fillColor=#FDA21A;gradientColor=#FEE635;strokeColor=none",
+62,61.6,"","Playfire",null,null,this.getTagsForStencil("mxgraph.weblogos","playfire","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"plurk;fillColor=#E9443D;strokeColor=none",102.4,102.4,"","Plurk",null,null,this.getTagsForStencil("mxgraph.weblogos","plurk","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"pocket;fillColor=#EE4056;strokeColor=none",.2*314,.2*289,"","Pocket",null,null,this.getTagsForStencil("mxgraph.weblogos","pocket","web logos logo").join(" ")),this.createVertexTemplateEntry(a+
+"protopage;fillColor=#4B78C0;gradientColor=#294282",.2*394,80,"","Protopage",null,null,this.getTagsForStencil("mxgraph.weblogos","protopage","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"readernaut;fillColor=#000000;strokeColor=none",72,72,"","Readernaut",null,null,this.getTagsForStencil("mxgraph.weblogos","readernaut","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"reddit;fillColor=#F3F8FC;gradientColor=#B4D2F0",88,.2*368,"","Reddit",null,null,this.getTagsForStencil("mxgraph.weblogos",
+"reddit","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"rss;fillColor=#F56800;strokeColor=none",.2*408,.2*408,"","RSS",null,null,this.getTagsForStencil("mxgraph.weblogos","rss","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"scoopit;fillColor=#6CAB36;strokeColor=none",58,70,"","Scoopit",null,null,this.getTagsForStencil("mxgraph.weblogos","scoopit","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"scribd;fillColor=#3D3533;strokeColor=none",.2*289,69.2,"",
+"Scribd",null,null,this.getTagsForStencil("mxgraph.weblogos","scribd","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"segnalo",.2*403,.2*389,"","Segnalo",null,null,this.getTagsForStencil("mxgraph.weblogos","segnalo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"sina",.2*429,.2*343,"","Sina",null,null,this.getTagsForStencil("mxgraph.weblogos","sina","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"sitejot",77.2,66,"","Sitejot",null,null,this.getTagsForStencil("mxgraph.weblogos",
+"sitejot","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"skype;fillColor=#2AACE2;strokeColor=none",.2*388,.2*394,"","Skype",null,null,this.getTagsForStencil("mxgraph.weblogos","skype","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"skyrock;fillColor=#009AFF;strokeColor=none",67.8,70.4,"","Skyrock",null,null,this.getTagsForStencil("mxgraph.weblogos","skyrock","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"slashdot;fillColor=#026664;strokeColor=none",.2*
+262,62,"","Slashdot",null,null,this.getTagsForStencil("mxgraph.weblogos","slashdot","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"sms;fillColor=#48B921;strokeColor=none",69.2,64,"","SMS",null,null,this.getTagsForStencil("mxgraph.weblogos","sms","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"socialvibe;fillColor=#EE2F7F;strokeColor=none",50,50,"","Socialvibe",null,null,this.getTagsForStencil("mxgraph.weblogos","socialvibe","web logos logo").join(" ")),this.createVertexTemplateEntry(a+
+"society6;fillColor=#000000;strokeColor=none",74.8,53,"","Society6",null,null,this.getTagsForStencil("mxgraph.weblogos","society6","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"sonico;fillColor=#01AEF0;strokeColor=none",69.2,63.2,"","Sonico",null,null,this.getTagsForStencil("mxgraph.weblogos","sonico","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"soundcloud;fillColor=#FE4600;strokeColor=none",73.4,32.6,"","Soundcloud",null,null,this.getTagsForStencil("mxgraph.weblogos",
+"soundcloud","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"sourceforge",74.2,74.4,"","Sourceforge",null,null,this.getTagsForStencil("mxgraph.weblogos","sourceforge","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"sourceforge_2;fillColor=#00547E;strokeColor=none",63.2,.2*234,"","Sourceforge",null,null,this.getTagsForStencil("mxgraph.weblogos","sourceforge","web logos logo").join(" ")),this.createVertexTemplateEntry("image;image=img/lib/atlassian/Sourcetree_Logo.svg;",
+57,71,"","Sourcetree",null,null,this.getTagsForStencil("mxgraph.weblogos","sourcetree logo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"spring.me;fillColor=#0374B8;strokeColor=none",73.2,31.6,"","Spring.me",null,null,this.getTagsForStencil("mxgraph.weblogos","spring me","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"stackexchange",.2*319,79,"","Stackexchange",null,null,this.getTagsForStencil("mxgraph.weblogos","stackexchange stack exchange","web logos logo").join(" ")),
+this.createVertexTemplateEntry(a+"stackoverflow",.2*272,64,"","StackOverflow",null,null,this.getTagsForStencil("mxgraph.weblogos","stackoverflow stack overflow","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"startaid;fillColor=#409FCF;strokeColor=none",41.2,42.6,"","Startaid",null,null,this.getTagsForStencil("mxgraph.weblogos","startaid","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"startlap;fillColor=#B9E6F0;gradientColor=#3062A2",82,84.2,"","Startlap",null,null,
+this.getTagsForStencil("mxgraph.weblogos","startlap","web logos logo").join(" ")),this.createVertexTemplateEntry("image;image=img/lib/atlassian/Statuspage_Logo.svg;",75,52,"","Statuspage",null,null,this.getTagsForStencil("mxgraph.weblogos","statuspage logo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"steam;fillColor=#695D5D;gradientColor=#100E0E",85.2,39.6,"","Steam",null,null,this.getTagsForStencil("mxgraph.weblogos","steam","web logos logo").join(" ")),this.createVertexTemplateEntry("image;image=img/lib/atlassian/Stride_Logo.svg;",
+69,57,"","Stride",null,null,this.getTagsForStencil("mxgraph.weblogos","stride logo atlassian","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"stumbleupon;fillColor=#EB4924;strokeColor=none",102.4,102.4,"","StumbleUpon",null,null,this.getTagsForStencil("mxgraph.weblogos","stumbleupon","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"stumpedia",67,.2*338,"","Stumpedia",null,null,this.getTagsForStencil("mxgraph.weblogos","stumpedia","web logos logo").join(" ")),this.createVertexTemplateEntry(a+
+"translate",68.4,67,"","Translate",null,null,this.getTagsForStencil("mxgraph.weblogos","translate","web logos logo").join(" ")),this.createVertexTemplateEntry("image;image=img/lib/atlassian/Trello_Logo.svg;",70,70,"","Trello",null,null,this.getTagsForStencil("mxgraph.weblogos","trello logo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"tumblr;fillColor=#36465D;strokeColor=none",40.6,65.2,"","Tumblr",null,null,this.getTagsForStencil("mxgraph.weblogos","tumblr","web logos logo").join(" ")),
+this.createVertexTemplateEntry(a+"tunein",70,70,"","Tunein",null,null,this.getTagsForStencil("mxgraph.weblogos","tunein","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"twitter;fillColor=#1DA1F2;strokeColor=none",80,70,"","Twitter",null,null,this.getTagsForStencil("mxgraph.weblogos","twitter","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"two;fillColor=#FF6D00;strokeColor=none",75.4,20,"","Two",null,null,this.getTagsForStencil("mxgraph.weblogos","two","web logos logo").join(" ")),
+this.createVertexTemplateEntry(a+"typepad;fillColor=#ADB560;strokeColor=none",64.8,.2*192,"","Typepad",null,null,this.getTagsForStencil("mxgraph.weblogos","typepad","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"viadeo",73.4,84,"","Viadeo",null,null,this.getTagsForStencil("mxgraph.weblogos","viadeo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"viber;fillColor=#7D539F;strokeColor=none",77.4,85.2,"","Viber",null,null,this.getTagsForStencil("mxgraph.weblogos","viber",
+"web logos logo").join(" ")),this.createVertexTemplateEntry(a+"viddler;fillColor=#1896E0;gradientColor=#06253F",82,.2*106,"","Viddler",null,null,this.getTagsForStencil("mxgraph.weblogos","viddler","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"vimeo;fillColor=#1AB7EA;strokeColor=none",62.6,58,"","Vimeo",null,null,this.getTagsForStencil("mxgraph.weblogos","vimeo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"virb;fillColor=#000000;strokeColor=none",66,.2*353,"","Virb",
+null,null,this.getTagsForStencil("mxgraph.weblogos","virb","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"vkontakte;fillColor=#4C75A3;strokeColor=none",70.4,40,"","Vkontakte",null,null,this.getTagsForStencil("mxgraph.weblogos","vkontakte","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"wakoopa;fillColor=#FF6D00;strokeColor=none",.2*413,.2*224,"","Wakoopa",null,null,this.getTagsForStencil("mxgraph.weblogos","wakoopa","web logos logo").join(" ")),this.createVertexTemplateEntry(a+
+"weheartit;fillColor=#FF4577;strokeColor=none",82.2,.2*348,"","Weheartit",null,null,this.getTagsForStencil("mxgraph.weblogos","weheartit","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"whatsapp;fillColor=#00E676;strokeColor=#dddddd",74.4,74.8,"","Whatsapp",null,null,this.getTagsForStencil("mxgraph.weblogos","whatsapp","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"wix;strokeColor=#dddddd",74,61.6,"","Wix",null,null,this.getTagsForStencil("mxgraph.weblogos","wix","web logos logo").join(" ")),
+this.createVertexTemplateEntry(a+"wordpress;fillColor=#00A7DA;strokeColor=none",.2*333,65.4,"","Wordpress",null,null,this.getTagsForStencil("mxgraph.weblogos","wordpress","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"wordpress_2;fillColor=#00A7DA;strokeColor=none",68.8,68.8,"","Wordpress",null,null,this.getTagsForStencil("mxgraph.weblogos","wordpress","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"xanga;fillColor=#000000;strokeColor=none",70,38,"","Xanga",null,null,
+this.getTagsForStencil("mxgraph.weblogos","xanga","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"xerpi;fillColor=#7F719B;gradientColor=#32264B;strokeColor=none",70.2,.2*328,"","Xerpi",null,null,this.getTagsForStencil("mxgraph.weblogos","xerpi","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"xing",65,73.8,"","Xing",null,null,this.getTagsForStencil("mxgraph.weblogos","xing","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"yahoo;fillColor=#65106E;strokeColor=none",
+74.4,43.6,"","Yahoo",null,null,this.getTagsForStencil("mxgraph.weblogos","yahoo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"yahoo_2;fillColor=#65106E;strokeColor=none",80,46.6,"","Yahoo",null,null,this.getTagsForStencil("mxgraph.weblogos","yahoo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"yammer;fillColor=#0093BE;strokeColor=none",.2*348,59.6,"","Yammer",null,null,this.getTagsForStencil("mxgraph.weblogos","yammer","web logos logo").join(" ")),this.createVertexTemplateEntry(a+
+"yandex",31.8,66.4,"","Yandex",null,null,this.getTagsForStencil("mxgraph.weblogos","yandex","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"yelp;fillColor=#C41200;strokeColor=none",.2*317,83,"","Yelp",null,null,this.getTagsForStencil("mxgraph.weblogos","yelp","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"yoolink",79.2,79.2,"","Yoolink",null,null,this.getTagsForStencil("mxgraph.weblogos","yoolink","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"youmob",
+76,76.2,"","Youmob",null,null,this.getTagsForStencil("mxgraph.weblogos","youmob","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"youtube;fillColor=#FF2626;gradientColor=#B5171F",.2*786,65.8,"","Youtube",null,null,this.getTagsForStencil("mxgraph.weblogos","youtube","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"youtube_2;fillColor=#FF2626;gradientColor=#B5171F",.2*232,32.6,"","Youtube",null,null,this.getTagsForStencil("mxgraph.weblogos","youtube","web logos logo").join(" "))])}})();
DrawioFile=function(a,b){mxEventSource.call(this);this.ui=a;this.data=b||""};mxUtils.extend(DrawioFile,mxEventSource);DrawioFile.prototype.autosaveDelay=1500;DrawioFile.prototype.maxAutosaveDelay=3E4;DrawioFile.prototype.autosaveThread=null;DrawioFile.prototype.lastAutosave=null;DrawioFile.prototype.modified=!1;DrawioFile.prototype.changeListenerEnabled=!0;DrawioFile.prototype.lastAutosaveRevision=null;DrawioFile.prototype.maxAutosaveRevisionDelay=18E5;DrawioFile.prototype.descriptorChanged=function(){this.fireEvent(new mxEventObject("descriptorChanged"))};
DrawioFile.prototype.contentChanged=function(){this.fireEvent(new mxEventObject("contentChanged"))};DrawioFile.prototype.save=function(a,b,d,c){this.updateFileData();this.clearAutosave()};DrawioFile.prototype.updateFileData=function(){this.setData(this.ui.getFileData(null,null,null,null,null,null,null,null,this))};DrawioFile.prototype.saveAs=function(a,b,d){};DrawioFile.prototype.saveFile=function(a,b,d,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.ui.editor.autosave};DrawioFile.prototype.isRenamable=function(){return!1};DrawioFile.prototype.rename=function(a,b,d){};DrawioFile.prototype.isMovable=function(){return!1};
@@ -6783,17 +6783,17 @@ StorageFile.prototype.saveFile=function(a,b,d,c){if(this.isEditable()){var e=mxU
[a]),e,c):e()}))}else null!=d&&d()};StorageFile.prototype.rename=function(a,b,d){var c=this.getTitle();c!=a?this.ui.getLocalData(a,mxUtils.bind(this,function(e){var f=mxUtils.bind(this,function(){this.title=a;this.hasSameExtension(c,a)||this.setData(this.ui.getFileData());this.saveFile(a,!1,mxUtils.bind(this,function(){this.ui.removeLocalData(c,b)}),d)});null!=e?this.ui.confirm(mxResources.get("replaceIt",[a]),f,d):f()})):b()};
StorageFile.prototype.open=function(){DrawioFile.prototype.open.apply(this,arguments);this.saveFile(this.getTitle())};StorageFile.prototype.destroy=function(){DrawioFile.prototype.destroy.apply(this,arguments);null!=this.storageListener&&(mxEvent.removeListener(window,"storage",this.storageListener),this.storageListener=null)};StorageLibrary=function(a,b,d){StorageFile.call(this,a,b,d)};mxUtils.extend(StorageLibrary,StorageFile);StorageLibrary.prototype.isAutosave=function(){return!0};StorageLibrary.prototype.saveAs=function(a,b,d){this.saveFile(a,!1,b,d)};StorageLibrary.prototype.getHash=function(){return"L"+encodeURIComponent(this.title)};StorageLibrary.prototype.getTitle=function(){return".scratchpad"==this.title?mxResources.get("scratchpad"):this.title};
StorageLibrary.prototype.isRenamable=function(a,b,d){return".scratchpad"!=this.title};StorageLibrary.prototype.open=function(){};UrlLibrary=function(a,b,d){StorageFile.call(this,a,b,d);a=d;b=a.lastIndexOf("/");0<=b&&(a=a.substring(b+1));this.fname=a};mxUtils.extend(UrlLibrary,StorageFile);UrlLibrary.prototype.getHash=function(){return"U"+encodeURIComponent(this.title)};UrlLibrary.prototype.getTitle=function(){return this.fname};UrlLibrary.prototype.isAutosave=function(){return!1};UrlLibrary.prototype.isEditable=function(a,b,d){return!1};UrlLibrary.prototype.saveAs=function(a,b,d){};UrlLibrary.prototype.open=function(){};var StorageDialog=function(a,b,d){function c(c,e,f,u,w,t){function q(){mxEvent.addListener(p,"click",null!=t?t:function(){f!=App.MODE_GOOGLE||a.isDriveDomain()?f==App.MODE_GOOGLE&&a.spinner.spin(document.body,mxResources.get("authorizing"))?a.drive.checkToken(mxUtils.bind(this,function(){a.spinner.stop();a.setMode(f,g.checked);b()})):(a.setMode(f,g.checked),b()):window.location.hostname=DriveClient.prototype.newAppHostname})}var p=document.createElement("a");p.style.overflow="hidden";p.style.display=
-mxClient.IS_QUIRKS?"inline":"inline-block";p.className="geBaseButton";p.style.boxSizing="border-box";p.style.fontSize="11px";p.style.position="relative";p.style.margin="4px";p.style.padding="8px 10px 12px 10px";p.style.width="88px";p.style.height="100px";p.style.whiteSpace="nowrap";p.setAttribute("title",e);mxClient.IS_QUIRKS&&(p.style.cssFloat="left",p.style.zoom="1");var v=document.createElement("div");v.style.textOverflow="ellipsis";v.style.overflow="hidden";if(null!=c){var x=document.createElement("img");
-x.setAttribute("src",c);x.setAttribute("border","0");x.setAttribute("align","absmiddle");x.style.width="60px";x.style.height="60px";x.style.paddingBottom="6px";p.appendChild(x)}else v.style.paddingTop="5px",v.style.whiteSpace="normal",mxClient.IS_IOS?(p.style.padding="0px 10px 20px 10px",p.style.top="6px"):mxClient.IS_FF&&(v.style.paddingTop="0px",v.style.marginTop="-2px");p.appendChild(v);mxUtils.write(v,e);if(null!=w)for(c=0;c<w.length;c++)mxUtils.br(v),mxUtils.write(v,w[c]);if(null!=u&&null==a[u]){x.style.visibility=
-"hidden";mxUtils.setOpacity(v,10);var z=new Spinner({lines:12,length:12,width:5,radius:10,rotate:0,color:"dark"==uiTheme?"#c0c0c0":"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9});z.spin(p);var h=window.setTimeout(function(){null==a[u]&&(z.stop(),p.style.display="none")},3E4);a.addListener("clientLoaded",mxUtils.bind(this,function(){null!=a[u]&&(window.clearTimeout(h),mxUtils.setOpacity(v,100),x.style.visibility="",z.stop(),q(),"drive"==u&&null!=n.parentNode&&n.parentNode.removeChild(n))}))}else q();
+mxClient.IS_QUIRKS?"inline":"inline-block";p.className="geBaseButton";p.style.boxSizing="border-box";p.style.fontSize="11px";p.style.position="relative";p.style.margin="4px";p.style.padding="8px 10px 12px 10px";p.style.width="88px";p.style.height="100px";p.style.whiteSpace="nowrap";p.setAttribute("title",e);mxClient.IS_QUIRKS&&(p.style.cssFloat="left",p.style.zoom="1");var x=document.createElement("div");x.style.textOverflow="ellipsis";x.style.overflow="hidden";if(null!=c){var v=document.createElement("img");
+v.setAttribute("src",c);v.setAttribute("border","0");v.setAttribute("align","absmiddle");v.style.width="60px";v.style.height="60px";v.style.paddingBottom="6px";p.appendChild(v)}else x.style.paddingTop="5px",x.style.whiteSpace="normal",mxClient.IS_IOS?(p.style.padding="0px 10px 20px 10px",p.style.top="6px"):mxClient.IS_FF&&(x.style.paddingTop="0px",x.style.marginTop="-2px");p.appendChild(x);mxUtils.write(x,e);if(null!=w)for(c=0;c<w.length;c++)mxUtils.br(x),mxUtils.write(x,w[c]);if(null!=u&&null==a[u]){v.style.visibility=
+"hidden";mxUtils.setOpacity(x,10);var A=new Spinner({lines:12,length:12,width:5,radius:10,rotate:0,color:"dark"==uiTheme?"#c0c0c0":"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9});A.spin(p);var h=window.setTimeout(function(){null==a[u]&&(A.stop(),p.style.display="none")},3E4);a.addListener("clientLoaded",mxUtils.bind(this,function(){null!=a[u]&&(window.clearTimeout(h),mxUtils.setOpacity(x,100),v.style.visibility="",A.stop(),q(),"drive"==u&&null!=n.parentNode&&n.parentNode.removeChild(n))}))}else q();
m.appendChild(p);++k>=d&&(mxUtils.br(m),k=0)}d=null!=d?d:2;var e=document.createElement("div");e.style.textAlign="center";e.style.whiteSpace="nowrap";e.style.paddingTop="0px";e.style.paddingBottom="20px";var f=a.addLanguageMenu(e,!0);null!=f&&(f.style.bottom=parseInt("28px")-2+"px");if(!a.isOffline()&&1<a.getServiceCount()){f=document.createElement("a");f.setAttribute("href","https://about.draw.io/support/");f.setAttribute("title",mxResources.get("help"));f.setAttribute("target","_blank");f.style.position=
"absolute";f.style.textDecoration="none";f.style.cursor="pointer";f.style.fontSize="12px";f.style.bottom="28px";f.style.left="26px";f.style.color="gray";var h=document.createElement("img");h.setAttribute("border","0");h.setAttribute("valign","bottom");h.setAttribute("src",Editor.helpImage);h.style.marginRight="2px";f.appendChild(h);mxUtils.write(f,mxResources.get("help"));e.appendChild(f)}var l=document.createElement("div");l.style.position="absolute";l.style.cursor="pointer";l.style.fontSize="12px";
l.style.bottom="28px";l.style.color="gray";mxUtils.write(l,mxResources.get("decideLater"));a.isOfflineApp()?l.style.right="20px":(mxUtils.setPrefixedStyle(l.style,"transform","translate(-50%,0)"),l.style.left="50%");this.init=function(){if(mxClient.IS_QUIRKS||8==document.documentMode)l.style.marginLeft=-Math.round(l.clientWidth/2)+"px"};e.appendChild(l);mxEvent.addListener(l,"click",function(){a.hideDialog();var b=Editor.useLocalStorage;a.createFile(a.defaultFilename,null,null,null,null,null,null,
!0);Editor.useLocalStorage=b});var m=document.createElement("div");mxClient.IS_QUIRKS&&(m.style.whiteSpace="nowrap",m.style.cssFloat="left");m.style.border="1px solid #d3d3d3";m.style.borderWidth="1px 0px 1px 0px";m.style.padding="12px 0px 12px 0px";var g=document.createElement("input");g.setAttribute("type","checkbox");g.setAttribute("checked","checked");g.defaultChecked=!0;var k=0,n=document.createElement("p"),f=document.createElement("p");f.style.fontSize="16pt";f.style.padding="0px";f.style.paddingTop=
"4px";f.style.paddingBottom="16px";f.style.margin="0px";f.style.color="gray";mxUtils.write(f,mxResources.get("saveDiagramsTo")+":");e.appendChild(f);"function"===typeof window.DriveClient&&c(IMAGE_PATH+"/google-drive-logo.svg",mxResources.get("googleDrive"),App.MODE_GOOGLE,"drive");"function"===typeof window.OneDriveClient&&c(IMAGE_PATH+"/onedrive-logo.svg",mxResources.get("oneDrive"),App.MODE_ONEDRIVE,"oneDrive");mxClient.IS_IOS&&"device"!=urlParams.storage||c(IMAGE_PATH+"/osa_drive-harddisk.png",
mxResources.get("device"),App.MODE_DEVICE);!isLocalStorage||"1"!=urlParams.browser&&"1"!=urlParams.offline||c(IMAGE_PATH+"/osa_database.png",mxResources.get("browser"),App.MODE_BROWSER);e.appendChild(m);f=document.createElement("p");f.style.marginTop="12px";f.style.marginBottom="6px";f.appendChild(g);h=document.createElement("span");h.style.color="gray";h.style.fontSize="12px";mxUtils.write(h," "+mxResources.get("rememberThisSetting"));f.appendChild(h);mxUtils.br(f);var q=a.getRecent();if(null!=q&&
-0<q.length){var t=document.createElement("select");t.style.marginTop="8px";t.style.width="140px";var p=document.createElement("option");p.setAttribute("value","");p.setAttribute("selected","selected");p.style.textAlign="center";mxUtils.write(p,mxResources.get("openRecent")+"...");t.appendChild(p);for(p=0;p<q.length;p++)(function(a){var b=a.mode;b==App.MODE_GOOGLE?b="googleDrive":b==App.MODE_ONEDRIVE&&(b="oneDrive");var c=document.createElement("option");c.setAttribute("value",a.id);mxUtils.write(c,
-a.title+" ("+mxResources.get(b)+")");t.appendChild(c)})(q[p]);f.appendChild(t);mxEvent.addListener(t,"change",function(b){""!=t.value&&a.loadFile(t.value)})}else f.style.marginTop="20px",m.style.padding="30px 0px 26px 0px";!Graph.fileSupport||mxClient.IS_IE||mxClient.IS_IE11||(q=document.createElement("div"),q.style.cursor="pointer",q.style.padding="18px 0px 6px 0px",q.style.fontSize="12px",q.style.color="gray",mxUtils.write(q,mxResources.get("import")+": "+mxResources.get("gliffy")+", "+mxResources.get("formatVssx")+
+0<q.length){var t=document.createElement("select");t.style.marginTop="8px";t.style.width="140px";var p=document.createElement("option");p.setAttribute("value","");p.setAttribute("selected","selected");p.style.textAlign="center";mxUtils.write(p,mxResources.get("openRecent")+"...");t.appendChild(p);for(p=0;p<q.length;p++)(function(a){var b=a.mode;b==App.MODE_GOOGLE?b="googleDrive":b==App.MODE_ONEDRIVE&&(b="oneDrive");var d=document.createElement("option");d.setAttribute("value",a.id);mxUtils.write(d,
+a.title+" ("+mxResources.get(b)+")");t.appendChild(d)})(q[p]);f.appendChild(t);mxEvent.addListener(t,"change",function(b){""!=t.value&&a.loadFile(t.value)})}else f.style.marginTop="20px",m.style.padding="30px 0px 26px 0px";!Graph.fileSupport||mxClient.IS_IE||mxClient.IS_IE11||(q=document.createElement("div"),q.style.cursor="pointer",q.style.padding="18px 0px 6px 0px",q.style.fontSize="12px",q.style.color="gray",mxUtils.write(q,mxResources.get("import")+": "+mxResources.get("gliffy")+", "+mxResources.get("formatVssx")+
", "+mxResources.get("formatVsdx")+", "+mxResources.get("lucidchart")+"..."),mxEvent.addListener(q,"click",function(){var b=document.createElement("input");b.setAttribute("type","file");mxEvent.addListener(b,"change",function(){null!=b.files&&(a.hideDialog(),a.openFiles(b.files,!0))});b.click()}),f.appendChild(q),m.style.paddingBottom="4px");m.appendChild(f);mxEvent.addListener(h,"click",function(a){g.checked=!g.checked;mxEvent.consume(a)});mxClient.IS_SVG&&isLocalStorage&&"0"!=urlParams.gapi&&(null==
document.documentMode||10<=document.documentMode)&&window.setTimeout(function(){null==a.drive&&(n.style.padding="8px",n.style.fontSize="9pt",n.style.marginTop="-14px",n.innerHTML='<a style="background-color:#dcdcdc;padding:5px;color:black;text-decoration:none;" href="https://plus.google.com/u/0/+DrawIo1/posts/1HTrfsb5wDN" target="_blank"><img border="0" src="'+mxGraph.prototype.warningImage.src+'" align="top"> '+mxResources.get("googleDriveMissingClickHere")+"</a>",e.appendChild(n))},5E3);this.container=
e},SplashDialog=function(a){var b=document.createElement("div");b.style.textAlign="center";a.addLanguageMenu(b,!0);var d=null,d=a.getServiceCount();if(!a.isOffline()&&1<d){d=document.createElement("a");d.setAttribute("href","https://about.draw.io/support/");d.setAttribute("title",mxResources.get("help"));d.setAttribute("target","_blank");d.style.position="absolute";d.style.fontSize="12px";d.style.textDecoration="none";d.style.cursor="pointer";d.style.bottom="22px";d.style.left="26px";d.style.color=
@@ -6802,8 +6802,8 @@ c.style.height="40px";c.style.marginRight="12px";c.style.paddingBottom="4px";var
"/trello-logo.svg",e=mxResources.get("trello")):a.mode==App.MODE_BROWSER?(c.src=IMAGE_PATH+"/osa_database.png",e=mxResources.get("browser")):(c.src=IMAGE_PATH+"/osa_drive-harddisk.png",e=mxResources.get("device"));var f=document.createElement("div");f.style.margin="4px 0px 0px 0px";var h=document.createElement("button");h.className="geBigButton";h.style.overflow="hidden";h.style.width="340px";mxClient.IS_CHROMEAPP||EditorUi.isElectronApp?(f.style.padding="42px 0px 56px 0px",h.style.marginBottom="12px"):
(d.appendChild(c),mxUtils.write(d,e),b.appendChild(d),f.style.border="1px solid #d3d3d3",f.style.borderWidth="1px 0px 1px 0px",f.style.padding="18px 0px 24px 0px",h.style.marginBottom="8px");mxClient.IS_QUIRKS&&(f.style.whiteSpace="nowrap",f.style.cssFloat="left");mxClient.IS_QUIRKS&&(h.style.width="340px");mxUtils.write(h,mxResources.get("createNewDiagram"));mxEvent.addListener(h,"click",function(){a.hideDialog();a.actions.get("new").funct()});f.appendChild(h);mxUtils.br(f);h=document.createElement("button");
h.className="geBigButton";h.style.marginBottom="22px";h.style.overflow="hidden";h.style.width="340px";mxClient.IS_QUIRKS&&(h.style.width="340px");mxUtils.write(h,mxResources.get("openExistingDiagram"));mxEvent.addListener(h,"click",function(){a.actions.get("open").funct()});f.appendChild(h);d="undefined";a.mode==App.MODE_GOOGLE?d=mxResources.get("googleDrive"):a.mode==App.MODE_DROPBOX?d=mxResources.get("dropbox"):a.mode==App.MODE_ONEDRIVE?d=mxResources.get("oneDrive"):a.mode==App.MODE_GITHUB?d=mxResources.get("github"):
-a.mode==App.MODE_TRELLO?d=mxResources.get("trello"):a.mode==App.MODE_DEVICE?d=mxResources.get("device"):a.mode==App.MODE_BROWSER&&(d=mxResources.get("browser"));mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||(e=function(b){h.style.marginBottom="24px";var c=document.createElement("a");c.setAttribute("href","javascript:void(0)");c.style.display="block";c.style.marginTop="6px";mxUtils.write(c,mxResources.get("signOut"));h.style.marginBottom="16px";f.style.paddingBottom="18px";mxEvent.addListener(c,"click",
-function(){a.confirm(mxResources.get("areYouSure"),function(){b()})});f.appendChild(c)},c=null!=a.drive?a.drive.getUser():null,a.mode==App.MODE_GOOGLE&&null!=c?(h.style.marginBottom="24px",e=document.createElement("a"),e.setAttribute("href","javascript:void(0)"),e.style.display="block",e.style.marginTop="6px",mxUtils.write(e,mxResources.get("changeUser")+" ("+c.displayName+")"),h.style.marginBottom="16px",f.style.paddingBottom="18px",mxEvent.addListener(e,"click",function(){a.hideDialog();a.drive.clearUserId();
+a.mode==App.MODE_TRELLO?d=mxResources.get("trello"):a.mode==App.MODE_DEVICE?d=mxResources.get("device"):a.mode==App.MODE_BROWSER&&(d=mxResources.get("browser"));mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||(e=function(b){h.style.marginBottom="24px";var d=document.createElement("a");d.setAttribute("href","javascript:void(0)");d.style.display="block";d.style.marginTop="6px";mxUtils.write(d,mxResources.get("signOut"));h.style.marginBottom="16px";f.style.paddingBottom="18px";mxEvent.addListener(d,"click",
+function(){a.confirm(mxResources.get("areYouSure"),function(){b()})});f.appendChild(d)},c=null!=a.drive?a.drive.getUser():null,a.mode==App.MODE_GOOGLE&&null!=c?(h.style.marginBottom="24px",e=document.createElement("a"),e.setAttribute("href","javascript:void(0)"),e.style.display="block",e.style.marginTop="6px",mxUtils.write(e,mxResources.get("changeUser")+" ("+c.displayName+")"),h.style.marginBottom="16px",f.style.paddingBottom="18px",mxEvent.addListener(e,"click",function(){a.hideDialog();a.drive.clearUserId();
a.drive.setUser(null);gapi.auth.signOut();a.setMode(App.MODE_GOOGLE);a.hideDialog();a.showSplash();a.drive.authorize(!1,mxUtils.bind(this,mxUtils.bind(this,function(){a.hideDialog();a.showSplash()})),mxUtils.bind(this,function(b){a.handleError(b,null,function(){a.hideDialog();a.showSplash()})}))}),f.appendChild(e)):a.mode==App.MODE_ONEDRIVE&&null!=a.oneDrive?e(function(){a.oneDrive.logout()}):a.mode==App.MODE_GITHUB&&null!=a.gitHub?e(function(){a.gitHub.logout();a.openLink("https://www.github.com/logout")}):
a.mode==App.MODE_TRELLO&&null!=a.trello?a.trello.isAuthorized()&&e(function(){a.trello.logout()}):a.mode==App.MODE_DROPBOX&&null!=a.dropbox&&e(function(){a.dropbox.logout();a.openLink("https://www.dropbox.com/logout")}),e=document.createElement("a"),e.setAttribute("href","javascript:void(0)"),e.style.display="block",e.style.marginTop="8px",mxUtils.write(e,mxResources.get("notUsingService",[d])),mxEvent.addListener(e,"click",function(){a.hideDialog(!1);a.setMode(null);a.clearMode();a.showSplash(!0)}),
f.appendChild(e));b.appendChild(f);this.container=b},ConfirmDialog=function(a,b,d,c,e,f,h,l,m){var g=document.createElement("div");g.style.textAlign="center";var k=document.createElement("div");k.style.padding="6px";k.style.overflow="auto";k.style.maxHeight="44px";mxClient.IS_QUIRKS&&(k.style.height="60px");mxUtils.write(k,b);g.appendChild(k);k=document.createElement("div");k.style.textAlign="center";k.style.whiteSpace="nowrap";var n=document.createElement("input");n.setAttribute("type","checkbox");
@@ -6821,65 +6821,65 @@ encodeURIComponent("Check out the diagram I made using @drawio")+"&url="+encodeU
"bottom",k.style.paddingTop="4px",k.style.minWidth="46px",k.className="geBtn",h.appendChild(k))}g=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});h.appendChild(g);k=mxUtils.button(mxResources.get("copy"),function(){l.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?l.select():document.execCommand("selectAll",!1,null);document.execCommand("copy");a.alert(mxResources.get("copiedToClipboard"))});5E5>b.length?mxClient.IS_SF||null!=document.documentMode?
g.className="geBtn gePrimaryBtn":(h.appendChild(k),k.className="geBtn gePrimaryBtn",g.className="geBtn"):(h.appendChild(m),g.className="geBtn",m.className="geBtn gePrimaryBtn");c.appendChild(h);this.container=c};EmbedDialog.showPreviewOption=!0;
var GoogleSitesDialog=function(a,b){function d(){var a=null!=y.getTitle()?y.getTitle():this.defaultFilename;if(F.checked&&""!=q.value){var b="https://www.draw.io/gadget.xml?type=4&diagram="+encodeURIComponent(mxUtils.htmlEntities(q.value));null!=a&&(b+="&title="+encodeURIComponent(a));0<E.length&&(b+="&s="+E);""!=t.value&&"0"!=t.value&&(b+="&border="+t.value);""!=n.value&&(b+="&height="+n.value);b+="&pan="+(p.checked?"1":"0");b+="&zoom="+(v.checked?"1":"0");b+="&fit="+(w.checked?"1":"0");b+="&resize="+
-(u.checked?"1":"0");b+="&x0="+Number(k.value);b+="&y0="+m;e.mathEnabled&&(b+="&math=1");z.checked?b+="&edit=_blank":x.checked&&(b+="&edit="+encodeURIComponent(mxUtils.htmlEntities(window.location.href)));g.value=b}else y.constructor==DriveFile||y.constructor==DropboxFile?(b="https://www.draw.io/gadget.xml?embed=0&diagram=",""!=q.value?b+=encodeURIComponent(mxUtils.htmlEntities(q.value))+"&type=3":(b+=y.getHash().substring(1),b=y.constructor==DropboxFile?b+"&type=2":b+"&type=1"),null!=a&&(b+="&title="+
+(u.checked?"1":"0");b+="&x0="+Number(k.value);b+="&y0="+m;e.mathEnabled&&(b+="&math=1");A.checked?b+="&edit=_blank":x.checked&&(b+="&edit="+encodeURIComponent(mxUtils.htmlEntities(window.location.href)));g.value=b}else y.constructor==DriveFile||y.constructor==DropboxFile?(b="https://www.draw.io/gadget.xml?embed=0&diagram=",""!=q.value?b+=encodeURIComponent(mxUtils.htmlEntities(q.value))+"&type=3":(b+=y.getHash().substring(1),b=y.constructor==DropboxFile?b+"&type=2":b+"&type=1"),null!=a&&(b+="&title="+
encodeURIComponent(a)),""!=n.value&&(a=parseInt(n.value)+parseInt(k.value),b+="&height="+a),g.value=b):g.value=""}var c=document.createElement("div"),e=a.editor.graph,f=e.getGraphBounds(),h=e.view.scale,l=Math.floor(f.x/h-e.view.translate.x),m=Math.floor(f.y/h-e.view.translate.y);mxUtils.write(c,mxResources.get("googleGadget")+":");mxUtils.br(c);var g=document.createElement("input");g.setAttribute("type","text");g.style.marginBottom="8px";g.style.marginTop="2px";g.style.width="410px";c.appendChild(g);
mxUtils.br(c);this.init=function(){g.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?g.select():document.execCommand("selectAll",!1,null)};mxUtils.write(c,mxResources.get("top")+":");var k=document.createElement("input");k.setAttribute("type","text");k.setAttribute("size","4");k.style.marginRight="16px";k.style.marginLeft="4px";k.value=l;c.appendChild(k);mxUtils.write(c,mxResources.get("height")+":");var n=document.createElement("input");n.setAttribute("type",
"text");n.setAttribute("size","4");n.style.marginLeft="4px";n.value=Math.ceil(f.height/h);c.appendChild(n);mxUtils.br(c);f=document.createElement("hr");f.setAttribute("size","1");f.style.marginBottom="16px";f.style.marginTop="16px";c.appendChild(f);mxUtils.write(c,mxResources.get("publicDiagramUrl")+":");mxUtils.br(c);var q=document.createElement("input");q.setAttribute("type","text");q.setAttribute("size","28");q.style.marginBottom="8px";q.style.marginTop="2px";q.style.width="410px";q.value=b||"";
c.appendChild(q);mxUtils.br(c);mxUtils.write(c,mxResources.get("borderWidth")+":");var t=document.createElement("input");t.setAttribute("type","text");t.setAttribute("size","3");t.style.marginBottom="8px";t.style.marginLeft="4px";t.value="0";c.appendChild(t);mxUtils.br(c);var p=document.createElement("input");p.setAttribute("type","checkbox");p.setAttribute("checked","checked");p.defaultChecked=!0;p.style.marginLeft="16px";c.appendChild(p);mxUtils.write(c,mxResources.get("pan")+" ");var v=document.createElement("input");
-v.setAttribute("type","checkbox");v.setAttribute("checked","checked");v.defaultChecked=!0;v.style.marginLeft="8px";c.appendChild(v);mxUtils.write(c,mxResources.get("zoom")+" ");var x=document.createElement("input");x.setAttribute("type","checkbox");x.style.marginLeft="8px";x.setAttribute("title",window.location.href);c.appendChild(x);mxUtils.write(c,mxResources.get("edit")+" ");var z=document.createElement("input");z.setAttribute("type","checkbox");z.style.marginLeft="8px";c.appendChild(z);mxUtils.write(c,
+v.setAttribute("type","checkbox");v.setAttribute("checked","checked");v.defaultChecked=!0;v.style.marginLeft="8px";c.appendChild(v);mxUtils.write(c,mxResources.get("zoom")+" ");var x=document.createElement("input");x.setAttribute("type","checkbox");x.style.marginLeft="8px";x.setAttribute("title",window.location.href);c.appendChild(x);mxUtils.write(c,mxResources.get("edit")+" ");var A=document.createElement("input");A.setAttribute("type","checkbox");A.style.marginLeft="8px";c.appendChild(A);mxUtils.write(c,
mxResources.get("asNew")+" ");mxUtils.br(c);var u=document.createElement("input");u.setAttribute("type","checkbox");u.setAttribute("checked","checked");u.defaultChecked=!0;u.style.marginLeft="16px";c.appendChild(u);mxUtils.write(c,mxResources.get("resize")+" ");var w=document.createElement("input");w.setAttribute("type","checkbox");w.style.marginLeft="8px";c.appendChild(w);mxUtils.write(c,mxResources.get("fit")+" ");var F=document.createElement("input");F.setAttribute("type","checkbox");F.style.marginLeft=
-"8px";c.appendChild(F);mxUtils.write(c,mxResources.get("embed")+" ");var E=a.getBasenames().join(";"),y=a.getCurrentFile();mxEvent.addListener(p,"change",d);mxEvent.addListener(v,"change",d);mxEvent.addListener(u,"change",d);mxEvent.addListener(w,"change",d);mxEvent.addListener(x,"change",d);mxEvent.addListener(z,"change",d);mxEvent.addListener(F,"change",d);mxEvent.addListener(n,"change",d);mxEvent.addListener(k,"change",d);mxEvent.addListener(t,"change",d);mxEvent.addListener(q,"change",d);d();
+"8px";c.appendChild(F);mxUtils.write(c,mxResources.get("embed")+" ");var E=a.getBasenames().join(";"),y=a.getCurrentFile();mxEvent.addListener(p,"change",d);mxEvent.addListener(v,"change",d);mxEvent.addListener(u,"change",d);mxEvent.addListener(w,"change",d);mxEvent.addListener(x,"change",d);mxEvent.addListener(A,"change",d);mxEvent.addListener(F,"change",d);mxEvent.addListener(n,"change",d);mxEvent.addListener(k,"change",d);mxEvent.addListener(t,"change",d);mxEvent.addListener(q,"change",d);d();
mxEvent.addListener(g,"click",function(){g.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?g.select():document.execCommand("selectAll",!1,null)});f=document.createElement("div");f.style.paddingTop="12px";f.style.textAlign="right";h=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});h.className="geBtn gePrimaryBtn";f.appendChild(h);c.appendChild(f);this.container=c},CreateGraphDialog=function(a,b,d){var c=document.createElement("div");c.style.textAlign=
"right";this.init=function(){var b=document.createElement("div");b.style.position="relative";b.style.border="1px solid gray";b.style.width="100%";b.style.height="360px";b.style.overflow="hidden";b.style.marginBottom="16px";mxEvent.disableContextMenu(b);c.appendChild(b);var f=new Graph(b);f.setCellsCloneable(!0);f.setPanning(!0);f.setAllowDanglingEdges(!1);f.connectionHandler.select=!1;f.view.setTranslate(20,20);f.border=20;f.panningHandler.useLeftButtonForPanning=!0;var h="curved=1;";f.cellRenderer.installCellOverlayListeners=
-function(a,b,c){mxCellRenderer.prototype.installCellOverlayListeners.apply(this,arguments);mxEvent.addListener(c.node,mxClient.IS_POINTER?"pointerdown":"mousedown",function(c){b.fireEvent(new mxEventObject("pointerdown","event",c,"state",a))});!mxClient.IS_POINTER&&mxClient.IS_TOUCH&&mxEvent.addListener(c.node,"touchstart",function(c){b.fireEvent(new mxEventObject("pointerdown","event",c,"state",a))})};f.getAllConnectionConstraints=function(){return null};f.connectionHandler.marker.highlight.keepOnTop=
-!1;f.connectionHandler.createEdgeState=function(a){a=f.createEdge(null,null,null,null,null,h);return new mxCellState(this.graph.view,a,this.graph.getCellStyle(a))};var l=f.getDefaultParent(),m=mxUtils.bind(this,function(a){var b=new mxCellOverlay(this.connectImage,"Add outgoing");b.cursor="hand";b.addListener(mxEvent.CLICK,function(b,c){f.connectionHandler.reset();f.clearSelection();var d=f.getCellGeometry(a),g;n(function(){g=f.insertVertex(l,null,"Entry",d.x,d.y,80,30,"rounded=1;");m(g);f.view.refresh(g);
-f.insertEdge(l,null,"",a,g,h)},function(){f.scrollCellToVisible(g)})});b.addListener("pointerdown",function(a,b){var c=b.getProperty("event"),d=b.getProperty("state");f.popupMenuHandler.hideMenu();f.stopEditing(!1);var g=mxUtils.convertPoint(f.container,mxEvent.getClientX(c),mxEvent.getClientY(c));f.connectionHandler.start(d,g.x,g.y);f.isMouseDown=!0;f.isMouseTrigger=mxEvent.isMouseEvent(c);mxEvent.consume(c)});f.addCellOverlay(a,b)});f.getModel().beginUpdate();var g;try{g=f.insertVertex(l,null,"Start",
+function(a,b,d){mxCellRenderer.prototype.installCellOverlayListeners.apply(this,arguments);mxEvent.addListener(d.node,mxClient.IS_POINTER?"pointerdown":"mousedown",function(d){b.fireEvent(new mxEventObject("pointerdown","event",d,"state",a))});!mxClient.IS_POINTER&&mxClient.IS_TOUCH&&mxEvent.addListener(d.node,"touchstart",function(d){b.fireEvent(new mxEventObject("pointerdown","event",d,"state",a))})};f.getAllConnectionConstraints=function(){return null};f.connectionHandler.marker.highlight.keepOnTop=
+!1;f.connectionHandler.createEdgeState=function(a){a=f.createEdge(null,null,null,null,null,h);return new mxCellState(this.graph.view,a,this.graph.getCellStyle(a))};var l=f.getDefaultParent(),m=mxUtils.bind(this,function(a){var b=new mxCellOverlay(this.connectImage,"Add outgoing");b.cursor="hand";b.addListener(mxEvent.CLICK,function(b,d){f.connectionHandler.reset();f.clearSelection();var c=f.getCellGeometry(a),g;n(function(){g=f.insertVertex(l,null,"Entry",c.x,c.y,80,30,"rounded=1;");m(g);f.view.refresh(g);
+f.insertEdge(l,null,"",a,g,h)},function(){f.scrollCellToVisible(g)})});b.addListener("pointerdown",function(a,b){var d=b.getProperty("event"),c=b.getProperty("state");f.popupMenuHandler.hideMenu();f.stopEditing(!1);var g=mxUtils.convertPoint(f.container,mxEvent.getClientX(d),mxEvent.getClientY(d));f.connectionHandler.start(c,g.x,g.y);f.isMouseDown=!0;f.isMouseTrigger=mxEvent.isMouseEvent(d);mxEvent.consume(d)});f.addCellOverlay(a,b)});f.getModel().beginUpdate();var g;try{g=f.insertVertex(l,null,"Start",
0,0,80,30,"ellipse"),m(g)}finally{f.getModel().endUpdate()}var k;"horizontalTree"==d?(k=new mxCompactTreeLayout(f),k.edgeRouting=!1,k.levelDistance=30,h="edgeStyle=elbowEdgeStyle;elbow=horizontal;"):"verticalTree"==d?(k=new mxCompactTreeLayout(f,!1),k.edgeRouting=!1,k.levelDistance=30,h="edgeStyle=elbowEdgeStyle;elbow=vertical;"):"radialTree"==d?(k=new mxRadialTreeLayout(f,!1),k.edgeRouting=!1,k.levelDistance=80):"verticalFlow"==d?k=new mxHierarchicalLayout(f,mxConstants.DIRECTION_NORTH):"horizontalFlow"==
-d?k=new mxHierarchicalLayout(f,mxConstants.DIRECTION_WEST):"organic"==d?(k=new mxFastOrganicLayout(f,!1),k.forceConstant=80):"circle"==d&&(k=new mxCircleLayout(f));if(null!=k){var n=function(a,b){f.getModel().beginUpdate();try{null!=a&&a(),k.execute(f.getDefaultParent(),g)}catch(u){throw u;}finally{var c=new mxMorphing(f);c.addListener(mxEvent.DONE,mxUtils.bind(this,function(){f.getModel().endUpdate();null!=b&&b()}));c.startAnimation()}},q=mxEdgeHandler.prototype.connect;mxEdgeHandler.prototype.connect=
-function(a,b,c,d,g){q.apply(this,arguments);n()};f.resizeCell=function(){mxGraph.prototype.resizeCell.apply(this,arguments);n()};f.connectionHandler.addListener(mxEvent.CONNECT,function(){n()})}var t=mxUtils.button(mxResources.get("close"),function(){a.confirm(mxResources.get("areYouSure"),function(){null!=b.parentNode&&(f.destroy(),b.parentNode.removeChild(b));a.hideDialog()})});t.className="geBtn";a.editor.cancelFirst&&c.appendChild(t);var p=mxUtils.button(mxResources.get("insert"),function(){f.clearCellOverlays();
-var c=a.editor.graph.getFreeInsertPoint(),c=a.editor.graph.importCells(f.getModel().getChildren(f.getDefaultParent()),c.x,c.y),d=a.editor.graph.view,g=d.getBounds(c);g.x-=d.translate.x;g.y-=d.translate.y;a.editor.graph.scrollRectToVisible(g);a.editor.graph.setSelectionCells(c);null!=b.parentNode&&(f.destroy(),b.parentNode.removeChild(b));a.hideDialog()});c.appendChild(p);p.className="geBtn gePrimaryBtn";a.editor.cancelFirst||c.appendChild(t)};this.container=c};
+d?k=new mxHierarchicalLayout(f,mxConstants.DIRECTION_WEST):"organic"==d?(k=new mxFastOrganicLayout(f,!1),k.forceConstant=80):"circle"==d&&(k=new mxCircleLayout(f));if(null!=k){var n=function(a,b){f.getModel().beginUpdate();try{null!=a&&a(),k.execute(f.getDefaultParent(),g)}catch(u){throw u;}finally{var d=new mxMorphing(f);d.addListener(mxEvent.DONE,mxUtils.bind(this,function(){f.getModel().endUpdate();null!=b&&b()}));d.startAnimation()}},q=mxEdgeHandler.prototype.connect;mxEdgeHandler.prototype.connect=
+function(a,b,d,c,g){q.apply(this,arguments);n()};f.resizeCell=function(){mxGraph.prototype.resizeCell.apply(this,arguments);n()};f.connectionHandler.addListener(mxEvent.CONNECT,function(){n()})}var t=mxUtils.button(mxResources.get("close"),function(){a.confirm(mxResources.get("areYouSure"),function(){null!=b.parentNode&&(f.destroy(),b.parentNode.removeChild(b));a.hideDialog()})});t.className="geBtn";a.editor.cancelFirst&&c.appendChild(t);var p=mxUtils.button(mxResources.get("insert"),function(){f.clearCellOverlays();
+var d=a.editor.graph.getFreeInsertPoint(),d=a.editor.graph.importCells(f.getModel().getChildren(f.getDefaultParent()),d.x,d.y),c=a.editor.graph.view,g=c.getBounds(d);g.x-=c.translate.x;g.y-=c.translate.y;a.editor.graph.scrollRectToVisible(g);a.editor.graph.setSelectionCells(d);null!=b.parentNode&&(f.destroy(),b.parentNode.removeChild(b));a.hideDialog()});c.appendChild(p);p.className="geBtn gePrimaryBtn";a.editor.cancelFirst||c.appendChild(t)};this.container=c};
CreateGraphDialog.prototype.connectImage=new mxImage(mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RjQ3OTk0QjMyRDcyMTFFNThGQThGNDVBMjNBMjFDMzkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RjQ3OTk0QjQyRDcyMTFFNThGQThGNDVBMjNBMjFDMzkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyRjA0N0I2MjJENzExMUU1OEZBOEY0NUEyM0EyMUMzOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGNDc5OTRCMjJENzIxMUU1OEZBOEY0NUEyM0EyMUMzOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PjIf+MgAAATlSURBVHjanFZraFxFFD735u4ru3ls0yZG26ShgmJoKK1J2vhIYzBgRdtIURHyw1hQUH9IxIgI2h8iCEUF/1RRlNQYCsYfCTHVhiTtNolpZCEStqSC22xIsrs1bDfu7t37Gs/cO3Ozxs1DBw73zpk555vzmHNGgJ0NYatFgmNLYUHYUoHASMz5ijmgVLmxgfKCUiBxC4ACJAeSG8nb1dVVOTc3dyoSibwWDofPBIPBJzo7O8vpGtvjpDICGztxkciECpF2LS0tvZtOpwNkk5FKpcYXFxffwL1+JuPgllPj8nk1F6RoaGjoKCqZ5ApljZDZO4SMRA0SuG2QUJIQRV8HxMOM9vf3H0ZZH9Nhg20MMl2QkFwjIyNHWlpahtADnuUMwLcRHX5aNSBjCJYEsSSLUeLEbhGe3ytCmQtA1/XY+Pj46dbW1iDuyCJp9BC5ycBj4hoeHq5ra2sbw0Xn1ZgBZ+dVkA1Lc+6p0Ck2p0QS4Ox9EhwpEylYcmBg4LH29vYQLilIOt0u5FhDfevNZDI/u93uw6PLOrwTUtjxrbPYbhD42WgMrF8JmR894ICmCgnQjVe8Xu8pXEkzMJKbuo5oNPomBbm1ZsD7s2kwFA1JZ6QBUXWT1nmGNc/qoMgavDcrQzxjQGFh4aOYIJ0sFAXcEtui4uLiVjr5KpSBVFYDDZVrWUaKRRWSAYeK0fmKykgDXbVoNaPChRuyqdDv97czL5nXxQbq6empQmsaklkDBiNpSwFVrmr2P6UyicD5piI4f8wHh0oEm8/p4h8pyGiEWvVQd3e3nxtjAzU1NR2jP7NRBWQ8GbdEzzJAmc0V3RR4cI8Dvmwuhc8fKUFA0d6/ltHg5p+Kuaejo6OeY0jcNJ/PV00ZS0nFUoZRvvFS1bZFsKHCCQ2Pl8H0chY+C96B6ZUsrCQ1qKtwQVFRURW/QhIXMAzDPAZ6BgOr8tTa8dDxCmiYGApaJbJMxSzV+brE8pdgWkcpY5dbMF1AR9XH8/xu2ilef48bvn92n82ZwHh+8ssqTEXS9p7dHisiiURikd8PbpExNTU1UVNTA3V3Y7lC16n0gpB/NwpNcZjfa7dScC4Qh0kOQCwnlEgi3F/hMVl9fX0zvKrzSk2lfXjRhj0eT/2rvWG4+Pta3oJY7XfC3hInXAv/ldeFLx8shQ+eqQL0UAAz7ylkpej5eNZRVBWL6BU6ef14OYiY1oqyTtmsavr/5koaRucT1pzx+ZpL1+GV5nLutksUgIcmtwTRiuuVZXnU5XId7A2swJkfFsymRWC91hHg1Viw6x23+7vn9sPJ+j20BE1hCXqSWaNSQ8ScbknRZWxub1PGCw/fBV+c3AeijlUbY5bBjEqr9GuYZP4jP41WudGSC6erTRCqdGZm5i1WvXWeDHnbBCZGc2Nj4wBl/hZOwrmBBfgmlID1HmGJutHaF+tKoevp/XCgstDkjo2NtWKLuc6AVN4mNjY+s1XQxoenOoFuDPHGtnRbJj9ej5GvL0dI7+giuRyMk1giazc+DP6vgUDgOJVlOv7R+PJ12QIeL6SyeDz+Kfp8ZrNWjgDTsVjsQ7qXyTjztXJhm9ePxFLfMTg4eG9tbe1RTP9KFFYQfHliYmIS69kCC7jKYmKwxxD5P88tkVkqbPPcIps9t4T/+HjcuJ/s5BFJgf4WYABCtxGuxIZ90gAAAABJRU5ErkJggg==":
IMAGE_PATH+"/handle-connect.png",26,26);
var BackgroundImageDialog=function(a,b){var d=document.createElement("div");d.style.whiteSpace="nowrap";var c=document.createElement("h2");mxUtils.write(c,mxResources.get("backgroundImage"));c.style.marginTop="0px";d.appendChild(c);mxUtils.write(d,mxResources.get("image")+" "+mxResources.get("url")+":");mxUtils.br(d);var c=a.editor.graph.backgroundImage,e=document.createElement("input");e.setAttribute("type","text");e.style.marginTop="4px";e.style.marginBottom="4px";e.style.width="350px";e.value=
null!=c?c.src:"";var f=!1,h=function(){f||""==e.value||a.isOffline()?(l.value="",m.value=""):a.loadImage(mxUtils.trim(e.value),function(a){l.value=a.width;m.value=a.height},function(){a.showError(mxResources.get("error"),mxResources.get("fileNotFound"),mxResources.get("ok"));e.value="";l.value="";m.value=""})};this.init=function(){e.focus();if(Graph.fileSupport){e.setAttribute("placeholder",mxResources.get("dragImagesHere"));var b=d.parentNode,c=null;mxEvent.addListener(b,"dragleave",function(a){null!=
-c&&(c.parentNode.removeChild(c),c=null);a.stopPropagation();a.preventDefault()});mxEvent.addListener(b,"dragover",mxUtils.bind(this,function(d){null==c&&(!mxClient.IS_IE||10<document.documentMode)&&(c=a.highlightElement(b));d.stopPropagation();d.preventDefault()}));mxEvent.addListener(b,"drop",mxUtils.bind(this,function(b){null!=c&&(c.parentNode.removeChild(c),c=null);if(0<b.dataTransfer.files.length)a.importFiles(b.dataTransfer.files,0,0,a.maxBackgroundSize,function(a,b,c,d,g,k){e.value=a;h()},function(){},
+c&&(c.parentNode.removeChild(c),c=null);a.stopPropagation();a.preventDefault()});mxEvent.addListener(b,"dragover",mxUtils.bind(this,function(d){null==c&&(!mxClient.IS_IE||10<document.documentMode)&&(c=a.highlightElement(b));d.stopPropagation();d.preventDefault()}));mxEvent.addListener(b,"drop",mxUtils.bind(this,function(b){null!=c&&(c.parentNode.removeChild(c),c=null);if(0<b.dataTransfer.files.length)a.importFiles(b.dataTransfer.files,0,0,a.maxBackgroundSize,function(a,b,d,c,g,k){e.value=a;h()},function(){},
function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()},!0,a.maxBackgroundBytes,a.maxBackgroundBytes);else if(0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")){var d=b.dataTransfer.getData("text/uri-list");/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(d)&&(e.value=decodeURIComponent(d),h())}b.stopPropagation();b.preventDefault()}),!1)}};d.appendChild(e);mxUtils.br(d);mxUtils.br(d);mxUtils.write(d,mxResources.get("width")+":");var l=document.createElement("input");
l.setAttribute("type","text");l.style.width="60px";l.style.marginLeft="4px";l.style.marginRight="16px";l.value=null!=c?c.width:"";d.appendChild(l);mxUtils.write(d,mxResources.get("height")+":");var m=document.createElement("input");m.setAttribute("type","text");m.style.width="60px";m.style.marginLeft="4px";m.style.marginRight="16px";m.value=null!=c?c.height:"";d.appendChild(m);c=mxUtils.button(mxResources.get("reset"),function(){e.value="";l.value="";m.value="";f=!1});mxEvent.addListener(c,"mousedown",
function(){f=!0});mxEvent.addListener(c,"touchstart",function(){f=!0});c.className="geBtn";c.width="100";d.appendChild(c);mxUtils.br(d);mxEvent.addListener(e,"change",h);ImageDialog.filePicked=function(a){a.action==google.picker.Action.PICKED&&null!=a.docs[0].thumbnails&&(a=a.docs[0].thumbnails[a.docs[0].thumbnails.length-1],null!=a&&(e.value=a.url,h()));e.focus()};c=document.createElement("div");c.style.marginTop="40px";c.style.textAlign="right";var g=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});
g.className="geBtn";a.editor.cancelFirst&&c.appendChild(g);if(!a.isOffline()&&"undefined"!=typeof google&&"undefined"!=typeof google.picker&&window.self===window.top){var k=mxUtils.button(mxResources.get("search"),function(){if(null==a.imageSearchPicker){var b=(new google.picker.PickerBuilder).setLocale(mxLanguage).addView(google.picker.ViewId.IMAGE_SEARCH).enableFeature(google.picker.Feature.NAV_HIDDEN);a.imageSearchPicker=b.setCallback(function(a){ImageDialog.filePicked(a)}).build()}a.imageSearchPicker.setVisible(!0)});
k.className="geBtn";c.appendChild(k);null!=a.drive&&"1"==urlParams.photos&&(k=mxUtils.button(mxResources.get("googlePlus"),function(){a.spinner.spin(document.body,mxResources.get("authorizing"))&&a.drive.checkToken(mxUtils.bind(this,function(){a.spinner.stop();if(null==a.photoPicker){var b=gapi.auth.getToken().access_token,b=(new google.picker.PickerBuilder).setAppId(a.drive.appId).setLocale(mxLanguage).setOAuthToken(b).addView(google.picker.ViewId.PHOTOS).addView(google.picker.ViewId.PHOTO_ALBUMS).addView(google.picker.ViewId.PHOTO_UPLOAD);
-a.photoPicker=b.setCallback(function(a){ImageDialog.filePicked(a)}).build()}a.photoPicker.setVisible(!0)}))}),k.className="geBtn",c.appendChild(k))}k=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();b(""!=e.value?new mxImage(mxUtils.trim(e.value),l.value,m.value):null)});k.className="geBtn gePrimaryBtn";c.appendChild(k);a.editor.cancelFirst||c.appendChild(g);d.appendChild(c);this.container=d},ParseDialog=function(a,b,d){function c(b,c){var d=b.split("\n");if("plantUmlPng"==c||"plantUmlSvg"==
-c||"plantUmlTxt"==c){var d="plantUmlTxt"==c?PLANT_URL+"/txt/":"plantUmlPng"==c?PLANT_URL+"/png/":PLANT_URL+"/svg/",g=a.editor.graph;if(a.spinner.spin(document.body,mxResources.get("inserting"))){var k=function(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?"_":"?"},e=function(a,b,c){c1=a>>2;c2=(a&3)<<4|b>>4;c3=(b&15)<<2|c>>6;c4=c&63;r="";r+=k(c1&63);r+=k(c2&63);r+=k(c3&63);return r+=
-k(c4&63)},n=new XMLHttpRequest;n.open("GET",d+function(a){r="";for(h=0;h<a.length;h+=3)r=h+2==a.length?r+e(a.charCodeAt(h),a.charCodeAt(h+1),0):h+1==a.length?r+e(a.charCodeAt(h),0,0):r+e(a.charCodeAt(h),a.charCodeAt(h+1),a.charCodeAt(h+2));return r}(g.bytesToString(pako.deflateRaw(unescape(encodeURIComponent(b))))),!0);"plantUmlTxt"!=c&&(n.responseType="blob");n.onload=function(d){if(200<=this.status&&300>this.status)if("plantUmlTxt"==c){a.spinner.stop();g.getModel().beginUpdate();try{cell=g.insertVertex(null,
-null,"<pre>"+this.response+"</pre>",f.x,f.y,1,1,"text;html=1;overflow=fill;"),g.updateCellSize(cell,!0)}finally{g.getModel().endUpdate()}g.setSelectionCell(cell);g.scrollCellToVisible(g.getSelectionCell())}else d=new FileReader,d.readAsDataURL(this.response),d.onload=function(c){var d=new Image;d.onload=function(){a.spinner.stop();var k=d.width,n=d.height;if(0==k&&0==n){var u=c.target.result,e=u.indexOf(","),u=decodeURIComponent(escape(atob(u.substring(e+1)))),u=mxUtils.parseXml(u).getElementsByTagName("svg");
-0<u.length&&(k=parseFloat(u[0].getAttribute("width")),n=parseFloat(u[0].getAttribute("height")))}g.getModel().beginUpdate();try{cell=g.insertVertex(null,null,b,f.x,f.y,k,n,"shape=image;noLabel=1;verticalAlign=top;aspect=fixed;imageAspect=0;image="+a.convertDataUri(c.target.result)+";")}finally{g.getModel().endUpdate()}g.setSelectionCell(cell);g.scrollCellToVisible(g.getSelectionCell())};d.src=c.target.result},d.onerror=function(b){a.handleError(b)};else a.spinner.stop(),a.handleError(d)};n.onerror=
-function(b){a.handleError(b)};n.send()}}else if("table"==c){for(var u=null,w=[],q=0,h=0;h<d.length;h++)if(n=mxUtils.trim(d[h]),"create table"==n.substring(0,12).toLowerCase())n=mxUtils.trim(n.substring(12)),"("==n.charAt(n.length-1)&&(n=n.substring(0,n.lastIndexOf(" "))),u=new mxCell(n,new mxGeometry(q,0,160,26),"swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=#e0e0e0;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;align=center;"),
+a.photoPicker=b.setCallback(function(a){ImageDialog.filePicked(a)}).build()}a.photoPicker.setVisible(!0)}))}),k.className="geBtn",c.appendChild(k))}k=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();b(""!=e.value?new mxImage(mxUtils.trim(e.value),l.value,m.value):null)});k.className="geBtn gePrimaryBtn";c.appendChild(k);a.editor.cancelFirst||c.appendChild(g);d.appendChild(c);this.container=d},ParseDialog=function(a,b,d){function c(b,d){var c=b.split("\n");if("plantUmlPng"==d||"plantUmlSvg"==
+d||"plantUmlTxt"==d){var c="plantUmlTxt"==d?PLANT_URL+"/txt/":"plantUmlPng"==d?PLANT_URL+"/png/":PLANT_URL+"/svg/",g=a.editor.graph;if(a.spinner.spin(document.body,mxResources.get("inserting"))){var k=function(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?"_":"?"},e=function(a,b,c){c1=a>>2;c2=(a&3)<<4|b>>4;c3=(b&15)<<2|c>>6;c4=c&63;r="";r+=k(c1&63);r+=k(c2&63);r+=k(c3&63);return r+=
+k(c4&63)},n=new XMLHttpRequest;n.open("GET",c+function(a){r="";for(h=0;h<a.length;h+=3)r=h+2==a.length?r+e(a.charCodeAt(h),a.charCodeAt(h+1),0):h+1==a.length?r+e(a.charCodeAt(h),0,0):r+e(a.charCodeAt(h),a.charCodeAt(h+1),a.charCodeAt(h+2));return r}(g.bytesToString(pako.deflateRaw(unescape(encodeURIComponent(b))))),!0);"plantUmlTxt"!=d&&(n.responseType="blob");n.onload=function(c){if(200<=this.status&&300>this.status)if("plantUmlTxt"==d){a.spinner.stop();g.getModel().beginUpdate();try{cell=g.insertVertex(null,
+null,"<pre>"+this.response+"</pre>",f.x,f.y,1,1,"text;html=1;overflow=fill;"),g.updateCellSize(cell,!0)}finally{g.getModel().endUpdate()}g.setSelectionCell(cell);g.scrollCellToVisible(g.getSelectionCell())}else c=new FileReader,c.readAsDataURL(this.response),c.onload=function(c){var d=new Image;d.onload=function(){a.spinner.stop();var k=d.width,n=d.height;if(0==k&&0==n){var u=c.target.result,e=u.indexOf(","),u=decodeURIComponent(escape(atob(u.substring(e+1)))),u=mxUtils.parseXml(u).getElementsByTagName("svg");
+0<u.length&&(k=parseFloat(u[0].getAttribute("width")),n=parseFloat(u[0].getAttribute("height")))}g.getModel().beginUpdate();try{cell=g.insertVertex(null,null,b,f.x,f.y,k,n,"shape=image;noLabel=1;verticalAlign=top;aspect=fixed;imageAspect=0;image="+a.convertDataUri(c.target.result)+";")}finally{g.getModel().endUpdate()}g.setSelectionCell(cell);g.scrollCellToVisible(g.getSelectionCell())};d.src=c.target.result},c.onerror=function(b){a.handleError(b)};else a.spinner.stop(),a.handleError(c)};n.onerror=
+function(b){a.handleError(b)};n.send()}}else if("table"==d){for(var u=null,w=[],q=0,h=0;h<c.length;h++)if(n=mxUtils.trim(c[h]),"create table"==n.substring(0,12).toLowerCase())n=mxUtils.trim(n.substring(12)),"("==n.charAt(n.length-1)&&(n=n.substring(0,n.lastIndexOf(" "))),u=new mxCell(n,new mxGeometry(q,0,160,26),"swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=#e0e0e0;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;align=center;"),
u.vertex=!0,w.push(u),n=a.editor.graph.getPreferredSizeForCell(m),null!=n&&(u.geometry.width=n.width+10);else if(null!=u&&")"==n.charAt(0))q+=u.geometry.width+40,u=null;else if("("!=n&&null!=u&&(n=n.substring(0,","==n.charAt(n.length-1)?n.length-1:n.length),"primary key"!=n.substring(0,11).toLowerCase())){var l=n.toLowerCase().indexOf("primary key"),n=n.replace(/primary key/i,""),m=new mxCell(n,new mxGeometry(0,0,90,26),"shape=partialRectangle;top=0;left=0;right=0;bottom=0;align=left;verticalAlign=top;spacingTop=-2;fillColor=none;spacingLeft=34;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;dropTarget=0;");
m.vertex=!0;n=sb.cloneCell(m,0<l?"PK":"");n.connectable=!1;n.style="shape=partialRectangle;top=0;left=0;bottom=0;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[];portConstraint=eastwest;part=1;";n.geometry.width=30;n.geometry.height=26;m.insert(n);n=a.editor.graph.getPreferredSizeForCell(m);null!=n&&u.geometry.width<n.width+10&&(u.geometry.width=Math.min(220,n.width+10));u.insert(m);u.geometry.height+=26}0<w.length&&(g=a.editor.graph,
-d=g.view,n=g.getGraphBounds(),g.setSelectionCells(g.importCells(w,Math.ceil(Math.max(0,n.x/d.scale-d.translate.x)+4*g.gridSize),Math.ceil(Math.max(0,(n.y+n.height)/d.scale-d.translate.y)+4*g.gridSize))),g.scrollCellToVisible(g.getSelectionCell()))}else if("list"==c){if(0<d.length){g=a.editor.graph;u=new mxCell(d[0],new mxGeometry(0,0,160,30),"swimlane;fontStyle=1;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;");
-u.vertex=!0;n=g.getPreferredSizeForCell(u);null!=n&&u.geometry.width<n.width+10&&(u.geometry.width=n.width+10);m=[u];if(1<d.length)for(h=1;h<d.length;h++)"--"==d[h]?(n=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;"),n.vertex=!0,u.geometry.height+=n.geometry.height,u.insert(n),m.push(n)):0<d[h].length&&";"!=d[h].charAt(0)&&(q=new mxCell(d[h],
+c=g.view,n=g.getGraphBounds(),g.setSelectionCells(g.importCells(w,Math.ceil(Math.max(0,n.x/c.scale-c.translate.x)+4*g.gridSize),Math.ceil(Math.max(0,(n.y+n.height)/c.scale-c.translate.y)+4*g.gridSize))),g.scrollCellToVisible(g.getSelectionCell()))}else if("list"==d){if(0<c.length){g=a.editor.graph;u=new mxCell(c[0],new mxGeometry(0,0,160,30),"swimlane;fontStyle=1;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;");
+u.vertex=!0;n=g.getPreferredSizeForCell(u);null!=n&&u.geometry.width<n.width+10&&(u.geometry.width=n.width+10);m=[u];if(1<c.length)for(h=1;h<c.length;h++)"--"==c[h]?(n=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;"),n.vertex=!0,u.geometry.height+=n.geometry.height,u.insert(n),m.push(n)):0<c[h].length&&";"!=c[h].charAt(0)&&(q=new mxCell(c[h],
new mxGeometry(0,0,60,26),"text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),q.vertex=!0,n=g.getPreferredSizeForCell(q),null!=n&&q.geometry.width<n.width&&(q.geometry.width=n.width),u.geometry.width=Math.max(u.geometry.width,q.geometry.width),u.geometry.height+=q.geometry.height,u.insert(q),m.push(q));g.getModel().beginUpdate();try{u=g.importCells([u],f.x,f.y)[0],g.fireEvent(new mxEventObject("cellsInserted",
-"cells",[u].concat(u.children)))}finally{g.getModel().endUpdate()}g.setSelectionCell(u);g.scrollCellToVisible(g.getSelectionCell())}}else{for(var m=function(a){var b=A[a];null==b&&(b=new mxCell(a,new mxGeometry(0,0,80,30),"whiteSpace=wrap;html=1;"),b.vertex=!0,A[a]=b,w.push(b));return b},A={},w=[],h=0;h<d.length;h++)if(";"!=d[h].charAt(0)){var B=d[h].split("->");2<=B.length&&(q=m(B[0]),l=m(B[B.length-1]),B=new mxCell(2<B.length?B[1]:"",new mxGeometry),B.edge=!0,q.insertEdge(B,!0),l.insertEdge(B,!1),
-w.push(B))}if(0<w.length){d=document.createElement("div");d.style.visibility="hidden";document.body.appendChild(d);g=new Graph(d);g.getModel().beginUpdate();try{w=g.importCells(w);for(h=0;h<w.length;h++)g.getModel().isVertex(w[h])&&(n=g.getPreferredSizeForCell(w[h]),w[h].geometry.width=Math.max(w[h].geometry.width,n.width),w[h].geometry.height=Math.max(w[h].geometry.height,n.height));u=new mxFastOrganicLayout(g);u.disableEdgeStyle=!1;u.forceConstant=120;u.execute(g.getDefaultParent())}finally{g.getModel().endUpdate()}g.clearCellOverlays();
-m=[];a.editor.graph.getModel().beginUpdate();try{m=a.editor.graph.importCells(g.getModel().getChildren(g.getDefaultParent()),f.x,f.y),a.editor.graph.fireEvent(new mxEventObject("cellsInserted","cells",m))}finally{a.editor.graph.getModel().endUpdate()}a.editor.graph.setSelectionCells(m[0]);a.editor.graph.scrollCellToVisible(a.editor.graph.getSelectionCell());g.destroy();d.parentNode.removeChild(d)}}}function e(){return"list"==l.value?"Person\n-name: String\n-birthDate: Date\n--\n+getName(): String\n+setName(String): void\n+isBirthday(): boolean":
+"cells",[u].concat(u.children)))}finally{g.getModel().endUpdate()}g.setSelectionCell(u);g.scrollCellToVisible(g.getSelectionCell())}}else{for(var m=function(a){var b=z[a];null==b&&(b=new mxCell(a,new mxGeometry(0,0,80,30),"whiteSpace=wrap;html=1;"),b.vertex=!0,z[a]=b,w.push(b));return b},z={},w=[],h=0;h<c.length;h++)if(";"!=c[h].charAt(0)){var B=c[h].split("->");2<=B.length&&(q=m(B[0]),l=m(B[B.length-1]),B=new mxCell(2<B.length?B[1]:"",new mxGeometry),B.edge=!0,q.insertEdge(B,!0),l.insertEdge(B,!1),
+w.push(B))}if(0<w.length){c=document.createElement("div");c.style.visibility="hidden";document.body.appendChild(c);g=new Graph(c);g.getModel().beginUpdate();try{w=g.importCells(w);for(h=0;h<w.length;h++)g.getModel().isVertex(w[h])&&(n=g.getPreferredSizeForCell(w[h]),w[h].geometry.width=Math.max(w[h].geometry.width,n.width),w[h].geometry.height=Math.max(w[h].geometry.height,n.height));u=new mxFastOrganicLayout(g);u.disableEdgeStyle=!1;u.forceConstant=120;u.execute(g.getDefaultParent())}finally{g.getModel().endUpdate()}g.clearCellOverlays();
+m=[];a.editor.graph.getModel().beginUpdate();try{m=a.editor.graph.importCells(g.getModel().getChildren(g.getDefaultParent()),f.x,f.y),a.editor.graph.fireEvent(new mxEventObject("cellsInserted","cells",m))}finally{a.editor.graph.getModel().endUpdate()}a.editor.graph.setSelectionCells(m[0]);a.editor.graph.scrollCellToVisible(a.editor.graph.getSelectionCell());g.destroy();c.parentNode.removeChild(c)}}}function e(){return"list"==l.value?"Person\n-name: String\n-birthDate: Date\n--\n+getName(): String\n+setName(String): void\n+isBirthday(): boolean":
"table"==l.value?"CREATE TABLE Suppliers\n(\nsupplier_id int NOT NULL PRIMARY KEY,\nsupplier_name char(50) NOT NULL,\ncontact_name char(50),\n);\nCREATE TABLE Customers\n(\ncustomer_id int NOT NULL PRIMARY KEY,\ncustomer_name char(50) NOT NULL,\naddress char(50),\ncity char(50),\nstate char(25),\nzip_code char(10)\n);\n":"plantUmlPng"==l.value?"@startuml\nskinparam backgroundcolor transparent\nskinparam shadowing false\nAlice -> Bob: Authentication Request\nBob --\x3e Alice: Authentication Response\n\nAlice -> Bob: Another authentication Request\nAlice <-- Bob: another authentication Response\n@enduml":
"plantUmlSvg"==l.value||"plantUmlTxt"==l.value?"@startuml\nskinparam shadowing false\nAlice -> Bob: Authentication Request\nBob --\x3e Alice: Authentication Response\n\nAlice -> Bob: Another authentication Request\nAlice <-- Bob: another authentication Response\n@enduml":";Example:\na->b\nb->edge label->c\nc->a\n"}var f=a.editor.graph.getFreeInsertPoint();b=document.createElement("div");b.style.textAlign="right";var h=document.createElement("textarea");h.style.resize="none";h.style.width="100%";h.style.height=
"354px";h.style.marginBottom="16px";var l=document.createElement("select"),m=document.createElement("option");m.setAttribute("value","list");mxUtils.write(m,mxResources.get("list"));l.appendChild(m);null!=d&&"fromText"!=d||m.setAttribute("selected","selected");m=document.createElement("option");m.setAttribute("value","table");mxUtils.write(m,mxResources.get("formatSql"));l.appendChild(m);"formatSql"==d&&m.setAttribute("selected","selected");m=document.createElement("option");m.setAttribute("value",
"diagram");mxUtils.write(m,mxResources.get("diagram"));l.appendChild(m);m=document.createElement("option");m.setAttribute("value","plantUmlSvg");mxUtils.write(m,mxResources.get("plantUml")+" ("+mxResources.get("formatSvg")+")");"plantUml"==d&&m.setAttribute("selected","selected");d=document.createElement("option");d.setAttribute("value","plantUmlPng");mxUtils.write(d,mxResources.get("plantUml")+" ("+mxResources.get("formatPng")+")");var g=document.createElement("option");g.setAttribute("value","plantUmlTxt");
mxUtils.write(g,mxResources.get("plantUml")+" ("+mxResources.get("text")+")");EditorUi.enablePlantUml&&Graph.fileSupport&&!a.isOffline()&&(l.appendChild(m),l.appendChild(d),l.appendChild(g));var k=e();h.value=k;b.appendChild(h);this.init=function(){h.focus()};Graph.fileSupport&&(h.addEventListener("dragover",function(a){a.stopPropagation();a.preventDefault()},!1),h.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){h.value=a.target.result};b.readAsText(a)}},!1));b.appendChild(l);mxEvent.addListener(l,"change",function(){var a=e();if(0==h.value.length||h.value==k)k=a,h.value=k});d=mxUtils.button(mxResources.get("close"),function(){h.value==k?a.hideDialog():a.confirm(mxResources.get("areYouSure"),function(){a.hideDialog()})});d.className="geBtn";a.editor.cancelFirst&&b.appendChild(d);m=mxUtils.button(mxResources.get("insert"),function(){a.hideDialog();c(h.value,l.value)});
-b.appendChild(m);m.className="geBtn gePrimaryBtn";a.editor.cancelFirst||b.appendChild(d);this.container=b},NewDialog=function(a,b,d,c,e,f,h,l,m,g,k,n,q,t,p){function v(){for(var a=!0;A<Q.length&&(a||0!=mxUtils.mod(A,30));)a=Q[A++],u(a.url,a.libs,a.title,a.tooltip?a.tooltip:a.title,a.select,a.imgUrl,a.info,a.onClick),a=!1}function x(){if(S)d||a.hideDialog(),t(S,O,D.value);else if(c)d||a.hideDialog(),c(Z,D.value);else{var b=D.value;null!=b&&0<b.length&&a.pickFolder(a.mode==App.MODE_ONEDRIVE||a.mode==
-App.MODE_TRELLO||a.mode==App.MODE_GOOGLE&&(null==a.stateArg||null==a.stateArg.folderId)?a.mode:null,function(c){a.createFile(b,Z,null!=X&&0<X.length?X:null,null,function(){a.hideDialog()},null,c)})}}function z(a,b,c,d,g){null!=N&&(N.style.backgroundColor="transparent",N.style.border="1px solid transparent");B.removeAttribute("disabled");Z=b;X=c;N=a;S=d;O=g;N.style.backgroundColor=l;N.style.border=m}function u(a,b,c,d,g,k,u,n){var e=document.createElement("div");e.className="geTemplate";e.style.height=
-R+"px";e.style.width=T+"px";null!=d&&0<d.length&&e.setAttribute("title",d);if(null!=k)e.style.backgroundImage="url("+k+")",e.style.backgroundSize="contain",e.style.backgroundPosition="center center",e.style.backgroundRepeat="no-repeat",mxEvent.addListener(e,"click",function(b){z(e,null,null,a,u)}),mxEvent.addListener(e,"dblclick",function(a){x()});else if(null!=a&&0<a.length){a.substring(0,a.length-4);e.style.backgroundImage="url("+TEMPLATE_PATH+"/"+a.substring(0,a.length-4)+".png)";e.style.backgroundPosition=
-"center center";e.style.backgroundRepeat="no-repeat";var f=!1;mxEvent.addListener(e,"click",function(c){B.setAttribute("disabled","disabled");e.style.backgroundColor="transparent";e.style.border="1px solid transparent";mxUtils.get(TEMPLATE_PATH+"/"+a,mxUtils.bind(this,function(a){200<=a.getStatus()&&299>=a.getStatus()&&(z(e,a.getText(),b),f&&x())}))});mxEvent.addListener(e,"dblclick",function(a){f=!0})}else e.innerHTML='<table width="100%" height="100%"><tr><td align="center" valign="middle">'+mxResources.get(c)+
-"</td></tr></table>",g&&z(e),null!=n?mxEvent.addListener(e,"click",n):(mxEvent.addListener(e,"click",function(a){z(e)}),mxEvent.addListener(e,"dblclick",function(a){x()}));I.appendChild(e)}function w(){mxEvent.addListener(I,"scroll",function(a){I.scrollTop+I.clientHeight>=I.scrollHeight&&(v(),mxEvent.consume(a))});var a=null,b;for(b in V){var c=document.createElement("div"),d=mxResources.get(b),k=V[b];null==d&&(d=b.substring(0,1).toUpperCase()+b.substring(1));18<d.length&&(d=d.substring(0,18)+"&hellip;");
-c.style.cssText="display:block;cursor:pointer;padding:6px;white-space:nowrap;margin-bottom:-1px;overflow:hidden;text-overflow:ellipsis;";c.setAttribute("title",d+" ("+k.length+")");mxUtils.write(c,c.getAttribute("title"));null!=g&&(c.style.padding=g);W.appendChild(c);null==a&&(a=c,a.style.backgroundColor=h);(function(b,d){mxEvent.addListener(c,"click",function(){a!=d&&(a.style.backgroundColor="",a=d,a.style.backgroundColor=h,I.scrollTop=0,I.innerHTML="",A=0,Q=V[b],C=null,v())})})(b,c)}v()}d=null!=
+b.appendChild(m);m.className="geBtn gePrimaryBtn";a.editor.cancelFirst||b.appendChild(d);this.container=b},NewDialog=function(a,b,d,c,e,f,h,l,m,g,k,n,q,t,p){function v(){for(var a=!0;z<Q.length&&(a||0!=mxUtils.mod(z,30));)a=Q[z++],u(a.url,a.libs,a.title,a.tooltip?a.tooltip:a.title,a.select,a.imgUrl,a.info,a.onClick),a=!1}function x(){if(S)d||a.hideDialog(),t(S,O,D.value);else if(c)d||a.hideDialog(),c(Z,D.value);else{var b=D.value;null!=b&&0<b.length&&a.pickFolder(a.mode==App.MODE_ONEDRIVE||a.mode==
+App.MODE_TRELLO||a.mode==App.MODE_GOOGLE&&(null==a.stateArg||null==a.stateArg.folderId)?a.mode:null,function(c){a.createFile(b,Z,null!=X&&0<X.length?X:null,null,function(){a.hideDialog()},null,c)})}}function A(a,b,c,d,g){null!=N&&(N.style.backgroundColor="transparent",N.style.border="1px solid transparent");B.removeAttribute("disabled");Z=b;X=c;N=a;S=d;O=g;N.style.backgroundColor=l;N.style.border=m}function u(a,b,c,d,g,k,u,n){var e=document.createElement("div");e.className="geTemplate";e.style.height=
+R+"px";e.style.width=T+"px";null!=d&&0<d.length&&e.setAttribute("title",d);if(null!=k)e.style.backgroundImage="url("+k+")",e.style.backgroundSize="contain",e.style.backgroundPosition="center center",e.style.backgroundRepeat="no-repeat",mxEvent.addListener(e,"click",function(b){A(e,null,null,a,u)}),mxEvent.addListener(e,"dblclick",function(a){x()});else if(null!=a&&0<a.length){a.substring(0,a.length-4);e.style.backgroundImage="url("+TEMPLATE_PATH+"/"+a.substring(0,a.length-4)+".png)";e.style.backgroundPosition=
+"center center";e.style.backgroundRepeat="no-repeat";var f=!1;mxEvent.addListener(e,"click",function(c){B.setAttribute("disabled","disabled");e.style.backgroundColor="transparent";e.style.border="1px solid transparent";mxUtils.get(TEMPLATE_PATH+"/"+a,mxUtils.bind(this,function(a){200<=a.getStatus()&&299>=a.getStatus()&&(A(e,a.getText(),b),f&&x())}))});mxEvent.addListener(e,"dblclick",function(a){f=!0})}else e.innerHTML='<table width="100%" height="100%"><tr><td align="center" valign="middle">'+mxResources.get(c)+
+"</td></tr></table>",g&&A(e),null!=n?mxEvent.addListener(e,"click",n):(mxEvent.addListener(e,"click",function(a){A(e)}),mxEvent.addListener(e,"dblclick",function(a){x()}));I.appendChild(e)}function w(){mxEvent.addListener(I,"scroll",function(a){I.scrollTop+I.clientHeight>=I.scrollHeight&&(v(),mxEvent.consume(a))});var a=null,b;for(b in V){var c=document.createElement("div"),d=mxResources.get(b),k=V[b];null==d&&(d=b.substring(0,1).toUpperCase()+b.substring(1));18<d.length&&(d=d.substring(0,18)+"&hellip;");
+c.style.cssText="display:block;cursor:pointer;padding:6px;white-space:nowrap;margin-bottom:-1px;overflow:hidden;text-overflow:ellipsis;";c.setAttribute("title",d+" ("+k.length+")");mxUtils.write(c,c.getAttribute("title"));null!=g&&(c.style.padding=g);W.appendChild(c);null==a&&(a=c,a.style.backgroundColor=h);(function(b,d){mxEvent.addListener(c,"click",function(){a!=d&&(a.style.backgroundColor="",a=d,a.style.backgroundColor=h,I.scrollTop=0,I.innerHTML="",z=0,Q=V[b],C=null,v())})})(b,c)}v()}d=null!=
d?d:!0;e=null!=e?e:!1;h=null!=h?h:"#ebf2f9";l=null!=l?l:"#e6eff8";m=null!=m?m:"1px solid #ccd9ea";k=null!=k?k:TEMPLATE_PATH+"/index.xml";var F=document.createElement("div");F.style.height="100%";var E=document.createElement("div");E.style.whiteSpace="nowrap";E.style.height="46px";d&&F.appendChild(E);var y=document.createElement("img");y.setAttribute("border","0");y.setAttribute("align","absmiddle");y.style.width="40px";y.style.height="40px";y.style.marginRight="10px";y.style.paddingBottom="4px";y.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_TRELLO?IMAGE_PATH+"/trello-logo.svg":a.mode==App.MODE_BROWSER?IMAGE_PATH+"/osa_database.png":IMAGE_PATH+"/osa_drive-harddisk.png";!b&&d&&E.appendChild(y);d&&mxUtils.write(E,(null==a.mode||a.mode==App.MODE_GOOGLE||a.mode==App.MODE_BROWSER?mxResources.get("diagramName"):
mxResources.get("filename"))+":");y=".xml";a.mode==App.MODE_GOOGLE&&null!=a.drive?y=a.drive.extension:a.mode==App.MODE_DROPBOX&&null!=a.dropbox?y=a.dropbox.extension:a.mode==App.MODE_ONEDRIVE&&null!=a.oneDrive?y=a.oneDrive.extension:a.mode==App.MODE_GITHUB&&null!=a.gitHub?y=a.gitHub.extension:a.mode==App.MODE_TRELLO&&null!=a.trello&&(y=a.trello.extension);var D=document.createElement("input");D.setAttribute("value",a.defaultFilename+y);D.style.marginRight="20px";D.style.marginLeft="10px";D.style.width=
-b?"220px":"430px";this.init=function(){d&&(D.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?D.select():document.execCommand("selectAll",!1,null))};d&&E.appendChild(D);var E=!1,A=0,B=mxUtils.button(mxResources.get("create"),function(){B.setAttribute("disabled","disabled");x();B.removeAttribute("disabled")});B.className="geBtn gePrimaryBtn";if(n||q){var J=[],C=null,L=function(a){B.setAttribute("disabled","disabled");for(var b=0;b<J.length;b++)J[b].className=b==
-a?"geBtn gePrimaryBtn":"geBtn"},E=!0,y=document.createElement("div");y.style.whiteSpace="nowrap";y.style.height="30px";F.appendChild(y);var H=mxUtils.button(mxResources.get("Templates",null,"Templates"),function(){W.style.display="";I.style.left="160px";L(0);I.scrollTop=0;I.innerHTML="";A=0;C!=Q&&(Q=C,v(),C=null)});J.push(H);y.appendChild(H);var G=function(a){W.style.display="none";I.style.left="30px";L(a?-1:1);null==C&&(C=Q);I.scrollTop=0;I.innerHTML="";var b=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});b.spin(I);A=0;var c=function(a,c){b.stop();Q=a;c?I.innerHTML=c:0==a.length?I.innerHTML=mxResources.get("noDiagrams",null,"No Diagrams Found"):(I.innerHTML="",v())};a?q(M.value,c):n(c)};n&&(H=mxUtils.button(mxResources.get("Recent",null,"Recent"),function(){G()}),y.appendChild(H),J.push(H));if(q){H=document.createElement("span");H.style.marginLeft="10px";H.innerHTML=mxResources.get("search")+":";y.appendChild(H);
+b?"220px":"430px";this.init=function(){d&&(D.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?D.select():document.execCommand("selectAll",!1,null))};d&&E.appendChild(D);var E=!1,z=0,B=mxUtils.button(mxResources.get("create"),function(){B.setAttribute("disabled","disabled");x();B.removeAttribute("disabled")});B.className="geBtn gePrimaryBtn";if(n||q){var J=[],C=null,L=function(a){B.setAttribute("disabled","disabled");for(var b=0;b<J.length;b++)J[b].className=b==
+a?"geBtn gePrimaryBtn":"geBtn"},E=!0,y=document.createElement("div");y.style.whiteSpace="nowrap";y.style.height="30px";F.appendChild(y);var H=mxUtils.button(mxResources.get("Templates",null,"Templates"),function(){W.style.display="";I.style.left="160px";L(0);I.scrollTop=0;I.innerHTML="";z=0;C!=Q&&(Q=C,v(),C=null)});J.push(H);y.appendChild(H);var G=function(a){W.style.display="none";I.style.left="30px";L(a?-1:1);null==C&&(C=Q);I.scrollTop=0;I.innerHTML="";var b=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});b.spin(I);z=0;var c=function(a,c){b.stop();Q=a;c?I.innerHTML=c:0==a.length?I.innerHTML=mxResources.get("noDiagrams",null,"No Diagrams Found"):(I.innerHTML="",v())};a?q(M.value,c):n(c)};n&&(H=mxUtils.button(mxResources.get("Recent",null,"Recent"),function(){G()}),y.appendChild(H),J.push(H));if(q){H=document.createElement("span");H.style.marginLeft="10px";H.innerHTML=mxResources.get("search")+":";y.appendChild(H);
var M=document.createElement("input");M.style.marginRight="10px";M.style.marginLeft="10px";M.style.width="220px";mxEvent.addListener(M,"keypress",function(a){13==a.keyCode&&G(!0)});y.appendChild(M);H=mxUtils.button(mxResources.get("search"),function(){G(!0)});H.className="geBtn";y.appendChild(H)}L(0)}var X=null,Z=null,N=null,S=null,O=null,I=document.createElement("div");I.style.border="1px solid #d3d3d3";I.style.position="absolute";I.style.left="160px";I.style.right="34px";E=(d?72:40)+(E?30:0);I.style.top=
E+"px";I.style.bottom="68px";I.style.margin="6px 0 0 -1px";I.style.padding="6px";I.style.overflow="auto";var W=document.createElement("div");W.style.cssText="position:absolute;left:30px;width:128px;top:"+E+"px;bottom:68px;margin-top:6px;overflow:auto;border:1px solid #d3d3d3;";var R=140,T=140,V={},K=1;V.basic=[{title:"blankDiagram",select:!0}];var Q=V.basic;if(!b){F.appendChild(W);F.appendChild(I);var P=!1;mxUtils.get(k,function(a){if(!P){P=!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=V[b];null==c&&(K++,c=[],V[b]=c);c.push({url:a.getAttribute("url"),libs:a.getAttribute("libs"),title:a.getAttribute("title"),tooltip:a.getAttribute("url")})}}a=a.nextSibling}w()}})}mxEvent.addListener(D,"keypress",function(a){13==a.keyCode&&x()});k=document.createElement("div");k.style.marginTop=b?"4px":"16px";k.style.textAlign="right";k.style.position="absolute";k.style.left="40px";k.style.bottom=
@@ -6889,16 +6889,16 @@ typeof a.getAttribute){var b=a.getAttribute("url");if(null!=b){var c=b.indexOf("
e="";c==App.MODE_GOOGLE?e=a.drive.extension:c==App.MODE_GITHUB?e=a.gitHub.extension:c==App.MODE_TRELLO?e=a.trello.extension:c==App.MODE_DROPBOX?e=a.dropbox.extension:c==App.MODE_ONEDRIVE?e=a.oneDrive.extension:c==App.MODE_DEVICE&&(e=".xml");0<=k&&(d=d.substring(0,k));w.value=d+e}}x(g)})}var e=document.createElement("a");e.style.overflow="hidden";var f=document.createElement("img");f.src=c;f.setAttribute("border","0");f.setAttribute("align","absmiddle");f.style.width="60px";f.style.height="60px";f.style.paddingBottom=
"6px";e.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";e.className="geBaseButton";e.style.position="relative";e.style.margin="4px";e.style.padding="8px 8px 10px 8px";e.style.whiteSpace="nowrap";e.appendChild(f);mxClient.IS_QUIRKS&&(e.style.cssFloat="left",e.style.zoom="1");e.style.color="gray";e.style.fontSize="11px";var q=document.createElement("div");e.appendChild(q);mxUtils.write(q,d);if(null!=k&&null==a[k]){f.style.visibility="hidden";mxUtils.setOpacity(q,10);var t=new Spinner({lines:12,
length:12,width:5,radius:10,rotate:0,color:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9});t.spin(e);var p=window.setTimeout(function(){null==a[k]&&(t.stop(),e.style.display="none")},3E4);a.addListener("clientLoaded",mxUtils.bind(this,function(){null!=a[k]&&(window.clearTimeout(p),mxUtils.setOpacity(q,100),f.style.visibility="",t.stop(),u())}))}else u();F.appendChild(e);++E==n&&(mxUtils.br(F),E=0)}function x(b){var c=w.value;if(null==b||null!=c&&0<c.length)a.hideDialog(),d(c,
-b)}h=null!=h?h:!0;l=null!=l?l:!0;n=null!=n?n:4;var z=document.createElement("div");null==c&&a.addLanguageMenu(z);var u=document.createElement("h2");mxUtils.write(u,e||mxResources.get("create"));u.style.marginTop="0px";u.style.marginBottom="24px";z.appendChild(u);mxUtils.write(z,mxResources.get("filename")+":");var w=document.createElement("input");w.setAttribute("value",b);w.style.width="280px";w.style.marginLeft="10px";w.style.marginBottom="20px";this.init=function(){w.focus();mxClient.IS_GC||mxClient.IS_FF||
-5<=document.documentMode||mxClient.IS_QUIRKS?w.select():document.execCommand("selectAll",!1,null)};z.appendChild(w);null!=q&&null!=t&&"image/"==t.substring(0,6)&&(w.style.width="160px",e=null,"image/svg+xml"==t&&mxClient.IS_SVG?(e=document.createElement("div"),e.innerHTML=mxUtils.trim(q),q=e.getElementsByTagName("svg")[0],t=parseInt(q.getAttribute("width")),p=parseInt(q.getAttribute("height")),q.setAttribute("viewBox","0 0 "+t+" "+p),q.setAttribute("width","120px"),q.setAttribute("height","80px")):
-(e=document.createElement("img"),e.setAttribute("src","data:"+t+(p?";base64,":";utf8,")+q)),e.style.position="absolute",e.style.top="70px",e.style.right="100px",e.style.maxWidth="120px",e.style.maxHeight="80px",mxUtils.setPrefixedStyle(e.style,"transform","translate(50%,-50%)"),z.appendChild(e),m&&Editor.popupsAllowed&&(e.style.cursor="pointer",mxEvent.addListener(e,"click",function(){x("_blank")})));mxUtils.br(z);var F=document.createElement("div");F.style.textAlign="center";var E=0;F.style.marginTop=
-"6px";z.appendChild(F);var y=document.createElement("select");y.style.marginLeft="10px";a.isOfflineApp()||a.isOffline()||("function"===typeof window.DriveClient&&(e=document.createElement("option"),e.setAttribute("value",App.MODE_GOOGLE),mxUtils.write(e,mxResources.get("googleDrive")),y.appendChild(e),v(IMAGE_PATH+"/google-drive-logo.svg",mxResources.get("googleDrive"),App.MODE_GOOGLE,"drive")),"function"===typeof window.OneDriveClient&&(e=document.createElement("option"),e.setAttribute("value",App.MODE_ONEDRIVE),
+b)}h=null!=h?h:!0;l=null!=l?l:!0;n=null!=n?n:4;var A=document.createElement("div");null==c&&a.addLanguageMenu(A);var u=document.createElement("h2");mxUtils.write(u,e||mxResources.get("create"));u.style.marginTop="0px";u.style.marginBottom="24px";A.appendChild(u);mxUtils.write(A,mxResources.get("filename")+":");var w=document.createElement("input");w.setAttribute("value",b);w.style.width="280px";w.style.marginLeft="10px";w.style.marginBottom="20px";this.init=function(){w.focus();mxClient.IS_GC||mxClient.IS_FF||
+5<=document.documentMode||mxClient.IS_QUIRKS?w.select():document.execCommand("selectAll",!1,null)};A.appendChild(w);null!=q&&null!=t&&"image/"==t.substring(0,6)&&(w.style.width="160px",e=null,"image/svg+xml"==t&&mxClient.IS_SVG?(e=document.createElement("div"),e.innerHTML=mxUtils.trim(q),q=e.getElementsByTagName("svg")[0],t=parseInt(q.getAttribute("width")),p=parseInt(q.getAttribute("height")),q.setAttribute("viewBox","0 0 "+t+" "+p),q.setAttribute("width","120px"),q.setAttribute("height","80px")):
+(e=document.createElement("img"),e.setAttribute("src","data:"+t+(p?";base64,":";utf8,")+q)),e.style.position="absolute",e.style.top="70px",e.style.right="100px",e.style.maxWidth="120px",e.style.maxHeight="80px",mxUtils.setPrefixedStyle(e.style,"transform","translate(50%,-50%)"),A.appendChild(e),m&&Editor.popupsAllowed&&(e.style.cursor="pointer",mxEvent.addListener(e,"click",function(){x("_blank")})));mxUtils.br(A);var F=document.createElement("div");F.style.textAlign="center";var E=0;F.style.marginTop=
+"6px";A.appendChild(F);var y=document.createElement("select");y.style.marginLeft="10px";a.isOfflineApp()||a.isOffline()||("function"===typeof window.DriveClient&&(e=document.createElement("option"),e.setAttribute("value",App.MODE_GOOGLE),mxUtils.write(e,mxResources.get("googleDrive")),y.appendChild(e),v(IMAGE_PATH+"/google-drive-logo.svg",mxResources.get("googleDrive"),App.MODE_GOOGLE,"drive")),"function"===typeof window.OneDriveClient&&(e=document.createElement("option"),e.setAttribute("value",App.MODE_ONEDRIVE),
mxUtils.write(e,mxResources.get("oneDrive")),y.appendChild(e),a.mode==App.MODE_ONEDRIVE&&e.setAttribute("selected","selected"),v(IMAGE_PATH+"/onedrive-logo.svg",mxResources.get("oneDrive"),App.MODE_ONEDRIVE,"oneDrive")),"function"===typeof window.DropboxClient&&(e=document.createElement("option"),e.setAttribute("value",App.MODE_DROPBOX),mxUtils.write(e,mxResources.get("dropbox")),y.appendChild(e),a.mode==App.MODE_DROPBOX&&e.setAttribute("selected","selected"),v(IMAGE_PATH+"/dropbox-logo.svg",mxResources.get("dropbox"),
App.MODE_DROPBOX,"dropbox")),null!=a.gitHub&&(e=document.createElement("option"),e.setAttribute("value",App.MODE_GITHUB),mxUtils.write(e,mxResources.get("github")),y.appendChild(e),v(IMAGE_PATH+"/github-logo.svg",mxResources.get("github"),App.MODE_GITHUB,"gitHub")),null!=a.trello&&(e=document.createElement("option"),e.setAttribute("value",App.MODE_TRELLO),mxUtils.write(e,mxResources.get("trello")),y.appendChild(e),v(IMAGE_PATH+"/trello-logo.svg",mxResources.get("trello"),App.MODE_TRELLO,"trello")));
if(!Editor.useLocalStorage||"device"==urlParams.storage||null!=a.getCurrentFile()&&!mxClient.IS_IOS)e=document.createElement("option"),e.setAttribute("value",App.MODE_DEVICE),mxUtils.write(e,mxResources.get("device")),y.appendChild(e),a.mode!=App.MODE_DEVICE&&l||e.setAttribute("selected","selected"),k&&v(IMAGE_PATH+"/osa_drive-harddisk.png",mxResources.get("device"),App.MODE_DEVICE);l&&isLocalStorage&&"0"!=urlParams.browser&&(l=document.createElement("option"),l.setAttribute("value",App.MODE_BROWSER),
mxUtils.write(l,mxResources.get("browser")),y.appendChild(l),a.mode==App.MODE_BROWSER&&l.setAttribute("selected","selected"),v(IMAGE_PATH+"/osa_database.png",mxResources.get("browser"),App.MODE_BROWSER));l=document.createElement("div");l.style.marginTop="26px";l.style.textAlign="center";null!=g&&(e=mxUtils.button(mxResources.get("help"),function(){a.openLink(g)}),e.className="geBtn",l.appendChild(e));e=mxUtils.button(mxResources.get("cancel"),function(){null!=c?c():(a.fileLoaded(null),a.hideDialog(),
window.close(),window.location.href=a.getUrl())});e.className="geBtn";a.editor.cancelFirst&&l.appendChild(e);null==c&&(q=mxUtils.button(mxResources.get("decideLater"),function(){x(null)}),q.className="geBtn",l.appendChild(q));m&&Editor.popupsAllowed&&(m=mxUtils.button(mxResources.get("openInNewWindow"),function(){x("_blank")}),m.className="geBtn",l.appendChild(m));mxClient.IS_IOS||(f=mxUtils.button(f||mxResources.get("create"),function(){x(k?"download":App.MODE_DEVICE)}),f.className="geBtn gePrimaryBtn",
-l.appendChild(f));a.editor.cancelFirst||l.appendChild(e);mxEvent.addListener(w,"keypress",function(b){13==b.keyCode?x(App.MODE_DEVICE):27==b.keyCode&&(a.fileLoaded(null),a.hideDialog(),window.close())});z.appendChild(l);this.container=z},PopupDialog=function(a,b,d,c,e){e=null!=e?e:!0;var f=document.createElement("div");f.style.textAlign="left";mxUtils.write(f,mxResources.get("fileOpenLocation"));mxUtils.br(f);mxUtils.br(f);var h=mxUtils.button(mxResources.get("openInThisWindow"),function(){e&&a.hideDialog();
+l.appendChild(f));a.editor.cancelFirst||l.appendChild(e);mxEvent.addListener(w,"keypress",function(b){13==b.keyCode?x(App.MODE_DEVICE):27==b.keyCode&&(a.fileLoaded(null),a.hideDialog(),window.close())});A.appendChild(l);this.container=A},PopupDialog=function(a,b,d,c,e){e=null!=e?e:!0;var f=document.createElement("div");f.style.textAlign="left";mxUtils.write(f,mxResources.get("fileOpenLocation"));mxUtils.br(f);mxUtils.br(f);var h=mxUtils.button(mxResources.get("openInThisWindow"),function(){e&&a.hideDialog();
null!=c&&c()});h.className="geBtn";h.style.marginBottom="8px";h.style.width="280px";f.appendChild(h);mxUtils.br(f);var l=mxUtils.button(mxResources.get("openInNewWindow"),function(){e&&a.hideDialog();null!=d&&d();a.openLink(b)});l.className="geBtn gePrimaryBtn";l.style.width=h.style.width;f.appendChild(l);mxUtils.br(f);mxUtils.br(f);mxUtils.write(f,mxResources.get("allowPopups"));this.container=f},ImageDialog=function(a,b,d,c,e,f){f=null!=f?f:!0;var h=a.editor.graph,l=document.createElement("div");
mxUtils.write(l,b);b=document.createElement("div");b.className="geTitle";b.style.backgroundColor="transparent";b.style.borderColor="transparent";b.style.whiteSpace="nowrap";b.style.textOverflow="clip";b.style.cursor="default";mxClient.IS_VML||(b.style.paddingRight="20px");var m=document.createElement("input");m.setAttribute("value",d);m.setAttribute("type","text");m.setAttribute("spellcheck","false");m.setAttribute("autocorrect","off");m.setAttribute("autocomplete","off");m.setAttribute("autocapitalize",
"off");m.style.marginTop="6px";m.style.width=(Graph.fileSupport?420:340)+(mxClient.IS_QUIRKS?20:-20)+"px";m.style.backgroundImage="url('"+Dialog.prototype.clearImage+"')";m.style.backgroundRepeat="no-repeat";m.style.backgroundPosition="100% 50%";m.style.paddingRight="14px";d=document.createElement("div");d.setAttribute("title",mxResources.get("reset"));d.style.position="relative";d.style.left="-16px";d.style.width="12px";d.style.height="14px";d.style.cursor="pointer";d.style.display=mxClient.IS_VML?
@@ -6936,36 +6936,36 @@ var l=document.createElement("span");mxUtils.write(l," "+mxResources.get("includ
b.appendChild(m);d=document.createElement("div");d.style.marginTop="26px";d.style.textAlign="right";l=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});l.className="geBtn";a.editor.cancelFirst?(d.appendChild(l),d.appendChild(e)):(d.appendChild(e),d.appendChild(l));b.appendChild(d);this.container=b};FeedbackDialog.maxAttachmentSize=1E6;
var RevisionDialog=function(a,b,d){var c=document.createElement("div"),e=document.createElement("h3");e.style.marginTop="0px";mxUtils.write(e,mxResources.get("revisionHistory"));c.appendChild(e);var f=document.createElement("div");f.style.position="absolute";f.style.overflow="auto";f.style.width="170px";f.style.height="378px";c.appendChild(f);var h=document.createElement("div");h.style.position="absolute";h.style.border="1px solid lightGray";h.style.left="199px";h.style.width="470px";h.style.height=
"376px";h.style.overflow="hidden";mxEvent.disableContextMenu(h);c.appendChild(h);var l=new Graph(h);l.setEnabled(!1);l.setPanning(!0);l.panningHandler.ignoreCell=!0;l.panningHandler.useLeftButtonForPanning=!0;l.minFitScale=null;l.maxFitScale=null;l.centerZoom=!0;var m=0,g=null,k=0,n=l.getGlobalVariable;l.getGlobalVariable=function(a){return"page"==a&&null!=g&&null!=g[k]?g[k].getAttribute("name"):"pagenumber"==a?k+1:n.apply(this,arguments)};l.getLinkForCell=function(){return null};Editor.MathJaxRender&&
-l.addListener(mxEvent.SIZE,mxUtils.bind(this,function(b,c){a.editor.graph.mathEnabled&&Editor.MathJaxRender(l.container)}));var q=new Spinner({lines:11,length:15,width:6,radius:10,corners:1,rotate:0,direction:1,color:"#000",speed:1.4,trail:60,shadow:!1,hwaccel:!1,className:"spinner",zIndex:2E9,top:"50%",left:"50%"}),t=a.getCurrentFile(),p=null,v=null,x=null,z=null,u=mxUtils.button("",function(){null!=x&&l.zoomIn()});u.className="geSprite geSprite-zoomin";u.setAttribute("title",mxResources.get("zoomIn"));
+l.addListener(mxEvent.SIZE,mxUtils.bind(this,function(b,c){a.editor.graph.mathEnabled&&Editor.MathJaxRender(l.container)}));var q=new Spinner({lines:11,length:15,width:6,radius:10,corners:1,rotate:0,direction:1,color:"#000",speed:1.4,trail:60,shadow:!1,hwaccel:!1,className:"spinner",zIndex:2E9,top:"50%",left:"50%"}),t=a.getCurrentFile(),p=null,v=null,x=null,A=null,u=mxUtils.button("",function(){null!=x&&l.zoomIn()});u.className="geSprite geSprite-zoomin";u.setAttribute("title",mxResources.get("zoomIn"));
u.style.outline="none";u.style.border="none";u.style.margin="2px";u.setAttribute("disabled","disabled");mxUtils.setOpacity(u,20);var w=mxUtils.button("",function(){null!=x&&l.zoomOut()});w.className="geSprite geSprite-zoomout";w.setAttribute("title",mxResources.get("zoomOut"));w.style.outline="none";w.style.border="none";w.style.margin="2px";w.setAttribute("disabled","disabled");mxUtils.setOpacity(w,20);var F=mxUtils.button("",function(){null!=x&&(l.maxFitScale=8,l.fit(8),l.center())});F.className=
"geSprite geSprite-fit";F.setAttribute("title",mxResources.get("fit"));F.style.outline="none";F.style.border="none";F.style.margin="2px";F.setAttribute("disabled","disabled");mxUtils.setOpacity(F,20);var E=mxUtils.button("",function(){null!=x&&(l.zoomActual(),l.center())});E.className="geSprite geSprite-actualsize";E.setAttribute("title",mxResources.get("actualSize"));E.style.outline="none";E.style.border="none";E.style.margin="2px";E.setAttribute("disabled","disabled");mxUtils.setOpacity(E,20);var y=
document.createElement("div");y.style.position="absolute";y.style.textAlign="right";y.style.color="gray";y.style.marginTop="10px";y.style.backgroundColor="transparent";y.style.top="440px";y.style.right="32px";y.style.maxWidth="380px";y.style.cursor="default";var D=mxUtils.button(mxResources.get("download"),function(){if(null!=x){var b=a.getCurrentFile(),b=null!=b&&null!=b.getTitle()?b.getTitle():a.defaultFilename,c=mxUtils.getXml(x.documentElement);a.isLocalFileSave()?a.saveLocalFile(c,b,"text/xml"):
-(c="undefined"===typeof pako?"&xml="+encodeURIComponent(c):"&data="+encodeURIComponent(a.editor.graph.compress(c)),(new mxXmlRequest(SAVE_URL,"filename="+encodeURIComponent(b)+"&format=xml"+c)).simulate(document,"_blank"))}});D.className="geBtn";D.setAttribute("disabled","disabled");var A=mxUtils.button(mxResources.get("restore"),function(){null!=x&&null!=z&&a.confirm(mxResources.get("areYouSure"),function(){null!=d?d(z):a.spinner.spin(document.body,mxResources.get("restoring"))&&t.save(!0,function(b){a.spinner.stop();
-a.replaceFileData(z);a.hideDialog()},function(b){a.spinner.stop();a.editor.setStatus("");a.handleError(b,null!=b?mxResources.get("errorSavingFile"):null)})})});A.className="geBtn";A.setAttribute("disabled","disabled");var B=document.createElement("select");B.setAttribute("disabled","disabled");B.style.maxWidth="80px";B.style.position="relative";B.style.top="-2px";B.style.verticalAlign="bottom";B.style.marginRight="6px";B.style.display="none";var J=null;mxEvent.addListener(B,"change",function(a){null!=
+(c="undefined"===typeof pako?"&xml="+encodeURIComponent(c):"&data="+encodeURIComponent(a.editor.graph.compress(c)),(new mxXmlRequest(SAVE_URL,"filename="+encodeURIComponent(b)+"&format=xml"+c)).simulate(document,"_blank"))}});D.className="geBtn";D.setAttribute("disabled","disabled");var z=mxUtils.button(mxResources.get("restore"),function(){null!=x&&null!=A&&a.confirm(mxResources.get("areYouSure"),function(){null!=d?d(A):a.spinner.spin(document.body,mxResources.get("restoring"))&&t.save(!0,function(b){a.spinner.stop();
+a.replaceFileData(A);a.hideDialog()},function(b){a.spinner.stop();a.editor.setStatus("");a.handleError(b,null!=b?mxResources.get("errorSavingFile"):null)})})});z.className="geBtn";z.setAttribute("disabled","disabled");var B=document.createElement("select");B.setAttribute("disabled","disabled");B.style.maxWidth="80px";B.style.position="relative";B.style.top="-2px";B.style.verticalAlign="bottom";B.style.marginRight="6px";B.style.display="none";var J=null;mxEvent.addListener(B,"change",function(a){null!=
J&&(J(a),mxEvent.consume(a))});var C=mxUtils.button(mxResources.get("openInNewWindow"),function(){null!=x&&(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(mxUtils.getXml(x.documentElement)),window.openWindow(a.getUrl()))});C.className="geBtn";C.setAttribute("disabled","disabled");null!=d&&(C.style.display="none");var L=mxUtils.button(mxResources.get("show"),function(){null!=v&&a.openLink(v.getUrl())});L.className="geBtn gePrimaryBtn";L.setAttribute("disabled",
-"disabled");null!=d&&(L.style.display="none",A.className="geBtn gePrimaryBtn");e=document.createElement("div");e.style.position="absolute";e.style.top="482px";e.style.width="640px";e.style.textAlign="right";var H=document.createElement("div");H.className="geToolbarContainer";H.style.backgroundColor="transparent";H.style.padding="2px";H.style.border="none";H.style.left="199px";H.style.top="442px";var G=null;if(null!=b&&0<b.length){h.style.cursor="move";var M=document.createElement("table");M.style.border=
+"disabled");null!=d&&(L.style.display="none",z.className="geBtn gePrimaryBtn");e=document.createElement("div");e.style.position="absolute";e.style.top="482px";e.style.width="640px";e.style.textAlign="right";var H=document.createElement("div");H.className="geToolbarContainer";H.style.backgroundColor="transparent";H.style.padding="2px";H.style.border="none";H.style.left="199px";H.style.top="442px";var G=null;if(null!=b&&0<b.length){h.style.cursor="move";var M=document.createElement("table");M.style.border=
"1px solid lightGray";M.style.borderCollapse="collapse";M.style.borderSpacing="0px";M.style.width="100%";var X=document.createElement("tbody"),Z=(new Date).toDateString();null!=a.currentPage&&null!=a.pages&&(m=mxUtils.indexOf(a.pages,a.currentPage));for(var N=b.length-1;0<=N;N--){var S=function(c){var d=new Date(c.modifiedDate),e=null;if(0<=d.getTime()){var n=function(b){q.stop();var c=mxUtils.parseXml(b),n=a.editor.extractGraphModel(c.documentElement,!0);if(null!=n){var f=function(b){null!=b&&(b=
-p(mxUtils.parseXml(a.editor.graph.decompress(mxUtils.getTextContent(b))).documentElement));return b},p=function(a){var b=a.getAttribute("background");if(null==b||""==b||b==mxConstants.NONE)b="#ffffff";h.style.backgroundColor=b;(new mxCodec(a.ownerDocument)).decode(a,l.getModel());l.maxFitScale=1;l.fit(8);l.center();return a};B.style.display="none";B.innerHTML="";x=c;z=b;g=parseSelectFunction=null;k=0;if("mxfile"==n.nodeName){c=n.getElementsByTagName("diagram");g=[];for(b=0;b<c.length;b++)g.push(c[b]);
+p(mxUtils.parseXml(a.editor.graph.decompress(mxUtils.getTextContent(b))).documentElement));return b},p=function(a){var b=a.getAttribute("background");if(null==b||""==b||b==mxConstants.NONE)b="#ffffff";h.style.backgroundColor=b;(new mxCodec(a.ownerDocument)).decode(a,l.getModel());l.maxFitScale=1;l.fit(8);l.center();return a};B.style.display="none";B.innerHTML="";x=c;A=b;g=parseSelectFunction=null;k=0;if("mxfile"==n.nodeName){c=n.getElementsByTagName("diagram");g=[];for(b=0;b<c.length;b++)g.push(c[b]);
k=Math.min(m,g.length-1);0<g.length&&f(g[k]);if(1<g.length)for(B.removeAttribute("disabled"),B.style.display="",b=0;b<g.length;b++)c=document.createElement("option"),mxUtils.write(c,g[b].getAttribute("name")||mxResources.get("pageWithNumber",[b+1])),c.setAttribute("value",b),b==k&&c.setAttribute("selected","selected"),B.appendChild(c);J=function(){k=m=parseInt(B.value);f(g[m])}}else p(n);y.innerHTML="";mxUtils.write(y,d.toLocaleDateString()+" "+d.toLocaleTimeString());y.setAttribute("title",e.getAttribute("title"));
-u.removeAttribute("disabled");w.removeAttribute("disabled");F.removeAttribute("disabled");E.removeAttribute("disabled");null!=t&&t.isRestricted()||(a.editor.graph.isEnabled()&&A.removeAttribute("disabled"),D.removeAttribute("disabled"),L.removeAttribute("disabled"),C.removeAttribute("disabled"));mxUtils.setOpacity(u,60);mxUtils.setOpacity(w,60);mxUtils.setOpacity(F,60);mxUtils.setOpacity(E,60)}else B.style.display="none",B.innerHTML="",y.innerHTML="",mxUtils.write(y,mxResources.get("errorLoadingFile"))},
+u.removeAttribute("disabled");w.removeAttribute("disabled");F.removeAttribute("disabled");E.removeAttribute("disabled");null!=t&&t.isRestricted()||(a.editor.graph.isEnabled()&&z.removeAttribute("disabled"),D.removeAttribute("disabled"),L.removeAttribute("disabled"),C.removeAttribute("disabled"));mxUtils.setOpacity(u,60);mxUtils.setOpacity(w,60);mxUtils.setOpacity(F,60);mxUtils.setOpacity(E,60)}else B.style.display="none",B.innerHTML="",y.innerHTML="",mxUtils.write(y,mxResources.get("errorLoadingFile"))},
e=document.createElement("tr");e.style.borderBottom="1px solid lightGray";e.style.fontSize="12px";e.style.cursor="pointer";var f=document.createElement("td");f.style.padding="6px";f.style.whiteSpace="nowrap";c==b[b.length-1]?mxUtils.write(f,mxResources.get("current")):d.toDateString()===Z?mxUtils.write(f,d.toLocaleTimeString()):mxUtils.write(f,d.toLocaleDateString()+" "+d.toLocaleTimeString());e.appendChild(f);e.setAttribute("title",d.toLocaleDateString()+" "+d.toLocaleTimeString()+" "+a.formatFileSize(parseInt(c.fileSize))+
-(null!=c.lastModifyingUserName?" "+c.lastModifyingUserName:""));mxEvent.addListener(e,"click",function(a){v!=c&&(q.stop(),null!=p&&(p.style.backgroundColor=""),v=c,p=e,p.style.backgroundColor="#ebf2f9",z=x=null,y.removeAttribute("title"),y.innerHTML=mxResources.get("loading")+"...",h.style.backgroundColor="#ffffff",l.getModel().clear(),A.setAttribute("disabled","disabled"),D.setAttribute("disabled","disabled"),u.setAttribute("disabled","disabled"),w.setAttribute("disabled","disabled"),E.setAttribute("disabled",
+(null!=c.lastModifyingUserName?" "+c.lastModifyingUserName:""));mxEvent.addListener(e,"click",function(a){v!=c&&(q.stop(),null!=p&&(p.style.backgroundColor=""),v=c,p=e,p.style.backgroundColor="#ebf2f9",A=x=null,y.removeAttribute("title"),y.innerHTML=mxResources.get("loading")+"...",h.style.backgroundColor="#ffffff",l.getModel().clear(),z.setAttribute("disabled","disabled"),D.setAttribute("disabled","disabled"),u.setAttribute("disabled","disabled"),w.setAttribute("disabled","disabled"),E.setAttribute("disabled",
"disabled"),F.setAttribute("disabled","disabled"),C.setAttribute("disabled","disabled"),L.setAttribute("disabled","disabled"),B.setAttribute("disabled","disabled"),mxUtils.setOpacity(u,20),mxUtils.setOpacity(w,20),mxUtils.setOpacity(F,20),mxUtils.setOpacity(E,20),q.spin(h),c.getXml(function(a){v==c&&n(a)},function(a){q.stop();B.style.display="none";B.innerHTML="";y.innerHTML="";mxUtils.write(y,mxResources.get("errorLoadingFile"))}),mxEvent.consume(a))});mxEvent.addListener(e,"dblclick",function(a){L.click();
window.getSelection?window.getSelection().removeAllRanges():document.selection&&document.selection.empty();mxEvent.consume(a)},!1);X.appendChild(e)}return e}(b[N]);null!=S&&N==b.length-1&&(G=S)}M.appendChild(X);f.appendChild(M)}else null==t||null==a.drive&&t.constructor==window.DriveFile||null==a.dropbox&&t.constructor==window.DropboxFile?(h.style.display="none",H.style.display="none",mxUtils.write(f,mxResources.get("notAvailable"))):(h.style.display="none",H.style.display="none",mxUtils.write(f,
-mxResources.get("noRevisions")));this.init=function(){null!=G&&G.click()};f=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});f.className="geBtn";H.appendChild(B);H.appendChild(u);H.appendChild(w);H.appendChild(E);H.appendChild(F);a.editor.cancelFirst?(e.appendChild(f),e.appendChild(D),e.appendChild(C),e.appendChild(A),e.appendChild(L)):(e.appendChild(D),e.appendChild(C),e.appendChild(A),e.appendChild(L),e.appendChild(f));c.appendChild(e);c.appendChild(H);c.appendChild(y);this.container=
+mxResources.get("noRevisions")));this.init=function(){null!=G&&G.click()};f=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});f.className="geBtn";H.appendChild(B);H.appendChild(u);H.appendChild(w);H.appendChild(E);H.appendChild(F);a.editor.cancelFirst?(e.appendChild(f),e.appendChild(D),e.appendChild(C),e.appendChild(z),e.appendChild(L)):(e.appendChild(D),e.appendChild(C),e.appendChild(z),e.appendChild(L),e.appendChild(f));c.appendChild(e);c.appendChild(H);c.appendChild(y);this.container=
c},DraftDialog=function(a,b,d,c,e,f,h,l){var m=document.createElement("div"),g=document.createElement("div");g.style.marginTop="0px";g.style.whiteSpace="nowrap";g.style.overflow="auto";mxUtils.write(g,b);m.appendChild(g);var k=document.createElement("div");k.style.position="absolute";k.style.border="1px solid lightGray";k.style.marginTop="10px";k.style.width="640px";k.style.top="46px";k.style.bottom="74px";k.style.overflow="hidden";mxEvent.disableContextMenu(k);m.appendChild(k);var n=new Graph(k);
n.setEnabled(!1);n.setPanning(!0);n.panningHandler.ignoreCell=!0;n.panningHandler.useLeftButtonForPanning=!0;n.minFitScale=null;n.maxFitScale=null;n.centerZoom=!0;b=mxUtils.parseXml(d);var q=a.editor.extractGraphModel(b.documentElement,!0),t=0,p=null,v=n.getGlobalVariable;n.getGlobalVariable=function(a){return"page"==a&&null!=p&&null!=p[t]?p[t].getAttribute("name"):"pagenumber"==a?t+1:v.apply(this,arguments)};n.getLinkForCell=function(){return null};b=mxUtils.button("",function(){n.zoomIn()});b.className=
"geSprite geSprite-zoomin";b.setAttribute("title",mxResources.get("zoomIn"));b.style.outline="none";b.style.border="none";b.style.margin="2px";mxUtils.setOpacity(b,60);d=mxUtils.button("",function(){n.zoomOut()});d.className="geSprite geSprite-zoomout";d.setAttribute("title",mxResources.get("zoomOut"));d.style.outline="none";d.style.border="none";d.style.margin="2px";mxUtils.setOpacity(d,60);g=mxUtils.button("",function(){n.maxFitScale=8;n.fit(8);n.center()});g.className="geSprite geSprite-fit";g.setAttribute("title",
-mxResources.get("fit"));g.style.outline="none";g.style.border="none";g.style.margin="2px";mxUtils.setOpacity(g,60);var x=mxUtils.button("",function(){n.zoomActual();n.center()});x.className="geSprite geSprite-actualsize";x.setAttribute("title",mxResources.get("actualSize"));x.style.outline="none";x.style.border="none";x.style.margin="2px";mxUtils.setOpacity(x,60);e=mxUtils.button(h||mxResources.get("discard"),e);e.className="geBtn";var z=document.createElement("select");z.style.maxWidth="80px";z.style.position=
-"relative";z.style.top="-2px";z.style.verticalAlign="bottom";z.style.marginRight="6px";z.style.display="none";c=mxUtils.button(f||mxResources.get("edit"),c);c.className="geBtn gePrimaryBtn";f=document.createElement("div");f.style.position="absolute";f.style.bottom="30px";f.style.width="640px";f.style.textAlign="right";h=document.createElement("div");h.className="geToolbarContainer";h.style.cssText="box-shadow:none !important;background-color:transparent;padding:2px;border-style:none !important;bottom:30px;";
-this.init=function(){function b(a){if(null!=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,n.getModel());n.maxFitScale=1;n.fit(8);n.center()}}function c(c){null!=c&&(c=b(mxUtils.parseXml(a.editor.graph.decompress(mxUtils.getTextContent(c))).documentElement));return c}mxEvent.addListener(z,"change",function(a){t=parseInt(z.value);c(p[t]);mxEvent.consume(a)});if("mxfile"==q.nodeName){var d=q.getElementsByTagName("diagram");
-p=[];for(var g=0;g<d.length;g++)p.push(d[g]);0<p.length&&c(p[t]);if(1<p.length)for(z.style.display="",g=0;g<p.length;g++)d=document.createElement("option"),mxUtils.write(d,p[g].getAttribute("name")||mxResources.get("pageWithNumber",[g+1])),d.setAttribute("value",g),g==t&&d.setAttribute("selected","selected"),z.appendChild(d)}else b(q)};h.appendChild(z);h.appendChild(b);h.appendChild(d);h.appendChild(x);h.appendChild(g);b=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog(!0)});b.className=
+mxResources.get("fit"));g.style.outline="none";g.style.border="none";g.style.margin="2px";mxUtils.setOpacity(g,60);var x=mxUtils.button("",function(){n.zoomActual();n.center()});x.className="geSprite geSprite-actualsize";x.setAttribute("title",mxResources.get("actualSize"));x.style.outline="none";x.style.border="none";x.style.margin="2px";mxUtils.setOpacity(x,60);e=mxUtils.button(h||mxResources.get("discard"),e);e.className="geBtn";var A=document.createElement("select");A.style.maxWidth="80px";A.style.position=
+"relative";A.style.top="-2px";A.style.verticalAlign="bottom";A.style.marginRight="6px";A.style.display="none";c=mxUtils.button(f||mxResources.get("edit"),c);c.className="geBtn gePrimaryBtn";f=document.createElement("div");f.style.position="absolute";f.style.bottom="30px";f.style.width="640px";f.style.textAlign="right";h=document.createElement("div");h.className="geToolbarContainer";h.style.cssText="box-shadow:none !important;background-color:transparent;padding:2px;border-style:none !important;bottom:30px;";
+this.init=function(){function b(a){if(null!=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,n.getModel());n.maxFitScale=1;n.fit(8);n.center()}}function c(c){null!=c&&(c=b(mxUtils.parseXml(a.editor.graph.decompress(mxUtils.getTextContent(c))).documentElement));return c}mxEvent.addListener(A,"change",function(a){t=parseInt(A.value);c(p[t]);mxEvent.consume(a)});if("mxfile"==q.nodeName){var d=q.getElementsByTagName("diagram");
+p=[];for(var g=0;g<d.length;g++)p.push(d[g]);0<p.length&&c(p[t]);if(1<p.length)for(A.style.display="",g=0;g<p.length;g++)d=document.createElement("option"),mxUtils.write(d,p[g].getAttribute("name")||mxResources.get("pageWithNumber",[g+1])),d.setAttribute("value",g),g==t&&d.setAttribute("selected","selected"),A.appendChild(d)}else b(q)};h.appendChild(A);h.appendChild(b);h.appendChild(d);h.appendChild(x);h.appendChild(g);b=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog(!0)});b.className=
"geBtn";l=null!=l?mxUtils.button(mxResources.get("ignore"),l):null;null!=l&&(l.className="geBtn");a.editor.cancelFirst?(f.appendChild(b),null!=l&&f.appendChild(l),f.appendChild(e),f.appendChild(c)):(f.appendChild(c),f.appendChild(e),null!=l&&f.appendChild(l),f.appendChild(b));m.appendChild(f);m.appendChild(h);this.container=m},FindWindow=function(a,b,d,c,e){function f(a,b,c){if("object"===typeof b.value&&null!=b.value.attributes){b=b.value.attributes;for(var d=0;d<b.length;d++)if("label"!=b[d].nodeName){var g=
mxUtils.trim(b[d].nodeValue.replace(/[\x00-\x1F\x7F-\x9F]|\s+/g," ")).toLowerCase();if(null==a&&g.substring(0,c.length)===c||null!=a&&a.test(g))return!0}}return!1}function h(){var a=m.model.getDescendants(m.model.getRoot()),b=q.value.toLowerCase(),c=t.checked?new RegExp(b):null,d=null;g!=b&&(g=b,k=null);var e=null==k;if(0<b.length)for(var n=0;n<a.length;n++){var h=m.view.getState(a[n]);if(null!=h&&null!=h.cell.value&&(e||null==d)&&(m.model.isVertex(h.cell)||m.model.isEdge(h.cell))&&(m.isHtmlLabel(h.cell)?
(p.innerHTML=m.getLabel(h.cell),label=mxUtils.extractTextWithWhitespace([p])):label=m.getLabel(h.cell),label=mxUtils.trim(label.replace(/[\x00-\x1F\x7F-\x9F]|\s+/g," ")).toLowerCase(),null==c&&(label.substring(0,b.length)===b||f(c,h.cell,b))||null!=c&&(c.test(label)||f(c,h.cell,b))))if(e){d=h;break}else null==d&&(d=h);e=e||h==k}null!=d?(k=d,m.scrollCellToVisible(k.cell),m.isEnabled()?m.setSelectionCell(k.cell):m.highlightCell(k.cell)):m.isEnabled()&&m.clearSelection();return 0==b.length||null!=d}
var l=a.actions.get("find"),m=a.editor.graph,g=null,k=null,n=document.createElement("div");n.style.userSelect="none";n.style.overflow="hidden";n.style.padding="10px";n.style.height="100%";var q=document.createElement("input");q.setAttribute("placeholder",mxResources.get("find"));q.setAttribute("type","text");q.style.marginTop="4px";q.style.marginBottom="6px";q.style.width="200px";q.style.fontSize="12px";q.style.borderRadius="4px";q.style.padding="6px";n.appendChild(q);mxUtils.br(n);var t=document.createElement("input");
t.setAttribute("type","checkbox");t.style.marginRight="4px";n.appendChild(t);mxUtils.write(n,mxResources.get("regularExpression"));var p=document.createElement("div");mxUtils.br(n);var v=mxUtils.button(mxResources.get("reset"),function(){q.value="";q.style.backgroundColor="";g=k=null;q.focus()});v.setAttribute("title",mxResources.get("reset"));v.style.marginTop="6px";v.style.marginRight="4px";v.className="geBtn";n.appendChild(v);v=mxUtils.button(mxResources.get("find"),function(){try{q.style.backgroundColor=
-h()?"":"#ffcfcf"}catch(x){a.handleError(x)}});v.setAttribute("title",mxResources.get("find")+" (Enter)");v.style.marginTop="6px";v.className="geBtn gePrimaryBtn";n.appendChild(v);mxEvent.addListener(q,"keyup",function(a){if(91==a.keyCode||17==a.keyCode)mxEvent.consume(a);else if(27==a.keyCode)l.funct();else if(g!=q.value.toLowerCase()||13==a.keyCode)try{q.style.backgroundColor=h()?"":"#ffcfcf"}catch(z){q.style.backgroundColor="#ffcfcf"}});mxEvent.addListener(n,"keydown",function(b){70==b.keyCode&&
+h()?"":"#ffcfcf"}catch(x){a.handleError(x)}});v.setAttribute("title",mxResources.get("find")+" (Enter)");v.style.marginTop="6px";v.className="geBtn gePrimaryBtn";n.appendChild(v);mxEvent.addListener(q,"keyup",function(a){if(91==a.keyCode||17==a.keyCode)mxEvent.consume(a);else if(27==a.keyCode)l.funct();else if(g!=q.value.toLowerCase()||13==a.keyCode)try{q.style.backgroundColor=h()?"":"#ffcfcf"}catch(A){q.style.backgroundColor="#ffcfcf"}});mxEvent.addListener(n,"keydown",function(b){70==b.keyCode&&
a.keyHandler.isControlDown(b)&&!mxEvent.isShiftDown(b)&&(l.funct(),mxEvent.consume(b))});this.window=new mxWindow(mxResources.get("find"),n,b,d,c,e,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!1);this.window.setClosable(!0);this.window.addListener("show",mxUtils.bind(this,function(){this.window.isVisible()?(q.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?q.select():document.execCommand("selectAll",!1,null)):m.container.focus()}))},
TagsWindow=function(a,b,d,c,e){function f(a){a=null!=a?a:l.model.getDescendants(l.model.getRoot());for(var b=k.value.split(" "),c=[],d=0;d<a.length;d++)if(l.model.isVertex(a[d])||l.model.isEdge(a[d])){var g=null!=a[d].value&&"object"==typeof a[d].value?mxUtils.trim(a[d].value.getAttribute(m)||""):"",e=!0;if(0<g.length)for(var g=g.toLowerCase().split(" "),n=0;n<b.length&&e;n++)var f=mxUtils.trim(b[n]).toLowerCase(),e=e&&(0==f.length||0<=mxUtils.indexOf(g,f));else e=0==mxUtils.trim(k.value).length;
e&&c.push(a[d])}return c}function h(a,b){l.model.beginUpdate();try{for(var c=0;c<a.length;c++)l.model.setVisible(a[c],b)}finally{l.model.endUpdate()}}var l=a.editor.graph,m="tags",g=document.createElement("div");g.style.userSelect="none";g.style.overflow="hidden";g.style.padding="10px";g.style.height="100%";var k=document.createElement("input");k.setAttribute("placeholder",mxResources.get("allTags"));k.setAttribute("type","text");k.style.marginTop="4px";k.style.width="260px";k.style.fontSize="12px";
@@ -6984,7 +6984,7 @@ c.style.padding="30px";c.appendChild(b);c.appendChild(e);c.appendChild(f);d=docu
document.createElement("span"),b.style.paddingRight="20px",b.appendChild(k),mxUtils.write(b," "+mxResources.get("rememberThisSetting")),k.checked=!0,k.defaultChecked=!0,mxEvent.addListener(b,"click",function(a){mxEvent.getSource(a)!=k&&(k.checked=!k.checked,mxEvent.consume(a))}),mxClient.IS_QUIRKS&&(b.style.position="relative",b.style.top="-6px"),d.appendChild(b);b=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});b.className="geBtn";var n=mxUtils.button(mxResources.get("apply"),
function(){a.hideDialog();for(var b=[],c=0;c<l.length;c++){var d=l[c].apply(this,arguments);null!=d&&b.push(d)}a.sidebar.showEntries(b.join(";"),k.checked,!0)});n.className="geBtn gePrimaryBtn"}else{var q=document.createElement("table"),t=document.createElement("tbody");c.style.height="100%";c.style.overflow="auto";var p=document.createElement("tr");q.style.width="100%";b=document.createElement("td");var n=document.createElement("td"),v=document.createElement("td"),x=mxUtils.bind(this,function(b,
c,d){var g=document.createElement("input");g.type="checkbox";q.appendChild(g);g.checked=a.sidebar.isEntryVisible(d);var k=document.createElement("span");mxUtils.write(k,c);c=document.createElement("div");c.style.display="block";c.appendChild(g);c.appendChild(k);mxEvent.addListener(k,"click",function(a){g.checked=!g.checked;mxEvent.consume(a)});b.appendChild(c);return function(){return g.checked?d:null}});p.appendChild(b);p.appendChild(n);p.appendChild(v);t.appendChild(p);q.appendChild(t);for(var l=
-[],z=0,g=0;g<d.length;g++)for(t=0;t<d[g].entries.length;t++)z++;for(var u=[b,n,v],w=0,g=0;g<d.length;g++)(function(a){for(var b=0;b<a.entries.length;b++){var c=a.entries[b];l.push(x(u[Math.floor(w/(z/3))],c.title,c.id));w++}})(d[g]);c.appendChild(q);d=document.createElement("div");d.style.marginTop="18px";d.style.textAlign="center";k=document.createElement("input");isLocalStorage&&(k.setAttribute("type","checkbox"),k.checked=!0,k.defaultChecked=!0,d.appendChild(k),b=document.createElement("span"),
+[],A=0,g=0;g<d.length;g++)for(t=0;t<d[g].entries.length;t++)A++;for(var u=[b,n,v],w=0,g=0;g<d.length;g++)(function(a){for(var b=0;b<a.entries.length;b++){var c=a.entries[b];l.push(x(u[Math.floor(w/(A/3))],c.title,c.id));w++}})(d[g]);c.appendChild(q);d=document.createElement("div");d.style.marginTop="18px";d.style.textAlign="center";k=document.createElement("input");isLocalStorage&&(k.setAttribute("type","checkbox"),k.checked=!0,k.defaultChecked=!0,d.appendChild(k),b=document.createElement("span"),
mxUtils.write(b," "+mxResources.get("rememberThisSetting")),d.appendChild(b),mxEvent.addListener(b,"click",function(a){k.checked=!k.checked;mxEvent.consume(a)}));c.appendChild(d);b=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});b.className="geBtn";n=mxUtils.button(mxResources.get("apply"),function(){for(var b=["search"],c=0;c<l.length;c++){var d=l[c].apply(this,arguments);null!=d&&b.push(d)}a.sidebar.showEntries(0<b.length?b.join(";"):"",k.checked);a.hideDialog()});n.className=
"geBtn gePrimaryBtn";d=document.createElement("div");d.style.marginTop="26px";d.style.textAlign="right"}a.editor.cancelFirst?(d.appendChild(b),d.appendChild(n)):(d.appendChild(n),d.appendChild(b));c.appendChild(d);this.container=c},PluginsDialog=function(a){function b(){if(0==e.length)c.innerHTML=mxResources.get("noPlugins");else{c.innerHTML="";for(var d=0;d<e.length;d++){var g=document.createElement("span");g.style.whiteSpace="nowrap";var f=document.createElement("span");f.className="geSprite geSprite-delete";
f.style.position="relative";f.style.cursor="pointer";f.style.top="5px";f.style.marginRight="4px";f.style.display="inline-block";g.appendChild(f);mxUtils.write(g,e[d]);c.appendChild(g);mxUtils.br(c);mxEvent.addListener(f,"click",function(c){return function(){a.confirm(window.parent.mxResources.get("delete")+' "'+e[c]+'"?',function(){e.splice(c,1);b()})}}(d))}}}var d=document.createElement("div"),c=document.createElement("div");c.style.height="120px";c.style.overflow="auto";var e=mxSettings.getPlugins().slice();
@@ -7003,20 +7003,20 @@ l=document.createElement("tr");m=document.createElement("td");g=document.createE
p.setAttribute("type","text");p.style.width="100px";p.value=1==b.length?mxUtils.getValue(d.getCellStyle(b[0]),mxConstants.STYLE_ROTATION,0):"";g.appendChild(p);l.appendChild(m);l.appendChild(g);h.appendChild(l);f.appendChild(h);e.appendChild(f);var c=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()}),v=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();d.getModel().beginUpdate();try{for(var c=0;c<b.length;c++){var g=d.getCellGeometry(b[c]);null!=g&&(g=g.clone(),d.isCellMovable(b[c])&&
(0<mxUtils.trim(k.value).length&&(g.x=Number(k.value)),0<mxUtils.trim(n.value).length&&(g.y=Number(n.value))),d.isCellResizable(b[c])&&(0<mxUtils.trim(q.value).length&&(g.width=Number(q.value)),0<mxUtils.trim(t.value).length&&(g.height=Number(t.value))),d.getModel().setGeometry(b[c],g));0<mxUtils.trim(p.value).length&&d.setCellStyles(mxConstants.STYLE_ROTATION,Number(p.value),[b[c]])}}finally{d.getModel().endUpdate()}});mxEvent.addListener(e,"keypress",function(a){13==a.keyCode&&v.click()});f=document.createElement("div");
f.style.marginTop="20px";f.style.textAlign="right";a.editor.cancelFirst?(f.appendChild(c),f.appendChild(v)):(f.appendChild(v),f.appendChild(c));e.appendChild(f);this.container=e},LibraryDialog=function(a,b,d,c,e,f){function h(a){for(a=document.elementFromPoint(a.clientX,a.clientY);null!=a&&a.parentNode!=t;)a=a.parentNode;var b=null;if(null!=a)for(var c=t.firstChild,b=0;null!=c&&c!=a;)c=c.nextSibling,b++;return b}function l(b,c,d,g,e,n,f,q,m){try{if(null==c||"image/"==c.substring(0,6))if(null==b&&
-null!=f||null==v[b]){var z=function(){G.innerHTML="";G.style.cursor="pointer";G.style.whiteSpace="nowrap";G.style.textOverflow="ellipsis";mxUtils.write(G,null!=B.title&&0<B.title.length?B.title:mxResources.get("untitled"));G.style.color=null==B.title||0==B.title.length?"#d0d0d0":""};t.style.backgroundImage="";p.style.display="none";var E=e,C=n;if(e>a.maxImageSize||n>a.maxImageSize){var y=Math.min(1,Math.min(a.maxImageSize/Math.max(1,e)),a.maxImageSize/Math.max(1,n));e*=y;n*=y}E>C?(C=Math.round(100*
-C/E),E=100):(E=Math.round(100*E/C),C=100);var D=document.createElement("div");D.setAttribute("draggable","true");D.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";D.style.position="relative";D.style.cursor="move";mxUtils.setPrefixedStyle(D.style,"transition","transform .1s ease-in-out");if(null!=b){var A=document.createElement("img");A.setAttribute("src",w.convert(b));A.style.width=E+"px";A.style.height=C+"px";A.style.margin="10px";A.style.paddingBottom=Math.floor((100-C)/2)+"px";A.style.paddingLeft=
-Math.floor((100-E)/2)+"px";D.appendChild(A)}else if(null!=f){var H=a.stringToCells(a.editor.graph.decompress(f.xml));0<H.length&&(a.sidebar.createThumb(H,100,100,D,null,!0,!1),D.firstChild.style.display=mxClient.IS_QUIRKS?"inline":"inline-block",D.firstChild.style.cursor="")}var L=document.createElement("img");L.setAttribute("src",Editor.closeImage);L.setAttribute("border","0");L.setAttribute("title",mxResources.get("delete"));L.setAttribute("align","top");L.style.paddingTop="4px";L.style.position=
+null!=f||null==v[b]){var A=function(){G.innerHTML="";G.style.cursor="pointer";G.style.whiteSpace="nowrap";G.style.textOverflow="ellipsis";mxUtils.write(G,null!=B.title&&0<B.title.length?B.title:mxResources.get("untitled"));G.style.color=null==B.title||0==B.title.length?"#d0d0d0":""};t.style.backgroundImage="";p.style.display="none";var E=e,C=n;if(e>a.maxImageSize||n>a.maxImageSize){var y=Math.min(1,Math.min(a.maxImageSize/Math.max(1,e)),a.maxImageSize/Math.max(1,n));e*=y;n*=y}E>C?(C=Math.round(100*
+C/E),E=100):(E=Math.round(100*E/C),C=100);var D=document.createElement("div");D.setAttribute("draggable","true");D.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";D.style.position="relative";D.style.cursor="move";mxUtils.setPrefixedStyle(D.style,"transition","transform .1s ease-in-out");if(null!=b){var z=document.createElement("img");z.setAttribute("src",w.convert(b));z.style.width=E+"px";z.style.height=C+"px";z.style.margin="10px";z.style.paddingBottom=Math.floor((100-C)/2)+"px";z.style.paddingLeft=
+Math.floor((100-E)/2)+"px";D.appendChild(z)}else if(null!=f){var H=a.stringToCells(a.editor.graph.decompress(f.xml));0<H.length&&(a.sidebar.createThumb(H,100,100,D,null,!0,!1),D.firstChild.style.display=mxClient.IS_QUIRKS?"inline":"inline-block",D.firstChild.style.cursor="")}var L=document.createElement("img");L.setAttribute("src",Editor.closeImage);L.setAttribute("border","0");L.setAttribute("title",mxResources.get("delete"));L.setAttribute("align","top");L.style.paddingTop="4px";L.style.position=
"absolute";L.style.marginLeft="-12px";L.style.zIndex="1";L.style.cursor="pointer";mxEvent.addListener(L,"dragstart",function(a){mxEvent.consume(a)});(function(a,b,c){mxEvent.addListener(L,"click",function(d){v[b]=null;for(var g=0;g<k.length;g++)if(null!=k[g].data&&k[g].data==b||null!=k[g].xml&&null!=c&&k[g].xml==c.xml){k.splice(g,1);break}D.parentNode.removeChild(a);0==k.length&&(t.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')",p.style.display="");mxEvent.consume(d)});mxEvent.addListener(L,
-"dblclick",function(a){mxEvent.consume(a)})})(D,b,f);D.appendChild(L);D.style.marginBottom="30px";var G=document.createElement("div");G.style.position="absolute";G.style.boxSizing="border-box";G.style.bottom="-18px";G.style.left="10px";G.style.right="10px";G.style.backgroundColor="#ffffff";G.style.overflow="hidden";G.style.textAlign="center";var B=null;null!=b?(B={data:b,w:e,h:n,title:m},null!=q&&(B.aspect=q),v[b]=A,k.push(B)):null!=f&&(f.aspect="fixed",k.push(f),B=f);mxEvent.addListener(G,"keydown",
-function(a){13==a.keyCode&&null!=u&&(u(),u=null,mxEvent.consume(a))});z();D.appendChild(G);mxEvent.addListener(G,"mousedown",function(a){"true"!=G.getAttribute("contentEditable")&&mxEvent.consume(a)});H=function(b){if(mxClient.IS_IOS||mxClient.IS_QUIRKS||mxClient.IS_FF||!(null==document.documentMode||9<document.documentMode)){var c=new FilenameDialog(a,B.title||"",mxResources.get("ok"),function(a){null!=a&&(B.title=a,z())},mxResources.get("enterValue"));a.showDialog(c.container,300,80,!0,!0);c.init();
-mxEvent.consume(b)}else if("true"!=G.getAttribute("contentEditable")){null!=u&&(u(),u=null);if(null==B.title||0==B.title.length)G.innerHTML="";G.style.textOverflow="";G.style.whiteSpace="";G.style.cursor="text";G.style.color="";G.setAttribute("contentEditable","true");G.focus();document.execCommand("selectAll",!1,null);u=function(){G.removeAttribute("contentEditable");G.style.cursor="pointer";B.title=G.innerHTML;z()};mxEvent.consume(b)}};mxEvent.addListener(G,"click",H);mxEvent.addListener(D,"dblclick",
+"dblclick",function(a){mxEvent.consume(a)})})(D,b,f);D.appendChild(L);D.style.marginBottom="30px";var G=document.createElement("div");G.style.position="absolute";G.style.boxSizing="border-box";G.style.bottom="-18px";G.style.left="10px";G.style.right="10px";G.style.backgroundColor="#ffffff";G.style.overflow="hidden";G.style.textAlign="center";var B=null;null!=b?(B={data:b,w:e,h:n,title:m},null!=q&&(B.aspect=q),v[b]=z,k.push(B)):null!=f&&(f.aspect="fixed",k.push(f),B=f);mxEvent.addListener(G,"keydown",
+function(a){13==a.keyCode&&null!=u&&(u(),u=null,mxEvent.consume(a))});A();D.appendChild(G);mxEvent.addListener(G,"mousedown",function(a){"true"!=G.getAttribute("contentEditable")&&mxEvent.consume(a)});H=function(b){if(mxClient.IS_IOS||mxClient.IS_QUIRKS||mxClient.IS_FF||!(null==document.documentMode||9<document.documentMode)){var c=new FilenameDialog(a,B.title||"",mxResources.get("ok"),function(a){null!=a&&(B.title=a,A())},mxResources.get("enterValue"));a.showDialog(c.container,300,80,!0,!0);c.init();
+mxEvent.consume(b)}else if("true"!=G.getAttribute("contentEditable")){null!=u&&(u(),u=null);if(null==B.title||0==B.title.length)G.innerHTML="";G.style.textOverflow="";G.style.whiteSpace="";G.style.cursor="text";G.style.color="";G.setAttribute("contentEditable","true");G.focus();document.execCommand("selectAll",!1,null);u=function(){G.removeAttribute("contentEditable");G.style.cursor="pointer";B.title=G.innerHTML;A()};mxEvent.consume(b)}};mxEvent.addListener(G,"click",H);mxEvent.addListener(D,"dblclick",
H);t.appendChild(D);mxEvent.addListener(D,"dragstart",function(a){null==b&&null!=f&&(L.style.visibility="hidden",G.style.visibility="hidden");mxClient.IS_FF&&null!=f.xml&&a.dataTransfer.setData("Text",f.xml);x=h(a);mxClient.IS_GC&&(D.style.opacity="0.9");window.setTimeout(function(){mxUtils.setPrefixedStyle(D.style,"transform","scale(0.5,0.5)");mxUtils.setOpacity(D,30);L.style.visibility="";G.style.visibility=""},0)});mxEvent.addListener(D,"dragend",function(a){"hidden"==L.style.visibility&&(L.style.visibility=
"",G.style.visibility="");x=null;mxUtils.setOpacity(D,100);mxUtils.setPrefixedStyle(D.style,"transform",null)})}else F||(F=!0,a.handleError({message:mxResources.get("fileExists")}));else{e=!1;try{if(a.spinner.stop(),E=mxUtils.parseXml(b),"mxlibrary"==E.documentElement.nodeName){C=JSON.parse(mxUtils.getTextContent(E.documentElement));if(null!=C&&0<C.length)for(var J=0;J<C.length;J++)null!=C[J].xml?l(null,null,0,0,0,0,C[J]):l(C[J].data,null,0,0,C[J].w,C[J].h,null,"fixed",C[J].title);e=!0}else if("mxfile"==
E.documentElement.nodeName){for(var M=E.documentElement.getElementsByTagName("diagram"),J=0;J<M.length;J++){var C=mxUtils.getTextContent(M[J]),H=a.stringToCells(a.editor.graph.decompress(C)),P=a.editor.graph.getBoundingBoxFromGeometry(H);l(null,null,0,0,0,0,{xml:C,w:P.width,h:P.height})}e=!0}}catch(ba){}e||(a.spinner.stop(),a.handleError({message:mxResources.get("errorLoadingFile")}))}}catch(ba){}return null}function m(a){a.dataTransfer.dropEffect=null!=x?"move":"copy";a.stopPropagation();a.preventDefault()}
-function g(b){b.stopPropagation();b.preventDefault();F=!1;z=h(b);if(null!=x)null!=z&&z<t.children.length?(k.splice(z>x?z-1:z,0,k.splice(x,1)[0]),t.insertBefore(t.children[x],t.children[z])):(k.push(k.splice(x,1)[0]),t.appendChild(t.children[x]));else if(0<b.dataTransfer.files.length)a.importFiles(b.dataTransfer.files,0,0,a.maxImageSize,E(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)||
+function g(b){b.stopPropagation();b.preventDefault();F=!1;A=h(b);if(null!=x)null!=A&&A<t.children.length?(k.splice(A>x?A-1:A,0,k.splice(x,1)[0]),t.insertBefore(t.children[x],t.children[A])):(k.push(k.splice(x,1)[0]),t.appendChild(t.children[x]));else if(0<b.dataTransfer.files.length)a.importFiles(b.dataTransfer.files,0,0,a.maxImageSize,E(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);t.scrollTop=t.scrollHeight})}b.stopPropagation();b.preventDefault()}var k=[];d=document.createElement("div");d.style.height="100%";var n=document.createElement("div");n.style.whiteSpace="nowrap";n.style.height="40px";d.appendChild(n);mxUtils.write(n,mxResources.get("filename")+":");null==b&&(b=a.defaultLibraryName+".xml");var q=document.createElement("input");q.setAttribute("value",
b);q.style.marginRight="20px";q.style.marginLeft="10px";q.style.width="500px";null==e||e.isRenamable()||q.setAttribute("disabled","true");this.init=function(){if(null==e||e.isRenamable())q.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?q.select():document.execCommand("selectAll",!1,null)};n.appendChild(q);var t=document.createElement("div");t.style.borderWidth="1px 0px 1px 0px";t.style.borderColor="#d3d3d3";t.style.borderStyle="solid";t.style.marginTop="6px";
-t.style.overflow="auto";t.style.height="340px";t.style.backgroundPosition="center center";t.style.backgroundRepeat="no-repeat";0==k.length&&Graph.fileSupport&&(t.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')");var p=document.createElement("div");p.style.position="absolute";p.style.width="640px";p.style.top="260px";p.style.textAlign="center";p.style.fontSize="22px";p.style.color="#a0c3ff";mxUtils.write(p,mxResources.get("dragImagesHere"));d.appendChild(p);var v={},x=null,z=null,u=null;
+t.style.overflow="auto";t.style.height="340px";t.style.backgroundPosition="center center";t.style.backgroundRepeat="no-repeat";0==k.length&&Graph.fileSupport&&(t.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')");var p=document.createElement("div");p.style.position="absolute";p.style.width="640px";p.style.top="260px";p.style.textAlign="center";p.style.fontSize="22px";p.style.color="#a0c3ff";mxUtils.write(p,mxResources.get("dragImagesHere"));d.appendChild(p);var v={},x=null,A=null,u=null;
b=function(a){"true"!=mxEvent.getSource(a).getAttribute("contentEditable")&&null!=u&&(u(),u=null,mxEvent.consume(a))};mxEvent.addListener(t,"mousedown",b);mxEvent.addListener(t,"pointerdown",b);mxEvent.addListener(t,"touchstart",b);var w=new mxUrlConverter,F=!1;if(null!=c)for(b=0;b<c.length;b++)n=c[b],l(n.data,null,0,0,n.w,n.h,n,n.aspect,n.title);mxEvent.addListener(t,"dragleave",function(a){p.style.cursor="";for(var b=mxEvent.getSource(a);null!=b;){if(b==t||b==p){a.stopPropagation();a.preventDefault();
break}b=b.parentNode}});var E=function(b){return function(c,d,g,k,e,n,u,f,w){null!=w&&(/(\.vsdx)($|\?)/i.test(w.name)||/(\.vssx)($|\?)/i.test(w.name))?a.importVisio(w,mxUtils.bind(this,function(c){a.spinner.stop();l(c,d,g,k,e,n,u,"fixed",mxEvent.isAltDown(b)?null:u.substring(0,u.lastIndexOf(".")).replace(/_/g," "))})):null!=w&&!a.isOffline()&&(new XMLHttpRequest).upload&&a.isRemoteFileFormat(c,w.name)?a.parseFile(w,mxUtils.bind(this,function(c){4==c.readyState&&(a.spinner.stop(),200<=c.status&&299>=
c.status&&(l(c.responseText,d,g,k,e,n,u,"fixed",mxEvent.isAltDown(b)?null:u.substring(0,u.lastIndexOf(".")).replace(/_/g," ")),t.scrollTop=t.scrollHeight))})):(l(c,d,g,k,e,n,u,"fixed",mxEvent.isAltDown(b)?null:u.substring(0,u.lastIndexOf(".")).replace(/_/g," ")),t.scrollTop=t.scrollHeight)}};mxEvent.addListener(t,"dragover",m);mxEvent.addListener(t,"drop",g);mxEvent.addListener(p,"dragover",m);mxEvent.addListener(p,"drop",g);d.appendChild(t);c=document.createElement("div");c.style.textAlign="right";
@@ -7036,22 +7036,22 @@ IMAGE_PATH+"/plus.png";Editor.spinImage=mxClient.IS_SVG?"data:image/gif;base64,R
IMAGE_PATH+"/spin.gif";Editor.tweetImage=IMAGE_PATH+"/tweet.png";Editor.facebookImage=IMAGE_PATH+"/facebook.png";Editor.blankImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAACklEQVR4nGMAAQAABQABDQottAAAAABJRU5ErkJggg==";Editor.hiResImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAA+CAMAAACLMWy1AAAAh1BMVEUAAABMTExERERBQUFBQUFFRUVAQEBCQkJAQEA6OjpDQ0NKSkpBQUFBQUFERERERERBQUFCQkJCQkJCQkJJSUlBQUFCQkJDQ0NDQ0NCQkJDQ0NBQUFBQUFCQkJBQUFCQkJCQkJDQ0NCQkJHR0dBQUFCQkJCQkJAQEBCQkJDQ0NAQEBERERCQkIk1hS2AAAAKnRSTlMAAjj96BL7PgQFRwfu3TYazKuVjRXl1V1DPCn1uLGjnWNVIgy9hU40eGqPkM38AAACG0lEQVRYw+2X63KbMBCFzwZblgGDceN74muatpLe//m6MHV3gHGFAv2RjM94MAbxzdnVsQbBDKwH8AH8MDAyafzjqYeyOG04XE7RS8nIRDXg6BlT+rA0nmtAPh+NQRDxIASIMG44rAMrGunBgHwy3uUldxggIStGKp2f+DQc2O4h4eQsX3O2IFB/oEbsjOKbStnjAEA+zJ0ylZTbgvoDn8xNyn6Dbj5Kd4GsNpABa6duQPfSdEj88TgMAhKuCWjAkgmFXPLnsD0pWd3OFGdrMugQII/eOMPEiGOzqPMIeWrcSoMCg71W1pXBPvCP+gS/OdXqQ3uW23+93XGWLl/OaBb805bNcBPoEIcVJsnHzcxpZH86u5KZ9gDby5dQCcnKqdbke4ItI4Tzd7IW9hZQt4EO6GG9b9sYuuK9Wwn8TIr2xKbF2+3Nhr+qxChJ/AI6pIfCu4z4Zowp4ZUNihz79vewzctnHDwTvQO/hCdFBzrUGDOPn2Y/F8YKT4oOATLvlhOznzmBSdFBJWtc58y7r+UVFOCQczy3wpN6pegDqHtsCPTGvH9JuTO0Dyg8icldYPk+RB6g8Aofj4m2EKBvtTmUPD9xDd1pPcSReV2U5iD/ik2yrngtvvqBfPzOvKiDTKTsCdoHZJ7pLLffgTwlJ5vJdtJV2/jiAYaLvLGhMAEDO5QcDg2M/jOw/8Zn+K3ZwJvHT7ZffgC/NvA3zcybTeIfE4EAAAAASUVORK5CYII=":
IMAGE_PATH+"/img-hi-res.png";Editor.loResImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAA+CAMAAACLMWy1AAAAS1BMVEVAQEAAAAA1NTVBQUFDQ0NDQ0NFRUVERERBQUFBQUFBQUFAQEBBQUFBQUFCQkJCQkJCQkJBQUFCQkJDQ0NDQ0NCQkJCQkJCQkJGRkb5/XqTAAAAGXRSTlP+AAWODlASCsesX+Lc2LyWe3pwa1tCPjohjSJfoAAAAI1JREFUWMPt1MkKhTAMRuG0anvneXr/J71nUypKcdqI/N8yhLMKMZE1CahnClDQzMPB44ED3EgeCubgDWnWQMHpwTtKwTe+UHD4sJ94wbUEHHFGhILlYDeSnsQeabeCgsPBgB0MOZZ9oGA5GJFiJSfUULAfjLjARrhCwX7wh2YCDwVbwZkUBKqFFJRN+wOcwSgR2sREcgAAAABJRU5ErkJggg==":
IMAGE_PATH+"/img-lo-res.png";Editor.cameraLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAACxMBAJqcGAAAAVlpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KTMInWQAAA/BJREFUWAnFl0uIjWEYx885buPSuGwmSYwtwsY1ikKSNYNclmQnadgrZSPlsnBLSlaGBdNYKY0Vdi4L4zYzIqxGxmXG//d+7//0+uY7nWMiT/2/53mf+3v7vnNKpf9M5UbrDw8Pj4m+wzmeT1FBUS6Xf+YNox6reMONukijMXUTM3NmI75PyXcJPwRWg5kS7xysDLNmfEUxpx2rceNE50IlYjyRklcLf0prY+x4BTqfmx3ZUHQaO9ISGngYq38V/1EH+ECPa+QaK1u1kVBQirDMChiS3CTeIkwWvghtwhKBpZ8g1CO2B99FynVU/KowSRgQ3mlrBsVZ1awmQlS0SGbfXglfBPbdRGMm5O8RXg2P835pDCvzWjghTHETcLpZLHwS8kTCtBEK1SN83Egam8YxyVZqc+Do5qkwS+gT9grNwkUBG6cbsG/gs3BTuC/0ChCxq4QtwgzBMdwUZBPyN4Ftfi4sYPZHktbOSRlIuutRP5jYj0ueZp88xyYcS/zZoiLyQT1IA/cTj7eSlwnrhI+JnkQbCwo2Sx/2M7VJt17wdhVtgxvrpoFnAuSAbJQ97biZAlKxBfD9wgOhV+BgIR/AZtJ4kwD5PGSj7OmmekjWEy0oAQHAS3+KpBpzXqYK3UItopHpSRMno2N+cm7gDYnfRCcr3QBqriMHLJDkeyhFfiG5aVbK+8rhtP9M6QcIEJHX5Fp9NMAyQlYiu+OOJNlODCIXyka/P23bncTdiC7OydC1+v1Bsb+5r84DK8S3Rdmf5cRUFW3bXtWUSt1Rdk6G4SyJV2o1YId+vNUxr+x5yCJiapFtcxQzLjrxboGcMxvFJwEOKnLwjIbkx/sdSmeSaUY++SwTAxV+4DJT7RVwkbk46gNCsifIItuy0e9PF33Cb4homhN5YRyzL5q5V2VNkv98kqgoGTo3YF9CnMM5Y5rItFfvBSi9JulVXOgI+VwIntkt+SaZ6weQfcovJf7zpTfl86P/wAF7Fz18NeKwmvAWCaX0Z/uMHQr42ZxvR/Rxcw5xM+9J/CJq8w2gduDhmDgso/QrBH47dEXQ1IqczyHpIOfIRtnTtV7SwO1oKXKkU3fbToFGSDHtMWcaH1WBuVYnDbRFi99iqSMySdzxXckrazUh23KBVYGIcfNBkTxca0e4ATJ0KukGYVBgr/MnlhPOtQq/ksUfCbzh+EFCjtnCUoHfjhA/OsiTv2HcEvJMELp0VakZDliTmriTdPivxU4VmEhtPrGV+KJhO7ZKt0doFZh1fgZSBWIW2AGEHwg3BUWOnKtH+suqdw07tYMfglCrWPD5mw9qVYuniaXkT0OtWaSuo5LJTY1RBf+roF9X5+y/5qU+DAAAAABJRU5ErkJggg==";
-Editor.defaultCustomLibraries=[];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## 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## 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\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 parallel edges. Default is 40.\n#\n# edgespacing: 40\n#\n## Name of layout. Possible values are auto, none, verticaltree, horizontaltree,\n## verticalflow, horizontalflow, organic, circle. 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.defaultCustomLibraries=[];Editor.enableCustomLibraries=!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## 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## 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\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 parallel edges. Default is 40.\n#\n# edgespacing: 40\n#\n## Name of layout. Possible values are auto, none, verticaltree, horizontaltree,\n## verticalflow, horizontalflow, organic, circle. 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.shadowOptionEnabled=!0;Editor.configure=function(a){if(null!=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;if(null!=a.css){var b=document.createElement("style");b.setAttribute("type","text/css");b.appendChild(document.createTextNode(a.css));var c=document.getElementsByTagName("script")[0];c.parentNode.insertBefore(b,c)}null!=a.defaultLibraries&&(Sidebar.prototype.defaultEntries=a.defaultLibraries);null!=a.defaultCustomLibraries&&(Editor.defaultCustomLibraries=a.defaultCustomLibraries);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&&(b=document.createElement("style"),b.setAttribute("type",
-"text/css"),b.appendChild(document.createTextNode(a.fontCss)),c=document.getElementsByTagName("script")[0],c.parentNode.insertBefore(b,c),Editor.prototype.fontCss=a.fontCss);if(null!=a.plugins)for(App.initPluginCallback(),b=0;b<a.plugins.length;b++)mxscript(a.plugins[b])}};Editor.prototype.editButtonLink=null!=urlParams.edit?decodeURIComponent(urlParams.edit):null;var a=Editor.prototype.setGraphXml;Editor.prototype.setGraphXml=function(b){b=null!=b&&"mxlibrary"!=b.nodeName?this.extractGraphModel(b):
-null;if(null!=b){var c=b.getElementsByTagName("parsererror");if(null!=c&&0<c.length){var c=c[0],d=c.getElementsByTagName("div");null!=d&&0<d.length&&(c=d[0]);throw{message:mxUtils.getTextContent(c)};}if("mxGraphModel"==b.nodeName){c=b.getAttribute("style")||"default-style2";if("1"==urlParams.embed||null!=c&&""!=c)c!=this.graph.currentStyle&&(d=null!=this.graph.themes?this.graph.themes[c]:mxUtils.load(STYLE_PATH+"/"+c+".xml").getDocumentElement(),null!=d&&(g=new mxCodec(d.ownerDocument),g.decode(d,
-this.graph.getStylesheet())));else if(d=null!=this.graph.themes?this.graph.themes["default-old"]:mxUtils.load(STYLE_PATH+"/default-old.xml").getDocumentElement(),null!=d){var g=new mxCodec(d.ownerDocument);g.decode(d,this.graph.getStylesheet())}this.graph.currentStyle=c;this.graph.mathEnabled="1"==urlParams.math||"1"==b.getAttribute("math");c=b.getAttribute("backgroundImage");null!=c?(c=JSON.parse(c),this.graph.setBackgroundImage(new mxImage(c.src,c.width,c.height))):this.graph.setBackgroundImage(null);
-mxClient.NO_FO=this.graph.mathEnabled?!0:this.originalNoForeignObject;this.graph.setShadowVisible("1"==b.getAttribute("shadow"),!1)}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");return c};Editor.prototype.isDataSvg=function(a){try{var b=mxUtils.parseXml(a).documentElement.getAttribute("content");if(null!=b&&(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)){var c=mxUtils.parseXml(b).documentElement;return"mxfile"==c.nodeName||"mxGraphModel"==c.nodeName}}catch(w){}return!1};Editor.prototype.extractGraphModel=function(a,b){if(null!=a&&"undefined"!==typeof pako){var c=a.ownerDocument.getElementsByTagName("div"),d=[];if(null!=c&&0<c.length)for(var g=0;g<c.length;g++)if("mxgraph"==c[g].getAttribute("class")){d.push(c[g]);break}0<d.length&&(c=d[0].getAttribute("data-mxgraph"),null!=c?(d=JSON.parse(c),null!=d&&null!=d.xml&&(d=mxUtils.parseXml(d.xml),
-a=d.documentElement)):(d=d[0].getElementsByTagName("div"),0<d.length&&(c=mxUtils.getTextContent(d[0]),c=this.graph.decompress(c),0<c.length&&(d=mxUtils.parseXml(c),a=d.documentElement))))}if(null!=a&&"svg"==a.nodeName)if(c=a.getAttribute("content"),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)a=mxUtils.parseXml(c).documentElement;else throw{message:mxResources.get("notADiagramFile")};
-null==a||b||(d=null,"diagram"==a.nodeName?d=a:"mxfile"==a.nodeName&&(c=a.getElementsByTagName("diagram"),0<c.length&&(d=c[Math.max(0,Math.min(c.length-1,urlParams.page||0))])),null!=d&&(c=this.graph.decompress(mxUtils.getTextContent(d)),null!=c&&0<c.length&&(a=mxUtils.parseXml(c).documentElement)));null==a||"mxGraphModel"==a.nodeName||b&&"mxfile"==a.nodeName||(a=null);return a};var d=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?!0:this.originalNoForeignObject;d.apply(this,arguments)};Editor.prototype.originalNoForeignObject=mxClient.NO_FO;var c=Editor.prototype.updateGraphComponents;Editor.prototype.updateGraphComponents=function(){c.apply(this,arguments);mxClient.NO_FO=this.graph.mathEnabled&&null!=Editor.MathJaxRender?!0:this.originalNoForeignObject};Editor.initMath=function(a,b){a=null!=a?a:"https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/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(b||{jax:["input/TeX","input/MathML","input/AsciiMath","output/HTML-CSS"],extensions:["tex2jax.js","mml2jax.js","asciimath2jax.js"],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 c=Editor.prototype.init;Editor.prototype.init=function(){c.apply(this,arguments);this.graph.addListener(mxEvent.SIZE,
-mxUtils.bind(this,function(a,b){null!=this.graph.container&&this.graph.mathEnabled&&Editor.MathJaxRender(this.graph.container)}))};var d=document.getElementsByTagName("script");if(null!=d&&0<d.length){var g=document.createElement("script");g.type="text/javascript";g.src=a;d[0].parentNode.appendChild(g)}};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;
+a.defaultEdgeLength||Graph.prototype.defaultEdgeLength;if(null!=a.css){var b=document.createElement("style");b.setAttribute("type","text/css");b.appendChild(document.createTextNode(a.css));var c=document.getElementsByTagName("script")[0];c.parentNode.insertBefore(b,c)}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&&
+(b=document.createElement("style"),b.setAttribute("type","text/css"),b.appendChild(document.createTextNode(a.fontCss)),c=document.getElementsByTagName("script")[0],c.parentNode.insertBefore(b,c),Editor.prototype.fontCss=a.fontCss);if(null!=a.plugins)for(App.initPluginCallback(),b=0;b<a.plugins.length;b++)mxscript(a.plugins[b])}};Editor.prototype.editButtonLink=null!=urlParams.edit?decodeURIComponent(urlParams.edit):null;var a=Editor.prototype.setGraphXml;Editor.prototype.setGraphXml=function(b){b=
+null!=b&&"mxlibrary"!=b.nodeName?this.extractGraphModel(b):null;if(null!=b){var c=b.getElementsByTagName("parsererror");if(null!=c&&0<c.length){var c=c[0],d=c.getElementsByTagName("div");null!=d&&0<d.length&&(c=d[0]);throw{message:mxUtils.getTextContent(c)};}if("mxGraphModel"==b.nodeName){c=b.getAttribute("style")||"default-style2";if("1"==urlParams.embed||null!=c&&""!=c)c!=this.graph.currentStyle&&(d=null!=this.graph.themes?this.graph.themes[c]:mxUtils.load(STYLE_PATH+"/"+c+".xml").getDocumentElement(),
+null!=d&&(g=new mxCodec(d.ownerDocument),g.decode(d,this.graph.getStylesheet())));else if(d=null!=this.graph.themes?this.graph.themes["default-old"]:mxUtils.load(STYLE_PATH+"/default-old.xml").getDocumentElement(),null!=d){var g=new mxCodec(d.ownerDocument);g.decode(d,this.graph.getStylesheet())}this.graph.currentStyle=c;this.graph.mathEnabled="1"==urlParams.math||"1"==b.getAttribute("math");c=b.getAttribute("backgroundImage");null!=c?(c=JSON.parse(c),this.graph.setBackgroundImage(new mxImage(c.src,
+c.width,c.height))):this.graph.setBackgroundImage(null);mxClient.NO_FO=this.graph.mathEnabled?!0:this.originalNoForeignObject;this.graph.setShadowVisible("1"==b.getAttribute("shadow"),!1)}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");return c};Editor.prototype.isDataSvg=function(a){try{var b=mxUtils.parseXml(a).documentElement.getAttribute("content");if(null!=b&&(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)){var c=mxUtils.parseXml(b).documentElement;return"mxfile"==c.nodeName||"mxGraphModel"==c.nodeName}}catch(w){}return!1};Editor.prototype.extractGraphModel=function(a,b){if(null!=a&&"undefined"!==typeof pako){var c=a.ownerDocument.getElementsByTagName("div"),d=[];if(null!=c&&0<c.length)for(var g=0;g<c.length;g++)if("mxgraph"==c[g].getAttribute("class")){d.push(c[g]);break}0<d.length&&(c=d[0].getAttribute("data-mxgraph"),null!=
+c?(d=JSON.parse(c),null!=d&&null!=d.xml&&(d=mxUtils.parseXml(d.xml),a=d.documentElement)):(d=d[0].getElementsByTagName("div"),0<d.length&&(c=mxUtils.getTextContent(d[0]),c=this.graph.decompress(c),0<c.length&&(d=mxUtils.parseXml(c),a=d.documentElement))))}if(null!=a&&"svg"==a.nodeName)if(c=a.getAttribute("content"),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)a=mxUtils.parseXml(c).documentElement;
+else throw{message:mxResources.get("notADiagramFile")};null==a||b||(d=null,"diagram"==a.nodeName?d=a:"mxfile"==a.nodeName&&(c=a.getElementsByTagName("diagram"),0<c.length&&(d=c[Math.max(0,Math.min(c.length-1,urlParams.page||0))])),null!=d&&(c=this.graph.decompress(mxUtils.getTextContent(d)),null!=c&&0<c.length&&(a=mxUtils.parseXml(c).documentElement)));null==a||"mxGraphModel"==a.nodeName||b&&"mxfile"==a.nodeName||(a=null);return a};var d=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?!0:this.originalNoForeignObject;d.apply(this,arguments)};Editor.prototype.originalNoForeignObject=mxClient.NO_FO;var c=Editor.prototype.updateGraphComponents;Editor.prototype.updateGraphComponents=function(){c.apply(this,arguments);mxClient.NO_FO=this.graph.mathEnabled&&null!=Editor.MathJaxRender?!0:this.originalNoForeignObject};Editor.initMath=function(a,b){a=null!=a?a:"https://math.draw.io/current/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(b||{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 c=Editor.prototype.init;Editor.prototype.init=
+function(){c.apply(this,arguments);this.graph.addListener(mxEvent.SIZE,mxUtils.bind(this,function(a,b){null!=this.graph.container&&this.graph.mathEnabled&&Editor.MathJaxRender(this.graph.container)}))};var d=document.getElementsByTagName("script");if(null!=d&&0<d.length){var g=document.createElement("script");g.type="text/javascript";g.src=a;d[0].parentNode.appendChild(g)}};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 b=[];a.replace(/(?!\s*$)\s*(?:'([^'\\]*(?:\\[\S\s][^'\\]*)*)'|"([^"\\]*(?:\\[\S\s][^"\\]*)*)"|([^,'"\s\\]*(?:\s+[^,'"\s\\]+)*))\s*(?:,|$)/g,function(a,c,d,g){void 0!==c?b.push(c.replace(/\\'/g,"'")):void 0!==d?b.push(d.replace(/\\"/g,'"')):void 0!==g&&b.push(g);return""});/,\s*$/.test(a)&&b.push("");return b};if(window.ColorDialog){var e=ColorDialog.addRecentColor;ColorDialog.addRecentColor=function(a,b){e.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()};
var f=ColorDialog.resetRecentColors;ColorDialog.resetRecentColors=function(){f.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()}}if(null!=window.StyleFormatPanel){var h=Format.prototype.init;Format.prototype.init=function(){h.apply(this,arguments);this.editorUi.editor.addListener("fileLoaded",this.update)};var l=Format.prototype.refresh;Format.prototype.refresh=function(){null!=this.editorUi.getCurrentFile()||"1"==urlParams.embed||this.editorUi.editor.chromeless?
l.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 m=DiagramFormatPanel.prototype.addView;DiagramFormatPanel.prototype.addView=function(a){a=m.apply(this,arguments);this.editorUi.getCurrentFile();if(mxClient.IS_SVG&&this.isShadowOptionVisible()){var b=this.editorUi,c=b.editor.graph,d=this.createOption(mxResources.get("shadow"),
@@ -7087,35 +7087,35 @@ mxStencilRegistry.libraries.arrows2=[SHAPES_PATH+"/mxArrows.js"];mxStencilRegist
[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.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.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 p=mxMarker.createMarker;mxMarker.createMarker=function(a,b,c,d,g,k,e,n,f,h){if(null!=c&&null==mxMarker.markers[c]){var u=this.getPackageForType(c);
-null!=u&&mxStencilRegistry.getStencil(u)}return p.apply(this,arguments)};PrintDialog.prototype.create=function(a,b){function c(){p.value=Math.max(1,Math.min(n,Math.max(parseInt(p.value),parseInt(l.value))));l.value=Math.max(1,Math.min(n,Math.min(parseInt(p.value),parseInt(l.value))))}function d(b){function c(b,c,g){var k=b.getGraphBounds(),e=0,n=0,f=ba.get(),u=1/b.pageScale,h=z.checked;if(h)var u=parseInt(Q.value),q=parseInt(P.value),u=Math.min(f.height*q/(k.height/b.view.scale),f.width*u/(k.width/
+null!=u&&mxStencilRegistry.getStencil(u)}return p.apply(this,arguments)};PrintDialog.prototype.create=function(a,b){function c(){p.value=Math.max(1,Math.min(n,Math.max(parseInt(p.value),parseInt(l.value))));l.value=Math.max(1,Math.min(n,Math.min(parseInt(p.value),parseInt(l.value))))}function d(b){function c(b,c,g){var k=b.getGraphBounds(),e=0,n=0,f=ba.get(),u=1/b.pageScale,h=A.checked;if(h)var u=parseInt(Q.value),q=parseInt(P.value),u=Math.min(f.height*q/(k.height/b.view.scale),f.width*u/(k.width/
b.view.scale));else u=parseInt(x.value)/(100*b.pageScale),isNaN(u)&&(d=1/b.pageScale,x.value="100 %");f=mxRectangle.fromRectangle(f);f.width=Math.ceil(f.width*d);f.height=Math.ceil(f.height*d);u*=d;!h&&b.pageVisible?(k=b.getPageLayout(),e-=k.x*f.width,n-=k.y*f.height):h=!0;if(null==c){c=PrintDialog.createPrintPreview(b,u,f,0,e,n,h);c.pageSelector=!1;c.mathEnabled=!1;b=a.getCurrentFile();null!=b&&(c.title=b.getTitle());var w=c.writeHead;c.writeHead=function(b){w.apply(this,arguments);null!=a.editor.fontCss&&
(b.writeln('<style type="text/css">'),b.writeln(a.editor.fontCss),b.writeln("</style>"))};if("undefined"!==typeof MathJax){var t=c.renderPage;c.renderPage=function(a,b,c,d,g,k){var e=t.apply(this,arguments);this.graph.mathEnabled?this.mathEnabled=!0:e.className="geDisableMathJax";return e}}c.open(null,null,g,!0)}else{f=b.background;if(null==f||""==f||f==mxConstants.NONE)f="#ffffff";c.backgroundColor=f;c.autoOrigin=h;c.appendGraph(b,u,e,n,g,!0)}return c}var d=parseInt(U.value)/100;isNaN(d)&&(d=1,U.value=
"100 %");var d=.75*d,k=l.value,e=p.value,n=!q.checked,u=null;n&&(n=k==f&&e==f);if(!n&&null!=a.pages&&a.pages.length){var h=0,n=a.pages.length-1;q.checked||(h=parseInt(k)-1,n=parseInt(e)-1);for(var t=h;t<=n;t++){var w=a.pages[t],k=w==a.currentPage?g:null;if(null==k){var k=a.createTemporaryGraph(g.getStylesheet()),e=!0,h=!1,v=null,m=null;null==w.viewState&&null==w.mapping&&null==w.root&&a.updatePageRoot(w);null!=w.viewState?(e=w.viewState.pageVisible,h=w.viewState.mathEnabled,v=w.viewState.background,
m=w.viewState.backgroundImage):null!=w.mapping&&null!=w.mapping.diagramMap&&(h="0"!=w.mapping.diagramMap.get("mathEnabled"),v=w.mapping.diagramMap.get("background"),m=w.mapping.diagramMap.get("backgroundImage"),m=null!=m&&0<m.length?JSON.parse(m):null);k.background=v;k.backgroundImage=null!=m?new mxImage(m.src,m.width,m.height):null;k.pageVisible=e;k.mathEnabled=h;var C=k.getGlobalVariable;k.getGlobalVariable=function(a){return"page"==a?w.getName():"pagenumber"==a?t+1:C.apply(this,arguments)};document.body.appendChild(k.container);
-a.updatePageRoot(w);k.model.setRoot(w.root)}u=c(k,u,t!=n);k!=g&&k.container.parentNode.removeChild(k.container)}}else u=c(g);u.mathEnabled&&(n=u.wnd.document,n.writeln('<script type="text/x-mathjax-config">'),n.writeln("MathJax.Hub.Config({"),n.writeln('messageStyle: "none",'),n.writeln('jax: ["input/TeX", "input/MathML", "input/AsciiMath", "output/HTML-CSS"],'),n.writeln('extensions: ["tex2jax.js", "mml2jax.js", "asciimath2jax.js"],'),n.writeln("TeX: {"),n.writeln('extensions: ["AMSmath.js", "AMSsymbols.js", "noErrors.js", "noUndefined.js"]'),
-n.writeln("},"),n.writeln("tex2jax: {"),n.writeln('\tignoreClass: "geDisableMathJax"'),n.writeln("},"),n.writeln("asciimath2jax: {"),n.writeln('\tignoreClass: "geDisableMathJax"'),n.writeln("}"),n.writeln("});"),b&&(n.writeln("MathJax.Hub.Queue(function () {"),n.writeln("window.print();"),n.writeln("});")),n.writeln("\x3c/script>"),n.writeln('<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js">\x3c/script>'));u.closeDocument();!u.mathEnabled&&b&&PrintDialog.printPreview(u)}
-var g=a.editor.graph,k=document.createElement("div"),e=document.createElement("h3");e.style.width="100%";e.style.textAlign="center";e.style.marginTop="0px";mxUtils.write(e,b||mxResources.get("print"));k.appendChild(e);var n=1,f=1,h=document.createElement("div");h.style.cssText="border-bottom:1px solid lightGray;padding-bottom:12px;margin-bottom:12px;";var q=document.createElement("input");q.style.cssText="margin-right:8px;margin-bottom:8px;";q.setAttribute("value","all");q.setAttribute("type","radio");
-q.setAttribute("name","pages-printdialog");h.appendChild(q);e=document.createElement("span");mxUtils.write(e,mxResources.get("printAllPages"));h.appendChild(e);mxUtils.br(h);var t=q.cloneNode(!0);q.setAttribute("checked","checked");t.setAttribute("value","range");h.appendChild(t);e=document.createElement("span");mxUtils.write(e,mxResources.get("pages")+":");h.appendChild(e);var l=document.createElement("input");l.style.cssText="margin:0 8px 0 8px;";l.setAttribute("value","1");l.setAttribute("type",
-"number");l.setAttribute("min","1");l.style.width="50px";h.appendChild(l);e=document.createElement("span");mxUtils.write(e,mxResources.get("to"));h.appendChild(e);var p=l.cloneNode(!0);h.appendChild(p);mxEvent.addListener(l,"focus",function(){t.checked=!0});mxEvent.addListener(p,"focus",function(){t.checked=!0});mxEvent.addListener(l,"change",c);mxEvent.addListener(p,"change",c);if(null!=a.pages&&(n=a.pages.length,null!=a.currentPage))for(e=0;e<a.pages.length;e++)if(a.currentPage==a.pages[e]){f=e+
-1;l.value=f;p.value=f;break}l.setAttribute("max",n);p.setAttribute("max",n);1<n&&k.appendChild(h);var v=document.createElement("div");v.style.marginBottom="10px";var m=document.createElement("input");m.style.marginRight="8px";m.setAttribute("value","adjust");m.setAttribute("type","radio");m.setAttribute("name","printZoom");v.appendChild(m);e=document.createElement("span");mxUtils.write(e,mxResources.get("adjustTo"));v.appendChild(e);var x=document.createElement("input");x.style.cssText="margin:0 8px 0 8px;";
-x.setAttribute("value","100 %");x.style.width="50px";v.appendChild(x);mxEvent.addListener(x,"focus",function(){m.checked=!0});k.appendChild(v);var h=h.cloneNode(!1),z=m.cloneNode(!0);z.setAttribute("value","fit");m.setAttribute("checked","checked");e=document.createElement("div");e.style.cssText="display:inline-block;height:100%;vertical-align:top;padding-top:2px;";e.appendChild(z);h.appendChild(e);v=document.createElement("table");v.style.display="inline-block";var N=document.createElement("tbody"),
+a.updatePageRoot(w);k.model.setRoot(w.root)}u=c(k,u,t!=n);k!=g&&k.container.parentNode.removeChild(k.container)}}else u=c(g);u.mathEnabled&&(n=u.wnd.document,n.writeln('<script type="text/x-mathjax-config">'),n.writeln("MathJax.Hub.Config({"),n.writeln('messageStyle: "none",'),n.writeln('jax: ["input/TeX", "input/MathML", "input/AsciiMath", "output/HTML-CSS"],'),n.writeln('extensions: ["tex2jax.js", "mml2jax.js", "asciimath2jax.js"],'),n.writeln('"HTML-CSS": {'),n.writeln("imageFont: null"),n.writeln("},"),
+n.writeln("TeX: {"),n.writeln('extensions: ["AMSmath.js", "AMSsymbols.js", "noErrors.js", "noUndefined.js"]'),n.writeln("},"),n.writeln("tex2jax: {"),n.writeln('\tignoreClass: "geDisableMathJax"'),n.writeln("},"),n.writeln("asciimath2jax: {"),n.writeln('\tignoreClass: "geDisableMathJax"'),n.writeln("}"),n.writeln("});"),b&&(n.writeln("MathJax.Hub.Queue(function () {"),n.writeln("window.print();"),n.writeln("});")),n.writeln("\x3c/script>"),n.writeln('<script type="text/javascript" src="https://math.draw.io/current/MathJax.js">\x3c/script>'));
+u.closeDocument();!u.mathEnabled&&b&&PrintDialog.printPreview(u)}var g=a.editor.graph,k=document.createElement("div"),e=document.createElement("h3");e.style.width="100%";e.style.textAlign="center";e.style.marginTop="0px";mxUtils.write(e,b||mxResources.get("print"));k.appendChild(e);var n=1,f=1,h=document.createElement("div");h.style.cssText="border-bottom:1px solid lightGray;padding-bottom:12px;margin-bottom:12px;";var q=document.createElement("input");q.style.cssText="margin-right:8px;margin-bottom:8px;";
+q.setAttribute("value","all");q.setAttribute("type","radio");q.setAttribute("name","pages-printdialog");h.appendChild(q);e=document.createElement("span");mxUtils.write(e,mxResources.get("printAllPages"));h.appendChild(e);mxUtils.br(h);var t=q.cloneNode(!0);q.setAttribute("checked","checked");t.setAttribute("value","range");h.appendChild(t);e=document.createElement("span");mxUtils.write(e,mxResources.get("pages")+":");h.appendChild(e);var l=document.createElement("input");l.style.cssText="margin:0 8px 0 8px;";
+l.setAttribute("value","1");l.setAttribute("type","number");l.setAttribute("min","1");l.style.width="50px";h.appendChild(l);e=document.createElement("span");mxUtils.write(e,mxResources.get("to"));h.appendChild(e);var p=l.cloneNode(!0);h.appendChild(p);mxEvent.addListener(l,"focus",function(){t.checked=!0});mxEvent.addListener(p,"focus",function(){t.checked=!0});mxEvent.addListener(l,"change",c);mxEvent.addListener(p,"change",c);if(null!=a.pages&&(n=a.pages.length,null!=a.currentPage))for(e=0;e<a.pages.length;e++)if(a.currentPage==
+a.pages[e]){f=e+1;l.value=f;p.value=f;break}l.setAttribute("max",n);p.setAttribute("max",n);1<n&&k.appendChild(h);var v=document.createElement("div");v.style.marginBottom="10px";var m=document.createElement("input");m.style.marginRight="8px";m.setAttribute("value","adjust");m.setAttribute("type","radio");m.setAttribute("name","printZoom");v.appendChild(m);e=document.createElement("span");mxUtils.write(e,mxResources.get("adjustTo"));v.appendChild(e);var x=document.createElement("input");x.style.cssText=
+"margin:0 8px 0 8px;";x.setAttribute("value","100 %");x.style.width="50px";v.appendChild(x);mxEvent.addListener(x,"focus",function(){m.checked=!0});k.appendChild(v);var h=h.cloneNode(!1),A=m.cloneNode(!0);A.setAttribute("value","fit");m.setAttribute("checked","checked");e=document.createElement("div");e.style.cssText="display:inline-block;height:100%;vertical-align:top;padding-top:2px;";e.appendChild(A);h.appendChild(e);v=document.createElement("table");v.style.display="inline-block";var N=document.createElement("tbody"),
S=document.createElement("tr"),O=S.cloneNode(!0),I=document.createElement("td"),W=I.cloneNode(!0),R=I.cloneNode(!0),T=I.cloneNode(!0),V=I.cloneNode(!0),K=I.cloneNode(!0);I.style.textAlign="right";T.style.textAlign="right";mxUtils.write(I,mxResources.get("fitTo"));var Q=document.createElement("input");Q.style.cssText="margin:0 8px 0 8px;";Q.setAttribute("value","1");Q.setAttribute("min","1");Q.setAttribute("type","number");Q.style.width="40px";W.appendChild(Q);e=document.createElement("span");mxUtils.write(e,
-mxResources.get("fitToSheetsAcross"));R.appendChild(e);mxUtils.write(T,mxResources.get("fitToBy"));var P=Q.cloneNode(!0);V.appendChild(P);mxEvent.addListener(Q,"focus",function(){z.checked=!0});mxEvent.addListener(P,"focus",function(){z.checked=!0});e=document.createElement("span");mxUtils.write(e,mxResources.get("fitToSheetsDown"));K.appendChild(e);S.appendChild(I);S.appendChild(W);S.appendChild(R);O.appendChild(T);O.appendChild(V);O.appendChild(K);N.appendChild(S);N.appendChild(O);v.appendChild(N);
+mxResources.get("fitToSheetsAcross"));R.appendChild(e);mxUtils.write(T,mxResources.get("fitToBy"));var P=Q.cloneNode(!0);V.appendChild(P);mxEvent.addListener(Q,"focus",function(){A.checked=!0});mxEvent.addListener(P,"focus",function(){A.checked=!0});e=document.createElement("span");mxUtils.write(e,mxResources.get("fitToSheetsDown"));K.appendChild(e);S.appendChild(I);S.appendChild(W);S.appendChild(R);O.appendChild(T);O.appendChild(V);O.appendChild(K);N.appendChild(S);N.appendChild(O);v.appendChild(N);
h.appendChild(v);k.appendChild(h);h=document.createElement("div");e=document.createElement("div");e.style.fontWeight="bold";e.style.marginBottom="12px";mxUtils.write(e,mxResources.get("paperSize"));h.appendChild(e);e=document.createElement("div");e.style.marginBottom="12px";var ba=PageSetupDialog.addPageFormatPanel(e,"printdialog",a.editor.graph.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT);h.appendChild(e);e=document.createElement("span");mxUtils.write(e,mxResources.get("pageScale"));h.appendChild(e);
var U=document.createElement("input");U.style.cssText="margin:0 8px 0 8px;";U.setAttribute("value","100 %");U.style.width="60px";h.appendChild(U);k.appendChild(h);e=document.createElement("div");e.style.cssText="text-align:right;margin:62px 0 0 0;";h=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});h.className="geBtn";a.editor.cancelFirst&&e.appendChild(h);a.isOffline()||(v=mxUtils.button(mxResources.get("help"),function(){g.openLink("https://desk.draw.io/support/solutions/articles/16000048947")}),
v.className="geBtn",e.appendChild(v));PrintDialog.previewEnabled&&(v=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();d(!1)}),v.className="geBtn",e.appendChild(v));v=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();d(!0)});v.className="geBtn gePrimaryBtn";e.appendChild(v);a.editor.cancelFirst||e.appendChild(h);k.appendChild(e);this.container=k};var v=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)):(v.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))}})();
-(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.beforeDecode=function(a,d,c){c.ui=a.ui;return d};a.afterDecode=function(a,d,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="8.6.8";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.enableLogging=/.*\.draw\.io$/.test(window.location.hostname);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.prototype.emptyDiagramXml='<mxGraphModel><root><mxCell id="0"/><mxCell id="1" parent="0"/></root></mxGraphModel>';
+(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.beforeDecode=function(a,d,c){c.ui=a.ui;return d};a.afterDecode=function(a,d,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="8.6.9";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.enableLogging=/.*\.draw\.io$/.test(window.location.hostname);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.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.sidebarFooterHeight=36;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.currentFile=null;EditorUi.prototype.printPdfExport=
!1;EditorUi.prototype.pdfPageExport=!0;EditorUi.prototype.formatEnabled="0"!=urlParams.format;EditorUi.prototype.closableScratchpad=!0;EditorUi.prototype.showCsvImport=!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(t){}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(p){}};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(t){}try{b=document.createElement("canvas");b.width=b.height=1;var d=b.toDataURL("image/jpeg");
EditorUi.prototype.jpgSupported=null!==d.match("image/jpeg")}catch(t){}})();EditorUi.prototype.openLink=function(a,b){return this.editor.graph.openLink(a,b)};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);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()};EditorUi.prototype.isOfflineApp=function(){return"1"==urlParams.offline};EditorUi.prototype.isOffline=function(){return this.isOfflineApp()||!navigator.onLine||"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}),g=d.spin;d.spin=function(c,e){var k=!1;this.active||(g.call(this,c),this.active=!0,null!=e&&(k=document.createElement("div"),k.style.position="absolute",k.style.whiteSpace="nowrap",k.style.background="#4B4243",k.style.color="white",k.style.fontFamily="Helvetica, Arial",k.style.fontSize=
-"9pt",k.style.padding="6px",k.style.paddingLeft="10px",k.style.paddingRight="10px",k.style.zIndex=2E9,k.style.left=Math.max(0,a)+"px",k.style.top=Math.max(0,b+70)+"px",mxUtils.setPrefixedStyle(k.style,"borderRadius","6px"),mxUtils.setPrefixedStyle(k.style,"transform","translate(-50%,-50%)"),"dark"!=uiTheme&&mxUtils.setPrefixedStyle(k.style,"boxShadow","2px 2px 3px 0px #ddd"),k.innerHTML=e+"...",c.appendChild(k),d.status=k,mxClient.IS_VML&&(null==document.documentMode||8>=document.documentMode)&&(k.style.left=
-Math.round(Math.max(0,a-k.offsetWidth/2))+"px",k.style.top=Math.round(Math.max(0,b+70-k.offsetHeight/2))+"px")),this.pause=mxUtils.bind(this,function(){var a=function(){};this.active&&(a=mxUtils.bind(this,function(){this.spin(c,e)}));this.stop();return a}),k=!0);return k};var e=d.stop;d.stop=function(){e.call(this);this.active=!1;null!=d.status&&(d.status.parentNode.removeChild(d.status),d.status=null)};d.pause=function(){return function(){}};return d};EditorUi.parsePng=function(a,b,c){function d(a,
+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}),g=d.spin;d.spin=function(c,k){var e=!1;this.active||(g.call(this,c),this.active=!0,null!=k&&(e=document.createElement("div"),e.style.position="absolute",e.style.whiteSpace="nowrap",e.style.background="#4B4243",e.style.color="white",e.style.fontFamily="Helvetica, Arial",e.style.fontSize=
+"9pt",e.style.padding="6px",e.style.paddingLeft="10px",e.style.paddingRight="10px",e.style.zIndex=2E9,e.style.left=Math.max(0,a)+"px",e.style.top=Math.max(0,b+70)+"px",mxUtils.setPrefixedStyle(e.style,"borderRadius","6px"),mxUtils.setPrefixedStyle(e.style,"transform","translate(-50%,-50%)"),"dark"!=uiTheme&&mxUtils.setPrefixedStyle(e.style,"boxShadow","2px 2px 3px 0px #ddd"),e.innerHTML=k+"...",c.appendChild(e),d.status=e,mxClient.IS_VML&&(null==document.documentMode||8>=document.documentMode)&&(e.style.left=
+Math.round(Math.max(0,a-e.offsetWidth/2))+"px",e.style.top=Math.round(Math.max(0,b+70-e.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}),e=!0);return e};var k=d.stop;d.stop=function(){k.call(this);this.active=!1;null!=d.status&&(d.status.parentNode.removeChild(d.status),d.status=null)};d.pause=function(){return function(){}};return d};EditorUi.parsePng=function(a,b,c){function d(a,
b){var c=k;k+=b;return a.substring(c,k)}function g(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=g(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.prototype.isCompatibleString=function(a){try{var b=mxUtils.parseXml(a),c=this.editor.extractGraphModel(b.documentElement,
!0);return null!=c&&0==c.getElementsByTagName("parsererror").length}catch(q){}return!1};var a=EditorUi.prototype.extractGraphModelFromHtml;EditorUi.prototype.extractGraphModelFromHtml=function(b){var c=a.apply(this,arguments);if(null==c)try{var d=b.indexOf("&lt;mxfile ");if(0<=d){var g=b.lastIndexOf("&lt;/mxfile&gt;");g>d&&(c=b.substring(d,g+15).replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/\\&quot;/g,'"').replace(/\n/g,""))}else var e=mxUtils.parseXml(b),f=this.editor.extractGraphModel(e.documentElement,
null!=this.pages),c=null!=f?mxUtils.getXml(f):""}catch(v){}return c};EditorUi.prototype.validateFileData=function(a){if(null!=a&&0<a.length){var b=a.indexOf('<meta charset="utf-8">');0<=b&&(a=a.slice(0,b)+'<meta charset="utf-8"/>'+a.slice(b+23-1,a.length))}return a};EditorUi.prototype.replaceFileData=function(a){a=this.validateFileData(a);a=null!=a&&0<a.length?mxUtils.parseXml(a).documentElement:null;var b=null!=a?this.editor.extractGraphModel(a,!0):null;null!=b&&(a=b);if(null!=a){b=this.editor.graph;
@@ -7133,115 +7133,115 @@ return a};EditorUi.prototype.getHtml=function(a,b,c,d,e,f){f=null!=f?f:!0;var g=
this.currentPage));return(null==e?'\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n':"")+"<!DOCTYPE html>\n<html"+(null!=e?' xmlns="http://www.w3.org/1999/xhtml">':">")+"\n<head>\n"+(null==e?null!=c?"<title>"+mxUtils.htmlEntities(c)+"</title>\n":"":"<title>Draw.io Diagram</title>\n")+(null!=e?'<meta http-equiv="refresh" content="0;URL=\''+e+"'\"/>\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==e?'<script type="text/javascript" src="https://www.draw.io/js/viewer.min.js">\x3c/script>':'<a style="position:absolute;top:50%;left:50%;margin-top:-128px;margin-left:-64px;" href="'+e+'" target="_blank"><img border="0" src="https://www.draw.io/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;var b=null!=a&&0<a.length?
mxUtils.parseXml(a).documentElement:null;a=null!=b?this.editor.extractGraphModel(b,!0):null;null!=a&&(b=a);if(null!=b&&"mxfile"==b.nodeName&&(a=b.getElementsByTagName("diagram"),"0"!=urlParams.pages||1<a.length||1==a.length&&a[0].hasAttribute("name"))){this.fileNode=b;this.pages=[];for(b=0;b<a.length;b++){var c=new DiagramPage(a[b]);null==c.getName()&&c.setName(mxResources.get("pageWithNumber",[b+1]));this.pages.push(c)}this.currentPage=this.pages[Math.max(0,Math.min(this.pages.length-1,urlParams.page||
-0))];b=this.currentPage.node}"0"!=urlParams.pages&&null==this.fileNode&&null!=b&&(this.fileNode=b.ownerDocument.createElement("mxfile"),this.currentPage=new DiagramPage(b.ownerDocument.createElement("diagram")),this.currentPage.setName(mxResources.get("pageWithNumber",[1])),this.pages=[this.currentPage]);this.editor.setGraphXml(b);null!=this.currentPage&&(this.currentPage.root=this.editor.graph.model.root)};EditorUi.prototype.getBaseFilename=function(){var a=this.getCurrentFile(),a=null!=a&&null!=
-a.getTitle()?a.getTitle():this.defaultFilename;if(/(\.xml)$/i.test(a)||/(\.html)$/i.test(a)||/(\.svg)$/i.test(a)||/(\.png)$/i.test(a))a=a.substring(0,a.lastIndexOf("."));return a};EditorUi.prototype.downloadFile=function(a,b,c,d,e,f,h){try{d=null!=d?d:this.editor.graph.isSelectionEmpty();var g=this.getBaseFilename(),k=g+"."+a;if("xml"==a){var n='<?xml version="1.0" encoding="UTF-8"?>\n'+(b?mxUtils.getXml(this.editor.getGraphXml(d)):this.getFileData(!0,null,null,null,d,e));this.saveData(k,a,n,"text/xml")}else if("html"==
-a)n=this.getHtml2(this.getFileData(!0),this.editor.graph,g),this.saveData(k,a,n,"text/html");else if("svg"!=a&&"xmlsvg"!=a||!this.spinner.spin(document.body,mxResources.get("export")))"xmlpng"==a?k=g+".png":"jpeg"==a&&(k=g+".jpg"),this.saveRequest(k,a,mxUtils.bind(this,function(b,c){try{var g=this.editor.graph.pageVisible;null!=f&&(this.editor.graph.pageVisible=f);var e=this.createDownloadRequest(b,a,d,c,h);this.editor.graph.pageVisible=g;return e}catch(C){this.handleError(C)}}));else{var q=null,
-l=mxUtils.bind(this,function(a){a.length<=MAX_REQUEST_SIZE?this.saveData(k,"svg",a,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(q)}))});if("svg"==a){var v=this.editor.graph.background;if(h||v==mxConstants.NONE)v=null;var t=this.editor.graph.getSvg(v,null,null,null,null,d);c&&this.editor.graph.addSvgShadow(t);this.convertImages(t,mxUtils.bind(this,mxUtils.bind(this,function(a){this.spinner.stop();
-l('<?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 k=g+".svg",q=this.getFileData(!1,!0,null,mxUtils.bind(this,function(a){this.spinner.stop();l(a)}),d)}}catch(D){this.handleError(D)}};EditorUi.prototype.createDownloadRequest=function(a,b,c,d,e){var g=this.editor.graph.getGraphBounds();c=this.getFileData(!0,null,null,null,c,"xmlpng"!=b);var k="";if(g.width*g.height>MAX_AREA||c.length>
-MAX_REQUEST_SIZE)throw{message:mxResources.get("drawingTooLarge")};g="0";if("xmlpng"==b&&(g="1",b="png",null!=this.pages&&null!=this.currentPage))for(var n=0;n<this.pages.length;n++)if(this.pages[n]==this.currentPage){k="&from="+n;break}n=this.editor.graph.background;"png"==b&&e&&(n=mxConstants.NONE);return new mxXmlRequest(EXPORT_URL,"format="+b+k+"&bg="+(null!=n?n:mxConstants.NONE)+"&base64="+d+"&embedXml="+g+"&xml="+encodeURIComponent(c)+(null!=a?"&filename="+encodeURIComponent(a):""))};EditorUi.prototype.setMode=
-function(a,b){this.mode=a};EditorUi.prototype.loadDescriptor=function(a,b,c){var d=window.location.hash,g=mxUtils.bind(this,function(c){var g=null!=a.data?a.data:"";null!=c&&0<c.length&&(0<g.length&&(g+="\n"),g+=c);c=new LocalFile(this,"csv"!=a.format&&0<g.length?g:this.emptyDiagramXml,null!=urlParams.title?decodeURIComponent(urlParams.title):this.defaultFilename,!0);c.getHash=function(){return d};this.fileLoaded(c);"csv"==a.format&&this.importCsv(g,mxUtils.bind(this,function(a){this.editor.undoManager.clear();
-this.editor.setModified(!1);this.editor.setStatus("")}));if(null!=a.update){var e=null!=a.interval?parseInt(a.interval):6E4,k=null,n=mxUtils.bind(this,function(){var b=this.currentPage;mxUtils.post(a.update,"xml="+encodeURIComponent(mxUtils.getXml(this.editor.getGraphXml())),mxUtils.bind(this,function(a){b===this.currentPage&&(200<=a.getStatus()&&300>=a.getStatus()?(this.updateDiagram(a.getText()),f()):this.handleError({message:mxResources.get("error")+" "+a.getStatus()}))}),mxUtils.bind(this,function(a){this.handleError(a)}))}),
-f=mxUtils.bind(this,function(){window.clearTimeout(k);k=window.setTimeout(n,e)});this.editor.addListener("pageSelected",mxUtils.bind(this,function(){f();n()}));f();n()}null!=b&&b()});if(null!=a.url){var e=a.url;/^https?:\/\//.test(e)&&!this.isCorsEnabledForUrl(e)&&(e=PROXY_URL+"?url="+encodeURIComponent(a.url));this.loadUrl(e,mxUtils.bind(this,function(a){g(a)}),mxUtils.bind(this,function(a){null!=c&&c(a)}))}else g(a.data)};EditorUi.prototype.updateDiagram=function(a){function b(a){var b=new mxCellOverlay(a.image||
-d.warningImage,a.tooltip,a.align,a.valign,a.offset);b.addListener(mxEvent.CLICK,function(b,c){editorUi.alert(a.tooltip)});return b}var c=null;if(null!=a&&0<a.length&&(c=mxUtils.parseXml(a),a=null!=c?c.documentElement:null,null!=a&&"updates"==a.nodeName)){var d=this.editor.graph,g=d.getModel();g.beginUpdate();var e=null;try{for(a=a.firstChild;null!=a;){if("update"==a.nodeName){var f=g.getCell(a.getAttribute("id"));if(null!=f){try{var h=a.getAttribute("value");if(null!=h){var l=mxUtils.parseXml(h).documentElement;
-if(null!=l)if("1"==l.getAttribute("replace-value"))g.setValue(f,l);else for(var u=l.attributes,w=0;w<u.length;w++)d.setAttributeForCell(f,u[w].nodeName,0<u[w].nodeValue.length?u[w].nodeValue:null)}}catch(C){null!=window.console&&console.log("Error in value for "+f.id+": "+C)}try{var m=a.getAttribute("style");null!=m&&d.model.setStyle(f,m)}catch(C){null!=window.console&&console.log("Error in style for "+f.id+": "+C)}try{var E=a.getAttribute("icon");if(null!=E){var y=0<E.length?JSON.parse(E):null;null!=
-y&&y.append||d.removeCellOverlays(f);null!=y&&d.addCellOverlay(f,b(y))}}catch(C){null!=window.console&&console.log("Error in icon for "+f.id+": "+C)}try{var D=a.getAttribute("geometry");if(null!=D){var D=JSON.parse(D),A=d.getCellGeometry(f);if(null!=A){A=A.clone();for(key in D){var B=parseFloat(D[key]);"dx"==key?A.x+=B:"dy"==key?A.y+=B:"dw"==key?A.width+=B:"dh"==key?A.height+=B:A[key]=parseFloat(D[key])}d.model.setGeometry(f,A)}}}catch(C){null!=window.console&&console.log("Error in icon for "+f.id+
-": "+C)}}}else if("model"==a.nodeName){for(var J=a.firstChild;null!=J&&J.nodeType!=mxConstants.NODETYPE_ELEMENT;)J=J.nextSibling;null!=J&&(new mxCodec(a.firstChild)).decode(J,g)}else if("view"==a.nodeName){if(a.hasAttribute("scale")&&(d.view.scale=parseFloat(a.getAttribute("scale"))),a.hasAttribute("dx")||a.hasAttribute("dy"))d.view.translate=new mxPoint(parseFloat(a.getAttribute("dx")||0),parseFloat(a.getAttribute("dy")||0))}else"fit"==a.nodeName&&(e=a.hasAttribute("max-scale")?parseFloat(a.getAttribute("max-scale")):
-1);a=a.nextSibling}}finally{g.endUpdate()}null!=e&&this.chromelessResize&&this.chromelessResize(!0,e)}return c};EditorUi.prototype.fileLoaded=function(a){var b=!1;this.hideDialog();var c=this.getCurrentFile();this.setCurrentFile(null);null!=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);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.updateUi();this.showSplash()});if(null!=a)try{this.setCurrentFile(a);a.addListener("descriptorChanged",this.descriptorChangedListener);a.addListener("contentChanged",this.descriptorChangedListener);a.open();
-this.setGraphEnabled(!0);this.setMode(a.getMode());this.editor.undoManager.clear();this.descriptorChanged();this.updateUi();null==a.realtime&&(a.isEditable()?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"));b=!0;this.isOffline()||null==a.getMode()||this.logEvent({category:"File",action:"open",label:a.getMode()});if(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(t){}try{mxSettings.setOpenCounter(mxSettings.getOpenCounter()+1),mxSettings.save()}catch(t){}}catch(t){null!=
-window.console&&console.log("error in fileLoaded:",a,t);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!=t&&null!=t.message?":err:"+encodeURIComponent(t.message):"")+(null!=t&&null!=t.stack?"&stack="+encodeURIComponent(t.stack):"")}catch(p){}this.handleError(t,mxResources.get("errorLoadingFile"),mxUtils.bind(this,
-function(){null!=urlParams.url&&this.spinner.spin(document.body,mxResources.get("reconnecting"))?window.location.search=this.getSearch(["url"]):null!=c?c.constructor==DriveFile?this.loadFile(c.getHash()):this.fileLoaded(c):d()}))}else d();return b};EditorUi.prototype.descriptorChanged=function(){};EditorUi.prototype.logEvent=function(a){if(EditorUi.enableLogging)try{var b=null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"";(new Image).src=b+"/images/1x1.png?v="+encodeURIComponent(EditorUi.VERSION)+
-(null!=a?"&data="+encodeURIComponent(JSON.stringify(a)):"")}catch(n){}};EditorUi.prototype.restoreLibraries=function(){};EditorUi.prototype.saveLibrary=function(a,b,c,d,e,f,h){};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 b=mxUtils.createXmlDocument(),c=b.createElement("mxlibrary");mxUtils.setTextContent(c,JSON.stringify(a));b.appendChild(c);return mxUtils.getXml(b)};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 b=this.sidebar.palettes[a];if(null!=b){for(var c=0;c<b.length;c++)b[c].parentNode.removeChild(b[c]);delete this.sidebar.palettes[a]}};EditorUi.prototype.repositionLibrary=function(a){var b=this.sidebar.container;if(null==a){var c=this.sidebar.palettes["L.scratchpad"];null==c&&(c=this.sidebar.palettes.search);null!=c&&(a=c[c.length-1].nextSibling)}a=null!=a?a:b.firstChild.nextSibling.nextSibling;var c=b.lastChild,d=c.previousSibling;b.insertBefore(c,a);b.insertBefore(d,c)};EditorUi.prototype.loadLibrary=
-function(a){var b=mxUtils.parseXml(a.getData());if("mxlibrary"==b.documentElement.nodeName){var c=JSON.parse(mxUtils.getTextContent(b.documentElement));this.libraryLoaded(a,c,b.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 g=null,e=mxUtils.bind(this,function(b,c){if(0==b.length&&a.isEditable())null==g&&(g=document.createElement("div"),mxUtils.setPrefixedStyle(g.style,"borderRadius","6px"),g.style.border="3px dotted lightGray",g.style.textAlign="center",g.style.padding="8px",g.style.color="#B3B3B3",mxUtils.write(g,mxResources.get("dragElementsHere"))),c.appendChild(g);else for(var d=
-0;d<b.length;d++){var e=b[d],k=e.data;if(null!=k){var k=this.convertDataUri(k),n="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";"fixed"==e.aspect&&(n+="aspect=fixed;");c.appendChild(this.sidebar.createVertexTemplate(n+"image="+k,e.w,e.h,"",e.title||"",!1,!1,!0))}else null!=e.xml&&(k=this.stringToCells(this.editor.graph.decompress(e.xml)),0<k.length&&c.appendChild(this.sidebar.createVertexTemplateFromCells(k,e.w,e.h,e.title||"",!0,!1,!0)))}});if(null!=this.sidebar&&null!=
-b)for(var k=0;k<b.length;k++)mxUtils.bind(this,function(a){var b=a.data;null!=b&&null!=a.title?this.sidebar.addEntry(a.title,mxUtils.bind(this,function(){b=this.convertDataUri(b);var c="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";"fixed"==a.aspect&&(c+="aspect=fixed;");return this.sidebar.createVertexTemplate(c+"image="+b,a.w,a.h,"",a.title||"",!1,!1,!0)})):null!=a.xml&&null!=a.title&&this.sidebar.addEntry(a.title,mxUtils.bind(this,function(){var b=this.stringToCells(this.editor.graph.decompress(a.xml));
-return this.sidebar.createVertexTemplateFromCells(b,a.w,a.h,a.title||"",!0,!1,!0)}))})(b[k]);c=null!=c&&0<c.length?c:a.getTitle();var n=this.sidebar.addPalette(a.getHash(),c,!0,mxUtils.bind(this,function(a){e(b,a)}));this.repositionLibrary(d);var f=n.parentNode.previousSibling;c=f.getAttribute("title");null!=c&&0<c.length&&".scratchpad"!=a.title&&f.setAttribute("title",this.getLibraryStorageHint(a)+"\n"+c);var u=document.createElement("div");u.style.position="absolute";u.style.right="0px";u.style.top=
-"0px";u.style.padding="8px";mxClient.IS_QUIRKS||8==document.documentMode||(u.style.backgroundColor="inherit");f.style.position="relative";var h=document.createElement("img");h.setAttribute("src",Dialog.prototype.closeImage);h.setAttribute("title",mxResources.get("close"));h.setAttribute("valign","absmiddle");h.setAttribute("border","0");h.style.margin="0 3px";var l=null;if(".scratchpad"!=a.title||this.closableScratchpad)u.appendChild(h),mxEvent.addListener(h,"click",mxUtils.bind(this,function(b){if(!mxEvent.isConsumed(b)){var c=
-mxUtils.bind(this,function(){this.closeLibrary(a)});null!=l?this.confirm(mxResources.get("allChangesLost"),null,c,mxResources.get("cancel"),mxResources.get("discardChanges")):c();mxEvent.consume(b)}}));if(a.isEditable()){var m=this.editor.graph,y=null,D=mxUtils.bind(this,function(c){this.showLibraryDialog(a.getTitle(),n,b,a,a.getMode());mxEvent.consume(c)}),A=mxUtils.bind(this,function(c){a.setModified(!0);a.isAutosave()?(null!=y&&null!=y.parentNode&&y.parentNode.removeChild(y),y=h.cloneNode(!1),
-y.setAttribute("src",Editor.spinImage),y.setAttribute("title",mxResources.get("saving")),y.style.cursor="default",y.style.marginRight="2px",y.style.marginTop="-2px",u.insertBefore(y,u.firstChild),f.style.paddingRight=18*u.childNodes.length+"px",this.saveLibrary(a.getTitle(),b,a,a.getMode(),!0,!0,function(){null!=y&&null!=y.parentNode&&(y.parentNode.removeChild(y),f.style.paddingRight=18*u.childNodes.length+"px")})):null==l&&(l=h.cloneNode(!1),l.setAttribute("src",IMAGE_PATH+"/download.png"),l.setAttribute("title",
-mxResources.get("save")),u.insertBefore(l,u.firstChild),mxEvent.addListener(l,"click",mxUtils.bind(this,function(c){this.saveLibrary(a.getTitle(),b,a,a.getMode(),a.constructor==LocalLibrary,!0,function(){null==l||a.isModified()||(f.style.paddingRight=18*u.childNodes.length+"px",l.parentNode.removeChild(l),l=null)});mxEvent.consume(c)})),f.style.paddingRight=18*u.childNodes.length+"px")}),B=mxUtils.bind(this,function(a,c,d,e){a=m.cloneCells(mxUtils.sortCells(m.model.getTopmostCells(a)));for(var k=
-0;k<a.length;k++){var f=m.getCellGeometry(a[k]);null!=f&&f.translate(-c.x,-c.y)}n.appendChild(this.sidebar.createVertexTemplateFromCells(a,c.width,c.height,e||"",!0,!1,!1));a={xml:this.editor.graph.compress(mxUtils.getXml(this.editor.graph.encodeCells(a))),w:c.width,h:c.height};null!=e&&(a.title=e);b.push(a);A(d);null!=g&&null!=g.parentNode&&0<b.length&&(g.parentNode.removeChild(g),g=null)}),J=mxUtils.bind(this,function(a){if(m.isSelectionEmpty())m.getRubberband().isActive()?(m.getRubberband().execute(a),
-m.getRubberband().reset()):this.showError(mxResources.get("error"),mxResources.get("nothingIsSelected"),mxResources.get("ok"));else{var b=m.getSelectionCells(),c=m.view.getBounds(b),d=m.view.scale;c.x/=d;c.y/=d;c.width/=d;c.height/=d;c.x-=m.view.translate.x;c.y-=m.view.translate.y;B(b,c)}mxEvent.consume(a)});n.style.border="3px solid transparent";mxEvent.addGestureListeners(n,function(){},mxUtils.bind(this,function(a){m.isMouseDown&&null!=m.panningManager&&null!=m.graphHandler.shape&&(m.graphHandler.shape.node.style.visibility=
-"hidden",null!=g?g.style.border="3px dotted rgb(254, 137, 12)":n.style.border="3px dotted rgb(254, 137, 12)",n.style.cursor="copy",m.panningManager.stop(),m.autoScroll=!1,null!=m.graphHandler.guide&&m.graphHandler.guide.setVisible(!1),null!=m.graphHandler.hint&&(m.graphHandler.hint.style.visibility="hidden"),mxEvent.consume(a))}),mxUtils.bind(this,function(a){m.isMouseDown&&null!=m.panningManager&&null!=m.graphHandler&&(n.style.border="3px solid transparent",null!=g&&(g.style.border="3px dotted lightGray"),
-n.style.cursor="default",this.sidebar.showTooltips=!0,m.panningManager.stop(),m.graphHandler.reset(),m.isMouseDown=!1,m.autoScroll=!0,J(a),mxEvent.consume(a))}));mxEvent.addListener(n,"mouseleave",mxUtils.bind(this,function(a){m.isMouseDown&&null!=m.graphHandler.shape&&(m.graphHandler.shape.node.style.visibility="visible",n.style.border="3px solid transparent",n.style.cursor="",m.autoScroll=!0,null!=m.graphHandler.guide&&m.graphHandler.guide.setVisible(!0),null!=m.graphHandler.hint&&(m.graphHandler.hint.style.visibility=
-"visible"),null!=g&&(g.style.border="3px dotted lightGray"))}));Graph.fileSupport&&(mxEvent.addListener(n,"dragover",mxUtils.bind(this,function(a){null!=g?g.style.border="3px dotted rgb(254, 137, 12)":n.style.border="3px dotted rgb(254, 137, 12)";a.dataTransfer.dropEffect="copy";n.style.cursor="copy";this.sidebar.hideTooltip();a.stopPropagation();a.preventDefault()})),mxEvent.addListener(n,"drop",mxUtils.bind(this,function(a){n.style.border="3px solid transparent";n.style.cursor="";null!=g&&(g.style.border=
-"3px dotted lightGray");0<a.dataTransfer.files.length&&this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,mxUtils.bind(this,function(c,d,k,f,u,h,l,q,w){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,u,h),c)],c[0].vertex=!0,B(c,new mxRectangle(0,0,u,h),a,mxEvent.isAltDown(a)?null:l.substring(0,l.lastIndexOf(".")).replace(/_/g," ")),null!=g&&null!=g.parentNode&&
-0<b.length&&(g.parentNode.removeChild(g),g=null);else{var m=!1,v=mxUtils.bind(this,function(c,d){if(null!=c&&"text/xml"==d){var k=mxUtils.parseXml(c);if("mxlibrary"==k.documentElement.nodeName)try{var f=JSON.parse(mxUtils.getTextContent(k.documentElement));e(f,n);b=b.concat(f);A(a);this.spinner.stop();m=!0}catch(U){}else if("mxfile"==k.documentElement.nodeName)try{for(var u=k.documentElement.getElementsByTagName("diagram"),k=0;k<u.length;k++){var f=mxUtils.getTextContent(u[k]),h=this.stringToCells(this.editor.graph.decompress(f)),
-l=this.editor.graph.getBoundingBoxFromGeometry(h);B(h,new mxRectangle(0,0,l.width,l.height),a)}m=!0}catch(U){null!=window.console&&console.log("error in drop handler:",U)}}m||(this.spinner.stop(),this.handleError({message:mxResources.get("errorLoadingFile")}));null!=g&&null!=g.parentNode&&0<b.length&&(g.parentNode.removeChild(g),g=null)});null!=w&&null!=l&&(/(\.vsdx?)($|\?)/i.test(l)||/(\.vssx)($|\?)/i.test(l))?this.importVisio(w,function(a){v(a,"text/xml")},null,l):!this.isOffline()&&(new XMLHttpRequest).upload&&
-this.isRemoteFileFormat(c,l)&&null!=w?this.parseFile(w,mxUtils.bind(this,function(a){4==a.readyState&&(this.spinner.stop(),200<=a.status&&299>=a.status?v(a.responseText,"text/xml"):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge":"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))})):v(c,d)}}));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(n,"dragleave",function(a){null!=g?g.style.border="3px dotted lightGray":(n.style.border="3px solid transparent",
-n.style.cursor="");a.stopPropagation();a.preventDefault()}));h=h.cloneNode(!1);h.setAttribute("src",IMAGE_PATH+"/edit.gif");h.setAttribute("title",mxResources.get("edit"));u.insertBefore(h,u.firstChild);mxEvent.addListener(h,"click",D);mxEvent.addListener(n,"dblclick",function(a){mxEvent.getSource(a)==n&&D(a)});c=h.cloneNode(!1);c.setAttribute("src",Editor.plusImage);c.setAttribute("title",mxResources.get("add"));u.insertBefore(c,u.firstChild);mxEvent.addListener(c,"click",J);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)})),u.insertBefore(c,u.firstChild))}f.appendChild(u);f.style.paddingRight=18*u.childNodes.length+"px"}};"1"==urlParams.offline||EditorUi.isElectronApp?EditorUi.prototype.footerHeight=
-4:("1"==urlParams.savesidebar&&(Sidebar.prototype.thumbWidth=64,Sidebar.prototype.thumbHeight=64),EditorUi.prototype.footerHeight=760<=screen.width&&240<=screen.height?46:0,EditorUi.prototype.createFooter=function(){var a=document.getElementById("geFooter");if(null!=a){a.style.visibility="visible";var b=document.createElement("img");b.setAttribute("border","0");b.setAttribute("src",Dialog.prototype.closeImage);b.setAttribute("title",mxResources.get("hide"));a.appendChild(b);mxClient.IS_QUIRKS&&(b.style.position=
-"relative",b.style.styleFloat="right",b.style.top="-30px",b.style.left="164px",b.style.cursor="pointer");mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.hideFooter()}))}return a});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,EditorUi.prototype.hsplitPosition=188,Sidebar.prototype.thumbWidth=46,Sidebar.prototype.thumbHeight=46,Sidebar.prototype.thumbPadding=5<=document.documentMode?0:1,Sidebar.prototype.thumbBorder=2):"dark"==uiTheme&&(mxClient.link("stylesheet",STYLE_PATH+"/dark.css"),Dialog.backdropColor="#2a2a2a",Graph.prototype.defaultThemeName="darkTheme",Graph.prototype.defaultPageBackgroundColor="#2a2a2a",
-Graph.prototype.defaultGraphBackground=null,Graph.prototype.defaultPageBorderColor="#505759",Graph.prototype.svgShadowColor="#e0e0e0",Graph.prototype.svgShadowOpacity="0.6",Graph.prototype.svgShadowSize="0.8",Graph.prototype.svgShadowBlur="1.4",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 b=document.getElementById("geFooter");null!=b&&(this.footerHeight=a,b.style.display="inline",this.refresh())};EditorUi.prototype.showImageDialog=function(a,b,c,d,e){a=new ImageDialog(this,a,b,c,d,e);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 b=new BackgroundImageDialog(this,mxUtils.bind(this,function(b){a(b)}));this.showDialog(b.container,360,200,!0,!0);b.init()};EditorUi.prototype.showLibraryDialog=function(a,b,c,d,e){a=new LibraryDialog(this,a,b,c,d,e);this.showDialog(a.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&&null==
-this.getCurrentFile()&&"1"!=urlParams.embed&&this.showSplash()}));a.init()};EditorUi.prototype.createSidebarFooterContainer=function(){var a=this.createDiv("geSidebarContainer");a.style.position="absolute";a.style.overflow="hidden";a.style.borderWidth="3px";var b=document.createElement("a");b.setAttribute("href","javascript:void(0);");b.className="geTitle";b.style.height="100%";b.style.paddingTop="9px";mxUtils.write(b,mxResources.get("moreShapes")+"...");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){var d=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){a=mxUtils.htmlEntities(mxResources.get("unknownError"));var g=mxResources.get("ok"),k=null;b=null!=b?b:mxResources.get("error");if(null!=e)if(null!=e.retry&&(g=mxResources.get("cancel"),k=function(){d();e.retry()}),"undefined"!=
-typeof gapi&&"undefined"!=typeof gapi.drive&&"undefined"!=typeof gapi.drive.realtime&&e.type==gapi.drive.realtime.ErrorType.FORBIDDEN)a=mxUtils.htmlEntities(mxResources.get("forbidden"));else if(404==e.code||404==e.status||"undefined"!=typeof gapi&&"undefined"!=typeof gapi.drive&&"undefined"!=typeof gapi.drive.realtime&&e.type==gapi.drive.realtime.ErrorType.NOT_FOUND){a=mxUtils.htmlEntities(mxResources.get("fileNotFoundOrDenied"));var n=window.location.hash;null!=n&&"#G"==n.substring(0,2)&&(n=n.substring(2),
-a+=' <a href="https://drive.google.com/open?id='+n+'" target="_blank">'+mxUtils.htmlEntities(mxResources.get("tryOpeningViaThisPage"))+"</a>")}else e.code==App.ERROR_TIMEOUT?a=mxUtils.htmlEntities(mxResources.get("timeout")):e.code==App.ERROR_BUSY?a=mxUtils.htmlEntities(mxResources.get("busy")):null!=e.message?a=mxUtils.htmlEntities(e.message):null!=e.response&&null!=e.response.error&&(a=mxUtils.htmlEntities(e.response.error));this.showError(b,a,g,c,k)}else null!=c&&c()};EditorUi.prototype.showError=
-function(a,b,c,d,e,f,h,l,m,u,w,F){a=new ErrorDialog(this,a,b,c||mxResources.get("ok"),d,e,f,h,F,l,m);this.showDialog(a.container,u||340,w||150,!0,!1);a.init()};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,c,d,e){var g=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){};this.showDialog((new ConfirmDialog(this,a,function(){g();null!=
-b&&b()},function(){g();null!=c&&c()},d,e)).container,340,90,!0,!1)};EditorUi.prototype.setCurrentFile=function(a){this.currentFile=a};EditorUi.prototype.getCurrentFile=function(){return this.currentFile};EditorUi.prototype.isExportToCanvas=function(){return mxClient.IS_CHROMEAPP||!this.editor.graph.mathEnabled&&this.useCanvasForExport};EditorUi.prototype.createSvgDataUri=function(a){return"data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent(a)))};EditorUi.prototype.createImageDataUri=function(a,
-b,c){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,"zTXt","mxGraphModel",atob(this.editor.graph.compress(b))));return d};EditorUi.prototype.saveCanvas=function(a,b,c){var d="jpeg"==c?"jpg":c,e=this.getBaseFilename()+"."+d;a=this.createImageDataUri(a,b,c);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.doSaveLocalFile=function(a,b,c,d,e){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)b=new TextareaDialog(this,b+":",a,null,null,mxResources.get("close")),b.textarea.style.width="600px",b.textarea.style.height="380px",this.showDialog(b.container,620,460,!0,!0),b.init(),document.execCommand("selectall",!1,null);else{var g=document.createElement("a"),k=!mxClient.IS_SF&&"undefined"!==typeof g.download;if(mxClient.IS_GC)var n=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./),k=65==(n?parseInt(n[2],
-10):!1)?!1:k;if(k||this.isOffline()){g.href=URL.createObjectURL(d?this.base64ToBlob(a,c):new Blob([a],{type:c}));k?g.download=b:g.setAttribute("target","_blank");document.body.appendChild(g);try{window.setTimeout(function(){URL.revokeObjectURL(g.href)},0),g.click(),g.parentNode.removeChild(g)}catch(z){}}else this.createEchoRequest(a,b,c,d,e).simulate(document,"_blank")}};EditorUi.prototype.createEchoRequest=function(a,b,c,d,e,f){a="xml="+encodeURIComponent(a);return new mxXmlRequest(SAVE_URL,a+(null!=
-c?"&mime="+c:"")+(null!=e?"&format="+e:"")+(null!=f?"&base64="+f:"")+(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),g=Array(e),k=0;k<e;++k){for(var f=1024*k,h=Math.min(f+1024,d),u=Array(h-f),l=0;f<h;++l,++f)u[l]=c[f].charCodeAt(0);g[k]=new Uint8Array(u)}return new Blob(g,{type:b})};EditorUi.prototype.saveLocalFile=function(a,b,c,d,e,f,h){f=null!=f?f:!1;h=null!=h?h:"vsdx"!=e&&
-(!mxClient.IS_IOS||!navigator.standalone);e=this.getServiceCount(f);b=new CreateDialog(this,b,mxUtils.bind(this,function(b,e){try{if("_blank"==e)if(null==c||"image/"!=c.substring(0,6)||"image/svg"==c.substring(0,9)&&!mxClient.IS_SVG){var g=window.open("about:blank");null==g?mxUtils.popup(a,!0):(g.document.write(mxUtils.htmlEntities(a,!1)),g.document.close())}else this.openInNewWindow(a,c,d);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(g){try{this.exportFile(a,b,c,d,e,g)}catch(F){this.handleError(F)}}))}catch(w){this.handleError(w)}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,f,h,null,1<e,4<e&&(!f||6>e)?3:4,a,c,d);this.showDialog(b.container,420,e==(mxClient.IS_IOS?0:1)?160:4<e?390:270,!0,!0);b.init()};EditorUi.prototype.openInNewWindow=function(a,b,c){if(mxClient.IS_GC||mxClient.IS_EDGE||11==document.documentMode||10==document.documentMode){var d=
-window.open("about:blank");null==d?mxUtils.popup(a,!0):("image/svg+xml"==b?d.document.write("<html>"+a+"</html>"):d.document.write('<html><img src="data:'+b+(c?";base64,"+a:";charset=utf8,"+encodeURIComponent(a))+'"/></html>'),d.document.close())}else d=window.open("data:"+b+(c?";base64,"+a:";charset=utf8,"+encodeURIComponent(a))),null==d&&mxUtils.popup(a,!0)};var b=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.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"))}b.apply(this,arguments)};EditorUi.prototype.saveData=function(a,b,c,d,e){this.isLocalFileSave()?this.saveLocalFile(c,a,d,e,b):this.saveRequest(a,b,mxUtils.bind(this,function(a,g){return this.createEchoRequest(c,a,d,e,b,g)}),c,e,d)};EditorUi.prototype.saveRequest=function(a,b,c,d,e,f,h){h=null!=h?h:!mxClient.IS_IOS||!navigator.standalone;var g=this.getServiceCount(!1);a=new CreateDialog(this,a,mxUtils.bind(this,function(a,e){if("_blank"==e||null!=
-a&&0<a.length){var g=c("_blank"==e?null:a,e==App.MODE_DEVICE||"download"==e||null==e||"_blank"==e?"0":"1");null!=g&&(e==App.MODE_DEVICE||"download"==e||"_blank"==e?g.simulate(document,"_blank"):this.pickFolder(e,mxUtils.bind(this,function(c){f=null!=f?f:"pdf"==b?"application/pdf":"image/"+b;if(null!=d)try{this.exportFile(d,a,f,!0,e,c)}catch(E){this.handleError(E)}else this.spinner.spin(document.body,mxResources.get("saving"))&&g.send(mxUtils.bind(this,function(){this.spinner.stop();if(200<=g.getStatus()&&
-299>=g.getStatus())try{this.exportFile(g.getText(),a,f,!0,e,c)}catch(E){this.handleError(E)}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,h,null,1<g,4<g?3:4,d,f,e);this.showDialog(a.container,380,g==(mxClient.IS_IOS?0:1)?160:4<g?390:270,!0,!0);a.init()};EditorUi.prototype.getEditBlankXml=function(){return this.getFileData(!0)};
-EditorUi.prototype.exportFile=function(a,b,c,d,e,f){};EditorUi.prototype.pickFolder=function(a,b,c){b(null)};EditorUi.prototype.exportSvg=function(a,b,c,d,e,f,h,l,m){if(this.spinner.spin(document.body,mxResources.get("export"))){var g=this.editor.graph.isSelectionEmpty();c=null!=c?c:g;g=b?null:this.editor.graph.background;g==mxConstants.NONE&&(g=null);null==g&&0==b&&(g="#ffffff");var k=this.editor.graph.getSvg(g,a,h,l,null,c);d&&this.editor.graph.addSvgShadow(k);var n=this.getBaseFilename()+".svg",
-q=mxUtils.bind(this,function(a){this.spinner.stop();e&&a.setAttribute("content",this.getFileData(!0,null,null,null,c,m));if(null!=this.editor.fontCss){var b=a.ownerDocument,b=null!=b.createElementNS?b.createElementNS(mxConstants.NS_SVG,"style"):b.createElement("style");b.setAttribute("type","text/css");mxUtils.setTextContent(b,this.editor.fontCss);a.getElementsByTagName("defs")[0].appendChild(b)}var d='<!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(n,"svg",d,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(d)}))});this.convertMath(this.editor.graph,k,!1,mxUtils.bind(this,function(){f?(null==this.thumbImageCache&&(this.thumbImageCache={}),this.convertImages(k,q,this.thumbImageCache)):q(k)}))}};EditorUi.prototype.addCheckbox=function(a,b,c,d,e,f){f=null!=f?f:!0;var g=
-document.createElement("input");g.style.marginRight="8px";g.style.marginTop="16px";g.setAttribute("type","checkbox");c&&(g.setAttribute("checked","checked"),g.defaultChecked=!0);d&&g.setAttribute("disabled","disabled");f&&(a.appendChild(g),c=document.createElement("span"),mxUtils.write(c,b),a.appendChild(c),e||mxUtils.br(a),mxEvent.addListener(c,"click",mxUtils.bind(this,function(a){"disabled"!=g.getAttribute("disabled")&&(g.checked=!g.checked,mxEvent.consume(a))})));return g};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 g=document.createElement("select");g.style.width="120px";g.style.marginLeft="8px";g.style.marginRight="10px";g.className="geBtn";d=document.createElement("option");d.setAttribute("value","blank");mxUtils.write(d,mxResources.get("makeCopy"));g.appendChild(d);d=document.createElement("option");
-d.setAttribute("value","custom");mxUtils.write(d,mxResources.get("custom")+"...");g.appendChild(d);a.appendChild(g);mxEvent.addListener(g,"change",mxUtils.bind(this,function(){if("custom"==g.value){var a=new FilenameDialog(this,e,mxResources.get("ok"),function(a){null!=a?e=a:g.value="blank"},mxResources.get("url"),null,null,null,null,function(){g.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)?g.removeAttribute("disabled"):g.setAttribute("disabled","disabled")}));mxUtils.br(a);return{getLink:function(){return c.checked?"blank"===g.value?"_blank":e:null},getEditInput:function(){return c},getEditSelect:function(){return g}}};EditorUi.prototype.addLinkSection=function(a,b){function c(){k.innerHTML='<div style="width:100%;height:100%;box-sizing:border-box;'+(null!=g&&g!=mxConstants.NONE?"border:1px solid black;background-color:"+g:"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 g="#0000ff",k=null,k=mxUtils.button("",mxUtils.bind(this,function(a){this.pickColor(g||"none",function(a){g=a;c()});mxEvent.consume(a)}));c();k.style.padding=
-mxClient.IS_FF?"4px 2px 4px 2px":"4px";k.style.marginLeft="4px";k.style.height="22px";k.style.width="22px";k.style.position="relative";k.style.top=mxClient.IS_IE||mxClient.IS_IE11||mxClient.IS_EDGE?"6px":"1px";k.className="geColorBtn";a.appendChild(k);mxUtils.br(a);return{getColor:function(){return g},getTarget:function(){return d.value},focus:function(){d.focus()}}};EditorUi.prototype.createLink=function(a,b,c,d,e,f,h,l){var g=this.getCurrentFile(),k=[];d&&(k.push("lightbox=1"),"auto"!=a&&k.push("target="+
-a),null!=b&&b!=mxConstants.NONE&&k.push("highlight="+("#"==b.charAt(0)?b.substring(1):b)),null!=e&&0<e.length&&k.push("edit="+encodeURIComponent(e)),f&&k.push("layers=1"),this.editor.graph.foldingEnabled&&k.push("nav=1"));if(c&&null!=this.pages&&null!=this.currentPage)for(a=0;a<this.pages.length;a++)if(this.pages[a]==this.currentPage){0<a&&k.push("page="+a);break}a=!0;null!=h?c="#U"+encodeURIComponent(h):(g=this.getCurrentFile(),l||null==g||g.constructor!=window.DriveFile?c="#R"+encodeURIComponent(c?
-this.getFileData(!0,null,null,null,null,null,null,!0):this.editor.graph.compress(mxUtils.getXml(this.editor.getGraphXml()))):(c="#"+g.getHash(),a=!1));a&&null!=g&&null!=g.getTitle()&&g.getTitle()!=this.defaultFilename&&k.push("title="+encodeURIComponent(g.getTitle()));return(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||!/.*\.draw\.io$/.test(window.location.hostname)?"https://www.draw.io/":"https://"+window.location.host+"/")+(0<k.length?"?"+k.join("&"):"")+c};EditorUi.prototype.createHtml=function(a,
-b,c,d,e,f,h,l,m,u,w){this.getBasenames();var g={};""!=e&&e!=mxConstants.NONE&&(g.highlight=e);"auto"!==d&&(g.target=d);m||(g.lightbox=!1);g.nav=this.editor.graph.foldingEnabled;c=parseInt(c);isNaN(c)||100==c||(g.zoom=c/100);c=[];h&&(c.push("pages"),g.resize=!0,null!=this.pages&&null!=this.currentPage&&(g.page=mxUtils.indexOf(this.pages,this.currentPage)));b&&(c.push("zoom"),g.resize=!0);l&&c.push("layers");0<c.length&&(m&&c.push("lightbox"),g.toolbar=c.join(" "));null!=u&&0<u.length&&(g.edit=u);null!=
-a?g.url=a:g.xml=this.getFileData(!0,null,null,null,null,!h);b='<div class="mxgraph" style="'+(f?"max-width:100%;":"")+(""!=c?"border:1px solid transparent;":"")+'" data-mxgraph="'+mxUtils.htmlEntities(JSON.stringify(g))+'"></div>';a=null!=a?"&fetch="+encodeURIComponent(a):"";w(b,'<script type="text/javascript" src="'+(0<a.length?("1"==urlParams.dev?"https://test.draw.io/embed2.js?dev=1":"https://www.draw.io/embed2.js?")+a:"1"==urlParams.dev?"https://test.draw.io/js/viewer.min.js":"https://www.draw.io/js/viewer.min.js")+
-'">\x3c/script>')};EditorUi.prototype.showHtmlDialog=function(a,b,c,d){var e=document.createElement("div");e.style.whiteSpace="nowrap";var g=document.createElement("h3");mxUtils.write(g,mxResources.get("html"));g.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";e.appendChild(g);var k=document.createElement("div");k.style.cssText="border-bottom:1px solid lightGray;padding-bottom:8px;margin-bottom:12px;";var f=document.createElement("input");f.style.cssText="margin-right:8px;margin-top:8px;margin-bottom:8px;";
-f.setAttribute("value","url");f.setAttribute("type","radio");f.setAttribute("name","type-embedhtmldialog");g=f.cloneNode(!0);g.setAttribute("value","copy");k.appendChild(g);var n=document.createElement("span");mxUtils.write(n,mxResources.get("includeCopyOfMyDiagram"));k.appendChild(n);mxUtils.br(k);k.appendChild(f);n=document.createElement("span");mxUtils.write(n,mxResources.get("publicDiagramUrl"));k.appendChild(n);var u=this.getCurrentFile();null==c&&null!=u&&u.constructor==window.DriveFile&&(n=
-document.createElement("a"),n.style.paddingLeft="12px",n.style.color="gray",n.setAttribute("href","javascript:void(0);"),mxUtils.write(n,mxResources.get("share")),k.appendChild(n),mxEvent.addListener(n,"click",mxUtils.bind(this,function(){this.hideDialog();this.drive.showPermissions(u.getId())})));g.setAttribute("checked","checked");null==c&&f.setAttribute("disabled","disabled");e.appendChild(k);var h=this.addLinkSection(e),l=this.addCheckbox(e,mxResources.get("zoom"),!0,null,!0);mxUtils.write(e,
-":");var m=document.createElement("input");m.setAttribute("type","text");m.style.marginRight="16px";m.style.width="60px";m.style.marginLeft="4px";m.style.marginRight="12px";m.value="100%";e.appendChild(m);var q=this.addCheckbox(e,mxResources.get("fit"),!0),k=null!=this.pages&&1<this.pages.length,D=D=this.addCheckbox(e,mxResources.get("allPages"),k,!k),A=this.addCheckbox(e,mxResources.get("layers"),!0),B=this.addCheckbox(e,mxResources.get("lightbox"),!0),J=this.addEditButton(e,B),C=J.getEditInput();
-C.style.marginBottom="16px";mxEvent.addListener(B,"change",function(){B.checked?C.removeAttribute("disabled"):C.setAttribute("disabled","disabled");C.checked&&B.checked?J.getEditSelect().removeAttribute("disabled"):J.getEditSelect().setAttribute("disabled","disabled")});a=new CustomDialog(this,e,mxUtils.bind(this,function(){d(f.checked?c:null,l.checked,m.value,h.getTarget(),h.getColor(),q.checked,D.checked,A.checked,B.checked,J.getLink())}),null,a,b);this.showDialog(a.container,340,384,!0,!0);g.focus()};
-EditorUi.prototype.showPublishLinkDialog=function(a,b,c,d,e,f){var g=document.createElement("div");g.style.whiteSpace="nowrap";var k=document.createElement("h3");mxUtils.write(k,a||mxResources.get("link"));k.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";g.appendChild(k);var n=this.getCurrentFile(),k="https://desk.draw.io/support/solutions/articles/16000051941";a=0;if(null!=n&&n.constructor==window.DriveFile&&!b){a=80;var k="https://desk.draw.io/support/solutions/articles/16000039384",
-u=document.createElement("div");u.style.cssText="border-bottom:1px solid lightGray;padding-bottom:14px;padding-top:6px;margin-bottom:14px;text-align:center;";var h=document.createElement("div");h.style.whiteSpace="normal";mxUtils.write(h,mxResources.get("linkAccountRequired"));u.appendChild(h);h=mxUtils.button(mxResources.get("share"),mxUtils.bind(this,function(){this.drive.showPermissions(n.getId())}));h.style.marginTop="12px";h.className="geBtn";u.appendChild(h);g.appendChild(u);h=document.createElement("a");
-h.style.paddingLeft="12px";h.style.color="gray";h.style.fontSize="11px";h.setAttribute("href","javascript:void(0);");mxUtils.write(h,mxResources.get("check"));u.appendChild(h);mxEvent.addListener(h,"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 l=null,m=null;if(null!=c||null!=d)a+=30,mxUtils.write(g,mxResources.get("width")+":"),l=document.createElement("input"),l.setAttribute("type","text"),l.style.marginRight="16px",l.style.width="50px",l.style.marginLeft="6px",l.style.marginRight="16px",l.style.marginBottom="10px",l.value="100%",g.appendChild(l),mxUtils.write(g,mxResources.get("height")+":"),m=document.createElement("input"),m.setAttribute("type","text"),m.style.width="50px",
-m.style.marginLeft="6px",m.style.marginBottom="10px",m.value=d+"px",g.appendChild(m),mxUtils.br(g);var q=this.addLinkSection(g,f);c=null!=this.pages&&1<this.pages.length;var p=null;if(null==n||n.constructor!=window.DriveFile||b)p=this.addCheckbox(g,mxResources.get("allPages"),c,!c);var t=this.addCheckbox(g,mxResources.get("lightbox"),!0),B=this.addEditButton(g,t),J=B.getEditInput(),C=this.addCheckbox(g,mxResources.get("layers"),!0);C.style.marginLeft=J.style.marginLeft;C.style.marginBottom="16px";
-C.style.marginTop="8px";mxEvent.addListener(t,"change",function(){t.checked?(C.removeAttribute("disabled"),J.removeAttribute("disabled")):(C.setAttribute("disabled","disabled"),J.setAttribute("disabled","disabled"));J.checked&&t.checked?B.getEditSelect().removeAttribute("disabled"):B.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,g,mxUtils.bind(this,function(){e(q.getTarget(),q.getColor(),null==p?!0:p.checked,t.checked,B.getLink(),C.checked,null!=l?l.value:null,null!=
-m?m.value:null)}),null,mxResources.get("create"),k);this.showDialog(b.container,340,254+a,!0,!0);null!=l?(l.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?l.select():document.execCommand("selectAll",!1,null)):q.focus()};EditorUi.prototype.showRemoteExportDialog=function(a,b,c,d){var e=document.createElement("div");e.style.whiteSpace="nowrap";var g=document.createElement("h3");mxUtils.write(g,mxResources.get("image"));g.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";
-e.appendChild(g);var k=this.addCheckbox(e,mxResources.get("selectionOnly"),!1,this.editor.graph.isSelectionEmpty()),f=d?null:this.addCheckbox(e,mxResources.get("includeCopyOfMyDiagram"),!0),g=this.editor.graph,n=d?null:this.addCheckbox(e,mxResources.get("transparentBackground"),g.background==mxConstants.NONE||null==g.background);null!=n&&(n.style.marginBottom="16px");a=new CustomDialog(this,e,mxUtils.bind(this,function(){c(!k.checked,null!=f?f.checked:!1,null!=n?n.checked:!1)}),null,a,b);this.showDialog(a.container,
-300,d?100:186,!0,!0)};EditorUi.prototype.showExportDialog=function(a,b,c,d,e,f,h,l){h=null!=h?h:!0;var g=document.createElement("div");g.style.whiteSpace="nowrap";var k=this.editor.graph,n="jpeg"==l?196:300,m=document.createElement("h3");mxUtils.write(m,a);m.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:10px";g.appendChild(m);mxUtils.write(g,mxResources.get("zoom")+":");var q=document.createElement("input");q.setAttribute("type","text");q.style.marginRight="16px";q.style.width=
-"60px";q.style.marginLeft="4px";q.style.marginRight="12px";q.value=this.lastExportZoom||"100%";g.appendChild(q);mxUtils.write(g,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";g.appendChild(v);mxUtils.br(g);var p=this.addCheckbox(g,mxResources.get("transparentBackground"),k.background==mxConstants.NONE||null==k.background,null,null,"jpeg"!=
-l),t=this.addCheckbox(g,mxResources.get("selectionOnly"),!1,k.isSelectionEmpty()),x=document.createElement("input");x.style.marginTop="16px";x.style.marginRight="8px";x.style.marginLeft="24px";x.setAttribute("disabled","disabled");x.setAttribute("type","checkbox");f&&(g.appendChild(x),mxUtils.write(g,mxResources.get("crop")),mxUtils.br(g),n+=26,mxEvent.addListener(t,"change",function(){t.checked?x.removeAttribute("disabled"):x.setAttribute("disabled","disabled")}));k.isSelectionEmpty()||(x.setAttribute("checked",
-"checked"),x.defaultChecked=!0);var J=this.addCheckbox(g,mxResources.get("shadow"),k.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&&(g.appendChild(C),mxUtils.write(g,mxResources.get("embedImages")),mxUtils.br(g),n+=26);var L=this.addCheckbox(g,mxResources.get("includeCopyOfMyDiagram"),h,null,null,"jpeg"!=l),H=null!=this.pages&&1<this.pages.length,
-G=this.addCheckbox(g,H?mxResources.get("allPages"):"",H,!H,null,"jpeg"!=l);G.style.marginLeft="24px";G.style.marginBottom="16px";H||(G.style.visibility="hidden");mxEvent.addListener(L,"change",function(){L.checked&&H?G.removeAttribute("disabled"):G.setAttribute("disabled","disabled")});h&&H||G.setAttribute("disabled","disabled");a=new CustomDialog(this,g,mxUtils.bind(this,function(){this.lastExportBorder=v.value;this.lastExportZoom=q.value;e(q.value,p.checked,!t.checked,J.checked,L.checked,C.checked,
-v.value,x.checked,!G.checked)}),null,c,d);this.showDialog(a.container,340,n,!0,!0);q.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?q.select():document.execCommand("selectAll",!1,null)};EditorUi.prototype.showEmbedImageDialog=function(a,b,c,d,e){var g=document.createElement("div");g.style.whiteSpace="nowrap";var k=this.editor.graph;if(null!=b){var f=document.createElement("h3");mxUtils.write(f,b);f.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";
-g.appendChild(f)}var n=this.addCheckbox(g,mxResources.get("fit"),!0),h=this.addCheckbox(g,mxResources.get("shadow"),k.shadowVisible&&d,!d),l=this.addCheckbox(g,c),m=this.addCheckbox(g,mxResources.get("lightbox"),!0),q=this.addEditButton(g,m),t=q.getEditInput(),D=1<k.model.getChildCount(k.model.getRoot()),A=this.addCheckbox(g,mxResources.get("layers"),D,!D);A.style.marginLeft=t.style.marginLeft;A.style.marginBottom="12px";A.style.marginTop="8px";mxEvent.addListener(m,"change",function(){m.checked?
-(D&&A.removeAttribute("disabled"),t.removeAttribute("disabled")):(A.setAttribute("disabled","disabled"),t.setAttribute("disabled","disabled"));t.checked&&m.checked?q.getEditSelect().removeAttribute("disabled"):q.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,g,mxUtils.bind(this,function(){a(n.checked,h.checked,l.checked,m.checked,q.getLink(),A.checked)}),null,mxResources.get("embed"),e);this.showDialog(b.container,280,280,!0,!0)};EditorUi.prototype.createEmbedImage=
-function(a,b,c,d,e,f,h,l){function g(b){var g=" ",n="";d&&(g=" 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('https://www.draw.io/?client=1&lightbox=1"+(e?"&edit=_blank":"")+(f?"&layers=1":"")+"');}})(this);\"",n+="cursor:pointer;");
-a&&(n+="max-width:100%;");var u="";c&&(u=' width="'+Math.round(k.width)+'" height="'+Math.round(k.height)+'"');h('<img src="'+b+'"'+u+(""!=n?' style="'+n+'"':"")+g+"/>")}var k=this.editor.graph.getGraphBounds();if(this.isExportToCanvas())this.exportToCanvas(mxUtils.bind(this,function(a){var b=d?this.getFileData(!0):null;a=this.createImageDataUri(a,b,"png");g(a)}),null,null,null,mxUtils.bind(this,function(a){l({message:mxResources.get("unknownError")})}),null,!0,c?2:1,null,b);else if(b=this.getFileData(!0),
-k.width*k.height<=MAX_AREA&&b.length<=MAX_REQUEST_SIZE){var n="";c&&(n="&w="+Math.round(2*k.width)+"&h="+Math.round(2*k.height));var m=new mxXmlRequest(EXPORT_URL,"format=png&base64=1&embedXml="+(d?"1":"0")+n+"&xml="+encodeURIComponent(b));m.send(mxUtils.bind(this,function(){200<=m.getStatus()&&299>=m.getStatus()?g("data:image/png;base64,"+m.getText()):l({message:mxResources.get("unknownError")})}))}else l({message:mxResources.get("drawingTooLarge")})};EditorUi.prototype.createEmbedSvg=function(a,
-b,c,d,e,f,h){var g=this.editor.graph.getSvg(),k=g.getElementsByTagName("a");if(null!=k)for(var n=0;n<k.length;n++){var l=k[n].getAttribute("href");null!=l&&"#"==l.charAt(0)&&"_blank"==k[n].getAttribute("target")&&k[n].removeAttribute("target")}d&&g.setAttribute("content",this.getFileData(!0));b&&this.editor.graph.addSvgShadow(g);if(c){var m=" ",q="";d&&(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('https://www.draw.io/?client=1&lightbox=1"+
+0))];b=this.currentPage.node}"0"!=urlParams.pages&&null==this.fileNode&&null!=b&&(this.fileNode=b.ownerDocument.createElement("mxfile"),this.currentPage=new DiagramPage(b.ownerDocument.createElement("diagram")),this.currentPage.setName(mxResources.get("pageWithNumber",[1])),this.pages=[this.currentPage]);this.editor.setGraphXml(b);null!=this.currentPage&&(this.currentPage.root=this.editor.graph.model.root)};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))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,e,f,h){try{d=null!=d?d:this.editor.graph.isSelectionEmpty();var g=this.getBaseFilename(!e),
+k=g+"."+a;if("xml"==a){var n='<?xml version="1.0" encoding="UTF-8"?>\n'+(b?mxUtils.getXml(this.editor.getGraphXml(d)):this.getFileData(!0,null,null,null,d,e));this.saveData(k,a,n,"text/xml")}else if("html"==a)n=this.getHtml2(this.getFileData(!0),this.editor.graph,g),this.saveData(k,a,n,"text/html");else if("svg"!=a&&"xmlsvg"!=a||!this.spinner.spin(document.body,mxResources.get("export")))"xmlpng"==a?k=g+".png":"jpeg"==a&&(k=g+".jpg"),this.saveRequest(k,a,mxUtils.bind(this,function(b,c){try{var g=
+this.editor.graph.pageVisible;null!=f&&(this.editor.graph.pageVisible=f);var e=this.createDownloadRequest(b,a,d,c,h);this.editor.graph.pageVisible=g;return e}catch(C){this.handleError(C)}}));else{var q=null,l=mxUtils.bind(this,function(a){a.length<=MAX_REQUEST_SIZE?this.saveData(k,"svg",a,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(q)}))});if("svg"==a){var v=this.editor.graph.background;if(h||v==
+mxConstants.NONE)v=null;var t=this.editor.graph.getSvg(v,null,null,null,null,d);c&&this.editor.graph.addSvgShadow(t);this.convertImages(t,mxUtils.bind(this,mxUtils.bind(this,function(a){this.spinner.stop();l('<?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 k=g+".svg",q=this.getFileData(!1,!0,null,mxUtils.bind(this,function(a){this.spinner.stop();l(a)}),d)}}catch(D){this.handleError(D)}};
+EditorUi.prototype.createDownloadRequest=function(a,b,c,d,e){var g=this.editor.graph.getGraphBounds();c=this.getFileData(!0,null,null,null,c,"xmlpng"!=b);var k="";if(g.width*g.height>MAX_AREA||c.length>MAX_REQUEST_SIZE)throw{message:mxResources.get("drawingTooLarge")};g="0";if("xmlpng"==b&&(g="1",b="png",null!=this.pages&&null!=this.currentPage))for(var n=0;n<this.pages.length;n++)if(this.pages[n]==this.currentPage){k="&from="+n;break}n=this.editor.graph.background;"png"==b&&e&&(n=mxConstants.NONE);
+return new mxXmlRequest(EXPORT_URL,"format="+b+k+"&bg="+(null!=n?n:mxConstants.NONE)+"&base64="+d+"&embedXml="+g+"&xml="+encodeURIComponent(c)+(null!=a?"&filename="+encodeURIComponent(a):""))};EditorUi.prototype.setMode=function(a,b){this.mode=a};EditorUi.prototype.loadDescriptor=function(a,b,c){var d=window.location.hash,g=mxUtils.bind(this,function(c){var g=null!=a.data?a.data:"";null!=c&&0<c.length&&(0<g.length&&(g+="\n"),g+=c);c=new LocalFile(this,"csv"!=a.format&&0<g.length?g:this.emptyDiagramXml,
+null!=urlParams.title?decodeURIComponent(urlParams.title):this.defaultFilename,!0);c.getHash=function(){return d};this.fileLoaded(c);"csv"==a.format&&this.importCsv(g,mxUtils.bind(this,function(a){this.editor.undoManager.clear();this.editor.setModified(!1);this.editor.setStatus("")}));if(null!=a.update){var e=null!=a.interval?parseInt(a.interval):6E4,k=null,n=mxUtils.bind(this,function(){var b=this.currentPage;mxUtils.post(a.update,"xml="+encodeURIComponent(mxUtils.getXml(this.editor.getGraphXml())),
+mxUtils.bind(this,function(a){b===this.currentPage&&(200<=a.getStatus()&&300>=a.getStatus()?(this.updateDiagram(a.getText()),f()):this.handleError({message:mxResources.get("error")+" "+a.getStatus()}))}),mxUtils.bind(this,function(a){this.handleError(a)}))}),f=mxUtils.bind(this,function(){window.clearTimeout(k);k=window.setTimeout(n,e)});this.editor.addListener("pageSelected",mxUtils.bind(this,function(){f();n()}));f();n()}null!=b&&b()});if(null!=a.url){var e=a.url;/^https?:\/\//.test(e)&&!this.isCorsEnabledForUrl(e)&&
+(e=PROXY_URL+"?url="+encodeURIComponent(a.url));this.loadUrl(e,mxUtils.bind(this,function(a){g(a)}),mxUtils.bind(this,function(a){null!=c&&c(a)}))}else g(a.data)};EditorUi.prototype.updateDiagram=function(a){function b(a){var b=new mxCellOverlay(a.image||d.warningImage,a.tooltip,a.align,a.valign,a.offset);b.addListener(mxEvent.CLICK,function(b,c){editorUi.alert(a.tooltip)});return b}var c=null;if(null!=a&&0<a.length&&(c=mxUtils.parseXml(a),a=null!=c?c.documentElement:null,null!=a&&"updates"==a.nodeName)){var d=
+this.editor.graph,g=d.getModel();g.beginUpdate();var e=null;try{for(a=a.firstChild;null!=a;){if("update"==a.nodeName){var f=g.getCell(a.getAttribute("id"));if(null!=f){try{var h=a.getAttribute("value");if(null!=h){var l=mxUtils.parseXml(h).documentElement;if(null!=l)if("1"==l.getAttribute("replace-value"))g.setValue(f,l);else for(var u=l.attributes,w=0;w<u.length;w++)d.setAttributeForCell(f,u[w].nodeName,0<u[w].nodeValue.length?u[w].nodeValue:null)}}catch(C){null!=window.console&&console.log("Error in value for "+
+f.id+": "+C)}try{var m=a.getAttribute("style");null!=m&&d.model.setStyle(f,m)}catch(C){null!=window.console&&console.log("Error in style for "+f.id+": "+C)}try{var E=a.getAttribute("icon");if(null!=E){var y=0<E.length?JSON.parse(E):null;null!=y&&y.append||d.removeCellOverlays(f);null!=y&&d.addCellOverlay(f,b(y))}}catch(C){null!=window.console&&console.log("Error in icon for "+f.id+": "+C)}try{var D=a.getAttribute("geometry");if(null!=D){var D=JSON.parse(D),z=d.getCellGeometry(f);if(null!=z){z=z.clone();
+for(key in D){var B=parseFloat(D[key]);"dx"==key?z.x+=B:"dy"==key?z.y+=B:"dw"==key?z.width+=B:"dh"==key?z.height+=B:z[key]=parseFloat(D[key])}d.model.setGeometry(f,z)}}}catch(C){null!=window.console&&console.log("Error in icon for "+f.id+": "+C)}}}else if("model"==a.nodeName){for(var J=a.firstChild;null!=J&&J.nodeType!=mxConstants.NODETYPE_ELEMENT;)J=J.nextSibling;null!=J&&(new mxCodec(a.firstChild)).decode(J,g)}else if("view"==a.nodeName){if(a.hasAttribute("scale")&&(d.view.scale=parseFloat(a.getAttribute("scale"))),
+a.hasAttribute("dx")||a.hasAttribute("dy"))d.view.translate=new mxPoint(parseFloat(a.getAttribute("dx")||0),parseFloat(a.getAttribute("dy")||0))}else"fit"==a.nodeName&&(e=a.hasAttribute("max-scale")?parseFloat(a.getAttribute("max-scale")):1);a=a.nextSibling}}finally{g.endUpdate()}null!=e&&this.chromelessResize&&this.chromelessResize(!0,e)}return c};EditorUi.prototype.fileLoaded=function(a){var b=!1;this.hideDialog();var c=this.getCurrentFile();this.setCurrentFile(null);null!=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);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.updateUi();this.showSplash()});if(null!=a)try{this.setCurrentFile(a);a.addListener("descriptorChanged",this.descriptorChangedListener);a.addListener("contentChanged",this.descriptorChangedListener);a.open();this.setGraphEnabled(!0);this.setMode(a.getMode());this.editor.undoManager.clear();this.descriptorChanged();this.updateUi();null==a.realtime&&(a.isEditable()?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"));b=!0;this.isOffline()||null==a.getMode()||this.logEvent({category:"File",action:"open",label:a.getMode()});if(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(t){}try{mxSettings.setOpenCounter(mxSettings.getOpenCounter()+1),mxSettings.save()}catch(t){}}catch(t){null!=window.console&&console.log("error in fileLoaded:",a,t);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!=t&&null!=t.message?":err:"+encodeURIComponent(t.message):"")+(null!=t&&null!=t.stack?"&stack="+encodeURIComponent(t.stack):"")}catch(p){}this.handleError(t,mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){null!=urlParams.url&&this.spinner.spin(document.body,mxResources.get("reconnecting"))?window.location.search=this.getSearch(["url"]):null!=c?c.constructor==DriveFile?this.loadFile(c.getHash()):this.fileLoaded(c):d()}))}else d();return b};EditorUi.prototype.descriptorChanged=
+function(){};EditorUi.prototype.logEvent=function(a){if(EditorUi.enableLogging)try{var b=null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"";(new Image).src=b+"/images/1x1.png?v="+encodeURIComponent(EditorUi.VERSION)+(null!=a?"&data="+encodeURIComponent(JSON.stringify(a)):"")}catch(n){}};EditorUi.prototype.restoreLibraries=function(){};EditorUi.prototype.saveLibrary=function(a,b,c,d,e,f,h){};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 b=mxUtils.createXmlDocument(),c=b.createElement("mxlibrary");mxUtils.setTextContent(c,JSON.stringify(a));b.appendChild(c);return mxUtils.getXml(b)};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 b=this.sidebar.palettes[a];if(null!=b){for(var c=0;c<b.length;c++)b[c].parentNode.removeChild(b[c]);delete this.sidebar.palettes[a]}};EditorUi.prototype.repositionLibrary=function(a){var b=this.sidebar.container;if(null==a){var c=this.sidebar.palettes["L.scratchpad"];null==c&&(c=
+this.sidebar.palettes.search);null!=c&&(a=c[c.length-1].nextSibling)}a=null!=a?a:b.firstChild.nextSibling.nextSibling;var c=b.lastChild,d=c.previousSibling;b.insertBefore(c,a);b.insertBefore(d,c)};EditorUi.prototype.loadLibrary=function(a){var b=mxUtils.parseXml(a.getData());if("mxlibrary"==b.documentElement.nodeName){var c=JSON.parse(mxUtils.getTextContent(b.documentElement));this.libraryLoaded(a,c,b.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 e=null,g=mxUtils.bind(this,function(b,c){if(0==b.length&&a.isEditable())null==e&&(e=document.createElement("div"),mxUtils.setPrefixedStyle(e.style,
+"borderRadius","6px"),e.style.border="3px dotted lightGray",e.style.textAlign="center",e.style.padding="8px",e.style.color="#B3B3B3",mxUtils.write(e,mxResources.get("dragElementsHere"))),c.appendChild(e);else for(var d=0;d<b.length;d++){var g=b[d],k=g.data;if(null!=k){var k=this.convertDataUri(k),n="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";"fixed"==g.aspect&&(n+="aspect=fixed;");c.appendChild(this.sidebar.createVertexTemplate(n+"image="+k,g.w,g.h,"",g.title||"",!1,
+!1,!0))}else null!=g.xml&&(k=this.stringToCells(this.editor.graph.decompress(g.xml)),0<k.length&&c.appendChild(this.sidebar.createVertexTemplateFromCells(k,g.w,g.h,g.title||"",!0,!1,!0)))}});if(null!=this.sidebar&&null!=b)for(var k=0;k<b.length;k++)mxUtils.bind(this,function(a){var b=a.data;null!=b&&null!=a.title?this.sidebar.addEntry(a.title,mxUtils.bind(this,function(){b=this.convertDataUri(b);var c="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";"fixed"==a.aspect&&(c+=
+"aspect=fixed;");return this.sidebar.createVertexTemplate(c+"image="+b,a.w,a.h,"",a.title||"",!1,!1,!0)})):null!=a.xml&&null!=a.title&&this.sidebar.addEntry(a.title,mxUtils.bind(this,function(){var b=this.stringToCells(this.editor.graph.decompress(a.xml));return this.sidebar.createVertexTemplateFromCells(b,a.w,a.h,a.title||"",!0,!1,!0)}))})(b[k]);c=null!=c&&0<c.length?c:a.getTitle();var n=this.sidebar.addPalette(a.getHash(),c,!0,mxUtils.bind(this,function(a){g(b,a)}));this.repositionLibrary(d);var f=
+n.parentNode.previousSibling;c=f.getAttribute("title");null!=c&&0<c.length&&".scratchpad"!=a.title&&f.setAttribute("title",this.getLibraryStorageHint(a)+"\n"+c);var u=document.createElement("div");u.style.position="absolute";u.style.right="0px";u.style.top="0px";u.style.padding="8px";mxClient.IS_QUIRKS||8==document.documentMode||(u.style.backgroundColor="inherit");f.style.position="relative";var h=document.createElement("img");h.setAttribute("src",Dialog.prototype.closeImage);h.setAttribute("title",
+mxResources.get("close"));h.setAttribute("valign","absmiddle");h.setAttribute("border","0");h.style.margin="0 3px";var l=null;if(".scratchpad"!=a.title||this.closableScratchpad)u.appendChild(h),mxEvent.addListener(h,"click",mxUtils.bind(this,function(b){if(!mxEvent.isConsumed(b)){var c=mxUtils.bind(this,function(){this.closeLibrary(a)});null!=l?this.confirm(mxResources.get("allChangesLost"),null,c,mxResources.get("cancel"),mxResources.get("discardChanges")):c();mxEvent.consume(b)}}));if(a.isEditable()){var m=
+this.editor.graph,y=null,D=mxUtils.bind(this,function(c){this.showLibraryDialog(a.getTitle(),n,b,a,a.getMode());mxEvent.consume(c)}),z=mxUtils.bind(this,function(c){a.setModified(!0);a.isAutosave()?(null!=y&&null!=y.parentNode&&y.parentNode.removeChild(y),y=h.cloneNode(!1),y.setAttribute("src",Editor.spinImage),y.setAttribute("title",mxResources.get("saving")),y.style.cursor="default",y.style.marginRight="2px",y.style.marginTop="-2px",u.insertBefore(y,u.firstChild),f.style.paddingRight=18*u.childNodes.length+
+"px",this.saveLibrary(a.getTitle(),b,a,a.getMode(),!0,!0,function(){null!=y&&null!=y.parentNode&&(y.parentNode.removeChild(y),f.style.paddingRight=18*u.childNodes.length+"px")})):null==l&&(l=h.cloneNode(!1),l.setAttribute("src",IMAGE_PATH+"/download.png"),l.setAttribute("title",mxResources.get("save")),u.insertBefore(l,u.firstChild),mxEvent.addListener(l,"click",mxUtils.bind(this,function(c){this.saveLibrary(a.getTitle(),b,a,a.getMode(),a.constructor==LocalLibrary,!0,function(){null==l||a.isModified()||
+(f.style.paddingRight=18*u.childNodes.length+"px",l.parentNode.removeChild(l),l=null)});mxEvent.consume(c)})),f.style.paddingRight=18*u.childNodes.length+"px")}),B=mxUtils.bind(this,function(a,c,d,g){a=m.cloneCells(mxUtils.sortCells(m.model.getTopmostCells(a)));for(var k=0;k<a.length;k++){var f=m.getCellGeometry(a[k]);null!=f&&f.translate(-c.x,-c.y)}n.appendChild(this.sidebar.createVertexTemplateFromCells(a,c.width,c.height,g||"",!0,!1,!1));a={xml:this.editor.graph.compress(mxUtils.getXml(this.editor.graph.encodeCells(a))),
+w:c.width,h:c.height};null!=g&&(a.title=g);b.push(a);z(d);null!=e&&null!=e.parentNode&&0<b.length&&(e.parentNode.removeChild(e),e=null)}),J=mxUtils.bind(this,function(a){if(m.isSelectionEmpty())m.getRubberband().isActive()?(m.getRubberband().execute(a),m.getRubberband().reset()):this.showError(mxResources.get("error"),mxResources.get("nothingIsSelected"),mxResources.get("ok"));else{var b=m.getSelectionCells(),c=m.view.getBounds(b),d=m.view.scale;c.x/=d;c.y/=d;c.width/=d;c.height/=d;c.x-=m.view.translate.x;
+c.y-=m.view.translate.y;B(b,c)}mxEvent.consume(a)});n.style.border="3px solid transparent";mxEvent.addGestureListeners(n,function(){},mxUtils.bind(this,function(a){m.isMouseDown&&null!=m.panningManager&&null!=m.graphHandler.shape&&(m.graphHandler.shape.node.style.visibility="hidden",null!=e?e.style.border="3px dotted rgb(254, 137, 12)":n.style.border="3px dotted rgb(254, 137, 12)",n.style.cursor="copy",m.panningManager.stop(),m.autoScroll=!1,null!=m.graphHandler.guide&&m.graphHandler.guide.setVisible(!1),
+null!=m.graphHandler.hint&&(m.graphHandler.hint.style.visibility="hidden"),mxEvent.consume(a))}),mxUtils.bind(this,function(a){m.isMouseDown&&null!=m.panningManager&&null!=m.graphHandler&&(n.style.border="3px solid transparent",null!=e&&(e.style.border="3px dotted lightGray"),n.style.cursor="default",this.sidebar.showTooltips=!0,m.panningManager.stop(),m.graphHandler.reset(),m.isMouseDown=!1,m.autoScroll=!0,J(a),mxEvent.consume(a))}));mxEvent.addListener(n,"mouseleave",mxUtils.bind(this,function(a){m.isMouseDown&&
+null!=m.graphHandler.shape&&(m.graphHandler.shape.node.style.visibility="visible",n.style.border="3px solid transparent",n.style.cursor="",m.autoScroll=!0,null!=m.graphHandler.guide&&m.graphHandler.guide.setVisible(!0),null!=m.graphHandler.hint&&(m.graphHandler.hint.style.visibility="visible"),null!=e&&(e.style.border="3px dotted lightGray"))}));Graph.fileSupport&&(mxEvent.addListener(n,"dragover",mxUtils.bind(this,function(a){null!=e?e.style.border="3px dotted rgb(254, 137, 12)":n.style.border="3px dotted rgb(254, 137, 12)";
+a.dataTransfer.dropEffect="copy";n.style.cursor="copy";this.sidebar.hideTooltip();a.stopPropagation();a.preventDefault()})),mxEvent.addListener(n,"drop",mxUtils.bind(this,function(a){n.style.border="3px solid transparent";n.style.cursor="";null!=e&&(e.style.border="3px dotted lightGray");0<a.dataTransfer.files.length&&this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,mxUtils.bind(this,function(c,d,k,f,u,h,l,q,w){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,u,h),c)],c[0].vertex=!0,B(c,new mxRectangle(0,0,u,h),a,mxEvent.isAltDown(a)?null:l.substring(0,l.lastIndexOf(".")).replace(/_/g," ")),null!=e&&null!=e.parentNode&&0<b.length&&(e.parentNode.removeChild(e),e=null);else{var m=!1,p=mxUtils.bind(this,function(c,d){if(null!=c&&"text/xml"==d){var k=mxUtils.parseXml(c);if("mxlibrary"==k.documentElement.nodeName)try{var f=JSON.parse(mxUtils.getTextContent(k.documentElement));g(f,n);b=b.concat(f);z(a);
+this.spinner.stop();m=!0}catch(U){}else if("mxfile"==k.documentElement.nodeName)try{for(var u=k.documentElement.getElementsByTagName("diagram"),k=0;k<u.length;k++){var f=mxUtils.getTextContent(u[k]),h=this.stringToCells(this.editor.graph.decompress(f)),l=this.editor.graph.getBoundingBoxFromGeometry(h);B(h,new mxRectangle(0,0,l.width,l.height),a)}m=!0}catch(U){null!=window.console&&console.log("error in drop handler:",U)}}m||(this.spinner.stop(),this.handleError({message:mxResources.get("errorLoadingFile")}));
+null!=e&&null!=e.parentNode&&0<b.length&&(e.parentNode.removeChild(e),e=null)});null!=w&&null!=l&&(/(\.vsdx?)($|\?)/i.test(l)||/(\.vssx)($|\?)/i.test(l))?this.importVisio(w,function(a){p(a,"text/xml")},null,l):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(c,l)&&null!=w?this.parseFile(w,mxUtils.bind(this,function(a){4==a.readyState&&(this.spinner.stop(),200<=a.status&&299>=a.status?p(a.responseText,"text/xml"):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge":
+"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))})):p(c,d)}}));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(n,"dragleave",function(a){null!=e?e.style.border="3px dotted lightGray":(n.style.border="3px solid transparent",n.style.cursor="");a.stopPropagation();a.preventDefault()}));h=h.cloneNode(!1);h.setAttribute("src",Editor.editImage);h.setAttribute("title",mxResources.get("edit"));u.insertBefore(h,u.firstChild);mxEvent.addListener(h,"click",D);mxEvent.addListener(n,
+"dblclick",function(a){mxEvent.getSource(a)==n&&D(a)});c=h.cloneNode(!1);c.setAttribute("src",Editor.plusImage);c.setAttribute("title",mxResources.get("add"));u.insertBefore(c,u.firstChild);mxEvent.addListener(c,"click",J);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)})),u.insertBefore(c,u.firstChild))}f.appendChild(u);f.style.paddingRight=18*u.childNodes.length+"px"}};"1"==urlParams.offline||EditorUi.isElectronApp?EditorUi.prototype.footerHeight=4:("1"==urlParams.savesidebar&&(Sidebar.prototype.thumbWidth=64,Sidebar.prototype.thumbHeight=64),EditorUi.prototype.footerHeight=760<=screen.width&&240<=screen.height?46:0,EditorUi.prototype.createFooter=function(){var a=document.getElementById("geFooter");
+if(null!=a){a.style.visibility="visible";var b=document.createElement("img");b.setAttribute("border","0");b.setAttribute("src",Dialog.prototype.closeImage);b.setAttribute("title",mxResources.get("hide"));a.appendChild(b);mxClient.IS_QUIRKS&&(b.style.position="relative",b.style.styleFloat="right",b.style.top="-30px",b.style.left="164px",b.style.cursor="pointer");mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.hideFooter()}))}return a});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,EditorUi.prototype.hsplitPosition=188,Sidebar.prototype.thumbWidth=46,Sidebar.prototype.thumbHeight=46,Sidebar.prototype.thumbPadding=
+5<=document.documentMode?0:1,Sidebar.prototype.thumbBorder=2):"dark"==uiTheme&&(mxClient.link("stylesheet",STYLE_PATH+"/dark.css"),Dialog.backdropColor="#2a2a2a",Graph.prototype.defaultThemeName="darkTheme",Graph.prototype.defaultPageBackgroundColor="#2a2a2a",Graph.prototype.defaultGraphBackground=null,Graph.prototype.defaultPageBorderColor="#505759",Graph.prototype.svgShadowColor="#e0e0e0",Graph.prototype.svgShadowOpacity="0.6",Graph.prototype.svgShadowSize="0.8",Graph.prototype.svgShadowBlur="1.4",
+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 b=document.getElementById("geFooter");null!=b&&(this.footerHeight=a,b.style.display="inline",this.refresh())};EditorUi.prototype.showImageDialog=function(a,b,c,d,e){a=new ImageDialog(this,a,b,c,d,e);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 b=new BackgroundImageDialog(this,mxUtils.bind(this,function(b){a(b)}));this.showDialog(b.container,360,200,!0,!0);b.init()};EditorUi.prototype.showLibraryDialog=function(a,b,c,d,e){a=new LibraryDialog(this,a,b,c,d,e);this.showDialog(a.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&&null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.showSplash()}));a.init()};EditorUi.prototype.createSidebarFooterContainer=function(){var a=this.createDiv("geSidebarContainer");
+a.style.position="absolute";a.style.overflow="hidden";a.style.borderWidth="3px";var b=document.createElement("a");b.setAttribute("href","javascript:void(0);");b.className="geTitle";b.style.height="100%";b.style.paddingTop="9px";mxUtils.write(b,mxResources.get("moreShapes")+"...");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){var d=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){a=mxUtils.htmlEntities(mxResources.get("unknownError"));var g=mxResources.get("ok"),k=null;b=null!=b?b:mxResources.get("error");if(null!=e)if(null!=e.retry&&(g=mxResources.get("cancel"),k=function(){d();e.retry()}),"undefined"!=typeof gapi&&"undefined"!=typeof gapi.drive&&"undefined"!=typeof gapi.drive.realtime&&e.type==gapi.drive.realtime.ErrorType.FORBIDDEN)a=mxUtils.htmlEntities(mxResources.get("forbidden"));
+else if(404==e.code||404==e.status||"undefined"!=typeof gapi&&"undefined"!=typeof gapi.drive&&"undefined"!=typeof gapi.drive.realtime&&e.type==gapi.drive.realtime.ErrorType.NOT_FOUND){a=mxUtils.htmlEntities(mxResources.get("fileNotFoundOrDenied"));var n=window.location.hash;null!=n&&"#G"==n.substring(0,2)&&(n=n.substring(2),a+=' <a href="https://drive.google.com/open?id='+n+'" target="_blank">'+mxUtils.htmlEntities(mxResources.get("tryOpeningViaThisPage"))+"</a>")}else e.code==App.ERROR_TIMEOUT?a=
+mxUtils.htmlEntities(mxResources.get("timeout")):e.code==App.ERROR_BUSY?a=mxUtils.htmlEntities(mxResources.get("busy")):null!=e.message?a=mxUtils.htmlEntities(e.message):null!=e.response&&null!=e.response.error&&(a=mxUtils.htmlEntities(e.response.error));this.showError(b,a,g,c,k)}else null!=c&&c()};EditorUi.prototype.showError=function(a,b,c,d,e,f,h,l,m,u,w,F){a=new ErrorDialog(this,a,b,c||mxResources.get("ok"),d,e,f,h,F,l,m);this.showDialog(a.container,u||340,w||150,!0,!1);a.init()};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,c,d,e){var g=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){};this.showDialog((new ConfirmDialog(this,a,function(){g();null!=b&&b()},function(){g();null!=c&&c()},d,e)).container,340,90,!0,!1)};EditorUi.prototype.setCurrentFile=function(a){this.currentFile=a};EditorUi.prototype.getCurrentFile=function(){return this.currentFile};
+EditorUi.prototype.isExportToCanvas=function(){return mxClient.IS_CHROMEAPP||!this.editor.graph.mathEnabled&&this.useCanvasForExport};EditorUi.prototype.createSvgDataUri=function(a){return"data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent(a)))};EditorUi.prototype.createImageDataUri=function(a,b,c){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,"zTXt","mxGraphModel",atob(this.editor.graph.compress(b))));
+return d};EditorUi.prototype.saveCanvas=function(a,b,c){var d="jpeg"==c?"jpg":c,e=this.getBaseFilename()+"."+d;a=this.createImageDataUri(a,b,c);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.doSaveLocalFile=function(a,b,c,d,e){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)b=new TextareaDialog(this,b+":",a,null,null,mxResources.get("close")),b.textarea.style.width="600px",b.textarea.style.height=
+"380px",this.showDialog(b.container,620,460,!0,!0),b.init(),document.execCommand("selectall",!1,null);else{var g=document.createElement("a"),k=!mxClient.IS_SF&&"undefined"!==typeof g.download;if(mxClient.IS_GC)var n=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./),k=65==(n?parseInt(n[2],10):!1)?!1:k;if(k||this.isOffline()){g.href=URL.createObjectURL(d?this.base64ToBlob(a,c):new Blob([a],{type:c}));k?g.download=b:g.setAttribute("target","_blank");document.body.appendChild(g);try{window.setTimeout(function(){URL.revokeObjectURL(g.href)},
+0),g.click(),g.parentNode.removeChild(g)}catch(A){}}else this.createEchoRequest(a,b,c,d,e).simulate(document,"_blank")}};EditorUi.prototype.createEchoRequest=function(a,b,c,d,e,f){a="xml="+encodeURIComponent(a);return new mxXmlRequest(SAVE_URL,a+(null!=c?"&mime="+c:"")+(null!=e?"&format="+e:"")+(null!=f?"&base64="+f:"")+(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),g=Array(e),
+k=0;k<e;++k){for(var f=1024*k,h=Math.min(f+1024,d),u=Array(h-f),l=0;f<h;++l,++f)u[l]=c[f].charCodeAt(0);g[k]=new Uint8Array(u)}return new Blob(g,{type:b})};EditorUi.prototype.saveLocalFile=function(a,b,c,d,e,f,h){f=null!=f?f:!1;h=null!=h?h:"vsdx"!=e&&(!mxClient.IS_IOS||!navigator.standalone);e=this.getServiceCount(f);b=new CreateDialog(this,b,mxUtils.bind(this,function(b,e){try{if("_blank"==e)if(null==c||"image/"!=c.substring(0,6)||"image/svg"==c.substring(0,9)&&!mxClient.IS_SVG){var g=window.open("about:blank");
+null==g?mxUtils.popup(a,!0):(g.document.write(mxUtils.htmlEntities(a,!1)),g.document.close())}else this.openInNewWindow(a,c,d);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(g){try{this.exportFile(a,b,c,d,e,g)}catch(F){this.handleError(F)}}))}catch(w){this.handleError(w)}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,f,h,null,1<e,4<e&&(!f||6>e)?3:4,
+a,c,d);this.showDialog(b.container,420,e==(mxClient.IS_IOS?0:1)?160:4<e?390:270,!0,!0);b.init()};EditorUi.prototype.openInNewWindow=function(a,b,c){if(mxClient.IS_GC||mxClient.IS_EDGE||11==document.documentMode||10==document.documentMode){var d=window.open("about:blank");null==d?mxUtils.popup(a,!0):("image/svg+xml"==b?d.document.write("<html>"+a+"</html>"):d.document.write('<html><img src="data:'+b+(c?";base64,"+a:";charset=utf8,"+encodeURIComponent(a))+'"/></html>'),d.document.close())}else d=window.open("data:"+
+b+(c?";base64,"+a:";charset=utf8,"+encodeURIComponent(a))),null==d&&mxUtils.popup(a,!0)};var b=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.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"))}b.apply(this,arguments)};EditorUi.prototype.saveData=function(a,b,c,d,e){this.isLocalFileSave()?this.saveLocalFile(c,a,d,e,b):this.saveRequest(a,b,mxUtils.bind(this,function(a,
+g){return this.createEchoRequest(c,a,d,e,b,g)}),c,e,d)};EditorUi.prototype.saveRequest=function(a,b,c,d,e,f,h){h=null!=h?h:!mxClient.IS_IOS||!navigator.standalone;var g=this.getServiceCount(!1);a=new CreateDialog(this,a,mxUtils.bind(this,function(a,e){if("_blank"==e||null!=a&&0<a.length){var g=c("_blank"==e?null:a,e==App.MODE_DEVICE||"download"==e||null==e||"_blank"==e?"0":"1");null!=g&&(e==App.MODE_DEVICE||"download"==e||"_blank"==e?g.simulate(document,"_blank"):this.pickFolder(e,mxUtils.bind(this,
+function(c){f=null!=f?f:"pdf"==b?"application/pdf":"image/"+b;if(null!=d)try{this.exportFile(d,a,f,!0,e,c)}catch(E){this.handleError(E)}else this.spinner.spin(document.body,mxResources.get("saving"))&&g.send(mxUtils.bind(this,function(){this.spinner.stop();if(200<=g.getStatus()&&299>=g.getStatus())try{this.exportFile(g.getText(),a,f,!0,e,c)}catch(E){this.handleError(E)}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,h,null,1<g,4<g?3:4,d,f,e);this.showDialog(a.container,380,g==(mxClient.IS_IOS?0:1)?160:4<g?390:270,!0,!0);a.init()};EditorUi.prototype.getEditBlankXml=function(){return this.getFileData(!0)};EditorUi.prototype.exportFile=function(a,b,c,d,e,f){};EditorUi.prototype.pickFolder=function(a,b,c){b(null)};EditorUi.prototype.exportSvg=function(a,b,c,d,e,f,h,l,m){if(this.spinner.spin(document.body,
+mxResources.get("export"))){var g=this.editor.graph.isSelectionEmpty();c=null!=c?c:g;g=b?null:this.editor.graph.background;g==mxConstants.NONE&&(g=null);null==g&&0==b&&(g="#ffffff");var k=this.editor.graph.getSvg(g,a,h,l,null,c);d&&this.editor.graph.addSvgShadow(k);var n=this.getBaseFilename()+".svg",q=mxUtils.bind(this,function(a){this.spinner.stop();e&&a.setAttribute("content",this.getFileData(!0,null,null,null,c,m));if(null!=this.editor.fontCss){var b=a.ownerDocument,b=null!=b.createElementNS?
+b.createElementNS(mxConstants.NS_SVG,"style"):b.createElement("style");b.setAttribute("type","text/css");mxUtils.setTextContent(b,this.editor.fontCss);a.getElementsByTagName("defs")[0].appendChild(b)}var d='<!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(n,"svg",d,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),
+mxUtils.bind(this,function(){mxUtils.popup(d)}))});this.convertMath(this.editor.graph,k,!1,mxUtils.bind(this,function(){f?(null==this.thumbImageCache&&(this.thumbImageCache={}),this.convertImages(k,q,this.thumbImageCache)):q(k)}))}};EditorUi.prototype.addCheckbox=function(a,b,c,d,e,f){f=null!=f?f:!0;var g=document.createElement("input");g.style.marginRight="8px";g.style.marginTop="16px";g.setAttribute("type","checkbox");c&&(g.setAttribute("checked","checked"),g.defaultChecked=!0);d&&g.setAttribute("disabled",
+"disabled");f&&(a.appendChild(g),c=document.createElement("span"),mxUtils.write(c,b),a.appendChild(c),e||mxUtils.br(a),mxEvent.addListener(c,"click",mxUtils.bind(this,function(a){"disabled"!=g.getAttribute("disabled")&&(g.checked=!g.checked,mxEvent.consume(a))})));return g};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 g=document.createElement("select");g.style.width="120px";g.style.marginLeft="8px";g.style.marginRight="10px";g.className="geBtn";d=document.createElement("option");d.setAttribute("value","blank");mxUtils.write(d,mxResources.get("makeCopy"));g.appendChild(d);d=document.createElement("option");d.setAttribute("value","custom");mxUtils.write(d,mxResources.get("custom")+"...");g.appendChild(d);a.appendChild(g);mxEvent.addListener(g,"change",mxUtils.bind(this,function(){if("custom"==
+g.value){var a=new FilenameDialog(this,e,mxResources.get("ok"),function(a){null!=a?e=a:g.value="blank"},mxResources.get("url"),null,null,null,null,function(){g.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)?g.removeAttribute("disabled"):g.setAttribute("disabled","disabled")}));mxUtils.br(a);return{getLink:function(){return c.checked?"blank"===g.value?"_blank":e:null},getEditInput:function(){return c},
+getEditSelect:function(){return g}}};EditorUi.prototype.addLinkSection=function(a,b){function c(){k.innerHTML='<div style="width:100%;height:100%;box-sizing:border-box;'+(null!=g&&g!=mxConstants.NONE?"border:1px solid black;background-color:"+g:"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 g="#0000ff",k=null,k=mxUtils.button("",mxUtils.bind(this,function(a){this.pickColor(g||"none",function(a){g=a;c()});mxEvent.consume(a)}));c();k.style.padding=mxClient.IS_FF?"4px 2px 4px 2px":"4px";k.style.marginLeft="4px";k.style.height="22px";k.style.width="22px";k.style.position="relative";k.style.top=mxClient.IS_IE||
+mxClient.IS_IE11||mxClient.IS_EDGE?"6px":"1px";k.className="geColorBtn";a.appendChild(k);mxUtils.br(a);return{getColor:function(){return g},getTarget:function(){return d.value},focus:function(){d.focus()}}};EditorUi.prototype.createLink=function(a,b,c,d,e,f,h,l){var g=this.getCurrentFile(),k=[];d&&(k.push("lightbox=1"),"auto"!=a&&k.push("target="+a),null!=b&&b!=mxConstants.NONE&&k.push("highlight="+("#"==b.charAt(0)?b.substring(1):b)),null!=e&&0<e.length&&k.push("edit="+encodeURIComponent(e)),f&&
+k.push("layers=1"),this.editor.graph.foldingEnabled&&k.push("nav=1"));if(c&&null!=this.pages&&null!=this.currentPage)for(a=0;a<this.pages.length;a++)if(this.pages[a]==this.currentPage){0<a&&k.push("page="+a);break}a=!0;null!=h?c="#U"+encodeURIComponent(h):(g=this.getCurrentFile(),l||null==g||g.constructor!=window.DriveFile?c="#R"+encodeURIComponent(c?this.getFileData(!0,null,null,null,null,null,null,!0):this.editor.graph.compress(mxUtils.getXml(this.editor.getGraphXml()))):(c="#"+g.getHash(),a=!1));
+a&&null!=g&&null!=g.getTitle()&&g.getTitle()!=this.defaultFilename&&k.push("title="+encodeURIComponent(g.getTitle()));return(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||!/.*\.draw\.io$/.test(window.location.hostname)?"https://www.draw.io/":"https://"+window.location.host+"/")+(0<k.length?"?"+k.join("&"):"")+c};EditorUi.prototype.createHtml=function(a,b,c,d,e,f,h,l,m,u,w){this.getBasenames();var g={};""!=e&&e!=mxConstants.NONE&&(g.highlight=e);"auto"!==d&&(g.target=d);m||(g.lightbox=!1);g.nav=this.editor.graph.foldingEnabled;
+c=parseInt(c);isNaN(c)||100==c||(g.zoom=c/100);c=[];h&&(c.push("pages"),g.resize=!0,null!=this.pages&&null!=this.currentPage&&(g.page=mxUtils.indexOf(this.pages,this.currentPage)));b&&(c.push("zoom"),g.resize=!0);l&&c.push("layers");0<c.length&&(m&&c.push("lightbox"),g.toolbar=c.join(" "));null!=u&&0<u.length&&(g.edit=u);null!=a?g.url=a:g.xml=this.getFileData(!0,null,null,null,null,!h);b='<div class="mxgraph" style="'+(f?"max-width:100%;":"")+(""!=c?"border:1px solid transparent;":"")+'" data-mxgraph="'+
+mxUtils.htmlEntities(JSON.stringify(g))+'"></div>';a=null!=a?"&fetch="+encodeURIComponent(a):"";w(b,'<script type="text/javascript" src="'+(0<a.length?("1"==urlParams.dev?"https://test.draw.io/embed2.js?dev=1":"https://www.draw.io/embed2.js?")+a:"1"==urlParams.dev?"https://test.draw.io/js/viewer.min.js":"https://www.draw.io/js/viewer.min.js")+'">\x3c/script>')};EditorUi.prototype.showHtmlDialog=function(a,b,c,d){var e=document.createElement("div");e.style.whiteSpace="nowrap";var g=document.createElement("h3");
+mxUtils.write(g,mxResources.get("html"));g.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";e.appendChild(g);var k=document.createElement("div");k.style.cssText="border-bottom:1px solid lightGray;padding-bottom:8px;margin-bottom:12px;";var f=document.createElement("input");f.style.cssText="margin-right:8px;margin-top:8px;margin-bottom:8px;";f.setAttribute("value","url");f.setAttribute("type","radio");f.setAttribute("name","type-embedhtmldialog");g=f.cloneNode(!0);g.setAttribute("value",
+"copy");k.appendChild(g);var n=document.createElement("span");mxUtils.write(n,mxResources.get("includeCopyOfMyDiagram"));k.appendChild(n);mxUtils.br(k);k.appendChild(f);n=document.createElement("span");mxUtils.write(n,mxResources.get("publicDiagramUrl"));k.appendChild(n);var u=this.getCurrentFile();null==c&&null!=u&&u.constructor==window.DriveFile&&(n=document.createElement("a"),n.style.paddingLeft="12px",n.style.color="gray",n.setAttribute("href","javascript:void(0);"),mxUtils.write(n,mxResources.get("share")),
+k.appendChild(n),mxEvent.addListener(n,"click",mxUtils.bind(this,function(){this.hideDialog();this.drive.showPermissions(u.getId())})));g.setAttribute("checked","checked");null==c&&f.setAttribute("disabled","disabled");e.appendChild(k);var h=this.addLinkSection(e),l=this.addCheckbox(e,mxResources.get("zoom"),!0,null,!0);mxUtils.write(e,":");var m=document.createElement("input");m.setAttribute("type","text");m.style.marginRight="16px";m.style.width="60px";m.style.marginLeft="4px";m.style.marginRight=
+"12px";m.value="100%";e.appendChild(m);var q=this.addCheckbox(e,mxResources.get("fit"),!0),k=null!=this.pages&&1<this.pages.length,D=D=this.addCheckbox(e,mxResources.get("allPages"),k,!k),z=this.addCheckbox(e,mxResources.get("layers"),!0),B=this.addCheckbox(e,mxResources.get("lightbox"),!0),J=this.addEditButton(e,B),C=J.getEditInput();C.style.marginBottom="16px";mxEvent.addListener(B,"change",function(){B.checked?C.removeAttribute("disabled"):C.setAttribute("disabled","disabled");C.checked&&B.checked?
+J.getEditSelect().removeAttribute("disabled"):J.getEditSelect().setAttribute("disabled","disabled")});a=new CustomDialog(this,e,mxUtils.bind(this,function(){d(f.checked?c:null,l.checked,m.value,h.getTarget(),h.getColor(),q.checked,D.checked,z.checked,B.checked,J.getLink())}),null,a,b);this.showDialog(a.container,340,384,!0,!0);g.focus()};EditorUi.prototype.showPublishLinkDialog=function(a,b,c,d,e,f){var g=document.createElement("div");g.style.whiteSpace="nowrap";var k=document.createElement("h3");
+mxUtils.write(k,a||mxResources.get("link"));k.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";g.appendChild(k);var n=this.getCurrentFile(),k="https://desk.draw.io/support/solutions/articles/16000051941";a=0;if(null!=n&&n.constructor==window.DriveFile&&!b){a=80;var k="https://desk.draw.io/support/solutions/articles/16000039384",h=document.createElement("div");h.style.cssText="border-bottom:1px solid lightGray;padding-bottom:14px;padding-top:6px;margin-bottom:14px;text-align:center;";
+var l=document.createElement("div");l.style.whiteSpace="normal";mxUtils.write(l,mxResources.get("linkAccountRequired"));h.appendChild(l);l=mxUtils.button(mxResources.get("share"),mxUtils.bind(this,function(){this.drive.showPermissions(n.getId())}));l.style.marginTop="12px";l.className="geBtn";h.appendChild(l);g.appendChild(h);l=document.createElement("a");l.style.paddingLeft="12px";l.style.color="gray";l.style.fontSize="11px";l.setAttribute("href","javascript:void(0);");mxUtils.write(l,mxResources.get("check"));
+h.appendChild(l);mxEvent.addListener(l,"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,q=null;if(null!=c||null!=d)a+=30,mxUtils.write(g,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%",g.appendChild(m),mxUtils.write(g,mxResources.get("height")+":"),q=document.createElement("input"),q.setAttribute("type","text"),q.style.width="50px",q.style.marginLeft="6px",q.style.marginBottom="10px",q.value=d+"px",g.appendChild(q),mxUtils.br(g);var p=this.addLinkSection(g,f);c=null!=this.pages&&1<this.pages.length;var t=null;
+if(null==n||n.constructor!=window.DriveFile||b)t=this.addCheckbox(g,mxResources.get("allPages"),c,!c);var z=this.addCheckbox(g,mxResources.get("lightbox"),!0),B=this.addEditButton(g,z),J=B.getEditInput(),C=this.addCheckbox(g,mxResources.get("layers"),!0);C.style.marginLeft=J.style.marginLeft;C.style.marginBottom="16px";C.style.marginTop="8px";mxEvent.addListener(z,"change",function(){z.checked?(C.removeAttribute("disabled"),J.removeAttribute("disabled")):(C.setAttribute("disabled","disabled"),J.setAttribute("disabled",
+"disabled"));J.checked&&z.checked?B.getEditSelect().removeAttribute("disabled"):B.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,g,mxUtils.bind(this,function(){e(p.getTarget(),p.getColor(),null==t?!0:t.checked,z.checked,B.getLink(),C.checked,null!=m?m.value:null,null!=q?q.value:null)}),null,mxResources.get("create"),k);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)):p.focus()};EditorUi.prototype.showRemoteExportDialog=function(a,b,c,d){var e=document.createElement("div");e.style.whiteSpace="nowrap";var g=document.createElement("h3");mxUtils.write(g,mxResources.get("image"));g.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";e.appendChild(g);var k=this.addCheckbox(e,mxResources.get("selectionOnly"),!1,this.editor.graph.isSelectionEmpty()),f=d?null:this.addCheckbox(e,mxResources.get("includeCopyOfMyDiagram"),
+!0),g=this.editor.graph,n=d?null:this.addCheckbox(e,mxResources.get("transparentBackground"),g.background==mxConstants.NONE||null==g.background);null!=n&&(n.style.marginBottom="16px");a=new CustomDialog(this,e,mxUtils.bind(this,function(){c(!k.checked,null!=f?f.checked:!1,null!=n?n.checked:!1)}),null,a,b);this.showDialog(a.container,300,d?100:186,!0,!0)};EditorUi.prototype.showExportDialog=function(a,b,c,d,e,f,h,l){h=null!=h?h:!0;var g=document.createElement("div");g.style.whiteSpace="nowrap";var k=
+this.editor.graph,n="jpeg"==l?196:300,m=document.createElement("h3");mxUtils.write(m,a);m.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:10px";g.appendChild(m);mxUtils.write(g,mxResources.get("zoom")+":");var q=document.createElement("input");q.setAttribute("type","text");q.style.marginRight="16px";q.style.width="60px";q.style.marginLeft="4px";q.style.marginRight="12px";q.value=this.lastExportZoom||"100%";g.appendChild(q);mxUtils.write(g,mxResources.get("borderWidth")+":");
+var p=document.createElement("input");p.setAttribute("type","text");p.style.marginRight="16px";p.style.width="60px";p.style.marginLeft="4px";p.value=this.lastExportBorder||"0";g.appendChild(p);mxUtils.br(g);var v=this.addCheckbox(g,mxResources.get("transparentBackground"),k.background==mxConstants.NONE||null==k.background,null,null,"jpeg"!=l),t=this.addCheckbox(g,mxResources.get("selectionOnly"),!1,k.isSelectionEmpty()),x=document.createElement("input");x.style.marginTop="16px";x.style.marginRight=
+"8px";x.style.marginLeft="24px";x.setAttribute("disabled","disabled");x.setAttribute("type","checkbox");f&&(g.appendChild(x),mxUtils.write(g,mxResources.get("crop")),mxUtils.br(g),n+=26,mxEvent.addListener(t,"change",function(){t.checked?x.removeAttribute("disabled"):x.setAttribute("disabled","disabled")}));k.isSelectionEmpty()||(x.setAttribute("checked","checked"),x.defaultChecked=!0);var J=this.addCheckbox(g,mxResources.get("shadow"),k.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&&(g.appendChild(C),mxUtils.write(g,mxResources.get("embedImages")),mxUtils.br(g),n+=26);var L=this.addCheckbox(g,mxResources.get("includeCopyOfMyDiagram"),h,null,null,"jpeg"!=l),H=null!=this.pages&&1<this.pages.length,G=this.addCheckbox(g,H?mxResources.get("allPages"):"",H,!H,null,"jpeg"!=l);G.style.marginLeft="24px";G.style.marginBottom="16px";H||(G.style.visibility=
+"hidden");mxEvent.addListener(L,"change",function(){L.checked&&H?G.removeAttribute("disabled"):G.setAttribute("disabled","disabled")});h&&H||G.setAttribute("disabled","disabled");a=new CustomDialog(this,g,mxUtils.bind(this,function(){this.lastExportBorder=p.value;this.lastExportZoom=q.value;e(q.value,v.checked,!t.checked,J.checked,L.checked,C.checked,p.value,x.checked,!G.checked)}),null,c,d);this.showDialog(a.container,340,n,!0,!0);q.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||
+mxClient.IS_QUIRKS?q.select():document.execCommand("selectAll",!1,null)};EditorUi.prototype.showEmbedImageDialog=function(a,b,c,d,e){var g=document.createElement("div");g.style.whiteSpace="nowrap";var k=this.editor.graph;if(null!=b){var f=document.createElement("h3");mxUtils.write(f,b);f.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";g.appendChild(f)}var n=this.addCheckbox(g,mxResources.get("fit"),!0),h=this.addCheckbox(g,mxResources.get("shadow"),k.shadowVisible&&d,
+!d),l=this.addCheckbox(g,c),m=this.addCheckbox(g,mxResources.get("lightbox"),!0),q=this.addEditButton(g,m),t=q.getEditInput(),D=1<k.model.getChildCount(k.model.getRoot()),z=this.addCheckbox(g,mxResources.get("layers"),D,!D);z.style.marginLeft=t.style.marginLeft;z.style.marginBottom="12px";z.style.marginTop="8px";mxEvent.addListener(m,"change",function(){m.checked?(D&&z.removeAttribute("disabled"),t.removeAttribute("disabled")):(z.setAttribute("disabled","disabled"),t.setAttribute("disabled","disabled"));
+t.checked&&m.checked?q.getEditSelect().removeAttribute("disabled"):q.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,g,mxUtils.bind(this,function(){a(n.checked,h.checked,l.checked,m.checked,q.getLink(),z.checked)}),null,mxResources.get("embed"),e);this.showDialog(b.container,280,280,!0,!0)};EditorUi.prototype.createEmbedImage=function(a,b,c,d,e,f,h,l){function g(b){var g=" ",n="";d&&(g=" 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('https://www.draw.io/?client=1&lightbox=1"+
+(e?"&edit=_blank":"")+(f?"&layers=1":"")+"');}})(this);\"",n+="cursor:pointer;");a&&(n+="max-width:100%;");var u="";c&&(u=' width="'+Math.round(k.width)+'" height="'+Math.round(k.height)+'"');h('<img src="'+b+'"'+u+(""!=n?' style="'+n+'"':"")+g+"/>")}var k=this.editor.graph.getGraphBounds();if(this.isExportToCanvas())this.exportToCanvas(mxUtils.bind(this,function(a){var b=d?this.getFileData(!0):null;a=this.createImageDataUri(a,b,"png");g(a)}),null,null,null,mxUtils.bind(this,function(a){l({message:mxResources.get("unknownError")})}),
+null,!0,c?2:1,null,b);else if(b=this.getFileData(!0),k.width*k.height<=MAX_AREA&&b.length<=MAX_REQUEST_SIZE){var n="";c&&(n="&w="+Math.round(2*k.width)+"&h="+Math.round(2*k.height));var m=new mxXmlRequest(EXPORT_URL,"format=png&base64=1&embedXml="+(d?"1":"0")+n+"&xml="+encodeURIComponent(b));m.send(mxUtils.bind(this,function(){200<=m.getStatus()&&299>=m.getStatus()?g("data:image/png;base64,"+m.getText()):l({message:mxResources.get("unknownError")})}))}else l({message:mxResources.get("drawingTooLarge")})};
+EditorUi.prototype.createEmbedSvg=function(a,b,c,d,e,f,h){var g=this.editor.graph.getSvg(),k=g.getElementsByTagName("a");if(null!=k)for(var n=0;n<k.length;n++){var l=k[n].getAttribute("href");null!=l&&"#"==l.charAt(0)&&"_blank"==k[n].getAttribute("target")&&k[n].removeAttribute("target")}d&&g.setAttribute("content",this.getFileData(!0));b&&this.editor.graph.addSvgShadow(g);if(c){var m=" ",q="";d&&(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('https://www.draw.io/?client=1&lightbox=1"+
(e?"&edit=_blank":"")+(f?"&layers=1":"")+"');}})(this);\"",q+="cursor:pointer;");a&&(q+="max-width:100%;");this.convertImages(g,mxUtils.bind(this,function(a){h('<img src="'+this.createSvgDataUri(mxUtils.getXml(a))+'"'+(""!=q?' style="'+q+'"':"")+m+"/>")}))}else q="",d&&(g.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('https://www.draw.io/?client=1&lightbox=1"+
(e?"&edit=_blank":"")+(f?"&layers=1":"")+"');}}})(this);"),q+="cursor:pointer;"),a&&(a=parseInt(g.getAttribute("width")),b=parseInt(g.getAttribute("height")),g.setAttribute("viewBox","0 0 "+a+" "+b),q+="max-width:100%;max-height:"+b+"px;",g.removeAttribute("height")),""!=q&&g.setAttribute("style",q),h(mxUtils.getXml(g))};EditorUi.prototype.timeSince=function(a){a=Math.floor((new Date-a)/1E3);var b=Math.floor(a/31536E3);if(1<b)return b+" "+mxResources.get("years");b=Math.floor(a/2592E3);if(1<b)return b+
" "+mxResources.get("months");b=Math.floor(a/86400);if(1<b)return b+" "+mxResources.get("days");b=Math.floor(a/3600);if(1<b)return b+" "+mxResources.get("hours");b=Math.floor(a/60);return 1<b?b+" "+mxResources.get("minutes"):1==b?b+" "+mxResources.get("minute"):null};EditorUi.prototype.convertMath=function(a,b,c,d){d()};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<
@@ -7259,7 +7259,7 @@ e&&e(M)}});d.onerror=function(a){null!=e&&e(a)};try{u&&this.editor.graph.addSvgS
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.isCorsEnabledForUrl(d)?"chrome-extension://"!=d.substring(0,19)&&(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,g=c||{};c=mxUtils.bind(this,function(c,k){for(var f=a.getElementsByTagName(c),n=0;n<f.length;n++)mxUtils.bind(this,function(c){var f=d.convert(c.getAttribute(k));if(null!=f&&"data:"!=f.substring(0,5)){var n=g[f];null==n?(e++,this.convertImageToDataUri(f,function(d){null!=d&&(g[f]=d,c.setAttribute(k,d));e--;0==e&&b(a)})):c.setAttribute(k,n)}else null!=f&&c.setAttribute(k,f)})(f[n])});c("image","xlink:href");c("img","src");0==e&&b(a)};EditorUi.prototype.loadUrl=
function(a,b,c,d,e,f){try{var g=d||/(\.png)($|\?)/i.test(a)||/(\.jpe?g)($|\?)/i.test(a)||/(\.gif)($|\?)/i.test(a);e=null!=e?e:!0;var k=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(g){if((9==document.documentMode||10==document.documentMode)&&"undefined"!==typeof window.mxUtilsBinaryToArray){a=mxUtilsBinaryToArray(a.request.responseBody).toArray();for(var d=Array(a.length),e=0;e<a.length;e++)d[e]=
-String.fromCharCode(a[e]);d=d.join("")}f=null!=f?f:"data:image/png;base64,";d=f+this.base64Encode(d)}b(d)}}else null!=c&&c({code:App.ERROR_UNKNOWN},a)}),function(){null!=c&&c({code:App.ERROR_UNKNOWN})},g,this.timeout,function(){e&&null!=c&&c({code:App.ERROR_TIMEOUT,retry:k})})});k()}catch(z){null!=c&&c(z)}};EditorUi.prototype.isCorsEnabledForUrl=function(a){null!=urlParams.cors&&null==this.corsRegExp&&(this.corsRegExp=new RegExp(decodeURIComponent(urlParams.cors)));return null!=this.corsRegExp&&this.corsRegExp.test(a)||
+String.fromCharCode(a[e]);d=d.join("")}f=null!=f?f:"data:image/png;base64,";d=f+this.base64Encode(d)}b(d)}}else null!=c&&c({code:App.ERROR_UNKNOWN},a)}),function(){null!=c&&c({code:App.ERROR_UNKNOWN})},g,this.timeout,function(){e&&null!=c&&c({code:App.ERROR_TIMEOUT,retry:k})})});k()}catch(A){null!=c&&c(A)}};EditorUi.prototype.isCorsEnabledForUrl=function(a){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?:\/\/[^\/]*\.iconfinder.com\//.test(a)||/^https?:\/\/[^\/]*\.draw\.io\/proxy/.test(a)||/^https?:\/\/[^\/]*\.github\.io\//.test(a)};EditorUi.prototype.convertImageToDataUri=function(a,b){if(/(\.svg)$/i.test(a))mxUtils.get(a,mxUtils.bind(this,function(a){b(this.createSvgDataUri(a.getText()))}),function(){b(this.svgBrokenImage.src)});else{var c=new Image,
d=this;this.crossOriginImages&&(c.crossOrigin="anonymous");c.onload=function(){var a=document.createElement("canvas"),e=a.getContext("2d");a.height=c.height;a.width=c.width;e.drawImage(c,0,0);try{b(a.toDataURL())}catch(v){b(d.svgBrokenImage.src)}};c.onerror=function(){b(d.svgBrokenImage.src)};c.src=a}};EditorUi.prototype.importXml=function(a,b,c,d,e){b=null!=b?b:0;c=null!=c?c:0;var g=[];try{var f=this.editor.graph;if(null!=a&&0<a.length){var k=mxUtils.parseXml(a),n=this.editor.extractGraphModel(k.documentElement,
null!=this.pages);if(null!=n&&"mxfile"==n.nodeName&&null!=this.pages){var h=n.getElementsByTagName("diagram");if(1==h.length)n=mxUtils.parseXml(f.decompress(mxUtils.getTextContent(h[0]))).documentElement;else if(1<h.length){f.model.beginUpdate();try{for(a=0;a<h.length;a++){var l=this.updatePageRoot(new DiagramPage(h[a])),m=this.pages.length;null==l.getName()&&l.setName(mxResources.get("pageWithNumber",[m+1]));f.model.execute(new ChangePage(this,l,l,m))}}finally{f.model.endUpdate()}}}null!=n&&"mxGraphModel"===
@@ -7278,120 +7278,120 @@ a,g.updateCellSize(e),/\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-
a+";")])):/(\.*<graphml )/.test(a)&&"undefined"!==typeof window.mxGraphMlCodec?(new mxGraphMlCodec).decode(a,mxUtils.bind(this,function(a){a=this.importXml(a,c,d,u);null!=l&&l(a)})):null!=m&&null!=h&&(/(\.vsdx?)($|\?)/i.test(h)||/(\.vssx)($|\?)/i.test(h))?(g=!0,this.importVisio(m,n)):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(a,h)?(g=!0,this.parseFile(null!=m?m:new Blob([a],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&(200<=a.status&&
299>=a.status?n(a.responseText):null!=l&&l(null))}),h)):/(\.vsd)($|\?)/i.test(h)||(k=this.insertTextAt(this.validateFileData(a),c,d,!0,null,u));g||null==l||l(k);return k};EditorUi.prototype.base64Encode=function(a){for(var b="",c=0,d=a.length,e,g,f;c<d;){e=a.charCodeAt(c++)&255;if(c==d){b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4);b+="==";break}g=a.charCodeAt(c++);if(c==d){b+=
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(g&240)>>4);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((g&15)<<2);b+="=";break}f=a.charCodeAt(c++);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(g&240)>>4);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((g&
-15)<<2|(f&192)>>6);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(f&63)}return b};EditorUi.prototype.importFiles=function(a,b,c,d,e,f,h,l,m,u,w,F){b=null!=b?b:0;c=null!=c?c:0;d=null!=d?d:this.maxImageSize;u=null!=u?u:this.maxImageBytes;var g=null!=b&&null!=c,k=!0,n=!1;if(!mxClient.IS_CHROMEAPP&&null!=a)for(var q=w||this.resampleThreshold,v=0;v<a.length;v++)if("image/"==a[v].type.substring(0,6)&&a[v].size>q){n=!0;break}var p=mxUtils.bind(this,function(){var n=this.editor.graph,
-m=n.gridSize;e=null!=e?e:mxUtils.bind(this,function(a,b,c,d,e,f,k,h,n){return null!=a&&"<mxlibrary"==a.substring(0,10)?(this.spinner.stop(),this.loadLibrary(new LocalLibrary(this,a,k)),null):this.importFile(a,b,c,d,e,f,k,h,n,g,F)});f=null!=f?f:mxUtils.bind(this,function(a){n.setSelectionCells(a)});if(this.spinner.spin(document.body,mxResources.get("loading")))for(var q=a.length,v=q,p=[],t=mxUtils.bind(this,function(a,b){p[a]=b;if(0==--v){this.spinner.stop();if(null!=l)l(p);else{var c=[];n.getModel().beginUpdate();
-try{for(var d=0;d<p.length;d++){var e=p[d]();null!=e&&(c=c.concat(e))}}finally{n.getModel().endUpdate()}}f(c)}}),D=0;D<q;D++)mxUtils.bind(this,function(g){var f=a[g],l=new FileReader;l.onload=mxUtils.bind(this,function(a){if(null==h||h(f))if("image/"==f.type.substring(0,6))if("image/svg"==f.type.substring(0,9)){var l=a.target.result,q=l.indexOf(","),v=decodeURIComponent(escape(atob(l.substring(q+1)))),p=mxUtils.parseXml(v),v=p.getElementsByTagName("svg");if(0<v.length){var v=v[0],C=F?null:v.getAttribute("content");
-null!=C&&"<"!=C.charAt(0)&&"%"!=C.charAt(0)&&(C=unescape(window.atob?atob(C):Base64.decode(C,!0)));null!=C&&"%"==C.charAt(0)&&(C=decodeURIComponent(C));null==C||"<mxfile "!==C.substring(0,8)&&"<mxGraphModel "!==C.substring(0,14)?t(g,mxUtils.bind(this,function(){try{if(l.substring(0,q+1),null!=p){var a=p.getElementsByTagName("svg");if(0<a.length){var h=a[0],u=parseFloat(h.getAttribute("width")),w=parseFloat(h.getAttribute("height")),v=h.getAttribute("viewBox");if(null==v||0==v.length)h.setAttribute("viewBox",
-"0 0 "+u+" "+w);else if(isNaN(u)||isNaN(w)){var t=v.split(" ");3<t.length&&(u=parseFloat(t[2]),w=parseFloat(t[3]))}l=this.createSvgDataUri(mxUtils.getXml(h));var C=Math.min(1,Math.min(d/Math.max(1,u)),d/Math.max(1,w)),F=e(l,f.type,b+g*m,c+g*m,Math.max(1,Math.round(u*C)),Math.max(1,Math.round(w*C)),f.name,k);if(isNaN(u)||isNaN(w)){var D=new Image;D.onload=mxUtils.bind(this,function(){u=Math.max(1,D.width);w=Math.max(1,D.height);F[0].geometry.width=u;F[0].geometry.height=w;h.setAttribute("viewBox",
-"0 0 "+u+" "+w);l=this.createSvgDataUri(mxUtils.getXml(h));var a=l.indexOf(";");0<a&&(l=l.substring(0,a)+l.substring(l.indexOf(",",a+1)));n.setCellStyles("image",l,[F[0]])});D.src=this.createSvgDataUri(mxUtils.getXml(h))}return F}}}catch(da){}return null})):t(g,mxUtils.bind(this,function(){return e(C,"text/xml",b+g*m,c+g*m,0,0,f.name)}))}}else{v=!1;if("image/png"==f.type){var D=F?null:this.extractGraphModelFromPng(a.target.result);if(null!=D&&0<D.length){var x=new Image;x.src=a.target.result;t(g,
-mxUtils.bind(this,function(){return e(D,"text/xml",b+g*m,c+g*m,x.width,x.height,f.name)}));v=!0}}v||(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(h){this.resizeImage(h,a.target.result,mxUtils.bind(this,function(h,
+15)<<2|(f&192)>>6);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(f&63)}return b};EditorUi.prototype.importFiles=function(a,b,c,d,e,f,h,l,m,u,w,F){b=null!=b?b:0;c=null!=c?c:0;d=null!=d?d:this.maxImageSize;u=null!=u?u:this.maxImageBytes;var g=null!=b&&null!=c,k=!0,n=!1;if(!mxClient.IS_CHROMEAPP&&null!=a)for(var q=w||this.resampleThreshold,p=0;p<a.length;p++)if("image/"==a[p].type.substring(0,6)&&a[p].size>q){n=!0;break}var v=mxUtils.bind(this,function(){var n=this.editor.graph,
+m=n.gridSize;e=null!=e?e:mxUtils.bind(this,function(a,b,c,d,e,f,k,h,n){return null!=a&&"<mxlibrary"==a.substring(0,10)?(this.spinner.stop(),this.loadLibrary(new LocalLibrary(this,a,k)),null):this.importFile(a,b,c,d,e,f,k,h,n,g,F)});f=null!=f?f:mxUtils.bind(this,function(a){n.setSelectionCells(a)});if(this.spinner.spin(document.body,mxResources.get("loading")))for(var q=a.length,p=q,v=[],t=mxUtils.bind(this,function(a,b){v[a]=b;if(0==--p){this.spinner.stop();if(null!=l)l(v);else{var c=[];n.getModel().beginUpdate();
+try{for(var d=0;d<v.length;d++){var e=v[d]();null!=e&&(c=c.concat(e))}}finally{n.getModel().endUpdate()}}f(c)}}),D=0;D<q;D++)mxUtils.bind(this,function(g){var f=a[g],l=new FileReader;l.onload=mxUtils.bind(this,function(a){if(null==h||h(f))if("image/"==f.type.substring(0,6))if("image/svg"==f.type.substring(0,9)){var l=a.target.result,q=l.indexOf(","),p=decodeURIComponent(escape(atob(l.substring(q+1)))),v=mxUtils.parseXml(p),p=v.getElementsByTagName("svg");if(0<p.length){var p=p[0],C=F?null:p.getAttribute("content");
+null!=C&&"<"!=C.charAt(0)&&"%"!=C.charAt(0)&&(C=unescape(window.atob?atob(C):Base64.decode(C,!0)));null!=C&&"%"==C.charAt(0)&&(C=decodeURIComponent(C));null==C||"<mxfile "!==C.substring(0,8)&&"<mxGraphModel "!==C.substring(0,14)?t(g,mxUtils.bind(this,function(){try{if(l.substring(0,q+1),null!=v){var a=v.getElementsByTagName("svg");if(0<a.length){var h=a[0],u=parseFloat(h.getAttribute("width")),w=parseFloat(h.getAttribute("height")),p=h.getAttribute("viewBox");if(null==p||0==p.length)h.setAttribute("viewBox",
+"0 0 "+u+" "+w);else if(isNaN(u)||isNaN(w)){var t=p.split(" ");3<t.length&&(u=parseFloat(t[2]),w=parseFloat(t[3]))}l=this.createSvgDataUri(mxUtils.getXml(h));var C=Math.min(1,Math.min(d/Math.max(1,u)),d/Math.max(1,w)),F=e(l,f.type,b+g*m,c+g*m,Math.max(1,Math.round(u*C)),Math.max(1,Math.round(w*C)),f.name,k);if(isNaN(u)||isNaN(w)){var D=new Image;D.onload=mxUtils.bind(this,function(){u=Math.max(1,D.width);w=Math.max(1,D.height);F[0].geometry.width=u;F[0].geometry.height=w;h.setAttribute("viewBox",
+"0 0 "+u+" "+w);l=this.createSvgDataUri(mxUtils.getXml(h));var a=l.indexOf(";");0<a&&(l=l.substring(0,a)+l.substring(l.indexOf(",",a+1)));n.setCellStyles("image",l,[F[0]])});D.src=this.createSvgDataUri(mxUtils.getXml(h))}return F}}}catch(da){}return null})):t(g,mxUtils.bind(this,function(){return e(C,"text/xml",b+g*m,c+g*m,0,0,f.name)}))}}else{p=!1;if("image/png"==f.type){var D=F?null:this.extractGraphModelFromPng(a.target.result);if(null!=D&&0<D.length){var x=new Image;x.src=a.target.result;t(g,
+mxUtils.bind(this,function(){return e(D,"text/xml",b+g*m,c+g*m,x.width,x.height,f.name)}));p=!0}}p||(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(h){this.resizeImage(h,a.target.result,mxUtils.bind(this,function(h,
n,l){t(g,mxUtils.bind(this,function(){if(null!=h&&h.length<u){var q=k&&this.isResampleImage(a.target.result,w)?Math.min(1,Math.min(d/n,d/l)):1;return e(h,f.type,b+g*m,c+g*m,Math.round(n*q),Math.round(l*q),f.name)}this.handleError({message:mxResources.get("imageTooBig")});return null}))}),k,d,w)}),mxUtils.bind(this,function(){this.handleError({message:mxResources.get("invalidOrMissingFile")})})))}else e(a.target.result,f.type,b+g*m,c+g*m,240,160,f.name,function(a){t(g,function(){return a})})});/(\.vsdx?)($|\?)/i.test(f.name)||
-/(\.vssx)($|\?)/i.test(f.name)?e(null,f.type,b+g*m,c+g*m,240,160,f.name,function(a){t(g,function(){return a})},f):"image"==f.type.substring(0,5)?l.readAsDataURL(f):l.readAsText(f)})(D)});n?this.confirmImageResize(function(a){k=a;p()},m):p()};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?
+/(\.vssx)($|\?)/i.test(f.name)?e(null,f.type,b+g*m,c+g*m,240,160,f.name,function(a){t(g,function(){return a})},f):"image"==f.type.substring(0,5)?l.readAsDataURL(f):l.readAsText(f)})(D)});n?this.confirmImageResize(function(a){k=a;v()},m):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,
c){c=null!=c?c:a.name;var d=new FormData;d.append("format","xml");d.append("upfile",a,c);var e=new XMLHttpRequest;e.open("POST",OPEN_URL);e.onreadystatechange=function(){b(e)};e.send(d)};EditorUi.prototype.isResampleImage=function(a,b){b=null!=b?b:this.resampleThreshold;return a.length>b};EditorUi.prototype.resizeImage=function(a,b,c,d,e,f){e=null!=e?e:this.maxImageSize;var g=Math.max(1,a.width),k=Math.max(1,a.height);if(d&&this.isResampleImage(b,f))try{var h=Math.max(g/e,k/e);if(1<h){var n=Math.round(g/
-h),l=Math.round(k/h),m=document.createElement("canvas");m.width=n;m.height=l;m.getContext("2d").drawImage(a,0,0,n,l);var q=m.toDataURL();if(q.length<b.length){var p=document.createElement("canvas");p.width=n;p.height=l;var t=p.toDataURL();q!==t&&(b=q,g=n,k=l)}}}catch(A){}c(b,g,k)};EditorUi.prototype.crcTable=[];for(var d=0;256>d;d++)for(var c=d,e=0;8>e;e++)c=1==(c&1)?3988292384^c>>>1:c>>>1,EditorUi.prototype.crcTable[d]=c;EditorUi.prototype.updateCRC=function(a,b,c,d){for(var e=0;e<d;e++)a=EditorUi.prototype.crcTable[(a^
-b[c+e])&255]^a>>>8;return a};EditorUi.prototype.writeGraphModelToPng=function(a,b,c,d,e){function g(a,b){var c=h;h+=b;return a.substring(c,h)}function f(a){a=g(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 h=0;if(g(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=e&&e();else if(g(a,
-4),"IHDR"!=g(a,4))null!=e&&e();else{g(a,17);e=a.substring(0,h);do{var n=f(a);if("IDAT"==g(a,4)){e=a.substring(0,h-8);c=c+String.fromCharCode(0)+("zTXt"==b?String.fromCharCode(0):"")+d;d=4294967295;d=this.updateCRC(d,b,0,4);d=this.updateCRC(d,c,0,c.length);e+=k(c.length)+b+c+k(d^4294967295);e+=a.substring(h-8,a.length);break}e+=a.substring(h-8,h-4+n);g(a,n);g(a,4)}while(n);return"data:image/png;base64,"+(window.btoa?btoa(e):Base64.encode(e,!0))}};EditorUi.prototype.extractGraphModelFromPng=function(a){var b=
-null;try{var c=a.substring(a.indexOf(",")+1),d=window.atob&&!mxClient.IS_SF?atob(c):Base64.decode(c,!0);EditorUi.parsePng(d,mxUtils.bind(this,function(a,c,e){a=d.substring(a+8,a+8+e);"zTXt"==c?(e=a.indexOf(String.fromCharCode(0)),"mxGraphModel"==a.substring(0,e)&&(a=this.editor.graph.bytesToString(pako.inflateRaw(a.substring(e+2))).replace(/\+/g," "),null!=a&&0<a.length&&(b=a))):"tEXt"==c&&(a=a.split(String.fromCharCode(0)),1<a.length&&"mxGraphModel"==a[0]&&(b=a[1]));if(null!=b||"IDAT"==c)return!0}))}catch(t){}null!=
-b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b));null!=b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b));return b};EditorUi.prototype.loadImage=function(a,b,c){var d=new Image;d.onload=function(){b(d)};null!=c&&(d.onerror=c);d.src=a};var f=EditorUi.prototype.init;EditorUi.prototype.init=function(){function a(a){var c=a.indexOf(",");0<c&&(a=b.getPageById(a.substring(c+1)))&&b.selectPage(a)}"undefined"!==typeof window.mxSettings&&(this.formatWidth=mxSettings.getFormatWidth());var b=this,c=this.editor.graph;
-c.addListener("pageLinkClicked",function(b,c){a(c.getProperty("href"))});this.isOffline()||"undefined"===typeof window.EditDataDialog||(EditDataDialog.placeholderHelpLink="https://desk.draw.io/support/solutions/articles/16000051979");var d=b.editor.getEditBlankUrl;this.editor.getEditBlankUrl=function(a){a=null!=a?a:"";if(null!=b.pages&&null!=b.currentPage)for(var c=0;c<b.pages.length;c++)if(b.pages[c]==b.currentPage){0<c&&(a+=(0<a.length?"&":"?")+"page="+c);break}"1"==urlParams.dev&&(a+=(0<a.length?
-"&":"?")+"dev=1&drawdev=1");return d.apply(this,arguments)};var e=c.addClickHandler;c.addClickHandler=function(b,d,g){var f=d;d=function(b,d){if(null==d){var e=mxEvent.getSource(b);"a"==e.nodeName.toLowerCase()&&(d=e.getAttribute("href"))}null==d||!c.isPageLink(d)||!mxEvent.isTouchEvent(b)&&mxEvent.isPopupTrigger(b)||(a(d),mxEvent.consume(b));null!=f&&f(b,d)};e.call(this,b,d,g)};f.apply(this,arguments);mxClient.IS_SVG&&this.editor.graph.addSvgShadow(c.view.canvas.ownerSVGElement,null,!0);b.actions.get("print").funct=
-function(){b.showDialog((new PrintDialog(b)).container,360,null!=b.pages&&1<b.pages.length?420:360,!0,!0)};this.defaultFilename=mxResources.get("untitledDiagram");var h=c.getGlobalVariable;c.getGlobalVariable=function(a){return"page"==a&&null!=b.currentPage?b.currentPage.getName():"pagenumber"==a?null!=b.currentPage&&null!=b.pages?mxUtils.indexOf(b.pages,b.currentPage)+1:1:h.apply(this,arguments)};var l=c.createLinkForHint;c.createLinkForHint=function(d,e){var g=c.isPageLink(d);if(g){var f=d.indexOf(",");
-0<f&&(f=b.getPageById(d.substring(f+1)),e=null!=f?f.getName():mxResources.get("pageNotFound"))}f=l.call(this,d,e);g&&mxEvent.addListener(f,"click",function(b){a(d);mxEvent.consume(b)});return f};var m=c.labelLinkClicked;c.labelLinkClicked=function(b,d,e){var g=d.getAttribute("href");if(null==g||!c.isPageLink(g)||!mxEvent.isTouchEvent(e)&&mxEvent.isPopupTrigger(e))m.apply(this,arguments);else{if(!c.isEnabled()||null!=b&&c.isCellLocked(b.cell))a(g),c.getRubberband().reset();mxEvent.consume(e)}};this.editor.getOrCreateFilename=
-function(){var a=b.defaultFilename,c=b.getCurrentFile();null!=c&&(a=null!=c.getTitle()?c.getTitle():a);return a};var z=this.actions.get("print");z.setEnabled(!mxClient.IS_IOS||!navigator.standalone);z.visible=z.isEnabled();if(!this.editor.chromeless||this.editor.editable){var u=function(){window.setTimeout(function(){w.innerHTML="&nbsp;";w.focus();document.execCommand("selectAll",!1,null)},0)};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_IE||c.container.addEventListener("paste",mxUtils.bind(this,function(a){var b=this.editor.graph;if(!mxEvent.isConsumed(a))try{for(var c=a.clipboardData||a.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 g=
-c.items;for(index in g){var f=g[index];if("file"===f.kind){if(b.isEditing())this.importFiles([f.getAsFile()],0,0,this.maxImageSize,function(a,c,d,e,g,f){b.insertImage(a,g,f)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()});else{var k=this.editor.graph.getInsertPoint();this.importFiles([f.getAsFile()],k.x,k.y,this.maxImageSize);mxEvent.consume(a)}break}}}}catch(N){}}),!1);var w=document.createElement("div");w.style.position="absolute";
-w.style.whiteSpace="nowrap";w.style.overflow="hidden";w.style.display="block";w.contentEditable=!0;mxUtils.setOpacity(w,0);w.style.width="1px";w.style.height="1px";w.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 b=mxEvent.getSource(a);null==c.container||!c.isEnabled()||c.isMouseDown||c.isEditing()||null!=this.dialog||"INPUT"==
-b.nodeName||"TEXTAREA"==b.nodeName||!(224==a.keyCode||!mxClient.IS_MAC&&17==a.keyCode||mxClient.IS_MAC&&91==a.keyCode)||F||(w.style.left=c.container.scrollLeft+10+"px",w.style.top=c.container.scrollTop+10+"px",c.container.appendChild(w),F=!0,mxClient.IS_QUIRKS?window.setTimeout(function(){w.focus();document.execCommand("selectAll",!1,null)},0):(w.focus(),document.execCommand("selectAll",!1,null)))}));mxEvent.addListener(document,"keyup",mxUtils.bind(this,function(a){var b=a.keyCode;window.setTimeout(mxUtils.bind(this,
-function(){!F||224!=b&&17!=b&&91!=b||(F=!1,c.isEditing()||null!=this.dialog||null==c.container||c.container.focus(),w.parentNode.removeChild(w))}),0)}));mxEvent.addListener(w,"copy",mxUtils.bind(this,function(a){c.isEnabled()&&(mxClipboard.copy(c),this.copyCells(w),u())}));mxEvent.addListener(w,"cut",mxUtils.bind(this,function(a){c.isEnabled()&&(this.copyCells(w,!0),u())}));mxEvent.addListener(w,"paste",mxUtils.bind(this,function(a){c.isEnabled()&&!c.isCellLocked(c.getDefaultParent())&&(w.innerHTML=
-"&nbsp;",w.focus(),window.setTimeout(mxUtils.bind(this,function(){this.pasteCells(a,w);w.innerHTML="&nbsp;"}),0))}),!0);var E=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==w?!0:E.apply(this,arguments)}}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,g,f){b.insertImage(a,g,f)},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",!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()})))}));if("1"==urlParams.ruler&&"undefined"!==
-typeof mxRuler){z=document.createElement("div");z.style.position="absolute";z.style.top="95px";z.style.left="250px";z.style.width="2000px";z.style.height="30px";z.style.background="whiteSmoke";document.body.appendChild(z);var y=document.createElement("div");y.style.position="absolute";y.style.top="125px";y.style.left="220px";y.style.width="30px";y.style.height="1000px";y.style.background="whiteSmoke";document.body.appendChild(y);var D=document.createElement("div");D.style.position="absolute";D.style.top=
-"95px";D.style.left="220px";D.style.width="30px";D.style.height="30px";D.style.background="whiteSmoke";document.body.appendChild(D);this.vRuler=new mxRuler(this.editor.graph,y,!0);this.hRuler=new mxRuler(this.editor.graph,z,!1)}if("1"==urlParams.test){z=document.getElementById("geFooter");null!=z&&(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)})),z.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 A=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==this.styleInput?!0:A.apply(this,arguments)}}z=document.getElementById("geInfo");null!=z&&z.parentNode.removeChild(z);if(Graph.fileSupport&&(!this.editor.chromeless||this.editor.editable)){var B=null;mxEvent.addListener(c.container,"dragleave",function(a){c.isEnabled()&&(null!=B&&(B.parentNode.removeChild(B),
-B=null),a.stopPropagation(),a.preventDefault())});mxEvent.addListener(c.container,"dragover",mxUtils.bind(this,function(a){null==B&&(!mxClient.IS_IE||10<document.documentMode)&&(B=this.highlightElement(c.container));null!=this.sidebar&&this.sidebar.hideTooltip();a.stopPropagation();a.preventDefault()}));mxEvent.addListener(c.container,"drop",mxUtils.bind(this,function(a){null!=B&&(B.parentNode.removeChild(B),B=null);if(c.isEnabled()){var b=mxUtils.convertPoint(c.container,mxEvent.getClientX(a),mxEvent.getClientY(a)),
-d=c.view.translate,e=c.view.scale,g=b.x/e-d.x,f=b.y/e-d.y;mxEvent.isAltDown(a)&&(f=g=0);if(0<a.dataTransfer.files.length)this.importFiles(a.dataTransfer.files,g,f,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,b=this.extractGraphModelFromEvent(a,null!=this.pages);if(null!=b)c.setSelectionCells(this.importXml(b,g,f,!0));else if(0<=mxUtils.indexOf(a.dataTransfer.types,
-"text/html")){var h=a.dataTransfer.getData("text/html"),b=document.createElement("div");b.innerHTML=h;var n=null,d=b.getElementsByTagName("img");null!=d&&1==d.length?(h=d[0].getAttribute("src"),/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(h)||(n=!0)):(b=b.getElementsByTagName("a"),null!=b&&1==b.length&&(h=b[0].getAttribute("href")));var l=!0,u=mxUtils.bind(this,function(){c.setSelectionCells(this.insertTextAt(h,g,f,!0,n,null,l))});n&&h.length>this.resampleThreshold?this.confirmImageResize(function(a){l=
-a;u()},mxEvent.isControlDown(a)):u()}else null!=k&&/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(k)?this.loadImage(decodeURIComponent(k),mxUtils.bind(this,function(a){var b=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,b)),d/Math.max(1,a));c.setSelectionCell(c.insertVertex(null,null,"",g,f,b*d,a*d,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+k+";"))}),mxUtils.bind(this,function(a){c.setSelectionCells(this.insertTextAt(k,
-g,f,!0))})):0<=mxUtils.indexOf(a.dataTransfer.types,"text/plain")&&c.setSelectionCells(this.insertTextAt(a.dataTransfer.getData("text/plain"),g,f,!0))}}a.stopPropagation();a.preventDefault()}),!1)}this.initPages();"1"==urlParams.embed&&this.initializeEmbedMode();this.installSettings()};EditorUi.prototype.isSettingsEnabled=function(){return"undefined"!==typeof window.mxSettings&&(isLocalStorage||mxClient.IS_CHROMEAPP)};EditorUi.prototype.installSettings=function(){if(this.isSettingsEnabled()){ColorDialog.recentColors=
-mxSettings.getRecentColors();this.editor.graph.currentEdgeStyle=mxSettings.getCurrentEdgeStyle();this.editor.graph.currentVertexStyle=mxSettings.getCurrentVertexStyle();this.fireEvent(new mxEventObject("styleChanged","keys",[],"values",[],"cells",[]));this.addListener("styleChanged",mxUtils.bind(this,function(a,b){mxSettings.setCurrentEdgeStyle(this.editor.graph.currentEdgeStyle);mxSettings.setCurrentVertexStyle(this.editor.graph.currentVertexStyle);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();this.addListener("gridColorChanged",
-mxUtils.bind(this,function(a,b){mxSettings.setGridColor(this.editor.graph.view.gridColor);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(this.editor.graph.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){if(!mxEvent.isConsumed(a)){var c=b.getElementsByTagName("span");if(null!=c&&0<c.length&&"application/vnd.lucid.chart.objects"===c[0].getAttribute("data-lucid-type")){var d=c[0].getAttribute("data-lucid-content");null!=d&&0<d.length&&(this.importLucidChart(d,0,0),mxEvent.consume(a))}else{var d=this.editor.graph,e=mxUtils.trim(mxClient.IS_QUIRKS||
-8==document.documentMode?mxUtils.getTextContent(b):b.textContent),g=!1;try{var f=e.lastIndexOf("%3E");0<=f&&f<e.length-3&&(e=e.substring(0,f+3))}catch(z){}try{var c=b.getElementsByTagName("span"),k=null!=c&&0<c.length?mxUtils.trim(decodeURIComponent(c[0].textContent)):decodeURIComponent(e);this.isCompatibleString(k)&&(g=!0,e=k)}catch(z){}d.lastPasteXml==e?d.pasteCounter++:(d.lastPasteXml=e,d.pasteCounter=0);c=d.pasteCounter*d.gridSize;if(null!=e&&0<e.length&&(g||this.isCompatibleString(e)?d.setSelectionCells(this.importXml(e,
-c,c)):(g=d.getInsertPoint(),d.isMouseInsertPoint()&&(c=0,d.lastPasteXml==e&&0<d.pasteCounter&&d.pasteCounter--),d.setSelectionCells(this.insertTextAt(e,g.x+c,g.y+c,!0))),!d.isSelectionEmpty())){d.scrollCellToVisible(d.getSelectionCell());null!=this.hoverIcons&&this.hoverIcons.update(d.view.getState(d.getSelectionCell()));try{mxEvent.consume(a)}catch(z){}}}}};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?"https://www.draw.io/":"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,e;if(null==a){e=document.body;var g=document.documentElement;d=(e.clientWidth||g.clientWidth)-3;e=Math.max(e.clientHeight||0,g.clientHeight)-3}else b=a.offsetTop,c=a.offsetLeft,d=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=c+"px";g.style.width=
-Math.max(0,d-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 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){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)+".xml");var g=mxUtils.bind(this,function(a){e=0<=e.lastIndexOf(".")?e.substring(0,e.lastIndexOf("."))+".xml":e+".xml";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(w){this.handleError(w,mxResources.get("errorLoadingFile"))}}else this.openLocalFile(a,e,b)});if(/(\.vsdx?)($|\?)/i.test(e)||/(\.vssx)($|\?)/i.test(e))this.importVisio(a,mxUtils.bind(this,function(a){this.spinner.stop();g(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?g(a.responseText):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge":"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))}));else if('{"state":"{\\"Properties\\":'==d.substring(0,26))/(\.json)$/i.test(e)&&(e=e.substring(0,e.length-5)+".xml"),this.openLocalFile(this.emptyDiagramXml,e,b),this.importLucidChart(d,0,0,null,mxUtils.bind(this,function(){this.editor.undoManager.clear();this.spinner.stop()}));
-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(u){this.handleError(u,mxResources.get("errorLoadingFile"))}}else"image/png"==a.type.substring(0,9)&&(d=this.extractGraphModelFromPng(d)),this.spinner.stop(),this.openLocalFile(d,e,b)}});c.onerror=mxUtils.bind(this,function(a){this.spinner.stop();
-this.handleError(a);window.openFile=null});"image"===a.type.substring(0,5)&&"image/svg"!==a.type.substring(0,9)?c.readAsDataURL(a):c.readAsText(a)})(a[c])};EditorUi.prototype.openLocalFile=function(a,b,c){var d=this.getCurrentFile(),e=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))});null!=a&&0<a.length&&(null==d||!d.isModified()&&(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)?e():(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)&&null!=d&&d.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(){this.confirm(mxResources.get("allChangesLost"),
-null,e,mxResources.get("cancel"),mxResources.get("discardChanges"))}))))};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 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),g=0;g<e;g++)this.addBasenamesForCell(d.model.getChildAt(a,g),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.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,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,scale:b.view.scale,page:b.view.getBackgroundPageBounds(),bounds:b.getGraphBounds()}};EditorUi.prototype.installMessageHandler=function(a){var b=null,c=!1,d=!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(g){function h(a){if(null!=a&&"function"===typeof a.charAt&&"<"!=a.charAt(0))try{"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=this.editor.graph.decompress(a)))}catch(G){}return a}if(g.source==(window.opener||window.parent)){var k=g.data;if("json"==urlParams.proto){try{k=JSON.parse(k)}catch(H){k=null}if(null==k)return;if("dialog"==k.action){this.showError(null!=k.titleKey?mxResources.get(k.titleKey):k.title,null!=k.messageKey?mxResources.get(k.messageKey):k.message,null!=k.buttonKey?mxResources.get(k.buttonKey):k.button);null!=k.modified&&
-(this.editor.modified=k.modified);return}if("prompt"==k.action){this.spinner.stop();var l=new FilenameDialog(this,k.defaultValue||"",null!=k.okKey?mxResources.get(k.okKey):null,function(a){null!=a&&f.postMessage(JSON.stringify({event:"prompt",value:a,message:k}),"*")},null!=k.titleKey?mxResources.get(k.titleKey):k.title);this.showDialog(l.container,300,80,!0,!1);l.init();return}if("draft"==k.action){l=null;l="data:image/png;base64,"==k.xml.substring(0,22)?this.extractGraphModelFromPng(k.xml):h(k.xml);
-this.spinner.stop();l=new DraftDialog(this,mxResources.get("draftFound",[k.name||this.defaultFilename]),l,mxUtils.bind(this,function(){this.hideDialog();f.postMessage(JSON.stringify({event:"draft",result:"edit",message:k}),"*")}),mxUtils.bind(this,function(){this.hideDialog();f.postMessage(JSON.stringify({event:"draft",result:"discard",message:k}),"*")}),k.editKey?mxResources.get(k.editKey):null,k.discardKey?mxResources.get(k.discardKey):null,k.ignore?mxUtils.bind(this,function(){this.hideDialog();
-f.postMessage(JSON.stringify({event:"draft",result:"ignore",message:k}),"*")}):null);this.showDialog(l.container,640,480,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));try{l.init()}catch(H){f.postMessage(JSON.stringify({event:"draft",error:H.toString(),message:k}),"*")}return}if("template"==k.action){this.spinner.stop();var l=1==k.enableRecent,n=1==k.enableSearch,l=new NewDialog(this,!1,null!=k.callback,mxUtils.bind(this,function(b,c){b=b||this.emptyDiagramXml;null!=k.callback?
-f.postMessage(JSON.stringify({event:"template",xml:b,blank:b==this.emptyDiagramXml,name:c}),"*"):(a(b,g,b!=this.emptyDiagramXml),this.editor.modified||this.editor.setStatus(""))}),null,null,null,null,null,null,null,l?mxUtils.bind(this,function(a){this.recentReadyCallback=a;f.postMessage(JSON.stringify({event:"recentDocs"}),"*")}):null,n?mxUtils.bind(this,function(a,b){this.searchReadyCallback=b;f.postMessage(JSON.stringify({event:"searchDocs",searchStr:a}),"*")}):null,function(a,b,c){f.postMessage(JSON.stringify({event:"template",
-docUrl:a,info:b,name:c}),"*")});this.showDialog(l.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));l.init();return}if("searchDocsList"==k.action)this.searchReadyCallback(k.list,k.errorMsg);else if("recentDocsList"==k.action)this.recentReadyCallback(k.list,k.errorMsg);else{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 m=null!=k.messageKey?mxResources.get(k.messageKey):k.message;null==k.show||k.show?this.spinner.spin(document.body,m):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 q=null!=k.xml?k.xml:this.getFileData(!0);this.editor.graph.setEnabled(!1);var v=this.editor.graph,
-p=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(q);f.postMessage(JSON.stringify(b),"*")}),t=mxUtils.bind(this,function(a){null==a&&(a=Editor.blankImage);"xmlpng"==k.format&&(a=this.writeGraphModelToPng(a,"zTXt","mxGraphModel",atob(this.editor.graph.compress(q))));v!=this.editor.graph&&v.container.parentNode.removeChild(v.container);p(a)});if(this.isExportToCanvas()){if(null!=
-this.pages&&this.currentPage!=this.pages[0]){var v=this.createTemporaryGraph(v.getStylesheet()),x=v.getGlobalVariable,C=this.pages[0];v.getGlobalVariable=function(a){return"page"==a?C.getName():"pagenumber"==a?1:x.apply(this,arguments)};document.body.appendChild(v.container);v.model.setRoot(C.root)}this.exportToCanvas(mxUtils.bind(this,function(a){t(a.toDataURL("image/png"))}),null,null,null,mxUtils.bind(this,function(){t(null)}),null,null,null,null,null,null,v)}else(new mxXmlRequest(EXPORT_URL,"format=png&embedXml="+
-("xmlpng"==k.format?"1":"0")+"&base64=1&xml="+encodeURIComponent(encodeURIComponent(q)))).send(mxUtils.bind(this,function(a){200<=a.getStatus()&&299>=a.getStatus()?p("data:image/png;base64,"+a.getText()):t(null)}),mxUtils.bind(this,function(){t(null)}))}}else{null!=k.xml&&0<k.xml.length&&this.setFileData(k.xml);m=this.createLoadMessage("export");if("html2"==k.format||"html"==k.format&&("0"!=urlParams.pages||null!=this.pages&&1<this.pages.length))l=this.getXmlFileData(),m.xml=mxUtils.getXml(l),m.data=
-this.getFileData(null,null,!0,null,null,null,l),m.format=k.format;else if("html"==k.format)q=this.editor.getGraphXml(),m.data=this.getHtml(q,this.editor.graph),m.xml=mxUtils.getXml(q),m.format=k.format;else{mxSvgCanvas2D.prototype.foAltText=null;l=this.editor.graph.background;l==mxConstants.NONE&&(l=null);m.xml=this.getFileData(!0);m.format="svg";if(k.embedImages||null==k.embedImages){if(null==k.spin&&null==k.spinKey||this.spinner.spin(document.body,null!=k.spinKey?mxResources.get(k.spinKey):k.spin))this.editor.graph.setEnabled(!1),
-"xmlsvg"==k.format?this.getEmbeddedSvg(m.xml,this.editor.graph,null,!0,mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();m.data=this.createSvgDataUri(a);f.postMessage(JSON.stringify(m),"*")})):this.convertImages(this.editor.graph.getSvg(l),mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();m.data=this.createSvgDataUri(mxUtils.getXml(a));f.postMessage(JSON.stringify(m),"*")}));return}l="xmlsvg"==k.format?this.getEmbeddedSvg(this.getFileData(!0),
-this.editor.graph,null,!0):mxUtils.getXml(this.editor.graph.getSvg(l));m.data=this.createSvgDataUri(l)}f.postMessage(JSON.stringify(m),"*")}return}if("load"==k.action)d=1==k.autosave,this.hideDialog(),null!=k.modified&&null==urlParams.modified&&(urlParams.modified=k.modified),null!=k.saveAndExit&&null==urlParams.saveAndExit&&(urlParams.saveAndExit=k.saveAndExit),null!=k.title&&null!=this.buttonContainer&&(l=document.createElement("span"),mxUtils.write(l,k.title),"atlas"==uiTheme?(this.buttonContainer.style.paddingRight=
-"12px",this.buttonContainer.style.paddingTop="12px"):"min"!=uiTheme&&(this.buttonContainer.style.paddingRight="38px",this.buttonContainer.style.paddingTop="6px"),null!=this.embedFilenameSpan&&this.embedFilenameSpan.parentNode.removeChild(this.embedFilenameSpan),this.buttonContainer.appendChild(l),this.embedFilenameSpan=l),k=null!=k.xmlpng?this.extractGraphModelFromPng(k.xmlpng):null!=k.xml&&"data:image/png;base64,"==k.xml.substring(0,22)?this.extractGraphModelFromPng(k.xml):k.xml;else{f.postMessage(JSON.stringify({error:"unknownMessage",
-data:JSON.stringify(k)}),"*");return}}}k=h(k);c=!0;try{a(k,g)}catch(H){this.handleError(H)}c=!1;null!=urlParams.modified&&this.editor.setStatus("");var L=mxUtils.bind(this,function(){return"0"!=urlParams.pages||null!=this.pages&&1<this.pages.length?this.getFileData(!0):mxUtils.getXml(this.editor.getGraphXml())});e=L();d&&null==b&&(b=mxUtils.bind(this,function(a,b){var d=L();if(d!=e&&!c){var g=this.createLoadMessage("autosave");g.xml=d;d=JSON.stringify(g);(window.opener||window.parent).postMessage(d,
-"*")}e=d}),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||f.postMessage(JSON.stringify(this.createLoadMessage("load")),"*")}}));var f=window.opener||window.parent,g="json"==urlParams.proto?JSON.stringify({event:"init"}):urlParams.ready||"ready";f.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":"3px";a.style.paddingLeft="8px";a.style.paddingBottom="2px";var b=document.createElement("button");mxUtils.write(b,mxResources.get("save"));b.setAttribute("title",mxResources.get("save")+" ("+Editor.ctrlKey+"+S)");b.className="geBigButton";b.style.fontSize="12px";b.style.padding="4px 6px 4px 6px";b.style.borderRadius="3px";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.style.fontSize="12px",b.style.marginLeft="6px",b.style.padding="4px",b.style.cursor="pointer",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.style.fontSize="12px";b.style.marginLeft="6px";b.style.marginRight=
-"20px";b.style.padding="4px";b.style.cursor="pointer";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.showDialog(this.importCsvDialog.container,640,520,!0,!0);this.importCsvDialog.init()};EditorUi.prototype.importCsv=function(a,b){try{var c=a.split("\n"),d=[];if(0<c.length){var e={},g=null,f=null,k="",h="auto",l="auto",m=null,F=null,E=40,y=40,D=0,A=this.editor.graph;A.getGraphBounds();for(var B=function(){null!=b?b(aa):(A.setSelectionCells(aa),A.scrollCellToVisible(A.getSelectionCell()))},J=A.getFreeInsertPoint(),C=J.x,L=J.y,J=L,H=null,
-G="auto",M=[],X=null,Z=null,N=0;N<c.length&&"#"==c[N].charAt(0);){a=c[N];for(N++;N<c.length&&"\\"==a.charAt(a.length-1)&&"#"==c[N].charAt(0);)a=a.substring(0,a.length-1)+mxUtils.trim(c[N].substring(1)),N++;if("#"!=a.charAt(1)){var S=a.indexOf(":");if(0<S){var O=mxUtils.trim(a.substring(1,S)),I=mxUtils.trim(a.substring(S+1));"label"==O?H=A.sanitizeHtml(I):"style"==O?g=I:"identity"==O&&0<I.length&&"-"!=I?f=I:"namespace"==O&&0<I.length&&"-"!=I?k=I:"width"==O?h=I:"height"==O?l=I:"left"==O&&0<I.length?
-m=I:"top"==O&&0<I.length?F=I:"ignore"==O?Z=I.split(","):"connect"==O?M.push(JSON.parse(I)):"link"==O?X=I:"padding"==O?D=parseFloat(I):"edgespacing"==O?E=parseFloat(I):"nodespacing"==O?y=parseFloat(I):"layout"==O&&(G=I)}}}var W=this.editor.csvToArray(c[N]),S=null;if(null!=f)for(var R=0;R<W.length;R++)if(f==W[R]){S=R;break}null==H&&(H="%"+W[0]+"%");if(null!=M)for(var T=0;T<M.length;T++)null==e[M[T].to]&&(e[M[T].to]={});A.model.beginUpdate();try{for(R=N+1;R<c.length;R++){var V=this.editor.csvToArray(c[R]);
-if(V.length==W.length){var K=null,Q=null!=S?k+V[S]:null;null!=Q&&(K=A.model.getCell(Q));null==K&&(K=new mxCell(H,new mxGeometry(C,J,0,0),g||"whiteSpace=wrap;html=1;"),K.vertex=!0,K.id=Q);for(var P=0;P<V.length;P++)A.setAttributeForCell(K,W[P],V[P]);A.setAttributeForCell(K,"placeholders","1");K.style=A.replacePlaceholders(K,K.style);for(T=0;T<M.length;T++)e[M[T].to][K.getAttribute(M[T].to)]=K;null!=X&&"link"!=X&&(A.setLinkForCell(K,K.getAttribute(X)),A.setAttributeForCell(K,X,null));A.fireEvent(new mxEventObject("cellsInserted",
-"cells",[K]));var ba=this.editor.graph.getPreferredSizeForCell(K);K.vertex&&(null!=m&&null!=K.getAttribute(m)&&(K.geometry.x=C+parseFloat(K.getAttribute(m))),null!=F&&null!=K.getAttribute(F)&&(K.geometry.y=L+parseFloat(K.getAttribute(F))),"@"==h.charAt(0)&&null!=K.getAttribute(h.substring(1))?K.geometry.width=parseFloat(K.getAttribute(h.substring(1))):K.geometry.width="auto"==h?ba.width+D:parseFloat(h),"@"==l.charAt(0)&&null!=K.getAttribute(l.substring(1))?K.geometry.height=parseFloat(K.getAttribute(l.substring(1))):
-K.geometry.height="auto"==l?ba.height+D:parseFloat(l),J+=K.geometry.height+y);d.push(A.addCell(K))}}for(var U=d.slice(),aa=d.slice(),T=0;T<M.length;T++)for(var Y=M[T],R=0;R<d.length;R++){var K=d[R],ia=K.getAttribute(Y.from);if(null!=ia){A.setAttributeForCell(K,Y.from,null);for(var ja=ia.split(","),P=0;P<ja.length;P++){var ca=e[Y.to][ja[P]];null!=ca&&(H=Y.label,null!=Y.fromlabel&&(H=(K.getAttribute(Y.fromlabel)||"")+(H||"")),null!=Y.tolabel&&(H=(H||"")+(ca.getAttribute(Y.tolabel)||"")),aa.push(A.insertEdge(null,
-null,H||"",Y.invert?ca:K,Y.invert?K:ca,Y.style||A.createCurrentEdgeStyle())),mxUtils.remove(Y.invert?K:ca,U))}}}if(null!=Z)for(R=0;R<d.length;R++)for(K=d[R],P=0;P<Z.length;P++)A.setAttributeForCell(K,mxUtils.trim(Z[P]),null);var fa=new mxParallelEdgeLayout(A);fa.spacing=E;var ka=function(){fa.execute(A.getDefaultParent());for(var a=0;a<d.length;a++){var b=A.getCellGeometry(d[a]);b.x=Math.round(A.snap(b.x));b.y=Math.round(A.snap(b.y));"auto"==h&&(b.width=Math.round(A.snap(b.width)));"auto"==l&&(b.height=
-Math.round(A.snap(b.height)))}};if("circle"==G){var da=new mxCircleLayout(A);da.resetEdges=!1;var la=da.isVertexIgnored;da.isVertexIgnored=function(a){return la.apply(this,arguments)||0>mxUtils.indexOf(d,a)};this.executeLayout(function(){da.execute(A.getDefaultParent());ka()},!0,B);B=null}else if("horizontaltree"==G||"verticaltree"==G||"auto"==G&&aa.length==2*d.length-1&&1==U.length){A.view.validate();var ga=new mxCompactTreeLayout(A,"horizontaltree"==G);ga.levelDistance=y;ga.edgeRouting=!1;ga.resetEdges=
-!1;this.executeLayout(function(){ga.execute(A.getDefaultParent(),0<U.length?U[0]:null)},!0,B);B=null}else if("horizontalflow"==G||"verticalflow"==G||"auto"==G&&1==U.length){A.view.validate();var ha=new mxHierarchicalLayout(A,"horizontalflow"==G?mxConstants.DIRECTION_WEST:mxConstants.DIRECTION_NORTH);ha.intraCellSpacing=y;ha.disableEdgeStyle=!1;this.executeLayout(function(){ha.execute(A.getDefaultParent(),aa);A.moveCells(aa,C,L)},!0,B);B=null}else if("organic"==G||"auto"==G&&aa.length>d.length){A.view.validate();
-var ea=new mxFastOrganicLayout(A);ea.forceConstant=3*y;ea.resetEdges=!1;var na=ea.isVertexIgnored;ea.isVertexIgnored=function(a){return na.apply(this,arguments)||0>mxUtils.indexOf(d,a)};fa=new mxParallelEdgeLayout(A);fa.spacing=E;this.executeLayout(function(){ea.execute(A.getDefaultParent());ka()},!0,B);B=null}this.hideDialog()}finally{A.model.endUpdate()}null!=B&&B()}}catch(ma){this.handleError(ma)}};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,440,130,!0,!0);a.init()};var h=EditorUi.prototype.createOutline;EditorUi.prototype.createOutline=function(a){var b=h.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 e=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 e.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,g=b.outline;g.pageScale=e.pageScale;g.pageFormat=
-e.pageFormat;g.background=e.background;g.pageVisible=e.pageVisible;g.background=e.background;var f=mxUtils.getCurrentStyle(e.container);g.container.style.backgroundColor=f.backgroundColor;null!=e.view.backgroundPageShape&&null!=g.view.backgroundPageShape&&(g.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=0;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.trello&&"function"!==typeof window.TrelloClient||c++;a&&isLocalStorage&&("1"==urlParams.browser||mxClient.IS_IOS)&&c++;mxClient.IS_IOS||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 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("openLibraryFrom").setEnabled(c);this.menus.get("newLibrary").setEnabled(c);this.menus.get("extras").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.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 d=applicationCache;if(null!=d&&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 d=window.applicationCache,e=null,b=mxUtils.bind(this,function(){var a=d.status,b;a==d.CHECKING&&(a=d.DOWNLOADING);switch(a){case d.UNCACHED:b="";break;case d.IDLE:b=
-"min"==uiTheme?"":'<img title="draw.io is up to date." border="0" src="'+IMAGE_PATH+'/checkmark.gif"/>';break;case d.DOWNLOADING:b='<img title="Downloading new version..." border="0" src="'+IMAGE_PATH+'/spin.gif"/>';break;case d.UPDATEREADY:b='<img title="'+mxUtils.htmlEntities(mxResources.get("restartForChangeRequired"))+'" border="0" src="'+IMAGE_PATH+'/download.png"/>';break;case d.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!=e&&(this.offlineStatus.innerHTML=b,e=a)});mxEvent.addListener(d,"checking",b);mxEvent.addListener(d,"noupdate",b);mxEvent.addListener(d,"downloading",b);mxEvent.addListener(d,"progress",b);mxEvent.addListener(d,"cached",b);mxEvent.addListener(d,"updateready",b);mxEvent.addListener(d,"obsolete",b);mxEvent.addListener(d,"error",b);b()}}else this.updateUserElement()};EditorUi.prototype.updateButtonContainer=function(){};EditorUi.prototype.updateUserElement=function(){};
-EditorUi.prototype.isDiagramActive=function(){var a=this.getCurrentFile();return null!=a&&a.isEditable()||"1"==urlParams.embed&&this.editor.graph.isEnabled()};var l=EditorUi.prototype.updateActionStates;EditorUi.prototype.updateActionStates=function(){l.apply(this,arguments);var a=this.editor.graph,b=this.isDiagramActive(),c=this.getCurrentFile(),d=null!=c||"1"==urlParams.embed;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(b&&(null==c||!c.isRestricted()));this.actions.get("find").setEnabled(d);this.actions.get("layers").setEnabled(d);this.actions.get("outline").setEnabled(d);
-this.actions.get("rename").setEnabled(null!=c&&c.isRenamable());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 m=EditorUi.prototype.destroy;EditorUi.prototype.destroy=function(){null!=this.exportDialog&&(this.exportDialog.parentNode.removeChild(this.exportDialog),this.exportDialog=null);m.apply(this,
-arguments)};null!=window.ExportDialog&&(ExportDialog.showXmlOption=!1,ExportDialog.showGifOption=!1,ExportDialog.exportFile=function(a,b,c,d,e,f){var g=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(g.getSvg(d,e,f)),"image/svg+xml");else{var h=a.getFileData(!0,null,null,null,null,!0),k=g.getGraphBounds(),l=Math.floor(k.width*e/g.view.scale),m=Math.floor(k.height*e/g.view.scale);
-h.length<=MAX_REQUEST_SIZE&&l*m<MAX_AREA?(a.hideDialog(),a.saveRequest(b,c,function(a,b){return new mxXmlRequest(EXPORT_URL,"format="+c+"&base64="+(b||"0")+(null!=a?"&filename="+encodeURIComponent(a):"")+"&bg="+(null!=d?d:"none")+"&w="+l+"&h="+m+"&border="+f+"&xml="+encodeURIComponent(h))})):mxUtils.alert(mxResources.get("drawingTooLarge"))}})})();var mxSettings={currentVersion:16,defaultFormatWidth:600>screen.width?"0":"240",key:".drawio-config",getLanguage:function(){return mxSettings.settings.language},setLanguage:function(a){mxSettings.settings.language=a},getUi:function(){return mxSettings.settings.ui},setUi:function(a){mxSettings.settings.ui=a},getShowStartScreen:function(){return mxSettings.settings.showStartScreen},setShowStartScreen:function(a){mxSettings.settings.showStartScreen=a},getGridColor:function(){return mxSettings.settings.gridColor},
+h),l=Math.round(k/h),m=document.createElement("canvas");m.width=n;m.height=l;m.getContext("2d").drawImage(a,0,0,n,l);var q=m.toDataURL();if(q.length<b.length){var p=document.createElement("canvas");p.width=n;p.height=l;var t=p.toDataURL();q!==t&&(b=q,g=n,k=l)}}}catch(z){}c(b,g,k)};EditorUi.prototype.crcTable=[];for(var d=0;256>d;d++)for(var c=d,e=0;8>e;e++)c=1==(c&1)?3988292384^c>>>1:c>>>1,EditorUi.prototype.crcTable[d]=c;EditorUi.prototype.updateCRC=function(a,b,c,d){for(var e=0;e<d;e++)a=EditorUi.prototype.crcTable[(a^
+b[c+e])&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,c,d,e){function g(a,b){var c=h;h+=b;return a.substring(c,h)}function f(a){a=g(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 h=0;if(g(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=e&&e();else if(g(a,4),"IHDR"!=g(a,4))null!=e&&e();else{g(a,17);e=a.substring(0,h);do{var n=f(a);if("IDAT"==g(a,4)){e=a.substring(0,h-8);c=c+String.fromCharCode(0)+("zTXt"==b?String.fromCharCode(0):"")+d;d=4294967295;d=this.updateCRC(d,b,0,4);d=this.updateCRC(d,c,0,c.length);e+=k(c.length)+b+c+k(d^4294967295);e+=a.substring(h-
+8,a.length);break}e+=a.substring(h-8,h-4+n);g(a,n);g(a,4)}while(n);return"data:image/png;base64,"+(window.btoa?btoa(e):Base64.encode(e,!0))}};EditorUi.prototype.extractGraphModelFromPng=function(a){var b=null;try{var c=a.substring(a.indexOf(",")+1),d=window.atob&&!mxClient.IS_SF?atob(c):Base64.decode(c,!0);EditorUi.parsePng(d,mxUtils.bind(this,function(a,c,e){a=d.substring(a+8,a+8+e);"zTXt"==c?(e=a.indexOf(String.fromCharCode(0)),"mxGraphModel"==a.substring(0,e)&&(a=this.editor.graph.bytesToString(pako.inflateRaw(a.substring(e+
+2))).replace(/\+/g," "),null!=a&&0<a.length&&(b=a))):"tEXt"==c&&(a=a.split(String.fromCharCode(0)),1<a.length&&"mxGraphModel"==a[0]&&(b=a[1]));if(null!=b||"IDAT"==c)return!0}))}catch(t){}null!=b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b));null!=b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b));return b};EditorUi.prototype.loadImage=function(a,b,c){var d=new Image;d.onload=function(){b(d)};null!=c&&(d.onerror=c);d.src=a};var f=EditorUi.prototype.init;EditorUi.prototype.init=function(){function a(a){var c=
+a.indexOf(",");0<c&&(a=b.getPageById(a.substring(c+1)))&&b.selectPage(a)}"undefined"!==typeof window.mxSettings&&(this.formatWidth=mxSettings.getFormatWidth());var b=this,c=this.editor.graph;c.addListener("pageLinkClicked",function(b,c){a(c.getProperty("href"))});this.isOffline()||"undefined"===typeof window.EditDataDialog||(EditDataDialog.placeholderHelpLink="https://desk.draw.io/support/solutions/articles/16000051979");var d=b.editor.getEditBlankUrl;this.editor.getEditBlankUrl=function(a){a=null!=
+a?a:"";if(null!=b.pages&&null!=b.currentPage)for(var c=0;c<b.pages.length;c++)if(b.pages[c]==b.currentPage){0<c&&(a+=(0<a.length?"&":"?")+"page="+c);break}"1"==urlParams.dev&&(a+=(0<a.length?"&":"?")+"dev=1&drawdev=1");return d.apply(this,arguments)};var e=c.addClickHandler;c.addClickHandler=function(b,d,g){var f=d;d=function(b,d){if(null==d){var e=mxEvent.getSource(b);"a"==e.nodeName.toLowerCase()&&(d=e.getAttribute("href"))}null==d||!c.isPageLink(d)||!mxEvent.isTouchEvent(b)&&mxEvent.isPopupTrigger(b)||
+(a(d),mxEvent.consume(b));null!=f&&f(b,d)};e.call(this,b,d,g)};f.apply(this,arguments);mxClient.IS_SVG&&this.editor.graph.addSvgShadow(c.view.canvas.ownerSVGElement,null,!0);b.actions.get("print").funct=function(){b.showDialog((new PrintDialog(b)).container,360,null!=b.pages&&1<b.pages.length?420:360,!0,!0)};this.defaultFilename=mxResources.get("untitledDiagram");var h=c.getGlobalVariable;c.getGlobalVariable=function(a){return"page"==a&&null!=b.currentPage?b.currentPage.getName():"pagenumber"==a?
+null!=b.currentPage&&null!=b.pages?mxUtils.indexOf(b.pages,b.currentPage)+1:1:h.apply(this,arguments)};var l=c.createLinkForHint;c.createLinkForHint=function(d,e){var g=c.isPageLink(d);if(g){var f=d.indexOf(",");0<f&&(f=b.getPageById(d.substring(f+1)),e=null!=f?f.getName():mxResources.get("pageNotFound"))}f=l.call(this,d,e);g&&mxEvent.addListener(f,"click",function(b){a(d);mxEvent.consume(b)});return f};var m=c.labelLinkClicked;c.labelLinkClicked=function(b,d,e){var g=d.getAttribute("href");if(null==
+g||!c.isPageLink(g)||!mxEvent.isTouchEvent(e)&&mxEvent.isPopupTrigger(e))m.apply(this,arguments);else{if(!c.isEnabled()||null!=b&&c.isCellLocked(b.cell))a(g),c.getRubberband().reset();mxEvent.consume(e)}};this.editor.getOrCreateFilename=function(){var a=b.defaultFilename,c=b.getCurrentFile();null!=c&&(a=null!=c.getTitle()?c.getTitle():a);return a};var A=this.actions.get("print");A.setEnabled(!mxClient.IS_IOS||!navigator.standalone);A.visible=A.isEnabled();if(!this.editor.chromeless||this.editor.editable){var u=
+function(){window.setTimeout(function(){w.innerHTML="&nbsp;";w.focus();document.execCommand("selectAll",!1,null)},0)};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_IE||c.container.addEventListener("paste",
+mxUtils.bind(this,function(a){var b=this.editor.graph;if(!mxEvent.isConsumed(a))try{for(var c=a.clipboardData||a.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 g=c.items;for(index in g){var f=g[index];if("file"===f.kind){if(b.isEditing())this.importFiles([f.getAsFile()],0,0,this.maxImageSize,function(a,c,d,e,g,f){b.insertImage(a,g,f)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()});
+else{var k=this.editor.graph.getInsertPoint();this.importFiles([f.getAsFile()],k.x,k.y,this.maxImageSize);mxEvent.consume(a)}break}}}}catch(N){}}),!1);var w=document.createElement("div");w.style.position="absolute";w.style.whiteSpace="nowrap";w.style.overflow="hidden";w.style.display="block";w.contentEditable=!0;mxUtils.setOpacity(w,0);w.style.width="1px";w.style.height="1px";w.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 b=mxEvent.getSource(a);null==c.container||!c.isEnabled()||c.isMouseDown||c.isEditing()||null!=this.dialog||"INPUT"==b.nodeName||"TEXTAREA"==b.nodeName||!(224==a.keyCode||!mxClient.IS_MAC&&17==a.keyCode||mxClient.IS_MAC&&91==a.keyCode)||F||(w.style.left=c.container.scrollLeft+10+"px",w.style.top=c.container.scrollTop+10+"px",c.container.appendChild(w),F=!0,mxClient.IS_QUIRKS?window.setTimeout(function(){w.focus();document.execCommand("selectAll",
+!1,null)},0):(w.focus(),document.execCommand("selectAll",!1,null)))}));mxEvent.addListener(document,"keyup",mxUtils.bind(this,function(a){var b=a.keyCode;window.setTimeout(mxUtils.bind(this,function(){!F||224!=b&&17!=b&&91!=b||(F=!1,c.isEditing()||null!=this.dialog||null==c.container||c.container.focus(),w.parentNode.removeChild(w))}),0)}));mxEvent.addListener(w,"copy",mxUtils.bind(this,function(a){c.isEnabled()&&(mxClipboard.copy(c),this.copyCells(w),u())}));mxEvent.addListener(w,"cut",mxUtils.bind(this,
+function(a){c.isEnabled()&&(this.copyCells(w,!0),u())}));mxEvent.addListener(w,"paste",mxUtils.bind(this,function(a){c.isEnabled()&&!c.isCellLocked(c.getDefaultParent())&&(w.innerHTML="&nbsp;",w.focus(),window.setTimeout(mxUtils.bind(this,function(){this.pasteCells(a,w);w.innerHTML="&nbsp;"}),0))}),!0);var E=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==w?!0:E.apply(this,arguments)}}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,g,f){b.insertImage(a,g,f)},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",!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()})))}));if("1"==urlParams.ruler&&"undefined"!==typeof mxRuler){A=document.createElement("div");A.style.position="absolute";A.style.top="95px";A.style.left="250px";A.style.width="2000px";A.style.height="30px";A.style.background="whiteSmoke";document.body.appendChild(A);var y=document.createElement("div");y.style.position="absolute";y.style.top="125px";y.style.left="220px";
+y.style.width="30px";y.style.height="1000px";y.style.background="whiteSmoke";document.body.appendChild(y);var D=document.createElement("div");D.style.position="absolute";D.style.top="95px";D.style.left="220px";D.style.width="30px";D.style.height="30px";D.style.background="whiteSmoke";document.body.appendChild(D);this.vRuler=new mxRuler(this.editor.graph,y,!0);this.hRuler=new mxRuler(this.editor.graph,A,!1)}if("1"==urlParams.test){A=document.getElementById("geFooter");null!=A&&(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)})),A.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 z=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==this.styleInput?!0:z.apply(this,arguments)}}A=document.getElementById("geInfo");null!=A&&A.parentNode.removeChild(A);if(Graph.fileSupport&&
+(!this.editor.chromeless||this.editor.editable)){var B=null;mxEvent.addListener(c.container,"dragleave",function(a){c.isEnabled()&&(null!=B&&(B.parentNode.removeChild(B),B=null),a.stopPropagation(),a.preventDefault())});mxEvent.addListener(c.container,"dragover",mxUtils.bind(this,function(a){null==B&&(!mxClient.IS_IE||10<document.documentMode)&&(B=this.highlightElement(c.container));null!=this.sidebar&&this.sidebar.hideTooltip();a.stopPropagation();a.preventDefault()}));mxEvent.addListener(c.container,
+"drop",mxUtils.bind(this,function(a){null!=B&&(B.parentNode.removeChild(B),B=null);if(c.isEnabled()){var b=mxUtils.convertPoint(c.container,mxEvent.getClientX(a),mxEvent.getClientY(a)),d=c.view.translate,e=c.view.scale,g=b.x/e-d.x,f=b.y/e-d.y;mxEvent.isAltDown(a)&&(f=g=0);if(0<a.dataTransfer.files.length)this.importFiles(a.dataTransfer.files,g,f,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,b=this.extractGraphModelFromEvent(a,null!=this.pages);if(null!=b)c.setSelectionCells(this.importXml(b,g,f,!0));else if(0<=mxUtils.indexOf(a.dataTransfer.types,"text/html")){var h=a.dataTransfer.getData("text/html"),b=document.createElement("div");b.innerHTML=h;var n=null,d=b.getElementsByTagName("img");null!=d&&1==d.length?(h=d[0].getAttribute("src"),/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(h)||(n=!0)):(b=b.getElementsByTagName("a"),null!=b&&1==b.length&&
+(h=b[0].getAttribute("href")));var l=!0,u=mxUtils.bind(this,function(){c.setSelectionCells(this.insertTextAt(h,g,f,!0,n,null,l))});n&&h.length>this.resampleThreshold?this.confirmImageResize(function(a){l=a;u()},mxEvent.isControlDown(a)):u()}else null!=k&&/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(k)?this.loadImage(decodeURIComponent(k),mxUtils.bind(this,function(a){var b=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,b)),d/Math.max(1,a));c.setSelectionCell(c.insertVertex(null,
+null,"",g,f,b*d,a*d,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+k+";"))}),mxUtils.bind(this,function(a){c.setSelectionCells(this.insertTextAt(k,g,f,!0))})):0<=mxUtils.indexOf(a.dataTransfer.types,"text/plain")&&c.setSelectionCells(this.insertTextAt(a.dataTransfer.getData("text/plain"),g,f,!0))}}a.stopPropagation();a.preventDefault()}),!1)}this.initPages();"1"==urlParams.embed&&this.initializeEmbedMode();this.installSettings()};
+EditorUi.prototype.isSettingsEnabled=function(){return"undefined"!==typeof window.mxSettings&&(isLocalStorage||mxClient.IS_CHROMEAPP)};EditorUi.prototype.installSettings=function(){if(this.isSettingsEnabled()){ColorDialog.recentColors=mxSettings.getRecentColors();this.editor.graph.currentEdgeStyle=mxSettings.getCurrentEdgeStyle();this.editor.graph.currentVertexStyle=mxSettings.getCurrentVertexStyle();this.fireEvent(new mxEventObject("styleChanged","keys",[],"values",[],"cells",[]));this.addListener("styleChanged",
+mxUtils.bind(this,function(a,b){mxSettings.setCurrentEdgeStyle(this.editor.graph.currentEdgeStyle);mxSettings.setCurrentVertexStyle(this.editor.graph.currentVertexStyle);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();this.addListener("gridColorChanged",mxUtils.bind(this,function(a,b){mxSettings.setGridColor(this.editor.graph.view.gridColor);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(this.editor.graph.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){if(!mxEvent.isConsumed(a)){var c=b.getElementsByTagName("span");if(null!=c&&0<c.length&&"application/vnd.lucid.chart.objects"===
+c[0].getAttribute("data-lucid-type")){var d=c[0].getAttribute("data-lucid-content");null!=d&&0<d.length&&(this.importLucidChart(d,0,0),mxEvent.consume(a))}else{var d=this.editor.graph,e=mxUtils.trim(mxClient.IS_QUIRKS||8==document.documentMode?mxUtils.getTextContent(b):b.textContent),g=!1;try{var f=e.lastIndexOf("%3E");0<=f&&f<e.length-3&&(e=e.substring(0,f+3))}catch(A){}try{var c=b.getElementsByTagName("span"),k=null!=c&&0<c.length?mxUtils.trim(decodeURIComponent(c[0].textContent)):decodeURIComponent(e);
+this.isCompatibleString(k)&&(g=!0,e=k)}catch(A){}d.lastPasteXml==e?d.pasteCounter++:(d.lastPasteXml=e,d.pasteCounter=0);c=d.pasteCounter*d.gridSize;if(null!=e&&0<e.length&&(g||this.isCompatibleString(e)?d.setSelectionCells(this.importXml(e,c,c)):(g=d.getInsertPoint(),d.isMouseInsertPoint()&&(c=0,d.lastPasteXml==e&&0<d.pasteCounter&&d.pasteCounter--),d.setSelectionCells(this.insertTextAt(e,g.x+c,g.y+c,!0))),!d.isSelectionEmpty())){d.scrollCellToVisible(d.getSelectionCell());null!=this.hoverIcons&&
+this.hoverIcons.update(d.view.getState(d.getSelectionCell()));try{mxEvent.consume(a)}catch(A){}}}}};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?"https://www.draw.io/":"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,e;if(null==a){e=document.body;var g=document.documentElement;d=(e.clientWidth||g.clientWidth)-3;e=Math.max(e.clientHeight||0,g.clientHeight)-3}else b=a.offsetTop,c=a.offsetLeft,d=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=c+"px";g.style.width=Math.max(0,d-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 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){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)+".xml");var g=mxUtils.bind(this,function(a){e=0<=e.lastIndexOf(".")?e.substring(0,e.lastIndexOf("."))+".xml":e+".xml";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(w){this.handleError(w,mxResources.get("errorLoadingFile"))}}else this.openLocalFile(a,
+e,b)});if(/(\.vsdx?)($|\?)/i.test(e)||/(\.vssx)($|\?)/i.test(e))this.importVisio(a,mxUtils.bind(this,function(a){this.spinner.stop();g(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?g(a.responseText):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge":"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))}));
+else if('{"state":"{\\"Properties\\":'==d.substring(0,26))/(\.json)$/i.test(e)&&(e=e.substring(0,e.length-5)+".xml"),this.openLocalFile(this.emptyDiagramXml,e,b),this.importLucidChart(d,0,0,null,mxUtils.bind(this,function(){this.editor.undoManager.clear();this.spinner.stop()}));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(u){this.handleError(u,mxResources.get("errorLoadingFile"))}}else"image/png"==a.type.substring(0,9)&&(d=this.extractGraphModelFromPng(d)),this.spinner.stop(),this.openLocalFile(d,e,b)}});c.onerror=mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a);window.openFile=null});"image"===a.type.substring(0,5)&&"image/svg"!==a.type.substring(0,9)?c.readAsDataURL(a):c.readAsText(a)})(a[c])};EditorUi.prototype.openLocalFile=function(a,b,c){var d=this.getCurrentFile(),
+e=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))});null!=a&&0<a.length&&(null==d||!d.isModified()&&(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)?e():(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)&&null!=d&&d.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(){this.confirm(mxResources.get("allChangesLost"),null,e,mxResources.get("cancel"),mxResources.get("discardChanges"))}))))};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 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),g=0;g<e;g++)this.addBasenamesForCell(d.model.getChildAt(a,g),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.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,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,scale:b.view.scale,page:b.view.getBackgroundPageBounds(),bounds:b.getGraphBounds()}};EditorUi.prototype.installMessageHandler=function(a){var b=null,c=!1,d=!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(g){function h(a){if(null!=a&&"function"===typeof a.charAt&&"<"!=a.charAt(0))try{"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=this.editor.graph.decompress(a)))}catch(G){}return a}if(g.source==(window.opener||window.parent)){var k=g.data;if("json"==urlParams.proto){try{k=JSON.parse(k)}catch(H){k=null}if(null==
+k)return;if("dialog"==k.action){this.showError(null!=k.titleKey?mxResources.get(k.titleKey):k.title,null!=k.messageKey?mxResources.get(k.messageKey):k.message,null!=k.buttonKey?mxResources.get(k.buttonKey):k.button);null!=k.modified&&(this.editor.modified=k.modified);return}if("prompt"==k.action){this.spinner.stop();var l=new FilenameDialog(this,k.defaultValue||"",null!=k.okKey?mxResources.get(k.okKey):null,function(a){null!=a&&f.postMessage(JSON.stringify({event:"prompt",value:a,message:k}),"*")},
+null!=k.titleKey?mxResources.get(k.titleKey):k.title);this.showDialog(l.container,300,80,!0,!1);l.init();return}if("draft"==k.action){l=null;l="data:image/png;base64,"==k.xml.substring(0,22)?this.extractGraphModelFromPng(k.xml):h(k.xml);this.spinner.stop();l=new DraftDialog(this,mxResources.get("draftFound",[k.name||this.defaultFilename]),l,mxUtils.bind(this,function(){this.hideDialog();f.postMessage(JSON.stringify({event:"draft",result:"edit",message:k}),"*")}),mxUtils.bind(this,function(){this.hideDialog();
+f.postMessage(JSON.stringify({event:"draft",result:"discard",message:k}),"*")}),k.editKey?mxResources.get(k.editKey):null,k.discardKey?mxResources.get(k.discardKey):null,k.ignore?mxUtils.bind(this,function(){this.hideDialog();f.postMessage(JSON.stringify({event:"draft",result:"ignore",message:k}),"*")}):null);this.showDialog(l.container,640,480,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));try{l.init()}catch(H){f.postMessage(JSON.stringify({event:"draft",error:H.toString(),
+message:k}),"*")}return}if("template"==k.action){this.spinner.stop();var l=1==k.enableRecent,n=1==k.enableSearch,l=new NewDialog(this,!1,null!=k.callback,mxUtils.bind(this,function(b,c){b=b||this.emptyDiagramXml;null!=k.callback?f.postMessage(JSON.stringify({event:"template",xml:b,blank:b==this.emptyDiagramXml,name:c}),"*"):(a(b,g,b!=this.emptyDiagramXml),this.editor.modified||this.editor.setStatus(""))}),null,null,null,null,null,null,null,l?mxUtils.bind(this,function(a){this.recentReadyCallback=
+a;f.postMessage(JSON.stringify({event:"recentDocs"}),"*")}):null,n?mxUtils.bind(this,function(a,b){this.searchReadyCallback=b;f.postMessage(JSON.stringify({event:"searchDocs",searchStr:a}),"*")}):null,function(a,b,c){f.postMessage(JSON.stringify({event:"template",docUrl:a,info:b,name:c}),"*")});this.showDialog(l.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));l.init();return}if("searchDocsList"==k.action)this.searchReadyCallback(k.list,k.errorMsg);else if("recentDocsList"==
+k.action)this.recentReadyCallback(k.list,k.errorMsg);else{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 m=null!=k.messageKey?mxResources.get(k.messageKey):k.message;null==k.show||k.show?this.spinner.spin(document.body,m):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 q=null!=k.xml?k.xml:this.getFileData(!0);this.editor.graph.setEnabled(!1);var p=this.editor.graph,v=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(q);f.postMessage(JSON.stringify(b),"*")}),t=mxUtils.bind(this,function(a){null==
+a&&(a=Editor.blankImage);"xmlpng"==k.format&&(a=this.writeGraphModelToPng(a,"zTXt","mxGraphModel",atob(this.editor.graph.compress(q))));p!=this.editor.graph&&p.container.parentNode.removeChild(p.container);v(a)});if(this.isExportToCanvas()){if(null!=this.pages&&this.currentPage!=this.pages[0]){var p=this.createTemporaryGraph(p.getStylesheet()),x=p.getGlobalVariable,C=this.pages[0];p.getGlobalVariable=function(a){return"page"==a?C.getName():"pagenumber"==a?1:x.apply(this,arguments)};document.body.appendChild(p.container);
+p.model.setRoot(C.root)}this.exportToCanvas(mxUtils.bind(this,function(a){t(a.toDataURL("image/png"))}),null,null,null,mxUtils.bind(this,function(){t(null)}),null,null,null,null,null,null,p)}else(new mxXmlRequest(EXPORT_URL,"format=png&embedXml="+("xmlpng"==k.format?"1":"0")+"&base64=1&xml="+encodeURIComponent(encodeURIComponent(q)))).send(mxUtils.bind(this,function(a){200<=a.getStatus()&&299>=a.getStatus()?v("data:image/png;base64,"+a.getText()):t(null)}),mxUtils.bind(this,function(){t(null)}))}}else{null!=
+k.xml&&0<k.xml.length&&this.setFileData(k.xml);m=this.createLoadMessage("export");if("html2"==k.format||"html"==k.format&&("0"!=urlParams.pages||null!=this.pages&&1<this.pages.length))l=this.getXmlFileData(),m.xml=mxUtils.getXml(l),m.data=this.getFileData(null,null,!0,null,null,null,l),m.format=k.format;else if("html"==k.format)q=this.editor.getGraphXml(),m.data=this.getHtml(q,this.editor.graph),m.xml=mxUtils.getXml(q),m.format=k.format;else{mxSvgCanvas2D.prototype.foAltText=null;l=this.editor.graph.background;
+l==mxConstants.NONE&&(l=null);m.xml=this.getFileData(!0);m.format="svg";if(k.embedImages||null==k.embedImages){if(null==k.spin&&null==k.spinKey||this.spinner.spin(document.body,null!=k.spinKey?mxResources.get(k.spinKey):k.spin))this.editor.graph.setEnabled(!1),"xmlsvg"==k.format?this.getEmbeddedSvg(m.xml,this.editor.graph,null,!0,mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();m.data=this.createSvgDataUri(a);f.postMessage(JSON.stringify(m),"*")})):this.convertImages(this.editor.graph.getSvg(l),
+mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();m.data=this.createSvgDataUri(mxUtils.getXml(a));f.postMessage(JSON.stringify(m),"*")}));return}l="xmlsvg"==k.format?this.getEmbeddedSvg(this.getFileData(!0),this.editor.graph,null,!0):mxUtils.getXml(this.editor.graph.getSvg(l));m.data=this.createSvgDataUri(l)}f.postMessage(JSON.stringify(m),"*")}return}if("load"==k.action)d=1==k.autosave,this.hideDialog(),null!=k.modified&&null==urlParams.modified&&(urlParams.modified=
+k.modified),null!=k.saveAndExit&&null==urlParams.saveAndExit&&(urlParams.saveAndExit=k.saveAndExit),null!=k.title&&null!=this.buttonContainer&&(l=document.createElement("span"),mxUtils.write(l,k.title),"atlas"==uiTheme?(this.buttonContainer.style.paddingRight="12px",this.buttonContainer.style.paddingTop="12px"):"min"!=uiTheme&&(this.buttonContainer.style.paddingRight="38px",this.buttonContainer.style.paddingTop="6px"),null!=this.embedFilenameSpan&&this.embedFilenameSpan.parentNode.removeChild(this.embedFilenameSpan),
+this.buttonContainer.appendChild(l),this.embedFilenameSpan=l),k=null!=k.xmlpng?this.extractGraphModelFromPng(k.xmlpng):null!=k.xml&&"data:image/png;base64,"==k.xml.substring(0,22)?this.extractGraphModelFromPng(k.xml):k.xml;else{f.postMessage(JSON.stringify({error:"unknownMessage",data:JSON.stringify(k)}),"*");return}}}k=h(k);c=!0;try{a(k,g)}catch(H){this.handleError(H)}c=!1;null!=urlParams.modified&&this.editor.setStatus("");var L=mxUtils.bind(this,function(){return"0"!=urlParams.pages||null!=this.pages&&
+1<this.pages.length?this.getFileData(!0):mxUtils.getXml(this.editor.getGraphXml())});e=L();d&&null==b&&(b=mxUtils.bind(this,function(a,b){var d=L();if(d!=e&&!c){var g=this.createLoadMessage("autosave");g.xml=d;d=JSON.stringify(g);(window.opener||window.parent).postMessage(d,"*")}e=d}),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||f.postMessage(JSON.stringify(this.createLoadMessage("load")),"*")}}));var f=window.opener||window.parent,g="json"==urlParams.proto?JSON.stringify({event:"init"}):
+urlParams.ready||"ready";f.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":"3px";a.style.paddingLeft="8px";a.style.paddingBottom="2px";var b=document.createElement("button");mxUtils.write(b,mxResources.get("save"));b.setAttribute("title",mxResources.get("save")+" ("+Editor.ctrlKey+"+S)");b.className="geBigButton";b.style.fontSize=
+"12px";b.style.padding="4px 6px 4px 6px";b.style.borderRadius="3px";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.style.fontSize="12px",b.style.marginLeft="6px",b.style.padding="4px",b.style.cursor="pointer",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.style.fontSize="12px";b.style.marginLeft="6px";b.style.marginRight="20px";b.style.padding="4px";b.style.cursor="pointer";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.showDialog(this.importCsvDialog.container,640,520,!0,!0);this.importCsvDialog.init()};EditorUi.prototype.importCsv=function(a,b){try{var c=a.split("\n"),d=[];if(0<c.length){var e={},g=null,f=null,k="",h="auto",l="auto",m=null,F=null,E=40,y=40,D=0,z=this.editor.graph;
+z.getGraphBounds();for(var B=function(){null!=b?b(aa):(z.setSelectionCells(aa),z.scrollCellToVisible(z.getSelectionCell()))},J=z.getFreeInsertPoint(),C=J.x,L=J.y,J=L,H=null,G="auto",M=[],X=null,Z=null,N=0;N<c.length&&"#"==c[N].charAt(0);){a=c[N];for(N++;N<c.length&&"\\"==a.charAt(a.length-1)&&"#"==c[N].charAt(0);)a=a.substring(0,a.length-1)+mxUtils.trim(c[N].substring(1)),N++;if("#"!=a.charAt(1)){var S=a.indexOf(":");if(0<S){var O=mxUtils.trim(a.substring(1,S)),I=mxUtils.trim(a.substring(S+1));"label"==
+O?H=z.sanitizeHtml(I):"style"==O?g=I:"identity"==O&&0<I.length&&"-"!=I?f=I:"namespace"==O&&0<I.length&&"-"!=I?k=I:"width"==O?h=I:"height"==O?l=I:"left"==O&&0<I.length?m=I:"top"==O&&0<I.length?F=I:"ignore"==O?Z=I.split(","):"connect"==O?M.push(JSON.parse(I)):"link"==O?X=I:"padding"==O?D=parseFloat(I):"edgespacing"==O?E=parseFloat(I):"nodespacing"==O?y=parseFloat(I):"layout"==O&&(G=I)}}}var W=this.editor.csvToArray(c[N]),S=null;if(null!=f)for(var R=0;R<W.length;R++)if(f==W[R]){S=R;break}null==H&&(H=
+"%"+W[0]+"%");if(null!=M)for(var T=0;T<M.length;T++)null==e[M[T].to]&&(e[M[T].to]={});z.model.beginUpdate();try{for(R=N+1;R<c.length;R++){var V=this.editor.csvToArray(c[R]);if(V.length==W.length){var K=null,Q=null!=S?k+V[S]:null;null!=Q&&(K=z.model.getCell(Q));null==K&&(K=new mxCell(H,new mxGeometry(C,J,0,0),g||"whiteSpace=wrap;html=1;"),K.vertex=!0,K.id=Q);for(var P=0;P<V.length;P++)z.setAttributeForCell(K,W[P],V[P]);z.setAttributeForCell(K,"placeholders","1");K.style=z.replacePlaceholders(K,K.style);
+for(T=0;T<M.length;T++)e[M[T].to][K.getAttribute(M[T].to)]=K;null!=X&&"link"!=X&&(z.setLinkForCell(K,K.getAttribute(X)),z.setAttributeForCell(K,X,null));z.fireEvent(new mxEventObject("cellsInserted","cells",[K]));var ba=this.editor.graph.getPreferredSizeForCell(K);K.vertex&&(null!=m&&null!=K.getAttribute(m)&&(K.geometry.x=C+parseFloat(K.getAttribute(m))),null!=F&&null!=K.getAttribute(F)&&(K.geometry.y=L+parseFloat(K.getAttribute(F))),"@"==h.charAt(0)&&null!=K.getAttribute(h.substring(1))?K.geometry.width=
+parseFloat(K.getAttribute(h.substring(1))):K.geometry.width="auto"==h?ba.width+D:parseFloat(h),"@"==l.charAt(0)&&null!=K.getAttribute(l.substring(1))?K.geometry.height=parseFloat(K.getAttribute(l.substring(1))):K.geometry.height="auto"==l?ba.height+D:parseFloat(l),J+=K.geometry.height+y);d.push(z.addCell(K))}}for(var U=d.slice(),aa=d.slice(),T=0;T<M.length;T++)for(var Y=M[T],R=0;R<d.length;R++){var K=d[R],ia=K.getAttribute(Y.from);if(null!=ia){z.setAttributeForCell(K,Y.from,null);for(var ja=ia.split(","),
+P=0;P<ja.length;P++){var ca=e[Y.to][ja[P]];null!=ca&&(H=Y.label,null!=Y.fromlabel&&(H=(K.getAttribute(Y.fromlabel)||"")+(H||"")),null!=Y.tolabel&&(H=(H||"")+(ca.getAttribute(Y.tolabel)||"")),aa.push(z.insertEdge(null,null,H||"",Y.invert?ca:K,Y.invert?K:ca,Y.style||z.createCurrentEdgeStyle())),mxUtils.remove(Y.invert?K:ca,U))}}}if(null!=Z)for(R=0;R<d.length;R++)for(K=d[R],P=0;P<Z.length;P++)z.setAttributeForCell(K,mxUtils.trim(Z[P]),null);var fa=new mxParallelEdgeLayout(z);fa.spacing=E;var ka=function(){fa.execute(z.getDefaultParent());
+for(var a=0;a<d.length;a++){var b=z.getCellGeometry(d[a]);b.x=Math.round(z.snap(b.x));b.y=Math.round(z.snap(b.y));"auto"==h&&(b.width=Math.round(z.snap(b.width)));"auto"==l&&(b.height=Math.round(z.snap(b.height)))}};if("circle"==G){var da=new mxCircleLayout(z);da.resetEdges=!1;var la=da.isVertexIgnored;da.isVertexIgnored=function(a){return la.apply(this,arguments)||0>mxUtils.indexOf(d,a)};this.executeLayout(function(){da.execute(z.getDefaultParent());ka()},!0,B);B=null}else if("horizontaltree"==G||
+"verticaltree"==G||"auto"==G&&aa.length==2*d.length-1&&1==U.length){z.view.validate();var ga=new mxCompactTreeLayout(z,"horizontaltree"==G);ga.levelDistance=y;ga.edgeRouting=!1;ga.resetEdges=!1;this.executeLayout(function(){ga.execute(z.getDefaultParent(),0<U.length?U[0]:null)},!0,B);B=null}else if("horizontalflow"==G||"verticalflow"==G||"auto"==G&&1==U.length){z.view.validate();var ha=new mxHierarchicalLayout(z,"horizontalflow"==G?mxConstants.DIRECTION_WEST:mxConstants.DIRECTION_NORTH);ha.intraCellSpacing=
+y;ha.disableEdgeStyle=!1;this.executeLayout(function(){ha.execute(z.getDefaultParent(),aa);z.moveCells(aa,C,L)},!0,B);B=null}else if("organic"==G||"auto"==G&&aa.length>d.length){z.view.validate();var ea=new mxFastOrganicLayout(z);ea.forceConstant=3*y;ea.resetEdges=!1;var na=ea.isVertexIgnored;ea.isVertexIgnored=function(a){return na.apply(this,arguments)||0>mxUtils.indexOf(d,a)};fa=new mxParallelEdgeLayout(z);fa.spacing=E;this.executeLayout(function(){ea.execute(z.getDefaultParent());ka()},!0,B);
+B=null}this.hideDialog()}finally{z.model.endUpdate()}null!=B&&B()}}catch(ma){this.handleError(ma)}};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,440,130,!0,!0);a.init()};var h=EditorUi.prototype.createOutline;EditorUi.prototype.createOutline=function(a){var b=h.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 e=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 e.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,g=b.outline;g.pageScale=e.pageScale;g.pageFormat=e.pageFormat;g.background=e.background;g.pageVisible=e.pageVisible;g.background=e.background;var f=mxUtils.getCurrentStyle(e.container);g.container.style.backgroundColor=f.backgroundColor;null!=e.view.backgroundPageShape&&null!=g.view.backgroundPageShape&&(g.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=0;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.trello&&"function"!==typeof window.TrelloClient||c++;a&&isLocalStorage&&("1"==urlParams.browser||mxClient.IS_IOS)&&c++;mxClient.IS_IOS||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 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.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 d=applicationCache;if(null!=d&&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 d=window.applicationCache,e=null,b=mxUtils.bind(this,function(){var a=d.status,b;a==d.CHECKING&&(a=d.DOWNLOADING);switch(a){case d.UNCACHED:b="";break;case d.IDLE:b="min"==uiTheme?"":'<img title="draw.io is up to date." border="0" src="'+IMAGE_PATH+'/checkmark.gif"/>';break;case d.DOWNLOADING:b='<img title="Downloading new version..." border="0" src="'+IMAGE_PATH+'/spin.gif"/>';break;case d.UPDATEREADY:b='<img title="'+mxUtils.htmlEntities(mxResources.get("restartForChangeRequired"))+'" border="0" src="'+
+IMAGE_PATH+'/download.png"/>';break;case d.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!=e&&(this.offlineStatus.innerHTML=b,e=a)});mxEvent.addListener(d,"checking",b);mxEvent.addListener(d,"noupdate",b);mxEvent.addListener(d,"downloading",b);mxEvent.addListener(d,"progress",b);mxEvent.addListener(d,"cached",b);mxEvent.addListener(d,"updateready",b);mxEvent.addListener(d,"obsolete",
+b);mxEvent.addListener(d,"error",b);b()}}else this.updateUserElement()};EditorUi.prototype.updateButtonContainer=function(){};EditorUi.prototype.updateUserElement=function(){};EditorUi.prototype.isDiagramActive=function(){var a=this.getCurrentFile();return null!=a&&a.isEditable()||"1"==urlParams.embed&&this.editor.graph.isEnabled()};var l=EditorUi.prototype.updateActionStates;EditorUi.prototype.updateActionStates=function(){l.apply(this,arguments);var a=this.editor.graph,b=this.isDiagramActive(),
+c=this.getCurrentFile(),d=null!=c||"1"==urlParams.embed;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(b&&
+(null==c||!c.isRestricted()));this.actions.get("find").setEnabled(d);this.actions.get("layers").setEnabled(d);this.actions.get("outline").setEnabled(d);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 m=EditorUi.prototype.destroy;
+EditorUi.prototype.destroy=function(){null!=this.exportDialog&&(this.exportDialog.parentNode.removeChild(this.exportDialog),this.exportDialog=null);m.apply(this,arguments)};null!=window.ExportDialog&&(ExportDialog.showXmlOption=!1,ExportDialog.showGifOption=!1,ExportDialog.exportFile=function(a,b,c,d,e,f){var g=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(g.getSvg(d,
+e,f)),"image/svg+xml");else{var h=a.getFileData(!0,null,null,null,null,!0),k=g.getGraphBounds(),l=Math.floor(k.width*e/g.view.scale),m=Math.floor(k.height*e/g.view.scale);h.length<=MAX_REQUEST_SIZE&&l*m<MAX_AREA?(a.hideDialog(),a.saveRequest(b,c,function(a,b){return new mxXmlRequest(EXPORT_URL,"format="+c+"&base64="+(b||"0")+(null!=a?"&filename="+encodeURIComponent(a):"")+"&bg="+(null!=d?d:"none")+"&w="+l+"&h="+m+"&border="+f+"&xml="+encodeURIComponent(h))})):mxUtils.alert(mxResources.get("drawingTooLarge"))}})})();var mxSettings={currentVersion:16,defaultFormatWidth:600>screen.width?"0":"240",key:".drawio-config",getLanguage:function(){return mxSettings.settings.language},setLanguage:function(a){mxSettings.settings.language=a},getUi:function(){return mxSettings.settings.ui},setUi:function(a){mxSettings.settings.ui=a},getShowStartScreen:function(){return mxSettings.settings.showStartScreen},setShowStartScreen:function(a){mxSettings.settings.showStartScreen=a},getGridColor:function(){return mxSettings.settings.gridColor},
setGridColor:function(a){mxSettings.settings.gridColor=a},getAutosave:function(){return mxSettings.settings.autosave},setAutosave:function(a){mxSettings.settings.autosave=a},getResizeImages:function(){return mxSettings.settings.resizeImages},setResizeImages:function(a){mxSettings.settings.resizeImages=a},getOpenCounter:function(){return mxSettings.settings.openCounter},setOpenCounter:function(a){mxSettings.settings.openCounter=a},getLibraries:function(){return mxSettings.settings.libraries},setLibraries:function(a){mxSettings.settings.libraries=
a},addCustomLibrary:function(a){mxSettings.load();0>mxUtils.indexOf(mxSettings.settings.customLibraries,a)&&("L.scratchpad"===a?mxSettings.settings.customLibraries.splice(0,0,a):mxSettings.settings.customLibraries.push(a));mxSettings.save()},removeCustomLibrary:function(a){mxSettings.load();mxUtils.remove(a,mxSettings.settings.customLibraries);mxSettings.save()},getCustomLibraries:function(){return mxSettings.settings.customLibraries},getPlugins:function(){return mxSettings.settings.plugins},setPlugins:function(a){mxSettings.settings.plugins=
a},getRecentColors:function(){return mxSettings.settings.recentColors},setRecentColors:function(a){mxSettings.settings.recentColors=a},getFormatWidth:function(){return parseInt(mxSettings.settings.formatWidth)},setFormatWidth:function(a){mxSettings.settings.formatWidth=a},getCurrentEdgeStyle:function(){return mxSettings.settings.currentEdgeStyle},setCurrentEdgeStyle:function(a){mxSettings.settings.currentEdgeStyle=a},getCurrentVertexStyle:function(){return mxSettings.settings.currentVertexStyle},
@@ -7676,16 +7676,16 @@ mxResources.get("cancel"),mxUtils.bind(this,function(){d()}),null,mxResources.ge
Base64.encode(a.getData()))}),mxUtils.bind(this,function(){d()}))};GitHubClient.prototype.pickLibrary=function(a){this.pickFile(a)};GitHubClient.prototype.pickFolder=function(a){this.showGitHubDialog(!1,a)};GitHubClient.prototype.pickFile=function(a){a=null!=a?a:mxUtils.bind(this,function(a){this.ui.loadFile("H"+encodeURIComponent(a))});this.showGitHubDialog(!0,a)};
GitHubClient.prototype.showGitHubDialog=function(a,b){var d=null,c=null,e=null,f=null,h=document.createElement("div");h.style.whiteSpace="nowrap";h.style.overflow="hidden";h.style.height="224px";var l=document.createElement("h3");mxUtils.write(l,mxResources.get(a?"selectFile":"selectFolder"));l.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";h.appendChild(l);var m=document.createElement("div");m.style.whiteSpace="nowrap";m.style.overflow="auto";m.style.height="194px";
h.appendChild(m);var g=new CustomDialog(this.ui,h,mxUtils.bind(this,function(){b(d+"/"+c+"/"+encodeURIComponent(e)+"/"+f)}));this.ui.showDialog(g.container,340,270,!0,!0);a&&g.okButton.parentNode.removeChild(g.okButton);var k=mxUtils.bind(this,function(a,b){var c=document.createElement("a");c.setAttribute("href","javascript:void(0);");mxUtils.write(c,a);mxEvent.addListener(c,"click",b);return c}),n=mxUtils.bind(this,function(a){var b=document.createElement("div");b.style.marginBottom="8px";b.appendChild(k(d+
-"/"+c,mxUtils.bind(this,function(){f=null;z()})));a||(mxUtils.write(b," / "),b.appendChild(k(decodeURIComponent(e),mxUtils.bind(this,function(){f=null;x()}))));if(null!=f&&0<f.length){var g=f.split("/");for(a=0;a<g.length;a++)(function(a){mxUtils.write(b," / ");b.appendChild(k(g[a],mxUtils.bind(this,function(){f=g.slice(0,a+1).join("/");t()})))})(a)}m.appendChild(b)}),q=mxUtils.bind(this,function(a){this.ui.handleError(a,null,mxUtils.bind(this,function(){this.ui.spinner.stop();null!=this.getUser()?
-(f=e=c=d=null,z()):this.ui.hideDialog()}))}),t=mxUtils.bind(this,function(){var h=new mxXmlRequest(this.baseUrl+"/repos/"+d+"/"+c+"/contents/"+f+"?ref="+encodeURIComponent(e),null,"GET");g.okButton.removeAttribute("disabled");m.innerHTML="";this.ui.spinner.spin(m,mxResources.get("loading"));this.executeRequest(h,mxUtils.bind(this,function(g){n();this.ui.spinner.stop();var h=JSON.parse(g.getText());m.appendChild(k("../ [Up]",mxUtils.bind(this,function(){if(""==f)f=null,z();else{var a=f.split("/");
+"/"+c,mxUtils.bind(this,function(){f=null;A()})));a||(mxUtils.write(b," / "),b.appendChild(k(decodeURIComponent(e),mxUtils.bind(this,function(){f=null;x()}))));if(null!=f&&0<f.length){var g=f.split("/");for(a=0;a<g.length;a++)(function(a){mxUtils.write(b," / ");b.appendChild(k(g[a],mxUtils.bind(this,function(){f=g.slice(0,a+1).join("/");t()})))})(a)}m.appendChild(b)}),q=mxUtils.bind(this,function(a){this.ui.handleError(a,null,mxUtils.bind(this,function(){this.ui.spinner.stop();null!=this.getUser()?
+(f=e=c=d=null,A()):this.ui.hideDialog()}))}),t=mxUtils.bind(this,function(){var h=new mxXmlRequest(this.baseUrl+"/repos/"+d+"/"+c+"/contents/"+f+"?ref="+encodeURIComponent(e),null,"GET");g.okButton.removeAttribute("disabled");m.innerHTML="";this.ui.spinner.spin(m,mxResources.get("loading"));this.executeRequest(h,mxUtils.bind(this,function(g){n();this.ui.spinner.stop();var h=JSON.parse(g.getText());m.appendChild(k("../ [Up]",mxUtils.bind(this,function(){if(""==f)f=null,A();else{var a=f.split("/");
f=a.slice(0,a.length-1).join("/");t()}})));mxUtils.br(m);null==h||0==h.length?mxUtils.write(m,mxResources.get("noFiles")):(g=mxUtils.bind(this,function(g){for(var l=0;l<h.length;l++)mxUtils.bind(this,function(h){g==("dir"==h.type)&&(m.appendChild(k(h.name+("dir"==h.type?"/":""),mxUtils.bind(this,function(){"dir"==h.type?(f=h.path,t()):a&&"file"==h.type&&(this.ui.hideDialog(),b(d+"/"+c+"/"+encodeURIComponent(e)+"/"+h.path))}))),mxUtils.br(m))})(h[l])}),g(!0),a&&g(!1))}),q)}),p=null,v=null,x=mxUtils.bind(this,
function(a){null==a&&(m.innerHTML="",a=1);var b=new mxXmlRequest(this.baseUrl+"/repos/"+d+"/"+c+"/branches?per_page=100&page="+a,null,"GET");g.okButton.setAttribute("disabled","disabled");this.ui.spinner.spin(m,mxResources.get("loading"));null!=p&&null!=p.parentNode&&p.parentNode.removeChild(p);p=document.createElement("a");p.style.display="block";p.setAttribute("href","javascript:void(0);");mxUtils.write(p,mxResources.get("more")+"...");var h=mxUtils.bind(this,function(){mxEvent.removeListener(m,
-"scroll",v);x(a+1)});mxEvent.addListener(p,"click",h);this.executeRequest(b,mxUtils.bind(this,function(b){this.ui.spinner.stop();1==a&&(n(!0),m.appendChild(k("../ [Up]",mxUtils.bind(this,function(){f=null;z()}))),mxUtils.br(m));b=JSON.parse(b.getText());if(null==b||0==b.length)mxUtils.write(m,mxResources.get("noFiles"));else{for(var c=0;c<b.length;c++)mxUtils.bind(this,function(a){m.appendChild(k(a.name,mxUtils.bind(this,function(){e=a.name;f="";t()})));mxUtils.br(m)})(b[c]);100==b.length&&(m.appendChild(p),
-v=function(){m.scrollTop>=m.scrollHeight-m.offsetHeight&&h()},mxEvent.addListener(m,"scroll",v))}}),q)}),z=mxUtils.bind(this,function(a){null==a&&(m.innerHTML="",a=1);var b=new mxXmlRequest(this.baseUrl+"/user/repos?per_page=100&page="+a,null,"GET");g.okButton.setAttribute("disabled","disabled");this.ui.spinner.spin(m,mxResources.get("loading"));null!=p&&null!=p.parentNode&&p.parentNode.removeChild(p);p=document.createElement("a");p.style.display="block";p.setAttribute("href","javascript:void(0);");
-mxUtils.write(p,mxResources.get("more")+"...");var h=mxUtils.bind(this,function(){mxEvent.removeListener(m,"scroll",v);z(a+1)});mxEvent.addListener(p,"click",h);this.executeRequest(b,mxUtils.bind(this,function(b){this.ui.spinner.stop();b=JSON.parse(b.getText());if(null==b||0==b.length)mxUtils.write(m,mxResources.get("noFiles"));else{1==a&&(m.appendChild(k(mxResources.get("enterValue")+"...",mxUtils.bind(this,function(){var a=new FilenameDialog(this.ui,"org/repo/ref",mxResources.get("ok"),mxUtils.bind(this,
+"scroll",v);x(a+1)});mxEvent.addListener(p,"click",h);this.executeRequest(b,mxUtils.bind(this,function(b){this.ui.spinner.stop();1==a&&(n(!0),m.appendChild(k("../ [Up]",mxUtils.bind(this,function(){f=null;A()}))),mxUtils.br(m));b=JSON.parse(b.getText());if(null==b||0==b.length)mxUtils.write(m,mxResources.get("noFiles"));else{for(var c=0;c<b.length;c++)mxUtils.bind(this,function(a){m.appendChild(k(a.name,mxUtils.bind(this,function(){e=a.name;f="";t()})));mxUtils.br(m)})(b[c]);100==b.length&&(m.appendChild(p),
+v=function(){m.scrollTop>=m.scrollHeight-m.offsetHeight&&h()},mxEvent.addListener(m,"scroll",v))}}),q)}),A=mxUtils.bind(this,function(a){null==a&&(m.innerHTML="",a=1);var b=new mxXmlRequest(this.baseUrl+"/user/repos?per_page=100&page="+a,null,"GET");g.okButton.setAttribute("disabled","disabled");this.ui.spinner.spin(m,mxResources.get("loading"));null!=p&&null!=p.parentNode&&p.parentNode.removeChild(p);p=document.createElement("a");p.style.display="block";p.setAttribute("href","javascript:void(0);");
+mxUtils.write(p,mxResources.get("more")+"...");var h=mxUtils.bind(this,function(){mxEvent.removeListener(m,"scroll",v);A(a+1)});mxEvent.addListener(p,"click",h);this.executeRequest(b,mxUtils.bind(this,function(b){this.ui.spinner.stop();b=JSON.parse(b.getText());if(null==b||0==b.length)mxUtils.write(m,mxResources.get("noFiles"));else{1==a&&(m.appendChild(k(mxResources.get("enterValue")+"...",mxUtils.bind(this,function(){var a=new FilenameDialog(this.ui,"org/repo/ref",mxResources.get("ok"),mxUtils.bind(this,
function(a){if(null!=a){var b=a.split("/");if(1<b.length){a=b[0];var g=b[1];3>b.length?(d=a,c=g,f=e=null,x()):this.ui.spinner.spin(m,mxResources.get("loading"))&&(b=encodeURIComponent(b.slice(2,b.length).join("/")),this.getFile(a+"/"+g+"/"+b,mxUtils.bind(this,function(a){this.ui.spinner.stop();d=a.meta.org;c=a.meta.repo;e=decodeURIComponent(a.meta.ref);f="";t()}),mxUtils.bind(this,function(a){this.ui.spinner.stop();this.ui.handleError({message:mxResources.get("fileNotFound")})})))}else this.ui.spinner.stop(),
this.ui.handleError({message:mxResources.get("invalidName")})}}),mxResources.get("enterValue"));this.ui.showDialog(a.container,300,80,!0,!1);a.init()}))),mxUtils.br(m),mxUtils.br(m));for(var g=0;g<b.length;g++)mxUtils.bind(this,function(a){m.appendChild(k(a.full_name,mxUtils.bind(this,function(){d=a.owner.login;c=a.name;e=a.default_branch;f="";t()})));mxUtils.br(m)})(b[g])}100==b.length&&(m.appendChild(p),v=function(){m.scrollTop>=m.scrollHeight-m.offsetHeight&&h()},mxEvent.addListener(m,"scroll",
-v))}),q)});z()};GitHubClient.prototype.logout=function(){this.clearPersistentToken();this.setUser(null);this.token=null};TrelloFile=function(a,b,d){DrawioFile.call(this,a,b);this.meta=d;this.saveNeededCounter=0};mxUtils.extend(TrelloFile,DrawioFile);TrelloFile.prototype.getHash=function(){return"T"+encodeURIComponent(this.meta.compoundId)};TrelloFile.prototype.getMode=function(){return App.MODE_TRELLO};TrelloFile.prototype.isAutosave=function(){return!0};TrelloFile.prototype.getTitle=function(){return this.meta.name};TrelloFile.prototype.isRenamable=function(){return!1};
+v))}),q)});A()};GitHubClient.prototype.logout=function(){this.clearPersistentToken();this.setUser(null);this.token=null};TrelloFile=function(a,b,d){DrawioFile.call(this,a,b);this.meta=d;this.saveNeededCounter=0};mxUtils.extend(TrelloFile,DrawioFile);TrelloFile.prototype.getHash=function(){return"T"+encodeURIComponent(this.meta.compoundId)};TrelloFile.prototype.getMode=function(){return App.MODE_TRELLO};TrelloFile.prototype.isAutosave=function(){return!0};TrelloFile.prototype.getTitle=function(){return this.meta.name};TrelloFile.prototype.isRenamable=function(){return!1};
TrelloFile.prototype.save=function(a,b,d){this.doSave(this.getTitle(),b,d)};TrelloFile.prototype.saveAs=function(a,b,d){this.doSave(a,b,d)};TrelloFile.prototype.doSave=function(a,b,d){var c=this.meta.name;this.meta.name=a;DrawioFile.prototype.save.apply(this,arguments);this.meta.name=c;this.saveFile(a,!1,b,d)};
TrelloFile.prototype.saveFile=function(a,b,d,c){if(this.isEditable())if(this.savingFile)null!=c&&(this.saveNeededCounter++,c({code:App.ERROR_BUSY}));else if(this.savingFile=!0,this.getTitle()==a){var e=this.isModified,f=this.isModified(),h=mxUtils.bind(this,function(){this.setModified(!1);this.isModified=function(){return f}});h();this.ui.trello.saveFile(this,mxUtils.bind(this,function(f){this.savingFile=!1;this.isModified=e;this.meta=f;this.contentChanged();null!=d&&d();0<this.saveNeededCounter&&
(this.saveNeededCounter--,this.saveFile(a,b,d,c))}),mxUtils.bind(this,function(a){this.savingFile=!1;this.isModified=e;this.setModified(f||this.isModified());if(null!=c){if(null!=a&&null!=a.retry){var b=a.retry;a.retry=function(){h();b()}}c(a)}}))}else this.ui.pickFolder(App.MODE_TRELLO,mxUtils.bind(this,function(e){this.ui.trello.insertFile(a,this.getData(),mxUtils.bind(this,function(e){this.savingFile=!1;null!=d&&d();this.ui.fileLoaded(e);0<this.saveNeededCounter&&(this.saveNeededCounter--,this.saveFile(a,
@@ -7728,16 +7728,17 @@ App.getStoredMode=function(){var a=null;null==a&&isLocalStorage&&(a=localStorage
"#G"==window.location.hash.substring(0,2)?mxscript("https://apis.google.com/js/api.js"):"0"!=urlParams.chrome||null!=window.location.hash&&"#Uhttps%3A%2F%2Fdrive.google.com%2Fuc%3Fid%3D"===window.location.hash.substring(0,45)||(window.DriveClient=null):window.DriveClient=null),"function"===typeof window.DropboxClient&&("0"!=urlParams.db&&isSvgBrowser&&(null==document.documentMode||9<document.documentMode)?App.mode==App.MODE_DROPBOX||null!=window.location.hash&&"#D"==window.location.hash.substring(0,
2)?(mxscript(App.DROPBOX_URL),mxscript(App.DROPINS_URL,null,"dropboxjs",App.DROPBOX_APPKEY)):"0"==urlParams.chrome&&(window.DropboxClient=null):window.DropboxClient=null),"function"===typeof window.OneDriveClient&&("0"!=urlParams.od&&(0>navigator.userAgent.indexOf("MSIE")||10<=document.documentMode)?App.mode==App.MODE_ONEDRIVE||null!=window.location.hash&&"#W"==window.location.hash.substring(0,2)?mxscript(App.ONEDRIVE_URL):"0"==urlParams.chrome&&(window.OneDriveClient=null):window.OneDriveClient=
null),"function"===typeof window.TrelloClient&&("0"!=urlParams.tr&&isSvgBrowser&&(null==document.documentMode||10<=document.documentMode)?App.mode==App.MODE_TRELLO||null!=window.location.hash&&"#T"==window.location.hash.substring(0,2)?(mxscript(App.TRELLO_JQUERY_URL),mxscript(App.TRELLO_URL)):"0"==urlParams.chrome&&(window.TrelloClient=null):window.TrelloClient=null)),"undefined"==typeof JSON&&mxscript("js/json/json2.min.js")))})();
-App.main=function(a,b){var d=null;EditorUi.enableLogging&&(window.onerror=function(a,b,c,e,f){try{if(a!=d&&(null==a||null==b||-1==a.indexOf("Script error")&&-1==a.indexOf("extension"))&&null!=a&&0>a.indexOf("DocumentClosedError")){d=a;var g=new Image,h=0<=a.indexOf("NetworkError")||0<=a.indexOf("SecurityError")||0<=a.indexOf("NS_ERROR_FAILURE")||0<=a.indexOf("out of memory")?"CONFIG":"SEVERE";g.src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?severity="+h+"&v="+encodeURIComponent(EditorUi.VERSION)+
-"&msg=clientError:"+encodeURIComponent(a)+":url:"+encodeURIComponent(window.location.href)+":lnum:"+encodeURIComponent(c)+(null!=e?":colno:"+encodeURIComponent(e):"")+(null!=f&&null!=f.stack?"&stack="+encodeURIComponent(f.stack):"")}}catch(v){}});if(null!=window.mxscript){if("1"==urlParams.offline||"1"==urlParams.appcache){mxscript("js/shapes.min.js");mxscript("js/stencils.min.js");mxscript("js/extensions.min.js");var c=document.createElement("iframe");c.setAttribute("width","0");c.setAttribute("height",
-"0");c.setAttribute("src","offline.html");document.body.appendChild(c)}if("0"!=urlParams.plugins&&"1"!=urlParams.offline){var c=mxSettings.getPlugins(),e=urlParams.p;App.initPluginCallback();if(null!=e){var f="";"1"==urlParams.drawdev&&(f=document.location.protocol+"//drawhost.jgraph.com/");for(var h=e.split(";"),e=0;e<h.length;e++){var l=App.pluginRegistry[h[e]];null!=l?mxscript(f+l):null!=window.console&&console.log("Unknown plugin:",h[e])}}else"0"==urlParams.chrome||EditorUi.isElectronApp||mxscript(App.FOOTER_PLUGIN_URL,
-null,null,null,mxClient.IS_SVG);if(null!=c&&0<c.length&&"0"!=urlParams.plugins){f=window.location.protocol+"//"+window.location.host;h=!0;for(e=0;e<c.length&&h;e++)"/"!=c[e].charAt(0)&&c[e].substring(0,f.length)!=f&&(h=!1);if(h||mxUtils.confirm(mxResources.replacePlaceholders("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",[c.join("\n")]).replace(/\\n/g,
-"\n")))for(e=0;e<c.length;e++)try{mxscript(c[e])}catch(m){}}}"function"===typeof window.DriveClient&&"undefined"===typeof gapi&&("1"!=urlParams.embed&&"0"!=urlParams.gapi||"1"==urlParams.embed&&"1"==urlParams.gapi)&&isSvgBrowser&&isLocalStorage&&(null==document.documentMode||10<=document.documentMode)?mxscript("https://apis.google.com/js/api.js?onload=DrawGapiClientCallback",null,null,null,mxClient.IS_SVG):"undefined"===typeof window.gapi&&(window.DriveClient=null)}"0"!=urlParams.math&&Editor.initMath();
-mxResources.loadDefaultBundle=!1;c=mxResources.getDefaultBundle(RESOURCE_BASE,mxLanguage)||mxResources.getSpecialBundle(RESOURCE_BASE,mxLanguage);mxUtils.getAll("1"!=urlParams.dev?[c]:[c,"dark"==uiTheme?STYLE_PATH+"/dark-default.xml":STYLE_PATH+"/default.xml"],function(c){mxResources.parse(c[0].getText());1<c.length&&(Graph.prototype.defaultThemes[Graph.prototype.defaultThemeName]=c[1].getDocumentElement());c=null!=b?b():new App(new Editor("0"==urlParams.chrome||"min"==uiTheme,null,null,null,"0"!=
-urlParams.chrome));if(null!=window.mxscript){if("function"===typeof window.DropboxClient&&null==window.Dropbox&&null!=window.DrawDropboxClientCallback&&("1"!=urlParams.embed&&"0"!=urlParams.db||"1"==urlParams.embed&&"1"==urlParams.db)&&isSvgBrowser&&(null==document.documentMode||9<document.documentMode))mxscript(App.DROPBOX_URL,function(){mxscript(App.DROPINS_URL,function(){DrawDropboxClientCallback()},"dropboxjs",App.DROPBOX_APPKEY)});else if("undefined"===typeof window.Dropbox||"undefined"===typeof window.Dropbox.choose)window.DropboxClient=
-null;"function"===typeof window.OneDriveClient&&"undefined"===typeof OneDrive&&null!=window.DrawOneDriveClientCallback&&("1"!=urlParams.embed&&"0"!=urlParams.od||"1"==urlParams.embed&&"1"==urlParams.od)&&(0>navigator.userAgent.indexOf("MSIE")||10<=document.documentMode)?mxscript(App.ONEDRIVE_URL,window.DrawOneDriveClientCallback):"undefined"===typeof window.OneDrive&&(window.OneDriveClient=null);"function"===typeof window.TrelloClient&&"undefined"===typeof window.Trello&&null!=window.DrawTrelloClientCallback&&
-("1"!=urlParams.embed&&"0"!=urlParams.tr||"1"==urlParams.embed&&"1"==urlParams.tr)&&(0>navigator.userAgent.indexOf("MSIE")||10<=document.documentMode)?mxscript(App.TRELLO_JQUERY_URL,function(){mxscript(App.TRELLO_URL,function(){DrawTrelloClientCallback()})}):"undefined"===typeof window.Trello&&(window.TrelloClient=null)}null!=a&&a(c);"0"!=urlParams.chrome&&"1"==urlParams.test&&(mxLog.show(),mxLog.debug("Started in "+((new Date).getTime()-t0.getTime())+"ms"),mxLog.debug("Export:",EXPORT_URL),mxLog.debug("Development mode:",
-"1"==urlParams.dev?"active":"inactive"),mxLog.debug("Test mode:","1"==urlParams.test?"active":"inactive"))},function(){document.getElementById("geStatus").innerHTML='Error loading page. <a href="javascript:void(0);" onclick="location.reload();">Please try refreshing.</a>'})};mxUtils.extend(App,EditorUi);App.prototype.defaultUserPicture="https://lh3.googleusercontent.com/-HIzvXUy6QUY/AAAAAAAAAAI/AAAAAAAAAAA/giuR7PQyjEk/photo.jpg?sz=30";App.prototype.shareImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowOTgwMTE3NDA3MjA2ODExODhDNkFGMDBEQkQ0RTgwOSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxMjU2NzdEMTcwRDIxMUUxQjc0MDkxRDhCNUQzOEFGRCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxMjU2NzdEMDcwRDIxMUUxQjc0MDkxRDhCNUQzOEFGRCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowNjgwMTE3NDA3MjA2ODExODcxRkM4MUY1OTFDMjQ5OCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowNzgwMTE3NDA3MjA2ODExODhDNkFGMDBEQkQ0RTgwOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PrM/fs0AAADgSURBVHjaYmDAA/7//88MwgzkAKDGFiD+BsQ/QWxSNaf9RwN37twpI8WAS+gGfP78+RpQSoRYA36iG/D379+vQClNdLVMOMz4gi7w79+/n0CKg1gD9qELvH379hzIHGK9oA508ieY8//8+fO5rq4uFCilRKwL1JmYmNhhHEZGRiZ+fn6Q2meEbDYG4u3/cYCfP38uA7kOm0ZOIJ7zn0jw48ePPiDFhmzArv8kgi9fvuwB+w5qwH9ykjswbFSZyM4sEMDPBDTlL5BxkFSd7969OwZ2BZKYGhDzkmjOJ4AAAwBhpRqGnEFb8QAAAABJRU5ErkJggg==";
+App.main=function(a,b){function d(c){mxUtils.getAll("1"!=urlParams.dev?[c]:[c,"dark"==uiTheme?STYLE_PATH+"/dark-default.xml":STYLE_PATH+"/default.xml"],function(c){mxResources.parse(c[0].getText());1<c.length&&(Graph.prototype.defaultThemes[Graph.prototype.defaultThemeName]=c[1].getDocumentElement());c=null!=b?b():new App(new Editor("0"==urlParams.chrome||"min"==uiTheme,null,null,null,"0"!=urlParams.chrome));if(null!=window.mxscript){if("function"===typeof window.DropboxClient&&null==window.Dropbox&&
+null!=window.DrawDropboxClientCallback&&("1"!=urlParams.embed&&"0"!=urlParams.db||"1"==urlParams.embed&&"1"==urlParams.db)&&isSvgBrowser&&(null==document.documentMode||9<document.documentMode))mxscript(App.DROPBOX_URL,function(){mxscript(App.DROPINS_URL,function(){DrawDropboxClientCallback()},"dropboxjs",App.DROPBOX_APPKEY)});else if("undefined"===typeof window.Dropbox||"undefined"===typeof window.Dropbox.choose)window.DropboxClient=null;"function"===typeof window.OneDriveClient&&"undefined"===typeof OneDrive&&
+null!=window.DrawOneDriveClientCallback&&("1"!=urlParams.embed&&"0"!=urlParams.od||"1"==urlParams.embed&&"1"==urlParams.od)&&(0>navigator.userAgent.indexOf("MSIE")||10<=document.documentMode)?mxscript(App.ONEDRIVE_URL,window.DrawOneDriveClientCallback):"undefined"===typeof window.OneDrive&&(window.OneDriveClient=null);"function"===typeof window.TrelloClient&&"undefined"===typeof window.Trello&&null!=window.DrawTrelloClientCallback&&("1"!=urlParams.embed&&"0"!=urlParams.tr||"1"==urlParams.embed&&"1"==
+urlParams.tr)&&(0>navigator.userAgent.indexOf("MSIE")||10<=document.documentMode)?mxscript(App.TRELLO_JQUERY_URL,function(){mxscript(App.TRELLO_URL,function(){DrawTrelloClientCallback()})}):"undefined"===typeof window.Trello&&(window.TrelloClient=null)}null!=a&&a(c);"0"!=urlParams.chrome&&"1"==urlParams.test&&(mxLog.show(),mxLog.debug("Started in "+((new Date).getTime()-t0.getTime())+"ms"),mxLog.debug("Export:",EXPORT_URL),mxLog.debug("Development mode:","1"==urlParams.dev?"active":"inactive"),mxLog.debug("Test mode:",
+"1"==urlParams.test?"active":"inactive"))},function(a){document.getElementById("geStatus").innerHTML='Error loading page. <a href="javascript:void(0);">Please try refreshing.</a>';document.getElementById("geStatus").getElementsByTagName("a")[0].onclick=function(){mxLanguage="en";d(mxResources.getDefaultBundle(RESOURCE_BASE,mxLanguage)||mxResources.getSpecialBundle(RESOURCE_BASE,mxLanguage))}})}var c=null;EditorUi.enableLogging&&(window.onerror=function(a,b,d,e,f){try{if(a!=c&&(null==a||null==b||-1==
+a.indexOf("Script error")&&-1==a.indexOf("extension"))&&null!=a&&0>a.indexOf("DocumentClosedError")){c=a;var g=new Image,h=0<=a.indexOf("NetworkError")||0<=a.indexOf("SecurityError")||0<=a.indexOf("NS_ERROR_FAILURE")||0<=a.indexOf("out of memory")?"CONFIG":"SEVERE";g.src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?severity="+h+"&v="+encodeURIComponent(EditorUi.VERSION)+"&msg=clientError:"+encodeURIComponent(a)+":url:"+encodeURIComponent(window.location.href)+":lnum:"+encodeURIComponent(d)+
+(null!=e?":colno:"+encodeURIComponent(e):"")+(null!=f&&null!=f.stack?"&stack="+encodeURIComponent(f.stack):"")}}catch(x){}});if(null!=window.mxscript){if("1"==urlParams.offline||"1"==urlParams.appcache){mxscript("js/shapes.min.js");mxscript("js/stencils.min.js");mxscript("js/extensions.min.js");var e=document.createElement("iframe");e.setAttribute("width","0");e.setAttribute("height","0");e.setAttribute("src","offline.html");document.body.appendChild(e)}if("0"!=urlParams.plugins&&"1"!=urlParams.offline){var e=
+mxSettings.getPlugins(),f=urlParams.p;App.initPluginCallback();if(null!=f){var h="";"1"==urlParams.drawdev&&(h=document.location.protocol+"//drawhost.jgraph.com/");for(var l=f.split(";"),f=0;f<l.length;f++){var m=App.pluginRegistry[l[f]];null!=m?mxscript(h+m):null!=window.console&&console.log("Unknown plugin:",l[f])}}else"0"==urlParams.chrome||EditorUi.isElectronApp||mxscript(App.FOOTER_PLUGIN_URL,null,null,null,mxClient.IS_SVG);if(null!=e&&0<e.length&&"0"!=urlParams.plugins){h=window.location.protocol+
+"//"+window.location.host;l=!0;for(f=0;f<e.length&&l;f++)"/"!=e[f].charAt(0)&&e[f].substring(0,h.length)!=h&&(l=!1);if(l||mxUtils.confirm(mxResources.replacePlaceholders("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",[e.join("\n")]).replace(/\\n/g,"\n")))for(f=0;f<e.length;f++)try{mxscript(e[f])}catch(g){}}}"function"===typeof window.DriveClient&&
+"undefined"===typeof gapi&&("1"!=urlParams.embed&&"0"!=urlParams.gapi||"1"==urlParams.embed&&"1"==urlParams.gapi)&&isSvgBrowser&&isLocalStorage&&(null==document.documentMode||10<=document.documentMode)?mxscript("https://apis.google.com/js/api.js?onload=DrawGapiClientCallback",null,null,null,mxClient.IS_SVG):"undefined"===typeof window.gapi&&(window.DriveClient=null)}"0"!=urlParams.math&&Editor.initMath();mxResources.loadDefaultBundle=!1;d(mxResources.getDefaultBundle(RESOURCE_BASE,mxLanguage)||mxResources.getSpecialBundle(RESOURCE_BASE,
+mxLanguage))};mxUtils.extend(App,EditorUi);App.prototype.defaultUserPicture="https://lh3.googleusercontent.com/-HIzvXUy6QUY/AAAAAAAAAAI/AAAAAAAAAAA/giuR7PQyjEk/photo.jpg?sz=30";App.prototype.shareImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowOTgwMTE3NDA3MjA2ODExODhDNkFGMDBEQkQ0RTgwOSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxMjU2NzdEMTcwRDIxMUUxQjc0MDkxRDhCNUQzOEFGRCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxMjU2NzdEMDcwRDIxMUUxQjc0MDkxRDhCNUQzOEFGRCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowNjgwMTE3NDA3MjA2ODExODcxRkM4MUY1OTFDMjQ5OCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowNzgwMTE3NDA3MjA2ODExODhDNkFGMDBEQkQ0RTgwOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PrM/fs0AAADgSURBVHjaYmDAA/7//88MwgzkAKDGFiD+BsQ/QWxSNaf9RwN37twpI8WAS+gGfP78+RpQSoRYA36iG/D379+vQClNdLVMOMz4gi7w79+/n0CKg1gD9qELvH379hzIHGK9oA508ieY8//8+fO5rq4uFCilRKwL1JmYmNhhHEZGRiZ+fn6Q2meEbDYG4u3/cYCfP38uA7kOm0ZOIJ7zn0jw48ePPiDFhmzArv8kgi9fvuwB+w5qwH9ykjswbFSZyM4sEMDPBDTlL5BxkFSd7969OwZ2BZKYGhDzkmjOJ4AAAwBhpRqGnEFb8QAAAABJRU5ErkJggg==";
App.prototype.chevronUpImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDg2NEE3NUY1MUVBMTFFM0I3MUVEMTc0N0YyOUI4QzEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDg2NEE3NjA1MUVBMTFFM0I3MUVEMTc0N0YyOUI4QzEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0ODY0QTc1RDUxRUExMUUzQjcxRUQxNzQ3RjI5QjhDMSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0ODY0QTc1RTUxRUExMUUzQjcxRUQxNzQ3RjI5QjhDMSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pg+qUokAAAAMUExURQAAANnZ2b+/v////5bgre4AAAAEdFJOU////wBAKqn0AAAAL0lEQVR42mJgRgMMRAswMKAKMDDARBjg8lARBoR6KImkH0wTbygT6YaS4DmAAAMAYPkClOEDDD0AAAAASUVORK5CYII=":
IMAGE_PATH+"/chevron-up.png";
App.prototype.chevronDownImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDg2NEE3NUI1MUVBMTFFM0I3MUVEMTc0N0YyOUI4QzEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDg2NEE3NUM1MUVBMTFFM0I3MUVEMTc0N0YyOUI4QzEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0ODY0QTc1OTUxRUExMUUzQjcxRUQxNzQ3RjI5QjhDMSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0ODY0QTc1QTUxRUExMUUzQjcxRUQxNzQ3RjI5QjhDMSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsCtve8AAAAMUExURQAAANnZ2b+/v////5bgre4AAAAEdFJOU////wBAKqn0AAAALUlEQVR42mJgRgMMRAkwQEXBNAOcBSPhclB1cNVwfcxI+vEZykSpoSR6DiDAAF23ApT99bZ+AAAAAElFTkSuQmCC":IMAGE_PATH+
@@ -7766,7 +7767,6 @@ App.prototype.addRecent=function(a){if(isLocalStorage&&null!=localStorage){var b
App.prototype.resetRecent=function(a){if(isLocalStorage&&null!=localStorage)try{localStorage.removeItem(".recent")}catch(b){}};App.prototype.removeDraft=function(){if(isLocalStorage&&null!=localStorage&&"0"==urlParams.splash)try{localStorage.removeItem(".draft")}catch(a){}};
App.prototype.onBeforeUnload=function(){if("1"==urlParams.embed&&this.editor.modified)return mxResources.get("allChangesLost");var a=this.getCurrentFile();if(null!=a)if(a.constructor!=LocalFile||""!=a.getHash()||a.isModified()||"1"==urlParams.nowarn||this.isDiagramEmpty()||null!=urlParams.url||this.editor.isChromelessView()){if((a.constructor!=DriveFile||null==a.realtime||a.realtime.saving)&&a.isModified())return mxResources.get("allChangesLost");a.close(!0)}else return mxResources.get("ensureDataSaved")};
App.prototype.updateDocumentTitle=function(){if(!this.editor.graph.isLightboxView()){var a=this.editor.appName,b=this.getCurrentFile();this.isOfflineApp()&&(a+=" app");null!=b&&(a=(null!=b.getTitle()?b.getTitle():this.defaultFilename)+" - "+a);document.title=a}};App.prototype.createCrcTable=function(){for(var a=[],b,d=0;256>d;d++){b=d;for(var c=0;8>c;c++)b=b&1?3988292384^b>>>1:b>>>1;a[d]=b}return a};
-App.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};
App.prototype.getThumbnail=function(a,b){var d=!1;try{null==this.thumbImageCache&&(this.thumbImageCache={});var c=this.editor.graph;if(null!=this.pages&&this.currentPage!=this.pages[0]){var c=this.createTemporaryGraph(c.getStylesheet()),e=c.getGlobalVariable,f=this.pages[0];c.getGlobalVariable=function(a){return"page"==a?f.getName():"pagenumber"==a?1:e.apply(this,arguments)};document.body.appendChild(c.container);c.model.setRoot(f.root)}if(mxClient.IS_CHROMEAPP||!c.mathEnabled&&this.useCanvasForExport)this.exportToCanvas(mxUtils.bind(this,
function(a){c!=this.editor.graph&&c.container.parentNode.removeChild(c.container);b(a)}),a,this.thumbImageCache,"#ffffff",function(){b()},null,null,null,null,null,null,c),d=!0;else if(this.canvasSupported&&null!=this.getCurrentFile()){var h=document.createElement("canvas"),l=c.getGraphBounds(),m=a/l.width,m=Math.min(1,Math.min(3*a/(4*l.height),m)),g=Math.floor(l.x),k=Math.floor(l.y);h.setAttribute("width",Math.ceil(m*(l.width+4)));h.setAttribute("height",Math.ceil(m*(l.height+4)));var n=h.getContext("2d");
n.scale(m,m);n.translate(-g,-k);var q=c.background;if(null==q||""==q||q==mxConstants.NONE)q="#ffffff";n.save();n.fillStyle=q;n.fillRect(g,k,Math.ceil(l.width+4),Math.ceil(l.height+4));n.restore();var t=new mxJsCanvas(h),p=new mxAsyncCanvas(this.thumbImageCache);t.images=this.thumbImageCache.images;var v=new mxImageExport;v.drawShape=function(a,b){a.shape instanceof mxShape&&a.shape.checkBounds()&&(b.save(),b.translate(.5,.5),a.shape.paint(b),b.translate(-.5,-.5),b.restore())};v.drawText=function(a,
@@ -7838,8 +7838,8 @@ App.prototype.getLibraryStorageHint=function(a){var b=a.getTitle();a.constructor
mxResources.get("browser")+")":a.constructor==LocalLibrary&&(b+=" ("+mxResources.get("device")+")");return b};
App.prototype.restoreLibraries=function(){if(null!=this.sidebar){null==this.pendingLibraries&&(this.pendingLibraries={});var a=mxUtils.bind(this,function(a){mxSettings.removeCustomLibrary(a);delete this.pendingLibraries[a]}),b=mxUtils.bind(this,function(b,c){var d=0,f=[],h=mxUtils.bind(this,function(){if(0==d){if(null!=b)for(var a=b.length-1;0<=a;a--)null!=f[a]&&this.loadLibrary(f[a]);null!=c&&c()}});if(null!=b)for(var l=0;l<b.length;l++){var m=encodeURIComponent(decodeURIComponent(b[l]));mxUtils.bind(this,
function(b,c){if(null!=b&&0<b.length&&null==this.pendingLibraries[b]&&null==this.sidebar.palettes[b]){d++;var e=mxUtils.bind(this,function(a){delete this.pendingLibraries[b];f[c]=a;d--;h()}),g=mxUtils.bind(this,function(){a(b);d--;h()});this.pendingLibraries[b]=!0;var k=b.substring(0,1);if("L"==k)(isLocalStorage||mxClient.IS_CHROMEAPP)&&window.setTimeout(mxUtils.bind(this,function(){try{var a=decodeURIComponent(b.substring(1));this.getLocalData(a,mxUtils.bind(this,function(b){".scratchpad"==a&&null==
-b&&(b=this.emptyLibraryXml);null!=b?e(new StorageLibrary(this,b,a)):g()}))}catch(z){g()}}),0);else if("U"==k){var l=decodeURIComponent(b.substring(1));if(!this.isOffline()){k=l;this.isCorsEnabledForUrl(k)||(k="t="+(new Date).getTime(),k=PROXY_URL+"?url="+encodeURIComponent(l)+"&"+k);try{mxUtils.get(k,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus())try{e(new UrlLibrary(this,a.getText(),l))}catch(z){g()}else g()}),function(){g()})}catch(x){g()}}}else{var m=null;"G"==k?null!=
-this.drive&&null!=this.drive.user&&(m=this.drive):"H"==k?null!=this.gitHub&&null!=this.gitHub.getUser()&&(m=this.gitHub):"T"==k?null!=this.trello&&this.trello.isAuthorized()&&(m=this.trello):"D"==k?null!=this.dropbox&&null!=this.dropbox.getUser()&&(m=this.dropbox):"W"==k&&null!=this.oneDrive&&null!=this.oneDrive.getUser()&&(m=this.oneDrive);null!=m?m.getLibrary(decodeURIComponent(b.substring(1)),mxUtils.bind(this,function(a){try{e(a)}catch(z){g()}}),function(a){g()}):(delete this.pendingLibraries[b],
+b&&(b=this.emptyLibraryXml);null!=b?e(new StorageLibrary(this,b,a)):g()}))}catch(A){g()}}),0);else if("U"==k){var l=decodeURIComponent(b.substring(1));if(!this.isOffline()){k=l;this.isCorsEnabledForUrl(k)||(k="t="+(new Date).getTime(),k=PROXY_URL+"?url="+encodeURIComponent(l)+"&"+k);try{mxUtils.get(k,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus())try{e(new UrlLibrary(this,a.getText(),l))}catch(A){g()}else g()}),function(){g()})}catch(x){g()}}}else{var m=null;"G"==k?null!=
+this.drive&&null!=this.drive.user&&(m=this.drive):"H"==k?null!=this.gitHub&&null!=this.gitHub.getUser()&&(m=this.gitHub):"T"==k?null!=this.trello&&this.trello.isAuthorized()&&(m=this.trello):"D"==k?null!=this.dropbox&&null!=this.dropbox.getUser()&&(m=this.dropbox):"W"==k&&null!=this.oneDrive&&null!=this.oneDrive.getUser()&&(m=this.oneDrive);null!=m?m.getLibrary(decodeURIComponent(b.substring(1)),mxUtils.bind(this,function(a){try{e(a)}catch(A){g()}}),function(a){g()}):(delete this.pendingLibraries[b],
g())}}})(m,l)}h()});b(mxSettings.getCustomLibraries(),function(){b((urlParams.clibs||"").split(";"))})}};
App.prototype.updateButtonContainer=function(){if(null!=this.buttonContainer){var a=this.getCurrentFile();null!=a&&a.constructor==DriveFile?null==this.shareButton&&(this.shareButton=document.createElement("div"),this.shareButton.className="geBtn gePrimaryBtn",this.shareButton.style.display="inline-block",this.shareButton.style.padding="0 10px 0 10px",this.shareButton.style.marginTop="-4px",this.shareButton.style.height="28px",this.shareButton.style.lineHeight="28px",this.shareButton.style.minWidth=
"0px",this.shareButton.style.cssFloat="right",a=document.createElement("img"),a.setAttribute("src",this.shareImage),a.setAttribute("align","absmiddle"),a.style.marginRight="4px",a.style.marginTop="-3px",this.shareButton.appendChild(a),mxUtils.write(this.shareButton,mxResources.get("share")),mxEvent.addListener(this.shareButton,"click",mxUtils.bind(this,function(){this.actions.get("share").funct()})),this.buttonContainer.appendChild(this.shareButton)):null!=this.shareButton&&(this.shareButton.parentNode.removeChild(this.shareButton),
@@ -7898,14 +7898,14 @@ arguments);var a=this.editorUi,d=a.editor.graph,f=mxUtils.bind(d,d.isEnabled),h=
a.exportSvg(b/100,d,c,e,f,g,h,!k,l)}),!0,null,"svg")}));a.actions.put("exportXml",new Action(mxResources.get("formatXml")+"...",function(){var b=document.createElement("div");b.style.whiteSpace="nowrap";var c=null==a.pages||1>=a.pages.length,e=document.createElement("h3");mxUtils.write(e,mxResources.get("formatXml"));e.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";b.appendChild(e);var f=a.addCheckbox(b,mxResources.get("selectionOnly"),!1,d.isSelectionEmpty()),g=a.addCheckbox(b,
mxResources.get(c?"compressed":"allPages"),!0);g.style.marginBottom="16px";mxEvent.addListener(f,"change",function(){f.checked?g.setAttribute("disabled","disabled"):g.removeAttribute("disabled")});b=new CustomDialog(a,b,mxUtils.bind(this,function(){a.downloadFile("xml",c?!g.checked:null,null,!f.checked,c?null:!g.checked)}),null,mxResources.get("export"));a.showDialog(b.container,300,146,!0,!0)}));a.actions.put("exportUrl",new Action(mxResources.get("url")+"...",function(){a.showPublishLinkDialog(mxResources.get("url"),
!0,null,null,function(b,d,c,e,f,g){b=new EmbedDialog(a,a.createLink(b,d,c,e,f,g,null,!0));a.showDialog(b.container,440,240,!0,!0);b.init()})}));a.actions.put("exportHtml",new Action(mxResources.get("formatHtmlEmbedded")+"...",function(){a.spinner.spin(document.body,mxResources.get("loading"))&&a.getPublicUrl(a.getCurrentFile(),function(b){a.spinner.stop();a.showHtmlDialog(mxResources.get("export"),null,b,function(b,d,c,e,f,g,h,k,l,m){a.createHtml(b,d,c,e,f,g,h,k,l,m,mxUtils.bind(this,function(b,d){var c=
-a.getBaseFilename(),e='\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n<!DOCTYPE html>\n<html>\n<head>\n<title>'+mxUtils.htmlEntities(c)+'</title>\n<meta charset="utf-8"/>\n</head>\n<body>'+b+"\n"+d+"\n</body>\n</html>";a.saveData(c+".html","html",e,"text/html")}))})})}));a.actions.put("exportPdf",new Action(mxResources.get("formatPdf")+"...",function(){if(a.isOffline()||a.printPdfExport)a.showDialog((new PrintDialog(a,mxResources.get("formatPdf"))).container,
+a.getBaseFilename(h),e='\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n<!DOCTYPE html>\n<html>\n<head>\n<title>'+mxUtils.htmlEntities(c)+'</title>\n<meta charset="utf-8"/>\n</head>\n<body>'+b+"\n"+d+"\n</body>\n</html>";a.saveData(c+".html","html",e,"text/html")}))})})}));a.actions.put("exportPdf",new Action(mxResources.get("formatPdf")+"...",function(){if(a.isOffline()||a.printPdfExport)a.showDialog((new PrintDialog(a,mxResources.get("formatPdf"))).container,
360,null!=a.pages&&1<a.pages.length?420:360,!0,!0);else{var b=document.createElement("div");b.style.whiteSpace="nowrap";var c=document.createElement("h3");mxUtils.write(c,mxResources.get("formatPdf"));c.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";b.appendChild(c);var e=a.addCheckbox(b,mxResources.get("selectionOnly"),!1,d.isSelectionEmpty()),f=a.addCheckbox(b,mxResources.get("crop"),!d.pageVisible||!a.pdfPageExport,!a.pdfPageExport);f.style.marginBottom="16px";a.pdfPageExport||
-mxEvent.addListener(e,"change",function(){e.checked?f.removeAttribute("disabled"):f.setAttribute("disabled","disabled")});b=new CustomDialog(a,b,mxUtils.bind(this,function(){a.downloadFile("pdf",null,null,!e.checked,null,!f.checked)}),null,mxResources.get("export"));a.showDialog(b.container,300,146,!0,!0)}}));a.actions.addAction("open...",function(){a.pickFile()});a.actions.addAction("close",function(){function b(){a.fileLoaded(null)}var c=a.getCurrentFile();null!=c&&c.isModified()?a.confirm(mxResources.get("allChangesLost"),
+mxEvent.addListener(e,"change",function(){e.checked?f.removeAttribute("disabled"):f.setAttribute("disabled","disabled")});b=new CustomDialog(a,b,mxUtils.bind(this,function(){a.downloadFile("pdf",null,null,!e.checked,null,!f.checked)}),null,mxResources.get("export"));a.showDialog(b.container,300,146,!0,!0)}}));a.actions.addAction("open...",function(){a.pickFile()});a.actions.addAction("close",function(){function b(){a.fileLoaded(null)}var d=a.getCurrentFile();null!=d&&d.isModified()?a.confirm(mxResources.get("allChangesLost"),
null,b,mxResources.get("cancel"),mxResources.get("discardChanges")):b()});a.actions.addAction("editShape...",mxUtils.bind(this,function(){d.getSelectionCells();if(1==d.getSelectionCount()){var b=d.getSelectionCell(),c=d.view.getState(b);null!=c&&null!=c.shape&&null!=c.shape.stencil&&(b=new EditShapeDialog(a,b,mxResources.get("editShape")+":",630,400),a.showDialog(b.container,640,480,!0,!1),b.init())}}));a.actions.addAction("revisionHistory...",function(){var b=a.getCurrentFile();if(null==b||b.constructor!=
-DriveFile&&b.constructor!=DropboxFile||null==a.drive&&b.constructor==DriveFile||null==a.dropbox&&b.constructor==DropboxFile)a.showError(mxResources.get("error"),mxResources.get("notAvailable"),mxResources.get("ok"));else if(a.spinner.spin(document.body,mxResources.get("loading")))if(b.constructor==DropboxFile){var c=a.dropbox.client.filesListRevisions({path:b.stat.path_lower,limit:100});c.then(mxUtils.bind(this,function(c){a.spinner.stop();try{for(var d=[],e=c.entries.length-1;0<=e;e--)(function(c){d.push({modifiedDate:c.client_modified,
-fileSize:c.size,getXml:function(d,e){a.dropbox.readFile({path:b.stat.path_lower,rev:c.rev},d,e)},getUrl:function(){return a.getUrl(window.location.pathname+"?rev="+c.rev+"&chrome=0&edit=_blank")+window.location.hash}})})(c.entries[e]);var f=new RevisionDialog(a,d);a.showDialog(f.container,640,480,!0,!0);f.init()}catch(A){a.handleError(A)}}));c["catch"](function(b){a.spinner.stop();a.handleError(b)})}else a.drive.executeRequest(gapi.client.drive.revisions.list({fileId:b.getId()}),function(c){a.spinner.stop();
-for(var d=0;d<c.items.length;d++)(function(d){d.getXml=function(e,f){a.drive.executeRequest(gapi.client.drive.revisions.get({fileId:b.getId(),revisionId:c.items[c.items.length-1]===d?b.desc.headRevisionId:d.id}),function(b){a.drive.getXmlFile(b,null,function(a){e(a.getData())},function(a){f(a)})},function(a){f(a)})};d.getUrl=function(){return a.getUrl(window.location.pathname+"?rev="+d.id+"&chrome=0&edit=_blank")+window.location.hash}})(c.items[d]);d=new RevisionDialog(a,c.items);a.showDialog(d.container,
-640,480,!0,!0);d.init()},function(b){a.spinner.stop();a.handleError(b)})});a.actions.addAction("createRevision",function(){a.actions.get("save").funct()},null,null,Editor.ctrlKey+"+S");a.actions.addAction("upload...",function(){var b=a.getCurrentFile();null!=b&&(window.drawdata=a.getFileData(),b=null!=b.getTitle()?b.getTitle():a.defaultFilename,a.openLink(window.location.protocol+"//"+window.location.host+"/?create=drawdata&"+(a.mode==App.MODE_DROPBOX?"mode=dropbox&":"")+"title="+encodeURIComponent(b)))});
+DriveFile&&b.constructor!=DropboxFile||null==a.drive&&b.constructor==DriveFile||null==a.dropbox&&b.constructor==DropboxFile)a.showError(mxResources.get("error"),mxResources.get("notAvailable"),mxResources.get("ok"));else if(a.spinner.spin(document.body,mxResources.get("loading")))if(b.constructor==DropboxFile){var d=a.dropbox.client.filesListRevisions({path:b.stat.path_lower,limit:100});d.then(mxUtils.bind(this,function(d){a.spinner.stop();try{for(var c=[],e=d.entries.length-1;0<=e;e--)(function(d){c.push({modifiedDate:d.client_modified,
+fileSize:d.size,getXml:function(c,e){a.dropbox.readFile({path:b.stat.path_lower,rev:d.rev},c,e)},getUrl:function(){return a.getUrl(window.location.pathname+"?rev="+d.rev+"&chrome=0&edit=_blank")+window.location.hash}})})(d.entries[e]);var f=new RevisionDialog(a,c);a.showDialog(f.container,640,480,!0,!0);f.init()}catch(z){a.handleError(z)}}));d["catch"](function(b){a.spinner.stop();a.handleError(b)})}else a.drive.executeRequest(gapi.client.drive.revisions.list({fileId:b.getId()}),function(d){a.spinner.stop();
+for(var c=0;c<d.items.length;c++)(function(c){c.getXml=function(e,f){a.drive.executeRequest(gapi.client.drive.revisions.get({fileId:b.getId(),revisionId:d.items[d.items.length-1]===c?b.desc.headRevisionId:c.id}),function(b){a.drive.getXmlFile(b,null,function(a){e(a.getData())},function(a){f(a)})},function(a){f(a)})};c.getUrl=function(){return a.getUrl(window.location.pathname+"?rev="+c.id+"&chrome=0&edit=_blank")+window.location.hash}})(d.items[c]);c=new RevisionDialog(a,d.items);a.showDialog(c.container,
+640,480,!0,!0);c.init()},function(b){a.spinner.stop();a.handleError(b)})});a.actions.addAction("createRevision",function(){a.actions.get("save").funct()},null,null,Editor.ctrlKey+"+S");a.actions.addAction("upload...",function(){var b=a.getCurrentFile();null!=b&&(window.drawdata=a.getFileData(),b=null!=b.getTitle()?b.getTitle():a.defaultFilename,a.openLink(window.location.protocol+"//"+window.location.host+"/?create=drawdata&"+(a.mode==App.MODE_DROPBOX?"mode=dropbox&":"")+"title="+encodeURIComponent(b)))});
if("undefined"!==typeof MathJax){var k=a.actions.addAction("mathematicalTypesetting",function(){var b=new ChangePageSetup(a);b.ignoreColor=!0;b.ignoreImage=!0;b.mathEnabled=!a.isMathEnabled();d.model.execute(b)});k.setToggleAction(!0);k.setSelectedCallback(function(){return a.isMathEnabled()});k.isEnabled=f}isLocalStorage&&(k=a.actions.addAction("showStartScreen",function(){mxSettings.setShowStartScreen(!mxSettings.getShowStartScreen());mxSettings.save()}),k.setToggleAction(!0),k.setSelectedCallback(function(){return mxSettings.getShowStartScreen()}));
var n=a.actions.addAction("autosave",function(){a.editor.setAutosave(!a.editor.autosave)});n.setToggleAction(!0);n.setSelectedCallback(function(){return n.isEnabled()&&a.editor.autosave});a.actions.addAction("editGeometry...",function(){for(var b=d.getSelectionCells(),c=[],e=0;e<b.length;e++)d.getModel().isVertex(b[e])&&c.push(b[e]);0<c.length&&(b=new EditGeometryDialog(a,c),a.showDialog(b.container,180,180,!0,!0),b.init())},null,null,Editor.ctrlKey+"+Shift+M");var q="rounded shadow dashed dashPattern fontFamily fontSize fontColor fontStyle align verticalAlign strokeColor strokeWidth fillColor gradientColor swimlaneFillColor textOpacity gradientDirection glass labelBackgroundColor labelBorderColor opacity spacing spacingTop spacingLeft spacingBottom spacingRight endFill endArrow endSize startStill startArrow startSize arcSize".split(" ");
a.actions.addAction("copyStyle",function(){var b=d.view.getState(d.getSelectionCell());if(d.isEnabled()&&null!=b){a.copiedStyle=mxUtils.clone(b.style);for(var b=d.getModel().getStyle(b.cell),b=null!=b?b.split(";"):[],c=0;c<b.length;c++){var e=b[c],f=e.indexOf("=");if(0<=f){var g=e.substring(0,f),e=e.substring(f+1);null==a.copiedStyle[g]&&"none"==e&&(a.copiedStyle[g]="none")}}}},null,null,Editor.ctrlKey+"+Shift+C");a.actions.addAction("pasteStyle",function(){if(d.isEnabled()&&!d.isSelectionEmpty()&&
@@ -7954,34 +7954,34 @@ c,null,!1);null!=a.oneDrive?b.addItem(mxResources.get("oneDrive")+"...",null,fun
"...",null,function(){e(!1)},c);mxClient.IS_IOS||b.addItem(mxResources.get("device")+"...",null,function(){e(!0)},c);a.isOffline()||(b.addSeparator(c),b.addItem(mxResources.get("url")+"...",null,function(){var b=new FilenameDialog(a,"",mxResources.get("import"),function(b){if(null!=b&&0<b.length&&a.spinner.spin(document.body,mxResources.get("loading"))){var c=/(\.png)($|\?)/i.test(b)?"image/png":"text/xml";a.loadUrl(PROXY_URL+"?url="+encodeURIComponent(b),function(a){k(a,c,b)},function(){a.spinner.stop();
a.handleError(null,mxResources.get("errorLoadingFile"))},"image/png"==c)}},mxResources.get("url"));a.showDialog(b.container,300,80,!0,!0);b.init()},c));a.showCsvImport&&b.addItem(mxResources.get("csv")+"...",null,function(){a.showImportCsvDialog()},c)})).isEnabled=f;this.put("theme",new Menu(mxUtils.bind(this,function(b,c){var d=b.addItem(mxResources.get("kennedy"),null,function(){mxSettings.setUi("");mxSettings.save();a.alert(mxResources.get("restartForChangeRequired"))},c);"atlas"!=uiTheme&&"dark"!=
uiTheme&&"min"!=uiTheme&&b.addCheckmark(d,Editor.checkmarkImage);d=b.addItem(mxResources.get("minimal"),null,function(){mxSettings.setUi("min");mxSettings.save();a.alert(mxResources.get("restartForChangeRequired"))},c);"min"==uiTheme&&b.addCheckmark(d,Editor.checkmarkImage);d=b.addItem(mxResources.get("atlas"),null,function(){mxSettings.setUi("atlas");mxSettings.save();a.alert(mxResources.get("restartForChangeRequired"))},c);"atlas"==uiTheme&&b.addCheckmark(d,Editor.checkmarkImage);d=b.addItem(mxResources.get("dark"),
-null,function(){mxSettings.setUi("dark");mxSettings.save();a.alert(mxResources.get("restartForChangeRequired"))},c);"dark"==uiTheme&&b.addCheckmark(d,Editor.checkmarkImage)})));this.editorUi.actions.addAction("rename...",mxUtils.bind(this,function(){var b=this.editorUi.getCurrentFile();if(null!=b){var c=null!=b.getTitle()?b.getTitle():this.editorUi.defaultFilename,c=new FilenameDialog(this.editorUi,c,mxResources.get("rename"),mxUtils.bind(this,function(a){null!=a&&0<a.length&&null!=b&&this.editorUi.spinner.spin(document.body,
+null,function(){mxSettings.setUi("dark");mxSettings.save();a.alert(mxResources.get("restartForChangeRequired"))},c);"dark"==uiTheme&&b.addCheckmark(d,Editor.checkmarkImage)})));k=this.editorUi.actions.addAction("rename...",mxUtils.bind(this,function(){var b=this.editorUi.getCurrentFile();if(null!=b){var c=null!=b.getTitle()?b.getTitle():this.editorUi.defaultFilename,c=new FilenameDialog(this.editorUi,c,mxResources.get("rename"),mxUtils.bind(this,function(a){null!=a&&0<a.length&&null!=b&&this.editorUi.spinner.spin(document.body,
mxResources.get("renaming"))&&b.rename(a,mxUtils.bind(this,function(a){this.editorUi.spinner.stop()}),mxUtils.bind(this,function(a){this.editorUi.handleError(a,null!=a?mxResources.get("errorRenamingFile"):null)}))}),b.constructor==DriveFile||b.constructor==StorageFile?mxResources.get("diagramName"):null,function(b){if(null!=b&&0<b.length)return!0;a.showError(mxResources.get("error"),mxResources.get("invalidName"),mxResources.get("ok"));return!1});this.editorUi.showDialog(c.container,300,80,!0,!0);
-c.init()}})).isEnabled=function(){return this.enabled&&f.apply(this,arguments)};a.actions.addAction("makeCopy...",mxUtils.bind(this,function(){var b=a.getCurrentFile();if(null!=b){var c=null!=b.getTitle()?b.getTitle():a.defaultFilename,d="",e=c.lastIndexOf(".");0<=e&&(d=c.substring(e),c=c.substring(0,e));c=mxResources.get("copyOf",[c])+d;b.constructor==DriveFile?(c=new CreateDialog(a,c,mxUtils.bind(this,function(c,d){"download"==d&&(d=App.MODE_GOOGLE);null!=c&&0<c.length&&(d==App.MODE_GOOGLE?a.spinner.spin(document.body,
-mxResources.get("saving"))&&b.save(!1,mxUtils.bind(this,function(){b.saveAs(c,mxUtils.bind(this,function(b){a.spinner.stop();var c=a.getUrl();window.openWindow(c+"#G"+b.id,null,mxUtils.bind(this,function(){window.location.hash="G"+b.id}))}),mxUtils.bind(this,function(b){a.handleError(b)}))}),mxUtils.bind(this,function(b){a.handleError(b)})):this.editorUi.createFile(c,this.editorUi.getFileData(!0),null,d))}),mxUtils.bind(this,function(){a.hideDialog()}),mxResources.get("makeCopy"),mxResources.get("create"),
-null,null,null,null,!0),a.showDialog(c.container,420,380,!0,!0),c.init()):a.editor.editAsNew(this.editorUi.getFileData(!0),c)}}));a.actions.addAction("moveToFolder...",mxUtils.bind(this,function(){var b=a.getCurrentFile();b.getMode()!=App.MODE_GOOGLE&&b.getMode()!=App.MODE_ONEDRIVE||a.pickFolder(b.getMode(),mxUtils.bind(this,function(c){a.spinner.spin(document.body,mxResources.get("moving"))&&b.move(c,mxUtils.bind(this,function(b){a.spinner.stop()}),mxUtils.bind(this,function(b){a.handleError(b)}))}))}));
-this.put("publish",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,["publishLink"],b)})));a.actions.put("offline",new Action(mxResources.get("offline")+"...",function(){a.openLink("https://www.draw.io/app")}));a.actions.put("download",new Action(mxResources.get("download")+"...",function(){a.openLink("https://download.draw.io")}));this.editorUi.actions.addAction("share...",mxUtils.bind(this,function(){var a=this.editorUi.getCurrentFile();null!=a&&this.editorUi.drive.showPermissions(a.getId())}));
-this.put("embed",new Menu(mxUtils.bind(this,function(b,c){"1"==urlParams.test&&this.addMenuItems(b,["liveImage","-"],c);this.addMenuItems(b,["embedImage","embedSvg","-","embedHtml"],c);navigator.standalone||a.isOffline()||this.addMenuItems(b,["embedIframe"],c);a.isOffline()||this.addMenuItems(b,["-","googleSites","googleDocs"],c)})));var v="horizontalFlow verticalFlow - horizontalTree verticalTree radialTree - organic circle - fromText plantUml formatSql".split(" "),x=function(b,c,d,e){("plantUml"!=
-e||EditorUi.enablePlantUml)&&b.addItem(d,null,mxUtils.bind(this,function(){if("fromText"==e||"formatSql"==e||"plantUml"==e){var b=new ParseDialog(a,d,e);a.showDialog(b.container,620,420,!0,!1);a.dialog.container.style.overflow="auto"}else b=new CreateGraphDialog(a,d,e),a.showDialog(b.container,620,420,!0,!1);b.init()}),c)},z=function(a,b,c,e){var f=d.isMouseInsertPoint()?d.getInsertPoint():d.getFreeInsertPoint();a=new mxCell(a,new mxGeometry(f.x,f.y,b,c),e);a.vertex=!0;d.getModel().beginUpdate();
-try{a=d.addCell(a),d.fireEvent(new mxEventObject("cellsInserted","cells",[a]))}finally{d.getModel().endUpdate()}d.scrollCellToVisible(a);d.setSelectionCell(a);d.container.focus();d.editAfterInsert&&d.startEditing(a);return a};a.actions.addAction("insertText",function(){d.isEnabled()&&!d.isCellLocked(d.getDefaultParent())&&d.startEditingAtCell(z("Text",40,20,"text;html=1;resizable=0;autosize=1;align=center;verticalAlign=middle;points=[];fillColor=none;strokeColor=none;rounded=0;"))},null,null,Editor.ctrlKey+
-"+Shift+X").isEnabled=f;a.actions.addAction("insertRectangle",function(){d.isEnabled()&&!d.isCellLocked(d.getDefaultParent())&&z("",120,60,"whiteSpace=wrap;html=1;")},null,null,Editor.ctrlKey+"+K").isEnabled=f;a.actions.addAction("insertEllipse",function(){d.isEnabled()&&!d.isCellLocked(d.getDefaultParent())&&z("",80,80,"ellipse;whiteSpace=wrap;html=1;")},null,null,Editor.ctrlKey+"+Shift+K").isEnabled=f;a.actions.addAction("insertRhombus",function(){d.isEnabled()&&!d.isCellLocked(d.getDefaultParent())&&
-z("",80,80,"rhombus;whiteSpace=wrap;html=1;")}).isEnabled=f;this.put("insert",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,"insertText insertRectangle - insertEllipse insertRhombus - insertLink insertImage".split(" "),b);a.addSeparator(b);for(var c=0;c<v.length;c++)"-"==v[c]?a.addSeparator(b):x(a,b,mxResources.get(v[c])+"...",v[c])})));this.put("openRecent",new Menu(function(b,c){var d=a.getRecent();if(null!=d){for(var e=0;e<d.length;e++)(function(d){var e=d.mode;e==App.MODE_GOOGLE?
+c.init()}}));k.isEnabled=function(){return this.enabled&&f.apply(this,arguments)};k.visible="1"!=urlParams.embed;a.actions.addAction("makeCopy...",mxUtils.bind(this,function(){var b=a.getCurrentFile();if(null!=b){var c=null!=b.getTitle()?b.getTitle():a.defaultFilename,d="",e=c.lastIndexOf(".");0<=e&&(d=c.substring(e),c=c.substring(0,e));c=mxResources.get("copyOf",[c])+d;b.constructor==DriveFile?(c=new CreateDialog(a,c,mxUtils.bind(this,function(c,d){"download"==d&&(d=App.MODE_GOOGLE);null!=c&&0<c.length&&
+(d==App.MODE_GOOGLE?a.spinner.spin(document.body,mxResources.get("saving"))&&b.save(!1,mxUtils.bind(this,function(){b.saveAs(c,mxUtils.bind(this,function(b){a.spinner.stop();var c=a.getUrl();window.openWindow(c+"#G"+b.id,null,mxUtils.bind(this,function(){window.location.hash="G"+b.id}))}),mxUtils.bind(this,function(b){a.handleError(b)}))}),mxUtils.bind(this,function(b){a.handleError(b)})):this.editorUi.createFile(c,this.editorUi.getFileData(!0),null,d))}),mxUtils.bind(this,function(){a.hideDialog()}),
+mxResources.get("makeCopy"),mxResources.get("create"),null,null,null,null,!0),a.showDialog(c.container,420,380,!0,!0),c.init()):a.editor.editAsNew(this.editorUi.getFileData(!0),c)}}));a.actions.addAction("moveToFolder...",mxUtils.bind(this,function(){var b=a.getCurrentFile();b.getMode()!=App.MODE_GOOGLE&&b.getMode()!=App.MODE_ONEDRIVE||a.pickFolder(b.getMode(),mxUtils.bind(this,function(c){a.spinner.spin(document.body,mxResources.get("moving"))&&b.move(c,mxUtils.bind(this,function(b){a.spinner.stop()}),
+mxUtils.bind(this,function(b){a.handleError(b)}))}))}));this.put("publish",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,["publishLink"],b)})));a.actions.put("offline",new Action(mxResources.get("offline")+"...",function(){a.openLink("https://www.draw.io/app")}));a.actions.put("download",new Action(mxResources.get("download")+"...",function(){a.openLink("https://download.draw.io")}));this.editorUi.actions.addAction("share...",mxUtils.bind(this,function(){var a=this.editorUi.getCurrentFile();
+null!=a&&this.editorUi.drive.showPermissions(a.getId())}));this.put("embed",new Menu(mxUtils.bind(this,function(b,c){"1"==urlParams.test&&this.addMenuItems(b,["liveImage","-"],c);this.addMenuItems(b,["embedImage","embedSvg","-","embedHtml"],c);navigator.standalone||a.isOffline()||this.addMenuItems(b,["embedIframe"],c);a.isOffline()||this.addMenuItems(b,["-","googleSites","googleDocs"],c)})));var v="horizontalFlow verticalFlow - horizontalTree verticalTree radialTree - organic circle - fromText plantUml formatSql".split(" "),
+x=function(b,c,d,e){("plantUml"!=e||EditorUi.enablePlantUml)&&b.addItem(d,null,mxUtils.bind(this,function(){if("fromText"==e||"formatSql"==e||"plantUml"==e){var b=new ParseDialog(a,d,e);a.showDialog(b.container,620,420,!0,!1);a.dialog.container.style.overflow="auto"}else b=new CreateGraphDialog(a,d,e),a.showDialog(b.container,620,420,!0,!1);b.init()}),c)},A=function(a,b,c,e){var f=d.isMouseInsertPoint()?d.getInsertPoint():d.getFreeInsertPoint();a=new mxCell(a,new mxGeometry(f.x,f.y,b,c),e);a.vertex=
+!0;d.getModel().beginUpdate();try{a=d.addCell(a),d.fireEvent(new mxEventObject("cellsInserted","cells",[a]))}finally{d.getModel().endUpdate()}d.scrollCellToVisible(a);d.setSelectionCell(a);d.container.focus();d.editAfterInsert&&d.startEditing(a);return a};a.actions.addAction("insertText",function(){d.isEnabled()&&!d.isCellLocked(d.getDefaultParent())&&d.startEditingAtCell(A("Text",40,20,"text;html=1;resizable=0;autosize=1;align=center;verticalAlign=middle;points=[];fillColor=none;strokeColor=none;rounded=0;"))},
+null,null,Editor.ctrlKey+"+Shift+X").isEnabled=f;a.actions.addAction("insertRectangle",function(){d.isEnabled()&&!d.isCellLocked(d.getDefaultParent())&&A("",120,60,"whiteSpace=wrap;html=1;")},null,null,Editor.ctrlKey+"+K").isEnabled=f;a.actions.addAction("insertEllipse",function(){d.isEnabled()&&!d.isCellLocked(d.getDefaultParent())&&A("",80,80,"ellipse;whiteSpace=wrap;html=1;")},null,null,Editor.ctrlKey+"+Shift+K").isEnabled=f;a.actions.addAction("insertRhombus",function(){d.isEnabled()&&!d.isCellLocked(d.getDefaultParent())&&
+A("",80,80,"rhombus;whiteSpace=wrap;html=1;")}).isEnabled=f;this.put("insert",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,"insertText insertRectangle - insertEllipse insertRhombus - insertLink insertImage".split(" "),b);a.addSeparator(b);for(var c=0;c<v.length;c++)"-"==v[c]?a.addSeparator(b):x(a,b,mxResources.get(v[c])+"...",v[c])})));this.put("openRecent",new Menu(function(b,c){var d=a.getRecent();if(null!=d){for(var e=0;e<d.length;e++)(function(d){var e=d.mode;e==App.MODE_GOOGLE?
e="googleDrive":e==App.MODE_ONEDRIVE&&(e="oneDrive");b.addItem(d.title+" ("+mxResources.get(e)+")",null,function(){a.loadFile(d.id)},c)})(d[e]);b.addSeparator(c)}b.addItem(mxResources.get("reset"),null,function(){a.resetRecent()},c)}));this.put("openFrom",new Menu(function(b,c){null!=a.drive?b.addItem(mxResources.get("googleDrive")+"...",null,function(){a.pickFile(App.MODE_GOOGLE)},c):h&&b.addItem(mxResources.get("googleDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);null!=
a.gitHub&&b.addItem(mxResources.get("github")+"...",null,function(){a.pickFile(App.MODE_GITHUB)},c);null!=a.dropbox?b.addItem(mxResources.get("dropbox")+"...",null,function(){a.pickFile(App.MODE_DROPBOX)},c):l&&b.addItem(mxResources.get("dropbox")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);null!=a.oneDrive?b.addItem(mxResources.get("oneDrive")+"...",null,function(){a.pickFile(App.MODE_ONEDRIVE)},c):m&&b.addItem(mxResources.get("oneDrive")+" ("+mxResources.get("loading")+"...)",
null,function(){},c,null,!1);null!=a.trello?b.addItem(mxResources.get("trello")+"...",null,function(){a.pickFile(App.MODE_TRELLO)},c):g&&b.addItem(mxResources.get("trello")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);b.addSeparator(c);isLocalStorage&&"0"!=urlParams.browser&&b.addItem(mxResources.get("browser")+"...",null,function(){a.pickFile(App.MODE_BROWSER)},c);mxClient.IS_IOS||b.addItem(mxResources.get("device")+"...",null,function(){a.pickFile(App.MODE_DEVICE)},c);a.isOffline()||
-(b.addSeparator(c),b.addItem(mxResources.get("url")+"...",null,function(){var b=new FilenameDialog(a,"",mxResources.get("open"),function(b){null!=b&&0<b.length&&(null==a.getCurrentFile()?window.location.hash="#U"+encodeURIComponent(b):window.openWindow((mxClient.IS_CHROMEAPP?"https://www.draw.io/":"https://"+location.host+"/")+window.location.search+"#U"+encodeURIComponent(b)))},mxResources.get("url"));a.showDialog(b.container,300,80,!0,!0);b.init()},c))}));this.put("newLibrary",new Menu(function(b,
-c){"undefined"!=typeof google&&"undefined"!=typeof google.picker&&(null!=a.drive?b.addItem(mxResources.get("googleDrive")+"...",null,function(){a.showLibraryDialog(null,null,null,null,App.MODE_GOOGLE)},c):h&&b.addItem(mxResources.get("googleDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1));null!=a.gitHub&&b.addItem(mxResources.get("github")+"...",null,function(){a.showLibraryDialog(null,null,null,null,App.MODE_GITHUB)},c);null!=a.dropbox?b.addItem(mxResources.get("dropbox")+
+(b.addSeparator(c),b.addItem(mxResources.get("url")+"...",null,function(){var b=new FilenameDialog(a,"",mxResources.get("open"),function(b){null!=b&&0<b.length&&(null==a.getCurrentFile()?window.location.hash="#U"+encodeURIComponent(b):window.openWindow((mxClient.IS_CHROMEAPP?"https://www.draw.io/":"https://"+location.host+"/")+window.location.search+"#U"+encodeURIComponent(b)))},mxResources.get("url"));a.showDialog(b.container,300,80,!0,!0);b.init()},c))}));Editor.enableCustomLibraries&&(this.put("newLibrary",
+new Menu(function(b,c){"undefined"!=typeof google&&"undefined"!=typeof google.picker&&(null!=a.drive?b.addItem(mxResources.get("googleDrive")+"...",null,function(){a.showLibraryDialog(null,null,null,null,App.MODE_GOOGLE)},c):h&&b.addItem(mxResources.get("googleDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1));null!=a.gitHub&&b.addItem(mxResources.get("github")+"...",null,function(){a.showLibraryDialog(null,null,null,null,App.MODE_GITHUB)},c);null!=a.dropbox?b.addItem(mxResources.get("dropbox")+
"...",null,function(){a.showLibraryDialog(null,null,null,null,App.MODE_DROPBOX)},c):l&&b.addItem(mxResources.get("dropbox")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);null!=a.oneDrive?b.addItem(mxResources.get("oneDrive")+"...",null,function(){a.showLibraryDialog(null,null,null,null,App.MODE_ONEDRIVE)},c):m&&b.addItem(mxResources.get("oneDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);null!=a.trello?b.addItem(mxResources.get("trello")+"...",null,
-function(){a.showLibraryDialog(null,null,null,null,App.MODE_TRELLO)},c):g&&b.addItem(mxResources.get("trello")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);b.addSeparator(c);isLocalStorage&&"0"!=urlParams.browser&&b.addItem(mxResources.get("browser")+"...",null,function(){a.showLibraryDialog(null,null,null,null,App.MODE_BROWSER)},c);mxClient.IS_IOS||b.addItem(mxResources.get("device")+"...",null,function(){a.showLibraryDialog(null,null,null,null,App.MODE_DEVICE)},c)}));this.put("openLibraryFrom",
+function(){a.showLibraryDialog(null,null,null,null,App.MODE_TRELLO)},c):g&&b.addItem(mxResources.get("trello")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);b.addSeparator(c);isLocalStorage&&"0"!=urlParams.browser&&b.addItem(mxResources.get("browser")+"...",null,function(){a.showLibraryDialog(null,null,null,null,App.MODE_BROWSER)},c);mxClient.IS_IOS||b.addItem(mxResources.get("device")+"...",null,function(){a.showLibraryDialog(null,null,null,null,App.MODE_DEVICE)},c)})),this.put("openLibraryFrom",
new Menu(function(b,c){"undefined"!=typeof google&&"undefined"!=typeof google.picker&&(null!=a.drive?b.addItem(mxResources.get("googleDrive")+"...",null,function(){a.pickLibrary(App.MODE_GOOGLE)},c):h&&b.addItem(mxResources.get("googleDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1));null!=a.gitHub&&b.addItem(mxResources.get("github")+"...",null,function(){a.pickLibrary(App.MODE_GITHUB)},c);null!=a.dropbox?b.addItem(mxResources.get("dropbox")+"...",null,function(){a.pickLibrary(App.MODE_DROPBOX)},
c):l&&b.addItem(mxResources.get("dropbox")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);null!=a.oneDrive?b.addItem(mxResources.get("oneDrive")+"...",null,function(){a.pickLibrary(App.MODE_ONEDRIVE)},c):m&&b.addItem(mxResources.get("oneDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);null!=a.trello?b.addItem(mxResources.get("trello")+"...",null,function(){a.pickLibrary(App.MODE_TRELLO)},c):g&&b.addItem(mxResources.get("trello")+" ("+mxResources.get("loading")+
"...)",null,function(){},c,null,!1);b.addSeparator(c);isLocalStorage&&"0"!=urlParams.browser&&b.addItem(mxResources.get("browser")+"...",null,function(){a.pickLibrary(App.MODE_BROWSER)},c);mxClient.IS_IOS||b.addItem(mxResources.get("device")+"...",null,function(){a.pickLibrary(App.MODE_DEVICE)},c);a.isOffline()||(b.addSeparator(c),b.addItem(mxResources.get("url")+"...",null,function(){var b=new FilenameDialog(a,"",mxResources.get("open"),function(b){if(null!=b&&0<b.length&&a.spinner.spin(document.body,
-mxResources.get("loading"))){var c=b;a.isCorsEnabledForUrl(b)||(c=PROXY_URL+"?url="+encodeURIComponent(b));mxUtils.get(c,function(c){if(200<=c.getStatus()&&299>=c.getStatus()){a.spinner.stop();try{a.loadLibrary(new UrlLibrary(this,c.getText(),b))}catch(A){a.handleError(A,mxResources.get("errorLoadingFile"))}}else a.spinner.stop(),a.handleError(null,mxResources.get("errorLoadingFile"))},function(){a.spinner.stop();a.handleError(null,mxResources.get("errorLoadingFile"))})}},mxResources.get("url"));
-a.showDialog(b.container,300,80,!0,!0);b.init()},c))}));this.put("edit",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,"undo redo - cut copy paste delete - duplicate - find - editData editTooltip editStyle - edit - editLink openLink - selectVertices selectEdges selectAll selectNone - lockUnlock".split(" "))})));this.put("view",new Menu(mxUtils.bind(this,function(b,c){this.addMenuItems(b,(null!=this.editorUi.format?["formatPanel"]:[]).concat(["outline","layers","-"]));this.addMenuItems(b,
+mxResources.get("loading"))){var c=b;a.isCorsEnabledForUrl(b)||(c=PROXY_URL+"?url="+encodeURIComponent(b));mxUtils.get(c,function(c){if(200<=c.getStatus()&&299>=c.getStatus()){a.spinner.stop();try{a.loadLibrary(new UrlLibrary(this,c.getText(),b))}catch(z){a.handleError(z,mxResources.get("errorLoadingFile"))}}else a.spinner.stop(),a.handleError(null,mxResources.get("errorLoadingFile"))},function(){a.spinner.stop();a.handleError(null,mxResources.get("errorLoadingFile"))})}},mxResources.get("url"));
+a.showDialog(b.container,300,80,!0,!0);b.init()},c))})));this.put("edit",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,"undo redo - cut copy paste delete - duplicate - find - editData editTooltip editStyle - edit - editLink openLink - selectVertices selectEdges selectAll selectNone - lockUnlock".split(" "))})));this.put("view",new Menu(mxUtils.bind(this,function(b,c){this.addMenuItems(b,(null!=this.editorUi.format?["formatPanel"]:[]).concat(["outline","layers","-"]));this.addMenuItems(b,
["-","search"],c);if(isLocalStorage||mxClient.IS_CHROMEAPP){var d=this.addMenuItem(b,"scratchpad",c);a.isOffline()&&!mxClient.IS_CHROMEAPP||this.addLinkToItem(d,"https://desk.draw.io/support/solutions/articles/16000042367")}this.addMenuItems(b,"shapes - pageView pageScale - scrollbars tooltips - grid guides".split(" "),c);mxClient.IS_SVG&&(null==document.documentMode||9<document.documentMode)&&this.addMenuItem(b,"shadowVisible",c);this.addMenuItems(b,"- connectionArrows connectionPoints - resetView zoomIn zoomOut".split(" "),
c)})));this.put("extras",new Menu(mxUtils.bind(this,function(b,c){"1"!=urlParams.embed&&(this.addSubmenu("theme",b,c),b.addSeparator(c));this.addMenuItems(b,["copyConnect","collapseExpand","-"],c);if("undefined"!==typeof MathJax){var d=this.addMenuItem(b,"mathematicalTypesetting",c);this.addLinkToItem(d,"https://desk.draw.io/support/solutions/articles/16000032875")}"1"!=urlParams.embed&&this.addMenuItems(b,["autosave"],c);this.addMenuItems(b,["-","createShape","editDiagram"],c);b.addSeparator(c);
"1"!=urlParams.embed&&isLocalStorage&&this.addMenuItems(b,["showStartScreen"],c);a.isOfflineApp()||"1"==urlParams.embed||this.addMenuItem(b,"plugins",c);b.addSeparator(c);this.addMenuItem(b,"tags",c)})));this.put("file",new Menu(mxUtils.bind(this,function(b,c){if("1"==urlParams.embed)this.addSubmenu("importFrom",b,c),this.addSubmenu("exportAs",b,c),this.addSubmenu("embed",b,c),"1"==urlParams.libraries&&(this.addMenuItems(b,["-"],c),this.addSubmenu("newLibrary",b,c),this.addSubmenu("openLibraryFrom",
-b,c)),this.addMenuItems(b,["-","pageSetup","print","-","save"],c),"1"==urlParams.saveAndExit&&this.addMenuItems(b,["saveAndExit"],c),this.addMenuItems(b,["exit"],c);else{var d=this.editorUi.getCurrentFile();null!=d&&d.constructor==DriveFile?(d.isRestricted()&&this.addMenuItems(b,["exportOptionsDisabled"],c),null==d.realtime?this.addMenuItems(b,["save","share","-"],c):(d.isAutosave()||this.addMenuItems(b,["save"],c),this.addMenuItems(b,["share","chatWindowTitle","-"],c))):this.addMenuItems(b,["new"],
-c);this.addSubmenu("openFrom",b,c);isLocalStorage&&this.addSubmenu("openRecent",b,c);null!=d&&d.constructor==DriveFile?this.addMenuItems(b,["new","-","rename","makeCopy","moveToFolder"],c):(this.addMenuItems(b,["-","save","saveAs","-","rename"],c),a.isOfflineApp()?a.isOffline()||this.addMenuItems(b,["upload"],c):(this.addMenuItems(b,["makeCopy"],c),null!=d&&d.constructor==OneDriveFile&&this.addMenuItems(b,["moveToFolder"],c)));b.addSeparator(c);this.addSubmenu("importFrom",b,c);this.addSubmenu("exportAs",
+b,c)),this.addMenuItems(b,"- pageSetup print - rename save".split(" "),c),"1"==urlParams.saveAndExit&&this.addMenuItems(b,["saveAndExit"],c),this.addMenuItems(b,["exit"],c);else{var d=this.editorUi.getCurrentFile();null!=d&&d.constructor==DriveFile?(d.isRestricted()&&this.addMenuItems(b,["exportOptionsDisabled"],c),null==d.realtime?this.addMenuItems(b,["save","share","-"],c):(d.isAutosave()||this.addMenuItems(b,["save"],c),this.addMenuItems(b,["share","chatWindowTitle","-"],c))):this.addMenuItems(b,
+["new"],c);this.addSubmenu("openFrom",b,c);isLocalStorage&&this.addSubmenu("openRecent",b,c);null!=d&&d.constructor==DriveFile?this.addMenuItems(b,["new","-","rename","makeCopy","moveToFolder"],c):(this.addMenuItems(b,["-","save","saveAs","-","rename"],c),a.isOfflineApp()?a.isOffline()||this.addMenuItems(b,["upload"],c):(this.addMenuItems(b,["makeCopy"],c),null!=d&&d.constructor==OneDriveFile&&this.addMenuItems(b,["moveToFolder"],c)));b.addSeparator(c);this.addSubmenu("importFrom",b,c);this.addSubmenu("exportAs",
b,c);b.addSeparator(c);this.addSubmenu("embed",b,c);this.addSubmenu("publish",b,c);b.addSeparator(c);this.addSubmenu("newLibrary",b,c);this.addSubmenu("openLibraryFrom",b,c);null==d||d.constructor!=DriveFile&&d.constructor!=DropboxFile||this.addMenuItems(b,["-","revisionHistory"],c);null!=d&&d.constructor==DriveFile&&this.addMenuItems(b,["createRevision"],c);this.addMenuItems(b,["-","pageSetup"],c);mxClient.IS_IOS&&navigator.standalone||this.addMenuItems(b,["print"],c);this.addMenuItems(b,["-","close"])}})))};
var d=Menus.prototype.menuCreated;Menus.prototype.menuCreated=function(a,b){if(480>=screen.width&&a==this.get("help")){b.style.paddingRight="0px";b.style.paddingLeft="0px";b.innerHTML="";var c=document.createElement("img");c.setAttribute("border","0");c.setAttribute("valign","bottom");c.setAttribute("src",Editor.helpImage);b.appendChild(c)}d.apply(this,arguments)}})();function DiagramPage(a){this.node=a;(null==this.node.hasAttribute&&null==this.node.getAttribute("id")||null!=this.node.hasAttribute&&!this.node.hasAttribute("id"))&&this.node.setAttribute("id",function(){function a(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return a()+a()+"-"+a()+"-"+a()+"-"+a()+"-"+a()+a()+a()}())}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,d){this.ui=a;this.page=b;this.previous=this.name=d}RenamePage.prototype.execute=function(){var a=this.page.getName();this.page.setName(this.previous);this.previous=a;this.ui.editor.graph.updatePlaceholders();this.ui.editor.fireEvent(new mxEventObject("pageRenamed"))};
@@ -7992,9 +7992,9 @@ b.fireEvent(new mxEventObject("setViewState","change",this));d.gridEnabled=d.gri
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;SelectPage.prototype.execute.apply(this,arguments)};
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(){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":"30px";c!=this.tabContainer.style.height&&this.refresh(!1)}b.apply(a.view,arguments)});var d=!1,c=null,e=mxUtils.bind(this,function(){this.updateTabContainer();var b=this.currentPage;null!=b&&b!=c&&(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),c=b);null!=this.actions.layersWindow&&this.actions.layersWindow.refreshLayers();"undefined"!==typeof MathJax&&"undefined"!==typeof MathJax.Hub?d||null==this.editor||(1!=MathJax.Hub.queue.pending||this.editor.graph.mathEnabled||MathJax.Hub.Queue(mxUtils.bind(this,function(){this.editor.graph.refresh()})),MathJax.Hub.Queue(mxUtils.bind(this,function(){d=
-!0}))):"undefined"===typeof Editor.MathJaxClear||null!=this.editor&&this.editor.graph.mathEnabled||(d=!0,Editor.MathJaxClear())});this.editor.graph.model.addListener(mxEvent.CHANGE,mxUtils.bind(this,function(a,b){for(var c=b.getProperty("edit").changes,d=0;d<c.length;d++)if(c[d]instanceof SelectPage||c[d]instanceof RenamePage||c[d]instanceof MovePage||c[d]instanceof mxRootChange){e();break}}));null!=this.toolbar&&this.editor.addListener("pageSelected",this.toolbar.updateZoom)};
+null==this.fileNode||null==this.pages||1==this.pages.length&&"0"==urlParams.pages?"0px":"30px";c!=this.tabContainer.style.height&&this.refresh(!1)}b.apply(a.view,arguments)});var d=null,c=mxUtils.bind(this,function(){this.updateTabContainer();var b=this.currentPage;null!=b&&b!=d&&(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),d=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(){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 d=b.getProperty("edit").changes,e=0;e<d.length;e++)if(d[e]instanceof SelectPage||d[e]instanceof RenamePage||d[e]instanceof MovePage||d[e]instanceof mxRootChange){c();break}}));null!=this.toolbar&&this.editor.addListener("pageSelected",this.toolbar.updateZoom)};
Graph.prototype.createViewState=function(a){var b=a.getAttribute("page"),d=a.getAttribute("pageScale"),c=a.getAttribute("pageWidth"),e=a.getAttribute("pageHeight"),f=a.getAttribute("background"),h=a.getAttribute("backgroundImage"),h=null!=h&&0<h.length?JSON.parse(h):null;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!=f&&0<f.length?f:this.defaultGraphBackground,backgroundImage:null!=h?new mxImage(h.src,h.width,h.height):null,pageScale:null!=d?d:mxGraph.prototype.pageScale,pageFormat:null!=c&&null!=e?new mxRectangle(0,0,parseFloat(c),parseFloat(e)):this.pageFormat,tooltips:"0"!=a.getAttribute("tooltips"),connect:"0"!=a.getAttribute("connect"),arrows:"0"!=a.getAttribute("arrows"),mathEnabled:"0"!=
a.getAttribute("math"),selectionCells:null,defaultParent:null,scrollbars:this.defaultScrollbars,scale:1}};
@@ -8047,8 +8047,8 @@ c==mxConstants.DIRECTION_WEST)==d&&c!=b?t.actions.get("selectParent").funct():c=
mxResources.parse("selectSiblings=Select Siblings");mxResources.parse("selectDescendants=Select Descendants");mxResources.parse("selectParent=Select Parent");var x=t.menus.createPopupMenu;t.menus.createPopupMenu=function(a,c,d){x.apply(this,arguments);if(1==p.getSelectionCount()){c=p.getSelectionCell();var e=p.getOutgoingEdges(c);a.addSeparator();null!=e&&0<e.length&&(b(p.getSelectionCell())&&this.addMenuItems(a,["selectChildren"],null,d),this.addMenuItems(a,["selectDescendants"],null,d));b(p.getSelectionCell())&&
(a.addSeparator(),0<p.getIncomingEdges(c).length&&this.addMenuItems(a,["selectSiblings","selectParent"],null,d))}};t.actions.addAction("selectChildren",function(){if(p.isEnabled()&&1==p.getSelectionCount()){var a=p.getSelectionCell(),a=p.getOutgoingEdges(a);if(null!=a){for(var b=[],c=0;c<a.length;c++)b.push(p.model.getTerminal(a[c],!1));p.setSelectionCells(b)}}},null,null,"Alt+Shift+X");t.actions.addAction("selectSiblings",function(){if(p.isEnabled()&&1==p.getSelectionCount()){var a=p.getSelectionCell(),
a=p.getIncomingEdges(a);if(null!=a&&0<a.length&&(a=p.getOutgoingEdges(p.model.getTerminal(a[0],!0)),null!=a)){for(var b=[],c=0;c<a.length;c++)b.push(p.model.getTerminal(a[c],!1));p.setSelectionCells(b)}}},null,null,"Alt+Shift+S");t.actions.addAction("selectParent",function(){if(p.isEnabled()&&1==p.getSelectionCount()){var a=p.getSelectionCell(),a=p.getIncomingEdges(a);null!=a&&0<a.length&&p.setSelectionCell(p.model.getTerminal(a[0],!0))}},null,null,"Alt+Shift+P");t.actions.addAction("selectDescendants",
-function(){if(p.isEnabled()&&1==p.getSelectionCount()){var a=p.getSelectionCell(),b=[];p.traverse(a,!0,function(a,c){null!=c&&b.push(c);b.push(a);return!0});p.setSelectionCells(b)}},null,null,"Alt+Shift+T");var z=p.removeCells;p.removeCells=function(a,d){d=null!=d?d:!0;null==a&&(a=this.getDeletableCells(this.getSelectionCells()));d&&(a=this.getDeletableCells(this.addAllEdges(a)));for(var e=[],f=0;f<a.length;f++){var g=a[f];v.isEdge(g)&&c(g)&&(e.push(g),g=v.getTerminal(g,!1));b(g)?(p.traverse(g,!0,
-function(a,b){null!=b&&e.push(b);e.push(a);return!0}),g=p.getIncomingEdges(a[f]),a=a.concat(g)):e.push(a[f])}a=e;return z.apply(this,arguments)};t.hoverIcons.getStateAt=function(a,c,d){return b(a.cell)?null:this.graph.view.getState(this.graph.getCellAt(c,d))};var u=p.duplicateCells;p.duplicateCells=function(a,c){a=null!=a?a:this.getSelectionCells();for(var d=a.slice(0),e=0;e<d.length;e++){var f=p.view.getState(d[e]);if(null!=f&&b(f.cell))for(var g=p.getIncomingEdges(f.cell),f=0;f<g.length;f++)mxUtils.remove(g[f],
+function(){if(p.isEnabled()&&1==p.getSelectionCount()){var a=p.getSelectionCell(),b=[];p.traverse(a,!0,function(a,c){null!=c&&b.push(c);b.push(a);return!0});p.setSelectionCells(b)}},null,null,"Alt+Shift+T");var A=p.removeCells;p.removeCells=function(a,d){d=null!=d?d:!0;null==a&&(a=this.getDeletableCells(this.getSelectionCells()));d&&(a=this.getDeletableCells(this.addAllEdges(a)));for(var e=[],f=0;f<a.length;f++){var g=a[f];v.isEdge(g)&&c(g)&&(e.push(g),g=v.getTerminal(g,!1));b(g)?(p.traverse(g,!0,
+function(a,b){null!=b&&e.push(b);e.push(a);return!0}),g=p.getIncomingEdges(a[f]),a=a.concat(g)):e.push(a[f])}a=e;return A.apply(this,arguments)};t.hoverIcons.getStateAt=function(a,c,d){return b(a.cell)?null:this.graph.view.getState(this.graph.getCellAt(c,d))};var u=p.duplicateCells;p.duplicateCells=function(a,c){a=null!=a?a:this.getSelectionCells();for(var d=a.slice(0),e=0;e<d.length;e++){var f=p.view.getState(d[e]);if(null!=f&&b(f.cell))for(var g=p.getIncomingEdges(f.cell),f=0;f<g.length;f++)mxUtils.remove(g[f],
a)}this.model.beginUpdate();try{var h=u.call(this,a,c);if(h.length==a.length)for(e=0;e<a.length;e++)if(b(a[e])){var k=p.getIncomingEdges(h[e]),g=p.getIncomingEdges(a[e]);if(0==k.length&&0<g.length){var l=this.cloneCells([g[0]])[0];this.addEdge(l,p.getDefaultParent(),this.model.getTerminal(g[0],!0),h[e])}}}finally{this.model.endUpdate()}return h};var w=p.moveCells;p.moveCells=function(a,c,d,e,f,g,h){var k=null;this.model.beginUpdate();try{var l=f,m=this.view.getState(f),n=null!=m?m.style:this.getCellStyle(f);
if(null!=a&&b(f)&&"1"==mxUtils.getValue(n,"treeFolding","0")){for(var v=0;v<a.length;v++)if(b(a[v])||p.model.isEdge(a[v])&&null==p.model.getTerminal(a[v],!0)){f=p.model.getParent(a[v]);break}if(null!=l&&f!=l&&null!=this.view.getState(a[0])){var q=p.getIncomingEdges(a[0]);if(0<q.length){var u=p.view.getState(p.model.getTerminal(q[0],!0));if(null!=u){var t=p.view.getState(l);null!=t&&(c=(t.getCenterX()-u.getCenterX())/p.view.scale,d=(t.getCenterY()-u.getCenterY())/p.view.scale)}}}}k=w.apply(this,arguments);
if(null!=k&&null!=a&&k.length==a.length)for(v=0;v<k.length;v++)if(this.model.isEdge(k[v]))b(l)&&0>mxUtils.indexOf(k,this.model.getTerminal(k[v],!0))&&this.model.setTerminal(k[v],l,!0);else if(b(a[v])&&(q=p.getIncomingEdges(a[v]),0<q.length))if(!e)b(l)&&0>mxUtils.indexOf(a,this.model.getTerminal(q[0],!0))&&this.model.setTerminal(q[0],l,!0);else if(0==p.getIncomingEdges(k[v]).length){m=l;if(null==m||m==p.model.getParent(a[v]))m=p.model.getTerminal(q[0],!0);e=this.cloneCells([q[0]])[0];this.addEdge(e,
@@ -8056,7 +8056,7 @@ p.getDefaultParent(),m,k[v])}}finally{this.model.endUpdate()}return k};if(null!=
84:t.actions.get("selectSubtree"),80:t.actions.get("selectParent"),83:t.actions.get("selectSiblings")},y=t.onKeyDown;t.onKeyDown=function(a){try{if(p.isEnabled()&&!p.isEditing()&&b(p.getSelectionCell())&&1==p.getSelectionCount()){var c=null;0<p.getIncomingEdges(p.getSelectionCell()).length&&(9==a.which?c=mxEvent.isShiftDown(a)?g(p.getSelectionCell()):k(p.getSelectionCell()):13==a.which&&(c=m(p.getSelectionCell(),!mxEvent.isShiftDown(a))));if(null!=c&&0<c.length)1==c.length&&p.model.isEdge(c[0])?p.setSelectionCell(p.model.getTerminal(c[0],
!1)):p.setSelectionCell(c[c.length-1]),null!=t.hoverIcons&&t.hoverIcons.update(p.view.getState(p.getSelectionCell())),p.startEditingAtCell(p.getSelectionCell()),mxEvent.consume(a);else if(mxEvent.isAltDown(a)&&mxEvent.isShiftDown(a)){var d=E[a.keyCode];null!=d&&(d.funct(a),mxEvent.consume(a))}else 37==a.keyCode?(q(p.getSelectionCell(),mxConstants.DIRECTION_WEST),mxEvent.consume(a)):38==a.keyCode?(q(p.getSelectionCell(),mxConstants.DIRECTION_NORTH),mxEvent.consume(a)):39==a.keyCode?(q(p.getSelectionCell(),
mxConstants.DIRECTION_EAST),mxEvent.consume(a)):40==a.keyCode&&(q(p.getSelectionCell(),mxConstants.DIRECTION_SOUTH),mxEvent.consume(a))}}catch(G){console.log("error",G)}mxEvent.isConsumed(a)||y.apply(this,arguments)};var D=p.connectVertex;p.connectVertex=function(a,c,d,e,f,h){var n=p.getIncomingEdges(a);return b(a)&&0<n.length?(d=l(a),e=d==mxConstants.DIRECTION_EAST||d==mxConstants.DIRECTION_WEST,f=c==mxConstants.DIRECTION_EAST||c==mxConstants.DIRECTION_WEST,d==c?k(a):e==f?g(a):m(a,c!=mxConstants.DIRECTION_NORTH&&
-c!=mxConstants.DIRECTION_WEST)):D.call(this,a,c,d,e,f,h)};p.getSubtree=function(a){var c=[a];b(a)&&!d(a)&&p.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 A=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){A.apply(this,arguments);b(this.state.cell)&&0<this.graph.getOutgoingEdges(this.state.cell).length&&(this.moveHandle=mxUtils.createImage(a),this.moveHandle.setAttribute("title","Move Subtree"),
+c!=mxConstants.DIRECTION_WEST)):D.call(this,a,c,d,e,f,h)};p.getSubtree=function(a){var c=[a];b(a)&&!d(a)&&p.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 z=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){z.apply(this,arguments);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.graphHandler.cells=this.graph.getSubtree(this.state.cell);this.graph.graphHandler.bounds=this.state.view.getBounds(this.graph.graphHandler.cells);
this.graph.graphHandler.pBounds=this.graph.graphHandler.getPreviewBounds(this.graph.graphHandler.cells);this.graph.graphHandler.cellWasClicked=!0;this.graph.isMouseTrigger=mxEvent.isMouseEvent(a);this.graph.isMouseDown=!0;mxEvent.consume(a)})))};var B=mxVertexHandler.prototype.redrawHandles;mxVertexHandler.prototype.redrawHandles=function(){B.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 J=mxVertexHandler.prototype.destroy;mxVertexHandler.prototype.destroy=function(a,b){J.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.editorUi.editor.graph;return a.concat([this.addEntry("tree container",
@@ -8073,14 +8073,13 @@ c.insertEdge(e,!0);d.insertEdge(e,!1);var f=new mxCell("Division",new mxGeometry
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;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;");
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;");
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;");c.vertex=!0;var d=new mxCell("",new mxGeometry(0,
-0,0,0),"edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=none;rounded=0;targetPortConstraint=eastwest;sourcePortConstraint=northsouth;");d.geometry.setTerminalPoint(new mxPoint(110,-40),!0);d.geometry.relative=!0;d.edge=!0;c.insertEdge(d,!1);return sb.createVertexTemplateFromCells([b,d,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 e(a,mxResources.get("format"),Math.max(20,a.diagramContainer.clientWidth-240-12),56,240,Math.min(546,b.container.clientHeight-10),function(b){b=a.createFormat(b);b.init();return b}),a.formatWindow.window.addListener("show",function(){a.fireEvent(new mxEventObject("format"))}),a.formatWindow.window.addListener("format",function(){a.fireEvent(new mxEventObject("format"))}),
-a.formatWindow.window.minimumSize=new mxRectangle(0,0,240,80),a.formatWindow.window.setVisible(!0),a.fireEvent(new mxEventObject("sidebar"))):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,266);a.sidebarWindow=new e(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;";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";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("1"!=urlParams.embed||"1"==urlParams.libraries)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.left="0",d=c("openLibraryFrom",mxResources.get("openLibraryFrom")),d.style.borderLeft="1px solid lightgray",d.style.left="50%";else d.style.bottom="0";b.appendChild(a.sidebar.container);b.style.overflow="hidden";return b});a.sidebarWindow.window.addListener("show",function(){a.fireEvent(new mxEventObject("sidebar"))});
-a.sidebarWindow.window.addListener("sidebar",function(){a.fireEvent(new mxEventObject("sidebar"))});a.sidebarWindow.window.minimumSize=new mxRectangle(0,0,90,90);a.sidebarWindow.window.setVisible(!0);a.fireEvent(new mxEventObject("sidebar"));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){var d=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 div.diagramContainer button, html body button.geBtn { font-size:14px; font-weight:700;border-radius: 5px; }html body button.geBtn:active { opacity: 0.6; }.geDialog input, .geToolbarContainer input, .mxWindow input {padding:2px !important;display:inline-block !important; }div.geDialog { border-radius: 5px; }html body div.geDialog button.geBigButton { color: #fff !important; }.mxWindow button, .geDialog select, .mxWindow select { display:inline-block; }.mxWindow .geColorBtn, .geDialog .geColorBtn { background: none !important; }html body div.diagramContainer button, html body .mxWindow button, html body .geDialog button { min-width: 0px; border-radius: 5px; color: #353535 !important; border-color: rgb(216, 216, 216); }div.diagramContainer button.geBtn, .mxWindow button.geBtn, .geDialog button.geBtn { min-width:72px; font-weight: 600; background: none; }div.diagramContainer button.geBtn:hover, .mxWindow button.geBtn:hover, .geDialog button.geBtn:hover { box-shadow: none; border-color: rgb(216, 216, 216); }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:2px; 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 0 2px 0; 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); }a.geMenuItem:active { opacity: 0.4; }.geToolbarContainer { background:#fff !important; }div.mxWindow .geSidebarContainer .geTitle { background-color:#fdfdfd; }div.mxWindow .geSidebarContainer .geTitle:hover { background-color:#fafafa; }div.geSidebar { background-color: #fff !important;}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:lightgray !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.5) !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; }";
+0,0,0),"edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=none;rounded=0;targetPortConstraint=eastwest;sourcePortConstraint=northsouth;");d.geometry.setTerminalPoint(new mxPoint(110,-40),!0);d.geometry.relative=!0;d.edge=!0;c.insertEdge(d,!1);return sb.createVertexTemplateFromCells([b,d,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 e(a,mxResources.get("format"),Math.max(20,a.diagramContainer.clientWidth-240-12),56,240,Math.min(546,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,266);a.sidebarWindow=new e(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;";
+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";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.left=
+"0",d=c("openLibraryFrom",mxResources.get("openLibraryFrom")),d.style.borderLeft="1px solid lightgray",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){var d=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 div.diagramContainer button, html body button.geBtn { font-size:14px; font-weight:700;border-radius: 5px; }html body button.geBtn:active { opacity: 0.6; }.geDialog input, .geToolbarContainer input, .mxWindow input {padding:2px !important;display:inline-block !important; }div.geDialog { border-radius: 5px; }html body div.geDialog button.geBigButton { color: #fff !important; }.mxWindow button, .geDialog select, .mxWindow select { display:inline-block; }.mxWindow .geColorBtn, .geDialog .geColorBtn { background: none !important; }html body div.diagramContainer button, html body .mxWindow button, html body .geDialog button { min-width: 0px; border-radius: 5px; color: #353535 !important; border-color: rgb(216, 216, 216); }div.diagramContainer button.geBtn, .mxWindow button.geBtn, .geDialog button.geBtn { min-width:72px; font-weight: 600; background: none; }div.diagramContainer button.geBtn:hover, .mxWindow button.geBtn:hover, .geDialog button.geBtn:hover { box-shadow: none; border-color: rgb(216, 216, 216); }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:2px; 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 0 2px 0; 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); }a.geMenuItem:active { opacity: 0.4; }.geToolbarContainer { background:#fff !important; }div.mxWindow .geSidebarContainer .geTitle { background-color:#fdfdfd; }div.mxWindow .geSidebarContainer .geTitle:hover { background-color:#fafafa; }div.geSidebar { background-color: #fff !important;}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:lightgray !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.5) !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; }";
document.getElementsByTagName("head")[0].appendChild(c)}catch(v){}var e=function(a,b,c,d,e,f,g){a=document.createElement("div");a.className="geSidebarContainer";a.style.position="absolute";a.style.width="100%";a.style.height="100%";a.style.border="1px solid whiteSmoke";a.style.overflowX="hidden";a.style.overflowY="auto";g(a);this.window=new mxWindow(b,a,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)}};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;mxVertexHandler.prototype.handleImage=Graph.createSvgImage(16,16,'<circle cx="8" cy="8" r="5" stroke="#ffffff" fill="#29b6f2"/>');
@@ -8098,7 +8097,7 @@ b.setAttribute("title",mxResources.get("save")+" ("+Editor.ctrlKey+"+S)");b.clas
mxResources.get("saveAndExit")),b.className="geMenuItem gePrimaryBtn",b.style.fontSize="14px",b.style.marginLeft="6px",b.style.padding="6px",b.style.cursor="pointer",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.fontSize="14px";b.style.marginLeft="6px";b.style.padding="6px";
b.style.cursor="pointer";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 k=Menus.prototype.createPopupMenu;Menus.prototype.createPopupMenu=function(a,b,c){var d=this.editorUi.editor.graph;a.smartSeparators=!0;k.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==d.getSelectionCount()?(this.addMenuItems(a,["editTooltip","-"],null,c),d.isCellFoldable(d.getSelectionCell())&&this.addMenuItems(a,d.isCellCollapsed(b)?["expand"]:["collapse"],null,c),this.addMenuItems(a,["lockUnlock","enterGroup"],null,c),a.addSeparator(),this.addSubmenu("layout",
-a)):d.isSelectionEmpty()&&d.isEnabled()?(a.addSeparator(),this.addSubmenu("insert",a),this.addSubmenu("layout",a),a.addSeparator(),this.addSubmenu("options",a),this.addMenuItems(a,["-","exitGroup"],null,c)):d.isEnabled()&&this.addMenuItems(a,["-","lockUnlock"],null,c)};EditorUi.prototype.toggleFormatPanel=function(a){null!=this.formatWindow&&this.formatWindow.window.setVisible(a?!1:!this.formatWindow.window.isVisible())};DiagramFormatPanel.prototype.isMathOptionVisible=function(a){return!0};var n=
+a)):d.isSelectionEmpty()&&d.isEnabled()?(a.addSeparator(),this.addSubmenu("insert",a),this.addSubmenu("layout",a),a.addSeparator(),this.addSubmenu("options",a),this.addMenuItems(a,["-","exitGroup"],null,c)):d.isEnabled()&&this.addMenuItems(a,["-","lockUnlock"],null,c)};EditorUi.prototype.toggleFormatPanel=function(a){null!=this.formatWindow&&this.formatWindow.window.setVisible(a?!1:!this.formatWindow.window.isVisible())};DiagramFormatPanel.prototype.isMathOptionVisible=function(){return!0};var n=
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);n.apply(this,arguments)};var q=EditorUi.prototype.setGraphEnabled;EditorUi.prototype.setGraphEnabled=
function(a){q.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 t=Menus.prototype.init;Menus.prototype.init=function(){t.apply(this,arguments);var c=this.editorUi,d=c.editor.graph;c.actions.get("insertText").label=mxResources.get("text");c.actions.get("insertText").label=mxResources.get("text");c.actions.get("editDiagram").label=mxResources.get("formatXml")+
diff --git a/src/main/webapp/js/atlas-viewer.min.js b/src/main/webapp/js/atlas-viewer.min.js
index 767f58de..d9c27e40 100644
--- a/src/main/webapp/js/atlas-viewer.min.js
+++ b/src/main/webapp/js/atlas-viewer.min.js
@@ -105,7 +105,7 @@ ko:"한국어",ja:"日本語",zh:"中文(中国)","zh-tw":"中文(台灣
function setCurrentXml(a,b){null!=window.parent&&null!=window.parent.openFile&&window.parent.openFile.setData(a,b)}
(function(){if("undefined"!==typeof JSON&&isLocalStorage)try{var a=localStorage.getItem(".drawio-config"),b=!0;null!=a&&(b=JSON.parse(a).showStartScreen);0==b&&(urlParams.splash="0")}catch(c){}a=urlParams["export"];null!=a&&("http://"!=a.substring(0,7)&&"https://"!=a.substring(0,8)&&(a="http://"+a),EXPORT_URL=a);window.DRAWIO_LOG_URL=window.DRAWIO_LOG_URL||"";b=window.location.host;"test.draw.io"!=b&&(a=b.length-7,b=b.lastIndexOf("draw.io",a),-1!==b&&b===a&&(window.DRAWIO_LOG_URL="https://log.draw.io"))})();
if("1"==urlParams.offline||"1"==urlParams.demo||"1"==urlParams.stealth||"1"==urlParams.local)urlParams.analytics="0",urlParams.picker="0",urlParams.gapi="0",urlParams.db="0",urlParams.od="0",urlParams.gh="0",urlParams.tr="0";if("1"==urlParams.offline||"1"==urlParams.local)urlParams.math="0";"1"==urlParams.lightbox&&(urlParams.chrome="0");window.urlParams=window.urlParams||{};window.MAX_REQUEST_SIZE=window.MAX_REQUEST_SIZE||10485760;window.MAX_AREA=window.MAX_AREA||225E6;window.EXPORT_URL=window.EXPORT_URL||"/export";window.SAVE_URL=window.SAVE_URL||"/save";window.OPEN_URL=window.OPEN_URL||"/open";window.RESOURCES_PATH=window.RESOURCES_PATH||"resources";window.RESOURCE_BASE=window.RESOURCE_BASE||window.RESOURCES_PATH+"/grapheditor";window.STENCIL_PATH=window.STENCIL_PATH||"stencils";window.IMAGE_PATH=window.IMAGE_PATH||"images";
-window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"3.9.5",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&
+window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"3.9.6",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&
0>navigator.userAgent.indexOf("Edge/"),IS_OP:0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/"),IS_OT:0<=navigator.userAgent.indexOf("Presto/")&&0>navigator.userAgent.indexOf("Presto/2.4.")&&0>navigator.userAgent.indexOf("Presto/2.3.")&&0>navigator.userAgent.indexOf("Presto/2.2.")&&0>navigator.userAgent.indexOf("Presto/2.1.")&&0>navigator.userAgent.indexOf("Presto/2.0.")&&0>navigator.userAgent.indexOf("Presto/1."),IS_SF:0<=navigator.userAgent.indexOf("AppleWebKit/")&&
0>navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_IOS:navigator.userAgent.match(/(iPad|iPhone|iPod)/g)?!0:!1,IS_GC:0<=navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:0<=navigator.userAgent.indexOf("Firefox/"),IS_MT:0<=navigator.userAgent.indexOf("Firefox/")&&0>navigator.userAgent.indexOf("Firefox/1.")&&0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&&
0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_SVG:0<=navigator.userAgent.indexOf("Firefox/")||0<=navigator.userAgent.indexOf("Iceweasel/")||0<=navigator.userAgent.indexOf("Seamonkey/")||0<=navigator.userAgent.indexOf("Iceape/")||0<=navigator.userAgent.indexOf("Galeon/")||
@@ -533,9 +533,9 @@ mxShape.prototype.updateHtmlColors=function(a){var b=this.stroke;null!=b&&b!=mxC
mxUtils.addTransparentBackgroundFilter(a):this.setTransparentBackgroundImage(a)};
mxShape.prototype.updateHtmlBounds=function(a){var b=9<=document.documentMode?0:Math.ceil(this.strokewidth*this.scale);a.style.borderWidth=Math.max(1,b)+"px";a.style.overflow="hidden";a.style.left=Math.round(this.bounds.x-b/2)+"px";a.style.top=Math.round(this.bounds.y-b/2)+"px";"CSS1Compat"==document.compatMode&&(b=-b);a.style.width=Math.round(Math.max(0,this.bounds.width+b))+"px";a.style.height=Math.round(Math.max(0,this.bounds.height+b))+"px"};
mxShape.prototype.destroyCanvas=function(a){if(a instanceof mxSvgCanvas2D){for(var b in a.gradients){var c=a.gradients[b];null!=c&&(c.mxRefCount=(c.mxRefCount||0)+1)}this.releaseSvgGradients(this.oldGradients);this.oldGradients=a.gradients}};
-mxShape.prototype.paint=function(a){var b=this.scale,c=this.bounds.x/b,d=this.bounds.y/b,e=this.bounds.width/b,f=this.bounds.height/b;if(this.isPaintBoundsInverted())var g=(e-f)/2,c=c+g,d=d-g,g=e,e=f,f=g;this.updateTransform(a,c,d,e,f);this.configureCanvas(a,c,d,e,f);g=null;if(null==this.stencil&&null==this.points&&this.shapePointerEvents||null!=this.stencil&&this.stencilPointerEvents){var k=this.createBoundingBox();this.dialect==mxConstants.DIALECT_SVG?(g=this.createTransparentSvgRectangle(k.x,k.y,
-k.width,k.height),this.node.appendChild(g)):(k=a.createRect("rect",k.x/b,k.y/b,k.width/b,k.height/b),k.appendChild(a.createTransparentFill()),k.stroked="false",a.root.appendChild(k))}if(null!=this.stencil)this.stencil.drawShape(a,this,c,d,e,f);else if(a.setStrokeWidth(this.strokewidth),null!=this.points){c=[];for(d=0;d<this.points.length;d++)null!=this.points[d]&&c.push(new mxPoint(this.points[d].x/b,this.points[d].y/b));this.paintEdgeShape(a,c)}else this.paintVertexShape(a,c,d,e,f);null!=g&&null!=
-a.state&&null!=a.state.transform&&g.setAttribute("transform",a.state.transform)};
+mxShape.prototype.paint=function(a){var b=!1;if(null!=a&&this.outline){var c=a.stroke;a.stroke=function(){b=!0;c.apply(this,arguments)};var d=a.fillAndStroke;a.fillAndStroke=function(){b=!0;d.apply(this,arguments)}}var e=this.scale,f=this.bounds.x/e,g=this.bounds.y/e,k=this.bounds.width/e,l=this.bounds.height/e;if(this.isPaintBoundsInverted())var m=(k-l)/2,f=f+m,g=g-m,m=k,k=l,l=m;this.updateTransform(a,f,g,k,l);this.configureCanvas(a,f,g,k,l);m=null;if(null==this.stencil&&null==this.points&&this.shapePointerEvents||
+null!=this.stencil&&this.stencilPointerEvents){var n=this.createBoundingBox();this.dialect==mxConstants.DIALECT_SVG?(m=this.createTransparentSvgRectangle(n.x,n.y,n.width,n.height),this.node.appendChild(m)):(n=a.createRect("rect",n.x/e,n.y/e,n.width/e,n.height/e),n.appendChild(a.createTransparentFill()),n.stroked="false",a.root.appendChild(n))}if(null!=this.stencil)this.stencil.drawShape(a,this,f,g,k,l);else if(a.setStrokeWidth(this.strokewidth),null!=this.points){for(var n=[],p=0;p<this.points.length;p++)null!=
+this.points[p]&&n.push(new mxPoint(this.points[p].x/e,this.points[p].y/e));this.paintEdgeShape(a,n)}else this.paintVertexShape(a,f,g,k,l);null!=m&&null!=a.state&&null!=a.state.transform&&m.setAttribute("transform",a.state.transform);null!=a&&this.outline&&!b&&(a.rect(f,g,k,l),a.stroke())};
mxShape.prototype.configureCanvas=function(a,b,c,d,e){var f=null;null!=this.style&&(f=this.style.dashPattern);a.setAlpha(this.opacity/100);a.setFillAlpha(this.fillOpacity/100);a.setStrokeAlpha(this.strokeOpacity/100);null!=this.isShadow&&a.setShadow(this.isShadow);null!=this.isDashed&&a.setDashed(this.isDashed,null!=this.style?1==mxUtils.getValue(this.style,mxConstants.STYLE_FIX_DASH,!1):!1);null!=f&&a.setDashPattern(f);null!=this.fill&&this.fill!=mxConstants.NONE&&this.gradient&&this.gradient!=mxConstants.NONE?
(b=this.getGradientBounds(a,b,c,d,e),a.setGradient(this.fill,this.gradient,b.x,b.y,b.width,b.height,this.gradientDirection)):a.setFillColor(this.fill);a.setStrokeColor(this.stroke)};mxShape.prototype.getGradientBounds=function(a,b,c,d,e){return new mxRectangle(b,c,d,e)};mxShape.prototype.updateTransform=function(a,b,c,d,e){a.scale(this.scale);a.rotate(this.getShapeRotation(),this.flipH,this.flipV,b+d/2,c+e/2)};
mxShape.prototype.paintVertexShape=function(a,b,c,d,e){this.paintBackground(a,b,c,d,e);a.setShadow(!1);this.paintForeground(a,b,c,d,e)};mxShape.prototype.paintBackground=function(a,b,c,d,e){};mxShape.prototype.paintForeground=function(a,b,c,d,e){};mxShape.prototype.paintEdgeShape=function(a,b){};
@@ -1959,7 +1959,7 @@ Editor.checkmarkImage=mxClient.IS_SVG?"data:image/gif;base64,R0lGODlhFQAVAMQfAGx
Editor.zoomInImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVBAMAAABbObilAAAAElBMVEUAAAAAAAAsLCwhISFxcXFgYGBavKaoAAAAAXRSTlMAQObYZgAAAElJREFUCNdjIAMwCQrB2YKCggJQJqMIA4sglK3owMzgqABVwsDMwCgAZTMbG8PYCHGEeoQ5CPMFFRD2MkFshmpSQLBRJFSJ8wcAEqcEM2uhl2MAAAAASUVORK5CYII=";Editor.zoomFitImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVBAMAAABbObilAAAAD1BMVEUAAAAAAAAwMDBwcHBgYGC1xl09AAAAAXRSTlMAQObYZgAAAEFJREFUCNdjIAMwCQrB2YKCggJQJqMwA7MglK1owMBgqABVApITwMdGqEeYgzBfUAFhLxPEZqgmBQQbRUKFOH8AAK5OA3lA+FFOAAAAAElFTkSuQmCC";
Editor.layersImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAMAAACeyVWkAAAAaVBMVEUAAAAgICAICAgdHR0PDw8WFhYICAgLCwsXFxcvLy8ODg4uLi4iIiIqKiokJCQYGBgKCgonJycFBQUCAgIqKiocHBwcHBwODg4eHh4cHBwnJycJCQkUFBQqKiojIyMuLi4ZGRkgICAEBATOWYXAAAAAGnRSTlMAD7+fnz8/H7/ff18/77+vr5+fn39/b28fH2xSoKsAAACQSURBVBjTrYxJEsMgDARZZMAY73sgCcn/HxnhKtnk7j6oRq0psfuoyndZ/SuODkHPLzfVT6KeyPePnJ7KrnkRjWMXTn4SMnN8mXe2SSM3ts8L/ZUxxrbAULSYJJULE0Iw9pjpenoICcgcX61mGgTgtCv9Be99pzCoDhNQWQnchD1mup5++CYGcoQexajZbfwAj/0MD8ZOaUgAAAAASUVORK5CYII=";
Editor.previousImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABmJLR0QA/wD/AP+gvaeTAAAAh0lEQVQ4je3UsQnCUBCA4U8hpa1NsoEjpHQJS0dxADdwEMuMIJkgA1hYChbGQgMi+JC8q4L/AB/vDu7x74cWWEZhJU44RmA1zujR5GIbXF9YNrjD/Q0bDRY4fEBZ4P4LlgTnCbAf84pUM8/9hY08tMUtEoQ1LpEgrNBFglChFXR6Q6GfwwR6AGKJMF74Vtt3AAAAAElFTkSuQmCC";Editor.nextImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABmJLR0QA/wD/AP+gvaeTAAAAi0lEQVQ4jeXUIQ7CUAwA0MeGxWI2yylwnALJUdBcgYvM7QYLmjOQIAkIPmJZghiIvypoUtX0tfnJL38X5ZfaEgUeUcManFBHgS0SLlhHggk3bCPBhCf2keCQR8wjwYTDp6YiZxJmOU1jGw7vGALescuBxsArNlOwd/CM1VSM/ut1qCIw+uOwiMJ+OF4CQzBCXm3hyAAAAABJRU5ErkJggg==";
-Editor.zoomOutLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAilBMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2N2iNAAAALXRSTlMA+vTcKMM96GRBHwXxi0YaX1HLrKWhiHpWEOnOr52Vb2xKSDcT19PKv5l/Ngdk8+viAAABJklEQVQ4y4WT2XaDMAxEvWD2nSSUNEnTJN3r//+9Sj7ILAY6L0ijC4ONYVZRpo6cByrz2YKSUGorGTpz71lPVHvT+avoB5wIkU/mxk8veceSuNoLg44IzziXjvpih72wKQnm8yc2UoiP/LAd8jQfe2Xf4Pq+2EyYIvv9wbzHHCgwxDdlBtWZOdqDfTCVgqpygQpsZaojVAVc9UjQxnAJDIBhiQv84tq3gMQCAVTxVoSibXJf8tMuc7e1TB/DCmejBNg/w1Y3c+AM5vv4w7xM59/oXamrHaLVqPQ+OTCnmMZxgz0SdL5zji0/ld6j88qGa5KIiBB6WeJGKfUKwSMKLuXgvl1TW0tm5R9UQL/efSDYsnzxD8CinhBsTTdugJatKpJwf8v+ADb8QmvW7AeAAAAAAElFTkSuQmCC";
+Editor.editImage=mxClient.IS_SVG?"data:image/gif;base64,R0lGODlhCwALAIABAFdXV////yH5BAEAAAEALAAAAAALAAsAAAIZjB8AiKuc4jvLOGqzrjX6zmkWyChXaUJBAQA7":IMAGE_PATH+"/edit.gif";Editor.zoomOutLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAilBMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2N2iNAAAALXRSTlMA+vTcKMM96GRBHwXxi0YaX1HLrKWhiHpWEOnOr52Vb2xKSDcT19PKv5l/Ngdk8+viAAABJklEQVQ4y4WT2XaDMAxEvWD2nSSUNEnTJN3r//+9Sj7ILAY6L0ijC4ONYVZRpo6cByrz2YKSUGorGTpz71lPVHvT+avoB5wIkU/mxk8veceSuNoLg44IzziXjvpih72wKQnm8yc2UoiP/LAd8jQfe2Xf4Pq+2EyYIvv9wbzHHCgwxDdlBtWZOdqDfTCVgqpygQpsZaojVAVc9UjQxnAJDIBhiQv84tq3gMQCAVTxVoSibXJf8tMuc7e1TB/DCmejBNg/w1Y3c+AM5vv4w7xM59/oXamrHaLVqPQ+OTCnmMZxgz0SdL5zji0/ld6j88qGa5KIiBB6WeJGKfUKwSMKLuXgvl1TW0tm5R9UQL/efSDYsnzxD8CinhBsTTdugJatKpJwf8v+ADb8QmvW7AeAAAAAAElFTkSuQmCC";
Editor.zoomInLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAilBMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2N2iNAAAALXRSTlMA+vTcKMM96GRBHwXxi0YaX1HLrKWhiHpWEOnOr52Vb2xKSDcT19PKv5l/Ngdk8+viAAABKElEQVQ4y4WT6WKCMBCENwkBwn2oFKvWqr3L+79es4EkQIDOH2d3Pxk2ABiJlB8JCXjqw4LikHVGLHTm3nM3UeVN5690GBBN0GwyV/3kkrUQR+WeKnREeKpzaXWd77CmJiXGfPIEI4V4yQ9TIW/ntlcMBe731Vts9w5TWG8F5j3mQI4hvrKpdGeYA7CX9qAcl650gVJartxRuhyHVghF8idQAIbFLvCLu28BsQEC6aKtCK6Pyb3JT7PmbmtNH8Ny56CotD/2qOs5cJbuffxgXmCib+xddVU5RNOhkvvkhTlFehzVWCOh3++MYElOhfdovaImnRYVmqDdsuhNp1QrBBE6uGC2+3ZNjGdg5B94oD+9uyVgWT79BwAxEBTWdOu3bWBVgsn/N/AHUD9IC01Oe40AAAAASUVORK5CYII=";
Editor.actualSizeLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAilBMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2N2iNAAAALXRSTlMA+vTcKMM96GRBHwXxi0YaX1HLrKWhiHpWEOnOr52Vb2xKSDcT19PKv5l/Ngdk8+viAAABIUlEQVQ4y4WT2XqDIBCFBxDc9yTWNEnTJN3r+79eGT4BEbXnaubMr8dBBaM450dCQp4LWFAascGIRd48eB4cNYE7f6XjgGiCFs5c+dml6CFN6j1V6IQIlHPpdV/usKcmJcV88gQTRXjLD9Mhb+fWq8YG9/uCmTCFjeeDeY85UGKIUGUuqzN42kv7oCouq9oHamlzVR1lVfpAIu1QVRiW+sAv7r4FpAYIZZVsRXB9TP5Dfpo1d1trCgzz1iiptH/sUbdz4CzN9+mLeXHn3+hdddd4RDegsrvzwZwSs2GLPRJidAqCLTlVwaMPqpYMWjTWBB2WRW86pVkhSKyDK2bdt2tmagZG4sBD/evdLQHLEvQfAOKRoLCmG1FAB6uKmby+gz+REDn7O5+EwQAAAABJRU5ErkJggg==";
Editor.printLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAXVBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9RKvvlAAAAHnRSTlMAydnl77qbMLT093H7K4Nd4Ktn082+lYt5bkklEgP44nQSAAAApUlEQVQ4y73P2Q6DIBRF0cOgbRHHzhP//5m9mBAQKjG1cT0Yc7ITAMu1LNQgUZiQ2DYoNQ0sCQb6qgHAfRx48opq3J9AZ6xuF7uOew8Ik1OsCZRS2UAC9V+D9a+QZYxNA45YFQftPtSkATOhw7dAc0vPBwKWiIOjP0JZ0yMuQJ27g36DipOUsqRAM0dR8KD1/ILHaHSE/w8DIx09E3g/BTce6rHUB5sAPKvfF+JdAAAAAElFTkSuQmCC";
@@ -1985,11 +1985,11 @@ a.setAttribute("pageHeight",this.graph.pageFormat.height);null!=this.graph.backg
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(c,b){for(var e=a.getSelectionCellsForChanges(b.getProperty("edit").changes),k=a.getModel(),p=[],v=0;v<e.length;v++)(k.isVertex(e[v])||k.isEdge(e[v]))&&null!=a.view.getState(e[v])&&
p.push(e[v]);a.setSelectionCells(p)};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,e,c,k,l,q,p){var v=0;mxClient.IS_VML&&(null==document.documentMode||8>document.documentMode)&&(v=80);e+=v;c+=v;var d=e,f=c,g=Math.max(document.body.clientHeight,document.documentElement.clientHeight),n=Math.max(1,Math.round((document.body.clientWidth-e-64)/2)),r=Math.max(1,Math.round((g-c-a.footerHeight)/3));mxClient.IS_QUIRKS||(b.style.maxHeight="100%");e=Math.min(e,document.body.scrollWidth-64);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));var h=mxUtils.getDocumentScrollOrigin(document);this.bg.style.left=h.x+"px";this.bg.style.top=h.y+"px";n+=h.x;r+=h.y;k&&document.body.appendChild(this.bg);var m=a.createDiv("geDialog");k=this.getPosition(n,r,
-e,c);n=k.x;r=k.y;m.style.width=e+"px";m.style.height=c+"px";m.style.left=n+"px";m.style.top=r+"px";m.style.zIndex=this.zIndex;m.appendChild(b);document.body.appendChild(m);!p&&b.clientHeight>m.clientHeight-64&&(b.style.overflowY="auto");l&&(l=document.createElement("img"),l.setAttribute("src",Dialog.prototype.closeImage),l.setAttribute("title",mxResources.get("close")),l.className="geDialogClose",l.style.top=r+14+"px",l.style.left=n+e+38-v+"px",l.style.zIndex=this.zIndex,mxEvent.addListener(l,"click",
-mxUtils.bind(this,function(){a.hideDialog(!0)})),document.body.appendChild(l),this.dialogImg=l,mxEvent.addGestureListeners(this.bg,null,null,mxUtils.bind(this,function(d){a.hideDialog(!0)})));this.resizeListener=mxUtils.bind(this,function(){g=Math.max(document.body.clientHeight,document.documentElement.clientHeight);this.bg.style.height=g+"px";n=Math.max(1,Math.round((document.body.clientWidth-e-64)/2));r=Math.max(1,Math.round((g-c-a.footerHeight)/3));e=Math.min(d,document.body.scrollWidth-64);c=
-Math.min(f,g-64);var h=this.getPosition(n,r,e,c);n=h.x;r=h.y;m.style.left=n+"px";m.style.top=r+"px";m.style.width=e+"px";m.style.height=c+"px";!p&&b.clientHeight>m.clientHeight-64&&(b.style.overflowY="auto");null!=this.dialogImg&&(this.dialogImg.style.top=r+14+"px",this.dialogImg.style.left=n+e+38-v+"px")});mxEvent.addListener(window,"resize",this.resizeListener);this.onDialogClose=q;this.container=m;a.editor.fireEvent(new mxEventObject("showDialog"))}Dialog.backdropColor="white";
+function Dialog(a,b,e,c,k,l,q,p){var v=0;mxClient.IS_VML&&(null==document.documentMode||8>document.documentMode)&&(v=80);e+=v;c+=v;var d=e,f=c,g=Math.max(document.body.clientHeight,document.documentElement.clientHeight),m=Math.max(1,Math.round((document.body.clientWidth-e-64)/2)),r=Math.max(1,Math.round((g-c-a.footerHeight)/3));mxClient.IS_QUIRKS||(b.style.maxHeight="100%");e=Math.min(e,document.body.scrollWidth-64);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));var h=mxUtils.getDocumentScrollOrigin(document);this.bg.style.left=h.x+"px";this.bg.style.top=h.y+"px";m+=h.x;r+=h.y;k&&document.body.appendChild(this.bg);var n=a.createDiv("geDialog");k=this.getPosition(m,r,
+e,c);m=k.x;r=k.y;n.style.width=e+"px";n.style.height=c+"px";n.style.left=m+"px";n.style.top=r+"px";n.style.zIndex=this.zIndex;n.appendChild(b);document.body.appendChild(n);!p&&b.clientHeight>n.clientHeight-64&&(b.style.overflowY="auto");l&&(l=document.createElement("img"),l.setAttribute("src",Dialog.prototype.closeImage),l.setAttribute("title",mxResources.get("close")),l.className="geDialogClose",l.style.top=r+14+"px",l.style.left=m+e+38-v+"px",l.style.zIndex=this.zIndex,mxEvent.addListener(l,"click",
+mxUtils.bind(this,function(){a.hideDialog(!0)})),document.body.appendChild(l),this.dialogImg=l,mxEvent.addGestureListeners(this.bg,null,null,mxUtils.bind(this,function(d){a.hideDialog(!0)})));this.resizeListener=mxUtils.bind(this,function(){g=Math.max(document.body.clientHeight,document.documentElement.clientHeight);this.bg.style.height=g+"px";m=Math.max(1,Math.round((document.body.clientWidth-e-64)/2));r=Math.max(1,Math.round((g-c-a.footerHeight)/3));e=Math.min(d,document.body.scrollWidth-64);c=
+Math.min(f,g-64);var h=this.getPosition(m,r,e,c);m=h.x;r=h.y;n.style.left=m+"px";n.style.top=r+"px";n.style.width=e+"px";n.style.height=c+"px";!p&&b.clientHeight>n.clientHeight-64&&(b.style.overflowY="auto");null!=this.dialogImg&&(this.dialogImg.style.top=r+14+"px",this.dialogImg.style.left=m+e+38-v+"px")});mxEvent.addListener(window,"resize",this.resizeListener);this.onDialogClose=q;this.container=n;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";
@@ -2000,30 +2000,30 @@ 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,b){return new mxPoint(a,b)};Dialog.prototype.close=function(a){null!=this.onDialogClose&&(this.onDialogClose(a),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 PrintDialog=function(a,b){this.create(a,b)};
-PrintDialog.prototype.create=function(a){function b(a){var c=p.checked||d.checked,b=parseInt(g.value)/100;isNaN(b)&&(b=1,g.value="100%");var b=.75*b,n=e.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT,r=1/e.pageScale;if(c){var t=p.checked?1:parseInt(f.value);isNaN(t)||(r=mxUtils.getScaleForPageCount(t,e,n))}e.getGraphBounds();var x=t=0,n=mxRectangle.fromRectangle(n);n.width=Math.ceil(n.width*b);n.height=Math.ceil(n.height*b);r*=b;!c&&e.pageVisible?(b=e.getPageLayout(),t-=b.x*n.width,x-=b.y*n.height):
-c=!0;c=PrintDialog.createPrintPreview(e,r,n,0,t,x,c);c.open();a&&PrintDialog.printPreview(c)}var e=a.editor.graph,c,k,l=document.createElement("table");l.style.width="100%";l.style.height="100%";var q=document.createElement("tbody");c=document.createElement("tr");var p=document.createElement("input");p.setAttribute("type","checkbox");k=document.createElement("td");k.setAttribute("colspan","2");k.style.fontSize="10pt";k.appendChild(p);var v=document.createElement("span");mxUtils.write(v," "+mxResources.get("fitPage"));
+PrintDialog.prototype.create=function(a){function b(a){var c=p.checked||d.checked,b=parseInt(g.value)/100;isNaN(b)&&(b=1,g.value="100%");var b=.75*b,m=e.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT,r=1/e.pageScale;if(c){var t=p.checked?1:parseInt(f.value);isNaN(t)||(r=mxUtils.getScaleForPageCount(t,e,m))}e.getGraphBounds();var x=t=0,m=mxRectangle.fromRectangle(m);m.width=Math.ceil(m.width*b);m.height=Math.ceil(m.height*b);r*=b;!c&&e.pageVisible?(b=e.getPageLayout(),t-=b.x*m.width,x-=b.y*m.height):
+c=!0;c=PrintDialog.createPrintPreview(e,r,m,0,t,x,c);c.open();a&&PrintDialog.printPreview(c)}var e=a.editor.graph,c,k,l=document.createElement("table");l.style.width="100%";l.style.height="100%";var q=document.createElement("tbody");c=document.createElement("tr");var p=document.createElement("input");p.setAttribute("type","checkbox");k=document.createElement("td");k.setAttribute("colspan","2");k.style.fontSize="10pt";k.appendChild(p);var v=document.createElement("span");mxUtils.write(v," "+mxResources.get("fitPage"));
k.appendChild(v);mxEvent.addListener(v,"click",function(a){p.checked=!p.checked;d.checked=!p.checked;mxEvent.consume(a)});mxEvent.addListener(p,"change",function(){d.checked=!p.checked});c.appendChild(k);q.appendChild(c);c=c.cloneNode(!1);var d=document.createElement("input");d.setAttribute("type","checkbox");k=document.createElement("td");k.style.fontSize="10pt";k.appendChild(d);v=document.createElement("span");mxUtils.write(v," "+mxResources.get("posterPrint")+":");k.appendChild(v);mxEvent.addListener(v,
"click",function(a){d.checked=!d.checked;p.checked=!d.checked;mxEvent.consume(a)});c.appendChild(k);var f=document.createElement("input");f.setAttribute("value","1");f.setAttribute("type","number");f.setAttribute("min","1");f.setAttribute("size","4");f.setAttribute("disabled","disabled");f.style.width="50px";k=document.createElement("td");k.style.fontSize="10pt";k.appendChild(f);mxUtils.write(k," "+mxResources.get("pages")+" (max)");c.appendChild(k);q.appendChild(c);mxEvent.addListener(d,"change",
function(){d.checked?f.removeAttribute("disabled"):f.setAttribute("disabled","disabled");p.checked=!d.checked});c=c.cloneNode(!1);k=document.createElement("td");mxUtils.write(k,mxResources.get("pageScale")+":");c.appendChild(k);k=document.createElement("td");var g=document.createElement("input");g.setAttribute("value","100 %");g.setAttribute("size","5");g.style.width="50px";k.appendChild(g);c.appendChild(k);q.appendChild(c);c=document.createElement("tr");k=document.createElement("td");k.colSpan=2;
-k.style.paddingTop="20px";k.setAttribute("align","right");v=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});v.className="geBtn";a.editor.cancelFirst&&k.appendChild(v);if(PrintDialog.previewEnabled){var n=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();b(!1)});n.className="geBtn";k.appendChild(n)}n=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();b(!0)});n.className="geBtn gePrimaryBtn";k.appendChild(n);a.editor.cancelFirst||
+k.style.paddingTop="20px";k.setAttribute("align","right");v=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});v.className="geBtn";a.editor.cancelFirst&&k.appendChild(v);if(PrintDialog.previewEnabled){var m=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();b(!1)});m.className="geBtn";k.appendChild(m)}m=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();b(!0)});m.className="geBtn gePrimaryBtn";k.appendChild(m);a.editor.cancelFirst||
k.appendChild(v);c.appendChild(k);q.appendChild(c);l.appendChild(q);this.container=l};PrintDialog.printPreview=function(a){if(null!=a.wnd){var b=function(){a.wnd.focus();a.wnd.print();a.wnd.close()};mxClient.IS_GC?window.setTimeout(b,500):b()}};
PrintDialog.createPrintPreview=function(a,b,e,c,k,l,q){b=new mxPrintPreview(a,b,e,c,k,l);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 p=b.writeHead;b.writeHead=function(a){p.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==f||f==mxConstants.NONE?(d.style.backgroundColor="",d.style.backgroundImage="url('"+Dialog.prototype.noColorImage+"')"):(d.style.backgroundColor=f,d.style.backgroundImage="")}function e(){null==r?(n.removeAttribute("title"),n.style.fontSize="",n.innerHTML=mxResources.get("change")+"..."):(n.setAttribute("title",r.src),n.style.fontSize="11px",n.innerHTML=r.src.substring(0,42)+"...")}var c=a.editor.graph,k,l,q=document.createElement("table");q.style.width=
+var PageSetupDialog=function(a){function b(){null==f||f==mxConstants.NONE?(d.style.backgroundColor="",d.style.backgroundImage="url('"+Dialog.prototype.noColorImage+"')"):(d.style.backgroundColor=f,d.style.backgroundImage="")}function e(){null==r?(m.removeAttribute("title"),m.style.fontSize="",m.innerHTML=mxResources.get("change")+"..."):(m.setAttribute("title",r.src),m.style.fontSize="11px",m.innerHTML=r.src.substring(0,42)+"...")}var c=a.editor.graph,k,l,q=document.createElement("table");q.style.width=
"100%";q.style.height="100%";var p=document.createElement("tbody");k=document.createElement("tr");l=document.createElement("td");l.style.verticalAlign="top";l.style.fontSize="10pt";mxUtils.write(l,mxResources.get("paperSize")+":");k.appendChild(l);l=document.createElement("td");l.style.verticalAlign="top";l.style.fontSize="10pt";var v=PageSetupDialog.addPageFormatPanel(l,"pagesetupdialog",c.pageFormat);k.appendChild(l);p.appendChild(k);k=document.createElement("tr");l=document.createElement("td");
mxUtils.write(l,mxResources.get("background")+":");k.appendChild(l);l=document.createElement("td");l.style.whiteSpace="nowrap";document.createElement("input").setAttribute("type","text");var d=document.createElement("button");d.style.width="18px";d.style.height="18px";d.style.marginRight="20px";d.style.backgroundPosition="center center";d.style.backgroundRepeat="no-repeat";var f=c.background;b();mxEvent.addListener(d,"click",function(d){a.pickColor(f||"none",function(a){f=a;b()});mxEvent.consume(d)});
l.appendChild(d);mxUtils.write(l,mxResources.get("gridSize")+":");var g=document.createElement("input");g.setAttribute("type","number");g.setAttribute("min","0");g.style.width="40px";g.style.marginLeft="6px";g.value=c.getGridSize();l.appendChild(g);mxEvent.addListener(g,"change",function(){var a=parseInt(g.value);g.value=Math.max(1,isNaN(a)?c.getGridSize():a)});k.appendChild(l);p.appendChild(k);k=document.createElement("tr");l=document.createElement("td");mxUtils.write(l,mxResources.get("image")+
-":");k.appendChild(l);l=document.createElement("td");var n=document.createElement("a");n.style.textDecoration="underline";n.style.cursor="pointer";n.style.color="#a0a0a0";var r=c.backgroundImage;mxEvent.addListener(n,"click",function(d){a.showBackgroundImageDialog(function(a){r=a;e()});mxEvent.consume(d)});e();l.appendChild(n);k.appendChild(l);p.appendChild(k);k=document.createElement("tr");l=document.createElement("td");l.colSpan=2;l.style.paddingTop="16px";l.setAttribute("align","right");var h=
-mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});h.className="geBtn";a.editor.cancelFirst&&l.appendChild(h);var m=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();c.gridSize!==g.value&&c.setGridSize(parseInt(g.value));var d=new ChangePageSetup(a,f,r,v.get());d.ignoreColor=c.background==f;d.ignoreImage=(null!=c.backgroundImage?c.backgroundImage.src:null)===(null!=r?r.src:null);c.pageFormat.width==d.previousFormat.width&&c.pageFormat.height==d.previousFormat.height&&
-d.ignoreColor&&d.ignoreImage||c.model.execute(d)});m.className="geBtn gePrimaryBtn";l.appendChild(m);a.editor.cancelFirst||l.appendChild(h);k.appendChild(l);p.appendChild(k);q.appendChild(p);this.container=q};
-PageSetupDialog.addPageFormatPanel=function(a,b,e,c){function k(a,d,c){if(c||g!=document.activeElement&&n!=document.activeElement){a=!1;for(d=0;d<h.length;d++)c=h[d],t?"custom"==c.key&&(p.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?(p.value=c.key,l.setAttribute("checked","checked"),l.defaultChecked=!0,l.checked=!0,q.removeAttribute("checked"),q.defaultChecked=!1,q.checked=!1,a=!0):e.width==c.format.height&&e.height==c.format.width&&(p.value=c.key,l.removeAttribute("checked"),l.defaultChecked=!1,l.checked=!1,q.setAttribute("checked","checked"),q.defaultChecked=!0,a=q.checked=!0));a?(v.style.display="",f.style.display="none"):(g.value=e.width/100,n.value=e.height/100,l.setAttribute("checked","checked"),
+":");k.appendChild(l);l=document.createElement("td");var m=document.createElement("a");m.style.textDecoration="underline";m.style.cursor="pointer";m.style.color="#a0a0a0";var r=c.backgroundImage;mxEvent.addListener(m,"click",function(d){a.showBackgroundImageDialog(function(a){r=a;e()});mxEvent.consume(d)});e();l.appendChild(m);k.appendChild(l);p.appendChild(k);k=document.createElement("tr");l=document.createElement("td");l.colSpan=2;l.style.paddingTop="16px";l.setAttribute("align","right");var h=
+mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});h.className="geBtn";a.editor.cancelFirst&&l.appendChild(h);var n=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();c.gridSize!==g.value&&c.setGridSize(parseInt(g.value));var d=new ChangePageSetup(a,f,r,v.get());d.ignoreColor=c.background==f;d.ignoreImage=(null!=c.backgroundImage?c.backgroundImage.src:null)===(null!=r?r.src:null);c.pageFormat.width==d.previousFormat.width&&c.pageFormat.height==d.previousFormat.height&&
+d.ignoreColor&&d.ignoreImage||c.model.execute(d)});n.className="geBtn gePrimaryBtn";l.appendChild(n);a.editor.cancelFirst||l.appendChild(h);k.appendChild(l);p.appendChild(k);q.appendChild(p);this.container=q};
+PageSetupDialog.addPageFormatPanel=function(a,b,e,c){function k(a,d,c){if(c||g!=document.activeElement&&m!=document.activeElement){a=!1;for(d=0;d<h.length;d++)c=h[d],t?"custom"==c.key&&(p.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?(p.value=c.key,l.setAttribute("checked","checked"),l.defaultChecked=!0,l.checked=!0,q.removeAttribute("checked"),q.defaultChecked=!1,q.checked=!1,a=!0):e.width==c.format.height&&e.height==c.format.width&&(p.value=c.key,l.removeAttribute("checked"),l.defaultChecked=!1,l.checked=!1,q.setAttribute("checked","checked"),q.defaultChecked=!0,a=q.checked=!0));a?(v.style.display="",f.style.display="none"):(g.value=e.width/100,m.value=e.height/100,l.setAttribute("checked","checked"),
p.value="custom",v.style.display="none",f.style.display="")}}b="format-"+b;var l=document.createElement("input");l.setAttribute("name",b);l.setAttribute("type","radio");l.setAttribute("value","portrait");var q=document.createElement("input");q.setAttribute("name",b);q.setAttribute("type","radio");q.setAttribute("value","landscape");var p=document.createElement("select");p.style.marginBottom="8px";p.style.width="202px";var v=document.createElement("div");v.style.marginLeft="4px";v.style.width="210px";
v.style.height="24px";l.style.marginRight="6px";v.appendChild(l);b=document.createElement("span");b.style.maxWidth="100px";mxUtils.write(b,mxResources.get("portrait"));v.appendChild(b);q.style.marginLeft="10px";q.style.marginRight="6px";v.appendChild(q);var d=document.createElement("span");d.style.width="100px";mxUtils.write(d,mxResources.get("landscape"));v.appendChild(d);var f=document.createElement("div");f.style.marginLeft="4px";f.style.width="210px";f.style.height="24px";var g=document.createElement("input");
-g.setAttribute("size","7");g.style.textAlign="right";f.appendChild(g);mxUtils.write(f," in x ");var n=document.createElement("input");n.setAttribute("size","7");n.style.textAlign="right";f.appendChild(n);mxUtils.write(f," in");v.style.display="none";f.style.display="none";for(var r={},h=PageSetupDialog.getFormats(),m=0;m<h.length;m++){var u=h[m];r[u.key]=u;var w=document.createElement("option");w.setAttribute("value",u.key);mxUtils.write(w,u.title);p.appendChild(w)}var t=!1;k();a.appendChild(p);mxUtils.br(a);
-a.appendChild(v);a.appendChild(f);var x=e,F=function(a,d){var b=r[p.value];null!=b.format?(g.value=b.format.width/100,n.value=b.format.height/100,f.style.display="none",v.style.display=""):(v.style.display="none",f.style.display="");isNaN(parseFloat(g.value))&&(g.value=e.width/100);isNaN(parseFloat(n.value))&&(n.value=e.height/100);b=new mxRectangle(0,0,Math.floor(100*parseFloat(g.value)),Math.floor(100*parseFloat(n.value)));"custom"!=p.value&&q.checked&&(b=new mxRectangle(0,0,b.height,b.width));
-d&&t||b.width==x.width&&b.height==x.height||(x=b,null!=c&&c(x))};mxEvent.addListener(b,"click",function(a){l.checked=!0;F(a);mxEvent.consume(a)});mxEvent.addListener(d,"click",function(a){q.checked=!0;F(a);mxEvent.consume(a)});mxEvent.addListener(g,"blur",F);mxEvent.addListener(g,"click",F);mxEvent.addListener(n,"blur",F);mxEvent.addListener(n,"click",F);mxEvent.addListener(q,"change",F);mxEvent.addListener(l,"change",F);mxEvent.addListener(p,"change",function(a){t="custom"==p.value;F(a,!0)});F();
-return{set:function(a){e=a;k(null,null,!0)},get:function(){return x},widthInput:g,heightInput:n}};
+g.setAttribute("size","7");g.style.textAlign="right";f.appendChild(g);mxUtils.write(f," in x ");var m=document.createElement("input");m.setAttribute("size","7");m.style.textAlign="right";f.appendChild(m);mxUtils.write(f," in");v.style.display="none";f.style.display="none";for(var r={},h=PageSetupDialog.getFormats(),n=0;n<h.length;n++){var u=h[n];r[u.key]=u;var w=document.createElement("option");w.setAttribute("value",u.key);mxUtils.write(w,u.title);p.appendChild(w)}var t=!1;k();a.appendChild(p);mxUtils.br(a);
+a.appendChild(v);a.appendChild(f);var x=e,F=function(a,d){var b=r[p.value];null!=b.format?(g.value=b.format.width/100,m.value=b.format.height/100,f.style.display="none",v.style.display=""):(v.style.display="none",f.style.display="");isNaN(parseFloat(g.value))&&(g.value=e.width/100);isNaN(parseFloat(m.value))&&(m.value=e.height/100);b=new mxRectangle(0,0,Math.floor(100*parseFloat(g.value)),Math.floor(100*parseFloat(m.value)));"custom"!=p.value&&q.checked&&(b=new mxRectangle(0,0,b.height,b.width));
+d&&t||b.width==x.width&&b.height==x.height||(x=b,null!=c&&c(x))};mxEvent.addListener(b,"click",function(a){l.checked=!0;F(a);mxEvent.consume(a)});mxEvent.addListener(d,"click",function(a){q.checked=!0;F(a);mxEvent.consume(a)});mxEvent.addListener(g,"blur",F);mxEvent.addListener(g,"click",F);mxEvent.addListener(m,"blur",F);mxEvent.addListener(m,"click",F);mxEvent.addListener(q,"change",F);mxEvent.addListener(l,"change",F);mxEvent.addListener(p,"change",function(a){t="custom"==p.value;F(a,!0)});F();
+return{set:function(a){e=a;k(null,null,!0)},get:function(){return x},widthInput:g,heightInput:m}};
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 (279 mm x 432 mm)",format:new mxRectangle(0,0,1100,1700)},{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:"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 c=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(c),this.backgroundPageShape.scale=1,this.backgroundPageShape.isShadow=!mxClient.IS_QUIRKS,this.backgroundPageShape.dialect=
@@ -2033,9 +2033,9 @@ null);this.validateBackgroundStyles()}};mxGraphView.prototype.validateBackground
b="url("+this.gridImage+")";var e=d=0;null!=a.view.backgroundPageShape&&(e=this.getBackgroundPageBounds(),d=1+e.x,e=1+e.y);g=-Math.round(g-mxUtils.mod(this.translate.x*this.scale-d,g))+"px "+-Math.round(g-mxUtils.mod(this.translate.y*this.scale-e,g))+"px"}d=a.view.canvas;null!=d.ownerSVGElement&&(d=d.ownerSVGElement);null!=a.view.backgroundPageShape?(a.view.backgroundPageShape.node.style.backgroundPosition=g,a.view.backgroundPageShape.node.style.backgroundImage=b,a.view.backgroundPageShape.node.style.backgroundColor=
c,a.container.className="geDiagramContainer geDiagramBackdrop",d.style.backgroundImage="none",d.style.backgroundColor=""):(a.container.className="geDiagramContainer",d.style.backgroundPosition=g,d.style.backgroundColor=c,d.style.backgroundImage=b)};mxGraphView.prototype.createSvgGrid=function(a){for(var c=this.graph.gridSize*this.scale;c<this.minGridSize;)c*=2;for(var d=this.gridSteps*c,b=[],g=1;g<this.gridSteps;g++){var e=g*c;b.push("M 0 "+e+" L "+d+" "+e+" M "+e+" 0 L "+e+" "+d)}return'<svg width="'+
d+'" height="'+d+'" xmlns="'+mxConstants.NS_SVG+'"><defs><pattern id="grid" width="'+d+'" height="'+d+'" patternUnits="userSpaceOnUse"><path d="'+b.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(c,b){a.apply(this,arguments);if(null!=this.shiftPreview1){var d=
-this.view.canvas;null!=d.ownerSVGElement&&(d=d.ownerSVGElement);var f=this.gridSize*this.view.scale*this.view.gridSteps,f=-Math.round(f-mxUtils.mod(this.view.translate.x*this.view.scale+c,f))+"px "+-Math.round(f-mxUtils.mod(this.view.translate.y*this.view.scale+b,f))+"px";d.style.backgroundPosition=f}};mxGraph.prototype.updatePageBreaks=function(a,c,d){var b=this.view.scale,g=this.view.translate,e=this.pageFormat,r=b*this.pageScale,h=this.view.getBackgroundPageBounds();c=h.width;d=h.height;var m=
-new mxRectangle(b*g.x,b*g.y,e.width*r,e.height*r),u=(a=a&&Math.min(m.width,m.height)>this.minPageBreakDist)?Math.ceil(d/m.height)-1:0,w=a?Math.ceil(c/m.width)-1:0,t=h.x+c,x=h.y+d;null==this.horizontalPageBreaks&&0<u&&(this.horizontalPageBreaks=[]);null==this.verticalPageBreaks&&0<w&&(this.verticalPageBreaks=[]);a=mxUtils.bind(this,function(a){if(null!=a){for(var d=a==this.horizontalPageBreaks?u:w,c=0;c<=d;c++){var b=a==this.horizontalPageBreaks?[new mxPoint(Math.round(h.x),Math.round(h.y+(c+1)*m.height)),
-new mxPoint(Math.round(t),Math.round(h.y+(c+1)*m.height))]:[new mxPoint(Math.round(h.x+(c+1)*m.width),Math.round(h.y)),new mxPoint(Math.round(h.x+(c+1)*m.width),Math.round(x))];null!=a[c]?(a[c].points=b,a[c].redraw()):(b=new mxPolyline(b,this.pageBreakColor),b.dialect=this.dialect,b.isDashed=this.pageBreakDashed,b.pointerEvents=!1,b.init(this.view.backgroundPane),b.redraw(),a[c]=b)}for(c=d;c<a.length;c++)a[c].destroy();a.splice(d,a.length-d)}});a(this.horizontalPageBreaks);a(this.verticalPageBreaks)};
+this.view.canvas;null!=d.ownerSVGElement&&(d=d.ownerSVGElement);var f=this.gridSize*this.view.scale*this.view.gridSteps,f=-Math.round(f-mxUtils.mod(this.view.translate.x*this.view.scale+c,f))+"px "+-Math.round(f-mxUtils.mod(this.view.translate.y*this.view.scale+b,f))+"px";d.style.backgroundPosition=f}};mxGraph.prototype.updatePageBreaks=function(a,c,d){var b=this.view.scale,g=this.view.translate,e=this.pageFormat,r=b*this.pageScale,h=this.view.getBackgroundPageBounds();c=h.width;d=h.height;var n=
+new mxRectangle(b*g.x,b*g.y,e.width*r,e.height*r),u=(a=a&&Math.min(n.width,n.height)>this.minPageBreakDist)?Math.ceil(d/n.height)-1:0,w=a?Math.ceil(c/n.width)-1:0,t=h.x+c,x=h.y+d;null==this.horizontalPageBreaks&&0<u&&(this.horizontalPageBreaks=[]);null==this.verticalPageBreaks&&0<w&&(this.verticalPageBreaks=[]);a=mxUtils.bind(this,function(a){if(null!=a){for(var d=a==this.horizontalPageBreaks?u:w,c=0;c<=d;c++){var b=a==this.horizontalPageBreaks?[new mxPoint(Math.round(h.x),Math.round(h.y+(c+1)*n.height)),
+new mxPoint(Math.round(t),Math.round(h.y+(c+1)*n.height))]:[new mxPoint(Math.round(h.x+(c+1)*n.width),Math.round(h.y)),new mxPoint(Math.round(h.x+(c+1)*n.width),Math.round(x))];null!=a[c]?(a[c].points=b,a[c].redraw()):(b=new mxPolyline(b,this.pageBreakColor),b.dialect=this.dialect,b.isDashed=this.pageBreakDashed,b.pointerEvents=!1,b.init(this.view.backgroundPane),b.redraw(),a[c]=b)}for(c=d;c<a.length;c++)a[c].destroy();a.splice(d,a.length-d)}});a(this.horizontalPageBreaks);a(this.verticalPageBreaks)};
var b=mxGraphHandler.prototype.shouldRemoveCellsFromParent;mxGraphHandler.prototype.shouldRemoveCellsFromParent=function(a,c,d){for(var f=0;f<c.length;f++)if(this.graph.getModel().isVertex(c[f])){var g=this.graph.getCellGeometry(c[f]);if(null!=g&&g.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(c,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(),c=0<a.width?a.x/this.scale-this.translate.x:0,d=0<a.height?a.y/this.scale-this.translate.y:0,b=this.graph.pageFormat,g=this.graph.pageScale,e=b.width*g,b=b.height*g,g=Math.floor(Math.min(0,c)/e),r=Math.floor(Math.min(0,
d)/b);return new mxRectangle(this.scale*(this.translate.x+g*e),this.scale*(this.translate.y+r*b),this.scale*(Math.ceil(Math.max(1,c+a.width/this.scale)/e)-g)*e,this.scale*(Math.ceil(Math.max(1,d+a.height/this.scale)/b)-r)*b)};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=
@@ -2049,17 +2049,17 @@ if("A"==d.nodeName)for(;null!=d;){if("geHint"==d.className)return!0;d=d.parentNo
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 l=!1,q=this.hoverIcons.isResetEvent;this.hoverIcons.isResetEvent=function(a,d){return l||q.apply(this,arguments)};this.keydownHandler=
mxUtils.bind(this,function(a){32==a.which?(l=!0,this.hoverIcons.reset(),c.container.style.cursor="move",c.isEditing()||mxEvent.getSource(a)!=c.container||mxEvent.consume(a)):mxEvent.isConsumed(a)||27!=a.keyCode||this.hideDialog()});mxEvent.addListener(document,"keydown",this.keydownHandler);this.keyupHandler=mxUtils.bind(this,function(a){c.container.style.cursor="";l=!1});mxEvent.addListener(document,"keyup",this.keyupHandler);var p=c.panningHandler.isForcePanningEvent;c.panningHandler.isForcePanningEvent=
function(a){return p.apply(this,arguments)||l||mxEvent.isMouseEvent(a.getEvent())&&(this.usePopupTrigger||!mxEvent.isPopupTrigger(a.getEvent()))&&(!mxEvent.isControlDown(a.getEvent())&&mxEvent.isRightMouseButton(a.getEvent())||mxEvent.isMiddleMouseButton(a.getEvent()))};var v=c.cellEditor.isStopEditingEvent;c.cellEditor.isStopEditingEvent=function(a){return v.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 d=!1,f=null,g=null,n=null,r=mxUtils.bind(this,function(){if(null!=this.toolbar&&d!=c.cellEditor.isContentEditing()){for(var a=this.toolbar.container.firstChild,b=[];null!=a;){var e=a.nextSibling;0>mxUtils.indexOf(this.toolbar.staticElements,a)&&(a.parentNode.removeChild(a),b.push(a));a=e}a=this.toolbar.fontMenu;e=this.toolbar.sizeMenu;if(null==n)this.toolbar.createTextToolbar();else{for(var h=0;h<n.length;h++)this.toolbar.container.appendChild(n[h]);this.toolbar.fontMenu=f;this.toolbar.sizeMenu=
-g}d=c.cellEditor.isContentEditing();f=a;g=e;n=b}}),h=this,m=c.cellEditor.startEditing;c.cellEditor.startEditing=function(){m.apply(this,arguments);r();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!=h.toolbar)){var b=d.fontFamily;"'"==b.charAt(0)&&(b=b.substring(1));"'"==b.charAt(b.length-1)&&(b=
+var d=!1,f=null,g=null,m=null,r=mxUtils.bind(this,function(){if(null!=this.toolbar&&d!=c.cellEditor.isContentEditing()){for(var a=this.toolbar.container.firstChild,b=[];null!=a;){var e=a.nextSibling;0>mxUtils.indexOf(this.toolbar.staticElements,a)&&(a.parentNode.removeChild(a),b.push(a));a=e}a=this.toolbar.fontMenu;e=this.toolbar.sizeMenu;if(null==m)this.toolbar.createTextToolbar();else{for(var h=0;h<m.length;h++)this.toolbar.container.appendChild(m[h]);this.toolbar.fontMenu=f;this.toolbar.sizeMenu=
+g}d=c.cellEditor.isContentEditing();f=a;g=e;m=b}}),h=this,n=c.cellEditor.startEditing;c.cellEditor.startEditing=function(){n.apply(this,arguments);r();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!=h.toolbar)){var b=d.fontFamily;"'"==b.charAt(0)&&(b=b.substring(1));"'"==b.charAt(b.length-1)&&(b=
b.substring(0,b.length-1));h.toolbar.setFontName(b);h.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 u=c.cellEditor.stopEditing;c.cellEditor.stopEditing=function(a,d){u.apply(this,arguments);r()};c.container.setAttribute("tabindex","0");c.container.style.cursor="default";
if(window.self===window.top&&null!=c.container.parentNode)try{c.container.focus()}catch(y){}var w=c.fireMouseEvent;c.fireMouseEvent=function(a,d,c){a==mxEvent.MOUSE_DOWN&&this.container.focus();w.apply(this,arguments)};c.popupMenuHandler.autoExpand=!0;null!=this.menus&&(c.popupMenuHandler.factoryMethod=mxUtils.bind(this,function(a,d,c){this.menus.createPopupMenu(a,d,c)}));mxEvent.addGestureListeners(document,mxUtils.bind(this,function(a){c.popupMenuHandler.hideMenu()}));this.keyHandler=this.createKeyHandler(a);
-this.getKeyHandler=function(){return keyHandler};var t="rounded shadow glass dashed dashPattern comic labelBackgroundColor".split(" "),x="shape edgeStyle curved rounded elbow comic jumpStyle jumpSize".split(" ");this.setDefaultStyle=function(a){var d=c.view.getState(a);if(null!=d){a=a.clone();a.style="";a=c.getCellStyle(a);var b=[],g=[],f;for(f in d.style)a[f]!=d.style[f]&&(b.push(d.style[f]),g.push(f));f=c.getModel().getStyle(d.cell);for(var e=null!=f?f.split(";"):[],n=0;n<e.length;n++){var h=e[n],
-m=h.indexOf("=");0<=m&&(f=h.substring(0,m),h=h.substring(m+1),null!=a[f]&&"none"==h&&(b.push(h),g.push(f)))}c.getModel().isEdge(d.cell)?c.currentEdgeStyle={}:c.currentVertexStyle={};this.fireEvent(new mxEventObject("styleChanged","keys",g,"values",b,"cells",[d.cell]))}};this.clearDefaultStyle=function(){c.currentEdgeStyle=mxUtils.clone(c.defaultEdgeStyle);c.currentVertexStyle=mxUtils.clone(c.defaultVertexStyle);this.fireEvent(new mxEventObject("styleChanged","keys",[],"values",[],"cells",[]))};var F=
+this.getKeyHandler=function(){return keyHandler};var t="rounded shadow glass dashed dashPattern comic labelBackgroundColor".split(" "),x="shape edgeStyle curved rounded elbow comic jumpStyle jumpSize".split(" ");this.setDefaultStyle=function(a){var d=c.view.getState(a);if(null!=d){a=a.clone();a.style="";a=c.getCellStyle(a);var b=[],f=[],g;for(g in d.style)a[g]!=d.style[g]&&(b.push(d.style[g]),f.push(g));g=c.getModel().getStyle(d.cell);for(var e=null!=g?g.split(";"):[],m=0;m<e.length;m++){var h=e[m],
+n=h.indexOf("=");0<=n&&(g=h.substring(0,n),h=h.substring(n+1),null!=a[g]&&"none"==h&&(b.push(h),f.push(g)))}c.getModel().isEdge(d.cell)?c.currentEdgeStyle={}:c.currentVertexStyle={};this.fireEvent(new mxEventObject("styleChanged","keys",f,"values",b,"cells",[d.cell]))}};this.clearDefaultStyle=function(){c.currentEdgeStyle=mxUtils.clone(c.defaultEdgeStyle);c.currentVertexStyle=mxUtils.clone(c.defaultVertexStyle);this.fireEvent(new mxEventObject("styleChanged","keys",[],"values",[],"cells",[]))};var F=
["fontFamily","fontSize","fontColor"],D="edgeStyle startArrow startFill startSize endArrow endFill endSize jettySize orthogonalLoop".split(" "),G=["startArrow startFill startSize endArrow endFill endSize jettySize orthogonalLoop".split(" "),["strokeColor","strokeWidth"],["fillColor","gradientColor"],F,["opacity"],["align"],["html"]];for(a=0;a<G.length;a++)for(b=0;b<G[a].length;b++)t.push(G[a][b]);for(a=0;a<x.length;a++)0>mxUtils.indexOf(t,x[a])&&t.push(x[a]);var B=function(a,d){var b=c.getModel();
-b.beginUpdate();try{if(d)for(var f=b.isEdge(h),g=f?c.currentEdgeStyle:c.currentVertexStyle,f=["fontSize","fontFamily","fontColor"],e=0;e<f.length;e++){var n=g[f[e]];null!=n&&c.setCellStyles(f[e],n,a)}else for(n=0;n<a.length;n++){for(var h=a[n],m=b.getStyle(h),u=null!=m?m.split(";"):[],r=t.slice(),e=0;e<u.length;e++){var w=u[e],k=w.indexOf("=");if(0<=k){var D=w.substring(0,k),p=mxUtils.indexOf(r,D);0<=p&&r.splice(p,1);for(var F=0;F<G.length;F++){var l=G[F];if(0<=mxUtils.indexOf(l,D))for(var q=0;q<
-l.length;q++){var y=mxUtils.indexOf(r,l[q]);0<=y&&r.splice(y,1)}}}}for(var g=(f=b.isEdge(h))?c.currentEdgeStyle:c.currentVertexStyle,v=b.getStyle(h),e=0;e<r.length;e++){var D=r[e],B=g[D];null==B||"shape"==D&&!f||f&&!(0>mxUtils.indexOf(x,D))||(v=mxUtils.setStyle(v,D,B))}b.setStyle(h,v)}}finally{b.endUpdate()}};c.addListener("cellsInserted",function(a,d){B(d.getProperty("cells"))});c.addListener("textInserted",function(a,d){B(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"));B(b)});this.addListener("styleChanged",mxUtils.bind(this,function(a,d){var b=d.getProperty("cells"),f=!1,g=!1;if(0<b.length)for(var e=0;e<b.length&&(f=c.getModel().isVertex(b[e])||f,!(g=c.getModel().isEdge(b[e])||g)||!f);e++);else g=f=!0;for(var b=d.getProperty("keys"),n=d.getProperty("values"),e=0;e<b.length;e++){var h=0<=mxUtils.indexOf(F,b[e]);if("strokeColor"!=b[e]||null!=n[e]&&"none"!=
-n[e])if(0<=mxUtils.indexOf(x,b[e]))g||0<=mxUtils.indexOf(D,b[e])?null==n[e]?delete c.currentEdgeStyle[b[e]]:c.currentEdgeStyle[b[e]]=n[e]:f&&0<=mxUtils.indexOf(t,b[e])&&(null==n[e]?delete c.currentVertexStyle[b[e]]:c.currentVertexStyle[b[e]]=n[e]);else if(0<=mxUtils.indexOf(t,b[e])){if(f||h)null==n[e]?delete c.currentVertexStyle[b[e]]:c.currentVertexStyle[b[e]]=n[e];if(g||h||0<=mxUtils.indexOf(D,b[e]))null==n[e]?delete c.currentEdgeStyle[b[e]]:c.currentEdgeStyle[b[e]]=n[e]}}null!=this.toolbar&&(this.toolbar.setFontName(c.currentVertexStyle.fontFamily||
+b.beginUpdate();try{if(d)for(var f=b.isEdge(h),g=f?c.currentEdgeStyle:c.currentVertexStyle,f=["fontSize","fontFamily","fontColor"],e=0;e<f.length;e++){var m=g[f[e]];null!=m&&c.setCellStyles(f[e],m,a)}else for(m=0;m<a.length;m++){for(var h=a[m],n=b.getStyle(h),u=null!=n?n.split(";"):[],r=t.slice(),e=0;e<u.length;e++){var w=u[e],k=w.indexOf("=");if(0<=k){var D=w.substring(0,k),p=mxUtils.indexOf(r,D);0<=p&&r.splice(p,1);for(var q=0;q<G.length;q++){var F=G[q];if(0<=mxUtils.indexOf(F,D))for(var y=0;y<
+F.length;y++){var l=mxUtils.indexOf(r,F[y]);0<=l&&r.splice(l,1)}}}}for(var g=(f=b.isEdge(h))?c.currentEdgeStyle:c.currentVertexStyle,v=b.getStyle(h),e=0;e<r.length;e++){var D=r[e],B=g[D];null==B||"shape"==D&&!f||f&&!(0>mxUtils.indexOf(x,D))||(v=mxUtils.setStyle(v,D,B))}b.setStyle(h,v)}}finally{b.endUpdate()}};c.addListener("cellsInserted",function(a,d){B(d.getProperty("cells"))});c.addListener("textInserted",function(a,d){B(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"));B(b)});this.addListener("styleChanged",mxUtils.bind(this,function(a,d){var b=d.getProperty("cells"),f=!1,g=!1;if(0<b.length)for(var e=0;e<b.length&&(f=c.getModel().isVertex(b[e])||f,!(g=c.getModel().isEdge(b[e])||g)||!f);e++);else g=f=!0;for(var b=d.getProperty("keys"),m=d.getProperty("values"),e=0;e<b.length;e++){var h=0<=mxUtils.indexOf(F,b[e]);if("strokeColor"!=b[e]||null!=m[e]&&"none"!=
+m[e])if(0<=mxUtils.indexOf(x,b[e]))g||0<=mxUtils.indexOf(D,b[e])?null==m[e]?delete c.currentEdgeStyle[b[e]]:c.currentEdgeStyle[b[e]]=m[e]:f&&0<=mxUtils.indexOf(t,b[e])&&(null==m[e]?delete c.currentVertexStyle[b[e]]:c.currentVertexStyle[b[e]]=m[e]);else if(0<=mxUtils.indexOf(t,b[e])){if(f||h)null==m[e]?delete c.currentVertexStyle[b[e]]:c.currentVertexStyle[b[e]]=m[e];if(g||h||0<=mxUtils.indexOf(D,b[e]))null==m[e]?delete c.currentEdgeStyle[b[e]]:c.currentEdgeStyle[b[e]]=m[e]}}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=
@@ -2081,19 +2081,19 @@ EditorUi.prototype.updatePasteActionStates=function(){var a=this.editor.graph,b=
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()};var e=mxClipboard.copy;mxClipboard.copy=function(b){b.cellEditor.isContentEditing()?document.execCommand("copy",!1,null):e.apply(this,arguments);a.updatePasteActionStates()};var c=mxClipboard.paste;mxClipboard.paste=function(b){var e=null;b.cellEditor.isContentEditing()?document.execCommand("paste",
!1,null):e=c.apply(this,arguments);a.updatePasteActionStates();return e};var k=this.editor.graph.cellEditor.startEditing;this.editor.graph.cellEditor.startEditing=function(){k.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.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,c,f){if(null!=a.container){c=null!=c?c:0;f=null!=f?f:0;var g=a.pageVisible?a.view.getBackgroundPageBounds():a.getGraphBounds(),e=mxUtils.hasScrollbars(a.container),n=a.view.translate,h=a.view.scale,m=mxRectangle.fromRectangle(g);
-m.x=m.x/h-n.x;m.y=m.y/h-n.y;m.width/=h;m.height/=h;var n=a.container.scrollTop,u=a.container.scrollLeft,r=mxClient.IS_QUIRKS||8<=document.documentMode?20:14;if(8==document.documentMode||9==document.documentMode)r+=3;var t=a.container.offsetWidth-r,r=a.container.offsetHeight-r;d=d?Math.max(.3,Math.min(b||1,t/m.width)):h;b=(t-d*m.width)/2/d;var w=0==this.lightboxVerticalDivider?0:(r-d*m.height)/this.lightboxVerticalDivider/d;e&&(b=Math.max(b,0),w=Math.max(w,0));if(e||g.width<t||g.height<r)a.view.scaleAndTranslate(d,
-Math.floor(b-m.x),Math.floor(w-m.y)),a.container.scrollTop=n*d/h,a.container.scrollLeft=u*d/h;else if(0!=c||0!=f)g=a.view.translate,a.view.setTranslate(Math.floor(g.x+c/h),Math.floor(g.y+f/h))}});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",
+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,c,f){if(null!=a.container){c=null!=c?c:0;f=null!=f?f:0;var g=a.pageVisible?a.view.getBackgroundPageBounds():a.getGraphBounds(),e=mxUtils.hasScrollbars(a.container),m=a.view.translate,h=a.view.scale,n=mxRectangle.fromRectangle(g);
+n.x=n.x/h-m.x;n.y=n.y/h-m.y;n.width/=h;n.height/=h;var m=a.container.scrollTop,u=a.container.scrollLeft,r=mxClient.IS_QUIRKS||8<=document.documentMode?20:14;if(8==document.documentMode||9==document.documentMode)r+=3;var t=a.container.offsetWidth-r,r=a.container.offsetHeight-r;d=d?Math.max(.3,Math.min(b||1,t/n.width)):h;b=(t-d*n.width)/2/d;var w=0==this.lightboxVerticalDivider?0:(r-d*n.height)/this.lightboxVerticalDivider/d;e&&(b=Math.max(b,0),w=Math.max(w,0));if(e||g.width<t||g.height<r)a.view.scaleAndTranslate(d,
+Math.floor(b-n.x),Math.floor(w-n.y)),a.container.scrollTop=m*d/h,a.container.scrollLeft=u*d/h;else if(0!=c||0!=f)g=a.view.translate,a.view.setTranslate(Math.floor(g.x+c/h),Math.floor(g.y+f/h))}});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){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="50%";mxClient.IS_VML||(mxUtils.setPrefixedStyle(this.chromelessToolbar.style,"borderRadius","20px"),mxUtils.setPrefixedStyle(this.chromelessToolbar.style,"transition","opacity 600ms ease-in-out"));var k=mxUtils.bind(this,function(){var d=mxUtils.getCurrentStyle(a.container);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",k);k();var l=0,k=mxUtils.bind(this,function(a,d,b){l++;var c=document.createElement("span");c.style.paddingLeft="8px";c.style.paddingRight="8px";c.style.cursor="pointer";mxEvent.addListener(c,"click",a);null!=b&&c.setAttribute("title",b);a=document.createElement("img");a.setAttribute("border","0");a.setAttribute("src",d);c.appendChild(a);this.chromelessToolbar.appendChild(c);
return c}),q=k(mxUtils.bind(this,function(a){this.actions.get("previousPage").funct();mxEvent.consume(a)}),Editor.previousLargeImage,mxResources.get("previousPage")),p=document.createElement("div");p.style.display="inline-block";p.style.verticalAlign="top";p.style.fontFamily="Helvetica,Arial";p.style.marginTop="8px";p.style.color="#ffffff";this.chromelessToolbar.appendChild(p);var v=k(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&&(p.innerHTML="",mxUtils.write(p,mxUtils.indexOf(this.pages,this.currentPage)+1+" / "+this.pages.length))});q.style.paddingLeft="0px";q.style.paddingRight="4px";v.style.paddingLeft="4px";v.style.paddingRight="0px";var f=mxUtils.bind(this,function(){null!=this.pages&&1<this.pages.length&&null!=this.currentPage?(v.style.display="",q.style.display="",p.style.display="inline-block"):(v.style.display="none",q.style.display=
"none",p.style.display="none");d()});this.editor.addListener("resetGraphView",f);this.editor.addListener("pageSelected",d);k(mxUtils.bind(this,function(a){this.actions.get("zoomOut").funct();mxEvent.consume(a)}),Editor.zoomOutLargeImage,mxResources.get("zoomOut")+" (Alt+Mousewheel)");k(mxUtils.bind(this,function(a){this.actions.get("zoomIn").funct();mxEvent.consume(a)}),Editor.zoomInLargeImage,mxResources.get("zoomIn")+" (Alt+Mousewheel)");k(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 g=null,n=null,r=mxUtils.bind(this,function(a){null!=g&&(window.clearTimeout(g),fadeThead=null);null!=n&&(window.clearTimeout(n),fadeThead2=null);g=window.setTimeout(mxUtils.bind(this,function(){mxUtils.setOpacity(this.chromelessToolbar,0);g=null;n=window.setTimeout(mxUtils.bind(this,function(){this.chromelessToolbar.style.display="none";n=
-null}),600)}),a||200)}),h=mxUtils.bind(this,function(a){null!=g&&(window.clearTimeout(g),fadeThead=null);null!=n&&(window.clearTimeout(n),fadeThead2=null);this.chromelessToolbar.style.display="";mxUtils.setOpacity(this.chromelessToolbar,a||30)});if("1"==urlParams.layers){this.layersDialog=null;var m=k(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=m.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(d)}),Editor.layersLargeImage,mxResources.get("layers")),u=a.getModel();u.addListener(mxEvent.CHANGE,function(){m.style.display=1<u.getChildCount(u.root)?
+this.lightboxFit():a.zoomTo(1),this.chromelessResize(!1)):this.chromelessResize(!0);mxEvent.consume(d)}),Editor.actualSizeLargeImage,mxResources.get("fit"));var g=null,m=null,r=mxUtils.bind(this,function(a){null!=g&&(window.clearTimeout(g),fadeThead=null);null!=m&&(window.clearTimeout(m),fadeThead2=null);g=window.setTimeout(mxUtils.bind(this,function(){mxUtils.setOpacity(this.chromelessToolbar,0);g=null;m=window.setTimeout(mxUtils.bind(this,function(){this.chromelessToolbar.style.display="none";m=
+null}),600)}),a||200)}),h=mxUtils.bind(this,function(a){null!=g&&(window.clearTimeout(g),fadeThead=null);null!=m&&(window.clearTimeout(m),fadeThead2=null);this.chromelessToolbar.style.display="";mxUtils.setOpacity(this.chromelessToolbar,a||30)});if("1"==urlParams.layers){this.layersDialog=null;var n=k(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=n.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(d)}),Editor.layersLargeImage,mxResources.get("layers")),u=a.getModel();u.addListener(mxEvent.CHANGE,function(){n.style.display=1<u.getChildCount(u.root)?
"":"none"})}this.addChromelessToolbarItems(k);null!=this.editor.editButtonLink&&k(mxUtils.bind(this,function(d){"_blank"==this.editor.editButtonLink?this.editor.editAsNew(this.getEditBlankXml()):a.openLink(this.editor.editButtonLink,"editWindow");mxEvent.consume(d)}),Editor.editLargeImage,mxResources.get("edit"));!a.lightbox||"1"!=urlParams.close&&this.container==document.body||k(mxUtils.bind(this,function(a){"1"==urlParams.close?window.close():(this.destroy(),mxEvent.consume(a))}),Editor.closeLargeImage,
mxResources.get("close")+" (Escape)");this.chromelessToolbar.style.display="none";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)||h(30),r())}));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)?r():h(100)}));mxEvent.addListener(this.chromelessToolbar,"mousemove",mxUtils.bind(this,function(a){mxEvent.isShiftDown(a)?r():h(100);mxEvent.consume(a)}));mxEvent.addListener(this.chromelessToolbar,"mouseleave",mxUtils.bind(this,function(a){mxEvent.isTouchEvent(a)||h(30)}));var w=a.getTolerance();a.addMouseListener({startX:0,startY:0,scrollLeft:0,scrollTop:0,mouseDown:function(d,b){this.startX=
@@ -2115,8 +2115,8 @@ EditorUi.prototype.undo=function(){try{var a=this.editor.graph;if(a.isEditing())
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&&("hidden"==b.container.style.overflow?(a=b.view.translate,b.view.setTranslate(a.x-b.container.scrollLeft/b.view.scale,a.y-b.container.scrollTop/b.view.scale),b.container.scrollLeft=0,b.container.scrollTop=0,b.minimumGraphSize=null,b.sizeDidChange()):(a=b.view.translate.x,e=b.view.translate.y,b.view.translate.x=0,b.view.translate.y=
0,b.sizeDidChange(),b.container.scrollLeft-=Math.round(a*b.view.scale),b.container.scrollTop-=Math.round(e*b.view.scale)));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);a.container.scrollLeft=Math.floor(Math.min(b.x,(a.container.scrollWidth-a.container.clientWidth)/2));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,
+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(),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 a.pageVisible?(b=a.view.getBackgroundPageBounds(),a.view.setTranslate(Math.floor(Math.max(0,(a.container.clientWidth-b.width)/2)-b.x),Math.floor(Math.max(0,(a.container.clientHeight-b.height)/2)-b.y))):(b=a.getGraphBounds(),a.view.setTranslate(Math.floor(Math.max(0,Math.max(0,(a.container.clientWidth-b.width)/2)-b.x)),Math.floor(Math.max(0,Math.max(20,(a.container.clientHeight-
b.height)/4))-b.y)))};
EditorUi.prototype.setPageVisible=function(a){var b=this.editor.graph,e=mxUtils.hasScrollbars(b.container),c=0,k=0;e&&(c=b.view.translate.x*b.view.scale-b.container.scrollLeft,k=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*
@@ -2189,15 +2189,15 @@ e=g.bends.length-1:null!=h&&(2==f.length||3==f.length&&(0==Math.round(f[0].x-f[1
b.getGraphY()),e.grow(mxEdgeHandler.prototype.handleImage.width/2),null!=c.text&&null!=c.text.boundingBox&&mxUtils.contains(c.text.boundingBox,b.getGraphX(),b.getGraphY()))g="move";else if(mxUtils.contains(e,f[0].x,f[0].y)||mxUtils.contains(e,f[f.length-1].x,f[f.length-1].y))g="pointer";else if(null!=c.visibleSourceState||null!=c.visibleTargetState)h=this.view.getEdgeStyle(c),g="crosshair",h!=mxEdgeStyle.EntityRelation&&this.isOrthogonal(c)&&(h=mxUtils.findNearestSegment(c,b.getGraphX(),b.getGraphY()),
h<f.length-1&&0<=h&&(g=0==Math.round(f[h].x-f[h+1].x)?"col-resize":"row-resize"));null!=g&&c.setCursor(g)}}),mouseUp:mxUtils.bind(this,function(a,d){v=l=q=p=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,g=b.width*c,b=b.height*c,c=this.graph.view.translate,e=this.graph.view.scale,h=this.graph.getPageLayout(),n=0;n<h.width;n++)d.push(new mxRectangle(((h.x+n)*g+c.x)*e,(h.y*b+c.y)*e,g*e,b*e));for(n=0;n<h.height;n++)d.push(new mxRectangle((h.x*g+c.x)*e,((h.y+n)*b+c.y)*e,g*e,b*e));a=d.concat(a)}return a};mxDragSource.prototype.dragElementZIndex=mxPopupMenu.prototype.zIndex;mxGuide.prototype.getGuideColor=
+function(){var a=f.apply(this,arguments);if(this.graph.pageVisible){for(var d=[],b=this.graph.pageFormat,c=this.graph.pageScale,g=b.width*c,b=b.height*c,c=this.graph.view.translate,e=this.graph.view.scale,h=this.graph.getPageLayout(),m=0;m<h.width;m++)d.push(new mxRectangle(((h.x+m)*g+c.x)*e,(h.y*b+c.y)*e,g*e,b*e));for(m=0;m<h.height;m++)d.push(new mxRectangle((h.x*g+c.x)*e,((h.y+m)*b+c.y)*e,g*e,b*e));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)};this.graphHandler.getCells=function(a){for(var d=mxGraphHandler.prototype.getCells.apply(this,arguments),b=[],c=0;c<d.length;c++){var f=this.graph.view.getState(d[c]),f=null!=f?f.style:this.graph.getCellStyle(d[c]);
"1"==mxUtils.getValue(f,"part","0")?(f=this.graph.model.getParent(d[c]),this.graph.model.isVertex(f)&&0>mxUtils.indexOf(d,f)&&b.push(f)):b.push(d[c])}return b};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 g=new mxRubberband(this);
-this.getRubberband=function(){return g};var n=(new Date).getTime(),r=0,h=this.connectionHandler.mouseMove;this.connectionHandler.mouseMove=function(){var a=this.currentState;h.apply(this,arguments);a!=this.currentState?(n=(new Date).getTime(),r=0):r=(new Date).getTime()-n};var m=this.connectionHandler.isOutlineConnectEvent;this.connectionHandler.isOutlineConnectEvent=function(a){return null!=this.currentState&&a.getState()==this.currentState&&2E3<r||(null==this.currentState||"0"!=mxUtils.getValue(this.currentState.style,
-"outlineConnect","1"))&&m.apply(this,arguments)};var u=this.isToggleEvent;this.isToggleEvent=function(a){return u.apply(this,arguments)||mxEvent.isShiftDown(a)};var w=g.isForceRubberbandEvent;g.isForceRubberbandEvent=function(a){return w.apply(this,arguments)||mxUtils.hasScrollbars(this.graph.container)&&mxClient.IS_FF&&mxClient.IS_WIN&&null==a.getState()&&mxEvent.isTouchEvent(a.getEvent())};var t=null;this.panningHandler.addListener(mxEvent.PAN_START,mxUtils.bind(this,function(){this.isEnabled()&&
+this.getRubberband=function(){return g};var m=(new Date).getTime(),r=0,h=this.connectionHandler.mouseMove;this.connectionHandler.mouseMove=function(){var a=this.currentState;h.apply(this,arguments);a!=this.currentState?(m=(new Date).getTime(),r=0):r=(new Date).getTime()-m};var n=this.connectionHandler.isOutlineConnectEvent;this.connectionHandler.isOutlineConnectEvent=function(a){return null!=this.currentState&&a.getState()==this.currentState&&2E3<r||(null==this.currentState||"0"!=mxUtils.getValue(this.currentState.style,
+"outlineConnect","1"))&&n.apply(this,arguments)};var u=this.isToggleEvent;this.isToggleEvent=function(a){return u.apply(this,arguments)||mxEvent.isShiftDown(a)};var w=g.isForceRubberbandEvent;g.isForceRubberbandEvent=function(a){return w.apply(this,arguments)||mxUtils.hasScrollbars(this.graph.container)&&mxClient.IS_FF&&mxClient.IS_WIN&&null==a.getState()&&mxEvent.isTouchEvent(a.getEvent())};var t=null;this.panningHandler.addListener(mxEvent.PAN_START,mxUtils.bind(this,function(){this.isEnabled()&&
(t=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=t)}));this.popupMenuHandler.autoExpand=!0;this.popupMenuHandler.isSelectOnPopup=function(a){return mxEvent.isMouseEvent(a.getEvent())};var x=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 x.apply(this,
arguments);d=d?a.sourceState.cell:a.getCell();if(null!=d){var b=this.getLinkForCell(d);null!=b&&(this.isPageLink(b)?this.pageLinkClicked(d,b):this.openLink(b))}};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 F=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 F.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,c,f,g){g=null!=g?g:[];if(0<b||0<c){var e=this.getModel(),h=a+b,n=d+c;null==f&&(f=this.getCurrentRoot(),null==f&&(f=e.getRoot()));if(null!=f)for(var m=e.getChildCount(f),u=0;u<m;u++){var r=e.getChildAt(f,u),
-t=this.view.getState(r);if(null!=t&&this.isCellVisible(r)&&"1"!=mxUtils.getValue(t.style,"locked","0")){var w=mxUtils.getValue(t.style,mxConstants.STYLE_ROTATION)||0;0!=w&&(t=mxUtils.getBoundingBox(t,w));(e.isEdge(r)||e.isVertex(r))&&t.x>=a&&t.y+t.height<=n&&t.y>=d&&t.x+t.width<=h&&g.push(r);this.getAllCells(a,d,b,c,r,g)}}}return g};var D=this.graphHandler.shouldRemoveCellsFromParent;this.graphHandler.shouldRemoveCellsFromParent=function(a,d,b){return this.graph.isCellSelected(a)?!1:D.apply(this,
+this.isCellLocked(a)){if(null!=this.getLinkForCell(a))return"pointer";if(this.isCellLocked(a))return"default"}return F.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,c,f,g){g=null!=g?g:[];if(0<b||0<c){var e=this.getModel(),h=a+b,m=d+c;null==f&&(f=this.getCurrentRoot(),null==f&&(f=e.getRoot()));if(null!=f)for(var n=e.getChildCount(f),u=0;u<n;u++){var r=e.getChildAt(f,u),
+t=this.view.getState(r);if(null!=t&&this.isCellVisible(r)&&"1"!=mxUtils.getValue(t.style,"locked","0")){var w=mxUtils.getValue(t.style,mxConstants.STYLE_ROTATION)||0;0!=w&&(t=mxUtils.getBoundingBox(t,w));(e.isEdge(r)||e.isVertex(r))&&t.x>=a&&t.y+t.height<=m&&t.y>=d&&t.x+t.width<=h&&g.push(r);this.getAllCells(a,d,b,c,r,g)}}}return g};var D=this.graphHandler.shouldRemoveCellsFromParent;this.graphHandler.shouldRemoveCellsFromParent=function(a,d,b){return this.graph.isCellSelected(a)?!1:D.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,d){if("mouseDown"==d.getProperty("eventName")){var b=d.getProperty("event").getState();G=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"),c=d.getProperty("cell");null==c?(b=mxUtils.convertPoint(this.container,mxEvent.getClientX(b),mxEvent.getClientY(b)),g.start(b.x,b.y)):null!=G?this.addSelectionCells(G):1<this.getSelectionCount()&&this.isCellSelected(c)&&this.removeSelectionCell(c);G=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 B=this.updateMouseEvent;this.updateMouseEvent=function(a){a=B.apply(this,arguments);null!=a.state&&this.isCellLocked(a.getCell())&&(a.state=
@@ -2223,8 +2223,8 @@ Graph.prototype.isLabelMovable=function(a){var b=this.view.getState(a),b=null!=b
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,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,k=/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,l=/[^-+\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 p=e?"getUTC":"get",v=a[p+"Date"](),d=a[p+"Day"](),f=a[p+"Month"](),g=a[p+"FullYear"](),n=a[p+"Hours"](),r=a[p+"Minutes"](),h=a[p+"Seconds"](),p=a[p+"Milliseconds"](),m=e?0:a.getTimezoneOffset(),u={d:v,dd:q(v),ddd:c.i18n.dayNames[d],dddd:c.i18n.dayNames[d+7],m:f+1,mm:q(f+1),mmm:c.i18n.monthNames[f],mmmm:c.i18n.monthNames[f+
-12],yy:String(g).slice(2),yyyy:g,h:n%12||12,hh:q(n%12||12),H:n,HH:q(n),M:r,MM:q(r),s:h,ss:q(h),l:q(p,3),L:q(99<p?Math.round(p/10):p),t:12>n?"a":"p",tt:12>n?"am":"pm",T:12>n?"A":"P",TT:12>n?"AM":"PM",Z:e?"UTC":(String(a).match(k)||[""]).pop().replace(l,""),o:(0<m?"-":"+")+q(100*Math.floor(Math.abs(m)/60)+Math.abs(m)%60,4),S:["th","st","nd","rd"][3<v%10?0:(10!=v%100-v%10)*v%10]};return b.replace(/d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,function(a){return a in u?u[a]:a.slice(1,
+/\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 p=e?"getUTC":"get",v=a[p+"Date"](),d=a[p+"Day"](),f=a[p+"Month"](),g=a[p+"FullYear"](),m=a[p+"Hours"](),r=a[p+"Minutes"](),h=a[p+"Seconds"](),p=a[p+"Milliseconds"](),n=e?0:a.getTimezoneOffset(),u={d:v,dd:q(v),ddd:c.i18n.dayNames[d],dddd:c.i18n.dayNames[d+7],m:f+1,mm:q(f+1),mmm:c.i18n.monthNames[f],mmmm:c.i18n.monthNames[f+
+12],yy:String(g).slice(2),yyyy:g,h:m%12||12,hh:q(m%12||12),H:m,HH:q(m),M:r,MM:q(r),s:h,ss:q(h),l:q(p,3),L:q(99<p?Math.round(p/10):p),t:12>m?"a":"p",tt:12>m?"am":"pm",T:12>m?"A":"P",TT:12>m?"AM":"PM",Z:e?"UTC":(String(a).match(k)||[""]).pop().replace(l,""),o:(0<n?"-":"+")+q(100*Math.floor(Math.abs(n)/60)+Math.abs(n)%60,4),S:["th","st","nd","rd"][3<v%10?0:(10!=v%100-v%10)*v%10]};return b.replace(/d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,function(a){return a in u?u[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(),e=b.getChildCount(b.root),c=0;c<e;c++)(function(c){var e=document.createElement("div");e.style.overflow="hidden";e.style.textOverflow="ellipsis";e.style.padding="2px";e.style.whiteSpace="nowrap";var k=document.createElement("input");k.style.display="inline-block";k.setAttribute("type","checkbox");b.isVisible(c)&&(k.setAttribute("checked","checked"),k.defaultChecked=
!0);e.appendChild(k);var p=c.value||mxResources.get("background")||"Background";e.setAttribute("title",p);mxUtils.write(e,p);a.appendChild(e);mxEvent.addListener(k,"click",function(){null!=k.getAttribute("checked")?k.removeAttribute("checked"):k.setAttribute("checked","checked");b.setVisible(c,k.checked)})})(b.getChildAt(b.root,c));return a};
@@ -2233,9 +2233,9 @@ match.index)+(null!=l?l:k));c=match.index+k.length}}e.push(b.substring(c))}retur
Graph.prototype.connectVertex=function(a,b,e,c,k,l){l=l?l:!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 p=this.view.scale,v=this.view.translate,d=v.x*p,v=v.y*p;this.model.isVertex(e.cell)&&(d=e.x,v=e.y);this.model.isVertex(a.parent)&&a.geometry.relative&&(q.x+=a.parent.geometry.x,q.y+=a.parent.geometry.y);l=l||mxEvent.isControlDown(c)&&!k?null:this.getCellAt(d+q.x*p,v+q.y*p);this.model.isAncestor(l,a)&&(l=null);for(e=l;null!=e;){if(this.isCellLocked(e)){l=null;break}e=this.model.getParent(e)}null!=l&&(e=this.view.getState(a),p=this.view.getState(l),null!=e&&null!=p&&mxUtils.intersects(e,p)&&(l=
null));if(k=!mxEvent.isShiftDown(c)||k)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==l||this.isCellConnectable(l)||(e=this.getModel().getParent(l),this.getModel().isVertex(e)&&this.isCellConnectable(e)&&(l=e));if(l==a||this.model.isEdge(l)||!this.isCellConnectable(l))l=null;e=[];this.model.beginUpdate();try{p=l;if(null==p&&k){for(var d=a,f=this.getCellGeometry(a);null!=
-f&&f.relative;)d=this.getModel().getParent(d),f=this.getCellGeometry(d);var g=this.view.getState(d),n=null!=g?g.style:this.getCellStyle(d);if(mxUtils.getValue(n,"part",!1)){var r=this.model.getParent(d);this.model.isVertex(r)&&(d=r)}p=this.duplicateCells([d],!1)[0];f=this.getCellGeometry(p);null!=f&&(f.x=q.x-f.width/2,f.y=q.y-f.height/2)}f=null;null!=this.layoutManager&&(f=this.layoutManager.getLayout(this.model.getParent(a)));var h=mxEvent.isControlDown(c)&&k||null==l&&null!=f&&f.constructor==mxStackLayout?
-null:this.insertEdge(this.model.getParent(a),null,"",a,p,this.createCurrentEdgeStyle());if(null!=h&&this.connectionHandler.insertBeforeSource){var m=null;for(c=a;null!=c.parent&&null!=c.geometry&&c.geometry.relative&&c.parent!=h.parent;)c=this.model.getParent(c);null!=c&&null!=c.parent&&c.parent==h.parent&&(m=c.parent.getIndex(c),this.model.add(c.parent,h,m))}null==l&&null!=p&&null!=f&&null!=a.parent&&f.constructor==mxStackLayout&&b==mxConstants.DIRECTION_WEST&&(m=a.parent.getIndex(a),this.model.add(a.parent,
-p,m));null!=h&&e.push(h);null==l&&null!=p&&e.push(p);null==p&&null!=h&&h.geometry.setTerminalPoint(q,!1);null!=h&&this.fireEvent(new mxEventObject("cellsInserted","cells",[h]))}finally{this.model.endUpdate()}return e};
+f&&f.relative;)d=this.getModel().getParent(d),f=this.getCellGeometry(d);var g=this.view.getState(d),m=null!=g?g.style:this.getCellStyle(d);if(mxUtils.getValue(m,"part",!1)){var r=this.model.getParent(d);this.model.isVertex(r)&&(d=r)}p=this.duplicateCells([d],!1)[0];f=this.getCellGeometry(p);null!=f&&(f.x=q.x-f.width/2,f.y=q.y-f.height/2)}f=null;null!=this.layoutManager&&(f=this.layoutManager.getLayout(this.model.getParent(a)));var h=mxEvent.isControlDown(c)&&k||null==l&&null!=f&&f.constructor==mxStackLayout?
+null:this.insertEdge(this.model.getParent(a),null,"",a,p,this.createCurrentEdgeStyle());if(null!=h&&this.connectionHandler.insertBeforeSource){var n=null;for(c=a;null!=c.parent&&null!=c.geometry&&c.geometry.relative&&c.parent!=h.parent;)c=this.model.getParent(c);null!=c&&null!=c.parent&&c.parent==h.parent&&(n=c.parent.getIndex(c),this.model.add(c.parent,h,n))}null==l&&null!=p&&null!=f&&null!=a.parent&&f.constructor==mxStackLayout&&b==mxConstants.DIRECTION_WEST&&(n=a.parent.getIndex(a),this.model.add(a.parent,
+p,n));null!=h&&e.push(h);null==l&&null!=p&&e.push(p);null==p&&null!=h&&h.geometry.setTerminalPoint(q,!1);null!=h&&this.fireEvent(new mxEventObject("cellsInserted","cells",[h]))}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};
@@ -2287,16 +2287,16 @@ this.setDisplay("");null!=this.currentState&&this.currentState!=a&&c<this.activa
this.reset())}else 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){var c=this.getState(a);null!=c&&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&&this.graph.model.isEdge(c.cell)&&1!=c.style[mxConstants.STYLE_CURVED]&&this.validEdges.push(c);return c};var e=mxCellRenderer.prototype.isShapeInvalid;mxCellRenderer.prototype.isShapeInvalid=function(a,d){return e.apply(this,arguments)||null!=a.routedPoints&&null!=d.routedPoints&&!mxUtils.equalPoints(d.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 d=a.absolutePoints;if(Graph.lineJumpsEnabled){var b=null!=a.routedPoints,c=null;if(null!=d&&null!=this.validEdges&&"none"!==mxUtils.getValue(a.style,"jumpStyle","none")){for(var e=function(d,b,f){var g=new mxPoint(b,f);g.type=d;c.push(g);g=null!=a.routedPoints?a.routedPoints[c.length-1]:null;return null==g||g.type!=d||g.x!=b||g.y!=f},r=.5*this.scale,b=!1,c=[],h=0;h<d.length-1;h++){for(var m=d[h+1],u=d[h],w=[],t=d[h+2];h<
-d.length-2&&mxUtils.ptSegDistSq(u.x,u.y,t.x,t.y,m.x,m.y)<1*this.scale*this.scale;)m=t,h++,t=d[h+2];for(var b=e(0,u.x,u.y)||b,x=0;x<this.validEdges.length;x++){var k=this.validEdges[x],p=k.absolutePoints;if(null!=p&&mxUtils.intersects(a,k)&&"1"!=k.style.noJump)for(k=0;k<p.length-1;k++){for(var l=p[k+1],q=p[k],t=p[k+2];k<p.length-2&&mxUtils.ptSegDistSq(q.x,q.y,t.x,t.y,l.x,l.y)<1*this.scale*this.scale;)l=t,k++,t=p[k+2];t=mxUtils.intersection(u.x,u.y,m.x,m.y,q.x,q.y,l.x,l.y);if(null!=t&&(Math.abs(t.x-
+this.updateLineJumps(a)};mxGraphView.prototype.updateLineJumps=function(a){var d=a.absolutePoints;if(Graph.lineJumpsEnabled){var b=null!=a.routedPoints,c=null;if(null!=d&&null!=this.validEdges&&"none"!==mxUtils.getValue(a.style,"jumpStyle","none")){for(var e=function(d,b,f){var g=new mxPoint(b,f);g.type=d;c.push(g);g=null!=a.routedPoints?a.routedPoints[c.length-1]:null;return null==g||g.type!=d||g.x!=b||g.y!=f},r=.5*this.scale,b=!1,c=[],h=0;h<d.length-1;h++){for(var n=d[h+1],u=d[h],w=[],t=d[h+2];h<
+d.length-2&&mxUtils.ptSegDistSq(u.x,u.y,t.x,t.y,n.x,n.y)<1*this.scale*this.scale;)n=t,h++,t=d[h+2];for(var b=e(0,u.x,u.y)||b,x=0;x<this.validEdges.length;x++){var k=this.validEdges[x],p=k.absolutePoints;if(null!=p&&mxUtils.intersects(a,k)&&"1"!=k.style.noJump)for(k=0;k<p.length-1;k++){for(var l=p[k+1],q=p[k],t=p[k+2];k<p.length-2&&mxUtils.ptSegDistSq(q.x,q.y,t.x,t.y,l.x,l.y)<1*this.scale*this.scale;)l=t,k++,t=p[k+2];t=mxUtils.intersection(u.x,u.y,n.x,n.y,q.x,q.y,l.x,l.y);if(null!=t&&(Math.abs(t.x-
q.x)>r||Math.abs(t.y-q.y)>r)&&(Math.abs(t.x-l.x)>r||Math.abs(t.y-l.y)>r)){l=t.x-u.x;q=t.y-u.y;t={distSq:l*l+q*q,x:t.x,y:t.y};for(l=0;l<w.length;l++)if(w[l].distSq>t.distSq){w.splice(l,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(k=0;k<w.length;k++)b=e(1,w[k].x,w[k].y)||b}t=d[d.length-1];b=e(0,t.x,t.y)||b}a.routedPoints=c;return b}return!1};var k=mxConnector.prototype.paintLine;mxConnector.prototype.paintLine=function(a,d,b){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)k.apply(this,arguments);else{var c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2,f=(parseInt(mxUtils.getValue(this.style,"jumpSize",Graph.defaultJumpSize))-2)/2+this.strokewidth,e=mxUtils.getValue(this.style,"jumpStyle","none"),h,m=!0,u=null,w=null;h=[];var t=null;a.begin();for(var x=0;x<this.state.routedPoints.length;x++){var p=
+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)k.apply(this,arguments);else{var c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2,f=(parseInt(mxUtils.getValue(this.style,"jumpSize",Graph.defaultJumpSize))-2)/2+this.strokewidth,e=mxUtils.getValue(this.style,"jumpStyle","none"),h,n=!0,u=null,w=null;h=[];var t=null;a.begin();for(var x=0;x<this.state.routedPoints.length;x++){var p=
this.state.routedPoints[x],l=new mxPoint(p.x/this.scale,p.y/this.scale);0==x?l=d[0]:x==this.state.routedPoints.length-1&&(l=d[d.length-1]);var q=!1;if(null!=u&&1==p.type){var v=this.state.routedPoints[x+1],p=v.x/this.scale-l.x,v=v.y/this.scale-l.y,p=p*p+v*v;null==t&&(t=new mxPoint(l.x-u.x,l.y-u.y),w=Math.sqrt(t.x*t.x+t.y*t.y),t.x=t.x*f/w,t.y=t.y*f/w);p>f*f&&0<w&&(p=u.x-l.x,v=u.y-l.y,p=p*p+v*v,p>f*f&&(q=new mxPoint(l.x-t.x,l.y-t.y),p=new mxPoint(l.x+t.x,l.y+t.y),h.push(q),this.addPoints(a,h,b,c,!1,
-null,m),h=0>Math.round(t.x)||0==Math.round(t.x)&&0>=Math.round(t.y)?1:-1,m=!1,"sharp"==e?(a.lineTo(q.x-t.y*h,q.y+t.x*h),a.lineTo(p.x-t.y*h,p.y+t.x*h),a.lineTo(p.x,p.y)):"arc"==e?(h*=1.3,a.curveTo(q.x-t.y*h,q.y+t.x*h,p.x-t.y*h,p.y+t.x*h,p.x,p.y)):(a.moveTo(p.x,p.y),m=!0),h=[p],q=!0))}else t=null;q||(h.push(l),u=l)}this.addPoints(a,h,b,c,!1,null,m);a.stroke()}};var l=mxGraphView.prototype.updateFloatingTerminalPoint;mxGraphView.prototype.updateFloatingTerminalPoint=function(a,d,b,c){if(null==d||null==
-a||"1"!=d.style.snapToPoint&&"1"!=a.style.snapToPoint)l.apply(this,arguments);else{d=this.getTerminalPort(a,d,c);var f=this.getNextPoint(a,b,c),g=this.graph.isOrthogonal(a),e=mxUtils.toRadians(Number(d.style[mxConstants.STYLE_ROTATION]||"0")),m=new mxPoint(d.getCenterX(),d.getCenterY());if(0!=e)var u=Math.cos(-e),w=Math.sin(-e),f=mxUtils.getRotatedPoint(f,u,w,m);u=parseFloat(a.style[mxConstants.STYLE_PERIMETER_SPACING]||0);u+=parseFloat(a.style[c?mxConstants.STYLE_SOURCE_PERIMETER_SPACING:mxConstants.STYLE_TARGET_PERIMETER_SPACING]||
-0);f=this.getPerimeterPoint(d,f,0==e&&g,u);0!=e&&(u=Math.cos(e),w=Math.sin(e),f=mxUtils.getRotatedPoint(f,u,w,m));a.setAbsoluteTerminalPoint(this.snapToAnchorPoint(a,d,b,c,f),c)}};mxGraphView.prototype.snapToAnchorPoint=function(a,d,b,c,e){if(null!=d&&null!=a){a=this.graph.getAllConnectionConstraints(d);c=b=null;for(var f=0;f<a.length;f++){var g=this.graph.getConnectionPoint(d,a[f]);if(null!=g){var m=(g.x-e.x)*(g.x-e.x)+(g.y-e.y)*(g.y-e.y);if(null==c||m<c)b=g,c=m}}null!=b&&(e=b)}return e};var q=mxStencil.prototype.evaluateTextAttribute;
+null,n),h=0>Math.round(t.x)||0==Math.round(t.x)&&0>=Math.round(t.y)?1:-1,n=!1,"sharp"==e?(a.lineTo(q.x-t.y*h,q.y+t.x*h),a.lineTo(p.x-t.y*h,p.y+t.x*h),a.lineTo(p.x,p.y)):"arc"==e?(h*=1.3,a.curveTo(q.x-t.y*h,q.y+t.x*h,p.x-t.y*h,p.y+t.x*h,p.x,p.y)):(a.moveTo(p.x,p.y),n=!0),h=[p],q=!0))}else t=null;q||(h.push(l),u=l)}this.addPoints(a,h,b,c,!1,null,n);a.stroke()}};var l=mxGraphView.prototype.updateFloatingTerminalPoint;mxGraphView.prototype.updateFloatingTerminalPoint=function(a,d,b,c){if(null==d||null==
+a||"1"!=d.style.snapToPoint&&"1"!=a.style.snapToPoint)l.apply(this,arguments);else{d=this.getTerminalPort(a,d,c);var f=this.getNextPoint(a,b,c),g=this.graph.isOrthogonal(a),e=mxUtils.toRadians(Number(d.style[mxConstants.STYLE_ROTATION]||"0")),n=new mxPoint(d.getCenterX(),d.getCenterY());if(0!=e)var u=Math.cos(-e),w=Math.sin(-e),f=mxUtils.getRotatedPoint(f,u,w,n);u=parseFloat(a.style[mxConstants.STYLE_PERIMETER_SPACING]||0);u+=parseFloat(a.style[c?mxConstants.STYLE_SOURCE_PERIMETER_SPACING:mxConstants.STYLE_TARGET_PERIMETER_SPACING]||
+0);f=this.getPerimeterPoint(d,f,0==e&&g,u);0!=e&&(u=Math.cos(e),w=Math.sin(e),f=mxUtils.getRotatedPoint(f,u,w,n));a.setAbsoluteTerminalPoint(this.snapToAnchorPoint(a,d,b,c,f),c)}};mxGraphView.prototype.snapToAnchorPoint=function(a,d,b,c,e){if(null!=d&&null!=a){a=this.graph.getAllConnectionConstraints(d);c=b=null;for(var f=0;f<a.length;f++){var g=this.graph.getConnectionPoint(d,a[f]);if(null!=g){var n=(g.x-e.x)*(g.x-e.x)+(g.y-e.y)*(g.y-e.y);if(null==c||n<c)b=g,c=n}}null!=b&&(e=b)}return e};var q=mxStencil.prototype.evaluateTextAttribute;
mxStencil.prototype.evaluateTextAttribute=function(a,d,b){var c=q.apply(this,arguments);"1"==a.getAttribute("placeholders")&&null!=b.state&&(c=b.state.view.graph.replacePlaceholders(b.state.cell,c));return c};var p=mxCellRenderer.prototype.createShape;mxCellRenderer.prototype.createShape=function(a){if(null!=a.style&&"undefined"!==typeof pako){var d=mxUtils.getValue(a.style,mxConstants.STYLE_SHAPE,null);if(null!=d&&"stencil("==d.substring(0,8))try{var b=d.substring(8,d.length-1),c=mxUtils.parseXml(a.view.graph.decompress(b));
-return new mxShape(new mxStencil(c.documentElement))}catch(n){null!=window.console&&console.log("Error in shape: "+n)}}return p.apply(this,arguments)}})();mxStencilRegistry.libraries={};mxStencilRegistry.dynamicLoading=!0;mxStencilRegistry.allowEval=!0;mxStencilRegistry.packages=[];
+return new mxShape(new mxStencil(c.documentElement))}catch(m){null!=window.console&&console.log("Error in shape: "+m)}}return p.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 k=b[c];if(".xml"==k.toLowerCase().substring(k.length-4,k.length))mxStencilRegistry.loadStencilSet(k,null);else if(".js"==k.toLowerCase().substring(k.length-3,k.length))try{if(mxStencilRegistry.allowEval){var l=
mxUtils.load(k);null!=l&&200<=l.getStatus()&&299>=l.getStatus()&&eval.call(window,l.getText())}}catch(q){null!=window.console&&console.log("error in getStencil:",k,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&&(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};
@@ -2311,50 +2311,50 @@ for(var d in this.graph.currentEdgeStyle)a.style[d]=this.graph.currentEdgeStyle[
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+";");"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.importGraphModel=function(a,d,b,c){d=null!=d?
-d:0;b=null!=b?b:0;var f=[],e=new mxGraphModel;(new mxCodec(a.ownerDocument)).decode(a,e);a=e.getChildCount(e.getRoot());this.model.getChildCount(this.model.getRoot());this.model.beginUpdate();try{for(var g={},h=0;h<a;h++){var m=e.getChildAt(e.getRoot(),h);if(1!=a||this.isCellLocked(this.getDefaultParent()))m=this.importCells([m],0,0,this.model.getRoot(),null,g)[0],n=this.model.getChildren(m),this.moveCells(n,d,b),f=f.concat(n);else var n=e.getChildren(m),f=f.concat(this.importCells(n,d,b,this.getDefaultParent(),
-null,g))}if(c){this.isGridEnabled()&&(d=this.snap(d),b=this.snap(b));var u=this.getBoundingBoxFromGeometry(f,!0);null!=u&&this.moveCells(f,d-u.x,b-u.y)}}finally{this.model.endUpdate()}return f};Graph.prototype.getAllConnectionConstraints=function(a,d){if(null!=a){var b=mxUtils.getValue(a.style,"points",null);if(null!=b){var c=[];try{for(var f=JSON.parse(b),b=0;b<f.length;b++){var e=f[b];c.push(new mxConnectionConstraint(new mxPoint(e[0],e[1]),2<e.length?"0"!=e[2]:!0))}}catch(O){}return c}if(null!=
+d:0;b=null!=b?b:0;var f=[],g=new mxGraphModel;(new mxCodec(a.ownerDocument)).decode(a,g);a=g.getChildCount(g.getRoot());this.model.getChildCount(this.model.getRoot());this.model.beginUpdate();try{for(var e={},h=0;h<a;h++){var n=g.getChildAt(g.getRoot(),h);if(1!=a||this.isCellLocked(this.getDefaultParent()))n=this.importCells([n],0,0,this.model.getRoot(),null,e)[0],m=this.model.getChildren(n),this.moveCells(m,d,b),f=f.concat(m);else var m=g.getChildren(n),f=f.concat(this.importCells(m,d,b,this.getDefaultParent(),
+null,e))}if(c){this.isGridEnabled()&&(d=this.snap(d),b=this.snap(b));var u=this.getBoundingBoxFromGeometry(f,!0);null!=u&&this.moveCells(f,d-u.x,b-u.y)}}finally{this.model.endUpdate()}return f};Graph.prototype.getAllConnectionConstraints=function(a,d){if(null!=a){var b=mxUtils.getValue(a.style,"points",null);if(null!=b){var c=[];try{for(var f=JSON.parse(b),b=0;b<f.length;b++){var g=f[b];c.push(new mxConnectionConstraint(new mxPoint(g[0],g[1]),2<g.length?"0"!=g[2]:!0))}}catch(O){}return c}if(null!=
a.shape)if(null!=a.shape.stencil){if(null!=a.shape.stencil)return a.shape.stencil.constraints}else 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,c=0;c<d;c++){var f=this.model.getChildAt(a,c);this.model.isVertex(f)&&(f=this.getCellGeometry(f),null==f||f.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 c=0;c<a.length;c++){var f=a[c];if(d.isEdge(f)){var e=d.getTerminal(f,!0),g=d.getTerminal(f,!1);d.setTerminal(f,g,!0);d.setTerminal(f,e,!1);var h=d.getGeometry(f);if(null!=h){h=h.clone();null!=h.points&&h.points.reverse();var m=h.getTerminalPoint(!0),n=h.getTerminalPoint(!1);
-h.setTerminalPoint(m,!1);h.setTerminalPoint(n,!0);d.setGeometry(f,h);var u=this.view.getState(f),r=this.view.getState(e),t=this.view.getState(g);if(null!=u){var w=null!=r?this.getConnectionConstraint(u,r,!0):null,Q=null!=t?this.getConnectionConstraint(u,t,!1):null;this.setConnectionConstraint(f,e,!0,Q);this.setConnectionConstraint(f,g,!1,w)}b.push(f)}}else if(d.isVertex(f)&&(h=this.getCellGeometry(f),null!=h)){h=h.clone();h.x+=h.width/2-h.height/2;h.y+=h.height/2-h.width/2;var x=h.width;h.width=h.height;
-h.height=x;d.setGeometry(f,h);var k=this.view.getState(f);if(null!=k){var p=k.style[mxConstants.STYLE_DIRECTION]||"east";"east"==p?p="south":"south"==p?p="west":"west"==p?p="north":"north"==p&&(p="east");this.setCellStyles(mxConstants.STYLE_DIRECTION,p,[f])}b.push(f)}}}finally{d.endUpdate()}return b};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);
+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 c=0;c<a.length;c++){var f=a[c];if(d.isEdge(f)){var g=d.getTerminal(f,!0),e=d.getTerminal(f,!1);d.setTerminal(f,e,!0);d.setTerminal(f,g,!1);var h=d.getGeometry(f);if(null!=h){h=h.clone();null!=h.points&&h.points.reverse();var n=h.getTerminalPoint(!0),m=h.getTerminalPoint(!1);
+h.setTerminalPoint(n,!1);h.setTerminalPoint(m,!0);d.setGeometry(f,h);var u=this.view.getState(f),r=this.view.getState(g),t=this.view.getState(e);if(null!=u){var w=null!=r?this.getConnectionConstraint(u,r,!0):null,Q=null!=t?this.getConnectionConstraint(u,t,!1):null;this.setConnectionConstraint(f,g,!0,Q);this.setConnectionConstraint(f,e,!1,w)}b.push(f)}}else if(d.isVertex(f)&&(h=this.getCellGeometry(f),null!=h)){h=h.clone();h.x+=h.width/2-h.height/2;h.y+=h.height/2-h.width/2;var k=h.width;h.width=h.height;
+h.height=k;d.setGeometry(f,h);var x=this.view.getState(f);if(null!=x){var p=x.style[mxConstants.STYLE_DIRECTION]||"east";"east"==p?p="south":"south"==p?p="west":"west"==p?p="north":"north"==p&&(p="east");this.setCellStyles(mxConstants.STYLE_DIRECTION,p,[f])}b.push(f)}}}finally{d.endUpdate()}return b};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++)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.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 e=this.convertValueToString(a[f]);if(null!=e&&0<e.length){c.innerHTML=e;for(var g=c.getElementsByTagName(null!=b?b:"*"),h=0;h<g.length;h++)d(g[h]);c.innerHTML!=e&&this.cellLabelChanged(a[f],c.innerHTML)}}};Graph.prototype.cellLabelChanged=function(a,d,b){d=this.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 e=a.value.cloneNode(!0);e.setAttribute("label",d);d=e}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)){var e=mxUtils.getValue(f.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),g=mxUtils.getValue(f.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE);if(e==mxConstants.NONE&&g==mxConstants.NONE){e=!0;for(g=0;g<this.model.getChildCount(f.cell)&&e;g++)d.get(this.model.getChildAt(f.cell,g))||(e=!1);e&&a.push(f.cell)}}}mxGraph.prototype.cellsRemoved.apply(this,
+0;f<a.length;f++)if(this.isHtmlLabel(a[f])){var g=this.convertValueToString(a[f]);if(null!=g&&0<g.length){c.innerHTML=g;for(var e=c.getElementsByTagName(null!=b?b:"*"),h=0;h<e.length;h++)d(e[h]);c.innerHTML!=g&&this.cellLabelChanged(a[f],c.innerHTML)}}};Graph.prototype.cellLabelChanged=function(a,d,b){d=this.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 g=a.value.cloneNode(!0);g.setAttribute("label",d);d=g}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)){var g=mxUtils.getValue(f.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),e=mxUtils.getValue(f.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE);if(g==mxConstants.NONE&&e==mxConstants.NONE){g=!0;for(e=0;e<this.model.getChildCount(f.cell)&&g;e++)d.get(this.model.getChildAt(f.cell,e))||(g=!1);g&&a.push(f.cell)}}}mxGraph.prototype.cellsRemoved.apply(this,
arguments)};Graph.prototype.removeCellsAfterUngroup=function(a){for(var d=[],b=0;b<a.length;b++)if(this.isCellDeletable(a[b])){var c=this.view.getState(a[b]);if(null!=c){var f=mxUtils.getValue(c.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),c=mxUtils.getValue(c.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE);f==mxConstants.NONE&&c==mxConstants.NONE&&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.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&&0<b.length?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&&(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;resizable=0;points=[];";c.geometry=new mxGeometry(0,0,0,0);c.vertex=!0;if(null!=b){c.style+="align=center;verticalAlign=middle;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),e=this.view.scale;c.geometry.offset=new mxPoint(Math.round((a-f.x)/e),Math.round((d-f.y)/e))}else c.style+="autosize=1;align=left;verticalAlign=top;spacingTop=-4;",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)-
+!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),g=this.view.scale;c.geometry.offset=new mxPoint(Math.round((a-f.x)/g),Math.round((d-f.y)/g))}else c.style+="autosize=1;align=left;verticalAlign=top;spacingTop=-4;",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.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.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("href",c),null!=d&&mxEvent.addGestureListeners(a[b],null,null,d))}});this.model.addListener(mxEvent.CHANGE,c);c();var f=this.container.style.cursor,e=this.getTolerance(),g=this,h={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>e||c>e)&&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(),h=c.getEvent();null!=f&&"a"!=f.nodeName.toLowerCase();)f=f.parentNode;null==f&&Math.abs(this.scrollLeft-g.container.scrollLeft)<e&&Math.abs(this.scrollTop-g.container.scrollTop)<e&&(null==c.sourceState||!c.isSource(c.sourceState.control))&&((mxEvent.isLeftMouseButton(h)||mxEvent.isMiddleMouseButton(h))&&!mxEvent.isPopupTrigger(h)||
-mxEvent.isTouchEvent(h))&&(null!=this.currentLink?(f=g.isBlankLink(this.currentLink),"data:"!==this.currentLink.substring(0,5)&&f||null==d||d(h,this.currentLink),mxEvent.isConsumed(h)||(h=mxEvent.isMiddleMouseButton(h)?"_blank":f?g.linkTarget:"_top",g.openLink(this.currentLink,h),c.consume())):null!=b&&!c.isConsumed()&&Math.abs(this.scrollLeft-g.container.scrollLeft)<e&&Math.abs(this.scrollTop-g.container.scrollTop)<e&&Math.abs(this.startX-c.getGraphX())<e&&Math.abs(this.startY-c.getGraphY())<e&&
-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(h);mxEvent.addListener(document,"mouseleave",
-function(a){h.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 g=this.cloneCells(a,!1),e=0;e<a.length;e++){var h=b.getParent(a[e]),m=this.moveCells([g[e]],c,c,!1)[0];f.push(m);if(d)b.add(h,g[e]);else{var n=h.getIndex(a[e]);b.add(h,g[e],n+1)}}}finally{b.endUpdate()}return f};Graph.prototype.insertImage=function(a,d,b){if(null!=a){for(var c=
-this.cellEditor.textarea.getElementsByTagName("img"),f=[],e=0;e<c.length;e++)f.push(c[e]);document.execCommand("insertimage",!1,a);a=this.cellEditor.textarea.getElementsByTagName("img");if(a.length==f.length+1)for(e=a.length-1;0<=e;e--)if(0==e||a[e]!=f[e-1]){a[e].setAttribute("width",d);a[e].setAttribute("height",b);break}}};Graph.prototype.insertLink=function(a){0==a.length?document.execCommand("unlink",!1):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,e=0;e<d.length;e++)if(this.getModel().isVertex(d[e])){var g=this.view.getState(d[e]);if(null!=g){var h=a?g.getCenterX():g.getCenterY(),c=
-null!=c?Math.max(c,h):h,f=null!=f?Math.min(f,h):h;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;h=this.view.scale;f=f/h-(a?g.x:g.y);c=c/h-(a?g.x:g.y);this.getModel().beginUpdate();try{for(var m=(c-f)/(b.length-1),c=f,e=1;e<b.length-1;e++){var n=this.view.getState(this.model.getParent(b[e].cell)),u=this.getCellGeometry(b[e].cell),c=c+m;null!=u&&null!=n&&(u=u.clone(),a?u.x=Math.round(c-u.width/2)-n.origin.x:u.y=Math.round(c-u.height/2)-n.origin.y,this.getModel().setGeometry(b[e].cell,
-u))}}finally{this.getModel().endUpdate()}}}return d};Graph.prototype.isCloneEvent=function(a){return mxClient.IS_MAC&&mxEvent.isMetaDown(a)||mxEvent.isControlDown(a)};Graph.prototype.encodeCells=function(a){for(var d=this.cloneCells(a),b=new mxDictionary,c=0;c<a.length;c++)b.put(a[c],!0);for(c=0;c<d.length;c++){var f=this.view.getState(a[c]);if(null!=f){var e=this.getCellGeometry(d[c]);null==e||!e.relative||this.model.isEdge(a[c])||b.get(this.model.getParent(a[c]))||(e.relative=!1,e.x=f.x/f.view.scale-
-f.view.translate.x,e.y=f.y/f.view.scale-f.view.translate.y)}}b=new mxCodec;f=new mxGraphModel;e=f.getChildAt(f.getRoot(),0);for(c=0;c<a.length;c++)f.add(e,d[c]);return b.encode(f)};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,e,g,h){d=null!=d?d:1;b=null!=b?b:0;f=null!=f?f:!0;e=null!=e?e:!0;g=null!=g?g:!0;c=e||c?this.getGraphBounds():
-this.getBoundingBox(this.getSelectionCells());if(null==c)throw Error(mxResources.get("drawingEmpty"));var m=this.view.scale,n=mxUtils.createXmlDocument(),u=null!=n.createElementNS?n.createElementNS(mxConstants.NS_SVG,"svg"):n.createElement("svg");null!=a&&(null!=u.style?u.style.backgroundColor=a:u.setAttribute("style","background-color:"+a));null==n.createElementNS?(u.setAttribute("xmlns",mxConstants.NS_SVG),u.setAttribute("xmlns:xlink",mxConstants.NS_XLINK)):u.setAttributeNS("http://www.w3.org/2000/xmlns/",
-"xmlns:xlink",mxConstants.NS_XLINK);a=d/m;u.setAttribute("width",Math.max(1,Math.ceil(c.width*a)+2*b)+"px");u.setAttribute("height",Math.max(1,Math.ceil(c.height*a)+2*b)+"px");u.setAttribute("version","1.1");var r=u;f&&(r=null!=n.createElementNS?n.createElementNS(mxConstants.NS_SVG,"g"):n.createElement("g"),r.setAttribute("transform","translate(0.5,0.5)"),u.appendChild(r));n.appendChild(u);n=this.createSvgCanvas(r);n.foOffset=f?-.5:0;n.textOffset=f?-.5:0;n.imageOffset=f?-.5:0;n.translate(Math.floor((b/
-d-c.x)/m),Math.floor((b/d-c.y)/m));var t=document.createElement("textarea"),w=n.createAlternateContent;n.createAlternateContent=function(a,d,b,c,f,e,g,h,n,m,u,r,x){var k=this.state;if(null!=this.foAltText&&(0==c||0!=k.fontSize&&e.length<5*c/k.fontSize)){var p=this.createElement("text");p.setAttribute("x",Math.round(c/2));p.setAttribute("y",Math.round((f+k.fontSize)/2));p.setAttribute("fill",k.fontColor||"black");p.setAttribute("text-anchor","middle");p.setAttribute("font-size",Math.round(k.fontSize)+
-"px");p.setAttribute("font-family",k.fontFamily);(k.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&p.setAttribute("font-weight","bold");(k.fontStyle&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&p.setAttribute("font-style","italic");(k.fontStyle&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&p.setAttribute("text-decoration","underline");try{return t.innerHTML=e,p.textContent=t.value,p}catch(Ba){return w.apply(this,arguments)}}else return w.apply(this,arguments)};b=this.backgroundImage;
-null!=b&&(f=m/d,d=this.view.translate,f=new mxRectangle(d.x*f,d.y*f,b.width*f,b.height*f),mxUtils.intersects(c,f)&&n.image(d.x,d.y,b.width,b.height,b.src,!0));n.scale(a);n.textEnabled=g;h=null!=h?h:this.createSvgImageExport();var x=h.drawCellState;h.drawCellState=function(a,d){for(var b=a.view.graph,c=b.isCellSelected(a.cell),f=b.model.getParent(a.cell);!e&&!c&&null!=f;)c=b.isCellSelected(f),f=b.model.getParent(f);(e||c)&&x.apply(this,arguments)};h.drawState(this.getView().getState(this.model.root),
-n);return u};Graph.prototype.createSvgCanvas=function(a){return new mxSvgCanvas2D(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.selectNode=
+if(null!=a)for(var b=0;b<a.length;b++){var c=this.getAbsoluteUrl(a[b].getAttribute("href"));null!=c&&(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,g=this.getTolerance(),e=this,h={currentState:null,currentLink:null,highlight:null!=a&&""!=a&&a!=mxConstants.NONE?new mxCellHighlight(e,a,4):null,startX:0,startY:0,scrollLeft:0,scrollTop:0,updateCurrentState:function(a){var d=a.sourceState;
+if(null==d||null==e.getLinkForCell(d.cell))a=e.getCellAt(a.getGraphX(),a.getGraphY(),null,null,null,function(a,d,b){return null==e.getLinkForCell(a.cell)}),d=e.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=e.container.scrollLeft;this.scrollTop=e.container.scrollTop;null==this.currentLink&&"auto"==
+e.container.style.overflow&&(e.container.style.cursor="move");this.updateCurrentState(d)},mouseMove:function(a,d){if(e.isMouseDown){if(null!=this.currentLink){var b=Math.abs(this.startX-d.getGraphX()),c=Math.abs(this.startY-d.getGraphY());(b>g||c>g)&&this.clear()}}else{for(b=d.getSource();null!=b&&"a"!=b.nodeName.toLowerCase();)b=b.parentNode;null!=b?this.clear():(null!=e.tooltipHandler&&null!=this.currentLink&&null!=this.currentState&&e.tooltipHandler.reset(d,!0,this.currentState),(null==this.currentState||
+d.getState()!=this.currentState&&null!=d.sourceState||!e.intersects(this.currentState,d.getGraphX(),d.getGraphY()))&&this.updateCurrentState(d))}},mouseUp:function(a,c){for(var f=c.getSource(),h=c.getEvent();null!=f&&"a"!=f.nodeName.toLowerCase();)f=f.parentNode;null==f&&Math.abs(this.scrollLeft-e.container.scrollLeft)<g&&Math.abs(this.scrollTop-e.container.scrollTop)<g&&(null==c.sourceState||!c.isSource(c.sourceState.control))&&((mxEvent.isLeftMouseButton(h)||mxEvent.isMiddleMouseButton(h))&&!mxEvent.isPopupTrigger(h)||
+mxEvent.isTouchEvent(h))&&(null!=this.currentLink?(f=e.isBlankLink(this.currentLink),"data:"!==this.currentLink.substring(0,5)&&f||null==d||d(h,this.currentLink),mxEvent.isConsumed(h)||(h=mxEvent.isMiddleMouseButton(h)?"_blank":f?e.linkTarget:"_top",e.openLink(this.currentLink,h),c.consume())):null!=b&&!c.isConsumed()&&Math.abs(this.scrollLeft-e.container.scrollLeft)<g&&Math.abs(this.scrollTop-e.container.scrollTop)<g&&Math.abs(this.startX-c.getGraphX())<g&&Math.abs(this.startY-c.getGraphY())<g&&
+b(c.getEvent()));this.clear()},activate:function(a){this.currentLink=e.getAbsoluteUrl(e.getLinkForCell(a.cell));null!=this.currentLink&&(e.container.style.cursor="pointer",null!=this.highlight&&this.highlight.highlight(a))},clear:function(){null!=e.container&&(e.container.style.cursor=f);this.currentLink=this.currentState=null;null!=this.highlight&&this.highlight.hide();null!=e.tooltipHandler&&e.tooltipHandler.hide()}};e.click=function(a){};e.addMouseListener(h);mxEvent.addListener(document,"mouseleave",
+function(a){h.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 g=this.cloneCells(a,!1),e=0;e<a.length;e++){var h=b.getParent(a[e]),n=this.moveCells([g[e]],c,c,!1)[0];f.push(n);if(d)b.add(h,g[e]);else{var m=h.getIndex(a[e]);b.add(h,g[e],m+1)}}}finally{b.endUpdate()}return f};Graph.prototype.insertImage=function(a,d,b){if(null!=a){for(var c=
+this.cellEditor.textarea.getElementsByTagName("img"),f=[],g=0;g<c.length;g++)f.push(c[g]);document.execCommand("insertimage",!1,a);a=this.cellEditor.textarea.getElementsByTagName("img");if(a.length==f.length+1)for(g=a.length-1;0<=g;g--)if(0==g||a[g]!=f[g-1]){a[g].setAttribute("width",d);a[g].setAttribute("height",b);break}}};Graph.prototype.insertLink=function(a){0==a.length?document.execCommand("unlink",!1):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,g=0;g<d.length;g++)if(this.getModel().isVertex(d[g])){var e=this.view.getState(d[g]);if(null!=e){var h=a?e.getCenterX():e.getCenterY(),c=
+null!=c?Math.max(c,h):h,f=null!=f?Math.min(f,h):h;b.push(e)}}if(2<b.length){b.sort(function(d,b){return a?d.x-b.x:d.y-b.y});e=this.view.translate;h=this.view.scale;f=f/h-(a?e.x:e.y);c=c/h-(a?e.x:e.y);this.getModel().beginUpdate();try{for(var n=(c-f)/(b.length-1),c=f,g=1;g<b.length-1;g++){var m=this.view.getState(this.model.getParent(b[g].cell)),u=this.getCellGeometry(b[g].cell),c=c+n;null!=u&&null!=m&&(u=u.clone(),a?u.x=Math.round(c-u.width/2)-m.origin.x:u.y=Math.round(c-u.height/2)-m.origin.y,this.getModel().setGeometry(b[g].cell,
+u))}}finally{this.getModel().endUpdate()}}}return d};Graph.prototype.isCloneEvent=function(a){return mxClient.IS_MAC&&mxEvent.isMetaDown(a)||mxEvent.isControlDown(a)};Graph.prototype.encodeCells=function(a){for(var d=this.cloneCells(a),b=new mxDictionary,c=0;c<a.length;c++)b.put(a[c],!0);for(c=0;c<d.length;c++){var f=this.view.getState(a[c]);if(null!=f){var g=this.getCellGeometry(d[c]);null==g||!g.relative||this.model.isEdge(a[c])||b.get(this.model.getParent(a[c]))||(g.relative=!1,g.x=f.x/f.view.scale-
+f.view.translate.x,g.y=f.y/f.view.scale-f.view.translate.y)}}b=new mxCodec;f=new mxGraphModel;g=f.getChildAt(f.getRoot(),0);for(c=0;c<a.length;c++)f.add(g,d[c]);return b.encode(f)};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,g,e,h){d=null!=d?d:1;b=null!=b?b:0;f=null!=f?f:!0;g=null!=g?g:!0;e=null!=e?e:!0;c=g||c?this.getGraphBounds():
+this.getBoundingBox(this.getSelectionCells());if(null==c)throw Error(mxResources.get("drawingEmpty"));var n=this.view.scale,m=mxUtils.createXmlDocument(),u=null!=m.createElementNS?m.createElementNS(mxConstants.NS_SVG,"svg"):m.createElement("svg");null!=a&&(null!=u.style?u.style.backgroundColor=a:u.setAttribute("style","background-color:"+a));null==m.createElementNS?(u.setAttribute("xmlns",mxConstants.NS_SVG),u.setAttribute("xmlns:xlink",mxConstants.NS_XLINK)):u.setAttributeNS("http://www.w3.org/2000/xmlns/",
+"xmlns:xlink",mxConstants.NS_XLINK);a=d/n;u.setAttribute("width",Math.max(1,Math.ceil(c.width*a)+2*b)+"px");u.setAttribute("height",Math.max(1,Math.ceil(c.height*a)+2*b)+"px");u.setAttribute("version","1.1");var r=u;f&&(r=null!=m.createElementNS?m.createElementNS(mxConstants.NS_SVG,"g"):m.createElement("g"),r.setAttribute("transform","translate(0.5,0.5)"),u.appendChild(r));m.appendChild(u);m=this.createSvgCanvas(r);m.foOffset=f?-.5:0;m.textOffset=f?-.5:0;m.imageOffset=f?-.5:0;m.translate(Math.floor((b/
+d-c.x)/n),Math.floor((b/d-c.y)/n));var t=document.createElement("textarea"),w=m.createAlternateContent;m.createAlternateContent=function(a,d,b,c,f,g,e,h,m,n,u,r,k){var x=this.state;if(null!=this.foAltText&&(0==c||0!=x.fontSize&&g.length<5*c/x.fontSize)){var p=this.createElement("text");p.setAttribute("x",Math.round(c/2));p.setAttribute("y",Math.round((f+x.fontSize)/2));p.setAttribute("fill",x.fontColor||"black");p.setAttribute("text-anchor","middle");p.setAttribute("font-size",Math.round(x.fontSize)+
+"px");p.setAttribute("font-family",x.fontFamily);(x.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&p.setAttribute("font-weight","bold");(x.fontStyle&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&p.setAttribute("font-style","italic");(x.fontStyle&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&p.setAttribute("text-decoration","underline");try{return t.innerHTML=g,p.textContent=t.value,p}catch(Ba){return w.apply(this,arguments)}}else return w.apply(this,arguments)};b=this.backgroundImage;
+null!=b&&(f=n/d,d=this.view.translate,f=new mxRectangle(d.x*f,d.y*f,b.width*f,b.height*f),mxUtils.intersects(c,f)&&m.image(d.x,d.y,b.width,b.height,b.src,!0));m.scale(a);m.textEnabled=e;h=null!=h?h:this.createSvgImageExport();var k=h.drawCellState;h.drawCellState=function(a,d){for(var b=a.view.graph,c=b.isCellSelected(a.cell),f=b.model.getParent(a.cell);!g&&!c&&null!=f;)c=b.isCellSelected(f),f=b.model.getParent(f);(g||c)&&k.apply(this,arguments)};h.drawState(this.getView().getState(this.model.root),
+m);return u};Graph.prototype.createSvgCanvas=function(a){return new mxSvgCanvas2D(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.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=0<b.rows.length?b.rows[0].cells.length:1,b=b.insertRow(d),f=0;f<c;f++)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){d=null!=d?d:a;var b=document.createElement("a");
b.setAttribute("href",this.getAbsoluteUrl(a));b.setAttribute("title",a);null!=this.linkTarget&&b.setAttribute("target",this.linkTarget);40<d.length&&(d=d.substring(0,26)+"..."+d.substring(d.length-10));mxUtils.write(b,d);return b};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,
-e,g){a==mxEvent.MOUSE_DOWN&&(e=this.updateMouseEvent(e),d=this.isCellSelected(e.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&&
+g,e){a==mxEvent.MOUSE_DOWN&&(g=this.updateMouseEvent(g),d=this.isCellSelected(g.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.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(H){}};var k=mxCellRenderer.prototype.initializeLabel;mxCellRenderer.prototype.initializeLabel=function(a){null!=a.text&&(a.text.replaceLinefeeds="0"!=mxUtils.getValue(a.style,"nl2Br","1"));k.apply(this,arguments)};var l=mxConstraintHandler.prototype.update;
mxConstraintHandler.prototype.update=function(a,d){this.isKeepFocusEvent(a)||!mxEvent.isAltDown(a.getEvent())?l.apply(this,arguments):this.reset()};mxGuide.prototype.createGuideShape=function(a){return new mxPolyline([],mxConstants.GUIDE_COLOR,mxConstants.GUIDE_STROKEWIDTH)};mxCellEditor.prototype.escapeCancelsEditing=!1;var q=mxCellEditor.prototype.startEditing;mxCellEditor.prototype.startEditing=function(a,d){q.apply(this,arguments);var b=this.graph.view.getState(a);this.textarea.className=null!=
@@ -2362,9 +2362,9 @@ b&&1==b.style.html?"mxCellEditor geContentEditable":"mxCellEditor mxPlainTextEdi
"":mxClient.IS_QUIRKS&&(this.textarea.style.outline="none",this.textarea.style.border="")};var p=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)}p.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(){b(this.textarea,c)}),0)}))};mxCellEditor.prototype.toggleViewMode=function(){var a=this.graph.view.getState(this.editingCell),d=null!=a&&"0"!=mxUtils.getValue(a.style,"nl2Br","1"),b=this.saveSelection();if(this.codeViewMode){h=mxUtils.extractTextWithWhitespace(this.textarea.childNodes);
-0<h.length&&"\n"==h.charAt(h.length-1)&&(h=h.substring(0,h.length-1));h=this.graph.sanitizeHtml(d?h.replace(/\n/g,"<br/>"):h,!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),e=(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,a=(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE;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=a?"underline":"";this.textarea.style.fontWeight=
-e?"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!=h&&(this.textarea.innerHTML=h,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="");
+0<h.length&&"\n"==h.charAt(h.length-1)&&(h=h.substring(0,h.length-1));h=this.graph.sanitizeHtml(d?h.replace(/\n/g,"<br/>"):h,!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),g=(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_BOLD)==
+mxConstants.FONT_BOLD,e=(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC,a=(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE;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=a?"underline":"";this.textarea.style.fontWeight=
+g?"bold":"normal";this.textarea.style.fontStyle=e?"italic":"";this.textarea.style.fontFamily=d;this.textarea.style.textAlign=f;this.textarea.style.padding="0px";this.textarea.innerHTML!=h&&(this.textarea.innerHTML=h,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 h=mxUtils.htmlEntities(this.textarea.innerHTML);mxClient.IS_QUIRKS||8==document.documentMode||(h=mxUtils.replaceTrailingNewlines(h,"<div><br></div>"));h=this.graph.sanitizeHtml(d?h.replace(/\n/g,"").replace(/&lt;br\s*.?&gt;/g,"<br>"):h,!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!=h&&(this.textarea.innerHTML=h);this.codeViewMode=!0}this.textarea.focus();null!=this.switchSelectionState&&this.restoreSelection(this.switchSelectionState);this.switchSelectionState=b;this.resize()};var v=mxCellEditor.prototype.resize;
mxCellEditor.prototype.resize=function(a,d){if(null!=this.textarea)if(a=this.graph.getView().getState(this.editingCell),this.codeViewMode&&null!=a){var b=a.view.scale;this.bounds=mxRectangle.fromRectangle(a);if(0==this.bounds.width&&0==this.bounds.height){this.bounds.width=160*b;this.bounds.height=60*b;var c=null!=a.text?a.text.margin:null;null==c&&(c=mxUtils.getAlignmentAsPoint(mxUtils.getValue(a.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_CENTER),mxUtils.getValue(a.style,mxConstants.STYLE_VERTICAL_ALIGN,
@@ -2376,11 +2376,11 @@ function(){try{this.graph.container.focus()}catch(Q){}};var f=mxCellEditor.proto
!1)}}finally{this.graph.getModel().endUpdate()}};mxCellEditor.prototype.getBackgroundColor=function(a){var d=null;if(this.graph.getModel().isEdge(a.cell)||this.graph.getModel().isEdge(this.graph.getModel().getParent(a.cell)))d=mxUtils.getValue(a.style,mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,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 g=mxGraphHandler.prototype.moveCells;
mxGraphHandler.prototype.moveCells=function(a,d,b,c,f,e){mxEvent.isAltDown(e)&&(f=null);g.apply(this,arguments)};mxGraphHandler.prototype.updateHint=function(d){if(null!=this.shape){null==this.hint&&(this.hint=a(),this.graph.container.appendChild(this.hint));var b=this.graph.view.translate,c=this.graph.view.scale;d=this.roundLength((this.bounds.x+this.currentDx)/c-b.x);b=this.roundLength((this.bounds.y+this.currentDy)/c-b.y);this.hint.innerHTML=d+", "+b;this.hint.style.left=this.shape.bounds.x+Math.round((this.shape.bounds.width-
this.hint.clientWidth)/2)+"px";this.hint.style.top=this.shape.bounds.y+this.shape.bounds.height+12+"px"}};mxGraphHandler.prototype.removeHint=function(){null!=this.hint&&(this.hint.parentNode.removeChild(this.hint),this.hint=null)};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){this.index!=mxEvent.LABEL_HANDLE&&(null==this.hint&&(this.hint=a(),this.state.view.graph.container.appendChild(this.hint)),this.index==mxEvent.ROTATION_HANDLE?this.hint.innerHTML=this.currentAlpha+
+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 m=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=m.apply(this,arguments);return a};mxVertexHandler.prototype.updateHint=function(d){this.index!=mxEvent.LABEL_HANDLE&&(null==this.hint&&(this.hint=a(),this.state.view.graph.container.appendChild(this.hint)),this.index==mxEvent.ROTATION_HANDLE?this.hint.innerHTML=this.currentAlpha+
"&deg;":(d=this.state.view.scale,this.hint.innerHTML=this.roundLength(this.bounds.width/d)+" x "+this.roundLength(this.bounds.height/d)),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+12+"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="")};mxEdgeHandler.prototype.updateHint=function(d,b){null==this.hint&&(this.hint=a(),this.state.view.graph.container.appendChild(this.hint));var c=this.graph.view.translate,f=this.graph.view.scale,e=this.roundLength(b.x/f-c.x),c=this.roundLength(b.y/f-c.y);this.hint.innerHTML=e+", "+c;this.hint.style.visibility="visible";if(this.isSource||this.isTarget)null!=this.constraintHandler.currentConstraint&&
-null!=this.constraintHandler.currentFocus?(e=this.constraintHandler.currentConstraint.point,this.hint.innerHTML="["+Math.round(100*e.x)+"%, "+Math.round(100*e.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(),b.y)+this.state.view.graph.gridSize+"px";null!=this.linkHint&&(this.linkHint.style.display="none")};mxEdgeHandler.prototype.removeHint=mxVertexHandler.prototype.removeHint;
+function(){mxGraphHandler.prototype.removeHint.apply(this,arguments);null!=this.linkHint&&(this.linkHint.style.display="")};mxEdgeHandler.prototype.updateHint=function(d,b){null==this.hint&&(this.hint=a(),this.state.view.graph.container.appendChild(this.hint));var c=this.graph.view.translate,f=this.graph.view.scale,g=this.roundLength(b.x/f-c.x),c=this.roundLength(b.y/f-c.y);this.hint.innerHTML=g+", "+c;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(),b.y)+this.state.view.graph.gridSize+"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="#007dfc" 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="#007dfc" 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="#007dfc" 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=new mxImage(mxClient.IS_SVG?"data:image/png;base64,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":
IMAGE_PATH+"/handle-rotate.png",19,21);mxClient.IS_SVG&&(mxConstraintHandler.prototype.pointImage=Graph.createSvgImage(5,5,'<path d="m 0 0 L 5 5 M 0 5 L 5 0" stroke="#007dfc"/>'));mxVertexHandler.prototype.handleImage=HoverIcons.prototype.mainHandle;mxVertexHandler.prototype.secondaryHandleImage=HoverIcons.prototype.secondaryHandle;mxEdgeHandler.prototype.handleImage=HoverIcons.prototype.mainHandle;mxEdgeHandler.prototype.terminalHandleImage=HoverIcons.prototype.terminalHandle;mxEdgeHandler.prototype.fixedHandleImage=
@@ -2390,14 +2390,14 @@ Sidebar.prototype.roundDrop=HoverIcons.prototype.roundDrop);mxClient.IS_SVG||((n
-20;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=-24,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 r=mxGraphHandler.prototype.mouseDown;mxGraphHandler.prototype.mouseDown=function(a,d){r.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,e=null,g=null;null!=this.first&&
-null!=this.currentX&&null!=this.currentY&&(c=this.first.x,f=this.first.y,e=(this.currentX-c)/this.graph.view.scale,g=(this.currentY-f)/this.graph.view.scale,mxEvent.isAltDown(d.getEvent())||(e=this.graph.snap(e),g=this.graph.snap(g),this.graph.isGridEnabled()||(Math.abs(e)<this.graph.tolerance&&(e=0),Math.abs(g)<this.graph.tolerance&&(g=0))));this.reset();if(b){if(mxEvent.isAltDown(d.getEvent())&&this.graph.isToggleEvent(d.getEvent())){var e=new mxRectangle(this.x,this.y,this.width,this.height),h=
-this.graph.getCells(e.x,e.y,e.width,e.height);this.graph.removeSelectionCells(h)}else if(this.isSpaceEvent(d)){this.graph.model.beginUpdate();try{for(h=this.graph.getCellsBeyond(c,f,this.graph.getDefaultParent(),!0,!0),b=0;b<h.length;b++)if(this.graph.isCellMovable(h[b])){var n=this.graph.view.getState(h[b]),m=this.graph.getCellGeometry(h[b]);null!=n&&null!=m&&(m=m.clone(),m.translate(e,g),this.graph.model.setGeometry(h[b],m))}}finally{this.graph.model.endUpdate()}}else e=new mxRectangle(this.x,this.y,
-this.width,this.height),this.graph.selectRegion(e,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,e=this.first.y-b,g=this.graph.tolerance;if(null!=this.div||Math.abs(f)>g||Math.abs(e)>g)null==this.div&&(this.div=this.createShape()),mxUtils.clearSelection(),this.update(c,b),
+(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,g=null,e=null;null!=this.first&&
+null!=this.currentX&&null!=this.currentY&&(c=this.first.x,f=this.first.y,g=(this.currentX-c)/this.graph.view.scale,e=(this.currentY-f)/this.graph.view.scale,mxEvent.isAltDown(d.getEvent())||(g=this.graph.snap(g),e=this.graph.snap(e),this.graph.isGridEnabled()||(Math.abs(g)<this.graph.tolerance&&(g=0),Math.abs(e)<this.graph.tolerance&&(e=0))));this.reset();if(b){if(mxEvent.isAltDown(d.getEvent())&&this.graph.isToggleEvent(d.getEvent())){var g=new mxRectangle(this.x,this.y,this.width,this.height),h=
+this.graph.getCells(g.x,g.y,g.width,g.height);this.graph.removeSelectionCells(h)}else if(this.isSpaceEvent(d)){this.graph.model.beginUpdate();try{for(h=this.graph.getCellsBeyond(c,f,this.graph.getDefaultParent(),!0,!0),b=0;b<h.length;b++)if(this.graph.isCellMovable(h[b])){var m=this.graph.view.getState(h[b]),n=this.graph.getCellGeometry(h[b]);null!=m&&null!=n&&(n=n.clone(),n.translate(g,e),this.graph.model.setGeometry(h[b],n))}}finally{this.graph.model.endUpdate()}}else g=new mxRectangle(this.x,this.y,
+this.width,this.height),this.graph.selectRegion(g,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,g=this.first.y-b,e=this.graph.tolerance;if(null!=this.div||Math.abs(f)>e||Math.abs(g)>e)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)),d.consume()}};var h=mxRubberband.prototype.reset;mxRubberband.prototype.reset=function(){null!=this.secondDiv&&(this.secondDiv.parentNode.removeChild(this.secondDiv),this.secondDiv=null);h.apply(this,
-arguments)};var m=(new Date).getTime(),u=0,w=mxEdgeHandler.prototype.updatePreviewState;mxEdgeHandler.prototype.updatePreviewState=function(a,d,b,c){w.apply(this,arguments);b!=this.currentTerminalState?(m=(new Date).getTime(),u=0):u=(new Date).getTime()-m;this.currentTerminalState=b};var t=mxEdgeHandler.prototype.isOutlineConnectEvent;mxEdgeHandler.prototype.isOutlineConnectEvent=function(a){return null!=this.currentTerminalState&&a.getState()==this.currentTerminalState&&2E3<u||(null==this.currentTerminalState||
+arguments)};var n=(new Date).getTime(),u=0,w=mxEdgeHandler.prototype.updatePreviewState;mxEdgeHandler.prototype.updatePreviewState=function(a,d,b,c){w.apply(this,arguments);b!=this.currentTerminalState?(n=(new Date).getTime(),u=0):u=(new Date).getTime()-n;this.currentTerminalState=b};var t=mxEdgeHandler.prototype.isOutlineConnectEvent;mxEdgeHandler.prototype.isOutlineConnectEvent=function(a){return null!=this.currentTerminalState&&a.getState()==this.currentTerminalState&&2E3<u||(null==this.currentTerminalState||
"0"!=mxUtils.getValue(this.currentTerminalState.style,"outlineConnect","1"))&&t.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 x=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 x.apply(this,arguments)};var F=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 F.apply(this,
@@ -2408,7 +2408,7 @@ function(a,d){y.apply(this,arguments);null!=this.rotationShape&&null!=this.rotat
1==this.graph.getSelectionCount()?"":"none");null!=this.specialHandle&&(this.specialHandle.node.style.display=this.graph.isEnabled()&&this.graph.getSelectionCount()<this.graph.graphHandler.maxCells?"":"none");this.redrawHandles()});this.selectionHandler=mxUtils.bind(this,function(a,b){d()});this.graph.getSelectionModel().addListener(mxEvent.CHANGE,this.selectionHandler);this.changeHandler=mxUtils.bind(this,function(a,b){this.updateLinkHint(this.graph.getLinkForCell(this.state.cell),this.graph.getLinksForState(this.state));
d()});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){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.fontSize="90%",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",IMAGE_PATH+"/edit.gif");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)}));c=document.createElement("img");c.setAttribute("src",Dialog.prototype.clearImage);
+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)}));c=document.createElement("img");c.setAttribute("src",Dialog.prototype.clearImage);
c.setAttribute("title",mxResources.get("removeIt",[mxResources.get("link")]));c.setAttribute("width","13");c.setAttribute("height","10");c.style.marginLeft="4px";c.style.marginBottom="-1px";c.style.cursor="pointer";this.linkHint.appendChild(c);mxEvent.addListener(c,"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 f=document.createElement("div");f.style.marginTop=null!=d||0<c?"6px":"0px";f.appendChild(this.graph.createLinkForHint(b[c].getAttribute("href"),
mxUtils.getTextContent(b[c])));this.linkHint.appendChild(f)}}};mxEdgeHandler.prototype.updateLinkHint=mxVertexHandler.prototype.updateLinkHint;var I=mxEdgeHandler.prototype.init;mxEdgeHandler.prototype.init=function(){I.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.selectionHandler=mxUtils.bind(this,function(d,b){a()});this.graph.getSelectionModel().addListener(mxEvent.CHANGE,this.selectionHandler);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.getModel().addListener(mxEvent.CHANGE,
@@ -2418,114 +2418,114 @@ d.y+d.height));this.linkHint.style.left=Math.max(0,Math.round(a.x+(a.width-this.
function(){J.apply(this,arguments);null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);null!=this.selectionHandler&&(this.graph.getSelectionModel().removeListener(this.selectionHandler),this.selectionHandler=null);null!=this.changeHandler&&(this.graph.getModel().removeListener(this.changeHandler),this.changeHandler=null);null!=this.editingHandler&&(this.graph.removeListener(this.editingHandler),this.editingHandler=null)};var R=mxEdgeHandler.prototype.redrawHandles;
mxEdgeHandler.prototype.redrawHandles=function(){if(null!=this.marker&&(R.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+6+this.state.view.graph.tolerance)+"px"}};var Y=mxEdgeHandler.prototype.reset;mxEdgeHandler.prototype.reset=
function(){Y.apply(this,arguments);null!=this.linkHint&&(this.linkHint.style.visibility="")};var aa=mxEdgeHandler.prototype.destroy;mxEdgeHandler.prototype.destroy=function(){aa.apply(this,arguments);null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);null!=this.selectionHandler&&(this.graph.getSelectionModel().removeListener(this.selectionHandler),this.selectionHandler=null);null!=this.changeHandler&&(this.graph.getModel().removeListener(this.changeHandler),
-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 k(){mxCylinder.call(this)}function l(){mxActor.call(this)}function q(){mxCylinder.call(this)}function p(){mxActor.call(this)}function v(){mxActor.call(this)}function d(){mxActor.call(this)}function f(){mxActor.call(this)}function g(){mxActor.call(this)}function n(){mxActor.call(this)}function r(){mxActor.call(this)}function h(a,d){this.canvas=
+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 k(){mxCylinder.call(this)}function l(){mxActor.call(this)}function q(){mxCylinder.call(this)}function p(){mxActor.call(this)}function v(){mxActor.call(this)}function d(){mxActor.call(this)}function f(){mxActor.call(this)}function g(){mxActor.call(this)}function m(){mxActor.call(this)}function r(){mxActor.call(this)}function h(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,h.prototype.lineTo);this.originalMoveTo=this.canvas.moveTo;this.canvas.moveTo=mxUtils.bind(this,h.prototype.moveTo);this.originalClose=this.canvas.close;this.canvas.close=mxUtils.bind(this,h.prototype.close);this.originalQuadTo=this.canvas.quadTo;this.canvas.quadTo=mxUtils.bind(this,h.prototype.quadTo);this.originalCurveTo=this.canvas.curveTo;
-this.canvas.curveTo=mxUtils.bind(this,h.prototype.curveTo);this.originalArcTo=this.canvas.arcTo;this.canvas.arcTo=mxUtils.bind(this,h.prototype.arcTo)}function m(){mxRectangleShape.call(this)}function u(){mxRectangleShape.call(this)}function w(){mxActor.call(this)}function t(){mxActor.call(this)}function x(){mxActor.call(this)}function F(){mxRectangleShape.call(this)}function D(){mxRectangleShape.call(this)}function G(){mxCylinder.call(this)}function B(){mxShape.call(this)}function y(){mxShape.call(this)}
+this.canvas.curveTo=mxUtils.bind(this,h.prototype.curveTo);this.originalArcTo=this.canvas.arcTo;this.canvas.arcTo=mxUtils.bind(this,h.prototype.arcTo)}function n(){mxRectangleShape.call(this)}function u(){mxRectangleShape.call(this)}function w(){mxActor.call(this)}function t(){mxActor.call(this)}function x(){mxActor.call(this)}function F(){mxRectangleShape.call(this)}function D(){mxRectangleShape.call(this)}function G(){mxCylinder.call(this)}function B(){mxShape.call(this)}function y(){mxShape.call(this)}
function C(){mxEllipse.call(this)}function I(){mxShape.call(this)}function z(){mxShape.call(this)}function N(){mxRectangleShape.call(this)}function E(){mxShape.call(this)}function J(){mxShape.call(this)}function R(){mxShape.call(this)}function Y(){mxCylinder.call(this)}function aa(){mxDoubleEllipse.call(this)}function Q(){mxDoubleEllipse.call(this)}function S(){mxArrowConnector.call(this);this.spacing=0}function K(){mxArrowConnector.call(this);this.spacing=0}function H(){mxActor.call(this)}function V(){mxRectangleShape.call(this)}
function L(){mxActor.call(this)}function O(){mxActor.call(this)}function X(){mxActor.call(this)}function A(){mxActor.call(this)}function W(){mxActor.call(this)}function P(){mxActor.call(this)}function da(){mxActor.call(this)}function T(){mxActor.call(this)}function Z(){mxActor.call(this)}function U(){mxActor.call(this)}function na(){mxEllipse.call(this)}function oa(){mxEllipse.call(this)}function ca(){mxEllipse.call(this)}function ia(){mxRhombus.call(this)}function qa(){mxEllipse.call(this)}function ea(){mxEllipse.call(this)}
-function ra(){mxEllipse.call(this)}function fa(){mxEllipse.call(this)}function ja(){mxActor.call(this)}function ba(){mxActor.call(this)}function ka(){mxActor.call(this)}function ga(){mxConnector.call(this)}function Aa(a,d,b,c,f,e,g,h,m,n){g+=m;var la=c.clone();c.x-=f*(2*g+m);c.y-=e*(2*g+m);f*=g+m;e*=g+m;return function(){a.ellipse(la.x-f-g,la.y-e-g,2*g,2*g);n?a.fillAndStroke():a.stroke()}}mxUtils.extend(a,mxCylinder);a.prototype.size=20;a.prototype.redrawPath=function(a,d,b,c,f,e){d=Math.max(0,Math.min(c,
-Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));e?(a.moveTo(d,f),a.lineTo(d,d),a.lineTo(0,0),a.moveTo(d,d),a.lineTo(c,d)):(a.moveTo(0,0),a.lineTo(c-d,0),a.lineTo(c,d),a.lineTo(c,f),a.lineTo(d,f),a.lineTo(0,f-d),a.lineTo(0,0),a.close());a.end()};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 xa=Math.tan(mxUtils.toRadians(30)),pa=(.5-xa)/2;mxUtils.extend(b,mxActor);b.prototype.size=20;b.prototype.redrawPath=function(a,d,b,c,f){d=Math.min(c,f/xa);a.translate((c-d)/2,(f-d)/2+d/4);a.moveTo(0,.25*d);a.lineTo(.5*d,d*pa);a.lineTo(d,.25*d);a.lineTo(.5*d,(.5-pa)*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,e){d=Math.min(c,f/(.5+xa));e?(a.moveTo(0,.25*d),a.lineTo(.5*
-d,(.5-pa)*d),a.lineTo(d,.25*d),a.moveTo(.5*d,(.5-pa)*d),a.lineTo(.5*d,(1-pa)*d)):(a.translate((c-d)/2,(f-d)/2),a.moveTo(0,.25*d),a.lineTo(.5*d,d*pa),a.lineTo(d,.25*d),a.lineTo(d,.75*d),a.lineTo(.5*d,(1-pa)*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,e){d=Math.min(f/2,Math.round(f/8)+this.strokewidth-1);if(e&&null!=this.fill||!e&&null==this.fill)a.moveTo(0,d),a.curveTo(0,2*d,c,2*d,c,d),e||
-(a.stroke(),a.begin()),a.translate(0,d/2),a.moveTo(0,d),a.curveTo(0,2*d,c,2*d,c,d),e||(a.stroke(),a.begin()),a.translate(0,d/2),a.moveTo(0,d),a.curveTo(0,2*d,c,2*d,c,d),e||(a.stroke(),a.begin()),a.translate(0,-d);e||(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)*this.scale,0,0)};mxCellRenderer.registerShape("datastore",
-c);mxUtils.extend(k,mxCylinder);k.prototype.size=30;k.prototype.redrawPath=function(a,d,b,c,f,e){d=Math.max(0,Math.min(c,Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));e?(a.moveTo(c-d,0),a.lineTo(c-d,d),a.lineTo(c,d)):(a.moveTo(0,0),a.lineTo(c-d,0),a.lineTo(c,d),a.lineTo(c,f),a.lineTo(0,f),a.lineTo(0,0),a.close());a.end()};mxCellRenderer.registerShape("note",k);mxUtils.extend(l,mxActor);l.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",l);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,e){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);
-e?"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(p,mxActor);p.prototype.size=30;p.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,
+function ra(){mxEllipse.call(this)}function fa(){mxEllipse.call(this)}function ja(){mxActor.call(this)}function ba(){mxActor.call(this)}function ka(){mxActor.call(this)}function ga(){mxConnector.call(this)}function Aa(a,d,b,c,f,g,e,h,m,n){e+=m;var la=c.clone();c.x-=f*(2*e+m);c.y-=g*(2*e+m);f*=e+m;g*=e+m;return function(){a.ellipse(la.x-f-e,la.y-g-e,2*e,2*e);n?a.fillAndStroke():a.stroke()}}mxUtils.extend(a,mxCylinder);a.prototype.size=20;a.prototype.redrawPath=function(a,d,b,c,f,g){d=Math.max(0,Math.min(c,
+Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));g?(a.moveTo(d,f),a.lineTo(d,d),a.lineTo(0,0),a.moveTo(d,d),a.lineTo(c,d)):(a.moveTo(0,0),a.lineTo(c-d,0),a.lineTo(c,d),a.lineTo(c,f),a.lineTo(d,f),a.lineTo(0,f-d),a.lineTo(0,0),a.close());a.end()};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 xa=Math.tan(mxUtils.toRadians(30)),pa=(.5-xa)/2;mxUtils.extend(b,mxActor);b.prototype.size=20;b.prototype.redrawPath=function(a,d,b,c,f){d=Math.min(c,f/xa);a.translate((c-d)/2,(f-d)/2+d/4);a.moveTo(0,.25*d);a.lineTo(.5*d,d*pa);a.lineTo(d,.25*d);a.lineTo(.5*d,(.5-pa)*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,g){d=Math.min(c,f/(.5+xa));g?(a.moveTo(0,.25*d),a.lineTo(.5*
+d,(.5-pa)*d),a.lineTo(d,.25*d),a.moveTo(.5*d,(.5-pa)*d),a.lineTo(.5*d,(1-pa)*d)):(a.translate((c-d)/2,(f-d)/2),a.moveTo(0,.25*d),a.lineTo(.5*d,d*pa),a.lineTo(d,.25*d),a.lineTo(d,.75*d),a.lineTo(.5*d,(1-pa)*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,g){d=Math.min(f/2,Math.round(f/8)+this.strokewidth-1);if(g&&null!=this.fill||!g&&null==this.fill)a.moveTo(0,d),a.curveTo(0,2*d,c,2*d,c,d),g||
+(a.stroke(),a.begin()),a.translate(0,d/2),a.moveTo(0,d),a.curveTo(0,2*d,c,2*d,c,d),g||(a.stroke(),a.begin()),a.translate(0,d/2),a.moveTo(0,d),a.curveTo(0,2*d,c,2*d,c,d),g||(a.stroke(),a.begin()),a.translate(0,-d);g||(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)*this.scale,0,0)};mxCellRenderer.registerShape("datastore",
+c);mxUtils.extend(k,mxCylinder);k.prototype.size=30;k.prototype.redrawPath=function(a,d,b,c,f,g){d=Math.max(0,Math.min(c,Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));g?(a.moveTo(c-d,0),a.lineTo(c-d,d),a.lineTo(c,d)):(a.moveTo(0,0),a.lineTo(c-d,0),a.lineTo(c,d),a.lineTo(c,f),a.lineTo(0,f),a.lineTo(0,0),a.close());a.end()};mxCellRenderer.registerShape("note",k);mxUtils.extend(l,mxActor);l.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",l);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,g){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 e=mxUtils.getValue(this.style,"tabPosition",this.tabPosition);
+g?"left"==e?(a.moveTo(0,b),a.lineTo(d,b)):(a.moveTo(c-d,b),a.lineTo(c,b)):("left"==e?(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(p,mxActor);p.prototype.size=30;p.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",p);mxUtils.extend(v,mxActor);v.prototype.size=.4;v.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()};v.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",
v);mxUtils.extend(d,mxActor);d.prototype.size=.3;d.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};d.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",d);mxCylinder.prototype.getLabelMargins=function(a){return mxUtils.getValue(this.style,"boundedLbl",!1)?new mxRectangle(0,Math.min(this.maxHeight*this.scale,.3*a.height),0,0):null};mxUtils.extend(f,mxActor);f.prototype.size=.2;f.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",f);mxUtils.extend(g,mxActor);g.prototype.size=.2;g.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",g);mxUtils.extend(n,mxActor);n.prototype.size=.5;n.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",n);mxUtils.extend(r,mxActor);r.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",r);h.prototype.moveTo=function(a,d){this.originalMoveTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=d;this.firstX=a;this.firstY=d};h.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)};h.prototype.quadTo=function(a,d,b,c){this.originalQuadTo.apply(this.canvas,arguments);this.lastX=b;this.lastY=c};h.prototype.curveTo=function(a,d,b,c,f,e){this.originalCurveTo.apply(this.canvas,arguments);this.lastX=f;this.lastY=e};h.prototype.arcTo=function(a,d,b,c,f,e,g){this.originalArcTo.apply(this.canvas,arguments);this.lastX=e;this.lastY=
-g};h.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),e=Math.sqrt(c*c+f*f);if(2>e){this.originalLineTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=d;return}var g=Math.round(e/10),la=this.defaultVariation;5>g&&(g=5,la/=3);for(var h=b(a-this.lastX)*c/g,b=b(d-this.lastY)*f/g,c=c/e,f=f/e,e=0;e<g;e++){var m=(Math.random()-.5)*la;this.originalLineTo.call(this.canvas,
-h*e+this.lastX-m*f,b*e+this.lastY-m*c)}this.originalLineTo.call(this.canvas,a,d)}else this.originalLineTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=d};h.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 Ba=mxShape.prototype.paint;mxShape.prototype.defaultJiggle=1.5;mxShape.prototype.paint=
+b,!0)};mxCellRenderer.registerShape("trapezoid",g);mxUtils.extend(m,mxActor);m.prototype.size=.5;m.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",m);mxUtils.extend(r,mxActor);r.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",r);h.prototype.moveTo=function(a,d){this.originalMoveTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=d;this.firstX=a;this.firstY=d};h.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)};h.prototype.quadTo=function(a,d,b,c){this.originalQuadTo.apply(this.canvas,arguments);this.lastX=b;this.lastY=c};h.prototype.curveTo=function(a,d,b,c,f,g){this.originalCurveTo.apply(this.canvas,arguments);this.lastX=f;this.lastY=g};h.prototype.arcTo=function(a,d,b,c,f,g,e){this.originalArcTo.apply(this.canvas,arguments);this.lastX=g;this.lastY=
+e};h.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),g=Math.sqrt(c*c+f*f);if(2>g){this.originalLineTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=d;return}var e=Math.round(g/10),la=this.defaultVariation;5>e&&(e=5,la/=3);for(var h=b(a-this.lastX)*c/e,b=b(d-this.lastY)*f/e,c=c/g,f=f/g,g=0;g<e;g++){var m=(Math.random()-.5)*la;this.originalLineTo.call(this.canvas,
+h*g+this.lastX-m*f,b*g+this.lastY-m*c)}this.originalLineTo.call(this.canvas,a,d)}else this.originalLineTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=d};h.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 Ba=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 h(a,mxUtils.getValue(this.style,"jiggle",this.defaultJiggle)));Ba.apply(this,arguments);null!=a.handJiggle&&(a.handJiggle.destroy(),delete a.handJiggle)};mxRhombus.prototype.defaultJiggle=2;var Fa=mxRectangleShape.prototype.isHtmlAllowed;mxRectangleShape.prototype.isHtmlAllowed=function(){return(null==this.style||"0"==mxUtils.getValue(this.style,"comic","0"))&&Fa.apply(this,arguments)};
-var Ga=mxRectangleShape.prototype.paintBackground;mxRectangleShape.prototype.paintBackground=function(a,d,b,c,f){if(null==a.handJiggle)Ga.apply(this,arguments);else{var e=!0;null!=this.style&&(e="1"==mxUtils.getValue(this.style,mxConstants.STYLE_POINTER_EVENTS,"1"));if(e||null!=this.fill&&this.fill!=mxConstants.NONE||null!=this.stroke&&this.stroke!=mxConstants.NONE)e||null!=this.fill&&this.fill!=mxConstants.NONE||(a.pointerEvents=!1),a.begin(),this.isRounded?("1"==mxUtils.getValue(this.style,mxConstants.STYLE_ABSOLUTE_ARCSIZE,
-0)?e=Math.min(c/2,Math.min(f/2,mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2)):(e=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,e=Math.min(c*e,f*e)),a.moveTo(d+e,b),a.lineTo(d+c-e,b),a.quadTo(d+c,b,d+c,b+e),a.lineTo(d+c,b+f-e),a.quadTo(d+c,b+f,d+c-e,b+f),a.lineTo(d+e,b+f),a.quadTo(d,b+f,d,b+f-e),a.lineTo(d,b+e),a.quadTo(d,b,d+e,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 Ha=mxRectangleShape.prototype.paintForeground;mxRectangleShape.prototype.paintForeground=function(a,d,b,c,f){null==a.handJiggle&&Ha.apply(this,arguments)};mxUtils.extend(m,mxRectangleShape);m.prototype.size=.1;m.prototype.isHtmlAllowed=function(){return!1};m.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};m.prototype.paintForeground=function(a,d,b,c,f){var e=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,e=Math.max(e,Math.min(c*g,f*g));e=Math.round(e);a.begin();a.moveTo(d+e,b);a.lineTo(d+e,b+f);a.moveTo(d+c-e,b);a.lineTo(d+c-e,b+f);a.end();a.stroke();mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("process",m);mxUtils.extend(u,mxRectangleShape);u.prototype.paintBackground=function(a,d,b,c,f){a.setFillColor(mxConstants.NONE);a.rect(d,b,c,f);a.fill()};u.prototype.paintForeground=
+var Ga=mxRectangleShape.prototype.paintBackground;mxRectangleShape.prototype.paintBackground=function(a,d,b,c,f){if(null==a.handJiggle)Ga.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(c/2,Math.min(f/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(c*g,f*g)),a.moveTo(d+g,b),a.lineTo(d+c-g,b),a.quadTo(d+c,b,d+c,b+g),a.lineTo(d+c,b+f-g),a.quadTo(d+c,b+f,d+c-g,b+f),a.lineTo(d+g,b+f),a.quadTo(d,b+f,d,b+f-g),a.lineTo(d,b+g),a.quadTo(d,b,d+g,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 Ha=mxRectangleShape.prototype.paintForeground;mxRectangleShape.prototype.paintForeground=function(a,d,b,c,f){null==a.handJiggle&&Ha.apply(this,arguments)};mxUtils.extend(n,mxRectangleShape);n.prototype.size=.1;n.prototype.isHtmlAllowed=function(){return!1};n.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};n.prototype.paintForeground=function(a,d,b,c,f){var g=c*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,g=Math.max(g,Math.min(c*e,f*e));g=Math.round(g);a.begin();a.moveTo(d+g,b);a.lineTo(d+g,b+f);a.moveTo(d+c-g,b);a.lineTo(d+c-g,b+f);a.end();a.stroke();mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("process",n);mxUtils.extend(u,mxRectangleShape);u.prototype.paintBackground=function(a,d,b,c,f){a.setFillColor(mxConstants.NONE);a.rect(d,b,c,f);a.fill()};u.prototype.paintForeground=
function(a,d,b,c,f){};mxCellRenderer.registerShape("transparent",u);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.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 e=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)))),h=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,e+h),f-b),new mxPoint(g,f),new mxPoint(Math.max(0,e),f-b),new mxPoint(0,f-b)],this.isRounded,d,!0,[4])};mxCellRenderer.registerShape("callout",
+"size",this.size))));var g=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"position",this.position)))),e=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"position2",this.position2)))),h=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,g+h),f-b),new mxPoint(e,f),new mxPoint(Math.max(0,g),f-b),new mxPoint(0,f-b)],this.isRounded,d,!0,[4])};mxCellRenderer.registerShape("callout",
w);mxUtils.extend(t,mxActor);t.prototype.size=.2;t.prototype.fixedSize=20;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(x,mxHexagon);x.prototype.size=.25;x.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",x);mxUtils.extend(F,mxRectangleShape);F.prototype.isHtmlAllowed=function(){return!1};F.prototype.paintForeground=function(a,d,b,c,f){var e=Math.min(c/5,f/5)+1;a.begin();a.moveTo(d+c/2,b+e);a.lineTo(d+c/2,b+f-e);a.moveTo(d+e,b+f/2);a.lineTo(d+c-e,b+f/2);a.end();a.stroke();mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("plus",F);var Ca=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){Ca.apply(this,arguments);if(!this.outline&&1==this.style["double"]){var e=2*Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0);d+=e;b+=e;c-=2*e;f-=2*e;0<c&&0<f&&(a.setShadow(!1),Ca.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 e=Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||
-0);d+=e;b+=e;c-=2*e;f-=2*e;0<c&&0<f&&mxRectangleShape.prototype.paintBackground.apply(this,arguments)}a.setDashed(!1);var e=0,g;do{g=mxCellRenderer.defaultShapes[this.style["symbol"+e]];if(null!=g){var h=this.style["symbol"+e+"Align"],la=this.style["symbol"+e+"VerticalAlign"],m=this.style["symbol"+e+"Width"],n=this.style["symbol"+e+"Height"],u=this.style["symbol"+e+"Spacing"]||0,r=this.style["symbol"+e+"VSpacing"]||u,t=this.style["symbol"+e+"ArcSpacing"];null!=t&&(t*=this.getArcSize(c+this.strokewidth,
-f+this.strokewidth),u+=t,r+=t);var t=d,w=b,t=h==mxConstants.ALIGN_CENTER?t+(c-m)/2:h==mxConstants.ALIGN_RIGHT?t+(c-m-u):t+u,w=la==mxConstants.ALIGN_MIDDLE?w+(f-n)/2:la==mxConstants.ALIGN_BOTTOM?w+(f-n-r):w+r;a.save();h=new g;h.style=this.style;g.prototype.paintVertexShape.call(h,a,t,w,m,n);a.restore()}e++}while(null!=g)}mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("ext",D);mxUtils.extend(G,mxCylinder);G.prototype.redrawPath=function(a,d,b,c,f,e){e?
+this.isRounded,b,!0)};mxCellRenderer.registerShape("hexagon",x);mxUtils.extend(F,mxRectangleShape);F.prototype.isHtmlAllowed=function(){return!1};F.prototype.paintForeground=function(a,d,b,c,f){var g=Math.min(c/5,f/5)+1;a.begin();a.moveTo(d+c/2,b+g);a.lineTo(d+c/2,b+f-g);a.moveTo(d+g,b+f/2);a.lineTo(d+c-g,b+f/2);a.end();a.stroke();mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("plus",F);var Ca=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){Ca.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);d+=g;b+=g;c-=2*g;f-=2*g;0<c&&0<f&&(a.setShadow(!1),Ca.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 g=Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||
+0);d+=g;b+=g;c-=2*g;f-=2*g;0<c&&0<f&&mxRectangleShape.prototype.paintBackground.apply(this,arguments)}a.setDashed(!1);var g=0,e;do{e=mxCellRenderer.defaultShapes[this.style["symbol"+g]];if(null!=e){var h=this.style["symbol"+g+"Align"],la=this.style["symbol"+g+"VerticalAlign"],m=this.style["symbol"+g+"Width"],n=this.style["symbol"+g+"Height"],u=this.style["symbol"+g+"Spacing"]||0,r=this.style["symbol"+g+"VSpacing"]||u,t=this.style["symbol"+g+"ArcSpacing"];null!=t&&(t*=this.getArcSize(c+this.strokewidth,
+f+this.strokewidth),u+=t,r+=t);var t=d,w=b,t=h==mxConstants.ALIGN_CENTER?t+(c-m)/2:h==mxConstants.ALIGN_RIGHT?t+(c-m-u):t+u,w=la==mxConstants.ALIGN_MIDDLE?w+(f-n)/2:la==mxConstants.ALIGN_BOTTOM?w+(f-n-r):w+r;a.save();h=new e;h.style=this.style;e.prototype.paintVertexShape.call(h,a,t,w,m,n);a.restore()}g++}while(null!=e)}mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("ext",D);mxUtils.extend(G,mxCylinder);G.prototype.redrawPath=function(a,d,b,c,f,g){g?
(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",G);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(y,mxShape);y.prototype.getLabelMargins=function(a){return new mxRectangle(a.width/6,0,0,0)};y.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",y);mxUtils.extend(C,mxEllipse);C.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",C);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(z,mxShape);z.prototype.getLabelBounds=function(a){return new mxRectangle(a.x,a.y+
a.height/8,a.width,7*a.height/8)};z.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()};z.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",z);mxUtils.extend(N,mxRectangleShape);N.prototype.size=40;N.prototype.isHtmlAllowed=function(){return!1};N.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)};N.prototype.paintBackground=function(a,d,b,c,f){var e=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,e):(g=this.state.view.graph.cellRenderer.getShape(g),null!=g&&g!=N&&(g=new g,
-g.apply(this.state),a.save(),g.paintVertexShape(a,d,b,c,e),a.restore()));e<f&&(a.setDashed(!0),a.begin(),a.moveTo(d+c/2,b+e),a.lineTo(d+c/2,b+f),a.end(),a.stroke())};N.prototype.paintForeground=function(a,d,b,c,f){var e=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,e))};mxCellRenderer.registerShape("umlLifeline",N);mxUtils.extend(E,mxShape);E.prototype.width=60;E.prototype.height=30;E.prototype.corner=
-10;E.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))};E.prototype.paintBackground=function(a,d,b,c,f){var e=this.corner,g=Math.min(c,Math.max(e,parseFloat(mxUtils.getValue(this.style,"width",this.width)))),h=Math.min(f,Math.max(1.5*e,parseFloat(mxUtils.getValue(this.style,"height",this.height)))),m=mxUtils.getValue(this.style,
-mxConstants.STYLE_SWIMLANE_FILLCOLOR,mxConstants.NONE);m!=mxConstants.NONE&&(a.setFillColor(m),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,h-1.5*e));a.lineTo(d+Math.max(0,g-e),b+h);a.lineTo(d,b+h);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+h);a.stroke()};mxCellRenderer.registerShape("umlFrame",E);mxPerimeter.LifelinePerimeter=function(a,d,b,c){c=N.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);
+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)};N.prototype.paintBackground=function(a,d,b,c,f){var g=Math.max(0,Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size)))),e=mxUtils.getValue(this.style,"participant");null==e||null==this.state?mxRectangleShape.prototype.paintBackground.call(this,a,d,b,c,g):(e=this.state.view.graph.cellRenderer.getShape(e),null!=e&&e!=N&&(e=new e,
+e.apply(this.state),a.save(),e.paintVertexShape(a,d,b,c,g),a.restore()));g<f&&(a.setDashed(!0),a.begin(),a.moveTo(d+c/2,b+g),a.lineTo(d+c/2,b+f),a.end(),a.stroke())};N.prototype.paintForeground=function(a,d,b,c,f){var g=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,g))};mxCellRenderer.registerShape("umlLifeline",N);mxUtils.extend(E,mxShape);E.prototype.width=60;E.prototype.height=30;E.prototype.corner=
+10;E.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))};E.prototype.paintBackground=function(a,d,b,c,f){var g=this.corner,e=Math.min(c,Math.max(g,parseFloat(mxUtils.getValue(this.style,"width",this.width)))),h=Math.min(f,Math.max(1.5*g,parseFloat(mxUtils.getValue(this.style,"height",this.height)))),m=mxUtils.getValue(this.style,
+mxConstants.STYLE_SWIMLANE_FILLCOLOR,mxConstants.NONE);m!=mxConstants.NONE&&(a.setFillColor(m),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+e,b);a.lineTo(d+e,b+Math.max(0,h-1.5*g));a.lineTo(d+Math.max(0,e-g),b+h);a.lineTo(d,b+h);a.close();a.fillAndStroke();a.begin();
+a.moveTo(d+e,b);a.lineTo(d+c,b);a.lineTo(d+c,b+f);a.lineTo(d,b+f);a.lineTo(d,b+h);a.stroke()};mxCellRenderer.registerShape("umlFrame",E);mxPerimeter.LifelinePerimeter=function(a,d,b,c){c=N.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",w.prototype.size))*
-d.view.scale))),d.style),d,b,c)};mxStyleRegistry.putValue("calloutPerimeter",mxPerimeter.CalloutPerimeter);mxPerimeter.ParallelogramPerimeter=function(a,d,b,c){var e=f.prototype.size;null!=d&&(e=mxUtils.getValue(d.style,"size",e));var g=a.x,h=a.y,m=a.width,n=a.height;d=null!=d?mxUtils.getValue(d.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;d==mxConstants.DIRECTION_NORTH||d==mxConstants.DIRECTION_SOUTH?(e=n*Math.max(0,Math.min(1,e)),h=[new mxPoint(g,h),new mxPoint(g+
-m,h+e),new mxPoint(g+m,h+n),new mxPoint(g,h+n-e),new mxPoint(g,h)]):(e=m*Math.max(0,Math.min(1,e)),h=[new mxPoint(g+e,h),new mxPoint(g+m,h),new mxPoint(g+m-e,h+n),new mxPoint(g,h+n),new mxPoint(g+e,h)]);n=a.getCenterX();a=a.getCenterY();a=new mxPoint(n,a);c&&(b.x<g||b.x>g+m?a.y=b.y:a.x=b.x);return mxUtils.getPerimeterPoint(h,a,b)};mxStyleRegistry.putValue("parallelogramPerimeter",mxPerimeter.ParallelogramPerimeter);mxPerimeter.TrapezoidPerimeter=function(a,d,b,c){var f=g.prototype.size;null!=d&&(f=
+d.view.scale))),d.style),d,b,c)};mxStyleRegistry.putValue("calloutPerimeter",mxPerimeter.CalloutPerimeter);mxPerimeter.ParallelogramPerimeter=function(a,d,b,c){var g=f.prototype.size;null!=d&&(g=mxUtils.getValue(d.style,"size",g));var e=a.x,h=a.y,m=a.width,n=a.height;d=null!=d?mxUtils.getValue(d.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;d==mxConstants.DIRECTION_NORTH||d==mxConstants.DIRECTION_SOUTH?(g=n*Math.max(0,Math.min(1,g)),h=[new mxPoint(e,h),new mxPoint(e+
+m,h+g),new mxPoint(e+m,h+n),new mxPoint(e,h+n-g),new mxPoint(e,h)]):(g=m*Math.max(0,Math.min(1,g)),h=[new mxPoint(e+g,h),new mxPoint(e+m,h),new mxPoint(e+m-g,h+n),new mxPoint(e,h+n),new mxPoint(e+g,h)]);n=a.getCenterX();a=a.getCenterY();a=new mxPoint(n,a);c&&(b.x<e||b.x>e+m?a.y=b.y:a.x=b.x);return mxUtils.getPerimeterPoint(h,a,b)};mxStyleRegistry.putValue("parallelogramPerimeter",mxPerimeter.ParallelogramPerimeter);mxPerimeter.TrapezoidPerimeter=function(a,d,b,c){var f=g.prototype.size;null!=d&&(f=
mxUtils.getValue(d.style,"size",f));var e=a.x,h=a.y,m=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?(f=m*Math.max(0,Math.min(1,f)),h=[new mxPoint(e+f,h),new mxPoint(e+m-f,h),new mxPoint(e+m,h+n),new mxPoint(e,h+n),new mxPoint(e+f,h)]):d==mxConstants.DIRECTION_WEST?(f=m*Math.max(0,Math.min(1,f)),h=[new mxPoint(e,h),new mxPoint(e+m,h),new mxPoint(e+m-f,h+n),new mxPoint(e+f,h+n),new mxPoint(e,
h)]):d==mxConstants.DIRECTION_NORTH?(f=n*Math.max(0,Math.min(1,f)),h=[new mxPoint(e,h+f),new mxPoint(e+m,h),new mxPoint(e+m,h+n),new mxPoint(e,h+n-f),new mxPoint(e,h+f)]):(f=n*Math.max(0,Math.min(1,f)),h=[new mxPoint(e,h),new mxPoint(e+m,h+f),new mxPoint(e+m,h+n-f),new mxPoint(e,h+n),new mxPoint(e,h)]);n=a.getCenterX();a=a.getCenterY();a=new mxPoint(n,a);c&&(b.x<e||b.x>e+m?a.y=b.y:a.x=b.x);return mxUtils.getPerimeterPoint(h,a,b)};mxStyleRegistry.putValue("trapezoidPerimeter",mxPerimeter.TrapezoidPerimeter);
-mxPerimeter.StepPerimeter=function(a,d,b,c){var f="0"!=mxUtils.getValue(d.style,"fixedSize","0"),e=f?t.prototype.fixedSize:t.prototype.size;null!=d&&(e=mxUtils.getValue(d.style,"size",e));var g=a.x,h=a.y,m=a.width,n=a.height,u=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(m,e)):m*Math.max(0,Math.min(1,e)),h=[new mxPoint(g,h),new mxPoint(g+m-
-f,h),new mxPoint(g+m,a),new mxPoint(g+m-f,h+n),new mxPoint(g,h+n),new mxPoint(g+f,a),new mxPoint(g,h)]):d==mxConstants.DIRECTION_WEST?(f=f?Math.max(0,Math.min(m,e)):m*Math.max(0,Math.min(1,e)),h=[new mxPoint(g+f,h),new mxPoint(g+m,h),new mxPoint(g+m-f,a),new mxPoint(g+m,h+n),new mxPoint(g+f,h+n),new mxPoint(g,a),new mxPoint(g+f,h)]):d==mxConstants.DIRECTION_NORTH?(f=f?Math.max(0,Math.min(n,e)):n*Math.max(0,Math.min(1,e)),h=[new mxPoint(g,h+f),new mxPoint(u,h),new mxPoint(g+m,h+f),new mxPoint(g+m,
-h+n),new mxPoint(u,h+n-f),new mxPoint(g,h+n),new mxPoint(g,h+f)]):(f=f?Math.max(0,Math.min(n,e)):n*Math.max(0,Math.min(1,e)),h=[new mxPoint(g,h),new mxPoint(u,h+f),new mxPoint(g+m,h),new mxPoint(g+m,h+n-f),new mxPoint(u,h+n),new mxPoint(g,h+n-f),new mxPoint(g,h)]);u=new mxPoint(u,a);c&&(b.x<g||b.x>g+m?u.y=b.y:u.x=b.x);return mxUtils.getPerimeterPoint(h,u,b)};mxStyleRegistry.putValue("stepPerimeter",mxPerimeter.StepPerimeter);mxPerimeter.HexagonPerimeter2=function(a,d,b,c){var f=x.prototype.size;null!=
-d&&(f=mxUtils.getValue(d.style,"size",f));var e=a.x,g=a.y,h=a.width,m=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=m*Math.max(0,Math.min(1,f)),g=[new mxPoint(n,g),new mxPoint(e+h,g+f),new mxPoint(e+h,g+m-f),new mxPoint(n,g+m),new mxPoint(e,g+m-f),new mxPoint(e,g+f),new mxPoint(n,g)]):(f=h*Math.max(0,Math.min(1,f)),g=[new mxPoint(e+
-f,g),new mxPoint(e+h-f,g),new mxPoint(e+h,a),new mxPoint(e+h-f,g+m),new mxPoint(e+f,g+m),new mxPoint(e,a),new mxPoint(e+f,g)]);n=new mxPoint(n,a);c&&(b.x<e||b.x>e+h?n.y=b.y:n.x=b.x);return mxUtils.getPerimeterPoint(g,n,b)};mxStyleRegistry.putValue("hexagonPerimeter2",mxPerimeter.HexagonPerimeter2);mxUtils.extend(J,mxShape);J.prototype.size=10;J.prototype.paintBackground=function(a,d,b,c,f){var e=parseFloat(mxUtils.getValue(this.style,"size",this.size));a.translate(d,b);a.ellipse((c-e)/2,0,e,e);a.fillAndStroke();
-a.begin();a.moveTo(c/2,e);a.lineTo(c/2,f);a.end();a.stroke()};mxCellRenderer.registerShape("lollipop",J);mxUtils.extend(R,mxShape);R.prototype.size=10;R.prototype.inset=2;R.prototype.paintBackground=function(a,d,b,c,f){var e=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,e+g);a.lineTo(c/2,f);a.end();a.stroke();a.begin();a.moveTo((c-e)/2-g,e/2);a.quadTo((c-e)/2-g,e+g,c/
-2,e+g);a.quadTo((c+e)/2+g,e+g,(c+e)/2+g,e/2);a.end();a.stroke()};mxCellRenderer.registerShape("requires",R);mxUtils.extend(Y,mxCylinder);Y.prototype.jettyWidth=32;Y.prototype.jettyHeight=12;Y.prototype.redrawPath=function(a,d,b,c,f,e){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,h=.3*f-d/2,m=.7*f-d/2;e?(a.moveTo(b,h),a.lineTo(g,h),a.lineTo(g,h+d),a.lineTo(b,h+d),a.moveTo(b,m),
-a.lineTo(g,m),a.lineTo(g,m+d),a.lineTo(b,m+d)):(a.moveTo(b,0),a.lineTo(c,0),a.lineTo(c,f),a.lineTo(b,f),a.lineTo(b,m+d),a.lineTo(0,m+d),a.lineTo(0,m),a.lineTo(b,m),a.lineTo(b,h+d),a.lineTo(0,h+d),a.lineTo(0,h),a.lineTo(b,h),a.close());a.end()};mxCellRenderer.registerShape("component",Y);mxUtils.extend(aa,mxDoubleEllipse);aa.prototype.outerStroke=!0;aa.prototype.paintVertexShape=function(a,d,b,c,f){var e=Math.min(4,Math.min(c/5,f/5));0<c&&0<f&&(a.ellipse(d+e,b+e,c-2*e,f-2*e),a.fillAndStroke());a.setShadow(!1);
+mxPerimeter.StepPerimeter=function(a,d,b,c){var f="0"!=mxUtils.getValue(d.style,"fixedSize","0"),g=f?t.prototype.fixedSize:t.prototype.size;null!=d&&(g=mxUtils.getValue(d.style,"size",g));var e=a.x,h=a.y,m=a.width,n=a.height,u=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(m,g)):m*Math.max(0,Math.min(1,g)),h=[new mxPoint(e,h),new mxPoint(e+m-
+f,h),new mxPoint(e+m,a),new mxPoint(e+m-f,h+n),new mxPoint(e,h+n),new mxPoint(e+f,a),new mxPoint(e,h)]):d==mxConstants.DIRECTION_WEST?(f=f?Math.max(0,Math.min(m,g)):m*Math.max(0,Math.min(1,g)),h=[new mxPoint(e+f,h),new mxPoint(e+m,h),new mxPoint(e+m-f,a),new mxPoint(e+m,h+n),new mxPoint(e+f,h+n),new mxPoint(e,a),new mxPoint(e+f,h)]):d==mxConstants.DIRECTION_NORTH?(f=f?Math.max(0,Math.min(n,g)):n*Math.max(0,Math.min(1,g)),h=[new mxPoint(e,h+f),new mxPoint(u,h),new mxPoint(e+m,h+f),new mxPoint(e+m,
+h+n),new mxPoint(u,h+n-f),new mxPoint(e,h+n),new mxPoint(e,h+f)]):(f=f?Math.max(0,Math.min(n,g)):n*Math.max(0,Math.min(1,g)),h=[new mxPoint(e,h),new mxPoint(u,h+f),new mxPoint(e+m,h),new mxPoint(e+m,h+n-f),new mxPoint(u,h+n),new mxPoint(e,h+n-f),new mxPoint(e,h)]);u=new mxPoint(u,a);c&&(b.x<e||b.x>e+m?u.y=b.y:u.x=b.x);return mxUtils.getPerimeterPoint(h,u,b)};mxStyleRegistry.putValue("stepPerimeter",mxPerimeter.StepPerimeter);mxPerimeter.HexagonPerimeter2=function(a,d,b,c){var f=x.prototype.size;null!=
+d&&(f=mxUtils.getValue(d.style,"size",f));var g=a.x,e=a.y,h=a.width,m=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=m*Math.max(0,Math.min(1,f)),e=[new mxPoint(n,e),new mxPoint(g+h,e+f),new mxPoint(g+h,e+m-f),new mxPoint(n,e+m),new mxPoint(g,e+m-f),new mxPoint(g,e+f),new mxPoint(n,e)]):(f=h*Math.max(0,Math.min(1,f)),e=[new mxPoint(g+
+f,e),new mxPoint(g+h-f,e),new mxPoint(g+h,a),new mxPoint(g+h-f,e+m),new mxPoint(g+f,e+m),new mxPoint(g,a),new mxPoint(g+f,e)]);n=new mxPoint(n,a);c&&(b.x<g||b.x>g+h?n.y=b.y:n.x=b.x);return mxUtils.getPerimeterPoint(e,n,b)};mxStyleRegistry.putValue("hexagonPerimeter2",mxPerimeter.HexagonPerimeter2);mxUtils.extend(J,mxShape);J.prototype.size=10;J.prototype.paintBackground=function(a,d,b,c,f){var g=parseFloat(mxUtils.getValue(this.style,"size",this.size));a.translate(d,b);a.ellipse((c-g)/2,0,g,g);a.fillAndStroke();
+a.begin();a.moveTo(c/2,g);a.lineTo(c/2,f);a.end();a.stroke()};mxCellRenderer.registerShape("lollipop",J);mxUtils.extend(R,mxShape);R.prototype.size=10;R.prototype.inset=2;R.prototype.paintBackground=function(a,d,b,c,f){var g=parseFloat(mxUtils.getValue(this.style,"size",this.size)),e=parseFloat(mxUtils.getValue(this.style,"inset",this.inset))+this.strokewidth;a.translate(d,b);a.begin();a.moveTo(c/2,g+e);a.lineTo(c/2,f);a.end();a.stroke();a.begin();a.moveTo((c-g)/2-e,g/2);a.quadTo((c-g)/2-e,g+e,c/
+2,g+e);a.quadTo((c+g)/2+e,g+e,(c+g)/2+e,g/2);a.end();a.stroke()};mxCellRenderer.registerShape("requires",R);mxUtils.extend(Y,mxCylinder);Y.prototype.jettyWidth=32;Y.prototype.jettyHeight=12;Y.prototype.redrawPath=function(a,d,b,c,f,g){var e=parseFloat(mxUtils.getValue(this.style,"jettyWidth",this.jettyWidth));d=parseFloat(mxUtils.getValue(this.style,"jettyHeight",this.jettyHeight));b=e/2;var e=b+e/2,h=.3*f-d/2,m=.7*f-d/2;g?(a.moveTo(b,h),a.lineTo(e,h),a.lineTo(e,h+d),a.lineTo(b,h+d),a.moveTo(b,m),
+a.lineTo(e,m),a.lineTo(e,m+d),a.lineTo(b,m+d)):(a.moveTo(b,0),a.lineTo(c,0),a.lineTo(c,f),a.lineTo(b,f),a.lineTo(b,m+d),a.lineTo(0,m+d),a.lineTo(0,m),a.lineTo(b,m),a.lineTo(b,h+d),a.lineTo(0,h+d),a.lineTo(0,h),a.lineTo(b,h),a.close());a.end()};mxCellRenderer.registerShape("component",Y);mxUtils.extend(aa,mxDoubleEllipse);aa.prototype.outerStroke=!0;aa.prototype.paintVertexShape=function(a,d,b,c,f){var g=Math.min(4,Math.min(c/5,f/5));0<c&&0<f&&(a.ellipse(d+g,b+g,c-2*g,f-2*g),a.fillAndStroke());a.setShadow(!1);
this.outerStroke&&(a.ellipse(d,b,c,f),a.stroke())};mxCellRenderer.registerShape("endState",aa);mxUtils.extend(Q,aa);Q.prototype.outerStroke=!1;mxCellRenderer.registerShape("startState",Q);mxUtils.extend(S,mxArrowConnector);S.prototype.defaultWidth=4;S.prototype.isOpenEnded=function(){return!0};S.prototype.getEdgeWidth=function(){return mxUtils.getNumber(this.style,"width",this.defaultWidth)+Math.max(0,this.strokewidth-1)};S.prototype.isArrowRounded=function(){return this.isRounded};mxCellRenderer.registerShape("link",
S);mxUtils.extend(K,mxArrowConnector);K.prototype.defaultWidth=10;K.prototype.defaultArrowWidth=20;K.prototype.getStartArrowWidth=function(){return this.getEdgeWidth()+mxUtils.getNumber(this.style,"startWidth",this.defaultArrowWidth)};K.prototype.getEndArrowWidth=function(){return this.getEdgeWidth()+mxUtils.getNumber(this.style,"endWidth",this.defaultArrowWidth)};K.prototype.getEdgeWidth=function(){return mxUtils.getNumber(this.style,"width",this.defaultWidth)+Math.max(0,this.strokewidth-1)};mxCellRenderer.registerShape("flexArrow",
K);mxUtils.extend(H,mxActor);H.prototype.size=30;H.prototype.redrawPath=function(a,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",H);mxUtils.extend(V,mxRectangleShape);V.prototype.dx=20;V.prototype.dy=20;V.prototype.isHtmlAllowed=
-function(){return!1};V.prototype.paintForeground=function(a,d,b,c,f){mxRectangleShape.prototype.paintForeground.apply(this,arguments);var e=0;if(this.isRounded)var g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,e=Math.max(e,Math.min(c*g,f*g));g=Math.max(e,Math.min(c,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));e=Math.max(e,Math.min(f,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));a.begin();a.moveTo(d,b+e);a.lineTo(d+c,b+e);
-a.end();a.stroke();a.begin();a.moveTo(d+g,b);a.lineTo(d+g,b+f);a.end();a.stroke()};mxCellRenderer.registerShape("internalStorage",V);mxUtils.extend(L,mxActor);L.prototype.dx=20;L.prototype.dy=20;L.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 e=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,e,!0);a.end()};mxCellRenderer.registerShape("corner",L);mxUtils.extend(O,mxActor);O.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",O);mxUtils.extend(X,mxActor);X.prototype.dx=20;X.prototype.dy=
-20;X.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 e=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,e,!0);a.end()};mxCellRenderer.registerShape("tee",X);mxUtils.extend(A,mxActor);A.prototype.arrowWidth=.3;A.prototype.arrowSize=.2;A.prototype.redrawPath=function(a,d,b,c,f){var e=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-e)/2;var e=b+e,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,e),new mxPoint(0,e)],this.isRounded,g,!0);a.end()};mxCellRenderer.registerShape("singleArrow",A);mxUtils.extend(W,mxActor);W.prototype.redrawPath=function(a,d,b,c,f){var e=f*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",A.prototype.arrowWidth))));d=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",A.prototype.arrowSize))));
-b=(f-e)/2;var e=b+e,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,e),new mxPoint(d,e),new mxPoint(d,f)],this.isRounded,g,!0);a.end()};mxCellRenderer.registerShape("doubleArrow",W);mxUtils.extend(P,mxActor);P.prototype.size=.1;P.prototype.redrawPath=function(a,d,b,c,f){d=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,
+function(){return!1};V.prototype.paintForeground=function(a,d,b,c,f){mxRectangleShape.prototype.paintForeground.apply(this,arguments);var g=0;if(this.isRounded)var e=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,g=Math.max(g,Math.min(c*e,f*e));e=Math.max(g,Math.min(c,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));g=Math.max(g,Math.min(f,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));a.begin();a.moveTo(d,b+g);a.lineTo(d+c,b+g);
+a.end();a.stroke();a.begin();a.moveTo(d+e,b);a.lineTo(d+e,b+f);a.end();a.stroke()};mxCellRenderer.registerShape("internalStorage",V);mxUtils.extend(L,mxActor);L.prototype.dx=20;L.prototype.dy=20;L.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 g=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,g,!0);a.end()};mxCellRenderer.registerShape("corner",L);mxUtils.extend(O,mxActor);O.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",O);mxUtils.extend(X,mxActor);X.prototype.dx=20;X.prototype.dy=
+20;X.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 g=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,g,!0);a.end()};mxCellRenderer.registerShape("tee",X);mxUtils.extend(A,mxActor);A.prototype.arrowWidth=.3;A.prototype.arrowSize=.2;A.prototype.redrawPath=function(a,d,b,c,f){var g=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-g)/2;var g=b+g,e=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,g),new mxPoint(0,g)],this.isRounded,e,!0);a.end()};mxCellRenderer.registerShape("singleArrow",A);mxUtils.extend(W,mxActor);W.prototype.redrawPath=function(a,d,b,c,f){var g=f*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",A.prototype.arrowWidth))));d=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",A.prototype.arrowSize))));
+b=(f-g)/2;var g=b+g,e=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,g),new mxPoint(d,g),new mxPoint(d,f)],this.isRounded,e,!0);a.end()};mxCellRenderer.registerShape("doubleArrow",W);mxUtils.extend(P,mxActor);P.prototype.size=.1;P.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",P);mxUtils.extend(da,mxActor);da.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",da);mxUtils.extend(T,mxActor);T.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",T);mxUtils.extend(Z,mxActor);Z.prototype.size=20;Z.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",
Z);mxUtils.extend(U,mxActor);U.prototype.size=.375;U.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",U);mxUtils.extend(na,mxEllipse);na.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",na);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,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",
oa);mxUtils.extend(ca,mxEllipse);ca.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",ca);mxUtils.extend(ia,mxRhombus);ia.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",ia);mxUtils.extend(qa,mxEllipse);qa.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",qa);mxUtils.extend(ea,mxEllipse);ea.prototype.paintVertexShape=
-function(a,d,b,c,f){var e=b+f-5;a.begin();a.moveTo(d,b);a.lineTo(d,b+f);a.moveTo(d,e);a.lineTo(d+10,e-5);a.moveTo(d,e);a.lineTo(d+10,e+5);a.moveTo(d,e);a.lineTo(d+c,e);a.moveTo(d+c,b);a.lineTo(d+c,b+f);a.moveTo(d+c,e);a.lineTo(d+c-10,e-5);a.moveTo(d+c,e);a.lineTo(d+c-10,e+5);a.end();a.stroke()};mxCellRenderer.registerShape("dimension",ea);mxUtils.extend(ra,mxEllipse);ra.prototype.paintVertexShape=function(a,d,b,c,f){this.outline||a.setStrokeColor(null);mxRectangleShape.prototype.paintBackground.apply(this,
+function(a,d,b,c,f){var g=b+f-5;a.begin();a.moveTo(d,b);a.lineTo(d,b+f);a.moveTo(d,g);a.lineTo(d+10,g-5);a.moveTo(d,g);a.lineTo(d+10,g+5);a.moveTo(d,g);a.lineTo(d+c,g);a.moveTo(d+c,b);a.lineTo(d+c,b+f);a.moveTo(d+c,g);a.lineTo(d+c-10,g-5);a.moveTo(d+c,g);a.lineTo(d+c-10,g+5);a.end();a.stroke()};mxCellRenderer.registerShape("dimension",ea);mxUtils.extend(ra,mxEllipse);ra.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",ra);mxUtils.extend(fa,
mxEllipse);fa.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",fa);mxUtils.extend(ja,mxActor);ja.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",ja);mxUtils.extend(ba,mxActor);ba.prototype.size=.2;ba.prototype.redrawPath=function(a,d,b,c,f){d=Math.min(f,c);var e=Math.max(0,Math.min(d,d*parseFloat(mxUtils.getValue(this.style,"size",this.size))));d=(f-e)/2;b=d+e;var g=(c-e)/2,e=g+e;a.moveTo(0,d);a.lineTo(g,d);a.lineTo(g,0);a.lineTo(e,0);a.lineTo(e,d);a.lineTo(c,d);a.lineTo(c,b);a.lineTo(e,b);a.lineTo(e,f);a.lineTo(g,f);a.lineTo(g,b);a.lineTo(0,b);a.close();a.end()};mxCellRenderer.registerShape("cross",
+f);a.close();a.end()};mxCellRenderer.registerShape("delay",ja);mxUtils.extend(ba,mxActor);ba.prototype.size=.2;ba.prototype.redrawPath=function(a,d,b,c,f){d=Math.min(f,c);var g=Math.max(0,Math.min(d,d*parseFloat(mxUtils.getValue(this.style,"size",this.size))));d=(f-g)/2;b=d+g;var e=(c-g)/2,g=e+g;a.moveTo(0,d);a.lineTo(e,d);a.lineTo(e,0);a.lineTo(g,0);a.lineTo(g,d);a.lineTo(c,d);a.lineTo(c,b);a.lineTo(g,b);a.lineTo(g,f);a.lineTo(e,f);a.lineTo(e,b);a.lineTo(0,b);a.close();a.end()};mxCellRenderer.registerShape("cross",
ba);mxUtils.extend(ka,mxActor);ka.prototype.size=.25;ka.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",ka);mxUtils.extend(ga,mxConnector);ga.prototype.origPaintEdgeShape=ga.prototype.paintEdgeShape;ga.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,e=a.state.fixDash;ga.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,e),ga.prototype.origPaintEdgeShape.apply(this,[a,d,b])))};mxCellRenderer.registerShape("filledEdge",ga);"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,e,g,h,m,n){var u=f*(g+m+1),t=e*(g+m+1);return function(){a.begin();a.moveTo(c.x-u/2-t/2,c.y-t/2+u/2);a.lineTo(c.x+t/2-3*u/2,c.y-3*t/2-u/2);a.stroke()}});mxMarker.addMarker("cross",function(a,d,b,c,f,e,g,h,m,
-n){var u=f*(g+m+1),t=e*(g+m+1);return function(){a.begin();a.moveTo(c.x-u/2-t/2,c.y-t/2+u/2);a.lineTo(c.x+t/2-3*u/2,c.y-3*t/2-u/2);a.moveTo(c.x-u/2+t/2,c.y-t/2-u/2);a.lineTo(c.x-t/2-3*u/2,c.y-3*t/2+u/2);a.stroke()}});mxMarker.addMarker("circle",Aa);mxMarker.addMarker("circlePlus",function(a,d,b,c,f,e,g,h,m,n){var u=c.clone(),t=Aa.apply(this,arguments),r=f*(g+2*m),w=e*(g+2*m);return function(){t.apply(this,arguments);a.begin();a.moveTo(u.x-f*m,u.y-e*m);a.lineTo(u.x-2*r+f*m,u.y-2*w+e*m);a.moveTo(u.x-
-r-w+e*m,u.y-w+r-f*m);a.lineTo(u.x+w-r-e*m,u.y-w-r+f*m);a.stroke()}});mxMarker.addMarker("async",function(a,d,b,c,f,e,g,h,m,n){d=f*m*1.118;b=e*m*1.118;f*=g+m;e*=g+m;var u=c.clone();u.x-=d;u.y-=b;c.x+=1*-f-d;c.y+=1*-e-b;return function(){a.begin();a.moveTo(u.x,u.y);h?a.lineTo(u.x-f-e/2,u.y-e+f/2):a.lineTo(u.x+e/2-f,u.y-e-f/2);a.lineTo(u.x-f,u.y-e);a.close();n?a.fillAndStroke():a.stroke()}});mxMarker.addMarker("openAsync",function(a){a=null!=a?a:2;return function(d,b,c,f,e,g,h,m,n,u){e*=h+n;g*=h+n;var t=
-f.clone();return function(){d.begin();d.moveTo(t.x,t.y);m?d.lineTo(t.x-e-g/a,t.y-g+e/a):d.lineTo(t.x+g/a-e,t.y-g-e/a);d.stroke()}}}(2));if("undefined"!==typeof mxVertexHandler){var Da=function(a,d,b){return sa(a,["width"],d,function(d,c,f,e,g){g=a.shape.getEdgeWidth()*a.view.scale+b;return new mxPoint(e.x+c*d/4+f*g/2,e.y+f*d/4-c*g/2)},function(d,c,f,e,g,h){d=Math.sqrt(mxUtils.ptSegDistSq(e.x,e.y,g.x,g.y,h.x,h.y));a.style.width=Math.round(2*d)/a.view.scale-b})},sa=function(a,d,b,c,f){return M(a,d,
-function(d){var f=a.absolutePoints,e=f.length-1;d=a.view.translate;var g=a.view.scale,h=b?f[0]:f[e],f=b?f[1]:f[e-1],e=f.x-h.x,m=f.y-h.y,n=Math.sqrt(e*e+m*m),h=c.call(this,n,e/n,m/n,h,f);return new mxPoint(h.x/g-d.x,h.y/g-d.y)},function(d,c,e){var g=a.absolutePoints,h=g.length-1;d=a.view.translate;var m=a.view.scale,n=b?g[0]:g[h],g=b?g[1]:g[h-1],h=g.x-n.x,u=g.y-n.y,t=Math.sqrt(h*h+u*u);c.x=(c.x+d.x)*m;c.y=(c.y+d.y)*m;f.call(this,t,h/t,u/t,n,g,c,e)})},ma=function(a){return function(d){return[M(d,["arrowWidth",
+[],f=0;f<d.length;f++)c.push(mxUtils.clone(d[f]));var f=a.state.dashed,g=a.state.fixDash;ga.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,g),ga.prototype.origPaintEdgeShape.apply(this,[a,d,b])))};mxCellRenderer.registerShape("filledEdge",ga);"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,g,e,h,m,n){var u=f*(e+m+1),t=g*(e+m+1);return function(){a.begin();a.moveTo(c.x-u/2-t/2,c.y-t/2+u/2);a.lineTo(c.x+t/2-3*u/2,c.y-3*t/2-u/2);a.stroke()}});mxMarker.addMarker("cross",function(a,d,b,c,f,g,e,h,m,
+n){var u=f*(e+m+1),t=g*(e+m+1);return function(){a.begin();a.moveTo(c.x-u/2-t/2,c.y-t/2+u/2);a.lineTo(c.x+t/2-3*u/2,c.y-3*t/2-u/2);a.moveTo(c.x-u/2+t/2,c.y-t/2-u/2);a.lineTo(c.x-t/2-3*u/2,c.y-3*t/2+u/2);a.stroke()}});mxMarker.addMarker("circle",Aa);mxMarker.addMarker("circlePlus",function(a,d,b,c,f,g,e,h,m,n){var u=c.clone(),t=Aa.apply(this,arguments),r=f*(e+2*m),w=g*(e+2*m);return function(){t.apply(this,arguments);a.begin();a.moveTo(u.x-f*m,u.y-g*m);a.lineTo(u.x-2*r+f*m,u.y-2*w+g*m);a.moveTo(u.x-
+r-w+g*m,u.y-w+r-f*m);a.lineTo(u.x+w-r-g*m,u.y-w-r+f*m);a.stroke()}});mxMarker.addMarker("async",function(a,d,b,c,f,g,e,h,m,n){d=f*m*1.118;b=g*m*1.118;f*=e+m;g*=e+m;var u=c.clone();u.x-=d;u.y-=b;c.x+=1*-f-d;c.y+=1*-g-b;return function(){a.begin();a.moveTo(u.x,u.y);h?a.lineTo(u.x-f-g/2,u.y-g+f/2):a.lineTo(u.x+g/2-f,u.y-g-f/2);a.lineTo(u.x-f,u.y-g);a.close();n?a.fillAndStroke():a.stroke()}});mxMarker.addMarker("openAsync",function(a){a=null!=a?a:2;return function(d,b,c,f,g,e,h,m,n,u){g*=h+n;e*=h+n;var t=
+f.clone();return function(){d.begin();d.moveTo(t.x,t.y);m?d.lineTo(t.x-g-e/a,t.y-e+g/a):d.lineTo(t.x+e/a-g,t.y-e-g/a);d.stroke()}}}(2));if("undefined"!==typeof mxVertexHandler){var Da=function(a,d,b){return sa(a,["width"],d,function(d,c,f,g,e){e=a.shape.getEdgeWidth()*a.view.scale+b;return new mxPoint(g.x+c*d/4+f*e/2,g.y+f*d/4-c*e/2)},function(d,c,f,g,e,h){d=Math.sqrt(mxUtils.ptSegDistSq(g.x,g.y,e.x,e.y,h.x,h.y));a.style.width=Math.round(2*d)/a.view.scale-b})},sa=function(a,d,b,c,f){return M(a,d,
+function(d){var f=a.absolutePoints,g=f.length-1;d=a.view.translate;var e=a.view.scale,h=b?f[0]:f[g],f=b?f[1]:f[g-1],g=f.x-h.x,m=f.y-h.y,n=Math.sqrt(g*g+m*m),h=c.call(this,n,g/n,m/n,h,f);return new mxPoint(h.x/e-d.x,h.y/e-d.y)},function(d,c,g){var e=a.absolutePoints,h=e.length-1;d=a.view.translate;var m=a.view.scale,n=b?e[0]:e[h],e=b?e[1]:e[h-1],h=e.x-n.x,u=e.y-n.y,t=Math.sqrt(h*h+u*u);c.x=(c.x+d.x)*m;c.y=(c.y+d.y)*m;f.call(this,t,h/t,u/t,n,e,c,g)})},ma=function(a){return function(d){return[M(d,["arrowWidth",
"arrowSize"],function(d){var b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"arrowWidth",A.prototype.arrowWidth))),c=Math.max(0,Math.min(a,mxUtils.getValue(this.state.style,"arrowSize",A.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))})]}},ya=function(a,d,b){return function(c){var f=
-[M(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(ha(c));return f}},ua=function(a,d,b,c,f){b=null!=b?b:1;return function(e){var g=[M(e,["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=e.view.graph.snap(a));this.state.style.size=a},null,c)];d&&mxUtils.getValue(e.style,mxConstants.STYLE_ROUNDED,!1)&&g.push(ha(e));return g}},Ea=function(a){return function(d){var b=
+[M(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(ha(c));return f}},ua=function(a,d,b,c,f){b=null!=b?b:1;return function(g){var e=[M(g,["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 e=null!=f?"0"!=mxUtils.getValue(this.state.style,"fixedSize","0"):null;a=e?d.x-a.x:Math.max(0,Math.min(b,(d.x-a.x)/a.width));e&&!mxEvent.isAltDown(c.getEvent())&&(a=g.view.graph.snap(a));this.state.style.size=a},null,c)];d&&mxUtils.getValue(g.style,mxConstants.STYLE_ROUNDED,!1)&&e.push(ha(g));return e}},Ea=function(a){return function(d){var b=
[M(d,["size"],function(d){var b=Math.max(0,Math.min(a,parseFloat(mxUtils.getValue(this.state.style,"size",g.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(ha(d));return b}},ta=function(){return function(a){var d=[];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&d.push(ha(a));return d}},ha=function(a,d){return M(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))))})},M=function(a,d,b,c,f,e){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(e){var h=g.positionChanged;g.positionChanged=function(){h.apply(this,arguments);a.view.invalidate(this.state.cell);a.view.validate()}}return g},za={link:function(a){return[Da(a,!0,10),Da(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(sa(a,["width",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!0,function(d,
-b,c,f,e){d=(a.shape.getEdgeWidth()-a.shape.strokewidth)*a.view.scale;e=3*mxUtils.getNumber(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(f.x+b*(e+a.shape.strokewidth*a.view.scale)+c*d/2,f.y+c*(e+a.shape.strokewidth*a.view.scale)-b*d/2)},function(b,c,f,e,g,h,m){b=Math.sqrt(mxUtils.ptSegDistSq(e.x,e.y,g.x,g.y,h.x,h.y));c=mxUtils.ptLineDist(e.x,e.y,e.x+f,e.y-c,h.x,h.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(m.getEvent())&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE]);mxEvent.isAltDown(m.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(sa(a,["startWidth","endWidth",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!0,function(d,b,c,f,e){d=(a.shape.getStartArrowWidth()-
-a.shape.strokewidth)*a.view.scale;e=3*mxUtils.getNumber(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(f.x+b*(e+a.shape.strokewidth*a.view.scale)+c*d/2,f.y+c*(e+a.shape.strokewidth*a.view.scale)-b*d/2)},function(b,c,f,e,g,h,m){b=Math.sqrt(mxUtils.ptSegDistSq(e.x,e.y,g.x,g.y,h.x,h.y));c=mxUtils.ptLineDist(e.x,e.y,e.x+f,e.y-c,h.x,h.y);a.style[mxConstants.STYLE_STARTSIZE]=Math.round(100*(c-a.shape.strokewidth)/3)/100/a.view.scale;a.style.startWidth=Math.max(0,
+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))))})},M=function(a,d,b,c,f,g){var e=new mxHandle(a,null,mxVertexHandler.prototype.secondaryHandleImage);e.execute=function(){for(var a=0;a<d.length;a++)this.copyStyle(d[a])};
+e.getPosition=b;e.setPosition=c;e.ignoreGrid=null!=f?f:!0;if(g){var h=e.positionChanged;e.positionChanged=function(){h.apply(this,arguments);a.view.invalidate(this.state.cell);a.view.validate()}}return e},za={link:function(a){return[Da(a,!0,10),Da(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(sa(a,["width",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!0,function(d,
+b,c,f,g){d=(a.shape.getEdgeWidth()-a.shape.strokewidth)*a.view.scale;g=3*mxUtils.getNumber(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(f.x+b*(g+a.shape.strokewidth*a.view.scale)+c*d/2,f.y+c*(g+a.shape.strokewidth*a.view.scale)-b*d/2)},function(b,c,f,g,e,h,m){b=Math.sqrt(mxUtils.ptSegDistSq(g.x,g.y,e.x,e.y,h.x,h.y));c=mxUtils.ptLineDist(g.x,g.y,g.x+f,g.y-c,h.x,h.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(m.getEvent())&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE]);mxEvent.isAltDown(m.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(sa(a,["startWidth","endWidth",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!0,function(d,b,c,f,g){d=(a.shape.getStartArrowWidth()-
+a.shape.strokewidth)*a.view.scale;g=3*mxUtils.getNumber(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(f.x+b*(g+a.shape.strokewidth*a.view.scale)+c*d/2,f.y+c*(g+a.shape.strokewidth*a.view.scale)-b*d/2)},function(b,c,f,g,e,h,m){b=Math.sqrt(mxUtils.ptSegDistSq(g.x,g.y,e.x,e.y,h.x,h.y));c=mxUtils.ptLineDist(g.x,g.y,g.x+f,g.y-c,h.x,h.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(m.getEvent())&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE],a.style.endWidth=a.style.startWidth);mxEvent.isAltDown(m.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(sa(a,["width",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!1,function(d,b,c,f,e){d=(a.shape.getEdgeWidth()-a.shape.strokewidth)*a.view.scale;e=3*mxUtils.getNumber(a.style,mxConstants.STYLE_ENDSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(f.x+b*(e+a.shape.strokewidth*a.view.scale)-c*d/2,f.y+c*(e+a.shape.strokewidth*a.view.scale)+b*d/2)},function(b,c,f,
-e,g,h,m){b=Math.sqrt(mxUtils.ptSegDistSq(e.x,e.y,g.x,g.y,h.x,h.y));c=mxUtils.ptLineDist(e.x,e.y,e.x+f,e.y-c,h.x,h.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(m.getEvent())&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE]);mxEvent.isAltDown(m.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(sa(a,["startWidth","endWidth",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!1,function(d,b,c,f,e){d=(a.shape.getEndArrowWidth()-a.shape.strokewidth)*a.view.scale;e=3*mxUtils.getNumber(a.style,mxConstants.STYLE_ENDSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(f.x+b*(e+a.shape.strokewidth*a.view.scale)-c*d/2,f.y+c*(e+a.shape.strokewidth*a.view.scale)+b*d/2)},function(b,c,f,e,g,h,m){b=
-Math.sqrt(mxUtils.ptSegDistSq(e.x,e.y,g.x,g.y,h.x,h.y));c=mxUtils.ptLineDist(e.x,e.y,e.x+f,e.y-c,h.x,h.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(m.getEvent())&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE],a.style.startWidth=a.style.endWidth);mxEvent.isAltDown(m.getEvent())||(Math.abs(parseFloat(a.style[mxConstants.STYLE_ENDSIZE])-
+a.style.endWidth))})));mxUtils.getValue(a.style,mxConstants.STYLE_ENDARROW,mxConstants.NONE)!=mxConstants.NONE&&(b.push(sa(a,["width",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!1,function(d,b,c,f,g){d=(a.shape.getEdgeWidth()-a.shape.strokewidth)*a.view.scale;g=3*mxUtils.getNumber(a.style,mxConstants.STYLE_ENDSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(f.x+b*(g+a.shape.strokewidth*a.view.scale)-c*d/2,f.y+c*(g+a.shape.strokewidth*a.view.scale)+b*d/2)},function(b,c,f,
+g,e,h,m){b=Math.sqrt(mxUtils.ptSegDistSq(g.x,g.y,e.x,e.y,h.x,h.y));c=mxUtils.ptLineDist(g.x,g.y,g.x+f,g.y-c,h.x,h.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(m.getEvent())&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE]);mxEvent.isAltDown(m.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(sa(a,["startWidth","endWidth",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!1,function(d,b,c,f,g){d=(a.shape.getEndArrowWidth()-a.shape.strokewidth)*a.view.scale;g=3*mxUtils.getNumber(a.style,mxConstants.STYLE_ENDSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(f.x+b*(g+a.shape.strokewidth*a.view.scale)-c*d/2,f.y+c*(g+a.shape.strokewidth*a.view.scale)+b*d/2)},function(b,c,f,g,e,h,m){b=
+Math.sqrt(mxUtils.ptSegDistSq(g.x,g.y,e.x,e.y,h.x,h.y));c=mxUtils.ptLineDist(g.x,g.y,g.x+f,g.y-c,h.x,h.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(m.getEvent())&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE],a.style.startWidth=a.style.endWidth);mxEvent.isAltDown(m.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=[M(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(ha(a,b/2))}return d},
label:ta(),ext:ta(),rectangle:ta(),triangle:ta(),rhombus:ta(),umlLifeline:function(a){return[M(a,["size"],function(a){var d=Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(this.state.style,"size",N.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[M(a,["width","height"],function(a){var d=Math.max(E.prototype.corner,Math.min(a.width,mxUtils.getValue(this.state.style,
"width",E.prototype.width))),b=Math.max(1.5*E.prototype.corner,Math.min(a.height,mxUtils.getValue(this.state.style,"height",E.prototype.height)));return new mxPoint(a.x+d,a.y+b)},function(a,d){this.state.style.width=Math.round(Math.max(E.prototype.corner,Math.min(a.width,d.x-a.x)));this.state.style.height=Math.round(Math.max(1.5*E.prototype.corner,Math.min(a.height,d.y-a.y)))},!1)]},process:function(a){var d=[M(a,["size"],function(a){var d=Math.max(0,Math.min(.5,parseFloat(mxUtils.getValue(this.state.style,
-"size",m.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(ha(a));return d},cross:function(a){return[M(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",ba.prototype.size)))*d/2;return new mxPoint(a.getCenterX()-d,a.getCenterY()-d)},function(a,d){var b=Math.min(a.width,
+"size",n.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(ha(a));return d},cross:function(a){return[M(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",ba.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[M(a,["size"],function(a){var d=Math.max(0,Math.min(a.width,Math.min(a.height,parseFloat(mxUtils.getValue(this.state.style,"size",k.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=
[M(a,["size"],function(a){var d=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",H.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(ha(a));return d},dataStorage:function(a){return[M(a,["size"],function(a){var d=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",P.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=[M(a,["size","position"],function(a){var d=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",w.prototype.size))),b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position",w.prototype.position)));mxUtils.getValue(this.state.style,"base",w.prototype.base);return new mxPoint(a.x+b*a.width,a.y+a.height-d)},function(a,d){mxUtils.getValue(this.state.style,
@@ -2537,11 +2537,11 @@ Math.min(a.height,d.y-a.y)))})]},tee:function(a){return[M(a,["dx","dy"],function
folder:function(a){return[M(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[M(a,["size"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",d.prototype.size))));return new mxPoint(a.x+3*a.width/4,a.y+(1-b)*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[M(a,["size"],function(a){var d=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",v.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[M(a,["size"],function(a){var d=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",U.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:ua(t.prototype.size,!0,null,!0,t.prototype.fixedSize),hexagon:ua(x.prototype.size,!0,.5,!0),curlyBracket:ua(n.prototype.size,!1),display:ua(ka.prototype.size,!1),cube:ya(1,a.prototype.size,!1),card:ya(.5,p.prototype.size,!0),loopLimit:ya(.5,Z.prototype.size,!0),trapezoid:Ea(.5),parallelogram:Ea(1)};Graph.createHandle=M;Graph.handleFactory=za;mxVertexHandler.prototype.createCustomHandles=function(){if(1==
+function(a,d){this.state.style.size=Math.max(0,Math.min(1,(a.y+a.height-d.y)/a.height))})]},step:ua(t.prototype.size,!0,null,!0,t.prototype.fixedSize),hexagon:ua(x.prototype.size,!0,.5,!0),curlyBracket:ua(m.prototype.size,!1),display:ua(ka.prototype.size,!1),cube:ya(1,a.prototype.size,!1),card:ya(.5,p.prototype.size,!0),loopLimit:ya(.5,Z.prototype.size,!0),trapezoid:Ea(.5),parallelogram:Ea(1)};Graph.createHandle=M;Graph.handleFactory=za;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=za[a];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=za[a];if(null!=a)return a(this.state)}return null}}else Graph.createHandle=function(){},Graph.handleFactory={};var va=new mxPoint(1,0),wa=new mxPoint(1,0),ma=mxUtils.toRadians(-30),va=mxUtils.getRotatedPoint(va,Math.cos(ma),Math.sin(ma)),ma=mxUtils.toRadians(-150),wa=mxUtils.getRotatedPoint(wa,Math.cos(ma),Math.sin(ma));mxEdgeStyle.IsometricConnector=function(a,d,b,c,f){var e=a.view;c=null!=c&&0<c.length?c[0]:null;var g=a.absolutePoints,h=g[0],g=g[g.length-1];null!=c&&(c=e.transformControlPoint(a,
-c));null==h&&null!=d&&(h=new mxPoint(d.getCenterX(),d.getCenterY()));null==g&&null!=b&&(g=new mxPoint(b.getCenterX(),b.getCenterY()));var m=va.x,n=va.y,u=wa.x,t=wa.y,r="horizontal"==mxUtils.getValue(a.style,"elbow","horizontal");if(null!=g&&null!=h){a=function(a,d,b){a-=w.x;var c=d-w.y;d=(t*a-u*c)/(m*t-n*u);a=(n*a-m*c)/(n*u-m*t);r?(b&&(w=new mxPoint(w.x+m*d,w.y+n*d),f.push(w)),w=new mxPoint(w.x+u*a,w.y+t*a)):(b&&(w=new mxPoint(w.x+u*a,w.y+t*a),f.push(w)),w=new mxPoint(w.x+m*d,w.y+n*d));f.push(w)};
-var w=h;null==c&&(c=new mxPoint(h.x+(g.x-h.x)/2,h.y+(g.y-h.y)/2));a(c.x,c.y,!0);a(g.x,g.y,!1)}};mxStyleRegistry.putValue("isometricEdgeStyle",mxEdgeStyle.IsometricConnector);var Ia=Graph.prototype.createEdgeHandler;Graph.prototype.createEdgeHandler=function(a,d){if(d==mxEdgeStyle.IsometricConnector){var b=new mxElbowEdgeHandler(a);b.snapToTerminals=!1;return b}return Ia.apply(this,arguments)};b.prototype.constraints=[];e.prototype.constraints=[];w.prototype.constraints=[];mxRectangleShape.prototype.constraints=
+a=za[a];if(null!=a)return a(this.state)}return null}}else Graph.createHandle=function(){},Graph.handleFactory={};var va=new mxPoint(1,0),wa=new mxPoint(1,0),ma=mxUtils.toRadians(-30),va=mxUtils.getRotatedPoint(va,Math.cos(ma),Math.sin(ma)),ma=mxUtils.toRadians(-150),wa=mxUtils.getRotatedPoint(wa,Math.cos(ma),Math.sin(ma));mxEdgeStyle.IsometricConnector=function(a,d,b,c,f){var g=a.view;c=null!=c&&0<c.length?c[0]:null;var e=a.absolutePoints,h=e[0],e=e[e.length-1];null!=c&&(c=g.transformControlPoint(a,
+c));null==h&&null!=d&&(h=new mxPoint(d.getCenterX(),d.getCenterY()));null==e&&null!=b&&(e=new mxPoint(b.getCenterX(),b.getCenterY()));var m=va.x,n=va.y,u=wa.x,t=wa.y,r="horizontal"==mxUtils.getValue(a.style,"elbow","horizontal");if(null!=e&&null!=h){a=function(a,d,b){a-=w.x;var c=d-w.y;d=(t*a-u*c)/(m*t-n*u);a=(n*a-m*c)/(n*u-m*t);r?(b&&(w=new mxPoint(w.x+m*d,w.y+n*d),f.push(w)),w=new mxPoint(w.x+u*a,w.y+t*a)):(b&&(w=new mxPoint(w.x+u*a,w.y+t*a),f.push(w)),w=new mxPoint(w.x+m*d,w.y+n*d));f.push(w)};
+var w=h;null==c&&(c=new mxPoint(h.x+(e.x-h.x)/2,h.y+(e.y-h.y)/2));a(c.x,c.y,!0);a(e.x,e.y,!1)}};mxStyleRegistry.putValue("isometricEdgeStyle",mxEdgeStyle.IsometricConnector);var Ia=Graph.prototype.createEdgeHandler;Graph.prototype.createEdgeHandler=function(a,d){if(d==mxEdgeStyle.IsometricConnector){var b=new mxElbowEdgeHandler(a);b.snapToTerminals=!1;return b}return Ia.apply(this,arguments)};b.prototype.constraints=[];e.prototype.constraints=[];w.prototype.constraints=[];mxRectangleShape.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),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,
1),!0),new mxConnectionConstraint(new mxPoint(.75,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;F.prototype.constraints=mxRectangleShape.prototype.constraints;k.prototype.constraints=mxRectangleShape.prototype.constraints;p.prototype.constraints=mxRectangleShape.prototype.constraints;a.prototype.constraints=mxRectangleShape.prototype.constraints;q.prototype.constraints=mxRectangleShape.prototype.constraints;V.prototype.constraints=
@@ -2567,7 +2567,7 @@ this.addAction("open...",function(){window.openNew=!0;window.openKey="open";b.op
320,220,!0,!0,function(){window.openFile=null})}).isEnabled=k;this.addAction("save",function(){b.saveFile(!1)},null,null,Editor.ctrlKey+"+S").isEnabled=k;this.addAction("saveAs...",function(){b.saveFile(!0)},null,null,Editor.ctrlKey+"+Shift+S").isEnabled=k;this.addAction("export...",function(){b.showDialog((new ExportDialog(b)).container,300,230,!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=k;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(){mxClipboard.copy(c)},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 d=0;d<b.length&&
-a;d++)a=a&&c.model.isEdge(b[d]);var f=c.view.translate,e=c.view.scale,n=f.x,r=f.y,f=null;if(1==b.length&&a){var h=c.getCellGeometry(b[0]);null!=h&&(f=h.getTerminalPoint(!0))}f=null!=f?f:c.getBoundingBoxFromGeometry(b,a);if(null!=f){var m=Math.round(c.snap(c.popupMenuHandler.triggerX/e-n)),u=Math.round(c.snap(c.popupMenuHandler.triggerY/e-r));c.cellsMoved(b,m-f.x,u-f.y)}}}finally{c.getModel().endUpdate()}}});this.addAction("delete",function(b){a(null!=b&&mxEvent.isShiftDown(b))},null,null,"Delete");
+a;d++)a=a&&c.model.isEdge(b[d]);var f=c.view.translate,g=c.view.scale,e=f.x,r=f.y,f=null;if(1==b.length&&a){var h=c.getCellGeometry(b[0]);null!=h&&(f=h.getTerminalPoint(!0))}f=null!=f?f:c.getBoundingBoxFromGeometry(b,a);if(null!=f){var n=Math.round(c.snap(c.popupMenuHandler.triggerX/g-e)),u=Math.round(c.snap(c.popupMenuHandler.triggerY/g-r));c.cellsMoved(b,n-f.x,u-f.y)}}}finally{c.getModel().endUpdate()}}});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(){c.setSelectionCells(c.duplicateCells())},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,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)},
@@ -2578,12 +2578,12 @@ c.getLinkForCell(c.getSelectionCell());null!=a&&c.openLink(a)});this.addAction("
function(a,e){a=mxUtils.trim(a);if(0<a.length){var d=null,f=a.substring(a.lastIndexOf("/")+1);if(c.isPageLink(a)){var g=a.indexOf(",");0<g&&(f=b.getPageById(a.substring(g+1)),f=null!=f?f.getName():mxResources.get("pageNotFound"))}null!=e&&0<e.length&&(d=e[0].iconUrl,f=e[0].name||e[0].type,f=f.charAt(0).toUpperCase()+f.substring(1),30<f.length&&(f=f.substring(0,30)+"..."));g=c.getFreeInsertPoint();d=new mxCell(f,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;c.setLinkForCell(d,a);c.cellSizeUpdated(d,!0);c.getModel().beginUpdate();try{d=c.addCell(d),c.fireEvent(new mxEventObject("cellsInserted","cells",[d]))}finally{c.getModel().endUpdate()}c.setSelectionCell(d);c.scrollCellToVisible(c.getSelectionCell())}})}).isEnabled=k;this.addAction("link...",mxUtils.bind(this,function(){var a=b.editor.graph;if(a.isEnabled())if(a.cellEditor.isContentEditing()){var c=
a.getParentByName(a.getSelectedElement(),"A",a.cellEditor.textarea),d="";null!=c&&(d=c.getAttribute("href")||"");var f=a.cellEditor.saveSelection();b.showLinkDialog(d,mxResources.get("apply"),mxUtils.bind(this,function(d){a.cellEditor.restoreSelection(f);null!=d&&a.insertLink(d)}))}else a.isSelectionEmpty()?this.get("insertLink").funct():this.get("editLink").funct()})).isEnabled=k;this.addAction("autosize",function(){var a=c.getSelectionCells();if(null!=a){c.getModel().beginUpdate();try{for(var b=
-0;b<a.length;b++){var d=a[b];if(c.getModel().getChildCount(d))c.updateGroupBounds([d],20);else{var f=c.view.getState(d),e=c.getCellGeometry(d);c.getModel().isVertex(d)&&null!=f&&null!=f.text&&null!=e&&c.isWrapping(d)?(e=e.clone(),e.height=f.text.boundingBox.height/c.view.scale,c.getModel().setGeometry(d,e)):c.updateCellSize(d)}}}finally{c.getModel().endUpdate()}}},null,null,Editor.ctrlKey+"+Shift+Y");this.addAction("formattedText",function(){var a=c.getView().getState(c.getSelectionCell());if(null!=
+0;b<a.length;b++){var d=a[b];if(c.getModel().getChildCount(d))c.updateGroupBounds([d],20);else{var f=c.view.getState(d),g=c.getCellGeometry(d);c.getModel().isVertex(d)&&null!=f&&null!=f.text&&null!=g&&c.isWrapping(d)?(g=g.clone(),g.height=f.text.boundingBox.height/c.view.scale,c.getModel().setGeometry(d,g)):c.updateCellSize(d)}}}finally{c.getModel().endUpdate()}}},null,null,Editor.ctrlKey+"+Shift+Y");this.addAction("formattedText",function(){var a=c.getView().getState(c.getSelectionCell());if(null!=
a){var e="1";c.stopEditing();c.getModel().beginUpdate();try{if("1"==a.style.html){var e=null,d=c.convertValueToString(a.cell);"0"!=mxUtils.getValue(a.style,"nl2Br","1")&&(d=d.replace(/\n/g,"").replace(/<br\s*.?>/g,"\n"));var f=document.createElement("div");f.innerHTML=d;d=mxUtils.extractTextWithWhitespace(f.childNodes);c.cellLabelChanged(a.cell,d)}else d=mxUtils.htmlEntities(c.convertValueToString(a.cell),!1),"0"!=mxUtils.getValue(a.style,"nl2Br","1")&&(d=d.replace(/\n/g,"<br/>")),c.cellLabelChanged(a.cell,
c.sanitizeHtml(d));c.setCellStyles("html",e);b.fireEvent(new mxEventObject("styleChanged","keys",["html"],"values",[null!=e?e:"0"],"cells",c.getSelectionCells()))}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.zoomIn()},null,null,Editor.ctrlKey+" + (Numpad) / Alt+Mousewheel");
this.addAction("zoomOut",function(a){c.zoomOut()},null,null,Editor.ctrlKey+" - (Numpad) / Alt+Mousewheel");this.addAction("fitWindow",function(){c.fit()},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,c.container.scrollLeft=Math.min(a.x*c.view.scale,(c.container.scrollWidth-c.container.clientWidth)/2))}),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,
+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&&b.setPageScale(a/100)}),mxResources.get("pageScale")+" (%)");this.editorUi.showDialog(a.container,300,80,!0,!0);a.init()}));var l=null,l=this.addAction("grid",function(){c.setGridEnabled(!c.isGridEnabled());b.fireEvent(new mxEventObject("gridEnabledChanged"))},null,null,Editor.ctrlKey+"+Shift+G");l.setToggleAction(!0);l.setSelectedCallback(function(){return c.isGridEnabled()});l.setEnabled(!1);
@@ -2602,12 +2602,12 @@ this.addAction("rounded",function(){c.getModel().beginUpdate();try{c.setCellStyl
d=null!=e?e.style:c.getCellStyle(a[0]),f="1"==mxUtils.getValue(d,mxConstants.STYLE_ROUNDED,"0")?"0":"1";c.setCellStyles(mxConstants.STYLE_ROUNDED,f);c.setCellStyles(mxConstants.STYLE_CURVED,null);b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_ROUNDED,mxConstants.STYLE_CURVED],"values",[f,"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(d){null!=d&&c.setCellStyle(mxUtils.trim(d),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 d=c.view.translate,f=c.view.scale,g=d.x,d=d.y,a=c.getModel().getParent(a),n=c.getCellGeometry(a);c.getModel().isVertex(a)&&null!=n;)g+=n.x,d+=n.y,a=c.getModel().getParent(a),n=
+"+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 d=c.view.translate,f=c.view.scale,g=d.x,d=d.y,a=c.getModel().getParent(a),m=c.getCellGeometry(a);c.getModel().isVertex(a)&&null!=m;)g+=m.x,d+=m.y,a=c.getModel().getParent(a),m=
c.getCellGeometry(a);g=Math.round(c.snap(c.popupMenuHandler.triggerX/f-g));f=Math.round(c.snap(c.popupMenuHandler.triggerY/f-d));b.addPointAt(b.state,g,f)}}});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 d=a[b];if(c.getModel().isEdge(d)){var f=
c.getCellGeometry(d);null!=f&&(f=f.clone(),f.points=null,c.getModel().setGeometry(d,f))}}}finally{c.getModel().endUpdate()}}},null,null,"Alt+Shift+C");l=this.addAction("subscript",mxUtils.bind(this,function(){c.cellEditor.isContentEditing()&&document.execCommand("subscript",!1,null)}),null,null,Editor.ctrlKey+"+,");l=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()),d="";null!=e&&(d=e.style[mxConstants.STYLE_IMAGE]||d);var f=c.cellEditor.saveSelection();b.showImageDialog(a,d,function(a,d,b){if(c.cellEditor.isContentEditing())c.cellEditor.restoreSelection(f),c.insertImage(a,d,b);else{var e=c.getSelectionCells();if(null!=a&&(0<a.length||0<e.length)){var g=null;c.getModel().beginUpdate();
-try{if(0==e.length){var n=c.getFreeInsertPoint(),g=e=[c.insertVertex(c.getDefaultParent(),null,"",n.x,n.y,d,b,"shape=image;imageAspect=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;")];c.fireEvent(new mxEventObject("cellsInserted","cells",g))}c.setCellStyles(mxConstants.STYLE_IMAGE,0<a.length?a:null,e);var r=c.view.getState(e[0]),t=null!=r?r.style:c.getCellStyle(e[0]);"image"!=t[mxConstants.STYLE_SHAPE]&&"label"!=t[mxConstants.STYLE_SHAPE]?c.setCellStyles(mxConstants.STYLE_SHAPE,"image",
-e):0==a.length&&c.setCellStyles(mxConstants.STYLE_SHAPE,null,e);if(1==c.getSelectionCount()&&null!=d&&null!=b){var k=e[0],l=c.getModel().getGeometry(k);null!=l&&(l=l.clone(),l.width=d,l.height=b,c.getModel().setGeometry(k,l))}}finally{c.getModel().endUpdate()}null!=g&&(c.setSelectionCells(g),c.scrollCellToVisible(g[0]))}}},c.cellEditor.isContentEditing(),!c.cellEditor.isContentEditing())}}).isEnabled=k;this.addAction("insertImage...",function(){c.isEnabled()&&!c.isCellLocked(c.getDefaultParent())&&
+function(){if(c.isEnabled()&&!c.isCellLocked(c.getDefaultParent())){var a=mxResources.get("image")+" ("+mxResources.get("url")+"):",e=c.getView().getState(c.getSelectionCell()),d="";null!=e&&(d=e.style[mxConstants.STYLE_IMAGE]||d);var f=c.cellEditor.saveSelection();b.showImageDialog(a,d,function(a,d,b){if(c.cellEditor.isContentEditing())c.cellEditor.restoreSelection(f),c.insertImage(a,d,b);else{var g=c.getSelectionCells();if(null!=a&&(0<a.length||0<g.length)){var e=null;c.getModel().beginUpdate();
+try{if(0==g.length){var m=c.getFreeInsertPoint(),e=g=[c.insertVertex(c.getDefaultParent(),null,"",m.x,m.y,d,b,"shape=image;imageAspect=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;")];c.fireEvent(new mxEventObject("cellsInserted","cells",e))}c.setCellStyles(mxConstants.STYLE_IMAGE,0<a.length?a:null,g);var r=c.view.getState(g[0]),t=null!=r?r.style:c.getCellStyle(g[0]);"image"!=t[mxConstants.STYLE_SHAPE]&&"label"!=t[mxConstants.STYLE_SHAPE]?c.setCellStyles(mxConstants.STYLE_SHAPE,"image",
+g):0==a.length&&c.setCellStyles(mxConstants.STYLE_SHAPE,null,g);if(1==c.getSelectionCount()&&null!=d&&null!=b){var x=g[0],k=c.getModel().getGeometry(x);null!=k&&(k=k.clone(),k.width=d,k.height=b,c.getModel().setGeometry(x,k))}}finally{c.getModel().endUpdate()}null!=e&&(c.setSelectionCells(e),c.scrollCellToVisible(e[0]))}}},c.cellEditor.isContentEditing(),!c.cellEditor.isContentEditing())}}).isEnabled=k;this.addAction("insertImage...",function(){c.isEnabled()&&!c.isCellLocked(c.getDefaultParent())&&
(c.clearSelection(),b.actions.get("image").funct())}).isEnabled=k;l=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");l.setToggleAction(!0);l.setSelectedCallback(mxUtils.bind(this,function(){return null!=this.layersWindow&&this.layersWindow.window.isVisible()}));l=this.addAction("formatPanel",mxUtils.bind(this,function(){b.toggleFormatPanel()}),null,null,Editor.ctrlKey+"+Shift+P");l.setToggleAction(!0);l.setSelectedCallback(mxUtils.bind(this,function(){return 0<b.formatWidth}));l=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,
@@ -2634,49 +2634,49 @@ IMAGE_PATH+"/plus.png";Editor.spinImage=mxClient.IS_SVG?"data:image/gif;base64,R
IMAGE_PATH+"/spin.gif";Editor.tweetImage=IMAGE_PATH+"/tweet.png";Editor.facebookImage=IMAGE_PATH+"/facebook.png";Editor.blankImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAACklEQVR4nGMAAQAABQABDQottAAAAABJRU5ErkJggg==";Editor.hiResImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAA+CAMAAACLMWy1AAAAh1BMVEUAAABMTExERERBQUFBQUFFRUVAQEBCQkJAQEA6OjpDQ0NKSkpBQUFBQUFERERERERBQUFCQkJCQkJCQkJJSUlBQUFCQkJDQ0NDQ0NCQkJDQ0NBQUFBQUFCQkJBQUFCQkJCQkJDQ0NCQkJHR0dBQUFCQkJCQkJAQEBCQkJDQ0NAQEBERERCQkIk1hS2AAAAKnRSTlMAAjj96BL7PgQFRwfu3TYazKuVjRXl1V1DPCn1uLGjnWNVIgy9hU40eGqPkM38AAACG0lEQVRYw+2X63KbMBCFzwZblgGDceN74muatpLe//m6MHV3gHGFAv2RjM94MAbxzdnVsQbBDKwH8AH8MDAyafzjqYeyOG04XE7RS8nIRDXg6BlT+rA0nmtAPh+NQRDxIASIMG44rAMrGunBgHwy3uUldxggIStGKp2f+DQc2O4h4eQsX3O2IFB/oEbsjOKbStnjAEA+zJ0ylZTbgvoDn8xNyn6Dbj5Kd4GsNpABa6duQPfSdEj88TgMAhKuCWjAkgmFXPLnsD0pWd3OFGdrMugQII/eOMPEiGOzqPMIeWrcSoMCg71W1pXBPvCP+gS/OdXqQ3uW23+93XGWLl/OaBb805bNcBPoEIcVJsnHzcxpZH86u5KZ9gDby5dQCcnKqdbke4ItI4Tzd7IW9hZQt4EO6GG9b9sYuuK9Wwn8TIr2xKbF2+3Nhr+qxChJ/AI6pIfCu4z4Zowp4ZUNihz79vewzctnHDwTvQO/hCdFBzrUGDOPn2Y/F8YKT4oOATLvlhOznzmBSdFBJWtc58y7r+UVFOCQczy3wpN6pegDqHtsCPTGvH9JuTO0Dyg8icldYPk+RB6g8Aofj4m2EKBvtTmUPD9xDd1pPcSReV2U5iD/ik2yrngtvvqBfPzOvKiDTKTsCdoHZJ7pLLffgTwlJ5vJdtJV2/jiAYaLvLGhMAEDO5QcDg2M/jOw/8Zn+K3ZwJvHT7ZffgC/NvA3zcybTeIfE4EAAAAASUVORK5CYII=":
IMAGE_PATH+"/img-hi-res.png";Editor.loResImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAA+CAMAAACLMWy1AAAAS1BMVEVAQEAAAAA1NTVBQUFDQ0NDQ0NFRUVERERBQUFBQUFBQUFAQEBBQUFBQUFCQkJCQkJCQkJBQUFCQkJDQ0NDQ0NCQkJCQkJCQkJGRkb5/XqTAAAAGXRSTlP+AAWODlASCsesX+Lc2LyWe3pwa1tCPjohjSJfoAAAAI1JREFUWMPt1MkKhTAMRuG0anvneXr/J71nUypKcdqI/N8yhLMKMZE1CahnClDQzMPB44ED3EgeCubgDWnWQMHpwTtKwTe+UHD4sJ94wbUEHHFGhILlYDeSnsQeabeCgsPBgB0MOZZ9oGA5GJFiJSfUULAfjLjARrhCwX7wh2YCDwVbwZkUBKqFFJRN+wOcwSgR2sREcgAAAABJRU5ErkJggg==":
IMAGE_PATH+"/img-lo-res.png";Editor.cameraLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAACxMBAJqcGAAAAVlpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KTMInWQAAA/BJREFUWAnFl0uIjWEYx885buPSuGwmSYwtwsY1ikKSNYNclmQnadgrZSPlsnBLSlaGBdNYKY0Vdi4L4zYzIqxGxmXG//d+7//0+uY7nWMiT/2/53mf+3v7vnNKpf9M5UbrDw8Pj4m+wzmeT1FBUS6Xf+YNox6reMONukijMXUTM3NmI75PyXcJPwRWg5kS7xysDLNmfEUxpx2rceNE50IlYjyRklcLf0prY+x4BTqfmx3ZUHQaO9ISGngYq38V/1EH+ECPa+QaK1u1kVBQirDMChiS3CTeIkwWvghtwhKBpZ8g1CO2B99FynVU/KowSRgQ3mlrBsVZ1awmQlS0SGbfXglfBPbdRGMm5O8RXg2P835pDCvzWjghTHETcLpZLHwS8kTCtBEK1SN83Egam8YxyVZqc+Do5qkwS+gT9grNwkUBG6cbsG/gs3BTuC/0ChCxq4QtwgzBMdwUZBPyN4Ftfi4sYPZHktbOSRlIuutRP5jYj0ueZp88xyYcS/zZoiLyQT1IA/cTj7eSlwnrhI+JnkQbCwo2Sx/2M7VJt17wdhVtgxvrpoFnAuSAbJQ97biZAlKxBfD9wgOhV+BgIR/AZtJ4kwD5PGSj7OmmekjWEy0oAQHAS3+KpBpzXqYK3UItopHpSRMno2N+cm7gDYnfRCcr3QBqriMHLJDkeyhFfiG5aVbK+8rhtP9M6QcIEJHX5Fp9NMAyQlYiu+OOJNlODCIXyka/P23bncTdiC7OydC1+v1Bsb+5r84DK8S3Rdmf5cRUFW3bXtWUSt1Rdk6G4SyJV2o1YId+vNUxr+x5yCJiapFtcxQzLjrxboGcMxvFJwEOKnLwjIbkx/sdSmeSaUY++SwTAxV+4DJT7RVwkbk46gNCsifIItuy0e9PF33Cb4homhN5YRyzL5q5V2VNkv98kqgoGTo3YF9CnMM5Y5rItFfvBSi9JulVXOgI+VwIntkt+SaZ6weQfcovJf7zpTfl86P/wAF7Fz18NeKwmvAWCaX0Z/uMHQr42ZxvR/Rxcw5xM+9J/CJq8w2gduDhmDgso/QrBH47dEXQ1IqczyHpIOfIRtnTtV7SwO1oKXKkU3fbToFGSDHtMWcaH1WBuVYnDbRFi99iqSMySdzxXckrazUh23KBVYGIcfNBkTxca0e4ATJ0KukGYVBgr/MnlhPOtQq/ksUfCbzh+EFCjtnCUoHfjhA/OsiTv2HcEvJMELp0VakZDliTmriTdPivxU4VmEhtPrGV+KJhO7ZKt0doFZh1fgZSBWIW2AGEHwg3BUWOnKtH+suqdw07tYMfglCrWPD5mw9qVYuniaXkT0OtWaSuo5LJTY1RBf+roF9X5+y/5qU+DAAAAABJRU5ErkJggg==";
-Editor.defaultCustomLibraries=[];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## 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## 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\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 parallel edges. Default is 40.\n#\n# edgespacing: 40\n#\n## Name of layout. Possible values are auto, none, verticaltree, horizontaltree,\n## verticalflow, horizontalflow, organic, circle. 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.defaultCustomLibraries=[];Editor.enableCustomLibraries=!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## 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## 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\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 parallel edges. Default is 40.\n#\n# edgespacing: 40\n#\n## Name of layout. Possible values are auto, none, verticaltree, horizontaltree,\n## verticalflow, horizontalflow, organic, circle. 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.shadowOptionEnabled=!0;Editor.configure=function(a){if(null!=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;if(null!=a.css){var d=document.createElement("style");d.setAttribute("type","text/css");d.appendChild(document.createTextNode(a.css));var b=document.getElementsByTagName("script")[0];b.parentNode.insertBefore(d,b)}null!=a.defaultLibraries&&(Sidebar.prototype.defaultEntries=a.defaultLibraries);null!=a.defaultCustomLibraries&&(Editor.defaultCustomLibraries=a.defaultCustomLibraries);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&&(d=document.createElement("style"),d.setAttribute("type",
-"text/css"),d.appendChild(document.createTextNode(a.fontCss)),b=document.getElementsByTagName("script")[0],b.parentNode.insertBefore(d,b),Editor.prototype.fontCss=a.fontCss);if(null!=a.plugins)for(App.initPluginCallback(),d=0;d<a.plugins.length;d++)mxscript(a.plugins[d])}};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?!0:this.originalNoForeignObject;this.graph.setShadowVisible("1"==d.getAttribute("shadow"),!1)}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");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(x){}return!1};Editor.prototype.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=this.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&&(b=this.graph.decompress(mxUtils.getTextContent(c)),null!=b&&0<b.length&&(a=mxUtils.parseXml(b).documentElement)));null==a||"mxGraphModel"==a.nodeName||d&&"mxfile"==a.nodeName||(a=null);return a};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?!0:this.originalNoForeignObject;e.apply(this,arguments)};Editor.prototype.originalNoForeignObject=mxClient.NO_FO;var c=Editor.prototype.updateGraphComponents;Editor.prototype.updateGraphComponents=function(){c.apply(this,arguments);mxClient.NO_FO=this.graph.mathEnabled&&null!=Editor.MathJaxRender?!0:this.originalNoForeignObject};Editor.initMath=function(a,d){a=null!=a?a:"https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/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"],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,d){null!=this.graph.container&&this.graph.mathEnabled&&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;
+a.defaultEdgeLength||Graph.prototype.defaultEdgeLength;if(null!=a.css){var d=document.createElement("style");d.setAttribute("type","text/css");d.appendChild(document.createTextNode(a.css));var b=document.getElementsByTagName("script")[0];b.parentNode.insertBefore(d,b)}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&&
+(d=document.createElement("style"),d.setAttribute("type","text/css"),d.appendChild(document.createTextNode(a.fontCss)),b=document.getElementsByTagName("script")[0],b.parentNode.insertBefore(d,b),Editor.prototype.fontCss=a.fontCss);if(null!=a.plugins)for(App.initPluginCallback(),d=0;d<a.plugins.length;d++)mxscript(a.plugins[d])}};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?!0:this.originalNoForeignObject;this.graph.setShadowVisible("1"==d.getAttribute("shadow"),!1)}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");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(x){}return!1};Editor.prototype.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=this.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&&(b=this.graph.decompress(mxUtils.getTextContent(c)),null!=b&&0<b.length&&(a=mxUtils.parseXml(b).documentElement)));null==a||"mxGraphModel"==a.nodeName||d&&"mxfile"==a.nodeName||(a=null);return a};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?!0:this.originalNoForeignObject;e.apply(this,arguments)};Editor.prototype.originalNoForeignObject=mxClient.NO_FO;var c=Editor.prototype.updateGraphComponents;Editor.prototype.updateGraphComponents=function(){c.apply(this,arguments);mxClient.NO_FO=this.graph.mathEnabled&&null!=Editor.MathJaxRender?!0:this.originalNoForeignObject};Editor.initMath=function(a,d){a=null!=a?a:"https://math.draw.io/current/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,d){null!=this.graph.container&&this.graph.mathEnabled&&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};if(window.ColorDialog){var k=ColorDialog.addRecentColor;ColorDialog.addRecentColor=function(a,d){k.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()};
var l=ColorDialog.resetRecentColors;ColorDialog.resetRecentColors=function(){l.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()}}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 p=Format.prototype.refresh;Format.prototype.refresh=function(){null!=this.editorUi.getCurrentFile()||"1"==urlParams.embed||this.editorUi.editor.chromeless?
p.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 v=DiagramFormatPanel.prototype.addView;DiagramFormatPanel.prototype.addView=function(a){a=v.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 d=DiagramFormatPanel.prototype.addOptions;
DiagramFormatPanel.prototype.addOptions=function(a){a=d.apply(this,arguments);var b=this.editorUi,c=b.editor.graph;if(c.isEnabled()){var f=b.getCurrentFile();null!=f&&f.isAutosaveOptional()&&(f=this.createOption(mxResources.get("autosave"),function(){return b.editor.autosave},function(a){b.editor.setAutosave(a)},{install:function(a){this.listener=function(){a(b.editor.autosave)};b.editor.addListener("autosaveChanged",this.listener)},destroy:function(){b.editor.removeListener(this.listener)}}),a.appendChild(f))}if(this.isMathOptionVisible()&&
-c.isEnabled()&&"undefined"!==typeof MathJax){f=this.createOption(mxResources.get("mathematicalTypesetting"),function(){return c.mathEnabled},function(a){b.actions.get("mathematicalTypesetting").funct()},{install:function(a){this.listener=function(){a(c.mathEnabled)};b.addListener("mathEnabledChanged",this.listener)},destroy:function(){b.removeListener(this.listener)}});f.style.paddingTop="0px";a.appendChild(f);var e=b.menus.createHelpLink("https://desk.draw.io/support/solutions/articles/16000032875");
-e.style.position="relative";e.style.top="4px";f.appendChild(e)}return a};StyleFormatPanel.prototype.defaultColorSchemes=[[null,{fill:"#f5f5f5",stroke:"#666666"},{fill:"#dae8fc",stroke:"#6c8ebf"},{fill:"#d5e8d4",stroke:"#82b366"},{fill:"#ffe6cc",stroke:"#d79b00"},{fill:"#fff2cc",stroke:"#d6b656"},{fill:"#f8cecc",stroke:"#b85450"},{fill:"#e1d5e7",stroke:"#9673a6"}],[null,{fill:"#f5f5f5",stroke:"#666666",gradient:"#b3b3b3"},{fill:"#dae8fc",stroke:"#6c8ebf",gradient:"#7ea6e0"},{fill:"#d5e8d4",stroke:"#82b366",
+c.isEnabled()&&"undefined"!==typeof MathJax){f=this.createOption(mxResources.get("mathematicalTypesetting"),function(){return c.mathEnabled},function(a){b.actions.get("mathematicalTypesetting").funct()},{install:function(a){this.listener=function(){a(c.mathEnabled)};b.addListener("mathEnabledChanged",this.listener)},destroy:function(){b.removeListener(this.listener)}});f.style.paddingTop="0px";a.appendChild(f);var g=b.menus.createHelpLink("https://desk.draw.io/support/solutions/articles/16000032875");
+g.style.position="relative";g.style.top="4px";f.appendChild(g)}return a};StyleFormatPanel.prototype.defaultColorSchemes=[[null,{fill:"#f5f5f5",stroke:"#666666"},{fill:"#dae8fc",stroke:"#6c8ebf"},{fill:"#d5e8d4",stroke:"#82b366"},{fill:"#ffe6cc",stroke:"#d79b00"},{fill:"#fff2cc",stroke:"#d6b656"},{fill:"#f8cecc",stroke:"#b85450"},{fill:"#e1d5e7",stroke:"#9673a6"}],[null,{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"}],[null,{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"}]];var f=StyleFormatPanel.prototype.init;
StyleFormatPanel.prototype.init=function(){"image"!=this.format.createSelectionState().style.shape&&this.container.appendChild(this.addStyles(this.createPanel()));f.apply(this,arguments)};var g=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 g.apply(this,arguments)};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<e.length;g++)f=mxUtils.removeStylename(f,e[g]);null!=a?(f=mxUtils.setStyle(f,mxConstants.STYLE_FILLCOLOR,a.fill),f=mxUtils.setStyle(f,mxConstants.STYLE_STROKECOLOR,a.stroke),f=mxUtils.setStyle(f,mxConstants.STYLE_GRADIENTCOLOR,a.gradient)):(f=mxUtils.setStyle(f,mxConstants.STYLE_FILLCOLOR,"#ffffff"),f=mxUtils.setStyle(f,mxConstants.STYLE_STROKECOLOR,
+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]),e=0;e<g.length;e++)f=mxUtils.removeStylename(f,g[e]);null!=a?(f=mxUtils.setStyle(f,mxConstants.STYLE_FILLCOLOR,a.fill),f=mxUtils.setStyle(f,mxConstants.STYLE_STROKECOLOR,a.stroke),f=mxUtils.setStyle(f,mxConstants.STYLE_GRADIENTCOLOR,a.gradient)):(f=mxUtils.setStyle(f,mxConstants.STYLE_FILLCOLOR,"#ffffff"),f=mxUtils.setStyle(f,mxConstants.STYLE_STROKECOLOR,
"#000000"),f=mxUtils.setStyle(f,mxConstants.STYLE_GRADIENTCOLOR,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";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%)":d.style.backgroundColor=a.fill,d.style.border="1px solid "+a.stroke):(d.style.backgroundColor="#ffffff",d.style.border="1px solid #000000");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 e="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);d(this.defaultColorSchemes[this.editorUi.currentScheme])}));var h=document.createElement("div");h.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(h));mxEvent.addListener(h,"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(h);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()&&
+"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 g="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 e=document.createElement("div");e.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(e,"click",mxUtils.bind(this,function(){this.editorUi.currentScheme=mxUtils.mod(this.editorUi.currentScheme-1,this.defaultColorSchemes.length);d(this.defaultColorSchemes[this.editorUi.currentScheme])}));var h=document.createElement("div");h.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(e),a.appendChild(h));mxEvent.addListener(h,"click",mxUtils.bind(this,function(){this.editorUi.currentScheme=mxUtils.mod(this.editorUi.currentScheme+1,this.defaultColorSchemes.length);d(this.defaultColorSchemes[this.editorUi.currentScheme])}));b(e);b(h);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 n=Graph.prototype.init;Graph.prototype.init=function(){function a(a){d=a;if(mxClient.IS_QUIRKS||7==document.documentMode||8==document.documentMode)d=mxUtils.clone(a)}n.apply(this,arguments);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;
+"3";Graph.prototype.edgeMode="move"!=urlParams.edge;var m=Graph.prototype.init;Graph.prototype.init=function(){function a(a){d=a;if(mxClient.IS_QUIRKS||7==document.documentMode||8==document.documentMode)d=mxUtils.clone(a)}m.apply(this,arguments);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.view.getState(a),d=null!=d?d.style:this.graph.getCellStyle(a);if("undefined"!=typeof mxRackContainer&&"rack"==d.childLayout){var b=new mxStackLayout(this.graph,!1);b.setChildGeometry=function(a,d){d.height=Math.max(d.height,20);if(1<d.height/20){var b=d.height%20;d.height+=10<b?20-b:-b}this.graph.getModel().setGeometry(a,
d)};b.fill=!0;b.unitSize=mxRackContainer.unitSize|20;b.marginLeft=d.marginLeft||0;b.marginRight=d.marginRight||0;b.marginTop=d.marginTop||0;b.marginBottom=d.marginBottom||0;b.resizeParent=!1;return b}return c.apply(this,arguments)}};var r=Graph.prototype.loadStylesheet;Graph.prototype.loadStylesheet=function(){r.apply(this,arguments);this.currentStyle="default-style2"};Graph.prototype.isPageLink=function(a){return null!=a&&"data:page/"==a.substring(0,10)};Graph.prototype.highlightCell=function(a,
d,b){d=null!=d?d:mxConstants.DEFAULT_VALID_COLOR;b=null!=b?b:1E3;a=this.view.getState(a);if(null!=a){var c=Math.max(5,mxUtils.getValue(a.style,mxConstants.STYLE_STROKEWIDTH,1)+4),f=new mxCellHighlight(this,d,c,!1);f.highlight(a);window.setTimeout(function(){null!=f.shape&&(mxUtils.setPrefixedStyle(f.shape.node.style,"transition","all 1200ms ease-in-out"),f.shape.node.style.opacity=0);window.setTimeout(function(){f.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 e=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feGaussianBlur"):c.createElement("feGaussianBlur");e.setAttribute("in","SourceAlpha");e.setAttribute("stdDeviation",this.svgShadowBlur);e.setAttribute("result","blur");f.appendChild(e);e=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feOffset"):c.createElement("feOffset");
-e.setAttribute("in","blur");e.setAttribute("dx",this.svgShadowSize);e.setAttribute("dy",this.svgShadowSize);e.setAttribute("result","offsetBlur");f.appendChild(e);e=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feFlood"):c.createElement("feFlood");e.setAttribute("flood-color",this.svgShadowColor);e.setAttribute("flood-opacity",this.svgShadowOpacity);e.setAttribute("result","offsetColor");f.appendChild(e);e=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feComposite"):
-c.createElement("feComposite");e.setAttribute("in","offsetColor");e.setAttribute("in2","offsetBlur");e.setAttribute("operator","in");e.setAttribute("result","offsetBlur");f.appendChild(e);e=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feBlend"):c.createElement("feBlend");e.setAttribute("in","SourceGraphic");e.setAttribute("in2","offsetBlur");f.appendChild(e);e=a.getElementsByTagName("defs");0==e.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=e[0];c.appendChild(f);b||((d||a.getElementsByTagName("g")[0]).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)));return f};Graph.prototype.setShadowVisible=function(a,d){mxClient.IS_SVG&&(d=null!=d?d:!0,(this.shadowVisible=a)?this.view.getDrawPane().setAttribute("filter",
+var c=a.ownerDocument,f=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"filter"):c.createElement("filter");f.setAttribute("id",this.shadowId);var g=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feGaussianBlur"):c.createElement("feGaussianBlur");g.setAttribute("in","SourceAlpha");g.setAttribute("stdDeviation",this.svgShadowBlur);g.setAttribute("result","blur");f.appendChild(g);g=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feOffset"):c.createElement("feOffset");
+g.setAttribute("in","blur");g.setAttribute("dx",this.svgShadowSize);g.setAttribute("dy",this.svgShadowSize);g.setAttribute("result","offsetBlur");f.appendChild(g);g=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feFlood"):c.createElement("feFlood");g.setAttribute("flood-color",this.svgShadowColor);g.setAttribute("flood-opacity",this.svgShadowOpacity);g.setAttribute("result","offsetColor");f.appendChild(g);g=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feComposite"):
+c.createElement("feComposite");g.setAttribute("in","offsetColor");g.setAttribute("in2","offsetBlur");g.setAttribute("operator","in");g.setAttribute("result","offsetBlur");f.appendChild(g);g=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feBlend"):c.createElement("feBlend");g.setAttribute("in","SourceGraphic");g.setAttribute("in2","offsetBlur");f.appendChild(g);g=a.getElementsByTagName("defs");0==g.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=g[0];c.appendChild(f);b||((d||a.getElementsByTagName("g")[0]).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)));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"];mxStencilRegistry.libraries.bpmn=[SHAPES_PATH+"/bpmn/mxBpmnShape2.js",STENCIL_PATH+"/bpmn.xml"];mxStencilRegistry.libraries.er=[SHAPES_PATH+"/er/mxER.js"];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=
@@ -2684,25 +2684,25 @@ mxStencilRegistry.libraries.arrows2=[SHAPES_PATH+"/mxArrows.js"];mxStencilRegist
"/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.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.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 h=mxMarker.createMarker;mxMarker.createMarker=function(a,d,b,c,f,e,g,m,n,r){if(null!=b&&null==mxMarker.markers[b]){var u=this.getPackageForType(b);
-null!=u&&mxStencilRegistry.getStencil(u)}return h.apply(this,arguments)};PrintDialog.prototype.create=function(a,d){function b(){w.value=Math.max(1,Math.min(h,Math.max(parseInt(w.value),parseInt(k.value))));k.value=Math.max(1,Math.min(h,Math.min(parseInt(w.value),parseInt(k.value))))}function c(d){function b(d,b,f){var e=d.getGraphBounds(),g=0,h=0,m=da.get(),n=1/d.pageScale,r=v.checked;if(r)var n=parseInt(W.value),t=parseInt(P.value),n=Math.min(m.height*t/(e.height/d.view.scale),m.width*n/(e.width/
-d.view.scale));else n=parseInt(p.value)/(100*d.pageScale),isNaN(n)&&(c=1/d.pageScale,p.value="100 %");m=mxRectangle.fromRectangle(m);m.width=Math.ceil(m.width*c);m.height=Math.ceil(m.height*c);n*=c;!r&&d.pageVisible?(e=d.getPageLayout(),g-=e.x*m.width,h-=e.y*m.height):r=!0;if(null==b){b=PrintDialog.createPrintPreview(d,n,m,0,g,h,r);b.pageSelector=!1;b.mathEnabled=!1;d=a.getCurrentFile();null!=d&&(b.title=d.getTitle());var u=b.writeHead;b.writeHead=function(d){u.apply(this,arguments);null!=a.editor.fontCss&&
-(d.writeln('<style type="text/css">'),d.writeln(a.editor.fontCss),d.writeln("</style>"))};if("undefined"!==typeof MathJax){var k=b.renderPage;b.renderPage=function(a,d,b,c,f,e){var g=k.apply(this,arguments);this.graph.mathEnabled?this.mathEnabled=!0:g.className="geDisableMathJax";return g}}b.open(null,null,f,!0)}else{m=d.background;if(null==m||""==m||m==mxConstants.NONE)m="#ffffff";b.backgroundColor=m;b.autoOrigin=r;b.appendGraph(d,n,g,h,f,!0)}return b}var c=parseInt(T.value)/100;isNaN(c)&&(c=1,T.value=
-"100 %");var c=.75*c,e=k.value,g=w.value,h=!r.checked,n=null;h&&(h=e==m&&g==m);if(!h&&null!=a.pages&&a.pages.length){var t=0,h=a.pages.length-1;r.checked||(t=parseInt(e)-1,h=parseInt(g)-1);for(var u=t;u<=h;u++){var l=a.pages[u],e=l==a.currentPage?f:null;if(null==e){var e=a.createTemporaryGraph(f.getStylesheet()),g=!0,t=!1,z=null,x=null;null==l.viewState&&null==l.mapping&&null==l.root&&a.updatePageRoot(l);null!=l.viewState?(g=l.viewState.pageVisible,t=l.viewState.mathEnabled,z=l.viewState.background,
-x=l.viewState.backgroundImage):null!=l.mapping&&null!=l.mapping.diagramMap&&(t="0"!=l.mapping.diagramMap.get("mathEnabled"),z=l.mapping.diagramMap.get("background"),x=l.mapping.diagramMap.get("backgroundImage"),x=null!=x&&0<x.length?JSON.parse(x):null);e.background=z;e.backgroundImage=null!=x?new mxImage(x.src,x.width,x.height):null;e.pageVisible=g;e.mathEnabled=t;var q=e.getGlobalVariable;e.getGlobalVariable=function(a){return"page"==a?l.getName():"pagenumber"==a?u+1:q.apply(this,arguments)};document.body.appendChild(e.container);
-a.updatePageRoot(l);e.model.setRoot(l.root)}n=b(e,n,u!=h);e!=f&&e.container.parentNode.removeChild(e.container)}}else n=b(f);n.mathEnabled&&(h=n.wnd.document,h.writeln('<script type="text/x-mathjax-config">'),h.writeln("MathJax.Hub.Config({"),h.writeln('messageStyle: "none",'),h.writeln('jax: ["input/TeX", "input/MathML", "input/AsciiMath", "output/HTML-CSS"],'),h.writeln('extensions: ["tex2jax.js", "mml2jax.js", "asciimath2jax.js"],'),h.writeln("TeX: {"),h.writeln('extensions: ["AMSmath.js", "AMSsymbols.js", "noErrors.js", "noUndefined.js"]'),
-h.writeln("},"),h.writeln("tex2jax: {"),h.writeln('\tignoreClass: "geDisableMathJax"'),h.writeln("},"),h.writeln("asciimath2jax: {"),h.writeln('\tignoreClass: "geDisableMathJax"'),h.writeln("}"),h.writeln("});"),d&&(h.writeln("MathJax.Hub.Queue(function () {"),h.writeln("window.print();"),h.writeln("});")),h.writeln("\x3c/script>"),h.writeln('<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js">\x3c/script>'));n.closeDocument();!n.mathEnabled&&d&&PrintDialog.printPreview(n)}
-var f=a.editor.graph,e=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"));e.appendChild(g);var h=1,m=1,n=document.createElement("div");n.style.cssText="border-bottom:1px solid lightGray;padding-bottom:12px;margin-bottom:12px;";var r=document.createElement("input");r.style.cssText="margin-right:8px;margin-bottom:8px;";r.setAttribute("value","all");r.setAttribute("type","radio");
-r.setAttribute("name","pages-printdialog");n.appendChild(r);g=document.createElement("span");mxUtils.write(g,mxResources.get("printAllPages"));n.appendChild(g);mxUtils.br(n);var u=r.cloneNode(!0);r.setAttribute("checked","checked");u.setAttribute("value","range");n.appendChild(u);g=document.createElement("span");mxUtils.write(g,mxResources.get("pages")+":");n.appendChild(g);var k=document.createElement("input");k.style.cssText="margin:0 8px 0 8px;";k.setAttribute("value","1");k.setAttribute("type",
-"number");k.setAttribute("min","1");k.style.width="50px";n.appendChild(k);g=document.createElement("span");mxUtils.write(g,mxResources.get("to"));n.appendChild(g);var w=k.cloneNode(!0);n.appendChild(w);mxEvent.addListener(k,"focus",function(){u.checked=!0});mxEvent.addListener(w,"focus",function(){u.checked=!0});mxEvent.addListener(k,"change",b);mxEvent.addListener(w,"change",b);if(null!=a.pages&&(h=a.pages.length,null!=a.currentPage))for(g=0;g<a.pages.length;g++)if(a.currentPage==a.pages[g]){m=g+
-1;k.value=m;w.value=m;break}k.setAttribute("max",h);w.setAttribute("max",h);1<h&&e.appendChild(n);var l=document.createElement("div");l.style.marginBottom="10px";var q=document.createElement("input");q.style.marginRight="8px";q.setAttribute("value","adjust");q.setAttribute("type","radio");q.setAttribute("name","printZoom");l.appendChild(q);g=document.createElement("span");mxUtils.write(g,mxResources.get("adjustTo"));l.appendChild(g);var p=document.createElement("input");p.style.cssText="margin:0 8px 0 8px;";
-p.setAttribute("value","100 %");p.style.width="50px";l.appendChild(p);mxEvent.addListener(p,"focus",function(){q.checked=!0});e.appendChild(l);var n=n.cloneNode(!1),v=q.cloneNode(!0);v.setAttribute("value","fit");q.setAttribute("checked","checked");g=document.createElement("div");g.style.cssText="display:inline-block;height:100%;vertical-align:top;padding-top:2px;";g.appendChild(v);n.appendChild(g);l=document.createElement("table");l.style.display="inline-block";var Q=document.createElement("tbody"),
-S=document.createElement("tr"),K=S.cloneNode(!0),H=document.createElement("td"),V=H.cloneNode(!0),L=H.cloneNode(!0),O=H.cloneNode(!0),X=H.cloneNode(!0),A=H.cloneNode(!0);H.style.textAlign="right";O.style.textAlign="right";mxUtils.write(H,mxResources.get("fitTo"));var W=document.createElement("input");W.style.cssText="margin:0 8px 0 8px;";W.setAttribute("value","1");W.setAttribute("min","1");W.setAttribute("type","number");W.style.width="40px";V.appendChild(W);g=document.createElement("span");mxUtils.write(g,
-mxResources.get("fitToSheetsAcross"));L.appendChild(g);mxUtils.write(O,mxResources.get("fitToBy"));var P=W.cloneNode(!0);X.appendChild(P);mxEvent.addListener(W,"focus",function(){v.checked=!0});mxEvent.addListener(P,"focus",function(){v.checked=!0});g=document.createElement("span");mxUtils.write(g,mxResources.get("fitToSheetsDown"));A.appendChild(g);S.appendChild(H);S.appendChild(V);S.appendChild(L);K.appendChild(O);K.appendChild(X);K.appendChild(A);Q.appendChild(S);Q.appendChild(K);l.appendChild(Q);
-n.appendChild(l);e.appendChild(n);n=document.createElement("div");g=document.createElement("div");g.style.fontWeight="bold";g.style.marginBottom="12px";mxUtils.write(g,mxResources.get("paperSize"));n.appendChild(g);g=document.createElement("div");g.style.marginBottom="12px";var da=PageSetupDialog.addPageFormatPanel(g,"printdialog",a.editor.graph.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT);n.appendChild(g);g=document.createElement("span");mxUtils.write(g,mxResources.get("pageScale"));n.appendChild(g);
-var T=document.createElement("input");T.style.cssText="margin:0 8px 0 8px;";T.setAttribute("value","100 %");T.style.width="60px";n.appendChild(T);e.appendChild(n);g=document.createElement("div");g.style.cssText="text-align:right;margin:62px 0 0 0;";n=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});n.className="geBtn";a.editor.cancelFirst&&g.appendChild(n);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(n);e.appendChild(g);this.container=e};var m=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)):(m.apply(this,arguments),null!=this.mathEnabled&&
+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 h=mxMarker.createMarker;mxMarker.createMarker=function(a,d,b,c,f,g,e,m,n,r){if(null!=b&&null==mxMarker.markers[b]){var u=this.getPackageForType(b);
+null!=u&&mxStencilRegistry.getStencil(u)}return h.apply(this,arguments)};PrintDialog.prototype.create=function(a,d){function b(){w.value=Math.max(1,Math.min(h,Math.max(parseInt(w.value),parseInt(k.value))));k.value=Math.max(1,Math.min(h,Math.min(parseInt(w.value),parseInt(k.value))))}function c(d){function b(d,b,f){var g=d.getGraphBounds(),e=0,h=0,m=da.get(),n=1/d.pageScale,r=v.checked;if(r)var n=parseInt(W.value),t=parseInt(P.value),n=Math.min(m.height*t/(g.height/d.view.scale),m.width*n/(g.width/
+d.view.scale));else n=parseInt(p.value)/(100*d.pageScale),isNaN(n)&&(c=1/d.pageScale,p.value="100 %");m=mxRectangle.fromRectangle(m);m.width=Math.ceil(m.width*c);m.height=Math.ceil(m.height*c);n*=c;!r&&d.pageVisible?(g=d.getPageLayout(),e-=g.x*m.width,h-=g.y*m.height):r=!0;if(null==b){b=PrintDialog.createPrintPreview(d,n,m,0,e,h,r);b.pageSelector=!1;b.mathEnabled=!1;d=a.getCurrentFile();null!=d&&(b.title=d.getTitle());var u=b.writeHead;b.writeHead=function(d){u.apply(this,arguments);null!=a.editor.fontCss&&
+(d.writeln('<style type="text/css">'),d.writeln(a.editor.fontCss),d.writeln("</style>"))};if("undefined"!==typeof MathJax){var k=b.renderPage;b.renderPage=function(a,d,b,c,f,g){var e=k.apply(this,arguments);this.graph.mathEnabled?this.mathEnabled=!0:e.className="geDisableMathJax";return e}}b.open(null,null,f,!0)}else{m=d.background;if(null==m||""==m||m==mxConstants.NONE)m="#ffffff";b.backgroundColor=m;b.autoOrigin=r;b.appendGraph(d,n,e,h,f,!0)}return b}var c=parseInt(T.value)/100;isNaN(c)&&(c=1,T.value=
+"100 %");var c=.75*c,g=k.value,e=w.value,h=!r.checked,n=null;h&&(h=g==m&&e==m);if(!h&&null!=a.pages&&a.pages.length){var t=0,h=a.pages.length-1;r.checked||(t=parseInt(g)-1,h=parseInt(e)-1);for(var u=t;u<=h;u++){var l=a.pages[u],g=l==a.currentPage?f:null;if(null==g){var g=a.createTemporaryGraph(f.getStylesheet()),e=!0,t=!1,x=null,z=null;null==l.viewState&&null==l.mapping&&null==l.root&&a.updatePageRoot(l);null!=l.viewState?(e=l.viewState.pageVisible,t=l.viewState.mathEnabled,x=l.viewState.background,
+z=l.viewState.backgroundImage):null!=l.mapping&&null!=l.mapping.diagramMap&&(t="0"!=l.mapping.diagramMap.get("mathEnabled"),x=l.mapping.diagramMap.get("background"),z=l.mapping.diagramMap.get("backgroundImage"),z=null!=z&&0<z.length?JSON.parse(z):null);g.background=x;g.backgroundImage=null!=z?new mxImage(z.src,z.width,z.height):null;g.pageVisible=e;g.mathEnabled=t;var q=g.getGlobalVariable;g.getGlobalVariable=function(a){return"page"==a?l.getName():"pagenumber"==a?u+1:q.apply(this,arguments)};document.body.appendChild(g.container);
+a.updatePageRoot(l);g.model.setRoot(l.root)}n=b(g,n,u!=h);g!=f&&g.container.parentNode.removeChild(g.container)}}else n=b(f);n.mathEnabled&&(h=n.wnd.document,h.writeln('<script type="text/x-mathjax-config">'),h.writeln("MathJax.Hub.Config({"),h.writeln('messageStyle: "none",'),h.writeln('jax: ["input/TeX", "input/MathML", "input/AsciiMath", "output/HTML-CSS"],'),h.writeln('extensions: ["tex2jax.js", "mml2jax.js", "asciimath2jax.js"],'),h.writeln('"HTML-CSS": {'),h.writeln("imageFont: null"),h.writeln("},"),
+h.writeln("TeX: {"),h.writeln('extensions: ["AMSmath.js", "AMSsymbols.js", "noErrors.js", "noUndefined.js"]'),h.writeln("},"),h.writeln("tex2jax: {"),h.writeln('\tignoreClass: "geDisableMathJax"'),h.writeln("},"),h.writeln("asciimath2jax: {"),h.writeln('\tignoreClass: "geDisableMathJax"'),h.writeln("}"),h.writeln("});"),d&&(h.writeln("MathJax.Hub.Queue(function () {"),h.writeln("window.print();"),h.writeln("});")),h.writeln("\x3c/script>"),h.writeln('<script type="text/javascript" src="https://math.draw.io/current/MathJax.js">\x3c/script>'));
+n.closeDocument();!n.mathEnabled&&d&&PrintDialog.printPreview(n)}var f=a.editor.graph,g=document.createElement("div"),e=document.createElement("h3");e.style.width="100%";e.style.textAlign="center";e.style.marginTop="0px";mxUtils.write(e,d||mxResources.get("print"));g.appendChild(e);var h=1,m=1,n=document.createElement("div");n.style.cssText="border-bottom:1px solid lightGray;padding-bottom:12px;margin-bottom:12px;";var r=document.createElement("input");r.style.cssText="margin-right:8px;margin-bottom:8px;";
+r.setAttribute("value","all");r.setAttribute("type","radio");r.setAttribute("name","pages-printdialog");n.appendChild(r);e=document.createElement("span");mxUtils.write(e,mxResources.get("printAllPages"));n.appendChild(e);mxUtils.br(n);var u=r.cloneNode(!0);r.setAttribute("checked","checked");u.setAttribute("value","range");n.appendChild(u);e=document.createElement("span");mxUtils.write(e,mxResources.get("pages")+":");n.appendChild(e);var k=document.createElement("input");k.style.cssText="margin:0 8px 0 8px;";
+k.setAttribute("value","1");k.setAttribute("type","number");k.setAttribute("min","1");k.style.width="50px";n.appendChild(k);e=document.createElement("span");mxUtils.write(e,mxResources.get("to"));n.appendChild(e);var w=k.cloneNode(!0);n.appendChild(w);mxEvent.addListener(k,"focus",function(){u.checked=!0});mxEvent.addListener(w,"focus",function(){u.checked=!0});mxEvent.addListener(k,"change",b);mxEvent.addListener(w,"change",b);if(null!=a.pages&&(h=a.pages.length,null!=a.currentPage))for(e=0;e<a.pages.length;e++)if(a.currentPage==
+a.pages[e]){m=e+1;k.value=m;w.value=m;break}k.setAttribute("max",h);w.setAttribute("max",h);1<h&&g.appendChild(n);var l=document.createElement("div");l.style.marginBottom="10px";var q=document.createElement("input");q.style.marginRight="8px";q.setAttribute("value","adjust");q.setAttribute("type","radio");q.setAttribute("name","printZoom");l.appendChild(q);e=document.createElement("span");mxUtils.write(e,mxResources.get("adjustTo"));l.appendChild(e);var p=document.createElement("input");p.style.cssText=
+"margin:0 8px 0 8px;";p.setAttribute("value","100 %");p.style.width="50px";l.appendChild(p);mxEvent.addListener(p,"focus",function(){q.checked=!0});g.appendChild(l);var n=n.cloneNode(!1),v=q.cloneNode(!0);v.setAttribute("value","fit");q.setAttribute("checked","checked");e=document.createElement("div");e.style.cssText="display:inline-block;height:100%;vertical-align:top;padding-top:2px;";e.appendChild(v);n.appendChild(e);l=document.createElement("table");l.style.display="inline-block";var Q=document.createElement("tbody"),
+S=document.createElement("tr"),K=S.cloneNode(!0),H=document.createElement("td"),V=H.cloneNode(!0),L=H.cloneNode(!0),O=H.cloneNode(!0),X=H.cloneNode(!0),A=H.cloneNode(!0);H.style.textAlign="right";O.style.textAlign="right";mxUtils.write(H,mxResources.get("fitTo"));var W=document.createElement("input");W.style.cssText="margin:0 8px 0 8px;";W.setAttribute("value","1");W.setAttribute("min","1");W.setAttribute("type","number");W.style.width="40px";V.appendChild(W);e=document.createElement("span");mxUtils.write(e,
+mxResources.get("fitToSheetsAcross"));L.appendChild(e);mxUtils.write(O,mxResources.get("fitToBy"));var P=W.cloneNode(!0);X.appendChild(P);mxEvent.addListener(W,"focus",function(){v.checked=!0});mxEvent.addListener(P,"focus",function(){v.checked=!0});e=document.createElement("span");mxUtils.write(e,mxResources.get("fitToSheetsDown"));A.appendChild(e);S.appendChild(H);S.appendChild(V);S.appendChild(L);K.appendChild(O);K.appendChild(X);K.appendChild(A);Q.appendChild(S);Q.appendChild(K);l.appendChild(Q);
+n.appendChild(l);g.appendChild(n);n=document.createElement("div");e=document.createElement("div");e.style.fontWeight="bold";e.style.marginBottom="12px";mxUtils.write(e,mxResources.get("paperSize"));n.appendChild(e);e=document.createElement("div");e.style.marginBottom="12px";var da=PageSetupDialog.addPageFormatPanel(e,"printdialog",a.editor.graph.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT);n.appendChild(e);e=document.createElement("span");mxUtils.write(e,mxResources.get("pageScale"));n.appendChild(e);
+var T=document.createElement("input");T.style.cssText="margin:0 8px 0 8px;";T.setAttribute("value","100 %");T.style.width="60px";n.appendChild(T);g.appendChild(n);e=document.createElement("div");e.style.cssText="text-align:right;margin:62px 0 0 0;";n=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});n.className="geBtn";a.editor.cancelFirst&&e.appendChild(n);a.isOffline()||(l=mxUtils.button(mxResources.get("help"),function(){f.openLink("https://desk.draw.io/support/solutions/articles/16000048947")}),
+l.className="geBtn",e.appendChild(l));PrintDialog.previewEnabled&&(l=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();c(!1)}),l.className="geBtn",e.appendChild(l));l=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();c(!0)});l.className="geBtn gePrimaryBtn";e.appendChild(l);a.editor.cancelFirst||e.appendChild(n);g.appendChild(e);this.container=g};var n=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)):(n.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))}})();
(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;EditorUi.enableLogging=/.*\.draw\.io$/.test(window.location.hostname);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.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.sidebarFooterHeight=36;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;";
@@ -2711,19 +2711,19 @@ EditorUi.prototype.svgBrokenImage=Graph.createSvgImage(10,10,'<rect x="0" y="0"
b.toDataURL("image/png");EditorUi.prototype.useCanvasForExport=null!=a&&6<a.length}catch(h){}};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(r){}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(r){}})();EditorUi.prototype.openLink=function(a,b){return this.editor.graph.openLink(a,b)};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);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()};EditorUi.prototype.isOfflineApp=function(){return"1"==urlParams.offline};EditorUi.prototype.isOffline=function(){return this.isOfflineApp()||!navigator.onLine||"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,e){var g=!1;this.active||(f.call(this,c),this.active=!0,null!=e&&(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"),g.innerHTML=e+"...",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,e)}));this.stop();return a}),g=!0);return g};var e=d.stop;d.stop=function(){e.call(this);this.active=!1;null!=d.status&&(d.status.parentNode.removeChild(d.status),d.status=null)};d.pause=function(){return function(){}};return d};EditorUi.parsePng=function(a,b,c){function d(a,
-d){var b=e;e+=d;return a.substring(b,e)}function f(a){a=d(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}var e=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 g=d(a,4);if(null!=b&&b(e-8,g,c))break;value=d(a,c);d(a,4);if("IEND"==g)break}while(c)}};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(n){}return!1};var a=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 r=mxUtils.parseXml(d),h=this.editor.extractGraphModel(r.documentElement,
-null!=this.pages),b=null!=h?mxUtils.getXml(h):""}catch(m){}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))}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;
+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,g){var e=!1;this.active||(f.call(this,c),this.active=!0,null!=g&&(e=document.createElement("div"),e.style.position="absolute",e.style.whiteSpace="nowrap",e.style.background="#4B4243",e.style.color="white",e.style.fontFamily="Helvetica, Arial",e.style.fontSize=
+"9pt",e.style.padding="6px",e.style.paddingLeft="10px",e.style.paddingRight="10px",e.style.zIndex=2E9,e.style.left=Math.max(0,a)+"px",e.style.top=Math.max(0,b+70)+"px",mxUtils.setPrefixedStyle(e.style,"borderRadius","6px"),mxUtils.setPrefixedStyle(e.style,"transform","translate(-50%,-50%)"),"dark"!=uiTheme&&mxUtils.setPrefixedStyle(e.style,"boxShadow","2px 2px 3px 0px #ddd"),e.innerHTML=g+"...",c.appendChild(e),d.status=e,mxClient.IS_VML&&(null==document.documentMode||8>=document.documentMode)&&(e.style.left=
+Math.round(Math.max(0,a-e.offsetWidth/2))+"px",e.style.top=Math.round(Math.max(0,b+70-e.offsetHeight/2))+"px")),this.pause=mxUtils.bind(this,function(){var a=function(){};this.active&&(a=mxUtils.bind(this,function(){this.spin(c,g)}));this.stop();return a}),e=!0);return e};var g=d.stop;d.stop=function(){g.call(this);this.active=!1;null!=d.status&&(d.status.parentNode.removeChild(d.status),d.status=null)};d.pause=function(){return function(){}};return d};EditorUi.parsePng=function(a,b,c){function d(a,
+d){var b=g;g+=d;return a.substring(b,g)}function f(a){a=d(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}var g=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(g-8,e,c))break;value=d(a,c);d(a,4);if("IEND"==e)break}while(c)}};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(m){}return!1};var a=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 r=mxUtils.parseXml(d),h=this.editor.extractGraphModel(r.documentElement,
+null!=this.pages),b=null!=h?mxUtils.getXml(h):""}catch(n){}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))}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 h=this.updatePageRoot(new DiagramPage(c[e]));null==h.getName()&&h.setName(mxResources.get("pageWithNumber",[e+1]));d.model.execute(new ChangePage(this,h,0==e?h: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,r,h,m,u,k,t){b=null!=b?b:this.editor.graph;r=null!=r?r:!1;k=null!=k?k:!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 g=a;if("mxfile"!=g.nodeName.toLowerCase()){var n=b.zapGremlins(mxUtils.getXml(a)),g=b.compress(n);if(b.decompress(g)!=n)return n;n=a.ownerDocument.createElement("diagram");mxUtils.setTextContent(n,g);g=a.ownerDocument.createElement("mxfile");g.appendChild(n)}t?(g=g.cloneNode(!0),g.removeAttribute("userAgent"),
-g.removeAttribute("version"),g.removeAttribute("editor"),g.removeAttribute("type")):(g.setAttribute("userAgent",navigator.userAgent),g.setAttribute("version",EditorUi.VERSION),g.setAttribute("editor","www.draw.io"),a=null!=c?c.getMode():this.mode,null!=a&&g.setAttribute("type",a));a=mxUtils.getXml(g);if(!h&&!r&&(m||null!=c&&/(\.html)$/i.test(c.getTitle())))a=this.getHtml2(mxUtils.getXml(g),b,null!=c?c.getTitle():null,d,f);else if(h||!r&&null!=c&&/(\.svg)$/i.test(c.getTitle()))null==c||c.getMode()!=
+function(a,b,c,e,r,h,n,u,k,t){b=null!=b?b:this.editor.graph;r=null!=r?r:!1;k=null!=k?k:!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 g=a;if("mxfile"!=g.nodeName.toLowerCase()){var m=b.zapGremlins(mxUtils.getXml(a)),g=b.compress(m);if(b.decompress(g)!=m)return m;m=a.ownerDocument.createElement("diagram");mxUtils.setTextContent(m,g);g=a.ownerDocument.createElement("mxfile");g.appendChild(m)}t?(g=g.cloneNode(!0),g.removeAttribute("userAgent"),
+g.removeAttribute("version"),g.removeAttribute("editor"),g.removeAttribute("type")):(g.setAttribute("userAgent",navigator.userAgent),g.setAttribute("version",EditorUi.VERSION),g.setAttribute("editor","www.draw.io"),a=null!=c?c.getMode():this.mode,null!=a&&g.setAttribute("type",a));a=mxUtils.getXml(g);if(!h&&!r&&(n||null!=c&&/(\.html)$/i.test(c.getTitle())))a=this.getHtml2(mxUtils.getXml(g),b,null!=c?c.getTitle():null,d,f);else if(h||!r&&null!=c&&/(\.svg)$/i.test(c.getTitle()))null==c||c.getMode()!=
App.MODE_DEVICE&&c.getMode()!=App.MODE_BROWSER||(e=null),a=this.getEmbeddedSvg(a,b,e,null,u,k,f);return a};EditorUi.prototype.getXmlFileData=function(a,b){a=null!=a?a:!0;b=null!=b?b:!1;var d=this.editor.getGraphXml(a);if(a&&null!=this.fileNode&&null!=this.currentPage){var c=this.editor.graph.compress(this.editor.graph.zapGremlins(mxUtils.getXml(d)));mxUtils.setTextContent(this.currentPage.node,c);d=this.fileNode.cloneNode(!1);if(b)d.appendChild(this.currentPage.node);else for(var f=0;f<this.pages.length;f++){var e=
-this.pages[f].mapping;this.currentPage!=this.pages[f]&&null!=e&&e.needsUpdate&&(c=(new mxCodec(mxUtils.createXmlDocument())).encode(e.graphModel),e.writeRealtimeToNode(c),c=this.editor.graph.compress(this.editor.graph.zapGremlins(mxUtils.getXml(c))),mxUtils.setTextContent(this.pages[f].node,c),e.needsUpdate=!1);d.appendChild(this.pages[f].node)}}return d};EditorUi.prototype.getFileData=function(a,b,c,e,r,h,m,u,k){r=null!=r?r:!0;m=null!=m?m:this.getXmlFileData(r,null!=h?h:!1);k=null!=k?k:this.getCurrentFile();
-h=this.editor.graph;if(null!=this.pages&&this.currentPage!=this.pages[0]&&(b||!a&&null!=k&&/(\.svg)$/i.test(k.getTitle()))){h=this.createTemporaryGraph(h.getStylesheet());var d=h.getGlobalVariable,f=this.pages[0];h.getGlobalVariable=function(a){return"page"==a?f.getName():"pagenumber"==a?1:d.apply(this,arguments)};document.body.appendChild(h.container);h.model.setRoot(f.root)}a=this.createFileData(m,h,k,window.location.href,a,b,c,e,r,u);h!=this.editor.graph&&h.container.parentNode.removeChild(h.container);
+this.pages[f].mapping;this.currentPage!=this.pages[f]&&null!=e&&e.needsUpdate&&(c=(new mxCodec(mxUtils.createXmlDocument())).encode(e.graphModel),e.writeRealtimeToNode(c),c=this.editor.graph.compress(this.editor.graph.zapGremlins(mxUtils.getXml(c))),mxUtils.setTextContent(this.pages[f].node,c),e.needsUpdate=!1);d.appendChild(this.pages[f].node)}}return d};EditorUi.prototype.getFileData=function(a,b,c,e,r,h,n,u,k){r=null!=r?r:!0;n=null!=n?n:this.getXmlFileData(r,null!=h?h:!1);k=null!=k?k:this.getCurrentFile();
+h=this.editor.graph;if(null!=this.pages&&this.currentPage!=this.pages[0]&&(b||!a&&null!=k&&/(\.svg)$/i.test(k.getTitle()))){h=this.createTemporaryGraph(h.getStylesheet());var d=h.getGlobalVariable,f=this.pages[0];h.getGlobalVariable=function(a){return"page"==a?f.getName():"pagenumber"==a?1:d.apply(this,arguments)};document.body.appendChild(h.container);h.model.setRoot(f.root)}a=this.createFileData(n,h,k,window.location.href,a,b,c,e,r,u);h!=this.editor.graph&&h.container.parentNode.removeChild(h.container);
return a};EditorUi.prototype.getHtml=function(a,b,c,e,r,h){h=null!=h?h:!0;var d=null,f="https://www.draw.io/js/embed-static.min.js";if(null!=b){var d=h?b.getGraphBounds():b.getBoundingBox(b.getSelectionCells()),g=b.view.scale;h=Math.floor(d.x/g-b.view.translate.x);g=Math.floor(d.y/g-b.view.translate.y);d=b.background;null==r&&(b=this.getBasenames().join(";"),0<b.length&&(f="https://www.draw.io/embed.js?s="+b));a.setAttribute("x0",h);a.setAttribute("y0",g)}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!=r&&(r=r.replace(/&/g,"&amp;"));a=null!=a?this.editor.graph.zapGremlins(mxUtils.getXml(a)):"";e=this.editor.graph.compress(a);this.editor.graph.decompress(e)!=a&&(e=encodeURIComponent(a));return(null==r?'\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n':"")+"<!DOCTYPE html>\n<html"+(null!=r?' xmlns="http://www.w3.org/1999/xhtml">':
">")+"\n<head>\n"+(null==r?null!=c?"<title>"+mxUtils.htmlEntities(c)+"</title>\n":"":"<title>Draw.io Diagram</title>\n")+(null!=r?'<meta http-equiv="refresh" content="0;URL=\''+r+"'\"/>\n":"")+"</head>\n<body"+(null==r&&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==r?'<script type="text/javascript" src="'+f+'">\x3c/script>':
@@ -2731,265 +2731,265 @@ return a};EditorUi.prototype.getHtml=function(a,b,c,e,r,h){h=null!=h?h:!0;var d=
this.currentPage));return(null==r?'\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n':"")+"<!DOCTYPE html>\n<html"+(null!=r?' xmlns="http://www.w3.org/1999/xhtml">':">")+"\n<head>\n"+(null==r?null!=c?"<title>"+mxUtils.htmlEntities(c)+"</title>\n":"":"<title>Draw.io Diagram</title>\n")+(null!=r?'<meta http-equiv="refresh" content="0;URL=\''+r+"'\"/>\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==r?'<script type="text/javascript" src="https://www.draw.io/js/viewer.min.js">\x3c/script>':'<a style="position:absolute;top:50%;left:50%;margin-top:-128px;margin-left:-64px;" href="'+r+'" target="_blank"><img border="0" src="https://www.draw.io/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;var d=null!=a&&0<a.length?
mxUtils.parseXml(a).documentElement:null;a=null!=d?this.editor.extractGraphModel(d,!0):null;null!=a&&(d=a);if(null!=d&&"mxfile"==d.nodeName&&(a=d.getElementsByTagName("diagram"),"0"!=urlParams.pages||1<a.length||1==a.length&&a[0].hasAttribute("name"))){this.fileNode=d;this.pages=[];for(d=0;d<a.length;d++){var b=new DiagramPage(a[d]);null==b.getName()&&b.setName(mxResources.get("pageWithNumber",[d+1]));this.pages.push(b)}this.currentPage=this.pages[Math.max(0,Math.min(this.pages.length-1,urlParams.page||
-0))];d=this.currentPage.node}"0"!=urlParams.pages&&null==this.fileNode&&null!=d&&(this.fileNode=d.ownerDocument.createElement("mxfile"),this.currentPage=new DiagramPage(d.ownerDocument.createElement("diagram")),this.currentPage.setName(mxResources.get("pageWithNumber",[1])),this.pages=[this.currentPage]);this.editor.setGraphXml(d);null!=this.currentPage&&(this.currentPage.root=this.editor.graph.model.root)};EditorUi.prototype.getBaseFilename=function(){var a=this.getCurrentFile(),a=null!=a&&null!=
-a.getTitle()?a.getTitle():this.defaultFilename;if(/(\.xml)$/i.test(a)||/(\.html)$/i.test(a)||/(\.svg)$/i.test(a)||/(\.png)$/i.test(a))a=a.substring(0,a.lastIndexOf("."));return a};EditorUi.prototype.downloadFile=function(a,b,c,e,r,h,m){try{e=null!=e?e:this.editor.graph.isSelectionEmpty();var d=this.getBaseFilename(),f=d+"."+a;if("xml"==a){var g='<?xml version="1.0" encoding="UTF-8"?>\n'+(b?mxUtils.getXml(this.editor.getGraphXml(e)):this.getFileData(!0,null,null,null,e,r));this.saveData(f,a,g,"text/xml")}else if("html"==
-a)g=this.getHtml2(this.getFileData(!0),this.editor.graph,d),this.saveData(f,a,g,"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!=h&&(this.editor.graph.pageVisible=h);var f=this.createDownloadRequest(d,a,e,b,m);this.editor.graph.pageVisible=c;return f}catch(z){this.handleError(z)}}));else{var n=null,
-k=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(n)}))});if("svg"==a){var l=this.editor.graph.background;if(m||l==mxConstants.NONE)l=null;var q=this.editor.graph.getSvg(l,null,null,null,null,e);c&&this.editor.graph.addSvgShadow(q);this.convertImages(q,mxUtils.bind(this,mxUtils.bind(this,function(a){this.spinner.stop();
-k('<?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",n=this.getFileData(!1,!0,null,mxUtils.bind(this,function(a){this.spinner.stop();k(a)}),e)}}catch(B){this.handleError(B)}};EditorUi.prototype.createDownloadRequest=function(a,b,c,e,r){var d=this.editor.graph.getGraphBounds();c=this.getFileData(!0,null,null,null,c,"xmlpng"!=b);var f="";if(d.width*d.height>MAX_AREA||c.length>
-MAX_REQUEST_SIZE)throw{message:mxResources.get("drawingTooLarge")};d="0";if("xmlpng"==b&&(d="1",b="png",null!=this.pages&&null!=this.currentPage))for(var g=0;g<this.pages.length;g++)if(this.pages[g]==this.currentPage){f="&from="+g;break}g=this.editor.graph.background;"png"==b&&r&&(g=mxConstants.NONE);return new mxXmlRequest(EXPORT_URL,"format="+b+f+"&bg="+(null!=g?g:mxConstants.NONE)+"&base64="+e+"&embedXml="+d+"&xml="+encodeURIComponent(c)+(null!=a?"&filename="+encodeURIComponent(a):""))};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 e=null!=a.interval?parseInt(a.interval):6E4,g=null,h=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()),m()):this.handleError({message:mxResources.get("error")+" "+a.getStatus()}))}),mxUtils.bind(this,function(a){this.handleError(a)}))}),
-m=mxUtils.bind(this,function(){window.clearTimeout(g);g=window.setTimeout(h,e)});this.editor.addListener("pageSelected",mxUtils.bind(this,function(){m();h()}));m();h()}null!=b&&b()});if(null!=a.url){var e=a.url;/^https?:\/\//.test(e)&&!this.isCorsEnabledForUrl(e)&&(e=PROXY_URL+"?url="+encodeURIComponent(a.url));this.loadUrl(e,mxUtils.bind(this,function(a){f(a)}),mxUtils.bind(this,function(a){null!=c&&c(a)}))}else f(a.data)};EditorUi.prototype.updateDiagram=function(a){function d(a){var d=new mxCellOverlay(a.image||
-c.warningImage,a.tooltip,a.align,a.valign,a.offset);d.addListener(mxEvent.CLICK,function(d,b){editorUi.alert(a.tooltip)});return d}var b=null;if(null!=a&&0<a.length&&(b=mxUtils.parseXml(a),a=null!=b?b.documentElement:null,null!=a&&"updates"==a.nodeName)){var c=this.editor.graph,e=c.getModel();e.beginUpdate();var h=null;try{for(a=a.firstChild;null!=a;){if("update"==a.nodeName){var m=e.getCell(a.getAttribute("id"));if(null!=m){try{var k=a.getAttribute("value");if(null!=k){var l=mxUtils.parseXml(k).documentElement;
-if(null!=l)if("1"==l.getAttribute("replace-value"))e.setValue(m,l);else for(var t=l.attributes,x=0;x<t.length;x++)c.setAttributeForCell(m,t[x].nodeName,0<t[x].nodeValue.length?t[x].nodeValue:null)}}catch(z){null!=window.console&&console.log("Error in value for "+m.id+": "+z)}try{var q=a.getAttribute("style");null!=q&&c.model.setStyle(m,q)}catch(z){null!=window.console&&console.log("Error in style for "+m.id+": "+z)}try{var p=a.getAttribute("icon");if(null!=p){var v=0<p.length?JSON.parse(p):null;null!=
-v&&v.append||c.removeCellOverlays(m);null!=v&&c.addCellOverlay(m,d(v))}}catch(z){null!=window.console&&console.log("Error in icon for "+m.id+": "+z)}try{var B=a.getAttribute("geometry");if(null!=B){var B=JSON.parse(B),y=c.getCellGeometry(m);if(null!=y){y=y.clone();for(key in B){var C=parseFloat(B[key]);"dx"==key?y.x+=C:"dy"==key?y.y+=C:"dw"==key?y.width+=C:"dh"==key?y.height+=C:y[key]=parseFloat(B[key])}c.model.setGeometry(m,y)}}}catch(z){null!=window.console&&console.log("Error in icon for "+m.id+
-": "+z)}}}else if("model"==a.nodeName){for(var I=a.firstChild;null!=I&&I.nodeType!=mxConstants.NODETYPE_ELEMENT;)I=I.nextSibling;null!=I&&(new mxCodec(a.firstChild)).decode(I,e)}else if("view"==a.nodeName){if(a.hasAttribute("scale")&&(c.view.scale=parseFloat(a.getAttribute("scale"))),a.hasAttribute("dx")||a.hasAttribute("dy"))c.view.translate=new mxPoint(parseFloat(a.getAttribute("dx")||0),parseFloat(a.getAttribute("dy")||0))}else"fit"==a.nodeName&&(h=a.hasAttribute("max-scale")?parseFloat(a.getAttribute("max-scale")):
-1);a=a.nextSibling}}finally{e.endUpdate()}null!=h&&this.chromelessResize&&this.chromelessResize(!0,h)}return b};EditorUi.prototype.fileLoaded=function(a){var d=!1;this.hideDialog();var b=this.getCurrentFile();this.setCurrentFile(null);null!=b&&(b.removeListener(this.descriptorChangedListener),b.close());this.editor.graph.model.clear();this.editor.undoManager.clear();var c=mxUtils.bind(this,function(){this.setGraphEnabled(!1);this.setCurrentFile(null);null!=b&&this.updateDocumentTitle();this.editor.graph.model.clear();
-this.editor.undoManager.clear();this.setBackgroundImage(null);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.updateUi();this.showSplash()});if(null!=a)try{this.setCurrentFile(a);a.addListener("descriptorChanged",this.descriptorChangedListener);a.addListener("contentChanged",this.descriptorChangedListener);a.open();
-this.setGraphEnabled(!0);this.setMode(a.getMode());this.editor.undoManager.clear();this.descriptorChanged();this.updateUi();null==a.realtime&&(a.isEditable()?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"));d=!0;this.isOffline()||null==a.getMode()||this.logEvent({category:"File",action:"open",label:a.getMode()});if(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(r){}try{mxSettings.setOpenCounter(mxSettings.getOpenCounter()+1),mxSettings.save()}catch(r){}}catch(r){null!=
-window.console&&console.log("error in fileLoaded:",a,r);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!=r&&null!=r.message?":err:"+encodeURIComponent(r.message):"")+(null!=r&&null!=r.stack?"&stack="+encodeURIComponent(r.stack):"")}catch(h){}this.handleError(r,mxResources.get("errorLoadingFile"),mxUtils.bind(this,
-function(){null!=urlParams.url&&this.spinner.spin(document.body,mxResources.get("reconnecting"))?window.location.search=this.getSearch(["url"]):null!=b?b.constructor==DriveFile?this.loadFile(b.getHash()):this.fileLoaded(b):c()}))}else c();return d};EditorUi.prototype.descriptorChanged=function(){};EditorUi.prototype.logEvent=function(a){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(g){}};EditorUi.prototype.restoreLibraries=function(){};EditorUi.prototype.saveLibrary=function(a,b,c,e,r,h,m){};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,e=mxUtils.bind(this,function(d,b){if(0==d.length&&a.isEditable())null==f&&(f=document.createElement("div"),mxUtils.setPrefixedStyle(f.style,"borderRadius","6px"),f.style.border="3px dotted lightGray",f.style.textAlign="center",f.style.padding="8px",f.style.color="#B3B3B3",mxUtils.write(f,mxResources.get("dragElementsHere"))),b.appendChild(f);else for(var c=
-0;c<d.length;c++){var e=d[c],g=e.data;if(null!=g){var g=this.convertDataUri(g),h="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";"fixed"==e.aspect&&(h+="aspect=fixed;");b.appendChild(this.sidebar.createVertexTemplate(h+"image="+g,e.w,e.h,"",e.title||"",!1,!1,!0))}else null!=e.xml&&(g=this.stringToCells(this.editor.graph.decompress(e.xml)),0<g.length&&b.appendChild(this.sidebar.createVertexTemplateFromCells(g,e.w,e.h,e.title||"",!0,!1,!0)))}});if(null!=this.sidebar&&null!=
-b)for(var g=0;g<b.length;g++)mxUtils.bind(this,function(a){var d=a.data;null!=d&&null!=a.title?this.sidebar.addEntry(a.title,mxUtils.bind(this,function(){d=this.convertDataUri(d);var b="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";"fixed"==a.aspect&&(b+="aspect=fixed;");return this.sidebar.createVertexTemplate(b+"image="+d,a.w,a.h,"",a.title||"",!1,!1,!0)})):null!=a.xml&&null!=a.title&&this.sidebar.addEntry(a.title,mxUtils.bind(this,function(){var d=this.stringToCells(this.editor.graph.decompress(a.xml));
-return this.sidebar.createVertexTemplateFromCells(d,a.w,a.h,a.title||"",!0,!1,!0)}))})(b[g]);c=null!=c&&0<c.length?c:a.getTitle();var k=this.sidebar.addPalette(a.getHash(),c,!0,mxUtils.bind(this,function(a){e(b,a)}));this.repositionLibrary(d);var l=k.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 x=document.createElement("img");x.setAttribute("src",Dialog.prototype.closeImage);x.setAttribute("title",mxResources.get("close"));x.setAttribute("valign","absmiddle");x.setAttribute("border","0");x.style.margin="0 3px";var q=null;if(".scratchpad"!=a.title||this.closableScratchpad)t.appendChild(x),mxEvent.addListener(x,"click",mxUtils.bind(this,function(d){if(!mxEvent.isConsumed(d)){var b=
-mxUtils.bind(this,function(){this.closeLibrary(a)});null!=q?this.confirm(mxResources.get("allChangesLost"),null,b,mxResources.get("cancel"),mxResources.get("discardChanges")):b();mxEvent.consume(d)}}));if(a.isEditable()){var p=this.editor.graph,v=null,B=mxUtils.bind(this,function(d){this.showLibraryDialog(a.getTitle(),k,b,a,a.getMode());mxEvent.consume(d)}),y=mxUtils.bind(this,function(d){a.setModified(!0);a.isAutosave()?(null!=v&&null!=v.parentNode&&v.parentNode.removeChild(v),v=x.cloneNode(!1),
-v.setAttribute("src",Editor.spinImage),v.setAttribute("title",mxResources.get("saving")),v.style.cursor="default",v.style.marginRight="2px",v.style.marginTop="-2px",t.insertBefore(v,t.firstChild),l.style.paddingRight=18*t.childNodes.length+"px",this.saveLibrary(a.getTitle(),b,a,a.getMode(),!0,!0,function(){null!=v&&null!=v.parentNode&&(v.parentNode.removeChild(v),l.style.paddingRight=18*t.childNodes.length+"px")})):null==q&&(q=x.cloneNode(!1),q.setAttribute("src",IMAGE_PATH+"/download.png"),q.setAttribute("title",
-mxResources.get("save")),t.insertBefore(q,t.firstChild),mxEvent.addListener(q,"click",mxUtils.bind(this,function(d){this.saveLibrary(a.getTitle(),b,a,a.getMode(),a.constructor==LocalLibrary,!0,function(){null==q||a.isModified()||(l.style.paddingRight=18*t.childNodes.length+"px",q.parentNode.removeChild(q),q=null)});mxEvent.consume(d)})),l.style.paddingRight=18*t.childNodes.length+"px")}),C=mxUtils.bind(this,function(a,d,c,e){a=p.cloneCells(mxUtils.sortCells(p.model.getTopmostCells(a)));for(var g=
-0;g<a.length;g++){var h=p.getCellGeometry(a[g]);null!=h&&h.translate(-d.x,-d.y)}k.appendChild(this.sidebar.createVertexTemplateFromCells(a,d.width,d.height,e||"",!0,!1,!1));a={xml:this.editor.graph.compress(mxUtils.getXml(this.editor.graph.encodeCells(a))),w:d.width,h:d.height};null!=e&&(a.title=e);b.push(a);y(c);null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null)}),I=mxUtils.bind(this,function(a){if(p.isSelectionEmpty())p.getRubberband().isActive()?(p.getRubberband().execute(a),
-p.getRubberband().reset()):this.showError(mxResources.get("error"),mxResources.get("nothingIsSelected"),mxResources.get("ok"));else{var d=p.getSelectionCells(),b=p.view.getBounds(d),c=p.view.scale;b.x/=c;b.y/=c;b.width/=c;b.height/=c;b.x-=p.view.translate.x;b.y-=p.view.translate.y;C(d,b)}mxEvent.consume(a)});k.style.border="3px solid transparent";mxEvent.addGestureListeners(k,function(){},mxUtils.bind(this,function(a){p.isMouseDown&&null!=p.panningManager&&null!=p.graphHandler.shape&&(p.graphHandler.shape.node.style.visibility=
-"hidden",null!=f?f.style.border="3px dotted rgb(254, 137, 12)":k.style.border="3px dotted rgb(254, 137, 12)",k.style.cursor="copy",p.panningManager.stop(),p.autoScroll=!1,null!=p.graphHandler.guide&&p.graphHandler.guide.setVisible(!1),null!=p.graphHandler.hint&&(p.graphHandler.hint.style.visibility="hidden"),mxEvent.consume(a))}),mxUtils.bind(this,function(a){p.isMouseDown&&null!=p.panningManager&&null!=p.graphHandler&&(k.style.border="3px solid transparent",null!=f&&(f.style.border="3px dotted lightGray"),
-k.style.cursor="default",this.sidebar.showTooltips=!0,p.panningManager.stop(),p.graphHandler.reset(),p.isMouseDown=!1,p.autoScroll=!0,I(a),mxEvent.consume(a))}));mxEvent.addListener(k,"mouseleave",mxUtils.bind(this,function(a){p.isMouseDown&&null!=p.graphHandler.shape&&(p.graphHandler.shape.node.style.visibility="visible",k.style.border="3px solid transparent",k.style.cursor="",p.autoScroll=!0,null!=p.graphHandler.guide&&p.graphHandler.guide.setVisible(!0),null!=p.graphHandler.hint&&(p.graphHandler.hint.style.visibility=
-"visible"),null!=f&&(f.style.border="3px dotted lightGray"))}));Graph.fileSupport&&(mxEvent.addListener(k,"dragover",mxUtils.bind(this,function(a){null!=f?f.style.border="3px dotted rgb(254, 137, 12)":k.style.border="3px dotted rgb(254, 137, 12)";a.dataTransfer.dropEffect="copy";k.style.cursor="copy";this.sidebar.hideTooltip();a.stopPropagation();a.preventDefault()})),mxEvent.addListener(k,"drop",mxUtils.bind(this,function(a){k.style.border="3px solid transparent";k.style.cursor="";null!=f&&(f.style.border=
-"3px dotted lightGray");0<a.dataTransfer.files.length&&this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,mxUtils.bind(this,function(d,c,g,h,m,n,r,t,u){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,m,n),d)],d[0].vertex=!0,C(d,new mxRectangle(0,0,m,n),a,mxEvent.isAltDown(a)?null:r.substring(0,r.lastIndexOf(".")).replace(/_/g," ")),null!=f&&null!=f.parentNode&&
-0<b.length&&(f.parentNode.removeChild(f),f=null);else{var l=!1,q=mxUtils.bind(this,function(d,c){if(null!=d&&"text/xml"==c){var g=mxUtils.parseXml(d);if("mxlibrary"==g.documentElement.nodeName)try{var h=JSON.parse(mxUtils.getTextContent(g.documentElement));e(h,k);b=b.concat(h);y(a);this.spinner.stop();l=!0}catch(T){}else if("mxfile"==g.documentElement.nodeName)try{for(var m=g.documentElement.getElementsByTagName("diagram"),g=0;g<m.length;g++){var h=mxUtils.getTextContent(m[g]),n=this.stringToCells(this.editor.graph.decompress(h)),
-r=this.editor.graph.getBoundingBoxFromGeometry(n);C(n,new mxRectangle(0,0,r.width,r.height),a)}l=!0}catch(T){null!=window.console&&console.log("error in drop handler:",T)}}l||(this.spinner.stop(),this.handleError({message:mxResources.get("errorLoadingFile")}));null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null)});null!=u&&null!=r&&(/(\.vsdx?)($|\?)/i.test(r)||/(\.vssx)($|\?)/i.test(r))?this.importVisio(u,function(a){q(a,"text/xml")},null,r):!this.isOffline()&&(new XMLHttpRequest).upload&&
-this.isRemoteFileFormat(d,r)&&null!=u?this.parseFile(u,mxUtils.bind(this,function(a){4==a.readyState&&(this.spinner.stop(),200<=a.status&&299>=a.status?q(a.responseText,"text/xml"):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge":"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))})):q(d,c)}}));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(k,"dragleave",function(a){null!=f?f.style.border="3px dotted lightGray":(k.style.border="3px solid transparent",
-k.style.cursor="");a.stopPropagation();a.preventDefault()}));x=x.cloneNode(!1);x.setAttribute("src",IMAGE_PATH+"/edit.gif");x.setAttribute("title",mxResources.get("edit"));t.insertBefore(x,t.firstChild);mxEvent.addListener(x,"click",B);mxEvent.addListener(k,"dblclick",function(a){mxEvent.getSource(a)==k&&B(a)});c=x.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"}};"1"==urlParams.offline||EditorUi.isElectronApp?EditorUi.prototype.footerHeight=
-4:("1"==urlParams.savesidebar&&(Sidebar.prototype.thumbWidth=64,Sidebar.prototype.thumbHeight=64),EditorUi.prototype.footerHeight=760<=screen.width&&240<=screen.height?46:0,EditorUi.prototype.createFooter=function(){var a=document.getElementById("geFooter");if(null!=a){a.style.visibility="visible";var b=document.createElement("img");b.setAttribute("border","0");b.setAttribute("src",Dialog.prototype.closeImage);b.setAttribute("title",mxResources.get("hide"));a.appendChild(b);mxClient.IS_QUIRKS&&(b.style.position=
-"relative",b.style.styleFloat="right",b.style.top="-30px",b.style.left="164px",b.style.cursor="pointer");mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.hideFooter()}))}return a});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,EditorUi.prototype.hsplitPosition=188,Sidebar.prototype.thumbWidth=46,Sidebar.prototype.thumbHeight=46,Sidebar.prototype.thumbPadding=5<=document.documentMode?0:1,Sidebar.prototype.thumbBorder=2):"dark"==uiTheme&&(mxClient.link("stylesheet",STYLE_PATH+"/dark.css"),Dialog.backdropColor="#2a2a2a",Graph.prototype.defaultThemeName="darkTheme",Graph.prototype.defaultPageBackgroundColor="#2a2a2a",
-Graph.prototype.defaultGraphBackground=null,Graph.prototype.defaultPageBorderColor="#505759",Graph.prototype.svgShadowColor="#e0e0e0",Graph.prototype.svgShadowOpacity="0.6",Graph.prototype.svgShadowSize="0.8",Graph.prototype.svgShadowBlur="1.4",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 d=document.getElementById("geFooter");null!=d&&(this.footerHeight=a,d.style.display="inline",this.refresh())};EditorUi.prototype.showImageDialog=function(a,b,c,e,r){a=new ImageDialog(this,a,b,c,e,r);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,r){a=new LibraryDialog(this,a,b,c,e,r);this.showDialog(a.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&&null==
-this.getCurrentFile()&&"1"!=urlParams.embed&&this.showSplash()}));a.init()};EditorUi.prototype.createSidebarFooterContainer=function(){var a=this.createDiv("geSidebarContainer");a.style.position="absolute";a.style.overflow="hidden";a.style.borderWidth="3px";var b=document.createElement("a");b.setAttribute("href","javascript:void(0);");b.className="geTitle";b.style.height="100%";b.style.paddingTop="9px";mxUtils.write(b,mxResources.get("moreShapes")+"...");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){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){a=mxUtils.htmlEntities(mxResources.get("unknownError"));var e=mxResources.get("ok"),g=null;b=null!=b?b:mxResources.get("error");if(null!=f)if(null!=f.retry&&(e=mxResources.get("cancel"),g=function(){d();f.retry()}),"undefined"!=
-typeof gapi&&"undefined"!=typeof gapi.drive&&"undefined"!=typeof gapi.drive.realtime&&f.type==gapi.drive.realtime.ErrorType.FORBIDDEN)a=mxUtils.htmlEntities(mxResources.get("forbidden"));else if(404==f.code||404==f.status||"undefined"!=typeof gapi&&"undefined"!=typeof gapi.drive&&"undefined"!=typeof gapi.drive.realtime&&f.type==gapi.drive.realtime.ErrorType.NOT_FOUND){a=mxUtils.htmlEntities(mxResources.get("fileNotFoundOrDenied"));var k=window.location.hash;null!=k&&"#G"==k.substring(0,2)&&(k=k.substring(2),
-a+=' <a href="https://drive.google.com/open?id='+k+'" target="_blank">'+mxUtils.htmlEntities(mxResources.get("tryOpeningViaThisPage"))+"</a>")}else f.code==App.ERROR_TIMEOUT?a=mxUtils.htmlEntities(mxResources.get("timeout")):f.code==App.ERROR_BUSY?a=mxUtils.htmlEntities(mxResources.get("busy")):null!=f.message?a=mxUtils.htmlEntities(f.message):null!=f.response&&null!=f.response.error&&(a=mxUtils.htmlEntities(f.response.error));this.showError(b,a,e,c,g)}else null!=c&&c()};EditorUi.prototype.showError=
-function(a,b,c,e,r,h,m,k,l,t,q,p){a=new ErrorDialog(this,a,b,c||mxResources.get("ok"),e,r,h,m,p,k,l);this.showDialog(a.container,t||340,q||150,!0,!1);a.init()};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,r){var d=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){};this.showDialog((new ConfirmDialog(this,a,function(){d();null!=
-b&&b()},function(){d();null!=c&&c()},e,r)).container,340,90,!0,!1)};EditorUi.prototype.setCurrentFile=function(a){this.currentFile=a};EditorUi.prototype.getCurrentFile=function(){return this.currentFile};EditorUi.prototype.isExportToCanvas=function(){return mxClient.IS_CHROMEAPP||!this.editor.graph.mathEnabled&&this.useCanvasForExport};EditorUi.prototype.createSvgDataUri=function(a){return"data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent(a)))};EditorUi.prototype.createImageDataUri=function(a,
-b,c){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,"zTXt","mxGraphModel",atob(this.editor.graph.compress(b))));return d};EditorUi.prototype.saveCanvas=function(a,b,c){var d="jpeg"==c?"jpg":c,f=this.getBaseFilename()+"."+d;a=this.createImageDataUri(a,b,c);this.saveData(f,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.doSaveLocalFile=function(a,b,c,e,r){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)b=new TextareaDialog(this,b+":",a,null,null,mxResources.get("close")),b.textarea.style.width="600px",b.textarea.style.height="380px",this.showDialog(b.container,620,460,!0,!0),b.init(),document.execCommand("selectall",!1,null);else{var d=document.createElement("a"),f=!mxClient.IS_SF&&"undefined"!==typeof d.download;if(mxClient.IS_GC)var g=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./),f=65==(g?parseInt(g[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(w){}}else this.createEchoRequest(a,b,c,e,r).simulate(document,"_blank")}};EditorUi.prototype.createEchoRequest=function(a,b,c,e,r,h){a="xml="+encodeURIComponent(a);return new mxXmlRequest(SAVE_URL,a+(null!=
-c?"&mime="+c:"")+(null!=r?"&format="+r:"")+(null!=h?"&base64="+h:"")+(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),m=0;m<f;++m){for(var k=1024*m,l=Math.min(k+1024,c),t=Array(l-k),q=0;k<l;++q,++k)t[q]=d[k].charCodeAt(0);e[m]=new Uint8Array(t)}return new Blob(e,{type:b})};EditorUi.prototype.saveLocalFile=function(a,b,c,e,k,h,m){h=null!=h?h:!1;m=null!=m?m:"vsdx"!=k&&
-(!mxClient.IS_IOS||!navigator.standalone);k=this.getServiceCount(h);b=new CreateDialog(this,b,mxUtils.bind(this,function(d,b){try{if("_blank"==b)if(null==c||"image/"!=c.substring(0,6)||"image/svg"==c.substring(0,9)&&!mxClient.IS_SVG){var f=window.open("about:blank");null==f?mxUtils.popup(a,!0):(f.document.write(mxUtils.htmlEntities(a,!1)),f.document.close())}else this.openInNewWindow(a,c,e);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(F){this.handleError(F)}}))}catch(x){this.handleError(x)}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,h,m,null,1<k,4<k&&(!h||6>k)?3:4,a,c,e);this.showDialog(b.container,420,k==(mxClient.IS_IOS?0:1)?160:4<k?390:270,!0,!0);b.init()};EditorUi.prototype.openInNewWindow=function(a,b,c){if(mxClient.IS_GC||mxClient.IS_EDGE||11==document.documentMode||10==document.documentMode){var d=
-window.open("about:blank");null==d?mxUtils.popup(a,!0):("image/svg+xml"==b?d.document.write("<html>"+a+"</html>"):d.document.write('<html><img src="data:'+b+(c?";base64,"+a:";charset=utf8,"+encodeURIComponent(a))+'"/></html>'),d.document.close())}else d=window.open("data:"+b+(c?";base64,"+a:";charset=utf8,"+encodeURIComponent(a))),null==d&&mxUtils.popup(a,!0)};var b=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.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"))}b.apply(this,arguments)};EditorUi.prototype.saveData=function(a,b,c,e,k){this.isLocalFileSave()?this.saveLocalFile(c,a,e,k,b):this.saveRequest(a,b,mxUtils.bind(this,function(a,d){return this.createEchoRequest(c,a,e,k,b,d)}),c,k,e)};EditorUi.prototype.saveRequest=function(a,b,c,e,k,h,m){m=null!=m?m:!mxClient.IS_IOS||!navigator.standalone;var d=this.getServiceCount(!1);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){h=null!=h?h:"pdf"==b?"application/pdf":"image/"+b;if(null!=e)try{this.exportFile(e,a,h,!0,d,c)}catch(D){this.handleError(D)}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,h,!0,d,c)}catch(D){this.handleError(D)}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,m,null,1<d,4<d?3:4,e,h,k);this.showDialog(a.container,380,d==(mxClient.IS_IOS?0:1)?160:4<d?390:270,!0,!0);a.init()};EditorUi.prototype.getEditBlankXml=function(){return this.getFileData(!0)};
-EditorUi.prototype.exportFile=function(a,b,c,e,k,h){};EditorUi.prototype.pickFolder=function(a,b,c){b(null)};EditorUi.prototype.exportSvg=function(a,b,c,e,k,h,m,l,q){if(this.spinner.spin(document.body,mxResources.get("export"))){var d=this.editor.graph.isSelectionEmpty();c=null!=c?c:d;d=b?null:this.editor.graph.background;d==mxConstants.NONE&&(d=null);null==d&&0==b&&(d="#ffffff");var f=this.editor.graph.getSvg(d,a,m,l,null,c);e&&this.editor.graph.addSvgShadow(f);var g=this.getBaseFilename()+".svg",
-n=mxUtils.bind(this,function(a){this.spinner.stop();k&&a.setAttribute("content",this.getFileData(!0,null,null,null,c,q));if(null!=this.editor.fontCss){var d=a.ownerDocument,d=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,"style"):d.createElement("style");d.setAttribute("type","text/css");mxUtils.setTextContent(d,this.editor.fontCss);a.getElementsByTagName("defs")[0].appendChild(d)}var b='<!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()||b.length<=MAX_REQUEST_SIZE?this.saveData(g,"svg",b,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(b)}))});this.convertMath(this.editor.graph,f,!1,mxUtils.bind(this,function(){h?(null==this.thumbImageCache&&(this.thumbImageCache={}),this.convertImages(f,n,this.thumbImageCache)):n(f)}))}};EditorUi.prototype.addCheckbox=function(a,b,c,e,k,h){h=null!=h?h:!0;var d=
-document.createElement("input");d.style.marginRight="8px";d.style.marginTop="16px";d.setAttribute("type","checkbox");c&&(d.setAttribute("checked","checked"),d.defaultChecked=!0);e&&d.setAttribute("disabled","disabled");h&&(a.appendChild(d),c=document.createElement("span"),mxUtils.write(c,b),a.appendChild(c),k||mxUtils.br(a),mxEvent.addListener(c,"click",mxUtils.bind(this,function(a){"disabled"!=d.getAttribute("disabled")&&(d.checked=!d.checked,mxEvent.consume(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(),e="";null!=c&&c.getMode()!=App.MODE_DEVICE&&c.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";c=document.createElement("option");c.setAttribute("value","blank");mxUtils.write(c,mxResources.get("makeCopy"));f.appendChild(c);c=document.createElement("option");
-c.setAttribute("value","custom");mxUtils.write(c,mxResources.get("custom")+"...");f.appendChild(c);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(d,"change",mxUtils.bind(this,function(){d.checked&&(null==b||
-b.checked)?f.removeAttribute("disabled"):f.setAttribute("disabled","disabled")}));mxUtils.br(a);return{getLink:function(){return d.checked?"blank"===f.value?"_blank":e:null},getEditInput:function(){return d},getEditSelect:function(){return f}}};EditorUi.prototype.addLinkSection=function(a,b){function d(){m.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 c=document.createElement("select");c.style.width="100px";c.style.marginLeft="8px";c.style.marginRight="10px";c.className="geBtn";var e=document.createElement("option");e.setAttribute("value","auto");mxUtils.write(e,mxResources.get("automatic"));c.appendChild(e);e=document.createElement("option");e.setAttribute("value","blank");mxUtils.write(e,mxResources.get("openInNewWindow"));c.appendChild(e);e=document.createElement("option");
-e.setAttribute("value","self");mxUtils.write(e,mxResources.get("openInThisWindow"));c.appendChild(e);b&&(e=document.createElement("option"),e.setAttribute("value","frame"),mxUtils.write(e,mxResources.get("openInThisWindow")+" ("+mxResources.get("iframe")+")"),c.appendChild(e));a.appendChild(c);mxUtils.write(a,mxResources.get("borderColor")+":");var f="#0000ff",m=null,m=mxUtils.button("",mxUtils.bind(this,function(a){this.pickColor(f||"none",function(a){f=a;d()});mxEvent.consume(a)}));d();m.style.padding=
-mxClient.IS_FF?"4px 2px 4px 2px":"4px";m.style.marginLeft="4px";m.style.height="22px";m.style.width="22px";m.style.position="relative";m.style.top=mxClient.IS_IE||mxClient.IS_IE11||mxClient.IS_EDGE?"6px":"1px";m.className="geColorBtn";a.appendChild(m);mxUtils.br(a);return{getColor:function(){return f},getTarget:function(){return c.value},focus:function(){c.focus()}}};EditorUi.prototype.createLink=function(a,b,c,e,k,h,m,l){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!=k&&0<k.length&&f.push("edit="+encodeURIComponent(k)),h&&f.push("layers=1"),this.editor.graph.foldingEnabled&&f.push("nav=1"));if(c&&null!=this.pages&&null!=this.currentPage)for(a=0;a<this.pages.length;a++)if(this.pages[a]==this.currentPage){0<a&&f.push("page="+a);break}a=!0;null!=m?c="#U"+encodeURIComponent(m):(d=this.getCurrentFile(),l||null==d||d.constructor!=window.DriveFile?c="#R"+encodeURIComponent(c?
-this.getFileData(!0,null,null,null,null,null,null,!0):this.editor.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)?"https://www.draw.io/":"https://"+window.location.host+"/")+(0<f.length?"?"+f.join("&"):"")+c};EditorUi.prototype.createHtml=function(a,
-b,c,e,k,h,m,l,q,t,x){this.getBasenames();var d={};""!=k&&k!=mxConstants.NONE&&(d.highlight=k);"auto"!==e&&(d.target=e);q||(d.lightbox=!1);d.nav=this.editor.graph.foldingEnabled;c=parseInt(c);isNaN(c)||100==c||(d.zoom=c/100);c=[];m&&(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);l&&c.push("layers");0<c.length&&(q&&c.push("lightbox"),d.toolbar=c.join(" "));null!=t&&0<t.length&&(d.edit=t);null!=
-a?d.url=a:d.xml=this.getFileData(!0,null,null,null,null,!m);b='<div class="mxgraph" style="'+(h?"max-width:100%;":"")+(""!=c?"border:1px solid transparent;":"")+'" data-mxgraph="'+mxUtils.htmlEntities(JSON.stringify(d))+'"></div>';a=null!=a?"&fetch="+encodeURIComponent(a):"";x(b,'<script type="text/javascript" src="'+(0<a.length?("1"==urlParams.dev?"https://test.draw.io/embed2.js?dev=1":"https://www.draw.io/embed2.js?")+a:"1"==urlParams.dev?"https://test.draw.io/js/viewer.min.js":"https://www.draw.io/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 g=document.createElement("div");g.style.cssText="border-bottom:1px solid lightGray;padding-bottom:8px;margin-bottom:12px;";var n=document.createElement("input");n.style.cssText="margin-right:8px;margin-top:8px;margin-bottom:8px;";
-n.setAttribute("value","url");n.setAttribute("type","radio");n.setAttribute("name","type-embedhtmldialog");f=n.cloneNode(!0);f.setAttribute("value","copy");g.appendChild(f);var k=document.createElement("span");mxUtils.write(k,mxResources.get("includeCopyOfMyDiagram"));g.appendChild(k);mxUtils.br(g);g.appendChild(n);k=document.createElement("span");mxUtils.write(k,mxResources.get("publicDiagramUrl"));g.appendChild(k);var t=this.getCurrentFile();null==c&&null!=t&&t.constructor==window.DriveFile&&(k=
-document.createElement("a"),k.style.paddingLeft="12px",k.style.color="gray",k.setAttribute("href","javascript:void(0);"),mxUtils.write(k,mxResources.get("share")),g.appendChild(k),mxEvent.addListener(k,"click",mxUtils.bind(this,function(){this.hideDialog();this.drive.showPermissions(t.getId())})));f.setAttribute("checked","checked");null==c&&n.setAttribute("disabled","disabled");d.appendChild(g);var l=this.addLinkSection(d),q=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 v=this.addCheckbox(d,mxResources.get("fit"),!0),g=null!=this.pages&&1<this.pages.length,B=B=this.addCheckbox(d,mxResources.get("allPages"),g,!g),y=this.addCheckbox(d,mxResources.get("layers"),!0),C=this.addCheckbox(d,mxResources.get("lightbox"),!0),I=this.addEditButton(d,C),z=I.getEditInput();
-z.style.marginBottom="16px";mxEvent.addListener(C,"change",function(){C.checked?z.removeAttribute("disabled"):z.setAttribute("disabled","disabled");z.checked&&C.checked?I.getEditSelect().removeAttribute("disabled"):I.getEditSelect().setAttribute("disabled","disabled")});a=new CustomDialog(this,d,mxUtils.bind(this,function(){e(n.checked?c:null,q.checked,p.value,l.getTarget(),l.getColor(),v.checked,B.checked,y.checked,C.checked,I.getLink())}),null,a,b);this.showDialog(a.container,340,384,!0,!0);f.focus()};
-EditorUi.prototype.showPublishLinkDialog=function(a,b,c,e,k,h){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 g=this.getCurrentFile(),f="https://desk.draw.io/support/solutions/articles/16000051941";a=0;if(null!=g&&g.constructor==window.DriveFile&&!b){a=80;var f="https://desk.draw.io/support/solutions/articles/16000039384",
-n=document.createElement("div");n.style.cssText="border-bottom:1px solid lightGray;padding-bottom:14px;padding-top:6px;margin-bottom:14px;text-align:center;";var r=document.createElement("div");r.style.whiteSpace="normal";mxUtils.write(r,mxResources.get("linkAccountRequired"));n.appendChild(r);r=mxUtils.button(mxResources.get("share"),mxUtils.bind(this,function(){this.drive.showPermissions(g.getId())}));r.style.marginTop="12px";r.className="geBtn";n.appendChild(r);d.appendChild(n);r=document.createElement("a");
-r.style.paddingLeft="12px";r.style.color="gray";r.style.fontSize="11px";r.setAttribute("href","javascript:void(0);");mxUtils.write(r,mxResources.get("check"));n.appendChild(r);mxEvent.addListener(r,"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 l=null,q=null;if(null!=c||null!=e)a+=30,mxUtils.write(d,mxResources.get("width")+":"),l=document.createElement("input"),l.setAttribute("type","text"),l.style.marginRight="16px",l.style.width="50px",l.style.marginLeft="6px",l.style.marginRight="16px",l.style.marginBottom="10px",l.value="100%",d.appendChild(l),mxUtils.write(d,mxResources.get("height")+":"),q=document.createElement("input"),q.setAttribute("type","text"),q.style.width="50px",
-q.style.marginLeft="6px",q.style.marginBottom="10px",q.value=e+"px",d.appendChild(q),mxUtils.br(d);var p=this.addLinkSection(d,h);c=null!=this.pages&&1<this.pages.length;var B=null;if(null==g||g.constructor!=window.DriveFile||b)B=this.addCheckbox(d,mxResources.get("allPages"),c,!c);var v=this.addCheckbox(d,mxResources.get("lightbox"),!0),C=this.addEditButton(d,v),I=C.getEditInput(),z=this.addCheckbox(d,mxResources.get("layers"),!0);z.style.marginLeft=I.style.marginLeft;z.style.marginBottom="16px";
-z.style.marginTop="8px";mxEvent.addListener(v,"change",function(){v.checked?(z.removeAttribute("disabled"),I.removeAttribute("disabled")):(z.setAttribute("disabled","disabled"),I.setAttribute("disabled","disabled"));I.checked&&v.checked?C.getEditSelect().removeAttribute("disabled"):C.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,d,mxUtils.bind(this,function(){k(p.getTarget(),p.getColor(),null==B?!0:B.checked,v.checked,C.getLink(),z.checked,null!=l?l.value:null,null!=
-q?q.value:null)}),null,mxResources.get("create"),f);this.showDialog(b.container,340,254+a,!0,!0);null!=l?(l.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?l.select():document.execCommand("selectAll",!1,null)):p.focus()};EditorUi.prototype.showRemoteExportDialog=function(a,b,c,e){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:4px";
-d.appendChild(f);var g=this.addCheckbox(d,mxResources.get("selectionOnly"),!1,this.editor.graph.isSelectionEmpty()),n=e?null:this.addCheckbox(d,mxResources.get("includeCopyOfMyDiagram"),!0),f=this.editor.graph,k=e?null:this.addCheckbox(d,mxResources.get("transparentBackground"),f.background==mxConstants.NONE||null==f.background);null!=k&&(k.style.marginBottom="16px");a=new CustomDialog(this,d,mxUtils.bind(this,function(){c(!g.checked,null!=n?n.checked:!1,null!=k?k.checked:!1)}),null,a,b);this.showDialog(a.container,
-300,e?100:186,!0,!0)};EditorUi.prototype.showExportDialog=function(a,b,c,e,k,h,m,l){m=null!=m?m:!0;var d=document.createElement("div");d.style.whiteSpace="nowrap";var f=this.editor.graph,g="jpeg"==l?196:300,n=document.createElement("h3");mxUtils.write(n,a);n.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:10px";d.appendChild(n);mxUtils.write(d,mxResources.get("zoom")+":");var r=document.createElement("input");r.setAttribute("type","text");r.style.marginRight="16px";r.style.width=
-"60px";r.style.marginLeft="4px";r.style.marginRight="12px";r.value=this.lastExportZoom||"100%";d.appendChild(r);mxUtils.write(d,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";d.appendChild(u);mxUtils.br(d);var q=this.addCheckbox(d,mxResources.get("transparentBackground"),f.background==mxConstants.NONE||null==f.background,null,null,"jpeg"!=
-l),p=this.addCheckbox(d,mxResources.get("selectionOnly"),!1,f.isSelectionEmpty()),v=document.createElement("input");v.style.marginTop="16px";v.style.marginRight="8px";v.style.marginLeft="24px";v.setAttribute("disabled","disabled");v.setAttribute("type","checkbox");h&&(d.appendChild(v),mxUtils.write(d,mxResources.get("crop")),mxUtils.br(d),g+=26,mxEvent.addListener(p,"change",function(){p.checked?v.removeAttribute("disabled"):v.setAttribute("disabled","disabled")}));f.isSelectionEmpty()||(v.setAttribute("checked",
-"checked"),v.defaultChecked=!0);var I=this.addCheckbox(d,mxResources.get("shadow"),f.shadowVisible),z=document.createElement("input");z.style.marginTop="16px";z.style.marginRight="8px";z.setAttribute("type","checkbox");!this.isOffline()&&this.canvasSupported||z.setAttribute("disabled","disabled");b&&(d.appendChild(z),mxUtils.write(d,mxResources.get("embedImages")),mxUtils.br(d),g+=26);var N=this.addCheckbox(d,mxResources.get("includeCopyOfMyDiagram"),m,null,null,"jpeg"!=l),E=null!=this.pages&&1<this.pages.length,
-J=this.addCheckbox(d,E?mxResources.get("allPages"):"",E,!E,null,"jpeg"!=l);J.style.marginLeft="24px";J.style.marginBottom="16px";E||(J.style.visibility="hidden");mxEvent.addListener(N,"change",function(){N.checked&&E?J.removeAttribute("disabled"):J.setAttribute("disabled","disabled")});m&&E||J.setAttribute("disabled","disabled");a=new CustomDialog(this,d,mxUtils.bind(this,function(){this.lastExportBorder=u.value;this.lastExportZoom=r.value;k(r.value,q.checked,!p.checked,I.checked,N.checked,z.checked,
-u.value,v.checked,!J.checked)}),null,c,e);this.showDialog(a.container,340,g,!0,!0);r.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?r.select():document.execCommand("selectAll",!1,null)};EditorUi.prototype.showEmbedImageDialog=function(a,b,c,e,k){var d=document.createElement("div");d.style.whiteSpace="nowrap";var f=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";
-d.appendChild(g)}var n=this.addCheckbox(d,mxResources.get("fit"),!0),r=this.addCheckbox(d,mxResources.get("shadow"),f.shadowVisible&&e,!e),l=this.addCheckbox(d,c),q=this.addCheckbox(d,mxResources.get("lightbox"),!0),p=this.addEditButton(d,q),v=p.getEditInput(),B=1<f.model.getChildCount(f.model.getRoot()),y=this.addCheckbox(d,mxResources.get("layers"),B,!B);y.style.marginLeft=v.style.marginLeft;y.style.marginBottom="12px";y.style.marginTop="8px";mxEvent.addListener(q,"change",function(){q.checked?
-(B&&y.removeAttribute("disabled"),v.removeAttribute("disabled")):(y.setAttribute("disabled","disabled"),v.setAttribute("disabled","disabled"));v.checked&&q.checked?p.getEditSelect().removeAttribute("disabled"):p.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,d,mxUtils.bind(this,function(){a(n.checked,r.checked,l.checked,q.checked,p.getLink(),y.checked)}),null,mxResources.get("embed"),k);this.showDialog(b.container,280,280,!0,!0)};EditorUi.prototype.createEmbedImage=
-function(a,b,c,e,k,h,m,l){function d(d){var b=" ",g="";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('https://www.draw.io/?client=1&lightbox=1"+(k?"&edit=_blank":"")+(h?"&layers=1":"")+"');}})(this);\"",g+="cursor:pointer;");
-a&&(g+="max-width:100%;");var n="";c&&(n=' width="'+Math.round(f.width)+'" height="'+Math.round(f.height)+'"');m('<img src="'+d+'"'+n+(""!=g?' style="'+g+'"':"")+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){l({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 g="";c&&(g="&w="+Math.round(2*f.width)+"&h="+Math.round(2*f.height));var n=new mxXmlRequest(EXPORT_URL,"format=png&base64=1&embedXml="+(e?"1":"0")+g+"&xml="+encodeURIComponent(b));n.send(mxUtils.bind(this,function(){200<=n.getStatus()&&299>=n.getStatus()?d("data:image/png;base64,"+n.getText()):l({message:mxResources.get("unknownError")})}))}else l({message:mxResources.get("drawingTooLarge")})};EditorUi.prototype.createEmbedSvg=function(a,
-b,c,e,k,h,m){var d=this.editor.graph.getSvg(),f=d.getElementsByTagName("a");if(null!=f)for(var g=0;g<f.length;g++){var n=f[g].getAttribute("href");null!=n&&"#"==n.charAt(0)&&"_blank"==f[g].getAttribute("target")&&f[g].removeAttribute("target")}e&&d.setAttribute("content",this.getFileData(!0));b&&this.editor.graph.addSvgShadow(d);if(c){var r=" ",l="";e&&(r="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('https://www.draw.io/?client=1&lightbox=1"+
-(k?"&edit=_blank":"")+(h?"&layers=1":"")+"');}})(this);\"",l+="cursor:pointer;");a&&(l+="max-width:100%;");this.convertImages(d,mxUtils.bind(this,function(a){m('<img src="'+this.createSvgDataUri(mxUtils.getXml(a))+'"'+(""!=l?' style="'+l+'"':"")+r+"/>")}))}else l="",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('https://www.draw.io/?client=1&lightbox=1"+
-(k?"&edit=_blank":"")+(h?"&layers=1":"")+"');}}})(this);"),l+="cursor:pointer;"),a&&(a=parseInt(d.getAttribute("width")),b=parseInt(d.getAttribute("height")),d.setAttribute("viewBox","0 0 "+a+" "+b),l+="max-width:100%;max-height:"+b+"px;",d.removeAttribute("height")),""!=l&&d.setAttribute("style",l),m(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+
+0))];d=this.currentPage.node}"0"!=urlParams.pages&&null==this.fileNode&&null!=d&&(this.fileNode=d.ownerDocument.createElement("mxfile"),this.currentPage=new DiagramPage(d.ownerDocument.createElement("diagram")),this.currentPage.setName(mxResources.get("pageWithNumber",[1])),this.pages=[this.currentPage]);this.editor.setGraphXml(d);null!=this.currentPage&&(this.currentPage.root=this.editor.graph.model.root)};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))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,r,h,n){try{e=null!=e?e:this.editor.graph.isSelectionEmpty();var d=this.getBaseFilename(!r),
+f=d+"."+a;if("xml"==a){var g='<?xml version="1.0" encoding="UTF-8"?>\n'+(b?mxUtils.getXml(this.editor.getGraphXml(e)):this.getFileData(!0,null,null,null,e,r));this.saveData(f,a,g,"text/xml")}else if("html"==a)g=this.getHtml2(this.getFileData(!0),this.editor.graph,d),this.saveData(f,a,g,"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!=h&&(this.editor.graph.pageVisible=h);var f=this.createDownloadRequest(d,a,e,b,n);this.editor.graph.pageVisible=c;return f}catch(z){this.handleError(z)}}));else{var m=null,k=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(m)}))});if("svg"==a){var l=this.editor.graph.background;if(n||l==
+mxConstants.NONE)l=null;var q=this.editor.graph.getSvg(l,null,null,null,null,e);c&&this.editor.graph.addSvgShadow(q);this.convertImages(q,mxUtils.bind(this,mxUtils.bind(this,function(a){this.spinner.stop();k('<?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",m=this.getFileData(!1,!0,null,mxUtils.bind(this,function(a){this.spinner.stop();k(a)}),e)}}catch(B){this.handleError(B)}};
+EditorUi.prototype.createDownloadRequest=function(a,b,c,e,r){var d=this.editor.graph.getGraphBounds();c=this.getFileData(!0,null,null,null,c,"xmlpng"!=b);var f="";if(d.width*d.height>MAX_AREA||c.length>MAX_REQUEST_SIZE)throw{message:mxResources.get("drawingTooLarge")};d="0";if("xmlpng"==b&&(d="1",b="png",null!=this.pages&&null!=this.currentPage))for(var g=0;g<this.pages.length;g++)if(this.pages[g]==this.currentPage){f="&from="+g;break}g=this.editor.graph.background;"png"==b&&r&&(g=mxConstants.NONE);
+return new mxXmlRequest(EXPORT_URL,"format="+b+f+"&bg="+(null!=g?g:mxConstants.NONE)+"&base64="+e+"&embedXml="+d+"&xml="+encodeURIComponent(c)+(null!=a?"&filename="+encodeURIComponent(a):""))};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 e=null!=a.interval?parseInt(a.interval):6E4,g=null,h=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()),m()):this.handleError({message:mxResources.get("error")+" "+a.getStatus()}))}),mxUtils.bind(this,function(a){this.handleError(a)}))}),m=mxUtils.bind(this,function(){window.clearTimeout(g);g=window.setTimeout(h,e)});this.editor.addListener("pageSelected",mxUtils.bind(this,function(){m();h()}));m();h()}null!=b&&b()});if(null!=a.url){var e=a.url;/^https?:\/\//.test(e)&&!this.isCorsEnabledForUrl(e)&&
+(e=PROXY_URL+"?url="+encodeURIComponent(a.url));this.loadUrl(e,mxUtils.bind(this,function(a){f(a)}),mxUtils.bind(this,function(a){null!=c&&c(a)}))}else f(a.data)};EditorUi.prototype.updateDiagram=function(a){function d(a){var d=new mxCellOverlay(a.image||c.warningImage,a.tooltip,a.align,a.valign,a.offset);d.addListener(mxEvent.CLICK,function(d,b){editorUi.alert(a.tooltip)});return d}var b=null;if(null!=a&&0<a.length&&(b=mxUtils.parseXml(a),a=null!=b?b.documentElement:null,null!=a&&"updates"==a.nodeName)){var c=
+this.editor.graph,e=c.getModel();e.beginUpdate();var h=null;try{for(a=a.firstChild;null!=a;){if("update"==a.nodeName){var n=e.getCell(a.getAttribute("id"));if(null!=n){try{var k=a.getAttribute("value");if(null!=k){var l=mxUtils.parseXml(k).documentElement;if(null!=l)if("1"==l.getAttribute("replace-value"))e.setValue(n,l);else for(var t=l.attributes,x=0;x<t.length;x++)c.setAttributeForCell(n,t[x].nodeName,0<t[x].nodeValue.length?t[x].nodeValue:null)}}catch(z){null!=window.console&&console.log("Error in value for "+
+n.id+": "+z)}try{var q=a.getAttribute("style");null!=q&&c.model.setStyle(n,q)}catch(z){null!=window.console&&console.log("Error in style for "+n.id+": "+z)}try{var p=a.getAttribute("icon");if(null!=p){var v=0<p.length?JSON.parse(p):null;null!=v&&v.append||c.removeCellOverlays(n);null!=v&&c.addCellOverlay(n,d(v))}}catch(z){null!=window.console&&console.log("Error in icon for "+n.id+": "+z)}try{var B=a.getAttribute("geometry");if(null!=B){var B=JSON.parse(B),y=c.getCellGeometry(n);if(null!=y){y=y.clone();
+for(key in B){var C=parseFloat(B[key]);"dx"==key?y.x+=C:"dy"==key?y.y+=C:"dw"==key?y.width+=C:"dh"==key?y.height+=C:y[key]=parseFloat(B[key])}c.model.setGeometry(n,y)}}}catch(z){null!=window.console&&console.log("Error in icon for "+n.id+": "+z)}}}else if("model"==a.nodeName){for(var I=a.firstChild;null!=I&&I.nodeType!=mxConstants.NODETYPE_ELEMENT;)I=I.nextSibling;null!=I&&(new mxCodec(a.firstChild)).decode(I,e)}else if("view"==a.nodeName){if(a.hasAttribute("scale")&&(c.view.scale=parseFloat(a.getAttribute("scale"))),
+a.hasAttribute("dx")||a.hasAttribute("dy"))c.view.translate=new mxPoint(parseFloat(a.getAttribute("dx")||0),parseFloat(a.getAttribute("dy")||0))}else"fit"==a.nodeName&&(h=a.hasAttribute("max-scale")?parseFloat(a.getAttribute("max-scale")):1);a=a.nextSibling}}finally{e.endUpdate()}null!=h&&this.chromelessResize&&this.chromelessResize(!0,h)}return b};EditorUi.prototype.fileLoaded=function(a){var d=!1;this.hideDialog();var b=this.getCurrentFile();this.setCurrentFile(null);null!=b&&(b.removeListener(this.descriptorChangedListener),
+b.close());this.editor.graph.model.clear();this.editor.undoManager.clear();var c=mxUtils.bind(this,function(){this.setGraphEnabled(!1);this.setCurrentFile(null);null!=b&&this.updateDocumentTitle();this.editor.graph.model.clear();this.editor.undoManager.clear();this.setBackgroundImage(null);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.updateUi();this.showSplash()});if(null!=a)try{this.setCurrentFile(a);a.addListener("descriptorChanged",this.descriptorChangedListener);a.addListener("contentChanged",this.descriptorChangedListener);a.open();this.setGraphEnabled(!0);this.setMode(a.getMode());this.editor.undoManager.clear();this.descriptorChanged();this.updateUi();null==a.realtime&&(a.isEditable()?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"));d=!0;this.isOffline()||null==a.getMode()||this.logEvent({category:"File",action:"open",label:a.getMode()});if(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(r){}try{mxSettings.setOpenCounter(mxSettings.getOpenCounter()+1),mxSettings.save()}catch(r){}}catch(r){null!=window.console&&console.log("error in fileLoaded:",a,r);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!=r&&null!=r.message?":err:"+encodeURIComponent(r.message):"")+(null!=r&&null!=r.stack?"&stack="+encodeURIComponent(r.stack):"")}catch(h){}this.handleError(r,mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){null!=urlParams.url&&this.spinner.spin(document.body,mxResources.get("reconnecting"))?window.location.search=this.getSearch(["url"]):null!=b?b.constructor==DriveFile?this.loadFile(b.getHash()):this.fileLoaded(b):c()}))}else c();return d};EditorUi.prototype.descriptorChanged=
+function(){};EditorUi.prototype.logEvent=function(a){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(g){}};EditorUi.prototype.restoreLibraries=function(){};EditorUi.prototype.saveLibrary=function(a,b,c,e,r,h,n){};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,e=mxUtils.bind(this,function(d,b){if(0==d.length&&a.isEditable())null==f&&(f=document.createElement("div"),mxUtils.setPrefixedStyle(f.style,
+"borderRadius","6px"),f.style.border="3px dotted lightGray",f.style.textAlign="center",f.style.padding="8px",f.style.color="#B3B3B3",mxUtils.write(f,mxResources.get("dragElementsHere"))),b.appendChild(f);else for(var c=0;c<d.length;c++){var e=d[c],g=e.data;if(null!=g){var g=this.convertDataUri(g),h="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";"fixed"==e.aspect&&(h+="aspect=fixed;");b.appendChild(this.sidebar.createVertexTemplate(h+"image="+g,e.w,e.h,"",e.title||"",!1,
+!1,!0))}else null!=e.xml&&(g=this.stringToCells(this.editor.graph.decompress(e.xml)),0<g.length&&b.appendChild(this.sidebar.createVertexTemplateFromCells(g,e.w,e.h,e.title||"",!0,!1,!0)))}});if(null!=this.sidebar&&null!=b)for(var g=0;g<b.length;g++)mxUtils.bind(this,function(a){var d=a.data;null!=d&&null!=a.title?this.sidebar.addEntry(a.title,mxUtils.bind(this,function(){d=this.convertDataUri(d);var b="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";"fixed"==a.aspect&&(b+=
+"aspect=fixed;");return this.sidebar.createVertexTemplate(b+"image="+d,a.w,a.h,"",a.title||"",!1,!1,!0)})):null!=a.xml&&null!=a.title&&this.sidebar.addEntry(a.title,mxUtils.bind(this,function(){var d=this.stringToCells(this.editor.graph.decompress(a.xml));return this.sidebar.createVertexTemplateFromCells(d,a.w,a.h,a.title||"",!0,!1,!0)}))})(b[g]);c=null!=c&&0<c.length?c:a.getTitle();var k=this.sidebar.addPalette(a.getHash(),c,!0,mxUtils.bind(this,function(a){e(b,a)}));this.repositionLibrary(d);var l=
+k.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 x=document.createElement("img");x.setAttribute("src",Dialog.prototype.closeImage);x.setAttribute("title",
+mxResources.get("close"));x.setAttribute("valign","absmiddle");x.setAttribute("border","0");x.style.margin="0 3px";var q=null;if(".scratchpad"!=a.title||this.closableScratchpad)t.appendChild(x),mxEvent.addListener(x,"click",mxUtils.bind(this,function(d){if(!mxEvent.isConsumed(d)){var b=mxUtils.bind(this,function(){this.closeLibrary(a)});null!=q?this.confirm(mxResources.get("allChangesLost"),null,b,mxResources.get("cancel"),mxResources.get("discardChanges")):b();mxEvent.consume(d)}}));if(a.isEditable()){var p=
+this.editor.graph,v=null,B=mxUtils.bind(this,function(d){this.showLibraryDialog(a.getTitle(),k,b,a,a.getMode());mxEvent.consume(d)}),y=mxUtils.bind(this,function(d){a.setModified(!0);a.isAutosave()?(null!=v&&null!=v.parentNode&&v.parentNode.removeChild(v),v=x.cloneNode(!1),v.setAttribute("src",Editor.spinImage),v.setAttribute("title",mxResources.get("saving")),v.style.cursor="default",v.style.marginRight="2px",v.style.marginTop="-2px",t.insertBefore(v,t.firstChild),l.style.paddingRight=18*t.childNodes.length+
+"px",this.saveLibrary(a.getTitle(),b,a,a.getMode(),!0,!0,function(){null!=v&&null!=v.parentNode&&(v.parentNode.removeChild(v),l.style.paddingRight=18*t.childNodes.length+"px")})):null==q&&(q=x.cloneNode(!1),q.setAttribute("src",IMAGE_PATH+"/download.png"),q.setAttribute("title",mxResources.get("save")),t.insertBefore(q,t.firstChild),mxEvent.addListener(q,"click",mxUtils.bind(this,function(d){this.saveLibrary(a.getTitle(),b,a,a.getMode(),a.constructor==LocalLibrary,!0,function(){null==q||a.isModified()||
+(l.style.paddingRight=18*t.childNodes.length+"px",q.parentNode.removeChild(q),q=null)});mxEvent.consume(d)})),l.style.paddingRight=18*t.childNodes.length+"px")}),C=mxUtils.bind(this,function(a,d,c,e){a=p.cloneCells(mxUtils.sortCells(p.model.getTopmostCells(a)));for(var g=0;g<a.length;g++){var h=p.getCellGeometry(a[g]);null!=h&&h.translate(-d.x,-d.y)}k.appendChild(this.sidebar.createVertexTemplateFromCells(a,d.width,d.height,e||"",!0,!1,!1));a={xml:this.editor.graph.compress(mxUtils.getXml(this.editor.graph.encodeCells(a))),
+w:d.width,h:d.height};null!=e&&(a.title=e);b.push(a);y(c);null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null)}),I=mxUtils.bind(this,function(a){if(p.isSelectionEmpty())p.getRubberband().isActive()?(p.getRubberband().execute(a),p.getRubberband().reset()):this.showError(mxResources.get("error"),mxResources.get("nothingIsSelected"),mxResources.get("ok"));else{var d=p.getSelectionCells(),b=p.view.getBounds(d),c=p.view.scale;b.x/=c;b.y/=c;b.width/=c;b.height/=c;b.x-=p.view.translate.x;
+b.y-=p.view.translate.y;C(d,b)}mxEvent.consume(a)});k.style.border="3px solid transparent";mxEvent.addGestureListeners(k,function(){},mxUtils.bind(this,function(a){p.isMouseDown&&null!=p.panningManager&&null!=p.graphHandler.shape&&(p.graphHandler.shape.node.style.visibility="hidden",null!=f?f.style.border="3px dotted rgb(254, 137, 12)":k.style.border="3px dotted rgb(254, 137, 12)",k.style.cursor="copy",p.panningManager.stop(),p.autoScroll=!1,null!=p.graphHandler.guide&&p.graphHandler.guide.setVisible(!1),
+null!=p.graphHandler.hint&&(p.graphHandler.hint.style.visibility="hidden"),mxEvent.consume(a))}),mxUtils.bind(this,function(a){p.isMouseDown&&null!=p.panningManager&&null!=p.graphHandler&&(k.style.border="3px solid transparent",null!=f&&(f.style.border="3px dotted lightGray"),k.style.cursor="default",this.sidebar.showTooltips=!0,p.panningManager.stop(),p.graphHandler.reset(),p.isMouseDown=!1,p.autoScroll=!0,I(a),mxEvent.consume(a))}));mxEvent.addListener(k,"mouseleave",mxUtils.bind(this,function(a){p.isMouseDown&&
+null!=p.graphHandler.shape&&(p.graphHandler.shape.node.style.visibility="visible",k.style.border="3px solid transparent",k.style.cursor="",p.autoScroll=!0,null!=p.graphHandler.guide&&p.graphHandler.guide.setVisible(!0),null!=p.graphHandler.hint&&(p.graphHandler.hint.style.visibility="visible"),null!=f&&(f.style.border="3px dotted lightGray"))}));Graph.fileSupport&&(mxEvent.addListener(k,"dragover",mxUtils.bind(this,function(a){null!=f?f.style.border="3px dotted rgb(254, 137, 12)":k.style.border="3px dotted rgb(254, 137, 12)";
+a.dataTransfer.dropEffect="copy";k.style.cursor="copy";this.sidebar.hideTooltip();a.stopPropagation();a.preventDefault()})),mxEvent.addListener(k,"drop",mxUtils.bind(this,function(a){k.style.border="3px solid transparent";k.style.cursor="";null!=f&&(f.style.border="3px dotted lightGray");0<a.dataTransfer.files.length&&this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,mxUtils.bind(this,function(d,c,g,h,n,m,r,t,u){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,n,m),d)],d[0].vertex=!0,C(d,new mxRectangle(0,0,n,m),a,mxEvent.isAltDown(a)?null:r.substring(0,r.lastIndexOf(".")).replace(/_/g," ")),null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null);else{var l=!1,q=mxUtils.bind(this,function(d,c){if(null!=d&&"text/xml"==c){var g=mxUtils.parseXml(d);if("mxlibrary"==g.documentElement.nodeName)try{var h=JSON.parse(mxUtils.getTextContent(g.documentElement));e(h,k);b=b.concat(h);y(a);
+this.spinner.stop();l=!0}catch(T){}else if("mxfile"==g.documentElement.nodeName)try{for(var n=g.documentElement.getElementsByTagName("diagram"),g=0;g<n.length;g++){var h=mxUtils.getTextContent(n[g]),m=this.stringToCells(this.editor.graph.decompress(h)),r=this.editor.graph.getBoundingBoxFromGeometry(m);C(m,new mxRectangle(0,0,r.width,r.height),a)}l=!0}catch(T){null!=window.console&&console.log("error in drop handler:",T)}}l||(this.spinner.stop(),this.handleError({message:mxResources.get("errorLoadingFile")}));
+null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null)});null!=u&&null!=r&&(/(\.vsdx?)($|\?)/i.test(r)||/(\.vssx)($|\?)/i.test(r))?this.importVisio(u,function(a){q(a,"text/xml")},null,r):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(d,r)&&null!=u?this.parseFile(u,mxUtils.bind(this,function(a){4==a.readyState&&(this.spinner.stop(),200<=a.status&&299>=a.status?q(a.responseText,"text/xml"):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge":
+"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))})):q(d,c)}}));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(k,"dragleave",function(a){null!=f?f.style.border="3px dotted lightGray":(k.style.border="3px solid transparent",k.style.cursor="");a.stopPropagation();a.preventDefault()}));x=x.cloneNode(!1);x.setAttribute("src",Editor.editImage);x.setAttribute("title",mxResources.get("edit"));t.insertBefore(x,t.firstChild);mxEvent.addListener(x,"click",B);mxEvent.addListener(k,
+"dblclick",function(a){mxEvent.getSource(a)==k&&B(a)});c=x.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"}};"1"==urlParams.offline||EditorUi.isElectronApp?EditorUi.prototype.footerHeight=4:("1"==urlParams.savesidebar&&(Sidebar.prototype.thumbWidth=64,Sidebar.prototype.thumbHeight=64),EditorUi.prototype.footerHeight=760<=screen.width&&240<=screen.height?46:0,EditorUi.prototype.createFooter=function(){var a=document.getElementById("geFooter");
+if(null!=a){a.style.visibility="visible";var b=document.createElement("img");b.setAttribute("border","0");b.setAttribute("src",Dialog.prototype.closeImage);b.setAttribute("title",mxResources.get("hide"));a.appendChild(b);mxClient.IS_QUIRKS&&(b.style.position="relative",b.style.styleFloat="right",b.style.top="-30px",b.style.left="164px",b.style.cursor="pointer");mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.hideFooter()}))}return a});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,EditorUi.prototype.hsplitPosition=188,Sidebar.prototype.thumbWidth=46,Sidebar.prototype.thumbHeight=46,Sidebar.prototype.thumbPadding=
+5<=document.documentMode?0:1,Sidebar.prototype.thumbBorder=2):"dark"==uiTheme&&(mxClient.link("stylesheet",STYLE_PATH+"/dark.css"),Dialog.backdropColor="#2a2a2a",Graph.prototype.defaultThemeName="darkTheme",Graph.prototype.defaultPageBackgroundColor="#2a2a2a",Graph.prototype.defaultGraphBackground=null,Graph.prototype.defaultPageBorderColor="#505759",Graph.prototype.svgShadowColor="#e0e0e0",Graph.prototype.svgShadowOpacity="0.6",Graph.prototype.svgShadowSize="0.8",Graph.prototype.svgShadowBlur="1.4",
+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 d=document.getElementById("geFooter");null!=d&&(this.footerHeight=a,d.style.display="inline",this.refresh())};EditorUi.prototype.showImageDialog=function(a,b,c,e,r){a=new ImageDialog(this,a,b,c,e,r);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,r){a=new LibraryDialog(this,a,b,c,e,r);this.showDialog(a.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&&null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.showSplash()}));a.init()};EditorUi.prototype.createSidebarFooterContainer=function(){var a=this.createDiv("geSidebarContainer");
+a.style.position="absolute";a.style.overflow="hidden";a.style.borderWidth="3px";var b=document.createElement("a");b.setAttribute("href","javascript:void(0);");b.className="geTitle";b.style.height="100%";b.style.paddingTop="9px";mxUtils.write(b,mxResources.get("moreShapes")+"...");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){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){a=mxUtils.htmlEntities(mxResources.get("unknownError"));var e=mxResources.get("ok"),g=null;b=null!=b?b:mxResources.get("error");if(null!=f)if(null!=f.retry&&(e=mxResources.get("cancel"),g=function(){d();f.retry()}),"undefined"!=typeof gapi&&"undefined"!=typeof gapi.drive&&"undefined"!=typeof gapi.drive.realtime&&f.type==gapi.drive.realtime.ErrorType.FORBIDDEN)a=mxUtils.htmlEntities(mxResources.get("forbidden"));
+else if(404==f.code||404==f.status||"undefined"!=typeof gapi&&"undefined"!=typeof gapi.drive&&"undefined"!=typeof gapi.drive.realtime&&f.type==gapi.drive.realtime.ErrorType.NOT_FOUND){a=mxUtils.htmlEntities(mxResources.get("fileNotFoundOrDenied"));var k=window.location.hash;null!=k&&"#G"==k.substring(0,2)&&(k=k.substring(2),a+=' <a href="https://drive.google.com/open?id='+k+'" target="_blank">'+mxUtils.htmlEntities(mxResources.get("tryOpeningViaThisPage"))+"</a>")}else f.code==App.ERROR_TIMEOUT?a=
+mxUtils.htmlEntities(mxResources.get("timeout")):f.code==App.ERROR_BUSY?a=mxUtils.htmlEntities(mxResources.get("busy")):null!=f.message?a=mxUtils.htmlEntities(f.message):null!=f.response&&null!=f.response.error&&(a=mxUtils.htmlEntities(f.response.error));this.showError(b,a,e,c,g)}else null!=c&&c()};EditorUi.prototype.showError=function(a,b,c,e,r,h,n,k,l,t,q,p){a=new ErrorDialog(this,a,b,c||mxResources.get("ok"),e,r,h,n,p,k,l);this.showDialog(a.container,t||340,q||150,!0,!1);a.init()};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,r){var d=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){};this.showDialog((new ConfirmDialog(this,a,function(){d();null!=b&&b()},function(){d();null!=c&&c()},e,r)).container,340,90,!0,!1)};EditorUi.prototype.setCurrentFile=function(a){this.currentFile=a};EditorUi.prototype.getCurrentFile=function(){return this.currentFile};
+EditorUi.prototype.isExportToCanvas=function(){return mxClient.IS_CHROMEAPP||!this.editor.graph.mathEnabled&&this.useCanvasForExport};EditorUi.prototype.createSvgDataUri=function(a){return"data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent(a)))};EditorUi.prototype.createImageDataUri=function(a,b,c){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,"zTXt","mxGraphModel",atob(this.editor.graph.compress(b))));
+return d};EditorUi.prototype.saveCanvas=function(a,b,c){var d="jpeg"==c?"jpg":c,f=this.getBaseFilename()+"."+d;a=this.createImageDataUri(a,b,c);this.saveData(f,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.doSaveLocalFile=function(a,b,c,e,r){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)b=new TextareaDialog(this,b+":",a,null,null,mxResources.get("close")),b.textarea.style.width="600px",b.textarea.style.height=
+"380px",this.showDialog(b.container,620,460,!0,!0),b.init(),document.execCommand("selectall",!1,null);else{var d=document.createElement("a"),f=!mxClient.IS_SF&&"undefined"!==typeof d.download;if(mxClient.IS_GC)var g=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./),f=65==(g?parseInt(g[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(w){}}else this.createEchoRequest(a,b,c,e,r).simulate(document,"_blank")}};EditorUi.prototype.createEchoRequest=function(a,b,c,e,r,h){a="xml="+encodeURIComponent(a);return new mxXmlRequest(SAVE_URL,a+(null!=c?"&mime="+c:"")+(null!=r?"&format="+r:"")+(null!=h?"&base64="+h:"")+(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),
+n=0;n<f;++n){for(var k=1024*n,l=Math.min(k+1024,c),t=Array(l-k),q=0;k<l;++q,++k)t[q]=d[k].charCodeAt(0);e[n]=new Uint8Array(t)}return new Blob(e,{type:b})};EditorUi.prototype.saveLocalFile=function(a,b,c,e,k,h,n){h=null!=h?h:!1;n=null!=n?n:"vsdx"!=k&&(!mxClient.IS_IOS||!navigator.standalone);k=this.getServiceCount(h);b=new CreateDialog(this,b,mxUtils.bind(this,function(d,b){try{if("_blank"==b)if(null==c||"image/"!=c.substring(0,6)||"image/svg"==c.substring(0,9)&&!mxClient.IS_SVG){var f=window.open("about:blank");
+null==f?mxUtils.popup(a,!0):(f.document.write(mxUtils.htmlEntities(a,!1)),f.document.close())}else this.openInNewWindow(a,c,e);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(F){this.handleError(F)}}))}catch(x){this.handleError(x)}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,h,n,null,1<k,4<k&&(!h||6>k)?3:4,
+a,c,e);this.showDialog(b.container,420,k==(mxClient.IS_IOS?0:1)?160:4<k?390:270,!0,!0);b.init()};EditorUi.prototype.openInNewWindow=function(a,b,c){if(mxClient.IS_GC||mxClient.IS_EDGE||11==document.documentMode||10==document.documentMode){var d=window.open("about:blank");null==d?mxUtils.popup(a,!0):("image/svg+xml"==b?d.document.write("<html>"+a+"</html>"):d.document.write('<html><img src="data:'+b+(c?";base64,"+a:";charset=utf8,"+encodeURIComponent(a))+'"/></html>'),d.document.close())}else d=window.open("data:"+
+b+(c?";base64,"+a:";charset=utf8,"+encodeURIComponent(a))),null==d&&mxUtils.popup(a,!0)};var b=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.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"))}b.apply(this,arguments)};EditorUi.prototype.saveData=function(a,b,c,e,k){this.isLocalFileSave()?this.saveLocalFile(c,a,e,k,b):this.saveRequest(a,b,mxUtils.bind(this,function(a,
+d){return this.createEchoRequest(c,a,e,k,b,d)}),c,k,e)};EditorUi.prototype.saveRequest=function(a,b,c,e,k,h,n){n=null!=n?n:!mxClient.IS_IOS||!navigator.standalone;var d=this.getServiceCount(!1);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){h=null!=h?h:"pdf"==b?"application/pdf":"image/"+b;if(null!=e)try{this.exportFile(e,a,h,!0,d,c)}catch(D){this.handleError(D)}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,h,!0,d,c)}catch(D){this.handleError(D)}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,n,null,1<d,4<d?3:4,e,h,k);this.showDialog(a.container,380,d==(mxClient.IS_IOS?0:1)?160:4<d?390:270,!0,!0);a.init()};EditorUi.prototype.getEditBlankXml=function(){return this.getFileData(!0)};EditorUi.prototype.exportFile=function(a,b,c,e,k,h){};EditorUi.prototype.pickFolder=function(a,b,c){b(null)};EditorUi.prototype.exportSvg=function(a,b,c,e,k,h,n,u,l){if(this.spinner.spin(document.body,
+mxResources.get("export"))){var d=this.editor.graph.isSelectionEmpty();c=null!=c?c:d;d=b?null:this.editor.graph.background;d==mxConstants.NONE&&(d=null);null==d&&0==b&&(d="#ffffff");var f=this.editor.graph.getSvg(d,a,n,u,null,c);e&&this.editor.graph.addSvgShadow(f);var g=this.getBaseFilename()+".svg",m=mxUtils.bind(this,function(a){this.spinner.stop();k&&a.setAttribute("content",this.getFileData(!0,null,null,null,c,l));if(null!=this.editor.fontCss){var d=a.ownerDocument,d=null!=d.createElementNS?
+d.createElementNS(mxConstants.NS_SVG,"style"):d.createElement("style");d.setAttribute("type","text/css");mxUtils.setTextContent(d,this.editor.fontCss);a.getElementsByTagName("defs")[0].appendChild(d)}var b='<!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()||b.length<=MAX_REQUEST_SIZE?this.saveData(g,"svg",b,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),
+mxUtils.bind(this,function(){mxUtils.popup(b)}))});this.convertMath(this.editor.graph,f,!1,mxUtils.bind(this,function(){h?(null==this.thumbImageCache&&(this.thumbImageCache={}),this.convertImages(f,m,this.thumbImageCache)):m(f)}))}};EditorUi.prototype.addCheckbox=function(a,b,c,e,k,h){h=null!=h?h:!0;var d=document.createElement("input");d.style.marginRight="8px";d.style.marginTop="16px";d.setAttribute("type","checkbox");c&&(d.setAttribute("checked","checked"),d.defaultChecked=!0);e&&d.setAttribute("disabled",
+"disabled");h&&(a.appendChild(d),c=document.createElement("span"),mxUtils.write(c,b),a.appendChild(c),k||mxUtils.br(a),mxEvent.addListener(c,"click",mxUtils.bind(this,function(a){"disabled"!=d.getAttribute("disabled")&&(d.checked=!d.checked,mxEvent.consume(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(){n.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",n=null,n=mxUtils.button("",mxUtils.bind(this,function(a){this.pickColor(e||"none",function(a){e=a;d()});mxEvent.consume(a)}));d();n.style.padding=mxClient.IS_FF?"4px 2px 4px 2px":"4px";n.style.marginLeft="4px";n.style.height="22px";n.style.width="22px";n.style.position="relative";n.style.top=mxClient.IS_IE||
+mxClient.IS_IE11||mxClient.IS_EDGE?"6px":"1px";n.className="geColorBtn";a.appendChild(n);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,k,h,n,u){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!=k&&0<k.length&&f.push("edit="+encodeURIComponent(k)),h&&
+f.push("layers=1"),this.editor.graph.foldingEnabled&&f.push("nav=1"));if(c&&null!=this.pages&&null!=this.currentPage)for(a=0;a<this.pages.length;a++)if(this.pages[a]==this.currentPage){0<a&&f.push("page="+a);break}a=!0;null!=n?c="#U"+encodeURIComponent(n):(d=this.getCurrentFile(),u||null==d||d.constructor!=window.DriveFile?c="#R"+encodeURIComponent(c?this.getFileData(!0,null,null,null,null,null,null,!0):this.editor.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)?"https://www.draw.io/":"https://"+window.location.host+"/")+(0<f.length?"?"+f.join("&"):"")+c};EditorUi.prototype.createHtml=function(a,b,c,e,k,h,n,u,l,t,q){this.getBasenames();var d={};""!=k&&k!=mxConstants.NONE&&(d.highlight=k);"auto"!==e&&(d.target=e);l||(d.lightbox=!1);d.nav=this.editor.graph.foldingEnabled;
+c=parseInt(c);isNaN(c)||100==c||(d.zoom=c/100);c=[];n&&(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);u&&c.push("layers");0<c.length&&(l&&c.push("lightbox"),d.toolbar=c.join(" "));null!=t&&0<t.length&&(d.edit=t);null!=a?d.url=a:d.xml=this.getFileData(!0,null,null,null,null,!n);b='<div class="mxgraph" style="'+(h?"max-width:100%;":"")+(""!=c?"border:1px solid transparent;":"")+'" data-mxgraph="'+
+mxUtils.htmlEntities(JSON.stringify(d))+'"></div>';a=null!=a?"&fetch="+encodeURIComponent(a):"";q(b,'<script type="text/javascript" src="'+(0<a.length?("1"==urlParams.dev?"https://test.draw.io/embed2.js?dev=1":"https://www.draw.io/embed2.js?")+a:"1"==urlParams.dev?"https://test.draw.io/js/viewer.min.js":"https://www.draw.io/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 g=document.createElement("div");g.style.cssText="border-bottom:1px solid lightGray;padding-bottom:8px;margin-bottom:12px;";var m=document.createElement("input");m.style.cssText="margin-right:8px;margin-top:8px;margin-bottom:8px;";m.setAttribute("value","url");m.setAttribute("type","radio");m.setAttribute("name","type-embedhtmldialog");f=m.cloneNode(!0);f.setAttribute("value",
+"copy");g.appendChild(f);var k=document.createElement("span");mxUtils.write(k,mxResources.get("includeCopyOfMyDiagram"));g.appendChild(k);mxUtils.br(g);g.appendChild(m);k=document.createElement("span");mxUtils.write(k,mxResources.get("publicDiagramUrl"));g.appendChild(k);var t=this.getCurrentFile();null==c&&null!=t&&t.constructor==window.DriveFile&&(k=document.createElement("a"),k.style.paddingLeft="12px",k.style.color="gray",k.setAttribute("href","javascript:void(0);"),mxUtils.write(k,mxResources.get("share")),
+g.appendChild(k),mxEvent.addListener(k,"click",mxUtils.bind(this,function(){this.hideDialog();this.drive.showPermissions(t.getId())})));f.setAttribute("checked","checked");null==c&&m.setAttribute("disabled","disabled");d.appendChild(g);var l=this.addLinkSection(d),q=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 v=this.addCheckbox(d,mxResources.get("fit"),!0),g=null!=this.pages&&1<this.pages.length,B=B=this.addCheckbox(d,mxResources.get("allPages"),g,!g),y=this.addCheckbox(d,mxResources.get("layers"),!0),C=this.addCheckbox(d,mxResources.get("lightbox"),!0),I=this.addEditButton(d,C),z=I.getEditInput();z.style.marginBottom="16px";mxEvent.addListener(C,"change",function(){C.checked?z.removeAttribute("disabled"):z.setAttribute("disabled","disabled");z.checked&&C.checked?
+I.getEditSelect().removeAttribute("disabled"):I.getEditSelect().setAttribute("disabled","disabled")});a=new CustomDialog(this,d,mxUtils.bind(this,function(){e(m.checked?c:null,q.checked,p.value,l.getTarget(),l.getColor(),v.checked,B.checked,y.checked,C.checked,I.getLink())}),null,a,b);this.showDialog(a.container,340,384,!0,!0);f.focus()};EditorUi.prototype.showPublishLinkDialog=function(a,b,c,e,k,h){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 g=this.getCurrentFile(),f="https://desk.draw.io/support/solutions/articles/16000051941";a=0;if(null!=g&&g.constructor==window.DriveFile&&!b){a=80;var f="https://desk.draw.io/support/solutions/articles/16000039384",m=document.createElement("div");m.style.cssText="border-bottom:1px solid lightGray;padding-bottom:14px;padding-top:6px;margin-bottom:14px;text-align:center;";
+var r=document.createElement("div");r.style.whiteSpace="normal";mxUtils.write(r,mxResources.get("linkAccountRequired"));m.appendChild(r);r=mxUtils.button(mxResources.get("share"),mxUtils.bind(this,function(){this.drive.showPermissions(g.getId())}));r.style.marginTop="12px";r.className="geBtn";m.appendChild(r);d.appendChild(m);r=document.createElement("a");r.style.paddingLeft="12px";r.style.color="gray";r.style.fontSize="11px";r.setAttribute("href","javascript:void(0);");mxUtils.write(r,mxResources.get("check"));
+m.appendChild(r);mxEvent.addListener(r,"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 l=null,q=null;if(null!=c||null!=e)a+=30,mxUtils.write(d,mxResources.get("width")+":"),l=document.createElement("input"),
+l.setAttribute("type","text"),l.style.marginRight="16px",l.style.width="50px",l.style.marginLeft="6px",l.style.marginRight="16px",l.style.marginBottom="10px",l.value="100%",d.appendChild(l),mxUtils.write(d,mxResources.get("height")+":"),q=document.createElement("input"),q.setAttribute("type","text"),q.style.width="50px",q.style.marginLeft="6px",q.style.marginBottom="10px",q.value=e+"px",d.appendChild(q),mxUtils.br(d);var p=this.addLinkSection(d,h);c=null!=this.pages&&1<this.pages.length;var B=null;
+if(null==g||g.constructor!=window.DriveFile||b)B=this.addCheckbox(d,mxResources.get("allPages"),c,!c);var v=this.addCheckbox(d,mxResources.get("lightbox"),!0),C=this.addEditButton(d,v),I=C.getEditInput(),z=this.addCheckbox(d,mxResources.get("layers"),!0);z.style.marginLeft=I.style.marginLeft;z.style.marginBottom="16px";z.style.marginTop="8px";mxEvent.addListener(v,"change",function(){v.checked?(z.removeAttribute("disabled"),I.removeAttribute("disabled")):(z.setAttribute("disabled","disabled"),I.setAttribute("disabled",
+"disabled"));I.checked&&v.checked?C.getEditSelect().removeAttribute("disabled"):C.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,d,mxUtils.bind(this,function(){k(p.getTarget(),p.getColor(),null==B?!0:B.checked,v.checked,C.getLink(),z.checked,null!=l?l.value:null,null!=q?q.value:null)}),null,mxResources.get("create"),f);this.showDialog(b.container,340,254+a,!0,!0);null!=l?(l.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?l.select():
+document.execCommand("selectAll",!1,null)):p.focus()};EditorUi.prototype.showRemoteExportDialog=function(a,b,c,e){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:4px";d.appendChild(f);var g=this.addCheckbox(d,mxResources.get("selectionOnly"),!1,this.editor.graph.isSelectionEmpty()),m=e?null:this.addCheckbox(d,mxResources.get("includeCopyOfMyDiagram"),
+!0),f=this.editor.graph,k=e?null:this.addCheckbox(d,mxResources.get("transparentBackground"),f.background==mxConstants.NONE||null==f.background);null!=k&&(k.style.marginBottom="16px");a=new CustomDialog(this,d,mxUtils.bind(this,function(){c(!g.checked,null!=m?m.checked:!1,null!=k?k.checked:!1)}),null,a,b);this.showDialog(a.container,300,e?100:186,!0,!0)};EditorUi.prototype.showExportDialog=function(a,b,c,e,k,h,n,l){n=null!=n?n:!0;var d=document.createElement("div");d.style.whiteSpace="nowrap";var f=
+this.editor.graph,g="jpeg"==l?196:300,m=document.createElement("h3");mxUtils.write(m,a);m.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:10px";d.appendChild(m);mxUtils.write(d,mxResources.get("zoom")+":");var r=document.createElement("input");r.setAttribute("type","text");r.style.marginRight="16px";r.style.width="60px";r.style.marginLeft="4px";r.style.marginRight="12px";r.value=this.lastExportZoom||"100%";d.appendChild(r);mxUtils.write(d,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";d.appendChild(u);mxUtils.br(d);var q=this.addCheckbox(d,mxResources.get("transparentBackground"),f.background==mxConstants.NONE||null==f.background,null,null,"jpeg"!=l),p=this.addCheckbox(d,mxResources.get("selectionOnly"),!1,f.isSelectionEmpty()),v=document.createElement("input");v.style.marginTop="16px";v.style.marginRight=
+"8px";v.style.marginLeft="24px";v.setAttribute("disabled","disabled");v.setAttribute("type","checkbox");h&&(d.appendChild(v),mxUtils.write(d,mxResources.get("crop")),mxUtils.br(d),g+=26,mxEvent.addListener(p,"change",function(){p.checked?v.removeAttribute("disabled"):v.setAttribute("disabled","disabled")}));f.isSelectionEmpty()||(v.setAttribute("checked","checked"),v.defaultChecked=!0);var I=this.addCheckbox(d,mxResources.get("shadow"),f.shadowVisible),z=document.createElement("input");z.style.marginTop=
+"16px";z.style.marginRight="8px";z.setAttribute("type","checkbox");!this.isOffline()&&this.canvasSupported||z.setAttribute("disabled","disabled");b&&(d.appendChild(z),mxUtils.write(d,mxResources.get("embedImages")),mxUtils.br(d),g+=26);var N=this.addCheckbox(d,mxResources.get("includeCopyOfMyDiagram"),n,null,null,"jpeg"!=l),E=null!=this.pages&&1<this.pages.length,J=this.addCheckbox(d,E?mxResources.get("allPages"):"",E,!E,null,"jpeg"!=l);J.style.marginLeft="24px";J.style.marginBottom="16px";E||(J.style.visibility=
+"hidden");mxEvent.addListener(N,"change",function(){N.checked&&E?J.removeAttribute("disabled"):J.setAttribute("disabled","disabled")});n&&E||J.setAttribute("disabled","disabled");a=new CustomDialog(this,d,mxUtils.bind(this,function(){this.lastExportBorder=u.value;this.lastExportZoom=r.value;k(r.value,q.checked,!p.checked,I.checked,N.checked,z.checked,u.value,v.checked,!J.checked)}),null,c,e);this.showDialog(a.container,340,g,!0,!0);r.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||
+mxClient.IS_QUIRKS?r.select():document.execCommand("selectAll",!1,null)};EditorUi.prototype.showEmbedImageDialog=function(a,b,c,e,k){var d=document.createElement("div");d.style.whiteSpace="nowrap";var f=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";d.appendChild(g)}var m=this.addCheckbox(d,mxResources.get("fit"),!0),r=this.addCheckbox(d,mxResources.get("shadow"),f.shadowVisible&&e,
+!e),l=this.addCheckbox(d,c),q=this.addCheckbox(d,mxResources.get("lightbox"),!0),p=this.addEditButton(d,q),v=p.getEditInput(),B=1<f.model.getChildCount(f.model.getRoot()),y=this.addCheckbox(d,mxResources.get("layers"),B,!B);y.style.marginLeft=v.style.marginLeft;y.style.marginBottom="12px";y.style.marginTop="8px";mxEvent.addListener(q,"change",function(){q.checked?(B&&y.removeAttribute("disabled"),v.removeAttribute("disabled")):(y.setAttribute("disabled","disabled"),v.setAttribute("disabled","disabled"));
+v.checked&&q.checked?p.getEditSelect().removeAttribute("disabled"):p.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,d,mxUtils.bind(this,function(){a(m.checked,r.checked,l.checked,q.checked,p.getLink(),y.checked)}),null,mxResources.get("embed"),k);this.showDialog(b.container,280,280,!0,!0)};EditorUi.prototype.createEmbedImage=function(a,b,c,e,k,h,n,l){function d(d){var b=" ",g="";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('https://www.draw.io/?client=1&lightbox=1"+
+(k?"&edit=_blank":"")+(h?"&layers=1":"")+"');}})(this);\"",g+="cursor:pointer;");a&&(g+="max-width:100%;");var m="";c&&(m=' width="'+Math.round(f.width)+'" height="'+Math.round(f.height)+'"');n('<img src="'+d+'"'+m+(""!=g?' style="'+g+'"':"")+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){l({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 g="";c&&(g="&w="+Math.round(2*f.width)+"&h="+Math.round(2*f.height));var m=new mxXmlRequest(EXPORT_URL,"format=png&base64=1&embedXml="+(e?"1":"0")+g+"&xml="+encodeURIComponent(b));m.send(mxUtils.bind(this,function(){200<=m.getStatus()&&299>=m.getStatus()?d("data:image/png;base64,"+m.getText()):l({message:mxResources.get("unknownError")})}))}else l({message:mxResources.get("drawingTooLarge")})};
+EditorUi.prototype.createEmbedSvg=function(a,b,c,e,k,h,n){var d=this.editor.graph.getSvg(),f=d.getElementsByTagName("a");if(null!=f)for(var g=0;g<f.length;g++){var m=f[g].getAttribute("href");null!=m&&"#"==m.charAt(0)&&"_blank"==f[g].getAttribute("target")&&f[g].removeAttribute("target")}e&&d.setAttribute("content",this.getFileData(!0));b&&this.editor.graph.addSvgShadow(d);if(c){var r=" ",l="";e&&(r="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('https://www.draw.io/?client=1&lightbox=1"+
+(k?"&edit=_blank":"")+(h?"&layers=1":"")+"');}})(this);\"",l+="cursor:pointer;");a&&(l+="max-width:100%;");this.convertImages(d,mxUtils.bind(this,function(a){n('<img src="'+this.createSvgDataUri(mxUtils.getXml(a))+'"'+(""!=l?' style="'+l+'"':"")+r+"/>")}))}else l="",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('https://www.draw.io/?client=1&lightbox=1"+
+(k?"&edit=_blank":"")+(h?"&layers=1":"")+"');}}})(this);"),l+="cursor:pointer;"),a&&(a=parseInt(d.getAttribute("width")),b=parseInt(d.getAttribute("height")),d.setAttribute("viewBox","0 0 "+a+" "+b),l+="max-width:100%;max-height:"+b+"px;",d.removeAttribute("height")),""!=l&&d.setAttribute("style",l),n(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.convertMath=function(a,b,c,e){e()};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],e=b.getGlobalVariable;b.getGlobalVariable=function(a){return"page"==a?d.getAttribute("name")||mxResources.get("pageWithNumber",[1]):"pagenumber"==a?1:e.apply(this,arguments)}}}null!=d&&(c=b.decompress(mxUtils.getTextContent(d)),null!=c&&0<c.length&&(a=mxUtils.parseXml(c).documentElement))}c=this.editor.graph;try{this.editor.graph=b,this.editor.setGraphXml(a)}catch(h){}finally{this.editor.graph=c}return a};EditorUi.prototype.getEmbeddedPng=function(a,b,c){var d=this.editor.graph,
-e=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),e=c;else if(null!=this.pages&&this.currentPage!=this.pages[0]){var d=this.createTemporaryGraph(d.getStylesheet()),f=d.getGlobalVariable,g=this.pages[0];d.getGlobalVariable=function(a){return"page"==a?g.getName():"pagenumber"==a?1:f.apply(this,arguments)};document.body.appendChild(d.container);
-d.model.setRoot(g.root)}this.exportToCanvas(mxUtils.bind(this,function(c){try{null==e&&(e=this.getFileData(!0));var f=c.toDataURL("image/png"),f=this.writeGraphModelToPng(f,"zTXt","mxGraphModel",atob(this.editor.graph.compress(e)));a(f.substring(f.lastIndexOf(",")+1));d!=this.editor.graph&&d.container.parentNode.removeChild(d.container)}catch(t){null!=b&&b(t)}}),null,null,null,mxUtils.bind(this,function(a){null!=b&&b(a)}),null,null,null,null,d.shadowVisible,null,d)};EditorUi.prototype.getEmbeddedSvg=
-function(a,b,c,e,k,h,m){m=b.background;m==mxConstants.NONE&&(m=null);b=b.getSvg(m,null,null,null,null,h);null!=a&&b.setAttribute("content",a);null!=c&&b.setAttribute("resource",c);if(null!=k)this.convertImages(b,mxUtils.bind(this,function(a){k((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(b)};EditorUi.prototype.exportImage=function(a,b,c,e,k,h,m,l,q){q=null!=q?q:"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,k?this.getFileData(!0,null,null,null,c,l):null,q)}catch(F){"Invalid image"==F.message?this.downloadFile(q):this.handleError(F)}}),null,
-this.thumbImageCache,null,mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}),null,c,a||1,b,e,null,null,h,m)}catch(x){this.spinner.stop(),this.handleError(x)}}};EditorUi.prototype.loadFonts=function(a){if(null!=this.editor.fontCss&&null==this.editor.resolvedFontCss){var d=function(a){return a.replace(RegExp("^[\\s\"']+","g"),"").replace(RegExp("[\\s\"']+$","g"),"")},b=this.editor.fontCss.split("url("),c=0,e={},h=mxUtils.bind(this,function(){if(0==c){for(var f=[b[0]],g=1;g<b.length;g++){var h=
-b[g].indexOf(")");f.push('url("');f.push(e[d(b[g].substring(0,h))]);f.push('"'+b[g].substring(h))}this.editor.resolvedFontCss=f.join("");a()}});if(0<b.length)for(var m=1;m<b.length;m++){var k=b[m].indexOf(")"),l=null,t=b[m].indexOf("format(",k);0<t&&(l=d(b[m].substring(t+7,b[m].indexOf(")",t))));mxUtils.bind(this,function(a){if(null==e[a]){e[a]=a;c++;var d="application/x-font-ttf";if("svg"==l||/(\.svg)($|\?)/i.test(a))d="image/svg+xml";else if("otf"==l||"embedded-opentype"==l||/(\.otf)($|\?)/i.test(a))d=
+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&&(c=b.decompress(mxUtils.getTextContent(d)),null!=c&&0<c.length&&(a=mxUtils.parseXml(c).documentElement))}c=this.editor.graph;try{this.editor.graph=b,this.editor.setGraphXml(a)}catch(h){}finally{this.editor.graph=c}return a};EditorUi.prototype.getEmbeddedPng=function(a,b,c){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,g=this.pages[0];d.getGlobalVariable=function(a){return"page"==a?g.getName():"pagenumber"==a?1:e.apply(this,arguments)};document.body.appendChild(d.container);
+d.model.setRoot(g.root)}this.exportToCanvas(mxUtils.bind(this,function(c){try{null==f&&(f=this.getFileData(!0));var e=c.toDataURL("image/png"),e=this.writeGraphModelToPng(e,"zTXt","mxGraphModel",atob(this.editor.graph.compress(f)));a(e.substring(e.lastIndexOf(",")+1));d!=this.editor.graph&&d.container.parentNode.removeChild(d.container)}catch(t){null!=b&&b(t)}}),null,null,null,mxUtils.bind(this,function(a){null!=b&&b(a)}),null,null,null,null,d.shadowVisible,null,d)};EditorUi.prototype.getEmbeddedSvg=
+function(a,b,c,e,k,h,n){n=b.background;n==mxConstants.NONE&&(n=null);b=b.getSvg(n,null,null,null,null,h);null!=a&&b.setAttribute("content",a);null!=c&&b.setAttribute("resource",c);if(null!=k)this.convertImages(b,mxUtils.bind(this,function(a){k((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(b)};EditorUi.prototype.exportImage=function(a,b,c,e,k,h,n,l,q){q=null!=q?q:"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,k?this.getFileData(!0,null,null,null,c,l):null,q)}catch(F){"Invalid image"==F.message?this.downloadFile(q):this.handleError(F)}}),null,
+this.thumbImageCache,null,mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}),null,c,a||1,b,e,null,null,h,n)}catch(x){this.spinner.stop(),this.handleError(x)}}};EditorUi.prototype.loadFonts=function(a){if(null!=this.editor.fontCss&&null==this.editor.resolvedFontCss){var d=function(a){return a.replace(RegExp("^[\\s\"']+","g"),"").replace(RegExp("[\\s\"']+$","g"),"")},b=this.editor.fontCss.split("url("),c=0,e={},h=mxUtils.bind(this,function(){if(0==c){for(var f=[b[0]],g=1;g<b.length;g++){var h=
+b[g].indexOf(")");f.push('url("');f.push(e[d(b[g].substring(0,h))]);f.push('"'+b[g].substring(h))}this.editor.resolvedFontCss=f.join("");a()}});if(0<b.length)for(var n=1;n<b.length;n++){var k=b[n].indexOf(")"),l=null,t=b[n].indexOf("format(",k);0<t&&(l=d(b[n].substring(t+7,b[n].indexOf(")",t))));mxUtils.bind(this,function(a){if(null==e[a]){e[a]=a;c++;var d="application/x-font-ttf";if("svg"==l||/(\.svg)($|\?)/i.test(a))d="image/svg+xml";else if("otf"==l||"embedded-opentype"==l||/(\.otf)($|\?)/i.test(a))d=
"application/x-font-opentype";else if("woff"==l||/(\.woff)($|\?)/i.test(a))d="application/font-woff";else if("woff2"==l||/(\.woff2)($|\?)/i.test(a))d="application/font-woff2";else if("eot"==l||/(\.eot)($|\?)/i.test(a))d="application/vnd.ms-fontobject";else if("sfnt"==l||/(\.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){e[a]=d;c--;h()}),mxUtils.bind(this,
-function(a){c--;h()}),!0,null,"data:"+d+";charset=utf-8;base64,")}})(d(b[m].substring(0,k)),l)}}else a()};EditorUi.prototype.exportToCanvas=function(a,b,c,e,k,h,m,l,q,t,p,v,D,G){h=null!=h?h:!0;v=null!=v?v:this.editor.graph;D=null!=D?D:0;var d=q?null:v.background;d==mxConstants.NONE&&(d=null);null==d&&(d=e);null==d&&0==q&&(d=this.editor.graph.defaultPageBackgroundColor);this.convertImages(v.getSvg(d,null,null,G,null,null!=m?m:!0),mxUtils.bind(this,function(c){var e=new Image;e.onload=mxUtils.bind(this,
-function(){try{var f=document.createElement("canvas"),g=parseInt(c.getAttribute("width")),m=parseInt(c.getAttribute("height"));l=null!=l?l:1;null!=b&&(l=h?Math.min(1,Math.min(3*b/(4*m),b/g)):b/g);g=Math.ceil(l*g)+2*D;m=Math.ceil(l*m)+2*D;f.setAttribute("width",g);f.setAttribute("height",m);var n=f.getContext("2d");null!=d&&(n.beginPath(),n.rect(0,0,g,m),n.fillStyle=d,n.fill());n.scale(l,l);mxClient.IS_SF?window.setTimeout(function(){n.drawImage(e,D/l,D/l);a(f)},0):(n.drawImage(e,D/l,D/l),a(f))}catch(R){null!=
-k&&k(R)}});e.onerror=function(a){null!=k&&k(a)};try{t&&this.editor.graph.addSvgShadow(c);var f=mxUtils.bind(this,function(){if(null!=this.editor.resolvedFontCss){var a=document.createElement("style");a.setAttribute("type","text/css");a.innerHTML=this.editor.resolvedFontCss;c.getElementsByTagName("defs")[0].appendChild(a)}this.convertMath(v,c,!0,mxUtils.bind(this,function(){e.src=this.createSvgDataUri(mxUtils.getXml(c))}))});this.loadFonts(f)}catch(z){null!=k&&k(z)}}),c,p)};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.isCorsEnabledForUrl(d)?"chrome-extension://"!=d.substring(0,19)&&(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,g){for(var h=a.getElementsByTagName(c),m=0;m<h.length;m++)mxUtils.bind(this,function(c){var h=e.convert(c.getAttribute(g));if(null!=h&&"data:"!=h.substring(0,5)){var m=f[h];null==m?(d++,this.convertImageToDataUri(h,function(e){null!=e&&(f[h]=e,c.setAttribute(g,e));d--;0==d&&b(a)})):c.setAttribute(g,m)}else null!=h&&c.setAttribute(g,h)})(h[m])});c("image","xlink:href");c("img","src");0==d&&b(a)};EditorUi.prototype.loadUrl=
-function(a,b,c,e,k,h){try{var d=e||/(\.png)($|\?)/i.test(a)||/(\.jpe?g)($|\?)/i.test(a)||/(\.gif)($|\?)/i.test(a);k=null!=k?k:!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 e=a.getText();if(d){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("")}h=null!=h?h:"data:image/png;base64,";e=h+this.base64Encode(e)}b(e)}}else null!=c&&c({code:App.ERROR_UNKNOWN},a)}),function(){null!=c&&c({code:App.ERROR_UNKNOWN})},d,this.timeout,function(){k&&null!=c&&c({code:App.ERROR_TIMEOUT,retry:f})})});f()}catch(w){null!=c&&c(w)}};EditorUi.prototype.isCorsEnabledForUrl=function(a){null!=urlParams.cors&&null==this.corsRegExp&&(this.corsRegExp=new RegExp(decodeURIComponent(urlParams.cors)));return null!=this.corsRegExp&&this.corsRegExp.test(a)||
+function(a){c--;h()}),!0,null,"data:"+d+";charset=utf-8;base64,")}})(d(b[n].substring(0,k)),l)}}else a()};EditorUi.prototype.exportToCanvas=function(a,b,c,e,k,h,n,l,q,t,p,v,D,G){h=null!=h?h:!0;v=null!=v?v:this.editor.graph;D=null!=D?D:0;var d=q?null:v.background;d==mxConstants.NONE&&(d=null);null==d&&(d=e);null==d&&0==q&&(d=this.editor.graph.defaultPageBackgroundColor);this.convertImages(v.getSvg(d,null,null,G,null,null!=n?n:!0),mxUtils.bind(this,function(c){var f=new Image;f.onload=mxUtils.bind(this,
+function(){try{var e=document.createElement("canvas"),g=parseInt(c.getAttribute("width")),n=parseInt(c.getAttribute("height"));l=null!=l?l:1;null!=b&&(l=h?Math.min(1,Math.min(3*b/(4*n),b/g)):b/g);g=Math.ceil(l*g)+2*D;n=Math.ceil(l*n)+2*D;e.setAttribute("width",g);e.setAttribute("height",n);var m=e.getContext("2d");null!=d&&(m.beginPath(),m.rect(0,0,g,n),m.fillStyle=d,m.fill());m.scale(l,l);mxClient.IS_SF?window.setTimeout(function(){m.drawImage(f,D/l,D/l);a(e)},0):(m.drawImage(f,D/l,D/l),a(e))}catch(R){null!=
+k&&k(R)}});f.onerror=function(a){null!=k&&k(a)};try{t&&this.editor.graph.addSvgShadow(c);var e=mxUtils.bind(this,function(){if(null!=this.editor.resolvedFontCss){var a=document.createElement("style");a.setAttribute("type","text/css");a.innerHTML=this.editor.resolvedFontCss;c.getElementsByTagName("defs")[0].appendChild(a)}this.convertMath(v,c,!0,mxUtils.bind(this,function(){f.src=this.createSvgDataUri(mxUtils.getXml(c))}))});this.loadFonts(e)}catch(z){null!=k&&k(z)}}),c,p)};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.isCorsEnabledForUrl(d)?"chrome-extension://"!=d.substring(0,19)&&(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,g){for(var h=a.getElementsByTagName(c),n=0;n<h.length;n++)mxUtils.bind(this,function(c){var h=e.convert(c.getAttribute(g));if(null!=h&&"data:"!=h.substring(0,5)){var n=f[h];null==n?(d++,this.convertImageToDataUri(h,function(e){null!=e&&(f[h]=e,c.setAttribute(g,e));d--;0==d&&b(a)})):c.setAttribute(g,n)}else null!=h&&c.setAttribute(g,h)})(h[n])});c("image","xlink:href");c("img","src");0==d&&b(a)};EditorUi.prototype.loadUrl=
+function(a,b,c,e,k,h){try{var d=e||/(\.png)($|\?)/i.test(a)||/(\.jpe?g)($|\?)/i.test(a)||/(\.gif)($|\?)/i.test(a);k=null!=k?k:!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("")}h=null!=h?h:"data:image/png;base64,";f=h+this.base64Encode(f)}b(f)}}else null!=c&&c({code:App.ERROR_UNKNOWN},a)}),function(){null!=c&&c({code:App.ERROR_UNKNOWN})},d,this.timeout,function(){k&&null!=c&&c({code:App.ERROR_TIMEOUT,retry:f})})});f()}catch(w){null!=c&&c(w)}};EditorUi.prototype.isCorsEnabledForUrl=function(a){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?:\/\/[^\/]*\.iconfinder.com\//.test(a)||/^https?:\/\/[^\/]*\.draw\.io\/proxy/.test(a)||/^https?:\/\/[^\/]*\.github\.io\//.test(a)};EditorUi.prototype.convertImageToDataUri=function(a,b){if(/(\.svg)$/i.test(a))mxUtils.get(a,mxUtils.bind(this,function(a){b(this.createSvgDataUri(a.getText()))}),function(){b(this.svgBrokenImage.src)});else{var d=new Image,
-c=this;this.crossOriginImages&&(d.crossOrigin="anonymous");d.onload=function(){var a=document.createElement("canvas"),e=a.getContext("2d");a.height=d.height;a.width=d.width;e.drawImage(d,0,0);try{b(a.toDataURL())}catch(m){b(c.svgBrokenImage.src)}};d.onerror=function(){b(c.svgBrokenImage.src)};d.src=a}};EditorUi.prototype.importXml=function(a,b,c,e,k){b=null!=b?b:0;c=null!=c?c:0;var d=[];try{var f=this.editor.graph;if(null!=a&&0<a.length){var g=mxUtils.parseXml(a),n=this.editor.extractGraphModel(g.documentElement,
-null!=this.pages);if(null!=n&&"mxfile"==n.nodeName&&null!=this.pages){var l=n.getElementsByTagName("diagram");if(1==l.length)n=mxUtils.parseXml(f.decompress(mxUtils.getTextContent(l[0]))).documentElement;else if(1<l.length){f.model.beginUpdate();try{for(a=0;a<l.length;a++){var r=this.updatePageRoot(new DiagramPage(l[a])),q=this.pages.length;null==r.getName()&&r.setName(mxResources.get("pageWithNumber",[q+1]));f.model.execute(new ChangePage(this,r,r,q))}}finally{f.model.endUpdate()}}}null!=n&&"mxGraphModel"===
-n.nodeName&&(d=f.importGraphModel(n,b,c,e))}}catch(D){throw k||this.handleError(D,mxResources.get("invalidOrMissingFile")),D;}return d};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)if(/(\.vsd)($|\?)/i.test(e)&&null!=VSD_CONVERT_URL){var d=new FormData;d.append("file1",a,e);var f=new XMLHttpRequest;f.open("POST",VSD_CONVERT_URL);f.responseType=
+c=this;this.crossOriginImages&&(d.crossOrigin="anonymous");d.onload=function(){var a=document.createElement("canvas"),f=a.getContext("2d");a.height=d.height;a.width=d.width;f.drawImage(d,0,0);try{b(a.toDataURL())}catch(n){b(c.svgBrokenImage.src)}};d.onerror=function(){b(c.svgBrokenImage.src)};d.src=a}};EditorUi.prototype.importXml=function(a,b,c,e,k){b=null!=b?b:0;c=null!=c?c:0;var d=[];try{var f=this.editor.graph;if(null!=a&&0<a.length){var g=mxUtils.parseXml(a),m=this.editor.extractGraphModel(g.documentElement,
+null!=this.pages);if(null!=m&&"mxfile"==m.nodeName&&null!=this.pages){var l=m.getElementsByTagName("diagram");if(1==l.length)m=mxUtils.parseXml(f.decompress(mxUtils.getTextContent(l[0]))).documentElement;else if(1<l.length){f.model.beginUpdate();try{for(a=0;a<l.length;a++){var r=this.updatePageRoot(new DiagramPage(l[a])),q=this.pages.length;null==r.getName()&&r.setName(mxResources.get("pageWithNumber",[q+1]));f.model.execute(new ChangePage(this,r,r,q))}}finally{f.model.endUpdate()}}}null!=m&&"mxGraphModel"===
+m.nodeName&&(d=f.importGraphModel(m,b,c,e))}}catch(D){throw k||this.handleError(D,mxResources.get("invalidOrMissingFile")),D;}return d};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)if(/(\.vsd)($|\?)/i.test(e)&&null!=VSD_CONVERT_URL){var d=new FormData;d.append("file1",a,e);var f=new XMLHttpRequest;f.open("POST",VSD_CONVERT_URL);f.responseType=
"blob";f.onreadystatechange=mxUtils.bind(this,function(){if(4==f.readyState)if(200<=f.status&&299>=f.status)try{this.doImportVisio(f.response,b,c)}catch(u){c(u)}else c({})});f.send(d)}else try{this.doImportVisio(a,b,c)}catch(u){c(u)}});this.doImportVisio||this.loadingExtensions||this.isOffline()?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()}catch(f){this.handleError(f)}});
-"undefined"!==typeof VsdxExport||this.loadingExtensions||this.isOffline()?a():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",a))};EditorUi.prototype.importLucidChart=function(a,b,c,e,k){var d=mxUtils.bind(this,function(){this.loadingExtensions=!1;if(this.pasteLucidChart)try{this.insertLucidChart(a,b,c,e,k)}catch(m){this.handleError(m)}finally{null!=k&&k()}});this.pasteLucidChart||this.loadingExtensions||this.isOffline()?window.setTimeout(d,0):(this.loadingExtensions=!0,"1"==urlParams.dev?
+"undefined"!==typeof VsdxExport||this.loadingExtensions||this.isOffline()?a():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",a))};EditorUi.prototype.importLucidChart=function(a,b,c,e,k){var d=mxUtils.bind(this,function(){this.loadingExtensions=!1;if(this.pasteLucidChart)try{this.insertLucidChart(a,b,c,e,k)}catch(n){this.handleError(n)}finally{null!=k&&k()}});this.pasteLucidChart||this.loadingExtensions||this.isOffline()?window.setTimeout(d,0):(this.loadingExtensions=!0,"1"==urlParams.dev?
mxscript("js/diagramly/Extensions.js",d):mxscript("js/extensions.min.js",d))};EditorUi.prototype.insertLucidChart=function(a,b,c,e,k){k=JSON.parse(a);a=[];if(null!=k.state){k=JSON.parse(k.state);for(var d in k.Pages)a.push(k.Pages[d]);a.sort(function(a,d){return a.Properties.Order<d.Properties.Order?-1:a.Properties.Order>d.Properties.Order?1:0})}else a.push(k);if(0<a.length){this.editor.graph.getModel().beginUpdate();try{if(this.pasteLucidChart(a[0],b,c,e),null!=this.pages){var f=this.currentPage;
-for(b=1;b<a.length;b++)this.insertPage(),this.pasteLucidChart(a[b]);this.selectPage(f)}}finally{this.editor.graph.getModel().endUpdate()}}};EditorUi.prototype.insertTextAt=function(a,b,c,e,k,h,m){h=null!=h?h:!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,
+for(b=1;b<a.length;b++)this.insertPage(),this.pasteLucidChart(a[b]);this.selectPage(f)}}finally{this.editor.graph.getModel().endUpdate()}}};EditorUi.prototype.insertTextAt=function(a,b,c,e,k,h,n){h=null!=h?h:!0;n=null!=n?n:!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()&&(k||/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(a))){var d=this.editor.graph;if("data:image/png;base64,"==a.substring(0,22)){var f=this.extractGraphModelFromPng(a),g=this.importXml(f,b,c,h,!0);if(0<g.length)return g}if("data:image/svg+xml;"==a.substring(0,19))try{if(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)),g=this.importXml(f,b,c,h,!0),0<g.length)return g}catch(x){}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){d.setSelectionCell(d.insertVertex(null,null,"",d.snap(b),d.snap(c),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)),g=Math.round(e.width*f);e=Math.round(e.height*f);d.setSelectionCell(d.insertVertex(null,null,"",d.snap(b),d.snap(c),g,e,"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",
+1)),g=this.importXml(f,b,c,h,!0),0<g.length)return g}catch(x){}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)+";"))}),n,this.maxImageSize);else{var e=Math.min(1,Math.min(this.maxImageSize/f.width,this.maxImageSize/
+f.height)),g=Math.round(f.width*e);f=Math.round(f.height*e);d.setSelectionCell(d.insertVertex(null,null,"",d.snap(b),d.snap(c),g,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=this.editor.graph.zapGremlins(mxUtils.trim(a));if(this.isCompatibleString(a))return this.importXml(a,b,c,h);if(0<a.length)if('{"state":"{\\"Properties\\":'==a.substring(0,26))this.importLucidChart(a,b,c,h);else{d=this.editor.graph;k=null;d.getModel().beginUpdate();try{k=d.insertVertex(d.getDefaultParent(),null,"",d.snap(b),d.snap(c),1,1,"text;"+(e?"html=1;":"")),d.fireEvent(new mxEventObject("textInserted","cells",[k])),k.value=
a,d.updateCellSize(k),/\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(k.value)&&d.setLinkForCell(k,k.value),k.geometry.width+=d.gridSize,k.geometry.height+=d.gridSize}finally{d.getModel().endUpdate()}return[k]}}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 d=a.indexOf(";");0<d&&(a=a.substring(0,d)+a.substring(a.indexOf(",",d+1)))}return a};EditorUi.prototype.isRemoteFileFormat=function(a,b){return/(\"contentType\":\s*\"application\/gliffy\+json\")/.test(a)};EditorUi.prototype.importFile=function(a,b,c,e,k,h,m,l,q,t,p){t=null!=t?t:!0;var d=!1,f=null,g=mxUtils.bind(this,function(a){var d=null;null!=a&&"<mxlibrary"==a.substring(0,
-10)?this.loadLibrary(new LocalLibrary(this,a,m)):d=this.importXml(a,c,e,t);null!=l&&l(d)});"image"==b.substring(0,5)?(q=!1,"image/png"==b.substring(0,9)&&(b=p?null:this.extractGraphModelFromPng(a),null!=b&&0<b.length&&(f=this.importXml(b,c,e,t),q=!0)),q||(f=this.editor.graph,b=a.indexOf(";"),0<b&&(a=a.substring(0,b)+a.substring(a.indexOf(",",b+1))),t&&f.isGridEnabled()&&(c=f.snap(c),e=f.snap(e)),f=[f.insertVertex(null,null,"",c,e,k,h,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+
-a+";")])):/(\.*<graphml )/.test(a)&&"undefined"!==typeof window.mxGraphMlCodec?(new mxGraphMlCodec).decode(a,mxUtils.bind(this,function(a){a=this.importXml(a,c,e,t);null!=l&&l(a)})):null!=q&&null!=m&&(/(\.vsdx?)($|\?)/i.test(m)||/(\.vssx)($|\?)/i.test(m))?(d=!0,this.importVisio(q,g)):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(a,m)?(d=!0,this.parseFile(null!=q?q:new Blob([a],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&(200<=a.status&&
-299>=a.status?g(a.responseText):null!=l&&l(null))}),m)):/(\.vsd)($|\?)/i.test(m)||(f=this.insertTextAt(this.validateFileData(a),c,e,!0,null,t));d||null==l||l(f);return f};EditorUi.prototype.base64Encode=function(a){for(var b="",d=0,c=a.length,e,h,m;d<c;){e=a.charCodeAt(d++)&255;if(d==c){b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4);b+="==";break}h=a.charCodeAt(d++);if(d==c){b+=
-"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(h&240)>>4);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((h&15)<<2);b+="=";break}m=a.charCodeAt(d++);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(h&240)>>4);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((h&
-15)<<2|(m&192)>>6);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(m&63)}return b};EditorUi.prototype.importFiles=function(a,b,c,e,k,h,m,l,q,t,p,v){b=null!=b?b:0;c=null!=c?c:0;e=null!=e?e:this.maxImageSize;t=null!=t?t:this.maxImageBytes;var d=null!=b&&null!=c,f=!0,g=!1;if(!mxClient.IS_CHROMEAPP&&null!=a)for(var n=p||this.resampleThreshold,r=0;r<a.length;r++)if("image/"==a[r].type.substring(0,6)&&a[r].size>n){g=!0;break}var u=mxUtils.bind(this,function(){var g=this.editor.graph,
-n=g.gridSize;k=null!=k?k:mxUtils.bind(this,function(a,b,c,e,f,g,h,m,k){return null!=a&&"<mxlibrary"==a.substring(0,10)?(this.spinner.stop(),this.loadLibrary(new LocalLibrary(this,a,h)),null):this.importFile(a,b,c,e,f,g,h,m,k,d,v)});h=null!=h?h:mxUtils.bind(this,function(a){g.setSelectionCells(a)});if(this.spinner.spin(document.body,mxResources.get("loading")))for(var q=a.length,r=q,u=[],x=mxUtils.bind(this,function(a,b){u[a]=b;if(0==--r){this.spinner.stop();if(null!=l)l(u);else{var d=[];g.getModel().beginUpdate();
-try{for(var c=0;c<u.length;c++){var e=u[c]();null!=e&&(d=d.concat(e))}}finally{g.getModel().endUpdate()}}h(d)}}),w=0;w<q;w++)mxUtils.bind(this,function(d){var h=a[d],l=new FileReader;l.onload=mxUtils.bind(this,function(a){if(null==m||m(h))if("image/"==h.type.substring(0,6))if("image/svg"==h.type.substring(0,9)){var l=a.target.result,q=l.indexOf(","),r=decodeURIComponent(escape(atob(l.substring(q+1)))),u=mxUtils.parseXml(r),r=u.getElementsByTagName("svg");if(0<r.length){var r=r[0],z=v?null:r.getAttribute("content");
-null!=z&&"<"!=z.charAt(0)&&"%"!=z.charAt(0)&&(z=unescape(window.atob?atob(z):Base64.decode(z,!0)));null!=z&&"%"==z.charAt(0)&&(z=decodeURIComponent(z));null==z||"<mxfile "!==z.substring(0,8)&&"<mxGraphModel "!==z.substring(0,14)?x(d,mxUtils.bind(this,function(){try{if(l.substring(0,q+1),null!=u){var a=u.getElementsByTagName("svg");if(0<a.length){var m=a[0],t=parseFloat(m.getAttribute("width")),r=parseFloat(m.getAttribute("height")),p=m.getAttribute("viewBox");if(null==p||0==p.length)m.setAttribute("viewBox",
-"0 0 "+t+" "+r);else if(isNaN(t)||isNaN(r)){var z=p.split(" ");3<z.length&&(t=parseFloat(z[2]),r=parseFloat(z[3]))}l=this.createSvgDataUri(mxUtils.getXml(m));var x=Math.min(1,Math.min(e/Math.max(1,t)),e/Math.max(1,r)),v=k(l,h.type,b+d*n,c+d*n,Math.max(1,Math.round(t*x)),Math.max(1,Math.round(r*x)),h.name,f);if(isNaN(t)||isNaN(r)){var E=new Image;E.onload=mxUtils.bind(this,function(){t=Math.max(1,E.width);r=Math.max(1,E.height);v[0].geometry.width=t;v[0].geometry.height=r;m.setAttribute("viewBox",
-"0 0 "+t+" "+r);l=this.createSvgDataUri(mxUtils.getXml(m));var a=l.indexOf(";");0<a&&(l=l.substring(0,a)+l.substring(l.indexOf(",",a+1)));g.setCellStyles("image",l,[v[0]])});E.src=this.createSvgDataUri(mxUtils.getXml(m))}return v}}}catch(ea){}return null})):x(d,mxUtils.bind(this,function(){return k(z,"text/xml",b+d*n,c+d*n,0,0,h.name)}))}}else{r=!1;if("image/png"==h.type){var E=v?null:this.extractGraphModelFromPng(a.target.result);if(null!=E&&0<E.length){var w=new Image;w.src=a.target.result;x(d,
-mxUtils.bind(this,function(){return k(E,"text/xml",b+d*n,c+d*n,w.width,w.height,h.name)}));r=!0}}r||(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(g){this.resizeImage(g,a.target.result,mxUtils.bind(this,function(g,
-m,l){x(d,mxUtils.bind(this,function(){if(null!=g&&g.length<t){var q=f&&this.isResampleImage(a.target.result,p)?Math.min(1,Math.min(e/m,e/l)):1;return k(g,h.type,b+d*n,c+d*n,Math.round(m*q),Math.round(l*q),h.name)}this.handleError({message:mxResources.get("imageTooBig")});return null}))}),f,e,p)}),mxUtils.bind(this,function(){this.handleError({message:mxResources.get("invalidOrMissingFile")})})))}else k(a.target.result,h.type,b+d*n,c+d*n,240,160,h.name,function(a){x(d,function(){return a})})});/(\.vsdx?)($|\?)/i.test(h.name)||
-/(\.vssx)($|\?)/i.test(h.name)?k(null,h.type,b+d*n,c+d*n,240,160,h.name,function(a){x(d,function(){return a})},h):"image"==h.type.substring(0,5)?l.readAsDataURL(h):l.readAsText(h)})(w)});g?this.confirmImageResize(function(a){f=a;u()},q):u()};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,e=function(c,e){if(c||b)mxSettings.setResizeImages(c?
+" kB; MB; GB; TB;PB;EB;ZB;YB".split(";")[d]};EditorUi.prototype.convertDataUri=function(a){if("data:"==a.substring(0,5)){var d=a.indexOf(";");0<d&&(a=a.substring(0,d)+a.substring(a.indexOf(",",d+1)))}return a};EditorUi.prototype.isRemoteFileFormat=function(a,b){return/(\"contentType\":\s*\"application\/gliffy\+json\")/.test(a)};EditorUi.prototype.importFile=function(a,b,c,e,k,h,n,l,q,t,p){t=null!=t?t:!0;var d=!1,f=null,g=mxUtils.bind(this,function(a){var d=null;null!=a&&"<mxlibrary"==a.substring(0,
+10)?this.loadLibrary(new LocalLibrary(this,a,n)):d=this.importXml(a,c,e,t);null!=l&&l(d)});"image"==b.substring(0,5)?(q=!1,"image/png"==b.substring(0,9)&&(b=p?null:this.extractGraphModelFromPng(a),null!=b&&0<b.length&&(f=this.importXml(b,c,e,t),q=!0)),q||(f=this.editor.graph,b=a.indexOf(";"),0<b&&(a=a.substring(0,b)+a.substring(a.indexOf(",",b+1))),t&&f.isGridEnabled()&&(c=f.snap(c),e=f.snap(e)),f=[f.insertVertex(null,null,"",c,e,k,h,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+
+a+";")])):/(\.*<graphml )/.test(a)&&"undefined"!==typeof window.mxGraphMlCodec?(new mxGraphMlCodec).decode(a,mxUtils.bind(this,function(a){a=this.importXml(a,c,e,t);null!=l&&l(a)})):null!=q&&null!=n&&(/(\.vsdx?)($|\?)/i.test(n)||/(\.vssx)($|\?)/i.test(n))?(d=!0,this.importVisio(q,g)):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(a,n)?(d=!0,this.parseFile(null!=q?q:new Blob([a],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&(200<=a.status&&
+299>=a.status?g(a.responseText):null!=l&&l(null))}),n)):/(\.vsd)($|\?)/i.test(n)||(f=this.insertTextAt(this.validateFileData(a),c,e,!0,null,t));d||null==l||l(f);return f};EditorUi.prototype.base64Encode=function(a){for(var d="",b=0,c=a.length,e,h,k;b<c;){e=a.charCodeAt(b++)&255;if(b==c){d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4);d+="==";break}h=a.charCodeAt(b++);if(b==c){d+=
+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(h&240)>>4);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((h&15)<<2);d+="=";break}k=a.charCodeAt(b++);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(h&240)>>4);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((h&
+15)<<2|(k&192)>>6);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(k&63)}return d};EditorUi.prototype.importFiles=function(a,b,c,e,k,h,n,l,q,t,p,v){b=null!=b?b:0;c=null!=c?c:0;e=null!=e?e:this.maxImageSize;t=null!=t?t:this.maxImageBytes;var d=null!=b&&null!=c,f=!0,g=!1;if(!mxClient.IS_CHROMEAPP&&null!=a)for(var m=p||this.resampleThreshold,r=0;r<a.length;r++)if("image/"==a[r].type.substring(0,6)&&a[r].size>m){g=!0;break}var u=mxUtils.bind(this,function(){var g=this.editor.graph,
+m=g.gridSize;k=null!=k?k:mxUtils.bind(this,function(a,b,c,e,f,g,h,k,n){return null!=a&&"<mxlibrary"==a.substring(0,10)?(this.spinner.stop(),this.loadLibrary(new LocalLibrary(this,a,h)),null):this.importFile(a,b,c,e,f,g,h,k,n,d,v)});h=null!=h?h:mxUtils.bind(this,function(a){g.setSelectionCells(a)});if(this.spinner.spin(document.body,mxResources.get("loading")))for(var q=a.length,r=q,u=[],x=mxUtils.bind(this,function(a,d){u[a]=d;if(0==--r){this.spinner.stop();if(null!=l)l(u);else{var b=[];g.getModel().beginUpdate();
+try{for(var c=0;c<u.length;c++){var e=u[c]();null!=e&&(b=b.concat(e))}}finally{g.getModel().endUpdate()}}h(b)}}),w=0;w<q;w++)mxUtils.bind(this,function(d){var h=a[d],l=new FileReader;l.onload=mxUtils.bind(this,function(a){if(null==n||n(h))if("image/"==h.type.substring(0,6))if("image/svg"==h.type.substring(0,9)){var l=a.target.result,q=l.indexOf(","),r=decodeURIComponent(escape(atob(l.substring(q+1)))),u=mxUtils.parseXml(r),r=u.getElementsByTagName("svg");if(0<r.length){var r=r[0],z=v?null:r.getAttribute("content");
+null!=z&&"<"!=z.charAt(0)&&"%"!=z.charAt(0)&&(z=unescape(window.atob?atob(z):Base64.decode(z,!0)));null!=z&&"%"==z.charAt(0)&&(z=decodeURIComponent(z));null==z||"<mxfile "!==z.substring(0,8)&&"<mxGraphModel "!==z.substring(0,14)?x(d,mxUtils.bind(this,function(){try{if(l.substring(0,q+1),null!=u){var a=u.getElementsByTagName("svg");if(0<a.length){var n=a[0],t=parseFloat(n.getAttribute("width")),r=parseFloat(n.getAttribute("height")),p=n.getAttribute("viewBox");if(null==p||0==p.length)n.setAttribute("viewBox",
+"0 0 "+t+" "+r);else if(isNaN(t)||isNaN(r)){var z=p.split(" ");3<z.length&&(t=parseFloat(z[2]),r=parseFloat(z[3]))}l=this.createSvgDataUri(mxUtils.getXml(n));var x=Math.min(1,Math.min(e/Math.max(1,t)),e/Math.max(1,r)),v=k(l,h.type,b+d*m,c+d*m,Math.max(1,Math.round(t*x)),Math.max(1,Math.round(r*x)),h.name,f);if(isNaN(t)||isNaN(r)){var E=new Image;E.onload=mxUtils.bind(this,function(){t=Math.max(1,E.width);r=Math.max(1,E.height);v[0].geometry.width=t;v[0].geometry.height=r;n.setAttribute("viewBox",
+"0 0 "+t+" "+r);l=this.createSvgDataUri(mxUtils.getXml(n));var a=l.indexOf(";");0<a&&(l=l.substring(0,a)+l.substring(l.indexOf(",",a+1)));g.setCellStyles("image",l,[v[0]])});E.src=this.createSvgDataUri(mxUtils.getXml(n))}return v}}}catch(ea){}return null})):x(d,mxUtils.bind(this,function(){return k(z,"text/xml",b+d*m,c+d*m,0,0,h.name)}))}}else{r=!1;if("image/png"==h.type){var E=v?null:this.extractGraphModelFromPng(a.target.result);if(null!=E&&0<E.length){var w=new Image;w.src=a.target.result;x(d,
+mxUtils.bind(this,function(){return k(E,"text/xml",b+d*m,c+d*m,w.width,w.height,h.name)}));r=!0}}r||(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(g){this.resizeImage(g,a.target.result,mxUtils.bind(this,function(g,
+n,l){x(d,mxUtils.bind(this,function(){if(null!=g&&g.length<t){var q=f&&this.isResampleImage(a.target.result,p)?Math.min(1,Math.min(e/n,e/l)):1;return k(g,h.type,b+d*m,c+d*m,Math.round(n*q),Math.round(l*q),h.name)}this.handleError({message:mxResources.get("imageTooBig")});return null}))}),f,e,p)}),mxUtils.bind(this,function(){this.handleError({message:mxResources.get("invalidOrMissingFile")})})))}else k(a.target.result,h.type,b+d*m,c+d*m,240,160,h.name,function(a){x(d,function(){return a})})});/(\.vsdx?)($|\?)/i.test(h.name)||
+/(\.vssx)($|\?)/i.test(h.name)?k(null,h.type,b+d*m,c+d*m,240,160,h.name,function(a){x(d,function(){return a})},h):"image"==h.type.substring(0,5)?l.readAsDataURL(h):l.readAsText(h)})(w)});g?this.confirmImageResize(function(a){f=a;u()},q):u()};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,e=function(c,e){if(c||b)mxSettings.setResizeImages(c?
e:null),mxSettings.save();d();a(e)};null==c||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,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 e=new XMLHttpRequest;e.open("POST",OPEN_URL);e.onreadystatechange=function(){b(e)};e.send(d)};EditorUi.prototype.isResampleImage=function(a,b){b=null!=b?b:this.resampleThreshold;return a.length>b};EditorUi.prototype.resizeImage=function(a,b,c,e,k,h){k=null!=k?k:this.maxImageSize;var d=Math.max(1,a.width),f=Math.max(1,a.height);if(e&&this.isResampleImage(b,h))try{var g=Math.max(d/k,f/k);if(1<g){var l=Math.round(d/
-g),n=Math.round(f/g),q=document.createElement("canvas");q.width=l;q.height=n;q.getContext("2d").drawImage(a,0,0,l,n);var r=q.toDataURL();if(r.length<b.length){var p=document.createElement("canvas");p.width=l;p.height=n;var v=p.toDataURL();r!==v&&(b=r,d=l,f=n)}}}catch(y){}c(b,d,f)};EditorUi.prototype.crcTable=[];for(var e=0;256>e;e++)for(var c=e,k=0;8>k;k++)c=1==(c&1)?3988292384^c>>>1:c>>>1,EditorUi.prototype.crcTable[e]=c;EditorUi.prototype.updateCRC=function(a,b,c,e){for(var d=0;d<e;d++)a=EditorUi.prototype.crcTable[(a^
-b[c+d])&255]^a>>>8;return a};EditorUi.prototype.writeGraphModelToPng=function(a,b,c,e,k){function d(a,b){var d=l;l+=b;return a.substring(d,l)}function f(a){a=d(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}function g(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 l=0;if(d(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=k&&k();else if(d(a,
-4),"IHDR"!=d(a,4))null!=k&&k();else{d(a,17);k=a.substring(0,l);do{var n=f(a);if("IDAT"==d(a,4)){k=a.substring(0,l-8);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);k+=g(c.length)+b+c+g(e^4294967295);k+=a.substring(l-8,a.length);break}k+=a.substring(l-8,l-4+n);d(a,n);d(a,4)}while(n);return"data:image/png;base64,"+(window.btoa?btoa(k):Base64.encode(k,!0))}};EditorUi.prototype.extractGraphModelFromPng=function(a){var b=
-null;try{var d=a.substring(a.indexOf(",")+1),c=window.atob&&!mxClient.IS_SF?atob(d):Base64.decode(d,!0);EditorUi.parsePng(c,mxUtils.bind(this,function(a,d,e){a=c.substring(a+8,a+8+e);"zTXt"==d?(e=a.indexOf(String.fromCharCode(0)),"mxGraphModel"==a.substring(0,e)&&(a=this.editor.graph.bytesToString(pako.inflateRaw(a.substring(e+2))).replace(/\+/g," "),null!=a&&0<a.length&&(b=a))):"tEXt"==d&&(a=a.split(String.fromCharCode(0)),1<a.length&&"mxGraphModel"==a[0]&&(b=a[1]));if(null!=b||"IDAT"==d)return!0}))}catch(r){}null!=
-b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b));null!=b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b));return b};EditorUi.prototype.loadImage=function(a,b,c){var d=new Image;d.onload=function(){b(d)};null!=c&&(d.onerror=c);d.src=a};var l=EditorUi.prototype.init;EditorUi.prototype.init=function(){function a(a){var d=a.indexOf(",");0<d&&(a=b.getPageById(a.substring(d+1)))&&b.selectPage(a)}"undefined"!==typeof window.mxSettings&&(this.formatWidth=mxSettings.getFormatWidth());var b=this,c=this.editor.graph;
-c.addListener("pageLinkClicked",function(b,d){a(d.getProperty("href"))});this.isOffline()||"undefined"===typeof window.EditDataDialog||(EditDataDialog.placeholderHelpLink="https://desk.draw.io/support/solutions/articles/16000051979");var e=b.editor.getEditBlankUrl;this.editor.getEditBlankUrl=function(a){a=null!=a?a:"";if(null!=b.pages&&null!=b.currentPage)for(var d=0;d<b.pages.length;d++)if(b.pages[d]==b.currentPage){0<d&&(a+=(0<a.length?"&":"?")+"page="+d);break}"1"==urlParams.dev&&(a+=(0<a.length?
-"&":"?")+"dev=1&drawdev=1");return e.apply(this,arguments)};var k=c.addClickHandler;c.addClickHandler=function(b,d,e){var f=d;d=function(b,d){if(null==d){var e=mxEvent.getSource(b);"a"==e.nodeName.toLowerCase()&&(d=e.getAttribute("href"))}null==d||!c.isPageLink(d)||!mxEvent.isTouchEvent(b)&&mxEvent.isPopupTrigger(b)||(a(d),mxEvent.consume(b));null!=f&&f(b,d)};k.call(this,b,d,e)};l.apply(this,arguments);mxClient.IS_SVG&&this.editor.graph.addSvgShadow(c.view.canvas.ownerSVGElement,null,!0);b.actions.get("print").funct=
-function(){b.showDialog((new PrintDialog(b)).container,360,null!=b.pages&&1<b.pages.length?420:360,!0,!0)};this.defaultFilename=mxResources.get("untitledDiagram");var h=c.getGlobalVariable;c.getGlobalVariable=function(a){return"page"==a&&null!=b.currentPage?b.currentPage.getName():"pagenumber"==a?null!=b.currentPage&&null!=b.pages?mxUtils.indexOf(b.pages,b.currentPage)+1:1:h.apply(this,arguments)};var m=c.createLinkForHint;c.createLinkForHint=function(d,e){var f=c.isPageLink(d);if(f){var g=d.indexOf(",");
-0<g&&(g=b.getPageById(d.substring(g+1)),e=null!=g?g.getName():mxResources.get("pageNotFound"))}g=m.call(this,d,e);f&&mxEvent.addListener(g,"click",function(b){a(d);mxEvent.consume(b)});return g};var q=c.labelLinkClicked;c.labelLinkClicked=function(b,d,e){var f=d.getAttribute("href");if(null==f||!c.isPageLink(f)||!mxEvent.isTouchEvent(e)&&mxEvent.isPopupTrigger(e))q.apply(this,arguments);else{if(!c.isEnabled()||null!=b&&c.isCellLocked(b.cell))a(f),c.getRubberband().reset();mxEvent.consume(e)}};this.editor.getOrCreateFilename=
-function(){var a=b.defaultFilename,d=b.getCurrentFile();null!=d&&(a=null!=d.getTitle()?d.getTitle():a);return a};var p=this.actions.get("print");p.setEnabled(!mxClient.IS_IOS||!navigator.standalone);p.visible=p.isEnabled();if(!this.editor.chromeless||this.editor.editable){var t=function(){window.setTimeout(function(){x.innerHTML="&nbsp;";x.focus();document.execCommand("selectAll",!1,null)},0)};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_IE||c.container.addEventListener("paste",mxUtils.bind(this,function(a){var b=this.editor.graph;if(!mxEvent.isConsumed(a))try{for(var d=a.clipboardData||a.originalEvent.clipboardData,c=!1,e=0;e<d.types.length;e++)if("text/"===d.types[e].substring(0,5)){c=!0;break}if(!c){var f=
-d.items;for(index in f){var g=f[index];if("file"===g.kind){if(b.isEditing())this.importFiles([g.getAsFile()],0,0,this.maxImageSize,function(a,d,c,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]()});else{var h=this.editor.graph.getInsertPoint();this.importFiles([g.getAsFile()],h.x,h.y,this.maxImageSize);mxEvent.consume(a)}break}}}}catch(Q){}}),!1);var x=document.createElement("div");x.style.position="absolute";
-x.style.whiteSpace="nowrap";x.style.overflow="hidden";x.style.display="block";x.contentEditable=!0;mxUtils.setOpacity(x,0);x.style.width="1px";x.style.height="1px";x.innerHTML="&nbsp;";var v=!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 b=mxEvent.getSource(a);null==c.container||!c.isEnabled()||c.isMouseDown||c.isEditing()||null!=this.dialog||"INPUT"==
-b.nodeName||"TEXTAREA"==b.nodeName||!(224==a.keyCode||!mxClient.IS_MAC&&17==a.keyCode||mxClient.IS_MAC&&91==a.keyCode)||v||(x.style.left=c.container.scrollLeft+10+"px",x.style.top=c.container.scrollTop+10+"px",c.container.appendChild(x),v=!0,mxClient.IS_QUIRKS?window.setTimeout(function(){x.focus();document.execCommand("selectAll",!1,null)},0):(x.focus(),document.execCommand("selectAll",!1,null)))}));mxEvent.addListener(document,"keyup",mxUtils.bind(this,function(a){var b=a.keyCode;window.setTimeout(mxUtils.bind(this,
-function(){!v||224!=b&&17!=b&&91!=b||(v=!1,c.isEditing()||null!=this.dialog||null==c.container||c.container.focus(),x.parentNode.removeChild(x))}),0)}));mxEvent.addListener(x,"copy",mxUtils.bind(this,function(a){c.isEnabled()&&(mxClipboard.copy(c),this.copyCells(x),t())}));mxEvent.addListener(x,"cut",mxUtils.bind(this,function(a){c.isEnabled()&&(this.copyCells(x,!0),t())}));mxEvent.addListener(x,"paste",mxUtils.bind(this,function(a){c.isEnabled()&&!c.isCellLocked(c.getDefaultParent())&&(x.innerHTML=
-"&nbsp;",x.focus(),window.setTimeout(mxUtils.bind(this,function(){this.pasteCells(a,x);x.innerHTML="&nbsp;"}),0))}),!0);var D=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==x?!0:D.apply(this,arguments)}}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,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 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 e=this.maxImageSize,e=Math.min(1,
-Math.min(e/Math.max(1,c)),e/Math.max(1,a));b.insertImage(decodeURIComponent(d),c*e,a*e)})):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()})))}));if("1"==urlParams.ruler&&"undefined"!==
-typeof mxRuler){p=document.createElement("div");p.style.position="absolute";p.style.top="95px";p.style.left="250px";p.style.width="2000px";p.style.height="30px";p.style.background="whiteSmoke";document.body.appendChild(p);var G=document.createElement("div");G.style.position="absolute";G.style.top="125px";G.style.left="220px";G.style.width="30px";G.style.height="1000px";G.style.background="whiteSmoke";document.body.appendChild(G);var B=document.createElement("div");B.style.position="absolute";B.style.top=
-"95px";B.style.left="220px";B.style.width="30px";B.style.height="30px";B.style.background="whiteSmoke";document.body.appendChild(B);this.vRuler=new mxRuler(this.editor.graph,G,!0);this.hRuler=new mxRuler(this.editor.graph,p,!1)}if("1"==urlParams.test){p=document.getElementById("geFooter");null!=p&&(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)})),p.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)}}p=document.getElementById("geInfo");null!=p&&p.parentNode.removeChild(p);if(Graph.fileSupport&&(!this.editor.chromeless||this.editor.editable)){var C=null;mxEvent.addListener(c.container,"dragleave",function(a){c.isEnabled()&&(null!=C&&(C.parentNode.removeChild(C),
-C=null),a.stopPropagation(),a.preventDefault())});mxEvent.addListener(c.container,"dragover",mxUtils.bind(this,function(a){null==C&&(!mxClient.IS_IE||10<document.documentMode)&&(C=this.highlightElement(c.container));null!=this.sidebar&&this.sidebar.hideTooltip();a.stopPropagation();a.preventDefault()}));mxEvent.addListener(c.container,"drop",mxUtils.bind(this,function(a){null!=C&&(C.parentNode.removeChild(C),C=null);if(c.isEnabled()){var b=mxUtils.convertPoint(c.container,mxEvent.getClientX(a),mxEvent.getClientY(a)),
-d=c.view.translate,e=c.view.scale,f=b.x/e-d.x,g=b.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 h=0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")?a.dataTransfer.getData("text/uri-list"):null,b=this.extractGraphModelFromEvent(a,null!=this.pages);if(null!=b)c.setSelectionCells(this.importXml(b,f,g,!0));else if(0<=mxUtils.indexOf(a.dataTransfer.types,
-"text/html")){var m=a.dataTransfer.getData("text/html"),b=document.createElement("div");b.innerHTML=m;var k=null,d=b.getElementsByTagName("img");null!=d&&1==d.length?(m=d[0].getAttribute("src"),/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(m)||(k=!0)):(b=b.getElementsByTagName("a"),null!=b&&1==b.length&&(m=b[0].getAttribute("href")));var l=!0,n=mxUtils.bind(this,function(){c.setSelectionCells(this.insertTextAt(m,f,g,!0,k,null,l))});k&&m.length>this.resampleThreshold?this.confirmImageResize(function(a){l=
-a;n()},mxEvent.isControlDown(a)):n()}else null!=h&&/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(h)?this.loadImage(decodeURIComponent(h),mxUtils.bind(this,function(a){var b=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,b)),d/Math.max(1,a));c.setSelectionCell(c.insertVertex(null,null,"",f,g,b*d,a*d,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+h+";"))}),mxUtils.bind(this,function(a){c.setSelectionCells(this.insertTextAt(h,
-f,g,!0))})):0<=mxUtils.indexOf(a.dataTransfer.types,"text/plain")&&c.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.isSettingsEnabled=function(){return"undefined"!==typeof window.mxSettings&&(isLocalStorage||mxClient.IS_CHROMEAPP)};EditorUi.prototype.installSettings=function(){if(this.isSettingsEnabled()){ColorDialog.recentColors=
-mxSettings.getRecentColors();this.editor.graph.currentEdgeStyle=mxSettings.getCurrentEdgeStyle();this.editor.graph.currentVertexStyle=mxSettings.getCurrentVertexStyle();this.fireEvent(new mxEventObject("styleChanged","keys",[],"values",[],"cells",[]));this.addListener("styleChanged",mxUtils.bind(this,function(a,b){mxSettings.setCurrentEdgeStyle(this.editor.graph.currentEdgeStyle);mxSettings.setCurrentVertexStyle(this.editor.graph.currentVertexStyle);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();this.addListener("gridColorChanged",
-mxUtils.bind(this,function(a,b){mxSettings.setGridColor(this.editor.graph.view.gridColor);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 d=this.editor.graph;if(d.isSelectionEmpty())a.innerHTML="";else{var c=mxUtils.sortCells(d.model.getTopmostCells(d.getSelectionCells())),e=mxUtils.getXml(this.editor.graph.encodeCells(c));mxUtils.setTextContent(a,encodeURIComponent(e));b?(d.removeCells(c,
-!1),d.lastPasteXml=null):(d.lastPasteXml=e,d.pasteCounter=0);a.focus();document.execCommand("selectAll",!1,null)}};EditorUi.prototype.pasteCells=function(a,b){if(!mxEvent.isConsumed(a)){var d=b.getElementsByTagName("span");if(null!=d&&0<d.length&&"application/vnd.lucid.chart.objects"===d[0].getAttribute("data-lucid-type")){var c=d[0].getAttribute("data-lucid-content");null!=c&&0<c.length&&(this.importLucidChart(c,0,0),mxEvent.consume(a))}else{var c=this.editor.graph,e=mxUtils.trim(mxClient.IS_QUIRKS||
-8==document.documentMode?mxUtils.getTextContent(b):b.textContent),f=!1;try{var m=e.lastIndexOf("%3E");0<=m&&m<e.length-3&&(e=e.substring(0,m+3))}catch(w){}try{var d=b.getElementsByTagName("span"),k=null!=d&&0<d.length?mxUtils.trim(decodeURIComponent(d[0].textContent)):decodeURIComponent(e);this.isCompatibleString(k)&&(f=!0,e=k)}catch(w){}c.lastPasteXml==e?c.pasteCounter++:(c.lastPasteXml=e,c.pasteCounter=0);d=c.pasteCounter*c.gridSize;if(null!=e&&0<e.length&&(f||this.isCompatibleString(e)?c.setSelectionCells(this.importXml(e,
-d,d)):(f=c.getInsertPoint(),c.isMouseInsertPoint()&&(d=0,c.lastPasteXml==e&&0<c.pasteCounter&&c.pasteCounter--),c.setSelectionCells(this.insertTextAt(e,f.x+d,f.y+d,!0))),!c.isSelectionEmpty())){c.scrollCellToVisible(c.getSelectionCell());null!=this.hoverIcons&&this.hoverIcons.update(c.view.getState(c.getSelectionCell()));try{mxEvent.consume(a)}catch(w){}}}}};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?"https://www.draw.io/":"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 h=document.documentElement;c=(e.clientWidth||h.clientWidth)-3;e=Math.max(e.clientHeight||0,h.clientHeight)-3}else b=a.offsetTop,d=a.offsetLeft,c=a.clientWidth,e=a.clientHeight;h=document.createElement("div");h.style.zIndex=mxPopupMenu.prototype.zIndex+2;h.style.border="3px dotted rgb(254, 137, 12)";h.style.pointerEvents="none";h.style.position="absolute";h.style.top=b+"px";h.style.left=d+"px";h.style.width=
-Math.max(0,c-3)+"px";h.style.height=Math.max(0,e-3)+"px";null!=a&&a.parentNode==this.editor.graph.container?this.editor.graph.container.appendChild(h):document.body.appendChild(h);return h};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){var c=d.target.result,e=a.name;if(null!=e&&0<e.length){!this.useCanvasForExport&&/(\.png)$/i.test(e)&&(e=e.substring(0,e.length-4)+".xml");var f=mxUtils.bind(this,function(a){e=0<=e.lastIndexOf(".")?e.substring(0,e.lastIndexOf("."))+".xml":e+".xml";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(x){this.handleError(x,mxResources.get("errorLoadingFile"))}}else this.openLocalFile(a,e,b)});if(/(\.vsdx?)($|\?)/i.test(e)||/(\.vssx)($|\?)/i.test(e))this.importVisio(a,mxUtils.bind(this,function(a){this.spinner.stop();f(a)}));else if(Graph.fileSupport&&!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(c,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('{"state":"{\\"Properties\\":'==c.substring(0,26))/(\.json)$/i.test(e)&&(e=e.substring(0,e.length-5)+".xml"),this.openLocalFile(this.emptyDiagramXml,e,b),this.importLucidChart(c,0,0,null,mxUtils.bind(this,function(){this.editor.undoManager.clear();this.spinner.stop()}));
-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(t){this.handleError(t,mxResources.get("errorLoadingFile"))}}else"image/png"==a.type.substring(0,9)&&(c=this.extractGraphModelFromPng(c)),this.spinner.stop(),this.openLocalFile(c,e,b)}});d.onerror=mxUtils.bind(this,function(a){this.spinner.stop();
-this.handleError(a);window.openFile=null});"image"===a.type.substring(0,5)&&"image/svg"!==a.type.substring(0,9)?d.readAsDataURL(a):d.readAsText(a)})(a[d])};EditorUi.prototype.openLocalFile=function(a,b,c){var d=this.getCurrentFile(),e=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))});null!=a&&0<a.length&&(null==d||!d.isModified()&&(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)?e():(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)&&null!=d&&d.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(){this.confirm(mxResources.get("allChangesLost"),
-null,e,mxResources.get("cancel"),mxResources.get("discardChanges"))}))))};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,e=c.getCellStyle(a);d(mxStencilRegistry.getBasenameForStencil(e[mxConstants.STYLE_SHAPE]));c.model.isEdge(a)&&(d(mxMarker.getPackageForType(e[mxConstants.STYLE_STARTARROW])),d(mxMarker.getPackageForType(e[mxConstants.STYLE_ENDARROW])));for(var e=c.model.getChildCount(a),f=0;f<e;f++)this.addBasenamesForCell(c.model.getChildAt(a,f),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.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,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,scale:b.view.scale,page:b.view.getBackgroundPageBounds(),bounds:b.getGraphBounds()}};EditorUi.prototype.installMessageHandler=function(a){var b=null,d=!1,c=!1,e=null,h=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,h);mxEvent.addListener(window,"message",mxUtils.bind(this,function(f){function g(a){if(null!=a&&"function"===typeof a.charAt&&"<"!=a.charAt(0))try{"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=this.editor.graph.decompress(a)))}catch(J){}return a}if(f.source==(window.opener||window.parent)){var h=f.data;if("json"==urlParams.proto){try{h=JSON.parse(h)}catch(E){h=null}if(null==h)return;if("dialog"==h.action){this.showError(null!=h.titleKey?mxResources.get(h.titleKey):h.title,null!=h.messageKey?mxResources.get(h.messageKey):h.message,null!=h.buttonKey?mxResources.get(h.buttonKey):h.button);null!=h.modified&&
-(this.editor.modified=h.modified);return}if("prompt"==h.action){this.spinner.stop();var m=new FilenameDialog(this,h.defaultValue||"",null!=h.okKey?mxResources.get(h.okKey):null,function(a){null!=a&&k.postMessage(JSON.stringify({event:"prompt",value:a,message:h}),"*")},null!=h.titleKey?mxResources.get(h.titleKey):h.title);this.showDialog(m.container,300,80,!0,!1);m.init();return}if("draft"==h.action){m=null;m="data:image/png;base64,"==h.xml.substring(0,22)?this.extractGraphModelFromPng(h.xml):g(h.xml);
-this.spinner.stop();m=new DraftDialog(this,mxResources.get("draftFound",[h.name||this.defaultFilename]),m,mxUtils.bind(this,function(){this.hideDialog();k.postMessage(JSON.stringify({event:"draft",result:"edit",message:h}),"*")}),mxUtils.bind(this,function(){this.hideDialog();k.postMessage(JSON.stringify({event:"draft",result:"discard",message:h}),"*")}),h.editKey?mxResources.get(h.editKey):null,h.discardKey?mxResources.get(h.discardKey):null,h.ignore?mxUtils.bind(this,function(){this.hideDialog();
-k.postMessage(JSON.stringify({event:"draft",result:"ignore",message:h}),"*")}):null);this.showDialog(m.container,640,480,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));try{m.init()}catch(E){k.postMessage(JSON.stringify({event:"draft",error:E.toString(),message:h}),"*")}return}if("template"==h.action){this.spinner.stop();var m=1==h.enableRecent,l=1==h.enableSearch,m=new NewDialog(this,!1,null!=h.callback,mxUtils.bind(this,function(b,d){b=b||this.emptyDiagramXml;null!=h.callback?
-k.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,m?mxUtils.bind(this,function(a){this.recentReadyCallback=a;k.postMessage(JSON.stringify({event:"recentDocs"}),"*")}):null,l?mxUtils.bind(this,function(a,b){this.searchReadyCallback=b;k.postMessage(JSON.stringify({event:"searchDocs",searchStr:a}),"*")}):null,function(a,b,d){k.postMessage(JSON.stringify({event:"template",
-docUrl:a,info:b,name:d}),"*")});this.showDialog(m.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));m.init();return}if("searchDocsList"==h.action)this.searchReadyCallback(h.list,h.errorMsg);else if("recentDocsList"==h.action)this.recentReadyCallback(h.list,h.errorMsg);else{if("status"==h.action){null!=h.messageKey?this.editor.setStatus(mxUtils.htmlEntities(mxResources.get(h.messageKey))):null!=h.message&&this.editor.setStatus(mxUtils.htmlEntities(h.message));
-null!=h.modified&&(this.editor.modified=h.modified);return}if("spinner"==h.action){var n=null!=h.messageKey?mxResources.get(h.messageKey):h.message;null==h.show||h.show?this.spinner.spin(document.body,n):this.spinner.stop();return}if("export"==h.action){if("png"==h.format||"xmlpng"==h.format){if(null==h.spin&&null==h.spinKey||this.spinner.spin(document.body,null!=h.spinKey?mxResources.get(h.spinKey):h.spin)){var q=null!=h.xml?h.xml:this.getFileData(!0);this.editor.graph.setEnabled(!1);var p=this.editor.graph,
-r=mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();var b=this.createLoadMessage("export");b.format=h.format;b.message=h;b.data=a;b.xml=encodeURIComponent(q);k.postMessage(JSON.stringify(b),"*")}),u=mxUtils.bind(this,function(a){null==a&&(a=Editor.blankImage);"xmlpng"==h.format&&(a=this.writeGraphModelToPng(a,"zTXt","mxGraphModel",atob(this.editor.graph.compress(q))));p!=this.editor.graph&&p.container.parentNode.removeChild(p.container);r(a)});if(this.isExportToCanvas()){if(null!=
-this.pages&&this.currentPage!=this.pages[0]){var p=this.createTemporaryGraph(p.getStylesheet()),v=p.getGlobalVariable,z=this.pages[0];p.getGlobalVariable=function(a){return"page"==a?z.getName():"pagenumber"==a?1:v.apply(this,arguments)};document.body.appendChild(p.container);p.model.setRoot(z.root)}this.exportToCanvas(mxUtils.bind(this,function(a){u(a.toDataURL("image/png"))}),null,null,null,mxUtils.bind(this,function(){u(null)}),null,null,null,null,null,null,p)}else(new mxXmlRequest(EXPORT_URL,"format=png&embedXml="+
-("xmlpng"==h.format?"1":"0")+"&base64=1&xml="+encodeURIComponent(encodeURIComponent(q)))).send(mxUtils.bind(this,function(a){200<=a.getStatus()&&299>=a.getStatus()?r("data:image/png;base64,"+a.getText()):u(null)}),mxUtils.bind(this,function(){u(null)}))}}else{null!=h.xml&&0<h.xml.length&&this.setFileData(h.xml);n=this.createLoadMessage("export");if("html2"==h.format||"html"==h.format&&("0"!=urlParams.pages||null!=this.pages&&1<this.pages.length))m=this.getXmlFileData(),n.xml=mxUtils.getXml(m),n.data=
-this.getFileData(null,null,!0,null,null,null,m),n.format=h.format;else if("html"==h.format)q=this.editor.getGraphXml(),n.data=this.getHtml(q,this.editor.graph),n.xml=mxUtils.getXml(q),n.format=h.format;else{mxSvgCanvas2D.prototype.foAltText=null;m=this.editor.graph.background;m==mxConstants.NONE&&(m=null);n.xml=this.getFileData(!0);n.format="svg";if(h.embedImages||null==h.embedImages){if(null==h.spin&&null==h.spinKey||this.spinner.spin(document.body,null!=h.spinKey?mxResources.get(h.spinKey):h.spin))this.editor.graph.setEnabled(!1),
-"xmlsvg"==h.format?this.getEmbeddedSvg(n.xml,this.editor.graph,null,!0,mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();n.data=this.createSvgDataUri(a);k.postMessage(JSON.stringify(n),"*")})):this.convertImages(this.editor.graph.getSvg(m),mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();n.data=this.createSvgDataUri(mxUtils.getXml(a));k.postMessage(JSON.stringify(n),"*")}));return}m="xmlsvg"==h.format?this.getEmbeddedSvg(this.getFileData(!0),
-this.editor.graph,null,!0):mxUtils.getXml(this.editor.graph.getSvg(m));n.data=this.createSvgDataUri(m)}k.postMessage(JSON.stringify(n),"*")}return}if("load"==h.action)c=1==h.autosave,this.hideDialog(),null!=h.modified&&null==urlParams.modified&&(urlParams.modified=h.modified),null!=h.saveAndExit&&null==urlParams.saveAndExit&&(urlParams.saveAndExit=h.saveAndExit),null!=h.title&&null!=this.buttonContainer&&(m=document.createElement("span"),mxUtils.write(m,h.title),"atlas"==uiTheme?(this.buttonContainer.style.paddingRight=
-"12px",this.buttonContainer.style.paddingTop="12px"):"min"!=uiTheme&&(this.buttonContainer.style.paddingRight="38px",this.buttonContainer.style.paddingTop="6px"),null!=this.embedFilenameSpan&&this.embedFilenameSpan.parentNode.removeChild(this.embedFilenameSpan),this.buttonContainer.appendChild(m),this.embedFilenameSpan=m),h=null!=h.xmlpng?this.extractGraphModelFromPng(h.xmlpng):null!=h.xml&&"data:image/png;base64,"==h.xml.substring(0,22)?this.extractGraphModelFromPng(h.xml):h.xml;else{k.postMessage(JSON.stringify({error:"unknownMessage",
-data:JSON.stringify(h)}),"*");return}}}h=g(h);d=!0;try{a(h,f)}catch(E){this.handleError(E)}d=!1;null!=urlParams.modified&&this.editor.setStatus("");var N=mxUtils.bind(this,function(){return"0"!=urlParams.pages||null!=this.pages&&1<this.pages.length?this.getFileData(!0):mxUtils.getXml(this.editor.getGraphXml())});e=N();c&&null==b&&(b=mxUtils.bind(this,function(a,b){var c=N();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||k.postMessage(JSON.stringify(this.createLoadMessage("load")),"*")}}));var k=window.opener||window.parent,h="json"==urlParams.proto?JSON.stringify({event:"init"}):urlParams.ready||"ready";k.postMessage(h,"*")};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":"3px";a.style.paddingLeft="8px";a.style.paddingBottom="2px";var b=document.createElement("button");mxUtils.write(b,mxResources.get("save"));b.setAttribute("title",mxResources.get("save")+" ("+Editor.ctrlKey+"+S)");b.className="geBigButton";b.style.fontSize="12px";b.style.padding="4px 6px 4px 6px";b.style.borderRadius="3px";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.style.fontSize="12px",b.style.marginLeft="6px",b.style.padding="4px",b.style.cursor="pointer",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.style.fontSize="12px";b.style.marginLeft="6px";b.style.marginRight=
-"20px";b.style.padding="4px";b.style.cursor="pointer";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.showDialog(this.importCsvDialog.container,640,520,!0,!0);this.importCsvDialog.init()};EditorUi.prototype.importCsv=function(a,b){try{var d=a.split("\n"),c=[];if(0<d.length){var e={},f=null,k=null,l="",q="auto",p="auto",v=null,F=null,D=40,G=40,B=0,y=this.editor.graph;y.getGraphBounds();for(var C=function(){null!=b?b(Z):(y.setSelectionCells(Z),y.scrollCellToVisible(y.getSelectionCell()))},I=y.getFreeInsertPoint(),z=I.x,N=I.y,I=N,E=null,J=
-"auto",R=[],Y=null,aa=null,Q=0;Q<d.length&&"#"==d[Q].charAt(0);){a=d[Q];for(Q++;Q<d.length&&"\\"==a.charAt(a.length-1)&&"#"==d[Q].charAt(0);)a=a.substring(0,a.length-1)+mxUtils.trim(d[Q].substring(1)),Q++;if("#"!=a.charAt(1)){var S=a.indexOf(":");if(0<S){var K=mxUtils.trim(a.substring(1,S)),H=mxUtils.trim(a.substring(S+1));"label"==K?E=y.sanitizeHtml(H):"style"==K?f=H:"identity"==K&&0<H.length&&"-"!=H?k=H:"namespace"==K&&0<H.length&&"-"!=H?l=H:"width"==K?q=H:"height"==K?p=H:"left"==K&&0<H.length?
-v=H:"top"==K&&0<H.length?F=H:"ignore"==K?aa=H.split(","):"connect"==K?R.push(JSON.parse(H)):"link"==K?Y=H:"padding"==K?B=parseFloat(H):"edgespacing"==K?D=parseFloat(H):"nodespacing"==K?G=parseFloat(H):"layout"==K&&(J=H)}}}var V=this.editor.csvToArray(d[Q]),S=null;if(null!=k)for(var L=0;L<V.length;L++)if(k==V[L]){S=L;break}null==E&&(E="%"+V[0]+"%");if(null!=R)for(var O=0;O<R.length;O++)null==e[R[O].to]&&(e[R[O].to]={});y.model.beginUpdate();try{for(L=Q+1;L<d.length;L++){var X=this.editor.csvToArray(d[L]);
-if(X.length==V.length){var A=null,W=null!=S?l+X[S]:null;null!=W&&(A=y.model.getCell(W));null==A&&(A=new mxCell(E,new mxGeometry(z,I,0,0),f||"whiteSpace=wrap;html=1;"),A.vertex=!0,A.id=W);for(var P=0;P<X.length;P++)y.setAttributeForCell(A,V[P],X[P]);y.setAttributeForCell(A,"placeholders","1");A.style=y.replacePlaceholders(A,A.style);for(O=0;O<R.length;O++)e[R[O].to][A.getAttribute(R[O].to)]=A;null!=Y&&"link"!=Y&&(y.setLinkForCell(A,A.getAttribute(Y)),y.setAttributeForCell(A,Y,null));y.fireEvent(new mxEventObject("cellsInserted",
-"cells",[A]));var da=this.editor.graph.getPreferredSizeForCell(A);A.vertex&&(null!=v&&null!=A.getAttribute(v)&&(A.geometry.x=z+parseFloat(A.getAttribute(v))),null!=F&&null!=A.getAttribute(F)&&(A.geometry.y=N+parseFloat(A.getAttribute(F))),"@"==q.charAt(0)&&null!=A.getAttribute(q.substring(1))?A.geometry.width=parseFloat(A.getAttribute(q.substring(1))):A.geometry.width="auto"==q?da.width+B:parseFloat(q),"@"==p.charAt(0)&&null!=A.getAttribute(p.substring(1))?A.geometry.height=parseFloat(A.getAttribute(p.substring(1))):
-A.geometry.height="auto"==p?da.height+B:parseFloat(p),I+=A.geometry.height+G);c.push(y.addCell(A))}}for(var T=c.slice(),Z=c.slice(),O=0;O<R.length;O++)for(var U=R[O],L=0;L<c.length;L++){var A=c[L],na=A.getAttribute(U.from);if(null!=na){y.setAttributeForCell(A,U.from,null);for(var oa=na.split(","),P=0;P<oa.length;P++){var ca=e[U.to][oa[P]];null!=ca&&(E=U.label,null!=U.fromlabel&&(E=(A.getAttribute(U.fromlabel)||"")+(E||"")),null!=U.tolabel&&(E=(E||"")+(ca.getAttribute(U.tolabel)||"")),Z.push(y.insertEdge(null,
-null,E||"",U.invert?ca:A,U.invert?A:ca,U.style||y.createCurrentEdgeStyle())),mxUtils.remove(U.invert?A:ca,T))}}}if(null!=aa)for(L=0;L<c.length;L++)for(A=c[L],P=0;P<aa.length;P++)y.setAttributeForCell(A,mxUtils.trim(aa[P]),null);var ia=new mxParallelEdgeLayout(y);ia.spacing=D;var qa=function(){ia.execute(y.getDefaultParent());for(var a=0;a<c.length;a++){var b=y.getCellGeometry(c[a]);b.x=Math.round(y.snap(b.x));b.y=Math.round(y.snap(b.y));"auto"==q&&(b.width=Math.round(y.snap(b.width)));"auto"==p&&
-(b.height=Math.round(y.snap(b.height)))}};if("circle"==J){var ea=new mxCircleLayout(y);ea.resetEdges=!1;var ra=ea.isVertexIgnored;ea.isVertexIgnored=function(a){return ra.apply(this,arguments)||0>mxUtils.indexOf(c,a)};this.executeLayout(function(){ea.execute(y.getDefaultParent());qa()},!0,C);C=null}else if("horizontaltree"==J||"verticaltree"==J||"auto"==J&&Z.length==2*c.length-1&&1==T.length){y.view.validate();var fa=new mxCompactTreeLayout(y,"horizontaltree"==J);fa.levelDistance=G;fa.edgeRouting=
-!1;fa.resetEdges=!1;this.executeLayout(function(){fa.execute(y.getDefaultParent(),0<T.length?T[0]:null)},!0,C);C=null}else if("horizontalflow"==J||"verticalflow"==J||"auto"==J&&1==T.length){y.view.validate();var ja=new mxHierarchicalLayout(y,"horizontalflow"==J?mxConstants.DIRECTION_WEST:mxConstants.DIRECTION_NORTH);ja.intraCellSpacing=G;ja.disableEdgeStyle=!1;this.executeLayout(function(){ja.execute(y.getDefaultParent(),Z);y.moveCells(Z,z,N)},!0,C);C=null}else if("organic"==J||"auto"==J&&Z.length>
-c.length){y.view.validate();var ba=new mxFastOrganicLayout(y);ba.forceConstant=3*G;ba.resetEdges=!1;var ka=ba.isVertexIgnored;ba.isVertexIgnored=function(a){return ka.apply(this,arguments)||0>mxUtils.indexOf(c,a)};ia=new mxParallelEdgeLayout(y);ia.spacing=D;this.executeLayout(function(){ba.execute(y.getDefaultParent());qa()},!0,C);C=null}this.hideDialog()}finally{y.model.endUpdate()}null!=C&&C()}}catch(ga){this.handleError(ga)}};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,440,130,!0,!0);a.init()};var q=EditorUi.prototype.createOutline;EditorUi.prototype.createOutline=function(a){var b=q.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 h=b.init;b.init=function(){h.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"),e=b.source,f=b.outline;f.pageScale=e.pageScale;f.pageFormat=
+c){c=null!=c?c:a.name;var d=new FormData;d.append("format","xml");d.append("upfile",a,c);var e=new XMLHttpRequest;e.open("POST",OPEN_URL);e.onreadystatechange=function(){b(e)};e.send(d)};EditorUi.prototype.isResampleImage=function(a,b){b=null!=b?b:this.resampleThreshold;return a.length>b};EditorUi.prototype.resizeImage=function(a,b,c,e,k,h){k=null!=k?k:this.maxImageSize;var d=Math.max(1,a.width),f=Math.max(1,a.height);if(e&&this.isResampleImage(b,h))try{var g=Math.max(d/k,f/k);if(1<g){var m=Math.round(d/
+g),l=Math.round(f/g),q=document.createElement("canvas");q.width=m;q.height=l;q.getContext("2d").drawImage(a,0,0,m,l);var r=q.toDataURL();if(r.length<b.length){var p=document.createElement("canvas");p.width=m;p.height=l;var v=p.toDataURL();r!==v&&(b=r,d=m,f=l)}}}catch(y){}c(b,d,f)};EditorUi.prototype.crcTable=[];for(var e=0;256>e;e++)for(var c=e,k=0;8>k;k++)c=1==(c&1)?3988292384^c>>>1:c>>>1,EditorUi.prototype.crcTable[e]=c;EditorUi.prototype.updateCRC=function(a,b,c,e){for(var d=0;d<e;d++)a=EditorUi.prototype.crcTable[(a^
+b[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,k){function d(a,b){var d=m;m+=b;return a.substring(d,m)}function f(a){a=d(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}function g(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 m=0;if(d(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=k&&k();else if(d(a,4),"IHDR"!=d(a,4))null!=k&&k();else{d(a,17);k=a.substring(0,m);do{var l=f(a);if("IDAT"==d(a,4)){k=a.substring(0,m-8);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);k+=g(c.length)+b+c+g(e^4294967295);k+=a.substring(m-
+8,a.length);break}k+=a.substring(m-8,m-4+l);d(a,l);d(a,4)}while(l);return"data:image/png;base64,"+(window.btoa?btoa(k):Base64.encode(k,!0))}};EditorUi.prototype.extractGraphModelFromPng=function(a){var b=null;try{var d=a.substring(a.indexOf(",")+1),c=window.atob&&!mxClient.IS_SF?atob(d):Base64.decode(d,!0);EditorUi.parsePng(c,mxUtils.bind(this,function(a,d,e){a=c.substring(a+8,a+8+e);"zTXt"==d?(e=a.indexOf(String.fromCharCode(0)),"mxGraphModel"==a.substring(0,e)&&(a=this.editor.graph.bytesToString(pako.inflateRaw(a.substring(e+
+2))).replace(/\+/g," "),null!=a&&0<a.length&&(b=a))):"tEXt"==d&&(a=a.split(String.fromCharCode(0)),1<a.length&&"mxGraphModel"==a[0]&&(b=a[1]));if(null!=b||"IDAT"==d)return!0}))}catch(r){}null!=b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b));null!=b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b));return b};EditorUi.prototype.loadImage=function(a,b,c){var d=new Image;d.onload=function(){b(d)};null!=c&&(d.onerror=c);d.src=a};var l=EditorUi.prototype.init;EditorUi.prototype.init=function(){function a(a){var d=
+a.indexOf(",");0<d&&(a=b.getPageById(a.substring(d+1)))&&b.selectPage(a)}"undefined"!==typeof window.mxSettings&&(this.formatWidth=mxSettings.getFormatWidth());var b=this,c=this.editor.graph;c.addListener("pageLinkClicked",function(b,d){a(d.getProperty("href"))});this.isOffline()||"undefined"===typeof window.EditDataDialog||(EditDataDialog.placeholderHelpLink="https://desk.draw.io/support/solutions/articles/16000051979");var e=b.editor.getEditBlankUrl;this.editor.getEditBlankUrl=function(a){a=null!=
+a?a:"";if(null!=b.pages&&null!=b.currentPage)for(var d=0;d<b.pages.length;d++)if(b.pages[d]==b.currentPage){0<d&&(a+=(0<a.length?"&":"?")+"page="+d);break}"1"==urlParams.dev&&(a+=(0<a.length?"&":"?")+"dev=1&drawdev=1");return e.apply(this,arguments)};var k=c.addClickHandler;c.addClickHandler=function(b,d,e){var f=d;d=function(b,d){if(null==d){var e=mxEvent.getSource(b);"a"==e.nodeName.toLowerCase()&&(d=e.getAttribute("href"))}null==d||!c.isPageLink(d)||!mxEvent.isTouchEvent(b)&&mxEvent.isPopupTrigger(b)||
+(a(d),mxEvent.consume(b));null!=f&&f(b,d)};k.call(this,b,d,e)};l.apply(this,arguments);mxClient.IS_SVG&&this.editor.graph.addSvgShadow(c.view.canvas.ownerSVGElement,null,!0);b.actions.get("print").funct=function(){b.showDialog((new PrintDialog(b)).container,360,null!=b.pages&&1<b.pages.length?420:360,!0,!0)};this.defaultFilename=mxResources.get("untitledDiagram");var h=c.getGlobalVariable;c.getGlobalVariable=function(a){return"page"==a&&null!=b.currentPage?b.currentPage.getName():"pagenumber"==a?
+null!=b.currentPage&&null!=b.pages?mxUtils.indexOf(b.pages,b.currentPage)+1:1:h.apply(this,arguments)};var n=c.createLinkForHint;c.createLinkForHint=function(d,e){var f=c.isPageLink(d);if(f){var g=d.indexOf(",");0<g&&(g=b.getPageById(d.substring(g+1)),e=null!=g?g.getName():mxResources.get("pageNotFound"))}g=n.call(this,d,e);f&&mxEvent.addListener(g,"click",function(b){a(d);mxEvent.consume(b)});return g};var q=c.labelLinkClicked;c.labelLinkClicked=function(b,d,e){var f=d.getAttribute("href");if(null==
+f||!c.isPageLink(f)||!mxEvent.isTouchEvent(e)&&mxEvent.isPopupTrigger(e))q.apply(this,arguments);else{if(!c.isEnabled()||null!=b&&c.isCellLocked(b.cell))a(f),c.getRubberband().reset();mxEvent.consume(e)}};this.editor.getOrCreateFilename=function(){var a=b.defaultFilename,d=b.getCurrentFile();null!=d&&(a=null!=d.getTitle()?d.getTitle():a);return a};var p=this.actions.get("print");p.setEnabled(!mxClient.IS_IOS||!navigator.standalone);p.visible=p.isEnabled();if(!this.editor.chromeless||this.editor.editable){var t=
+function(){window.setTimeout(function(){x.innerHTML="&nbsp;";x.focus();document.execCommand("selectAll",!1,null)},0)};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_IE||c.container.addEventListener("paste",
+mxUtils.bind(this,function(a){var b=this.editor.graph;if(!mxEvent.isConsumed(a))try{for(var d=a.clipboardData||a.originalEvent.clipboardData,c=!1,e=0;e<d.types.length;e++)if("text/"===d.types[e].substring(0,5)){c=!0;break}if(!c){var f=d.items;for(index in f){var g=f[index];if("file"===g.kind){if(b.isEditing())this.importFiles([g.getAsFile()],0,0,this.maxImageSize,function(a,d,c,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]()});
+else{var h=this.editor.graph.getInsertPoint();this.importFiles([g.getAsFile()],h.x,h.y,this.maxImageSize);mxEvent.consume(a)}break}}}}catch(Q){}}),!1);var x=document.createElement("div");x.style.position="absolute";x.style.whiteSpace="nowrap";x.style.overflow="hidden";x.style.display="block";x.contentEditable=!0;mxUtils.setOpacity(x,0);x.style.width="1px";x.style.height="1px";x.innerHTML="&nbsp;";var v=!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 b=mxEvent.getSource(a);null==c.container||!c.isEnabled()||c.isMouseDown||c.isEditing()||null!=this.dialog||"INPUT"==b.nodeName||"TEXTAREA"==b.nodeName||!(224==a.keyCode||!mxClient.IS_MAC&&17==a.keyCode||mxClient.IS_MAC&&91==a.keyCode)||v||(x.style.left=c.container.scrollLeft+10+"px",x.style.top=c.container.scrollTop+10+"px",c.container.appendChild(x),v=!0,mxClient.IS_QUIRKS?window.setTimeout(function(){x.focus();document.execCommand("selectAll",
+!1,null)},0):(x.focus(),document.execCommand("selectAll",!1,null)))}));mxEvent.addListener(document,"keyup",mxUtils.bind(this,function(a){var b=a.keyCode;window.setTimeout(mxUtils.bind(this,function(){!v||224!=b&&17!=b&&91!=b||(v=!1,c.isEditing()||null!=this.dialog||null==c.container||c.container.focus(),x.parentNode.removeChild(x))}),0)}));mxEvent.addListener(x,"copy",mxUtils.bind(this,function(a){c.isEnabled()&&(mxClipboard.copy(c),this.copyCells(x),t())}));mxEvent.addListener(x,"cut",mxUtils.bind(this,
+function(a){c.isEnabled()&&(this.copyCells(x,!0),t())}));mxEvent.addListener(x,"paste",mxUtils.bind(this,function(a){c.isEnabled()&&!c.isCellLocked(c.getDefaultParent())&&(x.innerHTML="&nbsp;",x.focus(),window.setTimeout(mxUtils.bind(this,function(){this.pasteCells(a,x);x.innerHTML="&nbsp;"}),0))}),!0);var D=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==x?!0:D.apply(this,arguments)}}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,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 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 e=this.maxImageSize,e=Math.min(1,Math.min(e/Math.max(1,c)),e/Math.max(1,a));b.insertImage(decodeURIComponent(d),c*e,a*e)})):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()})))}));if("1"==urlParams.ruler&&"undefined"!==typeof mxRuler){p=document.createElement("div");p.style.position="absolute";p.style.top="95px";p.style.left="250px";p.style.width="2000px";p.style.height="30px";p.style.background="whiteSmoke";document.body.appendChild(p);var G=document.createElement("div");G.style.position="absolute";G.style.top="125px";G.style.left="220px";
+G.style.width="30px";G.style.height="1000px";G.style.background="whiteSmoke";document.body.appendChild(G);var B=document.createElement("div");B.style.position="absolute";B.style.top="95px";B.style.left="220px";B.style.width="30px";B.style.height="30px";B.style.background="whiteSmoke";document.body.appendChild(B);this.vRuler=new mxRuler(this.editor.graph,G,!0);this.hRuler=new mxRuler(this.editor.graph,p,!1)}if("1"==urlParams.test){p=document.getElementById("geFooter");null!=p&&(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)})),p.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)}}p=document.getElementById("geInfo");null!=p&&p.parentNode.removeChild(p);if(Graph.fileSupport&&
+(!this.editor.chromeless||this.editor.editable)){var C=null;mxEvent.addListener(c.container,"dragleave",function(a){c.isEnabled()&&(null!=C&&(C.parentNode.removeChild(C),C=null),a.stopPropagation(),a.preventDefault())});mxEvent.addListener(c.container,"dragover",mxUtils.bind(this,function(a){null==C&&(!mxClient.IS_IE||10<document.documentMode)&&(C=this.highlightElement(c.container));null!=this.sidebar&&this.sidebar.hideTooltip();a.stopPropagation();a.preventDefault()}));mxEvent.addListener(c.container,
+"drop",mxUtils.bind(this,function(a){null!=C&&(C.parentNode.removeChild(C),C=null);if(c.isEnabled()){var b=mxUtils.convertPoint(c.container,mxEvent.getClientX(a),mxEvent.getClientY(a)),d=c.view.translate,e=c.view.scale,f=b.x/e-d.x,g=b.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 h=0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")?
+a.dataTransfer.getData("text/uri-list"):null,b=this.extractGraphModelFromEvent(a,null!=this.pages);if(null!=b)c.setSelectionCells(this.importXml(b,f,g,!0));else if(0<=mxUtils.indexOf(a.dataTransfer.types,"text/html")){var k=a.dataTransfer.getData("text/html"),b=document.createElement("div");b.innerHTML=k;var n=null,d=b.getElementsByTagName("img");null!=d&&1==d.length?(k=d[0].getAttribute("src"),/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(k)||(n=!0)):(b=b.getElementsByTagName("a"),null!=b&&1==b.length&&
+(k=b[0].getAttribute("href")));var m=!0,l=mxUtils.bind(this,function(){c.setSelectionCells(this.insertTextAt(k,f,g,!0,n,null,m))});n&&k.length>this.resampleThreshold?this.confirmImageResize(function(a){m=a;l()},mxEvent.isControlDown(a)):l()}else null!=h&&/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(h)?this.loadImage(decodeURIComponent(h),mxUtils.bind(this,function(a){var b=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,b)),d/Math.max(1,a));c.setSelectionCell(c.insertVertex(null,
+null,"",f,g,b*d,a*d,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+h+";"))}),mxUtils.bind(this,function(a){c.setSelectionCells(this.insertTextAt(h,f,g,!0))})):0<=mxUtils.indexOf(a.dataTransfer.types,"text/plain")&&c.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.isSettingsEnabled=function(){return"undefined"!==typeof window.mxSettings&&(isLocalStorage||mxClient.IS_CHROMEAPP)};EditorUi.prototype.installSettings=function(){if(this.isSettingsEnabled()){ColorDialog.recentColors=mxSettings.getRecentColors();this.editor.graph.currentEdgeStyle=mxSettings.getCurrentEdgeStyle();this.editor.graph.currentVertexStyle=mxSettings.getCurrentVertexStyle();this.fireEvent(new mxEventObject("styleChanged","keys",[],"values",[],"cells",[]));this.addListener("styleChanged",
+mxUtils.bind(this,function(a,b){mxSettings.setCurrentEdgeStyle(this.editor.graph.currentEdgeStyle);mxSettings.setCurrentVertexStyle(this.editor.graph.currentVertexStyle);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();this.addListener("gridColorChanged",mxUtils.bind(this,function(a,b){mxSettings.setGridColor(this.editor.graph.view.gridColor);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 d=this.editor.graph;
+if(d.isSelectionEmpty())a.innerHTML="";else{var c=mxUtils.sortCells(d.model.getTopmostCells(d.getSelectionCells())),e=mxUtils.getXml(this.editor.graph.encodeCells(c));mxUtils.setTextContent(a,encodeURIComponent(e));b?(d.removeCells(c,!1),d.lastPasteXml=null):(d.lastPasteXml=e,d.pasteCounter=0);a.focus();document.execCommand("selectAll",!1,null)}};EditorUi.prototype.pasteCells=function(a,b){if(!mxEvent.isConsumed(a)){var d=b.getElementsByTagName("span");if(null!=d&&0<d.length&&"application/vnd.lucid.chart.objects"===
+d[0].getAttribute("data-lucid-type")){var c=d[0].getAttribute("data-lucid-content");null!=c&&0<c.length&&(this.importLucidChart(c,0,0),mxEvent.consume(a))}else{var c=this.editor.graph,e=mxUtils.trim(mxClient.IS_QUIRKS||8==document.documentMode?mxUtils.getTextContent(b):b.textContent),f=!1;try{var k=e.lastIndexOf("%3E");0<=k&&k<e.length-3&&(e=e.substring(0,k+3))}catch(w){}try{var d=b.getElementsByTagName("span"),l=null!=d&&0<d.length?mxUtils.trim(decodeURIComponent(d[0].textContent)):decodeURIComponent(e);
+this.isCompatibleString(l)&&(f=!0,e=l)}catch(w){}c.lastPasteXml==e?c.pasteCounter++:(c.lastPasteXml=e,c.pasteCounter=0);d=c.pasteCounter*c.gridSize;if(null!=e&&0<e.length&&(f||this.isCompatibleString(e)?c.setSelectionCells(this.importXml(e,d,d)):(f=c.getInsertPoint(),c.isMouseInsertPoint()&&(d=0,c.lastPasteXml==e&&0<c.pasteCounter&&c.pasteCounter--),c.setSelectionCells(this.insertTextAt(e,f.x+d,f.y+d,!0))),!c.isSelectionEmpty())){c.scrollCellToVisible(c.getSelectionCell());null!=this.hoverIcons&&
+this.hoverIcons.update(c.view.getState(c.getSelectionCell()));try{mxEvent.consume(a)}catch(w){}}}}};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?"https://www.draw.io/":"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 h=document.documentElement;c=(e.clientWidth||h.clientWidth)-3;e=Math.max(e.clientHeight||0,h.clientHeight)-3}else b=a.offsetTop,d=a.offsetLeft,c=a.clientWidth,
+e=a.clientHeight;h=document.createElement("div");h.style.zIndex=mxPopupMenu.prototype.zIndex+2;h.style.border="3px dotted rgb(254, 137, 12)";h.style.pointerEvents="none";h.style.position="absolute";h.style.top=b+"px";h.style.left=d+"px";h.style.width=Math.max(0,c-3)+"px";h.style.height=Math.max(0,e-3)+"px";null!=a&&a.parentNode==this.editor.graph.container?this.editor.graph.container.appendChild(h):document.body.appendChild(h);return h};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){var c=d.target.result,e=a.name;if(null!=
+e&&0<e.length){!this.useCanvasForExport&&/(\.png)$/i.test(e)&&(e=e.substring(0,e.length-4)+".xml");var f=mxUtils.bind(this,function(a){e=0<=e.lastIndexOf(".")?e.substring(0,e.lastIndexOf("."))+".xml":e+".xml";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(x){this.handleError(x,mxResources.get("errorLoadingFile"))}}else this.openLocalFile(a,
+e,b)});if(/(\.vsdx?)($|\?)/i.test(e)||/(\.vssx)($|\?)/i.test(e))this.importVisio(a,mxUtils.bind(this,function(a){this.spinner.stop();f(a)}));else if(Graph.fileSupport&&!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(c,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('{"state":"{\\"Properties\\":'==c.substring(0,26))/(\.json)$/i.test(e)&&(e=e.substring(0,e.length-5)+".xml"),this.openLocalFile(this.emptyDiagramXml,e,b),this.importLucidChart(c,0,0,null,mxUtils.bind(this,function(){this.editor.undoManager.clear();this.spinner.stop()}));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(t){this.handleError(t,mxResources.get("errorLoadingFile"))}}else"image/png"==a.type.substring(0,9)&&(c=this.extractGraphModelFromPng(c)),this.spinner.stop(),this.openLocalFile(c,e,b)}});d.onerror=mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a);window.openFile=null});"image"===a.type.substring(0,5)&&"image/svg"!==a.type.substring(0,9)?d.readAsDataURL(a):d.readAsText(a)})(a[d])};EditorUi.prototype.openLocalFile=function(a,b,c){var d=this.getCurrentFile(),
+e=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))});null!=a&&0<a.length&&(null==d||!d.isModified()&&(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)?e():(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)&&null!=d&&d.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(){this.confirm(mxResources.get("allChangesLost"),null,e,mxResources.get("cancel"),mxResources.get("discardChanges"))}))))};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,e=c.getCellStyle(a);d(mxStencilRegistry.getBasenameForStencil(e[mxConstants.STYLE_SHAPE]));c.model.isEdge(a)&&(d(mxMarker.getPackageForType(e[mxConstants.STYLE_STARTARROW])),d(mxMarker.getPackageForType(e[mxConstants.STYLE_ENDARROW])));
+for(var e=c.model.getChildCount(a),f=0;f<e;f++)this.addBasenamesForCell(c.model.getChildAt(a,f),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.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,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,scale:b.view.scale,page:b.view.getBackgroundPageBounds(),bounds:b.getGraphBounds()}};EditorUi.prototype.installMessageHandler=function(a){var b=null,d=!1,c=!1,e=null,h=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,h);mxEvent.addListener(window,
+"message",mxUtils.bind(this,function(f){function g(a){if(null!=a&&"function"===typeof a.charAt&&"<"!=a.charAt(0))try{"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=this.editor.graph.decompress(a)))}catch(J){}return a}if(f.source==(window.opener||window.parent)){var h=f.data;if("json"==urlParams.proto){try{h=JSON.parse(h)}catch(E){h=null}if(null==
+h)return;if("dialog"==h.action){this.showError(null!=h.titleKey?mxResources.get(h.titleKey):h.title,null!=h.messageKey?mxResources.get(h.messageKey):h.message,null!=h.buttonKey?mxResources.get(h.buttonKey):h.button);null!=h.modified&&(this.editor.modified=h.modified);return}if("prompt"==h.action){this.spinner.stop();var n=new FilenameDialog(this,h.defaultValue||"",null!=h.okKey?mxResources.get(h.okKey):null,function(a){null!=a&&k.postMessage(JSON.stringify({event:"prompt",value:a,message:h}),"*")},
+null!=h.titleKey?mxResources.get(h.titleKey):h.title);this.showDialog(n.container,300,80,!0,!1);n.init();return}if("draft"==h.action){n=null;n="data:image/png;base64,"==h.xml.substring(0,22)?this.extractGraphModelFromPng(h.xml):g(h.xml);this.spinner.stop();n=new DraftDialog(this,mxResources.get("draftFound",[h.name||this.defaultFilename]),n,mxUtils.bind(this,function(){this.hideDialog();k.postMessage(JSON.stringify({event:"draft",result:"edit",message:h}),"*")}),mxUtils.bind(this,function(){this.hideDialog();
+k.postMessage(JSON.stringify({event:"draft",result:"discard",message:h}),"*")}),h.editKey?mxResources.get(h.editKey):null,h.discardKey?mxResources.get(h.discardKey):null,h.ignore?mxUtils.bind(this,function(){this.hideDialog();k.postMessage(JSON.stringify({event:"draft",result:"ignore",message:h}),"*")}):null);this.showDialog(n.container,640,480,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));try{n.init()}catch(E){k.postMessage(JSON.stringify({event:"draft",error:E.toString(),
+message:h}),"*")}return}if("template"==h.action){this.spinner.stop();var n=1==h.enableRecent,l=1==h.enableSearch,n=new NewDialog(this,!1,null!=h.callback,mxUtils.bind(this,function(b,d){b=b||this.emptyDiagramXml;null!=h.callback?k.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,n?mxUtils.bind(this,function(a){this.recentReadyCallback=
+a;k.postMessage(JSON.stringify({event:"recentDocs"}),"*")}):null,l?mxUtils.bind(this,function(a,b){this.searchReadyCallback=b;k.postMessage(JSON.stringify({event:"searchDocs",searchStr:a}),"*")}):null,function(a,b,d){k.postMessage(JSON.stringify({event:"template",docUrl:a,info:b,name:d}),"*")});this.showDialog(n.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));n.init();return}if("searchDocsList"==h.action)this.searchReadyCallback(h.list,h.errorMsg);else if("recentDocsList"==
+h.action)this.recentReadyCallback(h.list,h.errorMsg);else{if("status"==h.action){null!=h.messageKey?this.editor.setStatus(mxUtils.htmlEntities(mxResources.get(h.messageKey))):null!=h.message&&this.editor.setStatus(mxUtils.htmlEntities(h.message));null!=h.modified&&(this.editor.modified=h.modified);return}if("spinner"==h.action){var m=null!=h.messageKey?mxResources.get(h.messageKey):h.message;null==h.show||h.show?this.spinner.spin(document.body,m):this.spinner.stop();return}if("export"==h.action){if("png"==
+h.format||"xmlpng"==h.format){if(null==h.spin&&null==h.spinKey||this.spinner.spin(document.body,null!=h.spinKey?mxResources.get(h.spinKey):h.spin)){var q=null!=h.xml?h.xml:this.getFileData(!0);this.editor.graph.setEnabled(!1);var p=this.editor.graph,r=mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();var b=this.createLoadMessage("export");b.format=h.format;b.message=h;b.data=a;b.xml=encodeURIComponent(q);k.postMessage(JSON.stringify(b),"*")}),u=mxUtils.bind(this,function(a){null==
+a&&(a=Editor.blankImage);"xmlpng"==h.format&&(a=this.writeGraphModelToPng(a,"zTXt","mxGraphModel",atob(this.editor.graph.compress(q))));p!=this.editor.graph&&p.container.parentNode.removeChild(p.container);r(a)});if(this.isExportToCanvas()){if(null!=this.pages&&this.currentPage!=this.pages[0]){var p=this.createTemporaryGraph(p.getStylesheet()),v=p.getGlobalVariable,z=this.pages[0];p.getGlobalVariable=function(a){return"page"==a?z.getName():"pagenumber"==a?1:v.apply(this,arguments)};document.body.appendChild(p.container);
+p.model.setRoot(z.root)}this.exportToCanvas(mxUtils.bind(this,function(a){u(a.toDataURL("image/png"))}),null,null,null,mxUtils.bind(this,function(){u(null)}),null,null,null,null,null,null,p)}else(new mxXmlRequest(EXPORT_URL,"format=png&embedXml="+("xmlpng"==h.format?"1":"0")+"&base64=1&xml="+encodeURIComponent(encodeURIComponent(q)))).send(mxUtils.bind(this,function(a){200<=a.getStatus()&&299>=a.getStatus()?r("data:image/png;base64,"+a.getText()):u(null)}),mxUtils.bind(this,function(){u(null)}))}}else{null!=
+h.xml&&0<h.xml.length&&this.setFileData(h.xml);m=this.createLoadMessage("export");if("html2"==h.format||"html"==h.format&&("0"!=urlParams.pages||null!=this.pages&&1<this.pages.length))n=this.getXmlFileData(),m.xml=mxUtils.getXml(n),m.data=this.getFileData(null,null,!0,null,null,null,n),m.format=h.format;else if("html"==h.format)q=this.editor.getGraphXml(),m.data=this.getHtml(q,this.editor.graph),m.xml=mxUtils.getXml(q),m.format=h.format;else{mxSvgCanvas2D.prototype.foAltText=null;n=this.editor.graph.background;
+n==mxConstants.NONE&&(n=null);m.xml=this.getFileData(!0);m.format="svg";if(h.embedImages||null==h.embedImages){if(null==h.spin&&null==h.spinKey||this.spinner.spin(document.body,null!=h.spinKey?mxResources.get(h.spinKey):h.spin))this.editor.graph.setEnabled(!1),"xmlsvg"==h.format?this.getEmbeddedSvg(m.xml,this.editor.graph,null,!0,mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();m.data=this.createSvgDataUri(a);k.postMessage(JSON.stringify(m),"*")})):this.convertImages(this.editor.graph.getSvg(n),
+mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();m.data=this.createSvgDataUri(mxUtils.getXml(a));k.postMessage(JSON.stringify(m),"*")}));return}n="xmlsvg"==h.format?this.getEmbeddedSvg(this.getFileData(!0),this.editor.graph,null,!0):mxUtils.getXml(this.editor.graph.getSvg(n));m.data=this.createSvgDataUri(n)}k.postMessage(JSON.stringify(m),"*")}return}if("load"==h.action)c=1==h.autosave,this.hideDialog(),null!=h.modified&&null==urlParams.modified&&(urlParams.modified=
+h.modified),null!=h.saveAndExit&&null==urlParams.saveAndExit&&(urlParams.saveAndExit=h.saveAndExit),null!=h.title&&null!=this.buttonContainer&&(n=document.createElement("span"),mxUtils.write(n,h.title),"atlas"==uiTheme?(this.buttonContainer.style.paddingRight="12px",this.buttonContainer.style.paddingTop="12px"):"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),h=null!=h.xmlpng?this.extractGraphModelFromPng(h.xmlpng):null!=h.xml&&"data:image/png;base64,"==h.xml.substring(0,22)?this.extractGraphModelFromPng(h.xml):h.xml;else{k.postMessage(JSON.stringify({error:"unknownMessage",data:JSON.stringify(h)}),"*");return}}}h=g(h);d=!0;try{a(h,f)}catch(E){this.handleError(E)}d=!1;null!=urlParams.modified&&this.editor.setStatus("");var N=mxUtils.bind(this,function(){return"0"!=urlParams.pages||null!=this.pages&&
+1<this.pages.length?this.getFileData(!0):mxUtils.getXml(this.editor.getGraphXml())});e=N();c&&null==b&&(b=mxUtils.bind(this,function(a,b){var c=N();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||k.postMessage(JSON.stringify(this.createLoadMessage("load")),"*")}}));var k=window.opener||window.parent,h="json"==urlParams.proto?JSON.stringify({event:"init"}):
+urlParams.ready||"ready";k.postMessage(h,"*")};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":"3px";a.style.paddingLeft="8px";a.style.paddingBottom="2px";var b=document.createElement("button");mxUtils.write(b,mxResources.get("save"));b.setAttribute("title",mxResources.get("save")+" ("+Editor.ctrlKey+"+S)");b.className="geBigButton";b.style.fontSize=
+"12px";b.style.padding="4px 6px 4px 6px";b.style.borderRadius="3px";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.style.fontSize="12px",b.style.marginLeft="6px",b.style.padding="4px",b.style.cursor="pointer",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.style.fontSize="12px";b.style.marginLeft="6px";b.style.marginRight="20px";b.style.padding="4px";b.style.cursor="pointer";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.showDialog(this.importCsvDialog.container,640,520,!0,!0);this.importCsvDialog.init()};EditorUi.prototype.importCsv=function(a,b){try{var d=a.split("\n"),c=[];if(0<d.length){var e={},f=null,k=null,l="",q="auto",p="auto",v=null,F=null,D=40,G=40,B=0,y=this.editor.graph;
+y.getGraphBounds();for(var C=function(){null!=b?b(Z):(y.setSelectionCells(Z),y.scrollCellToVisible(y.getSelectionCell()))},I=y.getFreeInsertPoint(),z=I.x,N=I.y,I=N,E=null,J="auto",R=[],Y=null,aa=null,Q=0;Q<d.length&&"#"==d[Q].charAt(0);){a=d[Q];for(Q++;Q<d.length&&"\\"==a.charAt(a.length-1)&&"#"==d[Q].charAt(0);)a=a.substring(0,a.length-1)+mxUtils.trim(d[Q].substring(1)),Q++;if("#"!=a.charAt(1)){var S=a.indexOf(":");if(0<S){var K=mxUtils.trim(a.substring(1,S)),H=mxUtils.trim(a.substring(S+1));"label"==
+K?E=y.sanitizeHtml(H):"style"==K?f=H:"identity"==K&&0<H.length&&"-"!=H?k=H:"namespace"==K&&0<H.length&&"-"!=H?l=H:"width"==K?q=H:"height"==K?p=H:"left"==K&&0<H.length?v=H:"top"==K&&0<H.length?F=H:"ignore"==K?aa=H.split(","):"connect"==K?R.push(JSON.parse(H)):"link"==K?Y=H:"padding"==K?B=parseFloat(H):"edgespacing"==K?D=parseFloat(H):"nodespacing"==K?G=parseFloat(H):"layout"==K&&(J=H)}}}var V=this.editor.csvToArray(d[Q]),S=null;if(null!=k)for(var L=0;L<V.length;L++)if(k==V[L]){S=L;break}null==E&&(E=
+"%"+V[0]+"%");if(null!=R)for(var O=0;O<R.length;O++)null==e[R[O].to]&&(e[R[O].to]={});y.model.beginUpdate();try{for(L=Q+1;L<d.length;L++){var X=this.editor.csvToArray(d[L]);if(X.length==V.length){var A=null,W=null!=S?l+X[S]:null;null!=W&&(A=y.model.getCell(W));null==A&&(A=new mxCell(E,new mxGeometry(z,I,0,0),f||"whiteSpace=wrap;html=1;"),A.vertex=!0,A.id=W);for(var P=0;P<X.length;P++)y.setAttributeForCell(A,V[P],X[P]);y.setAttributeForCell(A,"placeholders","1");A.style=y.replacePlaceholders(A,A.style);
+for(O=0;O<R.length;O++)e[R[O].to][A.getAttribute(R[O].to)]=A;null!=Y&&"link"!=Y&&(y.setLinkForCell(A,A.getAttribute(Y)),y.setAttributeForCell(A,Y,null));y.fireEvent(new mxEventObject("cellsInserted","cells",[A]));var da=this.editor.graph.getPreferredSizeForCell(A);A.vertex&&(null!=v&&null!=A.getAttribute(v)&&(A.geometry.x=z+parseFloat(A.getAttribute(v))),null!=F&&null!=A.getAttribute(F)&&(A.geometry.y=N+parseFloat(A.getAttribute(F))),"@"==q.charAt(0)&&null!=A.getAttribute(q.substring(1))?A.geometry.width=
+parseFloat(A.getAttribute(q.substring(1))):A.geometry.width="auto"==q?da.width+B:parseFloat(q),"@"==p.charAt(0)&&null!=A.getAttribute(p.substring(1))?A.geometry.height=parseFloat(A.getAttribute(p.substring(1))):A.geometry.height="auto"==p?da.height+B:parseFloat(p),I+=A.geometry.height+G);c.push(y.addCell(A))}}for(var T=c.slice(),Z=c.slice(),O=0;O<R.length;O++)for(var U=R[O],L=0;L<c.length;L++){var A=c[L],na=A.getAttribute(U.from);if(null!=na){y.setAttributeForCell(A,U.from,null);for(var oa=na.split(","),
+P=0;P<oa.length;P++){var ca=e[U.to][oa[P]];null!=ca&&(E=U.label,null!=U.fromlabel&&(E=(A.getAttribute(U.fromlabel)||"")+(E||"")),null!=U.tolabel&&(E=(E||"")+(ca.getAttribute(U.tolabel)||"")),Z.push(y.insertEdge(null,null,E||"",U.invert?ca:A,U.invert?A:ca,U.style||y.createCurrentEdgeStyle())),mxUtils.remove(U.invert?A:ca,T))}}}if(null!=aa)for(L=0;L<c.length;L++)for(A=c[L],P=0;P<aa.length;P++)y.setAttributeForCell(A,mxUtils.trim(aa[P]),null);var ia=new mxParallelEdgeLayout(y);ia.spacing=D;var qa=function(){ia.execute(y.getDefaultParent());
+for(var a=0;a<c.length;a++){var b=y.getCellGeometry(c[a]);b.x=Math.round(y.snap(b.x));b.y=Math.round(y.snap(b.y));"auto"==q&&(b.width=Math.round(y.snap(b.width)));"auto"==p&&(b.height=Math.round(y.snap(b.height)))}};if("circle"==J){var ea=new mxCircleLayout(y);ea.resetEdges=!1;var ra=ea.isVertexIgnored;ea.isVertexIgnored=function(a){return ra.apply(this,arguments)||0>mxUtils.indexOf(c,a)};this.executeLayout(function(){ea.execute(y.getDefaultParent());qa()},!0,C);C=null}else if("horizontaltree"==J||
+"verticaltree"==J||"auto"==J&&Z.length==2*c.length-1&&1==T.length){y.view.validate();var fa=new mxCompactTreeLayout(y,"horizontaltree"==J);fa.levelDistance=G;fa.edgeRouting=!1;fa.resetEdges=!1;this.executeLayout(function(){fa.execute(y.getDefaultParent(),0<T.length?T[0]:null)},!0,C);C=null}else if("horizontalflow"==J||"verticalflow"==J||"auto"==J&&1==T.length){y.view.validate();var ja=new mxHierarchicalLayout(y,"horizontalflow"==J?mxConstants.DIRECTION_WEST:mxConstants.DIRECTION_NORTH);ja.intraCellSpacing=
+G;ja.disableEdgeStyle=!1;this.executeLayout(function(){ja.execute(y.getDefaultParent(),Z);y.moveCells(Z,z,N)},!0,C);C=null}else if("organic"==J||"auto"==J&&Z.length>c.length){y.view.validate();var ba=new mxFastOrganicLayout(y);ba.forceConstant=3*G;ba.resetEdges=!1;var ka=ba.isVertexIgnored;ba.isVertexIgnored=function(a){return ka.apply(this,arguments)||0>mxUtils.indexOf(c,a)};ia=new mxParallelEdgeLayout(y);ia.spacing=D;this.executeLayout(function(){ba.execute(y.getDefaultParent());qa()},!0,C);C=null}this.hideDialog()}finally{y.model.endUpdate()}null!=
+C&&C()}}catch(ga){this.handleError(ga)}};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,440,130,!0,!0);a.init()};var q=EditorUi.prototype.createOutline;EditorUi.prototype.createOutline=function(a){var b=q.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 h=b.init;b.init=function(){h.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"),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(c.previousPage.root,!0);b.outline.view.validate()});return b};EditorUi.prototype.getServiceCount=function(a,b){var d=0;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.trello&&"function"!==typeof window.TrelloClient||d++;a&&isLocalStorage&&("1"==urlParams.browser||mxClient.IS_IOS)&&d++;mxClient.IS_IOS||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("openLibraryFrom").setEnabled(c);this.menus.get("newLibrary").setEnabled(c);this.menus.get("extras").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.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 e=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 e=window.applicationCache,k=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!=k&&(this.offlineStatus.innerHTML=b,k=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.isDiagramActive=function(){var a=this.getCurrentFile();return null!=a&&a.isEditable()||"1"==urlParams.embed&&this.editor.graph.isEnabled()};var p=EditorUi.prototype.updateActionStates;EditorUi.prototype.updateActionStates=function(){p.apply(this,arguments);var a=this.editor.graph,b=this.isDiagramActive(),c=this.getCurrentFile(),e=null!=c||"1"==urlParams.embed;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.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.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 e=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 e=window.applicationCache,k=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!=k&&(this.offlineStatus.innerHTML=b,k=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.isDiagramActive=function(){var a=this.getCurrentFile();return null!=a&&a.isEditable()||"1"==urlParams.embed&&this.editor.graph.isEnabled()};var p=EditorUi.prototype.updateActionStates;EditorUi.prototype.updateActionStates=function(){p.apply(this,arguments);var a=this.editor.graph,b=this.isDiagramActive(),c=this.getCurrentFile(),e=null!=c||"1"==urlParams.embed;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(b&&(null==c||!c.isRestricted()));this.actions.get("find").setEnabled(e);this.actions.get("layers").setEnabled(e);this.actions.get("outline").setEnabled(e);
-this.actions.get("rename").setEnabled(null!=c&&c.isRenamable());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 v=EditorUi.prototype.destroy;EditorUi.prototype.destroy=function(){null!=this.exportDialog&&(this.exportDialog.parentNode.removeChild(this.exportDialog),this.exportDialog=null);v.apply(this,
-arguments)};null!=window.ExportDialog&&(ExportDialog.showXmlOption=!1,ExportDialog.showGifOption=!1,ExportDialog.exportFile=function(a,b,c,e,k,h){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,k,h)),"image/svg+xml");else{var f=a.getFileData(!0,null,null,null,null,!0),g=d.getGraphBounds(),l=Math.floor(g.width*k/d.view.scale),q=Math.floor(g.height*k/d.view.scale);
-f.length<=MAX_REQUEST_SIZE&&l*q<MAX_AREA?(a.hideDialog(),a.saveRequest(b,c,function(a,b){return new mxXmlRequest(EXPORT_URL,"format="+c+"&base64="+(b||"0")+(null!=a?"&filename="+encodeURIComponent(a):"")+"&bg="+(null!=e?e:"none")+"&w="+l+"&h="+q+"&border="+h+"&xml="+encodeURIComponent(f))})):mxUtils.alert(mxResources.get("drawingTooLarge"))}})})();function DiagramPage(a){this.node=a;(null==this.node.hasAttribute&&null==this.node.getAttribute("id")||null!=this.node.hasAttribute&&!this.node.hasAttribute("id"))&&this.node.setAttribute("id",function(){function a(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return a()+a()+"-"+a()+"-"+a()+"-"+a()+"-"+a()+a()+a()}())}DiagramPage.prototype.node=null;DiagramPage.prototype.root=null;DiagramPage.prototype.viewState=null;DiagramPage.prototype.getId=function(){return this.node.getAttribute("id")};
+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 v=EditorUi.prototype.destroy;EditorUi.prototype.destroy=function(){null!=this.exportDialog&&(this.exportDialog.parentNode.removeChild(this.exportDialog),this.exportDialog=
+null);v.apply(this,arguments)};null!=window.ExportDialog&&(ExportDialog.showXmlOption=!1,ExportDialog.showGifOption=!1,ExportDialog.exportFile=function(a,b,c,e,k,h){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,k,h)),"image/svg+xml");else{var f=a.getFileData(!0,null,null,null,null,!0),g=d.getGraphBounds(),l=Math.floor(g.width*k/d.view.scale),m=Math.floor(g.height*
+k/d.view.scale);f.length<=MAX_REQUEST_SIZE&&l*m<MAX_AREA?(a.hideDialog(),a.saveRequest(b,c,function(a,b){return new mxXmlRequest(EXPORT_URL,"format="+c+"&base64="+(b||"0")+(null!=a?"&filename="+encodeURIComponent(a):"")+"&bg="+(null!=e?e:"none")+"&w="+l+"&h="+m+"&border="+h+"&xml="+encodeURIComponent(f))})):mxUtils.alert(mxResources.get("drawingTooLarge"))}})})();function DiagramPage(a){this.node=a;(null==this.node.hasAttribute&&null==this.node.getAttribute("id")||null!=this.node.hasAttribute&&!this.node.hasAttribute("id"))&&this.node.setAttribute("id",function(){function a(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return a()+a()+"-"+a()+"-"+a()+"-"+a()+"-"+a()+a()+a()}())}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.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){this.ui=a;this.previousPage=this.page=b;this.neverShown=!0;null!=b&&(this.neverShown=null==b.viewState,this.ui.updatePageRoot(b))}
@@ -2998,9 +2998,9 @@ b.fireEvent(new mxEventObject("setViewState","change",this));e.gridEnabled=e.gri
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;SelectPage.prototype.execute.apply(this,arguments)};
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(){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":"30px";c!=this.tabContainer.style.height&&this.refresh(!1)}b.apply(a.view,arguments)});var e=!1,c=null,k=mxUtils.bind(this,function(){this.updateTabContainer();var b=this.currentPage;null!=b&&b!=c&&(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),c=b);null!=this.actions.layersWindow&&this.actions.layersWindow.refreshLayers();"undefined"!==typeof MathJax&&"undefined"!==typeof MathJax.Hub?e||null==this.editor||(1!=MathJax.Hub.queue.pending||this.editor.graph.mathEnabled||MathJax.Hub.Queue(mxUtils.bind(this,function(){this.editor.graph.refresh()})),MathJax.Hub.Queue(mxUtils.bind(this,function(){e=
-!0}))):"undefined"===typeof Editor.MathJaxClear||null!=this.editor&&this.editor.graph.mathEnabled||(e=!0,Editor.MathJaxClear())});this.editor.graph.model.addListener(mxEvent.CHANGE,mxUtils.bind(this,function(a,b){for(var c=b.getProperty("edit").changes,e=0;e<c.length;e++)if(c[e]instanceof SelectPage||c[e]instanceof RenamePage||c[e]instanceof MovePage||c[e]instanceof mxRootChange){k();break}}));null!=this.toolbar&&this.editor.addListener("pageSelected",this.toolbar.updateZoom)};
+null==this.fileNode||null==this.pages||1==this.pages.length&&"0"==urlParams.pages?"0px":"30px";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(){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,k=0;k<e.length;k++)if(e[k]instanceof SelectPage||e[k]instanceof RenamePage||e[k]instanceof MovePage||e[k]instanceof mxRootChange){c();break}}));null!=this.toolbar&&this.editor.addListener("pageSelected",this.toolbar.updateZoom)};
Graph.prototype.createViewState=function(a){var b=a.getAttribute("page"),e=a.getAttribute("pageScale"),c=a.getAttribute("pageWidth"),k=a.getAttribute("pageHeight"),l=a.getAttribute("background"),q=a.getAttribute("backgroundImage"),q=null!=q&&0<q.length?JSON.parse(q):null;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!=l&&0<l.length?l:this.defaultGraphBackground,backgroundImage:null!=q?new mxImage(q.src,q.width,q.height):null,pageScale:null!=e?e:mxGraph.prototype.pageScale,pageFormat:null!=c&&null!=k?new mxRectangle(0,0,parseFloat(c),parseFloat(k)):this.pageFormat,tooltips:"0"!=a.getAttribute("tooltips"),connect:"0"!=a.getAttribute("connect"),arrows:"0"!=a.getAttribute("arrows"),mathEnabled:"0"!=
a.getAttribute("math"),selectionCells:null,defaultParent:null,scrollbars:this.defaultScrollbars,scale:1}};
@@ -3018,8 +3018,8 @@ EditorUi.prototype.duplicatePage=function(a,b){var e=this.editor.graph,c=null;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.style.backgroundColor="dark"==uiTheme?"#2a2a2a":"#dcdcdc";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="12px";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),k=null,l=0;l<this.pages.length;l++)mxUtils.bind(this,function(c,e){this.pages[c]==this.currentPage?(e.className="geActivePage",e.style.backgroundColor="dark"==uiTheme?"#2a2a2a":"#eeeeee",e.style.fontWeight="bold",e.style.borderTopStyle="none"):e.className="geInactivePage";e.setAttribute("draggable","true");mxEvent.addListener(e,"dragstart",mxUtils.bind(this,function(b){a.isEnabled()?(mxClient.IS_FF&&b.dataTransfer.setData("Text","<diagram/>"),k=c):mxEvent.consume(b)}));mxEvent.addListener(e,
-"dragend",mxUtils.bind(this,function(a){k=null;a.stopPropagation();a.preventDefault()}));mxEvent.addListener(e,"dragover",mxUtils.bind(this,function(a){null!=k&&(a.dataTransfer.dropEffect="move");a.stopPropagation();a.preventDefault()}));mxEvent.addListener(e,"drop",mxUtils.bind(this,function(a){null!=k&&c!=k&&this.movePage(k,c);a.stopPropagation();a.preventDefault()}));b.appendChild(e)})(l,this.createTabForPage(this.pages[l],c,this.pages[l]!=this.currentPage));this.tabContainer.innerHTML="";this.tabContainer.appendChild(b);
+e)/this.pages.length)+1),k=null,l=0;l<this.pages.length;l++)mxUtils.bind(this,function(d,c){this.pages[d]==this.currentPage?(c.className="geActivePage",c.style.backgroundColor="dark"==uiTheme?"#2a2a2a":"#eeeeee",c.style.fontWeight="bold",c.style.borderTopStyle="none"):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/>"),k=d):mxEvent.consume(b)}));mxEvent.addListener(c,
+"dragend",mxUtils.bind(this,function(a){k=null;a.stopPropagation();a.preventDefault()}));mxEvent.addListener(c,"dragover",mxUtils.bind(this,function(a){null!=k&&(a.dataTransfer.dropEffect="move");a.stopPropagation();a.preventDefault()}));mxEvent.addListener(c,"drop",mxUtils.bind(this,function(a){null!=k&&d!=k&&this.movePage(k,d);a.stopPropagation();a.preventDefault()}));b.appendChild(c)})(l,this.createTabForPage(this.pages[l],c,this.pages[l]!=this.currentPage));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 p=this.createControlTab(4,
"&nbsp;&#10095;");p.style.position="absolute";p.style.right=this.editor.chromeless?"0px":"29px";p.style.fontSize="13pt";this.tabContainer.appendChild(p);var v=Math.max(0,this.tabContainer.clientWidth-(this.editor.chromeless?86:116));b.style.width=v+"px";mxEvent.addListener(q,"click",mxUtils.bind(this,function(a){b.scrollLeft-=Math.max(20,v-20);mxUtils.setOpacity(q,0<b.scrollLeft?100:50);mxUtils.setOpacity(p,b.scrollLeft<b.scrollWidth-b.clientWidth?100:50);mxEvent.consume(a)}));mxUtils.setOpacity(q,
0<b.scrollLeft?100:50);mxUtils.setOpacity(p,b.scrollLeft<b.scrollWidth-b.clientWidth?100:50);mxEvent.addListener(p,"click",mxUtils.bind(this,function(a){b.scrollLeft+=Math.max(20,v-20);mxUtils.setOpacity(q,0<b.scrollLeft?100:50);mxUtils.setOpacity(p,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()};
@@ -3039,38 +3039,38 @@ mxResources.get("copyOf",[a.getName()]))}),c)})};(function(){var a=EditorUi.prot
(function(){var a=new mxObjectCodec(new ChangePage,["ui","relatedPage","index","neverShown"]);a.afterEncode=function(a,e,c){c.setAttribute("relatedPage",e.relatedPage.getId());null==e.index&&(c.setAttribute("name",e.relatedPage.getName()),null!=e.relatedPage.root&&a.encodeCell(e.relatedPage.root,c));return c};a.beforeDecode=function(a,e,c){c.ui=a.ui;c.relatedPage=c.ui.getPageById(e.getAttribute("relatedPage"));if(null==c.relatedPage){var b=document.createElement("diagram");b.setAttribute("id",e.getAttribute("relatedPage"));
b.setAttribute("name",e.getAttribute("name"));c.relatedPage=new DiagramPage(b);e=e.cloneNode(!0);b=e.firstChild;if(null!=b)for(c.relatedPage.root=a.decodeCell(b,!1),c=b.nextSibling,b.parentNode.removeChild(b),b=c;null!=b;){c=b.nextSibling;if(b.nodeType==mxConstants.NODETYPE_ELEMENT){var l=b.getAttribute("id");null==a.lookup(l)&&a.decodeCell(b)}b.parentNode.removeChild(b);b=c}}return e};a.afterDecode=function(a,e,c){c.index=c.previousIndex;return c};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",b=Graph.prototype.foldCells;
Graph.prototype.foldCells=function(a,c,e,p,v){c=null!=c?c:!1;null==e&&(e=this.getFoldableCells(this.getSelectionCells(),a));this.stopEditing();this.model.beginUpdate();try{for(var d=e.slice(),f=[],g=0;g<e.length;g++){var k=this.view.getState(e[g]),l=null!=k?k.style:this.getCellStyle(e[g]);"1"==mxUtils.getValue(l,"treeFolding","0")&&(this.traverse(e[g],!0,mxUtils.bind(this,function(a,b){null!=b&&f.push(b);a!=e[g]&&f.push(a);return a==e[g]||!this.model.isCollapsed(a)})),this.model.setCollapsed(e[g],
-a))}for(g=0;g<f.length;g++)this.model.setVisible(f[g],!a);e=d;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 m.isVertex(a)&&c(a)}function c(a){var b=!1;null!=a&&(a=m.getParent(a),b=h.view.getState(a),h.view.getState(a),b="tree"==(null!=b?b.style:h.getCellStyle(a)).containerType);
-return b}function e(a){var b=!1;null!=a&&(a=m.getParent(a),b=h.view.getState(a),h.view.getState(a),b=null!=(null!=b?b.style:h.getCellStyle(a)).childLayout);return b}function p(a){a=h.view.getState(a);if(null!=a){var b=h.getIncomingEdges(a.cell);if(0<b.length&&(b=h.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))}for(g=0;g<f.length;g++)this.model.setVisible(f[g],!a);e=d;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 n.isVertex(a)&&c(a)}function c(a){var b=!1;null!=a&&(a=n.getParent(a),b=h.view.getState(a),h.view.getState(a),b="tree"==(null!=b?b.style:h.getCellStyle(a)).containerType);
+return b}function e(a){var b=!1;null!=a&&(a=n.getParent(a),b=h.view.getState(a),h.view.getState(a),b=null!=(null!=b?b.style:h.getCellStyle(a)).childLayout);return b}function p(a){a=h.view.getState(a);if(null!=a){var b=h.getIncomingEdges(a.cell);if(0<b.length&&(b=h.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 v(a,b){b=null!=b?b:!0;h.model.beginUpdate();try{var c=h.model.getParent(a),d=h.getIncomingEdges(a),e=h.cloneCells([d[0],a]);h.model.setTerminal(e[0],h.model.getTerminal(d[0],!0),!0);var f=p(a),g=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;f==mxConstants.DIRECTION_WEST&&(e[1].geometry.x=a.geometry.x+a.geometry.width-e[1].geometry.width);h.view.currentRoot!=c&&(e[1].geometry.x-=g.x,e[1].geometry.y-=g.y);var k=h.view.getState(a),m=h.view.scale;if(null!=k){var l=mxRectangle.fromRectangle(k);f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH?l.x+=(b?a.geometry.width+10:-e[1].geometry.width-10)*m:l.y+=(b?a.geometry.height+10:-e[1].geometry.height-10)*m;var q=h.getOutgoingEdges(h.model.getTerminal(d[0],
-!0));if(null!=q){for(var n=f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH,r=g=d=0;r<q.length;r++){var t=h.model.getTerminal(q[r],!1);if(f==p(t)){var u=h.view.getState(t);t!=a&&null!=u&&(n&&b!=u.getCenterX()<k.getCenterX()||!n&&b!=u.getCenterY()<k.getCenterY())&&mxUtils.intersects(l,u)&&(d=10+Math.max(d,(Math.min(l.x+l.width,u.x+u.width)-Math.max(l.x,u.x))/m),g=10+Math.max(g,(Math.min(l.y+l.height,u.y+u.height)-Math.max(l.y,u.y))/m))}}n?g=0:d=0;for(r=0;r<q.length;r++)if(t=h.model.getTerminal(q[r],
-!1),f==p(t)&&(u=h.view.getState(t),t!=a&&null!=u&&(n&&b!=u.getCenterX()<k.getCenterX()||!n&&b!=u.getCenterY()<k.getCenterY()))){var v=[];h.traverse(u.cell,!0,function(a,b){null!=b&&v.push(b);v.push(a);return!0});h.moveCells(v,(b?1:-1)*d,(b?1:-1)*g)}}}return h.addCells(e,c)}finally{h.model.endUpdate()}}function d(a){h.model.beginUpdate();try{var b=p(a),c=h.getIncomingEdges(a),d=h.cloneCells([c[0],a]);h.model.setTerminal(c[0],d[1],!1);h.model.setTerminal(d[0],d[1],!0);h.model.setTerminal(d[0],a,!1);
-var e=h.model.getParent(a),f=e.geometry,g=[];h.view.currentRoot!=e&&(d[1].geometry.x-=f.x,d[1].geometry.y-=f.y);h.traverse(a,!0,function(a,b){null!=b&&g.push(b);g.push(a);return!0});var k=a.geometry.width+40,m=a.geometry.height+40;b==mxConstants.DIRECTION_SOUTH?k=0:b==mxConstants.DIRECTION_NORTH?(k=0,m=-40):b==mxConstants.DIRECTION_WEST?(k=-40,m=0):b==mxConstants.DIRECTION_EAST&&(m=0);h.moveCells(g,k,m);return h.addCells(d,e)}finally{h.model.endUpdate()}}function f(a){h.model.beginUpdate();try{var b=
-h.model.getParent(a),c=h.getIncomingEdges(a),d=h.cloneCells([c[0],a]);h.model.setTerminal(d[0],a,!0);var c=h.getOutgoingEdges(a),e=b.geometry,f=[];h.view.currentRoot==b&&(e=new mxRectangle);for(var g=0;g<c.length;g++){var k=h.model.getTerminal(c[g],!1);null!=k&&f.push(k)}var m=h.view.getBounds(f),l=p(a),q=h.view.translate,n=h.view.scale;l==mxConstants.DIRECTION_SOUTH?(d[1].geometry.x=null==m?a.geometry.x+(a.geometry.width-d[1].geometry.width)/2:(m.x+m.width)/n-q.x-e.x+10,d[1].geometry.y+=a.geometry.height-
-e.y+40):l==mxConstants.DIRECTION_NORTH?(d[1].geometry.x=null==m?a.geometry.x+(a.geometry.width-d[1].geometry.width)/2:(m.x+m.width)/n-q.x+-e.x+10,d[1].geometry.y-=d[1].geometry.height-e.y+40):(d[1].geometry.x=l==mxConstants.DIRECTION_WEST?d[1].geometry.x-(d[1].geometry.width-e.x+40):d[1].geometry.x+(a.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)/n-q.y+-e.y+10);return h.addCells(d,b)}finally{h.model.endUpdate()}}function g(a,
-b,c){a=h.getOutgoingEdges(a);c=h.view.getState(c);var d=[];if(null!=c&&null!=a){for(var e=0;e<a.length;e++){var f=h.view.getState(h.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 n(a,b){var c=p(a),d=b==mxConstants.DIRECTION_EAST||b==mxConstants.DIRECTION_WEST;(c==mxConstants.DIRECTION_EAST||
-c==mxConstants.DIRECTION_WEST)==d&&c!=b?r.actions.get("selectParent").funct():c==b?(d=h.getOutgoingEdges(a),null!=d&&0<d.length&&h.setSelectionCell(h.model.getTerminal(d[0],!1))):(c=h.getIncomingEdges(a),null!=c&&0<c.length&&(d=g(h.model.getTerminal(c[0],!0),d,a),c=h.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&&h.setSelectionCell(d[c].cell)))))}var r=this,h=r.editor.graph,m=h.getModel();mxResources.parse("selectChildren=Select Children");
+10:-e[1].geometry.height-10;f==mxConstants.DIRECTION_WEST&&(e[1].geometry.x=a.geometry.x+a.geometry.width-e[1].geometry.width);h.view.currentRoot!=c&&(e[1].geometry.x-=g.x,e[1].geometry.y-=g.y);var k=h.view.getState(a),n=h.view.scale;if(null!=k){var l=mxRectangle.fromRectangle(k);f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH?l.x+=(b?a.geometry.width+10:-e[1].geometry.width-10)*n:l.y+=(b?a.geometry.height+10:-e[1].geometry.height-10)*n;var m=h.getOutgoingEdges(h.model.getTerminal(d[0],
+!0));if(null!=m){for(var q=f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH,r=g=d=0;r<m.length;r++){var t=h.model.getTerminal(m[r],!1);if(f==p(t)){var u=h.view.getState(t);t!=a&&null!=u&&(q&&b!=u.getCenterX()<k.getCenterX()||!q&&b!=u.getCenterY()<k.getCenterY())&&mxUtils.intersects(l,u)&&(d=10+Math.max(d,(Math.min(l.x+l.width,u.x+u.width)-Math.max(l.x,u.x))/n),g=10+Math.max(g,(Math.min(l.y+l.height,u.y+u.height)-Math.max(l.y,u.y))/n))}}q?g=0:d=0;for(r=0;r<m.length;r++)if(t=h.model.getTerminal(m[r],
+!1),f==p(t)&&(u=h.view.getState(t),t!=a&&null!=u&&(q&&b!=u.getCenterX()<k.getCenterX()||!q&&b!=u.getCenterY()<k.getCenterY()))){var v=[];h.traverse(u.cell,!0,function(a,b){null!=b&&v.push(b);v.push(a);return!0});h.moveCells(v,(b?1:-1)*d,(b?1:-1)*g)}}}return h.addCells(e,c)}finally{h.model.endUpdate()}}function d(a){h.model.beginUpdate();try{var b=p(a),c=h.getIncomingEdges(a),d=h.cloneCells([c[0],a]);h.model.setTerminal(c[0],d[1],!1);h.model.setTerminal(d[0],d[1],!0);h.model.setTerminal(d[0],a,!1);
+var e=h.model.getParent(a),f=e.geometry,g=[];h.view.currentRoot!=e&&(d[1].geometry.x-=f.x,d[1].geometry.y-=f.y);h.traverse(a,!0,function(a,b){null!=b&&g.push(b);g.push(a);return!0});var k=a.geometry.width+40,n=a.geometry.height+40;b==mxConstants.DIRECTION_SOUTH?k=0:b==mxConstants.DIRECTION_NORTH?(k=0,n=-40):b==mxConstants.DIRECTION_WEST?(k=-40,n=0):b==mxConstants.DIRECTION_EAST&&(n=0);h.moveCells(g,k,n);return h.addCells(d,e)}finally{h.model.endUpdate()}}function f(a){h.model.beginUpdate();try{var b=
+h.model.getParent(a),c=h.getIncomingEdges(a),d=h.cloneCells([c[0],a]);h.model.setTerminal(d[0],a,!0);var c=h.getOutgoingEdges(a),e=b.geometry,f=[];h.view.currentRoot==b&&(e=new mxRectangle);for(var g=0;g<c.length;g++){var k=h.model.getTerminal(c[g],!1);null!=k&&f.push(k)}var n=h.view.getBounds(f),l=p(a),m=h.view.translate,q=h.view.scale;l==mxConstants.DIRECTION_SOUTH?(d[1].geometry.x=null==n?a.geometry.x+(a.geometry.width-d[1].geometry.width)/2:(n.x+n.width)/q-m.x-e.x+10,d[1].geometry.y+=a.geometry.height-
+e.y+40):l==mxConstants.DIRECTION_NORTH?(d[1].geometry.x=null==n?a.geometry.x+(a.geometry.width-d[1].geometry.width)/2:(n.x+n.width)/q-m.x+-e.x+10,d[1].geometry.y-=d[1].geometry.height-e.y+40):(d[1].geometry.x=l==mxConstants.DIRECTION_WEST?d[1].geometry.x-(d[1].geometry.width-e.x+40):d[1].geometry.x+(a.geometry.width-e.x+40),d[1].geometry.y=null==n?a.geometry.y+(a.geometry.height-d[1].geometry.height)/2:(n.y+n.height)/q-m.y+-e.y+10);return h.addCells(d,b)}finally{h.model.endUpdate()}}function g(a,
+b,c){a=h.getOutgoingEdges(a);c=h.view.getState(c);var d=[];if(null!=c&&null!=a){for(var e=0;e<a.length;e++){var f=h.view.getState(h.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 m(a,b){var c=p(a),d=b==mxConstants.DIRECTION_EAST||b==mxConstants.DIRECTION_WEST;(c==mxConstants.DIRECTION_EAST||
+c==mxConstants.DIRECTION_WEST)==d&&c!=b?r.actions.get("selectParent").funct():c==b?(d=h.getOutgoingEdges(a),null!=d&&0<d.length&&h.setSelectionCell(h.model.getTerminal(d[0],!1))):(c=h.getIncomingEdges(a),null!=c&&0<c.length&&(d=g(h.model.getTerminal(c[0],!0),d,a),c=h.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&&h.setSelectionCell(d[c].cell)))))}var r=this,h=r.editor.graph,n=h.getModel();mxResources.parse("selectChildren=Select Children");
mxResources.parse("selectSiblings=Select Siblings");mxResources.parse("selectDescendants=Select Descendants");mxResources.parse("selectParent=Select Parent");var u=r.menus.createPopupMenu;r.menus.createPopupMenu=function(a,c,d){u.apply(this,arguments);if(1==h.getSelectionCount()){c=h.getSelectionCell();var e=h.getOutgoingEdges(c);a.addSeparator();null!=e&&0<e.length&&(b(h.getSelectionCell())&&this.addMenuItems(a,["selectChildren"],null,d),this.addMenuItems(a,["selectDescendants"],null,d));b(h.getSelectionCell())&&
(a.addSeparator(),0<h.getIncomingEdges(c).length&&this.addMenuItems(a,["selectSiblings","selectParent"],null,d))}};r.actions.addAction("selectChildren",function(){if(h.isEnabled()&&1==h.getSelectionCount()){var a=h.getSelectionCell(),a=h.getOutgoingEdges(a);if(null!=a){for(var b=[],c=0;c<a.length;c++)b.push(h.model.getTerminal(a[c],!1));h.setSelectionCells(b)}}},null,null,"Alt+Shift+X");r.actions.addAction("selectSiblings",function(){if(h.isEnabled()&&1==h.getSelectionCount()){var a=h.getSelectionCell(),
a=h.getIncomingEdges(a);if(null!=a&&0<a.length&&(a=h.getOutgoingEdges(h.model.getTerminal(a[0],!0)),null!=a)){for(var b=[],c=0;c<a.length;c++)b.push(h.model.getTerminal(a[c],!1));h.setSelectionCells(b)}}},null,null,"Alt+Shift+S");r.actions.addAction("selectParent",function(){if(h.isEnabled()&&1==h.getSelectionCount()){var a=h.getSelectionCell(),a=h.getIncomingEdges(a);null!=a&&0<a.length&&h.setSelectionCell(h.model.getTerminal(a[0],!0))}},null,null,"Alt+Shift+P");r.actions.addAction("selectDescendants",
-function(){if(h.isEnabled()&&1==h.getSelectionCount()){var a=h.getSelectionCell(),b=[];h.traverse(a,!0,function(a,c){null!=c&&b.push(c);b.push(a);return!0});h.setSelectionCells(b)}},null,null,"Alt+Shift+T");var w=h.removeCells;h.removeCells=function(a,d){d=null!=d?d:!0;null==a&&(a=this.getDeletableCells(this.getSelectionCells()));d&&(a=this.getDeletableCells(this.addAllEdges(a)));for(var e=[],f=0;f<a.length;f++){var g=a[f];m.isEdge(g)&&c(g)&&(e.push(g),g=m.getTerminal(g,!1));b(g)?(h.traverse(g,!0,
+function(){if(h.isEnabled()&&1==h.getSelectionCount()){var a=h.getSelectionCell(),b=[];h.traverse(a,!0,function(a,c){null!=c&&b.push(c);b.push(a);return!0});h.setSelectionCells(b)}},null,null,"Alt+Shift+T");var w=h.removeCells;h.removeCells=function(a,d){d=null!=d?d:!0;null==a&&(a=this.getDeletableCells(this.getSelectionCells()));d&&(a=this.getDeletableCells(this.addAllEdges(a)));for(var e=[],f=0;f<a.length;f++){var g=a[f];n.isEdge(g)&&c(g)&&(e.push(g),g=n.getTerminal(g,!1));b(g)?(h.traverse(g,!0,
function(a,b){null!=b&&e.push(b);e.push(a);return!0}),g=h.getIncomingEdges(a[f]),a=a.concat(g)):e.push(a[f])}a=e;return w.apply(this,arguments)};r.hoverIcons.getStateAt=function(a,c,d){return b(a.cell)?null:this.graph.view.getState(this.graph.getCellAt(c,d))};var t=h.duplicateCells;h.duplicateCells=function(a,c){a=null!=a?a:this.getSelectionCells();for(var d=a.slice(0),e=0;e<d.length;e++){var f=h.view.getState(d[e]);if(null!=f&&b(f.cell))for(var g=h.getIncomingEdges(f.cell),f=0;f<g.length;f++)mxUtils.remove(g[f],
-a)}this.model.beginUpdate();try{var k=t.call(this,a,c);if(k.length==a.length)for(e=0;e<a.length;e++)if(b(a[e])){var m=h.getIncomingEdges(k[e]),g=h.getIncomingEdges(a[e]);if(0==m.length&&0<g.length){var l=this.cloneCells([g[0]])[0];this.addEdge(l,h.getDefaultParent(),this.model.getTerminal(g[0],!0),k[e])}}}finally{this.model.endUpdate()}return k};var x=h.moveCells;h.moveCells=function(a,c,d,e,f,g,k){var m=null;this.model.beginUpdate();try{var l=f,q=this.view.getState(f),n=null!=q?q.style:this.getCellStyle(f);
-if(null!=a&&b(f)&&"1"==mxUtils.getValue(n,"treeFolding","0")){for(var p=0;p<a.length;p++)if(b(a[p])||h.model.isEdge(a[p])&&null==h.model.getTerminal(a[p],!0)){f=h.model.getParent(a[p]);break}if(null!=l&&f!=l&&null!=this.view.getState(a[0])){var r=h.getIncomingEdges(a[0]);if(0<r.length){var t=h.view.getState(h.model.getTerminal(r[0],!0));if(null!=t){var u=h.view.getState(l);null!=u&&(c=(u.getCenterX()-t.getCenterX())/h.view.scale,d=(u.getCenterY()-t.getCenterY())/h.view.scale)}}}}m=x.apply(this,arguments);
-if(null!=m&&null!=a&&m.length==a.length)for(p=0;p<m.length;p++)if(this.model.isEdge(m[p]))b(l)&&0>mxUtils.indexOf(m,this.model.getTerminal(m[p],!0))&&this.model.setTerminal(m[p],l,!0);else if(b(a[p])&&(r=h.getIncomingEdges(a[p]),0<r.length))if(!e)b(l)&&0>mxUtils.indexOf(a,this.model.getTerminal(r[0],!0))&&this.model.setTerminal(r[0],l,!0);else if(0==h.getIncomingEdges(m[p]).length){q=l;if(null==q||q==h.model.getParent(a[p]))q=h.model.getTerminal(r[0],!0);e=this.cloneCells([r[0]])[0];this.addEdge(e,
-h.getDefaultParent(),q,m[p])}}finally{this.model.endUpdate()}return m};if(null!=r.sidebar){var F=r.sidebar.dropAndConnect;r.sidebar.dropAndConnect=function(a,c,d,e){var f=h.model,g=null;f.beginUpdate();try{if(g=F.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 m=h.getCellGeometry(g[k]);m.points=null;null!=m.getTerminalPoint(!0)&&m.setTerminalPoint(null,!0)}}finally{f.endUpdate()}return g}}var D={88:r.actions.get("selectChildren"),
+a)}this.model.beginUpdate();try{var k=t.call(this,a,c);if(k.length==a.length)for(e=0;e<a.length;e++)if(b(a[e])){var n=h.getIncomingEdges(k[e]),g=h.getIncomingEdges(a[e]);if(0==n.length&&0<g.length){var l=this.cloneCells([g[0]])[0];this.addEdge(l,h.getDefaultParent(),this.model.getTerminal(g[0],!0),k[e])}}}finally{this.model.endUpdate()}return k};var x=h.moveCells;h.moveCells=function(a,c,d,e,f,g,k){var n=null;this.model.beginUpdate();try{var l=f,m=this.view.getState(f),q=null!=m?m.style:this.getCellStyle(f);
+if(null!=a&&b(f)&&"1"==mxUtils.getValue(q,"treeFolding","0")){for(var p=0;p<a.length;p++)if(b(a[p])||h.model.isEdge(a[p])&&null==h.model.getTerminal(a[p],!0)){f=h.model.getParent(a[p]);break}if(null!=l&&f!=l&&null!=this.view.getState(a[0])){var r=h.getIncomingEdges(a[0]);if(0<r.length){var t=h.view.getState(h.model.getTerminal(r[0],!0));if(null!=t){var u=h.view.getState(l);null!=u&&(c=(u.getCenterX()-t.getCenterX())/h.view.scale,d=(u.getCenterY()-t.getCenterY())/h.view.scale)}}}}n=x.apply(this,arguments);
+if(null!=n&&null!=a&&n.length==a.length)for(p=0;p<n.length;p++)if(this.model.isEdge(n[p]))b(l)&&0>mxUtils.indexOf(n,this.model.getTerminal(n[p],!0))&&this.model.setTerminal(n[p],l,!0);else if(b(a[p])&&(r=h.getIncomingEdges(a[p]),0<r.length))if(!e)b(l)&&0>mxUtils.indexOf(a,this.model.getTerminal(r[0],!0))&&this.model.setTerminal(r[0],l,!0);else if(0==h.getIncomingEdges(n[p]).length){m=l;if(null==m||m==h.model.getParent(a[p]))m=h.model.getTerminal(r[0],!0);e=this.cloneCells([r[0]])[0];this.addEdge(e,
+h.getDefaultParent(),m,n[p])}}finally{this.model.endUpdate()}return n};if(null!=r.sidebar){var F=r.sidebar.dropAndConnect;r.sidebar.dropAndConnect=function(a,c,d,e){var f=h.model,g=null;f.beginUpdate();try{if(g=F.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 n=h.getCellGeometry(g[k]);n.points=null;null!=n.getTerminalPoint(!0)&&n.setTerminalPoint(null,!0)}}finally{f.endUpdate()}return g}}var D={88:r.actions.get("selectChildren"),
84:r.actions.get("selectSubtree"),80:r.actions.get("selectParent"),83:r.actions.get("selectSiblings")},G=r.onKeyDown;r.onKeyDown=function(a){try{if(h.isEnabled()&&!h.isEditing()&&b(h.getSelectionCell())&&1==h.getSelectionCount()){var c=null;0<h.getIncomingEdges(h.getSelectionCell()).length&&(9==a.which?c=mxEvent.isShiftDown(a)?d(h.getSelectionCell()):f(h.getSelectionCell()):13==a.which&&(c=v(h.getSelectionCell(),!mxEvent.isShiftDown(a))));if(null!=c&&0<c.length)1==c.length&&h.model.isEdge(c[0])?h.setSelectionCell(h.model.getTerminal(c[0],
-!1)):h.setSelectionCell(c[c.length-1]),null!=r.hoverIcons&&r.hoverIcons.update(h.view.getState(h.getSelectionCell())),h.startEditingAtCell(h.getSelectionCell()),mxEvent.consume(a);else if(mxEvent.isAltDown(a)&&mxEvent.isShiftDown(a)){var e=D[a.keyCode];null!=e&&(e.funct(a),mxEvent.consume(a))}else 37==a.keyCode?(n(h.getSelectionCell(),mxConstants.DIRECTION_WEST),mxEvent.consume(a)):38==a.keyCode?(n(h.getSelectionCell(),mxConstants.DIRECTION_NORTH),mxEvent.consume(a)):39==a.keyCode?(n(h.getSelectionCell(),
-mxConstants.DIRECTION_EAST),mxEvent.consume(a)):40==a.keyCode&&(n(h.getSelectionCell(),mxConstants.DIRECTION_SOUTH),mxEvent.consume(a))}}catch(J){console.log("error",J)}mxEvent.isConsumed(a)||G.apply(this,arguments)};var B=h.connectVertex;h.connectVertex=function(a,c,e,g,k,m){var l=h.getIncomingEdges(a);return b(a)&&0<l.length?(e=p(a),g=e==mxConstants.DIRECTION_EAST||e==mxConstants.DIRECTION_WEST,k=c==mxConstants.DIRECTION_EAST||c==mxConstants.DIRECTION_WEST,e==c?f(a):g==k?d(a):v(a,c!=mxConstants.DIRECTION_NORTH&&
-c!=mxConstants.DIRECTION_WEST)):B.call(this,a,c,e,g,k,m)};h.getSubtree=function(a){var c=[a];b(a)&&!e(a)&&h.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 y=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){y.apply(this,arguments);b(this.state.cell)&&0<this.graph.getOutgoingEdges(this.state.cell).length&&(this.moveHandle=mxUtils.createImage(a),this.moveHandle.setAttribute("title","Move Subtree"),
+!1)):h.setSelectionCell(c[c.length-1]),null!=r.hoverIcons&&r.hoverIcons.update(h.view.getState(h.getSelectionCell())),h.startEditingAtCell(h.getSelectionCell()),mxEvent.consume(a);else if(mxEvent.isAltDown(a)&&mxEvent.isShiftDown(a)){var e=D[a.keyCode];null!=e&&(e.funct(a),mxEvent.consume(a))}else 37==a.keyCode?(m(h.getSelectionCell(),mxConstants.DIRECTION_WEST),mxEvent.consume(a)):38==a.keyCode?(m(h.getSelectionCell(),mxConstants.DIRECTION_NORTH),mxEvent.consume(a)):39==a.keyCode?(m(h.getSelectionCell(),
+mxConstants.DIRECTION_EAST),mxEvent.consume(a)):40==a.keyCode&&(m(h.getSelectionCell(),mxConstants.DIRECTION_SOUTH),mxEvent.consume(a))}}catch(J){console.log("error",J)}mxEvent.isConsumed(a)||G.apply(this,arguments)};var B=h.connectVertex;h.connectVertex=function(a,c,e,g,k,n){var l=h.getIncomingEdges(a);return b(a)&&0<l.length?(e=p(a),g=e==mxConstants.DIRECTION_EAST||e==mxConstants.DIRECTION_WEST,k=c==mxConstants.DIRECTION_EAST||c==mxConstants.DIRECTION_WEST,e==c?f(a):g==k?d(a):v(a,c!=mxConstants.DIRECTION_NORTH&&
+c!=mxConstants.DIRECTION_WEST)):B.call(this,a,c,e,g,k,n)};h.getSubtree=function(a){var c=[a];b(a)&&!e(a)&&h.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 y=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){y.apply(this,arguments);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.graphHandler.cells=this.graph.getSubtree(this.state.cell);this.graph.graphHandler.bounds=this.state.view.getBounds(this.graph.graphHandler.cells);
this.graph.graphHandler.pBounds=this.graph.graphHandler.getPreviewBounds(this.graph.graphHandler.cells);this.graph.graphHandler.cellWasClicked=!0;this.graph.isMouseTrigger=mxEvent.isMouseEvent(a);this.graph.isMouseDown=!0;mxEvent.consume(a)})))};var C=mxVertexHandler.prototype.redrawHandles;mxVertexHandler.prototype.redrawHandles=function(){C.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 I=mxVertexHandler.prototype.destroy;mxVertexHandler.prototype.destroy=function(a,b){I.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.editorUi.editor.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 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;");
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;");c.vertex=!0;var d=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");d.geometry.relative=!0;d.edge=!0;b.insertEdge(d,!0);c.insertEdge(d,!1);var e=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;");
e.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);e.insertEdge(g,!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;");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 h=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;");h.vertex=!0;var m=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");
-m.geometry.relative=!0;m.edge=!0;b.insertEdge(m,!0);h.insertEdge(m,!1);a.insert(d);a.insert(g);a.insert(l);a.insert(m);a.insert(b);a.insert(c);a.insert(e);a.insert(k);a.insert(h);return sb.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree mindmap 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;");a.vertex=!0;return sb.createVertexTemplateFromCells([a],
+l.geometry.relative=!0;l.edge=!0;b.insertEdge(l,!0);k.insertEdge(l,!1);var h=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;");h.vertex=!0;var n=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");
+n.geometry.relative=!0;n.edge=!0;b.insertEdge(n,!0);h.insertEdge(n,!1);a.insert(d);a.insert(g);a.insert(l);a.insert(n);a.insert(b);a.insert(c);a.insert(e);a.insert(k);a.insert(h);return sb.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree mindmap 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;");a.vertex=!0;return sb.createVertexTemplateFromCells([a],
a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree mindmap 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;");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 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;");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 c=new mxCell("Organization",
@@ -3079,15 +3079,14 @@ c.insertEdge(d,!0);e.insertEdge(d,!1);var f=new mxCell("Division",new mxGeometry
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;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;");
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;");
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;");c.vertex=!0;var d=new mxCell("",new mxGeometry(0,
-0,0,0),"edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=none;rounded=0;targetPortConstraint=eastwest;sourcePortConstraint=northsouth;");d.geometry.setTerminalPoint(new mxPoint(110,-40),!0);d.geometry.relative=!0;d.edge=!0;c.insertEdge(d,!1);return sb.createVertexTemplateFromCells([b,d,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 k(a,mxResources.get("format"),Math.max(20,a.diagramContainer.clientWidth-240-12),56,240,Math.min(546,b.container.clientHeight-10),function(b){b=a.createFormat(b);b.init();return b}),a.formatWindow.window.addListener("show",function(){a.fireEvent(new mxEventObject("format"))}),a.formatWindow.window.addListener("format",function(){a.fireEvent(new mxEventObject("format"))}),
-a.formatWindow.window.minimumSize=new mxRectangle(0,0,240,80),a.formatWindow.window.setVisible(!0),a.fireEvent(new mxEventObject("sidebar"))):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,266);a.sidebarWindow=new k(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;";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";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("1"!=urlParams.embed||"1"==urlParams.libraries)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.left="0",d=c("openLibraryFrom",mxResources.get("openLibraryFrom")),d.style.borderLeft="1px solid lightgray",d.style.left="50%";else d.style.bottom="0";b.appendChild(a.sidebar.container);b.style.overflow="hidden";return b});a.sidebarWindow.window.addListener("show",function(){a.fireEvent(new mxEventObject("sidebar"))});
-a.sidebarWindow.window.addListener("sidebar",function(){a.fireEvent(new mxEventObject("sidebar"))});a.sidebarWindow.window.minimumSize=new mxRectangle(0,0,90,90);a.sidebarWindow.window.setVisible(!0);a.fireEvent(new mxEventObject("sidebar"));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){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 div.diagramContainer button, html body button.geBtn { font-size:14px; font-weight:700;border-radius: 5px; }html body button.geBtn:active { opacity: 0.6; }.geDialog input, .geToolbarContainer input, .mxWindow input {padding:2px !important;display:inline-block !important; }div.geDialog { border-radius: 5px; }html body div.geDialog button.geBigButton { color: #fff !important; }.mxWindow button, .geDialog select, .mxWindow select { display:inline-block; }.mxWindow .geColorBtn, .geDialog .geColorBtn { background: none !important; }html body div.diagramContainer button, html body .mxWindow button, html body .geDialog button { min-width: 0px; border-radius: 5px; color: #353535 !important; border-color: rgb(216, 216, 216); }div.diagramContainer button.geBtn, .mxWindow button.geBtn, .geDialog button.geBtn { min-width:72px; font-weight: 600; background: none; }div.diagramContainer button.geBtn:hover, .mxWindow button.geBtn:hover, .geDialog button.geBtn:hover { box-shadow: none; border-color: rgb(216, 216, 216); }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:2px; 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 0 2px 0; 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); }a.geMenuItem:active { opacity: 0.4; }.geToolbarContainer { background:#fff !important; }div.mxWindow .geSidebarContainer .geTitle { background-color:#fdfdfd; }div.mxWindow .geSidebarContainer .geTitle:hover { background-color:#fafafa; }div.geSidebar { background-color: #fff !important;}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:lightgray !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.5) !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; }";
-document.getElementsByTagName("head")[0].appendChild(c)}catch(m){}var k=function(a,b,c,d,e,f,g){a=document.createElement("div");a.className="geSidebarContainer";a.style.position="absolute";a.style.width="100%";a.style.height="100%";a.style.border="1px solid whiteSmoke";a.style.overflowX="hidden";a.style.overflowY="auto";g(a);this.window=new mxWindow(b,a,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);
+0,0,0),"edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=none;rounded=0;targetPortConstraint=eastwest;sourcePortConstraint=northsouth;");d.geometry.setTerminalPoint(new mxPoint(110,-40),!0);d.geometry.relative=!0;d.edge=!0;c.insertEdge(d,!1);return sb.createVertexTemplateFromCells([b,d,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 k(a,mxResources.get("format"),Math.max(20,a.diagramContainer.clientWidth-240-12),56,240,Math.min(546,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,266);a.sidebarWindow=new k(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;";
+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";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.left=
+"0",d=c("openLibraryFrom",mxResources.get("openLibraryFrom")),d.style.borderLeft="1px solid lightgray",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){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 div.diagramContainer button, html body button.geBtn { font-size:14px; font-weight:700;border-radius: 5px; }html body button.geBtn:active { opacity: 0.6; }.geDialog input, .geToolbarContainer input, .mxWindow input {padding:2px !important;display:inline-block !important; }div.geDialog { border-radius: 5px; }html body div.geDialog button.geBigButton { color: #fff !important; }.mxWindow button, .geDialog select, .mxWindow select { display:inline-block; }.mxWindow .geColorBtn, .geDialog .geColorBtn { background: none !important; }html body div.diagramContainer button, html body .mxWindow button, html body .geDialog button { min-width: 0px; border-radius: 5px; color: #353535 !important; border-color: rgb(216, 216, 216); }div.diagramContainer button.geBtn, .mxWindow button.geBtn, .geDialog button.geBtn { min-width:72px; font-weight: 600; background: none; }div.diagramContainer button.geBtn:hover, .mxWindow button.geBtn:hover, .geDialog button.geBtn:hover { box-shadow: none; border-color: rgb(216, 216, 216); }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:2px; 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 0 2px 0; 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); }a.geMenuItem:active { opacity: 0.4; }.geToolbarContainer { background:#fff !important; }div.mxWindow .geSidebarContainer .geTitle { background-color:#fdfdfd; }div.mxWindow .geSidebarContainer .geTitle:hover { background-color:#fafafa; }div.geSidebar { background-color: #fff !important;}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:lightgray !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.5) !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; }";
+document.getElementsByTagName("head")[0].appendChild(c)}catch(n){}var k=function(a,b,c,d,e,f,g){a=document.createElement("div");a.className="geSidebarContainer";a.style.position="absolute";a.style.width="100%";a.style.height="100%";a.style.border="1px solid whiteSmoke";a.style.overflowX="hidden";a.style.overflowY="auto";g(a);this.window=new mxWindow(b,a,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)}};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;mxVertexHandler.prototype.handleImage=Graph.createSvgImage(16,16,'<circle cx="8" cy="8" r="5" stroke="#ffffff" fill="#29b6f2"/>');
mxEdgeHandler.prototype.handleImage=mxVertexHandler.prototype.handleImage;mxEdgeHandler.prototype.terminalHandleImage=Graph.createSvgImage(16,16,'<circle cx="8" cy="8" r="5" stroke="#ffffff" fill="#29b6f2"/><circle cx="8" cy="8" r="3" stroke="#ffffff" fill="#29b6f2"/>');mxEdgeHandler.prototype.fixedHandleImage=Graph.createSvgImage(16,16,'<circle cx="8" cy="8" r="5" stroke="#ffffff" fill="#29b6f2"/><path d="m 6 6 L 10 10 M 6 10 L 10 6" stroke="#ffffff"/>');mxConstraintHandler.prototype.pointImage=
@@ -3104,10 +3103,10 @@ b.setAttribute("title",mxResources.get("save")+" ("+Editor.ctrlKey+"+S)");b.clas
mxResources.get("saveAndExit")),b.className="geMenuItem gePrimaryBtn",b.style.fontSize="14px",b.style.marginLeft="6px",b.style.padding="6px",b.style.cursor="pointer",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.fontSize="14px";b.style.marginLeft="6px";b.style.padding="6px";
b.style.cursor="pointer";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 f=Menus.prototype.createPopupMenu;Menus.prototype.createPopupMenu=function(a,b,c){var d=this.editorUi.editor.graph;a.smartSeparators=!0;f.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==d.getSelectionCount()?(this.addMenuItems(a,["editTooltip","-"],null,c),d.isCellFoldable(d.getSelectionCell())&&this.addMenuItems(a,d.isCellCollapsed(b)?["expand"]:["collapse"],null,c),this.addMenuItems(a,["lockUnlock","enterGroup"],null,c),a.addSeparator(),this.addSubmenu("layout",
-a)):d.isSelectionEmpty()&&d.isEnabled()?(a.addSeparator(),this.addSubmenu("insert",a),this.addSubmenu("layout",a),a.addSeparator(),this.addSubmenu("options",a),this.addMenuItems(a,["-","exitGroup"],null,c)):d.isEnabled()&&this.addMenuItems(a,["-","lockUnlock"],null,c)};EditorUi.prototype.toggleFormatPanel=function(a){null!=this.formatWindow&&this.formatWindow.window.setVisible(a?!1:!this.formatWindow.window.isVisible())};DiagramFormatPanel.prototype.isMathOptionVisible=function(a){return!0};var g=
+a)):d.isSelectionEmpty()&&d.isEnabled()?(a.addSeparator(),this.addSubmenu("insert",a),this.addSubmenu("layout",a),a.addSeparator(),this.addSubmenu("options",a),this.addMenuItems(a,["-","exitGroup"],null,c)):d.isEnabled()&&this.addMenuItems(a,["-","lockUnlock"],null,c)};EditorUi.prototype.toggleFormatPanel=function(a){null!=this.formatWindow&&this.formatWindow.window.setVisible(a?!1:!this.formatWindow.window.isVisible())};DiagramFormatPanel.prototype.isMathOptionVisible=function(){return!0};var g=
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);g.apply(this,arguments)};var n=EditorUi.prototype.setGraphEnabled;EditorUi.prototype.setGraphEnabled=
-function(a){n.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 r=Menus.prototype.init;Menus.prototype.init=function(){r.apply(this,arguments);var c=this.editorUi,d=c.editor.graph;c.actions.get("insertText").label=mxResources.get("text");c.actions.get("insertText").label=mxResources.get("text");c.actions.get("editDiagram").label=mxResources.get("formatXml")+
+(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);g.apply(this,arguments)};var m=EditorUi.prototype.setGraphEnabled;EditorUi.prototype.setGraphEnabled=
+function(a){m.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 r=Menus.prototype.init;Menus.prototype.init=function(){r.apply(this,arguments);var c=this.editorUi,d=c.editor.graph;c.actions.get("insertText").label=mxResources.get("text");c.actions.get("insertText").label=mxResources.get("text");c.actions.get("editDiagram").label=mxResources.get("formatXml")+
"...";c.actions.get("insertRectangle").label=mxResources.get("rectangle");c.actions.get("insertEllipse").label=mxResources.get("ellipse");c.actions.get("insertRhombus").label=mxResources.get("rhombus");c.actions.get("insertImage").label=mxResources.get("image")+"...";c.actions.get("insertLink").label=mxResources.get("link")+"...";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("importFile",new Action("File...",function(){d.popupMenuHandler.hideMenu();var a=document.createElement("input");a.setAttribute("type","file");mxEvent.addListener(a,"change",function(){null!=a.files&&c.importFiles(a.files,null,null,c.maxImageSize)});a.click()}));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.actions.put("plantUml",
@@ -3126,7 +3125,7 @@ b.style.verticalAlign="top";b.style.marginRight="6px";b.style.padding="0 4px 0 4
"63px":"32px";this.sidebar=this.createSidebar(d);var f=this,g=f.editor.graph;f.toolbar=this.createToolbar(f.createDiv("geToolbar"));f.defaultLibraryName=mxResources.get("untitledLibrary");var k=document.createElement("div");k.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 l=new Menubar(f,k);(d=900>e)||a("diagram");c([d?a("diagram",null,IMAGE_PATH+"/drawlogo-gray.svg",
100):null,b(mxResources.get("shapes"),f.actions.get("toggleShapes").funct,null,mxResources.get("shapes"),f.actions.get("image"),d?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTMgMTN2OGg4di04aC04ek0zIDIxaDh2LThIM3Y4ek0zIDN2OGg4VjNIM3ptMTMuNjYtMS4zMUwxMSA3LjM0IDE2LjY2IDEzbDUuNjYtNS42Ni01LjY2LTUuNjV6Ii8+PC9zdmc+":null),b(mxResources.get("format"),f.actions.get("toggleFormat").funct,null,mxResources.get("format")+
" ("+f.actions.get("formatPanel").shortcut+")",f.actions.get("image"),d?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIgM2MtNC45NyAwLTkgNC4wMy05IDlzNC4wMyA5IDkgOWMuODMgMCAxLjUtLjY3IDEuNS0xLjUgMC0uMzktLjE1LS43NC0uMzktMS4wMS0uMjMtLjI2LS4zOC0uNjEtLjM4LS45OSAwLS44My42Ny0xLjUgMS41LTEuNUgxNmMyLjc2IDAgNS0yLjI0IDUtNSAwLTQuNDItNC4wMy04LTktOHptLTUuNSA5Yy0uODMgMC0xLjUtLjY3LTEuNS0xLjVTNS42NyA5IDYuNSA5IDggOS42NyA4IDEwLjUgNy4zMyAxMiA2LjUgMTJ6bTMtNEM4LjY3IDggOCA3LjMzIDggNi41UzguNjcgNSA5LjUgNXMxLjUuNjcgMS41IDEuNVMxMC4zMyA4IDkuNSA4em01IDBjLS44MyAwLTEuNS0uNjctMS41LTEuNVMxMy42NyA1IDE0LjUgNXMxLjUuNjcgMS41IDEuNVMxNS4zMyA4IDE0LjUgOHptMyA0Yy0uODMgMC0xLjUtLjY3LTEuNS0xLjVTMTYuNjcgOSAxNy41IDlzMS41LjY3IDEuNSAxLjUtLjY3IDEuNS0xLjUgMS41eiIvPjwvc3ZnPg==":
-null)]);var n=a("insert",!0,d?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTkgMTNoLTZ2NmgtMnYtNkg1di0yaDZWNWgydjZoNnYyeiIvPjwvc3ZnPg==":null,40);c([n,b(mxResources.get("delete"),f.actions.get("delete").funct,null,mxResources.get("delete"),f.actions.get("delete"),d?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNiAxOWMwIDEuMS45IDIgMiAyaDhjMS4xIDAgMi0uOSAyLTJWN0g2djEyek0xOSA0aC0zLjVsLTEtMWgtNWwtMSAxSDV2MmgxNFY0eiIvPjwvc3ZnPg==":
+null)]);var m=a("insert",!0,d?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTkgMTNoLTZ2NmgtMnYtNkg1di0yaDZWNWgydjZoNnYyeiIvPjwvc3ZnPg==":null,40);c([m,b(mxResources.get("delete"),f.actions.get("delete").funct,null,mxResources.get("delete"),f.actions.get("delete"),d?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNiAxOWMwIDEuMS45IDIgMiAyaDhjMS4xIDAgMi0uOSAyLTJWN0g2djEyek0xOSA0aC0zLjVsLTEtMWgtNWwtMSAxSDV2MmgxNFY0eiIvPjwvc3ZnPg==":
null)]);if(480<=e){var p=f.actions.get("undo"),d=f.actions.get("redo"),p=b("",p.funct,null,mxResources.get("undo")+" ("+p.shortcut+")",p,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIuNSA4Yy0yLjY1IDAtNS4wNS45OS02LjkgMi42TDIgN3Y5aDlsLTMuNjItMy42MmMxLjM5LTEuMTYgMy4xNi0xLjg4IDUuMTItMS44OCAzLjU0IDAgNi41NSAyLjMxIDcuNiA1LjVsMi4zNy0uNzhDMjEuMDggMTEuMDMgMTcuMTUgOCAxMi41IDh6Ii8+PC9zdmc+"),d=b("",d.funct,
null,mxResources.get("redo")+" ("+d.shortcut+")",d,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTguNCAxMC42QzE2LjU1IDguOTkgMTQuMTUgOCAxMS41IDhjLTQuNjUgMC04LjU4IDMuMDMtOS45NiA3LjIyTDMuOSAxNmMxLjA1LTMuMTkgNC4wNS01LjUgNy42LTUuNSAxLjk1IDAgMy43My43MiA1LjEyIDEuODhMMTMgMTZoOVY3bC0zLjYgMy42eiIvPjwvc3ZnPg==");c([p,d]);if(560<=e){var d=f.actions.get("zoomIn"),p=f.actions.get("zoomOut"),q=f.actions.get("resetView");
c([b("",function(){g.popupMenuHandler.hideMenu();var a=g.view.scale,b=g.view.translate.x,c=g.view.translate.y;f.actions.get("resetView").funct();1E-5>Math.abs(a-g.view.scale)&&b==g.view.translate.x&&c==g.view.translate.y&&f.actions.get(g.pageVisible?"fitPage":"fitWindow").funct()},!0,mxResources.get("fit")+" ("+Editor.ctrlKey+"+H)",q,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMyA1djRoMlY1aDRWM0g1Yy0xLjEgMC0yIC45LTIgMnptMiAxMEgzdjRjMCAxLjEuOSAyIDIgMmg0di0ySDV2LTR6bTE0IDRoLTR2Mmg0YzEuMSAwIDItLjkgMi0ydi00aC0ydjR6bTAtMTZoLTR2Mmg0djRoMlY1YzAtMS4xLS45LTItMi0yeiIvPjwvc3ZnPg=="),
@@ -3134,11 +3133,11 @@ c([b("",function(){g.popupMenuHandler.hideMenu();var a=g.view.scale,b=g.view.tra
null,640<=e?b("",p.funct,!0,mxResources.get("zoomOut")+" ("+Editor.ctrlKey+" -)",p,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTUuNSAxNGgtLjc5bC0uMjgtLjI3QzE1LjQxIDEyLjU5IDE2IDExLjExIDE2IDkuNSAxNiA1LjkxIDEzLjA5IDMgOS41IDNTMyA1LjkxIDMgOS41IDUuOTEgMTYgOS41IDE2YzEuNjEgMCAzLjA5LS41OSA0LjIzLTEuNTdsLjI3LjI4di43OWw1IDQuOTlMMjAuNDkgMTlsLTQuOTktNXptLTYgMEM3LjAxIDE0IDUgMTEuOTkgNSA5LjVTNy4wMSA1IDkuNSA1IDE0IDcuMDEgMTQgOS41IDExLjk5IDE0IDkuNSAxNHpNNyA5aDV2MUg3eiIvPjwvc3ZnPg=="):
null])}}f.statusContainer=f.createStatusContainer();f.statusContainer.style.position="relative";f.statusContainer.style.maxWidth="";f.statusContainer.style.marginTop="7px";f.statusContainer.style.marginLeft="6px";f.statusContainer.style.color="gray";f.statusContainer.style.cursor="default";f.editor.addListener("statusChanged",mxUtils.bind(this,function(){f.setStatusText(f.editor.getStatus())}));var r=f.descriptorChanged;f.descriptorChanged=function(){r.apply(this,arguments);var a=f.getCurrentFile();
if(null!=a&&null!=a.getTitle()){var b=a.getMode();"google"==b?b="googleDrive":"github"==b?b="gitHub":"onedrive"==b&&(b="oneDrive");b=mxResources.get(b);k.setAttribute("title",a.getTitle()+(null!=b?" ("+b+")":""))}else k.removeAttribute("title")};f.setStatusText(f.editor.getStatus());k.appendChild(f.statusContainer);f.buttonContainer=document.createElement("div");f.buttonContainer.style.cssText="position:absolute;right:40px;top:12px;white-space:nowrap;";k.appendChild(f.buttonContainer);f.menubarContainer=
-f.buttonContainer;d=this.menus.get("language");null!=d&&!mxClient.IS_CHROMEAPP&&!EditorUi.isElectronApp&&480<=e&&(n=l.addMenu("",d.funct),n.setAttribute("title",mxResources.get("language")),n.style.backgroundImage="url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTEuOTkgMkM2LjQ3IDIgMiA2LjQ4IDIgMTJzNC40NyAxMCA5Ljk5IDEwQzE3LjUyIDIyIDIyIDE3LjUyIDIyIDEyUzE3LjUyIDIgMTEuOTkgMnptNi45MyA2aC0yLjk1Yy0uMzItMS4yNS0uNzgtMi40NS0xLjM4LTMuNTYgMS44NC42MyAzLjM3IDEuOTEgNC4zMyAzLjU2ek0xMiA0LjA0Yy44MyAxLjIgMS40OCAyLjUzIDEuOTEgMy45NmgtMy44MmMuNDMtMS40MyAxLjA4LTIuNzYgMS45MS0zLjk2ek00LjI2IDE0QzQuMSAxMy4zNiA0IDEyLjY5IDQgMTJzLjEtMS4zNi4yNi0yaDMuMzhjLS4wOC42Ni0uMTQgMS4zMi0uMTQgMiAwIC42OC4wNiAxLjM0LjE0IDJINC4yNnptLjgyIDJoMi45NWMuMzIgMS4yNS43OCAyLjQ1IDEuMzggMy41Ni0xLjg0LS42My0zLjM3LTEuOS00LjMzLTMuNTZ6bTIuOTUtOEg1LjA4Yy45Ni0xLjY2IDIuNDktMi45MyA0LjMzLTMuNTZDOC44MSA1LjU1IDguMzUgNi43NSA4LjAzIDh6TTEyIDE5Ljk2Yy0uODMtMS4yLTEuNDgtMi41My0xLjkxLTMuOTZoMy44MmMtLjQzIDEuNDMtMS4wOCAyLjc2LTEuOTEgMy45NnpNMTQuMzQgMTRIOS42NmMtLjA5LS42Ni0uMTYtMS4zMi0uMTYtMiAwLS42OC4wNy0xLjM1LjE2LTJoNC42OGMuMDkuNjUuMTYgMS4zMi4xNiAyIDAgLjY4LS4wNyAxLjM0LS4xNiAyem0uMjUgNS41NmMuNi0xLjExIDEuMDYtMi4zMSAxLjM4LTMuNTZoMi45NWMtLjk2IDEuNjUtMi40OSAyLjkzLTQuMzMgMy41NnpNMTYuMzYgMTRjLjA4LS42Ni4xNC0xLjMyLjE0LTIgMC0uNjgtLjA2LTEuMzQtLjE0LTJoMy4zOGMuMTYuNjQuMjYgMS4zMS4yNiAycy0uMSAxLjM2LS4yNiAyaC0zLjM4eiIvPjwvc3ZnPg==)",
-n.style.backgroundPosition="center center",n.style.backgroundRepeat="no-repeat",n.style.backgroundSize="24px 24px",n.style.position="absolute",n.style.height="24px",n.style.width="24px",n.style.zIndex="1",n.style.top="11px",n.style.right="14px",mxUtils.setOpacity(n,30),k.appendChild(n));f.tabContainer=document.createElement("div");f.tabContainer.style.cssText="position:absolute;left:0px;right:0px;bottom:0px;height:30px;white-space:nowrap;border-bottom:1px solid lightgray;background-color:#ffffff;border-top:1px solid lightgray;margin-bottom:-2px;";
-d=f.diagramContainer.parentNode;p=document.createElement("div");p.style.cssText="position:absolute;top:0px;left:0px;right:0px;bottom:0px;overflow:hidden;";f.diagramContainer.style.top="47px";f.diagramContainer.style.bottom="30px";q=f.menus.get("viewZoom");if(null!=q){this.tabContainer.style.right="70px";n=l.addMenu("100%",q.funct);n.setAttribute("title",mxResources.get("zoom")+" (Alt+Mousewheel)");n.style.whiteSpace="nowrap";n.style.backgroundImage="url("+mxWindow.prototype.minimizeImage+")";n.style.backgroundPosition=
-"right 6px center";n.style.backgroundRepeat="no-repeat";n.style.paddingRight="10px";n.style.display="block";n.style.position="absolute";n.style.textDecoration="none";n.style.textDecoration="none";n.style.right="0px";n.style.bottom="0px";n.style.overflow="hidden";n.style.textAlign="center";n.style.color="#000";n.style.fontSize="12px";n.style.color="#707070";n.style.width="59px";n.style.borderTop="1px solid lightgray";n.style.borderLeft="1px solid lightgray";n.style.height=parseInt(f.tabContainer.style.height)-
-1+"px";n.style.lineHeight=parseInt(f.tabContainer.style.height)+1+"px";p.appendChild(n);q=mxUtils.bind(this,function(){n.innerHTML=Math.round(100*f.editor.graph.view.scale)+"%"});f.editor.graph.view.addListener(mxEvent.EVENT_SCALE,q);f.editor.addListener("resetGraphView",q);f.editor.addListener("pageSelected",q);var v=f.setGraphEnabled;f.setGraphEnabled=function(){v.apply(this,arguments);null!=this.tabContainer&&(n.style.visibility=this.tabContainer.style.visibility)}}p.appendChild(f.tabContainer);
+f.buttonContainer;d=this.menus.get("language");null!=d&&!mxClient.IS_CHROMEAPP&&!EditorUi.isElectronApp&&480<=e&&(m=l.addMenu("",d.funct),m.setAttribute("title",mxResources.get("language")),m.style.backgroundImage="url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTEuOTkgMkM2LjQ3IDIgMiA2LjQ4IDIgMTJzNC40NyAxMCA5Ljk5IDEwQzE3LjUyIDIyIDIyIDE3LjUyIDIyIDEyUzE3LjUyIDIgMTEuOTkgMnptNi45MyA2aC0yLjk1Yy0uMzItMS4yNS0uNzgtMi40NS0xLjM4LTMuNTYgMS44NC42MyAzLjM3IDEuOTEgNC4zMyAzLjU2ek0xMiA0LjA0Yy44MyAxLjIgMS40OCAyLjUzIDEuOTEgMy45NmgtMy44MmMuNDMtMS40MyAxLjA4LTIuNzYgMS45MS0zLjk2ek00LjI2IDE0QzQuMSAxMy4zNiA0IDEyLjY5IDQgMTJzLjEtMS4zNi4yNi0yaDMuMzhjLS4wOC42Ni0uMTQgMS4zMi0uMTQgMiAwIC42OC4wNiAxLjM0LjE0IDJINC4yNnptLjgyIDJoMi45NWMuMzIgMS4yNS43OCAyLjQ1IDEuMzggMy41Ni0xLjg0LS42My0zLjM3LTEuOS00LjMzLTMuNTZ6bTIuOTUtOEg1LjA4Yy45Ni0xLjY2IDIuNDktMi45MyA0LjMzLTMuNTZDOC44MSA1LjU1IDguMzUgNi43NSA4LjAzIDh6TTEyIDE5Ljk2Yy0uODMtMS4yLTEuNDgtMi41My0xLjkxLTMuOTZoMy44MmMtLjQzIDEuNDMtMS4wOCAyLjc2LTEuOTEgMy45NnpNMTQuMzQgMTRIOS42NmMtLjA5LS42Ni0uMTYtMS4zMi0uMTYtMiAwLS42OC4wNy0xLjM1LjE2LTJoNC42OGMuMDkuNjUuMTYgMS4zMi4xNiAyIDAgLjY4LS4wNyAxLjM0LS4xNiAyem0uMjUgNS41NmMuNi0xLjExIDEuMDYtMi4zMSAxLjM4LTMuNTZoMi45NWMtLjk2IDEuNjUtMi40OSAyLjkzLTQuMzMgMy41NnpNMTYuMzYgMTRjLjA4LS42Ni4xNC0xLjMyLjE0LTIgMC0uNjgtLjA2LTEuMzQtLjE0LTJoMy4zOGMuMTYuNjQuMjYgMS4zMS4yNiAycy0uMSAxLjM2LS4yNiAyaC0zLjM4eiIvPjwvc3ZnPg==)",
+m.style.backgroundPosition="center center",m.style.backgroundRepeat="no-repeat",m.style.backgroundSize="24px 24px",m.style.position="absolute",m.style.height="24px",m.style.width="24px",m.style.zIndex="1",m.style.top="11px",m.style.right="14px",mxUtils.setOpacity(m,30),k.appendChild(m));f.tabContainer=document.createElement("div");f.tabContainer.style.cssText="position:absolute;left:0px;right:0px;bottom:0px;height:30px;white-space:nowrap;border-bottom:1px solid lightgray;background-color:#ffffff;border-top:1px solid lightgray;margin-bottom:-2px;";
+d=f.diagramContainer.parentNode;p=document.createElement("div");p.style.cssText="position:absolute;top:0px;left:0px;right:0px;bottom:0px;overflow:hidden;";f.diagramContainer.style.top="47px";f.diagramContainer.style.bottom="30px";q=f.menus.get("viewZoom");if(null!=q){this.tabContainer.style.right="70px";m=l.addMenu("100%",q.funct);m.setAttribute("title",mxResources.get("zoom")+" (Alt+Mousewheel)");m.style.whiteSpace="nowrap";m.style.backgroundImage="url("+mxWindow.prototype.minimizeImage+")";m.style.backgroundPosition=
+"right 6px center";m.style.backgroundRepeat="no-repeat";m.style.paddingRight="10px";m.style.display="block";m.style.position="absolute";m.style.textDecoration="none";m.style.textDecoration="none";m.style.right="0px";m.style.bottom="0px";m.style.overflow="hidden";m.style.textAlign="center";m.style.color="#000";m.style.fontSize="12px";m.style.color="#707070";m.style.width="59px";m.style.borderTop="1px solid lightgray";m.style.borderLeft="1px solid lightgray";m.style.height=parseInt(f.tabContainer.style.height)-
+1+"px";m.style.lineHeight=parseInt(f.tabContainer.style.height)+1+"px";p.appendChild(m);q=mxUtils.bind(this,function(){m.innerHTML=Math.round(100*f.editor.graph.view.scale)+"%"});f.editor.graph.view.addListener(mxEvent.EVENT_SCALE,q);f.editor.addListener("resetGraphView",q);f.editor.addListener("pageSelected",q);var v=f.setGraphEnabled;f.setGraphEnabled=function(){v.apply(this,arguments);null!=this.tabContainer&&(m.style.visibility=this.tabContainer.style.visibility)}}p.appendChild(f.tabContainer);
p.appendChild(k);p.appendChild(f.diagramContainer);d.appendChild(p);f.updateTabContainer();mxEvent.addListener(window,"resize",function(){null!=f.sidebarWindow&&f.sidebarWindow.window.fit();null!=f.formatWindow&&f.formatWindow.window.fit();null!=f.actions.outlineWindow&&f.actions.outlineWindow.window.fit();null!=f.actions.layersWindow&&f.actions.layersWindow.window.fit();null!=f.menus.tagsWindow&&f.menus.tagsWindow.window.fit();null!=f.menus.findWindow&&f.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)}})();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\nactualSize=Actual Size\nadd=Add\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\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\nborderColor=Border Color\nborderWidth=Borderwidth\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\nchangesNotSaved=Changes have not been saved\nchatJoined={1} has joined\nchatLeft={1} has left\nchatWindowTitle=Chat\nchooseAnOption=Choose an option\nchromeApp=Chrome App\ncompressed=Compressed\ncommitMessage=Commit Message\ncsv=CSV\ndark=Dark\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\ncircle=Circle\ncisco=Cisco\nclassic=Classic\nclearDefaultStyle=Clear Default Style\nclearWaypoints=Clear Waypoints\nclipart=Clipart\nclose=Close\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\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\ncopyOf=Copy of {1}\ncopyOfDrawing=Copy of Drawing\ncopyStyle=Copy Style\ncreate=Create\ncreateNewDiagram=Create New Diagram\ncreateRevision=Create Revision\ncreateShape=Create Shape\ncrop=Crop\ncurved=Curved\ncustom=Custom\ncurrent=Current\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\ndownloadAs=Download as\nclickHereToSave=Click here to save.\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\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\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.\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.\nextras=Extras\nfacebook=Facebook\nfailedToSaveTryReconnect=Failed to save, trying to reconnect\nfeatureRequest=Feature Request\nfeedback=Feedback\nfeedbackSent=Feedback successfully sent.\nfloorplans=Floorplans\nfile=File\nfileChangedOverwrite=File was changed. Overwrite changes?\noverwrite=Overwrite\nfilename=Filename\nfileExists=File already exists\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 read access.\nfileNotLoaded=File not loaded\nfileNotSaved=File not saved\nfileOpenLocation=How would you like to open these file(s)?\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\nfromTemplate=From Template\nfromTemplateUrl=From Template URL\nfromText=From Text\nfromUrl=From URL\nfromThisPage=From this page\nfullscreen=Fullscreen\ngap=Gap\ngeneral=General\ngithub=GitHub\ngliffy=Gliffy\nglobal=Global\ngoogleDocs=Google Docs\ngoogleDrive=Google Drive\ngoogleGadget=Google Gadget\ngooglePlus=Google+\ngoogleSites=Google Sites\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\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\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>.\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 page refresh.\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\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\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\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\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\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 by 90 degrees\nrotation=Rotation\nrounded=Rounded\nsave=Save\nsaveAndExit=Save & Exit\nsaveAs=Save as\nsaveAsXmlFile=Save as XML file?\nsaved=Saved\nsaveDiagramsTo=Save diagrams to\nsaveLibrary403=Insufficient permissions to edit this library\nsaveLibrary500=There was an error while saving the library\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\nsize=Size\nsolid=Solid\nsourceSpacing=Source Spacing\nsouth=South\nsoftware=Software\nspace=Space\nspacing=Spacing\nspecialLink=Special Link\nstandard=Standard\nstarting=Starting\nstraight=Straight\nstrokeColor=Line Color\nstyle=Style\nsubscript=Subscript\nsummary=Summary\nsuperscript=Superscript\nsupport=Support\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\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 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\nuseRootFolder=Use root folder?\nuserManual=User Manual\nvertical=Vertical\nverticalFlow=Vertical Flow\nverticalTree=Vertical Tree\nview=View\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\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\n");Graph.prototype.defaultThemes[Graph.prototype.defaultThemeName]=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.allowZoomIn=!1;
@@ -3167,9 +3166,9 @@ function(){g.style.backgroundColor="#eee"}),mxUtils.setOpacity(a,60),g.style.cur
e.style.whiteSpace="nowrap";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,k=null,l=mxUtils.bind(this,function(a){null!=c&&(window.clearTimeout(c),fadeThead=null);null!=k&&(window.clearTimeout(k),fadeThead2=null);c=window.setTimeout(mxUtils.bind(this,function(){mxUtils.setOpacity(e,
0);c=null;k=window.setTimeout(mxUtils.bind(this,function(){e.style.display="none";k=null}),100)}),a||200)}),q=mxUtils.bind(this,function(a){null!=c&&(window.clearTimeout(c),fadeThead=null);null!=k&&(window.clearTimeout(k),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),l())}));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 p=this.graph,v=p.getTolerance();p.addMouseListener({startX:0,startY:0,scrollLeft:0,scrollTop:0,mouseDown:function(a,b){this.startX=b.getGraphX();this.startY=b.getGraphY();this.scrollLeft=
-p.container.scrollLeft;this.scrollTop=p.container.scrollTop},mouseMove:function(a,b){},mouseUp:function(a,b){mxEvent.isTouchEvent(b.getEvent())&&Math.abs(this.scrollLeft-p.container.scrollLeft)<v&&Math.abs(this.scrollTop-p.container.scrollTop)<v&&Math.abs(this.startX-b.getGraphX())<v&&Math.abs(this.startY-b.getGraphY())<v&&(0<parseFloat(e.style.opacity||0)?l():q(30))}})}for(var d=this.toolbarItems,f=0,g=null,n=null,r=0;r<d.length;r++){var h=d[r];if("pages"==h){n=b.ownerDocument.createElement("div");
-n.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(n,70);var m=a(mxUtils.bind(this,function(){this.selectPage(this.currentPage-1)}),Editor.previousImage,mxResources.get("previousPage")||"Previous Page");m.style.borderRightStyle="none";m.style.paddingLeft="0px";m.style.paddingRight="0px";e.appendChild(n);var u=a(mxUtils.bind(this,function(){this.selectPage(this.currentPage+
-1)}),Editor.nextImage,mxResources.get("nextPage")||"Next Page");u.style.paddingLeft="0px";u.style.paddingRight="0px";h=mxUtils.bind(this,function(){n.innerHTML="";mxUtils.write(n,this.currentPage+1+" / "+this.diagrams.length);n.style.display=1<this.diagrams.length?"inline-block":"none";m.style.display=n.style.display;u.style.display=n.style.display});this.addListener("graphChanged",h);h()}else if("zoom"==h)this.zoomEnabled&&(a(mxUtils.bind(this,function(){this.graph.zoomOut()}),Editor.zoomOutImage,
+p.container.scrollLeft;this.scrollTop=p.container.scrollTop},mouseMove:function(a,b){},mouseUp:function(a,b){mxEvent.isTouchEvent(b.getEvent())&&Math.abs(this.scrollLeft-p.container.scrollLeft)<v&&Math.abs(this.scrollTop-p.container.scrollTop)<v&&Math.abs(this.startX-b.getGraphX())<v&&Math.abs(this.startY-b.getGraphY())<v&&(0<parseFloat(e.style.opacity||0)?l():q(30))}})}for(var d=this.toolbarItems,f=0,g=null,m=null,r=0;r<d.length;r++){var h=d[r];if("pages"==h){m=b.ownerDocument.createElement("div");
+m.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(m,70);var n=a(mxUtils.bind(this,function(){this.selectPage(this.currentPage-1)}),Editor.previousImage,mxResources.get("previousPage")||"Previous Page");n.style.borderRightStyle="none";n.style.paddingLeft="0px";n.style.paddingRight="0px";e.appendChild(m);var u=a(mxUtils.bind(this,function(){this.selectPage(this.currentPage+
+1)}),Editor.nextImage,mxResources.get("nextPage")||"Next Page");u.style.paddingLeft="0px";u.style.paddingRight="0px";h=mxUtils.bind(this,function(){m.innerHTML="";mxUtils.write(m,this.currentPage+1+" / "+this.diagrams.length);m.style.display=1<this.diagrams.length?"inline-block":"none";n.style.display=m.style.display;u.style.display=m.style.display});this.addListener("graphChanged",h);h()}else if("zoom"==h)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"==h){if(this.layersEnabled){var w=this.graph.getModel(),t=a(mxUtils.bind(this,function(a){if(null!=g)g.parentNode.removeChild(g),
g=null;else{g=this.graph.createLayersDialog();mxEvent.addListener(g,"mouseleave",function(){g.parentNode.removeChild(g);g=null});a=t.getBoundingClientRect();g.style.width="140px";g.style.padding="2px 0px 2px 0px";g.style.border="1px solid #d0d0d0";g.style.backgroundColor="#eee";g.style.fontFamily="Helvetica Neue,Helvetica,Arial Unicode MS,Arial";g.style.fontSize="11px";g.style.zIndex=this.toolbarZIndex+1;mxUtils.setOpacity(g,80);var b=mxUtils.getDocumentScrollOrigin(document);g.style.left=b.x+a.left+
"px";g.style.top=b.y+a.bottom+"px";document.body.appendChild(g)}}),Editor.layersImage,mxResources.get("layers")||"Layers");w.addListener(mxEvent.CHANGE,function(){t.style.display=1<w.getChildCount(w.root)?"inline-block":"none"});t.style.display=1<w.getChildCount(w.root)?"inline-block":"none"}}else"lightbox"==h?this.lightboxEnabled&&a(mxUtils.bind(this,function(){this.showLightbox()}),Editor.maximizeImage,mxResources.get("show")||"Show"):null!=this.graphConfig["toolbar-buttons"]&&(h=this.graphConfig["toolbar-buttons"][h],
@@ -3196,6 +3195,6 @@ GraphViewer.initCss=function(){try{var a=document.createElement("style");a.type=
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 k(){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 l(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 k,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"==l(b,"position")&&(b.style.position="relative");var d=b.resizeSensor.childNodes[0],e=d.childNodes[0],f=b.resizeSensor.childNodes[1],g=function(){e.style.width="100000px";e.style.height="100000px";d.scrollLeft=1E5;d.scrollTop=1E5;f.scrollLeft=1E5;f.scrollTop=1E5};g();var n=!1,p=function(){b.resizedAttached&&(n&&(b.resizedAttached.call(),n=!1),a(p))};a(p);var q,v,D,G,B=function(){if((D=b.offsetWidth)!=q||(G=b.offsetHeight)!=v)n=!0,q=D,v=G;g()},y=function(a,b,c){a.attachEvent?
+b.appendChild(b.resizeSensor);"static"==l(b,"position")&&(b.style.position="relative");var d=b.resizeSensor.childNodes[0],e=d.childNodes[0],f=b.resizeSensor.childNodes[1],g=function(){e.style.width="100000px";e.style.height="100000px";d.scrollLeft=1E5;d.scrollTop=1E5;f.scrollLeft=1E5;f.scrollTop=1E5};g();var m=!1,p=function(){b.resizedAttached&&(m&&(b.resizedAttached.call(),m=!1),a(p))};a(p);var q,v,D,G,B=function(){if((D=b.offsetWidth)!=q||(G=b.offsetHeight)!=v)m=!0,q=D,v=G;g()},y=function(a,b,c){a.attachEvent?
a.attachEvent("on"+b,c):a.addEventListener(b,c)};y(d,"scroll",B);y(f,"scroll",B)}var p=function(){GraphViewer.resizeSensorEnabled&&c()},v=Object.prototype.toString.call(e),d="[object Array]"===v||"[object NodeList]"===v||"[object HTMLCollection]"===v||"undefined"!==typeof jQuery&&e instanceof jQuery||"undefined"!==typeof Elements&&e instanceof Elements;if(d)for(var v=0,f=e.length;v<f;v++)q(e[v],p);else q(e,p);this.detach=function(){if(d)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})();
diff --git a/src/main/webapp/js/atlas.min.js b/src/main/webapp/js/atlas.min.js
index 8900387e..50d4e5bb 100644
--- a/src/main/webapp/js/atlas.min.js
+++ b/src/main/webapp/js/atlas.min.js
@@ -104,7 +104,7 @@ ko:"한국어",ja:"日本語",zh:"中文(中国)","zh-tw":"中文(台灣
function setCurrentXml(a,b){null!=window.parent&&null!=window.parent.openFile&&window.parent.openFile.setData(a,b)}
(function(){if("undefined"!==typeof JSON&&isLocalStorage)try{var a=localStorage.getItem(".drawio-config"),b=!0;null!=a&&(b=JSON.parse(a).showStartScreen);0==b&&(urlParams.splash="0")}catch(c){}a=urlParams["export"];null!=a&&("http://"!=a.substring(0,7)&&"https://"!=a.substring(0,8)&&(a="http://"+a),EXPORT_URL=a);window.DRAWIO_LOG_URL=window.DRAWIO_LOG_URL||"";b=window.location.host;"test.draw.io"!=b&&(a=b.length-7,b=b.lastIndexOf("draw.io",a),-1!==b&&b===a&&(window.DRAWIO_LOG_URL="https://log.draw.io"))})();
if("1"==urlParams.offline||"1"==urlParams.demo||"1"==urlParams.stealth||"1"==urlParams.local)urlParams.analytics="0",urlParams.picker="0",urlParams.gapi="0",urlParams.db="0",urlParams.od="0",urlParams.gh="0",urlParams.tr="0";if("1"==urlParams.offline||"1"==urlParams.local)urlParams.math="0";"1"==urlParams.lightbox&&(urlParams.chrome="0");window.urlParams=window.urlParams||{};window.MAX_REQUEST_SIZE=window.MAX_REQUEST_SIZE||10485760;window.MAX_AREA=window.MAX_AREA||225E6;window.EXPORT_URL=window.EXPORT_URL||"/export";window.SAVE_URL=window.SAVE_URL||"/save";window.OPEN_URL=window.OPEN_URL||"/open";window.RESOURCES_PATH=window.RESOURCES_PATH||"resources";window.RESOURCE_BASE=window.RESOURCE_BASE||window.RESOURCES_PATH+"/grapheditor";window.STENCIL_PATH=window.STENCIL_PATH||"stencils";window.IMAGE_PATH=window.IMAGE_PATH||"images";
-window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"3.9.5",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&
+window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"3.9.6",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&
0>navigator.userAgent.indexOf("Edge/"),IS_OP:0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/"),IS_OT:0<=navigator.userAgent.indexOf("Presto/")&&0>navigator.userAgent.indexOf("Presto/2.4.")&&0>navigator.userAgent.indexOf("Presto/2.3.")&&0>navigator.userAgent.indexOf("Presto/2.2.")&&0>navigator.userAgent.indexOf("Presto/2.1.")&&0>navigator.userAgent.indexOf("Presto/2.0.")&&0>navigator.userAgent.indexOf("Presto/1."),IS_SF:0<=navigator.userAgent.indexOf("AppleWebKit/")&&
0>navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_IOS:navigator.userAgent.match(/(iPad|iPhone|iPod)/g)?!0:!1,IS_GC:0<=navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:0<=navigator.userAgent.indexOf("Firefox/"),IS_MT:0<=navigator.userAgent.indexOf("Firefox/")&&0>navigator.userAgent.indexOf("Firefox/1.")&&0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&&
0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_SVG:0<=navigator.userAgent.indexOf("Firefox/")||0<=navigator.userAgent.indexOf("Iceweasel/")||0<=navigator.userAgent.indexOf("Seamonkey/")||0<=navigator.userAgent.indexOf("Iceape/")||0<=navigator.userAgent.indexOf("Galeon/")||
@@ -532,9 +532,9 @@ mxShape.prototype.updateHtmlColors=function(a){var b=this.stroke;null!=b&&b!=mxC
mxUtils.addTransparentBackgroundFilter(a):this.setTransparentBackgroundImage(a)};
mxShape.prototype.updateHtmlBounds=function(a){var b=9<=document.documentMode?0:Math.ceil(this.strokewidth*this.scale);a.style.borderWidth=Math.max(1,b)+"px";a.style.overflow="hidden";a.style.left=Math.round(this.bounds.x-b/2)+"px";a.style.top=Math.round(this.bounds.y-b/2)+"px";"CSS1Compat"==document.compatMode&&(b=-b);a.style.width=Math.round(Math.max(0,this.bounds.width+b))+"px";a.style.height=Math.round(Math.max(0,this.bounds.height+b))+"px"};
mxShape.prototype.destroyCanvas=function(a){if(a instanceof mxSvgCanvas2D){for(var b in a.gradients){var c=a.gradients[b];null!=c&&(c.mxRefCount=(c.mxRefCount||0)+1)}this.releaseSvgGradients(this.oldGradients);this.oldGradients=a.gradients}};
-mxShape.prototype.paint=function(a){var b=this.scale,c=this.bounds.x/b,d=this.bounds.y/b,e=this.bounds.width/b,f=this.bounds.height/b;if(this.isPaintBoundsInverted())var g=(e-f)/2,c=c+g,d=d-g,g=e,e=f,f=g;this.updateTransform(a,c,d,e,f);this.configureCanvas(a,c,d,e,f);g=null;if(null==this.stencil&&null==this.points&&this.shapePointerEvents||null!=this.stencil&&this.stencilPointerEvents){var k=this.createBoundingBox();this.dialect==mxConstants.DIALECT_SVG?(g=this.createTransparentSvgRectangle(k.x,k.y,
-k.width,k.height),this.node.appendChild(g)):(k=a.createRect("rect",k.x/b,k.y/b,k.width/b,k.height/b),k.appendChild(a.createTransparentFill()),k.stroked="false",a.root.appendChild(k))}if(null!=this.stencil)this.stencil.drawShape(a,this,c,d,e,f);else if(a.setStrokeWidth(this.strokewidth),null!=this.points){c=[];for(d=0;d<this.points.length;d++)null!=this.points[d]&&c.push(new mxPoint(this.points[d].x/b,this.points[d].y/b));this.paintEdgeShape(a,c)}else this.paintVertexShape(a,c,d,e,f);null!=g&&null!=
-a.state&&null!=a.state.transform&&g.setAttribute("transform",a.state.transform)};
+mxShape.prototype.paint=function(a){var b=!1;if(null!=a&&this.outline){var c=a.stroke;a.stroke=function(){b=!0;c.apply(this,arguments)};var d=a.fillAndStroke;a.fillAndStroke=function(){b=!0;d.apply(this,arguments)}}var e=this.scale,f=this.bounds.x/e,g=this.bounds.y/e,k=this.bounds.width/e,l=this.bounds.height/e;if(this.isPaintBoundsInverted())var m=(k-l)/2,f=f+m,g=g-m,m=k,k=l,l=m;this.updateTransform(a,f,g,k,l);this.configureCanvas(a,f,g,k,l);m=null;if(null==this.stencil&&null==this.points&&this.shapePointerEvents||
+null!=this.stencil&&this.stencilPointerEvents){var n=this.createBoundingBox();this.dialect==mxConstants.DIALECT_SVG?(m=this.createTransparentSvgRectangle(n.x,n.y,n.width,n.height),this.node.appendChild(m)):(n=a.createRect("rect",n.x/e,n.y/e,n.width/e,n.height/e),n.appendChild(a.createTransparentFill()),n.stroked="false",a.root.appendChild(n))}if(null!=this.stencil)this.stencil.drawShape(a,this,f,g,k,l);else if(a.setStrokeWidth(this.strokewidth),null!=this.points){for(var n=[],p=0;p<this.points.length;p++)null!=
+this.points[p]&&n.push(new mxPoint(this.points[p].x/e,this.points[p].y/e));this.paintEdgeShape(a,n)}else this.paintVertexShape(a,f,g,k,l);null!=m&&null!=a.state&&null!=a.state.transform&&m.setAttribute("transform",a.state.transform);null!=a&&this.outline&&!b&&(a.rect(f,g,k,l),a.stroke())};
mxShape.prototype.configureCanvas=function(a,b,c,d,e){var f=null;null!=this.style&&(f=this.style.dashPattern);a.setAlpha(this.opacity/100);a.setFillAlpha(this.fillOpacity/100);a.setStrokeAlpha(this.strokeOpacity/100);null!=this.isShadow&&a.setShadow(this.isShadow);null!=this.isDashed&&a.setDashed(this.isDashed,null!=this.style?1==mxUtils.getValue(this.style,mxConstants.STYLE_FIX_DASH,!1):!1);null!=f&&a.setDashPattern(f);null!=this.fill&&this.fill!=mxConstants.NONE&&this.gradient&&this.gradient!=mxConstants.NONE?
(b=this.getGradientBounds(a,b,c,d,e),a.setGradient(this.fill,this.gradient,b.x,b.y,b.width,b.height,this.gradientDirection)):a.setFillColor(this.fill);a.setStrokeColor(this.stroke)};mxShape.prototype.getGradientBounds=function(a,b,c,d,e){return new mxRectangle(b,c,d,e)};mxShape.prototype.updateTransform=function(a,b,c,d,e){a.scale(this.scale);a.rotate(this.getShapeRotation(),this.flipH,this.flipV,b+d/2,c+e/2)};
mxShape.prototype.paintVertexShape=function(a,b,c,d,e){this.paintBackground(a,b,c,d,e);a.setShadow(!1);this.paintForeground(a,b,c,d,e)};mxShape.prototype.paintBackground=function(a,b,c,d,e){};mxShape.prototype.paintForeground=function(a,b,c,d,e){};mxShape.prototype.paintEdgeShape=function(a,b){};
@@ -1958,7 +1958,7 @@ Editor.checkmarkImage=mxClient.IS_SVG?"data:image/gif;base64,R0lGODlhFQAVAMQfAGx
Editor.zoomInImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVBAMAAABbObilAAAAElBMVEUAAAAAAAAsLCwhISFxcXFgYGBavKaoAAAAAXRSTlMAQObYZgAAAElJREFUCNdjIAMwCQrB2YKCggJQJqMIA4sglK3owMzgqABVwsDMwCgAZTMbG8PYCHGEeoQ5CPMFFRD2MkFshmpSQLBRJFSJ8wcAEqcEM2uhl2MAAAAASUVORK5CYII=";Editor.zoomFitImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVBAMAAABbObilAAAAD1BMVEUAAAAAAAAwMDBwcHBgYGC1xl09AAAAAXRSTlMAQObYZgAAAEFJREFUCNdjIAMwCQrB2YKCggJQJqMwA7MglK1owMBgqABVApITwMdGqEeYgzBfUAFhLxPEZqgmBQQbRUKFOH8AAK5OA3lA+FFOAAAAAElFTkSuQmCC";
Editor.layersImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAMAAACeyVWkAAAAaVBMVEUAAAAgICAICAgdHR0PDw8WFhYICAgLCwsXFxcvLy8ODg4uLi4iIiIqKiokJCQYGBgKCgonJycFBQUCAgIqKiocHBwcHBwODg4eHh4cHBwnJycJCQkUFBQqKiojIyMuLi4ZGRkgICAEBATOWYXAAAAAGnRSTlMAD7+fnz8/H7/ff18/77+vr5+fn39/b28fH2xSoKsAAACQSURBVBjTrYxJEsMgDARZZMAY73sgCcn/HxnhKtnk7j6oRq0psfuoyndZ/SuODkHPLzfVT6KeyPePnJ7KrnkRjWMXTn4SMnN8mXe2SSM3ts8L/ZUxxrbAULSYJJULE0Iw9pjpenoICcgcX61mGgTgtCv9Be99pzCoDhNQWQnchD1mup5++CYGcoQexajZbfwAj/0MD8ZOaUgAAAAASUVORK5CYII=";
Editor.previousImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABmJLR0QA/wD/AP+gvaeTAAAAh0lEQVQ4je3UsQnCUBCA4U8hpa1NsoEjpHQJS0dxADdwEMuMIJkgA1hYChbGQgMi+JC8q4L/AB/vDu7x74cWWEZhJU44RmA1zujR5GIbXF9YNrjD/Q0bDRY4fEBZ4P4LlgTnCbAf84pUM8/9hY08tMUtEoQ1LpEgrNBFglChFXR6Q6GfwwR6AGKJMF74Vtt3AAAAAElFTkSuQmCC";Editor.nextImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABmJLR0QA/wD/AP+gvaeTAAAAi0lEQVQ4jeXUIQ7CUAwA0MeGxWI2yylwnALJUdBcgYvM7QYLmjOQIAkIPmJZghiIvypoUtX0tfnJL38X5ZfaEgUeUcManFBHgS0SLlhHggk3bCPBhCf2keCQR8wjwYTDp6YiZxJmOU1jGw7vGALescuBxsArNlOwd/CM1VSM/ut1qCIw+uOwiMJ+OF4CQzBCXm3hyAAAAABJRU5ErkJggg==";
-Editor.zoomOutLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAilBMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2N2iNAAAALXRSTlMA+vTcKMM96GRBHwXxi0YaX1HLrKWhiHpWEOnOr52Vb2xKSDcT19PKv5l/Ngdk8+viAAABJklEQVQ4y4WT2XaDMAxEvWD2nSSUNEnTJN3r//+9Sj7ILAY6L0ijC4ONYVZRpo6cByrz2YKSUGorGTpz71lPVHvT+avoB5wIkU/mxk8veceSuNoLg44IzziXjvpih72wKQnm8yc2UoiP/LAd8jQfe2Xf4Pq+2EyYIvv9wbzHHCgwxDdlBtWZOdqDfTCVgqpygQpsZaojVAVc9UjQxnAJDIBhiQv84tq3gMQCAVTxVoSibXJf8tMuc7e1TB/DCmejBNg/w1Y3c+AM5vv4w7xM59/oXamrHaLVqPQ+OTCnmMZxgz0SdL5zji0/ld6j88qGa5KIiBB6WeJGKfUKwSMKLuXgvl1TW0tm5R9UQL/efSDYsnzxD8CinhBsTTdugJatKpJwf8v+ADb8QmvW7AeAAAAAAElFTkSuQmCC";
+Editor.editImage=mxClient.IS_SVG?"data:image/gif;base64,R0lGODlhCwALAIABAFdXV////yH5BAEAAAEALAAAAAALAAsAAAIZjB8AiKuc4jvLOGqzrjX6zmkWyChXaUJBAQA7":IMAGE_PATH+"/edit.gif";Editor.zoomOutLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAilBMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2N2iNAAAALXRSTlMA+vTcKMM96GRBHwXxi0YaX1HLrKWhiHpWEOnOr52Vb2xKSDcT19PKv5l/Ngdk8+viAAABJklEQVQ4y4WT2XaDMAxEvWD2nSSUNEnTJN3r//+9Sj7ILAY6L0ijC4ONYVZRpo6cByrz2YKSUGorGTpz71lPVHvT+avoB5wIkU/mxk8veceSuNoLg44IzziXjvpih72wKQnm8yc2UoiP/LAd8jQfe2Xf4Pq+2EyYIvv9wbzHHCgwxDdlBtWZOdqDfTCVgqpygQpsZaojVAVc9UjQxnAJDIBhiQv84tq3gMQCAVTxVoSibXJf8tMuc7e1TB/DCmejBNg/w1Y3c+AM5vv4w7xM59/oXamrHaLVqPQ+OTCnmMZxgz0SdL5zji0/ld6j88qGa5KIiBB6WeJGKfUKwSMKLuXgvl1TW0tm5R9UQL/efSDYsnzxD8CinhBsTTdugJatKpJwf8v+ADb8QmvW7AeAAAAAAElFTkSuQmCC";
Editor.zoomInLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAilBMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2N2iNAAAALXRSTlMA+vTcKMM96GRBHwXxi0YaX1HLrKWhiHpWEOnOr52Vb2xKSDcT19PKv5l/Ngdk8+viAAABKElEQVQ4y4WT6WKCMBCENwkBwn2oFKvWqr3L+79es4EkQIDOH2d3Pxk2ABiJlB8JCXjqw4LikHVGLHTm3nM3UeVN5690GBBN0GwyV/3kkrUQR+WeKnREeKpzaXWd77CmJiXGfPIEI4V4yQ9TIW/ntlcMBe731Vts9w5TWG8F5j3mQI4hvrKpdGeYA7CX9qAcl650gVJartxRuhyHVghF8idQAIbFLvCLu28BsQEC6aKtCK6Pyb3JT7PmbmtNH8Ny56CotD/2qOs5cJbuffxgXmCib+xddVU5RNOhkvvkhTlFehzVWCOh3++MYElOhfdovaImnRYVmqDdsuhNp1QrBBE6uGC2+3ZNjGdg5B94oD+9uyVgWT79BwAxEBTWdOu3bWBVgsn/N/AHUD9IC01Oe40AAAAASUVORK5CYII=";
Editor.actualSizeLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAilBMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2N2iNAAAALXRSTlMA+vTcKMM96GRBHwXxi0YaX1HLrKWhiHpWEOnOr52Vb2xKSDcT19PKv5l/Ngdk8+viAAABIUlEQVQ4y4WT2XqDIBCFBxDc9yTWNEnTJN3r+79eGT4BEbXnaubMr8dBBaM450dCQp4LWFAascGIRd48eB4cNYE7f6XjgGiCFs5c+dml6CFN6j1V6IQIlHPpdV/usKcmJcV88gQTRXjLD9Mhb+fWq8YG9/uCmTCFjeeDeY85UGKIUGUuqzN42kv7oCouq9oHamlzVR1lVfpAIu1QVRiW+sAv7r4FpAYIZZVsRXB9TP5Dfpo1d1trCgzz1iiptH/sUbdz4CzN9+mLeXHn3+hdddd4RDegsrvzwZwSs2GLPRJidAqCLTlVwaMPqpYMWjTWBB2WRW86pVkhSKyDK2bdt2tmagZG4sBD/evdLQHLEvQfAOKRoLCmG1FAB6uKmby+gz+REDn7O5+EwQAAAABJRU5ErkJggg==";
Editor.printLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAXVBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9RKvvlAAAAHnRSTlMAydnl77qbMLT093H7K4Nd4Ktn082+lYt5bkklEgP44nQSAAAApUlEQVQ4y73P2Q6DIBRF0cOgbRHHzhP//5m9mBAQKjG1cT0Yc7ITAMu1LNQgUZiQ2DYoNQ0sCQb6qgHAfRx48opq3J9AZ6xuF7uOew8Ik1OsCZRS2UAC9V+D9a+QZYxNA45YFQftPtSkATOhw7dAc0vPBwKWiIOjP0JZ0yMuQJ27g36DipOUsqRAM0dR8KD1/ILHaHSE/w8DIx09E3g/BTce6rHUB5sAPKvfF+JdAAAAAElFTkSuQmCC";
@@ -2114,8 +2114,8 @@ EditorUi.prototype.undo=function(){try{var a=this.editor.graph;if(a.isEditing())
EditorUi.prototype.getEditBlankXml=function(){return mxUtils.getXml(this.editor.getGraphXml())};EditorUi.prototype.getUrl=function(a){a=null!=a?a:window.location.pathname;var c=0<a.indexOf("?")?1:0,d;for(d in urlParams)a=0==c?a+"?":a+"&",a+=d+"="+urlParams[d],c++;return a};
EditorUi.prototype.setScrollbars=function(a){var c=this.editor.graph,d=c.container.style.overflow;c.scrollbars=a;this.editor.updateGraphComponents();d!=c.container.style.overflow&&("hidden"==c.container.style.overflow?(a=c.view.translate,c.view.setTranslate(a.x-c.container.scrollLeft/c.view.scale,a.y-c.container.scrollTop/c.view.scale),c.container.scrollLeft=0,c.container.scrollTop=0,c.minimumGraphSize=null,c.sizeDidChange()):(a=c.view.translate.x,d=c.view.translate.y,c.view.translate.x=0,c.view.translate.y=
0,c.sizeDidChange(),c.container.scrollLeft-=Math.round(a*c.view.scale),c.container.scrollTop-=Math.round(d*c.view.scale)));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 c=a.getPagePadding();a.container.scrollTop=Math.floor(c.y-this.editor.initialTopSpacing);a.container.scrollLeft=Math.floor(Math.min(c.x,(a.container.scrollWidth-a.container.clientWidth)/2));c=
-a.getGraphBounds();0<c.width&&0<c.height&&(c.x>a.container.scrollLeft+.9*a.container.clientWidth&&(a.container.scrollLeft=Math.min(c.x+c.width-a.container.clientWidth,c.x-10)),c.y>a.container.scrollTop+.9*a.container.clientHeight&&(a.container.scrollTop=Math.min(c.y+c.height-a.container.clientHeight,c.y-10)))}else{var c=a.getGraphBounds(),d=Math.max(c.width,a.scrollTileSize.width*a.view.scale);a.container.scrollTop=Math.floor(Math.max(0,c.y-Math.max(20,(a.container.clientHeight-Math.max(c.height,
+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 c=a.getPagePadding();a.container.scrollTop=Math.floor(c.y-this.editor.initialTopSpacing)-1;a.container.scrollLeft=Math.floor(Math.min(c.x,(a.container.scrollWidth-a.container.clientWidth)/2))-
+1;c=a.getGraphBounds();0<c.width&&0<c.height&&(c.x>a.container.scrollLeft+.9*a.container.clientWidth&&(a.container.scrollLeft=Math.min(c.x+c.width-a.container.clientWidth,c.x-10)),c.y>a.container.scrollTop+.9*a.container.clientHeight&&(a.container.scrollTop=Math.min(c.y+c.height-a.container.clientHeight,c.y-10)))}else{var c=a.getGraphBounds(),d=Math.max(c.width,a.scrollTileSize.width*a.view.scale);a.container.scrollTop=Math.floor(Math.max(0,c.y-Math.max(20,(a.container.clientHeight-Math.max(c.height,
a.scrollTileSize.height*a.view.scale))/4)));a.container.scrollLeft=Math.floor(Math.max(0,c.x-Math.max(0,(a.container.clientWidth-d)/2)))}else a.pageVisible?(c=a.view.getBackgroundPageBounds(),a.view.setTranslate(Math.floor(Math.max(0,(a.container.clientWidth-c.width)/2)-c.x),Math.floor(Math.max(0,(a.container.clientHeight-c.height)/2)-c.y))):(c=a.getGraphBounds(),a.view.setTranslate(Math.floor(Math.max(0,Math.max(0,(a.container.clientWidth-c.width)/2)-c.x)),Math.floor(Math.max(0,Math.max(20,(a.container.clientHeight-
c.height)/4))-c.y)))};
EditorUi.prototype.setPageVisible=function(a){var c=this.editor.graph,d=mxUtils.hasScrollbars(c.container),b=0,f=0;d&&(b=c.view.translate.x*c.view.scale-c.container.scrollLeft,f=c.view.translate.y*c.view.scale-c.container.scrollTop);c.pageVisible=a;c.pageBreaksVisible=a;c.preferPageSize=a;c.view.validateBackground();d&&(a=c.getSelectionCells(),c.clearSelection(),c.setSelectionCells(a));c.sizeDidChange();d&&(c.container.scrollLeft=c.view.translate.x*c.view.scale-b,c.container.scrollTop=c.view.translate.y*
@@ -2479,14 +2479,14 @@ this.setDisplay("");null!=this.currentState&&this.currentState!=a&&b<this.activa
this.reset())}else 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 c=mxGraphView.prototype.validateCellState;mxGraphView.prototype.validateCellState=function(a,b){var d=this.getState(a);null!=d&&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&&this.graph.model.isEdge(d.cell)&&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 f=new mxPoint(c,e);f.type=b;d.push(f);f=null!=a.routedPoints?a.routedPoints[d.length-1]:null;return null==f||f.type!=b||f.x!=c||f.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],v=[],u=b[f+2];f<
-b.length-2&&mxUtils.ptSegDistSq(k.x,k.y,u.x,u.y,h.x,h.y)<1*this.scale*this.scale;)h=u,f++,u=b[f+2];for(var c=e(0,k.x,k.y)||c,z=0;z<this.validEdges.length;z++){var x=this.validEdges[z],C=x.absolutePoints;if(null!=C&&mxUtils.intersects(a,x)&&"1"!=x.style.noJump)for(x=0;x<C.length-1;x++){for(var A=C[x+1],D=C[x],u=C[x+2];x<C.length-2&&mxUtils.ptSegDistSq(D.x,D.y,u.x,u.y,A.x,A.y)<1*this.scale*this.scale;)A=u,x++,u=C[x+2];u=mxUtils.intersection(k.x,k.y,h.x,h.y,D.x,D.y,A.x,A.y);if(null!=u&&(Math.abs(u.x-
-D.x)>g||Math.abs(u.y-D.y)>g)&&(Math.abs(u.x-A.x)>g||Math.abs(u.y-A.y)>g)){A=u.x-k.x;D=u.y-k.y;u={distSq:A*A+D*D,x:u.x,y:u.y};for(A=0;A<v.length;A++)if(v[A].distSq>u.distSq){v.splice(A,0,u);u=null;break}null==u||0!=v.length&&v[v.length-1].x===u.x&&v[v.length-1].y===u.y||v.push(u)}}}for(x=0;x<v.length;x++)c=e(1,v[x].x,v[x].y)||c}u=b[b.length-1];c=e(0,u.x,u.y)||c}a.routedPoints=d;return c}return!1};var f=mxConnector.prototype.paintLine;mxConnector.prototype.paintLine=function(a,b,c){this.routedPoints=
+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},f=.5*this.scale,c=!1,d=[],g=0;g<b.length-1;g++){for(var h=b[g+1],k=b[g],v=[],u=b[g+2];g<
+b.length-2&&mxUtils.ptSegDistSq(k.x,k.y,u.x,u.y,h.x,h.y)<1*this.scale*this.scale;)h=u,g++,u=b[g+2];for(var c=e(0,k.x,k.y)||c,z=0;z<this.validEdges.length;z++){var x=this.validEdges[z],C=x.absolutePoints;if(null!=C&&mxUtils.intersects(a,x)&&"1"!=x.style.noJump)for(x=0;x<C.length-1;x++){for(var A=C[x+1],D=C[x],u=C[x+2];x<C.length-2&&mxUtils.ptSegDistSq(D.x,D.y,u.x,u.y,A.x,A.y)<1*this.scale*this.scale;)A=u,x++,u=C[x+2];u=mxUtils.intersection(k.x,k.y,h.x,h.y,D.x,D.y,A.x,A.y);if(null!=u&&(Math.abs(u.x-
+D.x)>f||Math.abs(u.y-D.y)>f)&&(Math.abs(u.x-A.x)>f||Math.abs(u.y-A.y)>f)){A=u.x-k.x;D=u.y-k.y;u={distSq:A*A+D*D,x:u.x,y:u.y};for(A=0;A<v.length;A++)if(v[A].distSq>u.distSq){v.splice(A,0,u);u=null;break}null==u||0!=v.length&&v[v.length-1].x===u.x&&v[v.length-1].y===u.y||v.push(u)}}}for(x=0;x<v.length;x++)c=e(1,v[x].x,v[x].y)||c}u=b[b.length-1];c=e(0,u.x,u.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,k=!0,l=null,m=null;h=[];var u=null;a.begin();for(var z=0;z<this.state.routedPoints.length;z++){var x=
this.state.routedPoints[z],C=new mxPoint(x.x/this.scale,x.y/this.scale);0==z?C=b[0]:z==this.state.routedPoints.length-1&&(C=b[b.length-1]);var A=!1;if(null!=l&&1==x.type){var D=this.state.routedPoints[z+1],x=D.x/this.scale-C.x,D=D.y/this.scale-C.y,x=x*x+D*D;null==u&&(u=new mxPoint(C.x-l.x,C.y-l.y),m=Math.sqrt(u.x*u.x+u.y*u.y),u.x=u.x*e/m,u.y=u.y*e/m);x>e*e&&0<m&&(x=l.x-C.x,D=l.y-C.y,x=x*x+D*D,x>e*e&&(A=new mxPoint(C.x-u.x,C.y-u.y),x=new mxPoint(C.x+u.x,C.y+u.y),h.push(A),this.addPoints(a,h,c,d,!1,
null,k),h=0>Math.round(u.x)||0==Math.round(u.x)&&0>=Math.round(u.y)?1:-1,k=!1,"sharp"==g?(a.lineTo(A.x-u.y*h,A.y+u.x*h),a.lineTo(x.x-u.y*h,x.y+u.x*h),a.lineTo(x.x,x.y)):"arc"==g?(h*=1.3,a.curveTo(A.x-u.y*h,A.y+u.x*h,x.x-u.y*h,x.y+u.x*h,x.x,x.y)):(a.moveTo(x.x,x.y),k=!0),h=[x],A=!0))}else u=null;A||(h.push(C),l=C)}this.addPoints(a,h,c,d,!1,null,k);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 f=this.getNextPoint(a,c,d),g=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),f=mxUtils.getRotatedPoint(f,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);f=this.getPerimeterPoint(b,f,0==h&&g,l);0!=h&&(l=Math.cos(h),m=Math.sin(h),f=mxUtils.getRotatedPoint(f,l,m,k));a.setAbsoluteTerminalPoint(this.snapToAnchorPoint(a,b,c,d,f),d)}};mxGraphView.prototype.snapToAnchorPoint=function(a,b,c,d,e){if(null!=b&&null!=a){a=this.graph.getAllConnectionConstraints(b);d=c=null;for(var f=0;f<a.length;f++){var g=this.graph.getConnectionPoint(b,a[f]);if(null!=g){var h=(g.x-e.x)*(g.x-e.x)+(g.y-e.y)*(g.y-e.y);if(null==d||h<d)c=g,d=h}}null!=c&&(e=c)}return e};var k=mxStencil.prototype.evaluateTextAttribute;
+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;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 k=mxStencil.prototype.evaluateTextAttribute;
mxStencil.prototype.evaluateTextAttribute=function(a,b,c){var d=k.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=mxUtils.getValue(a.style,mxConstants.STYLE_SHAPE,null);if(null!=b&&"stencil("==b.substring(0,8))try{var c=b.substring(8,b.length-1),d=mxUtils.parseXml(a.view.graph.decompress(c));
return new mxShape(new mxStencil(d.documentElement))}catch(p){null!=window.console&&console.log("Error in shape: "+p)}}return g.apply(this,arguments)}})();mxStencilRegistry.libraries={};mxStencilRegistry.dynamicLoading=!0;mxStencilRegistry.allowEval=!0;mxStencilRegistry.packages=[];
mxStencilRegistry.getStencil=function(a){var c=mxStencilRegistry.stencils[a];if(null==c&&null==mxCellRenderer.defaultShapes[a]&&mxStencilRegistry.dynamicLoading){var d=mxStencilRegistry.getBasenameForStencil(a);if(null!=d){c=mxStencilRegistry.libraries[d];if(null!=c){if(null==mxStencilRegistry.packages[d]){for(var b=0;b<c.length;b++){var f=c[b];if(".xml"==f.toLowerCase().substring(f.length-4,f.length))mxStencilRegistry.loadStencilSet(f,null);else if(".js"==f.toLowerCase().substring(f.length-3,f.length))try{if(mxStencilRegistry.allowEval){var e=
@@ -2503,50 +2503,50 @@ for(var b in this.graph.currentEdgeStyle)a.style[b]=this.graph.currentEdgeStyle[
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",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+";");"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.importGraphModel=function(a,b,c,d){b=null!=b?
-b:0;c=null!=c?c:0;var e=[],f=new mxGraphModel;(new mxCodec(a.ownerDocument)).decode(a,f);a=f.getChildCount(f.getRoot());this.model.getChildCount(this.model.getRoot());this.model.beginUpdate();try{for(var g={},h=0;h<a;h++){var k=f.getChildAt(f.getRoot(),h);if(1!=a||this.isCellLocked(this.getDefaultParent()))k=this.importCells([k],0,0,this.model.getRoot(),null,g)[0],l=this.model.getChildren(k),this.moveCells(l,b,c),e=e.concat(l);else var l=f.getChildren(k),e=e.concat(this.importCells(l,b,c,this.getDefaultParent(),
-null,g))}if(d){this.isGridEnabled()&&(b=this.snap(b),c=this.snap(c));var y=this.getBoundingBoxFromGeometry(e,!0);null!=y&&this.moveCells(e,b-y.x,c-y.y)}}finally{this.model.endUpdate()}return e};Graph.prototype.getAllConnectionConstraints=function(a,b){if(null!=a){var c=mxUtils.getValue(a.style,"points",null);if(null!=c){var d=[];try{for(var e=JSON.parse(c),c=0;c<e.length;c++){var f=e[c];d.push(new mxConnectionConstraint(new mxPoint(f[0],f[1]),2<f.length?"0"!=f[2]:!0))}}catch(ca){}return d}if(null!=
+b:0;c=null!=c?c:0;var e=[],g=new mxGraphModel;(new mxCodec(a.ownerDocument)).decode(a,g);a=g.getChildCount(g.getRoot());this.model.getChildCount(this.model.getRoot());this.model.beginUpdate();try{for(var f={},h=0;h<a;h++){var k=g.getChildAt(g.getRoot(),h);if(1!=a||this.isCellLocked(this.getDefaultParent()))k=this.importCells([k],0,0,this.model.getRoot(),null,f)[0],l=this.model.getChildren(k),this.moveCells(l,b,c),e=e.concat(l);else var l=g.getChildren(k),e=e.concat(this.importCells(l,b,c,this.getDefaultParent(),
+null,f))}if(d){this.isGridEnabled()&&(b=this.snap(b),c=this.snap(c));var y=this.getBoundingBoxFromGeometry(e,!0);null!=y&&this.moveCells(e,b-y.x,c-y.y)}}finally{this.model.endUpdate()}return e};Graph.prototype.getAllConnectionConstraints=function(a,b){if(null!=a){var c=mxUtils.getValue(a.style,"points",null);if(null!=c){var d=[];try{for(var e=JSON.parse(c),c=0;c<e.length;c++){var g=e[c];d.push(new mxConnectionConstraint(new mxPoint(g[0],g[1]),2<g.length?"0"!=g[2]:!0))}}catch(ca){}return d}if(null!=
a.shape)if(null!=a.shape.stencil){if(null!=a.shape.stencil)return a.shape.stencil.constraints}else if(null!=a.shape.constraints)return a.shape.constraints}return null};Graph.prototype.flipEdge=function(a){if(null!=a){var b=this.view.getState(a),b=null!=b?b.style:this.getCellStyle(a);null!=b&&(b=mxUtils.getValue(b,mxConstants.STYLE_ELBOW,mxConstants.ELBOW_HORIZONTAL)==mxConstants.ELBOW_HORIZONTAL?mxConstants.ELBOW_VERTICAL:mxConstants.ELBOW_HORIZONTAL,this.setCellStyles(mxConstants.STYLE_ELBOW,b,[a]))}};
Graph.prototype.isValidRoot=function(a){for(var b=this.model.getChildCount(a),c=0,d=0;d<b;d++){var e=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 f=b.getTerminal(e,!0),g=b.getTerminal(e,!1);b.setTerminal(e,g,!0);b.setTerminal(e,f,!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 m=this.view.getState(e),G=this.view.getState(f),n=this.view.getState(g);if(null!=m){var p=null!=G?this.getConnectionConstraint(m,G,!0):null,q=null!=n?this.getConnectionConstraint(m,n,!1):null;this.setConnectionConstraint(e,f,!0,q);this.setConnectionConstraint(e,g,!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 r=h.width;h.width=h.height;
+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 m=this.view.getState(e),G=this.view.getState(g),n=this.view.getState(f);if(null!=m){var p=null!=G?this.getConnectionConstraint(m,G,!0):null,q=null!=n?this.getConnectionConstraint(m,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 r=h.width;h.width=h.height;
h.height=r;b.setGeometry(e,h);var t=this.view.getState(e);if(null!=t){var x=t.style[mxConstants.STYLE_DIRECTION]||"east";"east"==x?x="south":"south"==x?x="west":"west"==x?x="north":"north"==x&&(x="east");this.setCellStyles(mxConstants.STYLE_DIRECTION,x,[e])}c.push(e)}}}finally{b.endUpdate()}return c};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++)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.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 f=this.convertValueToString(a[e]);if(null!=f&&0<f.length){d.innerHTML=f;for(var g=d.getElementsByTagName(null!=c?c:"*"),h=0;h<g.length;h++)b(g[h]);d.innerHTML!=f&&this.cellLabelChanged(a[e],d.innerHTML)}}};Graph.prototype.cellLabelChanged=function(a,b,c){b=this.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 f=a.value.cloneNode(!0);f.setAttribute("label",b);b=f}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)){var f=mxUtils.getValue(e.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),g=mxUtils.getValue(e.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE);if(f==mxConstants.NONE&&g==mxConstants.NONE){f=!0;for(g=0;g<this.model.getChildCount(e.cell)&&f;g++)b.get(this.model.getChildAt(e.cell,g))||(f=!1);f&&a.push(e.cell)}}}mxGraph.prototype.cellsRemoved.apply(this,
+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=this.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)){var g=mxUtils.getValue(e.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),f=mxUtils.getValue(e.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE);if(g==mxConstants.NONE&&f==mxConstants.NONE){g=!0;for(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++)if(this.isCellDeletable(a[c])){var d=this.view.getState(a[c]);if(null!=d){var e=mxUtils.getValue(d.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),d=mxUtils.getValue(d.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE);e==mxConstants.NONE&&d==mxConstants.NONE&&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.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&&0<c.length?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&&(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;resizable=0;points=[];";d.geometry=new mxGeometry(0,0,0,0);d.vertex=!0;if(null!=c){d.style+="align=center;verticalAlign=middle;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),f=this.view.scale;d.geometry.offset=new mxPoint(Math.round((a-e.x)/f),Math.round((b-e.y)/f))}else d.style+="autosize=1;align=left;verticalAlign=top;spacingTop=-4;",e=this.view.translate,d.geometry.width=40,d.geometry.height=20,d.geometry.x=Math.round(a/this.view.scale)-e.x,d.geometry.y=Math.round(b/this.view.scale)-
+!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)/g),Math.round((b-e.y)/g))}else d.style+="autosize=1;align=left;verticalAlign=top;spacingTop=-4;",e=this.view.translate,d.geometry.width=40,d.geometry.height=20,d.geometry.x=Math.round(a/this.view.scale)-e.x,d.geometry.y=Math.round(b/this.view.scale)-
e.y;this.getModel().beginUpdate();try{this.addCells([d],null!=c?c.cell:null),this.fireEvent(new mxEventObject("textInserted","cells",[d])),this.autoSizeCell(d)}finally{this.getModel().endUpdate()}return d};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.addClickHandler=function(a,b,c){var d=mxUtils.bind(this,function(){var a=this.container.getElementsByTagName("a");
-if(null!=a)for(var c=0;c<a.length;c++){var d=this.getAbsoluteUrl(a[c].getAttribute("href"));null!=d&&(a[c].setAttribute("href",d),null!=b&&mxEvent.addGestureListeners(a[c],null,null,b))}});this.model.addListener(mxEvent.CHANGE,d);d();var e=this.container.style.cursor,f=this.getTolerance(),g=this,h={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 b=a.sourceState;
-if(null==b||null==g.getLinkForCell(b.cell))a=g.getCellAt(a.getGraphX(),a.getGraphY(),null,null,null,function(a,b,c){return null==g.getLinkForCell(a.cell)}),b=g.view.getState(a);b!=this.currentState&&(null!=this.currentState&&this.clear(),this.currentState=b,null!=this.currentState&&this.activate(this.currentState))},mouseDown:function(a,b){this.startX=b.getGraphX();this.startY=b.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(b)},mouseMove:function(a,b){if(g.isMouseDown){if(null!=this.currentLink){var c=Math.abs(this.startX-b.getGraphX()),d=Math.abs(this.startY-b.getGraphY());(c>f||d>f)&&this.clear()}}else{for(c=b.getSource();null!=c&&"a"!=c.nodeName.toLowerCase();)c=c.parentNode;null!=c?this.clear():(null!=g.tooltipHandler&&null!=this.currentLink&&null!=this.currentState&&g.tooltipHandler.reset(b,!0,this.currentState),(null==this.currentState||
-b.getState()!=this.currentState&&null!=b.sourceState||!g.intersects(this.currentState,b.getGraphX(),b.getGraphY()))&&this.updateCurrentState(b))}},mouseUp:function(a,d){for(var e=d.getSource(),h=d.getEvent();null!=e&&"a"!=e.nodeName.toLowerCase();)e=e.parentNode;null==e&&Math.abs(this.scrollLeft-g.container.scrollLeft)<f&&Math.abs(this.scrollTop-g.container.scrollTop)<f&&(null==d.sourceState||!d.isSource(d.sourceState.control))&&((mxEvent.isLeftMouseButton(h)||mxEvent.isMiddleMouseButton(h))&&!mxEvent.isPopupTrigger(h)||
-mxEvent.isTouchEvent(h))&&(null!=this.currentLink?(e=g.isBlankLink(this.currentLink),"data:"!==this.currentLink.substring(0,5)&&e||null==b||b(h,this.currentLink),mxEvent.isConsumed(h)||(h=mxEvent.isMiddleMouseButton(h)?"_blank":e?g.linkTarget:"_top",g.openLink(this.currentLink,h),d.consume())):null!=c&&!d.isConsumed()&&Math.abs(this.scrollLeft-g.container.scrollLeft)<f&&Math.abs(this.scrollTop-g.container.scrollTop)<f&&Math.abs(this.startX-d.getGraphX())<f&&Math.abs(this.startY-d.getGraphY())<f&&
-c(d.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=e);this.currentLink=this.currentState=null;null!=this.highlight&&this.highlight.hide();null!=g.tooltipHandler&&g.tooltipHandler.hide()}};g.click=function(a){};g.addMouseListener(h);mxEvent.addListener(document,"mouseleave",
-function(a){h.clear()})};Graph.prototype.duplicateCells=function(a,b){a=null!=a?a:this.getSelectionCells();b=null!=b?b:!0;a=this.model.getTopmostCells(a);var c=this.getModel(),d=this.gridSize,e=[];c.beginUpdate();try{for(var f=this.cloneCells(a,!1),g=0;g<a.length;g++){var h=c.getParent(a[g]),k=this.moveCells([f[g]],d,d,!1)[0];e.push(k);if(b)c.add(h,f[g]);else{var l=h.getIndex(a[g]);c.add(h,f[g],l+1)}}}finally{c.endUpdate()}return e};Graph.prototype.insertImage=function(a,b,c){if(null!=a){for(var d=
-this.cellEditor.textarea.getElementsByTagName("img"),e=[],f=0;f<d.length;f++)e.push(d[f]);document.execCommand("insertimage",!1,a);a=this.cellEditor.textarea.getElementsByTagName("img");if(a.length==e.length+1)for(f=a.length-1;0<=f;f--)if(0==f||a[f]!=e[f-1]){a[f].setAttribute("width",b);a[f].setAttribute("height",c);break}}};Graph.prototype.insertLink=function(a){0==a.length?document.execCommand("unlink",!1):document.execCommand("createlink",!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,f=0;f<b.length;f++)if(this.getModel().isVertex(b[f])){var g=this.view.getState(b[f]);if(null!=g){var h=a?g.getCenterX():g.getCenterY(),d=
-null!=d?Math.max(d,h):h,e=null!=e?Math.min(e,h):h;c.push(g)}}if(2<c.length){c.sort(function(b,c){return a?b.x-c.x:b.y-c.y});g=this.view.translate;h=this.view.scale;e=e/h-(a?g.x:g.y);d=d/h-(a?g.x:g.y);this.getModel().beginUpdate();try{for(var k=(d-e)/(c.length-1),d=e,f=1;f<c.length-1;f++){var l=this.view.getState(this.model.getParent(c[f].cell)),m=this.getCellGeometry(c[f].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[f].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.encodeCells=function(a){for(var b=this.cloneCells(a),c=new mxDictionary,d=0;d<a.length;d++)c.put(a[d],!0);for(d=0;d<b.length;d++){var e=this.view.getState(a[d]);if(null!=e){var f=this.getCellGeometry(b[d]);null==f||!f.relative||this.model.isEdge(a[d])||c.get(this.model.getParent(a[d]))||(f.relative=!1,f.x=e.x/e.view.scale-
-e.view.translate.x,f.y=e.y/e.view.scale-e.view.translate.y)}}c=new mxCodec;e=new mxGraphModel;f=e.getChildAt(e.getRoot(),0);for(d=0;d<a.length;d++)e.add(f,b[d]);return c.encode(e)};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,f,g,h){b=null!=b?b:1;c=null!=c?c:0;e=null!=e?e:!0;f=null!=f?f:!0;g=null!=g?g:!0;d=f||d?this.getGraphBounds():
+if(null!=a)for(var c=0;c<a.length;c++){var d=this.getAbsoluteUrl(a[c].getAttribute("href"));null!=d&&(a[c].setAttribute("href",d),null!=b&&mxEvent.addGestureListeners(a[c],null,null,b))}});this.model.addListener(mxEvent.CHANGE,d);d();var e=this.container.style.cursor,g=this.getTolerance(),f=this,h={currentState:null,currentLink:null,highlight:null!=a&&""!=a&&a!=mxConstants.NONE?new mxCellHighlight(f,a,4):null,startX:0,startY:0,scrollLeft:0,scrollTop:0,updateCurrentState:function(a){var b=a.sourceState;
+if(null==b||null==f.getLinkForCell(b.cell))a=f.getCellAt(a.getGraphX(),a.getGraphY(),null,null,null,function(a,b,c){return null==f.getLinkForCell(a.cell)}),b=f.view.getState(a);b!=this.currentState&&(null!=this.currentState&&this.clear(),this.currentState=b,null!=this.currentState&&this.activate(this.currentState))},mouseDown:function(a,b){this.startX=b.getGraphX();this.startY=b.getGraphY();this.scrollLeft=f.container.scrollLeft;this.scrollTop=f.container.scrollTop;null==this.currentLink&&"auto"==
+f.container.style.overflow&&(f.container.style.cursor="move");this.updateCurrentState(b)},mouseMove:function(a,b){if(f.isMouseDown){if(null!=this.currentLink){var c=Math.abs(this.startX-b.getGraphX()),d=Math.abs(this.startY-b.getGraphY());(c>g||d>g)&&this.clear()}}else{for(c=b.getSource();null!=c&&"a"!=c.nodeName.toLowerCase();)c=c.parentNode;null!=c?this.clear():(null!=f.tooltipHandler&&null!=this.currentLink&&null!=this.currentState&&f.tooltipHandler.reset(b,!0,this.currentState),(null==this.currentState||
+b.getState()!=this.currentState&&null!=b.sourceState||!f.intersects(this.currentState,b.getGraphX(),b.getGraphY()))&&this.updateCurrentState(b))}},mouseUp:function(a,d){for(var e=d.getSource(),h=d.getEvent();null!=e&&"a"!=e.nodeName.toLowerCase();)e=e.parentNode;null==e&&Math.abs(this.scrollLeft-f.container.scrollLeft)<g&&Math.abs(this.scrollTop-f.container.scrollTop)<g&&(null==d.sourceState||!d.isSource(d.sourceState.control))&&((mxEvent.isLeftMouseButton(h)||mxEvent.isMiddleMouseButton(h))&&!mxEvent.isPopupTrigger(h)||
+mxEvent.isTouchEvent(h))&&(null!=this.currentLink?(e=f.isBlankLink(this.currentLink),"data:"!==this.currentLink.substring(0,5)&&e||null==b||b(h,this.currentLink),mxEvent.isConsumed(h)||(h=mxEvent.isMiddleMouseButton(h)?"_blank":e?f.linkTarget:"_top",f.openLink(this.currentLink,h),d.consume())):null!=c&&!d.isConsumed()&&Math.abs(this.scrollLeft-f.container.scrollLeft)<g&&Math.abs(this.scrollTop-f.container.scrollTop)<g&&Math.abs(this.startX-d.getGraphX())<g&&Math.abs(this.startY-d.getGraphY())<g&&
+c(d.getEvent()));this.clear()},activate:function(a){this.currentLink=f.getAbsoluteUrl(f.getLinkForCell(a.cell));null!=this.currentLink&&(f.container.style.cursor="pointer",null!=this.highlight&&this.highlight.highlight(a))},clear:function(){null!=f.container&&(f.container.style.cursor=e);this.currentLink=this.currentState=null;null!=this.highlight&&this.highlight.hide();null!=f.tooltipHandler&&f.tooltipHandler.hide()}};f.click=function(a){};f.addMouseListener(h);mxEvent.addListener(document,"mouseleave",
+function(a){h.clear()})};Graph.prototype.duplicateCells=function(a,b){a=null!=a?a:this.getSelectionCells();b=null!=b?b:!0;a=this.model.getTopmostCells(a);var c=this.getModel(),d=this.gridSize,e=[];c.beginUpdate();try{for(var g=this.cloneCells(a,!1),f=0;f<a.length;f++){var h=c.getParent(a[f]),k=this.moveCells([g[f]],d,d,!1)[0];e.push(k);if(b)c.add(h,g[f]);else{var l=h.getIndex(a[f]);c.add(h,g[f],l+1)}}}finally{c.endUpdate()}return e};Graph.prototype.insertImage=function(a,b,c){if(null!=a){for(var d=
+this.cellEditor.textarea.getElementsByTagName("img"),e=[],g=0;g<d.length;g++)e.push(d[g]);document.execCommand("insertimage",!1,a);a=this.cellEditor.textarea.getElementsByTagName("img");if(a.length==e.length+1)for(g=a.length-1;0<=g;g--)if(0==g||a[g]!=e[g-1]){a[g].setAttribute("width",b);a[g].setAttribute("height",c);break}}};Graph.prototype.insertLink=function(a){0==a.length?document.execCommand("unlink",!1):document.execCommand("createlink",!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.encodeCells=function(a){for(var b=this.cloneCells(a),c=new mxDictionary,d=0;d<a.length;d++)c.put(a[d],!0);for(d=0;d<b.length;d++){var e=this.view.getState(a[d]);if(null!=e){var g=this.getCellGeometry(b[d]);null==g||!g.relative||this.model.isEdge(a[d])||c.get(this.model.getParent(a[d]))||(g.relative=!1,g.x=e.x/e.view.scale-
+e.view.translate.x,g.y=e.y/e.view.scale-e.view.translate.y)}}c=new mxCodec;e=new mxGraphModel;g=e.getChildAt(e.getRoot(),0);for(d=0;d<a.length;d++)e.add(g,b[d]);return c.encode(e)};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){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;d=g||d?this.getGraphBounds():
this.getBoundingBox(this.getSelectionCells());if(null==d)throw Error(mxResources.get("drawingEmpty"));var k=this.view.scale,l=mxUtils.createXmlDocument(),m=null!=l.createElementNS?l.createElementNS(mxConstants.NS_SVG,"svg"):l.createElement("svg");null!=a&&(null!=m.style?m.style.backgroundColor=a:m.setAttribute("style","background-color:"+a));null==l.createElementNS?(m.setAttribute("xmlns",mxConstants.NS_SVG),m.setAttribute("xmlns:xlink",mxConstants.NS_XLINK)):m.setAttributeNS("http://www.w3.org/2000/xmlns/",
"xmlns:xlink",mxConstants.NS_XLINK);a=b/k;m.setAttribute("width",Math.max(1,Math.ceil(d.width*a)+2*c)+"px");m.setAttribute("height",Math.max(1,Math.ceil(d.height*a)+2*c)+"px");m.setAttribute("version","1.1");var y=m;e&&(y=null!=l.createElementNS?l.createElementNS(mxConstants.NS_SVG,"g"):l.createElement("g"),y.setAttribute("transform","translate(0.5,0.5)"),m.appendChild(y));l.appendChild(m);l=this.createSvgCanvas(y);l.foOffset=e?-.5:0;l.textOffset=e?-.5:0;l.imageOffset=e?-.5:0;l.translate(Math.floor((c/
-b-d.x)/k),Math.floor((c/b-d.y)/k));var n=document.createElement("textarea"),p=l.createAlternateContent;l.createAlternateContent=function(a,b,c,d,e,f,g,h,k,l,m,y,G){var q=this.state;if(null!=this.foAltText&&(0==d||0!=q.fontSize&&f.length<5*d/q.fontSize)){var r=this.createElement("text");r.setAttribute("x",Math.round(d/2));r.setAttribute("y",Math.round((e+q.fontSize)/2));r.setAttribute("fill",q.fontColor||"black");r.setAttribute("text-anchor","middle");r.setAttribute("font-size",Math.round(q.fontSize)+
-"px");r.setAttribute("font-family",q.fontFamily);(q.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&r.setAttribute("font-weight","bold");(q.fontStyle&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&r.setAttribute("font-style","italic");(q.fontStyle&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&r.setAttribute("text-decoration","underline");try{return n.innerHTML=f,r.textContent=n.value,r}catch(Ea){return p.apply(this,arguments)}}else return p.apply(this,arguments)};c=this.backgroundImage;
-null!=c&&(e=k/b,b=this.view.translate,e=new mxRectangle(b.x*e,b.y*e,c.width*e,c.height*e),mxUtils.intersects(d,e)&&l.image(b.x,b.y,c.width,c.height,c.src,!0));l.scale(a);l.textEnabled=g;h=null!=h?h:this.createSvgImageExport();var G=h.drawCellState;h.drawCellState=function(a,b){for(var c=a.view.graph,d=c.isCellSelected(a.cell),e=c.model.getParent(a.cell);!f&&!d&&null!=e;)d=c.isCellSelected(e),e=c.model.getParent(e);(f||d)&&G.apply(this,arguments)};h.drawState(this.getView().getState(this.model.root),
+b-d.x)/k),Math.floor((c/b-d.y)/k));var n=document.createElement("textarea"),p=l.createAlternateContent;l.createAlternateContent=function(a,b,c,d,e,g,f,h,k,l,m,y,G){var q=this.state;if(null!=this.foAltText&&(0==d||0!=q.fontSize&&g.length<5*d/q.fontSize)){var r=this.createElement("text");r.setAttribute("x",Math.round(d/2));r.setAttribute("y",Math.round((e+q.fontSize)/2));r.setAttribute("fill",q.fontColor||"black");r.setAttribute("text-anchor","middle");r.setAttribute("font-size",Math.round(q.fontSize)+
+"px");r.setAttribute("font-family",q.fontFamily);(q.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&r.setAttribute("font-weight","bold");(q.fontStyle&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&r.setAttribute("font-style","italic");(q.fontStyle&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&r.setAttribute("text-decoration","underline");try{return n.innerHTML=g,r.textContent=n.value,r}catch(Ea){return p.apply(this,arguments)}}else return p.apply(this,arguments)};c=this.backgroundImage;
+null!=c&&(e=k/b,b=this.view.translate,e=new mxRectangle(b.x*e,b.y*e,c.width*e,c.height*e),mxUtils.intersects(d,e)&&l.image(b.x,b.y,c.width,c.height,c.src,!0));l.scale(a);l.textEnabled=f;h=null!=h?h:this.createSvgImageExport();var G=h.drawCellState;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)&&G.apply(this,arguments)};h.drawState(this.getView().getState(this.model.root),
l);return m};Graph.prototype.createSvgCanvas=function(a){return new mxSvgCanvas2D(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.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=0<c.rows.length?c.rows[0].cells.length:1,c=c.insertRow(b),e=0;e<d;e++)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<=b?b:c.rows[0].cells.length-1]};Graph.prototype.deleteColumn=function(a,b){if(0<=b)for(var c=a.tBodies[0].rows,d=0;d<c.length;d++)c[d].cells.length>b&&
c[d].deleteCell(b)};Graph.prototype.pasteHtmlAtCaret=function(a){var b;if(window.getSelection){if(b=window.getSelection(),b.getRangeAt&&b.rangeCount){b=b.getRangeAt(0);b.deleteContents();var c=document.createElement("div");c.innerHTML=a;a=document.createDocumentFragment();for(var d;d=c.firstChild;)lastNode=a.appendChild(d);b.insertNode(a)}}else(b=document.selection)&&"Control"!=b.type&&b.createRange().pasteHTML(a)};Graph.prototype.createLinkForHint=function(a,b){b=null!=b?b:a;var c=document.createElement("a");
c.setAttribute("href",this.getAbsoluteUrl(a));c.setAttribute("title",a);null!=this.linkTarget&&c.setAttribute("target",this.linkTarget);40<b.length&&(b=b.substring(0,26)+"..."+b.substring(b.length-10));mxUtils.write(c,b);return c};Graph.prototype.initTouch=function(){this.connectionHandler.marker.isEnabled=function(){return null!=this.graph.connectionHandler.first};this.addListener(mxEvent.START_EDITING,function(a,b){this.popupMenuHandler.hideMenu()});var a=this.updateMouseEvent;this.updateMouseEvent=
function(b){b=a.apply(this,arguments);if(mxEvent.isTouchEvent(b.getEvent())&&null==b.getState()){var c=this.getCellAt(b.graphX,b.graphY);null!=c&&this.isSwimlane(c)&&this.hitsSwimlaneContent(c,b.graphX,b.graphY)||(b.state=this.view.getState(c),null!=b.state&&null!=b.state.shape&&(this.container.style.cursor=b.state.shape.node.style.cursor))}null==b.getState()&&this.isEnabled()&&(this.container.style.cursor="default");return b};var b=!1,c=!1,d=!1,e=this.fireMouseEvent;this.fireMouseEvent=function(a,
-f,g){a==mxEvent.MOUSE_DOWN&&(f=this.updateMouseEvent(f),b=this.isCellSelected(f.getCell()),c=this.isSelectionEmpty(),d=this.popupMenuHandler.isMenuShowing());e.apply(this,arguments)};this.popupMenuHandler.mouseUp=mxUtils.bind(this,function(a,e){this.popupMenuHandler.popupTrigger=!this.isEditing()&&this.isEnabled()&&(null==e.getState()||!e.isSource(e.getState().control))&&(this.popupMenuHandler.popupTrigger||!d&&!mxEvent.isMouseEvent(e.getEvent())&&(c&&null==e.getCell()&&this.isSelectionEmpty()||b&&
+g,f){a==mxEvent.MOUSE_DOWN&&(g=this.updateMouseEvent(g),b=this.isCellSelected(g.getCell()),c=this.isSelectionEmpty(),d=this.popupMenuHandler.isMenuShowing());e.apply(this,arguments)};this.popupMenuHandler.mouseUp=mxUtils.bind(this,function(a,e){this.popupMenuHandler.popupTrigger=!this.isEditing()&&this.isEnabled()&&(null==e.getState()||!e.isSource(e.getState().control))&&(this.popupMenuHandler.popupTrigger||!d&&!mxEvent.isMouseEvent(e.getEvent())&&(c&&null==e.getCell()&&this.isSelectionEmpty()||b&&
this.isCellSelected(e.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.saveSelection=function(){if(window.getSelection){var a=window.getSelection();if(a.getRangeAt&&a.rangeCount){for(var b=[],c=0,d=a.rangeCount;c<d;++c)b.push(a.getRangeAt(c));return b}}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 b=0,c=a.length;b<c;++b)sel.addRange(a[b])}else document.selection&&a.select&&a.select()}catch(W){}};var f=mxCellRenderer.prototype.initializeLabel;mxCellRenderer.prototype.initializeLabel=function(a){null!=a.text&&(a.text.replaceLinefeeds="0"!=mxUtils.getValue(a.style,"nl2Br","1"));f.apply(this,arguments)};var e=mxConstraintHandler.prototype.update;
mxConstraintHandler.prototype.update=function(a,b){this.isKeepFocusEvent(a)||!mxEvent.isAltDown(a.getEvent())?e.apply(this,arguments):this.reset()};mxGuide.prototype.createGuideShape=function(a){return new mxPolyline([],mxConstants.GUIDE_COLOR,mxConstants.GUIDE_STROKEWIDTH)};mxCellEditor.prototype.escapeCancelsEditing=!1;var k=mxCellEditor.prototype.startEditing;mxCellEditor.prototype.startEditing=function(a,b){k.apply(this,arguments);var c=this.graph.view.getState(a);this.textarea.className=null!=
@@ -2554,9 +2554,9 @@ c&&1==c.style.html?"mxCellEditor geContentEditable":"mxCellEditor mxPlainTextEdi
"":mxClient.IS_QUIRKS&&(this.textarea.style.outline="none",this.textarea.style.border="")};var g=mxCellEditor.prototype.installListeners;mxCellEditor.prototype.installListeners=function(a){function b(a,c){c.originalNode=a;a=a.firstChild;for(var d=c.firstChild;null!=a&&null!=d;)b(a,d),a=a.nextSibling,d=d.nextSibling;return c}function c(a,b){if(null!=a)if(b.originalNode!=a)d(a);else for(a=a.firstChild,b=b.firstChild;null!=a;){var e=a.nextSibling;null==b?d(a):(c(a,b),b=b.nextSibling);a=e}}function d(a){for(var b=
a.firstChild;null!=b;){var c=b.nextSibling;d(b);b=c}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)}g.apply(this,arguments);
mxClient.IS_QUIRKS||7===document.documentMode||8===document.documentMode||mxEvent.addListener(this.textarea,"paste",mxUtils.bind(this,function(a){var d=b(this.textarea,this.textarea.cloneNode(!0));window.setTimeout(mxUtils.bind(this,function(){c(this.textarea,d)}),0)}))};mxCellEditor.prototype.toggleViewMode=function(){var a=this.graph.view.getState(this.editingCell),b=null!=a&&"0"!=mxUtils.getValue(a.style,"nl2Br","1"),c=this.saveSelection();if(this.codeViewMode){h=mxUtils.extractTextWithWhitespace(this.textarea.childNodes);
-0<h.length&&"\n"==h.charAt(h.length-1)&&(h=h.substring(0,h.length-1));h=this.graph.sanitizeHtml(b?h.replace(/\n/g,"<br/>"):h,!0);this.textarea.className="mxCellEditor geContentEditable";var d=mxUtils.getValue(a.style,mxConstants.STYLE_FONTSIZE,mxConstants.DEFAULT_FONTSIZE),b=mxUtils.getValue(a.style,mxConstants.STYLE_FONTFAMILY,mxConstants.DEFAULT_FONTFAMILY),e=mxUtils.getValue(a.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_LEFT),f=(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,a=(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE;this.textarea.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?Math.round(d*mxConstants.LINE_HEIGHT)+"px":mxConstants.LINE_HEIGHT;this.textarea.style.fontSize=Math.round(d)+"px";this.textarea.style.textDecoration=a?"underline":"";this.textarea.style.fontWeight=
-f?"bold":"normal";this.textarea.style.fontStyle=g?"italic":"";this.textarea.style.fontFamily=b;this.textarea.style.textAlign=e;this.textarea.style.padding="0px";this.textarea.innerHTML!=h&&(this.textarea.innerHTML=h,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="");
+0<h.length&&"\n"==h.charAt(h.length-1)&&(h=h.substring(0,h.length-1));h=this.graph.sanitizeHtml(b?h.replace(/\n/g,"<br/>"):h,!0);this.textarea.className="mxCellEditor geContentEditable";var d=mxUtils.getValue(a.style,mxConstants.STYLE_FONTSIZE,mxConstants.DEFAULT_FONTSIZE),b=mxUtils.getValue(a.style,mxConstants.STYLE_FONTFAMILY,mxConstants.DEFAULT_FONTFAMILY),e=mxUtils.getValue(a.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_LEFT),g=(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_BOLD)==
+mxConstants.FONT_BOLD,f=(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC,a=(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE;this.textarea.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?Math.round(d*mxConstants.LINE_HEIGHT)+"px":mxConstants.LINE_HEIGHT;this.textarea.style.fontSize=Math.round(d)+"px";this.textarea.style.textDecoration=a?"underline":"";this.textarea.style.fontWeight=
+g?"bold":"normal";this.textarea.style.fontStyle=f?"italic":"";this.textarea.style.fontFamily=b;this.textarea.style.textAlign=e;this.textarea.style.padding="0px";this.textarea.innerHTML!=h&&(this.textarea.innerHTML=h,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 h=mxUtils.htmlEntities(this.textarea.innerHTML);mxClient.IS_QUIRKS||8==document.documentMode||(h=mxUtils.replaceTrailingNewlines(h,"<div><br></div>"));h=this.graph.sanitizeHtml(b?h.replace(/\n/g,"").replace(/&lt;br\s*.?&gt;/g,"<br>"):h,!0);this.textarea.className="mxCellEditor mxPlainTextEditor";var d=mxConstants.DEFAULT_FONTSIZE;this.textarea.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?Math.round(d*mxConstants.LINE_HEIGHT)+"px":mxConstants.LINE_HEIGHT;this.textarea.style.fontSize=Math.round(d)+
"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!=h&&(this.textarea.innerHTML=h);this.codeViewMode=!0}this.textarea.focus();null!=this.switchSelectionState&&this.restoreSelection(this.switchSelectionState);this.switchSelectionState=c;this.resize()};var h=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 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,
@@ -2566,13 +2566,13 @@ c);this.textarea.clientWidth<this.textarea.offsetWidth&&(this.textarea.style.wid
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 l=mxCellEditor.prototype.stopEditing;mxCellEditor.prototype.stopEditing=function(a){this.codeViewMode&&this.toggleViewMode();l.apply(this,arguments);this.focusContainer()};mxCellEditor.prototype.focusContainer=
function(){try{this.graph.container.focus()}catch(G){}};var m=mxCellEditor.prototype.applyValue;mxCellEditor.prototype.applyValue=function(a,b){this.graph.getModel().beginUpdate();try{if(m.apply(this,arguments),this.graph.isCellDeletable(a.cell)&&0==this.graph.model.getChildCount(a.cell)){var c=mxUtils.getValue(a.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),d=mxUtils.getValue(a.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE);""==b&&c==mxConstants.NONE&&d==mxConstants.NONE&&this.graph.removeCells([a.cell],
!1)}}finally{this.graph.getModel().endUpdate()}};mxCellEditor.prototype.getBackgroundColor=function(a){var b=null;if(this.graph.getModel().isEdge(a.cell)||this.graph.getModel().isEdge(this.graph.getModel().getParent(a.cell)))b=mxUtils.getValue(a.style,mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,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 n=mxGraphHandler.prototype.moveCells;
-mxGraphHandler.prototype.moveCells=function(a,b,c,d,e,f){mxEvent.isAltDown(f)&&(e=null);n.apply(this,arguments)};mxGraphHandler.prototype.updateHint=function(b){if(null!=this.shape){null==this.hint&&(this.hint=a(),this.graph.container.appendChild(this.hint));var c=this.graph.view.translate,d=this.graph.view.scale;b=this.roundLength((this.bounds.x+this.currentDx)/d-c.x);c=this.roundLength((this.bounds.y+this.currentDy)/d-c.y);this.hint.innerHTML=b+", "+c;this.hint.style.left=this.shape.bounds.x+Math.round((this.shape.bounds.width-
+mxGraphHandler.prototype.moveCells=function(a,b,c,d,e,g){mxEvent.isAltDown(g)&&(e=null);n.apply(this,arguments)};mxGraphHandler.prototype.updateHint=function(b){if(null!=this.shape){null==this.hint&&(this.hint=a(),this.graph.container.appendChild(this.hint));var c=this.graph.view.translate,d=this.graph.view.scale;b=this.roundLength((this.bounds.x+this.currentDx)/d-c.x);c=this.roundLength((this.bounds.y+this.currentDy)/d-c.y);this.hint.innerHTML=b+", "+c;this.hint.style.left=this.shape.bounds.x+Math.round((this.shape.bounds.width-
this.hint.clientWidth)/2)+"px";this.hint.style.top=this.shape.bounds.y+this.shape.bounds.height+12+"px"}};mxGraphHandler.prototype.removeHint=function(){null!=this.hint&&(this.hint.parentNode.removeChild(this.hint),this.hint=null)};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 p=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=p.apply(this,arguments);return a};mxVertexHandler.prototype.updateHint=function(b){this.index!=mxEvent.LABEL_HANDLE&&(null==this.hint&&(this.hint=a(),this.state.view.graph.container.appendChild(this.hint)),this.index==mxEvent.ROTATION_HANDLE?this.hint.innerHTML=this.currentAlpha+
"&deg;":(b=this.state.view.scale,this.hint.innerHTML=this.roundLength(this.bounds.width/b)+" x "+this.roundLength(this.bounds.height/b)),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+12+"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="")};mxEdgeHandler.prototype.updateHint=function(b,c){null==this.hint&&(this.hint=a(),this.state.view.graph.container.appendChild(this.hint));var d=this.graph.view.translate,e=this.graph.view.scale,f=this.roundLength(c.x/e-d.x),d=this.roundLength(c.y/e-d.y);this.hint.innerHTML=f+", "+d;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(),c.y)+this.state.view.graph.gridSize+"px";null!=this.linkHint&&(this.linkHint.style.display="none")};mxEdgeHandler.prototype.removeHint=mxVertexHandler.prototype.removeHint;
+function(){mxGraphHandler.prototype.removeHint.apply(this,arguments);null!=this.linkHint&&(this.linkHint.style.display="")};mxEdgeHandler.prototype.updateHint=function(b,c){null==this.hint&&(this.hint=a(),this.state.view.graph.container.appendChild(this.hint));var d=this.graph.view.translate,e=this.graph.view.scale,g=this.roundLength(c.x/e-d.x),d=this.roundLength(c.y/e-d.y);this.hint.innerHTML=g+", "+d;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(b.getGraphX()-this.hint.clientWidth/2)+"px";this.hint.style.top=Math.max(b.getGraphY(),c.y)+this.state.view.graph.gridSize+"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="#007dfc" 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="#007dfc" 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="#007dfc" 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=new mxImage(mxClient.IS_SVG?"data:image/png;base64,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":
IMAGE_PATH+"/handle-rotate.png",19,21);mxClient.IS_SVG&&(mxConstraintHandler.prototype.pointImage=Graph.createSvgImage(5,5,'<path d="m 0 0 L 5 5 M 0 5 L 5 0" stroke="#007dfc"/>'));mxVertexHandler.prototype.handleImage=HoverIcons.prototype.mainHandle;mxVertexHandler.prototype.secondaryHandleImage=HoverIcons.prototype.secondaryHandle;mxEdgeHandler.prototype.handleImage=HoverIcons.prototype.mainHandle;mxEdgeHandler.prototype.terminalHandleImage=HoverIcons.prototype.terminalHandle;mxEdgeHandler.prototype.fixedHandleImage=
@@ -2582,10 +2582,10 @@ Sidebar.prototype.roundDrop=HoverIcons.prototype.roundDrop);mxClient.IS_SVG||((n
-20;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=-24,mxConstraintHandler.prototype.getTolerance=function(a){return mxEvent.isMouseEvent(a.getEvent())?4:this.graph.getTolerance()};mxPanningHandler.prototype.isPanningTrigger=function(a){var b=a.getEvent();return null==
a.getState()&&!mxEvent.isMouseEvent(b)||mxEvent.isPopupTrigger(b)&&(null==a.getState()||mxEvent.isControlDown(b)||mxEvent.isShiftDown(b))};var q=mxGraphHandler.prototype.mouseDown;mxGraphHandler.prototype.mouseDown=function(a,b){q.apply(this,arguments);mxEvent.isTouchEvent(b.getEvent())&&this.graph.isCellSelected(b.getCell())&&1<this.graph.getSelectionCount()&&(this.delayedSelection=!1)}}else mxPanningHandler.prototype.isPanningTrigger=function(a){var b=a.getEvent();return mxEvent.isLeftMouseButton(b)&&
-(this.useLeftButtonForPanning&&null==a.getState()||mxEvent.isControlDown(b)&&!mxEvent.isShiftDown(b))||this.usePopupTrigger&&mxEvent.isPopupTrigger(b)};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,b){var c=null!=this.div&&"none"!=this.div.style.display,d=null,e=null,f=null,g=null;null!=this.first&&
-null!=this.currentX&&null!=this.currentY&&(d=this.first.x,e=this.first.y,f=(this.currentX-d)/this.graph.view.scale,g=(this.currentY-e)/this.graph.view.scale,mxEvent.isAltDown(b.getEvent())||(f=this.graph.snap(f),g=this.graph.snap(g),this.graph.isGridEnabled()||(Math.abs(f)<this.graph.tolerance&&(f=0),Math.abs(g)<this.graph.tolerance&&(g=0))));this.reset();if(c){if(mxEvent.isAltDown(b.getEvent())&&this.graph.isToggleEvent(b.getEvent())){var f=new mxRectangle(this.x,this.y,this.width,this.height),h=
-this.graph.getCells(f.x,f.y,f.width,f.height);this.graph.removeSelectionCells(h)}else if(this.isSpaceEvent(b)){this.graph.model.beginUpdate();try{for(h=this.graph.getCellsBeyond(d,e,this.graph.getDefaultParent(),!0,!0),c=0;c<h.length;c++)if(this.graph.isCellMovable(h[c])){var k=this.graph.view.getState(h[c]),l=this.graph.getCellGeometry(h[c]);null!=k&&null!=l&&(l=l.clone(),l.translate(f,g),this.graph.model.setGeometry(h[c],l))}}finally{this.graph.model.endUpdate()}}else f=new mxRectangle(this.x,this.y,
-this.width,this.height),this.graph.selectRegion(f,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,f=this.first.y-c,g=this.graph.tolerance;if(null!=this.div||Math.abs(e)>g||Math.abs(f)>g)null==this.div&&(this.div=this.createShape()),mxUtils.clearSelection(),this.update(d,c),
+(this.useLeftButtonForPanning&&null==a.getState()||mxEvent.isControlDown(b)&&!mxEvent.isShiftDown(b))||this.usePopupTrigger&&mxEvent.isPopupTrigger(b)};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,b){var c=null!=this.div&&"none"!=this.div.style.display,d=null,e=null,g=null,f=null;null!=this.first&&
+null!=this.currentX&&null!=this.currentY&&(d=this.first.x,e=this.first.y,g=(this.currentX-d)/this.graph.view.scale,f=(this.currentY-e)/this.graph.view.scale,mxEvent.isAltDown(b.getEvent())||(g=this.graph.snap(g),f=this.graph.snap(f),this.graph.isGridEnabled()||(Math.abs(g)<this.graph.tolerance&&(g=0),Math.abs(f)<this.graph.tolerance&&(f=0))));this.reset();if(c){if(mxEvent.isAltDown(b.getEvent())&&this.graph.isToggleEvent(b.getEvent())){var g=new mxRectangle(this.x,this.y,this.width,this.height),h=
+this.graph.getCells(g.x,g.y,g.width,g.height);this.graph.removeSelectionCells(h)}else if(this.isSpaceEvent(b)){this.graph.model.beginUpdate();try{for(h=this.graph.getCellsBeyond(d,e,this.graph.getDefaultParent(),!0,!0),c=0;c<h.length;c++)if(this.graph.isCellMovable(h[c])){var k=this.graph.view.getState(h[c]),l=this.graph.getCellGeometry(h[c]);null!=k&&null!=l&&(l=l.clone(),l.translate(g,f),this.graph.model.setGeometry(h[c],l))}}finally{this.graph.model.endUpdate()}}else g=new mxRectangle(this.x,this.y,
+this.width,this.height),this.graph.selectRegion(g,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 r=mxRubberband.prototype.reset;mxRubberband.prototype.reset=function(){null!=this.secondDiv&&(this.secondDiv.parentNode.removeChild(this.secondDiv),this.secondDiv=null);r.apply(this,
@@ -2600,7 +2600,7 @@ function(a,b){B.apply(this,arguments);null!=this.rotationShape&&null!=this.rotat
1==this.graph.getSelectionCount()?"":"none");null!=this.specialHandle&&(this.specialHandle.node.style.display=this.graph.isEnabled()&&this.graph.getSelectionCount()<this.graph.graphHandler.maxCells?"":"none");this.redrawHandles()});this.selectionHandler=mxUtils.bind(this,function(a,c){b()});this.graph.getSelectionModel().addListener(mxEvent.CHANGE,this.selectionHandler);this.changeHandler=mxUtils.bind(this,function(a,c){this.updateLinkHint(this.graph.getLinkForCell(this.state.cell),this.graph.getLinksForState(this.state));
b()});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);this.updateLinkHint(c,d);if(null!=c||null!=d&&0<d.length)a=!0;a&&this.redrawHandles()};mxVertexHandler.prototype.updateLinkHint=function(b,c){if(null==b&&(null==c||0==c.length)||1<this.graph.getSelectionCount())null!=
this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);else if(null!=b||null!=c&&0<c.length){null==this.linkHint&&(this.linkHint=a(),this.linkHint.style.padding="6px 8px 6px 8px",this.linkHint.style.fontSize="90%",this.linkHint.style.opacity="1",this.linkHint.style.filter="",this.graph.container.appendChild(this.linkHint));this.linkHint.innerHTML="";if(null!=b&&(this.linkHint.appendChild(this.graph.createLinkForHint(b)),this.graph.isEnabled()&&"function"===typeof this.graph.editLink)){var d=
-document.createElement("img");d.setAttribute("src",IMAGE_PATH+"/edit.gif");d.setAttribute("title",mxResources.get("editLink"));d.setAttribute("width","11");d.setAttribute("height","11");d.style.marginLeft="10px";d.style.marginBottom="-1px";d.style.cursor="pointer";this.linkHint.appendChild(d);mxEvent.addListener(d,"click",mxUtils.bind(this,function(a){this.graph.setSelectionCell(this.state.cell);this.graph.editLink();mxEvent.consume(a)}));d=document.createElement("img");d.setAttribute("src",Dialog.prototype.clearImage);
+document.createElement("img");d.setAttribute("src",Editor.editImage);d.setAttribute("title",mxResources.get("editLink"));d.setAttribute("width","11");d.setAttribute("height","11");d.style.marginLeft="10px";d.style.marginBottom="-1px";d.style.cursor="pointer";this.linkHint.appendChild(d);mxEvent.addListener(d,"click",mxUtils.bind(this,function(a){this.graph.setSelectionCell(this.state.cell);this.graph.editLink();mxEvent.consume(a)}));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!=c)for(d=0;d<c.length;d++){var e=document.createElement("div");e.style.marginTop=null!=b||0<d?"6px":"0px";e.appendChild(this.graph.createLinkForHint(c[d].getAttribute("href"),
mxUtils.getTextContent(c[d])));this.linkHint.appendChild(e)}}};mxEdgeHandler.prototype.updateLinkHint=mxVertexHandler.prototype.updateLinkHint;var K=mxEdgeHandler.prototype.init;mxEdgeHandler.prototype.init=function(){K.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.selectionHandler=mxUtils.bind(this,function(b,c){a()});this.graph.getSelectionModel().addListener(mxEvent.CHANGE,this.selectionHandler);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.getModel().addListener(mxEvent.CHANGE,
@@ -2635,14 +2635,14 @@ n=!1);else if(r!=mxUtils.getValue(this.format.getSelectionState().style,c,d)){l.
(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.style.padding="12px 0px 12px 18px";a.style.borderBottom="1px solid #c0c0c0";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){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 k=document.createElement("div");mxUtils.setPrefixedStyle(k.style,"borderRadius","3px");k.style.border="1px solid rgb(192, 192, 192)";k.style.position="absolute";var g=document.createElement("div");g.style.borderBottom="1px solid rgb(192, 192, 192)";g.style.position="relative";g.style.height=b+"px";g.style.width="10px";g.className=
-"geBtnUp";k.appendChild(g);var h=g.cloneNode(!1);h.style.border="none";h.style.height=b+"px";h.className="geBtnDown";k.appendChild(h);mxEvent.addListener(h,"click",function(b){""==a.value&&(a.value=e||"2");var f=parseInt(a.value);isNaN(f)||(a.value=f-d,null!=c&&c(b));mxEvent.consume(b)});mxEvent.addListener(g,"click",function(b){""==a.value&&(a.value=e||"0");var f=parseInt(a.value);isNaN(f)||(a.value=f+d,null!=c&&c(b));mxEvent.consume(b)});if(f){var l=null;mxEvent.addGestureListeners(k,function(a){if(mxClient.IS_QUIRKS||
+"geBtnUp";k.appendChild(g);var h=g.cloneNode(!1);h.style.border="none";h.style.height=b+"px";h.className="geBtnDown";k.appendChild(h);mxEvent.addListener(h,"click",function(b){""==a.value&&(a.value=e||"2");var g=parseInt(a.value);isNaN(g)||(a.value=g-d,null!=c&&c(b));mxEvent.consume(b)});mxEvent.addListener(g,"click",function(b){""==a.value&&(a.value=e||"0");var g=parseInt(a.value);isNaN(g)||(a.value=g+d,null!=c&&c(b));mxEvent.consume(b)});if(f){var l=null;mxEvent.addGestureListeners(k,function(a){if(mxClient.IS_QUIRKS||
8==document.documentMode)l=document.selection.createRange();mxEvent.consume(a)},null,function(a){if(null!=l){try{l.select()}catch(n){}l=null;mxEvent.consume(a)}})}return k};
BaseFormatPanel.prototype.createOption=function(a,c,d,b){var f=document.createElement("div");f.style.padding="6px 0px 1px 0px";f.style.whiteSpace="nowrap";f.style.overflow="hidden";f.style.width="200px";f.style.height=mxClient.IS_QUIRKS?"27px":"18px";var e=document.createElement("input");e.setAttribute("type","checkbox");e.style.margin="0px 6px 0px 0px";f.appendChild(e);var k=document.createElement("span");mxUtils.write(k,a);f.appendChild(k);var g=!1,h=c(),l=function(a){g||(g=!0,a?(e.setAttribute("checked",
"checked"),e.defaultChecked=!0,e.checked=!0):(e.removeAttribute("checked"),e.defaultChecked=!1,e.checked=!1),h!=a&&(h=a,c()!=h&&d(h)),g=!1)};mxEvent.addListener(f,"click",function(a){if("disabled"!=e.getAttribute("disabled")){a=mxEvent.getSource(a);if(a==f||a==k)e.checked=!e.checked;l(e.checked)}});l(h);null!=b&&(b.install(l),this.listeners.push(b));return f};
BaseFormatPanel.prototype.createCellOption=function(a,c,d,b,f,e,k,g){b=null!=b?"null"==b?null:b:"1";f=null!=f?"null"==f?null:f:"0";var h=this.editorUi,l=h.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!=k)k.funct();else{l.getModel().beginUpdate();try{a=a?b:f,l.setCellStyles(c,a,l.getSelectionCells()),null!=e&&e(l.getSelectionCells(),a),h.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,k){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 h=document.createElement("input");h.setAttribute("type","checkbox");h.style.margin="0px 6px 0px 0px";k||g.appendChild(h);var l=document.createElement("span");mxUtils.write(l,a);g.appendChild(l);var m=!1,n=c(),p=null,q=function(a,f,g){if(!m){m=
-!0;p.innerHTML='<div style="width:'+(mxClient.IS_QUIRKS?"30":"36")+"px;height:12px;margin:3px;border:1px solid black;background-color:"+(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?(h.setAttribute("checked","checked"),h.defaultChecked=!0,h.checked=!0):(h.removeAttribute("checked"),h.defaultChecked=!1,h.checked=!1);p.style.display=h.checked||k?"":"none";null!=e&&e(a);f||(n=a,(g||k||c()!=n)&&
+BaseFormatPanel.prototype.createColorOption=function(a,c,d,b,f,e,k){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 h=document.createElement("input");h.setAttribute("type","checkbox");h.style.margin="0px 6px 0px 0px";k||g.appendChild(h);var l=document.createElement("span");mxUtils.write(l,a);g.appendChild(l);var m=!1,n=c(),p=null,q=function(a,g,f){if(!m){m=
+!0;p.innerHTML='<div style="width:'+(mxClient.IS_QUIRKS?"30":"36")+"px;height:12px;margin:3px;border:1px solid black;background-color:"+(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?(h.setAttribute("checked","checked"),h.defaultChecked=!0,h.checked=!0):(h.removeAttribute("checked"),h.defaultChecked=!1,h.checked=!1);p.style.display=h.checked||k?"":"none";null!=e&&e(a);g||(n=a,(f||k||c()!=n)&&
d(n));m=!1}},p=mxUtils.button("",mxUtils.bind(this,function(a){this.editorUi.pickColor(n,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=h.checked||k?"":"none";g.appendChild(p);mxEvent.addListener(g,"click",function(a){a=mxEvent.getSource(a);if(a==h||"INPUT"!=a.nodeName)a!=h&&(h.checked=!h.checked),h.checked||null==n||n==mxConstants.NONE||
b==mxConstants.NONE||(b=n),q(h.checked?b:mxConstants.NONE)});q(n,!0);null!=f&&(f.install(q),this.listeners.push(f));return g};
BaseFormatPanel.prototype.createCellColorOption=function(a,c,d,b,f){var e=this.editorUi,k=e.editor.graph;return this.createColorOption(a,function(){var a=k.view.getState(k.getSelectionCell());return null!=a?mxUtils.getValue(a.style,c,null):null},function(a){k.getModel().beginUpdate();try{null!=f&&f(a),k.setCellStyles(c,a,k.getSelectionCells()),e.fireEvent(new mxEventObject("styleChanged","keys",[c],"values",[a],"cells",k.getSelectionCells()))}finally{k.getModel().endUpdate()}},d||mxConstants.NONE,
@@ -2712,8 +2712,8 @@ J.setAttribute("value",w[p]);mxUtils.write(J,mxResources.get(w[p]));I.appendChil
rightToLeft:mxConstants.TEXT_DIRECTION_RTL},p=0;p<J.length;p++){var P=document.createElement("option");P.setAttribute("value",J[p]);mxUtils.write(P,mxResources.get(J[p]));N.appendChild(P)}w.appendChild(N);b.isEditing()||(a.appendChild(g),mxEvent.addListener(I,"change",function(a){b.getModel().beginUpdate();try{var c=E[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(w),mxEvent.addListener(N,"change",function(a){b.setCellStyles(mxConstants.STYLE_TEXT_DIRECTION,Q[N.value],b.getSelectionCells());mxEvent.consume(a)}));var F=document.createElement("input");F.style.textAlign="right";F.style.marginTop="4px";mxClient.IS_QUIRKS||(F.style.position="absolute",
F.style.right="32px");F.style.width="46px";F.style.height=mxClient.IS_QUIRKS?"21px":"17px";h.appendChild(F);var G=null,g=this.installInputHandler(F,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){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(e.nodeType==mxConstants.NODETYPE_ELEMENT){var f=e.getElementsByTagName("*");c(e);for(e=0;e<f.length;e++)c(f[e])}F.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},f=null,document.selection?f=document.selection.createRange().parentElement():(d=window.getSelection(),0<d.rangeCount&&(f=d.getRangeAt(0).commonAncestorContainer)),null!=f&&c(b.cellEditor.textarea,f))for(G=a,document.execCommand("fontSize",!1,"4"),f=b.cellEditor.textarea.getElementsByTagName("font"),e=0;e<f.length;e++)if("4"==f[e].getAttribute("size")){f[e].removeAttribute("size");f[e].style.fontSize=G+
+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(e.nodeType==mxConstants.NODETYPE_ELEMENT){var g=e.getElementsByTagName("*");c(e);for(e=0;e<g.length;e++)c(g[e])}F.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(G=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=G+
"px";window.setTimeout(function(){F.value=G+" pt";G=null},0);break}},!0),g=this.createStepper(F,g,1,10,!0,Menus.prototype.defaultFontSize);g.style.display=F.style.display;g.style.marginTop="4px";mxClient.IS_QUIRKS||(g.style.right="20px");h.appendChild(g);h=l.getElementsByTagName("div")[0];h.style.cssFloat="right";var H=null,y="#ffffff",W=null,R="#000000",T=b.cellEditor.isContentEditing()?this.createColorOption(mxResources.get("backgroundColor"),function(){return y},function(a){document.execCommand("backcolor",
!1,a!=mxConstants.NONE?a:"transparent")},"#ffffff",{install:function(a){H=a},destroy:function(){H=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})});T.style.fontWeight="bold";var ca=this.createCellColorOption(mxResources.get("borderColor"),mxConstants.STYLE_LABEL_BORDERCOLOR,"#000000");ca.style.fontWeight="bold";h=b.cellEditor.isContentEditing()?
this.createColorOption(mxResources.get("fontColor"),function(){return R},function(a){document.execCommand("forecolor",!1,a!=mxConstants.NONE?a:"transparent")},"#000000",{install:function(a){W=a},destroy:function(){W=null}},null,!0):this.createCellColorOption(mxResources.get("fontColor"),mxConstants.STYLE_FONTCOLOR,"#000000",function(a){T.style.display=null==a||a==mxConstants.NONE?"none":"";ca.style.display=T.style.display},function(a){null==a||a==mxConstants.NONE?b.setCellStyles(mxConstants.STYLE_NOLABEL,
@@ -2738,11 +2738,11 @@ a=mxUtils.getValue(f.style,mxConstants.STYLE_TEXT_DIRECTION,mxConstants.DEFAULT_
isNaN(a)?"":a+" pt";if(d||document.activeElement!=ga)a=parseFloat(mxUtils.getValue(f.style,mxConstants.STYLE_SPACING_RIGHT,0)),ga.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=fa)a=parseFloat(mxUtils.getValue(f.style,mxConstants.STYLE_SPACING_BOTTOM,0)),fa.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=Z)a=parseFloat(mxUtils.getValue(f.style,mxConstants.STYLE_SPACING_LEFT,0)),Z.value=isNaN(a)?"":a+" pt"});U=this.installInputHandler(Y,mxConstants.STYLE_SPACING,2,-999,999," pt");
X=this.installInputHandler(ea,mxConstants.STYLE_SPACING_TOP,0,-999,999," pt");ka=this.installInputHandler(ga,mxConstants.STYLE_SPACING_RIGHT,0,-999,999," pt");da=this.installInputHandler(fa,mxConstants.STYLE_SPACING_BOTTOM,0,-999,999," pt");ja=this.installInputHandler(Z,mxConstants.STYLE_SPACING_LEFT,0,-999,999," pt");this.addKeyHandler(F,V);this.addKeyHandler(Y,V);this.addKeyHandler(ea,V);this.addKeyHandler(ga,V);this.addKeyHandler(fa,V);this.addKeyHandler(Z,V);b.getModel().addListener(mxEvent.CHANGE,
V);this.listeners.push({destroy:function(){b.getModel().removeListener(V)}});V();if(b.cellEditor.isContentEditing()){var ma=!1,e=function(){ma||(ma=!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){return"px"==a.substring(a.length-2)?parseFloat(a):mxConstants.DEFAULT_FONTSIZE},e=function(a,b,c){return"%"==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 f=mxUtils.getCurrentStyle(a),g=d(f.fontSize),h=e(g,f.lineHeight,a),k=a.getElementsByTagName("*");if(0<k.length&&window.getSelection&&!mxClient.IS_IE&&!mxClient.IS_IE11)for(var n=window.getSelection(),p=0;p<k.length;p++)if(n.containsNode(k[p],!0)){temp=mxUtils.getCurrentStyle(k[p]);
-var g=Math.max(d(temp.fontSize),g),u=e(g,temp.lineHeight,k[p]);if(u!=h||isNaN(u))h=""}null!=f&&(c(m[0],"bold"==f.fontWeight||null!=b.getParentByName(a,"B",b.cellEditor.textarea)),c(m[1],"italic"==f.fontStyle||null!=b.getParentByName(a,"I",b.cellEditor.textarea)),c(m[2],null!=b.getParentByName(a,"U",b.cellEditor.textarea)),c(q,"left"==f.textAlign),c(r,"center"==f.textAlign),c(t,"right"==f.textAlign),c(A,"justify"==f.textAlign),c(C,null!=b.getParentByName(a,"SUP",b.cellEditor.textarea)),c(x,null!=b.getParentByName(a,
-"SUB",b.cellEditor.textarea)),B=b.getParentByName(a,"TABLE",b.cellEditor.textarea),K=null==B?null:b.getParentByName(a,"TR",B),L=null==B?null:b.getParentByName(a,"TD",B),D.style.display=null!=B?"":"none",document.activeElement!=F&&("FONT"==a.nodeName&&"4"==a.getAttribute("size")&&null!=G?(a.removeAttribute("size"),a.style.fontSize=G+" pt",G=null):F.value=isNaN(g)?"":g+" pt",u=parseFloat(h),isNaN(u)?la.value="100 %":la.value=Math.round(100*u)+" %"),a=f.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)}),d=f.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!=W&&(R="#"==a.charAt(0)?a:"#000000",W(R,!0)),null!=H&&(y="#"==d.charAt(0)?d:null,H(y,!0)),null!=l.firstChild&&(f=f.fontFamily,
-"'"==f.charAt(0)&&(f=f.substring(1)),"'"==f.charAt(f.length-1)&&(f=f.substring(0,f.length-1)),'"'==f.charAt(0)&&(f=f.substring(1)),'"'==f.charAt(f.length-1)&&(f=f.substring(0,f.length-1)),l.firstChild.nodeValue=f))}ma=!1},0))};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};
+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 g=mxUtils.getCurrentStyle(a),f=d(g.fontSize),h=e(f,g.lineHeight,a),k=a.getElementsByTagName("*");if(0<k.length&&window.getSelection&&!mxClient.IS_IE&&!mxClient.IS_IE11)for(var n=window.getSelection(),p=0;p<k.length;p++)if(n.containsNode(k[p],!0)){temp=mxUtils.getCurrentStyle(k[p]);
+var f=Math.max(d(temp.fontSize),f),u=e(f,temp.lineHeight,k[p]);if(u!=h||isNaN(u))h=""}null!=g&&(c(m[0],"bold"==g.fontWeight||null!=b.getParentByName(a,"B",b.cellEditor.textarea)),c(m[1],"italic"==g.fontStyle||null!=b.getParentByName(a,"I",b.cellEditor.textarea)),c(m[2],null!=b.getParentByName(a,"U",b.cellEditor.textarea)),c(q,"left"==g.textAlign),c(r,"center"==g.textAlign),c(t,"right"==g.textAlign),c(A,"justify"==g.textAlign),c(C,null!=b.getParentByName(a,"SUP",b.cellEditor.textarea)),c(x,null!=b.getParentByName(a,
+"SUB",b.cellEditor.textarea)),B=b.getParentByName(a,"TABLE",b.cellEditor.textarea),K=null==B?null:b.getParentByName(a,"TR",B),L=null==B?null:b.getParentByName(a,"TD",B),D.style.display=null!=B?"":"none",document.activeElement!=F&&("FONT"==a.nodeName&&"4"==a.getAttribute("size")&&null!=G?(a.removeAttribute("size"),a.style.fontSize=G+" pt",G=null):F.value=isNaN(f)?"":f+" pt",u=parseFloat(h),isNaN(u)?la.value="100 %":la.value=Math.round(100*u)+" %"),a=g.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)}),d=g.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!=W&&(R="#"==a.charAt(0)?a:"#000000",W(R,!0)),null!=H&&(y="#"==d.charAt(0)?d:null,H(y,!0)),null!=l.firstChild&&(g=g.fontFamily,
+"'"==g.charAt(0)&&(g=g.substring(1)),"'"==g.charAt(g.length-1)&&(g=g.substring(0,g.length-1)),'"'==g.charAt(0)&&(g=g.substring(1)),'"'==g.charAt(g.length-1)&&(g=g.substring(0,g.length-1)),l.firstChild.nodeValue=g))}ma=!1},0))};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";
StyleFormatPanel.prototype.init=function(){var a=this.format.getSelectionState();a.containsImage&&"image"!=a.style.shape||this.container.appendChild(this.addFill(this.createPanel()));this.container.appendChild(this.addStroke(this.createPanel()));this.container.appendChild(this.addLineJumps(this.createPanel()));a=this.createRelativeOption(mxResources.get("opacity"),mxConstants.STYLE_OPACITY,41);a.style.paddingTop="8px";a.style.paddingBottom="8px";this.container.appendChild(a);this.container.appendChild(this.addEffects(this.createPanel()));
a=this.addEditOps(this.createPanel());null!=a.firstChild&&mxUtils.br(a);this.container.appendChild(this.addStyleOps(a))};
@@ -2797,7 +2797,7 @@ null,!1)):this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW],
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 L,K,I=this.addUnitInput(l,"pt",74,33,function(){L.apply(this,arguments)}),E=this.addUnitInput(l,"pt",20,33,function(){K.apply(this,arguments)});mxUtils.br(l);u=document.createElement("div");
u.style.height="8px";l.appendChild(u);m=m.cloneNode(!1);mxUtils.write(m,mxResources.get("linestart"));l.appendChild(m);var J,N,Q=this.addUnitInput(l,"pt",74,33,function(){J.apply(this,arguments)}),P=this.addUnitInput(l,"pt",20,33,function(){N.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);k=k.cloneNode(!1);k.style.fontWeight="normal";k.style.position="relative";k.style.paddingLeft="16px";k.style.marginBottom=
"2px";k.style.marginTop="6px";k.style.borderWidth="0px";k.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"));k.appendChild(m);var F,G=this.addUnitInput(k,"pt",20,41,function(){F.apply(this,arguments)});e.edges.length==f.getSelectionCount()?(a.appendChild(h),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(k));var H=mxUtils.bind(this,function(a,c,d){function h(a,c,d,f){d=d.getElementsByTagName("div")[0];d.className=b.getCssClassForMarker(f,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=
+mxUtils.br(a)),a.appendChild(l)):e.vertices.length==f.getSelectionCount()&&(mxClient.IS_QUIRKS&&mxUtils.br(a),a.appendChild(k));var H=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!=w)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_STROKEWIDTH,1)),w.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=v)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_STROKEWIDTH,1)),v.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)?D.style.borderBottom="1px dashed "+this.defaultStrokeColor:D.style.borderBottom="1px dotted "+this.defaultStrokeColor:D.style.borderBottom="1px solid "+this.defaultStrokeColor;B.style.borderBottom=D.style.borderBottom;
a=x.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,
@@ -2835,14 +2835,14 @@ a;this.canvas.setLineJoin("round");this.canvas.setLineCap("round");this.defaultV
this.canvas.curveTo=mxUtils.bind(this,r.prototype.curveTo);this.originalArcTo=this.canvas.arcTo;this.canvas.arcTo=mxUtils.bind(this,r.prototype.arcTo)}function t(){mxRectangleShape.call(this)}function w(){mxRectangleShape.call(this)}function v(){mxActor.call(this)}function u(){mxActor.call(this)}function z(){mxActor.call(this)}function x(){mxRectangleShape.call(this)}function C(){mxRectangleShape.call(this)}function A(){mxCylinder.call(this)}function D(){mxShape.call(this)}function B(){mxShape.call(this)}
function L(){mxEllipse.call(this)}function K(){mxShape.call(this)}function I(){mxShape.call(this)}function E(){mxRectangleShape.call(this)}function J(){mxShape.call(this)}function N(){mxShape.call(this)}function Q(){mxShape.call(this)}function P(){mxCylinder.call(this)}function F(){mxDoubleEllipse.call(this)}function G(){mxDoubleEllipse.call(this)}function H(){mxArrowConnector.call(this);this.spacing=0}function y(){mxArrowConnector.call(this);this.spacing=0}function W(){mxActor.call(this)}function R(){mxRectangleShape.call(this)}
function T(){mxActor.call(this)}function ca(){mxActor.call(this)}function X(){mxActor.call(this)}function U(){mxActor.call(this)}function ja(){mxActor.call(this)}function da(){mxActor.call(this)}function ka(){mxActor.call(this)}function ea(){mxActor.call(this)}function Y(){mxActor.call(this)}function Z(){mxActor.call(this)}function fa(){mxEllipse.call(this)}function ga(){mxEllipse.call(this)}function ba(){mxEllipse.call(this)}function la(){mxRhombus.call(this)}function V(){mxEllipse.call(this)}function ma(){mxEllipse.call(this)}
-function S(){mxEllipse.call(this)}function ua(){mxEllipse.call(this)}function va(){mxActor.call(this)}function pa(){mxActor.call(this)}function qa(){mxActor.call(this)}function na(){mxConnector.call(this)}function Da(a,b,c,d,e,f,g,h,k,l){g+=k;var O=d.clone();d.x-=e*(2*g+k);d.y-=f*(2*g+k);e*=g+k;f*=g+k;return function(){a.ellipse(O.x-e-g,O.y-f-g,2*g,2*g);l?a.fillAndStroke():a.stroke()}}mxUtils.extend(a,mxCylinder);a.prototype.size=20;a.prototype.redrawPath=function(a,b,c,d,e,f){b=Math.max(0,Math.min(d,
-Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));f?(a.moveTo(b,e),a.lineTo(b,b),a.lineTo(0,0),a.moveTo(b,b),a.lineTo(d,b)):(a.moveTo(0,0),a.lineTo(d-b,0),a.lineTo(d,b),a.lineTo(d,e),a.lineTo(b,e),a.lineTo(0,e-b),a.lineTo(0,0),a.close());a.end()};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 za=Math.tan(mxUtils.toRadians(30)),oa=(.5-za)/2;mxUtils.extend(c,mxActor);c.prototype.size=20;c.prototype.redrawPath=function(a,b,c,d,e){b=Math.min(d,e/za);a.translate((d-b)/2,(e-b)/2+b/4);a.moveTo(0,.25*b);a.lineTo(.5*b,b*oa);a.lineTo(b,.25*b);a.lineTo(.5*b,(.5-oa)*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,f){b=Math.min(d,e/(.5+za));f?(a.moveTo(0,.25*b),a.lineTo(.5*
-b,(.5-oa)*b),a.lineTo(b,.25*b),a.moveTo(.5*b,(.5-oa)*b),a.lineTo(.5*b,(1-oa)*b)):(a.translate((d-b)/2,(e-b)/2),a.moveTo(0,.25*b),a.lineTo(.5*b,b*oa),a.lineTo(b,.25*b),a.lineTo(b,.75*b),a.lineTo(.5*b,(1-oa)*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,f){b=Math.min(e/2,Math.round(e/8)+this.strokewidth-1);if(f&&null!=this.fill||!f&&null==this.fill)a.moveTo(0,b),a.curveTo(0,2*b,d,2*b,d,b),f||
-(a.stroke(),a.begin()),a.translate(0,b/2),a.moveTo(0,b),a.curveTo(0,2*b,d,2*b,d,b),f||(a.stroke(),a.begin()),a.translate(0,b/2),a.moveTo(0,b),a.curveTo(0,2*b,d,2*b,d,b),f||(a.stroke(),a.begin()),a.translate(0,-b);f||(a.moveTo(0,b),a.curveTo(0,-b/3,d,-b/3,d,b),a.lineTo(d,e-b),a.curveTo(d,e+b/3,0,e+b/3,0,e-b),a.close())};b.prototype.getLabelMargins=function(a){return new mxRectangle(0,2.5*Math.min(a.height/2,Math.round(a.height/8)+this.strokewidth-1)*this.scale,0,0)};mxCellRenderer.registerShape("datastore",
-b);mxUtils.extend(f,mxCylinder);f.prototype.size=30;f.prototype.redrawPath=function(a,b,c,d,e,f){b=Math.max(0,Math.min(d,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));f?(a.moveTo(d-b,0),a.lineTo(d-b,b),a.lineTo(d,b)):(a.moveTo(0,0),a.lineTo(d-b,0),a.lineTo(d,b),a.lineTo(d,e),a.lineTo(0,e),a.lineTo(0,0),a.close());a.end()};mxCellRenderer.registerShape("note",f);mxUtils.extend(e,mxActor);e.prototype.redrawPath=function(a,b,c,d,e){a.moveTo(0,0);a.quadTo(d/2,.5*e,d,0);a.quadTo(.5*
-d,e/2,d,e);a.quadTo(d/2,.5*e,0,e);a.quadTo(.5*d,e/2,0,0);a.end()};mxCellRenderer.registerShape("switch",e);mxUtils.extend(k,mxCylinder);k.prototype.tabWidth=60;k.prototype.tabHeight=20;k.prototype.tabPosition="right";k.prototype.redrawPath=function(a,b,c,d,e,f){b=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"tabWidth",this.tabWidth))));c=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"tabHeight",this.tabHeight))));var g=mxUtils.getValue(this.style,"tabPosition",this.tabPosition);
-f?"left"==g?(a.moveTo(0,c),a.lineTo(b,c)):(a.moveTo(d-b,c),a.lineTo(d,c)):("left"==g?(a.moveTo(0,0),a.lineTo(b,0),a.lineTo(b,c),a.lineTo(d,c)):(a.moveTo(0,c),a.lineTo(d-b,c),a.lineTo(d-b,0),a.lineTo(d,0)),a.lineTo(d,e),a.lineTo(0,e),a.lineTo(0,c),a.close());a.end()};mxCellRenderer.registerShape("folder",k);mxUtils.extend(g,mxActor);g.prototype.size=30;g.prototype.redrawPath=function(a,b,c,d,e){b=Math.max(0,Math.min(d,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));c=mxUtils.getValue(this.style,
+function S(){mxEllipse.call(this)}function ua(){mxEllipse.call(this)}function va(){mxActor.call(this)}function pa(){mxActor.call(this)}function qa(){mxActor.call(this)}function na(){mxConnector.call(this)}function Da(a,b,c,d,e,g,f,h,k,l){f+=k;var O=d.clone();d.x-=e*(2*f+k);d.y-=g*(2*f+k);e*=f+k;g*=f+k;return function(){a.ellipse(O.x-e-f,O.y-g-f,2*f,2*f);l?a.fillAndStroke():a.stroke()}}mxUtils.extend(a,mxCylinder);a.prototype.size=20;a.prototype.redrawPath=function(a,b,c,d,e,g){b=Math.max(0,Math.min(d,
+Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));g?(a.moveTo(b,e),a.lineTo(b,b),a.lineTo(0,0),a.moveTo(b,b),a.lineTo(d,b)):(a.moveTo(0,0),a.lineTo(d-b,0),a.lineTo(d,b),a.lineTo(d,e),a.lineTo(b,e),a.lineTo(0,e-b),a.lineTo(0,0),a.close());a.end()};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 za=Math.tan(mxUtils.toRadians(30)),oa=(.5-za)/2;mxUtils.extend(c,mxActor);c.prototype.size=20;c.prototype.redrawPath=function(a,b,c,d,e){b=Math.min(d,e/za);a.translate((d-b)/2,(e-b)/2+b/4);a.moveTo(0,.25*b);a.lineTo(.5*b,b*oa);a.lineTo(b,.25*b);a.lineTo(.5*b,(.5-oa)*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+za));g?(a.moveTo(0,.25*b),a.lineTo(.5*
+b,(.5-oa)*b),a.lineTo(b,.25*b),a.moveTo(.5*b,(.5-oa)*b),a.lineTo(.5*b,(1-oa)*b)):(a.translate((d-b)/2,(e-b)/2),a.moveTo(0,.25*b),a.lineTo(.5*b,b*oa),a.lineTo(b,.25*b),a.lineTo(b,.75*b),a.lineTo(.5*b,(1-oa)*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(),a.begin()),a.translate(0,-b);g||(a.moveTo(0,b),a.curveTo(0,-b/3,d,-b/3,d,b),a.lineTo(d,e-b),a.curveTo(d,e+b/3,0,e+b/3,0,e-b),a.close())};b.prototype.getLabelMargins=function(a){return new mxRectangle(0,2.5*Math.min(a.height/2,Math.round(a.height/8)+this.strokewidth-1)*this.scale,0,0)};mxCellRenderer.registerShape("datastore",
+b);mxUtils.extend(f,mxCylinder);f.prototype.size=30;f.prototype.redrawPath=function(a,b,c,d,e,g){b=Math.max(0,Math.min(d,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));g?(a.moveTo(d-b,0),a.lineTo(d-b,b),a.lineTo(d,b)):(a.moveTo(0,0),a.lineTo(d-b,0),a.lineTo(d,b),a.lineTo(d,e),a.lineTo(0,e),a.lineTo(0,0),a.close());a.end()};mxCellRenderer.registerShape("note",f);mxUtils.extend(e,mxActor);e.prototype.redrawPath=function(a,b,c,d,e){a.moveTo(0,0);a.quadTo(d/2,.5*e,d,0);a.quadTo(.5*
+d,e/2,d,e);a.quadTo(d/2,.5*e,0,e);a.quadTo(.5*d,e/2,0,0);a.end()};mxCellRenderer.registerShape("switch",e);mxUtils.extend(k,mxCylinder);k.prototype.tabWidth=60;k.prototype.tabHeight=20;k.prototype.tabPosition="right";k.prototype.redrawPath=function(a,b,c,d,e,g){b=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"tabWidth",this.tabWidth))));c=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"tabHeight",this.tabHeight))));var f=mxUtils.getValue(this.style,"tabPosition",this.tabPosition);
+g?"left"==f?(a.moveTo(0,c),a.lineTo(b,c)):(a.moveTo(d-b,c),a.lineTo(d,c)):("left"==f?(a.moveTo(0,0),a.lineTo(b,0),a.lineTo(b,c),a.lineTo(d,c)):(a.moveTo(0,c),a.lineTo(d-b,c),a.lineTo(d-b,0),a.lineTo(d,0)),a.lineTo(d,e),a.lineTo(0,e),a.lineTo(0,c),a.close());a.end()};mxCellRenderer.registerShape("folder",k);mxUtils.extend(g,mxActor);g.prototype.size=30;g.prototype.redrawPath=function(a,b,c,d,e){b=Math.max(0,Math.min(d,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(b,0),new mxPoint(d,0),new mxPoint(d,e),new mxPoint(0,e),new mxPoint(0,b)],this.isRounded,c,!0);a.end()};mxCellRenderer.registerShape("card",g);mxUtils.extend(h,mxActor);h.prototype.size=.4;h.prototype.redrawPath=function(a,b,c,d,e){b=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));a.moveTo(0,b/2);a.quadTo(d/4,1.4*b,d/2,b/2);a.quadTo(3*d/4,b*(1-1.4),d,b/2);a.lineTo(d,e-b/2);a.quadTo(3*
d/4,e-1.4*b,d/2,e-b/2);a.quadTo(d/4,e-b*(1-1.4),0,e-b/2);a.lineTo(0,b/2);a.close();a.end()};h.prototype.getLabelBounds=function(a){if(mxUtils.getValue(this.style,"boundedLbl",!1)){var b=mxUtils.getValue(this.style,"size",this.size),c=a.width,d=a.height;if(null==this.direction||this.direction==mxConstants.DIRECTION_EAST||this.direction==mxConstants.DIRECTION_WEST)return b*=d,new mxRectangle(a.x,a.y+b,c,d-2*b);b*=c;return new mxRectangle(a.x+b,a.y,c-2*b,d)}return a};mxCellRenderer.registerShape("tape",
h);mxUtils.extend(l,mxActor);l.prototype.size=.3;l.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};l.prototype.redrawPath=function(a,b,c,d,e){b=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));a.moveTo(0,0);a.lineTo(d,0);a.lineTo(d,e-b/2);a.quadTo(3*d/4,e-1.4*b,d/2,e-b/2);a.quadTo(d/4,e-b*(1-1.4),0,e-b/2);a.lineTo(0,b/2);a.close();
@@ -2850,89 +2850,89 @@ a.end()};mxCellRenderer.registerShape("document",l);mxCylinder.prototype.getLabe
[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.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);r.prototype.moveTo=function(a,b){this.originalMoveTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=b;this.firstX=a;this.firstY=b};r.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)};r.prototype.quadTo=function(a,b,c,d){this.originalQuadTo.apply(this.canvas,arguments);this.lastX=c;this.lastY=d};r.prototype.curveTo=function(a,b,c,d,e,f){this.originalCurveTo.apply(this.canvas,arguments);this.lastX=e;this.lastY=f};r.prototype.arcTo=function(a,b,c,d,e,f,g){this.originalArcTo.apply(this.canvas,arguments);this.lastX=f;this.lastY=
-g};r.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),f=Math.sqrt(d*d+e*e);if(2>f){this.originalLineTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=b;return}var g=Math.round(f/10),h=this.defaultVariation;5>g&&(g=5,h/=3);for(var O=c(a-this.lastX)*d/g,c=c(b-this.lastY)*e/g,d=d/f,e=e/f,f=0;f<g;f++){var k=(Math.random()-.5)*h;this.originalLineTo.call(this.canvas,
-O*f+this.lastX-k*e,c*f+this.lastY-k*d)}this.originalLineTo.call(this.canvas,a,b)}else this.originalLineTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=b};r.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 Ea=mxShape.prototype.paint;mxShape.prototype.defaultJiggle=1.5;mxShape.prototype.paint=
+null!=this.firstY&&(this.lineTo(this.firstX,this.firstY),this.originalClose.apply(this.canvas,arguments));this.originalClose.apply(this.canvas,arguments)};r.prototype.quadTo=function(a,b,c,d){this.originalQuadTo.apply(this.canvas,arguments);this.lastX=c;this.lastY=d};r.prototype.curveTo=function(a,b,c,d,e,g){this.originalCurveTo.apply(this.canvas,arguments);this.lastX=e;this.lastY=g};r.prototype.arcTo=function(a,b,c,d,e,g,f){this.originalArcTo.apply(this.canvas,arguments);this.lastX=g;this.lastY=
+f};r.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),h=this.defaultVariation;5>f&&(f=5,h/=3);for(var O=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)*h;this.originalLineTo.call(this.canvas,
+O*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};r.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 Ea=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 r(a,mxUtils.getValue(this.style,"jiggle",this.defaultJiggle)));Ea.apply(this,arguments);null!=a.handJiggle&&(a.handJiggle.destroy(),delete a.handJiggle)};mxRhombus.prototype.defaultJiggle=2;var Ia=mxRectangleShape.prototype.isHtmlAllowed;mxRectangleShape.prototype.isHtmlAllowed=function(){return(null==this.style||"0"==mxUtils.getValue(this.style,"comic","0"))&&Ia.apply(this,arguments)};
-var Ja=mxRectangleShape.prototype.paintBackground;mxRectangleShape.prototype.paintBackground=function(a,b,c,d,e){if(null==a.handJiggle)Ja.apply(this,arguments);else{var f=!0;null!=this.style&&(f="1"==mxUtils.getValue(this.style,mxConstants.STYLE_POINTER_EVENTS,"1"));if(f||null!=this.fill&&this.fill!=mxConstants.NONE||null!=this.stroke&&this.stroke!=mxConstants.NONE)f||null!=this.fill&&this.fill!=mxConstants.NONE||(a.pointerEvents=!1),a.begin(),this.isRounded?("1"==mxUtils.getValue(this.style,mxConstants.STYLE_ABSOLUTE_ARCSIZE,
-0)?f=Math.min(d/2,Math.min(e/2,mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2)):(f=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,f=Math.min(d*f,e*f)),a.moveTo(b+f,c),a.lineTo(b+d-f,c),a.quadTo(b+d,c,b+d,c+f),a.lineTo(b+d,c+e-f),a.quadTo(b+d,c+e,b+d-f,c+e),a.lineTo(b+f,c+e),a.quadTo(b,c+e,b,c+e-f),a.lineTo(b,c+f),a.quadTo(b,c,b+f,c)):(a.moveTo(b,c),a.lineTo(b+d,c),a.lineTo(b+d,c+e),a.lineTo(b,c+e),a.lineTo(b,
+var Ja=mxRectangleShape.prototype.paintBackground;mxRectangleShape.prototype.paintBackground=function(a,b,c,d,e){if(null==a.handJiggle)Ja.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 Ka=mxRectangleShape.prototype.paintForeground;mxRectangleShape.prototype.paintForeground=function(a,b,c,d,e){null==a.handJiggle&&Ka.apply(this,arguments)};mxUtils.extend(t,mxRectangleShape);t.prototype.size=.1;t.prototype.isHtmlAllowed=function(){return!1};t.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};t.prototype.paintForeground=function(a,b,c,d,e){var f=d*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,f=Math.max(f,Math.min(d*g,e*g));f=Math.round(f);a.begin();a.moveTo(b+f,c);a.lineTo(b+f,c+e);a.moveTo(b+d-f,c);a.lineTo(b+d-f,c+e);a.end();a.stroke();mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("process",t);mxUtils.extend(w,mxRectangleShape);w.prototype.paintBackground=function(a,b,c,d,e){a.setFillColor(mxConstants.NONE);a.rect(b,c,d,e);a.fill()};w.prototype.paintForeground=
+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};t.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",t);mxUtils.extend(w,mxRectangleShape);w.prototype.paintBackground=function(a,b,c,d,e){a.setFillColor(mxConstants.NONE);a.rect(b,c,d,e);a.fill()};w.prototype.paintForeground=
function(a,b,c,d,e){};mxCellRenderer.registerShape("transparent",w);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.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 f=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"position",this.position)))),g=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,f+h),e-c),new mxPoint(g,e),new mxPoint(Math.max(0,f),e-c),new mxPoint(0,e-c)],this.isRounded,b,!0,[4])};mxCellRenderer.registerShape("callout",
+"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",
v);mxUtils.extend(u,mxActor);u.prototype.size=.2;u.prototype.fixedSize=20;u.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",u);mxUtils.extend(z,mxHexagon);z.prototype.size=.25;z.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",z);mxUtils.extend(x,mxRectangleShape);x.prototype.isHtmlAllowed=function(){return!1};x.prototype.paintForeground=function(a,b,c,d,e){var f=Math.min(d/5,e/5)+1;a.begin();a.moveTo(b+d/2,c+f);a.lineTo(b+d/2,c+e-f);a.moveTo(b+f,c+e/2);a.lineTo(b+d-f,c+e/2);a.end();a.stroke();mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("plus",x);var Fa=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){Fa.apply(this,arguments);if(!this.outline&&1==this.style["double"]){var f=2*Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0);b+=f;c+=f;d-=2*f;e-=2*f;0<d&&0<e&&(a.setShadow(!1),Fa.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 f=Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||
-0);b+=f;c+=f;d-=2*f;e-=2*f;0<d&&0<e&&mxRectangleShape.prototype.paintBackground.apply(this,arguments)}a.setDashed(!1);var f=0,g;do{g=mxCellRenderer.defaultShapes[this.style["symbol"+f]];if(null!=g){var h=this.style["symbol"+f+"Align"],k=this.style["symbol"+f+"VerticalAlign"],O=this.style["symbol"+f+"Width"],l=this.style["symbol"+f+"Height"],m=this.style["symbol"+f+"Spacing"]||0,Aa=this.style["symbol"+f+"VSpacing"]||m,aa=this.style["symbol"+f+"ArcSpacing"];null!=aa&&(aa*=this.getArcSize(d+this.strokewidth,
-e+this.strokewidth),m+=aa,Aa+=aa);var aa=b,ra=c,aa=h==mxConstants.ALIGN_CENTER?aa+(d-O)/2:h==mxConstants.ALIGN_RIGHT?aa+(d-O-m):aa+m,ra=k==mxConstants.ALIGN_MIDDLE?ra+(e-l)/2:k==mxConstants.ALIGN_BOTTOM?ra+(e-l-Aa):ra+Aa;a.save();h=new g;h.style=this.style;g.prototype.paintVertexShape.call(h,a,aa,ra,O,l);a.restore()}f++}while(null!=g)}mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("ext",C);mxUtils.extend(A,mxCylinder);A.prototype.redrawPath=function(a,
-b,c,d,e,f){f?(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",A);mxUtils.extend(D,mxShape);D.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();
+this.isRounded,c,!0)};mxCellRenderer.registerShape("hexagon",z);mxUtils.extend(x,mxRectangleShape);x.prototype.isHtmlAllowed=function(){return!1};x.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",x);var Fa=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){Fa.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),Fa.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"],k=this.style["symbol"+g+"VerticalAlign"],O=this.style["symbol"+g+"Width"],l=this.style["symbol"+g+"Height"],m=this.style["symbol"+g+"Spacing"]||0,Aa=this.style["symbol"+g+"VSpacing"]||m,aa=this.style["symbol"+g+"ArcSpacing"];null!=aa&&(aa*=this.getArcSize(d+this.strokewidth,
+e+this.strokewidth),m+=aa,Aa+=aa);var aa=b,ra=c,aa=h==mxConstants.ALIGN_CENTER?aa+(d-O)/2:h==mxConstants.ALIGN_RIGHT?aa+(d-O-m):aa+m,ra=k==mxConstants.ALIGN_MIDDLE?ra+(e-l)/2:k==mxConstants.ALIGN_BOTTOM?ra+(e-l-Aa):ra+Aa;a.save();h=new f;h.style=this.style;f.prototype.paintVertexShape.call(h,a,aa,ra,O,l);a.restore()}g++}while(null!=f)}mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("ext",C);mxUtils.extend(A,mxCylinder);A.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",A);mxUtils.extend(D,mxShape);D.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",D);mxUtils.extend(B,mxShape);B.prototype.getLabelMargins=function(a){return new mxRectangle(a.width/6,0,0,0)};B.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",B);mxUtils.extend(L,mxEllipse);L.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",L);mxUtils.extend(K,mxShape);K.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",K);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(E,mxRectangleShape);E.prototype.size=40;E.prototype.isHtmlAllowed=function(){return!1};E.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)};E.prototype.paintBackground=function(a,b,c,d,e){var f=Math.max(0,Math.min(e,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,b,c,d,f):(g=this.state.view.graph.cellRenderer.getShape(g),null!=g&&g!=E&&(g=new g,
-g.apply(this.state),a.save(),g.paintVertexShape(a,b,c,d,f),a.restore()));f<e&&(a.setDashed(!0),a.begin(),a.moveTo(b+d/2,c+f),a.lineTo(b+d/2,c+e),a.end(),a.stroke())};E.prototype.paintForeground=function(a,b,c,d,e){var f=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,f))};mxCellRenderer.registerShape("umlLifeline",E);mxUtils.extend(J,mxShape);J.prototype.width=60;J.prototype.height=30;J.prototype.corner=
-10;J.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))};J.prototype.paintBackground=function(a,b,c,d,e){var f=this.corner,g=Math.min(d,Math.max(f,parseFloat(mxUtils.getValue(this.style,"width",this.width)))),h=Math.min(e,Math.max(1.5*f,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+g,c);a.lineTo(b+g,c+Math.max(0,h-1.5*f));a.lineTo(b+Math.max(0,g-f),c+h);a.lineTo(b,c+h);a.close();a.fillAndStroke();a.begin();
-a.moveTo(b+g,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",J);mxPerimeter.LifelinePerimeter=function(a,b,c,d){d=E.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);
+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)};E.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!=E&&(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())};E.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",E);mxUtils.extend(J,mxShape);J.prototype.width=60;J.prototype.height=30;J.prototype.corner=
+10;J.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))};J.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",J);mxPerimeter.LifelinePerimeter=function(a,b,c,d){d=E.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",v.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;null!=b&&(e=mxUtils.getValue(b.style,"size",e));var f=a.x,g=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_NORTH||b==mxConstants.DIRECTION_SOUTH?(e=k*Math.max(0,Math.min(1,e)),g=[new mxPoint(f,g),new mxPoint(f+
-h,g+e),new mxPoint(f+h,g+k),new mxPoint(f,g+k-e),new mxPoint(f,g)]):(e=h*Math.max(0,Math.min(1,e)),g=[new mxPoint(f+e,g),new mxPoint(f+h,g),new mxPoint(f+h-e,g+k),new mxPoint(f,g+k),new mxPoint(f+e,g)]);k=a.getCenterX();a=a.getCenterY();a=new mxPoint(k,a);d&&(c.x<f||c.x>f+h?a.y=c.y:a.x=c.x);return mxUtils.getPerimeterPoint(g,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 f=a.x,g=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)),g=[new mxPoint(f+e,g),new mxPoint(f+h-e,g),new mxPoint(f+h,g+k),new mxPoint(f,g+k),new mxPoint(f+e,g)]):b==mxConstants.DIRECTION_WEST?(e=h*Math.max(0,Math.min(1,e)),g=[new mxPoint(f,g),new mxPoint(f+h,g),new mxPoint(f+h-e,g+k),new mxPoint(f+e,g+k),new mxPoint(f,
-g)]):b==mxConstants.DIRECTION_NORTH?(e=k*Math.max(0,Math.min(1,e)),g=[new mxPoint(f,g+e),new mxPoint(f+h,g),new mxPoint(f+h,g+k),new mxPoint(f,g+k-e),new mxPoint(f,g+e)]):(e=k*Math.max(0,Math.min(1,e)),g=[new mxPoint(f,g),new mxPoint(f+h,g+e),new mxPoint(f+h,g+k-e),new mxPoint(f,g+k),new mxPoint(f,g)]);k=a.getCenterX();a=a.getCenterY();a=new mxPoint(k,a);d&&(c.x<f||c.x>f+h?a.y=c.y:a.x=c.x);return mxUtils.getPerimeterPoint(g,a,c)};mxStyleRegistry.putValue("trapezoidPerimeter",mxPerimeter.TrapezoidPerimeter);
-mxPerimeter.StepPerimeter=function(a,b,c,d){var e="0"!=mxUtils.getValue(b.style,"fixedSize","0"),f=e?u.prototype.fixedSize:u.prototype.size;null!=b&&(f=mxUtils.getValue(b.style,"size",f));var g=a.x,h=a.y,k=a.width,l=a.height,O=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,f)):k*Math.max(0,Math.min(1,f)),h=[new mxPoint(g,h),new mxPoint(g+k-
-e,h),new mxPoint(g+k,a),new mxPoint(g+k-e,h+l),new mxPoint(g,h+l),new mxPoint(g+e,a),new mxPoint(g,h)]):b==mxConstants.DIRECTION_WEST?(e=e?Math.max(0,Math.min(k,f)):k*Math.max(0,Math.min(1,f)),h=[new mxPoint(g+e,h),new mxPoint(g+k,h),new mxPoint(g+k-e,a),new mxPoint(g+k,h+l),new mxPoint(g+e,h+l),new mxPoint(g,a),new mxPoint(g+e,h)]):b==mxConstants.DIRECTION_NORTH?(e=e?Math.max(0,Math.min(l,f)):l*Math.max(0,Math.min(1,f)),h=[new mxPoint(g,h+e),new mxPoint(O,h),new mxPoint(g+k,h+e),new mxPoint(g+k,
-h+l),new mxPoint(O,h+l-e),new mxPoint(g,h+l),new mxPoint(g,h+e)]):(e=e?Math.max(0,Math.min(l,f)):l*Math.max(0,Math.min(1,f)),h=[new mxPoint(g,h),new mxPoint(O,h+e),new mxPoint(g+k,h),new mxPoint(g+k,h+l-e),new mxPoint(O,h+l),new mxPoint(g,h+l-e),new mxPoint(g,h)]);O=new mxPoint(O,a);d&&(c.x<g||c.x>g+k?O.y=c.y:O.x=c.x);return mxUtils.getPerimeterPoint(h,O,c)};mxStyleRegistry.putValue("stepPerimeter",mxPerimeter.StepPerimeter);mxPerimeter.HexagonPerimeter2=function(a,b,c,d){var e=z.prototype.size;null!=
-b&&(e=mxUtils.getValue(b.style,"size",e));var f=a.x,g=a.y,h=a.width,k=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_NORTH||b==mxConstants.DIRECTION_SOUTH?(e=k*Math.max(0,Math.min(1,e)),g=[new mxPoint(l,g),new mxPoint(f+h,g+e),new mxPoint(f+h,g+k-e),new mxPoint(l,g+k),new mxPoint(f,g+k-e),new mxPoint(f,g+e),new mxPoint(l,g)]):(e=h*Math.max(0,Math.min(1,e)),g=[new mxPoint(f+
-e,g),new mxPoint(f+h-e,g),new mxPoint(f+h,a),new mxPoint(f+h-e,g+k),new mxPoint(f+e,g+k),new mxPoint(f,a),new mxPoint(f+e,g)]);l=new mxPoint(l,a);d&&(c.x<f||c.x>f+h?l.y=c.y:l.x=c.x);return mxUtils.getPerimeterPoint(g,l,c)};mxStyleRegistry.putValue("hexagonPerimeter2",mxPerimeter.HexagonPerimeter2);mxUtils.extend(N,mxShape);N.prototype.size=10;N.prototype.paintBackground=function(a,b,c,d,e){var f=parseFloat(mxUtils.getValue(this.style,"size",this.size));a.translate(b,c);a.ellipse((d-f)/2,0,f,f);a.fillAndStroke();
-a.begin();a.moveTo(d/2,f);a.lineTo(d/2,e);a.end();a.stroke()};mxCellRenderer.registerShape("lollipop",N);mxUtils.extend(Q,mxShape);Q.prototype.size=10;Q.prototype.inset=2;Q.prototype.paintBackground=function(a,b,c,d,e){var f=parseFloat(mxUtils.getValue(this.style,"size",this.size)),g=parseFloat(mxUtils.getValue(this.style,"inset",this.inset))+this.strokewidth;a.translate(b,c);a.begin();a.moveTo(d/2,f+g);a.lineTo(d/2,e);a.end();a.stroke();a.begin();a.moveTo((d-f)/2-g,f/2);a.quadTo((d-f)/2-g,f+g,d/
-2,f+g);a.quadTo((d+f)/2+g,f+g,(d+f)/2+g,f/2);a.end();a.stroke()};mxCellRenderer.registerShape("requires",Q);mxUtils.extend(P,mxCylinder);P.prototype.jettyWidth=32;P.prototype.jettyHeight=12;P.prototype.redrawPath=function(a,b,c,d,e,f){var g=parseFloat(mxUtils.getValue(this.style,"jettyWidth",this.jettyWidth));b=parseFloat(mxUtils.getValue(this.style,"jettyHeight",this.jettyHeight));c=g/2;var g=c+g/2,h=.3*e-b/2,k=.7*e-b/2;f?(a.moveTo(c,h),a.lineTo(g,h),a.lineTo(g,h+b),a.lineTo(c,h+b),a.moveTo(c,k),
-a.lineTo(g,k),a.lineTo(g,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",P);mxUtils.extend(F,mxDoubleEllipse);F.prototype.outerStroke=!0;F.prototype.paintVertexShape=function(a,b,c,d,e){var f=Math.min(4,Math.min(d/5,e/5));0<d&&0<e&&(a.ellipse(b+f,c+f,d-2*f,e-2*f),a.fillAndStroke());a.setShadow(!1);
+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;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_NORTH||b==mxConstants.DIRECTION_SOUTH?(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),new mxPoint(g,f+k-e),new mxPoint(g,f)]):(e=h*Math.max(0,Math.min(1,e)),f=[new mxPoint(g+e,f),new mxPoint(g+h,f),new mxPoint(g+h-e,f+k),new mxPoint(g,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?u.prototype.fixedSize:u.prototype.size;null!=b&&(g=mxUtils.getValue(b.style,"size",g));var f=a.x,h=a.y,k=a.width,l=a.height,O=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+l),new mxPoint(f,h+l),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+l),new mxPoint(f+e,h+l),new mxPoint(f,a),new mxPoint(f+e,h)]):b==mxConstants.DIRECTION_NORTH?(e=e?Math.max(0,Math.min(l,g)):l*Math.max(0,Math.min(1,g)),h=[new mxPoint(f,h+e),new mxPoint(O,h),new mxPoint(f+k,h+e),new mxPoint(f+k,
+h+l),new mxPoint(O,h+l-e),new mxPoint(f,h+l),new mxPoint(f,h+e)]):(e=e?Math.max(0,Math.min(l,g)):l*Math.max(0,Math.min(1,g)),h=[new mxPoint(f,h),new mxPoint(O,h+e),new mxPoint(f+k,h),new mxPoint(f+k,h+l-e),new mxPoint(O,h+l),new mxPoint(f,h+l-e),new mxPoint(f,h)]);O=new mxPoint(O,a);d&&(c.x<f||c.x>f+k?O.y=c.y:O.x=c.x);return mxUtils.getPerimeterPoint(h,O,c)};mxStyleRegistry.putValue("stepPerimeter",mxPerimeter.StepPerimeter);mxPerimeter.HexagonPerimeter2=function(a,b,c,d){var e=z.prototype.size;null!=
+b&&(e=mxUtils.getValue(b.style,"size",e));var g=a.x,f=a.y,h=a.width,k=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_NORTH||b==mxConstants.DIRECTION_SOUTH?(e=k*Math.max(0,Math.min(1,e)),f=[new mxPoint(l,f),new mxPoint(g+h,f+e),new mxPoint(g+h,f+k-e),new mxPoint(l,f+k),new mxPoint(g,f+k-e),new mxPoint(g,f+e),new mxPoint(l,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)]);l=new mxPoint(l,a);d&&(c.x<g||c.x>g+h?l.y=c.y:l.x=c.x);return mxUtils.getPerimeterPoint(f,l,c)};mxStyleRegistry.putValue("hexagonPerimeter2",mxPerimeter.HexagonPerimeter2);mxUtils.extend(N,mxShape);N.prototype.size=10;N.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",N);mxUtils.extend(Q,mxShape);Q.prototype.size=10;Q.prototype.inset=2;Q.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",Q);mxUtils.extend(P,mxCylinder);P.prototype.jettyWidth=32;P.prototype.jettyHeight=12;P.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",P);mxUtils.extend(F,mxDoubleEllipse);F.prototype.outerStroke=!0;F.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",F);mxUtils.extend(G,F);G.prototype.outerStroke=!1;mxCellRenderer.registerShape("startState",G);mxUtils.extend(H,mxArrowConnector);H.prototype.defaultWidth=4;H.prototype.isOpenEnded=function(){return!0};H.prototype.getEdgeWidth=function(){return mxUtils.getNumber(this.style,"width",this.defaultWidth)+Math.max(0,this.strokewidth-1)};H.prototype.isArrowRounded=function(){return this.isRounded};mxCellRenderer.registerShape("link",
H);mxUtils.extend(y,mxArrowConnector);y.prototype.defaultWidth=10;y.prototype.defaultArrowWidth=20;y.prototype.getStartArrowWidth=function(){return this.getEdgeWidth()+mxUtils.getNumber(this.style,"startWidth",this.defaultArrowWidth)};y.prototype.getEndArrowWidth=function(){return this.getEdgeWidth()+mxUtils.getNumber(this.style,"endWidth",this.defaultArrowWidth)};y.prototype.getEdgeWidth=function(){return mxUtils.getNumber(this.style,"width",this.defaultWidth)+Math.max(0,this.strokewidth-1)};mxCellRenderer.registerShape("flexArrow",
y);mxUtils.extend(W,mxActor);W.prototype.size=30;W.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",W);mxUtils.extend(R,mxRectangleShape);R.prototype.dx=20;R.prototype.dy=20;R.prototype.isHtmlAllowed=
-function(){return!1};R.prototype.paintForeground=function(a,b,c,d,e){mxRectangleShape.prototype.paintForeground.apply(this,arguments);var f=0;if(this.isRounded)var g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,f=Math.max(f,Math.min(d*g,e*g));g=Math.max(f,Math.min(d,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));f=Math.max(f,Math.min(e,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));a.begin();a.moveTo(b,c+f);a.lineTo(b+d,c+f);
-a.end();a.stroke();a.begin();a.moveTo(b+g,c);a.lineTo(b+g,c+e);a.end();a.stroke()};mxCellRenderer.registerShape("internalStorage",R);mxUtils.extend(T,mxActor);T.prototype.dx=20;T.prototype.dy=20;T.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 f=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,e),new mxPoint(0,e)],this.isRounded,f,!0);a.end()};mxCellRenderer.registerShape("corner",T);mxUtils.extend(ca,mxActor);ca.prototype.redrawPath=function(a,b,c,d,e){a.moveTo(0,0);a.lineTo(0,e);a.end();a.moveTo(d,0);a.lineTo(d,e);a.end();a.moveTo(0,e/2);a.lineTo(d,e/2);a.end()};mxCellRenderer.registerShape("crossbar",ca);mxUtils.extend(X,mxActor);X.prototype.dx=20;X.prototype.dy=
-20;X.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 f=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((d+b)/2,c),new mxPoint((d+b)/2,e),new mxPoint((d-b)/2,e),new mxPoint((d-
-b)/2,c),new mxPoint(0,c)],this.isRounded,f,!0);a.end()};mxCellRenderer.registerShape("tee",X);mxUtils.extend(U,mxActor);U.prototype.arrowWidth=.3;U.prototype.arrowSize=.2;U.prototype.redrawPath=function(a,b,c,d,e){var f=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",this.arrowWidth))));b=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",this.arrowSize))));c=(e-f)/2;var f=c+f,g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/
-2;this.addPoints(a,[new mxPoint(0,c),new mxPoint(d-b,c),new mxPoint(d-b,0),new mxPoint(d,e/2),new mxPoint(d-b,e),new mxPoint(d-b,f),new mxPoint(0,f)],this.isRounded,g,!0);a.end()};mxCellRenderer.registerShape("singleArrow",U);mxUtils.extend(ja,mxActor);ja.prototype.redrawPath=function(a,b,c,d,e){var f=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",U.prototype.arrowWidth))));b=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",U.prototype.arrowSize))));
-c=(e-f)/2;var f=c+f,g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,e/2),new mxPoint(b,0),new mxPoint(b,c),new mxPoint(d-b,c),new mxPoint(d-b,0),new mxPoint(d,e/2),new mxPoint(d-b,e),new mxPoint(d-b,f),new mxPoint(b,f),new mxPoint(b,e)],this.isRounded,g,!0);a.end()};mxCellRenderer.registerShape("doubleArrow",ja);mxUtils.extend(da,mxActor);da.prototype.size=.1;da.prototype.redrawPath=function(a,b,c,d,e){b=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,
+function(){return!1};R.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",R);mxUtils.extend(T,mxActor);T.prototype.dx=20;T.prototype.dy=20;T.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,e),new mxPoint(0,e)],this.isRounded,g,!0);a.end()};mxCellRenderer.registerShape("corner",T);mxUtils.extend(ca,mxActor);ca.prototype.redrawPath=function(a,b,c,d,e){a.moveTo(0,0);a.lineTo(0,e);a.end();a.moveTo(d,0);a.lineTo(d,e);a.end();a.moveTo(0,e/2);a.lineTo(d,e/2);a.end()};mxCellRenderer.registerShape("crossbar",ca);mxUtils.extend(X,mxActor);X.prototype.dx=20;X.prototype.dy=
+20;X.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((d+b)/2,c),new mxPoint((d+b)/2,e),new mxPoint((d-b)/2,e),new mxPoint((d-
+b)/2,c),new mxPoint(0,c)],this.isRounded,g,!0);a.end()};mxCellRenderer.registerShape("tee",X);mxUtils.extend(U,mxActor);U.prototype.arrowWidth=.3;U.prototype.arrowSize=.2;U.prototype.redrawPath=function(a,b,c,d,e){var g=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",this.arrowWidth))));b=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",this.arrowSize))));c=(e-g)/2;var g=c+g,f=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/
+2;this.addPoints(a,[new mxPoint(0,c),new mxPoint(d-b,c),new mxPoint(d-b,0),new mxPoint(d,e/2),new mxPoint(d-b,e),new mxPoint(d-b,g),new mxPoint(0,g)],this.isRounded,f,!0);a.end()};mxCellRenderer.registerShape("singleArrow",U);mxUtils.extend(ja,mxActor);ja.prototype.redrawPath=function(a,b,c,d,e){var g=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",U.prototype.arrowWidth))));b=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",U.prototype.arrowSize))));
+c=(e-g)/2;var g=c+g,f=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,e/2),new mxPoint(b,0),new mxPoint(b,c),new mxPoint(d-b,c),new mxPoint(d-b,0),new mxPoint(d,e/2),new mxPoint(d-b,e),new mxPoint(d-b,g),new mxPoint(b,g),new mxPoint(b,e)],this.isRounded,f,!0);a.end()};mxCellRenderer.registerShape("doubleArrow",ja);mxUtils.extend(da,mxActor);da.prototype.size=.1;da.prototype.redrawPath=function(a,b,c,d,e){b=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,
"size",this.size))));a.moveTo(b,0);a.lineTo(d,0);a.quadTo(d-2*b,e/2,d,e);a.lineTo(b,e);a.quadTo(b-2*b,e/2,b,0);a.close();a.end()};mxCellRenderer.registerShape("dataStorage",da);mxUtils.extend(ka,mxActor);ka.prototype.redrawPath=function(a,b,c,d,e){a.moveTo(0,0);a.quadTo(d,0,d,e/2);a.quadTo(d,e,0,e);a.close();a.end()};mxCellRenderer.registerShape("or",ka);mxUtils.extend(ea,mxActor);ea.prototype.redrawPath=function(a,b,c,d,e){a.moveTo(0,0);a.quadTo(d,0,d,e/2);a.quadTo(d,e,0,e);a.quadTo(d/2,e/2,0,0);
a.close();a.end()};mxCellRenderer.registerShape("xor",ea);mxUtils.extend(Y,mxActor);Y.prototype.size=20;Y.prototype.redrawPath=function(a,b,c,d,e){b=Math.min(d/2,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(b,0),new mxPoint(d-b,0),new mxPoint(d,.8*b),new mxPoint(d,e),new mxPoint(0,e),new mxPoint(0,.8*b)],this.isRounded,c,!0);a.end()};mxCellRenderer.registerShape("loopLimit",
Y);mxUtils.extend(Z,mxActor);Z.prototype.size=.375;Z.prototype.redrawPath=function(a,b,c,d,e){b=e*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,0),new mxPoint(d,e-b),new mxPoint(d/2,e),new mxPoint(0,e-b)],this.isRounded,c,!0);a.end()};mxCellRenderer.registerShape("offPageConnector",Z);mxUtils.extend(fa,mxEllipse);fa.prototype.paintVertexShape=
function(a,b,c,d,e){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.begin();a.moveTo(b+d/2,c+e);a.lineTo(b+d,c+e);a.end();a.stroke()};mxCellRenderer.registerShape("tapeData",fa);mxUtils.extend(ga,mxEllipse);ga.prototype.paintVertexShape=function(a,b,c,d,e){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);a.begin();a.moveTo(b,c+e/2);a.lineTo(b+d,c+e/2);a.end();a.stroke();a.begin();a.moveTo(b+d/2,c);a.lineTo(b+d/2,c+e);a.end();a.stroke()};mxCellRenderer.registerShape("orEllipse",
ga);mxUtils.extend(ba,mxEllipse);ba.prototype.paintVertexShape=function(a,b,c,d,e){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);a.begin();a.moveTo(b+.145*d,c+.145*e);a.lineTo(b+.855*d,c+.855*e);a.end();a.stroke();a.begin();a.moveTo(b+.855*d,c+.145*e);a.lineTo(b+.145*d,c+.855*e);a.end();a.stroke()};mxCellRenderer.registerShape("sumEllipse",ba);mxUtils.extend(la,mxRhombus);la.prototype.paintVertexShape=function(a,b,c,d,e){mxRhombus.prototype.paintVertexShape.apply(this,
arguments);a.setShadow(!1);a.begin();a.moveTo(b,c+e/2);a.lineTo(b+d,c+e/2);a.end();a.stroke()};mxCellRenderer.registerShape("sortShape",la);mxUtils.extend(V,mxEllipse);V.prototype.paintVertexShape=function(a,b,c,d,e){a.begin();a.moveTo(b,c);a.lineTo(b+d,c);a.lineTo(b+d/2,c+e/2);a.close();a.fillAndStroke();a.begin();a.moveTo(b,c+e);a.lineTo(b+d,c+e);a.lineTo(b+d/2,c+e/2);a.close();a.fillAndStroke()};mxCellRenderer.registerShape("collate",V);mxUtils.extend(ma,mxEllipse);ma.prototype.paintVertexShape=
-function(a,b,c,d,e){var f=c+e-5;a.begin();a.moveTo(b,c);a.lineTo(b,c+e);a.moveTo(b,f);a.lineTo(b+10,f-5);a.moveTo(b,f);a.lineTo(b+10,f+5);a.moveTo(b,f);a.lineTo(b+d,f);a.moveTo(b+d,c);a.lineTo(b+d,c+e);a.moveTo(b+d,f);a.lineTo(b+d-10,f-5);a.moveTo(b+d,f);a.lineTo(b+d-10,f+5);a.end();a.stroke()};mxCellRenderer.registerShape("dimension",ma);mxUtils.extend(S,mxEllipse);S.prototype.paintVertexShape=function(a,b,c,d,e){this.outline||a.setStrokeColor(null);mxRectangleShape.prototype.paintBackground.apply(this,
+function(a,b,c,d,e){var g=c+e-5;a.begin();a.moveTo(b,c);a.lineTo(b,c+e);a.moveTo(b,g);a.lineTo(b+10,g-5);a.moveTo(b,g);a.lineTo(b+10,g+5);a.moveTo(b,g);a.lineTo(b+d,g);a.moveTo(b+d,c);a.lineTo(b+d,c+e);a.moveTo(b+d,g);a.lineTo(b+d-10,g-5);a.moveTo(b+d,g);a.lineTo(b+d-10,g+5);a.end();a.stroke()};mxCellRenderer.registerShape("dimension",ma);mxUtils.extend(S,mxEllipse);S.prototype.paintVertexShape=function(a,b,c,d,e){this.outline||a.setStrokeColor(null);mxRectangleShape.prototype.paintBackground.apply(this,
arguments);null!=this.style&&(a.setStrokeColor(this.stroke),a.rect(b,c,d,e),a.fill(),a.begin(),a.moveTo(b,c),"1"==mxUtils.getValue(this.style,"top","1")?a.lineTo(b+d,c):a.moveTo(b+d,c),"1"==mxUtils.getValue(this.style,"right","1")?a.lineTo(b+d,c+e):a.moveTo(b+d,c+e),"1"==mxUtils.getValue(this.style,"bottom","1")?a.lineTo(b,c+e):a.moveTo(b,c+e),"1"==mxUtils.getValue(this.style,"left","1")&&a.lineTo(b,c-this.strokewidth/2),a.end(),a.stroke())};mxCellRenderer.registerShape("partialRectangle",S);mxUtils.extend(ua,
mxEllipse);ua.prototype.paintVertexShape=function(a,b,c,d,e){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);a.begin();"vertical"==mxUtils.getValue(this.style,"line")?(a.moveTo(b+d/2,c),a.lineTo(b+d/2,c+e)):(a.moveTo(b,c+e/2),a.lineTo(b+d,c+e/2));a.end();a.stroke()};mxCellRenderer.registerShape("lineEllipse",ua);mxUtils.extend(va,mxActor);va.prototype.redrawPath=function(a,b,c,d,e){b=Math.min(d,e/2);a.moveTo(0,0);a.lineTo(d-b,0);a.quadTo(d,0,d,e/2);a.quadTo(d,e,d-b,e);a.lineTo(0,
-e);a.close();a.end()};mxCellRenderer.registerShape("delay",va);mxUtils.extend(pa,mxActor);pa.prototype.size=.2;pa.prototype.redrawPath=function(a,b,c,d,e){b=Math.min(e,d);var f=Math.max(0,Math.min(b,b*parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=(e-f)/2;c=b+f;var g=(d-f)/2,f=g+f;a.moveTo(0,b);a.lineTo(g,b);a.lineTo(g,0);a.lineTo(f,0);a.lineTo(f,b);a.lineTo(d,b);a.lineTo(d,c);a.lineTo(f,c);a.lineTo(f,e);a.lineTo(g,e);a.lineTo(g,c);a.lineTo(0,c);a.close();a.end()};mxCellRenderer.registerShape("cross",
+e);a.close();a.end()};mxCellRenderer.registerShape("delay",va);mxUtils.extend(pa,mxActor);pa.prototype.size=.2;pa.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",
pa);mxUtils.extend(qa,mxActor);qa.prototype.size=.25;qa.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",qa);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,f=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,f),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,f,g,h,k,l){var m=e*(g+k+1),n=f*(g+k+1);return function(){a.begin();a.moveTo(d.x-m/2-n/2,d.y-n/2+m/2);a.lineTo(d.x+n/2-3*m/2,d.y-3*n/2-m/2);a.stroke()}});mxMarker.addMarker("cross",function(a,b,c,d,e,f,g,h,k,
-l){var m=e*(g+k+1),n=f*(g+k+1);return function(){a.begin();a.moveTo(d.x-m/2-n/2,d.y-n/2+m/2);a.lineTo(d.x+n/2-3*m/2,d.y-3*n/2-m/2);a.moveTo(d.x-m/2+n/2,d.y-n/2-m/2);a.lineTo(d.x-n/2-3*m/2,d.y-3*n/2+m/2);a.stroke()}});mxMarker.addMarker("circle",Da);mxMarker.addMarker("circlePlus",function(a,b,c,d,e,f,g,h,k,l){var m=d.clone(),n=Da.apply(this,arguments),p=e*(g+2*k),O=f*(g+2*k);return function(){n.apply(this,arguments);a.begin();a.moveTo(m.x-e*k,m.y-f*k);a.lineTo(m.x-2*p+e*k,m.y-2*O+f*k);a.moveTo(m.x-
-p-O+f*k,m.y-O+p-e*k);a.lineTo(m.x+O-p-f*k,m.y-O-p+e*k);a.stroke()}});mxMarker.addMarker("async",function(a,b,c,d,e,f,g,h,k,l){b=e*k*1.118;c=f*k*1.118;e*=g+k;f*=g+k;var m=d.clone();m.x-=b;m.y-=c;d.x+=1*-e-b;d.y+=1*-f-c;return function(){a.begin();a.moveTo(m.x,m.y);h?a.lineTo(m.x-e-f/2,m.y-f+e/2):a.lineTo(m.x+f/2-e,m.y-f-e/2);a.lineTo(m.x-e,m.y-f);a.close();l?a.fillAndStroke():a.stroke()}});mxMarker.addMarker("openAsync",function(a){a=null!=a?a:2;return function(b,c,d,e,f,g,h,k,l,m){f*=h+l;g*=h+l;var n=
-e.clone();return function(){b.begin();b.moveTo(n.x,n.y);k?b.lineTo(n.x-f-g/a,n.y-g+f/a):b.lineTo(n.x+g/a-f,n.y-g-f/a);b.stroke()}}}(2));if("undefined"!==typeof mxVertexHandler){var Ga=function(a,b,c){return sa(a,["width"],b,function(b,d,e,f,g){g=a.shape.getEdgeWidth()*a.view.scale+c;return new mxPoint(f.x+d*b/4+e*g/2,f.y+e*b/4-d*g/2)},function(b,d,e,f,g,h){b=Math.sqrt(mxUtils.ptSegDistSq(f.x,f.y,g.x,g.y,h.x,h.y));a.style.width=Math.round(2*b)/a.view.scale-c})},sa=function(a,b,c,d,e){return M(a,b,
-function(b){var e=a.absolutePoints,f=e.length-1;b=a.view.translate;var g=a.view.scale,h=c?e[0]:e[f],e=c?e[1]:e[f-1],f=e.x-h.x,k=e.y-h.y,l=Math.sqrt(f*f+k*k),h=d.call(this,l,f/l,k/l,h,e);return new mxPoint(h.x/g-b.x,h.y/g-b.y)},function(b,d,f){var g=a.absolutePoints,h=g.length-1;b=a.view.translate;var k=a.view.scale,l=c?g[0]:g[h],g=c?g[1]:g[h-1],h=g.x-l.x,m=g.y-l.y,n=Math.sqrt(h*h+m*m);d.x=(d.x+b.x)*k;d.y=(d.y+b.y)*k;e.call(this,n,h/n,m/n,l,g,d,f)})},ia=function(a){return function(b){return[M(b,["arrowWidth",
+[],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),n=g*(f+k+1);return function(){a.begin();a.moveTo(d.x-m/2-n/2,d.y-n/2+m/2);a.lineTo(d.x+n/2-3*m/2,d.y-3*n/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),n=g*(f+k+1);return function(){a.begin();a.moveTo(d.x-m/2-n/2,d.y-n/2+m/2);a.lineTo(d.x+n/2-3*m/2,d.y-3*n/2-m/2);a.moveTo(d.x-m/2+n/2,d.y-n/2-m/2);a.lineTo(d.x-n/2-3*m/2,d.y-3*n/2+m/2);a.stroke()}});mxMarker.addMarker("circle",Da);mxMarker.addMarker("circlePlus",function(a,b,c,d,e,g,f,h,k,l){var m=d.clone(),n=Da.apply(this,arguments),p=e*(f+2*k),O=g*(f+2*k);return function(){n.apply(this,arguments);a.begin();a.moveTo(m.x-e*k,m.y-g*k);a.lineTo(m.x-2*p+e*k,m.y-2*O+g*k);a.moveTo(m.x-
+p-O+g*k,m.y-O+p-e*k);a.lineTo(m.x+O-p-g*k,m.y-O-p+e*k);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 n=
+e.clone();return function(){b.begin();b.moveTo(n.x,n.y);k?b.lineTo(n.x-g-f/a,n.y-f+g/a):b.lineTo(n.x+f/a-g,n.y-f-g/a);b.stroke()}}}(2));if("undefined"!==typeof mxVertexHandler){var Ga=function(a,b,c){return sa(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})},sa=function(a,b,c,d,e){return M(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,n=Math.sqrt(h*h+m*m);d.x=(d.x+b.x)*k;d.y=(d.y+b.y)*k;e.call(this,n,h/n,m/n,l,f,d,g)})},ia=function(a){return function(b){return[M(b,["arrowWidth",
"arrowSize"],function(b){var c=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"arrowWidth",U.prototype.arrowWidth))),d=Math.max(0,Math.min(a,mxUtils.getValue(this.state.style,"arrowSize",U.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))})]}},Ba=function(a,b,c){return function(d){var e=
-[M(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}},wa=function(a,b,c,d,e){c=null!=c?c:1;return function(f){var g=[M(f,["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 g=null!=e?"0"!=mxUtils.getValue(this.state.style,"fixedSize","0"):null;a=g?b.x-a.x:Math.max(0,Math.min(c,(b.x-a.x)/a.width));g&&!mxEvent.isAltDown(d.getEvent())&&(a=f.view.graph.snap(a));this.state.style.size=a},null,d)];b&&mxUtils.getValue(f.style,mxConstants.STYLE_ROUNDED,!1)&&g.push(ha(f));return g}},Ha=function(a){return function(b){var c=
+[M(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}},wa=function(a,b,c,d,e){c=null!=c?c:1;return function(g){var f=[M(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}},Ha=function(a){return function(b){var c=
[M(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=Math.max(0,Math.min(a,(c.x-b.x)/(.75*b.width)))},null,!0)];mxUtils.getValue(b.style,mxConstants.STYLE_ROUNDED,!1)&&c.push(ha(b));return c}},ta=function(){return function(a){var b=[];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&b.push(ha(a));return b}},ha=function(a,b){return M(a,
[mxConstants.STYLE_ARCSIZE],function(c){var d=null!=b?b:c.height/8;if("1"==mxUtils.getValue(a.style,mxConstants.STYLE_ABSOLUTE_ARCSIZE,0)){var e=mxUtils.getValue(a.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;return new mxPoint(c.x+c.width-Math.min(c.width/2,e),c.y+d)}e=Math.max(0,parseFloat(mxUtils.getValue(a.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)))/100;return new mxPoint(c.x+c.width-Math.min(Math.max(c.width/2,c.height/2),Math.min(c.width,c.height)*
-e),c.y+d)},function(b,c,d){"1"==mxUtils.getValue(a.style,mxConstants.STYLE_ABSOLUTE_ARCSIZE,0)?this.state.style[mxConstants.STYLE_ARCSIZE]=Math.round(Math.max(0,Math.min(b.width,2*(b.x+b.width-c.x)))):this.state.style[mxConstants.STYLE_ARCSIZE]=Math.round(Math.min(50,Math.max(0,100*(b.width-c.x+b.x)/Math.min(b.width,b.height))))})},M=function(a,b,c,d,e,f){var g=new mxHandle(a,null,mxVertexHandler.prototype.secondaryHandleImage);g.execute=function(){for(var a=0;a<b.length;a++)this.copyStyle(b[a])};
-g.getPosition=c;g.setPosition=d;g.ignoreGrid=null!=e?e:!0;if(f){var h=g.positionChanged;g.positionChanged=function(){h.apply(this,arguments);a.view.invalidate(this.state.cell);a.view.validate()}}return g},Ca={link:function(a){return[Ga(a,!0,10),Ga(a,!1,10)]},flexArrow:function(a){var b=a.view.graph.gridSize/a.view.scale,c=[];mxUtils.getValue(a.style,mxConstants.STYLE_STARTARROW,mxConstants.NONE)!=mxConstants.NONE&&(c.push(sa(a,["width",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!0,function(b,
-c,d,e,f){b=(a.shape.getEdgeWidth()-a.shape.strokewidth)*a.view.scale;f=3*mxUtils.getNumber(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(e.x+c*(f+a.shape.strokewidth*a.view.scale)+d*b/2,e.y+d*(f+a.shape.strokewidth*a.view.scale)-c*b/2)},function(c,d,e,f,g,h,k){c=Math.sqrt(mxUtils.ptSegDistSq(f.x,f.y,g.x,g.y,h.x,h.y));d=mxUtils.ptLineDist(f.x,f.y,f.x+e,f.y-d,h.x,h.y);a.style[mxConstants.STYLE_STARTSIZE]=Math.round(100*(d-a.shape.strokewidth)/3)/100/a.view.scale;
-a.style.width=Math.round(2*c)/a.view.scale;mxEvent.isControlDown(k.getEvent())&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE]);mxEvent.isAltDown(k.getEvent())||Math.abs(parseFloat(a.style[mxConstants.STYLE_STARTSIZE])-parseFloat(a.style[mxConstants.STYLE_ENDSIZE]))<b/6&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE])})),c.push(sa(a,["startWidth","endWidth",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!0,function(b,c,d,e,f){b=(a.shape.getStartArrowWidth()-
-a.shape.strokewidth)*a.view.scale;f=3*mxUtils.getNumber(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(e.x+c*(f+a.shape.strokewidth*a.view.scale)+d*b/2,e.y+d*(f+a.shape.strokewidth*a.view.scale)-c*b/2)},function(c,d,e,f,g,h,k){c=Math.sqrt(mxUtils.ptSegDistSq(f.x,f.y,g.x,g.y,h.x,h.y));d=mxUtils.ptLineDist(f.x,f.y,f.x+e,f.y-d,h.x,h.y);a.style[mxConstants.STYLE_STARTSIZE]=Math.round(100*(d-a.shape.strokewidth)/3)/100/a.view.scale;a.style.startWidth=Math.max(0,
+e),c.y+d)},function(b,c,d){"1"==mxUtils.getValue(a.style,mxConstants.STYLE_ABSOLUTE_ARCSIZE,0)?this.state.style[mxConstants.STYLE_ARCSIZE]=Math.round(Math.max(0,Math.min(b.width,2*(b.x+b.width-c.x)))):this.state.style[mxConstants.STYLE_ARCSIZE]=Math.round(Math.min(50,Math.max(0,100*(b.width-c.x+b.x)/Math.min(b.width,b.height))))})},M=function(a,b,c,d,e,g){var f=new mxHandle(a,null,mxVertexHandler.prototype.secondaryHandleImage);f.execute=function(){for(var a=0;a<b.length;a++)this.copyStyle(b[a])};
+f.getPosition=c;f.setPosition=d;f.ignoreGrid=null!=e?e:!0;if(g){var h=f.positionChanged;f.positionChanged=function(){h.apply(this,arguments);a.view.invalidate(this.state.cell);a.view.validate()}}return f},Ca={link:function(a){return[Ga(a,!0,10),Ga(a,!1,10)]},flexArrow:function(a){var b=a.view.graph.gridSize/a.view.scale,c=[];mxUtils.getValue(a.style,mxConstants.STYLE_STARTARROW,mxConstants.NONE)!=mxConstants.NONE&&(c.push(sa(a,["width",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!0,function(b,
+c,d,e,g){b=(a.shape.getEdgeWidth()-a.shape.strokewidth)*a.view.scale;g=3*mxUtils.getNumber(a.style,mxConstants.STYLE_STARTSIZE,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_STARTSIZE]=Math.round(100*(d-a.shape.strokewidth)/3)/100/a.view.scale;
+a.style.width=Math.round(2*c)/a.view.scale;mxEvent.isControlDown(k.getEvent())&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE]);mxEvent.isAltDown(k.getEvent())||Math.abs(parseFloat(a.style[mxConstants.STYLE_STARTSIZE])-parseFloat(a.style[mxConstants.STYLE_ENDSIZE]))<b/6&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE])})),c.push(sa(a,["startWidth","endWidth",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!0,function(b,c,d,e,g){b=(a.shape.getStartArrowWidth()-
+a.shape.strokewidth)*a.view.scale;g=3*mxUtils.getNumber(a.style,mxConstants.STYLE_STARTSIZE,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_STARTSIZE]=Math.round(100*(d-a.shape.strokewidth)/3)/100/a.view.scale;a.style.startWidth=Math.max(0,
Math.round(2*c)-a.shape.getEdgeWidth())/a.view.scale;mxEvent.isControlDown(k.getEvent())&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE],a.style.endWidth=a.style.startWidth);mxEvent.isAltDown(k.getEvent())||(Math.abs(parseFloat(a.style[mxConstants.STYLE_STARTSIZE])-parseFloat(a.style[mxConstants.STYLE_ENDSIZE]))<b/6&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE]),Math.abs(parseFloat(a.style.startWidth)-parseFloat(a.style.endWidth))<b&&(a.style.startWidth=
-a.style.endWidth))})));mxUtils.getValue(a.style,mxConstants.STYLE_ENDARROW,mxConstants.NONE)!=mxConstants.NONE&&(c.push(sa(a,["width",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!1,function(b,c,d,e,f){b=(a.shape.getEdgeWidth()-a.shape.strokewidth)*a.view.scale;f=3*mxUtils.getNumber(a.style,mxConstants.STYLE_ENDSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(e.x+c*(f+a.shape.strokewidth*a.view.scale)-d*b/2,e.y+d*(f+a.shape.strokewidth*a.view.scale)+c*b/2)},function(c,d,e,
-f,g,h,k){c=Math.sqrt(mxUtils.ptSegDistSq(f.x,f.y,g.x,g.y,h.x,h.y));d=mxUtils.ptLineDist(f.x,f.y,f.x+e,f.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.width=Math.round(2*c)/a.view.scale;mxEvent.isControlDown(k.getEvent())&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE]);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])})),c.push(sa(a,["startWidth","endWidth",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!1,function(b,c,d,e,f){b=(a.shape.getEndArrowWidth()-a.shape.strokewidth)*a.view.scale;f=3*mxUtils.getNumber(a.style,mxConstants.STYLE_ENDSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(e.x+c*(f+a.shape.strokewidth*a.view.scale)-d*b/2,e.y+d*(f+a.shape.strokewidth*a.view.scale)+c*b/2)},function(c,d,e,f,g,h,k){c=
-Math.sqrt(mxUtils.ptSegDistSq(f.x,f.y,g.x,g.y,h.x,h.y));d=mxUtils.ptLineDist(f.x,f.y,f.x+e,f.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])-
+a.style.endWidth))})));mxUtils.getValue(a.style,mxConstants.STYLE_ENDARROW,mxConstants.NONE)!=mxConstants.NONE&&(c.push(sa(a,["width",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!1,function(b,c,d,e,g){b=(a.shape.getEdgeWidth()-a.shape.strokewidth)*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.width=Math.round(2*c)/a.view.scale;mxEvent.isControlDown(k.getEvent())&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE]);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])})),c.push(sa(a,["startWidth","endWidth",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!1,function(b,c,d,e,g){b=(a.shape.getEndArrowWidth()-a.shape.strokewidth)*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=[M(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:ta(),ext:ta(),rectangle:ta(),triangle:ta(),rhombus:ta(),umlLifeline:function(a){return[M(a,["size"],function(a){var b=Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(this.state.style,"size",E.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[M(a,["width","height"],function(a){var b=Math.max(J.prototype.corner,Math.min(a.width,mxUtils.getValue(this.state.style,
@@ -2951,9 +2951,9 @@ Math.max(0,Math.min(a.width,b.x-a.x));mxUtils.getValue(this.state.style,"tabPosi
Math.max(0,Math.min(1,(a.y+a.height-b.y)/a.height))})]},tape:function(a){return[M(a,["size"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",h.prototype.size))));return new mxPoint(a.getCenterX(),a.y+b*a.height/2)},function(a,b){this.state.style.size=Math.max(0,Math.min(1,(b.y-a.y)/a.height*2))})]},offPageConnector:function(a){return[M(a,["size"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",Z.prototype.size))));
return new mxPoint(a.getCenterX(),a.y+(1-b)*a.height)},function(a,b){this.state.style.size=Math.max(0,Math.min(1,(a.y+a.height-b.y)/a.height))})]},step:wa(u.prototype.size,!0,null,!0,u.prototype.fixedSize),hexagon:wa(z.prototype.size,!0,.5,!0),curlyBracket:wa(p.prototype.size,!1),display:wa(qa.prototype.size,!1),cube:Ba(1,a.prototype.size,!1),card:Ba(.5,g.prototype.size,!0),loopLimit:Ba(.5,Y.prototype.size,!0),trapezoid:Ha(.5),parallelogram:Ha(1)};Graph.createHandle=M;Graph.handleFactory=Ca;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=Ca[a];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=Ca[a];if(null!=a)return a(this.state)}return null}}else Graph.createHandle=function(){},Graph.handleFactory={};var xa=new mxPoint(1,0),ya=new mxPoint(1,0),ia=mxUtils.toRadians(-30),xa=mxUtils.getRotatedPoint(xa,Math.cos(ia),Math.sin(ia)),ia=mxUtils.toRadians(-150),ya=mxUtils.getRotatedPoint(ya,Math.cos(ia),Math.sin(ia));mxEdgeStyle.IsometricConnector=function(a,b,c,d,e){var f=a.view;d=null!=d&&0<d.length?d[0]:null;var g=a.absolutePoints,h=g[0],g=g[g.length-1];null!=
-d&&(d=f.transformControlPoint(a,d));null==h&&null!=b&&(h=new mxPoint(b.getCenterX(),b.getCenterY()));null==g&&null!=c&&(g=new mxPoint(c.getCenterX(),c.getCenterY()));var k=xa.x,l=xa.y,m=ya.x,n=ya.y,p="horizontal"==mxUtils.getValue(a.style,"elbow","horizontal");if(null!=g&&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+(g.x-h.x)/2,h.y+(g.y-h.y)/2));a(d.x,d.y,!0);a(g.x,g.y,!1)}};mxStyleRegistry.putValue("isometricEdgeStyle",mxEdgeStyle.IsometricConnector);var La=Graph.prototype.createEdgeHandler;Graph.prototype.createEdgeHandler=function(a,b){if(b==mxEdgeStyle.IsometricConnector){var c=new mxElbowEdgeHandler(a);c.snapToTerminals=!1;return c}return La.apply(this,arguments)};c.prototype.constraints=[];d.prototype.constraints=[];v.prototype.constraints=[];
+(a=mxConstants.SHAPE_CONNECTOR);a=Ca[a];if(null!=a)return a(this.state)}return null}}else Graph.createHandle=function(){},Graph.handleFactory={};var xa=new mxPoint(1,0),ya=new mxPoint(1,0),ia=mxUtils.toRadians(-30),xa=mxUtils.getRotatedPoint(xa,Math.cos(ia),Math.sin(ia)),ia=mxUtils.toRadians(-150),ya=mxUtils.getRotatedPoint(ya,Math.cos(ia),Math.sin(ia));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=xa.x,l=xa.y,m=ya.x,n=ya.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);var La=Graph.prototype.createEdgeHandler;Graph.prototype.createEdgeHandler=function(a,b){if(b==mxEdgeStyle.IsometricConnector){var c=new mxElbowEdgeHandler(a);c.snapToTerminals=!1;return c}return La.apply(this,arguments)};c.prototype.constraints=[];d.prototype.constraints=[];v.prototype.constraints=[];
mxRectangleShape.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),new mxConnectionConstraint(new mxPoint(.25,
1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,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;x.prototype.constraints=mxRectangleShape.prototype.constraints;f.prototype.constraints=mxRectangleShape.prototype.constraints;g.prototype.constraints=mxRectangleShape.prototype.constraints;a.prototype.constraints=mxRectangleShape.prototype.constraints;k.prototype.constraints=mxRectangleShape.prototype.constraints;
@@ -2979,7 +2979,7 @@ this.addAction("open...",function(){window.openNew=!0;window.openKey="open";c.op
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,230,!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(){mxClipboard.copy(b)},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,f=b.view.scale,g=e.x,k=e.y,e=null;if(1==c.length&&a){var r=b.getCellGeometry(c[0]);null!=r&&(e=r.getTerminalPoint(!0))}e=null!=e?e:b.getBoundingBoxFromGeometry(c,a);if(null!=e){var t=Math.round(b.snap(b.popupMenuHandler.triggerX/f-g)),w=Math.round(b.snap(b.popupMenuHandler.triggerY/f-k));b.cellsMoved(c,t-e.x,w-e.y)}}}finally{b.getModel().endUpdate()}}});this.addAction("delete",function(b){a(null!=b&&mxEvent.isShiftDown(b))},null,null,"Delete");
+a;d++)a=a&&b.model.isEdge(c[d]);var e=b.view.translate,g=b.view.scale,f=e.x,k=e.y,e=null;if(1==c.length&&a){var r=b.getCellGeometry(c[0]);null!=r&&(e=r.getTerminalPoint(!0))}e=null!=e?e:b.getBoundingBoxFromGeometry(c,a);if(null!=e){var t=Math.round(b.snap(b.popupMenuHandler.triggerX/g-f)),w=Math.round(b.snap(b.popupMenuHandler.triggerY/g-k));b.cellsMoved(c,t-e.x,w-e.y)}}}finally{b.getModel().endUpdate()}}});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(){b.setSelectionCells(b.duplicateCells())},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,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();try{var a=b.isCellMovable(b.getSelectionCell())?1:0;b.toggleCellStyles(mxConstants.STYLE_MOVABLE,a);b.toggleCellStyles(mxConstants.STYLE_RESIZABLE,a);b.toggleCellStyles(mxConstants.STYLE_ROTATABLE,
a);b.toggleCellStyles(mxConstants.STYLE_DELETABLE,a);b.toggleCellStyles(mxConstants.STYLE_EDITABLE,a);b.toggleCellStyles("connectable",a)}finally{b.getModel().endUpdate()}}},null,null,Editor.ctrlKey+"+L");this.addAction("home",function(){b.home()},null,null,"Home");this.addAction("exitGroup",function(){b.exitGroup()},null,null,Editor.ctrlKey+"+Shift+Home");this.addAction("enterGroup",function(){b.enterGroup()},null,null,Editor.ctrlKey+"+Shift+End");this.addAction("collapse",function(){b.foldCells(!0)},
@@ -2987,7 +2987,7 @@ null,null,Editor.ctrlKey+"+Home");this.addAction("expand",function(){b.foldCells
b.getSelectionCount()&&0==b.getModel().getChildCount(b.getSelectionCell())?b.setCellStyles("container","0"):b.setSelectionCells(b.ungroupCells())},null,null,Editor.ctrlKey+"+Shift+U");this.addAction("removeFromGroup",function(){b.removeCellsFromParent()});this.addAction("edit",function(){b.isEnabled()&&b.startEditingAtCell()},null,null,"F2/Enter");this.addAction("editData...",function(){var a=b.getSelectionCell()||b.getModel().getRoot();null!=a&&(a=new EditDataDialog(c,a),c.showDialog(a.container,
340,340,!0,!1,null,!1),a.init())},null,null,Editor.ctrlKey+"+M");this.addAction("editTooltip...",function(){var a=c.editor.graph;if(a.isEnabled()&&!a.isSelectionEmpty()){var b=a.getSelectionCell(),d="";if(mxUtils.isNode(b.value)){var e=b.value.getAttribute("tooltip");null!=e&&(d=e)}d=new TextareaDialog(c,mxResources.get("editTooltip")+":",d,function(c){a.setTooltipForCell(b,c)});c.showDialog(d.container,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.addAction("insertLink...",function(){b.isEnabled()&&!b.isCellLocked(b.getDefaultParent())&&c.showLinkDialog("",mxResources.get("insert"),
-function(a,d){a=mxUtils.trim(a);if(0<a.length){var e=null,f=a.substring(a.lastIndexOf("/")+1);if(b.isPageLink(a)){var g=a.indexOf(",");0<g&&(f=c.getPageById(a.substring(g+1)),f=null!=f?f.getName():mxResources.get("pageNotFound"))}null!=d&&0<d.length&&(e=d[0].iconUrl,f=d[0].name||d[0].type,f=f.charAt(0).toUpperCase()+f.substring(1),30<f.length&&(f=f.substring(0,30)+"..."));g=b.getFreeInsertPoint();e=new mxCell(f,new mxGeometry(g.x,g.y,100,40),"fontColor=#0000EE;fontStyle=4;rounded=1;overflow=hidden;"+
+function(a,d){a=mxUtils.trim(a);if(0<a.length){var e=null,g=a.substring(a.lastIndexOf("/")+1);if(b.isPageLink(a)){var f=a.indexOf(",");0<f&&(g=c.getPageById(a.substring(f+1)),g=null!=g?g.getName():mxResources.get("pageNotFound"))}null!=d&&0<d.length&&(e=d[0].iconUrl,g=d[0].name||d[0].type,g=g.charAt(0).toUpperCase()+g.substring(1),30<g.length&&(g=g.substring(0,30)+"..."));f=b.getFreeInsertPoint();e=new mxCell(g,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;b.setLinkForCell(e,a);b.cellSizeUpdated(e,!0);b.getModel().beginUpdate();try{e=b.addCell(e),b.fireEvent(new mxEventObject("cellsInserted","cells",[e]))}finally{b.getModel().endUpdate()}b.setSelectionCell(e);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.getParentByName(a.getSelectedElement(),"A",a.cellEditor.textarea),d="";null!=b&&(d=b.getAttribute("href")||"");var e=a.cellEditor.saveSelection();c.showLinkDialog(d,mxResources.get("apply"),mxUtils.bind(this,function(b){a.cellEditor.restoreSelection(e);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!=
@@ -2995,7 +2995,7 @@ a){var d="1";b.stopEditing();b.getModel().beginUpdate();try{if("1"==a.style.html
b.sanitizeHtml(e));b.setCellStyles("html",d);c.fireEvent(new mxEventObject("styleChanged","keys",["html"],"values",[null!=d?d:"0"],"cells",b.getSelectionCells()))}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());
null!=d&&(a=d.style[mxConstants.STYLE_ROTATION]||a);a=new FilenameDialog(c,a,mxResources.get("apply"),function(a){null!=a&&0<a.length&&b.setCellStyles(mxConstants.STYLE_ROTATION,a)},mxResources.get("enterValue")+" ("+mxResources.get("rotation")+" 0-360)");c.showDialog(a.container,375,80,!0,!0);a.init()});this.addAction("resetView",function(){b.zoomTo(1);c.resetScrollbars()},null,null,Editor.ctrlKey+"+H");this.addAction("zoomIn",function(a){b.zoomIn()},null,null,Editor.ctrlKey+" + (Numpad) / Alt+Mousewheel");
this.addAction("zoomOut",function(a){b.zoomOut()},null,null,Editor.ctrlKey+" - (Numpad) / Alt+Mousewheel");this.addAction("fitWindow",function(){b.fit()},null,null,Editor.ctrlKey+"+Shift+H");this.addAction("fitPage",mxUtils.bind(this,function(){b.pageVisible||this.get("pageView").funct();var a=b.pageFormat,c=b.pageScale;b.zoomTo(Math.floor(20*Math.min((b.container.clientWidth-10)/a.width/c,(b.container.clientHeight-10)/a.height/c))/20);mxUtils.hasScrollbars(b.container)&&(a=b.getPagePadding(),b.container.scrollTop=
-a.y*b.view.scale,b.container.scrollLeft=Math.min(a.x*b.view.scale,(b.container.scrollWidth-b.container.clientWidth)/2))}),null,null,Editor.ctrlKey+"+J");this.addAction("fitTwoPages",mxUtils.bind(this,function(){b.pageVisible||this.get("pageView").funct();var a=b.pageFormat,c=b.pageScale;b.zoomTo(Math.floor(20*Math.min((b.container.clientWidth-10)/(2*a.width)/c,(b.container.clientHeight-10)/a.height/c))/20);mxUtils.hasScrollbars(b.container)&&(a=b.getPagePadding(),b.container.scrollTop=Math.min(a.y,
+a.y*b.view.scale-1,b.container.scrollLeft=Math.min(a.x*b.view.scale,(b.container.scrollWidth-b.container.clientWidth)/2)-1)}),null,null,Editor.ctrlKey+"+J");this.addAction("fitTwoPages",mxUtils.bind(this,function(){b.pageVisible||this.get("pageView").funct();var a=b.pageFormat,c=b.pageScale;b.zoomTo(Math.floor(20*Math.min((b.container.clientWidth-10)/(2*a.width)/c,(b.container.clientHeight-10)/a.height/c))/20);mxUtils.hasScrollbars(b.container)&&(a=b.getPagePadding(),b.container.scrollTop=Math.min(a.y,
(b.container.scrollHeight-b.container.clientHeight)/2),b.container.scrollLeft=Math.min(a.x,(b.container.scrollWidth-b.container.clientWidth)/2))}),null,null,Editor.ctrlKey+"+Shift+J");this.addAction("fitPageWidth",mxUtils.bind(this,function(){b.pageVisible||this.get("pageView").funct();b.zoomTo(Math.floor(20*(b.container.clientWidth-10)/b.pageFormat.width/b.pageScale)/20);if(mxUtils.hasScrollbars(b.container)){var a=b.getPagePadding();b.container.scrollLeft=Math.min(a.x*b.view.scale,(b.container.scrollWidth-
b.container.clientWidth)/2)}}));this.put("customZoom",new Action(mxResources.get("custom")+"...",mxUtils.bind(this,function(){var a=new FilenameDialog(this.editorUi,parseInt(100*b.getView().getScale()),mxResources.get("apply"),mxUtils.bind(this,function(a){a=parseInt(a);!isNaN(a)&&0<a&&b.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*b.pageScale),mxResources.get("apply"),mxUtils.bind(this,function(a){a=parseInt(a);!isNaN(a)&&0<a&&c.setPageScale(a/100)}),mxResources.get("pageScale")+" (%)");this.editorUi.showDialog(a.container,300,80,!0,!0);a.init()}));var e=null,e=this.addAction("grid",function(){b.setGridEnabled(!b.isGridEnabled());c.fireEvent(new mxEventObject("gridEnabledChanged"))},null,null,Editor.ctrlKey+"+Shift+G");e.setToggleAction(!0);e.setSelectedCallback(function(){return b.isGridEnabled()});e.setEnabled(!1);
@@ -3045,7 +3045,7 @@ b){this.addMenuItems(a,["toFront","toBack","-"],b);this.addSubmenu("direction",a
b)})));this.put("view",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,(null!=this.editorUi.format?["formatPanel"]:[]).concat("outline layers - pageView pageScale - scrollbars tooltips - grid guides - connectionArrows connectionPoints - resetView zoomIn zoomOut".split(" "),b))})));this.put("viewPanels",new Menu(mxUtils.bind(this,function(a,b){null!=this.editorUi.format&&this.addMenuItems(a,["formatPanel"],b);this.addMenuItems(a,["outline","layers"],b)})));this.put("viewZoom",new Menu(mxUtils.bind(this,
function(c,b){this.addMenuItems(c,["resetView","-"],b);for(var d=[.25,.5,.75,1,1.25,1.5,2,3,4],e=0;e<d.length;e++)(function(d){c.addItem(100*d+"%",null,function(){a.zoomTo(d)},b)})(d[e]);this.addMenuItems(c,"- fitWindow fitPageWidth fitPage fitTwoPages - customZoom".split(" "),b)})));this.put("file",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,"new open - save saveAs - import export - pageSetup print".split(" "),b)})));this.put("edit",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,
"undo redo - cut copy paste delete - duplicate - editData editTooltip editStyle - edit - editLink openLink - selectVertices selectEdges selectAll selectNone - lockUnlock".split(" "))})));this.put("extras",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,["copyConnect","collapseExpand","-","editDiagram"])})));this.put("help",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,["help","-","about"])})))};Menus.prototype.put=function(a,c){return this.menus[a]=c};
-Menus.prototype.get=function(a){return this.menus[a]};Menus.prototype.addSubmenu=function(a,c,d,b){var f=this.get(a).isEnabled();if(c.showDisabled||f)d=c.addItem(b||mxResources.get(a),null,null,d,null,f),this.addMenu(a,c,d)};Menus.prototype.addMenu=function(a,c,d){var b=this.get(a);null!=b&&(c.showDisabled||b.isEnabled())&&this.get(a).execute(c,d)};
+Menus.prototype.get=function(a){return this.menus[a]};Menus.prototype.addSubmenu=function(a,c,d,b){var f=this.get(a);null!=f&&(f=f.isEnabled(),c.showDisabled||f)&&(d=c.addItem(b||mxResources.get(a),null,null,d,null,f),this.addMenu(a,c,d))};Menus.prototype.addMenu=function(a,c,d){var b=this.get(a);null!=b&&(c.showDisabled||b.isEnabled())&&this.get(a).execute(c,d)};
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){var e=d.getParentByName(b,"TR"),f=d.cellEditor.textarea.getElementsByTagName("table");a=[];for(var k=0;k<f.length;k++)a.push(f[k]);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(k=b.length-1;0<=k;k--)if(0==k||b[k]!=a[k-1]){d.selectNode(b[k].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 k=f.insertCell(-1);mxClient.IS_QUIRKS&&(k.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"),k=Math.min(20,h.sectionRowIndex+2),
@@ -6625,76 +6625,76 @@ this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;ve
56,46,"","VM Running",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vm running","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.vm_saved_state;",58,48,"","VM Saved State",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vm saved state","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.vm_windows;",
46,60,"","VM Windows",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vm windows","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.vnic;",62,62,"","vNIC",null,null,this.getTagsForStencil("mxgraph.veeam.3d","vnic","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.wan_accelerator;",
46,46,"","WAN Accelerator",null,null,this.getTagsForStencil("mxgraph.veeam.3d","wan accelerator","veeam 3d three dimension vmware virtual machine ").join(" ")),this.createVertexTemplateEntry("shadow=0;dashed=0;html=1;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;shape=mxgraph.veeam.3d.workstation;",76,62,"","Workstation",null,null,this.getTagsForStencil("mxgraph.veeam.3d","workstation","veeam 3d three dimension vmware virtual machine ").join(" "))];this.addPalette("veeam3D",
-"Veeam / 3D",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))}})();(function(){Sidebar.prototype.addWebIconsPalette=function(){var a="dashed=0;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.webicons.";this.addPaletteFunctions("webicons","Web Icons",!1,[this.createVertexTemplateEntry(a+"adfty;fillColor=#66E8F3;gradientColor=#1C7CBA",102.4,102.4,"","Adfty",null,null,this.getTagsForStencil("mxgraph.webicons","adfty","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"adobe_pdf;fillColor=#F40C0C;gradientColor=#610603",102.4,102.4,"","Adobe PDF",null,null,this.getTagsForStencil("mxgraph.webicons",
-"adobe pdf","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"aim;fillColor=#27E1E5;gradientColor=#0A4361",102.4,102.4,"","Aim",null,null,this.getTagsForStencil("mxgraph.webicons","aim","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"allvoices;fillColor=#807E7E;gradientColor=#1B1C1C",102.4,102.4,"","Allvoices",null,null,this.getTagsForStencil("mxgraph.webicons","allvoices","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"amazon;fillColor=#FFFFFF;gradientColor=#DFDEDE",
-102.4,102.4,"","Amazon",null,null,this.getTagsForStencil("mxgraph.webicons","amazon","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"amazon_2;fillColor=#605658;gradientColor=#231F20",102.4,102.4,"","Amazon",null,null,this.getTagsForStencil("mxgraph.webicons","amazon","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"android;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Android",null,null,this.getTagsForStencil("mxgraph.webicons","android","web icons icon").join(" ")),
-this.createVertexTemplateEntry(a+"apache;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Apache",null,null,this.getTagsForStencil("mxgraph.webicons","apache db database","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"apple;fillColor=#807E7E;gradientColor=#1B1C1C",102.4,102.4,"","Apple",null,null,this.getTagsForStencil("mxgraph.webicons","apple","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"apple_classic;fillColor=#66E8F3;gradientColor=#1C7CBA",102.4,102.4,
-"","Apple (classic)",null,null,this.getTagsForStencil("mxgraph.webicons","apple classic","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"arduino;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Arduino",null,null,this.getTagsForStencil("mxgraph.webicons","arduino","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"ask;fillColor=#F33543;gradientColor=#B50E11",102.4,102.4,"","Ask",null,null,this.getTagsForStencil("mxgraph.webicons","ask","web icons icon").join(" ")),
-this.createVertexTemplateEntry(a+"atlassian;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Atlassian",null,null,this.getTagsForStencil("mxgraph.webicons","atlassian","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"audioboo;fillColor=#EB35CF;gradientColor=#8C0E35",102.4,102.4,"","Audioboo",null,null,this.getTagsForStencil("mxgraph.webicons","audioboo","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"aws;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"",
-"AWS",null,null,this.getTagsForStencil("mxgraph.webicons","aws amazon web service","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"aws_s3;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","AWS S3",null,null,this.getTagsForStencil("mxgraph.webicons","aws s3 amazon web service","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"baidu;fillColor=#738FE8;gradientColor=#1F2470",102.4,102.4,"","Baidu",null,null,this.getTagsForStencil("mxgraph.webicons","baidu","web icons icon").join(" ")),
-this.createVertexTemplateEntry(a+"bebo;fillColor=#695D5D;gradientColor=#100E0E",102.4,102.4,"","Bebo",null,null,this.getTagsForStencil("mxgraph.webicons","bebo","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"behance;fillColor=#695D5D;gradientColor=#100E0E",102.4,102.4,"","Behance",null,null,this.getTagsForStencil("mxgraph.webicons","behance","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"bing;fillColor=#0A776E;gradientColor=#053D39",102.4,102.4,"","Bing",null,null,
-this.getTagsForStencil("mxgraph.webicons","bing","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"bitbucket;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Bitbucket",null,null,this.getTagsForStencil("mxgraph.webicons","bitbucket","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"blinklist;fillColor=#695D5D;gradientColor=#100E0E",102.4,102.4,"","Blinklist",null,null,this.getTagsForStencil("mxgraph.webicons","blinklist","web icons icon").join(" ")),this.createVertexTemplateEntry(a+
-"blogger;fillColor=#FDE47C;gradientColor=#F55F21",102.4,102.4,"","Blogger",null,null,this.getTagsForStencil("mxgraph.webicons","blogger","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"blogmarks;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Blogmarks",null,null,this.getTagsForStencil("mxgraph.webicons","blogmarks","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"bookmarks.fr;fillColor=#F9FAF4;gradientColor=#DCDFBB",102.4,102.4,"","Bookmarks.fr",null,null,this.getTagsForStencil("mxgraph.webicons",
-"bookmarks.fr","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"box;fillColor=#4CDFEF;gradientColor=#153EA0",102.4,102.4,"","Box",null,null,this.getTagsForStencil("mxgraph.webicons","box","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"buddymarks;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Buddymarks",null,null,this.getTagsForStencil("mxgraph.webicons","buddymarks","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"buffer;fillColor=#FFFFFF;gradientColor=#DFDEDE",
-102.4,102.4,"","Buffer",null,null,this.getTagsForStencil("mxgraph.webicons","buffer","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"buzzfeed;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Buzzfeed",null,null,this.getTagsForStencil("mxgraph.webicons","buzzfeed","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"chrome;fillColor=#FFFFFF;gradientColor=#DFDEDE",103.2,104,"","Chrome",null,null,this.getTagsForStencil("mxgraph.webicons","chrome","web icons icon").join(" ")),
-this.createVertexTemplateEntry(a+"citeulike;fillColor=#ACD65E;gradientColor=#2E3618",102.4,102.4,"","Citeulike",null,null,this.getTagsForStencil("mxgraph.webicons","citeulike","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"confluence;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Confluence",null,null,this.getTagsForStencil("mxgraph.webicons","confluence","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"connotea;fillColor=#E9FDFC;gradientColor=#BADBE9",102.4,
-102.4,"","Connotea",null,null,this.getTagsForStencil("mxgraph.webicons","connotea","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"dealsplus;fillColor=#B569B5;gradientColor=#7A467A",102.4,102.4,"","Dealsplus",null,null,this.getTagsForStencil("mxgraph.webicons","dealsplus","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"delicious",102.4,102.4,"","Delicious",null,null,this.getTagsForStencil("mxgraph.webicons","delicious","web icons icon").join(" ")),this.createVertexTemplateEntry(a+
-"designfloat;fillColor=#247BE0;gradientColor=#0A1F42",102.4,102.4,"","Designfloat",null,null,this.getTagsForStencil("mxgraph.webicons","designfloat","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"deviantart;fillColor=#00C659;gradientColor=#00813B",102.4,102.4,"","Deviantart",null,null,this.getTagsForStencil("mxgraph.webicons","deviantart","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"digg;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Digg",null,null,this.getTagsForStencil("mxgraph.webicons",
-"digg","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"diigo;fillColor=#2C7DE0;gradientColor=#1E5599",102.4,102.4,"","Diigo",null,null,this.getTagsForStencil("mxgraph.webicons","diiigo","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"dopplr;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Dopplr",null,null,this.getTagsForStencil("mxgraph.webicons","dopplr","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"drawio1;fillColor=#2174CE;gradientColor=#134277",
-102.4,102.4,"","Draw.io",null,null,this.getTagsForStencil("mxgraph.webicons","drawio draw io","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"drawio2;fillColor=#2174CE;gradientColor=#134277",102.4,102.4,"","Draw.io",null,null,this.getTagsForStencil("mxgraph.webicons","drawio draw io","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"dribbble;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Dribbble",null,null,this.getTagsForStencil("mxgraph.webicons","dribbble",
-"web icons icon").join(" ")),this.createVertexTemplateEntry(a+"dropbox;fillColor=#0BAAFE;gradientColor=#0080E6",102.4,102.4,"","Dropbox",null,null,this.getTagsForStencil("mxgraph.webicons","dropbox","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"dropbox2;fillColor=#2FB8FC;gradientColor=#0080E6",102.4,102.4,"","Dropbox",null,null,this.getTagsForStencil("mxgraph.webicons","dropbox","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"drupal;fillColor=#FFFFFF;gradientColor=#DFDEDE",
-102.4,102.4,"","Drupal",null,null,this.getTagsForStencil("mxgraph.webicons","drupal","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"dzone;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Dzone",null,null,this.getTagsForStencil("mxgraph.webicons","dzone","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"ebay;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Ebay",null,null,this.getTagsForStencil("mxgraph.webicons","ebay","web icons icon").join(" ")),this.createVertexTemplateEntry(a+
-"edmodo;fillColor=#2F81CE;gradientColor=#1F5487",102.4,102.4,"","Edmodo",null,null,this.getTagsForStencil("mxgraph.webicons","edmodo","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"evernote;fillColor=#D4EF75;gradientColor=#399F1F",102.4,102.4,"","Evernote",null,null,this.getTagsForStencil("mxgraph.webicons","evernote","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"facebook;fillColor=#6294E4;gradientColor=#1A2665",102.4,102.4,"","Facebook",null,null,this.getTagsForStencil("mxgraph.webicons",
-"facebook","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"fancy;fillColor=#C3ECF8;gradientColor=#348DD4",102.4,102.4,"","Fancy",null,null,this.getTagsForStencil("mxgraph.webicons","fancy","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"fark;fillColor=#EBEBF1;gradientColor=#8482A7",102.4,102.4,"","Fark",null,null,this.getTagsForStencil("mxgraph.webicons","fark","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"fashiolista;fillColor=#FFFFFF;gradientColor=#DFDEDE",
-102.4,102.4,"","Fashiolista",null,null,this.getTagsForStencil("mxgraph.webicons","fashiolista","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"feed;fillColor=#FFAC75;gradientColor=#FF6600",102.4,102.4,"","Feed",null,null,this.getTagsForStencil("mxgraph.webicons","feed","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"feedburner;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Feedburner",null,null,this.getTagsForStencil("mxgraph.webicons","feedburner","web icons icon").join(" ")),
-this.createVertexTemplateEntry(a+"flickr;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Flickr",null,null,this.getTagsForStencil("mxgraph.webicons","flickr","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"folkd;fillColor=#27A2E9;gradientColor=#0A2977",102.4,102.4,"","Folkd",null,null,this.getTagsForStencil("mxgraph.webicons","folkd","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"forrst;fillColor=#3E6B32;gradientColor=#111C0D",102.4,102.4,"","Forrst",null,null,
-this.getTagsForStencil("mxgraph.webicons","forrst","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"fotolog;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Fotolog",null,null,this.getTagsForStencil("mxgraph.webicons","fotolog","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"freshbump;fillColor=#695D5D;gradientColor=#100E0E",102.4,102.4,"","Freshbump",null,null,this.getTagsForStencil("mxgraph.webicons","freshbump","web icons icon").join(" ")),this.createVertexTemplateEntry(a+
-"fresqui;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Fresqui",null,null,this.getTagsForStencil("mxgraph.webicons","fresqui","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"friendfeed;fillColor=#7BDCEF;gradientColor=#21379E",102.4,102.4,"","Friendfeed",null,null,this.getTagsForStencil("mxgraph.webicons","fiendfeed","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"funp;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Funp",null,null,this.getTagsForStencil("mxgraph.webicons",
-"funp","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"fwisp;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Fwisp",null,null,this.getTagsForStencil("mxgraph.webicons","fwisp","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"gabbr;fillColor=#FBAC39;gradientColor=#EA2B0E",102.4,102.4,"","Gabbr",null,null,this.getTagsForStencil("mxgraph.webicons","gabbr","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"gamespot;fillColor=#695D5D;gradientColor=#100E0E",
-102.4,102.4,"","Gamespot",null,null,this.getTagsForStencil("mxgraph.webicons","gamespot","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"github;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Github",null,null,this.getTagsForStencil("mxgraph.webicons","github","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"gmail;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Gmail",null,null,this.getTagsForStencil("mxgraph.webicons","gmail","web icons icon").join(" ")),
-this.createVertexTemplateEntry(a+"google;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Google",null,null,this.getTagsForStencil("mxgraph.webicons","google","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"google_drive;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Google Drive",null,null,this.getTagsForStencil("mxgraph.webicons","google drive","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"google_hangout;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,
-102.4,"","Google Hangout",null,null,this.getTagsForStencil("mxgraph.webicons","google hangout","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"google_play;fillColor=#000000",69.4,20.6,"","Google Play",null,null,this.getTagsForStencil("mxgraph.webicons","google play","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"google_play_light;fillColor=#66E8F3;gradientColor=#1C7CBA",60,10.4,"","Google Play Light",null,null,this.getTagsForStencil("mxgraph.webicons","google play light",
-"web icons icon").join(" ")),this.createVertexTemplateEntry(a+"google_photos;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Google Photos",null,null,this.getTagsForStencil("mxgraph.webicons","google photos","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"google_plus;fillColor=#F24B46;gradientColor=#AD3832",102.4,102.4,"","Google Plus",null,null,this.getTagsForStencil("mxgraph.webicons","google plus","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"grooveshark;fillColor=#695D5D;gradientColor=#000000",
-102.4,102.4,"","Grooveshark",null,null,this.getTagsForStencil("mxgraph.webicons","grooveshark","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"hatena;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Hatena",null,null,this.getTagsForStencil("mxgraph.webicons","hatena","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"html5;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","HTML5",null,null,this.getTagsForStencil("mxgraph.webicons","html5 html","web icons icon").join(" ")),
-this.createVertexTemplateEntry(a+"identi.ca;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Identi.ca",null,null,this.getTagsForStencil("mxgraph.webicons","identi.ca","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"instagram;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Instagram",null,null,this.getTagsForStencil("mxgraph.webicons","instagram","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"instapaper;fillColor=#807E7E;gradientColor=#1B1C1C",102.4,
-102.4,"","Instapaper",null,null,this.getTagsForStencil("mxgraph.webicons","instapaper","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"ios;fillColor=#695D5D;gradientColor=#100E0E",102.4,102.4,"","iOS",null,null,this.getTagsForStencil("mxgraph.webicons","ios","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"jamespot;fillColor=#695D5D;gradientColor=#100E0E",102.4,102.4,"","Jamespot",null,null,this.getTagsForStencil("mxgraph.webicons","jamespot","web icons icon").join(" ")),
-this.createVertexTemplateEntry(a+"java;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Java",null,null,this.getTagsForStencil("mxgraph.webicons","java","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"joomla;fillColor=#1F457D;gradientColor=#081220",102.4,102.4,"","Joomla",null,null,this.getTagsForStencil("mxgraph.webicons","joomla","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"jquery;fillColor=#0BB9EA;gradientColor=#032F80",102.4,102.4,"","Jquery",null,null,
-this.getTagsForStencil("mxgraph.webicons","jquery","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"json;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","JSON",null,null,this.getTagsForStencil("mxgraph.webicons","json","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"json_2;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","JSON",null,null,this.getTagsForStencil("mxgraph.webicons","json","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"last.fm;fillColor=#F33543;gradientColor=#BD0E11",
-102.4,102.4,"","Last.fm",null,null,this.getTagsForStencil("mxgraph.webicons","last.fm last fm","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"linkagogo;fillColor=#F6F5FA;gradientColor=#C8C1E1",102.4,102.4,"","Linkagogo",null,null,this.getTagsForStencil("mxgraph.webicons","linkagogo","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"linkedin;fillColor=#0095DB;gradientColor=#006391",102.4,102.4,"","LinkedIn",null,null,this.getTagsForStencil("mxgraph.webicons","linkedin",
-"web icons icon").join(" ")),this.createVertexTemplateEntry(a+"livejournal;fillColor=#2690E5;gradientColor=#0A2463",102.4,102.4,"","Livejournal",null,null,this.getTagsForStencil("mxgraph.webicons","livejournal","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"mail.ru;fillColor=#267BE0;gradientColor=#0A1F42",102.4,102.4,"","Mail.ru",null,null,this.getTagsForStencil("mxgraph.webicons","mail.ru","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"meetup;fillColor=#F83263;gradientColor=#D40D19",
-102.4,102.4,"","Meetup",null,null,this.getTagsForStencil("mxgraph.webicons","meetup","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"meneame;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Meneame",null,null,this.getTagsForStencil("mxgraph.webicons","meneame","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"messenger;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Messenger",null,null,this.getTagsForStencil("mxgraph.webicons","messenger","web icons icon").join(" ")),
-this.createVertexTemplateEntry(a+"messenger_2;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Messenger",null,null,this.getTagsForStencil("mxgraph.webicons","messenger","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"messenger_3;fillColor=#09BEFC;gradientColor=#0060FA",102.4,102.4,"","Messenger",null,null,this.getTagsForStencil("mxgraph.webicons","messenger","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"mind_body_green;fillColor=#E0EEF8;gradientColor=#4496D5",
-102.4,102.4,"","Mind Body Green",null,null,this.getTagsForStencil("mxgraph.webicons","mind body green","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"mongodb;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","MongoDb",null,null,this.getTagsForStencil("mxgraph.webicons","mongodb","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"myspace;fillColor=#3C69E2;gradientColor=#101B54",102.4,102.4,"","MySpace",null,null,this.getTagsForStencil("mxgraph.webicons","myspace",
-"web icons icon").join(" ")),this.createVertexTemplateEntry(a+"n4g;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","N4g",null,null,this.getTagsForStencil("mxgraph.webicons","n4g","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"netlog;fillColor=#FA3743;gradientColor=#E10E11",102.4,102.4,"","Netlog",null,null,this.getTagsForStencil("mxgraph.webicons","netlog","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"netvibes;fillColor=#99DB00;gradientColor=#638E00",102.4,
-102.4,"","Netvibes",null,null,this.getTagsForStencil("mxgraph.webicons","netvibes","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"netvouz;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Netvouz",null,null,this.getTagsForStencil("mxgraph.webicons","netvouz","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"networkedblogs;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Networkedblogs",null,null,this.getTagsForStencil("mxgraph.webicons","networkedblogs",
-"web icons icon").join(" ")),this.createVertexTemplateEntry(a+"newsvine;fillColor=#008733;gradientColor=#00441B",102.4,102.4,"","Newsvine",null,null,this.getTagsForStencil("mxgraph.webicons","newsvine","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"odnoklassniki;fillColor=#FDE15A;gradientColor=#F24317",102.4,102.4,"","Odnoklassniki",null,null,this.getTagsForStencil("mxgraph.webicons","odnoklassniki","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"oknotizie;fillColor=#FFFFFF;gradientColor=#DFDEDE",
-102.4,102.4,"","Oknotizie",null,null,this.getTagsForStencil("mxgraph.webicons","oknotizie","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"onedrive;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","OneDrive",null,null,this.getTagsForStencil("mxgraph.webicons","onedrive","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"oracle;fillColor=#FA3743;gradientColor=#E10E11",102.4,102.4,"","Oracle",null,null,this.getTagsForStencil("mxgraph.webicons","oracle","web icons icon").join(" ")),
-this.createVertexTemplateEntry(a+"paypal;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Paypal",null,null,this.getTagsForStencil("mxgraph.webicons","paypal","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"phone;fillColor=#76F21E;gradientColor=#079704",102.4,102.4,"","Phone",null,null,this.getTagsForStencil("mxgraph.webicons","phone","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"phonefavs;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Phonefavs",
-null,null,this.getTagsForStencil("mxgraph.webicons","phonefavs","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"pinterest;fillColor=#E50B28;gradientColor=#890616",102.4,102.4,"","Pinterest",null,null,this.getTagsForStencil("mxgraph.webicons","pinterest","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"plaxo;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Plaxo",null,null,this.getTagsForStencil("mxgraph.webicons","plaxo","web icons icon").join(" ")),this.createVertexTemplateEntry(a+
-"playfire;fillColor=#695D5D;gradientColor=#100E0E",102.4,102.4,"","Playfire",null,null,this.getTagsForStencil("mxgraph.webicons","playfire","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"plurk;fillColor=#FF5656;gradientColor=#A8312D",102.4,102.4,"","Plurk",null,null,this.getTagsForStencil("mxgraph.webicons","plurk","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"pocket;fillColor=#FF4460;gradientColor=#B73143",102.4,102.4,"","Pocket",null,null,this.getTagsForStencil("mxgraph.webicons",
-"pocket","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"protopage;fillColor=#4B78C0;gradientColor=#294282",102.4,102.4,"","Protopage",null,null,this.getTagsForStencil("mxgraph.webicons","protopage","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"readernaut;fillColor=#695D5D;gradientColor=#100E0E",102.4,102.4,"","Readernaut",null,null,this.getTagsForStencil("mxgraph.webicons","readernaut","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"reddit;fillColor=#F3F8FC;gradientColor=#B4D2F0",
-102.4,102.4,"","Reddit",null,null,this.getTagsForStencil("mxgraph.webicons","reddit","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"rss;fillColor=#FDE532;gradientColor=#F4600D",102.4,102.4,"","RSS",null,null,this.getTagsForStencil("mxgraph.webicons","rss","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"scoopit;fillColor=#8CD845;gradientColor=#4E7A27",102.4,102.4,"","Scoopit",null,null,this.getTagsForStencil("mxgraph.webicons","scoopit","web icons icon").join(" ")),this.createVertexTemplateEntry(a+
-"scribd;fillColor=#1D637D;gradientColor=#071920",102.4,102.4,"","Scribd",null,null,this.getTagsForStencil("mxgraph.webicons","scribd","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"segnalo;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Segnalo",null,null,this.getTagsForStencil("mxgraph.webicons","segnalo","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"sina;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Sina",null,null,this.getTagsForStencil("mxgraph.webicons",
-"sina","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"sitejot;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Sitejot",null,null,this.getTagsForStencil("mxgraph.webicons","sitejot","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"skype;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Skype",null,null,this.getTagsForStencil("mxgraph.webicons","skype","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"skyrock;fillColor=#47B8FF;gradientColor=#006AAD",
-102.4,102.4,"","Skyrock",null,null,this.getTagsForStencil("mxgraph.webicons","skyrock","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"slashdot;fillColor=#03B2AC;gradientColor=#012C2C",102.4,102.4,"","Slashdot",null,null,this.getTagsForStencil("mxgraph.webicons","slashdot","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"sms;fillColor=#86D466;gradientColor=#42B418",102.4,102.4,"","SMS",null,null,this.getTagsForStencil("mxgraph.webicons","sms","web icons icon").join(" ")),
-this.createVertexTemplateEntry(a+"socialvibe;fillColor=#FA16E2;gradientColor=#DF064B",102.4,102.4,"","Socialvibe",null,null,this.getTagsForStencil("mxgraph.webicons","socialvibe","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"society6;fillColor=#695D5D;gradientColor=#100E0E",102.4,102.4,"","Society6",null,null,this.getTagsForStencil("mxgraph.webicons","society6","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"sonico;fillColor=#3FEAF6;gradientColor=#117EC9",102.4,102.4,
-"","Sonico",null,null,this.getTagsForStencil("mxgraph.webicons","sonico","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"soundcloud;fillColor=#F78E11;gradientColor=#F93A0E",102.4,102.4,"","Soundcloud",null,null,this.getTagsForStencil("mxgraph.webicons","soundcloud","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"sourceforge;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Sourceforge",null,null,this.getTagsForStencil("mxgraph.webicons","sourceforge","web icons icon").join(" ")),
-this.createVertexTemplateEntry(a+"sourceforge_2;fillColor=#0078AF;gradientColor=#00385E",102.4,102.4,"","Sourceforge",null,null,this.getTagsForStencil("mxgraph.webicons","sourceforge","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"spring.me;fillColor=#3CBEF2;gradientColor=#2B8AAF",102.4,102.4,"","Spring.me",null,null,this.getTagsForStencil("mxgraph.webicons","spring me","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"stackexchange;fillColor=#FFFFFF;gradientColor=#DFDEDE",
-102.4,102.4,"","Stackexchange",null,null,this.getTagsForStencil("mxgraph.webicons","stackexchange stack exchange","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"stackoverflow;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","StackOverflow",null,null,this.getTagsForStencil("mxgraph.webicons","stackoverflow stack overflow","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"startaid;fillColor=#47B0E5;gradientColor=#2F7599",102.4,102.4,"","Startaid",null,null,this.getTagsForStencil("mxgraph.webicons",
-"startaid","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"startlap;fillColor=#B9E6F0;gradientColor=#3062A2",102.4,102.4,"","Startlap",null,null,this.getTagsForStencil("mxgraph.webicons","startlap","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"steam;fillColor=#695D5D;gradientColor=#100E0E",102.4,102.4,"","Steam",null,null,this.getTagsForStencil("mxgraph.webicons","steam","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"stumbleupon;fillColor=#FA823C;gradientColor=#E12110",
-102.4,102.4,"","StumbleUpon",null,null,this.getTagsForStencil("mxgraph.webicons","stumbleupon","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"stumpedia;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Stumpedia",null,null,this.getTagsForStencil("mxgraph.webicons","stumpedia","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"technorati;fillColor=#99EC92;gradientColor=#288925",102.4,102.4,"","Technorati",null,null,this.getTagsForStencil("mxgraph.webicons","technorati",
-"web icons icon").join(" ")),this.createVertexTemplateEntry(a+"translate;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Translate",null,null,this.getTagsForStencil("mxgraph.webicons","translate","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"tumblr;fillColor=#588BBC;gradientColor=#172330",102.4,102.4,"","Tumblr",null,null,this.getTagsForStencil("mxgraph.webicons","tumblr","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"tunein;fillColor=#FFFFFF;gradientColor=#DFDEDE",
-102.4,102.4,"","Tunein",null,null,this.getTagsForStencil("mxgraph.webicons","tunein","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"twitter;fillColor=#49EAF7;gradientColor=#137BD0",102.4,102.4,"","Twitter",null,null,this.getTagsForStencil("mxgraph.webicons","twitter","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"two;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Two",null,null,this.getTagsForStencil("mxgraph.webicons","two","web icons icon").join(" ")),this.createVertexTemplateEntry(a+
-"typepad;fillColor=#CBD372;gradientColor=#818748",102.4,102.4,"","Typepad",null,null,this.getTagsForStencil("mxgraph.webicons","typepad","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"viadeo;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Viadeo",null,null,this.getTagsForStencil("mxgraph.webicons","viadeo","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"viber;fillColor=#9964C4;gradientColor=#52366B",102.4,102.4,"","Viber",null,null,this.getTagsForStencil("mxgraph.webicons",
-"viber","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"viddler;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Viddler",null,null,this.getTagsForStencil("mxgraph.webicons","viddler","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"vimeo;fillColor=#A4EDF9;gradientColor=#2B8ED9",102.4,102.4,"","Vimeo",null,null,this.getTagsForStencil("mxgraph.webicons","vimeo","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"virb;fillColor=#536873;gradientColor=#161A1D",
-102.4,102.4,"","Virb",null,null,this.getTagsForStencil("mxgraph.webicons","virb","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"vkontakte;fillColor=#5F94CC;gradientColor=#39587A",102.4,102.4,"","Vkontakte",null,null,this.getTagsForStencil("mxgraph.webicons","vkontakte","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"wakoopa;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Wakoopa",null,null,this.getTagsForStencil("mxgraph.webicons","wakoopa","web icons icon").join(" ")),
-this.createVertexTemplateEntry(a+"weheartit;fillColor=#FF7AA2;gradientColor=#FF4577",102.4,102.4,"","Weheartit",null,null,this.getTagsForStencil("mxgraph.webicons","weheartit","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"whatsapp;fillColor=#4FE238;gradientColor=#138709",102.4,102.4,"","Whatsapp",null,null,this.getTagsForStencil("mxgraph.webicons","whatsapp","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"wix;fillColor=#8AE3F2;gradientColor=#2451B0",102.4,102.4,"",
-"Wix",null,null,this.getTagsForStencil("mxgraph.webicons","wix","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"wordpress;fillColor=#35E2EE;gradientColor=#0E4D99",102.4,102.4,"","Wordpress",null,null,this.getTagsForStencil("mxgraph.webicons","wordpress","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"wordpress_2;fillColor=#35E2EE;gradientColor=#0E4D99",102.4,102.4,"","Wordpress",null,null,this.getTagsForStencil("mxgraph.webicons","wordpress","web icons icon").join(" ")),
-this.createVertexTemplateEntry(a+"xanga;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Xanga",null,null,this.getTagsForStencil("mxgraph.webicons","xanga","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"xerpi;fillColor=#7F719B;gradientColor=#32264B",102.4,102.4,"","Xerpi",null,null,this.getTagsForStencil("mxgraph.webicons","xerpi","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"xing;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Xing",null,null,this.getTagsForStencil("mxgraph.webicons",
-"xing","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"yahoo;fillColor=#AC37AE;gradientColor=#2E0E2D",102.4,102.4,"","Yahoo",null,null,this.getTagsForStencil("mxgraph.webicons","yahoo","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"yahoo_2;fillColor=#AC37AE;gradientColor=#2E0E2D",102.4,102.4,"","Yahoo",null,null,this.getTagsForStencil("mxgraph.webicons","yahoo","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"yammer;fillColor=#00AFE0;gradientColor=#005F7A",
-102.4,102.4,"","Yammer",null,null,this.getTagsForStencil("mxgraph.webicons","yammer","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"yandex;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Yandex",null,null,this.getTagsForStencil("mxgraph.webicons","yandex","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"yelp;fillColor=#EF5140;gradientColor=#9C1410",102.4,102.4,"","Yelp",null,null,this.getTagsForStencil("mxgraph.webicons","yelp","web icons icon").join(" ")),this.createVertexTemplateEntry(a+
-"yoolink;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Yoolink",null,null,this.getTagsForStencil("mxgraph.webicons","yoolink","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"youmob;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Youmob",null,null,this.getTagsForStencil("mxgraph.webicons","youmob","web icons icon").join(" "))])};Sidebar.prototype.addWebLogosPalette=function(){var a="dashed=0;html=1;"+mxConstants.STYLE_SHAPE+"=mxgraph.weblogos.";this.addPaletteFunctions("weblogos",
-"Web Logos",!1,[this.createVertexTemplateEntry(a+"adfty;fillColor=#66E8F3;gradientColor=#1C7CBA",91.2,.2*458,"","Adfty",null,null,this.getTagsForStencil("mxgraph.weblogos","adfty","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"adobe_pdf;fillColor=#A60908",69.4,.2*338,"","Adobe PDF",null,null,this.getTagsForStencil("mxgraph.weblogos","adobe pdf","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"aim",.2*312,68.4,"","Aim",null,null,this.getTagsForStencil("mxgraph.weblogos",
+"Veeam / 3D",!1,mxUtils.bind(this,function(d){for(var e=0;e<a.length;e++)d.appendChild(a[e](d))}))}})();(function(){Sidebar.prototype.addWebIconsPalette=function(){var a="dashed=0;html=1;align=center;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;"+mxConstants.STYLE_SHAPE+"=mxgraph.webicons.";this.addPaletteFunctions("webicons","Web Icons",!1,[this.createVertexTemplateEntry(a+"adfty;fillColor=#66E8F3;gradientColor=#1C7CBA",102.4,102.4,"","Adfty",null,null,this.getTagsForStencil("mxgraph.webicons","adfty","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"adobe_pdf;fillColor=#F40C0C;gradientColor=#610603",
+102.4,102.4,"","Adobe PDF",null,null,this.getTagsForStencil("mxgraph.webicons","adobe pdf","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"aim;fillColor=#27E1E5;gradientColor=#0A4361",102.4,102.4,"","Aim",null,null,this.getTagsForStencil("mxgraph.webicons","aim","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"allvoices;fillColor=#807E7E;gradientColor=#1B1C1C",102.4,102.4,"","Allvoices",null,null,this.getTagsForStencil("mxgraph.webicons","allvoices","web icons icon").join(" ")),
+this.createVertexTemplateEntry(a+"amazon;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Amazon",null,null,this.getTagsForStencil("mxgraph.webicons","amazon","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"amazon_2;fillColor=#605658;gradientColor=#231F20",102.4,102.4,"","Amazon",null,null,this.getTagsForStencil("mxgraph.webicons","amazon","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"android;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Android",
+null,null,this.getTagsForStencil("mxgraph.webicons","android","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"apache;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Apache",null,null,this.getTagsForStencil("mxgraph.webicons","apache db database","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"apple;fillColor=#807E7E;gradientColor=#1B1C1C",102.4,102.4,"","Apple",null,null,this.getTagsForStencil("mxgraph.webicons","apple","web icons icon").join(" ")),this.createVertexTemplateEntry(a+
+"apple_classic;fillColor=#66E8F3;gradientColor=#1C7CBA",102.4,102.4,"","Apple (classic)",null,null,this.getTagsForStencil("mxgraph.webicons","apple classic","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"arduino;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Arduino",null,null,this.getTagsForStencil("mxgraph.webicons","arduino","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"ask;fillColor=#F33543;gradientColor=#B50E11",102.4,102.4,"","Ask",null,null,this.getTagsForStencil("mxgraph.webicons",
+"ask","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"atlassian;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Atlassian",null,null,this.getTagsForStencil("mxgraph.webicons","atlassian","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"audioboo;fillColor=#EB35CF;gradientColor=#8C0E35",102.4,102.4,"","Audioboo",null,null,this.getTagsForStencil("mxgraph.webicons","audioboo","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"aws;fillColor=#FFFFFF;gradientColor=#DFDEDE",
+102.4,102.4,"","AWS",null,null,this.getTagsForStencil("mxgraph.webicons","aws amazon web service","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"aws_s3;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","AWS S3",null,null,this.getTagsForStencil("mxgraph.webicons","aws s3 amazon web service","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"baidu;fillColor=#738FE8;gradientColor=#1F2470",102.4,102.4,"","Baidu",null,null,this.getTagsForStencil("mxgraph.webicons","baidu",
+"web icons icon").join(" ")),this.createVertexTemplateEntry(a+"bebo;fillColor=#695D5D;gradientColor=#100E0E",102.4,102.4,"","Bebo",null,null,this.getTagsForStencil("mxgraph.webicons","bebo","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"behance;fillColor=#695D5D;gradientColor=#100E0E",102.4,102.4,"","Behance",null,null,this.getTagsForStencil("mxgraph.webicons","behance","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"bing;fillColor=#0A776E;gradientColor=#053D39",102.4,
+102.4,"","Bing",null,null,this.getTagsForStencil("mxgraph.webicons","bing","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"bitbucket;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Bitbucket",null,null,this.getTagsForStencil("mxgraph.webicons","bitbucket","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"blinklist;fillColor=#695D5D;gradientColor=#100E0E",102.4,102.4,"","Blinklist",null,null,this.getTagsForStencil("mxgraph.webicons","blinklist","web icons icon").join(" ")),
+this.createVertexTemplateEntry(a+"blogger;fillColor=#FDE47C;gradientColor=#F55F21",102.4,102.4,"","Blogger",null,null,this.getTagsForStencil("mxgraph.webicons","blogger","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"blogmarks;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Blogmarks",null,null,this.getTagsForStencil("mxgraph.webicons","blogmarks","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"bookmarks.fr;fillColor=#F9FAF4;gradientColor=#DCDFBB",102.4,102.4,
+"","Bookmarks.fr",null,null,this.getTagsForStencil("mxgraph.webicons","bookmarks.fr","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"box;fillColor=#4CDFEF;gradientColor=#153EA0",102.4,102.4,"","Box",null,null,this.getTagsForStencil("mxgraph.webicons","box","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"buddymarks;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Buddymarks",null,null,this.getTagsForStencil("mxgraph.webicons","buddymarks","web icons icon").join(" ")),
+this.createVertexTemplateEntry(a+"buffer;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Buffer",null,null,this.getTagsForStencil("mxgraph.webicons","buffer","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"buzzfeed;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Buzzfeed",null,null,this.getTagsForStencil("mxgraph.webicons","buzzfeed","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"chrome;fillColor=#FFFFFF;gradientColor=#DFDEDE",103.2,104,"","Chrome",
+null,null,this.getTagsForStencil("mxgraph.webicons","chrome","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"citeulike;fillColor=#ACD65E;gradientColor=#2E3618",102.4,102.4,"","Citeulike",null,null,this.getTagsForStencil("mxgraph.webicons","citeulike","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"confluence;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Confluence",null,null,this.getTagsForStencil("mxgraph.webicons","confluence","web icons icon").join(" ")),
+this.createVertexTemplateEntry(a+"connotea;fillColor=#E9FDFC;gradientColor=#BADBE9",102.4,102.4,"","Connotea",null,null,this.getTagsForStencil("mxgraph.webicons","connotea","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"dealsplus;fillColor=#B569B5;gradientColor=#7A467A",102.4,102.4,"","Dealsplus",null,null,this.getTagsForStencil("mxgraph.webicons","dealsplus","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"delicious",102.4,102.4,"","Delicious",null,null,this.getTagsForStencil("mxgraph.webicons",
+"delicious","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"designfloat;fillColor=#247BE0;gradientColor=#0A1F42",102.4,102.4,"","Designfloat",null,null,this.getTagsForStencil("mxgraph.webicons","designfloat","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"deviantart;fillColor=#00C659;gradientColor=#00813B",102.4,102.4,"","Deviantart",null,null,this.getTagsForStencil("mxgraph.webicons","deviantart","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"digg;fillColor=#FFFFFF;gradientColor=#DFDEDE",
+102.4,102.4,"","Digg",null,null,this.getTagsForStencil("mxgraph.webicons","digg","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"diigo;fillColor=#2C7DE0;gradientColor=#1E5599",102.4,102.4,"","Diigo",null,null,this.getTagsForStencil("mxgraph.webicons","diiigo","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"dopplr;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Dopplr",null,null,this.getTagsForStencil("mxgraph.webicons","dopplr","web icons icon").join(" ")),this.createVertexTemplateEntry(a+
+"drawio2;fillColor=#2174CE;gradientColor=#134277",102.4,102.4,"","Draw.io",null,null,this.getTagsForStencil("mxgraph.webicons","drawio draw io draw.io","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"dribbble;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Dribbble",null,null,this.getTagsForStencil("mxgraph.webicons","dribbble","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"dropbox;fillColor=#0BAAFE;gradientColor=#0080E6",102.4,102.4,"","Dropbox",null,null,
+this.getTagsForStencil("mxgraph.webicons","dropbox","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"dropbox2;fillColor=#2FB8FC;gradientColor=#0080E6",102.4,102.4,"","Dropbox",null,null,this.getTagsForStencil("mxgraph.webicons","dropbox","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"drupal;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Drupal",null,null,this.getTagsForStencil("mxgraph.webicons","drupal","web icons icon").join(" ")),this.createVertexTemplateEntry(a+
+"dzone;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Dzone",null,null,this.getTagsForStencil("mxgraph.webicons","dzone","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"ebay;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Ebay",null,null,this.getTagsForStencil("mxgraph.webicons","ebay","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"edmodo;fillColor=#2F81CE;gradientColor=#1F5487",102.4,102.4,"","Edmodo",null,null,this.getTagsForStencil("mxgraph.webicons",
+"edmodo","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"evernote;fillColor=#D4EF75;gradientColor=#399F1F",102.4,102.4,"","Evernote",null,null,this.getTagsForStencil("mxgraph.webicons","evernote","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"facebook;fillColor=#6294E4;gradientColor=#1A2665",102.4,102.4,"","Facebook",null,null,this.getTagsForStencil("mxgraph.webicons","facebook","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"fancy;fillColor=#C3ECF8;gradientColor=#348DD4",
+102.4,102.4,"","Fancy",null,null,this.getTagsForStencil("mxgraph.webicons","fancy","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"fark;fillColor=#EBEBF1;gradientColor=#8482A7",102.4,102.4,"","Fark",null,null,this.getTagsForStencil("mxgraph.webicons","fark","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"fashiolista;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Fashiolista",null,null,this.getTagsForStencil("mxgraph.webicons","fashiolista","web icons icon").join(" ")),
+this.createVertexTemplateEntry(a+"feed;fillColor=#FFAC75;gradientColor=#FF6600",102.4,102.4,"","Feed",null,null,this.getTagsForStencil("mxgraph.webicons","feed","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"feedburner;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Feedburner",null,null,this.getTagsForStencil("mxgraph.webicons","feedburner","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"flickr;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Flickr",
+null,null,this.getTagsForStencil("mxgraph.webicons","flickr","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"folkd;fillColor=#27A2E9;gradientColor=#0A2977",102.4,102.4,"","Folkd",null,null,this.getTagsForStencil("mxgraph.webicons","folkd","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"forrst;fillColor=#3E6B32;gradientColor=#111C0D",102.4,102.4,"","Forrst",null,null,this.getTagsForStencil("mxgraph.webicons","forrst","web icons icon").join(" ")),this.createVertexTemplateEntry(a+
+"fotolog;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Fotolog",null,null,this.getTagsForStencil("mxgraph.webicons","fotolog","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"freshbump;fillColor=#695D5D;gradientColor=#100E0E",102.4,102.4,"","Freshbump",null,null,this.getTagsForStencil("mxgraph.webicons","freshbump","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"fresqui;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Fresqui",null,null,this.getTagsForStencil("mxgraph.webicons",
+"fresqui","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"friendfeed;fillColor=#7BDCEF;gradientColor=#21379E",102.4,102.4,"","Friendfeed",null,null,this.getTagsForStencil("mxgraph.webicons","fiendfeed","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"funp;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Funp",null,null,this.getTagsForStencil("mxgraph.webicons","funp","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"fwisp;fillColor=#FFFFFF;gradientColor=#DFDEDE",
+102.4,102.4,"","Fwisp",null,null,this.getTagsForStencil("mxgraph.webicons","fwisp","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"gabbr;fillColor=#FBAC39;gradientColor=#EA2B0E",102.4,102.4,"","Gabbr",null,null,this.getTagsForStencil("mxgraph.webicons","gabbr","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"gamespot;fillColor=#695D5D;gradientColor=#100E0E",102.4,102.4,"","Gamespot",null,null,this.getTagsForStencil("mxgraph.webicons","gamespot","web icons icon").join(" ")),
+this.createVertexTemplateEntry(a+"github;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Github",null,null,this.getTagsForStencil("mxgraph.webicons","github","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"gmail;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Gmail",null,null,this.getTagsForStencil("mxgraph.webicons","gmail","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"google;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Google",null,null,
+this.getTagsForStencil("mxgraph.webicons","google","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"google_drive;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Google Drive",null,null,this.getTagsForStencil("mxgraph.webicons","google drive","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"google_hangout;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Google Hangout",null,null,this.getTagsForStencil("mxgraph.webicons","google hangout","web icons icon").join(" ")),
+this.createVertexTemplateEntry(a+"google_play;fillColor=#000000",69.4,20.6,"","Google Play",null,null,this.getTagsForStencil("mxgraph.webicons","google play","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"google_play_light;fillColor=#66E8F3;gradientColor=#1C7CBA",60,10.4,"","Google Play Light",null,null,this.getTagsForStencil("mxgraph.webicons","google play light","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"google_photos;fillColor=#FFFFFF;gradientColor=#DFDEDE",
+102.4,102.4,"","Google Photos",null,null,this.getTagsForStencil("mxgraph.webicons","google photos","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"google_plus;fillColor=#F24B46;gradientColor=#AD3832",102.4,102.4,"","Google Plus",null,null,this.getTagsForStencil("mxgraph.webicons","google plus","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"grooveshark;fillColor=#695D5D;gradientColor=#000000",102.4,102.4,"","Grooveshark",null,null,this.getTagsForStencil("mxgraph.webicons",
+"grooveshark","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"hatena;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Hatena",null,null,this.getTagsForStencil("mxgraph.webicons","hatena","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"html5;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","HTML5",null,null,this.getTagsForStencil("mxgraph.webicons","html5 html","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"identi.ca;fillColor=#FFFFFF;gradientColor=#DFDEDE",
+102.4,102.4,"","Identi.ca",null,null,this.getTagsForStencil("mxgraph.webicons","identi.ca","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"instagram;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Instagram",null,null,this.getTagsForStencil("mxgraph.webicons","instagram","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"instapaper;fillColor=#807E7E;gradientColor=#1B1C1C",102.4,102.4,"","Instapaper",null,null,this.getTagsForStencil("mxgraph.webicons","instapaper",
+"web icons icon").join(" ")),this.createVertexTemplateEntry(a+"ios;fillColor=#695D5D;gradientColor=#100E0E",102.4,102.4,"","iOS",null,null,this.getTagsForStencil("mxgraph.webicons","ios","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"jamespot;fillColor=#695D5D;gradientColor=#100E0E",102.4,102.4,"","Jamespot",null,null,this.getTagsForStencil("mxgraph.webicons","jamespot","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"java;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,
+102.4,"","Java",null,null,this.getTagsForStencil("mxgraph.webicons","java","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"joomla;fillColor=#1F457D;gradientColor=#081220",102.4,102.4,"","Joomla",null,null,this.getTagsForStencil("mxgraph.webicons","joomla","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"jquery;fillColor=#0BB9EA;gradientColor=#032F80",102.4,102.4,"","Jquery",null,null,this.getTagsForStencil("mxgraph.webicons","jquery","web icons icon").join(" ")),this.createVertexTemplateEntry(a+
+"json;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","JSON",null,null,this.getTagsForStencil("mxgraph.webicons","json","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"json_2;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","JSON",null,null,this.getTagsForStencil("mxgraph.webicons","json","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"last.fm;fillColor=#F33543;gradientColor=#BD0E11",102.4,102.4,"","Last.fm",null,null,this.getTagsForStencil("mxgraph.webicons",
+"last.fm last fm","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"linkagogo;fillColor=#F6F5FA;gradientColor=#C8C1E1",102.4,102.4,"","Linkagogo",null,null,this.getTagsForStencil("mxgraph.webicons","linkagogo","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"linkedin;fillColor=#0095DB;gradientColor=#006391",102.4,102.4,"","LinkedIn",null,null,this.getTagsForStencil("mxgraph.webicons","linkedin","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"livejournal;fillColor=#2690E5;gradientColor=#0A2463",
+102.4,102.4,"","Livejournal",null,null,this.getTagsForStencil("mxgraph.webicons","livejournal","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"mail.ru;fillColor=#267BE0;gradientColor=#0A1F42",102.4,102.4,"","Mail.ru",null,null,this.getTagsForStencil("mxgraph.webicons","mail.ru","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"meetup;fillColor=#F83263;gradientColor=#D40D19",102.4,102.4,"","Meetup",null,null,this.getTagsForStencil("mxgraph.webicons","meetup","web icons icon").join(" ")),
+this.createVertexTemplateEntry(a+"meneame;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Meneame",null,null,this.getTagsForStencil("mxgraph.webicons","meneame","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"messenger;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Messenger",null,null,this.getTagsForStencil("mxgraph.webicons","messenger","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"messenger_2;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,
+"","Messenger",null,null,this.getTagsForStencil("mxgraph.webicons","messenger","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"messenger_3;fillColor=#09BEFC;gradientColor=#0060FA",102.4,102.4,"","Messenger",null,null,this.getTagsForStencil("mxgraph.webicons","messenger","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"mind_body_green;fillColor=#E0EEF8;gradientColor=#4496D5",102.4,102.4,"","Mind Body Green",null,null,this.getTagsForStencil("mxgraph.webicons","mind body green",
+"web icons icon").join(" ")),this.createVertexTemplateEntry(a+"mongodb;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","MongoDb",null,null,this.getTagsForStencil("mxgraph.webicons","mongodb","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"myspace;fillColor=#3C69E2;gradientColor=#101B54",102.4,102.4,"","MySpace",null,null,this.getTagsForStencil("mxgraph.webicons","myspace","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"n4g;fillColor=#FFFFFF;gradientColor=#DFDEDE",
+102.4,102.4,"","N4g",null,null,this.getTagsForStencil("mxgraph.webicons","n4g","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"netlog;fillColor=#FA3743;gradientColor=#E10E11",102.4,102.4,"","Netlog",null,null,this.getTagsForStencil("mxgraph.webicons","netlog","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"netvibes;fillColor=#99DB00;gradientColor=#638E00",102.4,102.4,"","Netvibes",null,null,this.getTagsForStencil("mxgraph.webicons","netvibes","web icons icon").join(" ")),
+this.createVertexTemplateEntry(a+"netvouz;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Netvouz",null,null,this.getTagsForStencil("mxgraph.webicons","netvouz","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"networkedblogs;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Networkedblogs",null,null,this.getTagsForStencil("mxgraph.webicons","networkedblogs","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"newsvine;fillColor=#008733;gradientColor=#00441B",
+102.4,102.4,"","Newsvine",null,null,this.getTagsForStencil("mxgraph.webicons","newsvine","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"odnoklassniki;fillColor=#FDE15A;gradientColor=#F24317",102.4,102.4,"","Odnoklassniki",null,null,this.getTagsForStencil("mxgraph.webicons","odnoklassniki","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"oknotizie;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Oknotizie",null,null,this.getTagsForStencil("mxgraph.webicons","oknotizie",
+"web icons icon").join(" ")),this.createVertexTemplateEntry(a+"onedrive;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","OneDrive",null,null,this.getTagsForStencil("mxgraph.webicons","onedrive","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"oracle;fillColor=#FA3743;gradientColor=#E10E11",102.4,102.4,"","Oracle",null,null,this.getTagsForStencil("mxgraph.webicons","oracle","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"paypal;fillColor=#FFFFFF;gradientColor=#DFDEDE",
+102.4,102.4,"","Paypal",null,null,this.getTagsForStencil("mxgraph.webicons","paypal","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"phone;fillColor=#76F21E;gradientColor=#079704",102.4,102.4,"","Phone",null,null,this.getTagsForStencil("mxgraph.webicons","phone","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"phonefavs;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Phonefavs",null,null,this.getTagsForStencil("mxgraph.webicons","phonefavs","web icons icon").join(" ")),
+this.createVertexTemplateEntry(a+"pinterest;fillColor=#E50B28;gradientColor=#890616",102.4,102.4,"","Pinterest",null,null,this.getTagsForStencil("mxgraph.webicons","pinterest","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"plaxo;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Plaxo",null,null,this.getTagsForStencil("mxgraph.webicons","plaxo","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"playfire;fillColor=#695D5D;gradientColor=#100E0E",102.4,102.4,"","Playfire",
+null,null,this.getTagsForStencil("mxgraph.webicons","playfire","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"plurk;fillColor=#FF5656;gradientColor=#A8312D",102.4,102.4,"","Plurk",null,null,this.getTagsForStencil("mxgraph.webicons","plurk","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"pocket;fillColor=#FF4460;gradientColor=#B73143",102.4,102.4,"","Pocket",null,null,this.getTagsForStencil("mxgraph.webicons","pocket","web icons icon").join(" ")),this.createVertexTemplateEntry(a+
+"protopage;fillColor=#4B78C0;gradientColor=#294282",102.4,102.4,"","Protopage",null,null,this.getTagsForStencil("mxgraph.webicons","protopage","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"readernaut;fillColor=#695D5D;gradientColor=#100E0E",102.4,102.4,"","Readernaut",null,null,this.getTagsForStencil("mxgraph.webicons","readernaut","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"reddit;fillColor=#F3F8FC;gradientColor=#B4D2F0",102.4,102.4,"","Reddit",null,null,this.getTagsForStencil("mxgraph.webicons",
+"reddit","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"rss;fillColor=#FDE532;gradientColor=#F4600D",102.4,102.4,"","RSS",null,null,this.getTagsForStencil("mxgraph.webicons","rss","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"scoopit;fillColor=#8CD845;gradientColor=#4E7A27",102.4,102.4,"","Scoopit",null,null,this.getTagsForStencil("mxgraph.webicons","scoopit","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"scribd;fillColor=#1D637D;gradientColor=#071920",
+102.4,102.4,"","Scribd",null,null,this.getTagsForStencil("mxgraph.webicons","scribd","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"segnalo;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Segnalo",null,null,this.getTagsForStencil("mxgraph.webicons","segnalo","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"sina;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Sina",null,null,this.getTagsForStencil("mxgraph.webicons","sina","web icons icon").join(" ")),
+this.createVertexTemplateEntry(a+"sitejot;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Sitejot",null,null,this.getTagsForStencil("mxgraph.webicons","sitejot","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"skype;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Skype",null,null,this.getTagsForStencil("mxgraph.webicons","skype","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"skyrock;fillColor=#47B8FF;gradientColor=#006AAD",102.4,102.4,"","Skyrock",null,
+null,this.getTagsForStencil("mxgraph.webicons","skyrock","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"slashdot;fillColor=#03B2AC;gradientColor=#012C2C",102.4,102.4,"","Slashdot",null,null,this.getTagsForStencil("mxgraph.webicons","slashdot","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"sms;fillColor=#86D466;gradientColor=#42B418",102.4,102.4,"","SMS",null,null,this.getTagsForStencil("mxgraph.webicons","sms","web icons icon").join(" ")),this.createVertexTemplateEntry(a+
+"socialvibe;fillColor=#FA16E2;gradientColor=#DF064B",102.4,102.4,"","Socialvibe",null,null,this.getTagsForStencil("mxgraph.webicons","socialvibe","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"society6;fillColor=#695D5D;gradientColor=#100E0E",102.4,102.4,"","Society6",null,null,this.getTagsForStencil("mxgraph.webicons","society6","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"sonico;fillColor=#3FEAF6;gradientColor=#117EC9",102.4,102.4,"","Sonico",null,null,this.getTagsForStencil("mxgraph.webicons",
+"sonico","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"soundcloud;fillColor=#F78E11;gradientColor=#F93A0E",102.4,102.4,"","Soundcloud",null,null,this.getTagsForStencil("mxgraph.webicons","soundcloud","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"sourceforge;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Sourceforge",null,null,this.getTagsForStencil("mxgraph.webicons","sourceforge","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"sourceforge_2;fillColor=#0078AF;gradientColor=#00385E",
+102.4,102.4,"","Sourceforge",null,null,this.getTagsForStencil("mxgraph.webicons","sourceforge","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"spring.me;fillColor=#3CBEF2;gradientColor=#2B8AAF",102.4,102.4,"","Spring.me",null,null,this.getTagsForStencil("mxgraph.webicons","spring me","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"stackexchange;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Stackexchange",null,null,this.getTagsForStencil("mxgraph.webicons",
+"stackexchange stack exchange","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"stackoverflow;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","StackOverflow",null,null,this.getTagsForStencil("mxgraph.webicons","stackoverflow stack overflow","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"startaid;fillColor=#47B0E5;gradientColor=#2F7599",102.4,102.4,"","Startaid",null,null,this.getTagsForStencil("mxgraph.webicons","startaid","web icons icon").join(" ")),this.createVertexTemplateEntry(a+
+"startlap;fillColor=#B9E6F0;gradientColor=#3062A2",102.4,102.4,"","Startlap",null,null,this.getTagsForStencil("mxgraph.webicons","startlap","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"steam;fillColor=#695D5D;gradientColor=#100E0E",102.4,102.4,"","Steam",null,null,this.getTagsForStencil("mxgraph.webicons","steam","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"stumbleupon;fillColor=#FA823C;gradientColor=#E12110",102.4,102.4,"","StumbleUpon",null,null,this.getTagsForStencil("mxgraph.webicons",
+"stumbleupon","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"stumpedia;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Stumpedia",null,null,this.getTagsForStencil("mxgraph.webicons","stumpedia","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"technorati;fillColor=#99EC92;gradientColor=#288925",102.4,102.4,"","Technorati",null,null,this.getTagsForStencil("mxgraph.webicons","technorati","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"translate;fillColor=#FFFFFF;gradientColor=#DFDEDE",
+102.4,102.4,"","Translate",null,null,this.getTagsForStencil("mxgraph.webicons","translate","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"tumblr;fillColor=#588BBC;gradientColor=#172330",102.4,102.4,"","Tumblr",null,null,this.getTagsForStencil("mxgraph.webicons","tumblr","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"tunein;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Tunein",null,null,this.getTagsForStencil("mxgraph.webicons","tunein","web icons icon").join(" ")),
+this.createVertexTemplateEntry(a+"twitter;fillColor=#49EAF7;gradientColor=#137BD0",102.4,102.4,"","Twitter",null,null,this.getTagsForStencil("mxgraph.webicons","twitter","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"two;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Two",null,null,this.getTagsForStencil("mxgraph.webicons","two","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"typepad;fillColor=#CBD372;gradientColor=#818748",102.4,102.4,"","Typepad",null,null,
+this.getTagsForStencil("mxgraph.webicons","typepad","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"viadeo;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Viadeo",null,null,this.getTagsForStencil("mxgraph.webicons","viadeo","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"viber;fillColor=#9964C4;gradientColor=#52366B",102.4,102.4,"","Viber",null,null,this.getTagsForStencil("mxgraph.webicons","viber","web icons icon").join(" ")),this.createVertexTemplateEntry(a+
+"viddler;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Viddler",null,null,this.getTagsForStencil("mxgraph.webicons","viddler","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"vimeo;fillColor=#A4EDF9;gradientColor=#2B8ED9",102.4,102.4,"","Vimeo",null,null,this.getTagsForStencil("mxgraph.webicons","vimeo","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"virb;fillColor=#536873;gradientColor=#161A1D",102.4,102.4,"","Virb",null,null,this.getTagsForStencil("mxgraph.webicons",
+"virb","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"vkontakte;fillColor=#5F94CC;gradientColor=#39587A",102.4,102.4,"","Vkontakte",null,null,this.getTagsForStencil("mxgraph.webicons","vkontakte","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"wakoopa;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Wakoopa",null,null,this.getTagsForStencil("mxgraph.webicons","wakoopa","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"weheartit;fillColor=#FF7AA2;gradientColor=#FF4577",
+102.4,102.4,"","Weheartit",null,null,this.getTagsForStencil("mxgraph.webicons","weheartit","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"whatsapp;fillColor=#4FE238;gradientColor=#138709",102.4,102.4,"","Whatsapp",null,null,this.getTagsForStencil("mxgraph.webicons","whatsapp","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"wix;fillColor=#8AE3F2;gradientColor=#2451B0",102.4,102.4,"","Wix",null,null,this.getTagsForStencil("mxgraph.webicons","wix","web icons icon").join(" ")),
+this.createVertexTemplateEntry(a+"wordpress;fillColor=#35E2EE;gradientColor=#0E4D99",102.4,102.4,"","Wordpress",null,null,this.getTagsForStencil("mxgraph.webicons","wordpress","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"wordpress_2;fillColor=#35E2EE;gradientColor=#0E4D99",102.4,102.4,"","Wordpress",null,null,this.getTagsForStencil("mxgraph.webicons","wordpress","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"xanga;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,
+"","Xanga",null,null,this.getTagsForStencil("mxgraph.webicons","xanga","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"xerpi;fillColor=#7F719B;gradientColor=#32264B",102.4,102.4,"","Xerpi",null,null,this.getTagsForStencil("mxgraph.webicons","xerpi","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"xing;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Xing",null,null,this.getTagsForStencil("mxgraph.webicons","xing","web icons icon").join(" ")),this.createVertexTemplateEntry(a+
+"yahoo;fillColor=#AC37AE;gradientColor=#2E0E2D",102.4,102.4,"","Yahoo",null,null,this.getTagsForStencil("mxgraph.webicons","yahoo","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"yahoo_2;fillColor=#AC37AE;gradientColor=#2E0E2D",102.4,102.4,"","Yahoo",null,null,this.getTagsForStencil("mxgraph.webicons","yahoo","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"yammer;fillColor=#00AFE0;gradientColor=#005F7A",102.4,102.4,"","Yammer",null,null,this.getTagsForStencil("mxgraph.webicons",
+"yammer","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"yandex;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Yandex",null,null,this.getTagsForStencil("mxgraph.webicons","yandex","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"yelp;fillColor=#EF5140;gradientColor=#9C1410",102.4,102.4,"","Yelp",null,null,this.getTagsForStencil("mxgraph.webicons","yelp","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"yoolink;fillColor=#FFFFFF;gradientColor=#DFDEDE",
+102.4,102.4,"","Yoolink",null,null,this.getTagsForStencil("mxgraph.webicons","yoolink","web icons icon").join(" ")),this.createVertexTemplateEntry(a+"youmob;fillColor=#FFFFFF;gradientColor=#DFDEDE",102.4,102.4,"","Youmob",null,null,this.getTagsForStencil("mxgraph.webicons","youmob","web icons icon").join(" "))])};Sidebar.prototype.addWebLogosPalette=function(){var a="dashed=0;html=1;align=center;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;"+mxConstants.STYLE_SHAPE+"=mxgraph.weblogos.";
+this.addPaletteFunctions("weblogos","Web Logos",!1,[this.createVertexTemplateEntry(a+"adfty;fillColor=#66E8F3;gradientColor=#1C7CBA",91.2,.2*458,"","Adfty",null,null,this.getTagsForStencil("mxgraph.weblogos","adfty","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"adobe_pdf;fillColor=#A60908",69.4,.2*338,"","Adobe PDF",null,null,this.getTagsForStencil("mxgraph.weblogos","adobe pdf","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"aim",.2*312,68.4,"","Aim",null,null,this.getTagsForStencil("mxgraph.weblogos",
"aim","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"allvoices",84,.2*398,"","Allvoices",null,null,this.getTagsForStencil("mxgraph.weblogos","allvoices","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"amazon",.2*314,68.2,"","Amazon",null,null,this.getTagsForStencil("mxgraph.weblogos","amazon","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"android;fillColor=#A4CA39;strokeColor=none",.2*338,80,"","Android",null,null,this.getTagsForStencil("mxgraph.weblogos",
"android","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"apache",42.6,85.2,"","Apache",null,null,this.getTagsForStencil("mxgraph.weblogos","apache db database","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"apple;fillColor=#1B1C1C;strokeColor=none",.2*312,76.2,"","Apple",null,null,this.getTagsForStencil("mxgraph.weblogos","apple","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"apple_classic",.2*312,76.2,"","Apple (classic)",null,null,this.getTagsForStencil("mxgraph.weblogos",
"apple classic","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"app_store;fillColor=#000000;strokeColor=none",61.2,20,"","App Store",null,null,this.getTagsForStencil("mxgraph.weblogos","app store application","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"app_store_iphone;fillColor=#75797C;strokeColor=none",61.2,20,"","App Store iPhone",null,null,this.getTagsForStencil("mxgraph.weblogos","app store iphone","web logos logo").join(" ")),this.createVertexTemplateEntry(a+
@@ -6709,376 +6709,376 @@ this.createVertexTemplateEntry(a+"chrome",74.8,75.4,"","Chrome",null,null,this.g
this.createVertexTemplateEntry("image;image=img/lib/atlassian/Confluence_Logo.svg;",63,57,"","Confluence",null,null,this.getTagsForStencil("mxgraph.weblogos","confluence logo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"connotea",81,.2*413,"","Connotea",null,null,this.getTagsForStencil("mxgraph.weblogos","connotea","web logos logo").join(" ")),this.createVertexTemplateEntry("image;image=img/lib/atlassian/Crowd_Logo.svg;",66,65,"","Crowd",null,null,this.getTagsForStencil("mxgraph.weblogos",
"crowd logo","web logos logo").join(" ")),this.createVertexTemplateEntry("image;image=img/lib/atlassian/Crucible_Logo.svg;",61,61,"","Crucible",null,null,this.getTagsForStencil("mxgraph.weblogos","crucible logo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"dealsplus;fillColor=#935492",76,.2*333,"","Dealsplus",null,null,this.getTagsForStencil("mxgraph.weblogos","dealsplus","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"designfloat;strokeColor=none",72,72,"","Designfloat",
null,null,this.getTagsForStencil("mxgraph.weblogos","designfloat","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"deviantart;fillColor=#009544;strokeColor=none;",62,86.4,"","Deviantart",null,null,this.getTagsForStencil("mxgraph.weblogos","deviantart","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"digg;fillColor=#ffffff",58,56,"","Digg",null,null,this.getTagsForStencil("mxgraph.weblogos","digg","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"diigo;fillColor=#2973D2;strokeColor=none",
-61.2,68.8,"","Diigo",null,null,this.getTagsForStencil("mxgraph.weblogos","diiigo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"dopplr;fillColor=#F9634D;strokeColor=none",102.4,102.4,"","Dopplr",null,null,this.getTagsForStencil("mxgraph.weblogos","dopplr","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"drawio1;fillColor=#1A5BA3",49.6,68.2,"","Draw.io",null,null,this.getTagsForStencil("mxgraph.weblogos","drawio draw io","web logos logo").join(" ")),this.createVertexTemplateEntry(a+
-"drawio2;fillColor=#1A5BA3",52.2,70.8,"","Draw.io",null,null,this.getTagsForStencil("mxgraph.weblogos","drawio draw io","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"dribbble;fillColor=#EB548D",67.4,67.2,"","Dribbble",null,null,this.getTagsForStencil("mxgraph.weblogos","dribbble","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"dropbox;fillColor=#0287EA",73.4,62,"","Dropbox2",null,null,this.getTagsForStencil("mxgraph.weblogos","dropbox","web logos logo").join(" ")),
-this.createVertexTemplateEntry(a+"drupal",60.6,69,"","Drupal",null,null,this.getTagsForStencil("mxgraph.weblogos","drupal","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"dzone",.2*438,61.2,"","Dzone",null,null,this.getTagsForStencil("mxgraph.weblogos","dzone","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"ebay",81.2,34.4,"","Ebay",null,null,this.getTagsForStencil("mxgraph.weblogos","ebay","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"edmodo;fillColor=#276CB0;strokeColor=none",
-69.2,73.8,"","Edmodo",null,null,this.getTagsForStencil("mxgraph.weblogos","edmodo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"evernote;fillColor=#3F3F3F",.2*317,75.2,"","Evernote",null,null,this.getTagsForStencil("mxgraph.weblogos","evernote","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"fancy;fillColor=#6DB3E3",39.2,79,"","Fancy",null,null,this.getTagsForStencil("mxgraph.weblogos","fancy","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"fark;fillColor=#B1B0C7;gradientColor=#ffffff;strokeColor=#B1B0C7",
-44.2,70.2,"","Fark",null,null,this.getTagsForStencil("mxgraph.weblogos","fark","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"fashiolista",.2*388,73.2,"","Fashiolista",null,null,this.getTagsForStencil("mxgraph.weblogos","fashiolista","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"feed;fillColor=#000000",.2*302,59.2,"","Feed",null,null,this.getTagsForStencil("mxgraph.weblogos","feed","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"feedburner",68.4,74.4,
-"","Feedburner",null,null,this.getTagsForStencil("mxgraph.weblogos","feedburner","web logos logo").join(" ")),this.createVertexTemplateEntry("image;image=img/lib/atlassian/Fisheye_Logo.svg;",71,59,"","Fisheye",null,null,this.getTagsForStencil("mxgraph.weblogos","fisheye logo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"flickr",71.2,.2*156,"","Flickr",null,null,this.getTagsForStencil("mxgraph.weblogos","flickr","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"folkd;fillColor=#165AA6",
-.2*419,43.6,"","Folkd",null,null,this.getTagsForStencil("mxgraph.weblogos","folkd","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"forrst;fillColor=#27431F",.2*264,73.2,"","Forrst",null,null,this.getTagsForStencil("mxgraph.weblogos","forrst","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"fotolog;fillColor=#000000;strokeColor=none",47.6,47.6,"","Fotolog",null,null,this.getTagsForStencil("mxgraph.weblogos","fotolog","web logos logo").join(" ")),this.createVertexTemplateEntry(a+
-"freshbump;fillColor=#C2D952;strokeColor=none",71.2,76,"","Freshbump",null,null,this.getTagsForStencil("mxgraph.weblogos","freshbump","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"fresqui",102.4,102.4,"","Fresqui",null,null,this.getTagsForStencil("mxgraph.weblogos","fresqui","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"friendfeed;fillColor=#4172BB",73.8,71,"","Friendfeed",null,null,this.getTagsForStencil("mxgraph.weblogos","fiendfeed","web logos logo").join(" ")),
-this.createVertexTemplateEntry(a+"funp",75,40,"","Funp",null,null,this.getTagsForStencil("mxgraph.weblogos","funp","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"fwisp;fillColor=#66676A;strokeColor=none",65.4,66,"","Fwisp",null,null,this.getTagsForStencil("mxgraph.weblogos","fwisp","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"gabbr;fillColor=#F05B1E",64.4,66,"","Gabbr",null,null,this.getTagsForStencil("mxgraph.weblogos","gabbr","web logos logo").join(" ")),this.createVertexTemplateEntry(a+
-"gamespot",.2*408,.2*408,"","Gamespot",null,null,this.getTagsForStencil("mxgraph.weblogos","gamespot","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"github",75,75,"","Github",null,null,this.getTagsForStencil("mxgraph.weblogos","github","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"gmail",64.8,.2*234,"","Gmail",null,null,this.getTagsForStencil("mxgraph.weblogos","gmail","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"google",65.2,69.4,"","Google",null,
-null,this.getTagsForStencil("mxgraph.weblogos","google","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"google_drive",66.4,58,"","Google Drive",null,null,this.getTagsForStencil("mxgraph.weblogos","google drive","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"google_hangout;fillColor=#4BA139;strokeColor=none",64.8,75.4,"","Google Hangout",null,null,this.getTagsForStencil("mxgraph.weblogos","google hangout","web logos logo").join(" ")),this.createVertexTemplateEntry(a+
-"google_play;fillColor=#000000",69.4,20.6,"","Google Play",null,null,this.getTagsForStencil("mxgraph.weblogos","google play","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"google_play_light;fillColor=#66E8F3;gradientColor=#1C7CBA",60,10.4,"","Google Play Light",null,null,this.getTagsForStencil("mxgraph.weblogos","google play light","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"google_photos",87.2,87.2,"","Google Photos",null,null,this.getTagsForStencil("mxgraph.weblogos",
-"google photos","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"google_plus;fillColor=#DD4C40;strokeColor=none",.2*328,44,"","Google+",null,null,this.getTagsForStencil("mxgraph.weblogos","google plus","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"grooveshark;fillColor=#000000;strokeColor=none",62.2,62.2,"","Grooveshark",null,null,this.getTagsForStencil("mxgraph.weblogos","grooveshark","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"hatena",86.2,44.2,
-"","Hatena",null,null,this.getTagsForStencil("mxgraph.weblogos","hatena","web logos logo").join(" ")),this.createVertexTemplateEntry("image;image=img/lib/atlassian/Hipchat_Logo.svg;",66,62,"","Hipchat",null,null,this.getTagsForStencil("mxgraph.weblogos","hipchat logo atlassian","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"html5",.2*262,74,"","HTML5",null,null,this.getTagsForStencil("mxgraph.weblogos","html5 html","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"identi.ca",
-74.2,47.6,"","Identi.ca",null,null,this.getTagsForStencil("mxgraph.weblogos","identi.ca","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"instagram;fillColor=#6FC0E4;gradientColor=#1E305B",72.2,72.2,"","Instagram",null,null,this.getTagsForStencil("mxgraph.weblogos","instagram","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"instapaper",27.6,70.2,"","Instapaper",null,null,this.getTagsForStencil("mxgraph.weblogos","instapaper","web logos logo").join(" ")),this.createVertexTemplateEntry(a+
-"ios;fillColor=#695D5D;gradientColor=#100E0E",.2*368,.2*197,"","iOS",null,null,this.getTagsForStencil("mxgraph.weblogos","ios","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"jamespot;fillColor=#695D5D;gradientColor=#100E0E",78,78,"","Jamespot",null,null,this.getTagsForStencil("mxgraph.weblogos","jamespot","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"java",34.4,65,"","Java",null,null,this.getTagsForStencil("mxgraph.weblogos","java","web logos logo").join(" ")),this.createVertexTemplateEntry("image;image=img/lib/atlassian/Jira_Logo.svg;",
-72,72,"","Jira",null,null,this.getTagsForStencil("mxgraph.weblogos","jira logo","web logos logo").join(" ")),this.createVertexTemplateEntry("image;image=img/lib/atlassian/Jira_Core_Logo.svg;",55,66,"","Jira Core",null,null,this.getTagsForStencil("mxgraph.weblogos","jira core logo atlassian","web logos logo").join(" ")),this.createVertexTemplateEntry("image;image=img/lib/atlassian/Jira_Service_Desk_Logo.svg;",59,76,"","Jira Service Desk",null,null,this.getTagsForStencil("mxgraph.weblogos","jira service desk logo atlassian",
-"web logos logo").join(" ")),this.createVertexTemplateEntry("image;image=img/lib/atlassian/Jira_Software_Logo.svg;",74,76,"","Jira Software",null,null,this.getTagsForStencil("mxgraph.weblogos","jira software logo atlassian","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"joomla;fillColor=#1F457D;gradientColor=#081220",66,.2*328,"","Joomla",null,null,this.getTagsForStencil("mxgraph.weblogos","joomla","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"jquery;fillColor=#0BB9EA;gradientColor=#032F80",
-73.8,67,"","Jquery",null,null,this.getTagsForStencil("mxgraph.weblogos","jquery","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"json",70,75.8,"","JSON",null,null,this.getTagsForStencil("mxgraph.weblogos","json","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"json_2",80.4,.2*126,"","JSON",null,null,this.getTagsForStencil("mxgraph.weblogos","json","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"last.fm;fillColor=#F33543;gradientColor=#BD0E11",83.2,50,"",
-"Last.fm",null,null,this.getTagsForStencil("mxgraph.weblogos","last.fm last fm","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"linkagogo;fillColor=#F6F5FA;gradientColor=#C8C1E1",102.2,80,"","Linkagogo",null,null,this.getTagsForStencil("mxgraph.weblogos","linkagogo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"linkedin;fillColor=#0095DB;gradientColor=#006391",.2*287,60.6,"","LinkedIn",null,null,this.getTagsForStencil("mxgraph.weblogos","linkedin","web logos logo").join(" ")),
-this.createVertexTemplateEntry(a+"livejournal;fillColor=#2690E5;gradientColor=#0A2463",64,.2*343,"","Livejournal",null,null,this.getTagsForStencil("mxgraph.weblogos","livejournal","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"mail.ru;fillColor=#267BE0;gradientColor=#0A1F42",81.2,.2*393,"","Mail.ru",null,null,this.getTagsForStencil("mxgraph.weblogos","mail.ru","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"mathoverflow;fillColor=#656463;gradientColor=#F28711;gradientDirection=east",
-59,48.2,"","MathOverflow",null,null,this.getTagsForStencil("mxgraph.weblogos","mathoverflow","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"meetup;fillColor=#413E3E;strokeColor=none",74.8,30,"","Meetup",null,null,this.getTagsForStencil("mxgraph.weblogos","meetup","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"meneame",76,.2*338,"","Meneame",null,null,this.getTagsForStencil("mxgraph.weblogos","meneame","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"messenger",
-.2*413,.2*384,"","Messenger",null,null,this.getTagsForStencil("mxgraph.weblogos","messenger","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"messenger_2",64.4,64.8,"","Messenger",null,null,this.getTagsForStencil("mxgraph.weblogos","messenger","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"messenger_3;fillColor=#437BBD;strokeColor=#dddddd",64.4,64.8,"","Messenger",null,null,this.getTagsForStencil("mxgraph.weblogos","messenger","web logos logo").join(" ")),this.createVertexTemplateEntry(a+
-"mind_body_green;strokeColor=#888888",81.4,.2*464,"","Mind Body Green",null,null,this.getTagsForStencil("mxgraph.weblogos","mind body green","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"mongodb",41.2,86.2,"","MongoDb",null,null,this.getTagsForStencil("mxgraph.weblogos","mongodb","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"myspace;fillColor=#003399;strokeColor=none",63,70.2,"","MySpace",null,null,this.getTagsForStencil("mxgraph.weblogos","myspace","web logos logo").join(" ")),
-this.createVertexTemplateEntry(a+"n4g;fillColor=#000000;strokeColor=none",88.2,31.8,"","N4g",null,null,this.getTagsForStencil("mxgraph.weblogos","n4g","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"netlog;fillColor=#F42424;strokeColor=none",.2*383,68.8,"","Netlog",null,null,this.getTagsForStencil("mxgraph.weblogos","netlog","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"netvibes;fillColor=#84BD00;strokeColor=none",.2*309,.2*309,"","Netvibes",null,null,this.getTagsForStencil("mxgraph.weblogos",
-"netvibes","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"netvouz",57.2,.2*287,"","Netvouz",null,null,this.getTagsForStencil("mxgraph.weblogos","netvouz","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"networkedblogs",.2*394,.2*394,"","Networkedblogs",null,null,this.getTagsForStencil("mxgraph.weblogos","networkedblogs","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"newsvine;fillColor=#005221;strokeColor=none",40.6,77.2,"","Newsvine",null,null,this.getTagsForStencil("mxgraph.weblogos",
-"newsvine","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"odnoklassniki;fillColor=#F58220;strokeColor=none",.2*247,82,"","Odnoklassniki",null,null,this.getTagsForStencil("mxgraph.weblogos","odnoklassniki","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"oknotizie",.2*237,70.4,"","Oknotizie",null,null,this.getTagsForStencil("mxgraph.weblogos","oknotizie","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"onedrive;fillColor=#094AB1;strokeColor=none",71.2,43.2,
-"","OneDrive",null,null,this.getTagsForStencil("mxgraph.weblogos","onedrive","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"oracle;fillColor=#FF0000;strokeColor=none",90,23,"","Oracle",null,null,this.getTagsForStencil("mxgraph.weblogos","oracle","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"paypal",51.2,58,"","Paypal",null,null,this.getTagsForStencil("mxgraph.weblogos","paypal","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"phone;fillColor=#36BE0F;strokeColor=none",
-.2*289,54.2,"","Phone",null,null,this.getTagsForStencil("mxgraph.weblogos","phone","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"phonefavs",64.4,.2*394,"","Phonefavs",null,null,this.getTagsForStencil("mxgraph.weblogos","phonefavs","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"pinterest;fillColor=#BD081C;strokeColor=none",.2*384,74.4,"","Pinterest",null,null,this.getTagsForStencil("mxgraph.weblogos","pinterest","web logos logo").join(" ")),this.createVertexTemplateEntry(a+
-"plaxo;fillColor=#414F5C;strokeColor=none",80,80,"","Plaxo",null,null,this.getTagsForStencil("mxgraph.weblogos","plaxo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"playfire;fillColor=#FDA21A;gradientColor=#FEE635;strokeColor=none",62,61.6,"","Playfire",null,null,this.getTagsForStencil("mxgraph.weblogos","playfire","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"plurk;fillColor=#E9443D;strokeColor=none",102.4,102.4,"","Plurk",null,null,this.getTagsForStencil("mxgraph.weblogos",
-"plurk","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"pocket;fillColor=#EE4056;strokeColor=none",.2*314,.2*289,"","Pocket",null,null,this.getTagsForStencil("mxgraph.weblogos","pocket","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"protopage;fillColor=#4B78C0;gradientColor=#294282",.2*394,80,"","Protopage",null,null,this.getTagsForStencil("mxgraph.weblogos","protopage","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"readernaut;fillColor=#000000;strokeColor=none",
-72,72,"","Readernaut",null,null,this.getTagsForStencil("mxgraph.weblogos","readernaut","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"reddit;fillColor=#F3F8FC;gradientColor=#B4D2F0",88,.2*368,"","Reddit",null,null,this.getTagsForStencil("mxgraph.weblogos","reddit","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"rss;fillColor=#F56800;strokeColor=none",.2*408,.2*408,"","RSS",null,null,this.getTagsForStencil("mxgraph.weblogos","rss","web logos logo").join(" ")),this.createVertexTemplateEntry(a+
-"scoopit;fillColor=#6CAB36;strokeColor=none",58,70,"","Scoopit",null,null,this.getTagsForStencil("mxgraph.weblogos","scoopit","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"scribd;fillColor=#3D3533;strokeColor=none",.2*289,69.2,"","Scribd",null,null,this.getTagsForStencil("mxgraph.weblogos","scribd","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"segnalo",.2*403,.2*389,"","Segnalo",null,null,this.getTagsForStencil("mxgraph.weblogos","segnalo","web logos logo").join(" ")),
-this.createVertexTemplateEntry(a+"sina",.2*429,.2*343,"","Sina",null,null,this.getTagsForStencil("mxgraph.weblogos","sina","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"sitejot",77.2,66,"","Sitejot",null,null,this.getTagsForStencil("mxgraph.weblogos","sitejot","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"skype;fillColor=#2AACE2;strokeColor=none",.2*388,.2*394,"","Skype",null,null,this.getTagsForStencil("mxgraph.weblogos","skype","web logos logo").join(" ")),this.createVertexTemplateEntry(a+
-"skyrock;fillColor=#009AFF;strokeColor=none",67.8,70.4,"","Skyrock",null,null,this.getTagsForStencil("mxgraph.weblogos","skyrock","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"slashdot;fillColor=#026664;strokeColor=none",.2*262,62,"","Slashdot",null,null,this.getTagsForStencil("mxgraph.weblogos","slashdot","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"sms;fillColor=#48B921;strokeColor=none",69.2,64,"","SMS",null,null,this.getTagsForStencil("mxgraph.weblogos","sms",
-"web logos logo").join(" ")),this.createVertexTemplateEntry(a+"socialvibe;fillColor=#EE2F7F;strokeColor=none",50,50,"","Socialvibe",null,null,this.getTagsForStencil("mxgraph.weblogos","socialvibe","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"society6;fillColor=#000000;strokeColor=none",74.8,53,"","Society6",null,null,this.getTagsForStencil("mxgraph.weblogos","society6","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"sonico;fillColor=#01AEF0;strokeColor=none",69.2,
-63.2,"","Sonico",null,null,this.getTagsForStencil("mxgraph.weblogos","sonico","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"soundcloud;fillColor=#FE4600;strokeColor=none",73.4,32.6,"","Soundcloud",null,null,this.getTagsForStencil("mxgraph.weblogos","soundcloud","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"sourceforge",74.2,74.4,"","Sourceforge",null,null,this.getTagsForStencil("mxgraph.weblogos","sourceforge","web logos logo").join(" ")),this.createVertexTemplateEntry(a+
-"sourceforge_2;fillColor=#00547E;strokeColor=none",63.2,.2*234,"","Sourceforge",null,null,this.getTagsForStencil("mxgraph.weblogos","sourceforge","web logos logo").join(" ")),this.createVertexTemplateEntry("image;image=img/lib/atlassian/Sourcetree_Logo.svg;",57,71,"","Sourcetree",null,null,this.getTagsForStencil("mxgraph.weblogos","sourcetree logo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"spring.me;fillColor=#0374B8;strokeColor=none",73.2,31.6,"","Spring.me",null,null,this.getTagsForStencil("mxgraph.weblogos",
-"spring me","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"stackexchange",.2*319,79,"","Stackexchange",null,null,this.getTagsForStencil("mxgraph.weblogos","stackexchange stack exchange","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"stackoverflow",.2*272,64,"","StackOverflow",null,null,this.getTagsForStencil("mxgraph.weblogos","stackoverflow stack overflow","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"startaid;fillColor=#409FCF;strokeColor=none",41.2,
-42.6,"","Startaid",null,null,this.getTagsForStencil("mxgraph.weblogos","startaid","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"startlap;fillColor=#B9E6F0;gradientColor=#3062A2",82,84.2,"","Startlap",null,null,this.getTagsForStencil("mxgraph.weblogos","startlap","web logos logo").join(" ")),this.createVertexTemplateEntry("image;image=img/lib/atlassian/Statuspage_Logo.svg;",75,52,"","Statuspage",null,null,this.getTagsForStencil("mxgraph.weblogos","statuspage logo","web logos logo").join(" ")),
-this.createVertexTemplateEntry(a+"steam;fillColor=#695D5D;gradientColor=#100E0E",85.2,39.6,"","Steam",null,null,this.getTagsForStencil("mxgraph.weblogos","steam","web logos logo").join(" ")),this.createVertexTemplateEntry("image;image=img/lib/atlassian/Stride_Logo.svg;",69,57,"","Stride",null,null,this.getTagsForStencil("mxgraph.weblogos","stride logo atlassian","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"stumbleupon;fillColor=#EB4924;strokeColor=none",102.4,102.4,"","StumbleUpon",
-null,null,this.getTagsForStencil("mxgraph.weblogos","stumbleupon","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"stumpedia",67,.2*338,"","Stumpedia",null,null,this.getTagsForStencil("mxgraph.weblogos","stumpedia","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"translate",68.4,67,"","Translate",null,null,this.getTagsForStencil("mxgraph.weblogos","translate","web logos logo").join(" ")),this.createVertexTemplateEntry("image;image=img/lib/atlassian/Trello_Logo.svg;",70,
-70,"","Trello",null,null,this.getTagsForStencil("mxgraph.weblogos","trello logo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"tumblr;fillColor=#36465D;strokeColor=none",40.6,65.2,"","Tumblr",null,null,this.getTagsForStencil("mxgraph.weblogos","tumblr","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"tunein",70,70,"","Tunein",null,null,this.getTagsForStencil("mxgraph.weblogos","tunein","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"twitter;fillColor=#1DA1F2;strokeColor=none",
-80,70,"","Twitter",null,null,this.getTagsForStencil("mxgraph.weblogos","twitter","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"two;fillColor=#FF6D00;strokeColor=none",75.4,20,"","Two",null,null,this.getTagsForStencil("mxgraph.weblogos","two","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"typepad;fillColor=#ADB560;strokeColor=none",64.8,.2*192,"","Typepad",null,null,this.getTagsForStencil("mxgraph.weblogos","typepad","web logos logo").join(" ")),this.createVertexTemplateEntry(a+
-"viadeo",73.4,84,"","Viadeo",null,null,this.getTagsForStencil("mxgraph.weblogos","viadeo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"viber;fillColor=#7D539F;strokeColor=none",77.4,85.2,"","Viber",null,null,this.getTagsForStencil("mxgraph.weblogos","viber","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"viddler;fillColor=#1896E0;gradientColor=#06253F",82,.2*106,"","Viddler",null,null,this.getTagsForStencil("mxgraph.weblogos","viddler","web logos logo").join(" ")),
-this.createVertexTemplateEntry(a+"vimeo;fillColor=#1AB7EA;strokeColor=none",62.6,58,"","Vimeo",null,null,this.getTagsForStencil("mxgraph.weblogos","vimeo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"virb;fillColor=#000000;strokeColor=none",66,.2*353,"","Virb",null,null,this.getTagsForStencil("mxgraph.weblogos","virb","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"vkontakte;fillColor=#4C75A3;strokeColor=none",70.4,40,"","Vkontakte",null,null,this.getTagsForStencil("mxgraph.weblogos",
-"vkontakte","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"wakoopa;fillColor=#FF6D00;strokeColor=none",.2*413,.2*224,"","Wakoopa",null,null,this.getTagsForStencil("mxgraph.weblogos","wakoopa","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"weheartit;fillColor=#FF4577;strokeColor=none",82.2,.2*348,"","Weheartit",null,null,this.getTagsForStencil("mxgraph.weblogos","weheartit","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"whatsapp;fillColor=#00E676;strokeColor=#dddddd",
-74.4,74.8,"","Whatsapp",null,null,this.getTagsForStencil("mxgraph.weblogos","whatsapp","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"wix;strokeColor=#dddddd",74,61.6,"","Wix",null,null,this.getTagsForStencil("mxgraph.weblogos","wix","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"wordpress;fillColor=#00A7DA;strokeColor=none",.2*333,65.4,"","Wordpress",null,null,this.getTagsForStencil("mxgraph.weblogos","wordpress","web logos logo").join(" ")),this.createVertexTemplateEntry(a+
-"wordpress_2;fillColor=#00A7DA;strokeColor=none",68.8,68.8,"","Wordpress",null,null,this.getTagsForStencil("mxgraph.weblogos","wordpress","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"xanga;fillColor=#000000;strokeColor=none",70,38,"","Xanga",null,null,this.getTagsForStencil("mxgraph.weblogos","xanga","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"xerpi;fillColor=#7F719B;gradientColor=#32264B;strokeColor=none",70.2,.2*328,"","Xerpi",null,null,this.getTagsForStencil("mxgraph.weblogos",
-"xerpi","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"xing",65,73.8,"","Xing",null,null,this.getTagsForStencil("mxgraph.weblogos","xing","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"yahoo;fillColor=#65106E;strokeColor=none",74.4,43.6,"","Yahoo",null,null,this.getTagsForStencil("mxgraph.weblogos","yahoo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"yahoo_2;fillColor=#65106E;strokeColor=none",80,46.6,"","Yahoo",null,null,this.getTagsForStencil("mxgraph.weblogos",
-"yahoo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"yammer;fillColor=#0093BE;strokeColor=none",.2*348,59.6,"","Yammer",null,null,this.getTagsForStencil("mxgraph.weblogos","yammer","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"yandex",31.8,66.4,"","Yandex",null,null,this.getTagsForStencil("mxgraph.weblogos","yandex","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"yelp;fillColor=#C41200;strokeColor=none",.2*317,83,"","Yelp",null,null,this.getTagsForStencil("mxgraph.weblogos",
-"yelp","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"yoolink",79.2,79.2,"","Yoolink",null,null,this.getTagsForStencil("mxgraph.weblogos","yoolink","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"youmob",76,76.2,"","Youmob",null,null,this.getTagsForStencil("mxgraph.weblogos","youmob","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"youtube;fillColor=#FF2626;gradientColor=#B5171F",.2*786,65.8,"","Youtube",null,null,this.getTagsForStencil("mxgraph.weblogos",
-"youtube","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"youtube_2;fillColor=#FF2626;gradientColor=#B5171F",.2*232,32.6,"","Youtube",null,null,this.getTagsForStencil("mxgraph.weblogos","youtube","web logos logo").join(" "))])}})();
-DrawioFile=function(b,e){mxEventSource.call(this);this.ui=b;this.data=e||""};mxUtils.extend(DrawioFile,mxEventSource);DrawioFile.prototype.autosaveDelay=1500;DrawioFile.prototype.maxAutosaveDelay=3E4;DrawioFile.prototype.autosaveThread=null;DrawioFile.prototype.lastAutosave=null;DrawioFile.prototype.modified=!1;DrawioFile.prototype.changeListenerEnabled=!0;DrawioFile.prototype.lastAutosaveRevision=null;DrawioFile.prototype.maxAutosaveRevisionDelay=18E5;DrawioFile.prototype.descriptorChanged=function(){this.fireEvent(new mxEventObject("descriptorChanged"))};
-DrawioFile.prototype.contentChanged=function(){this.fireEvent(new mxEventObject("contentChanged"))};DrawioFile.prototype.save=function(b,e,d,c){this.updateFileData();this.clearAutosave()};DrawioFile.prototype.updateFileData=function(){this.setData(this.ui.getFileData(null,null,null,null,null,null,null,null,this))};DrawioFile.prototype.saveAs=function(b,e,d){};DrawioFile.prototype.saveFile=function(b,e,d,c){};DrawioFile.prototype.getPublicUrl=function(b){b(null)};
-DrawioFile.prototype.isRestricted=function(){return!1};DrawioFile.prototype.isModified=function(){return this.modified};DrawioFile.prototype.setModified=function(b){this.modified=b};DrawioFile.prototype.isAutosaveOptional=function(){return!1};DrawioFile.prototype.isAutosave=function(){return this.ui.editor.autosave};DrawioFile.prototype.isRenamable=function(){return!1};DrawioFile.prototype.rename=function(b,e,d){};DrawioFile.prototype.isMovable=function(){return!1};
-DrawioFile.prototype.move=function(b,e,d){};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(b){this.data=b};DrawioFile.prototype.getData=function(){return this.data};
-DrawioFile.prototype.open=function(){this.ui.setFileData(this.getData());this.changeListener=mxUtils.bind(this,function(b,e){var d=null!=e?e.getProperty("edit"):null;!this.changeListenerEnabled||!this.isEditable()||null!=d&&d.ignoreEdit||(this.setModified(!0),this.isAutosave()?(this.ui.editor.setStatus(mxUtils.htmlEntities(mxResources.get("saving"))+"..."),this.autosave(this.autosaveDelay,this.maxAutosaveDelay,mxUtils.bind(this,function(b){null!=this.autosaveThread||this.ui.getCurrentFile()!=this||
+61.2,68.8,"","Diigo",null,null,this.getTagsForStencil("mxgraph.weblogos","diiigo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"dopplr;fillColor=#F9634D;strokeColor=none",102.4,102.4,"","Dopplr",null,null,this.getTagsForStencil("mxgraph.weblogos","dopplr","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"drawio2;fillColor=#1A5BA3",52.2,70.8,"","Draw.io",null,null,this.getTagsForStencil("mxgraph.weblogos","drawio draw io draw.io","web logos logo").join(" ")),this.createVertexTemplateEntry(a+
+"drawio3;fillColor=#1A5BA3;fontSize=15;fontColor=#1A5BA3;fontStyle=1",52.2,52.2,'draw<font color="#f08707">.io</font>',"Draw.io",null,null,this.getTagsForStencil("mxgraph.weblogos","drawio draw io draw.io","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"dribbble;fillColor=#EB548D",67.4,67.2,"","Dribbble",null,null,this.getTagsForStencil("mxgraph.weblogos","dribbble","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"dropbox;fillColor=#0287EA",73.4,62,"","Dropbox2",null,
+null,this.getTagsForStencil("mxgraph.weblogos","dropbox","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"drupal",60.6,69,"","Drupal",null,null,this.getTagsForStencil("mxgraph.weblogos","drupal","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"dzone",.2*438,61.2,"","Dzone",null,null,this.getTagsForStencil("mxgraph.weblogos","dzone","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"ebay",81.2,34.4,"","Ebay",null,null,this.getTagsForStencil("mxgraph.weblogos",
+"ebay","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"edmodo;fillColor=#276CB0;strokeColor=none",69.2,73.8,"","Edmodo",null,null,this.getTagsForStencil("mxgraph.weblogos","edmodo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"evernote;fillColor=#3F3F3F",.2*317,75.2,"","Evernote",null,null,this.getTagsForStencil("mxgraph.weblogos","evernote","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"fancy;fillColor=#6DB3E3",39.2,79,"","Fancy",null,null,this.getTagsForStencil("mxgraph.weblogos",
+"fancy","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"fark;fillColor=#B1B0C7;gradientColor=#ffffff;strokeColor=#B1B0C7",44.2,70.2,"","Fark",null,null,this.getTagsForStencil("mxgraph.weblogos","fark","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"fashiolista",.2*388,73.2,"","Fashiolista",null,null,this.getTagsForStencil("mxgraph.weblogos","fashiolista","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"feed;fillColor=#000000",.2*302,59.2,"","Feed",null,
+null,this.getTagsForStencil("mxgraph.weblogos","feed","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"feedburner",68.4,74.4,"","Feedburner",null,null,this.getTagsForStencil("mxgraph.weblogos","feedburner","web logos logo").join(" ")),this.createVertexTemplateEntry("image;image=img/lib/atlassian/Fisheye_Logo.svg;",71,59,"","Fisheye",null,null,this.getTagsForStencil("mxgraph.weblogos","fisheye logo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"flickr",71.2,.2*156,"",
+"Flickr",null,null,this.getTagsForStencil("mxgraph.weblogos","flickr","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"folkd;fillColor=#165AA6",.2*419,43.6,"","Folkd",null,null,this.getTagsForStencil("mxgraph.weblogos","folkd","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"forrst;fillColor=#27431F",.2*264,73.2,"","Forrst",null,null,this.getTagsForStencil("mxgraph.weblogos","forrst","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"fotolog;fillColor=#000000;strokeColor=none",
+47.6,47.6,"","Fotolog",null,null,this.getTagsForStencil("mxgraph.weblogos","fotolog","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"freshbump;fillColor=#C2D952;strokeColor=none",71.2,76,"","Freshbump",null,null,this.getTagsForStencil("mxgraph.weblogos","freshbump","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"fresqui",102.4,102.4,"","Fresqui",null,null,this.getTagsForStencil("mxgraph.weblogos","fresqui","web logos logo").join(" ")),this.createVertexTemplateEntry(a+
+"friendfeed;fillColor=#4172BB",73.8,71,"","Friendfeed",null,null,this.getTagsForStencil("mxgraph.weblogos","fiendfeed","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"funp",75,40,"","Funp",null,null,this.getTagsForStencil("mxgraph.weblogos","funp","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"fwisp;fillColor=#66676A;strokeColor=none",65.4,66,"","Fwisp",null,null,this.getTagsForStencil("mxgraph.weblogos","fwisp","web logos logo").join(" ")),this.createVertexTemplateEntry(a+
+"gabbr;fillColor=#F05B1E",64.4,66,"","Gabbr",null,null,this.getTagsForStencil("mxgraph.weblogos","gabbr","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"gamespot",.2*408,.2*408,"","Gamespot",null,null,this.getTagsForStencil("mxgraph.weblogos","gamespot","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"github",75,75,"","Github",null,null,this.getTagsForStencil("mxgraph.weblogos","github","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"gmail",64.8,.2*234,
+"","Gmail",null,null,this.getTagsForStencil("mxgraph.weblogos","gmail","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"google",65.2,69.4,"","Google",null,null,this.getTagsForStencil("mxgraph.weblogos","google","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"google_drive",66.4,58,"","Google Drive",null,null,this.getTagsForStencil("mxgraph.weblogos","google drive","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"google_hangout;fillColor=#4BA139;strokeColor=none",
+64.8,75.4,"","Google Hangout",null,null,this.getTagsForStencil("mxgraph.weblogos","google hangout","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"google_play;fillColor=#000000",69.4,20.6,"","Google Play",null,null,this.getTagsForStencil("mxgraph.weblogos","google play","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"google_play_light;fillColor=#66E8F3;gradientColor=#1C7CBA",60,10.4,"","Google Play Light",null,null,this.getTagsForStencil("mxgraph.weblogos","google play light",
+"web logos logo").join(" ")),this.createVertexTemplateEntry(a+"google_photos",87.2,87.2,"","Google Photos",null,null,this.getTagsForStencil("mxgraph.weblogos","google photos","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"google_plus;fillColor=#DD4C40;strokeColor=none",.2*328,44,"","Google+",null,null,this.getTagsForStencil("mxgraph.weblogos","google plus","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"grooveshark;fillColor=#000000;strokeColor=none",62.2,62.2,"","Grooveshark",
+null,null,this.getTagsForStencil("mxgraph.weblogos","grooveshark","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"hatena",86.2,44.2,"","Hatena",null,null,this.getTagsForStencil("mxgraph.weblogos","hatena","web logos logo").join(" ")),this.createVertexTemplateEntry("image;image=img/lib/atlassian/Hipchat_Logo.svg;",66,62,"","Hipchat",null,null,this.getTagsForStencil("mxgraph.weblogos","hipchat logo atlassian","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"html5",.2*262,
+74,"","HTML5",null,null,this.getTagsForStencil("mxgraph.weblogos","html5 html","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"identi.ca",74.2,47.6,"","Identi.ca",null,null,this.getTagsForStencil("mxgraph.weblogos","identi.ca","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"instagram;fillColor=#6FC0E4;gradientColor=#1E305B",72.2,72.2,"","Instagram",null,null,this.getTagsForStencil("mxgraph.weblogos","instagram","web logos logo").join(" ")),this.createVertexTemplateEntry(a+
+"instapaper",27.6,70.2,"","Instapaper",null,null,this.getTagsForStencil("mxgraph.weblogos","instapaper","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"ios;fillColor=#695D5D;gradientColor=#100E0E",.2*368,.2*197,"","iOS",null,null,this.getTagsForStencil("mxgraph.weblogos","ios","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"jamespot;fillColor=#695D5D;gradientColor=#100E0E",78,78,"","Jamespot",null,null,this.getTagsForStencil("mxgraph.weblogos","jamespot","web logos logo").join(" ")),
+this.createVertexTemplateEntry(a+"java",34.4,65,"","Java",null,null,this.getTagsForStencil("mxgraph.weblogos","java","web logos logo").join(" ")),this.createVertexTemplateEntry("image;image=img/lib/atlassian/Jira_Logo.svg;",72,72,"","Jira",null,null,this.getTagsForStencil("mxgraph.weblogos","jira logo","web logos logo").join(" ")),this.createVertexTemplateEntry("image;image=img/lib/atlassian/Jira_Core_Logo.svg;",55,66,"","Jira Core",null,null,this.getTagsForStencil("mxgraph.weblogos","jira core logo atlassian",
+"web logos logo").join(" ")),this.createVertexTemplateEntry("image;image=img/lib/atlassian/Jira_Service_Desk_Logo.svg;",59,76,"","Jira Service Desk",null,null,this.getTagsForStencil("mxgraph.weblogos","jira service desk logo atlassian","web logos logo").join(" ")),this.createVertexTemplateEntry("image;image=img/lib/atlassian/Jira_Software_Logo.svg;",74,76,"","Jira Software",null,null,this.getTagsForStencil("mxgraph.weblogos","jira software logo atlassian","web logos logo").join(" ")),this.createVertexTemplateEntry(a+
+"joomla;fillColor=#1F457D;gradientColor=#081220",66,.2*328,"","Joomla",null,null,this.getTagsForStencil("mxgraph.weblogos","joomla","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"jquery;fillColor=#0BB9EA;gradientColor=#032F80",73.8,67,"","Jquery",null,null,this.getTagsForStencil("mxgraph.weblogos","jquery","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"json",70,75.8,"","JSON",null,null,this.getTagsForStencil("mxgraph.weblogos","json","web logos logo").join(" ")),this.createVertexTemplateEntry(a+
+"json_2",80.4,.2*126,"","JSON",null,null,this.getTagsForStencil("mxgraph.weblogos","json","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"last.fm;fillColor=#F33543;gradientColor=#BD0E11",83.2,50,"","Last.fm",null,null,this.getTagsForStencil("mxgraph.weblogos","last.fm last fm","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"linkagogo;fillColor=#F6F5FA;gradientColor=#C8C1E1",102.2,80,"","Linkagogo",null,null,this.getTagsForStencil("mxgraph.weblogos","linkagogo","web logos logo").join(" ")),
+this.createVertexTemplateEntry(a+"linkedin;fillColor=#0095DB;gradientColor=#006391",.2*287,60.6,"","LinkedIn",null,null,this.getTagsForStencil("mxgraph.weblogos","linkedin","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"livejournal;fillColor=#2690E5;gradientColor=#0A2463",64,.2*343,"","Livejournal",null,null,this.getTagsForStencil("mxgraph.weblogos","livejournal","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"mail.ru;fillColor=#267BE0;gradientColor=#0A1F42",81.2,.2*
+393,"","Mail.ru",null,null,this.getTagsForStencil("mxgraph.weblogos","mail.ru","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"mathoverflow;fillColor=#656463;gradientColor=#F28711;gradientDirection=east",59,48.2,"","MathOverflow",null,null,this.getTagsForStencil("mxgraph.weblogos","mathoverflow","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"meetup;fillColor=#413E3E;strokeColor=none",74.8,30,"","Meetup",null,null,this.getTagsForStencil("mxgraph.weblogos","meetup","web logos logo").join(" ")),
+this.createVertexTemplateEntry(a+"meneame",76,.2*338,"","Meneame",null,null,this.getTagsForStencil("mxgraph.weblogos","meneame","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"messenger",.2*413,.2*384,"","Messenger",null,null,this.getTagsForStencil("mxgraph.weblogos","messenger","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"messenger_2",64.4,64.8,"","Messenger",null,null,this.getTagsForStencil("mxgraph.weblogos","messenger","web logos logo").join(" ")),this.createVertexTemplateEntry(a+
+"messenger_3;fillColor=#437BBD;strokeColor=#dddddd",64.4,64.8,"","Messenger",null,null,this.getTagsForStencil("mxgraph.weblogos","messenger","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"mind_body_green;strokeColor=#888888",81.4,.2*464,"","Mind Body Green",null,null,this.getTagsForStencil("mxgraph.weblogos","mind body green","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"mongodb",41.2,86.2,"","MongoDb",null,null,this.getTagsForStencil("mxgraph.weblogos","mongodb",
+"web logos logo").join(" ")),this.createVertexTemplateEntry(a+"myspace;fillColor=#003399;strokeColor=none",63,70.2,"","MySpace",null,null,this.getTagsForStencil("mxgraph.weblogos","myspace","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"n4g;fillColor=#000000;strokeColor=none",88.2,31.8,"","N4g",null,null,this.getTagsForStencil("mxgraph.weblogos","n4g","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"netlog;fillColor=#F42424;strokeColor=none",.2*383,68.8,"","Netlog",null,
+null,this.getTagsForStencil("mxgraph.weblogos","netlog","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"netvibes;fillColor=#84BD00;strokeColor=none",.2*309,.2*309,"","Netvibes",null,null,this.getTagsForStencil("mxgraph.weblogos","netvibes","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"netvouz",57.2,.2*287,"","Netvouz",null,null,this.getTagsForStencil("mxgraph.weblogos","netvouz","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"networkedblogs",.2*394,.2*
+394,"","Networkedblogs",null,null,this.getTagsForStencil("mxgraph.weblogos","networkedblogs","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"newsvine;fillColor=#005221;strokeColor=none",40.6,77.2,"","Newsvine",null,null,this.getTagsForStencil("mxgraph.weblogos","newsvine","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"odnoklassniki;fillColor=#F58220;strokeColor=none",.2*247,82,"","Odnoklassniki",null,null,this.getTagsForStencil("mxgraph.weblogos","odnoklassniki","web logos logo").join(" ")),
+this.createVertexTemplateEntry(a+"oknotizie",.2*237,70.4,"","Oknotizie",null,null,this.getTagsForStencil("mxgraph.weblogos","oknotizie","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"onedrive;fillColor=#094AB1;strokeColor=none",71.2,43.2,"","OneDrive",null,null,this.getTagsForStencil("mxgraph.weblogos","onedrive","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"oracle;fillColor=#FF0000;strokeColor=none",90,23,"","Oracle",null,null,this.getTagsForStencil("mxgraph.weblogos",
+"oracle","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"paypal",51.2,58,"","Paypal",null,null,this.getTagsForStencil("mxgraph.weblogos","paypal","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"phone;fillColor=#36BE0F;strokeColor=none",.2*289,54.2,"","Phone",null,null,this.getTagsForStencil("mxgraph.weblogos","phone","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"phonefavs",64.4,.2*394,"","Phonefavs",null,null,this.getTagsForStencil("mxgraph.weblogos",
+"phonefavs","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"pinterest;fillColor=#BD081C;strokeColor=none",.2*384,74.4,"","Pinterest",null,null,this.getTagsForStencil("mxgraph.weblogos","pinterest","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"plaxo;fillColor=#414F5C;strokeColor=none",80,80,"","Plaxo",null,null,this.getTagsForStencil("mxgraph.weblogos","plaxo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"playfire;fillColor=#FDA21A;gradientColor=#FEE635;strokeColor=none",
+62,61.6,"","Playfire",null,null,this.getTagsForStencil("mxgraph.weblogos","playfire","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"plurk;fillColor=#E9443D;strokeColor=none",102.4,102.4,"","Plurk",null,null,this.getTagsForStencil("mxgraph.weblogos","plurk","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"pocket;fillColor=#EE4056;strokeColor=none",.2*314,.2*289,"","Pocket",null,null,this.getTagsForStencil("mxgraph.weblogos","pocket","web logos logo").join(" ")),this.createVertexTemplateEntry(a+
+"protopage;fillColor=#4B78C0;gradientColor=#294282",.2*394,80,"","Protopage",null,null,this.getTagsForStencil("mxgraph.weblogos","protopage","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"readernaut;fillColor=#000000;strokeColor=none",72,72,"","Readernaut",null,null,this.getTagsForStencil("mxgraph.weblogos","readernaut","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"reddit;fillColor=#F3F8FC;gradientColor=#B4D2F0",88,.2*368,"","Reddit",null,null,this.getTagsForStencil("mxgraph.weblogos",
+"reddit","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"rss;fillColor=#F56800;strokeColor=none",.2*408,.2*408,"","RSS",null,null,this.getTagsForStencil("mxgraph.weblogos","rss","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"scoopit;fillColor=#6CAB36;strokeColor=none",58,70,"","Scoopit",null,null,this.getTagsForStencil("mxgraph.weblogos","scoopit","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"scribd;fillColor=#3D3533;strokeColor=none",.2*289,69.2,"",
+"Scribd",null,null,this.getTagsForStencil("mxgraph.weblogos","scribd","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"segnalo",.2*403,.2*389,"","Segnalo",null,null,this.getTagsForStencil("mxgraph.weblogos","segnalo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"sina",.2*429,.2*343,"","Sina",null,null,this.getTagsForStencil("mxgraph.weblogos","sina","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"sitejot",77.2,66,"","Sitejot",null,null,this.getTagsForStencil("mxgraph.weblogos",
+"sitejot","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"skype;fillColor=#2AACE2;strokeColor=none",.2*388,.2*394,"","Skype",null,null,this.getTagsForStencil("mxgraph.weblogos","skype","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"skyrock;fillColor=#009AFF;strokeColor=none",67.8,70.4,"","Skyrock",null,null,this.getTagsForStencil("mxgraph.weblogos","skyrock","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"slashdot;fillColor=#026664;strokeColor=none",.2*
+262,62,"","Slashdot",null,null,this.getTagsForStencil("mxgraph.weblogos","slashdot","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"sms;fillColor=#48B921;strokeColor=none",69.2,64,"","SMS",null,null,this.getTagsForStencil("mxgraph.weblogos","sms","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"socialvibe;fillColor=#EE2F7F;strokeColor=none",50,50,"","Socialvibe",null,null,this.getTagsForStencil("mxgraph.weblogos","socialvibe","web logos logo").join(" ")),this.createVertexTemplateEntry(a+
+"society6;fillColor=#000000;strokeColor=none",74.8,53,"","Society6",null,null,this.getTagsForStencil("mxgraph.weblogos","society6","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"sonico;fillColor=#01AEF0;strokeColor=none",69.2,63.2,"","Sonico",null,null,this.getTagsForStencil("mxgraph.weblogos","sonico","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"soundcloud;fillColor=#FE4600;strokeColor=none",73.4,32.6,"","Soundcloud",null,null,this.getTagsForStencil("mxgraph.weblogos",
+"soundcloud","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"sourceforge",74.2,74.4,"","Sourceforge",null,null,this.getTagsForStencil("mxgraph.weblogos","sourceforge","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"sourceforge_2;fillColor=#00547E;strokeColor=none",63.2,.2*234,"","Sourceforge",null,null,this.getTagsForStencil("mxgraph.weblogos","sourceforge","web logos logo").join(" ")),this.createVertexTemplateEntry("image;image=img/lib/atlassian/Sourcetree_Logo.svg;",
+57,71,"","Sourcetree",null,null,this.getTagsForStencil("mxgraph.weblogos","sourcetree logo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"spring.me;fillColor=#0374B8;strokeColor=none",73.2,31.6,"","Spring.me",null,null,this.getTagsForStencil("mxgraph.weblogos","spring me","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"stackexchange",.2*319,79,"","Stackexchange",null,null,this.getTagsForStencil("mxgraph.weblogos","stackexchange stack exchange","web logos logo").join(" ")),
+this.createVertexTemplateEntry(a+"stackoverflow",.2*272,64,"","StackOverflow",null,null,this.getTagsForStencil("mxgraph.weblogos","stackoverflow stack overflow","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"startaid;fillColor=#409FCF;strokeColor=none",41.2,42.6,"","Startaid",null,null,this.getTagsForStencil("mxgraph.weblogos","startaid","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"startlap;fillColor=#B9E6F0;gradientColor=#3062A2",82,84.2,"","Startlap",null,null,
+this.getTagsForStencil("mxgraph.weblogos","startlap","web logos logo").join(" ")),this.createVertexTemplateEntry("image;image=img/lib/atlassian/Statuspage_Logo.svg;",75,52,"","Statuspage",null,null,this.getTagsForStencil("mxgraph.weblogos","statuspage logo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"steam;fillColor=#695D5D;gradientColor=#100E0E",85.2,39.6,"","Steam",null,null,this.getTagsForStencil("mxgraph.weblogos","steam","web logos logo").join(" ")),this.createVertexTemplateEntry("image;image=img/lib/atlassian/Stride_Logo.svg;",
+69,57,"","Stride",null,null,this.getTagsForStencil("mxgraph.weblogos","stride logo atlassian","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"stumbleupon;fillColor=#EB4924;strokeColor=none",102.4,102.4,"","StumbleUpon",null,null,this.getTagsForStencil("mxgraph.weblogos","stumbleupon","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"stumpedia",67,.2*338,"","Stumpedia",null,null,this.getTagsForStencil("mxgraph.weblogos","stumpedia","web logos logo").join(" ")),this.createVertexTemplateEntry(a+
+"translate",68.4,67,"","Translate",null,null,this.getTagsForStencil("mxgraph.weblogos","translate","web logos logo").join(" ")),this.createVertexTemplateEntry("image;image=img/lib/atlassian/Trello_Logo.svg;",70,70,"","Trello",null,null,this.getTagsForStencil("mxgraph.weblogos","trello logo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"tumblr;fillColor=#36465D;strokeColor=none",40.6,65.2,"","Tumblr",null,null,this.getTagsForStencil("mxgraph.weblogos","tumblr","web logos logo").join(" ")),
+this.createVertexTemplateEntry(a+"tunein",70,70,"","Tunein",null,null,this.getTagsForStencil("mxgraph.weblogos","tunein","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"twitter;fillColor=#1DA1F2;strokeColor=none",80,70,"","Twitter",null,null,this.getTagsForStencil("mxgraph.weblogos","twitter","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"two;fillColor=#FF6D00;strokeColor=none",75.4,20,"","Two",null,null,this.getTagsForStencil("mxgraph.weblogos","two","web logos logo").join(" ")),
+this.createVertexTemplateEntry(a+"typepad;fillColor=#ADB560;strokeColor=none",64.8,.2*192,"","Typepad",null,null,this.getTagsForStencil("mxgraph.weblogos","typepad","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"viadeo",73.4,84,"","Viadeo",null,null,this.getTagsForStencil("mxgraph.weblogos","viadeo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"viber;fillColor=#7D539F;strokeColor=none",77.4,85.2,"","Viber",null,null,this.getTagsForStencil("mxgraph.weblogos","viber",
+"web logos logo").join(" ")),this.createVertexTemplateEntry(a+"viddler;fillColor=#1896E0;gradientColor=#06253F",82,.2*106,"","Viddler",null,null,this.getTagsForStencil("mxgraph.weblogos","viddler","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"vimeo;fillColor=#1AB7EA;strokeColor=none",62.6,58,"","Vimeo",null,null,this.getTagsForStencil("mxgraph.weblogos","vimeo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"virb;fillColor=#000000;strokeColor=none",66,.2*353,"","Virb",
+null,null,this.getTagsForStencil("mxgraph.weblogos","virb","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"vkontakte;fillColor=#4C75A3;strokeColor=none",70.4,40,"","Vkontakte",null,null,this.getTagsForStencil("mxgraph.weblogos","vkontakte","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"wakoopa;fillColor=#FF6D00;strokeColor=none",.2*413,.2*224,"","Wakoopa",null,null,this.getTagsForStencil("mxgraph.weblogos","wakoopa","web logos logo").join(" ")),this.createVertexTemplateEntry(a+
+"weheartit;fillColor=#FF4577;strokeColor=none",82.2,.2*348,"","Weheartit",null,null,this.getTagsForStencil("mxgraph.weblogos","weheartit","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"whatsapp;fillColor=#00E676;strokeColor=#dddddd",74.4,74.8,"","Whatsapp",null,null,this.getTagsForStencil("mxgraph.weblogos","whatsapp","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"wix;strokeColor=#dddddd",74,61.6,"","Wix",null,null,this.getTagsForStencil("mxgraph.weblogos","wix","web logos logo").join(" ")),
+this.createVertexTemplateEntry(a+"wordpress;fillColor=#00A7DA;strokeColor=none",.2*333,65.4,"","Wordpress",null,null,this.getTagsForStencil("mxgraph.weblogos","wordpress","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"wordpress_2;fillColor=#00A7DA;strokeColor=none",68.8,68.8,"","Wordpress",null,null,this.getTagsForStencil("mxgraph.weblogos","wordpress","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"xanga;fillColor=#000000;strokeColor=none",70,38,"","Xanga",null,null,
+this.getTagsForStencil("mxgraph.weblogos","xanga","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"xerpi;fillColor=#7F719B;gradientColor=#32264B;strokeColor=none",70.2,.2*328,"","Xerpi",null,null,this.getTagsForStencil("mxgraph.weblogos","xerpi","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"xing",65,73.8,"","Xing",null,null,this.getTagsForStencil("mxgraph.weblogos","xing","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"yahoo;fillColor=#65106E;strokeColor=none",
+74.4,43.6,"","Yahoo",null,null,this.getTagsForStencil("mxgraph.weblogos","yahoo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"yahoo_2;fillColor=#65106E;strokeColor=none",80,46.6,"","Yahoo",null,null,this.getTagsForStencil("mxgraph.weblogos","yahoo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"yammer;fillColor=#0093BE;strokeColor=none",.2*348,59.6,"","Yammer",null,null,this.getTagsForStencil("mxgraph.weblogos","yammer","web logos logo").join(" ")),this.createVertexTemplateEntry(a+
+"yandex",31.8,66.4,"","Yandex",null,null,this.getTagsForStencil("mxgraph.weblogos","yandex","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"yelp;fillColor=#C41200;strokeColor=none",.2*317,83,"","Yelp",null,null,this.getTagsForStencil("mxgraph.weblogos","yelp","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"yoolink",79.2,79.2,"","Yoolink",null,null,this.getTagsForStencil("mxgraph.weblogos","yoolink","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"youmob",
+76,76.2,"","Youmob",null,null,this.getTagsForStencil("mxgraph.weblogos","youmob","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"youtube;fillColor=#FF2626;gradientColor=#B5171F",.2*786,65.8,"","Youtube",null,null,this.getTagsForStencil("mxgraph.weblogos","youtube","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"youtube_2;fillColor=#FF2626;gradientColor=#B5171F",.2*232,32.6,"","Youtube",null,null,this.getTagsForStencil("mxgraph.weblogos","youtube","web logos logo").join(" "))])}})();
+DrawioFile=function(b,d){mxEventSource.call(this);this.ui=b;this.data=d||""};mxUtils.extend(DrawioFile,mxEventSource);DrawioFile.prototype.autosaveDelay=1500;DrawioFile.prototype.maxAutosaveDelay=3E4;DrawioFile.prototype.autosaveThread=null;DrawioFile.prototype.lastAutosave=null;DrawioFile.prototype.modified=!1;DrawioFile.prototype.changeListenerEnabled=!0;DrawioFile.prototype.lastAutosaveRevision=null;DrawioFile.prototype.maxAutosaveRevisionDelay=18E5;DrawioFile.prototype.descriptorChanged=function(){this.fireEvent(new mxEventObject("descriptorChanged"))};
+DrawioFile.prototype.contentChanged=function(){this.fireEvent(new mxEventObject("contentChanged"))};DrawioFile.prototype.save=function(b,d,f,c){this.updateFileData();this.clearAutosave()};DrawioFile.prototype.updateFileData=function(){this.setData(this.ui.getFileData(null,null,null,null,null,null,null,null,this))};DrawioFile.prototype.saveAs=function(b,d,f){};DrawioFile.prototype.saveFile=function(b,d,f,c){};DrawioFile.prototype.getPublicUrl=function(b){b(null)};
+DrawioFile.prototype.isRestricted=function(){return!1};DrawioFile.prototype.isModified=function(){return this.modified};DrawioFile.prototype.setModified=function(b){this.modified=b};DrawioFile.prototype.isAutosaveOptional=function(){return!1};DrawioFile.prototype.isAutosave=function(){return this.ui.editor.autosave};DrawioFile.prototype.isRenamable=function(){return!1};DrawioFile.prototype.rename=function(b,d,f){};DrawioFile.prototype.isMovable=function(){return!1};
+DrawioFile.prototype.move=function(b,d,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.setData=function(b){this.data=b};DrawioFile.prototype.getData=function(){return this.data};
+DrawioFile.prototype.open=function(){this.ui.setFileData(this.getData());this.changeListener=mxUtils.bind(this,function(b,d){var f=null!=d?d.getProperty("edit"):null;!this.changeListenerEnabled||!this.isEditable()||null!=f&&f.ignoreEdit||(this.setModified(!0),this.isAutosave()?(this.ui.editor.setStatus(mxUtils.htmlEntities(mxResources.get("saving"))+"..."),this.autosave(this.autosaveDelay,this.maxAutosaveDelay,mxUtils.bind(this,function(b){null!=this.autosaveThread||this.ui.getCurrentFile()!=this||
this.isModified()||this.ui.editor.setStatus(mxUtils.htmlEntities(mxResources.get("allChangesSaved")))}),mxUtils.bind(this,function(b){this.ui.getCurrentFile()==this&&this.addUnsavedStatus(b)}))):this.addUnsavedStatus())});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)};
DrawioFile.prototype.addUnsavedStatus=function(b){b instanceof Error&&null!=b.message?this.ui.editor.setStatus('<div class="geStatusAlert" style="overflow:hidden;">'+mxUtils.htmlEntities(mxResources.get("unsavedChanges"))+" ("+mxUtils.htmlEntities(b.message)+")</div>"):(this.ui.editor.setStatus('<div class="geStatusAlert" style="cursor:pointer;overflow:hidden;">'+mxUtils.htmlEntities(mxResources.get("unsavedChangesClickHereToSave"))+"</div>"),null!=this.ui.statusContainer&&(b=this.ui.statusContainer.getElementsByTagName("div"),
0<b.length&&mxEvent.addListener(b[0],"click",mxUtils.bind(this,function(){this.ui.actions.get(null==this.ui.mode?"saveAs":"save").funct()}))))};
-DrawioFile.prototype.autosave=function(b,e,d,c){null==this.lastAutosave&&(this.lastAutosave=(new Date).getTime());b=(new Date).getTime()-this.lastAutosave<e?b:0;this.clearAutosave();this.autosaveThread=window.setTimeout(mxUtils.bind(this,function(){this.lastAutosave=this.autosaveThread=null;if(this.isModified()&&this.isAutosaveNow()){var b=this.isAutosaveRevision();b&&(this.lastAutosaveRevision=(new Date).getTime());this.save(b,mxUtils.bind(this,function(b){this.autosaveCompleted();null!=d&&d(b)}),
-mxUtils.bind(this,function(b){null!=c&&c(b)}))}else null!=d&&d(null)}),b)};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 b=(new Date).getTime();return null==this.lastAutosaveRevision||b-this.lastAutosaveRevision>this.maxAutosaveRevisionDelay};
-DrawioFile.prototype.close=function(b){this.isAutosave()&&this.isModified()&&this.save(this.isAutosaveRevision(),null,null,b);this.destroy()};DrawioFile.prototype.hasSameExtension=function(b,e){if(null!=b&&null!=e){var d=b.lastIndexOf("."),c=0<d?b.substring(d):"",d=e.lastIndexOf(".");return c===(0<d?e.substring(d):"")}return b==e};
-DrawioFile.prototype.destroy=function(){this.clearAutosave();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)};LocalFile=function(b,e,d,c){DrawioFile.call(this,b,e);this.title=d;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(b,e,d){this.saveAs(this.title,e,d)};LocalFile.prototype.saveAs=function(b,e,d){this.saveFile(b,!1,e,d)};
-LocalFile.prototype.saveFile=function(b,e,d,c){this.title=b;this.updateFileData();e=this.getData();var g=this.ui.useCanvasForExport&&/(\.png)$/i.test(this.getTitle()),k=mxUtils.bind(this,function(c){if(this.ui.isOfflineApp()||this.ui.isLocalFileSave())this.ui.doSaveLocalFile(c,b,g?"image/png":"text/xml",g);else if(c.length<MAX_REQUEST_SIZE){var e=b.lastIndexOf("."),e=0<e?b.substring(e+1):"xml";(new mxXmlRequest(SAVE_URL,"format="+e+"&xml="+encodeURIComponent(c)+"&filename="+encodeURIComponent(b)+
-(g?"&binary=1":""))).simulate(document,"_blank")}else this.ui.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(c)}));this.setModified(!1);this.contentChanged();null!=d&&d()});g?this.ui.getEmbeddedPng(mxUtils.bind(this,function(b){k(b)}),c,this.ui.getCurrentFile()!=this?this.getData():null):k(e)};LocalFile.prototype.rename=function(b,e,d){this.title=b;this.descriptorChanged();null!=e&&e()};
-LocalFile.prototype.open=function(){this.ui.setFileData(this.getData());this.changeListener=mxUtils.bind(this,function(b,e){this.setModified(!0);this.addUnsavedStatus()});this.ui.editor.graph.model.addListener(mxEvent.CHANGE,this.changeListener)};LocalLibrary=function(b,e,d){LocalFile.call(this,b,e,d)};mxUtils.extend(LocalLibrary,LocalFile);LocalLibrary.prototype.getHash=function(){return"F"+this.getTitle()};LocalLibrary.prototype.isAutosave=function(){return!1};LocalLibrary.prototype.saveAs=function(b,e,d){this.saveFile(b,!1,e,d)};LocalLibrary.prototype.updateFileData=function(){};LocalLibrary.prototype.open=function(){};StorageFile=function(b,e,d){DrawioFile.call(this,b,e);this.title=d};mxUtils.extend(StorageFile,DrawioFile);StorageFile.prototype.autosaveDelay=2E3;StorageFile.prototype.maxAutosaveDelay=2E4;StorageFile.prototype.getMode=function(){return App.MODE_BROWSER};StorageFile.prototype.isAutosaveOptional=function(){return!0};StorageFile.prototype.getHash=function(){return"L"+encodeURIComponent(this.getTitle())};StorageFile.prototype.getTitle=function(){return this.title};
-StorageFile.prototype.isRenamable=function(){return!0};StorageFile.prototype.save=function(b,e,d){this.saveAs(this.getTitle(),e,d)};StorageFile.prototype.saveAs=function(b,e,d){DrawioFile.prototype.save.apply(this,arguments);this.saveFile(b,!1,e,d)};
-StorageFile.prototype.saveFile=function(b,e,d,c){if(this.isEditable()){var g=mxUtils.bind(this,function(){this.isRenamable()&&(this.title=b);try{this.ui.setLocalData(this.title,this.getData(),mxUtils.bind(this,function(){this.setModified(!1);this.contentChanged();null!=d&&d()}))}catch(k){null!=c&&c(k)}});this.isRenamable()&&"."==b.charAt(0)&&null!=c?c({message:mxResources.get("invalidName")}):this.ui.getLocalData(b,mxUtils.bind(this,function(d){this.isRenamable()&&this.getTitle()!=b&&null!=d?this.ui.confirm(mxResources.get("replaceIt",
-[b]),g,c):g()}))}else null!=d&&d()};StorageFile.prototype.rename=function(b,e,d){var c=this.getTitle();c!=b?this.ui.getLocalData(b,mxUtils.bind(this,function(g){var k=mxUtils.bind(this,function(){this.title=b;this.hasSameExtension(c,b)||this.setData(this.ui.getFileData());this.saveFile(b,!1,mxUtils.bind(this,function(){this.ui.removeLocalData(c,e)}),d)});null!=g?this.ui.confirm(mxResources.get("replaceIt",[b]),k,d):k()})):e()};
-StorageFile.prototype.open=function(){DrawioFile.prototype.open.apply(this,arguments);this.saveFile(this.getTitle())};StorageFile.prototype.destroy=function(){DrawioFile.prototype.destroy.apply(this,arguments);null!=this.storageListener&&(mxEvent.removeListener(window,"storage",this.storageListener),this.storageListener=null)};StorageLibrary=function(b,e,d){StorageFile.call(this,b,e,d)};mxUtils.extend(StorageLibrary,StorageFile);StorageLibrary.prototype.isAutosave=function(){return!0};StorageLibrary.prototype.saveAs=function(b,e,d){this.saveFile(b,!1,e,d)};StorageLibrary.prototype.getHash=function(){return"L"+encodeURIComponent(this.title)};StorageLibrary.prototype.getTitle=function(){return".scratchpad"==this.title?mxResources.get("scratchpad"):this.title};
-StorageLibrary.prototype.isRenamable=function(b,e,d){return".scratchpad"!=this.title};StorageLibrary.prototype.open=function(){};UrlLibrary=function(b,e,d){StorageFile.call(this,b,e,d);b=d;e=b.lastIndexOf("/");0<=e&&(b=b.substring(e+1));this.fname=b};mxUtils.extend(UrlLibrary,StorageFile);UrlLibrary.prototype.getHash=function(){return"U"+encodeURIComponent(this.title)};UrlLibrary.prototype.getTitle=function(){return this.fname};UrlLibrary.prototype.isAutosave=function(){return!1};UrlLibrary.prototype.isEditable=function(b,e,d){return!1};UrlLibrary.prototype.saveAs=function(b,e,d){};UrlLibrary.prototype.open=function(){};var StorageDialog=function(b,e,d){function c(c,u,m,l,v,t){function w(){mxEvent.addListener(x,"click",null!=t?t:function(){m!=App.MODE_GOOGLE||b.isDriveDomain()?m==App.MODE_GOOGLE&&b.spinner.spin(document.body,mxResources.get("authorizing"))?b.drive.checkToken(mxUtils.bind(this,function(){b.spinner.stop();b.setMode(m,a.checked);e()})):(b.setMode(m,a.checked),e()):window.location.hostname=DriveClient.prototype.newAppHostname})}var x=document.createElement("a");x.style.overflow="hidden";x.style.display=
-mxClient.IS_QUIRKS?"inline":"inline-block";x.className="geBaseButton";x.style.boxSizing="border-box";x.style.fontSize="11px";x.style.position="relative";x.style.margin="4px";x.style.padding="8px 10px 12px 10px";x.style.width="88px";x.style.height="100px";x.style.whiteSpace="nowrap";x.setAttribute("title",u);mxClient.IS_QUIRKS&&(x.style.cssFloat="left",x.style.zoom="1");var C=document.createElement("div");C.style.textOverflow="ellipsis";C.style.overflow="hidden";if(null!=c){var g=document.createElement("img");
-g.setAttribute("src",c);g.setAttribute("border","0");g.setAttribute("align","absmiddle");g.style.width="60px";g.style.height="60px";g.style.paddingBottom="6px";x.appendChild(g)}else C.style.paddingTop="5px",C.style.whiteSpace="normal",mxClient.IS_IOS?(x.style.padding="0px 10px 20px 10px",x.style.top="6px"):mxClient.IS_FF&&(C.style.paddingTop="0px",C.style.marginTop="-2px");x.appendChild(C);mxUtils.write(C,u);if(null!=v)for(c=0;c<v.length;c++)mxUtils.br(C),mxUtils.write(C,v[c]);if(null!=l&&null==b[l]){g.style.visibility=
-"hidden";mxUtils.setOpacity(C,10);var k=new Spinner({lines:12,length:12,width:5,radius:10,rotate:0,color:"dark"==uiTheme?"#c0c0c0":"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9});k.spin(x);var H=window.setTimeout(function(){null==b[l]&&(k.stop(),x.style.display="none")},3E4);b.addListener("clientLoaded",mxUtils.bind(this,function(){null!=b[l]&&(window.clearTimeout(H),mxUtils.setOpacity(C,100),g.style.visibility="",k.stop(),w(),"drive"==l&&null!=h.parentNode&&h.parentNode.removeChild(h))}))}else w();
-q.appendChild(x);++f>=d&&(mxUtils.br(q),f=0)}d=null!=d?d:2;var g=document.createElement("div");g.style.textAlign="center";g.style.whiteSpace="nowrap";g.style.paddingTop="0px";g.style.paddingBottom="20px";var k=b.addLanguageMenu(g,!0);null!=k&&(k.style.bottom=parseInt("28px")-2+"px");if(!b.isOffline()&&1<b.getServiceCount()){k=document.createElement("a");k.setAttribute("href","https://about.draw.io/support/");k.setAttribute("title",mxResources.get("help"));k.setAttribute("target","_blank");k.style.position=
-"absolute";k.style.textDecoration="none";k.style.cursor="pointer";k.style.fontSize="12px";k.style.bottom="28px";k.style.left="26px";k.style.color="gray";var n=document.createElement("img");n.setAttribute("border","0");n.setAttribute("valign","bottom");n.setAttribute("src",Editor.helpImage);n.style.marginRight="2px";k.appendChild(n);mxUtils.write(k,mxResources.get("help"));g.appendChild(k)}var p=document.createElement("div");p.style.position="absolute";p.style.cursor="pointer";p.style.fontSize="12px";
-p.style.bottom="28px";p.style.color="gray";mxUtils.write(p,mxResources.get("decideLater"));b.isOfflineApp()?p.style.right="20px":(mxUtils.setPrefixedStyle(p.style,"transform","translate(-50%,0)"),p.style.left="50%");this.init=function(){if(mxClient.IS_QUIRKS||8==document.documentMode)p.style.marginLeft=-Math.round(p.clientWidth/2)+"px"};g.appendChild(p);mxEvent.addListener(p,"click",function(){b.hideDialog();var a=Editor.useLocalStorage;b.createFile(b.defaultFilename,null,null,null,null,null,null,
-!0);Editor.useLocalStorage=a});var q=document.createElement("div");mxClient.IS_QUIRKS&&(q.style.whiteSpace="nowrap",q.style.cssFloat="left");q.style.border="1px solid #d3d3d3";q.style.borderWidth="1px 0px 1px 0px";q.style.padding="12px 0px 12px 0px";var a=document.createElement("input");a.setAttribute("type","checkbox");a.setAttribute("checked","checked");a.defaultChecked=!0;var f=0,h=document.createElement("p"),k=document.createElement("p");k.style.fontSize="16pt";k.style.padding="0px";k.style.paddingTop=
+DrawioFile.prototype.autosave=function(b,d,f,c){null==this.lastAutosave&&(this.lastAutosave=(new Date).getTime());b=(new Date).getTime()-this.lastAutosave<d?b:0;this.clearAutosave();this.autosaveThread=window.setTimeout(mxUtils.bind(this,function(){this.lastAutosave=this.autosaveThread=null;if(this.isModified()&&this.isAutosaveNow()){var b=this.isAutosaveRevision();b&&(this.lastAutosaveRevision=(new Date).getTime());this.save(b,mxUtils.bind(this,function(b){this.autosaveCompleted();null!=f&&f(b)}),
+mxUtils.bind(this,function(b){null!=c&&c(b)}))}else null!=f&&f(null)}),b)};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 b=(new Date).getTime();return null==this.lastAutosaveRevision||b-this.lastAutosaveRevision>this.maxAutosaveRevisionDelay};
+DrawioFile.prototype.close=function(b){this.isAutosave()&&this.isModified()&&this.save(this.isAutosaveRevision(),null,null,b);this.destroy()};DrawioFile.prototype.hasSameExtension=function(b,d){if(null!=b&&null!=d){var f=b.lastIndexOf("."),c=0<f?b.substring(f):"",f=d.lastIndexOf(".");return c===(0<f?d.substring(f):"")}return b==d};
+DrawioFile.prototype.destroy=function(){this.clearAutosave();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)};LocalFile=function(b,d,f,c){DrawioFile.call(this,b,d);this.title=f;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(b,d,f){this.saveAs(this.title,d,f)};LocalFile.prototype.saveAs=function(b,d,f){this.saveFile(b,!1,d,f)};
+LocalFile.prototype.saveFile=function(b,d,f,c){this.title=b;this.updateFileData();d=this.getData();var g=this.ui.useCanvasForExport&&/(\.png)$/i.test(this.getTitle()),k=mxUtils.bind(this,function(c){if(this.ui.isOfflineApp()||this.ui.isLocalFileSave())this.ui.doSaveLocalFile(c,b,g?"image/png":"text/xml",g);else if(c.length<MAX_REQUEST_SIZE){var d=b.lastIndexOf("."),d=0<d?b.substring(d+1):"xml";(new mxXmlRequest(SAVE_URL,"format="+d+"&xml="+encodeURIComponent(c)+"&filename="+encodeURIComponent(b)+
+(g?"&binary=1":""))).simulate(document,"_blank")}else this.ui.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(c)}));this.setModified(!1);this.contentChanged();null!=f&&f()});g?this.ui.getEmbeddedPng(mxUtils.bind(this,function(b){k(b)}),c,this.ui.getCurrentFile()!=this?this.getData():null):k(d)};LocalFile.prototype.rename=function(b,d,f){this.title=b;this.descriptorChanged();null!=d&&d()};
+LocalFile.prototype.open=function(){this.ui.setFileData(this.getData());this.changeListener=mxUtils.bind(this,function(b,d){this.setModified(!0);this.addUnsavedStatus()});this.ui.editor.graph.model.addListener(mxEvent.CHANGE,this.changeListener)};LocalLibrary=function(b,d,f){LocalFile.call(this,b,d,f)};mxUtils.extend(LocalLibrary,LocalFile);LocalLibrary.prototype.getHash=function(){return"F"+this.getTitle()};LocalLibrary.prototype.isAutosave=function(){return!1};LocalLibrary.prototype.saveAs=function(b,d,f){this.saveFile(b,!1,d,f)};LocalLibrary.prototype.updateFileData=function(){};LocalLibrary.prototype.open=function(){};StorageFile=function(b,d,f){DrawioFile.call(this,b,d);this.title=f};mxUtils.extend(StorageFile,DrawioFile);StorageFile.prototype.autosaveDelay=2E3;StorageFile.prototype.maxAutosaveDelay=2E4;StorageFile.prototype.getMode=function(){return App.MODE_BROWSER};StorageFile.prototype.isAutosaveOptional=function(){return!0};StorageFile.prototype.getHash=function(){return"L"+encodeURIComponent(this.getTitle())};StorageFile.prototype.getTitle=function(){return this.title};
+StorageFile.prototype.isRenamable=function(){return!0};StorageFile.prototype.save=function(b,d,f){this.saveAs(this.getTitle(),d,f)};StorageFile.prototype.saveAs=function(b,d,f){DrawioFile.prototype.save.apply(this,arguments);this.saveFile(b,!1,d,f)};
+StorageFile.prototype.saveFile=function(b,d,f,c){if(this.isEditable()){var g=mxUtils.bind(this,function(){this.isRenamable()&&(this.title=b);try{this.ui.setLocalData(this.title,this.getData(),mxUtils.bind(this,function(){this.setModified(!1);this.contentChanged();null!=f&&f()}))}catch(k){null!=c&&c(k)}});this.isRenamable()&&"."==b.charAt(0)&&null!=c?c({message:mxResources.get("invalidName")}):this.ui.getLocalData(b,mxUtils.bind(this,function(f){this.isRenamable()&&this.getTitle()!=b&&null!=f?this.ui.confirm(mxResources.get("replaceIt",
+[b]),g,c):g()}))}else null!=f&&f()};StorageFile.prototype.rename=function(b,d,f){var c=this.getTitle();c!=b?this.ui.getLocalData(b,mxUtils.bind(this,function(g){var k=mxUtils.bind(this,function(){this.title=b;this.hasSameExtension(c,b)||this.setData(this.ui.getFileData());this.saveFile(b,!1,mxUtils.bind(this,function(){this.ui.removeLocalData(c,d)}),f)});null!=g?this.ui.confirm(mxResources.get("replaceIt",[b]),k,f):k()})):d()};
+StorageFile.prototype.open=function(){DrawioFile.prototype.open.apply(this,arguments);this.saveFile(this.getTitle())};StorageFile.prototype.destroy=function(){DrawioFile.prototype.destroy.apply(this,arguments);null!=this.storageListener&&(mxEvent.removeListener(window,"storage",this.storageListener),this.storageListener=null)};StorageLibrary=function(b,d,f){StorageFile.call(this,b,d,f)};mxUtils.extend(StorageLibrary,StorageFile);StorageLibrary.prototype.isAutosave=function(){return!0};StorageLibrary.prototype.saveAs=function(b,d,f){this.saveFile(b,!1,d,f)};StorageLibrary.prototype.getHash=function(){return"L"+encodeURIComponent(this.title)};StorageLibrary.prototype.getTitle=function(){return".scratchpad"==this.title?mxResources.get("scratchpad"):this.title};
+StorageLibrary.prototype.isRenamable=function(b,d,f){return".scratchpad"!=this.title};StorageLibrary.prototype.open=function(){};UrlLibrary=function(b,d,f){StorageFile.call(this,b,d,f);b=f;d=b.lastIndexOf("/");0<=d&&(b=b.substring(d+1));this.fname=b};mxUtils.extend(UrlLibrary,StorageFile);UrlLibrary.prototype.getHash=function(){return"U"+encodeURIComponent(this.title)};UrlLibrary.prototype.getTitle=function(){return this.fname};UrlLibrary.prototype.isAutosave=function(){return!1};UrlLibrary.prototype.isEditable=function(b,d,f){return!1};UrlLibrary.prototype.saveAs=function(b,d,f){};UrlLibrary.prototype.open=function(){};var StorageDialog=function(b,d,f){function c(c,q,u,m,v,t){function y(){mxEvent.addListener(w,"click",null!=t?t:function(){u!=App.MODE_GOOGLE||b.isDriveDomain()?u==App.MODE_GOOGLE&&b.spinner.spin(document.body,mxResources.get("authorizing"))?b.drive.checkToken(mxUtils.bind(this,function(){b.spinner.stop();b.setMode(u,a.checked);d()})):(b.setMode(u,a.checked),d()):window.location.hostname=DriveClient.prototype.newAppHostname})}var w=document.createElement("a");w.style.overflow="hidden";w.style.display=
+mxClient.IS_QUIRKS?"inline":"inline-block";w.className="geBaseButton";w.style.boxSizing="border-box";w.style.fontSize="11px";w.style.position="relative";w.style.margin="4px";w.style.padding="8px 10px 12px 10px";w.style.width="88px";w.style.height="100px";w.style.whiteSpace="nowrap";w.setAttribute("title",q);mxClient.IS_QUIRKS&&(w.style.cssFloat="left",w.style.zoom="1");var x=document.createElement("div");x.style.textOverflow="ellipsis";x.style.overflow="hidden";if(null!=c){var g=document.createElement("img");
+g.setAttribute("src",c);g.setAttribute("border","0");g.setAttribute("align","absmiddle");g.style.width="60px";g.style.height="60px";g.style.paddingBottom="6px";w.appendChild(g)}else x.style.paddingTop="5px",x.style.whiteSpace="normal",mxClient.IS_IOS?(w.style.padding="0px 10px 20px 10px",w.style.top="6px"):mxClient.IS_FF&&(x.style.paddingTop="0px",x.style.marginTop="-2px");w.appendChild(x);mxUtils.write(x,q);if(null!=v)for(c=0;c<v.length;c++)mxUtils.br(x),mxUtils.write(x,v[c]);if(null!=m&&null==b[m]){g.style.visibility=
+"hidden";mxUtils.setOpacity(x,10);var k=new Spinner({lines:12,length:12,width:5,radius:10,rotate:0,color:"dark"==uiTheme?"#c0c0c0":"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9});k.spin(w);var F=window.setTimeout(function(){null==b[m]&&(k.stop(),w.style.display="none")},3E4);b.addListener("clientLoaded",mxUtils.bind(this,function(){null!=b[m]&&(window.clearTimeout(F),mxUtils.setOpacity(x,100),g.style.visibility="",k.stop(),y(),"drive"==m&&null!=h.parentNode&&h.parentNode.removeChild(h))}))}else y();
+p.appendChild(w);++e>=f&&(mxUtils.br(p),e=0)}f=null!=f?f:2;var g=document.createElement("div");g.style.textAlign="center";g.style.whiteSpace="nowrap";g.style.paddingTop="0px";g.style.paddingBottom="20px";var k=b.addLanguageMenu(g,!0);null!=k&&(k.style.bottom=parseInt("28px")-2+"px");if(!b.isOffline()&&1<b.getServiceCount()){k=document.createElement("a");k.setAttribute("href","https://about.draw.io/support/");k.setAttribute("title",mxResources.get("help"));k.setAttribute("target","_blank");k.style.position=
+"absolute";k.style.textDecoration="none";k.style.cursor="pointer";k.style.fontSize="12px";k.style.bottom="28px";k.style.left="26px";k.style.color="gray";var l=document.createElement("img");l.setAttribute("border","0");l.setAttribute("valign","bottom");l.setAttribute("src",Editor.helpImage);l.style.marginRight="2px";k.appendChild(l);mxUtils.write(k,mxResources.get("help"));g.appendChild(k)}var n=document.createElement("div");n.style.position="absolute";n.style.cursor="pointer";n.style.fontSize="12px";
+n.style.bottom="28px";n.style.color="gray";mxUtils.write(n,mxResources.get("decideLater"));b.isOfflineApp()?n.style.right="20px":(mxUtils.setPrefixedStyle(n.style,"transform","translate(-50%,0)"),n.style.left="50%");this.init=function(){if(mxClient.IS_QUIRKS||8==document.documentMode)n.style.marginLeft=-Math.round(n.clientWidth/2)+"px"};g.appendChild(n);mxEvent.addListener(n,"click",function(){b.hideDialog();var a=Editor.useLocalStorage;b.createFile(b.defaultFilename,null,null,null,null,null,null,
+!0);Editor.useLocalStorage=a});var p=document.createElement("div");mxClient.IS_QUIRKS&&(p.style.whiteSpace="nowrap",p.style.cssFloat="left");p.style.border="1px solid #d3d3d3";p.style.borderWidth="1px 0px 1px 0px";p.style.padding="12px 0px 12px 0px";var a=document.createElement("input");a.setAttribute("type","checkbox");a.setAttribute("checked","checked");a.defaultChecked=!0;var e=0,h=document.createElement("p"),k=document.createElement("p");k.style.fontSize="16pt";k.style.padding="0px";k.style.paddingTop=
"4px";k.style.paddingBottom="16px";k.style.margin="0px";k.style.color="gray";mxUtils.write(k,mxResources.get("saveDiagramsTo")+":");g.appendChild(k);"function"===typeof window.DriveClient&&c(IMAGE_PATH+"/google-drive-logo.svg",mxResources.get("googleDrive"),App.MODE_GOOGLE,"drive");"function"===typeof window.OneDriveClient&&c(IMAGE_PATH+"/onedrive-logo.svg",mxResources.get("oneDrive"),App.MODE_ONEDRIVE,"oneDrive");mxClient.IS_IOS&&"device"!=urlParams.storage||c(IMAGE_PATH+"/osa_drive-harddisk.png",
-mxResources.get("device"),App.MODE_DEVICE);!isLocalStorage||"1"!=urlParams.browser&&"1"!=urlParams.offline||c(IMAGE_PATH+"/osa_database.png",mxResources.get("browser"),App.MODE_BROWSER);g.appendChild(q);k=document.createElement("p");k.style.marginTop="12px";k.style.marginBottom="6px";k.appendChild(a);n=document.createElement("span");n.style.color="gray";n.style.fontSize="12px";mxUtils.write(n," "+mxResources.get("rememberThisSetting"));k.appendChild(n);mxUtils.br(k);var m=b.getRecent();if(null!=m&&
-0<m.length){var u=document.createElement("select");u.style.marginTop="8px";u.style.width="140px";var t=document.createElement("option");t.setAttribute("value","");t.setAttribute("selected","selected");t.style.textAlign="center";mxUtils.write(t,mxResources.get("openRecent")+"...");u.appendChild(t);for(t=0;t<m.length;t++)(function(a){var b=a.mode;b==App.MODE_GOOGLE?b="googleDrive":b==App.MODE_ONEDRIVE&&(b="oneDrive");var f=document.createElement("option");f.setAttribute("value",a.id);mxUtils.write(f,
-a.title+" ("+mxResources.get(b)+")");u.appendChild(f)})(m[t]);k.appendChild(u);mxEvent.addListener(u,"change",function(a){""!=u.value&&b.loadFile(u.value)})}else k.style.marginTop="20px",q.style.padding="30px 0px 26px 0px";!Graph.fileSupport||mxClient.IS_IE||mxClient.IS_IE11||(m=document.createElement("div"),m.style.cursor="pointer",m.style.padding="18px 0px 6px 0px",m.style.fontSize="12px",m.style.color="gray",mxUtils.write(m,mxResources.get("import")+": "+mxResources.get("gliffy")+", "+mxResources.get("formatVssx")+
-", "+mxResources.get("formatVsdx")+", "+mxResources.get("lucidchart")+"..."),mxEvent.addListener(m,"click",function(){var a=document.createElement("input");a.setAttribute("type","file");mxEvent.addListener(a,"change",function(){null!=a.files&&(b.hideDialog(),b.openFiles(a.files,!0))});a.click()}),k.appendChild(m),q.style.paddingBottom="4px");q.appendChild(k);mxEvent.addListener(n,"click",function(b){a.checked=!a.checked;mxEvent.consume(b)});mxClient.IS_SVG&&isLocalStorage&&"0"!=urlParams.gapi&&(null==
+mxResources.get("device"),App.MODE_DEVICE);!isLocalStorage||"1"!=urlParams.browser&&"1"!=urlParams.offline||c(IMAGE_PATH+"/osa_database.png",mxResources.get("browser"),App.MODE_BROWSER);g.appendChild(p);k=document.createElement("p");k.style.marginTop="12px";k.style.marginBottom="6px";k.appendChild(a);l=document.createElement("span");l.style.color="gray";l.style.fontSize="12px";mxUtils.write(l," "+mxResources.get("rememberThisSetting"));k.appendChild(l);mxUtils.br(k);var u=b.getRecent();if(null!=u&&
+0<u.length){var q=document.createElement("select");q.style.marginTop="8px";q.style.width="140px";var t=document.createElement("option");t.setAttribute("value","");t.setAttribute("selected","selected");t.style.textAlign="center";mxUtils.write(t,mxResources.get("openRecent")+"...");q.appendChild(t);for(t=0;t<u.length;t++)(function(a){var b=a.mode;b==App.MODE_GOOGLE?b="googleDrive":b==App.MODE_ONEDRIVE&&(b="oneDrive");var e=document.createElement("option");e.setAttribute("value",a.id);mxUtils.write(e,
+a.title+" ("+mxResources.get(b)+")");q.appendChild(e)})(u[t]);k.appendChild(q);mxEvent.addListener(q,"change",function(a){""!=q.value&&b.loadFile(q.value)})}else k.style.marginTop="20px",p.style.padding="30px 0px 26px 0px";!Graph.fileSupport||mxClient.IS_IE||mxClient.IS_IE11||(u=document.createElement("div"),u.style.cursor="pointer",u.style.padding="18px 0px 6px 0px",u.style.fontSize="12px",u.style.color="gray",mxUtils.write(u,mxResources.get("import")+": "+mxResources.get("gliffy")+", "+mxResources.get("formatVssx")+
+", "+mxResources.get("formatVsdx")+", "+mxResources.get("lucidchart")+"..."),mxEvent.addListener(u,"click",function(){var a=document.createElement("input");a.setAttribute("type","file");mxEvent.addListener(a,"change",function(){null!=a.files&&(b.hideDialog(),b.openFiles(a.files,!0))});a.click()}),k.appendChild(u),p.style.paddingBottom="4px");p.appendChild(k);mxEvent.addListener(l,"click",function(b){a.checked=!a.checked;mxEvent.consume(b)});mxClient.IS_SVG&&isLocalStorage&&"0"!=urlParams.gapi&&(null==
document.documentMode||10<=document.documentMode)&&window.setTimeout(function(){null==b.drive&&(h.style.padding="8px",h.style.fontSize="9pt",h.style.marginTop="-14px",h.innerHTML='<a style="background-color:#dcdcdc;padding:5px;color:black;text-decoration:none;" href="https://plus.google.com/u/0/+DrawIo1/posts/1HTrfsb5wDN" target="_blank"><img border="0" src="'+mxGraph.prototype.warningImage.src+'" align="top"> '+mxResources.get("googleDriveMissingClickHere")+"</a>",g.appendChild(h))},5E3);this.container=
-g},SplashDialog=function(b){var e=document.createElement("div");e.style.textAlign="center";b.addLanguageMenu(e,!0);var d=null,d=b.getServiceCount();if(!b.isOffline()&&1<d){d=document.createElement("a");d.setAttribute("href","https://about.draw.io/support/");d.setAttribute("title",mxResources.get("help"));d.setAttribute("target","_blank");d.style.position="absolute";d.style.fontSize="12px";d.style.textDecoration="none";d.style.cursor="pointer";d.style.bottom="22px";d.style.left="26px";d.style.color=
-"gray";var c=document.createElement("img");c.setAttribute("border","0");c.setAttribute("valign","bottom");c.setAttribute("src",Editor.helpImage);c.style.marginRight="2px";d.appendChild(c);mxUtils.write(d,mxResources.get("help"));e.appendChild(d)}d=document.createElement("p");d.style.fontSize="16pt";d.style.padding="0px";d.style.paddingTop="2px";d.style.margin="0px";d.style.color="gray";c=document.createElement("img");c.setAttribute("border","0");c.setAttribute("align","absmiddle");c.style.width="40px";
+g},SplashDialog=function(b){var d=document.createElement("div");d.style.textAlign="center";b.addLanguageMenu(d,!0);var f=null,f=b.getServiceCount();if(!b.isOffline()&&1<f){f=document.createElement("a");f.setAttribute("href","https://about.draw.io/support/");f.setAttribute("title",mxResources.get("help"));f.setAttribute("target","_blank");f.style.position="absolute";f.style.fontSize="12px";f.style.textDecoration="none";f.style.cursor="pointer";f.style.bottom="22px";f.style.left="26px";f.style.color=
+"gray";var c=document.createElement("img");c.setAttribute("border","0");c.setAttribute("valign","bottom");c.setAttribute("src",Editor.helpImage);c.style.marginRight="2px";f.appendChild(c);mxUtils.write(f,mxResources.get("help"));d.appendChild(f)}f=document.createElement("p");f.style.fontSize="16pt";f.style.padding="0px";f.style.paddingTop="2px";f.style.margin="0px";f.style.color="gray";c=document.createElement("img");c.setAttribute("border","0");c.setAttribute("align","absmiddle");c.style.width="40px";
c.style.height="40px";c.style.marginRight="12px";c.style.paddingBottom="4px";var g="";b.mode==App.MODE_GOOGLE?(c.src=IMAGE_PATH+"/google-drive-logo.svg",g=mxResources.get("googleDrive")):b.mode==App.MODE_DROPBOX?(c.src=IMAGE_PATH+"/dropbox-logo.svg",g=mxResources.get("dropbox")):b.mode==App.MODE_ONEDRIVE?(c.src=IMAGE_PATH+"/onedrive-logo.svg",g=mxResources.get("oneDrive")):b.mode==App.MODE_GITHUB?(c.src=IMAGE_PATH+"/github-logo.svg",g=mxResources.get("github")):b.mode==App.MODE_TRELLO?(c.src=IMAGE_PATH+
-"/trello-logo.svg",g=mxResources.get("trello")):b.mode==App.MODE_BROWSER?(c.src=IMAGE_PATH+"/osa_database.png",g=mxResources.get("browser")):(c.src=IMAGE_PATH+"/osa_drive-harddisk.png",g=mxResources.get("device"));var k=document.createElement("div");k.style.margin="4px 0px 0px 0px";var n=document.createElement("button");n.className="geBigButton";n.style.overflow="hidden";n.style.width="340px";mxClient.IS_CHROMEAPP||EditorUi.isElectronApp?(k.style.padding="42px 0px 56px 0px",n.style.marginBottom="12px"):
-(d.appendChild(c),mxUtils.write(d,g),e.appendChild(d),k.style.border="1px solid #d3d3d3",k.style.borderWidth="1px 0px 1px 0px",k.style.padding="18px 0px 24px 0px",n.style.marginBottom="8px");mxClient.IS_QUIRKS&&(k.style.whiteSpace="nowrap",k.style.cssFloat="left");mxClient.IS_QUIRKS&&(n.style.width="340px");mxUtils.write(n,mxResources.get("createNewDiagram"));mxEvent.addListener(n,"click",function(){b.hideDialog();b.actions.get("new").funct()});k.appendChild(n);mxUtils.br(k);n=document.createElement("button");
-n.className="geBigButton";n.style.marginBottom="22px";n.style.overflow="hidden";n.style.width="340px";mxClient.IS_QUIRKS&&(n.style.width="340px");mxUtils.write(n,mxResources.get("openExistingDiagram"));mxEvent.addListener(n,"click",function(){b.actions.get("open").funct()});k.appendChild(n);d="undefined";b.mode==App.MODE_GOOGLE?d=mxResources.get("googleDrive"):b.mode==App.MODE_DROPBOX?d=mxResources.get("dropbox"):b.mode==App.MODE_ONEDRIVE?d=mxResources.get("oneDrive"):b.mode==App.MODE_GITHUB?d=mxResources.get("github"):
-b.mode==App.MODE_TRELLO?d=mxResources.get("trello"):b.mode==App.MODE_DEVICE?d=mxResources.get("device"):b.mode==App.MODE_BROWSER&&(d=mxResources.get("browser"));mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||(g=function(c){n.style.marginBottom="24px";var d=document.createElement("a");d.setAttribute("href","javascript:void(0)");d.style.display="block";d.style.marginTop="6px";mxUtils.write(d,mxResources.get("signOut"));n.style.marginBottom="16px";k.style.paddingBottom="18px";mxEvent.addListener(d,"click",
-function(){b.confirm(mxResources.get("areYouSure"),function(){c()})});k.appendChild(d)},c=null!=b.drive?b.drive.getUser():null,b.mode==App.MODE_GOOGLE&&null!=c?(n.style.marginBottom="24px",g=document.createElement("a"),g.setAttribute("href","javascript:void(0)"),g.style.display="block",g.style.marginTop="6px",mxUtils.write(g,mxResources.get("changeUser")+" ("+c.displayName+")"),n.style.marginBottom="16px",k.style.paddingBottom="18px",mxEvent.addListener(g,"click",function(){b.hideDialog();b.drive.clearUserId();
+"/trello-logo.svg",g=mxResources.get("trello")):b.mode==App.MODE_BROWSER?(c.src=IMAGE_PATH+"/osa_database.png",g=mxResources.get("browser")):(c.src=IMAGE_PATH+"/osa_drive-harddisk.png",g=mxResources.get("device"));var k=document.createElement("div");k.style.margin="4px 0px 0px 0px";var l=document.createElement("button");l.className="geBigButton";l.style.overflow="hidden";l.style.width="340px";mxClient.IS_CHROMEAPP||EditorUi.isElectronApp?(k.style.padding="42px 0px 56px 0px",l.style.marginBottom="12px"):
+(f.appendChild(c),mxUtils.write(f,g),d.appendChild(f),k.style.border="1px solid #d3d3d3",k.style.borderWidth="1px 0px 1px 0px",k.style.padding="18px 0px 24px 0px",l.style.marginBottom="8px");mxClient.IS_QUIRKS&&(k.style.whiteSpace="nowrap",k.style.cssFloat="left");mxClient.IS_QUIRKS&&(l.style.width="340px");mxUtils.write(l,mxResources.get("createNewDiagram"));mxEvent.addListener(l,"click",function(){b.hideDialog();b.actions.get("new").funct()});k.appendChild(l);mxUtils.br(k);l=document.createElement("button");
+l.className="geBigButton";l.style.marginBottom="22px";l.style.overflow="hidden";l.style.width="340px";mxClient.IS_QUIRKS&&(l.style.width="340px");mxUtils.write(l,mxResources.get("openExistingDiagram"));mxEvent.addListener(l,"click",function(){b.actions.get("open").funct()});k.appendChild(l);f="undefined";b.mode==App.MODE_GOOGLE?f=mxResources.get("googleDrive"):b.mode==App.MODE_DROPBOX?f=mxResources.get("dropbox"):b.mode==App.MODE_ONEDRIVE?f=mxResources.get("oneDrive"):b.mode==App.MODE_GITHUB?f=mxResources.get("github"):
+b.mode==App.MODE_TRELLO?f=mxResources.get("trello"):b.mode==App.MODE_DEVICE?f=mxResources.get("device"):b.mode==App.MODE_BROWSER&&(f=mxResources.get("browser"));mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||(g=function(c){l.style.marginBottom="24px";var f=document.createElement("a");f.setAttribute("href","javascript:void(0)");f.style.display="block";f.style.marginTop="6px";mxUtils.write(f,mxResources.get("signOut"));l.style.marginBottom="16px";k.style.paddingBottom="18px";mxEvent.addListener(f,"click",
+function(){b.confirm(mxResources.get("areYouSure"),function(){c()})});k.appendChild(f)},c=null!=b.drive?b.drive.getUser():null,b.mode==App.MODE_GOOGLE&&null!=c?(l.style.marginBottom="24px",g=document.createElement("a"),g.setAttribute("href","javascript:void(0)"),g.style.display="block",g.style.marginTop="6px",mxUtils.write(g,mxResources.get("changeUser")+" ("+c.displayName+")"),l.style.marginBottom="16px",k.style.paddingBottom="18px",mxEvent.addListener(g,"click",function(){b.hideDialog();b.drive.clearUserId();
b.drive.setUser(null);gapi.auth.signOut();b.setMode(App.MODE_GOOGLE);b.hideDialog();b.showSplash();b.drive.authorize(!1,mxUtils.bind(this,mxUtils.bind(this,function(){b.hideDialog();b.showSplash()})),mxUtils.bind(this,function(c){b.handleError(c,null,function(){b.hideDialog();b.showSplash()})}))}),k.appendChild(g)):b.mode==App.MODE_ONEDRIVE&&null!=b.oneDrive?g(function(){b.oneDrive.logout()}):b.mode==App.MODE_GITHUB&&null!=b.gitHub?g(function(){b.gitHub.logout();b.openLink("https://www.github.com/logout")}):
-b.mode==App.MODE_TRELLO&&null!=b.trello?b.trello.isAuthorized()&&g(function(){b.trello.logout()}):b.mode==App.MODE_DROPBOX&&null!=b.dropbox&&g(function(){b.dropbox.logout();b.openLink("https://www.dropbox.com/logout")}),g=document.createElement("a"),g.setAttribute("href","javascript:void(0)"),g.style.display="block",g.style.marginTop="8px",mxUtils.write(g,mxResources.get("notUsingService",[d])),mxEvent.addListener(g,"click",function(){b.hideDialog(!1);b.setMode(null);b.clearMode();b.showSplash(!0)}),
-k.appendChild(g));e.appendChild(k);this.container=e},ConfirmDialog=function(b,e,d,c,g,k,n,p,q){var a=document.createElement("div");a.style.textAlign="center";var f=document.createElement("div");f.style.padding="6px";f.style.overflow="auto";f.style.maxHeight="44px";mxClient.IS_QUIRKS&&(f.style.height="60px");mxUtils.write(f,e);a.appendChild(f);f=document.createElement("div");f.style.textAlign="center";f.style.whiteSpace="nowrap";var h=document.createElement("input");h.setAttribute("type","checkbox");
-k=mxUtils.button(k||mxResources.get("cancel"),function(){b.hideDialog();null!=c&&c(h.checked)});k.className="geBtn";null!=p&&(k.innerHTML=p+"<br>"+k.innerHTML,k.style.paddingBottom="8px",k.style.paddingTop="8px",k.style.height="auto",k.style.width="40%");b.editor.cancelFirst&&f.appendChild(k);g=mxUtils.button(g||mxResources.get("ok"),function(){b.hideDialog();null!=d&&d(h.checked)});f.appendChild(g);null!=n?(g.innerHTML=n+"<br>"+g.innerHTML+"<br>",g.style.paddingBottom="8px",g.style.paddingTop="8px",
-g.style.height="auto",g.className="geBtn",g.style.width="40%"):g.className="geBtn gePrimaryBtn";b.editor.cancelFirst||f.appendChild(k);a.appendChild(f);q?(f.style.marginTop="10px",f=document.createElement("p"),f.style.marginTop="20px",f.appendChild(h),n=document.createElement("span"),mxUtils.write(n," "+mxResources.get("rememberThisSetting")),f.appendChild(n),a.appendChild(f),mxEvent.addListener(n,"click",function(a){h.checked=!h.checked;mxEvent.consume(a)})):f.style.marginTop="16px";this.container=
-a},ErrorDialog=function(b,e,d,c,g,k,n,p,q,a,f){q=null!=q?q:!0;var h=document.createElement("div");h.style.textAlign="center";if(null!=e){var m=document.createElement("div");m.style.padding="0px";m.style.margin="0px";m.style.fontSize="18px";m.style.paddingBottom="16px";m.style.marginBottom="16px";m.style.borderBottom="1px solid #c0c0c0";m.style.color="gray";mxUtils.write(m,e);h.appendChild(m)}e=document.createElement("div");e.style.padding="6px";e.innerHTML=d;h.appendChild(e);d=document.createElement("div");
-d.style.marginTop="16px";d.style.textAlign="center";null!=k&&(e=mxUtils.button(mxResources.get("tryAgain"),function(){b.hideDialog();k()}),e.className="geBtn",d.appendChild(e),d.style.textAlign="center");null!=a&&(a=mxUtils.button(a,function(){null!=f&&f()}),a.className="geBtn",d.appendChild(a));var u=mxUtils.button(c,function(){q&&b.hideDialog();null!=g&&g()});u.className="geBtn";d.appendChild(u);null!=n&&(c=mxUtils.button(n,function(){q&&b.hideDialog();null!=p&&p()}),c.className="geBtn gePrimaryBtn",
-d.appendChild(c));this.init=function(){u.focus()};h.appendChild(d);this.container=h},EmbedDialog=function(b,e,d,c,g){c=document.createElement("div");var k=/^https?:\/\//.test(e)||/^mailto:\/\//.test(e);mxUtils.write(c,mxResources.get(5E5>e.length?k?"link":"mainEmbedNotice":"preview")+":");mxUtils.br(c);var n=document.createElement("div");n.style.position="absolute";n.style.top="30px";n.style.right="30px";n.style.color="gray";mxUtils.write(n,b.formatFileSize(e.length));c.appendChild(n);var p=document.createElement("textarea");
-p.setAttribute("autocomplete","off");p.setAttribute("autocorrect","off");p.setAttribute("autocapitalize","off");p.setAttribute("spellcheck","false");p.style.marginTop="10px";p.style.resize="none";p.style.height="150px";p.style.width="440px";p.style.border="1px solid gray";p.value=mxResources.get("updatingDocument");c.appendChild(p);mxUtils.br(c);this.init=function(){window.setTimeout(function(){5E5>e.length?(p.value=e,p.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?
-p.select():document.execCommand("selectAll",!1,null)):(p.setAttribute("readonly","true"),p.value=e.substring(0,340)+"... ("+mxResources.get("drawingTooLarge")+")")},0)};n=document.createElement("div");n.style.position="absolute";n.style.bottom="36px";n.style.right="32px";var q=null;!EmbedDialog.showPreviewOption||mxClient.IS_CHROMEAPP&&!k||navigator.standalone||!(k||mxClient.IS_SVG&&(null==document.documentMode||9<document.documentMode))||(q=mxUtils.button(mxResources.get(5E5>e.length?"preview":"openInNewWindow"),
-function(){var a=5E5>e.length?p.value:e;if(null!=g)g(a);else if(k)try{var f=b.openLink(a);null!=f&&(null==d||0<d)&&window.setTimeout(mxUtils.bind(this,function(){null!=f&&null!=f.location.href&&f.location.href.substring(0,8)!=a.substring(0,8)&&(f.close(),b.handleError({message:mxResources.get("drawingTooLarge")}))}),d||500)}catch(t){b.handleError({message:t.message||mxResources.get("drawingTooLarge")})}else{var c=window.open().document;c.writeln("<html><head><title>"+encodeURIComponent(mxResources.get("preview"))+
-'</title><meta charset="utf-8"></head><body>'+e+"</body></html>");c.close()}}),q.className="geBtn",n.appendChild(q));if(!k||7500<e.length){var a=mxUtils.button(mxResources.get("download"),function(){b.hideDialog();b.saveData("embed.txt","txt",e,"text/plain")});a.className="geBtn";n.appendChild(a)}if(k&&(!b.isOffline()||mxClient.IS_CHROMEAPP)){if(51200>e.length){var f=mxUtils.button("",function(){try{var a="https://www.facebook.com/sharer.php?p[url]="+encodeURIComponent(p.value);b.openLink(a)}catch(m){b.handleError({message:m.message||
-mxResources.get("drawingTooLarge")})}}),a=document.createElement("img");a.setAttribute("src",Editor.facebookImage);a.setAttribute("width","18");a.setAttribute("height","18");a.setAttribute("border","0");f.appendChild(a);f.setAttribute("title",mxResources.get("facebook")+" ("+b.formatFileSize(51200)+" max)");f.style.verticalAlign="bottom";f.style.paddingTop="4px";f.style.minWidth="46px";f.className="geBtn";n.appendChild(f)}7168>e.length&&(f=mxUtils.button("",function(){try{var a="https://twitter.com/intent/tweet?text="+
-encodeURIComponent("Check out the diagram I made using @drawio")+"&url="+encodeURIComponent(p.value);b.openLink(a)}catch(m){b.handleError({message:m.message||mxResources.get("drawingTooLarge")})}}),a=document.createElement("img"),a.setAttribute("src",Editor.tweetImage),a.setAttribute("width","18"),a.setAttribute("height","18"),a.setAttribute("border","0"),a.style.marginBottom="5px",f.appendChild(a),f.setAttribute("title",mxResources.get("twitter")+" ("+b.formatFileSize(7168)+" max)"),f.style.verticalAlign=
-"bottom",f.style.paddingTop="4px",f.style.minWidth="46px",f.className="geBtn",n.appendChild(f))}a=mxUtils.button(mxResources.get("close"),function(){b.hideDialog()});n.appendChild(a);f=mxUtils.button(mxResources.get("copy"),function(){p.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?p.select():document.execCommand("selectAll",!1,null);document.execCommand("copy");b.alert(mxResources.get("copiedToClipboard"))});5E5>e.length?mxClient.IS_SF||null!=document.documentMode?
-a.className="geBtn gePrimaryBtn":(n.appendChild(f),f.className="geBtn gePrimaryBtn",a.className="geBtn"):(n.appendChild(q),a.className="geBtn",q.className="geBtn gePrimaryBtn");c.appendChild(n);this.container=c};EmbedDialog.showPreviewOption=!0;
-var GoogleSitesDialog=function(b,e){function d(){var b=null!=y.getTitle()?y.getTitle():this.defaultFilename;if(H.checked&&""!=m.value){var c="https://www.draw.io/gadget.xml?type=4&diagram="+encodeURIComponent(mxUtils.htmlEntities(m.value));null!=b&&(c+="&title="+encodeURIComponent(b));0<z.length&&(c+="&s="+z);""!=u.value&&"0"!=u.value&&(c+="&border="+u.value);""!=h.value&&(c+="&height="+h.value);c+="&pan="+(t.checked?"1":"0");c+="&zoom="+(w.checked?"1":"0");c+="&fit="+(v.checked?"1":"0");c+="&resize="+
-(l.checked?"1":"0");c+="&x0="+Number(f.value);c+="&y0="+q;g.mathEnabled&&(c+="&math=1");C.checked?c+="&edit=_blank":x.checked&&(c+="&edit="+encodeURIComponent(mxUtils.htmlEntities(window.location.href)));a.value=c}else y.constructor==DriveFile||y.constructor==DropboxFile?(c="https://www.draw.io/gadget.xml?embed=0&diagram=",""!=m.value?c+=encodeURIComponent(mxUtils.htmlEntities(m.value))+"&type=3":(c+=y.getHash().substring(1),c=y.constructor==DropboxFile?c+"&type=2":c+"&type=1"),null!=b&&(c+="&title="+
-encodeURIComponent(b)),""!=h.value&&(b=parseInt(h.value)+parseInt(f.value),c+="&height="+b),a.value=c):a.value=""}var c=document.createElement("div"),g=b.editor.graph,k=g.getGraphBounds(),n=g.view.scale,p=Math.floor(k.x/n-g.view.translate.x),q=Math.floor(k.y/n-g.view.translate.y);mxUtils.write(c,mxResources.get("googleGadget")+":");mxUtils.br(c);var a=document.createElement("input");a.setAttribute("type","text");a.style.marginBottom="8px";a.style.marginTop="2px";a.style.width="410px";c.appendChild(a);
-mxUtils.br(c);this.init=function(){a.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?a.select():document.execCommand("selectAll",!1,null)};mxUtils.write(c,mxResources.get("top")+":");var f=document.createElement("input");f.setAttribute("type","text");f.setAttribute("size","4");f.style.marginRight="16px";f.style.marginLeft="4px";f.value=p;c.appendChild(f);mxUtils.write(c,mxResources.get("height")+":");var h=document.createElement("input");h.setAttribute("type",
-"text");h.setAttribute("size","4");h.style.marginLeft="4px";h.value=Math.ceil(k.height/n);c.appendChild(h);mxUtils.br(c);k=document.createElement("hr");k.setAttribute("size","1");k.style.marginBottom="16px";k.style.marginTop="16px";c.appendChild(k);mxUtils.write(c,mxResources.get("publicDiagramUrl")+":");mxUtils.br(c);var m=document.createElement("input");m.setAttribute("type","text");m.setAttribute("size","28");m.style.marginBottom="8px";m.style.marginTop="2px";m.style.width="410px";m.value=e||"";
-c.appendChild(m);mxUtils.br(c);mxUtils.write(c,mxResources.get("borderWidth")+":");var u=document.createElement("input");u.setAttribute("type","text");u.setAttribute("size","3");u.style.marginBottom="8px";u.style.marginLeft="4px";u.value="0";c.appendChild(u);mxUtils.br(c);var t=document.createElement("input");t.setAttribute("type","checkbox");t.setAttribute("checked","checked");t.defaultChecked=!0;t.style.marginLeft="16px";c.appendChild(t);mxUtils.write(c,mxResources.get("pan")+" ");var w=document.createElement("input");
-w.setAttribute("type","checkbox");w.setAttribute("checked","checked");w.defaultChecked=!0;w.style.marginLeft="8px";c.appendChild(w);mxUtils.write(c,mxResources.get("zoom")+" ");var x=document.createElement("input");x.setAttribute("type","checkbox");x.style.marginLeft="8px";x.setAttribute("title",window.location.href);c.appendChild(x);mxUtils.write(c,mxResources.get("edit")+" ");var C=document.createElement("input");C.setAttribute("type","checkbox");C.style.marginLeft="8px";c.appendChild(C);mxUtils.write(c,
-mxResources.get("asNew")+" ");mxUtils.br(c);var l=document.createElement("input");l.setAttribute("type","checkbox");l.setAttribute("checked","checked");l.defaultChecked=!0;l.style.marginLeft="16px";c.appendChild(l);mxUtils.write(c,mxResources.get("resize")+" ");var v=document.createElement("input");v.setAttribute("type","checkbox");v.style.marginLeft="8px";c.appendChild(v);mxUtils.write(c,mxResources.get("fit")+" ");var H=document.createElement("input");H.setAttribute("type","checkbox");H.style.marginLeft=
-"8px";c.appendChild(H);mxUtils.write(c,mxResources.get("embed")+" ");var z=b.getBasenames().join(";"),y=b.getCurrentFile();mxEvent.addListener(t,"change",d);mxEvent.addListener(w,"change",d);mxEvent.addListener(l,"change",d);mxEvent.addListener(v,"change",d);mxEvent.addListener(x,"change",d);mxEvent.addListener(C,"change",d);mxEvent.addListener(H,"change",d);mxEvent.addListener(h,"change",d);mxEvent.addListener(f,"change",d);mxEvent.addListener(u,"change",d);mxEvent.addListener(m,"change",d);d();
-mxEvent.addListener(a,"click",function(){a.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?a.select():document.execCommand("selectAll",!1,null)});k=document.createElement("div");k.style.paddingTop="12px";k.style.textAlign="right";n=mxUtils.button(mxResources.get("close"),function(){b.hideDialog()});n.className="geBtn gePrimaryBtn";k.appendChild(n);c.appendChild(k);this.container=c},CreateGraphDialog=function(b,e,d){var c=document.createElement("div");c.style.textAlign=
-"right";this.init=function(){var e=document.createElement("div");e.style.position="relative";e.style.border="1px solid gray";e.style.width="100%";e.style.height="360px";e.style.overflow="hidden";e.style.marginBottom="16px";mxEvent.disableContextMenu(e);c.appendChild(e);var k=new Graph(e);k.setCellsCloneable(!0);k.setPanning(!0);k.setAllowDanglingEdges(!1);k.connectionHandler.select=!1;k.view.setTranslate(20,20);k.border=20;k.panningHandler.useLeftButtonForPanning=!0;var n="curved=1;";k.cellRenderer.installCellOverlayListeners=
-function(a,b,c){mxCellRenderer.prototype.installCellOverlayListeners.apply(this,arguments);mxEvent.addListener(c.node,mxClient.IS_POINTER?"pointerdown":"mousedown",function(c){b.fireEvent(new mxEventObject("pointerdown","event",c,"state",a))});!mxClient.IS_POINTER&&mxClient.IS_TOUCH&&mxEvent.addListener(c.node,"touchstart",function(c){b.fireEvent(new mxEventObject("pointerdown","event",c,"state",a))})};k.getAllConnectionConstraints=function(){return null};k.connectionHandler.marker.highlight.keepOnTop=
-!1;k.connectionHandler.createEdgeState=function(a){a=k.createEdge(null,null,null,null,null,n);return new mxCellState(this.graph.view,a,this.graph.getCellStyle(a))};var p=k.getDefaultParent(),q=mxUtils.bind(this,function(a){var b=new mxCellOverlay(this.connectImage,"Add outgoing");b.cursor="hand";b.addListener(mxEvent.CLICK,function(b,c){k.connectionHandler.reset();k.clearSelection();var f=k.getCellGeometry(a),l;h(function(){l=k.insertVertex(p,null,"Entry",f.x,f.y,80,30,"rounded=1;");q(l);k.view.refresh(l);
-k.insertEdge(p,null,"",a,l,n)},function(){k.scrollCellToVisible(l)})});b.addListener("pointerdown",function(a,b){var c=b.getProperty("event"),f=b.getProperty("state");k.popupMenuHandler.hideMenu();k.stopEditing(!1);var l=mxUtils.convertPoint(k.container,mxEvent.getClientX(c),mxEvent.getClientY(c));k.connectionHandler.start(f,l.x,l.y);k.isMouseDown=!0;k.isMouseTrigger=mxEvent.isMouseEvent(c);mxEvent.consume(c)});k.addCellOverlay(a,b)});k.getModel().beginUpdate();var a;try{a=k.insertVertex(p,null,"Start",
-0,0,80,30,"ellipse"),q(a)}finally{k.getModel().endUpdate()}var f;"horizontalTree"==d?(f=new mxCompactTreeLayout(k),f.edgeRouting=!1,f.levelDistance=30,n="edgeStyle=elbowEdgeStyle;elbow=horizontal;"):"verticalTree"==d?(f=new mxCompactTreeLayout(k,!1),f.edgeRouting=!1,f.levelDistance=30,n="edgeStyle=elbowEdgeStyle;elbow=vertical;"):"radialTree"==d?(f=new mxRadialTreeLayout(k,!1),f.edgeRouting=!1,f.levelDistance=80):"verticalFlow"==d?f=new mxHierarchicalLayout(k,mxConstants.DIRECTION_NORTH):"horizontalFlow"==
-d?f=new mxHierarchicalLayout(k,mxConstants.DIRECTION_WEST):"organic"==d?(f=new mxFastOrganicLayout(k,!1),f.forceConstant=80):"circle"==d&&(f=new mxCircleLayout(k));if(null!=f){var h=function(b,c){k.getModel().beginUpdate();try{null!=b&&b(),f.execute(k.getDefaultParent(),a)}catch(l){throw l;}finally{var h=new mxMorphing(k);h.addListener(mxEvent.DONE,mxUtils.bind(this,function(){k.getModel().endUpdate();null!=c&&c()}));h.startAnimation()}},m=mxEdgeHandler.prototype.connect;mxEdgeHandler.prototype.connect=
-function(a,b,c,f,v){m.apply(this,arguments);h()};k.resizeCell=function(){mxGraph.prototype.resizeCell.apply(this,arguments);h()};k.connectionHandler.addListener(mxEvent.CONNECT,function(){h()})}var u=mxUtils.button(mxResources.get("close"),function(){b.confirm(mxResources.get("areYouSure"),function(){null!=e.parentNode&&(k.destroy(),e.parentNode.removeChild(e));b.hideDialog()})});u.className="geBtn";b.editor.cancelFirst&&c.appendChild(u);var t=mxUtils.button(mxResources.get("insert"),function(){k.clearCellOverlays();
-var a=b.editor.graph.getFreeInsertPoint(),a=b.editor.graph.importCells(k.getModel().getChildren(k.getDefaultParent()),a.x,a.y),c=b.editor.graph.view,f=c.getBounds(a);f.x-=c.translate.x;f.y-=c.translate.y;b.editor.graph.scrollRectToVisible(f);b.editor.graph.setSelectionCells(a);null!=e.parentNode&&(k.destroy(),e.parentNode.removeChild(e));b.hideDialog()});c.appendChild(t);t.className="geBtn gePrimaryBtn";b.editor.cancelFirst||c.appendChild(u)};this.container=c};
+b.mode==App.MODE_TRELLO&&null!=b.trello?b.trello.isAuthorized()&&g(function(){b.trello.logout()}):b.mode==App.MODE_DROPBOX&&null!=b.dropbox&&g(function(){b.dropbox.logout();b.openLink("https://www.dropbox.com/logout")}),g=document.createElement("a"),g.setAttribute("href","javascript:void(0)"),g.style.display="block",g.style.marginTop="8px",mxUtils.write(g,mxResources.get("notUsingService",[f])),mxEvent.addListener(g,"click",function(){b.hideDialog(!1);b.setMode(null);b.clearMode();b.showSplash(!0)}),
+k.appendChild(g));d.appendChild(k);this.container=d},ConfirmDialog=function(b,d,f,c,g,k,l,n,p){var a=document.createElement("div");a.style.textAlign="center";var e=document.createElement("div");e.style.padding="6px";e.style.overflow="auto";e.style.maxHeight="44px";mxClient.IS_QUIRKS&&(e.style.height="60px");mxUtils.write(e,d);a.appendChild(e);e=document.createElement("div");e.style.textAlign="center";e.style.whiteSpace="nowrap";var h=document.createElement("input");h.setAttribute("type","checkbox");
+k=mxUtils.button(k||mxResources.get("cancel"),function(){b.hideDialog();null!=c&&c(h.checked)});k.className="geBtn";null!=n&&(k.innerHTML=n+"<br>"+k.innerHTML,k.style.paddingBottom="8px",k.style.paddingTop="8px",k.style.height="auto",k.style.width="40%");b.editor.cancelFirst&&e.appendChild(k);g=mxUtils.button(g||mxResources.get("ok"),function(){b.hideDialog();null!=f&&f(h.checked)});e.appendChild(g);null!=l?(g.innerHTML=l+"<br>"+g.innerHTML+"<br>",g.style.paddingBottom="8px",g.style.paddingTop="8px",
+g.style.height="auto",g.className="geBtn",g.style.width="40%"):g.className="geBtn gePrimaryBtn";b.editor.cancelFirst||e.appendChild(k);a.appendChild(e);p?(e.style.marginTop="10px",e=document.createElement("p"),e.style.marginTop="20px",e.appendChild(h),l=document.createElement("span"),mxUtils.write(l," "+mxResources.get("rememberThisSetting")),e.appendChild(l),a.appendChild(e),mxEvent.addListener(l,"click",function(a){h.checked=!h.checked;mxEvent.consume(a)})):e.style.marginTop="16px";this.container=
+a},ErrorDialog=function(b,d,f,c,g,k,l,n,p,a,e){p=null!=p?p:!0;var h=document.createElement("div");h.style.textAlign="center";if(null!=d){var u=document.createElement("div");u.style.padding="0px";u.style.margin="0px";u.style.fontSize="18px";u.style.paddingBottom="16px";u.style.marginBottom="16px";u.style.borderBottom="1px solid #c0c0c0";u.style.color="gray";mxUtils.write(u,d);h.appendChild(u)}d=document.createElement("div");d.style.padding="6px";d.innerHTML=f;h.appendChild(d);f=document.createElement("div");
+f.style.marginTop="16px";f.style.textAlign="center";null!=k&&(d=mxUtils.button(mxResources.get("tryAgain"),function(){b.hideDialog();k()}),d.className="geBtn",f.appendChild(d),f.style.textAlign="center");null!=a&&(a=mxUtils.button(a,function(){null!=e&&e()}),a.className="geBtn",f.appendChild(a));var q=mxUtils.button(c,function(){p&&b.hideDialog();null!=g&&g()});q.className="geBtn";f.appendChild(q);null!=l&&(c=mxUtils.button(l,function(){p&&b.hideDialog();null!=n&&n()}),c.className="geBtn gePrimaryBtn",
+f.appendChild(c));this.init=function(){q.focus()};h.appendChild(f);this.container=h},EmbedDialog=function(b,d,f,c,g){c=document.createElement("div");var k=/^https?:\/\//.test(d)||/^mailto:\/\//.test(d);mxUtils.write(c,mxResources.get(5E5>d.length?k?"link":"mainEmbedNotice":"preview")+":");mxUtils.br(c);var l=document.createElement("div");l.style.position="absolute";l.style.top="30px";l.style.right="30px";l.style.color="gray";mxUtils.write(l,b.formatFileSize(d.length));c.appendChild(l);var n=document.createElement("textarea");
+n.setAttribute("autocomplete","off");n.setAttribute("autocorrect","off");n.setAttribute("autocapitalize","off");n.setAttribute("spellcheck","false");n.style.marginTop="10px";n.style.resize="none";n.style.height="150px";n.style.width="440px";n.style.border="1px solid gray";n.value=mxResources.get("updatingDocument");c.appendChild(n);mxUtils.br(c);this.init=function(){window.setTimeout(function(){5E5>d.length?(n.value=d,n.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?
+n.select():document.execCommand("selectAll",!1,null)):(n.setAttribute("readonly","true"),n.value=d.substring(0,340)+"... ("+mxResources.get("drawingTooLarge")+")")},0)};l=document.createElement("div");l.style.position="absolute";l.style.bottom="36px";l.style.right="32px";var p=null;!EmbedDialog.showPreviewOption||mxClient.IS_CHROMEAPP&&!k||navigator.standalone||!(k||mxClient.IS_SVG&&(null==document.documentMode||9<document.documentMode))||(p=mxUtils.button(mxResources.get(5E5>d.length?"preview":"openInNewWindow"),
+function(){var a=5E5>d.length?n.value:d;if(null!=g)g(a);else if(k)try{var e=b.openLink(a);null!=e&&(null==f||0<f)&&window.setTimeout(mxUtils.bind(this,function(){null!=e&&null!=e.location.href&&e.location.href.substring(0,8)!=a.substring(0,8)&&(e.close(),b.handleError({message:mxResources.get("drawingTooLarge")}))}),f||500)}catch(t){b.handleError({message:t.message||mxResources.get("drawingTooLarge")})}else{var c=window.open().document;c.writeln("<html><head><title>"+encodeURIComponent(mxResources.get("preview"))+
+'</title><meta charset="utf-8"></head><body>'+d+"</body></html>");c.close()}}),p.className="geBtn",l.appendChild(p));if(!k||7500<d.length){var a=mxUtils.button(mxResources.get("download"),function(){b.hideDialog();b.saveData("embed.txt","txt",d,"text/plain")});a.className="geBtn";l.appendChild(a)}if(k&&(!b.isOffline()||mxClient.IS_CHROMEAPP)){if(51200>d.length){var e=mxUtils.button("",function(){try{var a="https://www.facebook.com/sharer.php?p[url]="+encodeURIComponent(n.value);b.openLink(a)}catch(u){b.handleError({message:u.message||
+mxResources.get("drawingTooLarge")})}}),a=document.createElement("img");a.setAttribute("src",Editor.facebookImage);a.setAttribute("width","18");a.setAttribute("height","18");a.setAttribute("border","0");e.appendChild(a);e.setAttribute("title",mxResources.get("facebook")+" ("+b.formatFileSize(51200)+" max)");e.style.verticalAlign="bottom";e.style.paddingTop="4px";e.style.minWidth="46px";e.className="geBtn";l.appendChild(e)}7168>d.length&&(e=mxUtils.button("",function(){try{var a="https://twitter.com/intent/tweet?text="+
+encodeURIComponent("Check out the diagram I made using @drawio")+"&url="+encodeURIComponent(n.value);b.openLink(a)}catch(u){b.handleError({message:u.message||mxResources.get("drawingTooLarge")})}}),a=document.createElement("img"),a.setAttribute("src",Editor.tweetImage),a.setAttribute("width","18"),a.setAttribute("height","18"),a.setAttribute("border","0"),a.style.marginBottom="5px",e.appendChild(a),e.setAttribute("title",mxResources.get("twitter")+" ("+b.formatFileSize(7168)+" max)"),e.style.verticalAlign=
+"bottom",e.style.paddingTop="4px",e.style.minWidth="46px",e.className="geBtn",l.appendChild(e))}a=mxUtils.button(mxResources.get("close"),function(){b.hideDialog()});l.appendChild(a);e=mxUtils.button(mxResources.get("copy"),function(){n.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?n.select():document.execCommand("selectAll",!1,null);document.execCommand("copy");b.alert(mxResources.get("copiedToClipboard"))});5E5>d.length?mxClient.IS_SF||null!=document.documentMode?
+a.className="geBtn gePrimaryBtn":(l.appendChild(e),e.className="geBtn gePrimaryBtn",a.className="geBtn"):(l.appendChild(p),a.className="geBtn",p.className="geBtn gePrimaryBtn");c.appendChild(l);this.container=c};EmbedDialog.showPreviewOption=!0;
+var GoogleSitesDialog=function(b,d){function f(){var b=null!=z.getTitle()?z.getTitle():this.defaultFilename;if(F.checked&&""!=u.value){var c="https://www.draw.io/gadget.xml?type=4&diagram="+encodeURIComponent(mxUtils.htmlEntities(u.value));null!=b&&(c+="&title="+encodeURIComponent(b));0<D.length&&(c+="&s="+D);""!=q.value&&"0"!=q.value&&(c+="&border="+q.value);""!=h.value&&(c+="&height="+h.value);c+="&pan="+(t.checked?"1":"0");c+="&zoom="+(w.checked?"1":"0");c+="&fit="+(v.checked?"1":"0");c+="&resize="+
+(m.checked?"1":"0");c+="&x0="+Number(e.value);c+="&y0="+p;g.mathEnabled&&(c+="&math=1");x.checked?c+="&edit=_blank":y.checked&&(c+="&edit="+encodeURIComponent(mxUtils.htmlEntities(window.location.href)));a.value=c}else z.constructor==DriveFile||z.constructor==DropboxFile?(c="https://www.draw.io/gadget.xml?embed=0&diagram=",""!=u.value?c+=encodeURIComponent(mxUtils.htmlEntities(u.value))+"&type=3":(c+=z.getHash().substring(1),c=z.constructor==DropboxFile?c+"&type=2":c+"&type=1"),null!=b&&(c+="&title="+
+encodeURIComponent(b)),""!=h.value&&(b=parseInt(h.value)+parseInt(e.value),c+="&height="+b),a.value=c):a.value=""}var c=document.createElement("div"),g=b.editor.graph,k=g.getGraphBounds(),l=g.view.scale,n=Math.floor(k.x/l-g.view.translate.x),p=Math.floor(k.y/l-g.view.translate.y);mxUtils.write(c,mxResources.get("googleGadget")+":");mxUtils.br(c);var a=document.createElement("input");a.setAttribute("type","text");a.style.marginBottom="8px";a.style.marginTop="2px";a.style.width="410px";c.appendChild(a);
+mxUtils.br(c);this.init=function(){a.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?a.select():document.execCommand("selectAll",!1,null)};mxUtils.write(c,mxResources.get("top")+":");var e=document.createElement("input");e.setAttribute("type","text");e.setAttribute("size","4");e.style.marginRight="16px";e.style.marginLeft="4px";e.value=n;c.appendChild(e);mxUtils.write(c,mxResources.get("height")+":");var h=document.createElement("input");h.setAttribute("type",
+"text");h.setAttribute("size","4");h.style.marginLeft="4px";h.value=Math.ceil(k.height/l);c.appendChild(h);mxUtils.br(c);k=document.createElement("hr");k.setAttribute("size","1");k.style.marginBottom="16px";k.style.marginTop="16px";c.appendChild(k);mxUtils.write(c,mxResources.get("publicDiagramUrl")+":");mxUtils.br(c);var u=document.createElement("input");u.setAttribute("type","text");u.setAttribute("size","28");u.style.marginBottom="8px";u.style.marginTop="2px";u.style.width="410px";u.value=d||"";
+c.appendChild(u);mxUtils.br(c);mxUtils.write(c,mxResources.get("borderWidth")+":");var q=document.createElement("input");q.setAttribute("type","text");q.setAttribute("size","3");q.style.marginBottom="8px";q.style.marginLeft="4px";q.value="0";c.appendChild(q);mxUtils.br(c);var t=document.createElement("input");t.setAttribute("type","checkbox");t.setAttribute("checked","checked");t.defaultChecked=!0;t.style.marginLeft="16px";c.appendChild(t);mxUtils.write(c,mxResources.get("pan")+" ");var w=document.createElement("input");
+w.setAttribute("type","checkbox");w.setAttribute("checked","checked");w.defaultChecked=!0;w.style.marginLeft="8px";c.appendChild(w);mxUtils.write(c,mxResources.get("zoom")+" ");var y=document.createElement("input");y.setAttribute("type","checkbox");y.style.marginLeft="8px";y.setAttribute("title",window.location.href);c.appendChild(y);mxUtils.write(c,mxResources.get("edit")+" ");var x=document.createElement("input");x.setAttribute("type","checkbox");x.style.marginLeft="8px";c.appendChild(x);mxUtils.write(c,
+mxResources.get("asNew")+" ");mxUtils.br(c);var m=document.createElement("input");m.setAttribute("type","checkbox");m.setAttribute("checked","checked");m.defaultChecked=!0;m.style.marginLeft="16px";c.appendChild(m);mxUtils.write(c,mxResources.get("resize")+" ");var v=document.createElement("input");v.setAttribute("type","checkbox");v.style.marginLeft="8px";c.appendChild(v);mxUtils.write(c,mxResources.get("fit")+" ");var F=document.createElement("input");F.setAttribute("type","checkbox");F.style.marginLeft=
+"8px";c.appendChild(F);mxUtils.write(c,mxResources.get("embed")+" ");var D=b.getBasenames().join(";"),z=b.getCurrentFile();mxEvent.addListener(t,"change",f);mxEvent.addListener(w,"change",f);mxEvent.addListener(m,"change",f);mxEvent.addListener(v,"change",f);mxEvent.addListener(y,"change",f);mxEvent.addListener(x,"change",f);mxEvent.addListener(F,"change",f);mxEvent.addListener(h,"change",f);mxEvent.addListener(e,"change",f);mxEvent.addListener(q,"change",f);mxEvent.addListener(u,"change",f);f();
+mxEvent.addListener(a,"click",function(){a.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?a.select():document.execCommand("selectAll",!1,null)});k=document.createElement("div");k.style.paddingTop="12px";k.style.textAlign="right";l=mxUtils.button(mxResources.get("close"),function(){b.hideDialog()});l.className="geBtn gePrimaryBtn";k.appendChild(l);c.appendChild(k);this.container=c},CreateGraphDialog=function(b,d,f){var c=document.createElement("div");c.style.textAlign=
+"right";this.init=function(){var d=document.createElement("div");d.style.position="relative";d.style.border="1px solid gray";d.style.width="100%";d.style.height="360px";d.style.overflow="hidden";d.style.marginBottom="16px";mxEvent.disableContextMenu(d);c.appendChild(d);var k=new Graph(d);k.setCellsCloneable(!0);k.setPanning(!0);k.setAllowDanglingEdges(!1);k.connectionHandler.select=!1;k.view.setTranslate(20,20);k.border=20;k.panningHandler.useLeftButtonForPanning=!0;var l="curved=1;";k.cellRenderer.installCellOverlayListeners=
+function(a,b,e){mxCellRenderer.prototype.installCellOverlayListeners.apply(this,arguments);mxEvent.addListener(e.node,mxClient.IS_POINTER?"pointerdown":"mousedown",function(e){b.fireEvent(new mxEventObject("pointerdown","event",e,"state",a))});!mxClient.IS_POINTER&&mxClient.IS_TOUCH&&mxEvent.addListener(e.node,"touchstart",function(e){b.fireEvent(new mxEventObject("pointerdown","event",e,"state",a))})};k.getAllConnectionConstraints=function(){return null};k.connectionHandler.marker.highlight.keepOnTop=
+!1;k.connectionHandler.createEdgeState=function(a){a=k.createEdge(null,null,null,null,null,l);return new mxCellState(this.graph.view,a,this.graph.getCellStyle(a))};var n=k.getDefaultParent(),p=mxUtils.bind(this,function(a){var b=new mxCellOverlay(this.connectImage,"Add outgoing");b.cursor="hand";b.addListener(mxEvent.CLICK,function(b,e){k.connectionHandler.reset();k.clearSelection();var c=k.getCellGeometry(a),m;h(function(){m=k.insertVertex(n,null,"Entry",c.x,c.y,80,30,"rounded=1;");p(m);k.view.refresh(m);
+k.insertEdge(n,null,"",a,m,l)},function(){k.scrollCellToVisible(m)})});b.addListener("pointerdown",function(a,b){var e=b.getProperty("event"),c=b.getProperty("state");k.popupMenuHandler.hideMenu();k.stopEditing(!1);var m=mxUtils.convertPoint(k.container,mxEvent.getClientX(e),mxEvent.getClientY(e));k.connectionHandler.start(c,m.x,m.y);k.isMouseDown=!0;k.isMouseTrigger=mxEvent.isMouseEvent(e);mxEvent.consume(e)});k.addCellOverlay(a,b)});k.getModel().beginUpdate();var a;try{a=k.insertVertex(n,null,"Start",
+0,0,80,30,"ellipse"),p(a)}finally{k.getModel().endUpdate()}var e;"horizontalTree"==f?(e=new mxCompactTreeLayout(k),e.edgeRouting=!1,e.levelDistance=30,l="edgeStyle=elbowEdgeStyle;elbow=horizontal;"):"verticalTree"==f?(e=new mxCompactTreeLayout(k,!1),e.edgeRouting=!1,e.levelDistance=30,l="edgeStyle=elbowEdgeStyle;elbow=vertical;"):"radialTree"==f?(e=new mxRadialTreeLayout(k,!1),e.edgeRouting=!1,e.levelDistance=80):"verticalFlow"==f?e=new mxHierarchicalLayout(k,mxConstants.DIRECTION_NORTH):"horizontalFlow"==
+f?e=new mxHierarchicalLayout(k,mxConstants.DIRECTION_WEST):"organic"==f?(e=new mxFastOrganicLayout(k,!1),e.forceConstant=80):"circle"==f&&(e=new mxCircleLayout(k));if(null!=e){var h=function(b,c){k.getModel().beginUpdate();try{null!=b&&b(),e.execute(k.getDefaultParent(),a)}catch(m){throw m;}finally{var h=new mxMorphing(k);h.addListener(mxEvent.DONE,mxUtils.bind(this,function(){k.getModel().endUpdate();null!=c&&c()}));h.startAnimation()}},u=mxEdgeHandler.prototype.connect;mxEdgeHandler.prototype.connect=
+function(a,b,e,c,v){u.apply(this,arguments);h()};k.resizeCell=function(){mxGraph.prototype.resizeCell.apply(this,arguments);h()};k.connectionHandler.addListener(mxEvent.CONNECT,function(){h()})}var q=mxUtils.button(mxResources.get("close"),function(){b.confirm(mxResources.get("areYouSure"),function(){null!=d.parentNode&&(k.destroy(),d.parentNode.removeChild(d));b.hideDialog()})});q.className="geBtn";b.editor.cancelFirst&&c.appendChild(q);var t=mxUtils.button(mxResources.get("insert"),function(){k.clearCellOverlays();
+var a=b.editor.graph.getFreeInsertPoint(),a=b.editor.graph.importCells(k.getModel().getChildren(k.getDefaultParent()),a.x,a.y),e=b.editor.graph.view,c=e.getBounds(a);c.x-=e.translate.x;c.y-=e.translate.y;b.editor.graph.scrollRectToVisible(c);b.editor.graph.setSelectionCells(a);null!=d.parentNode&&(k.destroy(),d.parentNode.removeChild(d));b.hideDialog()});c.appendChild(t);t.className="geBtn gePrimaryBtn";b.editor.cancelFirst||c.appendChild(q)};this.container=c};
CreateGraphDialog.prototype.connectImage=new mxImage(mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RjQ3OTk0QjMyRDcyMTFFNThGQThGNDVBMjNBMjFDMzkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RjQ3OTk0QjQyRDcyMTFFNThGQThGNDVBMjNBMjFDMzkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyRjA0N0I2MjJENzExMUU1OEZBOEY0NUEyM0EyMUMzOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGNDc5OTRCMjJENzIxMUU1OEZBOEY0NUEyM0EyMUMzOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PjIf+MgAAATlSURBVHjanFZraFxFFD735u4ru3ls0yZG26ShgmJoKK1J2vhIYzBgRdtIURHyw1hQUH9IxIgI2h8iCEUF/1RRlNQYCsYfCTHVhiTtNolpZCEStqSC22xIsrs1bDfu7t37Gs/cO3Ozxs1DBw73zpk555vzmHNGgJ0NYatFgmNLYUHYUoHASMz5ijmgVLmxgfKCUiBxC4ACJAeSG8nb1dVVOTc3dyoSibwWDofPBIPBJzo7O8vpGtvjpDICGztxkciECpF2LS0tvZtOpwNkk5FKpcYXFxffwL1+JuPgllPj8nk1F6RoaGjoKCqZ5ApljZDZO4SMRA0SuG2QUJIQRV8HxMOM9vf3H0ZZH9Nhg20MMl2QkFwjIyNHWlpahtADnuUMwLcRHX5aNSBjCJYEsSSLUeLEbhGe3ytCmQtA1/XY+Pj46dbW1iDuyCJp9BC5ycBj4hoeHq5ra2sbw0Xn1ZgBZ+dVkA1Lc+6p0Ck2p0QS4Ox9EhwpEylYcmBg4LH29vYQLilIOt0u5FhDfevNZDI/u93uw6PLOrwTUtjxrbPYbhD42WgMrF8JmR894ICmCgnQjVe8Xu8pXEkzMJKbuo5oNPomBbm1ZsD7s2kwFA1JZ6QBUXWT1nmGNc/qoMgavDcrQzxjQGFh4aOYIJ0sFAXcEtui4uLiVjr5KpSBVFYDDZVrWUaKRRWSAYeK0fmKykgDXbVoNaPChRuyqdDv97czL5nXxQbq6empQmsaklkDBiNpSwFVrmr2P6UyicD5piI4f8wHh0oEm8/p4h8pyGiEWvVQd3e3nxtjAzU1NR2jP7NRBWQ8GbdEzzJAmc0V3RR4cI8Dvmwuhc8fKUFA0d6/ltHg5p+Kuaejo6OeY0jcNJ/PV00ZS0nFUoZRvvFS1bZFsKHCCQ2Pl8H0chY+C96B6ZUsrCQ1qKtwQVFRURW/QhIXMAzDPAZ6BgOr8tTa8dDxCmiYGApaJbJMxSzV+brE8pdgWkcpY5dbMF1AR9XH8/xu2ilef48bvn92n82ZwHh+8ssqTEXS9p7dHisiiURikd8PbpExNTU1UVNTA3V3Y7lC16n0gpB/NwpNcZjfa7dScC4Qh0kOQCwnlEgi3F/hMVl9fX0zvKrzSk2lfXjRhj0eT/2rvWG4+Pta3oJY7XfC3hInXAv/ldeFLx8shQ+eqQL0UAAz7ylkpej5eNZRVBWL6BU6ef14OYiY1oqyTtmsavr/5koaRucT1pzx+ZpL1+GV5nLutksUgIcmtwTRiuuVZXnU5XId7A2swJkfFsymRWC91hHg1Viw6x23+7vn9sPJ+j20BE1hCXqSWaNSQ8ScbknRZWxub1PGCw/fBV+c3AeijlUbY5bBjEqr9GuYZP4jP41WudGSC6erTRCqdGZm5i1WvXWeDHnbBCZGc2Nj4wBl/hZOwrmBBfgmlID1HmGJutHaF+tKoevp/XCgstDkjo2NtWKLuc6AVN4mNjY+s1XQxoenOoFuDPHGtnRbJj9ej5GvL0dI7+giuRyMk1giazc+DP6vgUDgOJVlOv7R+PJ12QIeL6SyeDz+Kfp8ZrNWjgDTsVjsQ7qXyTjztXJhm9ePxFLfMTg4eG9tbe1RTP9KFFYQfHliYmIS69kCC7jKYmKwxxD5P88tkVkqbPPcIps9t4T/+HjcuJ/s5BFJgf4WYABCtxGuxIZ90gAAAABJRU5ErkJggg==":
IMAGE_PATH+"/handle-connect.png",26,26);
-var BackgroundImageDialog=function(b,e){var d=document.createElement("div");d.style.whiteSpace="nowrap";var c=document.createElement("h2");mxUtils.write(c,mxResources.get("backgroundImage"));c.style.marginTop="0px";d.appendChild(c);mxUtils.write(d,mxResources.get("image")+" "+mxResources.get("url")+":");mxUtils.br(d);var c=b.editor.graph.backgroundImage,g=document.createElement("input");g.setAttribute("type","text");g.style.marginTop="4px";g.style.marginBottom="4px";g.style.width="350px";g.value=
-null!=c?c.src:"";var k=!1,n=function(){k||""==g.value||b.isOffline()?(p.value="",q.value=""):b.loadImage(mxUtils.trim(g.value),function(a){p.value=a.width;q.value=a.height},function(){b.showError(mxResources.get("error"),mxResources.get("fileNotFound"),mxResources.get("ok"));g.value="";p.value="";q.value=""})};this.init=function(){g.focus();if(Graph.fileSupport){g.setAttribute("placeholder",mxResources.get("dragImagesHere"));var a=d.parentNode,c=null;mxEvent.addListener(a,"dragleave",function(a){null!=
-c&&(c.parentNode.removeChild(c),c=null);a.stopPropagation();a.preventDefault()});mxEvent.addListener(a,"dragover",mxUtils.bind(this,function(f){null==c&&(!mxClient.IS_IE||10<document.documentMode)&&(c=b.highlightElement(a));f.stopPropagation();f.preventDefault()}));mxEvent.addListener(a,"drop",mxUtils.bind(this,function(a){null!=c&&(c.parentNode.removeChild(c),c=null);if(0<a.dataTransfer.files.length)b.importFiles(a.dataTransfer.files,0,0,b.maxBackgroundSize,function(a,b,c,f,h,u){g.value=a;n()},function(){},
-function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()},!0,b.maxBackgroundBytes,b.maxBackgroundBytes);else if(0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")){var f=a.dataTransfer.getData("text/uri-list");/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(f)&&(g.value=decodeURIComponent(f),n())}a.stopPropagation();a.preventDefault()}),!1)}};d.appendChild(g);mxUtils.br(d);mxUtils.br(d);mxUtils.write(d,mxResources.get("width")+":");var p=document.createElement("input");
-p.setAttribute("type","text");p.style.width="60px";p.style.marginLeft="4px";p.style.marginRight="16px";p.value=null!=c?c.width:"";d.appendChild(p);mxUtils.write(d,mxResources.get("height")+":");var q=document.createElement("input");q.setAttribute("type","text");q.style.width="60px";q.style.marginLeft="4px";q.style.marginRight="16px";q.value=null!=c?c.height:"";d.appendChild(q);c=mxUtils.button(mxResources.get("reset"),function(){g.value="";p.value="";q.value="";k=!1});mxEvent.addListener(c,"mousedown",
-function(){k=!0});mxEvent.addListener(c,"touchstart",function(){k=!0});c.className="geBtn";c.width="100";d.appendChild(c);mxUtils.br(d);mxEvent.addListener(g,"change",n);ImageDialog.filePicked=function(a){a.action==google.picker.Action.PICKED&&null!=a.docs[0].thumbnails&&(a=a.docs[0].thumbnails[a.docs[0].thumbnails.length-1],null!=a&&(g.value=a.url,n()));g.focus()};c=document.createElement("div");c.style.marginTop="40px";c.style.textAlign="right";var a=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog()});
-a.className="geBtn";b.editor.cancelFirst&&c.appendChild(a);if(!b.isOffline()&&"undefined"!=typeof google&&"undefined"!=typeof google.picker&&window.self===window.top){var f=mxUtils.button(mxResources.get("search"),function(){if(null==b.imageSearchPicker){var a=(new google.picker.PickerBuilder).setLocale(mxLanguage).addView(google.picker.ViewId.IMAGE_SEARCH).enableFeature(google.picker.Feature.NAV_HIDDEN);b.imageSearchPicker=a.setCallback(function(a){ImageDialog.filePicked(a)}).build()}b.imageSearchPicker.setVisible(!0)});
-f.className="geBtn";c.appendChild(f);null!=b.drive&&"1"==urlParams.photos&&(f=mxUtils.button(mxResources.get("googlePlus"),function(){b.spinner.spin(document.body,mxResources.get("authorizing"))&&b.drive.checkToken(mxUtils.bind(this,function(){b.spinner.stop();if(null==b.photoPicker){var a=gapi.auth.getToken().access_token,a=(new google.picker.PickerBuilder).setAppId(b.drive.appId).setLocale(mxLanguage).setOAuthToken(a).addView(google.picker.ViewId.PHOTOS).addView(google.picker.ViewId.PHOTO_ALBUMS).addView(google.picker.ViewId.PHOTO_UPLOAD);
-b.photoPicker=a.setCallback(function(a){ImageDialog.filePicked(a)}).build()}b.photoPicker.setVisible(!0)}))}),f.className="geBtn",c.appendChild(f))}f=mxUtils.button(mxResources.get("apply"),function(){b.hideDialog();e(""!=g.value?new mxImage(mxUtils.trim(g.value),p.value,q.value):null)});f.className="geBtn gePrimaryBtn";c.appendChild(f);b.editor.cancelFirst||c.appendChild(a);d.appendChild(c);this.container=d},ParseDialog=function(b,e,d){function c(a,c){var f=a.split("\n");if("plantUmlPng"==c||"plantUmlSvg"==
-c||"plantUmlTxt"==c){var f="plantUmlTxt"==c?PLANT_URL+"/txt/":"plantUmlPng"==c?PLANT_URL+"/png/":PLANT_URL+"/svg/",h=b.editor.graph;if(b.spinner.spin(document.body,mxResources.get("inserting"))){var d=function(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?"_":"?"},e=function(a,b,c){c1=a>>2;c2=(a&3)<<4|b>>4;c3=(b&15)<<2|c>>6;c4=c&63;r="";r+=d(c1&63);r+=d(c2&63);r+=d(c3&63);return r+=
-d(c4&63)},m=new XMLHttpRequest;m.open("GET",f+function(a){r="";for(z=0;z<a.length;z+=3)r=z+2==a.length?r+e(a.charCodeAt(z),a.charCodeAt(z+1),0):z+1==a.length?r+e(a.charCodeAt(z),0,0):r+e(a.charCodeAt(z),a.charCodeAt(z+1),a.charCodeAt(z+2));return r}(h.bytesToString(pako.deflateRaw(unescape(encodeURIComponent(a))))),!0);"plantUmlTxt"!=c&&(m.responseType="blob");m.onload=function(f){if(200<=this.status&&300>this.status)if("plantUmlTxt"==c){b.spinner.stop();h.getModel().beginUpdate();try{cell=h.insertVertex(null,
-null,"<pre>"+this.response+"</pre>",k.x,k.y,1,1,"text;html=1;overflow=fill;"),h.updateCellSize(cell,!0)}finally{h.getModel().endUpdate()}h.setSelectionCell(cell);h.scrollCellToVisible(h.getSelectionCell())}else f=new FileReader,f.readAsDataURL(this.response),f.onload=function(c){var f=new Image;f.onload=function(){b.spinner.stop();var l=f.width,v=f.height;if(0==l&&0==v){var d=c.target.result,m=d.indexOf(","),d=decodeURIComponent(escape(atob(d.substring(m+1)))),d=mxUtils.parseXml(d).getElementsByTagName("svg");
-0<d.length&&(l=parseFloat(d[0].getAttribute("width")),v=parseFloat(d[0].getAttribute("height")))}h.getModel().beginUpdate();try{cell=h.insertVertex(null,null,a,k.x,k.y,l,v,"shape=image;noLabel=1;verticalAlign=top;aspect=fixed;imageAspect=0;image="+b.convertDataUri(c.target.result)+";")}finally{h.getModel().endUpdate()}h.setSelectionCell(cell);h.scrollCellToVisible(h.getSelectionCell())};f.src=c.target.result},f.onerror=function(a){b.handleError(a)};else b.spinner.stop(),b.handleError(f)};m.onerror=
-function(a){b.handleError(a)};m.send()}}else if("table"==c){for(var l=null,v=[],g=0,z=0;z<f.length;z++)if(m=mxUtils.trim(f[z]),"create table"==m.substring(0,12).toLowerCase())m=mxUtils.trim(m.substring(12)),"("==m.charAt(m.length-1)&&(m=m.substring(0,m.lastIndexOf(" "))),l=new mxCell(m,new mxGeometry(g,0,160,26),"swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=#e0e0e0;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;align=center;"),
-l.vertex=!0,v.push(l),m=b.editor.graph.getPreferredSizeForCell(p),null!=m&&(l.geometry.width=m.width+10);else if(null!=l&&")"==m.charAt(0))g+=l.geometry.width+40,l=null;else if("("!=m&&null!=l&&(m=m.substring(0,","==m.charAt(m.length-1)?m.length-1:m.length),"primary key"!=m.substring(0,11).toLowerCase())){var n=m.toLowerCase().indexOf("primary key"),m=m.replace(/primary key/i,""),p=new mxCell(m,new mxGeometry(0,0,90,26),"shape=partialRectangle;top=0;left=0;right=0;bottom=0;align=left;verticalAlign=top;spacingTop=-2;fillColor=none;spacingLeft=34;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;dropTarget=0;");
-p.vertex=!0;m=sb.cloneCell(p,0<n?"PK":"");m.connectable=!1;m.style="shape=partialRectangle;top=0;left=0;bottom=0;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[];portConstraint=eastwest;part=1;";m.geometry.width=30;m.geometry.height=26;p.insert(m);m=b.editor.graph.getPreferredSizeForCell(p);null!=m&&l.geometry.width<m.width+10&&(l.geometry.width=Math.min(220,m.width+10));l.insert(p);l.geometry.height+=26}0<v.length&&(h=b.editor.graph,
-f=h.view,m=h.getGraphBounds(),h.setSelectionCells(h.importCells(v,Math.ceil(Math.max(0,m.x/f.scale-f.translate.x)+4*h.gridSize),Math.ceil(Math.max(0,(m.y+m.height)/f.scale-f.translate.y)+4*h.gridSize))),h.scrollCellToVisible(h.getSelectionCell()))}else if("list"==c){if(0<f.length){h=b.editor.graph;l=new mxCell(f[0],new mxGeometry(0,0,160,30),"swimlane;fontStyle=1;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;");
-l.vertex=!0;m=h.getPreferredSizeForCell(l);null!=m&&l.geometry.width<m.width+10&&(l.geometry.width=m.width+10);p=[l];if(1<f.length)for(z=1;z<f.length;z++)"--"==f[z]?(m=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;"),m.vertex=!0,l.geometry.height+=m.geometry.height,l.insert(m),p.push(m)):0<f[z].length&&";"!=f[z].charAt(0)&&(g=new mxCell(f[z],
-new mxGeometry(0,0,60,26),"text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),g.vertex=!0,m=h.getPreferredSizeForCell(g),null!=m&&g.geometry.width<m.width&&(g.geometry.width=m.width),l.geometry.width=Math.max(l.geometry.width,g.geometry.width),l.geometry.height+=g.geometry.height,l.insert(g),p.push(g));h.getModel().beginUpdate();try{l=h.importCells([l],k.x,k.y)[0],h.fireEvent(new mxEventObject("cellsInserted",
-"cells",[l].concat(l.children)))}finally{h.getModel().endUpdate()}h.setSelectionCell(l);h.scrollCellToVisible(h.getSelectionCell())}}else{for(var p=function(a){var b=q[a];null==b&&(b=new mxCell(a,new mxGeometry(0,0,80,30),"whiteSpace=wrap;html=1;"),b.vertex=!0,q[a]=b,v.push(b));return b},q={},v=[],z=0;z<f.length;z++)if(";"!=f[z].charAt(0)){var A=f[z].split("->");2<=A.length&&(g=p(A[0]),n=p(A[A.length-1]),A=new mxCell(2<A.length?A[1]:"",new mxGeometry),A.edge=!0,g.insertEdge(A,!0),n.insertEdge(A,!1),
-v.push(A))}if(0<v.length){f=document.createElement("div");f.style.visibility="hidden";document.body.appendChild(f);h=new Graph(f);h.getModel().beginUpdate();try{v=h.importCells(v);for(z=0;z<v.length;z++)h.getModel().isVertex(v[z])&&(m=h.getPreferredSizeForCell(v[z]),v[z].geometry.width=Math.max(v[z].geometry.width,m.width),v[z].geometry.height=Math.max(v[z].geometry.height,m.height));l=new mxFastOrganicLayout(h);l.disableEdgeStyle=!1;l.forceConstant=120;l.execute(h.getDefaultParent())}finally{h.getModel().endUpdate()}h.clearCellOverlays();
-p=[];b.editor.graph.getModel().beginUpdate();try{p=b.editor.graph.importCells(h.getModel().getChildren(h.getDefaultParent()),k.x,k.y),b.editor.graph.fireEvent(new mxEventObject("cellsInserted","cells",p))}finally{b.editor.graph.getModel().endUpdate()}b.editor.graph.setSelectionCells(p[0]);b.editor.graph.scrollCellToVisible(b.editor.graph.getSelectionCell());h.destroy();f.parentNode.removeChild(f)}}}function g(){return"list"==p.value?"Person\n-name: String\n-birthDate: Date\n--\n+getName(): String\n+setName(String): void\n+isBirthday(): boolean":
-"table"==p.value?"CREATE TABLE Suppliers\n(\nsupplier_id int NOT NULL PRIMARY KEY,\nsupplier_name char(50) NOT NULL,\ncontact_name char(50),\n);\nCREATE TABLE Customers\n(\ncustomer_id int NOT NULL PRIMARY KEY,\ncustomer_name char(50) NOT NULL,\naddress char(50),\ncity char(50),\nstate char(25),\nzip_code char(10)\n);\n":"plantUmlPng"==p.value?"@startuml\nskinparam backgroundcolor transparent\nskinparam shadowing false\nAlice -> Bob: Authentication Request\nBob --\x3e Alice: Authentication Response\n\nAlice -> Bob: Another authentication Request\nAlice <-- Bob: another authentication Response\n@enduml":
-"plantUmlSvg"==p.value||"plantUmlTxt"==p.value?"@startuml\nskinparam shadowing false\nAlice -> Bob: Authentication Request\nBob --\x3e Alice: Authentication Response\n\nAlice -> Bob: Another authentication Request\nAlice <-- Bob: another authentication Response\n@enduml":";Example:\na->b\nb->edge label->c\nc->a\n"}var k=b.editor.graph.getFreeInsertPoint();e=document.createElement("div");e.style.textAlign="right";var n=document.createElement("textarea");n.style.resize="none";n.style.width="100%";n.style.height=
-"354px";n.style.marginBottom="16px";var p=document.createElement("select"),q=document.createElement("option");q.setAttribute("value","list");mxUtils.write(q,mxResources.get("list"));p.appendChild(q);null!=d&&"fromText"!=d||q.setAttribute("selected","selected");q=document.createElement("option");q.setAttribute("value","table");mxUtils.write(q,mxResources.get("formatSql"));p.appendChild(q);"formatSql"==d&&q.setAttribute("selected","selected");q=document.createElement("option");q.setAttribute("value",
-"diagram");mxUtils.write(q,mxResources.get("diagram"));p.appendChild(q);q=document.createElement("option");q.setAttribute("value","plantUmlSvg");mxUtils.write(q,mxResources.get("plantUml")+" ("+mxResources.get("formatSvg")+")");"plantUml"==d&&q.setAttribute("selected","selected");d=document.createElement("option");d.setAttribute("value","plantUmlPng");mxUtils.write(d,mxResources.get("plantUml")+" ("+mxResources.get("formatPng")+")");var a=document.createElement("option");a.setAttribute("value","plantUmlTxt");
-mxUtils.write(a,mxResources.get("plantUml")+" ("+mxResources.get("text")+")");EditorUi.enablePlantUml&&Graph.fileSupport&&!b.isOffline()&&(p.appendChild(q),p.appendChild(d),p.appendChild(a));var f=g();n.value=f;e.appendChild(n);this.init=function(){n.focus()};Graph.fileSupport&&(n.addEventListener("dragover",function(a){a.stopPropagation();a.preventDefault()},!1),n.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){n.value=a.target.result};b.readAsText(a)}},!1));e.appendChild(p);mxEvent.addListener(p,"change",function(){var a=g();if(0==n.value.length||n.value==f)f=a,n.value=f});d=mxUtils.button(mxResources.get("close"),function(){n.value==f?b.hideDialog():b.confirm(mxResources.get("areYouSure"),function(){b.hideDialog()})});d.className="geBtn";b.editor.cancelFirst&&e.appendChild(d);q=mxUtils.button(mxResources.get("insert"),function(){b.hideDialog();c(n.value,p.value)});
-e.appendChild(q);q.className="geBtn gePrimaryBtn";b.editor.cancelFirst||e.appendChild(d);this.container=e},NewDialog=function(b,e,d,c,g,k,n,p,q,a,f,h,m,u,t){function w(){for(var a=!0;B<Q.length&&(a||0!=mxUtils.mod(B,30));)a=Q[B++],l(a.url,a.libs,a.title,a.tooltip?a.tooltip:a.title,a.select,a.imgUrl,a.info,a.onClick),a=!1}function x(){if(S)d||b.hideDialog(),u(S,O,E.value);else if(c)d||b.hideDialog(),c(Z,E.value);else{var a=E.value;null!=a&&0<a.length&&b.pickFolder(b.mode==App.MODE_ONEDRIVE||b.mode==
-App.MODE_TRELLO||b.mode==App.MODE_GOOGLE&&(null==b.stateArg||null==b.stateArg.folderId)?b.mode:null,function(c){b.createFile(a,Z,null!=X&&0<X.length?X:null,null,function(){b.hideDialog()},null,c)})}}function C(a,b,c,f,l){null!=N&&(N.style.backgroundColor="transparent",N.style.border="1px solid transparent");A.removeAttribute("disabled");Z=b;X=c;N=a;S=f;O=l;N.style.backgroundColor=p;N.style.border=q}function l(a,b,c,f,l,h,v,d){var m=document.createElement("div");m.className="geTemplate";m.style.height=
-R+"px";m.style.width=T+"px";null!=f&&0<f.length&&m.setAttribute("title",f);if(null!=h)m.style.backgroundImage="url("+h+")",m.style.backgroundSize="contain",m.style.backgroundPosition="center center",m.style.backgroundRepeat="no-repeat",mxEvent.addListener(m,"click",function(b){C(m,null,null,a,v)}),mxEvent.addListener(m,"dblclick",function(a){x()});else if(null!=a&&0<a.length){a.substring(0,a.length-4);m.style.backgroundImage="url("+TEMPLATE_PATH+"/"+a.substring(0,a.length-4)+".png)";m.style.backgroundPosition=
-"center center";m.style.backgroundRepeat="no-repeat";var u=!1;mxEvent.addListener(m,"click",function(c){A.setAttribute("disabled","disabled");m.style.backgroundColor="transparent";m.style.border="1px solid transparent";mxUtils.get(TEMPLATE_PATH+"/"+a,mxUtils.bind(this,function(a){200<=a.getStatus()&&299>=a.getStatus()&&(C(m,a.getText(),b),u&&x())}))});mxEvent.addListener(m,"dblclick",function(a){u=!0})}else m.innerHTML='<table width="100%" height="100%"><tr><td align="center" valign="middle">'+mxResources.get(c)+
-"</td></tr></table>",l&&C(m),null!=d?mxEvent.addListener(m,"click",d):(mxEvent.addListener(m,"click",function(a){C(m)}),mxEvent.addListener(m,"dblclick",function(a){x()}));I.appendChild(m)}function v(){mxEvent.addListener(I,"scroll",function(a){I.scrollTop+I.clientHeight>=I.scrollHeight&&(w(),mxEvent.consume(a))});var b=null,c;for(c in V){var f=document.createElement("div"),l=mxResources.get(c),h=V[c];null==l&&(l=c.substring(0,1).toUpperCase()+c.substring(1));18<l.length&&(l=l.substring(0,18)+"&hellip;");
-f.style.cssText="display:block;cursor:pointer;padding:6px;white-space:nowrap;margin-bottom:-1px;overflow:hidden;text-overflow:ellipsis;";f.setAttribute("title",l+" ("+h.length+")");mxUtils.write(f,f.getAttribute("title"));null!=a&&(f.style.padding=a);W.appendChild(f);null==b&&(b=f,b.style.backgroundColor=n);(function(a,c){mxEvent.addListener(f,"click",function(){b!=c&&(b.style.backgroundColor="",b=c,b.style.backgroundColor=n,I.scrollTop=0,I.innerHTML="",B=0,Q=V[a],D=null,w())})})(c,f)}w()}d=null!=
-d?d:!0;g=null!=g?g:!1;n=null!=n?n:"#ebf2f9";p=null!=p?p:"#e6eff8";q=null!=q?q:"1px solid #ccd9ea";f=null!=f?f:TEMPLATE_PATH+"/index.xml";var H=document.createElement("div");H.style.height="100%";var z=document.createElement("div");z.style.whiteSpace="nowrap";z.style.height="46px";d&&H.appendChild(z);var y=document.createElement("img");y.setAttribute("border","0");y.setAttribute("align","absmiddle");y.style.width="40px";y.style.height="40px";y.style.marginRight="10px";y.style.paddingBottom="4px";y.src=
-b.mode==App.MODE_GOOGLE?IMAGE_PATH+"/google-drive-logo.svg":b.mode==App.MODE_DROPBOX?IMAGE_PATH+"/dropbox-logo.svg":b.mode==App.MODE_ONEDRIVE?IMAGE_PATH+"/onedrive-logo.svg":b.mode==App.MODE_GITHUB?IMAGE_PATH+"/github-logo.svg":b.mode==App.MODE_TRELLO?IMAGE_PATH+"/trello-logo.svg":b.mode==App.MODE_BROWSER?IMAGE_PATH+"/osa_database.png":IMAGE_PATH+"/osa_drive-harddisk.png";!e&&d&&z.appendChild(y);d&&mxUtils.write(z,(null==b.mode||b.mode==App.MODE_GOOGLE||b.mode==App.MODE_BROWSER?mxResources.get("diagramName"):
-mxResources.get("filename"))+":");y=".xml";b.mode==App.MODE_GOOGLE&&null!=b.drive?y=b.drive.extension:b.mode==App.MODE_DROPBOX&&null!=b.dropbox?y=b.dropbox.extension:b.mode==App.MODE_ONEDRIVE&&null!=b.oneDrive?y=b.oneDrive.extension:b.mode==App.MODE_GITHUB&&null!=b.gitHub?y=b.gitHub.extension:b.mode==App.MODE_TRELLO&&null!=b.trello&&(y=b.trello.extension);var E=document.createElement("input");E.setAttribute("value",b.defaultFilename+y);E.style.marginRight="20px";E.style.marginLeft="10px";E.style.width=
-e?"220px":"430px";this.init=function(){d&&(E.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?E.select():document.execCommand("selectAll",!1,null))};d&&z.appendChild(E);var z=!1,B=0,A=mxUtils.button(mxResources.get("create"),function(){A.setAttribute("disabled","disabled");x();A.removeAttribute("disabled")});A.className="geBtn gePrimaryBtn";if(h||m){var J=[],D=null,L=function(a){A.setAttribute("disabled","disabled");for(var b=0;b<J.length;b++)J[b].className=b==
-a?"geBtn gePrimaryBtn":"geBtn"},z=!0,y=document.createElement("div");y.style.whiteSpace="nowrap";y.style.height="30px";H.appendChild(y);var F=mxUtils.button(mxResources.get("Templates",null,"Templates"),function(){W.style.display="";I.style.left="160px";L(0);I.scrollTop=0;I.innerHTML="";B=0;D!=Q&&(Q=D,w(),D=null)});J.push(F);y.appendChild(F);var G=function(a){W.style.display="none";I.style.left="30px";L(a?-1:1);null==D&&(D=Q);I.scrollTop=0;I.innerHTML="";var b=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});b.spin(I);B=0;var c=function(a,c){b.stop();Q=a;c?I.innerHTML=c:0==a.length?I.innerHTML=mxResources.get("noDiagrams",null,"No Diagrams Found"):(I.innerHTML="",w())};a?m(M.value,c):h(c)};h&&(F=mxUtils.button(mxResources.get("Recent",null,"Recent"),function(){G()}),y.appendChild(F),J.push(F));if(m){F=document.createElement("span");F.style.marginLeft="10px";F.innerHTML=mxResources.get("search")+":";y.appendChild(F);
-var M=document.createElement("input");M.style.marginRight="10px";M.style.marginLeft="10px";M.style.width="220px";mxEvent.addListener(M,"keypress",function(a){13==a.keyCode&&G(!0)});y.appendChild(M);F=mxUtils.button(mxResources.get("search"),function(){G(!0)});F.className="geBtn";y.appendChild(F)}L(0)}var X=null,Z=null,N=null,S=null,O=null,I=document.createElement("div");I.style.border="1px solid #d3d3d3";I.style.position="absolute";I.style.left="160px";I.style.right="34px";z=(d?72:40)+(z?30:0);I.style.top=
-z+"px";I.style.bottom="68px";I.style.margin="6px 0 0 -1px";I.style.padding="6px";I.style.overflow="auto";var W=document.createElement("div");W.style.cssText="position:absolute;left:30px;width:128px;top:"+z+"px;bottom:68px;margin-top:6px;overflow:auto;border:1px solid #d3d3d3;";var R=140,T=140,V={},K=1;V.basic=[{title:"blankDiagram",select:!0}];var Q=V.basic;if(!e){H.appendChild(W);H.appendChild(I);var P=!1;mxUtils.get(f,function(a){if(!P){P=!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=V[b];null==c&&(K++,c=[],V[b]=c);c.push({url:a.getAttribute("url"),libs:a.getAttribute("libs"),title:a.getAttribute("title"),tooltip:a.getAttribute("url")})}}a=a.nextSibling}v()}})}mxEvent.addListener(E,"keypress",function(a){13==a.keyCode&&x()});f=document.createElement("div");f.style.marginTop=e?"4px":"16px";f.style.textAlign="right";f.style.position="absolute";f.style.left="40px";f.style.bottom=
-"24px";f.style.right="40px";z=mxUtils.button(mxResources.get("cancel"),function(){null!=k&&k();b.hideDialog(!0)});z.className="geBtn";!b.editor.cancelFirst||g&&null==k||f.appendChild(z);e||b.isOffline()||!d||null!=c||g||(y=mxUtils.button(mxResources.get("help"),function(){b.openLink("https://support.draw.io/display/DO/Creating+and+Opening+Files")}),y.className="geBtn",f.appendChild(y));e||"1"==urlParams.embed||g||(e=mxUtils.button(mxResources.get("fromTemplateUrl"),function(){var a=new FilenameDialog(b,
-"",mxResources.get("create"),function(a){null!=a&&0<a.length&&(a=b.getUrl(window.location.pathname+"?mode="+b.mode+"&title="+encodeURIComponent(E.value)+"&create="+encodeURIComponent(a)),null==b.getCurrentFile()?window.location.href=a:window.openWindow(a))},mxResources.get("url"));b.showDialog(a.container,300,80,!0,!0);a.init()}),e.className="geBtn",f.appendChild(e));Graph.fileSupport&&t&&(t=mxUtils.button(mxResources.get("import"),function(){var a=document.createElement("input");a.setAttribute("multiple",
-"multiple");a.setAttribute("type","file");mxEvent.addListener(a,"change",function(c){b.openFiles(a.files,!0)});a.click()}),t.className="geBtn",f.appendChild(t));f.appendChild(A);b.editor.cancelFirst||null!=c||g&&null==k||f.appendChild(z);H.appendChild(f);this.container=H},CreateDialog=function(b,e,d,c,g,k,n,p,q,a,f,h,m,u,t){function w(a,c,f,l){function m(){mxEvent.addListener(d,"click",function(){var a=f;if(n){var c=v.value,l=c.lastIndexOf(".");if(0>e.lastIndexOf(".")&&0>l){var a=null!=a?a:y.value,
-h="";a==App.MODE_GOOGLE?h=b.drive.extension:a==App.MODE_GITHUB?h=b.gitHub.extension:a==App.MODE_TRELLO?h=b.trello.extension:a==App.MODE_DROPBOX?h=b.dropbox.extension:a==App.MODE_ONEDRIVE?h=b.oneDrive.extension:a==App.MODE_DEVICE&&(h=".xml");0<=l&&(c=c.substring(0,l));v.value=c+h}}x(f)})}var d=document.createElement("a");d.style.overflow="hidden";var u=document.createElement("img");u.src=a;u.setAttribute("border","0");u.setAttribute("align","absmiddle");u.style.width="60px";u.style.height="60px";u.style.paddingBottom=
-"6px";d.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";d.className="geBaseButton";d.style.position="relative";d.style.margin="4px";d.style.padding="8px 8px 10px 8px";d.style.whiteSpace="nowrap";d.appendChild(u);mxClient.IS_QUIRKS&&(d.style.cssFloat="left",d.style.zoom="1");d.style.color="gray";d.style.fontSize="11px";var w=document.createElement("div");d.appendChild(w);mxUtils.write(w,c);if(null!=l&&null==b[l]){u.style.visibility="hidden";mxUtils.setOpacity(w,10);var t=new Spinner({lines:12,
-length:12,width:5,radius:10,rotate:0,color:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9});t.spin(d);var g=window.setTimeout(function(){null==b[l]&&(t.stop(),d.style.display="none")},3E4);b.addListener("clientLoaded",mxUtils.bind(this,function(){null!=b[l]&&(window.clearTimeout(g),mxUtils.setOpacity(w,100),u.style.visibility="",t.stop(),m())}))}else m();H.appendChild(d);++z==h&&(mxUtils.br(H),z=0)}function x(a){var c=v.value;if(null==a||null!=c&&0<c.length)b.hideDialog(),d(c,
-a)}n=null!=n?n:!0;p=null!=p?p:!0;h=null!=h?h:4;var C=document.createElement("div");null==c&&b.addLanguageMenu(C);var l=document.createElement("h2");mxUtils.write(l,g||mxResources.get("create"));l.style.marginTop="0px";l.style.marginBottom="24px";C.appendChild(l);mxUtils.write(C,mxResources.get("filename")+":");var v=document.createElement("input");v.setAttribute("value",e);v.style.width="280px";v.style.marginLeft="10px";v.style.marginBottom="20px";this.init=function(){v.focus();mxClient.IS_GC||mxClient.IS_FF||
-5<=document.documentMode||mxClient.IS_QUIRKS?v.select():document.execCommand("selectAll",!1,null)};C.appendChild(v);null!=m&&null!=u&&"image/"==u.substring(0,6)&&(v.style.width="160px",g=null,"image/svg+xml"==u&&mxClient.IS_SVG?(g=document.createElement("div"),g.innerHTML=mxUtils.trim(m),m=g.getElementsByTagName("svg")[0],u=parseInt(m.getAttribute("width")),t=parseInt(m.getAttribute("height")),m.setAttribute("viewBox","0 0 "+u+" "+t),m.setAttribute("width","120px"),m.setAttribute("height","80px")):
-(g=document.createElement("img"),g.setAttribute("src","data:"+u+(t?";base64,":";utf8,")+m)),g.style.position="absolute",g.style.top="70px",g.style.right="100px",g.style.maxWidth="120px",g.style.maxHeight="80px",mxUtils.setPrefixedStyle(g.style,"transform","translate(50%,-50%)"),C.appendChild(g),q&&Editor.popupsAllowed&&(g.style.cursor="pointer",mxEvent.addListener(g,"click",function(){x("_blank")})));mxUtils.br(C);var H=document.createElement("div");H.style.textAlign="center";var z=0;H.style.marginTop=
-"6px";C.appendChild(H);var y=document.createElement("select");y.style.marginLeft="10px";b.isOfflineApp()||b.isOffline()||("function"===typeof window.DriveClient&&(g=document.createElement("option"),g.setAttribute("value",App.MODE_GOOGLE),mxUtils.write(g,mxResources.get("googleDrive")),y.appendChild(g),w(IMAGE_PATH+"/google-drive-logo.svg",mxResources.get("googleDrive"),App.MODE_GOOGLE,"drive")),"function"===typeof window.OneDriveClient&&(g=document.createElement("option"),g.setAttribute("value",App.MODE_ONEDRIVE),
-mxUtils.write(g,mxResources.get("oneDrive")),y.appendChild(g),b.mode==App.MODE_ONEDRIVE&&g.setAttribute("selected","selected"),w(IMAGE_PATH+"/onedrive-logo.svg",mxResources.get("oneDrive"),App.MODE_ONEDRIVE,"oneDrive")),"function"===typeof window.DropboxClient&&(g=document.createElement("option"),g.setAttribute("value",App.MODE_DROPBOX),mxUtils.write(g,mxResources.get("dropbox")),y.appendChild(g),b.mode==App.MODE_DROPBOX&&g.setAttribute("selected","selected"),w(IMAGE_PATH+"/dropbox-logo.svg",mxResources.get("dropbox"),
-App.MODE_DROPBOX,"dropbox")),null!=b.gitHub&&(g=document.createElement("option"),g.setAttribute("value",App.MODE_GITHUB),mxUtils.write(g,mxResources.get("github")),y.appendChild(g),w(IMAGE_PATH+"/github-logo.svg",mxResources.get("github"),App.MODE_GITHUB,"gitHub")),null!=b.trello&&(g=document.createElement("option"),g.setAttribute("value",App.MODE_TRELLO),mxUtils.write(g,mxResources.get("trello")),y.appendChild(g),w(IMAGE_PATH+"/trello-logo.svg",mxResources.get("trello"),App.MODE_TRELLO,"trello")));
-if(!Editor.useLocalStorage||"device"==urlParams.storage||null!=b.getCurrentFile()&&!mxClient.IS_IOS)g=document.createElement("option"),g.setAttribute("value",App.MODE_DEVICE),mxUtils.write(g,mxResources.get("device")),y.appendChild(g),b.mode!=App.MODE_DEVICE&&p||g.setAttribute("selected","selected"),f&&w(IMAGE_PATH+"/osa_drive-harddisk.png",mxResources.get("device"),App.MODE_DEVICE);p&&isLocalStorage&&"0"!=urlParams.browser&&(p=document.createElement("option"),p.setAttribute("value",App.MODE_BROWSER),
-mxUtils.write(p,mxResources.get("browser")),y.appendChild(p),b.mode==App.MODE_BROWSER&&p.setAttribute("selected","selected"),w(IMAGE_PATH+"/osa_database.png",mxResources.get("browser"),App.MODE_BROWSER));p=document.createElement("div");p.style.marginTop="26px";p.style.textAlign="center";null!=a&&(g=mxUtils.button(mxResources.get("help"),function(){b.openLink(a)}),g.className="geBtn",p.appendChild(g));g=mxUtils.button(mxResources.get("cancel"),function(){null!=c?c():(b.fileLoaded(null),b.hideDialog(),
-window.close(),window.location.href=b.getUrl())});g.className="geBtn";b.editor.cancelFirst&&p.appendChild(g);null==c&&(m=mxUtils.button(mxResources.get("decideLater"),function(){x(null)}),m.className="geBtn",p.appendChild(m));q&&Editor.popupsAllowed&&(q=mxUtils.button(mxResources.get("openInNewWindow"),function(){x("_blank")}),q.className="geBtn",p.appendChild(q));mxClient.IS_IOS||(k=mxUtils.button(k||mxResources.get("create"),function(){x(f?"download":App.MODE_DEVICE)}),k.className="geBtn gePrimaryBtn",
-p.appendChild(k));b.editor.cancelFirst||p.appendChild(g);mxEvent.addListener(v,"keypress",function(a){13==a.keyCode?x(App.MODE_DEVICE):27==a.keyCode&&(b.fileLoaded(null),b.hideDialog(),window.close())});C.appendChild(p);this.container=C},PopupDialog=function(b,e,d,c,g){g=null!=g?g:!0;var k=document.createElement("div");k.style.textAlign="left";mxUtils.write(k,mxResources.get("fileOpenLocation"));mxUtils.br(k);mxUtils.br(k);var n=mxUtils.button(mxResources.get("openInThisWindow"),function(){g&&b.hideDialog();
-null!=c&&c()});n.className="geBtn";n.style.marginBottom="8px";n.style.width="280px";k.appendChild(n);mxUtils.br(k);var p=mxUtils.button(mxResources.get("openInNewWindow"),function(){g&&b.hideDialog();null!=d&&d();b.openLink(e)});p.className="geBtn gePrimaryBtn";p.style.width=n.style.width;k.appendChild(p);mxUtils.br(k);mxUtils.br(k);mxUtils.write(k,mxResources.get("allowPopups"));this.container=k},ImageDialog=function(b,e,d,c,g,k){k=null!=k?k:!0;var n=b.editor.graph,p=document.createElement("div");
-mxUtils.write(p,e);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 q=document.createElement("input");q.setAttribute("value",d);q.setAttribute("type","text");q.setAttribute("spellcheck","false");q.setAttribute("autocorrect","off");q.setAttribute("autocomplete","off");q.setAttribute("autocapitalize",
-"off");q.style.marginTop="6px";q.style.width=(Graph.fileSupport?420:340)+(mxClient.IS_QUIRKS?20:-20)+"px";q.style.backgroundImage="url('"+Dialog.prototype.clearImage+"')";q.style.backgroundRepeat="no-repeat";q.style.backgroundPosition="100% 50%";q.style.paddingRight="14px";d=document.createElement("div");d.setAttribute("title",mxResources.get("reset"));d.style.position="relative";d.style.left="-16px";d.style.width="12px";d.style.height="14px";d.style.cursor="pointer";d.style.display=mxClient.IS_VML?
-"inline":"inline-block";d.style.top=(mxClient.IS_VML?0:3)+"px";d.style.background="url('"+b.editor.transparentImage+"')";mxEvent.addListener(d,"click",function(){q.value="";q.focus()});e.appendChild(q);e.appendChild(d);p.appendChild(e);var a=function(a,f,h,d){var m="data:"==a.substring(0,5);!b.isOffline()||m&&"undefined"===typeof chrome?0<a.length&&b.spinner.spin(document.body,mxResources.get("inserting"))?b.loadImage(a,function(l){b.spinner.stop();b.hideDialog();var v=!1===d?1:null!=f&&null!=h?Math.max(f/
-l.width,h/l.height):Math.min(1,Math.min(520/l.width,520/l.height));k&&(a=b.convertDataUri(a));c(a,Math.round(Number(l.width)*v),Math.round(Number(l.height)*v))},function(){b.spinner.stop();c(null);b.showError(mxResources.get("error"),mxResources.get("fileNotFound"),mxResources.get("ok"))}):(b.hideDialog(),c(a)):(a=b.convertDataUri(a),f=null==f?120:f,h=null==h?100:h,b.hideDialog(),c(a,f,h))},f=function(f,h){if(null!=f){var d=g?null:n.getModel().getGeometry(n.getSelectionCell());null!=d?a(f,d.width,
-d.height,h):a(f,null,null,h)}else b.hideDialog(),c(null)};this.init=function(){q.focus();if(Graph.fileSupport){q.setAttribute("placeholder",mxResources.get("dragImagesHere"));var a=p.parentNode,c=null;mxEvent.addListener(a,"dragleave",function(a){null!=c&&(c.parentNode.removeChild(c),c=null);a.stopPropagation();a.preventDefault()});mxEvent.addListener(a,"dragover",mxUtils.bind(this,function(f){null==c&&(!mxClient.IS_IE||10<document.documentMode)&&(c=b.highlightElement(a));f.stopPropagation();f.preventDefault()}));
-mxEvent.addListener(a,"drop",mxUtils.bind(this,function(a){null!=c&&(c.parentNode.removeChild(c),c=null);if(0<a.dataTransfer.files.length)b.importFiles(a.dataTransfer.files,0,0,b.maxImageSize,function(a,b,c,h,d,m,e,u){f(a,u)},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 h=a.dataTransfer.getData("text/uri-list");/\.(gif|jpg|jpeg|tiff|png|svg)($|\?)/i.test(h)&&
-f(decodeURIComponent(h))}a.stopPropagation();a.preventDefault()}),!1)}};d=document.createElement("div");d.style.marginTop=mxClient.IS_QUIRKS?"22px":"14px";d.style.textAlign="right";e=mxUtils.button(mxResources.get("cancel"),function(){b.spinner.stop();b.hideDialog()});e.className="geBtn";b.editor.cancelFirst&&d.appendChild(e);ImageDialog.filePicked=function(a){a.action==google.picker.Action.PICKED&&null!=a.docs[0].thumbnails&&(a=a.docs[0].thumbnails[a.docs[0].thumbnails.length-1],null!=a&&(q.value=
-a.url));q.focus()};if(Graph.fileSupport){var h=document.createElement("input");h.setAttribute("multiple","multiple");h.setAttribute("type","file");if(null==document.documentMode){mxEvent.addListener(h,"change",function(a){b.importFiles(h.files,0,0,b.maxImageSize,function(a,b,c,h,l,v){f(a)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()},!0)});var m=mxUtils.button(mxResources.get("open"),function(){h.click()});m.className="geBtn";d.appendChild(m)}}document.createElement("canvas").getContext&&
-"data:image/"==q.value.substring(0,11)&&"data:image/svg"!=q.value.substring(0,14)&&(m=mxUtils.button(mxResources.get("crop"),function(){var a=new CropImageDialog(b,q.value,function(a){q.value=a});b.showDialog(a.container,200,180,!0,!0);a.init()}),m.className="geBtn",d.appendChild(m));"undefined"!=typeof google&&"undefined"!=typeof google.picker&&window.self===window.top&&(m=mxUtils.button(mxResources.get("search"),function(){if(null==b.imageSearchPicker){var a=(new google.picker.PickerBuilder).setLocale(mxLanguage).addView(google.picker.ViewId.IMAGE_SEARCH).enableFeature(google.picker.Feature.NAV_HIDDEN);
-b.imageSearchPicker=a.setCallback(function(a){ImageDialog.filePicked(a)}).build()}b.imageSearchPicker.setVisible(!0)}),m.className="geBtn",d.appendChild(m),null!=b.drive&&"1"==urlParams.photos&&(m=mxUtils.button(mxResources.get("googlePlus"),function(){b.spinner.spin(document.body,mxResources.get("authorizing"))&&b.drive.checkToken(mxUtils.bind(this,function(){b.spinner.stop();if(null==b.photoPicker){var a=gapi.auth.getToken().access_token,a=(new google.picker.PickerBuilder).setAppId(b.drive.appId).setLocale(mxLanguage).setOAuthToken(a).addView(google.picker.ViewId.PHOTOS).addView(google.picker.ViewId.PHOTO_ALBUMS).addView(google.picker.ViewId.PHOTO_UPLOAD);
-b.photoPicker=a.setCallback(function(a){ImageDialog.filePicked(a)}).build()}b.photoPicker.setVisible(!0)}))}),m.className="geBtn",d.appendChild(m)));mxEvent.addListener(q,"keypress",function(a){13==a.keyCode&&f(q.value)});m=mxUtils.button(mxResources.get("apply"),function(){f(q.value)});m.className="geBtn gePrimaryBtn";d.appendChild(m);b.editor.cancelFirst||d.appendChild(e);Graph.fileSupport&&(d.style.marginTop="120px",p.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')",p.style.backgroundPosition=
-"center 65%",p.style.backgroundRepeat="no-repeat",e=document.createElement("div"),e.style.position="absolute",e.style.width="420px",e.style.top="58%",e.style.textAlign="center",e.style.fontSize="18px",e.style.color="#a0c3ff",mxUtils.write(e,mxResources.get("dragImagesHere")),p.appendChild(e));p.appendChild(d);this.container=p},LinkDialog=function(b,e,d,c,g){function k(a,b,c){c=mxUtils.button("",c);c.className="geBtn";c.setAttribute("title",b);b=document.createElement("img");b.style.height="26px";
-b.style.width="26px";b.setAttribute("src",a);c.style.minWidth="42px";c.style.verticalAlign="middle";c.appendChild(b);x.appendChild(c)}var n=document.createElement("div");mxUtils.write(n,mxResources.get("editLink")+":");var p=document.createElement("div");p.className="geTitle";p.style.backgroundColor="transparent";p.style.borderColor="transparent";p.style.whiteSpace="nowrap";p.style.textOverflow="clip";p.style.cursor="default";mxClient.IS_VML||(p.style.paddingRight="20px");var q=document.createElement("input");
-q.setAttribute("placeholder",mxResources.get("dragUrlsHere"));q.setAttribute("type","text");q.style.marginTop="6px";q.style.width="400px";q.style.backgroundImage="url('"+Dialog.prototype.clearImage+"')";q.style.backgroundRepeat="no-repeat";q.style.backgroundPosition="100% 50%";q.style.paddingRight="14px";var a=document.createElement("div");a.setAttribute("title",mxResources.get("reset"));a.style.position="relative";a.style.left="-16px";a.style.width="12px";a.style.height="14px";a.style.cursor="pointer";
-a.style.display=mxClient.IS_VML?"inline":"inline-block";a.style.top=(mxClient.IS_VML?0:3)+"px";a.style.background="url('"+b.editor.transparentImage+"')";mxEvent.addListener(a,"click",function(){q.value="";q.focus()});var f=document.createElement("input");f.style.cssText="margin-right:8px;margin-bottom:8px;";f.setAttribute("value","url");f.setAttribute("type","radio");f.setAttribute("name","current-linkdialog");var h=document.createElement("input");h.style.cssText="margin-right:8px;margin-bottom:8px;";
-h.setAttribute("value","url");h.setAttribute("type","radio");h.setAttribute("name","current-linkdialog");var m=document.createElement("select");m.style.width="380px";if(g&&null!=b.pages){null!=e&&b.editor.graph.isPageLink(e)?(h.setAttribute("checked","checked"),h.defaultChecked=!0):(q.setAttribute("value",e),f.setAttribute("checked","checked"),f.defaultChecked=!0);q.style.width="380px";p.appendChild(f);p.appendChild(q);p.appendChild(a);mxUtils.br(p);p.appendChild(h);g=!1;for(a=0;a<b.pages.length;a++){var u=
-document.createElement("option");mxUtils.write(u,b.pages[a].getName()||mxResources.get("pageWithNumber",[a+1]));u.setAttribute("value","data:page/id,"+b.pages[a].getId());e==u.getAttribute("value")&&(u.setAttribute("selected","selected"),g=!0);m.appendChild(u)}if(!g&&h.checked){var t=document.createElement("option");mxUtils.write(t,mxResources.get("pageNotFound"));t.setAttribute("disabled","disabled");t.setAttribute("selected","selected");t.setAttribute("value","pageNotFound");m.appendChild(t);mxEvent.addListener(m,
-"change",function(){null==t.parentNode||t.selected||t.parentNode.removeChild(t)})}p.appendChild(m)}else q.setAttribute("value",e),p.appendChild(q),p.appendChild(a);n.appendChild(p);var w=mxUtils.button(d,function(){b.hideDialog();c(h.checked?"pageNotFound"!==m.value?m.value:e:q.value,LinkDialog.selectedDocs)});w.style.verticalAlign="middle";w.className="geBtn gePrimaryBtn";this.init=function(){h.checked?m.focus():(q.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?
-q.select():document.execCommand("selectAll",!1,null));mxEvent.addListener(m,"focus",function(){f.removeAttribute("checked");h.setAttribute("checked","checked");h.checked=!0});mxEvent.addListener(q,"focus",function(){h.removeAttribute("checked");f.setAttribute("checked","checked");f.checked=!0});if(Graph.fileSupport){var a=n.parentNode,c=null;mxEvent.addListener(a,"dragleave",function(a){null!=c&&(c.parentNode.removeChild(c),c=null);a.stopPropagation();a.preventDefault()});mxEvent.addListener(a,"dragover",
-mxUtils.bind(this,function(f){null==c&&(!mxClient.IS_IE||10<document.documentMode)&&(c=b.highlightElement(a));f.stopPropagation();f.preventDefault()}));mxEvent.addListener(a,"drop",mxUtils.bind(this,function(a){null!=c&&(c.parentNode.removeChild(c),c=null);0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")&&(q.value=decodeURIComponent(a.dataTransfer.getData("text/uri-list")),f.setAttribute("checked","checked"),f.checked=!0,w.click());a.stopPropagation();a.preventDefault()}),!1)}};var x=document.createElement("div");
-x.style.marginTop="20px";x.style.textAlign="right";d=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog()});d.style.verticalAlign="middle";d.className="geBtn";b.editor.cancelFirst&&x.appendChild(d);LinkDialog.selectedDocs=null;LinkDialog.filePicked=function(a){if(a.action==google.picker.Action.PICKED){LinkDialog.selectedDocs=a.docs;var b=a.docs[0].url;"application/mxe"==a.docs[0].mimeType||"application/vnd.jgraph.mxfile"==a.docs[0].mimeType?(b=DriveClient.prototype.oldAppHostname,b=
-"https://"+b+"/#G"+a.docs[0].id):"application/mxr"==a.docs[0].mimeType||"application/vnd.jgraph.mxfile.realtime"==a.docs[0].mimeType?(b=DriveClient.prototype.newAppHostname,b="https://"+b+"/#G"+a.docs[0].id):"application/vnd.google-apps.folder"==a.docs[0].mimeType&&(b="https://drive.google.com/#folders/"+a.docs[0].id);q.value=b;q.focus()}else LinkDialog.selectedDocs=null;q.focus()};"undefined"!=typeof google&&"undefined"!=typeof google.picker&&null!=b.drive&&k(IMAGE_PATH+"/google-drive-logo.svg",
-mxResources.get("googlePlus"),function(){b.spinner.spin(document.body,mxResources.get("authorizing"))&&b.drive.checkToken(mxUtils.bind(this,function(){b.spinner.stop();if(null==b.linkPicker){var a=gapi.auth.getToken().access_token,c=(new google.picker.DocsView(google.picker.ViewId.FOLDERS)).setParent("root").setIncludeFolders(!0).setSelectFolderEnabled(!0),f=(new google.picker.DocsView).setIncludeFolders(!0).setSelectFolderEnabled(!0),h=(new google.picker.DocsView).setIncludeFolders(!0).setEnableTeamDrives(!0).setSelectFolderEnabled(!0),
-a=(new google.picker.PickerBuilder).setAppId(b.drive.appId).setLocale(mxLanguage).setOAuthToken(a).enableFeature(google.picker.Feature.SUPPORT_TEAM_DRIVES).addView(c).addView(f).addView(h).addView(google.picker.ViewId.RECENTLY_PICKED).addView(google.picker.ViewId.IMAGE_SEARCH).addView(google.picker.ViewId.VIDEO_SEARCH).addView(google.picker.ViewId.MAPS);"1"==urlParams.photos&&a.addView(google.picker.ViewId.PHOTOS).addView(google.picker.ViewId.PHOTO_ALBUMS).addView(google.picker.ViewId.PHOTO_UPLOAD);
-b.linkPicker=a.setCallback(function(a){LinkDialog.filePicked(a)}).build()}b.linkPicker.setVisible(!0)}))});"undefined"!=typeof Dropbox&&"undefined"!=typeof Dropbox.choose&&k(IMAGE_PATH+"/dropbox-logo.svg",mxResources.get("dropbox"),function(){Dropbox.choose({linkType:"direct",cancel:function(){},success:function(a){q.value=a[0].link;q.focus()}})});null!=b.oneDrive&&k(IMAGE_PATH+"/onedrive-logo.svg",mxResources.get("oneDrive"),function(){b.oneDrive.pickFile(function(a,b){q.value=b.value[0].webUrl;
-q.focus()})});null!=b.gitHub&&k(IMAGE_PATH+"/github-logo.svg",mxResources.get("github"),function(){b.gitHub.pickFile(function(a){if(null!=a){a=a.split("/");var b=a[0],c=a[1],f=a[2];a=a.slice(3,a.length).join("/");q.value="https://github.com/"+b+"/"+c+"/blob/"+f+"/"+a;q.focus()}})});mxEvent.addListener(q,"keypress",function(a){13==a.keyCode&&(b.hideDialog(),c(h.checked?m.value:q.value,LinkDialog.selectedDocs))});x.appendChild(w);b.editor.cancelFirst||x.appendChild(d);n.appendChild(x);this.container=
-n},AboutDialog=function(b){var e=document.createElement("div");e.style.marginTop="6px";e.setAttribute("align","center");var d=document.createElement("img");d.style.border="0px";mxClient.IS_SVG?(d.setAttribute("width","164"),d.setAttribute("height","221"),d.style.width="164px",d.style.height="221px",d.setAttribute("src",IMAGE_PATH+"/drawlogo-text-bottom.svg")):(d.setAttribute("width","176"),d.setAttribute("height","219"),d.style.width="170px",d.style.height="219px",d.setAttribute("src",IMAGE_PATH+
-"/logo-flat.png"));e.appendChild(d);mxUtils.br(e);d=document.createElement("small");d.innerHTML="v "+EditorUi.VERSION;d.style.color="#505050";e.appendChild(d);mxUtils.br(e);mxUtils.br(e);d=document.createElement("small");d.style.color="#505050";d.innerHTML='&copy; 2005-2018 <a href="https://about.draw.io/" style="color:inherit;" target="_blank">JGraph Ltd</a>.<br>All Rights Reserved.';e.appendChild(d);mxEvent.addListener(e,"click",function(c){"A"!=mxEvent.getSource(c).nodeName&&b.hideDialog()});this.container=
-e},FeedbackDialog=function(b){var e=document.createElement("div"),d=document.createElement("div");mxUtils.write(d,mxResources.get("sendYourFeedbackToDrawIo"));d.style.fontSize="18px";d.style.marginBottom="18px";e.appendChild(d);d=document.createElement("div");mxUtils.write(d,mxResources.get("yourEmailAddress")+" ("+mxResources.get("required")+")");e.appendChild(d);var c=document.createElement("input");c.setAttribute("type","text");c.style.marginTop="6px";c.style.width="600px";var g=mxUtils.button(mxResources.get("sendMessage"),
-function(){var a=(n.checked?"\nDiagram:\n"+b.getFileData():"")+"\nBrowser:\n"+navigator.userAgent;a.length>FeedbackDialog.maxAttachmentSize?b.alert(mxResources.get("drawingTooLarge")):(b.hideDialog(),b.spinner.spin(document.body)&&mxUtils.post(null!=FeedbackDialog.feedbackUrl?FeedbackDialog.feedbackUrl:"/email","email="+encodeURIComponent(c.value)+"&version="+encodeURIComponent(EditorUi.VERSION)+"&url="+encodeURIComponent(window.location.href)+"&body="+encodeURIComponent("Feedback:\n"+q.value+a),
+var BackgroundImageDialog=function(b,d){var f=document.createElement("div");f.style.whiteSpace="nowrap";var c=document.createElement("h2");mxUtils.write(c,mxResources.get("backgroundImage"));c.style.marginTop="0px";f.appendChild(c);mxUtils.write(f,mxResources.get("image")+" "+mxResources.get("url")+":");mxUtils.br(f);var c=b.editor.graph.backgroundImage,g=document.createElement("input");g.setAttribute("type","text");g.style.marginTop="4px";g.style.marginBottom="4px";g.style.width="350px";g.value=
+null!=c?c.src:"";var k=!1,l=function(){k||""==g.value||b.isOffline()?(n.value="",p.value=""):b.loadImage(mxUtils.trim(g.value),function(a){n.value=a.width;p.value=a.height},function(){b.showError(mxResources.get("error"),mxResources.get("fileNotFound"),mxResources.get("ok"));g.value="";n.value="";p.value=""})};this.init=function(){g.focus();if(Graph.fileSupport){g.setAttribute("placeholder",mxResources.get("dragImagesHere"));var a=f.parentNode,e=null;mxEvent.addListener(a,"dragleave",function(a){null!=
+e&&(e.parentNode.removeChild(e),e=null);a.stopPropagation();a.preventDefault()});mxEvent.addListener(a,"dragover",mxUtils.bind(this,function(c){null==e&&(!mxClient.IS_IE||10<document.documentMode)&&(e=b.highlightElement(a));c.stopPropagation();c.preventDefault()}));mxEvent.addListener(a,"drop",mxUtils.bind(this,function(a){null!=e&&(e.parentNode.removeChild(e),e=null);if(0<a.dataTransfer.files.length)b.importFiles(a.dataTransfer.files,0,0,b.maxBackgroundSize,function(a,b,e,c,h,q){g.value=a;l()},function(){},
+function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()},!0,b.maxBackgroundBytes,b.maxBackgroundBytes);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)&&(g.value=decodeURIComponent(c),l())}a.stopPropagation();a.preventDefault()}),!1)}};f.appendChild(g);mxUtils.br(f);mxUtils.br(f);mxUtils.write(f,mxResources.get("width")+":");var n=document.createElement("input");
+n.setAttribute("type","text");n.style.width="60px";n.style.marginLeft="4px";n.style.marginRight="16px";n.value=null!=c?c.width:"";f.appendChild(n);mxUtils.write(f,mxResources.get("height")+":");var p=document.createElement("input");p.setAttribute("type","text");p.style.width="60px";p.style.marginLeft="4px";p.style.marginRight="16px";p.value=null!=c?c.height:"";f.appendChild(p);c=mxUtils.button(mxResources.get("reset"),function(){g.value="";n.value="";p.value="";k=!1});mxEvent.addListener(c,"mousedown",
+function(){k=!0});mxEvent.addListener(c,"touchstart",function(){k=!0});c.className="geBtn";c.width="100";f.appendChild(c);mxUtils.br(f);mxEvent.addListener(g,"change",l);ImageDialog.filePicked=function(a){a.action==google.picker.Action.PICKED&&null!=a.docs[0].thumbnails&&(a=a.docs[0].thumbnails[a.docs[0].thumbnails.length-1],null!=a&&(g.value=a.url,l()));g.focus()};c=document.createElement("div");c.style.marginTop="40px";c.style.textAlign="right";var a=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog()});
+a.className="geBtn";b.editor.cancelFirst&&c.appendChild(a);if(!b.isOffline()&&"undefined"!=typeof google&&"undefined"!=typeof google.picker&&window.self===window.top){var e=mxUtils.button(mxResources.get("search"),function(){if(null==b.imageSearchPicker){var a=(new google.picker.PickerBuilder).setLocale(mxLanguage).addView(google.picker.ViewId.IMAGE_SEARCH).enableFeature(google.picker.Feature.NAV_HIDDEN);b.imageSearchPicker=a.setCallback(function(a){ImageDialog.filePicked(a)}).build()}b.imageSearchPicker.setVisible(!0)});
+e.className="geBtn";c.appendChild(e);null!=b.drive&&"1"==urlParams.photos&&(e=mxUtils.button(mxResources.get("googlePlus"),function(){b.spinner.spin(document.body,mxResources.get("authorizing"))&&b.drive.checkToken(mxUtils.bind(this,function(){b.spinner.stop();if(null==b.photoPicker){var a=gapi.auth.getToken().access_token,a=(new google.picker.PickerBuilder).setAppId(b.drive.appId).setLocale(mxLanguage).setOAuthToken(a).addView(google.picker.ViewId.PHOTOS).addView(google.picker.ViewId.PHOTO_ALBUMS).addView(google.picker.ViewId.PHOTO_UPLOAD);
+b.photoPicker=a.setCallback(function(a){ImageDialog.filePicked(a)}).build()}b.photoPicker.setVisible(!0)}))}),e.className="geBtn",c.appendChild(e))}e=mxUtils.button(mxResources.get("apply"),function(){b.hideDialog();d(""!=g.value?new mxImage(mxUtils.trim(g.value),n.value,p.value):null)});e.className="geBtn gePrimaryBtn";c.appendChild(e);b.editor.cancelFirst||c.appendChild(a);f.appendChild(c);this.container=f},ParseDialog=function(b,d,f){function c(a,e){var c=a.split("\n");if("plantUmlPng"==e||"plantUmlSvg"==
+e||"plantUmlTxt"==e){var c="plantUmlTxt"==e?PLANT_URL+"/txt/":"plantUmlPng"==e?PLANT_URL+"/png/":PLANT_URL+"/svg/",h=b.editor.graph;if(b.spinner.spin(document.body,mxResources.get("inserting"))){var f=function(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?"_":"?"},d=function(a,b,e){c1=a>>2;c2=(a&3)<<4|b>>4;c3=(b&15)<<2|e>>6;c4=e&63;r="";r+=f(c1&63);r+=f(c2&63);r+=f(c3&63);return r+=
+f(c4&63)},x=new XMLHttpRequest;x.open("GET",c+function(a){r="";for(g=0;g<a.length;g+=3)r=g+2==a.length?r+d(a.charCodeAt(g),a.charCodeAt(g+1),0):g+1==a.length?r+d(a.charCodeAt(g),0,0):r+d(a.charCodeAt(g),a.charCodeAt(g+1),a.charCodeAt(g+2));return r}(h.bytesToString(pako.deflateRaw(unescape(encodeURIComponent(a))))),!0);"plantUmlTxt"!=e&&(x.responseType="blob");x.onload=function(c){if(200<=this.status&&300>this.status)if("plantUmlTxt"==e){b.spinner.stop();h.getModel().beginUpdate();try{cell=h.insertVertex(null,
+null,"<pre>"+this.response+"</pre>",k.x,k.y,1,1,"text;html=1;overflow=fill;"),h.updateCellSize(cell,!0)}finally{h.getModel().endUpdate()}h.setSelectionCell(cell);h.scrollCellToVisible(h.getSelectionCell())}else c=new FileReader,c.readAsDataURL(this.response),c.onload=function(e){var c=new Image;c.onload=function(){b.spinner.stop();var m=c.width,v=c.height;if(0==m&&0==v){var f=e.target.result,q=f.indexOf(","),f=decodeURIComponent(escape(atob(f.substring(q+1)))),f=mxUtils.parseXml(f).getElementsByTagName("svg");
+0<f.length&&(m=parseFloat(f[0].getAttribute("width")),v=parseFloat(f[0].getAttribute("height")))}h.getModel().beginUpdate();try{cell=h.insertVertex(null,null,a,k.x,k.y,m,v,"shape=image;noLabel=1;verticalAlign=top;aspect=fixed;imageAspect=0;image="+b.convertDataUri(e.target.result)+";")}finally{h.getModel().endUpdate()}h.setSelectionCell(cell);h.scrollCellToVisible(h.getSelectionCell())};c.src=e.target.result},c.onerror=function(a){b.handleError(a)};else b.spinner.stop(),b.handleError(c)};x.onerror=
+function(a){b.handleError(a)};x.send()}}else if("table"==e){for(var m=null,v=[],u=0,g=0;g<c.length;g++)if(x=mxUtils.trim(c[g]),"create table"==x.substring(0,12).toLowerCase())x=mxUtils.trim(x.substring(12)),"("==x.charAt(x.length-1)&&(x=x.substring(0,x.lastIndexOf(" "))),m=new mxCell(x,new mxGeometry(u,0,160,26),"swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=#e0e0e0;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;align=center;"),
+m.vertex=!0,v.push(m),x=b.editor.graph.getPreferredSizeForCell(n),null!=x&&(m.geometry.width=x.width+10);else if(null!=m&&")"==x.charAt(0))u+=m.geometry.width+40,m=null;else if("("!=x&&null!=m&&(x=x.substring(0,","==x.charAt(x.length-1)?x.length-1:x.length),"primary key"!=x.substring(0,11).toLowerCase())){var l=x.toLowerCase().indexOf("primary key"),x=x.replace(/primary key/i,""),n=new mxCell(x,new mxGeometry(0,0,90,26),"shape=partialRectangle;top=0;left=0;right=0;bottom=0;align=left;verticalAlign=top;spacingTop=-2;fillColor=none;spacingLeft=34;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;dropTarget=0;");
+n.vertex=!0;x=sb.cloneCell(n,0<l?"PK":"");x.connectable=!1;x.style="shape=partialRectangle;top=0;left=0;bottom=0;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[];portConstraint=eastwest;part=1;";x.geometry.width=30;x.geometry.height=26;n.insert(x);x=b.editor.graph.getPreferredSizeForCell(n);null!=x&&m.geometry.width<x.width+10&&(m.geometry.width=Math.min(220,x.width+10));m.insert(n);m.geometry.height+=26}0<v.length&&(h=b.editor.graph,
+c=h.view,x=h.getGraphBounds(),h.setSelectionCells(h.importCells(v,Math.ceil(Math.max(0,x.x/c.scale-c.translate.x)+4*h.gridSize),Math.ceil(Math.max(0,(x.y+x.height)/c.scale-c.translate.y)+4*h.gridSize))),h.scrollCellToVisible(h.getSelectionCell()))}else if("list"==e){if(0<c.length){h=b.editor.graph;m=new mxCell(c[0],new mxGeometry(0,0,160,30),"swimlane;fontStyle=1;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;");
+m.vertex=!0;x=h.getPreferredSizeForCell(m);null!=x&&m.geometry.width<x.width+10&&(m.geometry.width=x.width+10);n=[m];if(1<c.length)for(g=1;g<c.length;g++)"--"==c[g]?(x=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;"),x.vertex=!0,m.geometry.height+=x.geometry.height,m.insert(x),n.push(x)):0<c[g].length&&";"!=c[g].charAt(0)&&(u=new mxCell(c[g],
+new mxGeometry(0,0,60,26),"text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),u.vertex=!0,x=h.getPreferredSizeForCell(u),null!=x&&u.geometry.width<x.width&&(u.geometry.width=x.width),m.geometry.width=Math.max(m.geometry.width,u.geometry.width),m.geometry.height+=u.geometry.height,m.insert(u),n.push(u));h.getModel().beginUpdate();try{m=h.importCells([m],k.x,k.y)[0],h.fireEvent(new mxEventObject("cellsInserted",
+"cells",[m].concat(m.children)))}finally{h.getModel().endUpdate()}h.setSelectionCell(m);h.scrollCellToVisible(h.getSelectionCell())}}else{for(var n=function(a){var b=A[a];null==b&&(b=new mxCell(a,new mxGeometry(0,0,80,30),"whiteSpace=wrap;html=1;"),b.vertex=!0,A[a]=b,v.push(b));return b},A={},v=[],g=0;g<c.length;g++)if(";"!=c[g].charAt(0)){var p=c[g].split("->");2<=p.length&&(u=n(p[0]),l=n(p[p.length-1]),p=new mxCell(2<p.length?p[1]:"",new mxGeometry),p.edge=!0,u.insertEdge(p,!0),l.insertEdge(p,!1),
+v.push(p))}if(0<v.length){c=document.createElement("div");c.style.visibility="hidden";document.body.appendChild(c);h=new Graph(c);h.getModel().beginUpdate();try{v=h.importCells(v);for(g=0;g<v.length;g++)h.getModel().isVertex(v[g])&&(x=h.getPreferredSizeForCell(v[g]),v[g].geometry.width=Math.max(v[g].geometry.width,x.width),v[g].geometry.height=Math.max(v[g].geometry.height,x.height));m=new mxFastOrganicLayout(h);m.disableEdgeStyle=!1;m.forceConstant=120;m.execute(h.getDefaultParent())}finally{h.getModel().endUpdate()}h.clearCellOverlays();
+n=[];b.editor.graph.getModel().beginUpdate();try{n=b.editor.graph.importCells(h.getModel().getChildren(h.getDefaultParent()),k.x,k.y),b.editor.graph.fireEvent(new mxEventObject("cellsInserted","cells",n))}finally{b.editor.graph.getModel().endUpdate()}b.editor.graph.setSelectionCells(n[0]);b.editor.graph.scrollCellToVisible(b.editor.graph.getSelectionCell());h.destroy();c.parentNode.removeChild(c)}}}function g(){return"list"==n.value?"Person\n-name: String\n-birthDate: Date\n--\n+getName(): String\n+setName(String): void\n+isBirthday(): boolean":
+"table"==n.value?"CREATE TABLE Suppliers\n(\nsupplier_id int NOT NULL PRIMARY KEY,\nsupplier_name char(50) NOT NULL,\ncontact_name char(50),\n);\nCREATE TABLE Customers\n(\ncustomer_id int NOT NULL PRIMARY KEY,\ncustomer_name char(50) NOT NULL,\naddress char(50),\ncity char(50),\nstate char(25),\nzip_code char(10)\n);\n":"plantUmlPng"==n.value?"@startuml\nskinparam backgroundcolor transparent\nskinparam shadowing false\nAlice -> Bob: Authentication Request\nBob --\x3e Alice: Authentication Response\n\nAlice -> Bob: Another authentication Request\nAlice <-- Bob: another authentication Response\n@enduml":
+"plantUmlSvg"==n.value||"plantUmlTxt"==n.value?"@startuml\nskinparam shadowing false\nAlice -> Bob: Authentication Request\nBob --\x3e Alice: Authentication Response\n\nAlice -> Bob: Another authentication Request\nAlice <-- Bob: another authentication Response\n@enduml":";Example:\na->b\nb->edge label->c\nc->a\n"}var k=b.editor.graph.getFreeInsertPoint();d=document.createElement("div");d.style.textAlign="right";var l=document.createElement("textarea");l.style.resize="none";l.style.width="100%";l.style.height=
+"354px";l.style.marginBottom="16px";var n=document.createElement("select"),p=document.createElement("option");p.setAttribute("value","list");mxUtils.write(p,mxResources.get("list"));n.appendChild(p);null!=f&&"fromText"!=f||p.setAttribute("selected","selected");p=document.createElement("option");p.setAttribute("value","table");mxUtils.write(p,mxResources.get("formatSql"));n.appendChild(p);"formatSql"==f&&p.setAttribute("selected","selected");p=document.createElement("option");p.setAttribute("value",
+"diagram");mxUtils.write(p,mxResources.get("diagram"));n.appendChild(p);p=document.createElement("option");p.setAttribute("value","plantUmlSvg");mxUtils.write(p,mxResources.get("plantUml")+" ("+mxResources.get("formatSvg")+")");"plantUml"==f&&p.setAttribute("selected","selected");f=document.createElement("option");f.setAttribute("value","plantUmlPng");mxUtils.write(f,mxResources.get("plantUml")+" ("+mxResources.get("formatPng")+")");var a=document.createElement("option");a.setAttribute("value","plantUmlTxt");
+mxUtils.write(a,mxResources.get("plantUml")+" ("+mxResources.get("text")+")");EditorUi.enablePlantUml&&Graph.fileSupport&&!b.isOffline()&&(n.appendChild(p),n.appendChild(f),n.appendChild(a));var e=g();l.value=e;d.appendChild(l);this.init=function(){l.focus()};Graph.fileSupport&&(l.addEventListener("dragover",function(a){a.stopPropagation();a.preventDefault()},!1),l.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){l.value=a.target.result};b.readAsText(a)}},!1));d.appendChild(n);mxEvent.addListener(n,"change",function(){var a=g();if(0==l.value.length||l.value==e)e=a,l.value=e});f=mxUtils.button(mxResources.get("close"),function(){l.value==e?b.hideDialog():b.confirm(mxResources.get("areYouSure"),function(){b.hideDialog()})});f.className="geBtn";b.editor.cancelFirst&&d.appendChild(f);p=mxUtils.button(mxResources.get("insert"),function(){b.hideDialog();c(l.value,n.value)});
+d.appendChild(p);p.className="geBtn gePrimaryBtn";b.editor.cancelFirst||d.appendChild(f);this.container=d},NewDialog=function(b,d,f,c,g,k,l,n,p,a,e,h,u,q,t){function w(){for(var a=!0;A<Q.length&&(a||0!=mxUtils.mod(A,30));)a=Q[A++],m(a.url,a.libs,a.title,a.tooltip?a.tooltip:a.title,a.select,a.imgUrl,a.info,a.onClick),a=!1}function y(){if(S)f||b.hideDialog(),q(S,O,J.value);else if(c)f||b.hideDialog(),c(Z,J.value);else{var a=J.value;null!=a&&0<a.length&&b.pickFolder(b.mode==App.MODE_ONEDRIVE||b.mode==
+App.MODE_TRELLO||b.mode==App.MODE_GOOGLE&&(null==b.stateArg||null==b.stateArg.folderId)?b.mode:null,function(e){b.createFile(a,Z,null!=X&&0<X.length?X:null,null,function(){b.hideDialog()},null,e)})}}function x(a,b,e,c,m){null!=N&&(N.style.backgroundColor="transparent",N.style.border="1px solid transparent");B.removeAttribute("disabled");Z=b;X=e;N=a;S=c;O=m;N.style.backgroundColor=n;N.style.border=p}function m(a,b,e,c,m,h,v,f){var q=document.createElement("div");q.className="geTemplate";q.style.height=
+R+"px";q.style.width=T+"px";null!=c&&0<c.length&&q.setAttribute("title",c);if(null!=h)q.style.backgroundImage="url("+h+")",q.style.backgroundSize="contain",q.style.backgroundPosition="center center",q.style.backgroundRepeat="no-repeat",mxEvent.addListener(q,"click",function(b){x(q,null,null,a,v)}),mxEvent.addListener(q,"dblclick",function(a){y()});else if(null!=a&&0<a.length){a.substring(0,a.length-4);q.style.backgroundImage="url("+TEMPLATE_PATH+"/"+a.substring(0,a.length-4)+".png)";q.style.backgroundPosition=
+"center center";q.style.backgroundRepeat="no-repeat";var d=!1;mxEvent.addListener(q,"click",function(e){B.setAttribute("disabled","disabled");q.style.backgroundColor="transparent";q.style.border="1px solid transparent";mxUtils.get(TEMPLATE_PATH+"/"+a,mxUtils.bind(this,function(a){200<=a.getStatus()&&299>=a.getStatus()&&(x(q,a.getText(),b),d&&y())}))});mxEvent.addListener(q,"dblclick",function(a){d=!0})}else q.innerHTML='<table width="100%" height="100%"><tr><td align="center" valign="middle">'+mxResources.get(e)+
+"</td></tr></table>",m&&x(q),null!=f?mxEvent.addListener(q,"click",f):(mxEvent.addListener(q,"click",function(a){x(q)}),mxEvent.addListener(q,"dblclick",function(a){y()}));H.appendChild(q)}function v(){mxEvent.addListener(H,"scroll",function(a){H.scrollTop+H.clientHeight>=H.scrollHeight&&(w(),mxEvent.consume(a))});var b=null,e;for(e in V){var c=document.createElement("div"),m=mxResources.get(e),h=V[e];null==m&&(m=e.substring(0,1).toUpperCase()+e.substring(1));18<m.length&&(m=m.substring(0,18)+"&hellip;");
+c.style.cssText="display:block;cursor:pointer;padding:6px;white-space:nowrap;margin-bottom:-1px;overflow:hidden;text-overflow:ellipsis;";c.setAttribute("title",m+" ("+h.length+")");mxUtils.write(c,c.getAttribute("title"));null!=a&&(c.style.padding=a);W.appendChild(c);null==b&&(b=c,b.style.backgroundColor=l);(function(a,e){mxEvent.addListener(c,"click",function(){b!=e&&(b.style.backgroundColor="",b=e,b.style.backgroundColor=l,H.scrollTop=0,H.innerHTML="",A=0,Q=V[a],C=null,w())})})(e,c)}w()}f=null!=
+f?f:!0;g=null!=g?g:!1;l=null!=l?l:"#ebf2f9";n=null!=n?n:"#e6eff8";p=null!=p?p:"1px solid #ccd9ea";e=null!=e?e:TEMPLATE_PATH+"/index.xml";var F=document.createElement("div");F.style.height="100%";var D=document.createElement("div");D.style.whiteSpace="nowrap";D.style.height="46px";f&&F.appendChild(D);var z=document.createElement("img");z.setAttribute("border","0");z.setAttribute("align","absmiddle");z.style.width="40px";z.style.height="40px";z.style.marginRight="10px";z.style.paddingBottom="4px";z.src=
+b.mode==App.MODE_GOOGLE?IMAGE_PATH+"/google-drive-logo.svg":b.mode==App.MODE_DROPBOX?IMAGE_PATH+"/dropbox-logo.svg":b.mode==App.MODE_ONEDRIVE?IMAGE_PATH+"/onedrive-logo.svg":b.mode==App.MODE_GITHUB?IMAGE_PATH+"/github-logo.svg":b.mode==App.MODE_TRELLO?IMAGE_PATH+"/trello-logo.svg":b.mode==App.MODE_BROWSER?IMAGE_PATH+"/osa_database.png":IMAGE_PATH+"/osa_drive-harddisk.png";!d&&f&&D.appendChild(z);f&&mxUtils.write(D,(null==b.mode||b.mode==App.MODE_GOOGLE||b.mode==App.MODE_BROWSER?mxResources.get("diagramName"):
+mxResources.get("filename"))+":");z=".xml";b.mode==App.MODE_GOOGLE&&null!=b.drive?z=b.drive.extension:b.mode==App.MODE_DROPBOX&&null!=b.dropbox?z=b.dropbox.extension:b.mode==App.MODE_ONEDRIVE&&null!=b.oneDrive?z=b.oneDrive.extension:b.mode==App.MODE_GITHUB&&null!=b.gitHub?z=b.gitHub.extension:b.mode==App.MODE_TRELLO&&null!=b.trello&&(z=b.trello.extension);var J=document.createElement("input");J.setAttribute("value",b.defaultFilename+z);J.style.marginRight="20px";J.style.marginLeft="10px";J.style.width=
+d?"220px":"430px";this.init=function(){f&&(J.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?J.select():document.execCommand("selectAll",!1,null))};f&&D.appendChild(J);var D=!1,A=0,B=mxUtils.button(mxResources.get("create"),function(){B.setAttribute("disabled","disabled");y();B.removeAttribute("disabled")});B.className="geBtn gePrimaryBtn";if(h||u){var I=[],C=null,L=function(a){B.setAttribute("disabled","disabled");for(var b=0;b<I.length;b++)I[b].className=b==
+a?"geBtn gePrimaryBtn":"geBtn"},D=!0,z=document.createElement("div");z.style.whiteSpace="nowrap";z.style.height="30px";F.appendChild(z);var E=mxUtils.button(mxResources.get("Templates",null,"Templates"),function(){W.style.display="";H.style.left="160px";L(0);H.scrollTop=0;H.innerHTML="";A=0;C!=Q&&(Q=C,w(),C=null)});I.push(E);z.appendChild(E);var G=function(a){W.style.display="none";H.style.left="30px";L(a?-1:1);null==C&&(C=Q);H.scrollTop=0;H.innerHTML="";var b=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});b.spin(H);A=0;var e=function(a,e){b.stop();Q=a;e?H.innerHTML=e:0==a.length?H.innerHTML=mxResources.get("noDiagrams",null,"No Diagrams Found"):(H.innerHTML="",w())};a?u(M.value,e):h(e)};h&&(E=mxUtils.button(mxResources.get("Recent",null,"Recent"),function(){G()}),z.appendChild(E),I.push(E));if(u){E=document.createElement("span");E.style.marginLeft="10px";E.innerHTML=mxResources.get("search")+":";z.appendChild(E);
+var M=document.createElement("input");M.style.marginRight="10px";M.style.marginLeft="10px";M.style.width="220px";mxEvent.addListener(M,"keypress",function(a){13==a.keyCode&&G(!0)});z.appendChild(M);E=mxUtils.button(mxResources.get("search"),function(){G(!0)});E.className="geBtn";z.appendChild(E)}L(0)}var X=null,Z=null,N=null,S=null,O=null,H=document.createElement("div");H.style.border="1px solid #d3d3d3";H.style.position="absolute";H.style.left="160px";H.style.right="34px";D=(f?72:40)+(D?30:0);H.style.top=
+D+"px";H.style.bottom="68px";H.style.margin="6px 0 0 -1px";H.style.padding="6px";H.style.overflow="auto";var W=document.createElement("div");W.style.cssText="position:absolute;left:30px;width:128px;top:"+D+"px;bottom:68px;margin-top:6px;overflow:auto;border:1px solid #d3d3d3;";var R=140,T=140,V={},K=1;V.basic=[{title:"blankDiagram",select:!0}];var Q=V.basic;if(!d){F.appendChild(W);F.appendChild(H);var P=!1;mxUtils.get(e,function(a){if(!P){P=!0;for(a=a.getXml().documentElement.firstChild;null!=a;){if("undefined"!==
+typeof a.getAttribute){var b=a.getAttribute("url");if(null!=b){var e=b.indexOf("/"),b=b.substring(0,e),e=V[b];null==e&&(K++,e=[],V[b]=e);e.push({url:a.getAttribute("url"),libs:a.getAttribute("libs"),title:a.getAttribute("title"),tooltip:a.getAttribute("url")})}}a=a.nextSibling}v()}})}mxEvent.addListener(J,"keypress",function(a){13==a.keyCode&&y()});e=document.createElement("div");e.style.marginTop=d?"4px":"16px";e.style.textAlign="right";e.style.position="absolute";e.style.left="40px";e.style.bottom=
+"24px";e.style.right="40px";D=mxUtils.button(mxResources.get("cancel"),function(){null!=k&&k();b.hideDialog(!0)});D.className="geBtn";!b.editor.cancelFirst||g&&null==k||e.appendChild(D);d||b.isOffline()||!f||null!=c||g||(z=mxUtils.button(mxResources.get("help"),function(){b.openLink("https://support.draw.io/display/DO/Creating+and+Opening+Files")}),z.className="geBtn",e.appendChild(z));d||"1"==urlParams.embed||g||(d=mxUtils.button(mxResources.get("fromTemplateUrl"),function(){var a=new FilenameDialog(b,
+"",mxResources.get("create"),function(a){null!=a&&0<a.length&&(a=b.getUrl(window.location.pathname+"?mode="+b.mode+"&title="+encodeURIComponent(J.value)+"&create="+encodeURIComponent(a)),null==b.getCurrentFile()?window.location.href=a:window.openWindow(a))},mxResources.get("url"));b.showDialog(a.container,300,80,!0,!0);a.init()}),d.className="geBtn",e.appendChild(d));Graph.fileSupport&&t&&(t=mxUtils.button(mxResources.get("import"),function(){var a=document.createElement("input");a.setAttribute("multiple",
+"multiple");a.setAttribute("type","file");mxEvent.addListener(a,"change",function(e){b.openFiles(a.files,!0)});a.click()}),t.className="geBtn",e.appendChild(t));e.appendChild(B);b.editor.cancelFirst||null!=c||g&&null==k||e.appendChild(D);F.appendChild(e);this.container=F},CreateDialog=function(b,d,f,c,g,k,l,n,p,a,e,h,u,q,t){function w(a,e,c,m){function f(){mxEvent.addListener(q,"click",function(){var a=c;if(l){var e=v.value,m=e.lastIndexOf(".");if(0>d.lastIndexOf(".")&&0>m){var a=null!=a?a:z.value,
+h="";a==App.MODE_GOOGLE?h=b.drive.extension:a==App.MODE_GITHUB?h=b.gitHub.extension:a==App.MODE_TRELLO?h=b.trello.extension:a==App.MODE_DROPBOX?h=b.dropbox.extension:a==App.MODE_ONEDRIVE?h=b.oneDrive.extension:a==App.MODE_DEVICE&&(h=".xml");0<=m&&(e=e.substring(0,m));v.value=e+h}}y(c)})}var q=document.createElement("a");q.style.overflow="hidden";var u=document.createElement("img");u.src=a;u.setAttribute("border","0");u.setAttribute("align","absmiddle");u.style.width="60px";u.style.height="60px";u.style.paddingBottom=
+"6px";q.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";q.className="geBaseButton";q.style.position="relative";q.style.margin="4px";q.style.padding="8px 8px 10px 8px";q.style.whiteSpace="nowrap";q.appendChild(u);mxClient.IS_QUIRKS&&(q.style.cssFloat="left",q.style.zoom="1");q.style.color="gray";q.style.fontSize="11px";var x=document.createElement("div");q.appendChild(x);mxUtils.write(x,e);if(null!=m&&null==b[m]){u.style.visibility="hidden";mxUtils.setOpacity(x,10);var g=new Spinner({lines:12,
+length:12,width:5,radius:10,rotate:0,color:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9});g.spin(q);var w=window.setTimeout(function(){null==b[m]&&(g.stop(),q.style.display="none")},3E4);b.addListener("clientLoaded",mxUtils.bind(this,function(){null!=b[m]&&(window.clearTimeout(w),mxUtils.setOpacity(x,100),u.style.visibility="",g.stop(),f())}))}else f();F.appendChild(q);++D==h&&(mxUtils.br(F),D=0)}function y(a){var e=v.value;if(null==a||null!=e&&0<e.length)b.hideDialog(),f(e,
+a)}l=null!=l?l:!0;n=null!=n?n:!0;h=null!=h?h:4;var x=document.createElement("div");null==c&&b.addLanguageMenu(x);var m=document.createElement("h2");mxUtils.write(m,g||mxResources.get("create"));m.style.marginTop="0px";m.style.marginBottom="24px";x.appendChild(m);mxUtils.write(x,mxResources.get("filename")+":");var v=document.createElement("input");v.setAttribute("value",d);v.style.width="280px";v.style.marginLeft="10px";v.style.marginBottom="20px";this.init=function(){v.focus();mxClient.IS_GC||mxClient.IS_FF||
+5<=document.documentMode||mxClient.IS_QUIRKS?v.select():document.execCommand("selectAll",!1,null)};x.appendChild(v);null!=u&&null!=q&&"image/"==q.substring(0,6)&&(v.style.width="160px",g=null,"image/svg+xml"==q&&mxClient.IS_SVG?(g=document.createElement("div"),g.innerHTML=mxUtils.trim(u),u=g.getElementsByTagName("svg")[0],q=parseInt(u.getAttribute("width")),t=parseInt(u.getAttribute("height")),u.setAttribute("viewBox","0 0 "+q+" "+t),u.setAttribute("width","120px"),u.setAttribute("height","80px")):
+(g=document.createElement("img"),g.setAttribute("src","data:"+q+(t?";base64,":";utf8,")+u)),g.style.position="absolute",g.style.top="70px",g.style.right="100px",g.style.maxWidth="120px",g.style.maxHeight="80px",mxUtils.setPrefixedStyle(g.style,"transform","translate(50%,-50%)"),x.appendChild(g),p&&Editor.popupsAllowed&&(g.style.cursor="pointer",mxEvent.addListener(g,"click",function(){y("_blank")})));mxUtils.br(x);var F=document.createElement("div");F.style.textAlign="center";var D=0;F.style.marginTop=
+"6px";x.appendChild(F);var z=document.createElement("select");z.style.marginLeft="10px";b.isOfflineApp()||b.isOffline()||("function"===typeof window.DriveClient&&(g=document.createElement("option"),g.setAttribute("value",App.MODE_GOOGLE),mxUtils.write(g,mxResources.get("googleDrive")),z.appendChild(g),w(IMAGE_PATH+"/google-drive-logo.svg",mxResources.get("googleDrive"),App.MODE_GOOGLE,"drive")),"function"===typeof window.OneDriveClient&&(g=document.createElement("option"),g.setAttribute("value",App.MODE_ONEDRIVE),
+mxUtils.write(g,mxResources.get("oneDrive")),z.appendChild(g),b.mode==App.MODE_ONEDRIVE&&g.setAttribute("selected","selected"),w(IMAGE_PATH+"/onedrive-logo.svg",mxResources.get("oneDrive"),App.MODE_ONEDRIVE,"oneDrive")),"function"===typeof window.DropboxClient&&(g=document.createElement("option"),g.setAttribute("value",App.MODE_DROPBOX),mxUtils.write(g,mxResources.get("dropbox")),z.appendChild(g),b.mode==App.MODE_DROPBOX&&g.setAttribute("selected","selected"),w(IMAGE_PATH+"/dropbox-logo.svg",mxResources.get("dropbox"),
+App.MODE_DROPBOX,"dropbox")),null!=b.gitHub&&(g=document.createElement("option"),g.setAttribute("value",App.MODE_GITHUB),mxUtils.write(g,mxResources.get("github")),z.appendChild(g),w(IMAGE_PATH+"/github-logo.svg",mxResources.get("github"),App.MODE_GITHUB,"gitHub")),null!=b.trello&&(g=document.createElement("option"),g.setAttribute("value",App.MODE_TRELLO),mxUtils.write(g,mxResources.get("trello")),z.appendChild(g),w(IMAGE_PATH+"/trello-logo.svg",mxResources.get("trello"),App.MODE_TRELLO,"trello")));
+if(!Editor.useLocalStorage||"device"==urlParams.storage||null!=b.getCurrentFile()&&!mxClient.IS_IOS)g=document.createElement("option"),g.setAttribute("value",App.MODE_DEVICE),mxUtils.write(g,mxResources.get("device")),z.appendChild(g),b.mode!=App.MODE_DEVICE&&n||g.setAttribute("selected","selected"),e&&w(IMAGE_PATH+"/osa_drive-harddisk.png",mxResources.get("device"),App.MODE_DEVICE);n&&isLocalStorage&&"0"!=urlParams.browser&&(n=document.createElement("option"),n.setAttribute("value",App.MODE_BROWSER),
+mxUtils.write(n,mxResources.get("browser")),z.appendChild(n),b.mode==App.MODE_BROWSER&&n.setAttribute("selected","selected"),w(IMAGE_PATH+"/osa_database.png",mxResources.get("browser"),App.MODE_BROWSER));n=document.createElement("div");n.style.marginTop="26px";n.style.textAlign="center";null!=a&&(g=mxUtils.button(mxResources.get("help"),function(){b.openLink(a)}),g.className="geBtn",n.appendChild(g));g=mxUtils.button(mxResources.get("cancel"),function(){null!=c?c():(b.fileLoaded(null),b.hideDialog(),
+window.close(),window.location.href=b.getUrl())});g.className="geBtn";b.editor.cancelFirst&&n.appendChild(g);null==c&&(u=mxUtils.button(mxResources.get("decideLater"),function(){y(null)}),u.className="geBtn",n.appendChild(u));p&&Editor.popupsAllowed&&(p=mxUtils.button(mxResources.get("openInNewWindow"),function(){y("_blank")}),p.className="geBtn",n.appendChild(p));mxClient.IS_IOS||(k=mxUtils.button(k||mxResources.get("create"),function(){y(e?"download":App.MODE_DEVICE)}),k.className="geBtn gePrimaryBtn",
+n.appendChild(k));b.editor.cancelFirst||n.appendChild(g);mxEvent.addListener(v,"keypress",function(a){13==a.keyCode?y(App.MODE_DEVICE):27==a.keyCode&&(b.fileLoaded(null),b.hideDialog(),window.close())});x.appendChild(n);this.container=x},PopupDialog=function(b,d,f,c,g){g=null!=g?g:!0;var k=document.createElement("div");k.style.textAlign="left";mxUtils.write(k,mxResources.get("fileOpenLocation"));mxUtils.br(k);mxUtils.br(k);var l=mxUtils.button(mxResources.get("openInThisWindow"),function(){g&&b.hideDialog();
+null!=c&&c()});l.className="geBtn";l.style.marginBottom="8px";l.style.width="280px";k.appendChild(l);mxUtils.br(k);var n=mxUtils.button(mxResources.get("openInNewWindow"),function(){g&&b.hideDialog();null!=f&&f();b.openLink(d)});n.className="geBtn gePrimaryBtn";n.style.width=l.style.width;k.appendChild(n);mxUtils.br(k);mxUtils.br(k);mxUtils.write(k,mxResources.get("allowPopups"));this.container=k},ImageDialog=function(b,d,f,c,g,k){k=null!=k?k:!0;var l=b.editor.graph,n=document.createElement("div");
+mxUtils.write(n,d);d=document.createElement("div");d.className="geTitle";d.style.backgroundColor="transparent";d.style.borderColor="transparent";d.style.whiteSpace="nowrap";d.style.textOverflow="clip";d.style.cursor="default";mxClient.IS_VML||(d.style.paddingRight="20px");var p=document.createElement("input");p.setAttribute("value",f);p.setAttribute("type","text");p.setAttribute("spellcheck","false");p.setAttribute("autocorrect","off");p.setAttribute("autocomplete","off");p.setAttribute("autocapitalize",
+"off");p.style.marginTop="6px";p.style.width=(Graph.fileSupport?420:340)+(mxClient.IS_QUIRKS?20:-20)+"px";p.style.backgroundImage="url('"+Dialog.prototype.clearImage+"')";p.style.backgroundRepeat="no-repeat";p.style.backgroundPosition="100% 50%";p.style.paddingRight="14px";f=document.createElement("div");f.setAttribute("title",mxResources.get("reset"));f.style.position="relative";f.style.left="-16px";f.style.width="12px";f.style.height="14px";f.style.cursor="pointer";f.style.display=mxClient.IS_VML?
+"inline":"inline-block";f.style.top=(mxClient.IS_VML?0:3)+"px";f.style.background="url('"+b.editor.transparentImage+"')";mxEvent.addListener(f,"click",function(){p.value="";p.focus()});d.appendChild(p);d.appendChild(f);n.appendChild(d);var a=function(a,e,h,f){var q="data:"==a.substring(0,5);!b.isOffline()||q&&"undefined"===typeof chrome?0<a.length&&b.spinner.spin(document.body,mxResources.get("inserting"))?b.loadImage(a,function(m){b.spinner.stop();b.hideDialog();var v=!1===f?1:null!=e&&null!=h?Math.max(e/
+m.width,h/m.height):Math.min(1,Math.min(520/m.width,520/m.height));k&&(a=b.convertDataUri(a));c(a,Math.round(Number(m.width)*v),Math.round(Number(m.height)*v))},function(){b.spinner.stop();c(null);b.showError(mxResources.get("error"),mxResources.get("fileNotFound"),mxResources.get("ok"))}):(b.hideDialog(),c(a)):(a=b.convertDataUri(a),e=null==e?120:e,h=null==h?100:h,b.hideDialog(),c(a,e,h))},e=function(e,h){if(null!=e){var f=g?null:l.getModel().getGeometry(l.getSelectionCell());null!=f?a(e,f.width,
+f.height,h):a(e,null,null,h)}else b.hideDialog(),c(null)};this.init=function(){p.focus();if(Graph.fileSupport){p.setAttribute("placeholder",mxResources.get("dragImagesHere"));var a=n.parentNode,c=null;mxEvent.addListener(a,"dragleave",function(a){null!=c&&(c.parentNode.removeChild(c),c=null);a.stopPropagation();a.preventDefault()});mxEvent.addListener(a,"dragover",mxUtils.bind(this,function(e){null==c&&(!mxClient.IS_IE||10<document.documentMode)&&(c=b.highlightElement(a));e.stopPropagation();e.preventDefault()}));
+mxEvent.addListener(a,"drop",mxUtils.bind(this,function(a){null!=c&&(c.parentNode.removeChild(c),c=null);if(0<a.dataTransfer.files.length)b.importFiles(a.dataTransfer.files,0,0,b.maxImageSize,function(a,b,c,h,f,q,d,u){e(a,u)},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 h=a.dataTransfer.getData("text/uri-list");/\.(gif|jpg|jpeg|tiff|png|svg)($|\?)/i.test(h)&&
+e(decodeURIComponent(h))}a.stopPropagation();a.preventDefault()}),!1)}};f=document.createElement("div");f.style.marginTop=mxClient.IS_QUIRKS?"22px":"14px";f.style.textAlign="right";d=mxUtils.button(mxResources.get("cancel"),function(){b.spinner.stop();b.hideDialog()});d.className="geBtn";b.editor.cancelFirst&&f.appendChild(d);ImageDialog.filePicked=function(a){a.action==google.picker.Action.PICKED&&null!=a.docs[0].thumbnails&&(a=a.docs[0].thumbnails[a.docs[0].thumbnails.length-1],null!=a&&(p.value=
+a.url));p.focus()};if(Graph.fileSupport){var h=document.createElement("input");h.setAttribute("multiple","multiple");h.setAttribute("type","file");if(null==document.documentMode){mxEvent.addListener(h,"change",function(a){b.importFiles(h.files,0,0,b.maxImageSize,function(a,b,c,h,m,v){e(a)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()},!0)});var u=mxUtils.button(mxResources.get("open"),function(){h.click()});u.className="geBtn";f.appendChild(u)}}document.createElement("canvas").getContext&&
+"data:image/"==p.value.substring(0,11)&&"data:image/svg"!=p.value.substring(0,14)&&(u=mxUtils.button(mxResources.get("crop"),function(){var a=new CropImageDialog(b,p.value,function(a){p.value=a});b.showDialog(a.container,200,180,!0,!0);a.init()}),u.className="geBtn",f.appendChild(u));"undefined"!=typeof google&&"undefined"!=typeof google.picker&&window.self===window.top&&(u=mxUtils.button(mxResources.get("search"),function(){if(null==b.imageSearchPicker){var a=(new google.picker.PickerBuilder).setLocale(mxLanguage).addView(google.picker.ViewId.IMAGE_SEARCH).enableFeature(google.picker.Feature.NAV_HIDDEN);
+b.imageSearchPicker=a.setCallback(function(a){ImageDialog.filePicked(a)}).build()}b.imageSearchPicker.setVisible(!0)}),u.className="geBtn",f.appendChild(u),null!=b.drive&&"1"==urlParams.photos&&(u=mxUtils.button(mxResources.get("googlePlus"),function(){b.spinner.spin(document.body,mxResources.get("authorizing"))&&b.drive.checkToken(mxUtils.bind(this,function(){b.spinner.stop();if(null==b.photoPicker){var a=gapi.auth.getToken().access_token,a=(new google.picker.PickerBuilder).setAppId(b.drive.appId).setLocale(mxLanguage).setOAuthToken(a).addView(google.picker.ViewId.PHOTOS).addView(google.picker.ViewId.PHOTO_ALBUMS).addView(google.picker.ViewId.PHOTO_UPLOAD);
+b.photoPicker=a.setCallback(function(a){ImageDialog.filePicked(a)}).build()}b.photoPicker.setVisible(!0)}))}),u.className="geBtn",f.appendChild(u)));mxEvent.addListener(p,"keypress",function(a){13==a.keyCode&&e(p.value)});u=mxUtils.button(mxResources.get("apply"),function(){e(p.value)});u.className="geBtn gePrimaryBtn";f.appendChild(u);b.editor.cancelFirst||f.appendChild(d);Graph.fileSupport&&(f.style.marginTop="120px",n.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')",n.style.backgroundPosition=
+"center 65%",n.style.backgroundRepeat="no-repeat",d=document.createElement("div"),d.style.position="absolute",d.style.width="420px",d.style.top="58%",d.style.textAlign="center",d.style.fontSize="18px",d.style.color="#a0c3ff",mxUtils.write(d,mxResources.get("dragImagesHere")),n.appendChild(d));n.appendChild(f);this.container=n},LinkDialog=function(b,d,f,c,g){function k(a,b,e){e=mxUtils.button("",e);e.className="geBtn";e.setAttribute("title",b);b=document.createElement("img");b.style.height="26px";
+b.style.width="26px";b.setAttribute("src",a);e.style.minWidth="42px";e.style.verticalAlign="middle";e.appendChild(b);y.appendChild(e)}var l=document.createElement("div");mxUtils.write(l,mxResources.get("editLink")+":");var n=document.createElement("div");n.className="geTitle";n.style.backgroundColor="transparent";n.style.borderColor="transparent";n.style.whiteSpace="nowrap";n.style.textOverflow="clip";n.style.cursor="default";mxClient.IS_VML||(n.style.paddingRight="20px");var p=document.createElement("input");
+p.setAttribute("placeholder",mxResources.get("dragUrlsHere"));p.setAttribute("type","text");p.style.marginTop="6px";p.style.width="400px";p.style.backgroundImage="url('"+Dialog.prototype.clearImage+"')";p.style.backgroundRepeat="no-repeat";p.style.backgroundPosition="100% 50%";p.style.paddingRight="14px";var a=document.createElement("div");a.setAttribute("title",mxResources.get("reset"));a.style.position="relative";a.style.left="-16px";a.style.width="12px";a.style.height="14px";a.style.cursor="pointer";
+a.style.display=mxClient.IS_VML?"inline":"inline-block";a.style.top=(mxClient.IS_VML?0:3)+"px";a.style.background="url('"+b.editor.transparentImage+"')";mxEvent.addListener(a,"click",function(){p.value="";p.focus()});var e=document.createElement("input");e.style.cssText="margin-right:8px;margin-bottom:8px;";e.setAttribute("value","url");e.setAttribute("type","radio");e.setAttribute("name","current-linkdialog");var h=document.createElement("input");h.style.cssText="margin-right:8px;margin-bottom:8px;";
+h.setAttribute("value","url");h.setAttribute("type","radio");h.setAttribute("name","current-linkdialog");var u=document.createElement("select");u.style.width="380px";if(g&&null!=b.pages){null!=d&&b.editor.graph.isPageLink(d)?(h.setAttribute("checked","checked"),h.defaultChecked=!0):(p.setAttribute("value",d),e.setAttribute("checked","checked"),e.defaultChecked=!0);p.style.width="380px";n.appendChild(e);n.appendChild(p);n.appendChild(a);mxUtils.br(n);n.appendChild(h);g=!1;for(a=0;a<b.pages.length;a++){var q=
+document.createElement("option");mxUtils.write(q,b.pages[a].getName()||mxResources.get("pageWithNumber",[a+1]));q.setAttribute("value","data:page/id,"+b.pages[a].getId());d==q.getAttribute("value")&&(q.setAttribute("selected","selected"),g=!0);u.appendChild(q)}if(!g&&h.checked){var t=document.createElement("option");mxUtils.write(t,mxResources.get("pageNotFound"));t.setAttribute("disabled","disabled");t.setAttribute("selected","selected");t.setAttribute("value","pageNotFound");u.appendChild(t);mxEvent.addListener(u,
+"change",function(){null==t.parentNode||t.selected||t.parentNode.removeChild(t)})}n.appendChild(u)}else p.setAttribute("value",d),n.appendChild(p),n.appendChild(a);l.appendChild(n);var w=mxUtils.button(f,function(){b.hideDialog();c(h.checked?"pageNotFound"!==u.value?u.value:d:p.value,LinkDialog.selectedDocs)});w.style.verticalAlign="middle";w.className="geBtn gePrimaryBtn";this.init=function(){h.checked?u.focus():(p.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?
+p.select():document.execCommand("selectAll",!1,null));mxEvent.addListener(u,"focus",function(){e.removeAttribute("checked");h.setAttribute("checked","checked");h.checked=!0});mxEvent.addListener(p,"focus",function(){h.removeAttribute("checked");e.setAttribute("checked","checked");e.checked=!0});if(Graph.fileSupport){var a=l.parentNode,c=null;mxEvent.addListener(a,"dragleave",function(a){null!=c&&(c.parentNode.removeChild(c),c=null);a.stopPropagation();a.preventDefault()});mxEvent.addListener(a,"dragover",
+mxUtils.bind(this,function(e){null==c&&(!mxClient.IS_IE||10<document.documentMode)&&(c=b.highlightElement(a));e.stopPropagation();e.preventDefault()}));mxEvent.addListener(a,"drop",mxUtils.bind(this,function(a){null!=c&&(c.parentNode.removeChild(c),c=null);0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")&&(p.value=decodeURIComponent(a.dataTransfer.getData("text/uri-list")),e.setAttribute("checked","checked"),e.checked=!0,w.click());a.stopPropagation();a.preventDefault()}),!1)}};var y=document.createElement("div");
+y.style.marginTop="20px";y.style.textAlign="right";f=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog()});f.style.verticalAlign="middle";f.className="geBtn";b.editor.cancelFirst&&y.appendChild(f);LinkDialog.selectedDocs=null;LinkDialog.filePicked=function(a){if(a.action==google.picker.Action.PICKED){LinkDialog.selectedDocs=a.docs;var b=a.docs[0].url;"application/mxe"==a.docs[0].mimeType||"application/vnd.jgraph.mxfile"==a.docs[0].mimeType?(b=DriveClient.prototype.oldAppHostname,b=
+"https://"+b+"/#G"+a.docs[0].id):"application/mxr"==a.docs[0].mimeType||"application/vnd.jgraph.mxfile.realtime"==a.docs[0].mimeType?(b=DriveClient.prototype.newAppHostname,b="https://"+b+"/#G"+a.docs[0].id):"application/vnd.google-apps.folder"==a.docs[0].mimeType&&(b="https://drive.google.com/#folders/"+a.docs[0].id);p.value=b;p.focus()}else LinkDialog.selectedDocs=null;p.focus()};"undefined"!=typeof google&&"undefined"!=typeof google.picker&&null!=b.drive&&k(IMAGE_PATH+"/google-drive-logo.svg",
+mxResources.get("googlePlus"),function(){b.spinner.spin(document.body,mxResources.get("authorizing"))&&b.drive.checkToken(mxUtils.bind(this,function(){b.spinner.stop();if(null==b.linkPicker){var a=gapi.auth.getToken().access_token,e=(new google.picker.DocsView(google.picker.ViewId.FOLDERS)).setParent("root").setIncludeFolders(!0).setSelectFolderEnabled(!0),c=(new google.picker.DocsView).setIncludeFolders(!0).setSelectFolderEnabled(!0),h=(new google.picker.DocsView).setIncludeFolders(!0).setEnableTeamDrives(!0).setSelectFolderEnabled(!0),
+a=(new google.picker.PickerBuilder).setAppId(b.drive.appId).setLocale(mxLanguage).setOAuthToken(a).enableFeature(google.picker.Feature.SUPPORT_TEAM_DRIVES).addView(e).addView(c).addView(h).addView(google.picker.ViewId.RECENTLY_PICKED).addView(google.picker.ViewId.IMAGE_SEARCH).addView(google.picker.ViewId.VIDEO_SEARCH).addView(google.picker.ViewId.MAPS);"1"==urlParams.photos&&a.addView(google.picker.ViewId.PHOTOS).addView(google.picker.ViewId.PHOTO_ALBUMS).addView(google.picker.ViewId.PHOTO_UPLOAD);
+b.linkPicker=a.setCallback(function(a){LinkDialog.filePicked(a)}).build()}b.linkPicker.setVisible(!0)}))});"undefined"!=typeof Dropbox&&"undefined"!=typeof Dropbox.choose&&k(IMAGE_PATH+"/dropbox-logo.svg",mxResources.get("dropbox"),function(){Dropbox.choose({linkType:"direct",cancel:function(){},success:function(a){p.value=a[0].link;p.focus()}})});null!=b.oneDrive&&k(IMAGE_PATH+"/onedrive-logo.svg",mxResources.get("oneDrive"),function(){b.oneDrive.pickFile(function(a,b){p.value=b.value[0].webUrl;
+p.focus()})});null!=b.gitHub&&k(IMAGE_PATH+"/github-logo.svg",mxResources.get("github"),function(){b.gitHub.pickFile(function(a){if(null!=a){a=a.split("/");var b=a[0],e=a[1],c=a[2];a=a.slice(3,a.length).join("/");p.value="https://github.com/"+b+"/"+e+"/blob/"+c+"/"+a;p.focus()}})});mxEvent.addListener(p,"keypress",function(a){13==a.keyCode&&(b.hideDialog(),c(h.checked?u.value:p.value,LinkDialog.selectedDocs))});y.appendChild(w);b.editor.cancelFirst||y.appendChild(f);l.appendChild(y);this.container=
+l},AboutDialog=function(b){var d=document.createElement("div");d.style.marginTop="6px";d.setAttribute("align","center");var f=document.createElement("img");f.style.border="0px";mxClient.IS_SVG?(f.setAttribute("width","164"),f.setAttribute("height","221"),f.style.width="164px",f.style.height="221px",f.setAttribute("src",IMAGE_PATH+"/drawlogo-text-bottom.svg")):(f.setAttribute("width","176"),f.setAttribute("height","219"),f.style.width="170px",f.style.height="219px",f.setAttribute("src",IMAGE_PATH+
+"/logo-flat.png"));d.appendChild(f);mxUtils.br(d);f=document.createElement("small");f.innerHTML="v "+EditorUi.VERSION;f.style.color="#505050";d.appendChild(f);mxUtils.br(d);mxUtils.br(d);f=document.createElement("small");f.style.color="#505050";f.innerHTML='&copy; 2005-2018 <a href="https://about.draw.io/" style="color:inherit;" target="_blank">JGraph Ltd</a>.<br>All Rights Reserved.';d.appendChild(f);mxEvent.addListener(d,"click",function(c){"A"!=mxEvent.getSource(c).nodeName&&b.hideDialog()});this.container=
+d},FeedbackDialog=function(b){var d=document.createElement("div"),f=document.createElement("div");mxUtils.write(f,mxResources.get("sendYourFeedbackToDrawIo"));f.style.fontSize="18px";f.style.marginBottom="18px";d.appendChild(f);f=document.createElement("div");mxUtils.write(f,mxResources.get("yourEmailAddress")+" ("+mxResources.get("required")+")");d.appendChild(f);var c=document.createElement("input");c.setAttribute("type","text");c.style.marginTop="6px";c.style.width="600px";var g=mxUtils.button(mxResources.get("sendMessage"),
+function(){var a=(l.checked?"\nDiagram:\n"+b.getFileData():"")+"\nBrowser:\n"+navigator.userAgent;a.length>FeedbackDialog.maxAttachmentSize?b.alert(mxResources.get("drawingTooLarge")):(b.hideDialog(),b.spinner.spin(document.body)&&mxUtils.post(null!=FeedbackDialog.feedbackUrl?FeedbackDialog.feedbackUrl:"/email","email="+encodeURIComponent(c.value)+"&version="+encodeURIComponent(EditorUi.VERSION)+"&url="+encodeURIComponent(window.location.href)+"&body="+encodeURIComponent("Feedback:\n"+p.value+a),
function(a){b.spinner.stop();200<=a.getStatus()&&299>=a.getStatus()?b.alert(mxResources.get("feedbackSent")):b.alert(mxResources.get("errorSendingFeedback"))},function(){b.spinner.stop();b.alert(mxResources.get("errorSendingFeedback"))}))});g.className="geBtn gePrimaryBtn";g.setAttribute("disabled","disabled");var k=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;mxEvent.addListener(c,"change",
-function(){0<c.value.length&&0<k.test(c.value)?g.removeAttribute("disabled"):g.setAttribute("disabled","disabled")});mxEvent.addListener(c,"keyup",function(){0<c.value.length&&k.test(c.value)?g.removeAttribute("disabled"):g.setAttribute("disabled","disabled")});e.appendChild(c);this.init=function(){c.focus()};var n=document.createElement("input");n.setAttribute("type","checkbox");n.setAttribute("checked","checked");n.defaultChecked=!0;d=document.createElement("p");d.style.marginTop="14px";d.appendChild(n);
-var p=document.createElement("span");mxUtils.write(p," "+mxResources.get("includeCopyOfMyDiagram"));d.appendChild(p);mxEvent.addListener(p,"click",function(a){n.checked=!n.checked;mxEvent.consume(a)});e.appendChild(d);d=document.createElement("div");mxUtils.write(d,mxResources.get("feedback"));e.appendChild(d);var q=document.createElement("textarea");q.style.resize="none";q.style.width="600px";q.style.height="140px";q.style.marginTop="6px";q.setAttribute("placeholder",mxResources.get("commentsNotes"));
-e.appendChild(q);d=document.createElement("div");d.style.marginTop="26px";d.style.textAlign="right";p=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog()});p.className="geBtn";b.editor.cancelFirst?(d.appendChild(p),d.appendChild(g)):(d.appendChild(g),d.appendChild(p));e.appendChild(d);this.container=e};FeedbackDialog.maxAttachmentSize=1E6;
-var RevisionDialog=function(b,e,d){var c=document.createElement("div"),g=document.createElement("h3");g.style.marginTop="0px";mxUtils.write(g,mxResources.get("revisionHistory"));c.appendChild(g);var k=document.createElement("div");k.style.position="absolute";k.style.overflow="auto";k.style.width="170px";k.style.height="378px";c.appendChild(k);var n=document.createElement("div");n.style.position="absolute";n.style.border="1px solid lightGray";n.style.left="199px";n.style.width="470px";n.style.height=
-"376px";n.style.overflow="hidden";mxEvent.disableContextMenu(n);c.appendChild(n);var p=new Graph(n);p.setEnabled(!1);p.setPanning(!0);p.panningHandler.ignoreCell=!0;p.panningHandler.useLeftButtonForPanning=!0;p.minFitScale=null;p.maxFitScale=null;p.centerZoom=!0;var q=0,a=null,f=0,h=p.getGlobalVariable;p.getGlobalVariable=function(b){return"page"==b&&null!=a&&null!=a[f]?a[f].getAttribute("name"):"pagenumber"==b?f+1:h.apply(this,arguments)};p.getLinkForCell=function(){return null};Editor.MathJaxRender&&
-p.addListener(mxEvent.SIZE,mxUtils.bind(this,function(a,c){b.editor.graph.mathEnabled&&Editor.MathJaxRender(p.container)}));var m=new Spinner({lines:11,length:15,width:6,radius:10,corners:1,rotate:0,direction:1,color:"#000",speed:1.4,trail:60,shadow:!1,hwaccel:!1,className:"spinner",zIndex:2E9,top:"50%",left:"50%"}),u=b.getCurrentFile(),t=null,w=null,x=null,C=null,l=mxUtils.button("",function(){null!=x&&p.zoomIn()});l.className="geSprite geSprite-zoomin";l.setAttribute("title",mxResources.get("zoomIn"));
-l.style.outline="none";l.style.border="none";l.style.margin="2px";l.setAttribute("disabled","disabled");mxUtils.setOpacity(l,20);var v=mxUtils.button("",function(){null!=x&&p.zoomOut()});v.className="geSprite geSprite-zoomout";v.setAttribute("title",mxResources.get("zoomOut"));v.style.outline="none";v.style.border="none";v.style.margin="2px";v.setAttribute("disabled","disabled");mxUtils.setOpacity(v,20);var H=mxUtils.button("",function(){null!=x&&(p.maxFitScale=8,p.fit(8),p.center())});H.className=
-"geSprite geSprite-fit";H.setAttribute("title",mxResources.get("fit"));H.style.outline="none";H.style.border="none";H.style.margin="2px";H.setAttribute("disabled","disabled");mxUtils.setOpacity(H,20);var z=mxUtils.button("",function(){null!=x&&(p.zoomActual(),p.center())});z.className="geSprite geSprite-actualsize";z.setAttribute("title",mxResources.get("actualSize"));z.style.outline="none";z.style.border="none";z.style.margin="2px";z.setAttribute("disabled","disabled");mxUtils.setOpacity(z,20);var y=
-document.createElement("div");y.style.position="absolute";y.style.textAlign="right";y.style.color="gray";y.style.marginTop="10px";y.style.backgroundColor="transparent";y.style.top="440px";y.style.right="32px";y.style.maxWidth="380px";y.style.cursor="default";var E=mxUtils.button(mxResources.get("download"),function(){if(null!=x){var a=b.getCurrentFile(),a=null!=a&&null!=a.getTitle()?a.getTitle():b.defaultFilename,c=mxUtils.getXml(x.documentElement);b.isLocalFileSave()?b.saveLocalFile(c,a,"text/xml"):
-(c="undefined"===typeof pako?"&xml="+encodeURIComponent(c):"&data="+encodeURIComponent(b.editor.graph.compress(c)),(new mxXmlRequest(SAVE_URL,"filename="+encodeURIComponent(a)+"&format=xml"+c)).simulate(document,"_blank"))}});E.className="geBtn";E.setAttribute("disabled","disabled");var B=mxUtils.button(mxResources.get("restore"),function(){null!=x&&null!=C&&b.confirm(mxResources.get("areYouSure"),function(){null!=d?d(C):b.spinner.spin(document.body,mxResources.get("restoring"))&&u.save(!0,function(a){b.spinner.stop();
-b.replaceFileData(C);b.hideDialog()},function(a){b.spinner.stop();b.editor.setStatus("");b.handleError(a,null!=a?mxResources.get("errorSavingFile"):null)})})});B.className="geBtn";B.setAttribute("disabled","disabled");var A=document.createElement("select");A.setAttribute("disabled","disabled");A.style.maxWidth="80px";A.style.position="relative";A.style.top="-2px";A.style.verticalAlign="bottom";A.style.marginRight="6px";A.style.display="none";var J=null;mxEvent.addListener(A,"change",function(a){null!=
-J&&(J(a),mxEvent.consume(a))});var D=mxUtils.button(mxResources.get("openInNewWindow"),function(){null!=x&&(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(mxUtils.getXml(x.documentElement)),window.openWindow(b.getUrl()))});D.className="geBtn";D.setAttribute("disabled","disabled");null!=d&&(D.style.display="none");var L=mxUtils.button(mxResources.get("show"),function(){null!=w&&b.openLink(w.getUrl())});L.className="geBtn gePrimaryBtn";L.setAttribute("disabled",
-"disabled");null!=d&&(L.style.display="none",B.className="geBtn gePrimaryBtn");g=document.createElement("div");g.style.position="absolute";g.style.top="482px";g.style.width="640px";g.style.textAlign="right";var F=document.createElement("div");F.className="geToolbarContainer";F.style.backgroundColor="transparent";F.style.padding="2px";F.style.border="none";F.style.left="199px";F.style.top="442px";var G=null;if(null!=e&&0<e.length){n.style.cursor="move";var M=document.createElement("table");M.style.border=
-"1px solid lightGray";M.style.borderCollapse="collapse";M.style.borderSpacing="0px";M.style.width="100%";var X=document.createElement("tbody"),Z=(new Date).toDateString();null!=b.currentPage&&null!=b.pages&&(q=mxUtils.indexOf(b.pages,b.currentPage));for(var N=e.length-1;0<=N;N--){var S=function(c){var h=new Date(c.modifiedDate),d=null;if(0<=h.getTime()){var g=function(c){m.stop();var e=mxUtils.parseXml(c),g=b.editor.extractGraphModel(e.documentElement,!0);if(null!=g){var w=function(a){null!=a&&(a=
-t(mxUtils.parseXml(b.editor.graph.decompress(mxUtils.getTextContent(a))).documentElement));return a},t=function(a){var b=a.getAttribute("background");if(null==b||""==b||b==mxConstants.NONE)b="#ffffff";n.style.backgroundColor=b;(new mxCodec(a.ownerDocument)).decode(a,p.getModel());p.maxFitScale=1;p.fit(8);p.center();return a};A.style.display="none";A.innerHTML="";x=e;C=c;a=parseSelectFunction=null;f=0;if("mxfile"==g.nodeName){e=g.getElementsByTagName("diagram");a=[];for(c=0;c<e.length;c++)a.push(e[c]);
-f=Math.min(q,a.length-1);0<a.length&&w(a[f]);if(1<a.length)for(A.removeAttribute("disabled"),A.style.display="",c=0;c<a.length;c++)e=document.createElement("option"),mxUtils.write(e,a[c].getAttribute("name")||mxResources.get("pageWithNumber",[c+1])),e.setAttribute("value",c),c==f&&e.setAttribute("selected","selected"),A.appendChild(e);J=function(){f=q=parseInt(A.value);w(a[q])}}else t(g);y.innerHTML="";mxUtils.write(y,h.toLocaleDateString()+" "+h.toLocaleTimeString());y.setAttribute("title",d.getAttribute("title"));
-l.removeAttribute("disabled");v.removeAttribute("disabled");H.removeAttribute("disabled");z.removeAttribute("disabled");null!=u&&u.isRestricted()||(b.editor.graph.isEnabled()&&B.removeAttribute("disabled"),E.removeAttribute("disabled"),L.removeAttribute("disabled"),D.removeAttribute("disabled"));mxUtils.setOpacity(l,60);mxUtils.setOpacity(v,60);mxUtils.setOpacity(H,60);mxUtils.setOpacity(z,60)}else A.style.display="none",A.innerHTML="",y.innerHTML="",mxUtils.write(y,mxResources.get("errorLoadingFile"))},
-d=document.createElement("tr");d.style.borderBottom="1px solid lightGray";d.style.fontSize="12px";d.style.cursor="pointer";var k=document.createElement("td");k.style.padding="6px";k.style.whiteSpace="nowrap";c==e[e.length-1]?mxUtils.write(k,mxResources.get("current")):h.toDateString()===Z?mxUtils.write(k,h.toLocaleTimeString()):mxUtils.write(k,h.toLocaleDateString()+" "+h.toLocaleTimeString());d.appendChild(k);d.setAttribute("title",h.toLocaleDateString()+" "+h.toLocaleTimeString()+" "+b.formatFileSize(parseInt(c.fileSize))+
-(null!=c.lastModifyingUserName?" "+c.lastModifyingUserName:""));mxEvent.addListener(d,"click",function(a){w!=c&&(m.stop(),null!=t&&(t.style.backgroundColor=""),w=c,t=d,t.style.backgroundColor="#ebf2f9",C=x=null,y.removeAttribute("title"),y.innerHTML=mxResources.get("loading")+"...",n.style.backgroundColor="#ffffff",p.getModel().clear(),B.setAttribute("disabled","disabled"),E.setAttribute("disabled","disabled"),l.setAttribute("disabled","disabled"),v.setAttribute("disabled","disabled"),z.setAttribute("disabled",
-"disabled"),H.setAttribute("disabled","disabled"),D.setAttribute("disabled","disabled"),L.setAttribute("disabled","disabled"),A.setAttribute("disabled","disabled"),mxUtils.setOpacity(l,20),mxUtils.setOpacity(v,20),mxUtils.setOpacity(H,20),mxUtils.setOpacity(z,20),m.spin(n),c.getXml(function(a){w==c&&g(a)},function(a){m.stop();A.style.display="none";A.innerHTML="";y.innerHTML="";mxUtils.write(y,mxResources.get("errorLoadingFile"))}),mxEvent.consume(a))});mxEvent.addListener(d,"dblclick",function(a){L.click();
-window.getSelection?window.getSelection().removeAllRanges():document.selection&&document.selection.empty();mxEvent.consume(a)},!1);X.appendChild(d)}return d}(e[N]);null!=S&&N==e.length-1&&(G=S)}M.appendChild(X);k.appendChild(M)}else null==u||null==b.drive&&u.constructor==window.DriveFile||null==b.dropbox&&u.constructor==window.DropboxFile?(n.style.display="none",F.style.display="none",mxUtils.write(k,mxResources.get("notAvailable"))):(n.style.display="none",F.style.display="none",mxUtils.write(k,
-mxResources.get("noRevisions")));this.init=function(){null!=G&&G.click()};k=mxUtils.button(mxResources.get("close"),function(){b.hideDialog()});k.className="geBtn";F.appendChild(A);F.appendChild(l);F.appendChild(v);F.appendChild(z);F.appendChild(H);b.editor.cancelFirst?(g.appendChild(k),g.appendChild(E),g.appendChild(D),g.appendChild(B),g.appendChild(L)):(g.appendChild(E),g.appendChild(D),g.appendChild(B),g.appendChild(L),g.appendChild(k));c.appendChild(g);c.appendChild(F);c.appendChild(y);this.container=
-c},DraftDialog=function(b,e,d,c,g,k,n,p){var q=document.createElement("div"),a=document.createElement("div");a.style.marginTop="0px";a.style.whiteSpace="nowrap";a.style.overflow="auto";mxUtils.write(a,e);q.appendChild(a);var f=document.createElement("div");f.style.position="absolute";f.style.border="1px solid lightGray";f.style.marginTop="10px";f.style.width="640px";f.style.top="46px";f.style.bottom="74px";f.style.overflow="hidden";mxEvent.disableContextMenu(f);q.appendChild(f);var h=new Graph(f);
-h.setEnabled(!1);h.setPanning(!0);h.panningHandler.ignoreCell=!0;h.panningHandler.useLeftButtonForPanning=!0;h.minFitScale=null;h.maxFitScale=null;h.centerZoom=!0;e=mxUtils.parseXml(d);var m=b.editor.extractGraphModel(e.documentElement,!0),u=0,t=null,w=h.getGlobalVariable;h.getGlobalVariable=function(a){return"page"==a&&null!=t&&null!=t[u]?t[u].getAttribute("name"):"pagenumber"==a?u+1:w.apply(this,arguments)};h.getLinkForCell=function(){return null};e=mxUtils.button("",function(){h.zoomIn()});e.className=
-"geSprite geSprite-zoomin";e.setAttribute("title",mxResources.get("zoomIn"));e.style.outline="none";e.style.border="none";e.style.margin="2px";mxUtils.setOpacity(e,60);d=mxUtils.button("",function(){h.zoomOut()});d.className="geSprite geSprite-zoomout";d.setAttribute("title",mxResources.get("zoomOut"));d.style.outline="none";d.style.border="none";d.style.margin="2px";mxUtils.setOpacity(d,60);a=mxUtils.button("",function(){h.maxFitScale=8;h.fit(8);h.center()});a.className="geSprite geSprite-fit";a.setAttribute("title",
-mxResources.get("fit"));a.style.outline="none";a.style.border="none";a.style.margin="2px";mxUtils.setOpacity(a,60);var x=mxUtils.button("",function(){h.zoomActual();h.center()});x.className="geSprite geSprite-actualsize";x.setAttribute("title",mxResources.get("actualSize"));x.style.outline="none";x.style.border="none";x.style.margin="2px";mxUtils.setOpacity(x,60);g=mxUtils.button(n||mxResources.get("discard"),g);g.className="geBtn";var C=document.createElement("select");C.style.maxWidth="80px";C.style.position=
-"relative";C.style.top="-2px";C.style.verticalAlign="bottom";C.style.marginRight="6px";C.style.display="none";c=mxUtils.button(k||mxResources.get("edit"),c);c.className="geBtn gePrimaryBtn";k=document.createElement("div");k.style.position="absolute";k.style.bottom="30px";k.style.width="640px";k.style.textAlign="right";n=document.createElement("div");n.className="geToolbarContainer";n.style.cssText="box-shadow:none !important;background-color:transparent;padding:2px;border-style:none !important;bottom:30px;";
-this.init=function(){function a(a){if(null!=a){var b=a.getAttribute("background");if(null==b||""==b||b==mxConstants.NONE)b="#ffffff";f.style.backgroundColor=b;(new mxCodec(a.ownerDocument)).decode(a,h.getModel());h.maxFitScale=1;h.fit(8);h.center()}}function c(c){null!=c&&(c=a(mxUtils.parseXml(b.editor.graph.decompress(mxUtils.getTextContent(c))).documentElement));return c}mxEvent.addListener(C,"change",function(a){u=parseInt(C.value);c(t[u]);mxEvent.consume(a)});if("mxfile"==m.nodeName){var d=m.getElementsByTagName("diagram");
-t=[];for(var e=0;e<d.length;e++)t.push(d[e]);0<t.length&&c(t[u]);if(1<t.length)for(C.style.display="",e=0;e<t.length;e++)d=document.createElement("option"),mxUtils.write(d,t[e].getAttribute("name")||mxResources.get("pageWithNumber",[e+1])),d.setAttribute("value",e),e==u&&d.setAttribute("selected","selected"),C.appendChild(d)}else a(m)};n.appendChild(C);n.appendChild(e);n.appendChild(d);n.appendChild(x);n.appendChild(a);e=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog(!0)});e.className=
-"geBtn";p=null!=p?mxUtils.button(mxResources.get("ignore"),p):null;null!=p&&(p.className="geBtn");b.editor.cancelFirst?(k.appendChild(e),null!=p&&k.appendChild(p),k.appendChild(g),k.appendChild(c)):(k.appendChild(c),k.appendChild(g),null!=p&&k.appendChild(p),k.appendChild(e));q.appendChild(k);q.appendChild(n);this.container=q},FindWindow=function(b,e,d,c,g){function k(a,b,c){if("object"===typeof b.value&&null!=b.value.attributes){b=b.value.attributes;for(var f=0;f<b.length;f++)if("label"!=b[f].nodeName){var l=
-mxUtils.trim(b[f].nodeValue.replace(/[\x00-\x1F\x7F-\x9F]|\s+/g," ")).toLowerCase();if(null==a&&l.substring(0,c.length)===c||null!=a&&a.test(l))return!0}}return!1}function n(){var b=q.model.getDescendants(q.model.getRoot()),c=m.value.toLowerCase(),l=u.checked?new RegExp(c):null,h=null;a!=c&&(a=c,f=null);var d=null==f;if(0<c.length)for(var e=0;e<b.length;e++){var g=q.view.getState(b[e]);if(null!=g&&null!=g.cell.value&&(d||null==h)&&(q.model.isVertex(g.cell)||q.model.isEdge(g.cell))&&(q.isHtmlLabel(g.cell)?
-(t.innerHTML=q.getLabel(g.cell),label=mxUtils.extractTextWithWhitespace([t])):label=q.getLabel(g.cell),label=mxUtils.trim(label.replace(/[\x00-\x1F\x7F-\x9F]|\s+/g," ")).toLowerCase(),null==l&&(label.substring(0,c.length)===c||k(l,g.cell,c))||null!=l&&(l.test(label)||k(l,g.cell,c))))if(d){h=g;break}else null==h&&(h=g);d=d||g==f}null!=h?(f=h,q.scrollCellToVisible(f.cell),q.isEnabled()?q.setSelectionCell(f.cell):q.highlightCell(f.cell)):q.isEnabled()&&q.clearSelection();return 0==c.length||null!=h}
-var p=b.actions.get("find"),q=b.editor.graph,a=null,f=null,h=document.createElement("div");h.style.userSelect="none";h.style.overflow="hidden";h.style.padding="10px";h.style.height="100%";var m=document.createElement("input");m.setAttribute("placeholder",mxResources.get("find"));m.setAttribute("type","text");m.style.marginTop="4px";m.style.marginBottom="6px";m.style.width="200px";m.style.fontSize="12px";m.style.borderRadius="4px";m.style.padding="6px";h.appendChild(m);mxUtils.br(h);var u=document.createElement("input");
-u.setAttribute("type","checkbox");u.style.marginRight="4px";h.appendChild(u);mxUtils.write(h,mxResources.get("regularExpression"));var t=document.createElement("div");mxUtils.br(h);var w=mxUtils.button(mxResources.get("reset"),function(){m.value="";m.style.backgroundColor="";a=f=null;m.focus()});w.setAttribute("title",mxResources.get("reset"));w.style.marginTop="6px";w.style.marginRight="4px";w.className="geBtn";h.appendChild(w);w=mxUtils.button(mxResources.get("find"),function(){try{m.style.backgroundColor=
-n()?"":"#ffcfcf"}catch(x){b.handleError(x)}});w.setAttribute("title",mxResources.get("find")+" (Enter)");w.style.marginTop="6px";w.className="geBtn gePrimaryBtn";h.appendChild(w);mxEvent.addListener(m,"keyup",function(b){if(91==b.keyCode||17==b.keyCode)mxEvent.consume(b);else if(27==b.keyCode)p.funct();else if(a!=m.value.toLowerCase()||13==b.keyCode)try{m.style.backgroundColor=n()?"":"#ffcfcf"}catch(C){m.style.backgroundColor="#ffcfcf"}});mxEvent.addListener(h,"keydown",function(a){70==a.keyCode&&
-b.keyHandler.isControlDown(a)&&!mxEvent.isShiftDown(a)&&(p.funct(),mxEvent.consume(a))});this.window=new mxWindow(mxResources.get("find"),h,e,d,c,g,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!1);this.window.setClosable(!0);this.window.addListener("show",mxUtils.bind(this,function(){this.window.isVisible()?(m.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?m.select():document.execCommand("selectAll",!1,null)):q.container.focus()}))},
-TagsWindow=function(b,e,d,c,g){function k(a){a=null!=a?a:p.model.getDescendants(p.model.getRoot());for(var b=f.value.split(" "),c=[],h=0;h<a.length;h++)if(p.model.isVertex(a[h])||p.model.isEdge(a[h])){var d=null!=a[h].value&&"object"==typeof a[h].value?mxUtils.trim(a[h].value.getAttribute(q)||""):"",l=!0;if(0<d.length)for(var d=d.toLowerCase().split(" "),m=0;m<b.length&&l;m++)var e=mxUtils.trim(b[m]).toLowerCase(),l=l&&(0==e.length||0<=mxUtils.indexOf(d,e));else l=0==mxUtils.trim(f.value).length;
-l&&c.push(a[h])}return c}function n(a,b){p.model.beginUpdate();try{for(var c=0;c<a.length;c++)p.model.setVisible(a[c],b)}finally{p.model.endUpdate()}}var p=b.editor.graph,q="tags",a=document.createElement("div");a.style.userSelect="none";a.style.overflow="hidden";a.style.padding="10px";a.style.height="100%";var f=document.createElement("input");f.setAttribute("placeholder",mxResources.get("allTags"));f.setAttribute("type","text");f.style.marginTop="4px";f.style.width="260px";f.style.fontSize="12px";
-f.style.borderRadius="4px";f.style.padding="6px";a.appendChild(f);if(!b.isOffline()||mxClient.IS_CHROMEAPP){f.style.width="240px";var h=b.menus.createHelpLink("https://desk.draw.io/support/solutions/articles/16000046966");h.firstChild.style.marginBottom="6px";h.style.marginLeft="6px";a.appendChild(h)}mxEvent.addListener(f,"dblclick",function(){var a=new FilenameDialog(b,q,mxResources.get("ok"),mxUtils.bind(this,function(a){null!=a&&0<a.length&&(q=a)}),mxResources.get("enterPropertyName"));b.showDialog(a.container,
-300,80,!0,!0);a.init()});f.setAttribute("title",mxResources.get("doubleClickChangeProperty"));mxUtils.br(a);h=mxUtils.button(mxResources.get("hide"),function(){n(k(),!1)});h.setAttribute("title",mxResources.get("hide"));h.style.marginTop="8px";h.style.marginRight="4px";h.className="geBtn";a.appendChild(h);h=mxUtils.button(mxResources.get("show"),function(){var a=k();n(a,!0);p.isEnabled()&&p.setSelectionCells(a)});h.setAttribute("title",mxResources.get("show"));h.style.marginTop="8px";h.style.marginRight=
-"4px";h.className="geBtn";a.appendChild(h);var m=b.actions.get("tags"),h=mxUtils.button(mxResources.get("close"),function(){m.funct()});h.setAttribute("title",mxResources.get("close")+" (Enter/Esc)");h.style.marginTop="8px";h.className="geBtn gePrimaryBtn";a.appendChild(h);mxEvent.addListener(f,"keyup",function(a){13!=a.keyCode&&27!=a.keyCode||m.funct()});this.window=new mxWindow(mxResources.get("tags"),a,e,d,c,g,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!1);
-this.window.setClosable(!0);this.window.addListener("show",mxUtils.bind(this,function(){this.window.isVisible()?(f.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?f.select():document.execCommand("selectAll",!1,null)):p.container.focus()}))},AuthDialog=function(b,e,d,c){var g=document.createElement("div");g.style.textAlign="center";var k=document.createElement("p");k.style.fontSize="16pt";k.style.padding="0px";k.style.margin="0px";k.style.color="gray";mxUtils.write(k,
-mxResources.get("authorizationRequired"));var n="Unknown",p=document.createElement("img");p.setAttribute("border","0");p.setAttribute("align","absmiddle");p.style.marginRight="10px";e==b.drive?(n=mxResources.get("googleDrive"),p.src=IMAGE_PATH+"/google-drive-logo-white.svg"):e==b.dropbox?(n=mxResources.get("dropbox"),p.src=IMAGE_PATH+"/dropbox-logo-white.svg"):e==b.oneDrive?(n=mxResources.get("oneDrive"),p.src=IMAGE_PATH+"/onedrive-logo-white.svg"):e==b.gitHub?(n=mxResources.get("github"),p.src=IMAGE_PATH+
-"/github-logo-white.svg"):e==b.trello&&(n=mxResources.get("trello"),p.src=IMAGE_PATH+"/trello-logo-white.svg");b=document.createElement("p");mxUtils.write(b,mxResources.get("authorizeThisAppIn",[n]));var q=document.createElement("input");q.setAttribute("type","checkbox");n=mxUtils.button(mxResources.get("authorize"),function(){c(q.checked)});n.insertBefore(p,n.firstChild);n.style.marginTop="6px";n.className="geBigButton";g.appendChild(k);g.appendChild(b);g.appendChild(n);d&&(d=document.createElement("p"),
-d.style.marginTop="20px",d.appendChild(q),k=document.createElement("span"),mxUtils.write(k," "+mxResources.get("rememberMe")),d.appendChild(k),g.appendChild(d),q.checked=!0,q.defaultChecked=!0,mxEvent.addListener(k,"click",function(a){q.checked=!q.checked;mxEvent.consume(a)}));this.container=g},MoreShapesDialog=function(b,e,d){d=null!=d?d:b.sidebar.entries;var c=document.createElement("div");if(e){e=document.createElement("div");e.className="geDialogTitle";mxUtils.write(e,mxResources.get("shapes"));
-e.style.position="absolute";e.style.top="0px";e.style.left="0px";e.style.lineHeight="40px";e.style.height="40px";e.style.right="0px";mxClient.IS_QUIRKS&&(e.style.width="718px");var g=document.createElement("div"),k=document.createElement("div");g.style.position="absolute";g.style.top="40px";g.style.left="0px";g.style.width="202px";g.style.bottom="60px";g.style.overflow="auto";mxClient.IS_QUIRKS&&(g.style.height="437px",g.style.marginTop="1px");k.style.position="absolute";k.style.left="202px";k.style.right=
-"0px";k.style.top="40px";k.style.bottom="60px";k.style.overflow="auto";k.style.borderLeft="1px solid rgb(211, 211, 211)";k.style.textAlign="center";mxClient.IS_QUIRKS&&(k.style.width=parseInt(e.style.width)-202+"px",k.style.height=g.style.height,k.style.marginTop=g.style.marginTop);var n=null,p=[],q=document.createElement("div");q.style.position="relative";q.style.left="0px";q.style.right="0px";for(var a=0;a<d.length;a++)(function(c){var f=q.cloneNode(!1);f.style.fontWeight="bold";f.style.backgroundColor=
-"dark"==uiTheme?"#505759":"#e5e5e5";f.style.padding="6px 0px 6px 20px";mxUtils.write(f,c.title);g.appendChild(f);for(var l=0;l<c.entries.length;l++)(function(c){var f=q.cloneNode(!1);f.style.cursor="pointer";f.style.padding="4px 0px 4px 20px";var h=document.createElement("input");h.setAttribute("type","checkbox");h.checked=b.sidebar.isEntryVisible(c.id);h.defaultChecked=h.checked;f.appendChild(h);mxUtils.write(f," "+c.title);g.appendChild(f);var d=function(a){if(null==a||"INPUT"!=mxEvent.getSource(a).nodeName)null!=
-c.imageCallback?c.imageCallback(k):null!=c.image?k.innerHTML='<img border="0" src="'+c.image+'"/>':(k.innerHTML="<br>",mxUtils.write(k,mxResources.get("noPreview"))),null!=n&&(n.style.backgroundColor=""),n=f,n.style.backgroundColor="dark"==uiTheme?"#505759":"#ebf2f9",null!=a&&mxEvent.consume(a)};mxEvent.addListener(f,"click",d);mxEvent.addListener(f,"dblclick",function(a){h.checked=!h.checked;mxEvent.consume(a)});p.push(function(){return h.checked?c.id:null});0==a&&0==l&&d()})(c.entries[l])})(d[a]);
-c.style.padding="30px";c.appendChild(e);c.appendChild(g);c.appendChild(k);d=document.createElement("div");d.className="geDialogFooter";d.style.position="absolute";d.style.paddingRight="16px";d.style.color="gray";d.style.left="0px";d.style.right="0px";d.style.bottom="0px";d.style.height="60px";d.style.lineHeight="52px";mxClient.IS_QUIRKS&&(d.style.width=e.style.width,d.style.paddingTop="12px");var f=document.createElement("input");f.setAttribute("type","checkbox");if(isLocalStorage||mxClient.IS_CHROMEAPP)e=
-document.createElement("span"),e.style.paddingRight="20px",e.appendChild(f),mxUtils.write(e," "+mxResources.get("rememberThisSetting")),f.checked=!0,f.defaultChecked=!0,mxEvent.addListener(e,"click",function(a){mxEvent.getSource(a)!=f&&(f.checked=!f.checked,mxEvent.consume(a))}),mxClient.IS_QUIRKS&&(e.style.position="relative",e.style.top="-6px"),d.appendChild(e);e=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog()});e.className="geBtn";var h=mxUtils.button(mxResources.get("apply"),
-function(){b.hideDialog();for(var a=[],c=0;c<p.length;c++){var l=p[c].apply(this,arguments);null!=l&&a.push(l)}b.sidebar.showEntries(a.join(";"),f.checked,!0)});h.className="geBtn gePrimaryBtn"}else{var m=document.createElement("table"),u=document.createElement("tbody");c.style.height="100%";c.style.overflow="auto";var t=document.createElement("tr");m.style.width="100%";e=document.createElement("td");var h=document.createElement("td"),w=document.createElement("td"),x=mxUtils.bind(this,function(a,
-c,f){var l=document.createElement("input");l.type="checkbox";m.appendChild(l);l.checked=b.sidebar.isEntryVisible(f);var h=document.createElement("span");mxUtils.write(h,c);c=document.createElement("div");c.style.display="block";c.appendChild(l);c.appendChild(h);mxEvent.addListener(h,"click",function(a){l.checked=!l.checked;mxEvent.consume(a)});a.appendChild(c);return function(){return l.checked?f:null}});t.appendChild(e);t.appendChild(h);t.appendChild(w);u.appendChild(t);m.appendChild(u);for(var p=
-[],C=0,a=0;a<d.length;a++)for(u=0;u<d[a].entries.length;u++)C++;for(var l=[e,h,w],v=0,a=0;a<d.length;a++)(function(a){for(var b=0;b<a.entries.length;b++){var c=a.entries[b];p.push(x(l[Math.floor(v/(C/3))],c.title,c.id));v++}})(d[a]);c.appendChild(m);d=document.createElement("div");d.style.marginTop="18px";d.style.textAlign="center";f=document.createElement("input");isLocalStorage&&(f.setAttribute("type","checkbox"),f.checked=!0,f.defaultChecked=!0,d.appendChild(f),e=document.createElement("span"),
-mxUtils.write(e," "+mxResources.get("rememberThisSetting")),d.appendChild(e),mxEvent.addListener(e,"click",function(a){f.checked=!f.checked;mxEvent.consume(a)}));c.appendChild(d);e=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog()});e.className="geBtn";h=mxUtils.button(mxResources.get("apply"),function(){for(var a=["search"],c=0;c<p.length;c++){var l=p[c].apply(this,arguments);null!=l&&a.push(l)}b.sidebar.showEntries(0<a.length?a.join(";"):"",f.checked);b.hideDialog()});h.className=
-"geBtn gePrimaryBtn";d=document.createElement("div");d.style.marginTop="26px";d.style.textAlign="right"}b.editor.cancelFirst?(d.appendChild(e),d.appendChild(h)):(d.appendChild(h),d.appendChild(e));c.appendChild(d);this.container=c},PluginsDialog=function(b){function e(){if(0==g.length)c.innerHTML=mxResources.get("noPlugins");else{c.innerHTML="";for(var a=0;a<g.length;a++){var h=document.createElement("span");h.style.whiteSpace="nowrap";var d=document.createElement("span");d.className="geSprite geSprite-delete";
-d.style.position="relative";d.style.cursor="pointer";d.style.top="5px";d.style.marginRight="4px";d.style.display="inline-block";h.appendChild(d);mxUtils.write(h,g[a]);c.appendChild(h);mxUtils.br(c);mxEvent.addListener(d,"click",function(a){return function(){b.confirm(window.parent.mxResources.get("delete")+' "'+g[a]+'"?',function(){g.splice(a,1);e()})}}(a))}}}var d=document.createElement("div"),c=document.createElement("div");c.style.height="120px";c.style.overflow="auto";var g=mxSettings.getPlugins().slice();
-d.appendChild(c);e();var k=mxUtils.button(mxResources.get("add"),function(){var a="",c=urlParams.p;if(null!=c&&0<c.length){for(var d=c.split(";"),c=0;c<d.length;c++){var u=App.pluginRegistry[d[c]];null!=u&&(a+=u+";")}";"==a.charAt(a.length-1)&&(a=a.substring(0,a.length-1))}a=new FilenameDialog(b,a,mxResources.get("add"),function(a){if(null!=a&&0<a.length){d=a.split(";");for(a=0;a<d.length;a++){var b=d[a],c=App.pluginRegistry[b];null!=c&&(b=c);0<b.length&&0>mxUtils.indexOf(g,b)&&g.push(b)}e()}},mxResources.get("enterValue")+
-" ("+mxResources.get("url")+")");b.showDialog(a.container,300,80,!0,!0);a.init()});k.className="geBtn";var n=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog()});n.className="geBtn";var p=mxUtils.button(mxResources.get("apply"),function(){mxSettings.setPlugins(g);mxSettings.save();b.hideDialog();b.alert(mxResources.get("restartForChangeRequired"))});p.className="geBtn gePrimaryBtn";var q=mxUtils.button(mxResources.get("help"),function(){b.openLink("https://desk.draw.io/support/solutions/articles/16000056430")});
-q.className="geBtn";b.isOffline()&&!mxClient.IS_CHROMEAPP&&(q.style.display="none");var a=document.createElement("div");a.style.marginTop="14px";a.style.textAlign="right";b.editor.cancelFirst?(a.appendChild(n),a.appendChild(q),a.appendChild(k),a.appendChild(p)):(a.appendChild(q),a.appendChild(k),a.appendChild(p),a.appendChild(n));d.appendChild(a);this.container=d},CropImageDialog=function(b,e,d){var c=document.createElement("div"),g=document.createElement("table"),k=document.createElement("tbody"),
-n=document.createElement("tr"),p=document.createElement("td");p.style.whiteSpace="nowrap";p.setAttribute("colspan","2");mxUtils.write(p,mxResources.get("loading")+"...");n.appendChild(p);k.appendChild(n);var n=document.createElement("tr"),q=document.createElement("td"),a=document.createElement("td");g.style.paddingLeft="6px";mxUtils.write(q,mxResources.get("left")+":");var f=document.createElement("input");f.setAttribute("type","text");f.style.width="100px";f.value="0";this.init=function(){f.focus();
-f.select()};a.appendChild(f);n.appendChild(q);n.appendChild(a);k.appendChild(n);n=document.createElement("tr");q=document.createElement("td");a=document.createElement("td");mxUtils.write(q,mxResources.get("top")+":");var h=document.createElement("input");h.setAttribute("type","text");h.style.width="100px";h.value="0";a.appendChild(h);n.appendChild(q);n.appendChild(a);k.appendChild(n);n=document.createElement("tr");q=document.createElement("td");a=document.createElement("td");mxUtils.write(q,mxResources.get("right")+
-":");var m=document.createElement("input");m.setAttribute("type","text");m.style.width="100px";m.value="0";a.appendChild(m);n.appendChild(q);n.appendChild(a);k.appendChild(n);n=document.createElement("tr");q=document.createElement("td");a=document.createElement("td");mxUtils.write(q,mxResources.get("bottom")+":");var u=document.createElement("input");u.setAttribute("type","text");u.style.width="100px";u.value="0";a.appendChild(u);n.appendChild(q);n.appendChild(a);k.appendChild(n);n=document.createElement("tr");
-q=document.createElement("td");a=document.createElement("td");mxUtils.write(q,mxResources.get("circle")+":");n.appendChild(q);var t=document.createElement("input");t.setAttribute("type","checkbox");a.appendChild(t);n.appendChild(a);k.appendChild(n);g.appendChild(k);c.appendChild(g);var g=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog()}),w=new Image,x=mxUtils.button(mxResources.get("apply"),function(){b.hideDialog();var a=document.createElement("canvas"),c=a.getContext("2d"),v=w.width,
-e=w.height,g=parseInt(f.value),x=parseInt(h.value),v=Math.max(1,v-g-parseInt(m.value)),e=Math.max(1,e-x-parseInt(u.value));a.width=v;a.height=e;t.checked&&(c.fillStyle="#000000",c.arc(v/2,e/2,Math.min(v/2,e/2),0,2*Math.PI),c.fill(),c.globalCompositeOperation="source-in");c.drawImage(w,g,x,v,e,0,0,v,e);d(a.toDataURL())});x.setAttribute("disabled","disabled");w.onload=function(){x.removeAttribute("disabled");p.innerHTML="";mxUtils.write(p,mxResources.get("width")+": "+w.width+" "+mxResources.get("height")+
-": "+w.height)};w.src=e;mxEvent.addListener(c,"keypress",function(a){13==a.keyCode&&x.click()});e=document.createElement("div");e.style.marginTop="20px";e.style.textAlign="right";b.editor.cancelFirst?(e.appendChild(g),e.appendChild(x)):(e.appendChild(x),e.appendChild(g));c.appendChild(e);this.container=c},EditGeometryDialog=function(b,e){var d=b.editor.graph,c=1==e.length?d.getCellGeometry(e[0]):null,g=document.createElement("div"),k=document.createElement("table"),n=document.createElement("tbody"),
-p=document.createElement("tr"),q=document.createElement("td"),a=document.createElement("td");k.style.paddingLeft="6px";mxUtils.write(q,mxResources.get("left")+":");var f=document.createElement("input");f.setAttribute("type","text");f.style.width="100px";f.value=null!=c?c.x:"";this.init=function(){f.focus();f.select()};a.appendChild(f);p.appendChild(q);p.appendChild(a);n.appendChild(p);p=document.createElement("tr");q=document.createElement("td");a=document.createElement("td");mxUtils.write(q,mxResources.get("top")+
-":");var h=document.createElement("input");h.setAttribute("type","text");h.style.width="100px";h.value=null!=c?c.y:"";a.appendChild(h);p.appendChild(q);p.appendChild(a);n.appendChild(p);p=document.createElement("tr");q=document.createElement("td");a=document.createElement("td");mxUtils.write(q,mxResources.get("width")+":");var m=document.createElement("input");m.setAttribute("type","text");m.style.width="100px";m.value=null!=c?c.width:"";a.appendChild(m);p.appendChild(q);p.appendChild(a);n.appendChild(p);
-p=document.createElement("tr");q=document.createElement("td");a=document.createElement("td");mxUtils.write(q,mxResources.get("height")+":");var u=document.createElement("input");u.setAttribute("type","text");u.style.width="100px";u.value=null!=c?c.height:"";a.appendChild(u);p.appendChild(q);p.appendChild(a);n.appendChild(p);p=document.createElement("tr");q=document.createElement("td");a=document.createElement("td");mxUtils.write(q,mxResources.get("rotation")+":");var t=document.createElement("input");
-t.setAttribute("type","text");t.style.width="100px";t.value=1==e.length?mxUtils.getValue(d.getCellStyle(e[0]),mxConstants.STYLE_ROTATION,0):"";a.appendChild(t);p.appendChild(q);p.appendChild(a);n.appendChild(p);k.appendChild(n);g.appendChild(k);var c=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog()}),w=mxUtils.button(mxResources.get("apply"),function(){b.hideDialog();d.getModel().beginUpdate();try{for(var a=0;a<e.length;a++){var c=d.getCellGeometry(e[a]);null!=c&&(c=c.clone(),d.isCellMovable(e[a])&&
-(0<mxUtils.trim(f.value).length&&(c.x=Number(f.value)),0<mxUtils.trim(h.value).length&&(c.y=Number(h.value))),d.isCellResizable(e[a])&&(0<mxUtils.trim(m.value).length&&(c.width=Number(m.value)),0<mxUtils.trim(u.value).length&&(c.height=Number(u.value))),d.getModel().setGeometry(e[a],c));0<mxUtils.trim(t.value).length&&d.setCellStyles(mxConstants.STYLE_ROTATION,Number(t.value),[e[a]])}}finally{d.getModel().endUpdate()}});mxEvent.addListener(g,"keypress",function(a){13==a.keyCode&&w.click()});k=document.createElement("div");
-k.style.marginTop="20px";k.style.textAlign="right";b.editor.cancelFirst?(k.appendChild(c),k.appendChild(w)):(k.appendChild(w),k.appendChild(c));g.appendChild(k);this.container=g},LibraryDialog=function(b,e,d,c,g,k){function n(a){for(a=document.elementFromPoint(a.clientX,a.clientY);null!=a&&a.parentNode!=u;)a=a.parentNode;var b=null;if(null!=a)for(var c=u.firstChild,b=0;null!=c&&c!=a;)c=c.nextSibling,b++;return b}function p(a,c,h,d,m,e,g,C,k){try{if(null==c||"image/"==c.substring(0,6))if(null==a&&
-null!=g||null==w[a]){var z=function(){G.innerHTML="";G.style.cursor="pointer";G.style.whiteSpace="nowrap";G.style.textOverflow="ellipsis";mxUtils.write(G,null!=A.title&&0<A.title.length?A.title:mxResources.get("untitled"));G.style.color=null==A.title||0==A.title.length?"#d0d0d0":""};u.style.backgroundImage="";t.style.display="none";var D=m,y=e;if(m>b.maxImageSize||e>b.maxImageSize){var q=Math.min(1,Math.min(b.maxImageSize/Math.max(1,m)),b.maxImageSize/Math.max(1,e));m*=q;e*=q}D>y?(y=Math.round(100*
-y/D),D=100):(D=Math.round(100*D/y),y=100);var E=document.createElement("div");E.setAttribute("draggable","true");E.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";E.style.position="relative";E.style.cursor="move";mxUtils.setPrefixedStyle(E.style,"transition","transform .1s ease-in-out");if(null!=a){var B=document.createElement("img");B.setAttribute("src",v.convert(a));B.style.width=D+"px";B.style.height=y+"px";B.style.margin="10px";B.style.paddingBottom=Math.floor((100-y)/2)+"px";B.style.paddingLeft=
-Math.floor((100-D)/2)+"px";E.appendChild(B)}else if(null!=g){var F=b.stringToCells(b.editor.graph.decompress(g.xml));0<F.length&&(b.sidebar.createThumb(F,100,100,E,null,!0,!1),E.firstChild.style.display=mxClient.IS_QUIRKS?"inline":"inline-block",E.firstChild.style.cursor="")}var L=document.createElement("img");L.setAttribute("src",Editor.closeImage);L.setAttribute("border","0");L.setAttribute("title",mxResources.get("delete"));L.setAttribute("align","top");L.style.paddingTop="4px";L.style.position=
-"absolute";L.style.marginLeft="-12px";L.style.zIndex="1";L.style.cursor="pointer";mxEvent.addListener(L,"dragstart",function(a){mxEvent.consume(a)});(function(a,b,c){mxEvent.addListener(L,"click",function(l){w[b]=null;for(var h=0;h<f.length;h++)if(null!=f[h].data&&f[h].data==b||null!=f[h].xml&&null!=c&&f[h].xml==c.xml){f.splice(h,1);break}E.parentNode.removeChild(a);0==f.length&&(u.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')",t.style.display="");mxEvent.consume(l)});mxEvent.addListener(L,
-"dblclick",function(a){mxEvent.consume(a)})})(E,a,g);E.appendChild(L);E.style.marginBottom="30px";var G=document.createElement("div");G.style.position="absolute";G.style.boxSizing="border-box";G.style.bottom="-18px";G.style.left="10px";G.style.right="10px";G.style.backgroundColor="#ffffff";G.style.overflow="hidden";G.style.textAlign="center";var A=null;null!=a?(A={data:a,w:m,h:e,title:k},null!=C&&(A.aspect=C),w[a]=B,f.push(A)):null!=g&&(g.aspect="fixed",f.push(g),A=g);mxEvent.addListener(G,"keydown",
-function(a){13==a.keyCode&&null!=l&&(l(),l=null,mxEvent.consume(a))});z();E.appendChild(G);mxEvent.addListener(G,"mousedown",function(a){"true"!=G.getAttribute("contentEditable")&&mxEvent.consume(a)});F=function(a){if(mxClient.IS_IOS||mxClient.IS_QUIRKS||mxClient.IS_FF||!(null==document.documentMode||9<document.documentMode)){var c=new FilenameDialog(b,A.title||"",mxResources.get("ok"),function(a){null!=a&&(A.title=a,z())},mxResources.get("enterValue"));b.showDialog(c.container,300,80,!0,!0);c.init();
-mxEvent.consume(a)}else if("true"!=G.getAttribute("contentEditable")){null!=l&&(l(),l=null);if(null==A.title||0==A.title.length)G.innerHTML="";G.style.textOverflow="";G.style.whiteSpace="";G.style.cursor="text";G.style.color="";G.setAttribute("contentEditable","true");G.focus();document.execCommand("selectAll",!1,null);l=function(){G.removeAttribute("contentEditable");G.style.cursor="pointer";A.title=G.innerHTML;z()};mxEvent.consume(a)}};mxEvent.addListener(G,"click",F);mxEvent.addListener(E,"dblclick",
-F);u.appendChild(E);mxEvent.addListener(E,"dragstart",function(b){null==a&&null!=g&&(L.style.visibility="hidden",G.style.visibility="hidden");mxClient.IS_FF&&null!=g.xml&&b.dataTransfer.setData("Text",g.xml);x=n(b);mxClient.IS_GC&&(E.style.opacity="0.9");window.setTimeout(function(){mxUtils.setPrefixedStyle(E.style,"transform","scale(0.5,0.5)");mxUtils.setOpacity(E,30);L.style.visibility="";G.style.visibility=""},0)});mxEvent.addListener(E,"dragend",function(a){"hidden"==L.style.visibility&&(L.style.visibility=
-"",G.style.visibility="");x=null;mxUtils.setOpacity(E,100);mxUtils.setPrefixedStyle(E.style,"transform",null)})}else H||(H=!0,b.handleError({message:mxResources.get("fileExists")}));else{m=!1;try{if(b.spinner.stop(),D=mxUtils.parseXml(a),"mxlibrary"==D.documentElement.nodeName){y=JSON.parse(mxUtils.getTextContent(D.documentElement));if(null!=y&&0<y.length)for(var J=0;J<y.length;J++)null!=y[J].xml?p(null,null,0,0,0,0,y[J]):p(y[J].data,null,0,0,y[J].w,y[J].h,null,"fixed",y[J].title);m=!0}else if("mxfile"==
-D.documentElement.nodeName){for(var M=D.documentElement.getElementsByTagName("diagram"),J=0;J<M.length;J++){var y=mxUtils.getTextContent(M[J]),F=b.stringToCells(b.editor.graph.decompress(y)),P=b.editor.graph.getBoundingBoxFromGeometry(F);p(null,null,0,0,0,0,{xml:y,w:P.width,h:P.height})}m=!0}}catch(ba){}m||(b.spinner.stop(),b.handleError({message:mxResources.get("errorLoadingFile")}))}}catch(ba){}return null}function q(a){a.dataTransfer.dropEffect=null!=x?"move":"copy";a.stopPropagation();a.preventDefault()}
-function a(a){a.stopPropagation();a.preventDefault();H=!1;C=n(a);if(null!=x)null!=C&&C<u.children.length?(f.splice(C>x?C-1:C,0,f.splice(x,1)[0]),u.insertBefore(u.children[x],u.children[C])):(f.push(f.splice(x,1)[0]),u.appendChild(u.children[x]));else if(0<a.dataTransfer.files.length)b.importFiles(a.dataTransfer.files,0,0,b.maxImageSize,z(a));else if(0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")){var c=decodeURIComponent(a.dataTransfer.getData("text/uri-list"));(/(\.jpg)($|\?)/i.test(c)||
-/(\.png)($|\?)/i.test(c)||/(\.gif)($|\?)/i.test(c)||/(\.svg)($|\?)/i.test(c))&&b.loadImage(c,function(a){p(c,null,0,0,a.width,a.height);u.scrollTop=u.scrollHeight})}a.stopPropagation();a.preventDefault()}var f=[];d=document.createElement("div");d.style.height="100%";var h=document.createElement("div");h.style.whiteSpace="nowrap";h.style.height="40px";d.appendChild(h);mxUtils.write(h,mxResources.get("filename")+":");null==e&&(e=b.defaultLibraryName+".xml");var m=document.createElement("input");m.setAttribute("value",
-e);m.style.marginRight="20px";m.style.marginLeft="10px";m.style.width="500px";null==g||g.isRenamable()||m.setAttribute("disabled","true");this.init=function(){if(null==g||g.isRenamable())m.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?m.select():document.execCommand("selectAll",!1,null)};h.appendChild(m);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==f.length&&Graph.fileSupport&&(u.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')");var t=document.createElement("div");t.style.position="absolute";t.style.width="640px";t.style.top="260px";t.style.textAlign="center";t.style.fontSize="22px";t.style.color="#a0c3ff";mxUtils.write(t,mxResources.get("dragImagesHere"));d.appendChild(t);var w={},x=null,C=null,l=null;
-e=function(a){"true"!=mxEvent.getSource(a).getAttribute("contentEditable")&&null!=l&&(l(),l=null,mxEvent.consume(a))};mxEvent.addListener(u,"mousedown",e);mxEvent.addListener(u,"pointerdown",e);mxEvent.addListener(u,"touchstart",e);var v=new mxUrlConverter,H=!1;if(null!=c)for(e=0;e<c.length;e++)h=c[e],p(h.data,null,0,0,h.w,h.h,h,h.aspect,h.title);mxEvent.addListener(u,"dragleave",function(a){t.style.cursor="";for(var c=mxEvent.getSource(a);null!=c;){if(c==u||c==t){a.stopPropagation();a.preventDefault();
-break}c=c.parentNode}});var z=function(a){return function(c,f,l,h,d,m,e,v,g){null!=g&&(/(\.vsdx)($|\?)/i.test(g.name)||/(\.vssx)($|\?)/i.test(g.name))?b.importVisio(g,mxUtils.bind(this,function(c){b.spinner.stop();p(c,f,l,h,d,m,e,"fixed",mxEvent.isAltDown(a)?null:e.substring(0,e.lastIndexOf(".")).replace(/_/g," "))})):null!=g&&!b.isOffline()&&(new XMLHttpRequest).upload&&b.isRemoteFileFormat(c,g.name)?b.parseFile(g,mxUtils.bind(this,function(c){4==c.readyState&&(b.spinner.stop(),200<=c.status&&299>=
-c.status&&(p(c.responseText,f,l,h,d,m,e,"fixed",mxEvent.isAltDown(a)?null:e.substring(0,e.lastIndexOf(".")).replace(/_/g," ")),u.scrollTop=u.scrollHeight))})):(p(c,f,l,h,d,m,e,"fixed",mxEvent.isAltDown(a)?null:e.substring(0,e.lastIndexOf(".")).replace(/_/g," ")),u.scrollTop=u.scrollHeight)}};mxEvent.addListener(u,"dragover",q);mxEvent.addListener(u,"drop",a);mxEvent.addListener(t,"dragover",q);mxEvent.addListener(t,"drop",a);d.appendChild(u);c=document.createElement("div");c.style.textAlign="right";
-c.style.marginTop="20px";e=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog(!0)});e.setAttribute("id","btnCancel");e.className="geBtn";b.editor.cancelFirst&&c.appendChild(e);h=mxUtils.button(mxResources.get("export"),function(){var a=b.createLibraryDataFromImages(f),c=m.value;/(\.xml)$/i.test(c)||(c+=".xml");b.isLocalFileSave()?b.saveLocalFile(a,c,"text/xml",null,null,!0):(new mxXmlRequest(SAVE_URL,"filename="+encodeURIComponent(c)+"&format=xml&xml="+encodeURIComponent(a))).simulate(document,
-"_blank")});h.setAttribute("id","btnDownload");h.className="geBtn";c.appendChild(h);var y=document.createElement("input");y.setAttribute("multiple","multiple");y.setAttribute("type","file");null==document.documentMode&&(mxEvent.addListener(y,"change",function(a){H=!1;b.importFiles(y.files,0,0,b.maxImageSize,function(c,b,f,l,h,d,m,e,v){z(a)(c,b,f,l,h,d,m,e,v);y.value=""});u.scrollTop=u.scrollHeight}),h=mxUtils.button(mxResources.get("import"),function(){null!=l&&(l(),l=null);y.click()}),h.setAttribute("id",
-"btnAddImage"),h.className="geBtn",c.appendChild(h));h=mxUtils.button(mxResources.get("addImageUrl"),function(){null!=l&&(l(),l=null);b.showImageDialog(mxResources.get("addImageUrl"),"",function(a,c,b){H=!1;if(null!=a){if("data:image/"==a.substring(0,11)){var f=a.indexOf(",");0<f&&(a=a.substring(0,f)+";base64,"+a.substring(f+1))}p(a,null,0,0,c,b);u.scrollTop=u.scrollHeight}})});h.setAttribute("id","btnAddImageUrl");h.className="geBtn";c.appendChild(h);this.saveBtnClickHandler=function(a,c,f,l){b.saveLibrary(a,
-c,f,l)};h=mxUtils.button(mxResources.get("save"),mxUtils.bind(this,function(){null!=l&&(l(),l=null);this.saveBtnClickHandler(m.value,f,g,k)}));h.setAttribute("id","btnSave");h.className="geBtn gePrimaryBtn";c.appendChild(h);b.editor.cancelFirst||c.appendChild(e);d.appendChild(c);this.container=d},EditShapeDialog=function(b,e,d,c,g){c=null!=c?c:300;g=null!=g?g:120;var k,n,p=document.createElement("table"),q=document.createElement("tbody");p.style.cellPadding="4px";k=document.createElement("tr");n=
-document.createElement("td");n.setAttribute("colspan","2");n.style.fontSize="10pt";mxUtils.write(n,d);k.appendChild(n);q.appendChild(k);k=document.createElement("tr");n=document.createElement("td");var a=document.createElement("textarea");a.style.outline="none";a.style.resize="none";a.style.width=c-200+"px";a.style.height=g+"px";this.textarea=a;this.init=function(){a.focus();a.scrollTop=0};n.appendChild(a);k.appendChild(n);n=document.createElement("td");d=document.createElement("div");d.style.position=
-"relative";d.style.border="1px solid gray";d.style.top="6px";d.style.width="200px";d.style.height=g+4+"px";d.style.overflow="hidden";d.style.marginBottom="16px";mxEvent.disableContextMenu(d);n.appendChild(d);var f=new Graph(d);f.setEnabled(!1);var h=b.editor.graph.cloneCells([e])[0];f.addCells([h]);d=f.view.getState(h);var m="";null!=d.shape&&null!=d.shape.stencil&&(m=mxUtils.getPrettyXml(d.shape.stencil.desc));mxUtils.write(a,m||"");d=f.getGraphBounds();g=Math.min(160/d.width,(g-40)/d.height);f.view.scaleAndTranslate(g,
-20/g-d.x,20/g-d.y);k.appendChild(n);q.appendChild(k);k=document.createElement("tr");n=document.createElement("td");n.setAttribute("colspan","2");n.style.paddingTop="2px";n.style.whiteSpace="nowrap";n.setAttribute("align","right");g=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog()});g.className="geBtn";b.editor.cancelFirst&&n.appendChild(g);b.isOffline()||(d=mxUtils.button(mxResources.get("help"),function(){b.openLink("https://desk.draw.io/support/solutions/articles/16000052874")}),
-d.className="geBtn",n.appendChild(d));var u=function(c,f,h){var d=a.value,l=mxUtils.parseXml(d),d=mxUtils.getPrettyXml(l.documentElement),l=l.documentElement.getElementsByTagName("parsererror");if(null!=l&&0<l.length)b.showError(mxResources.get("error"),mxResources.get("containsValidationErrors"),mxResources.get("ok"));else if(h&&b.hideDialog(),l=!c.model.contains(f),!h||l||d!=m){d=b.editor.graph.compress(d);c.getModel().beginUpdate();try{if(l){var e=b.editor.graph.getInsertPoint();f.geometry.x=e.x;
-f.geometry.y=e.y;c.addCell(f)}c.setCellStyles(mxConstants.STYLE_SHAPE,"stencil("+d+")",[f])}catch(H){throw H;}finally{c.getModel().endUpdate()}l&&c.setSelectionCell(f)}};d=mxUtils.button(mxResources.get("preview"),function(){u(f,h,!1)});d.className="geBtn";n.appendChild(d);d=mxUtils.button(mxResources.get("apply"),function(){u(b.editor.graph,e,!0)});d.className="geBtn gePrimaryBtn";n.appendChild(d);b.editor.cancelFirst||n.appendChild(g);k.appendChild(n);q.appendChild(k);p.appendChild(q);this.container=
-p},CustomDialog=function(b,e,d,c,g,k,n,p){var q=document.createElement("div");q.appendChild(e);e=document.createElement("div");e.style.marginTop="16px";e.style.textAlign="center";null!=n&&e.appendChild(n);n=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog();null!=c&&c()});n.className="geBtn";p&&(n.style.display="none");b.editor.cancelFirst&&e.appendChild(n);b.isOffline()||null==k||(p=mxUtils.button(mxResources.get("help"),function(){b.openLink(k)}),p.className="geBtn",e.appendChild(p));
-g=mxUtils.button(g||mxResources.get("ok"),function(){b.hideDialog();null!=d&&d()});e.appendChild(g);g.className="geBtn gePrimaryBtn";b.editor.cancelFirst||e.appendChild(n);q.appendChild(e);this.cancelBtn=n;this.okButton=g;this.container=q};(function(){Editor.prototype.appName="draw.io";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":
+function(){0<c.value.length&&0<k.test(c.value)?g.removeAttribute("disabled"):g.setAttribute("disabled","disabled")});mxEvent.addListener(c,"keyup",function(){0<c.value.length&&k.test(c.value)?g.removeAttribute("disabled"):g.setAttribute("disabled","disabled")});d.appendChild(c);this.init=function(){c.focus()};var l=document.createElement("input");l.setAttribute("type","checkbox");l.setAttribute("checked","checked");l.defaultChecked=!0;f=document.createElement("p");f.style.marginTop="14px";f.appendChild(l);
+var n=document.createElement("span");mxUtils.write(n," "+mxResources.get("includeCopyOfMyDiagram"));f.appendChild(n);mxEvent.addListener(n,"click",function(a){l.checked=!l.checked;mxEvent.consume(a)});d.appendChild(f);f=document.createElement("div");mxUtils.write(f,mxResources.get("feedback"));d.appendChild(f);var p=document.createElement("textarea");p.style.resize="none";p.style.width="600px";p.style.height="140px";p.style.marginTop="6px";p.setAttribute("placeholder",mxResources.get("commentsNotes"));
+d.appendChild(p);f=document.createElement("div");f.style.marginTop="26px";f.style.textAlign="right";n=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog()});n.className="geBtn";b.editor.cancelFirst?(f.appendChild(n),f.appendChild(g)):(f.appendChild(g),f.appendChild(n));d.appendChild(f);this.container=d};FeedbackDialog.maxAttachmentSize=1E6;
+var RevisionDialog=function(b,d,f){var c=document.createElement("div"),g=document.createElement("h3");g.style.marginTop="0px";mxUtils.write(g,mxResources.get("revisionHistory"));c.appendChild(g);var k=document.createElement("div");k.style.position="absolute";k.style.overflow="auto";k.style.width="170px";k.style.height="378px";c.appendChild(k);var l=document.createElement("div");l.style.position="absolute";l.style.border="1px solid lightGray";l.style.left="199px";l.style.width="470px";l.style.height=
+"376px";l.style.overflow="hidden";mxEvent.disableContextMenu(l);c.appendChild(l);var n=new Graph(l);n.setEnabled(!1);n.setPanning(!0);n.panningHandler.ignoreCell=!0;n.panningHandler.useLeftButtonForPanning=!0;n.minFitScale=null;n.maxFitScale=null;n.centerZoom=!0;var p=0,a=null,e=0,h=n.getGlobalVariable;n.getGlobalVariable=function(b){return"page"==b&&null!=a&&null!=a[e]?a[e].getAttribute("name"):"pagenumber"==b?e+1:h.apply(this,arguments)};n.getLinkForCell=function(){return null};Editor.MathJaxRender&&
+n.addListener(mxEvent.SIZE,mxUtils.bind(this,function(a,e){b.editor.graph.mathEnabled&&Editor.MathJaxRender(n.container)}));var u=new Spinner({lines:11,length:15,width:6,radius:10,corners:1,rotate:0,direction:1,color:"#000",speed:1.4,trail:60,shadow:!1,hwaccel:!1,className:"spinner",zIndex:2E9,top:"50%",left:"50%"}),q=b.getCurrentFile(),t=null,w=null,y=null,x=null,m=mxUtils.button("",function(){null!=y&&n.zoomIn()});m.className="geSprite geSprite-zoomin";m.setAttribute("title",mxResources.get("zoomIn"));
+m.style.outline="none";m.style.border="none";m.style.margin="2px";m.setAttribute("disabled","disabled");mxUtils.setOpacity(m,20);var v=mxUtils.button("",function(){null!=y&&n.zoomOut()});v.className="geSprite geSprite-zoomout";v.setAttribute("title",mxResources.get("zoomOut"));v.style.outline="none";v.style.border="none";v.style.margin="2px";v.setAttribute("disabled","disabled");mxUtils.setOpacity(v,20);var F=mxUtils.button("",function(){null!=y&&(n.maxFitScale=8,n.fit(8),n.center())});F.className=
+"geSprite geSprite-fit";F.setAttribute("title",mxResources.get("fit"));F.style.outline="none";F.style.border="none";F.style.margin="2px";F.setAttribute("disabled","disabled");mxUtils.setOpacity(F,20);var D=mxUtils.button("",function(){null!=y&&(n.zoomActual(),n.center())});D.className="geSprite geSprite-actualsize";D.setAttribute("title",mxResources.get("actualSize"));D.style.outline="none";D.style.border="none";D.style.margin="2px";D.setAttribute("disabled","disabled");mxUtils.setOpacity(D,20);var z=
+document.createElement("div");z.style.position="absolute";z.style.textAlign="right";z.style.color="gray";z.style.marginTop="10px";z.style.backgroundColor="transparent";z.style.top="440px";z.style.right="32px";z.style.maxWidth="380px";z.style.cursor="default";var J=mxUtils.button(mxResources.get("download"),function(){if(null!=y){var a=b.getCurrentFile(),a=null!=a&&null!=a.getTitle()?a.getTitle():b.defaultFilename,e=mxUtils.getXml(y.documentElement);b.isLocalFileSave()?b.saveLocalFile(e,a,"text/xml"):
+(e="undefined"===typeof pako?"&xml="+encodeURIComponent(e):"&data="+encodeURIComponent(b.editor.graph.compress(e)),(new mxXmlRequest(SAVE_URL,"filename="+encodeURIComponent(a)+"&format=xml"+e)).simulate(document,"_blank"))}});J.className="geBtn";J.setAttribute("disabled","disabled");var A=mxUtils.button(mxResources.get("restore"),function(){null!=y&&null!=x&&b.confirm(mxResources.get("areYouSure"),function(){null!=f?f(x):b.spinner.spin(document.body,mxResources.get("restoring"))&&q.save(!0,function(a){b.spinner.stop();
+b.replaceFileData(x);b.hideDialog()},function(a){b.spinner.stop();b.editor.setStatus("");b.handleError(a,null!=a?mxResources.get("errorSavingFile"):null)})})});A.className="geBtn";A.setAttribute("disabled","disabled");var B=document.createElement("select");B.setAttribute("disabled","disabled");B.style.maxWidth="80px";B.style.position="relative";B.style.top="-2px";B.style.verticalAlign="bottom";B.style.marginRight="6px";B.style.display="none";var I=null;mxEvent.addListener(B,"change",function(a){null!=
+I&&(I(a),mxEvent.consume(a))});var C=mxUtils.button(mxResources.get("openInNewWindow"),function(){null!=y&&(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(mxUtils.getXml(y.documentElement)),window.openWindow(b.getUrl()))});C.className="geBtn";C.setAttribute("disabled","disabled");null!=f&&(C.style.display="none");var L=mxUtils.button(mxResources.get("show"),function(){null!=w&&b.openLink(w.getUrl())});L.className="geBtn gePrimaryBtn";L.setAttribute("disabled",
+"disabled");null!=f&&(L.style.display="none",A.className="geBtn gePrimaryBtn");g=document.createElement("div");g.style.position="absolute";g.style.top="482px";g.style.width="640px";g.style.textAlign="right";var E=document.createElement("div");E.className="geToolbarContainer";E.style.backgroundColor="transparent";E.style.padding="2px";E.style.border="none";E.style.left="199px";E.style.top="442px";var G=null;if(null!=d&&0<d.length){l.style.cursor="move";var M=document.createElement("table");M.style.border=
+"1px solid lightGray";M.style.borderCollapse="collapse";M.style.borderSpacing="0px";M.style.width="100%";var X=document.createElement("tbody"),Z=(new Date).toDateString();null!=b.currentPage&&null!=b.pages&&(p=mxUtils.indexOf(b.pages,b.currentPage));for(var N=d.length-1;0<=N;N--){var S=function(c){var h=new Date(c.modifiedDate),f=null;if(0<=h.getTime()){var g=function(c){u.stop();var d=mxUtils.parseXml(c),g=b.editor.extractGraphModel(d.documentElement,!0);if(null!=g){var w=function(a){null!=a&&(a=
+t(mxUtils.parseXml(b.editor.graph.decompress(mxUtils.getTextContent(a))).documentElement));return a},t=function(a){var b=a.getAttribute("background");if(null==b||""==b||b==mxConstants.NONE)b="#ffffff";l.style.backgroundColor=b;(new mxCodec(a.ownerDocument)).decode(a,n.getModel());n.maxFitScale=1;n.fit(8);n.center();return a};B.style.display="none";B.innerHTML="";y=d;x=c;a=parseSelectFunction=null;e=0;if("mxfile"==g.nodeName){d=g.getElementsByTagName("diagram");a=[];for(c=0;c<d.length;c++)a.push(d[c]);
+e=Math.min(p,a.length-1);0<a.length&&w(a[e]);if(1<a.length)for(B.removeAttribute("disabled"),B.style.display="",c=0;c<a.length;c++)d=document.createElement("option"),mxUtils.write(d,a[c].getAttribute("name")||mxResources.get("pageWithNumber",[c+1])),d.setAttribute("value",c),c==e&&d.setAttribute("selected","selected"),B.appendChild(d);I=function(){e=p=parseInt(B.value);w(a[p])}}else t(g);z.innerHTML="";mxUtils.write(z,h.toLocaleDateString()+" "+h.toLocaleTimeString());z.setAttribute("title",f.getAttribute("title"));
+m.removeAttribute("disabled");v.removeAttribute("disabled");F.removeAttribute("disabled");D.removeAttribute("disabled");null!=q&&q.isRestricted()||(b.editor.graph.isEnabled()&&A.removeAttribute("disabled"),J.removeAttribute("disabled"),L.removeAttribute("disabled"),C.removeAttribute("disabled"));mxUtils.setOpacity(m,60);mxUtils.setOpacity(v,60);mxUtils.setOpacity(F,60);mxUtils.setOpacity(D,60)}else B.style.display="none",B.innerHTML="",z.innerHTML="",mxUtils.write(z,mxResources.get("errorLoadingFile"))},
+f=document.createElement("tr");f.style.borderBottom="1px solid lightGray";f.style.fontSize="12px";f.style.cursor="pointer";var k=document.createElement("td");k.style.padding="6px";k.style.whiteSpace="nowrap";c==d[d.length-1]?mxUtils.write(k,mxResources.get("current")):h.toDateString()===Z?mxUtils.write(k,h.toLocaleTimeString()):mxUtils.write(k,h.toLocaleDateString()+" "+h.toLocaleTimeString());f.appendChild(k);f.setAttribute("title",h.toLocaleDateString()+" "+h.toLocaleTimeString()+" "+b.formatFileSize(parseInt(c.fileSize))+
+(null!=c.lastModifyingUserName?" "+c.lastModifyingUserName:""));mxEvent.addListener(f,"click",function(a){w!=c&&(u.stop(),null!=t&&(t.style.backgroundColor=""),w=c,t=f,t.style.backgroundColor="#ebf2f9",x=y=null,z.removeAttribute("title"),z.innerHTML=mxResources.get("loading")+"...",l.style.backgroundColor="#ffffff",n.getModel().clear(),A.setAttribute("disabled","disabled"),J.setAttribute("disabled","disabled"),m.setAttribute("disabled","disabled"),v.setAttribute("disabled","disabled"),D.setAttribute("disabled",
+"disabled"),F.setAttribute("disabled","disabled"),C.setAttribute("disabled","disabled"),L.setAttribute("disabled","disabled"),B.setAttribute("disabled","disabled"),mxUtils.setOpacity(m,20),mxUtils.setOpacity(v,20),mxUtils.setOpacity(F,20),mxUtils.setOpacity(D,20),u.spin(l),c.getXml(function(a){w==c&&g(a)},function(a){u.stop();B.style.display="none";B.innerHTML="";z.innerHTML="";mxUtils.write(z,mxResources.get("errorLoadingFile"))}),mxEvent.consume(a))});mxEvent.addListener(f,"dblclick",function(a){L.click();
+window.getSelection?window.getSelection().removeAllRanges():document.selection&&document.selection.empty();mxEvent.consume(a)},!1);X.appendChild(f)}return f}(d[N]);null!=S&&N==d.length-1&&(G=S)}M.appendChild(X);k.appendChild(M)}else null==q||null==b.drive&&q.constructor==window.DriveFile||null==b.dropbox&&q.constructor==window.DropboxFile?(l.style.display="none",E.style.display="none",mxUtils.write(k,mxResources.get("notAvailable"))):(l.style.display="none",E.style.display="none",mxUtils.write(k,
+mxResources.get("noRevisions")));this.init=function(){null!=G&&G.click()};k=mxUtils.button(mxResources.get("close"),function(){b.hideDialog()});k.className="geBtn";E.appendChild(B);E.appendChild(m);E.appendChild(v);E.appendChild(D);E.appendChild(F);b.editor.cancelFirst?(g.appendChild(k),g.appendChild(J),g.appendChild(C),g.appendChild(A),g.appendChild(L)):(g.appendChild(J),g.appendChild(C),g.appendChild(A),g.appendChild(L),g.appendChild(k));c.appendChild(g);c.appendChild(E);c.appendChild(z);this.container=
+c},DraftDialog=function(b,d,f,c,g,k,l,n){var p=document.createElement("div"),a=document.createElement("div");a.style.marginTop="0px";a.style.whiteSpace="nowrap";a.style.overflow="auto";mxUtils.write(a,d);p.appendChild(a);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);p.appendChild(e);var h=new Graph(e);
+h.setEnabled(!1);h.setPanning(!0);h.panningHandler.ignoreCell=!0;h.panningHandler.useLeftButtonForPanning=!0;h.minFitScale=null;h.maxFitScale=null;h.centerZoom=!0;d=mxUtils.parseXml(f);var u=b.editor.extractGraphModel(d.documentElement,!0),q=0,t=null,w=h.getGlobalVariable;h.getGlobalVariable=function(a){return"page"==a&&null!=t&&null!=t[q]?t[q].getAttribute("name"):"pagenumber"==a?q+1:w.apply(this,arguments)};h.getLinkForCell=function(){return null};d=mxUtils.button("",function(){h.zoomIn()});d.className=
+"geSprite geSprite-zoomin";d.setAttribute("title",mxResources.get("zoomIn"));d.style.outline="none";d.style.border="none";d.style.margin="2px";mxUtils.setOpacity(d,60);f=mxUtils.button("",function(){h.zoomOut()});f.className="geSprite geSprite-zoomout";f.setAttribute("title",mxResources.get("zoomOut"));f.style.outline="none";f.style.border="none";f.style.margin="2px";mxUtils.setOpacity(f,60);a=mxUtils.button("",function(){h.maxFitScale=8;h.fit(8);h.center()});a.className="geSprite geSprite-fit";a.setAttribute("title",
+mxResources.get("fit"));a.style.outline="none";a.style.border="none";a.style.margin="2px";mxUtils.setOpacity(a,60);var y=mxUtils.button("",function(){h.zoomActual();h.center()});y.className="geSprite geSprite-actualsize";y.setAttribute("title",mxResources.get("actualSize"));y.style.outline="none";y.style.border="none";y.style.margin="2px";mxUtils.setOpacity(y,60);g=mxUtils.button(l||mxResources.get("discard"),g);g.className="geBtn";var x=document.createElement("select");x.style.maxWidth="80px";x.style.position=
+"relative";x.style.top="-2px";x.style.verticalAlign="bottom";x.style.marginRight="6px";x.style.display="none";c=mxUtils.button(k||mxResources.get("edit"),c);c.className="geBtn gePrimaryBtn";k=document.createElement("div");k.style.position="absolute";k.style.bottom="30px";k.style.width="640px";k.style.textAlign="right";l=document.createElement("div");l.className="geToolbarContainer";l.style.cssText="box-shadow:none !important;background-color:transparent;padding:2px;border-style:none !important;bottom:30px;";
+this.init=function(){function a(a){if(null!=a){var b=a.getAttribute("background");if(null==b||""==b||b==mxConstants.NONE)b="#ffffff";e.style.backgroundColor=b;(new mxCodec(a.ownerDocument)).decode(a,h.getModel());h.maxFitScale=1;h.fit(8);h.center()}}function c(e){null!=e&&(e=a(mxUtils.parseXml(b.editor.graph.decompress(mxUtils.getTextContent(e))).documentElement));return e}mxEvent.addListener(x,"change",function(a){q=parseInt(x.value);c(t[q]);mxEvent.consume(a)});if("mxfile"==u.nodeName){var f=u.getElementsByTagName("diagram");
+t=[];for(var d=0;d<f.length;d++)t.push(f[d]);0<t.length&&c(t[q]);if(1<t.length)for(x.style.display="",d=0;d<t.length;d++)f=document.createElement("option"),mxUtils.write(f,t[d].getAttribute("name")||mxResources.get("pageWithNumber",[d+1])),f.setAttribute("value",d),d==q&&f.setAttribute("selected","selected"),x.appendChild(f)}else a(u)};l.appendChild(x);l.appendChild(d);l.appendChild(f);l.appendChild(y);l.appendChild(a);d=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog(!0)});d.className=
+"geBtn";n=null!=n?mxUtils.button(mxResources.get("ignore"),n):null;null!=n&&(n.className="geBtn");b.editor.cancelFirst?(k.appendChild(d),null!=n&&k.appendChild(n),k.appendChild(g),k.appendChild(c)):(k.appendChild(c),k.appendChild(g),null!=n&&k.appendChild(n),k.appendChild(d));p.appendChild(k);p.appendChild(l);this.container=p},FindWindow=function(b,d,f,c,g){function k(a,b,e){if("object"===typeof b.value&&null!=b.value.attributes){b=b.value.attributes;for(var c=0;c<b.length;c++)if("label"!=b[c].nodeName){var m=
+mxUtils.trim(b[c].nodeValue.replace(/[\x00-\x1F\x7F-\x9F]|\s+/g," ")).toLowerCase();if(null==a&&m.substring(0,e.length)===e||null!=a&&a.test(m))return!0}}return!1}function l(){var b=p.model.getDescendants(p.model.getRoot()),c=u.value.toLowerCase(),m=q.checked?new RegExp(c):null,h=null;a!=c&&(a=c,e=null);var f=null==e;if(0<c.length)for(var d=0;d<b.length;d++){var g=p.view.getState(b[d]);if(null!=g&&null!=g.cell.value&&(f||null==h)&&(p.model.isVertex(g.cell)||p.model.isEdge(g.cell))&&(p.isHtmlLabel(g.cell)?
+(t.innerHTML=p.getLabel(g.cell),label=mxUtils.extractTextWithWhitespace([t])):label=p.getLabel(g.cell),label=mxUtils.trim(label.replace(/[\x00-\x1F\x7F-\x9F]|\s+/g," ")).toLowerCase(),null==m&&(label.substring(0,c.length)===c||k(m,g.cell,c))||null!=m&&(m.test(label)||k(m,g.cell,c))))if(f){h=g;break}else null==h&&(h=g);f=f||g==e}null!=h?(e=h,p.scrollCellToVisible(e.cell),p.isEnabled()?p.setSelectionCell(e.cell):p.highlightCell(e.cell)):p.isEnabled()&&p.clearSelection();return 0==c.length||null!=h}
+var n=b.actions.get("find"),p=b.editor.graph,a=null,e=null,h=document.createElement("div");h.style.userSelect="none";h.style.overflow="hidden";h.style.padding="10px";h.style.height="100%";var u=document.createElement("input");u.setAttribute("placeholder",mxResources.get("find"));u.setAttribute("type","text");u.style.marginTop="4px";u.style.marginBottom="6px";u.style.width="200px";u.style.fontSize="12px";u.style.borderRadius="4px";u.style.padding="6px";h.appendChild(u);mxUtils.br(h);var q=document.createElement("input");
+q.setAttribute("type","checkbox");q.style.marginRight="4px";h.appendChild(q);mxUtils.write(h,mxResources.get("regularExpression"));var t=document.createElement("div");mxUtils.br(h);var w=mxUtils.button(mxResources.get("reset"),function(){u.value="";u.style.backgroundColor="";a=e=null;u.focus()});w.setAttribute("title",mxResources.get("reset"));w.style.marginTop="6px";w.style.marginRight="4px";w.className="geBtn";h.appendChild(w);w=mxUtils.button(mxResources.get("find"),function(){try{u.style.backgroundColor=
+l()?"":"#ffcfcf"}catch(y){b.handleError(y)}});w.setAttribute("title",mxResources.get("find")+" (Enter)");w.style.marginTop="6px";w.className="geBtn gePrimaryBtn";h.appendChild(w);mxEvent.addListener(u,"keyup",function(b){if(91==b.keyCode||17==b.keyCode)mxEvent.consume(b);else if(27==b.keyCode)n.funct();else if(a!=u.value.toLowerCase()||13==b.keyCode)try{u.style.backgroundColor=l()?"":"#ffcfcf"}catch(x){u.style.backgroundColor="#ffcfcf"}});mxEvent.addListener(h,"keydown",function(a){70==a.keyCode&&
+b.keyHandler.isControlDown(a)&&!mxEvent.isShiftDown(a)&&(n.funct(),mxEvent.consume(a))});this.window=new mxWindow(mxResources.get("find"),h,d,f,c,g,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!1);this.window.setClosable(!0);this.window.addListener("show",mxUtils.bind(this,function(){this.window.isVisible()?(u.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?u.select():document.execCommand("selectAll",!1,null)):p.container.focus()}))},
+TagsWindow=function(b,d,f,c,g){function k(a){a=null!=a?a:n.model.getDescendants(n.model.getRoot());for(var b=e.value.split(" "),c=[],h=0;h<a.length;h++)if(n.model.isVertex(a[h])||n.model.isEdge(a[h])){var f=null!=a[h].value&&"object"==typeof a[h].value?mxUtils.trim(a[h].value.getAttribute(p)||""):"",m=!0;if(0<f.length)for(var f=f.toLowerCase().split(" "),v=0;v<b.length&&m;v++)var d=mxUtils.trim(b[v]).toLowerCase(),m=m&&(0==d.length||0<=mxUtils.indexOf(f,d));else m=0==mxUtils.trim(e.value).length;
+m&&c.push(a[h])}return c}function l(a,b){n.model.beginUpdate();try{for(var e=0;e<a.length;e++)n.model.setVisible(a[e],b)}finally{n.model.endUpdate()}}var n=b.editor.graph,p="tags",a=document.createElement("div");a.style.userSelect="none";a.style.overflow="hidden";a.style.padding="10px";a.style.height="100%";var e=document.createElement("input");e.setAttribute("placeholder",mxResources.get("allTags"));e.setAttribute("type","text");e.style.marginTop="4px";e.style.width="260px";e.style.fontSize="12px";
+e.style.borderRadius="4px";e.style.padding="6px";a.appendChild(e);if(!b.isOffline()||mxClient.IS_CHROMEAPP){e.style.width="240px";var h=b.menus.createHelpLink("https://desk.draw.io/support/solutions/articles/16000046966");h.firstChild.style.marginBottom="6px";h.style.marginLeft="6px";a.appendChild(h)}mxEvent.addListener(e,"dblclick",function(){var a=new FilenameDialog(b,p,mxResources.get("ok"),mxUtils.bind(this,function(a){null!=a&&0<a.length&&(p=a)}),mxResources.get("enterPropertyName"));b.showDialog(a.container,
+300,80,!0,!0);a.init()});e.setAttribute("title",mxResources.get("doubleClickChangeProperty"));mxUtils.br(a);h=mxUtils.button(mxResources.get("hide"),function(){l(k(),!1)});h.setAttribute("title",mxResources.get("hide"));h.style.marginTop="8px";h.style.marginRight="4px";h.className="geBtn";a.appendChild(h);h=mxUtils.button(mxResources.get("show"),function(){var a=k();l(a,!0);n.isEnabled()&&n.setSelectionCells(a)});h.setAttribute("title",mxResources.get("show"));h.style.marginTop="8px";h.style.marginRight=
+"4px";h.className="geBtn";a.appendChild(h);var u=b.actions.get("tags"),h=mxUtils.button(mxResources.get("close"),function(){u.funct()});h.setAttribute("title",mxResources.get("close")+" (Enter/Esc)");h.style.marginTop="8px";h.className="geBtn gePrimaryBtn";a.appendChild(h);mxEvent.addListener(e,"keyup",function(a){13!=a.keyCode&&27!=a.keyCode||u.funct()});this.window=new mxWindow(mxResources.get("tags"),a,d,f,c,g,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!1);
+this.window.setClosable(!0);this.window.addListener("show",mxUtils.bind(this,function(){this.window.isVisible()?(e.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?e.select():document.execCommand("selectAll",!1,null)):n.container.focus()}))},AuthDialog=function(b,d,f,c){var g=document.createElement("div");g.style.textAlign="center";var k=document.createElement("p");k.style.fontSize="16pt";k.style.padding="0px";k.style.margin="0px";k.style.color="gray";mxUtils.write(k,
+mxResources.get("authorizationRequired"));var l="Unknown",n=document.createElement("img");n.setAttribute("border","0");n.setAttribute("align","absmiddle");n.style.marginRight="10px";d==b.drive?(l=mxResources.get("googleDrive"),n.src=IMAGE_PATH+"/google-drive-logo-white.svg"):d==b.dropbox?(l=mxResources.get("dropbox"),n.src=IMAGE_PATH+"/dropbox-logo-white.svg"):d==b.oneDrive?(l=mxResources.get("oneDrive"),n.src=IMAGE_PATH+"/onedrive-logo-white.svg"):d==b.gitHub?(l=mxResources.get("github"),n.src=IMAGE_PATH+
+"/github-logo-white.svg"):d==b.trello&&(l=mxResources.get("trello"),n.src=IMAGE_PATH+"/trello-logo-white.svg");b=document.createElement("p");mxUtils.write(b,mxResources.get("authorizeThisAppIn",[l]));var p=document.createElement("input");p.setAttribute("type","checkbox");l=mxUtils.button(mxResources.get("authorize"),function(){c(p.checked)});l.insertBefore(n,l.firstChild);l.style.marginTop="6px";l.className="geBigButton";g.appendChild(k);g.appendChild(b);g.appendChild(l);f&&(f=document.createElement("p"),
+f.style.marginTop="20px",f.appendChild(p),k=document.createElement("span"),mxUtils.write(k," "+mxResources.get("rememberMe")),f.appendChild(k),g.appendChild(f),p.checked=!0,p.defaultChecked=!0,mxEvent.addListener(k,"click",function(a){p.checked=!p.checked;mxEvent.consume(a)}));this.container=g},MoreShapesDialog=function(b,d,f){f=null!=f?f:b.sidebar.entries;var c=document.createElement("div");if(d){d=document.createElement("div");d.className="geDialogTitle";mxUtils.write(d,mxResources.get("shapes"));
+d.style.position="absolute";d.style.top="0px";d.style.left="0px";d.style.lineHeight="40px";d.style.height="40px";d.style.right="0px";mxClient.IS_QUIRKS&&(d.style.width="718px");var g=document.createElement("div"),k=document.createElement("div");g.style.position="absolute";g.style.top="40px";g.style.left="0px";g.style.width="202px";g.style.bottom="60px";g.style.overflow="auto";mxClient.IS_QUIRKS&&(g.style.height="437px",g.style.marginTop="1px");k.style.position="absolute";k.style.left="202px";k.style.right=
+"0px";k.style.top="40px";k.style.bottom="60px";k.style.overflow="auto";k.style.borderLeft="1px solid rgb(211, 211, 211)";k.style.textAlign="center";mxClient.IS_QUIRKS&&(k.style.width=parseInt(d.style.width)-202+"px",k.style.height=g.style.height,k.style.marginTop=g.style.marginTop);var l=null,n=[],p=document.createElement("div");p.style.position="relative";p.style.left="0px";p.style.right="0px";for(var a=0;a<f.length;a++)(function(e){var c=p.cloneNode(!1);c.style.fontWeight="bold";c.style.backgroundColor=
+"dark"==uiTheme?"#505759":"#e5e5e5";c.style.padding="6px 0px 6px 20px";mxUtils.write(c,e.title);g.appendChild(c);for(var m=0;m<e.entries.length;m++)(function(e){var c=p.cloneNode(!1);c.style.cursor="pointer";c.style.padding="4px 0px 4px 20px";var h=document.createElement("input");h.setAttribute("type","checkbox");h.checked=b.sidebar.isEntryVisible(e.id);h.defaultChecked=h.checked;c.appendChild(h);mxUtils.write(c," "+e.title);g.appendChild(c);var f=function(a){if(null==a||"INPUT"!=mxEvent.getSource(a).nodeName)null!=
+e.imageCallback?e.imageCallback(k):null!=e.image?k.innerHTML='<img border="0" src="'+e.image+'"/>':(k.innerHTML="<br>",mxUtils.write(k,mxResources.get("noPreview"))),null!=l&&(l.style.backgroundColor=""),l=c,l.style.backgroundColor="dark"==uiTheme?"#505759":"#ebf2f9",null!=a&&mxEvent.consume(a)};mxEvent.addListener(c,"click",f);mxEvent.addListener(c,"dblclick",function(a){h.checked=!h.checked;mxEvent.consume(a)});n.push(function(){return h.checked?e.id:null});0==a&&0==m&&f()})(e.entries[m])})(f[a]);
+c.style.padding="30px";c.appendChild(d);c.appendChild(g);c.appendChild(k);f=document.createElement("div");f.className="geDialogFooter";f.style.position="absolute";f.style.paddingRight="16px";f.style.color="gray";f.style.left="0px";f.style.right="0px";f.style.bottom="0px";f.style.height="60px";f.style.lineHeight="52px";mxClient.IS_QUIRKS&&(f.style.width=d.style.width,f.style.paddingTop="12px");var e=document.createElement("input");e.setAttribute("type","checkbox");if(isLocalStorage||mxClient.IS_CHROMEAPP)d=
+document.createElement("span"),d.style.paddingRight="20px",d.appendChild(e),mxUtils.write(d," "+mxResources.get("rememberThisSetting")),e.checked=!0,e.defaultChecked=!0,mxEvent.addListener(d,"click",function(a){mxEvent.getSource(a)!=e&&(e.checked=!e.checked,mxEvent.consume(a))}),mxClient.IS_QUIRKS&&(d.style.position="relative",d.style.top="-6px"),f.appendChild(d);d=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog()});d.className="geBtn";var h=mxUtils.button(mxResources.get("apply"),
+function(){b.hideDialog();for(var a=[],c=0;c<n.length;c++){var m=n[c].apply(this,arguments);null!=m&&a.push(m)}b.sidebar.showEntries(a.join(";"),e.checked,!0)});h.className="geBtn gePrimaryBtn"}else{var u=document.createElement("table"),q=document.createElement("tbody");c.style.height="100%";c.style.overflow="auto";var t=document.createElement("tr");u.style.width="100%";d=document.createElement("td");var h=document.createElement("td"),w=document.createElement("td"),y=mxUtils.bind(this,function(a,
+e,c){var m=document.createElement("input");m.type="checkbox";u.appendChild(m);m.checked=b.sidebar.isEntryVisible(c);var h=document.createElement("span");mxUtils.write(h,e);e=document.createElement("div");e.style.display="block";e.appendChild(m);e.appendChild(h);mxEvent.addListener(h,"click",function(a){m.checked=!m.checked;mxEvent.consume(a)});a.appendChild(e);return function(){return m.checked?c:null}});t.appendChild(d);t.appendChild(h);t.appendChild(w);q.appendChild(t);u.appendChild(q);for(var n=
+[],x=0,a=0;a<f.length;a++)for(q=0;q<f[a].entries.length;q++)x++;for(var m=[d,h,w],v=0,a=0;a<f.length;a++)(function(a){for(var b=0;b<a.entries.length;b++){var e=a.entries[b];n.push(y(m[Math.floor(v/(x/3))],e.title,e.id));v++}})(f[a]);c.appendChild(u);f=document.createElement("div");f.style.marginTop="18px";f.style.textAlign="center";e=document.createElement("input");isLocalStorage&&(e.setAttribute("type","checkbox"),e.checked=!0,e.defaultChecked=!0,f.appendChild(e),d=document.createElement("span"),
+mxUtils.write(d," "+mxResources.get("rememberThisSetting")),f.appendChild(d),mxEvent.addListener(d,"click",function(a){e.checked=!e.checked;mxEvent.consume(a)}));c.appendChild(f);d=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog()});d.className="geBtn";h=mxUtils.button(mxResources.get("apply"),function(){for(var a=["search"],c=0;c<n.length;c++){var m=n[c].apply(this,arguments);null!=m&&a.push(m)}b.sidebar.showEntries(0<a.length?a.join(";"):"",e.checked);b.hideDialog()});h.className=
+"geBtn gePrimaryBtn";f=document.createElement("div");f.style.marginTop="26px";f.style.textAlign="right"}b.editor.cancelFirst?(f.appendChild(d),f.appendChild(h)):(f.appendChild(h),f.appendChild(d));c.appendChild(f);this.container=c},PluginsDialog=function(b){function d(){if(0==g.length)c.innerHTML=mxResources.get("noPlugins");else{c.innerHTML="";for(var a=0;a<g.length;a++){var h=document.createElement("span");h.style.whiteSpace="nowrap";var f=document.createElement("span");f.className="geSprite geSprite-delete";
+f.style.position="relative";f.style.cursor="pointer";f.style.top="5px";f.style.marginRight="4px";f.style.display="inline-block";h.appendChild(f);mxUtils.write(h,g[a]);c.appendChild(h);mxUtils.br(c);mxEvent.addListener(f,"click",function(a){return function(){b.confirm(window.parent.mxResources.get("delete")+' "'+g[a]+'"?',function(){g.splice(a,1);d()})}}(a))}}}var f=document.createElement("div"),c=document.createElement("div");c.style.height="120px";c.style.overflow="auto";var g=mxSettings.getPlugins().slice();
+f.appendChild(c);d();var k=mxUtils.button(mxResources.get("add"),function(){var a="",c=urlParams.p;if(null!=c&&0<c.length){for(var f=c.split(";"),c=0;c<f.length;c++){var q=App.pluginRegistry[f[c]];null!=q&&(a+=q+";")}";"==a.charAt(a.length-1)&&(a=a.substring(0,a.length-1))}a=new FilenameDialog(b,a,mxResources.get("add"),function(a){if(null!=a&&0<a.length){f=a.split(";");for(a=0;a<f.length;a++){var b=f[a],c=App.pluginRegistry[b];null!=c&&(b=c);0<b.length&&0>mxUtils.indexOf(g,b)&&g.push(b)}d()}},mxResources.get("enterValue")+
+" ("+mxResources.get("url")+")");b.showDialog(a.container,300,80,!0,!0);a.init()});k.className="geBtn";var l=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog()});l.className="geBtn";var n=mxUtils.button(mxResources.get("apply"),function(){mxSettings.setPlugins(g);mxSettings.save();b.hideDialog();b.alert(mxResources.get("restartForChangeRequired"))});n.className="geBtn gePrimaryBtn";var p=mxUtils.button(mxResources.get("help"),function(){b.openLink("https://desk.draw.io/support/solutions/articles/16000056430")});
+p.className="geBtn";b.isOffline()&&!mxClient.IS_CHROMEAPP&&(p.style.display="none");var a=document.createElement("div");a.style.marginTop="14px";a.style.textAlign="right";b.editor.cancelFirst?(a.appendChild(l),a.appendChild(p),a.appendChild(k),a.appendChild(n)):(a.appendChild(p),a.appendChild(k),a.appendChild(n),a.appendChild(l));f.appendChild(a);this.container=f},CropImageDialog=function(b,d,f){var c=document.createElement("div"),g=document.createElement("table"),k=document.createElement("tbody"),
+l=document.createElement("tr"),n=document.createElement("td");n.style.whiteSpace="nowrap";n.setAttribute("colspan","2");mxUtils.write(n,mxResources.get("loading")+"...");l.appendChild(n);k.appendChild(l);var l=document.createElement("tr"),p=document.createElement("td"),a=document.createElement("td");g.style.paddingLeft="6px";mxUtils.write(p,mxResources.get("left")+":");var e=document.createElement("input");e.setAttribute("type","text");e.style.width="100px";e.value="0";this.init=function(){e.focus();
+e.select()};a.appendChild(e);l.appendChild(p);l.appendChild(a);k.appendChild(l);l=document.createElement("tr");p=document.createElement("td");a=document.createElement("td");mxUtils.write(p,mxResources.get("top")+":");var h=document.createElement("input");h.setAttribute("type","text");h.style.width="100px";h.value="0";a.appendChild(h);l.appendChild(p);l.appendChild(a);k.appendChild(l);l=document.createElement("tr");p=document.createElement("td");a=document.createElement("td");mxUtils.write(p,mxResources.get("right")+
+":");var u=document.createElement("input");u.setAttribute("type","text");u.style.width="100px";u.value="0";a.appendChild(u);l.appendChild(p);l.appendChild(a);k.appendChild(l);l=document.createElement("tr");p=document.createElement("td");a=document.createElement("td");mxUtils.write(p,mxResources.get("bottom")+":");var q=document.createElement("input");q.setAttribute("type","text");q.style.width="100px";q.value="0";a.appendChild(q);l.appendChild(p);l.appendChild(a);k.appendChild(l);l=document.createElement("tr");
+p=document.createElement("td");a=document.createElement("td");mxUtils.write(p,mxResources.get("circle")+":");l.appendChild(p);var t=document.createElement("input");t.setAttribute("type","checkbox");a.appendChild(t);l.appendChild(a);k.appendChild(l);g.appendChild(k);c.appendChild(g);var g=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog()}),w=new Image,y=mxUtils.button(mxResources.get("apply"),function(){b.hideDialog();var a=document.createElement("canvas"),c=a.getContext("2d"),v=w.width,
+d=w.height,g=parseInt(e.value),y=parseInt(h.value),v=Math.max(1,v-g-parseInt(u.value)),d=Math.max(1,d-y-parseInt(q.value));a.width=v;a.height=d;t.checked&&(c.fillStyle="#000000",c.arc(v/2,d/2,Math.min(v/2,d/2),0,2*Math.PI),c.fill(),c.globalCompositeOperation="source-in");c.drawImage(w,g,y,v,d,0,0,v,d);f(a.toDataURL())});y.setAttribute("disabled","disabled");w.onload=function(){y.removeAttribute("disabled");n.innerHTML="";mxUtils.write(n,mxResources.get("width")+": "+w.width+" "+mxResources.get("height")+
+": "+w.height)};w.src=d;mxEvent.addListener(c,"keypress",function(a){13==a.keyCode&&y.click()});d=document.createElement("div");d.style.marginTop="20px";d.style.textAlign="right";b.editor.cancelFirst?(d.appendChild(g),d.appendChild(y)):(d.appendChild(y),d.appendChild(g));c.appendChild(d);this.container=c},EditGeometryDialog=function(b,d){var f=b.editor.graph,c=1==d.length?f.getCellGeometry(d[0]):null,g=document.createElement("div"),k=document.createElement("table"),l=document.createElement("tbody"),
+n=document.createElement("tr"),p=document.createElement("td"),a=document.createElement("td");k.style.paddingLeft="6px";mxUtils.write(p,mxResources.get("left")+":");var e=document.createElement("input");e.setAttribute("type","text");e.style.width="100px";e.value=null!=c?c.x:"";this.init=function(){e.focus();e.select()};a.appendChild(e);n.appendChild(p);n.appendChild(a);l.appendChild(n);n=document.createElement("tr");p=document.createElement("td");a=document.createElement("td");mxUtils.write(p,mxResources.get("top")+
+":");var h=document.createElement("input");h.setAttribute("type","text");h.style.width="100px";h.value=null!=c?c.y:"";a.appendChild(h);n.appendChild(p);n.appendChild(a);l.appendChild(n);n=document.createElement("tr");p=document.createElement("td");a=document.createElement("td");mxUtils.write(p,mxResources.get("width")+":");var u=document.createElement("input");u.setAttribute("type","text");u.style.width="100px";u.value=null!=c?c.width:"";a.appendChild(u);n.appendChild(p);n.appendChild(a);l.appendChild(n);
+n=document.createElement("tr");p=document.createElement("td");a=document.createElement("td");mxUtils.write(p,mxResources.get("height")+":");var q=document.createElement("input");q.setAttribute("type","text");q.style.width="100px";q.value=null!=c?c.height:"";a.appendChild(q);n.appendChild(p);n.appendChild(a);l.appendChild(n);n=document.createElement("tr");p=document.createElement("td");a=document.createElement("td");mxUtils.write(p,mxResources.get("rotation")+":");var t=document.createElement("input");
+t.setAttribute("type","text");t.style.width="100px";t.value=1==d.length?mxUtils.getValue(f.getCellStyle(d[0]),mxConstants.STYLE_ROTATION,0):"";a.appendChild(t);n.appendChild(p);n.appendChild(a);l.appendChild(n);k.appendChild(l);g.appendChild(k);var c=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog()}),w=mxUtils.button(mxResources.get("apply"),function(){b.hideDialog();f.getModel().beginUpdate();try{for(var a=0;a<d.length;a++){var c=f.getCellGeometry(d[a]);null!=c&&(c=c.clone(),f.isCellMovable(d[a])&&
+(0<mxUtils.trim(e.value).length&&(c.x=Number(e.value)),0<mxUtils.trim(h.value).length&&(c.y=Number(h.value))),f.isCellResizable(d[a])&&(0<mxUtils.trim(u.value).length&&(c.width=Number(u.value)),0<mxUtils.trim(q.value).length&&(c.height=Number(q.value))),f.getModel().setGeometry(d[a],c));0<mxUtils.trim(t.value).length&&f.setCellStyles(mxConstants.STYLE_ROTATION,Number(t.value),[d[a]])}}finally{f.getModel().endUpdate()}});mxEvent.addListener(g,"keypress",function(a){13==a.keyCode&&w.click()});k=document.createElement("div");
+k.style.marginTop="20px";k.style.textAlign="right";b.editor.cancelFirst?(k.appendChild(c),k.appendChild(w)):(k.appendChild(w),k.appendChild(c));g.appendChild(k);this.container=g},LibraryDialog=function(b,d,f,c,g,k){function l(a){for(a=document.elementFromPoint(a.clientX,a.clientY);null!=a&&a.parentNode!=q;)a=a.parentNode;var b=null;if(null!=a)for(var c=q.firstChild,b=0;null!=c&&c!=a;)c=c.nextSibling,b++;return b}function n(a,c,h,f,d,g,u,x,k){try{if(null==c||"image/"==c.substring(0,6))if(null==a&&
+null!=u||null==w[a]){var C=function(){G.innerHTML="";G.style.cursor="pointer";G.style.whiteSpace="nowrap";G.style.textOverflow="ellipsis";mxUtils.write(G,null!=B.title&&0<B.title.length?B.title:mxResources.get("untitled"));G.style.color=null==B.title||0==B.title.length?"#d0d0d0":""};q.style.backgroundImage="";t.style.display="none";var D=d,z=g;if(d>b.maxImageSize||g>b.maxImageSize){var J=Math.min(1,Math.min(b.maxImageSize/Math.max(1,d)),b.maxImageSize/Math.max(1,g));d*=J;g*=J}D>z?(z=Math.round(100*
+z/D),D=100):(D=Math.round(100*D/z),z=100);var p=document.createElement("div");p.setAttribute("draggable","true");p.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";p.style.position="relative";p.style.cursor="move";mxUtils.setPrefixedStyle(p.style,"transition","transform .1s ease-in-out");if(null!=a){var A=document.createElement("img");A.setAttribute("src",v.convert(a));A.style.width=D+"px";A.style.height=z+"px";A.style.margin="10px";A.style.paddingBottom=Math.floor((100-z)/2)+"px";A.style.paddingLeft=
+Math.floor((100-D)/2)+"px";p.appendChild(A)}else if(null!=u){var E=b.stringToCells(b.editor.graph.decompress(u.xml));0<E.length&&(b.sidebar.createThumb(E,100,100,p,null,!0,!1),p.firstChild.style.display=mxClient.IS_QUIRKS?"inline":"inline-block",p.firstChild.style.cursor="")}var L=document.createElement("img");L.setAttribute("src",Editor.closeImage);L.setAttribute("border","0");L.setAttribute("title",mxResources.get("delete"));L.setAttribute("align","top");L.style.paddingTop="4px";L.style.position=
+"absolute";L.style.marginLeft="-12px";L.style.zIndex="1";L.style.cursor="pointer";mxEvent.addListener(L,"dragstart",function(a){mxEvent.consume(a)});(function(a,b,c){mxEvent.addListener(L,"click",function(m){w[b]=null;for(var h=0;h<e.length;h++)if(null!=e[h].data&&e[h].data==b||null!=e[h].xml&&null!=c&&e[h].xml==c.xml){e.splice(h,1);break}p.parentNode.removeChild(a);0==e.length&&(q.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')",t.style.display="");mxEvent.consume(m)});mxEvent.addListener(L,
+"dblclick",function(a){mxEvent.consume(a)})})(p,a,u);p.appendChild(L);p.style.marginBottom="30px";var G=document.createElement("div");G.style.position="absolute";G.style.boxSizing="border-box";G.style.bottom="-18px";G.style.left="10px";G.style.right="10px";G.style.backgroundColor="#ffffff";G.style.overflow="hidden";G.style.textAlign="center";var B=null;null!=a?(B={data:a,w:d,h:g,title:k},null!=x&&(B.aspect=x),w[a]=A,e.push(B)):null!=u&&(u.aspect="fixed",e.push(u),B=u);mxEvent.addListener(G,"keydown",
+function(a){13==a.keyCode&&null!=m&&(m(),m=null,mxEvent.consume(a))});C();p.appendChild(G);mxEvent.addListener(G,"mousedown",function(a){"true"!=G.getAttribute("contentEditable")&&mxEvent.consume(a)});E=function(a){if(mxClient.IS_IOS||mxClient.IS_QUIRKS||mxClient.IS_FF||!(null==document.documentMode||9<document.documentMode)){var c=new FilenameDialog(b,B.title||"",mxResources.get("ok"),function(a){null!=a&&(B.title=a,C())},mxResources.get("enterValue"));b.showDialog(c.container,300,80,!0,!0);c.init();
+mxEvent.consume(a)}else if("true"!=G.getAttribute("contentEditable")){null!=m&&(m(),m=null);if(null==B.title||0==B.title.length)G.innerHTML="";G.style.textOverflow="";G.style.whiteSpace="";G.style.cursor="text";G.style.color="";G.setAttribute("contentEditable","true");G.focus();document.execCommand("selectAll",!1,null);m=function(){G.removeAttribute("contentEditable");G.style.cursor="pointer";B.title=G.innerHTML;C()};mxEvent.consume(a)}};mxEvent.addListener(G,"click",E);mxEvent.addListener(p,"dblclick",
+E);q.appendChild(p);mxEvent.addListener(p,"dragstart",function(b){null==a&&null!=u&&(L.style.visibility="hidden",G.style.visibility="hidden");mxClient.IS_FF&&null!=u.xml&&b.dataTransfer.setData("Text",u.xml);y=l(b);mxClient.IS_GC&&(p.style.opacity="0.9");window.setTimeout(function(){mxUtils.setPrefixedStyle(p.style,"transform","scale(0.5,0.5)");mxUtils.setOpacity(p,30);L.style.visibility="";G.style.visibility=""},0)});mxEvent.addListener(p,"dragend",function(a){"hidden"==L.style.visibility&&(L.style.visibility=
+"",G.style.visibility="");y=null;mxUtils.setOpacity(p,100);mxUtils.setPrefixedStyle(p.style,"transform",null)})}else F||(F=!0,b.handleError({message:mxResources.get("fileExists")}));else{d=!1;try{if(b.spinner.stop(),D=mxUtils.parseXml(a),"mxlibrary"==D.documentElement.nodeName){z=JSON.parse(mxUtils.getTextContent(D.documentElement));if(null!=z&&0<z.length)for(var I=0;I<z.length;I++)null!=z[I].xml?n(null,null,0,0,0,0,z[I]):n(z[I].data,null,0,0,z[I].w,z[I].h,null,"fixed",z[I].title);d=!0}else if("mxfile"==
+D.documentElement.nodeName){for(var M=D.documentElement.getElementsByTagName("diagram"),I=0;I<M.length;I++){var z=mxUtils.getTextContent(M[I]),E=b.stringToCells(b.editor.graph.decompress(z)),P=b.editor.graph.getBoundingBoxFromGeometry(E);n(null,null,0,0,0,0,{xml:z,w:P.width,h:P.height})}d=!0}}catch(ba){}d||(b.spinner.stop(),b.handleError({message:mxResources.get("errorLoadingFile")}))}}catch(ba){}return null}function p(a){a.dataTransfer.dropEffect=null!=y?"move":"copy";a.stopPropagation();a.preventDefault()}
+function a(a){a.stopPropagation();a.preventDefault();F=!1;x=l(a);if(null!=y)null!=x&&x<q.children.length?(e.splice(x>y?x-1:x,0,e.splice(y,1)[0]),q.insertBefore(q.children[y],q.children[x])):(e.push(e.splice(y,1)[0]),q.appendChild(q.children[y]));else if(0<a.dataTransfer.files.length)b.importFiles(a.dataTransfer.files,0,0,b.maxImageSize,D(a));else if(0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")){var c=decodeURIComponent(a.dataTransfer.getData("text/uri-list"));(/(\.jpg)($|\?)/i.test(c)||
+/(\.png)($|\?)/i.test(c)||/(\.gif)($|\?)/i.test(c)||/(\.svg)($|\?)/i.test(c))&&b.loadImage(c,function(a){n(c,null,0,0,a.width,a.height);q.scrollTop=q.scrollHeight})}a.stopPropagation();a.preventDefault()}var e=[];f=document.createElement("div");f.style.height="100%";var h=document.createElement("div");h.style.whiteSpace="nowrap";h.style.height="40px";f.appendChild(h);mxUtils.write(h,mxResources.get("filename")+":");null==d&&(d=b.defaultLibraryName+".xml");var u=document.createElement("input");u.setAttribute("value",
+d);u.style.marginRight="20px";u.style.marginLeft="10px";u.style.width="500px";null==g||g.isRenamable()||u.setAttribute("disabled","true");this.init=function(){if(null==g||g.isRenamable())u.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?u.select():document.execCommand("selectAll",!1,null)};h.appendChild(u);var q=document.createElement("div");q.style.borderWidth="1px 0px 1px 0px";q.style.borderColor="#d3d3d3";q.style.borderStyle="solid";q.style.marginTop="6px";
+q.style.overflow="auto";q.style.height="340px";q.style.backgroundPosition="center center";q.style.backgroundRepeat="no-repeat";0==e.length&&Graph.fileSupport&&(q.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')");var t=document.createElement("div");t.style.position="absolute";t.style.width="640px";t.style.top="260px";t.style.textAlign="center";t.style.fontSize="22px";t.style.color="#a0c3ff";mxUtils.write(t,mxResources.get("dragImagesHere"));f.appendChild(t);var w={},y=null,x=null,m=null;
+d=function(a){"true"!=mxEvent.getSource(a).getAttribute("contentEditable")&&null!=m&&(m(),m=null,mxEvent.consume(a))};mxEvent.addListener(q,"mousedown",d);mxEvent.addListener(q,"pointerdown",d);mxEvent.addListener(q,"touchstart",d);var v=new mxUrlConverter,F=!1;if(null!=c)for(d=0;d<c.length;d++)h=c[d],n(h.data,null,0,0,h.w,h.h,h,h.aspect,h.title);mxEvent.addListener(q,"dragleave",function(a){t.style.cursor="";for(var b=mxEvent.getSource(a);null!=b;){if(b==q||b==t){a.stopPropagation();a.preventDefault();
+break}b=b.parentNode}});var D=function(a){return function(c,e,m,h,f,d,v,g,u){null!=u&&(/(\.vsdx)($|\?)/i.test(u.name)||/(\.vssx)($|\?)/i.test(u.name))?b.importVisio(u,mxUtils.bind(this,function(c){b.spinner.stop();n(c,e,m,h,f,d,v,"fixed",mxEvent.isAltDown(a)?null:v.substring(0,v.lastIndexOf(".")).replace(/_/g," "))})):null!=u&&!b.isOffline()&&(new XMLHttpRequest).upload&&b.isRemoteFileFormat(c,u.name)?b.parseFile(u,mxUtils.bind(this,function(c){4==c.readyState&&(b.spinner.stop(),200<=c.status&&299>=
+c.status&&(n(c.responseText,e,m,h,f,d,v,"fixed",mxEvent.isAltDown(a)?null:v.substring(0,v.lastIndexOf(".")).replace(/_/g," ")),q.scrollTop=q.scrollHeight))})):(n(c,e,m,h,f,d,v,"fixed",mxEvent.isAltDown(a)?null:v.substring(0,v.lastIndexOf(".")).replace(/_/g," ")),q.scrollTop=q.scrollHeight)}};mxEvent.addListener(q,"dragover",p);mxEvent.addListener(q,"drop",a);mxEvent.addListener(t,"dragover",p);mxEvent.addListener(t,"drop",a);f.appendChild(q);c=document.createElement("div");c.style.textAlign="right";
+c.style.marginTop="20px";d=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog(!0)});d.setAttribute("id","btnCancel");d.className="geBtn";b.editor.cancelFirst&&c.appendChild(d);h=mxUtils.button(mxResources.get("export"),function(){var a=b.createLibraryDataFromImages(e),c=u.value;/(\.xml)$/i.test(c)||(c+=".xml");b.isLocalFileSave()?b.saveLocalFile(a,c,"text/xml",null,null,!0):(new mxXmlRequest(SAVE_URL,"filename="+encodeURIComponent(c)+"&format=xml&xml="+encodeURIComponent(a))).simulate(document,
+"_blank")});h.setAttribute("id","btnDownload");h.className="geBtn";c.appendChild(h);var z=document.createElement("input");z.setAttribute("multiple","multiple");z.setAttribute("type","file");null==document.documentMode&&(mxEvent.addListener(z,"change",function(a){F=!1;b.importFiles(z.files,0,0,b.maxImageSize,function(b,c,e,m,h,f,d,v,g){D(a)(b,c,e,m,h,f,d,v,g);z.value=""});q.scrollTop=q.scrollHeight}),h=mxUtils.button(mxResources.get("import"),function(){null!=m&&(m(),m=null);z.click()}),h.setAttribute("id",
+"btnAddImage"),h.className="geBtn",c.appendChild(h));h=mxUtils.button(mxResources.get("addImageUrl"),function(){null!=m&&(m(),m=null);b.showImageDialog(mxResources.get("addImageUrl"),"",function(a,b,c){F=!1;if(null!=a){if("data:image/"==a.substring(0,11)){var e=a.indexOf(",");0<e&&(a=a.substring(0,e)+";base64,"+a.substring(e+1))}n(a,null,0,0,b,c);q.scrollTop=q.scrollHeight}})});h.setAttribute("id","btnAddImageUrl");h.className="geBtn";c.appendChild(h);this.saveBtnClickHandler=function(a,c,e,m){b.saveLibrary(a,
+c,e,m)};h=mxUtils.button(mxResources.get("save"),mxUtils.bind(this,function(){null!=m&&(m(),m=null);this.saveBtnClickHandler(u.value,e,g,k)}));h.setAttribute("id","btnSave");h.className="geBtn gePrimaryBtn";c.appendChild(h);b.editor.cancelFirst||c.appendChild(d);f.appendChild(c);this.container=f},EditShapeDialog=function(b,d,f,c,g){c=null!=c?c:300;g=null!=g?g:120;var k,l,n=document.createElement("table"),p=document.createElement("tbody");n.style.cellPadding="4px";k=document.createElement("tr");l=
+document.createElement("td");l.setAttribute("colspan","2");l.style.fontSize="10pt";mxUtils.write(l,f);k.appendChild(l);p.appendChild(k);k=document.createElement("tr");l=document.createElement("td");var a=document.createElement("textarea");a.style.outline="none";a.style.resize="none";a.style.width=c-200+"px";a.style.height=g+"px";this.textarea=a;this.init=function(){a.focus();a.scrollTop=0};l.appendChild(a);k.appendChild(l);l=document.createElement("td");f=document.createElement("div");f.style.position=
+"relative";f.style.border="1px solid gray";f.style.top="6px";f.style.width="200px";f.style.height=g+4+"px";f.style.overflow="hidden";f.style.marginBottom="16px";mxEvent.disableContextMenu(f);l.appendChild(f);var e=new Graph(f);e.setEnabled(!1);var h=b.editor.graph.cloneCells([d])[0];e.addCells([h]);f=e.view.getState(h);var u="";null!=f.shape&&null!=f.shape.stencil&&(u=mxUtils.getPrettyXml(f.shape.stencil.desc));mxUtils.write(a,u||"");f=e.getGraphBounds();g=Math.min(160/f.width,(g-40)/f.height);e.view.scaleAndTranslate(g,
+20/g-f.x,20/g-f.y);k.appendChild(l);p.appendChild(k);k=document.createElement("tr");l=document.createElement("td");l.setAttribute("colspan","2");l.style.paddingTop="2px";l.style.whiteSpace="nowrap";l.setAttribute("align","right");g=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog()});g.className="geBtn";b.editor.cancelFirst&&l.appendChild(g);b.isOffline()||(f=mxUtils.button(mxResources.get("help"),function(){b.openLink("https://desk.draw.io/support/solutions/articles/16000052874")}),
+f.className="geBtn",l.appendChild(f));var q=function(c,e,h){var f=a.value,m=mxUtils.parseXml(f),f=mxUtils.getPrettyXml(m.documentElement),m=m.documentElement.getElementsByTagName("parsererror");if(null!=m&&0<m.length)b.showError(mxResources.get("error"),mxResources.get("containsValidationErrors"),mxResources.get("ok"));else if(h&&b.hideDialog(),m=!c.model.contains(e),!h||m||f!=u){f=b.editor.graph.compress(f);c.getModel().beginUpdate();try{if(m){var d=b.editor.graph.getInsertPoint();e.geometry.x=d.x;
+e.geometry.y=d.y;c.addCell(e)}c.setCellStyles(mxConstants.STYLE_SHAPE,"stencil("+f+")",[e])}catch(F){throw F;}finally{c.getModel().endUpdate()}m&&c.setSelectionCell(e)}};f=mxUtils.button(mxResources.get("preview"),function(){q(e,h,!1)});f.className="geBtn";l.appendChild(f);f=mxUtils.button(mxResources.get("apply"),function(){q(b.editor.graph,d,!0)});f.className="geBtn gePrimaryBtn";l.appendChild(f);b.editor.cancelFirst||l.appendChild(g);k.appendChild(l);p.appendChild(k);n.appendChild(p);this.container=
+n},CustomDialog=function(b,d,f,c,g,k,l,n){var p=document.createElement("div");p.appendChild(d);d=document.createElement("div");d.style.marginTop="16px";d.style.textAlign="center";null!=l&&d.appendChild(l);l=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog();null!=c&&c()});l.className="geBtn";n&&(l.style.display="none");b.editor.cancelFirst&&d.appendChild(l);b.isOffline()||null==k||(n=mxUtils.button(mxResources.get("help"),function(){b.openLink(k)}),n.className="geBtn",d.appendChild(n));
+g=mxUtils.button(g||mxResources.get("ok"),function(){b.hideDialog();null!=f&&f()});d.appendChild(g);g.className="geBtn gePrimaryBtn";b.editor.cancelFirst||d.appendChild(l);p.appendChild(d);this.cancelBtn=l;this.okButton=g;this.container=p};(function(){Editor.prototype.appName="draw.io";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,R0lGODlhDAAMAPUxAEVriVp7lmCAmmGBm2OCnGmHn3OPpneSqYKbr4OcsIScsI2kto6kt46lt5KnuZmtvpquvpuvv56ywaCzwqK1xKu7yay9yq+/zLHAzbfF0bjG0bzJ1LzK1MDN18jT28nT3M3X3tHa4dTc49Xd5Njf5dng5t3k6d/l6uDm6uru8e7x8/Dz9fT29/b4+Pj5+fj5+vr6+v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkKADEAIf8LTkVUU0NBUEUyLjADAQAAACwAAAAADAAMAAAGR8CYcEgsOgYAIax4CCQuQldrCBEsiK8VS2hoFGOrlJDA+cZQwkLnqyoJFZKviSS0ICrE0ec0jDAwIiUeGyBFGhMPFBkhZo1BACH5BAkKAC4ALAAAAAAMAAwAhVB0kFR3k1V4k2CAmmWEnW6Lo3KOpXeSqH2XrIOcsISdsImhtIqhtJCmuJGnuZuwv52wwJ+ywZ+ywqm6yLHBzbLCzrXEz7fF0LnH0rrI0r7L1b/M1sXR2cfT28rV3czW3s/Z4Nfe5Nvi6ODm6uLn6+Ln7OLo7OXq7efs7+zw8u/y9PDy9PX3+Pr7+////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZDQJdwSCxGDAIAoVFkFBwYSyIwGE4OkCJxIdG6WkJEx8sSKj7elfBB0a5SQg1EQ0SVVMPKhDM6iUIkRR4ZFxsgJl6JQQAh+QQJCgAxACwAAAAADAAMAIVGa4lcfZdjgpxkg51nhp5ui6N3kqh5lKqFnbGHn7KIoLOQp7iRp7mSqLmTqbqarr6br7+fssGitcOitcSuvsuuv8uwwMyzw861xNC5x9K6x9K/zNbDztjE0NnG0drJ1NzQ2eDS2+LT2+LV3ePZ4Oba4ebb4ufc4+jm6+7t8PLt8PPt8fPx8/Xx9PX09vf19/j3+Pn///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQ8CYcEgsUhQFggFSjCQmnE1jcBhqGBXiIuAQSi7FGEIgfIzCFoCXFCZiPO0hKBMiwl7ET6eUYqlWLkUnISImKC1xbUEAIfkECQoAMgAsAAAAAAwADACFTnKPT3KPVHaTYoKcb4yjcY6leZSpf5mtgZuvh5+yiqG0i6K1jqW3kae5nrHBnrLBn7LCoLPCobTDqbrIqrvIs8LOtMPPtcPPtcTPuMbRucfSvcrUvsvVwMzWxdHaydTcytXdzNbezdff0drh2ODl2+Ln3eTp4Obq4ujs5Ont5uvu6O3w6u7w6u7x7/L09vj5+vr7+vv7////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkdAmXBILHIcicOCUqxELKKPxKAYgiYd4oMAEWo8RVmjIMScwhmBcJMKXwLCECmMGAhPI1QRwBiaSixCMDFhLSorLi8wYYxCQQAh+QQJCgAxACwAAAAADAAMAIVZepVggJphgZtnhp5vjKN2kah3kqmBmq+KobSLorWNpLaRp7mWq7ybr7+gs8KitcSktsWnuManucexwM2ywc63xtG6yNO9ytS+ytW/zNbDz9jH0tvL1d3N197S2+LU3OPU3ePV3eTX3+Xa4efb4ufd5Onl6u7r7vHs7/Lt8PLw8/Xy9Pby9fb09ff2+Pn3+Pn6+vr///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGSMCYcEgseiwSR+RS7GA4JFGF8RiWNiEiJTERgkjFGAQh/KTCGoJwpApnBkITKrwoCFWnFlEhaAxXLC9CBwAGRS4wQgELYY1CQQAh+QQJCgAzACwAAAAADAAMAIVMcI5SdZFhgZtti6JwjaR4k6mAma6Cm6+KobSLorWLo7WNo7aPpredsMCescGitMOitcSmuMaqu8ixwc2zws63xdC4xtG5x9K9ytXAzdfCztjF0NnF0drK1d3M1t7P2N/P2eDT2+LX3+Xe5Onh5+vi5+vj6Ozk6e3n7O/o7O/q7vHs7/Lt8PPu8fPx8/X3+Pn6+vv7+/v8/Pz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRcCZcEgsmkIbTOZTLIlGqZNnchm2SCgiJ6IRqljFmQUiXIVnoITQde4chC9Y+LEQxmTFRkFSNFAqDAMIRQoCAAEEDmeLQQAh+QQJCgAwACwAAAAADAAMAIVXeZRefplff5lhgZtph59yjqV2kaeAmq6FnbGFnrGLorWNpLaQp7mRqLmYrb2essGgs8Klt8apusitvcquv8u2xNC7yNO8ydS8ytTAzdfBzdfM1t7N197Q2eDU3OPX3+XZ4ObZ4ebc4+jf5erg5erg5uvp7fDu8fPv8vTz9fb09vf19/j3+Pn4+fn5+vr6+/v///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRUCYcEgspkwjEKhUVJ1QsBNp0xm2VixiSOMRvlxFGAcTJook5eEHIhQcwpWIkAFQECkNy9AQWFwyEAkPRQ4FAwQIE2llQQAh+QQJCgAvACwAAAAADAAMAIVNcY5SdZFigptph6BvjKN0kKd8lquAmq+EnbGGn7KHn7ONpLaOpbearr+csMCdscCescGhtMOnuMauvsuzws60w862xdC9ytW/y9a/zNbCztjG0drH0tvK1N3M1t7N19/U3ePb4uff5urj6Ozk6e3l6u7m6u7o7PDq7vDt8PPv8vTw8vTw8/X19vf6+vv///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQ8CXcEgsvlytVUplJLJIpSEDUESFTELBwSgCCQEV42kjDFiMo4uQsDB2MkLHoEHUTD7DRAHC8VAiZ0QSCgYIDxhNiUEAOw==":
IMAGE_PATH+"/spin.gif";Editor.tweetImage=IMAGE_PATH+"/tweet.png";Editor.facebookImage=IMAGE_PATH+"/facebook.png";Editor.blankImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAACklEQVR4nGMAAQAABQABDQottAAAAABJRU5ErkJggg==";Editor.hiResImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAA+CAMAAACLMWy1AAAAh1BMVEUAAABMTExERERBQUFBQUFFRUVAQEBCQkJAQEA6OjpDQ0NKSkpBQUFBQUFERERERERBQUFCQkJCQkJCQkJJSUlBQUFCQkJDQ0NDQ0NCQkJDQ0NBQUFBQUFCQkJBQUFCQkJCQkJDQ0NCQkJHR0dBQUFCQkJCQkJAQEBCQkJDQ0NAQEBERERCQkIk1hS2AAAAKnRSTlMAAjj96BL7PgQFRwfu3TYazKuVjRXl1V1DPCn1uLGjnWNVIgy9hU40eGqPkM38AAACG0lEQVRYw+2X63KbMBCFzwZblgGDceN74muatpLe//m6MHV3gHGFAv2RjM94MAbxzdnVsQbBDKwH8AH8MDAyafzjqYeyOG04XE7RS8nIRDXg6BlT+rA0nmtAPh+NQRDxIASIMG44rAMrGunBgHwy3uUldxggIStGKp2f+DQc2O4h4eQsX3O2IFB/oEbsjOKbStnjAEA+zJ0ylZTbgvoDn8xNyn6Dbj5Kd4GsNpABa6duQPfSdEj88TgMAhKuCWjAkgmFXPLnsD0pWd3OFGdrMugQII/eOMPEiGOzqPMIeWrcSoMCg71W1pXBPvCP+gS/OdXqQ3uW23+93XGWLl/OaBb805bNcBPoEIcVJsnHzcxpZH86u5KZ9gDby5dQCcnKqdbke4ItI4Tzd7IW9hZQt4EO6GG9b9sYuuK9Wwn8TIr2xKbF2+3Nhr+qxChJ/AI6pIfCu4z4Zowp4ZUNihz79vewzctnHDwTvQO/hCdFBzrUGDOPn2Y/F8YKT4oOATLvlhOznzmBSdFBJWtc58y7r+UVFOCQczy3wpN6pegDqHtsCPTGvH9JuTO0Dyg8icldYPk+RB6g8Aofj4m2EKBvtTmUPD9xDd1pPcSReV2U5iD/ik2yrngtvvqBfPzOvKiDTKTsCdoHZJ7pLLffgTwlJ5vJdtJV2/jiAYaLvLGhMAEDO5QcDg2M/jOw/8Zn+K3ZwJvHT7ZffgC/NvA3zcybTeIfE4EAAAAASUVORK5CYII=":
IMAGE_PATH+"/img-hi-res.png";Editor.loResImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAA+CAMAAACLMWy1AAAAS1BMVEVAQEAAAAA1NTVBQUFDQ0NDQ0NFRUVERERBQUFBQUFBQUFAQEBBQUFBQUFCQkJCQkJCQkJBQUFCQkJDQ0NDQ0NCQkJCQkJCQkJGRkb5/XqTAAAAGXRSTlP+AAWODlASCsesX+Lc2LyWe3pwa1tCPjohjSJfoAAAAI1JREFUWMPt1MkKhTAMRuG0anvneXr/J71nUypKcdqI/N8yhLMKMZE1CahnClDQzMPB44ED3EgeCubgDWnWQMHpwTtKwTe+UHD4sJ94wbUEHHFGhILlYDeSnsQeabeCgsPBgB0MOZZ9oGA5GJFiJSfUULAfjLjARrhCwX7wh2YCDwVbwZkUBKqFFJRN+wOcwSgR2sREcgAAAABJRU5ErkJggg==":
IMAGE_PATH+"/img-lo-res.png";Editor.cameraLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAACxMBAJqcGAAAAVlpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KTMInWQAAA/BJREFUWAnFl0uIjWEYx885buPSuGwmSYwtwsY1ikKSNYNclmQnadgrZSPlsnBLSlaGBdNYKY0Vdi4L4zYzIqxGxmXG//d+7//0+uY7nWMiT/2/53mf+3v7vnNKpf9M5UbrDw8Pj4m+wzmeT1FBUS6Xf+YNox6reMONukijMXUTM3NmI75PyXcJPwRWg5kS7xysDLNmfEUxpx2rceNE50IlYjyRklcLf0prY+x4BTqfmx3ZUHQaO9ISGngYq38V/1EH+ECPa+QaK1u1kVBQirDMChiS3CTeIkwWvghtwhKBpZ8g1CO2B99FynVU/KowSRgQ3mlrBsVZ1awmQlS0SGbfXglfBPbdRGMm5O8RXg2P835pDCvzWjghTHETcLpZLHwS8kTCtBEK1SN83Egam8YxyVZqc+Do5qkwS+gT9grNwkUBG6cbsG/gs3BTuC/0ChCxq4QtwgzBMdwUZBPyN4Ftfi4sYPZHktbOSRlIuutRP5jYj0ueZp88xyYcS/zZoiLyQT1IA/cTj7eSlwnrhI+JnkQbCwo2Sx/2M7VJt17wdhVtgxvrpoFnAuSAbJQ97biZAlKxBfD9wgOhV+BgIR/AZtJ4kwD5PGSj7OmmekjWEy0oAQHAS3+KpBpzXqYK3UItopHpSRMno2N+cm7gDYnfRCcr3QBqriMHLJDkeyhFfiG5aVbK+8rhtP9M6QcIEJHX5Fp9NMAyQlYiu+OOJNlODCIXyka/P23bncTdiC7OydC1+v1Bsb+5r84DK8S3Rdmf5cRUFW3bXtWUSt1Rdk6G4SyJV2o1YId+vNUxr+x5yCJiapFtcxQzLjrxboGcMxvFJwEOKnLwjIbkx/sdSmeSaUY++SwTAxV+4DJT7RVwkbk46gNCsifIItuy0e9PF33Cb4homhN5YRyzL5q5V2VNkv98kqgoGTo3YF9CnMM5Y5rItFfvBSi9JulVXOgI+VwIntkt+SaZ6weQfcovJf7zpTfl86P/wAF7Fz18NeKwmvAWCaX0Z/uMHQr42ZxvR/Rxcw5xM+9J/CJq8w2gduDhmDgso/QrBH47dEXQ1IqczyHpIOfIRtnTtV7SwO1oKXKkU3fbToFGSDHtMWcaH1WBuVYnDbRFi99iqSMySdzxXckrazUh23KBVYGIcfNBkTxca0e4ATJ0KukGYVBgr/MnlhPOtQq/ksUfCbzh+EFCjtnCUoHfjhA/OsiTv2HcEvJMELp0VakZDliTmriTdPivxU4VmEhtPrGV+KJhO7ZKt0doFZh1fgZSBWIW2AGEHwg3BUWOnKtH+suqdw07tYMfglCrWPD5mw9qVYuniaXkT0OtWaSuo5LJTY1RBf+roF9X5+y/5qU+DAAAAABJRU5ErkJggg==";
-Editor.defaultCustomLibraries=[];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## 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## 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\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 parallel edges. Default is 40.\n#\n# edgespacing: 40\n#\n## Name of layout. Possible values are auto, none, verticaltree, horizontaltree,\n## verticalflow, horizontalflow, organic, circle. 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.defaultCustomLibraries=[];Editor.enableCustomLibraries=!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## 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## 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\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 parallel edges. Default is 40.\n#\n# edgespacing: 40\n#\n## Name of layout. Possible values are auto, none, verticaltree, horizontaltree,\n## verticalflow, horizontalflow, organic, circle. 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.shadowOptionEnabled=!0;Editor.configure=function(a){if(null!=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;if(null!=a.css){var c=document.createElement("style");c.setAttribute("type","text/css");c.appendChild(document.createTextNode(a.css));var b=document.getElementsByTagName("script")[0];b.parentNode.insertBefore(c,b)}null!=a.defaultLibraries&&(Sidebar.prototype.defaultEntries=a.defaultLibraries);null!=a.defaultCustomLibraries&&(Editor.defaultCustomLibraries=a.defaultCustomLibraries);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&&(c=document.createElement("style"),c.setAttribute("type",
-"text/css"),c.appendChild(document.createTextNode(a.fontCss)),b=document.getElementsByTagName("script")[0],b.parentNode.insertBefore(c,b),Editor.prototype.fontCss=a.fontCss);if(null!=a.plugins)for(App.initPluginCallback(),c=0;c<a.plugins.length;c++)mxscript(a.plugins[c])}};Editor.prototype.editButtonLink=null!=urlParams.edit?decodeURIComponent(urlParams.edit):null;var b=Editor.prototype.setGraphXml;Editor.prototype.setGraphXml=function(a){a=null!=a&&"mxlibrary"!=a.nodeName?this.extractGraphModel(a):
-null;if(null!=a){var c=a.getElementsByTagName("parsererror");if(null!=c&&0<c.length){var c=c[0],f=c.getElementsByTagName("div");null!=f&&0<f.length&&(c=f[0]);throw{message:mxUtils.getTextContent(c)};}if("mxGraphModel"==a.nodeName){c=a.getAttribute("style")||"default-style2";if("1"==urlParams.embed||null!=c&&""!=c)c!=this.graph.currentStyle&&(f=null!=this.graph.themes?this.graph.themes[c]:mxUtils.load(STYLE_PATH+"/"+c+".xml").getDocumentElement(),null!=f&&(h=new mxCodec(f.ownerDocument),h.decode(f,
-this.graph.getStylesheet())));else if(f=null!=this.graph.themes?this.graph.themes["default-old"]:mxUtils.load(STYLE_PATH+"/default-old.xml").getDocumentElement(),null!=f){var h=new mxCodec(f.ownerDocument);h.decode(f,this.graph.getStylesheet())}this.graph.currentStyle=c;this.graph.mathEnabled="1"==urlParams.math||"1"==a.getAttribute("math");c=a.getAttribute("backgroundImage");null!=c?(c=JSON.parse(c),this.graph.setBackgroundImage(new mxImage(c.src,c.width,c.height))):this.graph.setBackgroundImage(null);
-mxClient.NO_FO=this.graph.mathEnabled?!0:this.originalNoForeignObject;this.graph.setShadowVisible("1"==a.getAttribute("shadow"),!1)}b.apply(this,arguments)}else throw{message:mxResources.get("notADiagramFile")||"Invalid data",toString:function(){return this.message}};};var e=Editor.prototype.getGraphXml;Editor.prototype.getGraphXml=function(a){a=null!=a?a:!0;var c=e.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");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(v){}return!1};Editor.prototype.extractGraphModel=function(a,c){if(null!=a&&"undefined"!==typeof pako){var b=a.ownerDocument.getElementsByTagName("div"),f=[];if(null!=b&&0<b.length)for(var h=0;h<b.length;h++)if("mxgraph"==b[h].getAttribute("class")){f.push(b[h]);break}0<f.length&&(b=f[0].getAttribute("data-mxgraph"),null!=b?(f=JSON.parse(b),null!=f&&null!=f.xml&&(f=mxUtils.parseXml(f.xml),
-a=f.documentElement)):(f=f[0].getElementsByTagName("div"),0<f.length&&(b=mxUtils.getTextContent(f[0]),b=this.graph.decompress(b),0<b.length&&(f=mxUtils.parseXml(b),a=f.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||(f=null,"diagram"==a.nodeName?f=a:"mxfile"==a.nodeName&&(b=a.getElementsByTagName("diagram"),0<b.length&&(f=b[Math.max(0,Math.min(b.length-1,urlParams.page||0))])),null!=f&&(b=this.graph.decompress(mxUtils.getTextContent(f)),null!=b&&0<b.length&&(a=mxUtils.parseXml(b).documentElement)));null==a||"mxGraphModel"==a.nodeName||c&&"mxfile"==a.nodeName||(a=null);return a};var d=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?!0:this.originalNoForeignObject;d.apply(this,arguments)};Editor.prototype.originalNoForeignObject=mxClient.NO_FO;var c=Editor.prototype.updateGraphComponents;Editor.prototype.updateGraphComponents=function(){c.apply(this,arguments);mxClient.NO_FO=this.graph.mathEnabled&&null!=Editor.MathJaxRender?!0:this.originalNoForeignObject};Editor.initMath=function(a,c){a=null!=a?a:"https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/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||{jax:["input/TeX","input/MathML","input/AsciiMath","output/HTML-CSS"],extensions:["tex2jax.js","mml2jax.js","asciimath2jax.js"],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&&Editor.MathJaxRender(this.graph.container)}))};var f=document.getElementsByTagName("script");if(null!=f&&0<f.length){var h=document.createElement("script");h.type="text/javascript";h.src=a;f[0].parentNode.appendChild(h)}};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,f,h){void 0!==b?c.push(b.replace(/\\'/g,"'")):void 0!==f?c.push(f.replace(/\\"/g,'"')):void 0!==h&&c.push(h);return""});/,\s*$/.test(a)&&c.push("");return c};if(window.ColorDialog){var g=ColorDialog.addRecentColor;ColorDialog.addRecentColor=function(a,c){g.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()};
-var k=ColorDialog.resetRecentColors;ColorDialog.resetRecentColors=function(){k.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()}}if(null!=window.StyleFormatPanel){var n=Format.prototype.init;Format.prototype.init=function(){n.apply(this,arguments);this.editorUi.editor.addListener("fileLoaded",this.update)};var p=Format.prototype.refresh;Format.prototype.refresh=function(){null!=this.editorUi.getCurrentFile()||"1"==urlParams.embed||this.editorUi.editor.chromeless?
-p.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 q=DiagramFormatPanel.prototype.addView;DiagramFormatPanel.prototype.addView=function(a){a=q.apply(this,arguments);this.editorUi.getCurrentFile();if(mxClient.IS_SVG&&this.isShadowOptionVisible()){var c=this.editorUi,b=c.editor.graph,f=this.createOption(mxResources.get("shadow"),
-function(){return b.shadowVisible},function(a){var f=new ChangePageSetup(c);f.ignoreColor=!0;f.ignoreImage=!0;f.shadowVisible=a;b.model.execute(f)},{install:function(a){this.listener=function(){a(b.shadowVisible)};c.addListener("shadowVisibleChanged",this.listener)},destroy:function(){c.removeListener(this.listener)}});Editor.shadowOptionEnabled||(f.getElementsByTagName("input")[0].setAttribute("disabled","disabled"),mxUtils.setOpacity(f,60));a.appendChild(f)}return a};var a=DiagramFormatPanel.prototype.addOptions;
-DiagramFormatPanel.prototype.addOptions=function(c){c=a.apply(this,arguments);var b=this.editorUi,f=b.editor.graph;if(f.isEnabled()){var h=b.getCurrentFile();null!=h&&h.isAutosaveOptional()&&(h=this.createOption(mxResources.get("autosave"),function(){return b.editor.autosave},function(a){b.editor.setAutosave(a)},{install:function(a){this.listener=function(){a(b.editor.autosave)};b.editor.addListener("autosaveChanged",this.listener)},destroy:function(){b.editor.removeListener(this.listener)}}),c.appendChild(h))}if(this.isMathOptionVisible()&&
-f.isEnabled()&&"undefined"!==typeof MathJax){h=this.createOption(mxResources.get("mathematicalTypesetting"),function(){return f.mathEnabled},function(a){b.actions.get("mathematicalTypesetting").funct()},{install:function(a){this.listener=function(){a(f.mathEnabled)};b.addListener("mathEnabledChanged",this.listener)},destroy:function(){b.removeListener(this.listener)}});h.style.paddingTop="0px";c.appendChild(h);var d=b.menus.createHelpLink("https://desk.draw.io/support/solutions/articles/16000032875");
-d.style.position="relative";d.style.top="4px";h.appendChild(d)}return c};StyleFormatPanel.prototype.defaultColorSchemes=[[null,{fill:"#f5f5f5",stroke:"#666666"},{fill:"#dae8fc",stroke:"#6c8ebf"},{fill:"#d5e8d4",stroke:"#82b366"},{fill:"#ffe6cc",stroke:"#d79b00"},{fill:"#fff2cc",stroke:"#d6b656"},{fill:"#f8cecc",stroke:"#b85450"},{fill:"#e1d5e7",stroke:"#9673a6"}],[null,{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"}],[null,{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"}]];var f=StyleFormatPanel.prototype.init;
-StyleFormatPanel.prototype.init=function(){"image"!=this.format.createSelectionState().style.shape&&this.container.appendChild(this.addStyles(this.createPanel()));f.apply(this,arguments)};var h=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+
+a.defaultEdgeLength||Graph.prototype.defaultEdgeLength;if(null!=a.css){var b=document.createElement("style");b.setAttribute("type","text/css");b.appendChild(document.createTextNode(a.css));var c=document.getElementsByTagName("script")[0];c.parentNode.insertBefore(b,c)}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&&
+(b=document.createElement("style"),b.setAttribute("type","text/css"),b.appendChild(document.createTextNode(a.fontCss)),c=document.getElementsByTagName("script")[0],c.parentNode.insertBefore(b,c),Editor.prototype.fontCss=a.fontCss);if(null!=a.plugins)for(App.initPluginCallback(),b=0;b<a.plugins.length;b++)mxscript(a.plugins[b])}};Editor.prototype.editButtonLink=null!=urlParams.edit?decodeURIComponent(urlParams.edit):null;var b=Editor.prototype.setGraphXml;Editor.prototype.setGraphXml=function(a){a=
+null!=a&&"mxlibrary"!=a.nodeName?this.extractGraphModel(a):null;if(null!=a){var c=a.getElementsByTagName("parsererror");if(null!=c&&0<c.length){var c=c[0],e=c.getElementsByTagName("div");null!=e&&0<e.length&&(c=e[0]);throw{message:mxUtils.getTextContent(c)};}if("mxGraphModel"==a.nodeName){c=a.getAttribute("style")||"default-style2";if("1"==urlParams.embed||null!=c&&""!=c)c!=this.graph.currentStyle&&(e=null!=this.graph.themes?this.graph.themes[c]:mxUtils.load(STYLE_PATH+"/"+c+".xml").getDocumentElement(),
+null!=e&&(h=new mxCodec(e.ownerDocument),h.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 h=new mxCodec(e.ownerDocument);h.decode(e,this.graph.getStylesheet())}this.graph.currentStyle=c;this.graph.mathEnabled="1"==urlParams.math||"1"==a.getAttribute("math");c=a.getAttribute("backgroundImage");null!=c?(c=JSON.parse(c),this.graph.setBackgroundImage(new mxImage(c.src,
+c.width,c.height))):this.graph.setBackgroundImage(null);mxClient.NO_FO=this.graph.mathEnabled?!0:this.originalNoForeignObject;this.graph.setShadowVisible("1"==a.getAttribute("shadow"),!1)}b.apply(this,arguments)}else throw{message:mxResources.get("notADiagramFile")||"Invalid data",toString:function(){return this.message}};};var d=Editor.prototype.getGraphXml;Editor.prototype.getGraphXml=function(a){a=null!=a?a:!0;var b=d.apply(this,arguments);null!=this.graph.currentStyle&&"default-style2"!=this.graph.currentStyle&&
+b.setAttribute("style",this.graph.currentStyle);null!=this.graph.backgroundImage&&b.setAttribute("backgroundImage",JSON.stringify(this.graph.backgroundImage));b.setAttribute("math",this.graph.mathEnabled?"1":"0");b.setAttribute("shadow",this.graph.shadowVisible?"1":"0");return b};Editor.prototype.isDataSvg=function(a){try{var b=mxUtils.parseXml(a).documentElement.getAttribute("content");if(null!=b&&(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)){var c=mxUtils.parseXml(b).documentElement;return"mxfile"==c.nodeName||"mxGraphModel"==c.nodeName}}catch(v){}return!1};Editor.prototype.extractGraphModel=function(a,b){if(null!=a&&"undefined"!==typeof pako){var c=a.ownerDocument.getElementsByTagName("div"),e=[];if(null!=c&&0<c.length)for(var h=0;h<c.length;h++)if("mxgraph"==c[h].getAttribute("class")){e.push(c[h]);break}0<e.length&&(c=e[0].getAttribute("data-mxgraph"),null!=
+c?(e=JSON.parse(c),null!=e&&null!=e.xml&&(e=mxUtils.parseXml(e.xml),a=e.documentElement)):(e=e[0].getElementsByTagName("div"),0<e.length&&(c=mxUtils.getTextContent(e[0]),c=this.graph.decompress(c),0<c.length&&(e=mxUtils.parseXml(c),a=e.documentElement))))}if(null!=a&&"svg"==a.nodeName)if(c=a.getAttribute("content"),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)a=mxUtils.parseXml(c).documentElement;
+else throw{message:mxResources.get("notADiagramFile")};null==a||b||(e=null,"diagram"==a.nodeName?e=a:"mxfile"==a.nodeName&&(c=a.getElementsByTagName("diagram"),0<c.length&&(e=c[Math.max(0,Math.min(c.length-1,urlParams.page||0))])),null!=e&&(c=this.graph.decompress(mxUtils.getTextContent(e)),null!=c&&0<c.length&&(a=mxUtils.parseXml(c).documentElement)));null==a||"mxGraphModel"==a.nodeName||b&&"mxfile"==a.nodeName||(a=null);return a};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?!0:this.originalNoForeignObject;f.apply(this,arguments)};Editor.prototype.originalNoForeignObject=mxClient.NO_FO;var c=Editor.prototype.updateGraphComponents;Editor.prototype.updateGraphComponents=function(){c.apply(this,arguments);mxClient.NO_FO=this.graph.mathEnabled&&null!=Editor.MathJaxRender?!0:this.originalNoForeignObject};Editor.initMath=function(a,b){a=null!=a?a:"https://math.draw.io/current/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(b||{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 c=Editor.prototype.init;Editor.prototype.init=
+function(){c.apply(this,arguments);this.graph.addListener(mxEvent.SIZE,mxUtils.bind(this,function(a,b){null!=this.graph.container&&this.graph.mathEnabled&&Editor.MathJaxRender(this.graph.container)}))};var e=document.getElementsByTagName("script");if(null!=e&&0<e.length){var h=document.createElement("script");h.type="text/javascript";h.src=a;e[0].parentNode.appendChild(h)}};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 b=[];a.replace(/(?!\s*$)\s*(?:'([^'\\]*(?:\\[\S\s][^'\\]*)*)'|"([^"\\]*(?:\\[\S\s][^"\\]*)*)"|([^,'"\s\\]*(?:\s+[^,'"\s\\]+)*))\s*(?:,|$)/g,function(a,c,e,h){void 0!==c?b.push(c.replace(/\\'/g,"'")):void 0!==e?b.push(e.replace(/\\"/g,'"')):void 0!==h&&b.push(h);return""});/,\s*$/.test(a)&&b.push("");return b};if(window.ColorDialog){var g=ColorDialog.addRecentColor;ColorDialog.addRecentColor=function(a,b){g.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()};
+var k=ColorDialog.resetRecentColors;ColorDialog.resetRecentColors=function(){k.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()}}if(null!=window.StyleFormatPanel){var l=Format.prototype.init;Format.prototype.init=function(){l.apply(this,arguments);this.editorUi.editor.addListener("fileLoaded",this.update)};var n=Format.prototype.refresh;Format.prototype.refresh=function(){null!=this.editorUi.getCurrentFile()||"1"==urlParams.embed||this.editorUi.editor.chromeless?
+n.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 p=DiagramFormatPanel.prototype.addView;DiagramFormatPanel.prototype.addView=function(a){a=p.apply(this,arguments);this.editorUi.getCurrentFile();if(mxClient.IS_SVG&&this.isShadowOptionVisible()){var b=this.editorUi,c=b.editor.graph,e=this.createOption(mxResources.get("shadow"),
+function(){return c.shadowVisible},function(a){var e=new ChangePageSetup(b);e.ignoreColor=!0;e.ignoreImage=!0;e.shadowVisible=a;c.model.execute(e)},{install:function(a){this.listener=function(){a(c.shadowVisible)};b.addListener("shadowVisibleChanged",this.listener)},destroy:function(){b.removeListener(this.listener)}});Editor.shadowOptionEnabled||(e.getElementsByTagName("input")[0].setAttribute("disabled","disabled"),mxUtils.setOpacity(e,60));a.appendChild(e)}return a};var a=DiagramFormatPanel.prototype.addOptions;
+DiagramFormatPanel.prototype.addOptions=function(b){b=a.apply(this,arguments);var c=this.editorUi,e=c.editor.graph;if(e.isEnabled()){var h=c.getCurrentFile();null!=h&&h.isAutosaveOptional()&&(h=this.createOption(mxResources.get("autosave"),function(){return c.editor.autosave},function(a){c.editor.setAutosave(a)},{install:function(a){this.listener=function(){a(c.editor.autosave)};c.editor.addListener("autosaveChanged",this.listener)},destroy:function(){c.editor.removeListener(this.listener)}}),b.appendChild(h))}if(this.isMathOptionVisible()&&
+e.isEnabled()&&"undefined"!==typeof MathJax){h=this.createOption(mxResources.get("mathematicalTypesetting"),function(){return e.mathEnabled},function(a){c.actions.get("mathematicalTypesetting").funct()},{install:function(a){this.listener=function(){a(e.mathEnabled)};c.addListener("mathEnabledChanged",this.listener)},destroy:function(){c.removeListener(this.listener)}});h.style.paddingTop="0px";b.appendChild(h);var f=c.menus.createHelpLink("https://desk.draw.io/support/solutions/articles/16000032875");
+f.style.position="relative";f.style.top="4px";h.appendChild(f)}return b};StyleFormatPanel.prototype.defaultColorSchemes=[[null,{fill:"#f5f5f5",stroke:"#666666"},{fill:"#dae8fc",stroke:"#6c8ebf"},{fill:"#d5e8d4",stroke:"#82b366"},{fill:"#ffe6cc",stroke:"#d79b00"},{fill:"#fff2cc",stroke:"#d6b656"},{fill:"#f8cecc",stroke:"#b85450"},{fill:"#e1d5e7",stroke:"#9673a6"}],[null,{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"}],[null,{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"}]];var e=StyleFormatPanel.prototype.init;
+StyleFormatPanel.prototype.init=function(){"image"!=this.format.createSelectionState().style.shape&&this.container.appendChild(this.addStyles(this.createPanel()));e.apply(this,arguments)};var h=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 h.apply(this,arguments)};StyleFormatPanel.prototype.addStyles=function(a){function c(a){function c(a){var c=
-mxUtils.button("",function(c){f.getModel().beginUpdate();try{var b=f.getSelectionCells();for(c=0;c<b.length;c++){for(var h=f.getModel().getStyle(b[c]),l=0;l<d.length;l++)h=mxUtils.removeStylename(h,d[l]);null!=a?(h=mxUtils.setStyle(h,mxConstants.STYLE_FILLCOLOR,a.fill),h=mxUtils.setStyle(h,mxConstants.STYLE_STROKECOLOR,a.stroke),h=mxUtils.setStyle(h,mxConstants.STYLE_GRADIENTCOLOR,a.gradient)):(h=mxUtils.setStyle(h,mxConstants.STYLE_FILLCOLOR,"#ffffff"),h=mxUtils.setStyle(h,mxConstants.STYLE_STROKECOLOR,
-"#000000"),h=mxUtils.setStyle(h,mxConstants.STYLE_GRADIENTCOLOR,null));f.getModel().setStyle(b[c],h)}}finally{f.getModel().endUpdate()}});c.className="geStyleButton";c.style.width="36px";c.style.height="30px";c.style.margin="0px 6px 6px 0px";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%)":c.style.backgroundColor=a.fill,c.style.border="1px solid "+a.stroke):(c.style.backgroundColor="#ffffff",c.style.border="1px solid #000000");h.appendChild(c)}h.innerHTML="";for(var b=0;b<a.length;b++)0<b&&0==mxUtils.mod(b,4)&&mxUtils.br(h),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 f=this.editorUi.editor.graph,h=document.createElement("div");h.style.whiteSpace=
-"nowrap";h.style.paddingLeft="24px";h.style.paddingRight="20px";a.style.paddingLeft="16px";a.style.paddingBottom="6px";a.style.position="relative";a.appendChild(h);var d="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 m=document.createElement("div");m.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(m,"click",mxUtils.bind(this,function(){this.editorUi.currentScheme=mxUtils.mod(this.editorUi.currentScheme-1,this.defaultColorSchemes.length);c(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(m),a.appendChild(e));mxEvent.addListener(e,"click",mxUtils.bind(this,function(){this.editorUi.currentScheme=mxUtils.mod(this.editorUi.currentScheme+1,this.defaultColorSchemes.length);c(this.defaultColorSchemes[this.editorUi.currentScheme])}));b(m);b(e);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 f=this.editorUi.editor.graph,h=f.view.getState(f.getSelectionCell());1==f.getSelectionCount()&&null!=h&&null!=h.shape&&null!=h.shape.stencil?(c=mxUtils.button(mxResources.get("editShape"),mxUtils.bind(this,
+mxUtils.button("",function(c){e.getModel().beginUpdate();try{var b=e.getSelectionCells();for(c=0;c<b.length;c++){for(var h=e.getModel().getStyle(b[c]),m=0;m<f.length;m++)h=mxUtils.removeStylename(h,f[m]);null!=a?(h=mxUtils.setStyle(h,mxConstants.STYLE_FILLCOLOR,a.fill),h=mxUtils.setStyle(h,mxConstants.STYLE_STROKECOLOR,a.stroke),h=mxUtils.setStyle(h,mxConstants.STYLE_GRADIENTCOLOR,a.gradient)):(h=mxUtils.setStyle(h,mxConstants.STYLE_FILLCOLOR,"#ffffff"),h=mxUtils.setStyle(h,mxConstants.STYLE_STROKECOLOR,
+"#000000"),h=mxUtils.setStyle(h,mxConstants.STYLE_GRADIENTCOLOR,null));e.getModel().setStyle(b[c],h)}}finally{e.getModel().endUpdate()}});c.className="geStyleButton";c.style.width="36px";c.style.height="30px";c.style.margin="0px 6px 6px 0px";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%)":c.style.backgroundColor=a.fill,c.style.border="1px solid "+a.stroke):(c.style.backgroundColor="#ffffff",c.style.border="1px solid #000000");h.appendChild(c)}h.innerHTML="";for(var b=0;b<a.length;b++)0<b&&0==mxUtils.mod(b,4)&&mxUtils.br(h),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,h=document.createElement("div");h.style.whiteSpace=
+"nowrap";h.style.paddingLeft="24px";h.style.paddingRight="20px";a.style.paddingLeft="16px";a.style.paddingBottom="6px";a.style.position="relative";a.appendChild(h);var f="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 d=document.createElement("div");d.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(d,"click",mxUtils.bind(this,function(){this.editorUi.currentScheme=mxUtils.mod(this.editorUi.currentScheme-1,this.defaultColorSchemes.length);c(this.defaultColorSchemes[this.editorUi.currentScheme])}));var g=document.createElement("div");g.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(d),a.appendChild(g));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])}));b(d);b(g);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,h=e.view.getState(e.getSelectionCell());1==e.getSelectionCount()&&null!=h&&null!=h.shape&&null!=h.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 m=Graph.prototype.init;Graph.prototype.init=function(){function a(a){c=a;if(mxClient.IS_QUIRKS||7==document.documentMode||8==document.documentMode)c=mxUtils.clone(a)}m.apply(this,arguments);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 f=this.layoutManager.getLayout;this.layoutManager.getLayout=function(a){var c=this.graph.view.getState(a),c=null!=c?c.style:this.graph.getCellStyle(a);if("undefined"!=typeof mxRackContainer&&"rack"==c.childLayout){var b=new mxStackLayout(this.graph,!1);b.setChildGeometry=function(a,c){c.height=Math.max(c.height,20);if(1<c.height/20){var b=c.height%20;c.height+=10<b?20-b:-b}this.graph.getModel().setGeometry(a,
-c)};b.fill=!0;b.unitSize=mxRackContainer.unitSize|20;b.marginLeft=c.marginLeft||0;b.marginRight=c.marginRight||0;b.marginTop=c.marginTop||0;b.marginBottom=c.marginBottom||0;b.resizeParent=!1;return b}return f.apply(this,arguments)}};var u=Graph.prototype.loadStylesheet;Graph.prototype.loadStylesheet=function(){u.apply(this,arguments);this.currentStyle="default-style2"};Graph.prototype.isPageLink=function(a){return null!=a&&"data:page/"==a.substring(0,10)};Graph.prototype.highlightCell=function(a,
-c,b){c=null!=c?c: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),h=new mxCellHighlight(this,c,f,!1);h.highlight(a);window.setTimeout(function(){null!=h.shape&&(mxUtils.setPrefixedStyle(h.shape.node.style,"transition","all 1200ms ease-in-out"),h.shape.node.style.opacity=0);window.setTimeout(function(){h.destroy()},1200)},b)}};Graph.prototype.addSvgShadow=function(a,c,b){b=null!=b?b:!1;
-var f=a.ownerDocument,h=null!=f.createElementNS?f.createElementNS(mxConstants.NS_SVG,"filter"):f.createElement("filter");h.setAttribute("id",this.shadowId);var l=null!=f.createElementNS?f.createElementNS(mxConstants.NS_SVG,"feGaussianBlur"):f.createElement("feGaussianBlur");l.setAttribute("in","SourceAlpha");l.setAttribute("stdDeviation",this.svgShadowBlur);l.setAttribute("result","blur");h.appendChild(l);l=null!=f.createElementNS?f.createElementNS(mxConstants.NS_SVG,"feOffset"):f.createElement("feOffset");
-l.setAttribute("in","blur");l.setAttribute("dx",this.svgShadowSize);l.setAttribute("dy",this.svgShadowSize);l.setAttribute("result","offsetBlur");h.appendChild(l);l=null!=f.createElementNS?f.createElementNS(mxConstants.NS_SVG,"feFlood"):f.createElement("feFlood");l.setAttribute("flood-color",this.svgShadowColor);l.setAttribute("flood-opacity",this.svgShadowOpacity);l.setAttribute("result","offsetColor");h.appendChild(l);l=null!=f.createElementNS?f.createElementNS(mxConstants.NS_SVG,"feComposite"):
-f.createElement("feComposite");l.setAttribute("in","offsetColor");l.setAttribute("in2","offsetBlur");l.setAttribute("operator","in");l.setAttribute("result","offsetBlur");h.appendChild(l);l=null!=f.createElementNS?f.createElementNS(mxConstants.NS_SVG,"feBlend"):f.createElement("feBlend");l.setAttribute("in","SourceGraphic");l.setAttribute("in2","offsetBlur");h.appendChild(l);l=a.getElementsByTagName("defs");0==l.length?(f=null!=f.createElementNS?f.createElementNS(mxConstants.NS_SVG,"defs"):f.createElement("defs"),
-null!=a.firstChild?a.insertBefore(f,a.firstChild):a.appendChild(f)):f=l[0];f.appendChild(h);b||((c||a.getElementsByTagName("g")[0]).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)));return h};Graph.prototype.setShadowVisible=function(a,c){mxClient.IS_SVG&&(c=null!=c?c:!0,(this.shadowVisible=a)?this.view.getDrawPane().setAttribute("filter",
+"3";Graph.prototype.edgeMode="move"!=urlParams.edge;var u=Graph.prototype.init;Graph.prototype.init=function(){function a(a){c=a;if(mxClient.IS_QUIRKS||7==document.documentMode||8==document.documentMode)c=mxUtils.clone(a)}u.apply(this,arguments);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.view.getState(a),c=null!=c?c.style:this.graph.getCellStyle(a);if("undefined"!=typeof mxRackContainer&&"rack"==c.childLayout){var b=new mxStackLayout(this.graph,!1);b.setChildGeometry=function(a,c){c.height=Math.max(c.height,20);if(1<c.height/20){var b=c.height%20;c.height+=10<b?20-b:-b}this.graph.getModel().setGeometry(a,
+c)};b.fill=!0;b.unitSize=mxRackContainer.unitSize|20;b.marginLeft=c.marginLeft||0;b.marginRight=c.marginRight||0;b.marginTop=c.marginTop||0;b.marginBottom=c.marginBottom||0;b.resizeParent=!1;return b}return e.apply(this,arguments)}};var q=Graph.prototype.loadStylesheet;Graph.prototype.loadStylesheet=function(){q.apply(this,arguments);this.currentStyle="default-style2"};Graph.prototype.isPageLink=function(a){return null!=a&&"data:page/"==a.substring(0,10)};Graph.prototype.highlightCell=function(a,
+c,b){c=null!=c?c:mxConstants.DEFAULT_VALID_COLOR;b=null!=b?b:1E3;a=this.view.getState(a);if(null!=a){var e=Math.max(5,mxUtils.getValue(a.style,mxConstants.STYLE_STROKEWIDTH,1)+4),h=new mxCellHighlight(this,c,e,!1);h.highlight(a);window.setTimeout(function(){null!=h.shape&&(mxUtils.setPrefixedStyle(h.shape.node.style,"transition","all 1200ms ease-in-out"),h.shape.node.style.opacity=0);window.setTimeout(function(){h.destroy()},1200)},b)}};Graph.prototype.addSvgShadow=function(a,c,b){b=null!=b?b:!1;
+var e=a.ownerDocument,h=null!=e.createElementNS?e.createElementNS(mxConstants.NS_SVG,"filter"):e.createElement("filter");h.setAttribute("id",this.shadowId);var m=null!=e.createElementNS?e.createElementNS(mxConstants.NS_SVG,"feGaussianBlur"):e.createElement("feGaussianBlur");m.setAttribute("in","SourceAlpha");m.setAttribute("stdDeviation",this.svgShadowBlur);m.setAttribute("result","blur");h.appendChild(m);m=null!=e.createElementNS?e.createElementNS(mxConstants.NS_SVG,"feOffset"):e.createElement("feOffset");
+m.setAttribute("in","blur");m.setAttribute("dx",this.svgShadowSize);m.setAttribute("dy",this.svgShadowSize);m.setAttribute("result","offsetBlur");h.appendChild(m);m=null!=e.createElementNS?e.createElementNS(mxConstants.NS_SVG,"feFlood"):e.createElement("feFlood");m.setAttribute("flood-color",this.svgShadowColor);m.setAttribute("flood-opacity",this.svgShadowOpacity);m.setAttribute("result","offsetColor");h.appendChild(m);m=null!=e.createElementNS?e.createElementNS(mxConstants.NS_SVG,"feComposite"):
+e.createElement("feComposite");m.setAttribute("in","offsetColor");m.setAttribute("in2","offsetBlur");m.setAttribute("operator","in");m.setAttribute("result","offsetBlur");h.appendChild(m);m=null!=e.createElementNS?e.createElementNS(mxConstants.NS_SVG,"feBlend"):e.createElement("feBlend");m.setAttribute("in","SourceGraphic");m.setAttribute("in2","offsetBlur");h.appendChild(m);m=a.getElementsByTagName("defs");0==m.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=m[0];e.appendChild(h);b||((c||a.getElementsByTagName("g")[0]).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)));return h};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"];mxStencilRegistry.libraries.bpmn=[SHAPES_PATH+"/bpmn/mxBpmnShape2.js",STENCIL_PATH+"/bpmn.xml"];mxStencilRegistry.libraries.er=[SHAPES_PATH+"/er/mxER.js"];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=
@@ -7086,312 +7086,312 @@ mxStencilRegistry.libraries.arrows2=[SHAPES_PATH+"/mxArrows.js"];mxStencilRegist
"/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.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.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,f,h,d,m,e,g,u){if(null!=b&&null==mxMarker.markers[b]){var l=this.getPackageForType(b);
-null!=l&&mxStencilRegistry.getStencil(l)}return t.apply(this,arguments)};PrintDialog.prototype.create=function(a,c){function b(){n.value=Math.max(1,Math.min(e,Math.max(parseInt(n.value),parseInt(k.value))));k.value=Math.max(1,Math.min(e,Math.min(parseInt(n.value),parseInt(k.value))))}function f(c){function b(c,b,h){var l=c.getGraphBounds(),m=0,d=0,e=ba.get(),g=1/c.pageScale,u=q.checked;if(u)var g=parseInt(Q.value),v=parseInt(P.value),g=Math.min(e.height*v/(l.height/c.view.scale),e.width*g/(l.width/
-c.view.scale));else g=parseInt(C.value)/(100*c.pageScale),isNaN(g)&&(f=1/c.pageScale,C.value="100 %");e=mxRectangle.fromRectangle(e);e.width=Math.ceil(e.width*f);e.height=Math.ceil(e.height*f);g*=f;!u&&c.pageVisible?(l=c.getPageLayout(),m-=l.x*e.width,d-=l.y*e.height):u=!0;if(null==b){b=PrintDialog.createPrintPreview(c,g,e,0,m,d,u);b.pageSelector=!1;b.mathEnabled=!1;c=a.getCurrentFile();null!=c&&(b.title=c.getTitle());var t=b.writeHead;b.writeHead=function(c){t.apply(this,arguments);null!=a.editor.fontCss&&
-(c.writeln('<style type="text/css">'),c.writeln(a.editor.fontCss),c.writeln("</style>"))};if("undefined"!==typeof MathJax){var w=b.renderPage;b.renderPage=function(a,c,b,f,h,l){var m=w.apply(this,arguments);this.graph.mathEnabled?this.mathEnabled=!0:m.className="geDisableMathJax";return m}}b.open(null,null,h,!0)}else{e=c.background;if(null==e||""==e||e==mxConstants.NONE)e="#ffffff";b.backgroundColor=e;b.autoOrigin=u;b.appendGraph(c,g,m,d,h,!0)}return b}var f=parseInt(U.value)/100;isNaN(f)&&(f=1,U.value=
-"100 %");var f=.75*f,l=k.value,d=n.value,m=!w.checked,e=null;m&&(m=l==g&&d==g);if(!m&&null!=a.pages&&a.pages.length){var u=0,m=a.pages.length-1;w.checked||(u=parseInt(l)-1,m=parseInt(d)-1);for(var v=u;v<=m;v++){var t=a.pages[v],l=t==a.currentPage?h:null;if(null==l){var l=a.createTemporaryGraph(h.getStylesheet()),d=!0,u=!1,x=null,p=null;null==t.viewState&&null==t.mapping&&null==t.root&&a.updatePageRoot(t);null!=t.viewState?(d=t.viewState.pageVisible,u=t.viewState.mathEnabled,x=t.viewState.background,
-p=t.viewState.backgroundImage):null!=t.mapping&&null!=t.mapping.diagramMap&&(u="0"!=t.mapping.diagramMap.get("mathEnabled"),x=t.mapping.diagramMap.get("background"),p=t.mapping.diagramMap.get("backgroundImage"),p=null!=p&&0<p.length?JSON.parse(p):null);l.background=x;l.backgroundImage=null!=p?new mxImage(p.src,p.width,p.height):null;l.pageVisible=d;l.mathEnabled=u;var D=l.getGlobalVariable;l.getGlobalVariable=function(a){return"page"==a?t.getName():"pagenumber"==a?v+1:D.apply(this,arguments)};document.body.appendChild(l.container);
-a.updatePageRoot(t);l.model.setRoot(t.root)}e=b(l,e,v!=m);l!=h&&l.container.parentNode.removeChild(l.container)}}else e=b(h);e.mathEnabled&&(m=e.wnd.document,m.writeln('<script type="text/x-mathjax-config">'),m.writeln("MathJax.Hub.Config({"),m.writeln('messageStyle: "none",'),m.writeln('jax: ["input/TeX", "input/MathML", "input/AsciiMath", "output/HTML-CSS"],'),m.writeln('extensions: ["tex2jax.js", "mml2jax.js", "asciimath2jax.js"],'),m.writeln("TeX: {"),m.writeln('extensions: ["AMSmath.js", "AMSsymbols.js", "noErrors.js", "noUndefined.js"]'),
-m.writeln("},"),m.writeln("tex2jax: {"),m.writeln('\tignoreClass: "geDisableMathJax"'),m.writeln("},"),m.writeln("asciimath2jax: {"),m.writeln('\tignoreClass: "geDisableMathJax"'),m.writeln("}"),m.writeln("});"),c&&(m.writeln("MathJax.Hub.Queue(function () {"),m.writeln("window.print();"),m.writeln("});")),m.writeln("\x3c/script>"),m.writeln('<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js">\x3c/script>'));e.closeDocument();!e.mathEnabled&&c&&PrintDialog.printPreview(e)}
-var h=a.editor.graph,d=document.createElement("div"),m=document.createElement("h3");m.style.width="100%";m.style.textAlign="center";m.style.marginTop="0px";mxUtils.write(m,c||mxResources.get("print"));d.appendChild(m);var e=1,g=1,u=document.createElement("div");u.style.cssText="border-bottom:1px solid lightGray;padding-bottom:12px;margin-bottom:12px;";var w=document.createElement("input");w.style.cssText="margin-right:8px;margin-bottom:8px;";w.setAttribute("value","all");w.setAttribute("type","radio");
-w.setAttribute("name","pages-printdialog");u.appendChild(w);m=document.createElement("span");mxUtils.write(m,mxResources.get("printAllPages"));u.appendChild(m);mxUtils.br(u);var t=w.cloneNode(!0);w.setAttribute("checked","checked");t.setAttribute("value","range");u.appendChild(t);m=document.createElement("span");mxUtils.write(m,mxResources.get("pages")+":");u.appendChild(m);var k=document.createElement("input");k.style.cssText="margin:0 8px 0 8px;";k.setAttribute("value","1");k.setAttribute("type",
-"number");k.setAttribute("min","1");k.style.width="50px";u.appendChild(k);m=document.createElement("span");mxUtils.write(m,mxResources.get("to"));u.appendChild(m);var n=k.cloneNode(!0);u.appendChild(n);mxEvent.addListener(k,"focus",function(){t.checked=!0});mxEvent.addListener(n,"focus",function(){t.checked=!0});mxEvent.addListener(k,"change",b);mxEvent.addListener(n,"change",b);if(null!=a.pages&&(e=a.pages.length,null!=a.currentPage))for(m=0;m<a.pages.length;m++)if(a.currentPage==a.pages[m]){g=m+
-1;k.value=g;n.value=g;break}k.setAttribute("max",e);n.setAttribute("max",e);1<e&&d.appendChild(u);var x=document.createElement("div");x.style.marginBottom="10px";var p=document.createElement("input");p.style.marginRight="8px";p.setAttribute("value","adjust");p.setAttribute("type","radio");p.setAttribute("name","printZoom");x.appendChild(p);m=document.createElement("span");mxUtils.write(m,mxResources.get("adjustTo"));x.appendChild(m);var C=document.createElement("input");C.style.cssText="margin:0 8px 0 8px;";
-C.setAttribute("value","100 %");C.style.width="50px";x.appendChild(C);mxEvent.addListener(C,"focus",function(){p.checked=!0});d.appendChild(x);var u=u.cloneNode(!1),q=p.cloneNode(!0);q.setAttribute("value","fit");p.setAttribute("checked","checked");m=document.createElement("div");m.style.cssText="display:inline-block;height:100%;vertical-align:top;padding-top:2px;";m.appendChild(q);u.appendChild(m);x=document.createElement("table");x.style.display="inline-block";var N=document.createElement("tbody"),
-S=document.createElement("tr"),O=S.cloneNode(!0),I=document.createElement("td"),W=I.cloneNode(!0),R=I.cloneNode(!0),T=I.cloneNode(!0),V=I.cloneNode(!0),K=I.cloneNode(!0);I.style.textAlign="right";T.style.textAlign="right";mxUtils.write(I,mxResources.get("fitTo"));var Q=document.createElement("input");Q.style.cssText="margin:0 8px 0 8px;";Q.setAttribute("value","1");Q.setAttribute("min","1");Q.setAttribute("type","number");Q.style.width="40px";W.appendChild(Q);m=document.createElement("span");mxUtils.write(m,
-mxResources.get("fitToSheetsAcross"));R.appendChild(m);mxUtils.write(T,mxResources.get("fitToBy"));var P=Q.cloneNode(!0);V.appendChild(P);mxEvent.addListener(Q,"focus",function(){q.checked=!0});mxEvent.addListener(P,"focus",function(){q.checked=!0});m=document.createElement("span");mxUtils.write(m,mxResources.get("fitToSheetsDown"));K.appendChild(m);S.appendChild(I);S.appendChild(W);S.appendChild(R);O.appendChild(T);O.appendChild(V);O.appendChild(K);N.appendChild(S);N.appendChild(O);x.appendChild(N);
-u.appendChild(x);d.appendChild(u);u=document.createElement("div");m=document.createElement("div");m.style.fontWeight="bold";m.style.marginBottom="12px";mxUtils.write(m,mxResources.get("paperSize"));u.appendChild(m);m=document.createElement("div");m.style.marginBottom="12px";var ba=PageSetupDialog.addPageFormatPanel(m,"printdialog",a.editor.graph.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT);u.appendChild(m);m=document.createElement("span");mxUtils.write(m,mxResources.get("pageScale"));u.appendChild(m);
-var U=document.createElement("input");U.style.cssText="margin:0 8px 0 8px;";U.setAttribute("value","100 %");U.style.width="60px";u.appendChild(U);d.appendChild(u);m=document.createElement("div");m.style.cssText="text-align:right;margin:62px 0 0 0;";u=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});u.className="geBtn";a.editor.cancelFirst&&m.appendChild(u);a.isOffline()||(x=mxUtils.button(mxResources.get("help"),function(){h.openLink("https://desk.draw.io/support/solutions/articles/16000048947")}),
-x.className="geBtn",m.appendChild(x));PrintDialog.previewEnabled&&(x=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();f(!1)}),x.className="geBtn",m.appendChild(x));x=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();f(!0)});x.className="geBtn gePrimaryBtn";m.appendChild(x);a.editor.cancelFirst||m.appendChild(u);d.appendChild(m);this.container=d};var w=ChangePageSetup.prototype.execute;ChangePageSetup.prototype.execute=function(){null==
+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,h,f,d,g,u,q){if(null!=b&&null==mxMarker.markers[b]){var m=this.getPackageForType(b);
+null!=m&&mxStencilRegistry.getStencil(m)}return t.apply(this,arguments)};PrintDialog.prototype.create=function(a,c){function b(){l.value=Math.max(1,Math.min(g,Math.max(parseInt(l.value),parseInt(k.value))));k.value=Math.max(1,Math.min(g,Math.min(parseInt(l.value),parseInt(k.value))))}function e(c){function b(c,b,h){var m=c.getGraphBounds(),d=0,f=0,q=ba.get(),g=1/c.pageScale,u=p.checked;if(u)var g=parseInt(Q.value),v=parseInt(P.value),g=Math.min(q.height*v/(m.height/c.view.scale),q.width*g/(m.width/
+c.view.scale));else g=parseInt(n.value)/(100*c.pageScale),isNaN(g)&&(e=1/c.pageScale,n.value="100 %");q=mxRectangle.fromRectangle(q);q.width=Math.ceil(q.width*e);q.height=Math.ceil(q.height*e);g*=e;!u&&c.pageVisible?(m=c.getPageLayout(),d-=m.x*q.width,f-=m.y*q.height):u=!0;if(null==b){b=PrintDialog.createPrintPreview(c,g,q,0,d,f,u);b.pageSelector=!1;b.mathEnabled=!1;c=a.getCurrentFile();null!=c&&(b.title=c.getTitle());var w=b.writeHead;b.writeHead=function(c){w.apply(this,arguments);null!=a.editor.fontCss&&
+(c.writeln('<style type="text/css">'),c.writeln(a.editor.fontCss),c.writeln("</style>"))};if("undefined"!==typeof MathJax){var t=b.renderPage;b.renderPage=function(a,c,b,e,h,m){var d=t.apply(this,arguments);this.graph.mathEnabled?this.mathEnabled=!0:d.className="geDisableMathJax";return d}}b.open(null,null,h,!0)}else{q=c.background;if(null==q||""==q||q==mxConstants.NONE)q="#ffffff";b.backgroundColor=q;b.autoOrigin=u;b.appendGraph(c,g,d,f,h,!0)}return b}var e=parseInt(U.value)/100;isNaN(e)&&(e=1,U.value=
+"100 %");var e=.75*e,m=k.value,f=l.value,d=!w.checked,q=null;d&&(d=m==u&&f==u);if(!d&&null!=a.pages&&a.pages.length){var g=0,d=a.pages.length-1;w.checked||(g=parseInt(m)-1,d=parseInt(f)-1);for(var v=g;v<=d;v++){var t=a.pages[v],m=t==a.currentPage?h:null;if(null==m){var m=a.createTemporaryGraph(h.getStylesheet()),f=!0,g=!1,y=null,x=null;null==t.viewState&&null==t.mapping&&null==t.root&&a.updatePageRoot(t);null!=t.viewState?(f=t.viewState.pageVisible,g=t.viewState.mathEnabled,y=t.viewState.background,
+x=t.viewState.backgroundImage):null!=t.mapping&&null!=t.mapping.diagramMap&&(g="0"!=t.mapping.diagramMap.get("mathEnabled"),y=t.mapping.diagramMap.get("background"),x=t.mapping.diagramMap.get("backgroundImage"),x=null!=x&&0<x.length?JSON.parse(x):null);m.background=y;m.backgroundImage=null!=x?new mxImage(x.src,x.width,x.height):null;m.pageVisible=f;m.mathEnabled=g;var C=m.getGlobalVariable;m.getGlobalVariable=function(a){return"page"==a?t.getName():"pagenumber"==a?v+1:C.apply(this,arguments)};document.body.appendChild(m.container);
+a.updatePageRoot(t);m.model.setRoot(t.root)}q=b(m,q,v!=d);m!=h&&m.container.parentNode.removeChild(m.container)}}else q=b(h);q.mathEnabled&&(d=q.wnd.document,d.writeln('<script type="text/x-mathjax-config">'),d.writeln("MathJax.Hub.Config({"),d.writeln('messageStyle: "none",'),d.writeln('jax: ["input/TeX", "input/MathML", "input/AsciiMath", "output/HTML-CSS"],'),d.writeln('extensions: ["tex2jax.js", "mml2jax.js", "asciimath2jax.js"],'),d.writeln('"HTML-CSS": {'),d.writeln("imageFont: null"),d.writeln("},"),
+d.writeln("TeX: {"),d.writeln('extensions: ["AMSmath.js", "AMSsymbols.js", "noErrors.js", "noUndefined.js"]'),d.writeln("},"),d.writeln("tex2jax: {"),d.writeln('\tignoreClass: "geDisableMathJax"'),d.writeln("},"),d.writeln("asciimath2jax: {"),d.writeln('\tignoreClass: "geDisableMathJax"'),d.writeln("}"),d.writeln("});"),c&&(d.writeln("MathJax.Hub.Queue(function () {"),d.writeln("window.print();"),d.writeln("});")),d.writeln("\x3c/script>"),d.writeln('<script type="text/javascript" src="https://math.draw.io/current/MathJax.js">\x3c/script>'));
+q.closeDocument();!q.mathEnabled&&c&&PrintDialog.printPreview(q)}var h=a.editor.graph,f=document.createElement("div"),d=document.createElement("h3");d.style.width="100%";d.style.textAlign="center";d.style.marginTop="0px";mxUtils.write(d,c||mxResources.get("print"));f.appendChild(d);var g=1,u=1,q=document.createElement("div");q.style.cssText="border-bottom:1px solid lightGray;padding-bottom:12px;margin-bottom:12px;";var w=document.createElement("input");w.style.cssText="margin-right:8px;margin-bottom:8px;";
+w.setAttribute("value","all");w.setAttribute("type","radio");w.setAttribute("name","pages-printdialog");q.appendChild(w);d=document.createElement("span");mxUtils.write(d,mxResources.get("printAllPages"));q.appendChild(d);mxUtils.br(q);var t=w.cloneNode(!0);w.setAttribute("checked","checked");t.setAttribute("value","range");q.appendChild(t);d=document.createElement("span");mxUtils.write(d,mxResources.get("pages")+":");q.appendChild(d);var k=document.createElement("input");k.style.cssText="margin:0 8px 0 8px;";
+k.setAttribute("value","1");k.setAttribute("type","number");k.setAttribute("min","1");k.style.width="50px";q.appendChild(k);d=document.createElement("span");mxUtils.write(d,mxResources.get("to"));q.appendChild(d);var l=k.cloneNode(!0);q.appendChild(l);mxEvent.addListener(k,"focus",function(){t.checked=!0});mxEvent.addListener(l,"focus",function(){t.checked=!0});mxEvent.addListener(k,"change",b);mxEvent.addListener(l,"change",b);if(null!=a.pages&&(g=a.pages.length,null!=a.currentPage))for(d=0;d<a.pages.length;d++)if(a.currentPage==
+a.pages[d]){u=d+1;k.value=u;l.value=u;break}k.setAttribute("max",g);l.setAttribute("max",g);1<g&&f.appendChild(q);var y=document.createElement("div");y.style.marginBottom="10px";var x=document.createElement("input");x.style.marginRight="8px";x.setAttribute("value","adjust");x.setAttribute("type","radio");x.setAttribute("name","printZoom");y.appendChild(x);d=document.createElement("span");mxUtils.write(d,mxResources.get("adjustTo"));y.appendChild(d);var n=document.createElement("input");n.style.cssText=
+"margin:0 8px 0 8px;";n.setAttribute("value","100 %");n.style.width="50px";y.appendChild(n);mxEvent.addListener(n,"focus",function(){x.checked=!0});f.appendChild(y);var q=q.cloneNode(!1),p=x.cloneNode(!0);p.setAttribute("value","fit");x.setAttribute("checked","checked");d=document.createElement("div");d.style.cssText="display:inline-block;height:100%;vertical-align:top;padding-top:2px;";d.appendChild(p);q.appendChild(d);y=document.createElement("table");y.style.display="inline-block";var N=document.createElement("tbody"),
+S=document.createElement("tr"),O=S.cloneNode(!0),H=document.createElement("td"),W=H.cloneNode(!0),R=H.cloneNode(!0),T=H.cloneNode(!0),V=H.cloneNode(!0),K=H.cloneNode(!0);H.style.textAlign="right";T.style.textAlign="right";mxUtils.write(H,mxResources.get("fitTo"));var Q=document.createElement("input");Q.style.cssText="margin:0 8px 0 8px;";Q.setAttribute("value","1");Q.setAttribute("min","1");Q.setAttribute("type","number");Q.style.width="40px";W.appendChild(Q);d=document.createElement("span");mxUtils.write(d,
+mxResources.get("fitToSheetsAcross"));R.appendChild(d);mxUtils.write(T,mxResources.get("fitToBy"));var P=Q.cloneNode(!0);V.appendChild(P);mxEvent.addListener(Q,"focus",function(){p.checked=!0});mxEvent.addListener(P,"focus",function(){p.checked=!0});d=document.createElement("span");mxUtils.write(d,mxResources.get("fitToSheetsDown"));K.appendChild(d);S.appendChild(H);S.appendChild(W);S.appendChild(R);O.appendChild(T);O.appendChild(V);O.appendChild(K);N.appendChild(S);N.appendChild(O);y.appendChild(N);
+q.appendChild(y);f.appendChild(q);q=document.createElement("div");d=document.createElement("div");d.style.fontWeight="bold";d.style.marginBottom="12px";mxUtils.write(d,mxResources.get("paperSize"));q.appendChild(d);d=document.createElement("div");d.style.marginBottom="12px";var ba=PageSetupDialog.addPageFormatPanel(d,"printdialog",a.editor.graph.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT);q.appendChild(d);d=document.createElement("span");mxUtils.write(d,mxResources.get("pageScale"));q.appendChild(d);
+var U=document.createElement("input");U.style.cssText="margin:0 8px 0 8px;";U.setAttribute("value","100 %");U.style.width="60px";q.appendChild(U);f.appendChild(q);d=document.createElement("div");d.style.cssText="text-align:right;margin:62px 0 0 0;";q=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});q.className="geBtn";a.editor.cancelFirst&&d.appendChild(q);a.isOffline()||(y=mxUtils.button(mxResources.get("help"),function(){h.openLink("https://desk.draw.io/support/solutions/articles/16000048947")}),
+y.className="geBtn",d.appendChild(y));PrintDialog.previewEnabled&&(y=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();e(!1)}),y.className="geBtn",d.appendChild(y));y=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();e(!0)});y.className="geBtn gePrimaryBtn";d.appendChild(y);a.editor.cancelFirst||d.appendChild(q);f.appendChild(d);this.container=f};var w=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)):(w.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))}})();
-(function(){var b=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);b.beforeDecode=function(b,d,c){c.ui=b.ui;return d};b.afterDecode=function(b,d,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(b)})();(function(){EditorUi.VERSION="8.6.8";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.enableLogging=/.*\.draw\.io$/.test(window.location.hostname);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.prototype.emptyDiagramXml='<mxGraphModel><root><mxCell id="0"/><mxCell id="1" parent="0"/></root></mxGraphModel>';
+(function(){var b=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);b.beforeDecode=function(b,f,c){c.ui=b.ui;return f};b.afterDecode=function(b,f,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(b)})();(function(){EditorUi.VERSION="8.6.9";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.enableLogging=/.*\.draw\.io$/.test(window.location.hostname);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.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.sidebarFooterHeight=36;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.currentFile=null;EditorUi.prototype.printPdfExport=
-!1;EditorUi.prototype.pdfPageExport=!0;EditorUi.prototype.formatEnabled="0"!=urlParams.format;EditorUi.prototype.closableScratchpad=!0;EditorUi.prototype.showCsvImport=!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(u){}try{var c=document.createElement("canvas"),b=new Image;b.onload=function(){try{c.getContext("2d").drawImage(b,0,0);var a=
-c.toDataURL("image/png");EditorUi.prototype.useCanvasForExport=null!=a&&6<a.length}catch(t){}};b.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(u){}try{c=document.createElement("canvas");c.width=c.height=1;var m=c.toDataURL("image/jpeg");
-EditorUi.prototype.jpgSupported=null!==m.match("image/jpeg")}catch(u){}})();EditorUi.prototype.openLink=function(a,c){return this.editor.graph.openLink(a,c)};EditorUi.prototype.showSplash=function(a){};EditorUi.prototype.getLocalData=function(a,c){c(localStorage.getItem(a))};EditorUi.prototype.setLocalData=function(a,c,b){localStorage.setItem(a,c);b()};EditorUi.prototype.removeLocalData=function(a,c){localStorage.removeItem(a);c()};EditorUi.prototype.setMathEnabled=function(a){this.editor.graph.mathEnabled=
+!1;EditorUi.prototype.pdfPageExport=!0;EditorUi.prototype.formatEnabled="0"!=urlParams.format;EditorUi.prototype.closableScratchpad=!0;EditorUi.prototype.showCsvImport=!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(q){}try{var c=document.createElement("canvas"),b=new Image;b.onload=function(){try{c.getContext("2d").drawImage(b,0,0);var a=
+c.toDataURL("image/png");EditorUi.prototype.useCanvasForExport=null!=a&&6<a.length}catch(t){}};b.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(q){}try{c=document.createElement("canvas");c.width=c.height=1;var d=c.toDataURL("image/jpeg");
+EditorUi.prototype.jpgSupported=null!==d.match("image/jpeg")}catch(q){}})();EditorUi.prototype.openLink=function(a,c){return this.editor.graph.openLink(a,c)};EditorUi.prototype.showSplash=function(a){};EditorUi.prototype.getLocalData=function(a,c){c(localStorage.getItem(a))};EditorUi.prototype.setLocalData=function(a,c,b){localStorage.setItem(a,c);b()};EditorUi.prototype.removeLocalData=function(a,c){localStorage.removeItem(a);c()};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()};EditorUi.prototype.isOfflineApp=function(){return"1"==urlParams.offline};EditorUi.prototype.isOffline=function(){return this.isOfflineApp()||!navigator.onLine||"1"==urlParams.stealth};EditorUi.prototype.createSpinner=
-function(a,c,b){b=null!=b?b:24;var f=new Spinner({lines:12,length:b,width:Math.round(b/3),radius:Math.round(b/2),rotate:0,color:"dark"==uiTheme?"#c0c0c0":"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,zIndex:2E9}),h=f.spin;f.spin=function(b,d){var m=!1;this.active||(h.call(this,b),this.active=!0,null!=d&&(m=document.createElement("div"),m.style.position="absolute",m.style.whiteSpace="nowrap",m.style.background="#4B4243",m.style.color="white",m.style.fontFamily="Helvetica, Arial",m.style.fontSize=
-"9pt",m.style.padding="6px",m.style.paddingLeft="10px",m.style.paddingRight="10px",m.style.zIndex=2E9,m.style.left=Math.max(0,a)+"px",m.style.top=Math.max(0,c+70)+"px",mxUtils.setPrefixedStyle(m.style,"borderRadius","6px"),mxUtils.setPrefixedStyle(m.style,"transform","translate(-50%,-50%)"),"dark"!=uiTheme&&mxUtils.setPrefixedStyle(m.style,"boxShadow","2px 2px 3px 0px #ddd"),m.innerHTML=d+"...",b.appendChild(m),f.status=m,mxClient.IS_VML&&(null==document.documentMode||8>=document.documentMode)&&(m.style.left=
-Math.round(Math.max(0,a-m.offsetWidth/2))+"px",m.style.top=Math.round(Math.max(0,c+70-m.offsetHeight/2))+"px")),this.pause=mxUtils.bind(this,function(){var a=function(){};this.active&&(a=mxUtils.bind(this,function(){this.spin(b,d)}));this.stop();return a}),m=!0);return m};var d=f.stop;f.stop=function(){d.call(this);this.active=!1;null!=f.status&&(f.status.parentNode.removeChild(f.status),f.status=null)};f.pause=function(){return function(){}};return f};EditorUi.parsePng=function(a,c,b){function f(a,
-c){var b=d;d+=c;return a.substring(b,d)}function h(a){a=f(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}var d=0;if(f(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=b&&b();else if(f(a,4),"IHDR"!=f(a,4))null!=b&&b();else{f(a,17);do{b=h(a);var e=f(a,4);if(null!=c&&c(d-8,e,b))break;value=f(a,b);f(a,4);if("IEND"==e)break}while(b)}};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(m){}return!1};var b=EditorUi.prototype.extractGraphModelFromHtml;EditorUi.prototype.extractGraphModelFromHtml=function(a){var c=b.apply(this,arguments);if(null==c)try{var h=a.indexOf("&lt;mxfile ");if(0<=h){var d=a.lastIndexOf("&lt;/mxfile&gt;");d>h&&(c=a.substring(h,d+15).replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/\\&quot;/g,'"').replace(/\n/g,""))}else var e=mxUtils.parseXml(a),g=this.editor.extractGraphModel(e.documentElement,
+function(a,c,b){b=null!=b?b:24;var e=new Spinner({lines:12,length:b,width:Math.round(b/3),radius:Math.round(b/2),rotate:0,color:"dark"==uiTheme?"#c0c0c0":"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,zIndex:2E9}),h=e.spin;e.spin=function(b,d){var f=!1;this.active||(h.call(this,b),this.active=!0,null!=d&&(f=document.createElement("div"),f.style.position="absolute",f.style.whiteSpace="nowrap",f.style.background="#4B4243",f.style.color="white",f.style.fontFamily="Helvetica, Arial",f.style.fontSize=
+"9pt",f.style.padding="6px",f.style.paddingLeft="10px",f.style.paddingRight="10px",f.style.zIndex=2E9,f.style.left=Math.max(0,a)+"px",f.style.top=Math.max(0,c+70)+"px",mxUtils.setPrefixedStyle(f.style,"borderRadius","6px"),mxUtils.setPrefixedStyle(f.style,"transform","translate(-50%,-50%)"),"dark"!=uiTheme&&mxUtils.setPrefixedStyle(f.style,"boxShadow","2px 2px 3px 0px #ddd"),f.innerHTML=d+"...",b.appendChild(f),e.status=f,mxClient.IS_VML&&(null==document.documentMode||8>=document.documentMode)&&(f.style.left=
+Math.round(Math.max(0,a-f.offsetWidth/2))+"px",f.style.top=Math.round(Math.max(0,c+70-f.offsetHeight/2))+"px")),this.pause=mxUtils.bind(this,function(){var a=function(){};this.active&&(a=mxUtils.bind(this,function(){this.spin(b,d)}));this.stop();return a}),f=!0);return f};var d=e.stop;e.stop=function(){d.call(this);this.active=!1;null!=e.status&&(e.status.parentNode.removeChild(e.status),e.status=null)};e.pause=function(){return function(){}};return e};EditorUi.parsePng=function(a,c,b){function e(a,
+c){var b=f;f+=c;return a.substring(b,f)}function h(a){a=e(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}var f=0;if(e(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=b&&b();else if(e(a,4),"IHDR"!=e(a,4))null!=b&&b();else{e(a,17);do{b=h(a);var d=e(a,4);if(null!=c&&c(f-8,d,b))break;value=e(a,b);e(a,4);if("IEND"==d)break}while(b)}};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(u){}return!1};var b=EditorUi.prototype.extractGraphModelFromHtml;EditorUi.prototype.extractGraphModelFromHtml=function(a){var c=b.apply(this,arguments);if(null==c)try{var h=a.indexOf("&lt;mxfile ");if(0<=h){var f=a.lastIndexOf("&lt;/mxfile&gt;");f>h&&(c=a.substring(h,f+15).replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/\\&quot;/g,'"').replace(/\n/g,""))}else var d=mxUtils.parseXml(a),g=this.editor.extractGraphModel(d.documentElement,
null!=this.pages),c=null!=g?mxUtils.getXml(g):""}catch(w){}return c};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))}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 e=d.length-1;0<=e;e--){var g=this.updatePageRoot(new DiagramPage(d[e]));null==g.getName()&&g.setName(mxResources.get("pageWithNumber",[e+1]));c.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])),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(e=0;e<b.length;e++)c.model.execute(new ChangePage(this,b[e],null))}finally{c.model.endUpdate()}}};EditorUi.prototype.createFileData=
-function(a,c,b,d,e,g,w,k,n,l){c=null!=c?c:this.editor.graph;e=null!=e?e:!1;n=null!=n?n:!0;var f,h=null;null==b||b.getMode()==App.MODE_DEVICE||b.getMode()==App.MODE_BROWSER?f="_blank":h=f=d;if(null==a)return"";var m=a;if("mxfile"!=m.nodeName.toLowerCase()){var u=c.zapGremlins(mxUtils.getXml(a)),m=c.compress(u);if(c.decompress(m)!=u)return u;u=a.ownerDocument.createElement("diagram");mxUtils.setTextContent(u,m);m=a.ownerDocument.createElement("mxfile");m.appendChild(u)}l?(m=m.cloneNode(!0),m.removeAttribute("userAgent"),
-m.removeAttribute("version"),m.removeAttribute("editor"),m.removeAttribute("type")):(m.setAttribute("userAgent",navigator.userAgent),m.setAttribute("version",EditorUi.VERSION),m.setAttribute("editor","www.draw.io"),a=null!=b?b.getMode():this.mode,null!=a&&m.setAttribute("type",a));a=mxUtils.getXml(m);if(!g&&!e&&(w||null!=b&&/(\.html)$/i.test(b.getTitle())))a=this.getHtml2(mxUtils.getXml(m),c,null!=b?b.getTitle():null,f,h);else if(g||!e&&null!=b&&/(\.svg)$/i.test(b.getTitle()))null==b||b.getMode()!=
-App.MODE_DEVICE&&b.getMode()!=App.MODE_BROWSER||(d=null),a=this.getEmbeddedSvg(a,c,d,null,k,n,h);return a};EditorUi.prototype.getXmlFileData=function(a,c){a=null!=a?a:!0;c=null!=c?c:!1;var b=this.editor.getGraphXml(a);if(a&&null!=this.fileNode&&null!=this.currentPage){var f=this.editor.graph.compress(this.editor.graph.zapGremlins(mxUtils.getXml(b)));mxUtils.setTextContent(this.currentPage.node,f);b=this.fileNode.cloneNode(!1);if(c)b.appendChild(this.currentPage.node);else for(var d=0;d<this.pages.length;d++){var e=
-this.pages[d].mapping;this.currentPage!=this.pages[d]&&null!=e&&e.needsUpdate&&(f=(new mxCodec(mxUtils.createXmlDocument())).encode(e.graphModel),e.writeRealtimeToNode(f),f=this.editor.graph.compress(this.editor.graph.zapGremlins(mxUtils.getXml(f))),mxUtils.setTextContent(this.pages[d].node,f),e.needsUpdate=!1);b.appendChild(this.pages[d].node)}}return b};EditorUi.prototype.getFileData=function(a,c,b,d,e,g,w,k,n){e=null!=e?e:!0;w=null!=w?w:this.getXmlFileData(e,null!=g?g:!1);n=null!=n?n:this.getCurrentFile();
-g=this.editor.graph;if(null!=this.pages&&this.currentPage!=this.pages[0]&&(c||!a&&null!=n&&/(\.svg)$/i.test(n.getTitle()))){g=this.createTemporaryGraph(g.getStylesheet());var f=g.getGlobalVariable,h=this.pages[0];g.getGlobalVariable=function(a){return"page"==a?h.getName():"pagenumber"==a?1:f.apply(this,arguments)};document.body.appendChild(g.container);g.model.setRoot(h.root)}a=this.createFileData(w,g,n,window.location.href,a,c,b,d,e,k);g!=this.editor.graph&&g.container.parentNode.removeChild(g.container);
-return a};EditorUi.prototype.getHtml=function(a,c,b,d,e,g){g=null!=g?g:!0;var f=null,h="https://www.draw.io/js/embed-static.min.js";if(null!=c){var f=g?c.getGraphBounds():c.getBoundingBox(c.getSelectionCells()),m=c.view.scale;g=Math.floor(f.x/m-c.view.translate.x);m=Math.floor(f.y/m-c.view.translate.y);f=c.background;null==e&&(c=this.getBasenames().join(";"),0<c.length&&(h="https://www.draw.io/embed.js?s="+c));a.setAttribute("x0",g);a.setAttribute("y0",m)}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!=d&&a.setAttribute("edit",d));null!=e&&(e=e.replace(/&/g,"&amp;"));a=null!=a?this.editor.graph.zapGremlins(mxUtils.getXml(a)):"";d=this.editor.graph.compress(a);this.editor.graph.decompress(d)!=a&&(d=encodeURIComponent(a));return(null==e?'\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n':"")+"<!DOCTYPE html>\n<html"+(null!=e?' xmlns="http://www.w3.org/1999/xhtml">':
-">")+"\n<head>\n"+(null==e?null!=b?"<title>"+mxUtils.htmlEntities(b)+"</title>\n":"":"<title>Draw.io Diagram</title>\n")+(null!=e?'<meta http-equiv="refresh" content="0;URL=\''+e+"'\"/>\n":"")+"</head>\n<body"+(null==e&&null!=f&&f!=mxConstants.NONE?' style="background-color:'+f+';">':">")+'\n<div class="mxgraph" style="position:relative;overflow:auto;width:100%;">\n<div style="width:1px;height:1px;overflow:hidden;">'+d+"</div>\n</div>\n"+(null==e?'<script type="text/javascript" src="'+h+'">\x3c/script>':
-'<a style="position:absolute;top:50%;left:50%;margin-top:-128px;margin-left:-64px;" href="'+e+'" target="_blank"><img border="0" src="https://www.draw.io/images/drawlogo128.png"/></a>')+"\n</body>\n</html>\n"};EditorUi.prototype.getHtml2=function(a,c,b,d,e){null!=e&&(e=e.replace(/&/g,"&amp;"));a={highlight:"#0000ff",nav:this.editor.graph.foldingEnabled,resize:!0,xml:this.editor.graph.zapGremlins(a),toolbar:"pages zoom layers lightbox"};null!=this.pages&&null!=this.currentPage&&(a.page=mxUtils.indexOf(this.pages,
-this.currentPage));return(null==e?'\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n':"")+"<!DOCTYPE html>\n<html"+(null!=e?' xmlns="http://www.w3.org/1999/xhtml">':">")+"\n<head>\n"+(null==e?null!=b?"<title>"+mxUtils.htmlEntities(b)+"</title>\n":"":"<title>Draw.io Diagram</title>\n")+(null!=e?'<meta http-equiv="refresh" content="0;URL=\''+e+"'\"/>\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==e?'<script type="text/javascript" src="https://www.draw.io/js/viewer.min.js">\x3c/script>':'<a style="position:absolute;top:50%;left:50%;margin-top:-128px;margin-left:-64px;" href="'+e+'" target="_blank"><img border="0" src="https://www.draw.io/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;var c=null!=a&&0<a.length?
+c.model.beginUpdate();try{var b=null!=this.pages?this.pages.slice():null,f=a.getElementsByTagName("diagram");if("0"!=urlParams.pages||1<f.length||1==f.length&&f[0].hasAttribute("name")){this.fileNode=a;this.pages=null!=this.pages?this.pages:[];for(var d=f.length-1;0<=d;d--){var g=this.updatePageRoot(new DiagramPage(f[d]));null==g.getName()&&g.setName(mxResources.get("pageWithNumber",[d+1]));c.model.execute(new ChangePage(this,g,0==d?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(d=0;d<b.length;d++)c.model.execute(new ChangePage(this,b[d],null))}finally{c.model.endUpdate()}}};EditorUi.prototype.createFileData=
+function(a,c,b,f,d,g,w,k,l,m){c=null!=c?c:this.editor.graph;d=null!=d?d:!1;l=null!=l?l:!0;var e,h=null;null==b||b.getMode()==App.MODE_DEVICE||b.getMode()==App.MODE_BROWSER?e="_blank":h=e=f;if(null==a)return"";var q=a;if("mxfile"!=q.nodeName.toLowerCase()){var u=c.zapGremlins(mxUtils.getXml(a)),q=c.compress(u);if(c.decompress(q)!=u)return u;u=a.ownerDocument.createElement("diagram");mxUtils.setTextContent(u,q);q=a.ownerDocument.createElement("mxfile");q.appendChild(u)}m?(q=q.cloneNode(!0),q.removeAttribute("userAgent"),
+q.removeAttribute("version"),q.removeAttribute("editor"),q.removeAttribute("type")):(q.setAttribute("userAgent",navigator.userAgent),q.setAttribute("version",EditorUi.VERSION),q.setAttribute("editor","www.draw.io"),a=null!=b?b.getMode():this.mode,null!=a&&q.setAttribute("type",a));a=mxUtils.getXml(q);if(!g&&!d&&(w||null!=b&&/(\.html)$/i.test(b.getTitle())))a=this.getHtml2(mxUtils.getXml(q),c,null!=b?b.getTitle():null,e,h);else if(g||!d&&null!=b&&/(\.svg)$/i.test(b.getTitle()))null==b||b.getMode()!=
+App.MODE_DEVICE&&b.getMode()!=App.MODE_BROWSER||(f=null),a=this.getEmbeddedSvg(a,c,f,null,k,l,h);return a};EditorUi.prototype.getXmlFileData=function(a,c){a=null!=a?a:!0;c=null!=c?c:!1;var b=this.editor.getGraphXml(a);if(a&&null!=this.fileNode&&null!=this.currentPage){var e=this.editor.graph.compress(this.editor.graph.zapGremlins(mxUtils.getXml(b)));mxUtils.setTextContent(this.currentPage.node,e);b=this.fileNode.cloneNode(!1);if(c)b.appendChild(this.currentPage.node);else for(var f=0;f<this.pages.length;f++){var d=
+this.pages[f].mapping;this.currentPage!=this.pages[f]&&null!=d&&d.needsUpdate&&(e=(new mxCodec(mxUtils.createXmlDocument())).encode(d.graphModel),d.writeRealtimeToNode(e),e=this.editor.graph.compress(this.editor.graph.zapGremlins(mxUtils.getXml(e))),mxUtils.setTextContent(this.pages[f].node,e),d.needsUpdate=!1);b.appendChild(this.pages[f].node)}}return b};EditorUi.prototype.getFileData=function(a,c,b,f,d,g,w,k,l){d=null!=d?d:!0;w=null!=w?w:this.getXmlFileData(d,null!=g?g:!1);l=null!=l?l:this.getCurrentFile();
+g=this.editor.graph;if(null!=this.pages&&this.currentPage!=this.pages[0]&&(c||!a&&null!=l&&/(\.svg)$/i.test(l.getTitle()))){g=this.createTemporaryGraph(g.getStylesheet());var e=g.getGlobalVariable,h=this.pages[0];g.getGlobalVariable=function(a){return"page"==a?h.getName():"pagenumber"==a?1:e.apply(this,arguments)};document.body.appendChild(g.container);g.model.setRoot(h.root)}a=this.createFileData(w,g,l,window.location.href,a,c,b,f,d,k);g!=this.editor.graph&&g.container.parentNode.removeChild(g.container);
+return a};EditorUi.prototype.getHtml=function(a,c,b,d,f,g){g=null!=g?g:!0;var e=null,h="https://www.draw.io/js/embed-static.min.js";if(null!=c){var e=g?c.getGraphBounds():c.getBoundingBox(c.getSelectionCells()),q=c.view.scale;g=Math.floor(e.x/q-c.view.translate.x);q=Math.floor(e.y/q-c.view.translate.y);e=c.background;null==f&&(c=this.getBasenames().join(";"),0<c.length&&(h="https://www.draw.io/embed.js?s="+c));a.setAttribute("x0",g);a.setAttribute("y0",q)}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!=d&&a.setAttribute("edit",d));null!=f&&(f=f.replace(/&/g,"&amp;"));a=null!=a?this.editor.graph.zapGremlins(mxUtils.getXml(a)):"";d=this.editor.graph.compress(a);this.editor.graph.decompress(d)!=a&&(d=encodeURIComponent(a));return(null==f?'\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n':"")+"<!DOCTYPE html>\n<html"+(null!=f?' xmlns="http://www.w3.org/1999/xhtml">':
+">")+"\n<head>\n"+(null==f?null!=b?"<title>"+mxUtils.htmlEntities(b)+"</title>\n":"":"<title>Draw.io Diagram</title>\n")+(null!=f?'<meta http-equiv="refresh" content="0;URL=\''+f+"'\"/>\n":"")+"</head>\n<body"+(null==f&&null!=e&&e!=mxConstants.NONE?' style="background-color:'+e+';">':">")+'\n<div class="mxgraph" style="position:relative;overflow:auto;width:100%;">\n<div style="width:1px;height:1px;overflow:hidden;">'+d+"</div>\n</div>\n"+(null==f?'<script type="text/javascript" src="'+h+'">\x3c/script>':
+'<a style="position:absolute;top:50%;left:50%;margin-top:-128px;margin-left:-64px;" href="'+f+'" target="_blank"><img border="0" src="https://www.draw.io/images/drawlogo128.png"/></a>')+"\n</body>\n</html>\n"};EditorUi.prototype.getHtml2=function(a,c,b,f,d){null!=d&&(d=d.replace(/&/g,"&amp;"));a={highlight:"#0000ff",nav:this.editor.graph.foldingEnabled,resize:!0,xml:this.editor.graph.zapGremlins(a),toolbar:"pages zoom layers lightbox"};null!=this.pages&&null!=this.currentPage&&(a.page=mxUtils.indexOf(this.pages,
+this.currentPage));return(null==d?'\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n':"")+"<!DOCTYPE html>\n<html"+(null!=d?' xmlns="http://www.w3.org/1999/xhtml">':">")+"\n<head>\n"+(null==d?null!=b?"<title>"+mxUtils.htmlEntities(b)+"</title>\n":"":"<title>Draw.io Diagram</title>\n")+(null!=d?'<meta http-equiv="refresh" content="0;URL=\''+d+"'\"/>\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==d?'<script type="text/javascript" src="https://www.draw.io/js/viewer.min.js">\x3c/script>':'<a style="position:absolute;top:50%;left:50%;margin-top:-128px;margin-left:-64px;" href="'+d+'" target="_blank"><img border="0" src="https://www.draw.io/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;var c=null!=a&&0<a.length?
mxUtils.parseXml(a).documentElement:null;a=null!=c?this.editor.extractGraphModel(c,!0):null;null!=a&&(c=a);if(null!=c&&"mxfile"==c.nodeName&&(a=c.getElementsByTagName("diagram"),"0"!=urlParams.pages||1<a.length||1==a.length&&a[0].hasAttribute("name"))){this.fileNode=c;this.pages=[];for(c=0;c<a.length;c++){var b=new DiagramPage(a[c]);null==b.getName()&&b.setName(mxResources.get("pageWithNumber",[c+1]));this.pages.push(b)}this.currentPage=this.pages[Math.max(0,Math.min(this.pages.length-1,urlParams.page||
-0))];c=this.currentPage.node}"0"!=urlParams.pages&&null==this.fileNode&&null!=c&&(this.fileNode=c.ownerDocument.createElement("mxfile"),this.currentPage=new DiagramPage(c.ownerDocument.createElement("diagram")),this.currentPage.setName(mxResources.get("pageWithNumber",[1])),this.pages=[this.currentPage]);this.editor.setGraphXml(c);null!=this.currentPage&&(this.currentPage.root=this.editor.graph.model.root)};EditorUi.prototype.getBaseFilename=function(){var a=this.getCurrentFile(),a=null!=a&&null!=
-a.getTitle()?a.getTitle():this.defaultFilename;if(/(\.xml)$/i.test(a)||/(\.html)$/i.test(a)||/(\.svg)$/i.test(a)||/(\.png)$/i.test(a))a=a.substring(0,a.lastIndexOf("."));return a};EditorUi.prototype.downloadFile=function(a,c,b,d,e,g,w){try{d=null!=d?d:this.editor.graph.isSelectionEmpty();var f=this.getBaseFilename(),h=f+"."+a;if("xml"==a){var l='<?xml version="1.0" encoding="UTF-8"?>\n'+(c?mxUtils.getXml(this.editor.getGraphXml(d)):this.getFileData(!0,null,null,null,d,e));this.saveData(h,a,l,"text/xml")}else if("html"==
-a)l=this.getHtml2(this.getFileData(!0),this.editor.graph,f),this.saveData(h,a,l,"text/html");else if("svg"!=a&&"xmlsvg"!=a||!this.spinner.spin(document.body,mxResources.get("export")))"xmlpng"==a?h=f+".png":"jpeg"==a&&(h=f+".jpg"),this.saveRequest(h,a,mxUtils.bind(this,function(c,b){try{var f=this.editor.graph.pageVisible;null!=g&&(this.editor.graph.pageVisible=g);var h=this.createDownloadRequest(c,a,d,b,w);this.editor.graph.pageVisible=f;return h}catch(D){this.handleError(D)}}));else{var m=null,
-u=mxUtils.bind(this,function(a){a.length<=MAX_REQUEST_SIZE?this.saveData(h,"svg",a,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(m)}))});if("svg"==a){var t=this.editor.graph.background;if(w||t==mxConstants.NONE)t=null;var k=this.editor.graph.getSvg(t,null,null,null,null,d);b&&this.editor.graph.addSvgShadow(k);this.convertImages(k,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 h=f+".svg",m=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,c,b,d,e){var f=this.editor.graph.getGraphBounds();b=this.getFileData(!0,null,null,null,b,"xmlpng"!=c);var h="";if(f.width*f.height>MAX_AREA||b.length>
-MAX_REQUEST_SIZE)throw{message:mxResources.get("drawingTooLarge")};f="0";if("xmlpng"==c&&(f="1",c="png",null!=this.pages&&null!=this.currentPage))for(var m=0;m<this.pages.length;m++)if(this.pages[m]==this.currentPage){h="&from="+m;break}m=this.editor.graph.background;"png"==c&&e&&(m=mxConstants.NONE);return new mxXmlRequest(EXPORT_URL,"format="+c+h+"&bg="+(null!=m?m:mxConstants.NONE)+"&base64="+d+"&embedXml="+f+"&xml="+encodeURIComponent(b)+(null!=a?"&filename="+encodeURIComponent(a):""))};EditorUi.prototype.setMode=
-function(a,c){this.mode=a};EditorUi.prototype.loadDescriptor=function(a,c,b){var f=window.location.hash,h=mxUtils.bind(this,function(b){var h=null!=a.data?a.data:"";null!=b&&0<b.length&&(0<h.length&&(h+="\n"),h+=b);b=new LocalFile(this,"csv"!=a.format&&0<h.length?h:this.emptyDiagramXml,null!=urlParams.title?decodeURIComponent(urlParams.title):this.defaultFilename,!0);b.getHash=function(){return f};this.fileLoaded(b);"csv"==a.format&&this.importCsv(h,mxUtils.bind(this,function(a){this.editor.undoManager.clear();
-this.editor.setModified(!1);this.editor.setStatus("")}));if(null!=a.update){var d=null!=a.interval?parseInt(a.interval):6E4,l=null,m=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()),e()):this.handleError({message:mxResources.get("error")+" "+a.getStatus()}))}),mxUtils.bind(this,function(a){this.handleError(a)}))}),
-e=mxUtils.bind(this,function(){window.clearTimeout(l);l=window.setTimeout(m,d)});this.editor.addListener("pageSelected",mxUtils.bind(this,function(){e();m()}));e();m()}null!=c&&c()});if(null!=a.url){var d=a.url;/^https?:\/\//.test(d)&&!this.isCorsEnabledForUrl(d)&&(d=PROXY_URL+"?url="+encodeURIComponent(a.url));this.loadUrl(d,mxUtils.bind(this,function(a){h(a)}),mxUtils.bind(this,function(a){null!=b&&b(a)}))}else h(a.data)};EditorUi.prototype.updateDiagram=function(a){function c(a){var c=new mxCellOverlay(a.image||
-d.warningImage,a.tooltip,a.align,a.valign,a.offset);c.addListener(mxEvent.CLICK,function(c,b){editorUi.alert(a.tooltip)});return c}var b=null;if(null!=a&&0<a.length&&(b=mxUtils.parseXml(a),a=null!=b?b.documentElement:null,null!=a&&"updates"==a.nodeName)){var d=this.editor.graph,e=d.getModel();e.beginUpdate();var g=null;try{for(a=a.firstChild;null!=a;){if("update"==a.nodeName){var w=e.getCell(a.getAttribute("id"));if(null!=w){try{var k=a.getAttribute("value");if(null!=k){var n=mxUtils.parseXml(k).documentElement;
-if(null!=n)if("1"==n.getAttribute("replace-value"))e.setValue(w,n);else for(var l=n.attributes,v=0;v<l.length;v++)d.setAttributeForCell(w,l[v].nodeName,0<l[v].nodeValue.length?l[v].nodeValue:null)}}catch(D){null!=window.console&&console.log("Error in value for "+w.id+": "+D)}try{var p=a.getAttribute("style");null!=p&&d.model.setStyle(w,p)}catch(D){null!=window.console&&console.log("Error in style for "+w.id+": "+D)}try{var q=a.getAttribute("icon");if(null!=q){var y=0<q.length?JSON.parse(q):null;null!=
-y&&y.append||d.removeCellOverlays(w);null!=y&&d.addCellOverlay(w,c(y))}}catch(D){null!=window.console&&console.log("Error in icon for "+w.id+": "+D)}try{var E=a.getAttribute("geometry");if(null!=E){var E=JSON.parse(E),B=d.getCellGeometry(w);if(null!=B){B=B.clone();for(key in E){var A=parseFloat(E[key]);"dx"==key?B.x+=A:"dy"==key?B.y+=A:"dw"==key?B.width+=A:"dh"==key?B.height+=A:B[key]=parseFloat(E[key])}d.model.setGeometry(w,B)}}}catch(D){null!=window.console&&console.log("Error in icon for "+w.id+
-": "+D)}}}else if("model"==a.nodeName){for(var J=a.firstChild;null!=J&&J.nodeType!=mxConstants.NODETYPE_ELEMENT;)J=J.nextSibling;null!=J&&(new mxCodec(a.firstChild)).decode(J,e)}else if("view"==a.nodeName){if(a.hasAttribute("scale")&&(d.view.scale=parseFloat(a.getAttribute("scale"))),a.hasAttribute("dx")||a.hasAttribute("dy"))d.view.translate=new mxPoint(parseFloat(a.getAttribute("dx")||0),parseFloat(a.getAttribute("dy")||0))}else"fit"==a.nodeName&&(g=a.hasAttribute("max-scale")?parseFloat(a.getAttribute("max-scale")):
-1);a=a.nextSibling}}finally{e.endUpdate()}null!=g&&this.chromelessResize&&this.chromelessResize(!0,g)}return b};EditorUi.prototype.fileLoaded=function(a){var c=!1;this.hideDialog();var b=this.getCurrentFile();this.setCurrentFile(null);null!=b&&(b.removeListener(this.descriptorChangedListener),b.close());this.editor.graph.model.clear();this.editor.undoManager.clear();var d=mxUtils.bind(this,function(){this.setGraphEnabled(!1);this.setCurrentFile(null);null!=b&&this.updateDocumentTitle();this.editor.graph.model.clear();
-this.editor.undoManager.clear();this.setBackgroundImage(null);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.updateUi();this.showSplash()});if(null!=a)try{this.setCurrentFile(a);a.addListener("descriptorChanged",this.descriptorChangedListener);a.addListener("contentChanged",this.descriptorChangedListener);a.open();
-this.setGraphEnabled(!0);this.setMode(a.getMode());this.editor.undoManager.clear();this.descriptorChanged();this.updateUi();null==a.realtime&&(a.isEditable()?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"));c=!0;this.isOffline()||null==a.getMode()||this.logEvent({category:"File",action:"open",label:a.getMode()});if(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(u){}try{mxSettings.setOpenCounter(mxSettings.getOpenCounter()+1),mxSettings.save()}catch(u){}}catch(u){null!=
-window.console&&console.log("error in fileLoaded:",a,u);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!=u&&null!=u.message?":err:"+encodeURIComponent(u.message):"")+(null!=u&&null!=u.stack?"&stack="+encodeURIComponent(u.stack):"")}catch(t){}this.handleError(u,mxResources.get("errorLoadingFile"),mxUtils.bind(this,
-function(){null!=urlParams.url&&this.spinner.spin(document.body,mxResources.get("reconnecting"))?window.location.search=this.getSearch(["url"]):null!=b?b.constructor==DriveFile?this.loadFile(b.getHash()):this.fileLoaded(b):d()}))}else d();return c};EditorUi.prototype.descriptorChanged=function(){};EditorUi.prototype.logEvent=function(a){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(h){}};EditorUi.prototype.restoreLibraries=function(){};EditorUi.prototype.saveLibrary=function(a,c,b,d,e,g,w){};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,c,b){if(null!=this.sidebar){a.constructor!=LocalLibrary&&mxSettings.addCustomLibrary(a.getHash());".scratchpad"==a.title&&
-(this.scratchpad=a);var f=this.sidebar.palettes[a.getHash()],f=null!=f?f[f.length-1].nextSibling:null;this.removeLibrarySidebar(a.getHash());var h=null,d=mxUtils.bind(this,function(c,b){if(0==c.length&&a.isEditable())null==h&&(h=document.createElement("div"),mxUtils.setPrefixedStyle(h.style,"borderRadius","6px"),h.style.border="3px dotted lightGray",h.style.textAlign="center",h.style.padding="8px",h.style.color="#B3B3B3",mxUtils.write(h,mxResources.get("dragElementsHere"))),b.appendChild(h);else for(var f=
-0;f<c.length;f++){var l=c[f],d=l.data;if(null!=d){var d=this.convertDataUri(d),e="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";"fixed"==l.aspect&&(e+="aspect=fixed;");b.appendChild(this.sidebar.createVertexTemplate(e+"image="+d,l.w,l.h,"",l.title||"",!1,!1,!0))}else null!=l.xml&&(d=this.stringToCells(this.editor.graph.decompress(l.xml)),0<d.length&&b.appendChild(this.sidebar.createVertexTemplateFromCells(d,l.w,l.h,l.title||"",!0,!1,!0)))}});if(null!=this.sidebar&&null!=
-c)for(var e=0;e<c.length;e++)mxUtils.bind(this,function(a){var c=a.data;null!=c&&null!=a.title?this.sidebar.addEntry(a.title,mxUtils.bind(this,function(){c=this.convertDataUri(c);var b="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";"fixed"==a.aspect&&(b+="aspect=fixed;");return this.sidebar.createVertexTemplate(b+"image="+c,a.w,a.h,"",a.title||"",!1,!1,!0)})):null!=a.xml&&null!=a.title&&this.sidebar.addEntry(a.title,mxUtils.bind(this,function(){var c=this.stringToCells(this.editor.graph.decompress(a.xml));
-return this.sidebar.createVertexTemplateFromCells(c,a.w,a.h,a.title||"",!0,!1,!0)}))})(c[e]);b=null!=b&&0<b.length?b:a.getTitle();var g=this.sidebar.addPalette(a.getHash(),b,!0,mxUtils.bind(this,function(a){d(c,a)}));this.repositionLibrary(f);var k=g.parentNode.previousSibling;b=k.getAttribute("title");null!=b&&0<b.length&&".scratchpad"!=a.title&&k.setAttribute("title",this.getLibraryStorageHint(a)+"\n"+b);var l=document.createElement("div");l.style.position="absolute";l.style.right="0px";l.style.top=
-"0px";l.style.padding="8px";mxClient.IS_QUIRKS||8==document.documentMode||(l.style.backgroundColor="inherit");k.style.position="relative";var v=document.createElement("img");v.setAttribute("src",Dialog.prototype.closeImage);v.setAttribute("title",mxResources.get("close"));v.setAttribute("valign","absmiddle");v.setAttribute("border","0");v.style.margin="0 3px";var n=null;if(".scratchpad"!=a.title||this.closableScratchpad)l.appendChild(v),mxEvent.addListener(v,"click",mxUtils.bind(this,function(c){if(!mxEvent.isConsumed(c)){var b=
-mxUtils.bind(this,function(){this.closeLibrary(a)});null!=n?this.confirm(mxResources.get("allChangesLost"),null,b,mxResources.get("cancel"),mxResources.get("discardChanges")):b();mxEvent.consume(c)}}));if(a.isEditable()){var p=this.editor.graph,q=null,E=mxUtils.bind(this,function(b){this.showLibraryDialog(a.getTitle(),g,c,a,a.getMode());mxEvent.consume(b)}),B=mxUtils.bind(this,function(b){a.setModified(!0);a.isAutosave()?(null!=q&&null!=q.parentNode&&q.parentNode.removeChild(q),q=v.cloneNode(!1),
-q.setAttribute("src",Editor.spinImage),q.setAttribute("title",mxResources.get("saving")),q.style.cursor="default",q.style.marginRight="2px",q.style.marginTop="-2px",l.insertBefore(q,l.firstChild),k.style.paddingRight=18*l.childNodes.length+"px",this.saveLibrary(a.getTitle(),c,a,a.getMode(),!0,!0,function(){null!=q&&null!=q.parentNode&&(q.parentNode.removeChild(q),k.style.paddingRight=18*l.childNodes.length+"px")})):null==n&&(n=v.cloneNode(!1),n.setAttribute("src",IMAGE_PATH+"/download.png"),n.setAttribute("title",
-mxResources.get("save")),l.insertBefore(n,l.firstChild),mxEvent.addListener(n,"click",mxUtils.bind(this,function(b){this.saveLibrary(a.getTitle(),c,a,a.getMode(),a.constructor==LocalLibrary,!0,function(){null==n||a.isModified()||(k.style.paddingRight=18*l.childNodes.length+"px",n.parentNode.removeChild(n),n=null)});mxEvent.consume(b)})),k.style.paddingRight=18*l.childNodes.length+"px")}),A=mxUtils.bind(this,function(a,b,f,l){a=p.cloneCells(mxUtils.sortCells(p.model.getTopmostCells(a)));for(var d=
-0;d<a.length;d++){var e=p.getCellGeometry(a[d]);null!=e&&e.translate(-b.x,-b.y)}g.appendChild(this.sidebar.createVertexTemplateFromCells(a,b.width,b.height,l||"",!0,!1,!1));a={xml:this.editor.graph.compress(mxUtils.getXml(this.editor.graph.encodeCells(a))),w:b.width,h:b.height};null!=l&&(a.title=l);c.push(a);B(f);null!=h&&null!=h.parentNode&&0<c.length&&(h.parentNode.removeChild(h),h=null)}),J=mxUtils.bind(this,function(a){if(p.isSelectionEmpty())p.getRubberband().isActive()?(p.getRubberband().execute(a),
-p.getRubberband().reset()):this.showError(mxResources.get("error"),mxResources.get("nothingIsSelected"),mxResources.get("ok"));else{var c=p.getSelectionCells(),b=p.view.getBounds(c),f=p.view.scale;b.x/=f;b.y/=f;b.width/=f;b.height/=f;b.x-=p.view.translate.x;b.y-=p.view.translate.y;A(c,b)}mxEvent.consume(a)});g.style.border="3px solid transparent";mxEvent.addGestureListeners(g,function(){},mxUtils.bind(this,function(a){p.isMouseDown&&null!=p.panningManager&&null!=p.graphHandler.shape&&(p.graphHandler.shape.node.style.visibility=
-"hidden",null!=h?h.style.border="3px dotted rgb(254, 137, 12)":g.style.border="3px dotted rgb(254, 137, 12)",g.style.cursor="copy",p.panningManager.stop(),p.autoScroll=!1,null!=p.graphHandler.guide&&p.graphHandler.guide.setVisible(!1),null!=p.graphHandler.hint&&(p.graphHandler.hint.style.visibility="hidden"),mxEvent.consume(a))}),mxUtils.bind(this,function(a){p.isMouseDown&&null!=p.panningManager&&null!=p.graphHandler&&(g.style.border="3px solid transparent",null!=h&&(h.style.border="3px dotted lightGray"),
-g.style.cursor="default",this.sidebar.showTooltips=!0,p.panningManager.stop(),p.graphHandler.reset(),p.isMouseDown=!1,p.autoScroll=!0,J(a),mxEvent.consume(a))}));mxEvent.addListener(g,"mouseleave",mxUtils.bind(this,function(a){p.isMouseDown&&null!=p.graphHandler.shape&&(p.graphHandler.shape.node.style.visibility="visible",g.style.border="3px solid transparent",g.style.cursor="",p.autoScroll=!0,null!=p.graphHandler.guide&&p.graphHandler.guide.setVisible(!0),null!=p.graphHandler.hint&&(p.graphHandler.hint.style.visibility=
-"visible"),null!=h&&(h.style.border="3px dotted lightGray"))}));Graph.fileSupport&&(mxEvent.addListener(g,"dragover",mxUtils.bind(this,function(a){null!=h?h.style.border="3px dotted rgb(254, 137, 12)":g.style.border="3px dotted rgb(254, 137, 12)";a.dataTransfer.dropEffect="copy";g.style.cursor="copy";this.sidebar.hideTooltip();a.stopPropagation();a.preventDefault()})),mxEvent.addListener(g,"drop",mxUtils.bind(this,function(a){g.style.border="3px solid transparent";g.style.cursor="";null!=h&&(h.style.border=
-"3px dotted lightGray");0<a.dataTransfer.files.length&&this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,mxUtils.bind(this,function(b,f,l,e,m,v,u,w,k){if(null!=b&&"image/"==f.substring(0,6))b="shape=image;verticalLabelPosition=bottom;verticalAlign=top;aspect=fixed;image="+this.convertDataUri(b),b=[new mxCell("",new mxGeometry(0,0,m,v),b)],b[0].vertex=!0,A(b,new mxRectangle(0,0,m,v),a,mxEvent.isAltDown(a)?null:u.substring(0,u.lastIndexOf(".")).replace(/_/g," ")),null!=h&&null!=h.parentNode&&
-0<c.length&&(h.parentNode.removeChild(h),h=null);else{var t=!1,n=mxUtils.bind(this,function(b,f){if(null!=b&&"text/xml"==f){var l=mxUtils.parseXml(b);if("mxlibrary"==l.documentElement.nodeName)try{var e=JSON.parse(mxUtils.getTextContent(l.documentElement));d(e,g);c=c.concat(e);B(a);this.spinner.stop();t=!0}catch(U){}else if("mxfile"==l.documentElement.nodeName)try{for(var m=l.documentElement.getElementsByTagName("diagram"),l=0;l<m.length;l++){var e=mxUtils.getTextContent(m[l]),v=this.stringToCells(this.editor.graph.decompress(e)),
-u=this.editor.graph.getBoundingBoxFromGeometry(v);A(v,new mxRectangle(0,0,u.width,u.height),a)}t=!0}catch(U){null!=window.console&&console.log("error in drop handler:",U)}}t||(this.spinner.stop(),this.handleError({message:mxResources.get("errorLoadingFile")}));null!=h&&null!=h.parentNode&&0<c.length&&(h.parentNode.removeChild(h),h=null)});null!=k&&null!=u&&(/(\.vsdx?)($|\?)/i.test(u)||/(\.vssx)($|\?)/i.test(u))?this.importVisio(k,function(a){n(a,"text/xml")},null,u):!this.isOffline()&&(new XMLHttpRequest).upload&&
-this.isRemoteFileFormat(b,u)&&null!=k?this.parseFile(k,mxUtils.bind(this,function(a){4==a.readyState&&(this.spinner.stop(),200<=a.status&&299>=a.status?n(a.responseText,"text/xml"):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge":"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))})):n(b,f)}}));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(g,"dragleave",function(a){null!=h?h.style.border="3px dotted lightGray":(g.style.border="3px solid transparent",
-g.style.cursor="");a.stopPropagation();a.preventDefault()}));v=v.cloneNode(!1);v.setAttribute("src",IMAGE_PATH+"/edit.gif");v.setAttribute("title",mxResources.get("edit"));l.insertBefore(v,l.firstChild);mxEvent.addListener(v,"click",E);mxEvent.addListener(g,"dblclick",function(a){mxEvent.getSource(a)==g&&E(a)});b=v.cloneNode(!1);b.setAttribute("src",Editor.plusImage);b.setAttribute("title",mxResources.get("add"));l.insertBefore(b,l.firstChild);mxEvent.addListener(b,"click",J);this.isOffline()||".scratchpad"!=
-a.title||null==EditorUi.scratchpadHelpLink||(b=document.createElement("span"),b.setAttribute("title",mxResources.get("help")),b.style.cssText="color:#a3a3a3;text-decoration:none;margin-right:2px;",mxUtils.write(b,"?"),mxEvent.addGestureListeners(b,mxUtils.bind(this,function(a){this.openLink(EditorUi.scratchpadHelpLink);mxEvent.consume(a)})),l.insertBefore(b,l.firstChild))}k.appendChild(l);k.style.paddingRight=18*l.childNodes.length+"px"}};"1"==urlParams.offline||EditorUi.isElectronApp?EditorUi.prototype.footerHeight=
-4:("1"==urlParams.savesidebar&&(Sidebar.prototype.thumbWidth=64,Sidebar.prototype.thumbHeight=64),EditorUi.prototype.footerHeight=760<=screen.width&&240<=screen.height?46:0,EditorUi.prototype.createFooter=function(){var a=document.getElementById("geFooter");if(null!=a){a.style.visibility="visible";var c=document.createElement("img");c.setAttribute("border","0");c.setAttribute("src",Dialog.prototype.closeImage);c.setAttribute("title",mxResources.get("hide"));a.appendChild(c);mxClient.IS_QUIRKS&&(c.style.position=
-"relative",c.style.styleFloat="right",c.style.top="-30px",c.style.left="164px",c.style.cursor="pointer");mxEvent.addListener(c,"click",mxUtils.bind(this,function(){this.hideFooter()}))}return a});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,EditorUi.prototype.hsplitPosition=188,Sidebar.prototype.thumbWidth=46,Sidebar.prototype.thumbHeight=46,Sidebar.prototype.thumbPadding=5<=document.documentMode?0:1,Sidebar.prototype.thumbBorder=2):"dark"==uiTheme&&(mxClient.link("stylesheet",STYLE_PATH+"/dark.css"),Dialog.backdropColor="#2a2a2a",Graph.prototype.defaultThemeName="darkTheme",Graph.prototype.defaultPageBackgroundColor="#2a2a2a",
-Graph.prototype.defaultGraphBackground=null,Graph.prototype.defaultPageBorderColor="#505759",Graph.prototype.svgShadowColor="#e0e0e0",Graph.prototype.svgShadowOpacity="0.6",Graph.prototype.svgShadowSize="0.8",Graph.prototype.svgShadowBlur="1.4",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,c,b,d,e){a=new ImageDialog(this,a,c,b,d,e);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,c,b,d,e){a=new LibraryDialog(this,a,c,b,d,e);this.showDialog(a.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&&null==
-this.getCurrentFile()&&"1"!=urlParams.embed&&this.showSplash()}));a.init()};EditorUi.prototype.createSidebarFooterContainer=function(){var a=this.createDiv("geSidebarContainer");a.style.position="absolute";a.style.overflow="hidden";a.style.borderWidth="3px";var c=document.createElement("a");c.setAttribute("href","javascript:void(0);");c.className="geTitle";c.style.height="100%";c.style.paddingTop="9px";mxUtils.write(c,mxResources.get("moreShapes")+"...");mxEvent.addListener(c,"click",mxUtils.bind(this,
-function(a){this.actions.get("shapes").funct();mxEvent.consume(a)}));a.appendChild(c);return a};EditorUi.prototype.handleError=function(a,c,b){var f=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){},h=null!=a&&null!=a.error?a.error:a;if(null!=h||null!=c){a=mxUtils.htmlEntities(mxResources.get("unknownError"));var d=mxResources.get("ok"),e=null;c=null!=c?c:mxResources.get("error");if(null!=h)if(null!=h.retry&&(d=mxResources.get("cancel"),e=function(){f();h.retry()}),"undefined"!=
-typeof gapi&&"undefined"!=typeof gapi.drive&&"undefined"!=typeof gapi.drive.realtime&&h.type==gapi.drive.realtime.ErrorType.FORBIDDEN)a=mxUtils.htmlEntities(mxResources.get("forbidden"));else if(404==h.code||404==h.status||"undefined"!=typeof gapi&&"undefined"!=typeof gapi.drive&&"undefined"!=typeof gapi.drive.realtime&&h.type==gapi.drive.realtime.ErrorType.NOT_FOUND){a=mxUtils.htmlEntities(mxResources.get("fileNotFoundOrDenied"));var g=window.location.hash;null!=g&&"#G"==g.substring(0,2)&&(g=g.substring(2),
-a+=' <a href="https://drive.google.com/open?id='+g+'" target="_blank">'+mxUtils.htmlEntities(mxResources.get("tryOpeningViaThisPage"))+"</a>")}else h.code==App.ERROR_TIMEOUT?a=mxUtils.htmlEntities(mxResources.get("timeout")):h.code==App.ERROR_BUSY?a=mxUtils.htmlEntities(mxResources.get("busy")):null!=h.message?a=mxUtils.htmlEntities(h.message):null!=h.response&&null!=h.response.error&&(a=mxUtils.htmlEntities(h.response.error));this.showError(c,a,d,b,e)}else null!=b&&b()};EditorUi.prototype.showError=
-function(a,c,b,d,e,g,w,k,n,l,v,p){a=new ErrorDialog(this,a,c,b||mxResources.get("ok"),d,e,g,w,p,k,n);this.showDialog(a.container,l||340,v||150,!0,!1);a.init()};EditorUi.prototype.alert=function(a,c){var b=new ErrorDialog(this,null,a,mxResources.get("ok"),c);this.showDialog(b.container,340,100,!0,!1);b.init()};EditorUi.prototype.confirm=function(a,c,b,d,e){var f=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){};this.showDialog((new ConfirmDialog(this,a,function(){f();null!=
-c&&c()},function(){f();null!=b&&b()},d,e)).container,340,90,!0,!1)};EditorUi.prototype.setCurrentFile=function(a){this.currentFile=a};EditorUi.prototype.getCurrentFile=function(){return this.currentFile};EditorUi.prototype.isExportToCanvas=function(){return mxClient.IS_CHROMEAPP||!this.editor.graph.mathEnabled&&this.useCanvasForExport};EditorUi.prototype.createSvgDataUri=function(a){return"data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent(a)))};EditorUi.prototype.createImageDataUri=function(a,
-c,b){var f=a.toDataURL("image/"+b);if(6>=f.length||f==a.cloneNode(!1).toDataURL("image/"+b))throw{message:"Invalid image"};null!=c&&(f=this.writeGraphModelToPng(f,"zTXt","mxGraphModel",atob(this.editor.graph.compress(c))));return f};EditorUi.prototype.saveCanvas=function(a,c,b){var f="jpeg"==b?"jpg":b,h=this.getBaseFilename()+"."+f;a=this.createImageDataUri(a,c,b);this.saveData(h,f,a.substring(a.lastIndexOf(",")+1),"image/"+b,!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.doSaveLocalFile=function(a,c,b,d,e){if(window.Blob&&navigator.msSaveOrOpenBlob)a=d?this.base64ToBlob(a,b):new Blob([a],{type:b}),navigator.msSaveOrOpenBlob(a,c);else if(mxClient.IS_IE)b=window.open("about:blank","_blank"),null==b?mxUtils.popup(a,!0):(b.document.write(a),
-b.document.close(),b.document.execCommand("SaveAs",!0,c),b.close());else if(mxClient.IS_IOS)c=new TextareaDialog(this,c+":",a,null,null,mxResources.get("close")),c.textarea.style.width="600px",c.textarea.style.height="380px",this.showDialog(c.container,620,460,!0,!0),c.init(),document.execCommand("selectall",!1,null);else{var f=document.createElement("a"),h=!mxClient.IS_SF&&"undefined"!==typeof f.download;if(mxClient.IS_GC)var m=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./),h=65==(m?parseInt(m[2],
-10):!1)?!1:h;if(h||this.isOffline()){f.href=URL.createObjectURL(d?this.base64ToBlob(a,b):new Blob([a],{type:b}));h?f.download=c:f.setAttribute("target","_blank");document.body.appendChild(f);try{window.setTimeout(function(){URL.revokeObjectURL(f.href)},0),f.click(),f.parentNode.removeChild(f)}catch(C){}}else this.createEchoRequest(a,c,b,d,e).simulate(document,"_blank")}};EditorUi.prototype.createEchoRequest=function(a,c,b,d,e,g){a="xml="+encodeURIComponent(a);return new mxXmlRequest(SAVE_URL,a+(null!=
-b?"&mime="+b:"")+(null!=e?"&format="+e:"")+(null!=g?"&base64="+g:"")+(null!=c?"&filename="+encodeURIComponent(c):"")+(d?"&binary=1":""))};EditorUi.prototype.base64ToBlob=function(a,c){c=c||"";for(var b=atob(a),f=b.length,d=Math.ceil(f/1024),e=Array(d),g=0;g<d;++g){for(var k=1024*g,n=Math.min(k+1024,f),l=Array(n-k),v=0;k<n;++v,++k)l[v]=b[k].charCodeAt(0);e[g]=new Uint8Array(l)}return new Blob(e,{type:c})};EditorUi.prototype.saveLocalFile=function(a,c,b,d,e,g,w){g=null!=g?g:!1;w=null!=w?w:"vsdx"!=e&&
-(!mxClient.IS_IOS||!navigator.standalone);e=this.getServiceCount(g);c=new CreateDialog(this,c,mxUtils.bind(this,function(c,f){try{if("_blank"==f)if(null==b||"image/"!=b.substring(0,6)||"image/svg"==b.substring(0,9)&&!mxClient.IS_SVG){var h=window.open("about:blank");null==h?mxUtils.popup(a,!0):(h.document.write(mxUtils.htmlEntities(a,!1)),h.document.close())}else this.openInNewWindow(a,b,d);else f==App.MODE_DEVICE||"download"==f?this.doSaveLocalFile(a,c,b,d):null!=c&&0<c.length&&this.pickFolder(f,
-mxUtils.bind(this,function(h){try{this.exportFile(a,c,b,d,f,h)}catch(H){this.handleError(H)}}))}catch(v){this.handleError(v)}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,g,w,null,1<e,4<e&&(!g||6>e)?3:4,a,b,d);this.showDialog(c.container,420,e==(mxClient.IS_IOS?0:1)?160:4<e?390:270,!0,!0);c.init()};EditorUi.prototype.openInNewWindow=function(a,c,b){if(mxClient.IS_GC||mxClient.IS_EDGE||11==document.documentMode||10==document.documentMode){var f=
-window.open("about:blank");null==f?mxUtils.popup(a,!0):("image/svg+xml"==c?f.document.write("<html>"+a+"</html>"):f.document.write('<html><img src="data:'+c+(b?";base64,"+a:";charset=utf8,"+encodeURIComponent(a))+'"/></html>'),f.document.close())}else f=window.open("data:"+c+(b?";base64,"+a:";charset=utf8,"+encodeURIComponent(a))),null==f&&mxUtils.popup(a,!0)};var e=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 f=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=f.left+"px";this.exportDialog.style.bottom=parseInt(this.chromelessToolbar.style.bottom)+this.chromelessToolbar.offsetHeight+4+"px";f=mxUtils.getCurrentStyle(this.editor.graph.container);
-this.exportDialog.style.zIndex=f.zIndex;var h=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});h.spin(this.exportDialog);this.exportToCanvas(mxUtils.bind(this,function(a){h.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.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"))}e.apply(this,arguments)};EditorUi.prototype.saveData=function(a,c,b,d,e){this.isLocalFileSave()?this.saveLocalFile(b,a,d,e,c):this.saveRequest(a,c,mxUtils.bind(this,function(a,f){return this.createEchoRequest(b,a,d,e,c,f)}),b,e,d)};EditorUi.prototype.saveRequest=function(a,c,b,d,e,g,k){k=null!=k?k:!mxClient.IS_IOS||!navigator.standalone;var f=this.getServiceCount(!1);a=new CreateDialog(this,a,mxUtils.bind(this,function(a,f){if("_blank"==f||null!=
-a&&0<a.length){var h=b("_blank"==f?null:a,f==App.MODE_DEVICE||"download"==f||null==f||"_blank"==f?"0":"1");null!=h&&(f==App.MODE_DEVICE||"download"==f||"_blank"==f?h.simulate(document,"_blank"):this.pickFolder(f,mxUtils.bind(this,function(b){g=null!=g?g:"pdf"==c?"application/pdf":"image/"+c;if(null!=d)try{this.exportFile(d,a,g,!0,f,b)}catch(z){this.handleError(z)}else this.spinner.spin(document.body,mxResources.get("saving"))&&h.send(mxUtils.bind(this,function(){this.spinner.stop();if(200<=h.getStatus()&&
-299>=h.getStatus())try{this.exportFile(h.getText(),a,g,!0,f,b)}catch(z){this.handleError(z)}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,k,null,1<f,4<f?3:4,d,g,e);this.showDialog(a.container,380,f==(mxClient.IS_IOS?0:1)?160:4<f?390:270,!0,!0);a.init()};EditorUi.prototype.getEditBlankXml=function(){return this.getFileData(!0)};
-EditorUi.prototype.exportFile=function(a,c,b,d,e,g){};EditorUi.prototype.pickFolder=function(a,c,b){c(null)};EditorUi.prototype.exportSvg=function(a,c,b,d,e,g,k,n,p){if(this.spinner.spin(document.body,mxResources.get("export"))){var f=this.editor.graph.isSelectionEmpty();b=null!=b?b:f;f=c?null:this.editor.graph.background;f==mxConstants.NONE&&(f=null);null==f&&0==c&&(f="#ffffff");var h=this.editor.graph.getSvg(f,a,k,n,null,b);d&&this.editor.graph.addSvgShadow(h);var m=this.getBaseFilename()+".svg",
-w=mxUtils.bind(this,function(a){this.spinner.stop();e&&a.setAttribute("content",this.getFileData(!0,null,null,null,b,p));if(null!=this.editor.fontCss){var c=a.ownerDocument,c=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"style"):c.createElement("style");c.setAttribute("type","text/css");mxUtils.setTextContent(c,this.editor.fontCss);a.getElementsByTagName("defs")[0].appendChild(c)}var f='<!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()||f.length<=MAX_REQUEST_SIZE?this.saveData(m,"svg",f,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(f)}))});this.convertMath(this.editor.graph,h,!1,mxUtils.bind(this,function(){g?(null==this.thumbImageCache&&(this.thumbImageCache={}),this.convertImages(h,w,this.thumbImageCache)):w(h)}))}};EditorUi.prototype.addCheckbox=function(a,c,b,d,e,g){g=null!=g?g:!0;var f=
-document.createElement("input");f.style.marginRight="8px";f.style.marginTop="16px";f.setAttribute("type","checkbox");b&&(f.setAttribute("checked","checked"),f.defaultChecked=!0);d&&f.setAttribute("disabled","disabled");g&&(a.appendChild(f),b=document.createElement("span"),mxUtils.write(b,c),a.appendChild(b),e||mxUtils.br(a),mxEvent.addListener(b,"click",mxUtils.bind(this,function(a){"disabled"!=f.getAttribute("disabled")&&(f.checked=!f.checked,mxEvent.consume(a))})));return f};EditorUi.prototype.addEditButton=
-function(a,c){var b=this.addCheckbox(a,mxResources.get("edit")+":",!0,null,!0);b.style.marginLeft="24px";var f=this.getCurrentFile(),d="";null!=f&&f.getMode()!=App.MODE_DEVICE&&f.getMode()!=App.MODE_BROWSER&&(d=window.location.href);var e=document.createElement("select");e.style.width="120px";e.style.marginLeft="8px";e.style.marginRight="10px";e.className="geBtn";f=document.createElement("option");f.setAttribute("value","blank");mxUtils.write(f,mxResources.get("makeCopy"));e.appendChild(f);f=document.createElement("option");
-f.setAttribute("value","custom");mxUtils.write(f,mxResources.get("custom")+"...");e.appendChild(f);a.appendChild(e);mxEvent.addListener(e,"change",mxUtils.bind(this,function(){if("custom"==e.value){var a=new FilenameDialog(this,d,mxResources.get("ok"),function(a){null!=a?d=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(b,"change",mxUtils.bind(this,function(){b.checked&&(null==c||
-c.checked)?e.removeAttribute("disabled"):e.setAttribute("disabled","disabled")}));mxUtils.br(a);return{getLink:function(){return b.checked?"blank"===e.value?"_blank":d:null},getEditInput:function(){return b},getEditSelect:function(){return e}}};EditorUi.prototype.addLinkSection=function(a,c){function b(){g.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 f=document.createElement("select");f.style.width="100px";f.style.marginLeft="8px";f.style.marginRight="10px";f.className="geBtn";var d=document.createElement("option");d.setAttribute("value","auto");mxUtils.write(d,mxResources.get("automatic"));f.appendChild(d);d=document.createElement("option");d.setAttribute("value","blank");mxUtils.write(d,mxResources.get("openInNewWindow"));f.appendChild(d);d=document.createElement("option");
-d.setAttribute("value","self");mxUtils.write(d,mxResources.get("openInThisWindow"));f.appendChild(d);c&&(d=document.createElement("option"),d.setAttribute("value","frame"),mxUtils.write(d,mxResources.get("openInThisWindow")+" ("+mxResources.get("iframe")+")"),f.appendChild(d));a.appendChild(f);mxUtils.write(a,mxResources.get("borderColor")+":");var e="#0000ff",g=null,g=mxUtils.button("",mxUtils.bind(this,function(a){this.pickColor(e||"none",function(a){e=a;b()});mxEvent.consume(a)}));b();g.style.padding=
-mxClient.IS_FF?"4px 2px 4px 2px":"4px";g.style.marginLeft="4px";g.style.height="22px";g.style.width="22px";g.style.position="relative";g.style.top=mxClient.IS_IE||mxClient.IS_IE11||mxClient.IS_EDGE?"6px":"1px";g.className="geColorBtn";a.appendChild(g);mxUtils.br(a);return{getColor:function(){return e},getTarget:function(){return f.value},focus:function(){f.focus()}}};EditorUi.prototype.createLink=function(a,c,b,d,e,g,k,n){var f=this.getCurrentFile(),h=[];d&&(h.push("lightbox=1"),"auto"!=a&&h.push("target="+
-a),null!=c&&c!=mxConstants.NONE&&h.push("highlight="+("#"==c.charAt(0)?c.substring(1):c)),null!=e&&0<e.length&&h.push("edit="+encodeURIComponent(e)),g&&h.push("layers=1"),this.editor.graph.foldingEnabled&&h.push("nav=1"));if(b&&null!=this.pages&&null!=this.currentPage)for(a=0;a<this.pages.length;a++)if(this.pages[a]==this.currentPage){0<a&&h.push("page="+a);break}a=!0;null!=k?b="#U"+encodeURIComponent(k):(f=this.getCurrentFile(),n||null==f||f.constructor!=window.DriveFile?b="#R"+encodeURIComponent(b?
-this.getFileData(!0,null,null,null,null,null,null,!0):this.editor.graph.compress(mxUtils.getXml(this.editor.getGraphXml()))):(b="#"+f.getHash(),a=!1));a&&null!=f&&null!=f.getTitle()&&f.getTitle()!=this.defaultFilename&&h.push("title="+encodeURIComponent(f.getTitle()));return(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||!/.*\.draw\.io$/.test(window.location.hostname)?"https://www.draw.io/":"https://"+window.location.host+"/")+(0<h.length?"?"+h.join("&"):"")+b};EditorUi.prototype.createHtml=function(a,
-c,b,d,e,g,k,n,p,l,v){this.getBasenames();var f={};""!=e&&e!=mxConstants.NONE&&(f.highlight=e);"auto"!==d&&(f.target=d);p||(f.lightbox=!1);f.nav=this.editor.graph.foldingEnabled;b=parseInt(b);isNaN(b)||100==b||(f.zoom=b/100);b=[];k&&(b.push("pages"),f.resize=!0,null!=this.pages&&null!=this.currentPage&&(f.page=mxUtils.indexOf(this.pages,this.currentPage)));c&&(b.push("zoom"),f.resize=!0);n&&b.push("layers");0<b.length&&(p&&b.push("lightbox"),f.toolbar=b.join(" "));null!=l&&0<l.length&&(f.edit=l);null!=
-a?f.url=a:f.xml=this.getFileData(!0,null,null,null,null,!k);c='<div class="mxgraph" style="'+(g?"max-width:100%;":"")+(""!=b?"border:1px solid transparent;":"")+'" data-mxgraph="'+mxUtils.htmlEntities(JSON.stringify(f))+'"></div>';a=null!=a?"&fetch="+encodeURIComponent(a):"";v(c,'<script type="text/javascript" src="'+(0<a.length?("1"==urlParams.dev?"https://test.draw.io/embed2.js?dev=1":"https://www.draw.io/embed2.js?")+a:"1"==urlParams.dev?"https://test.draw.io/js/viewer.min.js":"https://www.draw.io/js/viewer.min.js")+
-'">\x3c/script>')};EditorUi.prototype.showHtmlDialog=function(a,c,b,d){var f=document.createElement("div");f.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";f.appendChild(e);var h=document.createElement("div");h.style.cssText="border-bottom:1px solid lightGray;padding-bottom:8px;margin-bottom:12px;";var g=document.createElement("input");g.style.cssText="margin-right:8px;margin-top:8px;margin-bottom:8px;";
-g.setAttribute("value","url");g.setAttribute("type","radio");g.setAttribute("name","type-embedhtmldialog");e=g.cloneNode(!0);e.setAttribute("value","copy");h.appendChild(e);var m=document.createElement("span");mxUtils.write(m,mxResources.get("includeCopyOfMyDiagram"));h.appendChild(m);mxUtils.br(h);h.appendChild(g);m=document.createElement("span");mxUtils.write(m,mxResources.get("publicDiagramUrl"));h.appendChild(m);var l=this.getCurrentFile();null==b&&null!=l&&l.constructor==window.DriveFile&&(m=
-document.createElement("a"),m.style.paddingLeft="12px",m.style.color="gray",m.setAttribute("href","javascript:void(0);"),mxUtils.write(m,mxResources.get("share")),h.appendChild(m),mxEvent.addListener(m,"click",mxUtils.bind(this,function(){this.hideDialog();this.drive.showPermissions(l.getId())})));e.setAttribute("checked","checked");null==b&&g.setAttribute("disabled","disabled");f.appendChild(h);var v=this.addLinkSection(f),k=this.addCheckbox(f,mxResources.get("zoom"),!0,null,!0);mxUtils.write(f,
-":");var n=document.createElement("input");n.setAttribute("type","text");n.style.marginRight="16px";n.style.width="60px";n.style.marginLeft="4px";n.style.marginRight="12px";n.value="100%";f.appendChild(n);var p=this.addCheckbox(f,mxResources.get("fit"),!0),h=null!=this.pages&&1<this.pages.length,q=q=this.addCheckbox(f,mxResources.get("allPages"),h,!h),B=this.addCheckbox(f,mxResources.get("layers"),!0),A=this.addCheckbox(f,mxResources.get("lightbox"),!0),J=this.addEditButton(f,A),D=J.getEditInput();
-D.style.marginBottom="16px";mxEvent.addListener(A,"change",function(){A.checked?D.removeAttribute("disabled"):D.setAttribute("disabled","disabled");D.checked&&A.checked?J.getEditSelect().removeAttribute("disabled"):J.getEditSelect().setAttribute("disabled","disabled")});a=new CustomDialog(this,f,mxUtils.bind(this,function(){d(g.checked?b:null,k.checked,n.value,v.getTarget(),v.getColor(),p.checked,q.checked,B.checked,A.checked,J.getLink())}),null,a,c);this.showDialog(a.container,340,384,!0,!0);e.focus()};
-EditorUi.prototype.showPublishLinkDialog=function(a,c,b,d,e,g){var f=document.createElement("div");f.style.whiteSpace="nowrap";var h=document.createElement("h3");mxUtils.write(h,a||mxResources.get("link"));h.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";f.appendChild(h);var m=this.getCurrentFile(),h="https://desk.draw.io/support/solutions/articles/16000051941";a=0;if(null!=m&&m.constructor==window.DriveFile&&!c){a=80;var h="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 v=document.createElement("div");v.style.whiteSpace="normal";mxUtils.write(v,mxResources.get("linkAccountRequired"));l.appendChild(v);v=mxUtils.button(mxResources.get("share"),mxUtils.bind(this,function(){this.drive.showPermissions(m.getId())}));v.style.marginTop="12px";v.className="geBtn";l.appendChild(v);f.appendChild(l);v=document.createElement("a");
-v.style.paddingLeft="12px";v.style.color="gray";v.style.fontSize="11px";v.setAttribute("href","javascript:void(0);");mxUtils.write(v,mxResources.get("check"));l.appendChild(v);mxEvent.addListener(v,"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 k=null,n=null;if(null!=b||null!=d)a+=30,mxUtils.write(f,mxResources.get("width")+":"),k=document.createElement("input"),k.setAttribute("type","text"),k.style.marginRight="16px",k.style.width="50px",k.style.marginLeft="6px",k.style.marginRight="16px",k.style.marginBottom="10px",k.value="100%",f.appendChild(k),mxUtils.write(f,mxResources.get("height")+":"),n=document.createElement("input"),n.setAttribute("type","text"),n.style.width="50px",
-n.style.marginLeft="6px",n.style.marginBottom="10px",n.value=d+"px",f.appendChild(n),mxUtils.br(f);var u=this.addLinkSection(f,g);b=null!=this.pages&&1<this.pages.length;var p=null;if(null==m||m.constructor!=window.DriveFile||c)p=this.addCheckbox(f,mxResources.get("allPages"),b,!b);var t=this.addCheckbox(f,mxResources.get("lightbox"),!0),q=this.addEditButton(f,t),J=q.getEditInput(),D=this.addCheckbox(f,mxResources.get("layers"),!0);D.style.marginLeft=J.style.marginLeft;D.style.marginBottom="16px";
-D.style.marginTop="8px";mxEvent.addListener(t,"change",function(){t.checked?(D.removeAttribute("disabled"),J.removeAttribute("disabled")):(D.setAttribute("disabled","disabled"),J.setAttribute("disabled","disabled"));J.checked&&t.checked?q.getEditSelect().removeAttribute("disabled"):q.getEditSelect().setAttribute("disabled","disabled")});c=new CustomDialog(this,f,mxUtils.bind(this,function(){e(u.getTarget(),u.getColor(),null==p?!0:p.checked,t.checked,q.getLink(),D.checked,null!=k?k.value:null,null!=
-n?n.value:null)}),null,mxResources.get("create"),h);this.showDialog(c.container,340,254+a,!0,!0);null!=k?(k.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?k.select():document.execCommand("selectAll",!1,null)):u.focus()};EditorUi.prototype.showRemoteExportDialog=function(a,c,b,d){var f=document.createElement("div");f.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:4px";
-f.appendChild(e);var h=this.addCheckbox(f,mxResources.get("selectionOnly"),!1,this.editor.graph.isSelectionEmpty()),g=d?null:this.addCheckbox(f,mxResources.get("includeCopyOfMyDiagram"),!0),e=this.editor.graph,m=d?null:this.addCheckbox(f,mxResources.get("transparentBackground"),e.background==mxConstants.NONE||null==e.background);null!=m&&(m.style.marginBottom="16px");a=new CustomDialog(this,f,mxUtils.bind(this,function(){b(!h.checked,null!=g?g.checked:!1,null!=m?m.checked:!1)}),null,a,c);this.showDialog(a.container,
-300,d?100:186,!0,!0)};EditorUi.prototype.showExportDialog=function(a,c,b,d,e,g,k,n){k=null!=k?k:!0;var f=document.createElement("div");f.style.whiteSpace="nowrap";var h=this.editor.graph,m="jpeg"==n?196:300,u=document.createElement("h3");mxUtils.write(u,a);u.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:10px";f.appendChild(u);mxUtils.write(f,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%";f.appendChild(p);mxUtils.write(f,mxResources.get("borderWidth")+":");var w=document.createElement("input");w.setAttribute("type","text");w.style.marginRight="16px";w.style.width="60px";w.style.marginLeft="4px";w.value=this.lastExportBorder||"0";f.appendChild(w);mxUtils.br(f);var t=this.addCheckbox(f,mxResources.get("transparentBackground"),h.background==mxConstants.NONE||null==h.background,null,null,"jpeg"!=
-n),q=this.addCheckbox(f,mxResources.get("selectionOnly"),!1,h.isSelectionEmpty()),x=document.createElement("input");x.style.marginTop="16px";x.style.marginRight="8px";x.style.marginLeft="24px";x.setAttribute("disabled","disabled");x.setAttribute("type","checkbox");g&&(f.appendChild(x),mxUtils.write(f,mxResources.get("crop")),mxUtils.br(f),m+=26,mxEvent.addListener(q,"change",function(){q.checked?x.removeAttribute("disabled"):x.setAttribute("disabled","disabled")}));h.isSelectionEmpty()||(x.setAttribute("checked",
-"checked"),x.defaultChecked=!0);var J=this.addCheckbox(f,mxResources.get("shadow"),h.shadowVisible),D=document.createElement("input");D.style.marginTop="16px";D.style.marginRight="8px";D.setAttribute("type","checkbox");!this.isOffline()&&this.canvasSupported||D.setAttribute("disabled","disabled");c&&(f.appendChild(D),mxUtils.write(f,mxResources.get("embedImages")),mxUtils.br(f),m+=26);var L=this.addCheckbox(f,mxResources.get("includeCopyOfMyDiagram"),k,null,null,"jpeg"!=n),F=null!=this.pages&&1<this.pages.length,
-G=this.addCheckbox(f,F?mxResources.get("allPages"):"",F,!F,null,"jpeg"!=n);G.style.marginLeft="24px";G.style.marginBottom="16px";F||(G.style.visibility="hidden");mxEvent.addListener(L,"change",function(){L.checked&&F?G.removeAttribute("disabled"):G.setAttribute("disabled","disabled")});k&&F||G.setAttribute("disabled","disabled");a=new CustomDialog(this,f,mxUtils.bind(this,function(){this.lastExportBorder=w.value;this.lastExportZoom=p.value;e(p.value,t.checked,!q.checked,J.checked,L.checked,D.checked,
-w.value,x.checked,!G.checked)}),null,b,d);this.showDialog(a.container,340,m,!0,!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,c,b,d,e){var f=document.createElement("div");f.style.whiteSpace="nowrap";var h=this.editor.graph;if(null!=c){var g=document.createElement("h3");mxUtils.write(g,c);g.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";
-f.appendChild(g)}var m=this.addCheckbox(f,mxResources.get("fit"),!0),l=this.addCheckbox(f,mxResources.get("shadow"),h.shadowVisible&&d,!d),v=this.addCheckbox(f,b),k=this.addCheckbox(f,mxResources.get("lightbox"),!0),n=this.addEditButton(f,k),p=n.getEditInput(),u=1<h.model.getChildCount(h.model.getRoot()),q=this.addCheckbox(f,mxResources.get("layers"),u,!u);q.style.marginLeft=p.style.marginLeft;q.style.marginBottom="12px";q.style.marginTop="8px";mxEvent.addListener(k,"change",function(){k.checked?
-(u&&q.removeAttribute("disabled"),p.removeAttribute("disabled")):(q.setAttribute("disabled","disabled"),p.setAttribute("disabled","disabled"));p.checked&&k.checked?n.getEditSelect().removeAttribute("disabled"):n.getEditSelect().setAttribute("disabled","disabled")});c=new CustomDialog(this,f,mxUtils.bind(this,function(){a(m.checked,l.checked,v.checked,k.checked,n.getLink(),q.checked)}),null,mxResources.get("embed"),e);this.showDialog(c.container,280,280,!0,!0)};EditorUi.prototype.createEmbedImage=
-function(a,c,b,d,e,g,k,n){function f(c){var f=" ",l="";d&&(f=" 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('https://www.draw.io/?client=1&lightbox=1"+(e?"&edit=_blank":"")+(g?"&layers=1":"")+"');}})(this);\"",l+="cursor:pointer;");
-a&&(l+="max-width:100%;");var m="";b&&(m=' width="'+Math.round(h.width)+'" height="'+Math.round(h.height)+'"');k('<img src="'+c+'"'+m+(""!=l?' style="'+l+'"':"")+f+"/>")}var h=this.editor.graph.getGraphBounds();if(this.isExportToCanvas())this.exportToCanvas(mxUtils.bind(this,function(a){var c=d?this.getFileData(!0):null;a=this.createImageDataUri(a,c,"png");f(a)}),null,null,null,mxUtils.bind(this,function(a){n({message:mxResources.get("unknownError")})}),null,!0,b?2:1,null,c);else if(c=this.getFileData(!0),
-h.width*h.height<=MAX_AREA&&c.length<=MAX_REQUEST_SIZE){var m="";b&&(m="&w="+Math.round(2*h.width)+"&h="+Math.round(2*h.height));var p=new mxXmlRequest(EXPORT_URL,"format=png&base64=1&embedXml="+(d?"1":"0")+m+"&xml="+encodeURIComponent(c));p.send(mxUtils.bind(this,function(){200<=p.getStatus()&&299>=p.getStatus()?f("data:image/png;base64,"+p.getText()):n({message:mxResources.get("unknownError")})}))}else n({message:mxResources.get("drawingTooLarge")})};EditorUi.prototype.createEmbedSvg=function(a,
-c,b,d,e,g,k){var f=this.editor.graph.getSvg(),h=f.getElementsByTagName("a");if(null!=h)for(var l=0;l<h.length;l++){var m=h[l].getAttribute("href");null!=m&&"#"==m.charAt(0)&&"_blank"==h[l].getAttribute("target")&&h[l].removeAttribute("target")}d&&f.setAttribute("content",this.getFileData(!0));c&&this.editor.graph.addSvgShadow(f);if(b){var n=" ",p="";d&&(n="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('https://www.draw.io/?client=1&lightbox=1"+
-(e?"&edit=_blank":"")+(g?"&layers=1":"")+"');}})(this);\"",p+="cursor:pointer;");a&&(p+="max-width:100%;");this.convertImages(f,mxUtils.bind(this,function(a){k('<img src="'+this.createSvgDataUri(mxUtils.getXml(a))+'"'+(""!=p?' style="'+p+'"':"")+n+"/>")}))}else p="",d&&(f.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('https://www.draw.io/?client=1&lightbox=1"+
-(e?"&edit=_blank":"")+(g?"&layers=1":"")+"');}}})(this);"),p+="cursor:pointer;"),a&&(a=parseInt(f.getAttribute("width")),c=parseInt(f.getAttribute("height")),f.setAttribute("viewBox","0 0 "+a+" "+c),p+="max-width:100%;max-height:"+c+"px;",f.removeAttribute("height")),""!=p&&f.setAttribute("style",p),k(mxUtils.getXml(f))};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.convertMath=function(a,c,b,d){d()};EditorUi.prototype.decodeNodeIntoGraph=function(a,c){if(null!=a){var b=null;if("diagram"==a.nodeName)b=a;else if("mxfile"==a.nodeName){var f=a.getElementsByTagName("diagram");if(0<
-f.length){var b=f[0],d=c.getGlobalVariable;c.getGlobalVariable=function(a){return"page"==a?b.getAttribute("name")||mxResources.get("pageWithNumber",[1]):"pagenumber"==a?1:d.apply(this,arguments)}}}null!=b&&(f=c.decompress(mxUtils.getTextContent(b)),null!=f&&0<f.length&&(a=mxUtils.parseXml(f).documentElement))}f=this.editor.graph;try{this.editor.graph=c,this.editor.setGraphXml(a)}catch(t){}finally{this.editor.graph=f}return a};EditorUi.prototype.getEmbeddedPng=function(a,c,b){var f=this.editor.graph,
-d=null;if(null!=b&&0<b.length)f=this.createTemporaryGraph(this.editor.graph.getStylesheet()),document.body.appendChild(f.container),this.decodeNodeIntoGraph(this.editor.extractGraphModel(mxUtils.parseXml(b).documentElement,!0),f),d=b;else if(null!=this.pages&&this.currentPage!=this.pages[0]){var f=this.createTemporaryGraph(f.getStylesheet()),e=f.getGlobalVariable,h=this.pages[0];f.getGlobalVariable=function(a){return"page"==a?h.getName():"pagenumber"==a?1:e.apply(this,arguments)};document.body.appendChild(f.container);
-f.model.setRoot(h.root)}this.exportToCanvas(mxUtils.bind(this,function(b){try{null==d&&(d=this.getFileData(!0));var e=b.toDataURL("image/png"),e=this.writeGraphModelToPng(e,"zTXt","mxGraphModel",atob(this.editor.graph.compress(d)));a(e.substring(e.lastIndexOf(",")+1));f!=this.editor.graph&&f.container.parentNode.removeChild(f.container)}catch(l){null!=c&&c(l)}}),null,null,null,mxUtils.bind(this,function(a){null!=c&&c(a)}),null,null,null,null,f.shadowVisible,null,f)};EditorUi.prototype.getEmbeddedSvg=
-function(a,c,b,d,e,g,k){k=c.background;k==mxConstants.NONE&&(k=null);c=c.getSvg(k,null,null,null,null,g);null!=a&&c.setAttribute("content",a);null!=b&&c.setAttribute("resource",b);if(null!=e)this.convertImages(c,mxUtils.bind(this,function(a){e((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))}));else return(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(c)};EditorUi.prototype.exportImage=function(a,c,b,d,e,g,k,n,p){p=null!=p?p:"png";if(this.spinner.spin(document.body,mxResources.get("exporting"))){var f=this.editor.graph.isSelectionEmpty();b=null!=b?b:f;null==this.thumbImageCache&&(this.thumbImageCache={});try{this.exportToCanvas(mxUtils.bind(this,function(a){this.spinner.stop();try{this.saveCanvas(a,e?this.getFileData(!0,null,null,null,b,n):null,p)}catch(H){"Invalid image"==H.message?this.downloadFile(p):this.handleError(H)}}),null,
-this.thumbImageCache,null,mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}),null,b,a||1,c,d,null,null,g,k)}catch(v){this.spinner.stop(),this.handleError(v)}}};EditorUi.prototype.loadFonts=function(a){if(null!=this.editor.fontCss&&null==this.editor.resolvedFontCss){var c=function(a){return a.replace(RegExp("^[\\s\"']+","g"),"").replace(RegExp("[\\s\"']+$","g"),"")},b=this.editor.fontCss.split("url("),d=0,e={},g=mxUtils.bind(this,function(){if(0==d){for(var f=[b[0]],h=1;h<b.length;h++){var l=
-b[h].indexOf(")");f.push('url("');f.push(e[c(b[h].substring(0,l))]);f.push('"'+b[h].substring(l))}this.editor.resolvedFontCss=f.join("");a()}});if(0<b.length)for(var k=1;k<b.length;k++){var n=b[k].indexOf(")"),p=null,l=b[k].indexOf("format(",n);0<l&&(p=c(b[k].substring(l+7,b[k].indexOf(")",l))));mxUtils.bind(this,function(a){if(null==e[a]){e[a]=a;d++;var c="application/x-font-ttf";if("svg"==p||/(\.svg)($|\?)/i.test(a))c="image/svg+xml";else if("otf"==p||"embedded-opentype"==p||/(\.otf)($|\?)/i.test(a))c=
-"application/x-font-opentype";else if("woff"==p||/(\.woff)($|\?)/i.test(a))c="application/font-woff";else if("woff2"==p||/(\.woff2)($|\?)/i.test(a))c="application/font-woff2";else if("eot"==p||/(\.eot)($|\?)/i.test(a))c="application/vnd.ms-fontobject";else if("sfnt"==p||/(\.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){e[a]=c;d--;g()}),mxUtils.bind(this,
-function(a){d--;g()}),!0,null,"data:"+c+";charset=utf-8;base64,")}})(c(b[k].substring(0,n)),p)}}else a()};EditorUi.prototype.exportToCanvas=function(a,c,b,d,e,g,k,n,p,l,v,q,z,y){g=null!=g?g:!0;q=null!=q?q:this.editor.graph;z=null!=z?z:0;var f=p?null:q.background;f==mxConstants.NONE&&(f=null);null==f&&(f=d);null==f&&0==p&&(f=this.editor.graph.defaultPageBackgroundColor);this.convertImages(q.getSvg(f,null,null,y,null,null!=k?k:!0),mxUtils.bind(this,function(b){var d=new Image;d.onload=mxUtils.bind(this,
-function(){try{var h=document.createElement("canvas"),l=parseInt(b.getAttribute("width")),m=parseInt(b.getAttribute("height"));n=null!=n?n:1;null!=c&&(n=g?Math.min(1,Math.min(3*c/(4*m),c/l)):c/l);l=Math.ceil(n*l)+2*z;m=Math.ceil(n*m)+2*z;h.setAttribute("width",l);h.setAttribute("height",m);var k=h.getContext("2d");null!=f&&(k.beginPath(),k.rect(0,0,l,m),k.fillStyle=f,k.fill());k.scale(n,n);mxClient.IS_SF?window.setTimeout(function(){k.drawImage(d,z/n,z/n);a(h)},0):(k.drawImage(d,z/n,z/n),a(h))}catch(M){null!=
-e&&e(M)}});d.onerror=function(a){null!=e&&e(a)};try{l&&this.editor.graph.addSvgShadow(b);var h=mxUtils.bind(this,function(){if(null!=this.editor.resolvedFontCss){var a=document.createElement("style");a.setAttribute("type","text/css");a.innerHTML=this.editor.resolvedFontCss;b.getElementsByTagName("defs")[0].appendChild(a)}this.convertMath(q,b,!0,mxUtils.bind(this,function(){d.src=this.createSvgDataUri(mxUtils.getXml(b))}))});this.loadFonts(h)}catch(D){null!=e&&e(D)}}),b,v)};EditorUi.prototype.createImageUrlConverter=
-function(){var a=new mxUrlConverter;a.updateBaseUrl();var c=a.convert,b=this;a.convert=function(f){if(null!=f){var d="http://"==f.substring(0,7)||"https://"==f.substring(0,8);d&&!navigator.onLine?f=b.svgBrokenImage.src:!d||f.substring(0,a.baseUrl.length)==a.baseUrl||b.crossOriginImages&&b.isCorsEnabledForUrl(f)?"chrome-extension://"!=f.substring(0,19)&&(f=c.apply(this,arguments)):f=PROXY_URL+"?url="+encodeURIComponent(f)}return f};return a};EditorUi.prototype.convertImages=function(a,c,b,d){null==
-d&&(d=this.createImageUrlConverter());var f=0,e=b||{};b=mxUtils.bind(this,function(b,h){for(var g=a.getElementsByTagName(b),l=0;l<g.length;l++)mxUtils.bind(this,function(b){var l=d.convert(b.getAttribute(h));if(null!=l&&"data:"!=l.substring(0,5)){var g=e[l];null==g?(f++,this.convertImageToDataUri(l,function(d){null!=d&&(e[l]=d,b.setAttribute(h,d));f--;0==f&&c(a)})):b.setAttribute(h,g)}else null!=l&&b.setAttribute(h,l)})(g[l])});b("image","xlink:href");b("img","src");0==f&&c(a)};EditorUi.prototype.loadUrl=
-function(a,c,b,d,e,g){try{var f=d||/(\.png)($|\?)/i.test(a)||/(\.jpe?g)($|\?)/i.test(a)||/(\.gif)($|\?)/i.test(a);e=null!=e?e:!0;var h=mxUtils.bind(this,function(){mxUtils.get(a,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus()){if(null!=c){var d=a.getText();if(f){if((9==document.documentMode||10==document.documentMode)&&"undefined"!==typeof window.mxUtilsBinaryToArray){a=mxUtilsBinaryToArray(a.request.responseBody).toArray();for(var d=Array(a.length),e=0;e<a.length;e++)d[e]=
-String.fromCharCode(a[e]);d=d.join("")}g=null!=g?g:"data:image/png;base64,";d=g+this.base64Encode(d)}c(d)}}else null!=b&&b({code:App.ERROR_UNKNOWN},a)}),function(){null!=b&&b({code:App.ERROR_UNKNOWN})},f,this.timeout,function(){e&&null!=b&&b({code:App.ERROR_TIMEOUT,retry:h})})});h()}catch(C){null!=b&&b(C)}};EditorUi.prototype.isCorsEnabledForUrl=function(a){null!=urlParams.cors&&null==this.corsRegExp&&(this.corsRegExp=new RegExp(decodeURIComponent(urlParams.cors)));return null!=this.corsRegExp&&this.corsRegExp.test(a)||
+0))];c=this.currentPage.node}"0"!=urlParams.pages&&null==this.fileNode&&null!=c&&(this.fileNode=c.ownerDocument.createElement("mxfile"),this.currentPage=new DiagramPage(c.ownerDocument.createElement("diagram")),this.currentPage.setName(mxResources.get("pageWithNumber",[1])),this.pages=[this.currentPage]);this.editor.setGraphXml(c);null!=this.currentPage&&(this.currentPage.root=this.editor.graph.model.root)};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))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,c,b,d,f,g,w){try{d=null!=d?d:this.editor.graph.isSelectionEmpty();var e=this.getBaseFilename(!f),
+h=e+"."+a;if("xml"==a){var m='<?xml version="1.0" encoding="UTF-8"?>\n'+(c?mxUtils.getXml(this.editor.getGraphXml(d)):this.getFileData(!0,null,null,null,d,f));this.saveData(h,a,m,"text/xml")}else if("html"==a)m=this.getHtml2(this.getFileData(!0),this.editor.graph,e),this.saveData(h,a,m,"text/html");else if("svg"!=a&&"xmlsvg"!=a||!this.spinner.spin(document.body,mxResources.get("export")))"xmlpng"==a?h=e+".png":"jpeg"==a&&(h=e+".jpg"),this.saveRequest(h,a,mxUtils.bind(this,function(c,b){try{var e=
+this.editor.graph.pageVisible;null!=g&&(this.editor.graph.pageVisible=g);var h=this.createDownloadRequest(c,a,d,b,w);this.editor.graph.pageVisible=e;return h}catch(C){this.handleError(C)}}));else{var q=null,u=mxUtils.bind(this,function(a){a.length<=MAX_REQUEST_SIZE?this.saveData(h,"svg",a,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(q)}))});if("svg"==a){var t=this.editor.graph.background;if(w||t==
+mxConstants.NONE)t=null;var k=this.editor.graph.getSvg(t,null,null,null,null,d);b&&this.editor.graph.addSvgShadow(k);this.convertImages(k,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 h=e+".svg",q=this.getFileData(!1,!0,null,mxUtils.bind(this,function(a){this.spinner.stop();u(a)}),d)}}catch(J){this.handleError(J)}};
+EditorUi.prototype.createDownloadRequest=function(a,c,b,d,f){var e=this.editor.graph.getGraphBounds();b=this.getFileData(!0,null,null,null,b,"xmlpng"!=c);var h="";if(e.width*e.height>MAX_AREA||b.length>MAX_REQUEST_SIZE)throw{message:mxResources.get("drawingTooLarge")};e="0";if("xmlpng"==c&&(e="1",c="png",null!=this.pages&&null!=this.currentPage))for(var g=0;g<this.pages.length;g++)if(this.pages[g]==this.currentPage){h="&from="+g;break}g=this.editor.graph.background;"png"==c&&f&&(g=mxConstants.NONE);
+return new mxXmlRequest(EXPORT_URL,"format="+c+h+"&bg="+(null!=g?g:mxConstants.NONE)+"&base64="+d+"&embedXml="+e+"&xml="+encodeURIComponent(b)+(null!=a?"&filename="+encodeURIComponent(a):""))};EditorUi.prototype.setMode=function(a,c){this.mode=a};EditorUi.prototype.loadDescriptor=function(a,c,b){var e=window.location.hash,h=mxUtils.bind(this,function(b){var h=null!=a.data?a.data:"";null!=b&&0<b.length&&(0<h.length&&(h+="\n"),h+=b);b=new LocalFile(this,"csv"!=a.format&&0<h.length?h:this.emptyDiagramXml,
+null!=urlParams.title?decodeURIComponent(urlParams.title):this.defaultFilename,!0);b.getHash=function(){return e};this.fileLoaded(b);"csv"==a.format&&this.importCsv(h,mxUtils.bind(this,function(a){this.editor.undoManager.clear();this.editor.setModified(!1);this.editor.setStatus("")}));if(null!=a.update){var d=null!=a.interval?parseInt(a.interval):6E4,m=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()),g()):this.handleError({message:mxResources.get("error")+" "+a.getStatus()}))}),mxUtils.bind(this,function(a){this.handleError(a)}))}),g=mxUtils.bind(this,function(){window.clearTimeout(m);m=window.setTimeout(f,d)});this.editor.addListener("pageSelected",mxUtils.bind(this,function(){g();f()}));g();f()}null!=c&&c()});if(null!=a.url){var d=a.url;/^https?:\/\//.test(d)&&!this.isCorsEnabledForUrl(d)&&
+(d=PROXY_URL+"?url="+encodeURIComponent(a.url));this.loadUrl(d,mxUtils.bind(this,function(a){h(a)}),mxUtils.bind(this,function(a){null!=b&&b(a)}))}else h(a.data)};EditorUi.prototype.updateDiagram=function(a){function c(a){var c=new mxCellOverlay(a.image||d.warningImage,a.tooltip,a.align,a.valign,a.offset);c.addListener(mxEvent.CLICK,function(c,b){editorUi.alert(a.tooltip)});return c}var b=null;if(null!=a&&0<a.length&&(b=mxUtils.parseXml(a),a=null!=b?b.documentElement:null,null!=a&&"updates"==a.nodeName)){var d=
+this.editor.graph,f=d.getModel();f.beginUpdate();var g=null;try{for(a=a.firstChild;null!=a;){if("update"==a.nodeName){var w=f.getCell(a.getAttribute("id"));if(null!=w){try{var k=a.getAttribute("value");if(null!=k){var l=mxUtils.parseXml(k).documentElement;if(null!=l)if("1"==l.getAttribute("replace-value"))f.setValue(w,l);else for(var m=l.attributes,v=0;v<m.length;v++)d.setAttributeForCell(w,m[v].nodeName,0<m[v].nodeValue.length?m[v].nodeValue:null)}}catch(C){null!=window.console&&console.log("Error in value for "+
+w.id+": "+C)}try{var n=a.getAttribute("style");null!=n&&d.model.setStyle(w,n)}catch(C){null!=window.console&&console.log("Error in style for "+w.id+": "+C)}try{var p=a.getAttribute("icon");if(null!=p){var z=0<p.length?JSON.parse(p):null;null!=z&&z.append||d.removeCellOverlays(w);null!=z&&d.addCellOverlay(w,c(z))}}catch(C){null!=window.console&&console.log("Error in icon for "+w.id+": "+C)}try{var J=a.getAttribute("geometry");if(null!=J){var J=JSON.parse(J),A=d.getCellGeometry(w);if(null!=A){A=A.clone();
+for(key in J){var B=parseFloat(J[key]);"dx"==key?A.x+=B:"dy"==key?A.y+=B:"dw"==key?A.width+=B:"dh"==key?A.height+=B:A[key]=parseFloat(J[key])}d.model.setGeometry(w,A)}}}catch(C){null!=window.console&&console.log("Error in icon for "+w.id+": "+C)}}}else if("model"==a.nodeName){for(var I=a.firstChild;null!=I&&I.nodeType!=mxConstants.NODETYPE_ELEMENT;)I=I.nextSibling;null!=I&&(new mxCodec(a.firstChild)).decode(I,f)}else if("view"==a.nodeName){if(a.hasAttribute("scale")&&(d.view.scale=parseFloat(a.getAttribute("scale"))),
+a.hasAttribute("dx")||a.hasAttribute("dy"))d.view.translate=new mxPoint(parseFloat(a.getAttribute("dx")||0),parseFloat(a.getAttribute("dy")||0))}else"fit"==a.nodeName&&(g=a.hasAttribute("max-scale")?parseFloat(a.getAttribute("max-scale")):1);a=a.nextSibling}}finally{f.endUpdate()}null!=g&&this.chromelessResize&&this.chromelessResize(!0,g)}return b};EditorUi.prototype.fileLoaded=function(a){var c=!1;this.hideDialog();var b=this.getCurrentFile();this.setCurrentFile(null);null!=b&&(b.removeListener(this.descriptorChangedListener),
+b.close());this.editor.graph.model.clear();this.editor.undoManager.clear();var d=mxUtils.bind(this,function(){this.setGraphEnabled(!1);this.setCurrentFile(null);null!=b&&this.updateDocumentTitle();this.editor.graph.model.clear();this.editor.undoManager.clear();this.setBackgroundImage(null);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.updateUi();this.showSplash()});if(null!=a)try{this.setCurrentFile(a);a.addListener("descriptorChanged",this.descriptorChangedListener);a.addListener("contentChanged",this.descriptorChangedListener);a.open();this.setGraphEnabled(!0);this.setMode(a.getMode());this.editor.undoManager.clear();this.descriptorChanged();this.updateUi();null==a.realtime&&(a.isEditable()?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"));c=!0;this.isOffline()||null==a.getMode()||this.logEvent({category:"File",action:"open",label:a.getMode()});if(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(q){}try{mxSettings.setOpenCounter(mxSettings.getOpenCounter()+1),mxSettings.save()}catch(q){}}catch(q){null!=window.console&&console.log("error in fileLoaded:",a,q);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!=q&&null!=q.message?":err:"+encodeURIComponent(q.message):"")+(null!=q&&null!=q.stack?"&stack="+encodeURIComponent(q.stack):"")}catch(t){}this.handleError(q,mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){null!=urlParams.url&&this.spinner.spin(document.body,mxResources.get("reconnecting"))?window.location.search=this.getSearch(["url"]):null!=b?b.constructor==DriveFile?this.loadFile(b.getHash()):this.fileLoaded(b):d()}))}else d();return c};EditorUi.prototype.descriptorChanged=
+function(){};EditorUi.prototype.logEvent=function(a){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(h){}};EditorUi.prototype.restoreLibraries=function(){};EditorUi.prototype.saveLibrary=function(a,c,b,d,f,g,w){};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,c,b){if(null!=this.sidebar){a.constructor!=LocalLibrary&&mxSettings.addCustomLibrary(a.getHash());".scratchpad"==a.title&&(this.scratchpad=a);var e=this.sidebar.palettes[a.getHash()],e=null!=e?e[e.length-1].nextSibling:null;this.removeLibrarySidebar(a.getHash());var h=null,d=mxUtils.bind(this,function(c,b){if(0==c.length&&a.isEditable())null==h&&(h=document.createElement("div"),mxUtils.setPrefixedStyle(h.style,
+"borderRadius","6px"),h.style.border="3px dotted lightGray",h.style.textAlign="center",h.style.padding="8px",h.style.color="#B3B3B3",mxUtils.write(h,mxResources.get("dragElementsHere"))),b.appendChild(h);else for(var e=0;e<c.length;e++){var d=c[e],m=d.data;if(null!=m){var m=this.convertDataUri(m),f="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";"fixed"==d.aspect&&(f+="aspect=fixed;");b.appendChild(this.sidebar.createVertexTemplate(f+"image="+m,d.w,d.h,"",d.title||"",!1,
+!1,!0))}else null!=d.xml&&(m=this.stringToCells(this.editor.graph.decompress(d.xml)),0<m.length&&b.appendChild(this.sidebar.createVertexTemplateFromCells(m,d.w,d.h,d.title||"",!0,!1,!0)))}});if(null!=this.sidebar&&null!=c)for(var f=0;f<c.length;f++)mxUtils.bind(this,function(a){var c=a.data;null!=c&&null!=a.title?this.sidebar.addEntry(a.title,mxUtils.bind(this,function(){c=this.convertDataUri(c);var b="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";"fixed"==a.aspect&&(b+=
+"aspect=fixed;");return this.sidebar.createVertexTemplate(b+"image="+c,a.w,a.h,"",a.title||"",!1,!1,!0)})):null!=a.xml&&null!=a.title&&this.sidebar.addEntry(a.title,mxUtils.bind(this,function(){var c=this.stringToCells(this.editor.graph.decompress(a.xml));return this.sidebar.createVertexTemplateFromCells(c,a.w,a.h,a.title||"",!0,!1,!0)}))})(c[f]);b=null!=b&&0<b.length?b:a.getTitle();var g=this.sidebar.addPalette(a.getHash(),b,!0,mxUtils.bind(this,function(a){d(c,a)}));this.repositionLibrary(e);var k=
+g.parentNode.previousSibling;b=k.getAttribute("title");null!=b&&0<b.length&&".scratchpad"!=a.title&&k.setAttribute("title",this.getLibraryStorageHint(a)+"\n"+b);var m=document.createElement("div");m.style.position="absolute";m.style.right="0px";m.style.top="0px";m.style.padding="8px";mxClient.IS_QUIRKS||8==document.documentMode||(m.style.backgroundColor="inherit");k.style.position="relative";var v=document.createElement("img");v.setAttribute("src",Dialog.prototype.closeImage);v.setAttribute("title",
+mxResources.get("close"));v.setAttribute("valign","absmiddle");v.setAttribute("border","0");v.style.margin="0 3px";var l=null;if(".scratchpad"!=a.title||this.closableScratchpad)m.appendChild(v),mxEvent.addListener(v,"click",mxUtils.bind(this,function(c){if(!mxEvent.isConsumed(c)){var b=mxUtils.bind(this,function(){this.closeLibrary(a)});null!=l?this.confirm(mxResources.get("allChangesLost"),null,b,mxResources.get("cancel"),mxResources.get("discardChanges")):b();mxEvent.consume(c)}}));if(a.isEditable()){var n=
+this.editor.graph,p=null,J=mxUtils.bind(this,function(b){this.showLibraryDialog(a.getTitle(),g,c,a,a.getMode());mxEvent.consume(b)}),A=mxUtils.bind(this,function(b){a.setModified(!0);a.isAutosave()?(null!=p&&null!=p.parentNode&&p.parentNode.removeChild(p),p=v.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",m.insertBefore(p,m.firstChild),k.style.paddingRight=18*m.childNodes.length+
+"px",this.saveLibrary(a.getTitle(),c,a,a.getMode(),!0,!0,function(){null!=p&&null!=p.parentNode&&(p.parentNode.removeChild(p),k.style.paddingRight=18*m.childNodes.length+"px")})):null==l&&(l=v.cloneNode(!1),l.setAttribute("src",IMAGE_PATH+"/download.png"),l.setAttribute("title",mxResources.get("save")),m.insertBefore(l,m.firstChild),mxEvent.addListener(l,"click",mxUtils.bind(this,function(b){this.saveLibrary(a.getTitle(),c,a,a.getMode(),a.constructor==LocalLibrary,!0,function(){null==l||a.isModified()||
+(k.style.paddingRight=18*m.childNodes.length+"px",l.parentNode.removeChild(l),l=null)});mxEvent.consume(b)})),k.style.paddingRight=18*m.childNodes.length+"px")}),B=mxUtils.bind(this,function(a,b,e,d){a=n.cloneCells(mxUtils.sortCells(n.model.getTopmostCells(a)));for(var m=0;m<a.length;m++){var f=n.getCellGeometry(a[m]);null!=f&&f.translate(-b.x,-b.y)}g.appendChild(this.sidebar.createVertexTemplateFromCells(a,b.width,b.height,d||"",!0,!1,!1));a={xml:this.editor.graph.compress(mxUtils.getXml(this.editor.graph.encodeCells(a))),
+w:b.width,h:b.height};null!=d&&(a.title=d);c.push(a);A(e);null!=h&&null!=h.parentNode&&0<c.length&&(h.parentNode.removeChild(h),h=null)}),I=mxUtils.bind(this,function(a){if(n.isSelectionEmpty())n.getRubberband().isActive()?(n.getRubberband().execute(a),n.getRubberband().reset()):this.showError(mxResources.get("error"),mxResources.get("nothingIsSelected"),mxResources.get("ok"));else{var c=n.getSelectionCells(),b=n.view.getBounds(c),e=n.view.scale;b.x/=e;b.y/=e;b.width/=e;b.height/=e;b.x-=n.view.translate.x;
+b.y-=n.view.translate.y;B(c,b)}mxEvent.consume(a)});g.style.border="3px solid transparent";mxEvent.addGestureListeners(g,function(){},mxUtils.bind(this,function(a){n.isMouseDown&&null!=n.panningManager&&null!=n.graphHandler.shape&&(n.graphHandler.shape.node.style.visibility="hidden",null!=h?h.style.border="3px dotted rgb(254, 137, 12)":g.style.border="3px dotted rgb(254, 137, 12)",g.style.cursor="copy",n.panningManager.stop(),n.autoScroll=!1,null!=n.graphHandler.guide&&n.graphHandler.guide.setVisible(!1),
+null!=n.graphHandler.hint&&(n.graphHandler.hint.style.visibility="hidden"),mxEvent.consume(a))}),mxUtils.bind(this,function(a){n.isMouseDown&&null!=n.panningManager&&null!=n.graphHandler&&(g.style.border="3px solid transparent",null!=h&&(h.style.border="3px dotted lightGray"),g.style.cursor="default",this.sidebar.showTooltips=!0,n.panningManager.stop(),n.graphHandler.reset(),n.isMouseDown=!1,n.autoScroll=!0,I(a),mxEvent.consume(a))}));mxEvent.addListener(g,"mouseleave",mxUtils.bind(this,function(a){n.isMouseDown&&
+null!=n.graphHandler.shape&&(n.graphHandler.shape.node.style.visibility="visible",g.style.border="3px solid transparent",g.style.cursor="",n.autoScroll=!0,null!=n.graphHandler.guide&&n.graphHandler.guide.setVisible(!0),null!=n.graphHandler.hint&&(n.graphHandler.hint.style.visibility="visible"),null!=h&&(h.style.border="3px dotted lightGray"))}));Graph.fileSupport&&(mxEvent.addListener(g,"dragover",mxUtils.bind(this,function(a){null!=h?h.style.border="3px dotted rgb(254, 137, 12)":g.style.border="3px dotted rgb(254, 137, 12)";
+a.dataTransfer.dropEffect="copy";g.style.cursor="copy";this.sidebar.hideTooltip();a.stopPropagation();a.preventDefault()})),mxEvent.addListener(g,"drop",mxUtils.bind(this,function(a){g.style.border="3px solid transparent";g.style.cursor="";null!=h&&(h.style.border="3px dotted lightGray");0<a.dataTransfer.files.length&&this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,mxUtils.bind(this,function(b,e,m,f,q,v,u,w,k){if(null!=b&&"image/"==e.substring(0,6))b="shape=image;verticalLabelPosition=bottom;verticalAlign=top;aspect=fixed;image="+
+this.convertDataUri(b),b=[new mxCell("",new mxGeometry(0,0,q,v),b)],b[0].vertex=!0,B(b,new mxRectangle(0,0,q,v),a,mxEvent.isAltDown(a)?null:u.substring(0,u.lastIndexOf(".")).replace(/_/g," ")),null!=h&&null!=h.parentNode&&0<c.length&&(h.parentNode.removeChild(h),h=null);else{var t=!1,l=mxUtils.bind(this,function(b,e){if(null!=b&&"text/xml"==e){var m=mxUtils.parseXml(b);if("mxlibrary"==m.documentElement.nodeName)try{var f=JSON.parse(mxUtils.getTextContent(m.documentElement));d(f,g);c=c.concat(f);A(a);
+this.spinner.stop();t=!0}catch(U){}else if("mxfile"==m.documentElement.nodeName)try{for(var q=m.documentElement.getElementsByTagName("diagram"),m=0;m<q.length;m++){var f=mxUtils.getTextContent(q[m]),v=this.stringToCells(this.editor.graph.decompress(f)),u=this.editor.graph.getBoundingBoxFromGeometry(v);B(v,new mxRectangle(0,0,u.width,u.height),a)}t=!0}catch(U){null!=window.console&&console.log("error in drop handler:",U)}}t||(this.spinner.stop(),this.handleError({message:mxResources.get("errorLoadingFile")}));
+null!=h&&null!=h.parentNode&&0<c.length&&(h.parentNode.removeChild(h),h=null)});null!=k&&null!=u&&(/(\.vsdx?)($|\?)/i.test(u)||/(\.vssx)($|\?)/i.test(u))?this.importVisio(k,function(a){l(a,"text/xml")},null,u):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(b,u)&&null!=k?this.parseFile(k,mxUtils.bind(this,function(a){4==a.readyState&&(this.spinner.stop(),200<=a.status&&299>=a.status?l(a.responseText,"text/xml"):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge":
+"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))})):l(b,e)}}));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(g,"dragleave",function(a){null!=h?h.style.border="3px dotted lightGray":(g.style.border="3px solid transparent",g.style.cursor="");a.stopPropagation();a.preventDefault()}));v=v.cloneNode(!1);v.setAttribute("src",Editor.editImage);v.setAttribute("title",mxResources.get("edit"));m.insertBefore(v,m.firstChild);mxEvent.addListener(v,"click",J);mxEvent.addListener(g,
+"dblclick",function(a){mxEvent.getSource(a)==g&&J(a)});b=v.cloneNode(!1);b.setAttribute("src",Editor.plusImage);b.setAttribute("title",mxResources.get("add"));m.insertBefore(b,m.firstChild);mxEvent.addListener(b,"click",I);this.isOffline()||".scratchpad"!=a.title||null==EditorUi.scratchpadHelpLink||(b=document.createElement("span"),b.setAttribute("title",mxResources.get("help")),b.style.cssText="color:#a3a3a3;text-decoration:none;margin-right:2px;",mxUtils.write(b,"?"),mxEvent.addGestureListeners(b,
+mxUtils.bind(this,function(a){this.openLink(EditorUi.scratchpadHelpLink);mxEvent.consume(a)})),m.insertBefore(b,m.firstChild))}k.appendChild(m);k.style.paddingRight=18*m.childNodes.length+"px"}};"1"==urlParams.offline||EditorUi.isElectronApp?EditorUi.prototype.footerHeight=4:("1"==urlParams.savesidebar&&(Sidebar.prototype.thumbWidth=64,Sidebar.prototype.thumbHeight=64),EditorUi.prototype.footerHeight=760<=screen.width&&240<=screen.height?46:0,EditorUi.prototype.createFooter=function(){var a=document.getElementById("geFooter");
+if(null!=a){a.style.visibility="visible";var c=document.createElement("img");c.setAttribute("border","0");c.setAttribute("src",Dialog.prototype.closeImage);c.setAttribute("title",mxResources.get("hide"));a.appendChild(c);mxClient.IS_QUIRKS&&(c.style.position="relative",c.style.styleFloat="right",c.style.top="-30px",c.style.left="164px",c.style.cursor="pointer");mxEvent.addListener(c,"click",mxUtils.bind(this,function(){this.hideFooter()}))}return a});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,EditorUi.prototype.hsplitPosition=188,Sidebar.prototype.thumbWidth=46,Sidebar.prototype.thumbHeight=46,Sidebar.prototype.thumbPadding=
+5<=document.documentMode?0:1,Sidebar.prototype.thumbBorder=2):"dark"==uiTheme&&(mxClient.link("stylesheet",STYLE_PATH+"/dark.css"),Dialog.backdropColor="#2a2a2a",Graph.prototype.defaultThemeName="darkTheme",Graph.prototype.defaultPageBackgroundColor="#2a2a2a",Graph.prototype.defaultGraphBackground=null,Graph.prototype.defaultPageBorderColor="#505759",Graph.prototype.svgShadowColor="#e0e0e0",Graph.prototype.svgShadowOpacity="0.6",Graph.prototype.svgShadowSize="0.8",Graph.prototype.svgShadowBlur="1.4",
+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,c,b,d,f){a=new ImageDialog(this,a,c,b,d,f);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,c,b,d,f){a=new LibraryDialog(this,a,c,b,d,f);this.showDialog(a.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&&null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.showSplash()}));a.init()};EditorUi.prototype.createSidebarFooterContainer=function(){var a=this.createDiv("geSidebarContainer");
+a.style.position="absolute";a.style.overflow="hidden";a.style.borderWidth="3px";var c=document.createElement("a");c.setAttribute("href","javascript:void(0);");c.className="geTitle";c.style.height="100%";c.style.paddingTop="9px";mxUtils.write(c,mxResources.get("moreShapes")+"...");mxEvent.addListener(c,"click",mxUtils.bind(this,function(a){this.actions.get("shapes").funct();mxEvent.consume(a)}));a.appendChild(c);return a};EditorUi.prototype.handleError=function(a,c,b){var e=null!=this.spinner&&null!=
+this.spinner.pause?this.spinner.pause():function(){},h=null!=a&&null!=a.error?a.error:a;if(null!=h||null!=c){a=mxUtils.htmlEntities(mxResources.get("unknownError"));var d=mxResources.get("ok"),f=null;c=null!=c?c:mxResources.get("error");if(null!=h)if(null!=h.retry&&(d=mxResources.get("cancel"),f=function(){e();h.retry()}),"undefined"!=typeof gapi&&"undefined"!=typeof gapi.drive&&"undefined"!=typeof gapi.drive.realtime&&h.type==gapi.drive.realtime.ErrorType.FORBIDDEN)a=mxUtils.htmlEntities(mxResources.get("forbidden"));
+else if(404==h.code||404==h.status||"undefined"!=typeof gapi&&"undefined"!=typeof gapi.drive&&"undefined"!=typeof gapi.drive.realtime&&h.type==gapi.drive.realtime.ErrorType.NOT_FOUND){a=mxUtils.htmlEntities(mxResources.get("fileNotFoundOrDenied"));var g=window.location.hash;null!=g&&"#G"==g.substring(0,2)&&(g=g.substring(2),a+=' <a href="https://drive.google.com/open?id='+g+'" target="_blank">'+mxUtils.htmlEntities(mxResources.get("tryOpeningViaThisPage"))+"</a>")}else h.code==App.ERROR_TIMEOUT?a=
+mxUtils.htmlEntities(mxResources.get("timeout")):h.code==App.ERROR_BUSY?a=mxUtils.htmlEntities(mxResources.get("busy")):null!=h.message?a=mxUtils.htmlEntities(h.message):null!=h.response&&null!=h.response.error&&(a=mxUtils.htmlEntities(h.response.error));this.showError(c,a,d,b,f)}else null!=b&&b()};EditorUi.prototype.showError=function(a,c,b,d,f,g,w,k,l,m,v,n){a=new ErrorDialog(this,a,c,b||mxResources.get("ok"),d,f,g,w,n,k,l);this.showDialog(a.container,m||340,v||150,!0,!1);a.init()};EditorUi.prototype.alert=
+function(a,c){var b=new ErrorDialog(this,null,a,mxResources.get("ok"),c);this.showDialog(b.container,340,100,!0,!1);b.init()};EditorUi.prototype.confirm=function(a,c,b,d,f){var e=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){};this.showDialog((new ConfirmDialog(this,a,function(){e();null!=c&&c()},function(){e();null!=b&&b()},d,f)).container,340,90,!0,!1)};EditorUi.prototype.setCurrentFile=function(a){this.currentFile=a};EditorUi.prototype.getCurrentFile=function(){return this.currentFile};
+EditorUi.prototype.isExportToCanvas=function(){return mxClient.IS_CHROMEAPP||!this.editor.graph.mathEnabled&&this.useCanvasForExport};EditorUi.prototype.createSvgDataUri=function(a){return"data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent(a)))};EditorUi.prototype.createImageDataUri=function(a,c,b){var e=a.toDataURL("image/"+b);if(6>=e.length||e==a.cloneNode(!1).toDataURL("image/"+b))throw{message:"Invalid image"};null!=c&&(e=this.writeGraphModelToPng(e,"zTXt","mxGraphModel",atob(this.editor.graph.compress(c))));
+return e};EditorUi.prototype.saveCanvas=function(a,c,b){var e="jpeg"==b?"jpg":b,h=this.getBaseFilename()+"."+e;a=this.createImageDataUri(a,c,b);this.saveData(h,e,a.substring(a.lastIndexOf(",")+1),"image/"+b,!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.doSaveLocalFile=function(a,c,b,d,f){if(window.Blob&&navigator.msSaveOrOpenBlob)a=d?this.base64ToBlob(a,b):new Blob([a],{type:b}),navigator.msSaveOrOpenBlob(a,c);else if(mxClient.IS_IE)b=window.open("about:blank","_blank"),null==b?mxUtils.popup(a,!0):(b.document.write(a),b.document.close(),b.document.execCommand("SaveAs",!0,c),b.close());else if(mxClient.IS_IOS)c=new TextareaDialog(this,c+":",a,null,null,mxResources.get("close")),c.textarea.style.width="600px",c.textarea.style.height=
+"380px",this.showDialog(c.container,620,460,!0,!0),c.init(),document.execCommand("selectall",!1,null);else{var e=document.createElement("a"),h=!mxClient.IS_SF&&"undefined"!==typeof e.download;if(mxClient.IS_GC)var g=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./),h=65==(g?parseInt(g[2],10):!1)?!1:h;if(h||this.isOffline()){e.href=URL.createObjectURL(d?this.base64ToBlob(a,b):new Blob([a],{type:b}));h?e.download=c:e.setAttribute("target","_blank");document.body.appendChild(e);try{window.setTimeout(function(){URL.revokeObjectURL(e.href)},
+0),e.click(),e.parentNode.removeChild(e)}catch(x){}}else this.createEchoRequest(a,c,b,d,f).simulate(document,"_blank")}};EditorUi.prototype.createEchoRequest=function(a,c,b,d,f,g){a="xml="+encodeURIComponent(a);return new mxXmlRequest(SAVE_URL,a+(null!=b?"&mime="+b:"")+(null!=f?"&format="+f:"")+(null!=g?"&base64="+g:"")+(null!=c?"&filename="+encodeURIComponent(c):"")+(d?"&binary=1":""))};EditorUi.prototype.base64ToBlob=function(a,c){c=c||"";for(var b=atob(a),e=b.length,d=Math.ceil(e/1024),f=Array(d),
+g=0;g<d;++g){for(var k=1024*g,l=Math.min(k+1024,e),m=Array(l-k),v=0;k<l;++v,++k)m[v]=b[k].charCodeAt(0);f[g]=new Uint8Array(m)}return new Blob(f,{type:c})};EditorUi.prototype.saveLocalFile=function(a,c,b,d,f,g,w){g=null!=g?g:!1;w=null!=w?w:"vsdx"!=f&&(!mxClient.IS_IOS||!navigator.standalone);f=this.getServiceCount(g);c=new CreateDialog(this,c,mxUtils.bind(this,function(c,e){try{if("_blank"==e)if(null==b||"image/"!=b.substring(0,6)||"image/svg"==b.substring(0,9)&&!mxClient.IS_SVG){var h=window.open("about:blank");
+null==h?mxUtils.popup(a,!0):(h.document.write(mxUtils.htmlEntities(a,!1)),h.document.close())}else this.openInNewWindow(a,b,d);else e==App.MODE_DEVICE||"download"==e?this.doSaveLocalFile(a,c,b,d):null!=c&&0<c.length&&this.pickFolder(e,mxUtils.bind(this,function(h){try{this.exportFile(a,c,b,d,e,h)}catch(F){this.handleError(F)}}))}catch(v){this.handleError(v)}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,g,w,null,1<f,4<f&&(!g||6>f)?3:4,
+a,b,d);this.showDialog(c.container,420,f==(mxClient.IS_IOS?0:1)?160:4<f?390:270,!0,!0);c.init()};EditorUi.prototype.openInNewWindow=function(a,c,b){if(mxClient.IS_GC||mxClient.IS_EDGE||11==document.documentMode||10==document.documentMode){var e=window.open("about:blank");null==e?mxUtils.popup(a,!0):("image/svg+xml"==c?e.document.write("<html>"+a+"</html>"):e.document.write('<html><img src="data:'+c+(b?";base64,"+a:";charset=utf8,"+encodeURIComponent(a))+'"/></html>'),e.document.close())}else e=window.open("data:"+
+c+(b?";base64,"+a:";charset=utf8,"+encodeURIComponent(a))),null==e&&mxUtils.popup(a,!0)};var d=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 e=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=e.left+"px";this.exportDialog.style.bottom=parseInt(this.chromelessToolbar.style.bottom)+this.chromelessToolbar.offsetHeight+4+"px";e=mxUtils.getCurrentStyle(this.editor.graph.container);this.exportDialog.style.zIndex=e.zIndex;var d=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});d.spin(this.exportDialog);this.exportToCanvas(mxUtils.bind(this,
+function(a){d.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.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"))}d.apply(this,arguments)};EditorUi.prototype.saveData=function(a,c,b,d,f){this.isLocalFileSave()?this.saveLocalFile(b,a,d,f,c):this.saveRequest(a,c,mxUtils.bind(this,function(a,
+e){return this.createEchoRequest(b,a,d,f,c,e)}),b,f,d)};EditorUi.prototype.saveRequest=function(a,c,b,d,f,g,k){k=null!=k?k:!mxClient.IS_IOS||!navigator.standalone;var e=this.getServiceCount(!1);a=new CreateDialog(this,a,mxUtils.bind(this,function(a,e){if("_blank"==e||null!=a&&0<a.length){var h=b("_blank"==e?null:a,e==App.MODE_DEVICE||"download"==e||null==e||"_blank"==e?"0":"1");null!=h&&(e==App.MODE_DEVICE||"download"==e||"_blank"==e?h.simulate(document,"_blank"):this.pickFolder(e,mxUtils.bind(this,
+function(b){g=null!=g?g:"pdf"==c?"application/pdf":"image/"+c;if(null!=d)try{this.exportFile(d,a,g,!0,e,b)}catch(D){this.handleError(D)}else this.spinner.spin(document.body,mxResources.get("saving"))&&h.send(mxUtils.bind(this,function(){this.spinner.stop();if(200<=h.getStatus()&&299>=h.getStatus())try{this.exportFile(h.getText(),a,g,!0,e,b)}catch(D){this.handleError(D)}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,k,null,1<e,4<e?3:4,d,g,f);this.showDialog(a.container,380,e==(mxClient.IS_IOS?0:1)?160:4<e?390:270,!0,!0);a.init()};EditorUi.prototype.getEditBlankXml=function(){return this.getFileData(!0)};EditorUi.prototype.exportFile=function(a,c,b,d,f,g){};EditorUi.prototype.pickFolder=function(a,c,b){c(null)};EditorUi.prototype.exportSvg=function(a,c,b,d,f,g,k,l,n){if(this.spinner.spin(document.body,
+mxResources.get("export"))){var e=this.editor.graph.isSelectionEmpty();b=null!=b?b:e;e=c?null:this.editor.graph.background;e==mxConstants.NONE&&(e=null);null==e&&0==c&&(e="#ffffff");var h=this.editor.graph.getSvg(e,a,k,l,null,b);d&&this.editor.graph.addSvgShadow(h);var q=this.getBaseFilename()+".svg",u=mxUtils.bind(this,function(a){this.spinner.stop();f&&a.setAttribute("content",this.getFileData(!0,null,null,null,b,n));if(null!=this.editor.fontCss){var c=a.ownerDocument,c=null!=c.createElementNS?
+c.createElementNS(mxConstants.NS_SVG,"style"):c.createElement("style");c.setAttribute("type","text/css");mxUtils.setTextContent(c,this.editor.fontCss);a.getElementsByTagName("defs")[0].appendChild(c)}var e='<!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()||e.length<=MAX_REQUEST_SIZE?this.saveData(q,"svg",e,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),
+mxUtils.bind(this,function(){mxUtils.popup(e)}))});this.convertMath(this.editor.graph,h,!1,mxUtils.bind(this,function(){g?(null==this.thumbImageCache&&(this.thumbImageCache={}),this.convertImages(h,u,this.thumbImageCache)):u(h)}))}};EditorUi.prototype.addCheckbox=function(a,c,b,d,f,g){g=null!=g?g:!0;var e=document.createElement("input");e.style.marginRight="8px";e.style.marginTop="16px";e.setAttribute("type","checkbox");b&&(e.setAttribute("checked","checked"),e.defaultChecked=!0);d&&e.setAttribute("disabled",
+"disabled");g&&(a.appendChild(e),b=document.createElement("span"),mxUtils.write(b,c),a.appendChild(b),f||mxUtils.br(a),mxEvent.addListener(b,"click",mxUtils.bind(this,function(a){"disabled"!=e.getAttribute("disabled")&&(e.checked=!e.checked,mxEvent.consume(a))})));return e};EditorUi.prototype.addEditButton=function(a,c){var b=this.addCheckbox(a,mxResources.get("edit")+":",!0,null,!0);b.style.marginLeft="24px";var e=this.getCurrentFile(),d="";null!=e&&e.getMode()!=App.MODE_DEVICE&&e.getMode()!=App.MODE_BROWSER&&
+(d=window.location.href);var f=document.createElement("select");f.style.width="120px";f.style.marginLeft="8px";f.style.marginRight="10px";f.className="geBtn";e=document.createElement("option");e.setAttribute("value","blank");mxUtils.write(e,mxResources.get("makeCopy"));f.appendChild(e);e=document.createElement("option");e.setAttribute("value","custom");mxUtils.write(e,mxResources.get("custom")+"...");f.appendChild(e);a.appendChild(f);mxEvent.addListener(f,"change",mxUtils.bind(this,function(){if("custom"==
+f.value){var a=new FilenameDialog(this,d,mxResources.get("ok"),function(a){null!=a?d=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(b,"change",mxUtils.bind(this,function(){b.checked&&(null==c||c.checked)?f.removeAttribute("disabled"):f.setAttribute("disabled","disabled")}));mxUtils.br(a);return{getLink:function(){return b.checked?"blank"===f.value?"_blank":d:null},getEditInput:function(){return b},
+getEditSelect:function(){return f}}};EditorUi.prototype.addLinkSection=function(a,c){function b(){g.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 e=document.createElement("select");e.style.width="100px";e.style.marginLeft=
+"8px";e.style.marginRight="10px";e.className="geBtn";var d=document.createElement("option");d.setAttribute("value","auto");mxUtils.write(d,mxResources.get("automatic"));e.appendChild(d);d=document.createElement("option");d.setAttribute("value","blank");mxUtils.write(d,mxResources.get("openInNewWindow"));e.appendChild(d);d=document.createElement("option");d.setAttribute("value","self");mxUtils.write(d,mxResources.get("openInThisWindow"));e.appendChild(d);c&&(d=document.createElement("option"),d.setAttribute("value",
+"frame"),mxUtils.write(d,mxResources.get("openInThisWindow")+" ("+mxResources.get("iframe")+")"),e.appendChild(d));a.appendChild(e);mxUtils.write(a,mxResources.get("borderColor")+":");var f="#0000ff",g=null,g=mxUtils.button("",mxUtils.bind(this,function(a){this.pickColor(f||"none",function(a){f=a;b()});mxEvent.consume(a)}));b();g.style.padding=mxClient.IS_FF?"4px 2px 4px 2px":"4px";g.style.marginLeft="4px";g.style.height="22px";g.style.width="22px";g.style.position="relative";g.style.top=mxClient.IS_IE||
+mxClient.IS_IE11||mxClient.IS_EDGE?"6px":"1px";g.className="geColorBtn";a.appendChild(g);mxUtils.br(a);return{getColor:function(){return f},getTarget:function(){return e.value},focus:function(){e.focus()}}};EditorUi.prototype.createLink=function(a,c,b,d,f,g,k,l){var e=this.getCurrentFile(),h=[];d&&(h.push("lightbox=1"),"auto"!=a&&h.push("target="+a),null!=c&&c!=mxConstants.NONE&&h.push("highlight="+("#"==c.charAt(0)?c.substring(1):c)),null!=f&&0<f.length&&h.push("edit="+encodeURIComponent(f)),g&&
+h.push("layers=1"),this.editor.graph.foldingEnabled&&h.push("nav=1"));if(b&&null!=this.pages&&null!=this.currentPage)for(a=0;a<this.pages.length;a++)if(this.pages[a]==this.currentPage){0<a&&h.push("page="+a);break}a=!0;null!=k?b="#U"+encodeURIComponent(k):(e=this.getCurrentFile(),l||null==e||e.constructor!=window.DriveFile?b="#R"+encodeURIComponent(b?this.getFileData(!0,null,null,null,null,null,null,!0):this.editor.graph.compress(mxUtils.getXml(this.editor.getGraphXml()))):(b="#"+e.getHash(),a=!1));
+a&&null!=e&&null!=e.getTitle()&&e.getTitle()!=this.defaultFilename&&h.push("title="+encodeURIComponent(e.getTitle()));return(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||!/.*\.draw\.io$/.test(window.location.hostname)?"https://www.draw.io/":"https://"+window.location.host+"/")+(0<h.length?"?"+h.join("&"):"")+b};EditorUi.prototype.createHtml=function(a,c,b,d,f,g,k,l,n,m,v){this.getBasenames();var e={};""!=f&&f!=mxConstants.NONE&&(e.highlight=f);"auto"!==d&&(e.target=d);n||(e.lightbox=!1);e.nav=this.editor.graph.foldingEnabled;
+b=parseInt(b);isNaN(b)||100==b||(e.zoom=b/100);b=[];k&&(b.push("pages"),e.resize=!0,null!=this.pages&&null!=this.currentPage&&(e.page=mxUtils.indexOf(this.pages,this.currentPage)));c&&(b.push("zoom"),e.resize=!0);l&&b.push("layers");0<b.length&&(n&&b.push("lightbox"),e.toolbar=b.join(" "));null!=m&&0<m.length&&(e.edit=m);null!=a?e.url=a:e.xml=this.getFileData(!0,null,null,null,null,!k);c='<div class="mxgraph" style="'+(g?"max-width:100%;":"")+(""!=b?"border:1px solid transparent;":"")+'" data-mxgraph="'+
+mxUtils.htmlEntities(JSON.stringify(e))+'"></div>';a=null!=a?"&fetch="+encodeURIComponent(a):"";v(c,'<script type="text/javascript" src="'+(0<a.length?("1"==urlParams.dev?"https://test.draw.io/embed2.js?dev=1":"https://www.draw.io/embed2.js?")+a:"1"==urlParams.dev?"https://test.draw.io/js/viewer.min.js":"https://www.draw.io/js/viewer.min.js")+'">\x3c/script>')};EditorUi.prototype.showHtmlDialog=function(a,c,b,d){var e=document.createElement("div");e.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";e.appendChild(f);var h=document.createElement("div");h.style.cssText="border-bottom:1px solid lightGray;padding-bottom:8px;margin-bottom:12px;";var g=document.createElement("input");g.style.cssText="margin-right:8px;margin-top:8px;margin-bottom:8px;";g.setAttribute("value","url");g.setAttribute("type","radio");g.setAttribute("name","type-embedhtmldialog");f=g.cloneNode(!0);f.setAttribute("value",
+"copy");h.appendChild(f);var k=document.createElement("span");mxUtils.write(k,mxResources.get("includeCopyOfMyDiagram"));h.appendChild(k);mxUtils.br(h);h.appendChild(g);k=document.createElement("span");mxUtils.write(k,mxResources.get("publicDiagramUrl"));h.appendChild(k);var m=this.getCurrentFile();null==b&&null!=m&&m.constructor==window.DriveFile&&(k=document.createElement("a"),k.style.paddingLeft="12px",k.style.color="gray",k.setAttribute("href","javascript:void(0);"),mxUtils.write(k,mxResources.get("share")),
+h.appendChild(k),mxEvent.addListener(k,"click",mxUtils.bind(this,function(){this.hideDialog();this.drive.showPermissions(m.getId())})));f.setAttribute("checked","checked");null==b&&g.setAttribute("disabled","disabled");e.appendChild(h);var v=this.addLinkSection(e),u=this.addCheckbox(e,mxResources.get("zoom"),!0,null,!0);mxUtils.write(e,":");var l=document.createElement("input");l.setAttribute("type","text");l.style.marginRight="16px";l.style.width="60px";l.style.marginLeft="4px";l.style.marginRight=
+"12px";l.value="100%";e.appendChild(l);var n=this.addCheckbox(e,mxResources.get("fit"),!0),h=null!=this.pages&&1<this.pages.length,p=p=this.addCheckbox(e,mxResources.get("allPages"),h,!h),A=this.addCheckbox(e,mxResources.get("layers"),!0),B=this.addCheckbox(e,mxResources.get("lightbox"),!0),I=this.addEditButton(e,B),C=I.getEditInput();C.style.marginBottom="16px";mxEvent.addListener(B,"change",function(){B.checked?C.removeAttribute("disabled"):C.setAttribute("disabled","disabled");C.checked&&B.checked?
+I.getEditSelect().removeAttribute("disabled"):I.getEditSelect().setAttribute("disabled","disabled")});a=new CustomDialog(this,e,mxUtils.bind(this,function(){d(g.checked?b:null,u.checked,l.value,v.getTarget(),v.getColor(),n.checked,p.checked,A.checked,B.checked,I.getLink())}),null,a,c);this.showDialog(a.container,340,384,!0,!0);f.focus()};EditorUi.prototype.showPublishLinkDialog=function(a,c,b,d,f,g){var e=document.createElement("div");e.style.whiteSpace="nowrap";var h=document.createElement("h3");
+mxUtils.write(h,a||mxResources.get("link"));h.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";e.appendChild(h);var k=this.getCurrentFile(),h="https://desk.draw.io/support/solutions/articles/16000051941";a=0;if(null!=k&&k.constructor==window.DriveFile&&!c){a=80;var h="https://desk.draw.io/support/solutions/articles/16000039384",m=document.createElement("div");m.style.cssText="border-bottom:1px solid lightGray;padding-bottom:14px;padding-top:6px;margin-bottom:14px;text-align:center;";
+var v=document.createElement("div");v.style.whiteSpace="normal";mxUtils.write(v,mxResources.get("linkAccountRequired"));m.appendChild(v);v=mxUtils.button(mxResources.get("share"),mxUtils.bind(this,function(){this.drive.showPermissions(k.getId())}));v.style.marginTop="12px";v.className="geBtn";m.appendChild(v);e.appendChild(m);v=document.createElement("a");v.style.paddingLeft="12px";v.style.color="gray";v.style.fontSize="11px";v.setAttribute("href","javascript:void(0);");mxUtils.write(v,mxResources.get("check"));
+m.appendChild(v);mxEvent.addListener(v,"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 q=null,u=null;if(null!=b||null!=d)a+=30,mxUtils.write(e,mxResources.get("width")+":"),q=document.createElement("input"),
+q.setAttribute("type","text"),q.style.marginRight="16px",q.style.width="50px",q.style.marginLeft="6px",q.style.marginRight="16px",q.style.marginBottom="10px",q.value="100%",e.appendChild(q),mxUtils.write(e,mxResources.get("height")+":"),u=document.createElement("input"),u.setAttribute("type","text"),u.style.width="50px",u.style.marginLeft="6px",u.style.marginBottom="10px",u.value=d+"px",e.appendChild(u),mxUtils.br(e);var l=this.addLinkSection(e,g);b=null!=this.pages&&1<this.pages.length;var n=null;
+if(null==k||k.constructor!=window.DriveFile||c)n=this.addCheckbox(e,mxResources.get("allPages"),b,!b);var t=this.addCheckbox(e,mxResources.get("lightbox"),!0),p=this.addEditButton(e,t),I=p.getEditInput(),C=this.addCheckbox(e,mxResources.get("layers"),!0);C.style.marginLeft=I.style.marginLeft;C.style.marginBottom="16px";C.style.marginTop="8px";mxEvent.addListener(t,"change",function(){t.checked?(C.removeAttribute("disabled"),I.removeAttribute("disabled")):(C.setAttribute("disabled","disabled"),I.setAttribute("disabled",
+"disabled"));I.checked&&t.checked?p.getEditSelect().removeAttribute("disabled"):p.getEditSelect().setAttribute("disabled","disabled")});c=new CustomDialog(this,e,mxUtils.bind(this,function(){f(l.getTarget(),l.getColor(),null==n?!0:n.checked,t.checked,p.getLink(),C.checked,null!=q?q.value:null,null!=u?u.value:null)}),null,mxResources.get("create"),h);this.showDialog(c.container,340,254+a,!0,!0);null!=q?(q.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?q.select():
+document.execCommand("selectAll",!1,null)):l.focus()};EditorUi.prototype.showRemoteExportDialog=function(a,c,b,d){var e=document.createElement("div");e.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:4px";e.appendChild(f);var h=this.addCheckbox(e,mxResources.get("selectionOnly"),!1,this.editor.graph.isSelectionEmpty()),g=d?null:this.addCheckbox(e,mxResources.get("includeCopyOfMyDiagram"),
+!0),f=this.editor.graph,k=d?null:this.addCheckbox(e,mxResources.get("transparentBackground"),f.background==mxConstants.NONE||null==f.background);null!=k&&(k.style.marginBottom="16px");a=new CustomDialog(this,e,mxUtils.bind(this,function(){b(!h.checked,null!=g?g.checked:!1,null!=k?k.checked:!1)}),null,a,c);this.showDialog(a.container,300,d?100:186,!0,!0)};EditorUi.prototype.showExportDialog=function(a,c,b,d,f,g,k,l){k=null!=k?k:!0;var e=document.createElement("div");e.style.whiteSpace="nowrap";var h=
+this.editor.graph,v="jpeg"==l?196:300,q=document.createElement("h3");mxUtils.write(q,a);q.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:10px";e.appendChild(q);mxUtils.write(e,mxResources.get("zoom")+":");var u=document.createElement("input");u.setAttribute("type","text");u.style.marginRight="16px";u.style.width="60px";u.style.marginLeft="4px";u.style.marginRight="12px";u.value=this.lastExportZoom||"100%";e.appendChild(u);mxUtils.write(e,mxResources.get("borderWidth")+":");
+var w=document.createElement("input");w.setAttribute("type","text");w.style.marginRight="16px";w.style.width="60px";w.style.marginLeft="4px";w.value=this.lastExportBorder||"0";e.appendChild(w);mxUtils.br(e);var n=this.addCheckbox(e,mxResources.get("transparentBackground"),h.background==mxConstants.NONE||null==h.background,null,null,"jpeg"!=l),t=this.addCheckbox(e,mxResources.get("selectionOnly"),!1,h.isSelectionEmpty()),p=document.createElement("input");p.style.marginTop="16px";p.style.marginRight=
+"8px";p.style.marginLeft="24px";p.setAttribute("disabled","disabled");p.setAttribute("type","checkbox");g&&(e.appendChild(p),mxUtils.write(e,mxResources.get("crop")),mxUtils.br(e),v+=26,mxEvent.addListener(t,"change",function(){t.checked?p.removeAttribute("disabled"):p.setAttribute("disabled","disabled")}));h.isSelectionEmpty()||(p.setAttribute("checked","checked"),p.defaultChecked=!0);var y=this.addCheckbox(e,mxResources.get("shadow"),h.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");c&&(e.appendChild(C),mxUtils.write(e,mxResources.get("embedImages")),mxUtils.br(e),v+=26);var L=this.addCheckbox(e,mxResources.get("includeCopyOfMyDiagram"),k,null,null,"jpeg"!=l),E=null!=this.pages&&1<this.pages.length,G=this.addCheckbox(e,E?mxResources.get("allPages"):"",E,!E,null,"jpeg"!=l);G.style.marginLeft="24px";G.style.marginBottom="16px";E||(G.style.visibility=
+"hidden");mxEvent.addListener(L,"change",function(){L.checked&&E?G.removeAttribute("disabled"):G.setAttribute("disabled","disabled")});k&&E||G.setAttribute("disabled","disabled");a=new CustomDialog(this,e,mxUtils.bind(this,function(){this.lastExportBorder=w.value;this.lastExportZoom=u.value;f(u.value,n.checked,!t.checked,y.checked,L.checked,C.checked,w.value,p.checked,!G.checked)}),null,b,d);this.showDialog(a.container,340,v,!0,!0);u.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||
+mxClient.IS_QUIRKS?u.select():document.execCommand("selectAll",!1,null)};EditorUi.prototype.showEmbedImageDialog=function(a,c,b,d,f){var e=document.createElement("div");e.style.whiteSpace="nowrap";var h=this.editor.graph;if(null!=c){var g=document.createElement("h3");mxUtils.write(g,c);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),m=this.addCheckbox(e,mxResources.get("shadow"),h.shadowVisible&&d,
+!d),v=this.addCheckbox(e,b),q=this.addCheckbox(e,mxResources.get("lightbox"),!0),u=this.addEditButton(e,q),l=u.getEditInput(),n=1<h.model.getChildCount(h.model.getRoot()),p=this.addCheckbox(e,mxResources.get("layers"),n,!n);p.style.marginLeft=l.style.marginLeft;p.style.marginBottom="12px";p.style.marginTop="8px";mxEvent.addListener(q,"change",function(){q.checked?(n&&p.removeAttribute("disabled"),l.removeAttribute("disabled")):(p.setAttribute("disabled","disabled"),l.setAttribute("disabled","disabled"));
+l.checked&&q.checked?u.getEditSelect().removeAttribute("disabled"):u.getEditSelect().setAttribute("disabled","disabled")});c=new CustomDialog(this,e,mxUtils.bind(this,function(){a(k.checked,m.checked,v.checked,q.checked,u.getLink(),p.checked)}),null,mxResources.get("embed"),f);this.showDialog(c.container,280,280,!0,!0)};EditorUi.prototype.createEmbedImage=function(a,c,b,d,f,g,k,l){function e(c){var e=" ",m="";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('https://www.draw.io/?client=1&lightbox=1"+
+(f?"&edit=_blank":"")+(g?"&layers=1":"")+"');}})(this);\"",m+="cursor:pointer;");a&&(m+="max-width:100%;");var v="";b&&(v=' width="'+Math.round(h.width)+'" height="'+Math.round(h.height)+'"');k('<img src="'+c+'"'+v+(""!=m?' style="'+m+'"':"")+e+"/>")}var h=this.editor.graph.getGraphBounds();if(this.isExportToCanvas())this.exportToCanvas(mxUtils.bind(this,function(a){var c=d?this.getFileData(!0):null;a=this.createImageDataUri(a,c,"png");e(a)}),null,null,null,mxUtils.bind(this,function(a){l({message:mxResources.get("unknownError")})}),
+null,!0,b?2:1,null,c);else if(c=this.getFileData(!0),h.width*h.height<=MAX_AREA&&c.length<=MAX_REQUEST_SIZE){var v="";b&&(v="&w="+Math.round(2*h.width)+"&h="+Math.round(2*h.height));var q=new mxXmlRequest(EXPORT_URL,"format=png&base64=1&embedXml="+(d?"1":"0")+v+"&xml="+encodeURIComponent(c));q.send(mxUtils.bind(this,function(){200<=q.getStatus()&&299>=q.getStatus()?e("data:image/png;base64,"+q.getText()):l({message:mxResources.get("unknownError")})}))}else l({message:mxResources.get("drawingTooLarge")})};
+EditorUi.prototype.createEmbedSvg=function(a,c,b,d,f,g,k){var e=this.editor.graph.getSvg(),h=e.getElementsByTagName("a");if(null!=h)for(var m=0;m<h.length;m++){var v=h[m].getAttribute("href");null!=v&&"#"==v.charAt(0)&&"_blank"==h[m].getAttribute("target")&&h[m].removeAttribute("target")}d&&e.setAttribute("content",this.getFileData(!0));c&&this.editor.graph.addSvgShadow(e);if(b){var q=" ",l="";d&&(q="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('https://www.draw.io/?client=1&lightbox=1"+
+(f?"&edit=_blank":"")+(g?"&layers=1":"")+"');}})(this);\"",l+="cursor:pointer;");a&&(l+="max-width:100%;");this.convertImages(e,mxUtils.bind(this,function(a){k('<img src="'+this.createSvgDataUri(mxUtils.getXml(a))+'"'+(""!=l?' style="'+l+'"':"")+q+"/>")}))}else l="",d&&(e.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('https://www.draw.io/?client=1&lightbox=1"+
+(f?"&edit=_blank":"")+(g?"&layers=1":"")+"');}}})(this);"),l+="cursor:pointer;"),a&&(a=parseInt(e.getAttribute("width")),c=parseInt(e.getAttribute("height")),e.setAttribute("viewBox","0 0 "+a+" "+c),l+="max-width:100%;max-height:"+c+"px;",e.removeAttribute("height")),""!=l&&e.setAttribute("style",l),k(mxUtils.getXml(e))};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.convertMath=function(a,c,b,d){d()};EditorUi.prototype.decodeNodeIntoGraph=function(a,c){if(null!=a){var b=null;if("diagram"==a.nodeName)b=a;else if("mxfile"==a.nodeName){var e=a.getElementsByTagName("diagram");if(0<
+e.length){var b=e[0],d=c.getGlobalVariable;c.getGlobalVariable=function(a){return"page"==a?b.getAttribute("name")||mxResources.get("pageWithNumber",[1]):"pagenumber"==a?1:d.apply(this,arguments)}}}null!=b&&(e=c.decompress(mxUtils.getTextContent(b)),null!=e&&0<e.length&&(a=mxUtils.parseXml(e).documentElement))}e=this.editor.graph;try{this.editor.graph=c,this.editor.setGraphXml(a)}catch(t){}finally{this.editor.graph=e}return a};EditorUi.prototype.getEmbeddedPng=function(a,c,b){var e=this.editor.graph,
+d=null;if(null!=b&&0<b.length)e=this.createTemporaryGraph(this.editor.graph.getStylesheet()),document.body.appendChild(e.container),this.decodeNodeIntoGraph(this.editor.extractGraphModel(mxUtils.parseXml(b).documentElement,!0),e),d=b;else if(null!=this.pages&&this.currentPage!=this.pages[0]){var e=this.createTemporaryGraph(e.getStylesheet()),f=e.getGlobalVariable,h=this.pages[0];e.getGlobalVariable=function(a){return"page"==a?h.getName():"pagenumber"==a?1:f.apply(this,arguments)};document.body.appendChild(e.container);
+e.model.setRoot(h.root)}this.exportToCanvas(mxUtils.bind(this,function(b){try{null==d&&(d=this.getFileData(!0));var f=b.toDataURL("image/png"),f=this.writeGraphModelToPng(f,"zTXt","mxGraphModel",atob(this.editor.graph.compress(d)));a(f.substring(f.lastIndexOf(",")+1));e!=this.editor.graph&&e.container.parentNode.removeChild(e.container)}catch(m){null!=c&&c(m)}}),null,null,null,mxUtils.bind(this,function(a){null!=c&&c(a)}),null,null,null,null,e.shadowVisible,null,e)};EditorUi.prototype.getEmbeddedSvg=
+function(a,c,b,d,f,g,k){k=c.background;k==mxConstants.NONE&&(k=null);c=c.getSvg(k,null,null,null,null,g);null!=a&&c.setAttribute("content",a);null!=b&&c.setAttribute("resource",b);if(null!=f)this.convertImages(c,mxUtils.bind(this,function(a){f((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))}));else return(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(c)};EditorUi.prototype.exportImage=function(a,c,b,d,f,g,k,l,n){n=null!=n?n:"png";if(this.spinner.spin(document.body,mxResources.get("exporting"))){var e=this.editor.graph.isSelectionEmpty();b=null!=b?b:e;null==this.thumbImageCache&&(this.thumbImageCache={});try{this.exportToCanvas(mxUtils.bind(this,function(a){this.spinner.stop();try{this.saveCanvas(a,f?this.getFileData(!0,null,null,null,b,l):null,n)}catch(F){"Invalid image"==F.message?this.downloadFile(n):this.handleError(F)}}),null,
+this.thumbImageCache,null,mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}),null,b,a||1,c,d,null,null,g,k)}catch(v){this.spinner.stop(),this.handleError(v)}}};EditorUi.prototype.loadFonts=function(a){if(null!=this.editor.fontCss&&null==this.editor.resolvedFontCss){var c=function(a){return a.replace(RegExp("^[\\s\"']+","g"),"").replace(RegExp("[\\s\"']+$","g"),"")},b=this.editor.fontCss.split("url("),d=0,f={},g=mxUtils.bind(this,function(){if(0==d){for(var e=[b[0]],h=1;h<b.length;h++){var m=
+b[h].indexOf(")");e.push('url("');e.push(f[c(b[h].substring(0,m))]);e.push('"'+b[h].substring(m))}this.editor.resolvedFontCss=e.join("");a()}});if(0<b.length)for(var k=1;k<b.length;k++){var l=b[k].indexOf(")"),n=null,m=b[k].indexOf("format(",l);0<m&&(n=c(b[k].substring(m+7,b[k].indexOf(")",m))));mxUtils.bind(this,function(a){if(null==f[a]){f[a]=a;d++;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){f[a]=c;d--;g()}),mxUtils.bind(this,
+function(a){d--;g()}),!0,null,"data:"+c+";charset=utf-8;base64,")}})(c(b[k].substring(0,l)),n)}}else a()};EditorUi.prototype.exportToCanvas=function(a,c,b,d,f,g,k,l,n,m,v,p,D,z){g=null!=g?g:!0;p=null!=p?p:this.editor.graph;D=null!=D?D:0;var e=n?null:p.background;e==mxConstants.NONE&&(e=null);null==e&&(e=d);null==e&&0==n&&(e=this.editor.graph.defaultPageBackgroundColor);this.convertImages(p.getSvg(e,null,null,z,null,null!=k?k:!0),mxUtils.bind(this,function(b){var d=new Image;d.onload=mxUtils.bind(this,
+function(){try{var h=document.createElement("canvas"),m=parseInt(b.getAttribute("width")),k=parseInt(b.getAttribute("height"));l=null!=l?l:1;null!=c&&(l=g?Math.min(1,Math.min(3*c/(4*k),c/m)):c/m);m=Math.ceil(l*m)+2*D;k=Math.ceil(l*k)+2*D;h.setAttribute("width",m);h.setAttribute("height",k);var v=h.getContext("2d");null!=e&&(v.beginPath(),v.rect(0,0,m,k),v.fillStyle=e,v.fill());v.scale(l,l);mxClient.IS_SF?window.setTimeout(function(){v.drawImage(d,D/l,D/l);a(h)},0):(v.drawImage(d,D/l,D/l),a(h))}catch(M){null!=
+f&&f(M)}});d.onerror=function(a){null!=f&&f(a)};try{m&&this.editor.graph.addSvgShadow(b);var h=mxUtils.bind(this,function(){if(null!=this.editor.resolvedFontCss){var a=document.createElement("style");a.setAttribute("type","text/css");a.innerHTML=this.editor.resolvedFontCss;b.getElementsByTagName("defs")[0].appendChild(a)}this.convertMath(p,b,!0,mxUtils.bind(this,function(){d.src=this.createSvgDataUri(mxUtils.getXml(b))}))});this.loadFonts(h)}catch(C){null!=f&&f(C)}}),b,v)};EditorUi.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=b.svgBrokenImage.src:!d||e.substring(0,a.baseUrl.length)==a.baseUrl||b.crossOriginImages&&b.isCorsEnabledForUrl(e)?"chrome-extension://"!=e.substring(0,19)&&(e=c.apply(this,arguments)):e=PROXY_URL+"?url="+encodeURIComponent(e)}return e};return a};EditorUi.prototype.convertImages=function(a,c,b,d){null==
+d&&(d=this.createImageUrlConverter());var e=0,f=b||{};b=mxUtils.bind(this,function(b,h){for(var g=a.getElementsByTagName(b),m=0;m<g.length;m++)mxUtils.bind(this,function(b){var m=d.convert(b.getAttribute(h));if(null!=m&&"data:"!=m.substring(0,5)){var g=f[m];null==g?(e++,this.convertImageToDataUri(m,function(d){null!=d&&(f[m]=d,b.setAttribute(h,d));e--;0==e&&c(a)})):b.setAttribute(h,g)}else null!=m&&b.setAttribute(h,m)})(g[m])});b("image","xlink:href");b("img","src");0==e&&c(a)};EditorUi.prototype.loadUrl=
+function(a,c,b,d,f,g){try{var e=d||/(\.png)($|\?)/i.test(a)||/(\.jpe?g)($|\?)/i.test(a)||/(\.gif)($|\?)/i.test(a);f=null!=f?f:!0;var h=mxUtils.bind(this,function(){mxUtils.get(a,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus()){if(null!=c){var d=a.getText();if(e){if((9==document.documentMode||10==document.documentMode)&&"undefined"!==typeof window.mxUtilsBinaryToArray){a=mxUtilsBinaryToArray(a.request.responseBody).toArray();for(var d=Array(a.length),f=0;f<a.length;f++)d[f]=
+String.fromCharCode(a[f]);d=d.join("")}g=null!=g?g:"data:image/png;base64,";d=g+this.base64Encode(d)}c(d)}}else null!=b&&b({code:App.ERROR_UNKNOWN},a)}),function(){null!=b&&b({code:App.ERROR_UNKNOWN})},e,this.timeout,function(){f&&null!=b&&b({code:App.ERROR_TIMEOUT,retry:h})})});h()}catch(x){null!=b&&b(x)}};EditorUi.prototype.isCorsEnabledForUrl=function(a){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?:\/\/[^\/]*\.iconfinder.com\//.test(a)||/^https?:\/\/[^\/]*\.draw\.io\/proxy/.test(a)||/^https?:\/\/[^\/]*\.github\.io\//.test(a)};EditorUi.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(this.svgBrokenImage.src)});else{var b=new Image,
-f=this;this.crossOriginImages&&(b.crossOrigin="anonymous");b.onload=function(){var a=document.createElement("canvas"),d=a.getContext("2d");a.height=b.height;a.width=b.width;d.drawImage(b,0,0);try{c(a.toDataURL())}catch(w){c(f.svgBrokenImage.src)}};b.onerror=function(){c(f.svgBrokenImage.src)};b.src=a}};EditorUi.prototype.importXml=function(a,c,b,d,e){c=null!=c?c:0;b=null!=b?b:0;var f=[];try{var h=this.editor.graph;if(null!=a&&0<a.length){var g=mxUtils.parseXml(a),m=this.editor.extractGraphModel(g.documentElement,
-null!=this.pages);if(null!=m&&"mxfile"==m.nodeName&&null!=this.pages){var l=m.getElementsByTagName("diagram");if(1==l.length)m=mxUtils.parseXml(h.decompress(mxUtils.getTextContent(l[0]))).documentElement;else if(1<l.length){h.model.beginUpdate();try{for(a=0;a<l.length;a++){var k=this.updatePageRoot(new DiagramPage(l[a])),n=this.pages.length;null==k.getName()&&k.setName(mxResources.get("pageWithNumber",[n+1]));h.model.execute(new ChangePage(this,k,k,n))}}finally{h.model.endUpdate()}}}null!=m&&"mxGraphModel"===
-m.nodeName&&(f=h.importGraphModel(m,c,b,d))}}catch(z){throw e||this.handleError(z,mxResources.get("invalidOrMissingFile")),z;}return f};EditorUi.prototype.importVisio=function(a,c,b,d){d=null!=d?d:a.name;b=null!=b?b:mxUtils.bind(this,function(a){this.handleError(a)});var f=mxUtils.bind(this,function(){this.loadingExtensions=!1;if(this.doImportVisio)if(/(\.vsd)($|\?)/i.test(d)&&null!=VSD_CONVERT_URL){var f=new FormData;f.append("file1",a,d);var e=new XMLHttpRequest;e.open("POST",VSD_CONVERT_URL);e.responseType=
-"blob";e.onreadystatechange=mxUtils.bind(this,function(){if(4==e.readyState)if(200<=e.status&&299>=e.status)try{this.doImportVisio(e.response,c,b)}catch(x){b(x)}else b({})});e.send(f)}else try{this.doImportVisio(a,c,b)}catch(x){b(x)}});this.doImportVisio||this.loadingExtensions||this.isOffline()?f():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",f))};EditorUi.prototype.exportVisio=function(){var a=mxUtils.bind(this,function(){this.loadingExtensions=!1;if("undefined"!==typeof VsdxExport)try{(new VsdxExport(this)).exportCurrentDiagrams()}catch(f){this.handleError(f)}});
-"undefined"!==typeof VsdxExport||this.loadingExtensions||this.isOffline()?a():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",a))};EditorUi.prototype.importLucidChart=function(a,c,b,d,e){var f=mxUtils.bind(this,function(){this.loadingExtensions=!1;if(this.pasteLucidChart)try{this.insertLucidChart(a,c,b,d,e)}catch(w){this.handleError(w)}finally{null!=e&&e()}});this.pasteLucidChart||this.loadingExtensions||this.isOffline()?window.setTimeout(f,0):(this.loadingExtensions=!0,"1"==urlParams.dev?
-mxscript("js/diagramly/Extensions.js",f):mxscript("js/extensions.min.js",f))};EditorUi.prototype.insertLucidChart=function(a,c,b,d,e){e=JSON.parse(a);a=[];if(null!=e.state){e=JSON.parse(e.state);for(var f in e.Pages)a.push(e.Pages[f]);a.sort(function(a,c){return a.Properties.Order<c.Properties.Order?-1:a.Properties.Order>c.Properties.Order?1:0})}else a.push(e);if(0<a.length){this.editor.graph.getModel().beginUpdate();try{if(this.pasteLucidChart(a[0],c,b,d),null!=this.pages){var h=this.currentPage;
-for(c=1;c<a.length;c++)this.insertPage(),this.pasteLucidChart(a[c]);this.selectPage(h)}}finally{this.editor.graph.getModel().endUpdate()}}};EditorUi.prototype.insertTextAt=function(a,c,b,d,e,g,k){g=null!=g?g:!0;k=null!=k?k:!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,
-c,b,!0))}));else if("data:"==a.substring(0,5)||!this.isOffline()&&(e||/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(a))){var f=this.editor.graph;if("data:image/png;base64,"==a.substring(0,22)){var h=this.extractGraphModelFromPng(a),l=this.importXml(h,c,b,g,!0);if(0<l.length)return l}if("data:image/svg+xml;"==a.substring(0,19))try{if(h=null,"data:image/svg+xml;base64,"==a.substring(0,26)?(h=a.substring(a.indexOf(",")+1),h=window.atob&&!mxClient.IS_SF?atob(h):Base64.decode(h,!0)):h=decodeURIComponent(a.substring(a.indexOf(",")+
-1)),l=this.importXml(h,c,b,g,!0),0<l.length)return l}catch(v){}this.loadImage(a,mxUtils.bind(this,function(d){if("data:"==a.substring(0,5))this.resizeImage(d,a,mxUtils.bind(this,function(a,d,e){f.setSelectionCell(f.insertVertex(null,null,"",f.snap(c),f.snap(b),d,e,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+this.convertDataUri(a)+";"))}),k,this.maxImageSize);else{var e=Math.min(1,Math.min(this.maxImageSize/d.width,this.maxImageSize/
-d.height)),l=Math.round(d.width*e);d=Math.round(d.height*e);f.setSelectionCell(f.insertVertex(null,null,"",f.snap(c),f.snap(b),l,d,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+a+";"))}}),mxUtils.bind(this,function(){var e=null;f.getModel().beginUpdate();try{e=f.insertVertex(f.getDefaultParent(),null,a,f.snap(c),f.snap(b),1,1,"text;"+(d?"html=1;":"")),f.updateCellSize(e),f.fireEvent(new mxEventObject("textInserted","cells",
-[e]))}finally{f.getModel().endUpdate()}f.setSelectionCell(e)}))}else{a=this.editor.graph.zapGremlins(mxUtils.trim(a));if(this.isCompatibleString(a))return this.importXml(a,c,b,g);if(0<a.length)if('{"state":"{\\"Properties\\":'==a.substring(0,26))this.importLucidChart(a,c,b,g);else{f=this.editor.graph;e=null;f.getModel().beginUpdate();try{e=f.insertVertex(f.getDefaultParent(),null,"",f.snap(c),f.snap(b),1,1,"text;"+(d?"html=1;":"")),f.fireEvent(new mxEventObject("textInserted","cells",[e])),e.value=
-a,f.updateCellSize(e),/\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(e.value)&&f.setLinkForCell(e,e.value),e.geometry.width+=f.gridSize,e.geometry.height+=f.gridSize}finally{f.getModel().endUpdate()}return[e]}}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 c=a.indexOf(";");0<c&&(a=a.substring(0,c)+a.substring(a.indexOf(",",c+1)))}return a};EditorUi.prototype.isRemoteFileFormat=function(a,c){return/(\"contentType\":\s*\"application\/gliffy\+json\")/.test(a)};EditorUi.prototype.importFile=function(a,c,b,d,e,g,k,n,p,l,v){l=null!=l?l:!0;var f=!1,h=null,m=mxUtils.bind(this,function(a){var c=null;null!=a&&"<mxlibrary"==a.substring(0,
-10)?this.loadLibrary(new LocalLibrary(this,a,k)):c=this.importXml(a,b,d,l);null!=n&&n(c)});"image"==c.substring(0,5)?(p=!1,"image/png"==c.substring(0,9)&&(c=v?null:this.extractGraphModelFromPng(a),null!=c&&0<c.length&&(h=this.importXml(c,b,d,l),p=!0)),p||(h=this.editor.graph,c=a.indexOf(";"),0<c&&(a=a.substring(0,c)+a.substring(a.indexOf(",",c+1))),l&&h.isGridEnabled()&&(b=h.snap(b),d=h.snap(d)),h=[h.insertVertex(null,null,"",b,d,e,g,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+
-a+";")])):/(\.*<graphml )/.test(a)&&"undefined"!==typeof window.mxGraphMlCodec?(new mxGraphMlCodec).decode(a,mxUtils.bind(this,function(a){a=this.importXml(a,b,d,l);null!=n&&n(a)})):null!=p&&null!=k&&(/(\.vsdx?)($|\?)/i.test(k)||/(\.vssx)($|\?)/i.test(k))?(f=!0,this.importVisio(p,m)):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(a,k)?(f=!0,this.parseFile(null!=p?p:new Blob([a],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&(200<=a.status&&
-299>=a.status?m(a.responseText):null!=n&&n(null))}),k)):/(\.vsd)($|\?)/i.test(k)||(h=this.insertTextAt(this.validateFileData(a),b,d,!0,null,l));f||null==n||n(h);return h};EditorUi.prototype.base64Encode=function(a){for(var c="",b=0,d=a.length,e,g,k;b<d;){e=a.charCodeAt(b++)&255;if(b==d){c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4);c+="==";break}g=a.charCodeAt(b++);if(b==d){c+=
-"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(g&240)>>4);c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((g&15)<<2);c+="=";break}k=a.charCodeAt(b++);c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(g&240)>>4);c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((g&
-15)<<2|(k&192)>>6);c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(k&63)}return c};EditorUi.prototype.importFiles=function(a,c,b,d,e,g,k,n,p,l,v,q){c=null!=c?c:0;b=null!=b?b:0;d=null!=d?d:this.maxImageSize;l=null!=l?l:this.maxImageBytes;var f=null!=c&&null!=b,h=!0,m=!1;if(!mxClient.IS_CHROMEAPP&&null!=a)for(var w=v||this.resampleThreshold,u=0;u<a.length;u++)if("image/"==a[u].type.substring(0,6)&&a[u].size>w){m=!0;break}var t=mxUtils.bind(this,function(){var m=this.editor.graph,
-p=m.gridSize;e=null!=e?e:mxUtils.bind(this,function(a,c,b,d,e,l,h,g,m){return null!=a&&"<mxlibrary"==a.substring(0,10)?(this.spinner.stop(),this.loadLibrary(new LocalLibrary(this,a,h)),null):this.importFile(a,c,b,d,e,l,h,g,m,f,q)});g=null!=g?g:mxUtils.bind(this,function(a){m.setSelectionCells(a)});if(this.spinner.spin(document.body,mxResources.get("loading")))for(var w=a.length,u=w,t=[],x=mxUtils.bind(this,function(a,c){t[a]=c;if(0==--u){this.spinner.stop();if(null!=n)n(t);else{var b=[];m.getModel().beginUpdate();
-try{for(var f=0;f<t.length;f++){var d=t[f]();null!=d&&(b=b.concat(d))}}finally{m.getModel().endUpdate()}}g(b)}}),H=0;H<w;H++)mxUtils.bind(this,function(f){var g=a[f],n=new FileReader;n.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 n=a.target.result,w=n.indexOf(","),u=decodeURIComponent(escape(atob(n.substring(w+1)))),t=mxUtils.parseXml(u),u=t.getElementsByTagName("svg");if(0<u.length){var u=u[0],D=q?null:u.getAttribute("content");
-null!=D&&"<"!=D.charAt(0)&&"%"!=D.charAt(0)&&(D=unescape(window.atob?atob(D):Base64.decode(D,!0)));null!=D&&"%"==D.charAt(0)&&(D=decodeURIComponent(D));null==D||"<mxfile "!==D.substring(0,8)&&"<mxGraphModel "!==D.substring(0,14)?x(f,mxUtils.bind(this,function(){try{if(n.substring(0,w+1),null!=t){var a=t.getElementsByTagName("svg");if(0<a.length){var l=a[0],k=parseFloat(l.getAttribute("width")),v=parseFloat(l.getAttribute("height")),u=l.getAttribute("viewBox");if(null==u||0==u.length)l.setAttribute("viewBox",
-"0 0 "+k+" "+v);else if(isNaN(k)||isNaN(v)){var q=u.split(" ");3<q.length&&(k=parseFloat(q[2]),v=parseFloat(q[3]))}n=this.createSvgDataUri(mxUtils.getXml(l));var D=Math.min(1,Math.min(d/Math.max(1,k)),d/Math.max(1,v)),x=e(n,g.type,c+f*p,b+f*p,Math.max(1,Math.round(k*D)),Math.max(1,Math.round(v*D)),g.name,h);if(isNaN(k)||isNaN(v)){var F=new Image;F.onload=mxUtils.bind(this,function(){k=Math.max(1,F.width);v=Math.max(1,F.height);x[0].geometry.width=k;x[0].geometry.height=v;l.setAttribute("viewBox",
-"0 0 "+k+" "+v);n=this.createSvgDataUri(mxUtils.getXml(l));var a=n.indexOf(";");0<a&&(n=n.substring(0,a)+n.substring(n.indexOf(",",a+1)));m.setCellStyles("image",n,[x[0]])});F.src=this.createSvgDataUri(mxUtils.getXml(l))}return x}}}catch(da){}return null})):x(f,mxUtils.bind(this,function(){return e(D,"text/xml",c+f*p,b+f*p,0,0,g.name)}))}}else{u=!1;if("image/png"==g.type){var F=q?null:this.extractGraphModelFromPng(a.target.result);if(null!=F&&0<F.length){var H=new Image;H.src=a.target.result;x(f,
-mxUtils.bind(this,function(){return e(F,"text/xml",c+f*p,b+f*p,H.width,H.height,g.name)}));u=!0}}u||(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(m){this.resizeImage(m,a.target.result,mxUtils.bind(this,function(m,
-k,n){x(f,mxUtils.bind(this,function(){if(null!=m&&m.length<l){var w=h&&this.isResampleImage(a.target.result,v)?Math.min(1,Math.min(d/k,d/n)):1;return e(m,g.type,c+f*p,b+f*p,Math.round(k*w),Math.round(n*w),g.name)}this.handleError({message:mxResources.get("imageTooBig")});return null}))}),h,d,v)}),mxUtils.bind(this,function(){this.handleError({message:mxResources.get("invalidOrMissingFile")})})))}else e(a.target.result,g.type,c+f*p,b+f*p,240,160,g.name,function(a){x(f,function(){return a})})});/(\.vsdx?)($|\?)/i.test(g.name)||
-/(\.vssx)($|\?)/i.test(g.name)?e(null,g.type,c+f*p,b+f*p,240,160,g.name,function(a){x(f,function(){return a})},g):"image"==g.type.substring(0,5)?n.readAsDataURL(g):n.readAsText(g)})(H)});m?this.confirmImageResize(function(a){h=a;t()},p):t()};EditorUi.prototype.confirmImageResize=function(a,c){c=null!=c?c:!1;var b=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){},f=isLocalStorage||mxClient.IS_CHROMEAPP?mxSettings.getResizeImages():null,d=function(f,d){if(f||c)mxSettings.setResizeImages(f?
-d:null),mxSettings.save();b();a(d)};null==f||c?this.showDialog((new ConfirmDialog(this,mxResources.get("resizeLargeImages"),function(a){d(a,!0)},function(a){d(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):d(!1,f)};EditorUi.prototype.parseFile=function(a,c,
-b){b=null!=b?b:a.name;var f=new FormData;f.append("format","xml");f.append("upfile",a,b);var d=new XMLHttpRequest;d.open("POST",OPEN_URL);d.onreadystatechange=function(){c(d)};d.send(f)};EditorUi.prototype.isResampleImage=function(a,c){c=null!=c?c:this.resampleThreshold;return a.length>c};EditorUi.prototype.resizeImage=function(a,c,b,d,e,g){e=null!=e?e:this.maxImageSize;var f=Math.max(1,a.width),h=Math.max(1,a.height);if(d&&this.isResampleImage(c,g))try{var m=Math.max(f/e,h/e);if(1<m){var l=Math.round(f/
-m),k=Math.round(h/m),n=document.createElement("canvas");n.width=l;n.height=k;n.getContext("2d").drawImage(a,0,0,l,k);var p=n.toDataURL();if(p.length<c.length){var q=document.createElement("canvas");q.width=l;q.height=k;var u=q.toDataURL();p!==u&&(c=p,f=l,h=k)}}}catch(B){}b(c,f,h)};EditorUi.prototype.crcTable=[];for(var d=0;256>d;d++)for(var c=d,g=0;8>g;g++)c=1==(c&1)?3988292384^c>>>1:c>>>1,EditorUi.prototype.crcTable[d]=c;EditorUi.prototype.updateCRC=function(a,c,b,d){for(var f=0;f<d;f++)a=EditorUi.prototype.crcTable[(a^
-c[b+f])&255]^a>>>8;return a};EditorUi.prototype.writeGraphModelToPng=function(a,c,b,d,e){function f(a,c){var b=m;m+=c;return a.substring(b,m)}function g(a){a=f(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}function h(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 m=0;if(f(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=e&&e();else if(f(a,
-4),"IHDR"!=f(a,4))null!=e&&e();else{f(a,17);e=a.substring(0,m);do{var l=g(a);if("IDAT"==f(a,4)){e=a.substring(0,m-8);b=b+String.fromCharCode(0)+("zTXt"==c?String.fromCharCode(0):"")+d;d=4294967295;d=this.updateCRC(d,c,0,4);d=this.updateCRC(d,b,0,b.length);e+=h(b.length)+c+b+h(d^4294967295);e+=a.substring(m-8,a.length);break}e+=a.substring(m-8,m-4+l);f(a,l);f(a,4)}while(l);return"data:image/png;base64,"+(window.btoa?btoa(e):Base64.encode(e,!0))}};EditorUi.prototype.extractGraphModelFromPng=function(a){var c=
-null;try{var b=a.substring(a.indexOf(",")+1),d=window.atob&&!mxClient.IS_SF?atob(b):Base64.decode(b,!0);EditorUi.parsePng(d,mxUtils.bind(this,function(a,b,f){a=d.substring(a+8,a+8+f);"zTXt"==b?(f=a.indexOf(String.fromCharCode(0)),"mxGraphModel"==a.substring(0,f)&&(a=this.editor.graph.bytesToString(pako.inflateRaw(a.substring(f+2))).replace(/\+/g," "),null!=a&&0<a.length&&(c=a))):"tEXt"==b&&(a=a.split(String.fromCharCode(0)),1<a.length&&"mxGraphModel"==a[0]&&(c=a[1]));if(null!=c||"IDAT"==b)return!0}))}catch(u){}null!=
-c&&"%"==c.charAt(0)&&(c=decodeURIComponent(c));null!=c&&"%"==c.charAt(0)&&(c=decodeURIComponent(c));return c};EditorUi.prototype.loadImage=function(a,c,b){var f=new Image;f.onload=function(){c(f)};null!=b&&(f.onerror=b);f.src=a};var k=EditorUi.prototype.init;EditorUi.prototype.init=function(){function a(a){var b=a.indexOf(",");0<b&&(a=c.getPageById(a.substring(b+1)))&&c.selectPage(a)}"undefined"!==typeof window.mxSettings&&(this.formatWidth=mxSettings.getFormatWidth());var c=this,b=this.editor.graph;
-b.addListener("pageLinkClicked",function(c,b){a(b.getProperty("href"))});this.isOffline()||"undefined"===typeof window.EditDataDialog||(EditDataDialog.placeholderHelpLink="https://desk.draw.io/support/solutions/articles/16000051979");var d=c.editor.getEditBlankUrl;this.editor.getEditBlankUrl=function(a){a=null!=a?a:"";if(null!=c.pages&&null!=c.currentPage)for(var b=0;b<c.pages.length;b++)if(c.pages[b]==c.currentPage){0<b&&(a+=(0<a.length?"&":"?")+"page="+b);break}"1"==urlParams.dev&&(a+=(0<a.length?
-"&":"?")+"dev=1&drawdev=1");return d.apply(this,arguments)};var e=b.addClickHandler;b.addClickHandler=function(c,f,d){var l=f;f=function(c,f){if(null==f){var d=mxEvent.getSource(c);"a"==d.nodeName.toLowerCase()&&(f=d.getAttribute("href"))}null==f||!b.isPageLink(f)||!mxEvent.isTouchEvent(c)&&mxEvent.isPopupTrigger(c)||(a(f),mxEvent.consume(c));null!=l&&l(c,f)};e.call(this,c,f,d)};k.apply(this,arguments);mxClient.IS_SVG&&this.editor.graph.addSvgShadow(b.view.canvas.ownerSVGElement,null,!0);c.actions.get("print").funct=
-function(){c.showDialog((new PrintDialog(c)).container,360,null!=c.pages&&1<c.pages.length?420:360,!0,!0)};this.defaultFilename=mxResources.get("untitledDiagram");var g=b.getGlobalVariable;b.getGlobalVariable=function(a){return"page"==a&&null!=c.currentPage?c.currentPage.getName():"pagenumber"==a?null!=c.currentPage&&null!=c.pages?mxUtils.indexOf(c.pages,c.currentPage)+1:1:g.apply(this,arguments)};var n=b.createLinkForHint;b.createLinkForHint=function(f,d){var e=b.isPageLink(f);if(e){var l=f.indexOf(",");
-0<l&&(l=c.getPageById(f.substring(l+1)),d=null!=l?l.getName():mxResources.get("pageNotFound"))}l=n.call(this,f,d);e&&mxEvent.addListener(l,"click",function(c){a(f);mxEvent.consume(c)});return l};var p=b.labelLinkClicked;b.labelLinkClicked=function(c,f,d){var e=f.getAttribute("href");if(null==e||!b.isPageLink(e)||!mxEvent.isTouchEvent(d)&&mxEvent.isPopupTrigger(d))p.apply(this,arguments);else{if(!b.isEnabled()||null!=c&&b.isCellLocked(c.cell))a(e),b.getRubberband().reset();mxEvent.consume(d)}};this.editor.getOrCreateFilename=
-function(){var a=c.defaultFilename,b=c.getCurrentFile();null!=b&&(a=null!=b.getTitle()?b.getTitle():a);return a};var q=this.actions.get("print");q.setEnabled(!mxClient.IS_IOS||!navigator.standalone);q.visible=q.isEnabled();if(!this.editor.chromeless||this.editor.editable){var l=function(){window.setTimeout(function(){v.innerHTML="&nbsp;";v.focus();document.execCommand("selectAll",!1,null)},0)};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_IE||b.container.addEventListener("paste",mxUtils.bind(this,function(a){var c=this.editor.graph;if(!mxEvent.isConsumed(a))try{for(var b=a.clipboardData||a.originalEvent.clipboardData,f=!1,d=0;d<b.types.length;d++)if("text/"===b.types[d].substring(0,5)){f=!0;break}if(!f){var e=
-b.items;for(index in e){var l=e[index];if("file"===l.kind){if(c.isEditing())this.importFiles([l.getAsFile()],0,0,this.maxImageSize,function(a,b,f,d,e,l){c.insertImage(a,e,l)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var c=0;c<a.length;c++)a[c]()});else{var g=this.editor.graph.getInsertPoint();this.importFiles([l.getAsFile()],g.x,g.y,this.maxImageSize);mxEvent.consume(a)}break}}}}catch(N){}}),!1);var v=document.createElement("div");v.style.position="absolute";
-v.style.whiteSpace="nowrap";v.style.overflow="hidden";v.style.display="block";v.contentEditable=!0;mxUtils.setOpacity(v,0);v.style.width="1px";v.style.height="1px";v.innerHTML="&nbsp;";var H=!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)||H||(v.style.left=b.container.scrollLeft+10+"px",v.style.top=b.container.scrollTop+10+"px",b.container.appendChild(v),H=!0,mxClient.IS_QUIRKS?window.setTimeout(function(){v.focus();document.execCommand("selectAll",!1,null)},0):(v.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(){!H||224!=c&&17!=c&&91!=c||(H=!1,b.isEditing()||null!=this.dialog||null==b.container||b.container.focus(),v.parentNode.removeChild(v))}),0)}));mxEvent.addListener(v,"copy",mxUtils.bind(this,function(a){b.isEnabled()&&(mxClipboard.copy(b),this.copyCells(v),l())}));mxEvent.addListener(v,"cut",mxUtils.bind(this,function(a){b.isEnabled()&&(this.copyCells(v,!0),l())}));mxEvent.addListener(v,"paste",mxUtils.bind(this,function(a){b.isEnabled()&&!b.isCellLocked(b.getDefaultParent())&&(v.innerHTML=
-"&nbsp;",v.focus(),window.setTimeout(mxUtils.bind(this,function(){this.pasteCells(a,v);v.innerHTML="&nbsp;"}),0))}),!0);var z=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==v?!0:z.apply(this,arguments)}}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 c=
-this.editor.graph,b=c.cellEditor.text2,f=null;null!=b&&(mxEvent.addListener(b,"dragleave",function(a){null!=f&&(f.parentNode.removeChild(f),f=null);a.stopPropagation();a.preventDefault()}),mxEvent.addListener(b,"dragover",mxUtils.bind(this,function(a){null==f&&(!mxClient.IS_IE||10<document.documentMode)&&(f=this.highlightElement(b));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(b,"drop",mxUtils.bind(this,function(a){null!=f&&(f.parentNode.removeChild(f),f=null);if(0<a.dataTransfer.files.length)this.importFiles(a.dataTransfer.files,
-0,0,this.maxImageSize,function(a,b,f,d,e,l){c.insertImage(a,e,l)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var c=0;c<a.length;c++)a[c]()},mxEvent.isControlDown(a));else if(0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")){var b=a.dataTransfer.getData("text/uri-list");/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(b)?this.loadImage(decodeURIComponent(b),mxUtils.bind(this,function(a){var f=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,f)),d/Math.max(1,a));c.insertImage(decodeURIComponent(b),f*d,a*d)})):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()})))}));if("1"==urlParams.ruler&&"undefined"!==
-typeof mxRuler){q=document.createElement("div");q.style.position="absolute";q.style.top="95px";q.style.left="250px";q.style.width="2000px";q.style.height="30px";q.style.background="whiteSmoke";document.body.appendChild(q);var y=document.createElement("div");y.style.position="absolute";y.style.top="125px";y.style.left="220px";y.style.width="30px";y.style.height="1000px";y.style.background="whiteSmoke";document.body.appendChild(y);var E=document.createElement("div");E.style.position="absolute";E.style.top=
-"95px";E.style.left="220px";E.style.width="30px";E.style.height="30px";E.style.background="whiteSmoke";document.body.appendChild(E);this.vRuler=new mxRuler(this.editor.graph,y,!0);this.hRuler=new mxRuler(this.editor.graph,q,!1)}if("1"==urlParams.test){q=document.getElementById("geFooter");null!=q&&(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)})),q.appendChild(this.styleInput),this.editor.graph.getSelectionModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(a,c){if(0<this.editor.graph.getSelectionCount()){var b=this.editor.graph.getSelectionCell(),b=this.editor.graph.getModel().getStyle(b);
-this.styleInput.value=b||"";this.styleInput.style.visibility="visible"}else this.styleInput.style.visibility="hidden"})));var B=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==this.styleInput?!0:B.apply(this,arguments)}}q=document.getElementById("geInfo");null!=q&&q.parentNode.removeChild(q);if(Graph.fileSupport&&(!this.editor.chromeless||this.editor.editable)){var A=null;mxEvent.addListener(b.container,"dragleave",function(a){b.isEnabled()&&(null!=A&&(A.parentNode.removeChild(A),
-A=null),a.stopPropagation(),a.preventDefault())});mxEvent.addListener(b.container,"dragover",mxUtils.bind(this,function(a){null==A&&(!mxClient.IS_IE||10<document.documentMode)&&(A=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!=A&&(A.parentNode.removeChild(A),A=null);if(b.isEnabled()){var c=mxUtils.convertPoint(b.container,mxEvent.getClientX(a),mxEvent.getClientY(a)),
-f=b.view.translate,d=b.view.scale,e=c.x/d-f.x,l=c.y/d-f.y;mxEvent.isAltDown(a)&&(l=e=0);if(0<a.dataTransfer.files.length)this.importFiles(a.dataTransfer.files,e,l,this.maxImageSize,null,null,null,null,mxEvent.isControlDown(a),null,null,mxEvent.isShiftDown(a));else{var g=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,e,l,!0));else if(0<=mxUtils.indexOf(a.dataTransfer.types,
-"text/html")){var h=a.dataTransfer.getData("text/html"),c=document.createElement("div");c.innerHTML=h;var m=null,f=c.getElementsByTagName("img");null!=f&&1==f.length?(h=f[0].getAttribute("src"),/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(h)||(m=!0)):(c=c.getElementsByTagName("a"),null!=c&&1==c.length&&(h=c[0].getAttribute("href")));var k=!0,n=mxUtils.bind(this,function(){b.setSelectionCells(this.insertTextAt(h,e,l,!0,m,null,k))});m&&h.length>this.resampleThreshold?this.confirmImageResize(function(a){k=
-a;n()},mxEvent.isControlDown(a)):n()}else null!=g&&/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(g)?this.loadImage(decodeURIComponent(g),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.setSelectionCell(b.insertVertex(null,null,"",e,l,c*f,a*f,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+g+";"))}),mxUtils.bind(this,function(a){b.setSelectionCells(this.insertTextAt(g,
-e,l,!0))})):0<=mxUtils.indexOf(a.dataTransfer.types,"text/plain")&&b.setSelectionCells(this.insertTextAt(a.dataTransfer.getData("text/plain"),e,l,!0))}}a.stopPropagation();a.preventDefault()}),!1)}this.initPages();"1"==urlParams.embed&&this.initializeEmbedMode();this.installSettings()};EditorUi.prototype.isSettingsEnabled=function(){return"undefined"!==typeof window.mxSettings&&(isLocalStorage||mxClient.IS_CHROMEAPP)};EditorUi.prototype.installSettings=function(){if(this.isSettingsEnabled()){ColorDialog.recentColors=
-mxSettings.getRecentColors();this.editor.graph.currentEdgeStyle=mxSettings.getCurrentEdgeStyle();this.editor.graph.currentVertexStyle=mxSettings.getCurrentVertexStyle();this.fireEvent(new mxEventObject("styleChanged","keys",[],"values",[],"cells",[]));this.addListener("styleChanged",mxUtils.bind(this,function(a,c){mxSettings.setCurrentEdgeStyle(this.editor.graph.currentEdgeStyle);mxSettings.setCurrentVertexStyle(this.editor.graph.currentVertexStyle);mxSettings.save()}));this.editor.graph.connectionHandler.setCreateTarget(mxSettings.isCreateTarget());
-this.fireEvent(new mxEventObject("copyConnectChanged"));this.addListener("copyConnectChanged",mxUtils.bind(this,function(a,c){mxSettings.setCreateTarget(this.editor.graph.connectionHandler.isCreateTarget());mxSettings.save()}));this.editor.graph.pageFormat=mxSettings.getPageFormat();this.addListener("pageFormatChanged",mxUtils.bind(this,function(a,c){mxSettings.setPageFormat(this.editor.graph.pageFormat);mxSettings.save()}));this.editor.graph.view.gridColor=mxSettings.getGridColor();this.addListener("gridColorChanged",
-mxUtils.bind(this,function(a,c){mxSettings.setGridColor(this.editor.graph.view.gridColor);mxSettings.save()}));if(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)this.editor.addListener("autosaveChanged",mxUtils.bind(this,function(a,c){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,c){var b=this.editor.graph;if(b.isSelectionEmpty())a.innerHTML="";else{var f=mxUtils.sortCells(b.model.getTopmostCells(b.getSelectionCells())),d=mxUtils.getXml(this.editor.graph.encodeCells(f));mxUtils.setTextContent(a,encodeURIComponent(d));c?(b.removeCells(f,
-!1),b.lastPasteXml=null):(b.lastPasteXml=d,b.pasteCounter=0);a.focus();document.execCommand("selectAll",!1,null)}};EditorUi.prototype.pasteCells=function(a,c){if(!mxEvent.isConsumed(a)){var b=c.getElementsByTagName("span");if(null!=b&&0<b.length&&"application/vnd.lucid.chart.objects"===b[0].getAttribute("data-lucid-type")){var f=b[0].getAttribute("data-lucid-content");null!=f&&0<f.length&&(this.importLucidChart(f,0,0),mxEvent.consume(a))}else{var f=this.editor.graph,d=mxUtils.trim(mxClient.IS_QUIRKS||
-8==document.documentMode?mxUtils.getTextContent(c):c.textContent),e=!1;try{var g=d.lastIndexOf("%3E");0<=g&&g<d.length-3&&(d=d.substring(0,g+3))}catch(C){}try{var b=c.getElementsByTagName("span"),k=null!=b&&0<b.length?mxUtils.trim(decodeURIComponent(b[0].textContent)):decodeURIComponent(d);this.isCompatibleString(k)&&(e=!0,d=k)}catch(C){}f.lastPasteXml==d?f.pasteCounter++:(f.lastPasteXml=d,f.pasteCounter=0);b=f.pasteCounter*f.gridSize;if(null!=d&&0<d.length&&(e||this.isCompatibleString(d)?f.setSelectionCells(this.importXml(d,
-b,b)):(e=f.getInsertPoint(),f.isMouseInsertPoint()&&(b=0,f.lastPasteXml==d&&0<f.pasteCounter&&f.pasteCounter--),f.setSelectionCells(this.insertTextAt(d,e.x+b,e.y+b,!0))),!f.isSelectionEmpty())){f.scrollCellToVisible(f.getSelectionCell());null!=this.hoverIcons&&this.hoverIcons.update(f.view.getState(f.getSelectionCell()));try{mxEvent.consume(a)}catch(C){}}}}};EditorUi.prototype.addFileDropHandler=function(a){if(Graph.fileSupport)for(var c=null,b=0;b<a.length;b++)mxEvent.addListener(a[b],"dragleave",
-function(a){null!=c&&(c.parentNode.removeChild(c),c=null);a.stopPropagation();a.preventDefault()}),mxEvent.addListener(a[b],"dragover",mxUtils.bind(this,function(a){(this.editor.graph.isEnabled()||"1"!=urlParams.embed)&&null==c&&(!mxClient.IS_IE||10<document.documentMode&&12>document.documentMode)&&(c=this.highlightElement());a.stopPropagation();a.preventDefault()})),mxEvent.addListener(a[b],"drop",mxUtils.bind(this,function(a){null!=c&&(c.parentNode.removeChild(c),c=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 b=this.extractGraphModelFromEvent(a);if(null==b){var f=null!=a.dataTransfer?a.dataTransfer:a.clipboardData;null!=f&&(10==document.documentMode||11==document.documentMode?b=f.getData("Text"):(b=null,b=0<=mxUtils.indexOf(f.types,
-"text/uri-list")?a.dataTransfer.getData("text/uri-list"):0<=mxUtils.indexOf(f.types,"text/html")?f.getData("text/html"):null,null!=b&&0<b.length?(f=document.createElement("div"),f.innerHTML=b,f=f.getElementsByTagName("img"),0<f.length&&(b=f[0].getAttribute("src"))):0<=mxUtils.indexOf(f.types,"text/plain")&&(b=f.getData("text/plain"))),null!=b&&("data:image/png;base64,"==b.substring(0,22)?(b=this.extractGraphModelFromPng(b),null!=b&&0<b.length&&this.openLocalFile(b,null,!0)):!this.isOffline()&&this.isRemoteFileFormat(b)?
-(new mxXmlRequest(OPEN_URL,"format=xml&data="+encodeURIComponent(b))).send(mxUtils.bind(this,function(a){200<=a.getStatus()&&299>=a.getStatus()&&this.openLocalFile(a.getText(),null,!0)})):/^https?:\/\//.test(b)&&(null==this.getCurrentFile()?window.location.hash="#U"+encodeURIComponent(b):window.openWindow((mxClient.IS_CHROMEAPP?"https://www.draw.io/":"https://"+location.host+"/")+window.location.search+"#U"+encodeURIComponent(b)))))}else this.openLocalFile(b,null,!0)}a.stopPropagation();a.preventDefault()}))};
-EditorUi.prototype.highlightElement=function(a){var c=0,b=0,d,e;if(null==a){e=document.body;var g=document.documentElement;d=(e.clientWidth||g.clientWidth)-3;e=Math.max(e.clientHeight||0,g.clientHeight)-3}else c=a.offsetTop,b=a.offsetLeft,d=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=c+"px";g.style.left=b+"px";g.style.width=
-Math.max(0,d-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 c=this.editor.extractGraphModel(a.documentElement);a=[];if(null!=c){var b=new mxCodec(c.ownerDocument),d=new mxGraphModel;b.decode(c,d);c=d.getChildAt(d.getRoot(),0);for(b=0;b<d.getChildCount(c);b++)a.push(d.getChildAt(c,b))}return a};EditorUi.prototype.openFiles=
-function(a,c){if(this.spinner.spin(document.body,mxResources.get("loading")))for(var b=0;b<a.length;b++)mxUtils.bind(this,function(a){var b=new FileReader;b.onload=mxUtils.bind(this,function(b){var f=b.target.result,d=a.name;if(null!=d&&0<d.length){!this.useCanvasForExport&&/(\.png)$/i.test(d)&&(d=d.substring(0,d.length-4)+".xml");var e=mxUtils.bind(this,function(a){d=0<=d.lastIndexOf(".")?d.substring(0,d.lastIndexOf("."))+".xml":d+".xml";if("<mxlibrary"==a.substring(0,10)){null==this.getCurrentFile()&&
-"1"!=urlParams.embed&&this.openLocalFile(this.emptyDiagramXml,this.defaultFilename,c);try{this.loadLibrary(new LocalLibrary(this,a,d))}catch(v){this.handleError(v,mxResources.get("errorLoadingFile"))}}else this.openLocalFile(a,d,c)});if(/(\.vsdx?)($|\?)/i.test(d)||/(\.vssx)($|\?)/i.test(d))this.importVisio(a,mxUtils.bind(this,function(a){this.spinner.stop();e(a)}));else if(Graph.fileSupport&&!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(f,d))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('{"state":"{\\"Properties\\":'==f.substring(0,26))/(\.json)$/i.test(d)&&(d=d.substring(0,d.length-5)+".xml"),this.openLocalFile(this.emptyDiagramXml,d,c),this.importLucidChart(f,0,0,null,mxUtils.bind(this,function(){this.editor.undoManager.clear();this.spinner.stop()}));
-else if("<mxlibrary"==b.target.result.substring(0,10)){this.spinner.stop();null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.openLocalFile(this.emptyDiagramXml,this.defaultFilename,c);try{this.loadLibrary(new LocalLibrary(this,b.target.result,a.name))}catch(l){this.handleError(l,mxResources.get("errorLoadingFile"))}}else"image/png"==a.type.substring(0,9)&&(f=this.extractGraphModelFromPng(f)),this.spinner.stop(),this.openLocalFile(f,d,c)}});b.onerror=mxUtils.bind(this,function(a){this.spinner.stop();
-this.handleError(a);window.openFile=null});"image"===a.type.substring(0,5)&&"image/svg"!==a.type.substring(0,9)?b.readAsDataURL(a):b.readAsText(a)})(a[b])};EditorUi.prototype.openLocalFile=function(a,c,b){var f=this.getCurrentFile(),d=mxUtils.bind(this,function(){window.openFile=null;if(null==c&&null!=this.getCurrentFile()&&this.isDiagramEmpty()){var f=mxUtils.parseXml(a);null!=f&&(this.editor.setGraphXml(f.documentElement),this.editor.graph.selectAll())}else this.fileLoaded(new LocalFile(this,a,
-c||this.defaultFilename,b))});null!=a&&0<a.length&&(null==f||!f.isModified()&&(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)?d():(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)&&null!=f&&f.isModified()?this.confirm(mxResources.get("allChangesLost"),null,d,mxResources.get("cancel"),mxResources.get("discardChanges")):(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(a,c),window.openWindow(this.getUrl(),null,mxUtils.bind(this,function(){this.confirm(mxResources.get("allChangesLost"),
-null,d,mxResources.get("cancel"),mxResources.get("discardChanges"))}))))};EditorUi.prototype.getBasenames=function(){var a={};if(null!=this.pages)for(var c=0;c<this.pages.length;c++)this.updatePageRoot(this.pages[c]),this.addBasenamesForCell(this.pages[c].root,a);else this.addBasenamesForCell(this.editor.graph.model.getRoot(),a);var c=[],b;for(b in a)c.push(b);return c};EditorUi.prototype.addBasenamesForCell=function(a,c){function b(a){if(null!=a){var b=a.lastIndexOf(".");0<b&&(a=a.substring(b+1,
-a.length));null==c[a]&&(c[a]=!0)}}var f=this.editor.graph,d=f.getCellStyle(a);b(mxStencilRegistry.getBasenameForStencil(d[mxConstants.STYLE_SHAPE]));f.model.isEdge(a)&&(b(mxMarker.getPackageForType(d[mxConstants.STYLE_STARTARROW])),b(mxMarker.getPackageForType(d[mxConstants.STYLE_ENDARROW])));for(var d=f.model.getChildCount(a),e=0;e<d;e++)this.addBasenamesForCell(f.model.getChildAt(a,e),c)};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.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,c,b){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!=b?b:!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,c){null!=a?a.getPublicUrl(c):c(null)};EditorUi.prototype.createLoadMessage=function(a){var c=this.editor.graph;return{event:a,pageVisible:c.pageVisible,translate:c.view.translate,scale:c.view.scale,page:c.view.getBackgroundPageBounds(),bounds:c.getGraphBounds()}};EditorUi.prototype.installMessageHandler=function(a){var c=null,b=!1,d=!1,e=null,g=mxUtils.bind(this,function(a,
-c){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){function g(a){if(null!=a&&"function"===typeof a.charAt&&"<"!=a.charAt(0))try{"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=this.editor.graph.decompress(a)))}catch(G){}return a}if(f.source==(window.opener||window.parent)){var l=f.data;if("json"==urlParams.proto){try{l=JSON.parse(l)}catch(F){l=null}if(null==l)return;if("dialog"==l.action){this.showError(null!=l.titleKey?mxResources.get(l.titleKey):l.title,null!=l.messageKey?mxResources.get(l.messageKey):l.message,null!=l.buttonKey?mxResources.get(l.buttonKey):l.button);null!=l.modified&&
-(this.editor.modified=l.modified);return}if("prompt"==l.action){this.spinner.stop();var h=new FilenameDialog(this,l.defaultValue||"",null!=l.okKey?mxResources.get(l.okKey):null,function(a){null!=a&&k.postMessage(JSON.stringify({event:"prompt",value:a,message:l}),"*")},null!=l.titleKey?mxResources.get(l.titleKey):l.title);this.showDialog(h.container,300,80,!0,!1);h.init();return}if("draft"==l.action){h=null;h="data:image/png;base64,"==l.xml.substring(0,22)?this.extractGraphModelFromPng(l.xml):g(l.xml);
-this.spinner.stop();h=new DraftDialog(this,mxResources.get("draftFound",[l.name||this.defaultFilename]),h,mxUtils.bind(this,function(){this.hideDialog();k.postMessage(JSON.stringify({event:"draft",result:"edit",message:l}),"*")}),mxUtils.bind(this,function(){this.hideDialog();k.postMessage(JSON.stringify({event:"draft",result:"discard",message:l}),"*")}),l.editKey?mxResources.get(l.editKey):null,l.discardKey?mxResources.get(l.discardKey):null,l.ignore?mxUtils.bind(this,function(){this.hideDialog();
-k.postMessage(JSON.stringify({event:"draft",result:"ignore",message:l}),"*")}):null);this.showDialog(h.container,640,480,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));try{h.init()}catch(F){k.postMessage(JSON.stringify({event:"draft",error:F.toString(),message:l}),"*")}return}if("template"==l.action){this.spinner.stop();var h=1==l.enableRecent,n=1==l.enableSearch,h=new NewDialog(this,!1,null!=l.callback,mxUtils.bind(this,function(c,b){c=c||this.emptyDiagramXml;null!=l.callback?
-k.postMessage(JSON.stringify({event:"template",xml:c,blank:c==this.emptyDiagramXml,name:b}),"*"):(a(c,f,c!=this.emptyDiagramXml),this.editor.modified||this.editor.setStatus(""))}),null,null,null,null,null,null,null,h?mxUtils.bind(this,function(a){this.recentReadyCallback=a;k.postMessage(JSON.stringify({event:"recentDocs"}),"*")}):null,n?mxUtils.bind(this,function(a,c){this.searchReadyCallback=c;k.postMessage(JSON.stringify({event:"searchDocs",searchStr:a}),"*")}):null,function(a,c,b){k.postMessage(JSON.stringify({event:"template",
-docUrl:a,info:c,name:b}),"*")});this.showDialog(h.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));h.init();return}if("searchDocsList"==l.action)this.searchReadyCallback(l.list,l.errorMsg);else if("recentDocsList"==l.action)this.recentReadyCallback(l.list,l.errorMsg);else{if("status"==l.action){null!=l.messageKey?this.editor.setStatus(mxUtils.htmlEntities(mxResources.get(l.messageKey))):null!=l.message&&this.editor.setStatus(mxUtils.htmlEntities(l.message));
-null!=l.modified&&(this.editor.modified=l.modified);return}if("spinner"==l.action){var m=null!=l.messageKey?mxResources.get(l.messageKey):l.message;null==l.show||l.show?this.spinner.spin(document.body,m):this.spinner.stop();return}if("export"==l.action){if("png"==l.format||"xmlpng"==l.format){if(null==l.spin&&null==l.spinKey||this.spinner.spin(document.body,null!=l.spinKey?mxResources.get(l.spinKey):l.spin)){var p=null!=l.xml?l.xml:this.getFileData(!0);this.editor.graph.setEnabled(!1);var q=this.editor.graph,
-w=mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();var c=this.createLoadMessage("export");c.format=l.format;c.message=l;c.data=a;c.xml=encodeURIComponent(p);k.postMessage(JSON.stringify(c),"*")}),t=mxUtils.bind(this,function(a){null==a&&(a=Editor.blankImage);"xmlpng"==l.format&&(a=this.writeGraphModelToPng(a,"zTXt","mxGraphModel",atob(this.editor.graph.compress(p))));q!=this.editor.graph&&q.container.parentNode.removeChild(q.container);w(a)});if(this.isExportToCanvas()){if(null!=
-this.pages&&this.currentPage!=this.pages[0]){var q=this.createTemporaryGraph(q.getStylesheet()),u=q.getGlobalVariable,D=this.pages[0];q.getGlobalVariable=function(a){return"page"==a?D.getName():"pagenumber"==a?1:u.apply(this,arguments)};document.body.appendChild(q.container);q.model.setRoot(D.root)}this.exportToCanvas(mxUtils.bind(this,function(a){t(a.toDataURL("image/png"))}),null,null,null,mxUtils.bind(this,function(){t(null)}),null,null,null,null,null,null,q)}else(new mxXmlRequest(EXPORT_URL,"format=png&embedXml="+
-("xmlpng"==l.format?"1":"0")+"&base64=1&xml="+encodeURIComponent(encodeURIComponent(p)))).send(mxUtils.bind(this,function(a){200<=a.getStatus()&&299>=a.getStatus()?w("data:image/png;base64,"+a.getText()):t(null)}),mxUtils.bind(this,function(){t(null)}))}}else{null!=l.xml&&0<l.xml.length&&this.setFileData(l.xml);m=this.createLoadMessage("export");if("html2"==l.format||"html"==l.format&&("0"!=urlParams.pages||null!=this.pages&&1<this.pages.length))h=this.getXmlFileData(),m.xml=mxUtils.getXml(h),m.data=
-this.getFileData(null,null,!0,null,null,null,h),m.format=l.format;else if("html"==l.format)p=this.editor.getGraphXml(),m.data=this.getHtml(p,this.editor.graph),m.xml=mxUtils.getXml(p),m.format=l.format;else{mxSvgCanvas2D.prototype.foAltText=null;h=this.editor.graph.background;h==mxConstants.NONE&&(h=null);m.xml=this.getFileData(!0);m.format="svg";if(l.embedImages||null==l.embedImages){if(null==l.spin&&null==l.spinKey||this.spinner.spin(document.body,null!=l.spinKey?mxResources.get(l.spinKey):l.spin))this.editor.graph.setEnabled(!1),
-"xmlsvg"==l.format?this.getEmbeddedSvg(m.xml,this.editor.graph,null,!0,mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();m.data=this.createSvgDataUri(a);k.postMessage(JSON.stringify(m),"*")})):this.convertImages(this.editor.graph.getSvg(h),mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();m.data=this.createSvgDataUri(mxUtils.getXml(a));k.postMessage(JSON.stringify(m),"*")}));return}h="xmlsvg"==l.format?this.getEmbeddedSvg(this.getFileData(!0),
-this.editor.graph,null,!0):mxUtils.getXml(this.editor.graph.getSvg(h));m.data=this.createSvgDataUri(h)}k.postMessage(JSON.stringify(m),"*")}return}if("load"==l.action)d=1==l.autosave,this.hideDialog(),null!=l.modified&&null==urlParams.modified&&(urlParams.modified=l.modified),null!=l.saveAndExit&&null==urlParams.saveAndExit&&(urlParams.saveAndExit=l.saveAndExit),null!=l.title&&null!=this.buttonContainer&&(h=document.createElement("span"),mxUtils.write(h,l.title),"atlas"==uiTheme?(this.buttonContainer.style.paddingRight=
-"12px",this.buttonContainer.style.paddingTop="12px"):"min"!=uiTheme&&(this.buttonContainer.style.paddingRight="38px",this.buttonContainer.style.paddingTop="6px"),null!=this.embedFilenameSpan&&this.embedFilenameSpan.parentNode.removeChild(this.embedFilenameSpan),this.buttonContainer.appendChild(h),this.embedFilenameSpan=h),l=null!=l.xmlpng?this.extractGraphModelFromPng(l.xmlpng):null!=l.xml&&"data:image/png;base64,"==l.xml.substring(0,22)?this.extractGraphModelFromPng(l.xml):l.xml;else{k.postMessage(JSON.stringify({error:"unknownMessage",
-data:JSON.stringify(l)}),"*");return}}}l=g(l);b=!0;try{a(l,f)}catch(F){this.handleError(F)}b=!1;null!=urlParams.modified&&this.editor.setStatus("");var x=mxUtils.bind(this,function(){return"0"!=urlParams.pages||null!=this.pages&&1<this.pages.length?this.getFileData(!0):mxUtils.getXml(this.editor.getGraphXml())});e=x();d&&null==c&&(c=mxUtils.bind(this,function(a,c){var f=x();if(f!=e&&!b){var d=this.createLoadMessage("autosave");d.xml=f;f=JSON.stringify(d);(window.opener||window.parent).postMessage(f,
-"*")}e=f}),this.editor.graph.model.addListener(mxEvent.CHANGE,c),this.editor.graph.addListener("gridSizeChanged",c),this.editor.graph.addListener("shadowVisibleChanged",c),this.addListener("pageFormatChanged",c),this.addListener("pageScaleChanged",c),this.addListener("backgroundColorChanged",c),this.addListener("backgroundImageChanged",c),this.addListener("foldingEnabledChanged",c),this.addListener("mathEnabledChanged",c),this.addListener("gridEnabledChanged",c),this.addListener("guidesEnabledChanged",
-c),this.addListener("pageViewChanged",c));"1"!=urlParams.returnbounds&&"json"!=urlParams.proto||k.postMessage(JSON.stringify(this.createLoadMessage("load")),"*")}}));var k=window.opener||window.parent,g="json"==urlParams.proto?JSON.stringify({event:"init"}):urlParams.ready||"ready";k.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":"3px";a.style.paddingLeft="8px";a.style.paddingBottom="2px";var c=document.createElement("button");mxUtils.write(c,mxResources.get("save"));c.setAttribute("title",mxResources.get("save")+" ("+Editor.ctrlKey+"+S)");c.className="geBigButton";c.style.fontSize="12px";c.style.padding="4px 6px 4px 6px";c.style.borderRadius="3px";mxEvent.addListener(c,"click",mxUtils.bind(this,function(){this.actions.get("save").funct()}));a.appendChild(c);"1"==urlParams.saveAndExit&&(c=document.createElement("a"),
-mxUtils.write(c,mxResources.get("saveAndExit")),c.setAttribute("title",mxResources.get("saveAndExit")),c.style.fontSize="12px",c.style.marginLeft="6px",c.style.padding="4px",c.style.cursor="pointer",mxEvent.addListener(c,"click",mxUtils.bind(this,function(){this.actions.get("saveAndExit").funct()})),a.appendChild(c));c=document.createElement("a");mxUtils.write(c,mxResources.get("exit"));c.setAttribute("title",mxResources.get("exit"));c.style.fontSize="12px";c.style.marginLeft="6px";c.style.marginRight=
-"20px";c.style.padding="4px";c.style.cursor="pointer";mxEvent.addListener(c,"click",mxUtils.bind(this,function(){this.actions.get("exit").funct()}));a.appendChild(c);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.showDialog(this.importCsvDialog.container,640,520,!0,!0);this.importCsvDialog.init()};EditorUi.prototype.importCsv=function(a,c){try{var b=a.split("\n"),d=[];if(0<b.length){var f={},e=null,g=null,k="",n="auto",l="auto",p=null,q=null,z=40,y=40,E=0,B=this.editor.graph;B.getGraphBounds();for(var A=function(){null!=c?c(aa):(B.setSelectionCells(aa),B.scrollCellToVisible(B.getSelectionCell()))},J=B.getFreeInsertPoint(),D=J.x,L=J.y,J=L,F=null,
-G="auto",M=[],X=null,Z=null,N=0;N<b.length&&"#"==b[N].charAt(0);){a=b[N];for(N++;N<b.length&&"\\"==a.charAt(a.length-1)&&"#"==b[N].charAt(0);)a=a.substring(0,a.length-1)+mxUtils.trim(b[N].substring(1)),N++;if("#"!=a.charAt(1)){var S=a.indexOf(":");if(0<S){var O=mxUtils.trim(a.substring(1,S)),I=mxUtils.trim(a.substring(S+1));"label"==O?F=B.sanitizeHtml(I):"style"==O?e=I:"identity"==O&&0<I.length&&"-"!=I?g=I:"namespace"==O&&0<I.length&&"-"!=I?k=I:"width"==O?n=I:"height"==O?l=I:"left"==O&&0<I.length?
-p=I:"top"==O&&0<I.length?q=I:"ignore"==O?Z=I.split(","):"connect"==O?M.push(JSON.parse(I)):"link"==O?X=I:"padding"==O?E=parseFloat(I):"edgespacing"==O?z=parseFloat(I):"nodespacing"==O?y=parseFloat(I):"layout"==O&&(G=I)}}}var W=this.editor.csvToArray(b[N]),S=null;if(null!=g)for(var R=0;R<W.length;R++)if(g==W[R]){S=R;break}null==F&&(F="%"+W[0]+"%");if(null!=M)for(var T=0;T<M.length;T++)null==f[M[T].to]&&(f[M[T].to]={});B.model.beginUpdate();try{for(R=N+1;R<b.length;R++){var V=this.editor.csvToArray(b[R]);
-if(V.length==W.length){var K=null,Q=null!=S?k+V[S]:null;null!=Q&&(K=B.model.getCell(Q));null==K&&(K=new mxCell(F,new mxGeometry(D,J,0,0),e||"whiteSpace=wrap;html=1;"),K.vertex=!0,K.id=Q);for(var P=0;P<V.length;P++)B.setAttributeForCell(K,W[P],V[P]);B.setAttributeForCell(K,"placeholders","1");K.style=B.replacePlaceholders(K,K.style);for(T=0;T<M.length;T++)f[M[T].to][K.getAttribute(M[T].to)]=K;null!=X&&"link"!=X&&(B.setLinkForCell(K,K.getAttribute(X)),B.setAttributeForCell(K,X,null));B.fireEvent(new mxEventObject("cellsInserted",
-"cells",[K]));var ba=this.editor.graph.getPreferredSizeForCell(K);K.vertex&&(null!=p&&null!=K.getAttribute(p)&&(K.geometry.x=D+parseFloat(K.getAttribute(p))),null!=q&&null!=K.getAttribute(q)&&(K.geometry.y=L+parseFloat(K.getAttribute(q))),"@"==n.charAt(0)&&null!=K.getAttribute(n.substring(1))?K.geometry.width=parseFloat(K.getAttribute(n.substring(1))):K.geometry.width="auto"==n?ba.width+E:parseFloat(n),"@"==l.charAt(0)&&null!=K.getAttribute(l.substring(1))?K.geometry.height=parseFloat(K.getAttribute(l.substring(1))):
-K.geometry.height="auto"==l?ba.height+E:parseFloat(l),J+=K.geometry.height+y);d.push(B.addCell(K))}}for(var U=d.slice(),aa=d.slice(),T=0;T<M.length;T++)for(var Y=M[T],R=0;R<d.length;R++){var K=d[R],ia=K.getAttribute(Y.from);if(null!=ia){B.setAttributeForCell(K,Y.from,null);for(var ja=ia.split(","),P=0;P<ja.length;P++){var ca=f[Y.to][ja[P]];null!=ca&&(F=Y.label,null!=Y.fromlabel&&(F=(K.getAttribute(Y.fromlabel)||"")+(F||"")),null!=Y.tolabel&&(F=(F||"")+(ca.getAttribute(Y.tolabel)||"")),aa.push(B.insertEdge(null,
-null,F||"",Y.invert?ca:K,Y.invert?K:ca,Y.style||B.createCurrentEdgeStyle())),mxUtils.remove(Y.invert?K:ca,U))}}}if(null!=Z)for(R=0;R<d.length;R++)for(K=d[R],P=0;P<Z.length;P++)B.setAttributeForCell(K,mxUtils.trim(Z[P]),null);var fa=new mxParallelEdgeLayout(B);fa.spacing=z;var ka=function(){fa.execute(B.getDefaultParent());for(var a=0;a<d.length;a++){var c=B.getCellGeometry(d[a]);c.x=Math.round(B.snap(c.x));c.y=Math.round(B.snap(c.y));"auto"==n&&(c.width=Math.round(B.snap(c.width)));"auto"==l&&(c.height=
-Math.round(B.snap(c.height)))}};if("circle"==G){var da=new mxCircleLayout(B);da.resetEdges=!1;var la=da.isVertexIgnored;da.isVertexIgnored=function(a){return la.apply(this,arguments)||0>mxUtils.indexOf(d,a)};this.executeLayout(function(){da.execute(B.getDefaultParent());ka()},!0,A);A=null}else if("horizontaltree"==G||"verticaltree"==G||"auto"==G&&aa.length==2*d.length-1&&1==U.length){B.view.validate();var ga=new mxCompactTreeLayout(B,"horizontaltree"==G);ga.levelDistance=y;ga.edgeRouting=!1;ga.resetEdges=
-!1;this.executeLayout(function(){ga.execute(B.getDefaultParent(),0<U.length?U[0]:null)},!0,A);A=null}else if("horizontalflow"==G||"verticalflow"==G||"auto"==G&&1==U.length){B.view.validate();var ha=new mxHierarchicalLayout(B,"horizontalflow"==G?mxConstants.DIRECTION_WEST:mxConstants.DIRECTION_NORTH);ha.intraCellSpacing=y;ha.disableEdgeStyle=!1;this.executeLayout(function(){ha.execute(B.getDefaultParent(),aa);B.moveCells(aa,D,L)},!0,A);A=null}else if("organic"==G||"auto"==G&&aa.length>d.length){B.view.validate();
-var ea=new mxFastOrganicLayout(B);ea.forceConstant=3*y;ea.resetEdges=!1;var na=ea.isVertexIgnored;ea.isVertexIgnored=function(a){return na.apply(this,arguments)||0>mxUtils.indexOf(d,a)};fa=new mxParallelEdgeLayout(B);fa.spacing=z;this.executeLayout(function(){ea.execute(B.getDefaultParent());ka()},!0,A);A=null}this.hideDialog()}finally{B.model.endUpdate()}null!=A&&A()}}catch(ma){this.handleError(ma)}};EditorUi.prototype.getSearch=function(a){var c="";if("1"!=urlParams.offline&&"1"!=urlParams.demo&&
-null!=a&&0<window.location.search.length){var b="?",d;for(d in urlParams)0>mxUtils.indexOf(a,d)&&null!=urlParams[d]&&(c+=b+d+"="+urlParams[d],b="&")}else c=window.location.search;return c};EditorUi.prototype.getUrl=function(a){a=null!=a?a:window.location.pathname;var c=0<a.indexOf("?")?1:0;if("1"==urlParams.offline)a+=window.location.search;else{var b="tmp libs clibs state fileId code share notitle data url embed client create title splash".split(" "),d;for(d in urlParams)0>mxUtils.indexOf(b,d)&&
-(a=0==c?a+"?":a+"&",null!=urlParams[d]&&(a+=d+"="+urlParams[d],c++))}return a};EditorUi.prototype.showLinkDialog=function(a,c,b){a=new LinkDialog(this,a,c,b,!0);this.showDialog(a.container,440,130,!0,!0);a.init()};var n=EditorUi.prototype.createOutline;EditorUi.prototype.createOutline=function(a){var c=n.apply(this,arguments),b=this.editor.graph,d=c.getSourceGraphBounds;c.getSourceGraphBounds=function(){if(mxUtils.hasScrollbars(b.container)&&b.pageVisible&&null!=this.source.minimumGraphSize){var a=
-this.source.getPagePadding(),c=this.source.view.scale;return new mxRectangle(0,0,Math.ceil(this.source.minimumGraphSize.width-2*a.x/c),Math.ceil(this.source.minimumGraphSize.height-2*a.y/c))}return d.apply(this,arguments)};var e=c.getSourceContainerSize;c.getSourceContainerSize=function(){if(mxUtils.hasScrollbars(b.container)&&null!=this.source.minimumGraphSize){var a=this.source.getPagePadding(),c=this.source.view.scale;return new mxRectangle(0,0,Math.ceil(this.source.minimumGraphSize.width*c-2*
-a.x),Math.ceil(this.source.minimumGraphSize.height*c-2*a.y))}return e.apply(this,arguments)};c.getOutlineOffset=function(a){if(mxUtils.hasScrollbars(b.container)&&null!=this.source.minimumGraphSize){var d=this.source.getPagePadding();return new mxPoint(Math.round(Math.max(0,(c.outline.container.clientWidth/a-(this.source.minimumGraphSize.width-2*d.x))/2)-d.x),Math.round(Math.max(0,(c.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=c.init;c.init=function(){g.apply(this,arguments);c.outline.view.getBackgroundPageBounds=function(){var a=b.getPageLayout(),c=b.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)};c.outline.view.validateBackgroundPage()};this.editor.addListener("pageSelected",function(a,b){var d=b.getProperty("change"),f=c.source,e=c.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);c.outline.view.clear(d.previousPage.root,!0);c.outline.view.validate()});return c};EditorUi.prototype.getServiceCount=function(a,c){var b=0;null==this.drive&&"function"!==typeof window.DriveClient||
-b++;c||null==this.dropbox&&"function"!==typeof window.DropboxClient||b++;null==this.oneDrive&&"function"!==typeof window.OneDriveClient||b++;c||null==this.gitHub||b++;c||null==this.trello&&"function"!==typeof window.TrelloClient||b++;a&&isLocalStorage&&("1"==urlParams.browser||mxClient.IS_IOS)&&b++;mxClient.IS_IOS||b++;return b};EditorUi.prototype.updateUi=function(){this.updateButtonContainer();this.updateActionStates();var a=this.getCurrentFile(),c=null!=a||"1"==urlParams.embed&&this.editor.graph.isEnabled();
-this.menus.get("viewPanels").setEnabled(c);this.menus.get("viewZoom").setEnabled(c);var b=("1"!=urlParams.embed||!this.editor.graph.isEnabled())&&(null==a||a.isRestricted());this.actions.get("makeCopy").setEnabled(!b);this.actions.get("print").setEnabled(!b);this.menus.get("exportAs").setEnabled(!b);this.menus.get("embed").setEnabled(!b);b="1"!=urlParams.embed||this.editor.graph.isEnabled();this.menus.get("openLibraryFrom").setEnabled(b);this.menus.get("newLibrary").setEnabled(b);this.menus.get("extras").setEnabled(b);
-a="1"==urlParams.embed&&this.editor.graph.isEnabled()||null!=a&&a.isEditable();this.actions.get("image").setEnabled(c);this.actions.get("zoomIn").setEnabled(c);this.actions.get("zoomOut").setEnabled(c);this.actions.get("resetView").setEnabled(c);this.menus.get("edit").setEnabled(c);this.menus.get("view").setEnabled(c);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 d=applicationCache;if(null!=d&&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 d=window.applicationCache,e=null,c=mxUtils.bind(this,function(){var a=d.status,c;a==d.CHECKING&&(a=d.DOWNLOADING);switch(a){case d.UNCACHED:c="";break;case d.IDLE:c=
-"min"==uiTheme?"":'<img title="draw.io is up to date." border="0" src="'+IMAGE_PATH+'/checkmark.gif"/>';break;case d.DOWNLOADING:c='<img title="Downloading new version..." border="0" src="'+IMAGE_PATH+'/spin.gif"/>';break;case d.UPDATEREADY:c='<img title="'+mxUtils.htmlEntities(mxResources.get("restartForChangeRequired"))+'" border="0" src="'+IMAGE_PATH+'/download.png"/>';break;case d.OBSOLETE:c='<img title="Obsolete" border="0" src="'+IMAGE_PATH+'/clear.gif"/>';break;default:c='<img title="Unknown" border="0" src="'+
-IMAGE_PATH+'/clear.gif"/>'}a!=e&&(this.offlineStatus.innerHTML=c,e=a)});mxEvent.addListener(d,"checking",c);mxEvent.addListener(d,"noupdate",c);mxEvent.addListener(d,"downloading",c);mxEvent.addListener(d,"progress",c);mxEvent.addListener(d,"cached",c);mxEvent.addListener(d,"updateready",c);mxEvent.addListener(d,"obsolete",c);mxEvent.addListener(d,"error",c);c()}}else this.updateUserElement()};EditorUi.prototype.updateButtonContainer=function(){};EditorUi.prototype.updateUserElement=function(){};
-EditorUi.prototype.isDiagramActive=function(){var a=this.getCurrentFile();return null!=a&&a.isEditable()||"1"==urlParams.embed&&this.editor.graph.isEnabled()};var p=EditorUi.prototype.updateActionStates;EditorUi.prototype.updateActionStates=function(){p.apply(this,arguments);var a=this.editor.graph,c=this.isDiagramActive(),b=this.getCurrentFile(),d=null!=b||"1"==urlParams.embed;this.actions.get("pageSetup").setEnabled(c);this.actions.get("autosave").setEnabled(null!=b&&b.isEditable()&&b.isAutosaveOptional());
-this.actions.get("guides").setEnabled(c);this.actions.get("editData").setEnabled(c);this.actions.get("shadowVisible").setEnabled(c);this.actions.get("connectionArrows").setEnabled(c);this.actions.get("connectionPoints").setEnabled(c);this.actions.get("copyStyle").setEnabled(c&&!a.isSelectionEmpty());this.actions.get("pasteStyle").setEnabled(c&&!a.isSelectionEmpty());this.actions.get("editGeometry").setEnabled(a.getModel().isVertex(a.getSelectionCell()));this.actions.get("createShape").setEnabled(c);
-this.actions.get("createRevision").setEnabled(c);this.actions.get("moveToFolder").setEnabled(null!=b);this.actions.get("makeCopy").setEnabled(null!=b&&!b.isRestricted());this.actions.get("editDiagram").setEnabled(c&&(null==b||!b.isRestricted()));this.actions.get("publishLink").setEnabled(null!=b&&!b.isRestricted());this.actions.get("tags").setEnabled(c&&(null==b||!b.isRestricted()));this.actions.get("find").setEnabled(d);this.actions.get("layers").setEnabled(d);this.actions.get("outline").setEnabled(d);
-this.actions.get("rename").setEnabled(null!=b&&b.isRenamable());this.actions.get("close").setEnabled(null!=b);this.menus.get("publish").setEnabled(null!=b&&!b.isRestricted());a=a.view.getState(a.getSelectionCell());this.actions.get("editShape").setEnabled(c&&null!=a&&null!=a.shape&&null!=a.shape.stencil)};var q=EditorUi.prototype.destroy;EditorUi.prototype.destroy=function(){null!=this.exportDialog&&(this.exportDialog.parentNode.removeChild(this.exportDialog),this.exportDialog=null);q.apply(this,
-arguments)};null!=window.ExportDialog&&(ExportDialog.showXmlOption=!1,ExportDialog.showGifOption=!1,ExportDialog.exportFile=function(a,c,b,d,e,g){var f=a.editor.graph;if("xml"==b)a.hideDialog(),a.saveData(c,"xml",mxUtils.getXml(a.editor.getGraphXml()),"text/xml");else if("svg"==b)a.hideDialog(),a.saveData(c,"svg",mxUtils.getXml(f.getSvg(d,e,g)),"image/svg+xml");else{var h=a.getFileData(!0,null,null,null,null,!0),k=f.getGraphBounds(),l=Math.floor(k.width*e/f.view.scale),n=Math.floor(k.height*e/f.view.scale);
-h.length<=MAX_REQUEST_SIZE&&l*n<MAX_AREA?(a.hideDialog(),a.saveRequest(c,b,function(a,c){return new mxXmlRequest(EXPORT_URL,"format="+b+"&base64="+(c||"0")+(null!=a?"&filename="+encodeURIComponent(a):"")+"&bg="+(null!=d?d:"none")+"&w="+l+"&h="+n+"&border="+g+"&xml="+encodeURIComponent(h))})):mxUtils.alert(mxResources.get("drawingTooLarge"))}})})();var mxSettings={currentVersion:16,defaultFormatWidth:600>screen.width?"0":"240",key:".drawio-config",getLanguage:function(){return mxSettings.settings.language},setLanguage:function(b){mxSettings.settings.language=b},getUi:function(){return mxSettings.settings.ui},setUi:function(b){mxSettings.settings.ui=b},getShowStartScreen:function(){return mxSettings.settings.showStartScreen},setShowStartScreen:function(b){mxSettings.settings.showStartScreen=b},getGridColor:function(){return mxSettings.settings.gridColor},
+e=this;this.crossOriginImages&&(b.crossOrigin="anonymous");b.onload=function(){var a=document.createElement("canvas"),d=a.getContext("2d");a.height=b.height;a.width=b.width;d.drawImage(b,0,0);try{c(a.toDataURL())}catch(w){c(e.svgBrokenImage.src)}};b.onerror=function(){c(e.svgBrokenImage.src)};b.src=a}};EditorUi.prototype.importXml=function(a,c,b,d,f){c=null!=c?c:0;b=null!=b?b:0;var e=[];try{var h=this.editor.graph;if(null!=a&&0<a.length){var g=mxUtils.parseXml(a),k=this.editor.extractGraphModel(g.documentElement,
+null!=this.pages);if(null!=k&&"mxfile"==k.nodeName&&null!=this.pages){var m=k.getElementsByTagName("diagram");if(1==m.length)k=mxUtils.parseXml(h.decompress(mxUtils.getTextContent(m[0]))).documentElement;else if(1<m.length){h.model.beginUpdate();try{for(a=0;a<m.length;a++){var v=this.updatePageRoot(new DiagramPage(m[a])),l=this.pages.length;null==v.getName()&&v.setName(mxResources.get("pageWithNumber",[l+1]));h.model.execute(new ChangePage(this,v,v,l))}}finally{h.model.endUpdate()}}}null!=k&&"mxGraphModel"===
+k.nodeName&&(e=h.importGraphModel(k,c,b,d))}}catch(D){throw f||this.handleError(D,mxResources.get("invalidOrMissingFile")),D;}return e};EditorUi.prototype.importVisio=function(a,c,b,d){d=null!=d?d:a.name;b=null!=b?b:mxUtils.bind(this,function(a){this.handleError(a)});var e=mxUtils.bind(this,function(){this.loadingExtensions=!1;if(this.doImportVisio)if(/(\.vsd)($|\?)/i.test(d)&&null!=VSD_CONVERT_URL){var e=new FormData;e.append("file1",a,d);var f=new XMLHttpRequest;f.open("POST",VSD_CONVERT_URL);f.responseType=
+"blob";f.onreadystatechange=mxUtils.bind(this,function(){if(4==f.readyState)if(200<=f.status&&299>=f.status)try{this.doImportVisio(f.response,c,b)}catch(y){b(y)}else b({})});f.send(e)}else try{this.doImportVisio(a,c,b)}catch(y){b(y)}});this.doImportVisio||this.loadingExtensions||this.isOffline()?e():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",e))};EditorUi.prototype.exportVisio=function(){var a=mxUtils.bind(this,function(){this.loadingExtensions=!1;if("undefined"!==typeof VsdxExport)try{(new VsdxExport(this)).exportCurrentDiagrams()}catch(e){this.handleError(e)}});
+"undefined"!==typeof VsdxExport||this.loadingExtensions||this.isOffline()?a():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",a))};EditorUi.prototype.importLucidChart=function(a,c,b,d,f){var e=mxUtils.bind(this,function(){this.loadingExtensions=!1;if(this.pasteLucidChart)try{this.insertLucidChart(a,c,b,d,f)}catch(w){this.handleError(w)}finally{null!=f&&f()}});this.pasteLucidChart||this.loadingExtensions||this.isOffline()?window.setTimeout(e,0):(this.loadingExtensions=!0,"1"==urlParams.dev?
+mxscript("js/diagramly/Extensions.js",e):mxscript("js/extensions.min.js",e))};EditorUi.prototype.insertLucidChart=function(a,c,b,d,f){f=JSON.parse(a);a=[];if(null!=f.state){f=JSON.parse(f.state);for(var e in f.Pages)a.push(f.Pages[e]);a.sort(function(a,c){return a.Properties.Order<c.Properties.Order?-1:a.Properties.Order>c.Properties.Order?1:0})}else a.push(f);if(0<a.length){this.editor.graph.getModel().beginUpdate();try{if(this.pasteLucidChart(a[0],c,b,d),null!=this.pages){var h=this.currentPage;
+for(c=1;c<a.length;c++)this.insertPage(),this.pasteLucidChart(a[c]);this.selectPage(h)}}finally{this.editor.graph.getModel().endUpdate()}}};EditorUi.prototype.insertTextAt=function(a,c,b,d,f,g,k){g=null!=g?g:!0;k=null!=k?k:!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,
+c,b,!0))}));else if("data:"==a.substring(0,5)||!this.isOffline()&&(f||/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(a))){var e=this.editor.graph;if("data:image/png;base64,"==a.substring(0,22)){var h=this.extractGraphModelFromPng(a),m=this.importXml(h,c,b,g,!0);if(0<m.length)return m}if("data:image/svg+xml;"==a.substring(0,19))try{if(h=null,"data:image/svg+xml;base64,"==a.substring(0,26)?(h=a.substring(a.indexOf(",")+1),h=window.atob&&!mxClient.IS_SF?atob(h):Base64.decode(h,!0)):h=decodeURIComponent(a.substring(a.indexOf(",")+
+1)),m=this.importXml(h,c,b,g,!0),0<m.length)return m}catch(v){}this.loadImage(a,mxUtils.bind(this,function(d){if("data:"==a.substring(0,5))this.resizeImage(d,a,mxUtils.bind(this,function(a,d,f){e.setSelectionCell(e.insertVertex(null,null,"",e.snap(c),e.snap(b),d,f,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+this.convertDataUri(a)+";"))}),k,this.maxImageSize);else{var f=Math.min(1,Math.min(this.maxImageSize/d.width,this.maxImageSize/
+d.height)),m=Math.round(d.width*f);d=Math.round(d.height*f);e.setSelectionCell(e.insertVertex(null,null,"",e.snap(c),e.snap(b),m,d,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+a+";"))}}),mxUtils.bind(this,function(){var f=null;e.getModel().beginUpdate();try{f=e.insertVertex(e.getDefaultParent(),null,a,e.snap(c),e.snap(b),1,1,"text;"+(d?"html=1;":"")),e.updateCellSize(f),e.fireEvent(new mxEventObject("textInserted","cells",
+[f]))}finally{e.getModel().endUpdate()}e.setSelectionCell(f)}))}else{a=this.editor.graph.zapGremlins(mxUtils.trim(a));if(this.isCompatibleString(a))return this.importXml(a,c,b,g);if(0<a.length)if('{"state":"{\\"Properties\\":'==a.substring(0,26))this.importLucidChart(a,c,b,g);else{e=this.editor.graph;f=null;e.getModel().beginUpdate();try{f=e.insertVertex(e.getDefaultParent(),null,"",e.snap(c),e.snap(b),1,1,"text;"+(d?"html=1;":"")),e.fireEvent(new mxEventObject("textInserted","cells",[f])),f.value=
+a,e.updateCellSize(f),/\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(f.value)&&e.setLinkForCell(f,f.value),f.geometry.width+=e.gridSize,f.geometry.height+=e.gridSize}finally{e.getModel().endUpdate()}return[f]}}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 c=a.indexOf(";");0<c&&(a=a.substring(0,c)+a.substring(a.indexOf(",",c+1)))}return a};EditorUi.prototype.isRemoteFileFormat=function(a,c){return/(\"contentType\":\s*\"application\/gliffy\+json\")/.test(a)};EditorUi.prototype.importFile=function(a,c,b,d,f,g,k,l,n,m,v){m=null!=m?m:!0;var e=!1,h=null,q=mxUtils.bind(this,function(a){var c=null;null!=a&&"<mxlibrary"==a.substring(0,
+10)?this.loadLibrary(new LocalLibrary(this,a,k)):c=this.importXml(a,b,d,m);null!=l&&l(c)});"image"==c.substring(0,5)?(n=!1,"image/png"==c.substring(0,9)&&(c=v?null:this.extractGraphModelFromPng(a),null!=c&&0<c.length&&(h=this.importXml(c,b,d,m),n=!0)),n||(h=this.editor.graph,c=a.indexOf(";"),0<c&&(a=a.substring(0,c)+a.substring(a.indexOf(",",c+1))),m&&h.isGridEnabled()&&(b=h.snap(b),d=h.snap(d)),h=[h.insertVertex(null,null,"",b,d,f,g,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+
+a+";")])):/(\.*<graphml )/.test(a)&&"undefined"!==typeof window.mxGraphMlCodec?(new mxGraphMlCodec).decode(a,mxUtils.bind(this,function(a){a=this.importXml(a,b,d,m);null!=l&&l(a)})):null!=n&&null!=k&&(/(\.vsdx?)($|\?)/i.test(k)||/(\.vssx)($|\?)/i.test(k))?(e=!0,this.importVisio(n,q)):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(a,k)?(e=!0,this.parseFile(null!=n?n:new Blob([a],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&(200<=a.status&&
+299>=a.status?q(a.responseText):null!=l&&l(null))}),k)):/(\.vsd)($|\?)/i.test(k)||(h=this.insertTextAt(this.validateFileData(a),b,d,!0,null,m));e||null==l||l(h);return h};EditorUi.prototype.base64Encode=function(a){for(var c="",b=0,d=a.length,f,g,k;b<d;){f=a.charCodeAt(b++)&255;if(b==d){c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(f>>2);c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f&3)<<4);c+="==";break}g=a.charCodeAt(b++);if(b==d){c+=
+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(f>>2);c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f&3)<<4|(g&240)>>4);c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((g&15)<<2);c+="=";break}k=a.charCodeAt(b++);c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(f>>2);c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f&3)<<4|(g&240)>>4);c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((g&
+15)<<2|(k&192)>>6);c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(k&63)}return c};EditorUi.prototype.importFiles=function(a,c,b,d,f,g,k,l,n,m,v,p){c=null!=c?c:0;b=null!=b?b:0;d=null!=d?d:this.maxImageSize;m=null!=m?m:this.maxImageBytes;var e=null!=c&&null!=b,h=!0,q=!1;if(!mxClient.IS_CHROMEAPP&&null!=a)for(var u=v||this.resampleThreshold,w=0;w<a.length;w++)if("image/"==a[w].type.substring(0,6)&&a[w].size>u){q=!0;break}var t=mxUtils.bind(this,function(){var n=this.editor.graph,
+q=n.gridSize;f=null!=f?f:mxUtils.bind(this,function(a,c,b,d,f,g,m,h,k){return null!=a&&"<mxlibrary"==a.substring(0,10)?(this.spinner.stop(),this.loadLibrary(new LocalLibrary(this,a,m)),null):this.importFile(a,c,b,d,f,g,m,h,k,e,p)});g=null!=g?g:mxUtils.bind(this,function(a){n.setSelectionCells(a)});if(this.spinner.spin(document.body,mxResources.get("loading")))for(var u=a.length,w=u,t=[],F=mxUtils.bind(this,function(a,c){t[a]=c;if(0==--w){this.spinner.stop();if(null!=l)l(t);else{var b=[];n.getModel().beginUpdate();
+try{for(var e=0;e<t.length;e++){var d=t[e]();null!=d&&(b=b.concat(d))}}finally{n.getModel().endUpdate()}}g(b)}}),y=0;y<u;y++)mxUtils.bind(this,function(e){var g=a[e],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,u=l.indexOf(","),w=decodeURIComponent(escape(atob(l.substring(u+1)))),t=mxUtils.parseXml(w),w=t.getElementsByTagName("svg");if(0<w.length){var w=w[0],C=p?null:w.getAttribute("content");
+null!=C&&"<"!=C.charAt(0)&&"%"!=C.charAt(0)&&(C=unescape(window.atob?atob(C):Base64.decode(C,!0)));null!=C&&"%"==C.charAt(0)&&(C=decodeURIComponent(C));null==C||"<mxfile "!==C.substring(0,8)&&"<mxGraphModel "!==C.substring(0,14)?F(e,mxUtils.bind(this,function(){try{if(l.substring(0,u+1),null!=t){var a=t.getElementsByTagName("svg");if(0<a.length){var m=a[0],k=parseFloat(m.getAttribute("width")),v=parseFloat(m.getAttribute("height")),w=m.getAttribute("viewBox");if(null==w||0==w.length)m.setAttribute("viewBox",
+"0 0 "+k+" "+v);else if(isNaN(k)||isNaN(v)){var p=w.split(" ");3<p.length&&(k=parseFloat(p[2]),v=parseFloat(p[3]))}l=this.createSvgDataUri(mxUtils.getXml(m));var C=Math.min(1,Math.min(d/Math.max(1,k)),d/Math.max(1,v)),E=f(l,g.type,c+e*q,b+e*q,Math.max(1,Math.round(k*C)),Math.max(1,Math.round(v*C)),g.name,h);if(isNaN(k)||isNaN(v)){var F=new Image;F.onload=mxUtils.bind(this,function(){k=Math.max(1,F.width);v=Math.max(1,F.height);E[0].geometry.width=k;E[0].geometry.height=v;m.setAttribute("viewBox",
+"0 0 "+k+" "+v);l=this.createSvgDataUri(mxUtils.getXml(m));var a=l.indexOf(";");0<a&&(l=l.substring(0,a)+l.substring(l.indexOf(",",a+1)));n.setCellStyles("image",l,[E[0]])});F.src=this.createSvgDataUri(mxUtils.getXml(m))}return E}}}catch(da){}return null})):F(e,mxUtils.bind(this,function(){return f(C,"text/xml",c+e*q,b+e*q,0,0,g.name)}))}}else{w=!1;if("image/png"==g.type){var E=p?null:this.extractGraphModelFromPng(a.target.result);if(null!=E&&0<E.length){var y=new Image;y.src=a.target.result;F(e,
+mxUtils.bind(this,function(){return f(E,"text/xml",c+e*q,b+e*q,y.width,y.height,g.name)}));w=!0}}w||(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,
+l,n){F(e,mxUtils.bind(this,function(){if(null!=k&&k.length<m){var u=h&&this.isResampleImage(a.target.result,v)?Math.min(1,Math.min(d/l,d/n)):1;return f(k,g.type,c+e*q,b+e*q,Math.round(l*u),Math.round(n*u),g.name)}this.handleError({message:mxResources.get("imageTooBig")});return null}))}),h,d,v)}),mxUtils.bind(this,function(){this.handleError({message:mxResources.get("invalidOrMissingFile")})})))}else f(a.target.result,g.type,c+e*q,b+e*q,240,160,g.name,function(a){F(e,function(){return a})})});/(\.vsdx?)($|\?)/i.test(g.name)||
+/(\.vssx)($|\?)/i.test(g.name)?f(null,g.type,c+e*q,b+e*q,240,160,g.name,function(a){F(e,function(){return a})},g):"image"==g.type.substring(0,5)?l.readAsDataURL(g):l.readAsText(g)})(y)});q?this.confirmImageResize(function(a){h=a;t()},n):t()};EditorUi.prototype.confirmImageResize=function(a,c){c=null!=c?c:!1;var b=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){},e=isLocalStorage||mxClient.IS_CHROMEAPP?mxSettings.getResizeImages():null,d=function(e,d){if(e||c)mxSettings.setResizeImages(e?
+d:null),mxSettings.save();b();a(d)};null==e||c?this.showDialog((new ConfirmDialog(this,mxResources.get("resizeLargeImages"),function(a){d(a,!0)},function(a){d(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):d(!1,e)};EditorUi.prototype.parseFile=function(a,c,
+b){b=null!=b?b:a.name;var e=new FormData;e.append("format","xml");e.append("upfile",a,b);var d=new XMLHttpRequest;d.open("POST",OPEN_URL);d.onreadystatechange=function(){c(d)};d.send(e)};EditorUi.prototype.isResampleImage=function(a,c){c=null!=c?c:this.resampleThreshold;return a.length>c};EditorUi.prototype.resizeImage=function(a,c,b,d,f,g){f=null!=f?f:this.maxImageSize;var e=Math.max(1,a.width),h=Math.max(1,a.height);if(d&&this.isResampleImage(c,g))try{var k=Math.max(e/f,h/f);if(1<k){var m=Math.round(e/
+k),l=Math.round(h/k),n=document.createElement("canvas");n.width=m;n.height=l;n.getContext("2d").drawImage(a,0,0,m,l);var q=n.toDataURL();if(q.length<c.length){var u=document.createElement("canvas");u.width=m;u.height=l;var p=u.toDataURL();q!==p&&(c=q,e=m,h=l)}}}catch(A){}b(c,e,h)};EditorUi.prototype.crcTable=[];for(var f=0;256>f;f++)for(var c=f,g=0;8>g;g++)c=1==(c&1)?3988292384^c>>>1:c>>>1,EditorUi.prototype.crcTable[f]=c;EditorUi.prototype.updateCRC=function(a,c,b,d){for(var e=0;e<d;e++)a=EditorUi.prototype.crcTable[(a^
+c[b+e])&255]^a>>>8;return a};EditorUi.prototype.crc32=function(a){this.crcTable=this.crcTable||this.createCrcTable();for(var c=-1,b=0;b<a.length;b++)c=c>>>8^this.crcTable[(c^a.charCodeAt(b))&255];return(c^-1)>>>0};EditorUi.prototype.writeGraphModelToPng=function(a,c,b,d,f){function e(a,c){var b=k;k+=c;return a.substring(b,k)}function g(a){a=e(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}function h(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 k=0;if(e(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=f&&f();else if(e(a,4),"IHDR"!=e(a,4))null!=f&&f();else{e(a,17);f=a.substring(0,k);do{var m=g(a);if("IDAT"==e(a,4)){f=a.substring(0,k-8);b=b+String.fromCharCode(0)+("zTXt"==c?String.fromCharCode(0):"")+d;d=4294967295;d=this.updateCRC(d,c,0,4);d=this.updateCRC(d,b,0,b.length);f+=h(b.length)+c+b+h(d^4294967295);f+=a.substring(k-
+8,a.length);break}f+=a.substring(k-8,k-4+m);e(a,m);e(a,4)}while(m);return"data:image/png;base64,"+(window.btoa?btoa(f):Base64.encode(f,!0))}};EditorUi.prototype.extractGraphModelFromPng=function(a){var c=null;try{var b=a.substring(a.indexOf(",")+1),d=window.atob&&!mxClient.IS_SF?atob(b):Base64.decode(b,!0);EditorUi.parsePng(d,mxUtils.bind(this,function(a,b,e){a=d.substring(a+8,a+8+e);"zTXt"==b?(e=a.indexOf(String.fromCharCode(0)),"mxGraphModel"==a.substring(0,e)&&(a=this.editor.graph.bytesToString(pako.inflateRaw(a.substring(e+
+2))).replace(/\+/g," "),null!=a&&0<a.length&&(c=a))):"tEXt"==b&&(a=a.split(String.fromCharCode(0)),1<a.length&&"mxGraphModel"==a[0]&&(c=a[1]));if(null!=c||"IDAT"==b)return!0}))}catch(q){}null!=c&&"%"==c.charAt(0)&&(c=decodeURIComponent(c));null!=c&&"%"==c.charAt(0)&&(c=decodeURIComponent(c));return c};EditorUi.prototype.loadImage=function(a,c,b){var e=new Image;e.onload=function(){c(e)};null!=b&&(e.onerror=b);e.src=a};var k=EditorUi.prototype.init;EditorUi.prototype.init=function(){function a(a){var b=
+a.indexOf(",");0<b&&(a=c.getPageById(a.substring(b+1)))&&c.selectPage(a)}"undefined"!==typeof window.mxSettings&&(this.formatWidth=mxSettings.getFormatWidth());var c=this,b=this.editor.graph;b.addListener("pageLinkClicked",function(c,b){a(b.getProperty("href"))});this.isOffline()||"undefined"===typeof window.EditDataDialog||(EditDataDialog.placeholderHelpLink="https://desk.draw.io/support/solutions/articles/16000051979");var d=c.editor.getEditBlankUrl;this.editor.getEditBlankUrl=function(a){a=null!=
+a?a:"";if(null!=c.pages&&null!=c.currentPage)for(var b=0;b<c.pages.length;b++)if(c.pages[b]==c.currentPage){0<b&&(a+=(0<a.length?"&":"?")+"page="+b);break}"1"==urlParams.dev&&(a+=(0<a.length?"&":"?")+"dev=1&drawdev=1");return d.apply(this,arguments)};var f=b.addClickHandler;b.addClickHandler=function(c,e,d){var g=e;e=function(c,e){if(null==e){var d=mxEvent.getSource(c);"a"==d.nodeName.toLowerCase()&&(e=d.getAttribute("href"))}null==e||!b.isPageLink(e)||!mxEvent.isTouchEvent(c)&&mxEvent.isPopupTrigger(c)||
+(a(e),mxEvent.consume(c));null!=g&&g(c,e)};f.call(this,c,e,d)};k.apply(this,arguments);mxClient.IS_SVG&&this.editor.graph.addSvgShadow(b.view.canvas.ownerSVGElement,null,!0);c.actions.get("print").funct=function(){c.showDialog((new PrintDialog(c)).container,360,null!=c.pages&&1<c.pages.length?420:360,!0,!0)};this.defaultFilename=mxResources.get("untitledDiagram");var g=b.getGlobalVariable;b.getGlobalVariable=function(a){return"page"==a&&null!=c.currentPage?c.currentPage.getName():"pagenumber"==a?
+null!=c.currentPage&&null!=c.pages?mxUtils.indexOf(c.pages,c.currentPage)+1:1:g.apply(this,arguments)};var l=b.createLinkForHint;b.createLinkForHint=function(e,d){var f=b.isPageLink(e);if(f){var g=e.indexOf(",");0<g&&(g=c.getPageById(e.substring(g+1)),d=null!=g?g.getName():mxResources.get("pageNotFound"))}g=l.call(this,e,d);f&&mxEvent.addListener(g,"click",function(c){a(e);mxEvent.consume(c)});return g};var n=b.labelLinkClicked;b.labelLinkClicked=function(c,e,d){var f=e.getAttribute("href");if(null==
+f||!b.isPageLink(f)||!mxEvent.isTouchEvent(d)&&mxEvent.isPopupTrigger(d))n.apply(this,arguments);else{if(!b.isEnabled()||null!=c&&b.isCellLocked(c.cell))a(f),b.getRubberband().reset();mxEvent.consume(d)}};this.editor.getOrCreateFilename=function(){var a=c.defaultFilename,b=c.getCurrentFile();null!=b&&(a=null!=b.getTitle()?b.getTitle():a);return a};var p=this.actions.get("print");p.setEnabled(!mxClient.IS_IOS||!navigator.standalone);p.visible=p.isEnabled();if(!this.editor.chromeless||this.editor.editable){var m=
+function(){window.setTimeout(function(){v.innerHTML="&nbsp;";v.focus();document.execCommand("selectAll",!1,null)},0)};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_IE||b.container.addEventListener("paste",
+mxUtils.bind(this,function(a){var c=this.editor.graph;if(!mxEvent.isConsumed(a))try{for(var b=a.clipboardData||a.originalEvent.clipboardData,e=!1,d=0;d<b.types.length;d++)if("text/"===b.types[d].substring(0,5)){e=!0;break}if(!e){var f=b.items;for(index in f){var g=f[index];if("file"===g.kind){if(c.isEditing())this.importFiles([g.getAsFile()],0,0,this.maxImageSize,function(a,b,e,d,f,g){c.insertImage(a,f,g)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var c=0;c<a.length;c++)a[c]()});
+else{var m=this.editor.graph.getInsertPoint();this.importFiles([g.getAsFile()],m.x,m.y,this.maxImageSize);mxEvent.consume(a)}break}}}}catch(N){}}),!1);var v=document.createElement("div");v.style.position="absolute";v.style.whiteSpace="nowrap";v.style.overflow="hidden";v.style.display="block";v.contentEditable=!0;mxUtils.setOpacity(v,0);v.style.width="1px";v.style.height="1px";v.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||(v.style.left=b.container.scrollLeft+10+"px",v.style.top=b.container.scrollTop+10+"px",b.container.appendChild(v),F=!0,mxClient.IS_QUIRKS?window.setTimeout(function(){v.focus();document.execCommand("selectAll",
+!1,null)},0):(v.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(),v.parentNode.removeChild(v))}),0)}));mxEvent.addListener(v,"copy",mxUtils.bind(this,function(a){b.isEnabled()&&(mxClipboard.copy(b),this.copyCells(v),m())}));mxEvent.addListener(v,"cut",mxUtils.bind(this,
+function(a){b.isEnabled()&&(this.copyCells(v,!0),m())}));mxEvent.addListener(v,"paste",mxUtils.bind(this,function(a){b.isEnabled()&&!b.isCellLocked(b.getDefaultParent())&&(v.innerHTML="&nbsp;",v.focus(),window.setTimeout(mxUtils.bind(this,function(){this.pasteCells(a,v);v.innerHTML="&nbsp;"}),0))}),!0);var D=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==v?!0:D.apply(this,arguments)}}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 c=this.editor.graph,b=c.cellEditor.text2,e=null;null!=b&&(mxEvent.addListener(b,"dragleave",function(a){null!=e&&(e.parentNode.removeChild(e),e=null);a.stopPropagation();a.preventDefault()}),mxEvent.addListener(b,"dragover",mxUtils.bind(this,function(a){null==e&&(!mxClient.IS_IE||10<document.documentMode)&&(e=this.highlightElement(b));a.stopPropagation();
+a.preventDefault()})),mxEvent.addListener(b,"drop",mxUtils.bind(this,function(a){null!=e&&(e.parentNode.removeChild(e),e=null);if(0<a.dataTransfer.files.length)this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,function(a,b,e,d,f,g){c.insertImage(a,f,g)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var c=0;c<a.length;c++)a[c]()},mxEvent.isControlDown(a));else if(0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")){var b=a.dataTransfer.getData("text/uri-list");
+/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(b)?this.loadImage(decodeURIComponent(b),mxUtils.bind(this,function(a){var e=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,e)),d/Math.max(1,a));c.insertImage(decodeURIComponent(b),e*d,a*d)})):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()})))}));if("1"==urlParams.ruler&&"undefined"!==typeof mxRuler){p=document.createElement("div");p.style.position="absolute";p.style.top="95px";p.style.left="250px";p.style.width="2000px";p.style.height="30px";p.style.background="whiteSmoke";document.body.appendChild(p);var z=document.createElement("div");z.style.position="absolute";z.style.top="125px";z.style.left="220px";
+z.style.width="30px";z.style.height="1000px";z.style.background="whiteSmoke";document.body.appendChild(z);var J=document.createElement("div");J.style.position="absolute";J.style.top="95px";J.style.left="220px";J.style.width="30px";J.style.height="30px";J.style.background="whiteSmoke";document.body.appendChild(J);this.vRuler=new mxRuler(this.editor.graph,z,!0);this.hRuler=new mxRuler(this.editor.graph,p,!1)}if("1"==urlParams.test){p=document.getElementById("geFooter");null!=p&&(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)})),p.appendChild(this.styleInput),this.editor.graph.getSelectionModel().addListener(mxEvent.CHANGE,
+mxUtils.bind(this,function(a,c){if(0<this.editor.graph.getSelectionCount()){var b=this.editor.graph.getSelectionCell(),b=this.editor.graph.getModel().getStyle(b);this.styleInput.value=b||"";this.styleInput.style.visibility="visible"}else this.styleInput.style.visibility="hidden"})));var A=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==this.styleInput?!0:A.apply(this,arguments)}}p=document.getElementById("geInfo");null!=p&&p.parentNode.removeChild(p);if(Graph.fileSupport&&
+(!this.editor.chromeless||this.editor.editable)){var B=null;mxEvent.addListener(b.container,"dragleave",function(a){b.isEnabled()&&(null!=B&&(B.parentNode.removeChild(B),B=null),a.stopPropagation(),a.preventDefault())});mxEvent.addListener(b.container,"dragover",mxUtils.bind(this,function(a){null==B&&(!mxClient.IS_IE||10<document.documentMode)&&(B=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!=B&&(B.parentNode.removeChild(B),B=null);if(b.isEnabled()){var c=mxUtils.convertPoint(b.container,mxEvent.getClientX(a),mxEvent.getClientY(a)),e=b.view.translate,d=b.view.scale,f=c.x/d-e.x,g=c.y/d-e.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 m=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 h=a.dataTransfer.getData("text/html"),c=document.createElement("div");c.innerHTML=h;var k=null,e=c.getElementsByTagName("img");null!=e&&1==e.length?(h=e[0].getAttribute("src"),/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(h)||(k=!0)):(c=c.getElementsByTagName("a"),null!=c&&1==c.length&&
+(h=c[0].getAttribute("href")));var l=!0,v=mxUtils.bind(this,function(){b.setSelectionCells(this.insertTextAt(h,f,g,!0,k,null,l))});k&&h.length>this.resampleThreshold?this.confirmImageResize(function(a){l=a;v()},mxEvent.isControlDown(a)):v()}else null!=m&&/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(m)?this.loadImage(decodeURIComponent(m),mxUtils.bind(this,function(a){var c=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,c)),e/Math.max(1,a));b.setSelectionCell(b.insertVertex(null,
+null,"",f,g,c*e,a*e,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+m+";"))}),mxUtils.bind(this,function(a){b.setSelectionCells(this.insertTextAt(m,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.isSettingsEnabled=function(){return"undefined"!==typeof window.mxSettings&&(isLocalStorage||mxClient.IS_CHROMEAPP)};EditorUi.prototype.installSettings=function(){if(this.isSettingsEnabled()){ColorDialog.recentColors=mxSettings.getRecentColors();this.editor.graph.currentEdgeStyle=mxSettings.getCurrentEdgeStyle();this.editor.graph.currentVertexStyle=mxSettings.getCurrentVertexStyle();this.fireEvent(new mxEventObject("styleChanged","keys",[],"values",[],"cells",[]));this.addListener("styleChanged",
+mxUtils.bind(this,function(a,c){mxSettings.setCurrentEdgeStyle(this.editor.graph.currentEdgeStyle);mxSettings.setCurrentVertexStyle(this.editor.graph.currentVertexStyle);mxSettings.save()}));this.editor.graph.connectionHandler.setCreateTarget(mxSettings.isCreateTarget());this.fireEvent(new mxEventObject("copyConnectChanged"));this.addListener("copyConnectChanged",mxUtils.bind(this,function(a,c){mxSettings.setCreateTarget(this.editor.graph.connectionHandler.isCreateTarget());mxSettings.save()}));this.editor.graph.pageFormat=
+mxSettings.getPageFormat();this.addListener("pageFormatChanged",mxUtils.bind(this,function(a,c){mxSettings.setPageFormat(this.editor.graph.pageFormat);mxSettings.save()}));this.editor.graph.view.gridColor=mxSettings.getGridColor();this.addListener("gridColorChanged",mxUtils.bind(this,function(a,c){mxSettings.setGridColor(this.editor.graph.view.gridColor);mxSettings.save()}));if(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)this.editor.addListener("autosaveChanged",mxUtils.bind(this,function(a,c){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,c){var b=this.editor.graph;
+if(b.isSelectionEmpty())a.innerHTML="";else{var e=mxUtils.sortCells(b.model.getTopmostCells(b.getSelectionCells())),d=mxUtils.getXml(this.editor.graph.encodeCells(e));mxUtils.setTextContent(a,encodeURIComponent(d));c?(b.removeCells(e,!1),b.lastPasteXml=null):(b.lastPasteXml=d,b.pasteCounter=0);a.focus();document.execCommand("selectAll",!1,null)}};EditorUi.prototype.pasteCells=function(a,c){if(!mxEvent.isConsumed(a)){var b=c.getElementsByTagName("span");if(null!=b&&0<b.length&&"application/vnd.lucid.chart.objects"===
+b[0].getAttribute("data-lucid-type")){var e=b[0].getAttribute("data-lucid-content");null!=e&&0<e.length&&(this.importLucidChart(e,0,0),mxEvent.consume(a))}else{var e=this.editor.graph,d=mxUtils.trim(mxClient.IS_QUIRKS||8==document.documentMode?mxUtils.getTextContent(c):c.textContent),f=!1;try{var g=d.lastIndexOf("%3E");0<=g&&g<d.length-3&&(d=d.substring(0,g+3))}catch(x){}try{var b=c.getElementsByTagName("span"),k=null!=b&&0<b.length?mxUtils.trim(decodeURIComponent(b[0].textContent)):decodeURIComponent(d);
+this.isCompatibleString(k)&&(f=!0,d=k)}catch(x){}e.lastPasteXml==d?e.pasteCounter++:(e.lastPasteXml=d,e.pasteCounter=0);b=e.pasteCounter*e.gridSize;if(null!=d&&0<d.length&&(f||this.isCompatibleString(d)?e.setSelectionCells(this.importXml(d,b,b)):(f=e.getInsertPoint(),e.isMouseInsertPoint()&&(b=0,e.lastPasteXml==d&&0<e.pasteCounter&&e.pasteCounter--),e.setSelectionCells(this.insertTextAt(d,f.x+b,f.y+b,!0))),!e.isSelectionEmpty())){e.scrollCellToVisible(e.getSelectionCell());null!=this.hoverIcons&&
+this.hoverIcons.update(e.view.getState(e.getSelectionCell()));try{mxEvent.consume(a)}catch(x){}}}}};EditorUi.prototype.addFileDropHandler=function(a){if(Graph.fileSupport)for(var c=null,b=0;b<a.length;b++)mxEvent.addListener(a[b],"dragleave",function(a){null!=c&&(c.parentNode.removeChild(c),c=null);a.stopPropagation();a.preventDefault()}),mxEvent.addListener(a[b],"dragover",mxUtils.bind(this,function(a){(this.editor.graph.isEnabled()||"1"!=urlParams.embed)&&null==c&&(!mxClient.IS_IE||10<document.documentMode&&
+12>document.documentMode)&&(c=this.highlightElement());a.stopPropagation();a.preventDefault()})),mxEvent.addListener(a[b],"drop",mxUtils.bind(this,function(a){null!=c&&(c.parentNode.removeChild(c),c=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 b=this.extractGraphModelFromEvent(a);if(null==b){var e=null!=a.dataTransfer?a.dataTransfer:a.clipboardData;null!=e&&(10==document.documentMode||11==document.documentMode?b=e.getData("Text"):(b=null,b=0<=mxUtils.indexOf(e.types,"text/uri-list")?a.dataTransfer.getData("text/uri-list"):0<=mxUtils.indexOf(e.types,"text/html")?e.getData("text/html"):null,null!=b&&0<b.length?(e=document.createElement("div"),e.innerHTML=b,e=e.getElementsByTagName("img"),0<e.length&&(b=e[0].getAttribute("src"))):
+0<=mxUtils.indexOf(e.types,"text/plain")&&(b=e.getData("text/plain"))),null!=b&&("data:image/png;base64,"==b.substring(0,22)?(b=this.extractGraphModelFromPng(b),null!=b&&0<b.length&&this.openLocalFile(b,null,!0)):!this.isOffline()&&this.isRemoteFileFormat(b)?(new mxXmlRequest(OPEN_URL,"format=xml&data="+encodeURIComponent(b))).send(mxUtils.bind(this,function(a){200<=a.getStatus()&&299>=a.getStatus()&&this.openLocalFile(a.getText(),null,!0)})):/^https?:\/\//.test(b)&&(null==this.getCurrentFile()?window.location.hash=
+"#U"+encodeURIComponent(b):window.openWindow((mxClient.IS_CHROMEAPP?"https://www.draw.io/":"https://"+location.host+"/")+window.location.search+"#U"+encodeURIComponent(b)))))}else this.openLocalFile(b,null,!0)}a.stopPropagation();a.preventDefault()}))};EditorUi.prototype.highlightElement=function(a){var c=0,b=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 c=a.offsetTop,b=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=c+"px";g.style.left=b+"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 c=this.editor.extractGraphModel(a.documentElement);a=[];if(null!=c){var b=new mxCodec(c.ownerDocument),d=new mxGraphModel;b.decode(c,d);c=d.getChildAt(d.getRoot(),0);for(b=0;b<d.getChildCount(c);b++)a.push(d.getChildAt(c,b))}return a};EditorUi.prototype.openFiles=function(a,c){if(this.spinner.spin(document.body,mxResources.get("loading")))for(var b=0;b<a.length;b++)mxUtils.bind(this,function(a){var b=new FileReader;b.onload=mxUtils.bind(this,function(b){var e=b.target.result,d=a.name;if(null!=
+d&&0<d.length){!this.useCanvasForExport&&/(\.png)$/i.test(d)&&(d=d.substring(0,d.length-4)+".xml");var f=mxUtils.bind(this,function(a){d=0<=d.lastIndexOf(".")?d.substring(0,d.lastIndexOf("."))+".xml":d+".xml";if("<mxlibrary"==a.substring(0,10)){null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.openLocalFile(this.emptyDiagramXml,this.defaultFilename,c);try{this.loadLibrary(new LocalLibrary(this,a,d))}catch(v){this.handleError(v,mxResources.get("errorLoadingFile"))}}else this.openLocalFile(a,
+d,c)});if(/(\.vsdx?)($|\?)/i.test(d)||/(\.vssx)($|\?)/i.test(d))this.importVisio(a,mxUtils.bind(this,function(a){this.spinner.stop();f(a)}));else if(Graph.fileSupport&&!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(e,d))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('{"state":"{\\"Properties\\":'==e.substring(0,26))/(\.json)$/i.test(d)&&(d=d.substring(0,d.length-5)+".xml"),this.openLocalFile(this.emptyDiagramXml,d,c),this.importLucidChart(e,0,0,null,mxUtils.bind(this,function(){this.editor.undoManager.clear();this.spinner.stop()}));else if("<mxlibrary"==b.target.result.substring(0,10)){this.spinner.stop();null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.openLocalFile(this.emptyDiagramXml,this.defaultFilename,c);try{this.loadLibrary(new LocalLibrary(this,
+b.target.result,a.name))}catch(m){this.handleError(m,mxResources.get("errorLoadingFile"))}}else"image/png"==a.type.substring(0,9)&&(e=this.extractGraphModelFromPng(e)),this.spinner.stop(),this.openLocalFile(e,d,c)}});b.onerror=mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a);window.openFile=null});"image"===a.type.substring(0,5)&&"image/svg"!==a.type.substring(0,9)?b.readAsDataURL(a):b.readAsText(a)})(a[b])};EditorUi.prototype.openLocalFile=function(a,c,b){var e=this.getCurrentFile(),
+d=mxUtils.bind(this,function(){window.openFile=null;if(null==c&&null!=this.getCurrentFile()&&this.isDiagramEmpty()){var e=mxUtils.parseXml(a);null!=e&&(this.editor.setGraphXml(e.documentElement),this.editor.graph.selectAll())}else this.fileLoaded(new LocalFile(this,a,c||this.defaultFilename,b))});null!=a&&0<a.length&&(null==e||!e.isModified()&&(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)?d():(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)&&null!=e&&e.isModified()?this.confirm(mxResources.get("allChangesLost"),
+null,d,mxResources.get("cancel"),mxResources.get("discardChanges")):(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(a,c),window.openWindow(this.getUrl(),null,mxUtils.bind(this,function(){this.confirm(mxResources.get("allChangesLost"),null,d,mxResources.get("cancel"),mxResources.get("discardChanges"))}))))};EditorUi.prototype.getBasenames=function(){var a={};if(null!=this.pages)for(var c=0;c<this.pages.length;c++)this.updatePageRoot(this.pages[c]),this.addBasenamesForCell(this.pages[c].root,
+a);else this.addBasenamesForCell(this.editor.graph.model.getRoot(),a);var c=[],b;for(b in a)c.push(b);return c};EditorUi.prototype.addBasenamesForCell=function(a,c){function b(a){if(null!=a){var b=a.lastIndexOf(".");0<b&&(a=a.substring(b+1,a.length));null==c[a]&&(c[a]=!0)}}var e=this.editor.graph,d=e.getCellStyle(a);b(mxStencilRegistry.getBasenameForStencil(d[mxConstants.STYLE_SHAPE]));e.model.isEdge(a)&&(b(mxMarker.getPackageForType(d[mxConstants.STYLE_STARTARROW])),b(mxMarker.getPackageForType(d[mxConstants.STYLE_ENDARROW])));
+for(var d=e.model.getChildCount(a),f=0;f<d;f++)this.addBasenamesForCell(e.model.getChildAt(a,f),c)};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.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,c,b){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!=b?b:!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,c){null!=a?a.getPublicUrl(c):c(null)};EditorUi.prototype.createLoadMessage=function(a){var c=this.editor.graph;return{event:a,
+pageVisible:c.pageVisible,translate:c.view.translate,scale:c.view.scale,page:c.view.getBackgroundPageBounds(),bounds:c.getGraphBounds()}};EditorUi.prototype.installMessageHandler=function(a){var c=null,b=!1,d=!1,f=null,g=mxUtils.bind(this,function(a,c){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){function g(a){if(null!=a&&"function"===typeof a.charAt&&"<"!=a.charAt(0))try{"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=this.editor.graph.decompress(a)))}catch(G){}return a}if(e.source==(window.opener||window.parent)){var m=e.data;if("json"==urlParams.proto){try{m=JSON.parse(m)}catch(E){m=null}if(null==
+m)return;if("dialog"==m.action){this.showError(null!=m.titleKey?mxResources.get(m.titleKey):m.title,null!=m.messageKey?mxResources.get(m.messageKey):m.message,null!=m.buttonKey?mxResources.get(m.buttonKey):m.button);null!=m.modified&&(this.editor.modified=m.modified);return}if("prompt"==m.action){this.spinner.stop();var h=new FilenameDialog(this,m.defaultValue||"",null!=m.okKey?mxResources.get(m.okKey):null,function(a){null!=a&&k.postMessage(JSON.stringify({event:"prompt",value:a,message:m}),"*")},
+null!=m.titleKey?mxResources.get(m.titleKey):m.title);this.showDialog(h.container,300,80,!0,!1);h.init();return}if("draft"==m.action){h=null;h="data:image/png;base64,"==m.xml.substring(0,22)?this.extractGraphModelFromPng(m.xml):g(m.xml);this.spinner.stop();h=new DraftDialog(this,mxResources.get("draftFound",[m.name||this.defaultFilename]),h,mxUtils.bind(this,function(){this.hideDialog();k.postMessage(JSON.stringify({event:"draft",result:"edit",message:m}),"*")}),mxUtils.bind(this,function(){this.hideDialog();
+k.postMessage(JSON.stringify({event:"draft",result:"discard",message:m}),"*")}),m.editKey?mxResources.get(m.editKey):null,m.discardKey?mxResources.get(m.discardKey):null,m.ignore?mxUtils.bind(this,function(){this.hideDialog();k.postMessage(JSON.stringify({event:"draft",result:"ignore",message:m}),"*")}):null);this.showDialog(h.container,640,480,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));try{h.init()}catch(E){k.postMessage(JSON.stringify({event:"draft",error:E.toString(),
+message:m}),"*")}return}if("template"==m.action){this.spinner.stop();var h=1==m.enableRecent,l=1==m.enableSearch,h=new NewDialog(this,!1,null!=m.callback,mxUtils.bind(this,function(c,b){c=c||this.emptyDiagramXml;null!=m.callback?k.postMessage(JSON.stringify({event:"template",xml:c,blank:c==this.emptyDiagramXml,name:b}),"*"):(a(c,e,c!=this.emptyDiagramXml),this.editor.modified||this.editor.setStatus(""))}),null,null,null,null,null,null,null,h?mxUtils.bind(this,function(a){this.recentReadyCallback=
+a;k.postMessage(JSON.stringify({event:"recentDocs"}),"*")}):null,l?mxUtils.bind(this,function(a,c){this.searchReadyCallback=c;k.postMessage(JSON.stringify({event:"searchDocs",searchStr:a}),"*")}):null,function(a,c,b){k.postMessage(JSON.stringify({event:"template",docUrl:a,info:c,name:b}),"*")});this.showDialog(h.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));h.init();return}if("searchDocsList"==m.action)this.searchReadyCallback(m.list,m.errorMsg);else if("recentDocsList"==
+m.action)this.recentReadyCallback(m.list,m.errorMsg);else{if("status"==m.action){null!=m.messageKey?this.editor.setStatus(mxUtils.htmlEntities(mxResources.get(m.messageKey))):null!=m.message&&this.editor.setStatus(mxUtils.htmlEntities(m.message));null!=m.modified&&(this.editor.modified=m.modified);return}if("spinner"==m.action){var n=null!=m.messageKey?mxResources.get(m.messageKey):m.message;null==m.show||m.show?this.spinner.spin(document.body,n):this.spinner.stop();return}if("export"==m.action){if("png"==
+m.format||"xmlpng"==m.format){if(null==m.spin&&null==m.spinKey||this.spinner.spin(document.body,null!=m.spinKey?mxResources.get(m.spinKey):m.spin)){var p=null!=m.xml?m.xml:this.getFileData(!0);this.editor.graph.setEnabled(!1);var q=this.editor.graph,w=mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();var c=this.createLoadMessage("export");c.format=m.format;c.message=m;c.data=a;c.xml=encodeURIComponent(p);k.postMessage(JSON.stringify(c),"*")}),u=mxUtils.bind(this,function(a){null==
+a&&(a=Editor.blankImage);"xmlpng"==m.format&&(a=this.writeGraphModelToPng(a,"zTXt","mxGraphModel",atob(this.editor.graph.compress(p))));q!=this.editor.graph&&q.container.parentNode.removeChild(q.container);w(a)});if(this.isExportToCanvas()){if(null!=this.pages&&this.currentPage!=this.pages[0]){var q=this.createTemporaryGraph(q.getStylesheet()),t=q.getGlobalVariable,C=this.pages[0];q.getGlobalVariable=function(a){return"page"==a?C.getName():"pagenumber"==a?1:t.apply(this,arguments)};document.body.appendChild(q.container);
+q.model.setRoot(C.root)}this.exportToCanvas(mxUtils.bind(this,function(a){u(a.toDataURL("image/png"))}),null,null,null,mxUtils.bind(this,function(){u(null)}),null,null,null,null,null,null,q)}else(new mxXmlRequest(EXPORT_URL,"format=png&embedXml="+("xmlpng"==m.format?"1":"0")+"&base64=1&xml="+encodeURIComponent(encodeURIComponent(p)))).send(mxUtils.bind(this,function(a){200<=a.getStatus()&&299>=a.getStatus()?w("data:image/png;base64,"+a.getText()):u(null)}),mxUtils.bind(this,function(){u(null)}))}}else{null!=
+m.xml&&0<m.xml.length&&this.setFileData(m.xml);n=this.createLoadMessage("export");if("html2"==m.format||"html"==m.format&&("0"!=urlParams.pages||null!=this.pages&&1<this.pages.length))h=this.getXmlFileData(),n.xml=mxUtils.getXml(h),n.data=this.getFileData(null,null,!0,null,null,null,h),n.format=m.format;else if("html"==m.format)p=this.editor.getGraphXml(),n.data=this.getHtml(p,this.editor.graph),n.xml=mxUtils.getXml(p),n.format=m.format;else{mxSvgCanvas2D.prototype.foAltText=null;h=this.editor.graph.background;
+h==mxConstants.NONE&&(h=null);n.xml=this.getFileData(!0);n.format="svg";if(m.embedImages||null==m.embedImages){if(null==m.spin&&null==m.spinKey||this.spinner.spin(document.body,null!=m.spinKey?mxResources.get(m.spinKey):m.spin))this.editor.graph.setEnabled(!1),"xmlsvg"==m.format?this.getEmbeddedSvg(n.xml,this.editor.graph,null,!0,mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();n.data=this.createSvgDataUri(a);k.postMessage(JSON.stringify(n),"*")})):this.convertImages(this.editor.graph.getSvg(h),
+mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();n.data=this.createSvgDataUri(mxUtils.getXml(a));k.postMessage(JSON.stringify(n),"*")}));return}h="xmlsvg"==m.format?this.getEmbeddedSvg(this.getFileData(!0),this.editor.graph,null,!0):mxUtils.getXml(this.editor.graph.getSvg(h));n.data=this.createSvgDataUri(h)}k.postMessage(JSON.stringify(n),"*")}return}if("load"==m.action)d=1==m.autosave,this.hideDialog(),null!=m.modified&&null==urlParams.modified&&(urlParams.modified=
+m.modified),null!=m.saveAndExit&&null==urlParams.saveAndExit&&(urlParams.saveAndExit=m.saveAndExit),null!=m.title&&null!=this.buttonContainer&&(h=document.createElement("span"),mxUtils.write(h,m.title),"atlas"==uiTheme?(this.buttonContainer.style.paddingRight="12px",this.buttonContainer.style.paddingTop="12px"):"min"!=uiTheme&&(this.buttonContainer.style.paddingRight="38px",this.buttonContainer.style.paddingTop="6px"),null!=this.embedFilenameSpan&&this.embedFilenameSpan.parentNode.removeChild(this.embedFilenameSpan),
+this.buttonContainer.appendChild(h),this.embedFilenameSpan=h),m=null!=m.xmlpng?this.extractGraphModelFromPng(m.xmlpng):null!=m.xml&&"data:image/png;base64,"==m.xml.substring(0,22)?this.extractGraphModelFromPng(m.xml):m.xml;else{k.postMessage(JSON.stringify({error:"unknownMessage",data:JSON.stringify(m)}),"*");return}}}m=g(m);b=!0;try{a(m,e)}catch(E){this.handleError(E)}b=!1;null!=urlParams.modified&&this.editor.setStatus("");var y=mxUtils.bind(this,function(){return"0"!=urlParams.pages||null!=this.pages&&
+1<this.pages.length?this.getFileData(!0):mxUtils.getXml(this.editor.getGraphXml())});f=y();d&&null==c&&(c=mxUtils.bind(this,function(a,c){var e=y();if(e!=f&&!b){var d=this.createLoadMessage("autosave");d.xml=e;e=JSON.stringify(d);(window.opener||window.parent).postMessage(e,"*")}f=e}),this.editor.graph.model.addListener(mxEvent.CHANGE,c),this.editor.graph.addListener("gridSizeChanged",c),this.editor.graph.addListener("shadowVisibleChanged",c),this.addListener("pageFormatChanged",c),this.addListener("pageScaleChanged",
+c),this.addListener("backgroundColorChanged",c),this.addListener("backgroundImageChanged",c),this.addListener("foldingEnabledChanged",c),this.addListener("mathEnabledChanged",c),this.addListener("gridEnabledChanged",c),this.addListener("guidesEnabledChanged",c),this.addListener("pageViewChanged",c));"1"!=urlParams.returnbounds&&"json"!=urlParams.proto||k.postMessage(JSON.stringify(this.createLoadMessage("load")),"*")}}));var k=window.opener||window.parent,g="json"==urlParams.proto?JSON.stringify({event:"init"}):
+urlParams.ready||"ready";k.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":"3px";a.style.paddingLeft="8px";a.style.paddingBottom="2px";var c=document.createElement("button");mxUtils.write(c,mxResources.get("save"));c.setAttribute("title",mxResources.get("save")+" ("+Editor.ctrlKey+"+S)");c.className="geBigButton";c.style.fontSize=
+"12px";c.style.padding="4px 6px 4px 6px";c.style.borderRadius="3px";mxEvent.addListener(c,"click",mxUtils.bind(this,function(){this.actions.get("save").funct()}));a.appendChild(c);"1"==urlParams.saveAndExit&&(c=document.createElement("a"),mxUtils.write(c,mxResources.get("saveAndExit")),c.setAttribute("title",mxResources.get("saveAndExit")),c.style.fontSize="12px",c.style.marginLeft="6px",c.style.padding="4px",c.style.cursor="pointer",mxEvent.addListener(c,"click",mxUtils.bind(this,function(){this.actions.get("saveAndExit").funct()})),
+a.appendChild(c));c=document.createElement("a");mxUtils.write(c,mxResources.get("exit"));c.setAttribute("title",mxResources.get("exit"));c.style.fontSize="12px";c.style.marginLeft="6px";c.style.marginRight="20px";c.style.padding="4px";c.style.cursor="pointer";mxEvent.addListener(c,"click",mxUtils.bind(this,function(){this.actions.get("exit").funct()}));a.appendChild(c);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.showDialog(this.importCsvDialog.container,640,520,!0,!0);this.importCsvDialog.init()};EditorUi.prototype.importCsv=function(a,c){try{var b=a.split("\n"),e=[];if(0<b.length){var d={},f=null,g=null,k="",l="auto",m="auto",v=null,n=null,p=40,z=40,J=0,A=this.editor.graph;
+A.getGraphBounds();for(var B=function(){null!=c?c(aa):(A.setSelectionCells(aa),A.scrollCellToVisible(A.getSelectionCell()))},I=A.getFreeInsertPoint(),C=I.x,L=I.y,I=L,E=null,G="auto",M=[],X=null,Z=null,N=0;N<b.length&&"#"==b[N].charAt(0);){a=b[N];for(N++;N<b.length&&"\\"==a.charAt(a.length-1)&&"#"==b[N].charAt(0);)a=a.substring(0,a.length-1)+mxUtils.trim(b[N].substring(1)),N++;if("#"!=a.charAt(1)){var S=a.indexOf(":");if(0<S){var O=mxUtils.trim(a.substring(1,S)),H=mxUtils.trim(a.substring(S+1));"label"==
+O?E=A.sanitizeHtml(H):"style"==O?f=H:"identity"==O&&0<H.length&&"-"!=H?g=H:"namespace"==O&&0<H.length&&"-"!=H?k=H:"width"==O?l=H:"height"==O?m=H:"left"==O&&0<H.length?v=H:"top"==O&&0<H.length?n=H:"ignore"==O?Z=H.split(","):"connect"==O?M.push(JSON.parse(H)):"link"==O?X=H:"padding"==O?J=parseFloat(H):"edgespacing"==O?p=parseFloat(H):"nodespacing"==O?z=parseFloat(H):"layout"==O&&(G=H)}}}var W=this.editor.csvToArray(b[N]),S=null;if(null!=g)for(var R=0;R<W.length;R++)if(g==W[R]){S=R;break}null==E&&(E=
+"%"+W[0]+"%");if(null!=M)for(var T=0;T<M.length;T++)null==d[M[T].to]&&(d[M[T].to]={});A.model.beginUpdate();try{for(R=N+1;R<b.length;R++){var V=this.editor.csvToArray(b[R]);if(V.length==W.length){var K=null,Q=null!=S?k+V[S]:null;null!=Q&&(K=A.model.getCell(Q));null==K&&(K=new mxCell(E,new mxGeometry(C,I,0,0),f||"whiteSpace=wrap;html=1;"),K.vertex=!0,K.id=Q);for(var P=0;P<V.length;P++)A.setAttributeForCell(K,W[P],V[P]);A.setAttributeForCell(K,"placeholders","1");K.style=A.replacePlaceholders(K,K.style);
+for(T=0;T<M.length;T++)d[M[T].to][K.getAttribute(M[T].to)]=K;null!=X&&"link"!=X&&(A.setLinkForCell(K,K.getAttribute(X)),A.setAttributeForCell(K,X,null));A.fireEvent(new mxEventObject("cellsInserted","cells",[K]));var ba=this.editor.graph.getPreferredSizeForCell(K);K.vertex&&(null!=v&&null!=K.getAttribute(v)&&(K.geometry.x=C+parseFloat(K.getAttribute(v))),null!=n&&null!=K.getAttribute(n)&&(K.geometry.y=L+parseFloat(K.getAttribute(n))),"@"==l.charAt(0)&&null!=K.getAttribute(l.substring(1))?K.geometry.width=
+parseFloat(K.getAttribute(l.substring(1))):K.geometry.width="auto"==l?ba.width+J:parseFloat(l),"@"==m.charAt(0)&&null!=K.getAttribute(m.substring(1))?K.geometry.height=parseFloat(K.getAttribute(m.substring(1))):K.geometry.height="auto"==m?ba.height+J:parseFloat(m),I+=K.geometry.height+z);e.push(A.addCell(K))}}for(var U=e.slice(),aa=e.slice(),T=0;T<M.length;T++)for(var Y=M[T],R=0;R<e.length;R++){var K=e[R],ia=K.getAttribute(Y.from);if(null!=ia){A.setAttributeForCell(K,Y.from,null);for(var ja=ia.split(","),
+P=0;P<ja.length;P++){var ca=d[Y.to][ja[P]];null!=ca&&(E=Y.label,null!=Y.fromlabel&&(E=(K.getAttribute(Y.fromlabel)||"")+(E||"")),null!=Y.tolabel&&(E=(E||"")+(ca.getAttribute(Y.tolabel)||"")),aa.push(A.insertEdge(null,null,E||"",Y.invert?ca:K,Y.invert?K:ca,Y.style||A.createCurrentEdgeStyle())),mxUtils.remove(Y.invert?K:ca,U))}}}if(null!=Z)for(R=0;R<e.length;R++)for(K=e[R],P=0;P<Z.length;P++)A.setAttributeForCell(K,mxUtils.trim(Z[P]),null);var fa=new mxParallelEdgeLayout(A);fa.spacing=p;var ka=function(){fa.execute(A.getDefaultParent());
+for(var a=0;a<e.length;a++){var c=A.getCellGeometry(e[a]);c.x=Math.round(A.snap(c.x));c.y=Math.round(A.snap(c.y));"auto"==l&&(c.width=Math.round(A.snap(c.width)));"auto"==m&&(c.height=Math.round(A.snap(c.height)))}};if("circle"==G){var da=new mxCircleLayout(A);da.resetEdges=!1;var la=da.isVertexIgnored;da.isVertexIgnored=function(a){return la.apply(this,arguments)||0>mxUtils.indexOf(e,a)};this.executeLayout(function(){da.execute(A.getDefaultParent());ka()},!0,B);B=null}else if("horizontaltree"==G||
+"verticaltree"==G||"auto"==G&&aa.length==2*e.length-1&&1==U.length){A.view.validate();var ga=new mxCompactTreeLayout(A,"horizontaltree"==G);ga.levelDistance=z;ga.edgeRouting=!1;ga.resetEdges=!1;this.executeLayout(function(){ga.execute(A.getDefaultParent(),0<U.length?U[0]:null)},!0,B);B=null}else if("horizontalflow"==G||"verticalflow"==G||"auto"==G&&1==U.length){A.view.validate();var ha=new mxHierarchicalLayout(A,"horizontalflow"==G?mxConstants.DIRECTION_WEST:mxConstants.DIRECTION_NORTH);ha.intraCellSpacing=
+z;ha.disableEdgeStyle=!1;this.executeLayout(function(){ha.execute(A.getDefaultParent(),aa);A.moveCells(aa,C,L)},!0,B);B=null}else if("organic"==G||"auto"==G&&aa.length>e.length){A.view.validate();var ea=new mxFastOrganicLayout(A);ea.forceConstant=3*z;ea.resetEdges=!1;var na=ea.isVertexIgnored;ea.isVertexIgnored=function(a){return na.apply(this,arguments)||0>mxUtils.indexOf(e,a)};fa=new mxParallelEdgeLayout(A);fa.spacing=p;this.executeLayout(function(){ea.execute(A.getDefaultParent());ka()},!0,B);
+B=null}this.hideDialog()}finally{A.model.endUpdate()}null!=B&&B()}}catch(ma){this.handleError(ma)}};EditorUi.prototype.getSearch=function(a){var c="";if("1"!=urlParams.offline&&"1"!=urlParams.demo&&null!=a&&0<window.location.search.length){var b="?",d;for(d in urlParams)0>mxUtils.indexOf(a,d)&&null!=urlParams[d]&&(c+=b+d+"="+urlParams[d],b="&")}else c=window.location.search;return c};EditorUi.prototype.getUrl=function(a){a=null!=a?a:window.location.pathname;var c=0<a.indexOf("?")?1:0;if("1"==urlParams.offline)a+=
+window.location.search;else{var b="tmp libs clibs state fileId code share notitle data url embed client create title splash".split(" "),d;for(d in urlParams)0>mxUtils.indexOf(b,d)&&(a=0==c?a+"?":a+"&",null!=urlParams[d]&&(a+=d+"="+urlParams[d],c++))}return a};EditorUi.prototype.showLinkDialog=function(a,c,b){a=new LinkDialog(this,a,c,b,!0);this.showDialog(a.container,440,130,!0,!0);a.init()};var l=EditorUi.prototype.createOutline;EditorUi.prototype.createOutline=function(a){var c=l.apply(this,arguments),
+b=this.editor.graph,d=c.getSourceGraphBounds;c.getSourceGraphBounds=function(){if(mxUtils.hasScrollbars(b.container)&&b.pageVisible&&null!=this.source.minimumGraphSize){var a=this.source.getPagePadding(),c=this.source.view.scale;return new mxRectangle(0,0,Math.ceil(this.source.minimumGraphSize.width-2*a.x/c),Math.ceil(this.source.minimumGraphSize.height-2*a.y/c))}return d.apply(this,arguments)};var f=c.getSourceContainerSize;c.getSourceContainerSize=function(){if(mxUtils.hasScrollbars(b.container)&&
+null!=this.source.minimumGraphSize){var a=this.source.getPagePadding(),c=this.source.view.scale;return new mxRectangle(0,0,Math.ceil(this.source.minimumGraphSize.width*c-2*a.x),Math.ceil(this.source.minimumGraphSize.height*c-2*a.y))}return f.apply(this,arguments)};c.getOutlineOffset=function(a){if(mxUtils.hasScrollbars(b.container)&&null!=this.source.minimumGraphSize){var d=this.source.getPagePadding();return new mxPoint(Math.round(Math.max(0,(c.outline.container.clientWidth/a-(this.source.minimumGraphSize.width-
+2*d.x))/2)-d.x),Math.round(Math.max(0,(c.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=c.init;c.init=function(){g.apply(this,arguments);c.outline.view.getBackgroundPageBounds=function(){var a=b.getPageLayout(),c=b.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)};c.outline.view.validateBackgroundPage()};
+this.editor.addListener("pageSelected",function(a,b){var d=b.getProperty("change"),e=c.source,f=c.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);c.outline.view.clear(d.previousPage.root,
+!0);c.outline.view.validate()});return c};EditorUi.prototype.getServiceCount=function(a,c){var b=0;null==this.drive&&"function"!==typeof window.DriveClient||b++;c||null==this.dropbox&&"function"!==typeof window.DropboxClient||b++;null==this.oneDrive&&"function"!==typeof window.OneDriveClient||b++;c||null==this.gitHub||b++;c||null==this.trello&&"function"!==typeof window.TrelloClient||b++;a&&isLocalStorage&&("1"==urlParams.browser||mxClient.IS_IOS)&&b++;mxClient.IS_IOS||b++;return b};EditorUi.prototype.updateUi=
+function(){this.updateButtonContainer();this.updateActionStates();var a=this.getCurrentFile(),c=null!=a||"1"==urlParams.embed&&this.editor.graph.isEnabled();this.menus.get("viewPanels").setEnabled(c);this.menus.get("viewZoom").setEnabled(c);var b=("1"!=urlParams.embed||!this.editor.graph.isEnabled())&&(null==a||a.isRestricted());this.actions.get("makeCopy").setEnabled(!b);this.actions.get("print").setEnabled(!b);this.menus.get("exportAs").setEnabled(!b);this.menus.get("embed").setEnabled(!b);b="1"!=
+urlParams.embed||this.editor.graph.isEnabled();this.menus.get("extras").setEnabled(b);Editor.enableCustomLibraries&&(this.menus.get("openLibraryFrom").setEnabled(b),this.menus.get("newLibrary").setEnabled(b));a="1"==urlParams.embed&&this.editor.graph.isEnabled()||null!=a&&a.isEditable();this.actions.get("image").setEnabled(c);this.actions.get("zoomIn").setEnabled(c);this.actions.get("zoomOut").setEnabled(c);this.actions.get("resetView").setEnabled(c);this.menus.get("edit").setEnabled(c);this.menus.get("view").setEnabled(c);
+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 d=applicationCache;if(null!=d&&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 d=window.applicationCache,f=null,c=mxUtils.bind(this,function(){var a=d.status,c;a==d.CHECKING&&(a=d.DOWNLOADING);switch(a){case d.UNCACHED:c="";break;case d.IDLE:c="min"==uiTheme?"":'<img title="draw.io is up to date." border="0" src="'+IMAGE_PATH+'/checkmark.gif"/>';break;case d.DOWNLOADING:c='<img title="Downloading new version..." border="0" src="'+IMAGE_PATH+'/spin.gif"/>';break;case d.UPDATEREADY:c='<img title="'+mxUtils.htmlEntities(mxResources.get("restartForChangeRequired"))+'" border="0" src="'+
+IMAGE_PATH+'/download.png"/>';break;case d.OBSOLETE:c='<img title="Obsolete" border="0" src="'+IMAGE_PATH+'/clear.gif"/>';break;default:c='<img title="Unknown" border="0" src="'+IMAGE_PATH+'/clear.gif"/>'}a!=f&&(this.offlineStatus.innerHTML=c,f=a)});mxEvent.addListener(d,"checking",c);mxEvent.addListener(d,"noupdate",c);mxEvent.addListener(d,"downloading",c);mxEvent.addListener(d,"progress",c);mxEvent.addListener(d,"cached",c);mxEvent.addListener(d,"updateready",c);mxEvent.addListener(d,"obsolete",
+c);mxEvent.addListener(d,"error",c);c()}}else this.updateUserElement()};EditorUi.prototype.updateButtonContainer=function(){};EditorUi.prototype.updateUserElement=function(){};EditorUi.prototype.isDiagramActive=function(){var a=this.getCurrentFile();return null!=a&&a.isEditable()||"1"==urlParams.embed&&this.editor.graph.isEnabled()};var n=EditorUi.prototype.updateActionStates;EditorUi.prototype.updateActionStates=function(){n.apply(this,arguments);var a=this.editor.graph,c=this.isDiagramActive(),
+b=this.getCurrentFile(),d=null!=b||"1"==urlParams.embed;this.actions.get("pageSetup").setEnabled(c);this.actions.get("autosave").setEnabled(null!=b&&b.isEditable()&&b.isAutosaveOptional());this.actions.get("guides").setEnabled(c);this.actions.get("editData").setEnabled(c);this.actions.get("shadowVisible").setEnabled(c);this.actions.get("connectionArrows").setEnabled(c);this.actions.get("connectionPoints").setEnabled(c);this.actions.get("copyStyle").setEnabled(c&&!a.isSelectionEmpty());this.actions.get("pasteStyle").setEnabled(c&&
+!a.isSelectionEmpty());this.actions.get("editGeometry").setEnabled(a.getModel().isVertex(a.getSelectionCell()));this.actions.get("createShape").setEnabled(c);this.actions.get("createRevision").setEnabled(c);this.actions.get("moveToFolder").setEnabled(null!=b);this.actions.get("makeCopy").setEnabled(null!=b&&!b.isRestricted());this.actions.get("editDiagram").setEnabled(c&&(null==b||!b.isRestricted()));this.actions.get("publishLink").setEnabled(null!=b&&!b.isRestricted());this.actions.get("tags").setEnabled(c&&
+(null==b||!b.isRestricted()));this.actions.get("find").setEnabled(d);this.actions.get("layers").setEnabled(d);this.actions.get("outline").setEnabled(d);this.actions.get("rename").setEnabled(null!=b&&b.isRenamable()||"1"==urlParams.embed);this.actions.get("close").setEnabled(null!=b);this.menus.get("publish").setEnabled(null!=b&&!b.isRestricted());a=a.view.getState(a.getSelectionCell());this.actions.get("editShape").setEnabled(c&&null!=a&&null!=a.shape&&null!=a.shape.stencil)};var p=EditorUi.prototype.destroy;
+EditorUi.prototype.destroy=function(){null!=this.exportDialog&&(this.exportDialog.parentNode.removeChild(this.exportDialog),this.exportDialog=null);p.apply(this,arguments)};null!=window.ExportDialog&&(ExportDialog.showXmlOption=!1,ExportDialog.showGifOption=!1,ExportDialog.exportFile=function(a,c,b,d,f,g){var e=a.editor.graph;if("xml"==b)a.hideDialog(),a.saveData(c,"xml",mxUtils.getXml(a.editor.getGraphXml()),"text/xml");else if("svg"==b)a.hideDialog(),a.saveData(c,"svg",mxUtils.getXml(e.getSvg(d,
+f,g)),"image/svg+xml");else{var h=a.getFileData(!0,null,null,null,null,!0),k=e.getGraphBounds(),m=Math.floor(k.width*f/e.view.scale),l=Math.floor(k.height*f/e.view.scale);h.length<=MAX_REQUEST_SIZE&&m*l<MAX_AREA?(a.hideDialog(),a.saveRequest(c,b,function(a,c){return new mxXmlRequest(EXPORT_URL,"format="+b+"&base64="+(c||"0")+(null!=a?"&filename="+encodeURIComponent(a):"")+"&bg="+(null!=d?d:"none")+"&w="+m+"&h="+l+"&border="+g+"&xml="+encodeURIComponent(h))})):mxUtils.alert(mxResources.get("drawingTooLarge"))}})})();var mxSettings={currentVersion:16,defaultFormatWidth:600>screen.width?"0":"240",key:".drawio-config",getLanguage:function(){return mxSettings.settings.language},setLanguage:function(b){mxSettings.settings.language=b},getUi:function(){return mxSettings.settings.ui},setUi:function(b){mxSettings.settings.ui=b},getShowStartScreen:function(){return mxSettings.settings.showStartScreen},setShowStartScreen:function(b){mxSettings.settings.showStartScreen=b},getGridColor:function(){return mxSettings.settings.gridColor},
setGridColor:function(b){mxSettings.settings.gridColor=b},getAutosave:function(){return mxSettings.settings.autosave},setAutosave:function(b){mxSettings.settings.autosave=b},getResizeImages:function(){return mxSettings.settings.resizeImages},setResizeImages:function(b){mxSettings.settings.resizeImages=b},getOpenCounter:function(){return mxSettings.settings.openCounter},setOpenCounter:function(b){mxSettings.settings.openCounter=b},getLibraries:function(){return mxSettings.settings.libraries},setLibraries:function(b){mxSettings.settings.libraries=
b},addCustomLibrary:function(b){mxSettings.load();0>mxUtils.indexOf(mxSettings.settings.customLibraries,b)&&("L.scratchpad"===b?mxSettings.settings.customLibraries.splice(0,0,b):mxSettings.settings.customLibraries.push(b));mxSettings.save()},removeCustomLibrary:function(b){mxSettings.load();mxUtils.remove(b,mxSettings.settings.customLibraries);mxSettings.save()},getCustomLibraries:function(){return mxSettings.settings.customLibraries},getPlugins:function(){return mxSettings.settings.plugins},setPlugins:function(b){mxSettings.settings.plugins=
b},getRecentColors:function(){return mxSettings.settings.recentColors},setRecentColors:function(b){mxSettings.settings.recentColors=b},getFormatWidth:function(){return parseInt(mxSettings.settings.formatWidth)},setFormatWidth:function(b){mxSettings.settings.formatWidth=b},getCurrentEdgeStyle:function(){return mxSettings.settings.currentEdgeStyle},setCurrentEdgeStyle:function(b){mxSettings.settings.currentEdgeStyle=b},getCurrentVertexStyle:function(){return mxSettings.settings.currentVertexStyle},
@@ -7401,27 +7401,28 @@ mxSettings.settings.version=mxSettings.currentVersion,localStorage.setItem(mxSet
mxSettings.settings.recentColors&&(mxSettings.settings.recentColors=[]),null==mxSettings.settings.libraries&&(mxSettings.settings.libraries=Sidebar.prototype.defaultEntries),null==mxSettings.settings.customLibraries&&(mxSettings.settings.customLibraries=Editor.defaultCustomLibraries),null==mxSettings.settings.ui&&(mxSettings.settings.ui=""),null==mxSettings.settings.formatWidth&&(mxSettings.settings.formatWidth=mxSettings.defaultFormatWidth),null!=mxSettings.settings.lastAlert&&delete mxSettings.settings.lastAlert,
null==mxSettings.settings.currentEdgeStyle?mxSettings.settings.currentEdgeStyle=Graph.prototype.defaultEdgeStyle:10>=mxSettings.settings.version&&(mxSettings.settings.currentEdgeStyle.orthogonalLoop=1,mxSettings.settings.currentEdgeStyle.jettySize="auto"),null==mxSettings.settings.currentVertexStyle&&(mxSettings.settings.currentVertexStyle=Graph.prototype.defaultVertexStyle),null==mxSettings.settings.createTarget&&(mxSettings.settings.createTarget=!1),null==mxSettings.settings.pageFormat&&(mxSettings.settings.pageFormat=
mxGraph.prototype.pageFormat),null==mxSettings.settings.search&&(mxSettings.settings.search=!0),null==mxSettings.settings.showStartScreen&&(mxSettings.settings.showStartScreen=!0),null==mxSettings.settings.gridColor&&(mxSettings.settings.gridColor=mxGraphView.prototype.gridColor),null==mxSettings.settings.autosave&&(mxSettings.settings.autosave=!0),null!=mxSettings.settings.scratchpadSeen&&delete mxSettings.settings.scratchpadSeen))},clear:function(){isLocalStorage&&localStorage.removeItem(mxSettings.key)}};
-("undefined"==typeof mxLoadSettings||mxLoadSettings)&&mxSettings.load();App=function(b,e,d){EditorUi.call(this,b,e,null!=d?d:"1"==urlParams.lightbox||"min"==uiTheme);mxClient.IS_SVG?mxGraph.prototype.warningImage.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAE7SURBVHjaYvz//z8DJQAggBjwGXDuHMP/tWuD/uPTCxBAOA0AaQRK/f/+XeJ/cbHlf1wGAAQQTgPu3QNLgfHSpZo4DQAIIKwGwGyH4e/fFbG6AiQJEEAs2Ew2NFzH8OOHBMO6dT/A/KCg7wxGRh+wuhQggDBcALMdFIAcHBxgDGJjcwVIIUAAYbhAUXEdVos4OO4DXcGBIQ4QQCguQPY7sgtgAYruCpAgQACx4LJdU1OCwctLEcyWlLwPJF+AXQE0EMUBAAEEdwF6yMOiD4RRY0QT7gqQAEAAseDzu6XldYYPH9DD4joQa8L5AAEENgWb7SBcXa0JDQMBrK4AcQACiAlfyOMCEFdAnAYQQEz4FLa0XGf4/v0H0IIPONUABBAjyBmMjIwMS5cK/L927QORbtBkaG29DtYLEGAAH6f7oq3Zc+kAAAAASUVORK5CYII=":
-(new Image).src=mxGraph.prototype.warningImage.src;window.openWindow=mxUtils.bind(this,function(c,b,d){var e=null;try{e=window.open(c)}catch(p){}null==e||void 0===e?this.showDialog((new PopupDialog(this,c,b,d)).container,320,140,!0,!0):null!=b&&b()});this.updateDocumentTitle();this.updateUi();window.showOpenAlert=mxUtils.bind(this,function(c){null!=window.openFile&&window.openFile.cancel(!0);this.handleError(c)});this.editor.chromeless&&!this.editor.editable||this.addFileDropHandler([document]);if(null!=
+("undefined"==typeof mxLoadSettings||mxLoadSettings)&&mxSettings.load();App=function(b,d,f){EditorUi.call(this,b,d,null!=f?f:"1"==urlParams.lightbox||"min"==uiTheme);mxClient.IS_SVG?mxGraph.prototype.warningImage.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAE7SURBVHjaYvz//z8DJQAggBjwGXDuHMP/tWuD/uPTCxBAOA0AaQRK/f/+XeJ/cbHlf1wGAAQQTgPu3QNLgfHSpZo4DQAIIKwGwGyH4e/fFbG6AiQJEEAs2Ew2NFzH8OOHBMO6dT/A/KCg7wxGRh+wuhQggDBcALMdFIAcHBxgDGJjcwVIIUAAYbhAUXEdVos4OO4DXcGBIQ4QQCguQPY7sgtgAYruCpAgQACx4LJdU1OCwctLEcyWlLwPJF+AXQE0EMUBAAEEdwF6yMOiD4RRY0QT7gqQAEAAseDzu6XldYYPH9DD4joQa8L5AAEENgWb7SBcXa0JDQMBrK4AcQACiAlfyOMCEFdAnAYQQEz4FLa0XGf4/v0H0IIPONUABBAjyBmMjIwMS5cK/L927QORbtBkaG29DtYLEGAAH6f7oq3Zc+kAAAAASUVORK5CYII=":
+(new Image).src=mxGraph.prototype.warningImage.src;window.openWindow=mxUtils.bind(this,function(c,b,d){var f=null;try{f=window.open(c)}catch(n){}null==f||void 0===f?this.showDialog((new PopupDialog(this,c,b,d)).container,320,140,!0,!0):null!=b&&b()});this.updateDocumentTitle();this.updateUi();window.showOpenAlert=mxUtils.bind(this,function(c){null!=window.openFile&&window.openFile.cancel(!0);this.handleError(c)});this.editor.chromeless&&!this.editor.editable||this.addFileDropHandler([document]);if(null!=
App.DrawPlugins){for(b=0;b<App.DrawPlugins.length;b++)try{App.DrawPlugins[b](this)}catch(c){null!=window.console&&console.log("Plugin Error:",c,App.DrawPlugins[b])}window.Draw.loadPlugin=mxUtils.bind(this,function(c){c(this)})}this.load()};App.ERROR_TIMEOUT="timeout";App.ERROR_BUSY="busy";App.ERROR_UNKNOWN="unknown";App.MODE_GOOGLE="google";App.MODE_DROPBOX="dropbox";App.MODE_ONEDRIVE="onedrive";App.MODE_GITHUB="github";App.MODE_DEVICE="device";App.MODE_BROWSER="browser";App.MODE_TRELLO="trello";
App.DROPBOX_APPKEY="libwls2fa9szdji";App.DROPBOX_URL="js/dropbox/Dropbox-sdk.min.js";App.DROPINS_URL="https://www.dropbox.com/static/api/2/dropins.js";App.ONEDRIVE_URL="https://js.live.net/v7.2/OneDrive.js";App.TRELLO_URL="https://api.trello.com/1/client.js";App.TRELLO_JQUERY_URL="https://code.jquery.com/jquery-1.7.1.min.js";App.FOOTER_PLUGIN_URL="https://www.jgraph.com/drawio-footer.js";
App.pluginRegistry={"4xAKTrabTpTzahoLthkwPNUn":"/plugins/explore.js",ex:"/plugins/explore.js",p1:"/plugins/p1.js",ac:"/plugins/connect.js",acj:"/plugins/connectJira.js",ac148:"/plugins/cConf-1-4-8.js",voice:"/plugins/voice.js",tips:"/plugins/tooltips.js",svgdata:"/plugins/svgdata.js",doors:"/plugins/doors.js",electron:"plugins/electron.js",number:"/plugins/number.js",sql:"/plugins/sql.js",props:"/plugins/props.js",text:"/plugins/text.js",anim:"/plugins/animation.js",update:"/plugins/update.js",trees:"/plugins/trees/trees.js",
"import":"/plugins/import.js",replay:"/plugins/replay.js",anon:"/plugins/anonymize.js",tr:"/plugins/trello.js",f5:"/plugins/rackF5.js"};
-App.getStoredMode=function(){var b=null;null==b&&isLocalStorage&&(b=localStorage.getItem(".mode"));if(null==b&&"undefined"!=typeof Storage){for(var e=document.cookie.split(";"),d=0;d<e.length;d++){var c=mxUtils.trim(e[d]);if("MODE="==c.substring(0,5)){b=c.substring(5);break}}null!=b&&isLocalStorage&&(e=new Date,e.setYear(e.getFullYear()-1),document.cookie="MODE=; expires="+e.toUTCString(),localStorage.setItem(".mode",b))}return b};
+App.getStoredMode=function(){var b=null;null==b&&isLocalStorage&&(b=localStorage.getItem(".mode"));if(null==b&&"undefined"!=typeof Storage){for(var d=document.cookie.split(";"),f=0;f<d.length;f++){var c=mxUtils.trim(d[f]);if("MODE="==c.substring(0,5)){b=c.substring(5);break}}null!=b&&isLocalStorage&&(d=new Date,d.setYear(d.getFullYear()-1),document.cookie="MODE=; expires="+d.toUTCString(),localStorage.setItem(".mode",b))}return b};
(function(){mxClient.IS_CHROMEAPP||("1"!=urlParams.offline&&("db.draw.io"==window.location.hostname&&null==urlParams.mode&&(urlParams.mode="dropbox"),App.mode=urlParams.mode,null==App.mode&&(App.mode=App.getStoredMode())),null!=window.mxscript&&("1"!=urlParams.embed&&("function"===typeof window.DriveClient&&("0"!=urlParams.gapi&&isSvgBrowser&&(null==document.documentMode||10<=document.documentMode)?App.mode==App.MODE_GOOGLE||null!=urlParams.state&&""==window.location.hash||null!=window.location.hash&&
"#G"==window.location.hash.substring(0,2)?mxscript("https://apis.google.com/js/api.js"):"0"!=urlParams.chrome||null!=window.location.hash&&"#Uhttps%3A%2F%2Fdrive.google.com%2Fuc%3Fid%3D"===window.location.hash.substring(0,45)||(window.DriveClient=null):window.DriveClient=null),"function"===typeof window.DropboxClient&&("0"!=urlParams.db&&isSvgBrowser&&(null==document.documentMode||9<document.documentMode)?App.mode==App.MODE_DROPBOX||null!=window.location.hash&&"#D"==window.location.hash.substring(0,
2)?(mxscript(App.DROPBOX_URL),mxscript(App.DROPINS_URL,null,"dropboxjs",App.DROPBOX_APPKEY)):"0"==urlParams.chrome&&(window.DropboxClient=null):window.DropboxClient=null),"function"===typeof window.OneDriveClient&&("0"!=urlParams.od&&(0>navigator.userAgent.indexOf("MSIE")||10<=document.documentMode)?App.mode==App.MODE_ONEDRIVE||null!=window.location.hash&&"#W"==window.location.hash.substring(0,2)?mxscript(App.ONEDRIVE_URL):"0"==urlParams.chrome&&(window.OneDriveClient=null):window.OneDriveClient=
null),"function"===typeof window.TrelloClient&&("0"!=urlParams.tr&&isSvgBrowser&&(null==document.documentMode||10<=document.documentMode)?App.mode==App.MODE_TRELLO||null!=window.location.hash&&"#T"==window.location.hash.substring(0,2)?(mxscript(App.TRELLO_JQUERY_URL),mxscript(App.TRELLO_URL)):"0"==urlParams.chrome&&(window.TrelloClient=null):window.TrelloClient=null)),"undefined"==typeof JSON&&mxscript("js/json/json2.min.js")))})();
-App.main=function(b,e){var d=null;EditorUi.enableLogging&&(window.onerror=function(c,a,b,e,g){try{if(c!=d&&(null==c||null==a||-1==c.indexOf("Script error")&&-1==c.indexOf("extension"))&&null!=c&&0>c.indexOf("DocumentClosedError")){d=c;var f=new Image,h=0<=c.indexOf("NetworkError")||0<=c.indexOf("SecurityError")||0<=c.indexOf("NS_ERROR_FAILURE")||0<=c.indexOf("out of memory")?"CONFIG":"SEVERE";f.src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?severity="+h+"&v="+encodeURIComponent(EditorUi.VERSION)+
-"&msg=clientError:"+encodeURIComponent(c)+":url:"+encodeURIComponent(window.location.href)+":lnum:"+encodeURIComponent(b)+(null!=e?":colno:"+encodeURIComponent(e):"")+(null!=g&&null!=g.stack?"&stack="+encodeURIComponent(g.stack):"")}}catch(w){}});if(null!=window.mxscript){if("1"==urlParams.offline||"1"==urlParams.appcache){mxscript("js/shapes.min.js");mxscript("js/stencils.min.js");mxscript("js/extensions.min.js");var c=document.createElement("iframe");c.setAttribute("width","0");c.setAttribute("height",
-"0");c.setAttribute("src","offline.html");document.body.appendChild(c)}if("0"!=urlParams.plugins&&"1"!=urlParams.offline){var c=mxSettings.getPlugins(),g=urlParams.p;App.initPluginCallback();if(null!=g){var k="";"1"==urlParams.drawdev&&(k=document.location.protocol+"//drawhost.jgraph.com/");for(var n=g.split(";"),g=0;g<n.length;g++){var p=App.pluginRegistry[n[g]];null!=p?mxscript(k+p):null!=window.console&&console.log("Unknown plugin:",n[g])}}else"0"==urlParams.chrome||EditorUi.isElectronApp||mxscript(App.FOOTER_PLUGIN_URL,
-null,null,null,mxClient.IS_SVG);if(null!=c&&0<c.length&&"0"!=urlParams.plugins){k=window.location.protocol+"//"+window.location.host;n=!0;for(g=0;g<c.length&&n;g++)"/"!=c[g].charAt(0)&&c[g].substring(0,k.length)!=k&&(n=!1);if(n||mxUtils.confirm(mxResources.replacePlaceholders("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",[c.join("\n")]).replace(/\\n/g,
-"\n")))for(g=0;g<c.length;g++)try{mxscript(c[g])}catch(q){}}}"function"===typeof window.DriveClient&&"undefined"===typeof gapi&&("1"!=urlParams.embed&&"0"!=urlParams.gapi||"1"==urlParams.embed&&"1"==urlParams.gapi)&&isSvgBrowser&&isLocalStorage&&(null==document.documentMode||10<=document.documentMode)?mxscript("https://apis.google.com/js/api.js?onload=DrawGapiClientCallback",null,null,null,mxClient.IS_SVG):"undefined"===typeof window.gapi&&(window.DriveClient=null)}"0"!=urlParams.math&&Editor.initMath();
-mxResources.loadDefaultBundle=!1;c=mxResources.getDefaultBundle(RESOURCE_BASE,mxLanguage)||mxResources.getSpecialBundle(RESOURCE_BASE,mxLanguage);mxUtils.getAll("1"!=urlParams.dev?[c]:[c,"dark"==uiTheme?STYLE_PATH+"/dark-default.xml":STYLE_PATH+"/default.xml"],function(c){mxResources.parse(c[0].getText());1<c.length&&(Graph.prototype.defaultThemes[Graph.prototype.defaultThemeName]=c[1].getDocumentElement());c=null!=e?e():new App(new Editor("0"==urlParams.chrome||"min"==uiTheme,null,null,null,"0"!=
-urlParams.chrome));if(null!=window.mxscript){if("function"===typeof window.DropboxClient&&null==window.Dropbox&&null!=window.DrawDropboxClientCallback&&("1"!=urlParams.embed&&"0"!=urlParams.db||"1"==urlParams.embed&&"1"==urlParams.db)&&isSvgBrowser&&(null==document.documentMode||9<document.documentMode))mxscript(App.DROPBOX_URL,function(){mxscript(App.DROPINS_URL,function(){DrawDropboxClientCallback()},"dropboxjs",App.DROPBOX_APPKEY)});else if("undefined"===typeof window.Dropbox||"undefined"===typeof window.Dropbox.choose)window.DropboxClient=
-null;"function"===typeof window.OneDriveClient&&"undefined"===typeof OneDrive&&null!=window.DrawOneDriveClientCallback&&("1"!=urlParams.embed&&"0"!=urlParams.od||"1"==urlParams.embed&&"1"==urlParams.od)&&(0>navigator.userAgent.indexOf("MSIE")||10<=document.documentMode)?mxscript(App.ONEDRIVE_URL,window.DrawOneDriveClientCallback):"undefined"===typeof window.OneDrive&&(window.OneDriveClient=null);"function"===typeof window.TrelloClient&&"undefined"===typeof window.Trello&&null!=window.DrawTrelloClientCallback&&
-("1"!=urlParams.embed&&"0"!=urlParams.tr||"1"==urlParams.embed&&"1"==urlParams.tr)&&(0>navigator.userAgent.indexOf("MSIE")||10<=document.documentMode)?mxscript(App.TRELLO_JQUERY_URL,function(){mxscript(App.TRELLO_URL,function(){DrawTrelloClientCallback()})}):"undefined"===typeof window.Trello&&(window.TrelloClient=null)}null!=b&&b(c);"0"!=urlParams.chrome&&"1"==urlParams.test&&(mxLog.show(),mxLog.debug("Started in "+((new Date).getTime()-t0.getTime())+"ms"),mxLog.debug("Export:",EXPORT_URL),mxLog.debug("Development mode:",
-"1"==urlParams.dev?"active":"inactive"),mxLog.debug("Test mode:","1"==urlParams.test?"active":"inactive"))},function(){document.getElementById("geStatus").innerHTML='Error loading page. <a href="javascript:void(0);" onclick="location.reload();">Please try refreshing.</a>'})};mxUtils.extend(App,EditorUi);App.prototype.defaultUserPicture="https://lh3.googleusercontent.com/-HIzvXUy6QUY/AAAAAAAAAAI/AAAAAAAAAAA/giuR7PQyjEk/photo.jpg?sz=30";App.prototype.shareImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowOTgwMTE3NDA3MjA2ODExODhDNkFGMDBEQkQ0RTgwOSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxMjU2NzdEMTcwRDIxMUUxQjc0MDkxRDhCNUQzOEFGRCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxMjU2NzdEMDcwRDIxMUUxQjc0MDkxRDhCNUQzOEFGRCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowNjgwMTE3NDA3MjA2ODExODcxRkM4MUY1OTFDMjQ5OCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowNzgwMTE3NDA3MjA2ODExODhDNkFGMDBEQkQ0RTgwOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PrM/fs0AAADgSURBVHjaYmDAA/7//88MwgzkAKDGFiD+BsQ/QWxSNaf9RwN37twpI8WAS+gGfP78+RpQSoRYA36iG/D379+vQClNdLVMOMz4gi7w79+/n0CKg1gD9qELvH379hzIHGK9oA508ieY8//8+fO5rq4uFCilRKwL1JmYmNhhHEZGRiZ+fn6Q2meEbDYG4u3/cYCfP38uA7kOm0ZOIJ7zn0jw48ePPiDFhmzArv8kgi9fvuwB+w5qwH9ykjswbFSZyM4sEMDPBDTlL5BxkFSd7969OwZ2BZKYGhDzkmjOJ4AAAwBhpRqGnEFb8QAAAABJRU5ErkJggg==";
+App.main=function(b,d){function f(a){mxUtils.getAll("1"!=urlParams.dev?[a]:[a,"dark"==uiTheme?STYLE_PATH+"/dark-default.xml":STYLE_PATH+"/default.xml"],function(a){mxResources.parse(a[0].getText());1<a.length&&(Graph.prototype.defaultThemes[Graph.prototype.defaultThemeName]=a[1].getDocumentElement());a=null!=d?d():new App(new Editor("0"==urlParams.chrome||"min"==uiTheme,null,null,null,"0"!=urlParams.chrome));if(null!=window.mxscript){if("function"===typeof window.DropboxClient&&null==window.Dropbox&&
+null!=window.DrawDropboxClientCallback&&("1"!=urlParams.embed&&"0"!=urlParams.db||"1"==urlParams.embed&&"1"==urlParams.db)&&isSvgBrowser&&(null==document.documentMode||9<document.documentMode))mxscript(App.DROPBOX_URL,function(){mxscript(App.DROPINS_URL,function(){DrawDropboxClientCallback()},"dropboxjs",App.DROPBOX_APPKEY)});else if("undefined"===typeof window.Dropbox||"undefined"===typeof window.Dropbox.choose)window.DropboxClient=null;"function"===typeof window.OneDriveClient&&"undefined"===typeof OneDrive&&
+null!=window.DrawOneDriveClientCallback&&("1"!=urlParams.embed&&"0"!=urlParams.od||"1"==urlParams.embed&&"1"==urlParams.od)&&(0>navigator.userAgent.indexOf("MSIE")||10<=document.documentMode)?mxscript(App.ONEDRIVE_URL,window.DrawOneDriveClientCallback):"undefined"===typeof window.OneDrive&&(window.OneDriveClient=null);"function"===typeof window.TrelloClient&&"undefined"===typeof window.Trello&&null!=window.DrawTrelloClientCallback&&("1"!=urlParams.embed&&"0"!=urlParams.tr||"1"==urlParams.embed&&"1"==
+urlParams.tr)&&(0>navigator.userAgent.indexOf("MSIE")||10<=document.documentMode)?mxscript(App.TRELLO_JQUERY_URL,function(){mxscript(App.TRELLO_URL,function(){DrawTrelloClientCallback()})}):"undefined"===typeof window.Trello&&(window.TrelloClient=null)}null!=b&&b(a);"0"!=urlParams.chrome&&"1"==urlParams.test&&(mxLog.show(),mxLog.debug("Started in "+((new Date).getTime()-t0.getTime())+"ms"),mxLog.debug("Export:",EXPORT_URL),mxLog.debug("Development mode:","1"==urlParams.dev?"active":"inactive"),mxLog.debug("Test mode:",
+"1"==urlParams.test?"active":"inactive"))},function(a){document.getElementById("geStatus").innerHTML='Error loading page. <a href="javascript:void(0);">Please try refreshing.</a>';document.getElementById("geStatus").getElementsByTagName("a")[0].onclick=function(){mxLanguage="en";f(mxResources.getDefaultBundle(RESOURCE_BASE,mxLanguage)||mxResources.getSpecialBundle(RESOURCE_BASE,mxLanguage))}})}var c=null;EditorUi.enableLogging&&(window.onerror=function(a,b,d,f,g){try{if(a!=c&&(null==a||null==b||-1==
+a.indexOf("Script error")&&-1==a.indexOf("extension"))&&null!=a&&0>a.indexOf("DocumentClosedError")){c=a;var e=new Image,h=0<=a.indexOf("NetworkError")||0<=a.indexOf("SecurityError")||0<=a.indexOf("NS_ERROR_FAILURE")||0<=a.indexOf("out of memory")?"CONFIG":"SEVERE";e.src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?severity="+h+"&v="+encodeURIComponent(EditorUi.VERSION)+"&msg=clientError:"+encodeURIComponent(a)+":url:"+encodeURIComponent(window.location.href)+":lnum:"+encodeURIComponent(d)+
+(null!=f?":colno:"+encodeURIComponent(f):"")+(null!=g&&null!=g.stack?"&stack="+encodeURIComponent(g.stack):"")}}catch(y){}});if(null!=window.mxscript){if("1"==urlParams.offline||"1"==urlParams.appcache){mxscript("js/shapes.min.js");mxscript("js/stencils.min.js");mxscript("js/extensions.min.js");var g=document.createElement("iframe");g.setAttribute("width","0");g.setAttribute("height","0");g.setAttribute("src","offline.html");document.body.appendChild(g)}if("0"!=urlParams.plugins&&"1"!=urlParams.offline){var g=
+mxSettings.getPlugins(),k=urlParams.p;App.initPluginCallback();if(null!=k){var l="";"1"==urlParams.drawdev&&(l=document.location.protocol+"//drawhost.jgraph.com/");for(var n=k.split(";"),k=0;k<n.length;k++){var p=App.pluginRegistry[n[k]];null!=p?mxscript(l+p):null!=window.console&&console.log("Unknown plugin:",n[k])}}else"0"==urlParams.chrome||EditorUi.isElectronApp||mxscript(App.FOOTER_PLUGIN_URL,null,null,null,mxClient.IS_SVG);if(null!=g&&0<g.length&&"0"!=urlParams.plugins){l=window.location.protocol+
+"//"+window.location.host;n=!0;for(k=0;k<g.length&&n;k++)"/"!=g[k].charAt(0)&&g[k].substring(0,l.length)!=l&&(n=!1);if(n||mxUtils.confirm(mxResources.replacePlaceholders("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",[g.join("\n")]).replace(/\\n/g,"\n")))for(k=0;k<g.length;k++)try{mxscript(g[k])}catch(a){}}}"function"===typeof window.DriveClient&&
+"undefined"===typeof gapi&&("1"!=urlParams.embed&&"0"!=urlParams.gapi||"1"==urlParams.embed&&"1"==urlParams.gapi)&&isSvgBrowser&&isLocalStorage&&(null==document.documentMode||10<=document.documentMode)?mxscript("https://apis.google.com/js/api.js?onload=DrawGapiClientCallback",null,null,null,mxClient.IS_SVG):"undefined"===typeof window.gapi&&(window.DriveClient=null)}"0"!=urlParams.math&&Editor.initMath();mxResources.loadDefaultBundle=!1;f(mxResources.getDefaultBundle(RESOURCE_BASE,mxLanguage)||mxResources.getSpecialBundle(RESOURCE_BASE,
+mxLanguage))};mxUtils.extend(App,EditorUi);App.prototype.defaultUserPicture="https://lh3.googleusercontent.com/-HIzvXUy6QUY/AAAAAAAAAAI/AAAAAAAAAAA/giuR7PQyjEk/photo.jpg?sz=30";App.prototype.shareImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowOTgwMTE3NDA3MjA2ODExODhDNkFGMDBEQkQ0RTgwOSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxMjU2NzdEMTcwRDIxMUUxQjc0MDkxRDhCNUQzOEFGRCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxMjU2NzdEMDcwRDIxMUUxQjc0MDkxRDhCNUQzOEFGRCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowNjgwMTE3NDA3MjA2ODExODcxRkM4MUY1OTFDMjQ5OCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowNzgwMTE3NDA3MjA2ODExODhDNkFGMDBEQkQ0RTgwOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PrM/fs0AAADgSURBVHjaYmDAA/7//88MwgzkAKDGFiD+BsQ/QWxSNaf9RwN37twpI8WAS+gGfP78+RpQSoRYA36iG/D379+vQClNdLVMOMz4gi7w79+/n0CKg1gD9qELvH379hzIHGK9oA508ieY8//8+fO5rq4uFCilRKwL1JmYmNhhHEZGRiZ+fn6Q2meEbDYG4u3/cYCfP38uA7kOm0ZOIJ7zn0jw48ePPiDFhmzArv8kgi9fvuwB+w5qwH9ykjswbFSZyM4sEMDPBDTlL5BxkFSd7969OwZ2BZKYGhDzkmjOJ4AAAwBhpRqGnEFb8QAAAABJRU5ErkJggg==";
App.prototype.chevronUpImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDg2NEE3NUY1MUVBMTFFM0I3MUVEMTc0N0YyOUI4QzEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDg2NEE3NjA1MUVBMTFFM0I3MUVEMTc0N0YyOUI4QzEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0ODY0QTc1RDUxRUExMUUzQjcxRUQxNzQ3RjI5QjhDMSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0ODY0QTc1RTUxRUExMUUzQjcxRUQxNzQ3RjI5QjhDMSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pg+qUokAAAAMUExURQAAANnZ2b+/v////5bgre4AAAAEdFJOU////wBAKqn0AAAAL0lEQVR42mJgRgMMRAswMKAKMDDARBjg8lARBoR6KImkH0wTbygT6YaS4DmAAAMAYPkClOEDDD0AAAAASUVORK5CYII=":
IMAGE_PATH+"/chevron-up.png";
App.prototype.chevronDownImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDg2NEE3NUI1MUVBMTFFM0I3MUVEMTc0N0YyOUI4QzEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDg2NEE3NUM1MUVBMTFFM0I3MUVEMTc0N0YyOUI4QzEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0ODY0QTc1OTUxRUExMUUzQjcxRUQxNzQ3RjI5QjhDMSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0ODY0QTc1QTUxRUExMUUzQjcxRUQxNzQ3RjI5QjhDMSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsCtve8AAAAMUExURQAAANnZ2b+/v////5bgre4AAAAEdFJOU////wBAKqn0AAAALUlEQVR42mJgRgMMRAkwQEXBNAOcBSPhclB1cNVwfcxI+vEZykSpoSR6DiDAAF23ApT99bZ+AAAAAElFTkSuQmCC":IMAGE_PATH+
@@ -7431,118 +7432,117 @@ App.prototype.formatShowImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgo
App.prototype.formatHideImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODdCREY5REI1NkQ3MTFFNTkyNjNEMTA5NjgwODUyRTgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODdCREY5REM1NkQ3MTFFNTkyNjNEMTA5NjgwODUyRTgiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4N0JERjlEOTU2RDcxMUU1OTI2M0QxMDk2ODA4NTJFOCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo4N0JERjlEQTU2RDcxMUU1OTI2M0QxMDk2ODA4NTJFOCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PqjT9SMAAAAGUExURQAAAP///6XZn90AAAACdFJOU/8A5bcwSgAAAB9JREFUeNpiYEQDDEQJMMABTAAmNdAC6A4j0XMAAQYAcbwA1Xvj1CgAAAAASUVORK5CYII=":IMAGE_PATH+
"/format-hide.png";App.prototype.fullscreenImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAABlBMVEUAAAAAAAClZ7nPAAAAAXRSTlMAQObYZgAAABpJREFUCNdjgAAbGxAy4AEh5gNwBBGByoIBAIueBd12TUjqAAAAAElFTkSuQmCC":IMAGE_PATH+"/fullscreen.png";App.prototype.timeout=25E3;"1"!=urlParams.embed?App.prototype.menubarHeight=60:App.prototype.footerHeight=0;App.initPluginCallback=function(){null==App.DrawPlugins&&(App.DrawPlugins=[],window.Draw={},window.Draw.loadPlugin=function(b){App.DrawPlugins.push(b)})};
App.prototype.init=function(){EditorUi.prototype.init.apply(this,arguments);this.defaultLibraryName=mxResources.get("untitledLibrary");this.descriptorChangedListener=mxUtils.bind(this,this.descriptorChanged);this.gitHub=mxClient.IS_IE&&10!=document.documentMode&&!mxClient.IS_IE11&&!mxClient.IS_EDGE||"0"==urlParams.gh||"1"==urlParams.embed&&"1"!=urlParams.gh?null:new GitHubClient(this);null!=this.gitHub&&this.gitHub.addListener("userChanged",mxUtils.bind(this,function(){this.updateUserElement();this.restoreLibraries()}));
-if("1"!=urlParams.embed||"1"==urlParams.od){var b=mxUtils.bind(this,function(){"undefined"!==typeof OneDrive?(this.oneDrive=new OneDriveClient(this),this.oneDrive.addListener("userChanged",mxUtils.bind(this,function(){this.updateUserElement();this.restoreLibraries()})),this.fireEvent(new mxEventObject("clientLoaded","client",this.oneDrive))):null==window.DrawOneDriveClientCallback&&(window.DrawOneDriveClientCallback=b)});b()}if("1"!=urlParams.embed||"1"==urlParams.tr){var e=mxUtils.bind(this,function(){"undefined"!==
-typeof window.Trello?(this.trello=new TrelloClient(this),this.trello.addListener("userChanged",mxUtils.bind(this,function(){this.updateUserElement();this.restoreLibraries()})),this.fireEvent(new mxEventObject("clientLoaded","client",this.trello))):null==window.DrawTrelloClientCallback&&(window.DrawTrelloClientCallback=e)});e()}if("1"!=urlParams.embed||"1"==urlParams.gapi){var d=mxUtils.bind(this,function(){if("undefined"!==typeof gapi){var c=mxUtils.bind(this,function(){this.drive=new DriveClient(this);
+if("1"!=urlParams.embed||"1"==urlParams.od){var b=mxUtils.bind(this,function(){"undefined"!==typeof OneDrive?(this.oneDrive=new OneDriveClient(this),this.oneDrive.addListener("userChanged",mxUtils.bind(this,function(){this.updateUserElement();this.restoreLibraries()})),this.fireEvent(new mxEventObject("clientLoaded","client",this.oneDrive))):null==window.DrawOneDriveClientCallback&&(window.DrawOneDriveClientCallback=b)});b()}if("1"!=urlParams.embed||"1"==urlParams.tr){var d=mxUtils.bind(this,function(){"undefined"!==
+typeof window.Trello?(this.trello=new TrelloClient(this),this.trello.addListener("userChanged",mxUtils.bind(this,function(){this.updateUserElement();this.restoreLibraries()})),this.fireEvent(new mxEventObject("clientLoaded","client",this.trello))):null==window.DrawTrelloClientCallback&&(window.DrawTrelloClientCallback=d)});d()}if("1"!=urlParams.embed||"1"==urlParams.gapi){var f=mxUtils.bind(this,function(){if("undefined"!==typeof gapi){var c=mxUtils.bind(this,function(){this.drive=new DriveClient(this);
"420247213240"==this.drive.appId&&this.editor.addListener("fileLoaded",mxUtils.bind(this,function(){var c=this.getCurrentFile();null!=c&&c.constructor==DriveFile&&(c=document.getElementById("geFooterItem2"),null!=c&&(c.innerHTML='<a href="https://support.draw.io/display/DO/2014/11/27/Switching+application+in+Google+Drive" target="_blank" title="IMPORTANT NOTICE" >IMPORTANT NOTICE</a>'))}));this.drive.addListener("userChanged",mxUtils.bind(this,function(){this.updateUserElement();this.restoreLibraries();
this.checkLicense()}));this.fireEvent(new mxEventObject("clientLoaded","client",this.drive))});null!=window.DrawGapiClientCallback?(gapi.load(("0"!=urlParams.picker?"picker,":"")+"auth:client,drive-realtime,drive-share",mxUtils.bind(this,function(b){null!=gapi.drive&&null!=gapi.drive.realtime&&gapi.client.load("drive","v2",mxUtils.bind(this,function(){this.defineCustomObjects();gapi.auth.init(mxUtils.bind(this,function(){null!=gapi.client.drive&&c()}))}))})),window.DrawGapiClientCallback=null):c()}else null==
-window.DrawGapiClientCallback&&(window.DrawGapiClientCallback=d)});d()}if("1"!=urlParams.embed||"1"==urlParams.db){var c=mxUtils.bind(this,function(){"function"===typeof Dropbox&&"undefined"!==typeof Dropbox.choose?(window.DrawDropboxClientCallback=null,this.dropbox=new DropboxClient(this),this.dropbox.addListener("userChanged",mxUtils.bind(this,function(){this.updateUserElement();this.restoreLibraries()})),this.fireEvent(new mxEventObject("clientLoaded","client",this.dropbox))):null==window.DrawDropboxClientCallback&&
+window.DrawGapiClientCallback&&(window.DrawGapiClientCallback=f)});f()}if("1"!=urlParams.embed||"1"==urlParams.db){var c=mxUtils.bind(this,function(){"function"===typeof Dropbox&&"undefined"!==typeof Dropbox.choose?(window.DrawDropboxClientCallback=null,this.dropbox=new DropboxClient(this),this.dropbox.addListener("userChanged",mxUtils.bind(this,function(){this.updateUserElement();this.restoreLibraries()})),this.fireEvent(new mxEventObject("clientLoaded","client",this.dropbox))):null==window.DrawDropboxClientCallback&&
(window.DrawDropboxClientCallback=c)});c()}"1"!=urlParams.embed?(this.bg=this.createBackground(),document.body.appendChild(this.bg),this.diagramContainer.style.visibility="hidden",this.formatContainer.style.visibility="hidden",this.hsplit.style.display="none",this.sidebarContainer.style.display="none",this.sidebarFooterContainer.style.display="none","1"==urlParams.local?this.setMode(App.MODE_DEVICE):this.mode=App.mode):null!=this.menubar&&(this.menubar.container.style.paddingTop="0px");this.updateHeader();
null!=this.menubar&&(this.buttonContainer=document.createElement("div"),this.buttonContainer.style.display="inline-block",this.buttonContainer.style.paddingRight="48px",this.buttonContainer.style.position="absolute",this.buttonContainer.style.right="0px",this.menubar.container.appendChild(this.buttonContainer));"atlas"==uiTheme&&null!=this.menubar&&(null!=this.toggleElement&&(this.toggleElement.click(),this.toggleElement.style.display="none"),this.icon=document.createElement("img"),this.icon.setAttribute("src",
IMAGE_PATH+"/logo-flat-small.png"),this.icon.setAttribute("title",mxResources.get("draw.io")),this.icon.style.paddingTop="11px",this.icon.style.marginLeft="4px",this.icon.style.marginRight="6px",mxClient.IS_QUIRKS&&(this.icon.style.marginTop="12px"),this.menubar.container.insertBefore(this.icon,this.menubar.container.firstChild))};
App.prototype.isDriveDomain=function(){return"0"!=urlParams.drive&&("test.draw.io"==window.location.hostname||"cdn.draw.io"==window.location.hostname||"www.draw.io"==window.location.hostname||"drive.draw.io"==window.location.hostname||"jgraph.github.io"==window.location.hostname)};App.prototype.isLegacyDriveDomain=function(){return 0==urlParams.drive||"legacy.draw.io"==window.location.hostname};
-App.prototype.checkLicense=function(){var b=this.drive.getUser(),e=("1"==urlParams.dev?urlParams.lic:null)||(null!=b?b.email:null);if(!this.isOffline()&&!this.editor.chromeless&&null!=e){var d=e.lastIndexOf("@"),c=e;0<=d&&(c=e.substring(d+1),e=this.crc32(e.substring(0,d))+"@"+c);mxUtils.post("/license","domain="+encodeURIComponent(c)+"&email="+encodeURIComponent(e)+"&ds="+encodeURIComponent(b.displayName)+"&lc="+encodeURIComponent(b.locale)+"&ts="+(new Date).getTime(),mxUtils.bind(this,function(b){try{if(200<=
-b.getStatus()&&299>=b.getStatus()){var d=b.getText();if(0<d.length){var e=JSON.parse(d);null!=e&&this.handleLicense(e,c)}}}catch(p){}}))}};
-App.prototype.handleLicense=function(b,e){var d=document.getElementById("geFooter"),c=null;if(null!=d&&null!=b)if(c=b.expiry,null!=b.footer)d.innerHTML=decodeURIComponent(b.footer);else if(this.hideFooter(),null!=c&&"never"!=c){var g=new Date(Date.parse(c)),k=Math.round((g-Date.now())/864E5);if(90>k){var n="https://support.draw.io/display/DKB/draw.io+footer+state+that+license+is+expiring+on+Google+For+Work+account?domain="+encodeURIComponent(e);d.style.height="100%";d.style.margin="0px";d.style.display=
-"";0>k?(this.footerHeight=80,d.innerHTML='<table height="100%"><tr><td valign="middle" align="center" class="geStatusAlert geBlink"><a href="'+n+'" style="padding-top:16px;" target="_blank"><img border="0" src="'+mxGraph.prototype.warningImage.src+'" align="top" style="margin-right:6px">'+mxResources.get("licenseHasExpired",[e,g.toLocaleDateString()])+"</a></td></tr></table>"):(this.footerHeight=46,d.innerHTML='<table height="100%"><tr><td valign="middle" align="center" class="geStatusAlert"><a href="'+
-n+'" target="_blank"><img border="0" src="'+mxGraph.prototype.warningImage.src+'" align="top" style="margin-right:6px">'+mxResources.get("licenseWillExpire",[e,g.toLocaleDateString()])+"</a></td></tr></table>");this.refresh()}}return c};App.prototype.getEditBlankXml=function(){var b=this.getCurrentFile();return null!=b&&this.editor.isChromelessView()&&this.editor.graph.isLightboxView()&&null==b.realtime?b.getData():this.getFileData(!0)};
+App.prototype.checkLicense=function(){var b=this.drive.getUser(),d=("1"==urlParams.dev?urlParams.lic:null)||(null!=b?b.email:null);if(!this.isOffline()&&!this.editor.chromeless&&null!=d){var f=d.lastIndexOf("@"),c=d;0<=f&&(c=d.substring(f+1),d=this.crc32(d.substring(0,f))+"@"+c);mxUtils.post("/license","domain="+encodeURIComponent(c)+"&email="+encodeURIComponent(d)+"&ds="+encodeURIComponent(b.displayName)+"&lc="+encodeURIComponent(b.locale)+"&ts="+(new Date).getTime(),mxUtils.bind(this,function(b){try{if(200<=
+b.getStatus()&&299>=b.getStatus()){var d=b.getText();if(0<d.length){var f=JSON.parse(d);null!=f&&this.handleLicense(f,c)}}}catch(n){}}))}};
+App.prototype.handleLicense=function(b,d){var f=document.getElementById("geFooter"),c=null;if(null!=f&&null!=b)if(c=b.expiry,null!=b.footer)f.innerHTML=decodeURIComponent(b.footer);else if(this.hideFooter(),null!=c&&"never"!=c){var g=new Date(Date.parse(c)),k=Math.round((g-Date.now())/864E5);if(90>k){var l="https://support.draw.io/display/DKB/draw.io+footer+state+that+license+is+expiring+on+Google+For+Work+account?domain="+encodeURIComponent(d);f.style.height="100%";f.style.margin="0px";f.style.display=
+"";0>k?(this.footerHeight=80,f.innerHTML='<table height="100%"><tr><td valign="middle" align="center" class="geStatusAlert geBlink"><a href="'+l+'" style="padding-top:16px;" target="_blank"><img border="0" src="'+mxGraph.prototype.warningImage.src+'" align="top" style="margin-right:6px">'+mxResources.get("licenseHasExpired",[d,g.toLocaleDateString()])+"</a></td></tr></table>"):(this.footerHeight=46,f.innerHTML='<table height="100%"><tr><td valign="middle" align="center" class="geStatusAlert"><a href="'+
+l+'" target="_blank"><img border="0" src="'+mxGraph.prototype.warningImage.src+'" align="top" style="margin-right:6px">'+mxResources.get("licenseWillExpire",[d,g.toLocaleDateString()])+"</a></td></tr></table>");this.refresh()}}return c};App.prototype.getEditBlankXml=function(){var b=this.getCurrentFile();return null!=b&&this.editor.isChromelessView()&&this.editor.graph.isLightboxView()&&null==b.realtime?b.getData():this.getFileData(!0)};
App.prototype.updateActionStates=function(){EditorUi.prototype.updateActionStates.apply(this,arguments);var b=this.getCurrentFile();this.actions.get("revisionHistory").setEnabled(null!=b&&(b.constructor==DriveFile&&b.isEditable()||b.constructor==DropboxFile))};App.prototype.updateDraft=function(){isLocalStorage&&null!=localStorage&&localStorage.setItem(".draft",JSON.stringify({modified:(new Date).getTime(),data:this.getFileData()}))};App.prototype.getDraft=function(){return null};
-App.prototype.addRecent=function(b){if(isLocalStorage&&null!=localStorage){var e=this.getRecent();if(null==e)e=[];else for(var d=0;d<e.length;d++)e[d].id==b.id&&e.splice(d,1);null!=e&&(e.unshift(b),e=e.slice(0,5),localStorage.setItem(".recent",JSON.stringify(e)))}};App.prototype.getRecent=function(){if(isLocalStorage&&null!=localStorage){try{var b=localStorage.getItem(".recent");if(null!=b)return JSON.parse(b)}catch(e){}return null}};
-App.prototype.resetRecent=function(b){if(isLocalStorage&&null!=localStorage)try{localStorage.removeItem(".recent")}catch(e){}};App.prototype.removeDraft=function(){if(isLocalStorage&&null!=localStorage&&"0"==urlParams.splash)try{localStorage.removeItem(".draft")}catch(b){}};
+App.prototype.addRecent=function(b){if(isLocalStorage&&null!=localStorage){var d=this.getRecent();if(null==d)d=[];else for(var f=0;f<d.length;f++)d[f].id==b.id&&d.splice(f,1);null!=d&&(d.unshift(b),d=d.slice(0,5),localStorage.setItem(".recent",JSON.stringify(d)))}};App.prototype.getRecent=function(){if(isLocalStorage&&null!=localStorage){try{var b=localStorage.getItem(".recent");if(null!=b)return JSON.parse(b)}catch(d){}return null}};
+App.prototype.resetRecent=function(b){if(isLocalStorage&&null!=localStorage)try{localStorage.removeItem(".recent")}catch(d){}};App.prototype.removeDraft=function(){if(isLocalStorage&&null!=localStorage&&"0"==urlParams.splash)try{localStorage.removeItem(".draft")}catch(b){}};
App.prototype.onBeforeUnload=function(){if("1"==urlParams.embed&&this.editor.modified)return mxResources.get("allChangesLost");var b=this.getCurrentFile();if(null!=b)if(b.constructor!=LocalFile||""!=b.getHash()||b.isModified()||"1"==urlParams.nowarn||this.isDiagramEmpty()||null!=urlParams.url||this.editor.isChromelessView()){if((b.constructor!=DriveFile||null==b.realtime||b.realtime.saving)&&b.isModified())return mxResources.get("allChangesLost");b.close(!0)}else return mxResources.get("ensureDataSaved")};
-App.prototype.updateDocumentTitle=function(){if(!this.editor.graph.isLightboxView()){var b=this.editor.appName,e=this.getCurrentFile();this.isOfflineApp()&&(b+=" app");null!=e&&(b=(null!=e.getTitle()?e.getTitle():this.defaultFilename)+" - "+b);document.title=b}};App.prototype.createCrcTable=function(){for(var b=[],e,d=0;256>d;d++){e=d;for(var c=0;8>c;c++)e=e&1?3988292384^e>>>1:e>>>1;b[d]=e}return b};
-App.prototype.crc32=function(b){this.crcTable=this.crcTable||this.createCrcTable();for(var e=-1,d=0;d<b.length;d++)e=e>>>8^this.crcTable[(e^b.charCodeAt(d))&255];return(e^-1)>>>0};
-App.prototype.getThumbnail=function(b,e){var d=!1;try{null==this.thumbImageCache&&(this.thumbImageCache={});var c=this.editor.graph;if(null!=this.pages&&this.currentPage!=this.pages[0]){var c=this.createTemporaryGraph(c.getStylesheet()),g=c.getGlobalVariable,k=this.pages[0];c.getGlobalVariable=function(a){return"page"==a?k.getName():"pagenumber"==a?1:g.apply(this,arguments)};document.body.appendChild(c.container);c.model.setRoot(k.root)}if(mxClient.IS_CHROMEAPP||!c.mathEnabled&&this.useCanvasForExport)this.exportToCanvas(mxUtils.bind(this,
-function(a){c!=this.editor.graph&&c.container.parentNode.removeChild(c.container);e(a)}),b,this.thumbImageCache,"#ffffff",function(){e()},null,null,null,null,null,null,c),d=!0;else if(this.canvasSupported&&null!=this.getCurrentFile()){var n=document.createElement("canvas"),p=c.getGraphBounds(),q=b/p.width,q=Math.min(1,Math.min(3*b/(4*p.height),q)),a=Math.floor(p.x),f=Math.floor(p.y);n.setAttribute("width",Math.ceil(q*(p.width+4)));n.setAttribute("height",Math.ceil(q*(p.height+4)));var h=n.getContext("2d");
-h.scale(q,q);h.translate(-a,-f);var m=c.background;if(null==m||""==m||m==mxConstants.NONE)m="#ffffff";h.save();h.fillStyle=m;h.fillRect(a,f,Math.ceil(p.width+4),Math.ceil(p.height+4));h.restore();var u=new mxJsCanvas(n),t=new mxAsyncCanvas(this.thumbImageCache);u.images=this.thumbImageCache.images;var w=new mxImageExport;w.drawShape=function(a,c){a.shape instanceof mxShape&&a.shape.checkBounds()&&(c.save(),c.translate(.5,.5),a.shape.paint(c),c.translate(-.5,-.5),c.restore())};w.drawText=function(a,
-c){};w.drawState(c.getView().getState(c.model.root),t);t.finish(mxUtils.bind(this,function(){w.drawState(c.getView().getState(c.model.root),u);c!=this.editor.graph&&c.container.parentNode.removeChild(c.container);e(n)}));d=!0}}catch(x){c!=this.editor.graph&&c.container.parentNode.removeChild(c.container)}return d};
+App.prototype.updateDocumentTitle=function(){if(!this.editor.graph.isLightboxView()){var b=this.editor.appName,d=this.getCurrentFile();this.isOfflineApp()&&(b+=" app");null!=d&&(b=(null!=d.getTitle()?d.getTitle():this.defaultFilename)+" - "+b);document.title=b}};App.prototype.createCrcTable=function(){for(var b=[],d,f=0;256>f;f++){d=f;for(var c=0;8>c;c++)d=d&1?3988292384^d>>>1:d>>>1;b[f]=d}return b};
+App.prototype.getThumbnail=function(b,d){var f=!1;try{null==this.thumbImageCache&&(this.thumbImageCache={});var c=this.editor.graph;if(null!=this.pages&&this.currentPage!=this.pages[0]){var c=this.createTemporaryGraph(c.getStylesheet()),g=c.getGlobalVariable,k=this.pages[0];c.getGlobalVariable=function(a){return"page"==a?k.getName():"pagenumber"==a?1:g.apply(this,arguments)};document.body.appendChild(c.container);c.model.setRoot(k.root)}if(mxClient.IS_CHROMEAPP||!c.mathEnabled&&this.useCanvasForExport)this.exportToCanvas(mxUtils.bind(this,
+function(a){c!=this.editor.graph&&c.container.parentNode.removeChild(c.container);d(a)}),b,this.thumbImageCache,"#ffffff",function(){d()},null,null,null,null,null,null,c),f=!0;else if(this.canvasSupported&&null!=this.getCurrentFile()){var l=document.createElement("canvas"),n=c.getGraphBounds(),p=b/n.width,p=Math.min(1,Math.min(3*b/(4*n.height),p)),a=Math.floor(n.x),e=Math.floor(n.y);l.setAttribute("width",Math.ceil(p*(n.width+4)));l.setAttribute("height",Math.ceil(p*(n.height+4)));var h=l.getContext("2d");
+h.scale(p,p);h.translate(-a,-e);var u=c.background;if(null==u||""==u||u==mxConstants.NONE)u="#ffffff";h.save();h.fillStyle=u;h.fillRect(a,e,Math.ceil(n.width+4),Math.ceil(n.height+4));h.restore();var q=new mxJsCanvas(l),t=new mxAsyncCanvas(this.thumbImageCache);q.images=this.thumbImageCache.images;var w=new mxImageExport;w.drawShape=function(a,c){a.shape instanceof mxShape&&a.shape.checkBounds()&&(c.save(),c.translate(.5,.5),a.shape.paint(c),c.translate(-.5,-.5),c.restore())};w.drawText=function(a,
+c){};w.drawState(c.getView().getState(c.model.root),t);t.finish(mxUtils.bind(this,function(){w.drawState(c.getView().getState(c.model.root),q);c!=this.editor.graph&&c.container.parentNode.removeChild(c.container);d(l)}));f=!0}}catch(y){c!=this.editor.graph&&c.container.parentNode.removeChild(c.container)}return f};
App.prototype.createBackground=function(){var b=this.createDiv("background");b.style.position="absolute";b.style.background="white";b.style.left="0px";b.style.top="0px";b.style.bottom="0px";b.style.right="0px";mxUtils.setOpacity(b,100);mxClient.IS_QUIRKS&&new mxDivResizer(b);return b};
-(function(){var b=EditorUi.prototype.setMode;App.prototype.setMode=function(e,d){b.apply(this,arguments);null!=this.mode&&(Editor.useLocalStorage=this.mode==App.MODE_BROWSER);if(d)if(isLocalStorage)localStorage.setItem(".mode",e);else if("undefined"!=typeof Storage){var c=new Date;c.setYear(c.getFullYear()+1);document.cookie="MODE="+e+"; expires="+c.toUTCString()}null!=this.appIcon&&(c=this.getCurrentFile(),e=null!=c?c.getMode():null,e==App.MODE_GOOGLE?(this.appIcon.setAttribute("title",mxResources.get("openIt",
-[mxResources.get("googleDrive")])),this.appIcon.style.cursor="pointer"):e==App.MODE_DROPBOX?(this.appIcon.setAttribute("title",mxResources.get("openIt",[mxResources.get("dropbox")])),this.appIcon.style.cursor="pointer"):e==App.MODE_ONEDRIVE?(this.appIcon.setAttribute("title",mxResources.get("openIt",[mxResources.get("oneDrive")])),this.appIcon.style.cursor="pointer"):(this.appIcon.removeAttribute("title"),this.appIcon.style.cursor="default"))}})();
-App.prototype.appIconClicked=function(b){if(mxEvent.isAltDown(b))this.showSplash(!0);else{var e=this.getCurrentFile(),d=null!=e?e.getMode():null;d==App.MODE_GOOGLE?null!=e.desc&&0<e.desc.parents.length?this.openLink("https://drive.google.com/drive/folders/"+e.desc.parents[0].id):this.openLink("https://drive.google.com/?authuser=0"):d==App.MODE_DROPBOX?this.openLink("https://www.dropbox.com/"):d==App.MODE_ONEDRIVE?this.openLink("https://onedrive.live.com/"):d==App.MODE_TRELLO?this.openLink("https://trello.com/"):
-d==App.MODE_GITHUB&&(null!=e&&e.constructor==GitHubFile?this.openLink(e.meta.html_url):this.openLink("https://github.com/"))}mxEvent.consume(b)};App.prototype.clearMode=function(){if(isLocalStorage)localStorage.removeItem(".mode");else if("undefined"!=typeof Storage){var b=new Date;b.setYear(b.getFullYear()-1);document.cookie="MODE=; expires="+b.toUTCString()}};App.prototype.getDiagramId=function(){var b=window.location.hash;null!=b&&0<b.length&&(b=b.substring(1));return b};
-App.prototype.open=function(){try{if(null!=window.opener){var b=urlParams.create;null!=b&&(b=decodeURIComponent(b));if(null!=b&&0<b.length&&"http://"!=b.substring(0,7)&&"https://"!=b.substring(0,8)){var e=mxUtils.parseXml(window.opener[b]);this.editor.setGraphXml(e.documentElement)}else null!=window.opener.openFile&&window.opener.openFile.setConsumer(mxUtils.bind(this,function(b,c,e){this.spinner.stop();null==c&&(c=urlParams.title,e=!0,c=null!=c?decodeURIComponent(c):this.defaultFilename);0<(this.useCanvasForExport?
--1:".png"==c.substring(c.length-4))&&(c=c.substring(0,c.length-4)+".xml");this.fileLoaded(mxClient.IS_IOS?new StorageFile(this,b,c):new LocalFile(this,b,c,e))}))}}catch(d){}};
-App.prototype.loadGapi=function(b){"undefined"!==typeof gapi&&gapi.load(("0"!=urlParams.picker?"picker,":"")+"auth:client,drive-realtime,drive-share",mxUtils.bind(this,function(e){null==gapi.drive||null==gapi.drive.realtime?(this.drive=this.mode=null,b()):gapi.client.load("drive","v2",mxUtils.bind(this,function(){gapi.auth.init(mxUtils.bind(this,function(){null==gapi.client.drive&&(this.drive=this.mode=null);b()}))}))}))};
+(function(){var b=EditorUi.prototype.setMode;App.prototype.setMode=function(d,f){b.apply(this,arguments);null!=this.mode&&(Editor.useLocalStorage=this.mode==App.MODE_BROWSER);if(f)if(isLocalStorage)localStorage.setItem(".mode",d);else if("undefined"!=typeof Storage){var c=new Date;c.setYear(c.getFullYear()+1);document.cookie="MODE="+d+"; expires="+c.toUTCString()}null!=this.appIcon&&(c=this.getCurrentFile(),d=null!=c?c.getMode():null,d==App.MODE_GOOGLE?(this.appIcon.setAttribute("title",mxResources.get("openIt",
+[mxResources.get("googleDrive")])),this.appIcon.style.cursor="pointer"):d==App.MODE_DROPBOX?(this.appIcon.setAttribute("title",mxResources.get("openIt",[mxResources.get("dropbox")])),this.appIcon.style.cursor="pointer"):d==App.MODE_ONEDRIVE?(this.appIcon.setAttribute("title",mxResources.get("openIt",[mxResources.get("oneDrive")])),this.appIcon.style.cursor="pointer"):(this.appIcon.removeAttribute("title"),this.appIcon.style.cursor="default"))}})();
+App.prototype.appIconClicked=function(b){if(mxEvent.isAltDown(b))this.showSplash(!0);else{var d=this.getCurrentFile(),f=null!=d?d.getMode():null;f==App.MODE_GOOGLE?null!=d.desc&&0<d.desc.parents.length?this.openLink("https://drive.google.com/drive/folders/"+d.desc.parents[0].id):this.openLink("https://drive.google.com/?authuser=0"):f==App.MODE_DROPBOX?this.openLink("https://www.dropbox.com/"):f==App.MODE_ONEDRIVE?this.openLink("https://onedrive.live.com/"):f==App.MODE_TRELLO?this.openLink("https://trello.com/"):
+f==App.MODE_GITHUB&&(null!=d&&d.constructor==GitHubFile?this.openLink(d.meta.html_url):this.openLink("https://github.com/"))}mxEvent.consume(b)};App.prototype.clearMode=function(){if(isLocalStorage)localStorage.removeItem(".mode");else if("undefined"!=typeof Storage){var b=new Date;b.setYear(b.getFullYear()-1);document.cookie="MODE=; expires="+b.toUTCString()}};App.prototype.getDiagramId=function(){var b=window.location.hash;null!=b&&0<b.length&&(b=b.substring(1));return b};
+App.prototype.open=function(){try{if(null!=window.opener){var b=urlParams.create;null!=b&&(b=decodeURIComponent(b));if(null!=b&&0<b.length&&"http://"!=b.substring(0,7)&&"https://"!=b.substring(0,8)){var d=mxUtils.parseXml(window.opener[b]);this.editor.setGraphXml(d.documentElement)}else null!=window.opener.openFile&&window.opener.openFile.setConsumer(mxUtils.bind(this,function(b,c,d){this.spinner.stop();null==c&&(c=urlParams.title,d=!0,c=null!=c?decodeURIComponent(c):this.defaultFilename);0<(this.useCanvasForExport?
+-1:".png"==c.substring(c.length-4))&&(c=c.substring(0,c.length-4)+".xml");this.fileLoaded(mxClient.IS_IOS?new StorageFile(this,b,c):new LocalFile(this,b,c,d))}))}}catch(f){}};
+App.prototype.loadGapi=function(b){"undefined"!==typeof gapi&&gapi.load(("0"!=urlParams.picker?"picker,":"")+"auth:client,drive-realtime,drive-share",mxUtils.bind(this,function(d){null==gapi.drive||null==gapi.drive.realtime?(this.drive=this.mode=null,b()):gapi.client.load("drive","v2",mxUtils.bind(this,function(){gapi.auth.init(mxUtils.bind(this,function(){null==gapi.client.drive&&(this.drive=this.mode=null);b()}))}))}))};
App.prototype.load=function(){if("1"!=urlParams.embed){if(this.spinner.spin(document.body,mxResources.get("starting"))){try{this.stateArg=null!=urlParams.state&&null!=this.drive?JSON.parse(decodeURIComponent(urlParams.state)):null}catch(b){}this.editor.graph.setEnabled(null!=this.getCurrentFile());null!=window.location.hash&&0!=window.location.hash.length||null==this.drive||null==this.stateArg||null==this.stateArg.userId||this.drive.setUserId(this.stateArg.userId);null!=urlParams.fileId?(window.location.hash=
"G"+urlParams.fileId,window.location.search=this.getSearch(["fileId"])):null==this.drive?(this.mode==App.MODE_GOOGLE&&(this.mode=null),this.start()):this.loadGapi(mxUtils.bind(this,function(){this.start()}))}}else this.restoreLibraries(),"1"==urlParams.gapi&&this.loadGapi(function(){})};
-App.prototype.showAlert=function(b){if(null!=b&&0<b.length){var e=document.createElement("div");e.className="geAlert";e.style.zIndex=2E9;e.style.left="50%";e.style.top="-100%";mxUtils.setPrefixedStyle(e.style,"transform","translate(-50%,0%)");mxUtils.setPrefixedStyle(e.style,"transition","all 1s ease");e.innerHTML=b;b=document.createElement("a");b.className="geAlertLink";b.style.textAlign="right";b.style.marginTop="20px";b.style.display="block";b.setAttribute("href","javascript:void(0);");b.setAttribute("title",
-mxResources.get("close"));b.innerHTML=mxResources.get("close");e.appendChild(b);mxEvent.addListener(b,"click",function(b){null!=e.parentNode&&(e.parentNode.removeChild(e),mxEvent.consume(b))});document.body.appendChild(e);window.setTimeout(function(){e.style.top="30px"},10);window.setTimeout(function(){mxUtils.setPrefixedStyle(e.style,"transition","all 2s ease");e.style.opacity="0";window.setTimeout(function(){null!=e.parentNode&&e.parentNode.removeChild(e)},2E3)},15E3)}};
-App.prototype.start=function(){this.bg.parentNode.removeChild(this.bg);this.restoreLibraries();this.spinner.stop();try{if("1"!=urlParams.client&&"1"!=urlParams.embed&&mxEvent.addListener(window,"hashchange",mxUtils.bind(this,function(c){try{var b=this.getDiagramId(),d=this.getCurrentFile();null!=d&&d.getHash()==b||this.loadFile(b,!0)}catch(p){null!=document.body&&this.handleError(p,mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){var c=this.getCurrentFile();window.location.hash=null!=
+App.prototype.showAlert=function(b){if(null!=b&&0<b.length){var d=document.createElement("div");d.className="geAlert";d.style.zIndex=2E9;d.style.left="50%";d.style.top="-100%";mxUtils.setPrefixedStyle(d.style,"transform","translate(-50%,0%)");mxUtils.setPrefixedStyle(d.style,"transition","all 1s ease");d.innerHTML=b;b=document.createElement("a");b.className="geAlertLink";b.style.textAlign="right";b.style.marginTop="20px";b.style.display="block";b.setAttribute("href","javascript:void(0);");b.setAttribute("title",
+mxResources.get("close"));b.innerHTML=mxResources.get("close");d.appendChild(b);mxEvent.addListener(b,"click",function(b){null!=d.parentNode&&(d.parentNode.removeChild(d),mxEvent.consume(b))});document.body.appendChild(d);window.setTimeout(function(){d.style.top="30px"},10);window.setTimeout(function(){mxUtils.setPrefixedStyle(d.style,"transition","all 2s ease");d.style.opacity="0";window.setTimeout(function(){null!=d.parentNode&&d.parentNode.removeChild(d)},2E3)},15E3)}};
+App.prototype.start=function(){this.bg.parentNode.removeChild(this.bg);this.restoreLibraries();this.spinner.stop();try{if("1"!=urlParams.client&&"1"!=urlParams.embed&&mxEvent.addListener(window,"hashchange",mxUtils.bind(this,function(c){try{var b=this.getDiagramId(),d=this.getCurrentFile();null!=d&&d.getHash()==b||this.loadFile(b,!0)}catch(n){null!=document.body&&this.handleError(n,mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){var c=this.getCurrentFile();window.location.hash=null!=
c?c.getHash():""}))}})),(null==window.location.hash||1>=window.location.hash.length)&&null!=urlParams.url)this.loadFile("U"+urlParams.url,!0);else if(null==this.getCurrentFile()){var b=mxUtils.bind(this,function(){if("1"==urlParams.client&&(null==window.location.hash||0==window.location.hash.length||"#P"==window.location.hash.substring(0,2))){var c=mxUtils.bind(this,function(a){"data:image/png;base64,"==a.substring(0,22)&&(a=this.extractGraphModelFromPng(a));var c=urlParams.title,c=null!=c?decodeURIComponent(c):
this.defaultFilename;a=new LocalFile(this,a,c,!0);null!=window.location.hash&&"#P"==window.location.hash.substring(0,2)&&(a.getHash=function(){return window.location.hash.substring(1)});this.fileLoaded(a);this.getCurrentFile().setModified(!this.editor.chromeless)}),b=window.opener||window.parent;if(b!=window){var d=urlParams.create;null!=d?c(b[decodeURIComponent(d)]):(d=urlParams.data,null!=d?c(decodeURIComponent(d)):this.installMessageHandler(mxUtils.bind(this,function(a,d){d.source==b&&c(a)})))}}else if(null==
-this.dialog)if("1"==urlParams.demo)d=Editor.useLocalStorage,this.createFile(this.defaultFilename,null,null,null,null,null,null,!0),Editor.useLocalStorage=d;else{d=!1;try{d=null!=window.opener&&null!=window.opener.openFile}catch(a){}if(d)this.spinner.spin(document.body,mxResources.get("loading"));else if(d=this.getDiagramId(),"0"!=urlParams.splash||null!=d&&0!=d.length)this.loadFile(this.getDiagramId());else{var e=this.getDraft(),q=null!=e?e.data:this.getFileData(),d=Editor.useLocalStorage;this.createFile(this.defaultFilename,
-q,null,null,null,null,null,!0);Editor.useLocalStorage=d;null!=e&&(d=this.getCurrentFile(),null!=d&&d.addUnsavedStatus())}}});null!=this.drive&&this.defineCustomObjects();var e=decodeURIComponent(urlParams.create||"");if((null==window.location.hash||1>=window.location.hash.length)&&null!=e&&0<e.length&&this.spinner.spin(document.body,mxResources.get("loading"))){var d=mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("reconnecting"))&&(window.location.search=this.getSearch(["create",
+this.dialog)if("1"==urlParams.demo)d=Editor.useLocalStorage,this.createFile(this.defaultFilename,null,null,null,null,null,null,!0),Editor.useLocalStorage=d;else{d=!1;try{d=null!=window.opener&&null!=window.opener.openFile}catch(a){}if(d)this.spinner.spin(document.body,mxResources.get("loading"));else if(d=this.getDiagramId(),"0"!=urlParams.splash||null!=d&&0!=d.length)this.loadFile(this.getDiagramId());else{var f=this.getDraft(),p=null!=f?f.data:this.getFileData(),d=Editor.useLocalStorage;this.createFile(this.defaultFilename,
+p,null,null,null,null,null,!0);Editor.useLocalStorage=d;null!=f&&(d=this.getCurrentFile(),null!=d&&d.addUnsavedStatus())}}});null!=this.drive&&this.defineCustomObjects();var d=decodeURIComponent(urlParams.create||"");if((null==window.location.hash||1>=window.location.hash.length)&&null!=d&&0<d.length&&this.spinner.spin(document.body,mxResources.get("loading"))){var f=mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("reconnecting"))&&(window.location.search=this.getSearch(["create",
"title"]))}),c=mxUtils.bind(this,function(c){this.spinner.stop();if("0"!=urlParams.splash){this.fileLoaded(new LocalFile(this,c,null));this.editor.graph.setEnabled(!1);this.mode=urlParams.mode;var b=urlParams.title,b=null!=b?decodeURIComponent(b):this.defaultFilename;c=this.getServiceCount(!0);var d=4>=c?4:3,b=new CreateDialog(this,b,mxUtils.bind(this,function(c,b){if(null==b){this.hideDialog();var a=Editor.useLocalStorage;this.createFile(0<c.length?c:this.defaultFilename,this.getFileData(),null,
-null,null,null,null,!0);Editor.useLocalStorage=a}else this.createFile(c,this.getFileData(!0),null,b)}),null,null,null,null,"1"==urlParams.browser,null,null,!0,d);this.showDialog(b.container,380,c>d?390:270,!0,!1,mxUtils.bind(this,function(c){c&&null==this.getCurrentFile()&&this.showSplash()}));b.init()}}),e=decodeURIComponent(e);if("http://"!=e.substring(0,7)&&"https://"!=e.substring(0,8))try{null!=window.opener&&null!=window.opener[e]?c(window.opener[e]):this.handleError(null,mxResources.get("errorLoadingFile"))}catch(g){this.handleError(g,
-mxResources.get("errorLoadingFile"))}else this.loadTemplate(e,function(b){c(b)},mxUtils.bind(this,function(){this.handleError(null,mxResources.get("errorLoadingFile"),d)}))}else(null==window.location.hash||1>=window.location.hash.length)&&null!=urlParams.state&&null!=this.stateArg&&"open"==this.stateArg.action&&null!=this.stateArg.ids&&(window.location.hash="G"+this.stateArg.ids[0]),(null==window.location.hash||1>=window.location.hash.length)&&null!=this.drive&&null!=this.stateArg&&"create"==this.stateArg.action?
+null,null,null,null,!0);Editor.useLocalStorage=a}else this.createFile(c,this.getFileData(!0),null,b)}),null,null,null,null,"1"==urlParams.browser,null,null,!0,d);this.showDialog(b.container,380,c>d?390:270,!0,!1,mxUtils.bind(this,function(c){c&&null==this.getCurrentFile()&&this.showSplash()}));b.init()}}),d=decodeURIComponent(d);if("http://"!=d.substring(0,7)&&"https://"!=d.substring(0,8))try{null!=window.opener&&null!=window.opener[d]?c(window.opener[d]):this.handleError(null,mxResources.get("errorLoadingFile"))}catch(g){this.handleError(g,
+mxResources.get("errorLoadingFile"))}else this.loadTemplate(d,function(b){c(b)},mxUtils.bind(this,function(){this.handleError(null,mxResources.get("errorLoadingFile"),f)}))}else(null==window.location.hash||1>=window.location.hash.length)&&null!=urlParams.state&&null!=this.stateArg&&"open"==this.stateArg.action&&null!=this.stateArg.ids&&(window.location.hash="G"+this.stateArg.ids[0]),(null==window.location.hash||1>=window.location.hash.length)&&null!=this.drive&&null!=this.stateArg&&"create"==this.stateArg.action?
(this.setMode(App.MODE_GOOGLE),this.actions.get("new").funct()):b()}}catch(g){this.handleError(g)}};
-App.prototype.showSplash=function(b){var e=this.getServiceCount(!0,!0),d=mxUtils.bind(this,function(){var c=new SplashDialog(this);this.showDialog(c.container,340,2>e||mxClient.IS_CHROMEAPP||EditorUi.isElectronApp?200:260,!0,!0,mxUtils.bind(this,function(c){c&&!mxClient.IS_CHROMEAPP&&(c=Editor.useLocalStorage,this.createFile(this.defaultFilename,null,null,null,null,null,null,"1"!=urlParams.local),Editor.useLocalStorage=c)}),!0)});if(this.editor.isChromelessView())this.handleError({message:mxResources.get("noFileSelected")},
-mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){this.showSplash()}));else if(null==this.mode||b){b=4==e?2:3;var c=new StorageDialog(this,mxUtils.bind(this,function(){this.hideDialog();d()}),b);this.showDialog(c.container,3>b?260:300,4<=e?420:300,!0,!1);c.init()}else null==urlParams.create&&d()};
-App.prototype.addLanguageMenu=function(b,e){var d=null;if((!this.isOfflineApp()||mxClient.IS_CHROMEAPP)&&null!=this.menus.get("language")){d=document.createElement("div");d.setAttribute("title",mxResources.get("language"));d.className="geIcon geSprite geSprite-globe";d.style.position="absolute";d.style.cursor="pointer";d.style.bottom="20px";d.style.right="20px";if(e){d.style.direction="rtl";d.style.textAlign="right";d.style.right="24px";var c=document.createElement("span");c.style.display="inline-block";
-c.style.fontSize="12px";c.style.margin="5px 24px 0 0";c.style.color="gray";mxUtils.write(c,mxResources.get("language"));d.appendChild(c)}mxEvent.addListener(d,"click",mxUtils.bind(this,function(c){this.editor.graph.popupMenuHandler.hideMenu();var b=new mxPopupMenu(this.menus.get("language").funct);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 e=mxUtils.getOffset(d);
-b.popup(e.x,e.y+d.offsetHeight,null,c);this.setCurrentMenu(b)}));b.appendChild(d)}return d};
+App.prototype.showSplash=function(b){var d=this.getServiceCount(!0,!0),f=mxUtils.bind(this,function(){var c=new SplashDialog(this);this.showDialog(c.container,340,2>d||mxClient.IS_CHROMEAPP||EditorUi.isElectronApp?200:260,!0,!0,mxUtils.bind(this,function(c){c&&!mxClient.IS_CHROMEAPP&&(c=Editor.useLocalStorage,this.createFile(this.defaultFilename,null,null,null,null,null,null,"1"!=urlParams.local),Editor.useLocalStorage=c)}),!0)});if(this.editor.isChromelessView())this.handleError({message:mxResources.get("noFileSelected")},
+mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){this.showSplash()}));else if(null==this.mode||b){b=4==d?2:3;var c=new StorageDialog(this,mxUtils.bind(this,function(){this.hideDialog();f()}),b);this.showDialog(c.container,3>b?260:300,4<=d?420:300,!0,!1);c.init()}else null==urlParams.create&&f()};
+App.prototype.addLanguageMenu=function(b,d){var f=null;if((!this.isOfflineApp()||mxClient.IS_CHROMEAPP)&&null!=this.menus.get("language")){f=document.createElement("div");f.setAttribute("title",mxResources.get("language"));f.className="geIcon geSprite geSprite-globe";f.style.position="absolute";f.style.cursor="pointer";f.style.bottom="20px";f.style.right="20px";if(d){f.style.direction="rtl";f.style.textAlign="right";f.style.right="24px";var c=document.createElement("span");c.style.display="inline-block";
+c.style.fontSize="12px";c.style.margin="5px 24px 0 0";c.style.color="gray";mxUtils.write(c,mxResources.get("language"));f.appendChild(c)}mxEvent.addListener(f,"click",mxUtils.bind(this,function(c){this.editor.graph.popupMenuHandler.hideMenu();var b=new mxPopupMenu(this.menus.get("language").funct);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=mxUtils.getOffset(f);
+b.popup(d.x,d.y+f.offsetHeight,null,c);this.setCurrentMenu(b)}));b.appendChild(f)}return f};
App.prototype.defineCustomObjects=function(){null!=gapi.drive.realtime&&null!=gapi.drive.realtime.custom&&(gapi.drive.realtime.custom.registerType(mxRtCell,"Cell"),mxRtCell.prototype.cellId=gapi.drive.realtime.custom.collaborativeField("cellId"),mxRtCell.prototype.type=gapi.drive.realtime.custom.collaborativeField("type"),mxRtCell.prototype.value=gapi.drive.realtime.custom.collaborativeField("value"),mxRtCell.prototype.xmlValue=gapi.drive.realtime.custom.collaborativeField("xmlValue"),mxRtCell.prototype.style=
gapi.drive.realtime.custom.collaborativeField("style"),mxRtCell.prototype.geometry=gapi.drive.realtime.custom.collaborativeField("geometry"),mxRtCell.prototype.visible=gapi.drive.realtime.custom.collaborativeField("visible"),mxRtCell.prototype.collapsed=gapi.drive.realtime.custom.collaborativeField("collapsed"),mxRtCell.prototype.connectable=gapi.drive.realtime.custom.collaborativeField("connectable"),mxRtCell.prototype.parent=gapi.drive.realtime.custom.collaborativeField("parent"),mxRtCell.prototype.children=
gapi.drive.realtime.custom.collaborativeField("children"),mxRtCell.prototype.source=gapi.drive.realtime.custom.collaborativeField("source"),mxRtCell.prototype.target=gapi.drive.realtime.custom.collaborativeField("target"))};mxRtCell=function(){};mxCodecRegistry.getCodec(mxCell).exclude.push("rtCell");mxCell.prototype.mxTransient.push("rtCell");
-App.prototype.pickFile=function(b){b=null!=b?b:this.mode;if(b==App.MODE_GOOGLE)null!=this.drive&&"undefined"!=typeof google&&"undefined"!=typeof google.picker?this.drive.pickFile():this.openLink("https://drive.google.com");else{var e=this.getPeerForMode(b);if(null!=e)e.pickFile();else if(b!=App.MODE_DEVICE||!Graph.fileSupport||mxClient.IS_IE||mxClient.IS_IE11){this.hideDialog();window.openNew=null!=this.getCurrentFile()&&!this.isDiagramEmpty();window.baseUrl=this.getUrl();window.openKey="open";var d=
-Editor.useLocalStorage;Editor.useLocalStorage=b==App.MODE_BROWSER;this.openFile();window.openFile.setConsumer(mxUtils.bind(this,function(c,d){this.useCanvasForExport||".png"!=d.substring(d.length-4)||(d=d.substring(0,d.length-4)+".xml");this.fileLoaded(b==App.MODE_BROWSER?new StorageFile(this,c,d):new LocalFile(this,c,d))}));var c=this.dialog,g=c.close;this.dialog.close=mxUtils.bind(this,function(b){Editor.useLocalStorage=d;g.apply(c,arguments);null==this.getCurrentFile()&&this.showSplash()})}else{var k=
+App.prototype.pickFile=function(b){b=null!=b?b:this.mode;if(b==App.MODE_GOOGLE)null!=this.drive&&"undefined"!=typeof google&&"undefined"!=typeof google.picker?this.drive.pickFile():this.openLink("https://drive.google.com");else{var d=this.getPeerForMode(b);if(null!=d)d.pickFile();else if(b!=App.MODE_DEVICE||!Graph.fileSupport||mxClient.IS_IE||mxClient.IS_IE11){this.hideDialog();window.openNew=null!=this.getCurrentFile()&&!this.isDiagramEmpty();window.baseUrl=this.getUrl();window.openKey="open";var f=
+Editor.useLocalStorage;Editor.useLocalStorage=b==App.MODE_BROWSER;this.openFile();window.openFile.setConsumer(mxUtils.bind(this,function(c,d){this.useCanvasForExport||".png"!=d.substring(d.length-4)||(d=d.substring(0,d.length-4)+".xml");this.fileLoaded(b==App.MODE_BROWSER?new StorageFile(this,c,d):new LocalFile(this,c,d))}));var c=this.dialog,g=c.close;this.dialog.close=mxUtils.bind(this,function(b){Editor.useLocalStorage=f;g.apply(c,arguments);null==this.getCurrentFile()&&this.showSplash()})}else{var k=
document.createElement("input");k.setAttribute("type","file");mxEvent.addListener(k,"change",mxUtils.bind(this,function(){null!=k.files&&this.openFiles(k.files)}));k.click()}}};
-App.prototype.pickLibrary=function(b){b=null!=b?b:this.mode;if(b==App.MODE_GOOGLE||b==App.MODE_DROPBOX||b==App.MODE_ONEDRIVE||b==App.MODE_GITHUB||b==App.MODE_TRELLO){var e=b==App.MODE_GOOGLE?this.drive:b==App.MODE_ONEDRIVE?this.oneDrive:b==App.MODE_GITHUB?this.gitHub:b==App.MODE_TRELLO?this.trello:this.dropbox;null!=e&&e.pickLibrary(mxUtils.bind(this,function(c,b){if(null!=b)try{this.loadLibrary(b)}catch(n){this.handleError(n,mxResources.get("errorLoadingFile"))}else this.spinner.spin(document.body,
-mxResources.get("loading"))&&e.getLibrary(c,mxUtils.bind(this,function(c){this.spinner.stop();try{this.loadLibrary(c)}catch(p){this.handleError(p,mxResources.get("errorLoadingFile"))}}),mxUtils.bind(this,function(c){this.handleError(c,null!=c?mxResources.get("errorLoadingFile"):null)}))}))}else if(b!=App.MODE_DEVICE||!Graph.fileSupport||mxClient.IS_IE||mxClient.IS_IE11){window.openNew=!1;window.openKey="open";var d=Editor.useLocalStorage;Editor.useLocalStorage=b==App.MODE_BROWSER;window.openFile=
-new OpenFile(mxUtils.bind(this,function(c){this.hideDialog(c)}));window.openFile.setConsumer(mxUtils.bind(this,function(c,d){try{this.loadLibrary(b==App.MODE_BROWSER?new StorageLibrary(this,c,d):new LocalLibrary(this,c,d))}catch(n){this.handleError(n,mxResources.get("errorLoadingFile"))}}));this.showDialog((new OpenDialog(this)).container,Editor.useLocalStorage?640:360,Editor.useLocalStorage?480:220,!0,!0,function(){Editor.useLocalStorage=d;window.openFile=null})}else{var c=document.createElement("input");
-c.setAttribute("type","file");mxEvent.addListener(c,"change",mxUtils.bind(this,function(){if(null!=c.files)for(var b=0;b<c.files.length;b++)mxUtils.bind(this,function(c){var b=new FileReader;b.onload=mxUtils.bind(this,function(b){try{this.loadLibrary(new LocalLibrary(this,b.target.result,c.name))}catch(q){this.handleError(q,mxResources.get("errorLoadingFile"))}});b.readAsText(c)})(c.files[b])}));c.click()}};
-App.prototype.saveLibrary=function(b,e,d,c,g,k,n){c=null!=c?c:this.mode;g=null!=g?g:!1;k=null!=k?k:!1;var p=this.createLibraryDataFromImages(e),q=mxUtils.bind(this,function(a){this.spinner.stop();null!=n&&n();this.handleError(a,null!=a?mxResources.get("errorSavingFile"):null)});null==d&&c==App.MODE_DEVICE&&(d=new LocalLibrary(this,p,b));if(null==d)this.pickFolder(c,mxUtils.bind(this,function(a){c==App.MODE_GOOGLE&&null!=this.drive&&this.spinner.spin(document.body,mxResources.get("inserting"))?this.drive.insertFile(b,
-p,a,mxUtils.bind(this,function(a){this.spinner.stop();this.hideDialog(!0);this.libraryLoaded(a,e)}),q,this.drive.libraryMimeType):c==App.MODE_GITHUB&&null!=this.gitHub&&this.spinner.spin(document.body,mxResources.get("inserting"))?this.gitHub.insertLibrary(b,p,mxUtils.bind(this,function(a){this.spinner.stop();this.hideDialog(!0);this.libraryLoaded(a,e)}),q,a):c==App.MODE_TRELLO&&null!=this.trello&&this.spinner.spin(document.body,mxResources.get("inserting"))?this.trello.insertLibrary(b,p,mxUtils.bind(this,
-function(a){this.spinner.stop();this.hideDialog(!0);this.libraryLoaded(a,e)}),q,a):c==App.MODE_DROPBOX&&null!=this.dropbox&&this.spinner.spin(document.body,mxResources.get("inserting"))?this.dropbox.insertLibrary(b,p,mxUtils.bind(this,function(a){this.spinner.stop();this.hideDialog(!0);this.libraryLoaded(a,e)}),q,a):c==App.MODE_ONEDRIVE&&null!=this.oneDrive&&this.spinner.spin(document.body,mxResources.get("inserting"))?this.oneDrive.insertLibrary(b,p,mxUtils.bind(this,function(a){this.spinner.stop();
-this.hideDialog(!0);this.libraryLoaded(a,e)}),q,a):c==App.MODE_BROWSER?(a=mxUtils.bind(this,function(){var a=new StorageLibrary(this,p,b);a.saveFile(b,!1,mxUtils.bind(this,function(){this.hideDialog(!0);this.libraryLoaded(a,e)}),q)}),null==localStorage.getItem(b)?a():this.confirm(mxResources.get("replaceIt",[b]),a)):this.handleError({message:mxResources.get("serviceUnavailableOrBlocked")})}));else if(g||this.spinner.spin(document.body,mxResources.get("saving"))){d.setData(p);var a=mxUtils.bind(this,
-function(){d.save(!0,mxUtils.bind(this,function(a){this.spinner.stop();this.hideDialog(!0);k||this.libraryLoaded(d,e);null!=n&&n()}),q)});if(b!=d.getTitle()){var f=d.getHash();d.rename(b,mxUtils.bind(this,function(c){d.constructor!=LocalLibrary&&f!=d.getHash()&&(mxSettings.removeCustomLibrary(f),mxSettings.addCustomLibrary(d.getHash()));this.removeLibrarySidebar(f);a()}),q)}else a()}};
-App.prototype.saveFile=function(b){var e=this.getCurrentFile();if(null!=e){var d=mxUtils.bind(this,function(){this.removeDraft();e.getMode()!=App.MODE_DEVICE?this.editor.setStatus(mxUtils.htmlEntities(mxResources.get("allChangesSaved"))):this.editor.setStatus("")});if(b||null==e.getTitle()||null==this.mode){var c=null!=e.getTitle()?e.getTitle():this.defaultFilename,g=!mxClient.IS_IOS||!navigator.standalone,k=this.mode;b=this.getServiceCount(!0);isLocalStorage&&b++;var n=4>=b?2:6<b?4:3,c=new CreateDialog(this,
-c,mxUtils.bind(this,function(c,b){null!=c&&0<c.length&&(null==k&&b==App.MODE_DEVICE?(this.setMode(App.MODE_DEVICE),this.save(c,d)):"download"==b?(new LocalFile(this,null,c)).save():"_blank"==b?(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(this.getFileData(!0)),this.openLink(this.getUrl(window.location.pathname))):k!=b?this.pickFolder(b,mxUtils.bind(this,function(a){this.createFile(c,this.getFileData(/(\.xml)$/i.test(c)||0>c.indexOf("."),/(\.svg)$/i.test(c),
-/(\.html)$/i.test(c)),null,b,d,null==this.mode,a)}),b!==App.MODE_GITHUB):null!=b&&this.save(c,d))}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),null,null,g,this.isOffline()?null:"https://desk.draw.io/support/solutions/articles/16000042485",!0,n);this.showDialog(c.container,460,b>n?390:270,!0,!0);c.init()}else this.save(e.getTitle(),d)}};
-EditorUi.prototype.loadTemplate=function(b,e,d){var c=b;this.isCorsEnabledForUrl(c)||(c="t="+(new Date).getTime(),c=PROXY_URL+"?url="+encodeURIComponent(b)+"&"+c);this.loadUrl(c,mxUtils.bind(this,function(c){/(\.vsdx)($|\?)/i.test(b)?this.importVisio(this.base64ToBlob(c.substring(c.indexOf(",")+1)),function(c){e(c)},d,b):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(c,b)?this.parseFile(new Blob([c],{type:"application/octet-stream"}),mxUtils.bind(this,function(c){4==c.readyState&&
-200<=c.status&&299>=c.status&&"<mxGraphModel"==c.responseText.substring(0,13)&&e(c.responseText)}),b):'{"state":"{\\"Properties\\":'==c.substring(0,26)?this.importLucidChart(c,0,0,!1,mxUtils.bind(this,function(){e(this.getFileData(!0))})):(/(\.png)($|\?)/i.test(b)&&(c=this.extractGraphModelFromPng(c)),e(c))}),d,/(\.png)($|\?)/i.test(b)||/(\.vsdx)($|\?)/i.test(b))};
+App.prototype.pickLibrary=function(b){b=null!=b?b:this.mode;if(b==App.MODE_GOOGLE||b==App.MODE_DROPBOX||b==App.MODE_ONEDRIVE||b==App.MODE_GITHUB||b==App.MODE_TRELLO){var d=b==App.MODE_GOOGLE?this.drive:b==App.MODE_ONEDRIVE?this.oneDrive:b==App.MODE_GITHUB?this.gitHub:b==App.MODE_TRELLO?this.trello:this.dropbox;null!=d&&d.pickLibrary(mxUtils.bind(this,function(c,b){if(null!=b)try{this.loadLibrary(b)}catch(l){this.handleError(l,mxResources.get("errorLoadingFile"))}else this.spinner.spin(document.body,
+mxResources.get("loading"))&&d.getLibrary(c,mxUtils.bind(this,function(c){this.spinner.stop();try{this.loadLibrary(c)}catch(n){this.handleError(n,mxResources.get("errorLoadingFile"))}}),mxUtils.bind(this,function(c){this.handleError(c,null!=c?mxResources.get("errorLoadingFile"):null)}))}))}else if(b!=App.MODE_DEVICE||!Graph.fileSupport||mxClient.IS_IE||mxClient.IS_IE11){window.openNew=!1;window.openKey="open";var f=Editor.useLocalStorage;Editor.useLocalStorage=b==App.MODE_BROWSER;window.openFile=
+new OpenFile(mxUtils.bind(this,function(c){this.hideDialog(c)}));window.openFile.setConsumer(mxUtils.bind(this,function(c,d){try{this.loadLibrary(b==App.MODE_BROWSER?new StorageLibrary(this,c,d):new LocalLibrary(this,c,d))}catch(l){this.handleError(l,mxResources.get("errorLoadingFile"))}}));this.showDialog((new OpenDialog(this)).container,Editor.useLocalStorage?640:360,Editor.useLocalStorage?480:220,!0,!0,function(){Editor.useLocalStorage=f;window.openFile=null})}else{var c=document.createElement("input");
+c.setAttribute("type","file");mxEvent.addListener(c,"change",mxUtils.bind(this,function(){if(null!=c.files)for(var b=0;b<c.files.length;b++)mxUtils.bind(this,function(c){var b=new FileReader;b.onload=mxUtils.bind(this,function(b){try{this.loadLibrary(new LocalLibrary(this,b.target.result,c.name))}catch(p){this.handleError(p,mxResources.get("errorLoadingFile"))}});b.readAsText(c)})(c.files[b])}));c.click()}};
+App.prototype.saveLibrary=function(b,d,f,c,g,k,l){c=null!=c?c:this.mode;g=null!=g?g:!1;k=null!=k?k:!1;var n=this.createLibraryDataFromImages(d),p=mxUtils.bind(this,function(a){this.spinner.stop();null!=l&&l();this.handleError(a,null!=a?mxResources.get("errorSavingFile"):null)});null==f&&c==App.MODE_DEVICE&&(f=new LocalLibrary(this,n,b));if(null==f)this.pickFolder(c,mxUtils.bind(this,function(a){c==App.MODE_GOOGLE&&null!=this.drive&&this.spinner.spin(document.body,mxResources.get("inserting"))?this.drive.insertFile(b,
+n,a,mxUtils.bind(this,function(a){this.spinner.stop();this.hideDialog(!0);this.libraryLoaded(a,d)}),p,this.drive.libraryMimeType):c==App.MODE_GITHUB&&null!=this.gitHub&&this.spinner.spin(document.body,mxResources.get("inserting"))?this.gitHub.insertLibrary(b,n,mxUtils.bind(this,function(a){this.spinner.stop();this.hideDialog(!0);this.libraryLoaded(a,d)}),p,a):c==App.MODE_TRELLO&&null!=this.trello&&this.spinner.spin(document.body,mxResources.get("inserting"))?this.trello.insertLibrary(b,n,mxUtils.bind(this,
+function(a){this.spinner.stop();this.hideDialog(!0);this.libraryLoaded(a,d)}),p,a):c==App.MODE_DROPBOX&&null!=this.dropbox&&this.spinner.spin(document.body,mxResources.get("inserting"))?this.dropbox.insertLibrary(b,n,mxUtils.bind(this,function(a){this.spinner.stop();this.hideDialog(!0);this.libraryLoaded(a,d)}),p,a):c==App.MODE_ONEDRIVE&&null!=this.oneDrive&&this.spinner.spin(document.body,mxResources.get("inserting"))?this.oneDrive.insertLibrary(b,n,mxUtils.bind(this,function(a){this.spinner.stop();
+this.hideDialog(!0);this.libraryLoaded(a,d)}),p,a):c==App.MODE_BROWSER?(a=mxUtils.bind(this,function(){var a=new StorageLibrary(this,n,b);a.saveFile(b,!1,mxUtils.bind(this,function(){this.hideDialog(!0);this.libraryLoaded(a,d)}),p)}),null==localStorage.getItem(b)?a():this.confirm(mxResources.get("replaceIt",[b]),a)):this.handleError({message:mxResources.get("serviceUnavailableOrBlocked")})}));else if(g||this.spinner.spin(document.body,mxResources.get("saving"))){f.setData(n);var a=mxUtils.bind(this,
+function(){f.save(!0,mxUtils.bind(this,function(a){this.spinner.stop();this.hideDialog(!0);k||this.libraryLoaded(f,d);null!=l&&l()}),p)});if(b!=f.getTitle()){var e=f.getHash();f.rename(b,mxUtils.bind(this,function(c){f.constructor!=LocalLibrary&&e!=f.getHash()&&(mxSettings.removeCustomLibrary(e),mxSettings.addCustomLibrary(f.getHash()));this.removeLibrarySidebar(e);a()}),p)}else a()}};
+App.prototype.saveFile=function(b){var d=this.getCurrentFile();if(null!=d){var f=mxUtils.bind(this,function(){this.removeDraft();d.getMode()!=App.MODE_DEVICE?this.editor.setStatus(mxUtils.htmlEntities(mxResources.get("allChangesSaved"))):this.editor.setStatus("")});if(b||null==d.getTitle()||null==this.mode){var c=null!=d.getTitle()?d.getTitle():this.defaultFilename,g=!mxClient.IS_IOS||!navigator.standalone,k=this.mode;b=this.getServiceCount(!0);isLocalStorage&&b++;var l=4>=b?2:6<b?4:3,c=new CreateDialog(this,
+c,mxUtils.bind(this,function(c,b){null!=c&&0<c.length&&(null==k&&b==App.MODE_DEVICE?(this.setMode(App.MODE_DEVICE),this.save(c,f)):"download"==b?(new LocalFile(this,null,c)).save():"_blank"==b?(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(this.getFileData(!0)),this.openLink(this.getUrl(window.location.pathname))):k!=b?this.pickFolder(b,mxUtils.bind(this,function(a){this.createFile(c,this.getFileData(/(\.xml)$/i.test(c)||0>c.indexOf("."),/(\.svg)$/i.test(c),
+/(\.html)$/i.test(c)),null,b,f,null==this.mode,a)}),b!==App.MODE_GITHUB):null!=b&&this.save(c,f))}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),null,null,g,this.isOffline()?null:"https://desk.draw.io/support/solutions/articles/16000042485",!0,l);this.showDialog(c.container,460,b>l?390:270,!0,!0);c.init()}else this.save(d.getTitle(),f)}};
+EditorUi.prototype.loadTemplate=function(b,d,f){var c=b;this.isCorsEnabledForUrl(c)||(c="t="+(new Date).getTime(),c=PROXY_URL+"?url="+encodeURIComponent(b)+"&"+c);this.loadUrl(c,mxUtils.bind(this,function(c){/(\.vsdx)($|\?)/i.test(b)?this.importVisio(this.base64ToBlob(c.substring(c.indexOf(",")+1)),function(c){d(c)},f,b):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(c,b)?this.parseFile(new Blob([c],{type:"application/octet-stream"}),mxUtils.bind(this,function(c){4==c.readyState&&
+200<=c.status&&299>=c.status&&"<mxGraphModel"==c.responseText.substring(0,13)&&d(c.responseText)}),b):'{"state":"{\\"Properties\\":'==c.substring(0,26)?this.importLucidChart(c,0,0,!1,mxUtils.bind(this,function(){d(this.getFileData(!0))})):(/(\.png)($|\?)/i.test(b)&&(c=this.extractGraphModelFromPng(c)),d(c))}),f,/(\.png)($|\?)/i.test(b)||/(\.vsdx)($|\?)/i.test(b))};
App.prototype.getPeerForMode=function(b){return b==App.MODE_GOOGLE?this.drive:b==App.MODE_GITHUB?this.gitHub:b==App.MODE_DROPBOX?this.dropbox:b==App.MODE_ONEDRIVE?this.oneDrive:b==App.MODE_TRELLO?this.trello:null};
-App.prototype.createFile=function(b,e,d,c,g,k,n,p){c=p?null:null!=c?c:this.mode;if(null!=b&&this.spinner.spin(document.body,mxResources.get("inserting"))){e=null!=e?e:this.emptyDiagramXml;var q=mxUtils.bind(this,function(){this.spinner.stop()}),a=mxUtils.bind(this,function(a){q();null==a&&null==this.getCurrentFile()&&null==this.dialog?this.showSplash():null!=a&&this.handleError(a)});c==App.MODE_GOOGLE&&null!=this.drive?(n=null!=this.stateArg?this.stateArg.folderId:n,this.drive.insertFile(b,e,n,mxUtils.bind(this,
-function(a){q();this.fileCreated(a,d,k,g)}),a)):c==App.MODE_GITHUB&&null!=this.gitHub?this.pickFolder(c,mxUtils.bind(this,function(c){this.gitHub.insertFile(b,e,mxUtils.bind(this,function(a){q();this.fileCreated(a,d,k,g)}),a,!1,c)})):c==App.MODE_TRELLO&&null!=this.trello?this.trello.insertFile(b,e,mxUtils.bind(this,function(a){q();this.fileCreated(a,d,k,g)}),a,!1,n):c==App.MODE_DROPBOX&&null!=this.dropbox?this.dropbox.insertFile(b,e,mxUtils.bind(this,function(a){q();this.fileCreated(a,d,k,g)}),a):
-c==App.MODE_ONEDRIVE&&null!=this.oneDrive?this.oneDrive.insertFile(b,e,mxUtils.bind(this,function(a){q();this.fileCreated(a,d,k,g)}),a,!1,n):c==App.MODE_BROWSER?(q(),c=mxUtils.bind(this,function(){var c=new StorageFile(this,e,b);c.saveFile(b,!1,mxUtils.bind(this,function(){this.fileCreated(c,d,k,g)}),a)}),null==localStorage.getItem(b)?c():this.confirm(mxResources.get("replaceIt",[b]),c,mxUtils.bind(this,function(){null==this.getCurrentFile()&&null==this.dialog&&this.showSplash()}))):(q(),this.fileCreated(new LocalFile(this,
-e,b,null==c),d,k,g))}};
-App.prototype.fileCreated=function(b,e,d,c){var g=window.location.pathname;null!=e&&0<e.length&&(g+="?libs="+e);g=this.getUrl(g);b.getMode()!=App.MODE_DEVICE&&(g+="#"+b.getHash());if(this.spinner.spin(document.body,mxResources.get("inserting"))){var k=b.getData(),k=0<k.length?this.editor.extractGraphModel(mxUtils.parseXml(k).documentElement,!0):null,n=window.location.protocol+"//"+window.location.hostname+g,p=k,q=null;null!=k&&/\.svg$/i.test(b.getTitle())&&(q=this.createTemporaryGraph(this.editor.graph.getStylesheet()),document.body.appendChild(q.container),
-p=this.decodeNodeIntoGraph(p,q));b.setData(this.createFileData(k,q,b,n));null!=q&&q.container.parentNode.removeChild(q.container);var a=mxUtils.bind(this,function(){this.spinner.stop()}),f=mxUtils.bind(this,function(){a();var f=this.getCurrentFile();null==d&&null!=f&&(d=!f.isModified()&&null==f.getMode());var k=mxUtils.bind(this,function(){window.openFile=null;this.fileLoaded(b);d&&this.editor.setStatus(mxUtils.htmlEntities(mxResources.get("allChangesSaved")));null!=e&&this.sidebar.showEntries(e)}),
-n=mxUtils.bind(this,function(){d||null==f||!f.isModified()?k():this.confirm(mxResources.get("allChangesLost"),null,k,mxResources.get("cancel"),mxResources.get("discardChanges"))});null!=c&&c();null==d||d?n():(b.constructor==LocalFile&&(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(b.getData(),b.getTitle(),null==b.getMode())),null!=c&&c(),window.openWindow(g,null,n))});b.constructor==LocalFile||b.constructor==DriveFile?f():b.saveFile(b.getTitle(),!1,mxUtils.bind(this,
-function(){f()}),mxUtils.bind(this,function(c){a();this.handleError(c)}))}};
-App.prototype.loadFile=function(b,e,d,c){this.hideDialog();var g=mxUtils.bind(this,function(){if(null==b||0==b.length)this.editor.setStatus(""),this.fileLoaded(null);else if(this.spinner.spin(document.body,mxResources.get("loading")))if("L"==b.charAt(0))if(this.spinner.stop(),isLocalStorage)try{b=decodeURIComponent(b.substring(1));var g=localStorage.getItem(b);if(null!=g)this.fileLoaded(new StorageFile(this,g,b)),null!=c&&c();else throw{message:mxResources.get("fileNotFound")};}catch(a){this.handleError(a,
-mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){var a=this.getCurrentFile();window.location.hash=null!=a?a.getHash():""}))}else this.handleError({message:mxResources.get("serviceUnavailableOrBlocked")},mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){var a=this.getCurrentFile();window.location.hash=null!=a?a.getHash():""}));else if(null!=d)this.spinner.stop(),this.fileLoaded(d),null!=c&&c();else if("S"==b.charAt(0)){this.spinner.stop();try{this.loadDescriptor(JSON.parse(this.editor.graph.decompress(b.substring(1))),
+App.prototype.createFile=function(b,d,f,c,g,k,l,n){c=n?null:null!=c?c:this.mode;if(null!=b&&this.spinner.spin(document.body,mxResources.get("inserting"))){d=null!=d?d:this.emptyDiagramXml;var p=mxUtils.bind(this,function(){this.spinner.stop()}),a=mxUtils.bind(this,function(a){p();null==a&&null==this.getCurrentFile()&&null==this.dialog?this.showSplash():null!=a&&this.handleError(a)});c==App.MODE_GOOGLE&&null!=this.drive?(l=null!=this.stateArg?this.stateArg.folderId:l,this.drive.insertFile(b,d,l,mxUtils.bind(this,
+function(a){p();this.fileCreated(a,f,k,g)}),a)):c==App.MODE_GITHUB&&null!=this.gitHub?this.pickFolder(c,mxUtils.bind(this,function(c){this.gitHub.insertFile(b,d,mxUtils.bind(this,function(a){p();this.fileCreated(a,f,k,g)}),a,!1,c)})):c==App.MODE_TRELLO&&null!=this.trello?this.trello.insertFile(b,d,mxUtils.bind(this,function(a){p();this.fileCreated(a,f,k,g)}),a,!1,l):c==App.MODE_DROPBOX&&null!=this.dropbox?this.dropbox.insertFile(b,d,mxUtils.bind(this,function(a){p();this.fileCreated(a,f,k,g)}),a):
+c==App.MODE_ONEDRIVE&&null!=this.oneDrive?this.oneDrive.insertFile(b,d,mxUtils.bind(this,function(a){p();this.fileCreated(a,f,k,g)}),a,!1,l):c==App.MODE_BROWSER?(p(),c=mxUtils.bind(this,function(){var c=new StorageFile(this,d,b);c.saveFile(b,!1,mxUtils.bind(this,function(){this.fileCreated(c,f,k,g)}),a)}),null==localStorage.getItem(b)?c():this.confirm(mxResources.get("replaceIt",[b]),c,mxUtils.bind(this,function(){null==this.getCurrentFile()&&null==this.dialog&&this.showSplash()}))):(p(),this.fileCreated(new LocalFile(this,
+d,b,null==c),f,k,g))}};
+App.prototype.fileCreated=function(b,d,f,c){var g=window.location.pathname;null!=d&&0<d.length&&(g+="?libs="+d);g=this.getUrl(g);b.getMode()!=App.MODE_DEVICE&&(g+="#"+b.getHash());if(this.spinner.spin(document.body,mxResources.get("inserting"))){var k=b.getData(),k=0<k.length?this.editor.extractGraphModel(mxUtils.parseXml(k).documentElement,!0):null,l=window.location.protocol+"//"+window.location.hostname+g,n=k,p=null;null!=k&&/\.svg$/i.test(b.getTitle())&&(p=this.createTemporaryGraph(this.editor.graph.getStylesheet()),document.body.appendChild(p.container),
+n=this.decodeNodeIntoGraph(n,p));b.setData(this.createFileData(k,p,b,l));null!=p&&p.container.parentNode.removeChild(p.container);var a=mxUtils.bind(this,function(){this.spinner.stop()}),e=mxUtils.bind(this,function(){a();var e=this.getCurrentFile();null==f&&null!=e&&(f=!e.isModified()&&null==e.getMode());var k=mxUtils.bind(this,function(){window.openFile=null;this.fileLoaded(b);f&&this.editor.setStatus(mxUtils.htmlEntities(mxResources.get("allChangesSaved")));null!=d&&this.sidebar.showEntries(d)}),
+l=mxUtils.bind(this,function(){f||null==e||!e.isModified()?k():this.confirm(mxResources.get("allChangesLost"),null,k,mxResources.get("cancel"),mxResources.get("discardChanges"))});null!=c&&c();null==f||f?l():(b.constructor==LocalFile&&(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(b.getData(),b.getTitle(),null==b.getMode())),null!=c&&c(),window.openWindow(g,null,l))});b.constructor==LocalFile||b.constructor==DriveFile?e():b.saveFile(b.getTitle(),!1,mxUtils.bind(this,
+function(){e()}),mxUtils.bind(this,function(c){a();this.handleError(c)}))}};
+App.prototype.loadFile=function(b,d,f,c){this.hideDialog();var g=mxUtils.bind(this,function(){if(null==b||0==b.length)this.editor.setStatus(""),this.fileLoaded(null);else if(this.spinner.spin(document.body,mxResources.get("loading")))if("L"==b.charAt(0))if(this.spinner.stop(),isLocalStorage)try{b=decodeURIComponent(b.substring(1));var g=localStorage.getItem(b);if(null!=g)this.fileLoaded(new StorageFile(this,g,b)),null!=c&&c();else throw{message:mxResources.get("fileNotFound")};}catch(a){this.handleError(a,
+mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){var a=this.getCurrentFile();window.location.hash=null!=a?a.getHash():""}))}else this.handleError({message:mxResources.get("serviceUnavailableOrBlocked")},mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){var a=this.getCurrentFile();window.location.hash=null!=a?a.getHash():""}));else if(null!=f)this.spinner.stop(),this.fileLoaded(f),null!=c&&c();else if("S"==b.charAt(0)){this.spinner.stop();try{this.loadDescriptor(JSON.parse(this.editor.graph.decompress(b.substring(1))),
c,mxUtils.bind(this,function(a){this.handleError(a,mxResources.get("errorLoadingFile"))}))}catch(a){this.handleError(a,mxResources.get("errorLoadingFile"))}}else if("R"==b.charAt(0))this.spinner.stop(),g=decodeURIComponent(b.substring(1)),"<"!=g.charAt(0)&&(g=this.editor.graph.decompress(g)),g=new LocalFile(this,g,null!=urlParams.title?decodeURIComponent(urlParams.title):this.defaultFilename,!0),g.getHash=function(){return b},this.fileLoaded(g),null!=c&&c();else if("U"==b.charAt(0)){var k=decodeURIComponent(b.substring(1));
-this.loadTemplate(k,mxUtils.bind(this,function(a){this.spinner.stop();if(null!=a&&0<a.length){var d=this.defaultFilename;if(null==urlParams.title&&"1"!=urlParams.notitle){var g=k,n=k.lastIndexOf("."),p=g.lastIndexOf("/");n>p&&0<p&&(g=g.substring(p+1,n),n=k.substring(n),this.useCanvasForExport||".png"!=n||(n=".xml"),".svg"===n||".xml"===n||".html"===n||".png"===n)&&(d=g+n)}a=new LocalFile(this,a,null!=urlParams.title?decodeURIComponent(urlParams.title):d,!0);a.getHash=function(){return b};this.fileLoaded(a)||
-"https://drive.google.com/uc?id="!=k.substring(0,31)||null==this.drive&&"function"!==typeof window.DriveClient||(this.hideDialog(),a=mxUtils.bind(this,function(){return null!=this.drive?(this.spinner.stop(),this.loadFile("G"+k.substring(31,k.lastIndexOf("&")),e,c),!0):!1}),!a()&&this.spinner.spin(document.body,mxResources.get("loading"))&&this.addListener("clientLoaded",a))}}),mxUtils.bind(this,function(){this.spinner.stop();this.handleError({message:mxResources.get("fileNotFound")},mxResources.get("errorLoadingFile"))}))}else g=
+this.loadTemplate(k,mxUtils.bind(this,function(a){this.spinner.stop();if(null!=a&&0<a.length){var f=this.defaultFilename;if(null==urlParams.title&&"1"!=urlParams.notitle){var g=k,l=k.lastIndexOf("."),n=g.lastIndexOf("/");l>n&&0<n&&(g=g.substring(n+1,l),l=k.substring(l),this.useCanvasForExport||".png"!=l||(l=".xml"),".svg"===l||".xml"===l||".html"===l||".png"===l)&&(f=g+l)}a=new LocalFile(this,a,null!=urlParams.title?decodeURIComponent(urlParams.title):f,!0);a.getHash=function(){return b};this.fileLoaded(a)||
+"https://drive.google.com/uc?id="!=k.substring(0,31)||null==this.drive&&"function"!==typeof window.DriveClient||(this.hideDialog(),a=mxUtils.bind(this,function(){return null!=this.drive?(this.spinner.stop(),this.loadFile("G"+k.substring(31,k.lastIndexOf("&")),d,c),!0):!1}),!a()&&this.spinner.spin(document.body,mxResources.get("loading"))&&this.addListener("clientLoaded",a))}}),mxUtils.bind(this,function(){this.spinner.stop();this.handleError({message:mxResources.get("fileNotFound")},mxResources.get("errorLoadingFile"))}))}else g=
null,"G"==b.charAt(0)?g=this.drive:"D"==b.charAt(0)?g=this.dropbox:"W"==b.charAt(0)?g=this.oneDrive:"H"==b.charAt(0)?g=this.gitHub:"T"==b.charAt(0)&&(g=this.trello),null==g?this.handleError({message:mxResources.get("serviceUnavailableOrBlocked")},mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){var a=this.getCurrentFile();window.location.hash=null!=a?a.getHash():""})):(b=decodeURIComponent(b.substring(1)),g.getFile(b,mxUtils.bind(this,function(a){this.spinner.stop();this.fileLoaded(a);
-null!=c&&c()}),mxUtils.bind(this,function(a){null!=window.console&&null!=a&&console.log("error in loadFile:",b,a);this.handleError(a,null!=a?mxResources.get("errorLoadingFile"):null,mxUtils.bind(this,function(){var a=this.getCurrentFile();null==a?(window.location.hash="",this.showSplash()):window.location.hash=a.getHash()}))})))}),k=this.getCurrentFile(),n=mxUtils.bind(this,function(){null!=k&&k.isModified()?this.confirm(mxResources.get("allChangesLost"),mxUtils.bind(this,function(){null!=k&&(window.location.hash=
-k.getHash())}),g,mxResources.get("cancel"),mxResources.get("discardChanges")):g()});null==b||0==b.length?n():null!=k&&k.isModified()&&!e?window.openWindow(this.getUrl()+"#"+b,null,n):n()};
-App.prototype.getLibraryStorageHint=function(b){var e=b.getTitle();b.constructor!=LocalLibrary&&(e+="\n"+b.getHash());b.constructor==DriveLibrary?e+=" ("+mxResources.get("googleDrive")+")":b.constructor==GitHubLibrary?e+=" ("+mxResources.get("github")+")":b.constructor==TrelloLibrary?e+=" ("+mxResources.get("trello")+")":b.constructor==DropboxLibrary?e+=" ("+mxResources.get("dropbox")+")":b.constructor==OneDriveLibrary?e+=" ("+mxResources.get("oneDrive")+")":b.constructor==StorageLibrary?e+=" ("+
-mxResources.get("browser")+")":b.constructor==LocalLibrary&&(e+=" ("+mxResources.get("device")+")");return e};
-App.prototype.restoreLibraries=function(){if(null!=this.sidebar){null==this.pendingLibraries&&(this.pendingLibraries={});var b=mxUtils.bind(this,function(b){mxSettings.removeCustomLibrary(b);delete this.pendingLibraries[b]}),e=mxUtils.bind(this,function(d,c){var e=0,k=[],n=mxUtils.bind(this,function(){if(0==e){if(null!=d)for(var a=d.length-1;0<=a;a--)null!=k[a]&&this.loadLibrary(k[a]);null!=c&&c()}});if(null!=d)for(var p=0;p<d.length;p++){var q=encodeURIComponent(decodeURIComponent(d[p]));mxUtils.bind(this,
-function(a,c){if(null!=a&&0<a.length&&null==this.pendingLibraries[a]&&null==this.sidebar.palettes[a]){e++;var d=mxUtils.bind(this,function(b){delete this.pendingLibraries[a];k[c]=b;e--;n()}),f=mxUtils.bind(this,function(){b(a);e--;n()});this.pendingLibraries[a]=!0;var g=a.substring(0,1);if("L"==g)(isLocalStorage||mxClient.IS_CHROMEAPP)&&window.setTimeout(mxUtils.bind(this,function(){try{var c=decodeURIComponent(a.substring(1));this.getLocalData(c,mxUtils.bind(this,function(a){".scratchpad"==c&&null==
-a&&(a=this.emptyLibraryXml);null!=a?d(new StorageLibrary(this,a,c)):f()}))}catch(C){f()}}),0);else if("U"==g){var p=decodeURIComponent(a.substring(1));if(!this.isOffline()){g=p;this.isCorsEnabledForUrl(g)||(g="t="+(new Date).getTime(),g=PROXY_URL+"?url="+encodeURIComponent(p)+"&"+g);try{mxUtils.get(g,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus())try{d(new UrlLibrary(this,a.getText(),p))}catch(C){f()}else f()}),function(){f()})}catch(x){f()}}}else{var q=null;"G"==g?null!=
-this.drive&&null!=this.drive.user&&(q=this.drive):"H"==g?null!=this.gitHub&&null!=this.gitHub.getUser()&&(q=this.gitHub):"T"==g?null!=this.trello&&this.trello.isAuthorized()&&(q=this.trello):"D"==g?null!=this.dropbox&&null!=this.dropbox.getUser()&&(q=this.dropbox):"W"==g&&null!=this.oneDrive&&null!=this.oneDrive.getUser()&&(q=this.oneDrive);null!=q?q.getLibrary(decodeURIComponent(a.substring(1)),mxUtils.bind(this,function(a){try{d(a)}catch(C){f()}}),function(a){f()}):(delete this.pendingLibraries[a],
-f())}}})(q,p)}n()});e(mxSettings.getCustomLibraries(),function(){e((urlParams.clibs||"").split(";"))})}};
+null!=c&&c()}),mxUtils.bind(this,function(a){null!=window.console&&null!=a&&console.log("error in loadFile:",b,a);this.handleError(a,null!=a?mxResources.get("errorLoadingFile"):null,mxUtils.bind(this,function(){var a=this.getCurrentFile();null==a?(window.location.hash="",this.showSplash()):window.location.hash=a.getHash()}))})))}),k=this.getCurrentFile(),l=mxUtils.bind(this,function(){null!=k&&k.isModified()?this.confirm(mxResources.get("allChangesLost"),mxUtils.bind(this,function(){null!=k&&(window.location.hash=
+k.getHash())}),g,mxResources.get("cancel"),mxResources.get("discardChanges")):g()});null==b||0==b.length?l():null!=k&&k.isModified()&&!d?window.openWindow(this.getUrl()+"#"+b,null,l):l()};
+App.prototype.getLibraryStorageHint=function(b){var d=b.getTitle();b.constructor!=LocalLibrary&&(d+="\n"+b.getHash());b.constructor==DriveLibrary?d+=" ("+mxResources.get("googleDrive")+")":b.constructor==GitHubLibrary?d+=" ("+mxResources.get("github")+")":b.constructor==TrelloLibrary?d+=" ("+mxResources.get("trello")+")":b.constructor==DropboxLibrary?d+=" ("+mxResources.get("dropbox")+")":b.constructor==OneDriveLibrary?d+=" ("+mxResources.get("oneDrive")+")":b.constructor==StorageLibrary?d+=" ("+
+mxResources.get("browser")+")":b.constructor==LocalLibrary&&(d+=" ("+mxResources.get("device")+")");return d};
+App.prototype.restoreLibraries=function(){if(null!=this.sidebar){null==this.pendingLibraries&&(this.pendingLibraries={});var b=mxUtils.bind(this,function(b){mxSettings.removeCustomLibrary(b);delete this.pendingLibraries[b]}),d=mxUtils.bind(this,function(d,c){var f=0,k=[],l=mxUtils.bind(this,function(){if(0==f){if(null!=d)for(var a=d.length-1;0<=a;a--)null!=k[a]&&this.loadLibrary(k[a]);null!=c&&c()}});if(null!=d)for(var n=0;n<d.length;n++){var p=encodeURIComponent(decodeURIComponent(d[n]));mxUtils.bind(this,
+function(a,c){if(null!=a&&0<a.length&&null==this.pendingLibraries[a]&&null==this.sidebar.palettes[a]){f++;var d=mxUtils.bind(this,function(b){delete this.pendingLibraries[a];k[c]=b;f--;l()}),e=mxUtils.bind(this,function(){b(a);f--;l()});this.pendingLibraries[a]=!0;var g=a.substring(0,1);if("L"==g)(isLocalStorage||mxClient.IS_CHROMEAPP)&&window.setTimeout(mxUtils.bind(this,function(){try{var c=decodeURIComponent(a.substring(1));this.getLocalData(c,mxUtils.bind(this,function(a){".scratchpad"==c&&null==
+a&&(a=this.emptyLibraryXml);null!=a?d(new StorageLibrary(this,a,c)):e()}))}catch(x){e()}}),0);else if("U"==g){var n=decodeURIComponent(a.substring(1));if(!this.isOffline()){g=n;this.isCorsEnabledForUrl(g)||(g="t="+(new Date).getTime(),g=PROXY_URL+"?url="+encodeURIComponent(n)+"&"+g);try{mxUtils.get(g,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus())try{d(new UrlLibrary(this,a.getText(),n))}catch(x){e()}else e()}),function(){e()})}catch(y){e()}}}else{var p=null;"G"==g?null!=
+this.drive&&null!=this.drive.user&&(p=this.drive):"H"==g?null!=this.gitHub&&null!=this.gitHub.getUser()&&(p=this.gitHub):"T"==g?null!=this.trello&&this.trello.isAuthorized()&&(p=this.trello):"D"==g?null!=this.dropbox&&null!=this.dropbox.getUser()&&(p=this.dropbox):"W"==g&&null!=this.oneDrive&&null!=this.oneDrive.getUser()&&(p=this.oneDrive);null!=p?p.getLibrary(decodeURIComponent(a.substring(1)),mxUtils.bind(this,function(a){try{d(a)}catch(x){e()}}),function(a){e()}):(delete this.pendingLibraries[a],
+e())}}})(p,n)}l()});d(mxSettings.getCustomLibraries(),function(){d((urlParams.clibs||"").split(";"))})}};
App.prototype.updateButtonContainer=function(){if(null!=this.buttonContainer){var b=this.getCurrentFile();null!=b&&b.constructor==DriveFile?null==this.shareButton&&(this.shareButton=document.createElement("div"),this.shareButton.className="geBtn gePrimaryBtn",this.shareButton.style.display="inline-block",this.shareButton.style.padding="0 10px 0 10px",this.shareButton.style.marginTop="-4px",this.shareButton.style.height="28px",this.shareButton.style.lineHeight="28px",this.shareButton.style.minWidth=
"0px",this.shareButton.style.cssFloat="right",b=document.createElement("img"),b.setAttribute("src",this.shareImage),b.setAttribute("align","absmiddle"),b.style.marginRight="4px",b.style.marginTop="-3px",this.shareButton.appendChild(b),mxUtils.write(this.shareButton,mxResources.get("share")),mxEvent.addListener(this.shareButton,"click",mxUtils.bind(this,function(){this.actions.get("share").funct()})),this.buttonContainer.appendChild(this.shareButton)):null!=this.shareButton&&(this.shareButton.parentNode.removeChild(this.shareButton),
this.shareButton=null)}};
-App.prototype.save=function(b,e){var d=this.getCurrentFile(),c=mxResources.get("saving");null!=d&&d.constructor==DriveFile&&(c=mxResources.get("createRevision"));if(null!=d&&this.spinner.spin(document.body,c)){this.editor.setStatus("");this.editor.graph.isEditing()&&this.editor.graph.stopEditing();var c=mxUtils.bind(this,function(c){this.spinner.stop();this.getCurrentFile()==d&&(d.isModified()?d.isAutosave()||d.addUnsavedStatus():this.editor.setStatus(mxUtils.htmlEntities(mxResources.get("allChangesSaved"))));null!=
-e&&e()}),g=mxUtils.bind(this,function(c){this.handleError(c,null!=c?mxResources.get("errorSavingFile"):null)});b==d.getTitle()?d.save(!0,c,g):d.saveAs(b,c,g)}};
-App.prototype.pickFolder=function(b,e,d){d=null!=d?d:!0;var c=this.spinner.pause();d&&b==App.MODE_GOOGLE&&null!=this.drive?this.drive.pickFolder(mxUtils.bind(this,function(b){c();if(b.action==google.picker.Action.PICKED){var d=null;null!=b.docs&&0<b.docs.length&&"folder"==b.docs[0].type&&(d=b.docs[0].id);e(d)}})):d&&b==App.MODE_ONEDRIVE&&null!=this.oneDrive?this.oneDrive.pickFolder(mxUtils.bind(this,function(b){c();null!=b&&null!=b.value&&0<b.value.length&&(b=b.value[0].id,e(b))})):d&&b==App.MODE_GITHUB&&
-null!=this.gitHub?this.gitHub.pickFolder(mxUtils.bind(this,function(b){c();e(b)})):d&&b==App.MODE_TRELLO&&null!=this.trello?this.trello.pickFolder(mxUtils.bind(this,function(b){c();e(b)})):EditorUi.prototype.pickFolder.apply(this,arguments)};
-App.prototype.exportFile=function(b,e,d,c,g,k){g==App.MODE_DROPBOX?null!=this.dropbox&&this.spinner.spin(document.body,mxResources.get("saving"))&&this.dropbox.insertFile(e,c?this.base64ToBlob(b,d):b,mxUtils.bind(this,function(){this.spinner.stop()}),mxUtils.bind(this,function(c){this.spinner.stop();this.handleError(c)})):g==App.MODE_GOOGLE?null!=this.drive&&this.spinner.spin(document.body,mxResources.get("saving"))&&this.drive.insertFile(e,b,k,mxUtils.bind(this,function(c){this.spinner.stop()}),
-mxUtils.bind(this,function(c){this.spinner.stop();this.handleError(c)}),d,c,!1):g==App.MODE_ONEDRIVE?null!=this.oneDrive&&this.spinner.spin(document.body,mxResources.get("saving"))&&this.oneDrive.insertFile(e,c?this.base64ToBlob(b,d):b,mxUtils.bind(this,function(){this.spinner.stop()}),mxUtils.bind(this,function(c){this.spinner.stop();this.handleError(c)}),!1,k):g==App.MODE_GITHUB?null!=this.gitHub&&this.spinner.spin(document.body,mxResources.get("saving"))&&this.gitHub.insertFile(e,b,mxUtils.bind(this,
-function(){this.spinner.stop()}),mxUtils.bind(this,function(c){this.spinner.stop();this.handleError(c)}),!0,k,c):g==App.MODE_TRELLO?null!=this.trello&&this.spinner.spin(document.body,mxResources.get("saving"))&&this.trello.insertFile(e,c?this.base64ToBlob(b,d):b,mxUtils.bind(this,function(){this.spinner.stop()}),mxUtils.bind(this,function(c){this.spinner.stop();this.handleError(c)}),!1,k):g==App.MODE_BROWSER&&(d=mxUtils.bind(this,function(){localStorage.setItem(e,b)}),null==localStorage.getItem(e)?
-d():this.confirm(mxResources.get("replaceIt",[e]),d))};
-App.prototype.descriptorChanged=function(){var b=this.getCurrentFile();if(null!=b){if(null!=this.fname){this.fnameWrapper.style.display="block";this.fname.innerHTML="";var e=null!=b.getTitle()?b.getTitle():this.defaultFilename;mxUtils.write(this.fname,e);this.fname.setAttribute("title",e+" - "+mxResources.get("rename"))}this.editor.graph.setEnabled(b.isEditable());null==urlParams.rev&&(this.updateDocumentTitle(),b=b.getHash(),0<b.length?window.location.hash=b:0<window.location.hash.length&&(window.location.hash=
-""))}};App.prototype.toggleChat=function(){var b=this.getCurrentFile();if(null!=b){if(null==b.chatWindow){var e=document.body.offsetWidth-300;b.chatWindow=new ChatWindow(this,mxResources.get("chatWindowTitle"),document.getElementById("geChat"),e,80,250,350,b.realtime);b.chatWindow.window.setVisible(!1)}b.chatWindow.window.setVisible(!b.chatWindow.window.isVisible())}};
-App.prototype.showAuthDialog=function(b,e,d,c){var g=this.spinner.pause();this.showDialog((new AuthDialog(this,b,e,mxUtils.bind(this,function(c){try{null!=d&&d(c,mxUtils.bind(this,function(){this.hideDialog();g()}))}catch(n){this.editor.setStatus(mxUtils.htmlEntities(n.message))}}))).container,300,e?180:140,!0,!0,mxUtils.bind(this,function(b){null!=c&&c();b&&null==this.getCurrentFile()&&null==this.dialog&&this.showSplash()}))};
-App.prototype.convertFile=function(b,e,d,c,g,k){var n=e;/\.svg$/i.test(n)||(n=n.substring(0,e.lastIndexOf("."))+c);var p=!1;null!=this.gitHub&&b.substring(0,this.gitHub.baseUrl.length)==this.gitHub.baseUrl&&(p=!0);if(/\.vsdx?$/i.test(e)&&Graph.fileSupport&&(new XMLHttpRequest).upload&&"string"===typeof(new XMLHttpRequest).responseType){var q=new XMLHttpRequest;q.open("GET",b,!0);p||(q.responseType="blob");q.onload=mxUtils.bind(this,function(){var a=null;p?(a=JSON.parse(q.responseText),a=this.base64ToBlob(a.content,
-"application/octet-stream")):a=new Blob([q.response],{type:"application/octet-stream"});this.importVisio(a,mxUtils.bind(this,function(a){g(new LocalFile(this,a,n,!0))}),k,e)});q.send()}else{var a=mxUtils.bind(this,function(a){try{/\.png$/i.test(e)?(temp=this.extractGraphModelFromPng(a),null!=temp?g(new LocalFile(this,temp,n,!0)):g(new LocalFile(this,a,e,!0))):Graph.fileSupport&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(a,b)?this.parseFile(new Blob([a],{type:"application/octet-stream"}),
-mxUtils.bind(this,function(a){4==a.readyState&&(200<=a.status&&299>=a.status?g(new LocalFile(this,a.responseText,n,!0)):null!=k&&k({message:mxResources.get("errorLoadingFile")}))}),e):g(new LocalFile(this,a,n,!0))}catch(h){null!=k&&k(h)}});d=/\.png$/i.test(e)||/\.jpe?g$/i.test(e)||null!=d&&"image/"==d.substring(0,6);p?mxUtils.get(b,mxUtils.bind(this,function(c){if(200<=c.getStatus()&&299>=c.getStatus()){if(null!=g){c=JSON.parse(c.getText());var b=c.content;"base64"===c.encoding&&(b=/\.png$/i.test(e)?
-"data:image/png;base64,"+b:!window.atob||mxClient.IS_IE||mxClient.IS_IE11?Base64.decode(b):atob(b));a(b)}}else null!=k&&k({code:App.ERROR_UNKNOWN})}),function(){null!=k&&k({code:App.ERROR_UNKNOWN})},!1,this.timeout,function(){null!=k&&k({code:App.ERROR_TIMEOUT,retry:fn})}):this.loadUrl(b,a,k,d)}};
+App.prototype.save=function(b,d){var f=this.getCurrentFile(),c=mxResources.get("saving");null!=f&&f.constructor==DriveFile&&(c=mxResources.get("createRevision"));if(null!=f&&this.spinner.spin(document.body,c)){this.editor.setStatus("");this.editor.graph.isEditing()&&this.editor.graph.stopEditing();var c=mxUtils.bind(this,function(c){this.spinner.stop();this.getCurrentFile()==f&&(f.isModified()?f.isAutosave()||f.addUnsavedStatus():this.editor.setStatus(mxUtils.htmlEntities(mxResources.get("allChangesSaved"))));null!=
+d&&d()}),g=mxUtils.bind(this,function(c){this.handleError(c,null!=c?mxResources.get("errorSavingFile"):null)});b==f.getTitle()?f.save(!0,c,g):f.saveAs(b,c,g)}};
+App.prototype.pickFolder=function(b,d,f){f=null!=f?f:!0;var c=this.spinner.pause();f&&b==App.MODE_GOOGLE&&null!=this.drive?this.drive.pickFolder(mxUtils.bind(this,function(b){c();if(b.action==google.picker.Action.PICKED){var f=null;null!=b.docs&&0<b.docs.length&&"folder"==b.docs[0].type&&(f=b.docs[0].id);d(f)}})):f&&b==App.MODE_ONEDRIVE&&null!=this.oneDrive?this.oneDrive.pickFolder(mxUtils.bind(this,function(b){c();null!=b&&null!=b.value&&0<b.value.length&&(b=b.value[0].id,d(b))})):f&&b==App.MODE_GITHUB&&
+null!=this.gitHub?this.gitHub.pickFolder(mxUtils.bind(this,function(b){c();d(b)})):f&&b==App.MODE_TRELLO&&null!=this.trello?this.trello.pickFolder(mxUtils.bind(this,function(b){c();d(b)})):EditorUi.prototype.pickFolder.apply(this,arguments)};
+App.prototype.exportFile=function(b,d,f,c,g,k){g==App.MODE_DROPBOX?null!=this.dropbox&&this.spinner.spin(document.body,mxResources.get("saving"))&&this.dropbox.insertFile(d,c?this.base64ToBlob(b,f):b,mxUtils.bind(this,function(){this.spinner.stop()}),mxUtils.bind(this,function(c){this.spinner.stop();this.handleError(c)})):g==App.MODE_GOOGLE?null!=this.drive&&this.spinner.spin(document.body,mxResources.get("saving"))&&this.drive.insertFile(d,b,k,mxUtils.bind(this,function(c){this.spinner.stop()}),
+mxUtils.bind(this,function(c){this.spinner.stop();this.handleError(c)}),f,c,!1):g==App.MODE_ONEDRIVE?null!=this.oneDrive&&this.spinner.spin(document.body,mxResources.get("saving"))&&this.oneDrive.insertFile(d,c?this.base64ToBlob(b,f):b,mxUtils.bind(this,function(){this.spinner.stop()}),mxUtils.bind(this,function(c){this.spinner.stop();this.handleError(c)}),!1,k):g==App.MODE_GITHUB?null!=this.gitHub&&this.spinner.spin(document.body,mxResources.get("saving"))&&this.gitHub.insertFile(d,b,mxUtils.bind(this,
+function(){this.spinner.stop()}),mxUtils.bind(this,function(c){this.spinner.stop();this.handleError(c)}),!0,k,c):g==App.MODE_TRELLO?null!=this.trello&&this.spinner.spin(document.body,mxResources.get("saving"))&&this.trello.insertFile(d,c?this.base64ToBlob(b,f):b,mxUtils.bind(this,function(){this.spinner.stop()}),mxUtils.bind(this,function(c){this.spinner.stop();this.handleError(c)}),!1,k):g==App.MODE_BROWSER&&(f=mxUtils.bind(this,function(){localStorage.setItem(d,b)}),null==localStorage.getItem(d)?
+f():this.confirm(mxResources.get("replaceIt",[d]),f))};
+App.prototype.descriptorChanged=function(){var b=this.getCurrentFile();if(null!=b){if(null!=this.fname){this.fnameWrapper.style.display="block";this.fname.innerHTML="";var d=null!=b.getTitle()?b.getTitle():this.defaultFilename;mxUtils.write(this.fname,d);this.fname.setAttribute("title",d+" - "+mxResources.get("rename"))}this.editor.graph.setEnabled(b.isEditable());null==urlParams.rev&&(this.updateDocumentTitle(),b=b.getHash(),0<b.length?window.location.hash=b:0<window.location.hash.length&&(window.location.hash=
+""))}};App.prototype.toggleChat=function(){var b=this.getCurrentFile();if(null!=b){if(null==b.chatWindow){var d=document.body.offsetWidth-300;b.chatWindow=new ChatWindow(this,mxResources.get("chatWindowTitle"),document.getElementById("geChat"),d,80,250,350,b.realtime);b.chatWindow.window.setVisible(!1)}b.chatWindow.window.setVisible(!b.chatWindow.window.isVisible())}};
+App.prototype.showAuthDialog=function(b,d,f,c){var g=this.spinner.pause();this.showDialog((new AuthDialog(this,b,d,mxUtils.bind(this,function(c){try{null!=f&&f(c,mxUtils.bind(this,function(){this.hideDialog();g()}))}catch(l){this.editor.setStatus(mxUtils.htmlEntities(l.message))}}))).container,300,d?180:140,!0,!0,mxUtils.bind(this,function(b){null!=c&&c();b&&null==this.getCurrentFile()&&null==this.dialog&&this.showSplash()}))};
+App.prototype.convertFile=function(b,d,f,c,g,k){var l=d;/\.svg$/i.test(l)||(l=l.substring(0,d.lastIndexOf("."))+c);var n=!1;null!=this.gitHub&&b.substring(0,this.gitHub.baseUrl.length)==this.gitHub.baseUrl&&(n=!0);if(/\.vsdx?$/i.test(d)&&Graph.fileSupport&&(new XMLHttpRequest).upload&&"string"===typeof(new XMLHttpRequest).responseType){var p=new XMLHttpRequest;p.open("GET",b,!0);n||(p.responseType="blob");p.onload=mxUtils.bind(this,function(){var a=null;n?(a=JSON.parse(p.responseText),a=this.base64ToBlob(a.content,
+"application/octet-stream")):a=new Blob([p.response],{type:"application/octet-stream"});this.importVisio(a,mxUtils.bind(this,function(a){g(new LocalFile(this,a,l,!0))}),k,d)});p.send()}else{var a=mxUtils.bind(this,function(a){try{/\.png$/i.test(d)?(temp=this.extractGraphModelFromPng(a),null!=temp?g(new LocalFile(this,temp,l,!0)):g(new LocalFile(this,a,d,!0))):Graph.fileSupport&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(a,b)?this.parseFile(new Blob([a],{type:"application/octet-stream"}),
+mxUtils.bind(this,function(a){4==a.readyState&&(200<=a.status&&299>=a.status?g(new LocalFile(this,a.responseText,l,!0)):null!=k&&k({message:mxResources.get("errorLoadingFile")}))}),d):g(new LocalFile(this,a,l,!0))}catch(h){null!=k&&k(h)}});f=/\.png$/i.test(d)||/\.jpe?g$/i.test(d)||null!=f&&"image/"==f.substring(0,6);n?mxUtils.get(b,mxUtils.bind(this,function(c){if(200<=c.getStatus()&&299>=c.getStatus()){if(null!=g){c=JSON.parse(c.getText());var b=c.content;"base64"===c.encoding&&(b=/\.png$/i.test(d)?
+"data:image/png;base64,"+b:!window.atob||mxClient.IS_IE||mxClient.IS_IE11?Base64.decode(b):atob(b));a(b)}}else null!=k&&k({code:App.ERROR_UNKNOWN})}),function(){null!=k&&k({code:App.ERROR_UNKNOWN})},!1,this.timeout,function(){null!=k&&k({code:App.ERROR_TIMEOUT,retry:fn})}):this.loadUrl(b,a,k,f)}};
App.prototype.updateHeader=function(){if(null!=this.menubar){this.appIcon=document.createElement("a");this.appIcon.style.display="block";this.appIcon.style.position="absolute";this.appIcon.style.width="40px";this.appIcon.style.backgroundColor="#f18808";this.appIcon.style.height=this.menubarHeight+"px";mxEvent.disableContextMenu(this.appIcon);mxEvent.addListener(this.appIcon,"click",mxUtils.bind(this,function(c){this.appIconClicked(c)}));var b=mxClient.IS_SVG?"url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIKICAgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzA2LjE4NSAxMjAuMjk2IgogICB2aWV3Qm94PSIyNCAyNiA2OCA2OCIKICAgeT0iMHB4IgogICB4PSIwcHgiCiAgIHZlcnNpb249IjEuMSI+CiAgIAkgPGc+PGxpbmUKICAgICAgIHkyPSI3Mi4zOTQiCiAgICAgICB4Mj0iNDEuMDYxIgogICAgICAgeTE9IjQzLjM4NCIKICAgICAgIHgxPSI1OC4wNjkiCiAgICAgICBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiCiAgICAgICBzdHJva2Utd2lkdGg9IjMuNTUyOCIKICAgICAgIHN0cm9rZT0iI0ZGRkZGRiIKICAgICAgIGZpbGw9Im5vbmUiIC8+PGxpbmUKICAgICAgIHkyPSI3Mi4zOTQiCiAgICAgICB4Mj0iNzUuMDc2IgogICAgICAgeTE9IjQzLjM4NCIKICAgICAgIHgxPSI1OC4wNjgiCiAgICAgICBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiCiAgICAgICBzdHJva2Utd2lkdGg9IjMuNTAwOCIKICAgICAgIHN0cm9rZT0iI0ZGRkZGRiIKICAgICAgIGZpbGw9Im5vbmUiIC8+PGc+PHBhdGgKICAgICAgICAgZD0iTTUyLjc3Myw3Ny4wODRjMCwxLjk1NC0xLjU5OSwzLjU1My0zLjU1MywzLjU1M0gzNi45OTljLTEuOTU0LDAtMy41NTMtMS41OTktMy41NTMtMy41NTN2LTkuMzc5ICAgIGMwLTEuOTU0LDEuNTk5LTMuNTUzLDMuNTUzLTMuNTUzaDEyLjIyMmMxLjk1NCwwLDMuNTUzLDEuNTk5LDMuNTUzLDMuNTUzVjc3LjA4NHoiCiAgICAgICAgIGZpbGw9IiNGRkZGRkYiIC8+PC9nPjxnCiAgICAgICBpZD0iZzM0MTkiPjxwYXRoCiAgICAgICAgIGQ9Ik02Ny43NjIsNDguMDc0YzAsMS45NTQtMS41OTksMy41NTMtMy41NTMsMy41NTNINTEuOTg4Yy0xLjk1NCwwLTMuNTUzLTEuNTk5LTMuNTUzLTMuNTUzdi05LjM3OSAgICBjMC0xLjk1NCwxLjU5OS0zLjU1MywzLjU1My0zLjU1M0g2NC4yMWMxLjk1NCwwLDMuNTUzLDEuNTk5LDMuNTUzLDMuNTUzVjQ4LjA3NHoiCiAgICAgICAgIGZpbGw9IiNGRkZGRkYiIC8+PC9nPjxnPjxwYXRoCiAgICAgICAgIGQ9Ik04Mi43NTIsNzcuMDg0YzAsMS45NTQtMS41OTksMy41NTMtMy41NTMsMy41NTNINjYuOTc3Yy0xLjk1NCwwLTMuNTUzLTEuNTk5LTMuNTUzLTMuNTUzdi05LjM3OSAgICBjMC0xLjk1NCwxLjU5OS0zLjU1MywzLjU1My0zLjU1M2gxMi4yMjJjMS45NTQsMCwzLjU1MywxLjU5OSwzLjU1MywzLjU1M1Y3Ny4wODR6IgogICAgICAgICBmaWxsPSIjRkZGRkZGIiAvPjwvZz48L2c+PC9zdmc+)":
"url('"+IMAGE_PATH+"/logo-white.png')";this.appIcon.style.backgroundImage=b;this.appIcon.style.backgroundPosition="center center";this.appIcon.style.backgroundRepeat="no-repeat";mxUtils.setPrefixedStyle(this.appIcon.style,"transition","all 125ms linear");mxEvent.addListener(this.appIcon,"mouseover",mxUtils.bind(this,function(){var c=this.getCurrentFile();null!=c&&(c=c.getMode(),c==App.MODE_GOOGLE?this.appIcon.style.backgroundImage="url("+IMAGE_PATH+"/google-drive-logo-white.svg)":c==App.MODE_DROPBOX?
this.appIcon.style.backgroundImage="url("+IMAGE_PATH+"/dropbox-logo-white.svg)":c==App.MODE_ONEDRIVE?this.appIcon.style.backgroundImage="url("+IMAGE_PATH+"/onedrive-logo-white.svg)":c==App.MODE_GITHUB?this.appIcon.style.backgroundImage="url("+IMAGE_PATH+"/github-logo-white.svg)":c==App.MODE_TRELLO&&(this.appIcon.style.backgroundImage="url("+IMAGE_PATH+"/trello-logo-white-orange.svg)"))}));mxEvent.addListener(this.appIcon,"mouseout",mxUtils.bind(this,function(){this.appIcon.style.backgroundImage=b}));
@@ -7550,10 +7550,10 @@ this.appIcon.style.backgroundImage="url("+IMAGE_PATH+"/dropbox-logo-white.svg)":
"javascript:void(0);");this.fname.setAttribute("title",mxResources.get("rename"));this.fname.className="geItem";this.fname.style.padding="2px 8px 2px 8px";this.fname.style.display="inline";this.fname.style.fontSize="18px";this.fname.style.whiteSpace="nowrap";mxEvent.addListener(this.fname,"click",mxUtils.bind(this,function(c){var b=this.getCurrentFile();null!=b&&b.isRenamable()&&this.actions.get("rename").funct();mxEvent.consume(c)}));this.fnameWrapper.appendChild(this.fname);"1"!=urlParams.embed&&
(this.menubarContainer.appendChild(this.fnameWrapper),this.menubar.container.style.position="absolute",this.menubar.container.style.paddingLeft="52px",this.menubar.container.style.boxSizing="border-box",this.menubar.container.style.top="29px",this.toolbar.container.style.paddingLeft="56px");this.toggleFormatElement=document.createElement("a");this.toggleFormatElement.setAttribute("href","javascript:void(0);");this.toggleFormatElement.setAttribute("title",mxResources.get("formatPanel")+" ("+Editor.ctrlKey+
"+Shift+P)");this.toggleFormatElement.style.position="absolute";this.toggleFormatElement.style.display="inline-block";this.toggleFormatElement.style.top="5px";this.toggleFormatElement.style.right="atlas"!=uiTheme&&"1"!=urlParams.embed?"26px":"10px";this.toggleFormatElement.style.padding="2px";this.toggleFormatElement.style.fontSize="14px";this.toggleFormatElement.className="atlas"!=uiTheme?"geButton":"";this.toggleFormatElement.style.width="16px";this.toggleFormatElement.style.height="16px";this.toggleFormatElement.style.backgroundPosition=
-"50% 50%";this.toggleFormatElement.style.backgroundRepeat="no-repeat";this.toolbarContainer.appendChild(this.toggleFormatElement);"dark"==uiTheme&&(this.toggleFormatElement.style.filter="invert(100%)");mxEvent.addListener(this.toggleFormatElement,"click",mxUtils.bind(this,function(c){this.actions.get("formatPanel").funct();mxEvent.consume(c)}));var e=mxUtils.bind(this,function(){this.toggleFormatElement.style.backgroundImage=0<this.formatWidth?"url('"+this.formatShowImage+"')":"url('"+this.formatHideImage+
-"')"});this.addListener("formatWidthChanged",e);e();this.fullscreenElement=document.createElement("a");this.fullscreenElement.setAttribute("href","javascript:void(0);");this.fullscreenElement.setAttribute("title",mxResources.get("fullscreen"));this.fullscreenElement.style.position="absolute";this.fullscreenElement.style.display="inline-block";this.fullscreenElement.style.top="5px";this.fullscreenElement.style.right="atlas"!=uiTheme&&"1"!=urlParams.embed?"42px":"26px";this.fullscreenElement.style.padding=
-"2px";this.fullscreenElement.style.fontSize="14px";this.fullscreenElement.className="atlas"!=uiTheme?"geButton":"";this.fullscreenElement.style.width="16px";this.fullscreenElement.style.height="16px";this.fullscreenElement.style.backgroundPosition="50% 50%";this.fullscreenElement.style.backgroundRepeat="no-repeat";this.fullscreenElement.style.backgroundImage="url('"+this.fullscreenImage+"')";this.toolbarContainer.appendChild(this.fullscreenElement);var d=this.hsplitPosition,c=!1;"dark"==uiTheme&&
-(this.fullscreenElement.style.filter="invert(100%)");mxEvent.addListener(this.fullscreenElement,"click",mxUtils.bind(this,function(b){"atlas"!=uiTheme&&"1"!=urlParams.embed&&this.toggleCompactMode(!c);this.toggleFormatPanel(!c);this.hsplitPosition=c?d:0;this.hideFooter();c=!c;mxEvent.consume(b)}));"atlas"==uiTheme&&(mxUtils.setOpacity(this.toggleFormatElement,70),mxUtils.setOpacity(this.fullscreenElement,70),this.toggleFormatElement.style.right="6px",this.fullscreenElement.style.right="22px",this.toggleFormatElement.style.top=
+"50% 50%";this.toggleFormatElement.style.backgroundRepeat="no-repeat";this.toolbarContainer.appendChild(this.toggleFormatElement);"dark"==uiTheme&&(this.toggleFormatElement.style.filter="invert(100%)");mxEvent.addListener(this.toggleFormatElement,"click",mxUtils.bind(this,function(c){this.actions.get("formatPanel").funct();mxEvent.consume(c)}));var d=mxUtils.bind(this,function(){this.toggleFormatElement.style.backgroundImage=0<this.formatWidth?"url('"+this.formatShowImage+"')":"url('"+this.formatHideImage+
+"')"});this.addListener("formatWidthChanged",d);d();this.fullscreenElement=document.createElement("a");this.fullscreenElement.setAttribute("href","javascript:void(0);");this.fullscreenElement.setAttribute("title",mxResources.get("fullscreen"));this.fullscreenElement.style.position="absolute";this.fullscreenElement.style.display="inline-block";this.fullscreenElement.style.top="5px";this.fullscreenElement.style.right="atlas"!=uiTheme&&"1"!=urlParams.embed?"42px":"26px";this.fullscreenElement.style.padding=
+"2px";this.fullscreenElement.style.fontSize="14px";this.fullscreenElement.className="atlas"!=uiTheme?"geButton":"";this.fullscreenElement.style.width="16px";this.fullscreenElement.style.height="16px";this.fullscreenElement.style.backgroundPosition="50% 50%";this.fullscreenElement.style.backgroundRepeat="no-repeat";this.fullscreenElement.style.backgroundImage="url('"+this.fullscreenImage+"')";this.toolbarContainer.appendChild(this.fullscreenElement);var f=this.hsplitPosition,c=!1;"dark"==uiTheme&&
+(this.fullscreenElement.style.filter="invert(100%)");mxEvent.addListener(this.fullscreenElement,"click",mxUtils.bind(this,function(b){"atlas"!=uiTheme&&"1"!=urlParams.embed&&this.toggleCompactMode(!c);this.toggleFormatPanel(!c);this.hsplitPosition=c?f:0;this.hideFooter();c=!c;mxEvent.consume(b)}));"atlas"==uiTheme&&(mxUtils.setOpacity(this.toggleFormatElement,70),mxUtils.setOpacity(this.fullscreenElement,70),this.toggleFormatElement.style.right="6px",this.fullscreenElement.style.right="22px",this.toggleFormatElement.style.top=
"8px",this.fullscreenElement.style.top="8px");"1"!=urlParams.embed&&(this.toggleElement=document.createElement("a"),this.toggleElement.setAttribute("href","javascript:void(0);"),this.toggleElement.setAttribute("title",mxResources.get("collapseExpand")),this.toggleElement.className="geButton",this.toggleElement.style.position="absolute",this.toggleElement.style.display="inline-block",this.toggleElement.style.width="16px",this.toggleElement.style.height="16px",this.toggleElement.style.color="#666",
this.toggleElement.style.top="5px",this.toggleElement.style.right="10px",this.toggleElement.style.padding="2px",this.toggleElement.style.fontSize="14px",this.toggleElement.style.textDecoration="none",this.toggleElement.style.backgroundImage="url('"+this.chevronUpImage+"')",this.toggleElement.style.backgroundPosition="50% 50%",this.toggleElement.style.backgroundRepeat="no-repeat","dark"==uiTheme&&(this.toggleElement.style.filter="invert(100%)"),mxEvent.addListener(this.toggleElement,"click",mxUtils.bind(this,
function(c){this.toggleCompactMode();mxEvent.consume(c)})),"atlas"!=uiTheme&&this.toolbarContainer.appendChild(this.toggleElement),740>=screen.height&&"undefined"!==typeof this.toggleElement.click&&window.setTimeout(mxUtils.bind(this,function(){this.toggleElement.click()}),0))}};
@@ -7567,41 +7567,41 @@ Dialog.prototype.closeImage);d.setAttribute("title",mxResources.get("close"));d.
(null!=d.pictureUrl?'<img width="80" height="80" style="margin-right:10px;border-radius:50%;" src="'+d.pictureUrl+'"/>':'<img width="80" height="80" style="margin-right:4px;margin-top:2px;" src="'+this.defaultUserPicture+'"/>')+'</td><td valign="top" style="white-space:nowrap;'+(null!=d.pictureUrl?"padding-top:14px;":"")+'"><b>'+mxUtils.htmlEntities(d.displayName)+"</b><br><small>"+mxUtils.htmlEntities(d.email)+"</small><br><br><small>"+mxResources.get("googleDrive")+"</small></tr></table>",d=document.createElement("div"),
d.style.textAlign="center",d.style.padding="12px",d.style.background="whiteSmoke",d.style.borderTop="1px solid #e0e0e0",d.style.whiteSpace="nowrap",d.appendChild(mxUtils.button(mxResources.get("signOut"),mxUtils.bind(this,function(){var c=this.getCurrentFile();null!=c&&c.constructor==DriveFile?this.confirm(mxResources.get("areYouSure"),mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("signOut"));this.diagramContainer.style.display="none";this.formatContainer.style.display=
"none";this.hsplit.style.display="none";this.sidebarContainer.style.display="none";this.sidebarFooterContainer.style.display="none";null!=this.tabContainer&&(this.tabContainer.style.display="none");c.close();window.setTimeout(mxUtils.bind(this,function(){this.showDialog=function(){};window.location.hash="";this.drive.clearUserId();gapi.auth.signOut();window.location.reload()}),null!=c&&c.constructor==DriveFile?2E3:0)})):(this.drive.clearUserId(),this.drive.setUser(null),gapi.auth.signOut())}))),this.userPanel.appendChild(d)));
-d=mxUtils.bind(this,function(b,d,e,p){null!=b&&(c&&this.userPanel.appendChild(document.createElement("hr")),c=!0,this.userPanel.innerHTML+='<table style="font-size:10pt;padding:20px 20px 10px 10px;"><tr><td valign="top">'+(null!=d?'<img style="margin-right:10px;" src="'+d+'" width="40" height="40"/></td>':"")+'<td valign="middle" style="white-space:nowrap;"><b>'+mxUtils.htmlEntities(b.displayName)+"</b>"+(null!=b.email?'<br><font color="gray">'+mxUtils.htmlEntities(b.email)+"</font>":"")+(null!=p?
-"<br><br><small>"+mxUtils.htmlEntities(p)+"</small>":"")+"</td></tr></table>",b=document.createElement("div"),b.style.textAlign="center",b.style.padding="12px",b.style.background="whiteSmoke",b.style.borderTop="1px solid #e0e0e0",b.style.whiteSpace="nowrap",null!=e&&b.appendChild(mxUtils.button(mxResources.get("signOut"),e)),this.userPanel.appendChild(b))});null!=this.dropbox&&d(this.dropbox.getUser(),IMAGE_PATH+"/dropbox-logo.svg",mxUtils.bind(this,function(){var c=this.getCurrentFile();if(null!=
+d=mxUtils.bind(this,function(b,d,f,n){null!=b&&(c&&this.userPanel.appendChild(document.createElement("hr")),c=!0,this.userPanel.innerHTML+='<table style="font-size:10pt;padding:20px 20px 10px 10px;"><tr><td valign="top">'+(null!=d?'<img style="margin-right:10px;" src="'+d+'" width="40" height="40"/></td>':"")+'<td valign="middle" style="white-space:nowrap;"><b>'+mxUtils.htmlEntities(b.displayName)+"</b>"+(null!=b.email?'<br><font color="gray">'+mxUtils.htmlEntities(b.email)+"</font>":"")+(null!=n?
+"<br><br><small>"+mxUtils.htmlEntities(n)+"</small>":"")+"</td></tr></table>",b=document.createElement("div"),b.style.textAlign="center",b.style.padding="12px",b.style.background="whiteSmoke",b.style.borderTop="1px solid #e0e0e0",b.style.whiteSpace="nowrap",null!=f&&b.appendChild(mxUtils.button(mxResources.get("signOut"),f)),this.userPanel.appendChild(b))});null!=this.dropbox&&d(this.dropbox.getUser(),IMAGE_PATH+"/dropbox-logo.svg",mxUtils.bind(this,function(){var c=this.getCurrentFile();if(null!=
c&&c.constructor==DropboxFile){var b=mxUtils.bind(this,function(){this.dropbox.logout();window.location.hash=""});c.isModified()?this.confirm(mxResources.get("allChangesLost"),null,b,mxResources.get("cancel"),mxResources.get("discardChanges")):b()}else this.dropbox.logout()}),mxResources.get("dropbox"));null!=this.oneDrive&&d(this.oneDrive.getUser(),IMAGE_PATH+"/onedrive-logo.svg",mxUtils.bind(this,function(){var c=this.getCurrentFile();if(null!=c&&c.constructor==OneDriveFile){var b=mxUtils.bind(this,
function(){this.oneDrive.logout();window.location.hash=""});c.isModified()?this.confirm(mxResources.get("allChangesLost"),null,b,mxResources.get("cancel"),mxResources.get("discardChanges")):b()}else this.oneDrive.logout()}),mxResources.get("oneDrive"));null!=this.gitHub&&d(this.gitHub.getUser(),IMAGE_PATH+"/github-logo.svg",mxUtils.bind(this,function(){var c=this.getCurrentFile();if(null!=c&&c.constructor==GitHubFile){var b=mxUtils.bind(this,function(){this.gitHub.logout();window.location.hash=""});
c.isModified()?this.confirm(mxResources.get("allChangesLost"),null,b,mxResources.get("cancel"),mxResources.get("discardChanges")):b()}else this.gitHub.logout()}),mxResources.get("github"));null!=this.trello&&d(this.trello.getUser(),IMAGE_PATH+"/trello-logo.svg",mxUtils.bind(this,function(){var c=this.getCurrentFile();if(null!=c&&c.constructor==TrelloFile){var b=mxUtils.bind(this,function(){this.trello.logout();window.location.hash=""});c.isModified()?this.confirm(mxResources.get("allChangesLost"),
null,b,mxResources.get("cancel"),mxResources.get("discardChanges")):b()}else this.trello.logout()}),mxResources.get("trello"));c||(d=document.createElement("div"),d.style.textAlign="center",d.style.padding="20px 20px 10px 10px",d.innerHTML=mxResources.get("notConnected"),this.userPanel.appendChild(d));document.body.appendChild(this.userPanel)}mxEvent.consume(b)})),mxEvent.addListener(document.body,"click",mxUtils.bind(this,function(b){mxEvent.isConsumed(b)||null==this.userPanel||null==this.userPanel.parentNode||
this.userPanel.parentNode.removeChild(this.userPanel)})));var b=null;null!=this.drive&&null!=this.drive.getUser()?b=this.drive.getUser():null!=this.oneDrive&&null!=this.oneDrive.getUser()?b=this.oneDrive.getUser():null!=this.dropbox&&null!=this.dropbox.getUser()?b=this.dropbox.getUser():null!=this.gitHub&&null!=this.gitHub.getUser()&&(b=this.gitHub.getUser());null!=b?(this.userElement.innerHTML="",560<screen.width&&(mxUtils.write(this.userElement,b.displayName),this.userElement.style.display="block")):
this.userElement.style.display="none"}else null!=this.userElement&&(this.userElement.parentNode.removeChild(this.userElement),this.userElement=null)};var editorResetGraph=Editor.prototype.resetGraph;Editor.prototype.resetGraph=function(){editorResetGraph.apply(this,arguments);this.graph.pageFormat=mxSettings.getPageFormat()};(function(){var b=mxPopupMenu.prototype.showMenu;mxPopupMenu.prototype.showMenu=function(){b.apply(this,arguments);this.div.style.overflowY="auto";this.div.style.overflowX="hidden";this.div.style.maxHeight=Math.max(document.body.clientHeight,document.documentElement.clientHeight)-10+"px"};Menus.prototype.createHelpLink=function(c){var b=document.createElement("span");b.setAttribute("title",mxResources.get("help"));b.style.cssText="color:blue;text-decoration:underline;margin-left:12px;cursor:help;";
-var d=document.createElement("img");d.setAttribute("border","0");d.setAttribute("valign","bottom");d.setAttribute("src",Editor.helpImage);b.appendChild(d);mxEvent.addGestureListeners(b,mxUtils.bind(this,function(b){null!=this.editorUi.menubar&&this.editorUi.menubar.hideMenu();this.editorUi.openLink(c);mxEvent.consume(b)}));return b};Menus.prototype.addLinkToItem=function(c,b){null!=c&&c.firstChild.nextSibling.appendChild(this.createHelpLink(b))};var e=Menus.prototype.init;Menus.prototype.init=function(){e.apply(this,
-arguments);var c=this.editorUi,b=c.editor.graph,d=mxUtils.bind(b,b.isEnabled),n=("1"!=urlParams.embed&&"0"!=urlParams.gapi||"1"==urlParams.embed&&"1"==urlParams.gapi)&&mxClient.IS_SVG&&isLocalStorage&&(null==document.documentMode||10<=document.documentMode),p=("1"!=urlParams.embed&&"0"!=urlParams.db||"1"==urlParams.embed&&"1"==urlParams.db)&&mxClient.IS_SVG&&(null==document.documentMode||9<document.documentMode),q=("www.draw.io"==window.location.hostname||"test.draw.io"==window.location.hostname||
+var d=document.createElement("img");d.setAttribute("border","0");d.setAttribute("valign","bottom");d.setAttribute("src",Editor.helpImage);b.appendChild(d);mxEvent.addGestureListeners(b,mxUtils.bind(this,function(b){null!=this.editorUi.menubar&&this.editorUi.menubar.hideMenu();this.editorUi.openLink(c);mxEvent.consume(b)}));return b};Menus.prototype.addLinkToItem=function(c,b){null!=c&&c.firstChild.nextSibling.appendChild(this.createHelpLink(b))};var d=Menus.prototype.init;Menus.prototype.init=function(){d.apply(this,
+arguments);var c=this.editorUi,b=c.editor.graph,f=mxUtils.bind(b,b.isEnabled),l=("1"!=urlParams.embed&&"0"!=urlParams.gapi||"1"==urlParams.embed&&"1"==urlParams.gapi)&&mxClient.IS_SVG&&isLocalStorage&&(null==document.documentMode||10<=document.documentMode),n=("1"!=urlParams.embed&&"0"!=urlParams.db||"1"==urlParams.embed&&"1"==urlParams.db)&&mxClient.IS_SVG&&(null==document.documentMode||9<document.documentMode),p=("www.draw.io"==window.location.hostname||"test.draw.io"==window.location.hostname||
"drive.draw.io"==window.location.hostname||"legacy.draw.io"==window.location.hostname)&&("1"!=urlParams.embed&&"0"!=urlParams.od||"1"==urlParams.embed&&"1"==urlParams.od)&&!navigator.userAgent.match(/(iPad|iPhone|iPod)/g)&&(0>navigator.userAgent.indexOf("MSIE")||10<=document.documentMode),a=("1"!=urlParams.embed&&"0"!=urlParams.tr||"1"==urlParams.embed&&"1"==urlParams.tr)&&mxClient.IS_SVG&&(null==document.documentMode||9<document.documentMode);mxClient.IS_SVG||c.isOffline()||((new Image).src=IMAGE_PATH+
-"/help.png");c.actions.addAction("new...",function(){var a=c.isOffline(),b=new NewDialog(c,a);c.showDialog(b.container,a?350:620,a?70:440,!0,!0,function(a){a&&null==c.getCurrentFile()&&c.showSplash()});b.init()});c.actions.put("exportSvg",new Action(mxResources.get("formatSvg")+"...",function(){c.showExportDialog(mxResources.get("formatSvg"),!0,mxResources.get("export"),"https://support.draw.io/display/DO/Exporting+Files",mxUtils.bind(this,function(a,b,d,e,f,g,h,k,n){a=parseInt(a);!isNaN(a)&&0<a&&
-c.exportSvg(a/100,b,d,e,f,g,h,!k,n)}),!0,null,"svg")}));c.actions.put("exportXml",new Action(mxResources.get("formatXml")+"...",function(){var a=document.createElement("div");a.style.whiteSpace="nowrap";var d=null==c.pages||1>=c.pages.length,e=document.createElement("h3");mxUtils.write(e,mxResources.get("formatXml"));e.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";a.appendChild(e);var f=c.addCheckbox(a,mxResources.get("selectionOnly"),!1,b.isSelectionEmpty()),g=c.addCheckbox(a,
+"/help.png");c.actions.addAction("new...",function(){var a=c.isOffline(),b=new NewDialog(c,a);c.showDialog(b.container,a?350:620,a?70:440,!0,!0,function(a){a&&null==c.getCurrentFile()&&c.showSplash()});b.init()});c.actions.put("exportSvg",new Action(mxResources.get("formatSvg")+"...",function(){c.showExportDialog(mxResources.get("formatSvg"),!0,mxResources.get("export"),"https://support.draw.io/display/DO/Exporting+Files",mxUtils.bind(this,function(a,b,d,e,f,g,h,k,l){a=parseInt(a);!isNaN(a)&&0<a&&
+c.exportSvg(a/100,b,d,e,f,g,h,!k,l)}),!0,null,"svg")}));c.actions.put("exportXml",new Action(mxResources.get("formatXml")+"...",function(){var a=document.createElement("div");a.style.whiteSpace="nowrap";var d=null==c.pages||1>=c.pages.length,e=document.createElement("h3");mxUtils.write(e,mxResources.get("formatXml"));e.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";a.appendChild(e);var f=c.addCheckbox(a,mxResources.get("selectionOnly"),!1,b.isSelectionEmpty()),g=c.addCheckbox(a,
mxResources.get(d?"compressed":"allPages"),!0);g.style.marginBottom="16px";mxEvent.addListener(f,"change",function(){f.checked?g.setAttribute("disabled","disabled"):g.removeAttribute("disabled")});a=new CustomDialog(c,a,mxUtils.bind(this,function(){c.downloadFile("xml",d?!g.checked:null,null,!f.checked,d?null:!g.checked)}),null,mxResources.get("export"));c.showDialog(a.container,300,146,!0,!0)}));c.actions.put("exportUrl",new Action(mxResources.get("url")+"...",function(){c.showPublishLinkDialog(mxResources.get("url"),
-!0,null,null,function(a,b,d,e,f,g){a=new EmbedDialog(c,c.createLink(a,b,d,e,f,g,null,!0));c.showDialog(a.container,440,240,!0,!0);a.init()})}));c.actions.put("exportHtml",new Action(mxResources.get("formatHtmlEmbedded")+"...",function(){c.spinner.spin(document.body,mxResources.get("loading"))&&c.getPublicUrl(c.getCurrentFile(),function(a){c.spinner.stop();c.showHtmlDialog(mxResources.get("export"),null,a,function(a,b,d,e,f,l,g,h,k,n){c.createHtml(a,b,d,e,f,l,g,h,k,n,mxUtils.bind(this,function(a,b){var d=
-c.getBaseFilename(),e='\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n<!DOCTYPE html>\n<html>\n<head>\n<title>'+mxUtils.htmlEntities(d)+'</title>\n<meta charset="utf-8"/>\n</head>\n<body>'+a+"\n"+b+"\n</body>\n</html>";c.saveData(d+".html","html",e,"text/html")}))})})}));c.actions.put("exportPdf",new Action(mxResources.get("formatPdf")+"...",function(){if(c.isOffline()||c.printPdfExport)c.showDialog((new PrintDialog(c,mxResources.get("formatPdf"))).container,
+!0,null,null,function(a,b,d,e,f,g){a=new EmbedDialog(c,c.createLink(a,b,d,e,f,g,null,!0));c.showDialog(a.container,440,240,!0,!0);a.init()})}));c.actions.put("exportHtml",new Action(mxResources.get("formatHtmlEmbedded")+"...",function(){c.spinner.spin(document.body,mxResources.get("loading"))&&c.getPublicUrl(c.getCurrentFile(),function(a){c.spinner.stop();c.showHtmlDialog(mxResources.get("export"),null,a,function(a,b,d,e,f,m,g,h,k,l){c.createHtml(a,b,d,e,f,m,g,h,k,l,mxUtils.bind(this,function(a,b){var d=
+c.getBaseFilename(g),e='\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n<!DOCTYPE html>\n<html>\n<head>\n<title>'+mxUtils.htmlEntities(d)+'</title>\n<meta charset="utf-8"/>\n</head>\n<body>'+a+"\n"+b+"\n</body>\n</html>";c.saveData(d+".html","html",e,"text/html")}))})})}));c.actions.put("exportPdf",new Action(mxResources.get("formatPdf")+"...",function(){if(c.isOffline()||c.printPdfExport)c.showDialog((new PrintDialog(c,mxResources.get("formatPdf"))).container,
360,null!=c.pages&&1<c.pages.length?420:360,!0,!0);else{var a=document.createElement("div");a.style.whiteSpace="nowrap";var d=document.createElement("h3");mxUtils.write(d,mxResources.get("formatPdf"));d.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";a.appendChild(d);var e=c.addCheckbox(a,mxResources.get("selectionOnly"),!1,b.isSelectionEmpty()),f=c.addCheckbox(a,mxResources.get("crop"),!b.pageVisible||!c.pdfPageExport,!c.pdfPageExport);f.style.marginBottom="16px";c.pdfPageExport||
mxEvent.addListener(e,"change",function(){e.checked?f.removeAttribute("disabled"):f.setAttribute("disabled","disabled")});a=new CustomDialog(c,a,mxUtils.bind(this,function(){c.downloadFile("pdf",null,null,!e.checked,null,!f.checked)}),null,mxResources.get("export"));c.showDialog(a.container,300,146,!0,!0)}}));c.actions.addAction("open...",function(){c.pickFile()});c.actions.addAction("close",function(){function a(){c.fileLoaded(null)}var b=c.getCurrentFile();null!=b&&b.isModified()?c.confirm(mxResources.get("allChangesLost"),
null,a,mxResources.get("cancel"),mxResources.get("discardChanges")):a()});c.actions.addAction("editShape...",mxUtils.bind(this,function(){b.getSelectionCells();if(1==b.getSelectionCount()){var a=b.getSelectionCell(),d=b.view.getState(a);null!=d&&null!=d.shape&&null!=d.shape.stencil&&(a=new EditShapeDialog(c,a,mxResources.get("editShape")+":",630,400),c.showDialog(a.container,640,480,!0,!1),a.init())}}));c.actions.addAction("revisionHistory...",function(){var a=c.getCurrentFile();if(null==a||a.constructor!=
DriveFile&&a.constructor!=DropboxFile||null==c.drive&&a.constructor==DriveFile||null==c.dropbox&&a.constructor==DropboxFile)c.showError(mxResources.get("error"),mxResources.get("notAvailable"),mxResources.get("ok"));else if(c.spinner.spin(document.body,mxResources.get("loading")))if(a.constructor==DropboxFile){var b=c.dropbox.client.filesListRevisions({path:a.stat.path_lower,limit:100});b.then(mxUtils.bind(this,function(b){c.spinner.stop();try{for(var d=[],e=b.entries.length-1;0<=e;e--)(function(b){d.push({modifiedDate:b.client_modified,
-fileSize:b.size,getXml:function(d,e){c.dropbox.readFile({path:a.stat.path_lower,rev:b.rev},d,e)},getUrl:function(){return c.getUrl(window.location.pathname+"?rev="+b.rev+"&chrome=0&edit=_blank")+window.location.hash}})})(b.entries[e]);var f=new RevisionDialog(c,d);c.showDialog(f.container,640,480,!0,!0);f.init()}catch(B){c.handleError(B)}}));b["catch"](function(a){c.spinner.stop();c.handleError(a)})}else c.drive.executeRequest(gapi.client.drive.revisions.list({fileId:a.getId()}),function(b){c.spinner.stop();
+fileSize:b.size,getXml:function(d,e){c.dropbox.readFile({path:a.stat.path_lower,rev:b.rev},d,e)},getUrl:function(){return c.getUrl(window.location.pathname+"?rev="+b.rev+"&chrome=0&edit=_blank")+window.location.hash}})})(b.entries[e]);var f=new RevisionDialog(c,d);c.showDialog(f.container,640,480,!0,!0);f.init()}catch(A){c.handleError(A)}}));b["catch"](function(a){c.spinner.stop();c.handleError(a)})}else c.drive.executeRequest(gapi.client.drive.revisions.list({fileId:a.getId()}),function(b){c.spinner.stop();
for(var d=0;d<b.items.length;d++)(function(d){d.getXml=function(e,f){c.drive.executeRequest(gapi.client.drive.revisions.get({fileId:a.getId(),revisionId:b.items[b.items.length-1]===d?a.desc.headRevisionId:d.id}),function(a){c.drive.getXmlFile(a,null,function(a){e(a.getData())},function(a){f(a)})},function(a){f(a)})};d.getUrl=function(){return c.getUrl(window.location.pathname+"?rev="+d.id+"&chrome=0&edit=_blank")+window.location.hash}})(b.items[d]);d=new RevisionDialog(c,b.items);c.showDialog(d.container,
640,480,!0,!0);d.init()},function(a){c.spinner.stop();c.handleError(a)})});c.actions.addAction("createRevision",function(){c.actions.get("save").funct()},null,null,Editor.ctrlKey+"+S");c.actions.addAction("upload...",function(){var a=c.getCurrentFile();null!=a&&(window.drawdata=c.getFileData(),a=null!=a.getTitle()?a.getTitle():c.defaultFilename,c.openLink(window.location.protocol+"//"+window.location.host+"/?create=drawdata&"+(c.mode==App.MODE_DROPBOX?"mode=dropbox&":"")+"title="+encodeURIComponent(a)))});
-if("undefined"!==typeof MathJax){var f=c.actions.addAction("mathematicalTypesetting",function(){var a=new ChangePageSetup(c);a.ignoreColor=!0;a.ignoreImage=!0;a.mathEnabled=!c.isMathEnabled();b.model.execute(a)});f.setToggleAction(!0);f.setSelectedCallback(function(){return c.isMathEnabled()});f.isEnabled=d}isLocalStorage&&(f=c.actions.addAction("showStartScreen",function(){mxSettings.setShowStartScreen(!mxSettings.getShowStartScreen());mxSettings.save()}),f.setToggleAction(!0),f.setSelectedCallback(function(){return mxSettings.getShowStartScreen()}));
-var h=c.actions.addAction("autosave",function(){c.editor.setAutosave(!c.editor.autosave)});h.setToggleAction(!0);h.setSelectedCallback(function(){return h.isEnabled()&&c.editor.autosave});c.actions.addAction("editGeometry...",function(){for(var a=b.getSelectionCells(),d=[],e=0;e<a.length;e++)b.getModel().isVertex(a[e])&&d.push(a[e]);0<d.length&&(a=new EditGeometryDialog(c,d),c.showDialog(a.container,180,180,!0,!0),a.init())},null,null,Editor.ctrlKey+"+Shift+M");var m="rounded shadow dashed dashPattern fontFamily fontSize fontColor fontStyle align verticalAlign strokeColor strokeWidth fillColor gradientColor swimlaneFillColor textOpacity gradientDirection glass labelBackgroundColor labelBorderColor opacity spacing spacingTop spacingLeft spacingBottom spacingRight endFill endArrow endSize startStill startArrow startSize arcSize".split(" ");
+if("undefined"!==typeof MathJax){var e=c.actions.addAction("mathematicalTypesetting",function(){var a=new ChangePageSetup(c);a.ignoreColor=!0;a.ignoreImage=!0;a.mathEnabled=!c.isMathEnabled();b.model.execute(a)});e.setToggleAction(!0);e.setSelectedCallback(function(){return c.isMathEnabled()});e.isEnabled=f}isLocalStorage&&(e=c.actions.addAction("showStartScreen",function(){mxSettings.setShowStartScreen(!mxSettings.getShowStartScreen());mxSettings.save()}),e.setToggleAction(!0),e.setSelectedCallback(function(){return mxSettings.getShowStartScreen()}));
+var h=c.actions.addAction("autosave",function(){c.editor.setAutosave(!c.editor.autosave)});h.setToggleAction(!0);h.setSelectedCallback(function(){return h.isEnabled()&&c.editor.autosave});c.actions.addAction("editGeometry...",function(){for(var a=b.getSelectionCells(),d=[],e=0;e<a.length;e++)b.getModel().isVertex(a[e])&&d.push(a[e]);0<d.length&&(a=new EditGeometryDialog(c,d),c.showDialog(a.container,180,180,!0,!0),a.init())},null,null,Editor.ctrlKey+"+Shift+M");var u="rounded shadow dashed dashPattern fontFamily fontSize fontColor fontStyle align verticalAlign strokeColor strokeWidth fillColor gradientColor swimlaneFillColor textOpacity gradientDirection glass labelBackgroundColor labelBorderColor opacity spacing spacingTop spacingLeft spacingBottom spacingRight endFill endArrow endSize startStill startArrow startSize arcSize".split(" ");
c.actions.addAction("copyStyle",function(){var a=b.view.getState(b.getSelectionCell());if(b.isEnabled()&&null!=a){c.copiedStyle=mxUtils.clone(a.style);for(var a=b.getModel().getStyle(a.cell),a=null!=a?a.split(";"):[],d=0;d<a.length;d++){var e=a[d],f=e.indexOf("=");if(0<=f){var g=e.substring(0,f),e=e.substring(f+1);null==c.copiedStyle[g]&&"none"==e&&(c.copiedStyle[g]="none")}}}},null,null,Editor.ctrlKey+"+Shift+C");c.actions.addAction("pasteStyle",function(){if(b.isEnabled()&&!b.isSelectionEmpty()&&
-null!=c.copiedStyle){b.getModel().beginUpdate();try{for(var a=b.getSelectionCells(),d=0;d<a.length;d++)for(var e=b.view.getState(a[d]),f=0;f<m.length;f++){var g=m[f],h=c.copiedStyle[g];e.style[g]!=h&&b.setCellStyles(g,h,[a[d]])}}finally{b.getModel().endUpdate()}}},null,null,Editor.ctrlKey+"+Shift+V");c.actions.put("pageBackgroundImage",new Action(mxResources.get("backgroundImage")+"...",function(){if(!c.isOffline()){var a=new BackgroundImageDialog(c,function(a){c.setBackgroundImage(a)});c.showDialog(a.container,
-320,170,!0,!0);a.init()}}));c.actions.put("exportPng",new Action(mxResources.get("formatPng")+"...",function(){c.isExportToCanvas()?c.showExportDialog(mxResources.get("image"),!1,mxResources.get("export"),"https://support.draw.io/display/DO/Exporting+Files",mxUtils.bind(this,function(a,b,d,e,f,g,h,k,n){a=parseInt(a);!isNaN(a)&&0<a&&c.exportImage(a/100,b,d,e,f,h,!k,n)}),!0,!1,"png"):c.isOffline()||mxClient.IS_IOS&&navigator.standalone||c.showRemoteExportDialog(mxResources.get("export"),null,mxUtils.bind(this,
-function(a,b,d){c.downloadFile(b?"xmlpng":"png",null,null,a,null,null,d)}))}));c.actions.put("exportJpg",new Action(mxResources.get("formatJpg")+"...",function(){c.isExportToCanvas()?c.showExportDialog(mxResources.get("image"),!1,mxResources.get("export"),"https://support.draw.io/display/DO/Exporting+Files",mxUtils.bind(this,function(a,b,d,e,f,g,h,k,n){a=parseInt(a);!isNaN(a)&&0<a&&c.exportImage(a/100,!1,d,e,!1,h,!k,!1,"jpeg")}),!0,!1,"jpeg"):c.isOffline()||mxClient.IS_IOS&&navigator.standalone||
-c.showRemoteExportDialog(mxResources.get("export"),null,mxUtils.bind(this,function(a,b){c.downloadFile("jpeg",null,null,a)}),!0)}));f=c.actions.put("shadowVisible",new Action(mxResources.get("shadow"),function(){b.setShadowVisible(!b.shadowVisible)}));f.setToggleAction(!0);f.setSelectedCallback(function(){return b.shadowVisible});var u=!1;c.actions.put("about",new Action(mxResources.get("aboutDrawio")+"...",function(){u||(c.showDialog((new AboutDialog(c)).container,220,300,!0,!0,function(){u=!1}),
-u=!0)},null,null,"F1"));c.actions.addAction("userManual...",function(){c.openLink("https://support.draw.io/display/DO/Draw.io+Online+User+Manual")});c.actions.addAction("support...",function(){c.openLink("https://about.draw.io/support/")});c.actions.addAction("exportOptionsDisabled...",function(){c.handleError({message:mxResources.get("exportOptionsDisabledDetails")},mxResources.get("exportOptionsDisabled"))});c.actions.addAction("keyboardShortcuts...",function(){mxClient.IS_CHROMEAPP||EditorUi.isElectronApp?
-c.openLink("https://www.draw.io/shortcuts.svg"):mxClient.IS_SVG?c.openLink("shortcuts.svg"):c.openLink("https://www.draw.io/?lightbox=1#Uhttps%3A%2F%2Fwww.draw.io%2Fshortcuts.svg")});c.actions.addAction("feedback...",function(){var a=new FeedbackDialog(c);c.showDialog(a.container,610,360,!0,!0);a.init()});c.actions.addAction("quickStart...",function(){c.openLink("https://www.youtube.com/watch?v=Z0D96ZikMkc")});f=c.actions.addAction("tags...",mxUtils.bind(this,function(){null==this.tagsWindow?(this.tagsWindow=
-new TagsWindow(c,document.body.offsetWidth-380,230,300,120),this.tagsWindow.window.addListener("show",function(){c.fireEvent(new mxEventObject("tags"))}),this.tagsWindow.window.addListener("hide",function(){c.fireEvent(new mxEventObject("tags"))}),this.tagsWindow.window.setVisible(!0),c.fireEvent(new mxEventObject("tags"))):this.tagsWindow.window.setVisible(!this.tagsWindow.window.isVisible())}));f.setToggleAction(!0);f.setSelectedCallback(mxUtils.bind(this,function(){return null!=this.tagsWindow&&
-this.tagsWindow.window.isVisible()}));f=c.actions.addAction("find...",mxUtils.bind(this,function(){null==this.findWindow?(this.findWindow=new FindWindow(c,document.body.offsetWidth-300,110,240,140),this.findWindow.window.addListener("show",function(){c.fireEvent(new mxEventObject("find"))}),this.findWindow.window.addListener("hide",function(){c.fireEvent(new mxEventObject("find"))}),this.findWindow.window.setVisible(!0),c.fireEvent(new mxEventObject("find"))):this.findWindow.window.setVisible(!this.findWindow.window.isVisible())}));
-f.setToggleAction(!0);f.setSelectedCallback(mxUtils.bind(this,function(){return null!=this.findWindow&&this.findWindow.window.isVisible()}));c.actions.put("exportVsdx",new Action(mxResources.get("formatVsdx")+" (beta)...",function(){c.exportVisio()}));if(mxClient.IS_CHROMEAPP||isLocalStorage&&"1"!=urlParams.offline)if(this.put("language",new Menu(mxUtils.bind(this,function(a,b){var d=mxUtils.bind(this,function(d){var e=""==d?mxResources.get("automatic"):mxLanguageMap[d],f=null;""!=e&&(f=a.addItem(e,
+null!=c.copiedStyle){b.getModel().beginUpdate();try{for(var a=b.getSelectionCells(),d=0;d<a.length;d++)for(var e=b.view.getState(a[d]),f=0;f<u.length;f++){var g=u[f],h=c.copiedStyle[g];e.style[g]!=h&&b.setCellStyles(g,h,[a[d]])}}finally{b.getModel().endUpdate()}}},null,null,Editor.ctrlKey+"+Shift+V");c.actions.put("pageBackgroundImage",new Action(mxResources.get("backgroundImage")+"...",function(){if(!c.isOffline()){var a=new BackgroundImageDialog(c,function(a){c.setBackgroundImage(a)});c.showDialog(a.container,
+320,170,!0,!0);a.init()}}));c.actions.put("exportPng",new Action(mxResources.get("formatPng")+"...",function(){c.isExportToCanvas()?c.showExportDialog(mxResources.get("image"),!1,mxResources.get("export"),"https://support.draw.io/display/DO/Exporting+Files",mxUtils.bind(this,function(a,b,d,e,f,g,h,k,l){a=parseInt(a);!isNaN(a)&&0<a&&c.exportImage(a/100,b,d,e,f,h,!k,l)}),!0,!1,"png"):c.isOffline()||mxClient.IS_IOS&&navigator.standalone||c.showRemoteExportDialog(mxResources.get("export"),null,mxUtils.bind(this,
+function(a,b,d){c.downloadFile(b?"xmlpng":"png",null,null,a,null,null,d)}))}));c.actions.put("exportJpg",new Action(mxResources.get("formatJpg")+"...",function(){c.isExportToCanvas()?c.showExportDialog(mxResources.get("image"),!1,mxResources.get("export"),"https://support.draw.io/display/DO/Exporting+Files",mxUtils.bind(this,function(a,b,d,e,f,g,h,k,l){a=parseInt(a);!isNaN(a)&&0<a&&c.exportImage(a/100,!1,d,e,!1,h,!k,!1,"jpeg")}),!0,!1,"jpeg"):c.isOffline()||mxClient.IS_IOS&&navigator.standalone||
+c.showRemoteExportDialog(mxResources.get("export"),null,mxUtils.bind(this,function(a,b){c.downloadFile("jpeg",null,null,a)}),!0)}));e=c.actions.put("shadowVisible",new Action(mxResources.get("shadow"),function(){b.setShadowVisible(!b.shadowVisible)}));e.setToggleAction(!0);e.setSelectedCallback(function(){return b.shadowVisible});var q=!1;c.actions.put("about",new Action(mxResources.get("aboutDrawio")+"...",function(){q||(c.showDialog((new AboutDialog(c)).container,220,300,!0,!0,function(){q=!1}),
+q=!0)},null,null,"F1"));c.actions.addAction("userManual...",function(){c.openLink("https://support.draw.io/display/DO/Draw.io+Online+User+Manual")});c.actions.addAction("support...",function(){c.openLink("https://about.draw.io/support/")});c.actions.addAction("exportOptionsDisabled...",function(){c.handleError({message:mxResources.get("exportOptionsDisabledDetails")},mxResources.get("exportOptionsDisabled"))});c.actions.addAction("keyboardShortcuts...",function(){mxClient.IS_CHROMEAPP||EditorUi.isElectronApp?
+c.openLink("https://www.draw.io/shortcuts.svg"):mxClient.IS_SVG?c.openLink("shortcuts.svg"):c.openLink("https://www.draw.io/?lightbox=1#Uhttps%3A%2F%2Fwww.draw.io%2Fshortcuts.svg")});c.actions.addAction("feedback...",function(){var a=new FeedbackDialog(c);c.showDialog(a.container,610,360,!0,!0);a.init()});c.actions.addAction("quickStart...",function(){c.openLink("https://www.youtube.com/watch?v=Z0D96ZikMkc")});e=c.actions.addAction("tags...",mxUtils.bind(this,function(){null==this.tagsWindow?(this.tagsWindow=
+new TagsWindow(c,document.body.offsetWidth-380,230,300,120),this.tagsWindow.window.addListener("show",function(){c.fireEvent(new mxEventObject("tags"))}),this.tagsWindow.window.addListener("hide",function(){c.fireEvent(new mxEventObject("tags"))}),this.tagsWindow.window.setVisible(!0),c.fireEvent(new mxEventObject("tags"))):this.tagsWindow.window.setVisible(!this.tagsWindow.window.isVisible())}));e.setToggleAction(!0);e.setSelectedCallback(mxUtils.bind(this,function(){return null!=this.tagsWindow&&
+this.tagsWindow.window.isVisible()}));e=c.actions.addAction("find...",mxUtils.bind(this,function(){null==this.findWindow?(this.findWindow=new FindWindow(c,document.body.offsetWidth-300,110,240,140),this.findWindow.window.addListener("show",function(){c.fireEvent(new mxEventObject("find"))}),this.findWindow.window.addListener("hide",function(){c.fireEvent(new mxEventObject("find"))}),this.findWindow.window.setVisible(!0),c.fireEvent(new mxEventObject("find"))):this.findWindow.window.setVisible(!this.findWindow.window.isVisible())}));
+e.setToggleAction(!0);e.setSelectedCallback(mxUtils.bind(this,function(){return null!=this.findWindow&&this.findWindow.window.isVisible()}));c.actions.put("exportVsdx",new Action(mxResources.get("formatVsdx")+" (beta)...",function(){c.exportVisio()}));if(mxClient.IS_CHROMEAPP||isLocalStorage&&"1"!=urlParams.offline)if(this.put("language",new Menu(mxUtils.bind(this,function(a,b){var d=mxUtils.bind(this,function(d){var e=""==d?mxResources.get("automatic"):mxLanguageMap[d],f=null;""!=e&&(f=a.addItem(e,
null,mxUtils.bind(this,function(){mxSettings.setLanguage(d);mxSettings.save();mxClient.language=d;mxResources.loadDefaultBundle=!1;mxResources.add(RESOURCE_BASE);c.alert(mxResources.get("restartForChangeRequired"))}),b),(d==mxLanguage||""==d&&null==mxLanguage)&&a.addCheckmark(f,Editor.checkmarkImage));return f});d("");a.addSeparator(b);for(var e in mxLanguageMap)d(e)}))),"atlas"!=uiTheme){var t=Menus.prototype.createMenubar;Menus.prototype.createMenubar=function(a){var c=t.apply(this,arguments);if(null!=
c){var b=this.get("language");null!=b&&(b=c.addMenu("",b.funct),b.setAttribute("title",mxResources.get("language")),b.style.width="16px",b.style.paddingTop="2px",b.style.paddingLeft="4px",b.innerHTML='<div class="geIcon geSprite geSprite-globe"/>',b.style.zIndex="1",b.style.position="absolute",b.style.top="2px",b.style.right="17px",b.style.display="block",mxClient.IS_VML||mxUtils.setOpacity(b,60),document.body.appendChild(b))}return c}}this.put("help",new Menu(mxUtils.bind(this,function(a,d){if(!mxClient.IS_CHROMEAPP&&
c.isOffline())this.addMenuItems(a,["about"],d);else{var e=a.addItem("Search:",null,null,d,null,null,!1);e.style.backgroundColor="dark"==uiTheme?"#505759":"whiteSmoke";e.style.cursor="default";var f=document.createElement("input");f.setAttribute("type","text");f.setAttribute("size","25");f.style.marginLeft="8px";mxEvent.addListener(f,"keydown",mxUtils.bind(this,function(a){var c=mxUtils.trim(f.value);13==a.keyCode&&0<c.length?(this.editorUi.openLink("https://desk.draw.io/support/search/solutions?term="+
@@ -7610,161 +7610,160 @@ encodeURIComponent(c)),f.value="",this.editorUi.logEvent({category:"Help",action
this.editorUi.hRuler.setUnit(mxRuler.prototype.INCHES);this.editorUi.vRuler.drawRuler(!0);this.editorUi.hRuler.drawRuler(!0)})),mxResources.parse("rulerCM=Ruler unit: CMs"),this.editorUi.actions.addAction("rulerCM",mxUtils.bind(this,function(){this.editorUi.vRuler.setUnit(mxRuler.prototype.CENTIMETER);this.editorUi.hRuler.setUnit(mxRuler.prototype.CENTIMETER);this.editorUi.vRuler.drawRuler(!0);this.editorUi.hRuler.drawRuler(!0)})),mxResources.parse("rulerPixel=Ruler unit: Pixels"),this.editorUi.actions.addAction("rulerPixel",
mxUtils.bind(this,function(){this.editorUi.vRuler.setUnit(mxRuler.prototype.PIXELS);this.editorUi.hRuler.setUnit(mxRuler.prototype.PIXELS);this.editorUi.vRuler.drawRuler(!0);this.editorUi.hRuler.drawRuler(!0)})),this.addMenuItems(a,["-","rulerInch","rulerCM","rulerPixel"],d));"1"==urlParams.test&&(mxResources.parse("showBoundingBox=Show bounding box"),this.editorUi.actions.addAction("showBoundingBox",mxUtils.bind(this,function(){var a=b.getGraphBounds(),c=b.view.translate,e=b.view.scale;b.insertVertex(d,
null,"",a.x/e-c.x,a.y/e-c.y,a.width/e,a.height/e,"fillColor=none;strokeColor=red;")})),mxResources.parse("createSidebarEntry=Create sidebar entry"),this.editorUi.actions.addAction("createSidebarEntry",mxUtils.bind(this,function(){b.isSelectionEmpty()||(mxLog.show(),mxLog.debug("sb.createVertexTemplateFromData('"+b.compress(mxUtils.getXml(b.encodeCells(b.getSelectionCells())))+"', width, height, 'Title');"))})),this.addMenuItems(a,["-","createSidebarEntry","showBoundingBox"],d),mxResources.parse("testXmlImageExport=XML Image Export"),
-this.editorUi.actions.addAction("testXmlImageExport",mxUtils.bind(this,function(){var a=new mxImageExport,c=b.getGraphBounds(),d=b.view.scale,e=mxUtils.createXmlDocument(),f=e.createElement("output");e.appendChild(f);e=new mxXmlCanvas2D(f);e.translate(Math.floor((1-c.x)/d),Math.floor((1-c.y)/d));e.scale(1/d);var l=0,g=e.save;e.save=function(){l++;g.apply(this,arguments)};var h=e.restore;e.restore=function(){l--;h.apply(this,arguments)};var k=a.drawShape;a.drawShape=function(a){mxLog.debug("entering shape",
-a,l);k.apply(this,arguments);mxLog.debug("leaving shape",a,l)};a.drawState(b.getView().getState(b.model.root),e);mxLog.show();mxLog.debug(mxUtils.getXml(f));mxLog.debug("stateCounter",l)})),this.addMenuItems(a,["testXmlImageExport"],d),mxResources.parse("testShowRtModel=Show RT model"),mxResources.parse("testDebugRtModel=Debug RT model"),mxResources.parse("testDownloadRtModel=Download RT model"),this.editorUi.actions.addAction("testShowRtModel",mxUtils.bind(this,function(){null!=this.editorUi.getCurrentFile()&&
+this.editorUi.actions.addAction("testXmlImageExport",mxUtils.bind(this,function(){var a=new mxImageExport,c=b.getGraphBounds(),d=b.view.scale,e=mxUtils.createXmlDocument(),f=e.createElement("output");e.appendChild(f);e=new mxXmlCanvas2D(f);e.translate(Math.floor((1-c.x)/d),Math.floor((1-c.y)/d));e.scale(1/d);var g=0,m=e.save;e.save=function(){g++;m.apply(this,arguments)};var h=e.restore;e.restore=function(){g--;h.apply(this,arguments)};var k=a.drawShape;a.drawShape=function(a){mxLog.debug("entering shape",
+a,g);k.apply(this,arguments);mxLog.debug("leaving shape",a,g)};a.drawState(b.getView().getState(b.model.root),e);mxLog.show();mxLog.debug(mxUtils.getXml(f));mxLog.debug("stateCounter",g)})),this.addMenuItems(a,["testXmlImageExport"],d),mxResources.parse("testShowRtModel=Show RT model"),mxResources.parse("testDebugRtModel=Debug RT model"),mxResources.parse("testDownloadRtModel=Download RT model"),this.editorUi.actions.addAction("testShowRtModel",mxUtils.bind(this,function(){null!=this.editorUi.getCurrentFile()&&
null!=this.editorUi.getCurrentFile().realtime&&(console.log("bytesUsed",this.editorUi.getCurrentFile().realtime.rtModel.bytesUsed),console.log("root",this.editorUi.getCurrentFile().realtime.dumpRoot()),this.editorUi.getCurrentFile().realtime.check())})),this.editorUi.actions.addAction("testDebugRtModel",mxUtils.bind(this,function(){gapi.drive.realtime.debug()})),this.editorUi.actions.addAction("testDownloadRtModel",mxUtils.bind(this,function(){var a=this.editorUi.getCurrentFile();null!=a&&null!=a.realtime&&
c.spinner.spin(document.body,mxResources.get("export"))&&(a=new mxXmlRequest("https://www.googleapis.com/drive/v2/files/"+a.getHash().substring(1)+"/realtime",null,"GET"),a.setRequestHeaders=function(a){mxXmlRequest.prototype.setRequestHeaders.apply(this,arguments);var c=gapi.auth.getToken().access_token;a.setRequestHeader("authorization","Bearer "+c)},a.send(function(a){c.spinner.stop();200<=a.getStatus()&&299>=a.getStatus()&&c.saveLocalFile(a.getText(),"realtime.txt","text/plain")}))})),null!=this.editorUi.getCurrentFile()&&
null!=this.editorUi.getCurrentFile().realtime&&this.addMenuItems(a,["-","testShowRtModel","testDebugRtModel","testDownloadRtModel"],d),mxResources.parse("testShowConsole=Show Console"),this.editorUi.actions.addAction("testShowConsole",function(){mxLog.isVisible()?mxLog.window.fit():mxLog.show();mxLog.window.div.style.zIndex=mxPopupMenu.prototype.zIndex-1}),this.addMenuItems(a,["-","testShowConsole"]))})));c.actions.addAction("shapes...",function(){mxClient.IS_CHROMEAPP||!c.isOffline()?c.showDialog((new MoreShapesDialog(c,
!0)).container,640,isLocalStorage?mxClient.IS_IOS?480:460:440,!0,!0):c.showDialog((new MoreShapesDialog(c,!1)).container,360,isLocalStorage?mxClient.IS_IOS?300:280:260,!0,!0)});c.actions.addAction("createShape...",function(){c.getCurrentFile();if(b.isEnabled()){var a=new mxCell("",new mxGeometry(0,0,120,120),c.defaultCustomShapeStyle);a.vertex=!0;a=new EditShapeDialog(c,a,mxResources.get("editShape")+":",630,400);c.showDialog(a.container,640,480,!0,!1);a.init()}});c.actions.put("embedHtml",new Action(mxResources.get("html")+
-"...",function(){c.spinner.spin(document.body,mxResources.get("loading"))&&c.getPublicUrl(c.getCurrentFile(),function(a){c.spinner.stop();c.showHtmlDialog(mxResources.get("create"),"https://desk.draw.io/support/solutions/articles/16000042542",a,function(a,b,d,e,f,l,g,h,k,n){c.createHtml(a,b,d,e,f,l,g,h,k,n,mxUtils.bind(this,function(a,b){var d=new EmbedDialog(c,a+"\n"+b,null,null,function(){var c=window.open(),d=c.document;"CSS1Compat"===document.compatMode&&d.writeln("<!DOCTYPE html>");d.writeln("<html>");
+"...",function(){c.spinner.spin(document.body,mxResources.get("loading"))&&c.getPublicUrl(c.getCurrentFile(),function(a){c.spinner.stop();c.showHtmlDialog(mxResources.get("create"),"https://desk.draw.io/support/solutions/articles/16000042542",a,function(a,b,d,e,f,g,m,h,k,l){c.createHtml(a,b,d,e,f,g,m,h,k,l,mxUtils.bind(this,function(a,b){var d=new EmbedDialog(c,a+"\n"+b,null,null,function(){var c=window.open(),d=c.document;"CSS1Compat"===document.compatMode&&d.writeln("<!DOCTYPE html>");d.writeln("<html>");
d.writeln("<head><title>"+encodeURIComponent(mxResources.get("preview"))+'</title><meta charset="utf-8"></head>');d.writeln("<body>");d.writeln(a);var e=mxClient.IS_IE||mxClient.IS_EDGE||null!=document.documentMode;e&&d.writeln(b);d.writeln("</body>");d.writeln("</html>");d.close();if(!e){var f=c.document.createElement("div");f.marginLeft="26px";f.marginTop="26px";mxUtils.write(f,mxResources.get("updatingDocument"));e=c.document.createElement("img");e.setAttribute("src",window.location.protocol+"//"+
window.location.hostname+"/"+IMAGE_PATH+"/spin.gif");e.style.marginLeft="6px";f.appendChild(e);c.document.body.insertBefore(f,c.document.body.firstChild);window.setTimeout(function(){var a=document.createElement("script");a.type="text/javascript";a.src=/<script.*?src="(.*?)"/.exec(b)[1];d.body.appendChild(a);f.parentNode.removeChild(f)},20)}});c.showDialog(d.container,440,240,!0,!0);d.init()}))})})}));c.actions.put("liveImage",new Action("Live image...",function(){c.spinner.spin(document.body,mxResources.get("loading"))&&
c.getPublicUrl(c.getCurrentFile(),function(a){c.spinner.stop();null!=a?(a=encodeURIComponent(a),a=new EmbedDialog(c,EXPORT_URL+"?format=png&url="+a,0),c.showDialog(a.container,440,240,!0,!0),a.init()):c.handleError({message:mxResources.get("invalidPublicUrl")})})}));c.actions.put("embedImage",new Action(mxResources.get("image")+"...",function(){c.showEmbedImageDialog(function(a,b,d,e,f,g){c.spinner.spin(document.body,mxResources.get("loading"))&&c.createEmbedImage(a,b,d,e,f,g,function(a){c.spinner.stop();
a=new EmbedDialog(c,a);c.showDialog(a.container,440,240,!0,!0);a.init()},function(a){c.spinner.stop();c.handleError(a)})},mxResources.get("image"),mxResources.get("retina"),c.isExportToCanvas())}));c.actions.put("embedSvg",new Action(mxResources.get("formatSvg")+"...",function(){c.showEmbedImageDialog(function(a,b,d,e,f,g){c.spinner.spin(document.body,mxResources.get("loading"))&&c.createEmbedSvg(a,b,d,e,f,g,function(a){c.spinner.stop();a=new EmbedDialog(c,a);c.showDialog(a.container,440,240,!0,!0);
-a.init()},function(a){c.spinner.stop();c.handleError(a)})},mxResources.get("formatSvg"),mxResources.get("image"),!0,"https://desk.draw.io/support/solutions/articles/16000042548")}));c.actions.put("embedIframe",new Action(mxResources.get("iframe")+"...",function(){var a=b.getGraphBounds();c.showPublishLinkDialog(mxResources.get("iframe"),null,"100%",Math.ceil((a.y+a.height-b.view.translate.y)/b.view.scale)+2,function(a,b,d,e,f,g,l,h){c.spinner.spin(document.body,mxResources.get("loading"))&&c.getPublicUrl(c.getCurrentFile(),
-function(k){c.spinner.stop();k=new EmbedDialog(c,'<iframe frameborder="0" style="width:'+l+";height:"+h+';" src="'+c.createLink(a,b,d,e,f,g,k)+'"></iframe>');c.showDialog(k.container,440,240,!0,!0);k.init()})},!0)}));c.actions.put("publishLink",new Action(mxResources.get("link")+"...",function(){c.showPublishLinkDialog(null,null,null,null,function(a,b,d,e,f,g){c.spinner.spin(document.body,mxResources.get("loading"))&&c.getPublicUrl(c.getCurrentFile(),function(l){c.spinner.stop();l=new EmbedDialog(c,
-c.createLink(a,b,d,e,f,g,l));c.showDialog(l.container,440,240,!0,!0);l.init()})})}));c.actions.addAction("googleDocs...",function(){c.openLink("http://docsaddon.draw.io")});c.actions.addAction("googleSites...",function(){c.spinner.spin(document.body,mxResources.get("loading"))&&c.getPublicUrl(c.getCurrentFile(),function(a){c.spinner.stop();a=new GoogleSitesDialog(c,a);c.showDialog(a.container,420,256,!0,!0);a.init()})});if(isLocalStorage||mxClient.IS_CHROMEAPP)f=c.actions.addAction("scratchpad",function(){c.toggleScratchpad()}),
-f.setToggleAction(!0),f.setSelectedCallback(function(){return null!=c.scratchpad}),c.actions.addAction("plugins...",function(){c.showDialog((new PluginsDialog(c)).container,360,170,!0,!1)});f=c.actions.addAction("search",function(){var a=c.sidebar.isEntryVisible("search");c.sidebar.showPalette("search",!a);isLocalStorage&&(mxSettings.settings.search=!a,mxSettings.save())});f.setToggleAction(!0);f.setSelectedCallback(function(){return c.sidebar.isEntryVisible("search")});"1"==urlParams.embed&&(c.actions.get("save").funct=
+a.init()},function(a){c.spinner.stop();c.handleError(a)})},mxResources.get("formatSvg"),mxResources.get("image"),!0,"https://desk.draw.io/support/solutions/articles/16000042548")}));c.actions.put("embedIframe",new Action(mxResources.get("iframe")+"...",function(){var a=b.getGraphBounds();c.showPublishLinkDialog(mxResources.get("iframe"),null,"100%",Math.ceil((a.y+a.height-b.view.translate.y)/b.view.scale)+2,function(a,b,d,e,f,g,m,h){c.spinner.spin(document.body,mxResources.get("loading"))&&c.getPublicUrl(c.getCurrentFile(),
+function(k){c.spinner.stop();k=new EmbedDialog(c,'<iframe frameborder="0" style="width:'+m+";height:"+h+';" src="'+c.createLink(a,b,d,e,f,g,k)+'"></iframe>');c.showDialog(k.container,440,240,!0,!0);k.init()})},!0)}));c.actions.put("publishLink",new Action(mxResources.get("link")+"...",function(){c.showPublishLinkDialog(null,null,null,null,function(a,b,d,e,f,g){c.spinner.spin(document.body,mxResources.get("loading"))&&c.getPublicUrl(c.getCurrentFile(),function(m){c.spinner.stop();m=new EmbedDialog(c,
+c.createLink(a,b,d,e,f,g,m));c.showDialog(m.container,440,240,!0,!0);m.init()})})}));c.actions.addAction("googleDocs...",function(){c.openLink("http://docsaddon.draw.io")});c.actions.addAction("googleSites...",function(){c.spinner.spin(document.body,mxResources.get("loading"))&&c.getPublicUrl(c.getCurrentFile(),function(a){c.spinner.stop();a=new GoogleSitesDialog(c,a);c.showDialog(a.container,420,256,!0,!0);a.init()})});if(isLocalStorage||mxClient.IS_CHROMEAPP)e=c.actions.addAction("scratchpad",function(){c.toggleScratchpad()}),
+e.setToggleAction(!0),e.setSelectedCallback(function(){return null!=c.scratchpad}),c.actions.addAction("plugins...",function(){c.showDialog((new PluginsDialog(c)).container,360,170,!0,!1)});e=c.actions.addAction("search",function(){var a=c.sidebar.isEntryVisible("search");c.sidebar.showPalette("search",!a);isLocalStorage&&(mxSettings.settings.search=!a,mxSettings.save())});e.setToggleAction(!0);e.setSelectedCallback(function(){return c.sidebar.isEntryVisible("search")});"1"==urlParams.embed&&(c.actions.get("save").funct=
function(a){b.isEditing()&&b.stopEditing();var d="0"!=urlParams.pages||null!=c.pages&&1<c.pages.length?c.getFileData(!0):mxUtils.getXml(c.editor.getGraphXml());if("json"==urlParams.proto){var e=c.createLoadMessage("save");e.xml=d;a&&(e.exit=!0);d=JSON.stringify(e)}(window.opener||window.parent).postMessage(d,"*");"0"!=urlParams.modified&&"1"!=urlParams.keepmodified&&(c.editor.modified=!1,c.editor.setStatus(""));null!=c.getCurrentFile()&&c.saveFile()},c.actions.addAction("saveAndExit",function(){c.actions.get("save").funct(!0)}),
c.actions.addAction("exit",function(){var a=function(){c.editor.modified=!1;var a="json"==urlParams.proto?JSON.stringify({event:"exit",modified:c.editor.modified}):"";(window.opener||window.parent).postMessage(a,"*")};c.editor.modified?c.confirm(mxResources.get("allChangesLost"),null,a,mxResources.get("cancel"),mxResources.get("discardChanges")):a()}));this.put("exportAs",new Menu(mxUtils.bind(this,function(a,b){c.isExportToCanvas()?(this.addMenuItems(a,["exportPng"],b),c.jpgSupported&&this.addMenuItems(a,
["exportJpg"],b)):c.isOffline()||mxClient.IS_IOS&&navigator.standalone||this.addMenuItems(a,["exportPng","exportJpg"],b);this.addMenuItems(a,["exportSvg","-"],b);c.isOffline()||c.printPdfExport?this.addMenuItems(a,["exportPdf"],b):c.isOffline()||mxClient.IS_IOS&&navigator.standalone||this.addMenuItems(a,["exportPdf"],b);mxClient.IS_IE11||mxClient.IS_IE||"undefined"===typeof VsdxExport&&c.isOffline()||this.addMenuItems(a,["exportVsdx"],b);this.addMenuItems(a,["-","exportHtml","exportXml","exportUrl"],
b);c.isOffline()||(a.addSeparator(b),this.addMenuItem(a,"export",b).firstChild.nextSibling.innerHTML=mxResources.get("advanced")+"...")})));this.editorUi.actions.addAction("chatWindowTitle...",mxUtils.bind(this.editorUi,this.editorUi.toggleChat));this.put("importFrom",new Menu(function(d,e){function f(a){if(a&&Graph.fileSupport&&!mxClient.IS_IE&&!mxClient.IS_IE11){var d=document.createElement("input");d.setAttribute("type","file");mxEvent.addListener(d,"change",function(){null!=d.files&&c.importFiles(d.files,
null,null,c.maxImageSize)});d.click()}else{window.openNew=!1;window.openKey="import";var e=Editor.useLocalStorage;Editor.useLocalStorage=!a;window.openFile=new OpenFile(function(a){c.hideDialog(a)});window.openFile.setConsumer(function(a,d){b.setSelectionCells(c.importXml(a))});c.showDialog((new OpenDialog(c)).container,360,220,!0,!0,function(){window.openFile=null});var f=c.dialog,g=f.close;c.dialog.close=function(a){Editor.useLocalStorage=e;g.apply(f,arguments);a&&null==c.getCurrentFile()&&"1"!=
-urlParams.embed&&c.showSplash()}}}function g(a){a.pickFile(function(b){c.spinner.spin(document.body,mxResources.get("loading"))&&a.getFile(b,function(a){var b=h(a.getTitle());/\.svg$/i.test(a.getTitle())&&!c.editor.isDataSvg(a.getData())&&(a.setData(c.createSvgDataUri(a.getData())),b="image/svg+xml");l(a.getData(),b,a.getTitle())},function(a){c.handleError(a,null!=a?mxResources.get("errorLoadingFile"):null)},a==c.drive)},!0)}var l=mxUtils.bind(this,function(a,d,e){var f=b.view,g=b.getGraphBounds(),
-l=b.snap(Math.ceil(Math.max(0,g.x/f.scale-f.translate.x)+4*b.gridSize)),h=b.snap(Math.ceil(Math.max(0,(g.y+g.height)/f.scale-f.translate.y)+4*b.gridSize));"data:image/"==a.substring(0,11)?c.loadImage(a,mxUtils.bind(this,function(f){var g=!0,k=mxUtils.bind(this,function(){c.resizeImage(f,a,mxUtils.bind(this,function(f,k,n){f=g?Math.min(1,Math.min(c.maxImageSize/k,c.maxImageSize/n)):1;c.importFile(a,d,l,h,Math.round(k*f),Math.round(n*f),e,function(a){c.spinner.stop();b.setSelectionCells(a);b.scrollCellToVisible(b.getSelectionCell())})}),
-g)});a.length>c.resampleThreshold?c.confirmImageResize(function(a){g=a;k()}):k()}),mxUtils.bind(this,function(){c.handleError({message:mxResources.get("cannotOpenFile")})})):c.importFile(a,d,l,h,0,0,e,function(a){c.spinner.stop();b.setSelectionCells(a);b.scrollCellToVisible(b.getSelectionCell())})}),h=mxUtils.bind(this,function(a){var c="text/xml";/\.png$/i.test(a)?c="image/png":/\.jpe?g$/i.test(a)?c="image/jpg":/\.gif$/i.test(a)&&(c="image/gif");return c});"undefined"!=typeof google&&"undefined"!=
-typeof google.picker&&(null!=c.drive?d.addItem(mxResources.get("googleDrive")+"...",null,function(){g(c.drive)},e):n&&d.addItem(mxResources.get("googleDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},e,null,!1));null!=c.gitHub&&d.addItem(mxResources.get("github")+"...",null,function(){g(c.gitHub)},e);null!=c.dropbox?d.addItem(mxResources.get("dropbox")+"...",null,function(){g(c.dropbox)},e):p&&d.addItem(mxResources.get("dropbox")+" ("+mxResources.get("loading")+"...)",null,function(){},
-e,null,!1);null!=c.oneDrive?d.addItem(mxResources.get("oneDrive")+"...",null,function(){g(c.oneDrive)},e):q&&d.addItem(mxResources.get("oneDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},e,null,!1);null!=c.trello?d.addItem(mxResources.get("trello")+"...",null,function(){g(c.trello)},e):a&&d.addItem(mxResources.get("trello")+" ("+mxResources.get("loading")+"...)",null,function(){},e,null,!1);d.addSeparator(e);isLocalStorage&&"0"!=urlParams.browser&&d.addItem(mxResources.get("browser")+
-"...",null,function(){f(!1)},e);mxClient.IS_IOS||d.addItem(mxResources.get("device")+"...",null,function(){f(!0)},e);c.isOffline()||(d.addSeparator(e),d.addItem(mxResources.get("url")+"...",null,function(){var a=new FilenameDialog(c,"",mxResources.get("import"),function(a){if(null!=a&&0<a.length&&c.spinner.spin(document.body,mxResources.get("loading"))){var b=/(\.png)($|\?)/i.test(a)?"image/png":"text/xml";c.loadUrl(PROXY_URL+"?url="+encodeURIComponent(a),function(c){l(c,b,a)},function(){c.spinner.stop();
-c.handleError(null,mxResources.get("errorLoadingFile"))},"image/png"==b)}},mxResources.get("url"));c.showDialog(a.container,300,80,!0,!0);a.init()},e));c.showCsvImport&&d.addItem(mxResources.get("csv")+"...",null,function(){c.showImportCsvDialog()},e)})).isEnabled=d;this.put("theme",new Menu(mxUtils.bind(this,function(a,b){var d=a.addItem(mxResources.get("kennedy"),null,function(){mxSettings.setUi("");mxSettings.save();c.alert(mxResources.get("restartForChangeRequired"))},b);"atlas"!=uiTheme&&"dark"!=
+urlParams.embed&&c.showSplash()}}}function g(a){a.pickFile(function(b){c.spinner.spin(document.body,mxResources.get("loading"))&&a.getFile(b,function(a){var b=h(a.getTitle());/\.svg$/i.test(a.getTitle())&&!c.editor.isDataSvg(a.getData())&&(a.setData(c.createSvgDataUri(a.getData())),b="image/svg+xml");m(a.getData(),b,a.getTitle())},function(a){c.handleError(a,null!=a?mxResources.get("errorLoadingFile"):null)},a==c.drive)},!0)}var m=mxUtils.bind(this,function(a,d,e){var f=b.view,g=b.getGraphBounds(),
+m=b.snap(Math.ceil(Math.max(0,g.x/f.scale-f.translate.x)+4*b.gridSize)),h=b.snap(Math.ceil(Math.max(0,(g.y+g.height)/f.scale-f.translate.y)+4*b.gridSize));"data:image/"==a.substring(0,11)?c.loadImage(a,mxUtils.bind(this,function(f){var g=!0,k=mxUtils.bind(this,function(){c.resizeImage(f,a,mxUtils.bind(this,function(f,k,l){f=g?Math.min(1,Math.min(c.maxImageSize/k,c.maxImageSize/l)):1;c.importFile(a,d,m,h,Math.round(k*f),Math.round(l*f),e,function(a){c.spinner.stop();b.setSelectionCells(a);b.scrollCellToVisible(b.getSelectionCell())})}),
+g)});a.length>c.resampleThreshold?c.confirmImageResize(function(a){g=a;k()}):k()}),mxUtils.bind(this,function(){c.handleError({message:mxResources.get("cannotOpenFile")})})):c.importFile(a,d,m,h,0,0,e,function(a){c.spinner.stop();b.setSelectionCells(a);b.scrollCellToVisible(b.getSelectionCell())})}),h=mxUtils.bind(this,function(a){var c="text/xml";/\.png$/i.test(a)?c="image/png":/\.jpe?g$/i.test(a)?c="image/jpg":/\.gif$/i.test(a)&&(c="image/gif");return c});"undefined"!=typeof google&&"undefined"!=
+typeof google.picker&&(null!=c.drive?d.addItem(mxResources.get("googleDrive")+"...",null,function(){g(c.drive)},e):l&&d.addItem(mxResources.get("googleDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},e,null,!1));null!=c.gitHub&&d.addItem(mxResources.get("github")+"...",null,function(){g(c.gitHub)},e);null!=c.dropbox?d.addItem(mxResources.get("dropbox")+"...",null,function(){g(c.dropbox)},e):n&&d.addItem(mxResources.get("dropbox")+" ("+mxResources.get("loading")+"...)",null,function(){},
+e,null,!1);null!=c.oneDrive?d.addItem(mxResources.get("oneDrive")+"...",null,function(){g(c.oneDrive)},e):p&&d.addItem(mxResources.get("oneDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},e,null,!1);null!=c.trello?d.addItem(mxResources.get("trello")+"...",null,function(){g(c.trello)},e):a&&d.addItem(mxResources.get("trello")+" ("+mxResources.get("loading")+"...)",null,function(){},e,null,!1);d.addSeparator(e);isLocalStorage&&"0"!=urlParams.browser&&d.addItem(mxResources.get("browser")+
+"...",null,function(){f(!1)},e);mxClient.IS_IOS||d.addItem(mxResources.get("device")+"...",null,function(){f(!0)},e);c.isOffline()||(d.addSeparator(e),d.addItem(mxResources.get("url")+"...",null,function(){var a=new FilenameDialog(c,"",mxResources.get("import"),function(a){if(null!=a&&0<a.length&&c.spinner.spin(document.body,mxResources.get("loading"))){var b=/(\.png)($|\?)/i.test(a)?"image/png":"text/xml";c.loadUrl(PROXY_URL+"?url="+encodeURIComponent(a),function(c){m(c,b,a)},function(){c.spinner.stop();
+c.handleError(null,mxResources.get("errorLoadingFile"))},"image/png"==b)}},mxResources.get("url"));c.showDialog(a.container,300,80,!0,!0);a.init()},e));c.showCsvImport&&d.addItem(mxResources.get("csv")+"...",null,function(){c.showImportCsvDialog()},e)})).isEnabled=f;this.put("theme",new Menu(mxUtils.bind(this,function(a,b){var d=a.addItem(mxResources.get("kennedy"),null,function(){mxSettings.setUi("");mxSettings.save();c.alert(mxResources.get("restartForChangeRequired"))},b);"atlas"!=uiTheme&&"dark"!=
uiTheme&&"min"!=uiTheme&&a.addCheckmark(d,Editor.checkmarkImage);d=a.addItem(mxResources.get("minimal"),null,function(){mxSettings.setUi("min");mxSettings.save();c.alert(mxResources.get("restartForChangeRequired"))},b);"min"==uiTheme&&a.addCheckmark(d,Editor.checkmarkImage);d=a.addItem(mxResources.get("atlas"),null,function(){mxSettings.setUi("atlas");mxSettings.save();c.alert(mxResources.get("restartForChangeRequired"))},b);"atlas"==uiTheme&&a.addCheckmark(d,Editor.checkmarkImage);d=a.addItem(mxResources.get("dark"),
-null,function(){mxSettings.setUi("dark");mxSettings.save();c.alert(mxResources.get("restartForChangeRequired"))},b);"dark"==uiTheme&&a.addCheckmark(d,Editor.checkmarkImage)})));this.editorUi.actions.addAction("rename...",mxUtils.bind(this,function(){var a=this.editorUi.getCurrentFile();if(null!=a){var b=null!=a.getTitle()?a.getTitle():this.editorUi.defaultFilename,b=new FilenameDialog(this.editorUi,b,mxResources.get("rename"),mxUtils.bind(this,function(c){null!=c&&0<c.length&&null!=a&&this.editorUi.spinner.spin(document.body,
+null,function(){mxSettings.setUi("dark");mxSettings.save();c.alert(mxResources.get("restartForChangeRequired"))},b);"dark"==uiTheme&&a.addCheckmark(d,Editor.checkmarkImage)})));e=this.editorUi.actions.addAction("rename...",mxUtils.bind(this,function(){var a=this.editorUi.getCurrentFile();if(null!=a){var b=null!=a.getTitle()?a.getTitle():this.editorUi.defaultFilename,b=new FilenameDialog(this.editorUi,b,mxResources.get("rename"),mxUtils.bind(this,function(c){null!=c&&0<c.length&&null!=a&&this.editorUi.spinner.spin(document.body,
mxResources.get("renaming"))&&a.rename(c,mxUtils.bind(this,function(a){this.editorUi.spinner.stop()}),mxUtils.bind(this,function(a){this.editorUi.handleError(a,null!=a?mxResources.get("errorRenamingFile"):null)}))}),a.constructor==DriveFile||a.constructor==StorageFile?mxResources.get("diagramName"):null,function(a){if(null!=a&&0<a.length)return!0;c.showError(mxResources.get("error"),mxResources.get("invalidName"),mxResources.get("ok"));return!1});this.editorUi.showDialog(b.container,300,80,!0,!0);
-b.init()}})).isEnabled=function(){return this.enabled&&d.apply(this,arguments)};c.actions.addAction("makeCopy...",mxUtils.bind(this,function(){var a=c.getCurrentFile();if(null!=a){var b=null!=a.getTitle()?a.getTitle():c.defaultFilename,d="",e=b.lastIndexOf(".");0<=e&&(d=b.substring(e),b=b.substring(0,e));b=mxResources.get("copyOf",[b])+d;a.constructor==DriveFile?(b=new CreateDialog(c,b,mxUtils.bind(this,function(b,d){"download"==d&&(d=App.MODE_GOOGLE);null!=b&&0<b.length&&(d==App.MODE_GOOGLE?c.spinner.spin(document.body,
-mxResources.get("saving"))&&a.save(!1,mxUtils.bind(this,function(){a.saveAs(b,mxUtils.bind(this,function(a){c.spinner.stop();var b=c.getUrl();window.openWindow(b+"#G"+a.id,null,mxUtils.bind(this,function(){window.location.hash="G"+a.id}))}),mxUtils.bind(this,function(a){c.handleError(a)}))}),mxUtils.bind(this,function(a){c.handleError(a)})):this.editorUi.createFile(b,this.editorUi.getFileData(!0),null,d))}),mxUtils.bind(this,function(){c.hideDialog()}),mxResources.get("makeCopy"),mxResources.get("create"),
-null,null,null,null,!0),c.showDialog(b.container,420,380,!0,!0),b.init()):c.editor.editAsNew(this.editorUi.getFileData(!0),b)}}));c.actions.addAction("moveToFolder...",mxUtils.bind(this,function(){var a=c.getCurrentFile();a.getMode()!=App.MODE_GOOGLE&&a.getMode()!=App.MODE_ONEDRIVE||c.pickFolder(a.getMode(),mxUtils.bind(this,function(b){c.spinner.spin(document.body,mxResources.get("moving"))&&a.move(b,mxUtils.bind(this,function(a){c.spinner.stop()}),mxUtils.bind(this,function(a){c.handleError(a)}))}))}));
-this.put("publish",new Menu(mxUtils.bind(this,function(a,c){this.addMenuItems(a,["publishLink"],c)})));c.actions.put("offline",new Action(mxResources.get("offline")+"...",function(){c.openLink("https://www.draw.io/app")}));c.actions.put("download",new Action(mxResources.get("download")+"...",function(){c.openLink("https://download.draw.io")}));this.editorUi.actions.addAction("share...",mxUtils.bind(this,function(){var a=this.editorUi.getCurrentFile();null!=a&&this.editorUi.drive.showPermissions(a.getId())}));
-this.put("embed",new Menu(mxUtils.bind(this,function(a,b){"1"==urlParams.test&&this.addMenuItems(a,["liveImage","-"],b);this.addMenuItems(a,["embedImage","embedSvg","-","embedHtml"],b);navigator.standalone||c.isOffline()||this.addMenuItems(a,["embedIframe"],b);c.isOffline()||this.addMenuItems(a,["-","googleSites","googleDocs"],b)})));var w="horizontalFlow verticalFlow - horizontalTree verticalTree radialTree - organic circle - fromText plantUml formatSql".split(" "),x=function(a,b,d,e){("plantUml"!=
-e||EditorUi.enablePlantUml)&&a.addItem(d,null,mxUtils.bind(this,function(){if("fromText"==e||"formatSql"==e||"plantUml"==e){var a=new ParseDialog(c,d,e);c.showDialog(a.container,620,420,!0,!1);c.dialog.container.style.overflow="auto"}else a=new CreateGraphDialog(c,d,e),c.showDialog(a.container,620,420,!0,!1);a.init()}),b)},C=function(a,c,d,e){var f=b.isMouseInsertPoint()?b.getInsertPoint():b.getFreeInsertPoint();a=new mxCell(a,new mxGeometry(f.x,f.y,c,d),e);a.vertex=!0;b.getModel().beginUpdate();
-try{a=b.addCell(a),b.fireEvent(new mxEventObject("cellsInserted","cells",[a]))}finally{b.getModel().endUpdate()}b.scrollCellToVisible(a);b.setSelectionCell(a);b.container.focus();b.editAfterInsert&&b.startEditing(a);return a};c.actions.addAction("insertText",function(){b.isEnabled()&&!b.isCellLocked(b.getDefaultParent())&&b.startEditingAtCell(C("Text",40,20,"text;html=1;resizable=0;autosize=1;align=center;verticalAlign=middle;points=[];fillColor=none;strokeColor=none;rounded=0;"))},null,null,Editor.ctrlKey+
-"+Shift+X").isEnabled=d;c.actions.addAction("insertRectangle",function(){b.isEnabled()&&!b.isCellLocked(b.getDefaultParent())&&C("",120,60,"whiteSpace=wrap;html=1;")},null,null,Editor.ctrlKey+"+K").isEnabled=d;c.actions.addAction("insertEllipse",function(){b.isEnabled()&&!b.isCellLocked(b.getDefaultParent())&&C("",80,80,"ellipse;whiteSpace=wrap;html=1;")},null,null,Editor.ctrlKey+"+Shift+K").isEnabled=d;c.actions.addAction("insertRhombus",function(){b.isEnabled()&&!b.isCellLocked(b.getDefaultParent())&&
-C("",80,80,"rhombus;whiteSpace=wrap;html=1;")}).isEnabled=d;this.put("insert",new Menu(mxUtils.bind(this,function(a,c){this.addMenuItems(a,"insertText insertRectangle - insertEllipse insertRhombus - insertLink insertImage".split(" "),c);a.addSeparator(c);for(var b=0;b<w.length;b++)"-"==w[b]?a.addSeparator(c):x(a,c,mxResources.get(w[b])+"...",w[b])})));this.put("openRecent",new Menu(function(a,b){var d=c.getRecent();if(null!=d){for(var e=0;e<d.length;e++)(function(d){var e=d.mode;e==App.MODE_GOOGLE?
-e="googleDrive":e==App.MODE_ONEDRIVE&&(e="oneDrive");a.addItem(d.title+" ("+mxResources.get(e)+")",null,function(){c.loadFile(d.id)},b)})(d[e]);a.addSeparator(b)}a.addItem(mxResources.get("reset"),null,function(){c.resetRecent()},b)}));this.put("openFrom",new Menu(function(b,d){null!=c.drive?b.addItem(mxResources.get("googleDrive")+"...",null,function(){c.pickFile(App.MODE_GOOGLE)},d):n&&b.addItem(mxResources.get("googleDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);null!=
-c.gitHub&&b.addItem(mxResources.get("github")+"...",null,function(){c.pickFile(App.MODE_GITHUB)},d);null!=c.dropbox?b.addItem(mxResources.get("dropbox")+"...",null,function(){c.pickFile(App.MODE_DROPBOX)},d):p&&b.addItem(mxResources.get("dropbox")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);null!=c.oneDrive?b.addItem(mxResources.get("oneDrive")+"...",null,function(){c.pickFile(App.MODE_ONEDRIVE)},d):q&&b.addItem(mxResources.get("oneDrive")+" ("+mxResources.get("loading")+"...)",
+b.init()}}));e.isEnabled=function(){return this.enabled&&f.apply(this,arguments)};e.visible="1"!=urlParams.embed;c.actions.addAction("makeCopy...",mxUtils.bind(this,function(){var a=c.getCurrentFile();if(null!=a){var b=null!=a.getTitle()?a.getTitle():c.defaultFilename,d="",e=b.lastIndexOf(".");0<=e&&(d=b.substring(e),b=b.substring(0,e));b=mxResources.get("copyOf",[b])+d;a.constructor==DriveFile?(b=new CreateDialog(c,b,mxUtils.bind(this,function(b,d){"download"==d&&(d=App.MODE_GOOGLE);null!=b&&0<b.length&&
+(d==App.MODE_GOOGLE?c.spinner.spin(document.body,mxResources.get("saving"))&&a.save(!1,mxUtils.bind(this,function(){a.saveAs(b,mxUtils.bind(this,function(a){c.spinner.stop();var b=c.getUrl();window.openWindow(b+"#G"+a.id,null,mxUtils.bind(this,function(){window.location.hash="G"+a.id}))}),mxUtils.bind(this,function(a){c.handleError(a)}))}),mxUtils.bind(this,function(a){c.handleError(a)})):this.editorUi.createFile(b,this.editorUi.getFileData(!0),null,d))}),mxUtils.bind(this,function(){c.hideDialog()}),
+mxResources.get("makeCopy"),mxResources.get("create"),null,null,null,null,!0),c.showDialog(b.container,420,380,!0,!0),b.init()):c.editor.editAsNew(this.editorUi.getFileData(!0),b)}}));c.actions.addAction("moveToFolder...",mxUtils.bind(this,function(){var a=c.getCurrentFile();a.getMode()!=App.MODE_GOOGLE&&a.getMode()!=App.MODE_ONEDRIVE||c.pickFolder(a.getMode(),mxUtils.bind(this,function(b){c.spinner.spin(document.body,mxResources.get("moving"))&&a.move(b,mxUtils.bind(this,function(a){c.spinner.stop()}),
+mxUtils.bind(this,function(a){c.handleError(a)}))}))}));this.put("publish",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,["publishLink"],b)})));c.actions.put("offline",new Action(mxResources.get("offline")+"...",function(){c.openLink("https://www.draw.io/app")}));c.actions.put("download",new Action(mxResources.get("download")+"...",function(){c.openLink("https://download.draw.io")}));this.editorUi.actions.addAction("share...",mxUtils.bind(this,function(){var a=this.editorUi.getCurrentFile();
+null!=a&&this.editorUi.drive.showPermissions(a.getId())}));this.put("embed",new Menu(mxUtils.bind(this,function(a,b){"1"==urlParams.test&&this.addMenuItems(a,["liveImage","-"],b);this.addMenuItems(a,["embedImage","embedSvg","-","embedHtml"],b);navigator.standalone||c.isOffline()||this.addMenuItems(a,["embedIframe"],b);c.isOffline()||this.addMenuItems(a,["-","googleSites","googleDocs"],b)})));var w="horizontalFlow verticalFlow - horizontalTree verticalTree radialTree - organic circle - fromText plantUml formatSql".split(" "),
+y=function(a,b,d,e){("plantUml"!=e||EditorUi.enablePlantUml)&&a.addItem(d,null,mxUtils.bind(this,function(){if("fromText"==e||"formatSql"==e||"plantUml"==e){var a=new ParseDialog(c,d,e);c.showDialog(a.container,620,420,!0,!1);c.dialog.container.style.overflow="auto"}else a=new CreateGraphDialog(c,d,e),c.showDialog(a.container,620,420,!0,!1);a.init()}),b)},x=function(a,c,d,e){var f=b.isMouseInsertPoint()?b.getInsertPoint():b.getFreeInsertPoint();a=new mxCell(a,new mxGeometry(f.x,f.y,c,d),e);a.vertex=
+!0;b.getModel().beginUpdate();try{a=b.addCell(a),b.fireEvent(new mxEventObject("cellsInserted","cells",[a]))}finally{b.getModel().endUpdate()}b.scrollCellToVisible(a);b.setSelectionCell(a);b.container.focus();b.editAfterInsert&&b.startEditing(a);return a};c.actions.addAction("insertText",function(){b.isEnabled()&&!b.isCellLocked(b.getDefaultParent())&&b.startEditingAtCell(x("Text",40,20,"text;html=1;resizable=0;autosize=1;align=center;verticalAlign=middle;points=[];fillColor=none;strokeColor=none;rounded=0;"))},
+null,null,Editor.ctrlKey+"+Shift+X").isEnabled=f;c.actions.addAction("insertRectangle",function(){b.isEnabled()&&!b.isCellLocked(b.getDefaultParent())&&x("",120,60,"whiteSpace=wrap;html=1;")},null,null,Editor.ctrlKey+"+K").isEnabled=f;c.actions.addAction("insertEllipse",function(){b.isEnabled()&&!b.isCellLocked(b.getDefaultParent())&&x("",80,80,"ellipse;whiteSpace=wrap;html=1;")},null,null,Editor.ctrlKey+"+Shift+K").isEnabled=f;c.actions.addAction("insertRhombus",function(){b.isEnabled()&&!b.isCellLocked(b.getDefaultParent())&&
+x("",80,80,"rhombus;whiteSpace=wrap;html=1;")}).isEnabled=f;this.put("insert",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,"insertText insertRectangle - insertEllipse insertRhombus - insertLink insertImage".split(" "),b);a.addSeparator(b);for(var c=0;c<w.length;c++)"-"==w[c]?a.addSeparator(b):y(a,b,mxResources.get(w[c])+"...",w[c])})));this.put("openRecent",new Menu(function(a,b){var d=c.getRecent();if(null!=d){for(var e=0;e<d.length;e++)(function(d){var e=d.mode;e==App.MODE_GOOGLE?
+e="googleDrive":e==App.MODE_ONEDRIVE&&(e="oneDrive");a.addItem(d.title+" ("+mxResources.get(e)+")",null,function(){c.loadFile(d.id)},b)})(d[e]);a.addSeparator(b)}a.addItem(mxResources.get("reset"),null,function(){c.resetRecent()},b)}));this.put("openFrom",new Menu(function(b,d){null!=c.drive?b.addItem(mxResources.get("googleDrive")+"...",null,function(){c.pickFile(App.MODE_GOOGLE)},d):l&&b.addItem(mxResources.get("googleDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);null!=
+c.gitHub&&b.addItem(mxResources.get("github")+"...",null,function(){c.pickFile(App.MODE_GITHUB)},d);null!=c.dropbox?b.addItem(mxResources.get("dropbox")+"...",null,function(){c.pickFile(App.MODE_DROPBOX)},d):n&&b.addItem(mxResources.get("dropbox")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);null!=c.oneDrive?b.addItem(mxResources.get("oneDrive")+"...",null,function(){c.pickFile(App.MODE_ONEDRIVE)},d):p&&b.addItem(mxResources.get("oneDrive")+" ("+mxResources.get("loading")+"...)",
null,function(){},d,null,!1);null!=c.trello?b.addItem(mxResources.get("trello")+"...",null,function(){c.pickFile(App.MODE_TRELLO)},d):a&&b.addItem(mxResources.get("trello")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);b.addSeparator(d);isLocalStorage&&"0"!=urlParams.browser&&b.addItem(mxResources.get("browser")+"...",null,function(){c.pickFile(App.MODE_BROWSER)},d);mxClient.IS_IOS||b.addItem(mxResources.get("device")+"...",null,function(){c.pickFile(App.MODE_DEVICE)},d);c.isOffline()||
-(b.addSeparator(d),b.addItem(mxResources.get("url")+"...",null,function(){var a=new FilenameDialog(c,"",mxResources.get("open"),function(a){null!=a&&0<a.length&&(null==c.getCurrentFile()?window.location.hash="#U"+encodeURIComponent(a):window.openWindow((mxClient.IS_CHROMEAPP?"https://www.draw.io/":"https://"+location.host+"/")+window.location.search+"#U"+encodeURIComponent(a)))},mxResources.get("url"));c.showDialog(a.container,300,80,!0,!0);a.init()},d))}));this.put("newLibrary",new Menu(function(b,
-d){"undefined"!=typeof google&&"undefined"!=typeof google.picker&&(null!=c.drive?b.addItem(mxResources.get("googleDrive")+"...",null,function(){c.showLibraryDialog(null,null,null,null,App.MODE_GOOGLE)},d):n&&b.addItem(mxResources.get("googleDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1));null!=c.gitHub&&b.addItem(mxResources.get("github")+"...",null,function(){c.showLibraryDialog(null,null,null,null,App.MODE_GITHUB)},d);null!=c.dropbox?b.addItem(mxResources.get("dropbox")+
-"...",null,function(){c.showLibraryDialog(null,null,null,null,App.MODE_DROPBOX)},d):p&&b.addItem(mxResources.get("dropbox")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);null!=c.oneDrive?b.addItem(mxResources.get("oneDrive")+"...",null,function(){c.showLibraryDialog(null,null,null,null,App.MODE_ONEDRIVE)},d):q&&b.addItem(mxResources.get("oneDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);null!=c.trello?b.addItem(mxResources.get("trello")+"...",null,
-function(){c.showLibraryDialog(null,null,null,null,App.MODE_TRELLO)},d):a&&b.addItem(mxResources.get("trello")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);b.addSeparator(d);isLocalStorage&&"0"!=urlParams.browser&&b.addItem(mxResources.get("browser")+"...",null,function(){c.showLibraryDialog(null,null,null,null,App.MODE_BROWSER)},d);mxClient.IS_IOS||b.addItem(mxResources.get("device")+"...",null,function(){c.showLibraryDialog(null,null,null,null,App.MODE_DEVICE)},d)}));this.put("openLibraryFrom",
-new Menu(function(b,d){"undefined"!=typeof google&&"undefined"!=typeof google.picker&&(null!=c.drive?b.addItem(mxResources.get("googleDrive")+"...",null,function(){c.pickLibrary(App.MODE_GOOGLE)},d):n&&b.addItem(mxResources.get("googleDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1));null!=c.gitHub&&b.addItem(mxResources.get("github")+"...",null,function(){c.pickLibrary(App.MODE_GITHUB)},d);null!=c.dropbox?b.addItem(mxResources.get("dropbox")+"...",null,function(){c.pickLibrary(App.MODE_DROPBOX)},
-d):p&&b.addItem(mxResources.get("dropbox")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);null!=c.oneDrive?b.addItem(mxResources.get("oneDrive")+"...",null,function(){c.pickLibrary(App.MODE_ONEDRIVE)},d):q&&b.addItem(mxResources.get("oneDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);null!=c.trello?b.addItem(mxResources.get("trello")+"...",null,function(){c.pickLibrary(App.MODE_TRELLO)},d):a&&b.addItem(mxResources.get("trello")+" ("+mxResources.get("loading")+
+(b.addSeparator(d),b.addItem(mxResources.get("url")+"...",null,function(){var a=new FilenameDialog(c,"",mxResources.get("open"),function(a){null!=a&&0<a.length&&(null==c.getCurrentFile()?window.location.hash="#U"+encodeURIComponent(a):window.openWindow((mxClient.IS_CHROMEAPP?"https://www.draw.io/":"https://"+location.host+"/")+window.location.search+"#U"+encodeURIComponent(a)))},mxResources.get("url"));c.showDialog(a.container,300,80,!0,!0);a.init()},d))}));Editor.enableCustomLibraries&&(this.put("newLibrary",
+new Menu(function(b,d){"undefined"!=typeof google&&"undefined"!=typeof google.picker&&(null!=c.drive?b.addItem(mxResources.get("googleDrive")+"...",null,function(){c.showLibraryDialog(null,null,null,null,App.MODE_GOOGLE)},d):l&&b.addItem(mxResources.get("googleDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1));null!=c.gitHub&&b.addItem(mxResources.get("github")+"...",null,function(){c.showLibraryDialog(null,null,null,null,App.MODE_GITHUB)},d);null!=c.dropbox?b.addItem(mxResources.get("dropbox")+
+"...",null,function(){c.showLibraryDialog(null,null,null,null,App.MODE_DROPBOX)},d):n&&b.addItem(mxResources.get("dropbox")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);null!=c.oneDrive?b.addItem(mxResources.get("oneDrive")+"...",null,function(){c.showLibraryDialog(null,null,null,null,App.MODE_ONEDRIVE)},d):p&&b.addItem(mxResources.get("oneDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);null!=c.trello?b.addItem(mxResources.get("trello")+"...",null,
+function(){c.showLibraryDialog(null,null,null,null,App.MODE_TRELLO)},d):a&&b.addItem(mxResources.get("trello")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);b.addSeparator(d);isLocalStorage&&"0"!=urlParams.browser&&b.addItem(mxResources.get("browser")+"...",null,function(){c.showLibraryDialog(null,null,null,null,App.MODE_BROWSER)},d);mxClient.IS_IOS||b.addItem(mxResources.get("device")+"...",null,function(){c.showLibraryDialog(null,null,null,null,App.MODE_DEVICE)},d)})),this.put("openLibraryFrom",
+new Menu(function(b,d){"undefined"!=typeof google&&"undefined"!=typeof google.picker&&(null!=c.drive?b.addItem(mxResources.get("googleDrive")+"...",null,function(){c.pickLibrary(App.MODE_GOOGLE)},d):l&&b.addItem(mxResources.get("googleDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1));null!=c.gitHub&&b.addItem(mxResources.get("github")+"...",null,function(){c.pickLibrary(App.MODE_GITHUB)},d);null!=c.dropbox?b.addItem(mxResources.get("dropbox")+"...",null,function(){c.pickLibrary(App.MODE_DROPBOX)},
+d):n&&b.addItem(mxResources.get("dropbox")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);null!=c.oneDrive?b.addItem(mxResources.get("oneDrive")+"...",null,function(){c.pickLibrary(App.MODE_ONEDRIVE)},d):p&&b.addItem(mxResources.get("oneDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);null!=c.trello?b.addItem(mxResources.get("trello")+"...",null,function(){c.pickLibrary(App.MODE_TRELLO)},d):a&&b.addItem(mxResources.get("trello")+" ("+mxResources.get("loading")+
"...)",null,function(){},d,null,!1);b.addSeparator(d);isLocalStorage&&"0"!=urlParams.browser&&b.addItem(mxResources.get("browser")+"...",null,function(){c.pickLibrary(App.MODE_BROWSER)},d);mxClient.IS_IOS||b.addItem(mxResources.get("device")+"...",null,function(){c.pickLibrary(App.MODE_DEVICE)},d);c.isOffline()||(b.addSeparator(d),b.addItem(mxResources.get("url")+"...",null,function(){var a=new FilenameDialog(c,"",mxResources.get("open"),function(a){if(null!=a&&0<a.length&&c.spinner.spin(document.body,
-mxResources.get("loading"))){var b=a;c.isCorsEnabledForUrl(a)||(b=PROXY_URL+"?url="+encodeURIComponent(a));mxUtils.get(b,function(b){if(200<=b.getStatus()&&299>=b.getStatus()){c.spinner.stop();try{c.loadLibrary(new UrlLibrary(this,b.getText(),a))}catch(B){c.handleError(B,mxResources.get("errorLoadingFile"))}}else c.spinner.stop(),c.handleError(null,mxResources.get("errorLoadingFile"))},function(){c.spinner.stop();c.handleError(null,mxResources.get("errorLoadingFile"))})}},mxResources.get("url"));
-c.showDialog(a.container,300,80,!0,!0);a.init()},d))}));this.put("edit",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,"undo redo - cut copy paste delete - duplicate - find - editData editTooltip editStyle - edit - editLink openLink - selectVertices selectEdges selectAll selectNone - lockUnlock".split(" "))})));this.put("view",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,(null!=this.editorUi.format?["formatPanel"]:[]).concat(["outline","layers","-"]));this.addMenuItems(a,
+mxResources.get("loading"))){var b=a;c.isCorsEnabledForUrl(a)||(b=PROXY_URL+"?url="+encodeURIComponent(a));mxUtils.get(b,function(b){if(200<=b.getStatus()&&299>=b.getStatus()){c.spinner.stop();try{c.loadLibrary(new UrlLibrary(this,b.getText(),a))}catch(A){c.handleError(A,mxResources.get("errorLoadingFile"))}}else c.spinner.stop(),c.handleError(null,mxResources.get("errorLoadingFile"))},function(){c.spinner.stop();c.handleError(null,mxResources.get("errorLoadingFile"))})}},mxResources.get("url"));
+c.showDialog(a.container,300,80,!0,!0);a.init()},d))})));this.put("edit",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,"undo redo - cut copy paste delete - duplicate - find - editData editTooltip editStyle - edit - editLink openLink - selectVertices selectEdges selectAll selectNone - lockUnlock".split(" "))})));this.put("view",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,(null!=this.editorUi.format?["formatPanel"]:[]).concat(["outline","layers","-"]));this.addMenuItems(a,
["-","search"],b);if(isLocalStorage||mxClient.IS_CHROMEAPP){var d=this.addMenuItem(a,"scratchpad",b);c.isOffline()&&!mxClient.IS_CHROMEAPP||this.addLinkToItem(d,"https://desk.draw.io/support/solutions/articles/16000042367")}this.addMenuItems(a,"shapes - pageView pageScale - scrollbars tooltips - grid guides".split(" "),b);mxClient.IS_SVG&&(null==document.documentMode||9<document.documentMode)&&this.addMenuItem(a,"shadowVisible",b);this.addMenuItems(a,"- connectionArrows connectionPoints - resetView zoomIn zoomOut".split(" "),
b)})));this.put("extras",new Menu(mxUtils.bind(this,function(a,b){"1"!=urlParams.embed&&(this.addSubmenu("theme",a,b),a.addSeparator(b));this.addMenuItems(a,["copyConnect","collapseExpand","-"],b);if("undefined"!==typeof MathJax){var d=this.addMenuItem(a,"mathematicalTypesetting",b);this.addLinkToItem(d,"https://desk.draw.io/support/solutions/articles/16000032875")}"1"!=urlParams.embed&&this.addMenuItems(a,["autosave"],b);this.addMenuItems(a,["-","createShape","editDiagram"],b);a.addSeparator(b);
"1"!=urlParams.embed&&isLocalStorage&&this.addMenuItems(a,["showStartScreen"],b);c.isOfflineApp()||"1"==urlParams.embed||this.addMenuItem(a,"plugins",b);a.addSeparator(b);this.addMenuItem(a,"tags",b)})));this.put("file",new Menu(mxUtils.bind(this,function(a,b){if("1"==urlParams.embed)this.addSubmenu("importFrom",a,b),this.addSubmenu("exportAs",a,b),this.addSubmenu("embed",a,b),"1"==urlParams.libraries&&(this.addMenuItems(a,["-"],b),this.addSubmenu("newLibrary",a,b),this.addSubmenu("openLibraryFrom",
-a,b)),this.addMenuItems(a,["-","pageSetup","print","-","save"],b),"1"==urlParams.saveAndExit&&this.addMenuItems(a,["saveAndExit"],b),this.addMenuItems(a,["exit"],b);else{var d=this.editorUi.getCurrentFile();null!=d&&d.constructor==DriveFile?(d.isRestricted()&&this.addMenuItems(a,["exportOptionsDisabled"],b),null==d.realtime?this.addMenuItems(a,["save","share","-"],b):(d.isAutosave()||this.addMenuItems(a,["save"],b),this.addMenuItems(a,["share","chatWindowTitle","-"],b))):this.addMenuItems(a,["new"],
-b);this.addSubmenu("openFrom",a,b);isLocalStorage&&this.addSubmenu("openRecent",a,b);null!=d&&d.constructor==DriveFile?this.addMenuItems(a,["new","-","rename","makeCopy","moveToFolder"],b):(this.addMenuItems(a,["-","save","saveAs","-","rename"],b),c.isOfflineApp()?c.isOffline()||this.addMenuItems(a,["upload"],b):(this.addMenuItems(a,["makeCopy"],b),null!=d&&d.constructor==OneDriveFile&&this.addMenuItems(a,["moveToFolder"],b)));a.addSeparator(b);this.addSubmenu("importFrom",a,b);this.addSubmenu("exportAs",
+a,b)),this.addMenuItems(a,"- pageSetup print - rename save".split(" "),b),"1"==urlParams.saveAndExit&&this.addMenuItems(a,["saveAndExit"],b),this.addMenuItems(a,["exit"],b);else{var d=this.editorUi.getCurrentFile();null!=d&&d.constructor==DriveFile?(d.isRestricted()&&this.addMenuItems(a,["exportOptionsDisabled"],b),null==d.realtime?this.addMenuItems(a,["save","share","-"],b):(d.isAutosave()||this.addMenuItems(a,["save"],b),this.addMenuItems(a,["share","chatWindowTitle","-"],b))):this.addMenuItems(a,
+["new"],b);this.addSubmenu("openFrom",a,b);isLocalStorage&&this.addSubmenu("openRecent",a,b);null!=d&&d.constructor==DriveFile?this.addMenuItems(a,["new","-","rename","makeCopy","moveToFolder"],b):(this.addMenuItems(a,["-","save","saveAs","-","rename"],b),c.isOfflineApp()?c.isOffline()||this.addMenuItems(a,["upload"],b):(this.addMenuItems(a,["makeCopy"],b),null!=d&&d.constructor==OneDriveFile&&this.addMenuItems(a,["moveToFolder"],b)));a.addSeparator(b);this.addSubmenu("importFrom",a,b);this.addSubmenu("exportAs",
a,b);a.addSeparator(b);this.addSubmenu("embed",a,b);this.addSubmenu("publish",a,b);a.addSeparator(b);this.addSubmenu("newLibrary",a,b);this.addSubmenu("openLibraryFrom",a,b);null==d||d.constructor!=DriveFile&&d.constructor!=DropboxFile||this.addMenuItems(a,["-","revisionHistory"],b);null!=d&&d.constructor==DriveFile&&this.addMenuItems(a,["createRevision"],b);this.addMenuItems(a,["-","pageSetup"],b);mxClient.IS_IOS&&navigator.standalone||this.addMenuItems(a,["print"],b);this.addMenuItems(a,["-","close"])}})))};
-var d=Menus.prototype.menuCreated;Menus.prototype.menuCreated=function(b,e){if(480>=screen.width&&b==this.get("help")){e.style.paddingRight="0px";e.style.paddingLeft="0px";e.innerHTML="";var c=document.createElement("img");c.setAttribute("border","0");c.setAttribute("valign","bottom");c.setAttribute("src",Editor.helpImage);e.appendChild(c)}d.apply(this,arguments)}})();function DiagramPage(b){this.node=b;(null==this.node.hasAttribute&&null==this.node.getAttribute("id")||null!=this.node.hasAttribute&&!this.node.hasAttribute("id"))&&this.node.setAttribute("id",function(){function b(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return b()+b()+"-"+b()+"-"+b()+"-"+b()+"-"+b()+b()+b()}())}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(b){null==b?this.node.removeAttribute("name"):this.node.setAttribute("name",b)};function RenamePage(b,e,d){this.ui=b;this.page=e;this.previous=this.name=d}RenamePage.prototype.execute=function(){var b=this.page.getName();this.page.setName(this.previous);this.previous=b;this.ui.editor.graph.updatePlaceholders();this.ui.editor.fireEvent(new mxEventObject("pageRenamed"))};
-function MovePage(b,e,d){this.ui=b;this.oldIndex=e;this.newIndex=d}MovePage.prototype.execute=function(){this.ui.pages.splice(this.newIndex,0,this.ui.pages.splice(this.oldIndex,1)[0]);var b=this.oldIndex;this.oldIndex=this.newIndex;this.newIndex=b;this.ui.editor.graph.updatePlaceholders();this.ui.editor.fireEvent(new mxEventObject("pageMoved"))};
-function SelectPage(b,e){this.ui=b;this.previousPage=this.page=e;this.neverShown=!0;null!=e&&(this.neverShown=null==e.viewState,this.ui.updatePageRoot(e))}
-SelectPage.prototype.execute=function(){var b=mxUtils.indexOf(this.ui.pages,this.previousPage);if(null!=this.page&&0<=b){var b=this.ui.currentPage,e=this.ui.editor,d=e.graph,c=e.graph.compress(d.zapGremlins(mxUtils.getXml(e.getGraphXml(!0))));mxUtils.setTextContent(b.node,c);b.viewState=d.getViewState();b.root=d.model.root;d.view.clear(b.root,!0);d.clearSelection();this.ui.currentPage=this.previousPage;this.previousPage=b;b=this.ui.currentPage;d.model.rootChanged(b.root);d.setViewState(b.viewState);
-e.fireEvent(new mxEventObject("setViewState","change",this));d.gridEnabled=d.gridEnabled&&(!this.ui.editor.isChromelessView()||"1"==urlParams.grid);e.updateGraphComponents();d.view.validate();d.sizeDidChange();this.neverShown&&(this.neverShown=!1,d.selectUnlockedLayer());e.graph.fireEvent(new mxEventObject(mxEvent.ROOT));e.fireEvent(new mxEventObject("pageSelected","change",this))}};function ChangePage(b,e,d,c){SelectPage.call(this,b,d);this.relatedPage=e;this.index=c;this.previousIndex=null}
+var f=Menus.prototype.menuCreated;Menus.prototype.menuCreated=function(b,d){if(480>=screen.width&&b==this.get("help")){d.style.paddingRight="0px";d.style.paddingLeft="0px";d.innerHTML="";var c=document.createElement("img");c.setAttribute("border","0");c.setAttribute("valign","bottom");c.setAttribute("src",Editor.helpImage);d.appendChild(c)}f.apply(this,arguments)}})();function DiagramPage(b){this.node=b;(null==this.node.hasAttribute&&null==this.node.getAttribute("id")||null!=this.node.hasAttribute&&!this.node.hasAttribute("id"))&&this.node.setAttribute("id",function(){function b(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return b()+b()+"-"+b()+"-"+b()+"-"+b()+"-"+b()+b()+b()}())}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(b){null==b?this.node.removeAttribute("name"):this.node.setAttribute("name",b)};function RenamePage(b,d,f){this.ui=b;this.page=d;this.previous=this.name=f}RenamePage.prototype.execute=function(){var b=this.page.getName();this.page.setName(this.previous);this.previous=b;this.ui.editor.graph.updatePlaceholders();this.ui.editor.fireEvent(new mxEventObject("pageRenamed"))};
+function MovePage(b,d,f){this.ui=b;this.oldIndex=d;this.newIndex=f}MovePage.prototype.execute=function(){this.ui.pages.splice(this.newIndex,0,this.ui.pages.splice(this.oldIndex,1)[0]);var b=this.oldIndex;this.oldIndex=this.newIndex;this.newIndex=b;this.ui.editor.graph.updatePlaceholders();this.ui.editor.fireEvent(new mxEventObject("pageMoved"))};
+function SelectPage(b,d){this.ui=b;this.previousPage=this.page=d;this.neverShown=!0;null!=d&&(this.neverShown=null==d.viewState,this.ui.updatePageRoot(d))}
+SelectPage.prototype.execute=function(){var b=mxUtils.indexOf(this.ui.pages,this.previousPage);if(null!=this.page&&0<=b){var b=this.ui.currentPage,d=this.ui.editor,f=d.graph,c=d.graph.compress(f.zapGremlins(mxUtils.getXml(d.getGraphXml(!0))));mxUtils.setTextContent(b.node,c);b.viewState=f.getViewState();b.root=f.model.root;f.view.clear(b.root,!0);f.clearSelection();this.ui.currentPage=this.previousPage;this.previousPage=b;b=this.ui.currentPage;f.model.rootChanged(b.root);f.setViewState(b.viewState);
+d.fireEvent(new mxEventObject("setViewState","change",this));f.gridEnabled=f.gridEnabled&&(!this.ui.editor.isChromelessView()||"1"==urlParams.grid);d.updateGraphComponents();f.view.validate();f.sizeDidChange();this.neverShown&&(this.neverShown=!1,f.selectUnlockedLayer());d.graph.fireEvent(new mxEventObject(mxEvent.ROOT));d.fireEvent(new mxEventObject("pageSelected","change",this))}};function ChangePage(b,d,f,c){SelectPage.call(this,b,f);this.relatedPage=d;this.index=c;this.previousIndex=null}
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 b=mxUtils.indexOf(this.ui.pages,this.relatedPage);this.ui.pages.splice(b,1);this.index=b}else this.ui.pages.splice(this.index,0,this.relatedPage),this.index=null;SelectPage.prototype.execute.apply(this,arguments)};
-EditorUi.prototype.getPageById=function(b){if(null!=this.pages)for(var e=0;e<this.pages.length;e++)if(this.pages[e].getId()==b)return this.pages[e];return null};
-EditorUi.prototype.initPages=function(){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 b=this.editor.graph,e=b.view.validateBackground;b.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":"30px";c!=this.tabContainer.style.height&&this.refresh(!1)}e.apply(b.view,arguments)});var d=!1,c=null,g=mxUtils.bind(this,function(){this.updateTabContainer();var e=this.currentPage;null!=e&&e!=c&&(null==e.viewState||null==e.viewState.scrollLeft?(this.resetScrollbars(),b.isLightboxView()&&this.lightboxFit(),null!=this.chromelessResize&&(b.container.scrollLeft=0,b.container.scrollTop=0,this.chromelessResize())):
-(b.container.scrollLeft=b.view.translate.x*b.view.scale+e.viewState.scrollLeft,b.container.scrollTop=b.view.translate.y*b.view.scale+e.viewState.scrollTop),c=e);null!=this.actions.layersWindow&&this.actions.layersWindow.refreshLayers();"undefined"!==typeof MathJax&&"undefined"!==typeof MathJax.Hub?d||null==this.editor||(1!=MathJax.Hub.queue.pending||this.editor.graph.mathEnabled||MathJax.Hub.Queue(mxUtils.bind(this,function(){this.editor.graph.refresh()})),MathJax.Hub.Queue(mxUtils.bind(this,function(){d=
-!0}))):"undefined"===typeof Editor.MathJaxClear||null!=this.editor&&this.editor.graph.mathEnabled||(d=!0,Editor.MathJaxClear())});this.editor.graph.model.addListener(mxEvent.CHANGE,mxUtils.bind(this,function(b,c){for(var d=c.getProperty("edit").changes,e=0;e<d.length;e++)if(d[e]instanceof SelectPage||d[e]instanceof RenamePage||d[e]instanceof MovePage||d[e]instanceof mxRootChange){g();break}}));null!=this.toolbar&&this.editor.addListener("pageSelected",this.toolbar.updateZoom)};
-Graph.prototype.createViewState=function(b){var e=b.getAttribute("page"),d=b.getAttribute("pageScale"),c=b.getAttribute("pageWidth"),g=b.getAttribute("pageHeight"),k=b.getAttribute("background"),n=b.getAttribute("backgroundImage"),n=null!=n&&0<n.length?JSON.parse(n):null;return{gridEnabled:"0"!=b.getAttribute("grid"),gridSize:parseFloat(b.getAttribute("gridSize"))||mxGraph.prototype.gridSize,guidesEnabled:"0"!=b.getAttribute("guides"),foldingEnabled:"0"!=b.getAttribute("fold"),shadowVisible:"1"==
-b.getAttribute("shadow"),pageVisible:this.isLightboxView()?!1:null!=e?"0"!=e:this.defaultPageVisible,background:null!=k&&0<k.length?k:this.defaultGraphBackground,backgroundImage:null!=n?new mxImage(n.src,n.width,n.height):null,pageScale:null!=d?d:mxGraph.prototype.pageScale,pageFormat:null!=c&&null!=g?new mxRectangle(0,0,parseFloat(c),parseFloat(g)):this.pageFormat,tooltips:"0"!=b.getAttribute("tooltips"),connect:"0"!=b.getAttribute("connect"),arrows:"0"!=b.getAttribute("arrows"),mathEnabled:"0"!=
+EditorUi.prototype.getPageById=function(b){if(null!=this.pages)for(var d=0;d<this.pages.length;d++)if(this.pages[d].getId()==b)return this.pages[d];return null};
+EditorUi.prototype.initPages=function(){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 b=this.editor.graph,d=b.view.validateBackground;b.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":"30px";c!=this.tabContainer.style.height&&this.refresh(!1)}d.apply(b.view,arguments)});var f=null,c=mxUtils.bind(this,function(){this.updateTabContainer();var c=this.currentPage;null!=c&&c!=f&&(null==c.viewState||null==c.viewState.scrollLeft?(this.resetScrollbars(),b.isLightboxView()&&this.lightboxFit(),null!=this.chromelessResize&&(b.container.scrollLeft=0,b.container.scrollTop=0,this.chromelessResize())):(b.container.scrollLeft=
+b.view.translate.x*b.view.scale+c.viewState.scrollLeft,b.container.scrollTop=b.view.translate.y*b.view.scale+c.viewState.scrollTop),f=c);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(){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(b,d){for(var f=d.getProperty("edit").changes,g=0;g<f.length;g++)if(f[g]instanceof SelectPage||f[g]instanceof RenamePage||f[g]instanceof MovePage||f[g]instanceof mxRootChange){c();break}}));null!=this.toolbar&&this.editor.addListener("pageSelected",this.toolbar.updateZoom)};
+Graph.prototype.createViewState=function(b){var d=b.getAttribute("page"),f=b.getAttribute("pageScale"),c=b.getAttribute("pageWidth"),g=b.getAttribute("pageHeight"),k=b.getAttribute("background"),l=b.getAttribute("backgroundImage"),l=null!=l&&0<l.length?JSON.parse(l):null;return{gridEnabled:"0"!=b.getAttribute("grid"),gridSize:parseFloat(b.getAttribute("gridSize"))||mxGraph.prototype.gridSize,guidesEnabled:"0"!=b.getAttribute("guides"),foldingEnabled:"0"!=b.getAttribute("fold"),shadowVisible:"1"==
+b.getAttribute("shadow"),pageVisible:this.isLightboxView()?!1:null!=d?"0"!=d:this.defaultPageVisible,background:null!=k&&0<k.length?k:this.defaultGraphBackground,backgroundImage:null!=l?new mxImage(l.src,l.width,l.height):null,pageScale:null!=f?f:mxGraph.prototype.pageScale,pageFormat:null!=c&&null!=g?new mxRectangle(0,0,parseFloat(c),parseFloat(g)):this.pageFormat,tooltips:"0"!=b.getAttribute("tooltips"),connect:"0"!=b.getAttribute("connect"),arrows:"0"!=b.getAttribute("arrows"),mathEnabled:"0"!=
b.getAttribute("math"),selectionCells:null,defaultParent:null,scrollbars:this.defaultScrollbars,scale:1}};
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}};
Graph.prototype.setViewState=function(b){null!=b?(this.lastPasteXml=b.lastPasteXml,this.pasteCounter=b.pasteCounter||0,this.mathEnabled=b.mathEnabled,this.gridEnabled=b.gridEnabled,this.gridSize=b.gridSize,this.graphHandler.guidesEnabled=b.guidesEnabled,this.foldingEnabled=b.foldingEnabled,this.setShadowVisible(b.shadowVisible,!1),this.scrollbars=b.scrollbars,this.pageVisible=b.pageVisible,this.background=b.background,this.backgroundImage=b.backgroundImage,this.pageScale=b.pageScale,this.pageFormat=
b.pageFormat,this.view.scale=b.scale,this.view.currentRoot=b.currentRoot,this.defaultParent=b.defaultParent,this.connectionArrowsEnabled=b.arrows,this.setTooltips(b.tooltips),this.setConnectable(b.connect),this.model.contains(this.view.currentRoot)||(this.view.currentRoot=null),this.model.contains(this.defaultParent)||(this.setDefaultParent(null),this.selectUnlockedLayer()),null!=b.translate&&(this.view.translate=b.translate)):(this.view.currentRoot=null,this.view.scale=1,this.gridEnabled=!0,this.gridSize=
mxGraph.prototype.gridSize,this.pageScale=mxGraph.prototype.pageScale,this.pageFormat=mxSettings.getPageFormat(),this.pageVisible=this.defaultPageVisible,this.background=this.defaultGraphBackground,this.backgroundImage=null,this.scrollbars=this.defaultScrollbars,this.foldingEnabled=this.graphHandler.guidesEnabled=!0,this.defaultParent=null,this.setTooltips(!0),this.setConnectable(!0),this.lastPasteXml=null,this.pasteCounter=0,this.mathEnabled=!1,this.connectionArrowsEnabled=!0);this.preferPageSize=
-this.pageBreaksVisible=this.pageVisible};EditorUi.prototype.updatePageRoot=function(b){if(null==b.root){var e=this.editor.extractGraphModel(b.node);if(null!=e){b.graphModelNode=e;b.viewState=this.editor.graph.createViewState(e);var d=new mxCodec(e.ownerDocument);b.root=d.decode(e).root}else b.root=this.editor.graph.model.createRoot()}return b};
-EditorUi.prototype.selectPage=function(b,e){this.editor.graph.isEditing()&&this.editor.graph.stopEditing(!1);e=null!=e?e:!1;this.editor.graph.isMouseDown=!1;this.editor.graph.reset();var d=this.editor.graph.model.createUndoableEdit();d.ignoreEdit=!0;var c=new SelectPage(this,b);c.execute();d.add(c);d.notify();this.editor.graph.tooltipHandler.hide();e||this.editor.graph.model.fireEvent(new mxEventObject(mxEvent.UNDO,"edit",d))};
-EditorUi.prototype.selectNextPage=function(b){var e=this.currentPage;null!=e&&null!=this.pages&&(e=mxUtils.indexOf(this.pages,e),b?this.selectPage(this.pages[mxUtils.mod(e+1,this.pages.length)]):b||this.selectPage(this.pages[mxUtils.mod(e-1,this.pages.length)]))};EditorUi.prototype.insertPage=function(b,e){if(this.editor.graph.isEnabled()){b=null!=b?b:this.createPage();e=null!=e?e:this.pages.length;var d=new ChangePage(this,b,b,e);this.editor.graph.model.execute(d)}return b};
-EditorUi.prototype.createPage=function(b){var e=new DiagramPage(this.fileNode.ownerDocument.createElement("diagram"));e.setName(null!=b?b:this.createPageName());return e};EditorUi.prototype.createPageName=function(){for(var b={},e=0;e<this.pages.length;e++){var d=this.pages[e].getName();null!=d&&0<d.length&&(b[d]=d)}e=this.pages.length;do d=mxResources.get("pageWithNumber",[++e]);while(null!=b[d]);return d};
-EditorUi.prototype.removePage=function(b){var e=this.editor.graph;if(e.isEnabled()){e.model.beginUpdate();try{var d=this.currentPage;if(d==b)if(1<this.pages.length){var c=mxUtils.indexOf(this.pages,b);c==this.pages.length-1?c--:c++;d=this.pages[c]}else d=this.insertPage(),e.model.execute(new RenamePage(this,d,mxResources.get("pageWithNumber",[1])));e.model.execute(new ChangePage(this,b,d))}finally{e.model.endUpdate()}}return b};
-EditorUi.prototype.duplicatePage=function(b,e){var d=this.editor.graph,c=null;d.isEnabled()&&(d.isEditing()&&d.stopEditing(),c=b.node.cloneNode(!1),c.removeAttribute("id"),c=new DiagramPage(c),c.root=d.cloneCells([d.model.root])[0],c.viewState=d.getViewState(),c.viewState.scale=1,c.viewState.scrollLeft=null,c.viewState.scrollRight=null,c.setName(e),c=this.insertPage(c,mxUtils.indexOf(this.pages,b)+1));return c};
-EditorUi.prototype.renamePage=function(b){if(this.editor.graph.isEnabled()){var e=new FilenameDialog(this,b.getName(),mxResources.get("rename"),mxUtils.bind(this,function(d){null!=d&&0<d.length&&this.editor.graph.model.execute(new RenamePage(this,b,d))}),mxResources.get("rename"));this.showDialog(e.container,300,80,!0,!0);e.init()}return b};EditorUi.prototype.movePage=function(b,e){this.editor.graph.model.execute(new MovePage(this,b,e))};
+this.pageBreaksVisible=this.pageVisible};EditorUi.prototype.updatePageRoot=function(b){if(null==b.root){var d=this.editor.extractGraphModel(b.node);if(null!=d){b.graphModelNode=d;b.viewState=this.editor.graph.createViewState(d);var f=new mxCodec(d.ownerDocument);b.root=f.decode(d).root}else b.root=this.editor.graph.model.createRoot()}return b};
+EditorUi.prototype.selectPage=function(b,d){this.editor.graph.isEditing()&&this.editor.graph.stopEditing(!1);d=null!=d?d:!1;this.editor.graph.isMouseDown=!1;this.editor.graph.reset();var f=this.editor.graph.model.createUndoableEdit();f.ignoreEdit=!0;var c=new SelectPage(this,b);c.execute();f.add(c);f.notify();this.editor.graph.tooltipHandler.hide();d||this.editor.graph.model.fireEvent(new mxEventObject(mxEvent.UNDO,"edit",f))};
+EditorUi.prototype.selectNextPage=function(b){var d=this.currentPage;null!=d&&null!=this.pages&&(d=mxUtils.indexOf(this.pages,d),b?this.selectPage(this.pages[mxUtils.mod(d+1,this.pages.length)]):b||this.selectPage(this.pages[mxUtils.mod(d-1,this.pages.length)]))};EditorUi.prototype.insertPage=function(b,d){if(this.editor.graph.isEnabled()){b=null!=b?b:this.createPage();d=null!=d?d:this.pages.length;var f=new ChangePage(this,b,b,d);this.editor.graph.model.execute(f)}return b};
+EditorUi.prototype.createPage=function(b){var d=new DiagramPage(this.fileNode.ownerDocument.createElement("diagram"));d.setName(null!=b?b:this.createPageName());return d};EditorUi.prototype.createPageName=function(){for(var b={},d=0;d<this.pages.length;d++){var f=this.pages[d].getName();null!=f&&0<f.length&&(b[f]=f)}d=this.pages.length;do f=mxResources.get("pageWithNumber",[++d]);while(null!=b[f]);return f};
+EditorUi.prototype.removePage=function(b){var d=this.editor.graph;if(d.isEnabled()){d.model.beginUpdate();try{var f=this.currentPage;if(f==b)if(1<this.pages.length){var c=mxUtils.indexOf(this.pages,b);c==this.pages.length-1?c--:c++;f=this.pages[c]}else f=this.insertPage(),d.model.execute(new RenamePage(this,f,mxResources.get("pageWithNumber",[1])));d.model.execute(new ChangePage(this,b,f))}finally{d.model.endUpdate()}}return b};
+EditorUi.prototype.duplicatePage=function(b,d){var f=this.editor.graph,c=null;f.isEnabled()&&(f.isEditing()&&f.stopEditing(),c=b.node.cloneNode(!1),c.removeAttribute("id"),c=new DiagramPage(c),c.root=f.cloneCells([f.model.root])[0],c.viewState=f.getViewState(),c.viewState.scale=1,c.viewState.scrollLeft=null,c.viewState.scrollRight=null,c.setName(d),c=this.insertPage(c,mxUtils.indexOf(this.pages,b)+1));return c};
+EditorUi.prototype.renamePage=function(b){if(this.editor.graph.isEnabled()){var d=new FilenameDialog(this,b.getName(),mxResources.get("rename"),mxUtils.bind(this,function(d){null!=d&&0<d.length&&this.editor.graph.model.execute(new RenamePage(this,b,d))}),mxResources.get("rename"));this.showDialog(d.container,300,80,!0,!0);d.init()}return b};EditorUi.prototype.movePage=function(b,d){this.editor.graph.model.execute(new MovePage(this,b,d))};
EditorUi.prototype.createTabContainer=function(){var b=document.createElement("div");b.style.backgroundColor="dark"==uiTheme?"#2a2a2a":"#dcdcdc";b.style.position="absolute";b.style.whiteSpace="nowrap";b.style.overflow="hidden";b.style.height="0px";return b};
-EditorUi.prototype.updateTabContainer=function(){if(null!=this.tabContainer&&null!=this.pages){var b=this.editor.graph,e=document.createElement("div");e.style.position="relative";e.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";e.style.verticalAlign="top";e.style.height=this.tabContainer.style.height;e.style.whiteSpace="nowrap";e.style.overflow="hidden";e.style.fontSize="12px";e.style.marginLeft="30px";for(var d=this.editor.isChromelessView()?29:59,c=Math.min(140,Math.max(20,(this.tabContainer.clientWidth-
-d)/this.pages.length)+1),g=null,k=0;k<this.pages.length;k++)mxUtils.bind(this,function(a,c){this.pages[a]==this.currentPage?(c.className="geActivePage",c.style.backgroundColor="dark"==uiTheme?"#2a2a2a":"#eeeeee",c.style.fontWeight="bold",c.style.borderTopStyle="none"):c.className="geInactivePage";c.setAttribute("draggable","true");mxEvent.addListener(c,"dragstart",mxUtils.bind(this,function(c){b.isEnabled()?(mxClient.IS_FF&&c.dataTransfer.setData("Text","<diagram/>"),g=a):mxEvent.consume(c)}));mxEvent.addListener(c,
-"dragend",mxUtils.bind(this,function(a){g=null;a.stopPropagation();a.preventDefault()}));mxEvent.addListener(c,"dragover",mxUtils.bind(this,function(a){null!=g&&(a.dataTransfer.dropEffect="move");a.stopPropagation();a.preventDefault()}));mxEvent.addListener(c,"drop",mxUtils.bind(this,function(b){null!=g&&a!=g&&this.movePage(g,a);b.stopPropagation();b.preventDefault()}));e.appendChild(c)})(k,this.createTabForPage(this.pages[k],c,this.pages[k]!=this.currentPage));this.tabContainer.innerHTML="";this.tabContainer.appendChild(e);
-c=this.createPageMenuTab();this.tabContainer.appendChild(c);c=null;this.isPageInsertTabVisible()&&(c=this.createPageInsertTab(),this.tabContainer.appendChild(c));if(e.clientWidth>this.tabContainer.clientWidth-d){null!=c&&(c.style.position="absolute",c.style.right="0px",e.style.marginRight="30px");var n=this.createControlTab(4,"&nbsp;&#10094;&nbsp;");n.style.position="absolute";n.style.right=this.editor.chromeless?"29px":"55px";n.style.fontSize="13pt";this.tabContainer.appendChild(n);var p=this.createControlTab(4,
-"&nbsp;&#10095;");p.style.position="absolute";p.style.right=this.editor.chromeless?"0px":"29px";p.style.fontSize="13pt";this.tabContainer.appendChild(p);var q=Math.max(0,this.tabContainer.clientWidth-(this.editor.chromeless?86:116));e.style.width=q+"px";mxEvent.addListener(n,"click",mxUtils.bind(this,function(a){e.scrollLeft-=Math.max(20,q-20);mxUtils.setOpacity(n,0<e.scrollLeft?100:50);mxUtils.setOpacity(p,e.scrollLeft<e.scrollWidth-e.clientWidth?100:50);mxEvent.consume(a)}));mxUtils.setOpacity(n,
-0<e.scrollLeft?100:50);mxUtils.setOpacity(p,e.scrollLeft<e.scrollWidth-e.clientWidth?100:50);mxEvent.addListener(p,"click",mxUtils.bind(this,function(a){e.scrollLeft+=Math.max(20,q-20);mxUtils.setOpacity(n,0<e.scrollLeft?100:50);mxUtils.setOpacity(p,e.scrollLeft<e.scrollWidth-e.clientWidth?100:50);mxEvent.consume(a)}))}}};EditorUi.prototype.isPageInsertTabVisible=function(){return 1==urlParams.embed||null!=this.getCurrentFile()&&this.getCurrentFile().isEditable()};
-EditorUi.prototype.createTab=function(b){var e=document.createElement("div");e.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";e.style.whiteSpace="nowrap";e.style.boxSizing="border-box";e.style.position="relative";e.style.overflow="hidden";e.style.marginLeft="-1px";e.style.height=this.tabContainer.clientHeight+"px";e.style.padding="8px 4px 8px 4px";e.style.border="dark"==uiTheme?"1px solid #505759":"1px solid #c0c0c0";e.style.borderBottomStyle="solid";e.style.backgroundColor=this.tabContainer.style.backgroundColor;
-e.style.cursor="move";e.style.color="gray";b&&(mxEvent.addListener(e,"mouseenter",mxUtils.bind(this,function(b){this.editor.graph.isMouseDown||(e.style.backgroundColor="dark"==uiTheme?"black":"#d3d3d3",mxEvent.consume(b))})),mxEvent.addListener(e,"mouseleave",mxUtils.bind(this,function(b){e.style.backgroundColor=this.tabContainer.style.backgroundColor;mxEvent.consume(b)})));return e};
-EditorUi.prototype.createControlTab=function(b,e){var d=this.createTab(!0);d.style.paddingTop=b+"px";d.style.cursor="pointer";d.style.width="30px";d.style.lineHeight="30px";d.innerHTML=e;null!=d.firstChild&&null!=d.firstChild.style&&mxUtils.setOpacity(d.firstChild,40);return d};
+EditorUi.prototype.updateTabContainer=function(){if(null!=this.tabContainer&&null!=this.pages){var b=this.editor.graph,d=document.createElement("div");d.style.position="relative";d.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";d.style.verticalAlign="top";d.style.height=this.tabContainer.style.height;d.style.whiteSpace="nowrap";d.style.overflow="hidden";d.style.fontSize="12px";d.style.marginLeft="30px";for(var f=this.editor.isChromelessView()?29:59,c=Math.min(140,Math.max(20,(this.tabContainer.clientWidth-
+f)/this.pages.length)+1),g=null,k=0;k<this.pages.length;k++)mxUtils.bind(this,function(a,c){this.pages[a]==this.currentPage?(c.className="geActivePage",c.style.backgroundColor="dark"==uiTheme?"#2a2a2a":"#eeeeee",c.style.fontWeight="bold",c.style.borderTopStyle="none"):c.className="geInactivePage";c.setAttribute("draggable","true");mxEvent.addListener(c,"dragstart",mxUtils.bind(this,function(c){b.isEnabled()?(mxClient.IS_FF&&c.dataTransfer.setData("Text","<diagram/>"),g=a):mxEvent.consume(c)}));mxEvent.addListener(c,
+"dragend",mxUtils.bind(this,function(a){g=null;a.stopPropagation();a.preventDefault()}));mxEvent.addListener(c,"dragover",mxUtils.bind(this,function(a){null!=g&&(a.dataTransfer.dropEffect="move");a.stopPropagation();a.preventDefault()}));mxEvent.addListener(c,"drop",mxUtils.bind(this,function(b){null!=g&&a!=g&&this.movePage(g,a);b.stopPropagation();b.preventDefault()}));d.appendChild(c)})(k,this.createTabForPage(this.pages[k],c,this.pages[k]!=this.currentPage));this.tabContainer.innerHTML="";this.tabContainer.appendChild(d);
+c=this.createPageMenuTab();this.tabContainer.appendChild(c);c=null;this.isPageInsertTabVisible()&&(c=this.createPageInsertTab(),this.tabContainer.appendChild(c));if(d.clientWidth>this.tabContainer.clientWidth-f){null!=c&&(c.style.position="absolute",c.style.right="0px",d.style.marginRight="30px");var l=this.createControlTab(4,"&nbsp;&#10094;&nbsp;");l.style.position="absolute";l.style.right=this.editor.chromeless?"29px":"55px";l.style.fontSize="13pt";this.tabContainer.appendChild(l);var n=this.createControlTab(4,
+"&nbsp;&#10095;");n.style.position="absolute";n.style.right=this.editor.chromeless?"0px":"29px";n.style.fontSize="13pt";this.tabContainer.appendChild(n);var p=Math.max(0,this.tabContainer.clientWidth-(this.editor.chromeless?86:116));d.style.width=p+"px";mxEvent.addListener(l,"click",mxUtils.bind(this,function(a){d.scrollLeft-=Math.max(20,p-20);mxUtils.setOpacity(l,0<d.scrollLeft?100:50);mxUtils.setOpacity(n,d.scrollLeft<d.scrollWidth-d.clientWidth?100:50);mxEvent.consume(a)}));mxUtils.setOpacity(l,
+0<d.scrollLeft?100:50);mxUtils.setOpacity(n,d.scrollLeft<d.scrollWidth-d.clientWidth?100:50);mxEvent.addListener(n,"click",mxUtils.bind(this,function(a){d.scrollLeft+=Math.max(20,p-20);mxUtils.setOpacity(l,0<d.scrollLeft?100:50);mxUtils.setOpacity(n,d.scrollLeft<d.scrollWidth-d.clientWidth?100:50);mxEvent.consume(a)}))}}};EditorUi.prototype.isPageInsertTabVisible=function(){return 1==urlParams.embed||null!=this.getCurrentFile()&&this.getCurrentFile().isEditable()};
+EditorUi.prototype.createTab=function(b){var d=document.createElement("div");d.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";d.style.whiteSpace="nowrap";d.style.boxSizing="border-box";d.style.position="relative";d.style.overflow="hidden";d.style.marginLeft="-1px";d.style.height=this.tabContainer.clientHeight+"px";d.style.padding="8px 4px 8px 4px";d.style.border="dark"==uiTheme?"1px solid #505759":"1px solid #c0c0c0";d.style.borderBottomStyle="solid";d.style.backgroundColor=this.tabContainer.style.backgroundColor;
+d.style.cursor="move";d.style.color="gray";b&&(mxEvent.addListener(d,"mouseenter",mxUtils.bind(this,function(b){this.editor.graph.isMouseDown||(d.style.backgroundColor="dark"==uiTheme?"black":"#d3d3d3",mxEvent.consume(b))})),mxEvent.addListener(d,"mouseleave",mxUtils.bind(this,function(b){d.style.backgroundColor=this.tabContainer.style.backgroundColor;mxEvent.consume(b)})));return d};
+EditorUi.prototype.createControlTab=function(b,d){var f=this.createTab(!0);f.style.paddingTop=b+"px";f.style.cursor="pointer";f.style.width="30px";f.style.lineHeight="30px";f.innerHTML=d;null!=f.firstChild&&null!=f.firstChild.style&&mxUtils.setOpacity(f.firstChild,40);return f};
EditorUi.prototype.createPageMenuTab=function(){var b=this.createControlTab(3,'<div class="geSprite geSprite-dots" style="display:inline-block;width:21px;height:21px;"></div>');b.setAttribute("title",mxResources.get("pages"));b.style.position="absolute";b.style.top="0px";b.style.left="1px";mxEvent.addListener(b,"click",mxUtils.bind(this,function(b){this.editor.graph.popupMenuHandler.hideMenu();var d=new mxPopupMenu(mxUtils.bind(this,function(b,c){for(var d=0;d<this.pages.length;d++)mxUtils.bind(this,
-function(a){var d=b.addItem(this.pages[a].getName(),null,mxUtils.bind(this,function(){this.selectPage(this.pages[a])}),c);this.pages[a]==this.currentPage&&b.addCheckmark(d,Editor.checkmarkImage)})(d);if(this.editor.graph.isEnabled()){b.addSeparator(c);b.addItem(mxResources.get("insertPage"),null,mxUtils.bind(this,function(){this.insertPage()}),c);var e=this.currentPage;null!=e&&(b.addSeparator(c),b.addItem(mxResources.get("delete"),null,mxUtils.bind(this,function(){this.removePage(e)}),c),b.addItem(mxResources.get("rename"),
-null,mxUtils.bind(this,function(){this.renamePage(e,e.getName())}),c),b.addSeparator(c),b.addItem(mxResources.get("duplicate"),null,mxUtils.bind(this,function(){this.duplicatePage(e,mxResources.get("copyOf",[e.getName()]))}),c))}}));d.div.className+=" geMenubarMenu";d.smartSeparators=!0;d.showDisabled=!0;d.autoExpand=!0;d.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(d,arguments);d.destroy()});var c=mxEvent.getClientX(b),e=mxEvent.getClientY(b);d.popup(c,e,null,b);this.setCurrentMenu(d);
+function(a){var d=b.addItem(this.pages[a].getName(),null,mxUtils.bind(this,function(){this.selectPage(this.pages[a])}),c);this.pages[a]==this.currentPage&&b.addCheckmark(d,Editor.checkmarkImage)})(d);if(this.editor.graph.isEnabled()){b.addSeparator(c);b.addItem(mxResources.get("insertPage"),null,mxUtils.bind(this,function(){this.insertPage()}),c);var f=this.currentPage;null!=f&&(b.addSeparator(c),b.addItem(mxResources.get("delete"),null,mxUtils.bind(this,function(){this.removePage(f)}),c),b.addItem(mxResources.get("rename"),
+null,mxUtils.bind(this,function(){this.renamePage(f,f.getName())}),c),b.addSeparator(c),b.addItem(mxResources.get("duplicate"),null,mxUtils.bind(this,function(){this.duplicatePage(f,mxResources.get("copyOf",[f.getName()]))}),c))}}));d.div.className+=" geMenubarMenu";d.smartSeparators=!0;d.showDisabled=!0;d.autoExpand=!0;d.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(d,arguments);d.destroy()});var c=mxEvent.getClientX(b),g=mxEvent.getClientY(b);d.popup(c,g,null,b);this.setCurrentMenu(d);
mxEvent.consume(b)}));return b};EditorUi.prototype.createPageInsertTab=function(){var b=this.createControlTab(4,'<div class="geSprite geSprite-plus" style="display:inline-block;width:21px;height:21px;"></div>');b.setAttribute("title",mxResources.get("insertPage"));mxEvent.addListener(b,"click",mxUtils.bind(this,function(b){this.insertPage();mxEvent.consume(b)}));return b};
-EditorUi.prototype.createTabForPage=function(b,e,d){d=this.createTab(d);var c=b.getName();d.setAttribute("title",c);mxUtils.write(d,c);d.style.maxWidth=e+"px";d.style.width=e+"px";this.addTabListeners(b,d);42<e&&(d.style.textOverflow="ellipsis");return d};
-EditorUi.prototype.addTabListeners=function(b,e){mxEvent.disableContextMenu(e);var d=this.editor.graph;mxEvent.addListener(e,"dblclick",mxUtils.bind(this,function(c){this.renamePage(b);mxEvent.consume(c)}));var c=!1,g=!1;mxEvent.addGestureListeners(e,mxUtils.bind(this,function(e){c=null!=this.currentMenu;g=b==this.currentPage;d.isMouseDown||g||this.selectPage(b)}),null,mxUtils.bind(this,function(k){if(d.isEnabled()&&!d.isMouseDown&&(mxEvent.isTouchEvent(k)&&g||mxEvent.isPopupTrigger(k))){d.popupMenuHandler.hideMenu();
-this.hideCurrentMenu();if(!mxEvent.isTouchEvent(k)||!c){var n=new mxPopupMenu(this.createPageMenu(b));n.div.className+=" geMenubarMenu";n.smartSeparators=!0;n.showDisabled=!0;n.autoExpand=!0;n.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(n,arguments);this.resetCurrentMenu();n.destroy()});var p=mxEvent.getClientX(k),q=mxEvent.getClientY(k);n.popup(p,q,null,k);this.setCurrentMenu(n,e)}mxEvent.consume(k)}}))};
-EditorUi.prototype.createPageMenu=function(b,e){return mxUtils.bind(this,function(d,c){d.addItem(mxResources.get("insert"),null,mxUtils.bind(this,function(){this.insertPage(null,mxUtils.indexOf(this.pages,b)+1)}),c);d.addItem(mxResources.get("delete"),null,mxUtils.bind(this,function(){this.removePage(b)}),c);d.addItem(mxResources.get("rename"),null,mxUtils.bind(this,function(){this.renamePage(b,e)}),c);d.addSeparator(c);d.addItem(mxResources.get("duplicate"),null,mxUtils.bind(this,function(){this.duplicatePage(b,
-mxResources.get("copyOf",[b.getName()]))}),c)})};(function(){var b=EditorUi.prototype.refresh;EditorUi.prototype.refresh=function(e){b.apply(this,arguments);this.updateTabContainer()}})();(function(){var b=new mxObjectCodec(new MovePage,["ui"]);b.beforeDecode=function(b,d,c){c.ui=b.ui;return d};mxCodecRegistry.register(b)})();
-(function(){var b=new mxObjectCodec(new RenamePage,["ui","page","previous"]);b.afterEncode=function(b,d,c){c.setAttribute("page",d.page.getId());return c};b.beforeDecode=function(b,d,c){c.ui=b.ui;return d};b.afterDecode=function(b,d,c){c.page=b.ui.getPageById(d.getAttribute("page"));c.previous=c.name;return c};mxCodecRegistry.register(b)})();
-(function(){var b=new mxObjectCodec(new ChangePage,["ui","relatedPage","index","neverShown"]);b.afterEncode=function(b,d,c){c.setAttribute("relatedPage",d.relatedPage.getId());null==d.index&&(c.setAttribute("name",d.relatedPage.getName()),null!=d.relatedPage.root&&b.encodeCell(d.relatedPage.root,c));return c};b.beforeDecode=function(b,d,c){c.ui=b.ui;c.relatedPage=c.ui.getPageById(d.getAttribute("relatedPage"));if(null==c.relatedPage){var e=document.createElement("diagram");e.setAttribute("id",d.getAttribute("relatedPage"));
-e.setAttribute("name",d.getAttribute("name"));c.relatedPage=new DiagramPage(e);d=d.cloneNode(!0);e=d.firstChild;if(null!=e)for(c.relatedPage.root=b.decodeCell(e,!1),c=e.nextSibling,e.parentNode.removeChild(e),e=c;null!=e;){c=e.nextSibling;if(e.nodeType==mxConstants.NODETYPE_ELEMENT){var k=e.getAttribute("id");null==b.lookup(k)&&b.decodeCell(e)}e.parentNode.removeChild(e);e=c}}return d};b.afterDecode=function(b,d,c){c.index=c.previousIndex;return c};mxCodecRegistry.register(b)})();(function(){var b=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",e=Graph.prototype.foldCells;
-Graph.prototype.foldCells=function(b,c,d,p,q){c=null!=c?c:!1;null==d&&(d=this.getFoldableCells(this.getSelectionCells(),b));this.stopEditing();this.model.beginUpdate();try{for(var a=d.slice(),f=[],g=0;g<d.length;g++){var k=this.view.getState(d[g]),n=null!=k?k.style:this.getCellStyle(d[g]);"1"==mxUtils.getValue(n,"treeFolding","0")&&(this.traverse(d[g],!0,mxUtils.bind(this,function(a,b){null!=b&&f.push(b);a!=d[g]&&f.push(a);return a==d[g]||!this.model.isCollapsed(a)})),this.model.setCollapsed(d[g],
-b))}for(g=0;g<f.length;g++)this.model.setVisible(f[g],!b);d=a;d=e.apply(this,arguments)}finally{this.model.endUpdate()}return d};var d=EditorUi.prototype.init;EditorUi.prototype.init=function(){d.apply(this,arguments);this.editor.isChromelessView()&&!this.editor.editable||this.addTrees()};EditorUi.prototype.addTrees=function(){function c(a){return w.isVertex(a)&&d(a)}function d(a){var b=!1;null!=a&&(a=w.getParent(a),b=t.view.getState(a),t.view.getState(a),b="tree"==(null!=b?b.style:t.getCellStyle(a)).containerType);
-return b}function e(a){var b=!1;null!=a&&(a=w.getParent(a),b=t.view.getState(a),t.view.getState(a),b=null!=(null!=b?b.style:t.getCellStyle(a)).childLayout);return b}function p(a){a=t.view.getState(a);if(null!=a){var b=t.getIncomingEdges(a.cell);if(0<b.length&&(b=t.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 q(a,b){b=null!=b?b:!0;t.model.beginUpdate();try{var c=t.model.getParent(a),d=t.getIncomingEdges(a),e=t.cloneCells([d[0],a]);t.model.setTerminal(e[0],t.model.getTerminal(d[0],!0),!0);var f=p(a),g=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;f==mxConstants.DIRECTION_WEST&&(e[1].geometry.x=a.geometry.x+a.geometry.width-e[1].geometry.width);t.view.currentRoot!=c&&(e[1].geometry.x-=g.x,e[1].geometry.y-=g.y);var h=t.view.getState(a),l=t.view.scale;if(null!=h){var k=mxRectangle.fromRectangle(h);f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH?k.x+=(b?a.geometry.width+10:-e[1].geometry.width-10)*l:k.y+=(b?a.geometry.height+10:-e[1].geometry.height-10)*l;var n=t.getOutgoingEdges(t.model.getTerminal(d[0],
-!0));if(null!=n){for(var m=f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH,q=g=d=0;q<n.length;q++){var w=t.model.getTerminal(n[q],!1);if(f==p(w)){var u=t.view.getState(w);w!=a&&null!=u&&(m&&b!=u.getCenterX()<h.getCenterX()||!m&&b!=u.getCenterY()<h.getCenterY())&&mxUtils.intersects(k,u)&&(d=10+Math.max(d,(Math.min(k.x+k.width,u.x+u.width)-Math.max(k.x,u.x))/l),g=10+Math.max(g,(Math.min(k.y+k.height,u.y+u.height)-Math.max(k.y,u.y))/l))}}m?g=0:d=0;for(q=0;q<n.length;q++)if(w=t.model.getTerminal(n[q],
-!1),f==p(w)&&(u=t.view.getState(w),w!=a&&null!=u&&(m&&b!=u.getCenterX()<h.getCenterX()||!m&&b!=u.getCenterY()<h.getCenterY()))){var v=[];t.traverse(u.cell,!0,function(a,b){null!=b&&v.push(b);v.push(a);return!0});t.moveCells(v,(b?1:-1)*d,(b?1:-1)*g)}}}return t.addCells(e,c)}finally{t.model.endUpdate()}}function a(a){t.model.beginUpdate();try{var b=p(a),c=t.getIncomingEdges(a),d=t.cloneCells([c[0],a]);t.model.setTerminal(c[0],d[1],!1);t.model.setTerminal(d[0],d[1],!0);t.model.setTerminal(d[0],a,!1);
-var e=t.model.getParent(a),f=e.geometry,g=[];t.view.currentRoot!=e&&(d[1].geometry.x-=f.x,d[1].geometry.y-=f.y);t.traverse(a,!0,function(a,b){null!=b&&g.push(b);g.push(a);return!0});var h=a.geometry.width+40,l=a.geometry.height+40;b==mxConstants.DIRECTION_SOUTH?h=0:b==mxConstants.DIRECTION_NORTH?(h=0,l=-40):b==mxConstants.DIRECTION_WEST?(h=-40,l=0):b==mxConstants.DIRECTION_EAST&&(l=0);t.moveCells(g,h,l);return t.addCells(d,e)}finally{t.model.endUpdate()}}function f(a){t.model.beginUpdate();try{var b=
-t.model.getParent(a),c=t.getIncomingEdges(a),d=t.cloneCells([c[0],a]);t.model.setTerminal(d[0],a,!0);var c=t.getOutgoingEdges(a),e=b.geometry,f=[];t.view.currentRoot==b&&(e=new mxRectangle);for(var g=0;g<c.length;g++){var h=t.model.getTerminal(c[g],!1);null!=h&&f.push(h)}var l=t.view.getBounds(f),k=p(a),n=t.view.translate,m=t.view.scale;k==mxConstants.DIRECTION_SOUTH?(d[1].geometry.x=null==l?a.geometry.x+(a.geometry.width-d[1].geometry.width)/2:(l.x+l.width)/m-n.x-e.x+10,d[1].geometry.y+=a.geometry.height-
-e.y+40):k==mxConstants.DIRECTION_NORTH?(d[1].geometry.x=null==l?a.geometry.x+(a.geometry.width-d[1].geometry.width)/2:(l.x+l.width)/m-n.x+-e.x+10,d[1].geometry.y-=d[1].geometry.height-e.y+40):(d[1].geometry.x=k==mxConstants.DIRECTION_WEST?d[1].geometry.x-(d[1].geometry.width-e.x+40):d[1].geometry.x+(a.geometry.width-e.x+40),d[1].geometry.y=null==l?a.geometry.y+(a.geometry.height-d[1].geometry.height)/2:(l.y+l.height)/m-n.y+-e.y+10);return t.addCells(d,b)}finally{t.model.endUpdate()}}function h(a,
-b,c){a=t.getOutgoingEdges(a);c=t.view.getState(c);var d=[];if(null!=c&&null!=a){for(var e=0;e<a.length;e++){var f=t.view.getState(t.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 m(a,b){var c=p(a),d=b==mxConstants.DIRECTION_EAST||b==mxConstants.DIRECTION_WEST;(c==mxConstants.DIRECTION_EAST||
-c==mxConstants.DIRECTION_WEST)==d&&c!=b?u.actions.get("selectParent").funct():c==b?(d=t.getOutgoingEdges(a),null!=d&&0<d.length&&t.setSelectionCell(t.model.getTerminal(d[0],!1))):(c=t.getIncomingEdges(a),null!=c&&0<c.length&&(d=h(t.model.getTerminal(c[0],!0),d,a),c=t.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&&t.setSelectionCell(d[c].cell)))))}var u=this,t=u.editor.graph,w=t.getModel();mxResources.parse("selectChildren=Select Children");
-mxResources.parse("selectSiblings=Select Siblings");mxResources.parse("selectDescendants=Select Descendants");mxResources.parse("selectParent=Select Parent");var x=u.menus.createPopupMenu;u.menus.createPopupMenu=function(a,b,d){x.apply(this,arguments);if(1==t.getSelectionCount()){b=t.getSelectionCell();var e=t.getOutgoingEdges(b);a.addSeparator();null!=e&&0<e.length&&(c(t.getSelectionCell())&&this.addMenuItems(a,["selectChildren"],null,d),this.addMenuItems(a,["selectDescendants"],null,d));c(t.getSelectionCell())&&
-(a.addSeparator(),0<t.getIncomingEdges(b).length&&this.addMenuItems(a,["selectSiblings","selectParent"],null,d))}};u.actions.addAction("selectChildren",function(){if(t.isEnabled()&&1==t.getSelectionCount()){var a=t.getSelectionCell(),a=t.getOutgoingEdges(a);if(null!=a){for(var b=[],c=0;c<a.length;c++)b.push(t.model.getTerminal(a[c],!1));t.setSelectionCells(b)}}},null,null,"Alt+Shift+X");u.actions.addAction("selectSiblings",function(){if(t.isEnabled()&&1==t.getSelectionCount()){var a=t.getSelectionCell(),
-a=t.getIncomingEdges(a);if(null!=a&&0<a.length&&(a=t.getOutgoingEdges(t.model.getTerminal(a[0],!0)),null!=a)){for(var b=[],c=0;c<a.length;c++)b.push(t.model.getTerminal(a[c],!1));t.setSelectionCells(b)}}},null,null,"Alt+Shift+S");u.actions.addAction("selectParent",function(){if(t.isEnabled()&&1==t.getSelectionCount()){var a=t.getSelectionCell(),a=t.getIncomingEdges(a);null!=a&&0<a.length&&t.setSelectionCell(t.model.getTerminal(a[0],!0))}},null,null,"Alt+Shift+P");u.actions.addAction("selectDescendants",
-function(){if(t.isEnabled()&&1==t.getSelectionCount()){var a=t.getSelectionCell(),b=[];t.traverse(a,!0,function(a,c){null!=c&&b.push(c);b.push(a);return!0});t.setSelectionCells(b)}},null,null,"Alt+Shift+T");var C=t.removeCells;t.removeCells=function(a,b){b=null!=b?b:!0;null==a&&(a=this.getDeletableCells(this.getSelectionCells()));b&&(a=this.getDeletableCells(this.addAllEdges(a)));for(var e=[],f=0;f<a.length;f++){var g=a[f];w.isEdge(g)&&d(g)&&(e.push(g),g=w.getTerminal(g,!1));c(g)?(t.traverse(g,!0,
-function(a,b){null!=b&&e.push(b);e.push(a);return!0}),g=t.getIncomingEdges(a[f]),a=a.concat(g)):e.push(a[f])}a=e;return C.apply(this,arguments)};u.hoverIcons.getStateAt=function(a,b,d){return c(a.cell)?null:this.graph.view.getState(this.graph.getCellAt(b,d))};var l=t.duplicateCells;t.duplicateCells=function(a,b){a=null!=a?a:this.getSelectionCells();for(var d=a.slice(0),e=0;e<d.length;e++){var f=t.view.getState(d[e]);if(null!=f&&c(f.cell))for(var g=t.getIncomingEdges(f.cell),f=0;f<g.length;f++)mxUtils.remove(g[f],
-a)}this.model.beginUpdate();try{var h=l.call(this,a,b);if(h.length==a.length)for(e=0;e<a.length;e++)if(c(a[e])){var k=t.getIncomingEdges(h[e]),g=t.getIncomingEdges(a[e]);if(0==k.length&&0<g.length){var n=this.cloneCells([g[0]])[0];this.addEdge(n,t.getDefaultParent(),this.model.getTerminal(g[0],!0),h[e])}}}finally{this.model.endUpdate()}return h};var v=t.moveCells;t.moveCells=function(a,b,d,e,f,g,h){var l=null;this.model.beginUpdate();try{var k=f,n=this.view.getState(f),m=null!=n?n.style:this.getCellStyle(f);
-if(null!=a&&c(f)&&"1"==mxUtils.getValue(m,"treeFolding","0")){for(var p=0;p<a.length;p++)if(c(a[p])||t.model.isEdge(a[p])&&null==t.model.getTerminal(a[p],!0)){f=t.model.getParent(a[p]);break}if(null!=k&&f!=k&&null!=this.view.getState(a[0])){var q=t.getIncomingEdges(a[0]);if(0<q.length){var w=t.view.getState(t.model.getTerminal(q[0],!0));if(null!=w){var u=t.view.getState(k);null!=u&&(b=(u.getCenterX()-w.getCenterX())/t.view.scale,d=(u.getCenterY()-w.getCenterY())/t.view.scale)}}}}l=v.apply(this,arguments);
-if(null!=l&&null!=a&&l.length==a.length)for(p=0;p<l.length;p++)if(this.model.isEdge(l[p]))c(k)&&0>mxUtils.indexOf(l,this.model.getTerminal(l[p],!0))&&this.model.setTerminal(l[p],k,!0);else if(c(a[p])&&(q=t.getIncomingEdges(a[p]),0<q.length))if(!e)c(k)&&0>mxUtils.indexOf(a,this.model.getTerminal(q[0],!0))&&this.model.setTerminal(q[0],k,!0);else if(0==t.getIncomingEdges(l[p]).length){n=k;if(null==n||n==t.model.getParent(a[p]))n=t.model.getTerminal(q[0],!0);e=this.cloneCells([q[0]])[0];this.addEdge(e,
-t.getDefaultParent(),n,l[p])}}finally{this.model.endUpdate()}return l};if(null!=u.sidebar){var H=u.sidebar.dropAndConnect;u.sidebar.dropAndConnect=function(a,b,d,e){var f=t.model,g=null;f.beginUpdate();try{if(g=H.apply(this,arguments),c(a))for(var h=0;h<g.length;h++)if(f.isEdge(g[h])&&null==f.getTerminal(g[h],!0)){f.setTerminal(g[h],a,!0);var l=t.getCellGeometry(g[h]);l.points=null;null!=l.getTerminalPoint(!0)&&l.setTerminalPoint(null,!0)}}finally{f.endUpdate()}return g}}var z={88:u.actions.get("selectChildren"),
-84:u.actions.get("selectSubtree"),80:u.actions.get("selectParent"),83:u.actions.get("selectSiblings")},y=u.onKeyDown;u.onKeyDown=function(b){try{if(t.isEnabled()&&!t.isEditing()&&c(t.getSelectionCell())&&1==t.getSelectionCount()){var d=null;0<t.getIncomingEdges(t.getSelectionCell()).length&&(9==b.which?d=mxEvent.isShiftDown(b)?a(t.getSelectionCell()):f(t.getSelectionCell()):13==b.which&&(d=q(t.getSelectionCell(),!mxEvent.isShiftDown(b))));if(null!=d&&0<d.length)1==d.length&&t.model.isEdge(d[0])?t.setSelectionCell(t.model.getTerminal(d[0],
-!1)):t.setSelectionCell(d[d.length-1]),null!=u.hoverIcons&&u.hoverIcons.update(t.view.getState(t.getSelectionCell())),t.startEditingAtCell(t.getSelectionCell()),mxEvent.consume(b);else if(mxEvent.isAltDown(b)&&mxEvent.isShiftDown(b)){var e=z[b.keyCode];null!=e&&(e.funct(b),mxEvent.consume(b))}else 37==b.keyCode?(m(t.getSelectionCell(),mxConstants.DIRECTION_WEST),mxEvent.consume(b)):38==b.keyCode?(m(t.getSelectionCell(),mxConstants.DIRECTION_NORTH),mxEvent.consume(b)):39==b.keyCode?(m(t.getSelectionCell(),
-mxConstants.DIRECTION_EAST),mxEvent.consume(b)):40==b.keyCode&&(m(t.getSelectionCell(),mxConstants.DIRECTION_SOUTH),mxEvent.consume(b))}}catch(G){console.log("error",G)}mxEvent.isConsumed(b)||y.apply(this,arguments)};var E=t.connectVertex;t.connectVertex=function(b,d,e,g,h,l){var k=t.getIncomingEdges(b);return c(b)&&0<k.length?(e=p(b),g=e==mxConstants.DIRECTION_EAST||e==mxConstants.DIRECTION_WEST,h=d==mxConstants.DIRECTION_EAST||d==mxConstants.DIRECTION_WEST,e==d?f(b):g==h?a(b):q(b,d!=mxConstants.DIRECTION_NORTH&&
-d!=mxConstants.DIRECTION_WEST)):E.call(this,b,d,e,g,h,l)};t.getSubtree=function(a){var b=[a];c(a)&&!e(a)&&t.traverse(a,!0,function(a,c){null!=c&&0>mxUtils.indexOf(b,c)&&b.push(c);0>mxUtils.indexOf(b,a)&&b.push(a);return!0});return b};var B=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){B.apply(this,arguments);c(this.state.cell)&&0<this.graph.getOutgoingEdges(this.state.cell).length&&(this.moveHandle=mxUtils.createImage(b),this.moveHandle.setAttribute("title","Move Subtree"),
+EditorUi.prototype.createTabForPage=function(b,d,f){f=this.createTab(f);var c=b.getName();f.setAttribute("title",c);mxUtils.write(f,c);f.style.maxWidth=d+"px";f.style.width=d+"px";this.addTabListeners(b,f);42<d&&(f.style.textOverflow="ellipsis");return f};
+EditorUi.prototype.addTabListeners=function(b,d){mxEvent.disableContextMenu(d);var f=this.editor.graph;mxEvent.addListener(d,"dblclick",mxUtils.bind(this,function(c){this.renamePage(b);mxEvent.consume(c)}));var c=!1,g=!1;mxEvent.addGestureListeners(d,mxUtils.bind(this,function(d){c=null!=this.currentMenu;g=b==this.currentPage;f.isMouseDown||g||this.selectPage(b)}),null,mxUtils.bind(this,function(k){if(f.isEnabled()&&!f.isMouseDown&&(mxEvent.isTouchEvent(k)&&g||mxEvent.isPopupTrigger(k))){f.popupMenuHandler.hideMenu();
+this.hideCurrentMenu();if(!mxEvent.isTouchEvent(k)||!c){var l=new mxPopupMenu(this.createPageMenu(b));l.div.className+=" geMenubarMenu";l.smartSeparators=!0;l.showDisabled=!0;l.autoExpand=!0;l.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(l,arguments);this.resetCurrentMenu();l.destroy()});var n=mxEvent.getClientX(k),p=mxEvent.getClientY(k);l.popup(n,p,null,k);this.setCurrentMenu(l,d)}mxEvent.consume(k)}}))};
+EditorUi.prototype.createPageMenu=function(b,d){return mxUtils.bind(this,function(f,c){f.addItem(mxResources.get("insert"),null,mxUtils.bind(this,function(){this.insertPage(null,mxUtils.indexOf(this.pages,b)+1)}),c);f.addItem(mxResources.get("delete"),null,mxUtils.bind(this,function(){this.removePage(b)}),c);f.addItem(mxResources.get("rename"),null,mxUtils.bind(this,function(){this.renamePage(b,d)}),c);f.addSeparator(c);f.addItem(mxResources.get("duplicate"),null,mxUtils.bind(this,function(){this.duplicatePage(b,
+mxResources.get("copyOf",[b.getName()]))}),c)})};(function(){var b=EditorUi.prototype.refresh;EditorUi.prototype.refresh=function(d){b.apply(this,arguments);this.updateTabContainer()}})();(function(){var b=new mxObjectCodec(new MovePage,["ui"]);b.beforeDecode=function(b,f,c){c.ui=b.ui;return f};mxCodecRegistry.register(b)})();
+(function(){var b=new mxObjectCodec(new RenamePage,["ui","page","previous"]);b.afterEncode=function(b,f,c){c.setAttribute("page",f.page.getId());return c};b.beforeDecode=function(b,f,c){c.ui=b.ui;return f};b.afterDecode=function(b,f,c){c.page=b.ui.getPageById(f.getAttribute("page"));c.previous=c.name;return c};mxCodecRegistry.register(b)})();
+(function(){var b=new mxObjectCodec(new ChangePage,["ui","relatedPage","index","neverShown"]);b.afterEncode=function(b,f,c){c.setAttribute("relatedPage",f.relatedPage.getId());null==f.index&&(c.setAttribute("name",f.relatedPage.getName()),null!=f.relatedPage.root&&b.encodeCell(f.relatedPage.root,c));return c};b.beforeDecode=function(b,f,c){c.ui=b.ui;c.relatedPage=c.ui.getPageById(f.getAttribute("relatedPage"));if(null==c.relatedPage){var d=document.createElement("diagram");d.setAttribute("id",f.getAttribute("relatedPage"));
+d.setAttribute("name",f.getAttribute("name"));c.relatedPage=new DiagramPage(d);f=f.cloneNode(!0);d=f.firstChild;if(null!=d)for(c.relatedPage.root=b.decodeCell(d,!1),c=d.nextSibling,d.parentNode.removeChild(d),d=c;null!=d;){c=d.nextSibling;if(d.nodeType==mxConstants.NODETYPE_ELEMENT){var k=d.getAttribute("id");null==b.lookup(k)&&b.decodeCell(d)}d.parentNode.removeChild(d);d=c}}return f};b.afterDecode=function(b,f,c){c.index=c.previousIndex;return c};mxCodecRegistry.register(b)})();(function(){var b=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",d=Graph.prototype.foldCells;
+Graph.prototype.foldCells=function(b,c,f,n,p){c=null!=c?c:!1;null==f&&(f=this.getFoldableCells(this.getSelectionCells(),b));this.stopEditing();this.model.beginUpdate();try{for(var a=f.slice(),e=[],g=0;g<f.length;g++){var k=this.view.getState(f[g]),l=null!=k?k.style:this.getCellStyle(f[g]);"1"==mxUtils.getValue(l,"treeFolding","0")&&(this.traverse(f[g],!0,mxUtils.bind(this,function(a,b){null!=b&&e.push(b);a!=f[g]&&e.push(a);return a==f[g]||!this.model.isCollapsed(a)})),this.model.setCollapsed(f[g],
+b))}for(g=0;g<e.length;g++)this.model.setVisible(e[g],!b);f=a;f=d.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 c(a){return w.isVertex(a)&&d(a)}function d(a){var b=!1;null!=a&&(a=w.getParent(a),b=t.view.getState(a),t.view.getState(a),b="tree"==(null!=b?b.style:t.getCellStyle(a)).containerType);
+return b}function f(a){var b=!1;null!=a&&(a=w.getParent(a),b=t.view.getState(a),t.view.getState(a),b=null!=(null!=b?b.style:t.getCellStyle(a)).childLayout);return b}function n(a){a=t.view.getState(a);if(null!=a){var b=t.getIncomingEdges(a.cell);if(0<b.length&&(b=t.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 p(a,b){b=null!=b?b:!0;t.model.beginUpdate();try{var c=t.model.getParent(a),d=t.getIncomingEdges(a),e=t.cloneCells([d[0],a]);t.model.setTerminal(e[0],t.model.getTerminal(d[0],!0),!0);var f=n(a),g=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;f==mxConstants.DIRECTION_WEST&&(e[1].geometry.x=a.geometry.x+a.geometry.width-e[1].geometry.width);t.view.currentRoot!=c&&(e[1].geometry.x-=g.x,e[1].geometry.y-=g.y);var h=t.view.getState(a),k=t.view.scale;if(null!=h){var m=mxRectangle.fromRectangle(h);f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH?m.x+=(b?a.geometry.width+10:-e[1].geometry.width-10)*k:m.y+=(b?a.geometry.height+10:-e[1].geometry.height-10)*k;var l=t.getOutgoingEdges(t.model.getTerminal(d[0],
+!0));if(null!=l){for(var p=f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH,q=g=d=0;q<l.length;q++){var w=t.model.getTerminal(l[q],!1);if(f==n(w)){var v=t.view.getState(w);w!=a&&null!=v&&(p&&b!=v.getCenterX()<h.getCenterX()||!p&&b!=v.getCenterY()<h.getCenterY())&&mxUtils.intersects(m,v)&&(d=10+Math.max(d,(Math.min(m.x+m.width,v.x+v.width)-Math.max(m.x,v.x))/k),g=10+Math.max(g,(Math.min(m.y+m.height,v.y+v.height)-Math.max(m.y,v.y))/k))}}p?g=0:d=0;for(q=0;q<l.length;q++)if(w=t.model.getTerminal(l[q],
+!1),f==n(w)&&(v=t.view.getState(w),w!=a&&null!=v&&(p&&b!=v.getCenterX()<h.getCenterX()||!p&&b!=v.getCenterY()<h.getCenterY()))){var u=[];t.traverse(v.cell,!0,function(a,b){null!=b&&u.push(b);u.push(a);return!0});t.moveCells(u,(b?1:-1)*d,(b?1:-1)*g)}}}return t.addCells(e,c)}finally{t.model.endUpdate()}}function a(a){t.model.beginUpdate();try{var b=n(a),c=t.getIncomingEdges(a),d=t.cloneCells([c[0],a]);t.model.setTerminal(c[0],d[1],!1);t.model.setTerminal(d[0],d[1],!0);t.model.setTerminal(d[0],a,!1);
+var e=t.model.getParent(a),f=e.geometry,g=[];t.view.currentRoot!=e&&(d[1].geometry.x-=f.x,d[1].geometry.y-=f.y);t.traverse(a,!0,function(a,b){null!=b&&g.push(b);g.push(a);return!0});var h=a.geometry.width+40,k=a.geometry.height+40;b==mxConstants.DIRECTION_SOUTH?h=0:b==mxConstants.DIRECTION_NORTH?(h=0,k=-40):b==mxConstants.DIRECTION_WEST?(h=-40,k=0):b==mxConstants.DIRECTION_EAST&&(k=0);t.moveCells(g,h,k);return t.addCells(d,e)}finally{t.model.endUpdate()}}function e(a){t.model.beginUpdate();try{var b=
+t.model.getParent(a),c=t.getIncomingEdges(a),d=t.cloneCells([c[0],a]);t.model.setTerminal(d[0],a,!0);var c=t.getOutgoingEdges(a),e=b.geometry,f=[];t.view.currentRoot==b&&(e=new mxRectangle);for(var g=0;g<c.length;g++){var h=t.model.getTerminal(c[g],!1);null!=h&&f.push(h)}var k=t.view.getBounds(f),m=n(a),l=t.view.translate,p=t.view.scale;m==mxConstants.DIRECTION_SOUTH?(d[1].geometry.x=null==k?a.geometry.x+(a.geometry.width-d[1].geometry.width)/2:(k.x+k.width)/p-l.x-e.x+10,d[1].geometry.y+=a.geometry.height-
+e.y+40):m==mxConstants.DIRECTION_NORTH?(d[1].geometry.x=null==k?a.geometry.x+(a.geometry.width-d[1].geometry.width)/2:(k.x+k.width)/p-l.x+-e.x+10,d[1].geometry.y-=d[1].geometry.height-e.y+40):(d[1].geometry.x=m==mxConstants.DIRECTION_WEST?d[1].geometry.x-(d[1].geometry.width-e.x+40):d[1].geometry.x+(a.geometry.width-e.x+40),d[1].geometry.y=null==k?a.geometry.y+(a.geometry.height-d[1].geometry.height)/2:(k.y+k.height)/p-l.y+-e.y+10);return t.addCells(d,b)}finally{t.model.endUpdate()}}function h(a,
+b,c){a=t.getOutgoingEdges(a);c=t.view.getState(c);var d=[];if(null!=c&&null!=a){for(var e=0;e<a.length;e++){var f=t.view.getState(t.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 u(a,b){var c=n(a),d=b==mxConstants.DIRECTION_EAST||b==mxConstants.DIRECTION_WEST;(c==mxConstants.DIRECTION_EAST||
+c==mxConstants.DIRECTION_WEST)==d&&c!=b?q.actions.get("selectParent").funct():c==b?(d=t.getOutgoingEdges(a),null!=d&&0<d.length&&t.setSelectionCell(t.model.getTerminal(d[0],!1))):(c=t.getIncomingEdges(a),null!=c&&0<c.length&&(d=h(t.model.getTerminal(c[0],!0),d,a),c=t.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&&t.setSelectionCell(d[c].cell)))))}var q=this,t=q.editor.graph,w=t.getModel();mxResources.parse("selectChildren=Select Children");
+mxResources.parse("selectSiblings=Select Siblings");mxResources.parse("selectDescendants=Select Descendants");mxResources.parse("selectParent=Select Parent");var y=q.menus.createPopupMenu;q.menus.createPopupMenu=function(a,b,d){y.apply(this,arguments);if(1==t.getSelectionCount()){b=t.getSelectionCell();var e=t.getOutgoingEdges(b);a.addSeparator();null!=e&&0<e.length&&(c(t.getSelectionCell())&&this.addMenuItems(a,["selectChildren"],null,d),this.addMenuItems(a,["selectDescendants"],null,d));c(t.getSelectionCell())&&
+(a.addSeparator(),0<t.getIncomingEdges(b).length&&this.addMenuItems(a,["selectSiblings","selectParent"],null,d))}};q.actions.addAction("selectChildren",function(){if(t.isEnabled()&&1==t.getSelectionCount()){var a=t.getSelectionCell(),a=t.getOutgoingEdges(a);if(null!=a){for(var b=[],c=0;c<a.length;c++)b.push(t.model.getTerminal(a[c],!1));t.setSelectionCells(b)}}},null,null,"Alt+Shift+X");q.actions.addAction("selectSiblings",function(){if(t.isEnabled()&&1==t.getSelectionCount()){var a=t.getSelectionCell(),
+a=t.getIncomingEdges(a);if(null!=a&&0<a.length&&(a=t.getOutgoingEdges(t.model.getTerminal(a[0],!0)),null!=a)){for(var b=[],c=0;c<a.length;c++)b.push(t.model.getTerminal(a[c],!1));t.setSelectionCells(b)}}},null,null,"Alt+Shift+S");q.actions.addAction("selectParent",function(){if(t.isEnabled()&&1==t.getSelectionCount()){var a=t.getSelectionCell(),a=t.getIncomingEdges(a);null!=a&&0<a.length&&t.setSelectionCell(t.model.getTerminal(a[0],!0))}},null,null,"Alt+Shift+P");q.actions.addAction("selectDescendants",
+function(){if(t.isEnabled()&&1==t.getSelectionCount()){var a=t.getSelectionCell(),b=[];t.traverse(a,!0,function(a,c){null!=c&&b.push(c);b.push(a);return!0});t.setSelectionCells(b)}},null,null,"Alt+Shift+T");var x=t.removeCells;t.removeCells=function(a,b){b=null!=b?b:!0;null==a&&(a=this.getDeletableCells(this.getSelectionCells()));b&&(a=this.getDeletableCells(this.addAllEdges(a)));for(var e=[],f=0;f<a.length;f++){var g=a[f];w.isEdge(g)&&d(g)&&(e.push(g),g=w.getTerminal(g,!1));c(g)?(t.traverse(g,!0,
+function(a,b){null!=b&&e.push(b);e.push(a);return!0}),g=t.getIncomingEdges(a[f]),a=a.concat(g)):e.push(a[f])}a=e;return x.apply(this,arguments)};q.hoverIcons.getStateAt=function(a,b,d){return c(a.cell)?null:this.graph.view.getState(this.graph.getCellAt(b,d))};var m=t.duplicateCells;t.duplicateCells=function(a,b){a=null!=a?a:this.getSelectionCells();for(var d=a.slice(0),e=0;e<d.length;e++){var f=t.view.getState(d[e]);if(null!=f&&c(f.cell))for(var g=t.getIncomingEdges(f.cell),f=0;f<g.length;f++)mxUtils.remove(g[f],
+a)}this.model.beginUpdate();try{var h=m.call(this,a,b);if(h.length==a.length)for(e=0;e<a.length;e++)if(c(a[e])){var k=t.getIncomingEdges(h[e]),g=t.getIncomingEdges(a[e]);if(0==k.length&&0<g.length){var l=this.cloneCells([g[0]])[0];this.addEdge(l,t.getDefaultParent(),this.model.getTerminal(g[0],!0),h[e])}}}finally{this.model.endUpdate()}return h};var v=t.moveCells;t.moveCells=function(a,b,d,e,f,g,h){var k=null;this.model.beginUpdate();try{var m=f,l=this.view.getState(f),n=null!=l?l.style:this.getCellStyle(f);
+if(null!=a&&c(f)&&"1"==mxUtils.getValue(n,"treeFolding","0")){for(var p=0;p<a.length;p++)if(c(a[p])||t.model.isEdge(a[p])&&null==t.model.getTerminal(a[p],!0)){f=t.model.getParent(a[p]);break}if(null!=m&&f!=m&&null!=this.view.getState(a[0])){var q=t.getIncomingEdges(a[0]);if(0<q.length){var w=t.view.getState(t.model.getTerminal(q[0],!0));if(null!=w){var u=t.view.getState(m);null!=u&&(b=(u.getCenterX()-w.getCenterX())/t.view.scale,d=(u.getCenterY()-w.getCenterY())/t.view.scale)}}}}k=v.apply(this,arguments);
+if(null!=k&&null!=a&&k.length==a.length)for(p=0;p<k.length;p++)if(this.model.isEdge(k[p]))c(m)&&0>mxUtils.indexOf(k,this.model.getTerminal(k[p],!0))&&this.model.setTerminal(k[p],m,!0);else if(c(a[p])&&(q=t.getIncomingEdges(a[p]),0<q.length))if(!e)c(m)&&0>mxUtils.indexOf(a,this.model.getTerminal(q[0],!0))&&this.model.setTerminal(q[0],m,!0);else if(0==t.getIncomingEdges(k[p]).length){l=m;if(null==l||l==t.model.getParent(a[p]))l=t.model.getTerminal(q[0],!0);e=this.cloneCells([q[0]])[0];this.addEdge(e,
+t.getDefaultParent(),l,k[p])}}finally{this.model.endUpdate()}return k};if(null!=q.sidebar){var F=q.sidebar.dropAndConnect;q.sidebar.dropAndConnect=function(a,b,d,e){var f=t.model,g=null;f.beginUpdate();try{if(g=F.apply(this,arguments),c(a))for(var h=0;h<g.length;h++)if(f.isEdge(g[h])&&null==f.getTerminal(g[h],!0)){f.setTerminal(g[h],a,!0);var k=t.getCellGeometry(g[h]);k.points=null;null!=k.getTerminalPoint(!0)&&k.setTerminalPoint(null,!0)}}finally{f.endUpdate()}return g}}var D={88:q.actions.get("selectChildren"),
+84:q.actions.get("selectSubtree"),80:q.actions.get("selectParent"),83:q.actions.get("selectSiblings")},z=q.onKeyDown;q.onKeyDown=function(b){try{if(t.isEnabled()&&!t.isEditing()&&c(t.getSelectionCell())&&1==t.getSelectionCount()){var d=null;0<t.getIncomingEdges(t.getSelectionCell()).length&&(9==b.which?d=mxEvent.isShiftDown(b)?a(t.getSelectionCell()):e(t.getSelectionCell()):13==b.which&&(d=p(t.getSelectionCell(),!mxEvent.isShiftDown(b))));if(null!=d&&0<d.length)1==d.length&&t.model.isEdge(d[0])?t.setSelectionCell(t.model.getTerminal(d[0],
+!1)):t.setSelectionCell(d[d.length-1]),null!=q.hoverIcons&&q.hoverIcons.update(t.view.getState(t.getSelectionCell())),t.startEditingAtCell(t.getSelectionCell()),mxEvent.consume(b);else if(mxEvent.isAltDown(b)&&mxEvent.isShiftDown(b)){var f=D[b.keyCode];null!=f&&(f.funct(b),mxEvent.consume(b))}else 37==b.keyCode?(u(t.getSelectionCell(),mxConstants.DIRECTION_WEST),mxEvent.consume(b)):38==b.keyCode?(u(t.getSelectionCell(),mxConstants.DIRECTION_NORTH),mxEvent.consume(b)):39==b.keyCode?(u(t.getSelectionCell(),
+mxConstants.DIRECTION_EAST),mxEvent.consume(b)):40==b.keyCode&&(u(t.getSelectionCell(),mxConstants.DIRECTION_SOUTH),mxEvent.consume(b))}}catch(G){console.log("error",G)}mxEvent.isConsumed(b)||z.apply(this,arguments)};var J=t.connectVertex;t.connectVertex=function(b,d,f,g,h,k){var m=t.getIncomingEdges(b);return c(b)&&0<m.length?(f=n(b),g=f==mxConstants.DIRECTION_EAST||f==mxConstants.DIRECTION_WEST,h=d==mxConstants.DIRECTION_EAST||d==mxConstants.DIRECTION_WEST,f==d?e(b):g==h?a(b):p(b,d!=mxConstants.DIRECTION_NORTH&&
+d!=mxConstants.DIRECTION_WEST)):J.call(this,b,d,f,g,h,k)};t.getSubtree=function(a){var b=[a];c(a)&&!f(a)&&t.traverse(a,!0,function(a,c){null!=c&&0>mxUtils.indexOf(b,c)&&b.push(c);0>mxUtils.indexOf(b,a)&&b.push(a);return!0});return b};var A=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){A.apply(this,arguments);c(this.state.cell)&&0<this.graph.getOutgoingEdges(this.state.cell).length&&(this.moveHandle=mxUtils.createImage(b),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.graphHandler.cells=this.graph.getSubtree(this.state.cell);this.graph.graphHandler.bounds=this.state.view.getBounds(this.graph.graphHandler.cells);
-this.graph.graphHandler.pBounds=this.graph.graphHandler.getPreviewBounds(this.graph.graphHandler.cells);this.graph.graphHandler.cellWasClicked=!0;this.graph.isMouseTrigger=mxEvent.isMouseEvent(a);this.graph.isMouseDown=!0;mxEvent.consume(a)})))};var A=mxVertexHandler.prototype.redrawHandles;mxVertexHandler.prototype.redrawHandles=function(){A.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 J=mxVertexHandler.prototype.destroy;mxVertexHandler.prototype.destroy=function(a,b){J.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 b=c.apply(this,arguments),d=this.editorUi.editor.graph;return b.concat([this.addEntry("tree container",
+this.graph.graphHandler.pBounds=this.graph.graphHandler.getPreviewBounds(this.graph.graphHandler.cells);this.graph.graphHandler.cellWasClicked=!0;this.graph.isMouseTrigger=mxEvent.isMouseEvent(a);this.graph.isMouseDown=!0;mxEvent.consume(a)})))};var B=mxVertexHandler.prototype.redrawHandles;mxVertexHandler.prototype.redrawHandles=function(){B.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 I=mxVertexHandler.prototype.destroy;mxVertexHandler.prototype.destroy=function(a,b){I.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 b=c.apply(this,arguments),d=this.editorUi.editor.graph;return b.concat([this.addEntry("tree container",
function(){var b=new mxCell("Tree Container",new mxGeometry(0,0,220,160),"swimlane;html=1;startSize=20;horizontal=1;containerType=tree;");b.vertex=!0;return sb.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,b.value)}),this.addEntry("tree mindmap central idea branch topic",function(){var b=new mxCell("Mindmap",new mxGeometry(0,0,420,126),"swimlane;html=1;startSize=20;horizontal=1;containerType=tree;");b.vertex=!0;var c=new mxCell("Central Idea",new mxGeometry(160,60,100,40),"ellipse;whiteSpace=wrap;html=1;align=center;container=1;recursiveResize=0;treeFolding=1;");
c.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;");d.vertex=!0;var a=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");a.geometry.relative=!0;a.edge=!0;c.insertEdge(a,!0);d.insertEdge(a,!1);var e=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;");
-e.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;c.insertEdge(g,!0);e.insertEdge(g,!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;");k.vertex=!0;var u=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");
-u.geometry.relative=!0;u.edge=!0;c.insertEdge(u,!0);k.insertEdge(u,!1);var t=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;");t.vertex=!0;var w=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");
-w.geometry.relative=!0;w.edge=!0;c.insertEdge(w,!0);t.insertEdge(w,!1);b.insert(a);b.insert(g);b.insert(u);b.insert(w);b.insert(c);b.insert(d);b.insert(e);b.insert(k);b.insert(t);return sb.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,b.value)}),this.addEntry("tree mindmap central idea",function(){var b=new mxCell("Central Idea",new mxGeometry(0,0,100,40),"ellipse;whiteSpace=wrap;html=1;align=center;container=1;recursiveResize=0;treeFolding=1;");b.vertex=!0;return sb.createVertexTemplateFromCells([b],
+e.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;c.insertEdge(f,!0);e.insertEdge(f,!1);var g=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;");g.vertex=!0;var k=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");
+k.geometry.relative=!0;k.edge=!0;c.insertEdge(k,!0);g.insertEdge(k,!1);var t=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;");t.vertex=!0;var w=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");
+w.geometry.relative=!0;w.edge=!0;c.insertEdge(w,!0);t.insertEdge(w,!1);b.insert(a);b.insert(f);b.insert(k);b.insert(w);b.insert(c);b.insert(d);b.insert(e);b.insert(g);b.insert(t);return sb.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,b.value)}),this.addEntry("tree mindmap central idea",function(){var b=new mxCell("Central Idea",new mxGeometry(0,0,100,40),"ellipse;whiteSpace=wrap;html=1;align=center;container=1;recursiveResize=0;treeFolding=1;");b.vertex=!0;return sb.createVertexTemplateFromCells([b],
b.geometry.width,b.geometry.height,b.value)}),this.addEntry("tree mindmap branch",function(){var b=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;");b.vertex=!0;var c=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");
c.geometry.setTerminalPoint(new mxPoint(-40,40),!0);c.geometry.relative=!0;c.edge=!0;b.insertEdge(c,!1);return sb.createVertexTemplateFromCells([b,c],b.geometry.width,b.geometry.height,b.value)}),this.addEntry("tree mindmap sub topic",function(){var b=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;");b.vertex=!0;var c=new mxCell("",new mxGeometry(0,
0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");c.geometry.setTerminalPoint(new mxPoint(-40,40),!0);c.geometry.relative=!0;c.edge=!0;b.insertEdge(c,!1);return sb.createVertexTemplateFromCells([b,c],b.geometry.width,b.geometry.height,b.value)}),this.addEntry("tree orgchart organization division",function(){var b=new mxCell("Orgchart",new mxGeometry(0,0,280,220),"swimlane;html=1;startSize=20;horizontal=1;containerType=tree;");b.vertex=!0;var c=new mxCell("Organization",
-new mxGeometry(80,40,120,60),"whiteSpace=wrap;html=1;align=center;treeFolding=1;container=1;recursiveResize=0;");d.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;");e.vertex=!0;var a=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;elbow=vertical;startArrow=none;endArrow=none;rounded=0;");a.geometry.relative=!0;a.edge=!0;
-c.insertEdge(a,!0);e.insertEdge(a,!1);var f=new mxCell("Division",new mxGeometry(160,140,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;container=1;recursiveResize=0;treeFolding=1;");f.vertex=!0;var g=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;elbow=vertical;startArrow=none;endArrow=none;rounded=0;");g.geometry.relative=!0;g.edge=!0;c.insertEdge(g,!0);f.insertEdge(g,!1);b.insert(a);b.insert(g);b.insert(c);b.insert(e);b.insert(f);return sb.createVertexTemplateFromCells([b],
+new mxGeometry(80,40,120,60),"whiteSpace=wrap;html=1;align=center;treeFolding=1;container=1;recursiveResize=0;");d.setAttributeForCell(c,"treeRoot","1");c.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;");f.vertex=!0;var a=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;elbow=vertical;startArrow=none;endArrow=none;rounded=0;");a.geometry.relative=!0;a.edge=!0;
+c.insertEdge(a,!0);f.insertEdge(a,!1);var e=new mxCell("Division",new mxGeometry(160,140,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;container=1;recursiveResize=0;treeFolding=1;");e.vertex=!0;var g=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;elbow=vertical;startArrow=none;endArrow=none;rounded=0;");g.geometry.relative=!0;g.edge=!0;c.insertEdge(g,!0);e.insertEdge(g,!1);b.insert(a);b.insert(g);b.insert(c);b.insert(f);b.insert(e);return sb.createVertexTemplateFromCells([b],
b.geometry.width,b.geometry.height,b.value)}),this.addEntry("tree root",function(){var b=new mxCell("Organization",new mxGeometry(0,0,120,60),"whiteSpace=wrap;html=1;align=center;treeFolding=1;container=1;recursiveResize=0;");d.setAttributeForCell(b,"treeRoot","1");b.vertex=!0;return sb.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,b.value)}),this.addEntry("tree division",function(){var b=new mxCell("Division",new mxGeometry(20,40,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;container=1;recursiveResize=0;treeFolding=1;");
b.vertex=!0;var c=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;elbow=vertical;startArrow=none;endArrow=none;rounded=0;");c.geometry.setTerminalPoint(new mxPoint(0,0),!0);c.geometry.relative=!0;c.edge=!0;b.insertEdge(c,!1);return sb.createVertexTemplateFromCells([b,c],b.geometry.width,b.geometry.height,b.value)}),this.addEntry("tree sub sections",function(){var b=new mxCell("Sub Section",new mxGeometry(0,0,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;container=1;recursiveResize=0;treeFolding=1;");
b.vertex=!0;var c=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=none;rounded=0;targetPortConstraint=eastwest;sourcePortConstraint=northsouth;");c.geometry.setTerminalPoint(new mxPoint(110,-40),!0);c.geometry.relative=!0;c.edge=!0;b.insertEdge(c,!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;");d.vertex=!0;var a=new mxCell("",new mxGeometry(0,
-0,0,0),"edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=none;rounded=0;targetPortConstraint=eastwest;sourcePortConstraint=northsouth;");a.geometry.setTerminalPoint(new mxPoint(110,-40),!0);a.geometry.relative=!0;a.edge=!0;d.insertEdge(a,!1);return sb.createVertexTemplateFromCells([c,a,b,d],220,60,"Sub Sections")})])}}})();EditorUi.initMinimalTheme=function(){function b(a){var b=a.editor.graph;b.popupMenuHandler.hideMenu();null==a.formatWindow?(a.formatWindow=new g(a,mxResources.get("format"),Math.max(20,a.diagramContainer.clientWidth-240-12),56,240,Math.min(546,b.container.clientHeight-10),function(b){b=a.createFormat(b);b.init();return b}),a.formatWindow.window.addListener("show",function(){a.fireEvent(new mxEventObject("format"))}),a.formatWindow.window.addListener("format",function(){a.fireEvent(new mxEventObject("format"))}),
-a.formatWindow.window.minimumSize=new mxRectangle(0,0,240,80),a.formatWindow.window.setVisible(!0),a.fireEvent(new mxEventObject("sidebar"))):a.formatWindow.window.setVisible(!a.formatWindow.window.isVisible());a.formatWindow.window.isVisible()&&a.formatWindow.window.fit()}function e(a){var b=a.editor.graph;b.popupMenuHandler.hideMenu();new mxRectangle;if(null==a.sidebarWindow){var c=Math.min(b.container.clientWidth-10,266);a.sidebarWindow=new g(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;";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";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("1"!=urlParams.embed||"1"==urlParams.libraries)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.left="0",d=c("openLibraryFrom",mxResources.get("openLibraryFrom")),d.style.borderLeft="1px solid lightgray",d.style.left="50%";else d.style.bottom="0";b.appendChild(a.sidebar.container);b.style.overflow="hidden";return b});a.sidebarWindow.window.addListener("show",function(){a.fireEvent(new mxEventObject("sidebar"))});
-a.sidebarWindow.window.addListener("sidebar",function(){a.fireEvent(new mxEventObject("sidebar"))});a.sidebarWindow.window.minimumSize=new mxRectangle(0,0,90,90);a.sidebarWindow.window.setVisible(!0);a.fireEvent(new mxEventObject("sidebar"));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){var d=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 div.diagramContainer button, html body button.geBtn { font-size:14px; font-weight:700;border-radius: 5px; }html body button.geBtn:active { opacity: 0.6; }.geDialog input, .geToolbarContainer input, .mxWindow input {padding:2px !important;display:inline-block !important; }div.geDialog { border-radius: 5px; }html body div.geDialog button.geBigButton { color: #fff !important; }.mxWindow button, .geDialog select, .mxWindow select { display:inline-block; }.mxWindow .geColorBtn, .geDialog .geColorBtn { background: none !important; }html body div.diagramContainer button, html body .mxWindow button, html body .geDialog button { min-width: 0px; border-radius: 5px; color: #353535 !important; border-color: rgb(216, 216, 216); }div.diagramContainer button.geBtn, .mxWindow button.geBtn, .geDialog button.geBtn { min-width:72px; font-weight: 600; background: none; }div.diagramContainer button.geBtn:hover, .mxWindow button.geBtn:hover, .geDialog button.geBtn:hover { box-shadow: none; border-color: rgb(216, 216, 216); }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:2px; 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 0 2px 0; 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); }a.geMenuItem:active { opacity: 0.4; }.geToolbarContainer { background:#fff !important; }div.mxWindow .geSidebarContainer .geTitle { background-color:#fdfdfd; }div.mxWindow .geSidebarContainer .geTitle:hover { background-color:#fafafa; }div.geSidebar { background-color: #fff !important;}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:lightgray !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.5) !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; }";
+0,0,0),"edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=none;rounded=0;targetPortConstraint=eastwest;sourcePortConstraint=northsouth;");a.geometry.setTerminalPoint(new mxPoint(110,-40),!0);a.geometry.relative=!0;a.edge=!0;d.insertEdge(a,!1);return sb.createVertexTemplateFromCells([c,a,b,d],220,60,"Sub Sections")})])}}})();EditorUi.initMinimalTheme=function(){function b(a){var b=a.editor.graph;b.popupMenuHandler.hideMenu();null==a.formatWindow?(a.formatWindow=new g(a,mxResources.get("format"),Math.max(20,a.diagramContainer.clientWidth-240-12),56,240,Math.min(546,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 d(a){var b=a.editor.graph;b.popupMenuHandler.hideMenu();new mxRectangle;if(null==a.sidebarWindow){var c=Math.min(b.container.clientWidth-10,266);a.sidebarWindow=new g(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;";
+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";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.left=
+"0",d=c("openLibraryFrom",mxResources.get("openLibraryFrom")),d.style.borderLeft="1px solid lightgray",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){var f=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 div.diagramContainer button, html body button.geBtn { font-size:14px; font-weight:700;border-radius: 5px; }html body button.geBtn:active { opacity: 0.6; }.geDialog input, .geToolbarContainer input, .mxWindow input {padding:2px !important;display:inline-block !important; }div.geDialog { border-radius: 5px; }html body div.geDialog button.geBigButton { color: #fff !important; }.mxWindow button, .geDialog select, .mxWindow select { display:inline-block; }.mxWindow .geColorBtn, .geDialog .geColorBtn { background: none !important; }html body div.diagramContainer button, html body .mxWindow button, html body .geDialog button { min-width: 0px; border-radius: 5px; color: #353535 !important; border-color: rgb(216, 216, 216); }div.diagramContainer button.geBtn, .mxWindow button.geBtn, .geDialog button.geBtn { min-width:72px; font-weight: 600; background: none; }div.diagramContainer button.geBtn:hover, .mxWindow button.geBtn:hover, .geDialog button.geBtn:hover { box-shadow: none; border-color: rgb(216, 216, 216); }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:2px; 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 0 2px 0; 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); }a.geMenuItem:active { opacity: 0.4; }.geToolbarContainer { background:#fff !important; }div.mxWindow .geSidebarContainer .geTitle { background-color:#fdfdfd; }div.mxWindow .geSidebarContainer .geTitle:hover { background-color:#fafafa; }div.geSidebar { background-color: #fff !important;}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:lightgray !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.5) !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; }";
document.getElementsByTagName("head")[0].appendChild(c)}catch(w){}var g=function(a,b,c,d,e,f,g){a=document.createElement("div");a.className="geSidebarContainer";a.style.position="absolute";a.style.width="100%";a.style.height="100%";a.style.border="1px solid whiteSmoke";a.style.overflowX="hidden";a.style.overflowY="auto";g(a);this.window=new mxWindow(b,a,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)}};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;mxVertexHandler.prototype.handleImage=Graph.createSvgImage(16,16,'<circle cx="8" cy="8" r="5" stroke="#ffffff" fill="#29b6f2"/>');
@@ -7773,52 +7772,52 @@ Graph.createSvgImage(5,5,'<path d="m 0 0 L 5 5 M 0 5 L 5 0" stroke="#29b6f2"/>')
HoverIcons.prototype.triangleLeft=Graph.createSvgImage(38,18,'<path d="m 1 9 L 12 1 L 12 6 L 36 6 L 36 12 L 12 12 L 12 18 z" stroke="#fff" fill="#29b6f2"/>');HoverIcons.prototype.roundDrop=Graph.createSvgImage(26,26,'<circle cx="13" cy="13" r="12" stroke="#fff" fill="#29b6f2"/>');HoverIcons.prototype.arrowSpacing=0;mxOutline.prototype.sizerImage=null;null!=window.Sidebar&&(Sidebar.prototype.triangleUp=HoverIcons.prototype.triangleUp,Sidebar.prototype.triangleRight=HoverIcons.prototype.triangleRight,
Sidebar.prototype.triangleDown=HoverIcons.prototype.triangleDown,Sidebar.prototype.triangleLeft=HoverIcons.prototype.triangleLeft,Sidebar.prototype.refreshTarget=HoverIcons.prototype.refreshTarget,Sidebar.prototype.roundDrop=HoverIcons.prototype.roundDrop);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.HIGHLIGHT_SIZE=5;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.showCsvImport=!1;EditorUi.prototype.footerHeight=0;Graph.prototype.editAfterInsert=!0;Editor.prototype.isChromelessView=function(){return!1};Graph.prototype.isLightboxView=function(){return!1};var k=EditorUi.prototype.refresh;EditorUi.prototype.refresh=function(a){k.apply(this,arguments);this.diagramContainer.style.top="47px";null!=this.tabContainer&&(this.tabContainer.style.right="70px")};var n=EditorUi.prototype.updateActionStates;
-EditorUi.prototype.updateActionStates=function(){n.apply(this,arguments);this.menus.get("save").setEnabled(null!=this.getCurrentFile()||"1"==urlParams.embed)};var p=Menus.prototype.addShortcut;Menus.prototype.addShortcut=function(a,b){null!=b.shortcut&&900>d&&!mxClient.IS_IOS?a.firstChild.nextSibling.setAttribute("title",b.shortcut):p.apply(this,arguments)};var q=App.prototype.updateUserElement;App.prototype.updateUserElement=function(){q.apply(this,arguments);if(null!=this.userElement){var a=this.userElement;
+25;Format.prototype.showCloseButton=!1;EditorUi.prototype.closableScratchpad=!1;EditorUi.prototype.showCsvImport=!1;EditorUi.prototype.footerHeight=0;Graph.prototype.editAfterInsert=!0;Editor.prototype.isChromelessView=function(){return!1};Graph.prototype.isLightboxView=function(){return!1};var k=EditorUi.prototype.refresh;EditorUi.prototype.refresh=function(a){k.apply(this,arguments);this.diagramContainer.style.top="47px";null!=this.tabContainer&&(this.tabContainer.style.right="70px")};var l=EditorUi.prototype.updateActionStates;
+EditorUi.prototype.updateActionStates=function(){l.apply(this,arguments);this.menus.get("save").setEnabled(null!=this.getCurrentFile()||"1"==urlParams.embed)};var n=Menus.prototype.addShortcut;Menus.prototype.addShortcut=function(a,b){null!=b.shortcut&&900>f&&!mxClient.IS_IOS?a.firstChild.nextSibling.setAttribute("title",b.shortcut):n.apply(this,arguments)};var p=App.prototype.updateUserElement;App.prototype.updateUserElement=function(){p.apply(this,arguments);if(null!=this.userElement){var a=this.userElement;
a.style.cssText="display:inline-block;position:relative;margin-right:4px;";a.className="";a.innerHTML="";a.style.backgroundImage="url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIgMTJjMi4yMSAwIDQtMS43OSA0LTRzLTEuNzktNC00LTQtNCAxLjc5LTQgNCAxLjc5IDQgNCA0em0wIDJjLTIuNjcgMC04IDEuMzQtOCA0djJoMTZ2LTJjMC0yLjY2LTUuMzMtNC04LTR6Ii8+PC9zdmc+)";a.style.backgroundPosition="center center";a.style.backgroundRepeat=
"no-repeat";a.style.backgroundSize="24px 24px";a.style.height="24px";a.style.width="24px";mxUtils.setOpacity(a,30);a.setAttribute("title",mxResources.get("changeUser"))}};var a=App.prototype.updateButtonContainer;App.prototype.updateButtonContainer=function(){a.apply(this,arguments);if(null!=this.shareButton){var b=this.shareButton;b.style.cssText="display:inline-block;position:relative;box-sizing:border-box;margin-right:4px;cursor:pointer;";b.className="";b.innerHTML="";b.style.backgroundImage="url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTggMTYuMDhjLS43NiAwLTEuNDQuMy0xLjk2Ljc3TDguOTEgMTIuN2MuMDUtLjIzLjA5LS40Ni4wOS0uN3MtLjA0LS40Ny0uMDktLjdsNy4wNS00LjExYy41NC41IDEuMjUuODEgMi4wNC44MSAxLjY2IDAgMy0xLjM0IDMtM3MtMS4zNC0zLTMtMy0zIDEuMzQtMyAzYzAgLjI0LjA0LjQ3LjA5LjdMOC4wNCA5LjgxQzcuNSA5LjMxIDYuNzkgOSA2IDljLTEuNjYgMC0zIDEuMzQtMyAzczEuMzQgMyAzIDNjLjc5IDAgMS41LS4zMSAyLjA0LS44MWw3LjEyIDQuMTZjLS4wNS4yMS0uMDguNDMtLjA4LjY1IDAgMS42MSAxLjMxIDIuOTIgMi45MiAyLjkyIDEuNjEgMCAyLjkyLTEuMzEgMi45Mi0yLjkycy0xLjMxLTIuOTItMi45Mi0yLjkyeiIvPjwvc3ZnPg==)";
b.style.backgroundPosition="center center";b.style.backgroundRepeat="no-repeat";b.style.backgroundSize="24px 24px";b.style.height="24px";b.style.width="24px";mxUtils.setOpacity(b,30);b.setAttribute("title",mxResources.get("share"))}};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="2px";var b=document.createElement("button");mxUtils.write(b,mxResources.get("save"));
b.setAttribute("title",mxResources.get("save")+" ("+Editor.ctrlKey+"+S)");b.className="1"==urlParams.saveAndExit?"geMenuItem":"geMenuItem gePrimaryBtn";b.style.fontSize="14px";b.style.padding="6px";b.style.borderRadius="3px";b.style.marginLeft="8px";b.style.cursor="pointer";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 gePrimaryBtn",b.style.fontSize="14px",b.style.marginLeft="6px",b.style.padding="6px",b.style.cursor="pointer",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.fontSize="14px";b.style.marginLeft="6px";b.style.padding="6px";
-b.style.cursor="pointer";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 f=Menus.prototype.createPopupMenu;Menus.prototype.createPopupMenu=function(a,b,c){var d=this.editorUi.editor.graph;a.smartSeparators=!0;f.apply(this,arguments);
+b.style.cursor="pointer";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 e=Menus.prototype.createPopupMenu;Menus.prototype.createPopupMenu=function(a,b,c){var d=this.editorUi.editor.graph;a.smartSeparators=!0;e.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==d.getSelectionCount()?(this.addMenuItems(a,["editTooltip","-"],null,c),d.isCellFoldable(d.getSelectionCell())&&this.addMenuItems(a,d.isCellCollapsed(b)?["expand"]:["collapse"],null,c),this.addMenuItems(a,["lockUnlock","enterGroup"],null,c),a.addSeparator(),this.addSubmenu("layout",
-a)):d.isSelectionEmpty()&&d.isEnabled()?(a.addSeparator(),this.addSubmenu("insert",a),this.addSubmenu("layout",a),a.addSeparator(),this.addSubmenu("options",a),this.addMenuItems(a,["-","exitGroup"],null,c)):d.isEnabled()&&this.addMenuItems(a,["-","lockUnlock"],null,c)};EditorUi.prototype.toggleFormatPanel=function(a){null!=this.formatWindow&&this.formatWindow.window.setVisible(a?!1:!this.formatWindow.window.isVisible())};DiagramFormatPanel.prototype.isMathOptionVisible=function(a){return!0};var h=
+a)):d.isSelectionEmpty()&&d.isEnabled()?(a.addSeparator(),this.addSubmenu("insert",a),this.addSubmenu("layout",a),a.addSeparator(),this.addSubmenu("options",a),this.addMenuItems(a,["-","exitGroup"],null,c)):d.isEnabled()&&this.addMenuItems(a,["-","lockUnlock"],null,c)};EditorUi.prototype.toggleFormatPanel=function(a){null!=this.formatWindow&&this.formatWindow.window.setVisible(a?!1:!this.formatWindow.window.isVisible())};DiagramFormatPanel.prototype.isMathOptionVisible=function(){return!0};var h=
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);h.apply(this,arguments)};var m=EditorUi.prototype.setGraphEnabled;EditorUi.prototype.setGraphEnabled=
-function(a){m.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 u=Menus.prototype.init;Menus.prototype.init=function(){u.apply(this,arguments);var a=this.editorUi,c=a.editor.graph;a.actions.get("insertText").label=mxResources.get("text");a.actions.get("insertText").label=mxResources.get("text");a.actions.get("editDiagram").label=mxResources.get("formatXml")+
+(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);h.apply(this,arguments)};var u=EditorUi.prototype.setGraphEnabled;EditorUi.prototype.setGraphEnabled=
+function(a){u.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 q=Menus.prototype.init;Menus.prototype.init=function(){q.apply(this,arguments);var a=this.editorUi,c=a.editor.graph;a.actions.get("insertText").label=mxResources.get("text");a.actions.get("insertText").label=mxResources.get("text");a.actions.get("editDiagram").label=mxResources.get("formatXml")+
"...";a.actions.get("insertRectangle").label=mxResources.get("rectangle");a.actions.get("insertEllipse").label=mxResources.get("ellipse");a.actions.get("insertRhombus").label=mxResources.get("rhombus");a.actions.get("insertImage").label=mxResources.get("image")+"...";a.actions.get("insertLink").label=mxResources.get("link")+"...";a.actions.get("createShape").label=mxResources.get("shape")+"...";a.actions.get("outline").label=mxResources.get("outline")+"...";a.actions.get("layers").label=mxResources.get("layers")+
"...";a.actions.put("importFile",new Action("File...",function(){c.popupMenuHandler.hideMenu();var b=document.createElement("input");b.setAttribute("type","file");mxEvent.addListener(b,"change",function(){null!=b.files&&a.importFiles(b.files,null,null,a.maxImageSize)});b.click()}));a.actions.put("importCsv",new Action(mxResources.get("csv")+"...",function(){c.popupMenuHandler.hideMenu();a.showImportCsvDialog()}));a.actions.put("importText",new Action(mxResources.get("text")+"...",function(){var b=
-new ParseDialog(a,"Insert from Text");a.showDialog(b.container,620,420,!0,!1);b.init()}));a.actions.put("formatSql",new Action(mxResources.get("formatSql")+"...",function(){var b=new ParseDialog(a,"Insert from Text","formatSql");a.showDialog(b.container,620,420,!0,!1);b.init()}));a.actions.put("toggleShapes",new Action(mxResources.get("shapes")+"...",function(){e(a)}));a.actions.put("toggleFormat",new Action(mxResources.get("format")+"...",function(){b(a)}));EditorUi.enablePlantUml&&a.actions.put("plantUml",
+new ParseDialog(a,"Insert from Text");a.showDialog(b.container,620,420,!0,!1);b.init()}));a.actions.put("formatSql",new Action(mxResources.get("formatSql")+"...",function(){var b=new ParseDialog(a,"Insert from Text","formatSql");a.showDialog(b.container,620,420,!0,!1);b.init()}));a.actions.put("toggleShapes",new Action(mxResources.get("shapes")+"...",function(){d(a)}));a.actions.put("toggleFormat",new Action(mxResources.get("format")+"...",function(){b(a)}));EditorUi.enablePlantUml&&a.actions.put("plantUml",
new Action(mxResources.get("plantUml")+"...",function(){var b=new ParseDialog(a,"Insert from Text","plantUml");a.showDialog(b.container,620,420,!0,!1);b.init()}));this.put("diagram",new Menu(mxUtils.bind(this,function(b,c){a.menus.addSubmenu("preferences",b,c);b.addSeparator(c);mxClient.IS_CHROMEAPP||EditorUi.isElectronApp?a.menus.addMenuItems(b,"new open - save saveAs -".split(" "),c):"1"==urlParams.embed?(a.menus.addMenuItems(b,["-","save"],c),"1"==urlParams.saveAndExit&&a.menus.addMenuItems(b,
["saveAndExit"],c),b.addSeparator(c)):(a.menus.addMenuItems(b,["new"],c),a.menus.addSubmenu("openFrom",b,c),b.addSeparator(c),a.menus.addSubmenu("save",b,c));a.menus.addSubmenu("exportAs",b,c);var d=a.getCurrentFile();null!=d&&d.constructor==DriveFile&&(a.menus.addMenuItems(b,["-","share"],c),null!=d.realtime&&a.menus.addMenuItems(b,["chatWindowTitle"],c),b.addSeparator(c));a.menus.addMenuItems(b,"- outline layers - find tags -".split(" "),c);mxClient.IS_IOS&&navigator.standalone||a.menus.addMenuItems(b,
-["-","print","-"],c);a.menus.addSubmenu("help",b,c);"1"==urlParams.embed?a.menus.addMenuItems(b,["-","exit"],c):a.menus.addMenuItems(b,["-","close"])})));if(isLocalStorage){var d=this.get("openFrom"),f=d.funct;d.funct=function(b,c){f.apply(this,arguments);b.addSeparator(c);a.menus.addSubmenu("openRecent",b,c)}}this.put("save",new Menu(mxUtils.bind(this,function(b,c){var d=a.getCurrentFile();null!=d&&d.constructor==DriveFile?a.menus.addMenuItems(b,["createRevision","makeCopy","-","rename","moveToFolder"],
+["-","print","-"],c);a.menus.addSubmenu("help",b,c);"1"==urlParams.embed?a.menus.addMenuItems(b,["-","exit"],c):a.menus.addMenuItems(b,["-","close"])})));if(isLocalStorage){var e=this.get("openFrom"),f=e.funct;e.funct=function(b,c){f.apply(this,arguments);b.addSeparator(c);a.menus.addSubmenu("openRecent",b,c)}}this.put("save",new Menu(mxUtils.bind(this,function(b,c){var d=a.getCurrentFile();null!=d&&d.constructor==DriveFile?a.menus.addMenuItems(b,["createRevision","makeCopy","-","rename","moveToFolder"],
c):a.menus.addMenuItems(b,["save","saveAs","-","rename","makeCopy"],c);null==d||d.constructor!=DriveFile&&d.constructor!=DropboxFile||a.menus.addMenuItems(b,["-","revisionHistory"],c);a.menus.addMenuItems(b,["-","autosave"],c)})));var g=this.get("exportAs");this.put("exportAs",new Menu(mxUtils.bind(this,function(b,c){g.funct(b,c);b.addSeparator(c);a.menus.addSubmenu("embed",b,c);a.menus.addMenuItems(b,["publishLink"],c)})));var h=this.get("language");this.put("preferences",new Menu(mxUtils.bind(this,
function(b,c){"1"!=urlParams.embed&&a.menus.addSubmenu("theme",b,c);null!=h&&a.menus.addSubmenu("language",b,c);b.addSeparator(c);a.menus.addMenuItems(b,["scrollbars","tooltips","pageScale"],c);"1"!=urlParams.embed&&isLocalStorage&&a.menus.addMenuItems(b,["-","search","scratchpad","-","showStartScreen"],c);a.isOfflineApp()||"1"==urlParams.embed||a.menus.addMenuItems(b,["-","plugins"],c)})));this.put("insertAdvanced",new Menu(mxUtils.bind(this,function(b,c){a.menus.addMenuItems(b,"importText createShape plantUml - importCsv editDiagram formatSql - insertPage".split(" "),
c)})));mxResources.parse("insertLayout="+mxResources.get("layout"));mxResources.parse("insertAdvanced="+mxResources.get("advanced"));this.put("insert",new Menu(mxUtils.bind(this,function(b,c){a.menus.addMenuItems(b,"insertRectangle insertEllipse insertRhombus - insertText insertLink - insertImage".split(" "),c);a.menus.addSubmenu("importFrom",b,c);b.addSeparator(c);a.menus.addSubmenu("insertLayout",b,c);a.menus.addSubmenu("insertAdvanced",b,c)})));var k="horizontalFlow verticalFlow - horizontalTree verticalTree radialTree - organic circle".split(" "),
-m=function(b,c,d,e){b.addItem(d,null,mxUtils.bind(this,function(){var b=new CreateGraphDialog(a,d,e);a.showDialog(b.container,620,420,!0,!1);b.init()}),c)};this.put("insertLayout",new Menu(mxUtils.bind(this,function(a,b){for(var c=0;c<k.length;c++)"-"==k[c]?a.addSeparator(b):m(a,b,mxResources.get(k[c])+"...",k[c])})));this.put("options",new Menu(mxUtils.bind(this,function(b,c){a.menus.addMenuItems(b,"grid guides - connectionArrows connectionPoints - copyConnect collapseExpand - mathematicalTypesetting".split(" "),
-c)})))};var t=EditorUi.prototype.init;EditorUi.prototype.init=function(){function a(a,b,c,d){var e=f.menus.get(a),g=k.addMenu(mxResources.get(a),mxUtils.bind(this,function(){e.funct.apply(this,arguments)}));g.className="geMenuItem";g.style.display="inline-block";g.style.boxSizing="border-box";g.style.top="6px";g.style.marginRight="6px";g.style.height="30px";g.style.paddingTop="6px";g.style.paddingBottom="6px";g.setAttribute("title",mxResources.get(a));f.menus.menuCreated(e,g,"geMenuItem");null!=c?
+l=function(b,c,d,e){b.addItem(d,null,mxUtils.bind(this,function(){var b=new CreateGraphDialog(a,d,e);a.showDialog(b.container,620,420,!0,!1);b.init()}),c)};this.put("insertLayout",new Menu(mxUtils.bind(this,function(a,b){for(var c=0;c<k.length;c++)"-"==k[c]?a.addSeparator(b):l(a,b,mxResources.get(k[c])+"...",k[c])})));this.put("options",new Menu(mxUtils.bind(this,function(b,c){a.menus.addMenuItems(b,"grid guides - connectionArrows connectionPoints - copyConnect collapseExpand - mathematicalTypesetting".split(" "),
+c)})))};var t=EditorUi.prototype.init;EditorUi.prototype.init=function(){function a(a,b,c,d){var f=e.menus.get(a),g=k.addMenu(mxResources.get(a),mxUtils.bind(this,function(){f.funct.apply(this,arguments)}));g.className="geMenuItem";g.style.display="inline-block";g.style.boxSizing="border-box";g.style.top="6px";g.style.marginRight="6px";g.style.height="30px";g.style.paddingTop="6px";g.style.paddingBottom="6px";g.setAttribute("title",mxResources.get(a));e.menus.menuCreated(f,g,"geMenuItem");null!=c?
(g.style.backgroundImage="url("+c+")",g.style.backgroundPosition="center center",g.style.backgroundRepeat="no-repeat",g.style.backgroundSize="24px 24px",g.style.width="34px",g.innerHTML="",mxUtils.setOpacity(g,d||40)):b||(g.style.backgroundImage="url("+mxWindow.prototype.normalizeImage+")",g.style.backgroundPosition="right 6px center",g.style.backgroundRepeat="no-repeat",g.style.paddingRight="22px");return g}function b(a,b,c,d,e,f){var g=document.createElement("a");g.setAttribute("href","javascript:void(0)");
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";h.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,"click",function(a){"disabled"!=g.getAttribute("disabled")&&
b(a);mxEvent.consume(a)});null==c&&(g.style.marginRight="4px");null!=d&&g.setAttribute("title",d);mxUtils.setOpacity(g,null!=f?40:100);null!=e&&(a=function(){e.isEnabled()?(g.removeAttribute("disabled"),mxUtils.setOpacity(g,null!=f?40:100),g.style.cursor=""):(g.setAttribute("disabled","disabled"),mxUtils.setOpacity(g,null!=f?10:20),g.style.cursor="default")},e.addListener("stateChanged",a),a());return g}function c(a){var b=document.createElement("div");b.className="geMenuItem";b.style.display="inline-block";
-b.style.verticalAlign="top";b.style.marginRight="6px";b.style.padding="0 4px 0 4px";b.style.height="30px";b.style.position="relative";b.style.top="0px";for(var c=0;c<a.length;c++)null!=a[c]&&(a[c].style.margin="0px",a[c].style.boxShadow="none",b.appendChild(a[c]));h.appendChild(b);return b}t.apply(this,arguments);var e=document.createElement("div");e.style.cssText="position:absolute;left:0px;right:0px;top:0px;overflow-y:auto;overflow-x:hidden;";e.style.bottom="1"!=urlParams.embed||"1"==urlParams.libraries?
-"63px":"32px";this.sidebar=this.createSidebar(e);var f=this,g=f.editor.graph;f.toolbar=this.createToolbar(f.createDiv("geToolbar"));f.defaultLibraryName=mxResources.get("untitledLibrary");var h=document.createElement("div");h.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 k=new Menubar(f,h);(e=900>d)||a("diagram");c([e?a("diagram",null,IMAGE_PATH+"/drawlogo-gray.svg",
-100):null,b(mxResources.get("shapes"),f.actions.get("toggleShapes").funct,null,mxResources.get("shapes"),f.actions.get("image"),e?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTMgMTN2OGg4di04aC04ek0zIDIxaDh2LThIM3Y4ek0zIDN2OGg4VjNIM3ptMTMuNjYtMS4zMUwxMSA3LjM0IDE2LjY2IDEzbDUuNjYtNS42Ni01LjY2LTUuNjV6Ii8+PC9zdmc+":null),b(mxResources.get("format"),f.actions.get("toggleFormat").funct,null,mxResources.get("format")+
-" ("+f.actions.get("formatPanel").shortcut+")",f.actions.get("image"),e?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIgM2MtNC45NyAwLTkgNC4wMy05IDlzNC4wMyA5IDkgOWMuODMgMCAxLjUtLjY3IDEuNS0xLjUgMC0uMzktLjE1LS43NC0uMzktMS4wMS0uMjMtLjI2LS4zOC0uNjEtLjM4LS45OSAwLS44My42Ny0xLjUgMS41LTEuNUgxNmMyLjc2IDAgNS0yLjI0IDUtNSAwLTQuNDItNC4wMy04LTktOHptLTUuNSA5Yy0uODMgMC0xLjUtLjY3LTEuNS0xLjVTNS42NyA5IDYuNSA5IDggOS42NyA4IDEwLjUgNy4zMyAxMiA2LjUgMTJ6bTMtNEM4LjY3IDggOCA3LjMzIDggNi41UzguNjcgNSA5LjUgNXMxLjUuNjcgMS41IDEuNVMxMC4zMyA4IDkuNSA4em01IDBjLS44MyAwLTEuNS0uNjctMS41LTEuNVMxMy42NyA1IDE0LjUgNXMxLjUuNjcgMS41IDEuNVMxNS4zMyA4IDE0LjUgOHptMyA0Yy0uODMgMC0xLjUtLjY3LTEuNS0xLjVTMTYuNjcgOSAxNy41IDlzMS41LjY3IDEuNSAxLjUtLjY3IDEuNS0xLjUgMS41eiIvPjwvc3ZnPg==":
-null)]);var m=a("insert",!0,e?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTkgMTNoLTZ2NmgtMnYtNkg1di0yaDZWNWgydjZoNnYyeiIvPjwvc3ZnPg==":null,40);c([m,b(mxResources.get("delete"),f.actions.get("delete").funct,null,mxResources.get("delete"),f.actions.get("delete"),e?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNiAxOWMwIDEuMS45IDIgMiAyaDhjMS4xIDAgMi0uOSAyLTJWN0g2djEyek0xOSA0aC0zLjVsLTEtMWgtNWwtMSAxSDV2MmgxNFY0eiIvPjwvc3ZnPg==":
-null)]);if(480<=d){var n=f.actions.get("undo"),e=f.actions.get("redo"),n=b("",n.funct,null,mxResources.get("undo")+" ("+n.shortcut+")",n,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIuNSA4Yy0yLjY1IDAtNS4wNS45OS02LjkgMi42TDIgN3Y5aDlsLTMuNjItMy42MmMxLjM5LTEuMTYgMy4xNi0xLjg4IDUuMTItMS44OCAzLjU0IDAgNi41NSAyLjMxIDcuNiA1LjVsMi4zNy0uNzhDMjEuMDggMTEuMDMgMTcuMTUgOCAxMi41IDh6Ii8+PC9zdmc+"),e=b("",e.funct,
-null,mxResources.get("redo")+" ("+e.shortcut+")",e,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTguNCAxMC42QzE2LjU1IDguOTkgMTQuMTUgOCAxMS41IDhjLTQuNjUgMC04LjU4IDMuMDMtOS45NiA3LjIyTDMuOSAxNmMxLjA1LTMuMTkgNC4wNS01LjUgNy42LTUuNSAxLjk1IDAgMy43My43MiA1LjEyIDEuODhMMTMgMTZoOVY3bC0zLjYgMy42eiIvPjwvc3ZnPg==");c([n,e]);if(560<=d){var e=f.actions.get("zoomIn"),n=f.actions.get("zoomOut"),p=f.actions.get("resetView");
-c([b("",function(){g.popupMenuHandler.hideMenu();var a=g.view.scale,b=g.view.translate.x,c=g.view.translate.y;f.actions.get("resetView").funct();1E-5>Math.abs(a-g.view.scale)&&b==g.view.translate.x&&c==g.view.translate.y&&f.actions.get(g.pageVisible?"fitPage":"fitWindow").funct()},!0,mxResources.get("fit")+" ("+Editor.ctrlKey+"+H)",p,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMyA1djRoMlY1aDRWM0g1Yy0xLjEgMC0yIC45LTIgMnptMiAxMEgzdjRjMCAxLjEuOSAyIDIgMmg0di0ySDV2LTR6bTE0IDRoLTR2Mmg0YzEuMSAwIDItLjkgMi0ydi00aC0ydjR6bTAtMTZoLTR2Mmg0djRoMlY1YzAtMS4xLS45LTItMi0yeiIvPjwvc3ZnPg=="),
-640<=d?b("",e.funct,!0,mxResources.get("zoomIn")+" ("+Editor.ctrlKey+" +)",e,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTUuNSAxNGgtLjc5bC0uMjgtLjI3QzE1LjQxIDEyLjU5IDE2IDExLjExIDE2IDkuNSAxNiA1LjkxIDEzLjA5IDMgOS41IDNTMyA1LjkxIDMgOS41IDUuOTEgMTYgOS41IDE2YzEuNjEgMCAzLjA5LS41OSA0LjIzLTEuNTdsLjI3LjI4di43OWw1IDQuOTlMMjAuNDkgMTlsLTQuOTktNXptLTYgMEM3LjAxIDE0IDUgMTEuOTkgNSA5LjVTNy4wMSA1IDkuNSA1IDE0IDcuMDEgMTQgOS41IDExLjk5IDE0IDkuNSAxNHptMi41LTRoLTJ2Mkg5di0ySDdWOWgyVjdoMXYyaDJ2MXoiLz48L3N2Zz4="):
-null,640<=d?b("",n.funct,!0,mxResources.get("zoomOut")+" ("+Editor.ctrlKey+" -)",n,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTUuNSAxNGgtLjc5bC0uMjgtLjI3QzE1LjQxIDEyLjU5IDE2IDExLjExIDE2IDkuNSAxNiA1LjkxIDEzLjA5IDMgOS41IDNTMyA1LjkxIDMgOS41IDUuOTEgMTYgOS41IDE2YzEuNjEgMCAzLjA5LS41OSA0LjIzLTEuNTdsLjI3LjI4di43OWw1IDQuOTlMMjAuNDkgMTlsLTQuOTktNXptLTYgMEM3LjAxIDE0IDUgMTEuOTkgNSA5LjVTNy4wMSA1IDkuNSA1IDE0IDcuMDEgMTQgOS41IDExLjk5IDE0IDkuNSAxNHpNNyA5aDV2MUg3eiIvPjwvc3ZnPg=="):
-null])}}f.statusContainer=f.createStatusContainer();f.statusContainer.style.position="relative";f.statusContainer.style.maxWidth="";f.statusContainer.style.marginTop="7px";f.statusContainer.style.marginLeft="6px";f.statusContainer.style.color="gray";f.statusContainer.style.cursor="default";f.editor.addListener("statusChanged",mxUtils.bind(this,function(){f.setStatusText(f.editor.getStatus())}));var q=f.descriptorChanged;f.descriptorChanged=function(){q.apply(this,arguments);var a=f.getCurrentFile();
-if(null!=a&&null!=a.getTitle()){var b=a.getMode();"google"==b?b="googleDrive":"github"==b?b="gitHub":"onedrive"==b&&(b="oneDrive");b=mxResources.get(b);h.setAttribute("title",a.getTitle()+(null!=b?" ("+b+")":""))}else h.removeAttribute("title")};f.setStatusText(f.editor.getStatus());h.appendChild(f.statusContainer);f.buttonContainer=document.createElement("div");f.buttonContainer.style.cssText="position:absolute;right:40px;top:12px;white-space:nowrap;";h.appendChild(f.buttonContainer);f.menubarContainer=
-f.buttonContainer;e=this.menus.get("language");null!=e&&!mxClient.IS_CHROMEAPP&&!EditorUi.isElectronApp&&480<=d&&(m=k.addMenu("",e.funct),m.setAttribute("title",mxResources.get("language")),m.style.backgroundImage="url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTEuOTkgMkM2LjQ3IDIgMiA2LjQ4IDIgMTJzNC40NyAxMCA5Ljk5IDEwQzE3LjUyIDIyIDIyIDE3LjUyIDIyIDEyUzE3LjUyIDIgMTEuOTkgMnptNi45MyA2aC0yLjk1Yy0uMzItMS4yNS0uNzgtMi40NS0xLjM4LTMuNTYgMS44NC42MyAzLjM3IDEuOTEgNC4zMyAzLjU2ek0xMiA0LjA0Yy44MyAxLjIgMS40OCAyLjUzIDEuOTEgMy45NmgtMy44MmMuNDMtMS40MyAxLjA4LTIuNzYgMS45MS0zLjk2ek00LjI2IDE0QzQuMSAxMy4zNiA0IDEyLjY5IDQgMTJzLjEtMS4zNi4yNi0yaDMuMzhjLS4wOC42Ni0uMTQgMS4zMi0uMTQgMiAwIC42OC4wNiAxLjM0LjE0IDJINC4yNnptLjgyIDJoMi45NWMuMzIgMS4yNS43OCAyLjQ1IDEuMzggMy41Ni0xLjg0LS42My0zLjM3LTEuOS00LjMzLTMuNTZ6bTIuOTUtOEg1LjA4Yy45Ni0xLjY2IDIuNDktMi45MyA0LjMzLTMuNTZDOC44MSA1LjU1IDguMzUgNi43NSA4LjAzIDh6TTEyIDE5Ljk2Yy0uODMtMS4yLTEuNDgtMi41My0xLjkxLTMuOTZoMy44MmMtLjQzIDEuNDMtMS4wOCAyLjc2LTEuOTEgMy45NnpNMTQuMzQgMTRIOS42NmMtLjA5LS42Ni0uMTYtMS4zMi0uMTYtMiAwLS42OC4wNy0xLjM1LjE2LTJoNC42OGMuMDkuNjUuMTYgMS4zMi4xNiAyIDAgLjY4LS4wNyAxLjM0LS4xNiAyem0uMjUgNS41NmMuNi0xLjExIDEuMDYtMi4zMSAxLjM4LTMuNTZoMi45NWMtLjk2IDEuNjUtMi40OSAyLjkzLTQuMzMgMy41NnpNMTYuMzYgMTRjLjA4LS42Ni4xNC0xLjMyLjE0LTIgMC0uNjgtLjA2LTEuMzQtLjE0LTJoMy4zOGMuMTYuNjQuMjYgMS4zMS4yNiAycy0uMSAxLjM2LS4yNiAyaC0zLjM4eiIvPjwvc3ZnPg==)",
-m.style.backgroundPosition="center center",m.style.backgroundRepeat="no-repeat",m.style.backgroundSize="24px 24px",m.style.position="absolute",m.style.height="24px",m.style.width="24px",m.style.zIndex="1",m.style.top="11px",m.style.right="14px",mxUtils.setOpacity(m,30),h.appendChild(m));f.tabContainer=document.createElement("div");f.tabContainer.style.cssText="position:absolute;left:0px;right:0px;bottom:0px;height:30px;white-space:nowrap;border-bottom:1px solid lightgray;background-color:#ffffff;border-top:1px solid lightgray;margin-bottom:-2px;";
-e=f.diagramContainer.parentNode;n=document.createElement("div");n.style.cssText="position:absolute;top:0px;left:0px;right:0px;bottom:0px;overflow:hidden;";f.diagramContainer.style.top="47px";f.diagramContainer.style.bottom="30px";p=f.menus.get("viewZoom");if(null!=p){this.tabContainer.style.right="70px";m=k.addMenu("100%",p.funct);m.setAttribute("title",mxResources.get("zoom")+" (Alt+Mousewheel)");m.style.whiteSpace="nowrap";m.style.backgroundImage="url("+mxWindow.prototype.minimizeImage+")";m.style.backgroundPosition=
-"right 6px center";m.style.backgroundRepeat="no-repeat";m.style.paddingRight="10px";m.style.display="block";m.style.position="absolute";m.style.textDecoration="none";m.style.textDecoration="none";m.style.right="0px";m.style.bottom="0px";m.style.overflow="hidden";m.style.textAlign="center";m.style.color="#000";m.style.fontSize="12px";m.style.color="#707070";m.style.width="59px";m.style.borderTop="1px solid lightgray";m.style.borderLeft="1px solid lightgray";m.style.height=parseInt(f.tabContainer.style.height)-
-1+"px";m.style.lineHeight=parseInt(f.tabContainer.style.height)+1+"px";n.appendChild(m);p=mxUtils.bind(this,function(){m.innerHTML=Math.round(100*f.editor.graph.view.scale)+"%"});f.editor.graph.view.addListener(mxEvent.EVENT_SCALE,p);f.editor.addListener("resetGraphView",p);f.editor.addListener("pageSelected",p);var u=f.setGraphEnabled;f.setGraphEnabled=function(){u.apply(this,arguments);null!=this.tabContainer&&(m.style.visibility=this.tabContainer.style.visibility)}}n.appendChild(f.tabContainer);
-n.appendChild(h);n.appendChild(f.diagramContainer);e.appendChild(n);f.updateTabContainer();mxEvent.addListener(window,"resize",function(){null!=f.sidebarWindow&&f.sidebarWindow.window.fit();null!=f.formatWindow&&f.formatWindow.window.fit();null!=f.actions.outlineWindow&&f.actions.outlineWindow.window.fit();null!=f.actions.layersWindow&&f.actions.layersWindow.window.fit();null!=f.menus.tagsWindow&&f.menus.tagsWindow.window.fit();null!=f.menus.findWindow&&f.menus.findWindow.window.fit()})}}};
-(function(){var b=!1;"min"!=uiTheme||b||mxClient.IS_CHROMEAPP||(EditorUi.initMinimalTheme(),b=!0);var e=EditorUi.initTheme;EditorUi.initTheme=function(){e.apply(this,arguments);"min"!=uiTheme||b||(this.initMinimalTheme(),b=!0)}})();Graph.prototype.defaultThemes[Graph.prototype.defaultThemeName]=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;
+b.style.verticalAlign="top";b.style.marginRight="6px";b.style.padding="0 4px 0 4px";b.style.height="30px";b.style.position="relative";b.style.top="0px";for(var c=0;c<a.length;c++)null!=a[c]&&(a[c].style.margin="0px",a[c].style.boxShadow="none",b.appendChild(a[c]));h.appendChild(b);return b}t.apply(this,arguments);var d=document.createElement("div");d.style.cssText="position:absolute;left:0px;right:0px;top:0px;overflow-y:auto;overflow-x:hidden;";d.style.bottom="1"!=urlParams.embed||"1"==urlParams.libraries?
+"63px":"32px";this.sidebar=this.createSidebar(d);var e=this,g=e.editor.graph;e.toolbar=this.createToolbar(e.createDiv("geToolbar"));e.defaultLibraryName=mxResources.get("untitledLibrary");var h=document.createElement("div");h.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 k=new Menubar(e,h);(d=900>f)||a("diagram");c([d?a("diagram",null,IMAGE_PATH+"/drawlogo-gray.svg",
+100):null,b(mxResources.get("shapes"),e.actions.get("toggleShapes").funct,null,mxResources.get("shapes"),e.actions.get("image"),d?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTMgMTN2OGg4di04aC04ek0zIDIxaDh2LThIM3Y4ek0zIDN2OGg4VjNIM3ptMTMuNjYtMS4zMUwxMSA3LjM0IDE2LjY2IDEzbDUuNjYtNS42Ni01LjY2LTUuNjV6Ii8+PC9zdmc+":null),b(mxResources.get("format"),e.actions.get("toggleFormat").funct,null,mxResources.get("format")+
+" ("+e.actions.get("formatPanel").shortcut+")",e.actions.get("image"),d?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIgM2MtNC45NyAwLTkgNC4wMy05IDlzNC4wMyA5IDkgOWMuODMgMCAxLjUtLjY3IDEuNS0xLjUgMC0uMzktLjE1LS43NC0uMzktMS4wMS0uMjMtLjI2LS4zOC0uNjEtLjM4LS45OSAwLS44My42Ny0xLjUgMS41LTEuNUgxNmMyLjc2IDAgNS0yLjI0IDUtNSAwLTQuNDItNC4wMy04LTktOHptLTUuNSA5Yy0uODMgMC0xLjUtLjY3LTEuNS0xLjVTNS42NyA5IDYuNSA5IDggOS42NyA4IDEwLjUgNy4zMyAxMiA2LjUgMTJ6bTMtNEM4LjY3IDggOCA3LjMzIDggNi41UzguNjcgNSA5LjUgNXMxLjUuNjcgMS41IDEuNVMxMC4zMyA4IDkuNSA4em01IDBjLS44MyAwLTEuNS0uNjctMS41LTEuNVMxMy42NyA1IDE0LjUgNXMxLjUuNjcgMS41IDEuNVMxNS4zMyA4IDE0LjUgOHptMyA0Yy0uODMgMC0xLjUtLjY3LTEuNS0xLjVTMTYuNjcgOSAxNy41IDlzMS41LjY3IDEuNSAxLjUtLjY3IDEuNS0xLjUgMS41eiIvPjwvc3ZnPg==":
+null)]);var l=a("insert",!0,d?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTkgMTNoLTZ2NmgtMnYtNkg1di0yaDZWNWgydjZoNnYyeiIvPjwvc3ZnPg==":null,40);c([l,b(mxResources.get("delete"),e.actions.get("delete").funct,null,mxResources.get("delete"),e.actions.get("delete"),d?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNiAxOWMwIDEuMS45IDIgMiAyaDhjMS4xIDAgMi0uOSAyLTJWN0g2djEyek0xOSA0aC0zLjVsLTEtMWgtNWwtMSAxSDV2MmgxNFY0eiIvPjwvc3ZnPg==":
+null)]);if(480<=f){var n=e.actions.get("undo"),d=e.actions.get("redo"),n=b("",n.funct,null,mxResources.get("undo")+" ("+n.shortcut+")",n,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIuNSA4Yy0yLjY1IDAtNS4wNS45OS02LjkgMi42TDIgN3Y5aDlsLTMuNjItMy42MmMxLjM5LTEuMTYgMy4xNi0xLjg4IDUuMTItMS44OCAzLjU0IDAgNi41NSAyLjMxIDcuNiA1LjVsMi4zNy0uNzhDMjEuMDggMTEuMDMgMTcuMTUgOCAxMi41IDh6Ii8+PC9zdmc+"),d=b("",d.funct,
+null,mxResources.get("redo")+" ("+d.shortcut+")",d,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTguNCAxMC42QzE2LjU1IDguOTkgMTQuMTUgOCAxMS41IDhjLTQuNjUgMC04LjU4IDMuMDMtOS45NiA3LjIyTDMuOSAxNmMxLjA1LTMuMTkgNC4wNS01LjUgNy42LTUuNSAxLjk1IDAgMy43My43MiA1LjEyIDEuODhMMTMgMTZoOVY3bC0zLjYgMy42eiIvPjwvc3ZnPg==");c([n,d]);if(560<=f){var d=e.actions.get("zoomIn"),n=e.actions.get("zoomOut"),p=e.actions.get("resetView");
+c([b("",function(){g.popupMenuHandler.hideMenu();var a=g.view.scale,b=g.view.translate.x,c=g.view.translate.y;e.actions.get("resetView").funct();1E-5>Math.abs(a-g.view.scale)&&b==g.view.translate.x&&c==g.view.translate.y&&e.actions.get(g.pageVisible?"fitPage":"fitWindow").funct()},!0,mxResources.get("fit")+" ("+Editor.ctrlKey+"+H)",p,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMyA1djRoMlY1aDRWM0g1Yy0xLjEgMC0yIC45LTIgMnptMiAxMEgzdjRjMCAxLjEuOSAyIDIgMmg0di0ySDV2LTR6bTE0IDRoLTR2Mmg0YzEuMSAwIDItLjkgMi0ydi00aC0ydjR6bTAtMTZoLTR2Mmg0djRoMlY1YzAtMS4xLS45LTItMi0yeiIvPjwvc3ZnPg=="),
+640<=f?b("",d.funct,!0,mxResources.get("zoomIn")+" ("+Editor.ctrlKey+" +)",d,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTUuNSAxNGgtLjc5bC0uMjgtLjI3QzE1LjQxIDEyLjU5IDE2IDExLjExIDE2IDkuNSAxNiA1LjkxIDEzLjA5IDMgOS41IDNTMyA1LjkxIDMgOS41IDUuOTEgMTYgOS41IDE2YzEuNjEgMCAzLjA5LS41OSA0LjIzLTEuNTdsLjI3LjI4di43OWw1IDQuOTlMMjAuNDkgMTlsLTQuOTktNXptLTYgMEM3LjAxIDE0IDUgMTEuOTkgNSA5LjVTNy4wMSA1IDkuNSA1IDE0IDcuMDEgMTQgOS41IDExLjk5IDE0IDkuNSAxNHptMi41LTRoLTJ2Mkg5di0ySDdWOWgyVjdoMXYyaDJ2MXoiLz48L3N2Zz4="):
+null,640<=f?b("",n.funct,!0,mxResources.get("zoomOut")+" ("+Editor.ctrlKey+" -)",n,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTUuNSAxNGgtLjc5bC0uMjgtLjI3QzE1LjQxIDEyLjU5IDE2IDExLjExIDE2IDkuNSAxNiA1LjkxIDEzLjA5IDMgOS41IDNTMyA1LjkxIDMgOS41IDUuOTEgMTYgOS41IDE2YzEuNjEgMCAzLjA5LS41OSA0LjIzLTEuNTdsLjI3LjI4di43OWw1IDQuOTlMMjAuNDkgMTlsLTQuOTktNXptLTYgMEM3LjAxIDE0IDUgMTEuOTkgNSA5LjVTNy4wMSA1IDkuNSA1IDE0IDcuMDEgMTQgOS41IDExLjk5IDE0IDkuNSAxNHpNNyA5aDV2MUg3eiIvPjwvc3ZnPg=="):
+null])}}e.statusContainer=e.createStatusContainer();e.statusContainer.style.position="relative";e.statusContainer.style.maxWidth="";e.statusContainer.style.marginTop="7px";e.statusContainer.style.marginLeft="6px";e.statusContainer.style.color="gray";e.statusContainer.style.cursor="default";e.editor.addListener("statusChanged",mxUtils.bind(this,function(){e.setStatusText(e.editor.getStatus())}));var q=e.descriptorChanged;e.descriptorChanged=function(){q.apply(this,arguments);var a=e.getCurrentFile();
+if(null!=a&&null!=a.getTitle()){var b=a.getMode();"google"==b?b="googleDrive":"github"==b?b="gitHub":"onedrive"==b&&(b="oneDrive");b=mxResources.get(b);h.setAttribute("title",a.getTitle()+(null!=b?" ("+b+")":""))}else h.removeAttribute("title")};e.setStatusText(e.editor.getStatus());h.appendChild(e.statusContainer);e.buttonContainer=document.createElement("div");e.buttonContainer.style.cssText="position:absolute;right:40px;top:12px;white-space:nowrap;";h.appendChild(e.buttonContainer);e.menubarContainer=
+e.buttonContainer;d=this.menus.get("language");null!=d&&!mxClient.IS_CHROMEAPP&&!EditorUi.isElectronApp&&480<=f&&(l=k.addMenu("",d.funct),l.setAttribute("title",mxResources.get("language")),l.style.backgroundImage="url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTEuOTkgMkM2LjQ3IDIgMiA2LjQ4IDIgMTJzNC40NyAxMCA5Ljk5IDEwQzE3LjUyIDIyIDIyIDE3LjUyIDIyIDEyUzE3LjUyIDIgMTEuOTkgMnptNi45MyA2aC0yLjk1Yy0uMzItMS4yNS0uNzgtMi40NS0xLjM4LTMuNTYgMS44NC42MyAzLjM3IDEuOTEgNC4zMyAzLjU2ek0xMiA0LjA0Yy44MyAxLjIgMS40OCAyLjUzIDEuOTEgMy45NmgtMy44MmMuNDMtMS40MyAxLjA4LTIuNzYgMS45MS0zLjk2ek00LjI2IDE0QzQuMSAxMy4zNiA0IDEyLjY5IDQgMTJzLjEtMS4zNi4yNi0yaDMuMzhjLS4wOC42Ni0uMTQgMS4zMi0uMTQgMiAwIC42OC4wNiAxLjM0LjE0IDJINC4yNnptLjgyIDJoMi45NWMuMzIgMS4yNS43OCAyLjQ1IDEuMzggMy41Ni0xLjg0LS42My0zLjM3LTEuOS00LjMzLTMuNTZ6bTIuOTUtOEg1LjA4Yy45Ni0xLjY2IDIuNDktMi45MyA0LjMzLTMuNTZDOC44MSA1LjU1IDguMzUgNi43NSA4LjAzIDh6TTEyIDE5Ljk2Yy0uODMtMS4yLTEuNDgtMi41My0xLjkxLTMuOTZoMy44MmMtLjQzIDEuNDMtMS4wOCAyLjc2LTEuOTEgMy45NnpNMTQuMzQgMTRIOS42NmMtLjA5LS42Ni0uMTYtMS4zMi0uMTYtMiAwLS42OC4wNy0xLjM1LjE2LTJoNC42OGMuMDkuNjUuMTYgMS4zMi4xNiAyIDAgLjY4LS4wNyAxLjM0LS4xNiAyem0uMjUgNS41NmMuNi0xLjExIDEuMDYtMi4zMSAxLjM4LTMuNTZoMi45NWMtLjk2IDEuNjUtMi40OSAyLjkzLTQuMzMgMy41NnpNMTYuMzYgMTRjLjA4LS42Ni4xNC0xLjMyLjE0LTIgMC0uNjgtLjA2LTEuMzQtLjE0LTJoMy4zOGMuMTYuNjQuMjYgMS4zMS4yNiAycy0uMSAxLjM2LS4yNiAyaC0zLjM4eiIvPjwvc3ZnPg==)",
+l.style.backgroundPosition="center center",l.style.backgroundRepeat="no-repeat",l.style.backgroundSize="24px 24px",l.style.position="absolute",l.style.height="24px",l.style.width="24px",l.style.zIndex="1",l.style.top="11px",l.style.right="14px",mxUtils.setOpacity(l,30),h.appendChild(l));e.tabContainer=document.createElement("div");e.tabContainer.style.cssText="position:absolute;left:0px;right:0px;bottom:0px;height:30px;white-space:nowrap;border-bottom:1px solid lightgray;background-color:#ffffff;border-top:1px solid lightgray;margin-bottom:-2px;";
+d=e.diagramContainer.parentNode;n=document.createElement("div");n.style.cssText="position:absolute;top:0px;left:0px;right:0px;bottom:0px;overflow:hidden;";e.diagramContainer.style.top="47px";e.diagramContainer.style.bottom="30px";p=e.menus.get("viewZoom");if(null!=p){this.tabContainer.style.right="70px";l=k.addMenu("100%",p.funct);l.setAttribute("title",mxResources.get("zoom")+" (Alt+Mousewheel)");l.style.whiteSpace="nowrap";l.style.backgroundImage="url("+mxWindow.prototype.minimizeImage+")";l.style.backgroundPosition=
+"right 6px center";l.style.backgroundRepeat="no-repeat";l.style.paddingRight="10px";l.style.display="block";l.style.position="absolute";l.style.textDecoration="none";l.style.textDecoration="none";l.style.right="0px";l.style.bottom="0px";l.style.overflow="hidden";l.style.textAlign="center";l.style.color="#000";l.style.fontSize="12px";l.style.color="#707070";l.style.width="59px";l.style.borderTop="1px solid lightgray";l.style.borderLeft="1px solid lightgray";l.style.height=parseInt(e.tabContainer.style.height)-
+1+"px";l.style.lineHeight=parseInt(e.tabContainer.style.height)+1+"px";n.appendChild(l);p=mxUtils.bind(this,function(){l.innerHTML=Math.round(100*e.editor.graph.view.scale)+"%"});e.editor.graph.view.addListener(mxEvent.EVENT_SCALE,p);e.editor.addListener("resetGraphView",p);e.editor.addListener("pageSelected",p);var u=e.setGraphEnabled;e.setGraphEnabled=function(){u.apply(this,arguments);null!=this.tabContainer&&(l.style.visibility=this.tabContainer.style.visibility)}}n.appendChild(e.tabContainer);
+n.appendChild(h);n.appendChild(e.diagramContainer);d.appendChild(n);e.updateTabContainer();mxEvent.addListener(window,"resize",function(){null!=e.sidebarWindow&&e.sidebarWindow.window.fit();null!=e.formatWindow&&e.formatWindow.window.fit();null!=e.actions.outlineWindow&&e.actions.outlineWindow.window.fit();null!=e.actions.layersWindow&&e.actions.layersWindow.window.fit();null!=e.menus.tagsWindow&&e.menus.tagsWindow.window.fit();null!=e.menus.findWindow&&e.menus.findWindow.window.fit()})}}};
+(function(){var b=!1;"min"!=uiTheme||b||mxClient.IS_CHROMEAPP||(EditorUi.initMinimalTheme(),b=!0);var d=EditorUi.initTheme;EditorUi.initTheme=function(){d.apply(this,arguments);"min"!=uiTheme||b||(this.initMinimalTheme(),b=!0)}})();Graph.prototype.defaultThemes[Graph.prototype.defaultThemeName]=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;
(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 m(a){return null!=a.Action?a.Action:a}function w(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 l(c){return h(c)+f(c)+b(c)+a(c)+d(c)+g(c)+p(c)+D(c)+C(c)+y(c)}function h(a){a=
@@ -8371,27 +8370,28 @@ BmpDecoder.prototype.bit16=function(){var c=2*this.width%4;0!=c&&(c=4-c);for(var
BmpDecoder.prototype.bit24=function(){var c=3*this.width%4;0!=c&&(c=4-c);for(var m=this.height-1;0<=m;m--){for(var w=0;w<this.width;w++){var l=this.buffer[this.pos++],h=this.buffer[this.pos++],f=this.buffer[this.pos++],b=m*this.width*4+4*w;this.data[b]=f;this.data[b+1]=h;this.data[b+2]=l;this.data[b+3]=255}this.pos+=c}};
BmpDecoder.prototype.bit32=function(){for(var c=this.height-1;0<=c;c--)for(var m=0;m<this.width;m++){var w=this.buffer[this.pos++],l=this.buffer[this.pos++],h=this.buffer[this.pos++],f=this.buffer[this.pos++],b=c*this.width*4+4*m;this.data[b]=h;this.data[b+1]=l;this.data[b+2]=w;this.data[b+3]=f}};BmpDecoder.prototype.getData=function(){return this.data};var __extends=this&&this.__extends||function(c,m){function w(){this.constructor=c}for(var l in m)m.hasOwnProperty(l)&&(c[l]=m[l]);c.prototype=null===m?Object.create(m):(w.prototype=m.prototype,new w)},com;
(function(c){(function(m){(function(w){var l=function(){function h(){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.debugPaths=!1;this.vsdxModel=null}h.vsdxPlaceholder_$LI$=function(){null==h.vsdxPlaceholder&&(h.vsdxPlaceholder=window.atob?atob("dmlzaW8="):Base64.decode("dmlzaW8=",!0));return h.vsdxPlaceholder};
-h.prototype.decodeVsdx=function(f,b,a,d){var g=this,p={},D={},C=function(){for(var a=h.vsdxPlaceholder+"/document.xml",d=p[a]?p[a]:null,f=d.firstChild;null!=f&&1!=f.nodeType;)f=f.nextSibling;if(null!=f&&1==f.nodeType)g.importNodes(d,f,a,p);else return null;g.vsdxModel=new c.mxgraph.io.vsdx.mxVsdxModel(d,p,D);for(var a=g.vsdxModel.getPages(),C=g.RESPONSE_HEADER,y=function(a){null==a.entries&&(a.entries=[]);return a.entries}(a),a=function(a){a=y[a].getValue();if(!a.isBackground()){var b=q.createMxGraph();
-b.getModel().beginUpdate();q.importPage(a,b,b.getDefaultParent());var d=a.getBackPage();if(null!=d){b.getModel().setValue(b.getDefaultParent(),a.getPageName());var p=new mxCell(d.getPageName());b.addCell(p,b.getModel().getRoot(),0,null,null);q.importPage(d,b,b.getDefaultParent())}d=a.getPageScale()/a.getDrawingScale();if(1!==d){var p=b.getModel(),c;for(c in p.cells){var f=p.cells[c],D=p.getGeometry(f);if(null!=D&&(q.scaleRect(D,d),q.scaleRect(D.alternateBounds,d),p.isEdge(f)&&(q.scalePoint(D.sourcePoint,
-d),q.scalePoint(D.targetPoint,d),q.scalePoint(D.offset,d),f=D.points,null!=f)))for(D=0;D<f.length;D++)q.scalePoint(f[D],d)}}b.getModel().endUpdate();C=C.concat(g.RESPONSE_DIAGRAM_START);C=C.concat(g.processPage(b,a));C=C.concat(g.RESPONSE_DIAGRAM_END)}},q=g,d=0;d<y.length;d++)a(d);C=C.concat(g.RESPONSE_END);b&&b(C)},y=0,q=0,l=function(){q==y&&C()};JSZip.loadAsync(f).then(function(a){0==Object.keys(a.files).length?null!=d&&d():a.forEach(function(a,b){var d=b.name,f=d.toLowerCase(),C=f.length;f.indexOf(".xml")==
-C-4||f.indexOf(".xml.rels")==C-9?(y++,b.async("string").then(function(a){if(0!==a.length){var b=void 0;void 0===b&&(b=0);""===a.substr(b,3)&&(a=a.substring(3));a=mxUtils.parseXml(a);a.vsdxFileName=d;p[d]=a}q++;l()})):0===f.indexOf(h.vsdxPlaceholder+"/media")&&(y++,function(a,b){var d=a.length-b.length,g=a.indexOf(b,d);return-1!==g&&g===d}(f,".emf")?JSZip.support.uint8array&&b.async("uint8array").then(function(a){for(var b=!1,p="",f=0;f<a.length-8;f++)if(g.isPng(a,f)||g.isJpg(a,f)){p=c.mxgraph.online.mxBase64.encodeToString(a,
-f);b=!0;break}b&&(D[d]=p);q++;l()}):function(a,b){var d=a.length-b.length,g=a.indexOf(b,d);return-1!==g&&g===d}(f,".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");D[d]=a.substr(23);q++;l()}):b.async("base64").then(function(a){D[d]=a;q++;l()}))})},function(a){null!=d&&d(a)})};h.prototype.createMxGraph=function(){var c=
-new mxGraph;c.setExtendParents(!1);c.setExtendParentsOnAdd(!1);c.setConstrainChildren(!1);c.setHtmlLabels(!0);c.getModel().maintainEdgeParent=!1;return c};h.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()),d=d+('<diagram name="'+g+'">');return d+=Graph.prototype.compress(a)};h.prototype.isJpg=function(c,b){return 255===c[b]&&216===c[b+1]&&255===c[b+
-2]};h.prototype.isPng=function(c,b){return 137===c[b]&&80===c[b+1]&&78===c[b+2]&&71===c[b+3]&&13===c[b+4]&&10===c[b+5]&&26===c[b+6]&&10===c[b+7]};h.prototype.scalePoint=function(c,b){null!=c&&(c.x*=b,c.y*=b);return c};h.prototype.scaleRect=function(c,b){null!=c&&(c.x*=b,c.y*=b,c.height*=b,c.width*=b);return c};h.prototype.importNodes=function(c,b,a,d){var g=a.lastIndexOf("/"),p=a,f=a;if(-1!==g&&(p=a.substring(0,g),f=a.substring(g+1,a.length),a=function(a,b){return a[b]?a[b]:null}(d,p+"/_rels/"+f+
-".rels"),null!=a)){var C=a.getElementsByTagName("Relationship");a={};for(g=0;g<C.length;g++){var f=C.item(g),y=f.getAttribute("Id"),f=f.getAttribute("Target");a[y]=f}b=b.getElementsByTagName("Rel");for(g=0;g<b.length;g++)if(C=b.item(g),f=function(a,b){return a[b]?a[b]:null}(a,C.getAttribute("r:id")),f=p+"/"+f,null!=f&&(y=d[f]?d[f]:null,null!=y)){C=C.parentNode;for(y=y.firstChild;null!=y&&1!=y.nodeType;)y=y.nextSibling;if(null!=y&&1==y.nodeType)for(y=y.firstChild;null!=y;){if(null!=y&&1==y.nodeType){var q=
-C.appendChild(c.importNode(y,!0));this.importNodes(c,q,f,d)}y=y.nextSibling}}}};h.prototype.importPage=function(c,b,a){for(var d=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())),g=c.getPageDimensions().y,p=c.getId();d.hasNext();){var f=d.next();this.addShape(b,f.getValue(),a,p,g)}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();)f=c.next(),f=this.addConnectedEdge(b,f.getValue(),p,g),null!=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.splice(d,1)[0]}(this.edgeShapeMap,f);for(f=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));f.hasNext();)c=f.next(),c.getKey().getPageNumber()===p&&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,c.getKey()),c.getValue(),g);this.sanitiseGraph(b);return g};h.prototype.addShape=function(f,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))){p=b.getId();if(b.isVertex()){var D=null,D=b.isGroup()?this.addGroup(f,b,a,d,g):this.addVertex(f,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,p),b);return D}b.setShapeIndex(f.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,p),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,p),a)}return null};h.prototype.addGroup=function(f,b,a,d,g){var p=b.getDimensions(),D=b.getMaster(),C=b.getStyleFromShape(),y=b.getGeomList();y.isNoFill()&&(C[mxConstants.STYLE_FILLCOLOR]="none",C[mxConstants.STYLE_GRADIENTCOLOR]="none");y.isNoLine()&&(C[mxConstants.STYLE_STROKECOLOR]="none");C.html="1";C[mxConstants.STYLE_WHITE_SPACE]="wrap";var q=c.mxgraph.io.vsdx.mxVsdxUtils.getStyleString(C,"="),C=null,
-h=b.getChildShapes(),C=null!=h&&0<function(a){null==a.entries&&(a.entries=[]);return a.entries.length}(h),y=b.isDisplacedLabel()||b.isRotatedLabel()||C,C=b.getOriginPoint(g,!0);if(y)C=f.insertVertex(a,null,null,Math.floor(Math.round(100*C.x)/100),Math.floor(Math.round(100*C.y)/100),Math.floor(Math.round(100*p.x)/100),Math.floor(Math.round(100*p.y)/100),q);else var l=b.getTextLabel(),C=f.insertVertex(a,null,l,Math.floor(Math.round(100*C.x)/100),Math.floor(Math.round(100*C.y)/100),Math.floor(Math.round(100*
-p.x)/100),Math.floor(Math.round(100*p.y)/100),q);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}(h));a.hasNext();)q=a.next().getValue(),h=q.getId(),q.isVertex()?(l=c.mxgraph.io.vsdx.VsdxShape.getType(q.getShape()),null!=l&&(function(a,b){return a&&a.equals?a.equals(b):a===b}(l,c.mxgraph.io.vsdx.mxVsdxConstants.TYPE_SHAPE)||function(a,b){return a&&a.equals?a.equals(b):
-a===b}(l,c.mxgraph.io.vsdx.mxVsdxConstants.TYPE_GROUP)||function(a,b){return a&&a.equals?a.equals(b):a===b}(l,c.mxgraph.io.vsdx.mxVsdxConstants.FOREIGN))&&q.isVertex()&&(q.propagateRotation(b.getRotation()),q.isGroup()?this.addGroup(f,q,C,d,p.y):this.addVertex(f,q,C,d,p.y)),null==D&&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,h),q)):null==D?(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,
-h),q),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,h),C)):this.addUnconnectedEdge(f,C,q,g);y&&b.createLabelSubShape(f,C);f=b.getRotation();if(0!==f)for(d=C.getGeometry(),b=d.width/2,d=d.height/
-2,g=0;g<C.getChildCount();g++)p=C.getChildAt(g),c.mxgraph.online.Utils.rotatedGeometry(p.getGeometry(),f,b,d);return C};h.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,f=c.y-d;c.x=Math.round(p*g-f*b+a);c.y=Math.round(f*g+p*b+d)};h.prototype.addVertex=function(f,b,a,d,g){var p="",D=b.isDisplacedLabel()||b.isRotatedLabel();D||(p=b.getTextLabel());var C=b.getDimensions(),y=b.getStyleFromShape();y.html="1";var q=y.hasOwnProperty(mxConstants.STYLE_SHAPE)||
+h.parsererrorNS_$LI$=function(){if(null==h.parsererrorNS){var c=new DOMParser;h.parsererrorNS=c.parseFromString("<","text/xml").getElementsByTagName("parsererror")[0].namespaceURI}return h.parsererrorNS};h.isParseError=function(c){return 0<c.getElementsByTagNameNS(h.parsererrorNS,"parsererror").length};h.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};h.prototype.decodeVsdx=function(f,b,a,d){var g=this,p={},D={},C=function(){for(var a=
+h.vsdxPlaceholder+"/document.xml",d=p[a]?p[a]:null,f=d.firstChild;null!=f&&1!=f.nodeType;)f=f.nextSibling;if(null!=f&&1==f.nodeType)g.importNodes(d,f,a,p);else return null;g.vsdxModel=new c.mxgraph.io.vsdx.mxVsdxModel(d,p,D);for(var a=g.vsdxModel.getPages(),C=g.RESPONSE_HEADER,y=function(a){null==a.entries&&(a.entries=[]);return a.entries}(a),a=function(a){a=y[a].getValue();if(!a.isBackground()){var b=q.createMxGraph();b.getModel().beginUpdate();q.importPage(a,b,b.getDefaultParent());var d=a.getBackPage();
+if(null!=d){b.getModel().setValue(b.getDefaultParent(),a.getPageName());var p=new mxCell(d.getPageName());b.addCell(p,b.getModel().getRoot(),0,null,null);q.importPage(d,b,b.getDefaultParent())}d=a.getPageScale()/a.getDrawingScale();if(1!==d){var p=b.getModel(),c;for(c in p.cells){var f=p.cells[c],D=p.getGeometry(f);if(null!=D&&(q.scaleRect(D,d),q.scaleRect(D.alternateBounds,d),p.isEdge(f)&&(q.scalePoint(D.sourcePoint,d),q.scalePoint(D.targetPoint,d),q.scalePoint(D.offset,d),f=D.points,null!=f)))for(D=
+0;D<f.length;D++)q.scalePoint(f[D],d)}}b.getModel().endUpdate();C=C.concat(g.RESPONSE_DIAGRAM_START);C=C.concat(g.processPage(b,a));C=C.concat(g.RESPONSE_DIAGRAM_END)}},q=g,d=0;d<y.length;d++)a(d);C=C.concat(g.RESPONSE_END);b&&b(C)},y=0,q=0,l=function(){if(q==y)try{C()}catch(aa){console.log(aa),null!=d?d():b("")}};JSZip.loadAsync(f).then(function(a){0==Object.keys(a.files).length?null!=d&&d():a.forEach(function(a,b){var d=b.name,f=d.toLowerCase(),C=f.length;f.indexOf(".xml")==C-4||f.indexOf(".xml.rels")==
+C-9?(y++,b.async("string").then(function(a){if(0!==a.length){65279==a.charCodeAt(0)&&(a=a.substring(1));var b=mxUtils.parseXml(a);h.isParseError(b)&&0===a.charCodeAt(1)&&0===a.charCodeAt(3)&&0===a.charCodeAt(5)&&(b=mxUtils.parseXml(h.decodeUTF16LE(a)));b.vsdxFileName=d;p[d]=b}q++;l()})):0===f.indexOf(h.vsdxPlaceholder+"/media")&&(y++,function(a,b){var d=a.length-b.length,g=a.indexOf(b,d);return-1!==g&&g===d}(f,".emf")?JSZip.support.uint8array&&b.async("uint8array").then(function(a){for(var b=!1,p=
+"",f=0;f<a.length-8;f++)if(g.isPng(a,f)||g.isJpg(a,f)){p=c.mxgraph.online.mxBase64.encodeToString(a,f);b=!0;break}b&&(D[d]=p);q++;l()}):function(a,b){var d=a.length-b.length,g=a.indexOf(b,d);return-1!==g&&g===d}(f,".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");D[d]=a.substr(23);q++;l()}):b.async("base64").then(function(a){D[d]=
+a;q++;l()}))})},function(a){null!=d&&d(a)})};h.prototype.createMxGraph=function(){var c=new mxGraph;c.setExtendParents(!1);c.setExtendParentsOnAdd(!1);c.setConstrainChildren(!1);c.setHtmlLabels(!0);c.getModel().maintainEdgeParent=!1;return c};h.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()),d=d+('<diagram name="'+g+'">');return d+=Graph.prototype.compress(a)};
+h.prototype.isJpg=function(c,b){return 255===c[b]&&216===c[b+1]&&255===c[b+2]};h.prototype.isPng=function(c,b){return 137===c[b]&&80===c[b+1]&&78===c[b+2]&&71===c[b+3]&&13===c[b+4]&&10===c[b+5]&&26===c[b+6]&&10===c[b+7]};h.prototype.scalePoint=function(c,b){null!=c&&(c.x*=b,c.y*=b);return c};h.prototype.scaleRect=function(c,b){null!=c&&(c.x*=b,c.y*=b,c.height*=b,c.width*=b);return c};h.prototype.importNodes=function(c,b,a,d){var g=a.lastIndexOf("/"),p=a,f=a;if(-1!==g&&(p=a.substring(0,g),f=a.substring(g+
+1,a.length),a=function(a,b){return a[b]?a[b]:null}(d,p+"/_rels/"+f+".rels"),null!=a)){var C=a.getElementsByTagName("Relationship");a={};for(g=0;g<C.length;g++){var f=C.item(g),y=f.getAttribute("Id"),f=f.getAttribute("Target");a[y]=f}b=b.getElementsByTagName("Rel");for(g=0;g<b.length;g++)if(C=b.item(g),f=function(a,b){return a[b]?a[b]:null}(a,C.getAttribute("r:id")),f=p+"/"+f,null!=f&&(y=d[f]?d[f]:null,null!=y)){C=C.parentNode;for(y=y.firstChild;null!=y&&1!=y.nodeType;)y=y.nextSibling;if(null!=y&&
+1==y.nodeType)for(y=y.firstChild;null!=y;){if(null!=y&&1==y.nodeType){var q=C.appendChild(c.importNode(y,!0));this.importNodes(c,q,f,d)}y=y.nextSibling}}}};h.prototype.importPage=function(c,b,a){for(var d=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())),g=c.getPageDimensions().y,p=c.getId();d.hasNext();){var f=d.next();this.addShape(b,f.getValue(),a,p,g)}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();)f=c.next(),f=this.addConnectedEdge(b,f.getValue(),p,g),null!=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.splice(d,1)[0]}(this.edgeShapeMap,f);for(f=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));f.hasNext();)c=f.next(),c.getKey().getPageNumber()===p&&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,c.getKey()),c.getValue(),
+g);this.sanitiseGraph(b);return g};h.prototype.addShape=function(f,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))){p=b.getId();if(b.isVertex()){var D=null,
+D=b.isGroup()?this.addGroup(f,b,a,d,g):this.addVertex(f,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,p),b);return D}b.setShapeIndex(f.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,p),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,p),a)}return null};h.prototype.addGroup=function(f,b,a,d,g){var p=b.getDimensions(),D=b.getMaster(),C=b.getStyleFromShape(),y=b.getGeomList();y.isNoFill()&&(C[mxConstants.STYLE_FILLCOLOR]="none",C[mxConstants.STYLE_GRADIENTCOLOR]="none");y.isNoLine()&&(C[mxConstants.STYLE_STROKECOLOR]="none");C.html="1";C[mxConstants.STYLE_WHITE_SPACE]=
+"wrap";var q=c.mxgraph.io.vsdx.mxVsdxUtils.getStyleString(C,"="),C=null,h=b.getChildShapes(),C=null!=h&&0<function(a){null==a.entries&&(a.entries=[]);return a.entries.length}(h),y=b.isDisplacedLabel()||b.isRotatedLabel()||C,C=b.getOriginPoint(g,!0);if(y)C=f.insertVertex(a,null,null,Math.floor(Math.round(100*C.x)/100),Math.floor(Math.round(100*C.y)/100),Math.floor(Math.round(100*p.x)/100),Math.floor(Math.round(100*p.y)/100),q);else var l=b.getTextLabel(),C=f.insertVertex(a,null,l,Math.floor(Math.round(100*
+C.x)/100),Math.floor(Math.round(100*C.y)/100),Math.floor(Math.round(100*p.x)/100),Math.floor(Math.round(100*p.y)/100),q);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}(h));a.hasNext();)q=a.next().getValue(),h=q.getId(),q.isVertex()?(l=c.mxgraph.io.vsdx.VsdxShape.getType(q.getShape()),null!=l&&(function(a,b){return a&&a.equals?a.equals(b):a===b}(l,c.mxgraph.io.vsdx.mxVsdxConstants.TYPE_SHAPE)||
+function(a,b){return a&&a.equals?a.equals(b):a===b}(l,c.mxgraph.io.vsdx.mxVsdxConstants.TYPE_GROUP)||function(a,b){return a&&a.equals?a.equals(b):a===b}(l,c.mxgraph.io.vsdx.mxVsdxConstants.FOREIGN))&&q.isVertex()&&(q.propagateRotation(b.getRotation()),q.isGroup()?this.addGroup(f,q,C,d,p.y):this.addVertex(f,q,C,d,p.y)),null==D&&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,h),q)):null==D?(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,h),q),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,h),C)):this.addUnconnectedEdge(f,C,q,g);y&&b.createLabelSubShape(f,C);f=b.getRotation();if(0!==f)for(d=C.getGeometry(),
+b=d.width/2,d=d.height/2,g=0;g<C.getChildCount();g++)p=C.getChildAt(g),c.mxgraph.online.Utils.rotatedGeometry(p.getGeometry(),f,b,d);return C};h.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,f=c.y-d;c.x=Math.round(p*g-f*b+a);c.y=Math.round(f*g+p*b+d)};h.prototype.addVertex=function(f,b,a,d,g){var p="",D=b.isDisplacedLabel()||b.isRotatedLabel();D||(p=b.getTextLabel());var C=b.getDimensions(),y=b.getStyleFromShape();y.html="1";var q=y.hasOwnProperty(mxConstants.STYLE_SHAPE)||
y.hasOwnProperty("stencil");y.hasOwnProperty(mxConstants.STYLE_FILLCOLOR)&&q||(y[mxConstants.STYLE_FILLCOLOR]="none");q||(y[mxConstants.STYLE_STROKECOLOR]="none");y.hasOwnProperty(mxConstants.STYLE_GRADIENTCOLOR)&&q||(y[mxConstants.STYLE_GRADIENTCOLOR]="none");y[mxConstants.STYLE_WHITE_SPACE]="wrap";g=b.getOriginPoint(g,!0);return q||null!=p?(y=c.mxgraph.io.vsdx.mxVsdxUtils.getStyleString(y,"="),q=null,q=D?f.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*C.x)/100),Math.floor(Math.round(100*C.y)/100),y):f.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*C.x)/100),Math.floor(Math.round(100*C.y)/100),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.vertexMap,new c.mxgraph.io.vsdx.ShapePageId(d,b.getId()),q),b.setLabelOffset(q,y),D&&b.createLabelSubShape(f,q),q):null};h.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)};h.prototype.addConnectedEdge=function(f,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!=
@@ -8532,8 +8532,8 @@ b.firstChild;null!=b;b=b.nextSibling)null!=b&&1==b.nodeType&&0<a.push(b);return
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)};f.getIntAttr$org_w3c_dom_Element$java_lang_String=function(b,a){return f.getIntAttr$org_w3c_dom_Element$java_lang_String$int(b,a,0)};f.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)),p=function(a){var b=0;return{next:function(){return b<a.length?a[b++]:null},hasNext:function(){return b<a.length}}}(Object.keys(b));p.hasNext();){var c=p.next(),f=g.next();if(!function(a,b){return a&&a.equals?a.equals(b):a===b}(c,mxConstants.STYLE_SHAPE)||!function(a,b,d){void 0===d&&(d=0);return a.substr(d,b.length)===b}(b[c]?b[c]:null,"image")&&!function(a,b,d){void 0===
d&&(d=0);return a.substr(d,b.length)===b}(b[c]?b[c]:null,"rounded="))try{d=d+c+a}catch(y){console.error("mxVsdxUtils.getStyleString,"+y+",style.length="+d.length+",key.length="+c.length+",asig.length="+a.length)}d=d+f+";"}return d};f.surroundByTags=function(b,a){return"<"+a+">"+b+"</"+a+">"};f.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;")};f.toInitialCapital=
-function(b){b=b.split(" ");for(var a="",d=0;d<b.length;d++)var g=b[d],p=g.substring(0,1),g=g.substring(1),p=p.toUpperCase(),a=a+(p+g);return a.substring(0,a.length)};f.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(""),p=0;p<g.length;p++){var c=g[p];(null==c.charCodeAt?c:c.charCodeAt(0))>=(null=="a".charCodeAt?"a":97)&&(null==c.charCodeAt?c:c.charCodeAt(0))<=(null=="z".charCodeAt?"z":122)?(c=(new String(c)).toString(),c=c.toUpperCase(),d+='<font style="font-size:'+
-parseFloat(a)/1.28+'px">'+c+"</font>"):d+=c}return d};f.getStyleMap=function(b,a){for(var d={},g=b.split(";"),c=0;c<g.length;c++){var f=g[c],h=f.indexOf(a),y=f.substring(0,h),f=f.substring(h+1);d[y]=f}return d};f.isInsideTriangle=function(b,a,d,g,c,f,h,y){c-=d;f-=g;h-=d;y-=g;g=c*y-h*f;d=(b*(f-y)+a*(h-c)+c*y-h*f)/g;h=(b*y-a*h)/g;b=(a*c-b*f)/g;return 0<d&&1>d&&0<h&&1>h&&0<b&&1>b?!0:!1};return f}();h.screenCoordinatesPerCm=40;h.CENTIMETERS_PER_INCHES=2.54;l.mxVsdxUtils=h;h.__class="com.mxgraph.io.vsdx.mxVsdxUtils"})(m.vsdx||
+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)};f.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 f=g[c];(null==f.charCodeAt?f:f.charCodeAt(0))>=(null=="a".charCodeAt?"a":97)&&(null==f.charCodeAt?f:f.charCodeAt(0))<=(null=="z".charCodeAt?"z":122)?(f=(new String(f)).toString(),f=f.toUpperCase(),d+='<font style="font-size:'+
+parseFloat(a)/1.28+'px">'+f+"</font>"):d+=f}return d};f.getStyleMap=function(b,a){for(var d={},g=b.split(";"),c=0;c<g.length;c++){var f=g[c],h=f.indexOf(a),y=f.substring(0,h),f=f.substring(h+1);d[y]=f}return d};f.isInsideTriangle=function(b,a,d,g,c,f,h,y){c-=d;f-=g;h-=d;y-=g;g=c*y-h*f;d=(b*(f-y)+a*(h-c)+c*y-h*f)/g;h=(b*y-a*h)/g;b=(a*c-b*f)/g;return 0<d&&1>d&&0<h&&1>h&&0<b&&1>b?!0:!1};return f}();h.screenCoordinatesPerCm=40;h.CENTIMETERS_PER_INCHES=2.54;l.mxVsdxUtils=h;h.__class="com.mxgraph.io.vsdx.mxVsdxUtils"})(m.vsdx||
(m.vsdx={}))})(m.io||(m.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
(function(c){(function(c){(function(c){(function(c){var h=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]};
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=h;h.__class="com.mxgraph.io.vsdx.Paragraph"})(c.vsdx||(c.vsdx={}))})(c.io||(c.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
@@ -8683,7 +8683,7 @@ h.DOT=1;h.DASH=8;h.LONG_DASH=12;h.SHORT_DASH=4;h.XLONG_DASH=20;h.XSHORT_DASH=2;l
(function(c){(function(m){(function(m){(function(l){(function(h){var f=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);h.SrgbClr=f;f.__class="com.mxgraph.io.vsdx.theme.SrgbClr"})(l.theme||(l.theme={}))})(m.vsdx||(m.vsdx={}))})(m.io||(m.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
(function(c){(function(m){(function(m){(function(l){(function(h){var f=function(b){function a(a,g){var d=b.call(this)||this;d.lastClr=null;d.val=a;var f=d.lastClr=g;if(null==f)switch(a){case "windowText":f="000000";break;case "window":f="FFFFFF";break;default:f="FFFFFF"}d.color=c.mxgraph.io.vsdx.theme.Color.decodeColorHex(f);return d}__extends(a,b);return a}(c.mxgraph.io.vsdx.theme.OoxmlColor);h.SysClr=f;f.__class="com.mxgraph.io.vsdx.theme.SysClr"})(l.theme||(l.theme={}))})(m.vsdx||(m.vsdx={}))})(m.io||
(m.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
-(function(c){(function(m){(function(m){(function(l){(function(h){var f=function(b){function a(a,g,c,f,h,l,q){return b.call(this,a,g,c,f,h,l,q)||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$(),f=g.getWidth()/c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$();this.x*=f;this.y*=d;this.a*=f;this.b*=d}return b.prototype.handle.call(this,
+(function(c){(function(m){(function(m){(function(l){(function(h){var f=function(b){function a(a,c,f,h,l,m,q){return b.call(this,a,c,f,h,l,m,q)||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$(),f=g.getWidth()/c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$();this.x*=f;this.y*=d;this.a*=f;this.b*=d}return b.prototype.handle.call(this,
a,g)};return a}(c.mxgraph.io.vsdx.geometry.EllipticalArcTo);h.RelEllipticalArcTo=f;f.__class="com.mxgraph.io.vsdx.geometry.RelEllipticalArcTo"})(l.geometry||(l.geometry={}))})(m.vsdx||(m.vsdx={}))})(m.io||(m.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
(function(c){(function(m){(function(m){(function(l){var h=function(f){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=f.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,f);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==",
@@ -8707,7 +8707,7 @@ d),h=' 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);h.VSDX_START_TIME=-22091688E5;l.Shape=h;h.__class="com.mxgraph.io.vsdx.Shape"})(m.vsdx||(m.vsdx={}))})(m.io||(m.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
-(function(c){(function(m){(function(m){(function(l){var h=function(f){function b(a,b,g,p,h,l){var d=this;d.masterShape=null;d.master=null;d.parentHeight=0;d=f.call(this,b,l)||this;d.htmlLabels=!0;d.rootShape=d;d.shapeName=null;d.shapeIndex=0;d.vertex=!0;d.childShapes={};var q=d.getMasterId(),m=d.getShapeMasterId();d.master=null!=q?p[q]?p[q]:null:h;null!=d.master&&(d.masterShape=null==q&&null!=m?d.master.getSubShape(m):d.master.getMasterShape());p=d.getNameU();h=p.lastIndexOf(".");-1!==h&&(p=p.substring(0,
+(function(c){(function(m){(function(m){(function(l){var h=function(f){function b(a,b,g,p,h,l){var d=this;d.masterShape=null;d.master=null;d.parentHeight=0;d=f.call(this,b,l)||this;d.htmlLabels=!0;d.rootShape=d;d.shapeName=null;d.shapeIndex=0;d.vertex=!0;d.childShapes={};var m=d.getMasterId(),D=d.getShapeMasterId();d.master=null!=m?p[m]?p[m]:null:h;null!=d.master&&(d.masterShape=null==m&&null!=D?d.master.getSubShape(D):d.master.getMasterShape());p=d.getNameU();h=p.lastIndexOf(".");-1!==h&&(p=p.substring(0,
h));d.shapeName=p;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")));l=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}(l.getThemes(),b);a=a.getCellIntValue("VariationColorIndex",0);d.setThemeAndVariant(l,a);b=function(a){null==a.entries&&(a.entries=[]);return a.entries}(d.childShapes);for(p=0;p<b.length;p++)h=b[p].getValue(),h.setRootShape(d),null==h.theme&&h.setThemeAndVariant(l,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"),
@@ -8747,8 +8747,8 @@ getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),42,mxConstants.AR
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$(),44,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$(),45,mxConstants.ARROW_OPEN)};b.__com_mxgraph_io_vsdx_VsdxShape_LOGGER_$LI$=function(){b.__static_initialize();null==b.__com_mxgraph_io_vsdx_VsdxShape_LOGGER&&(b.__com_mxgraph_io_vsdx_VsdxShape_LOGGER={});return b.__com_mxgraph_io_vsdx_VsdxShape_LOGGER};b.prototype.getShapeNode=function(a){var b;b=this.cellElements;b=b[a]?b[a]:null;return null==b&&null!=this.masterShape?this.masterShape.getCellElement$java_lang_String(a):
b};b.prototype.getTextLabel=function(){var a;a=this.getValue(this.getCellElement$java_lang_String(c.mxgraph.io.vsdx.mxVsdxConstants.HIDE_TEXT),"0");a="1".equals?"1".equals(a):"1"===a;if(a)return null;a=this.getTextChildren();null==a&&null!=this.masterShape&&(a=this.masterShape.getTextChildren());if(this.htmlLabels){if(null!=a)return this.styleMap[mxConstants.STYLE_VERTICAL_ALIGN]=this.getAlignVertical(),this.styleMap[mxConstants.STYLE_ALIGN]=this.getHorizontalAlign("0",!1),this.getHtmlTextContent(a)}else return a=
-this.getText(),null==a&&null!=this.masterShape?this.masterShape.getText():a;return null};b.prototype.getIndex=function(a){a=a.getAttribute("IX")||"";return 0===a.length?"0":a};b.prototype.initLabels=function(a){this.paragraphs={};for(var b=null,f=null,p=null,h=0;h<a.length;h++){var l;l=a.item(h);switch(l.nodeName){case "cp":b=this.getIndex(l);break;case "tp":this.getIndex(l);break;case "pp":f=this.getIndex(l);break;case "fld":p=this.getIndex(l);break;case "#text":l=l.textContent;var m;m=this.paragraphs;
-m=m[f]?m[f]:null;null==m?(m=new c.mxgraph.io.vsdx.Paragraph(l,b,f,p),this.paragraphs[f]=m):m.addText(l,b,p)}}};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.getText(),null==a&&null!=this.masterShape?this.masterShape.getText():a;return null};b.prototype.getIndex=function(a){a=a.getAttribute("IX")||"";return 0===a.length?"0":a};b.prototype.initLabels=function(a){this.paragraphs={};for(var b=null,f=null,h=null,l=0;l<a.length;l++){var m;m=a.item(l);switch(m.nodeName){case "cp":b=this.getIndex(m);break;case "tp":this.getIndex(m);break;case "pp":f=this.getIndex(m);break;case "fld":h=this.getIndex(m);break;case "#text":m=m.textContent;var y;y=this.paragraphs;
+y=y[f]?y[f]:null;null==y?(y=new c.mxgraph.io.vsdx.Paragraph(m,b,f,h),this.paragraphs[f]=y):y.addText(m,b,h)}}};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,f=0;f<a;f++){var h=b.getValue(f);if(0===h.length&&
null!=this.fields){var l=b.getField(f);null!=l&&(h=function(a,b){return a[b]?a[b]:null}(this.fields,l),null==h&&null!=this.masterShape&&null!=this.masterShape.fields&&(h=function(a,b){return a[b]?a[b]:null}(this.masterShape.fields,l)))}null!=h&&(c=null==c?h:c+h)}return c};b.prototype.getHtmlTextContent=function(a){var b="",f=!0;if(null!=a&&0<a.length)for(var h=0;h<a.length;h++){var l=a.item(h);(function(a,b){return a&&a.equals?a.equals(b):a===b})(l.nodeName,"cp")?this.cp=this.getIndex(l):function(a,
b){return a&&a.equals?a.equals(b):a===b}(l.nodeName,"tp")?this.tp=this.getIndex(l):function(a,b){return a&&a.equals?a.equals(b):a===b}(l.nodeName,"pp")?(this.pp=this.getIndex(l),f?f=!1:b+="</p>",b+=this.getTextParagraphFormated("<p>")):function(a,b){return a&&a.equals?a.equals(b):a===b}(l.nodeName,"fld")?(this.fld=this.getIndex(l),l=null,null!=this.fields&&(l=function(a,b){return a[b]?a[b]:null}(this.fields,this.fld)),null==l&&null!=this.masterShape&&null!=this.masterShape.fields&&(l=function(a,b){return a[b]?
@@ -8826,7 +8826,7 @@ d=0;4>m;m++){var w=h.IA_$LI$()[c.charAt(f++).charCodeAt(0)];0<=w?d|=w<<18-6*m:m-
61==function(a){return null==a.charCodeAt?a:a.charCodeAt(0)}(c.charAt(d-1))?2:1:0,l=d-a+1,m=76<b?(13==function(a){return null==a.charCodeAt?a:a.charCodeAt(0)}(c.charAt(76))?l/78|0:0)<<1:0,l=(6*(l-m)>>3)-f,b=function(a){for(var b=[];0<a--;)b.push(0);return b}(l),w=0,y=0,q=3*(l/3|0);w<q;){var z=h.IA_$LI$()[c.charAt(a++).charCodeAt(0)]<<18|h.IA_$LI$()[c.charAt(a++).charCodeAt(0)]<<12|h.IA_$LI$()[c.charAt(a++).charCodeAt(0)]<<6|h.IA_$LI$()[c.charAt(a++).charCodeAt(0)];b[w++]=z>>16|0;b[w++]=z>>8|0;b[w++]=
z|0;0<m&&19===++y&&(a+=2,y=0)}if(w<l){for(m=z=0;a<=d-f;m++)z|=h.IA_$LI$()[c.charAt(a++).charCodeAt(0)]<<18-6*m;for(c=16;w<l;c-=8)b[w++]=z>>c|0}return b};return h}();l.__static_initialized=!1;m.mxBase64=l;l.__class="com.mxgraph.online.mxBase64"})(m.online||(m.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.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,m,w){null!=c.name&&/(\.vssx)($|\?)/i.test(c.name)?(new com.mxgraph.io.mxVssxCodec).decodeVssx(c,m):(new com.mxgraph.io.mxVsdxCodec).decodeVsdx(c,m,null,w)};/*!
JSZip v3.1.3 - A Javascript class for generating and reading zip files
diff --git a/src/main/webapp/js/diagramly/App.js b/src/main/webapp/js/diagramly/App.js
index e831ef61..179b184e 100644
--- a/src/main/webapp/js/diagramly/App.js
+++ b/src/main/webapp/js/diagramly/App.js
@@ -551,111 +551,122 @@ App.main = function(callback, createUi)
Editor.initMath();
}
- // Adds required resources (disables loading of fallback properties, this can only
- // be used if we know that all keys are defined in the language specific file)
- mxResources.loadDefaultBundle = false;
- var bundle = mxResources.getDefaultBundle(RESOURCE_BASE, mxLanguage) ||
- mxResources.getSpecialBundle(RESOURCE_BASE, mxLanguage);
-
- // Prefetches asynchronous requests so that below code runs synchronous
- // Loading the correct bundle (one file) via the fallback system in mxResources. The stylesheet
- // is compiled into JS in the build process and is only needed for local development.
- mxUtils.getAll((urlParams['dev'] != '1') ? [bundle] : [bundle, (uiTheme == 'dark') ? STYLE_PATH + '/dark-default.xml' : STYLE_PATH + '/default.xml'], function(xhr)
+ function doLoad(bundle)
{
- // Adds bundle text to resources
- mxResources.parse(xhr[0].getText());
-
- // Prepares themes with mapping from old default-style to old XML file
- if (xhr.length > 1)
+ // Prefetches asynchronous requests so that below code runs synchronous
+ // Loading the correct bundle (one file) via the fallback system in mxResources. The stylesheet
+ // is compiled into JS in the build process and is only needed for local development.
+ mxUtils.getAll((urlParams['dev'] != '1') ? [bundle] : [bundle, (uiTheme == 'dark') ? STYLE_PATH + '/dark-default.xml' : STYLE_PATH + '/default.xml'], function(xhr)
{
- Graph.prototype.defaultThemes[Graph.prototype.defaultThemeName] = xhr[1].getDocumentElement();
- }
-
- // Main
- var ui = (createUi != null) ? createUi() : new App(new Editor(urlParams['chrome'] == '0' || uiTheme == 'min', null, null, null, urlParams['chrome'] != '0'));
-
- if (window.mxscript != null)
- {
- // Loads dropbox for all browsers but IE8 and below (no CORS) if not disabled or if enabled and in embed mode
- // KNOWN: Picker does not work in IE11 (https://dropbox.zendesk.com/requests/1650781)
- if (typeof window.DropboxClient === 'function' &&
- (window.Dropbox == null && window.DrawDropboxClientCallback != null &&
- (((urlParams['embed'] != '1' && urlParams['db'] != '0') ||
- (urlParams['embed'] == '1' && urlParams['db'] == '1')) &&
- isSvgBrowser && (document.documentMode == null || document.documentMode > 9))))
- {
- mxscript(App.DROPBOX_URL, function()
- {
- // Must load this after the dropbox SDK since they use the same namespace
- mxscript(App.DROPINS_URL, function()
- {
- DrawDropboxClientCallback();
- }, 'dropboxjs', App.DROPBOX_APPKEY);
- });
- }
- // Disables client
- else if (typeof window.Dropbox === 'undefined' || typeof window.Dropbox.choose === 'undefined')
- {
- window.DropboxClient = null;
- }
-
- // Loads OneDrive for all browsers but IE6/IOS if not disabled or if enabled and in embed mode
- if (typeof window.OneDriveClient === 'function' &&
- (typeof OneDrive === 'undefined' && window.DrawOneDriveClientCallback != null &&
- (((urlParams['embed'] != '1' && urlParams['od'] != '0') || (urlParams['embed'] == '1' &&
- urlParams['od'] == '1')) && (navigator.userAgent.indexOf('MSIE') < 0 || document.documentMode >= 10))))
- {
- mxscript(App.ONEDRIVE_URL, window.DrawOneDriveClientCallback);
- }
- // Disables client
- else if (typeof window.OneDrive === 'undefined')
+ // Adds bundle text to resources
+ mxResources.parse(xhr[0].getText());
+
+ // Prepares themes with mapping from old default-style to old XML file
+ if (xhr.length > 1)
{
- window.OneDriveClient = null;
+ Graph.prototype.defaultThemes[Graph.prototype.defaultThemeName] = xhr[1].getDocumentElement();
}
+
+ // Main
+ var ui = (createUi != null) ? createUi() : new App(new Editor(urlParams['chrome'] == '0' || uiTheme == 'min', null, null, null, urlParams['chrome'] != '0'));
- // Loads Trello for all browsers but < IE10 if not disabled or if enabled and in embed mode
- if (typeof window.TrelloClient === 'function' &&
- (typeof window.Trello === 'undefined' && window.DrawTrelloClientCallback != null &&
- (((urlParams['embed'] != '1' && urlParams['tr'] != '0') || (urlParams['embed'] == '1' &&
- urlParams['tr'] == '1')) && (navigator.userAgent.indexOf('MSIE') < 0 || document.documentMode >= 10))))
+ if (window.mxscript != null)
{
- mxscript(App.TRELLO_JQUERY_URL, function()
+ // Loads dropbox for all browsers but IE8 and below (no CORS) if not disabled or if enabled and in embed mode
+ // KNOWN: Picker does not work in IE11 (https://dropbox.zendesk.com/requests/1650781)
+ if (typeof window.DropboxClient === 'function' &&
+ (window.Dropbox == null && window.DrawDropboxClientCallback != null &&
+ (((urlParams['embed'] != '1' && urlParams['db'] != '0') ||
+ (urlParams['embed'] == '1' && urlParams['db'] == '1')) &&
+ isSvgBrowser && (document.documentMode == null || document.documentMode > 9))))
{
- // Must load this after the dropbox SDK since they use the same namespace
- mxscript(App.TRELLO_URL, function()
+ mxscript(App.DROPBOX_URL, function()
{
- DrawTrelloClientCallback();
+ // Must load this after the dropbox SDK since they use the same namespace
+ mxscript(App.DROPINS_URL, function()
+ {
+ DrawDropboxClientCallback();
+ }, 'dropboxjs', App.DROPBOX_APPKEY);
});
- });
+ }
+ // Disables client
+ else if (typeof window.Dropbox === 'undefined' || typeof window.Dropbox.choose === 'undefined')
+ {
+ window.DropboxClient = null;
+ }
+
+ // Loads OneDrive for all browsers but IE6/IOS if not disabled or if enabled and in embed mode
+ if (typeof window.OneDriveClient === 'function' &&
+ (typeof OneDrive === 'undefined' && window.DrawOneDriveClientCallback != null &&
+ (((urlParams['embed'] != '1' && urlParams['od'] != '0') || (urlParams['embed'] == '1' &&
+ urlParams['od'] == '1')) && (navigator.userAgent.indexOf('MSIE') < 0 || document.documentMode >= 10))))
+ {
+ mxscript(App.ONEDRIVE_URL, window.DrawOneDriveClientCallback);
+ }
+ // Disables client
+ else if (typeof window.OneDrive === 'undefined')
+ {
+ window.OneDriveClient = null;
+ }
+
+ // Loads Trello for all browsers but < IE10 if not disabled or if enabled and in embed mode
+ if (typeof window.TrelloClient === 'function' &&
+ (typeof window.Trello === 'undefined' && window.DrawTrelloClientCallback != null &&
+ (((urlParams['embed'] != '1' && urlParams['tr'] != '0') || (urlParams['embed'] == '1' &&
+ urlParams['tr'] == '1')) && (navigator.userAgent.indexOf('MSIE') < 0 || document.documentMode >= 10))))
+ {
+ mxscript(App.TRELLO_JQUERY_URL, function()
+ {
+ // Must load this after the dropbox SDK since they use the same namespace
+ mxscript(App.TRELLO_URL, function()
+ {
+ DrawTrelloClientCallback();
+ });
+ });
+ }
+ // Disables client
+ else if (typeof window.Trello === 'undefined')
+ {
+ window.TrelloClient = null;
+ }
+
}
- // Disables client
- else if (typeof window.Trello === 'undefined')
+
+ if (callback != null)
{
- window.TrelloClient = null;
+ callback(ui);
}
-
- }
-
- if (callback != null)
- {
- callback(ui);
- }
-
- /**
- * For developers only
- */
- if (urlParams['chrome'] != '0' && urlParams['test'] == '1')
+
+ /**
+ * For developers only
+ */
+ if (urlParams['chrome'] != '0' && urlParams['test'] == '1')
+ {
+ mxLog.show();
+ mxLog.debug('Started in ' + (new Date().getTime() - t0.getTime()) + 'ms');
+ mxLog.debug('Export:', EXPORT_URL);
+ mxLog.debug('Development mode:', (urlParams['dev'] == '1') ? 'active' : 'inactive');
+ mxLog.debug('Test mode:', (urlParams['test'] == '1') ? 'active' : 'inactive');
+ }
+ }, function(xhr)
{
- mxLog.show();
- mxLog.debug('Started in ' + (new Date().getTime() - t0.getTime()) + 'ms');
- mxLog.debug('Export:', EXPORT_URL);
- mxLog.debug('Development mode:', (urlParams['dev'] == '1') ? 'active' : 'inactive');
- mxLog.debug('Test mode:', (urlParams['test'] == '1') ? 'active' : 'inactive');
- }
- }, function()
- {
- document.getElementById('geStatus').innerHTML = 'Error loading page. <a href="javascript:void(0);" onclick="location.reload();">Please try refreshing.</a>';
- });
+ document.getElementById('geStatus').innerHTML = 'Error loading page. <a href="javascript:void(0);">Please try refreshing.</a>';
+
+ // Tries reload with default resources in case any language resources were not available
+ document.getElementById('geStatus').getElementsByTagName('a')[0].onclick = function()
+ {
+ mxLanguage = 'en';
+ doLoad(mxResources.getDefaultBundle(RESOURCE_BASE, mxLanguage) ||
+ mxResources.getSpecialBundle(RESOURCE_BASE, mxLanguage));
+ };
+ });
+ };
+
+ // Adds required resources (disables loading of fallback properties, this can only
+ // be used if we know that all keys are defined in the language specific file)
+ mxResources.loadDefaultBundle = false;
+ doLoad(mxResources.getDefaultBundle(RESOURCE_BASE, mxLanguage) ||
+ mxResources.getSpecialBundle(RESOURCE_BASE, mxLanguage));
};
//Extends EditorUi
@@ -1417,22 +1428,6 @@ App.prototype.createCrcTable = function()
};
/**
- * Authorizes the client, gets the userId and calls <open>.
- */
-App.prototype.crc32 = function(str)
-{
- this.crcTable = this.crcTable || this.createCrcTable();
- var crc = 0 ^ (-1);
-
- for (var i = 0; i < str.length; i++ )
- {
- crc = (crc >>> 8) ^ this.crcTable[(crc ^ str.charCodeAt(i)) & 0xFF];
- }
-
- return (crc ^ (-1)) >>> 0;
-};
-
-/**
* Returns a thumbnail of the current file.
*/
App.prototype.getThumbnail = function(width, success)
diff --git a/src/main/webapp/js/diagramly/Editor.js b/src/main/webapp/js/diagramly/Editor.js
index 8bc4954e..ea0b31c7 100644
--- a/src/main/webapp/js/diagramly/Editor.js
+++ b/src/main/webapp/js/diagramly/Editor.js
@@ -58,6 +58,11 @@
* Default value for custom libraries in mxSettings.
*/
Editor.defaultCustomLibraries = [];
+
+ /**
+ * Default value for custom libraries in mxSettings.
+ */
+ Editor.enableCustomLibraries = true;
/**
* Default value for the CSV import dialog.
@@ -200,6 +205,12 @@
Editor.defaultCustomLibraries = config.defaultCustomLibraries;
}
+ // Disables custom libraries
+ if (config.enableCustomLibraries != null)
+ {
+ Editor.enableCustomLibraries = config.enableCustomLibraries;
+ }
+
// Overrides default vertex style
if (config.defaultVertexStyle != null)
{
@@ -565,7 +576,7 @@
*/
Editor.initMath = function(src, config)
{
- src = (src != null) ? src : 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-MML-AM_HTMLorMML';
+ src = (src != null) ? src : 'https://math.draw.io/current/MathJax.js?config=TeX-MML-AM_HTMLorMML';
Editor.mathJaxQueue = [];
Editor.doMathJaxRender = function(container)
@@ -593,6 +604,9 @@
MathJax.Hub.Config(config || {
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']
},
@@ -2120,10 +2134,12 @@
doc.writeln('messageStyle: "none",');
doc.writeln('jax: ["input/TeX", "input/MathML", "input/AsciiMath", "output/HTML-CSS"],');
doc.writeln('extensions: ["tex2jax.js", "mml2jax.js", "asciimath2jax.js"],');
+ doc.writeln('"HTML-CSS": {');
+ doc.writeln('imageFont: null');
+ doc.writeln('},');
doc.writeln('TeX: {');
doc.writeln('extensions: ["AMSmath.js", "AMSsymbols.js", "noErrors.js", "noUndefined.js"]');
doc.writeln('},');
- // Ignores math in in-place editor
doc.writeln('tex2jax: {');
doc.writeln(' ignoreClass: "geDisableMathJax"');
doc.writeln('},');
@@ -2141,7 +2157,7 @@
}
doc.writeln('</script>');
- doc.writeln('<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js"></script>');
+ doc.writeln('<script type="text/javascript" src="https://math.draw.io/current/MathJax.js"></script>');
}
pv.closeDocument();
diff --git a/src/main/webapp/js/diagramly/EditorUi.js b/src/main/webapp/js/diagramly/EditorUi.js
index 0ed9ff03..d25ebf66 100644
--- a/src/main/webapp/js/diagramly/EditorUi.js
+++ b/src/main/webapp/js/diagramly/EditorUi.js
@@ -1040,7 +1040,7 @@
* @param {number} dx X-coordinate of the translation.
* @param {number} dy Y-coordinate of the translation.
*/
- EditorUi.prototype.getBaseFilename = function()
+ EditorUi.prototype.getBaseFilename = function(ignorePageName)
{
var file = this.getCurrentFile();
var basename = (file != null && file.getTitle() != null) ? file.getTitle() : this.defaultFilename;
@@ -1050,6 +1050,13 @@
{
basename = basename.substring(0, basename.lastIndexOf('.'));
}
+
+ if (!ignorePageName && this.pages != null && this.pages.length > 1 &&
+ this.currentPage != null && this.currentPage.node.getAttribute('name') != null &&
+ this.currentPage.getName().length > 0)
+ {
+ basename = basename + '-' + this.currentPage.getName();
+ }
return basename;
};
@@ -1065,7 +1072,7 @@
try
{
ignoreSelection = (ignoreSelection != null) ? ignoreSelection : this.editor.graph.isSelectionEmpty();
- var basename = this.getBaseFilename();
+ var basename = this.getBaseFilename(!currentPage);
var filename = basename + '.' + format;
if (format == 'xml')
@@ -2572,8 +2579,8 @@
else
{
this.handleError({message: mxResources.get((xhr.status == 413) ?
- 'drawingTooLarge' : 'invalidOrMissingFile')},
- mxResources.get('errorLoadingFile'));
+ 'drawingTooLarge' : 'invalidOrMissingFile')},
+ mxResources.get('errorLoadingFile'));
}
}
}));
@@ -2608,7 +2615,7 @@
}
btn = btn.cloneNode(false);
- btn.setAttribute('src', IMAGE_PATH + '/edit.gif');
+ btn.setAttribute('src', Editor.editImage);
btn.setAttribute('title', mxResources.get('edit'));
buttons.insertBefore(btn, buttons.firstChild);
@@ -6956,6 +6963,19 @@
return c;
};
+ EditorUi.prototype.crc32 = function(str)
+ {
+ this.crcTable = this.crcTable || this.createCrcTable();
+ var crc = 0 ^ (-1);
+
+ for (var i = 0; i < str.length; i++ )
+ {
+ crc = (crc >>> 8) ^ this.crcTable[(crc ^ str.charCodeAt(i)) & 0xFF];
+ }
+
+ return (crc ^ (-1)) >>> 0;
+ };
+
/**
* Adds the given text to the compressed or non-compressed text chunk.
*/
@@ -10362,10 +10382,14 @@
// while waiting for file data
var libsEnabled = urlParams['embed'] != '1' ||
this.editor.graph.isEnabled();
- this.menus.get('openLibraryFrom').setEnabled(libsEnabled);
- this.menus.get('newLibrary').setEnabled(libsEnabled);
this.menus.get('extras').setEnabled(libsEnabled);
+ if (Editor.enableCustomLibraries)
+ {
+ this.menus.get('openLibraryFrom').setEnabled(libsEnabled);
+ this.menus.get('newLibrary').setEnabled(libsEnabled);
+ }
+
// Disables actions in the toolbar
var editable = (urlParams['embed'] == '1' &&
this.editor.graph.isEnabled()) ||
@@ -10546,7 +10570,7 @@
this.actions.get('find').setEnabled(enabled);
this.actions.get('layers').setEnabled(enabled);
this.actions.get('outline').setEnabled(enabled);
- this.actions.get('rename').setEnabled(file != null && file.isRenamable());
+ this.actions.get('rename').setEnabled((file != null && file.isRenamable()) || urlParams['embed'] == '1');
this.actions.get('close').setEnabled(file != null);
this.menus.get('publish').setEnabled(file != null && !file.isRestricted());
diff --git a/src/main/webapp/js/diagramly/Embed.js b/src/main/webapp/js/diagramly/Embed.js
index 7713180f..8471de58 100644
--- a/src/main/webapp/js/diagramly/Embed.js
+++ b/src/main/webapp/js/diagramly/Embed.js
@@ -50,7 +50,16 @@
messageStyle: 'none',
AuthorInit: function ()
{
- MathJax.Hub.Config({"HTML-CSS":{availableFonts:[],webFont:"STIX-Web",imageFont:null}});
+ MathJax.Hub.Config({
+ 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']
+ }
+ });
MathJax.Hub.Register.StartupHook('Begin', function()
{
@@ -64,7 +73,7 @@
var script = document.createElement('script');
script.type = 'text/javascript';
- script.src = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-MML-AM_HTMLorMML';
+ script.src = 'https://math.draw.io/current/MathJax.js?config=TeX-MML-AM_HTMLorMML';
document.getElementsByTagName('head')[0].appendChild(script);
}
};
diff --git a/src/main/webapp/js/diagramly/Menus.js b/src/main/webapp/js/diagramly/Menus.js
index 4863dd92..557dfbfe 100644
--- a/src/main/webapp/js/diagramly/Menus.js
+++ b/src/main/webapp/js/diagramly/Menus.js
@@ -172,7 +172,7 @@
editorUi.createHtml(publicUrl, zoomEnabled, initialZoom, linkTarget, linkColor,
fit, allPages, layers, lightbox, editLink, mxUtils.bind(this, function(html, scriptTag)
{
- var basename = editorUi.getBaseFilename();
+ var basename = editorUi.getBaseFilename(allPages);
var result = '<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]-->\n' +
'<!DOCTYPE html>\n<html>\n<head>\n<title>' + mxUtils.htmlEntities(basename) + '</title>\n' +
'<meta charset="utf-8"/>\n</head>\n<body>' + html + '\n' + scriptTag + '\n</body>\n</html>';
@@ -1830,7 +1830,7 @@
}
})));
- this.editorUi.actions.addAction('rename...', mxUtils.bind(this, function()
+ var renameAction = this.editorUi.actions.addAction('rename...', mxUtils.bind(this, function()
{
var file = this.editorUi.getCurrentFile();
@@ -1867,11 +1867,15 @@
this.editorUi.showDialog(dlg.container, 300, 80, true, true);
dlg.init();
}
- })).isEnabled = function()
+ }));
+
+ renameAction.isEnabled = function()
{
return this.enabled && isGraphEnabled.apply(this, arguments);
}
+ renameAction.visible = urlParams['embed'] != '1';
+
editorUi.actions.addAction('makeCopy...', mxUtils.bind(this, function()
{
var file = editorUi.getCurrentFile();
@@ -2279,240 +2283,243 @@
}
}));
- this.put('newLibrary', new Menu(function(menu, parent)
+ if (Editor.enableCustomLibraries)
{
- if (typeof(google) != 'undefined' && typeof(google.picker) != 'undefined')
+ this.put('newLibrary', new Menu(function(menu, parent)
{
- if (editorUi.drive != null)
+ if (typeof(google) != 'undefined' && typeof(google.picker) != 'undefined')
{
- menu.addItem(mxResources.get('googleDrive') + '...', null, function()
+ if (editorUi.drive != null)
{
- editorUi.showLibraryDialog(null, null, null, null, App.MODE_GOOGLE);
+ menu.addItem(mxResources.get('googleDrive') + '...', null, function()
+ {
+ editorUi.showLibraryDialog(null, null, null, null, App.MODE_GOOGLE);
+ }, parent);
+ }
+ else if (googleEnabled)
+ {
+ menu.addItem(mxResources.get('googleDrive') + ' (' + mxResources.get('loading') + '...)', null, function()
+ {
+ // do nothing
+ }, parent, null, false);
+ }
+ }
+
+ if (editorUi.gitHub != null)
+ {
+ menu.addItem(mxResources.get('github') + '...', null, function()
+ {
+ editorUi.showLibraryDialog(null, null, null, null, App.MODE_GITHUB);
}, parent);
}
- else if (googleEnabled)
+
+ if (editorUi.dropbox != null)
{
- menu.addItem(mxResources.get('googleDrive') + ' (' + mxResources.get('loading') + '...)', null, function()
+ menu.addItem(mxResources.get('dropbox') + '...', null, function()
+ {
+ editorUi.showLibraryDialog(null, null, null, null, App.MODE_DROPBOX);
+ }, parent);
+ }
+ else if (dropboxEnabled)
+ {
+ menu.addItem(mxResources.get('dropbox') + ' (' + mxResources.get('loading') + '...)', null, function()
{
// do nothing
}, parent, null, false);
}
- }
-
- if (editorUi.gitHub != null)
- {
- menu.addItem(mxResources.get('github') + '...', null, function()
- {
- editorUi.showLibraryDialog(null, null, null, null, App.MODE_GITHUB);
- }, parent);
- }
-
- if (editorUi.dropbox != null)
- {
- menu.addItem(mxResources.get('dropbox') + '...', null, function()
+
+ if (editorUi.oneDrive != null)
{
- editorUi.showLibraryDialog(null, null, null, null, App.MODE_DROPBOX);
- }, parent);
- }
- else if (dropboxEnabled)
- {
- menu.addItem(mxResources.get('dropbox') + ' (' + mxResources.get('loading') + '...)', null, function()
+ menu.addItem(mxResources.get('oneDrive') + '...', null, function()
+ {
+ editorUi.showLibraryDialog(null, null, null, null, App.MODE_ONEDRIVE);
+ }, parent);
+ }
+ else if (oneDriveEnabled)
{
- // do nothing
- }, parent, null, false);
- }
-
- if (editorUi.oneDrive != null)
- {
- menu.addItem(mxResources.get('oneDrive') + '...', null, function()
+ menu.addItem(mxResources.get('oneDrive') + ' (' + mxResources.get('loading') + '...)', null, function()
+ {
+ // do nothing
+ }, parent, null, false);
+ }
+
+ if (editorUi.trello != null)
{
- editorUi.showLibraryDialog(null, null, null, null, App.MODE_ONEDRIVE);
- }, parent);
- }
- else if (oneDriveEnabled)
- {
- menu.addItem(mxResources.get('oneDrive') + ' (' + mxResources.get('loading') + '...)', null, function()
+ menu.addItem(mxResources.get('trello') + '...', null, function()
+ {
+ editorUi.showLibraryDialog(null, null, null, null, App.MODE_TRELLO);
+ }, parent);
+ }
+ else if (trelloEnabled)
{
- // do nothing
- }, parent, null, false);
- }
-
- if (editorUi.trello != null)
- {
- menu.addItem(mxResources.get('trello') + '...', null, function()
+ menu.addItem(mxResources.get('trello') + ' (' + mxResources.get('loading') + '...)', null, function()
+ {
+ // do nothing
+ }, parent, null, false);
+ }
+
+ menu.addSeparator(parent);
+
+ if (isLocalStorage && urlParams['browser'] != '0')
{
- editorUi.showLibraryDialog(null, null, null, null, App.MODE_TRELLO);
- }, parent);
- }
- else if (trelloEnabled)
- {
- menu.addItem(mxResources.get('trello') + ' (' + mxResources.get('loading') + '...)', null, function()
+ menu.addItem(mxResources.get('browser') + '...', null, function()
+ {
+ editorUi.showLibraryDialog(null, null, null, null, App.MODE_BROWSER);
+ }, parent);
+ }
+
+ if (!mxClient.IS_IOS)
{
- // do nothing
- }, parent, null, false);
- }
-
- menu.addSeparator(parent);
-
- if (isLocalStorage && urlParams['browser'] != '0')
+ menu.addItem(mxResources.get('device') + '...', null, function()
+ {
+ editorUi.showLibraryDialog(null, null, null, null, App.MODE_DEVICE);
+ }, parent);
+ }
+ }));
+
+ this.put('openLibraryFrom', new Menu(function(menu, parent)
{
- menu.addItem(mxResources.get('browser') + '...', null, function()
+ if (typeof(google) != 'undefined' && typeof(google.picker) != 'undefined')
{
- editorUi.showLibraryDialog(null, null, null, null, App.MODE_BROWSER);
- }, parent);
- }
-
- if (!mxClient.IS_IOS)
- {
- menu.addItem(mxResources.get('device') + '...', null, function()
+ if (editorUi.drive != null)
+ {
+ menu.addItem(mxResources.get('googleDrive') + '...', null, function()
+ {
+ editorUi.pickLibrary(App.MODE_GOOGLE);
+ }, parent);
+ }
+ else if (googleEnabled)
+ {
+ menu.addItem(mxResources.get('googleDrive') + ' (' + mxResources.get('loading') + '...)', null, function()
+ {
+ // do nothing
+ }, parent, null, false);
+ }
+ }
+
+ if (editorUi.gitHub != null)
{
- editorUi.showLibraryDialog(null, null, null, null, App.MODE_DEVICE);
- }, parent);
- }
- }));
-
- this.put('openLibraryFrom', new Menu(function(menu, parent)
- {
- if (typeof(google) != 'undefined' && typeof(google.picker) != 'undefined')
- {
- if (editorUi.drive != null)
+ menu.addItem(mxResources.get('github') + '...', null, function()
+ {
+ editorUi.pickLibrary(App.MODE_GITHUB);
+ }, parent);
+ }
+
+ if (editorUi.dropbox != null)
{
- menu.addItem(mxResources.get('googleDrive') + '...', null, function()
+ menu.addItem(mxResources.get('dropbox') + '...', null, function()
{
- editorUi.pickLibrary(App.MODE_GOOGLE);
+ editorUi.pickLibrary(App.MODE_DROPBOX);
}, parent);
}
- else if (googleEnabled)
+ else if (dropboxEnabled)
{
- menu.addItem(mxResources.get('googleDrive') + ' (' + mxResources.get('loading') + '...)', null, function()
+ menu.addItem(mxResources.get('dropbox') + ' (' + mxResources.get('loading') + '...)', null, function()
{
// do nothing
}, parent, null, false);
}
- }
-
- if (editorUi.gitHub != null)
- {
- menu.addItem(mxResources.get('github') + '...', null, function()
- {
- editorUi.pickLibrary(App.MODE_GITHUB);
- }, parent);
- }
-
- if (editorUi.dropbox != null)
- {
- menu.addItem(mxResources.get('dropbox') + '...', null, function()
- {
- editorUi.pickLibrary(App.MODE_DROPBOX);
- }, parent);
- }
- else if (dropboxEnabled)
- {
- menu.addItem(mxResources.get('dropbox') + ' (' + mxResources.get('loading') + '...)', null, function()
- {
- // do nothing
- }, parent, null, false);
- }
-
- if (editorUi.oneDrive != null)
- {
- menu.addItem(mxResources.get('oneDrive') + '...', null, function()
- {
- editorUi.pickLibrary(App.MODE_ONEDRIVE);
- }, parent);
- }
- else if (oneDriveEnabled)
- {
- menu.addItem(mxResources.get('oneDrive') + ' (' + mxResources.get('loading') + '...)', null, function()
- {
- // do nothing
- }, parent, null, false);
- }
-
- if (editorUi.trello != null)
- {
- menu.addItem(mxResources.get('trello') + '...', null, function()
+
+ if (editorUi.oneDrive != null)
{
- editorUi.pickLibrary(App.MODE_TRELLO);
- }, parent);
- }
- else if (trelloEnabled)
- {
- menu.addItem(mxResources.get('trello') + ' (' + mxResources.get('loading') + '...)', null, function()
+ menu.addItem(mxResources.get('oneDrive') + '...', null, function()
+ {
+ editorUi.pickLibrary(App.MODE_ONEDRIVE);
+ }, parent);
+ }
+ else if (oneDriveEnabled)
{
- // do nothing
- }, parent, null, false);
- }
-
- menu.addSeparator(parent);
-
- if (isLocalStorage && urlParams['browser'] != '0')
- {
- menu.addItem(mxResources.get('browser') + '...', null, function()
+ menu.addItem(mxResources.get('oneDrive') + ' (' + mxResources.get('loading') + '...)', null, function()
+ {
+ // do nothing
+ }, parent, null, false);
+ }
+
+ if (editorUi.trello != null)
{
- editorUi.pickLibrary(App.MODE_BROWSER);
- }, parent);
- }
-
- if (!mxClient.IS_IOS)
- {
- menu.addItem(mxResources.get('device') + '...', null, function()
+ menu.addItem(mxResources.get('trello') + '...', null, function()
+ {
+ editorUi.pickLibrary(App.MODE_TRELLO);
+ }, parent);
+ }
+ else if (trelloEnabled)
{
- editorUi.pickLibrary(App.MODE_DEVICE);
- }, parent);
- }
-
- if (!editorUi.isOffline())
- {
+ menu.addItem(mxResources.get('trello') + ' (' + mxResources.get('loading') + '...)', null, function()
+ {
+ // do nothing
+ }, parent, null, false);
+ }
+
menu.addSeparator(parent);
+
+ if (isLocalStorage && urlParams['browser'] != '0')
+ {
+ menu.addItem(mxResources.get('browser') + '...', null, function()
+ {
+ editorUi.pickLibrary(App.MODE_BROWSER);
+ }, parent);
+ }
- menu.addItem(mxResources.get('url') + '...', null, function()
+ if (!mxClient.IS_IOS)
{
- var dlg = new FilenameDialog(editorUi, '', mxResources.get('open'), function(fileUrl)
+ menu.addItem(mxResources.get('device') + '...', null, function()
{
- if (fileUrl != null && fileUrl.length > 0 && editorUi.spinner.spin(document.body, mxResources.get('loading')))
+ editorUi.pickLibrary(App.MODE_DEVICE);
+ }, parent);
+ }
+
+ if (!editorUi.isOffline())
+ {
+ menu.addSeparator(parent);
+
+ menu.addItem(mxResources.get('url') + '...', null, function()
+ {
+ var dlg = new FilenameDialog(editorUi, '', mxResources.get('open'), function(fileUrl)
{
- var realUrl = fileUrl;
-
- if (!editorUi.isCorsEnabledForUrl(fileUrl))
+ if (fileUrl != null && fileUrl.length > 0 && editorUi.spinner.spin(document.body, mxResources.get('loading')))
{
- realUrl = PROXY_URL + '?url=' + encodeURIComponent(fileUrl);
- }
-
- // Uses proxy to avoid CORS issues
- mxUtils.get(realUrl, function(req)
- {
- if (req.getStatus() >= 200 && req.getStatus() <= 299)
+ var realUrl = fileUrl;
+
+ if (!editorUi.isCorsEnabledForUrl(fileUrl))
{
- editorUi.spinner.stop();
-
- try
+ realUrl = PROXY_URL + '?url=' + encodeURIComponent(fileUrl);
+ }
+
+ // Uses proxy to avoid CORS issues
+ mxUtils.get(realUrl, function(req)
+ {
+ if (req.getStatus() >= 200 && req.getStatus() <= 299)
{
- editorUi.loadLibrary(new UrlLibrary(this, req.getText(), fileUrl));
+ editorUi.spinner.stop();
+
+ try
+ {
+ editorUi.loadLibrary(new UrlLibrary(this, req.getText(), fileUrl));
+ }
+ catch (e)
+ {
+ editorUi.handleError(e, mxResources.get('errorLoadingFile'));
+ }
}
- catch (e)
+ else
{
- editorUi.handleError(e, mxResources.get('errorLoadingFile'));
+ editorUi.spinner.stop();
+ editorUi.handleError(null, mxResources.get('errorLoadingFile'));
}
- }
- else
+ }, function()
{
editorUi.spinner.stop();
editorUi.handleError(null, mxResources.get('errorLoadingFile'));
- }
- }, function()
- {
- editorUi.spinner.stop();
- editorUi.handleError(null, mxResources.get('errorLoadingFile'));
- });
- }
- }, mxResources.get('url'));
- editorUi.showDialog(dlg.container, 300, 80, true, true);
- dlg.init();
- }, parent);
- }
- }));
-
+ });
+ }
+ }, mxResources.get('url'));
+ editorUi.showDialog(dlg.container, 300, 80, true, true);
+ dlg.init();
+ }, parent);
+ }
+ }));
+ }
+
// Overrides edit menu to add find
this.put('edit', new Menu(mxUtils.bind(this, function(menu, parent)
{
@@ -2586,7 +2593,7 @@
{
this.addMenuItem(menu, 'plugins', parent);
}
-
+
menu.addSeparator(parent);
this.addMenuItem(menu, 'tags', parent);
})));
@@ -2606,7 +2613,7 @@
this.addSubmenu('openLibraryFrom', menu, parent);
}
- this.addMenuItems(menu, ['-', 'pageSetup', 'print', '-', 'save'], parent);
+ this.addMenuItems(menu, ['-', 'pageSetup', 'print', '-', 'rename', 'save'], parent);
if (urlParams['saveAndExit'] == '1')
{
diff --git a/src/main/webapp/js/diagramly/Minimal.js b/src/main/webapp/js/diagramly/Minimal.js
index ce4a6467..3cdf5d5e 100644
--- a/src/main/webapp/js/diagramly/Minimal.js
+++ b/src/main/webapp/js/diagramly/Minimal.js
@@ -123,17 +123,9 @@ EditorUi.initMinimalTheme = function()
return format;
});
- ui.formatWindow.window.addListener('show', function()
- {
- ui.fireEvent(new mxEventObject('format'));
- });
- ui.formatWindow.window.addListener('format', function()
- {
- ui.fireEvent(new mxEventObject('format'));
- });
+
ui.formatWindow.window.minimumSize = new mxRectangle(0, 0, 240, 80);
ui.formatWindow.window.setVisible(true);
- ui.fireEvent(new mxEventObject('sidebar'));
}
else
{
@@ -192,7 +184,7 @@ EditorUi.initMinimalTheme = function()
return elt;
}
- if (urlParams['embed'] != '1' || urlParams['libraries'] == '1')
+ if (Editor.enableCustomLibraries && (urlParams['embed'] != '1' || urlParams['libraries'] == '1'))
{
// Defined in native apps together with openLibrary
if (ui.actions.get('newLibrary') != null)
@@ -241,17 +233,9 @@ EditorUi.initMinimalTheme = function()
return container;
});
- ui.sidebarWindow.window.addListener('show', function()
- {
- ui.fireEvent(new mxEventObject('sidebar'));
- });
- ui.sidebarWindow.window.addListener('sidebar', function()
- {
- ui.fireEvent(new mxEventObject('sidebar'));
- });
+
ui.sidebarWindow.window.minimumSize = new mxRectangle(0, 0, 90, 90);
ui.sidebarWindow.window.setVisible(true);
- ui.fireEvent(new mxEventObject('sidebar'));
ui.getLocalData('sidebar', function(value)
{
@@ -569,7 +553,7 @@ EditorUi.initMinimalTheme = function()
}
};
- DiagramFormatPanel.prototype.isMathOptionVisible = function(div)
+ DiagramFormatPanel.prototype.isMathOptionVisible = function()
{
return true;
};
diff --git a/src/main/webapp/js/diagramly/Pages.js b/src/main/webapp/js/diagramly/Pages.js
index 3a758f47..d385ee13 100644
--- a/src/main/webapp/js/diagramly/Pages.js
+++ b/src/main/webapp/js/diagramly/Pages.js
@@ -328,8 +328,6 @@ EditorUi.prototype.initPages = function()
graphViewValidateBackground.apply(graph.view, arguments);
});
- // Math workaround is only needed for initial rendering
- var ignorePendingMath = false;
var lastPage = null;
var updateTabs = mxUtils.bind(this, function()
@@ -376,28 +374,19 @@ EditorUi.prototype.initPages = function()
if (typeof(MathJax) !== 'undefined' && typeof(MathJax.Hub) !== 'undefined')
{
// Pending math should not be rendered if the graph has no math enabled
- if (!ignorePendingMath && this.editor != null)
+ if (MathJax.Hub.queue.pending == 1 && this.editor != null && !this.editor.graph.mathEnabled)
{
- if (MathJax.Hub.queue.pending == 1 && !this.editor.graph.mathEnabled)
- {
- // Since there is no way to stop/undo mathjax or
- // clear the queue, we do a refresh after typeset
- MathJax.Hub.Queue(mxUtils.bind(this, function()
- {
- this.editor.graph.refresh();
- }));
- }
-
+ // Since there is no way to stop/undo mathjax or
+ // clear the queue we have to refresh after typeset
MathJax.Hub.Queue(mxUtils.bind(this, function()
{
- ignorePendingMath = true;
+ this.editor.graph.refresh();
}));
}
}
else if (typeof(Editor.MathJaxClear) !== 'undefined' && (this.editor == null || !this.editor.graph.mathEnabled))
{
// Clears our own queue for async loading
- ignorePendingMath = true;
Editor.MathJaxClear();
}
});
diff --git a/src/main/webapp/js/diagramly/sidebar/Sidebar-WebIcons.js b/src/main/webapp/js/diagramly/sidebar/Sidebar-WebIcons.js
index 4c444b51..79cd75a5 100644
--- a/src/main/webapp/js/diagramly/sidebar/Sidebar-WebIcons.js
+++ b/src/main/webapp/js/diagramly/sidebar/Sidebar-WebIcons.js
@@ -4,7 +4,7 @@
Sidebar.prototype.addWebIconsPalette = function()
{
var sb = this;
- var s = 'dashed=0;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.webicons.";
+ var s = 'dashed=0;html=1;align=center;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;' + mxConstants.STYLE_SHAPE + "=mxgraph.webicons.";
var gn = 'mxgraph.webicons';
var dt = 'web icons icon';
var w = 0.2;
@@ -92,10 +92,8 @@
w * 512, h * 512, '', 'Diigo', null, null, this.getTagsForStencil(gn, 'diiigo', dt).join(' ')),
this.createVertexTemplateEntry(s + 'dopplr;fillColor=#FFFFFF;gradientColor=#DFDEDE',
w * 512, h * 512, '', 'Dopplr', null, null, this.getTagsForStencil(gn, 'dopplr', dt).join(' ')),
- this.createVertexTemplateEntry(s + 'drawio1;fillColor=#2174CE;gradientColor=#134277',
- w * 512, h * 512, '', 'Draw.io', null, null, this.getTagsForStencil(gn, 'drawio draw io', dt).join(' ')),
this.createVertexTemplateEntry(s + 'drawio2;fillColor=#2174CE;gradientColor=#134277',
- w * 512, h * 512, '', 'Draw.io', null, null, this.getTagsForStencil(gn, 'drawio draw io', dt).join(' ')),
+ w * 512, h * 512, '', 'Draw.io', null, null, this.getTagsForStencil(gn, 'drawio draw io draw.io', dt).join(' ')),
this.createVertexTemplateEntry(s + 'dribbble;fillColor=#FFFFFF;gradientColor=#DFDEDE',
w * 512, h * 512, '', 'Dribbble', null, null, this.getTagsForStencil(gn, 'dribbble', dt).join(' ')),
this.createVertexTemplateEntry(s + 'dropbox;fillColor=#0BAAFE;gradientColor=#0080E6',
@@ -371,7 +369,7 @@
Sidebar.prototype.addWebLogosPalette = function()
{
var sb = this;
- var s = 'dashed=0;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.weblogos.";
+ var s = 'dashed=0;html=1;align=center;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;' + mxConstants.STYLE_SHAPE + "=mxgraph.weblogos.";
var gn = 'mxgraph.weblogos';
var dt = 'web logos logo';
var w = 0.2;
@@ -467,10 +465,10 @@
w * 306, h * 344, '', 'Diigo', null, null, this.getTagsForStencil(gn, 'diiigo', dt).join(' ')),
this.createVertexTemplateEntry(s + 'dopplr;fillColor=#F9634D;strokeColor=none',
w * 512, h * 512, '', 'Dopplr', null, null, this.getTagsForStencil(gn, 'dopplr', dt).join(' ')),
- this.createVertexTemplateEntry(s + 'drawio1;fillColor=#1A5BA3',
- w * 248, h * 341, '', 'Draw.io', null, null, this.getTagsForStencil(gn, 'drawio draw io', dt).join(' ')),
this.createVertexTemplateEntry(s + 'drawio2;fillColor=#1A5BA3',
- w * 261, h * 354, '', 'Draw.io', null, null, this.getTagsForStencil(gn, 'drawio draw io', dt).join(' ')),
+ w * 261, h * 354, '', 'Draw.io', null, null, this.getTagsForStencil(gn, 'drawio draw io draw.io', dt).join(' ')),
+ this.createVertexTemplateEntry(s + 'drawio3;fillColor=#1A5BA3;fontSize=15;fontColor=#1A5BA3;fontStyle=1',
+ w * 261, h * 261, 'draw<font color="#f08707">.io</font>', 'Draw.io', null, null, this.getTagsForStencil(gn, 'drawio draw io draw.io', dt).join(' ')),
this.createVertexTemplateEntry(s + 'dribbble;fillColor=#EB548D',
w * 337, h * 336, '', 'Dribbble', null, null, this.getTagsForStencil(gn, 'dribbble', dt).join(' ')),
this.createVertexTemplateEntry(s + 'dropbox;fillColor=#0287EA',
diff --git a/src/main/webapp/js/diagramly/vsdx/importer.js b/src/main/webapp/js/diagramly/vsdx/importer.js
index 4d4935ec..24d5f16f 100644
--- a/src/main/webapp/js/diagramly/vsdx/importer.js
+++ b/src/main/webapp/js/diagramly/vsdx/importer.js
@@ -54,6 +54,36 @@ var com;
return mxVsdxCodec.vsdxPlaceholder;
};
+ mxVsdxCodec.parsererrorNS_$LI$ = function ()
+ {
+ if (mxVsdxCodec.parsererrorNS == null)
+ {
+ var parser = new DOMParser();
+ mxVsdxCodec.parsererrorNS = parser.parseFromString('<', 'text/xml').getElementsByTagName("parsererror")[0].namespaceURI;
+ }
+
+ return mxVsdxCodec.parsererrorNS;
+ };
+
+ mxVsdxCodec.isParseError = function (doc)
+ {
+ return doc.getElementsByTagNameNS(mxVsdxCodec.parsererrorNS, 'parsererror').length > 0;
+ };
+
+ //TODO Optimize this function
+ mxVsdxCodec.decodeUTF16LE = function ( binaryStr )
+ {
+ var cp = "";
+ for( var i = 0; i < binaryStr.length; i+=2)
+ {
+ cp += String.fromCharCode(
+ binaryStr.charCodeAt(i) |
+ ( binaryStr.charCodeAt(i+1) << 8 )
+ );
+ }
+
+ return cp ;
+ }
/**
* Parses the input VSDX format and uses the information to populate
* the specified graph.
@@ -170,7 +200,24 @@ var com;
{
var dateAfter = new Date();
//console.log(processedFiles + " File extracted in " + (dateAfter - dateBefore) + "ms");
- allDone();
+ try
+ {
+ allDone();
+ }
+ catch(e)
+ {
+ console.log(e);
+
+ if (onerror != null)
+ {
+ onerror();
+ }
+ else
+ {
+ callback("");
+ }
+ }
+
}
};
@@ -199,21 +246,22 @@ var com;
filesCount++;
zipEntry.async("string").then(function (str)
{
- if (!(str.length === 0)) {
+ if (!(str.length === 0)) {
//UTF-8 BOM causes exception while parsing, so remove it
//TODO is the text encoding will be correct or string must be re-read as UTF-8?
- if ((function (str, searchString, position) {
- if (position === void 0) { position = 0; }
- return str.substr(position, searchString.length) === searchString;
- })(str, "\u00ef\u00bb\u00bf"))
- str = str.substring(3);
+ if (str.charCodeAt(0) == 65279)
+ {
+ str = str.substring(1);
+ }
+
var doc = mxUtils.parseXml(str);
- if (doc == null) { //FIXME TODO find a way to change encoding in javascript
- // var outBytes = out.toByteArray();
- // if (outBytes[1] === 0 && outBytes[3] === 0 && outBytes[5] === 0) {
- // str = out.toString("UTF-16LE");
- // doc = mxUtils.parseXml(str);
- // }
+
+ if ( mxVsdxCodec.isParseError(doc))
+ {
+ if (str.charCodeAt(1) === 0 && str.charCodeAt(3) === 0 && str.charCodeAt(5) === 0)
+ {
+ doc = mxUtils.parseXml(mxVsdxCodec.decodeUTF16LE(str));
+ }
//TODO add any other non-standard encoding that may be needed
}
doc.vsdxFileName = filename;
@@ -11687,6 +11735,7 @@ 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(file, done, onerror)
{
diff --git a/src/main/webapp/js/embed-static.min.js b/src/main/webapp/js/embed-static.min.js
index 26a4b82b..fbbc07a4 100644
--- a/src/main/webapp/js/embed-static.min.js
+++ b/src/main/webapp/js/embed-static.min.js
@@ -184,7 +184,7 @@ f)+"\n"+t+"}":"{"+z.join(",")+"}";f=t;return l}}"function"!==typeof Date.prototy
e=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,f,g,h={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},k;"function"!==typeof JSON.stringify&&(JSON.stringify=function(a,b,d){var e;g=f="";if("number"===typeof d)for(e=0;e<d;e+=1)g+=" ";else"string"===typeof d&&(g=d);if((k=b)&&"function"!==typeof b&&("object"!==typeof b||"number"!==typeof b.length))throw Error("JSON.stringify");return c("",{"":a})});
"function"!==typeof JSON.parse&&(JSON.parse=function(a,b){function c(a,d){var e,f,g=a[d];if(g&&"object"===typeof g)for(e in g)Object.prototype.hasOwnProperty.call(g,e)&&(f=c(g,e),void 0!==f?g[e]=f:delete g[e]);return b.call(a,d,g)}var e;a=""+a;d.lastIndex=0;d.test(a)&&(a=a.replace(d,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return e=eval("("+a+")"),"function"===typeof b?c({"":e},""):e;throw new SyntaxError("JSON.parse");})})();"undefined"===typeof window.mxBasePath&&(window.mxBasePath="https://www.draw.io/mxgraph/");window.mxLoadStylesheets=window.mxLoadStylesheets||!1;window.mxLoadResources=window.mxLoadResources||!1;window.mxLanguage=window.mxLanguage||"en";window.urlParams=window.urlParams||{};window.MAX_REQUEST_SIZE=window.MAX_REQUEST_SIZE||10485760;window.MAX_AREA=window.MAX_AREA||225E6;window.EXPORT_URL=window.EXPORT_URL||"/export";window.SAVE_URL=window.SAVE_URL||"/save";window.OPEN_URL=window.OPEN_URL||"/open";window.RESOURCES_PATH=window.RESOURCES_PATH||"resources";window.RESOURCE_BASE=window.RESOURCE_BASE||window.RESOURCES_PATH+"/grapheditor";window.STENCIL_PATH=window.STENCIL_PATH||"stencils";window.IMAGE_PATH=window.IMAGE_PATH||"images";
-window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"8.6.8",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&
+window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"8.6.9",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&
0>navigator.userAgent.indexOf("Edge/"),IS_OP:0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/"),IS_OT:0<=navigator.userAgent.indexOf("Presto/")&&0>navigator.userAgent.indexOf("Presto/2.4.")&&0>navigator.userAgent.indexOf("Presto/2.3.")&&0>navigator.userAgent.indexOf("Presto/2.2.")&&0>navigator.userAgent.indexOf("Presto/2.1.")&&0>navigator.userAgent.indexOf("Presto/2.0.")&&0>navigator.userAgent.indexOf("Presto/1."),IS_SF:0<=navigator.userAgent.indexOf("AppleWebKit/")&&
0>navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_IOS:navigator.userAgent.match(/(iPad|iPhone|iPod)/g)?!0:!1,IS_GC:0<=navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:0<=navigator.userAgent.indexOf("Firefox/"),IS_MT:0<=navigator.userAgent.indexOf("Firefox/")&&0>navigator.userAgent.indexOf("Firefox/1.")&&0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&&
0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_SVG:0<=navigator.userAgent.indexOf("Firefox/")||0<=navigator.userAgent.indexOf("Iceweasel/")||0<=navigator.userAgent.indexOf("Seamonkey/")||0<=navigator.userAgent.indexOf("Iceape/")||0<=navigator.userAgent.indexOf("Galeon/")||
@@ -485,9 +485,9 @@ mxShape.prototype.updateHtmlColors=function(a){var b=this.stroke;null!=b&&b!=mxC
mxUtils.addTransparentBackgroundFilter(a):this.setTransparentBackgroundImage(a)};
mxShape.prototype.updateHtmlBounds=function(a){var b=9<=document.documentMode?0:Math.ceil(this.strokewidth*this.scale);a.style.borderWidth=Math.max(1,b)+"px";a.style.overflow="hidden";a.style.left=Math.round(this.bounds.x-b/2)+"px";a.style.top=Math.round(this.bounds.y-b/2)+"px";"CSS1Compat"==document.compatMode&&(b=-b);a.style.width=Math.round(Math.max(0,this.bounds.width+b))+"px";a.style.height=Math.round(Math.max(0,this.bounds.height+b))+"px"};
mxShape.prototype.destroyCanvas=function(a){if(a instanceof mxSvgCanvas2D){for(var b in a.gradients){var c=a.gradients[b];null!=c&&(c.mxRefCount=(c.mxRefCount||0)+1)}this.releaseSvgGradients(this.oldGradients);this.oldGradients=a.gradients}};
-mxShape.prototype.paint=function(a){var b=this.scale,c=this.bounds.x/b,d=this.bounds.y/b,e=this.bounds.width/b,f=this.bounds.height/b;if(this.isPaintBoundsInverted())var g=(e-f)/2,c=c+g,d=d-g,g=e,e=f,f=g;this.updateTransform(a,c,d,e,f);this.configureCanvas(a,c,d,e,f);g=null;if(null==this.stencil&&null==this.points&&this.shapePointerEvents||null!=this.stencil&&this.stencilPointerEvents){var h=this.createBoundingBox();this.dialect==mxConstants.DIALECT_SVG?(g=this.createTransparentSvgRectangle(h.x,h.y,
-h.width,h.height),this.node.appendChild(g)):(h=a.createRect("rect",h.x/b,h.y/b,h.width/b,h.height/b),h.appendChild(a.createTransparentFill()),h.stroked="false",a.root.appendChild(h))}if(null!=this.stencil)this.stencil.drawShape(a,this,c,d,e,f);else if(a.setStrokeWidth(this.strokewidth),null!=this.points){c=[];for(d=0;d<this.points.length;d++)null!=this.points[d]&&c.push(new mxPoint(this.points[d].x/b,this.points[d].y/b));this.paintEdgeShape(a,c)}else this.paintVertexShape(a,c,d,e,f);null!=g&&null!=
-a.state&&null!=a.state.transform&&g.setAttribute("transform",a.state.transform)};
+mxShape.prototype.paint=function(a){var b=!1;if(null!=a&&this.outline){var c=a.stroke;a.stroke=function(){b=!0;c.apply(this,arguments)};var d=a.fillAndStroke;a.fillAndStroke=function(){b=!0;d.apply(this,arguments)}}var e=this.scale,f=this.bounds.x/e,g=this.bounds.y/e,h=this.bounds.width/e,k=this.bounds.height/e;if(this.isPaintBoundsInverted())var l=(h-k)/2,f=f+l,g=g-l,l=h,h=k,k=l;this.updateTransform(a,f,g,h,k);this.configureCanvas(a,f,g,h,k);l=null;if(null==this.stencil&&null==this.points&&this.shapePointerEvents||
+null!=this.stencil&&this.stencilPointerEvents){var m=this.createBoundingBox();this.dialect==mxConstants.DIALECT_SVG?(l=this.createTransparentSvgRectangle(m.x,m.y,m.width,m.height),this.node.appendChild(l)):(m=a.createRect("rect",m.x/e,m.y/e,m.width/e,m.height/e),m.appendChild(a.createTransparentFill()),m.stroked="false",a.root.appendChild(m))}if(null!=this.stencil)this.stencil.drawShape(a,this,f,g,h,k);else if(a.setStrokeWidth(this.strokewidth),null!=this.points){for(var m=[],n=0;n<this.points.length;n++)null!=
+this.points[n]&&m.push(new mxPoint(this.points[n].x/e,this.points[n].y/e));this.paintEdgeShape(a,m)}else this.paintVertexShape(a,f,g,h,k);null!=l&&null!=a.state&&null!=a.state.transform&&l.setAttribute("transform",a.state.transform);null!=a&&this.outline&&!b&&(a.rect(f,g,h,k),a.stroke())};
mxShape.prototype.configureCanvas=function(a,b,c,d,e){var f=null;null!=this.style&&(f=this.style.dashPattern);a.setAlpha(this.opacity/100);a.setFillAlpha(this.fillOpacity/100);a.setStrokeAlpha(this.strokeOpacity/100);null!=this.isShadow&&a.setShadow(this.isShadow);null!=this.isDashed&&a.setDashed(this.isDashed,null!=this.style?1==mxUtils.getValue(this.style,mxConstants.STYLE_FIX_DASH,!1):!1);null!=f&&a.setDashPattern(f);null!=this.fill&&this.fill!=mxConstants.NONE&&this.gradient&&this.gradient!=mxConstants.NONE?
(b=this.getGradientBounds(a,b,c,d,e),a.setGradient(this.fill,this.gradient,b.x,b.y,b.width,b.height,this.gradientDirection)):a.setFillColor(this.fill);a.setStrokeColor(this.stroke)};mxShape.prototype.getGradientBounds=function(a,b,c,d,e){return new mxRectangle(b,c,d,e)};mxShape.prototype.updateTransform=function(a,b,c,d,e){a.scale(this.scale);a.rotate(this.getShapeRotation(),this.flipH,this.flipV,b+d/2,c+e/2)};
mxShape.prototype.paintVertexShape=function(a,b,c,d,e){this.paintBackground(a,b,c,d,e);a.setShadow(!1);this.paintForeground(a,b,c,d,e)};mxShape.prototype.paintBackground=function(a,b,c,d,e){};mxShape.prototype.paintForeground=function(a,b,c,d,e){};mxShape.prototype.paintEdgeShape=function(a,b){};
@@ -1663,7 +1663,7 @@ a.shape)if(null!=a.shape.stencil){if(null!=a.shape.stencil)return a.shape.stenci
Graph.prototype.isValidRoot=function(a){for(var b=this.model.getChildCount(a),c=0,d=0;d<b;d++){var e=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 f=b.getTerminal(e,!0),g=b.getTerminal(e,!1);b.setTerminal(e,g,!0);b.setTerminal(e,f,!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 m=this.view.getState(e),v=this.view.getState(f),n=this.view.getState(g);if(null!=m){var p=null!=v?this.getConnectionConstraint(m,v,!0):null,q=null!=n?this.getConnectionConstraint(m,n,!1):null;this.setConnectionConstraint(e,f,!0,q);this.setConnectionConstraint(e,g,!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 r=h.width;h.width=h.height;
+h.setTerminalPoint(k,!1);h.setTerminalPoint(l,!0);b.setGeometry(e,h);var m=this.view.getState(e),n=this.view.getState(f),v=this.view.getState(g);if(null!=m){var p=null!=n?this.getConnectionConstraint(m,n,!0):null,q=null!=v?this.getConnectionConstraint(m,v,!1):null;this.setConnectionConstraint(e,f,!0,q);this.setConnectionConstraint(e,g,!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 r=h.width;h.width=h.height;
h.height=r;b.setGeometry(e,h);var t=this.view.getState(e);if(null!=t){var u=t.style[mxConstants.STYLE_DIRECTION]||"east";"east"==u?u="south":"south"==u?u="west":"west"==u?u="north":"north"==u&&(u="east");this.setCellStyles(mxConstants.STYLE_DIRECTION,u,[e])}c.push(e)}}}finally{b.endUpdate()}return c};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++)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.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 f=this.convertValueToString(a[e]);if(null!=f&&0<f.length){d.innerHTML=f;for(var g=d.getElementsByTagName(null!=c?c:"*"),h=0;h<g.length;h++)b(g[h]);d.innerHTML!=f&&this.cellLabelChanged(a[e],d.innerHTML)}}};Graph.prototype.cellLabelChanged=function(a,b,c){b=this.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"),
@@ -1754,7 +1754,7 @@ function(a,b){B.apply(this,arguments);null!=this.rotationShape&&null!=this.rotat
1==this.graph.getSelectionCount()?"":"none");null!=this.specialHandle&&(this.specialHandle.node.style.display=this.graph.isEnabled()&&this.graph.getSelectionCount()<this.graph.graphHandler.maxCells?"":"none");this.redrawHandles()});this.selectionHandler=mxUtils.bind(this,function(a,c){b()});this.graph.getSelectionModel().addListener(mxEvent.CHANGE,this.selectionHandler);this.changeHandler=mxUtils.bind(this,function(a,c){this.updateLinkHint(this.graph.getLinkForCell(this.state.cell),this.graph.getLinksForState(this.state));
b()});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);this.updateLinkHint(c,d);if(null!=c||null!=d&&0<d.length)a=!0;a&&this.redrawHandles()};mxVertexHandler.prototype.updateLinkHint=function(b,c){if(null==b&&(null==c||0==c.length)||1<this.graph.getSelectionCount())null!=
this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);else if(null!=b||null!=c&&0<c.length){null==this.linkHint&&(this.linkHint=a(),this.linkHint.style.padding="6px 8px 6px 8px",this.linkHint.style.fontSize="90%",this.linkHint.style.opacity="1",this.linkHint.style.filter="",this.graph.container.appendChild(this.linkHint));this.linkHint.innerHTML="";if(null!=b&&(this.linkHint.appendChild(this.graph.createLinkForHint(b)),this.graph.isEnabled()&&"function"===typeof this.graph.editLink)){var d=
-document.createElement("img");d.setAttribute("src",IMAGE_PATH+"/edit.gif");d.setAttribute("title",mxResources.get("editLink"));d.setAttribute("width","11");d.setAttribute("height","11");d.style.marginLeft="10px";d.style.marginBottom="-1px";d.style.cursor="pointer";this.linkHint.appendChild(d);mxEvent.addListener(d,"click",mxUtils.bind(this,function(a){this.graph.setSelectionCell(this.state.cell);this.graph.editLink();mxEvent.consume(a)}));d=document.createElement("img");d.setAttribute("src",Dialog.prototype.clearImage);
+document.createElement("img");d.setAttribute("src",Editor.editImage);d.setAttribute("title",mxResources.get("editLink"));d.setAttribute("width","11");d.setAttribute("height","11");d.style.marginLeft="10px";d.style.marginBottom="-1px";d.style.cursor="pointer";this.linkHint.appendChild(d);mxEvent.addListener(d,"click",mxUtils.bind(this,function(a){this.graph.setSelectionCell(this.state.cell);this.graph.editLink();mxEvent.consume(a)}));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!=c)for(d=0;d<c.length;d++){var e=document.createElement("div");e.style.marginTop=null!=b||0<d?"6px":"0px";e.appendChild(this.graph.createLinkForHint(c[d].getAttribute("href"),
mxUtils.getTextContent(c[d])));this.linkHint.appendChild(e)}}};mxEdgeHandler.prototype.updateLinkHint=mxVertexHandler.prototype.updateLinkHint;var C=mxEdgeHandler.prototype.init;mxEdgeHandler.prototype.init=function(){C.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.selectionHandler=mxUtils.bind(this,function(b,c){a()});this.graph.getSelectionModel().addListener(mxEvent.CHANGE,this.selectionHandler);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.getModel().addListener(mxEvent.CHANGE,
@@ -1908,24 +1908,25 @@ mxEllipse.prototype.constraints;mxRhombus.prototype.constraints=mxEllipse.protot
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)];T.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1)];ca.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),
new mxConnectionConstraint(new mxPoint(1,.5),!1)];ma.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(.5,0),!1),new mxConnectionConstraint(new mxPoint(.5,1),!1)];L.prototype.constraints=null;P.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)];V.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)]})();
-(function(x,r){function N(){if(!t){t=!0;window.MathJax={skipStartupTypeset:!0,showMathMenu:!1,messageStyle:"none",AuthorInit:function(){MathJax.Hub.Config({"HTML-CSS":{availableFonts:[],webFont:"STIX-Web",imageFont:null}});MathJax.Hub.Register.StartupHook("Begin",function(){for(var a=0;a<p.length;a++)MathJax.Hub.Queue(["Typeset",MathJax.Hub,p[a]])})}};var a=document.createElement("script");a.type="text/javascript";a.src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-MML-AM_HTMLorMML";
-document.getElementsByTagName("head")[0].appendChild(a)}}function O(a){"undefined"!==typeof MathJax&&"undefined"!==typeof MathJax.Hub?MathJax.Hub.Queue(["Typeset",MathJax.Hub,a.container]):p.push(a.container);a.addListener(mxEvent.SIZE,function(e,m){"undefined"!==typeof MathJax&&"undefined"!==typeof MathJax.Hub&&MathJax.Hub.Queue(["Typeset",MathJax.Hub,a.container])})}mxStencilRegistry.dynamicLoading=!1;try{var e=document.createElement("style");e.type="text/css";e.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;}";
-document.getElementsByTagName("head")[0].appendChild(e)}catch(a){}var G=mxClient.NO_FO,t="undefined"!==typeof MathJax&&"undefined"!==typeof MathJax.Hub,p=[];mxGraph.prototype.getImageFromBundles=function(a){return 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="https://www.draw.io/"+a),a):null};if(null!=r)for(e=0;e<r.length;e++){var y=mxUtils.parseXml(r[e]);mxStencilRegistry.parseStencilSet(y.documentElement)}mxClient.IS_TOUCH&&
-(mxPanningHandler.prototype.isPanningTrigger=function(a){return!0});(function(){function a(a){try{for(var e=a.firstChild;null!=e&&e.nodeType!=mxConstants.NODETYPE_ELEMENT;)e=e.nextSibling;var l=mxUtils.trim(e.innerHTML);a.innerHTML="";var c=new Graph(a),l="&lt;"==l.substring(0,4)?l.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;gt;/g,"&gt;").replace(/&amp;lt;/g,"&lt;").replace(/&amp;quot;/g,"&quot;").replace(/&#xa;/g,"\n"):"%3C"==l.substring(0,3)?decodeURIComponent(l):c.decompress(l),h=mxUtils.parseXml(l),
-d=null,f=null;null!=h.documentElement&&"mxfile"==h.documentElement.nodeName&&(f=h.documentElement.getElementsByTagName("diagram"),d=h.documentElement,0<f.length&&(l=mxUtils.getTextContent(f[0]),l=c.decompress(l),h=mxUtils.parseXml(l)));if(null!=h.documentElement&&"mxGraphModel"==h.documentElement.nodeName){var e=function(){k.style.top=a.offsetTop+H.y+"px";k.style.left=a.offsetLeft+H.x+"px";k.style.visibility="visible"},m=function(a,c){var b=document.createElement("div");b.style.position="absolute";
-b.style.border="1px solid gray";b.style.textAlign="center";b.style.cursor="hand";b.style.width=u+"px";b.style.height=z+"px";b.style.left=I+"px";b.style.top="0px";b.style.backgroundColor="white";mxUtils.setOpacity(b,50);var g=document.createElement("table");g.style.borderWidth="0px";g.style.width="100%";g.style.height="100%";var e=document.createElement("tbody"),d=document.createElement("tr"),f=document.createElement("td");f.style.verticalAlign="middle";f.style.textAlign="center";f.style.fontSize=
-J+"px";f.style.padding="0px";mxUtils.write(f,a);d.appendChild(f);e.appendChild(d);g.appendChild(e);b.appendChild(g);mxEvent.addListener(b,mxClient.IS_POINTER?"pointerdown":"mousedown",function(b){mxEvent.consume(b)});mxEvent.addListener(b,mxClient.IS_POINTER?"pointerup":"mouseup",function(b){c();mxEvent.consume(b)});!mxClient.IS_POINTER&&mxClient.IS_TOUCH&&(mxEvent.addListener(b,"touchstart",function(b){mxEvent.consume(b)}),mxEvent.addListener(b,"touchend",function(b){c();mxEvent.consume(b)}));I+=
-u;k.appendChild(b);return b},r=function(a){a=a.getAttribute("backgroundImage");null!=a&&(a=JSON.parse(a),c.setBackgroundImage(new mxImage(a.src,a.width,a.height)),c.view.validateBackgroundImage());"0"!=A&&c.fit(v);"1"==B&&O(c);a=c.container.getElementsByTagName("a");if(null!=a)for(var b=0;b<a.length;b++){var g=a[b].getAttribute("href");null!=g&&"#"==g.charAt(0)&&"_blank"==a[b].getAttribute("target")&&a[b].removeAttribute("target")}},p=new mxCodec(h),C=h.documentElement;null==d&&(d=C);c.resetViewOnRootChange=
-!1;c.setEnabled(!1);if(null!=f&&0<f.length){var t=c.getGlobalVariable;c.getGlobalVariable=function(a){return"page"==a?f[0].getAttribute("name")||"Page-1":"pagenumber"==a?1:t.apply(this,arguments)}}c.foldingEnabled="1"==d.getAttribute("nav");c.cellRenderer.forceControlClickHandler=c.foldingEnabled;var K=d.getAttribute("tooltips");"0"!=K?c.setTooltips(!0):c.setTooltips(!1);if(mxClient.IS_VML){var D=c.view.getCanvas();null!=D&&"DIV"==D.nodeName&&(D.style.position="relative")}if(null!=x){var L=mxUtils.parseXml(x);
-(new mxCodec(L)).decode(L.documentElement,c.getStylesheet())}var B=d.getAttribute("math");"1"==B&&(mxClient.NO_FO=!0,N());"0"!=d.getAttribute("pan")?(c.panningHandler.useLeftButtonForPanning=!0,c.panningHandler.ignoreCell=!0,a.style.cursor="move",c.setPanning(!0)):a.style.cursor="default";var E=d.getAttribute("resize"),v=Number(d.getAttribute("border")||0);c.border=v;var A=d.getAttribute("fit");"100%"!=a.style.width&&"1"!=A&&"0"!=E||""==a.style.width&&""==a.style.height?(c.resizeContainer=!0,c.centerZoom=
-!1):"0"!=E&&"100%"==a.style.width&&""==a.style.height?(c.resizeContainer=!0,c.centerZoom=!1,c.doResizeContainer=function(a,b){if(mxClient.IS_IE)if(mxClient.IS_QUIRKS){var c=this.getBorderSizes();b+=Math.max(2,c.y+c.height+1)}else b=9<=document.documentMode?b+5:b+1;else b+=1;null!=this.maximumContainerSize&&(b=Math.min(this.maximumContainerSize.height,b));this.container.style.height=Math.ceil(b+18)+"px"}):c.centerZoom=!0;var y=d.getAttribute("links"),w=d.getAttribute("highlight");if("0"!=y||"0"!=K){var Q=
-a.style.cursor,M=c.getTolerance();c.addMouseListener({currentState:null,currentLink:null,highlight:null!=w&&""!=w&&w!=mxConstants.NONE?new mxCellHighlight(c,w,2):null,startX:0,startY:0,mouseDown:function(a,b){this.startX=b.getGraphX();this.startY=b.getGraphY()},mouseMove:function(a,b){if(c.isMouseDown){if(null!=this.currentLink){var g=Math.abs(this.startX-b.getGraphX()),e=Math.abs(this.startY-b.getGraphY());(g>M||e>M)&&this.clear()}}else if(null==this.currentState||b.getState()!=this.currentState&&
-null!=b.getState()||!c.intersects(this.currentState,b.getGraphX(),b.getGraphY()))g=c.view.getState(b.getCell()),g!=this.currentState&&(null!=this.currentState&&this.clear(),this.currentState=g,null!=this.currentState&&this.activate(this.currentState))},mouseUp:function(a,b){var c=this.currentLink;this.clear();null!=c&&("#"==c.charAt(0)?window.location.hash=c:window.open(c))},activate:function(g){this.currentLink=c.getLinkForCell(g.cell);null!=this.currentLink&&(a.style.cursor="pointer",null!=this.highlight&&
-this.highlight.highlight(g))},clear:function(){a.style.cursor=Q;this.currentLink=this.currentState=null;null!=this.highlight&&this.highlight.hide()}})}var R=Number(d.getAttribute("x0")||0),S=Number(d.getAttribute("y0")||0);c.view.translate.x=-R+v;c.view.translate.y=-S+v;var n=d.getAttribute("url");if(null!=n)try{var q=0<navigator.userAgent.indexOf("MSIE 9")?new XDomainRequest:new XMLHttpRequest;q.open("GET",n);q.onload=mxUtils.bind(this,function(){try{"1"==B&&(mxClient.NO_FO=!0);var a=null!=q.getText?
-q.getText():q.responseText;if(null!=a){var b=mxUtils.parseXml(a);if(null!=b&&"html"==b.documentElement.nodeName){var e=b.documentElement.getElementsByTagName("div");if(0<e.length&&"mxgraph"==e[0].getAttribute("class")){var f=e[0].getElementsByTagName("div");0<f.length&&(a=mxUtils.getTextContent(f[0]),a=c.decompress(a),0<a.length&&(b=mxUtils.parseXml(a)))}}if(null!=b&&"svg"==b.documentElement.nodeName){var d=b.documentElement.getAttribute("content");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&&(b=mxUtils.parseXml(d))}if("mxfile"==b.documentElement.nodeName){var h=b.documentElement.getElementsByTagName("diagram");0<h.length&&(a=c.decompress(mxUtils.getTextContent(h[0])),b=mxUtils.parseXml(a))}p=new mxCodec(b);p.decode(b.documentElement,c.getModel());r(b.documentElement)}else c.container.innerHTML="Cannot load "+n;mxClient.NO_FO=G}catch(P){c.container.innerHTML="Cannot load "+
-n+": "+P.message}});q.onerror=function(){c.container.innerHTML="Cannot load "+n};q.send()}catch(g){c.container.innerHTML="Cannot load "+n+": "+g.message}else p.decode(C,c.getModel()),r(C);"100%"!=a.style.width&&"0"!=A&&"1"==E&&(c.resizeContainer=!0,c.centerZoom=!1);var k=document.createElement("div");k.style.position="absolute";k.style.overflow="visible";k.style.cursor="pointer";var H=c.getBorderSizes(),I=0,J=10,u=16,z=16;mxClient.IS_QUIRKS?(--u,--z):mxClient.IS_TOUCH&&(z=u=24,J=14);"0"!=d.getAttribute("zoom")&&
-(m("+",function(){c.zoomIn()}),m("-",function(){c.zoomOut()}));var F=d.getAttribute("edit");null!=F&&(m("",function(){if("_blank"==F)if(null!=n)window.open("https://www.draw.io/#U"+encodeURIComponent(n));else{var a=null,b=function(c){"ready"==c.data&&c.source==a&&(a.postMessage(l,"*"),window.removeEventListener("message",b))};window.addEventListener("message",b);a=window.open("https://www.draw.io/?client=1")}else window.open(F)}).innerHTML="...");mxClient.IS_POINTER||mxClient.IS_TOUCH?e():(h=function(){k.style.visibility=
-"hidden"},mxEvent.addListener(a,"mouseover",e),mxEvent.addListener(k,"mouseover",e),mxEvent.addListener(a,"mouseout",h),mxEvent.addListener(k,"mouseout",h),h());null!=k.firstChild&&(null!=a.nextSibling?a.parentNode.insertBefore(k,a.nextSibling):a.parentNode.appendChild(k));"function"==typeof window.mxClientOnCreate&&window.mxClientOnCreate(c)}}catch(g){null!=window.console&&console.log("Error:",g)}mxClient.NO_FO=G;return c}if("function"==typeof mxClientOnLoad)mxClientOnLoad(x,a);else if(mxClient.isBrowserSupported()){for(var e=
-document.getElementsByTagName("*"),m=[],f=0;f<e.length;f++)m.push(e[f]);for(f=0;f<m.length;f++)0<=m[f].className.toString().indexOf("mxgraph")&&a(m[f])}})()
+(function(x,r){function N(){if(!t){t=!0;window.MathJax={skipStartupTypeset:!0,showMathMenu:!1,messageStyle:"none",AuthorInit:function(){MathJax.Hub.Config({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"]}});MathJax.Hub.Register.StartupHook("Begin",function(){for(var a=0;a<p.length;a++)MathJax.Hub.Queue(["Typeset",MathJax.Hub,
+p[a]])})}};var a=document.createElement("script");a.type="text/javascript";a.src="https://math.draw.io/current/MathJax.js?config=TeX-MML-AM_HTMLorMML";document.getElementsByTagName("head")[0].appendChild(a)}}function O(a){"undefined"!==typeof MathJax&&"undefined"!==typeof MathJax.Hub?MathJax.Hub.Queue(["Typeset",MathJax.Hub,a.container]):p.push(a.container);a.addListener(mxEvent.SIZE,function(e,m){"undefined"!==typeof MathJax&&"undefined"!==typeof MathJax.Hub&&MathJax.Hub.Queue(["Typeset",MathJax.Hub,
+a.container])})}mxStencilRegistry.dynamicLoading=!1;try{var e=document.createElement("style");e.type="text/css";e.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;}";document.getElementsByTagName("head")[0].appendChild(e)}catch(a){}var G=
+mxClient.NO_FO,t="undefined"!==typeof MathJax&&"undefined"!==typeof MathJax.Hub,p=[];mxGraph.prototype.getImageFromBundles=function(a){return 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="https://www.draw.io/"+a),a):null};if(null!=r)for(e=0;e<r.length;e++){var y=mxUtils.parseXml(r[e]);mxStencilRegistry.parseStencilSet(y.documentElement)}mxClient.IS_TOUCH&&(mxPanningHandler.prototype.isPanningTrigger=
+function(a){return!0});(function(){function a(a){try{for(var e=a.firstChild;null!=e&&e.nodeType!=mxConstants.NODETYPE_ELEMENT;)e=e.nextSibling;var l=mxUtils.trim(e.innerHTML);a.innerHTML="";var c=new Graph(a),l="&lt;"==l.substring(0,4)?l.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;gt;/g,"&gt;").replace(/&amp;lt;/g,"&lt;").replace(/&amp;quot;/g,"&quot;").replace(/&#xa;/g,"\n"):"%3C"==l.substring(0,3)?decodeURIComponent(l):c.decompress(l),h=mxUtils.parseXml(l),d=null,f=null;null!=h.documentElement&&
+"mxfile"==h.documentElement.nodeName&&(f=h.documentElement.getElementsByTagName("diagram"),d=h.documentElement,0<f.length&&(l=mxUtils.getTextContent(f[0]),l=c.decompress(l),h=mxUtils.parseXml(l)));if(null!=h.documentElement&&"mxGraphModel"==h.documentElement.nodeName){var e=function(){k.style.top=a.offsetTop+H.y+"px";k.style.left=a.offsetLeft+H.x+"px";k.style.visibility="visible"},m=function(a,c){var b=document.createElement("div");b.style.position="absolute";b.style.border="1px solid gray";b.style.textAlign=
+"center";b.style.cursor="hand";b.style.width=u+"px";b.style.height=z+"px";b.style.left=I+"px";b.style.top="0px";b.style.backgroundColor="white";mxUtils.setOpacity(b,50);var g=document.createElement("table");g.style.borderWidth="0px";g.style.width="100%";g.style.height="100%";var e=document.createElement("tbody"),d=document.createElement("tr"),f=document.createElement("td");f.style.verticalAlign="middle";f.style.textAlign="center";f.style.fontSize=J+"px";f.style.padding="0px";mxUtils.write(f,a);d.appendChild(f);
+e.appendChild(d);g.appendChild(e);b.appendChild(g);mxEvent.addListener(b,mxClient.IS_POINTER?"pointerdown":"mousedown",function(b){mxEvent.consume(b)});mxEvent.addListener(b,mxClient.IS_POINTER?"pointerup":"mouseup",function(b){c();mxEvent.consume(b)});!mxClient.IS_POINTER&&mxClient.IS_TOUCH&&(mxEvent.addListener(b,"touchstart",function(b){mxEvent.consume(b)}),mxEvent.addListener(b,"touchend",function(b){c();mxEvent.consume(b)}));I+=u;k.appendChild(b);return b},r=function(a){a=a.getAttribute("backgroundImage");
+null!=a&&(a=JSON.parse(a),c.setBackgroundImage(new mxImage(a.src,a.width,a.height)),c.view.validateBackgroundImage());"0"!=A&&c.fit(v);"1"==B&&O(c);a=c.container.getElementsByTagName("a");if(null!=a)for(var b=0;b<a.length;b++){var g=a[b].getAttribute("href");null!=g&&"#"==g.charAt(0)&&"_blank"==a[b].getAttribute("target")&&a[b].removeAttribute("target")}},p=new mxCodec(h),C=h.documentElement;null==d&&(d=C);c.resetViewOnRootChange=!1;c.setEnabled(!1);if(null!=f&&0<f.length){var t=c.getGlobalVariable;
+c.getGlobalVariable=function(a){return"page"==a?f[0].getAttribute("name")||"Page-1":"pagenumber"==a?1:t.apply(this,arguments)}}c.foldingEnabled="1"==d.getAttribute("nav");c.cellRenderer.forceControlClickHandler=c.foldingEnabled;var K=d.getAttribute("tooltips");"0"!=K?c.setTooltips(!0):c.setTooltips(!1);if(mxClient.IS_VML){var D=c.view.getCanvas();null!=D&&"DIV"==D.nodeName&&(D.style.position="relative")}if(null!=x){var L=mxUtils.parseXml(x);(new mxCodec(L)).decode(L.documentElement,c.getStylesheet())}var B=
+d.getAttribute("math");"1"==B&&(mxClient.NO_FO=!0,N());"0"!=d.getAttribute("pan")?(c.panningHandler.useLeftButtonForPanning=!0,c.panningHandler.ignoreCell=!0,a.style.cursor="move",c.setPanning(!0)):a.style.cursor="default";var E=d.getAttribute("resize"),v=Number(d.getAttribute("border")||0);c.border=v;var A=d.getAttribute("fit");"100%"!=a.style.width&&"1"!=A&&"0"!=E||""==a.style.width&&""==a.style.height?(c.resizeContainer=!0,c.centerZoom=!1):"0"!=E&&"100%"==a.style.width&&""==a.style.height?(c.resizeContainer=
+!0,c.centerZoom=!1,c.doResizeContainer=function(a,b){if(mxClient.IS_IE)if(mxClient.IS_QUIRKS){var c=this.getBorderSizes();b+=Math.max(2,c.y+c.height+1)}else b=9<=document.documentMode?b+5:b+1;else b+=1;null!=this.maximumContainerSize&&(b=Math.min(this.maximumContainerSize.height,b));this.container.style.height=Math.ceil(b+18)+"px"}):c.centerZoom=!0;var y=d.getAttribute("links"),w=d.getAttribute("highlight");if("0"!=y||"0"!=K){var Q=a.style.cursor,M=c.getTolerance();c.addMouseListener({currentState:null,
+currentLink:null,highlight:null!=w&&""!=w&&w!=mxConstants.NONE?new mxCellHighlight(c,w,2):null,startX:0,startY:0,mouseDown:function(a,b){this.startX=b.getGraphX();this.startY=b.getGraphY()},mouseMove:function(a,b){if(c.isMouseDown){if(null!=this.currentLink){var g=Math.abs(this.startX-b.getGraphX()),e=Math.abs(this.startY-b.getGraphY());(g>M||e>M)&&this.clear()}}else if(null==this.currentState||b.getState()!=this.currentState&&null!=b.getState()||!c.intersects(this.currentState,b.getGraphX(),b.getGraphY()))g=
+c.view.getState(b.getCell()),g!=this.currentState&&(null!=this.currentState&&this.clear(),this.currentState=g,null!=this.currentState&&this.activate(this.currentState))},mouseUp:function(a,b){var c=this.currentLink;this.clear();null!=c&&("#"==c.charAt(0)?window.location.hash=c:window.open(c))},activate:function(g){this.currentLink=c.getLinkForCell(g.cell);null!=this.currentLink&&(a.style.cursor="pointer",null!=this.highlight&&this.highlight.highlight(g))},clear:function(){a.style.cursor=Q;this.currentLink=
+this.currentState=null;null!=this.highlight&&this.highlight.hide()}})}var R=Number(d.getAttribute("x0")||0),S=Number(d.getAttribute("y0")||0);c.view.translate.x=-R+v;c.view.translate.y=-S+v;var n=d.getAttribute("url");if(null!=n)try{var q=0<navigator.userAgent.indexOf("MSIE 9")?new XDomainRequest:new XMLHttpRequest;q.open("GET",n);q.onload=mxUtils.bind(this,function(){try{"1"==B&&(mxClient.NO_FO=!0);var a=null!=q.getText?q.getText():q.responseText;if(null!=a){var b=mxUtils.parseXml(a);if(null!=b&&
+"html"==b.documentElement.nodeName){var e=b.documentElement.getElementsByTagName("div");if(0<e.length&&"mxgraph"==e[0].getAttribute("class")){var f=e[0].getElementsByTagName("div");0<f.length&&(a=mxUtils.getTextContent(f[0]),a=c.decompress(a),0<a.length&&(b=mxUtils.parseXml(a)))}}if(null!=b&&"svg"==b.documentElement.nodeName){var d=b.documentElement.getAttribute("content");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&&(b=mxUtils.parseXml(d))}if("mxfile"==b.documentElement.nodeName){var h=b.documentElement.getElementsByTagName("diagram");0<h.length&&(a=c.decompress(mxUtils.getTextContent(h[0])),b=mxUtils.parseXml(a))}p=new mxCodec(b);p.decode(b.documentElement,c.getModel());r(b.documentElement)}else c.container.innerHTML="Cannot load "+n;mxClient.NO_FO=G}catch(P){c.container.innerHTML="Cannot load "+n+": "+P.message}});q.onerror=function(){c.container.innerHTML="Cannot load "+
+n};q.send()}catch(g){c.container.innerHTML="Cannot load "+n+": "+g.message}else p.decode(C,c.getModel()),r(C);"100%"!=a.style.width&&"0"!=A&&"1"==E&&(c.resizeContainer=!0,c.centerZoom=!1);var k=document.createElement("div");k.style.position="absolute";k.style.overflow="visible";k.style.cursor="pointer";var H=c.getBorderSizes(),I=0,J=10,u=16,z=16;mxClient.IS_QUIRKS?(--u,--z):mxClient.IS_TOUCH&&(z=u=24,J=14);"0"!=d.getAttribute("zoom")&&(m("+",function(){c.zoomIn()}),m("-",function(){c.zoomOut()}));
+var F=d.getAttribute("edit");null!=F&&(m("",function(){if("_blank"==F)if(null!=n)window.open("https://www.draw.io/#U"+encodeURIComponent(n));else{var a=null,b=function(c){"ready"==c.data&&c.source==a&&(a.postMessage(l,"*"),window.removeEventListener("message",b))};window.addEventListener("message",b);a=window.open("https://www.draw.io/?client=1")}else window.open(F)}).innerHTML="...");mxClient.IS_POINTER||mxClient.IS_TOUCH?e():(h=function(){k.style.visibility="hidden"},mxEvent.addListener(a,"mouseover",
+e),mxEvent.addListener(k,"mouseover",e),mxEvent.addListener(a,"mouseout",h),mxEvent.addListener(k,"mouseout",h),h());null!=k.firstChild&&(null!=a.nextSibling?a.parentNode.insertBefore(k,a.nextSibling):a.parentNode.appendChild(k));"function"==typeof window.mxClientOnCreate&&window.mxClientOnCreate(c)}}catch(g){null!=window.console&&console.log("Error:",g)}mxClient.NO_FO=G;return c}if("function"==typeof mxClientOnLoad)mxClientOnLoad(x,a);else if(mxClient.isBrowserSupported()){for(var e=document.getElementsByTagName("*"),
+m=[],f=0;f<e.length;f++)m.push(e[f]);for(f=0;f<m.length;f++)0<=m[f].className.toString().indexOf("mxgraph")&&a(m[f])}})()
})('<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>'); \ No newline at end of file
diff --git a/src/main/webapp/js/embed.dev.js b/src/main/webapp/js/embed.dev.js
index c6bf6fa0..c5507faa 100644
--- a/src/main/webapp/js/embed.dev.js
+++ b/src/main/webapp/js/embed.dev.js
@@ -50,7 +50,16 @@
messageStyle: 'none',
AuthorInit: function ()
{
- MathJax.Hub.Config({"HTML-CSS":{availableFonts:[],webFont:"STIX-Web",imageFont:null}});
+ MathJax.Hub.Config({
+ 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']
+ }
+ });
MathJax.Hub.Register.StartupHook('Begin', function()
{
@@ -64,7 +73,7 @@
var script = document.createElement('script');
script.type = 'text/javascript';
- script.src = 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-MML-AM_HTMLorMML';
+ script.src = 'https://math.draw.io/current/MathJax.js?config=TeX-MML-AM_HTMLorMML';
document.getElementsByTagName('head')[0].appendChild(script);
}
};
diff --git a/src/main/webapp/js/embed.min.js b/src/main/webapp/js/embed.min.js
index 5386bdeb..efc9aaba 100644
--- a/src/main/webapp/js/embed.min.js
+++ b/src/main/webapp/js/embed.min.js
@@ -1,20 +1,21 @@
-(function(x,r){function N(){if(!t){t=!0;window.MathJax={skipStartupTypeset:!0,showMathMenu:!1,messageStyle:"none",AuthorInit:function(){MathJax.Hub.Config({"HTML-CSS":{availableFonts:[],webFont:"STIX-Web",imageFont:null}});MathJax.Hub.Register.StartupHook("Begin",function(){for(var a=0;a<p.length;a++)MathJax.Hub.Queue(["Typeset",MathJax.Hub,p[a]])})}};var a=document.createElement("script");a.type="text/javascript";a.src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-MML-AM_HTMLorMML";
-document.getElementsByTagName("head")[0].appendChild(a)}}function O(a){"undefined"!==typeof MathJax&&"undefined"!==typeof MathJax.Hub?MathJax.Hub.Queue(["Typeset",MathJax.Hub,a.container]):p.push(a.container);a.addListener(mxEvent.SIZE,function(e,m){"undefined"!==typeof MathJax&&"undefined"!==typeof MathJax.Hub&&MathJax.Hub.Queue(["Typeset",MathJax.Hub,a.container])})}mxStencilRegistry.dynamicLoading=!1;try{var e=document.createElement("style");e.type="text/css";e.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;}";
-document.getElementsByTagName("head")[0].appendChild(e)}catch(a){}var G=mxClient.NO_FO,t="undefined"!==typeof MathJax&&"undefined"!==typeof MathJax.Hub,p=[];mxGraph.prototype.getImageFromBundles=function(a){return 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="https://www.draw.io/"+a),a):null};if(null!=r)for(e=0;e<r.length;e++){var y=mxUtils.parseXml(r[e]);mxStencilRegistry.parseStencilSet(y.documentElement)}mxClient.IS_TOUCH&&
-(mxPanningHandler.prototype.isPanningTrigger=function(a){return!0});(function(){function a(a){try{for(var e=a.firstChild;null!=e&&e.nodeType!=mxConstants.NODETYPE_ELEMENT;)e=e.nextSibling;var l=mxUtils.trim(e.innerHTML);a.innerHTML="";var c=new Graph(a),l="&lt;"==l.substring(0,4)?l.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;gt;/g,"&gt;").replace(/&amp;lt;/g,"&lt;").replace(/&amp;quot;/g,"&quot;").replace(/&#xa;/g,"\n"):"%3C"==l.substring(0,3)?decodeURIComponent(l):c.decompress(l),h=mxUtils.parseXml(l),
-d=null,f=null;null!=h.documentElement&&"mxfile"==h.documentElement.nodeName&&(f=h.documentElement.getElementsByTagName("diagram"),d=h.documentElement,0<f.length&&(l=mxUtils.getTextContent(f[0]),l=c.decompress(l),h=mxUtils.parseXml(l)));if(null!=h.documentElement&&"mxGraphModel"==h.documentElement.nodeName){var e=function(){k.style.top=a.offsetTop+H.y+"px";k.style.left=a.offsetLeft+H.x+"px";k.style.visibility="visible"},m=function(a,c){var b=document.createElement("div");b.style.position="absolute";
-b.style.border="1px solid gray";b.style.textAlign="center";b.style.cursor="hand";b.style.width=u+"px";b.style.height=z+"px";b.style.left=I+"px";b.style.top="0px";b.style.backgroundColor="white";mxUtils.setOpacity(b,50);var g=document.createElement("table");g.style.borderWidth="0px";g.style.width="100%";g.style.height="100%";var e=document.createElement("tbody"),d=document.createElement("tr"),f=document.createElement("td");f.style.verticalAlign="middle";f.style.textAlign="center";f.style.fontSize=
-J+"px";f.style.padding="0px";mxUtils.write(f,a);d.appendChild(f);e.appendChild(d);g.appendChild(e);b.appendChild(g);mxEvent.addListener(b,mxClient.IS_POINTER?"pointerdown":"mousedown",function(b){mxEvent.consume(b)});mxEvent.addListener(b,mxClient.IS_POINTER?"pointerup":"mouseup",function(b){c();mxEvent.consume(b)});!mxClient.IS_POINTER&&mxClient.IS_TOUCH&&(mxEvent.addListener(b,"touchstart",function(b){mxEvent.consume(b)}),mxEvent.addListener(b,"touchend",function(b){c();mxEvent.consume(b)}));I+=
-u;k.appendChild(b);return b},r=function(a){a=a.getAttribute("backgroundImage");null!=a&&(a=JSON.parse(a),c.setBackgroundImage(new mxImage(a.src,a.width,a.height)),c.view.validateBackgroundImage());"0"!=A&&c.fit(v);"1"==B&&O(c);a=c.container.getElementsByTagName("a");if(null!=a)for(var b=0;b<a.length;b++){var g=a[b].getAttribute("href");null!=g&&"#"==g.charAt(0)&&"_blank"==a[b].getAttribute("target")&&a[b].removeAttribute("target")}},p=new mxCodec(h),C=h.documentElement;null==d&&(d=C);c.resetViewOnRootChange=
-!1;c.setEnabled(!1);if(null!=f&&0<f.length){var t=c.getGlobalVariable;c.getGlobalVariable=function(a){return"page"==a?f[0].getAttribute("name")||"Page-1":"pagenumber"==a?1:t.apply(this,arguments)}}c.foldingEnabled="1"==d.getAttribute("nav");c.cellRenderer.forceControlClickHandler=c.foldingEnabled;var K=d.getAttribute("tooltips");"0"!=K?c.setTooltips(!0):c.setTooltips(!1);if(mxClient.IS_VML){var D=c.view.getCanvas();null!=D&&"DIV"==D.nodeName&&(D.style.position="relative")}if(null!=x){var L=mxUtils.parseXml(x);
-(new mxCodec(L)).decode(L.documentElement,c.getStylesheet())}var B=d.getAttribute("math");"1"==B&&(mxClient.NO_FO=!0,N());"0"!=d.getAttribute("pan")?(c.panningHandler.useLeftButtonForPanning=!0,c.panningHandler.ignoreCell=!0,a.style.cursor="move",c.setPanning(!0)):a.style.cursor="default";var E=d.getAttribute("resize"),v=Number(d.getAttribute("border")||0);c.border=v;var A=d.getAttribute("fit");"100%"!=a.style.width&&"1"!=A&&"0"!=E||""==a.style.width&&""==a.style.height?(c.resizeContainer=!0,c.centerZoom=
-!1):"0"!=E&&"100%"==a.style.width&&""==a.style.height?(c.resizeContainer=!0,c.centerZoom=!1,c.doResizeContainer=function(a,b){if(mxClient.IS_IE)if(mxClient.IS_QUIRKS){var c=this.getBorderSizes();b+=Math.max(2,c.y+c.height+1)}else b=9<=document.documentMode?b+5:b+1;else b+=1;null!=this.maximumContainerSize&&(b=Math.min(this.maximumContainerSize.height,b));this.container.style.height=Math.ceil(b+18)+"px"}):c.centerZoom=!0;var y=d.getAttribute("links"),w=d.getAttribute("highlight");if("0"!=y||"0"!=K){var Q=
-a.style.cursor,M=c.getTolerance();c.addMouseListener({currentState:null,currentLink:null,highlight:null!=w&&""!=w&&w!=mxConstants.NONE?new mxCellHighlight(c,w,2):null,startX:0,startY:0,mouseDown:function(a,b){this.startX=b.getGraphX();this.startY=b.getGraphY()},mouseMove:function(a,b){if(c.isMouseDown){if(null!=this.currentLink){var g=Math.abs(this.startX-b.getGraphX()),e=Math.abs(this.startY-b.getGraphY());(g>M||e>M)&&this.clear()}}else if(null==this.currentState||b.getState()!=this.currentState&&
-null!=b.getState()||!c.intersects(this.currentState,b.getGraphX(),b.getGraphY()))g=c.view.getState(b.getCell()),g!=this.currentState&&(null!=this.currentState&&this.clear(),this.currentState=g,null!=this.currentState&&this.activate(this.currentState))},mouseUp:function(a,b){var c=this.currentLink;this.clear();null!=c&&("#"==c.charAt(0)?window.location.hash=c:window.open(c))},activate:function(g){this.currentLink=c.getLinkForCell(g.cell);null!=this.currentLink&&(a.style.cursor="pointer",null!=this.highlight&&
-this.highlight.highlight(g))},clear:function(){a.style.cursor=Q;this.currentLink=this.currentState=null;null!=this.highlight&&this.highlight.hide()}})}var R=Number(d.getAttribute("x0")||0),S=Number(d.getAttribute("y0")||0);c.view.translate.x=-R+v;c.view.translate.y=-S+v;var n=d.getAttribute("url");if(null!=n)try{var q=0<navigator.userAgent.indexOf("MSIE 9")?new XDomainRequest:new XMLHttpRequest;q.open("GET",n);q.onload=mxUtils.bind(this,function(){try{"1"==B&&(mxClient.NO_FO=!0);var a=null!=q.getText?
-q.getText():q.responseText;if(null!=a){var b=mxUtils.parseXml(a);if(null!=b&&"html"==b.documentElement.nodeName){var e=b.documentElement.getElementsByTagName("div");if(0<e.length&&"mxgraph"==e[0].getAttribute("class")){var f=e[0].getElementsByTagName("div");0<f.length&&(a=mxUtils.getTextContent(f[0]),a=c.decompress(a),0<a.length&&(b=mxUtils.parseXml(a)))}}if(null!=b&&"svg"==b.documentElement.nodeName){var d=b.documentElement.getAttribute("content");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&&(b=mxUtils.parseXml(d))}if("mxfile"==b.documentElement.nodeName){var h=b.documentElement.getElementsByTagName("diagram");0<h.length&&(a=c.decompress(mxUtils.getTextContent(h[0])),b=mxUtils.parseXml(a))}p=new mxCodec(b);p.decode(b.documentElement,c.getModel());r(b.documentElement)}else c.container.innerHTML="Cannot load "+n;mxClient.NO_FO=G}catch(P){c.container.innerHTML="Cannot load "+
-n+": "+P.message}});q.onerror=function(){c.container.innerHTML="Cannot load "+n};q.send()}catch(g){c.container.innerHTML="Cannot load "+n+": "+g.message}else p.decode(C,c.getModel()),r(C);"100%"!=a.style.width&&"0"!=A&&"1"==E&&(c.resizeContainer=!0,c.centerZoom=!1);var k=document.createElement("div");k.style.position="absolute";k.style.overflow="visible";k.style.cursor="pointer";var H=c.getBorderSizes(),I=0,J=10,u=16,z=16;mxClient.IS_QUIRKS?(--u,--z):mxClient.IS_TOUCH&&(z=u=24,J=14);"0"!=d.getAttribute("zoom")&&
-(m("+",function(){c.zoomIn()}),m("-",function(){c.zoomOut()}));var F=d.getAttribute("edit");null!=F&&(m("",function(){if("_blank"==F)if(null!=n)window.open("https://www.draw.io/#U"+encodeURIComponent(n));else{var a=null,b=function(c){"ready"==c.data&&c.source==a&&(a.postMessage(l,"*"),window.removeEventListener("message",b))};window.addEventListener("message",b);a=window.open("https://www.draw.io/?client=1")}else window.open(F)}).innerHTML="...");mxClient.IS_POINTER||mxClient.IS_TOUCH?e():(h=function(){k.style.visibility=
-"hidden"},mxEvent.addListener(a,"mouseover",e),mxEvent.addListener(k,"mouseover",e),mxEvent.addListener(a,"mouseout",h),mxEvent.addListener(k,"mouseout",h),h());null!=k.firstChild&&(null!=a.nextSibling?a.parentNode.insertBefore(k,a.nextSibling):a.parentNode.appendChild(k));"function"==typeof window.mxClientOnCreate&&window.mxClientOnCreate(c)}}catch(g){null!=window.console&&console.log("Error:",g)}mxClient.NO_FO=G;return c}if("function"==typeof mxClientOnLoad)mxClientOnLoad(x,a);else if(mxClient.isBrowserSupported()){for(var e=
-document.getElementsByTagName("*"),m=[],f=0;f<e.length;f++)m.push(e[f]);for(f=0;f<m.length;f++)0<=m[f].className.toString().indexOf("mxgraph")&&a(m[f])}})() \ No newline at end of file
+(function(x,r){function N(){if(!t){t=!0;window.MathJax={skipStartupTypeset:!0,showMathMenu:!1,messageStyle:"none",AuthorInit:function(){MathJax.Hub.Config({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"]}});MathJax.Hub.Register.StartupHook("Begin",function(){for(var a=0;a<p.length;a++)MathJax.Hub.Queue(["Typeset",MathJax.Hub,
+p[a]])})}};var a=document.createElement("script");a.type="text/javascript";a.src="https://math.draw.io/current/MathJax.js?config=TeX-MML-AM_HTMLorMML";document.getElementsByTagName("head")[0].appendChild(a)}}function O(a){"undefined"!==typeof MathJax&&"undefined"!==typeof MathJax.Hub?MathJax.Hub.Queue(["Typeset",MathJax.Hub,a.container]):p.push(a.container);a.addListener(mxEvent.SIZE,function(e,m){"undefined"!==typeof MathJax&&"undefined"!==typeof MathJax.Hub&&MathJax.Hub.Queue(["Typeset",MathJax.Hub,
+a.container])})}mxStencilRegistry.dynamicLoading=!1;try{var e=document.createElement("style");e.type="text/css";e.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;}";document.getElementsByTagName("head")[0].appendChild(e)}catch(a){}var G=
+mxClient.NO_FO,t="undefined"!==typeof MathJax&&"undefined"!==typeof MathJax.Hub,p=[];mxGraph.prototype.getImageFromBundles=function(a){return 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="https://www.draw.io/"+a),a):null};if(null!=r)for(e=0;e<r.length;e++){var y=mxUtils.parseXml(r[e]);mxStencilRegistry.parseStencilSet(y.documentElement)}mxClient.IS_TOUCH&&(mxPanningHandler.prototype.isPanningTrigger=
+function(a){return!0});(function(){function a(a){try{for(var e=a.firstChild;null!=e&&e.nodeType!=mxConstants.NODETYPE_ELEMENT;)e=e.nextSibling;var l=mxUtils.trim(e.innerHTML);a.innerHTML="";var c=new Graph(a),l="&lt;"==l.substring(0,4)?l.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;gt;/g,"&gt;").replace(/&amp;lt;/g,"&lt;").replace(/&amp;quot;/g,"&quot;").replace(/&#xa;/g,"\n"):"%3C"==l.substring(0,3)?decodeURIComponent(l):c.decompress(l),h=mxUtils.parseXml(l),d=null,f=null;null!=h.documentElement&&
+"mxfile"==h.documentElement.nodeName&&(f=h.documentElement.getElementsByTagName("diagram"),d=h.documentElement,0<f.length&&(l=mxUtils.getTextContent(f[0]),l=c.decompress(l),h=mxUtils.parseXml(l)));if(null!=h.documentElement&&"mxGraphModel"==h.documentElement.nodeName){var e=function(){k.style.top=a.offsetTop+H.y+"px";k.style.left=a.offsetLeft+H.x+"px";k.style.visibility="visible"},m=function(a,c){var b=document.createElement("div");b.style.position="absolute";b.style.border="1px solid gray";b.style.textAlign=
+"center";b.style.cursor="hand";b.style.width=u+"px";b.style.height=z+"px";b.style.left=I+"px";b.style.top="0px";b.style.backgroundColor="white";mxUtils.setOpacity(b,50);var g=document.createElement("table");g.style.borderWidth="0px";g.style.width="100%";g.style.height="100%";var e=document.createElement("tbody"),d=document.createElement("tr"),f=document.createElement("td");f.style.verticalAlign="middle";f.style.textAlign="center";f.style.fontSize=J+"px";f.style.padding="0px";mxUtils.write(f,a);d.appendChild(f);
+e.appendChild(d);g.appendChild(e);b.appendChild(g);mxEvent.addListener(b,mxClient.IS_POINTER?"pointerdown":"mousedown",function(b){mxEvent.consume(b)});mxEvent.addListener(b,mxClient.IS_POINTER?"pointerup":"mouseup",function(b){c();mxEvent.consume(b)});!mxClient.IS_POINTER&&mxClient.IS_TOUCH&&(mxEvent.addListener(b,"touchstart",function(b){mxEvent.consume(b)}),mxEvent.addListener(b,"touchend",function(b){c();mxEvent.consume(b)}));I+=u;k.appendChild(b);return b},r=function(a){a=a.getAttribute("backgroundImage");
+null!=a&&(a=JSON.parse(a),c.setBackgroundImage(new mxImage(a.src,a.width,a.height)),c.view.validateBackgroundImage());"0"!=A&&c.fit(v);"1"==B&&O(c);a=c.container.getElementsByTagName("a");if(null!=a)for(var b=0;b<a.length;b++){var g=a[b].getAttribute("href");null!=g&&"#"==g.charAt(0)&&"_blank"==a[b].getAttribute("target")&&a[b].removeAttribute("target")}},p=new mxCodec(h),C=h.documentElement;null==d&&(d=C);c.resetViewOnRootChange=!1;c.setEnabled(!1);if(null!=f&&0<f.length){var t=c.getGlobalVariable;
+c.getGlobalVariable=function(a){return"page"==a?f[0].getAttribute("name")||"Page-1":"pagenumber"==a?1:t.apply(this,arguments)}}c.foldingEnabled="1"==d.getAttribute("nav");c.cellRenderer.forceControlClickHandler=c.foldingEnabled;var K=d.getAttribute("tooltips");"0"!=K?c.setTooltips(!0):c.setTooltips(!1);if(mxClient.IS_VML){var D=c.view.getCanvas();null!=D&&"DIV"==D.nodeName&&(D.style.position="relative")}if(null!=x){var L=mxUtils.parseXml(x);(new mxCodec(L)).decode(L.documentElement,c.getStylesheet())}var B=
+d.getAttribute("math");"1"==B&&(mxClient.NO_FO=!0,N());"0"!=d.getAttribute("pan")?(c.panningHandler.useLeftButtonForPanning=!0,c.panningHandler.ignoreCell=!0,a.style.cursor="move",c.setPanning(!0)):a.style.cursor="default";var E=d.getAttribute("resize"),v=Number(d.getAttribute("border")||0);c.border=v;var A=d.getAttribute("fit");"100%"!=a.style.width&&"1"!=A&&"0"!=E||""==a.style.width&&""==a.style.height?(c.resizeContainer=!0,c.centerZoom=!1):"0"!=E&&"100%"==a.style.width&&""==a.style.height?(c.resizeContainer=
+!0,c.centerZoom=!1,c.doResizeContainer=function(a,b){if(mxClient.IS_IE)if(mxClient.IS_QUIRKS){var c=this.getBorderSizes();b+=Math.max(2,c.y+c.height+1)}else b=9<=document.documentMode?b+5:b+1;else b+=1;null!=this.maximumContainerSize&&(b=Math.min(this.maximumContainerSize.height,b));this.container.style.height=Math.ceil(b+18)+"px"}):c.centerZoom=!0;var y=d.getAttribute("links"),w=d.getAttribute("highlight");if("0"!=y||"0"!=K){var Q=a.style.cursor,M=c.getTolerance();c.addMouseListener({currentState:null,
+currentLink:null,highlight:null!=w&&""!=w&&w!=mxConstants.NONE?new mxCellHighlight(c,w,2):null,startX:0,startY:0,mouseDown:function(a,b){this.startX=b.getGraphX();this.startY=b.getGraphY()},mouseMove:function(a,b){if(c.isMouseDown){if(null!=this.currentLink){var g=Math.abs(this.startX-b.getGraphX()),e=Math.abs(this.startY-b.getGraphY());(g>M||e>M)&&this.clear()}}else if(null==this.currentState||b.getState()!=this.currentState&&null!=b.getState()||!c.intersects(this.currentState,b.getGraphX(),b.getGraphY()))g=
+c.view.getState(b.getCell()),g!=this.currentState&&(null!=this.currentState&&this.clear(),this.currentState=g,null!=this.currentState&&this.activate(this.currentState))},mouseUp:function(a,b){var c=this.currentLink;this.clear();null!=c&&("#"==c.charAt(0)?window.location.hash=c:window.open(c))},activate:function(g){this.currentLink=c.getLinkForCell(g.cell);null!=this.currentLink&&(a.style.cursor="pointer",null!=this.highlight&&this.highlight.highlight(g))},clear:function(){a.style.cursor=Q;this.currentLink=
+this.currentState=null;null!=this.highlight&&this.highlight.hide()}})}var R=Number(d.getAttribute("x0")||0),S=Number(d.getAttribute("y0")||0);c.view.translate.x=-R+v;c.view.translate.y=-S+v;var n=d.getAttribute("url");if(null!=n)try{var q=0<navigator.userAgent.indexOf("MSIE 9")?new XDomainRequest:new XMLHttpRequest;q.open("GET",n);q.onload=mxUtils.bind(this,function(){try{"1"==B&&(mxClient.NO_FO=!0);var a=null!=q.getText?q.getText():q.responseText;if(null!=a){var b=mxUtils.parseXml(a);if(null!=b&&
+"html"==b.documentElement.nodeName){var e=b.documentElement.getElementsByTagName("div");if(0<e.length&&"mxgraph"==e[0].getAttribute("class")){var f=e[0].getElementsByTagName("div");0<f.length&&(a=mxUtils.getTextContent(f[0]),a=c.decompress(a),0<a.length&&(b=mxUtils.parseXml(a)))}}if(null!=b&&"svg"==b.documentElement.nodeName){var d=b.documentElement.getAttribute("content");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&&(b=mxUtils.parseXml(d))}if("mxfile"==b.documentElement.nodeName){var h=b.documentElement.getElementsByTagName("diagram");0<h.length&&(a=c.decompress(mxUtils.getTextContent(h[0])),b=mxUtils.parseXml(a))}p=new mxCodec(b);p.decode(b.documentElement,c.getModel());r(b.documentElement)}else c.container.innerHTML="Cannot load "+n;mxClient.NO_FO=G}catch(P){c.container.innerHTML="Cannot load "+n+": "+P.message}});q.onerror=function(){c.container.innerHTML="Cannot load "+
+n};q.send()}catch(g){c.container.innerHTML="Cannot load "+n+": "+g.message}else p.decode(C,c.getModel()),r(C);"100%"!=a.style.width&&"0"!=A&&"1"==E&&(c.resizeContainer=!0,c.centerZoom=!1);var k=document.createElement("div");k.style.position="absolute";k.style.overflow="visible";k.style.cursor="pointer";var H=c.getBorderSizes(),I=0,J=10,u=16,z=16;mxClient.IS_QUIRKS?(--u,--z):mxClient.IS_TOUCH&&(z=u=24,J=14);"0"!=d.getAttribute("zoom")&&(m("+",function(){c.zoomIn()}),m("-",function(){c.zoomOut()}));
+var F=d.getAttribute("edit");null!=F&&(m("",function(){if("_blank"==F)if(null!=n)window.open("https://www.draw.io/#U"+encodeURIComponent(n));else{var a=null,b=function(c){"ready"==c.data&&c.source==a&&(a.postMessage(l,"*"),window.removeEventListener("message",b))};window.addEventListener("message",b);a=window.open("https://www.draw.io/?client=1")}else window.open(F)}).innerHTML="...");mxClient.IS_POINTER||mxClient.IS_TOUCH?e():(h=function(){k.style.visibility="hidden"},mxEvent.addListener(a,"mouseover",
+e),mxEvent.addListener(k,"mouseover",e),mxEvent.addListener(a,"mouseout",h),mxEvent.addListener(k,"mouseout",h),h());null!=k.firstChild&&(null!=a.nextSibling?a.parentNode.insertBefore(k,a.nextSibling):a.parentNode.appendChild(k));"function"==typeof window.mxClientOnCreate&&window.mxClientOnCreate(c)}}catch(g){null!=window.console&&console.log("Error:",g)}mxClient.NO_FO=G;return c}if("function"==typeof mxClientOnLoad)mxClientOnLoad(x,a);else if(mxClient.isBrowserSupported()){for(var e=document.getElementsByTagName("*"),
+m=[],f=0;f<e.length;f++)m.push(e[f]);for(f=0;f<m.length;f++)0<=m[f].className.toString().indexOf("mxgraph")&&a(m[f])}})() \ No newline at end of file
diff --git a/src/main/webapp/js/extensions.min.js b/src/main/webapp/js/extensions.min.js
index afbeb7e7..2dadf304 100644
--- a/src/main/webapp/js/extensions.min.js
+++ b/src/main/webapp/js/extensions.min.js
@@ -549,27 +549,28 @@ BmpDecoder.prototype.bit16=function(){var c=2*this.width%4;0!=c&&(c=4-c);for(var
BmpDecoder.prototype.bit24=function(){var c=3*this.width%4;0!=c&&(c=4-c);for(var m=this.height-1;0<=m;m--){for(var w=0;w<this.width;w++){var l=this.buffer[this.pos++],h=this.buffer[this.pos++],f=this.buffer[this.pos++],b=m*this.width*4+4*w;this.data[b]=f;this.data[b+1]=h;this.data[b+2]=l;this.data[b+3]=255}this.pos+=c}};
BmpDecoder.prototype.bit32=function(){for(var c=this.height-1;0<=c;c--)for(var m=0;m<this.width;m++){var w=this.buffer[this.pos++],l=this.buffer[this.pos++],h=this.buffer[this.pos++],f=this.buffer[this.pos++],b=c*this.width*4+4*m;this.data[b]=h;this.data[b+1]=l;this.data[b+2]=w;this.data[b+3]=f}};BmpDecoder.prototype.getData=function(){return this.data};var __extends=this&&this.__extends||function(c,m){function w(){this.constructor=c}for(var l in m)m.hasOwnProperty(l)&&(c[l]=m[l]);c.prototype=null===m?Object.create(m):(w.prototype=m.prototype,new w)},com;
(function(c){(function(m){(function(w){var l=function(){function h(){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.debugPaths=!1;this.vsdxModel=null}h.vsdxPlaceholder_$LI$=function(){null==h.vsdxPlaceholder&&(h.vsdxPlaceholder=window.atob?atob("dmlzaW8="):Base64.decode("dmlzaW8=",!0));return h.vsdxPlaceholder};
-h.prototype.decodeVsdx=function(f,b,a,d){var g=this,p={},D={},C=function(){for(var a=h.vsdxPlaceholder+"/document.xml",d=p[a]?p[a]:null,f=d.firstChild;null!=f&&1!=f.nodeType;)f=f.nextSibling;if(null!=f&&1==f.nodeType)g.importNodes(d,f,a,p);else return null;g.vsdxModel=new c.mxgraph.io.vsdx.mxVsdxModel(d,p,D);for(var a=g.vsdxModel.getPages(),C=g.RESPONSE_HEADER,y=function(a){null==a.entries&&(a.entries=[]);return a.entries}(a),a=function(a){a=y[a].getValue();if(!a.isBackground()){var b=q.createMxGraph();
-b.getModel().beginUpdate();q.importPage(a,b,b.getDefaultParent());var d=a.getBackPage();if(null!=d){b.getModel().setValue(b.getDefaultParent(),a.getPageName());var p=new mxCell(d.getPageName());b.addCell(p,b.getModel().getRoot(),0,null,null);q.importPage(d,b,b.getDefaultParent())}d=a.getPageScale()/a.getDrawingScale();if(1!==d){var p=b.getModel(),c;for(c in p.cells){var f=p.cells[c],D=p.getGeometry(f);if(null!=D&&(q.scaleRect(D,d),q.scaleRect(D.alternateBounds,d),p.isEdge(f)&&(q.scalePoint(D.sourcePoint,
-d),q.scalePoint(D.targetPoint,d),q.scalePoint(D.offset,d),f=D.points,null!=f)))for(D=0;D<f.length;D++)q.scalePoint(f[D],d)}}b.getModel().endUpdate();C=C.concat(g.RESPONSE_DIAGRAM_START);C=C.concat(g.processPage(b,a));C=C.concat(g.RESPONSE_DIAGRAM_END)}},q=g,d=0;d<y.length;d++)a(d);C=C.concat(g.RESPONSE_END);b&&b(C)},y=0,q=0,l=function(){q==y&&C()};JSZip.loadAsync(f).then(function(a){0==Object.keys(a.files).length?null!=d&&d():a.forEach(function(a,b){var d=b.name,f=d.toLowerCase(),C=f.length;f.indexOf(".xml")==
-C-4||f.indexOf(".xml.rels")==C-9?(y++,b.async("string").then(function(a){if(0!==a.length){var b=void 0;void 0===b&&(b=0);""===a.substr(b,3)&&(a=a.substring(3));a=mxUtils.parseXml(a);a.vsdxFileName=d;p[d]=a}q++;l()})):0===f.indexOf(h.vsdxPlaceholder+"/media")&&(y++,function(a,b){var d=a.length-b.length,g=a.indexOf(b,d);return-1!==g&&g===d}(f,".emf")?JSZip.support.uint8array&&b.async("uint8array").then(function(a){for(var b=!1,p="",f=0;f<a.length-8;f++)if(g.isPng(a,f)||g.isJpg(a,f)){p=c.mxgraph.online.mxBase64.encodeToString(a,
-f);b=!0;break}b&&(D[d]=p);q++;l()}):function(a,b){var d=a.length-b.length,g=a.indexOf(b,d);return-1!==g&&g===d}(f,".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");D[d]=a.substr(23);q++;l()}):b.async("base64").then(function(a){D[d]=a;q++;l()}))})},function(a){null!=d&&d(a)})};h.prototype.createMxGraph=function(){var c=
-new mxGraph;c.setExtendParents(!1);c.setExtendParentsOnAdd(!1);c.setConstrainChildren(!1);c.setHtmlLabels(!0);c.getModel().maintainEdgeParent=!1;return c};h.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()),d=d+('<diagram name="'+g+'">');return d+=Graph.prototype.compress(a)};h.prototype.isJpg=function(c,b){return 255===c[b]&&216===c[b+1]&&255===c[b+
-2]};h.prototype.isPng=function(c,b){return 137===c[b]&&80===c[b+1]&&78===c[b+2]&&71===c[b+3]&&13===c[b+4]&&10===c[b+5]&&26===c[b+6]&&10===c[b+7]};h.prototype.scalePoint=function(c,b){null!=c&&(c.x*=b,c.y*=b);return c};h.prototype.scaleRect=function(c,b){null!=c&&(c.x*=b,c.y*=b,c.height*=b,c.width*=b);return c};h.prototype.importNodes=function(c,b,a,d){var g=a.lastIndexOf("/"),p=a,f=a;if(-1!==g&&(p=a.substring(0,g),f=a.substring(g+1,a.length),a=function(a,b){return a[b]?a[b]:null}(d,p+"/_rels/"+f+
-".rels"),null!=a)){var C=a.getElementsByTagName("Relationship");a={};for(g=0;g<C.length;g++){var f=C.item(g),y=f.getAttribute("Id"),f=f.getAttribute("Target");a[y]=f}b=b.getElementsByTagName("Rel");for(g=0;g<b.length;g++)if(C=b.item(g),f=function(a,b){return a[b]?a[b]:null}(a,C.getAttribute("r:id")),f=p+"/"+f,null!=f&&(y=d[f]?d[f]:null,null!=y)){C=C.parentNode;for(y=y.firstChild;null!=y&&1!=y.nodeType;)y=y.nextSibling;if(null!=y&&1==y.nodeType)for(y=y.firstChild;null!=y;){if(null!=y&&1==y.nodeType){var q=
-C.appendChild(c.importNode(y,!0));this.importNodes(c,q,f,d)}y=y.nextSibling}}}};h.prototype.importPage=function(c,b,a){for(var d=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())),g=c.getPageDimensions().y,p=c.getId();d.hasNext();){var f=d.next();this.addShape(b,f.getValue(),a,p,g)}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();)f=c.next(),f=this.addConnectedEdge(b,f.getValue(),p,g),null!=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.splice(d,1)[0]}(this.edgeShapeMap,f);for(f=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));f.hasNext();)c=f.next(),c.getKey().getPageNumber()===p&&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,c.getKey()),c.getValue(),g);this.sanitiseGraph(b);return g};h.prototype.addShape=function(f,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))){p=b.getId();if(b.isVertex()){var D=null,D=b.isGroup()?this.addGroup(f,b,a,d,g):this.addVertex(f,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,p),b);return D}b.setShapeIndex(f.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,p),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,p),a)}return null};h.prototype.addGroup=function(f,b,a,d,g){var p=b.getDimensions(),D=b.getMaster(),C=b.getStyleFromShape(),y=b.getGeomList();y.isNoFill()&&(C[mxConstants.STYLE_FILLCOLOR]="none",C[mxConstants.STYLE_GRADIENTCOLOR]="none");y.isNoLine()&&(C[mxConstants.STYLE_STROKECOLOR]="none");C.html="1";C[mxConstants.STYLE_WHITE_SPACE]="wrap";var q=c.mxgraph.io.vsdx.mxVsdxUtils.getStyleString(C,"="),C=null,
-h=b.getChildShapes(),C=null!=h&&0<function(a){null==a.entries&&(a.entries=[]);return a.entries.length}(h),y=b.isDisplacedLabel()||b.isRotatedLabel()||C,C=b.getOriginPoint(g,!0);if(y)C=f.insertVertex(a,null,null,Math.floor(Math.round(100*C.x)/100),Math.floor(Math.round(100*C.y)/100),Math.floor(Math.round(100*p.x)/100),Math.floor(Math.round(100*p.y)/100),q);else var l=b.getTextLabel(),C=f.insertVertex(a,null,l,Math.floor(Math.round(100*C.x)/100),Math.floor(Math.round(100*C.y)/100),Math.floor(Math.round(100*
-p.x)/100),Math.floor(Math.round(100*p.y)/100),q);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}(h));a.hasNext();)q=a.next().getValue(),h=q.getId(),q.isVertex()?(l=c.mxgraph.io.vsdx.VsdxShape.getType(q.getShape()),null!=l&&(function(a,b){return a&&a.equals?a.equals(b):a===b}(l,c.mxgraph.io.vsdx.mxVsdxConstants.TYPE_SHAPE)||function(a,b){return a&&a.equals?a.equals(b):
-a===b}(l,c.mxgraph.io.vsdx.mxVsdxConstants.TYPE_GROUP)||function(a,b){return a&&a.equals?a.equals(b):a===b}(l,c.mxgraph.io.vsdx.mxVsdxConstants.FOREIGN))&&q.isVertex()&&(q.propagateRotation(b.getRotation()),q.isGroup()?this.addGroup(f,q,C,d,p.y):this.addVertex(f,q,C,d,p.y)),null==D&&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,h),q)):null==D?(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,
-h),q),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,h),C)):this.addUnconnectedEdge(f,C,q,g);y&&b.createLabelSubShape(f,C);f=b.getRotation();if(0!==f)for(d=C.getGeometry(),b=d.width/2,d=d.height/
-2,g=0;g<C.getChildCount();g++)p=C.getChildAt(g),c.mxgraph.online.Utils.rotatedGeometry(p.getGeometry(),f,b,d);return C};h.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,f=c.y-d;c.x=Math.round(p*g-f*b+a);c.y=Math.round(f*g+p*b+d)};h.prototype.addVertex=function(f,b,a,d,g){var p="",D=b.isDisplacedLabel()||b.isRotatedLabel();D||(p=b.getTextLabel());var C=b.getDimensions(),y=b.getStyleFromShape();y.html="1";var q=y.hasOwnProperty(mxConstants.STYLE_SHAPE)||
+h.parsererrorNS_$LI$=function(){if(null==h.parsererrorNS){var c=new DOMParser;h.parsererrorNS=c.parseFromString("<","text/xml").getElementsByTagName("parsererror")[0].namespaceURI}return h.parsererrorNS};h.isParseError=function(c){return 0<c.getElementsByTagNameNS(h.parsererrorNS,"parsererror").length};h.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};h.prototype.decodeVsdx=function(f,b,a,d){var g=this,p={},D={},C=function(){for(var a=
+h.vsdxPlaceholder+"/document.xml",d=p[a]?p[a]:null,f=d.firstChild;null!=f&&1!=f.nodeType;)f=f.nextSibling;if(null!=f&&1==f.nodeType)g.importNodes(d,f,a,p);else return null;g.vsdxModel=new c.mxgraph.io.vsdx.mxVsdxModel(d,p,D);for(var a=g.vsdxModel.getPages(),C=g.RESPONSE_HEADER,y=function(a){null==a.entries&&(a.entries=[]);return a.entries}(a),a=function(a){a=y[a].getValue();if(!a.isBackground()){var b=q.createMxGraph();b.getModel().beginUpdate();q.importPage(a,b,b.getDefaultParent());var d=a.getBackPage();
+if(null!=d){b.getModel().setValue(b.getDefaultParent(),a.getPageName());var p=new mxCell(d.getPageName());b.addCell(p,b.getModel().getRoot(),0,null,null);q.importPage(d,b,b.getDefaultParent())}d=a.getPageScale()/a.getDrawingScale();if(1!==d){var p=b.getModel(),c;for(c in p.cells){var f=p.cells[c],D=p.getGeometry(f);if(null!=D&&(q.scaleRect(D,d),q.scaleRect(D.alternateBounds,d),p.isEdge(f)&&(q.scalePoint(D.sourcePoint,d),q.scalePoint(D.targetPoint,d),q.scalePoint(D.offset,d),f=D.points,null!=f)))for(D=
+0;D<f.length;D++)q.scalePoint(f[D],d)}}b.getModel().endUpdate();C=C.concat(g.RESPONSE_DIAGRAM_START);C=C.concat(g.processPage(b,a));C=C.concat(g.RESPONSE_DIAGRAM_END)}},q=g,d=0;d<y.length;d++)a(d);C=C.concat(g.RESPONSE_END);b&&b(C)},y=0,q=0,l=function(){if(q==y)try{C()}catch(aa){console.log(aa),null!=d?d():b("")}};JSZip.loadAsync(f).then(function(a){0==Object.keys(a.files).length?null!=d&&d():a.forEach(function(a,b){var d=b.name,f=d.toLowerCase(),C=f.length;f.indexOf(".xml")==C-4||f.indexOf(".xml.rels")==
+C-9?(y++,b.async("string").then(function(a){if(0!==a.length){65279==a.charCodeAt(0)&&(a=a.substring(1));var b=mxUtils.parseXml(a);h.isParseError(b)&&0===a.charCodeAt(1)&&0===a.charCodeAt(3)&&0===a.charCodeAt(5)&&(b=mxUtils.parseXml(h.decodeUTF16LE(a)));b.vsdxFileName=d;p[d]=b}q++;l()})):0===f.indexOf(h.vsdxPlaceholder+"/media")&&(y++,function(a,b){var d=a.length-b.length,g=a.indexOf(b,d);return-1!==g&&g===d}(f,".emf")?JSZip.support.uint8array&&b.async("uint8array").then(function(a){for(var b=!1,p=
+"",f=0;f<a.length-8;f++)if(g.isPng(a,f)||g.isJpg(a,f)){p=c.mxgraph.online.mxBase64.encodeToString(a,f);b=!0;break}b&&(D[d]=p);q++;l()}):function(a,b){var d=a.length-b.length,g=a.indexOf(b,d);return-1!==g&&g===d}(f,".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");D[d]=a.substr(23);q++;l()}):b.async("base64").then(function(a){D[d]=
+a;q++;l()}))})},function(a){null!=d&&d(a)})};h.prototype.createMxGraph=function(){var c=new mxGraph;c.setExtendParents(!1);c.setExtendParentsOnAdd(!1);c.setConstrainChildren(!1);c.setHtmlLabels(!0);c.getModel().maintainEdgeParent=!1;return c};h.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()),d=d+('<diagram name="'+g+'">');return d+=Graph.prototype.compress(a)};
+h.prototype.isJpg=function(c,b){return 255===c[b]&&216===c[b+1]&&255===c[b+2]};h.prototype.isPng=function(c,b){return 137===c[b]&&80===c[b+1]&&78===c[b+2]&&71===c[b+3]&&13===c[b+4]&&10===c[b+5]&&26===c[b+6]&&10===c[b+7]};h.prototype.scalePoint=function(c,b){null!=c&&(c.x*=b,c.y*=b);return c};h.prototype.scaleRect=function(c,b){null!=c&&(c.x*=b,c.y*=b,c.height*=b,c.width*=b);return c};h.prototype.importNodes=function(c,b,a,d){var g=a.lastIndexOf("/"),p=a,f=a;if(-1!==g&&(p=a.substring(0,g),f=a.substring(g+
+1,a.length),a=function(a,b){return a[b]?a[b]:null}(d,p+"/_rels/"+f+".rels"),null!=a)){var C=a.getElementsByTagName("Relationship");a={};for(g=0;g<C.length;g++){var f=C.item(g),y=f.getAttribute("Id"),f=f.getAttribute("Target");a[y]=f}b=b.getElementsByTagName("Rel");for(g=0;g<b.length;g++)if(C=b.item(g),f=function(a,b){return a[b]?a[b]:null}(a,C.getAttribute("r:id")),f=p+"/"+f,null!=f&&(y=d[f]?d[f]:null,null!=y)){C=C.parentNode;for(y=y.firstChild;null!=y&&1!=y.nodeType;)y=y.nextSibling;if(null!=y&&
+1==y.nodeType)for(y=y.firstChild;null!=y;){if(null!=y&&1==y.nodeType){var q=C.appendChild(c.importNode(y,!0));this.importNodes(c,q,f,d)}y=y.nextSibling}}}};h.prototype.importPage=function(c,b,a){for(var d=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())),g=c.getPageDimensions().y,p=c.getId();d.hasNext();){var f=d.next();this.addShape(b,f.getValue(),a,p,g)}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();)f=c.next(),f=this.addConnectedEdge(b,f.getValue(),p,g),null!=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.splice(d,1)[0]}(this.edgeShapeMap,f);for(f=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));f.hasNext();)c=f.next(),c.getKey().getPageNumber()===p&&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,c.getKey()),c.getValue(),
+g);this.sanitiseGraph(b);return g};h.prototype.addShape=function(f,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))){p=b.getId();if(b.isVertex()){var D=null,
+D=b.isGroup()?this.addGroup(f,b,a,d,g):this.addVertex(f,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,p),b);return D}b.setShapeIndex(f.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,p),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,p),a)}return null};h.prototype.addGroup=function(f,b,a,d,g){var p=b.getDimensions(),D=b.getMaster(),C=b.getStyleFromShape(),y=b.getGeomList();y.isNoFill()&&(C[mxConstants.STYLE_FILLCOLOR]="none",C[mxConstants.STYLE_GRADIENTCOLOR]="none");y.isNoLine()&&(C[mxConstants.STYLE_STROKECOLOR]="none");C.html="1";C[mxConstants.STYLE_WHITE_SPACE]=
+"wrap";var q=c.mxgraph.io.vsdx.mxVsdxUtils.getStyleString(C,"="),C=null,h=b.getChildShapes(),C=null!=h&&0<function(a){null==a.entries&&(a.entries=[]);return a.entries.length}(h),y=b.isDisplacedLabel()||b.isRotatedLabel()||C,C=b.getOriginPoint(g,!0);if(y)C=f.insertVertex(a,null,null,Math.floor(Math.round(100*C.x)/100),Math.floor(Math.round(100*C.y)/100),Math.floor(Math.round(100*p.x)/100),Math.floor(Math.round(100*p.y)/100),q);else var l=b.getTextLabel(),C=f.insertVertex(a,null,l,Math.floor(Math.round(100*
+C.x)/100),Math.floor(Math.round(100*C.y)/100),Math.floor(Math.round(100*p.x)/100),Math.floor(Math.round(100*p.y)/100),q);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}(h));a.hasNext();)q=a.next().getValue(),h=q.getId(),q.isVertex()?(l=c.mxgraph.io.vsdx.VsdxShape.getType(q.getShape()),null!=l&&(function(a,b){return a&&a.equals?a.equals(b):a===b}(l,c.mxgraph.io.vsdx.mxVsdxConstants.TYPE_SHAPE)||
+function(a,b){return a&&a.equals?a.equals(b):a===b}(l,c.mxgraph.io.vsdx.mxVsdxConstants.TYPE_GROUP)||function(a,b){return a&&a.equals?a.equals(b):a===b}(l,c.mxgraph.io.vsdx.mxVsdxConstants.FOREIGN))&&q.isVertex()&&(q.propagateRotation(b.getRotation()),q.isGroup()?this.addGroup(f,q,C,d,p.y):this.addVertex(f,q,C,d,p.y)),null==D&&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,h),q)):null==D?(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,h),q),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,h),C)):this.addUnconnectedEdge(f,C,q,g);y&&b.createLabelSubShape(f,C);f=b.getRotation();if(0!==f)for(d=C.getGeometry(),
+b=d.width/2,d=d.height/2,g=0;g<C.getChildCount();g++)p=C.getChildAt(g),c.mxgraph.online.Utils.rotatedGeometry(p.getGeometry(),f,b,d);return C};h.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,f=c.y-d;c.x=Math.round(p*g-f*b+a);c.y=Math.round(f*g+p*b+d)};h.prototype.addVertex=function(f,b,a,d,g){var p="",D=b.isDisplacedLabel()||b.isRotatedLabel();D||(p=b.getTextLabel());var C=b.getDimensions(),y=b.getStyleFromShape();y.html="1";var q=y.hasOwnProperty(mxConstants.STYLE_SHAPE)||
y.hasOwnProperty("stencil");y.hasOwnProperty(mxConstants.STYLE_FILLCOLOR)&&q||(y[mxConstants.STYLE_FILLCOLOR]="none");q||(y[mxConstants.STYLE_STROKECOLOR]="none");y.hasOwnProperty(mxConstants.STYLE_GRADIENTCOLOR)&&q||(y[mxConstants.STYLE_GRADIENTCOLOR]="none");y[mxConstants.STYLE_WHITE_SPACE]="wrap";g=b.getOriginPoint(g,!0);return q||null!=p?(y=c.mxgraph.io.vsdx.mxVsdxUtils.getStyleString(y,"="),q=null,q=D?f.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*C.x)/100),Math.floor(Math.round(100*C.y)/100),y):f.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*C.x)/100),Math.floor(Math.round(100*C.y)/100),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.vertexMap,new c.mxgraph.io.vsdx.ShapePageId(d,b.getId()),q),b.setLabelOffset(q,y),D&&b.createLabelSubShape(f,q),q):null};h.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)};h.prototype.addConnectedEdge=function(f,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!=
@@ -710,8 +711,8 @@ b.firstChild;null!=b;b=b.nextSibling)null!=b&&1==b.nodeType&&0<a.push(b);return
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)};f.getIntAttr$org_w3c_dom_Element$java_lang_String=function(b,a){return f.getIntAttr$org_w3c_dom_Element$java_lang_String$int(b,a,0)};f.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)),p=function(a){var b=0;return{next:function(){return b<a.length?a[b++]:null},hasNext:function(){return b<a.length}}}(Object.keys(b));p.hasNext();){var c=p.next(),f=g.next();if(!function(a,b){return a&&a.equals?a.equals(b):a===b}(c,mxConstants.STYLE_SHAPE)||!function(a,b,d){void 0===d&&(d=0);return a.substr(d,b.length)===b}(b[c]?b[c]:null,"image")&&!function(a,b,d){void 0===
d&&(d=0);return a.substr(d,b.length)===b}(b[c]?b[c]:null,"rounded="))try{d=d+c+a}catch(y){console.error("mxVsdxUtils.getStyleString,"+y+",style.length="+d.length+",key.length="+c.length+",asig.length="+a.length)}d=d+f+";"}return d};f.surroundByTags=function(b,a){return"<"+a+">"+b+"</"+a+">"};f.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;")};f.toInitialCapital=
-function(b){b=b.split(" ");for(var a="",d=0;d<b.length;d++)var g=b[d],p=g.substring(0,1),g=g.substring(1),p=p.toUpperCase(),a=a+(p+g);return a.substring(0,a.length)};f.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(""),p=0;p<g.length;p++){var c=g[p];(null==c.charCodeAt?c:c.charCodeAt(0))>=(null=="a".charCodeAt?"a":97)&&(null==c.charCodeAt?c:c.charCodeAt(0))<=(null=="z".charCodeAt?"z":122)?(c=(new String(c)).toString(),c=c.toUpperCase(),d+='<font style="font-size:'+
-parseFloat(a)/1.28+'px">'+c+"</font>"):d+=c}return d};f.getStyleMap=function(b,a){for(var d={},g=b.split(";"),c=0;c<g.length;c++){var f=g[c],h=f.indexOf(a),y=f.substring(0,h),f=f.substring(h+1);d[y]=f}return d};f.isInsideTriangle=function(b,a,d,g,c,f,h,y){c-=d;f-=g;h-=d;y-=g;g=c*y-h*f;d=(b*(f-y)+a*(h-c)+c*y-h*f)/g;h=(b*y-a*h)/g;b=(a*c-b*f)/g;return 0<d&&1>d&&0<h&&1>h&&0<b&&1>b?!0:!1};return f}();h.screenCoordinatesPerCm=40;h.CENTIMETERS_PER_INCHES=2.54;l.mxVsdxUtils=h;h.__class="com.mxgraph.io.vsdx.mxVsdxUtils"})(m.vsdx||
+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)};f.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 f=g[c];(null==f.charCodeAt?f:f.charCodeAt(0))>=(null=="a".charCodeAt?"a":97)&&(null==f.charCodeAt?f:f.charCodeAt(0))<=(null=="z".charCodeAt?"z":122)?(f=(new String(f)).toString(),f=f.toUpperCase(),d+='<font style="font-size:'+
+parseFloat(a)/1.28+'px">'+f+"</font>"):d+=f}return d};f.getStyleMap=function(b,a){for(var d={},g=b.split(";"),c=0;c<g.length;c++){var f=g[c],h=f.indexOf(a),y=f.substring(0,h),f=f.substring(h+1);d[y]=f}return d};f.isInsideTriangle=function(b,a,d,g,c,f,h,y){c-=d;f-=g;h-=d;y-=g;g=c*y-h*f;d=(b*(f-y)+a*(h-c)+c*y-h*f)/g;h=(b*y-a*h)/g;b=(a*c-b*f)/g;return 0<d&&1>d&&0<h&&1>h&&0<b&&1>b?!0:!1};return f}();h.screenCoordinatesPerCm=40;h.CENTIMETERS_PER_INCHES=2.54;l.mxVsdxUtils=h;h.__class="com.mxgraph.io.vsdx.mxVsdxUtils"})(m.vsdx||
(m.vsdx={}))})(m.io||(m.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
(function(c){(function(c){(function(c){(function(c){var h=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]};
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=h;h.__class="com.mxgraph.io.vsdx.Paragraph"})(c.vsdx||(c.vsdx={}))})(c.io||(c.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
@@ -861,7 +862,7 @@ h.DOT=1;h.DASH=8;h.LONG_DASH=12;h.SHORT_DASH=4;h.XLONG_DASH=20;h.XSHORT_DASH=2;l
(function(c){(function(m){(function(m){(function(l){(function(h){var f=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);h.SrgbClr=f;f.__class="com.mxgraph.io.vsdx.theme.SrgbClr"})(l.theme||(l.theme={}))})(m.vsdx||(m.vsdx={}))})(m.io||(m.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
(function(c){(function(m){(function(m){(function(l){(function(h){var f=function(b){function a(a,g){var d=b.call(this)||this;d.lastClr=null;d.val=a;var f=d.lastClr=g;if(null==f)switch(a){case "windowText":f="000000";break;case "window":f="FFFFFF";break;default:f="FFFFFF"}d.color=c.mxgraph.io.vsdx.theme.Color.decodeColorHex(f);return d}__extends(a,b);return a}(c.mxgraph.io.vsdx.theme.OoxmlColor);h.SysClr=f;f.__class="com.mxgraph.io.vsdx.theme.SysClr"})(l.theme||(l.theme={}))})(m.vsdx||(m.vsdx={}))})(m.io||
(m.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
-(function(c){(function(m){(function(m){(function(l){(function(h){var f=function(b){function a(a,g,c,f,h,l,q){return b.call(this,a,g,c,f,h,l,q)||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$(),f=g.getWidth()/c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$();this.x*=f;this.y*=d;this.a*=f;this.b*=d}return b.prototype.handle.call(this,
+(function(c){(function(m){(function(m){(function(l){(function(h){var f=function(b){function a(a,c,f,h,l,m,q){return b.call(this,a,c,f,h,l,m,q)||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$(),f=g.getWidth()/c.mxgraph.io.vsdx.mxVsdxUtils.conversionFactor_$LI$();this.x*=f;this.y*=d;this.a*=f;this.b*=d}return b.prototype.handle.call(this,
a,g)};return a}(c.mxgraph.io.vsdx.geometry.EllipticalArcTo);h.RelEllipticalArcTo=f;f.__class="com.mxgraph.io.vsdx.geometry.RelEllipticalArcTo"})(l.geometry||(l.geometry={}))})(m.vsdx||(m.vsdx={}))})(m.io||(m.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
(function(c){(function(m){(function(m){(function(l){var h=function(f){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=f.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,f);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==",
@@ -885,7 +886,7 @@ d),h=' 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);h.VSDX_START_TIME=-22091688E5;l.Shape=h;h.__class="com.mxgraph.io.vsdx.Shape"})(m.vsdx||(m.vsdx={}))})(m.io||(m.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={}));
-(function(c){(function(m){(function(m){(function(l){var h=function(f){function b(a,b,g,p,h,l){var d=this;d.masterShape=null;d.master=null;d.parentHeight=0;d=f.call(this,b,l)||this;d.htmlLabels=!0;d.rootShape=d;d.shapeName=null;d.shapeIndex=0;d.vertex=!0;d.childShapes={};var q=d.getMasterId(),m=d.getShapeMasterId();d.master=null!=q?p[q]?p[q]:null:h;null!=d.master&&(d.masterShape=null==q&&null!=m?d.master.getSubShape(m):d.master.getMasterShape());p=d.getNameU();h=p.lastIndexOf(".");-1!==h&&(p=p.substring(0,
+(function(c){(function(m){(function(m){(function(l){var h=function(f){function b(a,b,g,p,h,l){var d=this;d.masterShape=null;d.master=null;d.parentHeight=0;d=f.call(this,b,l)||this;d.htmlLabels=!0;d.rootShape=d;d.shapeName=null;d.shapeIndex=0;d.vertex=!0;d.childShapes={};var m=d.getMasterId(),D=d.getShapeMasterId();d.master=null!=m?p[m]?p[m]:null:h;null!=d.master&&(d.masterShape=null==m&&null!=D?d.master.getSubShape(D):d.master.getMasterShape());p=d.getNameU();h=p.lastIndexOf(".");-1!==h&&(p=p.substring(0,
h));d.shapeName=p;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")));l=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}(l.getThemes(),b);a=a.getCellIntValue("VariationColorIndex",0);d.setThemeAndVariant(l,a);b=function(a){null==a.entries&&(a.entries=[]);return a.entries}(d.childShapes);for(p=0;p<b.length;p++)h=b[p].getValue(),h.setRootShape(d),null==h.theme&&h.setThemeAndVariant(l,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"),
@@ -925,8 +926,8 @@ getValue:function(){return this.value}})})(b.arrowTypes_$LI$(),42,mxConstants.AR
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$(),44,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$(),45,mxConstants.ARROW_OPEN)};b.__com_mxgraph_io_vsdx_VsdxShape_LOGGER_$LI$=function(){b.__static_initialize();null==b.__com_mxgraph_io_vsdx_VsdxShape_LOGGER&&(b.__com_mxgraph_io_vsdx_VsdxShape_LOGGER={});return b.__com_mxgraph_io_vsdx_VsdxShape_LOGGER};b.prototype.getShapeNode=function(a){var b;b=this.cellElements;b=b[a]?b[a]:null;return null==b&&null!=this.masterShape?this.masterShape.getCellElement$java_lang_String(a):
b};b.prototype.getTextLabel=function(){var a;a=this.getValue(this.getCellElement$java_lang_String(c.mxgraph.io.vsdx.mxVsdxConstants.HIDE_TEXT),"0");a="1".equals?"1".equals(a):"1"===a;if(a)return null;a=this.getTextChildren();null==a&&null!=this.masterShape&&(a=this.masterShape.getTextChildren());if(this.htmlLabels){if(null!=a)return this.styleMap[mxConstants.STYLE_VERTICAL_ALIGN]=this.getAlignVertical(),this.styleMap[mxConstants.STYLE_ALIGN]=this.getHorizontalAlign("0",!1),this.getHtmlTextContent(a)}else return a=
-this.getText(),null==a&&null!=this.masterShape?this.masterShape.getText():a;return null};b.prototype.getIndex=function(a){a=a.getAttribute("IX")||"";return 0===a.length?"0":a};b.prototype.initLabels=function(a){this.paragraphs={};for(var b=null,f=null,p=null,h=0;h<a.length;h++){var l;l=a.item(h);switch(l.nodeName){case "cp":b=this.getIndex(l);break;case "tp":this.getIndex(l);break;case "pp":f=this.getIndex(l);break;case "fld":p=this.getIndex(l);break;case "#text":l=l.textContent;var m;m=this.paragraphs;
-m=m[f]?m[f]:null;null==m?(m=new c.mxgraph.io.vsdx.Paragraph(l,b,f,p),this.paragraphs[f]=m):m.addText(l,b,p)}}};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.getText(),null==a&&null!=this.masterShape?this.masterShape.getText():a;return null};b.prototype.getIndex=function(a){a=a.getAttribute("IX")||"";return 0===a.length?"0":a};b.prototype.initLabels=function(a){this.paragraphs={};for(var b=null,f=null,h=null,l=0;l<a.length;l++){var m;m=a.item(l);switch(m.nodeName){case "cp":b=this.getIndex(m);break;case "tp":this.getIndex(m);break;case "pp":f=this.getIndex(m);break;case "fld":h=this.getIndex(m);break;case "#text":m=m.textContent;var y;y=this.paragraphs;
+y=y[f]?y[f]:null;null==y?(y=new c.mxgraph.io.vsdx.Paragraph(m,b,f,h),this.paragraphs[f]=y):y.addText(m,b,h)}}};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,f=0;f<a;f++){var h=b.getValue(f);if(0===h.length&&
null!=this.fields){var l=b.getField(f);null!=l&&(h=function(a,b){return a[b]?a[b]:null}(this.fields,l),null==h&&null!=this.masterShape&&null!=this.masterShape.fields&&(h=function(a,b){return a[b]?a[b]:null}(this.masterShape.fields,l)))}null!=h&&(c=null==c?h:c+h)}return c};b.prototype.getHtmlTextContent=function(a){var b="",f=!0;if(null!=a&&0<a.length)for(var h=0;h<a.length;h++){var l=a.item(h);(function(a,b){return a&&a.equals?a.equals(b):a===b})(l.nodeName,"cp")?this.cp=this.getIndex(l):function(a,
b){return a&&a.equals?a.equals(b):a===b}(l.nodeName,"tp")?this.tp=this.getIndex(l):function(a,b){return a&&a.equals?a.equals(b):a===b}(l.nodeName,"pp")?(this.pp=this.getIndex(l),f?f=!1:b+="</p>",b+=this.getTextParagraphFormated("<p>")):function(a,b){return a&&a.equals?a.equals(b):a===b}(l.nodeName,"fld")?(this.fld=this.getIndex(l),l=null,null!=this.fields&&(l=function(a,b){return a[b]?a[b]:null}(this.fields,this.fld)),null==l&&null!=this.masterShape&&null!=this.masterShape.fields&&(l=function(a,b){return a[b]?
@@ -1004,7 +1005,7 @@ d=0;4>m;m++){var w=h.IA_$LI$()[c.charAt(f++).charCodeAt(0)];0<=w?d|=w<<18-6*m:m-
61==function(a){return null==a.charCodeAt?a:a.charCodeAt(0)}(c.charAt(d-1))?2:1:0,l=d-a+1,m=76<b?(13==function(a){return null==a.charCodeAt?a:a.charCodeAt(0)}(c.charAt(76))?l/78|0:0)<<1:0,l=(6*(l-m)>>3)-f,b=function(a){for(var b=[];0<a--;)b.push(0);return b}(l),w=0,y=0,q=3*(l/3|0);w<q;){var z=h.IA_$LI$()[c.charAt(a++).charCodeAt(0)]<<18|h.IA_$LI$()[c.charAt(a++).charCodeAt(0)]<<12|h.IA_$LI$()[c.charAt(a++).charCodeAt(0)]<<6|h.IA_$LI$()[c.charAt(a++).charCodeAt(0)];b[w++]=z>>16|0;b[w++]=z>>8|0;b[w++]=
z|0;0<m&&19===++y&&(a+=2,y=0)}if(w<l){for(m=z=0;a<=d-f;m++)z|=h.IA_$LI$()[c.charAt(a++).charCodeAt(0)]<<18-6*m;for(c=16;w<l;c-=8)b[w++]=z>>c|0}return b};return h}();l.__static_initialized=!1;m.mxBase64=l;l.__class="com.mxgraph.online.mxBase64"})(m.online||(m.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.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,m,w){null!=c.name&&/(\.vssx)($|\?)/i.test(c.name)?(new com.mxgraph.io.mxVssxCodec).decodeVssx(c,m):(new com.mxgraph.io.mxVsdxCodec).decodeVsdx(c,m,null,w)};/*!
JSZip v3.1.3 - A Javascript class for generating and reading zip files
diff --git a/src/main/webapp/js/mxgraph/Actions.js b/src/main/webapp/js/mxgraph/Actions.js
index d5974aae..48b289ee 100644
--- a/src/main/webapp/js/mxgraph/Actions.js
+++ b/src/main/webapp/js/mxgraph/Actions.js
@@ -587,8 +587,8 @@ Actions.prototype.init = function()
if (mxUtils.hasScrollbars(graph.container))
{
var pad = graph.getPagePadding();
- graph.container.scrollTop = pad.y * graph.view.scale;
- graph.container.scrollLeft = Math.min(pad.x * graph.view.scale, (graph.container.scrollWidth - graph.container.clientWidth) / 2);
+ graph.container.scrollTop = pad.y * graph.view.scale - 1;
+ graph.container.scrollLeft = Math.min(pad.x * graph.view.scale, (graph.container.scrollWidth - graph.container.clientWidth) / 2) - 1;
}
}), null, null, Editor.ctrlKey + '+J');
this.addAction('fitTwoPages', mxUtils.bind(this, function()
diff --git a/src/main/webapp/js/mxgraph/Editor.js b/src/main/webapp/js/mxgraph/Editor.js
index 9fbd4efa..32f8cafa 100644
--- a/src/main/webapp/js/mxgraph/Editor.js
+++ b/src/main/webapp/js/mxgraph/Editor.js
@@ -147,6 +147,11 @@ Editor.nextImage = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAA
/**
* Specifies the image URL to be used for the transparent background.
*/
+Editor.editImage = (mxClient.IS_SVG) ? 'data:image/gif;base64,R0lGODlhCwALAIABAFdXV////yH5BAEAAAEALAAAAAALAAsAAAIZjB8AiKuc4jvLOGqzrjX6zmkWyChXaUJBAQA7' : IMAGE_PATH + '/edit.gif';
+
+/**
+ * Specifies the image URL to be used for the transparent background.
+ */
Editor.zoomOutLargeImage = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAilBMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2N2iNAAAALXRSTlMA+vTcKMM96GRBHwXxi0YaX1HLrKWhiHpWEOnOr52Vb2xKSDcT19PKv5l/Ngdk8+viAAABJklEQVQ4y4WT2XaDMAxEvWD2nSSUNEnTJN3r//+9Sj7ILAY6L0ijC4ONYVZRpo6cByrz2YKSUGorGTpz71lPVHvT+avoB5wIkU/mxk8veceSuNoLg44IzziXjvpih72wKQnm8yc2UoiP/LAd8jQfe2Xf4Pq+2EyYIvv9wbzHHCgwxDdlBtWZOdqDfTCVgqpygQpsZaojVAVc9UjQxnAJDIBhiQv84tq3gMQCAVTxVoSibXJf8tMuc7e1TB/DCmejBNg/w1Y3c+AM5vv4w7xM59/oXamrHaLVqPQ+OTCnmMZxgz0SdL5zji0/ld6j88qGa5KIiBB6WeJGKfUKwSMKLuXgvl1TW0tm5R9UQL/efSDYsnzxD8CinhBsTTdugJatKpJwf8v+ADb8QmvW7AeAAAAAAElFTkSuQmCC';
/**
diff --git a/src/main/webapp/js/mxgraph/EditorUi.js b/src/main/webapp/js/mxgraph/EditorUi.js
index 67df5c96..0315ac19 100644
--- a/src/main/webapp/js/mxgraph/EditorUi.js
+++ b/src/main/webapp/js/mxgraph/EditorUi.js
@@ -2449,8 +2449,9 @@ EditorUi.prototype.resetScrollbars = function()
if (graph.pageVisible)
{
var pad = graph.getPagePadding();
- graph.container.scrollTop = Math.floor(pad.y - this.editor.initialTopSpacing);
- graph.container.scrollLeft = Math.floor(Math.min(pad.x, (graph.container.scrollWidth - graph.container.clientWidth) / 2));
+ graph.container.scrollTop = Math.floor(pad.y - this.editor.initialTopSpacing) - 1;
+ graph.container.scrollLeft = Math.floor(Math.min(pad.x,
+ (graph.container.scrollWidth - graph.container.clientWidth) / 2)) - 1;
// Scrolls graph to visible area
var bounds = graph.getGraphBounds();
diff --git a/src/main/webapp/js/mxgraph/Graph.js b/src/main/webapp/js/mxgraph/Graph.js
index 3014bca1..a72775ba 100644
--- a/src/main/webapp/js/mxgraph/Graph.js
+++ b/src/main/webapp/js/mxgraph/Graph.js
@@ -7690,7 +7690,7 @@ if (typeof mxVertexHandler != 'undefined')
if (this.graph.isEnabled() && typeof this.graph.editLink === 'function')
{
var changeLink = document.createElement('img');
- changeLink.setAttribute('src', IMAGE_PATH + '/edit.gif');
+ changeLink.setAttribute('src', Editor.editImage);
changeLink.setAttribute('title', mxResources.get('editLink'));
changeLink.setAttribute('width', '11');
changeLink.setAttribute('height', '11');
diff --git a/src/main/webapp/js/mxgraph/Menus.js b/src/main/webapp/js/mxgraph/Menus.js
index f0c56127..6f2de30f 100644
--- a/src/main/webapp/js/mxgraph/Menus.js
+++ b/src/main/webapp/js/mxgraph/Menus.js
@@ -512,12 +512,17 @@ Menus.prototype.get = function(name)
*/
Menus.prototype.addSubmenu = function(name, menu, parent, label)
{
- var enabled = this.get(name).isEnabled();
-
- if (menu.showDisabled || enabled)
+ var entry = this.get(name);
+
+ if (entry != null)
{
- var submenu = menu.addItem(label || mxResources.get(name), null, null, parent, null, enabled);
- this.addMenu(name, menu, submenu);
+ var enabled = entry.isEnabled();
+
+ if (menu.showDisabled || enabled)
+ {
+ var submenu = menu.addItem(label || mxResources.get(name), null, null, parent, null, enabled);
+ this.addMenu(name, menu, submenu);
+ }
}
};
diff --git a/src/main/webapp/js/reader.min.js b/src/main/webapp/js/reader.min.js
index 6a51b414..06022077 100644
--- a/src/main/webapp/js/reader.min.js
+++ b/src/main/webapp/js/reader.min.js
@@ -184,7 +184,7 @@ f)+"\n"+t+"}":"{"+z.join(",")+"}";f=t;return l}}"function"!==typeof Date.prototy
e=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,f,g,h={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},k;"function"!==typeof JSON.stringify&&(JSON.stringify=function(a,b,d){var e;g=f="";if("number"===typeof d)for(e=0;e<d;e+=1)g+=" ";else"string"===typeof d&&(g=d);if((k=b)&&"function"!==typeof b&&("object"!==typeof b||"number"!==typeof b.length))throw Error("JSON.stringify");return c("",{"":a})});
"function"!==typeof JSON.parse&&(JSON.parse=function(a,b){function c(a,d){var e,f,g=a[d];if(g&&"object"===typeof g)for(e in g)Object.prototype.hasOwnProperty.call(g,e)&&(f=c(g,e),void 0!==f?g[e]=f:delete g[e]);return b.call(a,d,g)}var e;a=""+a;d.lastIndex=0;d.test(a)&&(a=a.replace(d,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return e=eval("("+a+")"),"function"===typeof b?c({"":e},""):e;throw new SyntaxError("JSON.parse");})})();"undefined"===typeof window.mxBasePath&&(window.mxBasePath="https://www.draw.io/mxgraph/");window.mxLoadStylesheets=window.mxLoadStylesheets||!1;window.mxLoadResources=window.mxLoadResources||!1;window.mxLanguage=window.mxLanguage||"en";window.urlParams=window.urlParams||{};window.MAX_REQUEST_SIZE=window.MAX_REQUEST_SIZE||10485760;window.MAX_AREA=window.MAX_AREA||225E6;window.EXPORT_URL=window.EXPORT_URL||"/export";window.SAVE_URL=window.SAVE_URL||"/save";window.OPEN_URL=window.OPEN_URL||"/open";window.RESOURCES_PATH=window.RESOURCES_PATH||"resources";window.RESOURCE_BASE=window.RESOURCE_BASE||window.RESOURCES_PATH+"/grapheditor";window.STENCIL_PATH=window.STENCIL_PATH||"stencils";window.IMAGE_PATH=window.IMAGE_PATH||"images";
-window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"8.6.8",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&
+window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"8.6.9",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&
0>navigator.userAgent.indexOf("Edge/"),IS_OP:0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/"),IS_OT:0<=navigator.userAgent.indexOf("Presto/")&&0>navigator.userAgent.indexOf("Presto/2.4.")&&0>navigator.userAgent.indexOf("Presto/2.3.")&&0>navigator.userAgent.indexOf("Presto/2.2.")&&0>navigator.userAgent.indexOf("Presto/2.1.")&&0>navigator.userAgent.indexOf("Presto/2.0.")&&0>navigator.userAgent.indexOf("Presto/1."),IS_SF:0<=navigator.userAgent.indexOf("AppleWebKit/")&&
0>navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_IOS:navigator.userAgent.match(/(iPad|iPhone|iPod)/g)?!0:!1,IS_GC:0<=navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:0<=navigator.userAgent.indexOf("Firefox/"),IS_MT:0<=navigator.userAgent.indexOf("Firefox/")&&0>navigator.userAgent.indexOf("Firefox/1.")&&0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&&
0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_SVG:0<=navigator.userAgent.indexOf("Firefox/")||0<=navigator.userAgent.indexOf("Iceweasel/")||0<=navigator.userAgent.indexOf("Seamonkey/")||0<=navigator.userAgent.indexOf("Iceape/")||0<=navigator.userAgent.indexOf("Galeon/")||
@@ -485,9 +485,9 @@ mxShape.prototype.updateHtmlColors=function(a){var b=this.stroke;null!=b&&b!=mxC
mxUtils.addTransparentBackgroundFilter(a):this.setTransparentBackgroundImage(a)};
mxShape.prototype.updateHtmlBounds=function(a){var b=9<=document.documentMode?0:Math.ceil(this.strokewidth*this.scale);a.style.borderWidth=Math.max(1,b)+"px";a.style.overflow="hidden";a.style.left=Math.round(this.bounds.x-b/2)+"px";a.style.top=Math.round(this.bounds.y-b/2)+"px";"CSS1Compat"==document.compatMode&&(b=-b);a.style.width=Math.round(Math.max(0,this.bounds.width+b))+"px";a.style.height=Math.round(Math.max(0,this.bounds.height+b))+"px"};
mxShape.prototype.destroyCanvas=function(a){if(a instanceof mxSvgCanvas2D){for(var b in a.gradients){var c=a.gradients[b];null!=c&&(c.mxRefCount=(c.mxRefCount||0)+1)}this.releaseSvgGradients(this.oldGradients);this.oldGradients=a.gradients}};
-mxShape.prototype.paint=function(a){var b=this.scale,c=this.bounds.x/b,d=this.bounds.y/b,e=this.bounds.width/b,f=this.bounds.height/b;if(this.isPaintBoundsInverted())var g=(e-f)/2,c=c+g,d=d-g,g=e,e=f,f=g;this.updateTransform(a,c,d,e,f);this.configureCanvas(a,c,d,e,f);g=null;if(null==this.stencil&&null==this.points&&this.shapePointerEvents||null!=this.stencil&&this.stencilPointerEvents){var h=this.createBoundingBox();this.dialect==mxConstants.DIALECT_SVG?(g=this.createTransparentSvgRectangle(h.x,h.y,
-h.width,h.height),this.node.appendChild(g)):(h=a.createRect("rect",h.x/b,h.y/b,h.width/b,h.height/b),h.appendChild(a.createTransparentFill()),h.stroked="false",a.root.appendChild(h))}if(null!=this.stencil)this.stencil.drawShape(a,this,c,d,e,f);else if(a.setStrokeWidth(this.strokewidth),null!=this.points){c=[];for(d=0;d<this.points.length;d++)null!=this.points[d]&&c.push(new mxPoint(this.points[d].x/b,this.points[d].y/b));this.paintEdgeShape(a,c)}else this.paintVertexShape(a,c,d,e,f);null!=g&&null!=
-a.state&&null!=a.state.transform&&g.setAttribute("transform",a.state.transform)};
+mxShape.prototype.paint=function(a){var b=!1;if(null!=a&&this.outline){var c=a.stroke;a.stroke=function(){b=!0;c.apply(this,arguments)};var d=a.fillAndStroke;a.fillAndStroke=function(){b=!0;d.apply(this,arguments)}}var e=this.scale,f=this.bounds.x/e,g=this.bounds.y/e,h=this.bounds.width/e,k=this.bounds.height/e;if(this.isPaintBoundsInverted())var l=(h-k)/2,f=f+l,g=g-l,l=h,h=k,k=l;this.updateTransform(a,f,g,h,k);this.configureCanvas(a,f,g,h,k);l=null;if(null==this.stencil&&null==this.points&&this.shapePointerEvents||
+null!=this.stencil&&this.stencilPointerEvents){var m=this.createBoundingBox();this.dialect==mxConstants.DIALECT_SVG?(l=this.createTransparentSvgRectangle(m.x,m.y,m.width,m.height),this.node.appendChild(l)):(m=a.createRect("rect",m.x/e,m.y/e,m.width/e,m.height/e),m.appendChild(a.createTransparentFill()),m.stroked="false",a.root.appendChild(m))}if(null!=this.stencil)this.stencil.drawShape(a,this,f,g,h,k);else if(a.setStrokeWidth(this.strokewidth),null!=this.points){for(var m=[],n=0;n<this.points.length;n++)null!=
+this.points[n]&&m.push(new mxPoint(this.points[n].x/e,this.points[n].y/e));this.paintEdgeShape(a,m)}else this.paintVertexShape(a,f,g,h,k);null!=l&&null!=a.state&&null!=a.state.transform&&l.setAttribute("transform",a.state.transform);null!=a&&this.outline&&!b&&(a.rect(f,g,h,k),a.stroke())};
mxShape.prototype.configureCanvas=function(a,b,c,d,e){var f=null;null!=this.style&&(f=this.style.dashPattern);a.setAlpha(this.opacity/100);a.setFillAlpha(this.fillOpacity/100);a.setStrokeAlpha(this.strokeOpacity/100);null!=this.isShadow&&a.setShadow(this.isShadow);null!=this.isDashed&&a.setDashed(this.isDashed,null!=this.style?1==mxUtils.getValue(this.style,mxConstants.STYLE_FIX_DASH,!1):!1);null!=f&&a.setDashPattern(f);null!=this.fill&&this.fill!=mxConstants.NONE&&this.gradient&&this.gradient!=mxConstants.NONE?
(b=this.getGradientBounds(a,b,c,d,e),a.setGradient(this.fill,this.gradient,b.x,b.y,b.width,b.height,this.gradientDirection)):a.setFillColor(this.fill);a.setStrokeColor(this.stroke)};mxShape.prototype.getGradientBounds=function(a,b,c,d,e){return new mxRectangle(b,c,d,e)};mxShape.prototype.updateTransform=function(a,b,c,d,e){a.scale(this.scale);a.rotate(this.getShapeRotation(),this.flipH,this.flipV,b+d/2,c+e/2)};
mxShape.prototype.paintVertexShape=function(a,b,c,d,e){this.paintBackground(a,b,c,d,e);a.setShadow(!1);this.paintForeground(a,b,c,d,e)};mxShape.prototype.paintBackground=function(a,b,c,d,e){};mxShape.prototype.paintForeground=function(a,b,c,d,e){};mxShape.prototype.paintEdgeShape=function(a,b){};
@@ -1663,7 +1663,7 @@ a.shape)if(null!=a.shape.stencil){if(null!=a.shape.stencil)return a.shape.stenci
Graph.prototype.isValidRoot=function(a){for(var b=this.model.getChildCount(a),c=0,d=0;d<b;d++){var e=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 f=b.getTerminal(e,!0),g=b.getTerminal(e,!1);b.setTerminal(e,g,!0);b.setTerminal(e,f,!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 m=this.view.getState(e),v=this.view.getState(f),n=this.view.getState(g);if(null!=m){var p=null!=v?this.getConnectionConstraint(m,v,!0):null,q=null!=n?this.getConnectionConstraint(m,n,!1):null;this.setConnectionConstraint(e,f,!0,q);this.setConnectionConstraint(e,g,!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 r=h.width;h.width=h.height;
+h.setTerminalPoint(k,!1);h.setTerminalPoint(l,!0);b.setGeometry(e,h);var m=this.view.getState(e),n=this.view.getState(f),v=this.view.getState(g);if(null!=m){var p=null!=n?this.getConnectionConstraint(m,n,!0):null,q=null!=v?this.getConnectionConstraint(m,v,!1):null;this.setConnectionConstraint(e,f,!0,q);this.setConnectionConstraint(e,g,!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 r=h.width;h.width=h.height;
h.height=r;b.setGeometry(e,h);var t=this.view.getState(e);if(null!=t){var u=t.style[mxConstants.STYLE_DIRECTION]||"east";"east"==u?u="south":"south"==u?u="west":"west"==u?u="north":"north"==u&&(u="east");this.setCellStyles(mxConstants.STYLE_DIRECTION,u,[e])}c.push(e)}}}finally{b.endUpdate()}return c};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++)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.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 f=this.convertValueToString(a[e]);if(null!=f&&0<f.length){d.innerHTML=f;for(var g=d.getElementsByTagName(null!=c?c:"*"),h=0;h<g.length;h++)b(g[h]);d.innerHTML!=f&&this.cellLabelChanged(a[e],d.innerHTML)}}};Graph.prototype.cellLabelChanged=function(a,b,c){b=this.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"),
@@ -1754,7 +1754,7 @@ function(a,b){B.apply(this,arguments);null!=this.rotationShape&&null!=this.rotat
1==this.graph.getSelectionCount()?"":"none");null!=this.specialHandle&&(this.specialHandle.node.style.display=this.graph.isEnabled()&&this.graph.getSelectionCount()<this.graph.graphHandler.maxCells?"":"none");this.redrawHandles()});this.selectionHandler=mxUtils.bind(this,function(a,c){b()});this.graph.getSelectionModel().addListener(mxEvent.CHANGE,this.selectionHandler);this.changeHandler=mxUtils.bind(this,function(a,c){this.updateLinkHint(this.graph.getLinkForCell(this.state.cell),this.graph.getLinksForState(this.state));
b()});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);this.updateLinkHint(c,d);if(null!=c||null!=d&&0<d.length)a=!0;a&&this.redrawHandles()};mxVertexHandler.prototype.updateLinkHint=function(b,c){if(null==b&&(null==c||0==c.length)||1<this.graph.getSelectionCount())null!=
this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);else if(null!=b||null!=c&&0<c.length){null==this.linkHint&&(this.linkHint=a(),this.linkHint.style.padding="6px 8px 6px 8px",this.linkHint.style.fontSize="90%",this.linkHint.style.opacity="1",this.linkHint.style.filter="",this.graph.container.appendChild(this.linkHint));this.linkHint.innerHTML="";if(null!=b&&(this.linkHint.appendChild(this.graph.createLinkForHint(b)),this.graph.isEnabled()&&"function"===typeof this.graph.editLink)){var d=
-document.createElement("img");d.setAttribute("src",IMAGE_PATH+"/edit.gif");d.setAttribute("title",mxResources.get("editLink"));d.setAttribute("width","11");d.setAttribute("height","11");d.style.marginLeft="10px";d.style.marginBottom="-1px";d.style.cursor="pointer";this.linkHint.appendChild(d);mxEvent.addListener(d,"click",mxUtils.bind(this,function(a){this.graph.setSelectionCell(this.state.cell);this.graph.editLink();mxEvent.consume(a)}));d=document.createElement("img");d.setAttribute("src",Dialog.prototype.clearImage);
+document.createElement("img");d.setAttribute("src",Editor.editImage);d.setAttribute("title",mxResources.get("editLink"));d.setAttribute("width","11");d.setAttribute("height","11");d.style.marginLeft="10px";d.style.marginBottom="-1px";d.style.cursor="pointer";this.linkHint.appendChild(d);mxEvent.addListener(d,"click",mxUtils.bind(this,function(a){this.graph.setSelectionCell(this.state.cell);this.graph.editLink();mxEvent.consume(a)}));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!=c)for(d=0;d<c.length;d++){var e=document.createElement("div");e.style.marginTop=null!=b||0<d?"6px":"0px";e.appendChild(this.graph.createLinkForHint(c[d].getAttribute("href"),
mxUtils.getTextContent(c[d])));this.linkHint.appendChild(e)}}};mxEdgeHandler.prototype.updateLinkHint=mxVertexHandler.prototype.updateLinkHint;var C=mxEdgeHandler.prototype.init;mxEdgeHandler.prototype.init=function(){C.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.selectionHandler=mxUtils.bind(this,function(b,c){a()});this.graph.getSelectionModel().addListener(mxEvent.CHANGE,this.selectionHandler);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.getModel().addListener(mxEvent.CHANGE,
diff --git a/src/main/webapp/js/stencils.min.js b/src/main/webapp/js/stencils.min.js
index 59ca41d1..ef59d3ad 100644
--- a/src/main/webapp/js/stencils.min.js
+++ b/src/main/webapp/js/stencils.min.js
@@ -144,11 +144,11 @@ f['rack/ibm.xml'] = '7V1tc9s2DP41/jgeSIp6+bhla7vbcte7XXv7qrpuk6tj5+xsy/brJ79IDRB
f['rack/f5.xml'] = '7V3JciQ3kv0aHistgNiPPerFdOgZWR/G5pqqSpZoTZFlyZpW9Xz9JJck6Q/JIDaHeyRBtanFLJbzweEAnm/ARfvT3W/bb7u7C9vcbH/fXbR/vrD29x9f99tvv23228//3Fz2h08u2r9cNH+6ePrpww9v777tPn9//PF/bfdX21+vd/c/Z5vfHj+082Z+/OBF7p/+8T+H703TNI9/cvd9f/vP3R9XX74//aWrm992+6vvj3/6x+NnZmg20ysMtnn5X/vT59ubmwOQq9ubwxD+evJHfj2M4uv+9n9vvpz4Y/qj+/sxnRiCA8U2Px4/ehrJv19/dxrG4fNFJO1Pl7f7nSfQR819vr2+3R8+ePz/BwQXtu27+3/eRAK/8+r6+rSYqbv/J0DMI6a0XxqEnc7WRKZqbMg0wTxZ8zSzuUe2NC+XD1+ev3Z3fX317W73MjzTkPG1dHzG9mSAveevyTFnzcNX1Jy1m56Miq6tlo7JdhvfYYVNWgimzmrAdDTnJ1BDIUV9295v1Is/RP/C77f/2r3APK7JUJhU5vXVzYLMKUIioIxU5iLKPjfKiUGXKNMP5cPJ5mEZy5vNgxTnAHz49JFyBBMQ023m/g0G0q+EgbwaQ6UghSjI41fUcdYtb9OwCQSMK5V6BI3pbdVcXgac9O8xGEOVY7qRqofpDGPhMRYmfqBDayexmQ8inUGko6XzNRWfr1ILNWxkaWP6/PCVZUzUBpk3nwQoJdX7668pGxjYjKXLYd7AwMxmLDeyYpvXwGo5YViM74B5wDR6wcjOEsXCu9e8g+Xw57gsRefJxSM6VS4c0dk6+DvgKs+bydcNLYSoV4fI5EckQyknur1zUcrEMBaEAH1RUpE08gIijd8iXAQZx84XQY65Qfb5Ndln1+TcZgcJInOAjFs5iyCn3CBNk1+VKNMTZp6gJf1JgQwJjj7k8I7NReDxRBHN9GjiCd6FAIIzJReg/PHqtxPmtibMa7S6fETD9BsDp+nzJyVCGpeX8xwZ37NkXC0dVmvonjlkD0BlY89FjhQsJWjAuwjxLfJUSgQNLpHNm45aw+xZGUJlAikBmTHUCWlOwy3S+AUiFkW2M7fIyPn5fH1752WW+WnhWW0G1jD55Oqzl7ahZyXoCSLTIWhz0ACus/IYfOI7K0PAsB/cAWCMJs00kyYwrR4wsyLFzIr0MvWKsDR6sGChnigWRXoZrB4s/agIiyK9YAGVKBZFemkV6aVVpBfLrpclvnrPxj1/ncvFyagsHRVouM0+qiA4ZtYFZ1ANJ78JJk2WMBw0ZcWBytQg3LEYOCzmSEVC4AhEerZELaOMiowuo+yzo7T5dQkis6DMr0usZMqAEmv8MqDE6jjfNZ0jMlm0y8bWLpuat5Qu3rcFT0wVceraZVO7bMLnq5ZExoE835LIshVytZer9nIFqrf2cp2YrdrLFQmm0Qum9nIdD67ayxUGR3S2ai9XDKL19nJp70yYKFcPy3zwQIK5LwNped7mhkDi8jdDII1xLpFED0c3P4cNMRraraWJ49UYajS0UFAszZeBkF/f0OVD9+Ex8+my5P9eXkb6v7htUvfMQBVFF3bfXdEzU0PRdtsLFG2X7eHY0I6Lbtz42TmVil0cILU97IzpUpumkNg2h9gDuCJiI2es9nU8i0nbIspfh6siW2Ybes6AljCl5Pt7cvECviPUQlt0/iM0DE6nC06jCo7RpR2jSzvNoAsOOzlVUFbbmcxjSqnTFAYzKAYT4siyT5MoGDTg3GC0ltJ6O39U6HIxbedbN7SMNNJNXUbaMyC1HDoFoZmQcujUcugUMot5kIJQb6Rlq10SKkMgMtuRPQ5qpoKOotjY/SKgoeEBVLSOuZYx18D9W790ePiKWsmmAT/CzJsJOoDhwoOCnkRCQd7x0qhjypsaIKa7S0buVYSc6DtVE1HODPS9sDV3D1+xA1t0BeAan5BJyA+mazWBGRWBgWnKnSxM0owsmL5nnaalbSuILia6j8D0vX4plbf4PleMwCWA6Vk+ABgjcAmg8aO8AQg9JZZOeQWdHZlcI2cF09tHZ7KCh3EDS7h479P88BU7uKUaqWGGwYWl/HV4WU92Xt0smKDqZtVu0dotmpqmq92i2eardovGgazdorVbtHaL1m7RrCOr3aLlwTR6wdRu0ePBVbtFw+CIzlbtFo1BtN5uUduQsa3j5b/6FFwukPUpuPQlpL3huj4FFx0mH5/bozBMPoSGyR+yRcVj5C8DqDHyFcTIG7pq4ubJBXoeIXJLDRmcf3rk8Ez6ko6CKtAS+Q+1hM5PpVQgHNmDiRG50nbOoKly7dA8lwc+mWI3YcHg/FJC+OzzbkxI4Uyex6ii3QRzvK7gZBEOvELCVN9cJEb77nlohtyencCEjVOJCQtBNHfaEDm9NQog2YSeNiZIEr0N70Dqi1h3tsOfqy6J6mikOzYWXQV05ISpKQjW1KqENWMVlw5YxvQ6cbVGJ66umNUvbQ5Bq/rtzeHLw5enmEQHY6DnTh/zfvB2f2BozfV2/3X36fDfny6vt18Jwdofs9HH74+TtHn67Xd/7HbfXv09Q7e0Y1T+0/bH1d2n/e337X0Q5RSHG2LKnT2vtFlS42T1q/GIUbEaIeytUo1HjIrViNeXqNTjM0jNioT0uk5FPt80JatI/xhRvhNX/tovuPRr05+em2OzS4mcTBikoHx2GUjHG31UYTIhXl8hTK2vzRbEFNSS9FGdctOPGvwmxytXgstxy5Xgcv1yLcAcx1wLMMcz5wOWraOX7n/D8v4HXHvw3UBit+MwOJNvMrcMnNk3M1YGjvFu7S2Ex/tt0kJ4vG+p/Rh0fhhgMxtnpr0sCdVc5l2Ld1D1Tu1sM4W1aZStAbPz5ql//aUE7D9+/tvh+59/OfzLND9W0i/9MpCPWAoW7Ayc0eXay5VTR9fspeBBgIjJb/HLVb2gojLP8fgDsjyREZYiR1o7Re8GcRqX8t9LRsHQHbEFMG3KrKeWOEXfOA+1EtC80sBddk3BQfEV3UNjREi2tejWFTQoA4NS8AYYYAq6fivPSZGJDwRl06EaKdutMyk6SszwQ5NKjrYfKMPKcTkxRZkfY26EvjGsEIxxMpdQevbfhoCMErmIkcMkvYWeSS9ahyGA7AdjCBq80UQUixN/lkTTwama+02EJJsRRQM2I4sFbUYUjXWSdJIWbGc9WNpOk2Y6ZPGCWMBN0mW/smhmPVgc+82OJlNcJ7XIODLuSGXCDQkNu0zbJEucOm6JflO4JBFuO2aQmD7qIYMeWcoY1fgDNPiHM1B2lwMs2c8ihmfkuxPPyL9O/t1n/x7/XHny79VIavavZrVOJpFaifqARUClG+a5slrQxtvyXji3mNOy8wbSWq3deJeDKc5rWcEUUM1JPP50zUlkwFhzEjUncVrQWeQknChqy3uX5zuxllYRlkmTZiDqIYsF+ytE0cBrkLJYMFsjigayNaJYTDMrAmMwppsdzrlVoa63CDWoYRDCNERF4EWCcxzi4MT66iF4VlsKVjLnAUaegU4iR80vsk0X6bwxn1ui9dtOlyR26QKLX4lQ6GXA1yHvYSXtLh/8ecDa7yLNNFjCzNBcR18t72iY2RZkmNozHS1cN6qglB5KThRCKnEFTFCCqvA6Tblm2J84K+PxIbuGcKDR33K4WhqDgiM0AJC/mSxoYeFVKiV72wo1DwpmWTGsXEy1pdoGV2EsdNezDRkR1I6pfb5LnizlogHlnVW7lrsZqrNandVzD4vzNX9boqIQc2RqkqaAuC420+ZIrZmc23gbSodCqVbfECi569gqLa+0XFePAqxE582GomtxsTxIFApWB4m2y9HtUrTzFO1FtPW01QMF7UXpQZKaUB/JIK3Xb6UCoZOu5xVo0hvpBm6JGZLpY7LAgo155SMTbU2j18hEjUyoTKP38Q+4n3uopabRIyDVNHpNo7Mr+cOk0eHtadk0eo/tFzWNXuN1rwekJl7HlUaHZqiaRr94iywpoAF0rjRQJShZVQEp3qKL6Gi95RjtXIMeNehRgx416LHmc1zDGVWDHjXoUYMeNehRgx416JFNtTXoUYMePsuoBj1SIdWgR6iO1hv06GoPSg161KDHmR97tQdFh0O+ZifPxttQOpSny1Jf+sMJFqW1w9W/C1Ht+fl3tQmlNJTahFKbUGoTSm1CqU0o8IMXK2xC6WtoooYmamiihibSFVRDE2cdmmDn/TUgUAMCmgMCcM5Iur3O1Y2SYHo9UJw9SviGzU4TGP7rPlVdhcpynBh6ntA9rzWgYcOqX6DFAAbKxcJY8bnzYdtEb1lMeR8KSAMftvHbehFA+XSUP+pi580T3TsZdBnW0gTzMo4ac6kxl4u3Yy5cDuqaDxlQURjD4Y8pWMsCR9yLZ6A68Y584Kyvw5e3TcFBsS3PgWaGij4WHrR1JXAkM+sjkmfThgXdkmVKuAMQGS4vogD1+vLwFTVnJluWMEVHidUEYFueE0klLr85HidzCWV+jLkRxj1Zv4wxTubiE/N+FhkCMkrkIkYOk/QW6l9q8TE8DWDAKk79ViET6RTqqVOop16hnnqFehoU6gm94RKFDEE7gQJEnToddep01KvTUa9OR4M6HY1HCsUW1ghCM+nBMrWaNAPBJ9GiCcdmZNFMerA4NpMBTfFk47iWCu+abKzJRvJtTTbWZGNNNr4GU5ONK002trSX/jySjcbAoBSEPwATk0tWM2A1A3YCZc2A1QxYGsqaAXsRE7Tt4/mq4ChCTq4BE+hJQcQSHQV5RF2nKVLo5OIksfSaNAOcWrYhD21GtiOvUYQFbWYdfcOBjV68rcNhnV5h4TElUepp/vFktDVKTeeoRqlrlNpXT9ppeo1S1yh1jVKrjVLXlphsm05tiaktMXmpV00IENuqCYGaEEgBWRMCZ+1p1JaY2hLDGobXgEmhnmpLTMROoABRbYkJ3gM0IFKno9oSU1tiIi2ntsR80JaYeDQzVqDqwaKyVejkaxB/+fvh265ZSZdQfQeiJmDpt28lYGv+1dmjWnqShJgj16MCBJCGe2+pFX2MdyDEM9T16QW+3PQZJKZ7G71vZYei6VlI0Ivwjf6ombXc6U9phaW0YkhhFWfPJxptfIIC0sAnPs49+r7mWKb6JCQWUKD0xBZWMl8NZ/xTxEyEPa6i4X1IheIvf73a737Z3t0dPjS2RmHWEIUJ2sE+TngBilf8HttlzUa1BQDpj5s1dKU29Jzq4qrgPpJhj40ywx77AoDeVvT88JWdwc3UndV8kp9qZ3t1kHdmJQf5x25n2z18fdBTwdJ5t3AqDBDN4fGnWPaYY0D0OLRjcdPppq+AcaVOfNAB9YZqbm5vfC02seI+Rk9UHi1uBnl+h5Y/QON3WiwhdHKIMSIpRhSZrkZHYroi5ya3JkGiN0O5yF7Fnosu3p9ZT9vMdv/57ur/dsehbfqRcAPTIHdrlmhOlob9U9ph5drzfJ+/SlZeQzQ3guIsVZxpQHOleW+pBJeGqul+VAdp6NVBAs+QC1L5YDpVdYkyiAA4XGrOxt0SmddAt7kx+TiepnSJixD9iHoIxBiJSxA9X2MPgBglcRGi3zILgRgjcRFiOjVEiOkcGyBmXy6eEj9eDyY9GeFaKqJCBSFTel1c2BGSG8yUcp5piEKk3dhhUDkbUA/1cEtzqpS7SJZITNtATM02m+zleUGlj9gANObHw1IAaciwDBnW3OGYeFUcgmXe8JYLBmA5LMLcta7xWNqNVYOl3/jxurKtO133nJZ5yTj998+//OPn//rPw2e2W0nC6dU4PmLGqXv4YjnPChz5Qd1HiT4wBCDSST0I9L2xbUnkOG0YpE5IEzxzhWEy/aYxbPS+Fd9BUj2Xi//UZxAINZC+VeH+IiNV+fn69s5js6B/aWndWb9z2V/5puewkSxSnTXimV8IkpkhDOWM/tnZzCs1PaaXXSDUVPtmzgJExqkyw7qbnDsHMgQsnbsvcqwT0w8cQiH+m772nPv90hWKQ8+y8hyhGYLpjjFlkOlsZTmWnytVzwpsh02O3IsjttkM6WLRanJJpWumbXOowJGaRbGOBiYOvR4cVg4jyCQWV8+BimbQgestRKrWc1X6Z07UV3Lgo4i+qSOOLIPBGs7saLLFHBZfXzE0bm3pmDx/Q55ASkK5BQzquCX+IFPDN6oQMJMRVHFGuxmpijtuy2GpZqYpHKhlxrstmXMdi1gwkF6w/d/agNc7loZEc9gTNRjefMkSEDOxAhE4Jy3eFiF6UuKZInpqw0Vy3I+3BHIIYTwwU9Jo0IoLXxCio5OooaduA6cuaEh77Wa59BeX26O7aOyd2xwSrtFkul8i6aknJkxYLFsEUxeCScHVz5OTJpI81526JMlTvdGkmFnTNDlGI0wx3LItUTQ4V9L0tGGHI/JqnTGOGcqfhCdAaTgMjXXfJVdwHrqwFByJ4Fy2VnLtomspisZx5WTRWD1Y0Gby9yunWY0sHpwpYTSOFa+yu7yUe9mWuCUyDJFvMU1B97It9JBrECb5jjLHUxDdpcFPkD0xGk2KQZdFFI1rNLIHBpqNMBpnroTJBhqy4tM0zZNTcBKeAKXhMHT9OBXn4QlYuY7E/N1r07x5qsU41bzWraV57WUYH7F3LajIIlehXv/wFbUFwjWAtMSJllt1vBFnQ++2MS0tTMLen/T+U5YphbVAhkTLVeDyhzZ30/M5eaBljrh3fKsiXrG2C135bsJN0RJLDSFdrKanw4IWqJBxpc570JgSO4rpMBkajKJELmJMb9J1MMaIXMSY3k3rYPTdCHzLZ/LsUcFvb7IUWwGV6MhKNvCgYmm2llAev3hzDlz12294+drirTlAHW12LCw35tATwC5evF+uvDiB3Ydx6i6MZnHDGXzXfwkwY1g4Yw0eR8f9FGIAloG3bSAAyZj/KizdnliQ19PLV2cAok5DGQtgGjS8qYiYSpRGBWlp4iFeCToaw3ZEpgu8G8ozJFM7gxM+l0QzOlUtomgwRiU5T2Azshe3ulYjiwdnShiNY8XCs0VtpwuJa7JbjigaZ6Zk0SDv0WMzve91NIWsRhjPiJxZ134jPVvUdoJ4KbvliKJxZkoWTYL/wG0z3JGLUKuRxYMzJYzGsWLh2aK2E+jjsduOMB5ntqTxJHnkzLYz8UYpAy1HFA3MkywWtOHCaGjiAF51DKoTyY3FNAlFK8yKKU5Dl1UjDAeUM4SUqXKrRhQMKGbivr0rTDUMcIqnBc3x6VW+DFg8GMHEIEIRzZcimKLloim3DdJB0TIRbGTpc9w2mL8w//kOv5N1+dNK6vKfR/ERy/K3X7aDdwllvordNVTD4dVNLEoSqIaDAhPWnXu5Fo4+qliucCyhEo4OCCvhGqEBpVTCtdiURIYElVG85/w7WPAlHlEwXacIzID1ipJg4N5bWTDolwijsY0mNO3Mi4bFY3suxn05t5/DXEcLBPpsnjbmEiMr+codtCFm6KWA6vSYp+O2+8PJ2lxv9193nw7//enyevuVsOj9cZaevv03+fbuj93u26u/RJ/bPJby//i0/XF192l/+3177xScYuk5WnTaMV0kqz5M56+QDA/Emx5OvRiTY3nWQ2w7WmoTPl5m/BwnybwL6a6fprt0C3u0weeji9ThUkwdYJqlAaGSKCDm7M0YAMWYcs5NmcVpxlW8ixC4qJhNJsh6uaPEoaqRxUOVM/MWEQWqRhQNKIa7BjhUNdx4gnbhoGt9Ve7CMKJKkV7ppsVn/xRQJDtJI0ItASJRkgRYzoAl4Y5zDizJWVeiLAntV5aWuLqRxQPaEWUmjm5E0aBmZImSqxtZooQ78fqZElxhXJnSK930Rh9T6kZpRKglQCTKlADLGTAlfFXrHJiSs65EmRLarywzcXUjiwe0I8pNHN2IokHNyDIlVzeyTAl34vUzpQHy4pUpvehmbPQxpWGQRoRaAkSiTAmwnAFTgvV5FkzJWVeiTAntV5aZuLqRxQPaEeUmjm5E0aBmZJmSqxtZpoQ78fqZ0oQXX1am9KIbbMJSwJQmcUSOloqeesvrE7CcAVOC9XkWTMlZV6JMCe1Xlpm4uhHGo4ibOLqRRVOYmYTqRpYp4U68fqaEb/lVqkSUgx03CriSaTppSK6eKCRRtoRgzoAu4SI9C77kLi5RwuTYsHBZt6sdaUBUP7KV3Y52hOGAboSLu13tyNImZ0s+A94Ejy9V3kSUMyrkTfjakALeBJBkeRM+YXcGvAkW6XnwJmdxyfImtGFhmuJqRxoQ1Y8sUXG0IwwHdCPMm1ztCPMm3JLPgDd1cKVP5U2vlZP0IAATb+qsNCRXTxSSLG8CMOfAm2CRngdvchaXLG9CGxamKa52pAFR/cgSFUc7wnBAN8K8ydWOMG/CLTkDb/K+Zfj4wd3jJ/8P';
f['rack/hp.xml'] = '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';
f['rack/general.xml'] = '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';
-f['webicons.xml'] = '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';
+f['webicons.xml'] = '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';
f['veeam/2d.xml'] = '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';
f['veeam/3d.xml'] = '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';
f['sitemap.xml'] = '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';
-f['weblogos.xml'] = '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';
+f['weblogos.xml'] = '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';
f['aws/compute.xml'] = '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';
f['aws/deployment_management.xml'] = '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';
f['aws/messaging.xml'] = '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';
diff --git a/src/main/webapp/js/viewer.min.js b/src/main/webapp/js/viewer.min.js
index 931f028a..b956c218 100644
--- a/src/main/webapp/js/viewer.min.js
+++ b/src/main/webapp/js/viewer.min.js
@@ -105,7 +105,7 @@ ko:"한국어",ja:"日本語",zh:"中文(中国)","zh-tw":"中文(台灣
function setCurrentXml(a,b){null!=window.parent&&null!=window.parent.openFile&&window.parent.openFile.setData(a,b)}
(function(){if("undefined"!==typeof JSON&&isLocalStorage)try{var a=localStorage.getItem(".drawio-config"),b=!0;null!=a&&(b=JSON.parse(a).showStartScreen);0==b&&(urlParams.splash="0")}catch(c){}a=urlParams["export"];null!=a&&("http://"!=a.substring(0,7)&&"https://"!=a.substring(0,8)&&(a="http://"+a),EXPORT_URL=a);window.DRAWIO_LOG_URL=window.DRAWIO_LOG_URL||"";b=window.location.host;"test.draw.io"!=b&&(a=b.length-7,b=b.lastIndexOf("draw.io",a),-1!==b&&b===a&&(window.DRAWIO_LOG_URL="https://log.draw.io"))})();
if("1"==urlParams.offline||"1"==urlParams.demo||"1"==urlParams.stealth||"1"==urlParams.local)urlParams.analytics="0",urlParams.picker="0",urlParams.gapi="0",urlParams.db="0",urlParams.od="0",urlParams.gh="0",urlParams.tr="0";if("1"==urlParams.offline||"1"==urlParams.local)urlParams.math="0";"1"==urlParams.lightbox&&(urlParams.chrome="0");window.urlParams=window.urlParams||{};window.MAX_REQUEST_SIZE=window.MAX_REQUEST_SIZE||10485760;window.MAX_AREA=window.MAX_AREA||225E6;window.EXPORT_URL=window.EXPORT_URL||"/export";window.SAVE_URL=window.SAVE_URL||"/save";window.OPEN_URL=window.OPEN_URL||"/open";window.RESOURCES_PATH=window.RESOURCES_PATH||"resources";window.RESOURCE_BASE=window.RESOURCE_BASE||window.RESOURCES_PATH+"/grapheditor";window.STENCIL_PATH=window.STENCIL_PATH||"stencils";window.IMAGE_PATH=window.IMAGE_PATH||"images";
-window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"3.9.5",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&
+window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"3.9.6",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&
0>navigator.userAgent.indexOf("Edge/"),IS_OP:0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/"),IS_OT:0<=navigator.userAgent.indexOf("Presto/")&&0>navigator.userAgent.indexOf("Presto/2.4.")&&0>navigator.userAgent.indexOf("Presto/2.3.")&&0>navigator.userAgent.indexOf("Presto/2.2.")&&0>navigator.userAgent.indexOf("Presto/2.1.")&&0>navigator.userAgent.indexOf("Presto/2.0.")&&0>navigator.userAgent.indexOf("Presto/1."),IS_SF:0<=navigator.userAgent.indexOf("AppleWebKit/")&&
0>navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_IOS:navigator.userAgent.match(/(iPad|iPhone|iPod)/g)?!0:!1,IS_GC:0<=navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:0<=navigator.userAgent.indexOf("Firefox/"),IS_MT:0<=navigator.userAgent.indexOf("Firefox/")&&0>navigator.userAgent.indexOf("Firefox/1.")&&0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&&
0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_SVG:0<=navigator.userAgent.indexOf("Firefox/")||0<=navigator.userAgent.indexOf("Iceweasel/")||0<=navigator.userAgent.indexOf("Seamonkey/")||0<=navigator.userAgent.indexOf("Iceape/")||0<=navigator.userAgent.indexOf("Galeon/")||
@@ -533,9 +533,9 @@ mxShape.prototype.updateHtmlColors=function(a){var b=this.stroke;null!=b&&b!=mxC
mxUtils.addTransparentBackgroundFilter(a):this.setTransparentBackgroundImage(a)};
mxShape.prototype.updateHtmlBounds=function(a){var b=9<=document.documentMode?0:Math.ceil(this.strokewidth*this.scale);a.style.borderWidth=Math.max(1,b)+"px";a.style.overflow="hidden";a.style.left=Math.round(this.bounds.x-b/2)+"px";a.style.top=Math.round(this.bounds.y-b/2)+"px";"CSS1Compat"==document.compatMode&&(b=-b);a.style.width=Math.round(Math.max(0,this.bounds.width+b))+"px";a.style.height=Math.round(Math.max(0,this.bounds.height+b))+"px"};
mxShape.prototype.destroyCanvas=function(a){if(a instanceof mxSvgCanvas2D){for(var b in a.gradients){var c=a.gradients[b];null!=c&&(c.mxRefCount=(c.mxRefCount||0)+1)}this.releaseSvgGradients(this.oldGradients);this.oldGradients=a.gradients}};
-mxShape.prototype.paint=function(a){var b=this.scale,c=this.bounds.x/b,d=this.bounds.y/b,e=this.bounds.width/b,f=this.bounds.height/b;if(this.isPaintBoundsInverted())var g=(e-f)/2,c=c+g,d=d-g,g=e,e=f,f=g;this.updateTransform(a,c,d,e,f);this.configureCanvas(a,c,d,e,f);g=null;if(null==this.stencil&&null==this.points&&this.shapePointerEvents||null!=this.stencil&&this.stencilPointerEvents){var k=this.createBoundingBox();this.dialect==mxConstants.DIALECT_SVG?(g=this.createTransparentSvgRectangle(k.x,k.y,
-k.width,k.height),this.node.appendChild(g)):(k=a.createRect("rect",k.x/b,k.y/b,k.width/b,k.height/b),k.appendChild(a.createTransparentFill()),k.stroked="false",a.root.appendChild(k))}if(null!=this.stencil)this.stencil.drawShape(a,this,c,d,e,f);else if(a.setStrokeWidth(this.strokewidth),null!=this.points){c=[];for(d=0;d<this.points.length;d++)null!=this.points[d]&&c.push(new mxPoint(this.points[d].x/b,this.points[d].y/b));this.paintEdgeShape(a,c)}else this.paintVertexShape(a,c,d,e,f);null!=g&&null!=
-a.state&&null!=a.state.transform&&g.setAttribute("transform",a.state.transform)};
+mxShape.prototype.paint=function(a){var b=!1;if(null!=a&&this.outline){var c=a.stroke;a.stroke=function(){b=!0;c.apply(this,arguments)};var d=a.fillAndStroke;a.fillAndStroke=function(){b=!0;d.apply(this,arguments)}}var e=this.scale,f=this.bounds.x/e,g=this.bounds.y/e,k=this.bounds.width/e,l=this.bounds.height/e;if(this.isPaintBoundsInverted())var m=(k-l)/2,f=f+m,g=g-m,m=k,k=l,l=m;this.updateTransform(a,f,g,k,l);this.configureCanvas(a,f,g,k,l);m=null;if(null==this.stencil&&null==this.points&&this.shapePointerEvents||
+null!=this.stencil&&this.stencilPointerEvents){var n=this.createBoundingBox();this.dialect==mxConstants.DIALECT_SVG?(m=this.createTransparentSvgRectangle(n.x,n.y,n.width,n.height),this.node.appendChild(m)):(n=a.createRect("rect",n.x/e,n.y/e,n.width/e,n.height/e),n.appendChild(a.createTransparentFill()),n.stroked="false",a.root.appendChild(n))}if(null!=this.stencil)this.stencil.drawShape(a,this,f,g,k,l);else if(a.setStrokeWidth(this.strokewidth),null!=this.points){for(var n=[],p=0;p<this.points.length;p++)null!=
+this.points[p]&&n.push(new mxPoint(this.points[p].x/e,this.points[p].y/e));this.paintEdgeShape(a,n)}else this.paintVertexShape(a,f,g,k,l);null!=m&&null!=a.state&&null!=a.state.transform&&m.setAttribute("transform",a.state.transform);null!=a&&this.outline&&!b&&(a.rect(f,g,k,l),a.stroke())};
mxShape.prototype.configureCanvas=function(a,b,c,d,e){var f=null;null!=this.style&&(f=this.style.dashPattern);a.setAlpha(this.opacity/100);a.setFillAlpha(this.fillOpacity/100);a.setStrokeAlpha(this.strokeOpacity/100);null!=this.isShadow&&a.setShadow(this.isShadow);null!=this.isDashed&&a.setDashed(this.isDashed,null!=this.style?1==mxUtils.getValue(this.style,mxConstants.STYLE_FIX_DASH,!1):!1);null!=f&&a.setDashPattern(f);null!=this.fill&&this.fill!=mxConstants.NONE&&this.gradient&&this.gradient!=mxConstants.NONE?
(b=this.getGradientBounds(a,b,c,d,e),a.setGradient(this.fill,this.gradient,b.x,b.y,b.width,b.height,this.gradientDirection)):a.setFillColor(this.fill);a.setStrokeColor(this.stroke)};mxShape.prototype.getGradientBounds=function(a,b,c,d,e){return new mxRectangle(b,c,d,e)};mxShape.prototype.updateTransform=function(a,b,c,d,e){a.scale(this.scale);a.rotate(this.getShapeRotation(),this.flipH,this.flipV,b+d/2,c+e/2)};
mxShape.prototype.paintVertexShape=function(a,b,c,d,e){this.paintBackground(a,b,c,d,e);a.setShadow(!1);this.paintForeground(a,b,c,d,e)};mxShape.prototype.paintBackground=function(a,b,c,d,e){};mxShape.prototype.paintForeground=function(a,b,c,d,e){};mxShape.prototype.paintEdgeShape=function(a,b){};
@@ -1959,7 +1959,7 @@ Editor.checkmarkImage=mxClient.IS_SVG?"data:image/gif;base64,R0lGODlhFQAVAMQfAGx
Editor.zoomInImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVBAMAAABbObilAAAAElBMVEUAAAAAAAAsLCwhISFxcXFgYGBavKaoAAAAAXRSTlMAQObYZgAAAElJREFUCNdjIAMwCQrB2YKCggJQJqMIA4sglK3owMzgqABVwsDMwCgAZTMbG8PYCHGEeoQ5CPMFFRD2MkFshmpSQLBRJFSJ8wcAEqcEM2uhl2MAAAAASUVORK5CYII=";Editor.zoomFitImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVBAMAAABbObilAAAAD1BMVEUAAAAAAAAwMDBwcHBgYGC1xl09AAAAAXRSTlMAQObYZgAAAEFJREFUCNdjIAMwCQrB2YKCggJQJqMwA7MglK1owMBgqABVApITwMdGqEeYgzBfUAFhLxPEZqgmBQQbRUKFOH8AAK5OA3lA+FFOAAAAAElFTkSuQmCC";
Editor.layersImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAMAAACeyVWkAAAAaVBMVEUAAAAgICAICAgdHR0PDw8WFhYICAgLCwsXFxcvLy8ODg4uLi4iIiIqKiokJCQYGBgKCgonJycFBQUCAgIqKiocHBwcHBwODg4eHh4cHBwnJycJCQkUFBQqKiojIyMuLi4ZGRkgICAEBATOWYXAAAAAGnRSTlMAD7+fnz8/H7/ff18/77+vr5+fn39/b28fH2xSoKsAAACQSURBVBjTrYxJEsMgDARZZMAY73sgCcn/HxnhKtnk7j6oRq0psfuoyndZ/SuODkHPLzfVT6KeyPePnJ7KrnkRjWMXTn4SMnN8mXe2SSM3ts8L/ZUxxrbAULSYJJULE0Iw9pjpenoICcgcX61mGgTgtCv9Be99pzCoDhNQWQnchD1mup5++CYGcoQexajZbfwAj/0MD8ZOaUgAAAAASUVORK5CYII=";
Editor.previousImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABmJLR0QA/wD/AP+gvaeTAAAAh0lEQVQ4je3UsQnCUBCA4U8hpa1NsoEjpHQJS0dxADdwEMuMIJkgA1hYChbGQgMi+JC8q4L/AB/vDu7x74cWWEZhJU44RmA1zujR5GIbXF9YNrjD/Q0bDRY4fEBZ4P4LlgTnCbAf84pUM8/9hY08tMUtEoQ1LpEgrNBFglChFXR6Q6GfwwR6AGKJMF74Vtt3AAAAAElFTkSuQmCC";Editor.nextImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABmJLR0QA/wD/AP+gvaeTAAAAi0lEQVQ4jeXUIQ7CUAwA0MeGxWI2yylwnALJUdBcgYvM7QYLmjOQIAkIPmJZghiIvypoUtX0tfnJL38X5ZfaEgUeUcManFBHgS0SLlhHggk3bCPBhCf2keCQR8wjwYTDp6YiZxJmOU1jGw7vGALescuBxsArNlOwd/CM1VSM/ut1qCIw+uOwiMJ+OF4CQzBCXm3hyAAAAABJRU5ErkJggg==";
-Editor.zoomOutLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAilBMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2N2iNAAAALXRSTlMA+vTcKMM96GRBHwXxi0YaX1HLrKWhiHpWEOnOr52Vb2xKSDcT19PKv5l/Ngdk8+viAAABJklEQVQ4y4WT2XaDMAxEvWD2nSSUNEnTJN3r//+9Sj7ILAY6L0ijC4ONYVZRpo6cByrz2YKSUGorGTpz71lPVHvT+avoB5wIkU/mxk8veceSuNoLg44IzziXjvpih72wKQnm8yc2UoiP/LAd8jQfe2Xf4Pq+2EyYIvv9wbzHHCgwxDdlBtWZOdqDfTCVgqpygQpsZaojVAVc9UjQxnAJDIBhiQv84tq3gMQCAVTxVoSibXJf8tMuc7e1TB/DCmejBNg/w1Y3c+AM5vv4w7xM59/oXamrHaLVqPQ+OTCnmMZxgz0SdL5zji0/ld6j88qGa5KIiBB6WeJGKfUKwSMKLuXgvl1TW0tm5R9UQL/efSDYsnzxD8CinhBsTTdugJatKpJwf8v+ADb8QmvW7AeAAAAAAElFTkSuQmCC";
+Editor.editImage=mxClient.IS_SVG?"data:image/gif;base64,R0lGODlhCwALAIABAFdXV////yH5BAEAAAEALAAAAAALAAsAAAIZjB8AiKuc4jvLOGqzrjX6zmkWyChXaUJBAQA7":IMAGE_PATH+"/edit.gif";Editor.zoomOutLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAilBMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2N2iNAAAALXRSTlMA+vTcKMM96GRBHwXxi0YaX1HLrKWhiHpWEOnOr52Vb2xKSDcT19PKv5l/Ngdk8+viAAABJklEQVQ4y4WT2XaDMAxEvWD2nSSUNEnTJN3r//+9Sj7ILAY6L0ijC4ONYVZRpo6cByrz2YKSUGorGTpz71lPVHvT+avoB5wIkU/mxk8veceSuNoLg44IzziXjvpih72wKQnm8yc2UoiP/LAd8jQfe2Xf4Pq+2EyYIvv9wbzHHCgwxDdlBtWZOdqDfTCVgqpygQpsZaojVAVc9UjQxnAJDIBhiQv84tq3gMQCAVTxVoSibXJf8tMuc7e1TB/DCmejBNg/w1Y3c+AM5vv4w7xM59/oXamrHaLVqPQ+OTCnmMZxgz0SdL5zji0/ld6j88qGa5KIiBB6WeJGKfUKwSMKLuXgvl1TW0tm5R9UQL/efSDYsnzxD8CinhBsTTdugJatKpJwf8v+ADb8QmvW7AeAAAAAAElFTkSuQmCC";
Editor.zoomInLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAilBMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2N2iNAAAALXRSTlMA+vTcKMM96GRBHwXxi0YaX1HLrKWhiHpWEOnOr52Vb2xKSDcT19PKv5l/Ngdk8+viAAABKElEQVQ4y4WT6WKCMBCENwkBwn2oFKvWqr3L+79es4EkQIDOH2d3Pxk2ABiJlB8JCXjqw4LikHVGLHTm3nM3UeVN5690GBBN0GwyV/3kkrUQR+WeKnREeKpzaXWd77CmJiXGfPIEI4V4yQ9TIW/ntlcMBe731Vts9w5TWG8F5j3mQI4hvrKpdGeYA7CX9qAcl650gVJartxRuhyHVghF8idQAIbFLvCLu28BsQEC6aKtCK6Pyb3JT7PmbmtNH8Ny56CotD/2qOs5cJbuffxgXmCib+xddVU5RNOhkvvkhTlFehzVWCOh3++MYElOhfdovaImnRYVmqDdsuhNp1QrBBE6uGC2+3ZNjGdg5B94oD+9uyVgWT79BwAxEBTWdOu3bWBVgsn/N/AHUD9IC01Oe40AAAAASUVORK5CYII=";
Editor.actualSizeLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAilBMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2N2iNAAAALXRSTlMA+vTcKMM96GRBHwXxi0YaX1HLrKWhiHpWEOnOr52Vb2xKSDcT19PKv5l/Ngdk8+viAAABIUlEQVQ4y4WT2XqDIBCFBxDc9yTWNEnTJN3r+79eGT4BEbXnaubMr8dBBaM450dCQp4LWFAascGIRd48eB4cNYE7f6XjgGiCFs5c+dml6CFN6j1V6IQIlHPpdV/usKcmJcV88gQTRXjLD9Mhb+fWq8YG9/uCmTCFjeeDeY85UGKIUGUuqzN42kv7oCouq9oHamlzVR1lVfpAIu1QVRiW+sAv7r4FpAYIZZVsRXB9TP5Dfpo1d1trCgzz1iiptH/sUbdz4CzN9+mLeXHn3+hdddd4RDegsrvzwZwSs2GLPRJidAqCLTlVwaMPqpYMWjTWBB2WRW86pVkhSKyDK2bdt2tmagZG4sBD/evdLQHLEvQfAOKRoLCmG1FAB6uKmby+gz+REDn7O5+EwQAAAABJRU5ErkJggg==";
Editor.printLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAXVBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9RKvvlAAAAHnRSTlMAydnl77qbMLT093H7K4Nd4Ktn082+lYt5bkklEgP44nQSAAAApUlEQVQ4y73P2Q6DIBRF0cOgbRHHzhP//5m9mBAQKjG1cT0Yc7ITAMu1LNQgUZiQ2DYoNQ0sCQb6qgHAfRx48opq3J9AZ6xuF7uOew8Ik1OsCZRS2UAC9V+D9a+QZYxNA45YFQftPtSkATOhw7dAc0vPBwKWiIOjP0JZ0yMuQJ27g36DipOUsqRAM0dR8KD1/ILHaHSE/w8DIx09E3g/BTce6rHUB5sAPKvfF+JdAAAAAElFTkSuQmCC";
@@ -1985,11 +1985,11 @@ a.setAttribute("pageHeight",this.graph.pageFormat.height);null!=this.graph.backg
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(c,b){for(var e=a.getSelectionCellsForChanges(b.getProperty("edit").changes),k=a.getModel(),p=[],v=0;v<e.length;v++)(k.isVertex(e[v])||k.isEdge(e[v]))&&null!=a.view.getState(e[v])&&
p.push(e[v]);a.setSelectionCells(p)};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,e,c,k,l,q,p){var v=0;mxClient.IS_VML&&(null==document.documentMode||8>document.documentMode)&&(v=80);e+=v;c+=v;var d=e,f=c,g=Math.max(document.body.clientHeight,document.documentElement.clientHeight),n=Math.max(1,Math.round((document.body.clientWidth-e-64)/2)),r=Math.max(1,Math.round((g-c-a.footerHeight)/3));mxClient.IS_QUIRKS||(b.style.maxHeight="100%");e=Math.min(e,document.body.scrollWidth-64);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));var h=mxUtils.getDocumentScrollOrigin(document);this.bg.style.left=h.x+"px";this.bg.style.top=h.y+"px";n+=h.x;r+=h.y;k&&document.body.appendChild(this.bg);var m=a.createDiv("geDialog");k=this.getPosition(n,r,
-e,c);n=k.x;r=k.y;m.style.width=e+"px";m.style.height=c+"px";m.style.left=n+"px";m.style.top=r+"px";m.style.zIndex=this.zIndex;m.appendChild(b);document.body.appendChild(m);!p&&b.clientHeight>m.clientHeight-64&&(b.style.overflowY="auto");l&&(l=document.createElement("img"),l.setAttribute("src",Dialog.prototype.closeImage),l.setAttribute("title",mxResources.get("close")),l.className="geDialogClose",l.style.top=r+14+"px",l.style.left=n+e+38-v+"px",l.style.zIndex=this.zIndex,mxEvent.addListener(l,"click",
-mxUtils.bind(this,function(){a.hideDialog(!0)})),document.body.appendChild(l),this.dialogImg=l,mxEvent.addGestureListeners(this.bg,null,null,mxUtils.bind(this,function(d){a.hideDialog(!0)})));this.resizeListener=mxUtils.bind(this,function(){g=Math.max(document.body.clientHeight,document.documentElement.clientHeight);this.bg.style.height=g+"px";n=Math.max(1,Math.round((document.body.clientWidth-e-64)/2));r=Math.max(1,Math.round((g-c-a.footerHeight)/3));e=Math.min(d,document.body.scrollWidth-64);c=
-Math.min(f,g-64);var h=this.getPosition(n,r,e,c);n=h.x;r=h.y;m.style.left=n+"px";m.style.top=r+"px";m.style.width=e+"px";m.style.height=c+"px";!p&&b.clientHeight>m.clientHeight-64&&(b.style.overflowY="auto");null!=this.dialogImg&&(this.dialogImg.style.top=r+14+"px",this.dialogImg.style.left=n+e+38-v+"px")});mxEvent.addListener(window,"resize",this.resizeListener);this.onDialogClose=q;this.container=m;a.editor.fireEvent(new mxEventObject("showDialog"))}Dialog.backdropColor="white";
+function Dialog(a,b,e,c,k,l,q,p){var v=0;mxClient.IS_VML&&(null==document.documentMode||8>document.documentMode)&&(v=80);e+=v;c+=v;var d=e,f=c,g=Math.max(document.body.clientHeight,document.documentElement.clientHeight),m=Math.max(1,Math.round((document.body.clientWidth-e-64)/2)),r=Math.max(1,Math.round((g-c-a.footerHeight)/3));mxClient.IS_QUIRKS||(b.style.maxHeight="100%");e=Math.min(e,document.body.scrollWidth-64);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));var h=mxUtils.getDocumentScrollOrigin(document);this.bg.style.left=h.x+"px";this.bg.style.top=h.y+"px";m+=h.x;r+=h.y;k&&document.body.appendChild(this.bg);var n=a.createDiv("geDialog");k=this.getPosition(m,r,
+e,c);m=k.x;r=k.y;n.style.width=e+"px";n.style.height=c+"px";n.style.left=m+"px";n.style.top=r+"px";n.style.zIndex=this.zIndex;n.appendChild(b);document.body.appendChild(n);!p&&b.clientHeight>n.clientHeight-64&&(b.style.overflowY="auto");l&&(l=document.createElement("img"),l.setAttribute("src",Dialog.prototype.closeImage),l.setAttribute("title",mxResources.get("close")),l.className="geDialogClose",l.style.top=r+14+"px",l.style.left=m+e+38-v+"px",l.style.zIndex=this.zIndex,mxEvent.addListener(l,"click",
+mxUtils.bind(this,function(){a.hideDialog(!0)})),document.body.appendChild(l),this.dialogImg=l,mxEvent.addGestureListeners(this.bg,null,null,mxUtils.bind(this,function(d){a.hideDialog(!0)})));this.resizeListener=mxUtils.bind(this,function(){g=Math.max(document.body.clientHeight,document.documentElement.clientHeight);this.bg.style.height=g+"px";m=Math.max(1,Math.round((document.body.clientWidth-e-64)/2));r=Math.max(1,Math.round((g-c-a.footerHeight)/3));e=Math.min(d,document.body.scrollWidth-64);c=
+Math.min(f,g-64);var h=this.getPosition(m,r,e,c);m=h.x;r=h.y;n.style.left=m+"px";n.style.top=r+"px";n.style.width=e+"px";n.style.height=c+"px";!p&&b.clientHeight>n.clientHeight-64&&(b.style.overflowY="auto");null!=this.dialogImg&&(this.dialogImg.style.top=r+14+"px",this.dialogImg.style.left=m+e+38-v+"px")});mxEvent.addListener(window,"resize",this.resizeListener);this.onDialogClose=q;this.container=n;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";
@@ -2000,30 +2000,30 @@ 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,b){return new mxPoint(a,b)};Dialog.prototype.close=function(a){null!=this.onDialogClose&&(this.onDialogClose(a),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 PrintDialog=function(a,b){this.create(a,b)};
-PrintDialog.prototype.create=function(a){function b(a){var c=p.checked||d.checked,b=parseInt(g.value)/100;isNaN(b)&&(b=1,g.value="100%");var b=.75*b,n=e.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT,r=1/e.pageScale;if(c){var t=p.checked?1:parseInt(f.value);isNaN(t)||(r=mxUtils.getScaleForPageCount(t,e,n))}e.getGraphBounds();var x=t=0,n=mxRectangle.fromRectangle(n);n.width=Math.ceil(n.width*b);n.height=Math.ceil(n.height*b);r*=b;!c&&e.pageVisible?(b=e.getPageLayout(),t-=b.x*n.width,x-=b.y*n.height):
-c=!0;c=PrintDialog.createPrintPreview(e,r,n,0,t,x,c);c.open();a&&PrintDialog.printPreview(c)}var e=a.editor.graph,c,k,l=document.createElement("table");l.style.width="100%";l.style.height="100%";var q=document.createElement("tbody");c=document.createElement("tr");var p=document.createElement("input");p.setAttribute("type","checkbox");k=document.createElement("td");k.setAttribute("colspan","2");k.style.fontSize="10pt";k.appendChild(p);var v=document.createElement("span");mxUtils.write(v," "+mxResources.get("fitPage"));
+PrintDialog.prototype.create=function(a){function b(a){var c=p.checked||d.checked,b=parseInt(g.value)/100;isNaN(b)&&(b=1,g.value="100%");var b=.75*b,m=e.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT,r=1/e.pageScale;if(c){var t=p.checked?1:parseInt(f.value);isNaN(t)||(r=mxUtils.getScaleForPageCount(t,e,m))}e.getGraphBounds();var x=t=0,m=mxRectangle.fromRectangle(m);m.width=Math.ceil(m.width*b);m.height=Math.ceil(m.height*b);r*=b;!c&&e.pageVisible?(b=e.getPageLayout(),t-=b.x*m.width,x-=b.y*m.height):
+c=!0;c=PrintDialog.createPrintPreview(e,r,m,0,t,x,c);c.open();a&&PrintDialog.printPreview(c)}var e=a.editor.graph,c,k,l=document.createElement("table");l.style.width="100%";l.style.height="100%";var q=document.createElement("tbody");c=document.createElement("tr");var p=document.createElement("input");p.setAttribute("type","checkbox");k=document.createElement("td");k.setAttribute("colspan","2");k.style.fontSize="10pt";k.appendChild(p);var v=document.createElement("span");mxUtils.write(v," "+mxResources.get("fitPage"));
k.appendChild(v);mxEvent.addListener(v,"click",function(a){p.checked=!p.checked;d.checked=!p.checked;mxEvent.consume(a)});mxEvent.addListener(p,"change",function(){d.checked=!p.checked});c.appendChild(k);q.appendChild(c);c=c.cloneNode(!1);var d=document.createElement("input");d.setAttribute("type","checkbox");k=document.createElement("td");k.style.fontSize="10pt";k.appendChild(d);v=document.createElement("span");mxUtils.write(v," "+mxResources.get("posterPrint")+":");k.appendChild(v);mxEvent.addListener(v,
"click",function(a){d.checked=!d.checked;p.checked=!d.checked;mxEvent.consume(a)});c.appendChild(k);var f=document.createElement("input");f.setAttribute("value","1");f.setAttribute("type","number");f.setAttribute("min","1");f.setAttribute("size","4");f.setAttribute("disabled","disabled");f.style.width="50px";k=document.createElement("td");k.style.fontSize="10pt";k.appendChild(f);mxUtils.write(k," "+mxResources.get("pages")+" (max)");c.appendChild(k);q.appendChild(c);mxEvent.addListener(d,"change",
function(){d.checked?f.removeAttribute("disabled"):f.setAttribute("disabled","disabled");p.checked=!d.checked});c=c.cloneNode(!1);k=document.createElement("td");mxUtils.write(k,mxResources.get("pageScale")+":");c.appendChild(k);k=document.createElement("td");var g=document.createElement("input");g.setAttribute("value","100 %");g.setAttribute("size","5");g.style.width="50px";k.appendChild(g);c.appendChild(k);q.appendChild(c);c=document.createElement("tr");k=document.createElement("td");k.colSpan=2;
-k.style.paddingTop="20px";k.setAttribute("align","right");v=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});v.className="geBtn";a.editor.cancelFirst&&k.appendChild(v);if(PrintDialog.previewEnabled){var n=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();b(!1)});n.className="geBtn";k.appendChild(n)}n=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();b(!0)});n.className="geBtn gePrimaryBtn";k.appendChild(n);a.editor.cancelFirst||
+k.style.paddingTop="20px";k.setAttribute("align","right");v=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});v.className="geBtn";a.editor.cancelFirst&&k.appendChild(v);if(PrintDialog.previewEnabled){var m=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();b(!1)});m.className="geBtn";k.appendChild(m)}m=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();b(!0)});m.className="geBtn gePrimaryBtn";k.appendChild(m);a.editor.cancelFirst||
k.appendChild(v);c.appendChild(k);q.appendChild(c);l.appendChild(q);this.container=l};PrintDialog.printPreview=function(a){if(null!=a.wnd){var b=function(){a.wnd.focus();a.wnd.print();a.wnd.close()};mxClient.IS_GC?window.setTimeout(b,500):b()}};
PrintDialog.createPrintPreview=function(a,b,e,c,k,l,q){b=new mxPrintPreview(a,b,e,c,k,l);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 p=b.writeHead;b.writeHead=function(a){p.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==f||f==mxConstants.NONE?(d.style.backgroundColor="",d.style.backgroundImage="url('"+Dialog.prototype.noColorImage+"')"):(d.style.backgroundColor=f,d.style.backgroundImage="")}function e(){null==r?(n.removeAttribute("title"),n.style.fontSize="",n.innerHTML=mxResources.get("change")+"..."):(n.setAttribute("title",r.src),n.style.fontSize="11px",n.innerHTML=r.src.substring(0,42)+"...")}var c=a.editor.graph,k,l,q=document.createElement("table");q.style.width=
+var PageSetupDialog=function(a){function b(){null==f||f==mxConstants.NONE?(d.style.backgroundColor="",d.style.backgroundImage="url('"+Dialog.prototype.noColorImage+"')"):(d.style.backgroundColor=f,d.style.backgroundImage="")}function e(){null==r?(m.removeAttribute("title"),m.style.fontSize="",m.innerHTML=mxResources.get("change")+"..."):(m.setAttribute("title",r.src),m.style.fontSize="11px",m.innerHTML=r.src.substring(0,42)+"...")}var c=a.editor.graph,k,l,q=document.createElement("table");q.style.width=
"100%";q.style.height="100%";var p=document.createElement("tbody");k=document.createElement("tr");l=document.createElement("td");l.style.verticalAlign="top";l.style.fontSize="10pt";mxUtils.write(l,mxResources.get("paperSize")+":");k.appendChild(l);l=document.createElement("td");l.style.verticalAlign="top";l.style.fontSize="10pt";var v=PageSetupDialog.addPageFormatPanel(l,"pagesetupdialog",c.pageFormat);k.appendChild(l);p.appendChild(k);k=document.createElement("tr");l=document.createElement("td");
mxUtils.write(l,mxResources.get("background")+":");k.appendChild(l);l=document.createElement("td");l.style.whiteSpace="nowrap";document.createElement("input").setAttribute("type","text");var d=document.createElement("button");d.style.width="18px";d.style.height="18px";d.style.marginRight="20px";d.style.backgroundPosition="center center";d.style.backgroundRepeat="no-repeat";var f=c.background;b();mxEvent.addListener(d,"click",function(d){a.pickColor(f||"none",function(a){f=a;b()});mxEvent.consume(d)});
l.appendChild(d);mxUtils.write(l,mxResources.get("gridSize")+":");var g=document.createElement("input");g.setAttribute("type","number");g.setAttribute("min","0");g.style.width="40px";g.style.marginLeft="6px";g.value=c.getGridSize();l.appendChild(g);mxEvent.addListener(g,"change",function(){var a=parseInt(g.value);g.value=Math.max(1,isNaN(a)?c.getGridSize():a)});k.appendChild(l);p.appendChild(k);k=document.createElement("tr");l=document.createElement("td");mxUtils.write(l,mxResources.get("image")+
-":");k.appendChild(l);l=document.createElement("td");var n=document.createElement("a");n.style.textDecoration="underline";n.style.cursor="pointer";n.style.color="#a0a0a0";var r=c.backgroundImage;mxEvent.addListener(n,"click",function(d){a.showBackgroundImageDialog(function(a){r=a;e()});mxEvent.consume(d)});e();l.appendChild(n);k.appendChild(l);p.appendChild(k);k=document.createElement("tr");l=document.createElement("td");l.colSpan=2;l.style.paddingTop="16px";l.setAttribute("align","right");var h=
-mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});h.className="geBtn";a.editor.cancelFirst&&l.appendChild(h);var m=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();c.gridSize!==g.value&&c.setGridSize(parseInt(g.value));var d=new ChangePageSetup(a,f,r,v.get());d.ignoreColor=c.background==f;d.ignoreImage=(null!=c.backgroundImage?c.backgroundImage.src:null)===(null!=r?r.src:null);c.pageFormat.width==d.previousFormat.width&&c.pageFormat.height==d.previousFormat.height&&
-d.ignoreColor&&d.ignoreImage||c.model.execute(d)});m.className="geBtn gePrimaryBtn";l.appendChild(m);a.editor.cancelFirst||l.appendChild(h);k.appendChild(l);p.appendChild(k);q.appendChild(p);this.container=q};
-PageSetupDialog.addPageFormatPanel=function(a,b,e,c){function k(a,d,c){if(c||g!=document.activeElement&&n!=document.activeElement){a=!1;for(d=0;d<h.length;d++)c=h[d],t?"custom"==c.key&&(p.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?(p.value=c.key,l.setAttribute("checked","checked"),l.defaultChecked=!0,l.checked=!0,q.removeAttribute("checked"),q.defaultChecked=!1,q.checked=!1,a=!0):e.width==c.format.height&&e.height==c.format.width&&(p.value=c.key,l.removeAttribute("checked"),l.defaultChecked=!1,l.checked=!1,q.setAttribute("checked","checked"),q.defaultChecked=!0,a=q.checked=!0));a?(v.style.display="",f.style.display="none"):(g.value=e.width/100,n.value=e.height/100,l.setAttribute("checked","checked"),
+":");k.appendChild(l);l=document.createElement("td");var m=document.createElement("a");m.style.textDecoration="underline";m.style.cursor="pointer";m.style.color="#a0a0a0";var r=c.backgroundImage;mxEvent.addListener(m,"click",function(d){a.showBackgroundImageDialog(function(a){r=a;e()});mxEvent.consume(d)});e();l.appendChild(m);k.appendChild(l);p.appendChild(k);k=document.createElement("tr");l=document.createElement("td");l.colSpan=2;l.style.paddingTop="16px";l.setAttribute("align","right");var h=
+mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});h.className="geBtn";a.editor.cancelFirst&&l.appendChild(h);var n=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();c.gridSize!==g.value&&c.setGridSize(parseInt(g.value));var d=new ChangePageSetup(a,f,r,v.get());d.ignoreColor=c.background==f;d.ignoreImage=(null!=c.backgroundImage?c.backgroundImage.src:null)===(null!=r?r.src:null);c.pageFormat.width==d.previousFormat.width&&c.pageFormat.height==d.previousFormat.height&&
+d.ignoreColor&&d.ignoreImage||c.model.execute(d)});n.className="geBtn gePrimaryBtn";l.appendChild(n);a.editor.cancelFirst||l.appendChild(h);k.appendChild(l);p.appendChild(k);q.appendChild(p);this.container=q};
+PageSetupDialog.addPageFormatPanel=function(a,b,e,c){function k(a,d,c){if(c||g!=document.activeElement&&m!=document.activeElement){a=!1;for(d=0;d<h.length;d++)c=h[d],t?"custom"==c.key&&(p.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?(p.value=c.key,l.setAttribute("checked","checked"),l.defaultChecked=!0,l.checked=!0,q.removeAttribute("checked"),q.defaultChecked=!1,q.checked=!1,a=!0):e.width==c.format.height&&e.height==c.format.width&&(p.value=c.key,l.removeAttribute("checked"),l.defaultChecked=!1,l.checked=!1,q.setAttribute("checked","checked"),q.defaultChecked=!0,a=q.checked=!0));a?(v.style.display="",f.style.display="none"):(g.value=e.width/100,m.value=e.height/100,l.setAttribute("checked","checked"),
p.value="custom",v.style.display="none",f.style.display="")}}b="format-"+b;var l=document.createElement("input");l.setAttribute("name",b);l.setAttribute("type","radio");l.setAttribute("value","portrait");var q=document.createElement("input");q.setAttribute("name",b);q.setAttribute("type","radio");q.setAttribute("value","landscape");var p=document.createElement("select");p.style.marginBottom="8px";p.style.width="202px";var v=document.createElement("div");v.style.marginLeft="4px";v.style.width="210px";
v.style.height="24px";l.style.marginRight="6px";v.appendChild(l);b=document.createElement("span");b.style.maxWidth="100px";mxUtils.write(b,mxResources.get("portrait"));v.appendChild(b);q.style.marginLeft="10px";q.style.marginRight="6px";v.appendChild(q);var d=document.createElement("span");d.style.width="100px";mxUtils.write(d,mxResources.get("landscape"));v.appendChild(d);var f=document.createElement("div");f.style.marginLeft="4px";f.style.width="210px";f.style.height="24px";var g=document.createElement("input");
-g.setAttribute("size","7");g.style.textAlign="right";f.appendChild(g);mxUtils.write(f," in x ");var n=document.createElement("input");n.setAttribute("size","7");n.style.textAlign="right";f.appendChild(n);mxUtils.write(f," in");v.style.display="none";f.style.display="none";for(var r={},h=PageSetupDialog.getFormats(),m=0;m<h.length;m++){var u=h[m];r[u.key]=u;var w=document.createElement("option");w.setAttribute("value",u.key);mxUtils.write(w,u.title);p.appendChild(w)}var t=!1;k();a.appendChild(p);mxUtils.br(a);
-a.appendChild(v);a.appendChild(f);var x=e,F=function(a,d){var b=r[p.value];null!=b.format?(g.value=b.format.width/100,n.value=b.format.height/100,f.style.display="none",v.style.display=""):(v.style.display="none",f.style.display="");isNaN(parseFloat(g.value))&&(g.value=e.width/100);isNaN(parseFloat(n.value))&&(n.value=e.height/100);b=new mxRectangle(0,0,Math.floor(100*parseFloat(g.value)),Math.floor(100*parseFloat(n.value)));"custom"!=p.value&&q.checked&&(b=new mxRectangle(0,0,b.height,b.width));
-d&&t||b.width==x.width&&b.height==x.height||(x=b,null!=c&&c(x))};mxEvent.addListener(b,"click",function(a){l.checked=!0;F(a);mxEvent.consume(a)});mxEvent.addListener(d,"click",function(a){q.checked=!0;F(a);mxEvent.consume(a)});mxEvent.addListener(g,"blur",F);mxEvent.addListener(g,"click",F);mxEvent.addListener(n,"blur",F);mxEvent.addListener(n,"click",F);mxEvent.addListener(q,"change",F);mxEvent.addListener(l,"change",F);mxEvent.addListener(p,"change",function(a){t="custom"==p.value;F(a,!0)});F();
-return{set:function(a){e=a;k(null,null,!0)},get:function(){return x},widthInput:g,heightInput:n}};
+g.setAttribute("size","7");g.style.textAlign="right";f.appendChild(g);mxUtils.write(f," in x ");var m=document.createElement("input");m.setAttribute("size","7");m.style.textAlign="right";f.appendChild(m);mxUtils.write(f," in");v.style.display="none";f.style.display="none";for(var r={},h=PageSetupDialog.getFormats(),n=0;n<h.length;n++){var u=h[n];r[u.key]=u;var w=document.createElement("option");w.setAttribute("value",u.key);mxUtils.write(w,u.title);p.appendChild(w)}var t=!1;k();a.appendChild(p);mxUtils.br(a);
+a.appendChild(v);a.appendChild(f);var x=e,F=function(a,d){var b=r[p.value];null!=b.format?(g.value=b.format.width/100,m.value=b.format.height/100,f.style.display="none",v.style.display=""):(v.style.display="none",f.style.display="");isNaN(parseFloat(g.value))&&(g.value=e.width/100);isNaN(parseFloat(m.value))&&(m.value=e.height/100);b=new mxRectangle(0,0,Math.floor(100*parseFloat(g.value)),Math.floor(100*parseFloat(m.value)));"custom"!=p.value&&q.checked&&(b=new mxRectangle(0,0,b.height,b.width));
+d&&t||b.width==x.width&&b.height==x.height||(x=b,null!=c&&c(x))};mxEvent.addListener(b,"click",function(a){l.checked=!0;F(a);mxEvent.consume(a)});mxEvent.addListener(d,"click",function(a){q.checked=!0;F(a);mxEvent.consume(a)});mxEvent.addListener(g,"blur",F);mxEvent.addListener(g,"click",F);mxEvent.addListener(m,"blur",F);mxEvent.addListener(m,"click",F);mxEvent.addListener(q,"change",F);mxEvent.addListener(l,"change",F);mxEvent.addListener(p,"change",function(a){t="custom"==p.value;F(a,!0)});F();
+return{set:function(a){e=a;k(null,null,!0)},get:function(){return x},widthInput:g,heightInput:m}};
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 (279 mm x 432 mm)",format:new mxRectangle(0,0,1100,1700)},{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:"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 c=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(c),this.backgroundPageShape.scale=1,this.backgroundPageShape.isShadow=!mxClient.IS_QUIRKS,this.backgroundPageShape.dialect=
@@ -2033,9 +2033,9 @@ null);this.validateBackgroundStyles()}};mxGraphView.prototype.validateBackground
b="url("+this.gridImage+")";var e=d=0;null!=a.view.backgroundPageShape&&(e=this.getBackgroundPageBounds(),d=1+e.x,e=1+e.y);g=-Math.round(g-mxUtils.mod(this.translate.x*this.scale-d,g))+"px "+-Math.round(g-mxUtils.mod(this.translate.y*this.scale-e,g))+"px"}d=a.view.canvas;null!=d.ownerSVGElement&&(d=d.ownerSVGElement);null!=a.view.backgroundPageShape?(a.view.backgroundPageShape.node.style.backgroundPosition=g,a.view.backgroundPageShape.node.style.backgroundImage=b,a.view.backgroundPageShape.node.style.backgroundColor=
c,a.container.className="geDiagramContainer geDiagramBackdrop",d.style.backgroundImage="none",d.style.backgroundColor=""):(a.container.className="geDiagramContainer",d.style.backgroundPosition=g,d.style.backgroundColor=c,d.style.backgroundImage=b)};mxGraphView.prototype.createSvgGrid=function(a){for(var c=this.graph.gridSize*this.scale;c<this.minGridSize;)c*=2;for(var d=this.gridSteps*c,b=[],g=1;g<this.gridSteps;g++){var e=g*c;b.push("M 0 "+e+" L "+d+" "+e+" M "+e+" 0 L "+e+" "+d)}return'<svg width="'+
d+'" height="'+d+'" xmlns="'+mxConstants.NS_SVG+'"><defs><pattern id="grid" width="'+d+'" height="'+d+'" patternUnits="userSpaceOnUse"><path d="'+b.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(c,b){a.apply(this,arguments);if(null!=this.shiftPreview1){var d=
-this.view.canvas;null!=d.ownerSVGElement&&(d=d.ownerSVGElement);var f=this.gridSize*this.view.scale*this.view.gridSteps,f=-Math.round(f-mxUtils.mod(this.view.translate.x*this.view.scale+c,f))+"px "+-Math.round(f-mxUtils.mod(this.view.translate.y*this.view.scale+b,f))+"px";d.style.backgroundPosition=f}};mxGraph.prototype.updatePageBreaks=function(a,c,d){var b=this.view.scale,g=this.view.translate,e=this.pageFormat,r=b*this.pageScale,h=this.view.getBackgroundPageBounds();c=h.width;d=h.height;var m=
-new mxRectangle(b*g.x,b*g.y,e.width*r,e.height*r),u=(a=a&&Math.min(m.width,m.height)>this.minPageBreakDist)?Math.ceil(d/m.height)-1:0,w=a?Math.ceil(c/m.width)-1:0,t=h.x+c,x=h.y+d;null==this.horizontalPageBreaks&&0<u&&(this.horizontalPageBreaks=[]);null==this.verticalPageBreaks&&0<w&&(this.verticalPageBreaks=[]);a=mxUtils.bind(this,function(a){if(null!=a){for(var d=a==this.horizontalPageBreaks?u:w,c=0;c<=d;c++){var b=a==this.horizontalPageBreaks?[new mxPoint(Math.round(h.x),Math.round(h.y+(c+1)*m.height)),
-new mxPoint(Math.round(t),Math.round(h.y+(c+1)*m.height))]:[new mxPoint(Math.round(h.x+(c+1)*m.width),Math.round(h.y)),new mxPoint(Math.round(h.x+(c+1)*m.width),Math.round(x))];null!=a[c]?(a[c].points=b,a[c].redraw()):(b=new mxPolyline(b,this.pageBreakColor),b.dialect=this.dialect,b.isDashed=this.pageBreakDashed,b.pointerEvents=!1,b.init(this.view.backgroundPane),b.redraw(),a[c]=b)}for(c=d;c<a.length;c++)a[c].destroy();a.splice(d,a.length-d)}});a(this.horizontalPageBreaks);a(this.verticalPageBreaks)};
+this.view.canvas;null!=d.ownerSVGElement&&(d=d.ownerSVGElement);var f=this.gridSize*this.view.scale*this.view.gridSteps,f=-Math.round(f-mxUtils.mod(this.view.translate.x*this.view.scale+c,f))+"px "+-Math.round(f-mxUtils.mod(this.view.translate.y*this.view.scale+b,f))+"px";d.style.backgroundPosition=f}};mxGraph.prototype.updatePageBreaks=function(a,c,d){var b=this.view.scale,g=this.view.translate,e=this.pageFormat,r=b*this.pageScale,h=this.view.getBackgroundPageBounds();c=h.width;d=h.height;var n=
+new mxRectangle(b*g.x,b*g.y,e.width*r,e.height*r),u=(a=a&&Math.min(n.width,n.height)>this.minPageBreakDist)?Math.ceil(d/n.height)-1:0,w=a?Math.ceil(c/n.width)-1:0,t=h.x+c,x=h.y+d;null==this.horizontalPageBreaks&&0<u&&(this.horizontalPageBreaks=[]);null==this.verticalPageBreaks&&0<w&&(this.verticalPageBreaks=[]);a=mxUtils.bind(this,function(a){if(null!=a){for(var d=a==this.horizontalPageBreaks?u:w,c=0;c<=d;c++){var b=a==this.horizontalPageBreaks?[new mxPoint(Math.round(h.x),Math.round(h.y+(c+1)*n.height)),
+new mxPoint(Math.round(t),Math.round(h.y+(c+1)*n.height))]:[new mxPoint(Math.round(h.x+(c+1)*n.width),Math.round(h.y)),new mxPoint(Math.round(h.x+(c+1)*n.width),Math.round(x))];null!=a[c]?(a[c].points=b,a[c].redraw()):(b=new mxPolyline(b,this.pageBreakColor),b.dialect=this.dialect,b.isDashed=this.pageBreakDashed,b.pointerEvents=!1,b.init(this.view.backgroundPane),b.redraw(),a[c]=b)}for(c=d;c<a.length;c++)a[c].destroy();a.splice(d,a.length-d)}});a(this.horizontalPageBreaks);a(this.verticalPageBreaks)};
var b=mxGraphHandler.prototype.shouldRemoveCellsFromParent;mxGraphHandler.prototype.shouldRemoveCellsFromParent=function(a,c,d){for(var f=0;f<c.length;f++)if(this.graph.getModel().isVertex(c[f])){var g=this.graph.getCellGeometry(c[f]);if(null!=g&&g.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(c,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(),c=0<a.width?a.x/this.scale-this.translate.x:0,d=0<a.height?a.y/this.scale-this.translate.y:0,b=this.graph.pageFormat,g=this.graph.pageScale,e=b.width*g,b=b.height*g,g=Math.floor(Math.min(0,c)/e),r=Math.floor(Math.min(0,
d)/b);return new mxRectangle(this.scale*(this.translate.x+g*e),this.scale*(this.translate.y+r*b),this.scale*(Math.ceil(Math.max(1,c+a.width/this.scale)/e)-g)*e,this.scale*(Math.ceil(Math.max(1,d+a.height/this.scale)/b)-r)*b)};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=
@@ -2049,17 +2049,17 @@ if("A"==d.nodeName)for(;null!=d;){if("geHint"==d.className)return!0;d=d.parentNo
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 l=!1,q=this.hoverIcons.isResetEvent;this.hoverIcons.isResetEvent=function(a,d){return l||q.apply(this,arguments)};this.keydownHandler=
mxUtils.bind(this,function(a){32==a.which?(l=!0,this.hoverIcons.reset(),c.container.style.cursor="move",c.isEditing()||mxEvent.getSource(a)!=c.container||mxEvent.consume(a)):mxEvent.isConsumed(a)||27!=a.keyCode||this.hideDialog()});mxEvent.addListener(document,"keydown",this.keydownHandler);this.keyupHandler=mxUtils.bind(this,function(a){c.container.style.cursor="";l=!1});mxEvent.addListener(document,"keyup",this.keyupHandler);var p=c.panningHandler.isForcePanningEvent;c.panningHandler.isForcePanningEvent=
function(a){return p.apply(this,arguments)||l||mxEvent.isMouseEvent(a.getEvent())&&(this.usePopupTrigger||!mxEvent.isPopupTrigger(a.getEvent()))&&(!mxEvent.isControlDown(a.getEvent())&&mxEvent.isRightMouseButton(a.getEvent())||mxEvent.isMiddleMouseButton(a.getEvent()))};var v=c.cellEditor.isStopEditingEvent;c.cellEditor.isStopEditingEvent=function(a){return v.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 d=!1,f=null,g=null,n=null,r=mxUtils.bind(this,function(){if(null!=this.toolbar&&d!=c.cellEditor.isContentEditing()){for(var a=this.toolbar.container.firstChild,b=[];null!=a;){var e=a.nextSibling;0>mxUtils.indexOf(this.toolbar.staticElements,a)&&(a.parentNode.removeChild(a),b.push(a));a=e}a=this.toolbar.fontMenu;e=this.toolbar.sizeMenu;if(null==n)this.toolbar.createTextToolbar();else{for(var h=0;h<n.length;h++)this.toolbar.container.appendChild(n[h]);this.toolbar.fontMenu=f;this.toolbar.sizeMenu=
-g}d=c.cellEditor.isContentEditing();f=a;g=e;n=b}}),h=this,m=c.cellEditor.startEditing;c.cellEditor.startEditing=function(){m.apply(this,arguments);r();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!=h.toolbar)){var b=d.fontFamily;"'"==b.charAt(0)&&(b=b.substring(1));"'"==b.charAt(b.length-1)&&(b=
+var d=!1,f=null,g=null,m=null,r=mxUtils.bind(this,function(){if(null!=this.toolbar&&d!=c.cellEditor.isContentEditing()){for(var a=this.toolbar.container.firstChild,b=[];null!=a;){var e=a.nextSibling;0>mxUtils.indexOf(this.toolbar.staticElements,a)&&(a.parentNode.removeChild(a),b.push(a));a=e}a=this.toolbar.fontMenu;e=this.toolbar.sizeMenu;if(null==m)this.toolbar.createTextToolbar();else{for(var h=0;h<m.length;h++)this.toolbar.container.appendChild(m[h]);this.toolbar.fontMenu=f;this.toolbar.sizeMenu=
+g}d=c.cellEditor.isContentEditing();f=a;g=e;m=b}}),h=this,n=c.cellEditor.startEditing;c.cellEditor.startEditing=function(){n.apply(this,arguments);r();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!=h.toolbar)){var b=d.fontFamily;"'"==b.charAt(0)&&(b=b.substring(1));"'"==b.charAt(b.length-1)&&(b=
b.substring(0,b.length-1));h.toolbar.setFontName(b);h.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 u=c.cellEditor.stopEditing;c.cellEditor.stopEditing=function(a,d){u.apply(this,arguments);r()};c.container.setAttribute("tabindex","0");c.container.style.cursor="default";
if(window.self===window.top&&null!=c.container.parentNode)try{c.container.focus()}catch(y){}var w=c.fireMouseEvent;c.fireMouseEvent=function(a,d,c){a==mxEvent.MOUSE_DOWN&&this.container.focus();w.apply(this,arguments)};c.popupMenuHandler.autoExpand=!0;null!=this.menus&&(c.popupMenuHandler.factoryMethod=mxUtils.bind(this,function(a,d,c){this.menus.createPopupMenu(a,d,c)}));mxEvent.addGestureListeners(document,mxUtils.bind(this,function(a){c.popupMenuHandler.hideMenu()}));this.keyHandler=this.createKeyHandler(a);
-this.getKeyHandler=function(){return keyHandler};var t="rounded shadow glass dashed dashPattern comic labelBackgroundColor".split(" "),x="shape edgeStyle curved rounded elbow comic jumpStyle jumpSize".split(" ");this.setDefaultStyle=function(a){var d=c.view.getState(a);if(null!=d){a=a.clone();a.style="";a=c.getCellStyle(a);var b=[],g=[],f;for(f in d.style)a[f]!=d.style[f]&&(b.push(d.style[f]),g.push(f));f=c.getModel().getStyle(d.cell);for(var e=null!=f?f.split(";"):[],n=0;n<e.length;n++){var h=e[n],
-m=h.indexOf("=");0<=m&&(f=h.substring(0,m),h=h.substring(m+1),null!=a[f]&&"none"==h&&(b.push(h),g.push(f)))}c.getModel().isEdge(d.cell)?c.currentEdgeStyle={}:c.currentVertexStyle={};this.fireEvent(new mxEventObject("styleChanged","keys",g,"values",b,"cells",[d.cell]))}};this.clearDefaultStyle=function(){c.currentEdgeStyle=mxUtils.clone(c.defaultEdgeStyle);c.currentVertexStyle=mxUtils.clone(c.defaultVertexStyle);this.fireEvent(new mxEventObject("styleChanged","keys",[],"values",[],"cells",[]))};var F=
+this.getKeyHandler=function(){return keyHandler};var t="rounded shadow glass dashed dashPattern comic labelBackgroundColor".split(" "),x="shape edgeStyle curved rounded elbow comic jumpStyle jumpSize".split(" ");this.setDefaultStyle=function(a){var d=c.view.getState(a);if(null!=d){a=a.clone();a.style="";a=c.getCellStyle(a);var b=[],f=[],g;for(g in d.style)a[g]!=d.style[g]&&(b.push(d.style[g]),f.push(g));g=c.getModel().getStyle(d.cell);for(var e=null!=g?g.split(";"):[],m=0;m<e.length;m++){var h=e[m],
+n=h.indexOf("=");0<=n&&(g=h.substring(0,n),h=h.substring(n+1),null!=a[g]&&"none"==h&&(b.push(h),f.push(g)))}c.getModel().isEdge(d.cell)?c.currentEdgeStyle={}:c.currentVertexStyle={};this.fireEvent(new mxEventObject("styleChanged","keys",f,"values",b,"cells",[d.cell]))}};this.clearDefaultStyle=function(){c.currentEdgeStyle=mxUtils.clone(c.defaultEdgeStyle);c.currentVertexStyle=mxUtils.clone(c.defaultVertexStyle);this.fireEvent(new mxEventObject("styleChanged","keys",[],"values",[],"cells",[]))};var F=
["fontFamily","fontSize","fontColor"],D="edgeStyle startArrow startFill startSize endArrow endFill endSize jettySize orthogonalLoop".split(" "),G=["startArrow startFill startSize endArrow endFill endSize jettySize orthogonalLoop".split(" "),["strokeColor","strokeWidth"],["fillColor","gradientColor"],F,["opacity"],["align"],["html"]];for(a=0;a<G.length;a++)for(b=0;b<G[a].length;b++)t.push(G[a][b]);for(a=0;a<x.length;a++)0>mxUtils.indexOf(t,x[a])&&t.push(x[a]);var B=function(a,d){var b=c.getModel();
-b.beginUpdate();try{if(d)for(var f=b.isEdge(h),g=f?c.currentEdgeStyle:c.currentVertexStyle,f=["fontSize","fontFamily","fontColor"],e=0;e<f.length;e++){var n=g[f[e]];null!=n&&c.setCellStyles(f[e],n,a)}else for(n=0;n<a.length;n++){for(var h=a[n],m=b.getStyle(h),u=null!=m?m.split(";"):[],r=t.slice(),e=0;e<u.length;e++){var w=u[e],k=w.indexOf("=");if(0<=k){var D=w.substring(0,k),p=mxUtils.indexOf(r,D);0<=p&&r.splice(p,1);for(var F=0;F<G.length;F++){var l=G[F];if(0<=mxUtils.indexOf(l,D))for(var q=0;q<
-l.length;q++){var y=mxUtils.indexOf(r,l[q]);0<=y&&r.splice(y,1)}}}}for(var g=(f=b.isEdge(h))?c.currentEdgeStyle:c.currentVertexStyle,v=b.getStyle(h),e=0;e<r.length;e++){var D=r[e],B=g[D];null==B||"shape"==D&&!f||f&&!(0>mxUtils.indexOf(x,D))||(v=mxUtils.setStyle(v,D,B))}b.setStyle(h,v)}}finally{b.endUpdate()}};c.addListener("cellsInserted",function(a,d){B(d.getProperty("cells"))});c.addListener("textInserted",function(a,d){B(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"));B(b)});this.addListener("styleChanged",mxUtils.bind(this,function(a,d){var b=d.getProperty("cells"),f=!1,g=!1;if(0<b.length)for(var e=0;e<b.length&&(f=c.getModel().isVertex(b[e])||f,!(g=c.getModel().isEdge(b[e])||g)||!f);e++);else g=f=!0;for(var b=d.getProperty("keys"),n=d.getProperty("values"),e=0;e<b.length;e++){var h=0<=mxUtils.indexOf(F,b[e]);if("strokeColor"!=b[e]||null!=n[e]&&"none"!=
-n[e])if(0<=mxUtils.indexOf(x,b[e]))g||0<=mxUtils.indexOf(D,b[e])?null==n[e]?delete c.currentEdgeStyle[b[e]]:c.currentEdgeStyle[b[e]]=n[e]:f&&0<=mxUtils.indexOf(t,b[e])&&(null==n[e]?delete c.currentVertexStyle[b[e]]:c.currentVertexStyle[b[e]]=n[e]);else if(0<=mxUtils.indexOf(t,b[e])){if(f||h)null==n[e]?delete c.currentVertexStyle[b[e]]:c.currentVertexStyle[b[e]]=n[e];if(g||h||0<=mxUtils.indexOf(D,b[e]))null==n[e]?delete c.currentEdgeStyle[b[e]]:c.currentEdgeStyle[b[e]]=n[e]}}null!=this.toolbar&&(this.toolbar.setFontName(c.currentVertexStyle.fontFamily||
+b.beginUpdate();try{if(d)for(var f=b.isEdge(h),g=f?c.currentEdgeStyle:c.currentVertexStyle,f=["fontSize","fontFamily","fontColor"],e=0;e<f.length;e++){var m=g[f[e]];null!=m&&c.setCellStyles(f[e],m,a)}else for(m=0;m<a.length;m++){for(var h=a[m],n=b.getStyle(h),u=null!=n?n.split(";"):[],r=t.slice(),e=0;e<u.length;e++){var w=u[e],k=w.indexOf("=");if(0<=k){var D=w.substring(0,k),p=mxUtils.indexOf(r,D);0<=p&&r.splice(p,1);for(var q=0;q<G.length;q++){var F=G[q];if(0<=mxUtils.indexOf(F,D))for(var y=0;y<
+F.length;y++){var l=mxUtils.indexOf(r,F[y]);0<=l&&r.splice(l,1)}}}}for(var g=(f=b.isEdge(h))?c.currentEdgeStyle:c.currentVertexStyle,v=b.getStyle(h),e=0;e<r.length;e++){var D=r[e],B=g[D];null==B||"shape"==D&&!f||f&&!(0>mxUtils.indexOf(x,D))||(v=mxUtils.setStyle(v,D,B))}b.setStyle(h,v)}}finally{b.endUpdate()}};c.addListener("cellsInserted",function(a,d){B(d.getProperty("cells"))});c.addListener("textInserted",function(a,d){B(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"));B(b)});this.addListener("styleChanged",mxUtils.bind(this,function(a,d){var b=d.getProperty("cells"),f=!1,g=!1;if(0<b.length)for(var e=0;e<b.length&&(f=c.getModel().isVertex(b[e])||f,!(g=c.getModel().isEdge(b[e])||g)||!f);e++);else g=f=!0;for(var b=d.getProperty("keys"),m=d.getProperty("values"),e=0;e<b.length;e++){var h=0<=mxUtils.indexOf(F,b[e]);if("strokeColor"!=b[e]||null!=m[e]&&"none"!=
+m[e])if(0<=mxUtils.indexOf(x,b[e]))g||0<=mxUtils.indexOf(D,b[e])?null==m[e]?delete c.currentEdgeStyle[b[e]]:c.currentEdgeStyle[b[e]]=m[e]:f&&0<=mxUtils.indexOf(t,b[e])&&(null==m[e]?delete c.currentVertexStyle[b[e]]:c.currentVertexStyle[b[e]]=m[e]);else if(0<=mxUtils.indexOf(t,b[e])){if(f||h)null==m[e]?delete c.currentVertexStyle[b[e]]:c.currentVertexStyle[b[e]]=m[e];if(g||h||0<=mxUtils.indexOf(D,b[e]))null==m[e]?delete c.currentEdgeStyle[b[e]]:c.currentEdgeStyle[b[e]]=m[e]}}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=
@@ -2081,19 +2081,19 @@ EditorUi.prototype.updatePasteActionStates=function(){var a=this.editor.graph,b=
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()};var e=mxClipboard.copy;mxClipboard.copy=function(b){b.cellEditor.isContentEditing()?document.execCommand("copy",!1,null):e.apply(this,arguments);a.updatePasteActionStates()};var c=mxClipboard.paste;mxClipboard.paste=function(b){var e=null;b.cellEditor.isContentEditing()?document.execCommand("paste",
!1,null):e=c.apply(this,arguments);a.updatePasteActionStates();return e};var k=this.editor.graph.cellEditor.startEditing;this.editor.graph.cellEditor.startEditing=function(){k.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.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,c,f){if(null!=a.container){c=null!=c?c:0;f=null!=f?f:0;var g=a.pageVisible?a.view.getBackgroundPageBounds():a.getGraphBounds(),e=mxUtils.hasScrollbars(a.container),n=a.view.translate,h=a.view.scale,m=mxRectangle.fromRectangle(g);
-m.x=m.x/h-n.x;m.y=m.y/h-n.y;m.width/=h;m.height/=h;var n=a.container.scrollTop,u=a.container.scrollLeft,r=mxClient.IS_QUIRKS||8<=document.documentMode?20:14;if(8==document.documentMode||9==document.documentMode)r+=3;var t=a.container.offsetWidth-r,r=a.container.offsetHeight-r;d=d?Math.max(.3,Math.min(b||1,t/m.width)):h;b=(t-d*m.width)/2/d;var w=0==this.lightboxVerticalDivider?0:(r-d*m.height)/this.lightboxVerticalDivider/d;e&&(b=Math.max(b,0),w=Math.max(w,0));if(e||g.width<t||g.height<r)a.view.scaleAndTranslate(d,
-Math.floor(b-m.x),Math.floor(w-m.y)),a.container.scrollTop=n*d/h,a.container.scrollLeft=u*d/h;else if(0!=c||0!=f)g=a.view.translate,a.view.setTranslate(Math.floor(g.x+c/h),Math.floor(g.y+f/h))}});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",
+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,c,f){if(null!=a.container){c=null!=c?c:0;f=null!=f?f:0;var g=a.pageVisible?a.view.getBackgroundPageBounds():a.getGraphBounds(),e=mxUtils.hasScrollbars(a.container),m=a.view.translate,h=a.view.scale,n=mxRectangle.fromRectangle(g);
+n.x=n.x/h-m.x;n.y=n.y/h-m.y;n.width/=h;n.height/=h;var m=a.container.scrollTop,u=a.container.scrollLeft,r=mxClient.IS_QUIRKS||8<=document.documentMode?20:14;if(8==document.documentMode||9==document.documentMode)r+=3;var t=a.container.offsetWidth-r,r=a.container.offsetHeight-r;d=d?Math.max(.3,Math.min(b||1,t/n.width)):h;b=(t-d*n.width)/2/d;var w=0==this.lightboxVerticalDivider?0:(r-d*n.height)/this.lightboxVerticalDivider/d;e&&(b=Math.max(b,0),w=Math.max(w,0));if(e||g.width<t||g.height<r)a.view.scaleAndTranslate(d,
+Math.floor(b-n.x),Math.floor(w-n.y)),a.container.scrollTop=m*d/h,a.container.scrollLeft=u*d/h;else if(0!=c||0!=f)g=a.view.translate,a.view.setTranslate(Math.floor(g.x+c/h),Math.floor(g.y+f/h))}});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){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="50%";mxClient.IS_VML||(mxUtils.setPrefixedStyle(this.chromelessToolbar.style,"borderRadius","20px"),mxUtils.setPrefixedStyle(this.chromelessToolbar.style,"transition","opacity 600ms ease-in-out"));var k=mxUtils.bind(this,function(){var d=mxUtils.getCurrentStyle(a.container);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",k);k();var l=0,k=mxUtils.bind(this,function(a,d,b){l++;var c=document.createElement("span");c.style.paddingLeft="8px";c.style.paddingRight="8px";c.style.cursor="pointer";mxEvent.addListener(c,"click",a);null!=b&&c.setAttribute("title",b);a=document.createElement("img");a.setAttribute("border","0");a.setAttribute("src",d);c.appendChild(a);this.chromelessToolbar.appendChild(c);
return c}),q=k(mxUtils.bind(this,function(a){this.actions.get("previousPage").funct();mxEvent.consume(a)}),Editor.previousLargeImage,mxResources.get("previousPage")),p=document.createElement("div");p.style.display="inline-block";p.style.verticalAlign="top";p.style.fontFamily="Helvetica,Arial";p.style.marginTop="8px";p.style.color="#ffffff";this.chromelessToolbar.appendChild(p);var v=k(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&&(p.innerHTML="",mxUtils.write(p,mxUtils.indexOf(this.pages,this.currentPage)+1+" / "+this.pages.length))});q.style.paddingLeft="0px";q.style.paddingRight="4px";v.style.paddingLeft="4px";v.style.paddingRight="0px";var f=mxUtils.bind(this,function(){null!=this.pages&&1<this.pages.length&&null!=this.currentPage?(v.style.display="",q.style.display="",p.style.display="inline-block"):(v.style.display="none",q.style.display=
"none",p.style.display="none");d()});this.editor.addListener("resetGraphView",f);this.editor.addListener("pageSelected",d);k(mxUtils.bind(this,function(a){this.actions.get("zoomOut").funct();mxEvent.consume(a)}),Editor.zoomOutLargeImage,mxResources.get("zoomOut")+" (Alt+Mousewheel)");k(mxUtils.bind(this,function(a){this.actions.get("zoomIn").funct();mxEvent.consume(a)}),Editor.zoomInLargeImage,mxResources.get("zoomIn")+" (Alt+Mousewheel)");k(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 g=null,n=null,r=mxUtils.bind(this,function(a){null!=g&&(window.clearTimeout(g),fadeThead=null);null!=n&&(window.clearTimeout(n),fadeThead2=null);g=window.setTimeout(mxUtils.bind(this,function(){mxUtils.setOpacity(this.chromelessToolbar,0);g=null;n=window.setTimeout(mxUtils.bind(this,function(){this.chromelessToolbar.style.display="none";n=
-null}),600)}),a||200)}),h=mxUtils.bind(this,function(a){null!=g&&(window.clearTimeout(g),fadeThead=null);null!=n&&(window.clearTimeout(n),fadeThead2=null);this.chromelessToolbar.style.display="";mxUtils.setOpacity(this.chromelessToolbar,a||30)});if("1"==urlParams.layers){this.layersDialog=null;var m=k(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=m.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(d)}),Editor.layersLargeImage,mxResources.get("layers")),u=a.getModel();u.addListener(mxEvent.CHANGE,function(){m.style.display=1<u.getChildCount(u.root)?
+this.lightboxFit():a.zoomTo(1),this.chromelessResize(!1)):this.chromelessResize(!0);mxEvent.consume(d)}),Editor.actualSizeLargeImage,mxResources.get("fit"));var g=null,m=null,r=mxUtils.bind(this,function(a){null!=g&&(window.clearTimeout(g),fadeThead=null);null!=m&&(window.clearTimeout(m),fadeThead2=null);g=window.setTimeout(mxUtils.bind(this,function(){mxUtils.setOpacity(this.chromelessToolbar,0);g=null;m=window.setTimeout(mxUtils.bind(this,function(){this.chromelessToolbar.style.display="none";m=
+null}),600)}),a||200)}),h=mxUtils.bind(this,function(a){null!=g&&(window.clearTimeout(g),fadeThead=null);null!=m&&(window.clearTimeout(m),fadeThead2=null);this.chromelessToolbar.style.display="";mxUtils.setOpacity(this.chromelessToolbar,a||30)});if("1"==urlParams.layers){this.layersDialog=null;var n=k(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=n.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(d)}),Editor.layersLargeImage,mxResources.get("layers")),u=a.getModel();u.addListener(mxEvent.CHANGE,function(){n.style.display=1<u.getChildCount(u.root)?
"":"none"})}this.addChromelessToolbarItems(k);null!=this.editor.editButtonLink&&k(mxUtils.bind(this,function(d){"_blank"==this.editor.editButtonLink?this.editor.editAsNew(this.getEditBlankXml()):a.openLink(this.editor.editButtonLink,"editWindow");mxEvent.consume(d)}),Editor.editLargeImage,mxResources.get("edit"));!a.lightbox||"1"!=urlParams.close&&this.container==document.body||k(mxUtils.bind(this,function(a){"1"==urlParams.close?window.close():(this.destroy(),mxEvent.consume(a))}),Editor.closeLargeImage,
mxResources.get("close")+" (Escape)");this.chromelessToolbar.style.display="none";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)||h(30),r())}));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)?r():h(100)}));mxEvent.addListener(this.chromelessToolbar,"mousemove",mxUtils.bind(this,function(a){mxEvent.isShiftDown(a)?r():h(100);mxEvent.consume(a)}));mxEvent.addListener(this.chromelessToolbar,"mouseleave",mxUtils.bind(this,function(a){mxEvent.isTouchEvent(a)||h(30)}));var w=a.getTolerance();a.addMouseListener({startX:0,startY:0,scrollLeft:0,scrollTop:0,mouseDown:function(d,b){this.startX=
@@ -2115,8 +2115,8 @@ EditorUi.prototype.undo=function(){try{var a=this.editor.graph;if(a.isEditing())
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&&("hidden"==b.container.style.overflow?(a=b.view.translate,b.view.setTranslate(a.x-b.container.scrollLeft/b.view.scale,a.y-b.container.scrollTop/b.view.scale),b.container.scrollLeft=0,b.container.scrollTop=0,b.minimumGraphSize=null,b.sizeDidChange()):(a=b.view.translate.x,e=b.view.translate.y,b.view.translate.x=0,b.view.translate.y=
0,b.sizeDidChange(),b.container.scrollLeft-=Math.round(a*b.view.scale),b.container.scrollTop-=Math.round(e*b.view.scale)));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);a.container.scrollLeft=Math.floor(Math.min(b.x,(a.container.scrollWidth-a.container.clientWidth)/2));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,
+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(),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 a.pageVisible?(b=a.view.getBackgroundPageBounds(),a.view.setTranslate(Math.floor(Math.max(0,(a.container.clientWidth-b.width)/2)-b.x),Math.floor(Math.max(0,(a.container.clientHeight-b.height)/2)-b.y))):(b=a.getGraphBounds(),a.view.setTranslate(Math.floor(Math.max(0,Math.max(0,(a.container.clientWidth-b.width)/2)-b.x)),Math.floor(Math.max(0,Math.max(20,(a.container.clientHeight-
b.height)/4))-b.y)))};
EditorUi.prototype.setPageVisible=function(a){var b=this.editor.graph,e=mxUtils.hasScrollbars(b.container),c=0,k=0;e&&(c=b.view.translate.x*b.view.scale-b.container.scrollLeft,k=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*
@@ -2189,15 +2189,15 @@ e=g.bends.length-1:null!=h&&(2==f.length||3==f.length&&(0==Math.round(f[0].x-f[1
b.getGraphY()),e.grow(mxEdgeHandler.prototype.handleImage.width/2),null!=c.text&&null!=c.text.boundingBox&&mxUtils.contains(c.text.boundingBox,b.getGraphX(),b.getGraphY()))g="move";else if(mxUtils.contains(e,f[0].x,f[0].y)||mxUtils.contains(e,f[f.length-1].x,f[f.length-1].y))g="pointer";else if(null!=c.visibleSourceState||null!=c.visibleTargetState)h=this.view.getEdgeStyle(c),g="crosshair",h!=mxEdgeStyle.EntityRelation&&this.isOrthogonal(c)&&(h=mxUtils.findNearestSegment(c,b.getGraphX(),b.getGraphY()),
h<f.length-1&&0<=h&&(g=0==Math.round(f[h].x-f[h+1].x)?"col-resize":"row-resize"));null!=g&&c.setCursor(g)}}),mouseUp:mxUtils.bind(this,function(a,d){v=l=q=p=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,g=b.width*c,b=b.height*c,c=this.graph.view.translate,e=this.graph.view.scale,h=this.graph.getPageLayout(),n=0;n<h.width;n++)d.push(new mxRectangle(((h.x+n)*g+c.x)*e,(h.y*b+c.y)*e,g*e,b*e));for(n=0;n<h.height;n++)d.push(new mxRectangle((h.x*g+c.x)*e,((h.y+n)*b+c.y)*e,g*e,b*e));a=d.concat(a)}return a};mxDragSource.prototype.dragElementZIndex=mxPopupMenu.prototype.zIndex;mxGuide.prototype.getGuideColor=
+function(){var a=f.apply(this,arguments);if(this.graph.pageVisible){for(var d=[],b=this.graph.pageFormat,c=this.graph.pageScale,g=b.width*c,b=b.height*c,c=this.graph.view.translate,e=this.graph.view.scale,h=this.graph.getPageLayout(),m=0;m<h.width;m++)d.push(new mxRectangle(((h.x+m)*g+c.x)*e,(h.y*b+c.y)*e,g*e,b*e));for(m=0;m<h.height;m++)d.push(new mxRectangle((h.x*g+c.x)*e,((h.y+m)*b+c.y)*e,g*e,b*e));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)};this.graphHandler.getCells=function(a){for(var d=mxGraphHandler.prototype.getCells.apply(this,arguments),b=[],c=0;c<d.length;c++){var f=this.graph.view.getState(d[c]),f=null!=f?f.style:this.graph.getCellStyle(d[c]);
"1"==mxUtils.getValue(f,"part","0")?(f=this.graph.model.getParent(d[c]),this.graph.model.isVertex(f)&&0>mxUtils.indexOf(d,f)&&b.push(f)):b.push(d[c])}return b};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 g=new mxRubberband(this);
-this.getRubberband=function(){return g};var n=(new Date).getTime(),r=0,h=this.connectionHandler.mouseMove;this.connectionHandler.mouseMove=function(){var a=this.currentState;h.apply(this,arguments);a!=this.currentState?(n=(new Date).getTime(),r=0):r=(new Date).getTime()-n};var m=this.connectionHandler.isOutlineConnectEvent;this.connectionHandler.isOutlineConnectEvent=function(a){return null!=this.currentState&&a.getState()==this.currentState&&2E3<r||(null==this.currentState||"0"!=mxUtils.getValue(this.currentState.style,
-"outlineConnect","1"))&&m.apply(this,arguments)};var u=this.isToggleEvent;this.isToggleEvent=function(a){return u.apply(this,arguments)||mxEvent.isShiftDown(a)};var w=g.isForceRubberbandEvent;g.isForceRubberbandEvent=function(a){return w.apply(this,arguments)||mxUtils.hasScrollbars(this.graph.container)&&mxClient.IS_FF&&mxClient.IS_WIN&&null==a.getState()&&mxEvent.isTouchEvent(a.getEvent())};var t=null;this.panningHandler.addListener(mxEvent.PAN_START,mxUtils.bind(this,function(){this.isEnabled()&&
+this.getRubberband=function(){return g};var m=(new Date).getTime(),r=0,h=this.connectionHandler.mouseMove;this.connectionHandler.mouseMove=function(){var a=this.currentState;h.apply(this,arguments);a!=this.currentState?(m=(new Date).getTime(),r=0):r=(new Date).getTime()-m};var n=this.connectionHandler.isOutlineConnectEvent;this.connectionHandler.isOutlineConnectEvent=function(a){return null!=this.currentState&&a.getState()==this.currentState&&2E3<r||(null==this.currentState||"0"!=mxUtils.getValue(this.currentState.style,
+"outlineConnect","1"))&&n.apply(this,arguments)};var u=this.isToggleEvent;this.isToggleEvent=function(a){return u.apply(this,arguments)||mxEvent.isShiftDown(a)};var w=g.isForceRubberbandEvent;g.isForceRubberbandEvent=function(a){return w.apply(this,arguments)||mxUtils.hasScrollbars(this.graph.container)&&mxClient.IS_FF&&mxClient.IS_WIN&&null==a.getState()&&mxEvent.isTouchEvent(a.getEvent())};var t=null;this.panningHandler.addListener(mxEvent.PAN_START,mxUtils.bind(this,function(){this.isEnabled()&&
(t=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=t)}));this.popupMenuHandler.autoExpand=!0;this.popupMenuHandler.isSelectOnPopup=function(a){return mxEvent.isMouseEvent(a.getEvent())};var x=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 x.apply(this,
arguments);d=d?a.sourceState.cell:a.getCell();if(null!=d){var b=this.getLinkForCell(d);null!=b&&(this.isPageLink(b)?this.pageLinkClicked(d,b):this.openLink(b))}};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 F=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 F.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,c,f,g){g=null!=g?g:[];if(0<b||0<c){var e=this.getModel(),h=a+b,n=d+c;null==f&&(f=this.getCurrentRoot(),null==f&&(f=e.getRoot()));if(null!=f)for(var m=e.getChildCount(f),u=0;u<m;u++){var r=e.getChildAt(f,u),
-t=this.view.getState(r);if(null!=t&&this.isCellVisible(r)&&"1"!=mxUtils.getValue(t.style,"locked","0")){var w=mxUtils.getValue(t.style,mxConstants.STYLE_ROTATION)||0;0!=w&&(t=mxUtils.getBoundingBox(t,w));(e.isEdge(r)||e.isVertex(r))&&t.x>=a&&t.y+t.height<=n&&t.y>=d&&t.x+t.width<=h&&g.push(r);this.getAllCells(a,d,b,c,r,g)}}}return g};var D=this.graphHandler.shouldRemoveCellsFromParent;this.graphHandler.shouldRemoveCellsFromParent=function(a,d,b){return this.graph.isCellSelected(a)?!1:D.apply(this,
+this.isCellLocked(a)){if(null!=this.getLinkForCell(a))return"pointer";if(this.isCellLocked(a))return"default"}return F.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,c,f,g){g=null!=g?g:[];if(0<b||0<c){var e=this.getModel(),h=a+b,m=d+c;null==f&&(f=this.getCurrentRoot(),null==f&&(f=e.getRoot()));if(null!=f)for(var n=e.getChildCount(f),u=0;u<n;u++){var r=e.getChildAt(f,u),
+t=this.view.getState(r);if(null!=t&&this.isCellVisible(r)&&"1"!=mxUtils.getValue(t.style,"locked","0")){var w=mxUtils.getValue(t.style,mxConstants.STYLE_ROTATION)||0;0!=w&&(t=mxUtils.getBoundingBox(t,w));(e.isEdge(r)||e.isVertex(r))&&t.x>=a&&t.y+t.height<=m&&t.y>=d&&t.x+t.width<=h&&g.push(r);this.getAllCells(a,d,b,c,r,g)}}}return g};var D=this.graphHandler.shouldRemoveCellsFromParent;this.graphHandler.shouldRemoveCellsFromParent=function(a,d,b){return this.graph.isCellSelected(a)?!1:D.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,d){if("mouseDown"==d.getProperty("eventName")){var b=d.getProperty("event").getState();G=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"),c=d.getProperty("cell");null==c?(b=mxUtils.convertPoint(this.container,mxEvent.getClientX(b),mxEvent.getClientY(b)),g.start(b.x,b.y)):null!=G?this.addSelectionCells(G):1<this.getSelectionCount()&&this.isCellSelected(c)&&this.removeSelectionCell(c);G=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 B=this.updateMouseEvent;this.updateMouseEvent=function(a){a=B.apply(this,arguments);null!=a.state&&this.isCellLocked(a.getCell())&&(a.state=
@@ -2223,8 +2223,8 @@ Graph.prototype.isLabelMovable=function(a){var b=this.view.getState(a),b=null!=b
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,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,k=/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,l=/[^-+\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 p=e?"getUTC":"get",v=a[p+"Date"](),d=a[p+"Day"](),f=a[p+"Month"](),g=a[p+"FullYear"](),n=a[p+"Hours"](),r=a[p+"Minutes"](),h=a[p+"Seconds"](),p=a[p+"Milliseconds"](),m=e?0:a.getTimezoneOffset(),u={d:v,dd:q(v),ddd:c.i18n.dayNames[d],dddd:c.i18n.dayNames[d+7],m:f+1,mm:q(f+1),mmm:c.i18n.monthNames[f],mmmm:c.i18n.monthNames[f+
-12],yy:String(g).slice(2),yyyy:g,h:n%12||12,hh:q(n%12||12),H:n,HH:q(n),M:r,MM:q(r),s:h,ss:q(h),l:q(p,3),L:q(99<p?Math.round(p/10):p),t:12>n?"a":"p",tt:12>n?"am":"pm",T:12>n?"A":"P",TT:12>n?"AM":"PM",Z:e?"UTC":(String(a).match(k)||[""]).pop().replace(l,""),o:(0<m?"-":"+")+q(100*Math.floor(Math.abs(m)/60)+Math.abs(m)%60,4),S:["th","st","nd","rd"][3<v%10?0:(10!=v%100-v%10)*v%10]};return b.replace(/d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,function(a){return a in u?u[a]:a.slice(1,
+/\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 p=e?"getUTC":"get",v=a[p+"Date"](),d=a[p+"Day"](),f=a[p+"Month"](),g=a[p+"FullYear"](),m=a[p+"Hours"](),r=a[p+"Minutes"](),h=a[p+"Seconds"](),p=a[p+"Milliseconds"](),n=e?0:a.getTimezoneOffset(),u={d:v,dd:q(v),ddd:c.i18n.dayNames[d],dddd:c.i18n.dayNames[d+7],m:f+1,mm:q(f+1),mmm:c.i18n.monthNames[f],mmmm:c.i18n.monthNames[f+
+12],yy:String(g).slice(2),yyyy:g,h:m%12||12,hh:q(m%12||12),H:m,HH:q(m),M:r,MM:q(r),s:h,ss:q(h),l:q(p,3),L:q(99<p?Math.round(p/10):p),t:12>m?"a":"p",tt:12>m?"am":"pm",T:12>m?"A":"P",TT:12>m?"AM":"PM",Z:e?"UTC":(String(a).match(k)||[""]).pop().replace(l,""),o:(0<n?"-":"+")+q(100*Math.floor(Math.abs(n)/60)+Math.abs(n)%60,4),S:["th","st","nd","rd"][3<v%10?0:(10!=v%100-v%10)*v%10]};return b.replace(/d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,function(a){return a in u?u[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(),e=b.getChildCount(b.root),c=0;c<e;c++)(function(c){var e=document.createElement("div");e.style.overflow="hidden";e.style.textOverflow="ellipsis";e.style.padding="2px";e.style.whiteSpace="nowrap";var k=document.createElement("input");k.style.display="inline-block";k.setAttribute("type","checkbox");b.isVisible(c)&&(k.setAttribute("checked","checked"),k.defaultChecked=
!0);e.appendChild(k);var p=c.value||mxResources.get("background")||"Background";e.setAttribute("title",p);mxUtils.write(e,p);a.appendChild(e);mxEvent.addListener(k,"click",function(){null!=k.getAttribute("checked")?k.removeAttribute("checked"):k.setAttribute("checked","checked");b.setVisible(c,k.checked)})})(b.getChildAt(b.root,c));return a};
@@ -2233,9 +2233,9 @@ match.index)+(null!=l?l:k));c=match.index+k.length}}e.push(b.substring(c))}retur
Graph.prototype.connectVertex=function(a,b,e,c,k,l){l=l?l:!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 p=this.view.scale,v=this.view.translate,d=v.x*p,v=v.y*p;this.model.isVertex(e.cell)&&(d=e.x,v=e.y);this.model.isVertex(a.parent)&&a.geometry.relative&&(q.x+=a.parent.geometry.x,q.y+=a.parent.geometry.y);l=l||mxEvent.isControlDown(c)&&!k?null:this.getCellAt(d+q.x*p,v+q.y*p);this.model.isAncestor(l,a)&&(l=null);for(e=l;null!=e;){if(this.isCellLocked(e)){l=null;break}e=this.model.getParent(e)}null!=l&&(e=this.view.getState(a),p=this.view.getState(l),null!=e&&null!=p&&mxUtils.intersects(e,p)&&(l=
null));if(k=!mxEvent.isShiftDown(c)||k)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==l||this.isCellConnectable(l)||(e=this.getModel().getParent(l),this.getModel().isVertex(e)&&this.isCellConnectable(e)&&(l=e));if(l==a||this.model.isEdge(l)||!this.isCellConnectable(l))l=null;e=[];this.model.beginUpdate();try{p=l;if(null==p&&k){for(var d=a,f=this.getCellGeometry(a);null!=
-f&&f.relative;)d=this.getModel().getParent(d),f=this.getCellGeometry(d);var g=this.view.getState(d),n=null!=g?g.style:this.getCellStyle(d);if(mxUtils.getValue(n,"part",!1)){var r=this.model.getParent(d);this.model.isVertex(r)&&(d=r)}p=this.duplicateCells([d],!1)[0];f=this.getCellGeometry(p);null!=f&&(f.x=q.x-f.width/2,f.y=q.y-f.height/2)}f=null;null!=this.layoutManager&&(f=this.layoutManager.getLayout(this.model.getParent(a)));var h=mxEvent.isControlDown(c)&&k||null==l&&null!=f&&f.constructor==mxStackLayout?
-null:this.insertEdge(this.model.getParent(a),null,"",a,p,this.createCurrentEdgeStyle());if(null!=h&&this.connectionHandler.insertBeforeSource){var m=null;for(c=a;null!=c.parent&&null!=c.geometry&&c.geometry.relative&&c.parent!=h.parent;)c=this.model.getParent(c);null!=c&&null!=c.parent&&c.parent==h.parent&&(m=c.parent.getIndex(c),this.model.add(c.parent,h,m))}null==l&&null!=p&&null!=f&&null!=a.parent&&f.constructor==mxStackLayout&&b==mxConstants.DIRECTION_WEST&&(m=a.parent.getIndex(a),this.model.add(a.parent,
-p,m));null!=h&&e.push(h);null==l&&null!=p&&e.push(p);null==p&&null!=h&&h.geometry.setTerminalPoint(q,!1);null!=h&&this.fireEvent(new mxEventObject("cellsInserted","cells",[h]))}finally{this.model.endUpdate()}return e};
+f&&f.relative;)d=this.getModel().getParent(d),f=this.getCellGeometry(d);var g=this.view.getState(d),m=null!=g?g.style:this.getCellStyle(d);if(mxUtils.getValue(m,"part",!1)){var r=this.model.getParent(d);this.model.isVertex(r)&&(d=r)}p=this.duplicateCells([d],!1)[0];f=this.getCellGeometry(p);null!=f&&(f.x=q.x-f.width/2,f.y=q.y-f.height/2)}f=null;null!=this.layoutManager&&(f=this.layoutManager.getLayout(this.model.getParent(a)));var h=mxEvent.isControlDown(c)&&k||null==l&&null!=f&&f.constructor==mxStackLayout?
+null:this.insertEdge(this.model.getParent(a),null,"",a,p,this.createCurrentEdgeStyle());if(null!=h&&this.connectionHandler.insertBeforeSource){var n=null;for(c=a;null!=c.parent&&null!=c.geometry&&c.geometry.relative&&c.parent!=h.parent;)c=this.model.getParent(c);null!=c&&null!=c.parent&&c.parent==h.parent&&(n=c.parent.getIndex(c),this.model.add(c.parent,h,n))}null==l&&null!=p&&null!=f&&null!=a.parent&&f.constructor==mxStackLayout&&b==mxConstants.DIRECTION_WEST&&(n=a.parent.getIndex(a),this.model.add(a.parent,
+p,n));null!=h&&e.push(h);null==l&&null!=p&&e.push(p);null==p&&null!=h&&h.geometry.setTerminalPoint(q,!1);null!=h&&this.fireEvent(new mxEventObject("cellsInserted","cells",[h]))}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};
@@ -2287,16 +2287,16 @@ this.setDisplay("");null!=this.currentState&&this.currentState!=a&&c<this.activa
this.reset())}else 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){var c=this.getState(a);null!=c&&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&&this.graph.model.isEdge(c.cell)&&1!=c.style[mxConstants.STYLE_CURVED]&&this.validEdges.push(c);return c};var e=mxCellRenderer.prototype.isShapeInvalid;mxCellRenderer.prototype.isShapeInvalid=function(a,d){return e.apply(this,arguments)||null!=a.routedPoints&&null!=d.routedPoints&&!mxUtils.equalPoints(d.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 d=a.absolutePoints;if(Graph.lineJumpsEnabled){var b=null!=a.routedPoints,c=null;if(null!=d&&null!=this.validEdges&&"none"!==mxUtils.getValue(a.style,"jumpStyle","none")){for(var e=function(d,b,f){var g=new mxPoint(b,f);g.type=d;c.push(g);g=null!=a.routedPoints?a.routedPoints[c.length-1]:null;return null==g||g.type!=d||g.x!=b||g.y!=f},r=.5*this.scale,b=!1,c=[],h=0;h<d.length-1;h++){for(var m=d[h+1],u=d[h],w=[],t=d[h+2];h<
-d.length-2&&mxUtils.ptSegDistSq(u.x,u.y,t.x,t.y,m.x,m.y)<1*this.scale*this.scale;)m=t,h++,t=d[h+2];for(var b=e(0,u.x,u.y)||b,x=0;x<this.validEdges.length;x++){var k=this.validEdges[x],p=k.absolutePoints;if(null!=p&&mxUtils.intersects(a,k)&&"1"!=k.style.noJump)for(k=0;k<p.length-1;k++){for(var l=p[k+1],q=p[k],t=p[k+2];k<p.length-2&&mxUtils.ptSegDistSq(q.x,q.y,t.x,t.y,l.x,l.y)<1*this.scale*this.scale;)l=t,k++,t=p[k+2];t=mxUtils.intersection(u.x,u.y,m.x,m.y,q.x,q.y,l.x,l.y);if(null!=t&&(Math.abs(t.x-
+this.updateLineJumps(a)};mxGraphView.prototype.updateLineJumps=function(a){var d=a.absolutePoints;if(Graph.lineJumpsEnabled){var b=null!=a.routedPoints,c=null;if(null!=d&&null!=this.validEdges&&"none"!==mxUtils.getValue(a.style,"jumpStyle","none")){for(var e=function(d,b,f){var g=new mxPoint(b,f);g.type=d;c.push(g);g=null!=a.routedPoints?a.routedPoints[c.length-1]:null;return null==g||g.type!=d||g.x!=b||g.y!=f},r=.5*this.scale,b=!1,c=[],h=0;h<d.length-1;h++){for(var n=d[h+1],u=d[h],w=[],t=d[h+2];h<
+d.length-2&&mxUtils.ptSegDistSq(u.x,u.y,t.x,t.y,n.x,n.y)<1*this.scale*this.scale;)n=t,h++,t=d[h+2];for(var b=e(0,u.x,u.y)||b,x=0;x<this.validEdges.length;x++){var k=this.validEdges[x],p=k.absolutePoints;if(null!=p&&mxUtils.intersects(a,k)&&"1"!=k.style.noJump)for(k=0;k<p.length-1;k++){for(var l=p[k+1],q=p[k],t=p[k+2];k<p.length-2&&mxUtils.ptSegDistSq(q.x,q.y,t.x,t.y,l.x,l.y)<1*this.scale*this.scale;)l=t,k++,t=p[k+2];t=mxUtils.intersection(u.x,u.y,n.x,n.y,q.x,q.y,l.x,l.y);if(null!=t&&(Math.abs(t.x-
q.x)>r||Math.abs(t.y-q.y)>r)&&(Math.abs(t.x-l.x)>r||Math.abs(t.y-l.y)>r)){l=t.x-u.x;q=t.y-u.y;t={distSq:l*l+q*q,x:t.x,y:t.y};for(l=0;l<w.length;l++)if(w[l].distSq>t.distSq){w.splice(l,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(k=0;k<w.length;k++)b=e(1,w[k].x,w[k].y)||b}t=d[d.length-1];b=e(0,t.x,t.y)||b}a.routedPoints=c;return b}return!1};var k=mxConnector.prototype.paintLine;mxConnector.prototype.paintLine=function(a,d,b){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)k.apply(this,arguments);else{var c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2,f=(parseInt(mxUtils.getValue(this.style,"jumpSize",Graph.defaultJumpSize))-2)/2+this.strokewidth,e=mxUtils.getValue(this.style,"jumpStyle","none"),h,m=!0,u=null,w=null;h=[];var t=null;a.begin();for(var x=0;x<this.state.routedPoints.length;x++){var p=
+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)k.apply(this,arguments);else{var c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2,f=(parseInt(mxUtils.getValue(this.style,"jumpSize",Graph.defaultJumpSize))-2)/2+this.strokewidth,e=mxUtils.getValue(this.style,"jumpStyle","none"),h,n=!0,u=null,w=null;h=[];var t=null;a.begin();for(var x=0;x<this.state.routedPoints.length;x++){var p=
this.state.routedPoints[x],l=new mxPoint(p.x/this.scale,p.y/this.scale);0==x?l=d[0]:x==this.state.routedPoints.length-1&&(l=d[d.length-1]);var q=!1;if(null!=u&&1==p.type){var v=this.state.routedPoints[x+1],p=v.x/this.scale-l.x,v=v.y/this.scale-l.y,p=p*p+v*v;null==t&&(t=new mxPoint(l.x-u.x,l.y-u.y),w=Math.sqrt(t.x*t.x+t.y*t.y),t.x=t.x*f/w,t.y=t.y*f/w);p>f*f&&0<w&&(p=u.x-l.x,v=u.y-l.y,p=p*p+v*v,p>f*f&&(q=new mxPoint(l.x-t.x,l.y-t.y),p=new mxPoint(l.x+t.x,l.y+t.y),h.push(q),this.addPoints(a,h,b,c,!1,
-null,m),h=0>Math.round(t.x)||0==Math.round(t.x)&&0>=Math.round(t.y)?1:-1,m=!1,"sharp"==e?(a.lineTo(q.x-t.y*h,q.y+t.x*h),a.lineTo(p.x-t.y*h,p.y+t.x*h),a.lineTo(p.x,p.y)):"arc"==e?(h*=1.3,a.curveTo(q.x-t.y*h,q.y+t.x*h,p.x-t.y*h,p.y+t.x*h,p.x,p.y)):(a.moveTo(p.x,p.y),m=!0),h=[p],q=!0))}else t=null;q||(h.push(l),u=l)}this.addPoints(a,h,b,c,!1,null,m);a.stroke()}};var l=mxGraphView.prototype.updateFloatingTerminalPoint;mxGraphView.prototype.updateFloatingTerminalPoint=function(a,d,b,c){if(null==d||null==
-a||"1"!=d.style.snapToPoint&&"1"!=a.style.snapToPoint)l.apply(this,arguments);else{d=this.getTerminalPort(a,d,c);var f=this.getNextPoint(a,b,c),g=this.graph.isOrthogonal(a),e=mxUtils.toRadians(Number(d.style[mxConstants.STYLE_ROTATION]||"0")),m=new mxPoint(d.getCenterX(),d.getCenterY());if(0!=e)var u=Math.cos(-e),w=Math.sin(-e),f=mxUtils.getRotatedPoint(f,u,w,m);u=parseFloat(a.style[mxConstants.STYLE_PERIMETER_SPACING]||0);u+=parseFloat(a.style[c?mxConstants.STYLE_SOURCE_PERIMETER_SPACING:mxConstants.STYLE_TARGET_PERIMETER_SPACING]||
-0);f=this.getPerimeterPoint(d,f,0==e&&g,u);0!=e&&(u=Math.cos(e),w=Math.sin(e),f=mxUtils.getRotatedPoint(f,u,w,m));a.setAbsoluteTerminalPoint(this.snapToAnchorPoint(a,d,b,c,f),c)}};mxGraphView.prototype.snapToAnchorPoint=function(a,d,b,c,e){if(null!=d&&null!=a){a=this.graph.getAllConnectionConstraints(d);c=b=null;for(var f=0;f<a.length;f++){var g=this.graph.getConnectionPoint(d,a[f]);if(null!=g){var m=(g.x-e.x)*(g.x-e.x)+(g.y-e.y)*(g.y-e.y);if(null==c||m<c)b=g,c=m}}null!=b&&(e=b)}return e};var q=mxStencil.prototype.evaluateTextAttribute;
+null,n),h=0>Math.round(t.x)||0==Math.round(t.x)&&0>=Math.round(t.y)?1:-1,n=!1,"sharp"==e?(a.lineTo(q.x-t.y*h,q.y+t.x*h),a.lineTo(p.x-t.y*h,p.y+t.x*h),a.lineTo(p.x,p.y)):"arc"==e?(h*=1.3,a.curveTo(q.x-t.y*h,q.y+t.x*h,p.x-t.y*h,p.y+t.x*h,p.x,p.y)):(a.moveTo(p.x,p.y),n=!0),h=[p],q=!0))}else t=null;q||(h.push(l),u=l)}this.addPoints(a,h,b,c,!1,null,n);a.stroke()}};var l=mxGraphView.prototype.updateFloatingTerminalPoint;mxGraphView.prototype.updateFloatingTerminalPoint=function(a,d,b,c){if(null==d||null==
+a||"1"!=d.style.snapToPoint&&"1"!=a.style.snapToPoint)l.apply(this,arguments);else{d=this.getTerminalPort(a,d,c);var f=this.getNextPoint(a,b,c),g=this.graph.isOrthogonal(a),e=mxUtils.toRadians(Number(d.style[mxConstants.STYLE_ROTATION]||"0")),n=new mxPoint(d.getCenterX(),d.getCenterY());if(0!=e)var u=Math.cos(-e),w=Math.sin(-e),f=mxUtils.getRotatedPoint(f,u,w,n);u=parseFloat(a.style[mxConstants.STYLE_PERIMETER_SPACING]||0);u+=parseFloat(a.style[c?mxConstants.STYLE_SOURCE_PERIMETER_SPACING:mxConstants.STYLE_TARGET_PERIMETER_SPACING]||
+0);f=this.getPerimeterPoint(d,f,0==e&&g,u);0!=e&&(u=Math.cos(e),w=Math.sin(e),f=mxUtils.getRotatedPoint(f,u,w,n));a.setAbsoluteTerminalPoint(this.snapToAnchorPoint(a,d,b,c,f),c)}};mxGraphView.prototype.snapToAnchorPoint=function(a,d,b,c,e){if(null!=d&&null!=a){a=this.graph.getAllConnectionConstraints(d);c=b=null;for(var f=0;f<a.length;f++){var g=this.graph.getConnectionPoint(d,a[f]);if(null!=g){var n=(g.x-e.x)*(g.x-e.x)+(g.y-e.y)*(g.y-e.y);if(null==c||n<c)b=g,c=n}}null!=b&&(e=b)}return e};var q=mxStencil.prototype.evaluateTextAttribute;
mxStencil.prototype.evaluateTextAttribute=function(a,d,b){var c=q.apply(this,arguments);"1"==a.getAttribute("placeholders")&&null!=b.state&&(c=b.state.view.graph.replacePlaceholders(b.state.cell,c));return c};var p=mxCellRenderer.prototype.createShape;mxCellRenderer.prototype.createShape=function(a){if(null!=a.style&&"undefined"!==typeof pako){var d=mxUtils.getValue(a.style,mxConstants.STYLE_SHAPE,null);if(null!=d&&"stencil("==d.substring(0,8))try{var b=d.substring(8,d.length-1),c=mxUtils.parseXml(a.view.graph.decompress(b));
-return new mxShape(new mxStencil(c.documentElement))}catch(n){null!=window.console&&console.log("Error in shape: "+n)}}return p.apply(this,arguments)}})();mxStencilRegistry.libraries={};mxStencilRegistry.dynamicLoading=!0;mxStencilRegistry.allowEval=!0;mxStencilRegistry.packages=[];
+return new mxShape(new mxStencil(c.documentElement))}catch(m){null!=window.console&&console.log("Error in shape: "+m)}}return p.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 k=b[c];if(".xml"==k.toLowerCase().substring(k.length-4,k.length))mxStencilRegistry.loadStencilSet(k,null);else if(".js"==k.toLowerCase().substring(k.length-3,k.length))try{if(mxStencilRegistry.allowEval){var l=
mxUtils.load(k);null!=l&&200<=l.getStatus()&&299>=l.getStatus()&&eval.call(window,l.getText())}}catch(q){null!=window.console&&console.log("error in getStencil:",k,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&&(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};
@@ -2311,50 +2311,50 @@ for(var d in this.graph.currentEdgeStyle)a.style[d]=this.graph.currentEdgeStyle[
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+";");"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.importGraphModel=function(a,d,b,c){d=null!=d?
-d:0;b=null!=b?b:0;var f=[],e=new mxGraphModel;(new mxCodec(a.ownerDocument)).decode(a,e);a=e.getChildCount(e.getRoot());this.model.getChildCount(this.model.getRoot());this.model.beginUpdate();try{for(var g={},h=0;h<a;h++){var m=e.getChildAt(e.getRoot(),h);if(1!=a||this.isCellLocked(this.getDefaultParent()))m=this.importCells([m],0,0,this.model.getRoot(),null,g)[0],n=this.model.getChildren(m),this.moveCells(n,d,b),f=f.concat(n);else var n=e.getChildren(m),f=f.concat(this.importCells(n,d,b,this.getDefaultParent(),
-null,g))}if(c){this.isGridEnabled()&&(d=this.snap(d),b=this.snap(b));var u=this.getBoundingBoxFromGeometry(f,!0);null!=u&&this.moveCells(f,d-u.x,b-u.y)}}finally{this.model.endUpdate()}return f};Graph.prototype.getAllConnectionConstraints=function(a,d){if(null!=a){var b=mxUtils.getValue(a.style,"points",null);if(null!=b){var c=[];try{for(var f=JSON.parse(b),b=0;b<f.length;b++){var e=f[b];c.push(new mxConnectionConstraint(new mxPoint(e[0],e[1]),2<e.length?"0"!=e[2]:!0))}}catch(O){}return c}if(null!=
+d:0;b=null!=b?b:0;var f=[],g=new mxGraphModel;(new mxCodec(a.ownerDocument)).decode(a,g);a=g.getChildCount(g.getRoot());this.model.getChildCount(this.model.getRoot());this.model.beginUpdate();try{for(var e={},h=0;h<a;h++){var n=g.getChildAt(g.getRoot(),h);if(1!=a||this.isCellLocked(this.getDefaultParent()))n=this.importCells([n],0,0,this.model.getRoot(),null,e)[0],m=this.model.getChildren(n),this.moveCells(m,d,b),f=f.concat(m);else var m=g.getChildren(n),f=f.concat(this.importCells(m,d,b,this.getDefaultParent(),
+null,e))}if(c){this.isGridEnabled()&&(d=this.snap(d),b=this.snap(b));var u=this.getBoundingBoxFromGeometry(f,!0);null!=u&&this.moveCells(f,d-u.x,b-u.y)}}finally{this.model.endUpdate()}return f};Graph.prototype.getAllConnectionConstraints=function(a,d){if(null!=a){var b=mxUtils.getValue(a.style,"points",null);if(null!=b){var c=[];try{for(var f=JSON.parse(b),b=0;b<f.length;b++){var g=f[b];c.push(new mxConnectionConstraint(new mxPoint(g[0],g[1]),2<g.length?"0"!=g[2]:!0))}}catch(O){}return c}if(null!=
a.shape)if(null!=a.shape.stencil){if(null!=a.shape.stencil)return a.shape.stencil.constraints}else 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,c=0;c<d;c++){var f=this.model.getChildAt(a,c);this.model.isVertex(f)&&(f=this.getCellGeometry(f),null==f||f.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 c=0;c<a.length;c++){var f=a[c];if(d.isEdge(f)){var e=d.getTerminal(f,!0),g=d.getTerminal(f,!1);d.setTerminal(f,g,!0);d.setTerminal(f,e,!1);var h=d.getGeometry(f);if(null!=h){h=h.clone();null!=h.points&&h.points.reverse();var m=h.getTerminalPoint(!0),n=h.getTerminalPoint(!1);
-h.setTerminalPoint(m,!1);h.setTerminalPoint(n,!0);d.setGeometry(f,h);var u=this.view.getState(f),r=this.view.getState(e),t=this.view.getState(g);if(null!=u){var w=null!=r?this.getConnectionConstraint(u,r,!0):null,Q=null!=t?this.getConnectionConstraint(u,t,!1):null;this.setConnectionConstraint(f,e,!0,Q);this.setConnectionConstraint(f,g,!1,w)}b.push(f)}}else if(d.isVertex(f)&&(h=this.getCellGeometry(f),null!=h)){h=h.clone();h.x+=h.width/2-h.height/2;h.y+=h.height/2-h.width/2;var x=h.width;h.width=h.height;
-h.height=x;d.setGeometry(f,h);var k=this.view.getState(f);if(null!=k){var p=k.style[mxConstants.STYLE_DIRECTION]||"east";"east"==p?p="south":"south"==p?p="west":"west"==p?p="north":"north"==p&&(p="east");this.setCellStyles(mxConstants.STYLE_DIRECTION,p,[f])}b.push(f)}}}finally{d.endUpdate()}return b};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);
+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 c=0;c<a.length;c++){var f=a[c];if(d.isEdge(f)){var g=d.getTerminal(f,!0),e=d.getTerminal(f,!1);d.setTerminal(f,e,!0);d.setTerminal(f,g,!1);var h=d.getGeometry(f);if(null!=h){h=h.clone();null!=h.points&&h.points.reverse();var n=h.getTerminalPoint(!0),m=h.getTerminalPoint(!1);
+h.setTerminalPoint(n,!1);h.setTerminalPoint(m,!0);d.setGeometry(f,h);var u=this.view.getState(f),r=this.view.getState(g),t=this.view.getState(e);if(null!=u){var w=null!=r?this.getConnectionConstraint(u,r,!0):null,Q=null!=t?this.getConnectionConstraint(u,t,!1):null;this.setConnectionConstraint(f,g,!0,Q);this.setConnectionConstraint(f,e,!1,w)}b.push(f)}}else if(d.isVertex(f)&&(h=this.getCellGeometry(f),null!=h)){h=h.clone();h.x+=h.width/2-h.height/2;h.y+=h.height/2-h.width/2;var k=h.width;h.width=h.height;
+h.height=k;d.setGeometry(f,h);var x=this.view.getState(f);if(null!=x){var p=x.style[mxConstants.STYLE_DIRECTION]||"east";"east"==p?p="south":"south"==p?p="west":"west"==p?p="north":"north"==p&&(p="east");this.setCellStyles(mxConstants.STYLE_DIRECTION,p,[f])}b.push(f)}}}finally{d.endUpdate()}return b};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++)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.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 e=this.convertValueToString(a[f]);if(null!=e&&0<e.length){c.innerHTML=e;for(var g=c.getElementsByTagName(null!=b?b:"*"),h=0;h<g.length;h++)d(g[h]);c.innerHTML!=e&&this.cellLabelChanged(a[f],c.innerHTML)}}};Graph.prototype.cellLabelChanged=function(a,d,b){d=this.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 e=a.value.cloneNode(!0);e.setAttribute("label",d);d=e}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)){var e=mxUtils.getValue(f.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),g=mxUtils.getValue(f.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE);if(e==mxConstants.NONE&&g==mxConstants.NONE){e=!0;for(g=0;g<this.model.getChildCount(f.cell)&&e;g++)d.get(this.model.getChildAt(f.cell,g))||(e=!1);e&&a.push(f.cell)}}}mxGraph.prototype.cellsRemoved.apply(this,
+0;f<a.length;f++)if(this.isHtmlLabel(a[f])){var g=this.convertValueToString(a[f]);if(null!=g&&0<g.length){c.innerHTML=g;for(var e=c.getElementsByTagName(null!=b?b:"*"),h=0;h<e.length;h++)d(e[h]);c.innerHTML!=g&&this.cellLabelChanged(a[f],c.innerHTML)}}};Graph.prototype.cellLabelChanged=function(a,d,b){d=this.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 g=a.value.cloneNode(!0);g.setAttribute("label",d);d=g}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)){var g=mxUtils.getValue(f.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),e=mxUtils.getValue(f.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE);if(g==mxConstants.NONE&&e==mxConstants.NONE){g=!0;for(e=0;e<this.model.getChildCount(f.cell)&&g;e++)d.get(this.model.getChildAt(f.cell,e))||(g=!1);g&&a.push(f.cell)}}}mxGraph.prototype.cellsRemoved.apply(this,
arguments)};Graph.prototype.removeCellsAfterUngroup=function(a){for(var d=[],b=0;b<a.length;b++)if(this.isCellDeletable(a[b])){var c=this.view.getState(a[b]);if(null!=c){var f=mxUtils.getValue(c.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),c=mxUtils.getValue(c.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE);f==mxConstants.NONE&&c==mxConstants.NONE&&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.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&&0<b.length?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&&(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;resizable=0;points=[];";c.geometry=new mxGeometry(0,0,0,0);c.vertex=!0;if(null!=b){c.style+="align=center;verticalAlign=middle;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),e=this.view.scale;c.geometry.offset=new mxPoint(Math.round((a-f.x)/e),Math.round((d-f.y)/e))}else c.style+="autosize=1;align=left;verticalAlign=top;spacingTop=-4;",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)-
+!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),g=this.view.scale;c.geometry.offset=new mxPoint(Math.round((a-f.x)/g),Math.round((d-f.y)/g))}else c.style+="autosize=1;align=left;verticalAlign=top;spacingTop=-4;",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.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.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("href",c),null!=d&&mxEvent.addGestureListeners(a[b],null,null,d))}});this.model.addListener(mxEvent.CHANGE,c);c();var f=this.container.style.cursor,e=this.getTolerance(),g=this,h={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>e||c>e)&&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(),h=c.getEvent();null!=f&&"a"!=f.nodeName.toLowerCase();)f=f.parentNode;null==f&&Math.abs(this.scrollLeft-g.container.scrollLeft)<e&&Math.abs(this.scrollTop-g.container.scrollTop)<e&&(null==c.sourceState||!c.isSource(c.sourceState.control))&&((mxEvent.isLeftMouseButton(h)||mxEvent.isMiddleMouseButton(h))&&!mxEvent.isPopupTrigger(h)||
-mxEvent.isTouchEvent(h))&&(null!=this.currentLink?(f=g.isBlankLink(this.currentLink),"data:"!==this.currentLink.substring(0,5)&&f||null==d||d(h,this.currentLink),mxEvent.isConsumed(h)||(h=mxEvent.isMiddleMouseButton(h)?"_blank":f?g.linkTarget:"_top",g.openLink(this.currentLink,h),c.consume())):null!=b&&!c.isConsumed()&&Math.abs(this.scrollLeft-g.container.scrollLeft)<e&&Math.abs(this.scrollTop-g.container.scrollTop)<e&&Math.abs(this.startX-c.getGraphX())<e&&Math.abs(this.startY-c.getGraphY())<e&&
-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(h);mxEvent.addListener(document,"mouseleave",
-function(a){h.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 g=this.cloneCells(a,!1),e=0;e<a.length;e++){var h=b.getParent(a[e]),m=this.moveCells([g[e]],c,c,!1)[0];f.push(m);if(d)b.add(h,g[e]);else{var n=h.getIndex(a[e]);b.add(h,g[e],n+1)}}}finally{b.endUpdate()}return f};Graph.prototype.insertImage=function(a,d,b){if(null!=a){for(var c=
-this.cellEditor.textarea.getElementsByTagName("img"),f=[],e=0;e<c.length;e++)f.push(c[e]);document.execCommand("insertimage",!1,a);a=this.cellEditor.textarea.getElementsByTagName("img");if(a.length==f.length+1)for(e=a.length-1;0<=e;e--)if(0==e||a[e]!=f[e-1]){a[e].setAttribute("width",d);a[e].setAttribute("height",b);break}}};Graph.prototype.insertLink=function(a){0==a.length?document.execCommand("unlink",!1):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,e=0;e<d.length;e++)if(this.getModel().isVertex(d[e])){var g=this.view.getState(d[e]);if(null!=g){var h=a?g.getCenterX():g.getCenterY(),c=
-null!=c?Math.max(c,h):h,f=null!=f?Math.min(f,h):h;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;h=this.view.scale;f=f/h-(a?g.x:g.y);c=c/h-(a?g.x:g.y);this.getModel().beginUpdate();try{for(var m=(c-f)/(b.length-1),c=f,e=1;e<b.length-1;e++){var n=this.view.getState(this.model.getParent(b[e].cell)),u=this.getCellGeometry(b[e].cell),c=c+m;null!=u&&null!=n&&(u=u.clone(),a?u.x=Math.round(c-u.width/2)-n.origin.x:u.y=Math.round(c-u.height/2)-n.origin.y,this.getModel().setGeometry(b[e].cell,
-u))}}finally{this.getModel().endUpdate()}}}return d};Graph.prototype.isCloneEvent=function(a){return mxClient.IS_MAC&&mxEvent.isMetaDown(a)||mxEvent.isControlDown(a)};Graph.prototype.encodeCells=function(a){for(var d=this.cloneCells(a),b=new mxDictionary,c=0;c<a.length;c++)b.put(a[c],!0);for(c=0;c<d.length;c++){var f=this.view.getState(a[c]);if(null!=f){var e=this.getCellGeometry(d[c]);null==e||!e.relative||this.model.isEdge(a[c])||b.get(this.model.getParent(a[c]))||(e.relative=!1,e.x=f.x/f.view.scale-
-f.view.translate.x,e.y=f.y/f.view.scale-f.view.translate.y)}}b=new mxCodec;f=new mxGraphModel;e=f.getChildAt(f.getRoot(),0);for(c=0;c<a.length;c++)f.add(e,d[c]);return b.encode(f)};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,e,g,h){d=null!=d?d:1;b=null!=b?b:0;f=null!=f?f:!0;e=null!=e?e:!0;g=null!=g?g:!0;c=e||c?this.getGraphBounds():
-this.getBoundingBox(this.getSelectionCells());if(null==c)throw Error(mxResources.get("drawingEmpty"));var m=this.view.scale,n=mxUtils.createXmlDocument(),u=null!=n.createElementNS?n.createElementNS(mxConstants.NS_SVG,"svg"):n.createElement("svg");null!=a&&(null!=u.style?u.style.backgroundColor=a:u.setAttribute("style","background-color:"+a));null==n.createElementNS?(u.setAttribute("xmlns",mxConstants.NS_SVG),u.setAttribute("xmlns:xlink",mxConstants.NS_XLINK)):u.setAttributeNS("http://www.w3.org/2000/xmlns/",
-"xmlns:xlink",mxConstants.NS_XLINK);a=d/m;u.setAttribute("width",Math.max(1,Math.ceil(c.width*a)+2*b)+"px");u.setAttribute("height",Math.max(1,Math.ceil(c.height*a)+2*b)+"px");u.setAttribute("version","1.1");var r=u;f&&(r=null!=n.createElementNS?n.createElementNS(mxConstants.NS_SVG,"g"):n.createElement("g"),r.setAttribute("transform","translate(0.5,0.5)"),u.appendChild(r));n.appendChild(u);n=this.createSvgCanvas(r);n.foOffset=f?-.5:0;n.textOffset=f?-.5:0;n.imageOffset=f?-.5:0;n.translate(Math.floor((b/
-d-c.x)/m),Math.floor((b/d-c.y)/m));var t=document.createElement("textarea"),w=n.createAlternateContent;n.createAlternateContent=function(a,d,b,c,f,e,g,h,n,m,u,r,x){var k=this.state;if(null!=this.foAltText&&(0==c||0!=k.fontSize&&e.length<5*c/k.fontSize)){var p=this.createElement("text");p.setAttribute("x",Math.round(c/2));p.setAttribute("y",Math.round((f+k.fontSize)/2));p.setAttribute("fill",k.fontColor||"black");p.setAttribute("text-anchor","middle");p.setAttribute("font-size",Math.round(k.fontSize)+
-"px");p.setAttribute("font-family",k.fontFamily);(k.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&p.setAttribute("font-weight","bold");(k.fontStyle&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&p.setAttribute("font-style","italic");(k.fontStyle&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&p.setAttribute("text-decoration","underline");try{return t.innerHTML=e,p.textContent=t.value,p}catch(Ba){return w.apply(this,arguments)}}else return w.apply(this,arguments)};b=this.backgroundImage;
-null!=b&&(f=m/d,d=this.view.translate,f=new mxRectangle(d.x*f,d.y*f,b.width*f,b.height*f),mxUtils.intersects(c,f)&&n.image(d.x,d.y,b.width,b.height,b.src,!0));n.scale(a);n.textEnabled=g;h=null!=h?h:this.createSvgImageExport();var x=h.drawCellState;h.drawCellState=function(a,d){for(var b=a.view.graph,c=b.isCellSelected(a.cell),f=b.model.getParent(a.cell);!e&&!c&&null!=f;)c=b.isCellSelected(f),f=b.model.getParent(f);(e||c)&&x.apply(this,arguments)};h.drawState(this.getView().getState(this.model.root),
-n);return u};Graph.prototype.createSvgCanvas=function(a){return new mxSvgCanvas2D(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.selectNode=
+if(null!=a)for(var b=0;b<a.length;b++){var c=this.getAbsoluteUrl(a[b].getAttribute("href"));null!=c&&(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,g=this.getTolerance(),e=this,h={currentState:null,currentLink:null,highlight:null!=a&&""!=a&&a!=mxConstants.NONE?new mxCellHighlight(e,a,4):null,startX:0,startY:0,scrollLeft:0,scrollTop:0,updateCurrentState:function(a){var d=a.sourceState;
+if(null==d||null==e.getLinkForCell(d.cell))a=e.getCellAt(a.getGraphX(),a.getGraphY(),null,null,null,function(a,d,b){return null==e.getLinkForCell(a.cell)}),d=e.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=e.container.scrollLeft;this.scrollTop=e.container.scrollTop;null==this.currentLink&&"auto"==
+e.container.style.overflow&&(e.container.style.cursor="move");this.updateCurrentState(d)},mouseMove:function(a,d){if(e.isMouseDown){if(null!=this.currentLink){var b=Math.abs(this.startX-d.getGraphX()),c=Math.abs(this.startY-d.getGraphY());(b>g||c>g)&&this.clear()}}else{for(b=d.getSource();null!=b&&"a"!=b.nodeName.toLowerCase();)b=b.parentNode;null!=b?this.clear():(null!=e.tooltipHandler&&null!=this.currentLink&&null!=this.currentState&&e.tooltipHandler.reset(d,!0,this.currentState),(null==this.currentState||
+d.getState()!=this.currentState&&null!=d.sourceState||!e.intersects(this.currentState,d.getGraphX(),d.getGraphY()))&&this.updateCurrentState(d))}},mouseUp:function(a,c){for(var f=c.getSource(),h=c.getEvent();null!=f&&"a"!=f.nodeName.toLowerCase();)f=f.parentNode;null==f&&Math.abs(this.scrollLeft-e.container.scrollLeft)<g&&Math.abs(this.scrollTop-e.container.scrollTop)<g&&(null==c.sourceState||!c.isSource(c.sourceState.control))&&((mxEvent.isLeftMouseButton(h)||mxEvent.isMiddleMouseButton(h))&&!mxEvent.isPopupTrigger(h)||
+mxEvent.isTouchEvent(h))&&(null!=this.currentLink?(f=e.isBlankLink(this.currentLink),"data:"!==this.currentLink.substring(0,5)&&f||null==d||d(h,this.currentLink),mxEvent.isConsumed(h)||(h=mxEvent.isMiddleMouseButton(h)?"_blank":f?e.linkTarget:"_top",e.openLink(this.currentLink,h),c.consume())):null!=b&&!c.isConsumed()&&Math.abs(this.scrollLeft-e.container.scrollLeft)<g&&Math.abs(this.scrollTop-e.container.scrollTop)<g&&Math.abs(this.startX-c.getGraphX())<g&&Math.abs(this.startY-c.getGraphY())<g&&
+b(c.getEvent()));this.clear()},activate:function(a){this.currentLink=e.getAbsoluteUrl(e.getLinkForCell(a.cell));null!=this.currentLink&&(e.container.style.cursor="pointer",null!=this.highlight&&this.highlight.highlight(a))},clear:function(){null!=e.container&&(e.container.style.cursor=f);this.currentLink=this.currentState=null;null!=this.highlight&&this.highlight.hide();null!=e.tooltipHandler&&e.tooltipHandler.hide()}};e.click=function(a){};e.addMouseListener(h);mxEvent.addListener(document,"mouseleave",
+function(a){h.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 g=this.cloneCells(a,!1),e=0;e<a.length;e++){var h=b.getParent(a[e]),n=this.moveCells([g[e]],c,c,!1)[0];f.push(n);if(d)b.add(h,g[e]);else{var m=h.getIndex(a[e]);b.add(h,g[e],m+1)}}}finally{b.endUpdate()}return f};Graph.prototype.insertImage=function(a,d,b){if(null!=a){for(var c=
+this.cellEditor.textarea.getElementsByTagName("img"),f=[],g=0;g<c.length;g++)f.push(c[g]);document.execCommand("insertimage",!1,a);a=this.cellEditor.textarea.getElementsByTagName("img");if(a.length==f.length+1)for(g=a.length-1;0<=g;g--)if(0==g||a[g]!=f[g-1]){a[g].setAttribute("width",d);a[g].setAttribute("height",b);break}}};Graph.prototype.insertLink=function(a){0==a.length?document.execCommand("unlink",!1):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,g=0;g<d.length;g++)if(this.getModel().isVertex(d[g])){var e=this.view.getState(d[g]);if(null!=e){var h=a?e.getCenterX():e.getCenterY(),c=
+null!=c?Math.max(c,h):h,f=null!=f?Math.min(f,h):h;b.push(e)}}if(2<b.length){b.sort(function(d,b){return a?d.x-b.x:d.y-b.y});e=this.view.translate;h=this.view.scale;f=f/h-(a?e.x:e.y);c=c/h-(a?e.x:e.y);this.getModel().beginUpdate();try{for(var n=(c-f)/(b.length-1),c=f,g=1;g<b.length-1;g++){var m=this.view.getState(this.model.getParent(b[g].cell)),u=this.getCellGeometry(b[g].cell),c=c+n;null!=u&&null!=m&&(u=u.clone(),a?u.x=Math.round(c-u.width/2)-m.origin.x:u.y=Math.round(c-u.height/2)-m.origin.y,this.getModel().setGeometry(b[g].cell,
+u))}}finally{this.getModel().endUpdate()}}}return d};Graph.prototype.isCloneEvent=function(a){return mxClient.IS_MAC&&mxEvent.isMetaDown(a)||mxEvent.isControlDown(a)};Graph.prototype.encodeCells=function(a){for(var d=this.cloneCells(a),b=new mxDictionary,c=0;c<a.length;c++)b.put(a[c],!0);for(c=0;c<d.length;c++){var f=this.view.getState(a[c]);if(null!=f){var g=this.getCellGeometry(d[c]);null==g||!g.relative||this.model.isEdge(a[c])||b.get(this.model.getParent(a[c]))||(g.relative=!1,g.x=f.x/f.view.scale-
+f.view.translate.x,g.y=f.y/f.view.scale-f.view.translate.y)}}b=new mxCodec;f=new mxGraphModel;g=f.getChildAt(f.getRoot(),0);for(c=0;c<a.length;c++)f.add(g,d[c]);return b.encode(f)};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,g,e,h){d=null!=d?d:1;b=null!=b?b:0;f=null!=f?f:!0;g=null!=g?g:!0;e=null!=e?e:!0;c=g||c?this.getGraphBounds():
+this.getBoundingBox(this.getSelectionCells());if(null==c)throw Error(mxResources.get("drawingEmpty"));var n=this.view.scale,m=mxUtils.createXmlDocument(),u=null!=m.createElementNS?m.createElementNS(mxConstants.NS_SVG,"svg"):m.createElement("svg");null!=a&&(null!=u.style?u.style.backgroundColor=a:u.setAttribute("style","background-color:"+a));null==m.createElementNS?(u.setAttribute("xmlns",mxConstants.NS_SVG),u.setAttribute("xmlns:xlink",mxConstants.NS_XLINK)):u.setAttributeNS("http://www.w3.org/2000/xmlns/",
+"xmlns:xlink",mxConstants.NS_XLINK);a=d/n;u.setAttribute("width",Math.max(1,Math.ceil(c.width*a)+2*b)+"px");u.setAttribute("height",Math.max(1,Math.ceil(c.height*a)+2*b)+"px");u.setAttribute("version","1.1");var r=u;f&&(r=null!=m.createElementNS?m.createElementNS(mxConstants.NS_SVG,"g"):m.createElement("g"),r.setAttribute("transform","translate(0.5,0.5)"),u.appendChild(r));m.appendChild(u);m=this.createSvgCanvas(r);m.foOffset=f?-.5:0;m.textOffset=f?-.5:0;m.imageOffset=f?-.5:0;m.translate(Math.floor((b/
+d-c.x)/n),Math.floor((b/d-c.y)/n));var t=document.createElement("textarea"),w=m.createAlternateContent;m.createAlternateContent=function(a,d,b,c,f,g,e,h,m,n,u,r,k){var x=this.state;if(null!=this.foAltText&&(0==c||0!=x.fontSize&&g.length<5*c/x.fontSize)){var p=this.createElement("text");p.setAttribute("x",Math.round(c/2));p.setAttribute("y",Math.round((f+x.fontSize)/2));p.setAttribute("fill",x.fontColor||"black");p.setAttribute("text-anchor","middle");p.setAttribute("font-size",Math.round(x.fontSize)+
+"px");p.setAttribute("font-family",x.fontFamily);(x.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&p.setAttribute("font-weight","bold");(x.fontStyle&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&p.setAttribute("font-style","italic");(x.fontStyle&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&p.setAttribute("text-decoration","underline");try{return t.innerHTML=g,p.textContent=t.value,p}catch(Ba){return w.apply(this,arguments)}}else return w.apply(this,arguments)};b=this.backgroundImage;
+null!=b&&(f=n/d,d=this.view.translate,f=new mxRectangle(d.x*f,d.y*f,b.width*f,b.height*f),mxUtils.intersects(c,f)&&m.image(d.x,d.y,b.width,b.height,b.src,!0));m.scale(a);m.textEnabled=e;h=null!=h?h:this.createSvgImageExport();var k=h.drawCellState;h.drawCellState=function(a,d){for(var b=a.view.graph,c=b.isCellSelected(a.cell),f=b.model.getParent(a.cell);!g&&!c&&null!=f;)c=b.isCellSelected(f),f=b.model.getParent(f);(g||c)&&k.apply(this,arguments)};h.drawState(this.getView().getState(this.model.root),
+m);return u};Graph.prototype.createSvgCanvas=function(a){return new mxSvgCanvas2D(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.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=0<b.rows.length?b.rows[0].cells.length:1,b=b.insertRow(d),f=0;f<c;f++)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){d=null!=d?d:a;var b=document.createElement("a");
b.setAttribute("href",this.getAbsoluteUrl(a));b.setAttribute("title",a);null!=this.linkTarget&&b.setAttribute("target",this.linkTarget);40<d.length&&(d=d.substring(0,26)+"..."+d.substring(d.length-10));mxUtils.write(b,d);return b};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,
-e,g){a==mxEvent.MOUSE_DOWN&&(e=this.updateMouseEvent(e),d=this.isCellSelected(e.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&&
+g,e){a==mxEvent.MOUSE_DOWN&&(g=this.updateMouseEvent(g),d=this.isCellSelected(g.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.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(H){}};var k=mxCellRenderer.prototype.initializeLabel;mxCellRenderer.prototype.initializeLabel=function(a){null!=a.text&&(a.text.replaceLinefeeds="0"!=mxUtils.getValue(a.style,"nl2Br","1"));k.apply(this,arguments)};var l=mxConstraintHandler.prototype.update;
mxConstraintHandler.prototype.update=function(a,d){this.isKeepFocusEvent(a)||!mxEvent.isAltDown(a.getEvent())?l.apply(this,arguments):this.reset()};mxGuide.prototype.createGuideShape=function(a){return new mxPolyline([],mxConstants.GUIDE_COLOR,mxConstants.GUIDE_STROKEWIDTH)};mxCellEditor.prototype.escapeCancelsEditing=!1;var q=mxCellEditor.prototype.startEditing;mxCellEditor.prototype.startEditing=function(a,d){q.apply(this,arguments);var b=this.graph.view.getState(a);this.textarea.className=null!=
@@ -2362,9 +2362,9 @@ b&&1==b.style.html?"mxCellEditor geContentEditable":"mxCellEditor mxPlainTextEdi
"":mxClient.IS_QUIRKS&&(this.textarea.style.outline="none",this.textarea.style.border="")};var p=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)}p.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(){b(this.textarea,c)}),0)}))};mxCellEditor.prototype.toggleViewMode=function(){var a=this.graph.view.getState(this.editingCell),d=null!=a&&"0"!=mxUtils.getValue(a.style,"nl2Br","1"),b=this.saveSelection();if(this.codeViewMode){h=mxUtils.extractTextWithWhitespace(this.textarea.childNodes);
-0<h.length&&"\n"==h.charAt(h.length-1)&&(h=h.substring(0,h.length-1));h=this.graph.sanitizeHtml(d?h.replace(/\n/g,"<br/>"):h,!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),e=(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,a=(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE;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=a?"underline":"";this.textarea.style.fontWeight=
-e?"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!=h&&(this.textarea.innerHTML=h,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="");
+0<h.length&&"\n"==h.charAt(h.length-1)&&(h=h.substring(0,h.length-1));h=this.graph.sanitizeHtml(d?h.replace(/\n/g,"<br/>"):h,!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),g=(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_BOLD)==
+mxConstants.FONT_BOLD,e=(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC,a=(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE;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=a?"underline":"";this.textarea.style.fontWeight=
+g?"bold":"normal";this.textarea.style.fontStyle=e?"italic":"";this.textarea.style.fontFamily=d;this.textarea.style.textAlign=f;this.textarea.style.padding="0px";this.textarea.innerHTML!=h&&(this.textarea.innerHTML=h,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 h=mxUtils.htmlEntities(this.textarea.innerHTML);mxClient.IS_QUIRKS||8==document.documentMode||(h=mxUtils.replaceTrailingNewlines(h,"<div><br></div>"));h=this.graph.sanitizeHtml(d?h.replace(/\n/g,"").replace(/&lt;br\s*.?&gt;/g,"<br>"):h,!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!=h&&(this.textarea.innerHTML=h);this.codeViewMode=!0}this.textarea.focus();null!=this.switchSelectionState&&this.restoreSelection(this.switchSelectionState);this.switchSelectionState=b;this.resize()};var v=mxCellEditor.prototype.resize;
mxCellEditor.prototype.resize=function(a,d){if(null!=this.textarea)if(a=this.graph.getView().getState(this.editingCell),this.codeViewMode&&null!=a){var b=a.view.scale;this.bounds=mxRectangle.fromRectangle(a);if(0==this.bounds.width&&0==this.bounds.height){this.bounds.width=160*b;this.bounds.height=60*b;var c=null!=a.text?a.text.margin:null;null==c&&(c=mxUtils.getAlignmentAsPoint(mxUtils.getValue(a.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_CENTER),mxUtils.getValue(a.style,mxConstants.STYLE_VERTICAL_ALIGN,
@@ -2376,11 +2376,11 @@ function(){try{this.graph.container.focus()}catch(Q){}};var f=mxCellEditor.proto
!1)}}finally{this.graph.getModel().endUpdate()}};mxCellEditor.prototype.getBackgroundColor=function(a){var d=null;if(this.graph.getModel().isEdge(a.cell)||this.graph.getModel().isEdge(this.graph.getModel().getParent(a.cell)))d=mxUtils.getValue(a.style,mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,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 g=mxGraphHandler.prototype.moveCells;
mxGraphHandler.prototype.moveCells=function(a,d,b,c,f,e){mxEvent.isAltDown(e)&&(f=null);g.apply(this,arguments)};mxGraphHandler.prototype.updateHint=function(d){if(null!=this.shape){null==this.hint&&(this.hint=a(),this.graph.container.appendChild(this.hint));var b=this.graph.view.translate,c=this.graph.view.scale;d=this.roundLength((this.bounds.x+this.currentDx)/c-b.x);b=this.roundLength((this.bounds.y+this.currentDy)/c-b.y);this.hint.innerHTML=d+", "+b;this.hint.style.left=this.shape.bounds.x+Math.round((this.shape.bounds.width-
this.hint.clientWidth)/2)+"px";this.hint.style.top=this.shape.bounds.y+this.shape.bounds.height+12+"px"}};mxGraphHandler.prototype.removeHint=function(){null!=this.hint&&(this.hint.parentNode.removeChild(this.hint),this.hint=null)};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){this.index!=mxEvent.LABEL_HANDLE&&(null==this.hint&&(this.hint=a(),this.state.view.graph.container.appendChild(this.hint)),this.index==mxEvent.ROTATION_HANDLE?this.hint.innerHTML=this.currentAlpha+
+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 m=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=m.apply(this,arguments);return a};mxVertexHandler.prototype.updateHint=function(d){this.index!=mxEvent.LABEL_HANDLE&&(null==this.hint&&(this.hint=a(),this.state.view.graph.container.appendChild(this.hint)),this.index==mxEvent.ROTATION_HANDLE?this.hint.innerHTML=this.currentAlpha+
"&deg;":(d=this.state.view.scale,this.hint.innerHTML=this.roundLength(this.bounds.width/d)+" x "+this.roundLength(this.bounds.height/d)),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+12+"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="")};mxEdgeHandler.prototype.updateHint=function(d,b){null==this.hint&&(this.hint=a(),this.state.view.graph.container.appendChild(this.hint));var c=this.graph.view.translate,f=this.graph.view.scale,e=this.roundLength(b.x/f-c.x),c=this.roundLength(b.y/f-c.y);this.hint.innerHTML=e+", "+c;this.hint.style.visibility="visible";if(this.isSource||this.isTarget)null!=this.constraintHandler.currentConstraint&&
-null!=this.constraintHandler.currentFocus?(e=this.constraintHandler.currentConstraint.point,this.hint.innerHTML="["+Math.round(100*e.x)+"%, "+Math.round(100*e.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(),b.y)+this.state.view.graph.gridSize+"px";null!=this.linkHint&&(this.linkHint.style.display="none")};mxEdgeHandler.prototype.removeHint=mxVertexHandler.prototype.removeHint;
+function(){mxGraphHandler.prototype.removeHint.apply(this,arguments);null!=this.linkHint&&(this.linkHint.style.display="")};mxEdgeHandler.prototype.updateHint=function(d,b){null==this.hint&&(this.hint=a(),this.state.view.graph.container.appendChild(this.hint));var c=this.graph.view.translate,f=this.graph.view.scale,g=this.roundLength(b.x/f-c.x),c=this.roundLength(b.y/f-c.y);this.hint.innerHTML=g+", "+c;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(),b.y)+this.state.view.graph.gridSize+"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="#007dfc" 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="#007dfc" 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="#007dfc" 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=new mxImage(mxClient.IS_SVG?"data:image/png;base64,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":
IMAGE_PATH+"/handle-rotate.png",19,21);mxClient.IS_SVG&&(mxConstraintHandler.prototype.pointImage=Graph.createSvgImage(5,5,'<path d="m 0 0 L 5 5 M 0 5 L 5 0" stroke="#007dfc"/>'));mxVertexHandler.prototype.handleImage=HoverIcons.prototype.mainHandle;mxVertexHandler.prototype.secondaryHandleImage=HoverIcons.prototype.secondaryHandle;mxEdgeHandler.prototype.handleImage=HoverIcons.prototype.mainHandle;mxEdgeHandler.prototype.terminalHandleImage=HoverIcons.prototype.terminalHandle;mxEdgeHandler.prototype.fixedHandleImage=
@@ -2390,14 +2390,14 @@ Sidebar.prototype.roundDrop=HoverIcons.prototype.roundDrop);mxClient.IS_SVG||((n
-20;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=-24,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 r=mxGraphHandler.prototype.mouseDown;mxGraphHandler.prototype.mouseDown=function(a,d){r.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,e=null,g=null;null!=this.first&&
-null!=this.currentX&&null!=this.currentY&&(c=this.first.x,f=this.first.y,e=(this.currentX-c)/this.graph.view.scale,g=(this.currentY-f)/this.graph.view.scale,mxEvent.isAltDown(d.getEvent())||(e=this.graph.snap(e),g=this.graph.snap(g),this.graph.isGridEnabled()||(Math.abs(e)<this.graph.tolerance&&(e=0),Math.abs(g)<this.graph.tolerance&&(g=0))));this.reset();if(b){if(mxEvent.isAltDown(d.getEvent())&&this.graph.isToggleEvent(d.getEvent())){var e=new mxRectangle(this.x,this.y,this.width,this.height),h=
-this.graph.getCells(e.x,e.y,e.width,e.height);this.graph.removeSelectionCells(h)}else if(this.isSpaceEvent(d)){this.graph.model.beginUpdate();try{for(h=this.graph.getCellsBeyond(c,f,this.graph.getDefaultParent(),!0,!0),b=0;b<h.length;b++)if(this.graph.isCellMovable(h[b])){var n=this.graph.view.getState(h[b]),m=this.graph.getCellGeometry(h[b]);null!=n&&null!=m&&(m=m.clone(),m.translate(e,g),this.graph.model.setGeometry(h[b],m))}}finally{this.graph.model.endUpdate()}}else e=new mxRectangle(this.x,this.y,
-this.width,this.height),this.graph.selectRegion(e,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,e=this.first.y-b,g=this.graph.tolerance;if(null!=this.div||Math.abs(f)>g||Math.abs(e)>g)null==this.div&&(this.div=this.createShape()),mxUtils.clearSelection(),this.update(c,b),
+(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,g=null,e=null;null!=this.first&&
+null!=this.currentX&&null!=this.currentY&&(c=this.first.x,f=this.first.y,g=(this.currentX-c)/this.graph.view.scale,e=(this.currentY-f)/this.graph.view.scale,mxEvent.isAltDown(d.getEvent())||(g=this.graph.snap(g),e=this.graph.snap(e),this.graph.isGridEnabled()||(Math.abs(g)<this.graph.tolerance&&(g=0),Math.abs(e)<this.graph.tolerance&&(e=0))));this.reset();if(b){if(mxEvent.isAltDown(d.getEvent())&&this.graph.isToggleEvent(d.getEvent())){var g=new mxRectangle(this.x,this.y,this.width,this.height),h=
+this.graph.getCells(g.x,g.y,g.width,g.height);this.graph.removeSelectionCells(h)}else if(this.isSpaceEvent(d)){this.graph.model.beginUpdate();try{for(h=this.graph.getCellsBeyond(c,f,this.graph.getDefaultParent(),!0,!0),b=0;b<h.length;b++)if(this.graph.isCellMovable(h[b])){var m=this.graph.view.getState(h[b]),n=this.graph.getCellGeometry(h[b]);null!=m&&null!=n&&(n=n.clone(),n.translate(g,e),this.graph.model.setGeometry(h[b],n))}}finally{this.graph.model.endUpdate()}}else g=new mxRectangle(this.x,this.y,
+this.width,this.height),this.graph.selectRegion(g,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,g=this.first.y-b,e=this.graph.tolerance;if(null!=this.div||Math.abs(f)>e||Math.abs(g)>e)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)),d.consume()}};var h=mxRubberband.prototype.reset;mxRubberband.prototype.reset=function(){null!=this.secondDiv&&(this.secondDiv.parentNode.removeChild(this.secondDiv),this.secondDiv=null);h.apply(this,
-arguments)};var m=(new Date).getTime(),u=0,w=mxEdgeHandler.prototype.updatePreviewState;mxEdgeHandler.prototype.updatePreviewState=function(a,d,b,c){w.apply(this,arguments);b!=this.currentTerminalState?(m=(new Date).getTime(),u=0):u=(new Date).getTime()-m;this.currentTerminalState=b};var t=mxEdgeHandler.prototype.isOutlineConnectEvent;mxEdgeHandler.prototype.isOutlineConnectEvent=function(a){return null!=this.currentTerminalState&&a.getState()==this.currentTerminalState&&2E3<u||(null==this.currentTerminalState||
+arguments)};var n=(new Date).getTime(),u=0,w=mxEdgeHandler.prototype.updatePreviewState;mxEdgeHandler.prototype.updatePreviewState=function(a,d,b,c){w.apply(this,arguments);b!=this.currentTerminalState?(n=(new Date).getTime(),u=0):u=(new Date).getTime()-n;this.currentTerminalState=b};var t=mxEdgeHandler.prototype.isOutlineConnectEvent;mxEdgeHandler.prototype.isOutlineConnectEvent=function(a){return null!=this.currentTerminalState&&a.getState()==this.currentTerminalState&&2E3<u||(null==this.currentTerminalState||
"0"!=mxUtils.getValue(this.currentTerminalState.style,"outlineConnect","1"))&&t.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 x=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 x.apply(this,arguments)};var F=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 F.apply(this,
@@ -2408,7 +2408,7 @@ function(a,d){y.apply(this,arguments);null!=this.rotationShape&&null!=this.rotat
1==this.graph.getSelectionCount()?"":"none");null!=this.specialHandle&&(this.specialHandle.node.style.display=this.graph.isEnabled()&&this.graph.getSelectionCount()<this.graph.graphHandler.maxCells?"":"none");this.redrawHandles()});this.selectionHandler=mxUtils.bind(this,function(a,b){d()});this.graph.getSelectionModel().addListener(mxEvent.CHANGE,this.selectionHandler);this.changeHandler=mxUtils.bind(this,function(a,b){this.updateLinkHint(this.graph.getLinkForCell(this.state.cell),this.graph.getLinksForState(this.state));
d()});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){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.fontSize="90%",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",IMAGE_PATH+"/edit.gif");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)}));c=document.createElement("img");c.setAttribute("src",Dialog.prototype.clearImage);
+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)}));c=document.createElement("img");c.setAttribute("src",Dialog.prototype.clearImage);
c.setAttribute("title",mxResources.get("removeIt",[mxResources.get("link")]));c.setAttribute("width","13");c.setAttribute("height","10");c.style.marginLeft="4px";c.style.marginBottom="-1px";c.style.cursor="pointer";this.linkHint.appendChild(c);mxEvent.addListener(c,"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 f=document.createElement("div");f.style.marginTop=null!=d||0<c?"6px":"0px";f.appendChild(this.graph.createLinkForHint(b[c].getAttribute("href"),
mxUtils.getTextContent(b[c])));this.linkHint.appendChild(f)}}};mxEdgeHandler.prototype.updateLinkHint=mxVertexHandler.prototype.updateLinkHint;var I=mxEdgeHandler.prototype.init;mxEdgeHandler.prototype.init=function(){I.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.selectionHandler=mxUtils.bind(this,function(d,b){a()});this.graph.getSelectionModel().addListener(mxEvent.CHANGE,this.selectionHandler);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.getModel().addListener(mxEvent.CHANGE,
@@ -2418,114 +2418,114 @@ d.y+d.height));this.linkHint.style.left=Math.max(0,Math.round(a.x+(a.width-this.
function(){J.apply(this,arguments);null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);null!=this.selectionHandler&&(this.graph.getSelectionModel().removeListener(this.selectionHandler),this.selectionHandler=null);null!=this.changeHandler&&(this.graph.getModel().removeListener(this.changeHandler),this.changeHandler=null);null!=this.editingHandler&&(this.graph.removeListener(this.editingHandler),this.editingHandler=null)};var R=mxEdgeHandler.prototype.redrawHandles;
mxEdgeHandler.prototype.redrawHandles=function(){if(null!=this.marker&&(R.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+6+this.state.view.graph.tolerance)+"px"}};var Y=mxEdgeHandler.prototype.reset;mxEdgeHandler.prototype.reset=
function(){Y.apply(this,arguments);null!=this.linkHint&&(this.linkHint.style.visibility="")};var aa=mxEdgeHandler.prototype.destroy;mxEdgeHandler.prototype.destroy=function(){aa.apply(this,arguments);null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);null!=this.selectionHandler&&(this.graph.getSelectionModel().removeListener(this.selectionHandler),this.selectionHandler=null);null!=this.changeHandler&&(this.graph.getModel().removeListener(this.changeHandler),
-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 k(){mxCylinder.call(this)}function l(){mxActor.call(this)}function q(){mxCylinder.call(this)}function p(){mxActor.call(this)}function v(){mxActor.call(this)}function d(){mxActor.call(this)}function f(){mxActor.call(this)}function g(){mxActor.call(this)}function n(){mxActor.call(this)}function r(){mxActor.call(this)}function h(a,d){this.canvas=
+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 k(){mxCylinder.call(this)}function l(){mxActor.call(this)}function q(){mxCylinder.call(this)}function p(){mxActor.call(this)}function v(){mxActor.call(this)}function d(){mxActor.call(this)}function f(){mxActor.call(this)}function g(){mxActor.call(this)}function m(){mxActor.call(this)}function r(){mxActor.call(this)}function h(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,h.prototype.lineTo);this.originalMoveTo=this.canvas.moveTo;this.canvas.moveTo=mxUtils.bind(this,h.prototype.moveTo);this.originalClose=this.canvas.close;this.canvas.close=mxUtils.bind(this,h.prototype.close);this.originalQuadTo=this.canvas.quadTo;this.canvas.quadTo=mxUtils.bind(this,h.prototype.quadTo);this.originalCurveTo=this.canvas.curveTo;
-this.canvas.curveTo=mxUtils.bind(this,h.prototype.curveTo);this.originalArcTo=this.canvas.arcTo;this.canvas.arcTo=mxUtils.bind(this,h.prototype.arcTo)}function m(){mxRectangleShape.call(this)}function u(){mxRectangleShape.call(this)}function w(){mxActor.call(this)}function t(){mxActor.call(this)}function x(){mxActor.call(this)}function F(){mxRectangleShape.call(this)}function D(){mxRectangleShape.call(this)}function G(){mxCylinder.call(this)}function B(){mxShape.call(this)}function y(){mxShape.call(this)}
+this.canvas.curveTo=mxUtils.bind(this,h.prototype.curveTo);this.originalArcTo=this.canvas.arcTo;this.canvas.arcTo=mxUtils.bind(this,h.prototype.arcTo)}function n(){mxRectangleShape.call(this)}function u(){mxRectangleShape.call(this)}function w(){mxActor.call(this)}function t(){mxActor.call(this)}function x(){mxActor.call(this)}function F(){mxRectangleShape.call(this)}function D(){mxRectangleShape.call(this)}function G(){mxCylinder.call(this)}function B(){mxShape.call(this)}function y(){mxShape.call(this)}
function C(){mxEllipse.call(this)}function I(){mxShape.call(this)}function z(){mxShape.call(this)}function N(){mxRectangleShape.call(this)}function E(){mxShape.call(this)}function J(){mxShape.call(this)}function R(){mxShape.call(this)}function Y(){mxCylinder.call(this)}function aa(){mxDoubleEllipse.call(this)}function Q(){mxDoubleEllipse.call(this)}function S(){mxArrowConnector.call(this);this.spacing=0}function K(){mxArrowConnector.call(this);this.spacing=0}function H(){mxActor.call(this)}function V(){mxRectangleShape.call(this)}
function L(){mxActor.call(this)}function O(){mxActor.call(this)}function X(){mxActor.call(this)}function A(){mxActor.call(this)}function W(){mxActor.call(this)}function P(){mxActor.call(this)}function da(){mxActor.call(this)}function T(){mxActor.call(this)}function Z(){mxActor.call(this)}function U(){mxActor.call(this)}function na(){mxEllipse.call(this)}function oa(){mxEllipse.call(this)}function ca(){mxEllipse.call(this)}function ia(){mxRhombus.call(this)}function qa(){mxEllipse.call(this)}function ea(){mxEllipse.call(this)}
-function ra(){mxEllipse.call(this)}function fa(){mxEllipse.call(this)}function ja(){mxActor.call(this)}function ba(){mxActor.call(this)}function ka(){mxActor.call(this)}function ga(){mxConnector.call(this)}function Aa(a,d,b,c,f,e,g,h,m,n){g+=m;var la=c.clone();c.x-=f*(2*g+m);c.y-=e*(2*g+m);f*=g+m;e*=g+m;return function(){a.ellipse(la.x-f-g,la.y-e-g,2*g,2*g);n?a.fillAndStroke():a.stroke()}}mxUtils.extend(a,mxCylinder);a.prototype.size=20;a.prototype.redrawPath=function(a,d,b,c,f,e){d=Math.max(0,Math.min(c,
-Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));e?(a.moveTo(d,f),a.lineTo(d,d),a.lineTo(0,0),a.moveTo(d,d),a.lineTo(c,d)):(a.moveTo(0,0),a.lineTo(c-d,0),a.lineTo(c,d),a.lineTo(c,f),a.lineTo(d,f),a.lineTo(0,f-d),a.lineTo(0,0),a.close());a.end()};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 xa=Math.tan(mxUtils.toRadians(30)),pa=(.5-xa)/2;mxUtils.extend(b,mxActor);b.prototype.size=20;b.prototype.redrawPath=function(a,d,b,c,f){d=Math.min(c,f/xa);a.translate((c-d)/2,(f-d)/2+d/4);a.moveTo(0,.25*d);a.lineTo(.5*d,d*pa);a.lineTo(d,.25*d);a.lineTo(.5*d,(.5-pa)*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,e){d=Math.min(c,f/(.5+xa));e?(a.moveTo(0,.25*d),a.lineTo(.5*
-d,(.5-pa)*d),a.lineTo(d,.25*d),a.moveTo(.5*d,(.5-pa)*d),a.lineTo(.5*d,(1-pa)*d)):(a.translate((c-d)/2,(f-d)/2),a.moveTo(0,.25*d),a.lineTo(.5*d,d*pa),a.lineTo(d,.25*d),a.lineTo(d,.75*d),a.lineTo(.5*d,(1-pa)*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,e){d=Math.min(f/2,Math.round(f/8)+this.strokewidth-1);if(e&&null!=this.fill||!e&&null==this.fill)a.moveTo(0,d),a.curveTo(0,2*d,c,2*d,c,d),e||
-(a.stroke(),a.begin()),a.translate(0,d/2),a.moveTo(0,d),a.curveTo(0,2*d,c,2*d,c,d),e||(a.stroke(),a.begin()),a.translate(0,d/2),a.moveTo(0,d),a.curveTo(0,2*d,c,2*d,c,d),e||(a.stroke(),a.begin()),a.translate(0,-d);e||(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)*this.scale,0,0)};mxCellRenderer.registerShape("datastore",
-c);mxUtils.extend(k,mxCylinder);k.prototype.size=30;k.prototype.redrawPath=function(a,d,b,c,f,e){d=Math.max(0,Math.min(c,Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));e?(a.moveTo(c-d,0),a.lineTo(c-d,d),a.lineTo(c,d)):(a.moveTo(0,0),a.lineTo(c-d,0),a.lineTo(c,d),a.lineTo(c,f),a.lineTo(0,f),a.lineTo(0,0),a.close());a.end()};mxCellRenderer.registerShape("note",k);mxUtils.extend(l,mxActor);l.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",l);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,e){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);
-e?"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(p,mxActor);p.prototype.size=30;p.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,
+function ra(){mxEllipse.call(this)}function fa(){mxEllipse.call(this)}function ja(){mxActor.call(this)}function ba(){mxActor.call(this)}function ka(){mxActor.call(this)}function ga(){mxConnector.call(this)}function Aa(a,d,b,c,f,g,e,h,m,n){e+=m;var la=c.clone();c.x-=f*(2*e+m);c.y-=g*(2*e+m);f*=e+m;g*=e+m;return function(){a.ellipse(la.x-f-e,la.y-g-e,2*e,2*e);n?a.fillAndStroke():a.stroke()}}mxUtils.extend(a,mxCylinder);a.prototype.size=20;a.prototype.redrawPath=function(a,d,b,c,f,g){d=Math.max(0,Math.min(c,
+Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));g?(a.moveTo(d,f),a.lineTo(d,d),a.lineTo(0,0),a.moveTo(d,d),a.lineTo(c,d)):(a.moveTo(0,0),a.lineTo(c-d,0),a.lineTo(c,d),a.lineTo(c,f),a.lineTo(d,f),a.lineTo(0,f-d),a.lineTo(0,0),a.close());a.end()};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 xa=Math.tan(mxUtils.toRadians(30)),pa=(.5-xa)/2;mxUtils.extend(b,mxActor);b.prototype.size=20;b.prototype.redrawPath=function(a,d,b,c,f){d=Math.min(c,f/xa);a.translate((c-d)/2,(f-d)/2+d/4);a.moveTo(0,.25*d);a.lineTo(.5*d,d*pa);a.lineTo(d,.25*d);a.lineTo(.5*d,(.5-pa)*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,g){d=Math.min(c,f/(.5+xa));g?(a.moveTo(0,.25*d),a.lineTo(.5*
+d,(.5-pa)*d),a.lineTo(d,.25*d),a.moveTo(.5*d,(.5-pa)*d),a.lineTo(.5*d,(1-pa)*d)):(a.translate((c-d)/2,(f-d)/2),a.moveTo(0,.25*d),a.lineTo(.5*d,d*pa),a.lineTo(d,.25*d),a.lineTo(d,.75*d),a.lineTo(.5*d,(1-pa)*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,g){d=Math.min(f/2,Math.round(f/8)+this.strokewidth-1);if(g&&null!=this.fill||!g&&null==this.fill)a.moveTo(0,d),a.curveTo(0,2*d,c,2*d,c,d),g||
+(a.stroke(),a.begin()),a.translate(0,d/2),a.moveTo(0,d),a.curveTo(0,2*d,c,2*d,c,d),g||(a.stroke(),a.begin()),a.translate(0,d/2),a.moveTo(0,d),a.curveTo(0,2*d,c,2*d,c,d),g||(a.stroke(),a.begin()),a.translate(0,-d);g||(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)*this.scale,0,0)};mxCellRenderer.registerShape("datastore",
+c);mxUtils.extend(k,mxCylinder);k.prototype.size=30;k.prototype.redrawPath=function(a,d,b,c,f,g){d=Math.max(0,Math.min(c,Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));g?(a.moveTo(c-d,0),a.lineTo(c-d,d),a.lineTo(c,d)):(a.moveTo(0,0),a.lineTo(c-d,0),a.lineTo(c,d),a.lineTo(c,f),a.lineTo(0,f),a.lineTo(0,0),a.close());a.end()};mxCellRenderer.registerShape("note",k);mxUtils.extend(l,mxActor);l.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",l);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,g){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 e=mxUtils.getValue(this.style,"tabPosition",this.tabPosition);
+g?"left"==e?(a.moveTo(0,b),a.lineTo(d,b)):(a.moveTo(c-d,b),a.lineTo(c,b)):("left"==e?(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(p,mxActor);p.prototype.size=30;p.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",p);mxUtils.extend(v,mxActor);v.prototype.size=.4;v.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()};v.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",
v);mxUtils.extend(d,mxActor);d.prototype.size=.3;d.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};d.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",d);mxCylinder.prototype.getLabelMargins=function(a){return mxUtils.getValue(this.style,"boundedLbl",!1)?new mxRectangle(0,Math.min(this.maxHeight*this.scale,.3*a.height),0,0):null};mxUtils.extend(f,mxActor);f.prototype.size=.2;f.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",f);mxUtils.extend(g,mxActor);g.prototype.size=.2;g.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",g);mxUtils.extend(n,mxActor);n.prototype.size=.5;n.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",n);mxUtils.extend(r,mxActor);r.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",r);h.prototype.moveTo=function(a,d){this.originalMoveTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=d;this.firstX=a;this.firstY=d};h.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)};h.prototype.quadTo=function(a,d,b,c){this.originalQuadTo.apply(this.canvas,arguments);this.lastX=b;this.lastY=c};h.prototype.curveTo=function(a,d,b,c,f,e){this.originalCurveTo.apply(this.canvas,arguments);this.lastX=f;this.lastY=e};h.prototype.arcTo=function(a,d,b,c,f,e,g){this.originalArcTo.apply(this.canvas,arguments);this.lastX=e;this.lastY=
-g};h.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),e=Math.sqrt(c*c+f*f);if(2>e){this.originalLineTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=d;return}var g=Math.round(e/10),la=this.defaultVariation;5>g&&(g=5,la/=3);for(var h=b(a-this.lastX)*c/g,b=b(d-this.lastY)*f/g,c=c/e,f=f/e,e=0;e<g;e++){var m=(Math.random()-.5)*la;this.originalLineTo.call(this.canvas,
-h*e+this.lastX-m*f,b*e+this.lastY-m*c)}this.originalLineTo.call(this.canvas,a,d)}else this.originalLineTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=d};h.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 Ba=mxShape.prototype.paint;mxShape.prototype.defaultJiggle=1.5;mxShape.prototype.paint=
+b,!0)};mxCellRenderer.registerShape("trapezoid",g);mxUtils.extend(m,mxActor);m.prototype.size=.5;m.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",m);mxUtils.extend(r,mxActor);r.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",r);h.prototype.moveTo=function(a,d){this.originalMoveTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=d;this.firstX=a;this.firstY=d};h.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)};h.prototype.quadTo=function(a,d,b,c){this.originalQuadTo.apply(this.canvas,arguments);this.lastX=b;this.lastY=c};h.prototype.curveTo=function(a,d,b,c,f,g){this.originalCurveTo.apply(this.canvas,arguments);this.lastX=f;this.lastY=g};h.prototype.arcTo=function(a,d,b,c,f,g,e){this.originalArcTo.apply(this.canvas,arguments);this.lastX=g;this.lastY=
+e};h.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),g=Math.sqrt(c*c+f*f);if(2>g){this.originalLineTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=d;return}var e=Math.round(g/10),la=this.defaultVariation;5>e&&(e=5,la/=3);for(var h=b(a-this.lastX)*c/e,b=b(d-this.lastY)*f/e,c=c/g,f=f/g,g=0;g<e;g++){var m=(Math.random()-.5)*la;this.originalLineTo.call(this.canvas,
+h*g+this.lastX-m*f,b*g+this.lastY-m*c)}this.originalLineTo.call(this.canvas,a,d)}else this.originalLineTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=d};h.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 Ba=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 h(a,mxUtils.getValue(this.style,"jiggle",this.defaultJiggle)));Ba.apply(this,arguments);null!=a.handJiggle&&(a.handJiggle.destroy(),delete a.handJiggle)};mxRhombus.prototype.defaultJiggle=2;var Fa=mxRectangleShape.prototype.isHtmlAllowed;mxRectangleShape.prototype.isHtmlAllowed=function(){return(null==this.style||"0"==mxUtils.getValue(this.style,"comic","0"))&&Fa.apply(this,arguments)};
-var Ga=mxRectangleShape.prototype.paintBackground;mxRectangleShape.prototype.paintBackground=function(a,d,b,c,f){if(null==a.handJiggle)Ga.apply(this,arguments);else{var e=!0;null!=this.style&&(e="1"==mxUtils.getValue(this.style,mxConstants.STYLE_POINTER_EVENTS,"1"));if(e||null!=this.fill&&this.fill!=mxConstants.NONE||null!=this.stroke&&this.stroke!=mxConstants.NONE)e||null!=this.fill&&this.fill!=mxConstants.NONE||(a.pointerEvents=!1),a.begin(),this.isRounded?("1"==mxUtils.getValue(this.style,mxConstants.STYLE_ABSOLUTE_ARCSIZE,
-0)?e=Math.min(c/2,Math.min(f/2,mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2)):(e=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,e=Math.min(c*e,f*e)),a.moveTo(d+e,b),a.lineTo(d+c-e,b),a.quadTo(d+c,b,d+c,b+e),a.lineTo(d+c,b+f-e),a.quadTo(d+c,b+f,d+c-e,b+f),a.lineTo(d+e,b+f),a.quadTo(d,b+f,d,b+f-e),a.lineTo(d,b+e),a.quadTo(d,b,d+e,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 Ha=mxRectangleShape.prototype.paintForeground;mxRectangleShape.prototype.paintForeground=function(a,d,b,c,f){null==a.handJiggle&&Ha.apply(this,arguments)};mxUtils.extend(m,mxRectangleShape);m.prototype.size=.1;m.prototype.isHtmlAllowed=function(){return!1};m.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};m.prototype.paintForeground=function(a,d,b,c,f){var e=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,e=Math.max(e,Math.min(c*g,f*g));e=Math.round(e);a.begin();a.moveTo(d+e,b);a.lineTo(d+e,b+f);a.moveTo(d+c-e,b);a.lineTo(d+c-e,b+f);a.end();a.stroke();mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("process",m);mxUtils.extend(u,mxRectangleShape);u.prototype.paintBackground=function(a,d,b,c,f){a.setFillColor(mxConstants.NONE);a.rect(d,b,c,f);a.fill()};u.prototype.paintForeground=
+var Ga=mxRectangleShape.prototype.paintBackground;mxRectangleShape.prototype.paintBackground=function(a,d,b,c,f){if(null==a.handJiggle)Ga.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(c/2,Math.min(f/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(c*g,f*g)),a.moveTo(d+g,b),a.lineTo(d+c-g,b),a.quadTo(d+c,b,d+c,b+g),a.lineTo(d+c,b+f-g),a.quadTo(d+c,b+f,d+c-g,b+f),a.lineTo(d+g,b+f),a.quadTo(d,b+f,d,b+f-g),a.lineTo(d,b+g),a.quadTo(d,b,d+g,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 Ha=mxRectangleShape.prototype.paintForeground;mxRectangleShape.prototype.paintForeground=function(a,d,b,c,f){null==a.handJiggle&&Ha.apply(this,arguments)};mxUtils.extend(n,mxRectangleShape);n.prototype.size=.1;n.prototype.isHtmlAllowed=function(){return!1};n.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};n.prototype.paintForeground=function(a,d,b,c,f){var g=c*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,g=Math.max(g,Math.min(c*e,f*e));g=Math.round(g);a.begin();a.moveTo(d+g,b);a.lineTo(d+g,b+f);a.moveTo(d+c-g,b);a.lineTo(d+c-g,b+f);a.end();a.stroke();mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("process",n);mxUtils.extend(u,mxRectangleShape);u.prototype.paintBackground=function(a,d,b,c,f){a.setFillColor(mxConstants.NONE);a.rect(d,b,c,f);a.fill()};u.prototype.paintForeground=
function(a,d,b,c,f){};mxCellRenderer.registerShape("transparent",u);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.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 e=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)))),h=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,e+h),f-b),new mxPoint(g,f),new mxPoint(Math.max(0,e),f-b),new mxPoint(0,f-b)],this.isRounded,d,!0,[4])};mxCellRenderer.registerShape("callout",
+"size",this.size))));var g=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"position",this.position)))),e=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"position2",this.position2)))),h=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,g+h),f-b),new mxPoint(e,f),new mxPoint(Math.max(0,g),f-b),new mxPoint(0,f-b)],this.isRounded,d,!0,[4])};mxCellRenderer.registerShape("callout",
w);mxUtils.extend(t,mxActor);t.prototype.size=.2;t.prototype.fixedSize=20;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(x,mxHexagon);x.prototype.size=.25;x.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",x);mxUtils.extend(F,mxRectangleShape);F.prototype.isHtmlAllowed=function(){return!1};F.prototype.paintForeground=function(a,d,b,c,f){var e=Math.min(c/5,f/5)+1;a.begin();a.moveTo(d+c/2,b+e);a.lineTo(d+c/2,b+f-e);a.moveTo(d+e,b+f/2);a.lineTo(d+c-e,b+f/2);a.end();a.stroke();mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("plus",F);var Ca=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){Ca.apply(this,arguments);if(!this.outline&&1==this.style["double"]){var e=2*Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0);d+=e;b+=e;c-=2*e;f-=2*e;0<c&&0<f&&(a.setShadow(!1),Ca.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 e=Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||
-0);d+=e;b+=e;c-=2*e;f-=2*e;0<c&&0<f&&mxRectangleShape.prototype.paintBackground.apply(this,arguments)}a.setDashed(!1);var e=0,g;do{g=mxCellRenderer.defaultShapes[this.style["symbol"+e]];if(null!=g){var h=this.style["symbol"+e+"Align"],la=this.style["symbol"+e+"VerticalAlign"],m=this.style["symbol"+e+"Width"],n=this.style["symbol"+e+"Height"],u=this.style["symbol"+e+"Spacing"]||0,r=this.style["symbol"+e+"VSpacing"]||u,t=this.style["symbol"+e+"ArcSpacing"];null!=t&&(t*=this.getArcSize(c+this.strokewidth,
-f+this.strokewidth),u+=t,r+=t);var t=d,w=b,t=h==mxConstants.ALIGN_CENTER?t+(c-m)/2:h==mxConstants.ALIGN_RIGHT?t+(c-m-u):t+u,w=la==mxConstants.ALIGN_MIDDLE?w+(f-n)/2:la==mxConstants.ALIGN_BOTTOM?w+(f-n-r):w+r;a.save();h=new g;h.style=this.style;g.prototype.paintVertexShape.call(h,a,t,w,m,n);a.restore()}e++}while(null!=g)}mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("ext",D);mxUtils.extend(G,mxCylinder);G.prototype.redrawPath=function(a,d,b,c,f,e){e?
+this.isRounded,b,!0)};mxCellRenderer.registerShape("hexagon",x);mxUtils.extend(F,mxRectangleShape);F.prototype.isHtmlAllowed=function(){return!1};F.prototype.paintForeground=function(a,d,b,c,f){var g=Math.min(c/5,f/5)+1;a.begin();a.moveTo(d+c/2,b+g);a.lineTo(d+c/2,b+f-g);a.moveTo(d+g,b+f/2);a.lineTo(d+c-g,b+f/2);a.end();a.stroke();mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("plus",F);var Ca=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){Ca.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);d+=g;b+=g;c-=2*g;f-=2*g;0<c&&0<f&&(a.setShadow(!1),Ca.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 g=Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||
+0);d+=g;b+=g;c-=2*g;f-=2*g;0<c&&0<f&&mxRectangleShape.prototype.paintBackground.apply(this,arguments)}a.setDashed(!1);var g=0,e;do{e=mxCellRenderer.defaultShapes[this.style["symbol"+g]];if(null!=e){var h=this.style["symbol"+g+"Align"],la=this.style["symbol"+g+"VerticalAlign"],m=this.style["symbol"+g+"Width"],n=this.style["symbol"+g+"Height"],u=this.style["symbol"+g+"Spacing"]||0,r=this.style["symbol"+g+"VSpacing"]||u,t=this.style["symbol"+g+"ArcSpacing"];null!=t&&(t*=this.getArcSize(c+this.strokewidth,
+f+this.strokewidth),u+=t,r+=t);var t=d,w=b,t=h==mxConstants.ALIGN_CENTER?t+(c-m)/2:h==mxConstants.ALIGN_RIGHT?t+(c-m-u):t+u,w=la==mxConstants.ALIGN_MIDDLE?w+(f-n)/2:la==mxConstants.ALIGN_BOTTOM?w+(f-n-r):w+r;a.save();h=new e;h.style=this.style;e.prototype.paintVertexShape.call(h,a,t,w,m,n);a.restore()}g++}while(null!=e)}mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("ext",D);mxUtils.extend(G,mxCylinder);G.prototype.redrawPath=function(a,d,b,c,f,g){g?
(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",G);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(y,mxShape);y.prototype.getLabelMargins=function(a){return new mxRectangle(a.width/6,0,0,0)};y.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",y);mxUtils.extend(C,mxEllipse);C.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",C);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(z,mxShape);z.prototype.getLabelBounds=function(a){return new mxRectangle(a.x,a.y+
a.height/8,a.width,7*a.height/8)};z.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()};z.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",z);mxUtils.extend(N,mxRectangleShape);N.prototype.size=40;N.prototype.isHtmlAllowed=function(){return!1};N.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)};N.prototype.paintBackground=function(a,d,b,c,f){var e=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,e):(g=this.state.view.graph.cellRenderer.getShape(g),null!=g&&g!=N&&(g=new g,
-g.apply(this.state),a.save(),g.paintVertexShape(a,d,b,c,e),a.restore()));e<f&&(a.setDashed(!0),a.begin(),a.moveTo(d+c/2,b+e),a.lineTo(d+c/2,b+f),a.end(),a.stroke())};N.prototype.paintForeground=function(a,d,b,c,f){var e=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,e))};mxCellRenderer.registerShape("umlLifeline",N);mxUtils.extend(E,mxShape);E.prototype.width=60;E.prototype.height=30;E.prototype.corner=
-10;E.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))};E.prototype.paintBackground=function(a,d,b,c,f){var e=this.corner,g=Math.min(c,Math.max(e,parseFloat(mxUtils.getValue(this.style,"width",this.width)))),h=Math.min(f,Math.max(1.5*e,parseFloat(mxUtils.getValue(this.style,"height",this.height)))),m=mxUtils.getValue(this.style,
-mxConstants.STYLE_SWIMLANE_FILLCOLOR,mxConstants.NONE);m!=mxConstants.NONE&&(a.setFillColor(m),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,h-1.5*e));a.lineTo(d+Math.max(0,g-e),b+h);a.lineTo(d,b+h);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+h);a.stroke()};mxCellRenderer.registerShape("umlFrame",E);mxPerimeter.LifelinePerimeter=function(a,d,b,c){c=N.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);
+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)};N.prototype.paintBackground=function(a,d,b,c,f){var g=Math.max(0,Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size)))),e=mxUtils.getValue(this.style,"participant");null==e||null==this.state?mxRectangleShape.prototype.paintBackground.call(this,a,d,b,c,g):(e=this.state.view.graph.cellRenderer.getShape(e),null!=e&&e!=N&&(e=new e,
+e.apply(this.state),a.save(),e.paintVertexShape(a,d,b,c,g),a.restore()));g<f&&(a.setDashed(!0),a.begin(),a.moveTo(d+c/2,b+g),a.lineTo(d+c/2,b+f),a.end(),a.stroke())};N.prototype.paintForeground=function(a,d,b,c,f){var g=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,g))};mxCellRenderer.registerShape("umlLifeline",N);mxUtils.extend(E,mxShape);E.prototype.width=60;E.prototype.height=30;E.prototype.corner=
+10;E.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))};E.prototype.paintBackground=function(a,d,b,c,f){var g=this.corner,e=Math.min(c,Math.max(g,parseFloat(mxUtils.getValue(this.style,"width",this.width)))),h=Math.min(f,Math.max(1.5*g,parseFloat(mxUtils.getValue(this.style,"height",this.height)))),m=mxUtils.getValue(this.style,
+mxConstants.STYLE_SWIMLANE_FILLCOLOR,mxConstants.NONE);m!=mxConstants.NONE&&(a.setFillColor(m),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+e,b);a.lineTo(d+e,b+Math.max(0,h-1.5*g));a.lineTo(d+Math.max(0,e-g),b+h);a.lineTo(d,b+h);a.close();a.fillAndStroke();a.begin();
+a.moveTo(d+e,b);a.lineTo(d+c,b);a.lineTo(d+c,b+f);a.lineTo(d,b+f);a.lineTo(d,b+h);a.stroke()};mxCellRenderer.registerShape("umlFrame",E);mxPerimeter.LifelinePerimeter=function(a,d,b,c){c=N.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",w.prototype.size))*
-d.view.scale))),d.style),d,b,c)};mxStyleRegistry.putValue("calloutPerimeter",mxPerimeter.CalloutPerimeter);mxPerimeter.ParallelogramPerimeter=function(a,d,b,c){var e=f.prototype.size;null!=d&&(e=mxUtils.getValue(d.style,"size",e));var g=a.x,h=a.y,m=a.width,n=a.height;d=null!=d?mxUtils.getValue(d.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;d==mxConstants.DIRECTION_NORTH||d==mxConstants.DIRECTION_SOUTH?(e=n*Math.max(0,Math.min(1,e)),h=[new mxPoint(g,h),new mxPoint(g+
-m,h+e),new mxPoint(g+m,h+n),new mxPoint(g,h+n-e),new mxPoint(g,h)]):(e=m*Math.max(0,Math.min(1,e)),h=[new mxPoint(g+e,h),new mxPoint(g+m,h),new mxPoint(g+m-e,h+n),new mxPoint(g,h+n),new mxPoint(g+e,h)]);n=a.getCenterX();a=a.getCenterY();a=new mxPoint(n,a);c&&(b.x<g||b.x>g+m?a.y=b.y:a.x=b.x);return mxUtils.getPerimeterPoint(h,a,b)};mxStyleRegistry.putValue("parallelogramPerimeter",mxPerimeter.ParallelogramPerimeter);mxPerimeter.TrapezoidPerimeter=function(a,d,b,c){var f=g.prototype.size;null!=d&&(f=
+d.view.scale))),d.style),d,b,c)};mxStyleRegistry.putValue("calloutPerimeter",mxPerimeter.CalloutPerimeter);mxPerimeter.ParallelogramPerimeter=function(a,d,b,c){var g=f.prototype.size;null!=d&&(g=mxUtils.getValue(d.style,"size",g));var e=a.x,h=a.y,m=a.width,n=a.height;d=null!=d?mxUtils.getValue(d.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;d==mxConstants.DIRECTION_NORTH||d==mxConstants.DIRECTION_SOUTH?(g=n*Math.max(0,Math.min(1,g)),h=[new mxPoint(e,h),new mxPoint(e+
+m,h+g),new mxPoint(e+m,h+n),new mxPoint(e,h+n-g),new mxPoint(e,h)]):(g=m*Math.max(0,Math.min(1,g)),h=[new mxPoint(e+g,h),new mxPoint(e+m,h),new mxPoint(e+m-g,h+n),new mxPoint(e,h+n),new mxPoint(e+g,h)]);n=a.getCenterX();a=a.getCenterY();a=new mxPoint(n,a);c&&(b.x<e||b.x>e+m?a.y=b.y:a.x=b.x);return mxUtils.getPerimeterPoint(h,a,b)};mxStyleRegistry.putValue("parallelogramPerimeter",mxPerimeter.ParallelogramPerimeter);mxPerimeter.TrapezoidPerimeter=function(a,d,b,c){var f=g.prototype.size;null!=d&&(f=
mxUtils.getValue(d.style,"size",f));var e=a.x,h=a.y,m=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?(f=m*Math.max(0,Math.min(1,f)),h=[new mxPoint(e+f,h),new mxPoint(e+m-f,h),new mxPoint(e+m,h+n),new mxPoint(e,h+n),new mxPoint(e+f,h)]):d==mxConstants.DIRECTION_WEST?(f=m*Math.max(0,Math.min(1,f)),h=[new mxPoint(e,h),new mxPoint(e+m,h),new mxPoint(e+m-f,h+n),new mxPoint(e+f,h+n),new mxPoint(e,
h)]):d==mxConstants.DIRECTION_NORTH?(f=n*Math.max(0,Math.min(1,f)),h=[new mxPoint(e,h+f),new mxPoint(e+m,h),new mxPoint(e+m,h+n),new mxPoint(e,h+n-f),new mxPoint(e,h+f)]):(f=n*Math.max(0,Math.min(1,f)),h=[new mxPoint(e,h),new mxPoint(e+m,h+f),new mxPoint(e+m,h+n-f),new mxPoint(e,h+n),new mxPoint(e,h)]);n=a.getCenterX();a=a.getCenterY();a=new mxPoint(n,a);c&&(b.x<e||b.x>e+m?a.y=b.y:a.x=b.x);return mxUtils.getPerimeterPoint(h,a,b)};mxStyleRegistry.putValue("trapezoidPerimeter",mxPerimeter.TrapezoidPerimeter);
-mxPerimeter.StepPerimeter=function(a,d,b,c){var f="0"!=mxUtils.getValue(d.style,"fixedSize","0"),e=f?t.prototype.fixedSize:t.prototype.size;null!=d&&(e=mxUtils.getValue(d.style,"size",e));var g=a.x,h=a.y,m=a.width,n=a.height,u=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(m,e)):m*Math.max(0,Math.min(1,e)),h=[new mxPoint(g,h),new mxPoint(g+m-
-f,h),new mxPoint(g+m,a),new mxPoint(g+m-f,h+n),new mxPoint(g,h+n),new mxPoint(g+f,a),new mxPoint(g,h)]):d==mxConstants.DIRECTION_WEST?(f=f?Math.max(0,Math.min(m,e)):m*Math.max(0,Math.min(1,e)),h=[new mxPoint(g+f,h),new mxPoint(g+m,h),new mxPoint(g+m-f,a),new mxPoint(g+m,h+n),new mxPoint(g+f,h+n),new mxPoint(g,a),new mxPoint(g+f,h)]):d==mxConstants.DIRECTION_NORTH?(f=f?Math.max(0,Math.min(n,e)):n*Math.max(0,Math.min(1,e)),h=[new mxPoint(g,h+f),new mxPoint(u,h),new mxPoint(g+m,h+f),new mxPoint(g+m,
-h+n),new mxPoint(u,h+n-f),new mxPoint(g,h+n),new mxPoint(g,h+f)]):(f=f?Math.max(0,Math.min(n,e)):n*Math.max(0,Math.min(1,e)),h=[new mxPoint(g,h),new mxPoint(u,h+f),new mxPoint(g+m,h),new mxPoint(g+m,h+n-f),new mxPoint(u,h+n),new mxPoint(g,h+n-f),new mxPoint(g,h)]);u=new mxPoint(u,a);c&&(b.x<g||b.x>g+m?u.y=b.y:u.x=b.x);return mxUtils.getPerimeterPoint(h,u,b)};mxStyleRegistry.putValue("stepPerimeter",mxPerimeter.StepPerimeter);mxPerimeter.HexagonPerimeter2=function(a,d,b,c){var f=x.prototype.size;null!=
-d&&(f=mxUtils.getValue(d.style,"size",f));var e=a.x,g=a.y,h=a.width,m=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=m*Math.max(0,Math.min(1,f)),g=[new mxPoint(n,g),new mxPoint(e+h,g+f),new mxPoint(e+h,g+m-f),new mxPoint(n,g+m),new mxPoint(e,g+m-f),new mxPoint(e,g+f),new mxPoint(n,g)]):(f=h*Math.max(0,Math.min(1,f)),g=[new mxPoint(e+
-f,g),new mxPoint(e+h-f,g),new mxPoint(e+h,a),new mxPoint(e+h-f,g+m),new mxPoint(e+f,g+m),new mxPoint(e,a),new mxPoint(e+f,g)]);n=new mxPoint(n,a);c&&(b.x<e||b.x>e+h?n.y=b.y:n.x=b.x);return mxUtils.getPerimeterPoint(g,n,b)};mxStyleRegistry.putValue("hexagonPerimeter2",mxPerimeter.HexagonPerimeter2);mxUtils.extend(J,mxShape);J.prototype.size=10;J.prototype.paintBackground=function(a,d,b,c,f){var e=parseFloat(mxUtils.getValue(this.style,"size",this.size));a.translate(d,b);a.ellipse((c-e)/2,0,e,e);a.fillAndStroke();
-a.begin();a.moveTo(c/2,e);a.lineTo(c/2,f);a.end();a.stroke()};mxCellRenderer.registerShape("lollipop",J);mxUtils.extend(R,mxShape);R.prototype.size=10;R.prototype.inset=2;R.prototype.paintBackground=function(a,d,b,c,f){var e=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,e+g);a.lineTo(c/2,f);a.end();a.stroke();a.begin();a.moveTo((c-e)/2-g,e/2);a.quadTo((c-e)/2-g,e+g,c/
-2,e+g);a.quadTo((c+e)/2+g,e+g,(c+e)/2+g,e/2);a.end();a.stroke()};mxCellRenderer.registerShape("requires",R);mxUtils.extend(Y,mxCylinder);Y.prototype.jettyWidth=32;Y.prototype.jettyHeight=12;Y.prototype.redrawPath=function(a,d,b,c,f,e){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,h=.3*f-d/2,m=.7*f-d/2;e?(a.moveTo(b,h),a.lineTo(g,h),a.lineTo(g,h+d),a.lineTo(b,h+d),a.moveTo(b,m),
-a.lineTo(g,m),a.lineTo(g,m+d),a.lineTo(b,m+d)):(a.moveTo(b,0),a.lineTo(c,0),a.lineTo(c,f),a.lineTo(b,f),a.lineTo(b,m+d),a.lineTo(0,m+d),a.lineTo(0,m),a.lineTo(b,m),a.lineTo(b,h+d),a.lineTo(0,h+d),a.lineTo(0,h),a.lineTo(b,h),a.close());a.end()};mxCellRenderer.registerShape("component",Y);mxUtils.extend(aa,mxDoubleEllipse);aa.prototype.outerStroke=!0;aa.prototype.paintVertexShape=function(a,d,b,c,f){var e=Math.min(4,Math.min(c/5,f/5));0<c&&0<f&&(a.ellipse(d+e,b+e,c-2*e,f-2*e),a.fillAndStroke());a.setShadow(!1);
+mxPerimeter.StepPerimeter=function(a,d,b,c){var f="0"!=mxUtils.getValue(d.style,"fixedSize","0"),g=f?t.prototype.fixedSize:t.prototype.size;null!=d&&(g=mxUtils.getValue(d.style,"size",g));var e=a.x,h=a.y,m=a.width,n=a.height,u=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(m,g)):m*Math.max(0,Math.min(1,g)),h=[new mxPoint(e,h),new mxPoint(e+m-
+f,h),new mxPoint(e+m,a),new mxPoint(e+m-f,h+n),new mxPoint(e,h+n),new mxPoint(e+f,a),new mxPoint(e,h)]):d==mxConstants.DIRECTION_WEST?(f=f?Math.max(0,Math.min(m,g)):m*Math.max(0,Math.min(1,g)),h=[new mxPoint(e+f,h),new mxPoint(e+m,h),new mxPoint(e+m-f,a),new mxPoint(e+m,h+n),new mxPoint(e+f,h+n),new mxPoint(e,a),new mxPoint(e+f,h)]):d==mxConstants.DIRECTION_NORTH?(f=f?Math.max(0,Math.min(n,g)):n*Math.max(0,Math.min(1,g)),h=[new mxPoint(e,h+f),new mxPoint(u,h),new mxPoint(e+m,h+f),new mxPoint(e+m,
+h+n),new mxPoint(u,h+n-f),new mxPoint(e,h+n),new mxPoint(e,h+f)]):(f=f?Math.max(0,Math.min(n,g)):n*Math.max(0,Math.min(1,g)),h=[new mxPoint(e,h),new mxPoint(u,h+f),new mxPoint(e+m,h),new mxPoint(e+m,h+n-f),new mxPoint(u,h+n),new mxPoint(e,h+n-f),new mxPoint(e,h)]);u=new mxPoint(u,a);c&&(b.x<e||b.x>e+m?u.y=b.y:u.x=b.x);return mxUtils.getPerimeterPoint(h,u,b)};mxStyleRegistry.putValue("stepPerimeter",mxPerimeter.StepPerimeter);mxPerimeter.HexagonPerimeter2=function(a,d,b,c){var f=x.prototype.size;null!=
+d&&(f=mxUtils.getValue(d.style,"size",f));var g=a.x,e=a.y,h=a.width,m=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=m*Math.max(0,Math.min(1,f)),e=[new mxPoint(n,e),new mxPoint(g+h,e+f),new mxPoint(g+h,e+m-f),new mxPoint(n,e+m),new mxPoint(g,e+m-f),new mxPoint(g,e+f),new mxPoint(n,e)]):(f=h*Math.max(0,Math.min(1,f)),e=[new mxPoint(g+
+f,e),new mxPoint(g+h-f,e),new mxPoint(g+h,a),new mxPoint(g+h-f,e+m),new mxPoint(g+f,e+m),new mxPoint(g,a),new mxPoint(g+f,e)]);n=new mxPoint(n,a);c&&(b.x<g||b.x>g+h?n.y=b.y:n.x=b.x);return mxUtils.getPerimeterPoint(e,n,b)};mxStyleRegistry.putValue("hexagonPerimeter2",mxPerimeter.HexagonPerimeter2);mxUtils.extend(J,mxShape);J.prototype.size=10;J.prototype.paintBackground=function(a,d,b,c,f){var g=parseFloat(mxUtils.getValue(this.style,"size",this.size));a.translate(d,b);a.ellipse((c-g)/2,0,g,g);a.fillAndStroke();
+a.begin();a.moveTo(c/2,g);a.lineTo(c/2,f);a.end();a.stroke()};mxCellRenderer.registerShape("lollipop",J);mxUtils.extend(R,mxShape);R.prototype.size=10;R.prototype.inset=2;R.prototype.paintBackground=function(a,d,b,c,f){var g=parseFloat(mxUtils.getValue(this.style,"size",this.size)),e=parseFloat(mxUtils.getValue(this.style,"inset",this.inset))+this.strokewidth;a.translate(d,b);a.begin();a.moveTo(c/2,g+e);a.lineTo(c/2,f);a.end();a.stroke();a.begin();a.moveTo((c-g)/2-e,g/2);a.quadTo((c-g)/2-e,g+e,c/
+2,g+e);a.quadTo((c+g)/2+e,g+e,(c+g)/2+e,g/2);a.end();a.stroke()};mxCellRenderer.registerShape("requires",R);mxUtils.extend(Y,mxCylinder);Y.prototype.jettyWidth=32;Y.prototype.jettyHeight=12;Y.prototype.redrawPath=function(a,d,b,c,f,g){var e=parseFloat(mxUtils.getValue(this.style,"jettyWidth",this.jettyWidth));d=parseFloat(mxUtils.getValue(this.style,"jettyHeight",this.jettyHeight));b=e/2;var e=b+e/2,h=.3*f-d/2,m=.7*f-d/2;g?(a.moveTo(b,h),a.lineTo(e,h),a.lineTo(e,h+d),a.lineTo(b,h+d),a.moveTo(b,m),
+a.lineTo(e,m),a.lineTo(e,m+d),a.lineTo(b,m+d)):(a.moveTo(b,0),a.lineTo(c,0),a.lineTo(c,f),a.lineTo(b,f),a.lineTo(b,m+d),a.lineTo(0,m+d),a.lineTo(0,m),a.lineTo(b,m),a.lineTo(b,h+d),a.lineTo(0,h+d),a.lineTo(0,h),a.lineTo(b,h),a.close());a.end()};mxCellRenderer.registerShape("component",Y);mxUtils.extend(aa,mxDoubleEllipse);aa.prototype.outerStroke=!0;aa.prototype.paintVertexShape=function(a,d,b,c,f){var g=Math.min(4,Math.min(c/5,f/5));0<c&&0<f&&(a.ellipse(d+g,b+g,c-2*g,f-2*g),a.fillAndStroke());a.setShadow(!1);
this.outerStroke&&(a.ellipse(d,b,c,f),a.stroke())};mxCellRenderer.registerShape("endState",aa);mxUtils.extend(Q,aa);Q.prototype.outerStroke=!1;mxCellRenderer.registerShape("startState",Q);mxUtils.extend(S,mxArrowConnector);S.prototype.defaultWidth=4;S.prototype.isOpenEnded=function(){return!0};S.prototype.getEdgeWidth=function(){return mxUtils.getNumber(this.style,"width",this.defaultWidth)+Math.max(0,this.strokewidth-1)};S.prototype.isArrowRounded=function(){return this.isRounded};mxCellRenderer.registerShape("link",
S);mxUtils.extend(K,mxArrowConnector);K.prototype.defaultWidth=10;K.prototype.defaultArrowWidth=20;K.prototype.getStartArrowWidth=function(){return this.getEdgeWidth()+mxUtils.getNumber(this.style,"startWidth",this.defaultArrowWidth)};K.prototype.getEndArrowWidth=function(){return this.getEdgeWidth()+mxUtils.getNumber(this.style,"endWidth",this.defaultArrowWidth)};K.prototype.getEdgeWidth=function(){return mxUtils.getNumber(this.style,"width",this.defaultWidth)+Math.max(0,this.strokewidth-1)};mxCellRenderer.registerShape("flexArrow",
K);mxUtils.extend(H,mxActor);H.prototype.size=30;H.prototype.redrawPath=function(a,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",H);mxUtils.extend(V,mxRectangleShape);V.prototype.dx=20;V.prototype.dy=20;V.prototype.isHtmlAllowed=
-function(){return!1};V.prototype.paintForeground=function(a,d,b,c,f){mxRectangleShape.prototype.paintForeground.apply(this,arguments);var e=0;if(this.isRounded)var g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,e=Math.max(e,Math.min(c*g,f*g));g=Math.max(e,Math.min(c,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));e=Math.max(e,Math.min(f,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));a.begin();a.moveTo(d,b+e);a.lineTo(d+c,b+e);
-a.end();a.stroke();a.begin();a.moveTo(d+g,b);a.lineTo(d+g,b+f);a.end();a.stroke()};mxCellRenderer.registerShape("internalStorage",V);mxUtils.extend(L,mxActor);L.prototype.dx=20;L.prototype.dy=20;L.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 e=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,e,!0);a.end()};mxCellRenderer.registerShape("corner",L);mxUtils.extend(O,mxActor);O.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",O);mxUtils.extend(X,mxActor);X.prototype.dx=20;X.prototype.dy=
-20;X.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 e=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,e,!0);a.end()};mxCellRenderer.registerShape("tee",X);mxUtils.extend(A,mxActor);A.prototype.arrowWidth=.3;A.prototype.arrowSize=.2;A.prototype.redrawPath=function(a,d,b,c,f){var e=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-e)/2;var e=b+e,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,e),new mxPoint(0,e)],this.isRounded,g,!0);a.end()};mxCellRenderer.registerShape("singleArrow",A);mxUtils.extend(W,mxActor);W.prototype.redrawPath=function(a,d,b,c,f){var e=f*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",A.prototype.arrowWidth))));d=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",A.prototype.arrowSize))));
-b=(f-e)/2;var e=b+e,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,e),new mxPoint(d,e),new mxPoint(d,f)],this.isRounded,g,!0);a.end()};mxCellRenderer.registerShape("doubleArrow",W);mxUtils.extend(P,mxActor);P.prototype.size=.1;P.prototype.redrawPath=function(a,d,b,c,f){d=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,
+function(){return!1};V.prototype.paintForeground=function(a,d,b,c,f){mxRectangleShape.prototype.paintForeground.apply(this,arguments);var g=0;if(this.isRounded)var e=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,g=Math.max(g,Math.min(c*e,f*e));e=Math.max(g,Math.min(c,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));g=Math.max(g,Math.min(f,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));a.begin();a.moveTo(d,b+g);a.lineTo(d+c,b+g);
+a.end();a.stroke();a.begin();a.moveTo(d+e,b);a.lineTo(d+e,b+f);a.end();a.stroke()};mxCellRenderer.registerShape("internalStorage",V);mxUtils.extend(L,mxActor);L.prototype.dx=20;L.prototype.dy=20;L.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 g=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,g,!0);a.end()};mxCellRenderer.registerShape("corner",L);mxUtils.extend(O,mxActor);O.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",O);mxUtils.extend(X,mxActor);X.prototype.dx=20;X.prototype.dy=
+20;X.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 g=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,g,!0);a.end()};mxCellRenderer.registerShape("tee",X);mxUtils.extend(A,mxActor);A.prototype.arrowWidth=.3;A.prototype.arrowSize=.2;A.prototype.redrawPath=function(a,d,b,c,f){var g=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-g)/2;var g=b+g,e=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,g),new mxPoint(0,g)],this.isRounded,e,!0);a.end()};mxCellRenderer.registerShape("singleArrow",A);mxUtils.extend(W,mxActor);W.prototype.redrawPath=function(a,d,b,c,f){var g=f*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",A.prototype.arrowWidth))));d=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",A.prototype.arrowSize))));
+b=(f-g)/2;var g=b+g,e=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,g),new mxPoint(d,g),new mxPoint(d,f)],this.isRounded,e,!0);a.end()};mxCellRenderer.registerShape("doubleArrow",W);mxUtils.extend(P,mxActor);P.prototype.size=.1;P.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",P);mxUtils.extend(da,mxActor);da.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",da);mxUtils.extend(T,mxActor);T.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",T);mxUtils.extend(Z,mxActor);Z.prototype.size=20;Z.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",
Z);mxUtils.extend(U,mxActor);U.prototype.size=.375;U.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",U);mxUtils.extend(na,mxEllipse);na.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",na);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,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",
oa);mxUtils.extend(ca,mxEllipse);ca.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",ca);mxUtils.extend(ia,mxRhombus);ia.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",ia);mxUtils.extend(qa,mxEllipse);qa.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",qa);mxUtils.extend(ea,mxEllipse);ea.prototype.paintVertexShape=
-function(a,d,b,c,f){var e=b+f-5;a.begin();a.moveTo(d,b);a.lineTo(d,b+f);a.moveTo(d,e);a.lineTo(d+10,e-5);a.moveTo(d,e);a.lineTo(d+10,e+5);a.moveTo(d,e);a.lineTo(d+c,e);a.moveTo(d+c,b);a.lineTo(d+c,b+f);a.moveTo(d+c,e);a.lineTo(d+c-10,e-5);a.moveTo(d+c,e);a.lineTo(d+c-10,e+5);a.end();a.stroke()};mxCellRenderer.registerShape("dimension",ea);mxUtils.extend(ra,mxEllipse);ra.prototype.paintVertexShape=function(a,d,b,c,f){this.outline||a.setStrokeColor(null);mxRectangleShape.prototype.paintBackground.apply(this,
+function(a,d,b,c,f){var g=b+f-5;a.begin();a.moveTo(d,b);a.lineTo(d,b+f);a.moveTo(d,g);a.lineTo(d+10,g-5);a.moveTo(d,g);a.lineTo(d+10,g+5);a.moveTo(d,g);a.lineTo(d+c,g);a.moveTo(d+c,b);a.lineTo(d+c,b+f);a.moveTo(d+c,g);a.lineTo(d+c-10,g-5);a.moveTo(d+c,g);a.lineTo(d+c-10,g+5);a.end();a.stroke()};mxCellRenderer.registerShape("dimension",ea);mxUtils.extend(ra,mxEllipse);ra.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",ra);mxUtils.extend(fa,
mxEllipse);fa.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",fa);mxUtils.extend(ja,mxActor);ja.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",ja);mxUtils.extend(ba,mxActor);ba.prototype.size=.2;ba.prototype.redrawPath=function(a,d,b,c,f){d=Math.min(f,c);var e=Math.max(0,Math.min(d,d*parseFloat(mxUtils.getValue(this.style,"size",this.size))));d=(f-e)/2;b=d+e;var g=(c-e)/2,e=g+e;a.moveTo(0,d);a.lineTo(g,d);a.lineTo(g,0);a.lineTo(e,0);a.lineTo(e,d);a.lineTo(c,d);a.lineTo(c,b);a.lineTo(e,b);a.lineTo(e,f);a.lineTo(g,f);a.lineTo(g,b);a.lineTo(0,b);a.close();a.end()};mxCellRenderer.registerShape("cross",
+f);a.close();a.end()};mxCellRenderer.registerShape("delay",ja);mxUtils.extend(ba,mxActor);ba.prototype.size=.2;ba.prototype.redrawPath=function(a,d,b,c,f){d=Math.min(f,c);var g=Math.max(0,Math.min(d,d*parseFloat(mxUtils.getValue(this.style,"size",this.size))));d=(f-g)/2;b=d+g;var e=(c-g)/2,g=e+g;a.moveTo(0,d);a.lineTo(e,d);a.lineTo(e,0);a.lineTo(g,0);a.lineTo(g,d);a.lineTo(c,d);a.lineTo(c,b);a.lineTo(g,b);a.lineTo(g,f);a.lineTo(e,f);a.lineTo(e,b);a.lineTo(0,b);a.close();a.end()};mxCellRenderer.registerShape("cross",
ba);mxUtils.extend(ka,mxActor);ka.prototype.size=.25;ka.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",ka);mxUtils.extend(ga,mxConnector);ga.prototype.origPaintEdgeShape=ga.prototype.paintEdgeShape;ga.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,e=a.state.fixDash;ga.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,e),ga.prototype.origPaintEdgeShape.apply(this,[a,d,b])))};mxCellRenderer.registerShape("filledEdge",ga);"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,e,g,h,m,n){var u=f*(g+m+1),t=e*(g+m+1);return function(){a.begin();a.moveTo(c.x-u/2-t/2,c.y-t/2+u/2);a.lineTo(c.x+t/2-3*u/2,c.y-3*t/2-u/2);a.stroke()}});mxMarker.addMarker("cross",function(a,d,b,c,f,e,g,h,m,
-n){var u=f*(g+m+1),t=e*(g+m+1);return function(){a.begin();a.moveTo(c.x-u/2-t/2,c.y-t/2+u/2);a.lineTo(c.x+t/2-3*u/2,c.y-3*t/2-u/2);a.moveTo(c.x-u/2+t/2,c.y-t/2-u/2);a.lineTo(c.x-t/2-3*u/2,c.y-3*t/2+u/2);a.stroke()}});mxMarker.addMarker("circle",Aa);mxMarker.addMarker("circlePlus",function(a,d,b,c,f,e,g,h,m,n){var u=c.clone(),t=Aa.apply(this,arguments),r=f*(g+2*m),w=e*(g+2*m);return function(){t.apply(this,arguments);a.begin();a.moveTo(u.x-f*m,u.y-e*m);a.lineTo(u.x-2*r+f*m,u.y-2*w+e*m);a.moveTo(u.x-
-r-w+e*m,u.y-w+r-f*m);a.lineTo(u.x+w-r-e*m,u.y-w-r+f*m);a.stroke()}});mxMarker.addMarker("async",function(a,d,b,c,f,e,g,h,m,n){d=f*m*1.118;b=e*m*1.118;f*=g+m;e*=g+m;var u=c.clone();u.x-=d;u.y-=b;c.x+=1*-f-d;c.y+=1*-e-b;return function(){a.begin();a.moveTo(u.x,u.y);h?a.lineTo(u.x-f-e/2,u.y-e+f/2):a.lineTo(u.x+e/2-f,u.y-e-f/2);a.lineTo(u.x-f,u.y-e);a.close();n?a.fillAndStroke():a.stroke()}});mxMarker.addMarker("openAsync",function(a){a=null!=a?a:2;return function(d,b,c,f,e,g,h,m,n,u){e*=h+n;g*=h+n;var t=
-f.clone();return function(){d.begin();d.moveTo(t.x,t.y);m?d.lineTo(t.x-e-g/a,t.y-g+e/a):d.lineTo(t.x+g/a-e,t.y-g-e/a);d.stroke()}}}(2));if("undefined"!==typeof mxVertexHandler){var Da=function(a,d,b){return sa(a,["width"],d,function(d,c,f,e,g){g=a.shape.getEdgeWidth()*a.view.scale+b;return new mxPoint(e.x+c*d/4+f*g/2,e.y+f*d/4-c*g/2)},function(d,c,f,e,g,h){d=Math.sqrt(mxUtils.ptSegDistSq(e.x,e.y,g.x,g.y,h.x,h.y));a.style.width=Math.round(2*d)/a.view.scale-b})},sa=function(a,d,b,c,f){return M(a,d,
-function(d){var f=a.absolutePoints,e=f.length-1;d=a.view.translate;var g=a.view.scale,h=b?f[0]:f[e],f=b?f[1]:f[e-1],e=f.x-h.x,m=f.y-h.y,n=Math.sqrt(e*e+m*m),h=c.call(this,n,e/n,m/n,h,f);return new mxPoint(h.x/g-d.x,h.y/g-d.y)},function(d,c,e){var g=a.absolutePoints,h=g.length-1;d=a.view.translate;var m=a.view.scale,n=b?g[0]:g[h],g=b?g[1]:g[h-1],h=g.x-n.x,u=g.y-n.y,t=Math.sqrt(h*h+u*u);c.x=(c.x+d.x)*m;c.y=(c.y+d.y)*m;f.call(this,t,h/t,u/t,n,g,c,e)})},ma=function(a){return function(d){return[M(d,["arrowWidth",
+[],f=0;f<d.length;f++)c.push(mxUtils.clone(d[f]));var f=a.state.dashed,g=a.state.fixDash;ga.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,g),ga.prototype.origPaintEdgeShape.apply(this,[a,d,b])))};mxCellRenderer.registerShape("filledEdge",ga);"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,g,e,h,m,n){var u=f*(e+m+1),t=g*(e+m+1);return function(){a.begin();a.moveTo(c.x-u/2-t/2,c.y-t/2+u/2);a.lineTo(c.x+t/2-3*u/2,c.y-3*t/2-u/2);a.stroke()}});mxMarker.addMarker("cross",function(a,d,b,c,f,g,e,h,m,
+n){var u=f*(e+m+1),t=g*(e+m+1);return function(){a.begin();a.moveTo(c.x-u/2-t/2,c.y-t/2+u/2);a.lineTo(c.x+t/2-3*u/2,c.y-3*t/2-u/2);a.moveTo(c.x-u/2+t/2,c.y-t/2-u/2);a.lineTo(c.x-t/2-3*u/2,c.y-3*t/2+u/2);a.stroke()}});mxMarker.addMarker("circle",Aa);mxMarker.addMarker("circlePlus",function(a,d,b,c,f,g,e,h,m,n){var u=c.clone(),t=Aa.apply(this,arguments),r=f*(e+2*m),w=g*(e+2*m);return function(){t.apply(this,arguments);a.begin();a.moveTo(u.x-f*m,u.y-g*m);a.lineTo(u.x-2*r+f*m,u.y-2*w+g*m);a.moveTo(u.x-
+r-w+g*m,u.y-w+r-f*m);a.lineTo(u.x+w-r-g*m,u.y-w-r+f*m);a.stroke()}});mxMarker.addMarker("async",function(a,d,b,c,f,g,e,h,m,n){d=f*m*1.118;b=g*m*1.118;f*=e+m;g*=e+m;var u=c.clone();u.x-=d;u.y-=b;c.x+=1*-f-d;c.y+=1*-g-b;return function(){a.begin();a.moveTo(u.x,u.y);h?a.lineTo(u.x-f-g/2,u.y-g+f/2):a.lineTo(u.x+g/2-f,u.y-g-f/2);a.lineTo(u.x-f,u.y-g);a.close();n?a.fillAndStroke():a.stroke()}});mxMarker.addMarker("openAsync",function(a){a=null!=a?a:2;return function(d,b,c,f,g,e,h,m,n,u){g*=h+n;e*=h+n;var t=
+f.clone();return function(){d.begin();d.moveTo(t.x,t.y);m?d.lineTo(t.x-g-e/a,t.y-e+g/a):d.lineTo(t.x+e/a-g,t.y-e-g/a);d.stroke()}}}(2));if("undefined"!==typeof mxVertexHandler){var Da=function(a,d,b){return sa(a,["width"],d,function(d,c,f,g,e){e=a.shape.getEdgeWidth()*a.view.scale+b;return new mxPoint(g.x+c*d/4+f*e/2,g.y+f*d/4-c*e/2)},function(d,c,f,g,e,h){d=Math.sqrt(mxUtils.ptSegDistSq(g.x,g.y,e.x,e.y,h.x,h.y));a.style.width=Math.round(2*d)/a.view.scale-b})},sa=function(a,d,b,c,f){return M(a,d,
+function(d){var f=a.absolutePoints,g=f.length-1;d=a.view.translate;var e=a.view.scale,h=b?f[0]:f[g],f=b?f[1]:f[g-1],g=f.x-h.x,m=f.y-h.y,n=Math.sqrt(g*g+m*m),h=c.call(this,n,g/n,m/n,h,f);return new mxPoint(h.x/e-d.x,h.y/e-d.y)},function(d,c,g){var e=a.absolutePoints,h=e.length-1;d=a.view.translate;var m=a.view.scale,n=b?e[0]:e[h],e=b?e[1]:e[h-1],h=e.x-n.x,u=e.y-n.y,t=Math.sqrt(h*h+u*u);c.x=(c.x+d.x)*m;c.y=(c.y+d.y)*m;f.call(this,t,h/t,u/t,n,e,c,g)})},ma=function(a){return function(d){return[M(d,["arrowWidth",
"arrowSize"],function(d){var b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"arrowWidth",A.prototype.arrowWidth))),c=Math.max(0,Math.min(a,mxUtils.getValue(this.state.style,"arrowSize",A.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))})]}},ya=function(a,d,b){return function(c){var f=
-[M(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(ha(c));return f}},ua=function(a,d,b,c,f){b=null!=b?b:1;return function(e){var g=[M(e,["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=e.view.graph.snap(a));this.state.style.size=a},null,c)];d&&mxUtils.getValue(e.style,mxConstants.STYLE_ROUNDED,!1)&&g.push(ha(e));return g}},Ea=function(a){return function(d){var b=
+[M(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(ha(c));return f}},ua=function(a,d,b,c,f){b=null!=b?b:1;return function(g){var e=[M(g,["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 e=null!=f?"0"!=mxUtils.getValue(this.state.style,"fixedSize","0"):null;a=e?d.x-a.x:Math.max(0,Math.min(b,(d.x-a.x)/a.width));e&&!mxEvent.isAltDown(c.getEvent())&&(a=g.view.graph.snap(a));this.state.style.size=a},null,c)];d&&mxUtils.getValue(g.style,mxConstants.STYLE_ROUNDED,!1)&&e.push(ha(g));return e}},Ea=function(a){return function(d){var b=
[M(d,["size"],function(d){var b=Math.max(0,Math.min(a,parseFloat(mxUtils.getValue(this.state.style,"size",g.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(ha(d));return b}},ta=function(){return function(a){var d=[];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&d.push(ha(a));return d}},ha=function(a,d){return M(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))))})},M=function(a,d,b,c,f,e){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(e){var h=g.positionChanged;g.positionChanged=function(){h.apply(this,arguments);a.view.invalidate(this.state.cell);a.view.validate()}}return g},za={link:function(a){return[Da(a,!0,10),Da(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(sa(a,["width",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!0,function(d,
-b,c,f,e){d=(a.shape.getEdgeWidth()-a.shape.strokewidth)*a.view.scale;e=3*mxUtils.getNumber(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(f.x+b*(e+a.shape.strokewidth*a.view.scale)+c*d/2,f.y+c*(e+a.shape.strokewidth*a.view.scale)-b*d/2)},function(b,c,f,e,g,h,m){b=Math.sqrt(mxUtils.ptSegDistSq(e.x,e.y,g.x,g.y,h.x,h.y));c=mxUtils.ptLineDist(e.x,e.y,e.x+f,e.y-c,h.x,h.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(m.getEvent())&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE]);mxEvent.isAltDown(m.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(sa(a,["startWidth","endWidth",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!0,function(d,b,c,f,e){d=(a.shape.getStartArrowWidth()-
-a.shape.strokewidth)*a.view.scale;e=3*mxUtils.getNumber(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(f.x+b*(e+a.shape.strokewidth*a.view.scale)+c*d/2,f.y+c*(e+a.shape.strokewidth*a.view.scale)-b*d/2)},function(b,c,f,e,g,h,m){b=Math.sqrt(mxUtils.ptSegDistSq(e.x,e.y,g.x,g.y,h.x,h.y));c=mxUtils.ptLineDist(e.x,e.y,e.x+f,e.y-c,h.x,h.y);a.style[mxConstants.STYLE_STARTSIZE]=Math.round(100*(c-a.shape.strokewidth)/3)/100/a.view.scale;a.style.startWidth=Math.max(0,
+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))))})},M=function(a,d,b,c,f,g){var e=new mxHandle(a,null,mxVertexHandler.prototype.secondaryHandleImage);e.execute=function(){for(var a=0;a<d.length;a++)this.copyStyle(d[a])};
+e.getPosition=b;e.setPosition=c;e.ignoreGrid=null!=f?f:!0;if(g){var h=e.positionChanged;e.positionChanged=function(){h.apply(this,arguments);a.view.invalidate(this.state.cell);a.view.validate()}}return e},za={link:function(a){return[Da(a,!0,10),Da(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(sa(a,["width",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!0,function(d,
+b,c,f,g){d=(a.shape.getEdgeWidth()-a.shape.strokewidth)*a.view.scale;g=3*mxUtils.getNumber(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(f.x+b*(g+a.shape.strokewidth*a.view.scale)+c*d/2,f.y+c*(g+a.shape.strokewidth*a.view.scale)-b*d/2)},function(b,c,f,g,e,h,m){b=Math.sqrt(mxUtils.ptSegDistSq(g.x,g.y,e.x,e.y,h.x,h.y));c=mxUtils.ptLineDist(g.x,g.y,g.x+f,g.y-c,h.x,h.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(m.getEvent())&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE]);mxEvent.isAltDown(m.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(sa(a,["startWidth","endWidth",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!0,function(d,b,c,f,g){d=(a.shape.getStartArrowWidth()-
+a.shape.strokewidth)*a.view.scale;g=3*mxUtils.getNumber(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(f.x+b*(g+a.shape.strokewidth*a.view.scale)+c*d/2,f.y+c*(g+a.shape.strokewidth*a.view.scale)-b*d/2)},function(b,c,f,g,e,h,m){b=Math.sqrt(mxUtils.ptSegDistSq(g.x,g.y,e.x,e.y,h.x,h.y));c=mxUtils.ptLineDist(g.x,g.y,g.x+f,g.y-c,h.x,h.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(m.getEvent())&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE],a.style.endWidth=a.style.startWidth);mxEvent.isAltDown(m.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(sa(a,["width",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!1,function(d,b,c,f,e){d=(a.shape.getEdgeWidth()-a.shape.strokewidth)*a.view.scale;e=3*mxUtils.getNumber(a.style,mxConstants.STYLE_ENDSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(f.x+b*(e+a.shape.strokewidth*a.view.scale)-c*d/2,f.y+c*(e+a.shape.strokewidth*a.view.scale)+b*d/2)},function(b,c,f,
-e,g,h,m){b=Math.sqrt(mxUtils.ptSegDistSq(e.x,e.y,g.x,g.y,h.x,h.y));c=mxUtils.ptLineDist(e.x,e.y,e.x+f,e.y-c,h.x,h.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(m.getEvent())&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE]);mxEvent.isAltDown(m.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(sa(a,["startWidth","endWidth",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!1,function(d,b,c,f,e){d=(a.shape.getEndArrowWidth()-a.shape.strokewidth)*a.view.scale;e=3*mxUtils.getNumber(a.style,mxConstants.STYLE_ENDSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(f.x+b*(e+a.shape.strokewidth*a.view.scale)-c*d/2,f.y+c*(e+a.shape.strokewidth*a.view.scale)+b*d/2)},function(b,c,f,e,g,h,m){b=
-Math.sqrt(mxUtils.ptSegDistSq(e.x,e.y,g.x,g.y,h.x,h.y));c=mxUtils.ptLineDist(e.x,e.y,e.x+f,e.y-c,h.x,h.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(m.getEvent())&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE],a.style.startWidth=a.style.endWidth);mxEvent.isAltDown(m.getEvent())||(Math.abs(parseFloat(a.style[mxConstants.STYLE_ENDSIZE])-
+a.style.endWidth))})));mxUtils.getValue(a.style,mxConstants.STYLE_ENDARROW,mxConstants.NONE)!=mxConstants.NONE&&(b.push(sa(a,["width",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!1,function(d,b,c,f,g){d=(a.shape.getEdgeWidth()-a.shape.strokewidth)*a.view.scale;g=3*mxUtils.getNumber(a.style,mxConstants.STYLE_ENDSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(f.x+b*(g+a.shape.strokewidth*a.view.scale)-c*d/2,f.y+c*(g+a.shape.strokewidth*a.view.scale)+b*d/2)},function(b,c,f,
+g,e,h,m){b=Math.sqrt(mxUtils.ptSegDistSq(g.x,g.y,e.x,e.y,h.x,h.y));c=mxUtils.ptLineDist(g.x,g.y,g.x+f,g.y-c,h.x,h.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(m.getEvent())&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE]);mxEvent.isAltDown(m.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(sa(a,["startWidth","endWidth",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!1,function(d,b,c,f,g){d=(a.shape.getEndArrowWidth()-a.shape.strokewidth)*a.view.scale;g=3*mxUtils.getNumber(a.style,mxConstants.STYLE_ENDSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(f.x+b*(g+a.shape.strokewidth*a.view.scale)-c*d/2,f.y+c*(g+a.shape.strokewidth*a.view.scale)+b*d/2)},function(b,c,f,g,e,h,m){b=
+Math.sqrt(mxUtils.ptSegDistSq(g.x,g.y,e.x,e.y,h.x,h.y));c=mxUtils.ptLineDist(g.x,g.y,g.x+f,g.y-c,h.x,h.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(m.getEvent())&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE],a.style.startWidth=a.style.endWidth);mxEvent.isAltDown(m.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=[M(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(ha(a,b/2))}return d},
label:ta(),ext:ta(),rectangle:ta(),triangle:ta(),rhombus:ta(),umlLifeline:function(a){return[M(a,["size"],function(a){var d=Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(this.state.style,"size",N.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[M(a,["width","height"],function(a){var d=Math.max(E.prototype.corner,Math.min(a.width,mxUtils.getValue(this.state.style,
"width",E.prototype.width))),b=Math.max(1.5*E.prototype.corner,Math.min(a.height,mxUtils.getValue(this.state.style,"height",E.prototype.height)));return new mxPoint(a.x+d,a.y+b)},function(a,d){this.state.style.width=Math.round(Math.max(E.prototype.corner,Math.min(a.width,d.x-a.x)));this.state.style.height=Math.round(Math.max(1.5*E.prototype.corner,Math.min(a.height,d.y-a.y)))},!1)]},process:function(a){var d=[M(a,["size"],function(a){var d=Math.max(0,Math.min(.5,parseFloat(mxUtils.getValue(this.state.style,
-"size",m.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(ha(a));return d},cross:function(a){return[M(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",ba.prototype.size)))*d/2;return new mxPoint(a.getCenterX()-d,a.getCenterY()-d)},function(a,d){var b=Math.min(a.width,
+"size",n.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(ha(a));return d},cross:function(a){return[M(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",ba.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[M(a,["size"],function(a){var d=Math.max(0,Math.min(a.width,Math.min(a.height,parseFloat(mxUtils.getValue(this.state.style,"size",k.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=
[M(a,["size"],function(a){var d=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",H.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(ha(a));return d},dataStorage:function(a){return[M(a,["size"],function(a){var d=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",P.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=[M(a,["size","position"],function(a){var d=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",w.prototype.size))),b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position",w.prototype.position)));mxUtils.getValue(this.state.style,"base",w.prototype.base);return new mxPoint(a.x+b*a.width,a.y+a.height-d)},function(a,d){mxUtils.getValue(this.state.style,
@@ -2537,11 +2537,11 @@ Math.min(a.height,d.y-a.y)))})]},tee:function(a){return[M(a,["dx","dy"],function
folder:function(a){return[M(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[M(a,["size"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",d.prototype.size))));return new mxPoint(a.x+3*a.width/4,a.y+(1-b)*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[M(a,["size"],function(a){var d=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",v.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[M(a,["size"],function(a){var d=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",U.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:ua(t.prototype.size,!0,null,!0,t.prototype.fixedSize),hexagon:ua(x.prototype.size,!0,.5,!0),curlyBracket:ua(n.prototype.size,!1),display:ua(ka.prototype.size,!1),cube:ya(1,a.prototype.size,!1),card:ya(.5,p.prototype.size,!0),loopLimit:ya(.5,Z.prototype.size,!0),trapezoid:Ea(.5),parallelogram:Ea(1)};Graph.createHandle=M;Graph.handleFactory=za;mxVertexHandler.prototype.createCustomHandles=function(){if(1==
+function(a,d){this.state.style.size=Math.max(0,Math.min(1,(a.y+a.height-d.y)/a.height))})]},step:ua(t.prototype.size,!0,null,!0,t.prototype.fixedSize),hexagon:ua(x.prototype.size,!0,.5,!0),curlyBracket:ua(m.prototype.size,!1),display:ua(ka.prototype.size,!1),cube:ya(1,a.prototype.size,!1),card:ya(.5,p.prototype.size,!0),loopLimit:ya(.5,Z.prototype.size,!0),trapezoid:Ea(.5),parallelogram:Ea(1)};Graph.createHandle=M;Graph.handleFactory=za;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=za[a];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=za[a];if(null!=a)return a(this.state)}return null}}else Graph.createHandle=function(){},Graph.handleFactory={};var va=new mxPoint(1,0),wa=new mxPoint(1,0),ma=mxUtils.toRadians(-30),va=mxUtils.getRotatedPoint(va,Math.cos(ma),Math.sin(ma)),ma=mxUtils.toRadians(-150),wa=mxUtils.getRotatedPoint(wa,Math.cos(ma),Math.sin(ma));mxEdgeStyle.IsometricConnector=function(a,d,b,c,f){var e=a.view;c=null!=c&&0<c.length?c[0]:null;var g=a.absolutePoints,h=g[0],g=g[g.length-1];null!=c&&(c=e.transformControlPoint(a,
-c));null==h&&null!=d&&(h=new mxPoint(d.getCenterX(),d.getCenterY()));null==g&&null!=b&&(g=new mxPoint(b.getCenterX(),b.getCenterY()));var m=va.x,n=va.y,u=wa.x,t=wa.y,r="horizontal"==mxUtils.getValue(a.style,"elbow","horizontal");if(null!=g&&null!=h){a=function(a,d,b){a-=w.x;var c=d-w.y;d=(t*a-u*c)/(m*t-n*u);a=(n*a-m*c)/(n*u-m*t);r?(b&&(w=new mxPoint(w.x+m*d,w.y+n*d),f.push(w)),w=new mxPoint(w.x+u*a,w.y+t*a)):(b&&(w=new mxPoint(w.x+u*a,w.y+t*a),f.push(w)),w=new mxPoint(w.x+m*d,w.y+n*d));f.push(w)};
-var w=h;null==c&&(c=new mxPoint(h.x+(g.x-h.x)/2,h.y+(g.y-h.y)/2));a(c.x,c.y,!0);a(g.x,g.y,!1)}};mxStyleRegistry.putValue("isometricEdgeStyle",mxEdgeStyle.IsometricConnector);var Ia=Graph.prototype.createEdgeHandler;Graph.prototype.createEdgeHandler=function(a,d){if(d==mxEdgeStyle.IsometricConnector){var b=new mxElbowEdgeHandler(a);b.snapToTerminals=!1;return b}return Ia.apply(this,arguments)};b.prototype.constraints=[];e.prototype.constraints=[];w.prototype.constraints=[];mxRectangleShape.prototype.constraints=
+a=za[a];if(null!=a)return a(this.state)}return null}}else Graph.createHandle=function(){},Graph.handleFactory={};var va=new mxPoint(1,0),wa=new mxPoint(1,0),ma=mxUtils.toRadians(-30),va=mxUtils.getRotatedPoint(va,Math.cos(ma),Math.sin(ma)),ma=mxUtils.toRadians(-150),wa=mxUtils.getRotatedPoint(wa,Math.cos(ma),Math.sin(ma));mxEdgeStyle.IsometricConnector=function(a,d,b,c,f){var g=a.view;c=null!=c&&0<c.length?c[0]:null;var e=a.absolutePoints,h=e[0],e=e[e.length-1];null!=c&&(c=g.transformControlPoint(a,
+c));null==h&&null!=d&&(h=new mxPoint(d.getCenterX(),d.getCenterY()));null==e&&null!=b&&(e=new mxPoint(b.getCenterX(),b.getCenterY()));var m=va.x,n=va.y,u=wa.x,t=wa.y,r="horizontal"==mxUtils.getValue(a.style,"elbow","horizontal");if(null!=e&&null!=h){a=function(a,d,b){a-=w.x;var c=d-w.y;d=(t*a-u*c)/(m*t-n*u);a=(n*a-m*c)/(n*u-m*t);r?(b&&(w=new mxPoint(w.x+m*d,w.y+n*d),f.push(w)),w=new mxPoint(w.x+u*a,w.y+t*a)):(b&&(w=new mxPoint(w.x+u*a,w.y+t*a),f.push(w)),w=new mxPoint(w.x+m*d,w.y+n*d));f.push(w)};
+var w=h;null==c&&(c=new mxPoint(h.x+(e.x-h.x)/2,h.y+(e.y-h.y)/2));a(c.x,c.y,!0);a(e.x,e.y,!1)}};mxStyleRegistry.putValue("isometricEdgeStyle",mxEdgeStyle.IsometricConnector);var Ia=Graph.prototype.createEdgeHandler;Graph.prototype.createEdgeHandler=function(a,d){if(d==mxEdgeStyle.IsometricConnector){var b=new mxElbowEdgeHandler(a);b.snapToTerminals=!1;return b}return Ia.apply(this,arguments)};b.prototype.constraints=[];e.prototype.constraints=[];w.prototype.constraints=[];mxRectangleShape.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),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,
1),!0),new mxConnectionConstraint(new mxPoint(.75,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;F.prototype.constraints=mxRectangleShape.prototype.constraints;k.prototype.constraints=mxRectangleShape.prototype.constraints;p.prototype.constraints=mxRectangleShape.prototype.constraints;a.prototype.constraints=mxRectangleShape.prototype.constraints;q.prototype.constraints=mxRectangleShape.prototype.constraints;V.prototype.constraints=
@@ -2567,7 +2567,7 @@ this.addAction("open...",function(){window.openNew=!0;window.openKey="open";b.op
320,220,!0,!0,function(){window.openFile=null})}).isEnabled=k;this.addAction("save",function(){b.saveFile(!1)},null,null,Editor.ctrlKey+"+S").isEnabled=k;this.addAction("saveAs...",function(){b.saveFile(!0)},null,null,Editor.ctrlKey+"+Shift+S").isEnabled=k;this.addAction("export...",function(){b.showDialog((new ExportDialog(b)).container,300,230,!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=k;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(){mxClipboard.copy(c)},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 d=0;d<b.length&&
-a;d++)a=a&&c.model.isEdge(b[d]);var f=c.view.translate,e=c.view.scale,n=f.x,r=f.y,f=null;if(1==b.length&&a){var h=c.getCellGeometry(b[0]);null!=h&&(f=h.getTerminalPoint(!0))}f=null!=f?f:c.getBoundingBoxFromGeometry(b,a);if(null!=f){var m=Math.round(c.snap(c.popupMenuHandler.triggerX/e-n)),u=Math.round(c.snap(c.popupMenuHandler.triggerY/e-r));c.cellsMoved(b,m-f.x,u-f.y)}}}finally{c.getModel().endUpdate()}}});this.addAction("delete",function(b){a(null!=b&&mxEvent.isShiftDown(b))},null,null,"Delete");
+a;d++)a=a&&c.model.isEdge(b[d]);var f=c.view.translate,g=c.view.scale,e=f.x,r=f.y,f=null;if(1==b.length&&a){var h=c.getCellGeometry(b[0]);null!=h&&(f=h.getTerminalPoint(!0))}f=null!=f?f:c.getBoundingBoxFromGeometry(b,a);if(null!=f){var n=Math.round(c.snap(c.popupMenuHandler.triggerX/g-e)),u=Math.round(c.snap(c.popupMenuHandler.triggerY/g-r));c.cellsMoved(b,n-f.x,u-f.y)}}}finally{c.getModel().endUpdate()}}});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(){c.setSelectionCells(c.duplicateCells())},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,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)},
@@ -2578,12 +2578,12 @@ c.getLinkForCell(c.getSelectionCell());null!=a&&c.openLink(a)});this.addAction("
function(a,e){a=mxUtils.trim(a);if(0<a.length){var d=null,f=a.substring(a.lastIndexOf("/")+1);if(c.isPageLink(a)){var g=a.indexOf(",");0<g&&(f=b.getPageById(a.substring(g+1)),f=null!=f?f.getName():mxResources.get("pageNotFound"))}null!=e&&0<e.length&&(d=e[0].iconUrl,f=e[0].name||e[0].type,f=f.charAt(0).toUpperCase()+f.substring(1),30<f.length&&(f=f.substring(0,30)+"..."));g=c.getFreeInsertPoint();d=new mxCell(f,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;c.setLinkForCell(d,a);c.cellSizeUpdated(d,!0);c.getModel().beginUpdate();try{d=c.addCell(d),c.fireEvent(new mxEventObject("cellsInserted","cells",[d]))}finally{c.getModel().endUpdate()}c.setSelectionCell(d);c.scrollCellToVisible(c.getSelectionCell())}})}).isEnabled=k;this.addAction("link...",mxUtils.bind(this,function(){var a=b.editor.graph;if(a.isEnabled())if(a.cellEditor.isContentEditing()){var c=
a.getParentByName(a.getSelectedElement(),"A",a.cellEditor.textarea),d="";null!=c&&(d=c.getAttribute("href")||"");var f=a.cellEditor.saveSelection();b.showLinkDialog(d,mxResources.get("apply"),mxUtils.bind(this,function(d){a.cellEditor.restoreSelection(f);null!=d&&a.insertLink(d)}))}else a.isSelectionEmpty()?this.get("insertLink").funct():this.get("editLink").funct()})).isEnabled=k;this.addAction("autosize",function(){var a=c.getSelectionCells();if(null!=a){c.getModel().beginUpdate();try{for(var b=
-0;b<a.length;b++){var d=a[b];if(c.getModel().getChildCount(d))c.updateGroupBounds([d],20);else{var f=c.view.getState(d),e=c.getCellGeometry(d);c.getModel().isVertex(d)&&null!=f&&null!=f.text&&null!=e&&c.isWrapping(d)?(e=e.clone(),e.height=f.text.boundingBox.height/c.view.scale,c.getModel().setGeometry(d,e)):c.updateCellSize(d)}}}finally{c.getModel().endUpdate()}}},null,null,Editor.ctrlKey+"+Shift+Y");this.addAction("formattedText",function(){var a=c.getView().getState(c.getSelectionCell());if(null!=
+0;b<a.length;b++){var d=a[b];if(c.getModel().getChildCount(d))c.updateGroupBounds([d],20);else{var f=c.view.getState(d),g=c.getCellGeometry(d);c.getModel().isVertex(d)&&null!=f&&null!=f.text&&null!=g&&c.isWrapping(d)?(g=g.clone(),g.height=f.text.boundingBox.height/c.view.scale,c.getModel().setGeometry(d,g)):c.updateCellSize(d)}}}finally{c.getModel().endUpdate()}}},null,null,Editor.ctrlKey+"+Shift+Y");this.addAction("formattedText",function(){var a=c.getView().getState(c.getSelectionCell());if(null!=
a){var e="1";c.stopEditing();c.getModel().beginUpdate();try{if("1"==a.style.html){var e=null,d=c.convertValueToString(a.cell);"0"!=mxUtils.getValue(a.style,"nl2Br","1")&&(d=d.replace(/\n/g,"").replace(/<br\s*.?>/g,"\n"));var f=document.createElement("div");f.innerHTML=d;d=mxUtils.extractTextWithWhitespace(f.childNodes);c.cellLabelChanged(a.cell,d)}else d=mxUtils.htmlEntities(c.convertValueToString(a.cell),!1),"0"!=mxUtils.getValue(a.style,"nl2Br","1")&&(d=d.replace(/\n/g,"<br/>")),c.cellLabelChanged(a.cell,
c.sanitizeHtml(d));c.setCellStyles("html",e);b.fireEvent(new mxEventObject("styleChanged","keys",["html"],"values",[null!=e?e:"0"],"cells",c.getSelectionCells()))}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.zoomIn()},null,null,Editor.ctrlKey+" + (Numpad) / Alt+Mousewheel");
this.addAction("zoomOut",function(a){c.zoomOut()},null,null,Editor.ctrlKey+" - (Numpad) / Alt+Mousewheel");this.addAction("fitWindow",function(){c.fit()},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,c.container.scrollLeft=Math.min(a.x*c.view.scale,(c.container.scrollWidth-c.container.clientWidth)/2))}),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,
+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&&b.setPageScale(a/100)}),mxResources.get("pageScale")+" (%)");this.editorUi.showDialog(a.container,300,80,!0,!0);a.init()}));var l=null,l=this.addAction("grid",function(){c.setGridEnabled(!c.isGridEnabled());b.fireEvent(new mxEventObject("gridEnabledChanged"))},null,null,Editor.ctrlKey+"+Shift+G");l.setToggleAction(!0);l.setSelectedCallback(function(){return c.isGridEnabled()});l.setEnabled(!1);
@@ -2602,12 +2602,12 @@ this.addAction("rounded",function(){c.getModel().beginUpdate();try{c.setCellStyl
d=null!=e?e.style:c.getCellStyle(a[0]),f="1"==mxUtils.getValue(d,mxConstants.STYLE_ROUNDED,"0")?"0":"1";c.setCellStyles(mxConstants.STYLE_ROUNDED,f);c.setCellStyles(mxConstants.STYLE_CURVED,null);b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_ROUNDED,mxConstants.STYLE_CURVED],"values",[f,"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(d){null!=d&&c.setCellStyle(mxUtils.trim(d),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 d=c.view.translate,f=c.view.scale,g=d.x,d=d.y,a=c.getModel().getParent(a),n=c.getCellGeometry(a);c.getModel().isVertex(a)&&null!=n;)g+=n.x,d+=n.y,a=c.getModel().getParent(a),n=
+"+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 d=c.view.translate,f=c.view.scale,g=d.x,d=d.y,a=c.getModel().getParent(a),m=c.getCellGeometry(a);c.getModel().isVertex(a)&&null!=m;)g+=m.x,d+=m.y,a=c.getModel().getParent(a),m=
c.getCellGeometry(a);g=Math.round(c.snap(c.popupMenuHandler.triggerX/f-g));f=Math.round(c.snap(c.popupMenuHandler.triggerY/f-d));b.addPointAt(b.state,g,f)}}});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 d=a[b];if(c.getModel().isEdge(d)){var f=
c.getCellGeometry(d);null!=f&&(f=f.clone(),f.points=null,c.getModel().setGeometry(d,f))}}}finally{c.getModel().endUpdate()}}},null,null,"Alt+Shift+C");l=this.addAction("subscript",mxUtils.bind(this,function(){c.cellEditor.isContentEditing()&&document.execCommand("subscript",!1,null)}),null,null,Editor.ctrlKey+"+,");l=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()),d="";null!=e&&(d=e.style[mxConstants.STYLE_IMAGE]||d);var f=c.cellEditor.saveSelection();b.showImageDialog(a,d,function(a,d,b){if(c.cellEditor.isContentEditing())c.cellEditor.restoreSelection(f),c.insertImage(a,d,b);else{var e=c.getSelectionCells();if(null!=a&&(0<a.length||0<e.length)){var g=null;c.getModel().beginUpdate();
-try{if(0==e.length){var n=c.getFreeInsertPoint(),g=e=[c.insertVertex(c.getDefaultParent(),null,"",n.x,n.y,d,b,"shape=image;imageAspect=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;")];c.fireEvent(new mxEventObject("cellsInserted","cells",g))}c.setCellStyles(mxConstants.STYLE_IMAGE,0<a.length?a:null,e);var r=c.view.getState(e[0]),t=null!=r?r.style:c.getCellStyle(e[0]);"image"!=t[mxConstants.STYLE_SHAPE]&&"label"!=t[mxConstants.STYLE_SHAPE]?c.setCellStyles(mxConstants.STYLE_SHAPE,"image",
-e):0==a.length&&c.setCellStyles(mxConstants.STYLE_SHAPE,null,e);if(1==c.getSelectionCount()&&null!=d&&null!=b){var k=e[0],l=c.getModel().getGeometry(k);null!=l&&(l=l.clone(),l.width=d,l.height=b,c.getModel().setGeometry(k,l))}}finally{c.getModel().endUpdate()}null!=g&&(c.setSelectionCells(g),c.scrollCellToVisible(g[0]))}}},c.cellEditor.isContentEditing(),!c.cellEditor.isContentEditing())}}).isEnabled=k;this.addAction("insertImage...",function(){c.isEnabled()&&!c.isCellLocked(c.getDefaultParent())&&
+function(){if(c.isEnabled()&&!c.isCellLocked(c.getDefaultParent())){var a=mxResources.get("image")+" ("+mxResources.get("url")+"):",e=c.getView().getState(c.getSelectionCell()),d="";null!=e&&(d=e.style[mxConstants.STYLE_IMAGE]||d);var f=c.cellEditor.saveSelection();b.showImageDialog(a,d,function(a,d,b){if(c.cellEditor.isContentEditing())c.cellEditor.restoreSelection(f),c.insertImage(a,d,b);else{var g=c.getSelectionCells();if(null!=a&&(0<a.length||0<g.length)){var e=null;c.getModel().beginUpdate();
+try{if(0==g.length){var m=c.getFreeInsertPoint(),e=g=[c.insertVertex(c.getDefaultParent(),null,"",m.x,m.y,d,b,"shape=image;imageAspect=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;")];c.fireEvent(new mxEventObject("cellsInserted","cells",e))}c.setCellStyles(mxConstants.STYLE_IMAGE,0<a.length?a:null,g);var r=c.view.getState(g[0]),t=null!=r?r.style:c.getCellStyle(g[0]);"image"!=t[mxConstants.STYLE_SHAPE]&&"label"!=t[mxConstants.STYLE_SHAPE]?c.setCellStyles(mxConstants.STYLE_SHAPE,"image",
+g):0==a.length&&c.setCellStyles(mxConstants.STYLE_SHAPE,null,g);if(1==c.getSelectionCount()&&null!=d&&null!=b){var x=g[0],k=c.getModel().getGeometry(x);null!=k&&(k=k.clone(),k.width=d,k.height=b,c.getModel().setGeometry(x,k))}}finally{c.getModel().endUpdate()}null!=e&&(c.setSelectionCells(e),c.scrollCellToVisible(e[0]))}}},c.cellEditor.isContentEditing(),!c.cellEditor.isContentEditing())}}).isEnabled=k;this.addAction("insertImage...",function(){c.isEnabled()&&!c.isCellLocked(c.getDefaultParent())&&
(c.clearSelection(),b.actions.get("image").funct())}).isEnabled=k;l=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");l.setToggleAction(!0);l.setSelectedCallback(mxUtils.bind(this,function(){return null!=this.layersWindow&&this.layersWindow.window.isVisible()}));l=this.addAction("formatPanel",mxUtils.bind(this,function(){b.toggleFormatPanel()}),null,null,Editor.ctrlKey+"+Shift+P");l.setToggleAction(!0);l.setSelectedCallback(mxUtils.bind(this,function(){return 0<b.formatWidth}));l=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,
@@ -2634,49 +2634,49 @@ IMAGE_PATH+"/plus.png";Editor.spinImage=mxClient.IS_SVG?"data:image/gif;base64,R
IMAGE_PATH+"/spin.gif";Editor.tweetImage=IMAGE_PATH+"/tweet.png";Editor.facebookImage=IMAGE_PATH+"/facebook.png";Editor.blankImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAACklEQVR4nGMAAQAABQABDQottAAAAABJRU5ErkJggg==";Editor.hiResImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAA+CAMAAACLMWy1AAAAh1BMVEUAAABMTExERERBQUFBQUFFRUVAQEBCQkJAQEA6OjpDQ0NKSkpBQUFBQUFERERERERBQUFCQkJCQkJCQkJJSUlBQUFCQkJDQ0NDQ0NCQkJDQ0NBQUFBQUFCQkJBQUFCQkJCQkJDQ0NCQkJHR0dBQUFCQkJCQkJAQEBCQkJDQ0NAQEBERERCQkIk1hS2AAAAKnRSTlMAAjj96BL7PgQFRwfu3TYazKuVjRXl1V1DPCn1uLGjnWNVIgy9hU40eGqPkM38AAACG0lEQVRYw+2X63KbMBCFzwZblgGDceN74muatpLe//m6MHV3gHGFAv2RjM94MAbxzdnVsQbBDKwH8AH8MDAyafzjqYeyOG04XE7RS8nIRDXg6BlT+rA0nmtAPh+NQRDxIASIMG44rAMrGunBgHwy3uUldxggIStGKp2f+DQc2O4h4eQsX3O2IFB/oEbsjOKbStnjAEA+zJ0ylZTbgvoDn8xNyn6Dbj5Kd4GsNpABa6duQPfSdEj88TgMAhKuCWjAkgmFXPLnsD0pWd3OFGdrMugQII/eOMPEiGOzqPMIeWrcSoMCg71W1pXBPvCP+gS/OdXqQ3uW23+93XGWLl/OaBb805bNcBPoEIcVJsnHzcxpZH86u5KZ9gDby5dQCcnKqdbke4ItI4Tzd7IW9hZQt4EO6GG9b9sYuuK9Wwn8TIr2xKbF2+3Nhr+qxChJ/AI6pIfCu4z4Zowp4ZUNihz79vewzctnHDwTvQO/hCdFBzrUGDOPn2Y/F8YKT4oOATLvlhOznzmBSdFBJWtc58y7r+UVFOCQczy3wpN6pegDqHtsCPTGvH9JuTO0Dyg8icldYPk+RB6g8Aofj4m2EKBvtTmUPD9xDd1pPcSReV2U5iD/ik2yrngtvvqBfPzOvKiDTKTsCdoHZJ7pLLffgTwlJ5vJdtJV2/jiAYaLvLGhMAEDO5QcDg2M/jOw/8Zn+K3ZwJvHT7ZffgC/NvA3zcybTeIfE4EAAAAASUVORK5CYII=":
IMAGE_PATH+"/img-hi-res.png";Editor.loResImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAA+CAMAAACLMWy1AAAAS1BMVEVAQEAAAAA1NTVBQUFDQ0NDQ0NFRUVERERBQUFBQUFBQUFAQEBBQUFBQUFCQkJCQkJCQkJBQUFCQkJDQ0NDQ0NCQkJCQkJCQkJGRkb5/XqTAAAAGXRSTlP+AAWODlASCsesX+Lc2LyWe3pwa1tCPjohjSJfoAAAAI1JREFUWMPt1MkKhTAMRuG0anvneXr/J71nUypKcdqI/N8yhLMKMZE1CahnClDQzMPB44ED3EgeCubgDWnWQMHpwTtKwTe+UHD4sJ94wbUEHHFGhILlYDeSnsQeabeCgsPBgB0MOZZ9oGA5GJFiJSfUULAfjLjARrhCwX7wh2YCDwVbwZkUBKqFFJRN+wOcwSgR2sREcgAAAABJRU5ErkJggg==":
IMAGE_PATH+"/img-lo-res.png";Editor.cameraLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAACxMBAJqcGAAAAVlpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KTMInWQAAA/BJREFUWAnFl0uIjWEYx885buPSuGwmSYwtwsY1ikKSNYNclmQnadgrZSPlsnBLSlaGBdNYKY0Vdi4L4zYzIqxGxmXG//d+7//0+uY7nWMiT/2/53mf+3v7vnNKpf9M5UbrDw8Pj4m+wzmeT1FBUS6Xf+YNox6reMONukijMXUTM3NmI75PyXcJPwRWg5kS7xysDLNmfEUxpx2rceNE50IlYjyRklcLf0prY+x4BTqfmx3ZUHQaO9ISGngYq38V/1EH+ECPa+QaK1u1kVBQirDMChiS3CTeIkwWvghtwhKBpZ8g1CO2B99FynVU/KowSRgQ3mlrBsVZ1awmQlS0SGbfXglfBPbdRGMm5O8RXg2P835pDCvzWjghTHETcLpZLHwS8kTCtBEK1SN83Egam8YxyVZqc+Do5qkwS+gT9grNwkUBG6cbsG/gs3BTuC/0ChCxq4QtwgzBMdwUZBPyN4Ftfi4sYPZHktbOSRlIuutRP5jYj0ueZp88xyYcS/zZoiLyQT1IA/cTj7eSlwnrhI+JnkQbCwo2Sx/2M7VJt17wdhVtgxvrpoFnAuSAbJQ97biZAlKxBfD9wgOhV+BgIR/AZtJ4kwD5PGSj7OmmekjWEy0oAQHAS3+KpBpzXqYK3UItopHpSRMno2N+cm7gDYnfRCcr3QBqriMHLJDkeyhFfiG5aVbK+8rhtP9M6QcIEJHX5Fp9NMAyQlYiu+OOJNlODCIXyka/P23bncTdiC7OydC1+v1Bsb+5r84DK8S3Rdmf5cRUFW3bXtWUSt1Rdk6G4SyJV2o1YId+vNUxr+x5yCJiapFtcxQzLjrxboGcMxvFJwEOKnLwjIbkx/sdSmeSaUY++SwTAxV+4DJT7RVwkbk46gNCsifIItuy0e9PF33Cb4homhN5YRyzL5q5V2VNkv98kqgoGTo3YF9CnMM5Y5rItFfvBSi9JulVXOgI+VwIntkt+SaZ6weQfcovJf7zpTfl86P/wAF7Fz18NeKwmvAWCaX0Z/uMHQr42ZxvR/Rxcw5xM+9J/CJq8w2gduDhmDgso/QrBH47dEXQ1IqczyHpIOfIRtnTtV7SwO1oKXKkU3fbToFGSDHtMWcaH1WBuVYnDbRFi99iqSMySdzxXckrazUh23KBVYGIcfNBkTxca0e4ATJ0KukGYVBgr/MnlhPOtQq/ksUfCbzh+EFCjtnCUoHfjhA/OsiTv2HcEvJMELp0VakZDliTmriTdPivxU4VmEhtPrGV+KJhO7ZKt0doFZh1fgZSBWIW2AGEHwg3BUWOnKtH+suqdw07tYMfglCrWPD5mw9qVYuniaXkT0OtWaSuo5LJTY1RBf+roF9X5+y/5qU+DAAAAABJRU5ErkJggg==";
-Editor.defaultCustomLibraries=[];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## 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## 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\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 parallel edges. Default is 40.\n#\n# edgespacing: 40\n#\n## Name of layout. Possible values are auto, none, verticaltree, horizontaltree,\n## verticalflow, horizontalflow, organic, circle. 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.defaultCustomLibraries=[];Editor.enableCustomLibraries=!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## 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## 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\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 parallel edges. Default is 40.\n#\n# edgespacing: 40\n#\n## Name of layout. Possible values are auto, none, verticaltree, horizontaltree,\n## verticalflow, horizontalflow, organic, circle. 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.shadowOptionEnabled=!0;Editor.configure=function(a){if(null!=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;if(null!=a.css){var d=document.createElement("style");d.setAttribute("type","text/css");d.appendChild(document.createTextNode(a.css));var b=document.getElementsByTagName("script")[0];b.parentNode.insertBefore(d,b)}null!=a.defaultLibraries&&(Sidebar.prototype.defaultEntries=a.defaultLibraries);null!=a.defaultCustomLibraries&&(Editor.defaultCustomLibraries=a.defaultCustomLibraries);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&&(d=document.createElement("style"),d.setAttribute("type",
-"text/css"),d.appendChild(document.createTextNode(a.fontCss)),b=document.getElementsByTagName("script")[0],b.parentNode.insertBefore(d,b),Editor.prototype.fontCss=a.fontCss);if(null!=a.plugins)for(App.initPluginCallback(),d=0;d<a.plugins.length;d++)mxscript(a.plugins[d])}};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?!0:this.originalNoForeignObject;this.graph.setShadowVisible("1"==d.getAttribute("shadow"),!1)}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");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(x){}return!1};Editor.prototype.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=this.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&&(b=this.graph.decompress(mxUtils.getTextContent(c)),null!=b&&0<b.length&&(a=mxUtils.parseXml(b).documentElement)));null==a||"mxGraphModel"==a.nodeName||d&&"mxfile"==a.nodeName||(a=null);return a};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?!0:this.originalNoForeignObject;e.apply(this,arguments)};Editor.prototype.originalNoForeignObject=mxClient.NO_FO;var c=Editor.prototype.updateGraphComponents;Editor.prototype.updateGraphComponents=function(){c.apply(this,arguments);mxClient.NO_FO=this.graph.mathEnabled&&null!=Editor.MathJaxRender?!0:this.originalNoForeignObject};Editor.initMath=function(a,d){a=null!=a?a:"https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/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"],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,d){null!=this.graph.container&&this.graph.mathEnabled&&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;
+a.defaultEdgeLength||Graph.prototype.defaultEdgeLength;if(null!=a.css){var d=document.createElement("style");d.setAttribute("type","text/css");d.appendChild(document.createTextNode(a.css));var b=document.getElementsByTagName("script")[0];b.parentNode.insertBefore(d,b)}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&&
+(d=document.createElement("style"),d.setAttribute("type","text/css"),d.appendChild(document.createTextNode(a.fontCss)),b=document.getElementsByTagName("script")[0],b.parentNode.insertBefore(d,b),Editor.prototype.fontCss=a.fontCss);if(null!=a.plugins)for(App.initPluginCallback(),d=0;d<a.plugins.length;d++)mxscript(a.plugins[d])}};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?!0:this.originalNoForeignObject;this.graph.setShadowVisible("1"==d.getAttribute("shadow"),!1)}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");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(x){}return!1};Editor.prototype.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=this.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&&(b=this.graph.decompress(mxUtils.getTextContent(c)),null!=b&&0<b.length&&(a=mxUtils.parseXml(b).documentElement)));null==a||"mxGraphModel"==a.nodeName||d&&"mxfile"==a.nodeName||(a=null);return a};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?!0:this.originalNoForeignObject;e.apply(this,arguments)};Editor.prototype.originalNoForeignObject=mxClient.NO_FO;var c=Editor.prototype.updateGraphComponents;Editor.prototype.updateGraphComponents=function(){c.apply(this,arguments);mxClient.NO_FO=this.graph.mathEnabled&&null!=Editor.MathJaxRender?!0:this.originalNoForeignObject};Editor.initMath=function(a,d){a=null!=a?a:"https://math.draw.io/current/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,d){null!=this.graph.container&&this.graph.mathEnabled&&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};if(window.ColorDialog){var k=ColorDialog.addRecentColor;ColorDialog.addRecentColor=function(a,d){k.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()};
var l=ColorDialog.resetRecentColors;ColorDialog.resetRecentColors=function(){l.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()}}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 p=Format.prototype.refresh;Format.prototype.refresh=function(){null!=this.editorUi.getCurrentFile()||"1"==urlParams.embed||this.editorUi.editor.chromeless?
p.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 v=DiagramFormatPanel.prototype.addView;DiagramFormatPanel.prototype.addView=function(a){a=v.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 d=DiagramFormatPanel.prototype.addOptions;
DiagramFormatPanel.prototype.addOptions=function(a){a=d.apply(this,arguments);var b=this.editorUi,c=b.editor.graph;if(c.isEnabled()){var f=b.getCurrentFile();null!=f&&f.isAutosaveOptional()&&(f=this.createOption(mxResources.get("autosave"),function(){return b.editor.autosave},function(a){b.editor.setAutosave(a)},{install:function(a){this.listener=function(){a(b.editor.autosave)};b.editor.addListener("autosaveChanged",this.listener)},destroy:function(){b.editor.removeListener(this.listener)}}),a.appendChild(f))}if(this.isMathOptionVisible()&&
-c.isEnabled()&&"undefined"!==typeof MathJax){f=this.createOption(mxResources.get("mathematicalTypesetting"),function(){return c.mathEnabled},function(a){b.actions.get("mathematicalTypesetting").funct()},{install:function(a){this.listener=function(){a(c.mathEnabled)};b.addListener("mathEnabledChanged",this.listener)},destroy:function(){b.removeListener(this.listener)}});f.style.paddingTop="0px";a.appendChild(f);var e=b.menus.createHelpLink("https://desk.draw.io/support/solutions/articles/16000032875");
-e.style.position="relative";e.style.top="4px";f.appendChild(e)}return a};StyleFormatPanel.prototype.defaultColorSchemes=[[null,{fill:"#f5f5f5",stroke:"#666666"},{fill:"#dae8fc",stroke:"#6c8ebf"},{fill:"#d5e8d4",stroke:"#82b366"},{fill:"#ffe6cc",stroke:"#d79b00"},{fill:"#fff2cc",stroke:"#d6b656"},{fill:"#f8cecc",stroke:"#b85450"},{fill:"#e1d5e7",stroke:"#9673a6"}],[null,{fill:"#f5f5f5",stroke:"#666666",gradient:"#b3b3b3"},{fill:"#dae8fc",stroke:"#6c8ebf",gradient:"#7ea6e0"},{fill:"#d5e8d4",stroke:"#82b366",
+c.isEnabled()&&"undefined"!==typeof MathJax){f=this.createOption(mxResources.get("mathematicalTypesetting"),function(){return c.mathEnabled},function(a){b.actions.get("mathematicalTypesetting").funct()},{install:function(a){this.listener=function(){a(c.mathEnabled)};b.addListener("mathEnabledChanged",this.listener)},destroy:function(){b.removeListener(this.listener)}});f.style.paddingTop="0px";a.appendChild(f);var g=b.menus.createHelpLink("https://desk.draw.io/support/solutions/articles/16000032875");
+g.style.position="relative";g.style.top="4px";f.appendChild(g)}return a};StyleFormatPanel.prototype.defaultColorSchemes=[[null,{fill:"#f5f5f5",stroke:"#666666"},{fill:"#dae8fc",stroke:"#6c8ebf"},{fill:"#d5e8d4",stroke:"#82b366"},{fill:"#ffe6cc",stroke:"#d79b00"},{fill:"#fff2cc",stroke:"#d6b656"},{fill:"#f8cecc",stroke:"#b85450"},{fill:"#e1d5e7",stroke:"#9673a6"}],[null,{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"}],[null,{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"}]];var f=StyleFormatPanel.prototype.init;
StyleFormatPanel.prototype.init=function(){"image"!=this.format.createSelectionState().style.shape&&this.container.appendChild(this.addStyles(this.createPanel()));f.apply(this,arguments)};var g=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 g.apply(this,arguments)};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<e.length;g++)f=mxUtils.removeStylename(f,e[g]);null!=a?(f=mxUtils.setStyle(f,mxConstants.STYLE_FILLCOLOR,a.fill),f=mxUtils.setStyle(f,mxConstants.STYLE_STROKECOLOR,a.stroke),f=mxUtils.setStyle(f,mxConstants.STYLE_GRADIENTCOLOR,a.gradient)):(f=mxUtils.setStyle(f,mxConstants.STYLE_FILLCOLOR,"#ffffff"),f=mxUtils.setStyle(f,mxConstants.STYLE_STROKECOLOR,
+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]),e=0;e<g.length;e++)f=mxUtils.removeStylename(f,g[e]);null!=a?(f=mxUtils.setStyle(f,mxConstants.STYLE_FILLCOLOR,a.fill),f=mxUtils.setStyle(f,mxConstants.STYLE_STROKECOLOR,a.stroke),f=mxUtils.setStyle(f,mxConstants.STYLE_GRADIENTCOLOR,a.gradient)):(f=mxUtils.setStyle(f,mxConstants.STYLE_FILLCOLOR,"#ffffff"),f=mxUtils.setStyle(f,mxConstants.STYLE_STROKECOLOR,
"#000000"),f=mxUtils.setStyle(f,mxConstants.STYLE_GRADIENTCOLOR,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";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%)":d.style.backgroundColor=a.fill,d.style.border="1px solid "+a.stroke):(d.style.backgroundColor="#ffffff",d.style.border="1px solid #000000");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 e="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);d(this.defaultColorSchemes[this.editorUi.currentScheme])}));var h=document.createElement("div");h.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(h));mxEvent.addListener(h,"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(h);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()&&
+"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 g="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 e=document.createElement("div");e.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(e,"click",mxUtils.bind(this,function(){this.editorUi.currentScheme=mxUtils.mod(this.editorUi.currentScheme-1,this.defaultColorSchemes.length);d(this.defaultColorSchemes[this.editorUi.currentScheme])}));var h=document.createElement("div");h.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(e),a.appendChild(h));mxEvent.addListener(h,"click",mxUtils.bind(this,function(){this.editorUi.currentScheme=mxUtils.mod(this.editorUi.currentScheme+1,this.defaultColorSchemes.length);d(this.defaultColorSchemes[this.editorUi.currentScheme])}));b(e);b(h);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 n=Graph.prototype.init;Graph.prototype.init=function(){function a(a){d=a;if(mxClient.IS_QUIRKS||7==document.documentMode||8==document.documentMode)d=mxUtils.clone(a)}n.apply(this,arguments);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;
+"3";Graph.prototype.edgeMode="move"!=urlParams.edge;var m=Graph.prototype.init;Graph.prototype.init=function(){function a(a){d=a;if(mxClient.IS_QUIRKS||7==document.documentMode||8==document.documentMode)d=mxUtils.clone(a)}m.apply(this,arguments);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.view.getState(a),d=null!=d?d.style:this.graph.getCellStyle(a);if("undefined"!=typeof mxRackContainer&&"rack"==d.childLayout){var b=new mxStackLayout(this.graph,!1);b.setChildGeometry=function(a,d){d.height=Math.max(d.height,20);if(1<d.height/20){var b=d.height%20;d.height+=10<b?20-b:-b}this.graph.getModel().setGeometry(a,
d)};b.fill=!0;b.unitSize=mxRackContainer.unitSize|20;b.marginLeft=d.marginLeft||0;b.marginRight=d.marginRight||0;b.marginTop=d.marginTop||0;b.marginBottom=d.marginBottom||0;b.resizeParent=!1;return b}return c.apply(this,arguments)}};var r=Graph.prototype.loadStylesheet;Graph.prototype.loadStylesheet=function(){r.apply(this,arguments);this.currentStyle="default-style2"};Graph.prototype.isPageLink=function(a){return null!=a&&"data:page/"==a.substring(0,10)};Graph.prototype.highlightCell=function(a,
d,b){d=null!=d?d:mxConstants.DEFAULT_VALID_COLOR;b=null!=b?b:1E3;a=this.view.getState(a);if(null!=a){var c=Math.max(5,mxUtils.getValue(a.style,mxConstants.STYLE_STROKEWIDTH,1)+4),f=new mxCellHighlight(this,d,c,!1);f.highlight(a);window.setTimeout(function(){null!=f.shape&&(mxUtils.setPrefixedStyle(f.shape.node.style,"transition","all 1200ms ease-in-out"),f.shape.node.style.opacity=0);window.setTimeout(function(){f.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 e=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feGaussianBlur"):c.createElement("feGaussianBlur");e.setAttribute("in","SourceAlpha");e.setAttribute("stdDeviation",this.svgShadowBlur);e.setAttribute("result","blur");f.appendChild(e);e=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feOffset"):c.createElement("feOffset");
-e.setAttribute("in","blur");e.setAttribute("dx",this.svgShadowSize);e.setAttribute("dy",this.svgShadowSize);e.setAttribute("result","offsetBlur");f.appendChild(e);e=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feFlood"):c.createElement("feFlood");e.setAttribute("flood-color",this.svgShadowColor);e.setAttribute("flood-opacity",this.svgShadowOpacity);e.setAttribute("result","offsetColor");f.appendChild(e);e=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feComposite"):
-c.createElement("feComposite");e.setAttribute("in","offsetColor");e.setAttribute("in2","offsetBlur");e.setAttribute("operator","in");e.setAttribute("result","offsetBlur");f.appendChild(e);e=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feBlend"):c.createElement("feBlend");e.setAttribute("in","SourceGraphic");e.setAttribute("in2","offsetBlur");f.appendChild(e);e=a.getElementsByTagName("defs");0==e.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=e[0];c.appendChild(f);b||((d||a.getElementsByTagName("g")[0]).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)));return f};Graph.prototype.setShadowVisible=function(a,d){mxClient.IS_SVG&&(d=null!=d?d:!0,(this.shadowVisible=a)?this.view.getDrawPane().setAttribute("filter",
+var c=a.ownerDocument,f=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"filter"):c.createElement("filter");f.setAttribute("id",this.shadowId);var g=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feGaussianBlur"):c.createElement("feGaussianBlur");g.setAttribute("in","SourceAlpha");g.setAttribute("stdDeviation",this.svgShadowBlur);g.setAttribute("result","blur");f.appendChild(g);g=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feOffset"):c.createElement("feOffset");
+g.setAttribute("in","blur");g.setAttribute("dx",this.svgShadowSize);g.setAttribute("dy",this.svgShadowSize);g.setAttribute("result","offsetBlur");f.appendChild(g);g=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feFlood"):c.createElement("feFlood");g.setAttribute("flood-color",this.svgShadowColor);g.setAttribute("flood-opacity",this.svgShadowOpacity);g.setAttribute("result","offsetColor");f.appendChild(g);g=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feComposite"):
+c.createElement("feComposite");g.setAttribute("in","offsetColor");g.setAttribute("in2","offsetBlur");g.setAttribute("operator","in");g.setAttribute("result","offsetBlur");f.appendChild(g);g=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feBlend"):c.createElement("feBlend");g.setAttribute("in","SourceGraphic");g.setAttribute("in2","offsetBlur");f.appendChild(g);g=a.getElementsByTagName("defs");0==g.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=g[0];c.appendChild(f);b||((d||a.getElementsByTagName("g")[0]).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)));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"];mxStencilRegistry.libraries.bpmn=[SHAPES_PATH+"/bpmn/mxBpmnShape2.js",STENCIL_PATH+"/bpmn.xml"];mxStencilRegistry.libraries.er=[SHAPES_PATH+"/er/mxER.js"];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=
@@ -2684,25 +2684,25 @@ mxStencilRegistry.libraries.arrows2=[SHAPES_PATH+"/mxArrows.js"];mxStencilRegist
"/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.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.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 h=mxMarker.createMarker;mxMarker.createMarker=function(a,d,b,c,f,e,g,m,n,r){if(null!=b&&null==mxMarker.markers[b]){var u=this.getPackageForType(b);
-null!=u&&mxStencilRegistry.getStencil(u)}return h.apply(this,arguments)};PrintDialog.prototype.create=function(a,d){function b(){w.value=Math.max(1,Math.min(h,Math.max(parseInt(w.value),parseInt(k.value))));k.value=Math.max(1,Math.min(h,Math.min(parseInt(w.value),parseInt(k.value))))}function c(d){function b(d,b,f){var e=d.getGraphBounds(),g=0,h=0,m=da.get(),n=1/d.pageScale,r=v.checked;if(r)var n=parseInt(W.value),t=parseInt(P.value),n=Math.min(m.height*t/(e.height/d.view.scale),m.width*n/(e.width/
-d.view.scale));else n=parseInt(p.value)/(100*d.pageScale),isNaN(n)&&(c=1/d.pageScale,p.value="100 %");m=mxRectangle.fromRectangle(m);m.width=Math.ceil(m.width*c);m.height=Math.ceil(m.height*c);n*=c;!r&&d.pageVisible?(e=d.getPageLayout(),g-=e.x*m.width,h-=e.y*m.height):r=!0;if(null==b){b=PrintDialog.createPrintPreview(d,n,m,0,g,h,r);b.pageSelector=!1;b.mathEnabled=!1;d=a.getCurrentFile();null!=d&&(b.title=d.getTitle());var u=b.writeHead;b.writeHead=function(d){u.apply(this,arguments);null!=a.editor.fontCss&&
-(d.writeln('<style type="text/css">'),d.writeln(a.editor.fontCss),d.writeln("</style>"))};if("undefined"!==typeof MathJax){var k=b.renderPage;b.renderPage=function(a,d,b,c,f,e){var g=k.apply(this,arguments);this.graph.mathEnabled?this.mathEnabled=!0:g.className="geDisableMathJax";return g}}b.open(null,null,f,!0)}else{m=d.background;if(null==m||""==m||m==mxConstants.NONE)m="#ffffff";b.backgroundColor=m;b.autoOrigin=r;b.appendGraph(d,n,g,h,f,!0)}return b}var c=parseInt(T.value)/100;isNaN(c)&&(c=1,T.value=
-"100 %");var c=.75*c,e=k.value,g=w.value,h=!r.checked,n=null;h&&(h=e==m&&g==m);if(!h&&null!=a.pages&&a.pages.length){var t=0,h=a.pages.length-1;r.checked||(t=parseInt(e)-1,h=parseInt(g)-1);for(var u=t;u<=h;u++){var l=a.pages[u],e=l==a.currentPage?f:null;if(null==e){var e=a.createTemporaryGraph(f.getStylesheet()),g=!0,t=!1,z=null,x=null;null==l.viewState&&null==l.mapping&&null==l.root&&a.updatePageRoot(l);null!=l.viewState?(g=l.viewState.pageVisible,t=l.viewState.mathEnabled,z=l.viewState.background,
-x=l.viewState.backgroundImage):null!=l.mapping&&null!=l.mapping.diagramMap&&(t="0"!=l.mapping.diagramMap.get("mathEnabled"),z=l.mapping.diagramMap.get("background"),x=l.mapping.diagramMap.get("backgroundImage"),x=null!=x&&0<x.length?JSON.parse(x):null);e.background=z;e.backgroundImage=null!=x?new mxImage(x.src,x.width,x.height):null;e.pageVisible=g;e.mathEnabled=t;var q=e.getGlobalVariable;e.getGlobalVariable=function(a){return"page"==a?l.getName():"pagenumber"==a?u+1:q.apply(this,arguments)};document.body.appendChild(e.container);
-a.updatePageRoot(l);e.model.setRoot(l.root)}n=b(e,n,u!=h);e!=f&&e.container.parentNode.removeChild(e.container)}}else n=b(f);n.mathEnabled&&(h=n.wnd.document,h.writeln('<script type="text/x-mathjax-config">'),h.writeln("MathJax.Hub.Config({"),h.writeln('messageStyle: "none",'),h.writeln('jax: ["input/TeX", "input/MathML", "input/AsciiMath", "output/HTML-CSS"],'),h.writeln('extensions: ["tex2jax.js", "mml2jax.js", "asciimath2jax.js"],'),h.writeln("TeX: {"),h.writeln('extensions: ["AMSmath.js", "AMSsymbols.js", "noErrors.js", "noUndefined.js"]'),
-h.writeln("},"),h.writeln("tex2jax: {"),h.writeln('\tignoreClass: "geDisableMathJax"'),h.writeln("},"),h.writeln("asciimath2jax: {"),h.writeln('\tignoreClass: "geDisableMathJax"'),h.writeln("}"),h.writeln("});"),d&&(h.writeln("MathJax.Hub.Queue(function () {"),h.writeln("window.print();"),h.writeln("});")),h.writeln("\x3c/script>"),h.writeln('<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js">\x3c/script>'));n.closeDocument();!n.mathEnabled&&d&&PrintDialog.printPreview(n)}
-var f=a.editor.graph,e=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"));e.appendChild(g);var h=1,m=1,n=document.createElement("div");n.style.cssText="border-bottom:1px solid lightGray;padding-bottom:12px;margin-bottom:12px;";var r=document.createElement("input");r.style.cssText="margin-right:8px;margin-bottom:8px;";r.setAttribute("value","all");r.setAttribute("type","radio");
-r.setAttribute("name","pages-printdialog");n.appendChild(r);g=document.createElement("span");mxUtils.write(g,mxResources.get("printAllPages"));n.appendChild(g);mxUtils.br(n);var u=r.cloneNode(!0);r.setAttribute("checked","checked");u.setAttribute("value","range");n.appendChild(u);g=document.createElement("span");mxUtils.write(g,mxResources.get("pages")+":");n.appendChild(g);var k=document.createElement("input");k.style.cssText="margin:0 8px 0 8px;";k.setAttribute("value","1");k.setAttribute("type",
-"number");k.setAttribute("min","1");k.style.width="50px";n.appendChild(k);g=document.createElement("span");mxUtils.write(g,mxResources.get("to"));n.appendChild(g);var w=k.cloneNode(!0);n.appendChild(w);mxEvent.addListener(k,"focus",function(){u.checked=!0});mxEvent.addListener(w,"focus",function(){u.checked=!0});mxEvent.addListener(k,"change",b);mxEvent.addListener(w,"change",b);if(null!=a.pages&&(h=a.pages.length,null!=a.currentPage))for(g=0;g<a.pages.length;g++)if(a.currentPage==a.pages[g]){m=g+
-1;k.value=m;w.value=m;break}k.setAttribute("max",h);w.setAttribute("max",h);1<h&&e.appendChild(n);var l=document.createElement("div");l.style.marginBottom="10px";var q=document.createElement("input");q.style.marginRight="8px";q.setAttribute("value","adjust");q.setAttribute("type","radio");q.setAttribute("name","printZoom");l.appendChild(q);g=document.createElement("span");mxUtils.write(g,mxResources.get("adjustTo"));l.appendChild(g);var p=document.createElement("input");p.style.cssText="margin:0 8px 0 8px;";
-p.setAttribute("value","100 %");p.style.width="50px";l.appendChild(p);mxEvent.addListener(p,"focus",function(){q.checked=!0});e.appendChild(l);var n=n.cloneNode(!1),v=q.cloneNode(!0);v.setAttribute("value","fit");q.setAttribute("checked","checked");g=document.createElement("div");g.style.cssText="display:inline-block;height:100%;vertical-align:top;padding-top:2px;";g.appendChild(v);n.appendChild(g);l=document.createElement("table");l.style.display="inline-block";var Q=document.createElement("tbody"),
-S=document.createElement("tr"),K=S.cloneNode(!0),H=document.createElement("td"),V=H.cloneNode(!0),L=H.cloneNode(!0),O=H.cloneNode(!0),X=H.cloneNode(!0),A=H.cloneNode(!0);H.style.textAlign="right";O.style.textAlign="right";mxUtils.write(H,mxResources.get("fitTo"));var W=document.createElement("input");W.style.cssText="margin:0 8px 0 8px;";W.setAttribute("value","1");W.setAttribute("min","1");W.setAttribute("type","number");W.style.width="40px";V.appendChild(W);g=document.createElement("span");mxUtils.write(g,
-mxResources.get("fitToSheetsAcross"));L.appendChild(g);mxUtils.write(O,mxResources.get("fitToBy"));var P=W.cloneNode(!0);X.appendChild(P);mxEvent.addListener(W,"focus",function(){v.checked=!0});mxEvent.addListener(P,"focus",function(){v.checked=!0});g=document.createElement("span");mxUtils.write(g,mxResources.get("fitToSheetsDown"));A.appendChild(g);S.appendChild(H);S.appendChild(V);S.appendChild(L);K.appendChild(O);K.appendChild(X);K.appendChild(A);Q.appendChild(S);Q.appendChild(K);l.appendChild(Q);
-n.appendChild(l);e.appendChild(n);n=document.createElement("div");g=document.createElement("div");g.style.fontWeight="bold";g.style.marginBottom="12px";mxUtils.write(g,mxResources.get("paperSize"));n.appendChild(g);g=document.createElement("div");g.style.marginBottom="12px";var da=PageSetupDialog.addPageFormatPanel(g,"printdialog",a.editor.graph.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT);n.appendChild(g);g=document.createElement("span");mxUtils.write(g,mxResources.get("pageScale"));n.appendChild(g);
-var T=document.createElement("input");T.style.cssText="margin:0 8px 0 8px;";T.setAttribute("value","100 %");T.style.width="60px";n.appendChild(T);e.appendChild(n);g=document.createElement("div");g.style.cssText="text-align:right;margin:62px 0 0 0;";n=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});n.className="geBtn";a.editor.cancelFirst&&g.appendChild(n);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(n);e.appendChild(g);this.container=e};var m=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)):(m.apply(this,arguments),null!=this.mathEnabled&&
+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 h=mxMarker.createMarker;mxMarker.createMarker=function(a,d,b,c,f,g,e,m,n,r){if(null!=b&&null==mxMarker.markers[b]){var u=this.getPackageForType(b);
+null!=u&&mxStencilRegistry.getStencil(u)}return h.apply(this,arguments)};PrintDialog.prototype.create=function(a,d){function b(){w.value=Math.max(1,Math.min(h,Math.max(parseInt(w.value),parseInt(k.value))));k.value=Math.max(1,Math.min(h,Math.min(parseInt(w.value),parseInt(k.value))))}function c(d){function b(d,b,f){var g=d.getGraphBounds(),e=0,h=0,m=da.get(),n=1/d.pageScale,r=v.checked;if(r)var n=parseInt(W.value),t=parseInt(P.value),n=Math.min(m.height*t/(g.height/d.view.scale),m.width*n/(g.width/
+d.view.scale));else n=parseInt(p.value)/(100*d.pageScale),isNaN(n)&&(c=1/d.pageScale,p.value="100 %");m=mxRectangle.fromRectangle(m);m.width=Math.ceil(m.width*c);m.height=Math.ceil(m.height*c);n*=c;!r&&d.pageVisible?(g=d.getPageLayout(),e-=g.x*m.width,h-=g.y*m.height):r=!0;if(null==b){b=PrintDialog.createPrintPreview(d,n,m,0,e,h,r);b.pageSelector=!1;b.mathEnabled=!1;d=a.getCurrentFile();null!=d&&(b.title=d.getTitle());var u=b.writeHead;b.writeHead=function(d){u.apply(this,arguments);null!=a.editor.fontCss&&
+(d.writeln('<style type="text/css">'),d.writeln(a.editor.fontCss),d.writeln("</style>"))};if("undefined"!==typeof MathJax){var k=b.renderPage;b.renderPage=function(a,d,b,c,f,g){var e=k.apply(this,arguments);this.graph.mathEnabled?this.mathEnabled=!0:e.className="geDisableMathJax";return e}}b.open(null,null,f,!0)}else{m=d.background;if(null==m||""==m||m==mxConstants.NONE)m="#ffffff";b.backgroundColor=m;b.autoOrigin=r;b.appendGraph(d,n,e,h,f,!0)}return b}var c=parseInt(T.value)/100;isNaN(c)&&(c=1,T.value=
+"100 %");var c=.75*c,g=k.value,e=w.value,h=!r.checked,n=null;h&&(h=g==m&&e==m);if(!h&&null!=a.pages&&a.pages.length){var t=0,h=a.pages.length-1;r.checked||(t=parseInt(g)-1,h=parseInt(e)-1);for(var u=t;u<=h;u++){var l=a.pages[u],g=l==a.currentPage?f:null;if(null==g){var g=a.createTemporaryGraph(f.getStylesheet()),e=!0,t=!1,x=null,z=null;null==l.viewState&&null==l.mapping&&null==l.root&&a.updatePageRoot(l);null!=l.viewState?(e=l.viewState.pageVisible,t=l.viewState.mathEnabled,x=l.viewState.background,
+z=l.viewState.backgroundImage):null!=l.mapping&&null!=l.mapping.diagramMap&&(t="0"!=l.mapping.diagramMap.get("mathEnabled"),x=l.mapping.diagramMap.get("background"),z=l.mapping.diagramMap.get("backgroundImage"),z=null!=z&&0<z.length?JSON.parse(z):null);g.background=x;g.backgroundImage=null!=z?new mxImage(z.src,z.width,z.height):null;g.pageVisible=e;g.mathEnabled=t;var q=g.getGlobalVariable;g.getGlobalVariable=function(a){return"page"==a?l.getName():"pagenumber"==a?u+1:q.apply(this,arguments)};document.body.appendChild(g.container);
+a.updatePageRoot(l);g.model.setRoot(l.root)}n=b(g,n,u!=h);g!=f&&g.container.parentNode.removeChild(g.container)}}else n=b(f);n.mathEnabled&&(h=n.wnd.document,h.writeln('<script type="text/x-mathjax-config">'),h.writeln("MathJax.Hub.Config({"),h.writeln('messageStyle: "none",'),h.writeln('jax: ["input/TeX", "input/MathML", "input/AsciiMath", "output/HTML-CSS"],'),h.writeln('extensions: ["tex2jax.js", "mml2jax.js", "asciimath2jax.js"],'),h.writeln('"HTML-CSS": {'),h.writeln("imageFont: null"),h.writeln("},"),
+h.writeln("TeX: {"),h.writeln('extensions: ["AMSmath.js", "AMSsymbols.js", "noErrors.js", "noUndefined.js"]'),h.writeln("},"),h.writeln("tex2jax: {"),h.writeln('\tignoreClass: "geDisableMathJax"'),h.writeln("},"),h.writeln("asciimath2jax: {"),h.writeln('\tignoreClass: "geDisableMathJax"'),h.writeln("}"),h.writeln("});"),d&&(h.writeln("MathJax.Hub.Queue(function () {"),h.writeln("window.print();"),h.writeln("});")),h.writeln("\x3c/script>"),h.writeln('<script type="text/javascript" src="https://math.draw.io/current/MathJax.js">\x3c/script>'));
+n.closeDocument();!n.mathEnabled&&d&&PrintDialog.printPreview(n)}var f=a.editor.graph,g=document.createElement("div"),e=document.createElement("h3");e.style.width="100%";e.style.textAlign="center";e.style.marginTop="0px";mxUtils.write(e,d||mxResources.get("print"));g.appendChild(e);var h=1,m=1,n=document.createElement("div");n.style.cssText="border-bottom:1px solid lightGray;padding-bottom:12px;margin-bottom:12px;";var r=document.createElement("input");r.style.cssText="margin-right:8px;margin-bottom:8px;";
+r.setAttribute("value","all");r.setAttribute("type","radio");r.setAttribute("name","pages-printdialog");n.appendChild(r);e=document.createElement("span");mxUtils.write(e,mxResources.get("printAllPages"));n.appendChild(e);mxUtils.br(n);var u=r.cloneNode(!0);r.setAttribute("checked","checked");u.setAttribute("value","range");n.appendChild(u);e=document.createElement("span");mxUtils.write(e,mxResources.get("pages")+":");n.appendChild(e);var k=document.createElement("input");k.style.cssText="margin:0 8px 0 8px;";
+k.setAttribute("value","1");k.setAttribute("type","number");k.setAttribute("min","1");k.style.width="50px";n.appendChild(k);e=document.createElement("span");mxUtils.write(e,mxResources.get("to"));n.appendChild(e);var w=k.cloneNode(!0);n.appendChild(w);mxEvent.addListener(k,"focus",function(){u.checked=!0});mxEvent.addListener(w,"focus",function(){u.checked=!0});mxEvent.addListener(k,"change",b);mxEvent.addListener(w,"change",b);if(null!=a.pages&&(h=a.pages.length,null!=a.currentPage))for(e=0;e<a.pages.length;e++)if(a.currentPage==
+a.pages[e]){m=e+1;k.value=m;w.value=m;break}k.setAttribute("max",h);w.setAttribute("max",h);1<h&&g.appendChild(n);var l=document.createElement("div");l.style.marginBottom="10px";var q=document.createElement("input");q.style.marginRight="8px";q.setAttribute("value","adjust");q.setAttribute("type","radio");q.setAttribute("name","printZoom");l.appendChild(q);e=document.createElement("span");mxUtils.write(e,mxResources.get("adjustTo"));l.appendChild(e);var p=document.createElement("input");p.style.cssText=
+"margin:0 8px 0 8px;";p.setAttribute("value","100 %");p.style.width="50px";l.appendChild(p);mxEvent.addListener(p,"focus",function(){q.checked=!0});g.appendChild(l);var n=n.cloneNode(!1),v=q.cloneNode(!0);v.setAttribute("value","fit");q.setAttribute("checked","checked");e=document.createElement("div");e.style.cssText="display:inline-block;height:100%;vertical-align:top;padding-top:2px;";e.appendChild(v);n.appendChild(e);l=document.createElement("table");l.style.display="inline-block";var Q=document.createElement("tbody"),
+S=document.createElement("tr"),K=S.cloneNode(!0),H=document.createElement("td"),V=H.cloneNode(!0),L=H.cloneNode(!0),O=H.cloneNode(!0),X=H.cloneNode(!0),A=H.cloneNode(!0);H.style.textAlign="right";O.style.textAlign="right";mxUtils.write(H,mxResources.get("fitTo"));var W=document.createElement("input");W.style.cssText="margin:0 8px 0 8px;";W.setAttribute("value","1");W.setAttribute("min","1");W.setAttribute("type","number");W.style.width="40px";V.appendChild(W);e=document.createElement("span");mxUtils.write(e,
+mxResources.get("fitToSheetsAcross"));L.appendChild(e);mxUtils.write(O,mxResources.get("fitToBy"));var P=W.cloneNode(!0);X.appendChild(P);mxEvent.addListener(W,"focus",function(){v.checked=!0});mxEvent.addListener(P,"focus",function(){v.checked=!0});e=document.createElement("span");mxUtils.write(e,mxResources.get("fitToSheetsDown"));A.appendChild(e);S.appendChild(H);S.appendChild(V);S.appendChild(L);K.appendChild(O);K.appendChild(X);K.appendChild(A);Q.appendChild(S);Q.appendChild(K);l.appendChild(Q);
+n.appendChild(l);g.appendChild(n);n=document.createElement("div");e=document.createElement("div");e.style.fontWeight="bold";e.style.marginBottom="12px";mxUtils.write(e,mxResources.get("paperSize"));n.appendChild(e);e=document.createElement("div");e.style.marginBottom="12px";var da=PageSetupDialog.addPageFormatPanel(e,"printdialog",a.editor.graph.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT);n.appendChild(e);e=document.createElement("span");mxUtils.write(e,mxResources.get("pageScale"));n.appendChild(e);
+var T=document.createElement("input");T.style.cssText="margin:0 8px 0 8px;";T.setAttribute("value","100 %");T.style.width="60px";n.appendChild(T);g.appendChild(n);e=document.createElement("div");e.style.cssText="text-align:right;margin:62px 0 0 0;";n=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});n.className="geBtn";a.editor.cancelFirst&&e.appendChild(n);a.isOffline()||(l=mxUtils.button(mxResources.get("help"),function(){f.openLink("https://desk.draw.io/support/solutions/articles/16000048947")}),
+l.className="geBtn",e.appendChild(l));PrintDialog.previewEnabled&&(l=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();c(!1)}),l.className="geBtn",e.appendChild(l));l=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();c(!0)});l.className="geBtn gePrimaryBtn";e.appendChild(l);a.editor.cancelFirst||e.appendChild(n);g.appendChild(e);this.container=g};var n=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)):(n.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))}})();
(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;EditorUi.enableLogging=/.*\.draw\.io$/.test(window.location.hostname);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.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.sidebarFooterHeight=36;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;";
@@ -2711,19 +2711,19 @@ EditorUi.prototype.svgBrokenImage=Graph.createSvgImage(10,10,'<rect x="0" y="0"
b.toDataURL("image/png");EditorUi.prototype.useCanvasForExport=null!=a&&6<a.length}catch(h){}};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(r){}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(r){}})();EditorUi.prototype.openLink=function(a,b){return this.editor.graph.openLink(a,b)};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);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()};EditorUi.prototype.isOfflineApp=function(){return"1"==urlParams.offline};EditorUi.prototype.isOffline=function(){return this.isOfflineApp()||!navigator.onLine||"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,e){var g=!1;this.active||(f.call(this,c),this.active=!0,null!=e&&(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"),g.innerHTML=e+"...",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,e)}));this.stop();return a}),g=!0);return g};var e=d.stop;d.stop=function(){e.call(this);this.active=!1;null!=d.status&&(d.status.parentNode.removeChild(d.status),d.status=null)};d.pause=function(){return function(){}};return d};EditorUi.parsePng=function(a,b,c){function d(a,
-d){var b=e;e+=d;return a.substring(b,e)}function f(a){a=d(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}var e=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 g=d(a,4);if(null!=b&&b(e-8,g,c))break;value=d(a,c);d(a,4);if("IEND"==g)break}while(c)}};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(n){}return!1};var a=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 r=mxUtils.parseXml(d),h=this.editor.extractGraphModel(r.documentElement,
-null!=this.pages),b=null!=h?mxUtils.getXml(h):""}catch(m){}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))}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;
+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,g){var e=!1;this.active||(f.call(this,c),this.active=!0,null!=g&&(e=document.createElement("div"),e.style.position="absolute",e.style.whiteSpace="nowrap",e.style.background="#4B4243",e.style.color="white",e.style.fontFamily="Helvetica, Arial",e.style.fontSize=
+"9pt",e.style.padding="6px",e.style.paddingLeft="10px",e.style.paddingRight="10px",e.style.zIndex=2E9,e.style.left=Math.max(0,a)+"px",e.style.top=Math.max(0,b+70)+"px",mxUtils.setPrefixedStyle(e.style,"borderRadius","6px"),mxUtils.setPrefixedStyle(e.style,"transform","translate(-50%,-50%)"),"dark"!=uiTheme&&mxUtils.setPrefixedStyle(e.style,"boxShadow","2px 2px 3px 0px #ddd"),e.innerHTML=g+"...",c.appendChild(e),d.status=e,mxClient.IS_VML&&(null==document.documentMode||8>=document.documentMode)&&(e.style.left=
+Math.round(Math.max(0,a-e.offsetWidth/2))+"px",e.style.top=Math.round(Math.max(0,b+70-e.offsetHeight/2))+"px")),this.pause=mxUtils.bind(this,function(){var a=function(){};this.active&&(a=mxUtils.bind(this,function(){this.spin(c,g)}));this.stop();return a}),e=!0);return e};var g=d.stop;d.stop=function(){g.call(this);this.active=!1;null!=d.status&&(d.status.parentNode.removeChild(d.status),d.status=null)};d.pause=function(){return function(){}};return d};EditorUi.parsePng=function(a,b,c){function d(a,
+d){var b=g;g+=d;return a.substring(b,g)}function f(a){a=d(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}var g=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(g-8,e,c))break;value=d(a,c);d(a,4);if("IEND"==e)break}while(c)}};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(m){}return!1};var a=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 r=mxUtils.parseXml(d),h=this.editor.extractGraphModel(r.documentElement,
+null!=this.pages),b=null!=h?mxUtils.getXml(h):""}catch(n){}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))}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 h=this.updatePageRoot(new DiagramPage(c[e]));null==h.getName()&&h.setName(mxResources.get("pageWithNumber",[e+1]));d.model.execute(new ChangePage(this,h,0==e?h: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,r,h,m,u,k,t){b=null!=b?b:this.editor.graph;r=null!=r?r:!1;k=null!=k?k:!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 g=a;if("mxfile"!=g.nodeName.toLowerCase()){var n=b.zapGremlins(mxUtils.getXml(a)),g=b.compress(n);if(b.decompress(g)!=n)return n;n=a.ownerDocument.createElement("diagram");mxUtils.setTextContent(n,g);g=a.ownerDocument.createElement("mxfile");g.appendChild(n)}t?(g=g.cloneNode(!0),g.removeAttribute("userAgent"),
-g.removeAttribute("version"),g.removeAttribute("editor"),g.removeAttribute("type")):(g.setAttribute("userAgent",navigator.userAgent),g.setAttribute("version",EditorUi.VERSION),g.setAttribute("editor","www.draw.io"),a=null!=c?c.getMode():this.mode,null!=a&&g.setAttribute("type",a));a=mxUtils.getXml(g);if(!h&&!r&&(m||null!=c&&/(\.html)$/i.test(c.getTitle())))a=this.getHtml2(mxUtils.getXml(g),b,null!=c?c.getTitle():null,d,f);else if(h||!r&&null!=c&&/(\.svg)$/i.test(c.getTitle()))null==c||c.getMode()!=
+function(a,b,c,e,r,h,n,u,k,t){b=null!=b?b:this.editor.graph;r=null!=r?r:!1;k=null!=k?k:!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 g=a;if("mxfile"!=g.nodeName.toLowerCase()){var m=b.zapGremlins(mxUtils.getXml(a)),g=b.compress(m);if(b.decompress(g)!=m)return m;m=a.ownerDocument.createElement("diagram");mxUtils.setTextContent(m,g);g=a.ownerDocument.createElement("mxfile");g.appendChild(m)}t?(g=g.cloneNode(!0),g.removeAttribute("userAgent"),
+g.removeAttribute("version"),g.removeAttribute("editor"),g.removeAttribute("type")):(g.setAttribute("userAgent",navigator.userAgent),g.setAttribute("version",EditorUi.VERSION),g.setAttribute("editor","www.draw.io"),a=null!=c?c.getMode():this.mode,null!=a&&g.setAttribute("type",a));a=mxUtils.getXml(g);if(!h&&!r&&(n||null!=c&&/(\.html)$/i.test(c.getTitle())))a=this.getHtml2(mxUtils.getXml(g),b,null!=c?c.getTitle():null,d,f);else if(h||!r&&null!=c&&/(\.svg)$/i.test(c.getTitle()))null==c||c.getMode()!=
App.MODE_DEVICE&&c.getMode()!=App.MODE_BROWSER||(e=null),a=this.getEmbeddedSvg(a,b,e,null,u,k,f);return a};EditorUi.prototype.getXmlFileData=function(a,b){a=null!=a?a:!0;b=null!=b?b:!1;var d=this.editor.getGraphXml(a);if(a&&null!=this.fileNode&&null!=this.currentPage){var c=this.editor.graph.compress(this.editor.graph.zapGremlins(mxUtils.getXml(d)));mxUtils.setTextContent(this.currentPage.node,c);d=this.fileNode.cloneNode(!1);if(b)d.appendChild(this.currentPage.node);else for(var f=0;f<this.pages.length;f++){var e=
-this.pages[f].mapping;this.currentPage!=this.pages[f]&&null!=e&&e.needsUpdate&&(c=(new mxCodec(mxUtils.createXmlDocument())).encode(e.graphModel),e.writeRealtimeToNode(c),c=this.editor.graph.compress(this.editor.graph.zapGremlins(mxUtils.getXml(c))),mxUtils.setTextContent(this.pages[f].node,c),e.needsUpdate=!1);d.appendChild(this.pages[f].node)}}return d};EditorUi.prototype.getFileData=function(a,b,c,e,r,h,m,u,k){r=null!=r?r:!0;m=null!=m?m:this.getXmlFileData(r,null!=h?h:!1);k=null!=k?k:this.getCurrentFile();
-h=this.editor.graph;if(null!=this.pages&&this.currentPage!=this.pages[0]&&(b||!a&&null!=k&&/(\.svg)$/i.test(k.getTitle()))){h=this.createTemporaryGraph(h.getStylesheet());var d=h.getGlobalVariable,f=this.pages[0];h.getGlobalVariable=function(a){return"page"==a?f.getName():"pagenumber"==a?1:d.apply(this,arguments)};document.body.appendChild(h.container);h.model.setRoot(f.root)}a=this.createFileData(m,h,k,window.location.href,a,b,c,e,r,u);h!=this.editor.graph&&h.container.parentNode.removeChild(h.container);
+this.pages[f].mapping;this.currentPage!=this.pages[f]&&null!=e&&e.needsUpdate&&(c=(new mxCodec(mxUtils.createXmlDocument())).encode(e.graphModel),e.writeRealtimeToNode(c),c=this.editor.graph.compress(this.editor.graph.zapGremlins(mxUtils.getXml(c))),mxUtils.setTextContent(this.pages[f].node,c),e.needsUpdate=!1);d.appendChild(this.pages[f].node)}}return d};EditorUi.prototype.getFileData=function(a,b,c,e,r,h,n,u,k){r=null!=r?r:!0;n=null!=n?n:this.getXmlFileData(r,null!=h?h:!1);k=null!=k?k:this.getCurrentFile();
+h=this.editor.graph;if(null!=this.pages&&this.currentPage!=this.pages[0]&&(b||!a&&null!=k&&/(\.svg)$/i.test(k.getTitle()))){h=this.createTemporaryGraph(h.getStylesheet());var d=h.getGlobalVariable,f=this.pages[0];h.getGlobalVariable=function(a){return"page"==a?f.getName():"pagenumber"==a?1:d.apply(this,arguments)};document.body.appendChild(h.container);h.model.setRoot(f.root)}a=this.createFileData(n,h,k,window.location.href,a,b,c,e,r,u);h!=this.editor.graph&&h.container.parentNode.removeChild(h.container);
return a};EditorUi.prototype.getHtml=function(a,b,c,e,r,h){h=null!=h?h:!0;var d=null,f="https://www.draw.io/js/embed-static.min.js";if(null!=b){var d=h?b.getGraphBounds():b.getBoundingBox(b.getSelectionCells()),g=b.view.scale;h=Math.floor(d.x/g-b.view.translate.x);g=Math.floor(d.y/g-b.view.translate.y);d=b.background;null==r&&(b=this.getBasenames().join(";"),0<b.length&&(f="https://www.draw.io/embed.js?s="+b));a.setAttribute("x0",h);a.setAttribute("y0",g)}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!=r&&(r=r.replace(/&/g,"&amp;"));a=null!=a?this.editor.graph.zapGremlins(mxUtils.getXml(a)):"";e=this.editor.graph.compress(a);this.editor.graph.decompress(e)!=a&&(e=encodeURIComponent(a));return(null==r?'\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n':"")+"<!DOCTYPE html>\n<html"+(null!=r?' xmlns="http://www.w3.org/1999/xhtml">':
">")+"\n<head>\n"+(null==r?null!=c?"<title>"+mxUtils.htmlEntities(c)+"</title>\n":"":"<title>Draw.io Diagram</title>\n")+(null!=r?'<meta http-equiv="refresh" content="0;URL=\''+r+"'\"/>\n":"")+"</head>\n<body"+(null==r&&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==r?'<script type="text/javascript" src="'+f+'">\x3c/script>':
@@ -2731,265 +2731,265 @@ return a};EditorUi.prototype.getHtml=function(a,b,c,e,r,h){h=null!=h?h:!0;var d=
this.currentPage));return(null==r?'\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n':"")+"<!DOCTYPE html>\n<html"+(null!=r?' xmlns="http://www.w3.org/1999/xhtml">':">")+"\n<head>\n"+(null==r?null!=c?"<title>"+mxUtils.htmlEntities(c)+"</title>\n":"":"<title>Draw.io Diagram</title>\n")+(null!=r?'<meta http-equiv="refresh" content="0;URL=\''+r+"'\"/>\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==r?'<script type="text/javascript" src="https://www.draw.io/js/viewer.min.js">\x3c/script>':'<a style="position:absolute;top:50%;left:50%;margin-top:-128px;margin-left:-64px;" href="'+r+'" target="_blank"><img border="0" src="https://www.draw.io/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;var d=null!=a&&0<a.length?
mxUtils.parseXml(a).documentElement:null;a=null!=d?this.editor.extractGraphModel(d,!0):null;null!=a&&(d=a);if(null!=d&&"mxfile"==d.nodeName&&(a=d.getElementsByTagName("diagram"),"0"!=urlParams.pages||1<a.length||1==a.length&&a[0].hasAttribute("name"))){this.fileNode=d;this.pages=[];for(d=0;d<a.length;d++){var b=new DiagramPage(a[d]);null==b.getName()&&b.setName(mxResources.get("pageWithNumber",[d+1]));this.pages.push(b)}this.currentPage=this.pages[Math.max(0,Math.min(this.pages.length-1,urlParams.page||
-0))];d=this.currentPage.node}"0"!=urlParams.pages&&null==this.fileNode&&null!=d&&(this.fileNode=d.ownerDocument.createElement("mxfile"),this.currentPage=new DiagramPage(d.ownerDocument.createElement("diagram")),this.currentPage.setName(mxResources.get("pageWithNumber",[1])),this.pages=[this.currentPage]);this.editor.setGraphXml(d);null!=this.currentPage&&(this.currentPage.root=this.editor.graph.model.root)};EditorUi.prototype.getBaseFilename=function(){var a=this.getCurrentFile(),a=null!=a&&null!=
-a.getTitle()?a.getTitle():this.defaultFilename;if(/(\.xml)$/i.test(a)||/(\.html)$/i.test(a)||/(\.svg)$/i.test(a)||/(\.png)$/i.test(a))a=a.substring(0,a.lastIndexOf("."));return a};EditorUi.prototype.downloadFile=function(a,b,c,e,r,h,m){try{e=null!=e?e:this.editor.graph.isSelectionEmpty();var d=this.getBaseFilename(),f=d+"."+a;if("xml"==a){var g='<?xml version="1.0" encoding="UTF-8"?>\n'+(b?mxUtils.getXml(this.editor.getGraphXml(e)):this.getFileData(!0,null,null,null,e,r));this.saveData(f,a,g,"text/xml")}else if("html"==
-a)g=this.getHtml2(this.getFileData(!0),this.editor.graph,d),this.saveData(f,a,g,"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!=h&&(this.editor.graph.pageVisible=h);var f=this.createDownloadRequest(d,a,e,b,m);this.editor.graph.pageVisible=c;return f}catch(z){this.handleError(z)}}));else{var n=null,
-k=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(n)}))});if("svg"==a){var l=this.editor.graph.background;if(m||l==mxConstants.NONE)l=null;var q=this.editor.graph.getSvg(l,null,null,null,null,e);c&&this.editor.graph.addSvgShadow(q);this.convertImages(q,mxUtils.bind(this,mxUtils.bind(this,function(a){this.spinner.stop();
-k('<?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",n=this.getFileData(!1,!0,null,mxUtils.bind(this,function(a){this.spinner.stop();k(a)}),e)}}catch(B){this.handleError(B)}};EditorUi.prototype.createDownloadRequest=function(a,b,c,e,r){var d=this.editor.graph.getGraphBounds();c=this.getFileData(!0,null,null,null,c,"xmlpng"!=b);var f="";if(d.width*d.height>MAX_AREA||c.length>
-MAX_REQUEST_SIZE)throw{message:mxResources.get("drawingTooLarge")};d="0";if("xmlpng"==b&&(d="1",b="png",null!=this.pages&&null!=this.currentPage))for(var g=0;g<this.pages.length;g++)if(this.pages[g]==this.currentPage){f="&from="+g;break}g=this.editor.graph.background;"png"==b&&r&&(g=mxConstants.NONE);return new mxXmlRequest(EXPORT_URL,"format="+b+f+"&bg="+(null!=g?g:mxConstants.NONE)+"&base64="+e+"&embedXml="+d+"&xml="+encodeURIComponent(c)+(null!=a?"&filename="+encodeURIComponent(a):""))};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 e=null!=a.interval?parseInt(a.interval):6E4,g=null,h=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()),m()):this.handleError({message:mxResources.get("error")+" "+a.getStatus()}))}),mxUtils.bind(this,function(a){this.handleError(a)}))}),
-m=mxUtils.bind(this,function(){window.clearTimeout(g);g=window.setTimeout(h,e)});this.editor.addListener("pageSelected",mxUtils.bind(this,function(){m();h()}));m();h()}null!=b&&b()});if(null!=a.url){var e=a.url;/^https?:\/\//.test(e)&&!this.isCorsEnabledForUrl(e)&&(e=PROXY_URL+"?url="+encodeURIComponent(a.url));this.loadUrl(e,mxUtils.bind(this,function(a){f(a)}),mxUtils.bind(this,function(a){null!=c&&c(a)}))}else f(a.data)};EditorUi.prototype.updateDiagram=function(a){function d(a){var d=new mxCellOverlay(a.image||
-c.warningImage,a.tooltip,a.align,a.valign,a.offset);d.addListener(mxEvent.CLICK,function(d,b){editorUi.alert(a.tooltip)});return d}var b=null;if(null!=a&&0<a.length&&(b=mxUtils.parseXml(a),a=null!=b?b.documentElement:null,null!=a&&"updates"==a.nodeName)){var c=this.editor.graph,e=c.getModel();e.beginUpdate();var h=null;try{for(a=a.firstChild;null!=a;){if("update"==a.nodeName){var m=e.getCell(a.getAttribute("id"));if(null!=m){try{var k=a.getAttribute("value");if(null!=k){var l=mxUtils.parseXml(k).documentElement;
-if(null!=l)if("1"==l.getAttribute("replace-value"))e.setValue(m,l);else for(var t=l.attributes,x=0;x<t.length;x++)c.setAttributeForCell(m,t[x].nodeName,0<t[x].nodeValue.length?t[x].nodeValue:null)}}catch(z){null!=window.console&&console.log("Error in value for "+m.id+": "+z)}try{var q=a.getAttribute("style");null!=q&&c.model.setStyle(m,q)}catch(z){null!=window.console&&console.log("Error in style for "+m.id+": "+z)}try{var p=a.getAttribute("icon");if(null!=p){var v=0<p.length?JSON.parse(p):null;null!=
-v&&v.append||c.removeCellOverlays(m);null!=v&&c.addCellOverlay(m,d(v))}}catch(z){null!=window.console&&console.log("Error in icon for "+m.id+": "+z)}try{var B=a.getAttribute("geometry");if(null!=B){var B=JSON.parse(B),y=c.getCellGeometry(m);if(null!=y){y=y.clone();for(key in B){var C=parseFloat(B[key]);"dx"==key?y.x+=C:"dy"==key?y.y+=C:"dw"==key?y.width+=C:"dh"==key?y.height+=C:y[key]=parseFloat(B[key])}c.model.setGeometry(m,y)}}}catch(z){null!=window.console&&console.log("Error in icon for "+m.id+
-": "+z)}}}else if("model"==a.nodeName){for(var I=a.firstChild;null!=I&&I.nodeType!=mxConstants.NODETYPE_ELEMENT;)I=I.nextSibling;null!=I&&(new mxCodec(a.firstChild)).decode(I,e)}else if("view"==a.nodeName){if(a.hasAttribute("scale")&&(c.view.scale=parseFloat(a.getAttribute("scale"))),a.hasAttribute("dx")||a.hasAttribute("dy"))c.view.translate=new mxPoint(parseFloat(a.getAttribute("dx")||0),parseFloat(a.getAttribute("dy")||0))}else"fit"==a.nodeName&&(h=a.hasAttribute("max-scale")?parseFloat(a.getAttribute("max-scale")):
-1);a=a.nextSibling}}finally{e.endUpdate()}null!=h&&this.chromelessResize&&this.chromelessResize(!0,h)}return b};EditorUi.prototype.fileLoaded=function(a){var d=!1;this.hideDialog();var b=this.getCurrentFile();this.setCurrentFile(null);null!=b&&(b.removeListener(this.descriptorChangedListener),b.close());this.editor.graph.model.clear();this.editor.undoManager.clear();var c=mxUtils.bind(this,function(){this.setGraphEnabled(!1);this.setCurrentFile(null);null!=b&&this.updateDocumentTitle();this.editor.graph.model.clear();
-this.editor.undoManager.clear();this.setBackgroundImage(null);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.updateUi();this.showSplash()});if(null!=a)try{this.setCurrentFile(a);a.addListener("descriptorChanged",this.descriptorChangedListener);a.addListener("contentChanged",this.descriptorChangedListener);a.open();
-this.setGraphEnabled(!0);this.setMode(a.getMode());this.editor.undoManager.clear();this.descriptorChanged();this.updateUi();null==a.realtime&&(a.isEditable()?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"));d=!0;this.isOffline()||null==a.getMode()||this.logEvent({category:"File",action:"open",label:a.getMode()});if(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(r){}try{mxSettings.setOpenCounter(mxSettings.getOpenCounter()+1),mxSettings.save()}catch(r){}}catch(r){null!=
-window.console&&console.log("error in fileLoaded:",a,r);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!=r&&null!=r.message?":err:"+encodeURIComponent(r.message):"")+(null!=r&&null!=r.stack?"&stack="+encodeURIComponent(r.stack):"")}catch(h){}this.handleError(r,mxResources.get("errorLoadingFile"),mxUtils.bind(this,
-function(){null!=urlParams.url&&this.spinner.spin(document.body,mxResources.get("reconnecting"))?window.location.search=this.getSearch(["url"]):null!=b?b.constructor==DriveFile?this.loadFile(b.getHash()):this.fileLoaded(b):c()}))}else c();return d};EditorUi.prototype.descriptorChanged=function(){};EditorUi.prototype.logEvent=function(a){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(g){}};EditorUi.prototype.restoreLibraries=function(){};EditorUi.prototype.saveLibrary=function(a,b,c,e,r,h,m){};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,e=mxUtils.bind(this,function(d,b){if(0==d.length&&a.isEditable())null==f&&(f=document.createElement("div"),mxUtils.setPrefixedStyle(f.style,"borderRadius","6px"),f.style.border="3px dotted lightGray",f.style.textAlign="center",f.style.padding="8px",f.style.color="#B3B3B3",mxUtils.write(f,mxResources.get("dragElementsHere"))),b.appendChild(f);else for(var c=
-0;c<d.length;c++){var e=d[c],g=e.data;if(null!=g){var g=this.convertDataUri(g),h="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";"fixed"==e.aspect&&(h+="aspect=fixed;");b.appendChild(this.sidebar.createVertexTemplate(h+"image="+g,e.w,e.h,"",e.title||"",!1,!1,!0))}else null!=e.xml&&(g=this.stringToCells(this.editor.graph.decompress(e.xml)),0<g.length&&b.appendChild(this.sidebar.createVertexTemplateFromCells(g,e.w,e.h,e.title||"",!0,!1,!0)))}});if(null!=this.sidebar&&null!=
-b)for(var g=0;g<b.length;g++)mxUtils.bind(this,function(a){var d=a.data;null!=d&&null!=a.title?this.sidebar.addEntry(a.title,mxUtils.bind(this,function(){d=this.convertDataUri(d);var b="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";"fixed"==a.aspect&&(b+="aspect=fixed;");return this.sidebar.createVertexTemplate(b+"image="+d,a.w,a.h,"",a.title||"",!1,!1,!0)})):null!=a.xml&&null!=a.title&&this.sidebar.addEntry(a.title,mxUtils.bind(this,function(){var d=this.stringToCells(this.editor.graph.decompress(a.xml));
-return this.sidebar.createVertexTemplateFromCells(d,a.w,a.h,a.title||"",!0,!1,!0)}))})(b[g]);c=null!=c&&0<c.length?c:a.getTitle();var k=this.sidebar.addPalette(a.getHash(),c,!0,mxUtils.bind(this,function(a){e(b,a)}));this.repositionLibrary(d);var l=k.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 x=document.createElement("img");x.setAttribute("src",Dialog.prototype.closeImage);x.setAttribute("title",mxResources.get("close"));x.setAttribute("valign","absmiddle");x.setAttribute("border","0");x.style.margin="0 3px";var q=null;if(".scratchpad"!=a.title||this.closableScratchpad)t.appendChild(x),mxEvent.addListener(x,"click",mxUtils.bind(this,function(d){if(!mxEvent.isConsumed(d)){var b=
-mxUtils.bind(this,function(){this.closeLibrary(a)});null!=q?this.confirm(mxResources.get("allChangesLost"),null,b,mxResources.get("cancel"),mxResources.get("discardChanges")):b();mxEvent.consume(d)}}));if(a.isEditable()){var p=this.editor.graph,v=null,B=mxUtils.bind(this,function(d){this.showLibraryDialog(a.getTitle(),k,b,a,a.getMode());mxEvent.consume(d)}),y=mxUtils.bind(this,function(d){a.setModified(!0);a.isAutosave()?(null!=v&&null!=v.parentNode&&v.parentNode.removeChild(v),v=x.cloneNode(!1),
-v.setAttribute("src",Editor.spinImage),v.setAttribute("title",mxResources.get("saving")),v.style.cursor="default",v.style.marginRight="2px",v.style.marginTop="-2px",t.insertBefore(v,t.firstChild),l.style.paddingRight=18*t.childNodes.length+"px",this.saveLibrary(a.getTitle(),b,a,a.getMode(),!0,!0,function(){null!=v&&null!=v.parentNode&&(v.parentNode.removeChild(v),l.style.paddingRight=18*t.childNodes.length+"px")})):null==q&&(q=x.cloneNode(!1),q.setAttribute("src",IMAGE_PATH+"/download.png"),q.setAttribute("title",
-mxResources.get("save")),t.insertBefore(q,t.firstChild),mxEvent.addListener(q,"click",mxUtils.bind(this,function(d){this.saveLibrary(a.getTitle(),b,a,a.getMode(),a.constructor==LocalLibrary,!0,function(){null==q||a.isModified()||(l.style.paddingRight=18*t.childNodes.length+"px",q.parentNode.removeChild(q),q=null)});mxEvent.consume(d)})),l.style.paddingRight=18*t.childNodes.length+"px")}),C=mxUtils.bind(this,function(a,d,c,e){a=p.cloneCells(mxUtils.sortCells(p.model.getTopmostCells(a)));for(var g=
-0;g<a.length;g++){var h=p.getCellGeometry(a[g]);null!=h&&h.translate(-d.x,-d.y)}k.appendChild(this.sidebar.createVertexTemplateFromCells(a,d.width,d.height,e||"",!0,!1,!1));a={xml:this.editor.graph.compress(mxUtils.getXml(this.editor.graph.encodeCells(a))),w:d.width,h:d.height};null!=e&&(a.title=e);b.push(a);y(c);null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null)}),I=mxUtils.bind(this,function(a){if(p.isSelectionEmpty())p.getRubberband().isActive()?(p.getRubberband().execute(a),
-p.getRubberband().reset()):this.showError(mxResources.get("error"),mxResources.get("nothingIsSelected"),mxResources.get("ok"));else{var d=p.getSelectionCells(),b=p.view.getBounds(d),c=p.view.scale;b.x/=c;b.y/=c;b.width/=c;b.height/=c;b.x-=p.view.translate.x;b.y-=p.view.translate.y;C(d,b)}mxEvent.consume(a)});k.style.border="3px solid transparent";mxEvent.addGestureListeners(k,function(){},mxUtils.bind(this,function(a){p.isMouseDown&&null!=p.panningManager&&null!=p.graphHandler.shape&&(p.graphHandler.shape.node.style.visibility=
-"hidden",null!=f?f.style.border="3px dotted rgb(254, 137, 12)":k.style.border="3px dotted rgb(254, 137, 12)",k.style.cursor="copy",p.panningManager.stop(),p.autoScroll=!1,null!=p.graphHandler.guide&&p.graphHandler.guide.setVisible(!1),null!=p.graphHandler.hint&&(p.graphHandler.hint.style.visibility="hidden"),mxEvent.consume(a))}),mxUtils.bind(this,function(a){p.isMouseDown&&null!=p.panningManager&&null!=p.graphHandler&&(k.style.border="3px solid transparent",null!=f&&(f.style.border="3px dotted lightGray"),
-k.style.cursor="default",this.sidebar.showTooltips=!0,p.panningManager.stop(),p.graphHandler.reset(),p.isMouseDown=!1,p.autoScroll=!0,I(a),mxEvent.consume(a))}));mxEvent.addListener(k,"mouseleave",mxUtils.bind(this,function(a){p.isMouseDown&&null!=p.graphHandler.shape&&(p.graphHandler.shape.node.style.visibility="visible",k.style.border="3px solid transparent",k.style.cursor="",p.autoScroll=!0,null!=p.graphHandler.guide&&p.graphHandler.guide.setVisible(!0),null!=p.graphHandler.hint&&(p.graphHandler.hint.style.visibility=
-"visible"),null!=f&&(f.style.border="3px dotted lightGray"))}));Graph.fileSupport&&(mxEvent.addListener(k,"dragover",mxUtils.bind(this,function(a){null!=f?f.style.border="3px dotted rgb(254, 137, 12)":k.style.border="3px dotted rgb(254, 137, 12)";a.dataTransfer.dropEffect="copy";k.style.cursor="copy";this.sidebar.hideTooltip();a.stopPropagation();a.preventDefault()})),mxEvent.addListener(k,"drop",mxUtils.bind(this,function(a){k.style.border="3px solid transparent";k.style.cursor="";null!=f&&(f.style.border=
-"3px dotted lightGray");0<a.dataTransfer.files.length&&this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,mxUtils.bind(this,function(d,c,g,h,m,n,r,t,u){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,m,n),d)],d[0].vertex=!0,C(d,new mxRectangle(0,0,m,n),a,mxEvent.isAltDown(a)?null:r.substring(0,r.lastIndexOf(".")).replace(/_/g," ")),null!=f&&null!=f.parentNode&&
-0<b.length&&(f.parentNode.removeChild(f),f=null);else{var l=!1,q=mxUtils.bind(this,function(d,c){if(null!=d&&"text/xml"==c){var g=mxUtils.parseXml(d);if("mxlibrary"==g.documentElement.nodeName)try{var h=JSON.parse(mxUtils.getTextContent(g.documentElement));e(h,k);b=b.concat(h);y(a);this.spinner.stop();l=!0}catch(T){}else if("mxfile"==g.documentElement.nodeName)try{for(var m=g.documentElement.getElementsByTagName("diagram"),g=0;g<m.length;g++){var h=mxUtils.getTextContent(m[g]),n=this.stringToCells(this.editor.graph.decompress(h)),
-r=this.editor.graph.getBoundingBoxFromGeometry(n);C(n,new mxRectangle(0,0,r.width,r.height),a)}l=!0}catch(T){null!=window.console&&console.log("error in drop handler:",T)}}l||(this.spinner.stop(),this.handleError({message:mxResources.get("errorLoadingFile")}));null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null)});null!=u&&null!=r&&(/(\.vsdx?)($|\?)/i.test(r)||/(\.vssx)($|\?)/i.test(r))?this.importVisio(u,function(a){q(a,"text/xml")},null,r):!this.isOffline()&&(new XMLHttpRequest).upload&&
-this.isRemoteFileFormat(d,r)&&null!=u?this.parseFile(u,mxUtils.bind(this,function(a){4==a.readyState&&(this.spinner.stop(),200<=a.status&&299>=a.status?q(a.responseText,"text/xml"):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge":"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))})):q(d,c)}}));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(k,"dragleave",function(a){null!=f?f.style.border="3px dotted lightGray":(k.style.border="3px solid transparent",
-k.style.cursor="");a.stopPropagation();a.preventDefault()}));x=x.cloneNode(!1);x.setAttribute("src",IMAGE_PATH+"/edit.gif");x.setAttribute("title",mxResources.get("edit"));t.insertBefore(x,t.firstChild);mxEvent.addListener(x,"click",B);mxEvent.addListener(k,"dblclick",function(a){mxEvent.getSource(a)==k&&B(a)});c=x.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"}};"1"==urlParams.offline||EditorUi.isElectronApp?EditorUi.prototype.footerHeight=
-4:("1"==urlParams.savesidebar&&(Sidebar.prototype.thumbWidth=64,Sidebar.prototype.thumbHeight=64),EditorUi.prototype.footerHeight=760<=screen.width&&240<=screen.height?46:0,EditorUi.prototype.createFooter=function(){var a=document.getElementById("geFooter");if(null!=a){a.style.visibility="visible";var b=document.createElement("img");b.setAttribute("border","0");b.setAttribute("src",Dialog.prototype.closeImage);b.setAttribute("title",mxResources.get("hide"));a.appendChild(b);mxClient.IS_QUIRKS&&(b.style.position=
-"relative",b.style.styleFloat="right",b.style.top="-30px",b.style.left="164px",b.style.cursor="pointer");mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.hideFooter()}))}return a});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,EditorUi.prototype.hsplitPosition=188,Sidebar.prototype.thumbWidth=46,Sidebar.prototype.thumbHeight=46,Sidebar.prototype.thumbPadding=5<=document.documentMode?0:1,Sidebar.prototype.thumbBorder=2):"dark"==uiTheme&&(mxClient.link("stylesheet",STYLE_PATH+"/dark.css"),Dialog.backdropColor="#2a2a2a",Graph.prototype.defaultThemeName="darkTheme",Graph.prototype.defaultPageBackgroundColor="#2a2a2a",
-Graph.prototype.defaultGraphBackground=null,Graph.prototype.defaultPageBorderColor="#505759",Graph.prototype.svgShadowColor="#e0e0e0",Graph.prototype.svgShadowOpacity="0.6",Graph.prototype.svgShadowSize="0.8",Graph.prototype.svgShadowBlur="1.4",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 d=document.getElementById("geFooter");null!=d&&(this.footerHeight=a,d.style.display="inline",this.refresh())};EditorUi.prototype.showImageDialog=function(a,b,c,e,r){a=new ImageDialog(this,a,b,c,e,r);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,r){a=new LibraryDialog(this,a,b,c,e,r);this.showDialog(a.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&&null==
-this.getCurrentFile()&&"1"!=urlParams.embed&&this.showSplash()}));a.init()};EditorUi.prototype.createSidebarFooterContainer=function(){var a=this.createDiv("geSidebarContainer");a.style.position="absolute";a.style.overflow="hidden";a.style.borderWidth="3px";var b=document.createElement("a");b.setAttribute("href","javascript:void(0);");b.className="geTitle";b.style.height="100%";b.style.paddingTop="9px";mxUtils.write(b,mxResources.get("moreShapes")+"...");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){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){a=mxUtils.htmlEntities(mxResources.get("unknownError"));var e=mxResources.get("ok"),g=null;b=null!=b?b:mxResources.get("error");if(null!=f)if(null!=f.retry&&(e=mxResources.get("cancel"),g=function(){d();f.retry()}),"undefined"!=
-typeof gapi&&"undefined"!=typeof gapi.drive&&"undefined"!=typeof gapi.drive.realtime&&f.type==gapi.drive.realtime.ErrorType.FORBIDDEN)a=mxUtils.htmlEntities(mxResources.get("forbidden"));else if(404==f.code||404==f.status||"undefined"!=typeof gapi&&"undefined"!=typeof gapi.drive&&"undefined"!=typeof gapi.drive.realtime&&f.type==gapi.drive.realtime.ErrorType.NOT_FOUND){a=mxUtils.htmlEntities(mxResources.get("fileNotFoundOrDenied"));var k=window.location.hash;null!=k&&"#G"==k.substring(0,2)&&(k=k.substring(2),
-a+=' <a href="https://drive.google.com/open?id='+k+'" target="_blank">'+mxUtils.htmlEntities(mxResources.get("tryOpeningViaThisPage"))+"</a>")}else f.code==App.ERROR_TIMEOUT?a=mxUtils.htmlEntities(mxResources.get("timeout")):f.code==App.ERROR_BUSY?a=mxUtils.htmlEntities(mxResources.get("busy")):null!=f.message?a=mxUtils.htmlEntities(f.message):null!=f.response&&null!=f.response.error&&(a=mxUtils.htmlEntities(f.response.error));this.showError(b,a,e,c,g)}else null!=c&&c()};EditorUi.prototype.showError=
-function(a,b,c,e,r,h,m,k,l,t,q,p){a=new ErrorDialog(this,a,b,c||mxResources.get("ok"),e,r,h,m,p,k,l);this.showDialog(a.container,t||340,q||150,!0,!1);a.init()};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,r){var d=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){};this.showDialog((new ConfirmDialog(this,a,function(){d();null!=
-b&&b()},function(){d();null!=c&&c()},e,r)).container,340,90,!0,!1)};EditorUi.prototype.setCurrentFile=function(a){this.currentFile=a};EditorUi.prototype.getCurrentFile=function(){return this.currentFile};EditorUi.prototype.isExportToCanvas=function(){return mxClient.IS_CHROMEAPP||!this.editor.graph.mathEnabled&&this.useCanvasForExport};EditorUi.prototype.createSvgDataUri=function(a){return"data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent(a)))};EditorUi.prototype.createImageDataUri=function(a,
-b,c){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,"zTXt","mxGraphModel",atob(this.editor.graph.compress(b))));return d};EditorUi.prototype.saveCanvas=function(a,b,c){var d="jpeg"==c?"jpg":c,f=this.getBaseFilename()+"."+d;a=this.createImageDataUri(a,b,c);this.saveData(f,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.doSaveLocalFile=function(a,b,c,e,r){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)b=new TextareaDialog(this,b+":",a,null,null,mxResources.get("close")),b.textarea.style.width="600px",b.textarea.style.height="380px",this.showDialog(b.container,620,460,!0,!0),b.init(),document.execCommand("selectall",!1,null);else{var d=document.createElement("a"),f=!mxClient.IS_SF&&"undefined"!==typeof d.download;if(mxClient.IS_GC)var g=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./),f=65==(g?parseInt(g[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(w){}}else this.createEchoRequest(a,b,c,e,r).simulate(document,"_blank")}};EditorUi.prototype.createEchoRequest=function(a,b,c,e,r,h){a="xml="+encodeURIComponent(a);return new mxXmlRequest(SAVE_URL,a+(null!=
-c?"&mime="+c:"")+(null!=r?"&format="+r:"")+(null!=h?"&base64="+h:"")+(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),m=0;m<f;++m){for(var k=1024*m,l=Math.min(k+1024,c),t=Array(l-k),q=0;k<l;++q,++k)t[q]=d[k].charCodeAt(0);e[m]=new Uint8Array(t)}return new Blob(e,{type:b})};EditorUi.prototype.saveLocalFile=function(a,b,c,e,k,h,m){h=null!=h?h:!1;m=null!=m?m:"vsdx"!=k&&
-(!mxClient.IS_IOS||!navigator.standalone);k=this.getServiceCount(h);b=new CreateDialog(this,b,mxUtils.bind(this,function(d,b){try{if("_blank"==b)if(null==c||"image/"!=c.substring(0,6)||"image/svg"==c.substring(0,9)&&!mxClient.IS_SVG){var f=window.open("about:blank");null==f?mxUtils.popup(a,!0):(f.document.write(mxUtils.htmlEntities(a,!1)),f.document.close())}else this.openInNewWindow(a,c,e);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(F){this.handleError(F)}}))}catch(x){this.handleError(x)}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,h,m,null,1<k,4<k&&(!h||6>k)?3:4,a,c,e);this.showDialog(b.container,420,k==(mxClient.IS_IOS?0:1)?160:4<k?390:270,!0,!0);b.init()};EditorUi.prototype.openInNewWindow=function(a,b,c){if(mxClient.IS_GC||mxClient.IS_EDGE||11==document.documentMode||10==document.documentMode){var d=
-window.open("about:blank");null==d?mxUtils.popup(a,!0):("image/svg+xml"==b?d.document.write("<html>"+a+"</html>"):d.document.write('<html><img src="data:'+b+(c?";base64,"+a:";charset=utf8,"+encodeURIComponent(a))+'"/></html>'),d.document.close())}else d=window.open("data:"+b+(c?";base64,"+a:";charset=utf8,"+encodeURIComponent(a))),null==d&&mxUtils.popup(a,!0)};var b=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.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"))}b.apply(this,arguments)};EditorUi.prototype.saveData=function(a,b,c,e,k){this.isLocalFileSave()?this.saveLocalFile(c,a,e,k,b):this.saveRequest(a,b,mxUtils.bind(this,function(a,d){return this.createEchoRequest(c,a,e,k,b,d)}),c,k,e)};EditorUi.prototype.saveRequest=function(a,b,c,e,k,h,m){m=null!=m?m:!mxClient.IS_IOS||!navigator.standalone;var d=this.getServiceCount(!1);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){h=null!=h?h:"pdf"==b?"application/pdf":"image/"+b;if(null!=e)try{this.exportFile(e,a,h,!0,d,c)}catch(D){this.handleError(D)}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,h,!0,d,c)}catch(D){this.handleError(D)}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,m,null,1<d,4<d?3:4,e,h,k);this.showDialog(a.container,380,d==(mxClient.IS_IOS?0:1)?160:4<d?390:270,!0,!0);a.init()};EditorUi.prototype.getEditBlankXml=function(){return this.getFileData(!0)};
-EditorUi.prototype.exportFile=function(a,b,c,e,k,h){};EditorUi.prototype.pickFolder=function(a,b,c){b(null)};EditorUi.prototype.exportSvg=function(a,b,c,e,k,h,m,l,q){if(this.spinner.spin(document.body,mxResources.get("export"))){var d=this.editor.graph.isSelectionEmpty();c=null!=c?c:d;d=b?null:this.editor.graph.background;d==mxConstants.NONE&&(d=null);null==d&&0==b&&(d="#ffffff");var f=this.editor.graph.getSvg(d,a,m,l,null,c);e&&this.editor.graph.addSvgShadow(f);var g=this.getBaseFilename()+".svg",
-n=mxUtils.bind(this,function(a){this.spinner.stop();k&&a.setAttribute("content",this.getFileData(!0,null,null,null,c,q));if(null!=this.editor.fontCss){var d=a.ownerDocument,d=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,"style"):d.createElement("style");d.setAttribute("type","text/css");mxUtils.setTextContent(d,this.editor.fontCss);a.getElementsByTagName("defs")[0].appendChild(d)}var b='<!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()||b.length<=MAX_REQUEST_SIZE?this.saveData(g,"svg",b,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(b)}))});this.convertMath(this.editor.graph,f,!1,mxUtils.bind(this,function(){h?(null==this.thumbImageCache&&(this.thumbImageCache={}),this.convertImages(f,n,this.thumbImageCache)):n(f)}))}};EditorUi.prototype.addCheckbox=function(a,b,c,e,k,h){h=null!=h?h:!0;var d=
-document.createElement("input");d.style.marginRight="8px";d.style.marginTop="16px";d.setAttribute("type","checkbox");c&&(d.setAttribute("checked","checked"),d.defaultChecked=!0);e&&d.setAttribute("disabled","disabled");h&&(a.appendChild(d),c=document.createElement("span"),mxUtils.write(c,b),a.appendChild(c),k||mxUtils.br(a),mxEvent.addListener(c,"click",mxUtils.bind(this,function(a){"disabled"!=d.getAttribute("disabled")&&(d.checked=!d.checked,mxEvent.consume(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(),e="";null!=c&&c.getMode()!=App.MODE_DEVICE&&c.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";c=document.createElement("option");c.setAttribute("value","blank");mxUtils.write(c,mxResources.get("makeCopy"));f.appendChild(c);c=document.createElement("option");
-c.setAttribute("value","custom");mxUtils.write(c,mxResources.get("custom")+"...");f.appendChild(c);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(d,"change",mxUtils.bind(this,function(){d.checked&&(null==b||
-b.checked)?f.removeAttribute("disabled"):f.setAttribute("disabled","disabled")}));mxUtils.br(a);return{getLink:function(){return d.checked?"blank"===f.value?"_blank":e:null},getEditInput:function(){return d},getEditSelect:function(){return f}}};EditorUi.prototype.addLinkSection=function(a,b){function d(){m.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 c=document.createElement("select");c.style.width="100px";c.style.marginLeft="8px";c.style.marginRight="10px";c.className="geBtn";var e=document.createElement("option");e.setAttribute("value","auto");mxUtils.write(e,mxResources.get("automatic"));c.appendChild(e);e=document.createElement("option");e.setAttribute("value","blank");mxUtils.write(e,mxResources.get("openInNewWindow"));c.appendChild(e);e=document.createElement("option");
-e.setAttribute("value","self");mxUtils.write(e,mxResources.get("openInThisWindow"));c.appendChild(e);b&&(e=document.createElement("option"),e.setAttribute("value","frame"),mxUtils.write(e,mxResources.get("openInThisWindow")+" ("+mxResources.get("iframe")+")"),c.appendChild(e));a.appendChild(c);mxUtils.write(a,mxResources.get("borderColor")+":");var f="#0000ff",m=null,m=mxUtils.button("",mxUtils.bind(this,function(a){this.pickColor(f||"none",function(a){f=a;d()});mxEvent.consume(a)}));d();m.style.padding=
-mxClient.IS_FF?"4px 2px 4px 2px":"4px";m.style.marginLeft="4px";m.style.height="22px";m.style.width="22px";m.style.position="relative";m.style.top=mxClient.IS_IE||mxClient.IS_IE11||mxClient.IS_EDGE?"6px":"1px";m.className="geColorBtn";a.appendChild(m);mxUtils.br(a);return{getColor:function(){return f},getTarget:function(){return c.value},focus:function(){c.focus()}}};EditorUi.prototype.createLink=function(a,b,c,e,k,h,m,l){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!=k&&0<k.length&&f.push("edit="+encodeURIComponent(k)),h&&f.push("layers=1"),this.editor.graph.foldingEnabled&&f.push("nav=1"));if(c&&null!=this.pages&&null!=this.currentPage)for(a=0;a<this.pages.length;a++)if(this.pages[a]==this.currentPage){0<a&&f.push("page="+a);break}a=!0;null!=m?c="#U"+encodeURIComponent(m):(d=this.getCurrentFile(),l||null==d||d.constructor!=window.DriveFile?c="#R"+encodeURIComponent(c?
-this.getFileData(!0,null,null,null,null,null,null,!0):this.editor.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)?"https://www.draw.io/":"https://"+window.location.host+"/")+(0<f.length?"?"+f.join("&"):"")+c};EditorUi.prototype.createHtml=function(a,
-b,c,e,k,h,m,l,q,t,x){this.getBasenames();var d={};""!=k&&k!=mxConstants.NONE&&(d.highlight=k);"auto"!==e&&(d.target=e);q||(d.lightbox=!1);d.nav=this.editor.graph.foldingEnabled;c=parseInt(c);isNaN(c)||100==c||(d.zoom=c/100);c=[];m&&(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);l&&c.push("layers");0<c.length&&(q&&c.push("lightbox"),d.toolbar=c.join(" "));null!=t&&0<t.length&&(d.edit=t);null!=
-a?d.url=a:d.xml=this.getFileData(!0,null,null,null,null,!m);b='<div class="mxgraph" style="'+(h?"max-width:100%;":"")+(""!=c?"border:1px solid transparent;":"")+'" data-mxgraph="'+mxUtils.htmlEntities(JSON.stringify(d))+'"></div>';a=null!=a?"&fetch="+encodeURIComponent(a):"";x(b,'<script type="text/javascript" src="'+(0<a.length?("1"==urlParams.dev?"https://test.draw.io/embed2.js?dev=1":"https://www.draw.io/embed2.js?")+a:"1"==urlParams.dev?"https://test.draw.io/js/viewer.min.js":"https://www.draw.io/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 g=document.createElement("div");g.style.cssText="border-bottom:1px solid lightGray;padding-bottom:8px;margin-bottom:12px;";var n=document.createElement("input");n.style.cssText="margin-right:8px;margin-top:8px;margin-bottom:8px;";
-n.setAttribute("value","url");n.setAttribute("type","radio");n.setAttribute("name","type-embedhtmldialog");f=n.cloneNode(!0);f.setAttribute("value","copy");g.appendChild(f);var k=document.createElement("span");mxUtils.write(k,mxResources.get("includeCopyOfMyDiagram"));g.appendChild(k);mxUtils.br(g);g.appendChild(n);k=document.createElement("span");mxUtils.write(k,mxResources.get("publicDiagramUrl"));g.appendChild(k);var t=this.getCurrentFile();null==c&&null!=t&&t.constructor==window.DriveFile&&(k=
-document.createElement("a"),k.style.paddingLeft="12px",k.style.color="gray",k.setAttribute("href","javascript:void(0);"),mxUtils.write(k,mxResources.get("share")),g.appendChild(k),mxEvent.addListener(k,"click",mxUtils.bind(this,function(){this.hideDialog();this.drive.showPermissions(t.getId())})));f.setAttribute("checked","checked");null==c&&n.setAttribute("disabled","disabled");d.appendChild(g);var l=this.addLinkSection(d),q=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 v=this.addCheckbox(d,mxResources.get("fit"),!0),g=null!=this.pages&&1<this.pages.length,B=B=this.addCheckbox(d,mxResources.get("allPages"),g,!g),y=this.addCheckbox(d,mxResources.get("layers"),!0),C=this.addCheckbox(d,mxResources.get("lightbox"),!0),I=this.addEditButton(d,C),z=I.getEditInput();
-z.style.marginBottom="16px";mxEvent.addListener(C,"change",function(){C.checked?z.removeAttribute("disabled"):z.setAttribute("disabled","disabled");z.checked&&C.checked?I.getEditSelect().removeAttribute("disabled"):I.getEditSelect().setAttribute("disabled","disabled")});a=new CustomDialog(this,d,mxUtils.bind(this,function(){e(n.checked?c:null,q.checked,p.value,l.getTarget(),l.getColor(),v.checked,B.checked,y.checked,C.checked,I.getLink())}),null,a,b);this.showDialog(a.container,340,384,!0,!0);f.focus()};
-EditorUi.prototype.showPublishLinkDialog=function(a,b,c,e,k,h){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 g=this.getCurrentFile(),f="https://desk.draw.io/support/solutions/articles/16000051941";a=0;if(null!=g&&g.constructor==window.DriveFile&&!b){a=80;var f="https://desk.draw.io/support/solutions/articles/16000039384",
-n=document.createElement("div");n.style.cssText="border-bottom:1px solid lightGray;padding-bottom:14px;padding-top:6px;margin-bottom:14px;text-align:center;";var r=document.createElement("div");r.style.whiteSpace="normal";mxUtils.write(r,mxResources.get("linkAccountRequired"));n.appendChild(r);r=mxUtils.button(mxResources.get("share"),mxUtils.bind(this,function(){this.drive.showPermissions(g.getId())}));r.style.marginTop="12px";r.className="geBtn";n.appendChild(r);d.appendChild(n);r=document.createElement("a");
-r.style.paddingLeft="12px";r.style.color="gray";r.style.fontSize="11px";r.setAttribute("href","javascript:void(0);");mxUtils.write(r,mxResources.get("check"));n.appendChild(r);mxEvent.addListener(r,"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 l=null,q=null;if(null!=c||null!=e)a+=30,mxUtils.write(d,mxResources.get("width")+":"),l=document.createElement("input"),l.setAttribute("type","text"),l.style.marginRight="16px",l.style.width="50px",l.style.marginLeft="6px",l.style.marginRight="16px",l.style.marginBottom="10px",l.value="100%",d.appendChild(l),mxUtils.write(d,mxResources.get("height")+":"),q=document.createElement("input"),q.setAttribute("type","text"),q.style.width="50px",
-q.style.marginLeft="6px",q.style.marginBottom="10px",q.value=e+"px",d.appendChild(q),mxUtils.br(d);var p=this.addLinkSection(d,h);c=null!=this.pages&&1<this.pages.length;var B=null;if(null==g||g.constructor!=window.DriveFile||b)B=this.addCheckbox(d,mxResources.get("allPages"),c,!c);var v=this.addCheckbox(d,mxResources.get("lightbox"),!0),C=this.addEditButton(d,v),I=C.getEditInput(),z=this.addCheckbox(d,mxResources.get("layers"),!0);z.style.marginLeft=I.style.marginLeft;z.style.marginBottom="16px";
-z.style.marginTop="8px";mxEvent.addListener(v,"change",function(){v.checked?(z.removeAttribute("disabled"),I.removeAttribute("disabled")):(z.setAttribute("disabled","disabled"),I.setAttribute("disabled","disabled"));I.checked&&v.checked?C.getEditSelect().removeAttribute("disabled"):C.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,d,mxUtils.bind(this,function(){k(p.getTarget(),p.getColor(),null==B?!0:B.checked,v.checked,C.getLink(),z.checked,null!=l?l.value:null,null!=
-q?q.value:null)}),null,mxResources.get("create"),f);this.showDialog(b.container,340,254+a,!0,!0);null!=l?(l.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?l.select():document.execCommand("selectAll",!1,null)):p.focus()};EditorUi.prototype.showRemoteExportDialog=function(a,b,c,e){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:4px";
-d.appendChild(f);var g=this.addCheckbox(d,mxResources.get("selectionOnly"),!1,this.editor.graph.isSelectionEmpty()),n=e?null:this.addCheckbox(d,mxResources.get("includeCopyOfMyDiagram"),!0),f=this.editor.graph,k=e?null:this.addCheckbox(d,mxResources.get("transparentBackground"),f.background==mxConstants.NONE||null==f.background);null!=k&&(k.style.marginBottom="16px");a=new CustomDialog(this,d,mxUtils.bind(this,function(){c(!g.checked,null!=n?n.checked:!1,null!=k?k.checked:!1)}),null,a,b);this.showDialog(a.container,
-300,e?100:186,!0,!0)};EditorUi.prototype.showExportDialog=function(a,b,c,e,k,h,m,l){m=null!=m?m:!0;var d=document.createElement("div");d.style.whiteSpace="nowrap";var f=this.editor.graph,g="jpeg"==l?196:300,n=document.createElement("h3");mxUtils.write(n,a);n.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:10px";d.appendChild(n);mxUtils.write(d,mxResources.get("zoom")+":");var r=document.createElement("input");r.setAttribute("type","text");r.style.marginRight="16px";r.style.width=
-"60px";r.style.marginLeft="4px";r.style.marginRight="12px";r.value=this.lastExportZoom||"100%";d.appendChild(r);mxUtils.write(d,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";d.appendChild(u);mxUtils.br(d);var q=this.addCheckbox(d,mxResources.get("transparentBackground"),f.background==mxConstants.NONE||null==f.background,null,null,"jpeg"!=
-l),p=this.addCheckbox(d,mxResources.get("selectionOnly"),!1,f.isSelectionEmpty()),v=document.createElement("input");v.style.marginTop="16px";v.style.marginRight="8px";v.style.marginLeft="24px";v.setAttribute("disabled","disabled");v.setAttribute("type","checkbox");h&&(d.appendChild(v),mxUtils.write(d,mxResources.get("crop")),mxUtils.br(d),g+=26,mxEvent.addListener(p,"change",function(){p.checked?v.removeAttribute("disabled"):v.setAttribute("disabled","disabled")}));f.isSelectionEmpty()||(v.setAttribute("checked",
-"checked"),v.defaultChecked=!0);var I=this.addCheckbox(d,mxResources.get("shadow"),f.shadowVisible),z=document.createElement("input");z.style.marginTop="16px";z.style.marginRight="8px";z.setAttribute("type","checkbox");!this.isOffline()&&this.canvasSupported||z.setAttribute("disabled","disabled");b&&(d.appendChild(z),mxUtils.write(d,mxResources.get("embedImages")),mxUtils.br(d),g+=26);var N=this.addCheckbox(d,mxResources.get("includeCopyOfMyDiagram"),m,null,null,"jpeg"!=l),E=null!=this.pages&&1<this.pages.length,
-J=this.addCheckbox(d,E?mxResources.get("allPages"):"",E,!E,null,"jpeg"!=l);J.style.marginLeft="24px";J.style.marginBottom="16px";E||(J.style.visibility="hidden");mxEvent.addListener(N,"change",function(){N.checked&&E?J.removeAttribute("disabled"):J.setAttribute("disabled","disabled")});m&&E||J.setAttribute("disabled","disabled");a=new CustomDialog(this,d,mxUtils.bind(this,function(){this.lastExportBorder=u.value;this.lastExportZoom=r.value;k(r.value,q.checked,!p.checked,I.checked,N.checked,z.checked,
-u.value,v.checked,!J.checked)}),null,c,e);this.showDialog(a.container,340,g,!0,!0);r.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?r.select():document.execCommand("selectAll",!1,null)};EditorUi.prototype.showEmbedImageDialog=function(a,b,c,e,k){var d=document.createElement("div");d.style.whiteSpace="nowrap";var f=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";
-d.appendChild(g)}var n=this.addCheckbox(d,mxResources.get("fit"),!0),r=this.addCheckbox(d,mxResources.get("shadow"),f.shadowVisible&&e,!e),l=this.addCheckbox(d,c),q=this.addCheckbox(d,mxResources.get("lightbox"),!0),p=this.addEditButton(d,q),v=p.getEditInput(),B=1<f.model.getChildCount(f.model.getRoot()),y=this.addCheckbox(d,mxResources.get("layers"),B,!B);y.style.marginLeft=v.style.marginLeft;y.style.marginBottom="12px";y.style.marginTop="8px";mxEvent.addListener(q,"change",function(){q.checked?
-(B&&y.removeAttribute("disabled"),v.removeAttribute("disabled")):(y.setAttribute("disabled","disabled"),v.setAttribute("disabled","disabled"));v.checked&&q.checked?p.getEditSelect().removeAttribute("disabled"):p.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,d,mxUtils.bind(this,function(){a(n.checked,r.checked,l.checked,q.checked,p.getLink(),y.checked)}),null,mxResources.get("embed"),k);this.showDialog(b.container,280,280,!0,!0)};EditorUi.prototype.createEmbedImage=
-function(a,b,c,e,k,h,m,l){function d(d){var b=" ",g="";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('https://www.draw.io/?client=1&lightbox=1"+(k?"&edit=_blank":"")+(h?"&layers=1":"")+"');}})(this);\"",g+="cursor:pointer;");
-a&&(g+="max-width:100%;");var n="";c&&(n=' width="'+Math.round(f.width)+'" height="'+Math.round(f.height)+'"');m('<img src="'+d+'"'+n+(""!=g?' style="'+g+'"':"")+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){l({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 g="";c&&(g="&w="+Math.round(2*f.width)+"&h="+Math.round(2*f.height));var n=new mxXmlRequest(EXPORT_URL,"format=png&base64=1&embedXml="+(e?"1":"0")+g+"&xml="+encodeURIComponent(b));n.send(mxUtils.bind(this,function(){200<=n.getStatus()&&299>=n.getStatus()?d("data:image/png;base64,"+n.getText()):l({message:mxResources.get("unknownError")})}))}else l({message:mxResources.get("drawingTooLarge")})};EditorUi.prototype.createEmbedSvg=function(a,
-b,c,e,k,h,m){var d=this.editor.graph.getSvg(),f=d.getElementsByTagName("a");if(null!=f)for(var g=0;g<f.length;g++){var n=f[g].getAttribute("href");null!=n&&"#"==n.charAt(0)&&"_blank"==f[g].getAttribute("target")&&f[g].removeAttribute("target")}e&&d.setAttribute("content",this.getFileData(!0));b&&this.editor.graph.addSvgShadow(d);if(c){var r=" ",l="";e&&(r="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('https://www.draw.io/?client=1&lightbox=1"+
-(k?"&edit=_blank":"")+(h?"&layers=1":"")+"');}})(this);\"",l+="cursor:pointer;");a&&(l+="max-width:100%;");this.convertImages(d,mxUtils.bind(this,function(a){m('<img src="'+this.createSvgDataUri(mxUtils.getXml(a))+'"'+(""!=l?' style="'+l+'"':"")+r+"/>")}))}else l="",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('https://www.draw.io/?client=1&lightbox=1"+
-(k?"&edit=_blank":"")+(h?"&layers=1":"")+"');}}})(this);"),l+="cursor:pointer;"),a&&(a=parseInt(d.getAttribute("width")),b=parseInt(d.getAttribute("height")),d.setAttribute("viewBox","0 0 "+a+" "+b),l+="max-width:100%;max-height:"+b+"px;",d.removeAttribute("height")),""!=l&&d.setAttribute("style",l),m(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+
+0))];d=this.currentPage.node}"0"!=urlParams.pages&&null==this.fileNode&&null!=d&&(this.fileNode=d.ownerDocument.createElement("mxfile"),this.currentPage=new DiagramPage(d.ownerDocument.createElement("diagram")),this.currentPage.setName(mxResources.get("pageWithNumber",[1])),this.pages=[this.currentPage]);this.editor.setGraphXml(d);null!=this.currentPage&&(this.currentPage.root=this.editor.graph.model.root)};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))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,r,h,n){try{e=null!=e?e:this.editor.graph.isSelectionEmpty();var d=this.getBaseFilename(!r),
+f=d+"."+a;if("xml"==a){var g='<?xml version="1.0" encoding="UTF-8"?>\n'+(b?mxUtils.getXml(this.editor.getGraphXml(e)):this.getFileData(!0,null,null,null,e,r));this.saveData(f,a,g,"text/xml")}else if("html"==a)g=this.getHtml2(this.getFileData(!0),this.editor.graph,d),this.saveData(f,a,g,"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!=h&&(this.editor.graph.pageVisible=h);var f=this.createDownloadRequest(d,a,e,b,n);this.editor.graph.pageVisible=c;return f}catch(z){this.handleError(z)}}));else{var m=null,k=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(m)}))});if("svg"==a){var l=this.editor.graph.background;if(n||l==
+mxConstants.NONE)l=null;var q=this.editor.graph.getSvg(l,null,null,null,null,e);c&&this.editor.graph.addSvgShadow(q);this.convertImages(q,mxUtils.bind(this,mxUtils.bind(this,function(a){this.spinner.stop();k('<?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",m=this.getFileData(!1,!0,null,mxUtils.bind(this,function(a){this.spinner.stop();k(a)}),e)}}catch(B){this.handleError(B)}};
+EditorUi.prototype.createDownloadRequest=function(a,b,c,e,r){var d=this.editor.graph.getGraphBounds();c=this.getFileData(!0,null,null,null,c,"xmlpng"!=b);var f="";if(d.width*d.height>MAX_AREA||c.length>MAX_REQUEST_SIZE)throw{message:mxResources.get("drawingTooLarge")};d="0";if("xmlpng"==b&&(d="1",b="png",null!=this.pages&&null!=this.currentPage))for(var g=0;g<this.pages.length;g++)if(this.pages[g]==this.currentPage){f="&from="+g;break}g=this.editor.graph.background;"png"==b&&r&&(g=mxConstants.NONE);
+return new mxXmlRequest(EXPORT_URL,"format="+b+f+"&bg="+(null!=g?g:mxConstants.NONE)+"&base64="+e+"&embedXml="+d+"&xml="+encodeURIComponent(c)+(null!=a?"&filename="+encodeURIComponent(a):""))};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 e=null!=a.interval?parseInt(a.interval):6E4,g=null,h=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()),m()):this.handleError({message:mxResources.get("error")+" "+a.getStatus()}))}),mxUtils.bind(this,function(a){this.handleError(a)}))}),m=mxUtils.bind(this,function(){window.clearTimeout(g);g=window.setTimeout(h,e)});this.editor.addListener("pageSelected",mxUtils.bind(this,function(){m();h()}));m();h()}null!=b&&b()});if(null!=a.url){var e=a.url;/^https?:\/\//.test(e)&&!this.isCorsEnabledForUrl(e)&&
+(e=PROXY_URL+"?url="+encodeURIComponent(a.url));this.loadUrl(e,mxUtils.bind(this,function(a){f(a)}),mxUtils.bind(this,function(a){null!=c&&c(a)}))}else f(a.data)};EditorUi.prototype.updateDiagram=function(a){function d(a){var d=new mxCellOverlay(a.image||c.warningImage,a.tooltip,a.align,a.valign,a.offset);d.addListener(mxEvent.CLICK,function(d,b){editorUi.alert(a.tooltip)});return d}var b=null;if(null!=a&&0<a.length&&(b=mxUtils.parseXml(a),a=null!=b?b.documentElement:null,null!=a&&"updates"==a.nodeName)){var c=
+this.editor.graph,e=c.getModel();e.beginUpdate();var h=null;try{for(a=a.firstChild;null!=a;){if("update"==a.nodeName){var n=e.getCell(a.getAttribute("id"));if(null!=n){try{var k=a.getAttribute("value");if(null!=k){var l=mxUtils.parseXml(k).documentElement;if(null!=l)if("1"==l.getAttribute("replace-value"))e.setValue(n,l);else for(var t=l.attributes,x=0;x<t.length;x++)c.setAttributeForCell(n,t[x].nodeName,0<t[x].nodeValue.length?t[x].nodeValue:null)}}catch(z){null!=window.console&&console.log("Error in value for "+
+n.id+": "+z)}try{var q=a.getAttribute("style");null!=q&&c.model.setStyle(n,q)}catch(z){null!=window.console&&console.log("Error in style for "+n.id+": "+z)}try{var p=a.getAttribute("icon");if(null!=p){var v=0<p.length?JSON.parse(p):null;null!=v&&v.append||c.removeCellOverlays(n);null!=v&&c.addCellOverlay(n,d(v))}}catch(z){null!=window.console&&console.log("Error in icon for "+n.id+": "+z)}try{var B=a.getAttribute("geometry");if(null!=B){var B=JSON.parse(B),y=c.getCellGeometry(n);if(null!=y){y=y.clone();
+for(key in B){var C=parseFloat(B[key]);"dx"==key?y.x+=C:"dy"==key?y.y+=C:"dw"==key?y.width+=C:"dh"==key?y.height+=C:y[key]=parseFloat(B[key])}c.model.setGeometry(n,y)}}}catch(z){null!=window.console&&console.log("Error in icon for "+n.id+": "+z)}}}else if("model"==a.nodeName){for(var I=a.firstChild;null!=I&&I.nodeType!=mxConstants.NODETYPE_ELEMENT;)I=I.nextSibling;null!=I&&(new mxCodec(a.firstChild)).decode(I,e)}else if("view"==a.nodeName){if(a.hasAttribute("scale")&&(c.view.scale=parseFloat(a.getAttribute("scale"))),
+a.hasAttribute("dx")||a.hasAttribute("dy"))c.view.translate=new mxPoint(parseFloat(a.getAttribute("dx")||0),parseFloat(a.getAttribute("dy")||0))}else"fit"==a.nodeName&&(h=a.hasAttribute("max-scale")?parseFloat(a.getAttribute("max-scale")):1);a=a.nextSibling}}finally{e.endUpdate()}null!=h&&this.chromelessResize&&this.chromelessResize(!0,h)}return b};EditorUi.prototype.fileLoaded=function(a){var d=!1;this.hideDialog();var b=this.getCurrentFile();this.setCurrentFile(null);null!=b&&(b.removeListener(this.descriptorChangedListener),
+b.close());this.editor.graph.model.clear();this.editor.undoManager.clear();var c=mxUtils.bind(this,function(){this.setGraphEnabled(!1);this.setCurrentFile(null);null!=b&&this.updateDocumentTitle();this.editor.graph.model.clear();this.editor.undoManager.clear();this.setBackgroundImage(null);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.updateUi();this.showSplash()});if(null!=a)try{this.setCurrentFile(a);a.addListener("descriptorChanged",this.descriptorChangedListener);a.addListener("contentChanged",this.descriptorChangedListener);a.open();this.setGraphEnabled(!0);this.setMode(a.getMode());this.editor.undoManager.clear();this.descriptorChanged();this.updateUi();null==a.realtime&&(a.isEditable()?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"));d=!0;this.isOffline()||null==a.getMode()||this.logEvent({category:"File",action:"open",label:a.getMode()});if(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(r){}try{mxSettings.setOpenCounter(mxSettings.getOpenCounter()+1),mxSettings.save()}catch(r){}}catch(r){null!=window.console&&console.log("error in fileLoaded:",a,r);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!=r&&null!=r.message?":err:"+encodeURIComponent(r.message):"")+(null!=r&&null!=r.stack?"&stack="+encodeURIComponent(r.stack):"")}catch(h){}this.handleError(r,mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){null!=urlParams.url&&this.spinner.spin(document.body,mxResources.get("reconnecting"))?window.location.search=this.getSearch(["url"]):null!=b?b.constructor==DriveFile?this.loadFile(b.getHash()):this.fileLoaded(b):c()}))}else c();return d};EditorUi.prototype.descriptorChanged=
+function(){};EditorUi.prototype.logEvent=function(a){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(g){}};EditorUi.prototype.restoreLibraries=function(){};EditorUi.prototype.saveLibrary=function(a,b,c,e,r,h,n){};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,e=mxUtils.bind(this,function(d,b){if(0==d.length&&a.isEditable())null==f&&(f=document.createElement("div"),mxUtils.setPrefixedStyle(f.style,
+"borderRadius","6px"),f.style.border="3px dotted lightGray",f.style.textAlign="center",f.style.padding="8px",f.style.color="#B3B3B3",mxUtils.write(f,mxResources.get("dragElementsHere"))),b.appendChild(f);else for(var c=0;c<d.length;c++){var e=d[c],g=e.data;if(null!=g){var g=this.convertDataUri(g),h="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";"fixed"==e.aspect&&(h+="aspect=fixed;");b.appendChild(this.sidebar.createVertexTemplate(h+"image="+g,e.w,e.h,"",e.title||"",!1,
+!1,!0))}else null!=e.xml&&(g=this.stringToCells(this.editor.graph.decompress(e.xml)),0<g.length&&b.appendChild(this.sidebar.createVertexTemplateFromCells(g,e.w,e.h,e.title||"",!0,!1,!0)))}});if(null!=this.sidebar&&null!=b)for(var g=0;g<b.length;g++)mxUtils.bind(this,function(a){var d=a.data;null!=d&&null!=a.title?this.sidebar.addEntry(a.title,mxUtils.bind(this,function(){d=this.convertDataUri(d);var b="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";"fixed"==a.aspect&&(b+=
+"aspect=fixed;");return this.sidebar.createVertexTemplate(b+"image="+d,a.w,a.h,"",a.title||"",!1,!1,!0)})):null!=a.xml&&null!=a.title&&this.sidebar.addEntry(a.title,mxUtils.bind(this,function(){var d=this.stringToCells(this.editor.graph.decompress(a.xml));return this.sidebar.createVertexTemplateFromCells(d,a.w,a.h,a.title||"",!0,!1,!0)}))})(b[g]);c=null!=c&&0<c.length?c:a.getTitle();var k=this.sidebar.addPalette(a.getHash(),c,!0,mxUtils.bind(this,function(a){e(b,a)}));this.repositionLibrary(d);var l=
+k.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 x=document.createElement("img");x.setAttribute("src",Dialog.prototype.closeImage);x.setAttribute("title",
+mxResources.get("close"));x.setAttribute("valign","absmiddle");x.setAttribute("border","0");x.style.margin="0 3px";var q=null;if(".scratchpad"!=a.title||this.closableScratchpad)t.appendChild(x),mxEvent.addListener(x,"click",mxUtils.bind(this,function(d){if(!mxEvent.isConsumed(d)){var b=mxUtils.bind(this,function(){this.closeLibrary(a)});null!=q?this.confirm(mxResources.get("allChangesLost"),null,b,mxResources.get("cancel"),mxResources.get("discardChanges")):b();mxEvent.consume(d)}}));if(a.isEditable()){var p=
+this.editor.graph,v=null,B=mxUtils.bind(this,function(d){this.showLibraryDialog(a.getTitle(),k,b,a,a.getMode());mxEvent.consume(d)}),y=mxUtils.bind(this,function(d){a.setModified(!0);a.isAutosave()?(null!=v&&null!=v.parentNode&&v.parentNode.removeChild(v),v=x.cloneNode(!1),v.setAttribute("src",Editor.spinImage),v.setAttribute("title",mxResources.get("saving")),v.style.cursor="default",v.style.marginRight="2px",v.style.marginTop="-2px",t.insertBefore(v,t.firstChild),l.style.paddingRight=18*t.childNodes.length+
+"px",this.saveLibrary(a.getTitle(),b,a,a.getMode(),!0,!0,function(){null!=v&&null!=v.parentNode&&(v.parentNode.removeChild(v),l.style.paddingRight=18*t.childNodes.length+"px")})):null==q&&(q=x.cloneNode(!1),q.setAttribute("src",IMAGE_PATH+"/download.png"),q.setAttribute("title",mxResources.get("save")),t.insertBefore(q,t.firstChild),mxEvent.addListener(q,"click",mxUtils.bind(this,function(d){this.saveLibrary(a.getTitle(),b,a,a.getMode(),a.constructor==LocalLibrary,!0,function(){null==q||a.isModified()||
+(l.style.paddingRight=18*t.childNodes.length+"px",q.parentNode.removeChild(q),q=null)});mxEvent.consume(d)})),l.style.paddingRight=18*t.childNodes.length+"px")}),C=mxUtils.bind(this,function(a,d,c,e){a=p.cloneCells(mxUtils.sortCells(p.model.getTopmostCells(a)));for(var g=0;g<a.length;g++){var h=p.getCellGeometry(a[g]);null!=h&&h.translate(-d.x,-d.y)}k.appendChild(this.sidebar.createVertexTemplateFromCells(a,d.width,d.height,e||"",!0,!1,!1));a={xml:this.editor.graph.compress(mxUtils.getXml(this.editor.graph.encodeCells(a))),
+w:d.width,h:d.height};null!=e&&(a.title=e);b.push(a);y(c);null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null)}),I=mxUtils.bind(this,function(a){if(p.isSelectionEmpty())p.getRubberband().isActive()?(p.getRubberband().execute(a),p.getRubberband().reset()):this.showError(mxResources.get("error"),mxResources.get("nothingIsSelected"),mxResources.get("ok"));else{var d=p.getSelectionCells(),b=p.view.getBounds(d),c=p.view.scale;b.x/=c;b.y/=c;b.width/=c;b.height/=c;b.x-=p.view.translate.x;
+b.y-=p.view.translate.y;C(d,b)}mxEvent.consume(a)});k.style.border="3px solid transparent";mxEvent.addGestureListeners(k,function(){},mxUtils.bind(this,function(a){p.isMouseDown&&null!=p.panningManager&&null!=p.graphHandler.shape&&(p.graphHandler.shape.node.style.visibility="hidden",null!=f?f.style.border="3px dotted rgb(254, 137, 12)":k.style.border="3px dotted rgb(254, 137, 12)",k.style.cursor="copy",p.panningManager.stop(),p.autoScroll=!1,null!=p.graphHandler.guide&&p.graphHandler.guide.setVisible(!1),
+null!=p.graphHandler.hint&&(p.graphHandler.hint.style.visibility="hidden"),mxEvent.consume(a))}),mxUtils.bind(this,function(a){p.isMouseDown&&null!=p.panningManager&&null!=p.graphHandler&&(k.style.border="3px solid transparent",null!=f&&(f.style.border="3px dotted lightGray"),k.style.cursor="default",this.sidebar.showTooltips=!0,p.panningManager.stop(),p.graphHandler.reset(),p.isMouseDown=!1,p.autoScroll=!0,I(a),mxEvent.consume(a))}));mxEvent.addListener(k,"mouseleave",mxUtils.bind(this,function(a){p.isMouseDown&&
+null!=p.graphHandler.shape&&(p.graphHandler.shape.node.style.visibility="visible",k.style.border="3px solid transparent",k.style.cursor="",p.autoScroll=!0,null!=p.graphHandler.guide&&p.graphHandler.guide.setVisible(!0),null!=p.graphHandler.hint&&(p.graphHandler.hint.style.visibility="visible"),null!=f&&(f.style.border="3px dotted lightGray"))}));Graph.fileSupport&&(mxEvent.addListener(k,"dragover",mxUtils.bind(this,function(a){null!=f?f.style.border="3px dotted rgb(254, 137, 12)":k.style.border="3px dotted rgb(254, 137, 12)";
+a.dataTransfer.dropEffect="copy";k.style.cursor="copy";this.sidebar.hideTooltip();a.stopPropagation();a.preventDefault()})),mxEvent.addListener(k,"drop",mxUtils.bind(this,function(a){k.style.border="3px solid transparent";k.style.cursor="";null!=f&&(f.style.border="3px dotted lightGray");0<a.dataTransfer.files.length&&this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,mxUtils.bind(this,function(d,c,g,h,n,m,r,t,u){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,n,m),d)],d[0].vertex=!0,C(d,new mxRectangle(0,0,n,m),a,mxEvent.isAltDown(a)?null:r.substring(0,r.lastIndexOf(".")).replace(/_/g," ")),null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null);else{var l=!1,q=mxUtils.bind(this,function(d,c){if(null!=d&&"text/xml"==c){var g=mxUtils.parseXml(d);if("mxlibrary"==g.documentElement.nodeName)try{var h=JSON.parse(mxUtils.getTextContent(g.documentElement));e(h,k);b=b.concat(h);y(a);
+this.spinner.stop();l=!0}catch(T){}else if("mxfile"==g.documentElement.nodeName)try{for(var n=g.documentElement.getElementsByTagName("diagram"),g=0;g<n.length;g++){var h=mxUtils.getTextContent(n[g]),m=this.stringToCells(this.editor.graph.decompress(h)),r=this.editor.graph.getBoundingBoxFromGeometry(m);C(m,new mxRectangle(0,0,r.width,r.height),a)}l=!0}catch(T){null!=window.console&&console.log("error in drop handler:",T)}}l||(this.spinner.stop(),this.handleError({message:mxResources.get("errorLoadingFile")}));
+null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null)});null!=u&&null!=r&&(/(\.vsdx?)($|\?)/i.test(r)||/(\.vssx)($|\?)/i.test(r))?this.importVisio(u,function(a){q(a,"text/xml")},null,r):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(d,r)&&null!=u?this.parseFile(u,mxUtils.bind(this,function(a){4==a.readyState&&(this.spinner.stop(),200<=a.status&&299>=a.status?q(a.responseText,"text/xml"):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge":
+"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))})):q(d,c)}}));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(k,"dragleave",function(a){null!=f?f.style.border="3px dotted lightGray":(k.style.border="3px solid transparent",k.style.cursor="");a.stopPropagation();a.preventDefault()}));x=x.cloneNode(!1);x.setAttribute("src",Editor.editImage);x.setAttribute("title",mxResources.get("edit"));t.insertBefore(x,t.firstChild);mxEvent.addListener(x,"click",B);mxEvent.addListener(k,
+"dblclick",function(a){mxEvent.getSource(a)==k&&B(a)});c=x.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"}};"1"==urlParams.offline||EditorUi.isElectronApp?EditorUi.prototype.footerHeight=4:("1"==urlParams.savesidebar&&(Sidebar.prototype.thumbWidth=64,Sidebar.prototype.thumbHeight=64),EditorUi.prototype.footerHeight=760<=screen.width&&240<=screen.height?46:0,EditorUi.prototype.createFooter=function(){var a=document.getElementById("geFooter");
+if(null!=a){a.style.visibility="visible";var b=document.createElement("img");b.setAttribute("border","0");b.setAttribute("src",Dialog.prototype.closeImage);b.setAttribute("title",mxResources.get("hide"));a.appendChild(b);mxClient.IS_QUIRKS&&(b.style.position="relative",b.style.styleFloat="right",b.style.top="-30px",b.style.left="164px",b.style.cursor="pointer");mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.hideFooter()}))}return a});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,EditorUi.prototype.hsplitPosition=188,Sidebar.prototype.thumbWidth=46,Sidebar.prototype.thumbHeight=46,Sidebar.prototype.thumbPadding=
+5<=document.documentMode?0:1,Sidebar.prototype.thumbBorder=2):"dark"==uiTheme&&(mxClient.link("stylesheet",STYLE_PATH+"/dark.css"),Dialog.backdropColor="#2a2a2a",Graph.prototype.defaultThemeName="darkTheme",Graph.prototype.defaultPageBackgroundColor="#2a2a2a",Graph.prototype.defaultGraphBackground=null,Graph.prototype.defaultPageBorderColor="#505759",Graph.prototype.svgShadowColor="#e0e0e0",Graph.prototype.svgShadowOpacity="0.6",Graph.prototype.svgShadowSize="0.8",Graph.prototype.svgShadowBlur="1.4",
+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 d=document.getElementById("geFooter");null!=d&&(this.footerHeight=a,d.style.display="inline",this.refresh())};EditorUi.prototype.showImageDialog=function(a,b,c,e,r){a=new ImageDialog(this,a,b,c,e,r);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,r){a=new LibraryDialog(this,a,b,c,e,r);this.showDialog(a.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&&null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.showSplash()}));a.init()};EditorUi.prototype.createSidebarFooterContainer=function(){var a=this.createDiv("geSidebarContainer");
+a.style.position="absolute";a.style.overflow="hidden";a.style.borderWidth="3px";var b=document.createElement("a");b.setAttribute("href","javascript:void(0);");b.className="geTitle";b.style.height="100%";b.style.paddingTop="9px";mxUtils.write(b,mxResources.get("moreShapes")+"...");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){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){a=mxUtils.htmlEntities(mxResources.get("unknownError"));var e=mxResources.get("ok"),g=null;b=null!=b?b:mxResources.get("error");if(null!=f)if(null!=f.retry&&(e=mxResources.get("cancel"),g=function(){d();f.retry()}),"undefined"!=typeof gapi&&"undefined"!=typeof gapi.drive&&"undefined"!=typeof gapi.drive.realtime&&f.type==gapi.drive.realtime.ErrorType.FORBIDDEN)a=mxUtils.htmlEntities(mxResources.get("forbidden"));
+else if(404==f.code||404==f.status||"undefined"!=typeof gapi&&"undefined"!=typeof gapi.drive&&"undefined"!=typeof gapi.drive.realtime&&f.type==gapi.drive.realtime.ErrorType.NOT_FOUND){a=mxUtils.htmlEntities(mxResources.get("fileNotFoundOrDenied"));var k=window.location.hash;null!=k&&"#G"==k.substring(0,2)&&(k=k.substring(2),a+=' <a href="https://drive.google.com/open?id='+k+'" target="_blank">'+mxUtils.htmlEntities(mxResources.get("tryOpeningViaThisPage"))+"</a>")}else f.code==App.ERROR_TIMEOUT?a=
+mxUtils.htmlEntities(mxResources.get("timeout")):f.code==App.ERROR_BUSY?a=mxUtils.htmlEntities(mxResources.get("busy")):null!=f.message?a=mxUtils.htmlEntities(f.message):null!=f.response&&null!=f.response.error&&(a=mxUtils.htmlEntities(f.response.error));this.showError(b,a,e,c,g)}else null!=c&&c()};EditorUi.prototype.showError=function(a,b,c,e,r,h,n,k,l,t,q,p){a=new ErrorDialog(this,a,b,c||mxResources.get("ok"),e,r,h,n,p,k,l);this.showDialog(a.container,t||340,q||150,!0,!1);a.init()};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,r){var d=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){};this.showDialog((new ConfirmDialog(this,a,function(){d();null!=b&&b()},function(){d();null!=c&&c()},e,r)).container,340,90,!0,!1)};EditorUi.prototype.setCurrentFile=function(a){this.currentFile=a};EditorUi.prototype.getCurrentFile=function(){return this.currentFile};
+EditorUi.prototype.isExportToCanvas=function(){return mxClient.IS_CHROMEAPP||!this.editor.graph.mathEnabled&&this.useCanvasForExport};EditorUi.prototype.createSvgDataUri=function(a){return"data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent(a)))};EditorUi.prototype.createImageDataUri=function(a,b,c){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,"zTXt","mxGraphModel",atob(this.editor.graph.compress(b))));
+return d};EditorUi.prototype.saveCanvas=function(a,b,c){var d="jpeg"==c?"jpg":c,f=this.getBaseFilename()+"."+d;a=this.createImageDataUri(a,b,c);this.saveData(f,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.doSaveLocalFile=function(a,b,c,e,r){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)b=new TextareaDialog(this,b+":",a,null,null,mxResources.get("close")),b.textarea.style.width="600px",b.textarea.style.height=
+"380px",this.showDialog(b.container,620,460,!0,!0),b.init(),document.execCommand("selectall",!1,null);else{var d=document.createElement("a"),f=!mxClient.IS_SF&&"undefined"!==typeof d.download;if(mxClient.IS_GC)var g=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./),f=65==(g?parseInt(g[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(w){}}else this.createEchoRequest(a,b,c,e,r).simulate(document,"_blank")}};EditorUi.prototype.createEchoRequest=function(a,b,c,e,r,h){a="xml="+encodeURIComponent(a);return new mxXmlRequest(SAVE_URL,a+(null!=c?"&mime="+c:"")+(null!=r?"&format="+r:"")+(null!=h?"&base64="+h:"")+(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),
+n=0;n<f;++n){for(var k=1024*n,l=Math.min(k+1024,c),t=Array(l-k),q=0;k<l;++q,++k)t[q]=d[k].charCodeAt(0);e[n]=new Uint8Array(t)}return new Blob(e,{type:b})};EditorUi.prototype.saveLocalFile=function(a,b,c,e,k,h,n){h=null!=h?h:!1;n=null!=n?n:"vsdx"!=k&&(!mxClient.IS_IOS||!navigator.standalone);k=this.getServiceCount(h);b=new CreateDialog(this,b,mxUtils.bind(this,function(d,b){try{if("_blank"==b)if(null==c||"image/"!=c.substring(0,6)||"image/svg"==c.substring(0,9)&&!mxClient.IS_SVG){var f=window.open("about:blank");
+null==f?mxUtils.popup(a,!0):(f.document.write(mxUtils.htmlEntities(a,!1)),f.document.close())}else this.openInNewWindow(a,c,e);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(F){this.handleError(F)}}))}catch(x){this.handleError(x)}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,h,n,null,1<k,4<k&&(!h||6>k)?3:4,
+a,c,e);this.showDialog(b.container,420,k==(mxClient.IS_IOS?0:1)?160:4<k?390:270,!0,!0);b.init()};EditorUi.prototype.openInNewWindow=function(a,b,c){if(mxClient.IS_GC||mxClient.IS_EDGE||11==document.documentMode||10==document.documentMode){var d=window.open("about:blank");null==d?mxUtils.popup(a,!0):("image/svg+xml"==b?d.document.write("<html>"+a+"</html>"):d.document.write('<html><img src="data:'+b+(c?";base64,"+a:";charset=utf8,"+encodeURIComponent(a))+'"/></html>'),d.document.close())}else d=window.open("data:"+
+b+(c?";base64,"+a:";charset=utf8,"+encodeURIComponent(a))),null==d&&mxUtils.popup(a,!0)};var b=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.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"))}b.apply(this,arguments)};EditorUi.prototype.saveData=function(a,b,c,e,k){this.isLocalFileSave()?this.saveLocalFile(c,a,e,k,b):this.saveRequest(a,b,mxUtils.bind(this,function(a,
+d){return this.createEchoRequest(c,a,e,k,b,d)}),c,k,e)};EditorUi.prototype.saveRequest=function(a,b,c,e,k,h,n){n=null!=n?n:!mxClient.IS_IOS||!navigator.standalone;var d=this.getServiceCount(!1);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){h=null!=h?h:"pdf"==b?"application/pdf":"image/"+b;if(null!=e)try{this.exportFile(e,a,h,!0,d,c)}catch(D){this.handleError(D)}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,h,!0,d,c)}catch(D){this.handleError(D)}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,n,null,1<d,4<d?3:4,e,h,k);this.showDialog(a.container,380,d==(mxClient.IS_IOS?0:1)?160:4<d?390:270,!0,!0);a.init()};EditorUi.prototype.getEditBlankXml=function(){return this.getFileData(!0)};EditorUi.prototype.exportFile=function(a,b,c,e,k,h){};EditorUi.prototype.pickFolder=function(a,b,c){b(null)};EditorUi.prototype.exportSvg=function(a,b,c,e,k,h,n,u,l){if(this.spinner.spin(document.body,
+mxResources.get("export"))){var d=this.editor.graph.isSelectionEmpty();c=null!=c?c:d;d=b?null:this.editor.graph.background;d==mxConstants.NONE&&(d=null);null==d&&0==b&&(d="#ffffff");var f=this.editor.graph.getSvg(d,a,n,u,null,c);e&&this.editor.graph.addSvgShadow(f);var g=this.getBaseFilename()+".svg",m=mxUtils.bind(this,function(a){this.spinner.stop();k&&a.setAttribute("content",this.getFileData(!0,null,null,null,c,l));if(null!=this.editor.fontCss){var d=a.ownerDocument,d=null!=d.createElementNS?
+d.createElementNS(mxConstants.NS_SVG,"style"):d.createElement("style");d.setAttribute("type","text/css");mxUtils.setTextContent(d,this.editor.fontCss);a.getElementsByTagName("defs")[0].appendChild(d)}var b='<!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()||b.length<=MAX_REQUEST_SIZE?this.saveData(g,"svg",b,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),
+mxUtils.bind(this,function(){mxUtils.popup(b)}))});this.convertMath(this.editor.graph,f,!1,mxUtils.bind(this,function(){h?(null==this.thumbImageCache&&(this.thumbImageCache={}),this.convertImages(f,m,this.thumbImageCache)):m(f)}))}};EditorUi.prototype.addCheckbox=function(a,b,c,e,k,h){h=null!=h?h:!0;var d=document.createElement("input");d.style.marginRight="8px";d.style.marginTop="16px";d.setAttribute("type","checkbox");c&&(d.setAttribute("checked","checked"),d.defaultChecked=!0);e&&d.setAttribute("disabled",
+"disabled");h&&(a.appendChild(d),c=document.createElement("span"),mxUtils.write(c,b),a.appendChild(c),k||mxUtils.br(a),mxEvent.addListener(c,"click",mxUtils.bind(this,function(a){"disabled"!=d.getAttribute("disabled")&&(d.checked=!d.checked,mxEvent.consume(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(){n.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",n=null,n=mxUtils.button("",mxUtils.bind(this,function(a){this.pickColor(e||"none",function(a){e=a;d()});mxEvent.consume(a)}));d();n.style.padding=mxClient.IS_FF?"4px 2px 4px 2px":"4px";n.style.marginLeft="4px";n.style.height="22px";n.style.width="22px";n.style.position="relative";n.style.top=mxClient.IS_IE||
+mxClient.IS_IE11||mxClient.IS_EDGE?"6px":"1px";n.className="geColorBtn";a.appendChild(n);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,k,h,n,u){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!=k&&0<k.length&&f.push("edit="+encodeURIComponent(k)),h&&
+f.push("layers=1"),this.editor.graph.foldingEnabled&&f.push("nav=1"));if(c&&null!=this.pages&&null!=this.currentPage)for(a=0;a<this.pages.length;a++)if(this.pages[a]==this.currentPage){0<a&&f.push("page="+a);break}a=!0;null!=n?c="#U"+encodeURIComponent(n):(d=this.getCurrentFile(),u||null==d||d.constructor!=window.DriveFile?c="#R"+encodeURIComponent(c?this.getFileData(!0,null,null,null,null,null,null,!0):this.editor.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)?"https://www.draw.io/":"https://"+window.location.host+"/")+(0<f.length?"?"+f.join("&"):"")+c};EditorUi.prototype.createHtml=function(a,b,c,e,k,h,n,u,l,t,q){this.getBasenames();var d={};""!=k&&k!=mxConstants.NONE&&(d.highlight=k);"auto"!==e&&(d.target=e);l||(d.lightbox=!1);d.nav=this.editor.graph.foldingEnabled;
+c=parseInt(c);isNaN(c)||100==c||(d.zoom=c/100);c=[];n&&(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);u&&c.push("layers");0<c.length&&(l&&c.push("lightbox"),d.toolbar=c.join(" "));null!=t&&0<t.length&&(d.edit=t);null!=a?d.url=a:d.xml=this.getFileData(!0,null,null,null,null,!n);b='<div class="mxgraph" style="'+(h?"max-width:100%;":"")+(""!=c?"border:1px solid transparent;":"")+'" data-mxgraph="'+
+mxUtils.htmlEntities(JSON.stringify(d))+'"></div>';a=null!=a?"&fetch="+encodeURIComponent(a):"";q(b,'<script type="text/javascript" src="'+(0<a.length?("1"==urlParams.dev?"https://test.draw.io/embed2.js?dev=1":"https://www.draw.io/embed2.js?")+a:"1"==urlParams.dev?"https://test.draw.io/js/viewer.min.js":"https://www.draw.io/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 g=document.createElement("div");g.style.cssText="border-bottom:1px solid lightGray;padding-bottom:8px;margin-bottom:12px;";var m=document.createElement("input");m.style.cssText="margin-right:8px;margin-top:8px;margin-bottom:8px;";m.setAttribute("value","url");m.setAttribute("type","radio");m.setAttribute("name","type-embedhtmldialog");f=m.cloneNode(!0);f.setAttribute("value",
+"copy");g.appendChild(f);var k=document.createElement("span");mxUtils.write(k,mxResources.get("includeCopyOfMyDiagram"));g.appendChild(k);mxUtils.br(g);g.appendChild(m);k=document.createElement("span");mxUtils.write(k,mxResources.get("publicDiagramUrl"));g.appendChild(k);var t=this.getCurrentFile();null==c&&null!=t&&t.constructor==window.DriveFile&&(k=document.createElement("a"),k.style.paddingLeft="12px",k.style.color="gray",k.setAttribute("href","javascript:void(0);"),mxUtils.write(k,mxResources.get("share")),
+g.appendChild(k),mxEvent.addListener(k,"click",mxUtils.bind(this,function(){this.hideDialog();this.drive.showPermissions(t.getId())})));f.setAttribute("checked","checked");null==c&&m.setAttribute("disabled","disabled");d.appendChild(g);var l=this.addLinkSection(d),q=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 v=this.addCheckbox(d,mxResources.get("fit"),!0),g=null!=this.pages&&1<this.pages.length,B=B=this.addCheckbox(d,mxResources.get("allPages"),g,!g),y=this.addCheckbox(d,mxResources.get("layers"),!0),C=this.addCheckbox(d,mxResources.get("lightbox"),!0),I=this.addEditButton(d,C),z=I.getEditInput();z.style.marginBottom="16px";mxEvent.addListener(C,"change",function(){C.checked?z.removeAttribute("disabled"):z.setAttribute("disabled","disabled");z.checked&&C.checked?
+I.getEditSelect().removeAttribute("disabled"):I.getEditSelect().setAttribute("disabled","disabled")});a=new CustomDialog(this,d,mxUtils.bind(this,function(){e(m.checked?c:null,q.checked,p.value,l.getTarget(),l.getColor(),v.checked,B.checked,y.checked,C.checked,I.getLink())}),null,a,b);this.showDialog(a.container,340,384,!0,!0);f.focus()};EditorUi.prototype.showPublishLinkDialog=function(a,b,c,e,k,h){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 g=this.getCurrentFile(),f="https://desk.draw.io/support/solutions/articles/16000051941";a=0;if(null!=g&&g.constructor==window.DriveFile&&!b){a=80;var f="https://desk.draw.io/support/solutions/articles/16000039384",m=document.createElement("div");m.style.cssText="border-bottom:1px solid lightGray;padding-bottom:14px;padding-top:6px;margin-bottom:14px;text-align:center;";
+var r=document.createElement("div");r.style.whiteSpace="normal";mxUtils.write(r,mxResources.get("linkAccountRequired"));m.appendChild(r);r=mxUtils.button(mxResources.get("share"),mxUtils.bind(this,function(){this.drive.showPermissions(g.getId())}));r.style.marginTop="12px";r.className="geBtn";m.appendChild(r);d.appendChild(m);r=document.createElement("a");r.style.paddingLeft="12px";r.style.color="gray";r.style.fontSize="11px";r.setAttribute("href","javascript:void(0);");mxUtils.write(r,mxResources.get("check"));
+m.appendChild(r);mxEvent.addListener(r,"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 l=null,q=null;if(null!=c||null!=e)a+=30,mxUtils.write(d,mxResources.get("width")+":"),l=document.createElement("input"),
+l.setAttribute("type","text"),l.style.marginRight="16px",l.style.width="50px",l.style.marginLeft="6px",l.style.marginRight="16px",l.style.marginBottom="10px",l.value="100%",d.appendChild(l),mxUtils.write(d,mxResources.get("height")+":"),q=document.createElement("input"),q.setAttribute("type","text"),q.style.width="50px",q.style.marginLeft="6px",q.style.marginBottom="10px",q.value=e+"px",d.appendChild(q),mxUtils.br(d);var p=this.addLinkSection(d,h);c=null!=this.pages&&1<this.pages.length;var B=null;
+if(null==g||g.constructor!=window.DriveFile||b)B=this.addCheckbox(d,mxResources.get("allPages"),c,!c);var v=this.addCheckbox(d,mxResources.get("lightbox"),!0),C=this.addEditButton(d,v),I=C.getEditInput(),z=this.addCheckbox(d,mxResources.get("layers"),!0);z.style.marginLeft=I.style.marginLeft;z.style.marginBottom="16px";z.style.marginTop="8px";mxEvent.addListener(v,"change",function(){v.checked?(z.removeAttribute("disabled"),I.removeAttribute("disabled")):(z.setAttribute("disabled","disabled"),I.setAttribute("disabled",
+"disabled"));I.checked&&v.checked?C.getEditSelect().removeAttribute("disabled"):C.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,d,mxUtils.bind(this,function(){k(p.getTarget(),p.getColor(),null==B?!0:B.checked,v.checked,C.getLink(),z.checked,null!=l?l.value:null,null!=q?q.value:null)}),null,mxResources.get("create"),f);this.showDialog(b.container,340,254+a,!0,!0);null!=l?(l.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?l.select():
+document.execCommand("selectAll",!1,null)):p.focus()};EditorUi.prototype.showRemoteExportDialog=function(a,b,c,e){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:4px";d.appendChild(f);var g=this.addCheckbox(d,mxResources.get("selectionOnly"),!1,this.editor.graph.isSelectionEmpty()),m=e?null:this.addCheckbox(d,mxResources.get("includeCopyOfMyDiagram"),
+!0),f=this.editor.graph,k=e?null:this.addCheckbox(d,mxResources.get("transparentBackground"),f.background==mxConstants.NONE||null==f.background);null!=k&&(k.style.marginBottom="16px");a=new CustomDialog(this,d,mxUtils.bind(this,function(){c(!g.checked,null!=m?m.checked:!1,null!=k?k.checked:!1)}),null,a,b);this.showDialog(a.container,300,e?100:186,!0,!0)};EditorUi.prototype.showExportDialog=function(a,b,c,e,k,h,n,l){n=null!=n?n:!0;var d=document.createElement("div");d.style.whiteSpace="nowrap";var f=
+this.editor.graph,g="jpeg"==l?196:300,m=document.createElement("h3");mxUtils.write(m,a);m.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:10px";d.appendChild(m);mxUtils.write(d,mxResources.get("zoom")+":");var r=document.createElement("input");r.setAttribute("type","text");r.style.marginRight="16px";r.style.width="60px";r.style.marginLeft="4px";r.style.marginRight="12px";r.value=this.lastExportZoom||"100%";d.appendChild(r);mxUtils.write(d,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";d.appendChild(u);mxUtils.br(d);var q=this.addCheckbox(d,mxResources.get("transparentBackground"),f.background==mxConstants.NONE||null==f.background,null,null,"jpeg"!=l),p=this.addCheckbox(d,mxResources.get("selectionOnly"),!1,f.isSelectionEmpty()),v=document.createElement("input");v.style.marginTop="16px";v.style.marginRight=
+"8px";v.style.marginLeft="24px";v.setAttribute("disabled","disabled");v.setAttribute("type","checkbox");h&&(d.appendChild(v),mxUtils.write(d,mxResources.get("crop")),mxUtils.br(d),g+=26,mxEvent.addListener(p,"change",function(){p.checked?v.removeAttribute("disabled"):v.setAttribute("disabled","disabled")}));f.isSelectionEmpty()||(v.setAttribute("checked","checked"),v.defaultChecked=!0);var I=this.addCheckbox(d,mxResources.get("shadow"),f.shadowVisible),z=document.createElement("input");z.style.marginTop=
+"16px";z.style.marginRight="8px";z.setAttribute("type","checkbox");!this.isOffline()&&this.canvasSupported||z.setAttribute("disabled","disabled");b&&(d.appendChild(z),mxUtils.write(d,mxResources.get("embedImages")),mxUtils.br(d),g+=26);var N=this.addCheckbox(d,mxResources.get("includeCopyOfMyDiagram"),n,null,null,"jpeg"!=l),E=null!=this.pages&&1<this.pages.length,J=this.addCheckbox(d,E?mxResources.get("allPages"):"",E,!E,null,"jpeg"!=l);J.style.marginLeft="24px";J.style.marginBottom="16px";E||(J.style.visibility=
+"hidden");mxEvent.addListener(N,"change",function(){N.checked&&E?J.removeAttribute("disabled"):J.setAttribute("disabled","disabled")});n&&E||J.setAttribute("disabled","disabled");a=new CustomDialog(this,d,mxUtils.bind(this,function(){this.lastExportBorder=u.value;this.lastExportZoom=r.value;k(r.value,q.checked,!p.checked,I.checked,N.checked,z.checked,u.value,v.checked,!J.checked)}),null,c,e);this.showDialog(a.container,340,g,!0,!0);r.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||
+mxClient.IS_QUIRKS?r.select():document.execCommand("selectAll",!1,null)};EditorUi.prototype.showEmbedImageDialog=function(a,b,c,e,k){var d=document.createElement("div");d.style.whiteSpace="nowrap";var f=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";d.appendChild(g)}var m=this.addCheckbox(d,mxResources.get("fit"),!0),r=this.addCheckbox(d,mxResources.get("shadow"),f.shadowVisible&&e,
+!e),l=this.addCheckbox(d,c),q=this.addCheckbox(d,mxResources.get("lightbox"),!0),p=this.addEditButton(d,q),v=p.getEditInput(),B=1<f.model.getChildCount(f.model.getRoot()),y=this.addCheckbox(d,mxResources.get("layers"),B,!B);y.style.marginLeft=v.style.marginLeft;y.style.marginBottom="12px";y.style.marginTop="8px";mxEvent.addListener(q,"change",function(){q.checked?(B&&y.removeAttribute("disabled"),v.removeAttribute("disabled")):(y.setAttribute("disabled","disabled"),v.setAttribute("disabled","disabled"));
+v.checked&&q.checked?p.getEditSelect().removeAttribute("disabled"):p.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,d,mxUtils.bind(this,function(){a(m.checked,r.checked,l.checked,q.checked,p.getLink(),y.checked)}),null,mxResources.get("embed"),k);this.showDialog(b.container,280,280,!0,!0)};EditorUi.prototype.createEmbedImage=function(a,b,c,e,k,h,n,l){function d(d){var b=" ",g="";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('https://www.draw.io/?client=1&lightbox=1"+
+(k?"&edit=_blank":"")+(h?"&layers=1":"")+"');}})(this);\"",g+="cursor:pointer;");a&&(g+="max-width:100%;");var m="";c&&(m=' width="'+Math.round(f.width)+'" height="'+Math.round(f.height)+'"');n('<img src="'+d+'"'+m+(""!=g?' style="'+g+'"':"")+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){l({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 g="";c&&(g="&w="+Math.round(2*f.width)+"&h="+Math.round(2*f.height));var m=new mxXmlRequest(EXPORT_URL,"format=png&base64=1&embedXml="+(e?"1":"0")+g+"&xml="+encodeURIComponent(b));m.send(mxUtils.bind(this,function(){200<=m.getStatus()&&299>=m.getStatus()?d("data:image/png;base64,"+m.getText()):l({message:mxResources.get("unknownError")})}))}else l({message:mxResources.get("drawingTooLarge")})};
+EditorUi.prototype.createEmbedSvg=function(a,b,c,e,k,h,n){var d=this.editor.graph.getSvg(),f=d.getElementsByTagName("a");if(null!=f)for(var g=0;g<f.length;g++){var m=f[g].getAttribute("href");null!=m&&"#"==m.charAt(0)&&"_blank"==f[g].getAttribute("target")&&f[g].removeAttribute("target")}e&&d.setAttribute("content",this.getFileData(!0));b&&this.editor.graph.addSvgShadow(d);if(c){var r=" ",l="";e&&(r="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('https://www.draw.io/?client=1&lightbox=1"+
+(k?"&edit=_blank":"")+(h?"&layers=1":"")+"');}})(this);\"",l+="cursor:pointer;");a&&(l+="max-width:100%;");this.convertImages(d,mxUtils.bind(this,function(a){n('<img src="'+this.createSvgDataUri(mxUtils.getXml(a))+'"'+(""!=l?' style="'+l+'"':"")+r+"/>")}))}else l="",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('https://www.draw.io/?client=1&lightbox=1"+
+(k?"&edit=_blank":"")+(h?"&layers=1":"")+"');}}})(this);"),l+="cursor:pointer;"),a&&(a=parseInt(d.getAttribute("width")),b=parseInt(d.getAttribute("height")),d.setAttribute("viewBox","0 0 "+a+" "+b),l+="max-width:100%;max-height:"+b+"px;",d.removeAttribute("height")),""!=l&&d.setAttribute("style",l),n(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.convertMath=function(a,b,c,e){e()};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],e=b.getGlobalVariable;b.getGlobalVariable=function(a){return"page"==a?d.getAttribute("name")||mxResources.get("pageWithNumber",[1]):"pagenumber"==a?1:e.apply(this,arguments)}}}null!=d&&(c=b.decompress(mxUtils.getTextContent(d)),null!=c&&0<c.length&&(a=mxUtils.parseXml(c).documentElement))}c=this.editor.graph;try{this.editor.graph=b,this.editor.setGraphXml(a)}catch(h){}finally{this.editor.graph=c}return a};EditorUi.prototype.getEmbeddedPng=function(a,b,c){var d=this.editor.graph,
-e=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),e=c;else if(null!=this.pages&&this.currentPage!=this.pages[0]){var d=this.createTemporaryGraph(d.getStylesheet()),f=d.getGlobalVariable,g=this.pages[0];d.getGlobalVariable=function(a){return"page"==a?g.getName():"pagenumber"==a?1:f.apply(this,arguments)};document.body.appendChild(d.container);
-d.model.setRoot(g.root)}this.exportToCanvas(mxUtils.bind(this,function(c){try{null==e&&(e=this.getFileData(!0));var f=c.toDataURL("image/png"),f=this.writeGraphModelToPng(f,"zTXt","mxGraphModel",atob(this.editor.graph.compress(e)));a(f.substring(f.lastIndexOf(",")+1));d!=this.editor.graph&&d.container.parentNode.removeChild(d.container)}catch(t){null!=b&&b(t)}}),null,null,null,mxUtils.bind(this,function(a){null!=b&&b(a)}),null,null,null,null,d.shadowVisible,null,d)};EditorUi.prototype.getEmbeddedSvg=
-function(a,b,c,e,k,h,m){m=b.background;m==mxConstants.NONE&&(m=null);b=b.getSvg(m,null,null,null,null,h);null!=a&&b.setAttribute("content",a);null!=c&&b.setAttribute("resource",c);if(null!=k)this.convertImages(b,mxUtils.bind(this,function(a){k((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(b)};EditorUi.prototype.exportImage=function(a,b,c,e,k,h,m,l,q){q=null!=q?q:"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,k?this.getFileData(!0,null,null,null,c,l):null,q)}catch(F){"Invalid image"==F.message?this.downloadFile(q):this.handleError(F)}}),null,
-this.thumbImageCache,null,mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}),null,c,a||1,b,e,null,null,h,m)}catch(x){this.spinner.stop(),this.handleError(x)}}};EditorUi.prototype.loadFonts=function(a){if(null!=this.editor.fontCss&&null==this.editor.resolvedFontCss){var d=function(a){return a.replace(RegExp("^[\\s\"']+","g"),"").replace(RegExp("[\\s\"']+$","g"),"")},b=this.editor.fontCss.split("url("),c=0,e={},h=mxUtils.bind(this,function(){if(0==c){for(var f=[b[0]],g=1;g<b.length;g++){var h=
-b[g].indexOf(")");f.push('url("');f.push(e[d(b[g].substring(0,h))]);f.push('"'+b[g].substring(h))}this.editor.resolvedFontCss=f.join("");a()}});if(0<b.length)for(var m=1;m<b.length;m++){var k=b[m].indexOf(")"),l=null,t=b[m].indexOf("format(",k);0<t&&(l=d(b[m].substring(t+7,b[m].indexOf(")",t))));mxUtils.bind(this,function(a){if(null==e[a]){e[a]=a;c++;var d="application/x-font-ttf";if("svg"==l||/(\.svg)($|\?)/i.test(a))d="image/svg+xml";else if("otf"==l||"embedded-opentype"==l||/(\.otf)($|\?)/i.test(a))d=
+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&&(c=b.decompress(mxUtils.getTextContent(d)),null!=c&&0<c.length&&(a=mxUtils.parseXml(c).documentElement))}c=this.editor.graph;try{this.editor.graph=b,this.editor.setGraphXml(a)}catch(h){}finally{this.editor.graph=c}return a};EditorUi.prototype.getEmbeddedPng=function(a,b,c){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,g=this.pages[0];d.getGlobalVariable=function(a){return"page"==a?g.getName():"pagenumber"==a?1:e.apply(this,arguments)};document.body.appendChild(d.container);
+d.model.setRoot(g.root)}this.exportToCanvas(mxUtils.bind(this,function(c){try{null==f&&(f=this.getFileData(!0));var e=c.toDataURL("image/png"),e=this.writeGraphModelToPng(e,"zTXt","mxGraphModel",atob(this.editor.graph.compress(f)));a(e.substring(e.lastIndexOf(",")+1));d!=this.editor.graph&&d.container.parentNode.removeChild(d.container)}catch(t){null!=b&&b(t)}}),null,null,null,mxUtils.bind(this,function(a){null!=b&&b(a)}),null,null,null,null,d.shadowVisible,null,d)};EditorUi.prototype.getEmbeddedSvg=
+function(a,b,c,e,k,h,n){n=b.background;n==mxConstants.NONE&&(n=null);b=b.getSvg(n,null,null,null,null,h);null!=a&&b.setAttribute("content",a);null!=c&&b.setAttribute("resource",c);if(null!=k)this.convertImages(b,mxUtils.bind(this,function(a){k((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(b)};EditorUi.prototype.exportImage=function(a,b,c,e,k,h,n,l,q){q=null!=q?q:"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,k?this.getFileData(!0,null,null,null,c,l):null,q)}catch(F){"Invalid image"==F.message?this.downloadFile(q):this.handleError(F)}}),null,
+this.thumbImageCache,null,mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}),null,c,a||1,b,e,null,null,h,n)}catch(x){this.spinner.stop(),this.handleError(x)}}};EditorUi.prototype.loadFonts=function(a){if(null!=this.editor.fontCss&&null==this.editor.resolvedFontCss){var d=function(a){return a.replace(RegExp("^[\\s\"']+","g"),"").replace(RegExp("[\\s\"']+$","g"),"")},b=this.editor.fontCss.split("url("),c=0,e={},h=mxUtils.bind(this,function(){if(0==c){for(var f=[b[0]],g=1;g<b.length;g++){var h=
+b[g].indexOf(")");f.push('url("');f.push(e[d(b[g].substring(0,h))]);f.push('"'+b[g].substring(h))}this.editor.resolvedFontCss=f.join("");a()}});if(0<b.length)for(var n=1;n<b.length;n++){var k=b[n].indexOf(")"),l=null,t=b[n].indexOf("format(",k);0<t&&(l=d(b[n].substring(t+7,b[n].indexOf(")",t))));mxUtils.bind(this,function(a){if(null==e[a]){e[a]=a;c++;var d="application/x-font-ttf";if("svg"==l||/(\.svg)($|\?)/i.test(a))d="image/svg+xml";else if("otf"==l||"embedded-opentype"==l||/(\.otf)($|\?)/i.test(a))d=
"application/x-font-opentype";else if("woff"==l||/(\.woff)($|\?)/i.test(a))d="application/font-woff";else if("woff2"==l||/(\.woff2)($|\?)/i.test(a))d="application/font-woff2";else if("eot"==l||/(\.eot)($|\?)/i.test(a))d="application/vnd.ms-fontobject";else if("sfnt"==l||/(\.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){e[a]=d;c--;h()}),mxUtils.bind(this,
-function(a){c--;h()}),!0,null,"data:"+d+";charset=utf-8;base64,")}})(d(b[m].substring(0,k)),l)}}else a()};EditorUi.prototype.exportToCanvas=function(a,b,c,e,k,h,m,l,q,t,p,v,D,G){h=null!=h?h:!0;v=null!=v?v:this.editor.graph;D=null!=D?D:0;var d=q?null:v.background;d==mxConstants.NONE&&(d=null);null==d&&(d=e);null==d&&0==q&&(d=this.editor.graph.defaultPageBackgroundColor);this.convertImages(v.getSvg(d,null,null,G,null,null!=m?m:!0),mxUtils.bind(this,function(c){var e=new Image;e.onload=mxUtils.bind(this,
-function(){try{var f=document.createElement("canvas"),g=parseInt(c.getAttribute("width")),m=parseInt(c.getAttribute("height"));l=null!=l?l:1;null!=b&&(l=h?Math.min(1,Math.min(3*b/(4*m),b/g)):b/g);g=Math.ceil(l*g)+2*D;m=Math.ceil(l*m)+2*D;f.setAttribute("width",g);f.setAttribute("height",m);var n=f.getContext("2d");null!=d&&(n.beginPath(),n.rect(0,0,g,m),n.fillStyle=d,n.fill());n.scale(l,l);mxClient.IS_SF?window.setTimeout(function(){n.drawImage(e,D/l,D/l);a(f)},0):(n.drawImage(e,D/l,D/l),a(f))}catch(R){null!=
-k&&k(R)}});e.onerror=function(a){null!=k&&k(a)};try{t&&this.editor.graph.addSvgShadow(c);var f=mxUtils.bind(this,function(){if(null!=this.editor.resolvedFontCss){var a=document.createElement("style");a.setAttribute("type","text/css");a.innerHTML=this.editor.resolvedFontCss;c.getElementsByTagName("defs")[0].appendChild(a)}this.convertMath(v,c,!0,mxUtils.bind(this,function(){e.src=this.createSvgDataUri(mxUtils.getXml(c))}))});this.loadFonts(f)}catch(z){null!=k&&k(z)}}),c,p)};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.isCorsEnabledForUrl(d)?"chrome-extension://"!=d.substring(0,19)&&(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,g){for(var h=a.getElementsByTagName(c),m=0;m<h.length;m++)mxUtils.bind(this,function(c){var h=e.convert(c.getAttribute(g));if(null!=h&&"data:"!=h.substring(0,5)){var m=f[h];null==m?(d++,this.convertImageToDataUri(h,function(e){null!=e&&(f[h]=e,c.setAttribute(g,e));d--;0==d&&b(a)})):c.setAttribute(g,m)}else null!=h&&c.setAttribute(g,h)})(h[m])});c("image","xlink:href");c("img","src");0==d&&b(a)};EditorUi.prototype.loadUrl=
-function(a,b,c,e,k,h){try{var d=e||/(\.png)($|\?)/i.test(a)||/(\.jpe?g)($|\?)/i.test(a)||/(\.gif)($|\?)/i.test(a);k=null!=k?k:!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 e=a.getText();if(d){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("")}h=null!=h?h:"data:image/png;base64,";e=h+this.base64Encode(e)}b(e)}}else null!=c&&c({code:App.ERROR_UNKNOWN},a)}),function(){null!=c&&c({code:App.ERROR_UNKNOWN})},d,this.timeout,function(){k&&null!=c&&c({code:App.ERROR_TIMEOUT,retry:f})})});f()}catch(w){null!=c&&c(w)}};EditorUi.prototype.isCorsEnabledForUrl=function(a){null!=urlParams.cors&&null==this.corsRegExp&&(this.corsRegExp=new RegExp(decodeURIComponent(urlParams.cors)));return null!=this.corsRegExp&&this.corsRegExp.test(a)||
+function(a){c--;h()}),!0,null,"data:"+d+";charset=utf-8;base64,")}})(d(b[n].substring(0,k)),l)}}else a()};EditorUi.prototype.exportToCanvas=function(a,b,c,e,k,h,n,l,q,t,p,v,D,G){h=null!=h?h:!0;v=null!=v?v:this.editor.graph;D=null!=D?D:0;var d=q?null:v.background;d==mxConstants.NONE&&(d=null);null==d&&(d=e);null==d&&0==q&&(d=this.editor.graph.defaultPageBackgroundColor);this.convertImages(v.getSvg(d,null,null,G,null,null!=n?n:!0),mxUtils.bind(this,function(c){var f=new Image;f.onload=mxUtils.bind(this,
+function(){try{var e=document.createElement("canvas"),g=parseInt(c.getAttribute("width")),n=parseInt(c.getAttribute("height"));l=null!=l?l:1;null!=b&&(l=h?Math.min(1,Math.min(3*b/(4*n),b/g)):b/g);g=Math.ceil(l*g)+2*D;n=Math.ceil(l*n)+2*D;e.setAttribute("width",g);e.setAttribute("height",n);var m=e.getContext("2d");null!=d&&(m.beginPath(),m.rect(0,0,g,n),m.fillStyle=d,m.fill());m.scale(l,l);mxClient.IS_SF?window.setTimeout(function(){m.drawImage(f,D/l,D/l);a(e)},0):(m.drawImage(f,D/l,D/l),a(e))}catch(R){null!=
+k&&k(R)}});f.onerror=function(a){null!=k&&k(a)};try{t&&this.editor.graph.addSvgShadow(c);var e=mxUtils.bind(this,function(){if(null!=this.editor.resolvedFontCss){var a=document.createElement("style");a.setAttribute("type","text/css");a.innerHTML=this.editor.resolvedFontCss;c.getElementsByTagName("defs")[0].appendChild(a)}this.convertMath(v,c,!0,mxUtils.bind(this,function(){f.src=this.createSvgDataUri(mxUtils.getXml(c))}))});this.loadFonts(e)}catch(z){null!=k&&k(z)}}),c,p)};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.isCorsEnabledForUrl(d)?"chrome-extension://"!=d.substring(0,19)&&(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,g){for(var h=a.getElementsByTagName(c),n=0;n<h.length;n++)mxUtils.bind(this,function(c){var h=e.convert(c.getAttribute(g));if(null!=h&&"data:"!=h.substring(0,5)){var n=f[h];null==n?(d++,this.convertImageToDataUri(h,function(e){null!=e&&(f[h]=e,c.setAttribute(g,e));d--;0==d&&b(a)})):c.setAttribute(g,n)}else null!=h&&c.setAttribute(g,h)})(h[n])});c("image","xlink:href");c("img","src");0==d&&b(a)};EditorUi.prototype.loadUrl=
+function(a,b,c,e,k,h){try{var d=e||/(\.png)($|\?)/i.test(a)||/(\.jpe?g)($|\?)/i.test(a)||/(\.gif)($|\?)/i.test(a);k=null!=k?k:!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("")}h=null!=h?h:"data:image/png;base64,";f=h+this.base64Encode(f)}b(f)}}else null!=c&&c({code:App.ERROR_UNKNOWN},a)}),function(){null!=c&&c({code:App.ERROR_UNKNOWN})},d,this.timeout,function(){k&&null!=c&&c({code:App.ERROR_TIMEOUT,retry:f})})});f()}catch(w){null!=c&&c(w)}};EditorUi.prototype.isCorsEnabledForUrl=function(a){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?:\/\/[^\/]*\.iconfinder.com\//.test(a)||/^https?:\/\/[^\/]*\.draw\.io\/proxy/.test(a)||/^https?:\/\/[^\/]*\.github\.io\//.test(a)};EditorUi.prototype.convertImageToDataUri=function(a,b){if(/(\.svg)$/i.test(a))mxUtils.get(a,mxUtils.bind(this,function(a){b(this.createSvgDataUri(a.getText()))}),function(){b(this.svgBrokenImage.src)});else{var d=new Image,
-c=this;this.crossOriginImages&&(d.crossOrigin="anonymous");d.onload=function(){var a=document.createElement("canvas"),e=a.getContext("2d");a.height=d.height;a.width=d.width;e.drawImage(d,0,0);try{b(a.toDataURL())}catch(m){b(c.svgBrokenImage.src)}};d.onerror=function(){b(c.svgBrokenImage.src)};d.src=a}};EditorUi.prototype.importXml=function(a,b,c,e,k){b=null!=b?b:0;c=null!=c?c:0;var d=[];try{var f=this.editor.graph;if(null!=a&&0<a.length){var g=mxUtils.parseXml(a),n=this.editor.extractGraphModel(g.documentElement,
-null!=this.pages);if(null!=n&&"mxfile"==n.nodeName&&null!=this.pages){var l=n.getElementsByTagName("diagram");if(1==l.length)n=mxUtils.parseXml(f.decompress(mxUtils.getTextContent(l[0]))).documentElement;else if(1<l.length){f.model.beginUpdate();try{for(a=0;a<l.length;a++){var r=this.updatePageRoot(new DiagramPage(l[a])),q=this.pages.length;null==r.getName()&&r.setName(mxResources.get("pageWithNumber",[q+1]));f.model.execute(new ChangePage(this,r,r,q))}}finally{f.model.endUpdate()}}}null!=n&&"mxGraphModel"===
-n.nodeName&&(d=f.importGraphModel(n,b,c,e))}}catch(D){throw k||this.handleError(D,mxResources.get("invalidOrMissingFile")),D;}return d};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)if(/(\.vsd)($|\?)/i.test(e)&&null!=VSD_CONVERT_URL){var d=new FormData;d.append("file1",a,e);var f=new XMLHttpRequest;f.open("POST",VSD_CONVERT_URL);f.responseType=
+c=this;this.crossOriginImages&&(d.crossOrigin="anonymous");d.onload=function(){var a=document.createElement("canvas"),f=a.getContext("2d");a.height=d.height;a.width=d.width;f.drawImage(d,0,0);try{b(a.toDataURL())}catch(n){b(c.svgBrokenImage.src)}};d.onerror=function(){b(c.svgBrokenImage.src)};d.src=a}};EditorUi.prototype.importXml=function(a,b,c,e,k){b=null!=b?b:0;c=null!=c?c:0;var d=[];try{var f=this.editor.graph;if(null!=a&&0<a.length){var g=mxUtils.parseXml(a),m=this.editor.extractGraphModel(g.documentElement,
+null!=this.pages);if(null!=m&&"mxfile"==m.nodeName&&null!=this.pages){var l=m.getElementsByTagName("diagram");if(1==l.length)m=mxUtils.parseXml(f.decompress(mxUtils.getTextContent(l[0]))).documentElement;else if(1<l.length){f.model.beginUpdate();try{for(a=0;a<l.length;a++){var r=this.updatePageRoot(new DiagramPage(l[a])),q=this.pages.length;null==r.getName()&&r.setName(mxResources.get("pageWithNumber",[q+1]));f.model.execute(new ChangePage(this,r,r,q))}}finally{f.model.endUpdate()}}}null!=m&&"mxGraphModel"===
+m.nodeName&&(d=f.importGraphModel(m,b,c,e))}}catch(D){throw k||this.handleError(D,mxResources.get("invalidOrMissingFile")),D;}return d};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)if(/(\.vsd)($|\?)/i.test(e)&&null!=VSD_CONVERT_URL){var d=new FormData;d.append("file1",a,e);var f=new XMLHttpRequest;f.open("POST",VSD_CONVERT_URL);f.responseType=
"blob";f.onreadystatechange=mxUtils.bind(this,function(){if(4==f.readyState)if(200<=f.status&&299>=f.status)try{this.doImportVisio(f.response,b,c)}catch(u){c(u)}else c({})});f.send(d)}else try{this.doImportVisio(a,b,c)}catch(u){c(u)}});this.doImportVisio||this.loadingExtensions||this.isOffline()?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()}catch(f){this.handleError(f)}});
-"undefined"!==typeof VsdxExport||this.loadingExtensions||this.isOffline()?a():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",a))};EditorUi.prototype.importLucidChart=function(a,b,c,e,k){var d=mxUtils.bind(this,function(){this.loadingExtensions=!1;if(this.pasteLucidChart)try{this.insertLucidChart(a,b,c,e,k)}catch(m){this.handleError(m)}finally{null!=k&&k()}});this.pasteLucidChart||this.loadingExtensions||this.isOffline()?window.setTimeout(d,0):(this.loadingExtensions=!0,"1"==urlParams.dev?
+"undefined"!==typeof VsdxExport||this.loadingExtensions||this.isOffline()?a():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",a))};EditorUi.prototype.importLucidChart=function(a,b,c,e,k){var d=mxUtils.bind(this,function(){this.loadingExtensions=!1;if(this.pasteLucidChart)try{this.insertLucidChart(a,b,c,e,k)}catch(n){this.handleError(n)}finally{null!=k&&k()}});this.pasteLucidChart||this.loadingExtensions||this.isOffline()?window.setTimeout(d,0):(this.loadingExtensions=!0,"1"==urlParams.dev?
mxscript("js/diagramly/Extensions.js",d):mxscript("js/extensions.min.js",d))};EditorUi.prototype.insertLucidChart=function(a,b,c,e,k){k=JSON.parse(a);a=[];if(null!=k.state){k=JSON.parse(k.state);for(var d in k.Pages)a.push(k.Pages[d]);a.sort(function(a,d){return a.Properties.Order<d.Properties.Order?-1:a.Properties.Order>d.Properties.Order?1:0})}else a.push(k);if(0<a.length){this.editor.graph.getModel().beginUpdate();try{if(this.pasteLucidChart(a[0],b,c,e),null!=this.pages){var f=this.currentPage;
-for(b=1;b<a.length;b++)this.insertPage(),this.pasteLucidChart(a[b]);this.selectPage(f)}}finally{this.editor.graph.getModel().endUpdate()}}};EditorUi.prototype.insertTextAt=function(a,b,c,e,k,h,m){h=null!=h?h:!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,
+for(b=1;b<a.length;b++)this.insertPage(),this.pasteLucidChart(a[b]);this.selectPage(f)}}finally{this.editor.graph.getModel().endUpdate()}}};EditorUi.prototype.insertTextAt=function(a,b,c,e,k,h,n){h=null!=h?h:!0;n=null!=n?n:!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()&&(k||/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(a))){var d=this.editor.graph;if("data:image/png;base64,"==a.substring(0,22)){var f=this.extractGraphModelFromPng(a),g=this.importXml(f,b,c,h,!0);if(0<g.length)return g}if("data:image/svg+xml;"==a.substring(0,19))try{if(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)),g=this.importXml(f,b,c,h,!0),0<g.length)return g}catch(x){}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){d.setSelectionCell(d.insertVertex(null,null,"",d.snap(b),d.snap(c),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)),g=Math.round(e.width*f);e=Math.round(e.height*f);d.setSelectionCell(d.insertVertex(null,null,"",d.snap(b),d.snap(c),g,e,"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",
+1)),g=this.importXml(f,b,c,h,!0),0<g.length)return g}catch(x){}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)+";"))}),n,this.maxImageSize);else{var e=Math.min(1,Math.min(this.maxImageSize/f.width,this.maxImageSize/
+f.height)),g=Math.round(f.width*e);f=Math.round(f.height*e);d.setSelectionCell(d.insertVertex(null,null,"",d.snap(b),d.snap(c),g,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=this.editor.graph.zapGremlins(mxUtils.trim(a));if(this.isCompatibleString(a))return this.importXml(a,b,c,h);if(0<a.length)if('{"state":"{\\"Properties\\":'==a.substring(0,26))this.importLucidChart(a,b,c,h);else{d=this.editor.graph;k=null;d.getModel().beginUpdate();try{k=d.insertVertex(d.getDefaultParent(),null,"",d.snap(b),d.snap(c),1,1,"text;"+(e?"html=1;":"")),d.fireEvent(new mxEventObject("textInserted","cells",[k])),k.value=
a,d.updateCellSize(k),/\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(k.value)&&d.setLinkForCell(k,k.value),k.geometry.width+=d.gridSize,k.geometry.height+=d.gridSize}finally{d.getModel().endUpdate()}return[k]}}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 d=a.indexOf(";");0<d&&(a=a.substring(0,d)+a.substring(a.indexOf(",",d+1)))}return a};EditorUi.prototype.isRemoteFileFormat=function(a,b){return/(\"contentType\":\s*\"application\/gliffy\+json\")/.test(a)};EditorUi.prototype.importFile=function(a,b,c,e,k,h,m,l,q,t,p){t=null!=t?t:!0;var d=!1,f=null,g=mxUtils.bind(this,function(a){var d=null;null!=a&&"<mxlibrary"==a.substring(0,
-10)?this.loadLibrary(new LocalLibrary(this,a,m)):d=this.importXml(a,c,e,t);null!=l&&l(d)});"image"==b.substring(0,5)?(q=!1,"image/png"==b.substring(0,9)&&(b=p?null:this.extractGraphModelFromPng(a),null!=b&&0<b.length&&(f=this.importXml(b,c,e,t),q=!0)),q||(f=this.editor.graph,b=a.indexOf(";"),0<b&&(a=a.substring(0,b)+a.substring(a.indexOf(",",b+1))),t&&f.isGridEnabled()&&(c=f.snap(c),e=f.snap(e)),f=[f.insertVertex(null,null,"",c,e,k,h,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+
-a+";")])):/(\.*<graphml )/.test(a)&&"undefined"!==typeof window.mxGraphMlCodec?(new mxGraphMlCodec).decode(a,mxUtils.bind(this,function(a){a=this.importXml(a,c,e,t);null!=l&&l(a)})):null!=q&&null!=m&&(/(\.vsdx?)($|\?)/i.test(m)||/(\.vssx)($|\?)/i.test(m))?(d=!0,this.importVisio(q,g)):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(a,m)?(d=!0,this.parseFile(null!=q?q:new Blob([a],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&(200<=a.status&&
-299>=a.status?g(a.responseText):null!=l&&l(null))}),m)):/(\.vsd)($|\?)/i.test(m)||(f=this.insertTextAt(this.validateFileData(a),c,e,!0,null,t));d||null==l||l(f);return f};EditorUi.prototype.base64Encode=function(a){for(var b="",d=0,c=a.length,e,h,m;d<c;){e=a.charCodeAt(d++)&255;if(d==c){b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4);b+="==";break}h=a.charCodeAt(d++);if(d==c){b+=
-"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(h&240)>>4);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((h&15)<<2);b+="=";break}m=a.charCodeAt(d++);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(h&240)>>4);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((h&
-15)<<2|(m&192)>>6);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(m&63)}return b};EditorUi.prototype.importFiles=function(a,b,c,e,k,h,m,l,q,t,p,v){b=null!=b?b:0;c=null!=c?c:0;e=null!=e?e:this.maxImageSize;t=null!=t?t:this.maxImageBytes;var d=null!=b&&null!=c,f=!0,g=!1;if(!mxClient.IS_CHROMEAPP&&null!=a)for(var n=p||this.resampleThreshold,r=0;r<a.length;r++)if("image/"==a[r].type.substring(0,6)&&a[r].size>n){g=!0;break}var u=mxUtils.bind(this,function(){var g=this.editor.graph,
-n=g.gridSize;k=null!=k?k:mxUtils.bind(this,function(a,b,c,e,f,g,h,m,k){return null!=a&&"<mxlibrary"==a.substring(0,10)?(this.spinner.stop(),this.loadLibrary(new LocalLibrary(this,a,h)),null):this.importFile(a,b,c,e,f,g,h,m,k,d,v)});h=null!=h?h:mxUtils.bind(this,function(a){g.setSelectionCells(a)});if(this.spinner.spin(document.body,mxResources.get("loading")))for(var q=a.length,r=q,u=[],x=mxUtils.bind(this,function(a,b){u[a]=b;if(0==--r){this.spinner.stop();if(null!=l)l(u);else{var d=[];g.getModel().beginUpdate();
-try{for(var c=0;c<u.length;c++){var e=u[c]();null!=e&&(d=d.concat(e))}}finally{g.getModel().endUpdate()}}h(d)}}),w=0;w<q;w++)mxUtils.bind(this,function(d){var h=a[d],l=new FileReader;l.onload=mxUtils.bind(this,function(a){if(null==m||m(h))if("image/"==h.type.substring(0,6))if("image/svg"==h.type.substring(0,9)){var l=a.target.result,q=l.indexOf(","),r=decodeURIComponent(escape(atob(l.substring(q+1)))),u=mxUtils.parseXml(r),r=u.getElementsByTagName("svg");if(0<r.length){var r=r[0],z=v?null:r.getAttribute("content");
-null!=z&&"<"!=z.charAt(0)&&"%"!=z.charAt(0)&&(z=unescape(window.atob?atob(z):Base64.decode(z,!0)));null!=z&&"%"==z.charAt(0)&&(z=decodeURIComponent(z));null==z||"<mxfile "!==z.substring(0,8)&&"<mxGraphModel "!==z.substring(0,14)?x(d,mxUtils.bind(this,function(){try{if(l.substring(0,q+1),null!=u){var a=u.getElementsByTagName("svg");if(0<a.length){var m=a[0],t=parseFloat(m.getAttribute("width")),r=parseFloat(m.getAttribute("height")),p=m.getAttribute("viewBox");if(null==p||0==p.length)m.setAttribute("viewBox",
-"0 0 "+t+" "+r);else if(isNaN(t)||isNaN(r)){var z=p.split(" ");3<z.length&&(t=parseFloat(z[2]),r=parseFloat(z[3]))}l=this.createSvgDataUri(mxUtils.getXml(m));var x=Math.min(1,Math.min(e/Math.max(1,t)),e/Math.max(1,r)),v=k(l,h.type,b+d*n,c+d*n,Math.max(1,Math.round(t*x)),Math.max(1,Math.round(r*x)),h.name,f);if(isNaN(t)||isNaN(r)){var E=new Image;E.onload=mxUtils.bind(this,function(){t=Math.max(1,E.width);r=Math.max(1,E.height);v[0].geometry.width=t;v[0].geometry.height=r;m.setAttribute("viewBox",
-"0 0 "+t+" "+r);l=this.createSvgDataUri(mxUtils.getXml(m));var a=l.indexOf(";");0<a&&(l=l.substring(0,a)+l.substring(l.indexOf(",",a+1)));g.setCellStyles("image",l,[v[0]])});E.src=this.createSvgDataUri(mxUtils.getXml(m))}return v}}}catch(ea){}return null})):x(d,mxUtils.bind(this,function(){return k(z,"text/xml",b+d*n,c+d*n,0,0,h.name)}))}}else{r=!1;if("image/png"==h.type){var E=v?null:this.extractGraphModelFromPng(a.target.result);if(null!=E&&0<E.length){var w=new Image;w.src=a.target.result;x(d,
-mxUtils.bind(this,function(){return k(E,"text/xml",b+d*n,c+d*n,w.width,w.height,h.name)}));r=!0}}r||(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(g){this.resizeImage(g,a.target.result,mxUtils.bind(this,function(g,
-m,l){x(d,mxUtils.bind(this,function(){if(null!=g&&g.length<t){var q=f&&this.isResampleImage(a.target.result,p)?Math.min(1,Math.min(e/m,e/l)):1;return k(g,h.type,b+d*n,c+d*n,Math.round(m*q),Math.round(l*q),h.name)}this.handleError({message:mxResources.get("imageTooBig")});return null}))}),f,e,p)}),mxUtils.bind(this,function(){this.handleError({message:mxResources.get("invalidOrMissingFile")})})))}else k(a.target.result,h.type,b+d*n,c+d*n,240,160,h.name,function(a){x(d,function(){return a})})});/(\.vsdx?)($|\?)/i.test(h.name)||
-/(\.vssx)($|\?)/i.test(h.name)?k(null,h.type,b+d*n,c+d*n,240,160,h.name,function(a){x(d,function(){return a})},h):"image"==h.type.substring(0,5)?l.readAsDataURL(h):l.readAsText(h)})(w)});g?this.confirmImageResize(function(a){f=a;u()},q):u()};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,e=function(c,e){if(c||b)mxSettings.setResizeImages(c?
+" kB; MB; GB; TB;PB;EB;ZB;YB".split(";")[d]};EditorUi.prototype.convertDataUri=function(a){if("data:"==a.substring(0,5)){var d=a.indexOf(";");0<d&&(a=a.substring(0,d)+a.substring(a.indexOf(",",d+1)))}return a};EditorUi.prototype.isRemoteFileFormat=function(a,b){return/(\"contentType\":\s*\"application\/gliffy\+json\")/.test(a)};EditorUi.prototype.importFile=function(a,b,c,e,k,h,n,l,q,t,p){t=null!=t?t:!0;var d=!1,f=null,g=mxUtils.bind(this,function(a){var d=null;null!=a&&"<mxlibrary"==a.substring(0,
+10)?this.loadLibrary(new LocalLibrary(this,a,n)):d=this.importXml(a,c,e,t);null!=l&&l(d)});"image"==b.substring(0,5)?(q=!1,"image/png"==b.substring(0,9)&&(b=p?null:this.extractGraphModelFromPng(a),null!=b&&0<b.length&&(f=this.importXml(b,c,e,t),q=!0)),q||(f=this.editor.graph,b=a.indexOf(";"),0<b&&(a=a.substring(0,b)+a.substring(a.indexOf(",",b+1))),t&&f.isGridEnabled()&&(c=f.snap(c),e=f.snap(e)),f=[f.insertVertex(null,null,"",c,e,k,h,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+
+a+";")])):/(\.*<graphml )/.test(a)&&"undefined"!==typeof window.mxGraphMlCodec?(new mxGraphMlCodec).decode(a,mxUtils.bind(this,function(a){a=this.importXml(a,c,e,t);null!=l&&l(a)})):null!=q&&null!=n&&(/(\.vsdx?)($|\?)/i.test(n)||/(\.vssx)($|\?)/i.test(n))?(d=!0,this.importVisio(q,g)):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(a,n)?(d=!0,this.parseFile(null!=q?q:new Blob([a],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&(200<=a.status&&
+299>=a.status?g(a.responseText):null!=l&&l(null))}),n)):/(\.vsd)($|\?)/i.test(n)||(f=this.insertTextAt(this.validateFileData(a),c,e,!0,null,t));d||null==l||l(f);return f};EditorUi.prototype.base64Encode=function(a){for(var d="",b=0,c=a.length,e,h,k;b<c;){e=a.charCodeAt(b++)&255;if(b==c){d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4);d+="==";break}h=a.charCodeAt(b++);if(b==c){d+=
+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(h&240)>>4);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((h&15)<<2);d+="=";break}k=a.charCodeAt(b++);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(h&240)>>4);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((h&
+15)<<2|(k&192)>>6);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(k&63)}return d};EditorUi.prototype.importFiles=function(a,b,c,e,k,h,n,l,q,t,p,v){b=null!=b?b:0;c=null!=c?c:0;e=null!=e?e:this.maxImageSize;t=null!=t?t:this.maxImageBytes;var d=null!=b&&null!=c,f=!0,g=!1;if(!mxClient.IS_CHROMEAPP&&null!=a)for(var m=p||this.resampleThreshold,r=0;r<a.length;r++)if("image/"==a[r].type.substring(0,6)&&a[r].size>m){g=!0;break}var u=mxUtils.bind(this,function(){var g=this.editor.graph,
+m=g.gridSize;k=null!=k?k:mxUtils.bind(this,function(a,b,c,e,f,g,h,k,n){return null!=a&&"<mxlibrary"==a.substring(0,10)?(this.spinner.stop(),this.loadLibrary(new LocalLibrary(this,a,h)),null):this.importFile(a,b,c,e,f,g,h,k,n,d,v)});h=null!=h?h:mxUtils.bind(this,function(a){g.setSelectionCells(a)});if(this.spinner.spin(document.body,mxResources.get("loading")))for(var q=a.length,r=q,u=[],x=mxUtils.bind(this,function(a,d){u[a]=d;if(0==--r){this.spinner.stop();if(null!=l)l(u);else{var b=[];g.getModel().beginUpdate();
+try{for(var c=0;c<u.length;c++){var e=u[c]();null!=e&&(b=b.concat(e))}}finally{g.getModel().endUpdate()}}h(b)}}),w=0;w<q;w++)mxUtils.bind(this,function(d){var h=a[d],l=new FileReader;l.onload=mxUtils.bind(this,function(a){if(null==n||n(h))if("image/"==h.type.substring(0,6))if("image/svg"==h.type.substring(0,9)){var l=a.target.result,q=l.indexOf(","),r=decodeURIComponent(escape(atob(l.substring(q+1)))),u=mxUtils.parseXml(r),r=u.getElementsByTagName("svg");if(0<r.length){var r=r[0],z=v?null:r.getAttribute("content");
+null!=z&&"<"!=z.charAt(0)&&"%"!=z.charAt(0)&&(z=unescape(window.atob?atob(z):Base64.decode(z,!0)));null!=z&&"%"==z.charAt(0)&&(z=decodeURIComponent(z));null==z||"<mxfile "!==z.substring(0,8)&&"<mxGraphModel "!==z.substring(0,14)?x(d,mxUtils.bind(this,function(){try{if(l.substring(0,q+1),null!=u){var a=u.getElementsByTagName("svg");if(0<a.length){var n=a[0],t=parseFloat(n.getAttribute("width")),r=parseFloat(n.getAttribute("height")),p=n.getAttribute("viewBox");if(null==p||0==p.length)n.setAttribute("viewBox",
+"0 0 "+t+" "+r);else if(isNaN(t)||isNaN(r)){var z=p.split(" ");3<z.length&&(t=parseFloat(z[2]),r=parseFloat(z[3]))}l=this.createSvgDataUri(mxUtils.getXml(n));var x=Math.min(1,Math.min(e/Math.max(1,t)),e/Math.max(1,r)),v=k(l,h.type,b+d*m,c+d*m,Math.max(1,Math.round(t*x)),Math.max(1,Math.round(r*x)),h.name,f);if(isNaN(t)||isNaN(r)){var E=new Image;E.onload=mxUtils.bind(this,function(){t=Math.max(1,E.width);r=Math.max(1,E.height);v[0].geometry.width=t;v[0].geometry.height=r;n.setAttribute("viewBox",
+"0 0 "+t+" "+r);l=this.createSvgDataUri(mxUtils.getXml(n));var a=l.indexOf(";");0<a&&(l=l.substring(0,a)+l.substring(l.indexOf(",",a+1)));g.setCellStyles("image",l,[v[0]])});E.src=this.createSvgDataUri(mxUtils.getXml(n))}return v}}}catch(ea){}return null})):x(d,mxUtils.bind(this,function(){return k(z,"text/xml",b+d*m,c+d*m,0,0,h.name)}))}}else{r=!1;if("image/png"==h.type){var E=v?null:this.extractGraphModelFromPng(a.target.result);if(null!=E&&0<E.length){var w=new Image;w.src=a.target.result;x(d,
+mxUtils.bind(this,function(){return k(E,"text/xml",b+d*m,c+d*m,w.width,w.height,h.name)}));r=!0}}r||(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(g){this.resizeImage(g,a.target.result,mxUtils.bind(this,function(g,
+n,l){x(d,mxUtils.bind(this,function(){if(null!=g&&g.length<t){var q=f&&this.isResampleImage(a.target.result,p)?Math.min(1,Math.min(e/n,e/l)):1;return k(g,h.type,b+d*m,c+d*m,Math.round(n*q),Math.round(l*q),h.name)}this.handleError({message:mxResources.get("imageTooBig")});return null}))}),f,e,p)}),mxUtils.bind(this,function(){this.handleError({message:mxResources.get("invalidOrMissingFile")})})))}else k(a.target.result,h.type,b+d*m,c+d*m,240,160,h.name,function(a){x(d,function(){return a})})});/(\.vsdx?)($|\?)/i.test(h.name)||
+/(\.vssx)($|\?)/i.test(h.name)?k(null,h.type,b+d*m,c+d*m,240,160,h.name,function(a){x(d,function(){return a})},h):"image"==h.type.substring(0,5)?l.readAsDataURL(h):l.readAsText(h)})(w)});g?this.confirmImageResize(function(a){f=a;u()},q):u()};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,e=function(c,e){if(c||b)mxSettings.setResizeImages(c?
e:null),mxSettings.save();d();a(e)};null==c||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,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 e=new XMLHttpRequest;e.open("POST",OPEN_URL);e.onreadystatechange=function(){b(e)};e.send(d)};EditorUi.prototype.isResampleImage=function(a,b){b=null!=b?b:this.resampleThreshold;return a.length>b};EditorUi.prototype.resizeImage=function(a,b,c,e,k,h){k=null!=k?k:this.maxImageSize;var d=Math.max(1,a.width),f=Math.max(1,a.height);if(e&&this.isResampleImage(b,h))try{var g=Math.max(d/k,f/k);if(1<g){var l=Math.round(d/
-g),n=Math.round(f/g),q=document.createElement("canvas");q.width=l;q.height=n;q.getContext("2d").drawImage(a,0,0,l,n);var r=q.toDataURL();if(r.length<b.length){var p=document.createElement("canvas");p.width=l;p.height=n;var v=p.toDataURL();r!==v&&(b=r,d=l,f=n)}}}catch(y){}c(b,d,f)};EditorUi.prototype.crcTable=[];for(var e=0;256>e;e++)for(var c=e,k=0;8>k;k++)c=1==(c&1)?3988292384^c>>>1:c>>>1,EditorUi.prototype.crcTable[e]=c;EditorUi.prototype.updateCRC=function(a,b,c,e){for(var d=0;d<e;d++)a=EditorUi.prototype.crcTable[(a^
-b[c+d])&255]^a>>>8;return a};EditorUi.prototype.writeGraphModelToPng=function(a,b,c,e,k){function d(a,b){var d=l;l+=b;return a.substring(d,l)}function f(a){a=d(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}function g(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 l=0;if(d(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=k&&k();else if(d(a,
-4),"IHDR"!=d(a,4))null!=k&&k();else{d(a,17);k=a.substring(0,l);do{var n=f(a);if("IDAT"==d(a,4)){k=a.substring(0,l-8);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);k+=g(c.length)+b+c+g(e^4294967295);k+=a.substring(l-8,a.length);break}k+=a.substring(l-8,l-4+n);d(a,n);d(a,4)}while(n);return"data:image/png;base64,"+(window.btoa?btoa(k):Base64.encode(k,!0))}};EditorUi.prototype.extractGraphModelFromPng=function(a){var b=
-null;try{var d=a.substring(a.indexOf(",")+1),c=window.atob&&!mxClient.IS_SF?atob(d):Base64.decode(d,!0);EditorUi.parsePng(c,mxUtils.bind(this,function(a,d,e){a=c.substring(a+8,a+8+e);"zTXt"==d?(e=a.indexOf(String.fromCharCode(0)),"mxGraphModel"==a.substring(0,e)&&(a=this.editor.graph.bytesToString(pako.inflateRaw(a.substring(e+2))).replace(/\+/g," "),null!=a&&0<a.length&&(b=a))):"tEXt"==d&&(a=a.split(String.fromCharCode(0)),1<a.length&&"mxGraphModel"==a[0]&&(b=a[1]));if(null!=b||"IDAT"==d)return!0}))}catch(r){}null!=
-b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b));null!=b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b));return b};EditorUi.prototype.loadImage=function(a,b,c){var d=new Image;d.onload=function(){b(d)};null!=c&&(d.onerror=c);d.src=a};var l=EditorUi.prototype.init;EditorUi.prototype.init=function(){function a(a){var d=a.indexOf(",");0<d&&(a=b.getPageById(a.substring(d+1)))&&b.selectPage(a)}"undefined"!==typeof window.mxSettings&&(this.formatWidth=mxSettings.getFormatWidth());var b=this,c=this.editor.graph;
-c.addListener("pageLinkClicked",function(b,d){a(d.getProperty("href"))});this.isOffline()||"undefined"===typeof window.EditDataDialog||(EditDataDialog.placeholderHelpLink="https://desk.draw.io/support/solutions/articles/16000051979");var e=b.editor.getEditBlankUrl;this.editor.getEditBlankUrl=function(a){a=null!=a?a:"";if(null!=b.pages&&null!=b.currentPage)for(var d=0;d<b.pages.length;d++)if(b.pages[d]==b.currentPage){0<d&&(a+=(0<a.length?"&":"?")+"page="+d);break}"1"==urlParams.dev&&(a+=(0<a.length?
-"&":"?")+"dev=1&drawdev=1");return e.apply(this,arguments)};var k=c.addClickHandler;c.addClickHandler=function(b,d,e){var f=d;d=function(b,d){if(null==d){var e=mxEvent.getSource(b);"a"==e.nodeName.toLowerCase()&&(d=e.getAttribute("href"))}null==d||!c.isPageLink(d)||!mxEvent.isTouchEvent(b)&&mxEvent.isPopupTrigger(b)||(a(d),mxEvent.consume(b));null!=f&&f(b,d)};k.call(this,b,d,e)};l.apply(this,arguments);mxClient.IS_SVG&&this.editor.graph.addSvgShadow(c.view.canvas.ownerSVGElement,null,!0);b.actions.get("print").funct=
-function(){b.showDialog((new PrintDialog(b)).container,360,null!=b.pages&&1<b.pages.length?420:360,!0,!0)};this.defaultFilename=mxResources.get("untitledDiagram");var h=c.getGlobalVariable;c.getGlobalVariable=function(a){return"page"==a&&null!=b.currentPage?b.currentPage.getName():"pagenumber"==a?null!=b.currentPage&&null!=b.pages?mxUtils.indexOf(b.pages,b.currentPage)+1:1:h.apply(this,arguments)};var m=c.createLinkForHint;c.createLinkForHint=function(d,e){var f=c.isPageLink(d);if(f){var g=d.indexOf(",");
-0<g&&(g=b.getPageById(d.substring(g+1)),e=null!=g?g.getName():mxResources.get("pageNotFound"))}g=m.call(this,d,e);f&&mxEvent.addListener(g,"click",function(b){a(d);mxEvent.consume(b)});return g};var q=c.labelLinkClicked;c.labelLinkClicked=function(b,d,e){var f=d.getAttribute("href");if(null==f||!c.isPageLink(f)||!mxEvent.isTouchEvent(e)&&mxEvent.isPopupTrigger(e))q.apply(this,arguments);else{if(!c.isEnabled()||null!=b&&c.isCellLocked(b.cell))a(f),c.getRubberband().reset();mxEvent.consume(e)}};this.editor.getOrCreateFilename=
-function(){var a=b.defaultFilename,d=b.getCurrentFile();null!=d&&(a=null!=d.getTitle()?d.getTitle():a);return a};var p=this.actions.get("print");p.setEnabled(!mxClient.IS_IOS||!navigator.standalone);p.visible=p.isEnabled();if(!this.editor.chromeless||this.editor.editable){var t=function(){window.setTimeout(function(){x.innerHTML="&nbsp;";x.focus();document.execCommand("selectAll",!1,null)},0)};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_IE||c.container.addEventListener("paste",mxUtils.bind(this,function(a){var b=this.editor.graph;if(!mxEvent.isConsumed(a))try{for(var d=a.clipboardData||a.originalEvent.clipboardData,c=!1,e=0;e<d.types.length;e++)if("text/"===d.types[e].substring(0,5)){c=!0;break}if(!c){var f=
-d.items;for(index in f){var g=f[index];if("file"===g.kind){if(b.isEditing())this.importFiles([g.getAsFile()],0,0,this.maxImageSize,function(a,d,c,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]()});else{var h=this.editor.graph.getInsertPoint();this.importFiles([g.getAsFile()],h.x,h.y,this.maxImageSize);mxEvent.consume(a)}break}}}}catch(Q){}}),!1);var x=document.createElement("div");x.style.position="absolute";
-x.style.whiteSpace="nowrap";x.style.overflow="hidden";x.style.display="block";x.contentEditable=!0;mxUtils.setOpacity(x,0);x.style.width="1px";x.style.height="1px";x.innerHTML="&nbsp;";var v=!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 b=mxEvent.getSource(a);null==c.container||!c.isEnabled()||c.isMouseDown||c.isEditing()||null!=this.dialog||"INPUT"==
-b.nodeName||"TEXTAREA"==b.nodeName||!(224==a.keyCode||!mxClient.IS_MAC&&17==a.keyCode||mxClient.IS_MAC&&91==a.keyCode)||v||(x.style.left=c.container.scrollLeft+10+"px",x.style.top=c.container.scrollTop+10+"px",c.container.appendChild(x),v=!0,mxClient.IS_QUIRKS?window.setTimeout(function(){x.focus();document.execCommand("selectAll",!1,null)},0):(x.focus(),document.execCommand("selectAll",!1,null)))}));mxEvent.addListener(document,"keyup",mxUtils.bind(this,function(a){var b=a.keyCode;window.setTimeout(mxUtils.bind(this,
-function(){!v||224!=b&&17!=b&&91!=b||(v=!1,c.isEditing()||null!=this.dialog||null==c.container||c.container.focus(),x.parentNode.removeChild(x))}),0)}));mxEvent.addListener(x,"copy",mxUtils.bind(this,function(a){c.isEnabled()&&(mxClipboard.copy(c),this.copyCells(x),t())}));mxEvent.addListener(x,"cut",mxUtils.bind(this,function(a){c.isEnabled()&&(this.copyCells(x,!0),t())}));mxEvent.addListener(x,"paste",mxUtils.bind(this,function(a){c.isEnabled()&&!c.isCellLocked(c.getDefaultParent())&&(x.innerHTML=
-"&nbsp;",x.focus(),window.setTimeout(mxUtils.bind(this,function(){this.pasteCells(a,x);x.innerHTML="&nbsp;"}),0))}),!0);var D=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==x?!0:D.apply(this,arguments)}}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,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 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 e=this.maxImageSize,e=Math.min(1,
-Math.min(e/Math.max(1,c)),e/Math.max(1,a));b.insertImage(decodeURIComponent(d),c*e,a*e)})):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()})))}));if("1"==urlParams.ruler&&"undefined"!==
-typeof mxRuler){p=document.createElement("div");p.style.position="absolute";p.style.top="95px";p.style.left="250px";p.style.width="2000px";p.style.height="30px";p.style.background="whiteSmoke";document.body.appendChild(p);var G=document.createElement("div");G.style.position="absolute";G.style.top="125px";G.style.left="220px";G.style.width="30px";G.style.height="1000px";G.style.background="whiteSmoke";document.body.appendChild(G);var B=document.createElement("div");B.style.position="absolute";B.style.top=
-"95px";B.style.left="220px";B.style.width="30px";B.style.height="30px";B.style.background="whiteSmoke";document.body.appendChild(B);this.vRuler=new mxRuler(this.editor.graph,G,!0);this.hRuler=new mxRuler(this.editor.graph,p,!1)}if("1"==urlParams.test){p=document.getElementById("geFooter");null!=p&&(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)})),p.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)}}p=document.getElementById("geInfo");null!=p&&p.parentNode.removeChild(p);if(Graph.fileSupport&&(!this.editor.chromeless||this.editor.editable)){var C=null;mxEvent.addListener(c.container,"dragleave",function(a){c.isEnabled()&&(null!=C&&(C.parentNode.removeChild(C),
-C=null),a.stopPropagation(),a.preventDefault())});mxEvent.addListener(c.container,"dragover",mxUtils.bind(this,function(a){null==C&&(!mxClient.IS_IE||10<document.documentMode)&&(C=this.highlightElement(c.container));null!=this.sidebar&&this.sidebar.hideTooltip();a.stopPropagation();a.preventDefault()}));mxEvent.addListener(c.container,"drop",mxUtils.bind(this,function(a){null!=C&&(C.parentNode.removeChild(C),C=null);if(c.isEnabled()){var b=mxUtils.convertPoint(c.container,mxEvent.getClientX(a),mxEvent.getClientY(a)),
-d=c.view.translate,e=c.view.scale,f=b.x/e-d.x,g=b.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 h=0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")?a.dataTransfer.getData("text/uri-list"):null,b=this.extractGraphModelFromEvent(a,null!=this.pages);if(null!=b)c.setSelectionCells(this.importXml(b,f,g,!0));else if(0<=mxUtils.indexOf(a.dataTransfer.types,
-"text/html")){var m=a.dataTransfer.getData("text/html"),b=document.createElement("div");b.innerHTML=m;var k=null,d=b.getElementsByTagName("img");null!=d&&1==d.length?(m=d[0].getAttribute("src"),/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(m)||(k=!0)):(b=b.getElementsByTagName("a"),null!=b&&1==b.length&&(m=b[0].getAttribute("href")));var l=!0,n=mxUtils.bind(this,function(){c.setSelectionCells(this.insertTextAt(m,f,g,!0,k,null,l))});k&&m.length>this.resampleThreshold?this.confirmImageResize(function(a){l=
-a;n()},mxEvent.isControlDown(a)):n()}else null!=h&&/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(h)?this.loadImage(decodeURIComponent(h),mxUtils.bind(this,function(a){var b=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,b)),d/Math.max(1,a));c.setSelectionCell(c.insertVertex(null,null,"",f,g,b*d,a*d,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+h+";"))}),mxUtils.bind(this,function(a){c.setSelectionCells(this.insertTextAt(h,
-f,g,!0))})):0<=mxUtils.indexOf(a.dataTransfer.types,"text/plain")&&c.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.isSettingsEnabled=function(){return"undefined"!==typeof window.mxSettings&&(isLocalStorage||mxClient.IS_CHROMEAPP)};EditorUi.prototype.installSettings=function(){if(this.isSettingsEnabled()){ColorDialog.recentColors=
-mxSettings.getRecentColors();this.editor.graph.currentEdgeStyle=mxSettings.getCurrentEdgeStyle();this.editor.graph.currentVertexStyle=mxSettings.getCurrentVertexStyle();this.fireEvent(new mxEventObject("styleChanged","keys",[],"values",[],"cells",[]));this.addListener("styleChanged",mxUtils.bind(this,function(a,b){mxSettings.setCurrentEdgeStyle(this.editor.graph.currentEdgeStyle);mxSettings.setCurrentVertexStyle(this.editor.graph.currentVertexStyle);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();this.addListener("gridColorChanged",
-mxUtils.bind(this,function(a,b){mxSettings.setGridColor(this.editor.graph.view.gridColor);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 d=this.editor.graph;if(d.isSelectionEmpty())a.innerHTML="";else{var c=mxUtils.sortCells(d.model.getTopmostCells(d.getSelectionCells())),e=mxUtils.getXml(this.editor.graph.encodeCells(c));mxUtils.setTextContent(a,encodeURIComponent(e));b?(d.removeCells(c,
-!1),d.lastPasteXml=null):(d.lastPasteXml=e,d.pasteCounter=0);a.focus();document.execCommand("selectAll",!1,null)}};EditorUi.prototype.pasteCells=function(a,b){if(!mxEvent.isConsumed(a)){var d=b.getElementsByTagName("span");if(null!=d&&0<d.length&&"application/vnd.lucid.chart.objects"===d[0].getAttribute("data-lucid-type")){var c=d[0].getAttribute("data-lucid-content");null!=c&&0<c.length&&(this.importLucidChart(c,0,0),mxEvent.consume(a))}else{var c=this.editor.graph,e=mxUtils.trim(mxClient.IS_QUIRKS||
-8==document.documentMode?mxUtils.getTextContent(b):b.textContent),f=!1;try{var m=e.lastIndexOf("%3E");0<=m&&m<e.length-3&&(e=e.substring(0,m+3))}catch(w){}try{var d=b.getElementsByTagName("span"),k=null!=d&&0<d.length?mxUtils.trim(decodeURIComponent(d[0].textContent)):decodeURIComponent(e);this.isCompatibleString(k)&&(f=!0,e=k)}catch(w){}c.lastPasteXml==e?c.pasteCounter++:(c.lastPasteXml=e,c.pasteCounter=0);d=c.pasteCounter*c.gridSize;if(null!=e&&0<e.length&&(f||this.isCompatibleString(e)?c.setSelectionCells(this.importXml(e,
-d,d)):(f=c.getInsertPoint(),c.isMouseInsertPoint()&&(d=0,c.lastPasteXml==e&&0<c.pasteCounter&&c.pasteCounter--),c.setSelectionCells(this.insertTextAt(e,f.x+d,f.y+d,!0))),!c.isSelectionEmpty())){c.scrollCellToVisible(c.getSelectionCell());null!=this.hoverIcons&&this.hoverIcons.update(c.view.getState(c.getSelectionCell()));try{mxEvent.consume(a)}catch(w){}}}}};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?"https://www.draw.io/":"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 h=document.documentElement;c=(e.clientWidth||h.clientWidth)-3;e=Math.max(e.clientHeight||0,h.clientHeight)-3}else b=a.offsetTop,d=a.offsetLeft,c=a.clientWidth,e=a.clientHeight;h=document.createElement("div");h.style.zIndex=mxPopupMenu.prototype.zIndex+2;h.style.border="3px dotted rgb(254, 137, 12)";h.style.pointerEvents="none";h.style.position="absolute";h.style.top=b+"px";h.style.left=d+"px";h.style.width=
-Math.max(0,c-3)+"px";h.style.height=Math.max(0,e-3)+"px";null!=a&&a.parentNode==this.editor.graph.container?this.editor.graph.container.appendChild(h):document.body.appendChild(h);return h};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){var c=d.target.result,e=a.name;if(null!=e&&0<e.length){!this.useCanvasForExport&&/(\.png)$/i.test(e)&&(e=e.substring(0,e.length-4)+".xml");var f=mxUtils.bind(this,function(a){e=0<=e.lastIndexOf(".")?e.substring(0,e.lastIndexOf("."))+".xml":e+".xml";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(x){this.handleError(x,mxResources.get("errorLoadingFile"))}}else this.openLocalFile(a,e,b)});if(/(\.vsdx?)($|\?)/i.test(e)||/(\.vssx)($|\?)/i.test(e))this.importVisio(a,mxUtils.bind(this,function(a){this.spinner.stop();f(a)}));else if(Graph.fileSupport&&!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(c,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('{"state":"{\\"Properties\\":'==c.substring(0,26))/(\.json)$/i.test(e)&&(e=e.substring(0,e.length-5)+".xml"),this.openLocalFile(this.emptyDiagramXml,e,b),this.importLucidChart(c,0,0,null,mxUtils.bind(this,function(){this.editor.undoManager.clear();this.spinner.stop()}));
-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(t){this.handleError(t,mxResources.get("errorLoadingFile"))}}else"image/png"==a.type.substring(0,9)&&(c=this.extractGraphModelFromPng(c)),this.spinner.stop(),this.openLocalFile(c,e,b)}});d.onerror=mxUtils.bind(this,function(a){this.spinner.stop();
-this.handleError(a);window.openFile=null});"image"===a.type.substring(0,5)&&"image/svg"!==a.type.substring(0,9)?d.readAsDataURL(a):d.readAsText(a)})(a[d])};EditorUi.prototype.openLocalFile=function(a,b,c){var d=this.getCurrentFile(),e=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))});null!=a&&0<a.length&&(null==d||!d.isModified()&&(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)?e():(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)&&null!=d&&d.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(){this.confirm(mxResources.get("allChangesLost"),
-null,e,mxResources.get("cancel"),mxResources.get("discardChanges"))}))))};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,e=c.getCellStyle(a);d(mxStencilRegistry.getBasenameForStencil(e[mxConstants.STYLE_SHAPE]));c.model.isEdge(a)&&(d(mxMarker.getPackageForType(e[mxConstants.STYLE_STARTARROW])),d(mxMarker.getPackageForType(e[mxConstants.STYLE_ENDARROW])));for(var e=c.model.getChildCount(a),f=0;f<e;f++)this.addBasenamesForCell(c.model.getChildAt(a,f),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.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,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,scale:b.view.scale,page:b.view.getBackgroundPageBounds(),bounds:b.getGraphBounds()}};EditorUi.prototype.installMessageHandler=function(a){var b=null,d=!1,c=!1,e=null,h=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,h);mxEvent.addListener(window,"message",mxUtils.bind(this,function(f){function g(a){if(null!=a&&"function"===typeof a.charAt&&"<"!=a.charAt(0))try{"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=this.editor.graph.decompress(a)))}catch(J){}return a}if(f.source==(window.opener||window.parent)){var h=f.data;if("json"==urlParams.proto){try{h=JSON.parse(h)}catch(E){h=null}if(null==h)return;if("dialog"==h.action){this.showError(null!=h.titleKey?mxResources.get(h.titleKey):h.title,null!=h.messageKey?mxResources.get(h.messageKey):h.message,null!=h.buttonKey?mxResources.get(h.buttonKey):h.button);null!=h.modified&&
-(this.editor.modified=h.modified);return}if("prompt"==h.action){this.spinner.stop();var m=new FilenameDialog(this,h.defaultValue||"",null!=h.okKey?mxResources.get(h.okKey):null,function(a){null!=a&&k.postMessage(JSON.stringify({event:"prompt",value:a,message:h}),"*")},null!=h.titleKey?mxResources.get(h.titleKey):h.title);this.showDialog(m.container,300,80,!0,!1);m.init();return}if("draft"==h.action){m=null;m="data:image/png;base64,"==h.xml.substring(0,22)?this.extractGraphModelFromPng(h.xml):g(h.xml);
-this.spinner.stop();m=new DraftDialog(this,mxResources.get("draftFound",[h.name||this.defaultFilename]),m,mxUtils.bind(this,function(){this.hideDialog();k.postMessage(JSON.stringify({event:"draft",result:"edit",message:h}),"*")}),mxUtils.bind(this,function(){this.hideDialog();k.postMessage(JSON.stringify({event:"draft",result:"discard",message:h}),"*")}),h.editKey?mxResources.get(h.editKey):null,h.discardKey?mxResources.get(h.discardKey):null,h.ignore?mxUtils.bind(this,function(){this.hideDialog();
-k.postMessage(JSON.stringify({event:"draft",result:"ignore",message:h}),"*")}):null);this.showDialog(m.container,640,480,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));try{m.init()}catch(E){k.postMessage(JSON.stringify({event:"draft",error:E.toString(),message:h}),"*")}return}if("template"==h.action){this.spinner.stop();var m=1==h.enableRecent,l=1==h.enableSearch,m=new NewDialog(this,!1,null!=h.callback,mxUtils.bind(this,function(b,d){b=b||this.emptyDiagramXml;null!=h.callback?
-k.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,m?mxUtils.bind(this,function(a){this.recentReadyCallback=a;k.postMessage(JSON.stringify({event:"recentDocs"}),"*")}):null,l?mxUtils.bind(this,function(a,b){this.searchReadyCallback=b;k.postMessage(JSON.stringify({event:"searchDocs",searchStr:a}),"*")}):null,function(a,b,d){k.postMessage(JSON.stringify({event:"template",
-docUrl:a,info:b,name:d}),"*")});this.showDialog(m.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));m.init();return}if("searchDocsList"==h.action)this.searchReadyCallback(h.list,h.errorMsg);else if("recentDocsList"==h.action)this.recentReadyCallback(h.list,h.errorMsg);else{if("status"==h.action){null!=h.messageKey?this.editor.setStatus(mxUtils.htmlEntities(mxResources.get(h.messageKey))):null!=h.message&&this.editor.setStatus(mxUtils.htmlEntities(h.message));
-null!=h.modified&&(this.editor.modified=h.modified);return}if("spinner"==h.action){var n=null!=h.messageKey?mxResources.get(h.messageKey):h.message;null==h.show||h.show?this.spinner.spin(document.body,n):this.spinner.stop();return}if("export"==h.action){if("png"==h.format||"xmlpng"==h.format){if(null==h.spin&&null==h.spinKey||this.spinner.spin(document.body,null!=h.spinKey?mxResources.get(h.spinKey):h.spin)){var q=null!=h.xml?h.xml:this.getFileData(!0);this.editor.graph.setEnabled(!1);var p=this.editor.graph,
-r=mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();var b=this.createLoadMessage("export");b.format=h.format;b.message=h;b.data=a;b.xml=encodeURIComponent(q);k.postMessage(JSON.stringify(b),"*")}),u=mxUtils.bind(this,function(a){null==a&&(a=Editor.blankImage);"xmlpng"==h.format&&(a=this.writeGraphModelToPng(a,"zTXt","mxGraphModel",atob(this.editor.graph.compress(q))));p!=this.editor.graph&&p.container.parentNode.removeChild(p.container);r(a)});if(this.isExportToCanvas()){if(null!=
-this.pages&&this.currentPage!=this.pages[0]){var p=this.createTemporaryGraph(p.getStylesheet()),v=p.getGlobalVariable,z=this.pages[0];p.getGlobalVariable=function(a){return"page"==a?z.getName():"pagenumber"==a?1:v.apply(this,arguments)};document.body.appendChild(p.container);p.model.setRoot(z.root)}this.exportToCanvas(mxUtils.bind(this,function(a){u(a.toDataURL("image/png"))}),null,null,null,mxUtils.bind(this,function(){u(null)}),null,null,null,null,null,null,p)}else(new mxXmlRequest(EXPORT_URL,"format=png&embedXml="+
-("xmlpng"==h.format?"1":"0")+"&base64=1&xml="+encodeURIComponent(encodeURIComponent(q)))).send(mxUtils.bind(this,function(a){200<=a.getStatus()&&299>=a.getStatus()?r("data:image/png;base64,"+a.getText()):u(null)}),mxUtils.bind(this,function(){u(null)}))}}else{null!=h.xml&&0<h.xml.length&&this.setFileData(h.xml);n=this.createLoadMessage("export");if("html2"==h.format||"html"==h.format&&("0"!=urlParams.pages||null!=this.pages&&1<this.pages.length))m=this.getXmlFileData(),n.xml=mxUtils.getXml(m),n.data=
-this.getFileData(null,null,!0,null,null,null,m),n.format=h.format;else if("html"==h.format)q=this.editor.getGraphXml(),n.data=this.getHtml(q,this.editor.graph),n.xml=mxUtils.getXml(q),n.format=h.format;else{mxSvgCanvas2D.prototype.foAltText=null;m=this.editor.graph.background;m==mxConstants.NONE&&(m=null);n.xml=this.getFileData(!0);n.format="svg";if(h.embedImages||null==h.embedImages){if(null==h.spin&&null==h.spinKey||this.spinner.spin(document.body,null!=h.spinKey?mxResources.get(h.spinKey):h.spin))this.editor.graph.setEnabled(!1),
-"xmlsvg"==h.format?this.getEmbeddedSvg(n.xml,this.editor.graph,null,!0,mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();n.data=this.createSvgDataUri(a);k.postMessage(JSON.stringify(n),"*")})):this.convertImages(this.editor.graph.getSvg(m),mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();n.data=this.createSvgDataUri(mxUtils.getXml(a));k.postMessage(JSON.stringify(n),"*")}));return}m="xmlsvg"==h.format?this.getEmbeddedSvg(this.getFileData(!0),
-this.editor.graph,null,!0):mxUtils.getXml(this.editor.graph.getSvg(m));n.data=this.createSvgDataUri(m)}k.postMessage(JSON.stringify(n),"*")}return}if("load"==h.action)c=1==h.autosave,this.hideDialog(),null!=h.modified&&null==urlParams.modified&&(urlParams.modified=h.modified),null!=h.saveAndExit&&null==urlParams.saveAndExit&&(urlParams.saveAndExit=h.saveAndExit),null!=h.title&&null!=this.buttonContainer&&(m=document.createElement("span"),mxUtils.write(m,h.title),"atlas"==uiTheme?(this.buttonContainer.style.paddingRight=
-"12px",this.buttonContainer.style.paddingTop="12px"):"min"!=uiTheme&&(this.buttonContainer.style.paddingRight="38px",this.buttonContainer.style.paddingTop="6px"),null!=this.embedFilenameSpan&&this.embedFilenameSpan.parentNode.removeChild(this.embedFilenameSpan),this.buttonContainer.appendChild(m),this.embedFilenameSpan=m),h=null!=h.xmlpng?this.extractGraphModelFromPng(h.xmlpng):null!=h.xml&&"data:image/png;base64,"==h.xml.substring(0,22)?this.extractGraphModelFromPng(h.xml):h.xml;else{k.postMessage(JSON.stringify({error:"unknownMessage",
-data:JSON.stringify(h)}),"*");return}}}h=g(h);d=!0;try{a(h,f)}catch(E){this.handleError(E)}d=!1;null!=urlParams.modified&&this.editor.setStatus("");var N=mxUtils.bind(this,function(){return"0"!=urlParams.pages||null!=this.pages&&1<this.pages.length?this.getFileData(!0):mxUtils.getXml(this.editor.getGraphXml())});e=N();c&&null==b&&(b=mxUtils.bind(this,function(a,b){var c=N();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||k.postMessage(JSON.stringify(this.createLoadMessage("load")),"*")}}));var k=window.opener||window.parent,h="json"==urlParams.proto?JSON.stringify({event:"init"}):urlParams.ready||"ready";k.postMessage(h,"*")};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":"3px";a.style.paddingLeft="8px";a.style.paddingBottom="2px";var b=document.createElement("button");mxUtils.write(b,mxResources.get("save"));b.setAttribute("title",mxResources.get("save")+" ("+Editor.ctrlKey+"+S)");b.className="geBigButton";b.style.fontSize="12px";b.style.padding="4px 6px 4px 6px";b.style.borderRadius="3px";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.style.fontSize="12px",b.style.marginLeft="6px",b.style.padding="4px",b.style.cursor="pointer",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.style.fontSize="12px";b.style.marginLeft="6px";b.style.marginRight=
-"20px";b.style.padding="4px";b.style.cursor="pointer";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.showDialog(this.importCsvDialog.container,640,520,!0,!0);this.importCsvDialog.init()};EditorUi.prototype.importCsv=function(a,b){try{var d=a.split("\n"),c=[];if(0<d.length){var e={},f=null,k=null,l="",q="auto",p="auto",v=null,F=null,D=40,G=40,B=0,y=this.editor.graph;y.getGraphBounds();for(var C=function(){null!=b?b(Z):(y.setSelectionCells(Z),y.scrollCellToVisible(y.getSelectionCell()))},I=y.getFreeInsertPoint(),z=I.x,N=I.y,I=N,E=null,J=
-"auto",R=[],Y=null,aa=null,Q=0;Q<d.length&&"#"==d[Q].charAt(0);){a=d[Q];for(Q++;Q<d.length&&"\\"==a.charAt(a.length-1)&&"#"==d[Q].charAt(0);)a=a.substring(0,a.length-1)+mxUtils.trim(d[Q].substring(1)),Q++;if("#"!=a.charAt(1)){var S=a.indexOf(":");if(0<S){var K=mxUtils.trim(a.substring(1,S)),H=mxUtils.trim(a.substring(S+1));"label"==K?E=y.sanitizeHtml(H):"style"==K?f=H:"identity"==K&&0<H.length&&"-"!=H?k=H:"namespace"==K&&0<H.length&&"-"!=H?l=H:"width"==K?q=H:"height"==K?p=H:"left"==K&&0<H.length?
-v=H:"top"==K&&0<H.length?F=H:"ignore"==K?aa=H.split(","):"connect"==K?R.push(JSON.parse(H)):"link"==K?Y=H:"padding"==K?B=parseFloat(H):"edgespacing"==K?D=parseFloat(H):"nodespacing"==K?G=parseFloat(H):"layout"==K&&(J=H)}}}var V=this.editor.csvToArray(d[Q]),S=null;if(null!=k)for(var L=0;L<V.length;L++)if(k==V[L]){S=L;break}null==E&&(E="%"+V[0]+"%");if(null!=R)for(var O=0;O<R.length;O++)null==e[R[O].to]&&(e[R[O].to]={});y.model.beginUpdate();try{for(L=Q+1;L<d.length;L++){var X=this.editor.csvToArray(d[L]);
-if(X.length==V.length){var A=null,W=null!=S?l+X[S]:null;null!=W&&(A=y.model.getCell(W));null==A&&(A=new mxCell(E,new mxGeometry(z,I,0,0),f||"whiteSpace=wrap;html=1;"),A.vertex=!0,A.id=W);for(var P=0;P<X.length;P++)y.setAttributeForCell(A,V[P],X[P]);y.setAttributeForCell(A,"placeholders","1");A.style=y.replacePlaceholders(A,A.style);for(O=0;O<R.length;O++)e[R[O].to][A.getAttribute(R[O].to)]=A;null!=Y&&"link"!=Y&&(y.setLinkForCell(A,A.getAttribute(Y)),y.setAttributeForCell(A,Y,null));y.fireEvent(new mxEventObject("cellsInserted",
-"cells",[A]));var da=this.editor.graph.getPreferredSizeForCell(A);A.vertex&&(null!=v&&null!=A.getAttribute(v)&&(A.geometry.x=z+parseFloat(A.getAttribute(v))),null!=F&&null!=A.getAttribute(F)&&(A.geometry.y=N+parseFloat(A.getAttribute(F))),"@"==q.charAt(0)&&null!=A.getAttribute(q.substring(1))?A.geometry.width=parseFloat(A.getAttribute(q.substring(1))):A.geometry.width="auto"==q?da.width+B:parseFloat(q),"@"==p.charAt(0)&&null!=A.getAttribute(p.substring(1))?A.geometry.height=parseFloat(A.getAttribute(p.substring(1))):
-A.geometry.height="auto"==p?da.height+B:parseFloat(p),I+=A.geometry.height+G);c.push(y.addCell(A))}}for(var T=c.slice(),Z=c.slice(),O=0;O<R.length;O++)for(var U=R[O],L=0;L<c.length;L++){var A=c[L],na=A.getAttribute(U.from);if(null!=na){y.setAttributeForCell(A,U.from,null);for(var oa=na.split(","),P=0;P<oa.length;P++){var ca=e[U.to][oa[P]];null!=ca&&(E=U.label,null!=U.fromlabel&&(E=(A.getAttribute(U.fromlabel)||"")+(E||"")),null!=U.tolabel&&(E=(E||"")+(ca.getAttribute(U.tolabel)||"")),Z.push(y.insertEdge(null,
-null,E||"",U.invert?ca:A,U.invert?A:ca,U.style||y.createCurrentEdgeStyle())),mxUtils.remove(U.invert?A:ca,T))}}}if(null!=aa)for(L=0;L<c.length;L++)for(A=c[L],P=0;P<aa.length;P++)y.setAttributeForCell(A,mxUtils.trim(aa[P]),null);var ia=new mxParallelEdgeLayout(y);ia.spacing=D;var qa=function(){ia.execute(y.getDefaultParent());for(var a=0;a<c.length;a++){var b=y.getCellGeometry(c[a]);b.x=Math.round(y.snap(b.x));b.y=Math.round(y.snap(b.y));"auto"==q&&(b.width=Math.round(y.snap(b.width)));"auto"==p&&
-(b.height=Math.round(y.snap(b.height)))}};if("circle"==J){var ea=new mxCircleLayout(y);ea.resetEdges=!1;var ra=ea.isVertexIgnored;ea.isVertexIgnored=function(a){return ra.apply(this,arguments)||0>mxUtils.indexOf(c,a)};this.executeLayout(function(){ea.execute(y.getDefaultParent());qa()},!0,C);C=null}else if("horizontaltree"==J||"verticaltree"==J||"auto"==J&&Z.length==2*c.length-1&&1==T.length){y.view.validate();var fa=new mxCompactTreeLayout(y,"horizontaltree"==J);fa.levelDistance=G;fa.edgeRouting=
-!1;fa.resetEdges=!1;this.executeLayout(function(){fa.execute(y.getDefaultParent(),0<T.length?T[0]:null)},!0,C);C=null}else if("horizontalflow"==J||"verticalflow"==J||"auto"==J&&1==T.length){y.view.validate();var ja=new mxHierarchicalLayout(y,"horizontalflow"==J?mxConstants.DIRECTION_WEST:mxConstants.DIRECTION_NORTH);ja.intraCellSpacing=G;ja.disableEdgeStyle=!1;this.executeLayout(function(){ja.execute(y.getDefaultParent(),Z);y.moveCells(Z,z,N)},!0,C);C=null}else if("organic"==J||"auto"==J&&Z.length>
-c.length){y.view.validate();var ba=new mxFastOrganicLayout(y);ba.forceConstant=3*G;ba.resetEdges=!1;var ka=ba.isVertexIgnored;ba.isVertexIgnored=function(a){return ka.apply(this,arguments)||0>mxUtils.indexOf(c,a)};ia=new mxParallelEdgeLayout(y);ia.spacing=D;this.executeLayout(function(){ba.execute(y.getDefaultParent());qa()},!0,C);C=null}this.hideDialog()}finally{y.model.endUpdate()}null!=C&&C()}}catch(ga){this.handleError(ga)}};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,440,130,!0,!0);a.init()};var q=EditorUi.prototype.createOutline;EditorUi.prototype.createOutline=function(a){var b=q.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 h=b.init;b.init=function(){h.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"),e=b.source,f=b.outline;f.pageScale=e.pageScale;f.pageFormat=
+c){c=null!=c?c:a.name;var d=new FormData;d.append("format","xml");d.append("upfile",a,c);var e=new XMLHttpRequest;e.open("POST",OPEN_URL);e.onreadystatechange=function(){b(e)};e.send(d)};EditorUi.prototype.isResampleImage=function(a,b){b=null!=b?b:this.resampleThreshold;return a.length>b};EditorUi.prototype.resizeImage=function(a,b,c,e,k,h){k=null!=k?k:this.maxImageSize;var d=Math.max(1,a.width),f=Math.max(1,a.height);if(e&&this.isResampleImage(b,h))try{var g=Math.max(d/k,f/k);if(1<g){var m=Math.round(d/
+g),l=Math.round(f/g),q=document.createElement("canvas");q.width=m;q.height=l;q.getContext("2d").drawImage(a,0,0,m,l);var r=q.toDataURL();if(r.length<b.length){var p=document.createElement("canvas");p.width=m;p.height=l;var v=p.toDataURL();r!==v&&(b=r,d=m,f=l)}}}catch(y){}c(b,d,f)};EditorUi.prototype.crcTable=[];for(var e=0;256>e;e++)for(var c=e,k=0;8>k;k++)c=1==(c&1)?3988292384^c>>>1:c>>>1,EditorUi.prototype.crcTable[e]=c;EditorUi.prototype.updateCRC=function(a,b,c,e){for(var d=0;d<e;d++)a=EditorUi.prototype.crcTable[(a^
+b[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,k){function d(a,b){var d=m;m+=b;return a.substring(d,m)}function f(a){a=d(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}function g(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 m=0;if(d(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=k&&k();else if(d(a,4),"IHDR"!=d(a,4))null!=k&&k();else{d(a,17);k=a.substring(0,m);do{var l=f(a);if("IDAT"==d(a,4)){k=a.substring(0,m-8);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);k+=g(c.length)+b+c+g(e^4294967295);k+=a.substring(m-
+8,a.length);break}k+=a.substring(m-8,m-4+l);d(a,l);d(a,4)}while(l);return"data:image/png;base64,"+(window.btoa?btoa(k):Base64.encode(k,!0))}};EditorUi.prototype.extractGraphModelFromPng=function(a){var b=null;try{var d=a.substring(a.indexOf(",")+1),c=window.atob&&!mxClient.IS_SF?atob(d):Base64.decode(d,!0);EditorUi.parsePng(c,mxUtils.bind(this,function(a,d,e){a=c.substring(a+8,a+8+e);"zTXt"==d?(e=a.indexOf(String.fromCharCode(0)),"mxGraphModel"==a.substring(0,e)&&(a=this.editor.graph.bytesToString(pako.inflateRaw(a.substring(e+
+2))).replace(/\+/g," "),null!=a&&0<a.length&&(b=a))):"tEXt"==d&&(a=a.split(String.fromCharCode(0)),1<a.length&&"mxGraphModel"==a[0]&&(b=a[1]));if(null!=b||"IDAT"==d)return!0}))}catch(r){}null!=b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b));null!=b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b));return b};EditorUi.prototype.loadImage=function(a,b,c){var d=new Image;d.onload=function(){b(d)};null!=c&&(d.onerror=c);d.src=a};var l=EditorUi.prototype.init;EditorUi.prototype.init=function(){function a(a){var d=
+a.indexOf(",");0<d&&(a=b.getPageById(a.substring(d+1)))&&b.selectPage(a)}"undefined"!==typeof window.mxSettings&&(this.formatWidth=mxSettings.getFormatWidth());var b=this,c=this.editor.graph;c.addListener("pageLinkClicked",function(b,d){a(d.getProperty("href"))});this.isOffline()||"undefined"===typeof window.EditDataDialog||(EditDataDialog.placeholderHelpLink="https://desk.draw.io/support/solutions/articles/16000051979");var e=b.editor.getEditBlankUrl;this.editor.getEditBlankUrl=function(a){a=null!=
+a?a:"";if(null!=b.pages&&null!=b.currentPage)for(var d=0;d<b.pages.length;d++)if(b.pages[d]==b.currentPage){0<d&&(a+=(0<a.length?"&":"?")+"page="+d);break}"1"==urlParams.dev&&(a+=(0<a.length?"&":"?")+"dev=1&drawdev=1");return e.apply(this,arguments)};var k=c.addClickHandler;c.addClickHandler=function(b,d,e){var f=d;d=function(b,d){if(null==d){var e=mxEvent.getSource(b);"a"==e.nodeName.toLowerCase()&&(d=e.getAttribute("href"))}null==d||!c.isPageLink(d)||!mxEvent.isTouchEvent(b)&&mxEvent.isPopupTrigger(b)||
+(a(d),mxEvent.consume(b));null!=f&&f(b,d)};k.call(this,b,d,e)};l.apply(this,arguments);mxClient.IS_SVG&&this.editor.graph.addSvgShadow(c.view.canvas.ownerSVGElement,null,!0);b.actions.get("print").funct=function(){b.showDialog((new PrintDialog(b)).container,360,null!=b.pages&&1<b.pages.length?420:360,!0,!0)};this.defaultFilename=mxResources.get("untitledDiagram");var h=c.getGlobalVariable;c.getGlobalVariable=function(a){return"page"==a&&null!=b.currentPage?b.currentPage.getName():"pagenumber"==a?
+null!=b.currentPage&&null!=b.pages?mxUtils.indexOf(b.pages,b.currentPage)+1:1:h.apply(this,arguments)};var n=c.createLinkForHint;c.createLinkForHint=function(d,e){var f=c.isPageLink(d);if(f){var g=d.indexOf(",");0<g&&(g=b.getPageById(d.substring(g+1)),e=null!=g?g.getName():mxResources.get("pageNotFound"))}g=n.call(this,d,e);f&&mxEvent.addListener(g,"click",function(b){a(d);mxEvent.consume(b)});return g};var q=c.labelLinkClicked;c.labelLinkClicked=function(b,d,e){var f=d.getAttribute("href");if(null==
+f||!c.isPageLink(f)||!mxEvent.isTouchEvent(e)&&mxEvent.isPopupTrigger(e))q.apply(this,arguments);else{if(!c.isEnabled()||null!=b&&c.isCellLocked(b.cell))a(f),c.getRubberband().reset();mxEvent.consume(e)}};this.editor.getOrCreateFilename=function(){var a=b.defaultFilename,d=b.getCurrentFile();null!=d&&(a=null!=d.getTitle()?d.getTitle():a);return a};var p=this.actions.get("print");p.setEnabled(!mxClient.IS_IOS||!navigator.standalone);p.visible=p.isEnabled();if(!this.editor.chromeless||this.editor.editable){var t=
+function(){window.setTimeout(function(){x.innerHTML="&nbsp;";x.focus();document.execCommand("selectAll",!1,null)},0)};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_IE||c.container.addEventListener("paste",
+mxUtils.bind(this,function(a){var b=this.editor.graph;if(!mxEvent.isConsumed(a))try{for(var d=a.clipboardData||a.originalEvent.clipboardData,c=!1,e=0;e<d.types.length;e++)if("text/"===d.types[e].substring(0,5)){c=!0;break}if(!c){var f=d.items;for(index in f){var g=f[index];if("file"===g.kind){if(b.isEditing())this.importFiles([g.getAsFile()],0,0,this.maxImageSize,function(a,d,c,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]()});
+else{var h=this.editor.graph.getInsertPoint();this.importFiles([g.getAsFile()],h.x,h.y,this.maxImageSize);mxEvent.consume(a)}break}}}}catch(Q){}}),!1);var x=document.createElement("div");x.style.position="absolute";x.style.whiteSpace="nowrap";x.style.overflow="hidden";x.style.display="block";x.contentEditable=!0;mxUtils.setOpacity(x,0);x.style.width="1px";x.style.height="1px";x.innerHTML="&nbsp;";var v=!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 b=mxEvent.getSource(a);null==c.container||!c.isEnabled()||c.isMouseDown||c.isEditing()||null!=this.dialog||"INPUT"==b.nodeName||"TEXTAREA"==b.nodeName||!(224==a.keyCode||!mxClient.IS_MAC&&17==a.keyCode||mxClient.IS_MAC&&91==a.keyCode)||v||(x.style.left=c.container.scrollLeft+10+"px",x.style.top=c.container.scrollTop+10+"px",c.container.appendChild(x),v=!0,mxClient.IS_QUIRKS?window.setTimeout(function(){x.focus();document.execCommand("selectAll",
+!1,null)},0):(x.focus(),document.execCommand("selectAll",!1,null)))}));mxEvent.addListener(document,"keyup",mxUtils.bind(this,function(a){var b=a.keyCode;window.setTimeout(mxUtils.bind(this,function(){!v||224!=b&&17!=b&&91!=b||(v=!1,c.isEditing()||null!=this.dialog||null==c.container||c.container.focus(),x.parentNode.removeChild(x))}),0)}));mxEvent.addListener(x,"copy",mxUtils.bind(this,function(a){c.isEnabled()&&(mxClipboard.copy(c),this.copyCells(x),t())}));mxEvent.addListener(x,"cut",mxUtils.bind(this,
+function(a){c.isEnabled()&&(this.copyCells(x,!0),t())}));mxEvent.addListener(x,"paste",mxUtils.bind(this,function(a){c.isEnabled()&&!c.isCellLocked(c.getDefaultParent())&&(x.innerHTML="&nbsp;",x.focus(),window.setTimeout(mxUtils.bind(this,function(){this.pasteCells(a,x);x.innerHTML="&nbsp;"}),0))}),!0);var D=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==x?!0:D.apply(this,arguments)}}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,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 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 e=this.maxImageSize,e=Math.min(1,Math.min(e/Math.max(1,c)),e/Math.max(1,a));b.insertImage(decodeURIComponent(d),c*e,a*e)})):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()})))}));if("1"==urlParams.ruler&&"undefined"!==typeof mxRuler){p=document.createElement("div");p.style.position="absolute";p.style.top="95px";p.style.left="250px";p.style.width="2000px";p.style.height="30px";p.style.background="whiteSmoke";document.body.appendChild(p);var G=document.createElement("div");G.style.position="absolute";G.style.top="125px";G.style.left="220px";
+G.style.width="30px";G.style.height="1000px";G.style.background="whiteSmoke";document.body.appendChild(G);var B=document.createElement("div");B.style.position="absolute";B.style.top="95px";B.style.left="220px";B.style.width="30px";B.style.height="30px";B.style.background="whiteSmoke";document.body.appendChild(B);this.vRuler=new mxRuler(this.editor.graph,G,!0);this.hRuler=new mxRuler(this.editor.graph,p,!1)}if("1"==urlParams.test){p=document.getElementById("geFooter");null!=p&&(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)})),p.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)}}p=document.getElementById("geInfo");null!=p&&p.parentNode.removeChild(p);if(Graph.fileSupport&&
+(!this.editor.chromeless||this.editor.editable)){var C=null;mxEvent.addListener(c.container,"dragleave",function(a){c.isEnabled()&&(null!=C&&(C.parentNode.removeChild(C),C=null),a.stopPropagation(),a.preventDefault())});mxEvent.addListener(c.container,"dragover",mxUtils.bind(this,function(a){null==C&&(!mxClient.IS_IE||10<document.documentMode)&&(C=this.highlightElement(c.container));null!=this.sidebar&&this.sidebar.hideTooltip();a.stopPropagation();a.preventDefault()}));mxEvent.addListener(c.container,
+"drop",mxUtils.bind(this,function(a){null!=C&&(C.parentNode.removeChild(C),C=null);if(c.isEnabled()){var b=mxUtils.convertPoint(c.container,mxEvent.getClientX(a),mxEvent.getClientY(a)),d=c.view.translate,e=c.view.scale,f=b.x/e-d.x,g=b.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 h=0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")?
+a.dataTransfer.getData("text/uri-list"):null,b=this.extractGraphModelFromEvent(a,null!=this.pages);if(null!=b)c.setSelectionCells(this.importXml(b,f,g,!0));else if(0<=mxUtils.indexOf(a.dataTransfer.types,"text/html")){var k=a.dataTransfer.getData("text/html"),b=document.createElement("div");b.innerHTML=k;var n=null,d=b.getElementsByTagName("img");null!=d&&1==d.length?(k=d[0].getAttribute("src"),/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(k)||(n=!0)):(b=b.getElementsByTagName("a"),null!=b&&1==b.length&&
+(k=b[0].getAttribute("href")));var m=!0,l=mxUtils.bind(this,function(){c.setSelectionCells(this.insertTextAt(k,f,g,!0,n,null,m))});n&&k.length>this.resampleThreshold?this.confirmImageResize(function(a){m=a;l()},mxEvent.isControlDown(a)):l()}else null!=h&&/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(h)?this.loadImage(decodeURIComponent(h),mxUtils.bind(this,function(a){var b=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,b)),d/Math.max(1,a));c.setSelectionCell(c.insertVertex(null,
+null,"",f,g,b*d,a*d,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+h+";"))}),mxUtils.bind(this,function(a){c.setSelectionCells(this.insertTextAt(h,f,g,!0))})):0<=mxUtils.indexOf(a.dataTransfer.types,"text/plain")&&c.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.isSettingsEnabled=function(){return"undefined"!==typeof window.mxSettings&&(isLocalStorage||mxClient.IS_CHROMEAPP)};EditorUi.prototype.installSettings=function(){if(this.isSettingsEnabled()){ColorDialog.recentColors=mxSettings.getRecentColors();this.editor.graph.currentEdgeStyle=mxSettings.getCurrentEdgeStyle();this.editor.graph.currentVertexStyle=mxSettings.getCurrentVertexStyle();this.fireEvent(new mxEventObject("styleChanged","keys",[],"values",[],"cells",[]));this.addListener("styleChanged",
+mxUtils.bind(this,function(a,b){mxSettings.setCurrentEdgeStyle(this.editor.graph.currentEdgeStyle);mxSettings.setCurrentVertexStyle(this.editor.graph.currentVertexStyle);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();this.addListener("gridColorChanged",mxUtils.bind(this,function(a,b){mxSettings.setGridColor(this.editor.graph.view.gridColor);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 d=this.editor.graph;
+if(d.isSelectionEmpty())a.innerHTML="";else{var c=mxUtils.sortCells(d.model.getTopmostCells(d.getSelectionCells())),e=mxUtils.getXml(this.editor.graph.encodeCells(c));mxUtils.setTextContent(a,encodeURIComponent(e));b?(d.removeCells(c,!1),d.lastPasteXml=null):(d.lastPasteXml=e,d.pasteCounter=0);a.focus();document.execCommand("selectAll",!1,null)}};EditorUi.prototype.pasteCells=function(a,b){if(!mxEvent.isConsumed(a)){var d=b.getElementsByTagName("span");if(null!=d&&0<d.length&&"application/vnd.lucid.chart.objects"===
+d[0].getAttribute("data-lucid-type")){var c=d[0].getAttribute("data-lucid-content");null!=c&&0<c.length&&(this.importLucidChart(c,0,0),mxEvent.consume(a))}else{var c=this.editor.graph,e=mxUtils.trim(mxClient.IS_QUIRKS||8==document.documentMode?mxUtils.getTextContent(b):b.textContent),f=!1;try{var k=e.lastIndexOf("%3E");0<=k&&k<e.length-3&&(e=e.substring(0,k+3))}catch(w){}try{var d=b.getElementsByTagName("span"),l=null!=d&&0<d.length?mxUtils.trim(decodeURIComponent(d[0].textContent)):decodeURIComponent(e);
+this.isCompatibleString(l)&&(f=!0,e=l)}catch(w){}c.lastPasteXml==e?c.pasteCounter++:(c.lastPasteXml=e,c.pasteCounter=0);d=c.pasteCounter*c.gridSize;if(null!=e&&0<e.length&&(f||this.isCompatibleString(e)?c.setSelectionCells(this.importXml(e,d,d)):(f=c.getInsertPoint(),c.isMouseInsertPoint()&&(d=0,c.lastPasteXml==e&&0<c.pasteCounter&&c.pasteCounter--),c.setSelectionCells(this.insertTextAt(e,f.x+d,f.y+d,!0))),!c.isSelectionEmpty())){c.scrollCellToVisible(c.getSelectionCell());null!=this.hoverIcons&&
+this.hoverIcons.update(c.view.getState(c.getSelectionCell()));try{mxEvent.consume(a)}catch(w){}}}}};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?"https://www.draw.io/":"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 h=document.documentElement;c=(e.clientWidth||h.clientWidth)-3;e=Math.max(e.clientHeight||0,h.clientHeight)-3}else b=a.offsetTop,d=a.offsetLeft,c=a.clientWidth,
+e=a.clientHeight;h=document.createElement("div");h.style.zIndex=mxPopupMenu.prototype.zIndex+2;h.style.border="3px dotted rgb(254, 137, 12)";h.style.pointerEvents="none";h.style.position="absolute";h.style.top=b+"px";h.style.left=d+"px";h.style.width=Math.max(0,c-3)+"px";h.style.height=Math.max(0,e-3)+"px";null!=a&&a.parentNode==this.editor.graph.container?this.editor.graph.container.appendChild(h):document.body.appendChild(h);return h};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){var c=d.target.result,e=a.name;if(null!=
+e&&0<e.length){!this.useCanvasForExport&&/(\.png)$/i.test(e)&&(e=e.substring(0,e.length-4)+".xml");var f=mxUtils.bind(this,function(a){e=0<=e.lastIndexOf(".")?e.substring(0,e.lastIndexOf("."))+".xml":e+".xml";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(x){this.handleError(x,mxResources.get("errorLoadingFile"))}}else this.openLocalFile(a,
+e,b)});if(/(\.vsdx?)($|\?)/i.test(e)||/(\.vssx)($|\?)/i.test(e))this.importVisio(a,mxUtils.bind(this,function(a){this.spinner.stop();f(a)}));else if(Graph.fileSupport&&!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(c,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('{"state":"{\\"Properties\\":'==c.substring(0,26))/(\.json)$/i.test(e)&&(e=e.substring(0,e.length-5)+".xml"),this.openLocalFile(this.emptyDiagramXml,e,b),this.importLucidChart(c,0,0,null,mxUtils.bind(this,function(){this.editor.undoManager.clear();this.spinner.stop()}));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(t){this.handleError(t,mxResources.get("errorLoadingFile"))}}else"image/png"==a.type.substring(0,9)&&(c=this.extractGraphModelFromPng(c)),this.spinner.stop(),this.openLocalFile(c,e,b)}});d.onerror=mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a);window.openFile=null});"image"===a.type.substring(0,5)&&"image/svg"!==a.type.substring(0,9)?d.readAsDataURL(a):d.readAsText(a)})(a[d])};EditorUi.prototype.openLocalFile=function(a,b,c){var d=this.getCurrentFile(),
+e=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))});null!=a&&0<a.length&&(null==d||!d.isModified()&&(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)?e():(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)&&null!=d&&d.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(){this.confirm(mxResources.get("allChangesLost"),null,e,mxResources.get("cancel"),mxResources.get("discardChanges"))}))))};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,e=c.getCellStyle(a);d(mxStencilRegistry.getBasenameForStencil(e[mxConstants.STYLE_SHAPE]));c.model.isEdge(a)&&(d(mxMarker.getPackageForType(e[mxConstants.STYLE_STARTARROW])),d(mxMarker.getPackageForType(e[mxConstants.STYLE_ENDARROW])));
+for(var e=c.model.getChildCount(a),f=0;f<e;f++)this.addBasenamesForCell(c.model.getChildAt(a,f),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.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,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,scale:b.view.scale,page:b.view.getBackgroundPageBounds(),bounds:b.getGraphBounds()}};EditorUi.prototype.installMessageHandler=function(a){var b=null,d=!1,c=!1,e=null,h=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,h);mxEvent.addListener(window,
+"message",mxUtils.bind(this,function(f){function g(a){if(null!=a&&"function"===typeof a.charAt&&"<"!=a.charAt(0))try{"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=this.editor.graph.decompress(a)))}catch(J){}return a}if(f.source==(window.opener||window.parent)){var h=f.data;if("json"==urlParams.proto){try{h=JSON.parse(h)}catch(E){h=null}if(null==
+h)return;if("dialog"==h.action){this.showError(null!=h.titleKey?mxResources.get(h.titleKey):h.title,null!=h.messageKey?mxResources.get(h.messageKey):h.message,null!=h.buttonKey?mxResources.get(h.buttonKey):h.button);null!=h.modified&&(this.editor.modified=h.modified);return}if("prompt"==h.action){this.spinner.stop();var n=new FilenameDialog(this,h.defaultValue||"",null!=h.okKey?mxResources.get(h.okKey):null,function(a){null!=a&&k.postMessage(JSON.stringify({event:"prompt",value:a,message:h}),"*")},
+null!=h.titleKey?mxResources.get(h.titleKey):h.title);this.showDialog(n.container,300,80,!0,!1);n.init();return}if("draft"==h.action){n=null;n="data:image/png;base64,"==h.xml.substring(0,22)?this.extractGraphModelFromPng(h.xml):g(h.xml);this.spinner.stop();n=new DraftDialog(this,mxResources.get("draftFound",[h.name||this.defaultFilename]),n,mxUtils.bind(this,function(){this.hideDialog();k.postMessage(JSON.stringify({event:"draft",result:"edit",message:h}),"*")}),mxUtils.bind(this,function(){this.hideDialog();
+k.postMessage(JSON.stringify({event:"draft",result:"discard",message:h}),"*")}),h.editKey?mxResources.get(h.editKey):null,h.discardKey?mxResources.get(h.discardKey):null,h.ignore?mxUtils.bind(this,function(){this.hideDialog();k.postMessage(JSON.stringify({event:"draft",result:"ignore",message:h}),"*")}):null);this.showDialog(n.container,640,480,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));try{n.init()}catch(E){k.postMessage(JSON.stringify({event:"draft",error:E.toString(),
+message:h}),"*")}return}if("template"==h.action){this.spinner.stop();var n=1==h.enableRecent,l=1==h.enableSearch,n=new NewDialog(this,!1,null!=h.callback,mxUtils.bind(this,function(b,d){b=b||this.emptyDiagramXml;null!=h.callback?k.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,n?mxUtils.bind(this,function(a){this.recentReadyCallback=
+a;k.postMessage(JSON.stringify({event:"recentDocs"}),"*")}):null,l?mxUtils.bind(this,function(a,b){this.searchReadyCallback=b;k.postMessage(JSON.stringify({event:"searchDocs",searchStr:a}),"*")}):null,function(a,b,d){k.postMessage(JSON.stringify({event:"template",docUrl:a,info:b,name:d}),"*")});this.showDialog(n.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));n.init();return}if("searchDocsList"==h.action)this.searchReadyCallback(h.list,h.errorMsg);else if("recentDocsList"==
+h.action)this.recentReadyCallback(h.list,h.errorMsg);else{if("status"==h.action){null!=h.messageKey?this.editor.setStatus(mxUtils.htmlEntities(mxResources.get(h.messageKey))):null!=h.message&&this.editor.setStatus(mxUtils.htmlEntities(h.message));null!=h.modified&&(this.editor.modified=h.modified);return}if("spinner"==h.action){var m=null!=h.messageKey?mxResources.get(h.messageKey):h.message;null==h.show||h.show?this.spinner.spin(document.body,m):this.spinner.stop();return}if("export"==h.action){if("png"==
+h.format||"xmlpng"==h.format){if(null==h.spin&&null==h.spinKey||this.spinner.spin(document.body,null!=h.spinKey?mxResources.get(h.spinKey):h.spin)){var q=null!=h.xml?h.xml:this.getFileData(!0);this.editor.graph.setEnabled(!1);var p=this.editor.graph,r=mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();var b=this.createLoadMessage("export");b.format=h.format;b.message=h;b.data=a;b.xml=encodeURIComponent(q);k.postMessage(JSON.stringify(b),"*")}),u=mxUtils.bind(this,function(a){null==
+a&&(a=Editor.blankImage);"xmlpng"==h.format&&(a=this.writeGraphModelToPng(a,"zTXt","mxGraphModel",atob(this.editor.graph.compress(q))));p!=this.editor.graph&&p.container.parentNode.removeChild(p.container);r(a)});if(this.isExportToCanvas()){if(null!=this.pages&&this.currentPage!=this.pages[0]){var p=this.createTemporaryGraph(p.getStylesheet()),v=p.getGlobalVariable,z=this.pages[0];p.getGlobalVariable=function(a){return"page"==a?z.getName():"pagenumber"==a?1:v.apply(this,arguments)};document.body.appendChild(p.container);
+p.model.setRoot(z.root)}this.exportToCanvas(mxUtils.bind(this,function(a){u(a.toDataURL("image/png"))}),null,null,null,mxUtils.bind(this,function(){u(null)}),null,null,null,null,null,null,p)}else(new mxXmlRequest(EXPORT_URL,"format=png&embedXml="+("xmlpng"==h.format?"1":"0")+"&base64=1&xml="+encodeURIComponent(encodeURIComponent(q)))).send(mxUtils.bind(this,function(a){200<=a.getStatus()&&299>=a.getStatus()?r("data:image/png;base64,"+a.getText()):u(null)}),mxUtils.bind(this,function(){u(null)}))}}else{null!=
+h.xml&&0<h.xml.length&&this.setFileData(h.xml);m=this.createLoadMessage("export");if("html2"==h.format||"html"==h.format&&("0"!=urlParams.pages||null!=this.pages&&1<this.pages.length))n=this.getXmlFileData(),m.xml=mxUtils.getXml(n),m.data=this.getFileData(null,null,!0,null,null,null,n),m.format=h.format;else if("html"==h.format)q=this.editor.getGraphXml(),m.data=this.getHtml(q,this.editor.graph),m.xml=mxUtils.getXml(q),m.format=h.format;else{mxSvgCanvas2D.prototype.foAltText=null;n=this.editor.graph.background;
+n==mxConstants.NONE&&(n=null);m.xml=this.getFileData(!0);m.format="svg";if(h.embedImages||null==h.embedImages){if(null==h.spin&&null==h.spinKey||this.spinner.spin(document.body,null!=h.spinKey?mxResources.get(h.spinKey):h.spin))this.editor.graph.setEnabled(!1),"xmlsvg"==h.format?this.getEmbeddedSvg(m.xml,this.editor.graph,null,!0,mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();m.data=this.createSvgDataUri(a);k.postMessage(JSON.stringify(m),"*")})):this.convertImages(this.editor.graph.getSvg(n),
+mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();m.data=this.createSvgDataUri(mxUtils.getXml(a));k.postMessage(JSON.stringify(m),"*")}));return}n="xmlsvg"==h.format?this.getEmbeddedSvg(this.getFileData(!0),this.editor.graph,null,!0):mxUtils.getXml(this.editor.graph.getSvg(n));m.data=this.createSvgDataUri(n)}k.postMessage(JSON.stringify(m),"*")}return}if("load"==h.action)c=1==h.autosave,this.hideDialog(),null!=h.modified&&null==urlParams.modified&&(urlParams.modified=
+h.modified),null!=h.saveAndExit&&null==urlParams.saveAndExit&&(urlParams.saveAndExit=h.saveAndExit),null!=h.title&&null!=this.buttonContainer&&(n=document.createElement("span"),mxUtils.write(n,h.title),"atlas"==uiTheme?(this.buttonContainer.style.paddingRight="12px",this.buttonContainer.style.paddingTop="12px"):"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),h=null!=h.xmlpng?this.extractGraphModelFromPng(h.xmlpng):null!=h.xml&&"data:image/png;base64,"==h.xml.substring(0,22)?this.extractGraphModelFromPng(h.xml):h.xml;else{k.postMessage(JSON.stringify({error:"unknownMessage",data:JSON.stringify(h)}),"*");return}}}h=g(h);d=!0;try{a(h,f)}catch(E){this.handleError(E)}d=!1;null!=urlParams.modified&&this.editor.setStatus("");var N=mxUtils.bind(this,function(){return"0"!=urlParams.pages||null!=this.pages&&
+1<this.pages.length?this.getFileData(!0):mxUtils.getXml(this.editor.getGraphXml())});e=N();c&&null==b&&(b=mxUtils.bind(this,function(a,b){var c=N();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||k.postMessage(JSON.stringify(this.createLoadMessage("load")),"*")}}));var k=window.opener||window.parent,h="json"==urlParams.proto?JSON.stringify({event:"init"}):
+urlParams.ready||"ready";k.postMessage(h,"*")};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":"3px";a.style.paddingLeft="8px";a.style.paddingBottom="2px";var b=document.createElement("button");mxUtils.write(b,mxResources.get("save"));b.setAttribute("title",mxResources.get("save")+" ("+Editor.ctrlKey+"+S)");b.className="geBigButton";b.style.fontSize=
+"12px";b.style.padding="4px 6px 4px 6px";b.style.borderRadius="3px";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.style.fontSize="12px",b.style.marginLeft="6px",b.style.padding="4px",b.style.cursor="pointer",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.style.fontSize="12px";b.style.marginLeft="6px";b.style.marginRight="20px";b.style.padding="4px";b.style.cursor="pointer";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.showDialog(this.importCsvDialog.container,640,520,!0,!0);this.importCsvDialog.init()};EditorUi.prototype.importCsv=function(a,b){try{var d=a.split("\n"),c=[];if(0<d.length){var e={},f=null,k=null,l="",q="auto",p="auto",v=null,F=null,D=40,G=40,B=0,y=this.editor.graph;
+y.getGraphBounds();for(var C=function(){null!=b?b(Z):(y.setSelectionCells(Z),y.scrollCellToVisible(y.getSelectionCell()))},I=y.getFreeInsertPoint(),z=I.x,N=I.y,I=N,E=null,J="auto",R=[],Y=null,aa=null,Q=0;Q<d.length&&"#"==d[Q].charAt(0);){a=d[Q];for(Q++;Q<d.length&&"\\"==a.charAt(a.length-1)&&"#"==d[Q].charAt(0);)a=a.substring(0,a.length-1)+mxUtils.trim(d[Q].substring(1)),Q++;if("#"!=a.charAt(1)){var S=a.indexOf(":");if(0<S){var K=mxUtils.trim(a.substring(1,S)),H=mxUtils.trim(a.substring(S+1));"label"==
+K?E=y.sanitizeHtml(H):"style"==K?f=H:"identity"==K&&0<H.length&&"-"!=H?k=H:"namespace"==K&&0<H.length&&"-"!=H?l=H:"width"==K?q=H:"height"==K?p=H:"left"==K&&0<H.length?v=H:"top"==K&&0<H.length?F=H:"ignore"==K?aa=H.split(","):"connect"==K?R.push(JSON.parse(H)):"link"==K?Y=H:"padding"==K?B=parseFloat(H):"edgespacing"==K?D=parseFloat(H):"nodespacing"==K?G=parseFloat(H):"layout"==K&&(J=H)}}}var V=this.editor.csvToArray(d[Q]),S=null;if(null!=k)for(var L=0;L<V.length;L++)if(k==V[L]){S=L;break}null==E&&(E=
+"%"+V[0]+"%");if(null!=R)for(var O=0;O<R.length;O++)null==e[R[O].to]&&(e[R[O].to]={});y.model.beginUpdate();try{for(L=Q+1;L<d.length;L++){var X=this.editor.csvToArray(d[L]);if(X.length==V.length){var A=null,W=null!=S?l+X[S]:null;null!=W&&(A=y.model.getCell(W));null==A&&(A=new mxCell(E,new mxGeometry(z,I,0,0),f||"whiteSpace=wrap;html=1;"),A.vertex=!0,A.id=W);for(var P=0;P<X.length;P++)y.setAttributeForCell(A,V[P],X[P]);y.setAttributeForCell(A,"placeholders","1");A.style=y.replacePlaceholders(A,A.style);
+for(O=0;O<R.length;O++)e[R[O].to][A.getAttribute(R[O].to)]=A;null!=Y&&"link"!=Y&&(y.setLinkForCell(A,A.getAttribute(Y)),y.setAttributeForCell(A,Y,null));y.fireEvent(new mxEventObject("cellsInserted","cells",[A]));var da=this.editor.graph.getPreferredSizeForCell(A);A.vertex&&(null!=v&&null!=A.getAttribute(v)&&(A.geometry.x=z+parseFloat(A.getAttribute(v))),null!=F&&null!=A.getAttribute(F)&&(A.geometry.y=N+parseFloat(A.getAttribute(F))),"@"==q.charAt(0)&&null!=A.getAttribute(q.substring(1))?A.geometry.width=
+parseFloat(A.getAttribute(q.substring(1))):A.geometry.width="auto"==q?da.width+B:parseFloat(q),"@"==p.charAt(0)&&null!=A.getAttribute(p.substring(1))?A.geometry.height=parseFloat(A.getAttribute(p.substring(1))):A.geometry.height="auto"==p?da.height+B:parseFloat(p),I+=A.geometry.height+G);c.push(y.addCell(A))}}for(var T=c.slice(),Z=c.slice(),O=0;O<R.length;O++)for(var U=R[O],L=0;L<c.length;L++){var A=c[L],na=A.getAttribute(U.from);if(null!=na){y.setAttributeForCell(A,U.from,null);for(var oa=na.split(","),
+P=0;P<oa.length;P++){var ca=e[U.to][oa[P]];null!=ca&&(E=U.label,null!=U.fromlabel&&(E=(A.getAttribute(U.fromlabel)||"")+(E||"")),null!=U.tolabel&&(E=(E||"")+(ca.getAttribute(U.tolabel)||"")),Z.push(y.insertEdge(null,null,E||"",U.invert?ca:A,U.invert?A:ca,U.style||y.createCurrentEdgeStyle())),mxUtils.remove(U.invert?A:ca,T))}}}if(null!=aa)for(L=0;L<c.length;L++)for(A=c[L],P=0;P<aa.length;P++)y.setAttributeForCell(A,mxUtils.trim(aa[P]),null);var ia=new mxParallelEdgeLayout(y);ia.spacing=D;var qa=function(){ia.execute(y.getDefaultParent());
+for(var a=0;a<c.length;a++){var b=y.getCellGeometry(c[a]);b.x=Math.round(y.snap(b.x));b.y=Math.round(y.snap(b.y));"auto"==q&&(b.width=Math.round(y.snap(b.width)));"auto"==p&&(b.height=Math.round(y.snap(b.height)))}};if("circle"==J){var ea=new mxCircleLayout(y);ea.resetEdges=!1;var ra=ea.isVertexIgnored;ea.isVertexIgnored=function(a){return ra.apply(this,arguments)||0>mxUtils.indexOf(c,a)};this.executeLayout(function(){ea.execute(y.getDefaultParent());qa()},!0,C);C=null}else if("horizontaltree"==J||
+"verticaltree"==J||"auto"==J&&Z.length==2*c.length-1&&1==T.length){y.view.validate();var fa=new mxCompactTreeLayout(y,"horizontaltree"==J);fa.levelDistance=G;fa.edgeRouting=!1;fa.resetEdges=!1;this.executeLayout(function(){fa.execute(y.getDefaultParent(),0<T.length?T[0]:null)},!0,C);C=null}else if("horizontalflow"==J||"verticalflow"==J||"auto"==J&&1==T.length){y.view.validate();var ja=new mxHierarchicalLayout(y,"horizontalflow"==J?mxConstants.DIRECTION_WEST:mxConstants.DIRECTION_NORTH);ja.intraCellSpacing=
+G;ja.disableEdgeStyle=!1;this.executeLayout(function(){ja.execute(y.getDefaultParent(),Z);y.moveCells(Z,z,N)},!0,C);C=null}else if("organic"==J||"auto"==J&&Z.length>c.length){y.view.validate();var ba=new mxFastOrganicLayout(y);ba.forceConstant=3*G;ba.resetEdges=!1;var ka=ba.isVertexIgnored;ba.isVertexIgnored=function(a){return ka.apply(this,arguments)||0>mxUtils.indexOf(c,a)};ia=new mxParallelEdgeLayout(y);ia.spacing=D;this.executeLayout(function(){ba.execute(y.getDefaultParent());qa()},!0,C);C=null}this.hideDialog()}finally{y.model.endUpdate()}null!=
+C&&C()}}catch(ga){this.handleError(ga)}};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,440,130,!0,!0);a.init()};var q=EditorUi.prototype.createOutline;EditorUi.prototype.createOutline=function(a){var b=q.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 h=b.init;b.init=function(){h.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"),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(c.previousPage.root,!0);b.outline.view.validate()});return b};EditorUi.prototype.getServiceCount=function(a,b){var d=0;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.trello&&"function"!==typeof window.TrelloClient||d++;a&&isLocalStorage&&("1"==urlParams.browser||mxClient.IS_IOS)&&d++;mxClient.IS_IOS||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("openLibraryFrom").setEnabled(c);this.menus.get("newLibrary").setEnabled(c);this.menus.get("extras").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.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 e=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 e=window.applicationCache,k=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!=k&&(this.offlineStatus.innerHTML=b,k=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.isDiagramActive=function(){var a=this.getCurrentFile();return null!=a&&a.isEditable()||"1"==urlParams.embed&&this.editor.graph.isEnabled()};var p=EditorUi.prototype.updateActionStates;EditorUi.prototype.updateActionStates=function(){p.apply(this,arguments);var a=this.editor.graph,b=this.isDiagramActive(),c=this.getCurrentFile(),e=null!=c||"1"==urlParams.embed;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.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.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 e=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 e=window.applicationCache,k=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!=k&&(this.offlineStatus.innerHTML=b,k=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.isDiagramActive=function(){var a=this.getCurrentFile();return null!=a&&a.isEditable()||"1"==urlParams.embed&&this.editor.graph.isEnabled()};var p=EditorUi.prototype.updateActionStates;EditorUi.prototype.updateActionStates=function(){p.apply(this,arguments);var a=this.editor.graph,b=this.isDiagramActive(),c=this.getCurrentFile(),e=null!=c||"1"==urlParams.embed;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(b&&(null==c||!c.isRestricted()));this.actions.get("find").setEnabled(e);this.actions.get("layers").setEnabled(e);this.actions.get("outline").setEnabled(e);
-this.actions.get("rename").setEnabled(null!=c&&c.isRenamable());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 v=EditorUi.prototype.destroy;EditorUi.prototype.destroy=function(){null!=this.exportDialog&&(this.exportDialog.parentNode.removeChild(this.exportDialog),this.exportDialog=null);v.apply(this,
-arguments)};null!=window.ExportDialog&&(ExportDialog.showXmlOption=!1,ExportDialog.showGifOption=!1,ExportDialog.exportFile=function(a,b,c,e,k,h){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,k,h)),"image/svg+xml");else{var f=a.getFileData(!0,null,null,null,null,!0),g=d.getGraphBounds(),l=Math.floor(g.width*k/d.view.scale),q=Math.floor(g.height*k/d.view.scale);
-f.length<=MAX_REQUEST_SIZE&&l*q<MAX_AREA?(a.hideDialog(),a.saveRequest(b,c,function(a,b){return new mxXmlRequest(EXPORT_URL,"format="+c+"&base64="+(b||"0")+(null!=a?"&filename="+encodeURIComponent(a):"")+"&bg="+(null!=e?e:"none")+"&w="+l+"&h="+q+"&border="+h+"&xml="+encodeURIComponent(f))})):mxUtils.alert(mxResources.get("drawingTooLarge"))}})})();function DiagramPage(a){this.node=a;(null==this.node.hasAttribute&&null==this.node.getAttribute("id")||null!=this.node.hasAttribute&&!this.node.hasAttribute("id"))&&this.node.setAttribute("id",function(){function a(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return a()+a()+"-"+a()+"-"+a()+"-"+a()+"-"+a()+a()+a()}())}DiagramPage.prototype.node=null;DiagramPage.prototype.root=null;DiagramPage.prototype.viewState=null;DiagramPage.prototype.getId=function(){return this.node.getAttribute("id")};
+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 v=EditorUi.prototype.destroy;EditorUi.prototype.destroy=function(){null!=this.exportDialog&&(this.exportDialog.parentNode.removeChild(this.exportDialog),this.exportDialog=
+null);v.apply(this,arguments)};null!=window.ExportDialog&&(ExportDialog.showXmlOption=!1,ExportDialog.showGifOption=!1,ExportDialog.exportFile=function(a,b,c,e,k,h){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,k,h)),"image/svg+xml");else{var f=a.getFileData(!0,null,null,null,null,!0),g=d.getGraphBounds(),l=Math.floor(g.width*k/d.view.scale),m=Math.floor(g.height*
+k/d.view.scale);f.length<=MAX_REQUEST_SIZE&&l*m<MAX_AREA?(a.hideDialog(),a.saveRequest(b,c,function(a,b){return new mxXmlRequest(EXPORT_URL,"format="+c+"&base64="+(b||"0")+(null!=a?"&filename="+encodeURIComponent(a):"")+"&bg="+(null!=e?e:"none")+"&w="+l+"&h="+m+"&border="+h+"&xml="+encodeURIComponent(f))})):mxUtils.alert(mxResources.get("drawingTooLarge"))}})})();function DiagramPage(a){this.node=a;(null==this.node.hasAttribute&&null==this.node.getAttribute("id")||null!=this.node.hasAttribute&&!this.node.hasAttribute("id"))&&this.node.setAttribute("id",function(){function a(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return a()+a()+"-"+a()+"-"+a()+"-"+a()+"-"+a()+a()+a()}())}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.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){this.ui=a;this.previousPage=this.page=b;this.neverShown=!0;null!=b&&(this.neverShown=null==b.viewState,this.ui.updatePageRoot(b))}
@@ -2998,9 +2998,9 @@ b.fireEvent(new mxEventObject("setViewState","change",this));e.gridEnabled=e.gri
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;SelectPage.prototype.execute.apply(this,arguments)};
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(){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":"30px";c!=this.tabContainer.style.height&&this.refresh(!1)}b.apply(a.view,arguments)});var e=!1,c=null,k=mxUtils.bind(this,function(){this.updateTabContainer();var b=this.currentPage;null!=b&&b!=c&&(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),c=b);null!=this.actions.layersWindow&&this.actions.layersWindow.refreshLayers();"undefined"!==typeof MathJax&&"undefined"!==typeof MathJax.Hub?e||null==this.editor||(1!=MathJax.Hub.queue.pending||this.editor.graph.mathEnabled||MathJax.Hub.Queue(mxUtils.bind(this,function(){this.editor.graph.refresh()})),MathJax.Hub.Queue(mxUtils.bind(this,function(){e=
-!0}))):"undefined"===typeof Editor.MathJaxClear||null!=this.editor&&this.editor.graph.mathEnabled||(e=!0,Editor.MathJaxClear())});this.editor.graph.model.addListener(mxEvent.CHANGE,mxUtils.bind(this,function(a,b){for(var c=b.getProperty("edit").changes,e=0;e<c.length;e++)if(c[e]instanceof SelectPage||c[e]instanceof RenamePage||c[e]instanceof MovePage||c[e]instanceof mxRootChange){k();break}}));null!=this.toolbar&&this.editor.addListener("pageSelected",this.toolbar.updateZoom)};
+null==this.fileNode||null==this.pages||1==this.pages.length&&"0"==urlParams.pages?"0px":"30px";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(){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,k=0;k<e.length;k++)if(e[k]instanceof SelectPage||e[k]instanceof RenamePage||e[k]instanceof MovePage||e[k]instanceof mxRootChange){c();break}}));null!=this.toolbar&&this.editor.addListener("pageSelected",this.toolbar.updateZoom)};
Graph.prototype.createViewState=function(a){var b=a.getAttribute("page"),e=a.getAttribute("pageScale"),c=a.getAttribute("pageWidth"),k=a.getAttribute("pageHeight"),l=a.getAttribute("background"),q=a.getAttribute("backgroundImage"),q=null!=q&&0<q.length?JSON.parse(q):null;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!=l&&0<l.length?l:this.defaultGraphBackground,backgroundImage:null!=q?new mxImage(q.src,q.width,q.height):null,pageScale:null!=e?e:mxGraph.prototype.pageScale,pageFormat:null!=c&&null!=k?new mxRectangle(0,0,parseFloat(c),parseFloat(k)):this.pageFormat,tooltips:"0"!=a.getAttribute("tooltips"),connect:"0"!=a.getAttribute("connect"),arrows:"0"!=a.getAttribute("arrows"),mathEnabled:"0"!=
a.getAttribute("math"),selectionCells:null,defaultParent:null,scrollbars:this.defaultScrollbars,scale:1}};
@@ -3018,8 +3018,8 @@ EditorUi.prototype.duplicatePage=function(a,b){var e=this.editor.graph,c=null;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.style.backgroundColor="dark"==uiTheme?"#2a2a2a":"#dcdcdc";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="12px";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),k=null,l=0;l<this.pages.length;l++)mxUtils.bind(this,function(c,e){this.pages[c]==this.currentPage?(e.className="geActivePage",e.style.backgroundColor="dark"==uiTheme?"#2a2a2a":"#eeeeee",e.style.fontWeight="bold",e.style.borderTopStyle="none"):e.className="geInactivePage";e.setAttribute("draggable","true");mxEvent.addListener(e,"dragstart",mxUtils.bind(this,function(b){a.isEnabled()?(mxClient.IS_FF&&b.dataTransfer.setData("Text","<diagram/>"),k=c):mxEvent.consume(b)}));mxEvent.addListener(e,
-"dragend",mxUtils.bind(this,function(a){k=null;a.stopPropagation();a.preventDefault()}));mxEvent.addListener(e,"dragover",mxUtils.bind(this,function(a){null!=k&&(a.dataTransfer.dropEffect="move");a.stopPropagation();a.preventDefault()}));mxEvent.addListener(e,"drop",mxUtils.bind(this,function(a){null!=k&&c!=k&&this.movePage(k,c);a.stopPropagation();a.preventDefault()}));b.appendChild(e)})(l,this.createTabForPage(this.pages[l],c,this.pages[l]!=this.currentPage));this.tabContainer.innerHTML="";this.tabContainer.appendChild(b);
+e)/this.pages.length)+1),k=null,l=0;l<this.pages.length;l++)mxUtils.bind(this,function(d,c){this.pages[d]==this.currentPage?(c.className="geActivePage",c.style.backgroundColor="dark"==uiTheme?"#2a2a2a":"#eeeeee",c.style.fontWeight="bold",c.style.borderTopStyle="none"):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/>"),k=d):mxEvent.consume(b)}));mxEvent.addListener(c,
+"dragend",mxUtils.bind(this,function(a){k=null;a.stopPropagation();a.preventDefault()}));mxEvent.addListener(c,"dragover",mxUtils.bind(this,function(a){null!=k&&(a.dataTransfer.dropEffect="move");a.stopPropagation();a.preventDefault()}));mxEvent.addListener(c,"drop",mxUtils.bind(this,function(a){null!=k&&d!=k&&this.movePage(k,d);a.stopPropagation();a.preventDefault()}));b.appendChild(c)})(l,this.createTabForPage(this.pages[l],c,this.pages[l]!=this.currentPage));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 p=this.createControlTab(4,
"&nbsp;&#10095;");p.style.position="absolute";p.style.right=this.editor.chromeless?"0px":"29px";p.style.fontSize="13pt";this.tabContainer.appendChild(p);var v=Math.max(0,this.tabContainer.clientWidth-(this.editor.chromeless?86:116));b.style.width=v+"px";mxEvent.addListener(q,"click",mxUtils.bind(this,function(a){b.scrollLeft-=Math.max(20,v-20);mxUtils.setOpacity(q,0<b.scrollLeft?100:50);mxUtils.setOpacity(p,b.scrollLeft<b.scrollWidth-b.clientWidth?100:50);mxEvent.consume(a)}));mxUtils.setOpacity(q,
0<b.scrollLeft?100:50);mxUtils.setOpacity(p,b.scrollLeft<b.scrollWidth-b.clientWidth?100:50);mxEvent.addListener(p,"click",mxUtils.bind(this,function(a){b.scrollLeft+=Math.max(20,v-20);mxUtils.setOpacity(q,0<b.scrollLeft?100:50);mxUtils.setOpacity(p,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()};
@@ -3039,38 +3039,38 @@ mxResources.get("copyOf",[a.getName()]))}),c)})};(function(){var a=EditorUi.prot
(function(){var a=new mxObjectCodec(new ChangePage,["ui","relatedPage","index","neverShown"]);a.afterEncode=function(a,e,c){c.setAttribute("relatedPage",e.relatedPage.getId());null==e.index&&(c.setAttribute("name",e.relatedPage.getName()),null!=e.relatedPage.root&&a.encodeCell(e.relatedPage.root,c));return c};a.beforeDecode=function(a,e,c){c.ui=a.ui;c.relatedPage=c.ui.getPageById(e.getAttribute("relatedPage"));if(null==c.relatedPage){var b=document.createElement("diagram");b.setAttribute("id",e.getAttribute("relatedPage"));
b.setAttribute("name",e.getAttribute("name"));c.relatedPage=new DiagramPage(b);e=e.cloneNode(!0);b=e.firstChild;if(null!=b)for(c.relatedPage.root=a.decodeCell(b,!1),c=b.nextSibling,b.parentNode.removeChild(b),b=c;null!=b;){c=b.nextSibling;if(b.nodeType==mxConstants.NODETYPE_ELEMENT){var l=b.getAttribute("id");null==a.lookup(l)&&a.decodeCell(b)}b.parentNode.removeChild(b);b=c}}return e};a.afterDecode=function(a,e,c){c.index=c.previousIndex;return c};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",b=Graph.prototype.foldCells;
Graph.prototype.foldCells=function(a,c,e,p,v){c=null!=c?c:!1;null==e&&(e=this.getFoldableCells(this.getSelectionCells(),a));this.stopEditing();this.model.beginUpdate();try{for(var d=e.slice(),f=[],g=0;g<e.length;g++){var k=this.view.getState(e[g]),l=null!=k?k.style:this.getCellStyle(e[g]);"1"==mxUtils.getValue(l,"treeFolding","0")&&(this.traverse(e[g],!0,mxUtils.bind(this,function(a,b){null!=b&&f.push(b);a!=e[g]&&f.push(a);return a==e[g]||!this.model.isCollapsed(a)})),this.model.setCollapsed(e[g],
-a))}for(g=0;g<f.length;g++)this.model.setVisible(f[g],!a);e=d;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 m.isVertex(a)&&c(a)}function c(a){var b=!1;null!=a&&(a=m.getParent(a),b=h.view.getState(a),h.view.getState(a),b="tree"==(null!=b?b.style:h.getCellStyle(a)).containerType);
-return b}function e(a){var b=!1;null!=a&&(a=m.getParent(a),b=h.view.getState(a),h.view.getState(a),b=null!=(null!=b?b.style:h.getCellStyle(a)).childLayout);return b}function p(a){a=h.view.getState(a);if(null!=a){var b=h.getIncomingEdges(a.cell);if(0<b.length&&(b=h.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))}for(g=0;g<f.length;g++)this.model.setVisible(f[g],!a);e=d;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 n.isVertex(a)&&c(a)}function c(a){var b=!1;null!=a&&(a=n.getParent(a),b=h.view.getState(a),h.view.getState(a),b="tree"==(null!=b?b.style:h.getCellStyle(a)).containerType);
+return b}function e(a){var b=!1;null!=a&&(a=n.getParent(a),b=h.view.getState(a),h.view.getState(a),b=null!=(null!=b?b.style:h.getCellStyle(a)).childLayout);return b}function p(a){a=h.view.getState(a);if(null!=a){var b=h.getIncomingEdges(a.cell);if(0<b.length&&(b=h.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 v(a,b){b=null!=b?b:!0;h.model.beginUpdate();try{var c=h.model.getParent(a),d=h.getIncomingEdges(a),e=h.cloneCells([d[0],a]);h.model.setTerminal(e[0],h.model.getTerminal(d[0],!0),!0);var f=p(a),g=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;f==mxConstants.DIRECTION_WEST&&(e[1].geometry.x=a.geometry.x+a.geometry.width-e[1].geometry.width);h.view.currentRoot!=c&&(e[1].geometry.x-=g.x,e[1].geometry.y-=g.y);var k=h.view.getState(a),m=h.view.scale;if(null!=k){var l=mxRectangle.fromRectangle(k);f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH?l.x+=(b?a.geometry.width+10:-e[1].geometry.width-10)*m:l.y+=(b?a.geometry.height+10:-e[1].geometry.height-10)*m;var q=h.getOutgoingEdges(h.model.getTerminal(d[0],
-!0));if(null!=q){for(var n=f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH,r=g=d=0;r<q.length;r++){var t=h.model.getTerminal(q[r],!1);if(f==p(t)){var u=h.view.getState(t);t!=a&&null!=u&&(n&&b!=u.getCenterX()<k.getCenterX()||!n&&b!=u.getCenterY()<k.getCenterY())&&mxUtils.intersects(l,u)&&(d=10+Math.max(d,(Math.min(l.x+l.width,u.x+u.width)-Math.max(l.x,u.x))/m),g=10+Math.max(g,(Math.min(l.y+l.height,u.y+u.height)-Math.max(l.y,u.y))/m))}}n?g=0:d=0;for(r=0;r<q.length;r++)if(t=h.model.getTerminal(q[r],
-!1),f==p(t)&&(u=h.view.getState(t),t!=a&&null!=u&&(n&&b!=u.getCenterX()<k.getCenterX()||!n&&b!=u.getCenterY()<k.getCenterY()))){var v=[];h.traverse(u.cell,!0,function(a,b){null!=b&&v.push(b);v.push(a);return!0});h.moveCells(v,(b?1:-1)*d,(b?1:-1)*g)}}}return h.addCells(e,c)}finally{h.model.endUpdate()}}function d(a){h.model.beginUpdate();try{var b=p(a),c=h.getIncomingEdges(a),d=h.cloneCells([c[0],a]);h.model.setTerminal(c[0],d[1],!1);h.model.setTerminal(d[0],d[1],!0);h.model.setTerminal(d[0],a,!1);
-var e=h.model.getParent(a),f=e.geometry,g=[];h.view.currentRoot!=e&&(d[1].geometry.x-=f.x,d[1].geometry.y-=f.y);h.traverse(a,!0,function(a,b){null!=b&&g.push(b);g.push(a);return!0});var k=a.geometry.width+40,m=a.geometry.height+40;b==mxConstants.DIRECTION_SOUTH?k=0:b==mxConstants.DIRECTION_NORTH?(k=0,m=-40):b==mxConstants.DIRECTION_WEST?(k=-40,m=0):b==mxConstants.DIRECTION_EAST&&(m=0);h.moveCells(g,k,m);return h.addCells(d,e)}finally{h.model.endUpdate()}}function f(a){h.model.beginUpdate();try{var b=
-h.model.getParent(a),c=h.getIncomingEdges(a),d=h.cloneCells([c[0],a]);h.model.setTerminal(d[0],a,!0);var c=h.getOutgoingEdges(a),e=b.geometry,f=[];h.view.currentRoot==b&&(e=new mxRectangle);for(var g=0;g<c.length;g++){var k=h.model.getTerminal(c[g],!1);null!=k&&f.push(k)}var m=h.view.getBounds(f),l=p(a),q=h.view.translate,n=h.view.scale;l==mxConstants.DIRECTION_SOUTH?(d[1].geometry.x=null==m?a.geometry.x+(a.geometry.width-d[1].geometry.width)/2:(m.x+m.width)/n-q.x-e.x+10,d[1].geometry.y+=a.geometry.height-
-e.y+40):l==mxConstants.DIRECTION_NORTH?(d[1].geometry.x=null==m?a.geometry.x+(a.geometry.width-d[1].geometry.width)/2:(m.x+m.width)/n-q.x+-e.x+10,d[1].geometry.y-=d[1].geometry.height-e.y+40):(d[1].geometry.x=l==mxConstants.DIRECTION_WEST?d[1].geometry.x-(d[1].geometry.width-e.x+40):d[1].geometry.x+(a.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)/n-q.y+-e.y+10);return h.addCells(d,b)}finally{h.model.endUpdate()}}function g(a,
-b,c){a=h.getOutgoingEdges(a);c=h.view.getState(c);var d=[];if(null!=c&&null!=a){for(var e=0;e<a.length;e++){var f=h.view.getState(h.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 n(a,b){var c=p(a),d=b==mxConstants.DIRECTION_EAST||b==mxConstants.DIRECTION_WEST;(c==mxConstants.DIRECTION_EAST||
-c==mxConstants.DIRECTION_WEST)==d&&c!=b?r.actions.get("selectParent").funct():c==b?(d=h.getOutgoingEdges(a),null!=d&&0<d.length&&h.setSelectionCell(h.model.getTerminal(d[0],!1))):(c=h.getIncomingEdges(a),null!=c&&0<c.length&&(d=g(h.model.getTerminal(c[0],!0),d,a),c=h.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&&h.setSelectionCell(d[c].cell)))))}var r=this,h=r.editor.graph,m=h.getModel();mxResources.parse("selectChildren=Select Children");
+10:-e[1].geometry.height-10;f==mxConstants.DIRECTION_WEST&&(e[1].geometry.x=a.geometry.x+a.geometry.width-e[1].geometry.width);h.view.currentRoot!=c&&(e[1].geometry.x-=g.x,e[1].geometry.y-=g.y);var k=h.view.getState(a),n=h.view.scale;if(null!=k){var l=mxRectangle.fromRectangle(k);f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH?l.x+=(b?a.geometry.width+10:-e[1].geometry.width-10)*n:l.y+=(b?a.geometry.height+10:-e[1].geometry.height-10)*n;var m=h.getOutgoingEdges(h.model.getTerminal(d[0],
+!0));if(null!=m){for(var q=f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH,r=g=d=0;r<m.length;r++){var t=h.model.getTerminal(m[r],!1);if(f==p(t)){var u=h.view.getState(t);t!=a&&null!=u&&(q&&b!=u.getCenterX()<k.getCenterX()||!q&&b!=u.getCenterY()<k.getCenterY())&&mxUtils.intersects(l,u)&&(d=10+Math.max(d,(Math.min(l.x+l.width,u.x+u.width)-Math.max(l.x,u.x))/n),g=10+Math.max(g,(Math.min(l.y+l.height,u.y+u.height)-Math.max(l.y,u.y))/n))}}q?g=0:d=0;for(r=0;r<m.length;r++)if(t=h.model.getTerminal(m[r],
+!1),f==p(t)&&(u=h.view.getState(t),t!=a&&null!=u&&(q&&b!=u.getCenterX()<k.getCenterX()||!q&&b!=u.getCenterY()<k.getCenterY()))){var v=[];h.traverse(u.cell,!0,function(a,b){null!=b&&v.push(b);v.push(a);return!0});h.moveCells(v,(b?1:-1)*d,(b?1:-1)*g)}}}return h.addCells(e,c)}finally{h.model.endUpdate()}}function d(a){h.model.beginUpdate();try{var b=p(a),c=h.getIncomingEdges(a),d=h.cloneCells([c[0],a]);h.model.setTerminal(c[0],d[1],!1);h.model.setTerminal(d[0],d[1],!0);h.model.setTerminal(d[0],a,!1);
+var e=h.model.getParent(a),f=e.geometry,g=[];h.view.currentRoot!=e&&(d[1].geometry.x-=f.x,d[1].geometry.y-=f.y);h.traverse(a,!0,function(a,b){null!=b&&g.push(b);g.push(a);return!0});var k=a.geometry.width+40,n=a.geometry.height+40;b==mxConstants.DIRECTION_SOUTH?k=0:b==mxConstants.DIRECTION_NORTH?(k=0,n=-40):b==mxConstants.DIRECTION_WEST?(k=-40,n=0):b==mxConstants.DIRECTION_EAST&&(n=0);h.moveCells(g,k,n);return h.addCells(d,e)}finally{h.model.endUpdate()}}function f(a){h.model.beginUpdate();try{var b=
+h.model.getParent(a),c=h.getIncomingEdges(a),d=h.cloneCells([c[0],a]);h.model.setTerminal(d[0],a,!0);var c=h.getOutgoingEdges(a),e=b.geometry,f=[];h.view.currentRoot==b&&(e=new mxRectangle);for(var g=0;g<c.length;g++){var k=h.model.getTerminal(c[g],!1);null!=k&&f.push(k)}var n=h.view.getBounds(f),l=p(a),m=h.view.translate,q=h.view.scale;l==mxConstants.DIRECTION_SOUTH?(d[1].geometry.x=null==n?a.geometry.x+(a.geometry.width-d[1].geometry.width)/2:(n.x+n.width)/q-m.x-e.x+10,d[1].geometry.y+=a.geometry.height-
+e.y+40):l==mxConstants.DIRECTION_NORTH?(d[1].geometry.x=null==n?a.geometry.x+(a.geometry.width-d[1].geometry.width)/2:(n.x+n.width)/q-m.x+-e.x+10,d[1].geometry.y-=d[1].geometry.height-e.y+40):(d[1].geometry.x=l==mxConstants.DIRECTION_WEST?d[1].geometry.x-(d[1].geometry.width-e.x+40):d[1].geometry.x+(a.geometry.width-e.x+40),d[1].geometry.y=null==n?a.geometry.y+(a.geometry.height-d[1].geometry.height)/2:(n.y+n.height)/q-m.y+-e.y+10);return h.addCells(d,b)}finally{h.model.endUpdate()}}function g(a,
+b,c){a=h.getOutgoingEdges(a);c=h.view.getState(c);var d=[];if(null!=c&&null!=a){for(var e=0;e<a.length;e++){var f=h.view.getState(h.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 m(a,b){var c=p(a),d=b==mxConstants.DIRECTION_EAST||b==mxConstants.DIRECTION_WEST;(c==mxConstants.DIRECTION_EAST||
+c==mxConstants.DIRECTION_WEST)==d&&c!=b?r.actions.get("selectParent").funct():c==b?(d=h.getOutgoingEdges(a),null!=d&&0<d.length&&h.setSelectionCell(h.model.getTerminal(d[0],!1))):(c=h.getIncomingEdges(a),null!=c&&0<c.length&&(d=g(h.model.getTerminal(c[0],!0),d,a),c=h.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&&h.setSelectionCell(d[c].cell)))))}var r=this,h=r.editor.graph,n=h.getModel();mxResources.parse("selectChildren=Select Children");
mxResources.parse("selectSiblings=Select Siblings");mxResources.parse("selectDescendants=Select Descendants");mxResources.parse("selectParent=Select Parent");var u=r.menus.createPopupMenu;r.menus.createPopupMenu=function(a,c,d){u.apply(this,arguments);if(1==h.getSelectionCount()){c=h.getSelectionCell();var e=h.getOutgoingEdges(c);a.addSeparator();null!=e&&0<e.length&&(b(h.getSelectionCell())&&this.addMenuItems(a,["selectChildren"],null,d),this.addMenuItems(a,["selectDescendants"],null,d));b(h.getSelectionCell())&&
(a.addSeparator(),0<h.getIncomingEdges(c).length&&this.addMenuItems(a,["selectSiblings","selectParent"],null,d))}};r.actions.addAction("selectChildren",function(){if(h.isEnabled()&&1==h.getSelectionCount()){var a=h.getSelectionCell(),a=h.getOutgoingEdges(a);if(null!=a){for(var b=[],c=0;c<a.length;c++)b.push(h.model.getTerminal(a[c],!1));h.setSelectionCells(b)}}},null,null,"Alt+Shift+X");r.actions.addAction("selectSiblings",function(){if(h.isEnabled()&&1==h.getSelectionCount()){var a=h.getSelectionCell(),
a=h.getIncomingEdges(a);if(null!=a&&0<a.length&&(a=h.getOutgoingEdges(h.model.getTerminal(a[0],!0)),null!=a)){for(var b=[],c=0;c<a.length;c++)b.push(h.model.getTerminal(a[c],!1));h.setSelectionCells(b)}}},null,null,"Alt+Shift+S");r.actions.addAction("selectParent",function(){if(h.isEnabled()&&1==h.getSelectionCount()){var a=h.getSelectionCell(),a=h.getIncomingEdges(a);null!=a&&0<a.length&&h.setSelectionCell(h.model.getTerminal(a[0],!0))}},null,null,"Alt+Shift+P");r.actions.addAction("selectDescendants",
-function(){if(h.isEnabled()&&1==h.getSelectionCount()){var a=h.getSelectionCell(),b=[];h.traverse(a,!0,function(a,c){null!=c&&b.push(c);b.push(a);return!0});h.setSelectionCells(b)}},null,null,"Alt+Shift+T");var w=h.removeCells;h.removeCells=function(a,d){d=null!=d?d:!0;null==a&&(a=this.getDeletableCells(this.getSelectionCells()));d&&(a=this.getDeletableCells(this.addAllEdges(a)));for(var e=[],f=0;f<a.length;f++){var g=a[f];m.isEdge(g)&&c(g)&&(e.push(g),g=m.getTerminal(g,!1));b(g)?(h.traverse(g,!0,
+function(){if(h.isEnabled()&&1==h.getSelectionCount()){var a=h.getSelectionCell(),b=[];h.traverse(a,!0,function(a,c){null!=c&&b.push(c);b.push(a);return!0});h.setSelectionCells(b)}},null,null,"Alt+Shift+T");var w=h.removeCells;h.removeCells=function(a,d){d=null!=d?d:!0;null==a&&(a=this.getDeletableCells(this.getSelectionCells()));d&&(a=this.getDeletableCells(this.addAllEdges(a)));for(var e=[],f=0;f<a.length;f++){var g=a[f];n.isEdge(g)&&c(g)&&(e.push(g),g=n.getTerminal(g,!1));b(g)?(h.traverse(g,!0,
function(a,b){null!=b&&e.push(b);e.push(a);return!0}),g=h.getIncomingEdges(a[f]),a=a.concat(g)):e.push(a[f])}a=e;return w.apply(this,arguments)};r.hoverIcons.getStateAt=function(a,c,d){return b(a.cell)?null:this.graph.view.getState(this.graph.getCellAt(c,d))};var t=h.duplicateCells;h.duplicateCells=function(a,c){a=null!=a?a:this.getSelectionCells();for(var d=a.slice(0),e=0;e<d.length;e++){var f=h.view.getState(d[e]);if(null!=f&&b(f.cell))for(var g=h.getIncomingEdges(f.cell),f=0;f<g.length;f++)mxUtils.remove(g[f],
-a)}this.model.beginUpdate();try{var k=t.call(this,a,c);if(k.length==a.length)for(e=0;e<a.length;e++)if(b(a[e])){var m=h.getIncomingEdges(k[e]),g=h.getIncomingEdges(a[e]);if(0==m.length&&0<g.length){var l=this.cloneCells([g[0]])[0];this.addEdge(l,h.getDefaultParent(),this.model.getTerminal(g[0],!0),k[e])}}}finally{this.model.endUpdate()}return k};var x=h.moveCells;h.moveCells=function(a,c,d,e,f,g,k){var m=null;this.model.beginUpdate();try{var l=f,q=this.view.getState(f),n=null!=q?q.style:this.getCellStyle(f);
-if(null!=a&&b(f)&&"1"==mxUtils.getValue(n,"treeFolding","0")){for(var p=0;p<a.length;p++)if(b(a[p])||h.model.isEdge(a[p])&&null==h.model.getTerminal(a[p],!0)){f=h.model.getParent(a[p]);break}if(null!=l&&f!=l&&null!=this.view.getState(a[0])){var r=h.getIncomingEdges(a[0]);if(0<r.length){var t=h.view.getState(h.model.getTerminal(r[0],!0));if(null!=t){var u=h.view.getState(l);null!=u&&(c=(u.getCenterX()-t.getCenterX())/h.view.scale,d=(u.getCenterY()-t.getCenterY())/h.view.scale)}}}}m=x.apply(this,arguments);
-if(null!=m&&null!=a&&m.length==a.length)for(p=0;p<m.length;p++)if(this.model.isEdge(m[p]))b(l)&&0>mxUtils.indexOf(m,this.model.getTerminal(m[p],!0))&&this.model.setTerminal(m[p],l,!0);else if(b(a[p])&&(r=h.getIncomingEdges(a[p]),0<r.length))if(!e)b(l)&&0>mxUtils.indexOf(a,this.model.getTerminal(r[0],!0))&&this.model.setTerminal(r[0],l,!0);else if(0==h.getIncomingEdges(m[p]).length){q=l;if(null==q||q==h.model.getParent(a[p]))q=h.model.getTerminal(r[0],!0);e=this.cloneCells([r[0]])[0];this.addEdge(e,
-h.getDefaultParent(),q,m[p])}}finally{this.model.endUpdate()}return m};if(null!=r.sidebar){var F=r.sidebar.dropAndConnect;r.sidebar.dropAndConnect=function(a,c,d,e){var f=h.model,g=null;f.beginUpdate();try{if(g=F.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 m=h.getCellGeometry(g[k]);m.points=null;null!=m.getTerminalPoint(!0)&&m.setTerminalPoint(null,!0)}}finally{f.endUpdate()}return g}}var D={88:r.actions.get("selectChildren"),
+a)}this.model.beginUpdate();try{var k=t.call(this,a,c);if(k.length==a.length)for(e=0;e<a.length;e++)if(b(a[e])){var n=h.getIncomingEdges(k[e]),g=h.getIncomingEdges(a[e]);if(0==n.length&&0<g.length){var l=this.cloneCells([g[0]])[0];this.addEdge(l,h.getDefaultParent(),this.model.getTerminal(g[0],!0),k[e])}}}finally{this.model.endUpdate()}return k};var x=h.moveCells;h.moveCells=function(a,c,d,e,f,g,k){var n=null;this.model.beginUpdate();try{var l=f,m=this.view.getState(f),q=null!=m?m.style:this.getCellStyle(f);
+if(null!=a&&b(f)&&"1"==mxUtils.getValue(q,"treeFolding","0")){for(var p=0;p<a.length;p++)if(b(a[p])||h.model.isEdge(a[p])&&null==h.model.getTerminal(a[p],!0)){f=h.model.getParent(a[p]);break}if(null!=l&&f!=l&&null!=this.view.getState(a[0])){var r=h.getIncomingEdges(a[0]);if(0<r.length){var t=h.view.getState(h.model.getTerminal(r[0],!0));if(null!=t){var u=h.view.getState(l);null!=u&&(c=(u.getCenterX()-t.getCenterX())/h.view.scale,d=(u.getCenterY()-t.getCenterY())/h.view.scale)}}}}n=x.apply(this,arguments);
+if(null!=n&&null!=a&&n.length==a.length)for(p=0;p<n.length;p++)if(this.model.isEdge(n[p]))b(l)&&0>mxUtils.indexOf(n,this.model.getTerminal(n[p],!0))&&this.model.setTerminal(n[p],l,!0);else if(b(a[p])&&(r=h.getIncomingEdges(a[p]),0<r.length))if(!e)b(l)&&0>mxUtils.indexOf(a,this.model.getTerminal(r[0],!0))&&this.model.setTerminal(r[0],l,!0);else if(0==h.getIncomingEdges(n[p]).length){m=l;if(null==m||m==h.model.getParent(a[p]))m=h.model.getTerminal(r[0],!0);e=this.cloneCells([r[0]])[0];this.addEdge(e,
+h.getDefaultParent(),m,n[p])}}finally{this.model.endUpdate()}return n};if(null!=r.sidebar){var F=r.sidebar.dropAndConnect;r.sidebar.dropAndConnect=function(a,c,d,e){var f=h.model,g=null;f.beginUpdate();try{if(g=F.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 n=h.getCellGeometry(g[k]);n.points=null;null!=n.getTerminalPoint(!0)&&n.setTerminalPoint(null,!0)}}finally{f.endUpdate()}return g}}var D={88:r.actions.get("selectChildren"),
84:r.actions.get("selectSubtree"),80:r.actions.get("selectParent"),83:r.actions.get("selectSiblings")},G=r.onKeyDown;r.onKeyDown=function(a){try{if(h.isEnabled()&&!h.isEditing()&&b(h.getSelectionCell())&&1==h.getSelectionCount()){var c=null;0<h.getIncomingEdges(h.getSelectionCell()).length&&(9==a.which?c=mxEvent.isShiftDown(a)?d(h.getSelectionCell()):f(h.getSelectionCell()):13==a.which&&(c=v(h.getSelectionCell(),!mxEvent.isShiftDown(a))));if(null!=c&&0<c.length)1==c.length&&h.model.isEdge(c[0])?h.setSelectionCell(h.model.getTerminal(c[0],
-!1)):h.setSelectionCell(c[c.length-1]),null!=r.hoverIcons&&r.hoverIcons.update(h.view.getState(h.getSelectionCell())),h.startEditingAtCell(h.getSelectionCell()),mxEvent.consume(a);else if(mxEvent.isAltDown(a)&&mxEvent.isShiftDown(a)){var e=D[a.keyCode];null!=e&&(e.funct(a),mxEvent.consume(a))}else 37==a.keyCode?(n(h.getSelectionCell(),mxConstants.DIRECTION_WEST),mxEvent.consume(a)):38==a.keyCode?(n(h.getSelectionCell(),mxConstants.DIRECTION_NORTH),mxEvent.consume(a)):39==a.keyCode?(n(h.getSelectionCell(),
-mxConstants.DIRECTION_EAST),mxEvent.consume(a)):40==a.keyCode&&(n(h.getSelectionCell(),mxConstants.DIRECTION_SOUTH),mxEvent.consume(a))}}catch(J){console.log("error",J)}mxEvent.isConsumed(a)||G.apply(this,arguments)};var B=h.connectVertex;h.connectVertex=function(a,c,e,g,k,m){var l=h.getIncomingEdges(a);return b(a)&&0<l.length?(e=p(a),g=e==mxConstants.DIRECTION_EAST||e==mxConstants.DIRECTION_WEST,k=c==mxConstants.DIRECTION_EAST||c==mxConstants.DIRECTION_WEST,e==c?f(a):g==k?d(a):v(a,c!=mxConstants.DIRECTION_NORTH&&
-c!=mxConstants.DIRECTION_WEST)):B.call(this,a,c,e,g,k,m)};h.getSubtree=function(a){var c=[a];b(a)&&!e(a)&&h.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 y=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){y.apply(this,arguments);b(this.state.cell)&&0<this.graph.getOutgoingEdges(this.state.cell).length&&(this.moveHandle=mxUtils.createImage(a),this.moveHandle.setAttribute("title","Move Subtree"),
+!1)):h.setSelectionCell(c[c.length-1]),null!=r.hoverIcons&&r.hoverIcons.update(h.view.getState(h.getSelectionCell())),h.startEditingAtCell(h.getSelectionCell()),mxEvent.consume(a);else if(mxEvent.isAltDown(a)&&mxEvent.isShiftDown(a)){var e=D[a.keyCode];null!=e&&(e.funct(a),mxEvent.consume(a))}else 37==a.keyCode?(m(h.getSelectionCell(),mxConstants.DIRECTION_WEST),mxEvent.consume(a)):38==a.keyCode?(m(h.getSelectionCell(),mxConstants.DIRECTION_NORTH),mxEvent.consume(a)):39==a.keyCode?(m(h.getSelectionCell(),
+mxConstants.DIRECTION_EAST),mxEvent.consume(a)):40==a.keyCode&&(m(h.getSelectionCell(),mxConstants.DIRECTION_SOUTH),mxEvent.consume(a))}}catch(J){console.log("error",J)}mxEvent.isConsumed(a)||G.apply(this,arguments)};var B=h.connectVertex;h.connectVertex=function(a,c,e,g,k,n){var l=h.getIncomingEdges(a);return b(a)&&0<l.length?(e=p(a),g=e==mxConstants.DIRECTION_EAST||e==mxConstants.DIRECTION_WEST,k=c==mxConstants.DIRECTION_EAST||c==mxConstants.DIRECTION_WEST,e==c?f(a):g==k?d(a):v(a,c!=mxConstants.DIRECTION_NORTH&&
+c!=mxConstants.DIRECTION_WEST)):B.call(this,a,c,e,g,k,n)};h.getSubtree=function(a){var c=[a];b(a)&&!e(a)&&h.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 y=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){y.apply(this,arguments);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.graphHandler.cells=this.graph.getSubtree(this.state.cell);this.graph.graphHandler.bounds=this.state.view.getBounds(this.graph.graphHandler.cells);
this.graph.graphHandler.pBounds=this.graph.graphHandler.getPreviewBounds(this.graph.graphHandler.cells);this.graph.graphHandler.cellWasClicked=!0;this.graph.isMouseTrigger=mxEvent.isMouseEvent(a);this.graph.isMouseDown=!0;mxEvent.consume(a)})))};var C=mxVertexHandler.prototype.redrawHandles;mxVertexHandler.prototype.redrawHandles=function(){C.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 I=mxVertexHandler.prototype.destroy;mxVertexHandler.prototype.destroy=function(a,b){I.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.editorUi.editor.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 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;");
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;");c.vertex=!0;var d=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");d.geometry.relative=!0;d.edge=!0;b.insertEdge(d,!0);c.insertEdge(d,!1);var e=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;");
e.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);e.insertEdge(g,!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;");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 h=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;");h.vertex=!0;var m=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");
-m.geometry.relative=!0;m.edge=!0;b.insertEdge(m,!0);h.insertEdge(m,!1);a.insert(d);a.insert(g);a.insert(l);a.insert(m);a.insert(b);a.insert(c);a.insert(e);a.insert(k);a.insert(h);return sb.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree mindmap 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;");a.vertex=!0;return sb.createVertexTemplateFromCells([a],
+l.geometry.relative=!0;l.edge=!0;b.insertEdge(l,!0);k.insertEdge(l,!1);var h=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;");h.vertex=!0;var n=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");
+n.geometry.relative=!0;n.edge=!0;b.insertEdge(n,!0);h.insertEdge(n,!1);a.insert(d);a.insert(g);a.insert(l);a.insert(n);a.insert(b);a.insert(c);a.insert(e);a.insert(k);a.insert(h);return sb.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree mindmap 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;");a.vertex=!0;return sb.createVertexTemplateFromCells([a],
a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree mindmap 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;");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 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;");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 c=new mxCell("Organization",
@@ -3079,15 +3079,14 @@ c.insertEdge(d,!0);e.insertEdge(d,!1);var f=new mxCell("Division",new mxGeometry
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;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;");
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;");
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;");c.vertex=!0;var d=new mxCell("",new mxGeometry(0,
-0,0,0),"edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=none;rounded=0;targetPortConstraint=eastwest;sourcePortConstraint=northsouth;");d.geometry.setTerminalPoint(new mxPoint(110,-40),!0);d.geometry.relative=!0;d.edge=!0;c.insertEdge(d,!1);return sb.createVertexTemplateFromCells([b,d,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 k(a,mxResources.get("format"),Math.max(20,a.diagramContainer.clientWidth-240-12),56,240,Math.min(546,b.container.clientHeight-10),function(b){b=a.createFormat(b);b.init();return b}),a.formatWindow.window.addListener("show",function(){a.fireEvent(new mxEventObject("format"))}),a.formatWindow.window.addListener("format",function(){a.fireEvent(new mxEventObject("format"))}),
-a.formatWindow.window.minimumSize=new mxRectangle(0,0,240,80),a.formatWindow.window.setVisible(!0),a.fireEvent(new mxEventObject("sidebar"))):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,266);a.sidebarWindow=new k(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;";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";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("1"!=urlParams.embed||"1"==urlParams.libraries)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.left="0",d=c("openLibraryFrom",mxResources.get("openLibraryFrom")),d.style.borderLeft="1px solid lightgray",d.style.left="50%";else d.style.bottom="0";b.appendChild(a.sidebar.container);b.style.overflow="hidden";return b});a.sidebarWindow.window.addListener("show",function(){a.fireEvent(new mxEventObject("sidebar"))});
-a.sidebarWindow.window.addListener("sidebar",function(){a.fireEvent(new mxEventObject("sidebar"))});a.sidebarWindow.window.minimumSize=new mxRectangle(0,0,90,90);a.sidebarWindow.window.setVisible(!0);a.fireEvent(new mxEventObject("sidebar"));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){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 div.diagramContainer button, html body button.geBtn { font-size:14px; font-weight:700;border-radius: 5px; }html body button.geBtn:active { opacity: 0.6; }.geDialog input, .geToolbarContainer input, .mxWindow input {padding:2px !important;display:inline-block !important; }div.geDialog { border-radius: 5px; }html body div.geDialog button.geBigButton { color: #fff !important; }.mxWindow button, .geDialog select, .mxWindow select { display:inline-block; }.mxWindow .geColorBtn, .geDialog .geColorBtn { background: none !important; }html body div.diagramContainer button, html body .mxWindow button, html body .geDialog button { min-width: 0px; border-radius: 5px; color: #353535 !important; border-color: rgb(216, 216, 216); }div.diagramContainer button.geBtn, .mxWindow button.geBtn, .geDialog button.geBtn { min-width:72px; font-weight: 600; background: none; }div.diagramContainer button.geBtn:hover, .mxWindow button.geBtn:hover, .geDialog button.geBtn:hover { box-shadow: none; border-color: rgb(216, 216, 216); }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:2px; 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 0 2px 0; 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); }a.geMenuItem:active { opacity: 0.4; }.geToolbarContainer { background:#fff !important; }div.mxWindow .geSidebarContainer .geTitle { background-color:#fdfdfd; }div.mxWindow .geSidebarContainer .geTitle:hover { background-color:#fafafa; }div.geSidebar { background-color: #fff !important;}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:lightgray !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.5) !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; }";
-document.getElementsByTagName("head")[0].appendChild(c)}catch(m){}var k=function(a,b,c,d,e,f,g){a=document.createElement("div");a.className="geSidebarContainer";a.style.position="absolute";a.style.width="100%";a.style.height="100%";a.style.border="1px solid whiteSmoke";a.style.overflowX="hidden";a.style.overflowY="auto";g(a);this.window=new mxWindow(b,a,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);
+0,0,0),"edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=none;rounded=0;targetPortConstraint=eastwest;sourcePortConstraint=northsouth;");d.geometry.setTerminalPoint(new mxPoint(110,-40),!0);d.geometry.relative=!0;d.edge=!0;c.insertEdge(d,!1);return sb.createVertexTemplateFromCells([b,d,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 k(a,mxResources.get("format"),Math.max(20,a.diagramContainer.clientWidth-240-12),56,240,Math.min(546,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,266);a.sidebarWindow=new k(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;";
+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";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.left=
+"0",d=c("openLibraryFrom",mxResources.get("openLibraryFrom")),d.style.borderLeft="1px solid lightgray",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){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 div.diagramContainer button, html body button.geBtn { font-size:14px; font-weight:700;border-radius: 5px; }html body button.geBtn:active { opacity: 0.6; }.geDialog input, .geToolbarContainer input, .mxWindow input {padding:2px !important;display:inline-block !important; }div.geDialog { border-radius: 5px; }html body div.geDialog button.geBigButton { color: #fff !important; }.mxWindow button, .geDialog select, .mxWindow select { display:inline-block; }.mxWindow .geColorBtn, .geDialog .geColorBtn { background: none !important; }html body div.diagramContainer button, html body .mxWindow button, html body .geDialog button { min-width: 0px; border-radius: 5px; color: #353535 !important; border-color: rgb(216, 216, 216); }div.diagramContainer button.geBtn, .mxWindow button.geBtn, .geDialog button.geBtn { min-width:72px; font-weight: 600; background: none; }div.diagramContainer button.geBtn:hover, .mxWindow button.geBtn:hover, .geDialog button.geBtn:hover { box-shadow: none; border-color: rgb(216, 216, 216); }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:2px; 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 0 2px 0; 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); }a.geMenuItem:active { opacity: 0.4; }.geToolbarContainer { background:#fff !important; }div.mxWindow .geSidebarContainer .geTitle { background-color:#fdfdfd; }div.mxWindow .geSidebarContainer .geTitle:hover { background-color:#fafafa; }div.geSidebar { background-color: #fff !important;}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:lightgray !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.5) !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; }";
+document.getElementsByTagName("head")[0].appendChild(c)}catch(n){}var k=function(a,b,c,d,e,f,g){a=document.createElement("div");a.className="geSidebarContainer";a.style.position="absolute";a.style.width="100%";a.style.height="100%";a.style.border="1px solid whiteSmoke";a.style.overflowX="hidden";a.style.overflowY="auto";g(a);this.window=new mxWindow(b,a,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)}};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;mxVertexHandler.prototype.handleImage=Graph.createSvgImage(16,16,'<circle cx="8" cy="8" r="5" stroke="#ffffff" fill="#29b6f2"/>');
mxEdgeHandler.prototype.handleImage=mxVertexHandler.prototype.handleImage;mxEdgeHandler.prototype.terminalHandleImage=Graph.createSvgImage(16,16,'<circle cx="8" cy="8" r="5" stroke="#ffffff" fill="#29b6f2"/><circle cx="8" cy="8" r="3" stroke="#ffffff" fill="#29b6f2"/>');mxEdgeHandler.prototype.fixedHandleImage=Graph.createSvgImage(16,16,'<circle cx="8" cy="8" r="5" stroke="#ffffff" fill="#29b6f2"/><path d="m 6 6 L 10 10 M 6 10 L 10 6" stroke="#ffffff"/>');mxConstraintHandler.prototype.pointImage=
@@ -3104,10 +3103,10 @@ b.setAttribute("title",mxResources.get("save")+" ("+Editor.ctrlKey+"+S)");b.clas
mxResources.get("saveAndExit")),b.className="geMenuItem gePrimaryBtn",b.style.fontSize="14px",b.style.marginLeft="6px",b.style.padding="6px",b.style.cursor="pointer",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.fontSize="14px";b.style.marginLeft="6px";b.style.padding="6px";
b.style.cursor="pointer";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 f=Menus.prototype.createPopupMenu;Menus.prototype.createPopupMenu=function(a,b,c){var d=this.editorUi.editor.graph;a.smartSeparators=!0;f.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==d.getSelectionCount()?(this.addMenuItems(a,["editTooltip","-"],null,c),d.isCellFoldable(d.getSelectionCell())&&this.addMenuItems(a,d.isCellCollapsed(b)?["expand"]:["collapse"],null,c),this.addMenuItems(a,["lockUnlock","enterGroup"],null,c),a.addSeparator(),this.addSubmenu("layout",
-a)):d.isSelectionEmpty()&&d.isEnabled()?(a.addSeparator(),this.addSubmenu("insert",a),this.addSubmenu("layout",a),a.addSeparator(),this.addSubmenu("options",a),this.addMenuItems(a,["-","exitGroup"],null,c)):d.isEnabled()&&this.addMenuItems(a,["-","lockUnlock"],null,c)};EditorUi.prototype.toggleFormatPanel=function(a){null!=this.formatWindow&&this.formatWindow.window.setVisible(a?!1:!this.formatWindow.window.isVisible())};DiagramFormatPanel.prototype.isMathOptionVisible=function(a){return!0};var g=
+a)):d.isSelectionEmpty()&&d.isEnabled()?(a.addSeparator(),this.addSubmenu("insert",a),this.addSubmenu("layout",a),a.addSeparator(),this.addSubmenu("options",a),this.addMenuItems(a,["-","exitGroup"],null,c)):d.isEnabled()&&this.addMenuItems(a,["-","lockUnlock"],null,c)};EditorUi.prototype.toggleFormatPanel=function(a){null!=this.formatWindow&&this.formatWindow.window.setVisible(a?!1:!this.formatWindow.window.isVisible())};DiagramFormatPanel.prototype.isMathOptionVisible=function(){return!0};var g=
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);g.apply(this,arguments)};var n=EditorUi.prototype.setGraphEnabled;EditorUi.prototype.setGraphEnabled=
-function(a){n.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 r=Menus.prototype.init;Menus.prototype.init=function(){r.apply(this,arguments);var c=this.editorUi,d=c.editor.graph;c.actions.get("insertText").label=mxResources.get("text");c.actions.get("insertText").label=mxResources.get("text");c.actions.get("editDiagram").label=mxResources.get("formatXml")+
+(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);g.apply(this,arguments)};var m=EditorUi.prototype.setGraphEnabled;EditorUi.prototype.setGraphEnabled=
+function(a){m.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 r=Menus.prototype.init;Menus.prototype.init=function(){r.apply(this,arguments);var c=this.editorUi,d=c.editor.graph;c.actions.get("insertText").label=mxResources.get("text");c.actions.get("insertText").label=mxResources.get("text");c.actions.get("editDiagram").label=mxResources.get("formatXml")+
"...";c.actions.get("insertRectangle").label=mxResources.get("rectangle");c.actions.get("insertEllipse").label=mxResources.get("ellipse");c.actions.get("insertRhombus").label=mxResources.get("rhombus");c.actions.get("insertImage").label=mxResources.get("image")+"...";c.actions.get("insertLink").label=mxResources.get("link")+"...";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("importFile",new Action("File...",function(){d.popupMenuHandler.hideMenu();var a=document.createElement("input");a.setAttribute("type","file");mxEvent.addListener(a,"change",function(){null!=a.files&&c.importFiles(a.files,null,null,c.maxImageSize)});a.click()}));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.actions.put("plantUml",
@@ -3126,7 +3125,7 @@ b.style.verticalAlign="top";b.style.marginRight="6px";b.style.padding="0 4px 0 4
"63px":"32px";this.sidebar=this.createSidebar(d);var f=this,g=f.editor.graph;f.toolbar=this.createToolbar(f.createDiv("geToolbar"));f.defaultLibraryName=mxResources.get("untitledLibrary");var k=document.createElement("div");k.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 l=new Menubar(f,k);(d=900>e)||a("diagram");c([d?a("diagram",null,IMAGE_PATH+"/drawlogo-gray.svg",
100):null,b(mxResources.get("shapes"),f.actions.get("toggleShapes").funct,null,mxResources.get("shapes"),f.actions.get("image"),d?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTMgMTN2OGg4di04aC04ek0zIDIxaDh2LThIM3Y4ek0zIDN2OGg4VjNIM3ptMTMuNjYtMS4zMUwxMSA3LjM0IDE2LjY2IDEzbDUuNjYtNS42Ni01LjY2LTUuNjV6Ii8+PC9zdmc+":null),b(mxResources.get("format"),f.actions.get("toggleFormat").funct,null,mxResources.get("format")+
" ("+f.actions.get("formatPanel").shortcut+")",f.actions.get("image"),d?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIgM2MtNC45NyAwLTkgNC4wMy05IDlzNC4wMyA5IDkgOWMuODMgMCAxLjUtLjY3IDEuNS0xLjUgMC0uMzktLjE1LS43NC0uMzktMS4wMS0uMjMtLjI2LS4zOC0uNjEtLjM4LS45OSAwLS44My42Ny0xLjUgMS41LTEuNUgxNmMyLjc2IDAgNS0yLjI0IDUtNSAwLTQuNDItNC4wMy04LTktOHptLTUuNSA5Yy0uODMgMC0xLjUtLjY3LTEuNS0xLjVTNS42NyA5IDYuNSA5IDggOS42NyA4IDEwLjUgNy4zMyAxMiA2LjUgMTJ6bTMtNEM4LjY3IDggOCA3LjMzIDggNi41UzguNjcgNSA5LjUgNXMxLjUuNjcgMS41IDEuNVMxMC4zMyA4IDkuNSA4em01IDBjLS44MyAwLTEuNS0uNjctMS41LTEuNVMxMy42NyA1IDE0LjUgNXMxLjUuNjcgMS41IDEuNVMxNS4zMyA4IDE0LjUgOHptMyA0Yy0uODMgMC0xLjUtLjY3LTEuNS0xLjVTMTYuNjcgOSAxNy41IDlzMS41LjY3IDEuNSAxLjUtLjY3IDEuNS0xLjUgMS41eiIvPjwvc3ZnPg==":
-null)]);var n=a("insert",!0,d?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTkgMTNoLTZ2NmgtMnYtNkg1di0yaDZWNWgydjZoNnYyeiIvPjwvc3ZnPg==":null,40);c([n,b(mxResources.get("delete"),f.actions.get("delete").funct,null,mxResources.get("delete"),f.actions.get("delete"),d?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNiAxOWMwIDEuMS45IDIgMiAyaDhjMS4xIDAgMi0uOSAyLTJWN0g2djEyek0xOSA0aC0zLjVsLTEtMWgtNWwtMSAxSDV2MmgxNFY0eiIvPjwvc3ZnPg==":
+null)]);var m=a("insert",!0,d?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTkgMTNoLTZ2NmgtMnYtNkg1di0yaDZWNWgydjZoNnYyeiIvPjwvc3ZnPg==":null,40);c([m,b(mxResources.get("delete"),f.actions.get("delete").funct,null,mxResources.get("delete"),f.actions.get("delete"),d?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNiAxOWMwIDEuMS45IDIgMiAyaDhjMS4xIDAgMi0uOSAyLTJWN0g2djEyek0xOSA0aC0zLjVsLTEtMWgtNWwtMSAxSDV2MmgxNFY0eiIvPjwvc3ZnPg==":
null)]);if(480<=e){var p=f.actions.get("undo"),d=f.actions.get("redo"),p=b("",p.funct,null,mxResources.get("undo")+" ("+p.shortcut+")",p,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIuNSA4Yy0yLjY1IDAtNS4wNS45OS02LjkgMi42TDIgN3Y5aDlsLTMuNjItMy42MmMxLjM5LTEuMTYgMy4xNi0xLjg4IDUuMTItMS44OCAzLjU0IDAgNi41NSAyLjMxIDcuNiA1LjVsMi4zNy0uNzhDMjEuMDggMTEuMDMgMTcuMTUgOCAxMi41IDh6Ii8+PC9zdmc+"),d=b("",d.funct,
null,mxResources.get("redo")+" ("+d.shortcut+")",d,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTguNCAxMC42QzE2LjU1IDguOTkgMTQuMTUgOCAxMS41IDhjLTQuNjUgMC04LjU4IDMuMDMtOS45NiA3LjIyTDMuOSAxNmMxLjA1LTMuMTkgNC4wNS01LjUgNy42LTUuNSAxLjk1IDAgMy43My43MiA1LjEyIDEuODhMMTMgMTZoOVY3bC0zLjYgMy42eiIvPjwvc3ZnPg==");c([p,d]);if(560<=e){var d=f.actions.get("zoomIn"),p=f.actions.get("zoomOut"),q=f.actions.get("resetView");
c([b("",function(){g.popupMenuHandler.hideMenu();var a=g.view.scale,b=g.view.translate.x,c=g.view.translate.y;f.actions.get("resetView").funct();1E-5>Math.abs(a-g.view.scale)&&b==g.view.translate.x&&c==g.view.translate.y&&f.actions.get(g.pageVisible?"fitPage":"fitWindow").funct()},!0,mxResources.get("fit")+" ("+Editor.ctrlKey+"+H)",q,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMyA1djRoMlY1aDRWM0g1Yy0xLjEgMC0yIC45LTIgMnptMiAxMEgzdjRjMCAxLjEuOSAyIDIgMmg0di0ySDV2LTR6bTE0IDRoLTR2Mmg0YzEuMSAwIDItLjkgMi0ydi00aC0ydjR6bTAtMTZoLTR2Mmg0djRoMlY1YzAtMS4xLS45LTItMi0yeiIvPjwvc3ZnPg=="),
@@ -3134,11 +3133,11 @@ c([b("",function(){g.popupMenuHandler.hideMenu();var a=g.view.scale,b=g.view.tra
null,640<=e?b("",p.funct,!0,mxResources.get("zoomOut")+" ("+Editor.ctrlKey+" -)",p,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTUuNSAxNGgtLjc5bC0uMjgtLjI3QzE1LjQxIDEyLjU5IDE2IDExLjExIDE2IDkuNSAxNiA1LjkxIDEzLjA5IDMgOS41IDNTMyA1LjkxIDMgOS41IDUuOTEgMTYgOS41IDE2YzEuNjEgMCAzLjA5LS41OSA0LjIzLTEuNTdsLjI3LjI4di43OWw1IDQuOTlMMjAuNDkgMTlsLTQuOTktNXptLTYgMEM3LjAxIDE0IDUgMTEuOTkgNSA5LjVTNy4wMSA1IDkuNSA1IDE0IDcuMDEgMTQgOS41IDExLjk5IDE0IDkuNSAxNHpNNyA5aDV2MUg3eiIvPjwvc3ZnPg=="):
null])}}f.statusContainer=f.createStatusContainer();f.statusContainer.style.position="relative";f.statusContainer.style.maxWidth="";f.statusContainer.style.marginTop="7px";f.statusContainer.style.marginLeft="6px";f.statusContainer.style.color="gray";f.statusContainer.style.cursor="default";f.editor.addListener("statusChanged",mxUtils.bind(this,function(){f.setStatusText(f.editor.getStatus())}));var r=f.descriptorChanged;f.descriptorChanged=function(){r.apply(this,arguments);var a=f.getCurrentFile();
if(null!=a&&null!=a.getTitle()){var b=a.getMode();"google"==b?b="googleDrive":"github"==b?b="gitHub":"onedrive"==b&&(b="oneDrive");b=mxResources.get(b);k.setAttribute("title",a.getTitle()+(null!=b?" ("+b+")":""))}else k.removeAttribute("title")};f.setStatusText(f.editor.getStatus());k.appendChild(f.statusContainer);f.buttonContainer=document.createElement("div");f.buttonContainer.style.cssText="position:absolute;right:40px;top:12px;white-space:nowrap;";k.appendChild(f.buttonContainer);f.menubarContainer=
-f.buttonContainer;d=this.menus.get("language");null!=d&&!mxClient.IS_CHROMEAPP&&!EditorUi.isElectronApp&&480<=e&&(n=l.addMenu("",d.funct),n.setAttribute("title",mxResources.get("language")),n.style.backgroundImage="url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTEuOTkgMkM2LjQ3IDIgMiA2LjQ4IDIgMTJzNC40NyAxMCA5Ljk5IDEwQzE3LjUyIDIyIDIyIDE3LjUyIDIyIDEyUzE3LjUyIDIgMTEuOTkgMnptNi45MyA2aC0yLjk1Yy0uMzItMS4yNS0uNzgtMi40NS0xLjM4LTMuNTYgMS44NC42MyAzLjM3IDEuOTEgNC4zMyAzLjU2ek0xMiA0LjA0Yy44MyAxLjIgMS40OCAyLjUzIDEuOTEgMy45NmgtMy44MmMuNDMtMS40MyAxLjA4LTIuNzYgMS45MS0zLjk2ek00LjI2IDE0QzQuMSAxMy4zNiA0IDEyLjY5IDQgMTJzLjEtMS4zNi4yNi0yaDMuMzhjLS4wOC42Ni0uMTQgMS4zMi0uMTQgMiAwIC42OC4wNiAxLjM0LjE0IDJINC4yNnptLjgyIDJoMi45NWMuMzIgMS4yNS43OCAyLjQ1IDEuMzggMy41Ni0xLjg0LS42My0zLjM3LTEuOS00LjMzLTMuNTZ6bTIuOTUtOEg1LjA4Yy45Ni0xLjY2IDIuNDktMi45MyA0LjMzLTMuNTZDOC44MSA1LjU1IDguMzUgNi43NSA4LjAzIDh6TTEyIDE5Ljk2Yy0uODMtMS4yLTEuNDgtMi41My0xLjkxLTMuOTZoMy44MmMtLjQzIDEuNDMtMS4wOCAyLjc2LTEuOTEgMy45NnpNMTQuMzQgMTRIOS42NmMtLjA5LS42Ni0uMTYtMS4zMi0uMTYtMiAwLS42OC4wNy0xLjM1LjE2LTJoNC42OGMuMDkuNjUuMTYgMS4zMi4xNiAyIDAgLjY4LS4wNyAxLjM0LS4xNiAyem0uMjUgNS41NmMuNi0xLjExIDEuMDYtMi4zMSAxLjM4LTMuNTZoMi45NWMtLjk2IDEuNjUtMi40OSAyLjkzLTQuMzMgMy41NnpNMTYuMzYgMTRjLjA4LS42Ni4xNC0xLjMyLjE0LTIgMC0uNjgtLjA2LTEuMzQtLjE0LTJoMy4zOGMuMTYuNjQuMjYgMS4zMS4yNiAycy0uMSAxLjM2LS4yNiAyaC0zLjM4eiIvPjwvc3ZnPg==)",
-n.style.backgroundPosition="center center",n.style.backgroundRepeat="no-repeat",n.style.backgroundSize="24px 24px",n.style.position="absolute",n.style.height="24px",n.style.width="24px",n.style.zIndex="1",n.style.top="11px",n.style.right="14px",mxUtils.setOpacity(n,30),k.appendChild(n));f.tabContainer=document.createElement("div");f.tabContainer.style.cssText="position:absolute;left:0px;right:0px;bottom:0px;height:30px;white-space:nowrap;border-bottom:1px solid lightgray;background-color:#ffffff;border-top:1px solid lightgray;margin-bottom:-2px;";
-d=f.diagramContainer.parentNode;p=document.createElement("div");p.style.cssText="position:absolute;top:0px;left:0px;right:0px;bottom:0px;overflow:hidden;";f.diagramContainer.style.top="47px";f.diagramContainer.style.bottom="30px";q=f.menus.get("viewZoom");if(null!=q){this.tabContainer.style.right="70px";n=l.addMenu("100%",q.funct);n.setAttribute("title",mxResources.get("zoom")+" (Alt+Mousewheel)");n.style.whiteSpace="nowrap";n.style.backgroundImage="url("+mxWindow.prototype.minimizeImage+")";n.style.backgroundPosition=
-"right 6px center";n.style.backgroundRepeat="no-repeat";n.style.paddingRight="10px";n.style.display="block";n.style.position="absolute";n.style.textDecoration="none";n.style.textDecoration="none";n.style.right="0px";n.style.bottom="0px";n.style.overflow="hidden";n.style.textAlign="center";n.style.color="#000";n.style.fontSize="12px";n.style.color="#707070";n.style.width="59px";n.style.borderTop="1px solid lightgray";n.style.borderLeft="1px solid lightgray";n.style.height=parseInt(f.tabContainer.style.height)-
-1+"px";n.style.lineHeight=parseInt(f.tabContainer.style.height)+1+"px";p.appendChild(n);q=mxUtils.bind(this,function(){n.innerHTML=Math.round(100*f.editor.graph.view.scale)+"%"});f.editor.graph.view.addListener(mxEvent.EVENT_SCALE,q);f.editor.addListener("resetGraphView",q);f.editor.addListener("pageSelected",q);var v=f.setGraphEnabled;f.setGraphEnabled=function(){v.apply(this,arguments);null!=this.tabContainer&&(n.style.visibility=this.tabContainer.style.visibility)}}p.appendChild(f.tabContainer);
+f.buttonContainer;d=this.menus.get("language");null!=d&&!mxClient.IS_CHROMEAPP&&!EditorUi.isElectronApp&&480<=e&&(m=l.addMenu("",d.funct),m.setAttribute("title",mxResources.get("language")),m.style.backgroundImage="url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTEuOTkgMkM2LjQ3IDIgMiA2LjQ4IDIgMTJzNC40NyAxMCA5Ljk5IDEwQzE3LjUyIDIyIDIyIDE3LjUyIDIyIDEyUzE3LjUyIDIgMTEuOTkgMnptNi45MyA2aC0yLjk1Yy0uMzItMS4yNS0uNzgtMi40NS0xLjM4LTMuNTYgMS44NC42MyAzLjM3IDEuOTEgNC4zMyAzLjU2ek0xMiA0LjA0Yy44MyAxLjIgMS40OCAyLjUzIDEuOTEgMy45NmgtMy44MmMuNDMtMS40MyAxLjA4LTIuNzYgMS45MS0zLjk2ek00LjI2IDE0QzQuMSAxMy4zNiA0IDEyLjY5IDQgMTJzLjEtMS4zNi4yNi0yaDMuMzhjLS4wOC42Ni0uMTQgMS4zMi0uMTQgMiAwIC42OC4wNiAxLjM0LjE0IDJINC4yNnptLjgyIDJoMi45NWMuMzIgMS4yNS43OCAyLjQ1IDEuMzggMy41Ni0xLjg0LS42My0zLjM3LTEuOS00LjMzLTMuNTZ6bTIuOTUtOEg1LjA4Yy45Ni0xLjY2IDIuNDktMi45MyA0LjMzLTMuNTZDOC44MSA1LjU1IDguMzUgNi43NSA4LjAzIDh6TTEyIDE5Ljk2Yy0uODMtMS4yLTEuNDgtMi41My0xLjkxLTMuOTZoMy44MmMtLjQzIDEuNDMtMS4wOCAyLjc2LTEuOTEgMy45NnpNMTQuMzQgMTRIOS42NmMtLjA5LS42Ni0uMTYtMS4zMi0uMTYtMiAwLS42OC4wNy0xLjM1LjE2LTJoNC42OGMuMDkuNjUuMTYgMS4zMi4xNiAyIDAgLjY4LS4wNyAxLjM0LS4xNiAyem0uMjUgNS41NmMuNi0xLjExIDEuMDYtMi4zMSAxLjM4LTMuNTZoMi45NWMtLjk2IDEuNjUtMi40OSAyLjkzLTQuMzMgMy41NnpNMTYuMzYgMTRjLjA4LS42Ni4xNC0xLjMyLjE0LTIgMC0uNjgtLjA2LTEuMzQtLjE0LTJoMy4zOGMuMTYuNjQuMjYgMS4zMS4yNiAycy0uMSAxLjM2LS4yNiAyaC0zLjM4eiIvPjwvc3ZnPg==)",
+m.style.backgroundPosition="center center",m.style.backgroundRepeat="no-repeat",m.style.backgroundSize="24px 24px",m.style.position="absolute",m.style.height="24px",m.style.width="24px",m.style.zIndex="1",m.style.top="11px",m.style.right="14px",mxUtils.setOpacity(m,30),k.appendChild(m));f.tabContainer=document.createElement("div");f.tabContainer.style.cssText="position:absolute;left:0px;right:0px;bottom:0px;height:30px;white-space:nowrap;border-bottom:1px solid lightgray;background-color:#ffffff;border-top:1px solid lightgray;margin-bottom:-2px;";
+d=f.diagramContainer.parentNode;p=document.createElement("div");p.style.cssText="position:absolute;top:0px;left:0px;right:0px;bottom:0px;overflow:hidden;";f.diagramContainer.style.top="47px";f.diagramContainer.style.bottom="30px";q=f.menus.get("viewZoom");if(null!=q){this.tabContainer.style.right="70px";m=l.addMenu("100%",q.funct);m.setAttribute("title",mxResources.get("zoom")+" (Alt+Mousewheel)");m.style.whiteSpace="nowrap";m.style.backgroundImage="url("+mxWindow.prototype.minimizeImage+")";m.style.backgroundPosition=
+"right 6px center";m.style.backgroundRepeat="no-repeat";m.style.paddingRight="10px";m.style.display="block";m.style.position="absolute";m.style.textDecoration="none";m.style.textDecoration="none";m.style.right="0px";m.style.bottom="0px";m.style.overflow="hidden";m.style.textAlign="center";m.style.color="#000";m.style.fontSize="12px";m.style.color="#707070";m.style.width="59px";m.style.borderTop="1px solid lightgray";m.style.borderLeft="1px solid lightgray";m.style.height=parseInt(f.tabContainer.style.height)-
+1+"px";m.style.lineHeight=parseInt(f.tabContainer.style.height)+1+"px";p.appendChild(m);q=mxUtils.bind(this,function(){m.innerHTML=Math.round(100*f.editor.graph.view.scale)+"%"});f.editor.graph.view.addListener(mxEvent.EVENT_SCALE,q);f.editor.addListener("resetGraphView",q);f.editor.addListener("pageSelected",q);var v=f.setGraphEnabled;f.setGraphEnabled=function(){v.apply(this,arguments);null!=this.tabContainer&&(m.style.visibility=this.tabContainer.style.visibility)}}p.appendChild(f.tabContainer);
p.appendChild(k);p.appendChild(f.diagramContainer);d.appendChild(p);f.updateTabContainer();mxEvent.addListener(window,"resize",function(){null!=f.sidebarWindow&&f.sidebarWindow.window.fit();null!=f.formatWindow&&f.formatWindow.window.fit();null!=f.actions.outlineWindow&&f.actions.outlineWindow.window.fit();null!=f.actions.layersWindow&&f.actions.layersWindow.window.fit();null!=f.menus.tagsWindow&&f.menus.tagsWindow.window.fit();null!=f.menus.findWindow&&f.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)}})();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\nactualSize=Actual Size\nadd=Add\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\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\nborderColor=Border Color\nborderWidth=Borderwidth\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\nchangesNotSaved=Changes have not been saved\nchatJoined={1} has joined\nchatLeft={1} has left\nchatWindowTitle=Chat\nchooseAnOption=Choose an option\nchromeApp=Chrome App\ncompressed=Compressed\ncommitMessage=Commit Message\ncsv=CSV\ndark=Dark\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\ncircle=Circle\ncisco=Cisco\nclassic=Classic\nclearDefaultStyle=Clear Default Style\nclearWaypoints=Clear Waypoints\nclipart=Clipart\nclose=Close\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\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\ncopyOf=Copy of {1}\ncopyOfDrawing=Copy of Drawing\ncopyStyle=Copy Style\ncreate=Create\ncreateNewDiagram=Create New Diagram\ncreateRevision=Create Revision\ncreateShape=Create Shape\ncrop=Crop\ncurved=Curved\ncustom=Custom\ncurrent=Current\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\ndownloadAs=Download as\nclickHereToSave=Click here to save.\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\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\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.\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.\nextras=Extras\nfacebook=Facebook\nfailedToSaveTryReconnect=Failed to save, trying to reconnect\nfeatureRequest=Feature Request\nfeedback=Feedback\nfeedbackSent=Feedback successfully sent.\nfloorplans=Floorplans\nfile=File\nfileChangedOverwrite=File was changed. Overwrite changes?\noverwrite=Overwrite\nfilename=Filename\nfileExists=File already exists\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 read access.\nfileNotLoaded=File not loaded\nfileNotSaved=File not saved\nfileOpenLocation=How would you like to open these file(s)?\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\nfromTemplate=From Template\nfromTemplateUrl=From Template URL\nfromText=From Text\nfromUrl=From URL\nfromThisPage=From this page\nfullscreen=Fullscreen\ngap=Gap\ngeneral=General\ngithub=GitHub\ngliffy=Gliffy\nglobal=Global\ngoogleDocs=Google Docs\ngoogleDrive=Google Drive\ngoogleGadget=Google Gadget\ngooglePlus=Google+\ngoogleSites=Google Sites\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\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\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>.\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 page refresh.\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\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\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\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\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\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 by 90 degrees\nrotation=Rotation\nrounded=Rounded\nsave=Save\nsaveAndExit=Save & Exit\nsaveAs=Save as\nsaveAsXmlFile=Save as XML file?\nsaved=Saved\nsaveDiagramsTo=Save diagrams to\nsaveLibrary403=Insufficient permissions to edit this library\nsaveLibrary500=There was an error while saving the library\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\nsize=Size\nsolid=Solid\nsourceSpacing=Source Spacing\nsouth=South\nsoftware=Software\nspace=Space\nspacing=Spacing\nspecialLink=Special Link\nstandard=Standard\nstarting=Starting\nstraight=Straight\nstrokeColor=Line Color\nstyle=Style\nsubscript=Subscript\nsummary=Summary\nsuperscript=Superscript\nsupport=Support\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\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 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\nuseRootFolder=Use root folder?\nuserManual=User Manual\nvertical=Vertical\nverticalFlow=Vertical Flow\nverticalTree=Vertical Tree\nview=View\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\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\n");Graph.prototype.defaultThemes[Graph.prototype.defaultThemeName]=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.allowZoomIn=!1;
@@ -3167,9 +3166,9 @@ function(){g.style.backgroundColor="#eee"}),mxUtils.setOpacity(a,60),g.style.cur
e.style.whiteSpace="nowrap";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,k=null,l=mxUtils.bind(this,function(a){null!=c&&(window.clearTimeout(c),fadeThead=null);null!=k&&(window.clearTimeout(k),fadeThead2=null);c=window.setTimeout(mxUtils.bind(this,function(){mxUtils.setOpacity(e,
0);c=null;k=window.setTimeout(mxUtils.bind(this,function(){e.style.display="none";k=null}),100)}),a||200)}),q=mxUtils.bind(this,function(a){null!=c&&(window.clearTimeout(c),fadeThead=null);null!=k&&(window.clearTimeout(k),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),l())}));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 p=this.graph,v=p.getTolerance();p.addMouseListener({startX:0,startY:0,scrollLeft:0,scrollTop:0,mouseDown:function(a,b){this.startX=b.getGraphX();this.startY=b.getGraphY();this.scrollLeft=
-p.container.scrollLeft;this.scrollTop=p.container.scrollTop},mouseMove:function(a,b){},mouseUp:function(a,b){mxEvent.isTouchEvent(b.getEvent())&&Math.abs(this.scrollLeft-p.container.scrollLeft)<v&&Math.abs(this.scrollTop-p.container.scrollTop)<v&&Math.abs(this.startX-b.getGraphX())<v&&Math.abs(this.startY-b.getGraphY())<v&&(0<parseFloat(e.style.opacity||0)?l():q(30))}})}for(var d=this.toolbarItems,f=0,g=null,n=null,r=0;r<d.length;r++){var h=d[r];if("pages"==h){n=b.ownerDocument.createElement("div");
-n.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(n,70);var m=a(mxUtils.bind(this,function(){this.selectPage(this.currentPage-1)}),Editor.previousImage,mxResources.get("previousPage")||"Previous Page");m.style.borderRightStyle="none";m.style.paddingLeft="0px";m.style.paddingRight="0px";e.appendChild(n);var u=a(mxUtils.bind(this,function(){this.selectPage(this.currentPage+
-1)}),Editor.nextImage,mxResources.get("nextPage")||"Next Page");u.style.paddingLeft="0px";u.style.paddingRight="0px";h=mxUtils.bind(this,function(){n.innerHTML="";mxUtils.write(n,this.currentPage+1+" / "+this.diagrams.length);n.style.display=1<this.diagrams.length?"inline-block":"none";m.style.display=n.style.display;u.style.display=n.style.display});this.addListener("graphChanged",h);h()}else if("zoom"==h)this.zoomEnabled&&(a(mxUtils.bind(this,function(){this.graph.zoomOut()}),Editor.zoomOutImage,
+p.container.scrollLeft;this.scrollTop=p.container.scrollTop},mouseMove:function(a,b){},mouseUp:function(a,b){mxEvent.isTouchEvent(b.getEvent())&&Math.abs(this.scrollLeft-p.container.scrollLeft)<v&&Math.abs(this.scrollTop-p.container.scrollTop)<v&&Math.abs(this.startX-b.getGraphX())<v&&Math.abs(this.startY-b.getGraphY())<v&&(0<parseFloat(e.style.opacity||0)?l():q(30))}})}for(var d=this.toolbarItems,f=0,g=null,m=null,r=0;r<d.length;r++){var h=d[r];if("pages"==h){m=b.ownerDocument.createElement("div");
+m.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(m,70);var n=a(mxUtils.bind(this,function(){this.selectPage(this.currentPage-1)}),Editor.previousImage,mxResources.get("previousPage")||"Previous Page");n.style.borderRightStyle="none";n.style.paddingLeft="0px";n.style.paddingRight="0px";e.appendChild(m);var u=a(mxUtils.bind(this,function(){this.selectPage(this.currentPage+
+1)}),Editor.nextImage,mxResources.get("nextPage")||"Next Page");u.style.paddingLeft="0px";u.style.paddingRight="0px";h=mxUtils.bind(this,function(){m.innerHTML="";mxUtils.write(m,this.currentPage+1+" / "+this.diagrams.length);m.style.display=1<this.diagrams.length?"inline-block":"none";n.style.display=m.style.display;u.style.display=m.style.display});this.addListener("graphChanged",h);h()}else if("zoom"==h)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"==h){if(this.layersEnabled){var w=this.graph.getModel(),t=a(mxUtils.bind(this,function(a){if(null!=g)g.parentNode.removeChild(g),
g=null;else{g=this.graph.createLayersDialog();mxEvent.addListener(g,"mouseleave",function(){g.parentNode.removeChild(g);g=null});a=t.getBoundingClientRect();g.style.width="140px";g.style.padding="2px 0px 2px 0px";g.style.border="1px solid #d0d0d0";g.style.backgroundColor="#eee";g.style.fontFamily="Helvetica Neue,Helvetica,Arial Unicode MS,Arial";g.style.fontSize="11px";g.style.zIndex=this.toolbarZIndex+1;mxUtils.setOpacity(g,80);var b=mxUtils.getDocumentScrollOrigin(document);g.style.left=b.x+a.left+
"px";g.style.top=b.y+a.bottom+"px";document.body.appendChild(g)}}),Editor.layersImage,mxResources.get("layers")||"Layers");w.addListener(mxEvent.CHANGE,function(){t.style.display=1<w.getChildCount(w.root)?"inline-block":"none"});t.style.display=1<w.getChildCount(w.root)?"inline-block":"none"}}else"lightbox"==h?this.lightboxEnabled&&a(mxUtils.bind(this,function(){this.showLightbox()}),Editor.maximizeImage,mxResources.get("show")||"Show"):null!=this.graphConfig["toolbar-buttons"]&&(h=this.graphConfig["toolbar-buttons"][h],
@@ -3196,7 +3195,7 @@ GraphViewer.initCss=function(){try{var a=document.createElement("style");a.type=
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 k(){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 l(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 k,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"==l(b,"position")&&(b.style.position="relative");var d=b.resizeSensor.childNodes[0],e=d.childNodes[0],f=b.resizeSensor.childNodes[1],g=function(){e.style.width="100000px";e.style.height="100000px";d.scrollLeft=1E5;d.scrollTop=1E5;f.scrollLeft=1E5;f.scrollTop=1E5};g();var n=!1,p=function(){b.resizedAttached&&(n&&(b.resizedAttached.call(),n=!1),a(p))};a(p);var q,v,D,G,B=function(){if((D=b.offsetWidth)!=q||(G=b.offsetHeight)!=v)n=!0,q=D,v=G;g()},y=function(a,b,c){a.attachEvent?
+b.appendChild(b.resizeSensor);"static"==l(b,"position")&&(b.style.position="relative");var d=b.resizeSensor.childNodes[0],e=d.childNodes[0],f=b.resizeSensor.childNodes[1],g=function(){e.style.width="100000px";e.style.height="100000px";d.scrollLeft=1E5;d.scrollTop=1E5;f.scrollLeft=1E5;f.scrollTop=1E5};g();var m=!1,p=function(){b.resizedAttached&&(m&&(b.resizedAttached.call(),m=!1),a(p))};a(p);var q,v,D,G,B=function(){if((D=b.offsetWidth)!=q||(G=b.offsetHeight)!=v)m=!0,q=D,v=G;g()},y=function(a,b,c){a.attachEvent?
a.attachEvent("on"+b,c):a.addEventListener(b,c)};y(d,"scroll",B);y(f,"scroll",B)}var p=function(){GraphViewer.resizeSensorEnabled&&c()},v=Object.prototype.toString.call(e),d="[object Array]"===v||"[object NodeList]"===v||"[object HTMLCollection]"===v||"undefined"!==typeof jQuery&&e instanceof jQuery||"undefined"!==typeof Elements&&e instanceof Elements;if(d)for(var v=0,f=e.length;v<f;v++)q(e[v],p);else q(e,p);this.detach=function(){if(d)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/mxgraph/css/common.css b/src/main/webapp/mxgraph/css/common.css
index d174d9fa..37bfb0ea 100644
--- a/src/main/webapp/mxgraph/css/common.css
+++ b/src/main/webapp/mxgraph/css/common.css
@@ -7,7 +7,8 @@ div.mxRubberband {
background: #0077FF;
}
.mxCellEditor {
- background: url('../images/transparent.gif');
+ background: url(data:image/gif;base64,R0lGODlhMAAwAIAAAP///wAAACH5BAEAAAAALAAAAAAwADAAAAIxhI+py+0Po5y02ouz3rz7D4biSJbmiabqyrbuC8fyTNf2jef6zvf+DwwKh8Si8egpAAA7);
+ _background: url('../images/transparent.gif');
border-color: transparent;
border-style: solid;
display: inline-block;
diff --git a/src/main/webapp/plugins/cConf-1-4-8.js b/src/main/webapp/plugins/cConf-1-4-8.js
index 1eacda24..0ef14d66 100644
--- a/src/main/webapp/plugins/cConf-1-4-8.js
+++ b/src/main/webapp/plugins/cConf-1-4-8.js
@@ -14,9 +14,14 @@ Draw.loadPlugin(function(ui)
{
data = JSON.parse(data);
- if (data.action == 'load' && data.macroData != null)
+ if (data.action == 'load')
{
- macroData = data.macroData;
+ if (data.macroData != null)
+ {
+ macroData = data.macroData;
+ }
+
+ macroData.diagramDisplayName = data.title;
}
}
catch (e)
@@ -118,6 +123,60 @@ Draw.loadPlugin(function(ui)
ui.menus.addMenuItems(menu, ['linksAuto', 'linksBlank', 'linksSelf'], parent);
})));
+ var renameAction = ui.actions.get("rename");
+
+ renameAction.visible = true;
+
+ renameAction.isEnabled = function()
+ {
+ return macroData.diagramDisplayName != null;
+ }
+
+ renameAction.funct = function()
+ {
+ var dlg = new FilenameDialog(ui, macroData.diagramDisplayName || "",
+ mxResources.get('rename'), function(newName)
+ {
+ if (newName != null && newName.length > 0)
+ {
+ macroData.diagramDisplayName = newName;
+ var parent = window.opener || window.parent;
+ parent.postMessage(JSON.stringify({event: 'rename', name: newName}), '*');
+ //Update file name in the UI
+ var tmp = document.createElement('span');
+ mxUtils.write(tmp, mxUtils.htmlEntities(newName));
+
+ if (ui.embedFilenameSpan != null)
+ {
+ ui.embedFilenameSpan.parentNode.removeChild(ui.embedFilenameSpan);
+ }
+
+ ui.buttonContainer.appendChild(tmp);
+ ui.embedFilenameSpan = tmp;
+ }
+ }, mxResources.get('rename'), function(name)
+ {
+ var err = "";
+ if (name == null || name.length == 0)
+ {
+ err = 'Filename too short';
+ }
+ else if (/[&\*+=\\;/{}|\":<>\?~]/g.test(name))
+ {
+ err = 'Invalid characters \\ / | : { } < > & + ? = ; * " ~';
+ }
+ else
+ {
+ return true;
+ }
+
+ ui.showError(mxResources.get('error'), err, mxResources.get('ok'));
+ return false;
+ });
+ ui.showDialog(dlg.container, 300, 80, true, true);
+ dlg.init();
+ }
+
// Adds Viewer menu at bottom of Extras menu
var menu = ui.menus.get('extras');
var oldFunct = menu.funct;
diff --git a/src/main/webapp/stencils/webicons.xml b/src/main/webapp/stencils/webicons.xml
index 85fa90ae..d75535a7 100644
--- a/src/main/webapp/stencils/webicons.xml
+++ b/src/main/webapp/stencils/webicons.xml
@@ -3574,13 +3574,14 @@
<fill/>
<fillcolor color="#f08707"/>
<path>
- <move x="124.2" y="327.5"/>
- <line x="124.2" y="112.96"/>
- <line x="384.19" y="112.96"/>
- <line x="384.19" y="326.48"/>
+ <move x="384.19" y="326.48"/>
<curve x1="384.19" x2="379.76" x3="376.54" y1="330.6" y2="334.45" y3="334.45"/>
<line x="131.13" y="334.45"/>
<curve x1="127.7" x2="124.2" x3="124.2" y1="334.45" y2="330.61" y3="327.5"/>
+ <line x="124.2" y="83.06"/>
+ <curve x1="124.2" x2="126.66" x3="131.77" y1="78.49" y2="74.52" y3="74.52"/>
+ <line x="378.04" y="74.71"/>
+ <curve x1="381.74" x2="384.14" x3="384.19" y1="74.71" y2="78.1" y3="82.51"/>
<close/>
</path>
<fill/>
@@ -3690,60 +3691,49 @@
<fillcolor color="#db6112"/>
<path>
<move x="220.31" y="334.45"/>
- <line x="180.23" y="294.23"/>
- <line x="273.23" y="155.67"/>
- <line x="283.89" y="153.75"/>
- <line x="384.17" y="256.19"/>
+ <line x="180.23" y="274.23"/>
+ <line x="273.23" y="135.67"/>
+ <line x="283.89" y="133.75"/>
+ <line x="384.17" y="236.19"/>
<line x="384.17" y="326.74"/>
- <curve x1="384.17" x2="380.03" x3="376.73" y1="330.02" y2="334.45" y3="334.45"/>
- <close/>
- </path>
- <fill/>
- <fillcolor color="#333333"/>
- <path>
- <move x="124.2" y="112.96"/>
- <line x="124.2" y="83.06"/>
- <curve x1="124.2" x2="126.66" x3="131.77" y1="78.49" y2="74.52" y3="74.52"/>
- <line x="378.04" y="74.71"/>
- <curve x1="381.74" x2="384.14" x3="384.19" y1="74.71" y2="78.1" y3="82.51"/>
- <line x="384.19" y="112.96"/>
- <close/>
- </path>
- <fill/>
- <fillcolor color="#ffffff"/>
- <path>
- <move x="184.57" y="294.92"/>
- <curve x1="178.24" x2="175.27" x3="175.27" y1="294.92" y2="289.74" y3="285.45"/>
- <line x="175.27" y="251.34"/>
- <curve x1="175.27" x2="178.4" x3="182.8" y1="247.26" y2="242.15" y3="242.15"/>
- <line x="209.62" y="242.15"/>
- <line x="233.53" y="202.5"/>
- <line x="230.35" y="202.5"/>
- <curve x1="228.5" x2="222.81" x3="222.81" y1="202.5" y2="198.85" y3="194.88"/>
- <line x="222.81" y="158.43"/>
- <curve x1="222.81" x2="227.9" x3="231.72" y1="154.34" y2="149.14" y3="149.14"/>
- <line x="275.05" y="149.14"/>
- <curve x1="279" x2="285.41" x3="285.41" y1="149.14" y2="151.33" y3="158.82"/>
- <line x="285.41" y="193.83"/>
- <curve x1="285.41" x2="281.72" x3="277.97" y1="197.92" y2="202.5" y3="202.5"/>
- <line x="274.86" y="202.5"/>
- <line x="298.84" y="242.15"/>
- <line x="324.35" y="242.15"/>
- <curve x1="330.42" x2="333.36" x3="333.36" y1="242.15" y2="245.49" y3="250.42"/>
- <line x="333.36" y="285.5"/>
- <curve x1="333.36" x2="328.8" x3="324.27" y1="290.8" y2="294.92" y3="294.92"/>
- <line x="281.22" y="294.92"/>
- <curve x1="275.71" x2="270.95" x3="270.95" y1="294.92" y2="291.36" y3="285.92"/>
- <line x="270.95" y="249.11"/>
- <curve x1="271.59" x2="275.1" x3="279.24" y1="245.35" y2="242.15" y3="242.15"/>
- <line x="287.32" y="242.15"/>
- <line x="264.27" y="202.5"/>
- <line x="244.42" y="202.5"/>
- <line x="221.53" y="242.15"/>
- <line x="230.33" y="242.15"/>
- <curve x1="234.18" x2="237.52" x3="237.52" y1="242.15" y2="245.93" y3="250.3"/>
- <line x="237.52" y="287.61"/>
- <curve x1="237.52" x2="233.95" x3="229.91" y1="290.71" y2="294.92" y3="294.92"/>
+ <curve x1="384.17" x2="380" x3="376.73" y1="330.02" y2="334.87" y3="334.45"/>
+ <close/>
+ </path>
+ <fill/>
+ <fillcolor color="#ffffff"/>
+ <path>
+ <move x="184.57" y="274.92"/>
+ <curve x1="178.24" x2="175.27" x3="175.27" y1="274.92" y2="269.74" y3="265.45"/>
+ <line x="175.27" y="231.34"/>
+ <curve x1="175.27" x2="178.4" x3="182.8" y1="227.26" y2="222.15" y3="222.15"/>
+ <line x="209.62" y="222.15"/>
+ <line x="233.53" y="182.5"/>
+ <line x="230.35" y="182.5"/>
+ <curve x1="228.5" x2="222.81" x3="222.81" y1="182.5" y2="178.85" y3="174.88"/>
+ <line x="222.81" y="138.43"/>
+ <curve x1="222.81" x2="227.9" x3="231.72" y1="134.34" y2="129.14" y3="129.14"/>
+ <line x="275.05" y="129.14"/>
+ <curve x1="279" x2="285.41" x3="285.41" y1="129.14" y2="131.33" y3="138.82"/>
+ <line x="285.41" y="173.83"/>
+ <curve x1="285.41" x2="281.72" x3="277.97" y1="177.92" y2="182.5" y3="182.5"/>
+ <line x="274.86" y="182.5"/>
+ <line x="298.84" y="222.15"/>
+ <line x="324.35" y="222.15"/>
+ <curve x1="330.42" x2="333.36" x3="333.36" y1="222.15" y2="225.49" y3="230.42"/>
+ <line x="333.36" y="265.5"/>
+ <curve x1="333.36" x2="328.8" x3="324.27" y1="270.8" y2="274.92" y3="274.92"/>
+ <line x="281.22" y="274.92"/>
+ <curve x1="275.71" x2="270.95" x3="270.95" y1="274.92" y2="271.36" y3="265.92"/>
+ <line x="270.95" y="229.11"/>
+ <curve x1="271.59" x2="275.1" x3="279.24" y1="225.35" y2="222.15" y3="222.15"/>
+ <line x="287.32" y="222.15"/>
+ <line x="264.27" y="182.5"/>
+ <line x="244.42" y="182.5"/>
+ <line x="221.53" y="222.15"/>
+ <line x="230.33" y="222.15"/>
+ <curve x1="234.18" x2="237.52" x3="237.52" y1="222.15" y2="225.93" y3="230.3"/>
+ <line x="237.52" y="267.61"/>
+ <curve x1="237.52" x2="233.95" x3="229.91" y1="270.71" y2="274.92" y3="274.92"/>
<close/>
</path>
<fill/>
diff --git a/src/main/webapp/stencils/weblogos.xml b/src/main/webapp/stencils/weblogos.xml
index 35868033..10f57d95 100644
--- a/src/main/webapp/stencils/weblogos.xml
+++ b/src/main/webapp/stencils/weblogos.xml
@@ -3266,13 +3266,63 @@
<save/>
<fillcolor color="#f08707"/>
<path>
- <move x="0.79" y="252.98"/>
- <line x="0.79" y="38.44"/>
- <line x="260.78" y="38.44"/>
- <line x="260.78" y="251.96"/>
+ <move x="260.78" y="251.96"/>
<curve x1="260.78" x2="256.35" x3="253.13" y1="256.08" y2="259.93" y3="259.93"/>
<line x="7.72" y="259.93"/>
<curve x1="4.3" x2="0.79" x3="0.79" y1="259.93" y2="256.09" y3="252.98"/>
+ <line x="0.79" y="8.54"/>
+ <curve x1="0.79" x2="3.25" x3="8.36" y1="3.97" y2="0" y3="0"/>
+ <line x="254.64" y="0.19"/>
+ <curve x1="258.33" x2="260.73" x3="260.78" y1="0.19" y2="3.58" y3="7.99"/>
+ <close/>
+ </path>
+ <fill/>
+ <fillcolor color="#db6112"/>
+ <path>
+ <move x="96.9" y="259.93"/>
+ <line x="56.82" y="199.71"/>
+ <line x="149.82" y="61.15"/>
+ <line x="160.49" y="59.23"/>
+ <line x="260.77" y="161.67"/>
+ <line x="260.77" y="252.22"/>
+ <curve x1="260.77" x2="256.6" x3="253.33" y1="255.5" y2="260.35" y3="259.93"/>
+ <close/>
+ </path>
+ <fill/>
+ <fillcolor color="#ffffff"/>
+ <path>
+ <move x="61.16" y="200.4"/>
+ <curve x1="54.84" x2="51.86" x3="51.86" y1="200.4" y2="195.22" y3="190.93"/>
+ <line x="51.86" y="156.82"/>
+ <curve x1="51.86" x2="54.99" x3="59.39" y1="152.73" y2="147.63" y3="147.63"/>
+ <line x="86.22" y="147.63"/>
+ <line x="110.12" y="107.98"/>
+ <line x="106.94" y="107.98"/>
+ <curve x1="105.09" x2="99.4" x3="99.4" y1="107.98" y2="104.32" y3="100.36"/>
+ <line x="99.4" y="63.91"/>
+ <curve x1="99.4" x2="104.49" x3="108.32" y1="59.82" y2="54.62" y3="54.62"/>
+ <line x="151.65" y="54.62"/>
+ <curve x1="155.59" x2="162.01" x3="162.01" y1="54.62" y2="56.81" y3="64.3"/>
+ <line x="162.01" y="99.31"/>
+ <curve x1="162.01" x2="158.31" x3="154.56" y1="103.4" y2="107.98" y3="107.98"/>
+ <line x="151.46" y="107.98"/>
+ <line x="175.43" y="147.63"/>
+ <line x="200.95" y="147.63"/>
+ <curve x1="207.01" x2="209.95" x3="209.95" y1="147.63" y2="150.97" y3="155.9"/>
+ <line x="209.95" y="190.98"/>
+ <curve x1="209.95" x2="205.4" x3="200.87" y1="196.28" y2="200.4" y3="200.4"/>
+ <line x="157.82" y="200.4"/>
+ <curve x1="152.3" x2="147.55" x3="147.55" y1="200.4" y2="196.84" y3="191.4"/>
+ <line x="147.55" y="154.59"/>
+ <curve x1="148.18" x2="151.69" x3="155.83" y1="150.83" y2="147.63" y3="147.63"/>
+ <line x="163.91" y="147.63"/>
+ <line x="140.87" y="107.98"/>
+ <line x="121.02" y="107.98"/>
+ <line x="98.13" y="147.63"/>
+ <line x="106.92" y="147.63"/>
+ <curve x1="110.78" x2="114.11" x3="114.11" y1="147.63" y2="151.41" y3="155.78"/>
+ <line x="114.11" y="193.09"/>
+ <curve x1="114.11" x2="110.55" x3="106.51" y1="196.19" y2="200.4" y3="200.4"/>
<close/>
</path>
<fill/>
@@ -3373,71 +3423,78 @@
<line x="213.14" y="312.97"/>
<line x="213.14" y="352.9"/>
<close/>
- <move x="200.97" y="302.12"/>
+ <move x="200.97" y="302.13"/>
<curve x1="200.97" x2="204.21" x3="207.19" y1="298.87" y2="296" y3="296"/>
- <curve x1="211.29" x2="213.2" x3="213.2" y1="296" y2="299.05" y3="302.12"/>
+ <curve x1="211.29" x2="213.2" x3="213.2" y1="296" y2="299.05" y3="302.13"/>
<curve x1="213.2" x2="210.66" x3="207.3" y1="305.86" y2="308" y3="308"/>
- <curve x1="203.92" x2="200.97" x3="200.97" y1="308" y2="304.94" y3="302.12"/>
+ <curve x1="203.92" x2="200.97" x3="200.97" y1="308" y2="304.94" y3="302.13"/>
<close/>
</path>
<fill/>
- <fillcolor color="#db6112"/>
+ </foreground>
+</shape>
+<shape aspect="variable" h="260.35" name="Drawio3" strokewidth="inherit" w="259.99">
+ <connections/>
+ <foreground>
+ <fillcolor color="#f08707"/>
<path>
- <move x="96.9" y="259.93"/>
- <line x="56.82" y="219.71"/>
- <line x="149.82" y="81.15"/>
- <line x="160.49" y="79.23"/>
- <line x="260.77" y="181.67"/>
- <line x="260.77" y="252.22"/>
- <curve x1="260.77" x2="256.62" x3="253.33" y1="255.5" y2="259.93" y3="259.93"/>
+ <move x="259.99" y="251.96"/>
+ <curve x1="259.99" x2="255.56" x3="252.34" y1="256.08" y2="259.93" y3="259.93"/>
+ <line x="6.93" y="259.93"/>
+ <curve x1="3.51" x2="0" x3="0" y1="259.93" y2="256.09" y3="252.98"/>
+ <line x="0" y="8.54"/>
+ <curve x1="0" x2="2.46" x3="7.57" y1="3.97" y2="0" y3="0"/>
+ <line x="253.85" y="0.19"/>
+ <curve x1="257.54" x2="259.94" x3="259.99" y1="0.19" y2="3.58" y3="7.99"/>
<close/>
</path>
<fill/>
- <fillcolor color="#333333"/>
+ <fillcolor color="#db6112"/>
<path>
- <move x="0.79" y="38.44"/>
- <line x="0.79" y="8.54"/>
- <curve x1="0.79" x2="3.25" x3="8.36" y1="3.97" y2="0" y3="0"/>
- <line x="254.64" y="0.19"/>
- <curve x1="258.33" x2="260.73" x3="260.78" y1="0.19" y2="3.58" y3="7.99"/>
- <line x="260.78" y="38.44"/>
+ <move x="96.11" y="259.93"/>
+ <line x="56.03" y="199.71"/>
+ <line x="149.03" y="61.15"/>
+ <line x="159.7" y="59.23"/>
+ <line x="259.98" y="161.67"/>
+ <line x="259.98" y="252.22"/>
+ <curve x1="259.98" x2="255.81" x3="252.53" y1="255.5" y2="260.35" y3="259.93"/>
<close/>
</path>
<fill/>
<fillcolor color="#ffffff"/>
<path>
- <move x="61.16" y="220.4"/>
- <curve x1="54.84" x2="51.86" x3="51.86" y1="220.4" y2="215.22" y3="210.93"/>
- <line x="51.86" y="176.82"/>
- <curve x1="51.86" x2="54.99" x3="59.39" y1="172.73" y2="167.63" y3="167.63"/>
- <line x="86.22" y="167.63"/>
- <line x="110.12" y="127.98"/>
- <line x="106.94" y="127.98"/>
- <curve x1="105.09" x2="99.4" x3="99.4" y1="127.98" y2="124.32" y3="120.36"/>
- <line x="99.4" y="83.91"/>
- <curve x1="99.4" x2="104.49" x3="108.32" y1="79.82" y2="74.62" y3="74.62"/>
- <line x="151.65" y="74.62"/>
- <curve x1="155.59" x2="162.01" x3="162.01" y1="74.62" y2="76.81" y3="84.3"/>
- <line x="162.01" y="119.31"/>
- <curve x1="162.01" x2="158.31" x3="154.56" y1="123.4" y2="127.98" y3="127.98"/>
- <line x="151.46" y="127.98"/>
- <line x="175.43" y="167.63"/>
- <line x="200.95" y="167.63"/>
- <curve x1="207.01" x2="209.95" x3="209.95" y1="167.63" y2="170.97" y3="175.9"/>
- <line x="209.95" y="210.98"/>
- <curve x1="209.95" x2="205.4" x3="200.87" y1="216.28" y2="220.4" y3="220.4"/>
- <line x="157.82" y="220.4"/>
- <curve x1="152.3" x2="147.55" x3="147.55" y1="220.4" y2="216.84" y3="211.4"/>
- <line x="147.55" y="174.59"/>
- <curve x1="148.18" x2="151.69" x3="155.83" y1="170.83" y2="167.63" y3="167.63"/>
- <line x="163.91" y="167.63"/>
- <line x="140.87" y="127.98"/>
- <line x="121.02" y="127.98"/>
- <line x="98.13" y="167.63"/>
- <line x="106.92" y="167.63"/>
- <curve x1="110.78" x2="114.11" x3="114.11" y1="167.63" y2="171.41" y3="175.78"/>
- <line x="114.11" y="213.09"/>
- <curve x1="114.11" x2="110.55" x3="106.51" y1="216.19" y2="220.4" y3="220.4"/>
+ <move x="60.37" y="200.4"/>
+ <curve x1="54.05" x2="51.07" x3="51.07" y1="200.4" y2="195.22" y3="190.93"/>
+ <line x="51.07" y="156.82"/>
+ <curve x1="51.07" x2="54.2" x3="58.6" y1="152.73" y2="147.63" y3="147.63"/>
+ <line x="85.43" y="147.63"/>
+ <line x="109.33" y="107.98"/>
+ <line x="106.15" y="107.98"/>
+ <curve x1="104.3" x2="98.61" x3="98.61" y1="107.98" y2="104.32" y3="100.36"/>
+ <line x="98.61" y="63.91"/>
+ <curve x1="98.61" x2="103.7" x3="107.53" y1="59.82" y2="54.62" y3="54.62"/>
+ <line x="150.86" y="54.62"/>
+ <curve x1="154.8" x2="161.22" x3="161.22" y1="54.62" y2="56.81" y3="64.3"/>
+ <line x="161.22" y="99.31"/>
+ <curve x1="161.22" x2="157.52" x3="153.77" y1="103.4" y2="107.98" y3="107.98"/>
+ <line x="150.67" y="107.98"/>
+ <line x="174.64" y="147.63"/>
+ <line x="200.16" y="147.63"/>
+ <curve x1="206.22" x2="209.16" x3="209.16" y1="147.63" y2="150.97" y3="155.9"/>
+ <line x="209.16" y="190.98"/>
+ <curve x1="209.16" x2="204.61" x3="200.07" y1="196.28" y2="200.4" y3="200.4"/>
+ <line x="157.03" y="200.4"/>
+ <curve x1="151.51" x2="146.75" x3="146.75" y1="200.4" y2="196.84" y3="191.4"/>
+ <line x="146.75" y="154.59"/>
+ <curve x1="147.39" x2="150.9" x3="155.04" y1="150.83" y2="147.63" y3="147.63"/>
+ <line x="163.12" y="147.63"/>
+ <line x="140.08" y="107.98"/>
+ <line x="120.23" y="107.98"/>
+ <line x="97.34" y="147.63"/>
+ <line x="106.13" y="147.63"/>
+ <curve x1="109.98" x2="113.32" x3="113.32" y1="147.63" y2="151.41" y3="155.78"/>
+ <line x="113.32" y="193.09"/>
+ <curve x1="113.32" x2="109.76" x3="105.72" y1="196.19" y2="200.4" y3="200.4"/>
<close/>
</path>
<fill/>