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:
authorDavid Benson <david@draw.io>2022-06-06 17:48:53 +0300
committerDavid Benson <david@draw.io>2022-06-06 17:48:53 +0300
commitd92fd2cbd592266073d63978dfe67019d8dcfde5 (patch)
tree2ee07c0f347397baf51cc7ca69484a68ccf49459
parente4b64b0341f8dfbd05a721afb481241af961e7b7 (diff)
19.0.1 releasev19.0.1
-rw-r--r--ChangeLog4
-rw-r--r--VERSION2
-rw-r--r--src/main/java/com/mxgraph/online/ConverterServlet.java2
-rw-r--r--src/main/webapp/js/app.min.js146
-rw-r--r--src/main/webapp/js/diagramly/EditorUi.js13
-rw-r--r--src/main/webapp/js/integrate.min.js12
-rw-r--r--src/main/webapp/js/viewer-static.min.js208
-rw-r--r--src/main/webapp/js/viewer.min.js208
-rw-r--r--src/main/webapp/mxgraph/mxClient.js2
-rw-r--r--src/main/webapp/service-worker.js2
-rw-r--r--src/main/webapp/service-worker.js.map2
11 files changed, 304 insertions, 297 deletions
diff --git a/ChangeLog b/ChangeLog
index 57eab61b..841700f3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+06-JUN-2022: 19.0.1
+
+- Fixes handling of cell ID in CSV import [DID-5225]
+
03-JUN-2022: 19.0.0
- Removes IE 11 support
diff --git a/VERSION b/VERSION
index 2941b819..b2c7e01f 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-19.0.0 \ No newline at end of file
+19.0.1 \ No newline at end of file
diff --git a/src/main/java/com/mxgraph/online/ConverterServlet.java b/src/main/java/com/mxgraph/online/ConverterServlet.java
index d010acaa..c7e754d7 100644
--- a/src/main/java/com/mxgraph/online/ConverterServlet.java
+++ b/src/main/java/com/mxgraph/online/ConverterServlet.java
@@ -267,8 +267,6 @@ public class ConverterServlet extends HttpServlet
}
response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
-
- throw e;
}
}
}
diff --git a/src/main/webapp/js/app.min.js b/src/main/webapp/js/app.min.js
index 83470a43..102fd6e0 100644
--- a/src/main/webapp/js/app.min.js
+++ b/src/main/webapp/js/app.min.js
@@ -469,7 +469,7 @@ if("1"==urlParams.offline||"1"==urlParams.demo||"1"==urlParams.stealth||"1"==url
"se.diagrams.net"==window.location.hostname&&(urlParams.db="0",urlParams.od="0",urlParams.gh="0",urlParams.gl="0",urlParams.tr="0",urlParams.plugins="0",urlParams.mode="google",urlParams.lockdown="1",window.DRAWIO_GOOGLE_APP_ID=window.DRAWIO_GOOGLE_APP_ID||"184079235871",window.DRAWIO_GOOGLE_CLIENT_ID=window.DRAWIO_GOOGLE_CLIENT_ID||"184079235871-pjf5nn0lff27lk8qf0770gmffiv9gt61.apps.googleusercontent.com");"trello"==urlParams.mode&&(urlParams.tr="1");
"embed.diagrams.net"==window.location.hostname&&(urlParams.embed="1");(null==window.location.hash||1>=window.location.hash.length)&&null!=urlParams.open&&(window.location.hash=urlParams.open);window.urlParams=window.urlParams||{};window.DOM_PURIFY_CONFIG=window.DOM_PURIFY_CONFIG||{ADD_TAGS:["use"],FORBID_TAGS:["form"],ALLOWED_URI_REGEXP:/^((?!javascript:).)*$/i,ADD_ATTR:["target","content"]};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||"mxgraph";window.mxImageBasePath=window.mxImageBasePath||"mxgraph/images";window.mxLanguage=window.mxLanguage||urlParams.lang;
-window.mxLanguages=window.mxLanguages||["de","se"];var mxClient={VERSION:"19.0.0",IS_IE:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE"),IS_IE11:null!=navigator.userAgent&&!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:null!=navigator.userAgent&&!!navigator.userAgent.match(/Edge\//),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&0>navigator.userAgent.indexOf("Edge/"),
+window.mxLanguages=window.mxLanguages||["de","se"];var mxClient={VERSION:"19.0.1",IS_IE:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE"),IS_IE11:null!=navigator.userAgent&&!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:null!=navigator.userAgent&&!!navigator.userAgent.match(/Edge\//),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&0>navigator.userAgent.indexOf("Edge/"),
IS_OP:null!=navigator.userAgent&&(0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/")),IS_OT:null!=navigator.userAgent&&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:/Apple Computer, Inc/.test(navigator.vendor),
IS_ANDROID:0<=navigator.appVersion.indexOf("Android"),IS_IOS:/iP(hone|od|ad)/.test(navigator.platform)||navigator.userAgent.match(/Mac/)&&navigator.maxTouchPoints&&2<navigator.maxTouchPoints,IS_WEBVIEW:/((iPhone|iPod|iPad).*AppleWebKit(?!.*Version)|; wv)/i.test(navigator.userAgent),IS_GC:/Google Inc/.test(navigator.vendor),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:"undefined"!==typeof InstallTrigger,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:"MICROSOFT INTERNET EXPLORER"!=navigator.appName.toUpperCase(),NO_FO:!document.createElementNS||"[object SVGForeignObjectElement]"!==
@@ -11135,10 +11135,10 @@ Pa.style.userSelect="none";Pa.style.borderRadius="3px";Pa.style.background="rgba
wa.setAttribute("width","100%"),wa.setAttribute("height","100%"),wa.style.lineHeight="1.3em",va=document.createElement("tbody"),aa=document.createElement("tr"),ca=document.createElement("td"),ca.setAttribute("align","center"),ca.setAttribute("valign","middle"),Pa=document.createElement("span"),Pa.style.display="inline-block",Pa.style.padding="4px 8px 4px 8px",Pa.style.userSelect="none",Pa.style.borderRadius="3px",Pa.style.background="#ffffff",Pa.style.overflow="hidden",Pa.style.textOverflow="ellipsis",
Pa.style.maxWidth=Da-34+"px",mxUtils.write(Pa,mxResources.get(xa,null,xa)),ca.appendChild(Pa),aa.appendChild(ca),va.appendChild(aa),wa.appendChild(va),ka.appendChild(wa),ua&&u(ka),mxEvent.addGestureListeners(ka,mxUtils.bind(this,function(Oa){u(ka,null,null,fa,ia)}),null,null),null!=ra?mxEvent.addListener(ka,"click",ra):(mxEvent.addListener(ka,"click",function(Oa){u(ka,null,null,fa,ia)}),mxEvent.addListener(ka,"dblclick",function(Oa){M();mxEvent.consume(Oa)}));if(null!=fa){var Qa=document.createElement("img");
Qa.setAttribute("src",Sidebar.prototype.searchImage);Qa.setAttribute("title",mxResources.get("preview"));Qa.className="geActiveButton";Qa.style.position="absolute";Qa.style.cursor="default";Qa.style.padding="8px";Qa.style.right="0px";Qa.style.top="0px";ka.appendChild(Qa);var Ya=!1;mxEvent.addGestureListeners(Qa,mxUtils.bind(this,function(Oa){Ya=b.sidebar.currentElt==ka}),null,null);mxEvent.addListener(Qa,"click",mxUtils.bind(this,function(Oa){Ya||ta(Oa,Qa);mxEvent.consume(Oa)}))}Z.appendChild(ka);
-return ka}function B(){function fa(ta,ka){var Ja=mxResources.get(ta);null==Ja&&(Ja=ta.substring(0,1).toUpperCase()+ta.substring(1));18<Ja.length&&(Ja=Ja.substring(0,18)+"&hellip;");return Ja+" ("+ka.length+")"}function sa(ta,ka,Ja){mxEvent.addListener(ka,"click",function(){Ha!=ka&&(Ha.style.backgroundColor="",Ha=ka,Ha.style.backgroundColor=v,Z.scrollTop=0,Z.innerHTML="",H=0,Ma=Ja?Ba[ta][Ja]:pa[ta],V=null,O(!1))})}Fa&&(Fa=!1,mxEvent.addListener(Z,"scroll",function(ta){Z.scrollTop+Z.clientHeight>=Z.scrollHeight&&
+return ka}function B(){function fa(ta,ka){var Ja=mxResources.get(ta);null==Ja&&(Ja=ta.substring(0,1).toUpperCase()+ta.substring(1));18<Ja.length&&(Ja=Ja.substring(0,18)+"&hellip;");return Ja+" ("+ka.length+")"}function sa(ta,ka,Ja){mxEvent.addListener(ka,"click",function(){Ha!=ka&&(Ha.style.backgroundColor="",Ha=ka,Ha.style.backgroundColor=v,Z.scrollTop=0,Z.innerHTML="",H=0,Ma=Ja?Ba[ta][Ja]:oa[ta],V=null,O(!1))})}Fa&&(Fa=!1,mxEvent.addListener(Z,"scroll",function(ta){Z.scrollTop+Z.clientHeight>=Z.scrollHeight&&
(O(),mxEvent.consume(ta))}));if(0<Ka){var xa=document.createElement("div");xa.style.cssText="font-weight: bold;background: #f9f9f9;padding: 5px 0 5px 0;text-align: center;";mxUtils.write(xa,mxResources.get("custom"));Aa.appendChild(xa);for(var wa in Ea){var ua=document.createElement("div"),va=wa;xa=Ea[wa];18<va.length&&(va=va.substring(0,18)+"&hellip;");ua.style.cssText="display:block;cursor:pointer;padding:6px;white-space:nowrap;margin-bottom:-1px;overflow:hidden;text-overflow:ellipsis;user-select:none;";
-ua.setAttribute("title",va+" ("+xa.length+")");mxUtils.write(ua,ua.getAttribute("title"));null!=k&&(ua.style.padding=k);Aa.appendChild(ua);(function(ta,ka){mxEvent.addListener(ua,"click",function(){Ha!=ka&&(Ha.style.backgroundColor="",Ha=ka,Ha.style.backgroundColor=v,Z.scrollTop=0,Z.innerHTML="",H=0,Ma=Ea[ta],V=null,O(!1))})})(wa,ua)}xa=document.createElement("div");xa.style.cssText="font-weight: bold;background: #f9f9f9;padding: 5px 0 5px 0;text-align: center;";mxUtils.write(xa,"draw.io");Aa.appendChild(xa)}for(wa in pa){va=
-Ba[wa];var ia=ua=document.createElement(va?"ul":"div");xa=pa[wa];var ra=fa(wa,xa);if(null!=va){var aa=document.createElement("li"),ca=document.createElement("div");ca.className="geTempTreeCaret";ca.setAttribute("title",ra);mxUtils.write(ca,ra);ia=ca;aa.appendChild(ca);ra=document.createElement("ul");ra.className="geTempTreeNested";ra.style.visibility="hidden";for(var na in va){var la=document.createElement("li"),qa=fa(na,va[na]);la.setAttribute("title",qa);mxUtils.write(la,qa);sa(wa,la,na);ra.appendChild(la)}aa.appendChild(ra);
+ua.setAttribute("title",va+" ("+xa.length+")");mxUtils.write(ua,ua.getAttribute("title"));null!=k&&(ua.style.padding=k);Aa.appendChild(ua);(function(ta,ka){mxEvent.addListener(ua,"click",function(){Ha!=ka&&(Ha.style.backgroundColor="",Ha=ka,Ha.style.backgroundColor=v,Z.scrollTop=0,Z.innerHTML="",H=0,Ma=Ea[ta],V=null,O(!1))})})(wa,ua)}xa=document.createElement("div");xa.style.cssText="font-weight: bold;background: #f9f9f9;padding: 5px 0 5px 0;text-align: center;";mxUtils.write(xa,"draw.io");Aa.appendChild(xa)}for(wa in oa){va=
+Ba[wa];var ia=ua=document.createElement(va?"ul":"div");xa=oa[wa];var ra=fa(wa,xa);if(null!=va){var aa=document.createElement("li"),ca=document.createElement("div");ca.className="geTempTreeCaret";ca.setAttribute("title",ra);mxUtils.write(ca,ra);ia=ca;aa.appendChild(ca);ra=document.createElement("ul");ra.className="geTempTreeNested";ra.style.visibility="hidden";for(var na in va){var la=document.createElement("li"),qa=fa(na,va[na]);la.setAttribute("title",qa);mxUtils.write(la,qa);sa(wa,la,na);ra.appendChild(la)}aa.appendChild(ra);
ua.className="geTempTree";ua.appendChild(aa);(function(ta,ka){mxEvent.addListener(ka,"click",function(){ta.style.visibility="visible";ta.classList.toggle("geTempTreeActive");ta.classList.toggle("geTempTreeNested")&&setTimeout(function(){ta.style.visibility="hidden"},550);ka.classList.toggle("geTempTreeCaret-down")})})(ra,ca)}else ua.style.cssText="display:block;cursor:pointer;padding:6px;white-space:nowrap;margin-bottom:-1px;overflow:hidden;text-overflow:ellipsis;user-select:none;transition: all 0.5s;",
ua.setAttribute("title",ra),mxUtils.write(ua,ra);null!=k&&(ua.style.padding=k);Aa.appendChild(ua);null==Ha&&0<xa.length&&(Ha=ua,Ha.style.backgroundColor=v,Ma=xa);sa(wa,ia)}O(!1)}var C=500>(window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth);f=null!=f?f:!0;m=null!=m?m:!1;v=null!=v?v:"#ebf2f9";d=null!=d?d:Editor.isDarkMode()?"#a2a2a2":"#e6eff8";g=null!=g?g:Editor.isDarkMode()?"1px dashed #00a8ff":"1px solid #ccd9ea";l=null!=l?l:EditorUi.templateFile;var G=document.createElement("div");
G.style.userSelect="none";G.style.height="100%";var N=document.createElement("div");N.style.whiteSpace="nowrap";N.style.height="46px";f&&G.appendChild(N);var I=document.createElement("img");I.setAttribute("border","0");I.setAttribute("align","absmiddle");I.style.width="40px";I.style.height="40px";I.style.marginRight="10px";I.style.paddingBottom="4px";I.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?
@@ -11146,19 +11146,19 @@ IMAGE_PATH+"/onedrive-logo.svg":b.mode==App.MODE_GITHUB?IMAGE_PATH+"/github-logo
b.mode==App.MODE_GOOGLE&&null!=b.drive?I=b.drive.extension:b.mode==App.MODE_DROPBOX&&null!=b.dropbox?I=b.dropbox.extension:b.mode==App.MODE_ONEDRIVE&&null!=b.oneDrive?I=b.oneDrive.extension:b.mode==App.MODE_GITHUB&&null!=b.gitHub?I=b.gitHub.extension:b.mode==App.MODE_GITLAB&&null!=b.gitLab?I=b.gitLab.extension:b.mode==App.MODE_TRELLO&&null!=b.trello&&(I=b.trello.extension);var F=document.createElement("input");F.setAttribute("value",b.defaultFilename+I);F.style.marginLeft="10px";F.style.width=e||
C?"144px":"244px";this.init=function(){f&&(F.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode?F.select():document.execCommand("selectAll",!1,null));null!=Z.parentNode&&null!=Z.parentNode.parentNode&&mxEvent.addGestureListeners(Z.parentNode.parentNode,mxUtils.bind(this,function(fa){b.sidebar.hideTooltip()}),null,null)};f&&(N.appendChild(F),L?F.style.width=e||C?"350px":"450px":(null!=b.editor.diagramFileTypes&&(L=FilenameDialog.createFileTypes(b,F,b.editor.diagramFileTypes),L.style.marginLeft=
"6px",L.style.width=e||C?"80px":"180px",N.appendChild(L)),null!=b.editor.fileExtensions&&(C=FilenameDialog.createTypeHint(b,F,b.editor.fileExtensions),C.style.marginTop="12px",N.appendChild(C))));N=!1;var H=0,R=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}),W=mxUtils.button(z||mxResources.get("create"),function(){W.setAttribute("disabled","disabled");M();W.removeAttribute("disabled")});W.className="geBtn gePrimaryBtn";
-if(p||q){var J=[],V=null,U=null,X=null,t=function(fa){W.setAttribute("disabled","disabled");for(var sa=0;sa<J.length;sa++)J[sa].className=sa==fa?"geBtn gePrimaryBtn":"geBtn"};N=!0;z=document.createElement("div");z.style.whiteSpace="nowrap";z.style.height="30px";G.appendChild(z);C=mxUtils.button(mxResources.get("Templates",null,"Templates"),function(){Aa.style.display="";ja.style.display="";Z.style.left="160px";t(0);Z.scrollTop=0;Z.innerHTML="";H=0;V!=Ma&&(Ma=V,pa=U,Ka=X,Aa.innerHTML="",B(),V=null)});
+if(p||q){var J=[],V=null,U=null,X=null,t=function(fa){W.setAttribute("disabled","disabled");for(var sa=0;sa<J.length;sa++)J[sa].className=sa==fa?"geBtn gePrimaryBtn":"geBtn"};N=!0;z=document.createElement("div");z.style.whiteSpace="nowrap";z.style.height="30px";G.appendChild(z);C=mxUtils.button(mxResources.get("Templates",null,"Templates"),function(){Aa.style.display="";ja.style.display="";Z.style.left="160px";t(0);Z.scrollTop=0;Z.innerHTML="";H=0;V!=Ma&&(Ma=V,oa=U,Ka=X,Aa.innerHTML="",B(),V=null)});
J.push(C);z.appendChild(C);var E=function(fa){Aa.style.display="none";ja.style.display="none";Z.style.left="30px";t(fa?-1:1);null==V&&(V=Ma);Z.scrollTop=0;Z.innerHTML="";R.spin(Z);var sa=function(xa,wa,ua){H=0;R.stop();Ma=xa;ua=ua||{};var va=0,ia;for(ia in ua)va+=ua[ia].length;if(wa)Z.innerHTML=wa;else if(0==xa.length&&0==va)Z.innerHTML=mxUtils.htmlEntities(mxResources.get("noDiagrams",null,"No Diagrams Found"));else if(Z.innerHTML="",0<va){Aa.style.display="";Z.style.left="160px";Aa.innerHTML="";
-Ka=0;pa={"draw.io":xa};for(ia in ua)pa[ia]=ua[ia];B()}else O(!0)};fa?q(K.value,sa):p(sa)};p&&(C=mxUtils.button(mxResources.get("Recent",null,"Recent"),function(){E()}),z.appendChild(C),J.push(C));if(q){C=document.createElement("span");C.style.marginLeft="10px";C.innerHTML=mxUtils.htmlEntities(mxResources.get("search")+":");z.appendChild(C);var K=document.createElement("input");K.style.marginRight="10px";K.style.marginLeft="10px";K.style.width="220px";mxEvent.addListener(K,"keypress",function(fa){13==
+Ka=0;oa={"draw.io":xa};for(ia in ua)oa[ia]=ua[ia];B()}else O(!0)};fa?q(K.value,sa):p(sa)};p&&(C=mxUtils.button(mxResources.get("Recent",null,"Recent"),function(){E()}),z.appendChild(C),J.push(C));if(q){C=document.createElement("span");C.style.marginLeft="10px";C.innerHTML=mxUtils.htmlEntities(mxResources.get("search")+":");z.appendChild(C);var K=document.createElement("input");K.style.marginRight="10px";K.style.marginLeft="10px";K.style.width="220px";mxEvent.addListener(K,"keypress",function(fa){13==
fa.keyCode&&E(!0)});z.appendChild(K);C=mxUtils.button(mxResources.get("search"),function(){E(!0)});C.className="geBtn";z.appendChild(C)}t(0)}var T=null,P=null,Q=null,S=null,Y=null,ba=null,da=null,Z=document.createElement("div");Z.style.border="1px solid #d3d3d3";Z.style.position="absolute";Z.style.left="160px";Z.style.right="34px";z=(f?72:40)+(N?30:0);Z.style.top=z+"px";Z.style.bottom="68px";Z.style.margin="6px 0 0 -1px";Z.style.padding="6px";Z.style.overflow="auto";var ja=document.createElement("div");
ja.style.cssText="position:absolute;left:30px;width:128px;top:"+z+"px;height:22px;margin-top: 6px;white-space: nowrap";var ea=document.createElement("input");ea.style.cssText="width:105px;height:16px;border:1px solid #d3d3d3;padding: 3px 20px 3px 3px;font-size: 12px";ea.setAttribute("placeholder",mxResources.get("search"));ea.setAttribute("type","text");ja.appendChild(ea);var ha=document.createElement("img"),ma="undefined"!=typeof Sidebar?Sidebar.prototype.searchImage:IMAGE_PATH+"/search.png";ha.setAttribute("src",
ma);ha.setAttribute("title",mxResources.get("search"));ha.style.position="relative";ha.style.left="-18px";ha.style.top="1px";ha.style.background="url('"+b.editor.transparentImage+"')";ja.appendChild(ha);mxEvent.addListener(ha,"click",function(){ha.getAttribute("src")==Dialog.prototype.closeImage&&(ha.setAttribute("src",ma),ha.setAttribute("title",mxResources.get("search")),ea.value="",null!=Ia&&(Ia.click(),Ia=null));ea.focus()});mxEvent.addListener(ea,"keydown",mxUtils.bind(this,function(fa){if(13==
-fa.keyCode){var sa=ea.value;if(""==sa)null!=Ia&&(Ia.click(),Ia=null);else{if(null==NewDialog.tagsList[l]){var xa={};for(na in pa)for(var wa=pa[na],ua=0;ua<wa.length;ua++){var va=wa[ua];if(null!=va.tags)for(var ia=va.tags.toLowerCase().split(";"),ra=0;ra<ia.length;ra++)null==xa[ia[ra]]&&(xa[ia[ra]]=[]),xa[ia[ra]].push(va)}NewDialog.tagsList[l]=xa}var aa=sa.toLowerCase().split(" ");xa=NewDialog.tagsList[l];if(0<Ka&&null==xa.__tagsList__){for(na in Ea)for(wa=Ea[na],ua=0;ua<wa.length;ua++)for(va=wa[ua],
+fa.keyCode){var sa=ea.value;if(""==sa)null!=Ia&&(Ia.click(),Ia=null);else{if(null==NewDialog.tagsList[l]){var xa={};for(na in oa)for(var wa=oa[na],ua=0;ua<wa.length;ua++){var va=wa[ua];if(null!=va.tags)for(var ia=va.tags.toLowerCase().split(";"),ra=0;ra<ia.length;ra++)null==xa[ia[ra]]&&(xa[ia[ra]]=[]),xa[ia[ra]].push(va)}NewDialog.tagsList[l]=xa}var aa=sa.toLowerCase().split(" ");xa=NewDialog.tagsList[l];if(0<Ka&&null==xa.__tagsList__){for(na in Ea)for(wa=Ea[na],ua=0;ua<wa.length;ua++)for(va=wa[ua],
ia=va.title.split(" "),ia.push(na),ra=0;ra<ia.length;ra++){var ca=ia[ra].toLowerCase();null==xa[ca]&&(xa[ca]=[]);xa[ca].push(va)}xa.__tagsList__=!0}var na=[];wa={};for(ua=ia=0;ua<aa.length;ua++)if(0<aa[ua].length){ca=xa[aa[ua]];var la={};na=[];if(null!=ca)for(ra=0;ra<ca.length;ra++)va=ca[ra],0==ia==(null==wa[va.url])&&(la[va.url]=!0,na.push(va));wa=la;ia++}Z.scrollTop=0;Z.innerHTML="";H=0;xa=document.createElement("div");xa.style.cssText="border: 1px solid #D3D3D3; padding: 6px; background: #F5F5F5;";
mxUtils.write(xa,mxResources.get(0==na.length?"noResultsFor":"resultsFor",[sa]));Z.appendChild(xa);null!=Ha&&null==Ia&&(Ha.style.backgroundColor="",Ia=Ha,Ha=xa);Ma=na;V=null;O(!1)}mxEvent.consume(fa)}}));mxEvent.addListener(ea,"keyup",mxUtils.bind(this,function(fa){""==ea.value?(ha.setAttribute("src",ma),ha.setAttribute("title",mxResources.get("search"))):(ha.setAttribute("src",Dialog.prototype.closeImage),ha.setAttribute("title",mxResources.get("reset")))}));z+=23;var Aa=document.createElement("div");
-Aa.style.cssText="position:absolute;left:30px;width:128px;top:"+z+"px;bottom:68px;margin-top:6px;overflow:auto;border:1px solid #d3d3d3;";mxEvent.addListener(Z,"scroll",function(){b.sidebar.hideTooltip()});var Da=140,Ca=140,pa={},Ba={},Ea={},Ka=0,Fa=!0,Ha=null,Ia=null;pa.basic=[{title:"blankDiagram",select:!0}];var Ma=pa.basic;if(!e){var za=function(){mxUtils.get(oa,function(fa){if(!ya){ya=!0;fa=fa.getXml().documentElement.firstChild;for(var sa={};null!=fa;){if("undefined"!==typeof fa.getAttribute)if("clibs"==
-fa.nodeName){for(var xa=fa.getAttribute("name"),wa=fa.getElementsByTagName("add"),ua=[],va=0;va<wa.length;va++)ua.push(encodeURIComponent(mxUtils.getTextContent(wa[va])));null!=xa&&0<ua.length&&(sa[xa]=ua.join(";"))}else if(ua=fa.getAttribute("url"),null!=ua){wa=fa.getAttribute("section");xa=fa.getAttribute("subsection");if(null==wa&&(va=ua.indexOf("/"),wa=ua.substring(0,va),null==xa)){var ia=ua.indexOf("/",va+1);-1<ia&&(xa=ua.substring(va+1,ia))}va=pa[wa];null==va&&(va=[],pa[wa]=va);ua=fa.getAttribute("clibs");
-null!=sa[ua]&&(ua=sa[ua]);ua={url:fa.getAttribute("url"),libs:fa.getAttribute("libs"),title:fa.getAttribute("title"),tooltip:fa.getAttribute("name")||fa.getAttribute("url"),preview:fa.getAttribute("preview"),clibs:ua,tags:fa.getAttribute("tags")};va.push(ua);null!=xa&&(va=Ba[wa],null==va&&(va={},Ba[wa]=va),wa=va[xa],null==wa&&(wa=[],va[xa]=wa),wa.push(ua))}fa=fa.nextSibling}R.stop();B()}})};G.appendChild(ja);G.appendChild(Aa);G.appendChild(Z);var ya=!1,oa=l;/^https?:\/\//.test(oa)&&!b.editor.isCorsEnabledForUrl(oa)&&
-(oa=PROXY_URL+"?url="+encodeURIComponent(oa));R.spin(Z);null!=A?A(function(fa,sa){Ea=fa;X=Ka=sa;za()},za):za();U=pa}mxEvent.addListener(F,"keypress",function(fa){b.dialog.container.firstChild==G&&13==fa.keyCode&&M()});A=document.createElement("div");A.style.marginTop=e?"4px":"16px";A.style.textAlign="right";A.style.position="absolute";A.style.left="40px";A.style.bottom="24px";A.style.right="40px";e||b.isOffline()||!f||null!=c||m||(z=mxUtils.button(mxResources.get("help"),function(){b.openLink("https://support.draw.io/display/DO/Creating+and+Opening+Files")}),
+Aa.style.cssText="position:absolute;left:30px;width:128px;top:"+z+"px;bottom:68px;margin-top:6px;overflow:auto;border:1px solid #d3d3d3;";mxEvent.addListener(Z,"scroll",function(){b.sidebar.hideTooltip()});var Da=140,Ca=140,oa={},Ba={},Ea={},Ka=0,Fa=!0,Ha=null,Ia=null;oa.basic=[{title:"blankDiagram",select:!0}];var Ma=oa.basic;if(!e){var za=function(){mxUtils.get(pa,function(fa){if(!ya){ya=!0;fa=fa.getXml().documentElement.firstChild;for(var sa={};null!=fa;){if("undefined"!==typeof fa.getAttribute)if("clibs"==
+fa.nodeName){for(var xa=fa.getAttribute("name"),wa=fa.getElementsByTagName("add"),ua=[],va=0;va<wa.length;va++)ua.push(encodeURIComponent(mxUtils.getTextContent(wa[va])));null!=xa&&0<ua.length&&(sa[xa]=ua.join(";"))}else if(ua=fa.getAttribute("url"),null!=ua){wa=fa.getAttribute("section");xa=fa.getAttribute("subsection");if(null==wa&&(va=ua.indexOf("/"),wa=ua.substring(0,va),null==xa)){var ia=ua.indexOf("/",va+1);-1<ia&&(xa=ua.substring(va+1,ia))}va=oa[wa];null==va&&(va=[],oa[wa]=va);ua=fa.getAttribute("clibs");
+null!=sa[ua]&&(ua=sa[ua]);ua={url:fa.getAttribute("url"),libs:fa.getAttribute("libs"),title:fa.getAttribute("title"),tooltip:fa.getAttribute("name")||fa.getAttribute("url"),preview:fa.getAttribute("preview"),clibs:ua,tags:fa.getAttribute("tags")};va.push(ua);null!=xa&&(va=Ba[wa],null==va&&(va={},Ba[wa]=va),wa=va[xa],null==wa&&(wa=[],va[xa]=wa),wa.push(ua))}fa=fa.nextSibling}R.stop();B()}})};G.appendChild(ja);G.appendChild(Aa);G.appendChild(Z);var ya=!1,pa=l;/^https?:\/\//.test(pa)&&!b.editor.isCorsEnabledForUrl(pa)&&
+(pa=PROXY_URL+"?url="+encodeURIComponent(pa));R.spin(Z);null!=A?A(function(fa,sa){Ea=fa;X=Ka=sa;za()},za):za();U=oa}mxEvent.addListener(F,"keypress",function(fa){b.dialog.container.firstChild==G&&13==fa.keyCode&&M()});A=document.createElement("div");A.style.marginTop=e?"4px":"16px";A.style.textAlign="right";A.style.position="absolute";A.style.left="40px";A.style.bottom="24px";A.style.right="40px";e||b.isOffline()||!f||null!=c||m||(z=mxUtils.button(mxResources.get("help"),function(){b.openLink("https://support.draw.io/display/DO/Creating+and+Opening+Files")}),
z.className="geBtn",A.appendChild(z));z=mxUtils.button(mxResources.get("cancel"),function(){null!=n&&n();b.hideDialog(!0)});z.className="geBtn";!b.editor.cancelFirst||m&&null==n||A.appendChild(z);e||"1"==urlParams.embed||m||mxClient.IS_ANDROID||mxClient.IS_IOS||"1"==urlParams.noDevice||(e=mxUtils.button(mxResources.get("fromTemplateUrl"),function(){var fa=new FilenameDialog(b,"",mxResources.get("create"),function(sa){null!=sa&&0<sa.length&&(sa=b.getUrl(window.location.pathname+"?mode="+b.mode+"&title="+
encodeURIComponent(F.value)+"&create="+encodeURIComponent(sa)),null==b.getCurrentFile()?window.location.href=sa:window.openWindow(sa))},mxResources.get("url"));b.showDialog(fa.container,300,80,!0,!0);fa.init()}),e.className="geBtn",A.appendChild(e));Graph.fileSupport&&y&&(y=mxUtils.button(mxResources.get("import"),function(){if(null==b.newDlgFileInputElt){var fa=document.createElement("input");fa.setAttribute("multiple","multiple");fa.setAttribute("type","file");mxEvent.addListener(fa,"change",function(sa){b.openFiles(fa.files,
!0);fa.value=""});fa.style.display="none";document.body.appendChild(fa);b.newDlgFileInputElt=fa}b.newDlgFileInputElt.click()}),y.className="geBtn",A.appendChild(y));A.appendChild(W);b.editor.cancelFirst||null!=c||m&&null==n||A.appendChild(z);G.appendChild(A);this.container=G};NewDialog.tagsList={};
@@ -11358,18 +11358,18 @@ ea.appendChild(la)}for(qa=0;qa<ia.length;qa++){ia[qa].isExternal=!ra;var ka=ia[q
La.innerHTML=Sa;Ga.appendChild(La);La=document.createElement("td");La.innerHTML=Ra;Ga.appendChild(La);la.appendChild(Ga);null==E&&(D(ra),M(Ga,"geTempDlgDiagramsListGridActive",ia[qa]));(function(Oa,Ta,Ua){mxEvent.addListener(Ga,"click",function(){E!=Ta&&(D(ra),M(Ta,"geTempDlgDiagramsListGridActive",Oa))});mxEvent.addListener(Ga,"dblclick",u);mxEvent.addListener(Na,"click",function(Za){O(Oa,Ta,Ua,Za)})})(ia[qa],Ga,Na)}else{var Pa=document.createElement("div");Pa.className="geTempDlgDiagramTile";Pa.setAttribute("title",
Ja);null==E&&(D(ra),M(Pa,"geTempDlgDiagramTileActive",ia[qa]));Sa=document.createElement("div");Sa.className="geTempDlgDiagramTileImg geTempDlgDiagramTileImgLoading";var Qa=document.createElement("img");Qa.style.display="none";(function(Oa,Ta,Ua){Qa.onload=function(){Ta.className="geTempDlgDiagramTileImg";Oa.style.display=""};Qa.onerror=function(){this.src!=Ua?this.src=Ua:Ta.className="geTempDlgDiagramTileImg geTempDlgDiagramTileImgError"}})(Qa,Sa,La?La.replace(".drawio.xml","").replace(".drawio",
"").replace(".xml",""):"");Qa.src=La;Sa.appendChild(Qa);Pa.appendChild(Sa);Sa=document.createElement("div");Sa.className="geTempDlgDiagramTileLbl";Sa.innerHTML=null!=ta?ta:"";Pa.appendChild(Sa);Na=document.createElement("img");Na.src="/images/icon-search.svg";Na.className="geTempDlgDiagramPreviewBtn";Na.setAttribute("title",mxResources.get("preview"));na||Pa.appendChild(Na);(function(Oa,Ta,Ua){mxEvent.addListener(Pa,"click",function(){E!=Ta&&(D(ra),M(Ta,"geTempDlgDiagramTileActive",Oa))});mxEvent.addListener(Pa,
-"dblclick",u);mxEvent.addListener(Na,"click",function(Za){O(Oa,Ta,Ua,Za)})})(ia[qa],Pa,Na);ea.appendChild(Pa)}}for(var Ya in ca)ia=ca[Ya],0<ia.length&&(na=document.createElement("div"),na.className="geTempDlgImportCat",na.innerHTML=mxResources.get(Ya,null,Ya),ea.appendChild(na),B(ia,ra,aa,null,!0))}function C(ia,ra){pa.innerHTML="";M();var aa=Math.floor(pa.offsetWidth/150)-1;ra=!ra&&ia.length>aa?aa:ia.length;for(var ca=0;ca<ra;ca++){var na=ia[ca];na.isCategory=!0;var la=document.createElement("div"),
+"dblclick",u);mxEvent.addListener(Na,"click",function(Za){O(Oa,Ta,Ua,Za)})})(ia[qa],Pa,Na);ea.appendChild(Pa)}}for(var Ya in ca)ia=ca[Ya],0<ia.length&&(na=document.createElement("div"),na.className="geTempDlgImportCat",na.innerHTML=mxResources.get(Ya,null,Ya),ea.appendChild(na),B(ia,ra,aa,null,!0))}function C(ia,ra){oa.innerHTML="";M();var aa=Math.floor(oa.offsetWidth/150)-1;ra=!ra&&ia.length>aa?aa:ia.length;for(var ca=0;ca<ra;ca++){var na=ia[ca];na.isCategory=!0;var la=document.createElement("div"),
qa=mxResources.get(na.title);null==qa&&(qa=na.title.substring(0,1).toUpperCase()+na.title.substring(1));la.className="geTempDlgNewDiagramCatItem";la.setAttribute("title",qa);qa=mxUtils.htmlEntities(qa);15<qa.length&&(qa=qa.substring(0,15)+"&hellip;");null==E&&(D(!0),M(la,"geTempDlgNewDiagramCatItemActive",na));var ta=document.createElement("div");ta.className="geTempDlgNewDiagramCatItemImg";var ka=document.createElement("img");ka.src=NEW_DIAGRAM_CATS_PATH+"/"+na.img;ta.appendChild(ka);la.appendChild(ta);
-ta=document.createElement("div");ta.className="geTempDlgNewDiagramCatItemLbl";ta.innerHTML=qa;la.appendChild(ta);pa.appendChild(la);(function(Ja,La){mxEvent.addListener(la,"click",function(){E!=La&&(D(!0),M(La,"geTempDlgNewDiagramCatItemActive",Ja))});mxEvent.addListener(la,"dblclick",u)})(na,la)}la=document.createElement("div");la.className="geTempDlgNewDiagramCatItem";qa=mxResources.get("showAllTemps");la.setAttribute("title",qa);ta=document.createElement("div");ta.className="geTempDlgNewDiagramCatItemImg";
-ta.innerHTML="...";ta.style.fontSize="32px";la.appendChild(ta);ta=document.createElement("div");ta.className="geTempDlgNewDiagramCatItemLbl";ta.innerHTML=qa;la.appendChild(ta);pa.appendChild(la);mxEvent.addListener(la,"click",function(){function Ja(){var Sa=La.querySelector(".geTemplateDrawioCatLink");null!=Sa?Sa.click():setTimeout(Ja,200)}Z=!0;var La=J.querySelector(".geTemplatesList");La.style.display="block";Aa.style.width="";Ka.style.display="";Ka.value="";ba=null;Ja()});ja.style.display=ia.length<=
+ta=document.createElement("div");ta.className="geTempDlgNewDiagramCatItemLbl";ta.innerHTML=qa;la.appendChild(ta);oa.appendChild(la);(function(Ja,La){mxEvent.addListener(la,"click",function(){E!=La&&(D(!0),M(La,"geTempDlgNewDiagramCatItemActive",Ja))});mxEvent.addListener(la,"dblclick",u)})(na,la)}la=document.createElement("div");la.className="geTempDlgNewDiagramCatItem";qa=mxResources.get("showAllTemps");la.setAttribute("title",qa);ta=document.createElement("div");ta.className="geTempDlgNewDiagramCatItemImg";
+ta.innerHTML="...";ta.style.fontSize="32px";la.appendChild(ta);ta=document.createElement("div");ta.className="geTempDlgNewDiagramCatItemLbl";ta.innerHTML=qa;la.appendChild(ta);oa.appendChild(la);mxEvent.addListener(la,"click",function(){function Ja(){var Sa=La.querySelector(".geTemplateDrawioCatLink");null!=Sa?Sa.click():setTimeout(Ja,200)}Z=!0;var La=J.querySelector(".geTemplatesList");La.style.display="block";Aa.style.width="";Ka.style.display="";Ka.value="";ba=null;Ja()});ja.style.display=ia.length<=
aa?"none":""}function G(ia,ra,aa){function ca(Qa,Ya){var Oa=mxResources.get(Qa);null==Oa&&(Oa=Qa.substring(0,1).toUpperCase()+Qa.substring(1));Qa=Oa+" ("+Ya.length+")";var Ta=Oa=mxUtils.htmlEntities(Oa);15<Oa.length&&(Oa=Oa.substring(0,15)+"&hellip;");return{lbl:Oa+" ("+Ya.length+")",fullLbl:Qa,lblOnly:Ta}}function na(Qa,Ya,Oa,Ta,Ua){mxEvent.addListener(Oa,"click",function(){X!=Oa&&(null!=X?(X.style.fontWeight="normal",X.style.textDecoration="none"):(Ca.style.display="none",Da.style.minHeight="100%"),
-X=Oa,X.style.fontWeight="bold",X.style.textDecoration="underline",Aa.scrollTop=0,V&&(U=!0),ha.innerHTML=Ya,ma.style.display="none",B(Ua?ra[Qa]:Ta?oa[Qa][Ta]:ia[Qa],Ua?!1:!0))})}var la=J.querySelector(".geTemplatesList");if(0<aa){aa=document.createElement("div");aa.style.cssText="font-weight: bold;background: #f9f9f9;padding: 5px 0 5px 0;text-align: center;margin-top: 10px;";mxUtils.write(aa,mxResources.get("custom"));la.appendChild(aa);for(var qa in ra){aa=document.createElement("div");var ta=ra[qa];
-ta=ca(qa,ta);aa.className="geTemplateCatLink";aa.setAttribute("title",ta.fullLbl);aa.innerHTML=ta.lbl;la.appendChild(aa);na(qa,ta.lblOnly,aa,null,!0)}aa=document.createElement("div");aa.style.cssText="font-weight: bold;background: #f9f9f9;padding: 5px 0 5px 0;text-align: center;margin-top: 10px;";mxUtils.write(aa,"draw.io");la.appendChild(aa)}for(qa in ia){var ka=oa[qa],Ja=aa=document.createElement(ka?"ul":"div");ta=ia[qa];ta=ca(qa,ta);if(null!=ka){var La=document.createElement("li"),Sa=document.createElement("div");
+X=Oa,X.style.fontWeight="bold",X.style.textDecoration="underline",Aa.scrollTop=0,V&&(U=!0),ha.innerHTML=Ya,ma.style.display="none",B(Ua?ra[Qa]:Ta?pa[Qa][Ta]:ia[Qa],Ua?!1:!0))})}var la=J.querySelector(".geTemplatesList");if(0<aa){aa=document.createElement("div");aa.style.cssText="font-weight: bold;background: #f9f9f9;padding: 5px 0 5px 0;text-align: center;margin-top: 10px;";mxUtils.write(aa,mxResources.get("custom"));la.appendChild(aa);for(var qa in ra){aa=document.createElement("div");var ta=ra[qa];
+ta=ca(qa,ta);aa.className="geTemplateCatLink";aa.setAttribute("title",ta.fullLbl);aa.innerHTML=ta.lbl;la.appendChild(aa);na(qa,ta.lblOnly,aa,null,!0)}aa=document.createElement("div");aa.style.cssText="font-weight: bold;background: #f9f9f9;padding: 5px 0 5px 0;text-align: center;margin-top: 10px;";mxUtils.write(aa,"draw.io");la.appendChild(aa)}for(qa in ia){var ka=pa[qa],Ja=aa=document.createElement(ka?"ul":"div");ta=ia[qa];ta=ca(qa,ta);if(null!=ka){var La=document.createElement("li"),Sa=document.createElement("div");
Sa.className="geTempTreeCaret geTemplateCatLink geTemplateDrawioCatLink";Sa.style.padding="0";Sa.setAttribute("title",ta.fullLbl);Sa.innerHTML=ta.lbl;Ja=Sa;La.appendChild(Sa);var Ra=document.createElement("ul");Ra.className="geTempTreeNested";Ra.style.visibility="hidden";for(var Ga in ka){var Na=document.createElement("li"),Pa=ca(Ga,ka[Ga]);Na.setAttribute("title",Pa.fullLbl);Na.innerHTML=Pa.lbl;Na.className="geTemplateCatLink";Na.style.padding="0";Na.style.margin="0";na(qa,Pa.lblOnly,Na,Ga);Ra.appendChild(Na)}La.appendChild(Ra);
aa.className="geTempTree";aa.appendChild(La);(function(Qa,Ya){mxEvent.addListener(Ya,"click",function(){for(var Oa=Qa.querySelectorAll("li"),Ta=0;Ta<Oa.length;Ta++)Oa[Ta].style.margin="";Qa.style.visibility="visible";Qa.classList.toggle("geTempTreeActive");Qa.classList.toggle("geTempTreeNested")&&setTimeout(function(){for(var Ua=0;Ua<Oa.length;Ua++)Oa[Ua].style.margin="0";Qa.style.visibility="hidden"},250);Ya.classList.toggle("geTempTreeCaret-down")})})(Ra,Sa)}else aa.className="geTemplateCatLink geTemplateDrawioCatLink",
aa.setAttribute("title",ta.fullLbl),aa.innerHTML=ta.lbl;la.appendChild(aa);na(qa,ta.lblOnly,Ja)}}function N(){mxUtils.get(c,function(ia){if(!Ma){Ma=!0;ia=ia.getXml().documentElement.firstChild;for(var ra={};null!=ia;){if("undefined"!==typeof ia.getAttribute)if("clibs"==ia.nodeName){for(var aa=ia.getAttribute("name"),ca=ia.getElementsByTagName("add"),na=[],la=0;la<ca.length;la++)na.push(encodeURIComponent(mxUtils.getTextContent(ca[la])));null!=aa&&0<na.length&&(ra[aa]=na.join(";"))}else if(na=ia.getAttribute("url"),
null!=na){ca=ia.getAttribute("section");aa=ia.getAttribute("subsection");if(null==ca&&(la=na.indexOf("/"),ca=na.substring(0,la),null==aa)){var qa=na.indexOf("/",la+1);-1<qa&&(aa=na.substring(la+1,qa))}la=ya[ca];null==la&&(xa++,la=[],ya[ca]=la);na=ia.getAttribute("clibs");null!=ra[na]&&(na=ra[na]);na={url:ia.getAttribute("url"),libs:ia.getAttribute("libs"),title:ia.getAttribute("title")||ia.getAttribute("name"),preview:ia.getAttribute("preview"),clibs:na,tags:ia.getAttribute("tags")};la.push(na);null!=
-aa&&(la=oa[ca],null==la&&(la={},oa[ca]=la),ca=la[aa],null==ca&&(ca=[],la[aa]=ca),ca.push(na))}ia=ia.nextSibling}G(ya,fa,wa)}})}function I(ia){v&&(Aa.scrollTop=0,ea.innerHTML="",Ha.spin(ea),U=!1,V=!0,ha.innerHTML=mxUtils.htmlEntities(mxResources.get("recentDiag")),ba=null,v(ua,function(){z(mxResources.get("cannotLoad"));ua([])},ia?null:n))}function F(ia){if(""==ia)null!=t&&(t.click(),t=null);else{if(null==TemplatesDialog.tagsList[c]){var ra={};for(Ja in ya)for(var aa=ya[Ja],ca=0;ca<aa.length;ca++){var na=
+aa&&(la=pa[ca],null==la&&(la={},pa[ca]=la),ca=la[aa],null==ca&&(ca=[],la[aa]=ca),ca.push(na))}ia=ia.nextSibling}G(ya,fa,wa)}})}function I(ia){v&&(Aa.scrollTop=0,ea.innerHTML="",Ha.spin(ea),U=!1,V=!0,ha.innerHTML=mxUtils.htmlEntities(mxResources.get("recentDiag")),ba=null,v(ua,function(){z(mxResources.get("cannotLoad"));ua([])},ia?null:n))}function F(ia){if(""==ia)null!=t&&(t.click(),t=null);else{if(null==TemplatesDialog.tagsList[c]){var ra={};for(Ja in ya)for(var aa=ya[Ja],ca=0;ca<aa.length;ca++){var na=
aa[ca];if(null!=na.tags)for(var la=na.tags.toLowerCase().split(";"),qa=0;qa<la.length;qa++)null==ra[la[qa]]&&(ra[la[qa]]=[]),ra[la[qa]].push(na)}TemplatesDialog.tagsList[c]=ra}var ta=ia.toLowerCase().split(" ");ra=TemplatesDialog.tagsList[c];if(0<wa&&null==ra.__tagsList__){for(Ja in fa)for(aa=fa[Ja],ca=0;ca<aa.length;ca++)for(na=aa[ca],la=na.title.split(" "),la.push(Ja),qa=0;qa<la.length;qa++){var ka=la[qa].toLowerCase();null==ra[ka]&&(ra[ka]=[]);ra[ka].push(na)}ra.__tagsList__=!0}var Ja=[];aa={};
for(ca=la=0;ca<ta.length;ca++)if(0<ta[ca].length){ka=ra[ta[ca]];var La={};Ja=[];if(null!=ka)for(qa=0;qa<ka.length;qa++)na=ka[qa],0==la==(null==aa[na.url])&&(La[na.url]=!0,Ja.push(na));aa=La;la++}0==Ja.length?ha.innerHTML=mxResources.get("noResultsFor",[ia]):B(Ja,!0)}}function H(ia){if(ba!=ia||P!=da)A(),Aa.scrollTop=0,ea.innerHTML="",ha.innerHTML=mxUtils.htmlEntities(mxResources.get("searchResults"))+' "'+mxUtils.htmlEntities(ia)+'"',va=null,Z?F(ia):d&&(ia?(Ha.spin(ea),U=!1,V=!0,d(ia,ua,function(){z(mxResources.get("searchFailed"));
ua([])},P?null:n)):I(P)),ba=ia,da=P}function R(ia){null!=va&&clearTimeout(va);13==ia.keyCode?H(Ka.value):va=setTimeout(function(){H(Ka.value)},1E3)}var W='<div class="geTempDlgHeader"><img src="/images/draw.io-logo.svg" class="geTempDlgHeaderLogo"><input type="search" class="geTempDlgSearchBox" '+(d?"":'style="display: none"')+' placeholder="'+mxResources.get("search")+'"></div><div class="geTemplatesList" style="display: none"><div class="geTempDlgBack">&lt; '+mxResources.get("back")+'</div><div class="geTempDlgHLine"></div><div class="geTemplatesLbl">'+
@@ -11377,10 +11377,10 @@ mxResources.get("templates")+'</div></div><div class="geTempDlgContent" style="w
mxResources.get("myDiagrams")+'</span></div><div class="geTempDlgRadioBtn geTempDlgRadioBtnLarge geTempDlgRadioBtnActive" data-id="allDiagramsBtn"><img src="/images/all-diagrams-sel.svg" class="geTempDlgAllDiagramsBtnImg"> <span>'+mxResources.get("allDiagrams")+'</span></div><div class="geTempDlgSpacer"> </div><div class="geTempDlgRadioBtn geTempDlgRadioBtnSmall geTempDlgRadioBtnActive" data-id="tilesBtn"><img src="/images/tiles-sel.svg" class="geTempDlgTilesBtnImg"></div><div class="geTempDlgRadioBtn geTempDlgRadioBtnSmall" data-id="listBtn"><img src="/images/list.svg" class="geTempDlgListBtnImg"></div></div></div><div class="geTempDlgDiagramsTiles"></div></div></div><br style="clear:both;"/><div class="geTempDlgFooter"><div class="geTempDlgErrMsg"></div>'+
(q?'<span class="geTempDlgLinkToDiagram geTempDlgLinkToDiagramHint">'+mxResources.get("linkToDiagramHint")+'</span><button class="geTempDlgLinkToDiagram geTempDlgLinkToDiagramBtn">'+mxResources.get("linkToDiagram")+"</button>":"")+(p?'<div class="geTempDlgOpenBtn">'+mxResources.get("open")+"</div>":"")+'<div class="geTempDlgCreateBtn">'+mxResources.get("create")+'</div><div class="geTempDlgCancelBtn">'+mxResources.get("cancel")+"</div></div>",J=document.createElement("div");J.innerHTML=W;J.className=
"geTemplateDlg";this.container=J;c=null!=c?c:TEMPLATE_PATH+"/index.xml";m=null!=m?m:NEW_DIAGRAM_CATS_PATH+"/index.xml";var V=!1,U=!1,X=null,t=null,E=null,K=null,T=!1,P=!0,Q=!1,S=[],Y=null,ba,da,Z=!1,ja=J.querySelector(".geTempDlgShowAllBtn"),ea=J.querySelector(".geTempDlgDiagramsTiles"),ha=J.querySelector(".geTempDlgDiagramsListTitle"),ma=J.querySelector(".geTempDlgDiagramsListBtns"),Aa=J.querySelector(".geTempDlgContent"),Da=J.querySelector(".geTempDlgDiagramsList"),Ca=J.querySelector(".geTempDlgNewDiagramCat"),
-pa=J.querySelector(".geTempDlgNewDiagramCatList"),Ba=J.querySelector(".geTempDlgCreateBtn"),Ea=J.querySelector(".geTempDlgOpenBtn"),Ka=J.querySelector(".geTempDlgSearchBox"),Fa=J.querySelector(".geTempDlgErrMsg"),Ha=new Spinner({lines:12,length:10,width:5,radius:10,rotate:0,color:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"50px",zIndex:2E9});mxEvent.addListener(J.querySelector(".geTempDlgBack"),"click",function(){A();Z=!1;J.querySelector(".geTemplatesList").style.display="none";Aa.style.width=
+oa=J.querySelector(".geTempDlgNewDiagramCatList"),Ba=J.querySelector(".geTempDlgCreateBtn"),Ea=J.querySelector(".geTempDlgOpenBtn"),Ka=J.querySelector(".geTempDlgSearchBox"),Fa=J.querySelector(".geTempDlgErrMsg"),Ha=new Spinner({lines:12,length:10,width:5,radius:10,rotate:0,color:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"50px",zIndex:2E9});mxEvent.addListener(J.querySelector(".geTempDlgBack"),"click",function(){A();Z=!1;J.querySelector(".geTemplatesList").style.display="none";Aa.style.width=
"100%";Ca.style.display="";Da.style.minHeight="calc(100% - 280px)";Ka.style.display=d?"":"none";Ka.value="";ba=null;I(P)});mxEvent.addListener(J.querySelector(".geTempDlgRadioBtn[data-id=allDiagramsBtn]"),"click",function(){L(this,"geTempDlgAllDiagramsBtnImg","all-diagrams","myDiagramsBtn","geTempDlgMyDiagramsBtnImg","my-diagrams",!0)&&(P=!0,null==ba?I(P):H(ba))});mxEvent.addListener(J.querySelector(".geTempDlgRadioBtn[data-id=myDiagramsBtn]"),"click",function(){L(this,"geTempDlgMyDiagramsBtnImg",
"my-diagrams","allDiagramsBtn","geTempDlgAllDiagramsBtnImg","all-diagrams",!0)&&(P=!1,null==ba?I(P):H(ba))});mxEvent.addListener(J.querySelector(".geTempDlgRadioBtn[data-id=listBtn]"),"click",function(){L(this,"geTempDlgListBtnImg","list","tilesBtn","geTempDlgTilesBtnImg","tiles",!1)&&(Q=!0,B(S,!1,Q,Y))});mxEvent.addListener(J.querySelector(".geTempDlgRadioBtn[data-id=tilesBtn]"),"click",function(){L(this,"geTempDlgTilesBtnImg","tiles","listBtn","geTempDlgListBtnImg","list",!1)&&(Q=!1,B(S,!1,Q,Y))});
-var Ia=!1;mxEvent.addListener(ja,"click",function(){T?(Ca.style.height="280px",pa.style.height="190px",ja.innerHTML=mxUtils.htmlEntities(mxResources.get("showMore")),C(sa)):(Ca.style.height="440px",pa.style.height="355px",ja.innerHTML=mxUtils.htmlEntities(mxResources.get("showLess")),C(sa,!0));T=!T});var Ma=!1,za=!1,ya={},oa={},fa={},sa=[],xa=1,wa=0;null!=l?l(function(ia,ra){fa=ia;wa=ra;N()},N):N();mxUtils.get(m,function(ia){if(!za){za=!0;for(ia=ia.getXml().documentElement.firstChild;null!=ia;)"undefined"!==
+var Ia=!1;mxEvent.addListener(ja,"click",function(){T?(Ca.style.height="280px",oa.style.height="190px",ja.innerHTML=mxUtils.htmlEntities(mxResources.get("showMore")),C(sa)):(Ca.style.height="440px",oa.style.height="355px",ja.innerHTML=mxUtils.htmlEntities(mxResources.get("showLess")),C(sa,!0));T=!T});var Ma=!1,za=!1,ya={},pa={},fa={},sa=[],xa=1,wa=0;null!=l?l(function(ia,ra){fa=ia;wa=ra;N()},N):N();mxUtils.get(m,function(ia){if(!za){za=!0;for(ia=ia.getXml().documentElement.firstChild;null!=ia;)"undefined"!==
typeof ia.getAttribute&&null!=ia.getAttribute("title")&&sa.push({img:ia.getAttribute("img"),libs:ia.getAttribute("libs"),clibs:ia.getAttribute("clibs"),title:ia.getAttribute("title")}),ia=ia.nextSibling;C(sa)}});var ua=function(ia,ra,aa){ma.style.display="";Ha.stop();V=!1;if(U)U=!1;else if(ra)ea.innerHTML=ra;else{aa=aa||{};ra=0;for(var ca in aa)ra+=aa[ca].length;0==ia.length&&0==ra?ea.innerHTML=mxUtils.htmlEntities(mxResources.get("noDiagrams")):B(ia,!1,Q,0==ra?null:aa)}};I(P);var va=null;mxEvent.addListener(Ka,
"keyup",R);mxEvent.addListener(Ka,"search",R);mxEvent.addListener(Ka,"input",R);mxEvent.addListener(Ba,"click",function(ia){u(!1,!1)});p&&mxEvent.addListener(Ea,"click",function(ia){u(!1,!0)});q&&mxEvent.addListener(J.querySelector(".geTempDlgLinkToDiagramBtn"),"click",function(ia){u(!0)});mxEvent.addListener(J.querySelector(".geTempDlgCancelBtn"),"click",function(){null!=f&&f();y||b.hideDialog(!0)})};TemplatesDialog.tagsList={};
var BtnDialog=function(b,e,f,c){var m=document.createElement("div");m.style.textAlign="center";var n=document.createElement("p");n.style.fontSize="16pt";n.style.padding="0px";n.style.margin="0px";n.style.color="gray";mxUtils.write(n,mxResources.get("done"));var v="Unknown",d=document.createElement("img");d.setAttribute("border","0");d.setAttribute("align","absmiddle");d.style.marginRight="10px";e==b.drive?(v=mxResources.get("googleDrive"),d.src=IMAGE_PATH+"/google-drive-logo-white.svg"):e==b.dropbox?
@@ -11547,10 +11547,10 @@ function(ea){T--;P()}),!0,null,"data:"+Z+";charset=utf-8;base64,")}))}})(Editor.
function(t){var E=this.graph.getCustomFonts();if(0<E.length){var K=[],T=0;null==this.cachedGoogleFonts&&(this.cachedGoogleFonts=this.createGoogleFontCache());for(var P=mxUtils.bind(this,function(){0==T&&this.embedCssFonts(K.join(""),t)}),Q=0;Q<E.length;Q++)mxUtils.bind(this,function(S,Y){Graph.isCssFontUrl(Y)?null==this.cachedGoogleFonts[Y]?(T++,this.loadUrl(Y,mxUtils.bind(this,function(ba){this.cachedGoogleFonts[Y]=ba;K.push(ba+"\n");T--;P()}),mxUtils.bind(this,function(ba){T--;K.push("@import url("+
Y+");\n");P()}))):K.push(this.cachedGoogleFonts[Y]+"\n"):K.push('@font-face {font-family: "'+S+'";src: url("'+Y+'")}\n')})(E[Q].name,E[Q].url);P()}else t()};Editor.prototype.addMathCss=function(t){t=t.getElementsByTagName("defs");if(null!=t&&0<t.length)for(var E=document.getElementsByTagName("style"),K=0;K<E.length;K++){var T=mxUtils.getTextContent(E[K]);0>T.indexOf("mxPageSelector")&&0<T.indexOf("MathJax")&&t[0].appendChild(E[K].cloneNode(!0))}};Editor.prototype.addFontCss=function(t,E){E=null!=
E?E:this.absoluteCssFonts(this.fontCss);if(null!=E){var K=t.getElementsByTagName("defs"),T=t.ownerDocument;0==K.length?(K=null!=T.createElementNS?T.createElementNS(mxConstants.NS_SVG,"defs"):T.createElement("defs"),null!=t.firstChild?t.insertBefore(K,t.firstChild):t.appendChild(K)):K=K[0];t=null!=T.createElementNS?T.createElementNS(mxConstants.NS_SVG,"style"):T.createElement("style");t.setAttribute("type","text/css");mxUtils.setTextContent(t,E);K.appendChild(t)}};Editor.prototype.isExportToCanvas=
-function(){return mxClient.IS_CHROMEAPP||this.useCanvasForExport};Editor.prototype.getMaxCanvasScale=function(t,E,K){var T=mxClient.IS_FF?8192:16384;return Math.min(K,Math.min(T/t,T/E))};Editor.prototype.exportToCanvas=function(t,E,K,T,P,Q,S,Y,ba,da,Z,ja,ea,ha,ma,Aa,Da,Ca){try{Q=null!=Q?Q:!0;S=null!=S?S:!0;ja=null!=ja?ja:this.graph;ea=null!=ea?ea:0;var pa=ba?null:ja.background;pa==mxConstants.NONE&&(pa=null);null==pa&&(pa=T);null==pa&&0==ba&&(pa=Aa?this.graph.defaultPageBackgroundColor:"#ffffff");
+function(){return mxClient.IS_CHROMEAPP||this.useCanvasForExport};Editor.prototype.getMaxCanvasScale=function(t,E,K){var T=mxClient.IS_FF?8192:16384;return Math.min(K,Math.min(T/t,T/E))};Editor.prototype.exportToCanvas=function(t,E,K,T,P,Q,S,Y,ba,da,Z,ja,ea,ha,ma,Aa,Da,Ca){try{Q=null!=Q?Q:!0;S=null!=S?S:!0;ja=null!=ja?ja:this.graph;ea=null!=ea?ea:0;var oa=ba?null:ja.background;oa==mxConstants.NONE&&(oa=null);null==oa&&(oa=T);null==oa&&0==ba&&(oa=Aa?this.graph.defaultPageBackgroundColor:"#ffffff");
this.convertImages(ja.getSvg(null,null,ea,ha,null,S,null,null,null,da,null,Aa,Da,Ca),mxUtils.bind(this,function(Ba){try{var Ea=new Image;Ea.onload=mxUtils.bind(this,function(){try{var Fa=function(){mxClient.IS_SF?window.setTimeout(function(){za.drawImage(Ea,0,0);t(Ha,Ba)},0):(za.drawImage(Ea,0,0),t(Ha,Ba))},Ha=document.createElement("canvas"),Ia=parseInt(Ba.getAttribute("width")),Ma=parseInt(Ba.getAttribute("height"));Y=null!=Y?Y:1;null!=E&&(Y=Q?Math.min(1,Math.min(3*E/(4*Ma),E/Ia)):E/Ia);Y=this.getMaxCanvasScale(Ia,
-Ma,Y);Ia=Math.ceil(Y*Ia);Ma=Math.ceil(Y*Ma);Ha.setAttribute("width",Ia);Ha.setAttribute("height",Ma);var za=Ha.getContext("2d");null!=pa&&(za.beginPath(),za.rect(0,0,Ia,Ma),za.fillStyle=pa,za.fill());1!=Y&&za.scale(Y,Y);if(ma){var ya=ja.view,oa=ya.scale;ya.scale=1;var fa=btoa(unescape(encodeURIComponent(ya.createSvgGrid(ya.gridColor))));ya.scale=oa;fa="data:image/svg+xml;base64,"+fa;var sa=ja.gridSize*ya.gridSteps*Y,xa=ja.getGraphBounds(),wa=ya.translate.x*oa,ua=ya.translate.y*oa,va=wa+(xa.x-wa)/
-oa-ea,ia=ua+(xa.y-ua)/oa-ea,ra=new Image;ra.onload=function(){try{for(var aa=-Math.round(sa-mxUtils.mod((wa-va)*Y,sa)),ca=-Math.round(sa-mxUtils.mod((ua-ia)*Y,sa));aa<Ia;aa+=sa)for(var na=ca;na<Ma;na+=sa)za.drawImage(ra,aa/Y,na/Y);Fa()}catch(la){null!=P&&P(la)}};ra.onerror=function(aa){null!=P&&P(aa)};ra.src=fa}else Fa()}catch(aa){null!=P&&P(aa)}});Ea.onerror=function(Fa){null!=P&&P(Fa)};da&&this.graph.addSvgShadow(Ba);this.graph.mathEnabled&&this.addMathCss(Ba);var Ka=mxUtils.bind(this,function(){try{null!=
+Ma,Y);Ia=Math.ceil(Y*Ia);Ma=Math.ceil(Y*Ma);Ha.setAttribute("width",Ia);Ha.setAttribute("height",Ma);var za=Ha.getContext("2d");null!=oa&&(za.beginPath(),za.rect(0,0,Ia,Ma),za.fillStyle=oa,za.fill());1!=Y&&za.scale(Y,Y);if(ma){var ya=ja.view,pa=ya.scale;ya.scale=1;var fa=btoa(unescape(encodeURIComponent(ya.createSvgGrid(ya.gridColor))));ya.scale=pa;fa="data:image/svg+xml;base64,"+fa;var sa=ja.gridSize*ya.gridSteps*Y,xa=ja.getGraphBounds(),wa=ya.translate.x*pa,ua=ya.translate.y*pa,va=wa+(xa.x-wa)/
+pa-ea,ia=ua+(xa.y-ua)/pa-ea,ra=new Image;ra.onload=function(){try{for(var aa=-Math.round(sa-mxUtils.mod((wa-va)*Y,sa)),ca=-Math.round(sa-mxUtils.mod((ua-ia)*Y,sa));aa<Ia;aa+=sa)for(var na=ca;na<Ma;na+=sa)za.drawImage(ra,aa/Y,na/Y);Fa()}catch(la){null!=P&&P(la)}};ra.onerror=function(aa){null!=P&&P(aa)};ra.src=fa}else Fa()}catch(aa){null!=P&&P(aa)}});Ea.onerror=function(Fa){null!=P&&P(Fa)};da&&this.graph.addSvgShadow(Ba);this.graph.mathEnabled&&this.addMathCss(Ba);var Ka=mxUtils.bind(this,function(){try{null!=
this.resolvedFontCss&&this.addFontCss(Ba,this.resolvedFontCss),Ea.src=Editor.createSvgDataUri(mxUtils.getXml(Ba))}catch(Fa){null!=P&&P(Fa)}});this.embedExtFonts(mxUtils.bind(this,function(Fa){try{null!=Fa&&this.addFontCss(Ba,Fa),this.loadFonts(Ka)}catch(Ha){null!=P&&P(Ha)}}))}catch(Fa){null!=P&&P(Fa)}}),K,Z)}catch(Ba){null!=P&&P(Ba)}};Editor.crcTable=[];for(var m=0;256>m;m++)for(var n=m,v=0;8>v;v++)n=1==(n&1)?3988292384^n>>>1:n>>>1,Editor.crcTable[m]=n;Editor.updateCRC=function(t,E,K,T){for(var P=
0;P<T;P++)t=Editor.crcTable[(t^E.charCodeAt(K+P))&255]^t>>>8;return t};Editor.crc32=function(t){for(var E=-1,K=0;K<t.length;K++)E=E>>>8^Editor.crcTable[(E^t.charCodeAt(K))&255];return(E^-1)>>>0};Editor.writeGraphModelToPng=function(t,E,K,T,P){function Q(Z,ja){var ea=ba;ba+=ja;return Z.substring(ea,ba)}function S(Z){Z=Q(Z,4);return Z.charCodeAt(3)+(Z.charCodeAt(2)<<8)+(Z.charCodeAt(1)<<16)+(Z.charCodeAt(0)<<24)}function Y(Z){return String.fromCharCode(Z>>24&255,Z>>16&255,Z>>8&255,Z&255)}t=t.substring(t.indexOf(",")+
1);t=window.atob?atob(t):Base64.decode(t,!0);var ba=0;if(Q(t,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=P&&P();else if(Q(t,4),"IHDR"!=Q(t,4))null!=P&&P();else{Q(t,17);P=t.substring(0,ba);do{var da=S(t);if("IDAT"==Q(t,4)){P=t.substring(0,ba-8);"pHYs"==E&&"dpi"==K?(K=Math.round(T/.0254),K=Y(K)+Y(K)+String.fromCharCode(1)):K=K+String.fromCharCode(0)+("zTXt"==E?String.fromCharCode(0):"")+T;T=4294967295;T=Editor.updateCRC(T,E,0,4);T=Editor.updateCRC(T,K,0,K.length);P+=Y(K.length)+
@@ -11586,32 +11586,32 @@ font:"#ffffff"}],[{fill:"",stroke:""},{fill:mxConstants.NONE,stroke:""},{fill:"#
function(t,E,K){if(null!=E){var T=function(Q){if(null!=Q)if(K)for(var S=0;S<Q.length;S++)E[Q[S].name]=Q[S];else for(var Y in E){var ba=!1;for(S=0;S<Q.length;S++)if(Q[S].name==Y&&Q[S].type==E[Y].type){ba=!0;break}ba||delete E[Y]}},P=this.editorUi.editor.graph.view.getState(t);null!=P&&null!=P.shape&&(P.shape.commonCustomPropAdded||(P.shape.commonCustomPropAdded=!0,P.shape.customProperties=P.shape.customProperties||[],P.cell.vertex?Array.prototype.push.apply(P.shape.customProperties,Editor.commonVertexProperties):
Array.prototype.push.apply(P.shape.customProperties,Editor.commonEdgeProperties)),T(P.shape.customProperties));t=t.getAttribute("customProperties");if(null!=t)try{T(JSON.parse(t))}catch(Q){}}};var x=StyleFormatPanel.prototype.init;StyleFormatPanel.prototype.init=function(){var t=this.editorUi.getSelectionState();"image"!=t.style.shape&&!t.containsLabel&&0<t.cells.length&&this.container.appendChild(this.addStyles(this.createPanel()));x.apply(this,arguments);if(Editor.enableCustomProperties){for(var E=
{},K=t.vertices,T=t.edges,P=0;P<K.length;P++)this.findCommonProperties(K[P],E,0==P);for(P=0;P<T.length;P++)this.findCommonProperties(T[P],E,0==K.length&&0==P);null!=Object.getOwnPropertyNames&&0<Object.getOwnPropertyNames(E).length&&this.container.appendChild(this.addProperties(this.createPanel(),E,t))}};var y=StyleFormatPanel.prototype.addStyleOps;StyleFormatPanel.prototype.addStyleOps=function(t){this.addActions(t,["copyStyle","pasteStyle"]);return y.apply(this,arguments)};EditorUi.prototype.propertiesCollapsed=
-!0;StyleFormatPanel.prototype.addProperties=function(t,E,K){function T(za,ya,oa,fa){ja.getModel().beginUpdate();try{var sa=[],xa=[];if(null!=oa.index){for(var wa=[],ua=oa.parentRow.nextSibling;ua&&ua.getAttribute("data-pName")==za;)wa.push(ua.getAttribute("data-pValue")),ua=ua.nextSibling;oa.index<wa.length?null!=fa?wa.splice(fa,1):wa[oa.index]=ya:wa.push(ya);null!=oa.size&&wa.length>oa.size&&(wa=wa.slice(0,oa.size));ya=wa.join(",");null!=oa.countProperty&&(ja.setCellStyles(oa.countProperty,wa.length,
-ja.getSelectionCells()),sa.push(oa.countProperty),xa.push(wa.length))}ja.setCellStyles(za,ya,ja.getSelectionCells());sa.push(za);xa.push(ya);if(null!=oa.dependentProps)for(za=0;za<oa.dependentProps.length;za++){var va=oa.dependentPropsDefVal[za],ia=oa.dependentPropsVals[za];if(ia.length>ya)ia=ia.slice(0,ya);else for(var ra=ia.length;ra<ya;ra++)ia.push(va);ia=ia.join(",");ja.setCellStyles(oa.dependentProps[za],ia,ja.getSelectionCells());sa.push(oa.dependentProps[za]);xa.push(ia)}if("function"==typeof oa.onChange)oa.onChange(ja,
-ya);Z.editorUi.fireEvent(new mxEventObject("styleChanged","keys",sa,"values",xa,"cells",ja.getSelectionCells()))}finally{ja.getModel().endUpdate()}}function P(za,ya,oa){var fa=mxUtils.getOffset(t,!0),sa=mxUtils.getOffset(za,!0);ya.style.position="absolute";ya.style.left=sa.x-fa.x+"px";ya.style.top=sa.y-fa.y+"px";ya.style.width=za.offsetWidth+"px";ya.style.height=za.offsetHeight-(oa?4:0)+"px";ya.style.zIndex=5}function Q(za,ya,oa){var fa=document.createElement("div");fa.style.width="32px";fa.style.height=
-"4px";fa.style.margin="2px";fa.style.border="1px solid black";fa.style.background=ya&&"none"!=ya?ya:"url('"+Dialog.prototype.noColorImage+"')";btn=mxUtils.button("",mxUtils.bind(Z,function(sa){this.editorUi.pickColor(ya,function(xa){fa.style.background="none"==xa?"url('"+Dialog.prototype.noColorImage+"')":xa;T(za,xa,oa)});mxEvent.consume(sa)}));btn.style.height="12px";btn.style.width="40px";btn.className="geColorBtn";btn.appendChild(fa);return btn}function S(za,ya,oa,fa,sa,xa,wa){null!=ya&&(ya=ya.split(","),
-ea.push({name:za,values:ya,type:oa,defVal:fa,countProperty:sa,parentRow:xa,isDeletable:!0,flipBkg:wa}));btn=mxUtils.button("+",mxUtils.bind(Z,function(ua){for(var va=xa,ia=0;null!=va.nextSibling;)if(va.nextSibling.getAttribute("data-pName")==za)va=va.nextSibling,ia++;else break;var ra={type:oa,parentRow:xa,index:ia,isDeletable:!0,defVal:fa,countProperty:sa};ia=da(za,"",ra,0==ia%2,wa);T(za,fa,ra);va.parentNode.insertBefore(ia,va.nextSibling);mxEvent.consume(ua)}));btn.style.height="16px";btn.style.width=
-"25px";btn.className="geColorBtn";return btn}function Y(za,ya,oa,fa,sa,xa,wa){if(0<sa){var ua=Array(sa);ya=null!=ya?ya.split(","):[];for(var va=0;va<sa;va++)ua[va]=null!=ya[va]?ya[va]:null!=fa?fa:"";ea.push({name:za,values:ua,type:oa,defVal:fa,parentRow:xa,flipBkg:wa,size:sa})}return document.createElement("div")}function ba(za,ya,oa){var fa=document.createElement("input");fa.type="checkbox";fa.checked="1"==ya;mxEvent.addListener(fa,"change",function(){T(za,fa.checked?"1":"0",oa)});return fa}function da(za,
-ya,oa,fa,sa){var xa=oa.dispName,wa=oa.type,ua=document.createElement("tr");ua.className="gePropRow"+(sa?"Dark":"")+(fa?"Alt":"")+" gePropNonHeaderRow";ua.setAttribute("data-pName",za);ua.setAttribute("data-pValue",ya);fa=!1;null!=oa.index&&(ua.setAttribute("data-index",oa.index),xa=(null!=xa?xa:"")+"["+oa.index+"]",fa=!0);var va=document.createElement("td");va.className="gePropRowCell";xa=mxResources.get(xa,null,xa);mxUtils.write(va,xa);va.setAttribute("title",xa);fa&&(va.style.textAlign="right");
-ua.appendChild(va);va=document.createElement("td");va.className="gePropRowCell";if("color"==wa)va.appendChild(Q(za,ya,oa));else if("bool"==wa||"boolean"==wa)va.appendChild(ba(za,ya,oa));else if("enum"==wa){var ia=oa.enumList;for(sa=0;sa<ia.length;sa++)if(xa=ia[sa],xa.val==ya){mxUtils.write(va,mxResources.get(xa.dispName,null,xa.dispName));break}mxEvent.addListener(va,"click",mxUtils.bind(Z,function(){var ra=document.createElement("select");P(va,ra);for(var aa=0;aa<ia.length;aa++){var ca=ia[aa],na=
-document.createElement("option");na.value=mxUtils.htmlEntities(ca.val);mxUtils.write(na,mxResources.get(ca.dispName,null,ca.dispName));ra.appendChild(na)}ra.value=ya;t.appendChild(ra);mxEvent.addListener(ra,"change",function(){var la=mxUtils.htmlEntities(ra.value);T(za,la,oa)});ra.focus();mxEvent.addListener(ra,"blur",function(){t.removeChild(ra)})}))}else"dynamicArr"==wa?va.appendChild(S(za,ya,oa.subType,oa.subDefVal,oa.countProperty,ua,sa)):"staticArr"==wa?va.appendChild(Y(za,ya,oa.subType,oa.subDefVal,
-oa.size,ua,sa)):"readOnly"==wa?(sa=document.createElement("input"),sa.setAttribute("readonly",""),sa.value=ya,sa.style.width="96px",sa.style.borderWidth="0px",va.appendChild(sa)):(va.innerHTML=mxUtils.htmlEntities(decodeURIComponent(ya)),mxEvent.addListener(va,"click",mxUtils.bind(Z,function(){function ra(){var ca=aa.value;ca=0==ca.length&&"string"!=wa?0:ca;oa.allowAuto&&(null!=ca.trim&&"auto"==ca.trim().toLowerCase()?(ca="auto",wa="string"):(ca=parseFloat(ca),ca=isNaN(ca)?0:ca));null!=oa.min&&ca<
-oa.min?ca=oa.min:null!=oa.max&&ca>oa.max&&(ca=oa.max);ca=encodeURIComponent(("int"==wa?parseInt(ca):ca)+"");T(za,ca,oa)}var aa=document.createElement("input");P(va,aa,!0);aa.value=decodeURIComponent(ya);aa.className="gePropEditor";"int"!=wa&&"float"!=wa||oa.allowAuto||(aa.type="number",aa.step="int"==wa?"1":"any",null!=oa.min&&(aa.min=parseFloat(oa.min)),null!=oa.max&&(aa.max=parseFloat(oa.max)));t.appendChild(aa);mxEvent.addListener(aa,"keypress",function(ca){13==ca.keyCode&&ra()});aa.focus();mxEvent.addListener(aa,
-"blur",function(){ra()})})));oa.isDeletable&&(sa=mxUtils.button("-",mxUtils.bind(Z,function(ra){T(za,"",oa,oa.index);mxEvent.consume(ra)})),sa.style.height="16px",sa.style.width="25px",sa.style.float="right",sa.className="geColorBtn",va.appendChild(sa));ua.appendChild(va);return ua}var Z=this,ja=this.editorUi.editor.graph,ea=[];t.style.position="relative";t.style.padding="0";var ha=document.createElement("table");ha.className="geProperties";ha.style.whiteSpace="nowrap";ha.style.width="100%";var ma=
-document.createElement("tr");ma.className="gePropHeader";var Aa=document.createElement("th");Aa.className="gePropHeaderCell";var Da=document.createElement("img");Da.src=Sidebar.prototype.expandedImage;Da.style.verticalAlign="middle";Aa.appendChild(Da);mxUtils.write(Aa,mxResources.get("property"));ma.style.cursor="pointer";var Ca=function(){var za=ha.querySelectorAll(".gePropNonHeaderRow");if(Z.editorUi.propertiesCollapsed){Da.src=Sidebar.prototype.collapsedImage;var ya="none";for(var oa=t.childNodes.length-
-1;0<=oa;oa--)try{var fa=t.childNodes[oa],sa=fa.nodeName.toUpperCase();"INPUT"!=sa&&"SELECT"!=sa||t.removeChild(fa)}catch(xa){}}else Da.src=Sidebar.prototype.expandedImage,ya="";for(oa=0;oa<za.length;oa++)za[oa].style.display=ya};mxEvent.addListener(ma,"click",function(){Z.editorUi.propertiesCollapsed=!Z.editorUi.propertiesCollapsed;Ca()});ma.appendChild(Aa);Aa=document.createElement("th");Aa.className="gePropHeaderCell";Aa.innerHTML=mxResources.get("value");ma.appendChild(Aa);ha.appendChild(ma);var pa=
+!0;StyleFormatPanel.prototype.addProperties=function(t,E,K){function T(za,ya,pa,fa){ja.getModel().beginUpdate();try{var sa=[],xa=[];if(null!=pa.index){for(var wa=[],ua=pa.parentRow.nextSibling;ua&&ua.getAttribute("data-pName")==za;)wa.push(ua.getAttribute("data-pValue")),ua=ua.nextSibling;pa.index<wa.length?null!=fa?wa.splice(fa,1):wa[pa.index]=ya:wa.push(ya);null!=pa.size&&wa.length>pa.size&&(wa=wa.slice(0,pa.size));ya=wa.join(",");null!=pa.countProperty&&(ja.setCellStyles(pa.countProperty,wa.length,
+ja.getSelectionCells()),sa.push(pa.countProperty),xa.push(wa.length))}ja.setCellStyles(za,ya,ja.getSelectionCells());sa.push(za);xa.push(ya);if(null!=pa.dependentProps)for(za=0;za<pa.dependentProps.length;za++){var va=pa.dependentPropsDefVal[za],ia=pa.dependentPropsVals[za];if(ia.length>ya)ia=ia.slice(0,ya);else for(var ra=ia.length;ra<ya;ra++)ia.push(va);ia=ia.join(",");ja.setCellStyles(pa.dependentProps[za],ia,ja.getSelectionCells());sa.push(pa.dependentProps[za]);xa.push(ia)}if("function"==typeof pa.onChange)pa.onChange(ja,
+ya);Z.editorUi.fireEvent(new mxEventObject("styleChanged","keys",sa,"values",xa,"cells",ja.getSelectionCells()))}finally{ja.getModel().endUpdate()}}function P(za,ya,pa){var fa=mxUtils.getOffset(t,!0),sa=mxUtils.getOffset(za,!0);ya.style.position="absolute";ya.style.left=sa.x-fa.x+"px";ya.style.top=sa.y-fa.y+"px";ya.style.width=za.offsetWidth+"px";ya.style.height=za.offsetHeight-(pa?4:0)+"px";ya.style.zIndex=5}function Q(za,ya,pa){var fa=document.createElement("div");fa.style.width="32px";fa.style.height=
+"4px";fa.style.margin="2px";fa.style.border="1px solid black";fa.style.background=ya&&"none"!=ya?ya:"url('"+Dialog.prototype.noColorImage+"')";btn=mxUtils.button("",mxUtils.bind(Z,function(sa){this.editorUi.pickColor(ya,function(xa){fa.style.background="none"==xa?"url('"+Dialog.prototype.noColorImage+"')":xa;T(za,xa,pa)});mxEvent.consume(sa)}));btn.style.height="12px";btn.style.width="40px";btn.className="geColorBtn";btn.appendChild(fa);return btn}function S(za,ya,pa,fa,sa,xa,wa){null!=ya&&(ya=ya.split(","),
+ea.push({name:za,values:ya,type:pa,defVal:fa,countProperty:sa,parentRow:xa,isDeletable:!0,flipBkg:wa}));btn=mxUtils.button("+",mxUtils.bind(Z,function(ua){for(var va=xa,ia=0;null!=va.nextSibling;)if(va.nextSibling.getAttribute("data-pName")==za)va=va.nextSibling,ia++;else break;var ra={type:pa,parentRow:xa,index:ia,isDeletable:!0,defVal:fa,countProperty:sa};ia=da(za,"",ra,0==ia%2,wa);T(za,fa,ra);va.parentNode.insertBefore(ia,va.nextSibling);mxEvent.consume(ua)}));btn.style.height="16px";btn.style.width=
+"25px";btn.className="geColorBtn";return btn}function Y(za,ya,pa,fa,sa,xa,wa){if(0<sa){var ua=Array(sa);ya=null!=ya?ya.split(","):[];for(var va=0;va<sa;va++)ua[va]=null!=ya[va]?ya[va]:null!=fa?fa:"";ea.push({name:za,values:ua,type:pa,defVal:fa,parentRow:xa,flipBkg:wa,size:sa})}return document.createElement("div")}function ba(za,ya,pa){var fa=document.createElement("input");fa.type="checkbox";fa.checked="1"==ya;mxEvent.addListener(fa,"change",function(){T(za,fa.checked?"1":"0",pa)});return fa}function da(za,
+ya,pa,fa,sa){var xa=pa.dispName,wa=pa.type,ua=document.createElement("tr");ua.className="gePropRow"+(sa?"Dark":"")+(fa?"Alt":"")+" gePropNonHeaderRow";ua.setAttribute("data-pName",za);ua.setAttribute("data-pValue",ya);fa=!1;null!=pa.index&&(ua.setAttribute("data-index",pa.index),xa=(null!=xa?xa:"")+"["+pa.index+"]",fa=!0);var va=document.createElement("td");va.className="gePropRowCell";xa=mxResources.get(xa,null,xa);mxUtils.write(va,xa);va.setAttribute("title",xa);fa&&(va.style.textAlign="right");
+ua.appendChild(va);va=document.createElement("td");va.className="gePropRowCell";if("color"==wa)va.appendChild(Q(za,ya,pa));else if("bool"==wa||"boolean"==wa)va.appendChild(ba(za,ya,pa));else if("enum"==wa){var ia=pa.enumList;for(sa=0;sa<ia.length;sa++)if(xa=ia[sa],xa.val==ya){mxUtils.write(va,mxResources.get(xa.dispName,null,xa.dispName));break}mxEvent.addListener(va,"click",mxUtils.bind(Z,function(){var ra=document.createElement("select");P(va,ra);for(var aa=0;aa<ia.length;aa++){var ca=ia[aa],na=
+document.createElement("option");na.value=mxUtils.htmlEntities(ca.val);mxUtils.write(na,mxResources.get(ca.dispName,null,ca.dispName));ra.appendChild(na)}ra.value=ya;t.appendChild(ra);mxEvent.addListener(ra,"change",function(){var la=mxUtils.htmlEntities(ra.value);T(za,la,pa)});ra.focus();mxEvent.addListener(ra,"blur",function(){t.removeChild(ra)})}))}else"dynamicArr"==wa?va.appendChild(S(za,ya,pa.subType,pa.subDefVal,pa.countProperty,ua,sa)):"staticArr"==wa?va.appendChild(Y(za,ya,pa.subType,pa.subDefVal,
+pa.size,ua,sa)):"readOnly"==wa?(sa=document.createElement("input"),sa.setAttribute("readonly",""),sa.value=ya,sa.style.width="96px",sa.style.borderWidth="0px",va.appendChild(sa)):(va.innerHTML=mxUtils.htmlEntities(decodeURIComponent(ya)),mxEvent.addListener(va,"click",mxUtils.bind(Z,function(){function ra(){var ca=aa.value;ca=0==ca.length&&"string"!=wa?0:ca;pa.allowAuto&&(null!=ca.trim&&"auto"==ca.trim().toLowerCase()?(ca="auto",wa="string"):(ca=parseFloat(ca),ca=isNaN(ca)?0:ca));null!=pa.min&&ca<
+pa.min?ca=pa.min:null!=pa.max&&ca>pa.max&&(ca=pa.max);ca=encodeURIComponent(("int"==wa?parseInt(ca):ca)+"");T(za,ca,pa)}var aa=document.createElement("input");P(va,aa,!0);aa.value=decodeURIComponent(ya);aa.className="gePropEditor";"int"!=wa&&"float"!=wa||pa.allowAuto||(aa.type="number",aa.step="int"==wa?"1":"any",null!=pa.min&&(aa.min=parseFloat(pa.min)),null!=pa.max&&(aa.max=parseFloat(pa.max)));t.appendChild(aa);mxEvent.addListener(aa,"keypress",function(ca){13==ca.keyCode&&ra()});aa.focus();mxEvent.addListener(aa,
+"blur",function(){ra()})})));pa.isDeletable&&(sa=mxUtils.button("-",mxUtils.bind(Z,function(ra){T(za,"",pa,pa.index);mxEvent.consume(ra)})),sa.style.height="16px",sa.style.width="25px",sa.style.float="right",sa.className="geColorBtn",va.appendChild(sa));ua.appendChild(va);return ua}var Z=this,ja=this.editorUi.editor.graph,ea=[];t.style.position="relative";t.style.padding="0";var ha=document.createElement("table");ha.className="geProperties";ha.style.whiteSpace="nowrap";ha.style.width="100%";var ma=
+document.createElement("tr");ma.className="gePropHeader";var Aa=document.createElement("th");Aa.className="gePropHeaderCell";var Da=document.createElement("img");Da.src=Sidebar.prototype.expandedImage;Da.style.verticalAlign="middle";Aa.appendChild(Da);mxUtils.write(Aa,mxResources.get("property"));ma.style.cursor="pointer";var Ca=function(){var za=ha.querySelectorAll(".gePropNonHeaderRow");if(Z.editorUi.propertiesCollapsed){Da.src=Sidebar.prototype.collapsedImage;var ya="none";for(var pa=t.childNodes.length-
+1;0<=pa;pa--)try{var fa=t.childNodes[pa],sa=fa.nodeName.toUpperCase();"INPUT"!=sa&&"SELECT"!=sa||t.removeChild(fa)}catch(xa){}}else Da.src=Sidebar.prototype.expandedImage,ya="";for(pa=0;pa<za.length;pa++)za[pa].style.display=ya};mxEvent.addListener(ma,"click",function(){Z.editorUi.propertiesCollapsed=!Z.editorUi.propertiesCollapsed;Ca()});ma.appendChild(Aa);Aa=document.createElement("th");Aa.className="gePropHeaderCell";Aa.innerHTML=mxResources.get("value");ma.appendChild(Aa);ha.appendChild(ma);var oa=
!1,Ba=!1;ma=null;1==K.vertices.length&&0==K.edges.length?ma=K.vertices[0].id:0==K.vertices.length&&1==K.edges.length&&(ma=K.edges[0].id);null!=ma&&ha.appendChild(da("id",mxUtils.htmlEntities(ma),{dispName:"ID",type:"readOnly"},!0,!1));for(var Ea in E)if(ma=E[Ea],"function"!=typeof ma.isVisible||ma.isVisible(K,this)){var Ka=null!=K.style[Ea]?mxUtils.htmlEntities(K.style[Ea]+""):null!=ma.getDefaultValue?ma.getDefaultValue(K,this):ma.defVal;if("separator"==ma.type)Ba=!Ba;else{if("staticArr"==ma.type)ma.size=
-parseInt(K.style[ma.sizeProperty]||E[ma.sizeProperty].defVal)||0;else if(null!=ma.dependentProps){var Fa=ma.dependentProps,Ha=[],Ia=[];for(Aa=0;Aa<Fa.length;Aa++){var Ma=K.style[Fa[Aa]];Ia.push(E[Fa[Aa]].subDefVal);Ha.push(null!=Ma?Ma.split(","):[])}ma.dependentPropsDefVal=Ia;ma.dependentPropsVals=Ha}ha.appendChild(da(Ea,Ka,ma,pa,Ba));pa=!pa}}for(Aa=0;Aa<ea.length;Aa++)for(ma=ea[Aa],E=ma.parentRow,K=0;K<ma.values.length;K++)Ea=da(ma.name,ma.values[K],{type:ma.type,parentRow:ma.parentRow,isDeletable:ma.isDeletable,
+parseInt(K.style[ma.sizeProperty]||E[ma.sizeProperty].defVal)||0;else if(null!=ma.dependentProps){var Fa=ma.dependentProps,Ha=[],Ia=[];for(Aa=0;Aa<Fa.length;Aa++){var Ma=K.style[Fa[Aa]];Ia.push(E[Fa[Aa]].subDefVal);Ha.push(null!=Ma?Ma.split(","):[])}ma.dependentPropsDefVal=Ia;ma.dependentPropsVals=Ha}ha.appendChild(da(Ea,Ka,ma,oa,Ba));oa=!oa}}for(Aa=0;Aa<ea.length;Aa++)for(ma=ea[Aa],E=ma.parentRow,K=0;K<ma.values.length;K++)Ea=da(ma.name,ma.values[K],{type:ma.type,parentRow:ma.parentRow,isDeletable:ma.isDeletable,
index:K,defVal:ma.defVal,countProperty:ma.countProperty,size:ma.size},0==K%2,ma.flipBkg),E.parentNode.insertBefore(Ea,E.nextSibling),E=Ea;t.appendChild(ha);Ca();return t};StyleFormatPanel.prototype.addStyles=function(t){function E(ma){mxEvent.addListener(ma,"mouseenter",function(){ma.style.opacity="1"});mxEvent.addListener(ma,"mouseleave",function(){ma.style.opacity="0.5"})}var K=this.editorUi,T=K.editor.graph,P=document.createElement("div");P.style.whiteSpace="nowrap";P.style.paddingLeft="24px";
P.style.paddingRight="20px";t.style.paddingLeft="16px";t.style.paddingBottom="6px";t.style.position="relative";t.appendChild(P);var Q="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(" "),S=document.createElement("div");S.style.whiteSpace="nowrap";S.style.position="relative";S.style.textAlign="center";S.style.width="210px";for(var Y=[],ba=0;ba<this.defaultColorSchemes.length;ba++){var da=
document.createElement("div");da.style.display="inline-block";da.style.width="6px";da.style.height="6px";da.style.marginLeft="4px";da.style.marginRight="3px";da.style.borderRadius="3px";da.style.cursor="pointer";da.style.background="transparent";da.style.border="1px solid #b5b6b7";mxUtils.bind(this,function(ma){mxEvent.addListener(da,"click",mxUtils.bind(this,function(){Z(ma)}))})(ba);Y.push(da);S.appendChild(da)}var Z=mxUtils.bind(this,function(ma){null!=Y[ma]&&(null!=this.format.currentScheme&&
-null!=Y[this.format.currentScheme]&&(Y[this.format.currentScheme].style.background="transparent"),this.format.currentScheme=ma,ja(this.defaultColorSchemes[this.format.currentScheme]),Y[this.format.currentScheme].style.background="#84d7ff")}),ja=mxUtils.bind(this,function(ma){var Aa=mxUtils.bind(this,function(Ca){var pa=mxUtils.button("",mxUtils.bind(this,function(Ka){T.getModel().beginUpdate();try{for(var Fa=K.getSelectionState().cells,Ha=0;Ha<Fa.length;Ha++){for(var Ia=T.getModel().getStyle(Fa[Ha]),
+null!=Y[this.format.currentScheme]&&(Y[this.format.currentScheme].style.background="transparent"),this.format.currentScheme=ma,ja(this.defaultColorSchemes[this.format.currentScheme]),Y[this.format.currentScheme].style.background="#84d7ff")}),ja=mxUtils.bind(this,function(ma){var Aa=mxUtils.bind(this,function(Ca){var oa=mxUtils.button("",mxUtils.bind(this,function(Ka){T.getModel().beginUpdate();try{for(var Fa=K.getSelectionState().cells,Ha=0;Ha<Fa.length;Ha++){for(var Ia=T.getModel().getStyle(Fa[Ha]),
Ma=0;Ma<Q.length;Ma++)Ia=mxUtils.removeStylename(Ia,Q[Ma]);var za=T.getModel().isVertex(Fa[Ha])?T.defaultVertexStyle:T.defaultEdgeStyle;null!=Ca?(mxEvent.isShiftDown(Ka)||(Ia=""==Ca.fill?mxUtils.setStyle(Ia,mxConstants.STYLE_FILLCOLOR,null):mxUtils.setStyle(Ia,mxConstants.STYLE_FILLCOLOR,Ca.fill||mxUtils.getValue(za,mxConstants.STYLE_FILLCOLOR,null)),Ia=mxUtils.setStyle(Ia,mxConstants.STYLE_GRADIENTCOLOR,Ca.gradient||mxUtils.getValue(za,mxConstants.STYLE_GRADIENTCOLOR,null)),mxEvent.isControlDown(Ka)||
mxClient.IS_MAC&&mxEvent.isMetaDown(Ka)||!T.getModel().isVertex(Fa[Ha])||(Ia=mxUtils.setStyle(Ia,mxConstants.STYLE_FONTCOLOR,Ca.font||mxUtils.getValue(za,mxConstants.STYLE_FONTCOLOR,null)))),mxEvent.isAltDown(Ka)||(Ia=""==Ca.stroke?mxUtils.setStyle(Ia,mxConstants.STYLE_STROKECOLOR,null):mxUtils.setStyle(Ia,mxConstants.STYLE_STROKECOLOR,Ca.stroke||mxUtils.getValue(za,mxConstants.STYLE_STROKECOLOR,null)))):(Ia=mxUtils.setStyle(Ia,mxConstants.STYLE_FILLCOLOR,mxUtils.getValue(za,mxConstants.STYLE_FILLCOLOR,
-"#ffffff")),Ia=mxUtils.setStyle(Ia,mxConstants.STYLE_STROKECOLOR,mxUtils.getValue(za,mxConstants.STYLE_STROKECOLOR,"#000000")),Ia=mxUtils.setStyle(Ia,mxConstants.STYLE_GRADIENTCOLOR,mxUtils.getValue(za,mxConstants.STYLE_GRADIENTCOLOR,null)),T.getModel().isVertex(Fa[Ha])&&(Ia=mxUtils.setStyle(Ia,mxConstants.STYLE_FONTCOLOR,mxUtils.getValue(za,mxConstants.STYLE_FONTCOLOR,null))));T.getModel().setStyle(Fa[Ha],Ia)}}finally{T.getModel().endUpdate()}}));pa.className="geStyleButton";pa.style.width="36px";
-pa.style.height=10>=this.defaultColorSchemes.length?"24px":"30px";pa.style.margin="0px 6px 6px 0px";if(null!=Ca){var Ba="1"==urlParams.sketch?"2px solid":"1px solid";null!=Ca.gradient?mxClient.IS_IE&&10>document.documentMode?pa.style.filter="progid:DXImageTransform.Microsoft.Gradient(StartColorStr='"+Ca.fill+"', EndColorStr='"+Ca.gradient+"', GradientType=0)":pa.style.backgroundImage="linear-gradient("+Ca.fill+" 0px,"+Ca.gradient+" 100%)":Ca.fill==mxConstants.NONE?pa.style.background="url('"+Dialog.prototype.noColorImage+
-"')":pa.style.backgroundColor=""==Ca.fill?mxUtils.getValue(T.defaultVertexStyle,mxConstants.STYLE_FILLCOLOR,Editor.isDarkMode()?Editor.darkColor:"#ffffff"):Ca.fill||mxUtils.getValue(T.defaultVertexStyle,mxConstants.STYLE_FILLCOLOR,Editor.isDarkMode()?Editor.darkColor:"#ffffff");pa.style.border=Ca.stroke==mxConstants.NONE?Ba+" transparent":""==Ca.stroke?Ba+" "+mxUtils.getValue(T.defaultVertexStyle,mxConstants.STYLE_STROKECOLOR,Editor.isDarkMode()?"#ffffff":Editor.darkColor):Ba+" "+(Ca.stroke||mxUtils.getValue(T.defaultVertexStyle,
-mxConstants.STYLE_STROKECOLOR,Editor.isDarkMode()?"#ffffff":Editor.darkColor));null!=Ca.title&&pa.setAttribute("title",Ca.title)}else{Ba=mxUtils.getValue(T.defaultVertexStyle,mxConstants.STYLE_FILLCOLOR,"#ffffff");var Ea=mxUtils.getValue(T.defaultVertexStyle,mxConstants.STYLE_STROKECOLOR,"#000000");pa.style.backgroundColor=Ba;pa.style.border="1px solid "+Ea}pa.style.borderRadius="0";P.appendChild(pa)});P.innerHTML="";for(var Da=0;Da<ma.length;Da++)0<Da&&0==mxUtils.mod(Da,4)&&mxUtils.br(P),Aa(ma[Da])});
+"#ffffff")),Ia=mxUtils.setStyle(Ia,mxConstants.STYLE_STROKECOLOR,mxUtils.getValue(za,mxConstants.STYLE_STROKECOLOR,"#000000")),Ia=mxUtils.setStyle(Ia,mxConstants.STYLE_GRADIENTCOLOR,mxUtils.getValue(za,mxConstants.STYLE_GRADIENTCOLOR,null)),T.getModel().isVertex(Fa[Ha])&&(Ia=mxUtils.setStyle(Ia,mxConstants.STYLE_FONTCOLOR,mxUtils.getValue(za,mxConstants.STYLE_FONTCOLOR,null))));T.getModel().setStyle(Fa[Ha],Ia)}}finally{T.getModel().endUpdate()}}));oa.className="geStyleButton";oa.style.width="36px";
+oa.style.height=10>=this.defaultColorSchemes.length?"24px":"30px";oa.style.margin="0px 6px 6px 0px";if(null!=Ca){var Ba="1"==urlParams.sketch?"2px solid":"1px solid";null!=Ca.gradient?mxClient.IS_IE&&10>document.documentMode?oa.style.filter="progid:DXImageTransform.Microsoft.Gradient(StartColorStr='"+Ca.fill+"', EndColorStr='"+Ca.gradient+"', GradientType=0)":oa.style.backgroundImage="linear-gradient("+Ca.fill+" 0px,"+Ca.gradient+" 100%)":Ca.fill==mxConstants.NONE?oa.style.background="url('"+Dialog.prototype.noColorImage+
+"')":oa.style.backgroundColor=""==Ca.fill?mxUtils.getValue(T.defaultVertexStyle,mxConstants.STYLE_FILLCOLOR,Editor.isDarkMode()?Editor.darkColor:"#ffffff"):Ca.fill||mxUtils.getValue(T.defaultVertexStyle,mxConstants.STYLE_FILLCOLOR,Editor.isDarkMode()?Editor.darkColor:"#ffffff");oa.style.border=Ca.stroke==mxConstants.NONE?Ba+" transparent":""==Ca.stroke?Ba+" "+mxUtils.getValue(T.defaultVertexStyle,mxConstants.STYLE_STROKECOLOR,Editor.isDarkMode()?"#ffffff":Editor.darkColor):Ba+" "+(Ca.stroke||mxUtils.getValue(T.defaultVertexStyle,
+mxConstants.STYLE_STROKECOLOR,Editor.isDarkMode()?"#ffffff":Editor.darkColor));null!=Ca.title&&oa.setAttribute("title",Ca.title)}else{Ba=mxUtils.getValue(T.defaultVertexStyle,mxConstants.STYLE_FILLCOLOR,"#ffffff");var Ea=mxUtils.getValue(T.defaultVertexStyle,mxConstants.STYLE_STROKECOLOR,"#000000");oa.style.backgroundColor=Ba;oa.style.border="1px solid "+Ea}oa.style.borderRadius="0";P.appendChild(oa)});P.innerHTML="";for(var Da=0;Da<ma.length;Da++)0<Da&&0==mxUtils.mod(Da,4)&&mxUtils.br(P),Aa(ma[Da])});
null==this.format.currentScheme?Z(Editor.isDarkMode()?1:"1"==urlParams.sketch?5:0):Z(this.format.currentScheme);ba=10>=this.defaultColorSchemes.length?28:8;var ea=document.createElement("div");ea.style.cssText="position:absolute;left:10px;top:8px;bottom:"+ba+"px;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(ea,"click",mxUtils.bind(this,function(){Z(mxUtils.mod(this.format.currentScheme-1,this.defaultColorSchemes.length))}));var ha=document.createElement("div");ha.style.cssText="position:absolute;left:202px;top:8px;bottom:"+ba+"px;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&&(t.appendChild(ea),t.appendChild(ha));mxEvent.addListener(ha,"click",mxUtils.bind(this,function(){Z(mxUtils.mod(this.format.currentScheme+1,this.defaultColorSchemes.length))}));E(ea);E(ha);ja(this.defaultColorSchemes[this.format.currentScheme]);10>=this.defaultColorSchemes.length&&t.appendChild(S);return t};StyleFormatPanel.prototype.addEditOps=function(t){var E=this.editorUi.getSelectionState(),K=this.editorUi.editor.graph,T=null;1==E.cells.length&&(T=mxUtils.button(mxResources.get("editStyle"),
@@ -11626,12 +11626,12 @@ urlParams.edge;Graph.prototype.hiddenTags=null;Graph.prototype.defaultMathEnable
this.getInsertPoint=function(){return null!=E?this.getPointForEvent(E):K.apply(this,arguments)};var T=this.layoutManager.getLayout;this.layoutManager.getLayout=function(P){var Q=this.graph.getCellStyle(P);if(null!=Q&&"rack"==Q.childLayout){var S=new mxStackLayout(this.graph,!1);S.gridSize=null!=Q.rackUnitSize?parseFloat(Q.rackUnitSize):"undefined"!==typeof mxRackContainer?mxRackContainer.unitSize:20;S.marginLeft=Q.marginLeft||0;S.marginRight=Q.marginRight||0;S.marginTop=Q.marginTop||0;S.marginBottom=
Q.marginBottom||0;S.allowGaps=Q.allowGaps||0;S.horizontal="1"==mxUtils.getValue(Q,"horizontalRack","0");S.resizeParent=!1;S.fill=!0;return S}return T.apply(this,arguments)};this.updateGlobalUrlVariables()};var A=Graph.prototype.postProcessCellStyle;Graph.prototype.postProcessCellStyle=function(t,E){return Graph.processFontStyle(A.apply(this,arguments))};var L=mxSvgCanvas2D.prototype.updateTextNodes;mxSvgCanvas2D.prototype.updateTextNodes=function(t,E,K,T,P,Q,S,Y,ba,da,Z){L.apply(this,arguments);Graph.processFontAttributes(Z)};
var O=mxText.prototype.redraw;mxText.prototype.redraw=function(){O.apply(this,arguments);null!=this.node&&"DIV"==this.node.nodeName&&Graph.processFontAttributes(this.node)};Graph.prototype.createTagsDialog=function(t,E,K){function T(){for(var ma=S.getSelectionCells(),Aa=[],Da=0;Da<ma.length;Da++)S.isCellVisible(ma[Da])&&Aa.push(ma[Da]);S.setSelectionCells(Aa)}function P(ma){S.setHiddenTags(ma?[]:Y.slice());T();S.refresh()}function Q(ma,Aa){da.innerHTML="";if(0<ma.length){var Da=document.createElement("table");
-Da.setAttribute("cellpadding","2");Da.style.boxSizing="border-box";Da.style.tableLayout="fixed";Da.style.width="100%";var Ca=document.createElement("tbody");if(null!=ma&&0<ma.length)for(var pa=0;pa<ma.length;pa++)(function(Ba){var Ea=0>mxUtils.indexOf(S.hiddenTags,Ba),Ka=document.createElement("tr"),Fa=document.createElement("td");Fa.style.align="center";Fa.style.width="16px";var Ha=document.createElement("img");Ha.setAttribute("src",Ea?Editor.visibleImage:Editor.hiddenImage);Ha.setAttribute("title",
+Da.setAttribute("cellpadding","2");Da.style.boxSizing="border-box";Da.style.tableLayout="fixed";Da.style.width="100%";var Ca=document.createElement("tbody");if(null!=ma&&0<ma.length)for(var oa=0;oa<ma.length;oa++)(function(Ba){var Ea=0>mxUtils.indexOf(S.hiddenTags,Ba),Ka=document.createElement("tr"),Fa=document.createElement("td");Fa.style.align="center";Fa.style.width="16px";var Ha=document.createElement("img");Ha.setAttribute("src",Ea?Editor.visibleImage:Editor.hiddenImage);Ha.setAttribute("title",
mxResources.get(Ea?"hideIt":"show",[Ba]));mxUtils.setOpacity(Ha,Ea?75:25);Ha.style.verticalAlign="middle";Ha.style.cursor="pointer";Ha.style.width="16px";if(E||Editor.isDarkMode())Ha.style.filter="invert(100%)";Fa.appendChild(Ha);mxEvent.addListener(Ha,"click",function(Ma){mxEvent.isShiftDown(Ma)?P(0<=mxUtils.indexOf(S.hiddenTags,Ba)):(S.toggleHiddenTag(Ba),T(),S.refresh());mxEvent.consume(Ma)});Ka.appendChild(Fa);Fa=document.createElement("td");Fa.style.overflow="hidden";Fa.style.whiteSpace="nowrap";
Fa.style.textOverflow="ellipsis";Fa.style.verticalAlign="middle";Fa.style.cursor="pointer";Fa.setAttribute("title",Ba);a=document.createElement("a");mxUtils.write(a,Ba);a.style.textOverflow="ellipsis";a.style.position="relative";mxUtils.setOpacity(a,Ea?100:40);Fa.appendChild(a);mxEvent.addListener(Fa,"click",function(Ma){if(mxEvent.isShiftDown(Ma)){P(!0);var za=S.getCellsForTags([Ba],null,null,!0);S.isEnabled()?S.setSelectionCells(za):S.highlightCells(za)}else if(Ea&&0<S.hiddenTags.length)P(!0);else{za=
Y.slice();var ya=mxUtils.indexOf(za,Ba);za.splice(ya,1);S.setHiddenTags(za);T();S.refresh()}mxEvent.consume(Ma)});Ka.appendChild(Fa);if(S.isEnabled()){Fa=document.createElement("td");Fa.style.verticalAlign="middle";Fa.style.textAlign="center";Fa.style.width="18px";if(null==Aa){Fa.style.align="center";Fa.style.width="16px";Ha=document.createElement("img");Ha.setAttribute("src",Editor.crossImage);Ha.setAttribute("title",mxResources.get("removeIt",[Ba]));mxUtils.setOpacity(Ha,Ea?75:25);Ha.style.verticalAlign=
"middle";Ha.style.cursor="pointer";Ha.style.width="16px";if(E||Editor.isDarkMode())Ha.style.filter="invert(100%)";mxEvent.addListener(Ha,"click",function(Ma){var za=mxUtils.indexOf(Y,Ba);0<=za&&Y.splice(za,1);S.removeTagsForCells(S.model.getDescendants(S.model.getRoot()),[Ba]);S.refresh();mxEvent.consume(Ma)});Fa.appendChild(Ha)}else{var Ia=document.createElement("input");Ia.setAttribute("type","checkbox");Ia.style.margin="0px";Ia.defaultChecked=null!=Aa&&0<=mxUtils.indexOf(Aa,Ba);Ia.checked=Ia.defaultChecked;
-Ia.style.background="transparent";Ia.setAttribute("title",mxResources.get(Ia.defaultChecked?"removeIt":"add",[Ba]));mxEvent.addListener(Ia,"change",function(Ma){Ia.checked?S.addTagsForCells(S.getSelectionCells(),[Ba]):S.removeTagsForCells(S.getSelectionCells(),[Ba]);mxEvent.consume(Ma)});Fa.appendChild(Ia)}Ka.appendChild(Fa)}Ca.appendChild(Ka)})(ma[pa]);Da.appendChild(Ca);da.appendChild(Da)}}var S=this,Y=S.hiddenTags.slice(),ba=document.createElement("div");ba.style.userSelect="none";ba.style.overflow=
+Ia.style.background="transparent";Ia.setAttribute("title",mxResources.get(Ia.defaultChecked?"removeIt":"add",[Ba]));mxEvent.addListener(Ia,"change",function(Ma){Ia.checked?S.addTagsForCells(S.getSelectionCells(),[Ba]):S.removeTagsForCells(S.getSelectionCells(),[Ba]);mxEvent.consume(Ma)});Fa.appendChild(Ia)}Ka.appendChild(Fa)}Ca.appendChild(Ka)})(ma[oa]);Da.appendChild(Ca);da.appendChild(Da)}}var S=this,Y=S.hiddenTags.slice(),ba=document.createElement("div");ba.style.userSelect="none";ba.style.overflow=
"hidden";ba.style.padding="10px";ba.style.height="100%";var da=document.createElement("div");da.style.boxSizing="border-box";da.style.borderRadius="4px";da.style.userSelect="none";da.style.overflow="auto";da.style.position="absolute";da.style.left="10px";da.style.right="10px";da.style.top="10px";da.style.border=S.isEnabled()?"1px solid #808080":"none";da.style.bottom=S.isEnabled()?"48px":"10px";ba.appendChild(da);var Z=mxUtils.button(mxResources.get("reset"),function(ma){S.setHiddenTags([]);mxEvent.isShiftDown(ma)||
(Y=S.hiddenTags.slice());T();S.refresh()});Z.setAttribute("title",mxResources.get("reset"));Z.className="geBtn";Z.style.margin="0 4px 0 0";var ja=mxUtils.button(mxResources.get("add"),function(){null!=K&&K(Y,function(ma){Y=ma;ea()})});ja.setAttribute("title",mxResources.get("add"));ja.className="geBtn";ja.style.margin="0";S.addListener(mxEvent.ROOT,function(){Y=S.hiddenTags.slice()});var ea=mxUtils.bind(this,function(ma,Aa){if(t()){ma=S.getAllTags();for(Aa=0;Aa<ma.length;Aa++)0>mxUtils.indexOf(Y,
ma[Aa])&&Y.push(ma[Aa]);Y.sort();S.isSelectionEmpty()?Q(Y):Q(Y,S.getCommonTagsForCells(S.getSelectionCells()))}});S.selectionModel.addListener(mxEvent.CHANGE,ea);S.model.addListener(mxEvent.CHANGE,ea);S.addListener(mxEvent.REFRESH,ea);var ha=document.createElement("div");ha.style.boxSizing="border-box";ha.style.whiteSpace="nowrap";ha.style.position="absolute";ha.style.overflow="hidden";ha.style.bottom="0px";ha.style.height="42px";ha.style.right="10px";ha.style.left="10px";S.isEnabled()&&(ha.appendChild(Z),
@@ -11639,7 +11639,7 @@ ha.appendChild(ja),ba.appendChild(ha));return{div:ba,refresh:ea}};Graph.prototyp
t&&K[T].getAttribute("data-font-src")!=E&&K[T].setAttribute("data-font-src",E)}};var M=Graph.prototype.isFastZoomEnabled;Graph.prototype.isFastZoomEnabled=function(){return M.apply(this,arguments)&&(!this.shadowVisible||!mxClient.IS_SF)};Graph.prototype.updateGlobalUrlVariables=function(){this.globalVars=Editor.globalVars;if(null!=urlParams.vars)try{this.globalVars=null!=this.globalVars?mxUtils.clone(this.globalVars):{};var t=JSON.parse(decodeURIComponent(urlParams.vars));if(null!=t)for(var E in t)this.globalVars[E]=
t[E]}catch(K){null!=window.console&&console.log("Error in vars URL parameter: "+K)}};Graph.prototype.getExportVariables=function(){return null!=this.globalVars?mxUtils.clone(this.globalVars):{}};var u=Graph.prototype.getGlobalVariable;Graph.prototype.getGlobalVariable=function(t){var E=u.apply(this,arguments);null==E&&null!=this.globalVars&&(E=this.globalVars[t]);return E};Graph.prototype.getDefaultStylesheet=function(){if(null==this.defaultStylesheet){var t=this.themes["default-style2"];this.defaultStylesheet=
(new mxCodec(t.ownerDocument)).decode(t)}return this.defaultStylesheet};Graph.prototype.isViewer=function(){return urlParams.viewer};var D=Graph.prototype.getSvg;Graph.prototype.getSvg=function(t,E,K,T,P,Q,S,Y,ba,da,Z,ja,ea,ha){var ma=null,Aa=null,Da=null;ja||null==this.themes||"darkTheme"!=this.defaultThemeName||(ma=this.stylesheet,Aa=this.shapeForegroundColor,Da=this.shapeBackgroundColor,this.shapeForegroundColor="darkTheme"==this.defaultThemeName?"#000000":Editor.lightColor,this.shapeBackgroundColor=
-"darkTheme"==this.defaultThemeName?"#ffffff":Editor.darkColor,this.stylesheet=this.getDefaultStylesheet(),this.refresh());var Ca=D.apply(this,arguments),pa=this.getCustomFonts();if(Z&&0<pa.length){var Ba=Ca.ownerDocument,Ea=null!=Ba.createElementNS?Ba.createElementNS(mxConstants.NS_SVG,"style"):Ba.createElement("style");null!=Ba.setAttributeNS?Ea.setAttributeNS("type","text/css"):Ea.setAttribute("type","text/css");for(var Ka="",Fa="",Ha=0;Ha<pa.length;Ha++){var Ia=pa[Ha].name,Ma=pa[Ha].url;Graph.isCssFontUrl(Ma)?
+"darkTheme"==this.defaultThemeName?"#ffffff":Editor.darkColor,this.stylesheet=this.getDefaultStylesheet(),this.refresh());var Ca=D.apply(this,arguments),oa=this.getCustomFonts();if(Z&&0<oa.length){var Ba=Ca.ownerDocument,Ea=null!=Ba.createElementNS?Ba.createElementNS(mxConstants.NS_SVG,"style"):Ba.createElement("style");null!=Ba.setAttributeNS?Ea.setAttributeNS("type","text/css"):Ea.setAttribute("type","text/css");for(var Ka="",Fa="",Ha=0;Ha<oa.length;Ha++){var Ia=oa[Ha].name,Ma=oa[Ha].url;Graph.isCssFontUrl(Ma)?
Ka+="@import url("+Ma+");\n":Fa+='@font-face {\nfont-family: "'+Ia+'";\nsrc: url("'+Ma+'");\n}\n'}Ea.appendChild(Ba.createTextNode(Ka+Fa));Ca.getElementsByTagName("defs")[0].appendChild(Ea)}null!=ma&&(this.shapeBackgroundColor=Da,this.shapeForegroundColor=Aa,this.stylesheet=ma,this.refresh());return Ca};var B=Graph.prototype.createSvgImageExport;Graph.prototype.createSvgImageExport=function(){var t=B.apply(this,arguments);if(this.mathEnabled){var E=t.drawText;t.drawText=function(K,T){if(null!=K.text&&
null!=K.text.value&&K.text.checkBounds()&&(mxUtils.isNode(K.text.value)||K.text.dialect==mxConstants.DIALECT_STRICTHTML)){var P=K.text.getContentNode();if(null!=P){P=P.cloneNode(!0);if(P.getElementsByTagNameNS)for(var Q=P.getElementsByTagNameNS("http://www.w3.org/1998/Math/MathML","math");0<Q.length;)Q[0].parentNode.removeChild(Q[0]);null!=P.innerHTML&&(Q=K.text.value,K.text.value=P.innerHTML,E.apply(this,arguments),K.text.value=Q)}}else E.apply(this,arguments)}}return t};var C=mxCellRenderer.prototype.destroy;
mxCellRenderer.prototype.destroy=function(t){C.apply(this,arguments);null!=t.secondLabel&&(t.secondLabel.destroy(),t.secondLabel=null)};mxCellRenderer.prototype.getShapesForState=function(t){return[t.shape,t.text,t.secondLabel,t.control]};var G=mxGraphView.prototype.resetValidationState;mxGraphView.prototype.resetValidationState=function(){G.apply(this,arguments);this.enumerationState=0};var N=mxGraphView.prototype.stateValidated;mxGraphView.prototype.stateValidated=function(t){null!=t.shape&&this.redrawEnumerationState(t);
@@ -11683,14 +11683,14 @@ mxStencilRegistry.libraries["mockup/misc"]=[SHAPES_PATH+"/mockup/mxMockupMisc.js
STENCIL_PATH+"/aws4.xml"];mxStencilRegistry.libraries.uml25=[SHAPES_PATH+"/mxUML25.js"];mxStencilRegistry.libraries.veeam=[STENCIL_PATH+"/veeam/2d.xml",STENCIL_PATH+"/veeam/3d.xml",STENCIL_PATH+"/veeam/veeam.xml"];mxStencilRegistry.libraries.veeam2=[STENCIL_PATH+"/veeam/2d.xml",STENCIL_PATH+"/veeam/3d.xml",STENCIL_PATH+"/veeam/veeam2.xml"];mxStencilRegistry.libraries.pid2inst=[SHAPES_PATH+"/pid2/mxPidInstruments.js"];mxStencilRegistry.libraries.pid2misc=[SHAPES_PATH+"/pid2/mxPidMisc.js",STENCIL_PATH+
"/pid/misc.xml"];mxStencilRegistry.libraries.pid2valves=[SHAPES_PATH+"/pid2/mxPidValves.js"];mxStencilRegistry.libraries.pidFlowSensors=[STENCIL_PATH+"/pid/flow_sensors.xml"];mxMarker.getPackageForType=function(t){var E=null;null!=t&&0<t.length&&("ER"==t.substring(0,2)?E="mxgraph.er":"sysML"==t.substring(0,5)&&(E="mxgraph.sysml"));return E};var W=mxMarker.createMarker;mxMarker.createMarker=function(t,E,K,T,P,Q,S,Y,ba,da){if(null!=K&&null==mxMarker.markers[K]){var Z=this.getPackageForType(K);null!=
Z&&mxStencilRegistry.getStencil(Z)}return W.apply(this,arguments)};var J=mxStencil.prototype.drawShape;mxStencil.prototype.drawShape=function(t,E,K,T,P,Q){"1"==mxUtils.getValue(E.style,"lineShape",null)&&t.setFillColor(mxUtils.getValue(E.style,mxConstants.STYLE_STROKECOLOR,this.stroke));return J.apply(this,arguments)};PrintDialog.prototype.create=function(t,E){function K(){ea.value=Math.max(1,Math.min(Y,Math.max(parseInt(ea.value),parseInt(ja.value))));ja.value=Math.max(1,Math.min(Y,Math.min(parseInt(ea.value),
-parseInt(ja.value))))}function T(xa){function wa(Ga,Na,Pa){var Qa=Ga.useCssTransforms,Ya=Ga.currentTranslate,Oa=Ga.currentScale,Ta=Ga.view.translate,Ua=Ga.view.scale;Ga.useCssTransforms&&(Ga.useCssTransforms=!1,Ga.currentTranslate=new mxPoint(0,0),Ga.currentScale=1,Ga.view.translate=new mxPoint(0,0),Ga.view.scale=1);var Za=Ga.getGraphBounds(),Wa=0,bb=0,Va=fa.get(),ab=1/Ga.pageScale,$a=Ca.checked;if($a){ab=parseInt(ya.value);var hb=parseInt(oa.value);ab=Math.min(Va.height*hb/(Za.height/Ga.view.scale),
+parseInt(ja.value))))}function T(xa){function wa(Ga,Na,Pa){var Qa=Ga.useCssTransforms,Ya=Ga.currentTranslate,Oa=Ga.currentScale,Ta=Ga.view.translate,Ua=Ga.view.scale;Ga.useCssTransforms&&(Ga.useCssTransforms=!1,Ga.currentTranslate=new mxPoint(0,0),Ga.currentScale=1,Ga.view.translate=new mxPoint(0,0),Ga.view.scale=1);var Za=Ga.getGraphBounds(),Wa=0,bb=0,Va=fa.get(),ab=1/Ga.pageScale,$a=Ca.checked;if($a){ab=parseInt(ya.value);var hb=parseInt(pa.value);ab=Math.min(Va.height*hb/(Za.height/Ga.view.scale),
Va.width*ab/(Za.width/Ga.view.scale))}else ab=parseInt(Da.value)/(100*Ga.pageScale),isNaN(ab)&&(ua=1/Ga.pageScale,Da.value="100 %");Va=mxRectangle.fromRectangle(Va);Va.width=Math.ceil(Va.width*ua);Va.height=Math.ceil(Va.height*ua);ab*=ua;!$a&&Ga.pageVisible?(Za=Ga.getPageLayout(),Wa-=Za.x*Va.width,bb-=Za.y*Va.height):$a=!0;if(null==Na){Na=PrintDialog.createPrintPreview(Ga,ab,Va,0,Wa,bb,$a);Na.pageSelector=!1;Na.mathEnabled=!1;ha.checked&&(Na.isCellVisible=function(Xa){return Ga.isCellSelected(Xa)});
Wa=t.getCurrentFile();null!=Wa&&(Na.title=Wa.getTitle());var ib=Na.writeHead;Na.writeHead=function(Xa){ib.apply(this,arguments);if(mxClient.IS_GC||mxClient.IS_SF)Xa.writeln('<style type="text/css">'),Xa.writeln(Editor.mathJaxWebkitCss),Xa.writeln("</style>");mxClient.IS_GC&&(Xa.writeln('<style type="text/css">'),Xa.writeln("@media print {"),Xa.writeln("span.MathJax_SVG svg { shape-rendering: crispEdges; }"),Xa.writeln("}"),Xa.writeln("</style>"));null!=t.editor.fontCss&&(Xa.writeln('<style type="text/css">'),
Xa.writeln(t.editor.fontCss),Xa.writeln("</style>"));for(var db=Ga.getCustomFonts(),cb=0;cb<db.length;cb++){var fb=db[cb].name,eb=db[cb].url;Graph.isCssFontUrl(eb)?Xa.writeln('<link rel="stylesheet" href="'+mxUtils.htmlEntities(eb)+'" charset="UTF-8" type="text/css">'):(Xa.writeln('<style type="text/css">'),Xa.writeln('@font-face {\nfont-family: "'+mxUtils.htmlEntities(fb)+'";\nsrc: url("'+mxUtils.htmlEntities(eb)+'");\n}'),Xa.writeln("</style>"))}};if("undefined"!==typeof MathJax){var jb=Na.renderPage;
Na.renderPage=function(Xa,db,cb,fb,eb,lb){var kb=mxClient.NO_FO;mxClient.NO_FO=this.graph.mathEnabled&&!t.editor.useForeignObjectForMath?!0:t.editor.originalNoForeignObject;var gb=jb.apply(this,arguments);mxClient.NO_FO=kb;this.graph.mathEnabled?this.mathEnabled=this.mathEnabled||!0:gb.className="geDisableMathJax";return gb}}Wa=null;bb=P.shapeForegroundColor;$a=P.shapeBackgroundColor;Va=P.enableFlowAnimation;P.enableFlowAnimation=!1;null!=P.themes&&"darkTheme"==P.defaultThemeName&&(Wa=P.stylesheet,
P.stylesheet=P.getDefaultStylesheet(),P.shapeForegroundColor="#000000",P.shapeBackgroundColor="#ffffff",P.refresh());Na.open(null,null,Pa,!0);P.enableFlowAnimation=Va;null!=Wa&&(P.shapeForegroundColor=bb,P.shapeBackgroundColor=$a,P.stylesheet=Wa,P.refresh())}else{Va=Ga.background;if(null==Va||""==Va||Va==mxConstants.NONE)Va="#ffffff";Na.backgroundColor=Va;Na.autoOrigin=$a;Na.appendGraph(Ga,ab,Wa,bb,Pa,!0);Pa=Ga.getCustomFonts();if(null!=Na.wnd)for(Wa=0;Wa<Pa.length;Wa++)bb=Pa[Wa].name,$a=Pa[Wa].url,
Graph.isCssFontUrl($a)?Na.wnd.document.writeln('<link rel="stylesheet" href="'+mxUtils.htmlEntities($a)+'" charset="UTF-8" type="text/css">'):(Na.wnd.document.writeln('<style type="text/css">'),Na.wnd.document.writeln('@font-face {\nfont-family: "'+mxUtils.htmlEntities(bb)+'";\nsrc: url("'+mxUtils.htmlEntities($a)+'");\n}'),Na.wnd.document.writeln("</style>"))}Qa&&(Ga.useCssTransforms=Qa,Ga.currentTranslate=Ya,Ga.currentScale=Oa,Ga.view.translate=Ta,Ga.view.scale=Ua);return Na}var ua=parseInt(sa.value)/
-100;isNaN(ua)&&(ua=1,sa.value="100 %");ua*=.75;var va=null,ia=P.shapeForegroundColor,ra=P.shapeBackgroundColor;null!=P.themes&&"darkTheme"==P.defaultThemeName&&(va=P.stylesheet,P.stylesheet=P.getDefaultStylesheet(),P.shapeForegroundColor="#000000",P.shapeBackgroundColor="#ffffff",P.refresh());var aa=ja.value,ca=ea.value,na=!da.checked,la=null;if(EditorUi.isElectronApp)PrintDialog.electronPrint(t,da.checked,aa,ca,Ca.checked,ya.value,oa.value,parseInt(Da.value)/100,parseInt(sa.value)/100,fa.get());
+100;isNaN(ua)&&(ua=1,sa.value="100 %");ua*=.75;var va=null,ia=P.shapeForegroundColor,ra=P.shapeBackgroundColor;null!=P.themes&&"darkTheme"==P.defaultThemeName&&(va=P.stylesheet,P.stylesheet=P.getDefaultStylesheet(),P.shapeForegroundColor="#000000",P.shapeBackgroundColor="#ffffff",P.refresh());var aa=ja.value,ca=ea.value,na=!da.checked,la=null;if(EditorUi.isElectronApp)PrintDialog.electronPrint(t,da.checked,aa,ca,Ca.checked,ya.value,pa.value,parseInt(Da.value)/100,parseInt(sa.value)/100,fa.get());
else{na&&(na=ha.checked||aa==ba&&ca==ba);if(!na&&null!=t.pages&&t.pages.length){var qa=0;na=t.pages.length-1;da.checked||(qa=parseInt(aa)-1,na=parseInt(ca)-1);for(var ta=qa;ta<=na;ta++){var ka=t.pages[ta];aa=ka==t.currentPage?P:null;if(null==aa){aa=t.createTemporaryGraph(P.stylesheet);aa.shapeForegroundColor=P.shapeForegroundColor;aa.shapeBackgroundColor=P.shapeBackgroundColor;ca=!0;qa=!1;var Ja=null,La=null;null==ka.viewState&&null==ka.root&&t.updatePageRoot(ka);null!=ka.viewState&&(ca=ka.viewState.pageVisible,
qa=ka.viewState.mathEnabled,Ja=ka.viewState.background,La=ka.viewState.backgroundImage,aa.extFonts=ka.viewState.extFonts);null!=La&&null!=La.originalSrc&&(La=t.createImageForPageLink(La.originalSrc,ka));aa.background=Ja;aa.backgroundImage=null!=La?new mxImage(La.src,La.width,La.height,La.x,La.y):null;aa.pageVisible=ca;aa.mathEnabled=qa;var Sa=aa.getGraphBounds;aa.getGraphBounds=function(){var Ga=Sa.apply(this,arguments),Na=this.backgroundImage;if(null!=Na&&null!=Na.width&&null!=Na.height){var Pa=
this.view.translate,Qa=this.view.scale;Ga=mxRectangle.fromRectangle(Ga);Ga.add(new mxRectangle((Pa.x+Na.x)*Qa,(Pa.y+Na.y)*Qa,Na.width*Qa,Na.height*Qa))}return Ga};var Ra=aa.getGlobalVariable;aa.getGlobalVariable=function(Ga){return"page"==Ga?ka.getName():"pagenumber"==Ga?ta+1:"pagecount"==Ga?null!=t.pages?t.pages.length:1:Ra.apply(this,arguments)};document.body.appendChild(aa.container);t.updatePageRoot(ka);aa.model.setRoot(ka.root)}la=wa(aa,la,ta!=na);aa!=P&&aa.container.parentNode.removeChild(aa.container)}}else la=
@@ -11700,17 +11700,17 @@ mxUtils.write(E,mxResources.get("printAllPages"));S.appendChild(E);mxUtils.br(S)
mxUtils.write(E,mxResources.get("to"));S.appendChild(E);var ea=ja.cloneNode(!0);S.appendChild(ea);mxEvent.addListener(ja,"focus",function(){Z.checked=!0});mxEvent.addListener(ea,"focus",function(){Z.checked=!0});mxEvent.addListener(ja,"change",K);mxEvent.addListener(ea,"change",K);if(null!=t.pages&&(Y=t.pages.length,null!=t.currentPage))for(E=0;E<t.pages.length;E++)if(t.currentPage==t.pages[E]){ba=E+1;ja.value=ba;ea.value=ba;break}ja.setAttribute("max",Y);ea.setAttribute("max",Y);t.isPagesEnabled()?
1<Y&&(Q.appendChild(S),Z.checked=!0):Z.checked=!0;mxUtils.br(S);var ha=document.createElement("input");ha.setAttribute("value","all");ha.setAttribute("type","radio");ha.style.marginRight="8px";P.isSelectionEmpty()&&ha.setAttribute("disabled","disabled");var ma=document.createElement("div");ma.style.marginBottom="10px";1==Y?(ha.setAttribute("type","checkbox"),ha.style.marginBottom="12px",ma.appendChild(ha)):(ha.setAttribute("name","pages-printdialog"),ha.style.marginBottom="8px",S.appendChild(ha));
E=document.createElement("span");mxUtils.write(E,mxResources.get("selectionOnly"));ha.parentNode.appendChild(E);1==Y&&mxUtils.br(ha.parentNode);var Aa=document.createElement("input");Aa.style.marginRight="8px";Aa.setAttribute("value","adjust");Aa.setAttribute("type","radio");Aa.setAttribute("name","printZoom");ma.appendChild(Aa);E=document.createElement("span");mxUtils.write(E,mxResources.get("adjustTo"));ma.appendChild(E);var Da=document.createElement("input");Da.style.cssText="margin:0 8px 0 8px;";
-Da.setAttribute("value","100 %");Da.style.width="50px";ma.appendChild(Da);mxEvent.addListener(Da,"focus",function(){Aa.checked=!0});Q.appendChild(ma);S=S.cloneNode(!1);var Ca=Aa.cloneNode(!0);Ca.setAttribute("value","fit");Aa.setAttribute("checked","checked");E=document.createElement("div");E.style.cssText="display:inline-block;vertical-align:top;padding-top:2px;";E.appendChild(Ca);S.appendChild(E);ma=document.createElement("table");ma.style.display="inline-block";var pa=document.createElement("tbody"),
+Da.setAttribute("value","100 %");Da.style.width="50px";ma.appendChild(Da);mxEvent.addListener(Da,"focus",function(){Aa.checked=!0});Q.appendChild(ma);S=S.cloneNode(!1);var Ca=Aa.cloneNode(!0);Ca.setAttribute("value","fit");Aa.setAttribute("checked","checked");E=document.createElement("div");E.style.cssText="display:inline-block;vertical-align:top;padding-top:2px;";E.appendChild(Ca);S.appendChild(E);ma=document.createElement("table");ma.style.display="inline-block";var oa=document.createElement("tbody"),
Ba=document.createElement("tr"),Ea=Ba.cloneNode(!0),Ka=document.createElement("td"),Fa=Ka.cloneNode(!0),Ha=Ka.cloneNode(!0),Ia=Ka.cloneNode(!0),Ma=Ka.cloneNode(!0),za=Ka.cloneNode(!0);Ka.style.textAlign="right";Ia.style.textAlign="right";mxUtils.write(Ka,mxResources.get("fitTo"));var ya=document.createElement("input");ya.style.cssText="margin:0 8px 0 8px;";ya.setAttribute("value","1");ya.setAttribute("min","1");ya.setAttribute("type","number");ya.style.width="40px";Fa.appendChild(ya);E=document.createElement("span");
-mxUtils.write(E,mxResources.get("fitToSheetsAcross"));Ha.appendChild(E);mxUtils.write(Ia,mxResources.get("fitToBy"));var oa=ya.cloneNode(!0);Ma.appendChild(oa);mxEvent.addListener(ya,"focus",function(){Ca.checked=!0});mxEvent.addListener(oa,"focus",function(){Ca.checked=!0});E=document.createElement("span");mxUtils.write(E,mxResources.get("fitToSheetsDown"));za.appendChild(E);Ba.appendChild(Ka);Ba.appendChild(Fa);Ba.appendChild(Ha);Ea.appendChild(Ia);Ea.appendChild(Ma);Ea.appendChild(za);pa.appendChild(Ba);
-pa.appendChild(Ea);ma.appendChild(pa);S.appendChild(ma);Q.appendChild(S);S=document.createElement("div");E=document.createElement("div");E.style.fontWeight="bold";E.style.marginBottom="12px";mxUtils.write(E,mxResources.get("paperSize"));S.appendChild(E);E=document.createElement("div");E.style.marginBottom="12px";var fa=PageSetupDialog.addPageFormatPanel(E,"printdialog",t.editor.graph.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT);S.appendChild(E);E=document.createElement("span");mxUtils.write(E,
+mxUtils.write(E,mxResources.get("fitToSheetsAcross"));Ha.appendChild(E);mxUtils.write(Ia,mxResources.get("fitToBy"));var pa=ya.cloneNode(!0);Ma.appendChild(pa);mxEvent.addListener(ya,"focus",function(){Ca.checked=!0});mxEvent.addListener(pa,"focus",function(){Ca.checked=!0});E=document.createElement("span");mxUtils.write(E,mxResources.get("fitToSheetsDown"));za.appendChild(E);Ba.appendChild(Ka);Ba.appendChild(Fa);Ba.appendChild(Ha);Ea.appendChild(Ia);Ea.appendChild(Ma);Ea.appendChild(za);oa.appendChild(Ba);
+oa.appendChild(Ea);ma.appendChild(oa);S.appendChild(ma);Q.appendChild(S);S=document.createElement("div");E=document.createElement("div");E.style.fontWeight="bold";E.style.marginBottom="12px";mxUtils.write(E,mxResources.get("paperSize"));S.appendChild(E);E=document.createElement("div");E.style.marginBottom="12px";var fa=PageSetupDialog.addPageFormatPanel(E,"printdialog",t.editor.graph.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT);S.appendChild(E);E=document.createElement("span");mxUtils.write(E,
mxResources.get("pageScale"));S.appendChild(E);var sa=document.createElement("input");sa.style.cssText="margin:0 8px 0 8px;";sa.setAttribute("value","100 %");sa.style.width="60px";S.appendChild(sa);Q.appendChild(S);E=document.createElement("div");E.style.cssText="text-align:right;margin:48px 0 0 0;";S=mxUtils.button(mxResources.get("cancel"),function(){t.hideDialog()});S.className="geBtn";t.editor.cancelFirst&&E.appendChild(S);t.isOffline()||(ma=mxUtils.button(mxResources.get("help"),function(){P.openLink("https://www.diagrams.net/doc/faq/print-diagram")}),
ma.className="geBtn",E.appendChild(ma));PrintDialog.previewEnabled&&(ma=mxUtils.button(mxResources.get("preview"),function(){t.hideDialog();T(!1)}),ma.className="geBtn",E.appendChild(ma));ma=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){t.hideDialog();T(!0)});ma.className="geBtn gePrimaryBtn";E.appendChild(ma);t.editor.cancelFirst||E.appendChild(S);Q.appendChild(E);this.container=Q};var V=ChangePageSetup.prototype.execute;ChangePageSetup.prototype.execute=function(){null==
this.page&&(this.page=this.ui.currentPage);if(this.page!=this.ui.currentPage){if(null!=this.page.viewState){this.ignoreColor||(this.page.viewState.background=this.color);if(!this.ignoreImage){var t=this.image;null!=t&&null!=t.src&&Graph.isPageLink(t.src)&&(t={originalSrc:t.src});this.page.viewState.backgroundImage=t}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)}}else 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)};Editor.prototype.useCanvasForExport=!1;try{var U=document.createElement("canvas"),X=new Image;X.onload=function(){try{U.getContext("2d").drawImage(X,
0,0);var t=U.toDataURL("image/png");Editor.prototype.useCanvasForExport=null!=t&&6<t.length}catch(E){}};X.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){}})();
(function(){var b=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);b.beforeDecode=function(e,f,c){c.ui=e.ui;return f};b.afterDecode=function(e,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(){var b=new mxObjectCodec(new ChangeGridColor,["ui"]);b.beforeDecode=function(e,f,c){c.ui=e.ui;return f};mxCodecRegistry.register(b)})();(function(){EditorUi.VERSION="19.0.0";EditorUi.compactUi="atlas"!=uiTheme;Editor.isDarkMode()&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&"1"!=urlParams.lockdown&&(/.*\.draw\.io$/.test(window.location.hostname)||/.*\.diagrams\.net$/.test(window.location.hostname))&&"support.draw.io"!=window.location.hostname;EditorUi.drawHost=window.DRAWIO_BASE_URL;EditorUi.lightboxHost=window.DRAWIO_LIGHTBOX_URL;EditorUi.lastErrorMessage=
+(function(){var b=new mxObjectCodec(new ChangeGridColor,["ui"]);b.beforeDecode=function(e,f,c){c.ui=e.ui;return f};mxCodecRegistry.register(b)})();(function(){EditorUi.VERSION="19.0.1";EditorUi.compactUi="atlas"!=uiTheme;Editor.isDarkMode()&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&"1"!=urlParams.lockdown&&(/.*\.draw\.io$/.test(window.location.hostname)||/.*\.diagrams\.net$/.test(window.location.hostname))&&"support.draw.io"!=window.location.hostname;EditorUi.drawHost=window.DRAWIO_BASE_URL;EditorUi.lightboxHost=window.DRAWIO_LIGHTBOX_URL;EditorUi.lastErrorMessage=
null;EditorUi.ignoredAnonymizedChars="\n\t`~!@#$%^&*()_+{}|:\"<>?-=[];'./,\n\t";EditorUi.templateFile=TEMPLATE_PATH+"/index.xml";EditorUi.cacheUrl=window.REALTIME_URL;null==EditorUi.cacheUrl&&"undefined"!==typeof DrawioFile&&(DrawioFile.SYNC="none");Editor.cacheTimeout=1E4;EditorUi.enablePlantUml=EditorUi.enableLogging;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;EditorUi.nativeFileSupport=!mxClient.IS_OP&&!EditorUi.isElectronApp&&
"1"!=urlParams.extAuth&&"showSaveFilePicker"in window&&"showOpenFilePicker"in window;EditorUi.enableDrafts=!mxClient.IS_CHROMEAPP&&isLocalStorage&&"0"!=urlParams.drafts;EditorUi.scratchpadHelpLink="https://www.diagrams.net/doc/faq/scratchpad";EditorUi.enableHtmlEditOption=!0;EditorUi.defaultMermaidConfig={theme:"neutral",arrowMarkerAbsolute:!1,flowchart:{htmlLabels:!1},sequence:{diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,
mirrorActors:!0,bottomMarginAdj:1,useMaxWidth:!0,rightAngles:!1,showSequenceNumbers:!1},gantt:{titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,leftPadding:75,gridLineStartPadding:35,fontSize:11,fontFamily:'"Open-Sans", "sans-serif"',numberSectionStyles:4,axisFormat:"%Y-%m-%d"}};EditorUi.logError=function(d,g,k,l,p,q,x){q=null!=q?q:0<=d.indexOf("NetworkError")||0<=d.indexOf("SecurityError")||0<=d.indexOf("NS_ERROR_FAILURE")||0<=d.indexOf("out of memory")?"CONFIG":"SEVERE";if(EditorUi.enableLogging&&
@@ -12070,22 +12070,22 @@ d.appendChild(g)}}else mxUtils.write(g,mxResources.get("save")),g.setAttribute("
this.toolbar.staticElements.push(d);d.style.right="atlas"==uiTheme||"1"==urlParams.atlas?"42px":"52px"}};EditorUi.prototype.showImportCsvDialog=function(){null==this.importCsvDialog&&(this.importCsvDialog=new TextareaDialog(this,mxResources.get("csv")+":",Editor.defaultCsvValue,mxUtils.bind(this,function(d){this.importCsv(d)}),null,null,620,430,null,!0,!0,mxResources.get("import"),this.isOffline()?null:"https://drawio-app.com/import-from-csv-to-drawio/"));this.showDialog(this.importCsvDialog.container,
640,520,!0,!0,null,null,null,null,!0);this.importCsvDialog.init()};EditorUi.prototype.loadOrgChartLayouts=function(d){var g=mxUtils.bind(this,function(){this.loadingOrgChart=!1;this.spinner.stop();d()});"undefined"!==typeof mxOrgChartLayout||this.loadingOrgChart||this.isOffline(!0)?g():this.spinner.spin(document.body,mxResources.get("loading"))&&(this.loadingOrgChart=!0,"1"==urlParams.dev?mxscript("js/orgchart/bridge.min.js",function(){mxscript("js/orgchart/bridge.collections.min.js",function(){mxscript("js/orgchart/OrgChart.Layout.min.js",
function(){mxscript("js/orgchart/mxOrgChartLayout.js",g)})})}):mxscript("js/extensions.min.js",g))};EditorUi.prototype.importCsv=function(d,g){this.loadOrgChartLayouts(mxUtils.bind(this,function(){this.doImportCsv(d,g)}))};EditorUi.prototype.doImportCsv=function(d,g){try{var k=d.split("\n"),l=[],p=[],q=[],x={};if(0<k.length){var y={},z=this.editor.graph,A=null,L=null,O=null,M=null,u=null,D=null,B=null,C="whiteSpace=wrap;html=1;",G=null,N=null,I="",F="auto",H="auto",R=!1,W=null,J=null,V=40,U=40,X=
-100,t=0,E=function(){null!=g?g(oa):(z.setSelectionCells(oa),z.scrollCellToVisible(z.getSelectionCell()))},K=z.getFreeInsertPoint(),T=K.x,P=K.y;K=P;var Q=null,S="auto";N=null;for(var Y=[],ba=null,da=null,Z=0;Z<k.length&&"#"==k[Z].charAt(0);){d=k[Z].replace(/\r$/,"");for(Z++;Z<k.length&&"\\"==d.charAt(d.length-1)&&"#"==k[Z].charAt(0);)d=d.substring(0,d.length-1)+mxUtils.trim(k[Z].substring(1)),Z++;if("#"!=d.charAt(1)){var ja=d.indexOf(":");if(0<ja){var ea=mxUtils.trim(d.substring(1,ja)),ha=mxUtils.trim(d.substring(ja+
+100,t=0,E=function(){null!=g?g(pa):(z.setSelectionCells(pa),z.scrollCellToVisible(z.getSelectionCell()))},K=z.getFreeInsertPoint(),T=K.x,P=K.y;K=P;var Q=null,S="auto";N=null;for(var Y=[],ba=null,da=null,Z=0;Z<k.length&&"#"==k[Z].charAt(0);){d=k[Z].replace(/\r$/,"");for(Z++;Z<k.length&&"\\"==d.charAt(d.length-1)&&"#"==k[Z].charAt(0);)d=d.substring(0,d.length-1)+mxUtils.trim(k[Z].substring(1)),Z++;if("#"!=d.charAt(1)){var ja=d.indexOf(":");if(0<ja){var ea=mxUtils.trim(d.substring(1,ja)),ha=mxUtils.trim(d.substring(ja+
1));"label"==ea?Q=z.sanitizeHtml(ha):"labelname"==ea&&0<ha.length&&"-"!=ha?u=ha:"labels"==ea&&0<ha.length&&"-"!=ha?B=JSON.parse(ha):"style"==ea?L=ha:"parentstyle"==ea?C=ha:"unknownStyle"==ea&&"-"!=ha?D=ha:"stylename"==ea&&0<ha.length&&"-"!=ha?M=ha:"styles"==ea&&0<ha.length&&"-"!=ha?O=JSON.parse(ha):"vars"==ea&&0<ha.length&&"-"!=ha?A=JSON.parse(ha):"identity"==ea&&0<ha.length&&"-"!=ha?G=ha:"parent"==ea&&0<ha.length&&"-"!=ha?N=ha:"namespace"==ea&&0<ha.length&&"-"!=ha?I=ha:"width"==ea?F=ha:"height"==
ea?H=ha:"collapsed"==ea&&"-"!=ha?R="true"==ha:"left"==ea&&0<ha.length?W=ha:"top"==ea&&0<ha.length?J=ha:"ignore"==ea?da=ha.split(","):"connect"==ea?Y.push(JSON.parse(ha)):"link"==ea?ba=ha:"padding"==ea?t=parseFloat(ha):"edgespacing"==ea?V=parseFloat(ha):"nodespacing"==ea?U=parseFloat(ha):"levelspacing"==ea?X=parseFloat(ha):"layout"==ea&&(S=ha)}}}if(null==k[Z])throw Error(mxResources.get("invalidOrMissingFile"));var ma=this.editor.csvToArray(k[Z].replace(/\r$/,""));ja=d=null;ea=[];for(ha=0;ha<ma.length;ha++)G==
ma[ha]&&(d=ha),N==ma[ha]&&(ja=ha),ea.push(mxUtils.trim(ma[ha]).replace(/[^a-z0-9]+/ig,"_").replace(/^\d+/,"").replace(/_+$/,""));null==Q&&(Q="%"+ea[0]+"%");if(null!=Y)for(var Aa=0;Aa<Y.length;Aa++)null==y[Y[Aa].to]&&(y[Y[Aa].to]={});G=[];for(ha=Z+1;ha<k.length;ha++){var Da=this.editor.csvToArray(k[ha].replace(/\r$/,""));if(null==Da){var Ca=40<k[ha].length?k[ha].substring(0,40)+"...":k[ha];throw Error(Ca+" ("+ha+"):\n"+mxResources.get("containsValidationErrors"));}0<Da.length&&G.push(Da)}z.model.beginUpdate();
-try{for(ha=0;ha<G.length;ha++){Da=G[ha];var pa=null,Ba=null!=d?I+Da[d]:null;null!=Ba&&(pa=z.model.getCell(Ba));var Ea=new mxCell(Q,new mxGeometry(T,K,0,0),L||"whiteSpace=wrap;html=1;");Ea.collapsed=R;Ea.vertex=!0;Ea.id=Ba;null!=pa&&z.model.setCollapsed(pa,R);for(var Ka=0;Ka<Da.length;Ka++)z.setAttributeForCell(Ea,ea[Ka],Da[Ka]),null!=pa&&z.setAttributeForCell(pa,ea[Ka],Da[Ka]);if(null!=u&&null!=B){var Fa=B[Ea.getAttribute(u)];null!=Fa&&(z.labelChanged(Ea,Fa),null!=pa&&z.cellLabelChanged(pa,Fa))}if(null!=
-M&&null!=O){var Ha=O[Ea.getAttribute(M)];null!=Ha&&(Ea.style=Ha)}z.setAttributeForCell(Ea,"placeholders","1");Ea.style=z.replacePlaceholders(Ea,Ea.style,A);null!=pa?(z.model.setStyle(pa,Ea.style),0>mxUtils.indexOf(q,pa)&&q.push(pa),z.fireEvent(new mxEventObject("cellsInserted","cells",[pa]))):z.fireEvent(new mxEventObject("cellsInserted","cells",[Ea]));k=null!=pa;pa=Ea;if(!k)for(Aa=0;Aa<Y.length;Aa++)y[Y[Aa].to][pa.getAttribute(Y[Aa].to)]=pa;null!=ba&&"link"!=ba&&(z.setLinkForCell(pa,pa.getAttribute(ba)),
-z.setAttributeForCell(pa,ba,null));var Ia=this.editor.graph.getPreferredSizeForCell(pa);N=null!=ja?z.model.getCell(I+Da[ja]):null;if(pa.vertex){Ca=null!=N?0:T;Z=null!=N?0:P;null!=W&&null!=pa.getAttribute(W)&&(pa.geometry.x=Ca+parseFloat(pa.getAttribute(W)));null!=J&&null!=pa.getAttribute(J)&&(pa.geometry.y=Z+parseFloat(pa.getAttribute(J)));var Ma="@"==F.charAt(0)?pa.getAttribute(F.substring(1)):null;pa.geometry.width=null!=Ma&&"auto"!=Ma?parseFloat(pa.getAttribute(F.substring(1))):"auto"==F||"auto"==
-Ma?Ia.width+t:parseFloat(F);var za="@"==H.charAt(0)?pa.getAttribute(H.substring(1)):null;pa.geometry.height=null!=za&&"auto"!=za?parseFloat(za):"auto"==H||"auto"==za?Ia.height+t:parseFloat(H);K+=pa.geometry.height+U}k?(null==x[Ba]&&(x[Ba]=[]),x[Ba].push(pa)):(l.push(pa),null!=N?(N.style=z.replacePlaceholders(N,C,A),z.addCell(pa,N),p.push(N)):q.push(z.addCell(pa)))}for(ha=0;ha<p.length;ha++)Ma="@"==F.charAt(0)?p[ha].getAttribute(F.substring(1)):null,za="@"==H.charAt(0)?p[ha].getAttribute(H.substring(1)):
-null,"auto"!=F&&"auto"!=Ma||"auto"!=H&&"auto"!=za||z.updateGroupBounds([p[ha]],t,!0);var ya=q.slice(),oa=q.slice();for(Aa=0;Aa<Y.length;Aa++){var fa=Y[Aa];for(ha=0;ha<l.length;ha++){pa=l[ha];var sa=mxUtils.bind(this,function(ta,ka,Ja){var La=ka.getAttribute(Ja.from);if(null!=La&&""!=La){La=La.split(",");for(var Sa=0;Sa<La.length;Sa++){var Ra=y[Ja.to][La[Sa]];if(null==Ra&&null!=D){Ra=new mxCell(La[Sa],new mxGeometry(T,P,0,0),D);Ra.style=z.replacePlaceholders(ka,Ra.style,A);var Ga=this.editor.graph.getPreferredSizeForCell(Ra);
+try{for(ha=0;ha<G.length;ha++){Da=G[ha];var oa=null,Ba=null!=d?I+Da[d]:null;k=!1;null!=Ba&&(oa=z.model.getCell(Ba),k=null==oa||0<=mxUtils.indexOf(l,oa));var Ea=new mxCell(Q,new mxGeometry(T,K,0,0),L||"whiteSpace=wrap;html=1;");Ea.collapsed=R;Ea.vertex=!0;Ea.id=Ba;null==oa||k||z.model.setCollapsed(oa,R);for(var Ka=0;Ka<Da.length;Ka++)z.setAttributeForCell(Ea,ea[Ka],Da[Ka]),null==oa||k||z.setAttributeForCell(oa,ea[Ka],Da[Ka]);if(null!=u&&null!=B){var Fa=B[Ea.getAttribute(u)];null!=Fa&&(z.labelChanged(Ea,
+Fa),null==oa||k||z.cellLabelChanged(oa,Fa))}if(null!=M&&null!=O){var Ha=O[Ea.getAttribute(M)];null!=Ha&&(Ea.style=Ha)}z.setAttributeForCell(Ea,"placeholders","1");Ea.style=z.replacePlaceholders(Ea,Ea.style,A);null!=oa?(z.model.setStyle(oa,Ea.style),0>mxUtils.indexOf(q,oa)&&q.push(oa),z.fireEvent(new mxEventObject("cellsInserted","cells",[oa]))):z.fireEvent(new mxEventObject("cellsInserted","cells",[Ea]));k=null!=oa;oa=Ea;if(!k)for(Aa=0;Aa<Y.length;Aa++)y[Y[Aa].to][oa.getAttribute(Y[Aa].to)]=oa;null!=
+ba&&"link"!=ba&&(z.setLinkForCell(oa,oa.getAttribute(ba)),z.setAttributeForCell(oa,ba,null));var Ia=this.editor.graph.getPreferredSizeForCell(oa);N=null!=ja?z.model.getCell(I+Da[ja]):null;if(oa.vertex){Ca=null!=N?0:T;Z=null!=N?0:P;null!=W&&null!=oa.getAttribute(W)&&(oa.geometry.x=Ca+parseFloat(oa.getAttribute(W)));null!=J&&null!=oa.getAttribute(J)&&(oa.geometry.y=Z+parseFloat(oa.getAttribute(J)));var Ma="@"==F.charAt(0)?oa.getAttribute(F.substring(1)):null;oa.geometry.width=null!=Ma&&"auto"!=Ma?parseFloat(oa.getAttribute(F.substring(1))):
+"auto"==F||"auto"==Ma?Ia.width+t:parseFloat(F);var za="@"==H.charAt(0)?oa.getAttribute(H.substring(1)):null;oa.geometry.height=null!=za&&"auto"!=za?parseFloat(za):"auto"==H||"auto"==za?Ia.height+t:parseFloat(H);K+=oa.geometry.height+U}k?(null==x[Ba]&&(x[Ba]=[]),x[Ba].push(oa)):(l.push(oa),null!=N?(N.style=z.replacePlaceholders(N,C,A),z.addCell(oa,N),p.push(N)):q.push(z.addCell(oa)))}for(ha=0;ha<p.length;ha++)Ma="@"==F.charAt(0)?p[ha].getAttribute(F.substring(1)):null,za="@"==H.charAt(0)?p[ha].getAttribute(H.substring(1)):
+null,"auto"!=F&&"auto"!=Ma||"auto"!=H&&"auto"!=za||z.updateGroupBounds([p[ha]],t,!0);var ya=q.slice(),pa=q.slice();for(Aa=0;Aa<Y.length;Aa++){var fa=Y[Aa];for(ha=0;ha<l.length;ha++){oa=l[ha];var sa=mxUtils.bind(this,function(ta,ka,Ja){var La=ka.getAttribute(Ja.from);if(null!=La&&""!=La){La=La.split(",");for(var Sa=0;Sa<La.length;Sa++){var Ra=y[Ja.to][La[Sa]];if(null==Ra&&null!=D){Ra=new mxCell(La[Sa],new mxGeometry(T,P,0,0),D);Ra.style=z.replacePlaceholders(ka,Ra.style,A);var Ga=this.editor.graph.getPreferredSizeForCell(Ra);
Ra.geometry.width=Ga.width+t;Ra.geometry.height=Ga.height+t;y[Ja.to][La[Sa]]=Ra;Ra.vertex=!0;Ra.id=La[Sa];q.push(z.addCell(Ra))}if(null!=Ra){Ga=Ja.label;null!=Ja.fromlabel&&(Ga=(ka.getAttribute(Ja.fromlabel)||"")+(Ga||""));null!=Ja.sourcelabel&&(Ga=z.replacePlaceholders(ka,Ja.sourcelabel,A)+(Ga||""));null!=Ja.tolabel&&(Ga=(Ga||"")+(Ra.getAttribute(Ja.tolabel)||""));null!=Ja.targetlabel&&(Ga=(Ga||"")+z.replacePlaceholders(Ra,Ja.targetlabel,A));var Na="target"==Ja.placeholders==!Ja.invert?Ra:ta;Na=
null!=Ja.style?z.replacePlaceholders(Na,Ja.style,A):z.createCurrentEdgeStyle();Ga=z.insertEdge(null,null,Ga||"",Ja.invert?Ra:ta,Ja.invert?ta:Ra,Na);if(null!=Ja.labels)for(Na=0;Na<Ja.labels.length;Na++){var Pa=Ja.labels[Na],Qa=new mxCell(Pa.label||Na,new mxGeometry(null!=Pa.x?Pa.x:0,null!=Pa.y?Pa.y:0,0,0),"resizable=0;html=1;");Qa.vertex=!0;Qa.connectable=!1;Qa.geometry.relative=!0;null!=Pa.placeholders&&(Qa.value=z.replacePlaceholders("target"==Pa.placeholders==!Ja.invert?Ra:ta,Qa.value,A));if(null!=
-Pa.dx||null!=Pa.dy)Qa.geometry.offset=new mxPoint(null!=Pa.dx?Pa.dx:0,null!=Pa.dy?Pa.dy:0);Ga.insert(Qa)}oa.push(Ga);mxUtils.remove(Ja.invert?ta:Ra,ya)}}}});sa(pa,pa,fa);if(null!=x[pa.id])for(Ka=0;Ka<x[pa.id].length;Ka++)sa(pa,x[pa.id][Ka],fa)}}if(null!=da)for(ha=0;ha<l.length;ha++)for(pa=l[ha],Ka=0;Ka<da.length;Ka++)z.setAttributeForCell(pa,mxUtils.trim(da[Ka]),null);if(0<q.length){var xa=new mxParallelEdgeLayout(z);xa.spacing=V;xa.checkOverlap=!0;var wa=function(){0<xa.spacing&&xa.execute(z.getDefaultParent());
+Pa.dx||null!=Pa.dy)Qa.geometry.offset=new mxPoint(null!=Pa.dx?Pa.dx:0,null!=Pa.dy?Pa.dy:0);Ga.insert(Qa)}pa.push(Ga);mxUtils.remove(Ja.invert?ta:Ra,ya)}}}});sa(oa,oa,fa);if(null!=x[oa.id])for(Ka=0;Ka<x[oa.id].length;Ka++)sa(oa,x[oa.id][Ka],fa)}}if(null!=da)for(ha=0;ha<l.length;ha++)for(oa=l[ha],Ka=0;Ka<da.length;Ka++)z.setAttributeForCell(oa,mxUtils.trim(da[Ka]),null);if(0<q.length){var xa=new mxParallelEdgeLayout(z);xa.spacing=V;xa.checkOverlap=!0;var wa=function(){0<xa.spacing&&xa.execute(z.getDefaultParent());
for(var ta=0;ta<q.length;ta++){var ka=z.getCellGeometry(q[ta]);ka.x=Math.round(z.snap(ka.x));ka.y=Math.round(z.snap(ka.y));"auto"==F&&(ka.width=Math.round(z.snap(ka.width)));"auto"==H&&(ka.height=Math.round(z.snap(ka.height)))}};if("["==S.charAt(0)){var ua=E;z.view.validate();this.executeLayouts(z.createLayouts(JSON.parse(S)),function(){wa();ua()});E=null}else if("circle"==S){var va=new mxCircleLayout(z);va.disableEdgeStyle=!1;va.resetEdges=!1;var ia=va.isVertexIgnored;va.isVertexIgnored=function(ta){return ia.apply(this,
-arguments)||0>mxUtils.indexOf(q,ta)};this.executeLayout(function(){va.execute(z.getDefaultParent());wa()},!0,E);E=null}else if("horizontaltree"==S||"verticaltree"==S||"auto"==S&&oa.length==2*q.length-1&&1==ya.length){z.view.validate();var ra=new mxCompactTreeLayout(z,"horizontaltree"==S);ra.levelDistance=U;ra.edgeRouting=!1;ra.resetEdges=!1;this.executeLayout(function(){ra.execute(z.getDefaultParent(),0<ya.length?ya[0]:null)},!0,E);E=null}else if("horizontalflow"==S||"verticalflow"==S||"auto"==S&&
-1==ya.length){z.view.validate();var aa=new mxHierarchicalLayout(z,"horizontalflow"==S?mxConstants.DIRECTION_WEST:mxConstants.DIRECTION_NORTH);aa.intraCellSpacing=U;aa.parallelEdgeSpacing=V;aa.interRankCellSpacing=X;aa.disableEdgeStyle=!1;this.executeLayout(function(){aa.execute(z.getDefaultParent(),oa);z.moveCells(oa,T,P)},!0,E);E=null}else if("orgchart"==S){z.view.validate();var ca=new mxOrgChartLayout(z,2,X,U),na=ca.isVertexIgnored;ca.isVertexIgnored=function(ta){return na.apply(this,arguments)||
-0>mxUtils.indexOf(q,ta)};this.executeLayout(function(){ca.execute(z.getDefaultParent());wa()},!0,E);E=null}else if("organic"==S||"auto"==S&&oa.length>q.length){z.view.validate();var la=new mxFastOrganicLayout(z);la.forceConstant=3*U;la.disableEdgeStyle=!1;la.resetEdges=!1;var qa=la.isVertexIgnored;la.isVertexIgnored=function(ta){return qa.apply(this,arguments)||0>mxUtils.indexOf(q,ta)};this.executeLayout(function(){la.execute(z.getDefaultParent());wa()},!0,E);E=null}}this.hideDialog()}finally{z.model.endUpdate()}null!=
+arguments)||0>mxUtils.indexOf(q,ta)};this.executeLayout(function(){va.execute(z.getDefaultParent());wa()},!0,E);E=null}else if("horizontaltree"==S||"verticaltree"==S||"auto"==S&&pa.length==2*q.length-1&&1==ya.length){z.view.validate();var ra=new mxCompactTreeLayout(z,"horizontaltree"==S);ra.levelDistance=U;ra.edgeRouting=!1;ra.resetEdges=!1;this.executeLayout(function(){ra.execute(z.getDefaultParent(),0<ya.length?ya[0]:null)},!0,E);E=null}else if("horizontalflow"==S||"verticalflow"==S||"auto"==S&&
+1==ya.length){z.view.validate();var aa=new mxHierarchicalLayout(z,"horizontalflow"==S?mxConstants.DIRECTION_WEST:mxConstants.DIRECTION_NORTH);aa.intraCellSpacing=U;aa.parallelEdgeSpacing=V;aa.interRankCellSpacing=X;aa.disableEdgeStyle=!1;this.executeLayout(function(){aa.execute(z.getDefaultParent(),pa);z.moveCells(pa,T,P)},!0,E);E=null}else if("orgchart"==S){z.view.validate();var ca=new mxOrgChartLayout(z,2,X,U),na=ca.isVertexIgnored;ca.isVertexIgnored=function(ta){return na.apply(this,arguments)||
+0>mxUtils.indexOf(q,ta)};this.executeLayout(function(){ca.execute(z.getDefaultParent());wa()},!0,E);E=null}else if("organic"==S||"auto"==S&&pa.length>q.length){z.view.validate();var la=new mxFastOrganicLayout(z);la.forceConstant=3*U;la.disableEdgeStyle=!1;la.resetEdges=!1;var qa=la.isVertexIgnored;la.isVertexIgnored=function(ta){return qa.apply(this,arguments)||0>mxUtils.indexOf(q,ta)};this.executeLayout(function(){la.execute(z.getDefaultParent());wa()},!0,E);E=null}}this.hideDialog()}finally{z.model.endUpdate()}null!=
E&&E()}}catch(ta){this.handleError(ta)}};EditorUi.prototype.getSearch=function(d){var g="";if("1"!=urlParams.offline&&"1"!=urlParams.demo&&null!=d&&0<window.location.search.length){var k="?",l;for(l in urlParams)0>mxUtils.indexOf(d,l)&&null!=urlParams[l]&&(g+=k+l+"="+urlParams[l],k="&")}else g=window.location.search;return g};EditorUi.prototype.getUrl=function(d){d=null!=d?d:window.location.pathname;var g=0<d.indexOf("?")?1:0;if("1"==urlParams.offline)d+=window.location.search;else{var k="tmp libs clibs state fileId code share notitle data url embed client create title splash".split(" "),
l;for(l in urlParams)0>mxUtils.indexOf(k,l)&&(d=0==g?d+"?":d+"&",null!=urlParams[l]&&(d+=l+"="+urlParams[l],g++))}return d};EditorUi.prototype.showLinkDialog=function(d,g,k,l,p){d=new LinkDialog(this,d,g,k,!0,l,p);this.showDialog(d.container,560,130,!0,!0);d.init()};EditorUi.prototype.getServiceCount=function(d){var g=1;null==this.drive&&"function"!==typeof window.DriveClient||g++;null==this.dropbox&&"function"!==typeof window.DropboxClient||g++;null==this.oneDrive&&"function"!==typeof window.OneDriveClient||
g++;null!=this.gitHub&&g++;null!=this.gitLab&&g++;d&&isLocalStorage&&"1"==urlParams.browser&&g++;return g};EditorUi.prototype.updateUi=function(){this.updateButtonContainer();this.updateActionStates();var d=this.getCurrentFile(),g=null!=d||"1"==urlParams.embed&&this.editor.graph.isEnabled();this.menus.get("viewPanels").setEnabled(g);this.menus.get("viewZoom").setEnabled(g);var k=("1"!=urlParams.embed||!this.editor.graph.isEnabled())&&(null==d||d.isRestricted());this.actions.get("makeCopy").setEnabled(!k);
@@ -12555,14 +12555,14 @@ ba&&(da="data:image/png;base64,"+Editor.base64Encode(da),da=Editor.extractGraphM
null,null,function(P){console.log(P)},600,null,null,null,null,null,F):(v(H,void 0),n(H))}function L(P){function Q(S){E.style.background="transparent";E.innerHTML="";var Y=document.createElement("div");Y.className="odPreviewStatus";mxUtils.write(Y,S);E.appendChild(Y);N.stop()}if(null!=E)if(E.style.background="transparent",E.innerHTML="",null==P||P.folder||/\.drawiolib$/.test(P.name))Q(mxResources.get("noPreview"));else try{null!=P.remoteItem&&(P=P.remoteItem),U=P,N.spin(E),z(P,function(S){N.stop();
if(U==P)if("mxlibrary"==S.documentElement.nodeName)Q(mxResources.get("noPreview"));else{var Y=S.getElementsByTagName("diagram");F=AspectDialog.prototype.createViewer(E,0==Y.length?S.documentElement:Y[0],null,"transparent")}},function(){H=null;Q(mxResources.get("notADiagramFile"))})}catch(S){H=null,Q(mxResources.get("notADiagramFile"))}}function O(){var P=y(".odFilesBreadcrumb");if(null!=P){P.innerHTML="";for(var Q=0;Q<J.length-1;Q++){var S=document.createElement("span");S.className="odBCFolder";S.innerHTML=
mxUtils.htmlEntities(J[Q].name||mxResources.get("home"));P.appendChild(S);(function(ba,da){S.addEventListener("click",function(){e(null);J=J.slice(0,da);u(ba.driveId,ba.folderId,ba.siteId,ba.name)})})(J[Q],Q);var Y=document.createElement("span");Y.innerHTML=" &gt; ";P.appendChild(Y)}null!=J[J.length-1]&&(Q=document.createElement("span"),Q.innerHTML=mxUtils.htmlEntities(1==J.length?mxResources.get("officeSelDiag"):J[J.length-1].name||mxResources.get("home")),P.appendChild(Q))}}function M(){if(null!=
-H&&!W)if("sharepoint"==R)u("site",null,H.id,H.displayName);else if("site"==R)u("subsite",null,H.id,H.name);else{var P=H.folder;H=H.remoteItem?H.remoteItem:H;var Q=(H.parentReference?H.parentReference.driveId:null)||R,S=H.id;P?u(Q,S,null,H.name):A()}}function u(P,Q,S,Y,ba){function da(Ca){N.stop();var pa=document.createElement("table");pa.className="odFileListGrid";for(var Ba=null,Ea=0,Ka=0;null!=Ca&&Ka<Ca.length;Ka++){var Fa=Ca[Ka];if(1!=ja||!Fa.webUrl||0<Fa.webUrl.indexOf("sharepoint.com/sites/")||
-0>Fa.webUrl.indexOf("sharepoint.com/")){var Ha=Fa.displayName||Fa.name,Ia=mxUtils.htmlEntities(Fa.description||Ha);ja&&(Fa.folder=2==ja?{isRoot:!0}:!0);var Ma=null!=Fa.folder;if(!g||Ma){var za=document.createElement("tr");za.className=Ea++%2?"odOddRow":"odEvenRow";var ya=document.createElement("td");ya.style.width="36px";var oa=document.createElement("img");oa.src="/images/"+(Ma?"folder.png":"file.png");oa.className="odFileImg";ya.appendChild(oa);za.appendChild(ya);ya=document.createElement("td");
-Ma=document.createElement("div");Ma.className="odFileTitle";Ma.innerHTML=mxUtils.htmlEntities(Ha);Ma.setAttribute("title",Ia);ya.appendChild(Ma);za.appendChild(ya);pa.appendChild(za);null==Ba&&(Ba=za,Ba.className+=" odRowSelected",H=Fa,R=P,x||e(H));(function(fa,sa){za.addEventListener("dblclick",M);za.addEventListener("click",function(){Ba!=sa&&(Ba.className=Ba.className.replace("odRowSelected",""),Ba=sa,Ba.className+=" odRowSelected",H=fa,R=P,x||e(H))})})(Fa,za)}}}0==Ea?(Ca=document.createElement("div"),
-Ca.className="odEmptyFolder",Ca.innerHTML=mxUtils.htmlEntities(mxResources.get("folderEmpty",null,"Folder is empty!")),ha.appendChild(Ca)):ha.appendChild(pa);O();W=!1}if(!W){y(".odCatsList").style.display="block";y(".odFilesSec").style.display="block";null!=E&&(E.innerHTML="",E.style.top="50%");var Z=W=!0,ja=0;V=arguments;var ea=setTimeout(function(){W=Z=!1;N.stop();d(mxResources.get("timeout"))},2E4),ha=y(".odFilesList");ha.innerHTML="";N.spin(ha);switch(P){case "recent":J=[{name:mxResources.get("recent",
+H&&!W)if("sharepoint"==R)u("site",null,H.id,H.displayName);else if("site"==R)u("subsite",null,H.id,H.name);else{var P=H.folder;H=H.remoteItem?H.remoteItem:H;var Q=(H.parentReference?H.parentReference.driveId:null)||R,S=H.id;P?u(Q,S,null,H.name):A()}}function u(P,Q,S,Y,ba){function da(Ca){N.stop();var oa=document.createElement("table");oa.className="odFileListGrid";for(var Ba=null,Ea=0,Ka=0;null!=Ca&&Ka<Ca.length;Ka++){var Fa=Ca[Ka];if(1!=ja||!Fa.webUrl||0<Fa.webUrl.indexOf("sharepoint.com/sites/")||
+0>Fa.webUrl.indexOf("sharepoint.com/")){var Ha=Fa.displayName||Fa.name,Ia=mxUtils.htmlEntities(Fa.description||Ha);ja&&(Fa.folder=2==ja?{isRoot:!0}:!0);var Ma=null!=Fa.folder;if(!g||Ma){var za=document.createElement("tr");za.className=Ea++%2?"odOddRow":"odEvenRow";var ya=document.createElement("td");ya.style.width="36px";var pa=document.createElement("img");pa.src="/images/"+(Ma?"folder.png":"file.png");pa.className="odFileImg";ya.appendChild(pa);za.appendChild(ya);ya=document.createElement("td");
+Ma=document.createElement("div");Ma.className="odFileTitle";Ma.innerHTML=mxUtils.htmlEntities(Ha);Ma.setAttribute("title",Ia);ya.appendChild(Ma);za.appendChild(ya);oa.appendChild(za);null==Ba&&(Ba=za,Ba.className+=" odRowSelected",H=Fa,R=P,x||e(H));(function(fa,sa){za.addEventListener("dblclick",M);za.addEventListener("click",function(){Ba!=sa&&(Ba.className=Ba.className.replace("odRowSelected",""),Ba=sa,Ba.className+=" odRowSelected",H=fa,R=P,x||e(H))})})(Fa,za)}}}0==Ea?(Ca=document.createElement("div"),
+Ca.className="odEmptyFolder",Ca.innerHTML=mxUtils.htmlEntities(mxResources.get("folderEmpty",null,"Folder is empty!")),ha.appendChild(Ca)):ha.appendChild(oa);O();W=!1}if(!W){y(".odCatsList").style.display="block";y(".odFilesSec").style.display="block";null!=E&&(E.innerHTML="",E.style.top="50%");var Z=W=!0,ja=0;V=arguments;var ea=setTimeout(function(){W=Z=!1;N.stop();d(mxResources.get("timeout"))},2E4),ha=y(".odFilesList");ha.innerHTML="";N.spin(ha);switch(P){case "recent":J=[{name:mxResources.get("recent",
null,"Recent"),driveId:P}];var ma=m()||{};var Aa=[],Da;for(Da in ma)Aa.push(ma[Da]);clearTimeout(ea);da(Aa);return;case "shared":ma="/me/drive/sharedWithMe";J=[{name:mxResources.get("sharedWithMe",null,"Shared With Me"),driveId:P}];break;case "sharepoint":ma="/sites?search=";J=[{name:mxResources.get("sharepointSites",null,"Sharepoint Sites"),driveId:P}];ja=1;break;case "site":J.push({name:Y,driveId:P,folderId:Q,siteId:S});ma="/sites/"+S+"/drives";ja=2;break;case "subsite":J.push({name:Y,driveId:P,
folderId:Q,siteId:S});ma="/drives/"+S+(Q?"/items/"+Q:"/root")+"/children";break;case "search":P=R;J=[{driveId:P,name:mxResources.get("back",null,"Back")}];ba=encodeURIComponent(ba.replace(/'/g,"\\'"));ma=P?"/drives/"+P+"/root/search(q='"+ba+"')":"/me/drive/root/search(q='"+ba+"')";break;default:null==Q?J=[{driveId:P}]:J.push({name:Y,driveId:P,folderId:Q}),ma=(P?"/drives/"+P:"/me/drive")+(Q?"/items/"+Q:"/root")+"/children"}ja||(ma+=(0<ma.indexOf("?")?"&":"?")+"select=id,name,description,parentReference,file,createdBy,lastModifiedBy,lastModifiedDateTime,size,folder,remoteItem,@microsoft.graph.downloadUrl");
-f(ma,function(Ca){if(Z){clearTimeout(ea);Ca=Ca.value||[];for(var pa=x||ja?Ca:[],Ba=0;!ja&&!x&&Ba<Ca.length;Ba++){var Ea=Ca[Ba],Ka=Ea.file?Ea.file.mimeType:null;(Ea.folder||"text/html"==Ka||"text/xml"==Ka||"application/xml"==Ka||"image/png"==Ka||/\.svg$/.test(Ea.name)||/\.html$/.test(Ea.name)||/\.xml$/.test(Ea.name)||/\.png$/.test(Ea.name)||/\.drawio$/.test(Ea.name)||/\.drawiolib$/.test(Ea.name))&&pa.push(Ea)}da(pa)}},function(Ca){if(Z){clearTimeout(ea);var pa=null;try{pa=JSON.parse(Ca.responseText).error.message}catch(Ba){}d(mxResources.get("errorFetchingFolder",
-null,"Error fetching folder items")+(null!=pa?" ("+pa+")":""));W=!1;N.stop()}})}}function D(P){K.className=K.className.replace("odCatSelected","");K=P;K.className+=" odCatSelected"}function B(P){W||(T=null,u("search",null,null,null,P))}var C="";null==e&&(e=L,C='<div style="text-align: center;" class="odPreview"></div>');null==m&&(m=function(){var P=null;try{P=JSON.parse(localStorage.getItem("mxODPickerRecentList"))}catch(Q){}return P});null==n&&(n=function(P){if(null!=P){var Q=m()||{};delete P["@microsoft.graph.downloadUrl"];
+f(ma,function(Ca){if(Z){clearTimeout(ea);Ca=Ca.value||[];for(var oa=x||ja?Ca:[],Ba=0;!ja&&!x&&Ba<Ca.length;Ba++){var Ea=Ca[Ba],Ka=Ea.file?Ea.file.mimeType:null;(Ea.folder||"text/html"==Ka||"text/xml"==Ka||"application/xml"==Ka||"image/png"==Ka||/\.svg$/.test(Ea.name)||/\.html$/.test(Ea.name)||/\.xml$/.test(Ea.name)||/\.png$/.test(Ea.name)||/\.drawio$/.test(Ea.name)||/\.drawiolib$/.test(Ea.name))&&oa.push(Ea)}da(oa)}},function(Ca){if(Z){clearTimeout(ea);var oa=null;try{oa=JSON.parse(Ca.responseText).error.message}catch(Ba){}d(mxResources.get("errorFetchingFolder",
+null,"Error fetching folder items")+(null!=oa?" ("+oa+")":""));W=!1;N.stop()}})}}function D(P){K.className=K.className.replace("odCatSelected","");K=P;K.className+=" odCatSelected"}function B(P){W||(T=null,u("search",null,null,null,P))}var C="";null==e&&(e=L,C='<div style="text-align: center;" class="odPreview"></div>');null==m&&(m=function(){var P=null;try{P=JSON.parse(localStorage.getItem("mxODPickerRecentList"))}catch(Q){}return P});null==n&&(n=function(P){if(null!=P){var Q=m()||{};delete P["@microsoft.graph.downloadUrl"];
Q[P.id]=P;localStorage.setItem("mxODPickerRecentList",JSON.stringify(Q))}});C='<div class="odCatsList"><div class="odCatsListLbl">OneDrive</div><div id="odFiles" class="odCatListTitle odCatSelected">'+mxUtils.htmlEntities(mxResources.get("files"))+'</div><div id="odRecent" class="odCatListTitle">'+mxUtils.htmlEntities(mxResources.get("recent"))+'</div><div id="odShared" class="odCatListTitle">'+mxUtils.htmlEntities(mxResources.get("shared"))+'</div><div id="odSharepoint" class="odCatListTitle">'+
mxUtils.htmlEntities(mxResources.get("sharepoint"))+'</div></div><div class="odFilesSec"><div class="searchBar" style="display:none"><input type="search" id="odSearchBox" placeholder="'+mxUtils.htmlEntities(mxResources.get("search"))+'"></div><div class="odFilesBreadcrumb"></div><div id="refreshOD" class="odRefreshButton"><img src="/images/update32.png" width="16" height="16" title="'+mxUtils.htmlEntities(mxResources.get("refresh"))+'Refresh" border="0"/></div><div class="odFilesList"></div></div>'+
C+(k?'<div id="odBackBtn" class="odLinkBtn">&lt; '+mxUtils.htmlEntities(mxResources.get("back"))+"</div>":"")+(l?'<button id="odSubmitBtn" class="odSubmitBtn">'+mxUtils.htmlEntities(mxResources.get(g?"save":"open"))+"</button>":"");var G=null!=window.Editor&&null!=Editor.isDarkMode&&Editor.isDarkMode();G=".odCatsList *, .odFilesSec * { user-select: none; }.odCatsList {\tbox-sizing: border-box;\tposition:absolute;\ttop:0px;\tbottom:50%;\twidth:30%;\tborder: 1px solid #CCCCCC;\tborder-bottom:none;\tdisplay: inline-block;\toverflow-x: hidden;\toverflow-y: auto;}.odCatsListLbl {\theight: 17px;\tcolor: #6D6D6D;\tfont-size: 14px;\tfont-weight: bold;\tline-height: 17px;\tmargin: 10px 0 3px 5px;}.odFilesSec {\tbox-sizing: border-box;\tposition:absolute;\tleft:30%;\ttop:0px;\tbottom:50%;\twidth: 70%;\tborder: 1px solid #CCCCCC;\tborder-left:none;\tborder-bottom:none;\tdisplay: inline-block;\toverflow: hidden;}.odFilesBreadcrumb {\tbox-sizing: border-box;\tposition:absolute;\tmin-height: 32px;\tleft:0px;\tright:20px;\ttext-overflow:ellipsis;\toverflow:hidden;\tfont-size: 13px;\tcolor: #6D6D6D;\tpadding: 5px;}.odRefreshButton {\tbox-sizing: border-box;\tposition:absolute;\tright:0px;\ttop:0px;\tpadding: 4px;\tmargin: 1px;\theight:24px;\tcursor:default;}.odRefreshButton>img {\topacity:0.5;}.odRefreshButton:hover {\tbackground-color:#ddd;\tborder-radius:50%;}.odRefreshButton:active {\topacity:0.7;}.odFilesList {\tbox-sizing: border-box;\tposition:absolute;\ttop:32px;\tbottom:0px;\twidth: 100%;\toverflow-x: hidden;\toverflow-y: auto;}.odFileImg {\twidth: 24px;\tpadding-left: 5px;\tpadding-right: 5px;}.odFileTitle {\tcursor: default;\tfont-weight: normal;\tcolor: #666666 !important;\twidth: calc(100% - 20px);\twhite-space: nowrap;\toverflow: hidden;\ttext-overflow: ellipsis;}.odFileListGrid {\twidth: 100%;\twhite-space: nowrap;\tfont-size: 13px; box-sizing: border-box; border-spacing: 0;}.odOddRow {"+
@@ -13204,15 +13204,15 @@ ca(F.sidebar.createEdgeTemplateFromCells([la],la.geometry.width,40,mxResources.g
"none";fa.style.opacity="0.7";fa.style.padding="6px";fa.style.margin="0px";fa.style.width="37px";ca(fa,null,"pointer");fa=B("insert",null,Editor.plusImage);fa.style.boxShadow="none";fa.style.opacity="0.7";fa.style.padding="6px";fa.style.margin="0px";fa.style.width="37px";ca(fa,null,"pointer")}"1"!=urlParams.embedInline&&T.appendChild(ea)});mxEvent.addListener(ea,"click",mxUtils.bind(this,function(){ha?(mxUtils.setPrefixedStyle(T.style,"transform","translate(0, -50%)"),T.style.padding="8px 6px 4px",
T.style.top="50%",T.style.bottom="",T.style.height="",ea.style.backgroundImage="url("+mxWindow.prototype.normalizeImage+")",ea.style.width="40px",ea.style.height="12px",ea.setAttribute("title","Minimize"),ha=!1,ma()):(T.innerHTML="",T.appendChild(ea),mxUtils.setPrefixedStyle(T.style,"transform","translate(0, 0)"),T.style.top="",T.style.bottom="12px",T.style.padding="0px",T.style.height="24px",ea.style.height="24px",ea.style.backgroundImage="url("+Editor.plusImage+")",ea.setAttribute("title",mxResources.get("insert")),
ea.style.width="24px",ha=!0)}));ma();F.addListener("darkModeChanged",ma);F.addListener("sketchModeChanged",ma)}else F.editor.addListener("statusChanged",mxUtils.bind(this,function(){F.setStatusText(F.editor.getStatus())}));if(null!=t){var Aa=function(aa){mxEvent.isShiftDown(aa)?(F.hideCurrentMenu(),F.actions.get("smartFit").funct(),mxEvent.consume(aa)):mxEvent.isAltDown(aa)&&(F.hideCurrentMenu(),F.actions.get("customZoom").funct(),mxEvent.consume(aa))},Da=F.actions.get("zoomIn"),Ca=F.actions.get("zoomOut"),
-pa=F.actions.get("resetView");Q=F.actions.get("fullscreen");var Ba=F.actions.get("undo"),Ea=F.actions.get("redo"),Ka=C("",Ba.funct,null,mxResources.get("undo")+" ("+Ba.shortcut+")",Ba,Editor.undoImage),Fa=C("",Ea.funct,null,mxResources.get("redo")+" ("+Ea.shortcut+")",Ea,Editor.redoImage),Ha=C("",Q.funct,null,mxResources.get("fullscreen"),Q,Editor.fullscreenImage);if(null!=K){pa=function(){oa.style.display=null!=F.pages&&("0"!=urlParams.pages||1<F.pages.length||Editor.pagesVisible)?"inline-block":
-"none"};var Ia=function(){oa.innerHTML="";if(null!=F.currentPage){mxUtils.write(oa,F.currentPage.getName());var aa=null!=F.pages?F.pages.length:1,ca=F.getPageIndex(F.currentPage);ca=null!=ca?ca+1:1;var na=F.currentPage.getId();oa.setAttribute("title",F.currentPage.getName()+" ("+ca+"/"+aa+")"+(null!=na?" ["+na+"]":""))}};Ha.parentNode.removeChild(Ha);var Ma=F.actions.get("delete"),za=C("",Ma.funct,null,mxResources.get("delete"),Ma,Editor.trashImage);za.style.opacity="0.1";P.appendChild(za);Ma.addListener("stateChanged",
-function(){za.style.opacity=Ma.enabled?"":"0.1"});var ya=function(){Ka.style.display=0<F.editor.undoManager.history.length||H.isEditing()?"inline-block":"none";Fa.style.display=Ka.style.display;Ka.style.opacity=Ba.enabled?"":"0.1";Fa.style.opacity=Ea.enabled?"":"0.1"};P.appendChild(Ka);P.appendChild(Fa);Ba.addListener("stateChanged",ya);Ea.addListener("stateChanged",ya);ya();var oa=this.createPageMenuTab(!1,!0);oa.style.display="none";oa.style.position="";oa.style.marginLeft="";oa.style.top="";oa.style.left=
-"";oa.style.height="100%";oa.style.lineHeight="";oa.style.borderStyle="none";oa.style.padding="3px 0";oa.style.margin="0px";oa.style.background="";oa.style.border="";oa.style.boxShadow="none";oa.style.verticalAlign="top";oa.style.width="auto";oa.style.maxWidth="160px";oa.style.position="relative";oa.style.padding="6px";oa.style.textOverflow="ellipsis";oa.style.opacity="0.8";K.appendChild(oa);F.editor.addListener("pagesPatched",Ia);F.editor.addListener("pageSelected",Ia);F.editor.addListener("pageRenamed",
-Ia);F.editor.addListener("fileLoaded",Ia);Ia();F.addListener("fileDescriptorChanged",pa);F.addListener("pagesVisibleChanged",pa);F.editor.addListener("pagesPatched",pa);pa();pa=C("",Ca.funct,!0,mxResources.get("zoomOut")+" ("+Editor.ctrlKey+" -/Alt+Mousewheel)",Ca,Editor.zoomOutImage);K.appendChild(pa);var fa=J.addMenu("100%",t.funct);fa.setAttribute("title",mxResources.get("zoom"));fa.innerHTML="100%";fa.style.display="inline-block";fa.style.color="inherit";fa.style.cursor="pointer";fa.style.textAlign=
+oa=F.actions.get("resetView");Q=F.actions.get("fullscreen");var Ba=F.actions.get("undo"),Ea=F.actions.get("redo"),Ka=C("",Ba.funct,null,mxResources.get("undo")+" ("+Ba.shortcut+")",Ba,Editor.undoImage),Fa=C("",Ea.funct,null,mxResources.get("redo")+" ("+Ea.shortcut+")",Ea,Editor.redoImage),Ha=C("",Q.funct,null,mxResources.get("fullscreen"),Q,Editor.fullscreenImage);if(null!=K){oa=function(){pa.style.display=null!=F.pages&&("0"!=urlParams.pages||1<F.pages.length||Editor.pagesVisible)?"inline-block":
+"none"};var Ia=function(){pa.innerHTML="";if(null!=F.currentPage){mxUtils.write(pa,F.currentPage.getName());var aa=null!=F.pages?F.pages.length:1,ca=F.getPageIndex(F.currentPage);ca=null!=ca?ca+1:1;var na=F.currentPage.getId();pa.setAttribute("title",F.currentPage.getName()+" ("+ca+"/"+aa+")"+(null!=na?" ["+na+"]":""))}};Ha.parentNode.removeChild(Ha);var Ma=F.actions.get("delete"),za=C("",Ma.funct,null,mxResources.get("delete"),Ma,Editor.trashImage);za.style.opacity="0.1";P.appendChild(za);Ma.addListener("stateChanged",
+function(){za.style.opacity=Ma.enabled?"":"0.1"});var ya=function(){Ka.style.display=0<F.editor.undoManager.history.length||H.isEditing()?"inline-block":"none";Fa.style.display=Ka.style.display;Ka.style.opacity=Ba.enabled?"":"0.1";Fa.style.opacity=Ea.enabled?"":"0.1"};P.appendChild(Ka);P.appendChild(Fa);Ba.addListener("stateChanged",ya);Ea.addListener("stateChanged",ya);ya();var pa=this.createPageMenuTab(!1,!0);pa.style.display="none";pa.style.position="";pa.style.marginLeft="";pa.style.top="";pa.style.left=
+"";pa.style.height="100%";pa.style.lineHeight="";pa.style.borderStyle="none";pa.style.padding="3px 0";pa.style.margin="0px";pa.style.background="";pa.style.border="";pa.style.boxShadow="none";pa.style.verticalAlign="top";pa.style.width="auto";pa.style.maxWidth="160px";pa.style.position="relative";pa.style.padding="6px";pa.style.textOverflow="ellipsis";pa.style.opacity="0.8";K.appendChild(pa);F.editor.addListener("pagesPatched",Ia);F.editor.addListener("pageSelected",Ia);F.editor.addListener("pageRenamed",
+Ia);F.editor.addListener("fileLoaded",Ia);Ia();F.addListener("fileDescriptorChanged",oa);F.addListener("pagesVisibleChanged",oa);F.editor.addListener("pagesPatched",oa);oa();oa=C("",Ca.funct,!0,mxResources.get("zoomOut")+" ("+Editor.ctrlKey+" -/Alt+Mousewheel)",Ca,Editor.zoomOutImage);K.appendChild(oa);var fa=J.addMenu("100%",t.funct);fa.setAttribute("title",mxResources.get("zoom"));fa.innerHTML="100%";fa.style.display="inline-block";fa.style.color="inherit";fa.style.cursor="pointer";fa.style.textAlign=
"center";fa.style.whiteSpace="nowrap";fa.style.paddingRight="10px";fa.style.textDecoration="none";fa.style.verticalAlign="top";fa.style.padding="6px 0";fa.style.fontSize="14px";fa.style.width="40px";fa.style.opacity="0.4";K.appendChild(fa);t=C("",Da.funct,!0,mxResources.get("zoomIn")+" ("+Editor.ctrlKey+" +/Alt+Mousewheel)",Da,Editor.zoomInImage);K.appendChild(t);Q.visible&&(K.appendChild(Ha),mxEvent.addListener(document,"fullscreenchange",function(){Ha.style.backgroundImage="url("+(null!=document.fullscreenElement?
Editor.fullscreenExitImage:Editor.fullscreenImage)+")"}));"1"==urlParams.embedInline&&(t=F.actions.get("exit"),K.appendChild(C("",t.funct,null,mxResources.get("exit"),t,Editor.closeImage)));F.tabContainer.style.visibility="hidden";R.style.cssText="position:absolute;right:14px;top:10px;height:30px;z-index:1;border-radius:4px;box-shadow:0px 0px 3px 1px #d1d1d1;padding:6px 0px 6px 6px;border-bottom:1px solid lightgray;text-align:right;white-space:nowrap;overflow:hidden;user-select:none;";P.style.cssText=
"position:absolute;left:10px;top:10px;height:30px;z-index:1;border-radius:4px;box-shadow:0px 0px 3px 1px #d1d1d1;padding:6px;border-bottom:1px solid lightgray;text-align:right;white-space:nowrap;overflow:hidden;user-select:none;";K.style.cssText="position:absolute;right:14px;bottom:14px;height:28px;z-index:1;border-radius:4px;box-shadow:0px 0px 3px 1px #d1d1d1;padding:8px;white-space:nowrap;user-select:none;";X.appendChild(P);X.appendChild(K);T.style.cssText="position:absolute;left:10px;z-index:1;border-radius:4px;box-shadow:0px 0px 3px 1px #d1d1d1;padding:8px 6px 4px 6px;white-space:nowrap;transform:translate(0, -50%);top:50%;user-select:none;";
-mxClient.IS_POINTER&&(T.style.touchAction="none");X.appendChild(T);window.setTimeout(function(){mxUtils.setPrefixedStyle(T.style,"transition","transform .3s ease-out")},0);"1"==urlParams["format-toolbar"]&&this.installFormatToolbar(X)}else{var sa=C("",Aa,!0,mxResources.get("fit")+" ("+Editor.ctrlKey+"+H)",pa,Editor.zoomFitImage);R.style.cssText="position:absolute;left:0px;right:0px;top:0px;height:30px;padding:8px;text-align:left;white-space:nowrap;";this.tabContainer.style.right="70px";fa=J.addMenu("100%",
+mxClient.IS_POINTER&&(T.style.touchAction="none");X.appendChild(T);window.setTimeout(function(){mxUtils.setPrefixedStyle(T.style,"transition","transform .3s ease-out")},0);"1"==urlParams["format-toolbar"]&&this.installFormatToolbar(X)}else{var sa=C("",Aa,!0,mxResources.get("fit")+" ("+Editor.ctrlKey+"+H)",oa,Editor.zoomFitImage);R.style.cssText="position:absolute;left:0px;right:0px;top:0px;height:30px;padding:8px;text-align:left;white-space:nowrap;";this.tabContainer.style.right="70px";fa=J.addMenu("100%",
t.funct);fa.setAttribute("title",mxResources.get("zoom")+" (Alt+Mousewheel)");fa.style.whiteSpace="nowrap";fa.style.paddingRight="10px";fa.style.textDecoration="none";fa.style.textDecoration="none";fa.style.overflow="hidden";fa.style.visibility="hidden";fa.style.textAlign="center";fa.style.cursor="pointer";fa.style.height=parseInt(F.tabContainerHeight)-1+"px";fa.style.lineHeight=parseInt(F.tabContainerHeight)+1+"px";fa.style.position="absolute";fa.style.display="block";fa.style.fontSize="12px";fa.style.width=
"59px";fa.style.right="0px";fa.style.bottom="0px";fa.style.backgroundImage="url("+mxWindow.prototype.minimizeImage+")";fa.style.backgroundPosition="right 6px center";fa.style.backgroundRepeat="no-repeat";X.appendChild(fa)}(function(aa){mxEvent.addListener(aa,"click",Aa);var ca=mxUtils.bind(this,function(){aa.innerHTML="";mxUtils.write(aa,Math.round(100*F.editor.graph.view.scale)+"%")});F.editor.graph.view.addListener(mxEvent.EVENT_SCALE,ca);F.editor.addListener("resetGraphView",ca);F.editor.addListener("pageSelected",
ca)})(fa);var xa=F.setGraphEnabled;F.setGraphEnabled=function(){xa.apply(this,arguments);null!=this.tabContainer&&(fa.style.visibility=this.tabContainer.style.visibility,this.diagramContainer.style.bottom="hidden"!=this.tabContainer.style.visibility&&null==K?this.tabContainerHeight+"px":"0px")}}X.appendChild(R);X.appendChild(F.diagramContainer);I.appendChild(X);F.updateTabContainer();!EditorUi.windowed&&("1"==urlParams.sketch||1E3<=c)&&"1"!=urlParams.embedInline&&b(this,!0);null==K&&X.appendChild(F.tabContainer);
diff --git a/src/main/webapp/js/diagramly/EditorUi.js b/src/main/webapp/js/diagramly/EditorUi.js
index 189a02e8..11dfeefa 100644
--- a/src/main/webapp/js/diagramly/EditorUi.js
+++ b/src/main/webapp/js/diagramly/EditorUi.js
@@ -13559,19 +13559,24 @@
var values = arrays[i];
var cell = null;
var id = (identityIndex != null) ? namespace + values[identityIndex] : null;
+ var ignoreCell = false;
if (id != null)
{
cell = graph.model.getCell(id);
+
+ // Bypasses update of cells inserted during this run
+ ignoreCell = cell == null || mxUtils.indexOf(
+ allCells, cell) >= 0;
}
-
+
var newCell = new mxCell(label, new mxGeometry(x0, y,
0, 0), style || 'whiteSpace=wrap;html=1;');
newCell.collapsed = collapsed;
newCell.vertex = true;
newCell.id = id;
- if (cell != null)
+ if (cell != null && !ignoreCell)
{
graph.model.setCollapsed(cell, collapsed);
}
@@ -13580,7 +13585,7 @@
{
graph.setAttributeForCell(newCell, attribs[j], values[j]);
- if (cell != null)
+ if (cell != null && !ignoreCell)
{
graph.setAttributeForCell(cell, attribs[j], values[j]);
}
@@ -13594,7 +13599,7 @@
{
graph.labelChanged(newCell, tempLabel);
- if (cell != null)
+ if (cell != null && !ignoreCell)
{
graph.cellLabelChanged(cell, tempLabel);
}
diff --git a/src/main/webapp/js/integrate.min.js b/src/main/webapp/js/integrate.min.js
index 4cae2fb6..f5ecae4f 100644
--- a/src/main/webapp/js/integrate.min.js
+++ b/src/main/webapp/js/integrate.min.js
@@ -469,7 +469,7 @@ if("1"==urlParams.offline||"1"==urlParams.demo||"1"==urlParams.stealth||"1"==url
"se.diagrams.net"==window.location.hostname&&(urlParams.db="0",urlParams.od="0",urlParams.gh="0",urlParams.gl="0",urlParams.tr="0",urlParams.plugins="0",urlParams.mode="google",urlParams.lockdown="1",window.DRAWIO_GOOGLE_APP_ID=window.DRAWIO_GOOGLE_APP_ID||"184079235871",window.DRAWIO_GOOGLE_CLIENT_ID=window.DRAWIO_GOOGLE_CLIENT_ID||"184079235871-pjf5nn0lff27lk8qf0770gmffiv9gt61.apps.googleusercontent.com");"trello"==urlParams.mode&&(urlParams.tr="1");
"embed.diagrams.net"==window.location.hostname&&(urlParams.embed="1");(null==window.location.hash||1>=window.location.hash.length)&&null!=urlParams.open&&(window.location.hash=urlParams.open);window.urlParams=window.urlParams||{};window.DOM_PURIFY_CONFIG=window.DOM_PURIFY_CONFIG||{ADD_TAGS:["use"],FORBID_TAGS:["form"],ALLOWED_URI_REGEXP:/^((?!javascript:).)*$/i,ADD_ATTR:["target","content"]};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||"mxgraph";window.mxImageBasePath=window.mxImageBasePath||"mxgraph/images";window.mxLanguage=window.mxLanguage||urlParams.lang;
-window.mxLanguages=window.mxLanguages||["de","se"];var mxClient={VERSION:"19.0.0",IS_IE:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE"),IS_IE11:null!=navigator.userAgent&&!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:null!=navigator.userAgent&&!!navigator.userAgent.match(/Edge\//),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&0>navigator.userAgent.indexOf("Edge/"),
+window.mxLanguages=window.mxLanguages||["de","se"];var mxClient={VERSION:"19.0.1",IS_IE:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE"),IS_IE11:null!=navigator.userAgent&&!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:null!=navigator.userAgent&&!!navigator.userAgent.match(/Edge\//),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&0>navigator.userAgent.indexOf("Edge/"),
IS_OP:null!=navigator.userAgent&&(0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/")),IS_OT:null!=navigator.userAgent&&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:/Apple Computer, Inc/.test(navigator.vendor),
IS_ANDROID:0<=navigator.appVersion.indexOf("Android"),IS_IOS:/iP(hone|od|ad)/.test(navigator.platform)||navigator.userAgent.match(/Mac/)&&navigator.maxTouchPoints&&2<navigator.maxTouchPoints,IS_WEBVIEW:/((iPhone|iPod|iPad).*AppleWebKit(?!.*Version)|; wv)/i.test(navigator.userAgent),IS_GC:/Google Inc/.test(navigator.vendor),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:"undefined"!==typeof InstallTrigger,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:"MICROSOFT INTERNET EXPLORER"!=navigator.appName.toUpperCase(),NO_FO:!document.createElementNS||"[object SVGForeignObjectElement]"!==
@@ -11710,7 +11710,7 @@ this.page&&(this.page=this.ui.currentPage);if(this.page!=this.ui.currentPage){if
this.shadowVisible)}}else 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)};Editor.prototype.useCanvasForExport=!1;try{var U=document.createElement("canvas"),Y=new Image;Y.onload=function(){try{U.getContext("2d").drawImage(Y,
0,0);var n=U.toDataURL("image/png");Editor.prototype.useCanvasForExport=null!=n&&6<n.length}catch(D){}};Y.src="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1px" height="1px" version="1.1"><foreignObject pointer-events="all" width="1" height="1"><div xmlns="http://www.w3.org/1999/xhtml"></div></foreignObject></svg>')))}catch(n){}})();
(function(){var b=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);b.beforeDecode=function(f,l,d){d.ui=f.ui;return l};b.afterDecode=function(f,l,d){d.previousColor=d.color;d.previousImage=d.image;d.previousFormat=d.format;null!=d.foldingEnabled&&(d.foldingEnabled=!d.foldingEnabled);null!=d.mathEnabled&&(d.mathEnabled=!d.mathEnabled);null!=d.shadowVisible&&(d.shadowVisible=!d.shadowVisible);return d};mxCodecRegistry.register(b)})();
-(function(){var b=new mxObjectCodec(new ChangeGridColor,["ui"]);b.beforeDecode=function(f,l,d){d.ui=f.ui;return l};mxCodecRegistry.register(b)})();(function(){EditorUi.VERSION="19.0.0";EditorUi.compactUi="atlas"!=uiTheme;Editor.isDarkMode()&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&"1"!=urlParams.lockdown&&(/.*\.draw\.io$/.test(window.location.hostname)||/.*\.diagrams\.net$/.test(window.location.hostname))&&"support.draw.io"!=window.location.hostname;EditorUi.drawHost=window.DRAWIO_BASE_URL;EditorUi.lightboxHost=window.DRAWIO_LIGHTBOX_URL;EditorUi.lastErrorMessage=
+(function(){var b=new mxObjectCodec(new ChangeGridColor,["ui"]);b.beforeDecode=function(f,l,d){d.ui=f.ui;return l};mxCodecRegistry.register(b)})();(function(){EditorUi.VERSION="19.0.1";EditorUi.compactUi="atlas"!=uiTheme;Editor.isDarkMode()&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&"1"!=urlParams.lockdown&&(/.*\.draw\.io$/.test(window.location.hostname)||/.*\.diagrams\.net$/.test(window.location.hostname))&&"support.draw.io"!=window.location.hostname;EditorUi.drawHost=window.DRAWIO_BASE_URL;EditorUi.lightboxHost=window.DRAWIO_LIGHTBOX_URL;EditorUi.lastErrorMessage=
null;EditorUi.ignoredAnonymizedChars="\n\t`~!@#$%^&*()_+{}|:\"<>?-=[];'./,\n\t";EditorUi.templateFile=TEMPLATE_PATH+"/index.xml";EditorUi.cacheUrl=window.REALTIME_URL;null==EditorUi.cacheUrl&&"undefined"!==typeof DrawioFile&&(DrawioFile.SYNC="none");Editor.cacheTimeout=1E4;EditorUi.enablePlantUml=EditorUi.enableLogging;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;EditorUi.nativeFileSupport=!mxClient.IS_OP&&!EditorUi.isElectronApp&&
"1"!=urlParams.extAuth&&"showSaveFilePicker"in window&&"showOpenFilePicker"in window;EditorUi.enableDrafts=!mxClient.IS_CHROMEAPP&&isLocalStorage&&"0"!=urlParams.drafts;EditorUi.scratchpadHelpLink="https://www.diagrams.net/doc/faq/scratchpad";EditorUi.enableHtmlEditOption=!0;EditorUi.defaultMermaidConfig={theme:"neutral",arrowMarkerAbsolute:!1,flowchart:{htmlLabels:!1},sequence:{diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,
mirrorActors:!0,bottomMarginAdj:1,useMaxWidth:!0,rightAngles:!1,showSequenceNumbers:!1},gantt:{titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,leftPadding:75,gridLineStartPadding:35,fontSize:11,fontFamily:'"Open-Sans", "sans-serif"',numberSectionStyles:4,axisFormat:"%Y-%m-%d"}};EditorUi.logError=function(c,e,g,k,m,p,v){p=null!=p?p:0<=c.indexOf("NetworkError")||0<=c.indexOf("SecurityError")||0<=c.indexOf("NS_ERROR_FAILURE")||0<=c.indexOf("out of memory")?"CONFIG":"SEVERE";if(EditorUi.enableLogging&&
@@ -12074,10 +12074,10 @@ function(){mxscript("js/orgchart/mxOrgChartLayout.js",e)})})}):mxscript("js/exte
1));"label"==da?P=z.sanitizeHtml(fa):"labelname"==da&&0<fa.length&&"-"!=fa?q=fa:"labels"==da&&0<fa.length&&"-"!=fa?A=JSON.parse(fa):"style"==da?L=fa:"parentstyle"==da?B=fa:"unknownStyle"==da&&"-"!=fa?C=fa:"stylename"==da&&0<fa.length&&"-"!=fa?K=fa:"styles"==da&&0<fa.length&&"-"!=fa?N=JSON.parse(fa):"vars"==da&&0<fa.length&&"-"!=fa?y=JSON.parse(fa):"identity"==da&&0<fa.length&&"-"!=fa?G=fa:"parent"==da&&0<fa.length&&"-"!=fa?M=fa:"namespace"==da&&0<fa.length&&"-"!=fa?H=fa:"width"==da?F=fa:"height"==
da?J=fa:"collapsed"==da&&"-"!=fa?R="true"==fa:"left"==da&&0<fa.length?W=fa:"top"==da&&0<fa.length?O=fa:"ignore"==da?ja=fa.split(","):"connect"==da?X.push(JSON.parse(fa)):"link"==da?ba=fa:"padding"==da?n=parseFloat(fa):"edgespacing"==da?V=parseFloat(fa):"nodespacing"==da?U=parseFloat(fa):"levelspacing"==da?Y=parseFloat(fa):"layout"==da&&(T=fa)}}}if(null==g[Z])throw Error(mxResources.get("invalidOrMissingFile"));var ma=this.editor.csvToArray(g[Z].replace(/\r$/,""));ka=c=null;da=[];for(fa=0;fa<ma.length;fa++)G==
ma[fa]&&(c=fa),M==ma[fa]&&(ka=fa),da.push(mxUtils.trim(ma[fa]).replace(/[^a-z0-9]+/ig,"_").replace(/^\d+/,"").replace(/_+$/,""));null==P&&(P="%"+da[0]+"%");if(null!=X)for(var ya=0;ya<X.length;ya++)null==x[X[ya].to]&&(x[X[ya].to]={});G=[];for(fa=Z+1;fa<g.length;fa++){var Ba=this.editor.csvToArray(g[fa].replace(/\r$/,""));if(null==Ba){var Ha=40<g[fa].length?g[fa].substring(0,40)+"...":g[fa];throw Error(Ha+" ("+fa+"):\n"+mxResources.get("containsValidationErrors"));}0<Ba.length&&G.push(Ba)}z.model.beginUpdate();
-try{for(fa=0;fa<G.length;fa++){Ba=G[fa];var sa=null,Ga=null!=c?H+Ba[c]:null;null!=Ga&&(sa=z.model.getCell(Ga));var Ka=new mxCell(P,new mxGeometry(S,I,0,0),L||"whiteSpace=wrap;html=1;");Ka.collapsed=R;Ka.vertex=!0;Ka.id=Ga;null!=sa&&z.model.setCollapsed(sa,R);for(var Ma=0;Ma<Ba.length;Ma++)z.setAttributeForCell(Ka,da[Ma],Ba[Ma]),null!=sa&&z.setAttributeForCell(sa,da[Ma],Ba[Ma]);if(null!=q&&null!=A){var Ia=A[Ka.getAttribute(q)];null!=Ia&&(z.labelChanged(Ka,Ia),null!=sa&&z.cellLabelChanged(sa,Ia))}if(null!=
-K&&null!=N){var Ea=N[Ka.getAttribute(K)];null!=Ea&&(Ka.style=Ea)}z.setAttributeForCell(Ka,"placeholders","1");Ka.style=z.replacePlaceholders(Ka,Ka.style,y);null!=sa?(z.model.setStyle(sa,Ka.style),0>mxUtils.indexOf(p,sa)&&p.push(sa),z.fireEvent(new mxEventObject("cellsInserted","cells",[sa]))):z.fireEvent(new mxEventObject("cellsInserted","cells",[Ka]));g=null!=sa;sa=Ka;if(!g)for(ya=0;ya<X.length;ya++)x[X[ya].to][sa.getAttribute(X[ya].to)]=sa;null!=ba&&"link"!=ba&&(z.setLinkForCell(sa,sa.getAttribute(ba)),
-z.setAttributeForCell(sa,ba,null));var Fa=this.editor.graph.getPreferredSizeForCell(sa);M=null!=ka?z.model.getCell(H+Ba[ka]):null;if(sa.vertex){Ha=null!=M?0:S;Z=null!=M?0:Q;null!=W&&null!=sa.getAttribute(W)&&(sa.geometry.x=Ha+parseFloat(sa.getAttribute(W)));null!=O&&null!=sa.getAttribute(O)&&(sa.geometry.y=Z+parseFloat(sa.getAttribute(O)));var Pa="@"==F.charAt(0)?sa.getAttribute(F.substring(1)):null;sa.geometry.width=null!=Pa&&"auto"!=Pa?parseFloat(sa.getAttribute(F.substring(1))):"auto"==F||"auto"==
-Pa?Fa.width+n:parseFloat(F);var Aa="@"==J.charAt(0)?sa.getAttribute(J.substring(1)):null;sa.geometry.height=null!=Aa&&"auto"!=Aa?parseFloat(Aa):"auto"==J||"auto"==Aa?Fa.height+n:parseFloat(J);I+=sa.geometry.height+U}g?(null==v[Ga]&&(v[Ga]=[]),v[Ga].push(sa)):(k.push(sa),null!=M?(M.style=z.replacePlaceholders(M,B,y),z.addCell(sa,M),m.push(M)):p.push(z.addCell(sa)))}for(fa=0;fa<m.length;fa++)Pa="@"==F.charAt(0)?m[fa].getAttribute(F.substring(1)):null,Aa="@"==J.charAt(0)?m[fa].getAttribute(J.substring(1)):
+try{for(fa=0;fa<G.length;fa++){Ba=G[fa];var sa=null,Ga=null!=c?H+Ba[c]:null;g=!1;null!=Ga&&(sa=z.model.getCell(Ga),g=null==sa||0<=mxUtils.indexOf(k,sa));var Ka=new mxCell(P,new mxGeometry(S,I,0,0),L||"whiteSpace=wrap;html=1;");Ka.collapsed=R;Ka.vertex=!0;Ka.id=Ga;null==sa||g||z.model.setCollapsed(sa,R);for(var Ma=0;Ma<Ba.length;Ma++)z.setAttributeForCell(Ka,da[Ma],Ba[Ma]),null==sa||g||z.setAttributeForCell(sa,da[Ma],Ba[Ma]);if(null!=q&&null!=A){var Ia=A[Ka.getAttribute(q)];null!=Ia&&(z.labelChanged(Ka,
+Ia),null==sa||g||z.cellLabelChanged(sa,Ia))}if(null!=K&&null!=N){var Ea=N[Ka.getAttribute(K)];null!=Ea&&(Ka.style=Ea)}z.setAttributeForCell(Ka,"placeholders","1");Ka.style=z.replacePlaceholders(Ka,Ka.style,y);null!=sa?(z.model.setStyle(sa,Ka.style),0>mxUtils.indexOf(p,sa)&&p.push(sa),z.fireEvent(new mxEventObject("cellsInserted","cells",[sa]))):z.fireEvent(new mxEventObject("cellsInserted","cells",[Ka]));g=null!=sa;sa=Ka;if(!g)for(ya=0;ya<X.length;ya++)x[X[ya].to][sa.getAttribute(X[ya].to)]=sa;null!=
+ba&&"link"!=ba&&(z.setLinkForCell(sa,sa.getAttribute(ba)),z.setAttributeForCell(sa,ba,null));var Fa=this.editor.graph.getPreferredSizeForCell(sa);M=null!=ka?z.model.getCell(H+Ba[ka]):null;if(sa.vertex){Ha=null!=M?0:S;Z=null!=M?0:Q;null!=W&&null!=sa.getAttribute(W)&&(sa.geometry.x=Ha+parseFloat(sa.getAttribute(W)));null!=O&&null!=sa.getAttribute(O)&&(sa.geometry.y=Z+parseFloat(sa.getAttribute(O)));var Pa="@"==F.charAt(0)?sa.getAttribute(F.substring(1)):null;sa.geometry.width=null!=Pa&&"auto"!=Pa?parseFloat(sa.getAttribute(F.substring(1))):
+"auto"==F||"auto"==Pa?Fa.width+n:parseFloat(F);var Aa="@"==J.charAt(0)?sa.getAttribute(J.substring(1)):null;sa.geometry.height=null!=Aa&&"auto"!=Aa?parseFloat(Aa):"auto"==J||"auto"==Aa?Fa.height+n:parseFloat(J);I+=sa.geometry.height+U}g?(null==v[Ga]&&(v[Ga]=[]),v[Ga].push(sa)):(k.push(sa),null!=M?(M.style=z.replacePlaceholders(M,B,y),z.addCell(sa,M),m.push(M)):p.push(z.addCell(sa)))}for(fa=0;fa<m.length;fa++)Pa="@"==F.charAt(0)?m[fa].getAttribute(F.substring(1)):null,Aa="@"==J.charAt(0)?m[fa].getAttribute(J.substring(1)):
null,"auto"!=F&&"auto"!=Pa||"auto"!=J&&"auto"!=Aa||z.updateGroupBounds([m[fa]],n,!0);var za=p.slice(),pa=p.slice();for(ya=0;ya<X.length;ya++){var ea=X[ya];for(fa=0;fa<k.length;fa++){sa=k[fa];var ta=mxUtils.bind(this,function(ra,ia,Da){var Ja=ia.getAttribute(Da.from);if(null!=Ja&&""!=Ja){Ja=Ja.split(",");for(var Sa=0;Sa<Ja.length;Sa++){var Ra=x[Da.to][Ja[Sa]];if(null==Ra&&null!=C){Ra=new mxCell(Ja[Sa],new mxGeometry(S,Q,0,0),C);Ra.style=z.replacePlaceholders(ia,Ra.style,y);var Ca=this.editor.graph.getPreferredSizeForCell(Ra);
Ra.geometry.width=Ca.width+n;Ra.geometry.height=Ca.height+n;x[Da.to][Ja[Sa]]=Ra;Ra.vertex=!0;Ra.id=Ja[Sa];p.push(z.addCell(Ra))}if(null!=Ra){Ca=Da.label;null!=Da.fromlabel&&(Ca=(ia.getAttribute(Da.fromlabel)||"")+(Ca||""));null!=Da.sourcelabel&&(Ca=z.replacePlaceholders(ia,Da.sourcelabel,y)+(Ca||""));null!=Da.tolabel&&(Ca=(Ca||"")+(Ra.getAttribute(Da.tolabel)||""));null!=Da.targetlabel&&(Ca=(Ca||"")+z.replacePlaceholders(Ra,Da.targetlabel,y));var La="target"==Da.placeholders==!Da.invert?Ra:ra;La=
null!=Da.style?z.replacePlaceholders(La,Da.style,y):z.createCurrentEdgeStyle();Ca=z.insertEdge(null,null,Ca||"",Da.invert?Ra:ra,Da.invert?ra:Ra,La);if(null!=Da.labels)for(La=0;La<Da.labels.length;La++){var Oa=Da.labels[La],Qa=new mxCell(Oa.label||La,new mxGeometry(null!=Oa.x?Oa.x:0,null!=Oa.y?Oa.y:0,0,0),"resizable=0;html=1;");Qa.vertex=!0;Qa.connectable=!1;Qa.geometry.relative=!0;null!=Oa.placeholders&&(Qa.value=z.replacePlaceholders("target"==Oa.placeholders==!Da.invert?Ra:ra,Qa.value,y));if(null!=
diff --git a/src/main/webapp/js/viewer-static.min.js b/src/main/webapp/js/viewer-static.min.js
index 426c7bfc..f322ab7d 100644
--- a/src/main/webapp/js/viewer-static.min.js
+++ b/src/main/webapp/js/viewer-static.min.js
@@ -110,7 +110,7 @@ if("1"==urlParams.offline||"1"==urlParams.demo||"1"==urlParams.stealth||"1"==url
"se.diagrams.net"==window.location.hostname&&(urlParams.db="0",urlParams.od="0",urlParams.gh="0",urlParams.gl="0",urlParams.tr="0",urlParams.plugins="0",urlParams.mode="google",urlParams.lockdown="1",window.DRAWIO_GOOGLE_APP_ID=window.DRAWIO_GOOGLE_APP_ID||"184079235871",window.DRAWIO_GOOGLE_CLIENT_ID=window.DRAWIO_GOOGLE_CLIENT_ID||"184079235871-pjf5nn0lff27lk8qf0770gmffiv9gt61.apps.googleusercontent.com");"trello"==urlParams.mode&&(urlParams.tr="1");
"embed.diagrams.net"==window.location.hostname&&(urlParams.embed="1");(null==window.location.hash||1>=window.location.hash.length)&&null!=urlParams.open&&(window.location.hash=urlParams.open);window.urlParams=window.urlParams||{};window.DOM_PURIFY_CONFIG=window.DOM_PURIFY_CONFIG||{ADD_TAGS:["use"],FORBID_TAGS:["form"],ALLOWED_URI_REGEXP:/^((?!javascript:).)*$/i,ADD_ATTR:["target","content"]};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||"mxgraph";window.mxImageBasePath=window.mxImageBasePath||"mxgraph/images";window.mxLanguage=window.mxLanguage||urlParams.lang;
-window.mxLanguages=window.mxLanguages||["de","se"];var mxClient={VERSION:"19.0.0",IS_IE:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE"),IS_IE11:null!=navigator.userAgent&&!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:null!=navigator.userAgent&&!!navigator.userAgent.match(/Edge\//),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&0>navigator.userAgent.indexOf("Edge/"),
+window.mxLanguages=window.mxLanguages||["de","se"];var mxClient={VERSION:"19.0.1",IS_IE:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE"),IS_IE11:null!=navigator.userAgent&&!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:null!=navigator.userAgent&&!!navigator.userAgent.match(/Edge\//),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&0>navigator.userAgent.indexOf("Edge/"),
IS_OP:null!=navigator.userAgent&&(0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/")),IS_OT:null!=navigator.userAgent&&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:/Apple Computer, Inc/.test(navigator.vendor),
IS_ANDROID:0<=navigator.appVersion.indexOf("Android"),IS_IOS:/iP(hone|od|ad)/.test(navigator.platform)||navigator.userAgent.match(/Mac/)&&navigator.maxTouchPoints&&2<navigator.maxTouchPoints,IS_WEBVIEW:/((iPhone|iPod|iPad).*AppleWebKit(?!.*Version)|; wv)/i.test(navigator.userAgent),IS_GC:/Google Inc/.test(navigator.vendor),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:"undefined"!==typeof InstallTrigger,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:"MICROSOFT INTERNET EXPLORER"!=navigator.appName.toUpperCase(),NO_FO:!document.createElementNS||"[object SVGForeignObjectElement]"!==
@@ -2661,14 +2661,14 @@ this.moveHandles[z].rowState.width-5+"px",this.moveHandles[z].style.top=this.mov
this.state.getCenterY()),L=new mxRectangle(this.state.x,this.state.y-22,this.state.width+24,this.state.height+22),M=mxUtils.getBoundingBox(L,this.state.style[mxConstants.STYLE_ROTATION]||"0",z),z=null!=M?mxUtils.getBoundingBox(this.state,this.state.style[mxConstants.STYLE_ROTATION]||"0"):this.state,L=null!=this.state.text?this.state.text.boundingBox:null,null==M&&(M=this.state),M=M.y+M.height,null!=L&&(M=Math.max(M,L.y+L.height)),this.linkHint.style.left=Math.max(0,Math.round(z.x+(z.width-this.linkHint.clientWidth)/
2))+"px",this.linkHint.style.top=Math.round(M+this.verticalOffset/2+Editor.hintOffset)+"px")};var cb=mxVertexHandler.prototype.destroy;mxVertexHandler.prototype.destroy=function(){cb.apply(this,arguments);if(null!=this.moveHandles){for(var z=0;z<this.moveHandles.length;z++)null!=this.moveHandles[z]&&null!=this.moveHandles[z].parentNode&&this.moveHandles[z].parentNode.removeChild(this.moveHandles[z]);this.moveHandles=null}if(null!=this.cornerHandles){for(z=0;z<this.cornerHandles.length;z++)null!=this.cornerHandles[z]&&
null!=this.cornerHandles[z].node&&null!=this.cornerHandles[z].node.parentNode&&this.cornerHandles[z].node.parentNode.removeChild(this.cornerHandles[z].node);this.cornerHandles=null}null!=this.linkHint&&(null!=this.linkHint.parentNode&&this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);null!=this.changeHandler&&(this.graph.getSelectionModel().removeListener(this.changeHandler),this.graph.getModel().removeListener(this.changeHandler),this.changeHandler=null);null!=this.editingHandler&&
-(this.graph.removeListener(this.editingHandler),this.editingHandler=null)};var Ka=mxEdgeHandler.prototype.redrawHandles;mxEdgeHandler.prototype.redrawHandles=function(){if(null!=this.marker&&(Ka.apply(this),null!=this.state&&null!=this.linkHint)){var z=this.state;null!=this.state.text&&null!=this.state.text.bounds&&(z=new mxRectangle(z.x,z.y,z.width,z.height),z.add(this.state.text.bounds));this.linkHint.style.left=Math.max(0,Math.round(z.x+(z.width-this.linkHint.clientWidth)/2))+"px";this.linkHint.style.top=
+(this.graph.removeListener(this.editingHandler),this.editingHandler=null)};var Ja=mxEdgeHandler.prototype.redrawHandles;mxEdgeHandler.prototype.redrawHandles=function(){if(null!=this.marker&&(Ja.apply(this),null!=this.state&&null!=this.linkHint)){var z=this.state;null!=this.state.text&&null!=this.state.text.bounds&&(z=new mxRectangle(z.x,z.y,z.width,z.height),z.add(this.state.text.bounds));this.linkHint.style.left=Math.max(0,Math.round(z.x+(z.width-this.linkHint.clientWidth)/2))+"px";this.linkHint.style.top=
Math.round(z.y+z.height+Editor.hintOffset)+"px"}};var Ua=mxEdgeHandler.prototype.reset;mxEdgeHandler.prototype.reset=function(){Ua.apply(this,arguments);null!=this.linkHint&&(this.linkHint.style.visibility="")};var $a=mxEdgeHandler.prototype.destroy;mxEdgeHandler.prototype.destroy=function(){$a.apply(this,arguments);null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);null!=this.changeHandler&&(this.graph.getModel().removeListener(this.changeHandler),this.graph.getSelectionModel().removeListener(this.changeHandler),
this.changeHandler=null)}}();(function(){function b(c,l,x){mxShape.call(this);this.line=c;this.stroke=l;this.strokewidth=null!=x?x:1;this.updateBoundsFromLine()}function e(){mxSwimlane.call(this)}function k(){mxSwimlane.call(this)}function n(){mxCylinder.call(this)}function D(){mxCylinder.call(this)}function t(){mxActor.call(this)}function E(){mxCylinder.call(this)}function d(){mxCylinder.call(this)}function f(){mxCylinder.call(this)}function g(){mxCylinder.call(this)}function m(){mxShape.call(this)}function q(){mxShape.call(this)}
function y(c,l,x,p){mxShape.call(this);this.bounds=c;this.fill=l;this.stroke=x;this.strokewidth=null!=p?p:1}function F(){mxActor.call(this)}function C(){mxCylinder.call(this)}function H(){mxCylinder.call(this)}function G(){mxActor.call(this)}function aa(){mxActor.call(this)}function da(){mxActor.call(this)}function ba(){mxActor.call(this)}function Y(){mxActor.call(this)}function pa(){mxActor.call(this)}function O(){mxActor.call(this)}function X(c,l){this.canvas=c;this.canvas.setLineJoin("round");
this.canvas.setLineCap("round");this.defaultVariation=l;this.originalLineTo=this.canvas.lineTo;this.canvas.lineTo=mxUtils.bind(this,X.prototype.lineTo);this.originalMoveTo=this.canvas.moveTo;this.canvas.moveTo=mxUtils.bind(this,X.prototype.moveTo);this.originalClose=this.canvas.close;this.canvas.close=mxUtils.bind(this,X.prototype.close);this.originalQuadTo=this.canvas.quadTo;this.canvas.quadTo=mxUtils.bind(this,X.prototype.quadTo);this.originalCurveTo=this.canvas.curveTo;this.canvas.curveTo=mxUtils.bind(this,
X.prototype.curveTo);this.originalArcTo=this.canvas.arcTo;this.canvas.arcTo=mxUtils.bind(this,X.prototype.arcTo)}function ea(){mxRectangleShape.call(this)}function ka(){mxRectangleShape.call(this)}function ja(){mxActor.call(this)}function U(){mxActor.call(this)}function J(){mxActor.call(this)}function V(){mxRectangleShape.call(this)}function P(){mxRectangleShape.call(this)}function R(){mxCylinder.call(this)}function ia(){mxShape.call(this)}function la(){mxShape.call(this)}function ta(){mxEllipse.call(this)}
function u(){mxShape.call(this)}function I(){mxShape.call(this)}function N(){mxRectangleShape.call(this)}function W(){mxShape.call(this)}function T(){mxShape.call(this)}function Q(){mxShape.call(this)}function Z(){mxShape.call(this)}function na(){mxShape.call(this)}function va(){mxCylinder.call(this)}function Ba(){mxCylinder.call(this)}function sa(){mxRectangleShape.call(this)}function Da(){mxDoubleEllipse.call(this)}function Aa(){mxDoubleEllipse.call(this)}function za(){mxArrowConnector.call(this);
-this.spacing=0}function Ca(){mxArrowConnector.call(this);this.spacing=0}function Qa(){mxActor.call(this)}function Za(){mxRectangleShape.call(this)}function cb(){mxActor.call(this)}function Ka(){mxActor.call(this)}function Ua(){mxActor.call(this)}function $a(){mxActor.call(this)}function z(){mxActor.call(this)}function L(){mxActor.call(this)}function M(){mxActor.call(this)}function S(){mxActor.call(this)}function ca(){mxActor.call(this)}function ha(){mxActor.call(this)}function oa(){mxEllipse.call(this)}
+this.spacing=0}function Ca(){mxArrowConnector.call(this);this.spacing=0}function Qa(){mxActor.call(this)}function Za(){mxRectangleShape.call(this)}function cb(){mxActor.call(this)}function Ja(){mxActor.call(this)}function Ua(){mxActor.call(this)}function $a(){mxActor.call(this)}function z(){mxActor.call(this)}function L(){mxActor.call(this)}function M(){mxActor.call(this)}function S(){mxActor.call(this)}function ca(){mxActor.call(this)}function ha(){mxActor.call(this)}function oa(){mxEllipse.call(this)}
function ra(){mxEllipse.call(this)}function qa(){mxEllipse.call(this)}function xa(){mxRhombus.call(this)}function Ga(){mxEllipse.call(this)}function La(){mxEllipse.call(this)}function Pa(){mxEllipse.call(this)}function Oa(){mxEllipse.call(this)}function Ta(){mxActor.call(this)}function Ma(){mxActor.call(this)}function ua(){mxActor.call(this)}function ya(c,l,x,p){mxShape.call(this);this.bounds=c;this.fill=l;this.stroke=x;this.strokewidth=null!=p?p:1;this.rectStyle="square";this.size=10;this.absoluteCornerSize=
!0;this.indent=2;this.rectOutline="single"}function Na(){mxConnector.call(this)}function Fa(c,l,x,p,v,A,B,fa,K,wa){B+=K;var ma=p.clone();p.x-=v*(2*B+K);p.y-=A*(2*B+K);v*=B+K;A*=B+K;return function(){c.ellipse(ma.x-v-B,ma.y-A-B,2*B,2*B);wa?c.fillAndStroke():c.stroke()}}mxUtils.extend(b,mxShape);b.prototype.updateBoundsFromLine=function(){var c=null;if(null!=this.line)for(var l=0;l<this.line.length;l++){var x=this.line[l];null!=x&&(x=new mxRectangle(x.x,x.y,this.strokewidth,this.strokewidth),null==
c?c=x:c.add(x))}this.bounds=null!=c?c:new mxRectangle};b.prototype.paintVertexShape=function(c,l,x,p,v){this.paintTableLine(c,this.line,0,0)};b.prototype.paintTableLine=function(c,l,x,p){if(null!=l){var v=null;c.begin();for(var A=0;A<l.length;A++){var B=l[A];null!=B&&(null==v?c.moveTo(B.x+x,B.y+p):null!=v&&c.lineTo(B.x+x,B.y+p));v=B}c.end();c.stroke()}};b.prototype.intersectsRectangle=function(c){var l=!1;if(mxShape.prototype.intersectsRectangle.apply(this,arguments)&&null!=this.line)for(var x=null,
@@ -2760,7 +2760,7 @@ za.prototype.defaultWidth=4;za.prototype.isOpenEnded=function(){return!0};za.pro
"size",this.size)));x=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(c,[new mxPoint(0,v),new mxPoint(0,l),new mxPoint(p,0),new mxPoint(p,v)],this.isRounded,x,!0);c.end()};mxCellRenderer.registerShape("manualInput",Qa);mxUtils.extend(Za,mxRectangleShape);Za.prototype.dx=20;Za.prototype.dy=20;Za.prototype.isHtmlAllowed=function(){return!1};Za.prototype.paintForeground=function(c,l,x,p,v){mxRectangleShape.prototype.paintForeground.apply(this,arguments);
var A=0;if(this.isRounded){var B=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100;A=Math.max(A,Math.min(p*B,v*B))}B=Math.max(A,Math.min(p,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));A=Math.max(A,Math.min(v,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));c.begin();c.moveTo(l,x+A);c.lineTo(l+p,x+A);c.end();c.stroke();c.begin();c.moveTo(l+B,x);c.lineTo(l+B,x+v);c.end();c.stroke()};mxCellRenderer.registerShape("internalStorage",Za);
mxUtils.extend(cb,mxActor);cb.prototype.dx=20;cb.prototype.dy=20;cb.prototype.redrawPath=function(c,l,x,p,v){l=Math.max(0,Math.min(p,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));x=Math.max(0,Math.min(v,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));parseFloat(mxUtils.getValue(this.style,"size",this.size));var A=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(c,[new mxPoint(0,0),new mxPoint(p,0),new mxPoint(p,x),new mxPoint(l,x),
-new mxPoint(l,v),new mxPoint(0,v)],this.isRounded,A,!0);c.end()};mxCellRenderer.registerShape("corner",cb);mxUtils.extend(Ka,mxActor);Ka.prototype.redrawPath=function(c,l,x,p,v){c.moveTo(0,0);c.lineTo(0,v);c.end();c.moveTo(p,0);c.lineTo(p,v);c.end();c.moveTo(0,v/2);c.lineTo(p,v/2);c.end()};mxCellRenderer.registerShape("crossbar",Ka);mxUtils.extend(Ua,mxActor);Ua.prototype.dx=20;Ua.prototype.dy=20;Ua.prototype.redrawPath=function(c,l,x,p,v){l=Math.max(0,Math.min(p,parseFloat(mxUtils.getValue(this.style,
+new mxPoint(l,v),new mxPoint(0,v)],this.isRounded,A,!0);c.end()};mxCellRenderer.registerShape("corner",cb);mxUtils.extend(Ja,mxActor);Ja.prototype.redrawPath=function(c,l,x,p,v){c.moveTo(0,0);c.lineTo(0,v);c.end();c.moveTo(p,0);c.lineTo(p,v);c.end();c.moveTo(0,v/2);c.lineTo(p,v/2);c.end()};mxCellRenderer.registerShape("crossbar",Ja);mxUtils.extend(Ua,mxActor);Ua.prototype.dx=20;Ua.prototype.dy=20;Ua.prototype.redrawPath=function(c,l,x,p,v){l=Math.max(0,Math.min(p,parseFloat(mxUtils.getValue(this.style,
"dx",this.dx))));x=Math.max(0,Math.min(v,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));parseFloat(mxUtils.getValue(this.style,"size",this.size));var A=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(c,[new mxPoint(0,0),new mxPoint(p,0),new mxPoint(p,x),new mxPoint((p+l)/2,x),new mxPoint((p+l)/2,v),new mxPoint((p-l)/2,v),new mxPoint((p-l)/2,x),new mxPoint(0,x)],this.isRounded,A,!0);c.end()};mxCellRenderer.registerShape("tee",Ua);mxUtils.extend($a,
mxActor);$a.prototype.arrowWidth=.3;$a.prototype.arrowSize=.2;$a.prototype.redrawPath=function(c,l,x,p,v){var A=v*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",this.arrowWidth))));l=p*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",this.arrowSize))));x=(v-A)/2;A=x+A;var B=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(c,[new mxPoint(0,x),new mxPoint(p-l,x),new mxPoint(p-l,0),new mxPoint(p,v/2),new mxPoint(p-
l,v),new mxPoint(p-l,A),new mxPoint(0,A)],this.isRounded,B,!0);c.end()};mxCellRenderer.registerShape("singleArrow",$a);mxUtils.extend(z,mxActor);z.prototype.redrawPath=function(c,l,x,p,v){var A=v*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",$a.prototype.arrowWidth))));l=p*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",$a.prototype.arrowSize))));x=(v-A)/2;A=x+A;var B=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/
@@ -2783,35 +2783,35 @@ defVal:2},{name:"rectOutline",dispName:"Outline",type:"enum",defVal:"single",enu
{val:"invRound",dispName:"Inv. Round"},{val:"fold",dispName:"Fold"}]},{name:"topRightStyle",dispName:"Top Right Style",type:"enum",defVal:"default",enumList:[{val:"default",dispName:"Default"},{val:"square",dispName:"Square"},{val:"rounded",dispName:"Round"},{val:"snip",dispName:"Snip"},{val:"invRound",dispName:"Inv. Round"},{val:"fold",dispName:"Fold"}]},{name:"bottomRightStyle",dispName:"Bottom Right Style",type:"enum",defVal:"default",enumList:[{val:"default",dispName:"Default"},{val:"square",
dispName:"Square"},{val:"rounded",dispName:"Round"},{val:"snip",dispName:"Snip"},{val:"invRound",dispName:"Inv. Round"},{val:"fold",dispName:"Fold"}]},{name:"bottomLeftStyle",dispName:"Bottom Left Style",type:"enum",defVal:"default",enumList:[{val:"default",dispName:"Default"},{val:"square",dispName:"Square"},{val:"rounded",dispName:"Round"},{val:"snip",dispName:"Snip"},{val:"invRound",dispName:"Inv. Round"},{val:"fold",dispName:"Fold"}]}];ya.prototype.paintVertexShape=function(c,l,x,p,v){c.translate(l,
x);this.strictDrawShape(c,0,0,p,v)};ya.prototype.strictDrawShape=function(c,l,x,p,v,A){var B=A&&A.rectStyle?A.rectStyle:mxUtils.getValue(this.style,"rectStyle",this.rectStyle),fa=A&&A.absoluteCornerSize?A.absoluteCornerSize:mxUtils.getValue(this.style,"absoluteCornerSize",this.absoluteCornerSize),K=A&&A.size?A.size:Math.max(0,Math.min(p,parseFloat(mxUtils.getValue(this.style,"size",this.size)))),wa=A&&A.rectOutline?A.rectOutline:mxUtils.getValue(this.style,"rectOutline",this.rectOutline),ma=A&&A.indent?
-A.indent:Math.max(0,Math.min(p,parseFloat(mxUtils.getValue(this.style,"indent",this.indent)))),bb=A&&A.dashed?A.dashed:mxUtils.getValue(this.style,"dashed",!1),jb=A&&A.dashPattern?A.dashPattern:mxUtils.getValue(this.style,"dashPattern",null),eb=A&&A.relIndent?A.relIndent:Math.max(0,Math.min(50,ma)),Ea=A&&A.top?A.top:mxUtils.getValue(this.style,"top",!0),Ja=A&&A.right?A.right:mxUtils.getValue(this.style,"right",!0),Ia=A&&A.bottom?A.bottom:mxUtils.getValue(this.style,"bottom",!0),Ha=A&&A.left?A.left:
+A.indent:Math.max(0,Math.min(p,parseFloat(mxUtils.getValue(this.style,"indent",this.indent)))),bb=A&&A.dashed?A.dashed:mxUtils.getValue(this.style,"dashed",!1),jb=A&&A.dashPattern?A.dashPattern:mxUtils.getValue(this.style,"dashPattern",null),eb=A&&A.relIndent?A.relIndent:Math.max(0,Math.min(50,ma)),Ea=A&&A.top?A.top:mxUtils.getValue(this.style,"top",!0),Ka=A&&A.right?A.right:mxUtils.getValue(this.style,"right",!0),Ia=A&&A.bottom?A.bottom:mxUtils.getValue(this.style,"bottom",!0),Ha=A&&A.left?A.left:
mxUtils.getValue(this.style,"left",!0),Sa=A&&A.topLeftStyle?A.topLeftStyle:mxUtils.getValue(this.style,"topLeftStyle","default"),Wa=A&&A.topRightStyle?A.topRightStyle:mxUtils.getValue(this.style,"topRightStyle","default"),Xa=A&&A.bottomRightStyle?A.bottomRightStyle:mxUtils.getValue(this.style,"bottomRightStyle","default"),ab=A&&A.bottomLeftStyle?A.bottomLeftStyle:mxUtils.getValue(this.style,"bottomLeftStyle","default"),Eb=A&&A.fillColor?A.fillColor:mxUtils.getValue(this.style,"fillColor","#ffffff");
A&&A.strokeColor||mxUtils.getValue(this.style,"strokeColor","#000000");var Fb=A&&A.strokeWidth?A.strokeWidth:mxUtils.getValue(this.style,"strokeWidth","1"),Cb=A&&A.fillColor2?A.fillColor2:mxUtils.getValue(this.style,"fillColor2","none"),Db=A&&A.gradientColor2?A.gradientColor2:mxUtils.getValue(this.style,"gradientColor2","none"),Gb=A&&A.gradientDirection2?A.gradientDirection2:mxUtils.getValue(this.style,"gradientDirection2","south"),Hb=A&&A.opacity?A.opacity:mxUtils.getValue(this.style,"opacity","100"),
-Ib=Math.max(0,Math.min(50,K));A=ya.prototype;c.setDashed(bb);jb&&""!=jb&&c.setDashPattern(jb);c.setStrokeWidth(Fb);K=Math.min(.5*v,.5*p,K);fa||(K=Ib*Math.min(p,v)/100);K=Math.min(K,.5*Math.min(p,v));fa||(ma=Math.min(eb*Math.min(p,v)/100));ma=Math.min(ma,.5*Math.min(p,v)-K);(Ea||Ja||Ia||Ha)&&"frame"!=wa&&(c.begin(),Ea?A.moveNW(c,l,x,p,v,B,Sa,K,Ha):c.moveTo(0,0),Ea&&A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ja),Ja&&A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),Ia&&
-A.paintSE(c,l,x,p,v,B,Xa,K,Ja),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),Ha&&A.paintSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),c.close(),c.fill(),c.setShadow(!1),c.setFillColor(Cb),bb=fa=Hb,"none"==Cb&&(fa=0),"none"==Db&&(bb=0),c.setGradient(Cb,Db,0,0,p,v,Gb,fa,bb),c.begin(),Ea?A.moveNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha):c.moveTo(ma,0),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),Ha&&Ia&&A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ja,Ia),Ia&&Ja&&A.paintSEInner(c,
-l,x,p,v,B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ja),Ja&&Ea&&A.paintNEInner(c,l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),Ea&&Ha&&A.paintNWInner(c,l,x,p,v,B,Sa,K,ma),c.fill(),"none"==Eb&&(c.begin(),A.paintFolds(c,l,x,p,v,B,Sa,Wa,Xa,ab,K,Ea,Ja,Ia,Ha),c.stroke()));Ea||Ja||Ia||!Ha?Ea||Ja||!Ia||Ha?!Ea&&!Ja&&Ia&&Ha?"frame"!=wa?(c.begin(),A.moveSE(c,l,x,p,v,B,Xa,K,Ja),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.paintSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),"double"==
-wa&&(A.moveNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ja,Ia)),c.stroke()):(c.begin(),A.moveSE(c,l,x,p,v,B,Xa,K,Ja),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.paintSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.lineNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ja,Ia),c.close(),
-c.fillAndStroke()):Ea||!Ja||Ia||Ha?!Ea&&Ja&&!Ia&&Ha?"frame"!=wa?(c.begin(),A.moveSW(c,l,x,p,v,B,Sa,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),"double"==wa&&(A.moveNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha)),c.stroke(),c.begin(),A.moveNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),"double"==wa&&(A.moveSEInner(c,l,x,p,v,B,Xa,K,ma,Ia),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ja)),c.stroke()):(c.begin(),A.moveSW(c,l,x,p,v,B,Sa,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,
-K,Ea),A.lineNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),c.close(),c.fillAndStroke(),c.begin(),A.moveNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.lineSEInner(c,l,x,p,v,B,Xa,K,ma,Ia),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ja),c.close(),c.fillAndStroke()):!Ea&&Ja&&Ia&&!Ha?"frame"!=wa?(c.begin(),A.moveNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.paintSE(c,l,x,p,v,B,Xa,K,Ja),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),"double"==wa&&(A.moveSWInner(c,
-l,x,p,v,B,ab,K,ma,Ha),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ja,Ia),A.paintSEInner(c,l,x,p,v,B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ja)),c.stroke()):(c.begin(),A.moveNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.paintSE(c,l,x,p,v,B,Xa,K,Ja),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.lineSWInner(c,l,x,p,v,B,ab,K,ma,Ha),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ja,Ia),A.paintSEInner(c,l,x,p,v,B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ja),c.close(),c.fillAndStroke()):!Ea&&
-Ja&&Ia&&Ha?"frame"!=wa?(c.begin(),A.moveNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.paintSE(c,l,x,p,v,B,Xa,K,Ja),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.paintSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),"double"==wa&&(A.moveNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ja,Ia),A.paintSEInner(c,l,x,p,v,B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ja)),c.stroke()):
-(c.begin(),A.moveNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.paintSE(c,l,x,p,v,B,Xa,K,Ja),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.paintSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.lineNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ja,Ia),A.paintSEInner(c,l,x,p,v,B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ja),c.close(),c.fillAndStroke()):!Ea||Ja||Ia||Ha?
-Ea&&!Ja&&!Ia&&Ha?"frame"!=wa?(c.begin(),A.moveSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ja),"double"==wa&&(A.moveNEInner(c,l,x,p,v,B,Wa,K,ma,Ja),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),A.paintNWInner(c,l,x,p,v,B,Sa,K,ma),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha)),c.stroke()):(c.begin(),A.moveSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ja),A.lineNEInner(c,
-l,x,p,v,B,Wa,K,ma,Ja),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),A.paintNWInner(c,l,x,p,v,B,Sa,K,ma),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),c.close(),c.fillAndStroke()):Ea&&!Ja&&Ia&&!Ha?"frame"!=wa?(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ja),"double"==wa&&(A.moveNEInner(c,l,x,p,v,B,Wa,K,ma,Ja),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea)),c.stroke(),c.begin(),A.moveSE(c,l,x,p,v,B,Xa,K,Ja),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),"double"==wa&&(A.moveSWInner(c,l,x,p,v,B,ab,
-K,ma,Ha),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ja,Ia)),c.stroke()):(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ja),A.lineNEInner(c,l,x,p,v,B,Wa,K,ma,Ja),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),c.close(),c.fillAndStroke(),c.begin(),A.moveSE(c,l,x,p,v,B,Xa,K,Ja),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.lineSWInner(c,l,x,p,v,B,ab,K,ma,Ha),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ja,Ia),c.close(),c.fillAndStroke()):Ea&&!Ja&&Ia&&Ha?"frame"!=wa?(c.begin(),A.moveSE(c,l,x,p,v,B,Xa,
-K,Ja),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.paintSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ja),"double"==wa&&(A.moveNEInner(c,l,x,p,v,B,Wa,K,ma,Ja),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),A.paintNWInner(c,l,x,p,v,B,Sa,K,ma),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ja,Ia)),c.stroke()):(c.begin(),A.moveSE(c,l,x,p,v,B,Xa,K,Ja),A.paintBottom(c,l,
-x,p,v,B,ab,K,Ha),A.paintSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ja),A.lineNEInner(c,l,x,p,v,B,Wa,K,ma,Ja),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),A.paintNWInner(c,l,x,p,v,B,Sa,K,ma),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ja,Ia),c.close(),c.fillAndStroke()):Ea&&Ja&&!Ia&&!Ha?"frame"!=wa?(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,
-l,x,p,v,B,Wa,K,Ja),A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),"double"==wa&&(A.moveSEInner(c,l,x,p,v,B,Xa,K,ma,Ia),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ja),A.paintNEInner(c,l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea)),c.stroke()):(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ja),A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.lineSEInner(c,l,x,p,v,B,Xa,K,ma,Ia),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ja),A.paintNEInner(c,
-l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),c.close(),c.fillAndStroke()):Ea&&Ja&&!Ia&&Ha?"frame"!=wa?(c.begin(),A.moveSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ja),A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),"double"==wa&&(A.moveSEInner(c,l,x,p,v,B,Xa,K,ma,Ia),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ja),A.paintNEInner(c,l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),A.paintNWInner(c,
-l,x,p,v,B,Sa,K,ma),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha)),c.stroke()):(c.begin(),A.moveSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ja),A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.lineSEInner(c,l,x,p,v,B,Xa,K,ma,Ia),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ja),A.paintNEInner(c,l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),A.paintNWInner(c,l,x,p,v,B,Sa,K,ma),A.paintLeftInner(c,l,x,p,
-v,B,ab,K,ma,Ia,Ha),c.close(),c.fillAndStroke()):Ea&&Ja&&Ia&&!Ha?"frame"!=wa?(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ja),A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.paintSE(c,l,x,p,v,B,Xa,K,Ja),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),"double"==wa&&(A.moveSWInner(c,l,x,p,v,B,ab,K,ma,Ha),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ja,Ia),A.paintSEInner(c,l,x,p,v,B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ja),A.paintNEInner(c,l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,
-l,x,p,v,B,Sa,K,ma,Ha,Ea)),c.stroke()):(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ja),A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.paintSE(c,l,x,p,v,B,Xa,K,Ja),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.lineSWInner(c,l,x,p,v,B,ab,K,ma,Ha),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ja,Ia),A.paintSEInner(c,l,x,p,v,B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ja),A.paintNEInner(c,l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),c.close(),c.fillAndStroke()):
-Ea&&Ja&&Ia&&Ha&&("frame"!=wa?(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ja),A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.paintSE(c,l,x,p,v,B,Xa,K,Ja),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.paintSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),c.close(),"double"==wa&&(A.moveSWInner(c,l,x,p,v,B,ab,K,ma,Ha),A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ja,Ia),A.paintSEInner(c,l,x,p,v,
-B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ja),A.paintNEInner(c,l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),A.paintNWInner(c,l,x,p,v,B,Sa,K,ma),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),c.close()),c.stroke()):(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ja),A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.paintSE(c,l,x,p,v,B,Xa,K,Ja),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.paintSW(c,l,x,p,v,B,ab,K,Ia),
-A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),c.close(),A.moveSWInner(c,l,x,p,v,B,ab,K,ma,Ha),A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ja,Ia),A.paintSEInner(c,l,x,p,v,B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ja),A.paintNEInner(c,l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),A.paintNWInner(c,l,x,p,v,B,Sa,K,ma),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),c.close(),c.fillAndStroke())):"frame"!=wa?(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,
-l,x,p,v,B,Wa,K,Ja),"double"==wa&&(A.moveNEInner(c,l,x,p,v,B,Wa,K,ma,Ja),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea)),c.stroke()):(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ja),A.lineNEInner(c,l,x,p,v,B,Wa,K,ma,Ja),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),c.close(),c.fillAndStroke()):"frame"!=wa?(c.begin(),A.moveNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),"double"==wa&&(A.moveSEInner(c,l,x,p,v,B,Xa,K,ma,Ia),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ja)),c.stroke()):
-(c.begin(),A.moveNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.lineSEInner(c,l,x,p,v,B,Xa,K,ma,Ia),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ja),c.close(),c.fillAndStroke()):"frame"!=wa?(c.begin(),A.moveSE(c,l,x,p,v,B,Xa,K,Ja),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),"double"==wa&&(A.moveSWInner(c,l,x,p,v,B,ab,K,ma,Ha),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ja,Ia)),c.stroke()):(c.begin(),A.moveSE(c,l,x,p,v,B,Xa,K,Ja),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.lineSWInner(c,l,x,p,v,B,ab,K,ma,Ha),
-A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ja,Ia),c.close(),c.fillAndStroke()):"frame"!=wa?(c.begin(),A.moveSW(c,l,x,p,v,B,Sa,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),"double"==wa&&(A.moveNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha)),c.stroke()):(c.begin(),A.moveSW(c,l,x,p,v,B,Sa,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.lineNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),c.close(),c.fillAndStroke());c.begin();A.paintFolds(c,l,x,p,v,B,Sa,Wa,
-Xa,ab,K,Ea,Ja,Ia,Ha);c.stroke()};ya.prototype.moveNW=function(c,l,x,p,v,A,B,fa,K){"square"==B||"default"==B&&"square"==A||!K?c.moveTo(0,0):c.moveTo(0,fa)};ya.prototype.moveNE=function(c,l,x,p,v,A,B,fa,K){"square"==B||"default"==B&&"square"==A||!K?c.moveTo(p,0):c.moveTo(p-fa,0)};ya.prototype.moveSE=function(c,l,x,p,v,A,B,fa,K){"square"==B||"default"==B&&"square"==A||!K?c.moveTo(p,v):c.moveTo(p,v-fa)};ya.prototype.moveSW=function(c,l,x,p,v,A,B,fa,K){"square"==B||"default"==B&&"square"==A||!K?c.moveTo(0,
+Ib=Math.max(0,Math.min(50,K));A=ya.prototype;c.setDashed(bb);jb&&""!=jb&&c.setDashPattern(jb);c.setStrokeWidth(Fb);K=Math.min(.5*v,.5*p,K);fa||(K=Ib*Math.min(p,v)/100);K=Math.min(K,.5*Math.min(p,v));fa||(ma=Math.min(eb*Math.min(p,v)/100));ma=Math.min(ma,.5*Math.min(p,v)-K);(Ea||Ka||Ia||Ha)&&"frame"!=wa&&(c.begin(),Ea?A.moveNW(c,l,x,p,v,B,Sa,K,Ha):c.moveTo(0,0),Ea&&A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ka),Ka&&A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),Ia&&
+A.paintSE(c,l,x,p,v,B,Xa,K,Ka),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),Ha&&A.paintSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),c.close(),c.fill(),c.setShadow(!1),c.setFillColor(Cb),bb=fa=Hb,"none"==Cb&&(fa=0),"none"==Db&&(bb=0),c.setGradient(Cb,Db,0,0,p,v,Gb,fa,bb),c.begin(),Ea?A.moveNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha):c.moveTo(ma,0),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),Ha&&Ia&&A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ka,Ia),Ia&&Ka&&A.paintSEInner(c,
+l,x,p,v,B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ka),Ka&&Ea&&A.paintNEInner(c,l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),Ea&&Ha&&A.paintNWInner(c,l,x,p,v,B,Sa,K,ma),c.fill(),"none"==Eb&&(c.begin(),A.paintFolds(c,l,x,p,v,B,Sa,Wa,Xa,ab,K,Ea,Ka,Ia,Ha),c.stroke()));Ea||Ka||Ia||!Ha?Ea||Ka||!Ia||Ha?!Ea&&!Ka&&Ia&&Ha?"frame"!=wa?(c.begin(),A.moveSE(c,l,x,p,v,B,Xa,K,Ka),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.paintSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),"double"==
+wa&&(A.moveNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ka,Ia)),c.stroke()):(c.begin(),A.moveSE(c,l,x,p,v,B,Xa,K,Ka),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.paintSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.lineNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ka,Ia),c.close(),
+c.fillAndStroke()):Ea||!Ka||Ia||Ha?!Ea&&Ka&&!Ia&&Ha?"frame"!=wa?(c.begin(),A.moveSW(c,l,x,p,v,B,Sa,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),"double"==wa&&(A.moveNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha)),c.stroke(),c.begin(),A.moveNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),"double"==wa&&(A.moveSEInner(c,l,x,p,v,B,Xa,K,ma,Ia),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ka)),c.stroke()):(c.begin(),A.moveSW(c,l,x,p,v,B,Sa,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,
+K,Ea),A.lineNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),c.close(),c.fillAndStroke(),c.begin(),A.moveNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.lineSEInner(c,l,x,p,v,B,Xa,K,ma,Ia),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ka),c.close(),c.fillAndStroke()):!Ea&&Ka&&Ia&&!Ha?"frame"!=wa?(c.begin(),A.moveNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.paintSE(c,l,x,p,v,B,Xa,K,Ka),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),"double"==wa&&(A.moveSWInner(c,
+l,x,p,v,B,ab,K,ma,Ha),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ka,Ia),A.paintSEInner(c,l,x,p,v,B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ka)),c.stroke()):(c.begin(),A.moveNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.paintSE(c,l,x,p,v,B,Xa,K,Ka),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.lineSWInner(c,l,x,p,v,B,ab,K,ma,Ha),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ka,Ia),A.paintSEInner(c,l,x,p,v,B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ka),c.close(),c.fillAndStroke()):!Ea&&
+Ka&&Ia&&Ha?"frame"!=wa?(c.begin(),A.moveNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.paintSE(c,l,x,p,v,B,Xa,K,Ka),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.paintSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),"double"==wa&&(A.moveNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ka,Ia),A.paintSEInner(c,l,x,p,v,B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ka)),c.stroke()):
+(c.begin(),A.moveNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.paintSE(c,l,x,p,v,B,Xa,K,Ka),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.paintSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.lineNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ka,Ia),A.paintSEInner(c,l,x,p,v,B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ka),c.close(),c.fillAndStroke()):!Ea||Ka||Ia||Ha?
+Ea&&!Ka&&!Ia&&Ha?"frame"!=wa?(c.begin(),A.moveSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ka),"double"==wa&&(A.moveNEInner(c,l,x,p,v,B,Wa,K,ma,Ka),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),A.paintNWInner(c,l,x,p,v,B,Sa,K,ma),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha)),c.stroke()):(c.begin(),A.moveSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ka),A.lineNEInner(c,
+l,x,p,v,B,Wa,K,ma,Ka),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),A.paintNWInner(c,l,x,p,v,B,Sa,K,ma),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),c.close(),c.fillAndStroke()):Ea&&!Ka&&Ia&&!Ha?"frame"!=wa?(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ka),"double"==wa&&(A.moveNEInner(c,l,x,p,v,B,Wa,K,ma,Ka),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea)),c.stroke(),c.begin(),A.moveSE(c,l,x,p,v,B,Xa,K,Ka),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),"double"==wa&&(A.moveSWInner(c,l,x,p,v,B,ab,
+K,ma,Ha),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ka,Ia)),c.stroke()):(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ka),A.lineNEInner(c,l,x,p,v,B,Wa,K,ma,Ka),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),c.close(),c.fillAndStroke(),c.begin(),A.moveSE(c,l,x,p,v,B,Xa,K,Ka),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.lineSWInner(c,l,x,p,v,B,ab,K,ma,Ha),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ka,Ia),c.close(),c.fillAndStroke()):Ea&&!Ka&&Ia&&Ha?"frame"!=wa?(c.begin(),A.moveSE(c,l,x,p,v,B,Xa,
+K,Ka),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.paintSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ka),"double"==wa&&(A.moveNEInner(c,l,x,p,v,B,Wa,K,ma,Ka),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),A.paintNWInner(c,l,x,p,v,B,Sa,K,ma),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ka,Ia)),c.stroke()):(c.begin(),A.moveSE(c,l,x,p,v,B,Xa,K,Ka),A.paintBottom(c,l,
+x,p,v,B,ab,K,Ha),A.paintSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ka),A.lineNEInner(c,l,x,p,v,B,Wa,K,ma,Ka),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),A.paintNWInner(c,l,x,p,v,B,Sa,K,ma),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ka,Ia),c.close(),c.fillAndStroke()):Ea&&Ka&&!Ia&&!Ha?"frame"!=wa?(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,
+l,x,p,v,B,Wa,K,Ka),A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),"double"==wa&&(A.moveSEInner(c,l,x,p,v,B,Xa,K,ma,Ia),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ka),A.paintNEInner(c,l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea)),c.stroke()):(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ka),A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.lineSEInner(c,l,x,p,v,B,Xa,K,ma,Ia),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ka),A.paintNEInner(c,
+l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),c.close(),c.fillAndStroke()):Ea&&Ka&&!Ia&&Ha?"frame"!=wa?(c.begin(),A.moveSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ka),A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),"double"==wa&&(A.moveSEInner(c,l,x,p,v,B,Xa,K,ma,Ia),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ka),A.paintNEInner(c,l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),A.paintNWInner(c,
+l,x,p,v,B,Sa,K,ma),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha)),c.stroke()):(c.begin(),A.moveSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ka),A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.lineSEInner(c,l,x,p,v,B,Xa,K,ma,Ia),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ka),A.paintNEInner(c,l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),A.paintNWInner(c,l,x,p,v,B,Sa,K,ma),A.paintLeftInner(c,l,x,p,
+v,B,ab,K,ma,Ia,Ha),c.close(),c.fillAndStroke()):Ea&&Ka&&Ia&&!Ha?"frame"!=wa?(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ka),A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.paintSE(c,l,x,p,v,B,Xa,K,Ka),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),"double"==wa&&(A.moveSWInner(c,l,x,p,v,B,ab,K,ma,Ha),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ka,Ia),A.paintSEInner(c,l,x,p,v,B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ka),A.paintNEInner(c,l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,
+l,x,p,v,B,Sa,K,ma,Ha,Ea)),c.stroke()):(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ka),A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.paintSE(c,l,x,p,v,B,Xa,K,Ka),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.lineSWInner(c,l,x,p,v,B,ab,K,ma,Ha),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ka,Ia),A.paintSEInner(c,l,x,p,v,B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ka),A.paintNEInner(c,l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),c.close(),c.fillAndStroke()):
+Ea&&Ka&&Ia&&Ha&&("frame"!=wa?(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ka),A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.paintSE(c,l,x,p,v,B,Xa,K,Ka),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.paintSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),c.close(),"double"==wa&&(A.moveSWInner(c,l,x,p,v,B,ab,K,ma,Ha),A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ka,Ia),A.paintSEInner(c,l,x,p,v,
+B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ka),A.paintNEInner(c,l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),A.paintNWInner(c,l,x,p,v,B,Sa,K,ma),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),c.close()),c.stroke()):(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ka),A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.paintSE(c,l,x,p,v,B,Xa,K,Ka),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.paintSW(c,l,x,p,v,B,ab,K,Ia),
+A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),c.close(),A.moveSWInner(c,l,x,p,v,B,ab,K,ma,Ha),A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ka,Ia),A.paintSEInner(c,l,x,p,v,B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ka),A.paintNEInner(c,l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),A.paintNWInner(c,l,x,p,v,B,Sa,K,ma),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),c.close(),c.fillAndStroke())):"frame"!=wa?(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,
+l,x,p,v,B,Wa,K,Ka),"double"==wa&&(A.moveNEInner(c,l,x,p,v,B,Wa,K,ma,Ka),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea)),c.stroke()):(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ka),A.lineNEInner(c,l,x,p,v,B,Wa,K,ma,Ka),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),c.close(),c.fillAndStroke()):"frame"!=wa?(c.begin(),A.moveNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),"double"==wa&&(A.moveSEInner(c,l,x,p,v,B,Xa,K,ma,Ia),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ka)),c.stroke()):
+(c.begin(),A.moveNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.lineSEInner(c,l,x,p,v,B,Xa,K,ma,Ia),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ka),c.close(),c.fillAndStroke()):"frame"!=wa?(c.begin(),A.moveSE(c,l,x,p,v,B,Xa,K,Ka),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),"double"==wa&&(A.moveSWInner(c,l,x,p,v,B,ab,K,ma,Ha),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ka,Ia)),c.stroke()):(c.begin(),A.moveSE(c,l,x,p,v,B,Xa,K,Ka),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.lineSWInner(c,l,x,p,v,B,ab,K,ma,Ha),
+A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ka,Ia),c.close(),c.fillAndStroke()):"frame"!=wa?(c.begin(),A.moveSW(c,l,x,p,v,B,Sa,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),"double"==wa&&(A.moveNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha)),c.stroke()):(c.begin(),A.moveSW(c,l,x,p,v,B,Sa,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.lineNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),c.close(),c.fillAndStroke());c.begin();A.paintFolds(c,l,x,p,v,B,Sa,Wa,
+Xa,ab,K,Ea,Ka,Ia,Ha);c.stroke()};ya.prototype.moveNW=function(c,l,x,p,v,A,B,fa,K){"square"==B||"default"==B&&"square"==A||!K?c.moveTo(0,0):c.moveTo(0,fa)};ya.prototype.moveNE=function(c,l,x,p,v,A,B,fa,K){"square"==B||"default"==B&&"square"==A||!K?c.moveTo(p,0):c.moveTo(p-fa,0)};ya.prototype.moveSE=function(c,l,x,p,v,A,B,fa,K){"square"==B||"default"==B&&"square"==A||!K?c.moveTo(p,v):c.moveTo(p,v-fa)};ya.prototype.moveSW=function(c,l,x,p,v,A,B,fa,K){"square"==B||"default"==B&&"square"==A||!K?c.moveTo(0,
v):c.moveTo(fa,v)};ya.prototype.paintNW=function(c,l,x,p,v,A,B,fa,K){if(K)if("rounded"==B||"default"==B&&"rounded"==A||"invRound"==B||"default"==B&&"invRound"==A){l=0;if("rounded"==B||"default"==B&&"rounded"==A)l=1;c.arcTo(fa,fa,0,0,l,fa,0)}else("snip"==B||"default"==B&&"snip"==A||"fold"==B||"default"==B&&"fold"==A)&&c.lineTo(fa,0);else c.lineTo(0,0)};ya.prototype.paintTop=function(c,l,x,p,v,A,B,fa,K){"square"==B||"default"==B&&"square"==A||!K?c.lineTo(p,0):c.lineTo(p-fa,0)};ya.prototype.paintNE=
function(c,l,x,p,v,A,B,fa,K){if(K)if("rounded"==B||"default"==B&&"rounded"==A||"invRound"==B||"default"==B&&"invRound"==A){l=0;if("rounded"==B||"default"==B&&"rounded"==A)l=1;c.arcTo(fa,fa,0,0,l,p,fa)}else("snip"==B||"default"==B&&"snip"==A||"fold"==B||"default"==B&&"fold"==A)&&c.lineTo(p,fa);else c.lineTo(p,0)};ya.prototype.paintRight=function(c,l,x,p,v,A,B,fa,K){"square"==B||"default"==B&&"square"==A||!K?c.lineTo(p,v):c.lineTo(p,v-fa)};ya.prototype.paintLeft=function(c,l,x,p,v,A,B,fa,K){"square"==
B||"default"==B&&"square"==A||!K?c.lineTo(0,0):c.lineTo(0,fa)};ya.prototype.paintSE=function(c,l,x,p,v,A,B,fa,K){if(K)if("rounded"==B||"default"==B&&"rounded"==A||"invRound"==B||"default"==B&&"invRound"==A){l=0;if("rounded"==B||"default"==B&&"rounded"==A)l=1;c.arcTo(fa,fa,0,0,l,p-fa,v)}else("snip"==B||"default"==B&&"snip"==A||"fold"==B||"default"==B&&"fold"==A)&&c.lineTo(p-fa,v);else c.lineTo(p,v)};ya.prototype.paintBottom=function(c,l,x,p,v,A,B,fa,K){"square"==B||"default"==B&&"square"==A||!K?c.lineTo(0,
@@ -2877,8 +2877,8 @@ return new mxPoint(l.getCenterX(),l.y+(1-x)*l.height)},function(l,x){this.state.
n.prototype.size,!1),card:qb(.5,G.prototype.size,!0),loopLimit:qb(.5,ca.prototype.size,!0),trapezoid:Bb(.5,Y.prototype.size,Y.prototype.fixedSize),parallelogram:Bb(1,ba.prototype.size,ba.prototype.fixedSize)};Graph.createHandle=ib;Graph.handleFactory=mb;var wb=mxVertexHandler.prototype.createCustomHandles;mxVertexHandler.prototype.createCustomHandles=function(){var c=wb.apply(this,arguments);if(this.graph.isCellRotatable(this.state.cell)){var l=this.state.style.shape;null==mxCellRenderer.defaultShapes[l]&&
null==mxStencilRegistry.getStencil(l)?l=mxConstants.SHAPE_RECTANGLE:this.state.view.graph.isSwimlane(this.state.cell)&&(l=mxConstants.SHAPE_SWIMLANE);l=mb[l];null==l&&null!=this.state.shape&&this.state.shape.isRoundable()&&(l=mb[mxConstants.SHAPE_RECTANGLE]);null!=l&&(l=l(this.state),null!=l&&(c=null==c?l:c.concat(l)))}return c};mxEdgeHandler.prototype.createCustomHandles=function(){var c=this.state.style.shape;null==mxCellRenderer.defaultShapes[c]&&null==mxStencilRegistry.getStencil(c)&&(c=mxConstants.SHAPE_CONNECTOR);
c=mb[c];return null!=c?c(this.state):null}}else Graph.createHandle=function(){},Graph.handleFactory={};var rb=new mxPoint(1,0),xb=new mxPoint(1,0),zb=mxUtils.toRadians(-30);rb=mxUtils.getRotatedPoint(rb,Math.cos(zb),Math.sin(zb));var yb=mxUtils.toRadians(-150);xb=mxUtils.getRotatedPoint(xb,Math.cos(yb),Math.sin(yb));mxEdgeStyle.IsometricConnector=function(c,l,x,p,v){var A=c.view;p=null!=p&&0<p.length?p[0]:null;var B=c.absolutePoints,fa=B[0];B=B[B.length-1];null!=p&&(p=A.transformControlPoint(c,p));
-null==fa&&null!=l&&(fa=new mxPoint(l.getCenterX(),l.getCenterY()));null==B&&null!=x&&(B=new mxPoint(x.getCenterX(),x.getCenterY()));var K=rb.x,wa=rb.y,ma=xb.x,bb=xb.y,jb="horizontal"==mxUtils.getValue(c.style,"elbow","horizontal");if(null!=B&&null!=fa){c=function(Ea,Ja,Ia){Ea-=eb.x;var Ha=Ja-eb.y;Ja=(bb*Ea-ma*Ha)/(K*bb-wa*ma);Ea=(wa*Ea-K*Ha)/(wa*ma-K*bb);jb?(Ia&&(eb=new mxPoint(eb.x+K*Ja,eb.y+wa*Ja),v.push(eb)),eb=new mxPoint(eb.x+ma*Ea,eb.y+bb*Ea)):(Ia&&(eb=new mxPoint(eb.x+ma*Ea,eb.y+bb*Ea),v.push(eb)),
-eb=new mxPoint(eb.x+K*Ja,eb.y+wa*Ja));v.push(eb)};var eb=fa;null==p&&(p=new mxPoint(fa.x+(B.x-fa.x)/2,fa.y+(B.y-fa.y)/2));c(p.x,p.y,!0);c(B.x,B.y,!1)}};mxStyleRegistry.putValue("isometricEdgeStyle",mxEdgeStyle.IsometricConnector);var pb=Graph.prototype.createEdgeHandler;Graph.prototype.createEdgeHandler=function(c,l){if(l==mxEdgeStyle.IsometricConnector){var x=new mxElbowEdgeHandler(c);x.snapToTerminals=!1;return x}return pb.apply(this,arguments)};t.prototype.constraints=[];E.prototype.getConstraints=
+null==fa&&null!=l&&(fa=new mxPoint(l.getCenterX(),l.getCenterY()));null==B&&null!=x&&(B=new mxPoint(x.getCenterX(),x.getCenterY()));var K=rb.x,wa=rb.y,ma=xb.x,bb=xb.y,jb="horizontal"==mxUtils.getValue(c.style,"elbow","horizontal");if(null!=B&&null!=fa){c=function(Ea,Ka,Ia){Ea-=eb.x;var Ha=Ka-eb.y;Ka=(bb*Ea-ma*Ha)/(K*bb-wa*ma);Ea=(wa*Ea-K*Ha)/(wa*ma-K*bb);jb?(Ia&&(eb=new mxPoint(eb.x+K*Ka,eb.y+wa*Ka),v.push(eb)),eb=new mxPoint(eb.x+ma*Ea,eb.y+bb*Ea)):(Ia&&(eb=new mxPoint(eb.x+ma*Ea,eb.y+bb*Ea),v.push(eb)),
+eb=new mxPoint(eb.x+K*Ka,eb.y+wa*Ka));v.push(eb)};var eb=fa;null==p&&(p=new mxPoint(fa.x+(B.x-fa.x)/2,fa.y+(B.y-fa.y)/2));c(p.x,p.y,!0);c(B.x,B.y,!1)}};mxStyleRegistry.putValue("isometricEdgeStyle",mxEdgeStyle.IsometricConnector);var pb=Graph.prototype.createEdgeHandler;Graph.prototype.createEdgeHandler=function(c,l){if(l==mxEdgeStyle.IsometricConnector){var x=new mxElbowEdgeHandler(c);x.snapToTerminals=!1;return x}return pb.apply(this,arguments)};t.prototype.constraints=[];E.prototype.getConstraints=
function(c,l,x){c=[];var p=Math.tan(mxUtils.toRadians(30)),v=(.5-p)/2;p=Math.min(l,x/(.5+p));l=(l-p)/2;x=(x-p)/2;c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,x+.25*p));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l+.5*p,x+p*v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l+p,x+.25*p));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l+p,x+.75*p));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l+.5*p,x+(1-v)*p));c.push(new mxConnectionConstraint(new mxPoint(0,
0),!1,null,l,x+.75*p));return c};m.prototype.getConstraints=function(c,l,x){c=[];var p=Math.max(.01,Math.min(94,parseFloat(mxUtils.getValue(this.style,"isoAngle",this.isoAngle))))*Math.PI/200;p=Math.min(l*Math.tan(p),.5*x);c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,p));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,x-p));c.push(new mxConnectionConstraint(new mxPoint(.5,
1),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,x-p));c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,p));return c};ja.prototype.getConstraints=function(c,l,x){c=[];mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE);var p=Math.max(0,Math.min(x,parseFloat(mxUtils.getValue(this.style,"size",this.size))));parseFloat(mxUtils.getValue(this.style,"position",this.position));var v=l*Math.max(0,
@@ -2919,7 +2919,7 @@ qa.prototype.constraints=mxEllipse.prototype.constraints;Oa.prototype.constraint
0),!1,null,.5*(l+p),.5*(x+v)));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l+p),x));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l-p),x));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l-p),.5*(x+v)));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l-p),v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.25*l-.25*p,v));c.push(new mxConnectionConstraint(new mxPoint(0,
0),!1,null,0,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*v));return c};cb.prototype.getConstraints=function(c,l,x){c=[];var p=Math.max(0,Math.min(l,parseFloat(mxUtils.getValue(this.style,"dx",this.dx)))),v=Math.max(0,Math.min(x,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));c.push(new mxConnectionConstraint(new mxPoint(1,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,
0),!1,null,l,.5*v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l+p),v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,p,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,p,.5*(x+v)));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,p,x));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*p,x));c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,
-1),!1));return c};Ka.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,1),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.5,.5),!1),new mxConnectionConstraint(new mxPoint(.75,.5),!1),new mxConnectionConstraint(new mxPoint(1,0),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(1,1),!1)];$a.prototype.getConstraints=
+1),!1));return c};Ja.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,1),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.5,.5),!1),new mxConnectionConstraint(new mxPoint(.75,.5),!1),new mxConnectionConstraint(new mxPoint(1,0),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(1,1),!1)];$a.prototype.getConstraints=
function(c,l,x){c=[];var p=x*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",this.arrowWidth)))),v=l*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",this.arrowSize))));p=(x-p)/2;c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,p));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l-v),p));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-v,0));c.push(new mxConnectionConstraint(new mxPoint(1,
.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-v,x));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l-v),x-p));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,x-p));return c};z.prototype.getConstraints=function(c,l,x){c=[];var p=x*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",$a.prototype.arrowWidth)))),v=l*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",$a.prototype.arrowSize))));p=(x-p)/2;c.push(new mxConnectionConstraint(new mxPoint(0,
.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,v,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*l,p));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-v,0));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-v,x));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*l,x-p));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,v,x));return c};Ma.prototype.getConstraints=
@@ -3195,8 +3195,8 @@ mxUtils.bind(this,function(I){this.resolvedFontCss=I;null!=u&&u()})):null!=u&&u(
Q=0;Q<I.length;Q++)mxUtils.bind(this,function(Z,na){Graph.isCssFontUrl(na)?null==this.cachedGoogleFonts[na]?(W++,this.loadUrl(na,mxUtils.bind(this,function(va){this.cachedGoogleFonts[na]=va;N.push(va+"\n");W--;T()}),mxUtils.bind(this,function(va){W--;N.push("@import url("+na+");\n");T()}))):N.push(this.cachedGoogleFonts[na]+"\n"):N.push('@font-face {font-family: "'+Z+'";src: url("'+na+'")}\n')})(I[Q].name,I[Q].url);T()}else u()};Editor.prototype.addMathCss=function(u){u=u.getElementsByTagName("defs");
if(null!=u&&0<u.length)for(var I=document.getElementsByTagName("style"),N=0;N<I.length;N++){var W=mxUtils.getTextContent(I[N]);0>W.indexOf("mxPageSelector")&&0<W.indexOf("MathJax")&&u[0].appendChild(I[N].cloneNode(!0))}};Editor.prototype.addFontCss=function(u,I){I=null!=I?I:this.absoluteCssFonts(this.fontCss);if(null!=I){var N=u.getElementsByTagName("defs"),W=u.ownerDocument;0==N.length?(N=null!=W.createElementNS?W.createElementNS(mxConstants.NS_SVG,"defs"):W.createElement("defs"),null!=u.firstChild?
u.insertBefore(N,u.firstChild):u.appendChild(N)):N=N[0];u=null!=W.createElementNS?W.createElementNS(mxConstants.NS_SVG,"style"):W.createElement("style");u.setAttribute("type","text/css");mxUtils.setTextContent(u,I);N.appendChild(u)}};Editor.prototype.isExportToCanvas=function(){return mxClient.IS_CHROMEAPP||this.useCanvasForExport};Editor.prototype.getMaxCanvasScale=function(u,I,N){var W=mxClient.IS_FF?8192:16384;return Math.min(N,Math.min(W/u,W/I))};Editor.prototype.exportToCanvas=function(u,I,N,
-W,T,Q,Z,na,va,Ba,sa,Da,Aa,za,Ca,Qa,Za,cb){try{Q=null!=Q?Q:!0;Z=null!=Z?Z:!0;Da=null!=Da?Da:this.graph;Aa=null!=Aa?Aa:0;var Ka=va?null:Da.background;Ka==mxConstants.NONE&&(Ka=null);null==Ka&&(Ka=W);null==Ka&&0==va&&(Ka=Qa?this.graph.defaultPageBackgroundColor:"#ffffff");this.convertImages(Da.getSvg(null,null,Aa,za,null,Z,null,null,null,Ba,null,Qa,Za,cb),mxUtils.bind(this,function(Ua){try{var $a=new Image;$a.onload=mxUtils.bind(this,function(){try{var L=function(){mxClient.IS_SF?window.setTimeout(function(){ha.drawImage($a,
-0,0);u(M,Ua)},0):(ha.drawImage($a,0,0),u(M,Ua))},M=document.createElement("canvas"),S=parseInt(Ua.getAttribute("width")),ca=parseInt(Ua.getAttribute("height"));na=null!=na?na:1;null!=I&&(na=Q?Math.min(1,Math.min(3*I/(4*ca),I/S)):I/S);na=this.getMaxCanvasScale(S,ca,na);S=Math.ceil(na*S);ca=Math.ceil(na*ca);M.setAttribute("width",S);M.setAttribute("height",ca);var ha=M.getContext("2d");null!=Ka&&(ha.beginPath(),ha.rect(0,0,S,ca),ha.fillStyle=Ka,ha.fill());1!=na&&ha.scale(na,na);if(Ca){var oa=Da.view,
+W,T,Q,Z,na,va,Ba,sa,Da,Aa,za,Ca,Qa,Za,cb){try{Q=null!=Q?Q:!0;Z=null!=Z?Z:!0;Da=null!=Da?Da:this.graph;Aa=null!=Aa?Aa:0;var Ja=va?null:Da.background;Ja==mxConstants.NONE&&(Ja=null);null==Ja&&(Ja=W);null==Ja&&0==va&&(Ja=Qa?this.graph.defaultPageBackgroundColor:"#ffffff");this.convertImages(Da.getSvg(null,null,Aa,za,null,Z,null,null,null,Ba,null,Qa,Za,cb),mxUtils.bind(this,function(Ua){try{var $a=new Image;$a.onload=mxUtils.bind(this,function(){try{var L=function(){mxClient.IS_SF?window.setTimeout(function(){ha.drawImage($a,
+0,0);u(M,Ua)},0):(ha.drawImage($a,0,0),u(M,Ua))},M=document.createElement("canvas"),S=parseInt(Ua.getAttribute("width")),ca=parseInt(Ua.getAttribute("height"));na=null!=na?na:1;null!=I&&(na=Q?Math.min(1,Math.min(3*I/(4*ca),I/S)):I/S);na=this.getMaxCanvasScale(S,ca,na);S=Math.ceil(na*S);ca=Math.ceil(na*ca);M.setAttribute("width",S);M.setAttribute("height",ca);var ha=M.getContext("2d");null!=Ja&&(ha.beginPath(),ha.rect(0,0,S,ca),ha.fillStyle=Ja,ha.fill());1!=na&&ha.scale(na,na);if(Ca){var oa=Da.view,
ra=oa.scale;oa.scale=1;var qa=btoa(unescape(encodeURIComponent(oa.createSvgGrid(oa.gridColor))));oa.scale=ra;qa="data:image/svg+xml;base64,"+qa;var xa=Da.gridSize*oa.gridSteps*na,Ga=Da.getGraphBounds(),La=oa.translate.x*ra,Pa=oa.translate.y*ra,Oa=La+(Ga.x-La)/ra-Aa,Ta=Pa+(Ga.y-Pa)/ra-Aa,Ma=new Image;Ma.onload=function(){try{for(var ua=-Math.round(xa-mxUtils.mod((La-Oa)*na,xa)),ya=-Math.round(xa-mxUtils.mod((Pa-Ta)*na,xa));ua<S;ua+=xa)for(var Na=ya;Na<ca;Na+=xa)ha.drawImage(Ma,ua/na,Na/na);L()}catch(Fa){null!=
T&&T(Fa)}};Ma.onerror=function(ua){null!=T&&T(ua)};Ma.src=qa}else L()}catch(ua){null!=T&&T(ua)}});$a.onerror=function(L){null!=T&&T(L)};Ba&&this.graph.addSvgShadow(Ua);this.graph.mathEnabled&&this.addMathCss(Ua);var z=mxUtils.bind(this,function(){try{null!=this.resolvedFontCss&&this.addFontCss(Ua,this.resolvedFontCss),$a.src=Editor.createSvgDataUri(mxUtils.getXml(Ua))}catch(L){null!=T&&T(L)}});this.embedExtFonts(mxUtils.bind(this,function(L){try{null!=L&&this.addFontCss(Ua,L),this.loadFonts(z)}catch(M){null!=
T&&T(M)}}))}catch(L){null!=T&&T(L)}}),N,sa)}catch(Ua){null!=T&&T(Ua)}};Editor.crcTable=[];for(var D=0;256>D;D++)for(var t=D,E=0;8>E;E++)t=1==(t&1)?3988292384^t>>>1:t>>>1,Editor.crcTable[D]=t;Editor.updateCRC=function(u,I,N,W){for(var T=0;T<W;T++)u=Editor.crcTable[(u^I.charCodeAt(N+T))&255]^u>>>8;return u};Editor.crc32=function(u){for(var I=-1,N=0;N<u.length;N++)I=I>>>8^Editor.crcTable[(I^u.charCodeAt(N))&255];return(I^-1)>>>0};Editor.writeGraphModelToPng=function(u,I,N,W,T){function Q(sa,Da){var Aa=
@@ -3247,19 +3247,19 @@ mxEvent.addListener(Oa,"click",mxUtils.bind(sa,function(){function Ma(){var ya=u
La&&"float"!=La||ra.allowAuto||(ua.type="number",ua.step="int"==La?"1":"any",null!=ra.min&&(ua.min=parseFloat(ra.min)),null!=ra.max&&(ua.max=parseFloat(ra.max)));u.appendChild(ua);mxEvent.addListener(ua,"keypress",function(ya){13==ya.keyCode&&Ma()});ua.focus();mxEvent.addListener(ua,"blur",function(){Ma()})})));ra.isDeletable&&(xa=mxUtils.button("-",mxUtils.bind(sa,function(Ma){W(ha,"",ra,ra.index);mxEvent.consume(Ma)})),xa.style.height="16px",xa.style.width="25px",xa.style.float="right",xa.className=
"geColorBtn",Oa.appendChild(xa));Pa.appendChild(Oa);return Pa}var sa=this,Da=this.editorUi.editor.graph,Aa=[];u.style.position="relative";u.style.padding="0";var za=document.createElement("table");za.className="geProperties";za.style.whiteSpace="nowrap";za.style.width="100%";var Ca=document.createElement("tr");Ca.className="gePropHeader";var Qa=document.createElement("th");Qa.className="gePropHeaderCell";var Za=document.createElement("img");Za.src=Sidebar.prototype.expandedImage;Za.style.verticalAlign=
"middle";Qa.appendChild(Za);mxUtils.write(Qa,mxResources.get("property"));Ca.style.cursor="pointer";var cb=function(){var ha=za.querySelectorAll(".gePropNonHeaderRow");if(sa.editorUi.propertiesCollapsed){Za.src=Sidebar.prototype.collapsedImage;var oa="none";for(var ra=u.childNodes.length-1;0<=ra;ra--)try{var qa=u.childNodes[ra],xa=qa.nodeName.toUpperCase();"INPUT"!=xa&&"SELECT"!=xa||u.removeChild(qa)}catch(Ga){}}else Za.src=Sidebar.prototype.expandedImage,oa="";for(ra=0;ra<ha.length;ra++)ha[ra].style.display=
-oa};mxEvent.addListener(Ca,"click",function(){sa.editorUi.propertiesCollapsed=!sa.editorUi.propertiesCollapsed;cb()});Ca.appendChild(Qa);Qa=document.createElement("th");Qa.className="gePropHeaderCell";Qa.innerHTML=mxResources.get("value");Ca.appendChild(Qa);za.appendChild(Ca);var Ka=!1,Ua=!1;Ca=null;1==N.vertices.length&&0==N.edges.length?Ca=N.vertices[0].id:0==N.vertices.length&&1==N.edges.length&&(Ca=N.edges[0].id);null!=Ca&&za.appendChild(Ba("id",mxUtils.htmlEntities(Ca),{dispName:"ID",type:"readOnly"},
+oa};mxEvent.addListener(Ca,"click",function(){sa.editorUi.propertiesCollapsed=!sa.editorUi.propertiesCollapsed;cb()});Ca.appendChild(Qa);Qa=document.createElement("th");Qa.className="gePropHeaderCell";Qa.innerHTML=mxResources.get("value");Ca.appendChild(Qa);za.appendChild(Ca);var Ja=!1,Ua=!1;Ca=null;1==N.vertices.length&&0==N.edges.length?Ca=N.vertices[0].id:0==N.vertices.length&&1==N.edges.length&&(Ca=N.edges[0].id);null!=Ca&&za.appendChild(Ba("id",mxUtils.htmlEntities(Ca),{dispName:"ID",type:"readOnly"},
!0,!1));for(var $a in I)if(Ca=I[$a],"function"!=typeof Ca.isVisible||Ca.isVisible(N,this)){var z=null!=N.style[$a]?mxUtils.htmlEntities(N.style[$a]+""):null!=Ca.getDefaultValue?Ca.getDefaultValue(N,this):Ca.defVal;if("separator"==Ca.type)Ua=!Ua;else{if("staticArr"==Ca.type)Ca.size=parseInt(N.style[Ca.sizeProperty]||I[Ca.sizeProperty].defVal)||0;else if(null!=Ca.dependentProps){var L=Ca.dependentProps,M=[],S=[];for(Qa=0;Qa<L.length;Qa++){var ca=N.style[L[Qa]];S.push(I[L[Qa]].subDefVal);M.push(null!=
-ca?ca.split(","):[])}Ca.dependentPropsDefVal=S;Ca.dependentPropsVals=M}za.appendChild(Ba($a,z,Ca,Ka,Ua));Ka=!Ka}}for(Qa=0;Qa<Aa.length;Qa++)for(Ca=Aa[Qa],I=Ca.parentRow,N=0;N<Ca.values.length;N++)$a=Ba(Ca.name,Ca.values[N],{type:Ca.type,parentRow:Ca.parentRow,isDeletable:Ca.isDeletable,index:N,defVal:Ca.defVal,countProperty:Ca.countProperty,size:Ca.size},0==N%2,Ca.flipBkg),I.parentNode.insertBefore($a,I.nextSibling),I=$a;u.appendChild(za);cb();return u};StyleFormatPanel.prototype.addStyles=function(u){function I(Ca){mxEvent.addListener(Ca,
+ca?ca.split(","):[])}Ca.dependentPropsDefVal=S;Ca.dependentPropsVals=M}za.appendChild(Ba($a,z,Ca,Ja,Ua));Ja=!Ja}}for(Qa=0;Qa<Aa.length;Qa++)for(Ca=Aa[Qa],I=Ca.parentRow,N=0;N<Ca.values.length;N++)$a=Ba(Ca.name,Ca.values[N],{type:Ca.type,parentRow:Ca.parentRow,isDeletable:Ca.isDeletable,index:N,defVal:Ca.defVal,countProperty:Ca.countProperty,size:Ca.size},0==N%2,Ca.flipBkg),I.parentNode.insertBefore($a,I.nextSibling),I=$a;u.appendChild(za);cb();return u};StyleFormatPanel.prototype.addStyles=function(u){function I(Ca){mxEvent.addListener(Ca,
"mouseenter",function(){Ca.style.opacity="1"});mxEvent.addListener(Ca,"mouseleave",function(){Ca.style.opacity="0.5"})}var N=this.editorUi,W=N.editor.graph,T=document.createElement("div");T.style.whiteSpace="nowrap";T.style.paddingLeft="24px";T.style.paddingRight="20px";u.style.paddingLeft="16px";u.style.paddingBottom="6px";u.style.position="relative";u.appendChild(T);var Q="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(" "),
Z=document.createElement("div");Z.style.whiteSpace="nowrap";Z.style.position="relative";Z.style.textAlign="center";Z.style.width="210px";for(var na=[],va=0;va<this.defaultColorSchemes.length;va++){var Ba=document.createElement("div");Ba.style.display="inline-block";Ba.style.width="6px";Ba.style.height="6px";Ba.style.marginLeft="4px";Ba.style.marginRight="3px";Ba.style.borderRadius="3px";Ba.style.cursor="pointer";Ba.style.background="transparent";Ba.style.border="1px solid #b5b6b7";mxUtils.bind(this,
function(Ca){mxEvent.addListener(Ba,"click",mxUtils.bind(this,function(){sa(Ca)}))})(va);na.push(Ba);Z.appendChild(Ba)}var sa=mxUtils.bind(this,function(Ca){null!=na[Ca]&&(null!=this.format.currentScheme&&null!=na[this.format.currentScheme]&&(na[this.format.currentScheme].style.background="transparent"),this.format.currentScheme=Ca,Da(this.defaultColorSchemes[this.format.currentScheme]),na[this.format.currentScheme].style.background="#84d7ff")}),Da=mxUtils.bind(this,function(Ca){var Qa=mxUtils.bind(this,
-function(cb){var Ka=mxUtils.button("",mxUtils.bind(this,function(z){W.getModel().beginUpdate();try{for(var L=N.getSelectionState().cells,M=0;M<L.length;M++){for(var S=W.getModel().getStyle(L[M]),ca=0;ca<Q.length;ca++)S=mxUtils.removeStylename(S,Q[ca]);var ha=W.getModel().isVertex(L[M])?W.defaultVertexStyle:W.defaultEdgeStyle;null!=cb?(mxEvent.isShiftDown(z)||(S=""==cb.fill?mxUtils.setStyle(S,mxConstants.STYLE_FILLCOLOR,null):mxUtils.setStyle(S,mxConstants.STYLE_FILLCOLOR,cb.fill||mxUtils.getValue(ha,
+function(cb){var Ja=mxUtils.button("",mxUtils.bind(this,function(z){W.getModel().beginUpdate();try{for(var L=N.getSelectionState().cells,M=0;M<L.length;M++){for(var S=W.getModel().getStyle(L[M]),ca=0;ca<Q.length;ca++)S=mxUtils.removeStylename(S,Q[ca]);var ha=W.getModel().isVertex(L[M])?W.defaultVertexStyle:W.defaultEdgeStyle;null!=cb?(mxEvent.isShiftDown(z)||(S=""==cb.fill?mxUtils.setStyle(S,mxConstants.STYLE_FILLCOLOR,null):mxUtils.setStyle(S,mxConstants.STYLE_FILLCOLOR,cb.fill||mxUtils.getValue(ha,
mxConstants.STYLE_FILLCOLOR,null)),S=mxUtils.setStyle(S,mxConstants.STYLE_GRADIENTCOLOR,cb.gradient||mxUtils.getValue(ha,mxConstants.STYLE_GRADIENTCOLOR,null)),mxEvent.isControlDown(z)||mxClient.IS_MAC&&mxEvent.isMetaDown(z)||!W.getModel().isVertex(L[M])||(S=mxUtils.setStyle(S,mxConstants.STYLE_FONTCOLOR,cb.font||mxUtils.getValue(ha,mxConstants.STYLE_FONTCOLOR,null)))),mxEvent.isAltDown(z)||(S=""==cb.stroke?mxUtils.setStyle(S,mxConstants.STYLE_STROKECOLOR,null):mxUtils.setStyle(S,mxConstants.STYLE_STROKECOLOR,
cb.stroke||mxUtils.getValue(ha,mxConstants.STYLE_STROKECOLOR,null)))):(S=mxUtils.setStyle(S,mxConstants.STYLE_FILLCOLOR,mxUtils.getValue(ha,mxConstants.STYLE_FILLCOLOR,"#ffffff")),S=mxUtils.setStyle(S,mxConstants.STYLE_STROKECOLOR,mxUtils.getValue(ha,mxConstants.STYLE_STROKECOLOR,"#000000")),S=mxUtils.setStyle(S,mxConstants.STYLE_GRADIENTCOLOR,mxUtils.getValue(ha,mxConstants.STYLE_GRADIENTCOLOR,null)),W.getModel().isVertex(L[M])&&(S=mxUtils.setStyle(S,mxConstants.STYLE_FONTCOLOR,mxUtils.getValue(ha,
-mxConstants.STYLE_FONTCOLOR,null))));W.getModel().setStyle(L[M],S)}}finally{W.getModel().endUpdate()}}));Ka.className="geStyleButton";Ka.style.width="36px";Ka.style.height=10>=this.defaultColorSchemes.length?"24px":"30px";Ka.style.margin="0px 6px 6px 0px";if(null!=cb){var Ua="1"==urlParams.sketch?"2px solid":"1px solid";null!=cb.gradient?mxClient.IS_IE&&10>document.documentMode?Ka.style.filter="progid:DXImageTransform.Microsoft.Gradient(StartColorStr='"+cb.fill+"', EndColorStr='"+cb.gradient+"', GradientType=0)":
-Ka.style.backgroundImage="linear-gradient("+cb.fill+" 0px,"+cb.gradient+" 100%)":cb.fill==mxConstants.NONE?Ka.style.background="url('"+Dialog.prototype.noColorImage+"')":Ka.style.backgroundColor=""==cb.fill?mxUtils.getValue(W.defaultVertexStyle,mxConstants.STYLE_FILLCOLOR,Editor.isDarkMode()?Editor.darkColor:"#ffffff"):cb.fill||mxUtils.getValue(W.defaultVertexStyle,mxConstants.STYLE_FILLCOLOR,Editor.isDarkMode()?Editor.darkColor:"#ffffff");Ka.style.border=cb.stroke==mxConstants.NONE?Ua+" transparent":
-""==cb.stroke?Ua+" "+mxUtils.getValue(W.defaultVertexStyle,mxConstants.STYLE_STROKECOLOR,Editor.isDarkMode()?"#ffffff":Editor.darkColor):Ua+" "+(cb.stroke||mxUtils.getValue(W.defaultVertexStyle,mxConstants.STYLE_STROKECOLOR,Editor.isDarkMode()?"#ffffff":Editor.darkColor));null!=cb.title&&Ka.setAttribute("title",cb.title)}else{Ua=mxUtils.getValue(W.defaultVertexStyle,mxConstants.STYLE_FILLCOLOR,"#ffffff");var $a=mxUtils.getValue(W.defaultVertexStyle,mxConstants.STYLE_STROKECOLOR,"#000000");Ka.style.backgroundColor=
-Ua;Ka.style.border="1px solid "+$a}Ka.style.borderRadius="0";T.appendChild(Ka)});T.innerHTML="";for(var Za=0;Za<Ca.length;Za++)0<Za&&0==mxUtils.mod(Za,4)&&mxUtils.br(T),Qa(Ca[Za])});null==this.format.currentScheme?sa(Editor.isDarkMode()?1:"1"==urlParams.sketch?5:0):sa(this.format.currentScheme);va=10>=this.defaultColorSchemes.length?28:8;var Aa=document.createElement("div");Aa.style.cssText="position:absolute;left:10px;top:8px;bottom:"+va+"px;width:20px;margin:4px;opacity:0.5;background-repeat:no-repeat;background-position:center center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQBAMAAADQT4M0AAAAIVBMVEUAAAB2dnZ4eHh3d3d1dXVxcXF2dnZ2dnZ2dnZxcXF2dnYmb3w1AAAACnRSTlMAfCTkhhvb7cQSPH2JPgAAADRJREFUCNdjwACMAmBKaiGYs2oJmLPKAZ3DabU8AMRTXpUKopislqFyVzCAuUZgikkBZjoAcMYLnp53P/UAAAAASUVORK5CYII=);";
+mxConstants.STYLE_FONTCOLOR,null))));W.getModel().setStyle(L[M],S)}}finally{W.getModel().endUpdate()}}));Ja.className="geStyleButton";Ja.style.width="36px";Ja.style.height=10>=this.defaultColorSchemes.length?"24px":"30px";Ja.style.margin="0px 6px 6px 0px";if(null!=cb){var Ua="1"==urlParams.sketch?"2px solid":"1px solid";null!=cb.gradient?mxClient.IS_IE&&10>document.documentMode?Ja.style.filter="progid:DXImageTransform.Microsoft.Gradient(StartColorStr='"+cb.fill+"', EndColorStr='"+cb.gradient+"', GradientType=0)":
+Ja.style.backgroundImage="linear-gradient("+cb.fill+" 0px,"+cb.gradient+" 100%)":cb.fill==mxConstants.NONE?Ja.style.background="url('"+Dialog.prototype.noColorImage+"')":Ja.style.backgroundColor=""==cb.fill?mxUtils.getValue(W.defaultVertexStyle,mxConstants.STYLE_FILLCOLOR,Editor.isDarkMode()?Editor.darkColor:"#ffffff"):cb.fill||mxUtils.getValue(W.defaultVertexStyle,mxConstants.STYLE_FILLCOLOR,Editor.isDarkMode()?Editor.darkColor:"#ffffff");Ja.style.border=cb.stroke==mxConstants.NONE?Ua+" transparent":
+""==cb.stroke?Ua+" "+mxUtils.getValue(W.defaultVertexStyle,mxConstants.STYLE_STROKECOLOR,Editor.isDarkMode()?"#ffffff":Editor.darkColor):Ua+" "+(cb.stroke||mxUtils.getValue(W.defaultVertexStyle,mxConstants.STYLE_STROKECOLOR,Editor.isDarkMode()?"#ffffff":Editor.darkColor));null!=cb.title&&Ja.setAttribute("title",cb.title)}else{Ua=mxUtils.getValue(W.defaultVertexStyle,mxConstants.STYLE_FILLCOLOR,"#ffffff");var $a=mxUtils.getValue(W.defaultVertexStyle,mxConstants.STYLE_STROKECOLOR,"#000000");Ja.style.backgroundColor=
+Ua;Ja.style.border="1px solid "+$a}Ja.style.borderRadius="0";T.appendChild(Ja)});T.innerHTML="";for(var Za=0;Za<Ca.length;Za++)0<Za&&0==mxUtils.mod(Za,4)&&mxUtils.br(T),Qa(Ca[Za])});null==this.format.currentScheme?sa(Editor.isDarkMode()?1:"1"==urlParams.sketch?5:0):sa(this.format.currentScheme);va=10>=this.defaultColorSchemes.length?28:8;var Aa=document.createElement("div");Aa.style.cssText="position:absolute;left:10px;top:8px;bottom:"+va+"px;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(Aa,"click",mxUtils.bind(this,function(){sa(mxUtils.mod(this.format.currentScheme-1,this.defaultColorSchemes.length))}));var za=document.createElement("div");za.style.cssText="position:absolute;left:202px;top:8px;bottom:"+va+"px;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&&(u.appendChild(Aa),u.appendChild(za));mxEvent.addListener(za,"click",mxUtils.bind(this,function(){sa(mxUtils.mod(this.format.currentScheme+1,this.defaultColorSchemes.length))}));I(Aa);I(za);Da(this.defaultColorSchemes[this.format.currentScheme]);10>=this.defaultColorSchemes.length&&u.appendChild(Z);return u};StyleFormatPanel.prototype.addEditOps=function(u){var I=this.editorUi.getSelectionState(),N=this.editorUi.editor.graph,W=null;1==I.cells.length&&(W=mxUtils.button(mxResources.get("editStyle"),
mxUtils.bind(this,function(T){this.editorUi.actions.get("editStyle").funct()})),W.setAttribute("title",mxResources.get("editStyle")+" ("+this.editorUi.actions.get("editStyle").shortcut+")"),W.style.width="210px",W.style.marginBottom="2px",u.appendChild(W));N=1==I.cells.length?N.view.getState(I.cells[0]):null;null!=N&&null!=N.shape&&null!=N.shape.stencil?(I=mxUtils.button(mxResources.get("editShape"),mxUtils.bind(this,function(T){this.editorUi.actions.get("editShape").funct()})),I.setAttribute("title",
@@ -3273,12 +3273,12 @@ urlParams.edge;Graph.prototype.hiddenTags=null;Graph.prototype.defaultMathEnable
this.getInsertPoint=function(){return null!=I?this.getPointForEvent(I):N.apply(this,arguments)};var W=this.layoutManager.getLayout;this.layoutManager.getLayout=function(T){var Q=this.graph.getCellStyle(T);if(null!=Q&&"rack"==Q.childLayout){var Z=new mxStackLayout(this.graph,!1);Z.gridSize=null!=Q.rackUnitSize?parseFloat(Q.rackUnitSize):"undefined"!==typeof mxRackContainer?mxRackContainer.unitSize:20;Z.marginLeft=Q.marginLeft||0;Z.marginRight=Q.marginRight||0;Z.marginTop=Q.marginTop||0;Z.marginBottom=
Q.marginBottom||0;Z.allowGaps=Q.allowGaps||0;Z.horizontal="1"==mxUtils.getValue(Q,"horizontalRack","0");Z.resizeParent=!1;Z.fill=!0;return Z}return W.apply(this,arguments)};this.updateGlobalUrlVariables()};var G=Graph.prototype.postProcessCellStyle;Graph.prototype.postProcessCellStyle=function(u,I){return Graph.processFontStyle(G.apply(this,arguments))};var aa=mxSvgCanvas2D.prototype.updateTextNodes;mxSvgCanvas2D.prototype.updateTextNodes=function(u,I,N,W,T,Q,Z,na,va,Ba,sa){aa.apply(this,arguments);
Graph.processFontAttributes(sa)};var da=mxText.prototype.redraw;mxText.prototype.redraw=function(){da.apply(this,arguments);null!=this.node&&"DIV"==this.node.nodeName&&Graph.processFontAttributes(this.node)};Graph.prototype.createTagsDialog=function(u,I,N){function W(){for(var Ca=Z.getSelectionCells(),Qa=[],Za=0;Za<Ca.length;Za++)Z.isCellVisible(Ca[Za])&&Qa.push(Ca[Za]);Z.setSelectionCells(Qa)}function T(Ca){Z.setHiddenTags(Ca?[]:na.slice());W();Z.refresh()}function Q(Ca,Qa){Ba.innerHTML="";if(0<
-Ca.length){var Za=document.createElement("table");Za.setAttribute("cellpadding","2");Za.style.boxSizing="border-box";Za.style.tableLayout="fixed";Za.style.width="100%";var cb=document.createElement("tbody");if(null!=Ca&&0<Ca.length)for(var Ka=0;Ka<Ca.length;Ka++)(function(Ua){var $a=0>mxUtils.indexOf(Z.hiddenTags,Ua),z=document.createElement("tr"),L=document.createElement("td");L.style.align="center";L.style.width="16px";var M=document.createElement("img");M.setAttribute("src",$a?Editor.visibleImage:
+Ca.length){var Za=document.createElement("table");Za.setAttribute("cellpadding","2");Za.style.boxSizing="border-box";Za.style.tableLayout="fixed";Za.style.width="100%";var cb=document.createElement("tbody");if(null!=Ca&&0<Ca.length)for(var Ja=0;Ja<Ca.length;Ja++)(function(Ua){var $a=0>mxUtils.indexOf(Z.hiddenTags,Ua),z=document.createElement("tr"),L=document.createElement("td");L.style.align="center";L.style.width="16px";var M=document.createElement("img");M.setAttribute("src",$a?Editor.visibleImage:
Editor.hiddenImage);M.setAttribute("title",mxResources.get($a?"hideIt":"show",[Ua]));mxUtils.setOpacity(M,$a?75:25);M.style.verticalAlign="middle";M.style.cursor="pointer";M.style.width="16px";if(I||Editor.isDarkMode())M.style.filter="invert(100%)";L.appendChild(M);mxEvent.addListener(M,"click",function(ca){mxEvent.isShiftDown(ca)?T(0<=mxUtils.indexOf(Z.hiddenTags,Ua)):(Z.toggleHiddenTag(Ua),W(),Z.refresh());mxEvent.consume(ca)});z.appendChild(L);L=document.createElement("td");L.style.overflow="hidden";
L.style.whiteSpace="nowrap";L.style.textOverflow="ellipsis";L.style.verticalAlign="middle";L.style.cursor="pointer";L.setAttribute("title",Ua);a=document.createElement("a");mxUtils.write(a,Ua);a.style.textOverflow="ellipsis";a.style.position="relative";mxUtils.setOpacity(a,$a?100:40);L.appendChild(a);mxEvent.addListener(L,"click",function(ca){if(mxEvent.isShiftDown(ca)){T(!0);var ha=Z.getCellsForTags([Ua],null,null,!0);Z.isEnabled()?Z.setSelectionCells(ha):Z.highlightCells(ha)}else if($a&&0<Z.hiddenTags.length)T(!0);
else{ha=na.slice();var oa=mxUtils.indexOf(ha,Ua);ha.splice(oa,1);Z.setHiddenTags(ha);W();Z.refresh()}mxEvent.consume(ca)});z.appendChild(L);if(Z.isEnabled()){L=document.createElement("td");L.style.verticalAlign="middle";L.style.textAlign="center";L.style.width="18px";if(null==Qa){L.style.align="center";L.style.width="16px";M=document.createElement("img");M.setAttribute("src",Editor.crossImage);M.setAttribute("title",mxResources.get("removeIt",[Ua]));mxUtils.setOpacity(M,$a?75:25);M.style.verticalAlign=
"middle";M.style.cursor="pointer";M.style.width="16px";if(I||Editor.isDarkMode())M.style.filter="invert(100%)";mxEvent.addListener(M,"click",function(ca){var ha=mxUtils.indexOf(na,Ua);0<=ha&&na.splice(ha,1);Z.removeTagsForCells(Z.model.getDescendants(Z.model.getRoot()),[Ua]);Z.refresh();mxEvent.consume(ca)});L.appendChild(M)}else{var S=document.createElement("input");S.setAttribute("type","checkbox");S.style.margin="0px";S.defaultChecked=null!=Qa&&0<=mxUtils.indexOf(Qa,Ua);S.checked=S.defaultChecked;
-S.style.background="transparent";S.setAttribute("title",mxResources.get(S.defaultChecked?"removeIt":"add",[Ua]));mxEvent.addListener(S,"change",function(ca){S.checked?Z.addTagsForCells(Z.getSelectionCells(),[Ua]):Z.removeTagsForCells(Z.getSelectionCells(),[Ua]);mxEvent.consume(ca)});L.appendChild(S)}z.appendChild(L)}cb.appendChild(z)})(Ca[Ka]);Za.appendChild(cb);Ba.appendChild(Za)}}var Z=this,na=Z.hiddenTags.slice(),va=document.createElement("div");va.style.userSelect="none";va.style.overflow="hidden";
+S.style.background="transparent";S.setAttribute("title",mxResources.get(S.defaultChecked?"removeIt":"add",[Ua]));mxEvent.addListener(S,"change",function(ca){S.checked?Z.addTagsForCells(Z.getSelectionCells(),[Ua]):Z.removeTagsForCells(Z.getSelectionCells(),[Ua]);mxEvent.consume(ca)});L.appendChild(S)}z.appendChild(L)}cb.appendChild(z)})(Ca[Ja]);Za.appendChild(cb);Ba.appendChild(Za)}}var Z=this,na=Z.hiddenTags.slice(),va=document.createElement("div");va.style.userSelect="none";va.style.overflow="hidden";
va.style.padding="10px";va.style.height="100%";var Ba=document.createElement("div");Ba.style.boxSizing="border-box";Ba.style.borderRadius="4px";Ba.style.userSelect="none";Ba.style.overflow="auto";Ba.style.position="absolute";Ba.style.left="10px";Ba.style.right="10px";Ba.style.top="10px";Ba.style.border=Z.isEnabled()?"1px solid #808080":"none";Ba.style.bottom=Z.isEnabled()?"48px":"10px";va.appendChild(Ba);var sa=mxUtils.button(mxResources.get("reset"),function(Ca){Z.setHiddenTags([]);mxEvent.isShiftDown(Ca)||
(na=Z.hiddenTags.slice());W();Z.refresh()});sa.setAttribute("title",mxResources.get("reset"));sa.className="geBtn";sa.style.margin="0 4px 0 0";var Da=mxUtils.button(mxResources.get("add"),function(){null!=N&&N(na,function(Ca){na=Ca;Aa()})});Da.setAttribute("title",mxResources.get("add"));Da.className="geBtn";Da.style.margin="0";Z.addListener(mxEvent.ROOT,function(){na=Z.hiddenTags.slice()});var Aa=mxUtils.bind(this,function(Ca,Qa){if(u()){Ca=Z.getAllTags();for(Qa=0;Qa<Ca.length;Qa++)0>mxUtils.indexOf(na,
Ca[Qa])&&na.push(Ca[Qa]);na.sort();Z.isSelectionEmpty()?Q(na):Q(na,Z.getCommonTagsForCells(Z.getSelectionCells()))}});Z.selectionModel.addListener(mxEvent.CHANGE,Aa);Z.model.addListener(mxEvent.CHANGE,Aa);Z.addListener(mxEvent.REFRESH,Aa);var za=document.createElement("div");za.style.boxSizing="border-box";za.style.whiteSpace="nowrap";za.style.position="absolute";za.style.overflow="hidden";za.style.bottom="0px";za.style.height="42px";za.style.right="10px";za.style.left="10px";Z.isEnabled()&&(za.appendChild(sa),
@@ -3286,7 +3286,7 @@ za.appendChild(Da),va.appendChild(za));return{div:va,refresh:Aa}};Graph.prototyp
u&&N[W].getAttribute("data-font-src")!=I&&N[W].setAttribute("data-font-src",I)}};var ba=Graph.prototype.isFastZoomEnabled;Graph.prototype.isFastZoomEnabled=function(){return ba.apply(this,arguments)&&(!this.shadowVisible||!mxClient.IS_SF)};Graph.prototype.updateGlobalUrlVariables=function(){this.globalVars=Editor.globalVars;if(null!=urlParams.vars)try{this.globalVars=null!=this.globalVars?mxUtils.clone(this.globalVars):{};var u=JSON.parse(decodeURIComponent(urlParams.vars));if(null!=u)for(var I in u)this.globalVars[I]=
u[I]}catch(N){null!=window.console&&console.log("Error in vars URL parameter: "+N)}};Graph.prototype.getExportVariables=function(){return null!=this.globalVars?mxUtils.clone(this.globalVars):{}};var Y=Graph.prototype.getGlobalVariable;Graph.prototype.getGlobalVariable=function(u){var I=Y.apply(this,arguments);null==I&&null!=this.globalVars&&(I=this.globalVars[u]);return I};Graph.prototype.getDefaultStylesheet=function(){if(null==this.defaultStylesheet){var u=this.themes["default-style2"];this.defaultStylesheet=
(new mxCodec(u.ownerDocument)).decode(u)}return this.defaultStylesheet};Graph.prototype.isViewer=function(){return urlParams.viewer};var pa=Graph.prototype.getSvg;Graph.prototype.getSvg=function(u,I,N,W,T,Q,Z,na,va,Ba,sa,Da,Aa,za){var Ca=null,Qa=null,Za=null;Da||null==this.themes||"darkTheme"!=this.defaultThemeName||(Ca=this.stylesheet,Qa=this.shapeForegroundColor,Za=this.shapeBackgroundColor,this.shapeForegroundColor="darkTheme"==this.defaultThemeName?"#000000":Editor.lightColor,this.shapeBackgroundColor=
-"darkTheme"==this.defaultThemeName?"#ffffff":Editor.darkColor,this.stylesheet=this.getDefaultStylesheet(),this.refresh());var cb=pa.apply(this,arguments),Ka=this.getCustomFonts();if(sa&&0<Ka.length){var Ua=cb.ownerDocument,$a=null!=Ua.createElementNS?Ua.createElementNS(mxConstants.NS_SVG,"style"):Ua.createElement("style");null!=Ua.setAttributeNS?$a.setAttributeNS("type","text/css"):$a.setAttribute("type","text/css");for(var z="",L="",M=0;M<Ka.length;M++){var S=Ka[M].name,ca=Ka[M].url;Graph.isCssFontUrl(ca)?
+"darkTheme"==this.defaultThemeName?"#ffffff":Editor.darkColor,this.stylesheet=this.getDefaultStylesheet(),this.refresh());var cb=pa.apply(this,arguments),Ja=this.getCustomFonts();if(sa&&0<Ja.length){var Ua=cb.ownerDocument,$a=null!=Ua.createElementNS?Ua.createElementNS(mxConstants.NS_SVG,"style"):Ua.createElement("style");null!=Ua.setAttributeNS?$a.setAttributeNS("type","text/css"):$a.setAttribute("type","text/css");for(var z="",L="",M=0;M<Ja.length;M++){var S=Ja[M].name,ca=Ja[M].url;Graph.isCssFontUrl(ca)?
z+="@import url("+ca+");\n":L+='@font-face {\nfont-family: "'+S+'";\nsrc: url("'+ca+'");\n}\n'}$a.appendChild(Ua.createTextNode(z+L));cb.getElementsByTagName("defs")[0].appendChild($a)}null!=Ca&&(this.shapeBackgroundColor=Za,this.shapeForegroundColor=Qa,this.stylesheet=Ca,this.refresh());return cb};var O=Graph.prototype.createSvgImageExport;Graph.prototype.createSvgImageExport=function(){var u=O.apply(this,arguments);if(this.mathEnabled){var I=u.drawText;u.drawText=function(N,W){if(null!=N.text&&
null!=N.text.value&&N.text.checkBounds()&&(mxUtils.isNode(N.text.value)||N.text.dialect==mxConstants.DIALECT_STRICTHTML)){var T=N.text.getContentNode();if(null!=T){T=T.cloneNode(!0);if(T.getElementsByTagNameNS)for(var Q=T.getElementsByTagNameNS("http://www.w3.org/1998/Math/MathML","math");0<Q.length;)Q[0].parentNode.removeChild(Q[0]);null!=T.innerHTML&&(Q=N.text.value,N.text.value=T.innerHTML,I.apply(this,arguments),N.text.value=Q)}}else I.apply(this,arguments)}}return u};var X=mxCellRenderer.prototype.destroy;
mxCellRenderer.prototype.destroy=function(u){X.apply(this,arguments);null!=u.secondLabel&&(u.secondLabel.destroy(),u.secondLabel=null)};mxCellRenderer.prototype.getShapesForState=function(u){return[u.shape,u.text,u.secondLabel,u.control]};var ea=mxGraphView.prototype.resetValidationState;mxGraphView.prototype.resetValidationState=function(){ea.apply(this,arguments);this.enumerationState=0};var ka=mxGraphView.prototype.stateValidated;mxGraphView.prototype.stateValidated=function(u){null!=u.shape&&
@@ -3348,16 +3348,16 @@ Ba.setAttribute("name","pages-printdialog");Z.appendChild(Ba);I=document.createE
I+1;Da.value=va;Aa.value=va;break}Da.setAttribute("max",na);Aa.setAttribute("max",na);u.isPagesEnabled()?1<na&&(Q.appendChild(Z),sa.checked=!0):sa.checked=!0;mxUtils.br(Z);var za=document.createElement("input");za.setAttribute("value","all");za.setAttribute("type","radio");za.style.marginRight="8px";T.isSelectionEmpty()&&za.setAttribute("disabled","disabled");var Ca=document.createElement("div");Ca.style.marginBottom="10px";1==na?(za.setAttribute("type","checkbox"),za.style.marginBottom="12px",Ca.appendChild(za)):
(za.setAttribute("name","pages-printdialog"),za.style.marginBottom="8px",Z.appendChild(za));I=document.createElement("span");mxUtils.write(I,mxResources.get("selectionOnly"));za.parentNode.appendChild(I);1==na&&mxUtils.br(za.parentNode);var Qa=document.createElement("input");Qa.style.marginRight="8px";Qa.setAttribute("value","adjust");Qa.setAttribute("type","radio");Qa.setAttribute("name","printZoom");Ca.appendChild(Qa);I=document.createElement("span");mxUtils.write(I,mxResources.get("adjustTo"));
Ca.appendChild(I);var Za=document.createElement("input");Za.style.cssText="margin:0 8px 0 8px;";Za.setAttribute("value","100 %");Za.style.width="50px";Ca.appendChild(Za);mxEvent.addListener(Za,"focus",function(){Qa.checked=!0});Q.appendChild(Ca);Z=Z.cloneNode(!1);var cb=Qa.cloneNode(!0);cb.setAttribute("value","fit");Qa.setAttribute("checked","checked");I=document.createElement("div");I.style.cssText="display:inline-block;vertical-align:top;padding-top:2px;";I.appendChild(cb);Z.appendChild(I);Ca=
-document.createElement("table");Ca.style.display="inline-block";var Ka=document.createElement("tbody"),Ua=document.createElement("tr"),$a=Ua.cloneNode(!0),z=document.createElement("td"),L=z.cloneNode(!0),M=z.cloneNode(!0),S=z.cloneNode(!0),ca=z.cloneNode(!0),ha=z.cloneNode(!0);z.style.textAlign="right";S.style.textAlign="right";mxUtils.write(z,mxResources.get("fitTo"));var oa=document.createElement("input");oa.style.cssText="margin:0 8px 0 8px;";oa.setAttribute("value","1");oa.setAttribute("min",
+document.createElement("table");Ca.style.display="inline-block";var Ja=document.createElement("tbody"),Ua=document.createElement("tr"),$a=Ua.cloneNode(!0),z=document.createElement("td"),L=z.cloneNode(!0),M=z.cloneNode(!0),S=z.cloneNode(!0),ca=z.cloneNode(!0),ha=z.cloneNode(!0);z.style.textAlign="right";S.style.textAlign="right";mxUtils.write(z,mxResources.get("fitTo"));var oa=document.createElement("input");oa.style.cssText="margin:0 8px 0 8px;";oa.setAttribute("value","1");oa.setAttribute("min",
"1");oa.setAttribute("type","number");oa.style.width="40px";L.appendChild(oa);I=document.createElement("span");mxUtils.write(I,mxResources.get("fitToSheetsAcross"));M.appendChild(I);mxUtils.write(S,mxResources.get("fitToBy"));var ra=oa.cloneNode(!0);ca.appendChild(ra);mxEvent.addListener(oa,"focus",function(){cb.checked=!0});mxEvent.addListener(ra,"focus",function(){cb.checked=!0});I=document.createElement("span");mxUtils.write(I,mxResources.get("fitToSheetsDown"));ha.appendChild(I);Ua.appendChild(z);
-Ua.appendChild(L);Ua.appendChild(M);$a.appendChild(S);$a.appendChild(ca);$a.appendChild(ha);Ka.appendChild(Ua);Ka.appendChild($a);Ca.appendChild(Ka);Z.appendChild(Ca);Q.appendChild(Z);Z=document.createElement("div");I=document.createElement("div");I.style.fontWeight="bold";I.style.marginBottom="12px";mxUtils.write(I,mxResources.get("paperSize"));Z.appendChild(I);I=document.createElement("div");I.style.marginBottom="12px";var qa=PageSetupDialog.addPageFormatPanel(I,"printdialog",u.editor.graph.pageFormat||
+Ua.appendChild(L);Ua.appendChild(M);$a.appendChild(S);$a.appendChild(ca);$a.appendChild(ha);Ja.appendChild(Ua);Ja.appendChild($a);Ca.appendChild(Ja);Z.appendChild(Ca);Q.appendChild(Z);Z=document.createElement("div");I=document.createElement("div");I.style.fontWeight="bold";I.style.marginBottom="12px";mxUtils.write(I,mxResources.get("paperSize"));Z.appendChild(I);I=document.createElement("div");I.style.marginBottom="12px";var qa=PageSetupDialog.addPageFormatPanel(I,"printdialog",u.editor.graph.pageFormat||
mxConstants.PAGE_FORMAT_A4_PORTRAIT);Z.appendChild(I);I=document.createElement("span");mxUtils.write(I,mxResources.get("pageScale"));Z.appendChild(I);var xa=document.createElement("input");xa.style.cssText="margin:0 8px 0 8px;";xa.setAttribute("value","100 %");xa.style.width="60px";Z.appendChild(xa);Q.appendChild(Z);I=document.createElement("div");I.style.cssText="text-align:right;margin:48px 0 0 0;";Z=mxUtils.button(mxResources.get("cancel"),function(){u.hideDialog()});Z.className="geBtn";u.editor.cancelFirst&&
I.appendChild(Z);u.isOffline()||(Ca=mxUtils.button(mxResources.get("help"),function(){T.openLink("https://www.diagrams.net/doc/faq/print-diagram")}),Ca.className="geBtn",I.appendChild(Ca));PrintDialog.previewEnabled&&(Ca=mxUtils.button(mxResources.get("preview"),function(){u.hideDialog();W(!1)}),Ca.className="geBtn",I.appendChild(Ca));Ca=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){u.hideDialog();W(!0)});Ca.className="geBtn gePrimaryBtn";I.appendChild(Ca);u.editor.cancelFirst||
I.appendChild(Z);Q.appendChild(I);this.container=Q};var ia=ChangePageSetup.prototype.execute;ChangePageSetup.prototype.execute=function(){null==this.page&&(this.page=this.ui.currentPage);if(this.page!=this.ui.currentPage){if(null!=this.page.viewState){this.ignoreColor||(this.page.viewState.background=this.color);if(!this.ignoreImage){var u=this.image;null!=u&&null!=u.src&&Graph.isPageLink(u.src)&&(u={originalSrc:u.src});this.page.viewState.backgroundImage=u}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)}}else ia.apply(this,arguments),null!=this.mathEnabled&&this.mathEnabled!=this.ui.isMathEnabled()&&(this.ui.setMathEnabled(this.mathEnabled),this.mathEnabled=!this.mathEnabled),null!=this.shadowVisible&&this.shadowVisible!=this.ui.editor.graph.shadowVisible&&(this.ui.editor.graph.setShadowVisible(this.shadowVisible),this.shadowVisible=
!this.shadowVisible)};Editor.prototype.useCanvasForExport=!1;try{var la=document.createElement("canvas"),ta=new Image;ta.onload=function(){try{la.getContext("2d").drawImage(ta,0,0);var u=la.toDataURL("image/png");Editor.prototype.useCanvasForExport=null!=u&&6<u.length}catch(I){}};ta.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){}})();
(function(){var b=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);b.beforeDecode=function(e,k,n){n.ui=e.ui;return k};b.afterDecode=function(e,k,n){n.previousColor=n.color;n.previousImage=n.image;n.previousFormat=n.format;null!=n.foldingEnabled&&(n.foldingEnabled=!n.foldingEnabled);null!=n.mathEnabled&&(n.mathEnabled=!n.mathEnabled);null!=n.shadowVisible&&(n.shadowVisible=!n.shadowVisible);return n};mxCodecRegistry.register(b)})();
-(function(){var b=new mxObjectCodec(new ChangeGridColor,["ui"]);b.beforeDecode=function(e,k,n){n.ui=e.ui;return k};mxCodecRegistry.register(b)})();(function(){EditorUi.VERSION="19.0.0";EditorUi.compactUi="atlas"!=uiTheme;Editor.isDarkMode()&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&"1"!=urlParams.lockdown&&(/.*\.draw\.io$/.test(window.location.hostname)||/.*\.diagrams\.net$/.test(window.location.hostname))&&"support.draw.io"!=window.location.hostname;EditorUi.drawHost=window.DRAWIO_BASE_URL;EditorUi.lightboxHost=window.DRAWIO_LIGHTBOX_URL;EditorUi.lastErrorMessage=
+(function(){var b=new mxObjectCodec(new ChangeGridColor,["ui"]);b.beforeDecode=function(e,k,n){n.ui=e.ui;return k};mxCodecRegistry.register(b)})();(function(){EditorUi.VERSION="19.0.1";EditorUi.compactUi="atlas"!=uiTheme;Editor.isDarkMode()&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&"1"!=urlParams.lockdown&&(/.*\.draw\.io$/.test(window.location.hostname)||/.*\.diagrams\.net$/.test(window.location.hostname))&&"support.draw.io"!=window.location.hostname;EditorUi.drawHost=window.DRAWIO_BASE_URL;EditorUi.lightboxHost=window.DRAWIO_LIGHTBOX_URL;EditorUi.lastErrorMessage=
null;EditorUi.ignoredAnonymizedChars="\n\t`~!@#$%^&*()_+{}|:\"<>?-=[];'./,\n\t";EditorUi.templateFile=TEMPLATE_PATH+"/index.xml";EditorUi.cacheUrl=window.REALTIME_URL;null==EditorUi.cacheUrl&&"undefined"!==typeof DrawioFile&&(DrawioFile.SYNC="none");Editor.cacheTimeout=1E4;EditorUi.enablePlantUml=EditorUi.enableLogging;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;EditorUi.nativeFileSupport=!mxClient.IS_OP&&!EditorUi.isElectronApp&&
"1"!=urlParams.extAuth&&"showSaveFilePicker"in window&&"showOpenFilePicker"in window;EditorUi.enableDrafts=!mxClient.IS_CHROMEAPP&&isLocalStorage&&"0"!=urlParams.drafts;EditorUi.scratchpadHelpLink="https://www.diagrams.net/doc/faq/scratchpad";EditorUi.enableHtmlEditOption=!0;EditorUi.defaultMermaidConfig={theme:"neutral",arrowMarkerAbsolute:!1,flowchart:{htmlLabels:!1},sequence:{diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,
mirrorActors:!0,bottomMarginAdj:1,useMaxWidth:!0,rightAngles:!1,showSequenceNumbers:!1},gantt:{titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,leftPadding:75,gridLineStartPadding:35,fontSize:11,fontFamily:'"Open-Sans", "sans-serif"',numberSectionStyles:4,axisFormat:"%Y-%m-%d"}};EditorUi.logError=function(d,f,g,m,q,y,F){y=null!=y?y:0<=d.indexOf("NetworkError")||0<=d.indexOf("SecurityError")||0<=d.indexOf("NS_ERROR_FAILURE")||0<=d.indexOf("out of memory")?"CONFIG":"SEVERE";if(EditorUi.enableLogging&&
@@ -3723,58 +3723,58 @@ EditorUi.prototype.doImportCsv=function(d,f){try{var g=d.split("\n"),m=[],q=[],y
g.length&&"#"==g[sa].charAt(0);){d=g[sa].replace(/\r$/,"");for(sa++;sa<g.length&&"\\"==d.charAt(d.length-1)&&"#"==g[sa].charAt(0);)d=d.substring(0,d.length-1)+mxUtils.trim(g[sa].substring(1)),sa++;if("#"!=d.charAt(1)){var Da=d.indexOf(":");if(0<Da){var Aa=mxUtils.trim(d.substring(1,Da)),za=mxUtils.trim(d.substring(Da+1));"label"==Aa?Q=H.sanitizeHtml(za):"labelname"==Aa&&0<za.length&&"-"!=za?Y=za:"labels"==Aa&&0<za.length&&"-"!=za?O=JSON.parse(za):"style"==Aa?aa=za:"parentstyle"==Aa?X=za:"unknownStyle"==
Aa&&"-"!=za?pa=za:"stylename"==Aa&&0<za.length&&"-"!=za?ba=za:"styles"==Aa&&0<za.length&&"-"!=za?da=JSON.parse(za):"vars"==Aa&&0<za.length&&"-"!=za?G=JSON.parse(za):"identity"==Aa&&0<za.length&&"-"!=za?ea=za:"parent"==Aa&&0<za.length&&"-"!=za?ka=za:"namespace"==Aa&&0<za.length&&"-"!=za?ja=za:"width"==Aa?U=za:"height"==Aa?J=za:"collapsed"==Aa&&"-"!=za?V="true"==za:"left"==Aa&&0<za.length?P=za:"top"==Aa&&0<za.length?R=za:"ignore"==Aa?Ba=za.split(","):"connect"==Aa?na.push(JSON.parse(za)):"link"==Aa?
va=za:"padding"==Aa?u=parseFloat(za):"edgespacing"==Aa?ia=parseFloat(za):"nodespacing"==Aa?la=parseFloat(za):"levelspacing"==Aa?ta=parseFloat(za):"layout"==Aa&&(Z=za)}}}if(null==g[sa])throw Error(mxResources.get("invalidOrMissingFile"));var Ca=this.editor.csvToArray(g[sa].replace(/\r$/,""));Da=d=null;Aa=[];for(za=0;za<Ca.length;za++)ea==Ca[za]&&(d=za),ka==Ca[za]&&(Da=za),Aa.push(mxUtils.trim(Ca[za]).replace(/[^a-z0-9]+/ig,"_").replace(/^\d+/,"").replace(/_+$/,""));null==Q&&(Q="%"+Aa[0]+"%");if(null!=
-na)for(var Qa=0;Qa<na.length;Qa++)null==C[na[Qa].to]&&(C[na[Qa].to]={});ea=[];for(za=sa+1;za<g.length;za++){var Za=this.editor.csvToArray(g[za].replace(/\r$/,""));if(null==Za){var cb=40<g[za].length?g[za].substring(0,40)+"...":g[za];throw Error(cb+" ("+za+"):\n"+mxResources.get("containsValidationErrors"));}0<Za.length&&ea.push(Za)}H.model.beginUpdate();try{for(za=0;za<ea.length;za++){Za=ea[za];var Ka=null,Ua=null!=d?ja+Za[d]:null;null!=Ua&&(Ka=H.model.getCell(Ua));var $a=new mxCell(Q,new mxGeometry(W,
-N,0,0),aa||"whiteSpace=wrap;html=1;");$a.collapsed=V;$a.vertex=!0;$a.id=Ua;null!=Ka&&H.model.setCollapsed(Ka,V);for(var z=0;z<Za.length;z++)H.setAttributeForCell($a,Aa[z],Za[z]),null!=Ka&&H.setAttributeForCell(Ka,Aa[z],Za[z]);if(null!=Y&&null!=O){var L=O[$a.getAttribute(Y)];null!=L&&(H.labelChanged($a,L),null!=Ka&&H.cellLabelChanged(Ka,L))}if(null!=ba&&null!=da){var M=da[$a.getAttribute(ba)];null!=M&&($a.style=M)}H.setAttributeForCell($a,"placeholders","1");$a.style=H.replacePlaceholders($a,$a.style,
-G);null!=Ka?(H.model.setStyle(Ka,$a.style),0>mxUtils.indexOf(y,Ka)&&y.push(Ka),H.fireEvent(new mxEventObject("cellsInserted","cells",[Ka]))):H.fireEvent(new mxEventObject("cellsInserted","cells",[$a]));g=null!=Ka;Ka=$a;if(!g)for(Qa=0;Qa<na.length;Qa++)C[na[Qa].to][Ka.getAttribute(na[Qa].to)]=Ka;null!=va&&"link"!=va&&(H.setLinkForCell(Ka,Ka.getAttribute(va)),H.setAttributeForCell(Ka,va,null));var S=this.editor.graph.getPreferredSizeForCell(Ka);ka=null!=Da?H.model.getCell(ja+Za[Da]):null;if(Ka.vertex){cb=
-null!=ka?0:W;sa=null!=ka?0:T;null!=P&&null!=Ka.getAttribute(P)&&(Ka.geometry.x=cb+parseFloat(Ka.getAttribute(P)));null!=R&&null!=Ka.getAttribute(R)&&(Ka.geometry.y=sa+parseFloat(Ka.getAttribute(R)));var ca="@"==U.charAt(0)?Ka.getAttribute(U.substring(1)):null;Ka.geometry.width=null!=ca&&"auto"!=ca?parseFloat(Ka.getAttribute(U.substring(1))):"auto"==U||"auto"==ca?S.width+u:parseFloat(U);var ha="@"==J.charAt(0)?Ka.getAttribute(J.substring(1)):null;Ka.geometry.height=null!=ha&&"auto"!=ha?parseFloat(ha):
-"auto"==J||"auto"==ha?S.height+u:parseFloat(J);N+=Ka.geometry.height+la}g?(null==F[Ua]&&(F[Ua]=[]),F[Ua].push(Ka)):(m.push(Ka),null!=ka?(ka.style=H.replacePlaceholders(ka,X,G),H.addCell(Ka,ka),q.push(ka)):y.push(H.addCell(Ka)))}for(za=0;za<q.length;za++)ca="@"==U.charAt(0)?q[za].getAttribute(U.substring(1)):null,ha="@"==J.charAt(0)?q[za].getAttribute(J.substring(1)):null,"auto"!=U&&"auto"!=ca||"auto"!=J&&"auto"!=ha||H.updateGroupBounds([q[za]],u,!0);var oa=y.slice(),ra=y.slice();for(Qa=0;Qa<na.length;Qa++){var qa=
-na[Qa];for(za=0;za<m.length;za++){Ka=m[za];var xa=mxUtils.bind(this,function(db,Va,fb){var kb=Va.getAttribute(fb.from);if(null!=kb&&""!=kb){kb=kb.split(",");for(var ub=0;ub<kb.length;ub++){var nb=C[fb.to][kb[ub]];if(null==nb&&null!=pa){nb=new mxCell(kb[ub],new mxGeometry(W,T,0,0),pa);nb.style=H.replacePlaceholders(Va,nb.style,G);var Ya=this.editor.graph.getPreferredSizeForCell(nb);nb.geometry.width=Ya.width+u;nb.geometry.height=Ya.height+u;C[fb.to][kb[ub]]=nb;nb.vertex=!0;nb.id=kb[ub];y.push(H.addCell(nb))}if(null!=
-nb){Ya=fb.label;null!=fb.fromlabel&&(Ya=(Va.getAttribute(fb.fromlabel)||"")+(Ya||""));null!=fb.sourcelabel&&(Ya=H.replacePlaceholders(Va,fb.sourcelabel,G)+(Ya||""));null!=fb.tolabel&&(Ya=(Ya||"")+(nb.getAttribute(fb.tolabel)||""));null!=fb.targetlabel&&(Ya=(Ya||"")+H.replacePlaceholders(nb,fb.targetlabel,G));var gb="target"==fb.placeholders==!fb.invert?nb:db;gb=null!=fb.style?H.replacePlaceholders(gb,fb.style,G):H.createCurrentEdgeStyle();Ya=H.insertEdge(null,null,Ya||"",fb.invert?nb:db,fb.invert?
-db:nb,gb);if(null!=fb.labels)for(gb=0;gb<fb.labels.length;gb++){var hb=fb.labels[gb],ob=new mxCell(hb.label||gb,new mxGeometry(null!=hb.x?hb.x:0,null!=hb.y?hb.y:0,0,0),"resizable=0;html=1;");ob.vertex=!0;ob.connectable=!1;ob.geometry.relative=!0;null!=hb.placeholders&&(ob.value=H.replacePlaceholders("target"==hb.placeholders==!fb.invert?nb:db,ob.value,G));if(null!=hb.dx||null!=hb.dy)ob.geometry.offset=new mxPoint(null!=hb.dx?hb.dx:0,null!=hb.dy?hb.dy:0);Ya.insert(ob)}ra.push(Ya);mxUtils.remove(fb.invert?
-db:nb,oa)}}}});xa(Ka,Ka,qa);if(null!=F[Ka.id])for(z=0;z<F[Ka.id].length;z++)xa(Ka,F[Ka.id][z],qa)}}if(null!=Ba)for(za=0;za<m.length;za++)for(Ka=m[za],z=0;z<Ba.length;z++)H.setAttributeForCell(Ka,mxUtils.trim(Ba[z]),null);if(0<y.length){var Ga=new mxParallelEdgeLayout(H);Ga.spacing=ia;Ga.checkOverlap=!0;var La=function(){0<Ga.spacing&&Ga.execute(H.getDefaultParent());for(var db=0;db<y.length;db++){var Va=H.getCellGeometry(y[db]);Va.x=Math.round(H.snap(Va.x));Va.y=Math.round(H.snap(Va.y));"auto"==U&&
-(Va.width=Math.round(H.snap(Va.width)));"auto"==J&&(Va.height=Math.round(H.snap(Va.height)))}};if("["==Z.charAt(0)){var Pa=I;H.view.validate();this.executeLayouts(H.createLayouts(JSON.parse(Z)),function(){La();Pa()});I=null}else if("circle"==Z){var Oa=new mxCircleLayout(H);Oa.disableEdgeStyle=!1;Oa.resetEdges=!1;var Ta=Oa.isVertexIgnored;Oa.isVertexIgnored=function(db){return Ta.apply(this,arguments)||0>mxUtils.indexOf(y,db)};this.executeLayout(function(){Oa.execute(H.getDefaultParent());La()},!0,
-I);I=null}else if("horizontaltree"==Z||"verticaltree"==Z||"auto"==Z&&ra.length==2*y.length-1&&1==oa.length){H.view.validate();var Ma=new mxCompactTreeLayout(H,"horizontaltree"==Z);Ma.levelDistance=la;Ma.edgeRouting=!1;Ma.resetEdges=!1;this.executeLayout(function(){Ma.execute(H.getDefaultParent(),0<oa.length?oa[0]:null)},!0,I);I=null}else if("horizontalflow"==Z||"verticalflow"==Z||"auto"==Z&&1==oa.length){H.view.validate();var ua=new mxHierarchicalLayout(H,"horizontalflow"==Z?mxConstants.DIRECTION_WEST:
-mxConstants.DIRECTION_NORTH);ua.intraCellSpacing=la;ua.parallelEdgeSpacing=ia;ua.interRankCellSpacing=ta;ua.disableEdgeStyle=!1;this.executeLayout(function(){ua.execute(H.getDefaultParent(),ra);H.moveCells(ra,W,T)},!0,I);I=null}else if("orgchart"==Z){H.view.validate();var ya=new mxOrgChartLayout(H,2,ta,la),Na=ya.isVertexIgnored;ya.isVertexIgnored=function(db){return Na.apply(this,arguments)||0>mxUtils.indexOf(y,db)};this.executeLayout(function(){ya.execute(H.getDefaultParent());La()},!0,I);I=null}else if("organic"==
-Z||"auto"==Z&&ra.length>y.length){H.view.validate();var Fa=new mxFastOrganicLayout(H);Fa.forceConstant=3*la;Fa.disableEdgeStyle=!1;Fa.resetEdges=!1;var Ra=Fa.isVertexIgnored;Fa.isVertexIgnored=function(db){return Ra.apply(this,arguments)||0>mxUtils.indexOf(y,db)};this.executeLayout(function(){Fa.execute(H.getDefaultParent());La()},!0,I);I=null}}this.hideDialog()}finally{H.model.endUpdate()}null!=I&&I()}}catch(db){this.handleError(db)}};EditorUi.prototype.getSearch=function(d){var f="";if("1"!=urlParams.offline&&
-"1"!=urlParams.demo&&null!=d&&0<window.location.search.length){var g="?",m;for(m in urlParams)0>mxUtils.indexOf(d,m)&&null!=urlParams[m]&&(f+=g+m+"="+urlParams[m],g="&")}else f=window.location.search;return f};EditorUi.prototype.getUrl=function(d){d=null!=d?d:window.location.pathname;var f=0<d.indexOf("?")?1:0;if("1"==urlParams.offline)d+=window.location.search;else{var g="tmp libs clibs state fileId code share notitle data url embed client create title splash".split(" "),m;for(m in urlParams)0>mxUtils.indexOf(g,
-m)&&(d=0==f?d+"?":d+"&",null!=urlParams[m]&&(d+=m+"="+urlParams[m],f++))}return d};EditorUi.prototype.showLinkDialog=function(d,f,g,m,q){d=new LinkDialog(this,d,f,g,!0,m,q);this.showDialog(d.container,560,130,!0,!0);d.init()};EditorUi.prototype.getServiceCount=function(d){var f=1;null==this.drive&&"function"!==typeof window.DriveClient||f++;null==this.dropbox&&"function"!==typeof window.DropboxClient||f++;null==this.oneDrive&&"function"!==typeof window.OneDriveClient||f++;null!=this.gitHub&&f++;null!=
-this.gitLab&&f++;d&&isLocalStorage&&"1"==urlParams.browser&&f++;return f};EditorUi.prototype.updateUi=function(){this.updateButtonContainer();this.updateActionStates();var d=this.getCurrentFile(),f=null!=d||"1"==urlParams.embed&&this.editor.graph.isEnabled();this.menus.get("viewPanels").setEnabled(f);this.menus.get("viewZoom").setEnabled(f);var g=("1"!=urlParams.embed||!this.editor.graph.isEnabled())&&(null==d||d.isRestricted());this.actions.get("makeCopy").setEnabled(!g);this.actions.get("print").setEnabled(!g);
-this.menus.get("exportAs").setEnabled(!g);this.menus.get("embed").setEnabled(!g);g="1"!=urlParams.embed||this.editor.graph.isEnabled();this.menus.get("extras").setEnabled(g);Editor.enableCustomLibraries&&(this.menus.get("openLibraryFrom").setEnabled(g),this.menus.get("newLibrary").setEnabled(g));d="1"==urlParams.embed&&this.editor.graph.isEnabled()||null!=d&&d.isEditable();this.actions.get("image").setEnabled(f);this.actions.get("zoomIn").setEnabled(f);this.actions.get("zoomOut").setEnabled(f);this.actions.get("resetView").setEnabled(f);
-this.actions.get("undo").setEnabled(this.canUndo()&&d);this.actions.get("redo").setEnabled(this.canRedo()&&d);this.menus.get("edit").setEnabled(f);this.menus.get("view").setEnabled(f);this.menus.get("importFrom").setEnabled(d);this.menus.get("arrange").setEnabled(d);null!=this.toolbar&&(null!=this.toolbar.edgeShapeMenu&&this.toolbar.edgeShapeMenu.setEnabled(d),null!=this.toolbar.edgeStyleMenu&&this.toolbar.edgeStyleMenu.setEnabled(d));this.updateUserElement()};EditorUi.prototype.updateButtonContainer=
-function(){};EditorUi.prototype.updateUserElement=function(){};EditorUi.prototype.scheduleSanityCheck=function(){};EditorUi.prototype.stopSanityCheck=function(){};EditorUi.prototype.isDiagramActive=function(){var d=this.getCurrentFile();return null!=d&&d.isEditable()||"1"==urlParams.embed&&this.editor.graph.isEnabled()};var t=EditorUi.prototype.updateActionStates;EditorUi.prototype.updateActionStates=function(){t.apply(this,arguments);var d=this.editor.graph,f=this.getCurrentFile(),g=this.getSelectionState(),
-m=this.isDiagramActive();this.actions.get("pageSetup").setEnabled(m);this.actions.get("autosave").setEnabled(null!=f&&f.isEditable()&&f.isAutosaveOptional());this.actions.get("guides").setEnabled(m);this.actions.get("editData").setEnabled(d.isEnabled());this.actions.get("shadowVisible").setEnabled(m);this.actions.get("connectionArrows").setEnabled(m);this.actions.get("connectionPoints").setEnabled(m);this.actions.get("copyStyle").setEnabled(m&&!d.isSelectionEmpty());this.actions.get("pasteStyle").setEnabled(m&&
-0<g.cells.length);this.actions.get("editGeometry").setEnabled(0<g.vertices.length);this.actions.get("createShape").setEnabled(m);this.actions.get("createRevision").setEnabled(m);this.actions.get("moveToFolder").setEnabled(null!=f);this.actions.get("makeCopy").setEnabled(null!=f&&!f.isRestricted());this.actions.get("editDiagram").setEnabled(m&&(null==f||!f.isRestricted()));this.actions.get("publishLink").setEnabled(null!=f&&!f.isRestricted());this.actions.get("tags").setEnabled("hidden"!=this.diagramContainer.style.visibility);
-this.actions.get("layers").setEnabled("hidden"!=this.diagramContainer.style.visibility);this.actions.get("outline").setEnabled("hidden"!=this.diagramContainer.style.visibility);this.actions.get("rename").setEnabled(null!=f&&f.isRenamable()||"1"==urlParams.embed);this.actions.get("close").setEnabled(null!=f);this.menus.get("publish").setEnabled(null!=f&&!f.isRestricted());f=this.actions.get("findReplace");f.setEnabled("hidden"!=this.diagramContainer.style.visibility);f.label=mxResources.get("find")+
-(d.isEnabled()?"/"+mxResources.get("replace"):"")+"...";d=d.view.getState(d.getSelectionCell());this.actions.get("editShape").setEnabled(m&&null!=d&&null!=d.shape&&null!=d.shape.stencil)};var E=EditorUi.prototype.destroy;EditorUi.prototype.destroy=function(){null!=this.exportDialog&&(this.exportDialog.parentNode.removeChild(this.exportDialog),this.exportDialog=null);E.apply(this,arguments)};null!=window.ExportDialog&&(ExportDialog.showXmlOption=!1,ExportDialog.showGifOption=!1,ExportDialog.exportFile=
-function(d,f,g,m,q,y,F,C){var H=d.editor.graph;if("xml"==g)d.hideDialog(),d.saveData(f,"xml",mxUtils.getXml(d.editor.getGraphXml()),"text/xml");else if("svg"==g)d.hideDialog(),d.saveData(f,"svg",mxUtils.getXml(H.getSvg(m,q,y)),"image/svg+xml");else{var G=d.getFileData(!0,null,null,null,null,!0),aa=H.getGraphBounds(),da=Math.floor(aa.width*q/H.view.scale),ba=Math.floor(aa.height*q/H.view.scale);if(G.length<=MAX_REQUEST_SIZE&&da*ba<MAX_AREA)if(d.hideDialog(),"png"!=g&&"jpg"!=g&&"jpeg"!=g||!d.isExportToCanvas()){var Y=
-{globalVars:H.getExportVariables()};C&&(Y.grid={size:H.gridSize,steps:H.view.gridSteps,color:H.view.gridColor});d.saveRequest(f,g,function(pa,O){return new mxXmlRequest(EXPORT_URL,"format="+g+"&base64="+(O||"0")+(null!=pa?"&filename="+encodeURIComponent(pa):"")+"&extras="+encodeURIComponent(JSON.stringify(Y))+(0<F?"&dpi="+F:"")+"&bg="+(null!=m?m:"none")+"&w="+da+"&h="+ba+"&border="+y+"&xml="+encodeURIComponent(G))})}else"png"==g?d.exportImage(q,null==m||"none"==m,!0,!1,!1,y,!0,!1,null,C,F):d.exportImage(q,
-!1,!0,!1,!1,y,!0,!1,"jpeg",C);else mxUtils.alert(mxResources.get("drawingTooLarge"))}});EditorUi.prototype.getDiagramTextContent=function(){this.editor.graph.setEnabled(!1);var d=this.editor.graph,f="";if(null!=this.pages)for(var g=0;g<this.pages.length;g++){var m=d;this.currentPage!=this.pages[g]&&(m=this.createTemporaryGraph(d.getStylesheet()),this.updatePageRoot(this.pages[g]),m.model.setRoot(this.pages[g].root));f+=this.pages[g].getName()+" "+m.getIndexableText()+" "}else f=d.getIndexableText();
-this.editor.graph.setEnabled(!0);return f};EditorUi.prototype.showRemotelyStoredLibrary=function(d){var f={},g=document.createElement("div");g.style.whiteSpace="nowrap";var m=document.createElement("h3");mxUtils.write(m,mxUtils.htmlEntities(d));m.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";g.appendChild(m);var q=document.createElement("div");q.style.cssText="border:1px solid lightGray;overflow: auto;height:300px";q.innerHTML='<div style="text-align:center;padding:8px;"><img src="'+
-IMAGE_PATH+'/spin.gif"></div>';var y={};try{var F=mxSettings.getCustomLibraries();for(d=0;d<F.length;d++){var C=F[d];if("R"==C.substring(0,1)){var H=JSON.parse(decodeURIComponent(C.substring(1)));y[H[0]]={id:H[0],title:H[1],downloadUrl:H[2]}}}}catch(G){}this.remoteInvoke("getCustomLibraries",null,null,function(G){q.innerHTML="";if(0==G.length)q.innerHTML='<div style="text-align:center;padding-top:20px;color:gray;">'+mxUtils.htmlEntities(mxResources.get("noLibraries"))+"</div>";else for(var aa=0;aa<
-G.length;aa++){var da=G[aa];y[da.id]&&(f[da.id]=da);var ba=this.addCheckbox(q,da.title,y[da.id]);(function(Y,pa){mxEvent.addListener(pa,"change",function(){this.checked?f[Y.id]=Y:delete f[Y.id]})})(da,ba)}},mxUtils.bind(this,function(G){q.innerHTML="";var aa=document.createElement("div");aa.style.padding="8px";aa.style.textAlign="center";mxUtils.write(aa,mxResources.get("error")+": ");mxUtils.write(aa,null!=G&&null!=G.message?G.message:mxResources.get("unknownError"));q.appendChild(aa)}));g.appendChild(q);
-g=new CustomDialog(this,g,mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("loading"));var G=0,aa;for(aa in f)null==y[aa]&&(G++,mxUtils.bind(this,function(da){this.remoteInvoke("getFileContent",[da.downloadUrl],null,mxUtils.bind(this,function(ba){G--;0==G&&this.spinner.stop();try{this.loadLibrary(new RemoteLibrary(this,ba,da))}catch(Y){this.handleError(Y,mxResources.get("errorLoadingFile"))}}),mxUtils.bind(this,function(){G--;0==G&&this.spinner.stop();this.handleError(null,
-mxResources.get("errorLoadingFile"))}))})(f[aa]));for(aa in y)f[aa]||this.closeLibrary(new RemoteLibrary(this,null,y[aa]));0==G&&this.spinner.stop()}),null,null,"https://www.diagrams.net/doc/faq/custom-libraries-confluence-cloud");this.showDialog(g.container,340,390,!0,!0,null,null,null,null,!0)};EditorUi.prototype.remoteInvokableFns={getDiagramTextContent:{isAsync:!1},getLocalStorageFile:{isAsync:!1,allowedDomains:["app.diagrams.net"]},getLocalStorageFileNames:{isAsync:!1,allowedDomains:["app.diagrams.net"]},
-setMigratedFlag:{isAsync:!1,allowedDomains:["app.diagrams.net"]}};EditorUi.prototype.remoteInvokeCallbacks=[];EditorUi.prototype.remoteInvokeQueue=[];EditorUi.prototype.handleRemoteInvokeReady=function(d){this.remoteWin=d;for(var f=0;f<this.remoteInvokeQueue.length;f++)d.postMessage(this.remoteInvokeQueue[f],"*");this.remoteInvokeQueue=[]};EditorUi.prototype.handleRemoteInvokeResponse=function(d){var f=d.msgMarkers,g=this.remoteInvokeCallbacks[f.callbackId];if(null==g)throw Error("No callback for "+
-(null!=f?f.callbackId:"null"));d.error?g.error&&g.error(d.error.errResp):g.callback&&g.callback.apply(this,d.resp);this.remoteInvokeCallbacks[f.callbackId]=null};EditorUi.prototype.remoteInvoke=function(d,f,g,m,q){var y=!0,F=window.setTimeout(mxUtils.bind(this,function(){y=!1;q({code:App.ERROR_TIMEOUT,message:mxResources.get("timeout")})}),this.timeout),C=mxUtils.bind(this,function(){window.clearTimeout(F);y&&m.apply(this,arguments)}),H=mxUtils.bind(this,function(){window.clearTimeout(F);y&&q.apply(this,
-arguments)});g=g||{};g.callbackId=this.remoteInvokeCallbacks.length;this.remoteInvokeCallbacks.push({callback:C,error:H});d=JSON.stringify({event:"remoteInvoke",funtionName:d,functionArgs:f,msgMarkers:g});null!=this.remoteWin?this.remoteWin.postMessage(d,"*"):this.remoteInvokeQueue.push(d)};EditorUi.prototype.handleRemoteInvoke=function(d,f){var g=mxUtils.bind(this,function(G,aa){var da={event:"remoteInvokeResponse",msgMarkers:d.msgMarkers};null!=aa?da.error={errResp:aa}:null!=G&&(da.resp=G);this.remoteWin.postMessage(JSON.stringify(da),
-"*")});try{var m=d.funtionName,q=this.remoteInvokableFns[m];if(null!=q&&"function"===typeof this[m]){if(q.allowedDomains){for(var y=!1,F=0;F<q.allowedDomains.length;F++)if(f=="https://"+q.allowedDomains[F]){y=!0;break}if(!y){g(null,"Invalid Call: "+m+" is not allowed.");return}}var C=d.functionArgs;Array.isArray(C)||(C=[]);if(q.isAsync)C.push(function(){g(Array.prototype.slice.apply(arguments))}),C.push(function(G){g(null,G||"Unkown Error")}),this[m].apply(this,C);else{var H=this[m].apply(this,C);
-g([H])}}else g(null,"Invalid Call: "+m+" is not found.")}catch(G){g(null,"Invalid Call: An error occurred, "+G.message)}};EditorUi.prototype.openDatabase=function(d,f){if(null==this.database){var g=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB;if(null!=g)try{var m=g.open("database",2);m.onupgradeneeded=function(q){try{var y=m.result;1>q.oldVersion&&y.createObjectStore("objects",{keyPath:"key"});2>q.oldVersion&&(y.createObjectStore("files",{keyPath:"title"}),y.createObjectStore("filesInfo",
-{keyPath:"title"}),EditorUi.migrateStorageFiles=isLocalStorage)}catch(F){null!=f&&f(F)}};m.onsuccess=mxUtils.bind(this,function(q){var y=m.result;this.database=y;EditorUi.migrateStorageFiles&&(StorageFile.migrate(y),EditorUi.migrateStorageFiles=!1);"app.diagrams.net"!=location.host||this.drawioMigrationStarted||(this.drawioMigrationStarted=!0,this.getDatabaseItem(".drawioMigrated3",mxUtils.bind(this,function(F){if(!F||"1"==urlParams.forceMigration){var C=document.createElement("iframe");C.style.display=
-"none";C.setAttribute("src","https://www.draw.io?embed=1&proto=json&forceMigration="+urlParams.forceMigration);document.body.appendChild(C);var H=!0,G=!1,aa,da=0,ba=mxUtils.bind(this,function(){G=!0;this.setDatabaseItem(".drawioMigrated3",!0);C.contentWindow.postMessage(JSON.stringify({action:"remoteInvoke",funtionName:"setMigratedFlag"}),"*")}),Y=mxUtils.bind(this,function(){da++;pa()}),pa=mxUtils.bind(this,function(){try{if(da>=aa.length)ba();else{var X=aa[da];StorageFile.getFileContent(this,X,
-mxUtils.bind(this,function(ea){null==ea||".scratchpad"==X&&ea==this.emptyLibraryXml?C.contentWindow.postMessage(JSON.stringify({action:"remoteInvoke",funtionName:"getLocalStorageFile",functionArgs:[X]}),"*"):Y()}),Y)}}catch(ea){console.log(ea)}}),O=mxUtils.bind(this,function(X){try{this.setDatabaseItem(null,[{title:X.title,size:X.data.length,lastModified:Date.now(),type:X.isLib?"L":"F"},{title:X.title,data:X.data}],Y,Y,["filesInfo","files"])}catch(ea){console.log(ea)}});F=mxUtils.bind(this,function(X){try{if(X.source==
-C.contentWindow){var ea={};try{ea=JSON.parse(X.data)}catch(ka){}"init"==ea.event?(C.contentWindow.postMessage(JSON.stringify({action:"remoteInvokeReady"}),"*"),C.contentWindow.postMessage(JSON.stringify({action:"remoteInvoke",funtionName:"getLocalStorageFileNames"}),"*")):"remoteInvokeResponse"!=ea.event||G||(H?null!=ea.resp&&0<ea.resp.length&&null!=ea.resp[0]?(aa=ea.resp[0],H=!1,pa()):ba():null!=ea.resp&&0<ea.resp.length&&null!=ea.resp[0]?O(ea.resp[0]):Y())}}catch(ka){console.log(ka)}});window.addEventListener("message",
-F)}})));d(y);y.onversionchange=function(){y.close()}});m.onerror=f;m.onblocked=function(){}}catch(q){null!=f&&f(q)}else null!=f&&f()}else d(this.database)};EditorUi.prototype.setDatabaseItem=function(d,f,g,m,q){this.openDatabase(mxUtils.bind(this,function(y){try{q=q||"objects";Array.isArray(q)||(q=[q],d=[d],f=[f]);var F=y.transaction(q,"readwrite");F.oncomplete=g;F.onerror=m;for(y=0;y<q.length;y++)F.objectStore(q[y]).put(null!=d&&null!=d[y]?{key:d[y],data:f[y]}:f[y])}catch(C){null!=m&&m(C)}}),m)};
-EditorUi.prototype.removeDatabaseItem=function(d,f,g,m){this.openDatabase(mxUtils.bind(this,function(q){m=m||"objects";Array.isArray(m)||(m=[m],d=[d]);q=q.transaction(m,"readwrite");q.oncomplete=f;q.onerror=g;for(var y=0;y<m.length;y++)q.objectStore(m[y]).delete(d[y])}),g)};EditorUi.prototype.getDatabaseItem=function(d,f,g,m){this.openDatabase(mxUtils.bind(this,function(q){try{m=m||"objects";var y=q.transaction([m],"readonly").objectStore(m).get(d);y.onsuccess=function(){f(y.result)};y.onerror=g}catch(F){null!=
-g&&g(F)}}),g)};EditorUi.prototype.getDatabaseItems=function(d,f,g){this.openDatabase(mxUtils.bind(this,function(m){try{g=g||"objects";var q=m.transaction([g],"readonly").objectStore(g).openCursor(IDBKeyRange.lowerBound(0)),y=[];q.onsuccess=function(F){null==F.target.result?d(y):(y.push(F.target.result.value),F.target.result.continue())};q.onerror=f}catch(F){null!=f&&f(F)}}),f)};EditorUi.prototype.getDatabaseItemKeys=function(d,f,g){this.openDatabase(mxUtils.bind(this,function(m){try{g=g||"objects";
-var q=m.transaction([g],"readonly").objectStore(g).getAllKeys();q.onsuccess=function(){d(q.result)};q.onerror=f}catch(y){null!=f&&f(y)}}),f)};EditorUi.prototype.commentsSupported=function(){var d=this.getCurrentFile();return null!=d?d.commentsSupported():!1};EditorUi.prototype.commentsRefreshNeeded=function(){var d=this.getCurrentFile();return null!=d?d.commentsRefreshNeeded():!0};EditorUi.prototype.commentsSaveNeeded=function(){var d=this.getCurrentFile();return null!=d?d.commentsSaveNeeded():!1};
-EditorUi.prototype.getComments=function(d,f){var g=this.getCurrentFile();null!=g?g.getComments(d,f):d([])};EditorUi.prototype.addComment=function(d,f,g){var m=this.getCurrentFile();null!=m?m.addComment(d,f,g):f(Date.now())};EditorUi.prototype.canReplyToReplies=function(){var d=this.getCurrentFile();return null!=d?d.canReplyToReplies():!0};EditorUi.prototype.canComment=function(){var d=this.getCurrentFile();return null!=d?d.canComment():!0};EditorUi.prototype.newComment=function(d,f){var g=this.getCurrentFile();
-return null!=g?g.newComment(d,f):new DrawioComment(this,null,d,Date.now(),Date.now(),!1,f)};EditorUi.prototype.isRevisionHistorySupported=function(){var d=this.getCurrentFile();return null!=d&&d.isRevisionHistorySupported()};EditorUi.prototype.getRevisions=function(d,f){var g=this.getCurrentFile();null!=g&&g.getRevisions?g.getRevisions(d,f):f({message:mxResources.get("unknownError")})};EditorUi.prototype.isRevisionHistoryEnabled=function(){var d=this.getCurrentFile();return null!=d&&(d.constructor==
-DriveFile&&d.isEditable()||d.constructor==DropboxFile)};EditorUi.prototype.getServiceName=function(){return"draw.io"};EditorUi.prototype.addRemoteServiceSecurityCheck=function(d){d.setRequestHeader("Content-Language","da, mi, en, de-DE")};EditorUi.prototype.loadUrl=function(d,f,g,m,q,y,F,C){EditorUi.logEvent("SHOULD NOT BE CALLED: loadUrl");return this.editor.loadUrl(d,f,g,m,q,y,F,C)};EditorUi.prototype.loadFonts=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: loadFonts");return this.editor.loadFonts(d)};
-EditorUi.prototype.createSvgDataUri=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: createSvgDataUri");return Editor.createSvgDataUri(d)};EditorUi.prototype.embedCssFonts=function(d,f){EditorUi.logEvent("SHOULD NOT BE CALLED: embedCssFonts");return this.editor.embedCssFonts(d,f)};EditorUi.prototype.embedExtFonts=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: embedExtFonts");return this.editor.embedExtFonts(d)};EditorUi.prototype.exportToCanvas=function(d,f,g,m,q,y,F,C,H,G,aa,da,ba,Y,pa,
-O){EditorUi.logEvent("SHOULD NOT BE CALLED: exportToCanvas");return this.editor.exportToCanvas(d,f,g,m,q,y,F,C,H,G,aa,da,ba,Y,pa,O)};EditorUi.prototype.createImageUrlConverter=function(){EditorUi.logEvent("SHOULD NOT BE CALLED: createImageUrlConverter");return this.editor.createImageUrlConverter()};EditorUi.prototype.convertImages=function(d,f,g,m){EditorUi.logEvent("SHOULD NOT BE CALLED: convertImages");return this.editor.convertImages(d,f,g,m)};EditorUi.prototype.convertImageToDataUri=function(d,
-f){EditorUi.logEvent("SHOULD NOT BE CALLED: convertImageToDataUri");return this.editor.convertImageToDataUri(d,f)};EditorUi.prototype.base64Encode=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: base64Encode");return Editor.base64Encode(d)};EditorUi.prototype.updateCRC=function(d,f,g,m){EditorUi.logEvent("SHOULD NOT BE CALLED: updateCRC");return Editor.updateCRC(d,f,g,m)};EditorUi.prototype.crc32=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: crc32");return Editor.crc32(d)};EditorUi.prototype.writeGraphModelToPng=
-function(d,f,g,m,q){EditorUi.logEvent("SHOULD NOT BE CALLED: writeGraphModelToPng");return Editor.writeGraphModelToPng(d,f,g,m,q)};EditorUi.prototype.getLocalStorageFileNames=function(){if("1"==localStorage.getItem(".localStorageMigrated")&&"1"!=urlParams.forceMigration)return null;for(var d=[],f=0;f<localStorage.length;f++){var g=localStorage.key(f),m=localStorage.getItem(g);if(0<g.length&&(".scratchpad"==g||"."!=g.charAt(0))&&0<m.length){var q="<mxfile "===m.substring(0,8)||"<?xml"===m.substring(0,
-5)||"\x3c!--[if IE]>"===m.substring(0,12);m="<mxlibrary>"===m.substring(0,11);(q||m)&&d.push(g)}}return d};EditorUi.prototype.getLocalStorageFile=function(d){if("1"==localStorage.getItem(".localStorageMigrated")&&"1"!=urlParams.forceMigration)return null;var f=localStorage.getItem(d);return{title:d,data:f,isLib:"<mxlibrary>"===f.substring(0,11)}};EditorUi.prototype.setMigratedFlag=function(){localStorage.setItem(".localStorageMigrated","1")}})();
+na)for(var Qa=0;Qa<na.length;Qa++)null==C[na[Qa].to]&&(C[na[Qa].to]={});ea=[];for(za=sa+1;za<g.length;za++){var Za=this.editor.csvToArray(g[za].replace(/\r$/,""));if(null==Za){var cb=40<g[za].length?g[za].substring(0,40)+"...":g[za];throw Error(cb+" ("+za+"):\n"+mxResources.get("containsValidationErrors"));}0<Za.length&&ea.push(Za)}H.model.beginUpdate();try{for(za=0;za<ea.length;za++){Za=ea[za];var Ja=null,Ua=null!=d?ja+Za[d]:null;g=!1;null!=Ua&&(Ja=H.model.getCell(Ua),g=null==Ja||0<=mxUtils.indexOf(m,
+Ja));var $a=new mxCell(Q,new mxGeometry(W,N,0,0),aa||"whiteSpace=wrap;html=1;");$a.collapsed=V;$a.vertex=!0;$a.id=Ua;null==Ja||g||H.model.setCollapsed(Ja,V);for(var z=0;z<Za.length;z++)H.setAttributeForCell($a,Aa[z],Za[z]),null==Ja||g||H.setAttributeForCell(Ja,Aa[z],Za[z]);if(null!=Y&&null!=O){var L=O[$a.getAttribute(Y)];null!=L&&(H.labelChanged($a,L),null==Ja||g||H.cellLabelChanged(Ja,L))}if(null!=ba&&null!=da){var M=da[$a.getAttribute(ba)];null!=M&&($a.style=M)}H.setAttributeForCell($a,"placeholders",
+"1");$a.style=H.replacePlaceholders($a,$a.style,G);null!=Ja?(H.model.setStyle(Ja,$a.style),0>mxUtils.indexOf(y,Ja)&&y.push(Ja),H.fireEvent(new mxEventObject("cellsInserted","cells",[Ja]))):H.fireEvent(new mxEventObject("cellsInserted","cells",[$a]));g=null!=Ja;Ja=$a;if(!g)for(Qa=0;Qa<na.length;Qa++)C[na[Qa].to][Ja.getAttribute(na[Qa].to)]=Ja;null!=va&&"link"!=va&&(H.setLinkForCell(Ja,Ja.getAttribute(va)),H.setAttributeForCell(Ja,va,null));var S=this.editor.graph.getPreferredSizeForCell(Ja);ka=null!=
+Da?H.model.getCell(ja+Za[Da]):null;if(Ja.vertex){cb=null!=ka?0:W;sa=null!=ka?0:T;null!=P&&null!=Ja.getAttribute(P)&&(Ja.geometry.x=cb+parseFloat(Ja.getAttribute(P)));null!=R&&null!=Ja.getAttribute(R)&&(Ja.geometry.y=sa+parseFloat(Ja.getAttribute(R)));var ca="@"==U.charAt(0)?Ja.getAttribute(U.substring(1)):null;Ja.geometry.width=null!=ca&&"auto"!=ca?parseFloat(Ja.getAttribute(U.substring(1))):"auto"==U||"auto"==ca?S.width+u:parseFloat(U);var ha="@"==J.charAt(0)?Ja.getAttribute(J.substring(1)):null;
+Ja.geometry.height=null!=ha&&"auto"!=ha?parseFloat(ha):"auto"==J||"auto"==ha?S.height+u:parseFloat(J);N+=Ja.geometry.height+la}g?(null==F[Ua]&&(F[Ua]=[]),F[Ua].push(Ja)):(m.push(Ja),null!=ka?(ka.style=H.replacePlaceholders(ka,X,G),H.addCell(Ja,ka),q.push(ka)):y.push(H.addCell(Ja)))}for(za=0;za<q.length;za++)ca="@"==U.charAt(0)?q[za].getAttribute(U.substring(1)):null,ha="@"==J.charAt(0)?q[za].getAttribute(J.substring(1)):null,"auto"!=U&&"auto"!=ca||"auto"!=J&&"auto"!=ha||H.updateGroupBounds([q[za]],
+u,!0);var oa=y.slice(),ra=y.slice();for(Qa=0;Qa<na.length;Qa++){var qa=na[Qa];for(za=0;za<m.length;za++){Ja=m[za];var xa=mxUtils.bind(this,function(db,Va,fb){var kb=Va.getAttribute(fb.from);if(null!=kb&&""!=kb){kb=kb.split(",");for(var ub=0;ub<kb.length;ub++){var nb=C[fb.to][kb[ub]];if(null==nb&&null!=pa){nb=new mxCell(kb[ub],new mxGeometry(W,T,0,0),pa);nb.style=H.replacePlaceholders(Va,nb.style,G);var Ya=this.editor.graph.getPreferredSizeForCell(nb);nb.geometry.width=Ya.width+u;nb.geometry.height=
+Ya.height+u;C[fb.to][kb[ub]]=nb;nb.vertex=!0;nb.id=kb[ub];y.push(H.addCell(nb))}if(null!=nb){Ya=fb.label;null!=fb.fromlabel&&(Ya=(Va.getAttribute(fb.fromlabel)||"")+(Ya||""));null!=fb.sourcelabel&&(Ya=H.replacePlaceholders(Va,fb.sourcelabel,G)+(Ya||""));null!=fb.tolabel&&(Ya=(Ya||"")+(nb.getAttribute(fb.tolabel)||""));null!=fb.targetlabel&&(Ya=(Ya||"")+H.replacePlaceholders(nb,fb.targetlabel,G));var gb="target"==fb.placeholders==!fb.invert?nb:db;gb=null!=fb.style?H.replacePlaceholders(gb,fb.style,
+G):H.createCurrentEdgeStyle();Ya=H.insertEdge(null,null,Ya||"",fb.invert?nb:db,fb.invert?db:nb,gb);if(null!=fb.labels)for(gb=0;gb<fb.labels.length;gb++){var hb=fb.labels[gb],ob=new mxCell(hb.label||gb,new mxGeometry(null!=hb.x?hb.x:0,null!=hb.y?hb.y:0,0,0),"resizable=0;html=1;");ob.vertex=!0;ob.connectable=!1;ob.geometry.relative=!0;null!=hb.placeholders&&(ob.value=H.replacePlaceholders("target"==hb.placeholders==!fb.invert?nb:db,ob.value,G));if(null!=hb.dx||null!=hb.dy)ob.geometry.offset=new mxPoint(null!=
+hb.dx?hb.dx:0,null!=hb.dy?hb.dy:0);Ya.insert(ob)}ra.push(Ya);mxUtils.remove(fb.invert?db:nb,oa)}}}});xa(Ja,Ja,qa);if(null!=F[Ja.id])for(z=0;z<F[Ja.id].length;z++)xa(Ja,F[Ja.id][z],qa)}}if(null!=Ba)for(za=0;za<m.length;za++)for(Ja=m[za],z=0;z<Ba.length;z++)H.setAttributeForCell(Ja,mxUtils.trim(Ba[z]),null);if(0<y.length){var Ga=new mxParallelEdgeLayout(H);Ga.spacing=ia;Ga.checkOverlap=!0;var La=function(){0<Ga.spacing&&Ga.execute(H.getDefaultParent());for(var db=0;db<y.length;db++){var Va=H.getCellGeometry(y[db]);
+Va.x=Math.round(H.snap(Va.x));Va.y=Math.round(H.snap(Va.y));"auto"==U&&(Va.width=Math.round(H.snap(Va.width)));"auto"==J&&(Va.height=Math.round(H.snap(Va.height)))}};if("["==Z.charAt(0)){var Pa=I;H.view.validate();this.executeLayouts(H.createLayouts(JSON.parse(Z)),function(){La();Pa()});I=null}else if("circle"==Z){var Oa=new mxCircleLayout(H);Oa.disableEdgeStyle=!1;Oa.resetEdges=!1;var Ta=Oa.isVertexIgnored;Oa.isVertexIgnored=function(db){return Ta.apply(this,arguments)||0>mxUtils.indexOf(y,db)};
+this.executeLayout(function(){Oa.execute(H.getDefaultParent());La()},!0,I);I=null}else if("horizontaltree"==Z||"verticaltree"==Z||"auto"==Z&&ra.length==2*y.length-1&&1==oa.length){H.view.validate();var Ma=new mxCompactTreeLayout(H,"horizontaltree"==Z);Ma.levelDistance=la;Ma.edgeRouting=!1;Ma.resetEdges=!1;this.executeLayout(function(){Ma.execute(H.getDefaultParent(),0<oa.length?oa[0]:null)},!0,I);I=null}else if("horizontalflow"==Z||"verticalflow"==Z||"auto"==Z&&1==oa.length){H.view.validate();var ua=
+new mxHierarchicalLayout(H,"horizontalflow"==Z?mxConstants.DIRECTION_WEST:mxConstants.DIRECTION_NORTH);ua.intraCellSpacing=la;ua.parallelEdgeSpacing=ia;ua.interRankCellSpacing=ta;ua.disableEdgeStyle=!1;this.executeLayout(function(){ua.execute(H.getDefaultParent(),ra);H.moveCells(ra,W,T)},!0,I);I=null}else if("orgchart"==Z){H.view.validate();var ya=new mxOrgChartLayout(H,2,ta,la),Na=ya.isVertexIgnored;ya.isVertexIgnored=function(db){return Na.apply(this,arguments)||0>mxUtils.indexOf(y,db)};this.executeLayout(function(){ya.execute(H.getDefaultParent());
+La()},!0,I);I=null}else if("organic"==Z||"auto"==Z&&ra.length>y.length){H.view.validate();var Fa=new mxFastOrganicLayout(H);Fa.forceConstant=3*la;Fa.disableEdgeStyle=!1;Fa.resetEdges=!1;var Ra=Fa.isVertexIgnored;Fa.isVertexIgnored=function(db){return Ra.apply(this,arguments)||0>mxUtils.indexOf(y,db)};this.executeLayout(function(){Fa.execute(H.getDefaultParent());La()},!0,I);I=null}}this.hideDialog()}finally{H.model.endUpdate()}null!=I&&I()}}catch(db){this.handleError(db)}};EditorUi.prototype.getSearch=
+function(d){var f="";if("1"!=urlParams.offline&&"1"!=urlParams.demo&&null!=d&&0<window.location.search.length){var g="?",m;for(m in urlParams)0>mxUtils.indexOf(d,m)&&null!=urlParams[m]&&(f+=g+m+"="+urlParams[m],g="&")}else f=window.location.search;return f};EditorUi.prototype.getUrl=function(d){d=null!=d?d:window.location.pathname;var f=0<d.indexOf("?")?1:0;if("1"==urlParams.offline)d+=window.location.search;else{var g="tmp libs clibs state fileId code share notitle data url embed client create title splash".split(" "),
+m;for(m in urlParams)0>mxUtils.indexOf(g,m)&&(d=0==f?d+"?":d+"&",null!=urlParams[m]&&(d+=m+"="+urlParams[m],f++))}return d};EditorUi.prototype.showLinkDialog=function(d,f,g,m,q){d=new LinkDialog(this,d,f,g,!0,m,q);this.showDialog(d.container,560,130,!0,!0);d.init()};EditorUi.prototype.getServiceCount=function(d){var f=1;null==this.drive&&"function"!==typeof window.DriveClient||f++;null==this.dropbox&&"function"!==typeof window.DropboxClient||f++;null==this.oneDrive&&"function"!==typeof window.OneDriveClient||
+f++;null!=this.gitHub&&f++;null!=this.gitLab&&f++;d&&isLocalStorage&&"1"==urlParams.browser&&f++;return f};EditorUi.prototype.updateUi=function(){this.updateButtonContainer();this.updateActionStates();var d=this.getCurrentFile(),f=null!=d||"1"==urlParams.embed&&this.editor.graph.isEnabled();this.menus.get("viewPanels").setEnabled(f);this.menus.get("viewZoom").setEnabled(f);var g=("1"!=urlParams.embed||!this.editor.graph.isEnabled())&&(null==d||d.isRestricted());this.actions.get("makeCopy").setEnabled(!g);
+this.actions.get("print").setEnabled(!g);this.menus.get("exportAs").setEnabled(!g);this.menus.get("embed").setEnabled(!g);g="1"!=urlParams.embed||this.editor.graph.isEnabled();this.menus.get("extras").setEnabled(g);Editor.enableCustomLibraries&&(this.menus.get("openLibraryFrom").setEnabled(g),this.menus.get("newLibrary").setEnabled(g));d="1"==urlParams.embed&&this.editor.graph.isEnabled()||null!=d&&d.isEditable();this.actions.get("image").setEnabled(f);this.actions.get("zoomIn").setEnabled(f);this.actions.get("zoomOut").setEnabled(f);
+this.actions.get("resetView").setEnabled(f);this.actions.get("undo").setEnabled(this.canUndo()&&d);this.actions.get("redo").setEnabled(this.canRedo()&&d);this.menus.get("edit").setEnabled(f);this.menus.get("view").setEnabled(f);this.menus.get("importFrom").setEnabled(d);this.menus.get("arrange").setEnabled(d);null!=this.toolbar&&(null!=this.toolbar.edgeShapeMenu&&this.toolbar.edgeShapeMenu.setEnabled(d),null!=this.toolbar.edgeStyleMenu&&this.toolbar.edgeStyleMenu.setEnabled(d));this.updateUserElement()};
+EditorUi.prototype.updateButtonContainer=function(){};EditorUi.prototype.updateUserElement=function(){};EditorUi.prototype.scheduleSanityCheck=function(){};EditorUi.prototype.stopSanityCheck=function(){};EditorUi.prototype.isDiagramActive=function(){var d=this.getCurrentFile();return null!=d&&d.isEditable()||"1"==urlParams.embed&&this.editor.graph.isEnabled()};var t=EditorUi.prototype.updateActionStates;EditorUi.prototype.updateActionStates=function(){t.apply(this,arguments);var d=this.editor.graph,
+f=this.getCurrentFile(),g=this.getSelectionState(),m=this.isDiagramActive();this.actions.get("pageSetup").setEnabled(m);this.actions.get("autosave").setEnabled(null!=f&&f.isEditable()&&f.isAutosaveOptional());this.actions.get("guides").setEnabled(m);this.actions.get("editData").setEnabled(d.isEnabled());this.actions.get("shadowVisible").setEnabled(m);this.actions.get("connectionArrows").setEnabled(m);this.actions.get("connectionPoints").setEnabled(m);this.actions.get("copyStyle").setEnabled(m&&!d.isSelectionEmpty());
+this.actions.get("pasteStyle").setEnabled(m&&0<g.cells.length);this.actions.get("editGeometry").setEnabled(0<g.vertices.length);this.actions.get("createShape").setEnabled(m);this.actions.get("createRevision").setEnabled(m);this.actions.get("moveToFolder").setEnabled(null!=f);this.actions.get("makeCopy").setEnabled(null!=f&&!f.isRestricted());this.actions.get("editDiagram").setEnabled(m&&(null==f||!f.isRestricted()));this.actions.get("publishLink").setEnabled(null!=f&&!f.isRestricted());this.actions.get("tags").setEnabled("hidden"!=
+this.diagramContainer.style.visibility);this.actions.get("layers").setEnabled("hidden"!=this.diagramContainer.style.visibility);this.actions.get("outline").setEnabled("hidden"!=this.diagramContainer.style.visibility);this.actions.get("rename").setEnabled(null!=f&&f.isRenamable()||"1"==urlParams.embed);this.actions.get("close").setEnabled(null!=f);this.menus.get("publish").setEnabled(null!=f&&!f.isRestricted());f=this.actions.get("findReplace");f.setEnabled("hidden"!=this.diagramContainer.style.visibility);
+f.label=mxResources.get("find")+(d.isEnabled()?"/"+mxResources.get("replace"):"")+"...";d=d.view.getState(d.getSelectionCell());this.actions.get("editShape").setEnabled(m&&null!=d&&null!=d.shape&&null!=d.shape.stencil)};var E=EditorUi.prototype.destroy;EditorUi.prototype.destroy=function(){null!=this.exportDialog&&(this.exportDialog.parentNode.removeChild(this.exportDialog),this.exportDialog=null);E.apply(this,arguments)};null!=window.ExportDialog&&(ExportDialog.showXmlOption=!1,ExportDialog.showGifOption=
+!1,ExportDialog.exportFile=function(d,f,g,m,q,y,F,C){var H=d.editor.graph;if("xml"==g)d.hideDialog(),d.saveData(f,"xml",mxUtils.getXml(d.editor.getGraphXml()),"text/xml");else if("svg"==g)d.hideDialog(),d.saveData(f,"svg",mxUtils.getXml(H.getSvg(m,q,y)),"image/svg+xml");else{var G=d.getFileData(!0,null,null,null,null,!0),aa=H.getGraphBounds(),da=Math.floor(aa.width*q/H.view.scale),ba=Math.floor(aa.height*q/H.view.scale);if(G.length<=MAX_REQUEST_SIZE&&da*ba<MAX_AREA)if(d.hideDialog(),"png"!=g&&"jpg"!=
+g&&"jpeg"!=g||!d.isExportToCanvas()){var Y={globalVars:H.getExportVariables()};C&&(Y.grid={size:H.gridSize,steps:H.view.gridSteps,color:H.view.gridColor});d.saveRequest(f,g,function(pa,O){return new mxXmlRequest(EXPORT_URL,"format="+g+"&base64="+(O||"0")+(null!=pa?"&filename="+encodeURIComponent(pa):"")+"&extras="+encodeURIComponent(JSON.stringify(Y))+(0<F?"&dpi="+F:"")+"&bg="+(null!=m?m:"none")+"&w="+da+"&h="+ba+"&border="+y+"&xml="+encodeURIComponent(G))})}else"png"==g?d.exportImage(q,null==m||
+"none"==m,!0,!1,!1,y,!0,!1,null,C,F):d.exportImage(q,!1,!0,!1,!1,y,!0,!1,"jpeg",C);else mxUtils.alert(mxResources.get("drawingTooLarge"))}});EditorUi.prototype.getDiagramTextContent=function(){this.editor.graph.setEnabled(!1);var d=this.editor.graph,f="";if(null!=this.pages)for(var g=0;g<this.pages.length;g++){var m=d;this.currentPage!=this.pages[g]&&(m=this.createTemporaryGraph(d.getStylesheet()),this.updatePageRoot(this.pages[g]),m.model.setRoot(this.pages[g].root));f+=this.pages[g].getName()+" "+
+m.getIndexableText()+" "}else f=d.getIndexableText();this.editor.graph.setEnabled(!0);return f};EditorUi.prototype.showRemotelyStoredLibrary=function(d){var f={},g=document.createElement("div");g.style.whiteSpace="nowrap";var m=document.createElement("h3");mxUtils.write(m,mxUtils.htmlEntities(d));m.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";g.appendChild(m);var q=document.createElement("div");q.style.cssText="border:1px solid lightGray;overflow: auto;height:300px";
+q.innerHTML='<div style="text-align:center;padding:8px;"><img src="'+IMAGE_PATH+'/spin.gif"></div>';var y={};try{var F=mxSettings.getCustomLibraries();for(d=0;d<F.length;d++){var C=F[d];if("R"==C.substring(0,1)){var H=JSON.parse(decodeURIComponent(C.substring(1)));y[H[0]]={id:H[0],title:H[1],downloadUrl:H[2]}}}}catch(G){}this.remoteInvoke("getCustomLibraries",null,null,function(G){q.innerHTML="";if(0==G.length)q.innerHTML='<div style="text-align:center;padding-top:20px;color:gray;">'+mxUtils.htmlEntities(mxResources.get("noLibraries"))+
+"</div>";else for(var aa=0;aa<G.length;aa++){var da=G[aa];y[da.id]&&(f[da.id]=da);var ba=this.addCheckbox(q,da.title,y[da.id]);(function(Y,pa){mxEvent.addListener(pa,"change",function(){this.checked?f[Y.id]=Y:delete f[Y.id]})})(da,ba)}},mxUtils.bind(this,function(G){q.innerHTML="";var aa=document.createElement("div");aa.style.padding="8px";aa.style.textAlign="center";mxUtils.write(aa,mxResources.get("error")+": ");mxUtils.write(aa,null!=G&&null!=G.message?G.message:mxResources.get("unknownError"));
+q.appendChild(aa)}));g.appendChild(q);g=new CustomDialog(this,g,mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("loading"));var G=0,aa;for(aa in f)null==y[aa]&&(G++,mxUtils.bind(this,function(da){this.remoteInvoke("getFileContent",[da.downloadUrl],null,mxUtils.bind(this,function(ba){G--;0==G&&this.spinner.stop();try{this.loadLibrary(new RemoteLibrary(this,ba,da))}catch(Y){this.handleError(Y,mxResources.get("errorLoadingFile"))}}),mxUtils.bind(this,function(){G--;0==G&&
+this.spinner.stop();this.handleError(null,mxResources.get("errorLoadingFile"))}))})(f[aa]));for(aa in y)f[aa]||this.closeLibrary(new RemoteLibrary(this,null,y[aa]));0==G&&this.spinner.stop()}),null,null,"https://www.diagrams.net/doc/faq/custom-libraries-confluence-cloud");this.showDialog(g.container,340,390,!0,!0,null,null,null,null,!0)};EditorUi.prototype.remoteInvokableFns={getDiagramTextContent:{isAsync:!1},getLocalStorageFile:{isAsync:!1,allowedDomains:["app.diagrams.net"]},getLocalStorageFileNames:{isAsync:!1,
+allowedDomains:["app.diagrams.net"]},setMigratedFlag:{isAsync:!1,allowedDomains:["app.diagrams.net"]}};EditorUi.prototype.remoteInvokeCallbacks=[];EditorUi.prototype.remoteInvokeQueue=[];EditorUi.prototype.handleRemoteInvokeReady=function(d){this.remoteWin=d;for(var f=0;f<this.remoteInvokeQueue.length;f++)d.postMessage(this.remoteInvokeQueue[f],"*");this.remoteInvokeQueue=[]};EditorUi.prototype.handleRemoteInvokeResponse=function(d){var f=d.msgMarkers,g=this.remoteInvokeCallbacks[f.callbackId];if(null==
+g)throw Error("No callback for "+(null!=f?f.callbackId:"null"));d.error?g.error&&g.error(d.error.errResp):g.callback&&g.callback.apply(this,d.resp);this.remoteInvokeCallbacks[f.callbackId]=null};EditorUi.prototype.remoteInvoke=function(d,f,g,m,q){var y=!0,F=window.setTimeout(mxUtils.bind(this,function(){y=!1;q({code:App.ERROR_TIMEOUT,message:mxResources.get("timeout")})}),this.timeout),C=mxUtils.bind(this,function(){window.clearTimeout(F);y&&m.apply(this,arguments)}),H=mxUtils.bind(this,function(){window.clearTimeout(F);
+y&&q.apply(this,arguments)});g=g||{};g.callbackId=this.remoteInvokeCallbacks.length;this.remoteInvokeCallbacks.push({callback:C,error:H});d=JSON.stringify({event:"remoteInvoke",funtionName:d,functionArgs:f,msgMarkers:g});null!=this.remoteWin?this.remoteWin.postMessage(d,"*"):this.remoteInvokeQueue.push(d)};EditorUi.prototype.handleRemoteInvoke=function(d,f){var g=mxUtils.bind(this,function(G,aa){var da={event:"remoteInvokeResponse",msgMarkers:d.msgMarkers};null!=aa?da.error={errResp:aa}:null!=G&&
+(da.resp=G);this.remoteWin.postMessage(JSON.stringify(da),"*")});try{var m=d.funtionName,q=this.remoteInvokableFns[m];if(null!=q&&"function"===typeof this[m]){if(q.allowedDomains){for(var y=!1,F=0;F<q.allowedDomains.length;F++)if(f=="https://"+q.allowedDomains[F]){y=!0;break}if(!y){g(null,"Invalid Call: "+m+" is not allowed.");return}}var C=d.functionArgs;Array.isArray(C)||(C=[]);if(q.isAsync)C.push(function(){g(Array.prototype.slice.apply(arguments))}),C.push(function(G){g(null,G||"Unkown Error")}),
+this[m].apply(this,C);else{var H=this[m].apply(this,C);g([H])}}else g(null,"Invalid Call: "+m+" is not found.")}catch(G){g(null,"Invalid Call: An error occurred, "+G.message)}};EditorUi.prototype.openDatabase=function(d,f){if(null==this.database){var g=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB;if(null!=g)try{var m=g.open("database",2);m.onupgradeneeded=function(q){try{var y=m.result;1>q.oldVersion&&y.createObjectStore("objects",{keyPath:"key"});2>q.oldVersion&&(y.createObjectStore("files",
+{keyPath:"title"}),y.createObjectStore("filesInfo",{keyPath:"title"}),EditorUi.migrateStorageFiles=isLocalStorage)}catch(F){null!=f&&f(F)}};m.onsuccess=mxUtils.bind(this,function(q){var y=m.result;this.database=y;EditorUi.migrateStorageFiles&&(StorageFile.migrate(y),EditorUi.migrateStorageFiles=!1);"app.diagrams.net"!=location.host||this.drawioMigrationStarted||(this.drawioMigrationStarted=!0,this.getDatabaseItem(".drawioMigrated3",mxUtils.bind(this,function(F){if(!F||"1"==urlParams.forceMigration){var C=
+document.createElement("iframe");C.style.display="none";C.setAttribute("src","https://www.draw.io?embed=1&proto=json&forceMigration="+urlParams.forceMigration);document.body.appendChild(C);var H=!0,G=!1,aa,da=0,ba=mxUtils.bind(this,function(){G=!0;this.setDatabaseItem(".drawioMigrated3",!0);C.contentWindow.postMessage(JSON.stringify({action:"remoteInvoke",funtionName:"setMigratedFlag"}),"*")}),Y=mxUtils.bind(this,function(){da++;pa()}),pa=mxUtils.bind(this,function(){try{if(da>=aa.length)ba();else{var X=
+aa[da];StorageFile.getFileContent(this,X,mxUtils.bind(this,function(ea){null==ea||".scratchpad"==X&&ea==this.emptyLibraryXml?C.contentWindow.postMessage(JSON.stringify({action:"remoteInvoke",funtionName:"getLocalStorageFile",functionArgs:[X]}),"*"):Y()}),Y)}}catch(ea){console.log(ea)}}),O=mxUtils.bind(this,function(X){try{this.setDatabaseItem(null,[{title:X.title,size:X.data.length,lastModified:Date.now(),type:X.isLib?"L":"F"},{title:X.title,data:X.data}],Y,Y,["filesInfo","files"])}catch(ea){console.log(ea)}});
+F=mxUtils.bind(this,function(X){try{if(X.source==C.contentWindow){var ea={};try{ea=JSON.parse(X.data)}catch(ka){}"init"==ea.event?(C.contentWindow.postMessage(JSON.stringify({action:"remoteInvokeReady"}),"*"),C.contentWindow.postMessage(JSON.stringify({action:"remoteInvoke",funtionName:"getLocalStorageFileNames"}),"*")):"remoteInvokeResponse"!=ea.event||G||(H?null!=ea.resp&&0<ea.resp.length&&null!=ea.resp[0]?(aa=ea.resp[0],H=!1,pa()):ba():null!=ea.resp&&0<ea.resp.length&&null!=ea.resp[0]?O(ea.resp[0]):
+Y())}}catch(ka){console.log(ka)}});window.addEventListener("message",F)}})));d(y);y.onversionchange=function(){y.close()}});m.onerror=f;m.onblocked=function(){}}catch(q){null!=f&&f(q)}else null!=f&&f()}else d(this.database)};EditorUi.prototype.setDatabaseItem=function(d,f,g,m,q){this.openDatabase(mxUtils.bind(this,function(y){try{q=q||"objects";Array.isArray(q)||(q=[q],d=[d],f=[f]);var F=y.transaction(q,"readwrite");F.oncomplete=g;F.onerror=m;for(y=0;y<q.length;y++)F.objectStore(q[y]).put(null!=d&&
+null!=d[y]?{key:d[y],data:f[y]}:f[y])}catch(C){null!=m&&m(C)}}),m)};EditorUi.prototype.removeDatabaseItem=function(d,f,g,m){this.openDatabase(mxUtils.bind(this,function(q){m=m||"objects";Array.isArray(m)||(m=[m],d=[d]);q=q.transaction(m,"readwrite");q.oncomplete=f;q.onerror=g;for(var y=0;y<m.length;y++)q.objectStore(m[y]).delete(d[y])}),g)};EditorUi.prototype.getDatabaseItem=function(d,f,g,m){this.openDatabase(mxUtils.bind(this,function(q){try{m=m||"objects";var y=q.transaction([m],"readonly").objectStore(m).get(d);
+y.onsuccess=function(){f(y.result)};y.onerror=g}catch(F){null!=g&&g(F)}}),g)};EditorUi.prototype.getDatabaseItems=function(d,f,g){this.openDatabase(mxUtils.bind(this,function(m){try{g=g||"objects";var q=m.transaction([g],"readonly").objectStore(g).openCursor(IDBKeyRange.lowerBound(0)),y=[];q.onsuccess=function(F){null==F.target.result?d(y):(y.push(F.target.result.value),F.target.result.continue())};q.onerror=f}catch(F){null!=f&&f(F)}}),f)};EditorUi.prototype.getDatabaseItemKeys=function(d,f,g){this.openDatabase(mxUtils.bind(this,
+function(m){try{g=g||"objects";var q=m.transaction([g],"readonly").objectStore(g).getAllKeys();q.onsuccess=function(){d(q.result)};q.onerror=f}catch(y){null!=f&&f(y)}}),f)};EditorUi.prototype.commentsSupported=function(){var d=this.getCurrentFile();return null!=d?d.commentsSupported():!1};EditorUi.prototype.commentsRefreshNeeded=function(){var d=this.getCurrentFile();return null!=d?d.commentsRefreshNeeded():!0};EditorUi.prototype.commentsSaveNeeded=function(){var d=this.getCurrentFile();return null!=
+d?d.commentsSaveNeeded():!1};EditorUi.prototype.getComments=function(d,f){var g=this.getCurrentFile();null!=g?g.getComments(d,f):d([])};EditorUi.prototype.addComment=function(d,f,g){var m=this.getCurrentFile();null!=m?m.addComment(d,f,g):f(Date.now())};EditorUi.prototype.canReplyToReplies=function(){var d=this.getCurrentFile();return null!=d?d.canReplyToReplies():!0};EditorUi.prototype.canComment=function(){var d=this.getCurrentFile();return null!=d?d.canComment():!0};EditorUi.prototype.newComment=
+function(d,f){var g=this.getCurrentFile();return null!=g?g.newComment(d,f):new DrawioComment(this,null,d,Date.now(),Date.now(),!1,f)};EditorUi.prototype.isRevisionHistorySupported=function(){var d=this.getCurrentFile();return null!=d&&d.isRevisionHistorySupported()};EditorUi.prototype.getRevisions=function(d,f){var g=this.getCurrentFile();null!=g&&g.getRevisions?g.getRevisions(d,f):f({message:mxResources.get("unknownError")})};EditorUi.prototype.isRevisionHistoryEnabled=function(){var d=this.getCurrentFile();
+return null!=d&&(d.constructor==DriveFile&&d.isEditable()||d.constructor==DropboxFile)};EditorUi.prototype.getServiceName=function(){return"draw.io"};EditorUi.prototype.addRemoteServiceSecurityCheck=function(d){d.setRequestHeader("Content-Language","da, mi, en, de-DE")};EditorUi.prototype.loadUrl=function(d,f,g,m,q,y,F,C){EditorUi.logEvent("SHOULD NOT BE CALLED: loadUrl");return this.editor.loadUrl(d,f,g,m,q,y,F,C)};EditorUi.prototype.loadFonts=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: loadFonts");
+return this.editor.loadFonts(d)};EditorUi.prototype.createSvgDataUri=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: createSvgDataUri");return Editor.createSvgDataUri(d)};EditorUi.prototype.embedCssFonts=function(d,f){EditorUi.logEvent("SHOULD NOT BE CALLED: embedCssFonts");return this.editor.embedCssFonts(d,f)};EditorUi.prototype.embedExtFonts=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: embedExtFonts");return this.editor.embedExtFonts(d)};EditorUi.prototype.exportToCanvas=function(d,
+f,g,m,q,y,F,C,H,G,aa,da,ba,Y,pa,O){EditorUi.logEvent("SHOULD NOT BE CALLED: exportToCanvas");return this.editor.exportToCanvas(d,f,g,m,q,y,F,C,H,G,aa,da,ba,Y,pa,O)};EditorUi.prototype.createImageUrlConverter=function(){EditorUi.logEvent("SHOULD NOT BE CALLED: createImageUrlConverter");return this.editor.createImageUrlConverter()};EditorUi.prototype.convertImages=function(d,f,g,m){EditorUi.logEvent("SHOULD NOT BE CALLED: convertImages");return this.editor.convertImages(d,f,g,m)};EditorUi.prototype.convertImageToDataUri=
+function(d,f){EditorUi.logEvent("SHOULD NOT BE CALLED: convertImageToDataUri");return this.editor.convertImageToDataUri(d,f)};EditorUi.prototype.base64Encode=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: base64Encode");return Editor.base64Encode(d)};EditorUi.prototype.updateCRC=function(d,f,g,m){EditorUi.logEvent("SHOULD NOT BE CALLED: updateCRC");return Editor.updateCRC(d,f,g,m)};EditorUi.prototype.crc32=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: crc32");return Editor.crc32(d)};
+EditorUi.prototype.writeGraphModelToPng=function(d,f,g,m,q){EditorUi.logEvent("SHOULD NOT BE CALLED: writeGraphModelToPng");return Editor.writeGraphModelToPng(d,f,g,m,q)};EditorUi.prototype.getLocalStorageFileNames=function(){if("1"==localStorage.getItem(".localStorageMigrated")&&"1"!=urlParams.forceMigration)return null;for(var d=[],f=0;f<localStorage.length;f++){var g=localStorage.key(f),m=localStorage.getItem(g);if(0<g.length&&(".scratchpad"==g||"."!=g.charAt(0))&&0<m.length){var q="<mxfile "===
+m.substring(0,8)||"<?xml"===m.substring(0,5)||"\x3c!--[if IE]>"===m.substring(0,12);m="<mxlibrary>"===m.substring(0,11);(q||m)&&d.push(g)}}return d};EditorUi.prototype.getLocalStorageFile=function(d){if("1"==localStorage.getItem(".localStorageMigrated")&&"1"!=urlParams.forceMigration)return null;var f=localStorage.getItem(d);return{title:d,data:f,isLib:"<mxlibrary>"===f.substring(0,11)}};EditorUi.prototype.setMigratedFlag=function(){localStorage.setItem(".localStorageMigrated","1")}})();
var CommentsWindow=function(b,e,k,n,D,t){function E(){for(var ja=da.getElementsByTagName("div"),U=0,J=0;J<ja.length;J++)"none"!=ja[J].style.display&&ja[J].parentNode==da&&U++;ba.style.display=0==U?"block":"none"}function d(ja,U,J,V){function P(){U.removeChild(la);U.removeChild(ta);ia.style.display="block";R.style.display="block"}H={div:U,comment:ja,saveCallback:J,deleteOnCancel:V};var R=U.querySelector(".geCommentTxt"),ia=U.querySelector(".geCommentActionsList"),la=document.createElement("textarea");
la.className="geCommentEditTxtArea";la.style.minHeight=R.offsetHeight+"px";la.value=ja.content;U.insertBefore(la,R);var ta=document.createElement("div");ta.className="geCommentEditBtns";var u=mxUtils.button(mxResources.get("cancel"),function(){V?(U.parentNode.removeChild(U),E()):P();H=null});u.className="geCommentEditBtn";ta.appendChild(u);var I=mxUtils.button(mxResources.get("save"),function(){R.innerHTML="";ja.content=la.value;mxUtils.write(R,ja.content);P();J(ja);H=null});mxEvent.addListener(la,
"keydown",mxUtils.bind(this,function(N){mxEvent.isConsumed(N)||((mxEvent.isControlDown(N)||mxClient.IS_MAC&&mxEvent.isMetaDown(N))&&13==N.keyCode?(I.click(),mxEvent.consume(N)):27==N.keyCode&&(u.click(),mxEvent.consume(N)))}));I.focus();I.className="geCommentEditBtn gePrimaryBtn";ta.appendChild(I);U.insertBefore(ta,R);ia.style.display="none";R.style.display="none";la.focus()}function f(ja,U){U.innerHTML="";ja=new Date(ja.modifiedDate);var J=b.timeSince(ja);null==J&&(J=mxResources.get("lessThanAMinute"));
@@ -4027,15 +4027,15 @@ Fa.geometry.setTerminalPoint(new mxPoint(0,0),!0);Fa.geometry.setTerminalPoint(n
" ("+Na.shortcut+")",I);qa=O("table",null,Editor.calendarImage);qa.style.boxShadow="none";qa.style.opacity="0.7";qa.style.padding="6px";qa.style.margin="0px";qa.style.width="37px";ya(qa,null,"pointer");qa=O("insert",null,Editor.plusImage);qa.style.boxShadow="none";qa.style.opacity="0.7";qa.style.padding="6px";qa.style.margin="0px";qa.style.width="37px";ya(qa,null,"pointer")}"1"!=urlParams.embedInline&&W.appendChild(Aa)});mxEvent.addListener(Aa,"click",mxUtils.bind(this,function(){za?(mxUtils.setPrefixedStyle(W.style,
"transform","translate(0, -50%)"),W.style.padding="8px 6px 4px",W.style.top="50%",W.style.bottom="",W.style.height="",Aa.style.backgroundImage="url("+mxWindow.prototype.normalizeImage+")",Aa.style.width="40px",Aa.style.height="12px",Aa.setAttribute("title","Minimize"),za=!1,Ca()):(W.innerHTML="",W.appendChild(Aa),mxUtils.setPrefixedStyle(W.style,"transform","translate(0, 0)"),W.style.top="",W.style.bottom="12px",W.style.padding="0px",W.style.height="24px",Aa.style.height="24px",Aa.style.backgroundImage=
"url("+Editor.plusImage+")",Aa.setAttribute("title",mxResources.get("insert")),Aa.style.width="24px",za=!0)}));Ca();U.addListener("darkModeChanged",Ca);U.addListener("sketchModeChanged",Ca)}else U.editor.addListener("statusChanged",mxUtils.bind(this,function(){U.setStatusText(U.editor.getStatus())}));if(null!=u){var Qa=function(ua){mxEvent.isShiftDown(ua)?(U.hideCurrentMenu(),U.actions.get("smartFit").funct(),mxEvent.consume(ua)):mxEvent.isAltDown(ua)&&(U.hideCurrentMenu(),U.actions.get("customZoom").funct(),
-mxEvent.consume(ua))},Za=U.actions.get("zoomIn"),cb=U.actions.get("zoomOut"),Ka=U.actions.get("resetView");Q=U.actions.get("fullscreen");var Ua=U.actions.get("undo"),$a=U.actions.get("redo"),z=X("",Ua.funct,null,mxResources.get("undo")+" ("+Ua.shortcut+")",Ua,Editor.undoImage),L=X("",$a.funct,null,mxResources.get("redo")+" ("+$a.shortcut+")",$a,Editor.redoImage),M=X("",Q.funct,null,mxResources.get("fullscreen"),Q,Editor.fullscreenImage);if(null!=N){Ka=function(){ra.style.display=null!=U.pages&&("0"!=
+mxEvent.consume(ua))},Za=U.actions.get("zoomIn"),cb=U.actions.get("zoomOut"),Ja=U.actions.get("resetView");Q=U.actions.get("fullscreen");var Ua=U.actions.get("undo"),$a=U.actions.get("redo"),z=X("",Ua.funct,null,mxResources.get("undo")+" ("+Ua.shortcut+")",Ua,Editor.undoImage),L=X("",$a.funct,null,mxResources.get("redo")+" ("+$a.shortcut+")",$a,Editor.redoImage),M=X("",Q.funct,null,mxResources.get("fullscreen"),Q,Editor.fullscreenImage);if(null!=N){Ja=function(){ra.style.display=null!=U.pages&&("0"!=
urlParams.pages||1<U.pages.length||Editor.pagesVisible)?"inline-block":"none"};var S=function(){ra.innerHTML="";if(null!=U.currentPage){mxUtils.write(ra,U.currentPage.getName());var ua=null!=U.pages?U.pages.length:1,ya=U.getPageIndex(U.currentPage);ya=null!=ya?ya+1:1;var Na=U.currentPage.getId();ra.setAttribute("title",U.currentPage.getName()+" ("+ya+"/"+ua+")"+(null!=Na?" ["+Na+"]":""))}};M.parentNode.removeChild(M);var ca=U.actions.get("delete"),ha=X("",ca.funct,null,mxResources.get("delete"),ca,
Editor.trashImage);ha.style.opacity="0.1";T.appendChild(ha);ca.addListener("stateChanged",function(){ha.style.opacity=ca.enabled?"":"0.1"});var oa=function(){z.style.display=0<U.editor.undoManager.history.length||J.isEditing()?"inline-block":"none";L.style.display=z.style.display;z.style.opacity=Ua.enabled?"":"0.1";L.style.opacity=$a.enabled?"":"0.1"};T.appendChild(z);T.appendChild(L);Ua.addListener("stateChanged",oa);$a.addListener("stateChanged",oa);oa();var ra=this.createPageMenuTab(!1,!0);ra.style.display=
"none";ra.style.position="";ra.style.marginLeft="";ra.style.top="";ra.style.left="";ra.style.height="100%";ra.style.lineHeight="";ra.style.borderStyle="none";ra.style.padding="3px 0";ra.style.margin="0px";ra.style.background="";ra.style.border="";ra.style.boxShadow="none";ra.style.verticalAlign="top";ra.style.width="auto";ra.style.maxWidth="160px";ra.style.position="relative";ra.style.padding="6px";ra.style.textOverflow="ellipsis";ra.style.opacity="0.8";N.appendChild(ra);U.editor.addListener("pagesPatched",
-S);U.editor.addListener("pageSelected",S);U.editor.addListener("pageRenamed",S);U.editor.addListener("fileLoaded",S);S();U.addListener("fileDescriptorChanged",Ka);U.addListener("pagesVisibleChanged",Ka);U.editor.addListener("pagesPatched",Ka);Ka();Ka=X("",cb.funct,!0,mxResources.get("zoomOut")+" ("+Editor.ctrlKey+" -/Alt+Mousewheel)",cb,Editor.zoomOutImage);N.appendChild(Ka);var qa=R.addMenu("100%",u.funct);qa.setAttribute("title",mxResources.get("zoom"));qa.innerHTML="100%";qa.style.display="inline-block";
+S);U.editor.addListener("pageSelected",S);U.editor.addListener("pageRenamed",S);U.editor.addListener("fileLoaded",S);S();U.addListener("fileDescriptorChanged",Ja);U.addListener("pagesVisibleChanged",Ja);U.editor.addListener("pagesPatched",Ja);Ja();Ja=X("",cb.funct,!0,mxResources.get("zoomOut")+" ("+Editor.ctrlKey+" -/Alt+Mousewheel)",cb,Editor.zoomOutImage);N.appendChild(Ja);var qa=R.addMenu("100%",u.funct);qa.setAttribute("title",mxResources.get("zoom"));qa.innerHTML="100%";qa.style.display="inline-block";
qa.style.color="inherit";qa.style.cursor="pointer";qa.style.textAlign="center";qa.style.whiteSpace="nowrap";qa.style.paddingRight="10px";qa.style.textDecoration="none";qa.style.verticalAlign="top";qa.style.padding="6px 0";qa.style.fontSize="14px";qa.style.width="40px";qa.style.opacity="0.4";N.appendChild(qa);u=X("",Za.funct,!0,mxResources.get("zoomIn")+" ("+Editor.ctrlKey+" +/Alt+Mousewheel)",Za,Editor.zoomInImage);N.appendChild(u);Q.visible&&(N.appendChild(M),mxEvent.addListener(document,"fullscreenchange",
function(){M.style.backgroundImage="url("+(null!=document.fullscreenElement?Editor.fullscreenExitImage:Editor.fullscreenImage)+")"}));"1"==urlParams.embedInline&&(u=U.actions.get("exit"),N.appendChild(X("",u.funct,null,mxResources.get("exit"),u,Editor.closeImage)));U.tabContainer.style.visibility="hidden";V.style.cssText="position:absolute;right:14px;top:10px;height:30px;z-index:1;border-radius:4px;box-shadow:0px 0px 3px 1px #d1d1d1;padding:6px 0px 6px 6px;border-bottom:1px solid lightgray;text-align:right;white-space:nowrap;overflow:hidden;user-select:none;";
T.style.cssText="position:absolute;left:10px;top:10px;height:30px;z-index:1;border-radius:4px;box-shadow:0px 0px 3px 1px #d1d1d1;padding:6px;border-bottom:1px solid lightgray;text-align:right;white-space:nowrap;overflow:hidden;user-select:none;";N.style.cssText="position:absolute;right:14px;bottom:14px;height:28px;z-index:1;border-radius:4px;box-shadow:0px 0px 3px 1px #d1d1d1;padding:8px;white-space:nowrap;user-select:none;";ta.appendChild(T);ta.appendChild(N);W.style.cssText="position:absolute;left:10px;z-index:1;border-radius:4px;box-shadow:0px 0px 3px 1px #d1d1d1;padding:8px 6px 4px 6px;white-space:nowrap;transform:translate(0, -50%);top:50%;user-select:none;";
-mxClient.IS_POINTER&&(W.style.touchAction="none");ta.appendChild(W);window.setTimeout(function(){mxUtils.setPrefixedStyle(W.style,"transition","transform .3s ease-out")},0);"1"==urlParams["format-toolbar"]&&this.installFormatToolbar(ta)}else{var xa=X("",Qa,!0,mxResources.get("fit")+" ("+Editor.ctrlKey+"+H)",Ka,Editor.zoomFitImage);V.style.cssText="position:absolute;left:0px;right:0px;top:0px;height:30px;padding:8px;text-align:left;white-space:nowrap;";this.tabContainer.style.right="70px";qa=R.addMenu("100%",
+mxClient.IS_POINTER&&(W.style.touchAction="none");ta.appendChild(W);window.setTimeout(function(){mxUtils.setPrefixedStyle(W.style,"transition","transform .3s ease-out")},0);"1"==urlParams["format-toolbar"]&&this.installFormatToolbar(ta)}else{var xa=X("",Qa,!0,mxResources.get("fit")+" ("+Editor.ctrlKey+"+H)",Ja,Editor.zoomFitImage);V.style.cssText="position:absolute;left:0px;right:0px;top:0px;height:30px;padding:8px;text-align:left;white-space:nowrap;";this.tabContainer.style.right="70px";qa=R.addMenu("100%",
u.funct);qa.setAttribute("title",mxResources.get("zoom")+" (Alt+Mousewheel)");qa.style.whiteSpace="nowrap";qa.style.paddingRight="10px";qa.style.textDecoration="none";qa.style.textDecoration="none";qa.style.overflow="hidden";qa.style.visibility="hidden";qa.style.textAlign="center";qa.style.cursor="pointer";qa.style.height=parseInt(U.tabContainerHeight)-1+"px";qa.style.lineHeight=parseInt(U.tabContainerHeight)+1+"px";qa.style.position="absolute";qa.style.display="block";qa.style.fontSize="12px";qa.style.width=
"59px";qa.style.right="0px";qa.style.bottom="0px";qa.style.backgroundImage="url("+mxWindow.prototype.minimizeImage+")";qa.style.backgroundPosition="right 6px center";qa.style.backgroundRepeat="no-repeat";ta.appendChild(qa)}(function(ua){mxEvent.addListener(ua,"click",Qa);var ya=mxUtils.bind(this,function(){ua.innerHTML="";mxUtils.write(ua,Math.round(100*U.editor.graph.view.scale)+"%")});U.editor.graph.view.addListener(mxEvent.EVENT_SCALE,ya);U.editor.addListener("resetGraphView",ya);U.editor.addListener("pageSelected",
ya)})(qa);var Ga=U.setGraphEnabled;U.setGraphEnabled=function(){Ga.apply(this,arguments);null!=this.tabContainer&&(qa.style.visibility=this.tabContainer.style.visibility,this.diagramContainer.style.bottom="hidden"!=this.tabContainer.style.visibility&&null==N?this.tabContainerHeight+"px":"0px")}}ta.appendChild(V);ta.appendChild(U.diagramContainer);ja.appendChild(ta);U.updateTabContainer();!EditorUi.windowed&&("1"==urlParams.sketch||1E3<=n)&&"1"!=urlParams.embedInline&&b(this,!0);null==N&&ta.appendChild(U.tabContainer);
diff --git a/src/main/webapp/js/viewer.min.js b/src/main/webapp/js/viewer.min.js
index fd5f2ee5..50ac5cc3 100644
--- a/src/main/webapp/js/viewer.min.js
+++ b/src/main/webapp/js/viewer.min.js
@@ -110,7 +110,7 @@ if("1"==urlParams.offline||"1"==urlParams.demo||"1"==urlParams.stealth||"1"==url
"se.diagrams.net"==window.location.hostname&&(urlParams.db="0",urlParams.od="0",urlParams.gh="0",urlParams.gl="0",urlParams.tr="0",urlParams.plugins="0",urlParams.mode="google",urlParams.lockdown="1",window.DRAWIO_GOOGLE_APP_ID=window.DRAWIO_GOOGLE_APP_ID||"184079235871",window.DRAWIO_GOOGLE_CLIENT_ID=window.DRAWIO_GOOGLE_CLIENT_ID||"184079235871-pjf5nn0lff27lk8qf0770gmffiv9gt61.apps.googleusercontent.com");"trello"==urlParams.mode&&(urlParams.tr="1");
"embed.diagrams.net"==window.location.hostname&&(urlParams.embed="1");(null==window.location.hash||1>=window.location.hash.length)&&null!=urlParams.open&&(window.location.hash=urlParams.open);window.urlParams=window.urlParams||{};window.DOM_PURIFY_CONFIG=window.DOM_PURIFY_CONFIG||{ADD_TAGS:["use"],FORBID_TAGS:["form"],ALLOWED_URI_REGEXP:/^((?!javascript:).)*$/i,ADD_ATTR:["target","content"]};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||"mxgraph";window.mxImageBasePath=window.mxImageBasePath||"mxgraph/images";window.mxLanguage=window.mxLanguage||urlParams.lang;
-window.mxLanguages=window.mxLanguages||["de","se"];var mxClient={VERSION:"19.0.0",IS_IE:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE"),IS_IE11:null!=navigator.userAgent&&!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:null!=navigator.userAgent&&!!navigator.userAgent.match(/Edge\//),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&0>navigator.userAgent.indexOf("Edge/"),
+window.mxLanguages=window.mxLanguages||["de","se"];var mxClient={VERSION:"19.0.1",IS_IE:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE"),IS_IE11:null!=navigator.userAgent&&!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:null!=navigator.userAgent&&!!navigator.userAgent.match(/Edge\//),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&0>navigator.userAgent.indexOf("Edge/"),
IS_OP:null!=navigator.userAgent&&(0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/")),IS_OT:null!=navigator.userAgent&&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:/Apple Computer, Inc/.test(navigator.vendor),
IS_ANDROID:0<=navigator.appVersion.indexOf("Android"),IS_IOS:/iP(hone|od|ad)/.test(navigator.platform)||navigator.userAgent.match(/Mac/)&&navigator.maxTouchPoints&&2<navigator.maxTouchPoints,IS_WEBVIEW:/((iPhone|iPod|iPad).*AppleWebKit(?!.*Version)|; wv)/i.test(navigator.userAgent),IS_GC:/Google Inc/.test(navigator.vendor),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:"undefined"!==typeof InstallTrigger,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:"MICROSOFT INTERNET EXPLORER"!=navigator.appName.toUpperCase(),NO_FO:!document.createElementNS||"[object SVGForeignObjectElement]"!==
@@ -2661,14 +2661,14 @@ this.moveHandles[z].rowState.width-5+"px",this.moveHandles[z].style.top=this.mov
this.state.getCenterY()),L=new mxRectangle(this.state.x,this.state.y-22,this.state.width+24,this.state.height+22),M=mxUtils.getBoundingBox(L,this.state.style[mxConstants.STYLE_ROTATION]||"0",z),z=null!=M?mxUtils.getBoundingBox(this.state,this.state.style[mxConstants.STYLE_ROTATION]||"0"):this.state,L=null!=this.state.text?this.state.text.boundingBox:null,null==M&&(M=this.state),M=M.y+M.height,null!=L&&(M=Math.max(M,L.y+L.height)),this.linkHint.style.left=Math.max(0,Math.round(z.x+(z.width-this.linkHint.clientWidth)/
2))+"px",this.linkHint.style.top=Math.round(M+this.verticalOffset/2+Editor.hintOffset)+"px")};var cb=mxVertexHandler.prototype.destroy;mxVertexHandler.prototype.destroy=function(){cb.apply(this,arguments);if(null!=this.moveHandles){for(var z=0;z<this.moveHandles.length;z++)null!=this.moveHandles[z]&&null!=this.moveHandles[z].parentNode&&this.moveHandles[z].parentNode.removeChild(this.moveHandles[z]);this.moveHandles=null}if(null!=this.cornerHandles){for(z=0;z<this.cornerHandles.length;z++)null!=this.cornerHandles[z]&&
null!=this.cornerHandles[z].node&&null!=this.cornerHandles[z].node.parentNode&&this.cornerHandles[z].node.parentNode.removeChild(this.cornerHandles[z].node);this.cornerHandles=null}null!=this.linkHint&&(null!=this.linkHint.parentNode&&this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);null!=this.changeHandler&&(this.graph.getSelectionModel().removeListener(this.changeHandler),this.graph.getModel().removeListener(this.changeHandler),this.changeHandler=null);null!=this.editingHandler&&
-(this.graph.removeListener(this.editingHandler),this.editingHandler=null)};var Ka=mxEdgeHandler.prototype.redrawHandles;mxEdgeHandler.prototype.redrawHandles=function(){if(null!=this.marker&&(Ka.apply(this),null!=this.state&&null!=this.linkHint)){var z=this.state;null!=this.state.text&&null!=this.state.text.bounds&&(z=new mxRectangle(z.x,z.y,z.width,z.height),z.add(this.state.text.bounds));this.linkHint.style.left=Math.max(0,Math.round(z.x+(z.width-this.linkHint.clientWidth)/2))+"px";this.linkHint.style.top=
+(this.graph.removeListener(this.editingHandler),this.editingHandler=null)};var Ja=mxEdgeHandler.prototype.redrawHandles;mxEdgeHandler.prototype.redrawHandles=function(){if(null!=this.marker&&(Ja.apply(this),null!=this.state&&null!=this.linkHint)){var z=this.state;null!=this.state.text&&null!=this.state.text.bounds&&(z=new mxRectangle(z.x,z.y,z.width,z.height),z.add(this.state.text.bounds));this.linkHint.style.left=Math.max(0,Math.round(z.x+(z.width-this.linkHint.clientWidth)/2))+"px";this.linkHint.style.top=
Math.round(z.y+z.height+Editor.hintOffset)+"px"}};var Ua=mxEdgeHandler.prototype.reset;mxEdgeHandler.prototype.reset=function(){Ua.apply(this,arguments);null!=this.linkHint&&(this.linkHint.style.visibility="")};var $a=mxEdgeHandler.prototype.destroy;mxEdgeHandler.prototype.destroy=function(){$a.apply(this,arguments);null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);null!=this.changeHandler&&(this.graph.getModel().removeListener(this.changeHandler),this.graph.getSelectionModel().removeListener(this.changeHandler),
this.changeHandler=null)}}();(function(){function b(c,l,x){mxShape.call(this);this.line=c;this.stroke=l;this.strokewidth=null!=x?x:1;this.updateBoundsFromLine()}function e(){mxSwimlane.call(this)}function k(){mxSwimlane.call(this)}function n(){mxCylinder.call(this)}function D(){mxCylinder.call(this)}function t(){mxActor.call(this)}function E(){mxCylinder.call(this)}function d(){mxCylinder.call(this)}function f(){mxCylinder.call(this)}function g(){mxCylinder.call(this)}function m(){mxShape.call(this)}function q(){mxShape.call(this)}
function y(c,l,x,p){mxShape.call(this);this.bounds=c;this.fill=l;this.stroke=x;this.strokewidth=null!=p?p:1}function F(){mxActor.call(this)}function C(){mxCylinder.call(this)}function H(){mxCylinder.call(this)}function G(){mxActor.call(this)}function aa(){mxActor.call(this)}function da(){mxActor.call(this)}function ba(){mxActor.call(this)}function Y(){mxActor.call(this)}function pa(){mxActor.call(this)}function O(){mxActor.call(this)}function X(c,l){this.canvas=c;this.canvas.setLineJoin("round");
this.canvas.setLineCap("round");this.defaultVariation=l;this.originalLineTo=this.canvas.lineTo;this.canvas.lineTo=mxUtils.bind(this,X.prototype.lineTo);this.originalMoveTo=this.canvas.moveTo;this.canvas.moveTo=mxUtils.bind(this,X.prototype.moveTo);this.originalClose=this.canvas.close;this.canvas.close=mxUtils.bind(this,X.prototype.close);this.originalQuadTo=this.canvas.quadTo;this.canvas.quadTo=mxUtils.bind(this,X.prototype.quadTo);this.originalCurveTo=this.canvas.curveTo;this.canvas.curveTo=mxUtils.bind(this,
X.prototype.curveTo);this.originalArcTo=this.canvas.arcTo;this.canvas.arcTo=mxUtils.bind(this,X.prototype.arcTo)}function ea(){mxRectangleShape.call(this)}function ka(){mxRectangleShape.call(this)}function ja(){mxActor.call(this)}function U(){mxActor.call(this)}function J(){mxActor.call(this)}function V(){mxRectangleShape.call(this)}function P(){mxRectangleShape.call(this)}function R(){mxCylinder.call(this)}function ia(){mxShape.call(this)}function la(){mxShape.call(this)}function ta(){mxEllipse.call(this)}
function u(){mxShape.call(this)}function I(){mxShape.call(this)}function N(){mxRectangleShape.call(this)}function W(){mxShape.call(this)}function T(){mxShape.call(this)}function Q(){mxShape.call(this)}function Z(){mxShape.call(this)}function na(){mxShape.call(this)}function va(){mxCylinder.call(this)}function Ba(){mxCylinder.call(this)}function sa(){mxRectangleShape.call(this)}function Da(){mxDoubleEllipse.call(this)}function Aa(){mxDoubleEllipse.call(this)}function za(){mxArrowConnector.call(this);
-this.spacing=0}function Ca(){mxArrowConnector.call(this);this.spacing=0}function Qa(){mxActor.call(this)}function Za(){mxRectangleShape.call(this)}function cb(){mxActor.call(this)}function Ka(){mxActor.call(this)}function Ua(){mxActor.call(this)}function $a(){mxActor.call(this)}function z(){mxActor.call(this)}function L(){mxActor.call(this)}function M(){mxActor.call(this)}function S(){mxActor.call(this)}function ca(){mxActor.call(this)}function ha(){mxActor.call(this)}function oa(){mxEllipse.call(this)}
+this.spacing=0}function Ca(){mxArrowConnector.call(this);this.spacing=0}function Qa(){mxActor.call(this)}function Za(){mxRectangleShape.call(this)}function cb(){mxActor.call(this)}function Ja(){mxActor.call(this)}function Ua(){mxActor.call(this)}function $a(){mxActor.call(this)}function z(){mxActor.call(this)}function L(){mxActor.call(this)}function M(){mxActor.call(this)}function S(){mxActor.call(this)}function ca(){mxActor.call(this)}function ha(){mxActor.call(this)}function oa(){mxEllipse.call(this)}
function ra(){mxEllipse.call(this)}function qa(){mxEllipse.call(this)}function xa(){mxRhombus.call(this)}function Ga(){mxEllipse.call(this)}function La(){mxEllipse.call(this)}function Pa(){mxEllipse.call(this)}function Oa(){mxEllipse.call(this)}function Ta(){mxActor.call(this)}function Ma(){mxActor.call(this)}function ua(){mxActor.call(this)}function ya(c,l,x,p){mxShape.call(this);this.bounds=c;this.fill=l;this.stroke=x;this.strokewidth=null!=p?p:1;this.rectStyle="square";this.size=10;this.absoluteCornerSize=
!0;this.indent=2;this.rectOutline="single"}function Na(){mxConnector.call(this)}function Fa(c,l,x,p,v,A,B,fa,K,wa){B+=K;var ma=p.clone();p.x-=v*(2*B+K);p.y-=A*(2*B+K);v*=B+K;A*=B+K;return function(){c.ellipse(ma.x-v-B,ma.y-A-B,2*B,2*B);wa?c.fillAndStroke():c.stroke()}}mxUtils.extend(b,mxShape);b.prototype.updateBoundsFromLine=function(){var c=null;if(null!=this.line)for(var l=0;l<this.line.length;l++){var x=this.line[l];null!=x&&(x=new mxRectangle(x.x,x.y,this.strokewidth,this.strokewidth),null==
c?c=x:c.add(x))}this.bounds=null!=c?c:new mxRectangle};b.prototype.paintVertexShape=function(c,l,x,p,v){this.paintTableLine(c,this.line,0,0)};b.prototype.paintTableLine=function(c,l,x,p){if(null!=l){var v=null;c.begin();for(var A=0;A<l.length;A++){var B=l[A];null!=B&&(null==v?c.moveTo(B.x+x,B.y+p):null!=v&&c.lineTo(B.x+x,B.y+p));v=B}c.end();c.stroke()}};b.prototype.intersectsRectangle=function(c){var l=!1;if(mxShape.prototype.intersectsRectangle.apply(this,arguments)&&null!=this.line)for(var x=null,
@@ -2760,7 +2760,7 @@ za.prototype.defaultWidth=4;za.prototype.isOpenEnded=function(){return!0};za.pro
"size",this.size)));x=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(c,[new mxPoint(0,v),new mxPoint(0,l),new mxPoint(p,0),new mxPoint(p,v)],this.isRounded,x,!0);c.end()};mxCellRenderer.registerShape("manualInput",Qa);mxUtils.extend(Za,mxRectangleShape);Za.prototype.dx=20;Za.prototype.dy=20;Za.prototype.isHtmlAllowed=function(){return!1};Za.prototype.paintForeground=function(c,l,x,p,v){mxRectangleShape.prototype.paintForeground.apply(this,arguments);
var A=0;if(this.isRounded){var B=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100;A=Math.max(A,Math.min(p*B,v*B))}B=Math.max(A,Math.min(p,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));A=Math.max(A,Math.min(v,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));c.begin();c.moveTo(l,x+A);c.lineTo(l+p,x+A);c.end();c.stroke();c.begin();c.moveTo(l+B,x);c.lineTo(l+B,x+v);c.end();c.stroke()};mxCellRenderer.registerShape("internalStorage",Za);
mxUtils.extend(cb,mxActor);cb.prototype.dx=20;cb.prototype.dy=20;cb.prototype.redrawPath=function(c,l,x,p,v){l=Math.max(0,Math.min(p,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));x=Math.max(0,Math.min(v,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));parseFloat(mxUtils.getValue(this.style,"size",this.size));var A=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(c,[new mxPoint(0,0),new mxPoint(p,0),new mxPoint(p,x),new mxPoint(l,x),
-new mxPoint(l,v),new mxPoint(0,v)],this.isRounded,A,!0);c.end()};mxCellRenderer.registerShape("corner",cb);mxUtils.extend(Ka,mxActor);Ka.prototype.redrawPath=function(c,l,x,p,v){c.moveTo(0,0);c.lineTo(0,v);c.end();c.moveTo(p,0);c.lineTo(p,v);c.end();c.moveTo(0,v/2);c.lineTo(p,v/2);c.end()};mxCellRenderer.registerShape("crossbar",Ka);mxUtils.extend(Ua,mxActor);Ua.prototype.dx=20;Ua.prototype.dy=20;Ua.prototype.redrawPath=function(c,l,x,p,v){l=Math.max(0,Math.min(p,parseFloat(mxUtils.getValue(this.style,
+new mxPoint(l,v),new mxPoint(0,v)],this.isRounded,A,!0);c.end()};mxCellRenderer.registerShape("corner",cb);mxUtils.extend(Ja,mxActor);Ja.prototype.redrawPath=function(c,l,x,p,v){c.moveTo(0,0);c.lineTo(0,v);c.end();c.moveTo(p,0);c.lineTo(p,v);c.end();c.moveTo(0,v/2);c.lineTo(p,v/2);c.end()};mxCellRenderer.registerShape("crossbar",Ja);mxUtils.extend(Ua,mxActor);Ua.prototype.dx=20;Ua.prototype.dy=20;Ua.prototype.redrawPath=function(c,l,x,p,v){l=Math.max(0,Math.min(p,parseFloat(mxUtils.getValue(this.style,
"dx",this.dx))));x=Math.max(0,Math.min(v,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));parseFloat(mxUtils.getValue(this.style,"size",this.size));var A=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(c,[new mxPoint(0,0),new mxPoint(p,0),new mxPoint(p,x),new mxPoint((p+l)/2,x),new mxPoint((p+l)/2,v),new mxPoint((p-l)/2,v),new mxPoint((p-l)/2,x),new mxPoint(0,x)],this.isRounded,A,!0);c.end()};mxCellRenderer.registerShape("tee",Ua);mxUtils.extend($a,
mxActor);$a.prototype.arrowWidth=.3;$a.prototype.arrowSize=.2;$a.prototype.redrawPath=function(c,l,x,p,v){var A=v*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",this.arrowWidth))));l=p*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",this.arrowSize))));x=(v-A)/2;A=x+A;var B=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(c,[new mxPoint(0,x),new mxPoint(p-l,x),new mxPoint(p-l,0),new mxPoint(p,v/2),new mxPoint(p-
l,v),new mxPoint(p-l,A),new mxPoint(0,A)],this.isRounded,B,!0);c.end()};mxCellRenderer.registerShape("singleArrow",$a);mxUtils.extend(z,mxActor);z.prototype.redrawPath=function(c,l,x,p,v){var A=v*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",$a.prototype.arrowWidth))));l=p*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",$a.prototype.arrowSize))));x=(v-A)/2;A=x+A;var B=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/
@@ -2783,35 +2783,35 @@ defVal:2},{name:"rectOutline",dispName:"Outline",type:"enum",defVal:"single",enu
{val:"invRound",dispName:"Inv. Round"},{val:"fold",dispName:"Fold"}]},{name:"topRightStyle",dispName:"Top Right Style",type:"enum",defVal:"default",enumList:[{val:"default",dispName:"Default"},{val:"square",dispName:"Square"},{val:"rounded",dispName:"Round"},{val:"snip",dispName:"Snip"},{val:"invRound",dispName:"Inv. Round"},{val:"fold",dispName:"Fold"}]},{name:"bottomRightStyle",dispName:"Bottom Right Style",type:"enum",defVal:"default",enumList:[{val:"default",dispName:"Default"},{val:"square",
dispName:"Square"},{val:"rounded",dispName:"Round"},{val:"snip",dispName:"Snip"},{val:"invRound",dispName:"Inv. Round"},{val:"fold",dispName:"Fold"}]},{name:"bottomLeftStyle",dispName:"Bottom Left Style",type:"enum",defVal:"default",enumList:[{val:"default",dispName:"Default"},{val:"square",dispName:"Square"},{val:"rounded",dispName:"Round"},{val:"snip",dispName:"Snip"},{val:"invRound",dispName:"Inv. Round"},{val:"fold",dispName:"Fold"}]}];ya.prototype.paintVertexShape=function(c,l,x,p,v){c.translate(l,
x);this.strictDrawShape(c,0,0,p,v)};ya.prototype.strictDrawShape=function(c,l,x,p,v,A){var B=A&&A.rectStyle?A.rectStyle:mxUtils.getValue(this.style,"rectStyle",this.rectStyle),fa=A&&A.absoluteCornerSize?A.absoluteCornerSize:mxUtils.getValue(this.style,"absoluteCornerSize",this.absoluteCornerSize),K=A&&A.size?A.size:Math.max(0,Math.min(p,parseFloat(mxUtils.getValue(this.style,"size",this.size)))),wa=A&&A.rectOutline?A.rectOutline:mxUtils.getValue(this.style,"rectOutline",this.rectOutline),ma=A&&A.indent?
-A.indent:Math.max(0,Math.min(p,parseFloat(mxUtils.getValue(this.style,"indent",this.indent)))),bb=A&&A.dashed?A.dashed:mxUtils.getValue(this.style,"dashed",!1),jb=A&&A.dashPattern?A.dashPattern:mxUtils.getValue(this.style,"dashPattern",null),eb=A&&A.relIndent?A.relIndent:Math.max(0,Math.min(50,ma)),Ea=A&&A.top?A.top:mxUtils.getValue(this.style,"top",!0),Ja=A&&A.right?A.right:mxUtils.getValue(this.style,"right",!0),Ia=A&&A.bottom?A.bottom:mxUtils.getValue(this.style,"bottom",!0),Ha=A&&A.left?A.left:
+A.indent:Math.max(0,Math.min(p,parseFloat(mxUtils.getValue(this.style,"indent",this.indent)))),bb=A&&A.dashed?A.dashed:mxUtils.getValue(this.style,"dashed",!1),jb=A&&A.dashPattern?A.dashPattern:mxUtils.getValue(this.style,"dashPattern",null),eb=A&&A.relIndent?A.relIndent:Math.max(0,Math.min(50,ma)),Ea=A&&A.top?A.top:mxUtils.getValue(this.style,"top",!0),Ka=A&&A.right?A.right:mxUtils.getValue(this.style,"right",!0),Ia=A&&A.bottom?A.bottom:mxUtils.getValue(this.style,"bottom",!0),Ha=A&&A.left?A.left:
mxUtils.getValue(this.style,"left",!0),Sa=A&&A.topLeftStyle?A.topLeftStyle:mxUtils.getValue(this.style,"topLeftStyle","default"),Wa=A&&A.topRightStyle?A.topRightStyle:mxUtils.getValue(this.style,"topRightStyle","default"),Xa=A&&A.bottomRightStyle?A.bottomRightStyle:mxUtils.getValue(this.style,"bottomRightStyle","default"),ab=A&&A.bottomLeftStyle?A.bottomLeftStyle:mxUtils.getValue(this.style,"bottomLeftStyle","default"),Eb=A&&A.fillColor?A.fillColor:mxUtils.getValue(this.style,"fillColor","#ffffff");
A&&A.strokeColor||mxUtils.getValue(this.style,"strokeColor","#000000");var Fb=A&&A.strokeWidth?A.strokeWidth:mxUtils.getValue(this.style,"strokeWidth","1"),Cb=A&&A.fillColor2?A.fillColor2:mxUtils.getValue(this.style,"fillColor2","none"),Db=A&&A.gradientColor2?A.gradientColor2:mxUtils.getValue(this.style,"gradientColor2","none"),Gb=A&&A.gradientDirection2?A.gradientDirection2:mxUtils.getValue(this.style,"gradientDirection2","south"),Hb=A&&A.opacity?A.opacity:mxUtils.getValue(this.style,"opacity","100"),
-Ib=Math.max(0,Math.min(50,K));A=ya.prototype;c.setDashed(bb);jb&&""!=jb&&c.setDashPattern(jb);c.setStrokeWidth(Fb);K=Math.min(.5*v,.5*p,K);fa||(K=Ib*Math.min(p,v)/100);K=Math.min(K,.5*Math.min(p,v));fa||(ma=Math.min(eb*Math.min(p,v)/100));ma=Math.min(ma,.5*Math.min(p,v)-K);(Ea||Ja||Ia||Ha)&&"frame"!=wa&&(c.begin(),Ea?A.moveNW(c,l,x,p,v,B,Sa,K,Ha):c.moveTo(0,0),Ea&&A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ja),Ja&&A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),Ia&&
-A.paintSE(c,l,x,p,v,B,Xa,K,Ja),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),Ha&&A.paintSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),c.close(),c.fill(),c.setShadow(!1),c.setFillColor(Cb),bb=fa=Hb,"none"==Cb&&(fa=0),"none"==Db&&(bb=0),c.setGradient(Cb,Db,0,0,p,v,Gb,fa,bb),c.begin(),Ea?A.moveNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha):c.moveTo(ma,0),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),Ha&&Ia&&A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ja,Ia),Ia&&Ja&&A.paintSEInner(c,
-l,x,p,v,B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ja),Ja&&Ea&&A.paintNEInner(c,l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),Ea&&Ha&&A.paintNWInner(c,l,x,p,v,B,Sa,K,ma),c.fill(),"none"==Eb&&(c.begin(),A.paintFolds(c,l,x,p,v,B,Sa,Wa,Xa,ab,K,Ea,Ja,Ia,Ha),c.stroke()));Ea||Ja||Ia||!Ha?Ea||Ja||!Ia||Ha?!Ea&&!Ja&&Ia&&Ha?"frame"!=wa?(c.begin(),A.moveSE(c,l,x,p,v,B,Xa,K,Ja),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.paintSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),"double"==
-wa&&(A.moveNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ja,Ia)),c.stroke()):(c.begin(),A.moveSE(c,l,x,p,v,B,Xa,K,Ja),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.paintSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.lineNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ja,Ia),c.close(),
-c.fillAndStroke()):Ea||!Ja||Ia||Ha?!Ea&&Ja&&!Ia&&Ha?"frame"!=wa?(c.begin(),A.moveSW(c,l,x,p,v,B,Sa,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),"double"==wa&&(A.moveNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha)),c.stroke(),c.begin(),A.moveNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),"double"==wa&&(A.moveSEInner(c,l,x,p,v,B,Xa,K,ma,Ia),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ja)),c.stroke()):(c.begin(),A.moveSW(c,l,x,p,v,B,Sa,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,
-K,Ea),A.lineNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),c.close(),c.fillAndStroke(),c.begin(),A.moveNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.lineSEInner(c,l,x,p,v,B,Xa,K,ma,Ia),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ja),c.close(),c.fillAndStroke()):!Ea&&Ja&&Ia&&!Ha?"frame"!=wa?(c.begin(),A.moveNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.paintSE(c,l,x,p,v,B,Xa,K,Ja),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),"double"==wa&&(A.moveSWInner(c,
-l,x,p,v,B,ab,K,ma,Ha),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ja,Ia),A.paintSEInner(c,l,x,p,v,B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ja)),c.stroke()):(c.begin(),A.moveNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.paintSE(c,l,x,p,v,B,Xa,K,Ja),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.lineSWInner(c,l,x,p,v,B,ab,K,ma,Ha),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ja,Ia),A.paintSEInner(c,l,x,p,v,B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ja),c.close(),c.fillAndStroke()):!Ea&&
-Ja&&Ia&&Ha?"frame"!=wa?(c.begin(),A.moveNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.paintSE(c,l,x,p,v,B,Xa,K,Ja),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.paintSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),"double"==wa&&(A.moveNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ja,Ia),A.paintSEInner(c,l,x,p,v,B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ja)),c.stroke()):
-(c.begin(),A.moveNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.paintSE(c,l,x,p,v,B,Xa,K,Ja),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.paintSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.lineNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ja,Ia),A.paintSEInner(c,l,x,p,v,B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ja),c.close(),c.fillAndStroke()):!Ea||Ja||Ia||Ha?
-Ea&&!Ja&&!Ia&&Ha?"frame"!=wa?(c.begin(),A.moveSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ja),"double"==wa&&(A.moveNEInner(c,l,x,p,v,B,Wa,K,ma,Ja),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),A.paintNWInner(c,l,x,p,v,B,Sa,K,ma),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha)),c.stroke()):(c.begin(),A.moveSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ja),A.lineNEInner(c,
-l,x,p,v,B,Wa,K,ma,Ja),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),A.paintNWInner(c,l,x,p,v,B,Sa,K,ma),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),c.close(),c.fillAndStroke()):Ea&&!Ja&&Ia&&!Ha?"frame"!=wa?(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ja),"double"==wa&&(A.moveNEInner(c,l,x,p,v,B,Wa,K,ma,Ja),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea)),c.stroke(),c.begin(),A.moveSE(c,l,x,p,v,B,Xa,K,Ja),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),"double"==wa&&(A.moveSWInner(c,l,x,p,v,B,ab,
-K,ma,Ha),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ja,Ia)),c.stroke()):(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ja),A.lineNEInner(c,l,x,p,v,B,Wa,K,ma,Ja),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),c.close(),c.fillAndStroke(),c.begin(),A.moveSE(c,l,x,p,v,B,Xa,K,Ja),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.lineSWInner(c,l,x,p,v,B,ab,K,ma,Ha),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ja,Ia),c.close(),c.fillAndStroke()):Ea&&!Ja&&Ia&&Ha?"frame"!=wa?(c.begin(),A.moveSE(c,l,x,p,v,B,Xa,
-K,Ja),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.paintSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ja),"double"==wa&&(A.moveNEInner(c,l,x,p,v,B,Wa,K,ma,Ja),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),A.paintNWInner(c,l,x,p,v,B,Sa,K,ma),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ja,Ia)),c.stroke()):(c.begin(),A.moveSE(c,l,x,p,v,B,Xa,K,Ja),A.paintBottom(c,l,
-x,p,v,B,ab,K,Ha),A.paintSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ja),A.lineNEInner(c,l,x,p,v,B,Wa,K,ma,Ja),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),A.paintNWInner(c,l,x,p,v,B,Sa,K,ma),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ja,Ia),c.close(),c.fillAndStroke()):Ea&&Ja&&!Ia&&!Ha?"frame"!=wa?(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,
-l,x,p,v,B,Wa,K,Ja),A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),"double"==wa&&(A.moveSEInner(c,l,x,p,v,B,Xa,K,ma,Ia),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ja),A.paintNEInner(c,l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea)),c.stroke()):(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ja),A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.lineSEInner(c,l,x,p,v,B,Xa,K,ma,Ia),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ja),A.paintNEInner(c,
-l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),c.close(),c.fillAndStroke()):Ea&&Ja&&!Ia&&Ha?"frame"!=wa?(c.begin(),A.moveSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ja),A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),"double"==wa&&(A.moveSEInner(c,l,x,p,v,B,Xa,K,ma,Ia),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ja),A.paintNEInner(c,l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),A.paintNWInner(c,
-l,x,p,v,B,Sa,K,ma),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha)),c.stroke()):(c.begin(),A.moveSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ja),A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.lineSEInner(c,l,x,p,v,B,Xa,K,ma,Ia),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ja),A.paintNEInner(c,l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),A.paintNWInner(c,l,x,p,v,B,Sa,K,ma),A.paintLeftInner(c,l,x,p,
-v,B,ab,K,ma,Ia,Ha),c.close(),c.fillAndStroke()):Ea&&Ja&&Ia&&!Ha?"frame"!=wa?(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ja),A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.paintSE(c,l,x,p,v,B,Xa,K,Ja),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),"double"==wa&&(A.moveSWInner(c,l,x,p,v,B,ab,K,ma,Ha),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ja,Ia),A.paintSEInner(c,l,x,p,v,B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ja),A.paintNEInner(c,l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,
-l,x,p,v,B,Sa,K,ma,Ha,Ea)),c.stroke()):(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ja),A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.paintSE(c,l,x,p,v,B,Xa,K,Ja),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.lineSWInner(c,l,x,p,v,B,ab,K,ma,Ha),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ja,Ia),A.paintSEInner(c,l,x,p,v,B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ja),A.paintNEInner(c,l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),c.close(),c.fillAndStroke()):
-Ea&&Ja&&Ia&&Ha&&("frame"!=wa?(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ja),A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.paintSE(c,l,x,p,v,B,Xa,K,Ja),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.paintSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),c.close(),"double"==wa&&(A.moveSWInner(c,l,x,p,v,B,ab,K,ma,Ha),A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ja,Ia),A.paintSEInner(c,l,x,p,v,
-B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ja),A.paintNEInner(c,l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),A.paintNWInner(c,l,x,p,v,B,Sa,K,ma),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),c.close()),c.stroke()):(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ja),A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.paintSE(c,l,x,p,v,B,Xa,K,Ja),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.paintSW(c,l,x,p,v,B,ab,K,Ia),
-A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),c.close(),A.moveSWInner(c,l,x,p,v,B,ab,K,ma,Ha),A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ja,Ia),A.paintSEInner(c,l,x,p,v,B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ja),A.paintNEInner(c,l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),A.paintNWInner(c,l,x,p,v,B,Sa,K,ma),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),c.close(),c.fillAndStroke())):"frame"!=wa?(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,
-l,x,p,v,B,Wa,K,Ja),"double"==wa&&(A.moveNEInner(c,l,x,p,v,B,Wa,K,ma,Ja),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea)),c.stroke()):(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ja),A.lineNEInner(c,l,x,p,v,B,Wa,K,ma,Ja),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),c.close(),c.fillAndStroke()):"frame"!=wa?(c.begin(),A.moveNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),"double"==wa&&(A.moveSEInner(c,l,x,p,v,B,Xa,K,ma,Ia),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ja)),c.stroke()):
-(c.begin(),A.moveNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.lineSEInner(c,l,x,p,v,B,Xa,K,ma,Ia),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ja),c.close(),c.fillAndStroke()):"frame"!=wa?(c.begin(),A.moveSE(c,l,x,p,v,B,Xa,K,Ja),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),"double"==wa&&(A.moveSWInner(c,l,x,p,v,B,ab,K,ma,Ha),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ja,Ia)),c.stroke()):(c.begin(),A.moveSE(c,l,x,p,v,B,Xa,K,Ja),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.lineSWInner(c,l,x,p,v,B,ab,K,ma,Ha),
-A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ja,Ia),c.close(),c.fillAndStroke()):"frame"!=wa?(c.begin(),A.moveSW(c,l,x,p,v,B,Sa,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),"double"==wa&&(A.moveNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha)),c.stroke()):(c.begin(),A.moveSW(c,l,x,p,v,B,Sa,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.lineNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),c.close(),c.fillAndStroke());c.begin();A.paintFolds(c,l,x,p,v,B,Sa,Wa,
-Xa,ab,K,Ea,Ja,Ia,Ha);c.stroke()};ya.prototype.moveNW=function(c,l,x,p,v,A,B,fa,K){"square"==B||"default"==B&&"square"==A||!K?c.moveTo(0,0):c.moveTo(0,fa)};ya.prototype.moveNE=function(c,l,x,p,v,A,B,fa,K){"square"==B||"default"==B&&"square"==A||!K?c.moveTo(p,0):c.moveTo(p-fa,0)};ya.prototype.moveSE=function(c,l,x,p,v,A,B,fa,K){"square"==B||"default"==B&&"square"==A||!K?c.moveTo(p,v):c.moveTo(p,v-fa)};ya.prototype.moveSW=function(c,l,x,p,v,A,B,fa,K){"square"==B||"default"==B&&"square"==A||!K?c.moveTo(0,
+Ib=Math.max(0,Math.min(50,K));A=ya.prototype;c.setDashed(bb);jb&&""!=jb&&c.setDashPattern(jb);c.setStrokeWidth(Fb);K=Math.min(.5*v,.5*p,K);fa||(K=Ib*Math.min(p,v)/100);K=Math.min(K,.5*Math.min(p,v));fa||(ma=Math.min(eb*Math.min(p,v)/100));ma=Math.min(ma,.5*Math.min(p,v)-K);(Ea||Ka||Ia||Ha)&&"frame"!=wa&&(c.begin(),Ea?A.moveNW(c,l,x,p,v,B,Sa,K,Ha):c.moveTo(0,0),Ea&&A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ka),Ka&&A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),Ia&&
+A.paintSE(c,l,x,p,v,B,Xa,K,Ka),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),Ha&&A.paintSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),c.close(),c.fill(),c.setShadow(!1),c.setFillColor(Cb),bb=fa=Hb,"none"==Cb&&(fa=0),"none"==Db&&(bb=0),c.setGradient(Cb,Db,0,0,p,v,Gb,fa,bb),c.begin(),Ea?A.moveNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha):c.moveTo(ma,0),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),Ha&&Ia&&A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ka,Ia),Ia&&Ka&&A.paintSEInner(c,
+l,x,p,v,B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ka),Ka&&Ea&&A.paintNEInner(c,l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),Ea&&Ha&&A.paintNWInner(c,l,x,p,v,B,Sa,K,ma),c.fill(),"none"==Eb&&(c.begin(),A.paintFolds(c,l,x,p,v,B,Sa,Wa,Xa,ab,K,Ea,Ka,Ia,Ha),c.stroke()));Ea||Ka||Ia||!Ha?Ea||Ka||!Ia||Ha?!Ea&&!Ka&&Ia&&Ha?"frame"!=wa?(c.begin(),A.moveSE(c,l,x,p,v,B,Xa,K,Ka),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.paintSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),"double"==
+wa&&(A.moveNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ka,Ia)),c.stroke()):(c.begin(),A.moveSE(c,l,x,p,v,B,Xa,K,Ka),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.paintSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.lineNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ka,Ia),c.close(),
+c.fillAndStroke()):Ea||!Ka||Ia||Ha?!Ea&&Ka&&!Ia&&Ha?"frame"!=wa?(c.begin(),A.moveSW(c,l,x,p,v,B,Sa,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),"double"==wa&&(A.moveNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha)),c.stroke(),c.begin(),A.moveNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),"double"==wa&&(A.moveSEInner(c,l,x,p,v,B,Xa,K,ma,Ia),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ka)),c.stroke()):(c.begin(),A.moveSW(c,l,x,p,v,B,Sa,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,
+K,Ea),A.lineNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),c.close(),c.fillAndStroke(),c.begin(),A.moveNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.lineSEInner(c,l,x,p,v,B,Xa,K,ma,Ia),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ka),c.close(),c.fillAndStroke()):!Ea&&Ka&&Ia&&!Ha?"frame"!=wa?(c.begin(),A.moveNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.paintSE(c,l,x,p,v,B,Xa,K,Ka),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),"double"==wa&&(A.moveSWInner(c,
+l,x,p,v,B,ab,K,ma,Ha),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ka,Ia),A.paintSEInner(c,l,x,p,v,B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ka)),c.stroke()):(c.begin(),A.moveNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.paintSE(c,l,x,p,v,B,Xa,K,Ka),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.lineSWInner(c,l,x,p,v,B,ab,K,ma,Ha),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ka,Ia),A.paintSEInner(c,l,x,p,v,B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ka),c.close(),c.fillAndStroke()):!Ea&&
+Ka&&Ia&&Ha?"frame"!=wa?(c.begin(),A.moveNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.paintSE(c,l,x,p,v,B,Xa,K,Ka),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.paintSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),"double"==wa&&(A.moveNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ka,Ia),A.paintSEInner(c,l,x,p,v,B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ka)),c.stroke()):
+(c.begin(),A.moveNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.paintSE(c,l,x,p,v,B,Xa,K,Ka),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.paintSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.lineNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ka,Ia),A.paintSEInner(c,l,x,p,v,B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ka),c.close(),c.fillAndStroke()):!Ea||Ka||Ia||Ha?
+Ea&&!Ka&&!Ia&&Ha?"frame"!=wa?(c.begin(),A.moveSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ka),"double"==wa&&(A.moveNEInner(c,l,x,p,v,B,Wa,K,ma,Ka),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),A.paintNWInner(c,l,x,p,v,B,Sa,K,ma),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha)),c.stroke()):(c.begin(),A.moveSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ka),A.lineNEInner(c,
+l,x,p,v,B,Wa,K,ma,Ka),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),A.paintNWInner(c,l,x,p,v,B,Sa,K,ma),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),c.close(),c.fillAndStroke()):Ea&&!Ka&&Ia&&!Ha?"frame"!=wa?(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ka),"double"==wa&&(A.moveNEInner(c,l,x,p,v,B,Wa,K,ma,Ka),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea)),c.stroke(),c.begin(),A.moveSE(c,l,x,p,v,B,Xa,K,Ka),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),"double"==wa&&(A.moveSWInner(c,l,x,p,v,B,ab,
+K,ma,Ha),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ka,Ia)),c.stroke()):(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ka),A.lineNEInner(c,l,x,p,v,B,Wa,K,ma,Ka),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),c.close(),c.fillAndStroke(),c.begin(),A.moveSE(c,l,x,p,v,B,Xa,K,Ka),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.lineSWInner(c,l,x,p,v,B,ab,K,ma,Ha),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ka,Ia),c.close(),c.fillAndStroke()):Ea&&!Ka&&Ia&&Ha?"frame"!=wa?(c.begin(),A.moveSE(c,l,x,p,v,B,Xa,
+K,Ka),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.paintSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ka),"double"==wa&&(A.moveNEInner(c,l,x,p,v,B,Wa,K,ma,Ka),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),A.paintNWInner(c,l,x,p,v,B,Sa,K,ma),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ka,Ia)),c.stroke()):(c.begin(),A.moveSE(c,l,x,p,v,B,Xa,K,Ka),A.paintBottom(c,l,
+x,p,v,B,ab,K,Ha),A.paintSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ka),A.lineNEInner(c,l,x,p,v,B,Wa,K,ma,Ka),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),A.paintNWInner(c,l,x,p,v,B,Sa,K,ma),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ka,Ia),c.close(),c.fillAndStroke()):Ea&&Ka&&!Ia&&!Ha?"frame"!=wa?(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,
+l,x,p,v,B,Wa,K,Ka),A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),"double"==wa&&(A.moveSEInner(c,l,x,p,v,B,Xa,K,ma,Ia),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ka),A.paintNEInner(c,l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea)),c.stroke()):(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ka),A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.lineSEInner(c,l,x,p,v,B,Xa,K,ma,Ia),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ka),A.paintNEInner(c,
+l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),c.close(),c.fillAndStroke()):Ea&&Ka&&!Ia&&Ha?"frame"!=wa?(c.begin(),A.moveSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ka),A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),"double"==wa&&(A.moveSEInner(c,l,x,p,v,B,Xa,K,ma,Ia),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ka),A.paintNEInner(c,l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),A.paintNWInner(c,
+l,x,p,v,B,Sa,K,ma),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha)),c.stroke()):(c.begin(),A.moveSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ka),A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.lineSEInner(c,l,x,p,v,B,Xa,K,ma,Ia),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ka),A.paintNEInner(c,l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),A.paintNWInner(c,l,x,p,v,B,Sa,K,ma),A.paintLeftInner(c,l,x,p,
+v,B,ab,K,ma,Ia,Ha),c.close(),c.fillAndStroke()):Ea&&Ka&&Ia&&!Ha?"frame"!=wa?(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ka),A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.paintSE(c,l,x,p,v,B,Xa,K,Ka),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),"double"==wa&&(A.moveSWInner(c,l,x,p,v,B,ab,K,ma,Ha),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ka,Ia),A.paintSEInner(c,l,x,p,v,B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ka),A.paintNEInner(c,l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,
+l,x,p,v,B,Sa,K,ma,Ha,Ea)),c.stroke()):(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ka),A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.paintSE(c,l,x,p,v,B,Xa,K,Ka),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.lineSWInner(c,l,x,p,v,B,ab,K,ma,Ha),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ka,Ia),A.paintSEInner(c,l,x,p,v,B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ka),A.paintNEInner(c,l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),c.close(),c.fillAndStroke()):
+Ea&&Ka&&Ia&&Ha&&("frame"!=wa?(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ka),A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.paintSE(c,l,x,p,v,B,Xa,K,Ka),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.paintSW(c,l,x,p,v,B,ab,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),c.close(),"double"==wa&&(A.moveSWInner(c,l,x,p,v,B,ab,K,ma,Ha),A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ka,Ia),A.paintSEInner(c,l,x,p,v,
+B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ka),A.paintNEInner(c,l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),A.paintNWInner(c,l,x,p,v,B,Sa,K,ma),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),c.close()),c.stroke()):(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ka),A.paintNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.paintSE(c,l,x,p,v,B,Xa,K,Ka),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.paintSW(c,l,x,p,v,B,ab,K,Ia),
+A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),c.close(),A.moveSWInner(c,l,x,p,v,B,ab,K,ma,Ha),A.paintSWInner(c,l,x,p,v,B,ab,K,ma,Ia),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ka,Ia),A.paintSEInner(c,l,x,p,v,B,Xa,K,ma),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ka),A.paintNEInner(c,l,x,p,v,B,Wa,K,ma),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),A.paintNWInner(c,l,x,p,v,B,Sa,K,ma),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),c.close(),c.fillAndStroke())):"frame"!=wa?(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,
+l,x,p,v,B,Wa,K,Ka),"double"==wa&&(A.moveNEInner(c,l,x,p,v,B,Wa,K,ma,Ka),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea)),c.stroke()):(c.begin(),A.moveNW(c,l,x,p,v,B,Sa,K,Ha),A.paintTop(c,l,x,p,v,B,Wa,K,Ka),A.lineNEInner(c,l,x,p,v,B,Wa,K,ma,Ka),A.paintTopInner(c,l,x,p,v,B,Sa,K,ma,Ha,Ea),c.close(),c.fillAndStroke()):"frame"!=wa?(c.begin(),A.moveNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),"double"==wa&&(A.moveSEInner(c,l,x,p,v,B,Xa,K,ma,Ia),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ka)),c.stroke()):
+(c.begin(),A.moveNE(c,l,x,p,v,B,Wa,K,Ea),A.paintRight(c,l,x,p,v,B,Xa,K,Ia),A.lineSEInner(c,l,x,p,v,B,Xa,K,ma,Ia),A.paintRightInner(c,l,x,p,v,B,Wa,K,ma,Ea,Ka),c.close(),c.fillAndStroke()):"frame"!=wa?(c.begin(),A.moveSE(c,l,x,p,v,B,Xa,K,Ka),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),"double"==wa&&(A.moveSWInner(c,l,x,p,v,B,ab,K,ma,Ha),A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ka,Ia)),c.stroke()):(c.begin(),A.moveSE(c,l,x,p,v,B,Xa,K,Ka),A.paintBottom(c,l,x,p,v,B,ab,K,Ha),A.lineSWInner(c,l,x,p,v,B,ab,K,ma,Ha),
+A.paintBottomInner(c,l,x,p,v,B,Xa,K,ma,Ka,Ia),c.close(),c.fillAndStroke()):"frame"!=wa?(c.begin(),A.moveSW(c,l,x,p,v,B,Sa,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),"double"==wa&&(A.moveNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha)),c.stroke()):(c.begin(),A.moveSW(c,l,x,p,v,B,Sa,K,Ia),A.paintLeft(c,l,x,p,v,B,Sa,K,Ea),A.lineNWInner(c,l,x,p,v,B,Sa,K,ma,Ea,Ha),A.paintLeftInner(c,l,x,p,v,B,ab,K,ma,Ia,Ha),c.close(),c.fillAndStroke());c.begin();A.paintFolds(c,l,x,p,v,B,Sa,Wa,
+Xa,ab,K,Ea,Ka,Ia,Ha);c.stroke()};ya.prototype.moveNW=function(c,l,x,p,v,A,B,fa,K){"square"==B||"default"==B&&"square"==A||!K?c.moveTo(0,0):c.moveTo(0,fa)};ya.prototype.moveNE=function(c,l,x,p,v,A,B,fa,K){"square"==B||"default"==B&&"square"==A||!K?c.moveTo(p,0):c.moveTo(p-fa,0)};ya.prototype.moveSE=function(c,l,x,p,v,A,B,fa,K){"square"==B||"default"==B&&"square"==A||!K?c.moveTo(p,v):c.moveTo(p,v-fa)};ya.prototype.moveSW=function(c,l,x,p,v,A,B,fa,K){"square"==B||"default"==B&&"square"==A||!K?c.moveTo(0,
v):c.moveTo(fa,v)};ya.prototype.paintNW=function(c,l,x,p,v,A,B,fa,K){if(K)if("rounded"==B||"default"==B&&"rounded"==A||"invRound"==B||"default"==B&&"invRound"==A){l=0;if("rounded"==B||"default"==B&&"rounded"==A)l=1;c.arcTo(fa,fa,0,0,l,fa,0)}else("snip"==B||"default"==B&&"snip"==A||"fold"==B||"default"==B&&"fold"==A)&&c.lineTo(fa,0);else c.lineTo(0,0)};ya.prototype.paintTop=function(c,l,x,p,v,A,B,fa,K){"square"==B||"default"==B&&"square"==A||!K?c.lineTo(p,0):c.lineTo(p-fa,0)};ya.prototype.paintNE=
function(c,l,x,p,v,A,B,fa,K){if(K)if("rounded"==B||"default"==B&&"rounded"==A||"invRound"==B||"default"==B&&"invRound"==A){l=0;if("rounded"==B||"default"==B&&"rounded"==A)l=1;c.arcTo(fa,fa,0,0,l,p,fa)}else("snip"==B||"default"==B&&"snip"==A||"fold"==B||"default"==B&&"fold"==A)&&c.lineTo(p,fa);else c.lineTo(p,0)};ya.prototype.paintRight=function(c,l,x,p,v,A,B,fa,K){"square"==B||"default"==B&&"square"==A||!K?c.lineTo(p,v):c.lineTo(p,v-fa)};ya.prototype.paintLeft=function(c,l,x,p,v,A,B,fa,K){"square"==
B||"default"==B&&"square"==A||!K?c.lineTo(0,0):c.lineTo(0,fa)};ya.prototype.paintSE=function(c,l,x,p,v,A,B,fa,K){if(K)if("rounded"==B||"default"==B&&"rounded"==A||"invRound"==B||"default"==B&&"invRound"==A){l=0;if("rounded"==B||"default"==B&&"rounded"==A)l=1;c.arcTo(fa,fa,0,0,l,p-fa,v)}else("snip"==B||"default"==B&&"snip"==A||"fold"==B||"default"==B&&"fold"==A)&&c.lineTo(p-fa,v);else c.lineTo(p,v)};ya.prototype.paintBottom=function(c,l,x,p,v,A,B,fa,K){"square"==B||"default"==B&&"square"==A||!K?c.lineTo(0,
@@ -2877,8 +2877,8 @@ return new mxPoint(l.getCenterX(),l.y+(1-x)*l.height)},function(l,x){this.state.
n.prototype.size,!1),card:qb(.5,G.prototype.size,!0),loopLimit:qb(.5,ca.prototype.size,!0),trapezoid:Bb(.5,Y.prototype.size,Y.prototype.fixedSize),parallelogram:Bb(1,ba.prototype.size,ba.prototype.fixedSize)};Graph.createHandle=ib;Graph.handleFactory=mb;var wb=mxVertexHandler.prototype.createCustomHandles;mxVertexHandler.prototype.createCustomHandles=function(){var c=wb.apply(this,arguments);if(this.graph.isCellRotatable(this.state.cell)){var l=this.state.style.shape;null==mxCellRenderer.defaultShapes[l]&&
null==mxStencilRegistry.getStencil(l)?l=mxConstants.SHAPE_RECTANGLE:this.state.view.graph.isSwimlane(this.state.cell)&&(l=mxConstants.SHAPE_SWIMLANE);l=mb[l];null==l&&null!=this.state.shape&&this.state.shape.isRoundable()&&(l=mb[mxConstants.SHAPE_RECTANGLE]);null!=l&&(l=l(this.state),null!=l&&(c=null==c?l:c.concat(l)))}return c};mxEdgeHandler.prototype.createCustomHandles=function(){var c=this.state.style.shape;null==mxCellRenderer.defaultShapes[c]&&null==mxStencilRegistry.getStencil(c)&&(c=mxConstants.SHAPE_CONNECTOR);
c=mb[c];return null!=c?c(this.state):null}}else Graph.createHandle=function(){},Graph.handleFactory={};var rb=new mxPoint(1,0),xb=new mxPoint(1,0),zb=mxUtils.toRadians(-30);rb=mxUtils.getRotatedPoint(rb,Math.cos(zb),Math.sin(zb));var yb=mxUtils.toRadians(-150);xb=mxUtils.getRotatedPoint(xb,Math.cos(yb),Math.sin(yb));mxEdgeStyle.IsometricConnector=function(c,l,x,p,v){var A=c.view;p=null!=p&&0<p.length?p[0]:null;var B=c.absolutePoints,fa=B[0];B=B[B.length-1];null!=p&&(p=A.transformControlPoint(c,p));
-null==fa&&null!=l&&(fa=new mxPoint(l.getCenterX(),l.getCenterY()));null==B&&null!=x&&(B=new mxPoint(x.getCenterX(),x.getCenterY()));var K=rb.x,wa=rb.y,ma=xb.x,bb=xb.y,jb="horizontal"==mxUtils.getValue(c.style,"elbow","horizontal");if(null!=B&&null!=fa){c=function(Ea,Ja,Ia){Ea-=eb.x;var Ha=Ja-eb.y;Ja=(bb*Ea-ma*Ha)/(K*bb-wa*ma);Ea=(wa*Ea-K*Ha)/(wa*ma-K*bb);jb?(Ia&&(eb=new mxPoint(eb.x+K*Ja,eb.y+wa*Ja),v.push(eb)),eb=new mxPoint(eb.x+ma*Ea,eb.y+bb*Ea)):(Ia&&(eb=new mxPoint(eb.x+ma*Ea,eb.y+bb*Ea),v.push(eb)),
-eb=new mxPoint(eb.x+K*Ja,eb.y+wa*Ja));v.push(eb)};var eb=fa;null==p&&(p=new mxPoint(fa.x+(B.x-fa.x)/2,fa.y+(B.y-fa.y)/2));c(p.x,p.y,!0);c(B.x,B.y,!1)}};mxStyleRegistry.putValue("isometricEdgeStyle",mxEdgeStyle.IsometricConnector);var pb=Graph.prototype.createEdgeHandler;Graph.prototype.createEdgeHandler=function(c,l){if(l==mxEdgeStyle.IsometricConnector){var x=new mxElbowEdgeHandler(c);x.snapToTerminals=!1;return x}return pb.apply(this,arguments)};t.prototype.constraints=[];E.prototype.getConstraints=
+null==fa&&null!=l&&(fa=new mxPoint(l.getCenterX(),l.getCenterY()));null==B&&null!=x&&(B=new mxPoint(x.getCenterX(),x.getCenterY()));var K=rb.x,wa=rb.y,ma=xb.x,bb=xb.y,jb="horizontal"==mxUtils.getValue(c.style,"elbow","horizontal");if(null!=B&&null!=fa){c=function(Ea,Ka,Ia){Ea-=eb.x;var Ha=Ka-eb.y;Ka=(bb*Ea-ma*Ha)/(K*bb-wa*ma);Ea=(wa*Ea-K*Ha)/(wa*ma-K*bb);jb?(Ia&&(eb=new mxPoint(eb.x+K*Ka,eb.y+wa*Ka),v.push(eb)),eb=new mxPoint(eb.x+ma*Ea,eb.y+bb*Ea)):(Ia&&(eb=new mxPoint(eb.x+ma*Ea,eb.y+bb*Ea),v.push(eb)),
+eb=new mxPoint(eb.x+K*Ka,eb.y+wa*Ka));v.push(eb)};var eb=fa;null==p&&(p=new mxPoint(fa.x+(B.x-fa.x)/2,fa.y+(B.y-fa.y)/2));c(p.x,p.y,!0);c(B.x,B.y,!1)}};mxStyleRegistry.putValue("isometricEdgeStyle",mxEdgeStyle.IsometricConnector);var pb=Graph.prototype.createEdgeHandler;Graph.prototype.createEdgeHandler=function(c,l){if(l==mxEdgeStyle.IsometricConnector){var x=new mxElbowEdgeHandler(c);x.snapToTerminals=!1;return x}return pb.apply(this,arguments)};t.prototype.constraints=[];E.prototype.getConstraints=
function(c,l,x){c=[];var p=Math.tan(mxUtils.toRadians(30)),v=(.5-p)/2;p=Math.min(l,x/(.5+p));l=(l-p)/2;x=(x-p)/2;c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,x+.25*p));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l+.5*p,x+p*v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l+p,x+.25*p));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l+p,x+.75*p));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l+.5*p,x+(1-v)*p));c.push(new mxConnectionConstraint(new mxPoint(0,
0),!1,null,l,x+.75*p));return c};m.prototype.getConstraints=function(c,l,x){c=[];var p=Math.max(.01,Math.min(94,parseFloat(mxUtils.getValue(this.style,"isoAngle",this.isoAngle))))*Math.PI/200;p=Math.min(l*Math.tan(p),.5*x);c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,p));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,x-p));c.push(new mxConnectionConstraint(new mxPoint(.5,
1),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,x-p));c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,p));return c};ja.prototype.getConstraints=function(c,l,x){c=[];mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE);var p=Math.max(0,Math.min(x,parseFloat(mxUtils.getValue(this.style,"size",this.size))));parseFloat(mxUtils.getValue(this.style,"position",this.position));var v=l*Math.max(0,
@@ -2919,7 +2919,7 @@ qa.prototype.constraints=mxEllipse.prototype.constraints;Oa.prototype.constraint
0),!1,null,.5*(l+p),.5*(x+v)));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l+p),x));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l-p),x));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l-p),.5*(x+v)));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l-p),v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.25*l-.25*p,v));c.push(new mxConnectionConstraint(new mxPoint(0,
0),!1,null,0,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*v));return c};cb.prototype.getConstraints=function(c,l,x){c=[];var p=Math.max(0,Math.min(l,parseFloat(mxUtils.getValue(this.style,"dx",this.dx)))),v=Math.max(0,Math.min(x,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));c.push(new mxConnectionConstraint(new mxPoint(1,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,
0),!1,null,l,.5*v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l+p),v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,p,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,p,.5*(x+v)));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,p,x));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*p,x));c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,
-1),!1));return c};Ka.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,1),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.5,.5),!1),new mxConnectionConstraint(new mxPoint(.75,.5),!1),new mxConnectionConstraint(new mxPoint(1,0),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(1,1),!1)];$a.prototype.getConstraints=
+1),!1));return c};Ja.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,1),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.5,.5),!1),new mxConnectionConstraint(new mxPoint(.75,.5),!1),new mxConnectionConstraint(new mxPoint(1,0),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(1,1),!1)];$a.prototype.getConstraints=
function(c,l,x){c=[];var p=x*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",this.arrowWidth)))),v=l*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",this.arrowSize))));p=(x-p)/2;c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,p));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l-v),p));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-v,0));c.push(new mxConnectionConstraint(new mxPoint(1,
.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-v,x));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(l-v),x-p));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,x-p));return c};z.prototype.getConstraints=function(c,l,x){c=[];var p=x*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",$a.prototype.arrowWidth)))),v=l*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",$a.prototype.arrowSize))));p=(x-p)/2;c.push(new mxConnectionConstraint(new mxPoint(0,
.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,v,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*l,p));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-v,0));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,l-v,x));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*l,x-p));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,v,x));return c};Ma.prototype.getConstraints=
@@ -3195,8 +3195,8 @@ mxUtils.bind(this,function(I){this.resolvedFontCss=I;null!=u&&u()})):null!=u&&u(
Q=0;Q<I.length;Q++)mxUtils.bind(this,function(Z,na){Graph.isCssFontUrl(na)?null==this.cachedGoogleFonts[na]?(W++,this.loadUrl(na,mxUtils.bind(this,function(va){this.cachedGoogleFonts[na]=va;N.push(va+"\n");W--;T()}),mxUtils.bind(this,function(va){W--;N.push("@import url("+na+");\n");T()}))):N.push(this.cachedGoogleFonts[na]+"\n"):N.push('@font-face {font-family: "'+Z+'";src: url("'+na+'")}\n')})(I[Q].name,I[Q].url);T()}else u()};Editor.prototype.addMathCss=function(u){u=u.getElementsByTagName("defs");
if(null!=u&&0<u.length)for(var I=document.getElementsByTagName("style"),N=0;N<I.length;N++){var W=mxUtils.getTextContent(I[N]);0>W.indexOf("mxPageSelector")&&0<W.indexOf("MathJax")&&u[0].appendChild(I[N].cloneNode(!0))}};Editor.prototype.addFontCss=function(u,I){I=null!=I?I:this.absoluteCssFonts(this.fontCss);if(null!=I){var N=u.getElementsByTagName("defs"),W=u.ownerDocument;0==N.length?(N=null!=W.createElementNS?W.createElementNS(mxConstants.NS_SVG,"defs"):W.createElement("defs"),null!=u.firstChild?
u.insertBefore(N,u.firstChild):u.appendChild(N)):N=N[0];u=null!=W.createElementNS?W.createElementNS(mxConstants.NS_SVG,"style"):W.createElement("style");u.setAttribute("type","text/css");mxUtils.setTextContent(u,I);N.appendChild(u)}};Editor.prototype.isExportToCanvas=function(){return mxClient.IS_CHROMEAPP||this.useCanvasForExport};Editor.prototype.getMaxCanvasScale=function(u,I,N){var W=mxClient.IS_FF?8192:16384;return Math.min(N,Math.min(W/u,W/I))};Editor.prototype.exportToCanvas=function(u,I,N,
-W,T,Q,Z,na,va,Ba,sa,Da,Aa,za,Ca,Qa,Za,cb){try{Q=null!=Q?Q:!0;Z=null!=Z?Z:!0;Da=null!=Da?Da:this.graph;Aa=null!=Aa?Aa:0;var Ka=va?null:Da.background;Ka==mxConstants.NONE&&(Ka=null);null==Ka&&(Ka=W);null==Ka&&0==va&&(Ka=Qa?this.graph.defaultPageBackgroundColor:"#ffffff");this.convertImages(Da.getSvg(null,null,Aa,za,null,Z,null,null,null,Ba,null,Qa,Za,cb),mxUtils.bind(this,function(Ua){try{var $a=new Image;$a.onload=mxUtils.bind(this,function(){try{var L=function(){mxClient.IS_SF?window.setTimeout(function(){ha.drawImage($a,
-0,0);u(M,Ua)},0):(ha.drawImage($a,0,0),u(M,Ua))},M=document.createElement("canvas"),S=parseInt(Ua.getAttribute("width")),ca=parseInt(Ua.getAttribute("height"));na=null!=na?na:1;null!=I&&(na=Q?Math.min(1,Math.min(3*I/(4*ca),I/S)):I/S);na=this.getMaxCanvasScale(S,ca,na);S=Math.ceil(na*S);ca=Math.ceil(na*ca);M.setAttribute("width",S);M.setAttribute("height",ca);var ha=M.getContext("2d");null!=Ka&&(ha.beginPath(),ha.rect(0,0,S,ca),ha.fillStyle=Ka,ha.fill());1!=na&&ha.scale(na,na);if(Ca){var oa=Da.view,
+W,T,Q,Z,na,va,Ba,sa,Da,Aa,za,Ca,Qa,Za,cb){try{Q=null!=Q?Q:!0;Z=null!=Z?Z:!0;Da=null!=Da?Da:this.graph;Aa=null!=Aa?Aa:0;var Ja=va?null:Da.background;Ja==mxConstants.NONE&&(Ja=null);null==Ja&&(Ja=W);null==Ja&&0==va&&(Ja=Qa?this.graph.defaultPageBackgroundColor:"#ffffff");this.convertImages(Da.getSvg(null,null,Aa,za,null,Z,null,null,null,Ba,null,Qa,Za,cb),mxUtils.bind(this,function(Ua){try{var $a=new Image;$a.onload=mxUtils.bind(this,function(){try{var L=function(){mxClient.IS_SF?window.setTimeout(function(){ha.drawImage($a,
+0,0);u(M,Ua)},0):(ha.drawImage($a,0,0),u(M,Ua))},M=document.createElement("canvas"),S=parseInt(Ua.getAttribute("width")),ca=parseInt(Ua.getAttribute("height"));na=null!=na?na:1;null!=I&&(na=Q?Math.min(1,Math.min(3*I/(4*ca),I/S)):I/S);na=this.getMaxCanvasScale(S,ca,na);S=Math.ceil(na*S);ca=Math.ceil(na*ca);M.setAttribute("width",S);M.setAttribute("height",ca);var ha=M.getContext("2d");null!=Ja&&(ha.beginPath(),ha.rect(0,0,S,ca),ha.fillStyle=Ja,ha.fill());1!=na&&ha.scale(na,na);if(Ca){var oa=Da.view,
ra=oa.scale;oa.scale=1;var qa=btoa(unescape(encodeURIComponent(oa.createSvgGrid(oa.gridColor))));oa.scale=ra;qa="data:image/svg+xml;base64,"+qa;var xa=Da.gridSize*oa.gridSteps*na,Ga=Da.getGraphBounds(),La=oa.translate.x*ra,Pa=oa.translate.y*ra,Oa=La+(Ga.x-La)/ra-Aa,Ta=Pa+(Ga.y-Pa)/ra-Aa,Ma=new Image;Ma.onload=function(){try{for(var ua=-Math.round(xa-mxUtils.mod((La-Oa)*na,xa)),ya=-Math.round(xa-mxUtils.mod((Pa-Ta)*na,xa));ua<S;ua+=xa)for(var Na=ya;Na<ca;Na+=xa)ha.drawImage(Ma,ua/na,Na/na);L()}catch(Fa){null!=
T&&T(Fa)}};Ma.onerror=function(ua){null!=T&&T(ua)};Ma.src=qa}else L()}catch(ua){null!=T&&T(ua)}});$a.onerror=function(L){null!=T&&T(L)};Ba&&this.graph.addSvgShadow(Ua);this.graph.mathEnabled&&this.addMathCss(Ua);var z=mxUtils.bind(this,function(){try{null!=this.resolvedFontCss&&this.addFontCss(Ua,this.resolvedFontCss),$a.src=Editor.createSvgDataUri(mxUtils.getXml(Ua))}catch(L){null!=T&&T(L)}});this.embedExtFonts(mxUtils.bind(this,function(L){try{null!=L&&this.addFontCss(Ua,L),this.loadFonts(z)}catch(M){null!=
T&&T(M)}}))}catch(L){null!=T&&T(L)}}),N,sa)}catch(Ua){null!=T&&T(Ua)}};Editor.crcTable=[];for(var D=0;256>D;D++)for(var t=D,E=0;8>E;E++)t=1==(t&1)?3988292384^t>>>1:t>>>1,Editor.crcTable[D]=t;Editor.updateCRC=function(u,I,N,W){for(var T=0;T<W;T++)u=Editor.crcTable[(u^I.charCodeAt(N+T))&255]^u>>>8;return u};Editor.crc32=function(u){for(var I=-1,N=0;N<u.length;N++)I=I>>>8^Editor.crcTable[(I^u.charCodeAt(N))&255];return(I^-1)>>>0};Editor.writeGraphModelToPng=function(u,I,N,W,T){function Q(sa,Da){var Aa=
@@ -3247,19 +3247,19 @@ mxEvent.addListener(Oa,"click",mxUtils.bind(sa,function(){function Ma(){var ya=u
La&&"float"!=La||ra.allowAuto||(ua.type="number",ua.step="int"==La?"1":"any",null!=ra.min&&(ua.min=parseFloat(ra.min)),null!=ra.max&&(ua.max=parseFloat(ra.max)));u.appendChild(ua);mxEvent.addListener(ua,"keypress",function(ya){13==ya.keyCode&&Ma()});ua.focus();mxEvent.addListener(ua,"blur",function(){Ma()})})));ra.isDeletable&&(xa=mxUtils.button("-",mxUtils.bind(sa,function(Ma){W(ha,"",ra,ra.index);mxEvent.consume(Ma)})),xa.style.height="16px",xa.style.width="25px",xa.style.float="right",xa.className=
"geColorBtn",Oa.appendChild(xa));Pa.appendChild(Oa);return Pa}var sa=this,Da=this.editorUi.editor.graph,Aa=[];u.style.position="relative";u.style.padding="0";var za=document.createElement("table");za.className="geProperties";za.style.whiteSpace="nowrap";za.style.width="100%";var Ca=document.createElement("tr");Ca.className="gePropHeader";var Qa=document.createElement("th");Qa.className="gePropHeaderCell";var Za=document.createElement("img");Za.src=Sidebar.prototype.expandedImage;Za.style.verticalAlign=
"middle";Qa.appendChild(Za);mxUtils.write(Qa,mxResources.get("property"));Ca.style.cursor="pointer";var cb=function(){var ha=za.querySelectorAll(".gePropNonHeaderRow");if(sa.editorUi.propertiesCollapsed){Za.src=Sidebar.prototype.collapsedImage;var oa="none";for(var ra=u.childNodes.length-1;0<=ra;ra--)try{var qa=u.childNodes[ra],xa=qa.nodeName.toUpperCase();"INPUT"!=xa&&"SELECT"!=xa||u.removeChild(qa)}catch(Ga){}}else Za.src=Sidebar.prototype.expandedImage,oa="";for(ra=0;ra<ha.length;ra++)ha[ra].style.display=
-oa};mxEvent.addListener(Ca,"click",function(){sa.editorUi.propertiesCollapsed=!sa.editorUi.propertiesCollapsed;cb()});Ca.appendChild(Qa);Qa=document.createElement("th");Qa.className="gePropHeaderCell";Qa.innerHTML=mxResources.get("value");Ca.appendChild(Qa);za.appendChild(Ca);var Ka=!1,Ua=!1;Ca=null;1==N.vertices.length&&0==N.edges.length?Ca=N.vertices[0].id:0==N.vertices.length&&1==N.edges.length&&(Ca=N.edges[0].id);null!=Ca&&za.appendChild(Ba("id",mxUtils.htmlEntities(Ca),{dispName:"ID",type:"readOnly"},
+oa};mxEvent.addListener(Ca,"click",function(){sa.editorUi.propertiesCollapsed=!sa.editorUi.propertiesCollapsed;cb()});Ca.appendChild(Qa);Qa=document.createElement("th");Qa.className="gePropHeaderCell";Qa.innerHTML=mxResources.get("value");Ca.appendChild(Qa);za.appendChild(Ca);var Ja=!1,Ua=!1;Ca=null;1==N.vertices.length&&0==N.edges.length?Ca=N.vertices[0].id:0==N.vertices.length&&1==N.edges.length&&(Ca=N.edges[0].id);null!=Ca&&za.appendChild(Ba("id",mxUtils.htmlEntities(Ca),{dispName:"ID",type:"readOnly"},
!0,!1));for(var $a in I)if(Ca=I[$a],"function"!=typeof Ca.isVisible||Ca.isVisible(N,this)){var z=null!=N.style[$a]?mxUtils.htmlEntities(N.style[$a]+""):null!=Ca.getDefaultValue?Ca.getDefaultValue(N,this):Ca.defVal;if("separator"==Ca.type)Ua=!Ua;else{if("staticArr"==Ca.type)Ca.size=parseInt(N.style[Ca.sizeProperty]||I[Ca.sizeProperty].defVal)||0;else if(null!=Ca.dependentProps){var L=Ca.dependentProps,M=[],S=[];for(Qa=0;Qa<L.length;Qa++){var ca=N.style[L[Qa]];S.push(I[L[Qa]].subDefVal);M.push(null!=
-ca?ca.split(","):[])}Ca.dependentPropsDefVal=S;Ca.dependentPropsVals=M}za.appendChild(Ba($a,z,Ca,Ka,Ua));Ka=!Ka}}for(Qa=0;Qa<Aa.length;Qa++)for(Ca=Aa[Qa],I=Ca.parentRow,N=0;N<Ca.values.length;N++)$a=Ba(Ca.name,Ca.values[N],{type:Ca.type,parentRow:Ca.parentRow,isDeletable:Ca.isDeletable,index:N,defVal:Ca.defVal,countProperty:Ca.countProperty,size:Ca.size},0==N%2,Ca.flipBkg),I.parentNode.insertBefore($a,I.nextSibling),I=$a;u.appendChild(za);cb();return u};StyleFormatPanel.prototype.addStyles=function(u){function I(Ca){mxEvent.addListener(Ca,
+ca?ca.split(","):[])}Ca.dependentPropsDefVal=S;Ca.dependentPropsVals=M}za.appendChild(Ba($a,z,Ca,Ja,Ua));Ja=!Ja}}for(Qa=0;Qa<Aa.length;Qa++)for(Ca=Aa[Qa],I=Ca.parentRow,N=0;N<Ca.values.length;N++)$a=Ba(Ca.name,Ca.values[N],{type:Ca.type,parentRow:Ca.parentRow,isDeletable:Ca.isDeletable,index:N,defVal:Ca.defVal,countProperty:Ca.countProperty,size:Ca.size},0==N%2,Ca.flipBkg),I.parentNode.insertBefore($a,I.nextSibling),I=$a;u.appendChild(za);cb();return u};StyleFormatPanel.prototype.addStyles=function(u){function I(Ca){mxEvent.addListener(Ca,
"mouseenter",function(){Ca.style.opacity="1"});mxEvent.addListener(Ca,"mouseleave",function(){Ca.style.opacity="0.5"})}var N=this.editorUi,W=N.editor.graph,T=document.createElement("div");T.style.whiteSpace="nowrap";T.style.paddingLeft="24px";T.style.paddingRight="20px";u.style.paddingLeft="16px";u.style.paddingBottom="6px";u.style.position="relative";u.appendChild(T);var Q="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(" "),
Z=document.createElement("div");Z.style.whiteSpace="nowrap";Z.style.position="relative";Z.style.textAlign="center";Z.style.width="210px";for(var na=[],va=0;va<this.defaultColorSchemes.length;va++){var Ba=document.createElement("div");Ba.style.display="inline-block";Ba.style.width="6px";Ba.style.height="6px";Ba.style.marginLeft="4px";Ba.style.marginRight="3px";Ba.style.borderRadius="3px";Ba.style.cursor="pointer";Ba.style.background="transparent";Ba.style.border="1px solid #b5b6b7";mxUtils.bind(this,
function(Ca){mxEvent.addListener(Ba,"click",mxUtils.bind(this,function(){sa(Ca)}))})(va);na.push(Ba);Z.appendChild(Ba)}var sa=mxUtils.bind(this,function(Ca){null!=na[Ca]&&(null!=this.format.currentScheme&&null!=na[this.format.currentScheme]&&(na[this.format.currentScheme].style.background="transparent"),this.format.currentScheme=Ca,Da(this.defaultColorSchemes[this.format.currentScheme]),na[this.format.currentScheme].style.background="#84d7ff")}),Da=mxUtils.bind(this,function(Ca){var Qa=mxUtils.bind(this,
-function(cb){var Ka=mxUtils.button("",mxUtils.bind(this,function(z){W.getModel().beginUpdate();try{for(var L=N.getSelectionState().cells,M=0;M<L.length;M++){for(var S=W.getModel().getStyle(L[M]),ca=0;ca<Q.length;ca++)S=mxUtils.removeStylename(S,Q[ca]);var ha=W.getModel().isVertex(L[M])?W.defaultVertexStyle:W.defaultEdgeStyle;null!=cb?(mxEvent.isShiftDown(z)||(S=""==cb.fill?mxUtils.setStyle(S,mxConstants.STYLE_FILLCOLOR,null):mxUtils.setStyle(S,mxConstants.STYLE_FILLCOLOR,cb.fill||mxUtils.getValue(ha,
+function(cb){var Ja=mxUtils.button("",mxUtils.bind(this,function(z){W.getModel().beginUpdate();try{for(var L=N.getSelectionState().cells,M=0;M<L.length;M++){for(var S=W.getModel().getStyle(L[M]),ca=0;ca<Q.length;ca++)S=mxUtils.removeStylename(S,Q[ca]);var ha=W.getModel().isVertex(L[M])?W.defaultVertexStyle:W.defaultEdgeStyle;null!=cb?(mxEvent.isShiftDown(z)||(S=""==cb.fill?mxUtils.setStyle(S,mxConstants.STYLE_FILLCOLOR,null):mxUtils.setStyle(S,mxConstants.STYLE_FILLCOLOR,cb.fill||mxUtils.getValue(ha,
mxConstants.STYLE_FILLCOLOR,null)),S=mxUtils.setStyle(S,mxConstants.STYLE_GRADIENTCOLOR,cb.gradient||mxUtils.getValue(ha,mxConstants.STYLE_GRADIENTCOLOR,null)),mxEvent.isControlDown(z)||mxClient.IS_MAC&&mxEvent.isMetaDown(z)||!W.getModel().isVertex(L[M])||(S=mxUtils.setStyle(S,mxConstants.STYLE_FONTCOLOR,cb.font||mxUtils.getValue(ha,mxConstants.STYLE_FONTCOLOR,null)))),mxEvent.isAltDown(z)||(S=""==cb.stroke?mxUtils.setStyle(S,mxConstants.STYLE_STROKECOLOR,null):mxUtils.setStyle(S,mxConstants.STYLE_STROKECOLOR,
cb.stroke||mxUtils.getValue(ha,mxConstants.STYLE_STROKECOLOR,null)))):(S=mxUtils.setStyle(S,mxConstants.STYLE_FILLCOLOR,mxUtils.getValue(ha,mxConstants.STYLE_FILLCOLOR,"#ffffff")),S=mxUtils.setStyle(S,mxConstants.STYLE_STROKECOLOR,mxUtils.getValue(ha,mxConstants.STYLE_STROKECOLOR,"#000000")),S=mxUtils.setStyle(S,mxConstants.STYLE_GRADIENTCOLOR,mxUtils.getValue(ha,mxConstants.STYLE_GRADIENTCOLOR,null)),W.getModel().isVertex(L[M])&&(S=mxUtils.setStyle(S,mxConstants.STYLE_FONTCOLOR,mxUtils.getValue(ha,
-mxConstants.STYLE_FONTCOLOR,null))));W.getModel().setStyle(L[M],S)}}finally{W.getModel().endUpdate()}}));Ka.className="geStyleButton";Ka.style.width="36px";Ka.style.height=10>=this.defaultColorSchemes.length?"24px":"30px";Ka.style.margin="0px 6px 6px 0px";if(null!=cb){var Ua="1"==urlParams.sketch?"2px solid":"1px solid";null!=cb.gradient?mxClient.IS_IE&&10>document.documentMode?Ka.style.filter="progid:DXImageTransform.Microsoft.Gradient(StartColorStr='"+cb.fill+"', EndColorStr='"+cb.gradient+"', GradientType=0)":
-Ka.style.backgroundImage="linear-gradient("+cb.fill+" 0px,"+cb.gradient+" 100%)":cb.fill==mxConstants.NONE?Ka.style.background="url('"+Dialog.prototype.noColorImage+"')":Ka.style.backgroundColor=""==cb.fill?mxUtils.getValue(W.defaultVertexStyle,mxConstants.STYLE_FILLCOLOR,Editor.isDarkMode()?Editor.darkColor:"#ffffff"):cb.fill||mxUtils.getValue(W.defaultVertexStyle,mxConstants.STYLE_FILLCOLOR,Editor.isDarkMode()?Editor.darkColor:"#ffffff");Ka.style.border=cb.stroke==mxConstants.NONE?Ua+" transparent":
-""==cb.stroke?Ua+" "+mxUtils.getValue(W.defaultVertexStyle,mxConstants.STYLE_STROKECOLOR,Editor.isDarkMode()?"#ffffff":Editor.darkColor):Ua+" "+(cb.stroke||mxUtils.getValue(W.defaultVertexStyle,mxConstants.STYLE_STROKECOLOR,Editor.isDarkMode()?"#ffffff":Editor.darkColor));null!=cb.title&&Ka.setAttribute("title",cb.title)}else{Ua=mxUtils.getValue(W.defaultVertexStyle,mxConstants.STYLE_FILLCOLOR,"#ffffff");var $a=mxUtils.getValue(W.defaultVertexStyle,mxConstants.STYLE_STROKECOLOR,"#000000");Ka.style.backgroundColor=
-Ua;Ka.style.border="1px solid "+$a}Ka.style.borderRadius="0";T.appendChild(Ka)});T.innerHTML="";for(var Za=0;Za<Ca.length;Za++)0<Za&&0==mxUtils.mod(Za,4)&&mxUtils.br(T),Qa(Ca[Za])});null==this.format.currentScheme?sa(Editor.isDarkMode()?1:"1"==urlParams.sketch?5:0):sa(this.format.currentScheme);va=10>=this.defaultColorSchemes.length?28:8;var Aa=document.createElement("div");Aa.style.cssText="position:absolute;left:10px;top:8px;bottom:"+va+"px;width:20px;margin:4px;opacity:0.5;background-repeat:no-repeat;background-position:center center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQBAMAAADQT4M0AAAAIVBMVEUAAAB2dnZ4eHh3d3d1dXVxcXF2dnZ2dnZ2dnZxcXF2dnYmb3w1AAAACnRSTlMAfCTkhhvb7cQSPH2JPgAAADRJREFUCNdjwACMAmBKaiGYs2oJmLPKAZ3DabU8AMRTXpUKopislqFyVzCAuUZgikkBZjoAcMYLnp53P/UAAAAASUVORK5CYII=);";
+mxConstants.STYLE_FONTCOLOR,null))));W.getModel().setStyle(L[M],S)}}finally{W.getModel().endUpdate()}}));Ja.className="geStyleButton";Ja.style.width="36px";Ja.style.height=10>=this.defaultColorSchemes.length?"24px":"30px";Ja.style.margin="0px 6px 6px 0px";if(null!=cb){var Ua="1"==urlParams.sketch?"2px solid":"1px solid";null!=cb.gradient?mxClient.IS_IE&&10>document.documentMode?Ja.style.filter="progid:DXImageTransform.Microsoft.Gradient(StartColorStr='"+cb.fill+"', EndColorStr='"+cb.gradient+"', GradientType=0)":
+Ja.style.backgroundImage="linear-gradient("+cb.fill+" 0px,"+cb.gradient+" 100%)":cb.fill==mxConstants.NONE?Ja.style.background="url('"+Dialog.prototype.noColorImage+"')":Ja.style.backgroundColor=""==cb.fill?mxUtils.getValue(W.defaultVertexStyle,mxConstants.STYLE_FILLCOLOR,Editor.isDarkMode()?Editor.darkColor:"#ffffff"):cb.fill||mxUtils.getValue(W.defaultVertexStyle,mxConstants.STYLE_FILLCOLOR,Editor.isDarkMode()?Editor.darkColor:"#ffffff");Ja.style.border=cb.stroke==mxConstants.NONE?Ua+" transparent":
+""==cb.stroke?Ua+" "+mxUtils.getValue(W.defaultVertexStyle,mxConstants.STYLE_STROKECOLOR,Editor.isDarkMode()?"#ffffff":Editor.darkColor):Ua+" "+(cb.stroke||mxUtils.getValue(W.defaultVertexStyle,mxConstants.STYLE_STROKECOLOR,Editor.isDarkMode()?"#ffffff":Editor.darkColor));null!=cb.title&&Ja.setAttribute("title",cb.title)}else{Ua=mxUtils.getValue(W.defaultVertexStyle,mxConstants.STYLE_FILLCOLOR,"#ffffff");var $a=mxUtils.getValue(W.defaultVertexStyle,mxConstants.STYLE_STROKECOLOR,"#000000");Ja.style.backgroundColor=
+Ua;Ja.style.border="1px solid "+$a}Ja.style.borderRadius="0";T.appendChild(Ja)});T.innerHTML="";for(var Za=0;Za<Ca.length;Za++)0<Za&&0==mxUtils.mod(Za,4)&&mxUtils.br(T),Qa(Ca[Za])});null==this.format.currentScheme?sa(Editor.isDarkMode()?1:"1"==urlParams.sketch?5:0):sa(this.format.currentScheme);va=10>=this.defaultColorSchemes.length?28:8;var Aa=document.createElement("div");Aa.style.cssText="position:absolute;left:10px;top:8px;bottom:"+va+"px;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(Aa,"click",mxUtils.bind(this,function(){sa(mxUtils.mod(this.format.currentScheme-1,this.defaultColorSchemes.length))}));var za=document.createElement("div");za.style.cssText="position:absolute;left:202px;top:8px;bottom:"+va+"px;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&&(u.appendChild(Aa),u.appendChild(za));mxEvent.addListener(za,"click",mxUtils.bind(this,function(){sa(mxUtils.mod(this.format.currentScheme+1,this.defaultColorSchemes.length))}));I(Aa);I(za);Da(this.defaultColorSchemes[this.format.currentScheme]);10>=this.defaultColorSchemes.length&&u.appendChild(Z);return u};StyleFormatPanel.prototype.addEditOps=function(u){var I=this.editorUi.getSelectionState(),N=this.editorUi.editor.graph,W=null;1==I.cells.length&&(W=mxUtils.button(mxResources.get("editStyle"),
mxUtils.bind(this,function(T){this.editorUi.actions.get("editStyle").funct()})),W.setAttribute("title",mxResources.get("editStyle")+" ("+this.editorUi.actions.get("editStyle").shortcut+")"),W.style.width="210px",W.style.marginBottom="2px",u.appendChild(W));N=1==I.cells.length?N.view.getState(I.cells[0]):null;null!=N&&null!=N.shape&&null!=N.shape.stencil?(I=mxUtils.button(mxResources.get("editShape"),mxUtils.bind(this,function(T){this.editorUi.actions.get("editShape").funct()})),I.setAttribute("title",
@@ -3273,12 +3273,12 @@ urlParams.edge;Graph.prototype.hiddenTags=null;Graph.prototype.defaultMathEnable
this.getInsertPoint=function(){return null!=I?this.getPointForEvent(I):N.apply(this,arguments)};var W=this.layoutManager.getLayout;this.layoutManager.getLayout=function(T){var Q=this.graph.getCellStyle(T);if(null!=Q&&"rack"==Q.childLayout){var Z=new mxStackLayout(this.graph,!1);Z.gridSize=null!=Q.rackUnitSize?parseFloat(Q.rackUnitSize):"undefined"!==typeof mxRackContainer?mxRackContainer.unitSize:20;Z.marginLeft=Q.marginLeft||0;Z.marginRight=Q.marginRight||0;Z.marginTop=Q.marginTop||0;Z.marginBottom=
Q.marginBottom||0;Z.allowGaps=Q.allowGaps||0;Z.horizontal="1"==mxUtils.getValue(Q,"horizontalRack","0");Z.resizeParent=!1;Z.fill=!0;return Z}return W.apply(this,arguments)};this.updateGlobalUrlVariables()};var G=Graph.prototype.postProcessCellStyle;Graph.prototype.postProcessCellStyle=function(u,I){return Graph.processFontStyle(G.apply(this,arguments))};var aa=mxSvgCanvas2D.prototype.updateTextNodes;mxSvgCanvas2D.prototype.updateTextNodes=function(u,I,N,W,T,Q,Z,na,va,Ba,sa){aa.apply(this,arguments);
Graph.processFontAttributes(sa)};var da=mxText.prototype.redraw;mxText.prototype.redraw=function(){da.apply(this,arguments);null!=this.node&&"DIV"==this.node.nodeName&&Graph.processFontAttributes(this.node)};Graph.prototype.createTagsDialog=function(u,I,N){function W(){for(var Ca=Z.getSelectionCells(),Qa=[],Za=0;Za<Ca.length;Za++)Z.isCellVisible(Ca[Za])&&Qa.push(Ca[Za]);Z.setSelectionCells(Qa)}function T(Ca){Z.setHiddenTags(Ca?[]:na.slice());W();Z.refresh()}function Q(Ca,Qa){Ba.innerHTML="";if(0<
-Ca.length){var Za=document.createElement("table");Za.setAttribute("cellpadding","2");Za.style.boxSizing="border-box";Za.style.tableLayout="fixed";Za.style.width="100%";var cb=document.createElement("tbody");if(null!=Ca&&0<Ca.length)for(var Ka=0;Ka<Ca.length;Ka++)(function(Ua){var $a=0>mxUtils.indexOf(Z.hiddenTags,Ua),z=document.createElement("tr"),L=document.createElement("td");L.style.align="center";L.style.width="16px";var M=document.createElement("img");M.setAttribute("src",$a?Editor.visibleImage:
+Ca.length){var Za=document.createElement("table");Za.setAttribute("cellpadding","2");Za.style.boxSizing="border-box";Za.style.tableLayout="fixed";Za.style.width="100%";var cb=document.createElement("tbody");if(null!=Ca&&0<Ca.length)for(var Ja=0;Ja<Ca.length;Ja++)(function(Ua){var $a=0>mxUtils.indexOf(Z.hiddenTags,Ua),z=document.createElement("tr"),L=document.createElement("td");L.style.align="center";L.style.width="16px";var M=document.createElement("img");M.setAttribute("src",$a?Editor.visibleImage:
Editor.hiddenImage);M.setAttribute("title",mxResources.get($a?"hideIt":"show",[Ua]));mxUtils.setOpacity(M,$a?75:25);M.style.verticalAlign="middle";M.style.cursor="pointer";M.style.width="16px";if(I||Editor.isDarkMode())M.style.filter="invert(100%)";L.appendChild(M);mxEvent.addListener(M,"click",function(ca){mxEvent.isShiftDown(ca)?T(0<=mxUtils.indexOf(Z.hiddenTags,Ua)):(Z.toggleHiddenTag(Ua),W(),Z.refresh());mxEvent.consume(ca)});z.appendChild(L);L=document.createElement("td");L.style.overflow="hidden";
L.style.whiteSpace="nowrap";L.style.textOverflow="ellipsis";L.style.verticalAlign="middle";L.style.cursor="pointer";L.setAttribute("title",Ua);a=document.createElement("a");mxUtils.write(a,Ua);a.style.textOverflow="ellipsis";a.style.position="relative";mxUtils.setOpacity(a,$a?100:40);L.appendChild(a);mxEvent.addListener(L,"click",function(ca){if(mxEvent.isShiftDown(ca)){T(!0);var ha=Z.getCellsForTags([Ua],null,null,!0);Z.isEnabled()?Z.setSelectionCells(ha):Z.highlightCells(ha)}else if($a&&0<Z.hiddenTags.length)T(!0);
else{ha=na.slice();var oa=mxUtils.indexOf(ha,Ua);ha.splice(oa,1);Z.setHiddenTags(ha);W();Z.refresh()}mxEvent.consume(ca)});z.appendChild(L);if(Z.isEnabled()){L=document.createElement("td");L.style.verticalAlign="middle";L.style.textAlign="center";L.style.width="18px";if(null==Qa){L.style.align="center";L.style.width="16px";M=document.createElement("img");M.setAttribute("src",Editor.crossImage);M.setAttribute("title",mxResources.get("removeIt",[Ua]));mxUtils.setOpacity(M,$a?75:25);M.style.verticalAlign=
"middle";M.style.cursor="pointer";M.style.width="16px";if(I||Editor.isDarkMode())M.style.filter="invert(100%)";mxEvent.addListener(M,"click",function(ca){var ha=mxUtils.indexOf(na,Ua);0<=ha&&na.splice(ha,1);Z.removeTagsForCells(Z.model.getDescendants(Z.model.getRoot()),[Ua]);Z.refresh();mxEvent.consume(ca)});L.appendChild(M)}else{var S=document.createElement("input");S.setAttribute("type","checkbox");S.style.margin="0px";S.defaultChecked=null!=Qa&&0<=mxUtils.indexOf(Qa,Ua);S.checked=S.defaultChecked;
-S.style.background="transparent";S.setAttribute("title",mxResources.get(S.defaultChecked?"removeIt":"add",[Ua]));mxEvent.addListener(S,"change",function(ca){S.checked?Z.addTagsForCells(Z.getSelectionCells(),[Ua]):Z.removeTagsForCells(Z.getSelectionCells(),[Ua]);mxEvent.consume(ca)});L.appendChild(S)}z.appendChild(L)}cb.appendChild(z)})(Ca[Ka]);Za.appendChild(cb);Ba.appendChild(Za)}}var Z=this,na=Z.hiddenTags.slice(),va=document.createElement("div");va.style.userSelect="none";va.style.overflow="hidden";
+S.style.background="transparent";S.setAttribute("title",mxResources.get(S.defaultChecked?"removeIt":"add",[Ua]));mxEvent.addListener(S,"change",function(ca){S.checked?Z.addTagsForCells(Z.getSelectionCells(),[Ua]):Z.removeTagsForCells(Z.getSelectionCells(),[Ua]);mxEvent.consume(ca)});L.appendChild(S)}z.appendChild(L)}cb.appendChild(z)})(Ca[Ja]);Za.appendChild(cb);Ba.appendChild(Za)}}var Z=this,na=Z.hiddenTags.slice(),va=document.createElement("div");va.style.userSelect="none";va.style.overflow="hidden";
va.style.padding="10px";va.style.height="100%";var Ba=document.createElement("div");Ba.style.boxSizing="border-box";Ba.style.borderRadius="4px";Ba.style.userSelect="none";Ba.style.overflow="auto";Ba.style.position="absolute";Ba.style.left="10px";Ba.style.right="10px";Ba.style.top="10px";Ba.style.border=Z.isEnabled()?"1px solid #808080":"none";Ba.style.bottom=Z.isEnabled()?"48px":"10px";va.appendChild(Ba);var sa=mxUtils.button(mxResources.get("reset"),function(Ca){Z.setHiddenTags([]);mxEvent.isShiftDown(Ca)||
(na=Z.hiddenTags.slice());W();Z.refresh()});sa.setAttribute("title",mxResources.get("reset"));sa.className="geBtn";sa.style.margin="0 4px 0 0";var Da=mxUtils.button(mxResources.get("add"),function(){null!=N&&N(na,function(Ca){na=Ca;Aa()})});Da.setAttribute("title",mxResources.get("add"));Da.className="geBtn";Da.style.margin="0";Z.addListener(mxEvent.ROOT,function(){na=Z.hiddenTags.slice()});var Aa=mxUtils.bind(this,function(Ca,Qa){if(u()){Ca=Z.getAllTags();for(Qa=0;Qa<Ca.length;Qa++)0>mxUtils.indexOf(na,
Ca[Qa])&&na.push(Ca[Qa]);na.sort();Z.isSelectionEmpty()?Q(na):Q(na,Z.getCommonTagsForCells(Z.getSelectionCells()))}});Z.selectionModel.addListener(mxEvent.CHANGE,Aa);Z.model.addListener(mxEvent.CHANGE,Aa);Z.addListener(mxEvent.REFRESH,Aa);var za=document.createElement("div");za.style.boxSizing="border-box";za.style.whiteSpace="nowrap";za.style.position="absolute";za.style.overflow="hidden";za.style.bottom="0px";za.style.height="42px";za.style.right="10px";za.style.left="10px";Z.isEnabled()&&(za.appendChild(sa),
@@ -3286,7 +3286,7 @@ za.appendChild(Da),va.appendChild(za));return{div:va,refresh:Aa}};Graph.prototyp
u&&N[W].getAttribute("data-font-src")!=I&&N[W].setAttribute("data-font-src",I)}};var ba=Graph.prototype.isFastZoomEnabled;Graph.prototype.isFastZoomEnabled=function(){return ba.apply(this,arguments)&&(!this.shadowVisible||!mxClient.IS_SF)};Graph.prototype.updateGlobalUrlVariables=function(){this.globalVars=Editor.globalVars;if(null!=urlParams.vars)try{this.globalVars=null!=this.globalVars?mxUtils.clone(this.globalVars):{};var u=JSON.parse(decodeURIComponent(urlParams.vars));if(null!=u)for(var I in u)this.globalVars[I]=
u[I]}catch(N){null!=window.console&&console.log("Error in vars URL parameter: "+N)}};Graph.prototype.getExportVariables=function(){return null!=this.globalVars?mxUtils.clone(this.globalVars):{}};var Y=Graph.prototype.getGlobalVariable;Graph.prototype.getGlobalVariable=function(u){var I=Y.apply(this,arguments);null==I&&null!=this.globalVars&&(I=this.globalVars[u]);return I};Graph.prototype.getDefaultStylesheet=function(){if(null==this.defaultStylesheet){var u=this.themes["default-style2"];this.defaultStylesheet=
(new mxCodec(u.ownerDocument)).decode(u)}return this.defaultStylesheet};Graph.prototype.isViewer=function(){return urlParams.viewer};var pa=Graph.prototype.getSvg;Graph.prototype.getSvg=function(u,I,N,W,T,Q,Z,na,va,Ba,sa,Da,Aa,za){var Ca=null,Qa=null,Za=null;Da||null==this.themes||"darkTheme"!=this.defaultThemeName||(Ca=this.stylesheet,Qa=this.shapeForegroundColor,Za=this.shapeBackgroundColor,this.shapeForegroundColor="darkTheme"==this.defaultThemeName?"#000000":Editor.lightColor,this.shapeBackgroundColor=
-"darkTheme"==this.defaultThemeName?"#ffffff":Editor.darkColor,this.stylesheet=this.getDefaultStylesheet(),this.refresh());var cb=pa.apply(this,arguments),Ka=this.getCustomFonts();if(sa&&0<Ka.length){var Ua=cb.ownerDocument,$a=null!=Ua.createElementNS?Ua.createElementNS(mxConstants.NS_SVG,"style"):Ua.createElement("style");null!=Ua.setAttributeNS?$a.setAttributeNS("type","text/css"):$a.setAttribute("type","text/css");for(var z="",L="",M=0;M<Ka.length;M++){var S=Ka[M].name,ca=Ka[M].url;Graph.isCssFontUrl(ca)?
+"darkTheme"==this.defaultThemeName?"#ffffff":Editor.darkColor,this.stylesheet=this.getDefaultStylesheet(),this.refresh());var cb=pa.apply(this,arguments),Ja=this.getCustomFonts();if(sa&&0<Ja.length){var Ua=cb.ownerDocument,$a=null!=Ua.createElementNS?Ua.createElementNS(mxConstants.NS_SVG,"style"):Ua.createElement("style");null!=Ua.setAttributeNS?$a.setAttributeNS("type","text/css"):$a.setAttribute("type","text/css");for(var z="",L="",M=0;M<Ja.length;M++){var S=Ja[M].name,ca=Ja[M].url;Graph.isCssFontUrl(ca)?
z+="@import url("+ca+");\n":L+='@font-face {\nfont-family: "'+S+'";\nsrc: url("'+ca+'");\n}\n'}$a.appendChild(Ua.createTextNode(z+L));cb.getElementsByTagName("defs")[0].appendChild($a)}null!=Ca&&(this.shapeBackgroundColor=Za,this.shapeForegroundColor=Qa,this.stylesheet=Ca,this.refresh());return cb};var O=Graph.prototype.createSvgImageExport;Graph.prototype.createSvgImageExport=function(){var u=O.apply(this,arguments);if(this.mathEnabled){var I=u.drawText;u.drawText=function(N,W){if(null!=N.text&&
null!=N.text.value&&N.text.checkBounds()&&(mxUtils.isNode(N.text.value)||N.text.dialect==mxConstants.DIALECT_STRICTHTML)){var T=N.text.getContentNode();if(null!=T){T=T.cloneNode(!0);if(T.getElementsByTagNameNS)for(var Q=T.getElementsByTagNameNS("http://www.w3.org/1998/Math/MathML","math");0<Q.length;)Q[0].parentNode.removeChild(Q[0]);null!=T.innerHTML&&(Q=N.text.value,N.text.value=T.innerHTML,I.apply(this,arguments),N.text.value=Q)}}else I.apply(this,arguments)}}return u};var X=mxCellRenderer.prototype.destroy;
mxCellRenderer.prototype.destroy=function(u){X.apply(this,arguments);null!=u.secondLabel&&(u.secondLabel.destroy(),u.secondLabel=null)};mxCellRenderer.prototype.getShapesForState=function(u){return[u.shape,u.text,u.secondLabel,u.control]};var ea=mxGraphView.prototype.resetValidationState;mxGraphView.prototype.resetValidationState=function(){ea.apply(this,arguments);this.enumerationState=0};var ka=mxGraphView.prototype.stateValidated;mxGraphView.prototype.stateValidated=function(u){null!=u.shape&&
@@ -3348,16 +3348,16 @@ Ba.setAttribute("name","pages-printdialog");Z.appendChild(Ba);I=document.createE
I+1;Da.value=va;Aa.value=va;break}Da.setAttribute("max",na);Aa.setAttribute("max",na);u.isPagesEnabled()?1<na&&(Q.appendChild(Z),sa.checked=!0):sa.checked=!0;mxUtils.br(Z);var za=document.createElement("input");za.setAttribute("value","all");za.setAttribute("type","radio");za.style.marginRight="8px";T.isSelectionEmpty()&&za.setAttribute("disabled","disabled");var Ca=document.createElement("div");Ca.style.marginBottom="10px";1==na?(za.setAttribute("type","checkbox"),za.style.marginBottom="12px",Ca.appendChild(za)):
(za.setAttribute("name","pages-printdialog"),za.style.marginBottom="8px",Z.appendChild(za));I=document.createElement("span");mxUtils.write(I,mxResources.get("selectionOnly"));za.parentNode.appendChild(I);1==na&&mxUtils.br(za.parentNode);var Qa=document.createElement("input");Qa.style.marginRight="8px";Qa.setAttribute("value","adjust");Qa.setAttribute("type","radio");Qa.setAttribute("name","printZoom");Ca.appendChild(Qa);I=document.createElement("span");mxUtils.write(I,mxResources.get("adjustTo"));
Ca.appendChild(I);var Za=document.createElement("input");Za.style.cssText="margin:0 8px 0 8px;";Za.setAttribute("value","100 %");Za.style.width="50px";Ca.appendChild(Za);mxEvent.addListener(Za,"focus",function(){Qa.checked=!0});Q.appendChild(Ca);Z=Z.cloneNode(!1);var cb=Qa.cloneNode(!0);cb.setAttribute("value","fit");Qa.setAttribute("checked","checked");I=document.createElement("div");I.style.cssText="display:inline-block;vertical-align:top;padding-top:2px;";I.appendChild(cb);Z.appendChild(I);Ca=
-document.createElement("table");Ca.style.display="inline-block";var Ka=document.createElement("tbody"),Ua=document.createElement("tr"),$a=Ua.cloneNode(!0),z=document.createElement("td"),L=z.cloneNode(!0),M=z.cloneNode(!0),S=z.cloneNode(!0),ca=z.cloneNode(!0),ha=z.cloneNode(!0);z.style.textAlign="right";S.style.textAlign="right";mxUtils.write(z,mxResources.get("fitTo"));var oa=document.createElement("input");oa.style.cssText="margin:0 8px 0 8px;";oa.setAttribute("value","1");oa.setAttribute("min",
+document.createElement("table");Ca.style.display="inline-block";var Ja=document.createElement("tbody"),Ua=document.createElement("tr"),$a=Ua.cloneNode(!0),z=document.createElement("td"),L=z.cloneNode(!0),M=z.cloneNode(!0),S=z.cloneNode(!0),ca=z.cloneNode(!0),ha=z.cloneNode(!0);z.style.textAlign="right";S.style.textAlign="right";mxUtils.write(z,mxResources.get("fitTo"));var oa=document.createElement("input");oa.style.cssText="margin:0 8px 0 8px;";oa.setAttribute("value","1");oa.setAttribute("min",
"1");oa.setAttribute("type","number");oa.style.width="40px";L.appendChild(oa);I=document.createElement("span");mxUtils.write(I,mxResources.get("fitToSheetsAcross"));M.appendChild(I);mxUtils.write(S,mxResources.get("fitToBy"));var ra=oa.cloneNode(!0);ca.appendChild(ra);mxEvent.addListener(oa,"focus",function(){cb.checked=!0});mxEvent.addListener(ra,"focus",function(){cb.checked=!0});I=document.createElement("span");mxUtils.write(I,mxResources.get("fitToSheetsDown"));ha.appendChild(I);Ua.appendChild(z);
-Ua.appendChild(L);Ua.appendChild(M);$a.appendChild(S);$a.appendChild(ca);$a.appendChild(ha);Ka.appendChild(Ua);Ka.appendChild($a);Ca.appendChild(Ka);Z.appendChild(Ca);Q.appendChild(Z);Z=document.createElement("div");I=document.createElement("div");I.style.fontWeight="bold";I.style.marginBottom="12px";mxUtils.write(I,mxResources.get("paperSize"));Z.appendChild(I);I=document.createElement("div");I.style.marginBottom="12px";var qa=PageSetupDialog.addPageFormatPanel(I,"printdialog",u.editor.graph.pageFormat||
+Ua.appendChild(L);Ua.appendChild(M);$a.appendChild(S);$a.appendChild(ca);$a.appendChild(ha);Ja.appendChild(Ua);Ja.appendChild($a);Ca.appendChild(Ja);Z.appendChild(Ca);Q.appendChild(Z);Z=document.createElement("div");I=document.createElement("div");I.style.fontWeight="bold";I.style.marginBottom="12px";mxUtils.write(I,mxResources.get("paperSize"));Z.appendChild(I);I=document.createElement("div");I.style.marginBottom="12px";var qa=PageSetupDialog.addPageFormatPanel(I,"printdialog",u.editor.graph.pageFormat||
mxConstants.PAGE_FORMAT_A4_PORTRAIT);Z.appendChild(I);I=document.createElement("span");mxUtils.write(I,mxResources.get("pageScale"));Z.appendChild(I);var xa=document.createElement("input");xa.style.cssText="margin:0 8px 0 8px;";xa.setAttribute("value","100 %");xa.style.width="60px";Z.appendChild(xa);Q.appendChild(Z);I=document.createElement("div");I.style.cssText="text-align:right;margin:48px 0 0 0;";Z=mxUtils.button(mxResources.get("cancel"),function(){u.hideDialog()});Z.className="geBtn";u.editor.cancelFirst&&
I.appendChild(Z);u.isOffline()||(Ca=mxUtils.button(mxResources.get("help"),function(){T.openLink("https://www.diagrams.net/doc/faq/print-diagram")}),Ca.className="geBtn",I.appendChild(Ca));PrintDialog.previewEnabled&&(Ca=mxUtils.button(mxResources.get("preview"),function(){u.hideDialog();W(!1)}),Ca.className="geBtn",I.appendChild(Ca));Ca=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){u.hideDialog();W(!0)});Ca.className="geBtn gePrimaryBtn";I.appendChild(Ca);u.editor.cancelFirst||
I.appendChild(Z);Q.appendChild(I);this.container=Q};var ia=ChangePageSetup.prototype.execute;ChangePageSetup.prototype.execute=function(){null==this.page&&(this.page=this.ui.currentPage);if(this.page!=this.ui.currentPage){if(null!=this.page.viewState){this.ignoreColor||(this.page.viewState.background=this.color);if(!this.ignoreImage){var u=this.image;null!=u&&null!=u.src&&Graph.isPageLink(u.src)&&(u={originalSrc:u.src});this.page.viewState.backgroundImage=u}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)}}else ia.apply(this,arguments),null!=this.mathEnabled&&this.mathEnabled!=this.ui.isMathEnabled()&&(this.ui.setMathEnabled(this.mathEnabled),this.mathEnabled=!this.mathEnabled),null!=this.shadowVisible&&this.shadowVisible!=this.ui.editor.graph.shadowVisible&&(this.ui.editor.graph.setShadowVisible(this.shadowVisible),this.shadowVisible=
!this.shadowVisible)};Editor.prototype.useCanvasForExport=!1;try{var la=document.createElement("canvas"),ta=new Image;ta.onload=function(){try{la.getContext("2d").drawImage(ta,0,0);var u=la.toDataURL("image/png");Editor.prototype.useCanvasForExport=null!=u&&6<u.length}catch(I){}};ta.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){}})();
(function(){var b=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);b.beforeDecode=function(e,k,n){n.ui=e.ui;return k};b.afterDecode=function(e,k,n){n.previousColor=n.color;n.previousImage=n.image;n.previousFormat=n.format;null!=n.foldingEnabled&&(n.foldingEnabled=!n.foldingEnabled);null!=n.mathEnabled&&(n.mathEnabled=!n.mathEnabled);null!=n.shadowVisible&&(n.shadowVisible=!n.shadowVisible);return n};mxCodecRegistry.register(b)})();
-(function(){var b=new mxObjectCodec(new ChangeGridColor,["ui"]);b.beforeDecode=function(e,k,n){n.ui=e.ui;return k};mxCodecRegistry.register(b)})();(function(){EditorUi.VERSION="19.0.0";EditorUi.compactUi="atlas"!=uiTheme;Editor.isDarkMode()&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&"1"!=urlParams.lockdown&&(/.*\.draw\.io$/.test(window.location.hostname)||/.*\.diagrams\.net$/.test(window.location.hostname))&&"support.draw.io"!=window.location.hostname;EditorUi.drawHost=window.DRAWIO_BASE_URL;EditorUi.lightboxHost=window.DRAWIO_LIGHTBOX_URL;EditorUi.lastErrorMessage=
+(function(){var b=new mxObjectCodec(new ChangeGridColor,["ui"]);b.beforeDecode=function(e,k,n){n.ui=e.ui;return k};mxCodecRegistry.register(b)})();(function(){EditorUi.VERSION="19.0.1";EditorUi.compactUi="atlas"!=uiTheme;Editor.isDarkMode()&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&"1"!=urlParams.lockdown&&(/.*\.draw\.io$/.test(window.location.hostname)||/.*\.diagrams\.net$/.test(window.location.hostname))&&"support.draw.io"!=window.location.hostname;EditorUi.drawHost=window.DRAWIO_BASE_URL;EditorUi.lightboxHost=window.DRAWIO_LIGHTBOX_URL;EditorUi.lastErrorMessage=
null;EditorUi.ignoredAnonymizedChars="\n\t`~!@#$%^&*()_+{}|:\"<>?-=[];'./,\n\t";EditorUi.templateFile=TEMPLATE_PATH+"/index.xml";EditorUi.cacheUrl=window.REALTIME_URL;null==EditorUi.cacheUrl&&"undefined"!==typeof DrawioFile&&(DrawioFile.SYNC="none");Editor.cacheTimeout=1E4;EditorUi.enablePlantUml=EditorUi.enableLogging;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;EditorUi.nativeFileSupport=!mxClient.IS_OP&&!EditorUi.isElectronApp&&
"1"!=urlParams.extAuth&&"showSaveFilePicker"in window&&"showOpenFilePicker"in window;EditorUi.enableDrafts=!mxClient.IS_CHROMEAPP&&isLocalStorage&&"0"!=urlParams.drafts;EditorUi.scratchpadHelpLink="https://www.diagrams.net/doc/faq/scratchpad";EditorUi.enableHtmlEditOption=!0;EditorUi.defaultMermaidConfig={theme:"neutral",arrowMarkerAbsolute:!1,flowchart:{htmlLabels:!1},sequence:{diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,
mirrorActors:!0,bottomMarginAdj:1,useMaxWidth:!0,rightAngles:!1,showSequenceNumbers:!1},gantt:{titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,leftPadding:75,gridLineStartPadding:35,fontSize:11,fontFamily:'"Open-Sans", "sans-serif"',numberSectionStyles:4,axisFormat:"%Y-%m-%d"}};EditorUi.logError=function(d,f,g,m,q,y,F){y=null!=y?y:0<=d.indexOf("NetworkError")||0<=d.indexOf("SecurityError")||0<=d.indexOf("NS_ERROR_FAILURE")||0<=d.indexOf("out of memory")?"CONFIG":"SEVERE";if(EditorUi.enableLogging&&
@@ -3723,58 +3723,58 @@ EditorUi.prototype.doImportCsv=function(d,f){try{var g=d.split("\n"),m=[],q=[],y
g.length&&"#"==g[sa].charAt(0);){d=g[sa].replace(/\r$/,"");for(sa++;sa<g.length&&"\\"==d.charAt(d.length-1)&&"#"==g[sa].charAt(0);)d=d.substring(0,d.length-1)+mxUtils.trim(g[sa].substring(1)),sa++;if("#"!=d.charAt(1)){var Da=d.indexOf(":");if(0<Da){var Aa=mxUtils.trim(d.substring(1,Da)),za=mxUtils.trim(d.substring(Da+1));"label"==Aa?Q=H.sanitizeHtml(za):"labelname"==Aa&&0<za.length&&"-"!=za?Y=za:"labels"==Aa&&0<za.length&&"-"!=za?O=JSON.parse(za):"style"==Aa?aa=za:"parentstyle"==Aa?X=za:"unknownStyle"==
Aa&&"-"!=za?pa=za:"stylename"==Aa&&0<za.length&&"-"!=za?ba=za:"styles"==Aa&&0<za.length&&"-"!=za?da=JSON.parse(za):"vars"==Aa&&0<za.length&&"-"!=za?G=JSON.parse(za):"identity"==Aa&&0<za.length&&"-"!=za?ea=za:"parent"==Aa&&0<za.length&&"-"!=za?ka=za:"namespace"==Aa&&0<za.length&&"-"!=za?ja=za:"width"==Aa?U=za:"height"==Aa?J=za:"collapsed"==Aa&&"-"!=za?V="true"==za:"left"==Aa&&0<za.length?P=za:"top"==Aa&&0<za.length?R=za:"ignore"==Aa?Ba=za.split(","):"connect"==Aa?na.push(JSON.parse(za)):"link"==Aa?
va=za:"padding"==Aa?u=parseFloat(za):"edgespacing"==Aa?ia=parseFloat(za):"nodespacing"==Aa?la=parseFloat(za):"levelspacing"==Aa?ta=parseFloat(za):"layout"==Aa&&(Z=za)}}}if(null==g[sa])throw Error(mxResources.get("invalidOrMissingFile"));var Ca=this.editor.csvToArray(g[sa].replace(/\r$/,""));Da=d=null;Aa=[];for(za=0;za<Ca.length;za++)ea==Ca[za]&&(d=za),ka==Ca[za]&&(Da=za),Aa.push(mxUtils.trim(Ca[za]).replace(/[^a-z0-9]+/ig,"_").replace(/^\d+/,"").replace(/_+$/,""));null==Q&&(Q="%"+Aa[0]+"%");if(null!=
-na)for(var Qa=0;Qa<na.length;Qa++)null==C[na[Qa].to]&&(C[na[Qa].to]={});ea=[];for(za=sa+1;za<g.length;za++){var Za=this.editor.csvToArray(g[za].replace(/\r$/,""));if(null==Za){var cb=40<g[za].length?g[za].substring(0,40)+"...":g[za];throw Error(cb+" ("+za+"):\n"+mxResources.get("containsValidationErrors"));}0<Za.length&&ea.push(Za)}H.model.beginUpdate();try{for(za=0;za<ea.length;za++){Za=ea[za];var Ka=null,Ua=null!=d?ja+Za[d]:null;null!=Ua&&(Ka=H.model.getCell(Ua));var $a=new mxCell(Q,new mxGeometry(W,
-N,0,0),aa||"whiteSpace=wrap;html=1;");$a.collapsed=V;$a.vertex=!0;$a.id=Ua;null!=Ka&&H.model.setCollapsed(Ka,V);for(var z=0;z<Za.length;z++)H.setAttributeForCell($a,Aa[z],Za[z]),null!=Ka&&H.setAttributeForCell(Ka,Aa[z],Za[z]);if(null!=Y&&null!=O){var L=O[$a.getAttribute(Y)];null!=L&&(H.labelChanged($a,L),null!=Ka&&H.cellLabelChanged(Ka,L))}if(null!=ba&&null!=da){var M=da[$a.getAttribute(ba)];null!=M&&($a.style=M)}H.setAttributeForCell($a,"placeholders","1");$a.style=H.replacePlaceholders($a,$a.style,
-G);null!=Ka?(H.model.setStyle(Ka,$a.style),0>mxUtils.indexOf(y,Ka)&&y.push(Ka),H.fireEvent(new mxEventObject("cellsInserted","cells",[Ka]))):H.fireEvent(new mxEventObject("cellsInserted","cells",[$a]));g=null!=Ka;Ka=$a;if(!g)for(Qa=0;Qa<na.length;Qa++)C[na[Qa].to][Ka.getAttribute(na[Qa].to)]=Ka;null!=va&&"link"!=va&&(H.setLinkForCell(Ka,Ka.getAttribute(va)),H.setAttributeForCell(Ka,va,null));var S=this.editor.graph.getPreferredSizeForCell(Ka);ka=null!=Da?H.model.getCell(ja+Za[Da]):null;if(Ka.vertex){cb=
-null!=ka?0:W;sa=null!=ka?0:T;null!=P&&null!=Ka.getAttribute(P)&&(Ka.geometry.x=cb+parseFloat(Ka.getAttribute(P)));null!=R&&null!=Ka.getAttribute(R)&&(Ka.geometry.y=sa+parseFloat(Ka.getAttribute(R)));var ca="@"==U.charAt(0)?Ka.getAttribute(U.substring(1)):null;Ka.geometry.width=null!=ca&&"auto"!=ca?parseFloat(Ka.getAttribute(U.substring(1))):"auto"==U||"auto"==ca?S.width+u:parseFloat(U);var ha="@"==J.charAt(0)?Ka.getAttribute(J.substring(1)):null;Ka.geometry.height=null!=ha&&"auto"!=ha?parseFloat(ha):
-"auto"==J||"auto"==ha?S.height+u:parseFloat(J);N+=Ka.geometry.height+la}g?(null==F[Ua]&&(F[Ua]=[]),F[Ua].push(Ka)):(m.push(Ka),null!=ka?(ka.style=H.replacePlaceholders(ka,X,G),H.addCell(Ka,ka),q.push(ka)):y.push(H.addCell(Ka)))}for(za=0;za<q.length;za++)ca="@"==U.charAt(0)?q[za].getAttribute(U.substring(1)):null,ha="@"==J.charAt(0)?q[za].getAttribute(J.substring(1)):null,"auto"!=U&&"auto"!=ca||"auto"!=J&&"auto"!=ha||H.updateGroupBounds([q[za]],u,!0);var oa=y.slice(),ra=y.slice();for(Qa=0;Qa<na.length;Qa++){var qa=
-na[Qa];for(za=0;za<m.length;za++){Ka=m[za];var xa=mxUtils.bind(this,function(db,Va,fb){var kb=Va.getAttribute(fb.from);if(null!=kb&&""!=kb){kb=kb.split(",");for(var ub=0;ub<kb.length;ub++){var nb=C[fb.to][kb[ub]];if(null==nb&&null!=pa){nb=new mxCell(kb[ub],new mxGeometry(W,T,0,0),pa);nb.style=H.replacePlaceholders(Va,nb.style,G);var Ya=this.editor.graph.getPreferredSizeForCell(nb);nb.geometry.width=Ya.width+u;nb.geometry.height=Ya.height+u;C[fb.to][kb[ub]]=nb;nb.vertex=!0;nb.id=kb[ub];y.push(H.addCell(nb))}if(null!=
-nb){Ya=fb.label;null!=fb.fromlabel&&(Ya=(Va.getAttribute(fb.fromlabel)||"")+(Ya||""));null!=fb.sourcelabel&&(Ya=H.replacePlaceholders(Va,fb.sourcelabel,G)+(Ya||""));null!=fb.tolabel&&(Ya=(Ya||"")+(nb.getAttribute(fb.tolabel)||""));null!=fb.targetlabel&&(Ya=(Ya||"")+H.replacePlaceholders(nb,fb.targetlabel,G));var gb="target"==fb.placeholders==!fb.invert?nb:db;gb=null!=fb.style?H.replacePlaceholders(gb,fb.style,G):H.createCurrentEdgeStyle();Ya=H.insertEdge(null,null,Ya||"",fb.invert?nb:db,fb.invert?
-db:nb,gb);if(null!=fb.labels)for(gb=0;gb<fb.labels.length;gb++){var hb=fb.labels[gb],ob=new mxCell(hb.label||gb,new mxGeometry(null!=hb.x?hb.x:0,null!=hb.y?hb.y:0,0,0),"resizable=0;html=1;");ob.vertex=!0;ob.connectable=!1;ob.geometry.relative=!0;null!=hb.placeholders&&(ob.value=H.replacePlaceholders("target"==hb.placeholders==!fb.invert?nb:db,ob.value,G));if(null!=hb.dx||null!=hb.dy)ob.geometry.offset=new mxPoint(null!=hb.dx?hb.dx:0,null!=hb.dy?hb.dy:0);Ya.insert(ob)}ra.push(Ya);mxUtils.remove(fb.invert?
-db:nb,oa)}}}});xa(Ka,Ka,qa);if(null!=F[Ka.id])for(z=0;z<F[Ka.id].length;z++)xa(Ka,F[Ka.id][z],qa)}}if(null!=Ba)for(za=0;za<m.length;za++)for(Ka=m[za],z=0;z<Ba.length;z++)H.setAttributeForCell(Ka,mxUtils.trim(Ba[z]),null);if(0<y.length){var Ga=new mxParallelEdgeLayout(H);Ga.spacing=ia;Ga.checkOverlap=!0;var La=function(){0<Ga.spacing&&Ga.execute(H.getDefaultParent());for(var db=0;db<y.length;db++){var Va=H.getCellGeometry(y[db]);Va.x=Math.round(H.snap(Va.x));Va.y=Math.round(H.snap(Va.y));"auto"==U&&
-(Va.width=Math.round(H.snap(Va.width)));"auto"==J&&(Va.height=Math.round(H.snap(Va.height)))}};if("["==Z.charAt(0)){var Pa=I;H.view.validate();this.executeLayouts(H.createLayouts(JSON.parse(Z)),function(){La();Pa()});I=null}else if("circle"==Z){var Oa=new mxCircleLayout(H);Oa.disableEdgeStyle=!1;Oa.resetEdges=!1;var Ta=Oa.isVertexIgnored;Oa.isVertexIgnored=function(db){return Ta.apply(this,arguments)||0>mxUtils.indexOf(y,db)};this.executeLayout(function(){Oa.execute(H.getDefaultParent());La()},!0,
-I);I=null}else if("horizontaltree"==Z||"verticaltree"==Z||"auto"==Z&&ra.length==2*y.length-1&&1==oa.length){H.view.validate();var Ma=new mxCompactTreeLayout(H,"horizontaltree"==Z);Ma.levelDistance=la;Ma.edgeRouting=!1;Ma.resetEdges=!1;this.executeLayout(function(){Ma.execute(H.getDefaultParent(),0<oa.length?oa[0]:null)},!0,I);I=null}else if("horizontalflow"==Z||"verticalflow"==Z||"auto"==Z&&1==oa.length){H.view.validate();var ua=new mxHierarchicalLayout(H,"horizontalflow"==Z?mxConstants.DIRECTION_WEST:
-mxConstants.DIRECTION_NORTH);ua.intraCellSpacing=la;ua.parallelEdgeSpacing=ia;ua.interRankCellSpacing=ta;ua.disableEdgeStyle=!1;this.executeLayout(function(){ua.execute(H.getDefaultParent(),ra);H.moveCells(ra,W,T)},!0,I);I=null}else if("orgchart"==Z){H.view.validate();var ya=new mxOrgChartLayout(H,2,ta,la),Na=ya.isVertexIgnored;ya.isVertexIgnored=function(db){return Na.apply(this,arguments)||0>mxUtils.indexOf(y,db)};this.executeLayout(function(){ya.execute(H.getDefaultParent());La()},!0,I);I=null}else if("organic"==
-Z||"auto"==Z&&ra.length>y.length){H.view.validate();var Fa=new mxFastOrganicLayout(H);Fa.forceConstant=3*la;Fa.disableEdgeStyle=!1;Fa.resetEdges=!1;var Ra=Fa.isVertexIgnored;Fa.isVertexIgnored=function(db){return Ra.apply(this,arguments)||0>mxUtils.indexOf(y,db)};this.executeLayout(function(){Fa.execute(H.getDefaultParent());La()},!0,I);I=null}}this.hideDialog()}finally{H.model.endUpdate()}null!=I&&I()}}catch(db){this.handleError(db)}};EditorUi.prototype.getSearch=function(d){var f="";if("1"!=urlParams.offline&&
-"1"!=urlParams.demo&&null!=d&&0<window.location.search.length){var g="?",m;for(m in urlParams)0>mxUtils.indexOf(d,m)&&null!=urlParams[m]&&(f+=g+m+"="+urlParams[m],g="&")}else f=window.location.search;return f};EditorUi.prototype.getUrl=function(d){d=null!=d?d:window.location.pathname;var f=0<d.indexOf("?")?1:0;if("1"==urlParams.offline)d+=window.location.search;else{var g="tmp libs clibs state fileId code share notitle data url embed client create title splash".split(" "),m;for(m in urlParams)0>mxUtils.indexOf(g,
-m)&&(d=0==f?d+"?":d+"&",null!=urlParams[m]&&(d+=m+"="+urlParams[m],f++))}return d};EditorUi.prototype.showLinkDialog=function(d,f,g,m,q){d=new LinkDialog(this,d,f,g,!0,m,q);this.showDialog(d.container,560,130,!0,!0);d.init()};EditorUi.prototype.getServiceCount=function(d){var f=1;null==this.drive&&"function"!==typeof window.DriveClient||f++;null==this.dropbox&&"function"!==typeof window.DropboxClient||f++;null==this.oneDrive&&"function"!==typeof window.OneDriveClient||f++;null!=this.gitHub&&f++;null!=
-this.gitLab&&f++;d&&isLocalStorage&&"1"==urlParams.browser&&f++;return f};EditorUi.prototype.updateUi=function(){this.updateButtonContainer();this.updateActionStates();var d=this.getCurrentFile(),f=null!=d||"1"==urlParams.embed&&this.editor.graph.isEnabled();this.menus.get("viewPanels").setEnabled(f);this.menus.get("viewZoom").setEnabled(f);var g=("1"!=urlParams.embed||!this.editor.graph.isEnabled())&&(null==d||d.isRestricted());this.actions.get("makeCopy").setEnabled(!g);this.actions.get("print").setEnabled(!g);
-this.menus.get("exportAs").setEnabled(!g);this.menus.get("embed").setEnabled(!g);g="1"!=urlParams.embed||this.editor.graph.isEnabled();this.menus.get("extras").setEnabled(g);Editor.enableCustomLibraries&&(this.menus.get("openLibraryFrom").setEnabled(g),this.menus.get("newLibrary").setEnabled(g));d="1"==urlParams.embed&&this.editor.graph.isEnabled()||null!=d&&d.isEditable();this.actions.get("image").setEnabled(f);this.actions.get("zoomIn").setEnabled(f);this.actions.get("zoomOut").setEnabled(f);this.actions.get("resetView").setEnabled(f);
-this.actions.get("undo").setEnabled(this.canUndo()&&d);this.actions.get("redo").setEnabled(this.canRedo()&&d);this.menus.get("edit").setEnabled(f);this.menus.get("view").setEnabled(f);this.menus.get("importFrom").setEnabled(d);this.menus.get("arrange").setEnabled(d);null!=this.toolbar&&(null!=this.toolbar.edgeShapeMenu&&this.toolbar.edgeShapeMenu.setEnabled(d),null!=this.toolbar.edgeStyleMenu&&this.toolbar.edgeStyleMenu.setEnabled(d));this.updateUserElement()};EditorUi.prototype.updateButtonContainer=
-function(){};EditorUi.prototype.updateUserElement=function(){};EditorUi.prototype.scheduleSanityCheck=function(){};EditorUi.prototype.stopSanityCheck=function(){};EditorUi.prototype.isDiagramActive=function(){var d=this.getCurrentFile();return null!=d&&d.isEditable()||"1"==urlParams.embed&&this.editor.graph.isEnabled()};var t=EditorUi.prototype.updateActionStates;EditorUi.prototype.updateActionStates=function(){t.apply(this,arguments);var d=this.editor.graph,f=this.getCurrentFile(),g=this.getSelectionState(),
-m=this.isDiagramActive();this.actions.get("pageSetup").setEnabled(m);this.actions.get("autosave").setEnabled(null!=f&&f.isEditable()&&f.isAutosaveOptional());this.actions.get("guides").setEnabled(m);this.actions.get("editData").setEnabled(d.isEnabled());this.actions.get("shadowVisible").setEnabled(m);this.actions.get("connectionArrows").setEnabled(m);this.actions.get("connectionPoints").setEnabled(m);this.actions.get("copyStyle").setEnabled(m&&!d.isSelectionEmpty());this.actions.get("pasteStyle").setEnabled(m&&
-0<g.cells.length);this.actions.get("editGeometry").setEnabled(0<g.vertices.length);this.actions.get("createShape").setEnabled(m);this.actions.get("createRevision").setEnabled(m);this.actions.get("moveToFolder").setEnabled(null!=f);this.actions.get("makeCopy").setEnabled(null!=f&&!f.isRestricted());this.actions.get("editDiagram").setEnabled(m&&(null==f||!f.isRestricted()));this.actions.get("publishLink").setEnabled(null!=f&&!f.isRestricted());this.actions.get("tags").setEnabled("hidden"!=this.diagramContainer.style.visibility);
-this.actions.get("layers").setEnabled("hidden"!=this.diagramContainer.style.visibility);this.actions.get("outline").setEnabled("hidden"!=this.diagramContainer.style.visibility);this.actions.get("rename").setEnabled(null!=f&&f.isRenamable()||"1"==urlParams.embed);this.actions.get("close").setEnabled(null!=f);this.menus.get("publish").setEnabled(null!=f&&!f.isRestricted());f=this.actions.get("findReplace");f.setEnabled("hidden"!=this.diagramContainer.style.visibility);f.label=mxResources.get("find")+
-(d.isEnabled()?"/"+mxResources.get("replace"):"")+"...";d=d.view.getState(d.getSelectionCell());this.actions.get("editShape").setEnabled(m&&null!=d&&null!=d.shape&&null!=d.shape.stencil)};var E=EditorUi.prototype.destroy;EditorUi.prototype.destroy=function(){null!=this.exportDialog&&(this.exportDialog.parentNode.removeChild(this.exportDialog),this.exportDialog=null);E.apply(this,arguments)};null!=window.ExportDialog&&(ExportDialog.showXmlOption=!1,ExportDialog.showGifOption=!1,ExportDialog.exportFile=
-function(d,f,g,m,q,y,F,C){var H=d.editor.graph;if("xml"==g)d.hideDialog(),d.saveData(f,"xml",mxUtils.getXml(d.editor.getGraphXml()),"text/xml");else if("svg"==g)d.hideDialog(),d.saveData(f,"svg",mxUtils.getXml(H.getSvg(m,q,y)),"image/svg+xml");else{var G=d.getFileData(!0,null,null,null,null,!0),aa=H.getGraphBounds(),da=Math.floor(aa.width*q/H.view.scale),ba=Math.floor(aa.height*q/H.view.scale);if(G.length<=MAX_REQUEST_SIZE&&da*ba<MAX_AREA)if(d.hideDialog(),"png"!=g&&"jpg"!=g&&"jpeg"!=g||!d.isExportToCanvas()){var Y=
-{globalVars:H.getExportVariables()};C&&(Y.grid={size:H.gridSize,steps:H.view.gridSteps,color:H.view.gridColor});d.saveRequest(f,g,function(pa,O){return new mxXmlRequest(EXPORT_URL,"format="+g+"&base64="+(O||"0")+(null!=pa?"&filename="+encodeURIComponent(pa):"")+"&extras="+encodeURIComponent(JSON.stringify(Y))+(0<F?"&dpi="+F:"")+"&bg="+(null!=m?m:"none")+"&w="+da+"&h="+ba+"&border="+y+"&xml="+encodeURIComponent(G))})}else"png"==g?d.exportImage(q,null==m||"none"==m,!0,!1,!1,y,!0,!1,null,C,F):d.exportImage(q,
-!1,!0,!1,!1,y,!0,!1,"jpeg",C);else mxUtils.alert(mxResources.get("drawingTooLarge"))}});EditorUi.prototype.getDiagramTextContent=function(){this.editor.graph.setEnabled(!1);var d=this.editor.graph,f="";if(null!=this.pages)for(var g=0;g<this.pages.length;g++){var m=d;this.currentPage!=this.pages[g]&&(m=this.createTemporaryGraph(d.getStylesheet()),this.updatePageRoot(this.pages[g]),m.model.setRoot(this.pages[g].root));f+=this.pages[g].getName()+" "+m.getIndexableText()+" "}else f=d.getIndexableText();
-this.editor.graph.setEnabled(!0);return f};EditorUi.prototype.showRemotelyStoredLibrary=function(d){var f={},g=document.createElement("div");g.style.whiteSpace="nowrap";var m=document.createElement("h3");mxUtils.write(m,mxUtils.htmlEntities(d));m.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";g.appendChild(m);var q=document.createElement("div");q.style.cssText="border:1px solid lightGray;overflow: auto;height:300px";q.innerHTML='<div style="text-align:center;padding:8px;"><img src="'+
-IMAGE_PATH+'/spin.gif"></div>';var y={};try{var F=mxSettings.getCustomLibraries();for(d=0;d<F.length;d++){var C=F[d];if("R"==C.substring(0,1)){var H=JSON.parse(decodeURIComponent(C.substring(1)));y[H[0]]={id:H[0],title:H[1],downloadUrl:H[2]}}}}catch(G){}this.remoteInvoke("getCustomLibraries",null,null,function(G){q.innerHTML="";if(0==G.length)q.innerHTML='<div style="text-align:center;padding-top:20px;color:gray;">'+mxUtils.htmlEntities(mxResources.get("noLibraries"))+"</div>";else for(var aa=0;aa<
-G.length;aa++){var da=G[aa];y[da.id]&&(f[da.id]=da);var ba=this.addCheckbox(q,da.title,y[da.id]);(function(Y,pa){mxEvent.addListener(pa,"change",function(){this.checked?f[Y.id]=Y:delete f[Y.id]})})(da,ba)}},mxUtils.bind(this,function(G){q.innerHTML="";var aa=document.createElement("div");aa.style.padding="8px";aa.style.textAlign="center";mxUtils.write(aa,mxResources.get("error")+": ");mxUtils.write(aa,null!=G&&null!=G.message?G.message:mxResources.get("unknownError"));q.appendChild(aa)}));g.appendChild(q);
-g=new CustomDialog(this,g,mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("loading"));var G=0,aa;for(aa in f)null==y[aa]&&(G++,mxUtils.bind(this,function(da){this.remoteInvoke("getFileContent",[da.downloadUrl],null,mxUtils.bind(this,function(ba){G--;0==G&&this.spinner.stop();try{this.loadLibrary(new RemoteLibrary(this,ba,da))}catch(Y){this.handleError(Y,mxResources.get("errorLoadingFile"))}}),mxUtils.bind(this,function(){G--;0==G&&this.spinner.stop();this.handleError(null,
-mxResources.get("errorLoadingFile"))}))})(f[aa]));for(aa in y)f[aa]||this.closeLibrary(new RemoteLibrary(this,null,y[aa]));0==G&&this.spinner.stop()}),null,null,"https://www.diagrams.net/doc/faq/custom-libraries-confluence-cloud");this.showDialog(g.container,340,390,!0,!0,null,null,null,null,!0)};EditorUi.prototype.remoteInvokableFns={getDiagramTextContent:{isAsync:!1},getLocalStorageFile:{isAsync:!1,allowedDomains:["app.diagrams.net"]},getLocalStorageFileNames:{isAsync:!1,allowedDomains:["app.diagrams.net"]},
-setMigratedFlag:{isAsync:!1,allowedDomains:["app.diagrams.net"]}};EditorUi.prototype.remoteInvokeCallbacks=[];EditorUi.prototype.remoteInvokeQueue=[];EditorUi.prototype.handleRemoteInvokeReady=function(d){this.remoteWin=d;for(var f=0;f<this.remoteInvokeQueue.length;f++)d.postMessage(this.remoteInvokeQueue[f],"*");this.remoteInvokeQueue=[]};EditorUi.prototype.handleRemoteInvokeResponse=function(d){var f=d.msgMarkers,g=this.remoteInvokeCallbacks[f.callbackId];if(null==g)throw Error("No callback for "+
-(null!=f?f.callbackId:"null"));d.error?g.error&&g.error(d.error.errResp):g.callback&&g.callback.apply(this,d.resp);this.remoteInvokeCallbacks[f.callbackId]=null};EditorUi.prototype.remoteInvoke=function(d,f,g,m,q){var y=!0,F=window.setTimeout(mxUtils.bind(this,function(){y=!1;q({code:App.ERROR_TIMEOUT,message:mxResources.get("timeout")})}),this.timeout),C=mxUtils.bind(this,function(){window.clearTimeout(F);y&&m.apply(this,arguments)}),H=mxUtils.bind(this,function(){window.clearTimeout(F);y&&q.apply(this,
-arguments)});g=g||{};g.callbackId=this.remoteInvokeCallbacks.length;this.remoteInvokeCallbacks.push({callback:C,error:H});d=JSON.stringify({event:"remoteInvoke",funtionName:d,functionArgs:f,msgMarkers:g});null!=this.remoteWin?this.remoteWin.postMessage(d,"*"):this.remoteInvokeQueue.push(d)};EditorUi.prototype.handleRemoteInvoke=function(d,f){var g=mxUtils.bind(this,function(G,aa){var da={event:"remoteInvokeResponse",msgMarkers:d.msgMarkers};null!=aa?da.error={errResp:aa}:null!=G&&(da.resp=G);this.remoteWin.postMessage(JSON.stringify(da),
-"*")});try{var m=d.funtionName,q=this.remoteInvokableFns[m];if(null!=q&&"function"===typeof this[m]){if(q.allowedDomains){for(var y=!1,F=0;F<q.allowedDomains.length;F++)if(f=="https://"+q.allowedDomains[F]){y=!0;break}if(!y){g(null,"Invalid Call: "+m+" is not allowed.");return}}var C=d.functionArgs;Array.isArray(C)||(C=[]);if(q.isAsync)C.push(function(){g(Array.prototype.slice.apply(arguments))}),C.push(function(G){g(null,G||"Unkown Error")}),this[m].apply(this,C);else{var H=this[m].apply(this,C);
-g([H])}}else g(null,"Invalid Call: "+m+" is not found.")}catch(G){g(null,"Invalid Call: An error occurred, "+G.message)}};EditorUi.prototype.openDatabase=function(d,f){if(null==this.database){var g=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB;if(null!=g)try{var m=g.open("database",2);m.onupgradeneeded=function(q){try{var y=m.result;1>q.oldVersion&&y.createObjectStore("objects",{keyPath:"key"});2>q.oldVersion&&(y.createObjectStore("files",{keyPath:"title"}),y.createObjectStore("filesInfo",
-{keyPath:"title"}),EditorUi.migrateStorageFiles=isLocalStorage)}catch(F){null!=f&&f(F)}};m.onsuccess=mxUtils.bind(this,function(q){var y=m.result;this.database=y;EditorUi.migrateStorageFiles&&(StorageFile.migrate(y),EditorUi.migrateStorageFiles=!1);"app.diagrams.net"!=location.host||this.drawioMigrationStarted||(this.drawioMigrationStarted=!0,this.getDatabaseItem(".drawioMigrated3",mxUtils.bind(this,function(F){if(!F||"1"==urlParams.forceMigration){var C=document.createElement("iframe");C.style.display=
-"none";C.setAttribute("src","https://www.draw.io?embed=1&proto=json&forceMigration="+urlParams.forceMigration);document.body.appendChild(C);var H=!0,G=!1,aa,da=0,ba=mxUtils.bind(this,function(){G=!0;this.setDatabaseItem(".drawioMigrated3",!0);C.contentWindow.postMessage(JSON.stringify({action:"remoteInvoke",funtionName:"setMigratedFlag"}),"*")}),Y=mxUtils.bind(this,function(){da++;pa()}),pa=mxUtils.bind(this,function(){try{if(da>=aa.length)ba();else{var X=aa[da];StorageFile.getFileContent(this,X,
-mxUtils.bind(this,function(ea){null==ea||".scratchpad"==X&&ea==this.emptyLibraryXml?C.contentWindow.postMessage(JSON.stringify({action:"remoteInvoke",funtionName:"getLocalStorageFile",functionArgs:[X]}),"*"):Y()}),Y)}}catch(ea){console.log(ea)}}),O=mxUtils.bind(this,function(X){try{this.setDatabaseItem(null,[{title:X.title,size:X.data.length,lastModified:Date.now(),type:X.isLib?"L":"F"},{title:X.title,data:X.data}],Y,Y,["filesInfo","files"])}catch(ea){console.log(ea)}});F=mxUtils.bind(this,function(X){try{if(X.source==
-C.contentWindow){var ea={};try{ea=JSON.parse(X.data)}catch(ka){}"init"==ea.event?(C.contentWindow.postMessage(JSON.stringify({action:"remoteInvokeReady"}),"*"),C.contentWindow.postMessage(JSON.stringify({action:"remoteInvoke",funtionName:"getLocalStorageFileNames"}),"*")):"remoteInvokeResponse"!=ea.event||G||(H?null!=ea.resp&&0<ea.resp.length&&null!=ea.resp[0]?(aa=ea.resp[0],H=!1,pa()):ba():null!=ea.resp&&0<ea.resp.length&&null!=ea.resp[0]?O(ea.resp[0]):Y())}}catch(ka){console.log(ka)}});window.addEventListener("message",
-F)}})));d(y);y.onversionchange=function(){y.close()}});m.onerror=f;m.onblocked=function(){}}catch(q){null!=f&&f(q)}else null!=f&&f()}else d(this.database)};EditorUi.prototype.setDatabaseItem=function(d,f,g,m,q){this.openDatabase(mxUtils.bind(this,function(y){try{q=q||"objects";Array.isArray(q)||(q=[q],d=[d],f=[f]);var F=y.transaction(q,"readwrite");F.oncomplete=g;F.onerror=m;for(y=0;y<q.length;y++)F.objectStore(q[y]).put(null!=d&&null!=d[y]?{key:d[y],data:f[y]}:f[y])}catch(C){null!=m&&m(C)}}),m)};
-EditorUi.prototype.removeDatabaseItem=function(d,f,g,m){this.openDatabase(mxUtils.bind(this,function(q){m=m||"objects";Array.isArray(m)||(m=[m],d=[d]);q=q.transaction(m,"readwrite");q.oncomplete=f;q.onerror=g;for(var y=0;y<m.length;y++)q.objectStore(m[y]).delete(d[y])}),g)};EditorUi.prototype.getDatabaseItem=function(d,f,g,m){this.openDatabase(mxUtils.bind(this,function(q){try{m=m||"objects";var y=q.transaction([m],"readonly").objectStore(m).get(d);y.onsuccess=function(){f(y.result)};y.onerror=g}catch(F){null!=
-g&&g(F)}}),g)};EditorUi.prototype.getDatabaseItems=function(d,f,g){this.openDatabase(mxUtils.bind(this,function(m){try{g=g||"objects";var q=m.transaction([g],"readonly").objectStore(g).openCursor(IDBKeyRange.lowerBound(0)),y=[];q.onsuccess=function(F){null==F.target.result?d(y):(y.push(F.target.result.value),F.target.result.continue())};q.onerror=f}catch(F){null!=f&&f(F)}}),f)};EditorUi.prototype.getDatabaseItemKeys=function(d,f,g){this.openDatabase(mxUtils.bind(this,function(m){try{g=g||"objects";
-var q=m.transaction([g],"readonly").objectStore(g).getAllKeys();q.onsuccess=function(){d(q.result)};q.onerror=f}catch(y){null!=f&&f(y)}}),f)};EditorUi.prototype.commentsSupported=function(){var d=this.getCurrentFile();return null!=d?d.commentsSupported():!1};EditorUi.prototype.commentsRefreshNeeded=function(){var d=this.getCurrentFile();return null!=d?d.commentsRefreshNeeded():!0};EditorUi.prototype.commentsSaveNeeded=function(){var d=this.getCurrentFile();return null!=d?d.commentsSaveNeeded():!1};
-EditorUi.prototype.getComments=function(d,f){var g=this.getCurrentFile();null!=g?g.getComments(d,f):d([])};EditorUi.prototype.addComment=function(d,f,g){var m=this.getCurrentFile();null!=m?m.addComment(d,f,g):f(Date.now())};EditorUi.prototype.canReplyToReplies=function(){var d=this.getCurrentFile();return null!=d?d.canReplyToReplies():!0};EditorUi.prototype.canComment=function(){var d=this.getCurrentFile();return null!=d?d.canComment():!0};EditorUi.prototype.newComment=function(d,f){var g=this.getCurrentFile();
-return null!=g?g.newComment(d,f):new DrawioComment(this,null,d,Date.now(),Date.now(),!1,f)};EditorUi.prototype.isRevisionHistorySupported=function(){var d=this.getCurrentFile();return null!=d&&d.isRevisionHistorySupported()};EditorUi.prototype.getRevisions=function(d,f){var g=this.getCurrentFile();null!=g&&g.getRevisions?g.getRevisions(d,f):f({message:mxResources.get("unknownError")})};EditorUi.prototype.isRevisionHistoryEnabled=function(){var d=this.getCurrentFile();return null!=d&&(d.constructor==
-DriveFile&&d.isEditable()||d.constructor==DropboxFile)};EditorUi.prototype.getServiceName=function(){return"draw.io"};EditorUi.prototype.addRemoteServiceSecurityCheck=function(d){d.setRequestHeader("Content-Language","da, mi, en, de-DE")};EditorUi.prototype.loadUrl=function(d,f,g,m,q,y,F,C){EditorUi.logEvent("SHOULD NOT BE CALLED: loadUrl");return this.editor.loadUrl(d,f,g,m,q,y,F,C)};EditorUi.prototype.loadFonts=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: loadFonts");return this.editor.loadFonts(d)};
-EditorUi.prototype.createSvgDataUri=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: createSvgDataUri");return Editor.createSvgDataUri(d)};EditorUi.prototype.embedCssFonts=function(d,f){EditorUi.logEvent("SHOULD NOT BE CALLED: embedCssFonts");return this.editor.embedCssFonts(d,f)};EditorUi.prototype.embedExtFonts=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: embedExtFonts");return this.editor.embedExtFonts(d)};EditorUi.prototype.exportToCanvas=function(d,f,g,m,q,y,F,C,H,G,aa,da,ba,Y,pa,
-O){EditorUi.logEvent("SHOULD NOT BE CALLED: exportToCanvas");return this.editor.exportToCanvas(d,f,g,m,q,y,F,C,H,G,aa,da,ba,Y,pa,O)};EditorUi.prototype.createImageUrlConverter=function(){EditorUi.logEvent("SHOULD NOT BE CALLED: createImageUrlConverter");return this.editor.createImageUrlConverter()};EditorUi.prototype.convertImages=function(d,f,g,m){EditorUi.logEvent("SHOULD NOT BE CALLED: convertImages");return this.editor.convertImages(d,f,g,m)};EditorUi.prototype.convertImageToDataUri=function(d,
-f){EditorUi.logEvent("SHOULD NOT BE CALLED: convertImageToDataUri");return this.editor.convertImageToDataUri(d,f)};EditorUi.prototype.base64Encode=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: base64Encode");return Editor.base64Encode(d)};EditorUi.prototype.updateCRC=function(d,f,g,m){EditorUi.logEvent("SHOULD NOT BE CALLED: updateCRC");return Editor.updateCRC(d,f,g,m)};EditorUi.prototype.crc32=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: crc32");return Editor.crc32(d)};EditorUi.prototype.writeGraphModelToPng=
-function(d,f,g,m,q){EditorUi.logEvent("SHOULD NOT BE CALLED: writeGraphModelToPng");return Editor.writeGraphModelToPng(d,f,g,m,q)};EditorUi.prototype.getLocalStorageFileNames=function(){if("1"==localStorage.getItem(".localStorageMigrated")&&"1"!=urlParams.forceMigration)return null;for(var d=[],f=0;f<localStorage.length;f++){var g=localStorage.key(f),m=localStorage.getItem(g);if(0<g.length&&(".scratchpad"==g||"."!=g.charAt(0))&&0<m.length){var q="<mxfile "===m.substring(0,8)||"<?xml"===m.substring(0,
-5)||"\x3c!--[if IE]>"===m.substring(0,12);m="<mxlibrary>"===m.substring(0,11);(q||m)&&d.push(g)}}return d};EditorUi.prototype.getLocalStorageFile=function(d){if("1"==localStorage.getItem(".localStorageMigrated")&&"1"!=urlParams.forceMigration)return null;var f=localStorage.getItem(d);return{title:d,data:f,isLib:"<mxlibrary>"===f.substring(0,11)}};EditorUi.prototype.setMigratedFlag=function(){localStorage.setItem(".localStorageMigrated","1")}})();
+na)for(var Qa=0;Qa<na.length;Qa++)null==C[na[Qa].to]&&(C[na[Qa].to]={});ea=[];for(za=sa+1;za<g.length;za++){var Za=this.editor.csvToArray(g[za].replace(/\r$/,""));if(null==Za){var cb=40<g[za].length?g[za].substring(0,40)+"...":g[za];throw Error(cb+" ("+za+"):\n"+mxResources.get("containsValidationErrors"));}0<Za.length&&ea.push(Za)}H.model.beginUpdate();try{for(za=0;za<ea.length;za++){Za=ea[za];var Ja=null,Ua=null!=d?ja+Za[d]:null;g=!1;null!=Ua&&(Ja=H.model.getCell(Ua),g=null==Ja||0<=mxUtils.indexOf(m,
+Ja));var $a=new mxCell(Q,new mxGeometry(W,N,0,0),aa||"whiteSpace=wrap;html=1;");$a.collapsed=V;$a.vertex=!0;$a.id=Ua;null==Ja||g||H.model.setCollapsed(Ja,V);for(var z=0;z<Za.length;z++)H.setAttributeForCell($a,Aa[z],Za[z]),null==Ja||g||H.setAttributeForCell(Ja,Aa[z],Za[z]);if(null!=Y&&null!=O){var L=O[$a.getAttribute(Y)];null!=L&&(H.labelChanged($a,L),null==Ja||g||H.cellLabelChanged(Ja,L))}if(null!=ba&&null!=da){var M=da[$a.getAttribute(ba)];null!=M&&($a.style=M)}H.setAttributeForCell($a,"placeholders",
+"1");$a.style=H.replacePlaceholders($a,$a.style,G);null!=Ja?(H.model.setStyle(Ja,$a.style),0>mxUtils.indexOf(y,Ja)&&y.push(Ja),H.fireEvent(new mxEventObject("cellsInserted","cells",[Ja]))):H.fireEvent(new mxEventObject("cellsInserted","cells",[$a]));g=null!=Ja;Ja=$a;if(!g)for(Qa=0;Qa<na.length;Qa++)C[na[Qa].to][Ja.getAttribute(na[Qa].to)]=Ja;null!=va&&"link"!=va&&(H.setLinkForCell(Ja,Ja.getAttribute(va)),H.setAttributeForCell(Ja,va,null));var S=this.editor.graph.getPreferredSizeForCell(Ja);ka=null!=
+Da?H.model.getCell(ja+Za[Da]):null;if(Ja.vertex){cb=null!=ka?0:W;sa=null!=ka?0:T;null!=P&&null!=Ja.getAttribute(P)&&(Ja.geometry.x=cb+parseFloat(Ja.getAttribute(P)));null!=R&&null!=Ja.getAttribute(R)&&(Ja.geometry.y=sa+parseFloat(Ja.getAttribute(R)));var ca="@"==U.charAt(0)?Ja.getAttribute(U.substring(1)):null;Ja.geometry.width=null!=ca&&"auto"!=ca?parseFloat(Ja.getAttribute(U.substring(1))):"auto"==U||"auto"==ca?S.width+u:parseFloat(U);var ha="@"==J.charAt(0)?Ja.getAttribute(J.substring(1)):null;
+Ja.geometry.height=null!=ha&&"auto"!=ha?parseFloat(ha):"auto"==J||"auto"==ha?S.height+u:parseFloat(J);N+=Ja.geometry.height+la}g?(null==F[Ua]&&(F[Ua]=[]),F[Ua].push(Ja)):(m.push(Ja),null!=ka?(ka.style=H.replacePlaceholders(ka,X,G),H.addCell(Ja,ka),q.push(ka)):y.push(H.addCell(Ja)))}for(za=0;za<q.length;za++)ca="@"==U.charAt(0)?q[za].getAttribute(U.substring(1)):null,ha="@"==J.charAt(0)?q[za].getAttribute(J.substring(1)):null,"auto"!=U&&"auto"!=ca||"auto"!=J&&"auto"!=ha||H.updateGroupBounds([q[za]],
+u,!0);var oa=y.slice(),ra=y.slice();for(Qa=0;Qa<na.length;Qa++){var qa=na[Qa];for(za=0;za<m.length;za++){Ja=m[za];var xa=mxUtils.bind(this,function(db,Va,fb){var kb=Va.getAttribute(fb.from);if(null!=kb&&""!=kb){kb=kb.split(",");for(var ub=0;ub<kb.length;ub++){var nb=C[fb.to][kb[ub]];if(null==nb&&null!=pa){nb=new mxCell(kb[ub],new mxGeometry(W,T,0,0),pa);nb.style=H.replacePlaceholders(Va,nb.style,G);var Ya=this.editor.graph.getPreferredSizeForCell(nb);nb.geometry.width=Ya.width+u;nb.geometry.height=
+Ya.height+u;C[fb.to][kb[ub]]=nb;nb.vertex=!0;nb.id=kb[ub];y.push(H.addCell(nb))}if(null!=nb){Ya=fb.label;null!=fb.fromlabel&&(Ya=(Va.getAttribute(fb.fromlabel)||"")+(Ya||""));null!=fb.sourcelabel&&(Ya=H.replacePlaceholders(Va,fb.sourcelabel,G)+(Ya||""));null!=fb.tolabel&&(Ya=(Ya||"")+(nb.getAttribute(fb.tolabel)||""));null!=fb.targetlabel&&(Ya=(Ya||"")+H.replacePlaceholders(nb,fb.targetlabel,G));var gb="target"==fb.placeholders==!fb.invert?nb:db;gb=null!=fb.style?H.replacePlaceholders(gb,fb.style,
+G):H.createCurrentEdgeStyle();Ya=H.insertEdge(null,null,Ya||"",fb.invert?nb:db,fb.invert?db:nb,gb);if(null!=fb.labels)for(gb=0;gb<fb.labels.length;gb++){var hb=fb.labels[gb],ob=new mxCell(hb.label||gb,new mxGeometry(null!=hb.x?hb.x:0,null!=hb.y?hb.y:0,0,0),"resizable=0;html=1;");ob.vertex=!0;ob.connectable=!1;ob.geometry.relative=!0;null!=hb.placeholders&&(ob.value=H.replacePlaceholders("target"==hb.placeholders==!fb.invert?nb:db,ob.value,G));if(null!=hb.dx||null!=hb.dy)ob.geometry.offset=new mxPoint(null!=
+hb.dx?hb.dx:0,null!=hb.dy?hb.dy:0);Ya.insert(ob)}ra.push(Ya);mxUtils.remove(fb.invert?db:nb,oa)}}}});xa(Ja,Ja,qa);if(null!=F[Ja.id])for(z=0;z<F[Ja.id].length;z++)xa(Ja,F[Ja.id][z],qa)}}if(null!=Ba)for(za=0;za<m.length;za++)for(Ja=m[za],z=0;z<Ba.length;z++)H.setAttributeForCell(Ja,mxUtils.trim(Ba[z]),null);if(0<y.length){var Ga=new mxParallelEdgeLayout(H);Ga.spacing=ia;Ga.checkOverlap=!0;var La=function(){0<Ga.spacing&&Ga.execute(H.getDefaultParent());for(var db=0;db<y.length;db++){var Va=H.getCellGeometry(y[db]);
+Va.x=Math.round(H.snap(Va.x));Va.y=Math.round(H.snap(Va.y));"auto"==U&&(Va.width=Math.round(H.snap(Va.width)));"auto"==J&&(Va.height=Math.round(H.snap(Va.height)))}};if("["==Z.charAt(0)){var Pa=I;H.view.validate();this.executeLayouts(H.createLayouts(JSON.parse(Z)),function(){La();Pa()});I=null}else if("circle"==Z){var Oa=new mxCircleLayout(H);Oa.disableEdgeStyle=!1;Oa.resetEdges=!1;var Ta=Oa.isVertexIgnored;Oa.isVertexIgnored=function(db){return Ta.apply(this,arguments)||0>mxUtils.indexOf(y,db)};
+this.executeLayout(function(){Oa.execute(H.getDefaultParent());La()},!0,I);I=null}else if("horizontaltree"==Z||"verticaltree"==Z||"auto"==Z&&ra.length==2*y.length-1&&1==oa.length){H.view.validate();var Ma=new mxCompactTreeLayout(H,"horizontaltree"==Z);Ma.levelDistance=la;Ma.edgeRouting=!1;Ma.resetEdges=!1;this.executeLayout(function(){Ma.execute(H.getDefaultParent(),0<oa.length?oa[0]:null)},!0,I);I=null}else if("horizontalflow"==Z||"verticalflow"==Z||"auto"==Z&&1==oa.length){H.view.validate();var ua=
+new mxHierarchicalLayout(H,"horizontalflow"==Z?mxConstants.DIRECTION_WEST:mxConstants.DIRECTION_NORTH);ua.intraCellSpacing=la;ua.parallelEdgeSpacing=ia;ua.interRankCellSpacing=ta;ua.disableEdgeStyle=!1;this.executeLayout(function(){ua.execute(H.getDefaultParent(),ra);H.moveCells(ra,W,T)},!0,I);I=null}else if("orgchart"==Z){H.view.validate();var ya=new mxOrgChartLayout(H,2,ta,la),Na=ya.isVertexIgnored;ya.isVertexIgnored=function(db){return Na.apply(this,arguments)||0>mxUtils.indexOf(y,db)};this.executeLayout(function(){ya.execute(H.getDefaultParent());
+La()},!0,I);I=null}else if("organic"==Z||"auto"==Z&&ra.length>y.length){H.view.validate();var Fa=new mxFastOrganicLayout(H);Fa.forceConstant=3*la;Fa.disableEdgeStyle=!1;Fa.resetEdges=!1;var Ra=Fa.isVertexIgnored;Fa.isVertexIgnored=function(db){return Ra.apply(this,arguments)||0>mxUtils.indexOf(y,db)};this.executeLayout(function(){Fa.execute(H.getDefaultParent());La()},!0,I);I=null}}this.hideDialog()}finally{H.model.endUpdate()}null!=I&&I()}}catch(db){this.handleError(db)}};EditorUi.prototype.getSearch=
+function(d){var f="";if("1"!=urlParams.offline&&"1"!=urlParams.demo&&null!=d&&0<window.location.search.length){var g="?",m;for(m in urlParams)0>mxUtils.indexOf(d,m)&&null!=urlParams[m]&&(f+=g+m+"="+urlParams[m],g="&")}else f=window.location.search;return f};EditorUi.prototype.getUrl=function(d){d=null!=d?d:window.location.pathname;var f=0<d.indexOf("?")?1:0;if("1"==urlParams.offline)d+=window.location.search;else{var g="tmp libs clibs state fileId code share notitle data url embed client create title splash".split(" "),
+m;for(m in urlParams)0>mxUtils.indexOf(g,m)&&(d=0==f?d+"?":d+"&",null!=urlParams[m]&&(d+=m+"="+urlParams[m],f++))}return d};EditorUi.prototype.showLinkDialog=function(d,f,g,m,q){d=new LinkDialog(this,d,f,g,!0,m,q);this.showDialog(d.container,560,130,!0,!0);d.init()};EditorUi.prototype.getServiceCount=function(d){var f=1;null==this.drive&&"function"!==typeof window.DriveClient||f++;null==this.dropbox&&"function"!==typeof window.DropboxClient||f++;null==this.oneDrive&&"function"!==typeof window.OneDriveClient||
+f++;null!=this.gitHub&&f++;null!=this.gitLab&&f++;d&&isLocalStorage&&"1"==urlParams.browser&&f++;return f};EditorUi.prototype.updateUi=function(){this.updateButtonContainer();this.updateActionStates();var d=this.getCurrentFile(),f=null!=d||"1"==urlParams.embed&&this.editor.graph.isEnabled();this.menus.get("viewPanels").setEnabled(f);this.menus.get("viewZoom").setEnabled(f);var g=("1"!=urlParams.embed||!this.editor.graph.isEnabled())&&(null==d||d.isRestricted());this.actions.get("makeCopy").setEnabled(!g);
+this.actions.get("print").setEnabled(!g);this.menus.get("exportAs").setEnabled(!g);this.menus.get("embed").setEnabled(!g);g="1"!=urlParams.embed||this.editor.graph.isEnabled();this.menus.get("extras").setEnabled(g);Editor.enableCustomLibraries&&(this.menus.get("openLibraryFrom").setEnabled(g),this.menus.get("newLibrary").setEnabled(g));d="1"==urlParams.embed&&this.editor.graph.isEnabled()||null!=d&&d.isEditable();this.actions.get("image").setEnabled(f);this.actions.get("zoomIn").setEnabled(f);this.actions.get("zoomOut").setEnabled(f);
+this.actions.get("resetView").setEnabled(f);this.actions.get("undo").setEnabled(this.canUndo()&&d);this.actions.get("redo").setEnabled(this.canRedo()&&d);this.menus.get("edit").setEnabled(f);this.menus.get("view").setEnabled(f);this.menus.get("importFrom").setEnabled(d);this.menus.get("arrange").setEnabled(d);null!=this.toolbar&&(null!=this.toolbar.edgeShapeMenu&&this.toolbar.edgeShapeMenu.setEnabled(d),null!=this.toolbar.edgeStyleMenu&&this.toolbar.edgeStyleMenu.setEnabled(d));this.updateUserElement()};
+EditorUi.prototype.updateButtonContainer=function(){};EditorUi.prototype.updateUserElement=function(){};EditorUi.prototype.scheduleSanityCheck=function(){};EditorUi.prototype.stopSanityCheck=function(){};EditorUi.prototype.isDiagramActive=function(){var d=this.getCurrentFile();return null!=d&&d.isEditable()||"1"==urlParams.embed&&this.editor.graph.isEnabled()};var t=EditorUi.prototype.updateActionStates;EditorUi.prototype.updateActionStates=function(){t.apply(this,arguments);var d=this.editor.graph,
+f=this.getCurrentFile(),g=this.getSelectionState(),m=this.isDiagramActive();this.actions.get("pageSetup").setEnabled(m);this.actions.get("autosave").setEnabled(null!=f&&f.isEditable()&&f.isAutosaveOptional());this.actions.get("guides").setEnabled(m);this.actions.get("editData").setEnabled(d.isEnabled());this.actions.get("shadowVisible").setEnabled(m);this.actions.get("connectionArrows").setEnabled(m);this.actions.get("connectionPoints").setEnabled(m);this.actions.get("copyStyle").setEnabled(m&&!d.isSelectionEmpty());
+this.actions.get("pasteStyle").setEnabled(m&&0<g.cells.length);this.actions.get("editGeometry").setEnabled(0<g.vertices.length);this.actions.get("createShape").setEnabled(m);this.actions.get("createRevision").setEnabled(m);this.actions.get("moveToFolder").setEnabled(null!=f);this.actions.get("makeCopy").setEnabled(null!=f&&!f.isRestricted());this.actions.get("editDiagram").setEnabled(m&&(null==f||!f.isRestricted()));this.actions.get("publishLink").setEnabled(null!=f&&!f.isRestricted());this.actions.get("tags").setEnabled("hidden"!=
+this.diagramContainer.style.visibility);this.actions.get("layers").setEnabled("hidden"!=this.diagramContainer.style.visibility);this.actions.get("outline").setEnabled("hidden"!=this.diagramContainer.style.visibility);this.actions.get("rename").setEnabled(null!=f&&f.isRenamable()||"1"==urlParams.embed);this.actions.get("close").setEnabled(null!=f);this.menus.get("publish").setEnabled(null!=f&&!f.isRestricted());f=this.actions.get("findReplace");f.setEnabled("hidden"!=this.diagramContainer.style.visibility);
+f.label=mxResources.get("find")+(d.isEnabled()?"/"+mxResources.get("replace"):"")+"...";d=d.view.getState(d.getSelectionCell());this.actions.get("editShape").setEnabled(m&&null!=d&&null!=d.shape&&null!=d.shape.stencil)};var E=EditorUi.prototype.destroy;EditorUi.prototype.destroy=function(){null!=this.exportDialog&&(this.exportDialog.parentNode.removeChild(this.exportDialog),this.exportDialog=null);E.apply(this,arguments)};null!=window.ExportDialog&&(ExportDialog.showXmlOption=!1,ExportDialog.showGifOption=
+!1,ExportDialog.exportFile=function(d,f,g,m,q,y,F,C){var H=d.editor.graph;if("xml"==g)d.hideDialog(),d.saveData(f,"xml",mxUtils.getXml(d.editor.getGraphXml()),"text/xml");else if("svg"==g)d.hideDialog(),d.saveData(f,"svg",mxUtils.getXml(H.getSvg(m,q,y)),"image/svg+xml");else{var G=d.getFileData(!0,null,null,null,null,!0),aa=H.getGraphBounds(),da=Math.floor(aa.width*q/H.view.scale),ba=Math.floor(aa.height*q/H.view.scale);if(G.length<=MAX_REQUEST_SIZE&&da*ba<MAX_AREA)if(d.hideDialog(),"png"!=g&&"jpg"!=
+g&&"jpeg"!=g||!d.isExportToCanvas()){var Y={globalVars:H.getExportVariables()};C&&(Y.grid={size:H.gridSize,steps:H.view.gridSteps,color:H.view.gridColor});d.saveRequest(f,g,function(pa,O){return new mxXmlRequest(EXPORT_URL,"format="+g+"&base64="+(O||"0")+(null!=pa?"&filename="+encodeURIComponent(pa):"")+"&extras="+encodeURIComponent(JSON.stringify(Y))+(0<F?"&dpi="+F:"")+"&bg="+(null!=m?m:"none")+"&w="+da+"&h="+ba+"&border="+y+"&xml="+encodeURIComponent(G))})}else"png"==g?d.exportImage(q,null==m||
+"none"==m,!0,!1,!1,y,!0,!1,null,C,F):d.exportImage(q,!1,!0,!1,!1,y,!0,!1,"jpeg",C);else mxUtils.alert(mxResources.get("drawingTooLarge"))}});EditorUi.prototype.getDiagramTextContent=function(){this.editor.graph.setEnabled(!1);var d=this.editor.graph,f="";if(null!=this.pages)for(var g=0;g<this.pages.length;g++){var m=d;this.currentPage!=this.pages[g]&&(m=this.createTemporaryGraph(d.getStylesheet()),this.updatePageRoot(this.pages[g]),m.model.setRoot(this.pages[g].root));f+=this.pages[g].getName()+" "+
+m.getIndexableText()+" "}else f=d.getIndexableText();this.editor.graph.setEnabled(!0);return f};EditorUi.prototype.showRemotelyStoredLibrary=function(d){var f={},g=document.createElement("div");g.style.whiteSpace="nowrap";var m=document.createElement("h3");mxUtils.write(m,mxUtils.htmlEntities(d));m.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";g.appendChild(m);var q=document.createElement("div");q.style.cssText="border:1px solid lightGray;overflow: auto;height:300px";
+q.innerHTML='<div style="text-align:center;padding:8px;"><img src="'+IMAGE_PATH+'/spin.gif"></div>';var y={};try{var F=mxSettings.getCustomLibraries();for(d=0;d<F.length;d++){var C=F[d];if("R"==C.substring(0,1)){var H=JSON.parse(decodeURIComponent(C.substring(1)));y[H[0]]={id:H[0],title:H[1],downloadUrl:H[2]}}}}catch(G){}this.remoteInvoke("getCustomLibraries",null,null,function(G){q.innerHTML="";if(0==G.length)q.innerHTML='<div style="text-align:center;padding-top:20px;color:gray;">'+mxUtils.htmlEntities(mxResources.get("noLibraries"))+
+"</div>";else for(var aa=0;aa<G.length;aa++){var da=G[aa];y[da.id]&&(f[da.id]=da);var ba=this.addCheckbox(q,da.title,y[da.id]);(function(Y,pa){mxEvent.addListener(pa,"change",function(){this.checked?f[Y.id]=Y:delete f[Y.id]})})(da,ba)}},mxUtils.bind(this,function(G){q.innerHTML="";var aa=document.createElement("div");aa.style.padding="8px";aa.style.textAlign="center";mxUtils.write(aa,mxResources.get("error")+": ");mxUtils.write(aa,null!=G&&null!=G.message?G.message:mxResources.get("unknownError"));
+q.appendChild(aa)}));g.appendChild(q);g=new CustomDialog(this,g,mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("loading"));var G=0,aa;for(aa in f)null==y[aa]&&(G++,mxUtils.bind(this,function(da){this.remoteInvoke("getFileContent",[da.downloadUrl],null,mxUtils.bind(this,function(ba){G--;0==G&&this.spinner.stop();try{this.loadLibrary(new RemoteLibrary(this,ba,da))}catch(Y){this.handleError(Y,mxResources.get("errorLoadingFile"))}}),mxUtils.bind(this,function(){G--;0==G&&
+this.spinner.stop();this.handleError(null,mxResources.get("errorLoadingFile"))}))})(f[aa]));for(aa in y)f[aa]||this.closeLibrary(new RemoteLibrary(this,null,y[aa]));0==G&&this.spinner.stop()}),null,null,"https://www.diagrams.net/doc/faq/custom-libraries-confluence-cloud");this.showDialog(g.container,340,390,!0,!0,null,null,null,null,!0)};EditorUi.prototype.remoteInvokableFns={getDiagramTextContent:{isAsync:!1},getLocalStorageFile:{isAsync:!1,allowedDomains:["app.diagrams.net"]},getLocalStorageFileNames:{isAsync:!1,
+allowedDomains:["app.diagrams.net"]},setMigratedFlag:{isAsync:!1,allowedDomains:["app.diagrams.net"]}};EditorUi.prototype.remoteInvokeCallbacks=[];EditorUi.prototype.remoteInvokeQueue=[];EditorUi.prototype.handleRemoteInvokeReady=function(d){this.remoteWin=d;for(var f=0;f<this.remoteInvokeQueue.length;f++)d.postMessage(this.remoteInvokeQueue[f],"*");this.remoteInvokeQueue=[]};EditorUi.prototype.handleRemoteInvokeResponse=function(d){var f=d.msgMarkers,g=this.remoteInvokeCallbacks[f.callbackId];if(null==
+g)throw Error("No callback for "+(null!=f?f.callbackId:"null"));d.error?g.error&&g.error(d.error.errResp):g.callback&&g.callback.apply(this,d.resp);this.remoteInvokeCallbacks[f.callbackId]=null};EditorUi.prototype.remoteInvoke=function(d,f,g,m,q){var y=!0,F=window.setTimeout(mxUtils.bind(this,function(){y=!1;q({code:App.ERROR_TIMEOUT,message:mxResources.get("timeout")})}),this.timeout),C=mxUtils.bind(this,function(){window.clearTimeout(F);y&&m.apply(this,arguments)}),H=mxUtils.bind(this,function(){window.clearTimeout(F);
+y&&q.apply(this,arguments)});g=g||{};g.callbackId=this.remoteInvokeCallbacks.length;this.remoteInvokeCallbacks.push({callback:C,error:H});d=JSON.stringify({event:"remoteInvoke",funtionName:d,functionArgs:f,msgMarkers:g});null!=this.remoteWin?this.remoteWin.postMessage(d,"*"):this.remoteInvokeQueue.push(d)};EditorUi.prototype.handleRemoteInvoke=function(d,f){var g=mxUtils.bind(this,function(G,aa){var da={event:"remoteInvokeResponse",msgMarkers:d.msgMarkers};null!=aa?da.error={errResp:aa}:null!=G&&
+(da.resp=G);this.remoteWin.postMessage(JSON.stringify(da),"*")});try{var m=d.funtionName,q=this.remoteInvokableFns[m];if(null!=q&&"function"===typeof this[m]){if(q.allowedDomains){for(var y=!1,F=0;F<q.allowedDomains.length;F++)if(f=="https://"+q.allowedDomains[F]){y=!0;break}if(!y){g(null,"Invalid Call: "+m+" is not allowed.");return}}var C=d.functionArgs;Array.isArray(C)||(C=[]);if(q.isAsync)C.push(function(){g(Array.prototype.slice.apply(arguments))}),C.push(function(G){g(null,G||"Unkown Error")}),
+this[m].apply(this,C);else{var H=this[m].apply(this,C);g([H])}}else g(null,"Invalid Call: "+m+" is not found.")}catch(G){g(null,"Invalid Call: An error occurred, "+G.message)}};EditorUi.prototype.openDatabase=function(d,f){if(null==this.database){var g=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB;if(null!=g)try{var m=g.open("database",2);m.onupgradeneeded=function(q){try{var y=m.result;1>q.oldVersion&&y.createObjectStore("objects",{keyPath:"key"});2>q.oldVersion&&(y.createObjectStore("files",
+{keyPath:"title"}),y.createObjectStore("filesInfo",{keyPath:"title"}),EditorUi.migrateStorageFiles=isLocalStorage)}catch(F){null!=f&&f(F)}};m.onsuccess=mxUtils.bind(this,function(q){var y=m.result;this.database=y;EditorUi.migrateStorageFiles&&(StorageFile.migrate(y),EditorUi.migrateStorageFiles=!1);"app.diagrams.net"!=location.host||this.drawioMigrationStarted||(this.drawioMigrationStarted=!0,this.getDatabaseItem(".drawioMigrated3",mxUtils.bind(this,function(F){if(!F||"1"==urlParams.forceMigration){var C=
+document.createElement("iframe");C.style.display="none";C.setAttribute("src","https://www.draw.io?embed=1&proto=json&forceMigration="+urlParams.forceMigration);document.body.appendChild(C);var H=!0,G=!1,aa,da=0,ba=mxUtils.bind(this,function(){G=!0;this.setDatabaseItem(".drawioMigrated3",!0);C.contentWindow.postMessage(JSON.stringify({action:"remoteInvoke",funtionName:"setMigratedFlag"}),"*")}),Y=mxUtils.bind(this,function(){da++;pa()}),pa=mxUtils.bind(this,function(){try{if(da>=aa.length)ba();else{var X=
+aa[da];StorageFile.getFileContent(this,X,mxUtils.bind(this,function(ea){null==ea||".scratchpad"==X&&ea==this.emptyLibraryXml?C.contentWindow.postMessage(JSON.stringify({action:"remoteInvoke",funtionName:"getLocalStorageFile",functionArgs:[X]}),"*"):Y()}),Y)}}catch(ea){console.log(ea)}}),O=mxUtils.bind(this,function(X){try{this.setDatabaseItem(null,[{title:X.title,size:X.data.length,lastModified:Date.now(),type:X.isLib?"L":"F"},{title:X.title,data:X.data}],Y,Y,["filesInfo","files"])}catch(ea){console.log(ea)}});
+F=mxUtils.bind(this,function(X){try{if(X.source==C.contentWindow){var ea={};try{ea=JSON.parse(X.data)}catch(ka){}"init"==ea.event?(C.contentWindow.postMessage(JSON.stringify({action:"remoteInvokeReady"}),"*"),C.contentWindow.postMessage(JSON.stringify({action:"remoteInvoke",funtionName:"getLocalStorageFileNames"}),"*")):"remoteInvokeResponse"!=ea.event||G||(H?null!=ea.resp&&0<ea.resp.length&&null!=ea.resp[0]?(aa=ea.resp[0],H=!1,pa()):ba():null!=ea.resp&&0<ea.resp.length&&null!=ea.resp[0]?O(ea.resp[0]):
+Y())}}catch(ka){console.log(ka)}});window.addEventListener("message",F)}})));d(y);y.onversionchange=function(){y.close()}});m.onerror=f;m.onblocked=function(){}}catch(q){null!=f&&f(q)}else null!=f&&f()}else d(this.database)};EditorUi.prototype.setDatabaseItem=function(d,f,g,m,q){this.openDatabase(mxUtils.bind(this,function(y){try{q=q||"objects";Array.isArray(q)||(q=[q],d=[d],f=[f]);var F=y.transaction(q,"readwrite");F.oncomplete=g;F.onerror=m;for(y=0;y<q.length;y++)F.objectStore(q[y]).put(null!=d&&
+null!=d[y]?{key:d[y],data:f[y]}:f[y])}catch(C){null!=m&&m(C)}}),m)};EditorUi.prototype.removeDatabaseItem=function(d,f,g,m){this.openDatabase(mxUtils.bind(this,function(q){m=m||"objects";Array.isArray(m)||(m=[m],d=[d]);q=q.transaction(m,"readwrite");q.oncomplete=f;q.onerror=g;for(var y=0;y<m.length;y++)q.objectStore(m[y]).delete(d[y])}),g)};EditorUi.prototype.getDatabaseItem=function(d,f,g,m){this.openDatabase(mxUtils.bind(this,function(q){try{m=m||"objects";var y=q.transaction([m],"readonly").objectStore(m).get(d);
+y.onsuccess=function(){f(y.result)};y.onerror=g}catch(F){null!=g&&g(F)}}),g)};EditorUi.prototype.getDatabaseItems=function(d,f,g){this.openDatabase(mxUtils.bind(this,function(m){try{g=g||"objects";var q=m.transaction([g],"readonly").objectStore(g).openCursor(IDBKeyRange.lowerBound(0)),y=[];q.onsuccess=function(F){null==F.target.result?d(y):(y.push(F.target.result.value),F.target.result.continue())};q.onerror=f}catch(F){null!=f&&f(F)}}),f)};EditorUi.prototype.getDatabaseItemKeys=function(d,f,g){this.openDatabase(mxUtils.bind(this,
+function(m){try{g=g||"objects";var q=m.transaction([g],"readonly").objectStore(g).getAllKeys();q.onsuccess=function(){d(q.result)};q.onerror=f}catch(y){null!=f&&f(y)}}),f)};EditorUi.prototype.commentsSupported=function(){var d=this.getCurrentFile();return null!=d?d.commentsSupported():!1};EditorUi.prototype.commentsRefreshNeeded=function(){var d=this.getCurrentFile();return null!=d?d.commentsRefreshNeeded():!0};EditorUi.prototype.commentsSaveNeeded=function(){var d=this.getCurrentFile();return null!=
+d?d.commentsSaveNeeded():!1};EditorUi.prototype.getComments=function(d,f){var g=this.getCurrentFile();null!=g?g.getComments(d,f):d([])};EditorUi.prototype.addComment=function(d,f,g){var m=this.getCurrentFile();null!=m?m.addComment(d,f,g):f(Date.now())};EditorUi.prototype.canReplyToReplies=function(){var d=this.getCurrentFile();return null!=d?d.canReplyToReplies():!0};EditorUi.prototype.canComment=function(){var d=this.getCurrentFile();return null!=d?d.canComment():!0};EditorUi.prototype.newComment=
+function(d,f){var g=this.getCurrentFile();return null!=g?g.newComment(d,f):new DrawioComment(this,null,d,Date.now(),Date.now(),!1,f)};EditorUi.prototype.isRevisionHistorySupported=function(){var d=this.getCurrentFile();return null!=d&&d.isRevisionHistorySupported()};EditorUi.prototype.getRevisions=function(d,f){var g=this.getCurrentFile();null!=g&&g.getRevisions?g.getRevisions(d,f):f({message:mxResources.get("unknownError")})};EditorUi.prototype.isRevisionHistoryEnabled=function(){var d=this.getCurrentFile();
+return null!=d&&(d.constructor==DriveFile&&d.isEditable()||d.constructor==DropboxFile)};EditorUi.prototype.getServiceName=function(){return"draw.io"};EditorUi.prototype.addRemoteServiceSecurityCheck=function(d){d.setRequestHeader("Content-Language","da, mi, en, de-DE")};EditorUi.prototype.loadUrl=function(d,f,g,m,q,y,F,C){EditorUi.logEvent("SHOULD NOT BE CALLED: loadUrl");return this.editor.loadUrl(d,f,g,m,q,y,F,C)};EditorUi.prototype.loadFonts=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: loadFonts");
+return this.editor.loadFonts(d)};EditorUi.prototype.createSvgDataUri=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: createSvgDataUri");return Editor.createSvgDataUri(d)};EditorUi.prototype.embedCssFonts=function(d,f){EditorUi.logEvent("SHOULD NOT BE CALLED: embedCssFonts");return this.editor.embedCssFonts(d,f)};EditorUi.prototype.embedExtFonts=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: embedExtFonts");return this.editor.embedExtFonts(d)};EditorUi.prototype.exportToCanvas=function(d,
+f,g,m,q,y,F,C,H,G,aa,da,ba,Y,pa,O){EditorUi.logEvent("SHOULD NOT BE CALLED: exportToCanvas");return this.editor.exportToCanvas(d,f,g,m,q,y,F,C,H,G,aa,da,ba,Y,pa,O)};EditorUi.prototype.createImageUrlConverter=function(){EditorUi.logEvent("SHOULD NOT BE CALLED: createImageUrlConverter");return this.editor.createImageUrlConverter()};EditorUi.prototype.convertImages=function(d,f,g,m){EditorUi.logEvent("SHOULD NOT BE CALLED: convertImages");return this.editor.convertImages(d,f,g,m)};EditorUi.prototype.convertImageToDataUri=
+function(d,f){EditorUi.logEvent("SHOULD NOT BE CALLED: convertImageToDataUri");return this.editor.convertImageToDataUri(d,f)};EditorUi.prototype.base64Encode=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: base64Encode");return Editor.base64Encode(d)};EditorUi.prototype.updateCRC=function(d,f,g,m){EditorUi.logEvent("SHOULD NOT BE CALLED: updateCRC");return Editor.updateCRC(d,f,g,m)};EditorUi.prototype.crc32=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: crc32");return Editor.crc32(d)};
+EditorUi.prototype.writeGraphModelToPng=function(d,f,g,m,q){EditorUi.logEvent("SHOULD NOT BE CALLED: writeGraphModelToPng");return Editor.writeGraphModelToPng(d,f,g,m,q)};EditorUi.prototype.getLocalStorageFileNames=function(){if("1"==localStorage.getItem(".localStorageMigrated")&&"1"!=urlParams.forceMigration)return null;for(var d=[],f=0;f<localStorage.length;f++){var g=localStorage.key(f),m=localStorage.getItem(g);if(0<g.length&&(".scratchpad"==g||"."!=g.charAt(0))&&0<m.length){var q="<mxfile "===
+m.substring(0,8)||"<?xml"===m.substring(0,5)||"\x3c!--[if IE]>"===m.substring(0,12);m="<mxlibrary>"===m.substring(0,11);(q||m)&&d.push(g)}}return d};EditorUi.prototype.getLocalStorageFile=function(d){if("1"==localStorage.getItem(".localStorageMigrated")&&"1"!=urlParams.forceMigration)return null;var f=localStorage.getItem(d);return{title:d,data:f,isLib:"<mxlibrary>"===f.substring(0,11)}};EditorUi.prototype.setMigratedFlag=function(){localStorage.setItem(".localStorageMigrated","1")}})();
var CommentsWindow=function(b,e,k,n,D,t){function E(){for(var ja=da.getElementsByTagName("div"),U=0,J=0;J<ja.length;J++)"none"!=ja[J].style.display&&ja[J].parentNode==da&&U++;ba.style.display=0==U?"block":"none"}function d(ja,U,J,V){function P(){U.removeChild(la);U.removeChild(ta);ia.style.display="block";R.style.display="block"}H={div:U,comment:ja,saveCallback:J,deleteOnCancel:V};var R=U.querySelector(".geCommentTxt"),ia=U.querySelector(".geCommentActionsList"),la=document.createElement("textarea");
la.className="geCommentEditTxtArea";la.style.minHeight=R.offsetHeight+"px";la.value=ja.content;U.insertBefore(la,R);var ta=document.createElement("div");ta.className="geCommentEditBtns";var u=mxUtils.button(mxResources.get("cancel"),function(){V?(U.parentNode.removeChild(U),E()):P();H=null});u.className="geCommentEditBtn";ta.appendChild(u);var I=mxUtils.button(mxResources.get("save"),function(){R.innerHTML="";ja.content=la.value;mxUtils.write(R,ja.content);P();J(ja);H=null});mxEvent.addListener(la,
"keydown",mxUtils.bind(this,function(N){mxEvent.isConsumed(N)||((mxEvent.isControlDown(N)||mxClient.IS_MAC&&mxEvent.isMetaDown(N))&&13==N.keyCode?(I.click(),mxEvent.consume(N)):27==N.keyCode&&(u.click(),mxEvent.consume(N)))}));I.focus();I.className="geCommentEditBtn gePrimaryBtn";ta.appendChild(I);U.insertBefore(ta,R);ia.style.display="none";R.style.display="none";la.focus()}function f(ja,U){U.innerHTML="";ja=new Date(ja.modifiedDate);var J=b.timeSince(ja);null==J&&(J=mxResources.get("lessThanAMinute"));
@@ -4027,15 +4027,15 @@ Fa.geometry.setTerminalPoint(new mxPoint(0,0),!0);Fa.geometry.setTerminalPoint(n
" ("+Na.shortcut+")",I);qa=O("table",null,Editor.calendarImage);qa.style.boxShadow="none";qa.style.opacity="0.7";qa.style.padding="6px";qa.style.margin="0px";qa.style.width="37px";ya(qa,null,"pointer");qa=O("insert",null,Editor.plusImage);qa.style.boxShadow="none";qa.style.opacity="0.7";qa.style.padding="6px";qa.style.margin="0px";qa.style.width="37px";ya(qa,null,"pointer")}"1"!=urlParams.embedInline&&W.appendChild(Aa)});mxEvent.addListener(Aa,"click",mxUtils.bind(this,function(){za?(mxUtils.setPrefixedStyle(W.style,
"transform","translate(0, -50%)"),W.style.padding="8px 6px 4px",W.style.top="50%",W.style.bottom="",W.style.height="",Aa.style.backgroundImage="url("+mxWindow.prototype.normalizeImage+")",Aa.style.width="40px",Aa.style.height="12px",Aa.setAttribute("title","Minimize"),za=!1,Ca()):(W.innerHTML="",W.appendChild(Aa),mxUtils.setPrefixedStyle(W.style,"transform","translate(0, 0)"),W.style.top="",W.style.bottom="12px",W.style.padding="0px",W.style.height="24px",Aa.style.height="24px",Aa.style.backgroundImage=
"url("+Editor.plusImage+")",Aa.setAttribute("title",mxResources.get("insert")),Aa.style.width="24px",za=!0)}));Ca();U.addListener("darkModeChanged",Ca);U.addListener("sketchModeChanged",Ca)}else U.editor.addListener("statusChanged",mxUtils.bind(this,function(){U.setStatusText(U.editor.getStatus())}));if(null!=u){var Qa=function(ua){mxEvent.isShiftDown(ua)?(U.hideCurrentMenu(),U.actions.get("smartFit").funct(),mxEvent.consume(ua)):mxEvent.isAltDown(ua)&&(U.hideCurrentMenu(),U.actions.get("customZoom").funct(),
-mxEvent.consume(ua))},Za=U.actions.get("zoomIn"),cb=U.actions.get("zoomOut"),Ka=U.actions.get("resetView");Q=U.actions.get("fullscreen");var Ua=U.actions.get("undo"),$a=U.actions.get("redo"),z=X("",Ua.funct,null,mxResources.get("undo")+" ("+Ua.shortcut+")",Ua,Editor.undoImage),L=X("",$a.funct,null,mxResources.get("redo")+" ("+$a.shortcut+")",$a,Editor.redoImage),M=X("",Q.funct,null,mxResources.get("fullscreen"),Q,Editor.fullscreenImage);if(null!=N){Ka=function(){ra.style.display=null!=U.pages&&("0"!=
+mxEvent.consume(ua))},Za=U.actions.get("zoomIn"),cb=U.actions.get("zoomOut"),Ja=U.actions.get("resetView");Q=U.actions.get("fullscreen");var Ua=U.actions.get("undo"),$a=U.actions.get("redo"),z=X("",Ua.funct,null,mxResources.get("undo")+" ("+Ua.shortcut+")",Ua,Editor.undoImage),L=X("",$a.funct,null,mxResources.get("redo")+" ("+$a.shortcut+")",$a,Editor.redoImage),M=X("",Q.funct,null,mxResources.get("fullscreen"),Q,Editor.fullscreenImage);if(null!=N){Ja=function(){ra.style.display=null!=U.pages&&("0"!=
urlParams.pages||1<U.pages.length||Editor.pagesVisible)?"inline-block":"none"};var S=function(){ra.innerHTML="";if(null!=U.currentPage){mxUtils.write(ra,U.currentPage.getName());var ua=null!=U.pages?U.pages.length:1,ya=U.getPageIndex(U.currentPage);ya=null!=ya?ya+1:1;var Na=U.currentPage.getId();ra.setAttribute("title",U.currentPage.getName()+" ("+ya+"/"+ua+")"+(null!=Na?" ["+Na+"]":""))}};M.parentNode.removeChild(M);var ca=U.actions.get("delete"),ha=X("",ca.funct,null,mxResources.get("delete"),ca,
Editor.trashImage);ha.style.opacity="0.1";T.appendChild(ha);ca.addListener("stateChanged",function(){ha.style.opacity=ca.enabled?"":"0.1"});var oa=function(){z.style.display=0<U.editor.undoManager.history.length||J.isEditing()?"inline-block":"none";L.style.display=z.style.display;z.style.opacity=Ua.enabled?"":"0.1";L.style.opacity=$a.enabled?"":"0.1"};T.appendChild(z);T.appendChild(L);Ua.addListener("stateChanged",oa);$a.addListener("stateChanged",oa);oa();var ra=this.createPageMenuTab(!1,!0);ra.style.display=
"none";ra.style.position="";ra.style.marginLeft="";ra.style.top="";ra.style.left="";ra.style.height="100%";ra.style.lineHeight="";ra.style.borderStyle="none";ra.style.padding="3px 0";ra.style.margin="0px";ra.style.background="";ra.style.border="";ra.style.boxShadow="none";ra.style.verticalAlign="top";ra.style.width="auto";ra.style.maxWidth="160px";ra.style.position="relative";ra.style.padding="6px";ra.style.textOverflow="ellipsis";ra.style.opacity="0.8";N.appendChild(ra);U.editor.addListener("pagesPatched",
-S);U.editor.addListener("pageSelected",S);U.editor.addListener("pageRenamed",S);U.editor.addListener("fileLoaded",S);S();U.addListener("fileDescriptorChanged",Ka);U.addListener("pagesVisibleChanged",Ka);U.editor.addListener("pagesPatched",Ka);Ka();Ka=X("",cb.funct,!0,mxResources.get("zoomOut")+" ("+Editor.ctrlKey+" -/Alt+Mousewheel)",cb,Editor.zoomOutImage);N.appendChild(Ka);var qa=R.addMenu("100%",u.funct);qa.setAttribute("title",mxResources.get("zoom"));qa.innerHTML="100%";qa.style.display="inline-block";
+S);U.editor.addListener("pageSelected",S);U.editor.addListener("pageRenamed",S);U.editor.addListener("fileLoaded",S);S();U.addListener("fileDescriptorChanged",Ja);U.addListener("pagesVisibleChanged",Ja);U.editor.addListener("pagesPatched",Ja);Ja();Ja=X("",cb.funct,!0,mxResources.get("zoomOut")+" ("+Editor.ctrlKey+" -/Alt+Mousewheel)",cb,Editor.zoomOutImage);N.appendChild(Ja);var qa=R.addMenu("100%",u.funct);qa.setAttribute("title",mxResources.get("zoom"));qa.innerHTML="100%";qa.style.display="inline-block";
qa.style.color="inherit";qa.style.cursor="pointer";qa.style.textAlign="center";qa.style.whiteSpace="nowrap";qa.style.paddingRight="10px";qa.style.textDecoration="none";qa.style.verticalAlign="top";qa.style.padding="6px 0";qa.style.fontSize="14px";qa.style.width="40px";qa.style.opacity="0.4";N.appendChild(qa);u=X("",Za.funct,!0,mxResources.get("zoomIn")+" ("+Editor.ctrlKey+" +/Alt+Mousewheel)",Za,Editor.zoomInImage);N.appendChild(u);Q.visible&&(N.appendChild(M),mxEvent.addListener(document,"fullscreenchange",
function(){M.style.backgroundImage="url("+(null!=document.fullscreenElement?Editor.fullscreenExitImage:Editor.fullscreenImage)+")"}));"1"==urlParams.embedInline&&(u=U.actions.get("exit"),N.appendChild(X("",u.funct,null,mxResources.get("exit"),u,Editor.closeImage)));U.tabContainer.style.visibility="hidden";V.style.cssText="position:absolute;right:14px;top:10px;height:30px;z-index:1;border-radius:4px;box-shadow:0px 0px 3px 1px #d1d1d1;padding:6px 0px 6px 6px;border-bottom:1px solid lightgray;text-align:right;white-space:nowrap;overflow:hidden;user-select:none;";
T.style.cssText="position:absolute;left:10px;top:10px;height:30px;z-index:1;border-radius:4px;box-shadow:0px 0px 3px 1px #d1d1d1;padding:6px;border-bottom:1px solid lightgray;text-align:right;white-space:nowrap;overflow:hidden;user-select:none;";N.style.cssText="position:absolute;right:14px;bottom:14px;height:28px;z-index:1;border-radius:4px;box-shadow:0px 0px 3px 1px #d1d1d1;padding:8px;white-space:nowrap;user-select:none;";ta.appendChild(T);ta.appendChild(N);W.style.cssText="position:absolute;left:10px;z-index:1;border-radius:4px;box-shadow:0px 0px 3px 1px #d1d1d1;padding:8px 6px 4px 6px;white-space:nowrap;transform:translate(0, -50%);top:50%;user-select:none;";
-mxClient.IS_POINTER&&(W.style.touchAction="none");ta.appendChild(W);window.setTimeout(function(){mxUtils.setPrefixedStyle(W.style,"transition","transform .3s ease-out")},0);"1"==urlParams["format-toolbar"]&&this.installFormatToolbar(ta)}else{var xa=X("",Qa,!0,mxResources.get("fit")+" ("+Editor.ctrlKey+"+H)",Ka,Editor.zoomFitImage);V.style.cssText="position:absolute;left:0px;right:0px;top:0px;height:30px;padding:8px;text-align:left;white-space:nowrap;";this.tabContainer.style.right="70px";qa=R.addMenu("100%",
+mxClient.IS_POINTER&&(W.style.touchAction="none");ta.appendChild(W);window.setTimeout(function(){mxUtils.setPrefixedStyle(W.style,"transition","transform .3s ease-out")},0);"1"==urlParams["format-toolbar"]&&this.installFormatToolbar(ta)}else{var xa=X("",Qa,!0,mxResources.get("fit")+" ("+Editor.ctrlKey+"+H)",Ja,Editor.zoomFitImage);V.style.cssText="position:absolute;left:0px;right:0px;top:0px;height:30px;padding:8px;text-align:left;white-space:nowrap;";this.tabContainer.style.right="70px";qa=R.addMenu("100%",
u.funct);qa.setAttribute("title",mxResources.get("zoom")+" (Alt+Mousewheel)");qa.style.whiteSpace="nowrap";qa.style.paddingRight="10px";qa.style.textDecoration="none";qa.style.textDecoration="none";qa.style.overflow="hidden";qa.style.visibility="hidden";qa.style.textAlign="center";qa.style.cursor="pointer";qa.style.height=parseInt(U.tabContainerHeight)-1+"px";qa.style.lineHeight=parseInt(U.tabContainerHeight)+1+"px";qa.style.position="absolute";qa.style.display="block";qa.style.fontSize="12px";qa.style.width=
"59px";qa.style.right="0px";qa.style.bottom="0px";qa.style.backgroundImage="url("+mxWindow.prototype.minimizeImage+")";qa.style.backgroundPosition="right 6px center";qa.style.backgroundRepeat="no-repeat";ta.appendChild(qa)}(function(ua){mxEvent.addListener(ua,"click",Qa);var ya=mxUtils.bind(this,function(){ua.innerHTML="";mxUtils.write(ua,Math.round(100*U.editor.graph.view.scale)+"%")});U.editor.graph.view.addListener(mxEvent.EVENT_SCALE,ya);U.editor.addListener("resetGraphView",ya);U.editor.addListener("pageSelected",
ya)})(qa);var Ga=U.setGraphEnabled;U.setGraphEnabled=function(){Ga.apply(this,arguments);null!=this.tabContainer&&(qa.style.visibility=this.tabContainer.style.visibility,this.diagramContainer.style.bottom="hidden"!=this.tabContainer.style.visibility&&null==N?this.tabContainerHeight+"px":"0px")}}ta.appendChild(V);ta.appendChild(U.diagramContainer);ja.appendChild(ta);U.updateTabContainer();!EditorUi.windowed&&("1"==urlParams.sketch||1E3<=n)&&"1"!=urlParams.embedInline&&b(this,!0);null==N&&ta.appendChild(U.tabContainer);
diff --git a/src/main/webapp/mxgraph/mxClient.js b/src/main/webapp/mxgraph/mxClient.js
index 12ba960a..09684cc3 100644
--- a/src/main/webapp/mxgraph/mxClient.js
+++ b/src/main/webapp/mxgraph/mxClient.js
@@ -1,4 +1,4 @@
-var mxClient={VERSION:"19.0.0",IS_IE:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE"),IS_IE11:null!=navigator.userAgent&&!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:null!=navigator.userAgent&&!!navigator.userAgent.match(/Edge\//),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&0>navigator.userAgent.indexOf("Edge/"),
+var mxClient={VERSION:"19.0.1",IS_IE:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE"),IS_IE11:null!=navigator.userAgent&&!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:null!=navigator.userAgent&&!!navigator.userAgent.match(/Edge\//),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&0>navigator.userAgent.indexOf("Edge/"),
IS_OP:null!=navigator.userAgent&&(0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/")),IS_OT:null!=navigator.userAgent&&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:/Apple Computer, Inc/.test(navigator.vendor),
IS_ANDROID:0<=navigator.appVersion.indexOf("Android"),IS_IOS:/iP(hone|od|ad)/.test(navigator.platform)||navigator.userAgent.match(/Mac/)&&navigator.maxTouchPoints&&2<navigator.maxTouchPoints,IS_WEBVIEW:/((iPhone|iPod|iPad).*AppleWebKit(?!.*Version)|; wv)/i.test(navigator.userAgent),IS_GC:/Google Inc/.test(navigator.vendor),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:"undefined"!==typeof InstallTrigger,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:"MICROSOFT INTERNET EXPLORER"!=navigator.appName.toUpperCase(),NO_FO:!document.createElementNS||"[object SVGForeignObjectElement]"!==
diff --git a/src/main/webapp/service-worker.js b/src/main/webapp/service-worker.js
index d69a6eaf..50f80e38 100644
--- a/src/main/webapp/service-worker.js
+++ b/src/main/webapp/service-worker.js
@@ -1,2 +1,2 @@
-if(!self.define){const e=e=>{"require"!==e&&(e+=".js");let i=Promise.resolve();return r[e]||(i=new Promise((async i=>{if("document"in self){const r=document.createElement("script");r.src=e,document.head.appendChild(r),r.onload=i}else importScripts(e),i()}))),i.then((()=>{if(!r[e])throw new Error(`Module ${e} didn’t register its module`);return r[e]}))},i=(i,r)=>{Promise.all(i.map(e)).then((e=>r(1===e.length?e[0]:e)))},r={require:Promise.resolve(i)};self.define=(i,a,c)=>{r[i]||(r[i]=Promise.resolve().then((()=>{let r={};const s={uri:location.origin+i.slice(1)};return Promise.all(a.map((i=>{switch(i){case"exports":return r;case"module":return s;default:return e(i)}}))).then((e=>{const i=c(...e);return r.default||(r.default=i),r}))})))}}define("./service-worker.js",["./workbox-7a2a8380"],(function(e){"use strict";self.addEventListener("message",(e=>{e.data&&"SKIP_WAITING"===e.data.type&&self.skipWaiting()})),e.precacheAndRoute([{url:"js/app.min.js",revision:"8856b392ace29f3e6292a241b0351f9e"},{url:"js/extensions.min.js",revision:"45df373f567b94c1dce78ba61b591983"},{url:"js/stencils.min.js",revision:"4dbdbc7cee6fc00d1b8c6fe1022a0989"},{url:"js/shapes-14-6-5.min.js",revision:"f0e1d4c09054df2f3ea3793491e9fe08"},{url:"js/math-print.js",revision:"0611491c663261a732ff18224906184d"},{url:"index.html",revision:"8b5b1cf07fc74454cf354717e9d18534"},{url:"open.html",revision:"d71816b3b00e769fc6019fcdd6921662"},{url:"styles/fonts/ArchitectsDaughter-Regular.ttf",revision:"31c2153c0530e32553b31a49b3d70736"},{url:"styles/grapheditor.css",revision:"4f2c07c4585347249c95cd9158872fb2"},{url:"styles/atlas.css",revision:"e8152cda9233d3a3af017422993abfce"},{url:"styles/dark.css",revision:"3179f617dd02efd2cefeb8c06f965880"},{url:"js/dropbox/Dropbox-sdk.min.js",revision:"4b9842892aa37b156db0a8364b7a83b0"},{url:"js/onedrive/OneDrive.js",revision:"505e8280346666f7ee801bc59521fa67"},{url:"js/viewer-static.min.js",revision:"6b5d7470392f84f7a84e14191257bf8b"},{url:"connect/jira/editor-1-3-3.html",revision:"a2b0e7267a08a838f3cc404eba831ec0"},{url:"connect/jira/viewerPanel-1-3-12.html",revision:"c96db1790184cb35781f791e8d1dafd9"},{url:"connect/jira/fullScreenViewer-1-3-3.html",revision:"ba7ece2dfb2833b72f97280d7092f25e"},{url:"connect/jira/viewerPanel.js",revision:"6d5a85e70c7b82ba685782ca6df2b9d5"},{url:"connect/jira/spinner.gif",revision:"7d857ab9d86123e93d74d48e958fe743"},{url:"connect/jira/editor.js",revision:"01caa325f3ad3f6565e0b4228907fb63"},{url:"connect/jira/fullscreen-viewer-init.js",revision:"e00ad51fc16b87c362d6eaf930ab1fa5"},{url:"connect/jira/fullscreen-viewer.js",revision:"4e0775a6c156a803e777870623ac7c3e"},{url:"plugins/connectJira.js",revision:"4cefa13414e0d406550f3c073923080c"},{url:"plugins/cConf-comments.js",revision:"c787357209cff2986dcca567b599e2ef"},{url:"plugins/cConf-1-4-8.js",revision:"c6552981ba1add209fe3e12ffcf79c9a"},{url:"connect/confluence/connectUtils-1-4-8.js",revision:"fab9a95f19a57bb836e42f67a1c0078b"},{url:"connect/new_common/cac.js",revision:"3d8c436c566db645fb1e6e6ba9f69bbc"},{url:"connect/gdrive_common/gac.js",revision:"38f1df3ecc4d78290493f47e62202138"},{url:"connect/onedrive_common/ac.js",revision:"d089f12446d443ca01752a5115456fcc"},{url:"connect/confluence/viewer-init.js",revision:"2bd677096ebffd3aa5cab0c347851e3f"},{url:"connect/confluence/viewer.js",revision:"a9d84488d17425d28e5d85d464e0a8f8"},{url:"connect/confluence/viewer-1-4-42.html",revision:"4c58f3a1a4c99b1c4264593b6e05100b"},{url:"connect/confluence/macroEditor-1-4-8.html",revision:"8cd74a2fb60bf2e3e86026d66107cf11"},{url:"connect/confluence/includeDiagram-1-4-8.js",revision:"352d2782274de07617d117926b68c205"},{url:"connect/confluence/includeDiagram.html",revision:"5cefef0227d058cf716d1f51f2cf202f"},{url:"connect/confluence/macro-editor.js",revision:"412bc4b87e630b697a40f247c579d398"},{url:"math/MathJax.js",revision:"b2c103388b71bb3d11cbf9aa45fe9b68"},{url:"math/config/TeX-MML-AM_SVG-full.js",revision:"d5cb8ac04050983170ae4af145bc66ff"},{url:"math/jax/output/SVG/fonts/TeX/fontdata.js",revision:"495e5a410955d1b6178870e605890ede"},{url:"math/jax/element/mml/optable/BasicLatin.js",revision:"cac9b2e71382e62270baa55fab07cc13"},{url:"math/jax/output/SVG/fonts/TeX/Size2/Regular/Main.js",revision:"e3e5e4d5924beed29f0844550b5c8f46"},{url:"math/jax/output/SVG/fonts/TeX/Main/Regular/LetterlikeSymbols.js",revision:"0767cbad7275b53da128e7e5e1109f7c"},{url:"math/jax/output/SVG/fonts/TeX/Main/Regular/GreekAndCoptic.js",revision:"346302a5c5ee00e01c302148c56dbfe3"},{url:"resources/dia.txt",revision:"2d474154fe5893976198647ea505ac96"},{url:"resources/dia_am.txt",revision:"d767c66fc3d828f01790d5145a43f944"},{url:"resources/dia_ar.txt",revision:"326cf12a2eb475cfd18ca0aa8f454c27"},{url:"resources/dia_bg.txt",revision:"d935ebdf513f6d6c8b2488ca53edc48d"},{url:"resources/dia_bn.txt",revision:"9a066d6e0cb91240a5de909c09ad5f00"},{url:"resources/dia_bs.txt",revision:"834558d329362244813342c858ee0bb3"},{url:"resources/dia_ca.txt",revision:"7ea27e2cedf5a72c2d6acc3882f1107f"},{url:"resources/dia_cs.txt",revision:"73d43bc65e16f28055cc70302d8f5b23"},{url:"resources/dia_da.txt",revision:"9684d36e43a503a7923220702367e1bd"},{url:"resources/dia_de.txt",revision:"492ec6381d7a44fbc5da1adf674cdd3c"},{url:"resources/dia_el.txt",revision:"134ef55f7ede4d1ec364fc275c1dc560"},{url:"resources/dia_eo.txt",revision:"df44330c02c251217f68199902bb71b4"},{url:"resources/dia_es.txt",revision:"f4782a7a893fc58ac5138a94ee506ff1"},{url:"resources/dia_et.txt",revision:"ab5d6547dbef2866651d5854cd44ad54"},{url:"resources/dia_eu.txt",revision:"78de7c722cdc7079dbce68df02ab0ef9"},{url:"resources/dia_fa.txt",revision:"44639b4c2018027b39e998d527c444e3"},{url:"resources/dia_fi.txt",revision:"01b3890a6db98ef3a43485ba49ac7992"},{url:"resources/dia_fil.txt",revision:"53c542d5fea30e409eca8fe10048859b"},{url:"resources/dia_fr.txt",revision:"ff0e55a0b6321a7d0fbe35a4d37a9908"},{url:"resources/dia_gl.txt",revision:"fd421cae2d65a12f45743d029d1f2d1e"},{url:"resources/dia_gu.txt",revision:"54fffb1c7c7da120cb22f71d4fef3c49"},{url:"resources/dia_he.txt",revision:"9bb0be8fd970a9640d5b5f59afb22326"},{url:"resources/dia_hi.txt",revision:"353564fdcbdec14435e22cc10ea340a9"},{url:"resources/dia_hr.txt",revision:"cfefa39b02d5ff3a718c5ca688675a22"},{url:"resources/dia_hu.txt",revision:"b1e4b3e78529cbae7f9b41b95d8d015f"},{url:"resources/dia_id.txt",revision:"43353905b8e9180461055b1ed17dc53d"},{url:"resources/dia_it.txt",revision:"c55df5f591ed818e1ff6f60bf2eb0dcd"},{url:"resources/dia_ja.txt",revision:"185602e27366d4c4155de476bb5010ff"},{url:"resources/dia_kn.txt",revision:"7f4970fd5a35520e5871334bb8154c03"},{url:"resources/dia_ko.txt",revision:"6478a7552215d6c5b782cba0908ffa0e"},{url:"resources/dia_lt.txt",revision:"521711aef9fcf41ee833e5e669de1b6e"},{url:"resources/dia_lv.txt",revision:"70558cca334ed3d090ecda7423aad8df"},{url:"resources/dia_ml.txt",revision:"d827e98625dfa9d320d2a00fa5709f54"},{url:"resources/dia_mr.txt",revision:"3510ad556be2f84f7aefc617e49fa773"},{url:"resources/dia_ms.txt",revision:"fe33d70d3b621e0f511388d9ef3667aa"},{url:"resources/dia_my.txt",revision:"2d474154fe5893976198647ea505ac96"},{url:"resources/dia_nl.txt",revision:"ec08e8294289a952b8ec15ef9615b927"},{url:"resources/dia_no.txt",revision:"62c693c6ea9a58bc0dd4eec7b1b1ea7d"},{url:"resources/dia_pl.txt",revision:"db85c32f7458bbdb4dabd8ee04c5e6e5"},{url:"resources/dia_pt-br.txt",revision:"2cffd3b30b81113406236b29ec19fcf4"},{url:"resources/dia_pt.txt",revision:"faa525cfd933d9b28bab4ba9958d2a91"},{url:"resources/dia_ro.txt",revision:"4f0c51dc49be417530a88e264acc8ac7"},{url:"resources/dia_ru.txt",revision:"2454d71cf5eda2fca6da0a4ac02c0ce0"},{url:"resources/dia_si.txt",revision:"2d474154fe5893976198647ea505ac96"},{url:"resources/dia_sk.txt",revision:"a65bba3698e3cb60764146a1d6a1b494"},{url:"resources/dia_sl.txt",revision:"03e8bdd1584030ef4bd3e59311806bde"},{url:"resources/dia_sr.txt",revision:"7377e7c4b5f5e768bd4f9a32c40f0143"},{url:"resources/dia_sv.txt",revision:"3106d87ab7710b789ca481df9f9eaa20"},{url:"resources/dia_sw.txt",revision:"a4b2cdef952b5e6b5a1cb569ecb48347"},{url:"resources/dia_ta.txt",revision:"cfd99e1386d7a0310a1ba24a1bd39f26"},{url:"resources/dia_te.txt",revision:"f0ded6e2695a8715bbbfb9868a42be5e"},{url:"resources/dia_th.txt",revision:"991c7523fdab1db1590ecf71075f85de"},{url:"resources/dia_tr.txt",revision:"ebe2bdd67274dc832f2a1c06e0415c99"},{url:"resources/dia_uk.txt",revision:"352152d7c79d70c2d7451d10cb9db4d1"},{url:"resources/dia_vi.txt",revision:"077de6f062ffe2fdf09369c41490caf6"},{url:"resources/dia_zh-tw.txt",revision:"0c405f3473c213c97287b9706bdaf5e6"},{url:"resources/dia_zh.txt",revision:"1379897fd5f960954a075507b559b7e9"},{url:"favicon.ico",revision:"fab2d88b37c72d83607527573de45281"},{url:"images/manifest.json",revision:"c6236bde53ed79aaaec60a1aca8ee2ef"},{url:"images/logo.png",revision:"89630b64b911ebe0daa3dfe442087cfa"},{url:"images/drawlogo.svg",revision:"4bf4d14ebcf072d8bd4c5a1c89e88fc6"},{url:"images/drawlogo48.png",revision:"8b13428373aca67b895364d025f42417"},{url:"images/drawlogo-gray.svg",revision:"0aabacbc0873816e1e09e4736ae44c7d"},{url:"images/drawlogo-text-bottom.svg",revision:"f6c438823ab31f290940bd4feb8dd9c2"},{url:"images/default-user.jpg",revision:"2c399696a87c8921f12d2f9e1990cc6e"},{url:"images/logo-flat-small.png",revision:"4b178e59ff499d6dd1894fc498b59877"},{url:"images/apple-touch-icon.png",revision:"73da7989a23ce9a4be565ec65658a239"},{url:"images/favicon-16x16.png",revision:"1a79d5461a5d2bf21f6652e0ac20d6e5"},{url:"images/favicon-32x32.png",revision:"e3b92da2febe70bad5372f6f3474b034"},{url:"images/android-chrome-196x196.png",revision:"f8c045b2d7b1c719fda64edab04c415c"},{url:"images/android-chrome-512x512.png",revision:"959b5fac2453963ff6d60fb85e4b73fd"},{url:"images/delete.png",revision:"5f2350f2fd20f1a229637aed32ed8f29"},{url:"images/droptarget.png",revision:"bbf7f563fb6784de1ce96f329519b043"},{url:"images/help.png",revision:"9266c6c3915bd33c243d80037d37bf61"},{url:"images/download.png",revision:"35418dd7bd48d87502c71b578cc6c37f"},{url:"images/logo-flat.png",revision:"038070ab43aee6e54a791211859fc67b"},{url:"images/google-drive-logo.svg",revision:"5d9f2f5bbc7dcc252730a0072bb23059"},{url:"images/onedrive-logo.svg",revision:"3645b344ec0634c1290dd58d7dc87b97"},{url:"images/dropbox-logo.svg",revision:"e6be408c77cf9c82d41ac64fa854280a"},{url:"images/github-logo.svg",revision:"a1a999b69a275eac0cb918360ac05ae1"},{url:"images/gitlab-logo.svg",revision:"0faea8c818899e58533e153c44b10517"},{url:"images/trello-logo.svg",revision:"006fd0d7d70d7e95dc691674cb12e044"},{url:"images/osa_drive-harddisk.png",revision:"b954e1ae772087c5b4c6ae797e1f9649"},{url:"images/osa_database.png",revision:"c350d9d9b95f37b6cfe798b40ede5fb0"},{url:"images/google-drive-logo-white.svg",revision:"f329d8b1be7778515a85b93fc35d9f26"},{url:"images/dropbox-logo-white.svg",revision:"4ea8299ac3bc31a16f199ee3aec223bf"},{url:"images/onedrive-logo-white.svg",revision:"b3602fa0fc947009cff3f33a581cff4d"},{url:"images/github-logo-white.svg",revision:"537b1127b3ca0f95b45782d1304fb77a"},{url:"images/gitlab-logo-white.svg",revision:"5fede9ac2f394c716b8c23e3fddc3910"},{url:"images/trello-logo-white-orange.svg",revision:"e2a0a52ba3766682f138138d10a75eb5"},{url:"images/logo-confluence.png",revision:"ed1e55d44ae5eba8f999aba2c93e8331"},{url:"images/logo-jira.png",revision:"f8d460555a0d1f87cfd901e940666629"},{url:"images/clear.gif",revision:"db13c778e4382e0b55258d0f811d5d70"},{url:"images/spin.gif",revision:"487cbb40b9ced439aa1ad914e816d773"},{url:"images/checkmark.gif",revision:"ba764ce62f2bf952df5bbc2bb4d381c5"},{url:"images/hs.png",revision:"fefa1a03d92ebad25c88dca94a0b63db"},{url:"images/aui-wait.gif",revision:"5a474bcbd8d2f2826f03d10ea44bf60e"},{url:"mxgraph/css/common.css",revision:"b5b7280ec98671bb6c3847a36bc7ea12"},{url:"mxgraph/images/expanded.gif",revision:"2b67c2c035af1e9a5cc814f0d22074cf"},{url:"mxgraph/images/collapsed.gif",revision:"73cc826da002a3d740ca4ce6ec5c1f4a"},{url:"mxgraph/images/maximize.gif",revision:"5cd13d6925493ab51e876694cc1c2ec2"},{url:"mxgraph/images/minimize.gif",revision:"8957741b9b0f86af9438775f2aadbb54"},{url:"mxgraph/images/close.gif",revision:"8b84669812ac7382984fca35de8da48b"},{url:"mxgraph/images/resize.gif",revision:"a6477612b3567a34033f9cac6184eed3"},{url:"mxgraph/images/separator.gif",revision:"7819742ff106c97da7a801c2372bbbe5"},{url:"mxgraph/images/window.gif",revision:"fd9a21dd4181f98052a202a0a01f18ab"},{url:"mxgraph/images/window-title.gif",revision:"3fb1d6c43246cdf991a11dfe826dfe99"},{url:"mxgraph/images/button.gif",revision:"00759bdc3ad218fa739f584369541809"},{url:"mxgraph/images/point.gif",revision:"83a43717b284902442620f61bc4e9fa6"}],{ignoreURLParametersMatching:[/.*/]})}));
+if(!self.define){const e=e=>{"require"!==e&&(e+=".js");let i=Promise.resolve();return r[e]||(i=new Promise((async i=>{if("document"in self){const r=document.createElement("script");r.src=e,document.head.appendChild(r),r.onload=i}else importScripts(e),i()}))),i.then((()=>{if(!r[e])throw new Error(`Module ${e} didn’t register its module`);return r[e]}))},i=(i,r)=>{Promise.all(i.map(e)).then((e=>r(1===e.length?e[0]:e)))},r={require:Promise.resolve(i)};self.define=(i,a,c)=>{r[i]||(r[i]=Promise.resolve().then((()=>{let r={};const s={uri:location.origin+i.slice(1)};return Promise.all(a.map((i=>{switch(i){case"exports":return r;case"module":return s;default:return e(i)}}))).then((e=>{const i=c(...e);return r.default||(r.default=i),r}))})))}}define("./service-worker.js",["./workbox-7a2a8380"],(function(e){"use strict";self.addEventListener("message",(e=>{e.data&&"SKIP_WAITING"===e.data.type&&self.skipWaiting()})),e.precacheAndRoute([{url:"js/app.min.js",revision:"99e42bc01d8d5bc1c7c339abe033c020"},{url:"js/extensions.min.js",revision:"45df373f567b94c1dce78ba61b591983"},{url:"js/stencils.min.js",revision:"4dbdbc7cee6fc00d1b8c6fe1022a0989"},{url:"js/shapes-14-6-5.min.js",revision:"f0e1d4c09054df2f3ea3793491e9fe08"},{url:"js/math-print.js",revision:"0611491c663261a732ff18224906184d"},{url:"index.html",revision:"8b5b1cf07fc74454cf354717e9d18534"},{url:"open.html",revision:"d71816b3b00e769fc6019fcdd6921662"},{url:"styles/fonts/ArchitectsDaughter-Regular.ttf",revision:"31c2153c0530e32553b31a49b3d70736"},{url:"styles/grapheditor.css",revision:"4f2c07c4585347249c95cd9158872fb2"},{url:"styles/atlas.css",revision:"e8152cda9233d3a3af017422993abfce"},{url:"styles/dark.css",revision:"3179f617dd02efd2cefeb8c06f965880"},{url:"js/dropbox/Dropbox-sdk.min.js",revision:"4b9842892aa37b156db0a8364b7a83b0"},{url:"js/onedrive/OneDrive.js",revision:"505e8280346666f7ee801bc59521fa67"},{url:"js/viewer-static.min.js",revision:"047be86e074619c1a296e403bc3cbfba"},{url:"connect/jira/editor-1-3-3.html",revision:"a2b0e7267a08a838f3cc404eba831ec0"},{url:"connect/jira/viewerPanel-1-3-12.html",revision:"c96db1790184cb35781f791e8d1dafd9"},{url:"connect/jira/fullScreenViewer-1-3-3.html",revision:"ba7ece2dfb2833b72f97280d7092f25e"},{url:"connect/jira/viewerPanel.js",revision:"6d5a85e70c7b82ba685782ca6df2b9d5"},{url:"connect/jira/spinner.gif",revision:"7d857ab9d86123e93d74d48e958fe743"},{url:"connect/jira/editor.js",revision:"01caa325f3ad3f6565e0b4228907fb63"},{url:"connect/jira/fullscreen-viewer-init.js",revision:"e00ad51fc16b87c362d6eaf930ab1fa5"},{url:"connect/jira/fullscreen-viewer.js",revision:"4e0775a6c156a803e777870623ac7c3e"},{url:"plugins/connectJira.js",revision:"4cefa13414e0d406550f3c073923080c"},{url:"plugins/cConf-comments.js",revision:"c787357209cff2986dcca567b599e2ef"},{url:"plugins/cConf-1-4-8.js",revision:"c6552981ba1add209fe3e12ffcf79c9a"},{url:"connect/confluence/connectUtils-1-4-8.js",revision:"fab9a95f19a57bb836e42f67a1c0078b"},{url:"connect/new_common/cac.js",revision:"3d8c436c566db645fb1e6e6ba9f69bbc"},{url:"connect/gdrive_common/gac.js",revision:"38f1df3ecc4d78290493f47e62202138"},{url:"connect/onedrive_common/ac.js",revision:"d089f12446d443ca01752a5115456fcc"},{url:"connect/confluence/viewer-init.js",revision:"2bd677096ebffd3aa5cab0c347851e3f"},{url:"connect/confluence/viewer.js",revision:"a9d84488d17425d28e5d85d464e0a8f8"},{url:"connect/confluence/viewer-1-4-42.html",revision:"4c58f3a1a4c99b1c4264593b6e05100b"},{url:"connect/confluence/macroEditor-1-4-8.html",revision:"8cd74a2fb60bf2e3e86026d66107cf11"},{url:"connect/confluence/includeDiagram-1-4-8.js",revision:"352d2782274de07617d117926b68c205"},{url:"connect/confluence/includeDiagram.html",revision:"5cefef0227d058cf716d1f51f2cf202f"},{url:"connect/confluence/macro-editor.js",revision:"412bc4b87e630b697a40f247c579d398"},{url:"math/MathJax.js",revision:"b2c103388b71bb3d11cbf9aa45fe9b68"},{url:"math/config/TeX-MML-AM_SVG-full.js",revision:"d5cb8ac04050983170ae4af145bc66ff"},{url:"math/jax/output/SVG/fonts/TeX/fontdata.js",revision:"495e5a410955d1b6178870e605890ede"},{url:"math/jax/element/mml/optable/BasicLatin.js",revision:"cac9b2e71382e62270baa55fab07cc13"},{url:"math/jax/output/SVG/fonts/TeX/Size2/Regular/Main.js",revision:"e3e5e4d5924beed29f0844550b5c8f46"},{url:"math/jax/output/SVG/fonts/TeX/Main/Regular/LetterlikeSymbols.js",revision:"0767cbad7275b53da128e7e5e1109f7c"},{url:"math/jax/output/SVG/fonts/TeX/Main/Regular/GreekAndCoptic.js",revision:"346302a5c5ee00e01c302148c56dbfe3"},{url:"resources/dia.txt",revision:"2d474154fe5893976198647ea505ac96"},{url:"resources/dia_am.txt",revision:"d767c66fc3d828f01790d5145a43f944"},{url:"resources/dia_ar.txt",revision:"326cf12a2eb475cfd18ca0aa8f454c27"},{url:"resources/dia_bg.txt",revision:"d935ebdf513f6d6c8b2488ca53edc48d"},{url:"resources/dia_bn.txt",revision:"9a066d6e0cb91240a5de909c09ad5f00"},{url:"resources/dia_bs.txt",revision:"834558d329362244813342c858ee0bb3"},{url:"resources/dia_ca.txt",revision:"7ea27e2cedf5a72c2d6acc3882f1107f"},{url:"resources/dia_cs.txt",revision:"73d43bc65e16f28055cc70302d8f5b23"},{url:"resources/dia_da.txt",revision:"9684d36e43a503a7923220702367e1bd"},{url:"resources/dia_de.txt",revision:"492ec6381d7a44fbc5da1adf674cdd3c"},{url:"resources/dia_el.txt",revision:"134ef55f7ede4d1ec364fc275c1dc560"},{url:"resources/dia_eo.txt",revision:"df44330c02c251217f68199902bb71b4"},{url:"resources/dia_es.txt",revision:"f4782a7a893fc58ac5138a94ee506ff1"},{url:"resources/dia_et.txt",revision:"ab5d6547dbef2866651d5854cd44ad54"},{url:"resources/dia_eu.txt",revision:"78de7c722cdc7079dbce68df02ab0ef9"},{url:"resources/dia_fa.txt",revision:"44639b4c2018027b39e998d527c444e3"},{url:"resources/dia_fi.txt",revision:"01b3890a6db98ef3a43485ba49ac7992"},{url:"resources/dia_fil.txt",revision:"53c542d5fea30e409eca8fe10048859b"},{url:"resources/dia_fr.txt",revision:"ff0e55a0b6321a7d0fbe35a4d37a9908"},{url:"resources/dia_gl.txt",revision:"fd421cae2d65a12f45743d029d1f2d1e"},{url:"resources/dia_gu.txt",revision:"54fffb1c7c7da120cb22f71d4fef3c49"},{url:"resources/dia_he.txt",revision:"9bb0be8fd970a9640d5b5f59afb22326"},{url:"resources/dia_hi.txt",revision:"353564fdcbdec14435e22cc10ea340a9"},{url:"resources/dia_hr.txt",revision:"cfefa39b02d5ff3a718c5ca688675a22"},{url:"resources/dia_hu.txt",revision:"b1e4b3e78529cbae7f9b41b95d8d015f"},{url:"resources/dia_id.txt",revision:"43353905b8e9180461055b1ed17dc53d"},{url:"resources/dia_it.txt",revision:"c55df5f591ed818e1ff6f60bf2eb0dcd"},{url:"resources/dia_ja.txt",revision:"185602e27366d4c4155de476bb5010ff"},{url:"resources/dia_kn.txt",revision:"7f4970fd5a35520e5871334bb8154c03"},{url:"resources/dia_ko.txt",revision:"6478a7552215d6c5b782cba0908ffa0e"},{url:"resources/dia_lt.txt",revision:"521711aef9fcf41ee833e5e669de1b6e"},{url:"resources/dia_lv.txt",revision:"70558cca334ed3d090ecda7423aad8df"},{url:"resources/dia_ml.txt",revision:"d827e98625dfa9d320d2a00fa5709f54"},{url:"resources/dia_mr.txt",revision:"3510ad556be2f84f7aefc617e49fa773"},{url:"resources/dia_ms.txt",revision:"fe33d70d3b621e0f511388d9ef3667aa"},{url:"resources/dia_my.txt",revision:"2d474154fe5893976198647ea505ac96"},{url:"resources/dia_nl.txt",revision:"ec08e8294289a952b8ec15ef9615b927"},{url:"resources/dia_no.txt",revision:"62c693c6ea9a58bc0dd4eec7b1b1ea7d"},{url:"resources/dia_pl.txt",revision:"db85c32f7458bbdb4dabd8ee04c5e6e5"},{url:"resources/dia_pt-br.txt",revision:"2cffd3b30b81113406236b29ec19fcf4"},{url:"resources/dia_pt.txt",revision:"faa525cfd933d9b28bab4ba9958d2a91"},{url:"resources/dia_ro.txt",revision:"4f0c51dc49be417530a88e264acc8ac7"},{url:"resources/dia_ru.txt",revision:"2454d71cf5eda2fca6da0a4ac02c0ce0"},{url:"resources/dia_si.txt",revision:"2d474154fe5893976198647ea505ac96"},{url:"resources/dia_sk.txt",revision:"a65bba3698e3cb60764146a1d6a1b494"},{url:"resources/dia_sl.txt",revision:"03e8bdd1584030ef4bd3e59311806bde"},{url:"resources/dia_sr.txt",revision:"7377e7c4b5f5e768bd4f9a32c40f0143"},{url:"resources/dia_sv.txt",revision:"3106d87ab7710b789ca481df9f9eaa20"},{url:"resources/dia_sw.txt",revision:"a4b2cdef952b5e6b5a1cb569ecb48347"},{url:"resources/dia_ta.txt",revision:"cfd99e1386d7a0310a1ba24a1bd39f26"},{url:"resources/dia_te.txt",revision:"f0ded6e2695a8715bbbfb9868a42be5e"},{url:"resources/dia_th.txt",revision:"991c7523fdab1db1590ecf71075f85de"},{url:"resources/dia_tr.txt",revision:"ebe2bdd67274dc832f2a1c06e0415c99"},{url:"resources/dia_uk.txt",revision:"352152d7c79d70c2d7451d10cb9db4d1"},{url:"resources/dia_vi.txt",revision:"077de6f062ffe2fdf09369c41490caf6"},{url:"resources/dia_zh-tw.txt",revision:"0c405f3473c213c97287b9706bdaf5e6"},{url:"resources/dia_zh.txt",revision:"1379897fd5f960954a075507b559b7e9"},{url:"favicon.ico",revision:"fab2d88b37c72d83607527573de45281"},{url:"images/manifest.json",revision:"c6236bde53ed79aaaec60a1aca8ee2ef"},{url:"images/logo.png",revision:"89630b64b911ebe0daa3dfe442087cfa"},{url:"images/drawlogo.svg",revision:"4bf4d14ebcf072d8bd4c5a1c89e88fc6"},{url:"images/drawlogo48.png",revision:"8b13428373aca67b895364d025f42417"},{url:"images/drawlogo-gray.svg",revision:"0aabacbc0873816e1e09e4736ae44c7d"},{url:"images/drawlogo-text-bottom.svg",revision:"f6c438823ab31f290940bd4feb8dd9c2"},{url:"images/default-user.jpg",revision:"2c399696a87c8921f12d2f9e1990cc6e"},{url:"images/logo-flat-small.png",revision:"4b178e59ff499d6dd1894fc498b59877"},{url:"images/apple-touch-icon.png",revision:"73da7989a23ce9a4be565ec65658a239"},{url:"images/favicon-16x16.png",revision:"1a79d5461a5d2bf21f6652e0ac20d6e5"},{url:"images/favicon-32x32.png",revision:"e3b92da2febe70bad5372f6f3474b034"},{url:"images/android-chrome-196x196.png",revision:"f8c045b2d7b1c719fda64edab04c415c"},{url:"images/android-chrome-512x512.png",revision:"959b5fac2453963ff6d60fb85e4b73fd"},{url:"images/delete.png",revision:"5f2350f2fd20f1a229637aed32ed8f29"},{url:"images/droptarget.png",revision:"bbf7f563fb6784de1ce96f329519b043"},{url:"images/help.png",revision:"9266c6c3915bd33c243d80037d37bf61"},{url:"images/download.png",revision:"35418dd7bd48d87502c71b578cc6c37f"},{url:"images/logo-flat.png",revision:"038070ab43aee6e54a791211859fc67b"},{url:"images/google-drive-logo.svg",revision:"5d9f2f5bbc7dcc252730a0072bb23059"},{url:"images/onedrive-logo.svg",revision:"3645b344ec0634c1290dd58d7dc87b97"},{url:"images/dropbox-logo.svg",revision:"e6be408c77cf9c82d41ac64fa854280a"},{url:"images/github-logo.svg",revision:"a1a999b69a275eac0cb918360ac05ae1"},{url:"images/gitlab-logo.svg",revision:"0faea8c818899e58533e153c44b10517"},{url:"images/trello-logo.svg",revision:"006fd0d7d70d7e95dc691674cb12e044"},{url:"images/osa_drive-harddisk.png",revision:"b954e1ae772087c5b4c6ae797e1f9649"},{url:"images/osa_database.png",revision:"c350d9d9b95f37b6cfe798b40ede5fb0"},{url:"images/google-drive-logo-white.svg",revision:"f329d8b1be7778515a85b93fc35d9f26"},{url:"images/dropbox-logo-white.svg",revision:"4ea8299ac3bc31a16f199ee3aec223bf"},{url:"images/onedrive-logo-white.svg",revision:"b3602fa0fc947009cff3f33a581cff4d"},{url:"images/github-logo-white.svg",revision:"537b1127b3ca0f95b45782d1304fb77a"},{url:"images/gitlab-logo-white.svg",revision:"5fede9ac2f394c716b8c23e3fddc3910"},{url:"images/trello-logo-white-orange.svg",revision:"e2a0a52ba3766682f138138d10a75eb5"},{url:"images/logo-confluence.png",revision:"ed1e55d44ae5eba8f999aba2c93e8331"},{url:"images/logo-jira.png",revision:"f8d460555a0d1f87cfd901e940666629"},{url:"images/clear.gif",revision:"db13c778e4382e0b55258d0f811d5d70"},{url:"images/spin.gif",revision:"487cbb40b9ced439aa1ad914e816d773"},{url:"images/checkmark.gif",revision:"ba764ce62f2bf952df5bbc2bb4d381c5"},{url:"images/hs.png",revision:"fefa1a03d92ebad25c88dca94a0b63db"},{url:"images/aui-wait.gif",revision:"5a474bcbd8d2f2826f03d10ea44bf60e"},{url:"mxgraph/css/common.css",revision:"b5b7280ec98671bb6c3847a36bc7ea12"},{url:"mxgraph/images/expanded.gif",revision:"2b67c2c035af1e9a5cc814f0d22074cf"},{url:"mxgraph/images/collapsed.gif",revision:"73cc826da002a3d740ca4ce6ec5c1f4a"},{url:"mxgraph/images/maximize.gif",revision:"5cd13d6925493ab51e876694cc1c2ec2"},{url:"mxgraph/images/minimize.gif",revision:"8957741b9b0f86af9438775f2aadbb54"},{url:"mxgraph/images/close.gif",revision:"8b84669812ac7382984fca35de8da48b"},{url:"mxgraph/images/resize.gif",revision:"a6477612b3567a34033f9cac6184eed3"},{url:"mxgraph/images/separator.gif",revision:"7819742ff106c97da7a801c2372bbbe5"},{url:"mxgraph/images/window.gif",revision:"fd9a21dd4181f98052a202a0a01f18ab"},{url:"mxgraph/images/window-title.gif",revision:"3fb1d6c43246cdf991a11dfe826dfe99"},{url:"mxgraph/images/button.gif",revision:"00759bdc3ad218fa739f584369541809"},{url:"mxgraph/images/point.gif",revision:"83a43717b284902442620f61bc4e9fa6"}],{ignoreURLParametersMatching:[/.*/]})}));
//# sourceMappingURL=service-worker.js.map
diff --git a/src/main/webapp/service-worker.js.map b/src/main/webapp/service-worker.js.map
index 90fbd090..49203a87 100644
--- a/src/main/webapp/service-worker.js.map
+++ b/src/main/webapp/service-worker.js.map
@@ -1 +1 @@
-{"version":3,"file":"service-worker.js","sources":["../../../../../../../tmp/405791616b2f3ab9c2a59811cfff79b4/service-worker.js"],"sourcesContent":["import {precacheAndRoute as workbox_precaching_precacheAndRoute} from '/opt/hostedtoolcache/node/14.19.3/x64/lib/node_modules/workbox-cli/node_modules/workbox-precaching/precacheAndRoute.mjs';/**\n * Welcome to your Workbox-powered service worker!\n *\n * You'll need to register this file in your web app.\n * See https://goo.gl/nhQhGp\n *\n * The rest of the code is auto-generated. Please don't update this file\n * directly; instead, make changes to your Workbox build configuration\n * and re-run your build process.\n * See https://goo.gl/2aRDsh\n */\n\n\n\n\n\n\n\n\nself.addEventListener('message', (event) => {\n if (event.data && event.data.type === 'SKIP_WAITING') {\n self.skipWaiting();\n }\n});\n\n\n\n\n/**\n * The precacheAndRoute() method efficiently caches and responds to\n * requests for URLs in the manifest.\n * See https://goo.gl/S9QRab\n */\nworkbox_precaching_precacheAndRoute([\n {\n \"url\": \"js/app.min.js\",\n \"revision\": \"8856b392ace29f3e6292a241b0351f9e\"\n },\n {\n \"url\": \"js/extensions.min.js\",\n \"revision\": \"45df373f567b94c1dce78ba61b591983\"\n },\n {\n \"url\": \"js/stencils.min.js\",\n \"revision\": \"4dbdbc7cee6fc00d1b8c6fe1022a0989\"\n },\n {\n \"url\": \"js/shapes-14-6-5.min.js\",\n \"revision\": \"f0e1d4c09054df2f3ea3793491e9fe08\"\n },\n {\n \"url\": \"js/math-print.js\",\n \"revision\": \"0611491c663261a732ff18224906184d\"\n },\n {\n \"url\": \"index.html\",\n \"revision\": \"8b5b1cf07fc74454cf354717e9d18534\"\n },\n {\n \"url\": \"open.html\",\n \"revision\": \"d71816b3b00e769fc6019fcdd6921662\"\n },\n {\n \"url\": \"styles/fonts/ArchitectsDaughter-Regular.ttf\",\n \"revision\": \"31c2153c0530e32553b31a49b3d70736\"\n },\n {\n \"url\": \"styles/grapheditor.css\",\n \"revision\": \"4f2c07c4585347249c95cd9158872fb2\"\n },\n {\n \"url\": \"styles/atlas.css\",\n \"revision\": \"e8152cda9233d3a3af017422993abfce\"\n },\n {\n \"url\": \"styles/dark.css\",\n \"revision\": \"3179f617dd02efd2cefeb8c06f965880\"\n },\n {\n \"url\": \"js/dropbox/Dropbox-sdk.min.js\",\n \"revision\": \"4b9842892aa37b156db0a8364b7a83b0\"\n },\n {\n \"url\": \"js/onedrive/OneDrive.js\",\n \"revision\": \"505e8280346666f7ee801bc59521fa67\"\n },\n {\n \"url\": \"js/viewer-static.min.js\",\n \"revision\": \"6b5d7470392f84f7a84e14191257bf8b\"\n },\n {\n \"url\": \"connect/jira/editor-1-3-3.html\",\n \"revision\": \"a2b0e7267a08a838f3cc404eba831ec0\"\n },\n {\n \"url\": \"connect/jira/viewerPanel-1-3-12.html\",\n \"revision\": \"c96db1790184cb35781f791e8d1dafd9\"\n },\n {\n \"url\": \"connect/jira/fullScreenViewer-1-3-3.html\",\n \"revision\": \"ba7ece2dfb2833b72f97280d7092f25e\"\n },\n {\n \"url\": \"connect/jira/viewerPanel.js\",\n \"revision\": \"6d5a85e70c7b82ba685782ca6df2b9d5\"\n },\n {\n \"url\": \"connect/jira/spinner.gif\",\n \"revision\": \"7d857ab9d86123e93d74d48e958fe743\"\n },\n {\n \"url\": \"connect/jira/editor.js\",\n \"revision\": \"01caa325f3ad3f6565e0b4228907fb63\"\n },\n {\n \"url\": \"connect/jira/fullscreen-viewer-init.js\",\n \"revision\": \"e00ad51fc16b87c362d6eaf930ab1fa5\"\n },\n {\n \"url\": \"connect/jira/fullscreen-viewer.js\",\n \"revision\": \"4e0775a6c156a803e777870623ac7c3e\"\n },\n {\n \"url\": \"plugins/connectJira.js\",\n \"revision\": \"4cefa13414e0d406550f3c073923080c\"\n },\n {\n \"url\": \"plugins/cConf-comments.js\",\n \"revision\": \"c787357209cff2986dcca567b599e2ef\"\n },\n {\n \"url\": \"plugins/cConf-1-4-8.js\",\n \"revision\": \"c6552981ba1add209fe3e12ffcf79c9a\"\n },\n {\n \"url\": \"connect/confluence/connectUtils-1-4-8.js\",\n \"revision\": \"fab9a95f19a57bb836e42f67a1c0078b\"\n },\n {\n \"url\": \"connect/new_common/cac.js\",\n \"revision\": \"3d8c436c566db645fb1e6e6ba9f69bbc\"\n },\n {\n \"url\": \"connect/gdrive_common/gac.js\",\n \"revision\": \"38f1df3ecc4d78290493f47e62202138\"\n },\n {\n \"url\": \"connect/onedrive_common/ac.js\",\n \"revision\": \"d089f12446d443ca01752a5115456fcc\"\n },\n {\n \"url\": \"connect/confluence/viewer-init.js\",\n \"revision\": \"2bd677096ebffd3aa5cab0c347851e3f\"\n },\n {\n \"url\": \"connect/confluence/viewer.js\",\n \"revision\": \"a9d84488d17425d28e5d85d464e0a8f8\"\n },\n {\n \"url\": \"connect/confluence/viewer-1-4-42.html\",\n \"revision\": \"4c58f3a1a4c99b1c4264593b6e05100b\"\n },\n {\n \"url\": \"connect/confluence/macroEditor-1-4-8.html\",\n \"revision\": \"8cd74a2fb60bf2e3e86026d66107cf11\"\n },\n {\n \"url\": \"connect/confluence/includeDiagram-1-4-8.js\",\n \"revision\": \"352d2782274de07617d117926b68c205\"\n },\n {\n \"url\": \"connect/confluence/includeDiagram.html\",\n \"revision\": \"5cefef0227d058cf716d1f51f2cf202f\"\n },\n {\n \"url\": \"connect/confluence/macro-editor.js\",\n \"revision\": \"412bc4b87e630b697a40f247c579d398\"\n },\n {\n \"url\": \"math/MathJax.js\",\n \"revision\": \"b2c103388b71bb3d11cbf9aa45fe9b68\"\n },\n {\n \"url\": \"math/config/TeX-MML-AM_SVG-full.js\",\n \"revision\": \"d5cb8ac04050983170ae4af145bc66ff\"\n },\n {\n \"url\": \"math/jax/output/SVG/fonts/TeX/fontdata.js\",\n \"revision\": \"495e5a410955d1b6178870e605890ede\"\n },\n {\n \"url\": \"math/jax/element/mml/optable/BasicLatin.js\",\n \"revision\": \"cac9b2e71382e62270baa55fab07cc13\"\n },\n {\n \"url\": \"math/jax/output/SVG/fonts/TeX/Size2/Regular/Main.js\",\n \"revision\": \"e3e5e4d5924beed29f0844550b5c8f46\"\n },\n {\n \"url\": \"math/jax/output/SVG/fonts/TeX/Main/Regular/LetterlikeSymbols.js\",\n \"revision\": \"0767cbad7275b53da128e7e5e1109f7c\"\n },\n {\n \"url\": \"math/jax/output/SVG/fonts/TeX/Main/Regular/GreekAndCoptic.js\",\n \"revision\": \"346302a5c5ee00e01c302148c56dbfe3\"\n },\n {\n \"url\": \"resources/dia.txt\",\n \"revision\": \"2d474154fe5893976198647ea505ac96\"\n },\n {\n \"url\": \"resources/dia_am.txt\",\n \"revision\": \"d767c66fc3d828f01790d5145a43f944\"\n },\n {\n \"url\": \"resources/dia_ar.txt\",\n \"revision\": \"326cf12a2eb475cfd18ca0aa8f454c27\"\n },\n {\n \"url\": \"resources/dia_bg.txt\",\n \"revision\": \"d935ebdf513f6d6c8b2488ca53edc48d\"\n },\n {\n \"url\": \"resources/dia_bn.txt\",\n \"revision\": \"9a066d6e0cb91240a5de909c09ad5f00\"\n },\n {\n \"url\": \"resources/dia_bs.txt\",\n \"revision\": \"834558d329362244813342c858ee0bb3\"\n },\n {\n \"url\": \"resources/dia_ca.txt\",\n \"revision\": \"7ea27e2cedf5a72c2d6acc3882f1107f\"\n },\n {\n \"url\": \"resources/dia_cs.txt\",\n \"revision\": \"73d43bc65e16f28055cc70302d8f5b23\"\n },\n {\n \"url\": \"resources/dia_da.txt\",\n \"revision\": \"9684d36e43a503a7923220702367e1bd\"\n },\n {\n \"url\": \"resources/dia_de.txt\",\n \"revision\": \"492ec6381d7a44fbc5da1adf674cdd3c\"\n },\n {\n \"url\": \"resources/dia_el.txt\",\n \"revision\": \"134ef55f7ede4d1ec364fc275c1dc560\"\n },\n {\n \"url\": \"resources/dia_eo.txt\",\n \"revision\": \"df44330c02c251217f68199902bb71b4\"\n },\n {\n \"url\": \"resources/dia_es.txt\",\n \"revision\": \"f4782a7a893fc58ac5138a94ee506ff1\"\n },\n {\n \"url\": \"resources/dia_et.txt\",\n \"revision\": \"ab5d6547dbef2866651d5854cd44ad54\"\n },\n {\n \"url\": \"resources/dia_eu.txt\",\n \"revision\": \"78de7c722cdc7079dbce68df02ab0ef9\"\n },\n {\n \"url\": \"resources/dia_fa.txt\",\n \"revision\": \"44639b4c2018027b39e998d527c444e3\"\n },\n {\n \"url\": \"resources/dia_fi.txt\",\n \"revision\": \"01b3890a6db98ef3a43485ba49ac7992\"\n },\n {\n \"url\": \"resources/dia_fil.txt\",\n \"revision\": \"53c542d5fea30e409eca8fe10048859b\"\n },\n {\n \"url\": \"resources/dia_fr.txt\",\n \"revision\": \"ff0e55a0b6321a7d0fbe35a4d37a9908\"\n },\n {\n \"url\": \"resources/dia_gl.txt\",\n \"revision\": \"fd421cae2d65a12f45743d029d1f2d1e\"\n },\n {\n \"url\": \"resources/dia_gu.txt\",\n \"revision\": \"54fffb1c7c7da120cb22f71d4fef3c49\"\n },\n {\n \"url\": \"resources/dia_he.txt\",\n \"revision\": \"9bb0be8fd970a9640d5b5f59afb22326\"\n },\n {\n \"url\": \"resources/dia_hi.txt\",\n \"revision\": \"353564fdcbdec14435e22cc10ea340a9\"\n },\n {\n \"url\": \"resources/dia_hr.txt\",\n \"revision\": \"cfefa39b02d5ff3a718c5ca688675a22\"\n },\n {\n \"url\": \"resources/dia_hu.txt\",\n \"revision\": \"b1e4b3e78529cbae7f9b41b95d8d015f\"\n },\n {\n \"url\": \"resources/dia_id.txt\",\n \"revision\": \"43353905b8e9180461055b1ed17dc53d\"\n },\n {\n \"url\": \"resources/dia_it.txt\",\n \"revision\": \"c55df5f591ed818e1ff6f60bf2eb0dcd\"\n },\n {\n \"url\": \"resources/dia_ja.txt\",\n \"revision\": \"185602e27366d4c4155de476bb5010ff\"\n },\n {\n \"url\": \"resources/dia_kn.txt\",\n \"revision\": \"7f4970fd5a35520e5871334bb8154c03\"\n },\n {\n \"url\": \"resources/dia_ko.txt\",\n \"revision\": \"6478a7552215d6c5b782cba0908ffa0e\"\n },\n {\n \"url\": \"resources/dia_lt.txt\",\n \"revision\": \"521711aef9fcf41ee833e5e669de1b6e\"\n },\n {\n \"url\": \"resources/dia_lv.txt\",\n \"revision\": \"70558cca334ed3d090ecda7423aad8df\"\n },\n {\n \"url\": \"resources/dia_ml.txt\",\n \"revision\": \"d827e98625dfa9d320d2a00fa5709f54\"\n },\n {\n \"url\": \"resources/dia_mr.txt\",\n \"revision\": \"3510ad556be2f84f7aefc617e49fa773\"\n },\n {\n \"url\": \"resources/dia_ms.txt\",\n \"revision\": \"fe33d70d3b621e0f511388d9ef3667aa\"\n },\n {\n \"url\": \"resources/dia_my.txt\",\n \"revision\": \"2d474154fe5893976198647ea505ac96\"\n },\n {\n \"url\": \"resources/dia_nl.txt\",\n \"revision\": \"ec08e8294289a952b8ec15ef9615b927\"\n },\n {\n \"url\": \"resources/dia_no.txt\",\n \"revision\": \"62c693c6ea9a58bc0dd4eec7b1b1ea7d\"\n },\n {\n \"url\": \"resources/dia_pl.txt\",\n \"revision\": \"db85c32f7458bbdb4dabd8ee04c5e6e5\"\n },\n {\n \"url\": \"resources/dia_pt-br.txt\",\n \"revision\": \"2cffd3b30b81113406236b29ec19fcf4\"\n },\n {\n \"url\": \"resources/dia_pt.txt\",\n \"revision\": \"faa525cfd933d9b28bab4ba9958d2a91\"\n },\n {\n \"url\": \"resources/dia_ro.txt\",\n \"revision\": \"4f0c51dc49be417530a88e264acc8ac7\"\n },\n {\n \"url\": \"resources/dia_ru.txt\",\n \"revision\": \"2454d71cf5eda2fca6da0a4ac02c0ce0\"\n },\n {\n \"url\": \"resources/dia_si.txt\",\n \"revision\": \"2d474154fe5893976198647ea505ac96\"\n },\n {\n \"url\": \"resources/dia_sk.txt\",\n \"revision\": \"a65bba3698e3cb60764146a1d6a1b494\"\n },\n {\n \"url\": \"resources/dia_sl.txt\",\n \"revision\": \"03e8bdd1584030ef4bd3e59311806bde\"\n },\n {\n \"url\": \"resources/dia_sr.txt\",\n \"revision\": \"7377e7c4b5f5e768bd4f9a32c40f0143\"\n },\n {\n \"url\": \"resources/dia_sv.txt\",\n \"revision\": \"3106d87ab7710b789ca481df9f9eaa20\"\n },\n {\n \"url\": \"resources/dia_sw.txt\",\n \"revision\": \"a4b2cdef952b5e6b5a1cb569ecb48347\"\n },\n {\n \"url\": \"resources/dia_ta.txt\",\n \"revision\": \"cfd99e1386d7a0310a1ba24a1bd39f26\"\n },\n {\n \"url\": \"resources/dia_te.txt\",\n \"revision\": \"f0ded6e2695a8715bbbfb9868a42be5e\"\n },\n {\n \"url\": \"resources/dia_th.txt\",\n \"revision\": \"991c7523fdab1db1590ecf71075f85de\"\n },\n {\n \"url\": \"resources/dia_tr.txt\",\n \"revision\": \"ebe2bdd67274dc832f2a1c06e0415c99\"\n },\n {\n \"url\": \"resources/dia_uk.txt\",\n \"revision\": \"352152d7c79d70c2d7451d10cb9db4d1\"\n },\n {\n \"url\": \"resources/dia_vi.txt\",\n \"revision\": \"077de6f062ffe2fdf09369c41490caf6\"\n },\n {\n \"url\": \"resources/dia_zh-tw.txt\",\n \"revision\": \"0c405f3473c213c97287b9706bdaf5e6\"\n },\n {\n \"url\": \"resources/dia_zh.txt\",\n \"revision\": \"1379897fd5f960954a075507b559b7e9\"\n },\n {\n \"url\": \"favicon.ico\",\n \"revision\": \"fab2d88b37c72d83607527573de45281\"\n },\n {\n \"url\": \"images/manifest.json\",\n \"revision\": \"c6236bde53ed79aaaec60a1aca8ee2ef\"\n },\n {\n \"url\": \"images/logo.png\",\n \"revision\": \"89630b64b911ebe0daa3dfe442087cfa\"\n },\n {\n \"url\": \"images/drawlogo.svg\",\n \"revision\": \"4bf4d14ebcf072d8bd4c5a1c89e88fc6\"\n },\n {\n \"url\": \"images/drawlogo48.png\",\n \"revision\": \"8b13428373aca67b895364d025f42417\"\n },\n {\n \"url\": \"images/drawlogo-gray.svg\",\n \"revision\": \"0aabacbc0873816e1e09e4736ae44c7d\"\n },\n {\n \"url\": \"images/drawlogo-text-bottom.svg\",\n \"revision\": \"f6c438823ab31f290940bd4feb8dd9c2\"\n },\n {\n \"url\": \"images/default-user.jpg\",\n \"revision\": \"2c399696a87c8921f12d2f9e1990cc6e\"\n },\n {\n \"url\": \"images/logo-flat-small.png\",\n \"revision\": \"4b178e59ff499d6dd1894fc498b59877\"\n },\n {\n \"url\": \"images/apple-touch-icon.png\",\n \"revision\": \"73da7989a23ce9a4be565ec65658a239\"\n },\n {\n \"url\": \"images/favicon-16x16.png\",\n \"revision\": \"1a79d5461a5d2bf21f6652e0ac20d6e5\"\n },\n {\n \"url\": \"images/favicon-32x32.png\",\n \"revision\": \"e3b92da2febe70bad5372f6f3474b034\"\n },\n {\n \"url\": \"images/android-chrome-196x196.png\",\n \"revision\": \"f8c045b2d7b1c719fda64edab04c415c\"\n },\n {\n \"url\": \"images/android-chrome-512x512.png\",\n \"revision\": \"959b5fac2453963ff6d60fb85e4b73fd\"\n },\n {\n \"url\": \"images/delete.png\",\n \"revision\": \"5f2350f2fd20f1a229637aed32ed8f29\"\n },\n {\n \"url\": \"images/droptarget.png\",\n \"revision\": \"bbf7f563fb6784de1ce96f329519b043\"\n },\n {\n \"url\": \"images/help.png\",\n \"revision\": \"9266c6c3915bd33c243d80037d37bf61\"\n },\n {\n \"url\": \"images/download.png\",\n \"revision\": \"35418dd7bd48d87502c71b578cc6c37f\"\n },\n {\n \"url\": \"images/logo-flat.png\",\n \"revision\": \"038070ab43aee6e54a791211859fc67b\"\n },\n {\n \"url\": \"images/google-drive-logo.svg\",\n \"revision\": \"5d9f2f5bbc7dcc252730a0072bb23059\"\n },\n {\n \"url\": \"images/onedrive-logo.svg\",\n \"revision\": \"3645b344ec0634c1290dd58d7dc87b97\"\n },\n {\n \"url\": \"images/dropbox-logo.svg\",\n \"revision\": \"e6be408c77cf9c82d41ac64fa854280a\"\n },\n {\n \"url\": \"images/github-logo.svg\",\n \"revision\": \"a1a999b69a275eac0cb918360ac05ae1\"\n },\n {\n \"url\": \"images/gitlab-logo.svg\",\n \"revision\": \"0faea8c818899e58533e153c44b10517\"\n },\n {\n \"url\": \"images/trello-logo.svg\",\n \"revision\": \"006fd0d7d70d7e95dc691674cb12e044\"\n },\n {\n \"url\": \"images/osa_drive-harddisk.png\",\n \"revision\": \"b954e1ae772087c5b4c6ae797e1f9649\"\n },\n {\n \"url\": \"images/osa_database.png\",\n \"revision\": \"c350d9d9b95f37b6cfe798b40ede5fb0\"\n },\n {\n \"url\": \"images/google-drive-logo-white.svg\",\n \"revision\": \"f329d8b1be7778515a85b93fc35d9f26\"\n },\n {\n \"url\": \"images/dropbox-logo-white.svg\",\n \"revision\": \"4ea8299ac3bc31a16f199ee3aec223bf\"\n },\n {\n \"url\": \"images/onedrive-logo-white.svg\",\n \"revision\": \"b3602fa0fc947009cff3f33a581cff4d\"\n },\n {\n \"url\": \"images/github-logo-white.svg\",\n \"revision\": \"537b1127b3ca0f95b45782d1304fb77a\"\n },\n {\n \"url\": \"images/gitlab-logo-white.svg\",\n \"revision\": \"5fede9ac2f394c716b8c23e3fddc3910\"\n },\n {\n \"url\": \"images/trello-logo-white-orange.svg\",\n \"revision\": \"e2a0a52ba3766682f138138d10a75eb5\"\n },\n {\n \"url\": \"images/logo-confluence.png\",\n \"revision\": \"ed1e55d44ae5eba8f999aba2c93e8331\"\n },\n {\n \"url\": \"images/logo-jira.png\",\n \"revision\": \"f8d460555a0d1f87cfd901e940666629\"\n },\n {\n \"url\": \"images/clear.gif\",\n \"revision\": \"db13c778e4382e0b55258d0f811d5d70\"\n },\n {\n \"url\": \"images/spin.gif\",\n \"revision\": \"487cbb40b9ced439aa1ad914e816d773\"\n },\n {\n \"url\": \"images/checkmark.gif\",\n \"revision\": \"ba764ce62f2bf952df5bbc2bb4d381c5\"\n },\n {\n \"url\": \"images/hs.png\",\n \"revision\": \"fefa1a03d92ebad25c88dca94a0b63db\"\n },\n {\n \"url\": \"images/aui-wait.gif\",\n \"revision\": \"5a474bcbd8d2f2826f03d10ea44bf60e\"\n },\n {\n \"url\": \"mxgraph/css/common.css\",\n \"revision\": \"b5b7280ec98671bb6c3847a36bc7ea12\"\n },\n {\n \"url\": \"mxgraph/images/expanded.gif\",\n \"revision\": \"2b67c2c035af1e9a5cc814f0d22074cf\"\n },\n {\n \"url\": \"mxgraph/images/collapsed.gif\",\n \"revision\": \"73cc826da002a3d740ca4ce6ec5c1f4a\"\n },\n {\n \"url\": \"mxgraph/images/maximize.gif\",\n \"revision\": \"5cd13d6925493ab51e876694cc1c2ec2\"\n },\n {\n \"url\": \"mxgraph/images/minimize.gif\",\n \"revision\": \"8957741b9b0f86af9438775f2aadbb54\"\n },\n {\n \"url\": \"mxgraph/images/close.gif\",\n \"revision\": \"8b84669812ac7382984fca35de8da48b\"\n },\n {\n \"url\": \"mxgraph/images/resize.gif\",\n \"revision\": \"a6477612b3567a34033f9cac6184eed3\"\n },\n {\n \"url\": \"mxgraph/images/separator.gif\",\n \"revision\": \"7819742ff106c97da7a801c2372bbbe5\"\n },\n {\n \"url\": \"mxgraph/images/window.gif\",\n \"revision\": \"fd9a21dd4181f98052a202a0a01f18ab\"\n },\n {\n \"url\": \"mxgraph/images/window-title.gif\",\n \"revision\": \"3fb1d6c43246cdf991a11dfe826dfe99\"\n },\n {\n \"url\": \"mxgraph/images/button.gif\",\n \"revision\": \"00759bdc3ad218fa739f584369541809\"\n },\n {\n \"url\": \"mxgraph/images/point.gif\",\n \"revision\": \"83a43717b284902442620f61bc4e9fa6\"\n }\n], {\n \"ignoreURLParametersMatching\": [/.*/]\n});\n\n\n\n\n\n\n\n\n"],"names":["self","addEventListener","event","data","type","skipWaiting","workbox_precaching_precacheAndRoute","url","revision","ignoreURLParametersMatching"],"mappings":"szBAmBAA,KAAKC,iBAAiB,WAAYC,IAC5BA,EAAMC,MAA4B,iBAApBD,EAAMC,KAAKC,MAC3BJ,KAAKK,iBAYTC,EAAAA,iBAAoC,CAClC,CACEC,IAAO,gBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,YACPC,SAAY,oCAEd,CACED,IAAO,8CACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,gCACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,iCACPC,SAAY,oCAEd,CACED,IAAO,uCACPC,SAAY,oCAEd,CACED,IAAO,2CACPC,SAAY,oCAEd,CACED,IAAO,8BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yCACPC,SAAY,oCAEd,CACED,IAAO,oCACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,4BACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,2CACPC,SAAY,oCAEd,CACED,IAAO,4BACPC,SAAY,oCAEd,CACED,IAAO,+BACPC,SAAY,oCAEd,CACED,IAAO,gCACPC,SAAY,oCAEd,CACED,IAAO,oCACPC,SAAY,oCAEd,CACED,IAAO,+BACPC,SAAY,oCAEd,CACED,IAAO,wCACPC,SAAY,oCAEd,CACED,IAAO,4CACPC,SAAY,oCAEd,CACED,IAAO,6CACPC,SAAY,oCAEd,CACED,IAAO,yCACPC,SAAY,oCAEd,CACED,IAAO,qCACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,qCACPC,SAAY,oCAEd,CACED,IAAO,4CACPC,SAAY,oCAEd,CACED,IAAO,6CACPC,SAAY,oCAEd,CACED,IAAO,sDACPC,SAAY,oCAEd,CACED,IAAO,kEACPC,SAAY,oCAEd,CACED,IAAO,+DACPC,SAAY,oCAEd,CACED,IAAO,oBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,wBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,sBACPC,SAAY,oCAEd,CACED,IAAO,wBACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,kCACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,8BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,oCACPC,SAAY,oCAEd,CACED,IAAO,oCACPC,SAAY,oCAEd,CACED,IAAO,oBACPC,SAAY,oCAEd,CACED,IAAO,wBACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,sBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,+BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,gCACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,qCACPC,SAAY,oCAEd,CACED,IAAO,gCACPC,SAAY,oCAEd,CACED,IAAO,iCACPC,SAAY,oCAEd,CACED,IAAO,+BACPC,SAAY,oCAEd,CACED,IAAO,+BACPC,SAAY,oCAEd,CACED,IAAO,sCACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,gBACPC,SAAY,oCAEd,CACED,IAAO,sBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,8BACPC,SAAY,oCAEd,CACED,IAAO,+BACPC,SAAY,oCAEd,CACED,IAAO,8BACPC,SAAY,oCAEd,CACED,IAAO,8BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,4BACPC,SAAY,oCAEd,CACED,IAAO,+BACPC,SAAY,oCAEd,CACED,IAAO,4BACPC,SAAY,oCAEd,CACED,IAAO,kCACPC,SAAY,oCAEd,CACED,IAAO,4BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,qCAEb,CACDC,4BAA+B,CAAC"} \ No newline at end of file
+{"version":3,"file":"service-worker.js","sources":["../../../../../../../tmp/f1687fc3a6e0fc637df2c76f5e383d9d/service-worker.js"],"sourcesContent":["import {precacheAndRoute as workbox_precaching_precacheAndRoute} from '/opt/hostedtoolcache/node/14.19.3/x64/lib/node_modules/workbox-cli/node_modules/workbox-precaching/precacheAndRoute.mjs';/**\n * Welcome to your Workbox-powered service worker!\n *\n * You'll need to register this file in your web app.\n * See https://goo.gl/nhQhGp\n *\n * The rest of the code is auto-generated. Please don't update this file\n * directly; instead, make changes to your Workbox build configuration\n * and re-run your build process.\n * See https://goo.gl/2aRDsh\n */\n\n\n\n\n\n\n\n\nself.addEventListener('message', (event) => {\n if (event.data && event.data.type === 'SKIP_WAITING') {\n self.skipWaiting();\n }\n});\n\n\n\n\n/**\n * The precacheAndRoute() method efficiently caches and responds to\n * requests for URLs in the manifest.\n * See https://goo.gl/S9QRab\n */\nworkbox_precaching_precacheAndRoute([\n {\n \"url\": \"js/app.min.js\",\n \"revision\": \"99e42bc01d8d5bc1c7c339abe033c020\"\n },\n {\n \"url\": \"js/extensions.min.js\",\n \"revision\": \"45df373f567b94c1dce78ba61b591983\"\n },\n {\n \"url\": \"js/stencils.min.js\",\n \"revision\": \"4dbdbc7cee6fc00d1b8c6fe1022a0989\"\n },\n {\n \"url\": \"js/shapes-14-6-5.min.js\",\n \"revision\": \"f0e1d4c09054df2f3ea3793491e9fe08\"\n },\n {\n \"url\": \"js/math-print.js\",\n \"revision\": \"0611491c663261a732ff18224906184d\"\n },\n {\n \"url\": \"index.html\",\n \"revision\": \"8b5b1cf07fc74454cf354717e9d18534\"\n },\n {\n \"url\": \"open.html\",\n \"revision\": \"d71816b3b00e769fc6019fcdd6921662\"\n },\n {\n \"url\": \"styles/fonts/ArchitectsDaughter-Regular.ttf\",\n \"revision\": \"31c2153c0530e32553b31a49b3d70736\"\n },\n {\n \"url\": \"styles/grapheditor.css\",\n \"revision\": \"4f2c07c4585347249c95cd9158872fb2\"\n },\n {\n \"url\": \"styles/atlas.css\",\n \"revision\": \"e8152cda9233d3a3af017422993abfce\"\n },\n {\n \"url\": \"styles/dark.css\",\n \"revision\": \"3179f617dd02efd2cefeb8c06f965880\"\n },\n {\n \"url\": \"js/dropbox/Dropbox-sdk.min.js\",\n \"revision\": \"4b9842892aa37b156db0a8364b7a83b0\"\n },\n {\n \"url\": \"js/onedrive/OneDrive.js\",\n \"revision\": \"505e8280346666f7ee801bc59521fa67\"\n },\n {\n \"url\": \"js/viewer-static.min.js\",\n \"revision\": \"047be86e074619c1a296e403bc3cbfba\"\n },\n {\n \"url\": \"connect/jira/editor-1-3-3.html\",\n \"revision\": \"a2b0e7267a08a838f3cc404eba831ec0\"\n },\n {\n \"url\": \"connect/jira/viewerPanel-1-3-12.html\",\n \"revision\": \"c96db1790184cb35781f791e8d1dafd9\"\n },\n {\n \"url\": \"connect/jira/fullScreenViewer-1-3-3.html\",\n \"revision\": \"ba7ece2dfb2833b72f97280d7092f25e\"\n },\n {\n \"url\": \"connect/jira/viewerPanel.js\",\n \"revision\": \"6d5a85e70c7b82ba685782ca6df2b9d5\"\n },\n {\n \"url\": \"connect/jira/spinner.gif\",\n \"revision\": \"7d857ab9d86123e93d74d48e958fe743\"\n },\n {\n \"url\": \"connect/jira/editor.js\",\n \"revision\": \"01caa325f3ad3f6565e0b4228907fb63\"\n },\n {\n \"url\": \"connect/jira/fullscreen-viewer-init.js\",\n \"revision\": \"e00ad51fc16b87c362d6eaf930ab1fa5\"\n },\n {\n \"url\": \"connect/jira/fullscreen-viewer.js\",\n \"revision\": \"4e0775a6c156a803e777870623ac7c3e\"\n },\n {\n \"url\": \"plugins/connectJira.js\",\n \"revision\": \"4cefa13414e0d406550f3c073923080c\"\n },\n {\n \"url\": \"plugins/cConf-comments.js\",\n \"revision\": \"c787357209cff2986dcca567b599e2ef\"\n },\n {\n \"url\": \"plugins/cConf-1-4-8.js\",\n \"revision\": \"c6552981ba1add209fe3e12ffcf79c9a\"\n },\n {\n \"url\": \"connect/confluence/connectUtils-1-4-8.js\",\n \"revision\": \"fab9a95f19a57bb836e42f67a1c0078b\"\n },\n {\n \"url\": \"connect/new_common/cac.js\",\n \"revision\": \"3d8c436c566db645fb1e6e6ba9f69bbc\"\n },\n {\n \"url\": \"connect/gdrive_common/gac.js\",\n \"revision\": \"38f1df3ecc4d78290493f47e62202138\"\n },\n {\n \"url\": \"connect/onedrive_common/ac.js\",\n \"revision\": \"d089f12446d443ca01752a5115456fcc\"\n },\n {\n \"url\": \"connect/confluence/viewer-init.js\",\n \"revision\": \"2bd677096ebffd3aa5cab0c347851e3f\"\n },\n {\n \"url\": \"connect/confluence/viewer.js\",\n \"revision\": \"a9d84488d17425d28e5d85d464e0a8f8\"\n },\n {\n \"url\": \"connect/confluence/viewer-1-4-42.html\",\n \"revision\": \"4c58f3a1a4c99b1c4264593b6e05100b\"\n },\n {\n \"url\": \"connect/confluence/macroEditor-1-4-8.html\",\n \"revision\": \"8cd74a2fb60bf2e3e86026d66107cf11\"\n },\n {\n \"url\": \"connect/confluence/includeDiagram-1-4-8.js\",\n \"revision\": \"352d2782274de07617d117926b68c205\"\n },\n {\n \"url\": \"connect/confluence/includeDiagram.html\",\n \"revision\": \"5cefef0227d058cf716d1f51f2cf202f\"\n },\n {\n \"url\": \"connect/confluence/macro-editor.js\",\n \"revision\": \"412bc4b87e630b697a40f247c579d398\"\n },\n {\n \"url\": \"math/MathJax.js\",\n \"revision\": \"b2c103388b71bb3d11cbf9aa45fe9b68\"\n },\n {\n \"url\": \"math/config/TeX-MML-AM_SVG-full.js\",\n \"revision\": \"d5cb8ac04050983170ae4af145bc66ff\"\n },\n {\n \"url\": \"math/jax/output/SVG/fonts/TeX/fontdata.js\",\n \"revision\": \"495e5a410955d1b6178870e605890ede\"\n },\n {\n \"url\": \"math/jax/element/mml/optable/BasicLatin.js\",\n \"revision\": \"cac9b2e71382e62270baa55fab07cc13\"\n },\n {\n \"url\": \"math/jax/output/SVG/fonts/TeX/Size2/Regular/Main.js\",\n \"revision\": \"e3e5e4d5924beed29f0844550b5c8f46\"\n },\n {\n \"url\": \"math/jax/output/SVG/fonts/TeX/Main/Regular/LetterlikeSymbols.js\",\n \"revision\": \"0767cbad7275b53da128e7e5e1109f7c\"\n },\n {\n \"url\": \"math/jax/output/SVG/fonts/TeX/Main/Regular/GreekAndCoptic.js\",\n \"revision\": \"346302a5c5ee00e01c302148c56dbfe3\"\n },\n {\n \"url\": \"resources/dia.txt\",\n \"revision\": \"2d474154fe5893976198647ea505ac96\"\n },\n {\n \"url\": \"resources/dia_am.txt\",\n \"revision\": \"d767c66fc3d828f01790d5145a43f944\"\n },\n {\n \"url\": \"resources/dia_ar.txt\",\n \"revision\": \"326cf12a2eb475cfd18ca0aa8f454c27\"\n },\n {\n \"url\": \"resources/dia_bg.txt\",\n \"revision\": \"d935ebdf513f6d6c8b2488ca53edc48d\"\n },\n {\n \"url\": \"resources/dia_bn.txt\",\n \"revision\": \"9a066d6e0cb91240a5de909c09ad5f00\"\n },\n {\n \"url\": \"resources/dia_bs.txt\",\n \"revision\": \"834558d329362244813342c858ee0bb3\"\n },\n {\n \"url\": \"resources/dia_ca.txt\",\n \"revision\": \"7ea27e2cedf5a72c2d6acc3882f1107f\"\n },\n {\n \"url\": \"resources/dia_cs.txt\",\n \"revision\": \"73d43bc65e16f28055cc70302d8f5b23\"\n },\n {\n \"url\": \"resources/dia_da.txt\",\n \"revision\": \"9684d36e43a503a7923220702367e1bd\"\n },\n {\n \"url\": \"resources/dia_de.txt\",\n \"revision\": \"492ec6381d7a44fbc5da1adf674cdd3c\"\n },\n {\n \"url\": \"resources/dia_el.txt\",\n \"revision\": \"134ef55f7ede4d1ec364fc275c1dc560\"\n },\n {\n \"url\": \"resources/dia_eo.txt\",\n \"revision\": \"df44330c02c251217f68199902bb71b4\"\n },\n {\n \"url\": \"resources/dia_es.txt\",\n \"revision\": \"f4782a7a893fc58ac5138a94ee506ff1\"\n },\n {\n \"url\": \"resources/dia_et.txt\",\n \"revision\": \"ab5d6547dbef2866651d5854cd44ad54\"\n },\n {\n \"url\": \"resources/dia_eu.txt\",\n \"revision\": \"78de7c722cdc7079dbce68df02ab0ef9\"\n },\n {\n \"url\": \"resources/dia_fa.txt\",\n \"revision\": \"44639b4c2018027b39e998d527c444e3\"\n },\n {\n \"url\": \"resources/dia_fi.txt\",\n \"revision\": \"01b3890a6db98ef3a43485ba49ac7992\"\n },\n {\n \"url\": \"resources/dia_fil.txt\",\n \"revision\": \"53c542d5fea30e409eca8fe10048859b\"\n },\n {\n \"url\": \"resources/dia_fr.txt\",\n \"revision\": \"ff0e55a0b6321a7d0fbe35a4d37a9908\"\n },\n {\n \"url\": \"resources/dia_gl.txt\",\n \"revision\": \"fd421cae2d65a12f45743d029d1f2d1e\"\n },\n {\n \"url\": \"resources/dia_gu.txt\",\n \"revision\": \"54fffb1c7c7da120cb22f71d4fef3c49\"\n },\n {\n \"url\": \"resources/dia_he.txt\",\n \"revision\": \"9bb0be8fd970a9640d5b5f59afb22326\"\n },\n {\n \"url\": \"resources/dia_hi.txt\",\n \"revision\": \"353564fdcbdec14435e22cc10ea340a9\"\n },\n {\n \"url\": \"resources/dia_hr.txt\",\n \"revision\": \"cfefa39b02d5ff3a718c5ca688675a22\"\n },\n {\n \"url\": \"resources/dia_hu.txt\",\n \"revision\": \"b1e4b3e78529cbae7f9b41b95d8d015f\"\n },\n {\n \"url\": \"resources/dia_id.txt\",\n \"revision\": \"43353905b8e9180461055b1ed17dc53d\"\n },\n {\n \"url\": \"resources/dia_it.txt\",\n \"revision\": \"c55df5f591ed818e1ff6f60bf2eb0dcd\"\n },\n {\n \"url\": \"resources/dia_ja.txt\",\n \"revision\": \"185602e27366d4c4155de476bb5010ff\"\n },\n {\n \"url\": \"resources/dia_kn.txt\",\n \"revision\": \"7f4970fd5a35520e5871334bb8154c03\"\n },\n {\n \"url\": \"resources/dia_ko.txt\",\n \"revision\": \"6478a7552215d6c5b782cba0908ffa0e\"\n },\n {\n \"url\": \"resources/dia_lt.txt\",\n \"revision\": \"521711aef9fcf41ee833e5e669de1b6e\"\n },\n {\n \"url\": \"resources/dia_lv.txt\",\n \"revision\": \"70558cca334ed3d090ecda7423aad8df\"\n },\n {\n \"url\": \"resources/dia_ml.txt\",\n \"revision\": \"d827e98625dfa9d320d2a00fa5709f54\"\n },\n {\n \"url\": \"resources/dia_mr.txt\",\n \"revision\": \"3510ad556be2f84f7aefc617e49fa773\"\n },\n {\n \"url\": \"resources/dia_ms.txt\",\n \"revision\": \"fe33d70d3b621e0f511388d9ef3667aa\"\n },\n {\n \"url\": \"resources/dia_my.txt\",\n \"revision\": \"2d474154fe5893976198647ea505ac96\"\n },\n {\n \"url\": \"resources/dia_nl.txt\",\n \"revision\": \"ec08e8294289a952b8ec15ef9615b927\"\n },\n {\n \"url\": \"resources/dia_no.txt\",\n \"revision\": \"62c693c6ea9a58bc0dd4eec7b1b1ea7d\"\n },\n {\n \"url\": \"resources/dia_pl.txt\",\n \"revision\": \"db85c32f7458bbdb4dabd8ee04c5e6e5\"\n },\n {\n \"url\": \"resources/dia_pt-br.txt\",\n \"revision\": \"2cffd3b30b81113406236b29ec19fcf4\"\n },\n {\n \"url\": \"resources/dia_pt.txt\",\n \"revision\": \"faa525cfd933d9b28bab4ba9958d2a91\"\n },\n {\n \"url\": \"resources/dia_ro.txt\",\n \"revision\": \"4f0c51dc49be417530a88e264acc8ac7\"\n },\n {\n \"url\": \"resources/dia_ru.txt\",\n \"revision\": \"2454d71cf5eda2fca6da0a4ac02c0ce0\"\n },\n {\n \"url\": \"resources/dia_si.txt\",\n \"revision\": \"2d474154fe5893976198647ea505ac96\"\n },\n {\n \"url\": \"resources/dia_sk.txt\",\n \"revision\": \"a65bba3698e3cb60764146a1d6a1b494\"\n },\n {\n \"url\": \"resources/dia_sl.txt\",\n \"revision\": \"03e8bdd1584030ef4bd3e59311806bde\"\n },\n {\n \"url\": \"resources/dia_sr.txt\",\n \"revision\": \"7377e7c4b5f5e768bd4f9a32c40f0143\"\n },\n {\n \"url\": \"resources/dia_sv.txt\",\n \"revision\": \"3106d87ab7710b789ca481df9f9eaa20\"\n },\n {\n \"url\": \"resources/dia_sw.txt\",\n \"revision\": \"a4b2cdef952b5e6b5a1cb569ecb48347\"\n },\n {\n \"url\": \"resources/dia_ta.txt\",\n \"revision\": \"cfd99e1386d7a0310a1ba24a1bd39f26\"\n },\n {\n \"url\": \"resources/dia_te.txt\",\n \"revision\": \"f0ded6e2695a8715bbbfb9868a42be5e\"\n },\n {\n \"url\": \"resources/dia_th.txt\",\n \"revision\": \"991c7523fdab1db1590ecf71075f85de\"\n },\n {\n \"url\": \"resources/dia_tr.txt\",\n \"revision\": \"ebe2bdd67274dc832f2a1c06e0415c99\"\n },\n {\n \"url\": \"resources/dia_uk.txt\",\n \"revision\": \"352152d7c79d70c2d7451d10cb9db4d1\"\n },\n {\n \"url\": \"resources/dia_vi.txt\",\n \"revision\": \"077de6f062ffe2fdf09369c41490caf6\"\n },\n {\n \"url\": \"resources/dia_zh-tw.txt\",\n \"revision\": \"0c405f3473c213c97287b9706bdaf5e6\"\n },\n {\n \"url\": \"resources/dia_zh.txt\",\n \"revision\": \"1379897fd5f960954a075507b559b7e9\"\n },\n {\n \"url\": \"favicon.ico\",\n \"revision\": \"fab2d88b37c72d83607527573de45281\"\n },\n {\n \"url\": \"images/manifest.json\",\n \"revision\": \"c6236bde53ed79aaaec60a1aca8ee2ef\"\n },\n {\n \"url\": \"images/logo.png\",\n \"revision\": \"89630b64b911ebe0daa3dfe442087cfa\"\n },\n {\n \"url\": \"images/drawlogo.svg\",\n \"revision\": \"4bf4d14ebcf072d8bd4c5a1c89e88fc6\"\n },\n {\n \"url\": \"images/drawlogo48.png\",\n \"revision\": \"8b13428373aca67b895364d025f42417\"\n },\n {\n \"url\": \"images/drawlogo-gray.svg\",\n \"revision\": \"0aabacbc0873816e1e09e4736ae44c7d\"\n },\n {\n \"url\": \"images/drawlogo-text-bottom.svg\",\n \"revision\": \"f6c438823ab31f290940bd4feb8dd9c2\"\n },\n {\n \"url\": \"images/default-user.jpg\",\n \"revision\": \"2c399696a87c8921f12d2f9e1990cc6e\"\n },\n {\n \"url\": \"images/logo-flat-small.png\",\n \"revision\": \"4b178e59ff499d6dd1894fc498b59877\"\n },\n {\n \"url\": \"images/apple-touch-icon.png\",\n \"revision\": \"73da7989a23ce9a4be565ec65658a239\"\n },\n {\n \"url\": \"images/favicon-16x16.png\",\n \"revision\": \"1a79d5461a5d2bf21f6652e0ac20d6e5\"\n },\n {\n \"url\": \"images/favicon-32x32.png\",\n \"revision\": \"e3b92da2febe70bad5372f6f3474b034\"\n },\n {\n \"url\": \"images/android-chrome-196x196.png\",\n \"revision\": \"f8c045b2d7b1c719fda64edab04c415c\"\n },\n {\n \"url\": \"images/android-chrome-512x512.png\",\n \"revision\": \"959b5fac2453963ff6d60fb85e4b73fd\"\n },\n {\n \"url\": \"images/delete.png\",\n \"revision\": \"5f2350f2fd20f1a229637aed32ed8f29\"\n },\n {\n \"url\": \"images/droptarget.png\",\n \"revision\": \"bbf7f563fb6784de1ce96f329519b043\"\n },\n {\n \"url\": \"images/help.png\",\n \"revision\": \"9266c6c3915bd33c243d80037d37bf61\"\n },\n {\n \"url\": \"images/download.png\",\n \"revision\": \"35418dd7bd48d87502c71b578cc6c37f\"\n },\n {\n \"url\": \"images/logo-flat.png\",\n \"revision\": \"038070ab43aee6e54a791211859fc67b\"\n },\n {\n \"url\": \"images/google-drive-logo.svg\",\n \"revision\": \"5d9f2f5bbc7dcc252730a0072bb23059\"\n },\n {\n \"url\": \"images/onedrive-logo.svg\",\n \"revision\": \"3645b344ec0634c1290dd58d7dc87b97\"\n },\n {\n \"url\": \"images/dropbox-logo.svg\",\n \"revision\": \"e6be408c77cf9c82d41ac64fa854280a\"\n },\n {\n \"url\": \"images/github-logo.svg\",\n \"revision\": \"a1a999b69a275eac0cb918360ac05ae1\"\n },\n {\n \"url\": \"images/gitlab-logo.svg\",\n \"revision\": \"0faea8c818899e58533e153c44b10517\"\n },\n {\n \"url\": \"images/trello-logo.svg\",\n \"revision\": \"006fd0d7d70d7e95dc691674cb12e044\"\n },\n {\n \"url\": \"images/osa_drive-harddisk.png\",\n \"revision\": \"b954e1ae772087c5b4c6ae797e1f9649\"\n },\n {\n \"url\": \"images/osa_database.png\",\n \"revision\": \"c350d9d9b95f37b6cfe798b40ede5fb0\"\n },\n {\n \"url\": \"images/google-drive-logo-white.svg\",\n \"revision\": \"f329d8b1be7778515a85b93fc35d9f26\"\n },\n {\n \"url\": \"images/dropbox-logo-white.svg\",\n \"revision\": \"4ea8299ac3bc31a16f199ee3aec223bf\"\n },\n {\n \"url\": \"images/onedrive-logo-white.svg\",\n \"revision\": \"b3602fa0fc947009cff3f33a581cff4d\"\n },\n {\n \"url\": \"images/github-logo-white.svg\",\n \"revision\": \"537b1127b3ca0f95b45782d1304fb77a\"\n },\n {\n \"url\": \"images/gitlab-logo-white.svg\",\n \"revision\": \"5fede9ac2f394c716b8c23e3fddc3910\"\n },\n {\n \"url\": \"images/trello-logo-white-orange.svg\",\n \"revision\": \"e2a0a52ba3766682f138138d10a75eb5\"\n },\n {\n \"url\": \"images/logo-confluence.png\",\n \"revision\": \"ed1e55d44ae5eba8f999aba2c93e8331\"\n },\n {\n \"url\": \"images/logo-jira.png\",\n \"revision\": \"f8d460555a0d1f87cfd901e940666629\"\n },\n {\n \"url\": \"images/clear.gif\",\n \"revision\": \"db13c778e4382e0b55258d0f811d5d70\"\n },\n {\n \"url\": \"images/spin.gif\",\n \"revision\": \"487cbb40b9ced439aa1ad914e816d773\"\n },\n {\n \"url\": \"images/checkmark.gif\",\n \"revision\": \"ba764ce62f2bf952df5bbc2bb4d381c5\"\n },\n {\n \"url\": \"images/hs.png\",\n \"revision\": \"fefa1a03d92ebad25c88dca94a0b63db\"\n },\n {\n \"url\": \"images/aui-wait.gif\",\n \"revision\": \"5a474bcbd8d2f2826f03d10ea44bf60e\"\n },\n {\n \"url\": \"mxgraph/css/common.css\",\n \"revision\": \"b5b7280ec98671bb6c3847a36bc7ea12\"\n },\n {\n \"url\": \"mxgraph/images/expanded.gif\",\n \"revision\": \"2b67c2c035af1e9a5cc814f0d22074cf\"\n },\n {\n \"url\": \"mxgraph/images/collapsed.gif\",\n \"revision\": \"73cc826da002a3d740ca4ce6ec5c1f4a\"\n },\n {\n \"url\": \"mxgraph/images/maximize.gif\",\n \"revision\": \"5cd13d6925493ab51e876694cc1c2ec2\"\n },\n {\n \"url\": \"mxgraph/images/minimize.gif\",\n \"revision\": \"8957741b9b0f86af9438775f2aadbb54\"\n },\n {\n \"url\": \"mxgraph/images/close.gif\",\n \"revision\": \"8b84669812ac7382984fca35de8da48b\"\n },\n {\n \"url\": \"mxgraph/images/resize.gif\",\n \"revision\": \"a6477612b3567a34033f9cac6184eed3\"\n },\n {\n \"url\": \"mxgraph/images/separator.gif\",\n \"revision\": \"7819742ff106c97da7a801c2372bbbe5\"\n },\n {\n \"url\": \"mxgraph/images/window.gif\",\n \"revision\": \"fd9a21dd4181f98052a202a0a01f18ab\"\n },\n {\n \"url\": \"mxgraph/images/window-title.gif\",\n \"revision\": \"3fb1d6c43246cdf991a11dfe826dfe99\"\n },\n {\n \"url\": \"mxgraph/images/button.gif\",\n \"revision\": \"00759bdc3ad218fa739f584369541809\"\n },\n {\n \"url\": \"mxgraph/images/point.gif\",\n \"revision\": \"83a43717b284902442620f61bc4e9fa6\"\n }\n], {\n \"ignoreURLParametersMatching\": [/.*/]\n});\n\n\n\n\n\n\n\n\n"],"names":["self","addEventListener","event","data","type","skipWaiting","workbox_precaching_precacheAndRoute","url","revision","ignoreURLParametersMatching"],"mappings":"szBAmBAA,KAAKC,iBAAiB,WAAYC,IAC5BA,EAAMC,MAA4B,iBAApBD,EAAMC,KAAKC,MAC3BJ,KAAKK,iBAYTC,EAAAA,iBAAoC,CAClC,CACEC,IAAO,gBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,YACPC,SAAY,oCAEd,CACED,IAAO,8CACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,gCACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,iCACPC,SAAY,oCAEd,CACED,IAAO,uCACPC,SAAY,oCAEd,CACED,IAAO,2CACPC,SAAY,oCAEd,CACED,IAAO,8BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yCACPC,SAAY,oCAEd,CACED,IAAO,oCACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,4BACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,2CACPC,SAAY,oCAEd,CACED,IAAO,4BACPC,SAAY,oCAEd,CACED,IAAO,+BACPC,SAAY,oCAEd,CACED,IAAO,gCACPC,SAAY,oCAEd,CACED,IAAO,oCACPC,SAAY,oCAEd,CACED,IAAO,+BACPC,SAAY,oCAEd,CACED,IAAO,wCACPC,SAAY,oCAEd,CACED,IAAO,4CACPC,SAAY,oCAEd,CACED,IAAO,6CACPC,SAAY,oCAEd,CACED,IAAO,yCACPC,SAAY,oCAEd,CACED,IAAO,qCACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,qCACPC,SAAY,oCAEd,CACED,IAAO,4CACPC,SAAY,oCAEd,CACED,IAAO,6CACPC,SAAY,oCAEd,CACED,IAAO,sDACPC,SAAY,oCAEd,CACED,IAAO,kEACPC,SAAY,oCAEd,CACED,IAAO,+DACPC,SAAY,oCAEd,CACED,IAAO,oBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,wBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,sBACPC,SAAY,oCAEd,CACED,IAAO,wBACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,kCACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,8BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,oCACPC,SAAY,oCAEd,CACED,IAAO,oCACPC,SAAY,oCAEd,CACED,IAAO,oBACPC,SAAY,oCAEd,CACED,IAAO,wBACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,sBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,+BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,gCACPC,SAAY,oCAEd,CACED,IAAO,0BACPC,SAAY,oCAEd,CACED,IAAO,qCACPC,SAAY,oCAEd,CACED,IAAO,gCACPC,SAAY,oCAEd,CACED,IAAO,iCACPC,SAAY,oCAEd,CACED,IAAO,+BACPC,SAAY,oCAEd,CACED,IAAO,+BACPC,SAAY,oCAEd,CACED,IAAO,sCACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,mBACPC,SAAY,oCAEd,CACED,IAAO,kBACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,gBACPC,SAAY,oCAEd,CACED,IAAO,sBACPC,SAAY,oCAEd,CACED,IAAO,yBACPC,SAAY,oCAEd,CACED,IAAO,8BACPC,SAAY,oCAEd,CACED,IAAO,+BACPC,SAAY,oCAEd,CACED,IAAO,8BACPC,SAAY,oCAEd,CACED,IAAO,8BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,oCAEd,CACED,IAAO,4BACPC,SAAY,oCAEd,CACED,IAAO,+BACPC,SAAY,oCAEd,CACED,IAAO,4BACPC,SAAY,oCAEd,CACED,IAAO,kCACPC,SAAY,oCAEd,CACED,IAAO,4BACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,qCAEb,CACDC,4BAA+B,CAAC"} \ No newline at end of file