9.2.9 release

This commit is contained in:
David Benson 2018-10-19 17:29:35 +01:00
parent 3bd45e564c
commit 91c36ba1a0
21 changed files with 2173 additions and 559 deletions

View file

@ -1,3 +1,12 @@
19-OCT-2018: 9.2.9
- Adds OneDrive for Business and Sharepoint integration
19-OCT-2018: 9.2.8
- Improves various Gliffy import issues
- Fixes inverted MovePage state after decoding
15-OCT-2018: 9.2.7
- Fixes local templates path

View file

@ -1 +1 @@
9.2.7
9.2.9

View file

@ -36,8 +36,6 @@ public class GliffyText implements PostDeserializer.PostDeserializable
private boolean forceTopPaddingShift = false;
private static Pattern pattern = Pattern.compile("<p(.*?)<\\/p>");
private static Pattern spanPattern = Pattern.compile("<span style=\"(.*?)\">");
private static Pattern textAlign = Pattern.compile(".*(text-align: ?(left|center|right);).*", Pattern.DOTALL);
@ -139,50 +137,46 @@ public class GliffyText implements PostDeserializer.PostDeserializable
private String replaceParagraphWithDiv(String html)
{
Matcher m = pattern.matcher(html);
StringBuilder sb = new StringBuilder();
Matcher m = spanPattern.matcher(html);
StringBuilder modHtml = new StringBuilder();
int last = 0;
while (m.find())
{
// Adds line-height:0 to empty spans with no line-height
// to match quirks mode sizing in standards mode
sb.append("<div");
String str = m.group(1);
Matcher m2 = spanPattern.matcher(str);
int last = 0;
String span = html.substring(last, m.end());
String style = m.group(1);
while (m2.find())
if (style != null)
{
String span = str.substring(last, m2.end());
String style = m2.group(1);
// Adds line-height:0 to empty spans with no line-height
// to match quirks mode sizing in standards mode
Matcher m2 = lineHeight.matcher(style);
if (style != null)
if (!m2.find())
{
Matcher m3 = lineHeight.matcher(style);
if (!m3.find())
if (html.substring(m.end(), m.end() + 5).equalsIgnoreCase("<span"))
{
if (str.substring(m2.end(), m2.end() + 5).equalsIgnoreCase("<span"))
{
span = span.substring(0, m2.end(1) - last) + " line-height: 0;" + span.substring(m2.end(1) - last);
}
else
{
// Overrides line-height with default value in child span elements
span = span.substring(0, m2.end(1) - last) + " line-height: normal;" + span.substring(m2.end(1) - last);
}
span = span.substring(0, m.end(1) - last) + " line-height: 0;" + span.substring(m.end(1) - last);
}
else
{
// Overrides line-height with default value in child span elements
span = span.substring(0, m.end(1) - last) + " line-height: normal;" + span.substring(m.end(1) - last);
}
}
last = m2.end();
sb.append(span);
}
sb.append(str.substring(last));
sb.append("</div>");
last = m.end();
modHtml.append(span);
}
return sb.length() > 0 ? sb.toString() : html;
if (modHtml.length() > 0)
{
modHtml.append(html.substring(last));
html = modHtml.toString();
}
return html.replace("<p ", "<div ").replace("<p>", "<div>").replace("</p>", "</div>");
}
/**

View file

@ -1,7 +1,7 @@
CACHE MANIFEST
# THIS FILE WAS GENERATED. DO NOT MODIFY!
# 10/15/2018 09:22 AM
# 10/19/2018 05:06 PM
app.html
index.html?offline=1

View file

@ -3951,24 +3951,24 @@ this.createVertexTemplateEntry(a+"unidentified_code_object;",50,42.5,"","Unident
"","VHD Data Disk",null,null,this.getTagsForStencil("mxgraph.azure","vhd_data_disk","").join(" ")),this.createVertexTemplateEntry(a+"virtual_machine;",50,40,"","Virtual Machine",null,null,this.getTagsForStencil("mxgraph.azure","virtual_machine","").join(" ")),this.createVertexTemplateEntry(a+"virtual_machine_feature;",50,45,"","Virtual Machine Feature",null,null,this.getTagsForStencil("mxgraph.azure","virtual_machine_feature","").join(" ")),this.createVertexTemplateEntry(a+"virtual_network;",50,50*
.55,"","Virtual Network",null,null,this.getTagsForStencil("mxgraph.azure","virtual_network","").join(" ")),this.createVertexTemplateEntry(a+"visual_studio_online;",50,37.5,"","Visual Studio Online",null,null,this.getTagsForStencil("mxgraph.azure","visual_studio_online","").join(" ")),this.createVertexTemplateEntry(a+"wadcfg_diagnostics_file;",47.5,50,"","WADCFG Diagnostics File",null,null,this.getTagsForStencil("mxgraph.azure","wadcfg_diagnostics_file","").join(" ")),this.createVertexTemplateEntry(a+
"website_generic;",50,42.5,"","Website Generic",null,null,this.getTagsForStencil("mxgraph.azure","website_generic","").join(" ")),this.createVertexTemplateEntry(a+"web_role;",50,40,"","Web Role",null,null,this.getTagsForStencil("mxgraph.azure","web_role","").join(" ")),this.createVertexTemplateEntry(a+"web_roles;",50*1.1,45,"","Web Roles",null,null,this.getTagsForStencil("mxgraph.azure","web_roles","").join(" ")),this.createVertexTemplateEntry(a+"worker_role;",50,40,"","Worker Role",null,null,this.getTagsForStencil("mxgraph.azure",
"worker_role","").join(" ")),this.createVertexTemplateEntry(a+"worker_roles;",50*1.1,45,"","Worker Roles",null,null,this.getTagsForStencil("mxgraph.azure","worker_roles","").join(" "))])}})();(function(){Sidebar.prototype.addBasicPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;html=1;shape=mxgraph.basic.";this.addPaletteFunctions("basic",mxResources.get("basic"),!1,[this.createVertexTemplateEntry("shape=partialRectangle;whiteSpace=wrap;html=1;top=0;bottom=0;fillColor=none;",120,60,"","Partial Rectangle"),this.createVertexTemplateEntry("shape=partialRectangle;whiteSpace=wrap;html=1;right=0;top=0;bottom=0;fillColor=none;routingCenterX=-0.5;",
120,60,"","Partial Rectangle"),this.createVertexTemplateEntry("shape=partialRectangle;whiteSpace=wrap;html=1;bottom=0;right=0;fillColor=none;",120,60,"","Partial Rectangle"),this.createVertexTemplateEntry("shape=partialRectangle;whiteSpace=wrap;html=1;top=0;left=0;fillColor=none;",120,60,"","Partial Rectangle"),this.createVertexTemplateEntry(a+"4_point_star_2;dx=0.8;",100,100,"","4 Point Star",null,null,this.getTagsForStencil("mxgraph.basic","4_point_star","").join(" ")),this.createVertexTemplateEntry(a+
"6_point_star",100,90,"","6 Point Star",null,null,this.getTagsForStencil("mxgraph.basic","6_point_star","").join(" ")),this.createVertexTemplateEntry(a+"8_point_star",100,100,"","8 Point Star",null,null,this.getTagsForStencil("mxgraph.basic","8_point_star","").join(" ")),this.createVertexTemplateEntry(a+"banner",100,50,"","Banner",null,null,this.getTagsForStencil("mxgraph.basic","banner","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.cloud_callout",90,60,
"","Cloud Callout",null,null,this.getTagsForStencil("mxgraph.basic","cloud_callout","").join(" ")),this.createVertexTemplateEntry(a+"cone",100,100,"","Cone",null,null,this.getTagsForStencil("mxgraph.basic","cone","").join(" ")),this.createVertexTemplateEntry(a+"cone2;dx=0.5;dy=0.9;",100,100,"","Cone (adjustable)",null,null,this.getTagsForStencil("mxgraph.basic","cone","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.document",100,100,"","Document",null,null,
this.getTagsForStencil("mxgraph.basic","document","").join(" ")),this.createVertexTemplateEntry(a+"donut;dx=25;",100,100,"","Donut",null,null,this.getTagsForStencil("mxgraph.basic","donut","").join(" ")),this.createVertexTemplateEntry(a+"drop",70,100,"","Drop",null,null,this.getTagsForStencil("mxgraph.basic","drop","").join(" ")),this.createVertexTemplateEntry(a+"flash",60,100,"","Flash",null,null,this.getTagsForStencil("mxgraph.basic","flash","").join(" ")),this.createVertexTemplateEntry(a+"half_circle",
100,50,"","Half Circle",null,null,this.getTagsForStencil("mxgraph.basic","half_circle"," semicircle").join(" ")),this.createVertexTemplateEntry(a+"heart",100,100,"","Heart",null,null,this.getTagsForStencil("mxgraph.basic","heart","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.isocube;isoAngle=15;",100,100,"","Isometric Cube",null,null,this.getTagsForStencil("mxgraph.basic","isometric cube","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.loud_callout",
100,60,"","Loud Callout",null,null,this.getTagsForStencil("mxgraph.basic","loud_callout","").join(" ")),this.createVertexTemplateEntry(a+"moon",75,100,"","Moon",null,null,this.getTagsForStencil("mxgraph.basic","moon","").join(" ")),this.createVertexTemplateEntry(a+"no_symbol",100,100,"","No Symbol",null,null,this.getTagsForStencil("mxgraph.basic","no_symbol","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.octagon2;align=center;verticalAlign=middle;dx=15;",
100,100,"","Octagon",null,null,this.getTagsForStencil("mxgraph.basic","octagon","").join(" ")),this.createVertexTemplateEntry(a+"orthogonal_triangle",100,70,"","Orthogonal Triangle",null,null,this.getTagsForStencil("mxgraph.basic","orthogonal_triangle","").join(" ")),this.createVertexTemplateEntry(a+"acute_triangle;dx=0.5;",100,70,"","Acute Triangle",null,null,this.getTagsForStencil("mxgraph.basic","acute_triangle","").join(" ")),this.createVertexTemplateEntry(a+"obtuse_triangle;dx=0.25;",100,70,
"","Obtuse Triangle",null,null,this.getTagsForStencil("mxgraph.basic","obtuse_triangle","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.oval_callout",100,60,"","Oval Callout",null,null,this.getTagsForStencil("mxgraph.basic","oval_callout","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.pentagon",100,90,"","Pentagon",null,null,this.getTagsForStencil("mxgraph.basic","pentagon","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.pointed_oval",
50,100,"","Pointed Oval",null,null,this.getTagsForStencil("mxgraph.basic","pointed oval","").join(" ")),this.createVertexTemplateEntry(a+"pyramid;dx1=0.4;dx2=0.6;dy1=0.9;dy2=0.8;",100,100,"","Pyramid",null,null,this.getTagsForStencil("mxgraph.basic","pyramid","").join(" ")),this.createVertexTemplateEntry(a+"diag_snip_rect;dx=6;",100,60,"","Diagonal Snip Rectangle",null,null,this.getTagsForStencil("mxgraph.basic","diag_snip_rect","").join(" ")),this.createVertexTemplateEntry(a+"diag_round_rect;dx=6;",
100,60,"","Diagonal Rounded Rectangle",null,null,this.getTagsForStencil("mxgraph.basic","diag_round_rect","").join(" ")),this.createVertexTemplateEntry(a+"corner_round_rect;dx=6;",100,60,"","Corner Rounded Rectangle",null,null,this.getTagsForStencil("mxgraph.basic","corner_round_rect","").join(" ")),this.createVertexTemplateEntry(a+"three_corner_round_rect;dx=6;",100,60,"","Rounded Rectangle (three corners)",null,null,this.getTagsForStencil("mxgraph.basic","three_corner_round_rect","").join(" ")),
this.createVertexTemplateEntry(a+"plaque;dx=6;",100,60,"","Plaque",null,null,this.getTagsForStencil("mxgraph.basic","plaque","").join(" ")),this.createVertexTemplateEntry(a+"frame;dx=10;",100,60,"","Frame",null,null,this.getTagsForStencil("mxgraph.basic","frame","").join(" ")),this.createVertexTemplateEntry(a+"rounded_frame;dx=10;",100,60,"","Rounded Frame",null,null,this.getTagsForStencil("mxgraph.basic","rounded_frame","").join(" ")),this.createVertexTemplateEntry(a+"plaque_frame;dx=10;",100,60,
"","Plaque Frame",null,null,this.getTagsForStencil("mxgraph.basic","plaque_frame","").join(" ")),this.createVertexTemplateEntry(a+"frame_corner;dx=10;",100,60,"","Frame Corner",null,null,this.getTagsForStencil("mxgraph.basic","frame_corner","").join(" ")),this.createVertexTemplateEntry(a+"diag_stripe;dx=10;",100,60,"","Diagonal Stripe",null,null,this.getTagsForStencil("mxgraph.basic","diag_stripe","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.rectCallout;dx=30;dy=15;boundedLbl=1;",
100,60,"","Rectangular Callout",null,null,this.getTagsForStencil("mxgraph.basic","rectangular_callout","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.roundRectCallout;dx=30;dy=15;size=5;boundedLbl=1;",100,60,"","Rounded Rectangular Callout",null,null,this.getTagsForStencil("mxgraph.basic","rectangular_callout","").join(" ")),this.createVertexTemplateEntry(a+"layered_rect;dx=10;outlineConnect=0;",100,60,"","Layered Rectangle",null,null,this.getTagsForStencil("mxgraph.basic",
"layered_rect","").join(" ")),this.createVertexTemplateEntry(a+"smiley",100,100,"","Smiley",null,null,this.getTagsForStencil("mxgraph.basic","smiley","").join(" ")),this.createVertexTemplateEntry(a+"star",100,95,"","Star",null,null,this.getTagsForStencil("mxgraph.basic","star","").join(" ")),this.createVertexTemplateEntry(a+"sun",100,100,"","Sun",null,null,this.getTagsForStencil("mxgraph.basic","sun","").join(" ")),this.createVertexTemplateEntry(a+"tick",85,100,"","Tick",null,null,this.getTagsForStencil("mxgraph.basic",
"tick","").join(" ")),this.createVertexTemplateEntry(a+"wave2;dy=0.3;",100,60,"","Wave",null,null,this.getTagsForStencil("mxgraph.basic","wave","").join(" ")),this.createVertexTemplateEntry("labelPosition=center;verticalLabelPosition=middle;align=center;html=1;shape=mxgraph.basic.button;dx=10;",100,60,"Button","Button",null,null,this.getTagsForStencil("mxgraph.basic","button","").join(" ")),this.createVertexTemplateEntry("labelPosition=center;verticalLabelPosition=middle;align=center;html=1;shape=mxgraph.basic.shaded_button;dx=10;fillColor=#E6E6E6;strokeColor=none;",
100,60,"Button","Button (shaded)",null,null,this.getTagsForStencil("mxgraph.basic","button","").join(" ")),this.createVertexTemplateEntry(a+"x",100,100,"","X",null,null,this.getTagsForStencil("mxgraph.basic","x","").join(" ")),this.createVertexTemplateEntry(a+"pie;startAngle=0.2;endAngle=0.9;",100,100,"","Pie",null,null,this.getTagsForStencil("mxgraph.basic","pie","").join(" ")),this.createVertexTemplateEntry(a+"arc;startAngle=0.3;endAngle=0.1;",100,100,"","Arc",null,null,this.getTagsForStencil("mxgraph.basic",
"arc","").join(" ")),this.createVertexTemplateEntry(a+"partConcEllipse;startAngle=0.25;endAngle=0.1;arcWidth=0.5;",100,100,"","Partial Concentric Ellipse",null,null,this.getTagsForStencil("mxgraph.basic","partConcEllipse","").join(" "))])}})();(function(){Sidebar.prototype.addBootstrapPalette=function(){var a=this,d=[this.addDataEntry("bootstrap button bar dark",800,40,"Button Bar (Dark)","5ZhRb5swEMc/DY+NDKaEvIZ2fdm0qpH27gUDVg2HjNuQfvod2EnJnGxRWqJUsRQJn332+ffnbBOPJmX7oFhd/ICUS4/eezRRANo8lW3CpfQCIlKP3nlBQPDnBd8OtPp9K6mZ4pU+xiEwDq9MvnBjMYZGr6U1FLrEsO58j86bgqWwwgrBSsqagqe2gi11179s824tk9+4gkbj40TxJUYyz4SUCUhQ/aA06EvnqBU8801LBRWOMl8VQvNFzZbdkCscBW02UK40bw8utjfZlT5wKLlWa+yyEqkuTI+YGCCk4CIvrFtobawx9Xzr+o4OHyy9/SSpQzKBsmbV+jSgQ16Wyl5U/wcPlR6An/XF2hfirfP1w48wD45gPg7y0EH+yKFGzGd5hUlfDunyF/asL11nJCyq/MmSoGQE9O0u9oESs5GUuHWUiMNPV8HKoOxbG7uSZNkpkpyMP/wnfuuwttvw5NZRY4NtqIYfGZvikmnxynfG2ieRnf8RBIa1nfyGkp3pb+LdESDLGq4diberOEr1yFH9l4AubKiaC931zph+/tTNP98fKQGnjhTh55/kF5eA0ZUnYOyovtAYdKPF8lITcKRk23fYjXXtmLnUuda4q1wZcxq5zKcjMd/sm8O7ngIkd+Jl76syj87J3HeYf4ccDT9f9HVRn9LRqGP1/WvfHAHDPwP+AA=="),
"worker_role","").join(" ")),this.createVertexTemplateEntry(a+"worker_roles;",50*1.1,45,"","Worker Roles",null,null,this.getTagsForStencil("mxgraph.azure","worker_roles","").join(" "))])}})();(function(){Sidebar.prototype.addBasicPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;html=1;shape=mxgraph.basic.";this.addPaletteFunctions("basic",mxResources.get("basic"),!1,[this.createVertexTemplateEntry(a+"rect;fillColor=#ffffff;fillColor2=none;strokeColor=#000000;strokeWidth=1;size=20;indent=5;",120,60,"","Partial Rectangle"),this.createVertexTemplateEntry("shape=partialRectangle;whiteSpace=wrap;html=1;top=0;bottom=0;fillColor=none;",
120,60,"","Partial Rectangle"),this.createVertexTemplateEntry("shape=partialRectangle;whiteSpace=wrap;html=1;right=0;top=0;bottom=0;fillColor=none;routingCenterX=-0.5;",120,60,"","Partial Rectangle"),this.createVertexTemplateEntry("shape=partialRectangle;whiteSpace=wrap;html=1;bottom=0;right=0;fillColor=none;",120,60,"","Partial Rectangle"),this.createVertexTemplateEntry("shape=partialRectangle;whiteSpace=wrap;html=1;top=0;left=0;fillColor=none;",120,60,"","Partial Rectangle"),this.createVertexTemplateEntry(a+
"4_point_star_2;dx=0.8;",100,100,"","4 Point Star",null,null,this.getTagsForStencil("mxgraph.basic","4_point_star","").join(" ")),this.createVertexTemplateEntry(a+"6_point_star",100,90,"","6 Point Star",null,null,this.getTagsForStencil("mxgraph.basic","6_point_star","").join(" ")),this.createVertexTemplateEntry(a+"8_point_star",100,100,"","8 Point Star",null,null,this.getTagsForStencil("mxgraph.basic","8_point_star","").join(" ")),this.createVertexTemplateEntry(a+"banner",100,50,"","Banner",null,
null,this.getTagsForStencil("mxgraph.basic","banner","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.cloud_callout",90,60,"","Cloud Callout",null,null,this.getTagsForStencil("mxgraph.basic","cloud_callout","").join(" ")),this.createVertexTemplateEntry(a+"cone",100,100,"","Cone",null,null,this.getTagsForStencil("mxgraph.basic","cone","").join(" ")),this.createVertexTemplateEntry(a+"cone2;dx=0.5;dy=0.9;",100,100,"","Cone (adjustable)",null,null,this.getTagsForStencil("mxgraph.basic",
"cone","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.document",100,100,"","Document",null,null,this.getTagsForStencil("mxgraph.basic","document","").join(" ")),this.createVertexTemplateEntry(a+"donut;dx=25;",100,100,"","Donut",null,null,this.getTagsForStencil("mxgraph.basic","donut","").join(" ")),this.createVertexTemplateEntry(a+"drop",70,100,"","Drop",null,null,this.getTagsForStencil("mxgraph.basic","drop","").join(" ")),this.createVertexTemplateEntry(a+
"flash",60,100,"","Flash",null,null,this.getTagsForStencil("mxgraph.basic","flash","").join(" ")),this.createVertexTemplateEntry(a+"half_circle",100,50,"","Half Circle",null,null,this.getTagsForStencil("mxgraph.basic","half_circle"," semicircle").join(" ")),this.createVertexTemplateEntry(a+"heart",100,100,"","Heart",null,null,this.getTagsForStencil("mxgraph.basic","heart","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.isocube;isoAngle=15;",100,100,"","Isometric Cube",
null,null,this.getTagsForStencil("mxgraph.basic","isometric cube","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.loud_callout",100,60,"","Loud Callout",null,null,this.getTagsForStencil("mxgraph.basic","loud_callout","").join(" ")),this.createVertexTemplateEntry(a+"moon",75,100,"","Moon",null,null,this.getTagsForStencil("mxgraph.basic","moon","").join(" ")),this.createVertexTemplateEntry(a+"no_symbol",100,100,"","No Symbol",null,null,this.getTagsForStencil("mxgraph.basic",
"no_symbol","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.octagon2;align=center;verticalAlign=middle;dx=15;",100,100,"","Octagon",null,null,this.getTagsForStencil("mxgraph.basic","octagon","").join(" ")),this.createVertexTemplateEntry(a+"orthogonal_triangle",100,70,"","Orthogonal Triangle",null,null,this.getTagsForStencil("mxgraph.basic","orthogonal_triangle","").join(" ")),this.createVertexTemplateEntry(a+"acute_triangle;dx=0.5;",100,70,"","Acute Triangle",
null,null,this.getTagsForStencil("mxgraph.basic","acute_triangle","").join(" ")),this.createVertexTemplateEntry(a+"obtuse_triangle;dx=0.25;",100,70,"","Obtuse Triangle",null,null,this.getTagsForStencil("mxgraph.basic","obtuse_triangle","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.oval_callout",100,60,"","Oval Callout",null,null,this.getTagsForStencil("mxgraph.basic","oval_callout","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.pentagon",
100,90,"","Pentagon",null,null,this.getTagsForStencil("mxgraph.basic","pentagon","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.pointed_oval",50,100,"","Pointed Oval",null,null,this.getTagsForStencil("mxgraph.basic","pointed oval","").join(" ")),this.createVertexTemplateEntry(a+"pyramid;dx1=0.4;dx2=0.6;dy1=0.9;dy2=0.8;",100,100,"","Pyramid",null,null,this.getTagsForStencil("mxgraph.basic","pyramid","").join(" ")),this.createVertexTemplateEntry(a+"diag_snip_rect;dx=6;",
100,60,"","Diagonal Snip Rectangle",null,null,this.getTagsForStencil("mxgraph.basic","diag_snip_rect","").join(" ")),this.createVertexTemplateEntry(a+"diag_round_rect;dx=6;",100,60,"","Diagonal Rounded Rectangle",null,null,this.getTagsForStencil("mxgraph.basic","diag_round_rect","").join(" ")),this.createVertexTemplateEntry(a+"corner_round_rect;dx=6;",100,60,"","Corner Rounded Rectangle",null,null,this.getTagsForStencil("mxgraph.basic","corner_round_rect","").join(" ")),this.createVertexTemplateEntry(a+
"three_corner_round_rect;dx=6;",100,60,"","Rounded Rectangle (three corners)",null,null,this.getTagsForStencil("mxgraph.basic","three_corner_round_rect","").join(" ")),this.createVertexTemplateEntry(a+"plaque;dx=6;",100,60,"","Plaque",null,null,this.getTagsForStencil("mxgraph.basic","plaque","").join(" ")),this.createVertexTemplateEntry(a+"frame;dx=10;",100,60,"","Frame",null,null,this.getTagsForStencil("mxgraph.basic","frame","").join(" ")),this.createVertexTemplateEntry(a+"rounded_frame;dx=10;",
100,60,"","Rounded Frame",null,null,this.getTagsForStencil("mxgraph.basic","rounded_frame","").join(" ")),this.createVertexTemplateEntry(a+"plaque_frame;dx=10;",100,60,"","Plaque Frame",null,null,this.getTagsForStencil("mxgraph.basic","plaque_frame","").join(" ")),this.createVertexTemplateEntry(a+"frame_corner;dx=10;",100,60,"","Frame Corner",null,null,this.getTagsForStencil("mxgraph.basic","frame_corner","").join(" ")),this.createVertexTemplateEntry(a+"diag_stripe;dx=10;",100,60,"","Diagonal Stripe",
null,null,this.getTagsForStencil("mxgraph.basic","diag_stripe","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.rectCallout;dx=30;dy=15;boundedLbl=1;",100,60,"","Rectangular Callout",null,null,this.getTagsForStencil("mxgraph.basic","rectangular_callout","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.roundRectCallout;dx=30;dy=15;size=5;boundedLbl=1;",100,60,"","Rounded Rectangular Callout",null,null,this.getTagsForStencil("mxgraph.basic",
"rectangular_callout","").join(" ")),this.createVertexTemplateEntry(a+"layered_rect;dx=10;outlineConnect=0;",100,60,"","Layered Rectangle",null,null,this.getTagsForStencil("mxgraph.basic","layered_rect","").join(" ")),this.createVertexTemplateEntry(a+"smiley",100,100,"","Smiley",null,null,this.getTagsForStencil("mxgraph.basic","smiley","").join(" ")),this.createVertexTemplateEntry(a+"star",100,95,"","Star",null,null,this.getTagsForStencil("mxgraph.basic","star","").join(" ")),this.createVertexTemplateEntry(a+
"sun",100,100,"","Sun",null,null,this.getTagsForStencil("mxgraph.basic","sun","").join(" ")),this.createVertexTemplateEntry(a+"tick",85,100,"","Tick",null,null,this.getTagsForStencil("mxgraph.basic","tick","").join(" ")),this.createVertexTemplateEntry(a+"wave2;dy=0.3;",100,60,"","Wave",null,null,this.getTagsForStencil("mxgraph.basic","wave","").join(" ")),this.createVertexTemplateEntry("labelPosition=center;verticalLabelPosition=middle;align=center;html=1;shape=mxgraph.basic.button;dx=10;",100,60,
"Button","Button",null,null,this.getTagsForStencil("mxgraph.basic","button","").join(" ")),this.createVertexTemplateEntry("labelPosition=center;verticalLabelPosition=middle;align=center;html=1;shape=mxgraph.basic.shaded_button;dx=10;fillColor=#E6E6E6;strokeColor=none;",100,60,"Button","Button (shaded)",null,null,this.getTagsForStencil("mxgraph.basic","button","").join(" ")),this.createVertexTemplateEntry(a+"x",100,100,"","X",null,null,this.getTagsForStencil("mxgraph.basic","x","").join(" ")),this.createVertexTemplateEntry(a+
"pie;startAngle=0.2;endAngle=0.9;",100,100,"","Pie",null,null,this.getTagsForStencil("mxgraph.basic","pie","").join(" ")),this.createVertexTemplateEntry(a+"arc;startAngle=0.3;endAngle=0.1;",100,100,"","Arc",null,null,this.getTagsForStencil("mxgraph.basic","arc","").join(" ")),this.createVertexTemplateEntry(a+"partConcEllipse;startAngle=0.25;endAngle=0.1;arcWidth=0.5;",100,100,"","Partial Concentric Ellipse",null,null,this.getTagsForStencil("mxgraph.basic","partConcEllipse","").join(" "))])}})();(function(){Sidebar.prototype.addBootstrapPalette=function(){var a=this,d=[this.addDataEntry("bootstrap button bar dark",800,40,"Button Bar (Dark)","5ZhRb5swEMc/DY+NDKaEvIZ2fdm0qpH27gUDVg2HjNuQfvod2EnJnGxRWqJUsRQJn332+ffnbBOPJmX7oFhd/ICUS4/eezRRANo8lW3CpfQCIlKP3nlBQPDnBd8OtPp9K6mZ4pU+xiEwDq9MvnBjMYZGr6U1FLrEsO58j86bgqWwwgrBSsqagqe2gi11179s824tk9+4gkbj40TxJUYyz4SUCUhQ/aA06EvnqBU8801LBRWOMl8VQvNFzZbdkCscBW02UK40bw8utjfZlT5wKLlWa+yyEqkuTI+YGCCk4CIvrFtobawx9Xzr+o4OHyy9/SSpQzKBsmbV+jSgQ16Wyl5U/wcPlR6An/XF2hfirfP1w48wD45gPg7y0EH+yKFGzGd5hUlfDunyF/asL11nJCyq/MmSoGQE9O0u9oESs5GUuHWUiMNPV8HKoOxbG7uSZNkpkpyMP/wnfuuwttvw5NZRY4NtqIYfGZvikmnxynfG2ieRnf8RBIa1nfyGkp3pb+LdESDLGq4diberOEr1yFH9l4AubKiaC931zph+/tTNP98fKQGnjhTh55/kF5eA0ZUnYOyovtAYdKPF8lITcKRk23fYjXXtmLnUuda4q1wZcxq5zKcjMd/sm8O7ngIkd+Jl76syj87J3HeYf4ccDT9f9HVRn9LRqGP1/WvfHAHDPwP+AA=="),
this.addDataEntry("bootstrap button bar bright",800,40,"Button Bar (Bright)","5ZdRb5swEMc/DY9FBhNCXkPavmxStUh798IB1gxGxmvIPv0OcBKoSZetpYpUIyT77DP278+dwaFx0TwqVuVfZQLCofcOjZWUuq8VTQxCOD7hiUM3ju8TvB3/4UKv1/WSiiko9TUOfu/wzMQv6C29odYHYQy5LnBZG8+h6zpnidxjg2AjYXUOiWlgT9WOL5qs3Yv7A3dQa6y6Cna4knXKhYilkKqblKZhe7WOWsmfcOwpZYmzrPc517Ct2K6dco+zoM0sFJSG5uJmO5PZ6SPIArQ64JA9T3Tej4hID4TkwLPcuAXGxuq+nZ1cz+iwYuhNk6QWyVgWFSsP/wd0yMtQmUT1d/Cy1APwSVeMfct/t75e8Bbm/hXM50EeWMifQFaI+WNeYdJel3R5gX3VlXYwEuZl9s2QoGQG9M0Y+0CJ1UxKLCwlouDdVTAyKPPWRhOSpATLlZKkXXkL/uBV/MbhYNKwu7DUOGIbquGFvU2BYJo/w2iuKYnM858kx2WdHn5Hyejxd9F4BpmmNWhL4tMurlI9tFT/zmW7bFnWN5r1PjD8vKUdf543UwAuLSmC9z/Jby4Aw08egJGl+lbjomvNd7cagDMF29RhN9dnx8qmDlpjVvlkzGloM1/OxPyYN0fQmdrlruvOnecWU3nOpK6xUC+/r6fsTPCsRJuAVJ8PpC9da+PNeB6Fi3FGstOhRyfUo/+uHjbPf7B9Whv+4P4B"),
this.addEntry("bootstrap button group vertical",function(){var e=new mxCell("",new mxGeometry(0,0,100,150),"html=1;shadow=0;dashed=0;shape=mxgraph.bootstrap.rrect;rSize=5;strokeColor=#dddddd;html=1;whiteSpace=wrap;fillColor=#ffffff;");e.vertex=!0;var b=new mxCell("Edit",new mxGeometry(0,0,100,30),"strokeColor=inherit;fillColor=inherit;gradientColor=inherit;html=1;shadow=0;dashed=0;shape=mxgraph.bootstrap.topButton;rSize=5;perimeter=none;whiteSpace=wrap;resizeWidth=1;");b.geometry.relative=!0;b.vertex=
!0;e.insert(b);b=new mxCell("Create",new mxGeometry(0,0,100,30),"strokeColor=inherit;fillColor=inherit;gradientColor=inherit;html=1;shadow=0;dashed=0;shape=mxgraph.bootstrap.rect;perimeter=none;whiteSpace=wrap;resizeWidth=1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,30);b.vertex=!0;e.insert(b);var c=new mxCell("Delete",new mxGeometry(0,0,100,30),"strokeColor=inherit;fillColor=inherit;gradientColor=inherit;html=1;shadow=0;dashed=0;shape=mxgraph.bootstrap.rect;perimeter=none;whiteSpace=wrap;resizeWidth=1;");
@ -7588,7 +7588,7 @@ this.mathEnabled!=this.ui.isMathEnabled()&&(this.ui.setMathEnabled(this.mathEnab
var ErrorDialog=function(a,b,d,c,e,g,l,m,n,f,h){n=null!=n?n:!0;var k=document.createElement("div");k.style.textAlign="center";if(null!=b){var q=document.createElement("div");q.style.padding="0px";q.style.margin="0px";q.style.fontSize="18px";q.style.paddingBottom="16px";q.style.marginBottom="16px";q.style.borderBottom="1px solid #c0c0c0";q.style.color="gray";mxUtils.write(q,b);k.appendChild(q)}b=document.createElement("div");b.style.padding="6px";b.innerHTML=d;k.appendChild(b);d=document.createElement("div");
d.style.marginTop="16px";d.style.textAlign="center";null!=g&&(b=mxUtils.button(mxResources.get("tryAgain"),function(){a.hideDialog();g()}),b.className="geBtn",d.appendChild(b),d.style.textAlign="center");null!=f&&(f=mxUtils.button(f,function(){null!=h&&h()}),f.className="geBtn",d.appendChild(f));var u=mxUtils.button(c,function(){n&&a.hideDialog();null!=e&&e()});u.className="geBtn";d.appendChild(u);null!=l&&(c=mxUtils.button(l,function(){n&&a.hideDialog();null!=m&&m()}),c.className="geBtn gePrimaryBtn",
d.appendChild(c));this.init=function(){u.focus()};k.appendChild(d);this.container=k};
(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.beforeDecode=function(a,d,c){c.ui=a.ui;return d};a.afterDecode=function(a,d,c){c.previousColor=c.color;c.previousImage=c.image;c.previousFormat=c.format;null!=c.foldingEnabled&&(c.foldingEnabled=!c.foldingEnabled);null!=c.mathEnabled&&(c.mathEnabled=!c.mathEnabled);null!=c.shadowVisible&&(c.shadowVisible=!c.shadowVisible);return c};mxCodecRegistry.register(a)})();(function(){EditorUi.VERSION="9.2.7";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.enableLogging=/.*\.draw\.io$/.test(window.location.hostname)&&"support.draw.io"!=window.location.hostname;EditorUi.templateFile=TEMPLATE_PATH+"/index.xml";EditorUi.enablePlantUml=EditorUi.enableLogging;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;EditorUi.scratchpadHelpLink="https://desk.draw.io/support/solutions/articles/16000042367";
(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.beforeDecode=function(a,d,c){c.ui=a.ui;return d};a.afterDecode=function(a,d,c){c.previousColor=c.color;c.previousImage=c.image;c.previousFormat=c.format;null!=c.foldingEnabled&&(c.foldingEnabled=!c.foldingEnabled);null!=c.mathEnabled&&(c.mathEnabled=!c.mathEnabled);null!=c.shadowVisible&&(c.shadowVisible=!c.shadowVisible);return c};mxCodecRegistry.register(a)})();(function(){EditorUi.VERSION="9.2.9";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.enableLogging=/.*\.draw\.io$/.test(window.location.hostname)&&"support.draw.io"!=window.location.hostname;EditorUi.templateFile=TEMPLATE_PATH+"/index.xml";EditorUi.enablePlantUml=EditorUi.enableLogging;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;EditorUi.scratchpadHelpLink="https://desk.draw.io/support/solutions/articles/16000042367";
EditorUi.prototype.emptyDiagramXml='<mxGraphModel><root><mxCell id="0"/><mxCell id="1" parent="0"/></root></mxGraphModel>';EditorUi.prototype.emptyLibraryXml="<mxlibrary>[]</mxlibrary>";EditorUi.prototype.mode=null;EditorUi.prototype.sidebarFooterHeight=36;EditorUi.prototype.defaultCustomShapeStyle="shape=stencil(tZRtTsQgEEBPw1+DJR7AoN6DbWftpAgE0Ortd/jYRGq72R+YNE2YgTePloEJGWblgA18ZuKFDcMj5/Sm8boZq+BgjCX4pTyqk6ZlKROitwusOMXKQDODx5iy4pXxZ5qTHiFHawxB0JrQZH7lCabQ0Fr+XWC1/E8zcsT/gAi+Subo2/3Mh6d/oJb5nU1b5tW7r2knautaa3T+U32o7f7vZwpJkaNDLORJjcu7t59m2jXxqX9un+tt022acsfmoKaQZ+vhhswZtS6Ne/ThQGt0IV0N3Yyv6P3CeT9/tHO0XFI5cAE=);whiteSpace=wrap;html=1;";
EditorUi.prototype.svgBrokenImage=Graph.createSvgImage(10,10,'<rect x="0" y="0" width="10" height="10" stroke="#000" fill="transparent"/><path d="m 0 0 L 10 10 L 0 10 L 10 0" stroke="#000" fill="transparent"/>');EditorUi.prototype.crossOriginImages=!mxClient.IS_IE;EditorUi.prototype.maxBackgroundSize=1600;EditorUi.prototype.maxImageSize=520;EditorUi.prototype.resampleThreshold=1E5;EditorUi.prototype.maxImageBytes=1E6;EditorUi.prototype.maxBackgroundBytes=25E5;EditorUi.prototype.currentFile=null;EditorUi.prototype.printPdfExport=
!1;EditorUi.prototype.pdfPageExport=!0;EditorUi.prototype.formatEnabled="0"!=urlParams.format;EditorUi.prototype.closableScratchpad=!0;(function(){EditorUi.prototype.useCanvasForExport=!1;EditorUi.prototype.jpgSupported=!1;try{var a=document.createElement("canvas");EditorUi.prototype.canvasSupported=!(!a.getContext||!a.getContext("2d"))}catch(u){}try{var b=document.createElement("canvas"),c=new Image;c.onload=function(){try{b.getContext("2d").drawImage(c,0,0);var a=b.toDataURL("image/png");EditorUi.prototype.useCanvasForExport=
@ -7739,8 +7739,8 @@ a;/^https?:\/\//.test(c)&&!this.isCorsEnabledForUrl(c)&&(c=PROXY_URL+"?url="+enc
(f=this.editor.graph.defaultPageBackgroundColor);this.convertImages(x.getSvg(f,null,null,z,null,null!=l?l:!0),mxUtils.bind(this,function(c){var d=new Image;d.onload=mxUtils.bind(this,function(){try{var h=document.createElement("canvas"),k=parseInt(c.getAttribute("width")),l=parseInt(c.getAttribute("height"));m=null!=m?m:1;null!=b&&(m=g?Math.min(1,Math.min(3*b/(4*l),b/k)):b/k);k=Math.ceil(m*k)+2*C;l=Math.ceil(m*l)+2*C;h.setAttribute("width",k);h.setAttribute("height",l);var t=h.getContext("2d");null!=
f&&(t.beginPath(),t.rect(0,0,k,l),t.fillStyle=f,t.fill());t.scale(m,m);mxClient.IS_SF?window.setTimeout(function(){t.drawImage(d,C/m,C/m);a(h)},0):(t.drawImage(d,C/m,C/m),a(h))}catch(N){null!=e&&e(N)}});d.onerror=function(a){null!=e&&e(a)};try{t&&this.editor.graph.addSvgShadow(c);var h=mxUtils.bind(this,function(){if(null!=this.editor.resolvedFontCss){var a=document.createElement("style");a.setAttribute("type","text/css");a.innerHTML=this.editor.resolvedFontCss;c.getElementsByTagName("defs")[0].appendChild(a)}this.convertMath(x,
c,!0,mxUtils.bind(this,function(){d.src=this.createSvgDataUri(mxUtils.getXml(c))}))});this.loadFonts(h)}catch(A){null!=e&&e(A)}}),c,w)};EditorUi.prototype.createImageUrlConverter=function(){var a=new mxUrlConverter;a.updateBaseUrl();var b=a.convert,c=this;a.convert=function(d){if(null!=d){var f="http://"==d.substring(0,7)||"https://"==d.substring(0,8);f&&!navigator.onLine?d=c.svgBrokenImage.src:!f||d.substring(0,a.baseUrl.length)==a.baseUrl||c.crossOriginImages&&c.isCorsEnabledForUrl(d)?"chrome-extension://"!=
d.substring(0,19)&&(d=b.apply(this,arguments)):d=PROXY_URL+"?url="+encodeURIComponent(d)}return d};return a};EditorUi.prototype.convertImages=function(a,b,c,d){null==d&&(d=this.createImageUrlConverter());var f=0,e=c||{};c=mxUtils.bind(this,function(c,h){for(var g=a.getElementsByTagName(c),k=0;k<g.length;k++)mxUtils.bind(this,function(c){var g=d.convert(c.getAttribute(h));if(null!=g&&"data:"!=g.substring(0,5)){var k=e[g];null==k?(f++,this.convertImageToDataUri(g,function(d){null!=d&&(e[g]=d,c.setAttribute(h,
d));f--;0==f&&b(a)})):c.setAttribute(h,k)}else null!=g&&c.setAttribute(h,g)})(g[k])});c("image","xlink:href");c("img","src");0==f&&b(a)};EditorUi.prototype.loadUrl=function(a,b,c,d,e,g){try{var f=d||/(\.png)($|\?)/i.test(a)||/(\.jpe?g)($|\?)/i.test(a)||/(\.gif)($|\?)/i.test(a);e=null!=e?e:!0;var h=mxUtils.bind(this,function(){mxUtils.get(a,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus()){if(null!=b){var d=a.getText();if(f){if((9==document.documentMode||10==document.documentMode)&&
d.substring(0,19)&&(d=b.apply(this,arguments)):d=PROXY_URL+"?url="+encodeURIComponent(d)}return d};return a};EditorUi.prototype.convertImages=function(a,b,c,d){null==d&&(d=this.createImageUrlConverter());var f=0,e=c||{};c=mxUtils.bind(this,function(c,g){for(var h=a.getElementsByTagName(c),k=0;k<h.length;k++)mxUtils.bind(this,function(c){var h=d.convert(c.getAttribute(g));if(null!=h&&"data:"!=h.substring(0,5)){var k=e[h];null==k?(f++,this.convertImageToDataUri(h,function(d){null!=d&&(e[h]=d,c.setAttribute(g,
d));f--;0==f&&b(a)})):c.setAttribute(g,k)}else null!=h&&c.setAttribute(g,h)})(h[k])});c("image","xlink:href");c("img","src");0==f&&b(a)};EditorUi.prototype.loadUrl=function(a,b,c,d,e,g){try{var f=d||/(\.png)($|\?)/i.test(a)||/(\.jpe?g)($|\?)/i.test(a)||/(\.gif)($|\?)/i.test(a);e=null!=e?e:!0;var h=mxUtils.bind(this,function(){mxUtils.get(a,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus()){if(null!=b){var d=a.getText();if(f){if((9==document.documentMode||10==document.documentMode)&&
"undefined"!==typeof window.mxUtilsBinaryToArray){a=mxUtilsBinaryToArray(a.request.responseBody).toArray();for(var d=Array(a.length),e=0;e<a.length;e++)d[e]=String.fromCharCode(a[e]);d=d.join("")}g=null!=g?g:"data:image/png;base64,";d=g+this.base64Encode(d)}b(d)}}else null!=c&&c({code:App.ERROR_UNKNOWN},a)}),function(){null!=c&&c({code:App.ERROR_UNKNOWN})},f,this.timeout,function(){e&&null!=c&&c({code:App.ERROR_TIMEOUT,retry:h})})});h()}catch(B){null!=c&&c(B)}};EditorUi.prototype.isCorsEnabledForUrl=
function(a){null!=urlParams.cors&&null==this.corsRegExp&&(this.corsRegExp=new RegExp(decodeURIComponent(urlParams.cors)));return null!=this.corsRegExp&&this.corsRegExp.test(a)||"https://raw.githubusercontent.com/"===a.substring(0,34)||"https://cdn.rawgit.com/"===a.substring(0,23)||"https://rawgit.com/"===a.substring(0,19)||/^https?:\/\/[^\/]*\.iconfinder.com\//.test(a)||/^https?:\/\/[^\/]*\.draw\.io\/proxy/.test(a)||/^https?:\/\/[^\/]*\.github\.io\//.test(a)};EditorUi.prototype.convertImageToDataUri=
function(a,b){if(/(\.svg)$/i.test(a))mxUtils.get(a,mxUtils.bind(this,function(a){b(this.createSvgDataUri(a.getText()))}),function(){b(this.svgBrokenImage.src)});else{var c=new Image,d=this;this.crossOriginImages&&(c.crossOrigin="anonymous");c.onload=function(){var a=document.createElement("canvas"),f=a.getContext("2d");a.height=c.height;a.width=c.width;f.drawImage(c,0,0);try{b(a.toDataURL())}catch(v){b(d.svgBrokenImage.src)}};c.onerror=function(){b(d.svgBrokenImage.src)};c.src=a}};EditorUi.prototype.importXml=
@ -8112,11 +8112,12 @@ DropboxClient.prototype.pickFile=function(a,b){null!=Dropbox.choose?(a=null!=a?a
function(b,c){this.ui.spinner.stop();a(b,c)}),g=/\.png$/i.test(d[0].name);if(/\.vsdx$/i.test(d[0].name)||/\.gliffy$/i.test(d[0].name)||!this.ui.useCanvasForExport&&g)e(d[0].link);else{var l=d[0].link.indexOf(this.appPath);if(0<l){var m=decodeURIComponent(d[0].link.substring(l+this.appPath.length-1));this.readFile({path:m},mxUtils.bind(this,function(b,f){if(null!=f&&f.id==d[0].id){var h=g?b.lastIndexOf(","):-1;this.ui.spinner.stop();var l=null;0<h&&(h=this.ui.extractGraphModelFromPng(b.substring(h+
1)),null!=h&&0<h.length?b=h:l=new LocalFile(this,b,m,!0));a(m.substring(1),null!=l?l:new DropboxFile(this.ui,b,f))}else this.createFile(d[0],e,c)}),c,g)}else this.createFile(d[0],e,c)}}})})):this.ui.handleError({message:mxResources.get("serviceUnavailableOrBlocked")})};
DropboxClient.prototype.createFile=function(a,b,d){var c=/(\.png)$/i.test(a.name);this.ui.loadUrl(a.link,mxUtils.bind(this,function(e){null!=e&&0<e.length?this.ui.confirm(mxResources.get("note")+": "+mxResources.get("fileWillBeSavedInAppFolder",[a.name]),mxUtils.bind(this,function(){var g=c?e.lastIndexOf(","):-1;0<g&&(g=this.ui.extractGraphModelFromPng(e.substring(g+1)),null!=g&&0<g.length&&(e=g));this.insertFile(a.name,e,mxUtils.bind(this,function(c){b(a.name,c)}),d)}),mxUtils.bind(this,function(){this.ui.spinner.stop()})):
(this.ui.spinner.stop(),d({message:mxResources.get("errorLoadingFile")}))}),d,c)};OneDriveFile=function(a,b,d){DrawioFile.call(this,a,b);this.meta=d};mxUtils.extend(OneDriveFile,DrawioFile);OneDriveFile.prototype.getHash=function(){return"W"+encodeURIComponent(this.meta.id)};OneDriveFile.prototype.getMode=function(){return App.MODE_ONEDRIVE};OneDriveFile.prototype.isAutosaveOptional=function(){return!0};OneDriveFile.prototype.getTitle=function(){return this.meta.name};OneDriveFile.prototype.isRenamable=function(){return!0};
OneDriveFile.prototype.save=function(a,b,d){this.doSave(this.getTitle(),b,d)};OneDriveFile.prototype.saveAs=function(a,b,d){this.doSave(a,b,d)};OneDriveFile.prototype.doSave=function(a,b,d){var c=this.meta.name;this.meta.name=a;DrawioFile.prototype.save.apply(this,arguments);this.meta.name=c;this.saveFile(a,!1,b,d)};
(this.ui.spinner.stop(),d({message:mxResources.get("errorLoadingFile")}))}),d,c)};OneDriveFile=function(a,b,d){DrawioFile.call(this,a,b);this.meta=d};mxUtils.extend(OneDriveFile,DrawioFile);OneDriveFile.prototype.getIdOf=function(a,b){return(a.parentReference.driveId?a.parentReference.driveId+"/":"")+(b?a.parentReference.id:a.id)};OneDriveFile.prototype.getId=function(){return this.getIdOf(this.meta)};OneDriveFile.prototype.getParentId=function(){return this.getIdOf(this.meta,!0)};OneDriveFile.prototype.getHash=function(){return"W"+encodeURIComponent(this.getId())};
OneDriveFile.prototype.getMode=function(){return App.MODE_ONEDRIVE};OneDriveFile.prototype.isAutosaveOptional=function(){return!0};OneDriveFile.prototype.getTitle=function(){return this.meta.name};OneDriveFile.prototype.isRenamable=function(){return!0};OneDriveFile.prototype.save=function(a,b,d){this.doSave(this.getTitle(),b,d)};OneDriveFile.prototype.saveAs=function(a,b,d){this.doSave(a,b,d)};
OneDriveFile.prototype.doSave=function(a,b,d){var c=this.meta.name;this.meta.name=a;DrawioFile.prototype.save.apply(this,arguments);this.meta.name=c;this.saveFile(a,!1,b,d)};
OneDriveFile.prototype.saveFile=function(a,b,d,c){if(this.isEditable())if(this.savingFile)null!=c&&c({code:App.ERROR_BUSY});else if(this.savingFile=!0,this.getTitle()==a){var e=this.isModified,g=this.isModified(),l=mxUtils.bind(this,function(){this.setModified(!1);this.isModified=function(){return g}});l();this.ui.oneDrive.saveFile(this,mxUtils.bind(this,function(a){this.savingFile=!1;this.isModified=e;this.meta=a;this.contentChanged();null!=d&&d()}),mxUtils.bind(this,function(a){this.savingFile=
!1;this.isModified=e;this.setModified(g||this.isModified());if(null!=c){if(null!=a&&null!=a.retry){var b=a.retry;a.retry=function(){l();b()}}c(a)}}))}else this.ui.oneDrive.insertFile(a,this.getData(),mxUtils.bind(this,function(a){this.savingFile=!1;null!=d&&d();this.ui.fileLoaded(a)}),mxUtils.bind(this,function(){this.savingFile=!1;null!=c&&c()}));else null!=d&&d()};
OneDriveFile.prototype.rename=function(a,b,d){this.ui.oneDrive.renameFile(this,a,mxUtils.bind(this,function(c){this.hasSameExtension(a,this.getTitle())?(this.meta=c,this.descriptorChanged(),null!=b&&b()):(this.meta=c,this.save(!0,b,d))}),d)};OneDriveFile.prototype.move=function(a,b,d){this.ui.oneDrive.moveFile(this.meta.id,a,mxUtils.bind(this,function(a){this.meta=a;this.descriptorChanged();null!=b&&b(a)}),d)};OneDriveLibrary=function(a,b,d){OneDriveFile.call(this,a,b,d)};mxUtils.extend(OneDriveLibrary,OneDriveFile);OneDriveLibrary.prototype.isAutosave=function(){return!0};OneDriveLibrary.prototype.doSave=function(a,b,d){this.saveFile(a,!1,b,d)};OneDriveLibrary.prototype.open=function(){};OneDriveClient=function(a){DrawioClient.call(this,a,"odauth");this.token=this.token};mxUtils.extend(OneDriveClient,DrawioClient);OneDriveClient.prototype.clientId="test.draw.io"==window.location.hostname?"2e598409-107f-4b59-89ca-d7723c8e00a4":"45c10911-200f-4e27-a666-9e9fca147395";OneDriveClient.prototype.scopes="user.read";OneDriveClient.prototype.redirectUri="https://"+window.location.hostname+"/onedrive3.html";OneDriveClient.prototype.extension=".html";OneDriveClient.prototype.baseUrl="https://graph.microsoft.com/v1.0";
OneDriveFile.prototype.rename=function(a,b,d){this.ui.oneDrive.renameFile(this,a,mxUtils.bind(this,function(c){this.hasSameExtension(a,this.getTitle())?(this.meta=c,this.descriptorChanged(),null!=b&&b()):(this.meta=c,this.save(!0,b,d))}),d)};OneDriveFile.prototype.move=function(a,b,d){this.ui.oneDrive.moveFile(this.getId(),a,mxUtils.bind(this,function(a){this.meta=a;this.descriptorChanged();null!=b&&b(a)}),d)};OneDriveLibrary=function(a,b,d){OneDriveFile.call(this,a,b,d)};mxUtils.extend(OneDriveLibrary,OneDriveFile);OneDriveLibrary.prototype.isAutosave=function(){return!0};OneDriveLibrary.prototype.doSave=function(a,b,d){this.saveFile(a,!1,b,d)};OneDriveLibrary.prototype.open=function(){};OneDriveClient=function(a){DrawioClient.call(this,a,"odauth");this.token=this.token};mxUtils.extend(OneDriveClient,DrawioClient);OneDriveClient.prototype.clientId="test.draw.io"==window.location.hostname?"2e598409-107f-4b59-89ca-d7723c8e00a4":"45c10911-200f-4e27-a666-9e9fca147395";OneDriveClient.prototype.scopes="user.read";OneDriveClient.prototype.redirectUri="https://"+window.location.hostname+"/onedrive3.html";OneDriveClient.prototype.extension=".html";OneDriveClient.prototype.baseUrl="https://graph.microsoft.com/v1.0";
OneDriveClient.prototype.get=function(a,b,d){a=new mxXmlRequest(a,null,"GET");a.setRequestHeaders=mxUtils.bind(this,function(a,b){a.setRequestHeader("Authorization","Bearer "+this.token)});a.send(b,d);return a};
OneDriveClient.prototype.updateUser=function(a,b,d){var c=!0,e=window.setTimeout(mxUtils.bind(this,function(){c=!1;b({code:App.ERROR_TIMEOUT})}),this.ui.timeout);this.get(this.baseUrl+"/me",mxUtils.bind(this,function(g){window.clearTimeout(e);c&&(200>g.getStatus()||300<=g.getStatus()?d?b({message:mxResources.get("accessDenied")}):(this.logout(),this.authenticate(mxUtils.bind(this,function(){this.updateUser(a,b,!0)}),b)):(g=JSON.parse(g.getText()),this.setUser(new DrawioUser(g.id,null,g.displayName)),
a()))}),b)};
@ -8124,20 +8125,21 @@ OneDriveClient.prototype.authenticate=function(a,b){if(null==window.onOneDriveCa
Math.max(window.outerHeight-525,0)/2),"left="+(window.screenX+Math.max(window.outerWidth-525,0)/2),"status=no,resizable=yes,toolbar=no,menubar=no,scrollbars=yes"].join());null!=l&&(window.onOneDriveCallback=mxUtils.bind(this,function(l,n){if(c){window.onOneDriveCallback=null;c=!1;try{null==l?b({message:mxResources.get("accessDenied"),retry:d}):(null!=g&&g(),this.setUser(null),this.token=l,e&&this.setPersistentToken(l),a())}catch(f){b(f)}finally{null!=n&&n.close()}}else null!=n&&n.close()}),l.focus())}),
mxUtils.bind(this,function(){c&&(window.onOneDriveCallback=null,c=!1,b({message:mxResources.get("accessDenied"),retry:d}))}))});d()}else b({code:App.ERROR_BUSY})};
OneDriveClient.prototype.executeRequest=function(a,b,d){var c=mxUtils.bind(this,function(g){var l=!0,m=window.setTimeout(mxUtils.bind(this,function(){l=!1;d({code:App.ERROR_TIMEOUT,retry:e})}),this.ui.timeout);this.get(a,mxUtils.bind(this,function(a){window.clearTimeout(m);l&&(200<=a.getStatus()&&299>=a.getStatus()||404==a.getStatus()?b(a):401===a.getStatus()||400===a.getStatus()?(this.clearPersistentToken(),this.setUser(null),this.token=null,g?d({message:mxResources.get("accessDenied"),retry:mxUtils.bind(this,
function(){this.authenticate(function(){e(!0)},d)})}):this.authenticate(function(){c(!0)},d)):d(this.parseRequestText(a)))}),d)}),e=mxUtils.bind(this,function(a){null==this.user?this.updateUser(function(){e(!0)},d,a):c(a)});null==this.token?this.authenticate(function(){e(!0)},d):e(!1)};OneDriveClient.prototype.getLibrary=function(a,b,d){this.getFile(a,b,d,!1,!0)};
OneDriveClient.prototype.getFile=function(a,b,d,c,e){e=null!=e?e:!1;this.executeRequest(this.baseUrl+"/me/drive/items/"+a,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus()){var c=JSON.parse(a.getText()),g=/\.png$/i.test(c.name);if(/\.v(dx|sdx?)$/i.test(c.name)||/\.gliffy$/i.test(c.name)||!this.ui.useCanvasForExport&&g)this.ui.convertFile(c["@microsoft.graph.downloadUrl"],c.name,null!=c.file?c.file.mimeType:null,this.extension,b,d);else{var n=!0,f=window.setTimeout(mxUtils.bind(this,
function(){n=!1;d({code:App.ERROR_TIMEOUT})}),this.ui.timeout);this.ui.loadUrl(c["@microsoft.graph.downloadUrl"],mxUtils.bind(this,function(a){window.clearTimeout(f);if(n){var d=g?a.lastIndexOf(","):-1,h=null;0<d&&(d=this.ui.extractGraphModelFromPng(a.substring(d+1)),null!=d&&0<d.length?a=d:h=new LocalFile(this.ui,a,c.name,!0));null!=h?b(h):e?b(new OneDriveLibrary(this.ui,a,c)):b(new OneDriveFile(this.ui,a,c))}}),mxUtils.bind(this,function(a){window.clearTimeout(f);n&&d(this.parseRequestText(a))}),
g||null!=c.file&&null!=c.file.mimeType&&"image/"==c.file.mimeType.substring(0,6))}}else d(this.parseRequestText(a))}),d)};OneDriveClient.prototype.renameFile=function(a,b,d,c){null!=a&&null!=b&&this.checkExists(a.meta.parentReference.id,b,!1,mxUtils.bind(this,function(e){e?this.writeFile(this.baseUrl+"/me/drive/items/"+a.meta.id,JSON.stringify({name:b}),"PATCH","application/json",d,c):c()}))};
OneDriveClient.prototype.moveFile=function(a,b,d,c){this.writeFile(this.baseUrl+"/me/drive/items/"+a,JSON.stringify({parentReference:{id:b}}),"PATCH","application/json",d,c)};OneDriveClient.prototype.insertLibrary=function(a,b,d,c,e){this.insertFile(a,b,d,c,!0,e)};
OneDriveClient.prototype.insertFile=function(a,b,d,c,e,g){e=null!=e?e:!1;this.checkExists(g,a,!0,mxUtils.bind(this,function(l){l?this.writeFile(this.baseUrl+(null!=g?"/me/drive/items/"+g:"/me/drive/root")+"/children/"+a+"/content",b,"PUT",null,mxUtils.bind(this,function(a){e?d(new OneDriveLibrary(this.ui,b,a)):d(new OneDriveFile(this.ui,b,a))}),c):c()}))};
OneDriveClient.prototype.checkExists=function(a,b,d,c){this.executeRequest(this.baseUrl+(null!=a?"/me/drive/items/"+a:"/me/drive/root")+"/children/"+b,mxUtils.bind(this,function(a){404==a.getStatus()?c(!0):d?(this.ui.spinner.stop(),this.ui.confirm(mxResources.get("replaceIt",[b]),function(){c(!0)},function(){c(!1)})):(this.ui.spinner.stop(),this.ui.showError(mxResources.get("error"),mxResources.get("fileExists"),mxResources.get("ok"),function(){c(!1)}))}),function(a){c(!1)},!0)};
OneDriveClient.prototype.saveFile=function(a,b,d){var c=mxUtils.bind(this,function(c){this.writeFile(this.baseUrl+"/me/drive/items/"+a.meta.id+"/content/",c,"PUT",null,b,d)});this.ui.useCanvasForExport&&/(\.png)$/i.test(a.meta.name)?this.ui.getEmbeddedPng(mxUtils.bind(this,function(a){c(this.ui.base64ToBlob(a,"image/png"))}),d,this.ui.getCurrentFile()!=a?a.getData():null):c(a.getData())};
function(){this.authenticate(function(){e(!0)},d)})}):this.authenticate(function(){c(!0)},d)):d(this.parseRequestText(a)))}),d)}),e=mxUtils.bind(this,function(a){null==this.user?this.updateUser(function(){e(!0)},d,a):c(a)});null==this.token?this.authenticate(function(){e(!0)},d):e(!1)};OneDriveClient.prototype.getItemRef=function(a){var b=a.split("/");return 1<b.length?{driveId:b[0],id:b[1]}:{id:a}};
OneDriveClient.prototype.getItemURL=function(a,b){var d=a.split("/");return 1<d.length?(b?"":this.baseUrl)+"/drives/"+d[0]+"/items/"+d[1]:(b?"":this.baseUrl)+"/me/drive/items/"+a};OneDriveClient.prototype.getLibrary=function(a,b,d){this.getFile(a,b,d,!1,!0)};
OneDriveClient.prototype.getFile=function(a,b,d,c,e){e=null!=e?e:!1;this.executeRequest(this.getItemURL(a),mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus()){var c=JSON.parse(a.getText()),g=/\.png$/i.test(c.name);if(/\.v(dx|sdx?)$/i.test(c.name)||/\.gliffy$/i.test(c.name)||!this.ui.useCanvasForExport&&g)this.ui.convertFile(c["@microsoft.graph.downloadUrl"],c.name,null!=c.file?c.file.mimeType:null,this.extension,b,d);else{var n=!0,f=window.setTimeout(mxUtils.bind(this,function(){n=
!1;d({code:App.ERROR_TIMEOUT})}),this.ui.timeout);this.ui.loadUrl(c["@microsoft.graph.downloadUrl"],mxUtils.bind(this,function(a){window.clearTimeout(f);if(n){var d=g?a.lastIndexOf(","):-1,h=null;0<d&&(d=this.ui.extractGraphModelFromPng(a.substring(d+1)),null!=d&&0<d.length?a=d:h=new LocalFile(this.ui,a,c.name,!0));null!=h?b(h):e?b(new OneDriveLibrary(this.ui,a,c)):b(new OneDriveFile(this.ui,a,c))}}),mxUtils.bind(this,function(a){window.clearTimeout(f);n&&d(this.parseRequestText(a))}),g||null!=c.file&&
null!=c.file.mimeType&&"image/"==c.file.mimeType.substring(0,6))}}else d(this.parseRequestText(a))}),d)};OneDriveClient.prototype.renameFile=function(a,b,d,c){null!=a&&null!=b&&this.checkExists(a.getParentId(),b,!1,mxUtils.bind(this,function(e){e?this.writeFile(this.getItemURL(a.getId()),JSON.stringify({name:b}),"PATCH","application/json",d,c):c()}))};
OneDriveClient.prototype.moveFile=function(a,b,d,c){b=this.getItemRef(b);var e=this.getItemRef(a);b.driveId!=e.driveId?c({message:mxResources.get("cannotMoveOneDrive",null,"Moving a file between accounts is not supported yet.")}):this.writeFile(this.getItemURL(a),JSON.stringify({parentReference:b}),"PATCH","application/json",d,c)};OneDriveClient.prototype.insertLibrary=function(a,b,d,c,e){this.insertFile(a,b,d,c,!0,e)};
OneDriveClient.prototype.insertFile=function(a,b,d,c,e,g){e=null!=e?e:!1;this.checkExists(g,a,!0,mxUtils.bind(this,function(l){l?(l="/me/drive/root",null!=g&&(l=this.getItemURL(g,!0)),this.writeFile(this.baseUrl+l+"/children/"+a+"/content",b,"PUT",null,mxUtils.bind(this,function(a){e?d(new OneDriveLibrary(this.ui,b,a)):d(new OneDriveFile(this.ui,b,a))}),c)):c()}))};
OneDriveClient.prototype.checkExists=function(a,b,d,c){var e="/me/drive/root";null!=a&&(e=this.getItemURL(a,!0));this.executeRequest(this.baseUrl+e+"/children/"+b,mxUtils.bind(this,function(a){404==a.getStatus()?c(!0):d?(this.ui.spinner.stop(),this.ui.confirm(mxResources.get("replaceIt",[b]),function(){c(!0)},function(){c(!1)})):(this.ui.spinner.stop(),this.ui.showError(mxResources.get("error"),mxResources.get("fileExists"),mxResources.get("ok"),function(){c(!1)}))}),function(a){c(!1)},!0)};
OneDriveClient.prototype.saveFile=function(a,b,d){var c=mxUtils.bind(this,function(c){var e=this.getItemURL(a.getId())+"/content/";this.writeFile(e,c,"PUT",null,b,d)});this.ui.useCanvasForExport&&/(\.png)$/i.test(a.meta.name)?this.ui.getEmbeddedPng(mxUtils.bind(this,function(a){c(this.ui.base64ToBlob(a,"image/png"))}),d,this.ui.getCurrentFile()!=a?a.getData():null):c(a.getData())};
OneDriveClient.prototype.writeFile=function(a,b,d,c,e,g){if(null!=a&&null!=b){var l=mxUtils.bind(this,function(n){var f=!0,h=window.setTimeout(mxUtils.bind(this,function(){f=!1;g({code:App.ERROR_TIMEOUT,retry:m})}),this.ui.timeout),k=new mxXmlRequest(a,b,d);k.setRequestHeaders=mxUtils.bind(this,function(a,b){a.setRequestHeader("Content-Type",c||" ");a.setRequestHeader("Authorization","Bearer "+this.token)});k.send(mxUtils.bind(this,function(a){window.clearTimeout(h);f&&(200<=a.getStatus()&&299>=a.getStatus()?
e(JSON.parse(a.getText())):401===a.getStatus()?(this.clearPersistentToken(),this.setUser(null),this.token=null,n?g({message:mxResources.get("accessDenied"),retry:mxUtils.bind(this,function(){this.authenticate(function(){m(!0)},g)})}):this.authenticate(function(){l(!0)},g)):g(this.parseRequestText(a)))}),mxUtils.bind(this,function(a){window.clearTimeout(h);f&&g(this.parseRequestText(a))}))}),m=mxUtils.bind(this,function(a){null==this.user?this.updateUser(function(){m(!0)},g,a):l(a)});null==this.token?
this.authenticate(function(){m(!0)},g):m(!1)}else g({message:mxResources.get("unknownError")})};OneDriveClient.prototype.parseRequestText=function(a){var b={message:mxResources.get("unknownError")};try{b=JSON.parse(a.getText())}catch(d){}return b};OneDriveClient.prototype.pickLibrary=function(a){this.pickFile(function(b){a(b)})};
OneDriveClient.prototype.pickFolder=function(a){OneDrive.save({clientId:this.clientId,action:"query",openInNewWindow:!0,advanced:{redirectUri:this.redirectUri},success:mxUtils.bind(this,function(b){this.token=b.accessToken;a(b)}),cancel:function(){},error:mxUtils.bind(this,function(a){this.ui.showError(mxResources.get("error"),a)})})};
OneDriveClient.prototype.pickFile=function(a){a=null!=a?a:mxUtils.bind(this,function(a){this.ui.loadFile("W"+encodeURIComponent(a))});OneDrive.open({clientId:this.clientId,action:"query",multiSelect:!1,advanced:{redirectUri:this.redirectUri},success:mxUtils.bind(this,function(b){null!=b&&null!=b.value&&0<b.value.length&&(this.token=b.accessToken,a(b.value[0].id,b))}),cancel:function(){},error:mxUtils.bind(this,function(a){this.ui.showError(mxResources.get("error"),a)})})};
OneDriveClient.prototype.logout=function(){if(isLocalStorage){var a=localStorage.getItem("odpickerv7cache");null!=a&&'{"odsdkLoginHint":{'==a.substring(0,19)&&localStorage.removeItem("odpickerv7cache")}this.clearPersistentToken();this.setUser(null);this.token=null};GitHubFile=function(a,b,d){DrawioFile.call(this,a,b);this.meta=d};mxUtils.extend(GitHubFile,DrawioFile);GitHubFile.prototype.getHash=function(){return encodeURIComponent("H"+encodeURIComponent(this.meta.org)+"/"+(null!=this.meta.repo?encodeURIComponent(this.meta.repo)+"/"+(null!=this.meta.ref?this.meta.ref+(null!=this.meta.path?"/"+this.meta.path:""):""):""))};
OneDriveClient.prototype.pickFolder=function(a){OneDrive.save({clientId:this.clientId,action:"query",openInNewWindow:!0,advanced:{redirectUri:this.redirectUri,queryParameters:"select=id,name,parentReference"},success:mxUtils.bind(this,function(b){this.token=b.accessToken;a(b)}),cancel:function(){},error:mxUtils.bind(this,function(a){this.ui.showError(mxResources.get("error"),a)})})};
OneDriveClient.prototype.pickFile=function(a){a=null!=a?a:mxUtils.bind(this,function(a){this.ui.loadFile("W"+encodeURIComponent(a))});OneDrive.open({clientId:this.clientId,action:"query",multiSelect:!1,advanced:{redirectUri:this.redirectUri,queryParameters:"select=id,name,parentReference"},success:mxUtils.bind(this,function(b){null!=b&&null!=b.value&&0<b.value.length&&(this.token=b.accessToken,a(OneDriveFile.prototype.getIdOf(b.value[0]),b))}),cancel:function(){},error:mxUtils.bind(this,function(a){this.ui.showError(mxResources.get("error"),
a)})})};OneDriveClient.prototype.logout=function(){if(isLocalStorage){var a=localStorage.getItem("odpickerv7cache");null!=a&&'{"odsdkLoginHint":{'==a.substring(0,19)&&localStorage.removeItem("odpickerv7cache")}this.clearPersistentToken();this.setUser(null);this.token=null};GitHubFile=function(a,b,d){DrawioFile.call(this,a,b);this.meta=d};mxUtils.extend(GitHubFile,DrawioFile);GitHubFile.prototype.getHash=function(){return encodeURIComponent("H"+encodeURIComponent(this.meta.org)+"/"+(null!=this.meta.repo?encodeURIComponent(this.meta.repo)+"/"+(null!=this.meta.ref?this.meta.ref+(null!=this.meta.path?"/"+this.meta.path:""):""):""))};
GitHubFile.prototype.getPublicUrl=function(a){null!=this.meta.download_url?mxUtils.get(this.meta.download_url,mxUtils.bind(this,function(b){a(200<=b.getStatus()&&299>=b.getStatus()?this.meta.download_url:null)}),mxUtils.bind(this,function(){a(null)})):a(null)};GitHubFile.prototype.getMode=function(){return App.MODE_GITHUB};GitHubFile.prototype.isAutosave=function(){return!1};GitHubFile.prototype.getTitle=function(){return this.meta.name};GitHubFile.prototype.isRenamable=function(){return!1};
GitHubFile.prototype.save=function(a,b,d){this.doSave(this.getTitle(),b,d)};GitHubFile.prototype.saveAs=function(a,b,d){this.doSave(a,b,d)};GitHubFile.prototype.doSave=function(a,b,d){var c=this.meta.name;this.meta.name=a;DrawioFile.prototype.save.apply(this,arguments);this.meta.name=c;this.saveFile(a,!1,b,d)};
GitHubFile.prototype.saveFile=function(a,b,d,c){if(this.isEditable())if(this.savingFile)null!=c&&c({code:App.ERROR_BUSY});else if(this.savingFile=!0,this.getTitle()==a){var e=this.isModified,g=this.isModified(),l=mxUtils.bind(this,function(){this.setModified(!1);this.isModified=function(){return g}});l();this.ui.gitHub.saveFile(this,mxUtils.bind(this,function(a){this.savingFile=!1;this.isModified=e;this.meta.sha=a.content.sha;this.meta.html_url=a.content.html_url;this.meta.download_url=a.content.download_url;
@ -8335,8 +8337,8 @@ App.prototype.updateButtonContainer=function(){if(null!=this.buttonContainer){va
this.shareButton=null)}};
App.prototype.save=function(a,b){var d=this.getCurrentFile(),c=mxResources.get("saving");null!=d&&d.constructor==DriveFile&&(c=mxResources.get("createRevision"));if(null!=d&&this.spinner.spin(document.body,c)){this.editor.setStatus("");this.editor.graph.isEditing()&&this.editor.graph.stopEditing();var c=mxUtils.bind(this,function(a){this.spinner.stop();this.getCurrentFile()==d&&(d.isModified()?d.isAutosave()||d.addUnsavedStatus():this.editor.setStatus(mxUtils.htmlEntities(mxResources.get("allChangesSaved"))));null!=
b&&b()}),e=mxUtils.bind(this,function(a){this.handleError(a,null!=a?mxResources.get("errorSavingFile"):null)});a==d.getTitle()?d.save(!0,c,e):d.saveAs(a,c,e)}};
App.prototype.pickFolder=function(a,b,d){d=null!=d?d:!0;var c=this.spinner.pause();d&&a==App.MODE_GOOGLE&&null!=this.drive?this.drive.pickFolder(mxUtils.bind(this,function(a){c();if(a.action==google.picker.Action.PICKED){var d=null;null!=a.docs&&0<a.docs.length&&"folder"==a.docs[0].type&&(d=a.docs[0].id);b(d)}})):d&&a==App.MODE_ONEDRIVE&&null!=this.oneDrive?this.oneDrive.pickFolder(mxUtils.bind(this,function(a){c();null!=a&&null!=a.value&&0<a.value.length&&(a=a.value[0].id,b(a))})):d&&a==App.MODE_GITHUB&&
null!=this.gitHub?this.gitHub.pickFolder(mxUtils.bind(this,function(a){c();b(a)})):d&&a==App.MODE_TRELLO&&null!=this.trello?this.trello.pickFolder(mxUtils.bind(this,function(a){c();b(a)})):EditorUi.prototype.pickFolder.apply(this,arguments)};
App.prototype.pickFolder=function(a,b,d){d=null!=d?d:!0;var c=this.spinner.pause();d&&a==App.MODE_GOOGLE&&null!=this.drive?this.drive.pickFolder(mxUtils.bind(this,function(a){c();if(a.action==google.picker.Action.PICKED){var d=null;null!=a.docs&&0<a.docs.length&&"folder"==a.docs[0].type&&(d=a.docs[0].id);b(d)}})):d&&a==App.MODE_ONEDRIVE&&null!=this.oneDrive?this.oneDrive.pickFolder(mxUtils.bind(this,function(a){c();null!=a&&null!=a.value&&0<a.value.length&&(a=OneDriveFile.prototype.getIdOf(a.value[0]),
b(a))})):d&&a==App.MODE_GITHUB&&null!=this.gitHub?this.gitHub.pickFolder(mxUtils.bind(this,function(a){c();b(a)})):d&&a==App.MODE_TRELLO&&null!=this.trello?this.trello.pickFolder(mxUtils.bind(this,function(a){c();b(a)})):EditorUi.prototype.pickFolder.apply(this,arguments)};
App.prototype.exportFile=function(a,b,d,c,e,g){e==App.MODE_DROPBOX?null!=this.dropbox&&this.spinner.spin(document.body,mxResources.get("saving"))&&this.dropbox.insertFile(b,c?this.base64ToBlob(a,d):a,mxUtils.bind(this,function(){this.spinner.stop()}),mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)})):e==App.MODE_GOOGLE?null!=this.drive&&this.spinner.spin(document.body,mxResources.get("saving"))&&this.drive.insertFile(b,a,g,mxUtils.bind(this,function(a){this.spinner.stop()}),
mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}),d,c,!1):e==App.MODE_ONEDRIVE?null!=this.oneDrive&&this.spinner.spin(document.body,mxResources.get("saving"))&&this.oneDrive.insertFile(b,c?this.base64ToBlob(a,d):a,mxUtils.bind(this,function(){this.spinner.stop()}),mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}),!1,g):e==App.MODE_GITHUB?null!=this.gitHub&&this.spinner.spin(document.body,mxResources.get("saving"))&&this.gitHub.insertFile(b,a,mxUtils.bind(this,
function(){this.spinner.stop()}),mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}),!0,g,c):e==App.MODE_TRELLO?null!=this.trello&&this.spinner.spin(document.body,mxResources.get("saving"))&&this.trello.insertFile(b,c?this.base64ToBlob(a,d):a,mxUtils.bind(this,function(){this.spinner.stop()}),mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}),!1,g):e==App.MODE_BROWSER&&(d=mxUtils.bind(this,function(){localStorage.setItem(b,a)}),null==localStorage.getItem(b)?
@ -8525,7 +8527,7 @@ EditorUi.prototype.createTabForPage=function(a,b,d){d=this.createTab(d);var c=a.
EditorUi.prototype.addTabListeners=function(a,b){mxEvent.disableContextMenu(b);var d=this.editor.graph;mxEvent.addListener(b,"dblclick",mxUtils.bind(this,function(b){this.renamePage(a);mxEvent.consume(b)}));var c=!1,e=!1;mxEvent.addGestureListeners(b,mxUtils.bind(this,function(b){c=null!=this.currentMenu;e=a==this.currentPage;d.isMouseDown||e||this.selectPage(a)}),null,mxUtils.bind(this,function(g){if(d.isEnabled()&&!d.isMouseDown&&(mxEvent.isTouchEvent(g)&&e||mxEvent.isPopupTrigger(g))){d.popupMenuHandler.hideMenu();
this.hideCurrentMenu();if(!mxEvent.isTouchEvent(g)||!c){var l=new mxPopupMenu(this.createPageMenu(a));l.div.className+=" geMenubarMenu";l.smartSeparators=!0;l.showDisabled=!0;l.autoExpand=!0;l.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(l,arguments);this.resetCurrentMenu();l.destroy()});var m=mxEvent.getClientX(g),n=mxEvent.getClientY(g);l.popup(m,n,null,g);this.setCurrentMenu(l,b)}mxEvent.consume(g)}}))};
EditorUi.prototype.createPageMenu=function(a,b){return mxUtils.bind(this,function(d,c){d.addItem(mxResources.get("insert"),null,mxUtils.bind(this,function(){this.insertPage(null,mxUtils.indexOf(this.pages,a)+1)}),c);d.addItem(mxResources.get("delete"),null,mxUtils.bind(this,function(){this.removePage(a)}),c);d.addItem(mxResources.get("rename"),null,mxUtils.bind(this,function(){this.renamePage(a,b)}),c);d.addSeparator(c);d.addItem(mxResources.get("duplicate"),null,mxUtils.bind(this,function(){this.duplicatePage(a,
mxResources.get("copyOf",[a.getName()]))}),c)})};(function(){var a=EditorUi.prototype.refresh;EditorUi.prototype.refresh=function(b){a.apply(this,arguments);this.updateTabContainer()}})();(function(){mxCodecRegistry.getCodec(ChangePageSetup).exclude.push("page")})();(function(){var a=new mxObjectCodec(new MovePage,["ui"]);a.beforeDecode=function(a,d,c){c.ui=a.ui;return d};mxCodecRegistry.register(a)})();
mxResources.get("copyOf",[a.getName()]))}),c)})};(function(){var a=EditorUi.prototype.refresh;EditorUi.prototype.refresh=function(b){a.apply(this,arguments);this.updateTabContainer()}})();(function(){mxCodecRegistry.getCodec(ChangePageSetup).exclude.push("page")})();(function(){var a=new mxObjectCodec(new MovePage,["ui"]);a.beforeDecode=function(a,d,c){c.ui=a.ui;return d};a.afterDecode=function(a,d,c){a=c.oldIndex;c.oldIndex=c.newIndex;c.newIndex=a;return c};mxCodecRegistry.register(a)})();
(function(){var a=new mxObjectCodec(new RenamePage,["ui","page"]);a.beforeDecode=function(a,d,c){c.ui=a.ui;return d};a.afterDecode=function(a,d,c){a=c.previous;c.previous=c.name;c.name=a;return c};mxCodecRegistry.register(a)})();
(function(){var a=new mxObjectCodec(new ChangePage,"ui relatedPage index neverShown page previousPage".split(" ")),b="defaultParent currentRoot scrollLeft scrollTop scale translate lastPasteXml pasteCounter".split(" ");a.afterEncode=function(a,c,e){e.setAttribute("relatedPage",c.relatedPage.getId());null==c.index&&(e.setAttribute("name",c.relatedPage.getName()),null!=c.relatedPage.viewState&&e.setAttribute("viewState",JSON.stringify(c.relatedPage.viewState,function(a,c){return 0>mxUtils.indexOf(b,
a)?c:void 0})),null!=c.relatedPage.root&&a.encodeCell(c.relatedPage.root,e));return e};a.beforeDecode=function(a,b,e){e.ui=a.ui;e.relatedPage=e.ui.getPageById(b.getAttribute("relatedPage"));if(null==e.relatedPage){var c=b.ownerDocument.createElement("diagram");c.setAttribute("id",b.getAttribute("relatedPage"));c.setAttribute("name",b.getAttribute("name"));e.relatedPage=new DiagramPage(c);c=b.getAttribute("viewState");null!=c&&(e.relatedPage.viewState=JSON.parse(c),b.removeAttribute("viewState"));

View file

@ -2199,27 +2199,27 @@ k<f.length-1&&0<=k&&(g=0==Math.round(f[k].x-f[k+1].x)?"col-resize":"row-resize")
this.setTooltips(!0);this.setAllowLoops(!0);this.allowAutoPanning=!0;this.constrainChildren=this.resetEdgesOnConnect=!1;this.constrainRelativeChildren=!0;this.graphHandler.scrollOnMove=!1;this.graphHandler.scaleGrid=!0;this.connectionHandler.setCreateTarget(!1);this.connectionHandler.insertBeforeSource=!0;this.connectionHandler.isValidSource=function(a,d){return!1};this.alternateEdgeStyle="vertical";null==b&&this.loadStylesheet();var f=this.graphHandler.getGuideStates;this.graphHandler.getGuideStates=
function(){var a=f.apply(this,arguments);if(this.graph.pageVisible){for(var d=[],b=this.graph.pageFormat,c=this.graph.pageScale,g=b.width*c,b=b.height*c,c=this.graph.view.translate,e=this.graph.view.scale,k=this.graph.getPageLayout(),l=0;l<k.width;l++)d.push(new mxRectangle(((k.x+l)*g+c.x)*e,(k.y*b+c.y)*e,g*e,b*e));for(l=0;l<k.height;l++)d.push(new mxRectangle((k.x*g+c.x)*e,((k.y+l)*b+c.y)*e,g*e,b*e));a=d.concat(a)}return a};mxDragSource.prototype.dragElementZIndex=mxPopupMenu.prototype.zIndex;mxGuide.prototype.getGuideColor=
function(a,d){return null==a.cell?"#ffa500":mxConstants.GUIDE_COLOR};this.graphHandler.createPreviewShape=function(a){this.previewColor="#000000"==this.graph.background?"#ffffff":mxGraphHandler.prototype.previewColor;return mxGraphHandler.prototype.createPreviewShape.apply(this,arguments)};this.graphHandler.getCells=function(a){for(var d=mxGraphHandler.prototype.getCells.apply(this,arguments),b=[],c=0;c<d.length;c++){var f=this.graph.view.getState(d[c]),f=null!=f?f.style:this.graph.getCellStyle(d[c]);
"1"==mxUtils.getValue(f,"part","0")?(f=this.graph.model.getParent(d[c]),this.graph.model.isVertex(f)&&0>mxUtils.indexOf(d,f)&&b.push(f)):b.push(d[c])}return b};this.connectionHandler.createTargetVertex=function(a,d){var c=this.graph.view.getState(d),c=null!=c?c.style:this.graph.getCellStyle(d);mxUtils.getValue(c,"part",!1)&&(c=this.graph.model.getParent(d),this.graph.model.isVertex(c)&&(d=c));return mxConnectionHandler.prototype.createTargetVertex.apply(this,arguments)};var g=new mxRubberband(this);
"1"==mxUtils.getValue(f,"part","0")?(f=this.graph.model.getParent(d[c]),this.graph.model.isVertex(f)&&0>mxUtils.indexOf(d,f)&&b.push(f)):b.push(d[c])}return b};this.connectionHandler.createTargetVertex=function(a,d){var b=this.graph.view.getState(d),b=null!=b?b.style:this.graph.getCellStyle(d);mxUtils.getValue(b,"part",!1)&&(b=this.graph.model.getParent(d),this.graph.model.isVertex(b)&&(d=b));return mxConnectionHandler.prototype.createTargetVertex.apply(this,arguments)};var g=new mxRubberband(this);
this.getRubberband=function(){return g};var k=(new Date).getTime(),r=0,l=this.connectionHandler.mouseMove;this.connectionHandler.mouseMove=function(){var a=this.currentState;l.apply(this,arguments);a!=this.currentState?(k=(new Date).getTime(),r=0):r=(new Date).getTime()-k};var n=this.connectionHandler.isOutlineConnectEvent;this.connectionHandler.isOutlineConnectEvent=function(a){return null!=this.currentState&&a.getState()==this.currentState&&2E3<r||(null==this.currentState||"0"!=mxUtils.getValue(this.currentState.style,
"outlineConnect","1"))&&n.apply(this,arguments)};var x=this.isToggleEvent;this.isToggleEvent=function(a){return x.apply(this,arguments)||mxEvent.isShiftDown(a)};var v=g.isForceRubberbandEvent;g.isForceRubberbandEvent=function(a){return v.apply(this,arguments)||mxUtils.hasScrollbars(this.graph.container)&&mxClient.IS_FF&&mxClient.IS_WIN&&null==a.getState()&&mxEvent.isTouchEvent(a.getEvent())};var A=null;this.panningHandler.addListener(mxEvent.PAN_START,mxUtils.bind(this,function(){this.isEnabled()&&
(A=this.container.style.cursor,this.container.style.cursor="move")}));this.panningHandler.addListener(mxEvent.PAN_END,mxUtils.bind(this,function(){this.isEnabled()&&(this.container.style.cursor=A)}));this.popupMenuHandler.autoExpand=!0;this.popupMenuHandler.isSelectOnPopup=function(a){return mxEvent.isMouseEvent(a.getEvent())};var y=this.click;this.click=function(a){var d=null==a.state&&null!=a.sourceState&&this.isCellLocked(a.sourceState.cell);if(this.isEnabled()&&!d||a.isConsumed())return y.apply(this,
arguments);d=d?a.sourceState.cell:a.getCell();null!=d&&(d=this.getLinkForCell(d),null!=d&&(this.isCustomLink(d)?this.customLinkClicked(d):this.openLink(d)))};this.tooltipHandler.getStateForEvent=function(a){return a.sourceState};this.getCursorForMouseEvent=function(a){var d=null==a.state&&null!=a.sourceState&&this.isCellLocked(a.sourceState.cell);return this.getCursorForCell(d?a.sourceState.cell:a.getCell())};var t=this.getCursorForCell;this.getCursorForCell=function(a){if(!this.isEnabled()||this.isCellLocked(a)){if(null!=
this.getLinkForCell(a))return"pointer";if(this.isCellLocked(a))return"default"}return t.apply(this,arguments)};this.selectRegion=function(a,d){var c=this.getAllCells(a.x,a.y,a.width,a.height);this.selectCellsForEvent(c,d);return c};this.getAllCells=function(a,d,c,b,f,g){g=null!=g?g:[];if(0<c||0<b){var e=this.getModel(),k=a+c,l=d+b;null==f&&(f=this.getCurrentRoot(),null==f&&(f=e.getRoot()));if(null!=f)for(var n=e.getChildCount(f),I=0;I<n;I++){var r=e.getChildAt(f,I),t=this.view.getState(r);if(null!=
t&&this.isCellVisible(r)&&"1"!=mxUtils.getValue(t.style,"locked","0")){var y=mxUtils.getValue(t.style,mxConstants.STYLE_ROTATION)||0;0!=y&&(t=mxUtils.getBoundingBox(t,y));(e.isEdge(r)||e.isVertex(r))&&t.x>=a&&t.y+t.height<=l&&t.y>=d&&t.x+t.width<=k&&g.push(r);this.getAllCells(a,d,c,b,r,g)}}}return g};var z=this.graphHandler.shouldRemoveCellsFromParent;this.graphHandler.shouldRemoveCellsFromParent=function(a,d,c){return this.graph.isCellSelected(a)?!1:z.apply(this,arguments)};this.isCellLocked=function(a){for(a=
this.view.getState(a);null!=a;){if("1"==mxUtils.getValue(a.style,"locked","0"))return!0;a=this.view.getState(this.model.getParent(a.cell))}return!1};var G=null;this.addListener(mxEvent.FIRE_MOUSE_EVENT,mxUtils.bind(this,function(a,d){if("mouseDown"==d.getProperty("eventName")){var c=d.getProperty("event").getState();G=null==c||this.isSelectionEmpty()||this.isCellSelected(c.cell)?null:this.getSelectionCells()}}));this.addListener(mxEvent.TAP_AND_HOLD,mxUtils.bind(this,function(a,d){if(!mxEvent.isMultiTouchEvent(d)){var c=
d.getProperty("event"),b=d.getProperty("cell");null==b?(c=mxUtils.convertPoint(this.container,mxEvent.getClientX(c),mxEvent.getClientY(c)),g.start(c.x,c.y)):null!=G?this.addSelectionCells(G):1<this.getSelectionCount()&&this.isCellSelected(b)&&this.removeSelectionCell(b);G=null;d.consume()}}));this.connectionHandler.selectCells=function(a,d){this.graph.setSelectionCell(d||a)};this.connectionHandler.constraintHandler.isStateIgnored=function(a,d){return d&&a.view.graph.isCellSelected(a.cell)};this.selectionModel.addListener(mxEvent.CHANGE,
this.getLinkForCell(a))return"pointer";if(this.isCellLocked(a))return"default"}return t.apply(this,arguments)};this.selectRegion=function(a,d){var b=this.getAllCells(a.x,a.y,a.width,a.height);this.selectCellsForEvent(b,d);return b};this.getAllCells=function(a,d,b,c,f,g){g=null!=g?g:[];if(0<b||0<c){var e=this.getModel(),k=a+b,l=d+c;null==f&&(f=this.getCurrentRoot(),null==f&&(f=e.getRoot()));if(null!=f)for(var n=e.getChildCount(f),I=0;I<n;I++){var r=e.getChildAt(f,I),t=this.view.getState(r);if(null!=
t&&this.isCellVisible(r)&&"1"!=mxUtils.getValue(t.style,"locked","0")){var y=mxUtils.getValue(t.style,mxConstants.STYLE_ROTATION)||0;0!=y&&(t=mxUtils.getBoundingBox(t,y));(e.isEdge(r)||e.isVertex(r))&&t.x>=a&&t.y+t.height<=l&&t.y>=d&&t.x+t.width<=k&&g.push(r);this.getAllCells(a,d,b,c,r,g)}}}return g};var z=this.graphHandler.shouldRemoveCellsFromParent;this.graphHandler.shouldRemoveCellsFromParent=function(a,d,b){return this.graph.isCellSelected(a)?!1:z.apply(this,arguments)};this.isCellLocked=function(a){for(a=
this.view.getState(a);null!=a;){if("1"==mxUtils.getValue(a.style,"locked","0"))return!0;a=this.view.getState(this.model.getParent(a.cell))}return!1};var G=null;this.addListener(mxEvent.FIRE_MOUSE_EVENT,mxUtils.bind(this,function(a,d){if("mouseDown"==d.getProperty("eventName")){var b=d.getProperty("event").getState();G=null==b||this.isSelectionEmpty()||this.isCellSelected(b.cell)?null:this.getSelectionCells()}}));this.addListener(mxEvent.TAP_AND_HOLD,mxUtils.bind(this,function(a,d){if(!mxEvent.isMultiTouchEvent(d)){var b=
d.getProperty("event"),c=d.getProperty("cell");null==c?(b=mxUtils.convertPoint(this.container,mxEvent.getClientX(b),mxEvent.getClientY(b)),g.start(b.x,b.y)):null!=G?this.addSelectionCells(G):1<this.getSelectionCount()&&this.isCellSelected(c)&&this.removeSelectionCell(c);G=null;d.consume()}}));this.connectionHandler.selectCells=function(a,d){this.graph.setSelectionCell(d||a)};this.connectionHandler.constraintHandler.isStateIgnored=function(a,d){return d&&a.view.graph.isCellSelected(a.cell)};this.selectionModel.addListener(mxEvent.CHANGE,
mxUtils.bind(this,function(){var a=this.connectionHandler.constraintHandler;null!=a.currentFocus&&a.isStateIgnored(a.currentFocus,!0)&&(a.currentFocus=null,a.constraints=null,a.destroyIcons());a.destroyFocusHighlight()}));Graph.touchStyle&&this.initTouch();var F=this.updateMouseEvent;this.updateMouseEvent=function(a){a=F.apply(this,arguments);null!=a.state&&this.isCellLocked(a.getCell())&&(a.state=null);return a}}this.currentTranslate=new mxPoint(0,0)};
Graph.touchStyle=mxClient.IS_TOUCH||mxClient.IS_FF&&mxClient.IS_WIN||0<navigator.maxTouchPoints||0<navigator.msMaxTouchPoints||null==window.urlParams||"1"==urlParams.touch;Graph.fileSupport=null!=window.File&&null!=window.FileReader&&null!=window.FileList&&(null==window.urlParams||"0"!=urlParams.filesupport);Graph.lineJumpsEnabled=!0;Graph.defaultJumpSize=6;
Graph.createSvgImage=function(a,c,e){e=unescape(encodeURIComponent('<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="'+a+'px" height="'+c+'px" version="1.1">'+e+"</svg>"));return new mxImage("data:image/svg+xml;base64,"+(window.btoa?btoa(e):Base64.encode(e,!0)),a,c)};mxUtils.extend(Graph,mxGraph);Graph.prototype.minFitScale=null;Graph.prototype.maxFitScale=null;
Graph.prototype.linkPolicy="frame"==urlParams.target?"blank":urlParams.target||"auto";Graph.prototype.linkTarget="frame"==urlParams.target?"_self":"_blank";Graph.prototype.defaultScrollbars=!mxClient.IS_IOS;Graph.prototype.defaultPageVisible=!0;Graph.prototype.lightbox=!1;Graph.prototype.defaultPageBackgroundColor="#ffffff";Graph.prototype.defaultPageBorderColor="#ffffff";Graph.prototype.defaultGraphBackground="#ffffff";Graph.prototype.scrollTileSize=new mxRectangle(0,0,400,400);
Graph.prototype.transparentBackground=!0;Graph.prototype.defaultEdgeLength=80;Graph.prototype.edgeMode=!1;Graph.prototype.connectionArrowsEnabled=!0;Graph.prototype.placeholderPattern=RegExp("%(date{.*}|[^%^{^}]+)%","g");Graph.prototype.absoluteUrlPattern=/^(?:[a-z]+:)?\/\//i;Graph.prototype.defaultThemeName="default";Graph.prototype.defaultThemes={};Graph.prototype.baseUrl=null!=urlParams.base?decodeURIComponent(urlParams.base):(window!=window.top?document.referrer:document.location.toString()).split("#")[0];
Graph.prototype.editAfterInsert=!1;Graph.prototype.builtInProperties=["label","tooltip","placeholders","placeholder"];
Graph.prototype.init=function(a){mxGraph.prototype.init.apply(this,arguments);this.cellRenderer.initializeLabel=function(a,e){mxCellRenderer.prototype.initializeLabel.apply(this,arguments);var c=a.view.graph.tolerance,h=!0,m=null,p=mxUtils.bind(this,function(a){h=!0;m=new mxPoint(mxEvent.getClientX(a),mxEvent.getClientY(a))}),q=mxUtils.bind(this,function(a){h=h&&null!=m&&Math.abs(m.x-mxEvent.getClientX(a))<c&&Math.abs(m.y-mxEvent.getClientY(a))<c}),u=mxUtils.bind(this,function(d){if(h)for(var c=mxEvent.getSource(d);null!=
c&&c!=e.node;){if("a"==c.nodeName.toLowerCase()){a.view.graph.labelLinkClicked(a,c,d);break}c=c.parentNode}});mxEvent.addGestureListeners(e.node,p,q,u);mxEvent.addListener(e.node,"click",function(a){mxEvent.consume(a)})};this.initLayoutManager()};
Graph.prototype.init=function(a){mxGraph.prototype.init.apply(this,arguments);this.cellRenderer.initializeLabel=function(a,e){mxCellRenderer.prototype.initializeLabel.apply(this,arguments);var b=a.view.graph.tolerance,c=!0,m=null,p=mxUtils.bind(this,function(a){c=!0;m=new mxPoint(mxEvent.getClientX(a),mxEvent.getClientY(a))}),q=mxUtils.bind(this,function(a){c=c&&null!=m&&Math.abs(m.x-mxEvent.getClientX(a))<b&&Math.abs(m.y-mxEvent.getClientY(a))<b}),u=mxUtils.bind(this,function(d){if(c)for(var b=mxEvent.getSource(d);null!=
b&&b!=e.node;){if("a"==b.nodeName.toLowerCase()){a.view.graph.labelLinkClicked(a,b,d);break}b=b.parentNode}});mxEvent.addGestureListeners(e.node,p,q,u);mxEvent.addListener(e.node,"click",function(a){mxEvent.consume(a)})};this.initLayoutManager()};
(function(){Graph.prototype.useCssTransforms=!1;Graph.prototype.currentScale=1;Graph.prototype.currentTranslate=new mxPoint(0,0);Graph.prototype.isCssTransformsSupported=function(){return this.dialect==mxConstants.DIALECT_SVG&&!mxClient.NO_FO};Graph.prototype.getCellAt=function(a,c,e,p,q,u){this.useCssTransforms&&(a=a/this.currentScale-this.currentTranslate.x,c=c/this.currentScale-this.currentTranslate.y);return this.getScaledCellAt.apply(this,arguments)};Graph.prototype.getScaledCellAt=function(a,
c,e,p,q,u){p=null!=p?p:!0;q=null!=q?q:!0;null==e&&(e=this.getCurrentRoot(),null==e&&(e=this.getModel().getRoot()));if(null!=e)for(var d=this.model.getChildCount(e)-1;0<=d;d--){var b=this.model.getChildAt(e,d),g=this.getScaledCellAt(a,c,b,p,q,u);if(null!=g)return g;if(this.isCellVisible(b)&&(q&&this.model.isEdge(b)||p&&this.model.isVertex(b))&&(g=this.view.getState(b),null!=g&&(null==u||!u(g,a,c))&&this.intersects(g,a,c)))return b}return null};mxCellHighlight.prototype.getStrokeWidth=function(a){a=
this.strokeWidth;this.graph.useCssTransforms&&(a/=this.graph.currentScale);return a};mxGraphView.prototype.getGraphBounds=function(){var a=this.graphBounds;if(this.graph.useCssTransforms)var c=this.graph.currentTranslate,e=this.graph.currentScale,a=new mxRectangle((a.x+c.x)*e,(a.y+c.y)*e,a.width*e,a.height*e);return a};mxGraphView.prototype.viewStateChanged=function(){this.graph.useCssTransforms?this.validate():this.revalidate();this.graph.sizeDidChange()};var a=mxGraphView.prototype.validate;mxGraphView.prototype.validate=
function(c){this.graph.useCssTransforms&&(this.graph.currentScale=this.scale,this.graph.currentTranslate.x=this.translate.x,this.graph.currentTranslate.y=this.translate.y,this.scale=1,this.translate.x=0,this.translate.y=0);a.apply(this,arguments);this.graph.useCssTransforms&&(this.graph.updateCssTransform(),this.scale=this.graph.currentScale,this.translate.x=this.graph.currentTranslate.x,this.translate.y=this.graph.currentTranslate.y)};Graph.prototype.updateCssTransform=function(){var a=this.view.getDrawPane();
function(b){this.graph.useCssTransforms&&(this.graph.currentScale=this.scale,this.graph.currentTranslate.x=this.translate.x,this.graph.currentTranslate.y=this.translate.y,this.scale=1,this.translate.x=0,this.translate.y=0);a.apply(this,arguments);this.graph.useCssTransforms&&(this.graph.updateCssTransform(),this.scale=this.graph.currentScale,this.translate.x=this.graph.currentTranslate.x,this.translate.y=this.graph.currentTranslate.y)};Graph.prototype.updateCssTransform=function(){var a=this.view.getDrawPane();
if(null!=a)if(a=a.parentNode,this.useCssTransforms){var c=a.getAttribute("transform");a.setAttribute("transformOrigin","0 0");a.setAttribute("transform","scale("+this.currentScale+","+this.currentScale+")translate("+this.currentTranslate.x+","+this.currentTranslate.y+")");if(c!=a.getAttribute("transform"))try{if(mxClient.IS_EDGE){var e=a.style.display;a.style.display="none";a.getBBox();a.style.display=e}}catch(p){}}else a.removeAttribute("transformOrigin"),a.removeAttribute("transform")};var c=mxGraphView.prototype.validateBackgroundPage;
mxGraphView.prototype.validateBackgroundPage=function(){var a=this.graph.useCssTransforms,e=this.scale,m=this.translate;a&&(this.scale=this.graph.currentScale,this.translate=this.graph.currentTranslate);c.apply(this,arguments);a&&(this.scale=e,this.translate=m)};var e=mxGraph.prototype.updatePageBreaks;mxGraph.prototype.updatePageBreaks=function(a,c,m){var b=this.useCssTransforms,h=this.view.scale,u=this.view.translate;b&&(this.view.scale=1,this.view.translate=new mxPoint(0,0),this.useCssTransforms=
!1);e.apply(this,arguments);b&&(this.view.scale=h,this.view.translate=u,this.useCssTransforms=!0)}})();Graph.prototype.isLightboxView=function(){return this.lightbox};Graph.prototype.labelLinkClicked=function(a,c,e){c=c.getAttribute("href");if(null!=c&&!this.isCustomLink(c)&&mxEvent.isLeftMouseButton(e)&&!mxEvent.isPopupTrigger(e)||mxEvent.isTouchEvent(e)){if(!this.isEnabled()||this.isCellLocked(a.cell))a=this.isBlankLink(c)?this.linkTarget:"_top",this.openLink(this.getAbsoluteUrl(c),a);mxEvent.consume(e)}};
@ -2457,27 +2457,27 @@ b,new mxRectangle(a.x,a.y+d,c,b-2*d);d*=c;return new mxRectangle(a.x+d,a.y,c-2*d
"size",.15);return new mxRectangle(0,Math.min(this.maxHeight*this.scale,a.height*d),0,0)}return null};mxUtils.extend(f,mxActor);f.prototype.size=.2;f.prototype.isRoundable=function(){return!0};f.prototype.redrawPath=function(a,d,c,b,f){d=b*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,f),new mxPoint(d,0),new mxPoint(b,0),new mxPoint(b-d,f)],this.isRounded,
c,!0);a.end()};mxCellRenderer.registerShape("parallelogram",f);mxUtils.extend(g,mxActor);g.prototype.size=.2;g.prototype.isRoundable=function(){return!0};g.prototype.redrawPath=function(a,d,c,b,f){d=b*Math.max(0,Math.min(.5,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,f),new mxPoint(d,0),new mxPoint(b-d,0),new mxPoint(b,f)],this.isRounded,c,!0)};mxCellRenderer.registerShape("trapezoid",
g);mxUtils.extend(k,mxActor);k.prototype.size=.5;k.prototype.redrawPath=function(a,d,c,b,f){a.setFillColor(null);d=b*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(b,0),new mxPoint(d,0),new mxPoint(d,f/2),new mxPoint(0,f/2),new mxPoint(d,f/2),new mxPoint(d,f),new mxPoint(b,f)],this.isRounded,c,!1);a.end()};mxCellRenderer.registerShape("curlyBracket",
k);mxUtils.extend(r,mxActor);r.prototype.redrawPath=function(a,d,c,b,f){a.setStrokeWidth(1);a.setFillColor(this.stroke);d=b/5;a.rect(0,0,d,f);a.fillAndStroke();a.rect(2*d,0,d,f);a.fillAndStroke();a.rect(4*d,0,d,f);a.fillAndStroke()};mxCellRenderer.registerShape("parallelMarker",r);l.prototype.moveTo=function(a,d){this.originalMoveTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=d;this.firstX=a;this.firstY=d};l.prototype.close=function(){null!=this.firstX&&null!=this.firstY&&(this.lineTo(this.firstX,
k);mxUtils.extend(r,mxActor);r.prototype.redrawPath=function(a,d,b,c,f){a.setStrokeWidth(1);a.setFillColor(this.stroke);d=c/5;a.rect(0,0,d,f);a.fillAndStroke();a.rect(2*d,0,d,f);a.fillAndStroke();a.rect(4*d,0,d,f);a.fillAndStroke()};mxCellRenderer.registerShape("parallelMarker",r);l.prototype.moveTo=function(a,d){this.originalMoveTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=d;this.firstX=a;this.firstY=d};l.prototype.close=function(){null!=this.firstX&&null!=this.firstY&&(this.lineTo(this.firstX,
this.firstY),this.originalClose.apply(this.canvas,arguments));this.originalClose.apply(this.canvas,arguments)};l.prototype.quadTo=function(a,d,c,b){this.originalQuadTo.apply(this.canvas,arguments);this.lastX=c;this.lastY=b};l.prototype.curveTo=function(a,d,c,b,f,e){this.originalCurveTo.apply(this.canvas,arguments);this.lastX=f;this.lastY=e};l.prototype.arcTo=function(a,d,c,b,f,e,g){this.originalArcTo.apply(this.canvas,arguments);this.lastX=e;this.lastY=g};l.prototype.lineTo=function(a,d){if(null!=
this.lastX&&null!=this.lastY){var c=function(a){return"number"===typeof a?a?0>a?-1:1:a===a?0:NaN:NaN},b=Math.abs(a-this.lastX),f=Math.abs(d-this.lastY),e=Math.sqrt(b*b+f*f);if(2>e){this.originalLineTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=d;return}var g=Math.round(e/10),na=this.defaultVariation;5>g&&(g=5,na/=3);for(var k=c(a-this.lastX)*b/g,c=c(d-this.lastY)*f/g,b=b/e,f=f/e,e=0;e<g;e++){var l=(Math.random()-.5)*na;this.originalLineTo.call(this.canvas,k*e+this.lastX-l*f,c*e+this.lastY-
l*b)}this.originalLineTo.call(this.canvas,a,d)}else this.originalLineTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=d};l.prototype.destroy=function(){this.canvas.lineTo=this.originalLineTo;this.canvas.moveTo=this.originalMoveTo;this.canvas.close=this.originalClose;this.canvas.quadTo=this.originalQuadTo;this.canvas.curveTo=this.originalCurveTo;this.canvas.arcTo=this.originalArcTo};var Ia=mxShape.prototype.paint;mxShape.prototype.defaultJiggle=1.5;mxShape.prototype.paint=function(a){null!=
this.style&&"0"!=mxUtils.getValue(this.style,"comic","0")&&null==a.handHiggle&&(a.handJiggle=new l(a,mxUtils.getValue(this.style,"jiggle",this.defaultJiggle)));Ia.apply(this,arguments);null!=a.handJiggle&&(a.handJiggle.destroy(),delete a.handJiggle)};mxRhombus.prototype.defaultJiggle=2;var Ja=mxRectangleShape.prototype.isHtmlAllowed;mxRectangleShape.prototype.isHtmlAllowed=function(){return(null==this.style||"0"==mxUtils.getValue(this.style,"comic","0"))&&Ja.apply(this,arguments)};var Ka=mxRectangleShape.prototype.paintBackground;
mxRectangleShape.prototype.paintBackground=function(a,d,c,b,f){if(null==a.handJiggle)Ka.apply(this,arguments);else{var e=!0;null!=this.style&&(e="1"==mxUtils.getValue(this.style,mxConstants.STYLE_POINTER_EVENTS,"1"));if(e||null!=this.fill&&this.fill!=mxConstants.NONE||null!=this.stroke&&this.stroke!=mxConstants.NONE)e||null!=this.fill&&this.fill!=mxConstants.NONE||(a.pointerEvents=!1),a.begin(),this.isRounded?("1"==mxUtils.getValue(this.style,mxConstants.STYLE_ABSOLUTE_ARCSIZE,0)?e=Math.min(b/2,Math.min(f/
2,mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2)):(e=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,e=Math.min(b*e,f*e)),a.moveTo(d+e,c),a.lineTo(d+b-e,c),a.quadTo(d+b,c,d+b,c+e),a.lineTo(d+b,c+f-e),a.quadTo(d+b,c+f,d+b-e,c+f),a.lineTo(d+e,c+f),a.quadTo(d,c+f,d,c+f-e),a.lineTo(d,c+e),a.quadTo(d,c,d+e,c)):(a.moveTo(d,c),a.lineTo(d+b,c),a.lineTo(d+b,c+f),a.lineTo(d,c+f),a.lineTo(d,c)),a.close(),a.end(),a.fillAndStroke()}};
var Da=mxRectangleShape.prototype.paintForeground;mxRectangleShape.prototype.paintForeground=function(a,d,c,b,f){null==a.handJiggle&&Da.apply(this,arguments)};mxUtils.extend(n,mxRectangleShape);n.prototype.size=.1;n.prototype.isHtmlAllowed=function(){return!1};n.prototype.getLabelBounds=function(a){if(mxUtils.getValue(this.state.style,mxConstants.STYLE_HORIZONTAL,!0)==(null==this.direction||this.direction==mxConstants.DIRECTION_EAST||this.direction==mxConstants.DIRECTION_WEST)){var d=a.width,c=a.height;
a=new mxRectangle(a.x,a.y,d,c);var b=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));if(this.isRounded)var f=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,b=Math.max(b,Math.min(d*f,c*f));a.x+=Math.round(b);a.width-=Math.round(2*b)}return a};n.prototype.paintForeground=function(a,d,c,b,f){var e=b*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));if(this.isRounded)var g=mxUtils.getValue(this.style,
mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,e=Math.max(e,Math.min(b*g,f*g));e=Math.round(e);a.begin();a.moveTo(d+e,c);a.lineTo(d+e,c+f);a.moveTo(d+b-e,c);a.lineTo(d+b-e,c+f);a.end();a.stroke();mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("process",n);mxUtils.extend(x,mxRectangleShape);x.prototype.paintBackground=function(a,d,c,b,f){a.setFillColor(mxConstants.NONE);a.rect(d,c,b,f);a.fill()};x.prototype.paintForeground=function(a,
d,c,b,f){};mxCellRenderer.registerShape("transparent",x);mxUtils.extend(v,mxHexagon);v.prototype.size=30;v.prototype.position=.5;v.prototype.position2=.5;v.prototype.base=20;v.prototype.getLabelMargins=function(){return new mxRectangle(0,0,0,parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale)};v.prototype.isRoundable=function(){return!0};v.prototype.redrawPath=function(a,d,c,b,f){d=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;c=Math.max(0,Math.min(f,
parseFloat(mxUtils.getValue(this.style,"size",this.size))));var e=b*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"position",this.position)))),g=b*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"position2",this.position2)))),k=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"base",this.base))));this.addPoints(a,[new mxPoint(0,0),new mxPoint(b,0),new mxPoint(b,f-c),new mxPoint(Math.min(b,e+k),f-c),new mxPoint(g,f),new mxPoint(Math.max(0,e),f-c),new mxPoint(0,
f-c)],this.isRounded,d,!0,[4])};mxCellRenderer.registerShape("callout",v);mxUtils.extend(A,mxActor);A.prototype.size=.2;A.prototype.fixedSize=20;A.prototype.isRoundable=function(){return!0};A.prototype.redrawPath=function(a,d,c,b,f){d="0"!=mxUtils.getValue(this.style,"fixedSize","0")?Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"size",this.fixedSize)))):b*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,
mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(b-d,0),new mxPoint(b,f/2),new mxPoint(b-d,f),new mxPoint(0,f),new mxPoint(d,f/2)],this.isRounded,c,!0);a.end()};mxCellRenderer.registerShape("step",A);mxUtils.extend(y,mxHexagon);y.prototype.size=.25;y.prototype.isRoundable=function(){return!0};y.prototype.redrawPath=function(a,d,c,b,f){d=b*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,
mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(d,0),new mxPoint(b-d,0),new mxPoint(b,.5*f),new mxPoint(b-d,f),new mxPoint(d,f),new mxPoint(0,.5*f)],this.isRounded,c,!0)};mxCellRenderer.registerShape("hexagon",y);mxUtils.extend(t,mxRectangleShape);t.prototype.isHtmlAllowed=function(){return!1};t.prototype.paintForeground=function(a,d,c,b,f){var e=Math.min(b/5,f/5)+1;a.begin();a.moveTo(d+b/2,c+e);a.lineTo(d+b/2,c+f-e);a.moveTo(d+e,c+f/2);a.lineTo(d+b-e,c+f/2);a.end();a.stroke();mxRectangleShape.prototype.paintForeground.apply(this,
arguments)};mxCellRenderer.registerShape("plus",t);var Ea=mxRhombus.prototype.paintVertexShape;mxRhombus.prototype.getLabelBounds=function(a){if(1==this.style["double"]){var d=(2*Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0))*this.scale;return new mxRectangle(a.x+d,a.y+d,a.width-2*d,a.height-2*d)}return a};mxRhombus.prototype.paintVertexShape=function(a,d,c,b,f){Ea.apply(this,arguments);if(!this.outline&&1==this.style["double"]){var e=2*Math.max(2,this.strokewidth+
1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0);d+=e;c+=e;b-=2*e;f-=2*e;0<b&&0<f&&(a.setShadow(!1),Ea.apply(this,[a,d,c,b,f]))}};mxUtils.extend(z,mxRectangleShape);z.prototype.isHtmlAllowed=function(){return!1};z.prototype.getLabelBounds=function(a){if(1==this.style["double"]){var d=(Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0))*this.scale;return new mxRectangle(a.x+d,a.y+d,a.width-2*d,a.height-2*d)}return a};z.prototype.paintForeground=function(a,d,c,
b,f){if(null!=this.style){if(!this.outline&&1==this.style["double"]){var e=Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0);d+=e;c+=e;b-=2*e;f-=2*e;0<b&&0<f&&mxRectangleShape.prototype.paintBackground.apply(this,arguments)}a.setDashed(!1);var e=0,g;do{g=mxCellRenderer.defaultShapes[this.style["symbol"+e]];if(null!=g){var k=this.style["symbol"+e+"Align"],na=this.style["symbol"+e+"VerticalAlign"],l=this.style["symbol"+e+"Width"],n=this.style["symbol"+e+"Height"],t=
this.style["symbol"+e+"Spacing"]||0,r=this.style["symbol"+e+"VSpacing"]||t,y=this.style["symbol"+e+"ArcSpacing"];null!=y&&(y*=this.getArcSize(b+this.strokewidth,f+this.strokewidth),t+=y,r+=y);var y=d,h=c,y=k==mxConstants.ALIGN_CENTER?y+(b-l)/2:k==mxConstants.ALIGN_RIGHT?y+(b-l-t):y+t,h=na==mxConstants.ALIGN_MIDDLE?h+(f-n)/2:na==mxConstants.ALIGN_BOTTOM?h+(f-n-r):h+r;a.save();k=new g;k.style=this.style;g.prototype.paintVertexShape.call(k,a,y,h,l,n);a.restore()}e++}while(null!=g)}mxRectangleShape.prototype.paintForeground.apply(this,
arguments)};mxCellRenderer.registerShape("ext",z);mxUtils.extend(G,mxCylinder);G.prototype.redrawPath=function(a,d,c,b,f,e){e?(a.moveTo(0,0),a.lineTo(b/2,f/2),a.lineTo(b,0),a.end()):(a.moveTo(0,0),a.lineTo(b,0),a.lineTo(b,f),a.lineTo(0,f),a.close())};mxCellRenderer.registerShape("message",G);mxUtils.extend(F,mxShape);F.prototype.paintBackground=function(a,d,c,b,f){a.translate(d,c);a.ellipse(b/4,0,b/2,f/4);a.fillAndStroke();a.begin();a.moveTo(b/2,f/4);a.lineTo(b/2,2*f/3);a.moveTo(b/2,f/3);a.lineTo(0,
f/3);a.moveTo(b/2,f/3);a.lineTo(b,f/3);a.moveTo(b/2,2*f/3);a.lineTo(0,f);a.moveTo(b/2,2*f/3);a.lineTo(b,f);a.end();a.stroke()};mxCellRenderer.registerShape("umlActor",F);mxUtils.extend(B,mxShape);B.prototype.getLabelMargins=function(a){return new mxRectangle(a.width/6,0,0,0)};B.prototype.paintBackground=function(a,d,c,b,f){a.translate(d,c);a.begin();a.moveTo(0,f/4);a.lineTo(0,3*f/4);a.end();a.stroke();a.begin();a.moveTo(0,f/2);a.lineTo(b/6,f/2);a.end();a.stroke();a.ellipse(b/6,0,5*b/6,f);a.fillAndStroke()};
mxRectangleShape.prototype.paintBackground=function(a,d,b,c,f){if(null==a.handJiggle)Ka.apply(this,arguments);else{var e=!0;null!=this.style&&(e="1"==mxUtils.getValue(this.style,mxConstants.STYLE_POINTER_EVENTS,"1"));if(e||null!=this.fill&&this.fill!=mxConstants.NONE||null!=this.stroke&&this.stroke!=mxConstants.NONE)e||null!=this.fill&&this.fill!=mxConstants.NONE||(a.pointerEvents=!1),a.begin(),this.isRounded?("1"==mxUtils.getValue(this.style,mxConstants.STYLE_ABSOLUTE_ARCSIZE,0)?e=Math.min(c/2,Math.min(f/
2,mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2)):(e=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,e=Math.min(c*e,f*e)),a.moveTo(d+e,b),a.lineTo(d+c-e,b),a.quadTo(d+c,b,d+c,b+e),a.lineTo(d+c,b+f-e),a.quadTo(d+c,b+f,d+c-e,b+f),a.lineTo(d+e,b+f),a.quadTo(d,b+f,d,b+f-e),a.lineTo(d,b+e),a.quadTo(d,b,d+e,b)):(a.moveTo(d,b),a.lineTo(d+c,b),a.lineTo(d+c,b+f),a.lineTo(d,b+f),a.lineTo(d,b)),a.close(),a.end(),a.fillAndStroke()}};
var Da=mxRectangleShape.prototype.paintForeground;mxRectangleShape.prototype.paintForeground=function(a,d,b,c,f){null==a.handJiggle&&Da.apply(this,arguments)};mxUtils.extend(n,mxRectangleShape);n.prototype.size=.1;n.prototype.isHtmlAllowed=function(){return!1};n.prototype.getLabelBounds=function(a){if(mxUtils.getValue(this.state.style,mxConstants.STYLE_HORIZONTAL,!0)==(null==this.direction||this.direction==mxConstants.DIRECTION_EAST||this.direction==mxConstants.DIRECTION_WEST)){var d=a.width,b=a.height;
a=new mxRectangle(a.x,a.y,d,b);var c=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));if(this.isRounded)var f=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,c=Math.max(c,Math.min(d*f,b*f));a.x+=Math.round(c);a.width-=Math.round(2*c)}return a};n.prototype.paintForeground=function(a,d,b,c,f){var e=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));if(this.isRounded)var g=mxUtils.getValue(this.style,
mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,e=Math.max(e,Math.min(c*g,f*g));e=Math.round(e);a.begin();a.moveTo(d+e,b);a.lineTo(d+e,b+f);a.moveTo(d+c-e,b);a.lineTo(d+c-e,b+f);a.end();a.stroke();mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("process",n);mxUtils.extend(x,mxRectangleShape);x.prototype.paintBackground=function(a,d,b,c,f){a.setFillColor(mxConstants.NONE);a.rect(d,b,c,f);a.fill()};x.prototype.paintForeground=function(a,
d,b,c,f){};mxCellRenderer.registerShape("transparent",x);mxUtils.extend(v,mxHexagon);v.prototype.size=30;v.prototype.position=.5;v.prototype.position2=.5;v.prototype.base=20;v.prototype.getLabelMargins=function(){return new mxRectangle(0,0,0,parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale)};v.prototype.isRoundable=function(){return!0};v.prototype.redrawPath=function(a,d,b,c,f){d=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;b=Math.max(0,Math.min(f,
parseFloat(mxUtils.getValue(this.style,"size",this.size))));var e=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"position",this.position)))),g=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"position2",this.position2)))),k=Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style,"base",this.base))));this.addPoints(a,[new mxPoint(0,0),new mxPoint(c,0),new mxPoint(c,f-b),new mxPoint(Math.min(c,e+k),f-b),new mxPoint(g,f),new mxPoint(Math.max(0,e),f-b),new mxPoint(0,
f-b)],this.isRounded,d,!0,[4])};mxCellRenderer.registerShape("callout",v);mxUtils.extend(A,mxActor);A.prototype.size=.2;A.prototype.fixedSize=20;A.prototype.isRoundable=function(){return!0};A.prototype.redrawPath=function(a,d,b,c,f){d="0"!=mxUtils.getValue(this.style,"fixedSize","0")?Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style,"size",this.fixedSize)))):c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,
mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(c-d,0),new mxPoint(c,f/2),new mxPoint(c-d,f),new mxPoint(0,f),new mxPoint(d,f/2)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("step",A);mxUtils.extend(y,mxHexagon);y.prototype.size=.25;y.prototype.isRoundable=function(){return!0};y.prototype.redrawPath=function(a,d,b,c,f){d=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,
mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(d,0),new mxPoint(c-d,0),new mxPoint(c,.5*f),new mxPoint(c-d,f),new mxPoint(d,f),new mxPoint(0,.5*f)],this.isRounded,b,!0)};mxCellRenderer.registerShape("hexagon",y);mxUtils.extend(t,mxRectangleShape);t.prototype.isHtmlAllowed=function(){return!1};t.prototype.paintForeground=function(a,d,b,c,f){var e=Math.min(c/5,f/5)+1;a.begin();a.moveTo(d+c/2,b+e);a.lineTo(d+c/2,b+f-e);a.moveTo(d+e,b+f/2);a.lineTo(d+c-e,b+f/2);a.end();a.stroke();mxRectangleShape.prototype.paintForeground.apply(this,
arguments)};mxCellRenderer.registerShape("plus",t);var Ea=mxRhombus.prototype.paintVertexShape;mxRhombus.prototype.getLabelBounds=function(a){if(1==this.style["double"]){var d=(2*Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0))*this.scale;return new mxRectangle(a.x+d,a.y+d,a.width-2*d,a.height-2*d)}return a};mxRhombus.prototype.paintVertexShape=function(a,d,b,c,f){Ea.apply(this,arguments);if(!this.outline&&1==this.style["double"]){var e=2*Math.max(2,this.strokewidth+
1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0);d+=e;b+=e;c-=2*e;f-=2*e;0<c&&0<f&&(a.setShadow(!1),Ea.apply(this,[a,d,b,c,f]))}};mxUtils.extend(z,mxRectangleShape);z.prototype.isHtmlAllowed=function(){return!1};z.prototype.getLabelBounds=function(a){if(1==this.style["double"]){var d=(Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0))*this.scale;return new mxRectangle(a.x+d,a.y+d,a.width-2*d,a.height-2*d)}return a};z.prototype.paintForeground=function(a,d,b,
c,f){if(null!=this.style){if(!this.outline&&1==this.style["double"]){var e=Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0);d+=e;b+=e;c-=2*e;f-=2*e;0<c&&0<f&&mxRectangleShape.prototype.paintBackground.apply(this,arguments)}a.setDashed(!1);var e=0,g;do{g=mxCellRenderer.defaultShapes[this.style["symbol"+e]];if(null!=g){var k=this.style["symbol"+e+"Align"],na=this.style["symbol"+e+"VerticalAlign"],l=this.style["symbol"+e+"Width"],n=this.style["symbol"+e+"Height"],t=
this.style["symbol"+e+"Spacing"]||0,r=this.style["symbol"+e+"VSpacing"]||t,y=this.style["symbol"+e+"ArcSpacing"];null!=y&&(y*=this.getArcSize(c+this.strokewidth,f+this.strokewidth),t+=y,r+=y);var y=d,h=b,y=k==mxConstants.ALIGN_CENTER?y+(c-l)/2:k==mxConstants.ALIGN_RIGHT?y+(c-l-t):y+t,h=na==mxConstants.ALIGN_MIDDLE?h+(f-n)/2:na==mxConstants.ALIGN_BOTTOM?h+(f-n-r):h+r;a.save();k=new g;k.style=this.style;g.prototype.paintVertexShape.call(k,a,y,h,l,n);a.restore()}e++}while(null!=g)}mxRectangleShape.prototype.paintForeground.apply(this,
arguments)};mxCellRenderer.registerShape("ext",z);mxUtils.extend(G,mxCylinder);G.prototype.redrawPath=function(a,d,c,b,f,e){e?(a.moveTo(0,0),a.lineTo(b/2,f/2),a.lineTo(b,0),a.end()):(a.moveTo(0,0),a.lineTo(b,0),a.lineTo(b,f),a.lineTo(0,f),a.close())};mxCellRenderer.registerShape("message",G);mxUtils.extend(F,mxShape);F.prototype.paintBackground=function(a,d,b,c,f){a.translate(d,b);a.ellipse(c/4,0,c/2,f/4);a.fillAndStroke();a.begin();a.moveTo(c/2,f/4);a.lineTo(c/2,2*f/3);a.moveTo(c/2,f/3);a.lineTo(0,
f/3);a.moveTo(c/2,f/3);a.lineTo(c,f/3);a.moveTo(c/2,2*f/3);a.lineTo(0,f);a.moveTo(c/2,2*f/3);a.lineTo(c,f);a.end();a.stroke()};mxCellRenderer.registerShape("umlActor",F);mxUtils.extend(B,mxShape);B.prototype.getLabelMargins=function(a){return new mxRectangle(a.width/6,0,0,0)};B.prototype.paintBackground=function(a,d,c,b,f){a.translate(d,c);a.begin();a.moveTo(0,f/4);a.lineTo(0,3*f/4);a.end();a.stroke();a.begin();a.moveTo(0,f/2);a.lineTo(b/6,f/2);a.end();a.stroke();a.ellipse(b/6,0,5*b/6,f);a.fillAndStroke()};
mxCellRenderer.registerShape("umlBoundary",B);mxUtils.extend(J,mxEllipse);J.prototype.paintVertexShape=function(a,d,c,b,f){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.begin();a.moveTo(d+b/8,c+f);a.lineTo(d+7*b/8,c+f);a.end();a.stroke()};mxCellRenderer.registerShape("umlEntity",J);mxUtils.extend(K,mxShape);K.prototype.paintVertexShape=function(a,d,c,b,f){a.translate(d,c);a.begin();a.moveTo(b,0);a.lineTo(0,f);a.moveTo(0,0);a.lineTo(b,f);a.end();a.stroke()};mxCellRenderer.registerShape("umlDestroy",
K);mxUtils.extend(w,mxShape);w.prototype.getLabelBounds=function(a){return new mxRectangle(a.x,a.y+a.height/8,a.width,7*a.height/8)};w.prototype.paintBackground=function(a,d,c,b,f){a.translate(d,c);a.begin();a.moveTo(3*b/8,f/8*1.1);a.lineTo(5*b/8,0);a.end();a.stroke();a.ellipse(0,f/8,b,7*f/8);a.fillAndStroke()};w.prototype.paintForeground=function(a,d,c,b,f){a.begin();a.moveTo(3*b/8,f/8*1.1);a.lineTo(5*b/8,f/4);a.end();a.stroke()};mxCellRenderer.registerShape("umlControl",w);mxUtils.extend(C,mxRectangleShape);
C.prototype.size=40;C.prototype.isHtmlAllowed=function(){return!1};C.prototype.getLabelBounds=function(a){var d=Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale));return new mxRectangle(a.x,a.y,a.width,d)};C.prototype.paintBackground=function(a,d,c,b,f){var e=Math.max(0,Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size)))),g=mxUtils.getValue(this.style,"participant");null==g||null==this.state?mxRectangleShape.prototype.paintBackground.call(this,
@ -2511,23 +2511,23 @@ mxCellRenderer.registerShape("corner",R);mxUtils.extend(M,mxActor);M.prototype.r
function(a,d,c,b,f){var e=f*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",this.arrowWidth))));d=b*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",this.arrowSize))));c=(f-e)/2;var e=c+e,g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,c),new mxPoint(b-d,c),new mxPoint(b-d,0),new mxPoint(b,f/2),new mxPoint(b-d,f),new mxPoint(b-d,e),new mxPoint(0,e)],this.isRounded,g,!0);a.end()};mxCellRenderer.registerShape("singleArrow",
S);mxUtils.extend(D,mxActor);D.prototype.redrawPath=function(a,d,c,b,f){var e=f*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",S.prototype.arrowWidth))));d=b*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",S.prototype.arrowSize))));c=(f-e)/2;var e=c+e,g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,f/2),new mxPoint(d,0),new mxPoint(d,c),new mxPoint(b-d,c),new mxPoint(b-d,0),new mxPoint(b,
f/2),new mxPoint(b-d,f),new mxPoint(b-d,e),new mxPoint(d,e),new mxPoint(d,f)],this.isRounded,g,!0);a.end()};mxCellRenderer.registerShape("doubleArrow",D);mxUtils.extend(P,mxActor);P.prototype.size=.1;P.prototype.redrawPath=function(a,d,c,b,f){d=b*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));a.moveTo(d,0);a.lineTo(b,0);a.quadTo(b-2*d,f/2,b,f);a.lineTo(d,f);a.quadTo(d-2*d,f/2,d,0);a.close();a.end()};mxCellRenderer.registerShape("dataStorage",P);mxUtils.extend(U,
mxActor);U.prototype.redrawPath=function(a,d,c,b,f){a.moveTo(0,0);a.quadTo(b,0,b,f/2);a.quadTo(b,f,0,f);a.close();a.end()};mxCellRenderer.registerShape("or",U);mxUtils.extend(ga,mxActor);ga.prototype.redrawPath=function(a,d,c,b,f){a.moveTo(0,0);a.quadTo(b,0,b,f/2);a.quadTo(b,f,0,f);a.quadTo(b/2,f/2,0,0);a.close();a.end()};mxCellRenderer.registerShape("xor",ga);mxUtils.extend(V,mxActor);V.prototype.size=20;V.prototype.isRoundable=function(){return!0};V.prototype.redrawPath=function(a,d,c,b,f){d=Math.min(b/
2,Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(d,0),new mxPoint(b-d,0),new mxPoint(b,.8*d),new mxPoint(b,f),new mxPoint(0,f),new mxPoint(0,.8*d)],this.isRounded,c,!0);a.end()};mxCellRenderer.registerShape("loopLimit",V);mxUtils.extend(Z,mxActor);Z.prototype.size=.375;Z.prototype.isRoundable=function(){return!0};Z.prototype.redrawPath=function(a,d,c,b,f){d=f*Math.max(0,
Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(b,0),new mxPoint(b,f-d),new mxPoint(b/2,f),new mxPoint(0,f-d)],this.isRounded,c,!0);a.end()};mxCellRenderer.registerShape("offPageConnector",Z);mxUtils.extend(Y,mxEllipse);Y.prototype.paintVertexShape=function(a,d,c,b,f){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.begin();a.moveTo(d+
b/2,c+f);a.lineTo(d+b,c+f);a.end();a.stroke()};mxCellRenderer.registerShape("tapeData",Y);mxUtils.extend(qa,mxEllipse);qa.prototype.paintVertexShape=function(a,d,c,b,f){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);a.begin();a.moveTo(d,c+f/2);a.lineTo(d+b,c+f/2);a.end();a.stroke();a.begin();a.moveTo(d+b/2,c);a.lineTo(d+b/2,c+f);a.end();a.stroke()};mxCellRenderer.registerShape("orEllipse",qa);mxUtils.extend(ra,mxEllipse);ra.prototype.paintVertexShape=function(a,d,c,b,f){mxEllipse.prototype.paintVertexShape.apply(this,
arguments);a.setShadow(!1);a.begin();a.moveTo(d+.145*b,c+.145*f);a.lineTo(d+.855*b,c+.855*f);a.end();a.stroke();a.begin();a.moveTo(d+.855*b,c+.145*f);a.lineTo(d+.145*b,c+.855*f);a.end();a.stroke()};mxCellRenderer.registerShape("sumEllipse",ra);mxUtils.extend(fa,mxRhombus);fa.prototype.paintVertexShape=function(a,d,c,b,f){mxRhombus.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);a.begin();a.moveTo(d,c+f/2);a.lineTo(d+b,c+f/2);a.end();a.stroke()};mxCellRenderer.registerShape("sortShape",
fa);mxUtils.extend(la,mxEllipse);la.prototype.paintVertexShape=function(a,d,c,b,f){a.begin();a.moveTo(d,c);a.lineTo(d+b,c);a.lineTo(d+b/2,c+f/2);a.close();a.fillAndStroke();a.begin();a.moveTo(d,c+f);a.lineTo(d+b,c+f);a.lineTo(d+b/2,c+f/2);a.close();a.fillAndStroke()};mxCellRenderer.registerShape("collate",la);mxUtils.extend(sa,mxEllipse);sa.prototype.paintVertexShape=function(a,d,c,b,f){var e=c+f-5;a.begin();a.moveTo(d,c);a.lineTo(d,c+f);a.moveTo(d,e);a.lineTo(d+10,e-5);a.moveTo(d,e);a.lineTo(d+10,
e+5);a.moveTo(d,e);a.lineTo(d+b,e);a.moveTo(d+b,c);a.lineTo(d+b,c+f);a.moveTo(d+b,e);a.lineTo(d+b-10,e-5);a.moveTo(d+b,e);a.lineTo(d+b-10,e+5);a.end();a.stroke()};mxCellRenderer.registerShape("dimension",sa);mxUtils.extend(ma,mxEllipse);ma.prototype.paintVertexShape=function(a,d,c,b,f){this.outline||a.setStrokeColor(null);mxRectangleShape.prototype.paintBackground.apply(this,arguments);null!=this.style&&(a.setStrokeColor(this.stroke),a.rect(d,c,b,f),a.fill(),a.begin(),a.moveTo(d,c),"1"==mxUtils.getValue(this.style,
"top","1")?a.lineTo(d+b,c):a.moveTo(d+b,c),"1"==mxUtils.getValue(this.style,"right","1")?a.lineTo(d+b,c+f):a.moveTo(d+b,c+f),"1"==mxUtils.getValue(this.style,"bottom","1")?a.lineTo(d,c+f):a.moveTo(d,c+f),"1"==mxUtils.getValue(this.style,"left","1")&&a.lineTo(d,c-this.strokewidth/2),a.end(),a.stroke())};mxCellRenderer.registerShape("partialRectangle",ma);mxUtils.extend(ta,mxEllipse);ta.prototype.paintVertexShape=function(a,d,c,b,f){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);
a.begin();"vertical"==mxUtils.getValue(this.style,"line")?(a.moveTo(d+b/2,c),a.lineTo(d+b/2,c+f)):(a.moveTo(d,c+f/2),a.lineTo(d+b,c+f/2));a.end();a.stroke()};mxCellRenderer.registerShape("lineEllipse",ta);mxUtils.extend(ha,mxActor);ha.prototype.redrawPath=function(a,d,c,b,f){d=Math.min(b,f/2);a.moveTo(0,0);a.lineTo(b-d,0);a.quadTo(b,0,b,f/2);a.quadTo(b,f,b-d,f);a.lineTo(0,f);a.close();a.end()};mxCellRenderer.registerShape("delay",ha);mxUtils.extend(ca,mxActor);ca.prototype.size=.2;ca.prototype.redrawPath=
function(a,d,c,b,f){d=Math.min(f,b);var e=Math.max(0,Math.min(d,d*parseFloat(mxUtils.getValue(this.style,"size",this.size))));d=(f-e)/2;c=d+e;var g=(b-e)/2,e=g+e;a.moveTo(0,d);a.lineTo(g,d);a.lineTo(g,0);a.lineTo(e,0);a.lineTo(e,d);a.lineTo(b,d);a.lineTo(b,c);a.lineTo(e,c);a.lineTo(e,f);a.lineTo(g,f);a.lineTo(g,c);a.lineTo(0,c);a.close();a.end()};mxCellRenderer.registerShape("cross",ca);mxUtils.extend(da,mxActor);da.prototype.size=.25;da.prototype.redrawPath=function(a,d,c,b,f){d=Math.min(b,f/2);
c=Math.min(b-d,Math.max(0,parseFloat(mxUtils.getValue(this.style,"size",this.size)))*b);a.moveTo(0,f/2);a.lineTo(c,0);a.lineTo(b-d,0);a.quadTo(b,0,b,f/2);a.quadTo(b,f,b-d,f);a.lineTo(c,f);a.close();a.end()};mxCellRenderer.registerShape("display",da);mxUtils.extend(ia,mxConnector);ia.prototype.origPaintEdgeShape=ia.prototype.paintEdgeShape;ia.prototype.paintEdgeShape=function(a,d,c){for(var b=[],f=0;f<d.length;f++)b.push(mxUtils.clone(d[f]));var f=a.state.dashed,e=a.state.fixDash;ia.prototype.origPaintEdgeShape.apply(this,
[a,b,c]);3<=a.state.strokeWidth&&(b=mxUtils.getValue(this.style,"fillColor",null),null!=b&&(a.setStrokeColor(b),a.setStrokeWidth(a.state.strokeWidth-2),a.setDashed(f,e),ia.prototype.origPaintEdgeShape.apply(this,[a,d,c])))};mxCellRenderer.registerShape("filledEdge",ia);"undefined"!==typeof StyleFormatPanel&&function(){var a=StyleFormatPanel.prototype.getCustomColors;StyleFormatPanel.prototype.getCustomColors=function(){var d=this.format.getSelectionState(),c=a.apply(this,arguments);"umlFrame"==d.style.shape&&
c.push({title:mxResources.get("laneColor"),key:"swimlaneFillColor",defaultValue:"#ffffff"});return c}}();mxMarker.addMarker("dash",function(a,d,c,b,f,e,g,k,l,n){var t=f*(g+l+1),r=e*(g+l+1);return function(){a.begin();a.moveTo(b.x-t/2-r/2,b.y-r/2+t/2);a.lineTo(b.x+r/2-3*t/2,b.y-3*r/2-t/2);a.stroke()}});mxMarker.addMarker("cross",function(a,d,c,b,f,e,g,k,l,n){var t=f*(g+l+1),r=e*(g+l+1);return function(){a.begin();a.moveTo(b.x-t/2-r/2,b.y-r/2+t/2);a.lineTo(b.x+r/2-3*t/2,b.y-3*r/2-t/2);a.moveTo(b.x-
mxActor);U.prototype.redrawPath=function(a,d,b,c,f){a.moveTo(0,0);a.quadTo(c,0,c,f/2);a.quadTo(c,f,0,f);a.close();a.end()};mxCellRenderer.registerShape("or",U);mxUtils.extend(ga,mxActor);ga.prototype.redrawPath=function(a,d,c,b,f){a.moveTo(0,0);a.quadTo(b,0,b,f/2);a.quadTo(b,f,0,f);a.quadTo(b/2,f/2,0,0);a.close();a.end()};mxCellRenderer.registerShape("xor",ga);mxUtils.extend(V,mxActor);V.prototype.size=20;V.prototype.isRoundable=function(){return!0};V.prototype.redrawPath=function(a,d,b,c,f){d=Math.min(c/
2,Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(d,0),new mxPoint(c-d,0),new mxPoint(c,.8*d),new mxPoint(c,f),new mxPoint(0,f),new mxPoint(0,.8*d)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("loopLimit",V);mxUtils.extend(Z,mxActor);Z.prototype.size=.375;Z.prototype.isRoundable=function(){return!0};Z.prototype.redrawPath=function(a,d,b,c,f){d=f*Math.max(0,
Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(c,0),new mxPoint(c,f-d),new mxPoint(c/2,f),new mxPoint(0,f-d)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("offPageConnector",Z);mxUtils.extend(Y,mxEllipse);Y.prototype.paintVertexShape=function(a,d,b,c,f){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.begin();a.moveTo(d+
c/2,b+f);a.lineTo(d+c,b+f);a.end();a.stroke()};mxCellRenderer.registerShape("tapeData",Y);mxUtils.extend(qa,mxEllipse);qa.prototype.paintVertexShape=function(a,d,b,c,f){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);a.begin();a.moveTo(d,b+f/2);a.lineTo(d+c,b+f/2);a.end();a.stroke();a.begin();a.moveTo(d+c/2,b);a.lineTo(d+c/2,b+f);a.end();a.stroke()};mxCellRenderer.registerShape("orEllipse",qa);mxUtils.extend(ra,mxEllipse);ra.prototype.paintVertexShape=function(a,d,b,c,f){mxEllipse.prototype.paintVertexShape.apply(this,
arguments);a.setShadow(!1);a.begin();a.moveTo(d+.145*c,b+.145*f);a.lineTo(d+.855*c,b+.855*f);a.end();a.stroke();a.begin();a.moveTo(d+.855*c,b+.145*f);a.lineTo(d+.145*c,b+.855*f);a.end();a.stroke()};mxCellRenderer.registerShape("sumEllipse",ra);mxUtils.extend(fa,mxRhombus);fa.prototype.paintVertexShape=function(a,d,b,c,f){mxRhombus.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);a.begin();a.moveTo(d,b+f/2);a.lineTo(d+c,b+f/2);a.end();a.stroke()};mxCellRenderer.registerShape("sortShape",
fa);mxUtils.extend(la,mxEllipse);la.prototype.paintVertexShape=function(a,d,b,c,f){a.begin();a.moveTo(d,b);a.lineTo(d+c,b);a.lineTo(d+c/2,b+f/2);a.close();a.fillAndStroke();a.begin();a.moveTo(d,b+f);a.lineTo(d+c,b+f);a.lineTo(d+c/2,b+f/2);a.close();a.fillAndStroke()};mxCellRenderer.registerShape("collate",la);mxUtils.extend(sa,mxEllipse);sa.prototype.paintVertexShape=function(a,d,b,c,f){var e=b+f-5;a.begin();a.moveTo(d,b);a.lineTo(d,b+f);a.moveTo(d,e);a.lineTo(d+10,e-5);a.moveTo(d,e);a.lineTo(d+10,
e+5);a.moveTo(d,e);a.lineTo(d+c,e);a.moveTo(d+c,b);a.lineTo(d+c,b+f);a.moveTo(d+c,e);a.lineTo(d+c-10,e-5);a.moveTo(d+c,e);a.lineTo(d+c-10,e+5);a.end();a.stroke()};mxCellRenderer.registerShape("dimension",sa);mxUtils.extend(ma,mxEllipse);ma.prototype.paintVertexShape=function(a,d,b,c,f){this.outline||a.setStrokeColor(null);mxRectangleShape.prototype.paintBackground.apply(this,arguments);null!=this.style&&(a.setStrokeColor(this.stroke),a.rect(d,b,c,f),a.fill(),a.begin(),a.moveTo(d,b),"1"==mxUtils.getValue(this.style,
"top","1")?a.lineTo(d+c,b):a.moveTo(d+c,b),"1"==mxUtils.getValue(this.style,"right","1")?a.lineTo(d+c,b+f):a.moveTo(d+c,b+f),"1"==mxUtils.getValue(this.style,"bottom","1")?a.lineTo(d,b+f):a.moveTo(d,b+f),"1"==mxUtils.getValue(this.style,"left","1")&&a.lineTo(d,b-this.strokewidth/2),a.end(),a.stroke())};mxCellRenderer.registerShape("partialRectangle",ma);mxUtils.extend(ta,mxEllipse);ta.prototype.paintVertexShape=function(a,d,b,c,f){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);
a.begin();"vertical"==mxUtils.getValue(this.style,"line")?(a.moveTo(d+c/2,b),a.lineTo(d+c/2,b+f)):(a.moveTo(d,b+f/2),a.lineTo(d+c,b+f/2));a.end();a.stroke()};mxCellRenderer.registerShape("lineEllipse",ta);mxUtils.extend(ha,mxActor);ha.prototype.redrawPath=function(a,d,b,c,f){d=Math.min(c,f/2);a.moveTo(0,0);a.lineTo(c-d,0);a.quadTo(c,0,c,f/2);a.quadTo(c,f,c-d,f);a.lineTo(0,f);a.close();a.end()};mxCellRenderer.registerShape("delay",ha);mxUtils.extend(ca,mxActor);ca.prototype.size=.2;ca.prototype.redrawPath=
function(a,d,b,c,f){d=Math.min(f,c);var e=Math.max(0,Math.min(d,d*parseFloat(mxUtils.getValue(this.style,"size",this.size))));d=(f-e)/2;b=d+e;var g=(c-e)/2,e=g+e;a.moveTo(0,d);a.lineTo(g,d);a.lineTo(g,0);a.lineTo(e,0);a.lineTo(e,d);a.lineTo(c,d);a.lineTo(c,b);a.lineTo(e,b);a.lineTo(e,f);a.lineTo(g,f);a.lineTo(g,b);a.lineTo(0,b);a.close();a.end()};mxCellRenderer.registerShape("cross",ca);mxUtils.extend(da,mxActor);da.prototype.size=.25;da.prototype.redrawPath=function(a,d,b,c,f){d=Math.min(c,f/2);
b=Math.min(c-d,Math.max(0,parseFloat(mxUtils.getValue(this.style,"size",this.size)))*c);a.moveTo(0,f/2);a.lineTo(b,0);a.lineTo(c-d,0);a.quadTo(c,0,c,f/2);a.quadTo(c,f,c-d,f);a.lineTo(b,f);a.close();a.end()};mxCellRenderer.registerShape("display",da);mxUtils.extend(ia,mxConnector);ia.prototype.origPaintEdgeShape=ia.prototype.paintEdgeShape;ia.prototype.paintEdgeShape=function(a,d,c){for(var b=[],f=0;f<d.length;f++)b.push(mxUtils.clone(d[f]));var f=a.state.dashed,e=a.state.fixDash;ia.prototype.origPaintEdgeShape.apply(this,
[a,b,c]);3<=a.state.strokeWidth&&(b=mxUtils.getValue(this.style,"fillColor",null),null!=b&&(a.setStrokeColor(b),a.setStrokeWidth(a.state.strokeWidth-2),a.setDashed(f,e),ia.prototype.origPaintEdgeShape.apply(this,[a,d,c])))};mxCellRenderer.registerShape("filledEdge",ia);"undefined"!==typeof StyleFormatPanel&&function(){var a=StyleFormatPanel.prototype.getCustomColors;StyleFormatPanel.prototype.getCustomColors=function(){var d=this.format.getSelectionState(),b=a.apply(this,arguments);"umlFrame"==d.style.shape&&
b.push({title:mxResources.get("laneColor"),key:"swimlaneFillColor",defaultValue:"#ffffff"});return b}}();mxMarker.addMarker("dash",function(a,d,b,c,f,e,g,k,l,n){var t=f*(g+l+1),r=e*(g+l+1);return function(){a.begin();a.moveTo(c.x-t/2-r/2,c.y-r/2+t/2);a.lineTo(c.x+r/2-3*t/2,c.y-3*r/2-t/2);a.stroke()}});mxMarker.addMarker("cross",function(a,d,c,b,f,e,g,k,l,n){var t=f*(g+l+1),r=e*(g+l+1);return function(){a.begin();a.moveTo(b.x-t/2-r/2,b.y-r/2+t/2);a.lineTo(b.x+r/2-3*t/2,b.y-3*r/2-t/2);a.moveTo(b.x-
t/2+r/2,b.y-r/2-t/2);a.lineTo(b.x-r/2-3*t/2,b.y-3*r/2+t/2);a.stroke()}});mxMarker.addMarker("circle",wa);mxMarker.addMarker("circlePlus",function(a,d,b,c,f,e,g,k,l,n){var t=c.clone(),r=wa.apply(this,arguments),y=f*(g+2*l),h=e*(g+2*l);return function(){r.apply(this,arguments);a.begin();a.moveTo(t.x-f*l,t.y-e*l);a.lineTo(t.x-2*y+f*l,t.y-2*h+e*l);a.moveTo(t.x-y-h+e*l,t.y-h+y-f*l);a.lineTo(t.x+h-y-e*l,t.y-h-y+f*l);a.stroke()}});mxMarker.addMarker("async",function(a,d,b,c,f,e,g,k,l,n){d=f*l*1.118;b=e*
l*1.118;f*=g+l;e*=g+l;var t=c.clone();t.x-=d;t.y-=b;c.x+=1*-f-d;c.y+=1*-e-b;return function(){a.begin();a.moveTo(t.x,t.y);k?a.lineTo(t.x-f-e/2,t.y-e+f/2):a.lineTo(t.x+e/2-f,t.y-e-f/2);a.lineTo(t.x-f,t.y-e);a.close();n?a.fillAndStroke():a.stroke()}});mxMarker.addMarker("openAsync",function(a){a=null!=a?a:2;return function(d,c,b,f,e,g,k,l,n,t){e*=k+n;g*=k+n;var r=f.clone();return function(){d.begin();d.moveTo(r.x,r.y);l?d.lineTo(r.x-e-g/a,r.y-g+e/a):d.lineTo(r.x+g/a-e,r.y-g-e/a);d.stroke()}}}(2));if("undefined"!==
typeof mxVertexHandler){var Fa=function(a,d,c){return ua(a,["width"],d,function(d,b,f,e,g){g=a.shape.getEdgeWidth()*a.view.scale+c;return new mxPoint(e.x+b*d/4+f*g/2,e.y+f*d/4-b*g/2)},function(d,b,f,e,g,k){d=Math.sqrt(mxUtils.ptSegDistSq(e.x,e.y,g.x,g.y,k.x,k.y));a.style.width=Math.round(2*d)/a.view.scale-c})},ua=function(a,d,c,b,f){return O(a,d,function(d){var f=a.absolutePoints,e=f.length-1;d=a.view.translate;var g=a.view.scale,k=c?f[0]:f[e],f=c?f[1]:f[e-1],e=f.x-k.x,l=f.y-k.y,n=Math.sqrt(e*e+l*
l),k=b.call(this,n,e/n,l/n,k,f);return new mxPoint(k.x/g-d.x,k.y/g-d.y)},function(d,b,e){var g=a.absolutePoints,k=g.length-1;d=a.view.translate;var l=a.view.scale,n=c?g[0]:g[k],g=c?g[1]:g[k-1],k=g.x-n.x,t=g.y-n.y,r=Math.sqrt(k*k+t*t);b.x=(b.x+d.x)*l;b.y=(b.y+d.y)*l;f.call(this,r,k/r,t/r,n,g,b,e)})},oa=function(a){return function(d){return[O(d,["arrowWidth","arrowSize"],function(d){var b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"arrowWidth",S.prototype.arrowWidth))),c=Math.max(0,Math.min(a,
l*1.118;f*=g+l;e*=g+l;var t=c.clone();t.x-=d;t.y-=b;c.x+=1*-f-d;c.y+=1*-e-b;return function(){a.begin();a.moveTo(t.x,t.y);k?a.lineTo(t.x-f-e/2,t.y-e+f/2):a.lineTo(t.x+e/2-f,t.y-e-f/2);a.lineTo(t.x-f,t.y-e);a.close();n?a.fillAndStroke():a.stroke()}});mxMarker.addMarker("openAsync",function(a){a=null!=a?a:2;return function(d,b,c,f,e,g,k,l,n,t){e*=k+n;g*=k+n;var r=f.clone();return function(){d.begin();d.moveTo(r.x,r.y);l?d.lineTo(r.x-e-g/a,r.y-g+e/a):d.lineTo(r.x+g/a-e,r.y-g-e/a);d.stroke()}}}(2));if("undefined"!==
typeof mxVertexHandler){var Fa=function(a,d,b){return ua(a,["width"],d,function(d,c,f,e,g){g=a.shape.getEdgeWidth()*a.view.scale+b;return new mxPoint(e.x+c*d/4+f*g/2,e.y+f*d/4-c*g/2)},function(d,c,f,e,g,k){d=Math.sqrt(mxUtils.ptSegDistSq(e.x,e.y,g.x,g.y,k.x,k.y));a.style.width=Math.round(2*d)/a.view.scale-b})},ua=function(a,d,b,c,f){return O(a,d,function(d){var f=a.absolutePoints,e=f.length-1;d=a.view.translate;var g=a.view.scale,k=b?f[0]:f[e],f=b?f[1]:f[e-1],e=f.x-k.x,l=f.y-k.y,n=Math.sqrt(e*e+l*
l),k=c.call(this,n,e/n,l/n,k,f);return new mxPoint(k.x/g-d.x,k.y/g-d.y)},function(d,c,e){var g=a.absolutePoints,k=g.length-1;d=a.view.translate;var l=a.view.scale,n=b?g[0]:g[k],g=b?g[1]:g[k-1],k=g.x-n.x,t=g.y-n.y,r=Math.sqrt(k*k+t*t);c.x=(c.x+d.x)*l;c.y=(c.y+d.y)*l;f.call(this,r,k/r,t/r,n,g,c,e)})},oa=function(a){return function(d){return[O(d,["arrowWidth","arrowSize"],function(d){var b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"arrowWidth",S.prototype.arrowWidth))),c=Math.max(0,Math.min(a,
mxUtils.getValue(this.state.style,"arrowSize",S.prototype.arrowSize)));return new mxPoint(d.x+(1-c)*d.width,d.y+(1-b)*d.height/2)},function(d,b){this.state.style.arrowWidth=Math.max(0,Math.min(1,Math.abs(d.y+d.height/2-b.y)/d.height*2));this.state.style.arrowSize=Math.max(0,Math.min(a,(d.x+d.width-b.x)/d.width))})]}},Ca=function(a,d,b){return function(c){var f=[O(c,["size"],function(b){var c=Math.max(0,Math.min(b.width,Math.min(b.height,parseFloat(mxUtils.getValue(this.state.style,"size",d)))))*a;
return new mxPoint(b.x+c,b.y+c)},function(d,b){this.state.style.size=Math.round(Math.max(0,Math.min(Math.min(d.width,b.x-d.x),Math.min(d.height,b.y-d.y)))/a)})];b&&mxUtils.getValue(c.style,mxConstants.STYLE_ROUNDED,!1)&&f.push(ja(c));return f}},xa=function(a,d,b,c,f){b=null!=b?b:1;return function(e){var g=[O(e,["size"],function(d){var b=null!=f?"0"!=mxUtils.getValue(this.state.style,"fixedSize","0"):null,c=parseFloat(mxUtils.getValue(this.state.style,"size",b?f:a));return new mxPoint(d.x+Math.max(0,
Math.min(d.width,c*(b?1:d.width))),d.getCenterY())},function(a,d,c){var g=null!=f?"0"!=mxUtils.getValue(this.state.style,"fixedSize","0"):null;a=g?d.x-a.x:Math.max(0,Math.min(b,(d.x-a.x)/a.width));g&&!mxEvent.isAltDown(c.getEvent())&&(a=e.view.graph.snap(a));this.state.style.size=a},null,c)];d&&mxUtils.getValue(e.style,mxConstants.STYLE_ROUNDED,!1)&&g.push(ja(e));return g}},Ga=function(a){return function(d){var b=[O(d,["size"],function(d){var b=Math.max(0,Math.min(a,parseFloat(mxUtils.getValue(this.state.style,
@ -2861,8 +2861,8 @@ mxUtils.bind(this,function(a){this.openLink(EditorUi.scratchpadHelpLink);mxEvent
188,Sidebar.prototype.thumbWidth=46,Sidebar.prototype.thumbHeight=46,Sidebar.prototype.thumbPadding=5<=document.documentMode?0:1,Sidebar.prototype.thumbBorder=2):"dark"==uiTheme&&(mxClient.link("stylesheet",STYLE_PATH+"/dark.css"),Dialog.backdropColor="#2a2a2a",Graph.prototype.defaultThemeName="darkTheme",Graph.prototype.defaultPageBackgroundColor="#2a2a2a",Graph.prototype.defaultGraphBackground=null,Graph.prototype.defaultPageBorderColor="#505759",Graph.prototype.svgShadowColor="#e0e0e0",Graph.prototype.svgShadowOpacity=
"0.6",Graph.prototype.svgShadowSize="0.8",Graph.prototype.svgShadowBlur="1.4",Format.prototype.inactiveTabBackgroundColor="black",BaseFormatPanel.prototype.buttonBackgroundColor="#2a2a2a",Sidebar.prototype.dragPreviewBorder="1px dashed #cccccc",mxGraphHandler.prototype.previewColor="#cccccc",StyleFormatPanel.prototype.defaultStrokeColor="#cccccc",mxClient.IS_SVG&&(Editor.helpImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAP1BMVEUAAAD///////////////////////////////////////////////////////////////////////////////9Du/pqAAAAFXRSTlMAT30qCJRBboyDZyCgRzUUdF46MJlgXETgAAAAeklEQVQY022O2w4DIQhEQUURda/9/28tUO2+7CQS5sgQ4F1RapX78YUwRqQjTU8ILqQfKerTKTvACJ4nLX3krt+8aS82oI8aQC4KavRgtvEW/mDvsICgA03PSGRr79MqX1YPNIxzjyqtw8ZnnRo4t5a5undtJYRywau+ds4Cyza3E6YAAAAASUVORK5CYII=",
Editor.checkmarkImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAMAAACeyVWkAAAARVBMVEUAAACZmZkICAgEBASNjY2Dg4MYGBiTk5N5eXl1dXVmZmZQUFBCQkI3NzceHh4MDAykpKSJiYl+fn5sbGxaWlo/Pz8SEhK96uPlAAAAAXRSTlMAQObYZgAAAE5JREFUGNPFzTcSgDAQQ1HJGUfy/Y9K7V1qeOUfzQifCQZai1XHaz11LFysbDbzgDSSWMZiETz3+b8yNUc/MMsktxuC8XQBSncdLwz+8gCCggGXzBcozAAAAABJRU5ErkJggg=="))};EditorUi.initTheme();EditorUi.prototype.hideFooter=function(){var a=document.getElementById("geFooter");null!=a&&(this.footerHeight=0,a.style.display=
"none",this.refresh())};EditorUi.prototype.showFooter=function(a){var d=document.getElementById("geFooter");null!=d&&(this.footerHeight=a,d.style.display="inline",this.refresh())};EditorUi.prototype.showImageDialog=function(a,b,c,e,h){a=new ImageDialog(this,a,b,c,e,h);this.showDialog(a.container,Graph.fileSupport?440:360,Graph.fileSupport?200:90,!0,!0);a.init()};EditorUi.prototype.showBackgroundImageDialog=function(a){a=null!=a?a:mxUtils.bind(this,function(a){a=new ChangePageSetup(this,null,a);a.ignoreColor=
!0;this.editor.graph.model.execute(a)});var d=new BackgroundImageDialog(this,mxUtils.bind(this,function(d){a(d)}));this.showDialog(d.container,360,200,!0,!0);d.init()};EditorUi.prototype.showLibraryDialog=function(a,b,c,e,h){a=new LibraryDialog(this,a,b,c,e,h);this.showDialog(a.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&&null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.showSplash()}));a.init()};EditorUi.prototype.createSidebarFooterContainer=function(){var a=this.createDiv("geSidebarContainer");
"none",this.refresh())};EditorUi.prototype.showFooter=function(a){var d=document.getElementById("geFooter");null!=d&&(this.footerHeight=a,d.style.display="inline",this.refresh())};EditorUi.prototype.showImageDialog=function(a,b,c,e,r){a=new ImageDialog(this,a,b,c,e,r);this.showDialog(a.container,Graph.fileSupport?440:360,Graph.fileSupport?200:90,!0,!0);a.init()};EditorUi.prototype.showBackgroundImageDialog=function(a){a=null!=a?a:mxUtils.bind(this,function(a){a=new ChangePageSetup(this,null,a);a.ignoreColor=
!0;this.editor.graph.model.execute(a)});var d=new BackgroundImageDialog(this,mxUtils.bind(this,function(d){a(d)}));this.showDialog(d.container,360,200,!0,!0);d.init()};EditorUi.prototype.showLibraryDialog=function(a,b,c,e,r){a=new LibraryDialog(this,a,b,c,e,r);this.showDialog(a.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&&null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.showSplash()}));a.init()};EditorUi.prototype.createSidebarFooterContainer=function(){var a=this.createDiv("geSidebarContainer");
a.style.position="absolute";a.style.overflow="hidden";a.style.borderWidth="3px";var b=document.createElement("a");b.setAttribute("href","javascript:void(0);");b.className="geTitle";b.style.height="100%";b.style.paddingTop="9px";mxUtils.write(b,mxResources.get("moreShapes")+"...");mxEvent.addListener(b,"click",mxUtils.bind(this,function(a){this.actions.get("shapes").funct();mxEvent.consume(a)}));a.appendChild(b);return a};EditorUi.prototype.handleError=function(a,b,c){var d=null!=this.spinner&&null!=
this.spinner.pause?this.spinner.pause():function(){},f=null!=a&&null!=a.error?a.error:a;if(null!=f||null!=b){a=mxUtils.htmlEntities(mxResources.get("unknownError"));var e=mxResources.get("ok"),g=null;b=null!=b?b:mxResources.get("error");if(null!=f)if(null!=f.retry&&(e=mxResources.get("cancel"),g=function(){d();f.retry()}),"undefined"!=typeof gapi&&"undefined"!=typeof gapi.drive&&"undefined"!=typeof gapi.drive.realtime&&f.type==gapi.drive.realtime.ErrorType.FORBIDDEN)a=mxUtils.htmlEntities(mxResources.get("forbidden"));
else if(404==f.code||404==f.status||"undefined"!=typeof gapi&&"undefined"!=typeof gapi.drive&&"undefined"!=typeof gapi.drive.realtime&&f.type==gapi.drive.realtime.ErrorType.NOT_FOUND){a=mxUtils.htmlEntities(mxResources.get("fileNotFoundOrDenied"));var h=window.location.hash;null!=h&&"#G"==h.substring(0,2)&&(h=h.substring(2),a+=' <a href="https://drive.google.com/open?id='+h+'" target="_blank">'+mxUtils.htmlEntities(mxResources.get("tryOpeningViaThisPage"))+"</a>")}else null!=f.message?a=mxUtils.htmlEntities(f.message):
@ -2962,17 +2962,17 @@ a+";")])):/(\.*<graphml )/.test(a)&&"undefined"!==typeof window.mxGraphMlCodec?(
a.status&&299>=a.status?g(a.responseText):null!=m&&m(null))}),n)):/(\.v(sd|dx))($|\?)/i.test(n)||/(\.vs(s|x))($|\?)/i.test(n)||(f=this.insertTextAt(this.validateFileData(a),c,e,!0,null,q));d||null==m||m(f);return f};EditorUi.prototype.base64Encode=function(a){for(var d="",b=0,c=a.length,e,h,n;b<c;){e=a.charCodeAt(b++)&255;if(b==c){d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4);
d+="==";break}h=a.charCodeAt(b++);if(b==c){d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(h&240)>>4);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((h&15)<<2);d+="=";break}n=a.charCodeAt(b++);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&
3)<<4|(h&240)>>4);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((h&15)<<2|(n&192)>>6);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(n&63)}return d};EditorUi.prototype.importFiles=function(a,b,c,e,h,l,n,m,p,q,u,t){b=null!=b?b:0;c=null!=c?c:0;e=null!=e?e:this.maxImageSize;q=null!=q?q:this.maxImageBytes;var d=null!=b&&null!=c,f=!0,g=!1;if(!mxClient.IS_CHROMEAPP&&null!=a)for(var k=u||this.resampleThreshold,r=0;r<a.length;r++)if("image/"==a[r].type.substring(0,
6)&&a[r].size>k){g=!0;break}var v=mxUtils.bind(this,function(){var g=this.editor.graph,k=g.gridSize;h=null!=h?h:mxUtils.bind(this,function(a,b,c,e,f,g,k,h,l){return null!=a&&"<mxlibrary"==a.substring(0,10)?(this.spinner.stop(),this.loadLibrary(new LocalLibrary(this,a,k)),null):this.importFile(a,b,c,e,f,g,k,h,l,d,t)});l=null!=l?l:mxUtils.bind(this,function(a){g.setSelectionCells(a)});if(this.spinner.spin(document.body,mxResources.get("loading")))for(var p=a.length,r=p,v=[],x=mxUtils.bind(this,function(a,
d){v[a]=d;if(0==--r){this.spinner.stop();if(null!=m)m(v);else{var b=[];g.getModel().beginUpdate();try{for(var c=0;c<v.length;c++){var e=v[c]();null!=e&&(b=b.concat(e))}}finally{g.getModel().endUpdate()}}l(b)}}),y=0;y<p;y++)mxUtils.bind(this,function(d){var l=a[d],m=new FileReader;m.onload=mxUtils.bind(this,function(a){if(null==n||n(l))if("image/"==l.type.substring(0,6))if("image/svg"==l.type.substring(0,9)){var m=a.target.result,p=m.indexOf(","),r=decodeURIComponent(escape(atob(m.substring(p+1)))),
v=mxUtils.parseXml(r),r=v.getElementsByTagName("svg");if(0<r.length){var r=r[0],w=t?null:r.getAttribute("content");null!=w&&"<"!=w.charAt(0)&&"%"!=w.charAt(0)&&(w=unescape(window.atob?atob(w):Base64.decode(w,!0)));null!=w&&"%"==w.charAt(0)&&(w=decodeURIComponent(w));null==w||"<mxfile "!==w.substring(0,8)&&"<mxGraphModel "!==w.substring(0,14)?x(d,mxUtils.bind(this,function(){try{if(m.substring(0,p+1),null!=v){var a=v.getElementsByTagName("svg");if(0<a.length){var f=a[0],n=parseFloat(f.getAttribute("width")),
r=parseFloat(f.getAttribute("height")),t=f.getAttribute("viewBox");if(null==t||0==t.length)f.setAttribute("viewBox","0 0 "+n+" "+r);else if(isNaN(n)||isNaN(r)){var q=t.split(" ");3<q.length&&(n=parseFloat(q[2]),r=parseFloat(q[3]))}m=this.createSvgDataUri(mxUtils.getXml(f));var w=Math.min(1,Math.min(e/Math.max(1,n)),e/Math.max(1,r)),x=h(m,l.type,b+d*k,c+d*k,Math.max(1,Math.round(n*w)),Math.max(1,Math.round(r*w)),l.name);if(isNaN(n)||isNaN(r)){var u=new Image;u.onload=mxUtils.bind(this,function(){n=
Math.max(1,u.width);r=Math.max(1,u.height);x[0].geometry.width=n;x[0].geometry.height=r;f.setAttribute("viewBox","0 0 "+n+" "+r);m=this.createSvgDataUri(mxUtils.getXml(f));var a=m.indexOf(";");0<a&&(m=m.substring(0,a)+m.substring(m.indexOf(",",a+1)));g.setCellStyles("image",m,[x[0]])});u.src=this.createSvgDataUri(mxUtils.getXml(f))}return x}}}catch(fa){}return null})):x(d,mxUtils.bind(this,function(){return h(w,"text/xml",b+d*k,c+d*k,0,0,l.name)}))}}else{r=!1;if("image/png"==l.type){var H=t?null:
this.extractGraphModelFromPng(a.target.result);if(null!=H&&0<H.length){var y=new Image;y.src=a.target.result;x(d,mxUtils.bind(this,function(){return h(H,"text/xml",b+d*k,c+d*k,y.width,y.height,l.name)}));r=!0}}r||(mxClient.IS_CHROMEAPP?(this.spinner.stop(),this.showError(mxResources.get("error"),mxResources.get("dragAndDropNotSupported"),mxResources.get("cancel"),mxUtils.bind(this,function(){}),null,mxResources.get("ok"),mxUtils.bind(this,function(){this.actions.get("import").funct()}))):this.loadImage(a.target.result,
mxUtils.bind(this,function(g){this.resizeImage(g,a.target.result,mxUtils.bind(this,function(g,n,m){x(d,mxUtils.bind(this,function(){if(null!=g&&g.length<q){var r=f&&this.isResampleImage(a.target.result,u)?Math.min(1,Math.min(e/n,e/m)):1;return h(g,l.type,b+d*k,c+d*k,Math.round(n*r),Math.round(m*r),l.name)}this.handleError({message:mxResources.get("imageTooBig")});return null}))}),f,e,u)}),mxUtils.bind(this,function(){this.handleError({message:mxResources.get("invalidOrMissingFile")})})))}else h(a.target.result,
6)&&a[r].size>k){g=!0;break}var v=mxUtils.bind(this,function(){var g=this.editor.graph,k=g.gridSize;h=null!=h?h:mxUtils.bind(this,function(a,b,c,e,f,g,k,h,l){return null!=a&&"<mxlibrary"==a.substring(0,10)?(this.spinner.stop(),this.loadLibrary(new LocalLibrary(this,a,k)),null):this.importFile(a,b,c,e,f,g,k,h,l,d,t)});l=null!=l?l:mxUtils.bind(this,function(a){g.setSelectionCells(a)});if(this.spinner.spin(document.body,mxResources.get("loading")))for(var r=a.length,p=r,v=[],x=mxUtils.bind(this,function(a,
d){v[a]=d;if(0==--p){this.spinner.stop();if(null!=m)m(v);else{var b=[];g.getModel().beginUpdate();try{for(var c=0;c<v.length;c++){var e=v[c]();null!=e&&(b=b.concat(e))}}finally{g.getModel().endUpdate()}}l(b)}}),y=0;y<r;y++)mxUtils.bind(this,function(d){var l=a[d],m=new FileReader;m.onload=mxUtils.bind(this,function(a){if(null==n||n(l))if("image/"==l.type.substring(0,6))if("image/svg"==l.type.substring(0,9)){var m=a.target.result,r=m.indexOf(","),p=decodeURIComponent(escape(atob(m.substring(r+1)))),
v=mxUtils.parseXml(p),p=v.getElementsByTagName("svg");if(0<p.length){var p=p[0],w=t?null:p.getAttribute("content");null!=w&&"<"!=w.charAt(0)&&"%"!=w.charAt(0)&&(w=unescape(window.atob?atob(w):Base64.decode(w,!0)));null!=w&&"%"==w.charAt(0)&&(w=decodeURIComponent(w));null==w||"<mxfile "!==w.substring(0,8)&&"<mxGraphModel "!==w.substring(0,14)?x(d,mxUtils.bind(this,function(){try{if(m.substring(0,r+1),null!=v){var a=v.getElementsByTagName("svg");if(0<a.length){var f=a[0],n=parseFloat(f.getAttribute("width")),
p=parseFloat(f.getAttribute("height")),t=f.getAttribute("viewBox");if(null==t||0==t.length)f.setAttribute("viewBox","0 0 "+n+" "+p);else if(isNaN(n)||isNaN(p)){var q=t.split(" ");3<q.length&&(n=parseFloat(q[2]),p=parseFloat(q[3]))}m=this.createSvgDataUri(mxUtils.getXml(f));var w=Math.min(1,Math.min(e/Math.max(1,n)),e/Math.max(1,p)),x=h(m,l.type,b+d*k,c+d*k,Math.max(1,Math.round(n*w)),Math.max(1,Math.round(p*w)),l.name);if(isNaN(n)||isNaN(p)){var u=new Image;u.onload=mxUtils.bind(this,function(){n=
Math.max(1,u.width);p=Math.max(1,u.height);x[0].geometry.width=n;x[0].geometry.height=p;f.setAttribute("viewBox","0 0 "+n+" "+p);m=this.createSvgDataUri(mxUtils.getXml(f));var a=m.indexOf(";");0<a&&(m=m.substring(0,a)+m.substring(m.indexOf(",",a+1)));g.setCellStyles("image",m,[x[0]])});u.src=this.createSvgDataUri(mxUtils.getXml(f))}return x}}}catch(fa){}return null})):x(d,mxUtils.bind(this,function(){return h(w,"text/xml",b+d*k,c+d*k,0,0,l.name)}))}}else{p=!1;if("image/png"==l.type){var H=t?null:
this.extractGraphModelFromPng(a.target.result);if(null!=H&&0<H.length){var y=new Image;y.src=a.target.result;x(d,mxUtils.bind(this,function(){return h(H,"text/xml",b+d*k,c+d*k,y.width,y.height,l.name)}));p=!0}}p||(mxClient.IS_CHROMEAPP?(this.spinner.stop(),this.showError(mxResources.get("error"),mxResources.get("dragAndDropNotSupported"),mxResources.get("cancel"),mxUtils.bind(this,function(){}),null,mxResources.get("ok"),mxUtils.bind(this,function(){this.actions.get("import").funct()}))):this.loadImage(a.target.result,
mxUtils.bind(this,function(g){this.resizeImage(g,a.target.result,mxUtils.bind(this,function(g,n,m){x(d,mxUtils.bind(this,function(){if(null!=g&&g.length<q){var p=f&&this.isResampleImage(a.target.result,u)?Math.min(1,Math.min(e/n,e/m)):1;return h(g,l.type,b+d*k,c+d*k,Math.round(n*p),Math.round(m*p),l.name)}this.handleError({message:mxResources.get("imageTooBig")});return null}))}),f,e,u)}),mxUtils.bind(this,function(){this.handleError({message:mxResources.get("invalidOrMissingFile")})})))}else h(a.target.result,
l.type,b+d*k,c+d*k,240,160,l.name,function(a){x(d,function(){return a})})});/(\.v(dx|sdx?))($|\?)/i.test(l.name)||/(\.vs(x|sx?))($|\?)/i.test(l.name)?h(null,l.type,b+d*k,c+d*k,240,160,l.name,function(a){x(d,function(){return a})},l):"image"==l.type.substring(0,5)?m.readAsDataURL(l):m.readAsText(l)})(y)});g?this.confirmImageResize(function(a){f=a;v()},p):v()};EditorUi.prototype.confirmImageResize=function(a,b){b=null!=b?b:!1;var d=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){},
c=isLocalStorage||mxClient.IS_CHROMEAPP?mxSettings.getResizeImages():null,e=function(c,e){if(c||b)mxSettings.setResizeImages(c?e:null),mxSettings.save();d();a(e)};null==c||b?this.showDialog((new ConfirmDialog(this,mxResources.get("resizeLargeImages"),function(a){e(a,!0)},function(a){e(a,!1)},mxResources.get("resize"),mxResources.get("actualSize"),'<img style="margin-top:8px;" src="'+Editor.loResImage+'"/>','<img style="margin-top:8px;" src="'+Editor.hiResImage+'"/>',isLocalStorage||mxClient.IS_CHROMEAPP)).container,
340,isLocalStorage||mxClient.IS_CHROMEAPP?220:200,!0,!0):e(!1,c)};EditorUi.prototype.parseFile=function(a,b,c){c=null!=c?c:a.name;var d=new FormData;d.append("format","xml");d.append("upfile",a,c);var e=new XMLHttpRequest;e.open("POST",OPEN_URL);e.onreadystatechange=function(){b(e)};e.send(d)};EditorUi.prototype.isResampleImage=function(a,b){b=null!=b?b:this.resampleThreshold;return a.length>b};EditorUi.prototype.resizeImage=function(a,b,c,e,h,l){h=null!=h?h:this.maxImageSize;var d=Math.max(1,a.width),
f=Math.max(1,a.height);if(e&&this.isResampleImage(b,l))try{var g=Math.max(d/h,f/h);if(1<g){var k=Math.round(d/g),m=Math.round(f/g),t=document.createElement("canvas");t.width=k;t.height=m;t.getContext("2d").drawImage(a,0,0,k,m);var r=t.toDataURL();if(r.length<b.length){var p=document.createElement("canvas");p.width=k;p.height=m;var q=p.toDataURL();r!==q&&(b=r,d=k,f=m)}}}catch(B){}c(b,d,f)};EditorUi.prototype.crcTable=[];for(var e=0;256>e;e++)for(var b=e,h=0;8>h;h++)b=1==(b&1)?3988292384^b>>>1:b>>>
f=Math.max(1,a.height);if(e&&this.isResampleImage(b,l))try{var g=Math.max(d/h,f/h);if(1<g){var k=Math.round(d/g),m=Math.round(f/g),p=document.createElement("canvas");p.width=k;p.height=m;p.getContext("2d").drawImage(a,0,0,k,m);var r=p.toDataURL();if(r.length<b.length){var q=document.createElement("canvas");q.width=k;q.height=m;var u=q.toDataURL();r!==u&&(b=r,d=k,f=m)}}}catch(B){}c(b,d,f)};EditorUi.prototype.crcTable=[];for(var e=0;256>e;e++)for(var b=e,h=0;8>h;h++)b=1==(b&1)?3988292384^b>>>1:b>>>
1,EditorUi.prototype.crcTable[e]=b;EditorUi.prototype.updateCRC=function(a,b,c,e){for(var d=0;d<e;d++)a=EditorUi.prototype.crcTable[(a^b[c+d])&255]^a>>>8;return a};EditorUi.prototype.crc32=function(a){this.crcTable=this.crcTable||this.createCrcTable();for(var d=-1,b=0;b<a.length;b++)d=d>>>8^this.crcTable[(d^a.charCodeAt(b))&255];return(d^-1)>>>0};EditorUi.prototype.writeGraphModelToPng=function(a,b,c,e,h){function d(a,d){var b=k;k+=d;return a.substring(b,k)}function f(a){a=d(a,4);return a.charCodeAt(3)+
(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}function g(a){return String.fromCharCode(a>>24&255,a>>16&255,a>>8&255,a&255)}a=a.substring(a.indexOf(",")+1);a=window.atob?atob(a):Base64.decode(a,!0);var k=0;if(d(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=h&&h();else if(d(a,4),"IHDR"!=d(a,4))null!=h&&h();else{d(a,17);h=a.substring(0,k);do{var m=f(a);if("IDAT"==d(a,4)){h=a.substring(0,k-8);c=c+String.fromCharCode(0)+("zTXt"==b?String.fromCharCode(0):
"")+e;e=4294967295;e=this.updateCRC(e,b,0,4);e=this.updateCRC(e,c,0,c.length);h+=g(c.length)+b+c+g(e^4294967295);h+=a.substring(k-8,a.length);break}h+=a.substring(k-8,k-4+m);d(a,m);d(a,4)}while(m);return"data:image/png;base64,"+(window.btoa?btoa(h):Base64.encode(h,!0))}};EditorUi.prototype.extractGraphModelFromPng=function(a){var d=null;try{var b=a.substring(a.indexOf(",")+1),c=window.atob&&!mxClient.IS_SF?atob(b):Base64.decode(b,!0);EditorUi.parsePng(c,mxUtils.bind(this,function(a,b,e){a=c.substring(a+
@ -3128,7 +3128,7 @@ EditorUi.prototype.createTabForPage=function(a,c,e){e=this.createTab(e);var b=a.
EditorUi.prototype.addTabListeners=function(a,c){mxEvent.disableContextMenu(c);var e=this.editor.graph;mxEvent.addListener(c,"dblclick",mxUtils.bind(this,function(b){this.renamePage(a);mxEvent.consume(b)}));var b=!1,h=!1;mxEvent.addGestureListeners(c,mxUtils.bind(this,function(c){b=null!=this.currentMenu;h=a==this.currentPage;e.isMouseDown||h||this.selectPage(a)}),null,mxUtils.bind(this,function(m){if(e.isEnabled()&&!e.isMouseDown&&(mxEvent.isTouchEvent(m)&&h||mxEvent.isPopupTrigger(m))){e.popupMenuHandler.hideMenu();
this.hideCurrentMenu();if(!mxEvent.isTouchEvent(m)||!b){var p=new mxPopupMenu(this.createPageMenu(a));p.div.className+=" geMenubarMenu";p.smartSeparators=!0;p.showDisabled=!0;p.autoExpand=!0;p.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(p,arguments);this.resetCurrentMenu();p.destroy()});var q=mxEvent.getClientX(m),u=mxEvent.getClientY(m);p.popup(q,u,null,m);this.setCurrentMenu(p,c)}mxEvent.consume(m)}}))};
EditorUi.prototype.createPageMenu=function(a,c){return mxUtils.bind(this,function(e,b){e.addItem(mxResources.get("insert"),null,mxUtils.bind(this,function(){this.insertPage(null,mxUtils.indexOf(this.pages,a)+1)}),b);e.addItem(mxResources.get("delete"),null,mxUtils.bind(this,function(){this.removePage(a)}),b);e.addItem(mxResources.get("rename"),null,mxUtils.bind(this,function(){this.renamePage(a,c)}),b);e.addSeparator(b);e.addItem(mxResources.get("duplicate"),null,mxUtils.bind(this,function(){this.duplicatePage(a,
mxResources.get("copyOf",[a.getName()]))}),b)})};(function(){var a=EditorUi.prototype.refresh;EditorUi.prototype.refresh=function(c){a.apply(this,arguments);this.updateTabContainer()}})();(function(){mxCodecRegistry.getCodec(ChangePageSetup).exclude.push("page")})();(function(){var a=new mxObjectCodec(new MovePage,["ui"]);a.beforeDecode=function(a,e,b){b.ui=a.ui;return e};mxCodecRegistry.register(a)})();
mxResources.get("copyOf",[a.getName()]))}),b)})};(function(){var a=EditorUi.prototype.refresh;EditorUi.prototype.refresh=function(c){a.apply(this,arguments);this.updateTabContainer()}})();(function(){mxCodecRegistry.getCodec(ChangePageSetup).exclude.push("page")})();(function(){var a=new mxObjectCodec(new MovePage,["ui"]);a.beforeDecode=function(a,e,b){b.ui=a.ui;return e};a.afterDecode=function(a,e,b){a=b.oldIndex;b.oldIndex=b.newIndex;b.newIndex=a;return b};mxCodecRegistry.register(a)})();
(function(){var a=new mxObjectCodec(new RenamePage,["ui","page"]);a.beforeDecode=function(a,e,b){b.ui=a.ui;return e};a.afterDecode=function(a,e,b){a=b.previous;b.previous=b.name;b.name=a;return b};mxCodecRegistry.register(a)})();
(function(){var a=new mxObjectCodec(new ChangePage,"ui relatedPage index neverShown page previousPage".split(" ")),c="defaultParent currentRoot scrollLeft scrollTop scale translate lastPasteXml pasteCounter".split(" ");a.afterEncode=function(a,b,h){h.setAttribute("relatedPage",b.relatedPage.getId());null==b.index&&(h.setAttribute("name",b.relatedPage.getName()),null!=b.relatedPage.viewState&&h.setAttribute("viewState",JSON.stringify(b.relatedPage.viewState,function(a,b){return 0>mxUtils.indexOf(c,
a)?b:void 0})),null!=b.relatedPage.root&&a.encodeCell(b.relatedPage.root,h));return h};a.beforeDecode=function(a,b,c){c.ui=a.ui;c.relatedPage=c.ui.getPageById(b.getAttribute("relatedPage"));if(null==c.relatedPage){var e=b.ownerDocument.createElement("diagram");e.setAttribute("id",b.getAttribute("relatedPage"));e.setAttribute("name",b.getAttribute("name"));c.relatedPage=new DiagramPage(e);e=b.getAttribute("viewState");null!=e&&(c.relatedPage.viewState=JSON.parse(e),b.removeAttribute("viewState"));
@ -3139,25 +3139,25 @@ return b}function e(a){var b=!1;null!=a&&(a=n.getParent(a),b=l.view.getState(a),
a.width/2)return mxConstants.DIRECTION_NORTH;if(b.x>a.getCenterX())return mxConstants.DIRECTION_WEST}}return mxConstants.DIRECTION_EAST}function u(a,b){b=null!=b?b:!0;l.model.beginUpdate();try{var d=l.model.getParent(a),c=l.getIncomingEdges(a),e=l.cloneCells([c[0],a]);l.model.setTerminal(e[0],l.model.getTerminal(c[0],!0),!0);var f=q(a),g=d.geometry;f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH?e[1].geometry.x+=b?a.geometry.width+10:-e[1].geometry.width-10:e[1].geometry.y+=b?a.geometry.height+
10:-e[1].geometry.height-10;l.view.currentRoot!=d&&(e[1].geometry.x-=g.x,e[1].geometry.y-=g.y);var h=l.view.getState(a),k=l.view.scale;if(null!=h){var n=mxRectangle.fromRectangle(h);f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH?n.x+=(b?a.geometry.width+10:-e[1].geometry.width-10)*k:n.y+=(b?a.geometry.height+10:-e[1].geometry.height-10)*k;var m=l.getOutgoingEdges(l.model.getTerminal(c[0],!0));if(null!=m){for(var p=f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH,t=g=
c=0;t<m.length;t++){var r=l.model.getTerminal(m[t],!1);if(f==q(r)){var w=l.view.getState(r);r!=a&&null!=w&&(p&&b!=w.getCenterX()<h.getCenterX()||!p&&b!=w.getCenterY()<h.getCenterY())&&mxUtils.intersects(n,w)&&(c=10+Math.max(c,(Math.min(n.x+n.width,w.x+w.width)-Math.max(n.x,w.x))/k),g=10+Math.max(g,(Math.min(n.y+n.height,w.y+w.height)-Math.max(n.y,w.y))/k))}}p?g=0:c=0;for(t=0;t<m.length;t++)if(r=l.model.getTerminal(m[t],!1),f==q(r)&&(w=l.view.getState(r),r!=a&&null!=w&&(p&&b!=w.getCenterX()<h.getCenterX()||
!p&&b!=w.getCenterY()<h.getCenterY()))){var u=[];l.traverse(w.cell,!0,function(a,b){null!=b&&u.push(b);u.push(a);return!0});l.moveCells(u,(b?1:-1)*c,(b?1:-1)*g)}}}return l.addCells(e,d)}finally{l.model.endUpdate()}}function d(a){l.model.beginUpdate();try{var b=q(a),d=l.getIncomingEdges(a),c=l.cloneCells([d[0],a]);l.model.setTerminal(d[0],c[1],!1);l.model.setTerminal(c[0],c[1],!0);l.model.setTerminal(c[0],a,!1);var e=l.model.getParent(a),f=e.geometry,g=[];l.view.currentRoot!=e&&(c[1].geometry.x-=f.x,
c[1].geometry.y-=f.y);l.traverse(a,!0,function(a,b){null!=b&&g.push(b);g.push(a);return!0});var h=a.geometry.width+40,k=a.geometry.height+40;b==mxConstants.DIRECTION_SOUTH?h=0:b==mxConstants.DIRECTION_NORTH?(h=0,k=-40):b==mxConstants.DIRECTION_WEST?(h=-40,k=0):b==mxConstants.DIRECTION_EAST&&(k=0);l.moveCells(g,h,k);return l.addCells(c,e)}finally{l.model.endUpdate()}}function f(a){l.model.beginUpdate();try{var b=l.model.getParent(a),c=l.getIncomingEdges(a),d=l.cloneCells([c[0],a]);l.model.setTerminal(d[0],
a,!0);var c=l.getOutgoingEdges(a),e=b.geometry,f=[];l.view.currentRoot==b&&(e=new mxRectangle);for(var g=0;g<c.length;g++){var h=l.model.getTerminal(c[g],!1);null!=h&&f.push(h)}var k=l.view.getBounds(f),n=q(a),m=l.view.translate,p=l.view.scale;n==mxConstants.DIRECTION_SOUTH?(d[1].geometry.x=null==k?a.geometry.x+(a.geometry.width-d[1].geometry.width)/2:(k.x+k.width)/p-m.x-e.x+10,d[1].geometry.y+=a.geometry.height-e.y+40):n==mxConstants.DIRECTION_NORTH?(d[1].geometry.x=null==k?a.geometry.x+(a.geometry.width-
d[1].geometry.width)/2:(k.x+k.width)/p-m.x+-e.x+10,d[1].geometry.y-=d[1].geometry.height-e.y+40):(d[1].geometry.x=n==mxConstants.DIRECTION_WEST?d[1].geometry.x-(d[1].geometry.width-e.x+40):d[1].geometry.x+(a.geometry.width-e.x+40),d[1].geometry.y=null==k?a.geometry.y+(a.geometry.height-d[1].geometry.height)/2:(k.y+k.height)/p-m.y+-e.y+10);return l.addCells(d,b)}finally{l.model.endUpdate()}}function g(a,b,d){a=l.getOutgoingEdges(a);d=l.view.getState(d);var c=[];if(null!=d&&null!=a){for(var e=0;e<a.length;e++){var f=
l.view.getState(l.model.getTerminal(a[e],!1));null!=f&&(!b&&Math.min(f.x+f.width,d.x+d.width)>=Math.max(f.x,d.x)||b&&Math.min(f.y+f.height,d.y+d.height)>=Math.max(f.y,d.y))&&c.push(f)}c.sort(function(a,d){return b?a.x+a.width-d.x-d.width:a.y+a.height-d.y-d.height})}return c}function k(a,b){var d=q(a),c=b==mxConstants.DIRECTION_EAST||b==mxConstants.DIRECTION_WEST;(d==mxConstants.DIRECTION_EAST||d==mxConstants.DIRECTION_WEST)==c&&d!=b?r.actions.get("selectParent").funct():d==b?(c=l.getOutgoingEdges(a),
null!=c&&0<c.length&&l.setSelectionCell(l.model.getTerminal(c[0],!1))):(d=l.getIncomingEdges(a),null!=d&&0<d.length&&(c=g(l.model.getTerminal(d[0],!0),c,a),d=l.view.getState(a),null!=d&&(d=mxUtils.indexOf(c,d),0<=d&&(d+=b==mxConstants.DIRECTION_NORTH||b==mxConstants.DIRECTION_WEST?-1:1,0<=d&&d<=c.length-1&&l.setSelectionCell(c[d].cell)))))}var r=this,l=r.editor.graph,n=l.getModel();mxResources.parse("selectChildren=Select Children");mxResources.parse("selectSiblings=Select Siblings");mxResources.parse("selectDescendants=Select Descendants");
mxResources.parse("selectParent=Select Parent");var x=r.menus.createPopupMenu;r.menus.createPopupMenu=function(a,d,c){x.apply(this,arguments);if(1==l.getSelectionCount()){d=l.getSelectionCell();var e=l.getOutgoingEdges(d);a.addSeparator();null!=e&&0<e.length&&(b(l.getSelectionCell())&&this.addMenuItems(a,["selectChildren"],null,c),this.addMenuItems(a,["selectDescendants"],null,c));b(l.getSelectionCell())&&(a.addSeparator(),0<l.getIncomingEdges(d).length&&this.addMenuItems(a,["selectSiblings","selectParent"],
null,c))}};r.actions.addAction("selectChildren",function(){if(l.isEnabled()&&1==l.getSelectionCount()){var a=l.getSelectionCell(),a=l.getOutgoingEdges(a);if(null!=a){for(var b=[],d=0;d<a.length;d++)b.push(l.model.getTerminal(a[d],!1));l.setSelectionCells(b)}}},null,null,"Alt+Shift+X");r.actions.addAction("selectSiblings",function(){if(l.isEnabled()&&1==l.getSelectionCount()){var a=l.getSelectionCell(),a=l.getIncomingEdges(a);if(null!=a&&0<a.length&&(a=l.getOutgoingEdges(l.model.getTerminal(a[0],!0)),
null!=a)){for(var b=[],d=0;d<a.length;d++)b.push(l.model.getTerminal(a[d],!1));l.setSelectionCells(b)}}},null,null,"Alt+Shift+S");r.actions.addAction("selectParent",function(){if(l.isEnabled()&&1==l.getSelectionCount()){var a=l.getSelectionCell(),a=l.getIncomingEdges(a);null!=a&&0<a.length&&l.setSelectionCell(l.model.getTerminal(a[0],!0))}},null,null,"Alt+Shift+P");r.actions.addAction("selectDescendants",function(){if(l.isEnabled()&&1==l.getSelectionCount()){var a=l.getSelectionCell(),b=[];l.traverse(a,
!0,function(a,d){null!=d&&b.push(d);b.push(a);return!0});l.setSelectionCells(b)}},null,null,"Alt+Shift+T");var v=l.removeCells;l.removeCells=function(a,d){d=null!=d?d:!0;null==a&&(a=this.getDeletableCells(this.getSelectionCells()));d&&(a=this.getDeletableCells(this.addAllEdges(a)));for(var e=[],f=0;f<a.length;f++){var g=a[f];n.isEdge(g)&&c(g)&&(e.push(g),g=n.getTerminal(g,!1));b(g)?(l.traverse(g,!0,function(a,b){null!=b&&e.push(b);e.push(a);return!0}),g=l.getIncomingEdges(a[f]),a=a.concat(g)):e.push(a[f])}a=
e;return v.apply(this,arguments)};r.hoverIcons.getStateAt=function(a,d,c){return b(a.cell)?null:this.graph.view.getState(this.graph.getCellAt(d,c))};var A=l.duplicateCells;l.duplicateCells=function(a,d){a=null!=a?a:this.getSelectionCells();for(var c=a.slice(0),e=0;e<c.length;e++){var f=l.view.getState(c[e]);if(null!=f&&b(f.cell))for(var g=l.getIncomingEdges(f.cell),f=0;f<g.length;f++)mxUtils.remove(g[f],a)}this.model.beginUpdate();try{var h=A.call(this,a,d);if(h.length==a.length)for(e=0;e<a.length;e++)if(b(a[e])){var k=
l.getIncomingEdges(h[e]),g=l.getIncomingEdges(a[e]);if(0==k.length&&0<g.length){var n=this.cloneCells([g[0]])[0];this.addEdge(n,l.getDefaultParent(),this.model.getTerminal(g[0],!0),h[e])}}}finally{this.model.endUpdate()}return h};var y=l.moveCells;l.moveCells=function(a,d,c,e,f,g,h){var k=null;this.model.beginUpdate();try{var n=f,m=this.view.getState(f),p=null!=m?m.style:this.getCellStyle(f);if(null!=a&&b(f)&&"1"==mxUtils.getValue(p,"treeFolding","0")){for(var t=0;t<a.length;t++)if(b(a[t])||l.model.isEdge(a[t])&&
null==l.model.getTerminal(a[t],!0)){f=l.model.getParent(a[t]);break}if(null!=n&&f!=n&&null!=this.view.getState(a[0])){var q=l.getIncomingEdges(a[0]);if(0<q.length){var r=l.view.getState(l.model.getTerminal(q[0],!0));if(null!=r){var u=l.view.getState(n);null!=u&&(d=(u.getCenterX()-r.getCenterX())/l.view.scale,c=(u.getCenterY()-r.getCenterY())/l.view.scale)}}}}k=y.apply(this,arguments);if(null!=k&&null!=a&&k.length==a.length)for(t=0;t<k.length;t++)if(this.model.isEdge(k[t]))b(n)&&0>mxUtils.indexOf(k,
!p&&b!=w.getCenterY()<h.getCenterY()))){var u=[];l.traverse(w.cell,!0,function(a,b){null!=b&&u.push(b);u.push(a);return!0});l.moveCells(u,(b?1:-1)*c,(b?1:-1)*g)}}}return l.addCells(e,d)}finally{l.model.endUpdate()}}function d(a){l.model.beginUpdate();try{var b=q(a),c=l.getIncomingEdges(a),d=l.cloneCells([c[0],a]);l.model.setTerminal(c[0],d[1],!1);l.model.setTerminal(d[0],d[1],!0);l.model.setTerminal(d[0],a,!1);var e=l.model.getParent(a),f=e.geometry,g=[];l.view.currentRoot!=e&&(d[1].geometry.x-=f.x,
d[1].geometry.y-=f.y);l.traverse(a,!0,function(a,b){null!=b&&g.push(b);g.push(a);return!0});var h=a.geometry.width+40,k=a.geometry.height+40;b==mxConstants.DIRECTION_SOUTH?h=0:b==mxConstants.DIRECTION_NORTH?(h=0,k=-40):b==mxConstants.DIRECTION_WEST?(h=-40,k=0):b==mxConstants.DIRECTION_EAST&&(k=0);l.moveCells(g,h,k);return l.addCells(d,e)}finally{l.model.endUpdate()}}function f(a){l.model.beginUpdate();try{var b=l.model.getParent(a),d=l.getIncomingEdges(a),c=l.cloneCells([d[0],a]);l.model.setTerminal(c[0],
a,!0);var d=l.getOutgoingEdges(a),e=b.geometry,f=[];l.view.currentRoot==b&&(e=new mxRectangle);for(var g=0;g<d.length;g++){var h=l.model.getTerminal(d[g],!1);null!=h&&f.push(h)}var k=l.view.getBounds(f),n=q(a),m=l.view.translate,p=l.view.scale;n==mxConstants.DIRECTION_SOUTH?(c[1].geometry.x=null==k?a.geometry.x+(a.geometry.width-c[1].geometry.width)/2:(k.x+k.width)/p-m.x-e.x+10,c[1].geometry.y+=a.geometry.height-e.y+40):n==mxConstants.DIRECTION_NORTH?(c[1].geometry.x=null==k?a.geometry.x+(a.geometry.width-
c[1].geometry.width)/2:(k.x+k.width)/p-m.x+-e.x+10,c[1].geometry.y-=c[1].geometry.height-e.y+40):(c[1].geometry.x=n==mxConstants.DIRECTION_WEST?c[1].geometry.x-(c[1].geometry.width-e.x+40):c[1].geometry.x+(a.geometry.width-e.x+40),c[1].geometry.y=null==k?a.geometry.y+(a.geometry.height-c[1].geometry.height)/2:(k.y+k.height)/p-m.y+-e.y+10);return l.addCells(c,b)}finally{l.model.endUpdate()}}function g(a,b,c){a=l.getOutgoingEdges(a);c=l.view.getState(c);var d=[];if(null!=c&&null!=a){for(var e=0;e<a.length;e++){var f=
l.view.getState(l.model.getTerminal(a[e],!1));null!=f&&(!b&&Math.min(f.x+f.width,c.x+c.width)>=Math.max(f.x,c.x)||b&&Math.min(f.y+f.height,c.y+c.height)>=Math.max(f.y,c.y))&&d.push(f)}d.sort(function(a,c){return b?a.x+a.width-c.x-c.width:a.y+a.height-c.y-c.height})}return d}function k(a,b){var c=q(a),d=b==mxConstants.DIRECTION_EAST||b==mxConstants.DIRECTION_WEST;(c==mxConstants.DIRECTION_EAST||c==mxConstants.DIRECTION_WEST)==d&&c!=b?r.actions.get("selectParent").funct():c==b?(d=l.getOutgoingEdges(a),
null!=d&&0<d.length&&l.setSelectionCell(l.model.getTerminal(d[0],!1))):(c=l.getIncomingEdges(a),null!=c&&0<c.length&&(d=g(l.model.getTerminal(c[0],!0),d,a),c=l.view.getState(a),null!=c&&(c=mxUtils.indexOf(d,c),0<=c&&(c+=b==mxConstants.DIRECTION_NORTH||b==mxConstants.DIRECTION_WEST?-1:1,0<=c&&c<=d.length-1&&l.setSelectionCell(d[c].cell)))))}var r=this,l=r.editor.graph,n=l.getModel();mxResources.parse("selectChildren=Select Children");mxResources.parse("selectSiblings=Select Siblings");mxResources.parse("selectDescendants=Select Descendants");
mxResources.parse("selectParent=Select Parent");var x=r.menus.createPopupMenu;r.menus.createPopupMenu=function(a,c,d){x.apply(this,arguments);if(1==l.getSelectionCount()){c=l.getSelectionCell();var e=l.getOutgoingEdges(c);a.addSeparator();null!=e&&0<e.length&&(b(l.getSelectionCell())&&this.addMenuItems(a,["selectChildren"],null,d),this.addMenuItems(a,["selectDescendants"],null,d));b(l.getSelectionCell())&&(a.addSeparator(),0<l.getIncomingEdges(c).length&&this.addMenuItems(a,["selectSiblings","selectParent"],
null,d))}};r.actions.addAction("selectChildren",function(){if(l.isEnabled()&&1==l.getSelectionCount()){var a=l.getSelectionCell(),a=l.getOutgoingEdges(a);if(null!=a){for(var b=[],c=0;c<a.length;c++)b.push(l.model.getTerminal(a[c],!1));l.setSelectionCells(b)}}},null,null,"Alt+Shift+X");r.actions.addAction("selectSiblings",function(){if(l.isEnabled()&&1==l.getSelectionCount()){var a=l.getSelectionCell(),a=l.getIncomingEdges(a);if(null!=a&&0<a.length&&(a=l.getOutgoingEdges(l.model.getTerminal(a[0],!0)),
null!=a)){for(var b=[],c=0;c<a.length;c++)b.push(l.model.getTerminal(a[c],!1));l.setSelectionCells(b)}}},null,null,"Alt+Shift+S");r.actions.addAction("selectParent",function(){if(l.isEnabled()&&1==l.getSelectionCount()){var a=l.getSelectionCell(),a=l.getIncomingEdges(a);null!=a&&0<a.length&&l.setSelectionCell(l.model.getTerminal(a[0],!0))}},null,null,"Alt+Shift+P");r.actions.addAction("selectDescendants",function(){if(l.isEnabled()&&1==l.getSelectionCount()){var a=l.getSelectionCell(),b=[];l.traverse(a,
!0,function(a,c){null!=c&&b.push(c);b.push(a);return!0});l.setSelectionCells(b)}},null,null,"Alt+Shift+T");var v=l.removeCells;l.removeCells=function(a,d){d=null!=d?d:!0;null==a&&(a=this.getDeletableCells(this.getSelectionCells()));d&&(a=this.getDeletableCells(this.addAllEdges(a)));for(var e=[],f=0;f<a.length;f++){var g=a[f];n.isEdge(g)&&c(g)&&(e.push(g),g=n.getTerminal(g,!1));b(g)?(l.traverse(g,!0,function(a,b){null!=b&&e.push(b);e.push(a);return!0}),g=l.getIncomingEdges(a[f]),a=a.concat(g)):e.push(a[f])}a=
e;return v.apply(this,arguments)};r.hoverIcons.getStateAt=function(a,c,d){return b(a.cell)?null:this.graph.view.getState(this.graph.getCellAt(c,d))};var A=l.duplicateCells;l.duplicateCells=function(a,c){a=null!=a?a:this.getSelectionCells();for(var d=a.slice(0),e=0;e<d.length;e++){var f=l.view.getState(d[e]);if(null!=f&&b(f.cell))for(var g=l.getIncomingEdges(f.cell),f=0;f<g.length;f++)mxUtils.remove(g[f],a)}this.model.beginUpdate();try{var h=A.call(this,a,c);if(h.length==a.length)for(e=0;e<a.length;e++)if(b(a[e])){var k=
l.getIncomingEdges(h[e]),g=l.getIncomingEdges(a[e]);if(0==k.length&&0<g.length){var n=this.cloneCells([g[0]])[0];this.addEdge(n,l.getDefaultParent(),this.model.getTerminal(g[0],!0),h[e])}}}finally{this.model.endUpdate()}return h};var y=l.moveCells;l.moveCells=function(a,c,d,e,f,g,h){var k=null;this.model.beginUpdate();try{var n=f,m=this.view.getState(f),p=null!=m?m.style:this.getCellStyle(f);if(null!=a&&b(f)&&"1"==mxUtils.getValue(p,"treeFolding","0")){for(var t=0;t<a.length;t++)if(b(a[t])||l.model.isEdge(a[t])&&
null==l.model.getTerminal(a[t],!0)){f=l.model.getParent(a[t]);break}if(null!=n&&f!=n&&null!=this.view.getState(a[0])){var q=l.getIncomingEdges(a[0]);if(0<q.length){var r=l.view.getState(l.model.getTerminal(q[0],!0));if(null!=r){var u=l.view.getState(n);null!=u&&(c=(u.getCenterX()-r.getCenterX())/l.view.scale,d=(u.getCenterY()-r.getCenterY())/l.view.scale)}}}}k=y.apply(this,arguments);if(null!=k&&null!=a&&k.length==a.length)for(t=0;t<k.length;t++)if(this.model.isEdge(k[t]))b(n)&&0>mxUtils.indexOf(k,
this.model.getTerminal(k[t],!0))&&this.model.setTerminal(k[t],n,!0);else if(b(a[t])&&(q=l.getIncomingEdges(a[t]),0<q.length))if(!e)b(n)&&0>mxUtils.indexOf(a,this.model.getTerminal(q[0],!0))&&this.model.setTerminal(q[0],n,!0);else if(0==l.getIncomingEdges(k[t]).length){m=n;if(null==m||m==l.model.getParent(a[t]))m=l.model.getTerminal(q[0],!0);e=this.cloneCells([q[0]])[0];this.addEdge(e,l.getDefaultParent(),m,k[t])}}finally{this.model.endUpdate()}return k};if(null!=r.sidebar){var t=r.sidebar.dropAndConnect;
r.sidebar.dropAndConnect=function(a,d,c,e){var f=l.model,g=null;f.beginUpdate();try{if(g=t.apply(this,arguments),b(a))for(var h=0;h<g.length;h++)if(f.isEdge(g[h])&&null==f.getTerminal(g[h],!0)){f.setTerminal(g[h],a,!0);var k=l.getCellGeometry(g[h]);k.points=null;null!=k.getTerminalPoint(!0)&&k.setTerminalPoint(null,!0)}}finally{f.endUpdate()}return g}}var z={88:r.actions.get("selectChildren"),84:r.actions.get("selectSubtree"),80:r.actions.get("selectParent"),83:r.actions.get("selectSiblings")},G=
r.sidebar.dropAndConnect=function(a,c,d,e){var f=l.model,g=null;f.beginUpdate();try{if(g=t.apply(this,arguments),b(a))for(var h=0;h<g.length;h++)if(f.isEdge(g[h])&&null==f.getTerminal(g[h],!0)){f.setTerminal(g[h],a,!0);var k=l.getCellGeometry(g[h]);k.points=null;null!=k.getTerminalPoint(!0)&&k.setTerminalPoint(null,!0)}}finally{f.endUpdate()}return g}}var z={88:r.actions.get("selectChildren"),84:r.actions.get("selectSubtree"),80:r.actions.get("selectParent"),83:r.actions.get("selectSiblings")},G=
r.onKeyDown;r.onKeyDown=function(a){try{if(l.isEnabled()&&!l.isEditing()&&b(l.getSelectionCell())&&1==l.getSelectionCount()){var c=null;0<l.getIncomingEdges(l.getSelectionCell()).length&&(9==a.which?c=mxEvent.isShiftDown(a)?d(l.getSelectionCell()):f(l.getSelectionCell()):13==a.which&&(c=u(l.getSelectionCell(),!mxEvent.isShiftDown(a))));if(null!=c&&0<c.length)1==c.length&&l.model.isEdge(c[0])?l.setSelectionCell(l.model.getTerminal(c[0],!1)):l.setSelectionCell(c[c.length-1]),null!=r.hoverIcons&&r.hoverIcons.update(l.view.getState(l.getSelectionCell())),
l.startEditingAtCell(l.getSelectionCell()),mxEvent.consume(a);else if(mxEvent.isAltDown(a)&&mxEvent.isShiftDown(a)){var e=z[a.keyCode];null!=e&&(e.funct(a),mxEvent.consume(a))}else 37==a.keyCode?(k(l.getSelectionCell(),mxConstants.DIRECTION_WEST),mxEvent.consume(a)):38==a.keyCode?(k(l.getSelectionCell(),mxConstants.DIRECTION_NORTH),mxEvent.consume(a)):39==a.keyCode?(k(l.getSelectionCell(),mxConstants.DIRECTION_EAST),mxEvent.consume(a)):40==a.keyCode&&(k(l.getSelectionCell(),mxConstants.DIRECTION_SOUTH),
mxEvent.consume(a))}}catch(Q){console.log("error",Q)}mxEvent.isConsumed(a)||G.apply(this,arguments)};var F=l.connectVertex;l.connectVertex=function(a,c,e,g,h,k){var n=l.getIncomingEdges(a);return b(a)&&0<n.length?(e=q(a),g=e==mxConstants.DIRECTION_EAST||e==mxConstants.DIRECTION_WEST,h=c==mxConstants.DIRECTION_EAST||c==mxConstants.DIRECTION_WEST,e==c?f(a):g==h?d(a):u(a,c!=mxConstants.DIRECTION_NORTH&&c!=mxConstants.DIRECTION_WEST)):F.call(this,a,c,e,g,h,k)};l.getSubtree=function(a){var d=[a];b(a)&&
!e(a)&&l.traverse(a,!0,function(a,b){null!=b&&0>mxUtils.indexOf(d,b)&&d.push(b);0>mxUtils.indexOf(d,a)&&d.push(a);return!0});return d};var B=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){B.apply(this,arguments);b(this.state.cell)&&0<this.graph.getOutgoingEdges(this.state.cell).length&&(this.moveHandle=mxUtils.createImage(a),this.moveHandle.setAttribute("title","Move Subtree"),this.moveHandle.style.position="absolute",this.moveHandle.style.cursor="pointer",this.moveHandle.style.width=
mxEvent.consume(a))}}catch(Q){console.log("error",Q)}mxEvent.isConsumed(a)||G.apply(this,arguments)};var F=l.connectVertex;l.connectVertex=function(a,c,e,g,h,k){var n=l.getIncomingEdges(a);return b(a)&&0<n.length?(e=q(a),g=e==mxConstants.DIRECTION_EAST||e==mxConstants.DIRECTION_WEST,h=c==mxConstants.DIRECTION_EAST||c==mxConstants.DIRECTION_WEST,e==c?f(a):g==h?d(a):u(a,c!=mxConstants.DIRECTION_NORTH&&c!=mxConstants.DIRECTION_WEST)):F.call(this,a,c,e,g,h,k)};l.getSubtree=function(a){var c=[a];b(a)&&
!e(a)&&l.traverse(a,!0,function(a,b){null!=b&&0>mxUtils.indexOf(c,b)&&c.push(b);0>mxUtils.indexOf(c,a)&&c.push(a);return!0});return c};var B=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){B.apply(this,arguments);b(this.state.cell)&&0<this.graph.getOutgoingEdges(this.state.cell).length&&(this.moveHandle=mxUtils.createImage(a),this.moveHandle.setAttribute("title","Move Subtree"),this.moveHandle.style.position="absolute",this.moveHandle.style.cursor="pointer",this.moveHandle.style.width=
"18px",this.moveHandle.style.height="18px",this.graph.container.appendChild(this.moveHandle),mxEvent.addGestureListeners(this.moveHandle,mxUtils.bind(this,function(a){this.graph.graphHandler.start(this.state.cell,mxEvent.getClientX(a),mxEvent.getClientY(a));this.graph.graphHandler.cells=this.graph.getSubtree(this.state.cell);this.graph.graphHandler.bounds=this.state.view.getBounds(this.graph.graphHandler.cells);this.graph.graphHandler.pBounds=this.graph.graphHandler.getPreviewBounds(this.graph.graphHandler.cells);
this.graph.graphHandler.cellWasClicked=!0;this.graph.isMouseTrigger=mxEvent.isMouseEvent(a);this.graph.isMouseDown=!0;mxEvent.consume(a)})))};var J=mxVertexHandler.prototype.redrawHandles;mxVertexHandler.prototype.redrawHandles=function(){J.apply(this,arguments);null!=this.moveHandle&&(this.moveHandle.style.left=this.state.x+this.state.width+(40>this.state.width?10:0)+2+"px",this.moveHandle.style.top=this.state.y+this.state.height+(40>this.state.height?10:0)+2+"px")};var K=mxVertexHandler.prototype.destroy;
mxVertexHandler.prototype.destroy=function(a,b){K.apply(this,arguments);null!=this.moveHandle&&(this.moveHandle.parentNode.removeChild(this.moveHandle),this.moveHandle=null)}};if("undefined"!==typeof Sidebar){var b=Sidebar.prototype.createAdvancedShapes;Sidebar.prototype.createAdvancedShapes=function(){var a=b.apply(this,arguments),c=this.editorUi.editor.graph;return a.concat([this.addEntry("tree container",function(){var a=new mxCell("Tree Container",new mxGeometry(0,0,220,160),"swimlane;html=1;startSize=20;horizontal=1;containerType=tree;");
@ -3175,11 +3175,11 @@ a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree root",function
a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;elbow=vertical;startArrow=none;endArrow=none;rounded=0;");b.geometry.setTerminalPoint(new mxPoint(0,0),!0);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!1);return sb.createVertexTemplateFromCells([a,b],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree sub sections",function(){var a=new mxCell("Sub Section",new mxGeometry(0,0,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;container=1;recursiveResize=0;treeFolding=1;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=none;rounded=0;targetPortConstraint=eastwest;sourcePortConstraint=northsouth;");b.geometry.setTerminalPoint(new mxPoint(110,-40),!0);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!1);var c=new mxCell("Sub Section",new mxGeometry(120,0,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;container=1;recursiveResize=0;treeFolding=1;");c.vertex=!0;var d=new mxCell("",new mxGeometry(0,
0,0,0),"edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=none;rounded=0;targetPortConstraint=eastwest;sourcePortConstraint=northsouth;");d.geometry.setTerminalPoint(new mxPoint(110,-40),!0);d.geometry.relative=!0;d.edge=!0;c.insertEdge(d,!1);return sb.createVertexTemplateFromCells([b,d,a,c],220,60,"Sub Sections")})])}}})();EditorUi.initMinimalTheme=function(){function a(a){var b=a.editor.graph;b.popupMenuHandler.hideMenu();null==a.formatWindow?(a.formatWindow=new h(a,mxResources.get("format"),Math.max(20,a.diagramContainer.clientWidth-240-12),56,240,Math.min(550,b.container.clientHeight-10),function(b){b=a.createFormat(b);b.init();return b}),a.formatWindow.window.minimumSize=new mxRectangle(0,0,240,80),a.formatWindow.window.setVisible(!0)):a.formatWindow.window.setVisible(!a.formatWindow.window.isVisible());a.formatWindow.window.isVisible()&&
a.formatWindow.window.fit()}function c(a){var b=a.editor.graph;b.popupMenuHandler.hideMenu();new mxRectangle;if(null==a.sidebarWindow){var d=Math.min(b.container.clientWidth-10,266);a.sidebarWindow=new h(a,mxResources.get("shapes"),10,56,d-6,Math.min(650,b.container.clientHeight-30),function(b){function d(c,d){var f=a.menus.get(c),g=e.addMenu(d,mxUtils.bind(this,function(){f.funct.apply(this,arguments)}));g.style.cssText="position:absolute;border-top:1px solid lightgray;width:50%;height:24px;bottom:0px;text-align:center;cursor:pointer;padding:6px 0 0 0;";
g.className="geTitle";b.appendChild(g);return g}var c=document.createElement("div");c.style.cssText="position:absolute;left:0;right:0;border-top:1px solid lightgray;height:24px;bottom:31px;text-align:center;cursor:pointer;padding:6px 0 0 0;";c.className="geTitle";mxUtils.write(c,mxResources.get("moreShapes"));b.appendChild(c);mxEvent.addListener(c,"click",function(){a.actions.get("shapes").funct()});var e=new Menubar(a,b);if(!Editor.enableCustomLibraries||"1"==urlParams.embed&&"1"!=urlParams.libraries)c.style.bottom=
"0";else if(null!=a.actions.get("newLibrary")){c=document.createElement("div");c.style.cssText="position:absolute;left:0px;width:50%;border-top:1px solid lightgray;height:30px;bottom:0px;text-align:center;cursor:pointer;padding:0px;";c.className="geTitle";var f=document.createElement("span");f.style.cssText="position:relative;top:6px;";mxUtils.write(f,mxResources.get("newLibrary"));c.appendChild(f);b.appendChild(c);mxEvent.addListener(c,"click",a.actions.get("newLibrary").funct);c=document.createElement("div");
c.style.cssText="position:absolute;left:50%;width:50%;border-top:1px solid lightgray;height:30px;bottom:0px;text-align:center;cursor:pointer;padding:0px;border-left: 1px solid lightgray;";c.className="geTitle";f=document.createElement("span");f.style.cssText="position:relative;top:6px;";mxUtils.write(f,mxResources.get("openLibrary"));c.appendChild(f);b.appendChild(c);mxEvent.addListener(c,"click",a.actions.get("openLibrary").funct)}else c=d("newLibrary",mxResources.get("newLibrary")),c.style.left=
"0",c=d("openLibraryFrom",mxResources.get("openLibraryFrom")),c.style.borderLeft="1px solid lightgray",c.style.left="50%";b.appendChild(a.sidebar.container);b.style.overflow="hidden";return b});a.sidebarWindow.window.minimumSize=new mxRectangle(0,0,90,90);a.sidebarWindow.window.setVisible(!0);a.getLocalData("sidebar",function(b){a.sidebar.showEntries(b,null,!0)});a.restoreLibraries()}else a.sidebarWindow.window.setVisible(!a.sidebarWindow.window.isVisible());a.sidebarWindow.window.isVisible()&&a.sidebarWindow.window.fit()}
a.formatWindow.window.fit()}function c(a){var b=a.editor.graph;b.popupMenuHandler.hideMenu();new mxRectangle;if(null==a.sidebarWindow){var c=Math.min(b.container.clientWidth-10,266);a.sidebarWindow=new h(a,mxResources.get("shapes"),10,56,c-6,Math.min(650,b.container.clientHeight-30),function(b){function c(c,d){var f=a.menus.get(c),g=e.addMenu(d,mxUtils.bind(this,function(){f.funct.apply(this,arguments)}));g.style.cssText="position:absolute;border-top:1px solid lightgray;width:50%;height:24px;bottom:0px;text-align:center;cursor:pointer;padding:6px 0 0 0;";
g.className="geTitle";b.appendChild(g);return g}var d=document.createElement("div");d.style.cssText="position:absolute;left:0;right:0;border-top:1px solid lightgray;height:24px;bottom:31px;text-align:center;cursor:pointer;padding:6px 0 0 0;";d.className="geTitle";mxUtils.write(d,mxResources.get("moreShapes"));b.appendChild(d);mxEvent.addListener(d,"click",function(){a.actions.get("shapes").funct()});var e=new Menubar(a,b);if(!Editor.enableCustomLibraries||"1"==urlParams.embed&&"1"!=urlParams.libraries)d.style.bottom=
"0";else if(null!=a.actions.get("newLibrary")){d=document.createElement("div");d.style.cssText="position:absolute;left:0px;width:50%;border-top:1px solid lightgray;height:30px;bottom:0px;text-align:center;cursor:pointer;padding:0px;";d.className="geTitle";var f=document.createElement("span");f.style.cssText="position:relative;top:6px;";mxUtils.write(f,mxResources.get("newLibrary"));d.appendChild(f);b.appendChild(d);mxEvent.addListener(d,"click",a.actions.get("newLibrary").funct);d=document.createElement("div");
d.style.cssText="position:absolute;left:50%;width:50%;border-top:1px solid lightgray;height:30px;bottom:0px;text-align:center;cursor:pointer;padding:0px;border-left: 1px solid lightgray;";d.className="geTitle";f=document.createElement("span");f.style.cssText="position:relative;top:6px;";mxUtils.write(f,mxResources.get("openLibrary"));d.appendChild(f);b.appendChild(d);mxEvent.addListener(d,"click",a.actions.get("openLibrary").funct)}else d=c("newLibrary",mxResources.get("newLibrary")),d.style.left=
"0",d=c("openLibraryFrom",mxResources.get("openLibraryFrom")),d.style.borderLeft="1px solid lightgray",d.style.left="50%";b.appendChild(a.sidebar.container);b.style.overflow="hidden";return b});a.sidebarWindow.window.minimumSize=new mxRectangle(0,0,90,90);a.sidebarWindow.window.setVisible(!0);a.getLocalData("sidebar",function(b){a.sidebar.showEntries(b,null,!0)});a.restoreLibraries()}else a.sidebarWindow.window.setVisible(!a.sidebarWindow.window.isVisible());a.sidebarWindow.window.isVisible()&&a.sidebarWindow.window.fit()}
if("1"==urlParams.lightbox||"0"==urlParams.chrome||"undefined"===typeof window.Format||"undefined"===typeof window.Menus)window.uiTheme=null;else{var e=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth;try{var b=document.createElement("style");b.type="text/css";b.innerHTML="* { -webkit-font-smoothing: antialiased; }html body .mxWindow button.geBtn { font-size:12px !important; margin-left: 0;}html body div.diagramContainer button, html body button.geBtn { font-size:14px; font-weight:700;border-radius: 5px; }html body button.geBtn:active { opacity: 0.6; }.geDialog input, .geToolbarContainer input, .mxWindow input {padding:2px !important;display:inline-block !important; }div.geDialog { border-radius: 5px; }html body div.geDialog button.geBigButton { color: #fff !important; }.mxWindow button, .geDialog select, .mxWindow select { display:inline-block; }html body .mxWindow .geColorBtn, html body .geDialog .geColorBtn { background: none; }html body div.diagramContainer button, html body .mxWindow button, html body .geDialog button { min-width: 0px; border-radius: 5px; color: #353535 !important; border-color: rgb(216, 216, 216); }div.diagramContainer button.geBtn, .mxWindow button.geBtn, .geDialog button.geBtn { min-width:72px; font-weight: 600; background: none; }div.diagramContainer button.geBtn:hover, .mxWindow button.geBtn:hover, .geDialog button.geBtn:hover { box-shadow: none; border-color: rgb(216, 216, 216); }div.diagramContainer button.gePrimaryBtn, .mxWindow button.gePrimaryBtn, .geDialog button.gePrimaryBtn, html body .gePrimaryBtn { background: #29b6f2; color: #fff !important; border: none; box-shadow: none; }html body .gePrimaryBtn:hover { background: #29b6f2; border: none; box-shadow: inherit; }html body button.gePrimaryBtn:hover { background: #29b6f2; border: none; }.geBtn button { min-width:72px !important; }div.geToolbarContainer a.geButton { margin:2px; padding: 0 2px 4px 2px; } .geDialog, .mxWindow td.mxWindowPane *, div.geSprite, td.mxWindowTitle, .geDiagramContainer { box-sizing:content-box; }.mxWindow div button.geStyleButton { box-sizing: border-box; }table.mxWindow td.mxWindowPane button.geColorBtn { padding:0px; box-sizing: border-box; }td.mxWindowPane .geSidebarContainer button { padding:2px 0 2px 0; box-sizing: border-box; }html body .geMenuItem { font-size:14px; text-decoration: none; font-weight: normal; padding: 6px 10px 6px 10px; border: none; border-radius: 5px; color: #353535; box-shadow: inset 0 0 0 1px rgba(0,0,0,.11), inset 0 -1px 0 0 rgba(0,0,0,.08), 0 1px 2px 0 rgba(0,0,0,.04); }a.geMenuItem:active { opacity: 0.4; }.geToolbarContainer { background:#fff !important; }div.mxWindow .geSidebarContainer .geTitle { background-color:#fdfdfd; }div.mxWindow .geSidebarContainer .geTitle:hover { background-color:#fafafa; }div.geSidebar { background-color: #fff !important;}div.mxWindow td.mxWindowPane button { background-image: none; float: none; }td.mxWindowTitle { height: 22px !important; background: none !important; font-size: 13px !important; text-align:center !important; border-bottom:1px solid lightgray; }div.mxWindow, div.mxWindowTitle { background-image: none !important; background-color:#fff !important; }div.mxWindow { border-radius:5px; box-shadow: 0px 0px 2px #C0C0C0 !important;}div.mxWindow * { font-family: inherit !important; }html div.geVerticalHandle { position:absolute;bottom:0px;left:50%;cursor:row-resize;width:11px;height:11px;background:white;margin-bottom:-6px; margin-left:-6px; border: none; border-radius: 6px; box-shadow: inset 0 0 0 1px rgba(0,0,0,.11), inset 0 -1px 0 0 rgba(0,0,0,.08), 0 1px 2px 0 rgba(0,0,0,.04); }html div.geInactivePage { background: rgb(249, 249, 249) !important; color:lightgray !important; } html div.geActivePage { background: white !important;color: #353535 !important; } html div.mxRubberband { border:1px solid; border-color: #29b6f2 !important; background:rgba(41,182,242,0.5) !important; } html body div.mxPopupMenu { border-radius:5px; border:1px solid #c0c0c0; padding:5px 0 5px 0; box-shadow: 0px 4px 17px -4px rgba(96,96,96,1); } html table.mxPopupMenu td.mxPopupMenuItem { color: #353535; font-size: 14px; padding-top: 4px; padding-bottom: 4px; }html table.mxPopupMenu tr.mxPopupMenuItemHover { background-color: #29b6f2; }html tr.mxPopupMenuItemHover td.mxPopupMenuItem, html tr.mxPopupMenuItemHover td.mxPopupMenuItem span { color: #fff !important; }html tr.mxPopupMenuItem, html td.mxPopupMenuItem { transition-property: none !important; }html table.mxPopupMenu hr { height: 2px; background-color: rgba(0,0,0,.07); margin: 5px 0; }";
document.getElementsByTagName("head")[0].appendChild(b)}catch(n){}var h=function(a,b,c,d,e,f,g){a=document.createElement("div");a.className="geSidebarContainer";a.style.position="absolute";a.style.width="100%";a.style.height="100%";a.style.border="1px solid whiteSmoke";a.style.overflowX="hidden";a.style.overflowY="auto";g(a);this.window=new mxWindow(b,a,c,d,e,f,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!0);this.window.setClosable(!0);this.window.setVisible(!0);
this.window.setLocation=function(a,b){var c=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight;a=Math.max(0,Math.min(a,(window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth)-this.table.clientWidth));b=Math.max(0,Math.min(b,c-this.table.clientHeight-48));this.getX()==a&&this.getY()==b||mxWindow.prototype.setLocation.apply(this,arguments)}};Editor.checkmarkImage=Graph.createSvgImage(22,18,'<path transform="translate(4 0)" d="M7.181,15.007a1,1,0,0,1-.793-0.391L3.222,10.5A1,1,0,1,1,4.808,9.274L7.132,12.3l6.044-8.86A1,1,0,1,1,14.83,4.569l-6.823,10a1,1,0,0,1-.8.437H7.181Z" fill="#29b6f2"/>').src;

View file

@ -3951,24 +3951,24 @@ this.createVertexTemplateEntry(a+"unidentified_code_object;",50,42.5,"","Unident
"","VHD Data Disk",null,null,this.getTagsForStencil("mxgraph.azure","vhd_data_disk","").join(" ")),this.createVertexTemplateEntry(a+"virtual_machine;",50,40,"","Virtual Machine",null,null,this.getTagsForStencil("mxgraph.azure","virtual_machine","").join(" ")),this.createVertexTemplateEntry(a+"virtual_machine_feature;",50,45,"","Virtual Machine Feature",null,null,this.getTagsForStencil("mxgraph.azure","virtual_machine_feature","").join(" ")),this.createVertexTemplateEntry(a+"virtual_network;",50,50*
.55,"","Virtual Network",null,null,this.getTagsForStencil("mxgraph.azure","virtual_network","").join(" ")),this.createVertexTemplateEntry(a+"visual_studio_online;",50,37.5,"","Visual Studio Online",null,null,this.getTagsForStencil("mxgraph.azure","visual_studio_online","").join(" ")),this.createVertexTemplateEntry(a+"wadcfg_diagnostics_file;",47.5,50,"","WADCFG Diagnostics File",null,null,this.getTagsForStencil("mxgraph.azure","wadcfg_diagnostics_file","").join(" ")),this.createVertexTemplateEntry(a+
"website_generic;",50,42.5,"","Website Generic",null,null,this.getTagsForStencil("mxgraph.azure","website_generic","").join(" ")),this.createVertexTemplateEntry(a+"web_role;",50,40,"","Web Role",null,null,this.getTagsForStencil("mxgraph.azure","web_role","").join(" ")),this.createVertexTemplateEntry(a+"web_roles;",50*1.1,45,"","Web Roles",null,null,this.getTagsForStencil("mxgraph.azure","web_roles","").join(" ")),this.createVertexTemplateEntry(a+"worker_role;",50,40,"","Worker Role",null,null,this.getTagsForStencil("mxgraph.azure",
"worker_role","").join(" ")),this.createVertexTemplateEntry(a+"worker_roles;",50*1.1,45,"","Worker Roles",null,null,this.getTagsForStencil("mxgraph.azure","worker_roles","").join(" "))])}})();(function(){Sidebar.prototype.addBasicPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;html=1;shape=mxgraph.basic.";this.addPaletteFunctions("basic",mxResources.get("basic"),!1,[this.createVertexTemplateEntry("shape=partialRectangle;whiteSpace=wrap;html=1;top=0;bottom=0;fillColor=none;",120,60,"","Partial Rectangle"),this.createVertexTemplateEntry("shape=partialRectangle;whiteSpace=wrap;html=1;right=0;top=0;bottom=0;fillColor=none;routingCenterX=-0.5;",
120,60,"","Partial Rectangle"),this.createVertexTemplateEntry("shape=partialRectangle;whiteSpace=wrap;html=1;bottom=0;right=0;fillColor=none;",120,60,"","Partial Rectangle"),this.createVertexTemplateEntry("shape=partialRectangle;whiteSpace=wrap;html=1;top=0;left=0;fillColor=none;",120,60,"","Partial Rectangle"),this.createVertexTemplateEntry(a+"4_point_star_2;dx=0.8;",100,100,"","4 Point Star",null,null,this.getTagsForStencil("mxgraph.basic","4_point_star","").join(" ")),this.createVertexTemplateEntry(a+
"6_point_star",100,90,"","6 Point Star",null,null,this.getTagsForStencil("mxgraph.basic","6_point_star","").join(" ")),this.createVertexTemplateEntry(a+"8_point_star",100,100,"","8 Point Star",null,null,this.getTagsForStencil("mxgraph.basic","8_point_star","").join(" ")),this.createVertexTemplateEntry(a+"banner",100,50,"","Banner",null,null,this.getTagsForStencil("mxgraph.basic","banner","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.cloud_callout",90,60,
"","Cloud Callout",null,null,this.getTagsForStencil("mxgraph.basic","cloud_callout","").join(" ")),this.createVertexTemplateEntry(a+"cone",100,100,"","Cone",null,null,this.getTagsForStencil("mxgraph.basic","cone","").join(" ")),this.createVertexTemplateEntry(a+"cone2;dx=0.5;dy=0.9;",100,100,"","Cone (adjustable)",null,null,this.getTagsForStencil("mxgraph.basic","cone","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.document",100,100,"","Document",null,null,
this.getTagsForStencil("mxgraph.basic","document","").join(" ")),this.createVertexTemplateEntry(a+"donut;dx=25;",100,100,"","Donut",null,null,this.getTagsForStencil("mxgraph.basic","donut","").join(" ")),this.createVertexTemplateEntry(a+"drop",70,100,"","Drop",null,null,this.getTagsForStencil("mxgraph.basic","drop","").join(" ")),this.createVertexTemplateEntry(a+"flash",60,100,"","Flash",null,null,this.getTagsForStencil("mxgraph.basic","flash","").join(" ")),this.createVertexTemplateEntry(a+"half_circle",
100,50,"","Half Circle",null,null,this.getTagsForStencil("mxgraph.basic","half_circle"," semicircle").join(" ")),this.createVertexTemplateEntry(a+"heart",100,100,"","Heart",null,null,this.getTagsForStencil("mxgraph.basic","heart","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.isocube;isoAngle=15;",100,100,"","Isometric Cube",null,null,this.getTagsForStencil("mxgraph.basic","isometric cube","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.loud_callout",
100,60,"","Loud Callout",null,null,this.getTagsForStencil("mxgraph.basic","loud_callout","").join(" ")),this.createVertexTemplateEntry(a+"moon",75,100,"","Moon",null,null,this.getTagsForStencil("mxgraph.basic","moon","").join(" ")),this.createVertexTemplateEntry(a+"no_symbol",100,100,"","No Symbol",null,null,this.getTagsForStencil("mxgraph.basic","no_symbol","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.octagon2;align=center;verticalAlign=middle;dx=15;",
100,100,"","Octagon",null,null,this.getTagsForStencil("mxgraph.basic","octagon","").join(" ")),this.createVertexTemplateEntry(a+"orthogonal_triangle",100,70,"","Orthogonal Triangle",null,null,this.getTagsForStencil("mxgraph.basic","orthogonal_triangle","").join(" ")),this.createVertexTemplateEntry(a+"acute_triangle;dx=0.5;",100,70,"","Acute Triangle",null,null,this.getTagsForStencil("mxgraph.basic","acute_triangle","").join(" ")),this.createVertexTemplateEntry(a+"obtuse_triangle;dx=0.25;",100,70,
"","Obtuse Triangle",null,null,this.getTagsForStencil("mxgraph.basic","obtuse_triangle","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.oval_callout",100,60,"","Oval Callout",null,null,this.getTagsForStencil("mxgraph.basic","oval_callout","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.pentagon",100,90,"","Pentagon",null,null,this.getTagsForStencil("mxgraph.basic","pentagon","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.pointed_oval",
50,100,"","Pointed Oval",null,null,this.getTagsForStencil("mxgraph.basic","pointed oval","").join(" ")),this.createVertexTemplateEntry(a+"pyramid;dx1=0.4;dx2=0.6;dy1=0.9;dy2=0.8;",100,100,"","Pyramid",null,null,this.getTagsForStencil("mxgraph.basic","pyramid","").join(" ")),this.createVertexTemplateEntry(a+"diag_snip_rect;dx=6;",100,60,"","Diagonal Snip Rectangle",null,null,this.getTagsForStencil("mxgraph.basic","diag_snip_rect","").join(" ")),this.createVertexTemplateEntry(a+"diag_round_rect;dx=6;",
100,60,"","Diagonal Rounded Rectangle",null,null,this.getTagsForStencil("mxgraph.basic","diag_round_rect","").join(" ")),this.createVertexTemplateEntry(a+"corner_round_rect;dx=6;",100,60,"","Corner Rounded Rectangle",null,null,this.getTagsForStencil("mxgraph.basic","corner_round_rect","").join(" ")),this.createVertexTemplateEntry(a+"three_corner_round_rect;dx=6;",100,60,"","Rounded Rectangle (three corners)",null,null,this.getTagsForStencil("mxgraph.basic","three_corner_round_rect","").join(" ")),
this.createVertexTemplateEntry(a+"plaque;dx=6;",100,60,"","Plaque",null,null,this.getTagsForStencil("mxgraph.basic","plaque","").join(" ")),this.createVertexTemplateEntry(a+"frame;dx=10;",100,60,"","Frame",null,null,this.getTagsForStencil("mxgraph.basic","frame","").join(" ")),this.createVertexTemplateEntry(a+"rounded_frame;dx=10;",100,60,"","Rounded Frame",null,null,this.getTagsForStencil("mxgraph.basic","rounded_frame","").join(" ")),this.createVertexTemplateEntry(a+"plaque_frame;dx=10;",100,60,
"","Plaque Frame",null,null,this.getTagsForStencil("mxgraph.basic","plaque_frame","").join(" ")),this.createVertexTemplateEntry(a+"frame_corner;dx=10;",100,60,"","Frame Corner",null,null,this.getTagsForStencil("mxgraph.basic","frame_corner","").join(" ")),this.createVertexTemplateEntry(a+"diag_stripe;dx=10;",100,60,"","Diagonal Stripe",null,null,this.getTagsForStencil("mxgraph.basic","diag_stripe","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.rectCallout;dx=30;dy=15;boundedLbl=1;",
100,60,"","Rectangular Callout",null,null,this.getTagsForStencil("mxgraph.basic","rectangular_callout","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.roundRectCallout;dx=30;dy=15;size=5;boundedLbl=1;",100,60,"","Rounded Rectangular Callout",null,null,this.getTagsForStencil("mxgraph.basic","rectangular_callout","").join(" ")),this.createVertexTemplateEntry(a+"layered_rect;dx=10;outlineConnect=0;",100,60,"","Layered Rectangle",null,null,this.getTagsForStencil("mxgraph.basic",
"layered_rect","").join(" ")),this.createVertexTemplateEntry(a+"smiley",100,100,"","Smiley",null,null,this.getTagsForStencil("mxgraph.basic","smiley","").join(" ")),this.createVertexTemplateEntry(a+"star",100,95,"","Star",null,null,this.getTagsForStencil("mxgraph.basic","star","").join(" ")),this.createVertexTemplateEntry(a+"sun",100,100,"","Sun",null,null,this.getTagsForStencil("mxgraph.basic","sun","").join(" ")),this.createVertexTemplateEntry(a+"tick",85,100,"","Tick",null,null,this.getTagsForStencil("mxgraph.basic",
"tick","").join(" ")),this.createVertexTemplateEntry(a+"wave2;dy=0.3;",100,60,"","Wave",null,null,this.getTagsForStencil("mxgraph.basic","wave","").join(" ")),this.createVertexTemplateEntry("labelPosition=center;verticalLabelPosition=middle;align=center;html=1;shape=mxgraph.basic.button;dx=10;",100,60,"Button","Button",null,null,this.getTagsForStencil("mxgraph.basic","button","").join(" ")),this.createVertexTemplateEntry("labelPosition=center;verticalLabelPosition=middle;align=center;html=1;shape=mxgraph.basic.shaded_button;dx=10;fillColor=#E6E6E6;strokeColor=none;",
100,60,"Button","Button (shaded)",null,null,this.getTagsForStencil("mxgraph.basic","button","").join(" ")),this.createVertexTemplateEntry(a+"x",100,100,"","X",null,null,this.getTagsForStencil("mxgraph.basic","x","").join(" ")),this.createVertexTemplateEntry(a+"pie;startAngle=0.2;endAngle=0.9;",100,100,"","Pie",null,null,this.getTagsForStencil("mxgraph.basic","pie","").join(" ")),this.createVertexTemplateEntry(a+"arc;startAngle=0.3;endAngle=0.1;",100,100,"","Arc",null,null,this.getTagsForStencil("mxgraph.basic",
"arc","").join(" ")),this.createVertexTemplateEntry(a+"partConcEllipse;startAngle=0.25;endAngle=0.1;arcWidth=0.5;",100,100,"","Partial Concentric Ellipse",null,null,this.getTagsForStencil("mxgraph.basic","partConcEllipse","").join(" "))])}})();(function(){Sidebar.prototype.addBootstrapPalette=function(){var a=this,d=[this.addDataEntry("bootstrap button bar dark",800,40,"Button Bar (Dark)","5ZhRb5swEMc/DY+NDKaEvIZ2fdm0qpH27gUDVg2HjNuQfvod2EnJnGxRWqJUsRQJn332+ffnbBOPJmX7oFhd/ICUS4/eezRRANo8lW3CpfQCIlKP3nlBQPDnBd8OtPp9K6mZ4pU+xiEwDq9MvnBjMYZGr6U1FLrEsO58j86bgqWwwgrBSsqagqe2gi11179s824tk9+4gkbj40TxJUYyz4SUCUhQ/aA06EvnqBU8801LBRWOMl8VQvNFzZbdkCscBW02UK40bw8utjfZlT5wKLlWa+yyEqkuTI+YGCCk4CIvrFtobawx9Xzr+o4OHyy9/SSpQzKBsmbV+jSgQ16Wyl5U/wcPlR6An/XF2hfirfP1w48wD45gPg7y0EH+yKFGzGd5hUlfDunyF/asL11nJCyq/MmSoGQE9O0u9oESs5GUuHWUiMNPV8HKoOxbG7uSZNkpkpyMP/wnfuuwttvw5NZRY4NtqIYfGZvikmnxynfG2ieRnf8RBIa1nfyGkp3pb+LdESDLGq4diberOEr1yFH9l4AubKiaC931zph+/tTNP98fKQGnjhTh55/kF5eA0ZUnYOyovtAYdKPF8lITcKRk23fYjXXtmLnUuda4q1wZcxq5zKcjMd/sm8O7ngIkd+Jl76syj87J3HeYf4ccDT9f9HVRn9LRqGP1/WvfHAHDPwP+AA=="),
"worker_role","").join(" ")),this.createVertexTemplateEntry(a+"worker_roles;",50*1.1,45,"","Worker Roles",null,null,this.getTagsForStencil("mxgraph.azure","worker_roles","").join(" "))])}})();(function(){Sidebar.prototype.addBasicPalette=function(){var a=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;html=1;shape=mxgraph.basic.";this.addPaletteFunctions("basic",mxResources.get("basic"),!1,[this.createVertexTemplateEntry(a+"rect;fillColor=#ffffff;fillColor2=none;strokeColor=#000000;strokeWidth=1;size=20;indent=5;",120,60,"","Partial Rectangle"),this.createVertexTemplateEntry("shape=partialRectangle;whiteSpace=wrap;html=1;top=0;bottom=0;fillColor=none;",
120,60,"","Partial Rectangle"),this.createVertexTemplateEntry("shape=partialRectangle;whiteSpace=wrap;html=1;right=0;top=0;bottom=0;fillColor=none;routingCenterX=-0.5;",120,60,"","Partial Rectangle"),this.createVertexTemplateEntry("shape=partialRectangle;whiteSpace=wrap;html=1;bottom=0;right=0;fillColor=none;",120,60,"","Partial Rectangle"),this.createVertexTemplateEntry("shape=partialRectangle;whiteSpace=wrap;html=1;top=0;left=0;fillColor=none;",120,60,"","Partial Rectangle"),this.createVertexTemplateEntry(a+
"4_point_star_2;dx=0.8;",100,100,"","4 Point Star",null,null,this.getTagsForStencil("mxgraph.basic","4_point_star","").join(" ")),this.createVertexTemplateEntry(a+"6_point_star",100,90,"","6 Point Star",null,null,this.getTagsForStencil("mxgraph.basic","6_point_star","").join(" ")),this.createVertexTemplateEntry(a+"8_point_star",100,100,"","8 Point Star",null,null,this.getTagsForStencil("mxgraph.basic","8_point_star","").join(" ")),this.createVertexTemplateEntry(a+"banner",100,50,"","Banner",null,
null,this.getTagsForStencil("mxgraph.basic","banner","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.cloud_callout",90,60,"","Cloud Callout",null,null,this.getTagsForStencil("mxgraph.basic","cloud_callout","").join(" ")),this.createVertexTemplateEntry(a+"cone",100,100,"","Cone",null,null,this.getTagsForStencil("mxgraph.basic","cone","").join(" ")),this.createVertexTemplateEntry(a+"cone2;dx=0.5;dy=0.9;",100,100,"","Cone (adjustable)",null,null,this.getTagsForStencil("mxgraph.basic",
"cone","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.document",100,100,"","Document",null,null,this.getTagsForStencil("mxgraph.basic","document","").join(" ")),this.createVertexTemplateEntry(a+"donut;dx=25;",100,100,"","Donut",null,null,this.getTagsForStencil("mxgraph.basic","donut","").join(" ")),this.createVertexTemplateEntry(a+"drop",70,100,"","Drop",null,null,this.getTagsForStencil("mxgraph.basic","drop","").join(" ")),this.createVertexTemplateEntry(a+
"flash",60,100,"","Flash",null,null,this.getTagsForStencil("mxgraph.basic","flash","").join(" ")),this.createVertexTemplateEntry(a+"half_circle",100,50,"","Half Circle",null,null,this.getTagsForStencil("mxgraph.basic","half_circle"," semicircle").join(" ")),this.createVertexTemplateEntry(a+"heart",100,100,"","Heart",null,null,this.getTagsForStencil("mxgraph.basic","heart","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.isocube;isoAngle=15;",100,100,"","Isometric Cube",
null,null,this.getTagsForStencil("mxgraph.basic","isometric cube","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.loud_callout",100,60,"","Loud Callout",null,null,this.getTagsForStencil("mxgraph.basic","loud_callout","").join(" ")),this.createVertexTemplateEntry(a+"moon",75,100,"","Moon",null,null,this.getTagsForStencil("mxgraph.basic","moon","").join(" ")),this.createVertexTemplateEntry(a+"no_symbol",100,100,"","No Symbol",null,null,this.getTagsForStencil("mxgraph.basic",
"no_symbol","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.octagon2;align=center;verticalAlign=middle;dx=15;",100,100,"","Octagon",null,null,this.getTagsForStencil("mxgraph.basic","octagon","").join(" ")),this.createVertexTemplateEntry(a+"orthogonal_triangle",100,70,"","Orthogonal Triangle",null,null,this.getTagsForStencil("mxgraph.basic","orthogonal_triangle","").join(" ")),this.createVertexTemplateEntry(a+"acute_triangle;dx=0.5;",100,70,"","Acute Triangle",
null,null,this.getTagsForStencil("mxgraph.basic","acute_triangle","").join(" ")),this.createVertexTemplateEntry(a+"obtuse_triangle;dx=0.25;",100,70,"","Obtuse Triangle",null,null,this.getTagsForStencil("mxgraph.basic","obtuse_triangle","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.oval_callout",100,60,"","Oval Callout",null,null,this.getTagsForStencil("mxgraph.basic","oval_callout","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.pentagon",
100,90,"","Pentagon",null,null,this.getTagsForStencil("mxgraph.basic","pentagon","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.pointed_oval",50,100,"","Pointed Oval",null,null,this.getTagsForStencil("mxgraph.basic","pointed oval","").join(" ")),this.createVertexTemplateEntry(a+"pyramid;dx1=0.4;dx2=0.6;dy1=0.9;dy2=0.8;",100,100,"","Pyramid",null,null,this.getTagsForStencil("mxgraph.basic","pyramid","").join(" ")),this.createVertexTemplateEntry(a+"diag_snip_rect;dx=6;",
100,60,"","Diagonal Snip Rectangle",null,null,this.getTagsForStencil("mxgraph.basic","diag_snip_rect","").join(" ")),this.createVertexTemplateEntry(a+"diag_round_rect;dx=6;",100,60,"","Diagonal Rounded Rectangle",null,null,this.getTagsForStencil("mxgraph.basic","diag_round_rect","").join(" ")),this.createVertexTemplateEntry(a+"corner_round_rect;dx=6;",100,60,"","Corner Rounded Rectangle",null,null,this.getTagsForStencil("mxgraph.basic","corner_round_rect","").join(" ")),this.createVertexTemplateEntry(a+
"three_corner_round_rect;dx=6;",100,60,"","Rounded Rectangle (three corners)",null,null,this.getTagsForStencil("mxgraph.basic","three_corner_round_rect","").join(" ")),this.createVertexTemplateEntry(a+"plaque;dx=6;",100,60,"","Plaque",null,null,this.getTagsForStencil("mxgraph.basic","plaque","").join(" ")),this.createVertexTemplateEntry(a+"frame;dx=10;",100,60,"","Frame",null,null,this.getTagsForStencil("mxgraph.basic","frame","").join(" ")),this.createVertexTemplateEntry(a+"rounded_frame;dx=10;",
100,60,"","Rounded Frame",null,null,this.getTagsForStencil("mxgraph.basic","rounded_frame","").join(" ")),this.createVertexTemplateEntry(a+"plaque_frame;dx=10;",100,60,"","Plaque Frame",null,null,this.getTagsForStencil("mxgraph.basic","plaque_frame","").join(" ")),this.createVertexTemplateEntry(a+"frame_corner;dx=10;",100,60,"","Frame Corner",null,null,this.getTagsForStencil("mxgraph.basic","frame_corner","").join(" ")),this.createVertexTemplateEntry(a+"diag_stripe;dx=10;",100,60,"","Diagonal Stripe",
null,null,this.getTagsForStencil("mxgraph.basic","diag_stripe","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.rectCallout;dx=30;dy=15;boundedLbl=1;",100,60,"","Rectangular Callout",null,null,this.getTagsForStencil("mxgraph.basic","rectangular_callout","").join(" ")),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;shape=mxgraph.basic.roundRectCallout;dx=30;dy=15;size=5;boundedLbl=1;",100,60,"","Rounded Rectangular Callout",null,null,this.getTagsForStencil("mxgraph.basic",
"rectangular_callout","").join(" ")),this.createVertexTemplateEntry(a+"layered_rect;dx=10;outlineConnect=0;",100,60,"","Layered Rectangle",null,null,this.getTagsForStencil("mxgraph.basic","layered_rect","").join(" ")),this.createVertexTemplateEntry(a+"smiley",100,100,"","Smiley",null,null,this.getTagsForStencil("mxgraph.basic","smiley","").join(" ")),this.createVertexTemplateEntry(a+"star",100,95,"","Star",null,null,this.getTagsForStencil("mxgraph.basic","star","").join(" ")),this.createVertexTemplateEntry(a+
"sun",100,100,"","Sun",null,null,this.getTagsForStencil("mxgraph.basic","sun","").join(" ")),this.createVertexTemplateEntry(a+"tick",85,100,"","Tick",null,null,this.getTagsForStencil("mxgraph.basic","tick","").join(" ")),this.createVertexTemplateEntry(a+"wave2;dy=0.3;",100,60,"","Wave",null,null,this.getTagsForStencil("mxgraph.basic","wave","").join(" ")),this.createVertexTemplateEntry("labelPosition=center;verticalLabelPosition=middle;align=center;html=1;shape=mxgraph.basic.button;dx=10;",100,60,
"Button","Button",null,null,this.getTagsForStencil("mxgraph.basic","button","").join(" ")),this.createVertexTemplateEntry("labelPosition=center;verticalLabelPosition=middle;align=center;html=1;shape=mxgraph.basic.shaded_button;dx=10;fillColor=#E6E6E6;strokeColor=none;",100,60,"Button","Button (shaded)",null,null,this.getTagsForStencil("mxgraph.basic","button","").join(" ")),this.createVertexTemplateEntry(a+"x",100,100,"","X",null,null,this.getTagsForStencil("mxgraph.basic","x","").join(" ")),this.createVertexTemplateEntry(a+
"pie;startAngle=0.2;endAngle=0.9;",100,100,"","Pie",null,null,this.getTagsForStencil("mxgraph.basic","pie","").join(" ")),this.createVertexTemplateEntry(a+"arc;startAngle=0.3;endAngle=0.1;",100,100,"","Arc",null,null,this.getTagsForStencil("mxgraph.basic","arc","").join(" ")),this.createVertexTemplateEntry(a+"partConcEllipse;startAngle=0.25;endAngle=0.1;arcWidth=0.5;",100,100,"","Partial Concentric Ellipse",null,null,this.getTagsForStencil("mxgraph.basic","partConcEllipse","").join(" "))])}})();(function(){Sidebar.prototype.addBootstrapPalette=function(){var a=this,d=[this.addDataEntry("bootstrap button bar dark",800,40,"Button Bar (Dark)","5ZhRb5swEMc/DY+NDKaEvIZ2fdm0qpH27gUDVg2HjNuQfvod2EnJnGxRWqJUsRQJn332+ffnbBOPJmX7oFhd/ICUS4/eezRRANo8lW3CpfQCIlKP3nlBQPDnBd8OtPp9K6mZ4pU+xiEwDq9MvnBjMYZGr6U1FLrEsO58j86bgqWwwgrBSsqagqe2gi11179s824tk9+4gkbj40TxJUYyz4SUCUhQ/aA06EvnqBU8801LBRWOMl8VQvNFzZbdkCscBW02UK40bw8utjfZlT5wKLlWa+yyEqkuTI+YGCCk4CIvrFtobawx9Xzr+o4OHyy9/SSpQzKBsmbV+jSgQ16Wyl5U/wcPlR6An/XF2hfirfP1w48wD45gPg7y0EH+yKFGzGd5hUlfDunyF/asL11nJCyq/MmSoGQE9O0u9oESs5GUuHWUiMNPV8HKoOxbG7uSZNkpkpyMP/wnfuuwttvw5NZRY4NtqIYfGZvikmnxynfG2ieRnf8RBIa1nfyGkp3pb+LdESDLGq4diberOEr1yFH9l4AubKiaC931zph+/tTNP98fKQGnjhTh55/kF5eA0ZUnYOyovtAYdKPF8lITcKRk23fYjXXtmLnUuda4q1wZcxq5zKcjMd/sm8O7ngIkd+Jl76syj87J3HeYf4ccDT9f9HVRn9LRqGP1/WvfHAHDPwP+AA=="),
this.addDataEntry("bootstrap button bar bright",800,40,"Button Bar (Bright)","5ZdRb5swEMc/DY9FBhNCXkPavmxStUh798IB1gxGxmvIPv0OcBKoSZetpYpUIyT77DP278+dwaFx0TwqVuVfZQLCofcOjZWUuq8VTQxCOD7hiUM3ju8TvB3/4UKv1/WSiiko9TUOfu/wzMQv6C29odYHYQy5LnBZG8+h6zpnidxjg2AjYXUOiWlgT9WOL5qs3Yv7A3dQa6y6Cna4knXKhYilkKqblKZhe7WOWsmfcOwpZYmzrPc517Ct2K6dco+zoM0sFJSG5uJmO5PZ6SPIArQ64JA9T3Tej4hID4TkwLPcuAXGxuq+nZ1cz+iwYuhNk6QWyVgWFSsP/wd0yMtQmUT1d/Cy1APwSVeMfct/t75e8Bbm/hXM50EeWMifQFaI+WNeYdJel3R5gX3VlXYwEuZl9s2QoGQG9M0Y+0CJ1UxKLCwlouDdVTAyKPPWRhOSpATLlZKkXXkL/uBV/MbhYNKwu7DUOGIbquGFvU2BYJo/w2iuKYnM858kx2WdHn5Hyejxd9F4BpmmNWhL4tMurlI9tFT/zmW7bFnWN5r1PjD8vKUdf543UwAuLSmC9z/Jby4Aw08egJGl+lbjomvNd7cagDMF29RhN9dnx8qmDlpjVvlkzGloM1/OxPyYN0fQmdrlruvOnecWU3nOpK6xUC+/r6fsTPCsRJuAVJ8PpC9da+PNeB6Fi3FGstOhRyfUo/+uHjbPf7B9Whv+4P4B"),
this.addEntry("bootstrap button group vertical",function(){var e=new mxCell("",new mxGeometry(0,0,100,150),"html=1;shadow=0;dashed=0;shape=mxgraph.bootstrap.rrect;rSize=5;strokeColor=#dddddd;html=1;whiteSpace=wrap;fillColor=#ffffff;");e.vertex=!0;var b=new mxCell("Edit",new mxGeometry(0,0,100,30),"strokeColor=inherit;fillColor=inherit;gradientColor=inherit;html=1;shadow=0;dashed=0;shape=mxgraph.bootstrap.topButton;rSize=5;perimeter=none;whiteSpace=wrap;resizeWidth=1;");b.geometry.relative=!0;b.vertex=
!0;e.insert(b);b=new mxCell("Create",new mxGeometry(0,0,100,30),"strokeColor=inherit;fillColor=inherit;gradientColor=inherit;html=1;shadow=0;dashed=0;shape=mxgraph.bootstrap.rect;perimeter=none;whiteSpace=wrap;resizeWidth=1;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(0,30);b.vertex=!0;e.insert(b);var c=new mxCell("Delete",new mxGeometry(0,0,100,30),"strokeColor=inherit;fillColor=inherit;gradientColor=inherit;html=1;shadow=0;dashed=0;shape=mxgraph.bootstrap.rect;perimeter=none;whiteSpace=wrap;resizeWidth=1;");
@ -7296,8 +7296,8 @@ function(){z("_blank")}),n.className="geBtn",p.appendChild(n));mxClient.IS_IOS||
k.style.textAlign="left";mxUtils.write(k,mxResources.get("fileOpenLocation"));mxUtils.br(k);mxUtils.br(k);var l=mxUtils.button(mxResources.get("openInThisWindow"),function(){g&&a.hideDialog();null!=c&&c()});l.className="geBtn";l.style.marginBottom="8px";l.style.width="280px";k.appendChild(l);mxUtils.br(k);var p=mxUtils.button(mxResources.get("openInNewWindow"),function(){g&&a.hideDialog();null!=d&&d();a.openLink(e,null,!0)});p.className="geBtn gePrimaryBtn";p.style.width=l.style.width;k.appendChild(p);
mxUtils.br(k);mxUtils.br(k);mxUtils.write(k,mxResources.get("allowPopups"));this.container=k},ImageDialog=function(a,e,d,c,g,k){k=null!=k?k:!0;var l=a.editor.graph,p=document.createElement("div");mxUtils.write(p,e);e=document.createElement("div");e.className="geTitle";e.style.backgroundColor="transparent";e.style.borderColor="transparent";e.style.whiteSpace="nowrap";e.style.textOverflow="clip";e.style.cursor="default";mxClient.IS_VML||(e.style.paddingRight="20px");var n=document.createElement("input");
n.setAttribute("value",d);n.setAttribute("type","text");n.setAttribute("spellcheck","false");n.setAttribute("autocorrect","off");n.setAttribute("autocomplete","off");n.setAttribute("autocapitalize","off");n.style.marginTop="6px";n.style.width=(Graph.fileSupport?420:340)+(mxClient.IS_QUIRKS?20:-20)+"px";n.style.backgroundImage="url('"+Dialog.prototype.clearImage+"')";n.style.backgroundRepeat="no-repeat";n.style.backgroundPosition="100% 50%";n.style.paddingRight="14px";d=document.createElement("div");
d.setAttribute("title",mxResources.get("reset"));d.style.position="relative";d.style.left="-16px";d.style.width="12px";d.style.height="14px";d.style.cursor="pointer";d.style.display=mxClient.IS_VML?"inline":"inline-block";d.style.top=(mxClient.IS_VML?0:3)+"px";d.style.background="url('"+a.editor.transparentImage+"')";mxEvent.addListener(d,"click",function(){n.value="";n.focus()});e.appendChild(n);e.appendChild(d);p.appendChild(e);var b=function(b,f,h,d){var q="data:"==b.substring(0,5);!a.isOffline()||
q&&"undefined"===typeof chrome?0<b.length&&a.spinner.spin(document.body,mxResources.get("inserting"))?a.loadImage(b,function(m){a.spinner.stop();a.hideDialog();var v=!1===d?1:null!=f&&null!=h?Math.max(f/m.width,h/m.height):Math.min(1,Math.min(520/m.width,520/m.height));k&&(b=a.convertDataUri(b));c(b,Math.round(Number(m.width)*v),Math.round(Number(m.height)*v))},function(){a.spinner.stop();c(null);a.showError(mxResources.get("error"),mxResources.get("fileNotFound"),mxResources.get("ok"))}):(a.hideDialog(),
d.setAttribute("title",mxResources.get("reset"));d.style.position="relative";d.style.left="-16px";d.style.width="12px";d.style.height="14px";d.style.cursor="pointer";d.style.display=mxClient.IS_VML?"inline":"inline-block";d.style.top=(mxClient.IS_VML?0:3)+"px";d.style.background="url('"+a.editor.transparentImage+"')";mxEvent.addListener(d,"click",function(){n.value="";n.focus()});e.appendChild(n);e.appendChild(d);p.appendChild(e);var b=function(b,f,h,d){var e="data:"==b.substring(0,5);!a.isOffline()||
e&&"undefined"===typeof chrome?0<b.length&&a.spinner.spin(document.body,mxResources.get("inserting"))?a.loadImage(b,function(m){a.spinner.stop();a.hideDialog();var v=!1===d?1:null!=f&&null!=h?Math.max(f/m.width,h/m.height):Math.min(1,Math.min(520/m.width,520/m.height));k&&(b=a.convertDataUri(b));c(b,Math.round(Number(m.width)*v),Math.round(Number(m.height)*v))},function(){a.spinner.stop();c(null);a.showError(mxResources.get("error"),mxResources.get("fileNotFound"),mxResources.get("ok"))}):(a.hideDialog(),
c(b)):(b=a.convertDataUri(b),f=null==f?120:f,h=null==h?100:h,a.hideDialog(),c(b,f,h))},f=function(f,h){if(null!=f){var d=g?null:l.getModel().getGeometry(l.getSelectionCell());null!=d?b(f,d.width,d.height,h):b(f,null,null,h)}else a.hideDialog(),c(null)};this.init=function(){n.focus();if(Graph.fileSupport){n.setAttribute("placeholder",mxResources.get("dragImagesHere"));var b=p.parentNode,c=null;mxEvent.addListener(b,"dragleave",function(a){null!=c&&(c.parentNode.removeChild(c),c=null);a.stopPropagation();
a.preventDefault()});mxEvent.addListener(b,"dragover",mxUtils.bind(this,function(f){null==c&&(!mxClient.IS_IE||10<document.documentMode)&&(c=a.highlightElement(b));f.stopPropagation();f.preventDefault()}));mxEvent.addListener(b,"drop",mxUtils.bind(this,function(b){null!=c&&(c.parentNode.removeChild(c),c=null);if(0<b.dataTransfer.files.length)a.importFiles(b.dataTransfer.files,0,0,a.maxImageSize,function(a,b,c,h,d,e,q,u){f(a,u)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=
0;b<a.length;b++)a[b]()},!mxEvent.isControlDown(b));else if(0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")){var h=b.dataTransfer.getData("text/uri-list");/\.(gif|jpg|jpeg|tiff|png|svg)($|\?)/i.test(h)&&f(decodeURIComponent(h))}b.stopPropagation();b.preventDefault()}),!1)}};d=document.createElement("div");d.style.marginTop=mxClient.IS_QUIRKS?"22px":"14px";d.style.textAlign="right";e=mxUtils.button(mxResources.get("cancel"),function(){a.spinner.stop();a.hideDialog()});e.className="geBtn";
@ -7384,7 +7384,7 @@ for(var v=[e,g,l],x=0,k=0;k<d.length;k++)(function(a){for(var b=0;b<a.entries.le
mxEvent.addListener(n,"click",function(a){w.checked=!w.checked;mxEvent.consume(a)}));c.appendChild(d);n=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});n.className="geBtn";e=mxUtils.button(mxResources.get("apply"),function(){for(var b=["search"],f=0;f<q.length;f++){var c=q[f].apply(this,arguments);null!=c&&b.push(c)}a.sidebar.showEntries(0<b.length?b.join(";"):"",w.checked);a.hideDialog()});e.className="geBtn gePrimaryBtn";d=document.createElement("div");d.style.marginTop="26px";
d.style.textAlign="right"}a.editor.cancelFirst?(d.appendChild(n),d.appendChild(e)):(d.appendChild(e),d.appendChild(n));c.appendChild(d);this.container=c},PluginsDialog=function(a){function e(){if(0==g.length)c.innerHTML=mxResources.get("noPlugins");else{c.innerHTML="";for(var b=0;b<g.length;b++){var h=document.createElement("span");h.style.whiteSpace="nowrap";var d=document.createElement("span");d.className="geSprite geSprite-delete";d.style.position="relative";d.style.cursor="pointer";d.style.top=
"5px";d.style.marginRight="4px";d.style.display="inline-block";h.appendChild(d);mxUtils.write(h,g[b]);c.appendChild(h);mxUtils.br(c);mxEvent.addListener(d,"click",function(b){return function(){a.confirm(window.parent.mxResources.get("delete")+' "'+g[b]+'"?',function(){g.splice(b,1);e()})}}(b))}}}var d=document.createElement("div"),c=document.createElement("div");c.style.height="120px";c.style.overflow="auto";var g=mxSettings.getPlugins().slice();d.appendChild(c);e();var k=mxUtils.button(mxResources.get("add"),
function(){var b="",c=urlParams.p;if(null!=c&&0<c.length){for(var d=c.split(";"),c=0;c<d.length;c++){var q=App.pluginRegistry[d[c]];null!=q&&(b+=q+";")}";"==b.charAt(b.length-1)&&(b=b.substring(0,b.length-1))}b=new FilenameDialog(a,b,mxResources.get("add"),function(b){if(null!=b&&0<b.length){d=b.split(";");for(b=0;b<d.length;b++){var a=d[b],f=App.pluginRegistry[a];null!=f&&(a=f);0<a.length&&0>mxUtils.indexOf(g,a)&&g.push(a)}e()}},mxResources.get("enterValue")+" ("+mxResources.get("url")+")");a.showDialog(b.container,
function(){var b="",c=urlParams.p;if(null!=c&&0<c.length){for(var d=c.split(";"),c=0;c<d.length;c++){var q=App.pluginRegistry[d[c]];null!=q&&(b+=q+";")}";"==b.charAt(b.length-1)&&(b=b.substring(0,b.length-1))}b=new FilenameDialog(a,b,mxResources.get("add"),function(a){if(null!=a&&0<a.length){d=a.split(";");for(a=0;a<d.length;a++){var b=d[a],f=App.pluginRegistry[b];null!=f&&(b=f);0<b.length&&0>mxUtils.indexOf(g,b)&&g.push(b)}e()}},mxResources.get("enterValue")+" ("+mxResources.get("url")+")");a.showDialog(b.container,
300,80,!0,!0);b.init()});k.className="geBtn";var l=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});l.className="geBtn";var p=mxUtils.button(mxResources.get("apply"),function(){mxSettings.setPlugins(g);mxSettings.save();a.hideDialog();a.alert(mxResources.get("restartForChangeRequired"))});p.className="geBtn gePrimaryBtn";var n=mxUtils.button(mxResources.get("help"),function(){a.openLink("https://desk.draw.io/support/solutions/articles/16000056430")});n.className="geBtn";a.isOffline()&&
!mxClient.IS_CHROMEAPP&&(n.style.display="none");var b=document.createElement("div");b.style.marginTop="14px";b.style.textAlign="right";a.editor.cancelFirst?(b.appendChild(l),b.appendChild(n),b.appendChild(k),b.appendChild(p)):(b.appendChild(n),b.appendChild(k),b.appendChild(p),b.appendChild(l));d.appendChild(b);this.container=d},CropImageDialog=function(a,e,d){var c=document.createElement("div"),g=document.createElement("table"),k=document.createElement("tbody"),l=document.createElement("tr"),p=
document.createElement("td");p.style.whiteSpace="nowrap";p.setAttribute("colspan","2");mxUtils.write(p,mxResources.get("loading")+"...");l.appendChild(p);k.appendChild(l);var l=document.createElement("tr"),n=document.createElement("td"),b=document.createElement("td");g.style.paddingLeft="6px";mxUtils.write(n,mxResources.get("left")+":");var f=document.createElement("input");f.setAttribute("type","text");f.style.width="100px";f.value="0";this.init=function(){f.focus();f.select()};b.appendChild(f);
@ -7588,7 +7588,7 @@ this.mathEnabled!=this.ui.isMathEnabled()&&(this.ui.setMathEnabled(this.mathEnab
var ErrorDialog=function(a,e,d,c,g,k,l,p,n,b,f){n=null!=n?n:!0;var h=document.createElement("div");h.style.textAlign="center";if(null!=e){var u=document.createElement("div");u.style.padding="0px";u.style.margin="0px";u.style.fontSize="18px";u.style.paddingBottom="16px";u.style.marginBottom="16px";u.style.borderBottom="1px solid #c0c0c0";u.style.color="gray";mxUtils.write(u,e);h.appendChild(u)}e=document.createElement("div");e.style.padding="6px";e.innerHTML=d;h.appendChild(e);d=document.createElement("div");
d.style.marginTop="16px";d.style.textAlign="center";null!=k&&(e=mxUtils.button(mxResources.get("tryAgain"),function(){a.hideDialog();k()}),e.className="geBtn",d.appendChild(e),d.style.textAlign="center");null!=b&&(b=mxUtils.button(b,function(){null!=f&&f()}),b.className="geBtn",d.appendChild(b));var q=mxUtils.button(c,function(){n&&a.hideDialog();null!=g&&g()});q.className="geBtn";d.appendChild(q);null!=l&&(c=mxUtils.button(l,function(){n&&a.hideDialog();null!=p&&p()}),c.className="geBtn gePrimaryBtn",
d.appendChild(c));this.init=function(){q.focus()};h.appendChild(d);this.container=h};
(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.beforeDecode=function(a,d,c){c.ui=a.ui;return d};a.afterDecode=function(a,d,c){c.previousColor=c.color;c.previousImage=c.image;c.previousFormat=c.format;null!=c.foldingEnabled&&(c.foldingEnabled=!c.foldingEnabled);null!=c.mathEnabled&&(c.mathEnabled=!c.mathEnabled);null!=c.shadowVisible&&(c.shadowVisible=!c.shadowVisible);return c};mxCodecRegistry.register(a)})();(function(){EditorUi.VERSION="9.2.7";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.enableLogging=/.*\.draw\.io$/.test(window.location.hostname)&&"support.draw.io"!=window.location.hostname;EditorUi.templateFile=TEMPLATE_PATH+"/index.xml";EditorUi.enablePlantUml=EditorUi.enableLogging;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;EditorUi.scratchpadHelpLink="https://desk.draw.io/support/solutions/articles/16000042367";
(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.beforeDecode=function(a,d,c){c.ui=a.ui;return d};a.afterDecode=function(a,d,c){c.previousColor=c.color;c.previousImage=c.image;c.previousFormat=c.format;null!=c.foldingEnabled&&(c.foldingEnabled=!c.foldingEnabled);null!=c.mathEnabled&&(c.mathEnabled=!c.mathEnabled);null!=c.shadowVisible&&(c.shadowVisible=!c.shadowVisible);return c};mxCodecRegistry.register(a)})();(function(){EditorUi.VERSION="9.2.9";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.enableLogging=/.*\.draw\.io$/.test(window.location.hostname)&&"support.draw.io"!=window.location.hostname;EditorUi.templateFile=TEMPLATE_PATH+"/index.xml";EditorUi.enablePlantUml=EditorUi.enableLogging;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;EditorUi.scratchpadHelpLink="https://desk.draw.io/support/solutions/articles/16000042367";
EditorUi.prototype.emptyDiagramXml='<mxGraphModel><root><mxCell id="0"/><mxCell id="1" parent="0"/></root></mxGraphModel>';EditorUi.prototype.emptyLibraryXml="<mxlibrary>[]</mxlibrary>";EditorUi.prototype.mode=null;EditorUi.prototype.sidebarFooterHeight=36;EditorUi.prototype.defaultCustomShapeStyle="shape=stencil(tZRtTsQgEEBPw1+DJR7AoN6DbWftpAgE0Ortd/jYRGq72R+YNE2YgTePloEJGWblgA18ZuKFDcMj5/Sm8boZq+BgjCX4pTyqk6ZlKROitwusOMXKQDODx5iy4pXxZ5qTHiFHawxB0JrQZH7lCabQ0Fr+XWC1/E8zcsT/gAi+Subo2/3Mh6d/oJb5nU1b5tW7r2knautaa3T+U32o7f7vZwpJkaNDLORJjcu7t59m2jXxqX9un+tt022acsfmoKaQZ+vhhswZtS6Ne/ThQGt0IV0N3Yyv6P3CeT9/tHO0XFI5cAE=);whiteSpace=wrap;html=1;";
EditorUi.prototype.svgBrokenImage=Graph.createSvgImage(10,10,'<rect x="0" y="0" width="10" height="10" stroke="#000" fill="transparent"/><path d="m 0 0 L 10 10 L 0 10 L 10 0" stroke="#000" fill="transparent"/>');EditorUi.prototype.crossOriginImages=!mxClient.IS_IE;EditorUi.prototype.maxBackgroundSize=1600;EditorUi.prototype.maxImageSize=520;EditorUi.prototype.resampleThreshold=1E5;EditorUi.prototype.maxImageBytes=1E6;EditorUi.prototype.maxBackgroundBytes=25E5;EditorUi.prototype.currentFile=null;EditorUi.prototype.printPdfExport=
!1;EditorUi.prototype.pdfPageExport=!0;EditorUi.prototype.formatEnabled="0"!=urlParams.format;EditorUi.prototype.closableScratchpad=!0;(function(){EditorUi.prototype.useCanvasForExport=!1;EditorUi.prototype.jpgSupported=!1;try{var b=document.createElement("canvas");EditorUi.prototype.canvasSupported=!(!b.getContext||!b.getContext("2d"))}catch(q){}try{var a=document.createElement("canvas"),c=new Image;c.onload=function(){try{a.getContext("2d").drawImage(c,0,0);var b=a.toDataURL("image/png");EditorUi.prototype.useCanvasForExport=
@ -7723,9 +7723,9 @@ mxClient.IS_QUIRKS?u.select():document.execCommand("selectAll",!1,null)};EditorU
u.checked&&q.checked?l.getEditSelect().removeAttribute("disabled"):l.getEditSelect().setAttribute("disabled","disabled")});a=new CustomDialog(this,f,mxUtils.bind(this,function(){b(k.checked,m.checked,v.checked,q.checked,l.getLink(),n.checked)}),null,mxResources.get("embed"),e);this.showDialog(a.container,280,280,!0,!0)};EditorUi.prototype.createEmbedImage=function(b,a,c,d,e,g,k,l){function f(a){var f=" ",m="";d&&(f=" onclick=\"(function(img){if(img.wnd!=null&&!img.wnd.closed){img.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==img.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd=window.open('https://www.draw.io/?client=1&lightbox=1"+
(e?"&edit=_blank":"")+(g?"&layers=1":"")+"');}})(this);\"",m+="cursor:pointer;");b&&(m+="max-width:100%;");var v="";c&&(v=' width="'+Math.round(h.width)+'" height="'+Math.round(h.height)+'"');k('<img src="'+a+'"'+v+(""!=m?' style="'+m+'"':"")+f+"/>")}var h=this.editor.graph.getGraphBounds();if(this.isExportToCanvas())this.exportToCanvas(mxUtils.bind(this,function(b){var a=d?this.getFileData(!0):null;b=this.createImageDataUri(b,a,"png");f(b)}),null,null,null,mxUtils.bind(this,function(b){l({message:mxResources.get("unknownError")})}),
null,!0,c?2:1,null,a);else if(a=this.getFileData(!0),h.width*h.height<=MAX_AREA&&a.length<=MAX_REQUEST_SIZE){var v="";c&&(v="&w="+Math.round(2*h.width)+"&h="+Math.round(2*h.height));var q=new mxXmlRequest(EXPORT_URL,"format=png&base64=1&embedXml="+(d?"1":"0")+v+"&xml="+encodeURIComponent(a));q.send(mxUtils.bind(this,function(){200<=q.getStatus()&&299>=q.getStatus()?f("data:image/png;base64,"+q.getText()):l({message:mxResources.get("unknownError")})}))}else l({message:mxResources.get("drawingTooLarge")})};
EditorUi.prototype.createEmbedSvg=function(b,a,c,d,e,g,k){var f=this.editor.graph.getSvg(),h=f.getElementsByTagName("a");if(null!=h)for(var m=0;m<h.length;m++){var v=h[m].getAttribute("href");null!=v&&"#"==v.charAt(0)&&"_blank"==h[m].getAttribute("target")&&h[m].removeAttribute("target")}d&&f.setAttribute("content",this.getFileData(!0));a&&this.editor.graph.addSvgShadow(f);if(c){var q=" ",l="";d&&(q="onclick=\"(function(img){if(img.wnd!=null&&!img.wnd.closed){img.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==img.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd=window.open('https://www.draw.io/?client=1&lightbox=1"+
(e?"&edit=_blank":"")+(g?"&layers=1":"")+"');}})(this);\"",l+="cursor:pointer;");b&&(l+="max-width:100%;");this.convertImages(f,mxUtils.bind(this,function(b){k('<img src="'+this.createSvgDataUri(mxUtils.getXml(b))+'"'+(""!=l?' style="'+l+'"':"")+q+"/>")}))}else l="",d&&(f.setAttribute("onclick","(function(svg){var src=window.event.target||window.event.srcElement;while (src!=null&&src.nodeName.toLowerCase()!='a'){src=src.parentNode;}if(src==null){if(svg.wnd!=null&&!svg.wnd.closed){svg.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==svg.wnd){svg.wnd.postMessage(decodeURIComponent(svg.getAttribute('content')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);svg.wnd=window.open('https://www.draw.io/?client=1&lightbox=1"+
(e?"&edit=_blank":"")+(g?"&layers=1":"")+"');}}})(this);"),l+="cursor:pointer;"),b&&(b=parseInt(f.getAttribute("width")),a=parseInt(f.getAttribute("height")),f.setAttribute("viewBox","0 0 "+b+" "+a),l+="max-width:100%;max-height:"+a+"px;",f.removeAttribute("height")),""!=l&&f.setAttribute("style",l),k(mxUtils.getXml(f))};EditorUi.prototype.timeSince=function(b){b=Math.floor((new Date-b)/1E3);var a=Math.floor(b/31536E3);if(1<a)return a+" "+mxResources.get("years");a=Math.floor(b/2592E3);if(1<a)return a+
EditorUi.prototype.createEmbedSvg=function(b,a,c,d,e,g,k){var f=this.editor.graph.getSvg(),h=f.getElementsByTagName("a");if(null!=h)for(var m=0;m<h.length;m++){var v=h[m].getAttribute("href");null!=v&&"#"==v.charAt(0)&&"_blank"==h[m].getAttribute("target")&&h[m].removeAttribute("target")}d&&f.setAttribute("content",this.getFileData(!0));a&&this.editor.graph.addSvgShadow(f);if(c){var l=" ",q="";d&&(l="onclick=\"(function(img){if(img.wnd!=null&&!img.wnd.closed){img.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==img.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd=window.open('https://www.draw.io/?client=1&lightbox=1"+
(e?"&edit=_blank":"")+(g?"&layers=1":"")+"');}})(this);\"",q+="cursor:pointer;");b&&(q+="max-width:100%;");this.convertImages(f,mxUtils.bind(this,function(b){k('<img src="'+this.createSvgDataUri(mxUtils.getXml(b))+'"'+(""!=q?' style="'+q+'"':"")+l+"/>")}))}else q="",d&&(f.setAttribute("onclick","(function(svg){var src=window.event.target||window.event.srcElement;while (src!=null&&src.nodeName.toLowerCase()!='a'){src=src.parentNode;}if(src==null){if(svg.wnd!=null&&!svg.wnd.closed){svg.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==svg.wnd){svg.wnd.postMessage(decodeURIComponent(svg.getAttribute('content')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);svg.wnd=window.open('https://www.draw.io/?client=1&lightbox=1"+
(e?"&edit=_blank":"")+(g?"&layers=1":"")+"');}}})(this);"),q+="cursor:pointer;"),b&&(b=parseInt(f.getAttribute("width")),a=parseInt(f.getAttribute("height")),f.setAttribute("viewBox","0 0 "+b+" "+a),q+="max-width:100%;max-height:"+a+"px;",f.removeAttribute("height")),""!=q&&f.setAttribute("style",q),k(mxUtils.getXml(f))};EditorUi.prototype.timeSince=function(b){b=Math.floor((new Date-b)/1E3);var a=Math.floor(b/31536E3);if(1<a)return a+" "+mxResources.get("years");a=Math.floor(b/2592E3);if(1<a)return a+
" "+mxResources.get("months");a=Math.floor(b/86400);if(1<a)return a+" "+mxResources.get("days");a=Math.floor(b/3600);if(1<a)return a+" "+mxResources.get("hours");a=Math.floor(b/60);return 1<a?a+" "+mxResources.get("minutes"):1==a?a+" "+mxResources.get("minute"):null};EditorUi.prototype.convertMath=function(b,a,c,d){b.mathEnabled&&"undefined"!==typeof MathJax&&"undefined"!==typeof MathJax.Hub?(Editor.MathJaxRender(a),window.setTimeout(mxUtils.bind(this,function(){MathJax.Hub.Queue(mxUtils.bind(this,
function(){d()}))}),0)):d()};EditorUi.prototype.decodeNodeIntoGraph=function(b,a){if(null!=b){var c=null;if("diagram"==b.nodeName)c=b;else if("mxfile"==b.nodeName){var f=b.getElementsByTagName("diagram");if(0<f.length){var c=f[0],d=a.getGlobalVariable;a.getGlobalVariable=function(b){return"page"==b?c.getAttribute("name")||mxResources.get("pageWithNumber",[1]):"pagenumber"==b?1:d.apply(this,arguments)}}}null!=c&&(f=a.decompress(mxUtils.getTextContent(c)),null!=f&&0<f.length&&(b=mxUtils.parseXml(f).documentElement))}f=
this.editor.graph;try{this.editor.graph=a,this.editor.setGraphXml(b)}catch(t){}finally{this.editor.graph=f}return b};EditorUi.prototype.getEmbeddedPng=function(b,a,c){var f=this.editor.graph,d=null;if(null!=c&&0<c.length)f=this.createTemporaryGraph(this.editor.graph.getStylesheet()),document.body.appendChild(f.container),this.decodeNodeIntoGraph(this.editor.extractGraphModel(mxUtils.parseXml(c).documentElement,!0),f),d=c;else if(null!=this.pages&&this.currentPage!=this.pages[0]){var f=this.createTemporaryGraph(f.getStylesheet()),
@ -7744,8 +7744,8 @@ d));f--;0==f&&a(b)})):c.setAttribute(h,g)}else null!=m&&c.setAttribute(h,m)})(g[
"undefined"!==typeof window.mxUtilsBinaryToArray){b=mxUtilsBinaryToArray(b.request.responseBody).toArray();for(var d=Array(b.length),e=0;e<b.length;e++)d[e]=String.fromCharCode(b[e]);d=d.join("")}g=null!=g?g:"data:image/png;base64,";d=g+this.base64Encode(d)}a(d)}}else null!=c&&c({code:App.ERROR_UNKNOWN},b)}),function(){null!=c&&c({code:App.ERROR_UNKNOWN})},f,this.timeout,function(){e&&null!=c&&c({code:App.ERROR_TIMEOUT,retry:h})})});h()}catch(A){null!=c&&c(A)}};EditorUi.prototype.isCorsEnabledForUrl=
function(b){null!=urlParams.cors&&null==this.corsRegExp&&(this.corsRegExp=new RegExp(decodeURIComponent(urlParams.cors)));return null!=this.corsRegExp&&this.corsRegExp.test(b)||"https://raw.githubusercontent.com/"===b.substring(0,34)||"https://cdn.rawgit.com/"===b.substring(0,23)||"https://rawgit.com/"===b.substring(0,19)||/^https?:\/\/[^\/]*\.iconfinder.com\//.test(b)||/^https?:\/\/[^\/]*\.draw\.io\/proxy/.test(b)||/^https?:\/\/[^\/]*\.github\.io\//.test(b)};EditorUi.prototype.convertImageToDataUri=
function(b,a){if(/(\.svg)$/i.test(b))mxUtils.get(b,mxUtils.bind(this,function(b){a(this.createSvgDataUri(b.getText()))}),function(){a(this.svgBrokenImage.src)});else{var c=new Image,f=this;this.crossOriginImages&&(c.crossOrigin="anonymous");c.onload=function(){var b=document.createElement("canvas"),d=b.getContext("2d");b.height=c.height;b.width=c.width;d.drawImage(c,0,0);try{a(b.toDataURL())}catch(w){a(f.svgBrokenImage.src)}};c.onerror=function(){a(f.svgBrokenImage.src)};c.src=b}};EditorUi.prototype.importXml=
function(b,a,c,d,e){a=null!=a?a:0;c=null!=c?c:0;var f=[];try{var h=this.editor.graph;if(null!=b&&0<b.length){var g=mxUtils.parseXml(b),k=this.editor.extractGraphModel(g.documentElement,null!=this.pages);if(null!=k&&"mxfile"==k.nodeName&&null!=this.pages){var m=k.getElementsByTagName("diagram");if(1==m.length)k=mxUtils.parseXml(h.decompress(mxUtils.getTextContent(m[0]))).documentElement;else if(1<m.length){h.model.beginUpdate();try{for(b=0;b<m.length;b++){m[b].removeAttribute("id");var l=this.updatePageRoot(new DiagramPage(m[b])),
q=this.pages.length;null==l.getName()&&l.setName(mxResources.get("pageWithNumber",[q+1]));h.model.execute(new ChangePage(this,l,l,q))}}finally{h.model.endUpdate()}}}null!=k&&"mxGraphModel"===k.nodeName&&(f=h.importGraphModel(k,a,c,d))}}catch(C){throw e||this.handleError(C,mxResources.get("invalidOrMissingFile")),C;}return f};EditorUi.prototype.isRemoteVisioFormat=function(b){return/(\.v(sd|dx))($|\?)/i.test(b)||/(\.vs(s|x))($|\?)/i.test(b)};EditorUi.prototype.importVisio=function(b,a,c,d){d=null!=
function(b,a,c,d,e){a=null!=a?a:0;c=null!=c?c:0;var f=[];try{var h=this.editor.graph;if(null!=b&&0<b.length){var g=mxUtils.parseXml(b),k=this.editor.extractGraphModel(g.documentElement,null!=this.pages);if(null!=k&&"mxfile"==k.nodeName&&null!=this.pages){var m=k.getElementsByTagName("diagram");if(1==m.length)k=mxUtils.parseXml(h.decompress(mxUtils.getTextContent(m[0]))).documentElement;else if(1<m.length){h.model.beginUpdate();try{for(b=0;b<m.length;b++){m[b].removeAttribute("id");var v=this.updatePageRoot(new DiagramPage(m[b])),
l=this.pages.length;null==v.getName()&&v.setName(mxResources.get("pageWithNumber",[l+1]));h.model.execute(new ChangePage(this,v,v,l))}}finally{h.model.endUpdate()}}}null!=k&&"mxGraphModel"===k.nodeName&&(f=h.importGraphModel(k,a,c,d))}}catch(C){throw e||this.handleError(C,mxResources.get("invalidOrMissingFile")),C;}return f};EditorUi.prototype.isRemoteVisioFormat=function(b){return/(\.v(sd|dx))($|\?)/i.test(b)||/(\.vs(s|x))($|\?)/i.test(b)};EditorUi.prototype.importVisio=function(b,a,c,d){d=null!=
d?d:b.name;c=null!=c?c:mxUtils.bind(this,function(b){this.handleError(b)});var f=mxUtils.bind(this,function(){this.loadingExtensions=!1;if(this.doImportVisio)if(this.isRemoteVisioFormat(d)&&null!=VSD_CONVERT_URL){var f=new FormData;f.append("file1",b,d);var e=new XMLHttpRequest;e.open("POST",VSD_CONVERT_URL);e.responseType="blob";e.onreadystatechange=mxUtils.bind(this,function(){if(4==e.readyState)if(200<=e.status&&299>=e.status)try{e.response.name=d,this.doImportVisio(e.response,a,c)}catch(z){c(z)}else c({})});
e.send(f)}else try{this.doImportVisio(b,a,c)}catch(z){c(z)}});this.doImportVisio||this.loadingExtensions||this.isOffline()?f():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",f))};EditorUi.prototype.exportVisio=function(){var b=mxUtils.bind(this,function(){this.loadingExtensions=!1;if("undefined"!==typeof VsdxExport)try{(new VsdxExport(this)).exportCurrentDiagrams()}catch(f){this.handleError(f)}});"undefined"!==typeof VsdxExport||this.loadingExtensions||this.isOffline()?b():(this.loadingExtensions=
!0,mxscript("js/extensions.min.js",b))};EditorUi.prototype.convertLucidChart=function(b,a,c){var f=mxUtils.bind(this,function(){this.loadingExtensions=!1;if("undefined"!==typeof window.LucidImporter)try{a(LucidImporter.importState(JSON.parse(b)))}catch(q){c(q)}else c({message:mxResources.get("serviceUnavailableOrBlocked")})});"undefined"!==typeof window.LucidImporter||this.loadingExtensions||this.isOffline()?window.setTimeout(f,0):(this.loadingExtensions=!0,"1"==urlParams.dev?mxscript("js/diagramly/Extensions.js",
@ -7768,13 +7768,13 @@ a+="==";break}g=b.charCodeAt(c++);if(c==d){a+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefg
b){x[a]=b;if(0==--w){this.spinner.stop();if(null!=l)l(x);else{var c=[];p.getModel().beginUpdate();try{for(var f=0;f<x.length;f++){var d=x[f]();null!=d&&(c=c.concat(d))}}finally{p.getModel().endUpdate()}}g(c)}}),A=0;A<u;A++)mxUtils.bind(this,function(f){var g=b[f],l=new FileReader;l.onload=mxUtils.bind(this,function(b){if(null==k||k(g))if("image/"==g.type.substring(0,6))if("image/svg"==g.type.substring(0,9)){var l=b.target.result,u=l.indexOf(","),w=decodeURIComponent(escape(atob(l.substring(u+1)))),
x=mxUtils.parseXml(w),w=x.getElementsByTagName("svg");if(0<w.length){var w=w[0],y=n?null:w.getAttribute("content");null!=y&&"<"!=y.charAt(0)&&"%"!=y.charAt(0)&&(y=unescape(window.atob?atob(y):Base64.decode(y,!0)));null!=y&&"%"==y.charAt(0)&&(y=decodeURIComponent(y));null==y||"<mxfile "!==y.substring(0,8)&&"<mxGraphModel "!==y.substring(0,14)?t(f,mxUtils.bind(this,function(){try{if(l.substring(0,u+1),null!=x){var b=x.getElementsByTagName("svg");if(0<b.length){var h=b[0],m=parseFloat(h.getAttribute("width")),
k=parseFloat(h.getAttribute("height")),v=h.getAttribute("viewBox");if(null==v||0==v.length)h.setAttribute("viewBox","0 0 "+m+" "+k);else if(isNaN(m)||isNaN(k)){var w=v.split(" ");3<w.length&&(m=parseFloat(w[2]),k=parseFloat(w[3]))}l=this.createSvgDataUri(mxUtils.getXml(h));var n=Math.min(1,Math.min(d/Math.max(1,m)),d/Math.max(1,k)),t=e(l,g.type,a+f*q,c+f*q,Math.max(1,Math.round(m*n)),Math.max(1,Math.round(k*n)),g.name);if(isNaN(m)||isNaN(k)){var y=new Image;y.onload=mxUtils.bind(this,function(){m=
Math.max(1,y.width);k=Math.max(1,y.height);t[0].geometry.width=m;t[0].geometry.height=k;h.setAttribute("viewBox","0 0 "+m+" "+k);l=this.createSvgDataUri(mxUtils.getXml(h));var b=l.indexOf(";");0<b&&(l=l.substring(0,b)+l.substring(l.indexOf(",",b+1)));p.setCellStyles("image",l,[t[0]])});y.src=this.createSvgDataUri(mxUtils.getXml(h))}return t}}}catch(fa){}return null})):t(f,mxUtils.bind(this,function(){return e(y,"text/xml",a+f*q,c+f*q,0,0,g.name)}))}}else{w=!1;if("image/png"==g.type){var A=n?null:
Math.max(1,y.width);k=Math.max(1,y.height);t[0].geometry.width=m;t[0].geometry.height=k;h.setAttribute("viewBox","0 0 "+m+" "+k);l=this.createSvgDataUri(mxUtils.getXml(h));var a=l.indexOf(";");0<a&&(l=l.substring(0,a)+l.substring(l.indexOf(",",a+1)));p.setCellStyles("image",l,[t[0]])});y.src=this.createSvgDataUri(mxUtils.getXml(h))}return t}}}catch(fa){}return null})):t(f,mxUtils.bind(this,function(){return e(y,"text/xml",a+f*q,c+f*q,0,0,g.name)}))}}else{w=!1;if("image/png"==g.type){var A=n?null:
this.extractGraphModelFromPng(b.target.result);if(null!=A&&0<A.length){var z=new Image;z.src=b.target.result;t(f,mxUtils.bind(this,function(){return e(A,"text/xml",a+f*q,c+f*q,z.width,z.height,g.name)}));w=!0}}w||(mxClient.IS_CHROMEAPP?(this.spinner.stop(),this.showError(mxResources.get("error"),mxResources.get("dragAndDropNotSupported"),mxResources.get("cancel"),mxUtils.bind(this,function(){}),null,mxResources.get("ok"),mxUtils.bind(this,function(){this.actions.get("import").funct()}))):this.loadImage(b.target.result,
mxUtils.bind(this,function(k){this.resizeImage(k,b.target.result,mxUtils.bind(this,function(k,l,p){t(f,mxUtils.bind(this,function(){if(null!=k&&k.length<m){var u=h&&this.isResampleImage(b.target.result,v)?Math.min(1,Math.min(d/l,d/p)):1;return e(k,g.type,a+f*q,c+f*q,Math.round(l*u),Math.round(p*u),g.name)}this.handleError({message:mxResources.get("imageTooBig")});return null}))}),h,d,v)}),mxUtils.bind(this,function(){this.handleError({message:mxResources.get("invalidOrMissingFile")})})))}else e(b.target.result,
g.type,a+f*q,c+f*q,240,160,g.name,function(b){t(f,function(){return b})})});/(\.v(dx|sdx?))($|\?)/i.test(g.name)||/(\.vs(x|sx?))($|\?)/i.test(g.name)?e(null,g.type,a+f*q,c+f*q,240,160,g.name,function(b){t(f,function(){return b})},g):"image"==g.type.substring(0,5)?l.readAsDataURL(g):l.readAsText(g)})(A)});q?this.confirmImageResize(function(b){h=b;x()},p):x()};EditorUi.prototype.confirmImageResize=function(b,a){a=null!=a?a:!1;var c=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){},
f=isLocalStorage||mxClient.IS_CHROMEAPP?mxSettings.getResizeImages():null,d=function(f,d){if(f||a)mxSettings.setResizeImages(f?d:null),mxSettings.save();c();b(d)};null==f||a?this.showDialog((new ConfirmDialog(this,mxResources.get("resizeLargeImages"),function(b){d(b,!0)},function(b){d(b,!1)},mxResources.get("resize"),mxResources.get("actualSize"),'<img style="margin-top:8px;" src="'+Editor.loResImage+'"/>','<img style="margin-top:8px;" src="'+Editor.hiResImage+'"/>',isLocalStorage||mxClient.IS_CHROMEAPP)).container,
340,isLocalStorage||mxClient.IS_CHROMEAPP?220:200,!0,!0):d(!1,f)};EditorUi.prototype.parseFile=function(b,a,c){c=null!=c?c:b.name;var f=new FormData;f.append("format","xml");f.append("upfile",b,c);var d=new XMLHttpRequest;d.open("POST",OPEN_URL);d.onreadystatechange=function(){a(d)};d.send(f)};EditorUi.prototype.isResampleImage=function(b,a){a=null!=a?a:this.resampleThreshold;return b.length>a};EditorUi.prototype.resizeImage=function(b,a,c,d,e,g){e=null!=e?e:this.maxImageSize;var f=Math.max(1,b.width),
h=Math.max(1,b.height);if(d&&this.isResampleImage(a,g))try{var k=Math.max(f/e,h/e);if(1<k){var m=Math.round(f/k),l=Math.round(h/k),p=document.createElement("canvas");p.width=m;p.height=l;p.getContext("2d").drawImage(b,0,0,m,l);var q=p.toDataURL();if(q.length<a.length){var u=document.createElement("canvas");u.width=m;u.height=l;var n=u.toDataURL();q!==n&&(a=q,f=m,h=l)}}}catch(E){}c(a,f,h)};EditorUi.prototype.crcTable=[];for(var d=0;256>d;d++)for(var c=d,g=0;8>g;g++)c=1==(c&1)?3988292384^c>>>1:c>>>
g.type,a+f*q,c+f*q,240,160,g.name,function(a){t(f,function(){return a})})});/(\.v(dx|sdx?))($|\?)/i.test(g.name)||/(\.vs(x|sx?))($|\?)/i.test(g.name)?e(null,g.type,a+f*q,c+f*q,240,160,g.name,function(a){t(f,function(){return a})},g):"image"==g.type.substring(0,5)?l.readAsDataURL(g):l.readAsText(g)})(A)});q?this.confirmImageResize(function(a){h=a;x()},p):x()};EditorUi.prototype.confirmImageResize=function(a,c){c=null!=c?c:!1;var b=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){},
f=isLocalStorage||mxClient.IS_CHROMEAPP?mxSettings.getResizeImages():null,d=function(f,d){if(f||c)mxSettings.setResizeImages(f?d:null),mxSettings.save();b();a(d)};null==f||c?this.showDialog((new ConfirmDialog(this,mxResources.get("resizeLargeImages"),function(a){d(a,!0)},function(a){d(a,!1)},mxResources.get("resize"),mxResources.get("actualSize"),'<img style="margin-top:8px;" src="'+Editor.loResImage+'"/>','<img style="margin-top:8px;" src="'+Editor.hiResImage+'"/>',isLocalStorage||mxClient.IS_CHROMEAPP)).container,
340,isLocalStorage||mxClient.IS_CHROMEAPP?220:200,!0,!0):d(!1,f)};EditorUi.prototype.parseFile=function(a,c,d){d=null!=d?d:a.name;var b=new FormData;b.append("format","xml");b.append("upfile",a,d);var f=new XMLHttpRequest;f.open("POST",OPEN_URL);f.onreadystatechange=function(){c(f)};f.send(b)};EditorUi.prototype.isResampleImage=function(a,c){c=null!=c?c:this.resampleThreshold;return a.length>c};EditorUi.prototype.resizeImage=function(a,c,d,e,g,k){g=null!=g?g:this.maxImageSize;var b=Math.max(1,a.width),
f=Math.max(1,a.height);if(e&&this.isResampleImage(c,k))try{var h=Math.max(b/g,f/g);if(1<h){var m=Math.round(b/h),l=Math.round(f/h),p=document.createElement("canvas");p.width=m;p.height=l;p.getContext("2d").drawImage(a,0,0,m,l);var q=p.toDataURL();if(q.length<c.length){var u=document.createElement("canvas");u.width=m;u.height=l;var n=u.toDataURL();q!==n&&(c=q,b=m,f=l)}}}catch(E){}d(c,b,f)};EditorUi.prototype.crcTable=[];for(var d=0;256>d;d++)for(var c=d,g=0;8>g;g++)c=1==(c&1)?3988292384^c>>>1:c>>>
1,EditorUi.prototype.crcTable[d]=c;EditorUi.prototype.updateCRC=function(a,c,d,e){for(var b=0;b<e;b++)a=EditorUi.prototype.crcTable[(a^c[d+b])&255]^a>>>8;return a};EditorUi.prototype.crc32=function(a){this.crcTable=this.crcTable||this.createCrcTable();for(var b=-1,c=0;c<a.length;c++)b=b>>>8^this.crcTable[(b^a.charCodeAt(c))&255];return(b^-1)>>>0};EditorUi.prototype.writeGraphModelToPng=function(a,c,d,e,g){function b(a,b){var c=k;k+=b;return a.substring(c,k)}function f(a){a=b(a,4);return a.charCodeAt(3)+
(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}function h(a){return String.fromCharCode(a>>24&255,a>>16&255,a>>8&255,a&255)}a=a.substring(a.indexOf(",")+1);a=window.atob?atob(a):Base64.decode(a,!0);var k=0;if(b(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=g&&g();else if(b(a,4),"IHDR"!=b(a,4))null!=g&&g();else{b(a,17);g=a.substring(0,k);do{var m=f(a);if("IDAT"==b(a,4)){g=a.substring(0,k-8);d=d+String.fromCharCode(0)+("zTXt"==c?String.fromCharCode(0):
"")+e;e=4294967295;e=this.updateCRC(e,c,0,4);e=this.updateCRC(e,d,0,d.length);g+=h(d.length)+c+d+h(e^4294967295);g+=a.substring(k-8,a.length);break}g+=a.substring(k-8,k-4+m);b(a,m);b(a,4)}while(m);return"data:image/png;base64,"+(window.btoa?btoa(g):Base64.encode(g,!0))}};EditorUi.prototype.extractGraphModelFromPng=function(a){var b=null;try{var c=a.substring(a.indexOf(",")+1),d=window.atob&&!mxClient.IS_SF?atob(c):Base64.decode(c,!0);EditorUi.parsePng(d,mxUtils.bind(this,function(a,c,f){a=d.substring(a+
@ -8019,8 +8019,8 @@ App.prototype.updateButtonContainer=function(){if(null!=this.buttonContainer){va
this.shareButton=null)}};
App.prototype.save=function(a,e){var d=this.getCurrentFile(),c=mxResources.get("saving");null!=d&&d.constructor==DriveFile&&(c=mxResources.get("createRevision"));if(null!=d&&this.spinner.spin(document.body,c)){this.editor.setStatus("");this.editor.graph.isEditing()&&this.editor.graph.stopEditing();var c=mxUtils.bind(this,function(a){this.spinner.stop();this.getCurrentFile()==d&&(d.isModified()?d.isAutosave()||d.addUnsavedStatus():this.editor.setStatus(mxUtils.htmlEntities(mxResources.get("allChangesSaved"))));null!=
e&&e()}),g=mxUtils.bind(this,function(a){this.handleError(a,null!=a?mxResources.get("errorSavingFile"):null)});a==d.getTitle()?d.save(!0,c,g):d.saveAs(a,c,g)}};
App.prototype.pickFolder=function(a,e,d){d=null!=d?d:!0;var c=this.spinner.pause();d&&a==App.MODE_GOOGLE&&null!=this.drive?this.drive.pickFolder(mxUtils.bind(this,function(a){c();if(a.action==google.picker.Action.PICKED){var d=null;null!=a.docs&&0<a.docs.length&&"folder"==a.docs[0].type&&(d=a.docs[0].id);e(d)}})):d&&a==App.MODE_ONEDRIVE&&null!=this.oneDrive?this.oneDrive.pickFolder(mxUtils.bind(this,function(a){c();null!=a&&null!=a.value&&0<a.value.length&&(a=a.value[0].id,e(a))})):d&&a==App.MODE_GITHUB&&
null!=this.gitHub?this.gitHub.pickFolder(mxUtils.bind(this,function(a){c();e(a)})):d&&a==App.MODE_TRELLO&&null!=this.trello?this.trello.pickFolder(mxUtils.bind(this,function(a){c();e(a)})):EditorUi.prototype.pickFolder.apply(this,arguments)};
App.prototype.pickFolder=function(a,e,d){d=null!=d?d:!0;var c=this.spinner.pause();d&&a==App.MODE_GOOGLE&&null!=this.drive?this.drive.pickFolder(mxUtils.bind(this,function(a){c();if(a.action==google.picker.Action.PICKED){var d=null;null!=a.docs&&0<a.docs.length&&"folder"==a.docs[0].type&&(d=a.docs[0].id);e(d)}})):d&&a==App.MODE_ONEDRIVE&&null!=this.oneDrive?this.oneDrive.pickFolder(mxUtils.bind(this,function(a){c();null!=a&&null!=a.value&&0<a.value.length&&(a=OneDriveFile.prototype.getIdOf(a.value[0]),
e(a))})):d&&a==App.MODE_GITHUB&&null!=this.gitHub?this.gitHub.pickFolder(mxUtils.bind(this,function(a){c();e(a)})):d&&a==App.MODE_TRELLO&&null!=this.trello?this.trello.pickFolder(mxUtils.bind(this,function(a){c();e(a)})):EditorUi.prototype.pickFolder.apply(this,arguments)};
App.prototype.exportFile=function(a,e,d,c,g,k){g==App.MODE_DROPBOX?null!=this.dropbox&&this.spinner.spin(document.body,mxResources.get("saving"))&&this.dropbox.insertFile(e,c?this.base64ToBlob(a,d):a,mxUtils.bind(this,function(){this.spinner.stop()}),mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)})):g==App.MODE_GOOGLE?null!=this.drive&&this.spinner.spin(document.body,mxResources.get("saving"))&&this.drive.insertFile(e,a,k,mxUtils.bind(this,function(a){this.spinner.stop()}),
mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}),d,c,!1):g==App.MODE_ONEDRIVE?null!=this.oneDrive&&this.spinner.spin(document.body,mxResources.get("saving"))&&this.oneDrive.insertFile(e,c?this.base64ToBlob(a,d):a,mxUtils.bind(this,function(){this.spinner.stop()}),mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}),!1,k):g==App.MODE_GITHUB?null!=this.gitHub&&this.spinner.spin(document.body,mxResources.get("saving"))&&this.gitHub.insertFile(e,a,mxUtils.bind(this,
function(){this.spinner.stop()}),mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}),!0,k,c):g==App.MODE_TRELLO?null!=this.trello&&this.spinner.spin(document.body,mxResources.get("saving"))&&this.trello.insertFile(e,c?this.base64ToBlob(a,d):a,mxUtils.bind(this,function(){this.spinner.stop()}),mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}),!1,k):g==App.MODE_BROWSER&&(d=mxUtils.bind(this,function(){localStorage.setItem(e,a)}),null==localStorage.getItem(e)?
@ -8209,7 +8209,7 @@ EditorUi.prototype.createTabForPage=function(a,e,d){d=this.createTab(d);var c=a.
EditorUi.prototype.addTabListeners=function(a,e){mxEvent.disableContextMenu(e);var d=this.editor.graph;mxEvent.addListener(e,"dblclick",mxUtils.bind(this,function(c){this.renamePage(a);mxEvent.consume(c)}));var c=!1,g=!1;mxEvent.addGestureListeners(e,mxUtils.bind(this,function(e){c=null!=this.currentMenu;g=a==this.currentPage;d.isMouseDown||g||this.selectPage(a)}),null,mxUtils.bind(this,function(k){if(d.isEnabled()&&!d.isMouseDown&&(mxEvent.isTouchEvent(k)&&g||mxEvent.isPopupTrigger(k))){d.popupMenuHandler.hideMenu();
this.hideCurrentMenu();if(!mxEvent.isTouchEvent(k)||!c){var l=new mxPopupMenu(this.createPageMenu(a));l.div.className+=" geMenubarMenu";l.smartSeparators=!0;l.showDisabled=!0;l.autoExpand=!0;l.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(l,arguments);this.resetCurrentMenu();l.destroy()});var p=mxEvent.getClientX(k),n=mxEvent.getClientY(k);l.popup(p,n,null,k);this.setCurrentMenu(l,e)}mxEvent.consume(k)}}))};
EditorUi.prototype.createPageMenu=function(a,e){return mxUtils.bind(this,function(d,c){d.addItem(mxResources.get("insert"),null,mxUtils.bind(this,function(){this.insertPage(null,mxUtils.indexOf(this.pages,a)+1)}),c);d.addItem(mxResources.get("delete"),null,mxUtils.bind(this,function(){this.removePage(a)}),c);d.addItem(mxResources.get("rename"),null,mxUtils.bind(this,function(){this.renamePage(a,e)}),c);d.addSeparator(c);d.addItem(mxResources.get("duplicate"),null,mxUtils.bind(this,function(){this.duplicatePage(a,
mxResources.get("copyOf",[a.getName()]))}),c)})};(function(){var a=EditorUi.prototype.refresh;EditorUi.prototype.refresh=function(e){a.apply(this,arguments);this.updateTabContainer()}})();(function(){mxCodecRegistry.getCodec(ChangePageSetup).exclude.push("page")})();(function(){var a=new mxObjectCodec(new MovePage,["ui"]);a.beforeDecode=function(a,d,c){c.ui=a.ui;return d};mxCodecRegistry.register(a)})();
mxResources.get("copyOf",[a.getName()]))}),c)})};(function(){var a=EditorUi.prototype.refresh;EditorUi.prototype.refresh=function(e){a.apply(this,arguments);this.updateTabContainer()}})();(function(){mxCodecRegistry.getCodec(ChangePageSetup).exclude.push("page")})();(function(){var a=new mxObjectCodec(new MovePage,["ui"]);a.beforeDecode=function(a,d,c){c.ui=a.ui;return d};a.afterDecode=function(a,d,c){a=c.oldIndex;c.oldIndex=c.newIndex;c.newIndex=a;return c};mxCodecRegistry.register(a)})();
(function(){var a=new mxObjectCodec(new RenamePage,["ui","page"]);a.beforeDecode=function(a,d,c){c.ui=a.ui;return d};a.afterDecode=function(a,d,c){a=c.previous;c.previous=c.name;c.name=a;return c};mxCodecRegistry.register(a)})();
(function(){var a=new mxObjectCodec(new ChangePage,"ui relatedPage index neverShown page previousPage".split(" ")),e="defaultParent currentRoot scrollLeft scrollTop scale translate lastPasteXml pasteCounter".split(" ");a.afterEncode=function(a,c,g){g.setAttribute("relatedPage",c.relatedPage.getId());null==c.index&&(g.setAttribute("name",c.relatedPage.getName()),null!=c.relatedPage.viewState&&g.setAttribute("viewState",JSON.stringify(c.relatedPage.viewState,function(a,c){return 0>mxUtils.indexOf(e,
a)?c:void 0})),null!=c.relatedPage.root&&a.encodeCell(c.relatedPage.root,g));return g};a.beforeDecode=function(a,c,e){e.ui=a.ui;e.relatedPage=e.ui.getPageById(c.getAttribute("relatedPage"));if(null==e.relatedPage){var d=c.ownerDocument.createElement("diagram");d.setAttribute("id",c.getAttribute("relatedPage"));d.setAttribute("name",c.getAttribute("name"));e.relatedPage=new DiagramPage(d);d=c.getAttribute("viewState");null!=d&&(e.relatedPage.viewState=JSON.parse(d),c.removeAttribute("viewState"));

View file

@ -4158,7 +4158,7 @@ App.prototype.pickFolder = function(mode, fn, enabled)
if (files != null && files.value != null && files.value.length > 0)
{
folderId = files.value[0].id;
folderId = OneDriveFile.prototype.getIdOf(files.value[0]);
fn(folderId);
}
}));

View file

@ -22,25 +22,22 @@ mxGuide.prototype.move_orig = mxGuide.prototype.move;
mxGuide.prototype.move = function (bounds, delta, gridEnabled)
{
var point = mxGuide.prototype.move_orig.call(this, bounds, delta, gridEnabled);
var guide = this;
var newState = new mxCellState();
var tt = this.getGuideTolerance();
var scale = this.graph.getView().scale;
var isShift = this.isShiftDown;
newState.x = bounds.x + this.graph.snap(delta.x / scale) * scale;
newState.y = bounds.y + this.graph.snap(delta.y / scale) * scale;
newState.width = bounds.width;
newState.height = bounds.height;
var verticalCells = [];
var horizontalCells = [];
var yShift = point.y;
var xShift = point.x;
if (this.states != null && bounds != null && delta != null)
{
var guide = this;
var newState = new mxCellState();
var scale = this.graph.getView().scale;
var tolerance = 5;
newState.x = bounds.x + xShift;
newState.y = bounds.y + yShift;
newState.width = bounds.width;
newState.height = bounds.height;
var verticalCells = [];
var horizontalCells = [];
var selCells = this.graph.getSelectionCells();
//although states are defined as cellState, it has some mxRectangles!
@ -72,7 +69,7 @@ mxGuide.prototype.move = function (bounds, delta, gridEnabled)
else if ((newState.y >= state.y && newState.y <= (state.y + state.height))
|| (state.y >= newState.y && state.y <= (newState.y + newState.height)))
{
horizontalCells.push(state)
horizontalCells.push(state);
}
}
}
@ -81,78 +78,73 @@ mxGuide.prototype.move = function (bounds, delta, gridEnabled)
var eqCy = 0;
var eqCx = 0;
var dy = 0.0;
var fixedDy = 0.0;
var dx = 0.0;
var fixedDx = 0.0;
var shift = 5 * scale;
var vPoints = [];
if (verticalCells.length > 1)
{
if (!isShift)
{
verticalCells.push(newState)
}
verticalCells.push(newState);
verticalCells.sort(function(s1, s2)
{
return s1.y - s2.y;
});
var firstX = 0;
for (var i = 0; i < verticalCells.length - 1; i++)
{
var s1 = verticalCells[i];
var s2 = verticalCells[i + 1];
var isMovingOne = newState == s1 || newState == s2;
if (firstX == 0) firstX = s1.x + s1.width;
var curDy = s2.y - s1.y - s1.height;
vPoints.push(new mxPoint(firstX, s1.y + s1.height + shift));
vPoints.push(new mxPoint(firstX, s2.y - shift));
if (!isMovingOne)
{
fixedDy = curDy;
}
if (dy == 0.0)
if (eqCy == 0)
{
dy = s1.y + s1.height - s2.y;
dy = curDy;
eqCy = 1;
}
else if (Math.abs(dy - (s1.y + s1.height - s2.y)) < tt)
else if (Math.abs(dy - curDy) <= (isMovingOne? tolerance : 0))
{
eqCy += 1;
}
}
}
var hPoints = [];
if (horizontalCells.length > 1)
{
if (!isShift)
{
horizontalCells.push(newState)
}
horizontalCells.push(newState)
horizontalCells.sort(function(s1, s2)
{
return s1.x - s2.x;
});
var firstY = 0;
for (var i = 0; i < horizontalCells.length - 1; i++)
{
var s1 = horizontalCells[i];
var s2 = horizontalCells[i + 1];
var isMovingOne = newState == s1 || newState == s2;
if (firstY == 0) firstY = s1.y + s1.height;
hPoints.push(new mxPoint(s1.x + s1.width + shift, firstY));
hPoints.push(new mxPoint(s2.x - shift, firstY));
var curDx = s2.x - s1.x - s1.width;
if (dx == 0.0)
if (!isMovingOne)
{
fixedDx = curDx;
}
if (eqCx == 0)
{
dx = s1.x + s1.width - s2.x;
dx = curDx;
eqCx = 1;
}
else if (Math.abs(dx - (s1.x + s1.width - s2.x)) < tt)
else if (Math.abs(dx - curDx) <= (isMovingOne? tolerance : 0))
{
eqCx += 1;
}
@ -198,54 +190,53 @@ mxGuide.prototype.move = function (bounds, delta, gridEnabled)
}
};
var adjustXShift = function ()
{
var startState = horizontalCells.shift();
var startDx = newState.x - startState.x;
var endState = horizontalCells.pop();
var endDx = newState.x - endState.x;
if (Math.sign(startDx) == Math.sign(endDx))
{
if (Math.sign(startDx) < 0)
{
var newX = startState.x - Math.abs(dx) - bounds.width;
xShift = newX - bounds.x;
}
else
{
var newX = endState.x + endState.width + Math.abs(dx);
xShift = newX - bounds.x;
}
}
}
var adjustYShift = function()
{
var startState = verticalCells.shift();
var startDy = newState.y - startState.y;
var endState = verticalCells.pop();
var endDy = newState.y - endState.y;
if (Math.sign(startDy) == Math.sign(endDy))
{
if (startDy.signum < 0)
{
var newY = startState.y - Math.abs(dy) - bounds.height;
yShift = newY - bounds.y;
}
else
{
var newY = endState.y + endState.height + Math.abs(dy);
yShift = newY - bounds.y;
}
}
};
if (eqCx > 1 && eqCx == horizontalCells.length - 1)
{
var guidesArr = [];
var curArr = guide.guidesArrHor;
var hPoints = [];
var newX = 0;
//If the newState (moving cell) is the first one, use the next one for x coordinate such that the guide doesn't move with the cell
var firstI = horizontalCells[0] == newState? 1 : 0;
var firstY = horizontalCells[firstI].y + horizontalCells[firstI].height;
if (fixedDx > 0)
{
for (var i = 0; i < horizontalCells.length - 1; i++)
{
var s1 = horizontalCells[i];
var s2 = horizontalCells[i + 1];
if (newState == s1)
{
newX = s2.x - s1.width - fixedDx;
hPoints.push(new mxPoint(newX + s1.width + shift, firstY));
hPoints.push(new mxPoint(s2.x - shift, firstY));
}
else if (newState == s2)
{
hPoints.push(new mxPoint(s1.x + s1.width + shift, firstY));
newX = s1.x + s1.width + fixedDx;
hPoints.push(new mxPoint(newX - shift, firstY));
}
else
{
hPoints.push(new mxPoint(s1.x + s1.width + shift, firstY));
hPoints.push(new mxPoint(s2.x - shift, firstY));
}
}
}
else //this is the case when there are 3 cells and the middle one is moving
{
var s1 = horizontalCells[0];
var s3 = horizontalCells[2];
newX = s1.x + s1.width + (s3.x - s1.x - s1.width - newState.width) / 2;
hPoints.push(new mxPoint(s1.x + s1.width + shift, firstY));
hPoints.push(new mxPoint(newX - shift, firstY));
hPoints.push(new mxPoint(newX + newState.width + shift, firstY));
hPoints.push(new mxPoint(s3.x - shift, firstY));
}
for (var i = 0; i < hPoints.length; i += 2)
{
@ -258,35 +249,7 @@ mxGuide.prototype.move = function (bounds, delta, gridEnabled)
}
guide.guidesArrHor = guidesArr;
if (isShift)
{
adjustXShift();
}
}
else if (isShift && horizontalCells.length == 2)
{
adjustXShift();
}
else if (isShift && horizontalCells.length > 0)
{ //center align
var minX = Number.MAX_VALUE;
var closestCell = horizontalCells[0];
for (var i = 0; i < horizontalCells.length; i++)
{
var cell = horizontalCells[i];
var dx = Math.abs(cell.x - newState.x);
if (dx < minX)
{
minX = dx;
closestCell = cell;
}
}
var cy = closestCell.getCenterY();
var newY = cy - bounds.height/2;
yShift = newY - bounds.y;
xShift = newX - bounds.x;
}
else if (guide.guidesArrHor != null)
{
@ -300,7 +263,50 @@ mxGuide.prototype.move = function (bounds, delta, gridEnabled)
{
var guidesArr = [];
var curArr = guide.guidesArrVer;
var vPoints = [];
var newY = 0;
//If the newState (moving cell) is the first one, use the next one for x coordinate such that the guide doesn't move with the cell
var firstI = verticalCells[0] == newState? 1 : 0;
var firstX = verticalCells[firstI].x + verticalCells[firstI].width;
if (fixedDy > 0)
{
for (var i = 0; i < verticalCells.length - 1; i++)
{
var s1 = verticalCells[i];
var s2 = verticalCells[i + 1];
if (newState == s1)
{
newY = s2.y - s1.height - fixedDy;
vPoints.push(new mxPoint(firstX, newY + s1.height + shift));
vPoints.push(new mxPoint(firstX, s2.y - shift));
}
else if (newState == s2)
{
vPoints.push(new mxPoint(firstX, s1.y + s1.height + shift));
newY = s1.y + s1.height + fixedDy;
vPoints.push(new mxPoint(firstX, newY - shift));
}
else
{
vPoints.push(new mxPoint(firstX, s1.y + s1.height + shift));
vPoints.push(new mxPoint(firstX, s2.y - shift));
}
}
}
else //this is the case when there are 3 cells and the middle one is moving
{
var s1 = verticalCells[0];
var s3 = verticalCells[2];
newY = s1.y + s1.height + (s3.y - s1.y - s1.height - newState.height) / 2;
vPoints.push(new mxPoint(firstX, s1.y + s1.height + shift));
vPoints.push(new mxPoint(firstX, newY - shift));
vPoints.push(new mxPoint(firstX, newY + newState.height + shift));
vPoints.push(new mxPoint(firstX, s3.y - shift));
}
for (i = 0; i < vPoints.length; i += 2)
{
var p1 = vPoints[i];
@ -313,36 +319,8 @@ mxGuide.prototype.move = function (bounds, delta, gridEnabled)
guide.guidesArrVer = guidesArr;
if (isShift)
{
adjustYShift();
}
yShift = newY - bounds.y;
}
else if (isShift && verticalCells.length == 2)
{
adjustYShift();
}
else if (isShift && verticalCells.length > 0)
{ //center align
var minY = Number.MAX_VALUE;
var closestCell = verticalCells[0];
for (var i = 0; i < verticalCells.length; i++)
{
var cell = verticalCells[i];
var dy = Math.abs(cell.y - newState.y);
if (dy < minY)
{
minY = dy;
closestCell = cell;
}
}
var cx = closestCell.getCenterX();
var newX = cx - bounds.width/2;
xShift = newX - bounds.x;
}
else if (guide.guidesArrVer != null)
{
for (var i = 0; i < guide.guidesArrVer.length; i++)
@ -405,10 +383,3 @@ mxGuide.prototype.destroy = function()
this.guidesArrHor = null;
}
};
mxGuide.prototype.isEnabledForEvent_orig = mxGuide.prototype.isEnabledForEvent;
mxGuide.prototype.isEnabledForEvent = function (evt)
{
this.isShiftDown = mxEvent.isShiftDown(evt);
return mxGuide.prototype.isEnabledForEvent_orig.call(this, evt);
};

View file

@ -297,6 +297,36 @@ OneDriveClient.prototype.executeRequest = function(url, success, error)
}
};
OneDriveClient.prototype.getItemRef = function(id)
{
var idParts = id.split('/');
if (idParts.length > 1)
{
return {driveId: idParts[0], id: idParts[1]};
}
else
{
return {id: id};
}
};
OneDriveClient.prototype.getItemURL = function(id, relative)
{
var idParts = id.split('/');
if (idParts.length > 1)
{
var driveId = idParts[0];
var itemId = idParts[1];
return (relative? '' : this.baseUrl) + '/drives/' + driveId + '/items/' + itemId;
}
else
{
return (relative? '' : this.baseUrl) + '/me/drive/items/' + id;
}
};
/**
* Checks if the client is authorized and calls the next step.
*/
@ -312,7 +342,7 @@ OneDriveClient.prototype.getFile = function(id, success, error, denyConvert, asL
{
asLibrary = (asLibrary != null) ? asLibrary : false;
this.executeRequest(this.baseUrl + '/me/drive/items/' + id, mxUtils.bind(this, function(req)
this.executeRequest(this.getItemURL(id), mxUtils.bind(this, function(req)
{
if (req.getStatus() >= 200 && req.getStatus() <= 299)
{
@ -404,12 +434,11 @@ OneDriveClient.prototype.renameFile = function(file, filename, success, error)
if (file != null && filename != null)
{
// TODO: How to force overwrite file with same name?
this.checkExists(file.meta.parentReference.id, filename, false, mxUtils.bind(this, function(checked)
this.checkExists(file.getParentId(), filename, false, mxUtils.bind(this, function(checked)
{
if (checked)
{
var url = this.baseUrl + '/me/drive/items/' + file.meta.id;
this.writeFile(url, JSON.stringify({name: filename}), 'PATCH', 'application/json', success, error);
this.writeFile(this.getItemURL(file.getId()), JSON.stringify({name: filename}), 'PATCH', 'application/json', success, error);
}
else
{
@ -427,8 +456,18 @@ OneDriveClient.prototype.renameFile = function(file, filename, success, error)
*/
OneDriveClient.prototype.moveFile = function(id, folderId, success, error)
{
var url = this.baseUrl + '/me/drive/items/' + id;
this.writeFile(url, JSON.stringify({parentReference: {id: folderId}}), 'PATCH', 'application/json', success, error);
//check that the source and destination are on the same drive
var folderInfo = this.getItemRef(folderId);
var fileInfo = this.getItemRef(id);
if (folderInfo.driveId != fileInfo.driveId)
{
error({message: mxResources.get('cannotMoveOneDrive', null, 'Moving a file between accounts is not supported yet.')});
}
else
{
this.writeFile(this.getItemURL(id), JSON.stringify({parentReference: folderInfo}), 'PATCH', 'application/json', success, error);
}
};
/**
@ -456,7 +495,13 @@ OneDriveClient.prototype.insertFile = function(filename, data, success, error, a
{
if (checked)
{
var folder = (folderId != null) ? '/me/drive/items/' + folderId : '/me/drive/root';
var folder = '/me/drive/root';
if (folderId != null)
{
folder = this.getItemURL(folderId, true);
}
var url = this.baseUrl + folder + '/children/' + filename + '/content';
this.writeFile(url, data, 'PUT', null, mxUtils.bind(this, function(meta)
@ -486,7 +531,12 @@ OneDriveClient.prototype.insertFile = function(filename, data, success, error, a
*/
OneDriveClient.prototype.checkExists = function(parentId, filename, askReplace, fn)
{
var folder = (parentId != null) ? '/me/drive/items/' + parentId : '/me/drive/root';
var folder = '/me/drive/root';
if (parentId != null)
{
folder = this.getItemURL(parentId, true);
}
this.executeRequest(this.baseUrl + folder + '/children/' + filename, mxUtils.bind(this, function(req)
{
@ -534,7 +584,7 @@ OneDriveClient.prototype.saveFile = function(file, success, error)
{
var fn = mxUtils.bind(this, function(data)
{
var url = this.baseUrl + '/me/drive/items/' + file.meta.id + '/content/';
var url = this.getItemURL(file.getId()) + '/content/';
this.writeFile(url, data, 'PUT', null, success, error);
});
@ -578,6 +628,9 @@ OneDriveClient.prototype.writeFile = function(url, data, method, contentType, su
// Space deletes content type header. Specification says "text/plain"
// should work but returns an 415 Unsupported Media Type error
request.setRequestHeader('Content-Type', contentType || ' ');
//TODO This header is needed for moving a file between two different drives.
// Note: the response is empty when this header is used, also the server may take some time to really execute the request (i.e. async)
//request.setRequestHeader('Prefer', 'respond-async');
request.setRequestHeader('Authorization', 'Bearer ' + this.token);
});
@ -707,7 +760,8 @@ OneDriveClient.prototype.pickFolder = function(fn)
openInNewWindow: true,
advanced:
{
'redirectUri': this.redirectUri
'redirectUri': this.redirectUri,
'queryParameters': 'select=id,name,parentReference'
},
success: mxUtils.bind(this, function(files)
{
@ -743,7 +797,8 @@ OneDriveClient.prototype.pickFile = function(fn)
multiSelect: false,
advanced:
{
'redirectUri': this.redirectUri
'redirectUri': this.redirectUri,
'queryParameters': 'select=id,name,parentReference' //We can also get @microsoft.graph.downloadUrl within this request but it will break the normal process
},
success: mxUtils.bind(this, function(files)
{
@ -751,7 +806,7 @@ OneDriveClient.prototype.pickFile = function(fn)
{
// KNOWN: Token should be per I/O operation
this.token = files.accessToken;
fn(files.value[0].id, files);
fn(OneDriveFile.prototype.getIdOf(files.value[0]), files);
}
}),
cancel: function()

View file

@ -12,6 +12,22 @@ OneDriveFile = function(ui, data, meta)
//Extends mxEventSource
mxUtils.extend(OneDriveFile, DrawioFile);
OneDriveFile.prototype.getIdOf = function(itemObj, parent)
{
//TODO driveId is most probably always there. No need to check if it exists. Also, after some time, the code that check the old id format won't be needed
return (itemObj.parentReference.driveId? itemObj.parentReference.driveId + '/' : '') + (parent? itemObj.parentReference.id : itemObj.id);
};
OneDriveFile.prototype.getId = function()
{
return this.getIdOf(this.meta);
};
OneDriveFile.prototype.getParentId = function()
{
return this.getIdOf(this.meta, true);
};
/**
* Translates this point by the given vector.
*
@ -20,7 +36,7 @@ mxUtils.extend(OneDriveFile, DrawioFile);
*/
OneDriveFile.prototype.getHash = function()
{
return 'W' + encodeURIComponent(this.meta.id);
return 'W' + encodeURIComponent(this.getId());
};
/**
@ -241,7 +257,7 @@ OneDriveFile.prototype.rename = function(title, success, error)
*/
OneDriveFile.prototype.move = function(folderId, success, error)
{
this.ui.oneDrive.moveFile(this.meta.id, folderId, mxUtils.bind(this, function(meta)
this.ui.oneDrive.moveFile(this.getId(), folderId, mxUtils.bind(this, function(meta)
{
this.meta = meta;
this.descriptorChanged();

View file

@ -1381,6 +1381,15 @@ EditorUi.prototype.createPageMenu = function(page, label)
return node;
};
codec.afterDecode = function(dec, node, obj)
{
var tmp = obj.oldIndex;
obj.oldIndex = obj.newIndex;
obj.newIndex = tmp;
return obj;
};
mxCodecRegistry.register(codec);
})();

View file

@ -12,6 +12,7 @@
this.addPaletteFunctions('basic', mxResources.get('basic'), false,
[
this.createVertexTemplateEntry(s2 + 'rect;fillColor=#ffffff;fillColor2=none;strokeColor=#000000;strokeWidth=1;size=20;indent=5;', 120, 60, '', 'Partial Rectangle'),
this.createVertexTemplateEntry('shape=partialRectangle;whiteSpace=wrap;html=1;top=0;bottom=0;fillColor=none;', 120, 60, '', 'Partial Rectangle'),
this.createVertexTemplateEntry('shape=partialRectangle;whiteSpace=wrap;html=1;right=0;top=0;bottom=0;fillColor=none;routingCenterX=-0.5;', 120, 60, '', 'Partial Rectangle'),
this.createVertexTemplateEntry('shape=partialRectangle;whiteSpace=wrap;html=1;bottom=0;right=0;fillColor=none;', 120, 60, '', 'Partial Rectangle'),

View file

@ -184,7 +184,7 @@ f)+"\n"+t+"}":"{"+z.join(",")+"}";f=t;return l}}"function"!==typeof Date.prototy
e=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,f,g,h={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},k;"function"!==typeof JSON.stringify&&(JSON.stringify=function(a,b,d){var e;g=f="";if("number"===typeof d)for(e=0;e<d;e+=1)g+=" ";else"string"===typeof d&&(g=d);if((k=b)&&"function"!==typeof b&&("object"!==typeof b||"number"!==typeof b.length))throw Error("JSON.stringify");return c("",{"":a})});
"function"!==typeof JSON.parse&&(JSON.parse=function(a,b){function c(a,d){var e,f,g=a[d];if(g&&"object"===typeof g)for(e in g)Object.prototype.hasOwnProperty.call(g,e)&&(f=c(g,e),void 0!==f?g[e]=f:delete g[e]);return b.call(a,d,g)}var e;a=""+a;d.lastIndex=0;d.test(a)&&(a=a.replace(d,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return e=eval("("+a+")"),"function"===typeof b?c({"":e},""):e;throw new SyntaxError("JSON.parse");})})();"undefined"===typeof window.mxBasePath&&(window.mxBasePath="https://www.draw.io/mxgraph/");window.mxLoadStylesheets=window.mxLoadStylesheets||!1;window.mxLoadResources=window.mxLoadResources||!1;window.mxLanguage=window.mxLanguage||"en";window.urlParams=window.urlParams||{};window.MAX_REQUEST_SIZE=window.MAX_REQUEST_SIZE||10485760;window.MAX_AREA=window.MAX_AREA||225E6;window.EXPORT_URL=window.EXPORT_URL||"/export";window.SAVE_URL=window.SAVE_URL||"/save";window.OPEN_URL=window.OPEN_URL||"/open";window.RESOURCES_PATH=window.RESOURCES_PATH||"resources";window.RESOURCE_BASE=window.RESOURCE_BASE||window.RESOURCES_PATH+"/grapheditor";window.STENCIL_PATH=window.STENCIL_PATH||"stencils";window.IMAGE_PATH=window.IMAGE_PATH||"images";
window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"9.2.7",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&
window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"9.2.9",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&
0>navigator.userAgent.indexOf("Edge/"),IS_OP:0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/"),IS_OT:0<=navigator.userAgent.indexOf("Presto/")&&0>navigator.userAgent.indexOf("Presto/2.4.")&&0>navigator.userAgent.indexOf("Presto/2.3.")&&0>navigator.userAgent.indexOf("Presto/2.2.")&&0>navigator.userAgent.indexOf("Presto/2.1.")&&0>navigator.userAgent.indexOf("Presto/2.0.")&&0>navigator.userAgent.indexOf("Presto/1."),IS_SF:0<=navigator.userAgent.indexOf("AppleWebKit/")&&
0>navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_IOS:navigator.userAgent.match(/(iPad|iPhone|iPod)/g)?!0:!1,IS_GC:0<=navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:0<=navigator.userAgent.indexOf("Firefox/"),IS_MT:0<=navigator.userAgent.indexOf("Firefox/")&&0>navigator.userAgent.indexOf("Firefox/1.")&&0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&&
0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_SVG:0<=navigator.userAgent.indexOf("Firefox/")||0<=navigator.userAgent.indexOf("Iceweasel/")||0<=navigator.userAgent.indexOf("Seamonkey/")||0<=navigator.userAgent.indexOf("Iceape/")||0<=navigator.userAgent.indexOf("Galeon/")||

View file

@ -184,7 +184,7 @@ f)+"\n"+t+"}":"{"+z.join(",")+"}";f=t;return l}}"function"!==typeof Date.prototy
e=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,f,g,h={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},k;"function"!==typeof JSON.stringify&&(JSON.stringify=function(a,b,d){var e;g=f="";if("number"===typeof d)for(e=0;e<d;e+=1)g+=" ";else"string"===typeof d&&(g=d);if((k=b)&&"function"!==typeof b&&("object"!==typeof b||"number"!==typeof b.length))throw Error("JSON.stringify");return c("",{"":a})});
"function"!==typeof JSON.parse&&(JSON.parse=function(a,b){function c(a,d){var e,f,g=a[d];if(g&&"object"===typeof g)for(e in g)Object.prototype.hasOwnProperty.call(g,e)&&(f=c(g,e),void 0!==f?g[e]=f:delete g[e]);return b.call(a,d,g)}var e;a=""+a;d.lastIndex=0;d.test(a)&&(a=a.replace(d,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return e=eval("("+a+")"),"function"===typeof b?c({"":e},""):e;throw new SyntaxError("JSON.parse");})})();"undefined"===typeof window.mxBasePath&&(window.mxBasePath="https://www.draw.io/mxgraph/");window.mxLoadStylesheets=window.mxLoadStylesheets||!1;window.mxLoadResources=window.mxLoadResources||!1;window.mxLanguage=window.mxLanguage||"en";window.urlParams=window.urlParams||{};window.MAX_REQUEST_SIZE=window.MAX_REQUEST_SIZE||10485760;window.MAX_AREA=window.MAX_AREA||225E6;window.EXPORT_URL=window.EXPORT_URL||"/export";window.SAVE_URL=window.SAVE_URL||"/save";window.OPEN_URL=window.OPEN_URL||"/open";window.RESOURCES_PATH=window.RESOURCES_PATH||"resources";window.RESOURCE_BASE=window.RESOURCE_BASE||window.RESOURCES_PATH+"/grapheditor";window.STENCIL_PATH=window.STENCIL_PATH||"stencils";window.IMAGE_PATH=window.IMAGE_PATH||"images";
window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"9.2.7",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&
window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"9.2.9",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&
0>navigator.userAgent.indexOf("Edge/"),IS_OP:0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/"),IS_OT:0<=navigator.userAgent.indexOf("Presto/")&&0>navigator.userAgent.indexOf("Presto/2.4.")&&0>navigator.userAgent.indexOf("Presto/2.3.")&&0>navigator.userAgent.indexOf("Presto/2.2.")&&0>navigator.userAgent.indexOf("Presto/2.1.")&&0>navigator.userAgent.indexOf("Presto/2.0.")&&0>navigator.userAgent.indexOf("Presto/1."),IS_SF:0<=navigator.userAgent.indexOf("AppleWebKit/")&&
0>navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_IOS:navigator.userAgent.match(/(iPad|iPhone|iPod)/g)?!0:!1,IS_GC:0<=navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:0<=navigator.userAgent.indexOf("Firefox/"),IS_MT:0<=navigator.userAgent.indexOf("Firefox/")&&0>navigator.userAgent.indexOf("Firefox/1.")&&0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&&
0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_SVG:0<=navigator.userAgent.indexOf("Firefox/")||0<=navigator.userAgent.indexOf("Iceweasel/")||0<=navigator.userAgent.indexOf("Seamonkey/")||0<=navigator.userAgent.indexOf("Iceape/")||0<=navigator.userAgent.indexOf("Galeon/")||

View file

@ -8,10 +8,10 @@ mxBpmnShape.prototype.paintVertexShape=function(a,d,e,b,c){this.redrawPath(a,d,e
mxBpmnShape.prototype.redrawPath=function(a,d,e,b,c,f){var g=mxUtils.getValue(this.style,mxBpmnShape.prototype.miscEnum.BACKGROUND,mxBpmnShape.prototype.eventTypeEnum.NONE);if(f==mxBpmnShape.prototype.miscEnum.BACKGROUND){if(null!=g){var h=this.backgrounds[g];null!=h&&(a.translate(d,e),h.call(this,a,d,e,b,c,f))}}else if(f==mxBpmnShape.prototype.miscEnum.OUTLINE){g===mxBpmnShape.prototype.eventTypeEnum.GATEWAY?(a.translate(b/4,c/4),c/=2,b/=2,this.constraints=[new mxConnectionConstraint(new mxPoint(.5,
0),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(.25,.25),!1),new mxConnectionConstraint(new mxPoint(.25,.75),!1),new mxConnectionConstraint(new mxPoint(.75,.25),!1),new mxConnectionConstraint(new mxPoint(.75,.75),!1)]):this.constraints=[new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(0,
.5),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(.145,.145),!1),new mxConnectionConstraint(new mxPoint(.145,.855),!1),new mxConnectionConstraint(new mxPoint(.855,.145),!1),new mxConnectionConstraint(new mxPoint(.855,.855),!1)];var k=mxUtils.getValue(this.style,mxBpmnShape.prototype.miscEnum.OUTLINE,mxBpmnShape.prototype.eventTypeEnum.NONE);null!=k&&(h=this.outlines[k],null!=h&&h.call(this,a,d,e,b,c,g===mxBpmnShape.prototype.eventTypeEnum.GATEWAY))}else if(f==
mxBpmnShape.prototype.miscEnum.SYMBOL&&(g===mxBpmnShape.prototype.eventTypeEnum.GATEWAY&&(c/=2,b/=2),g=mxUtils.getValue(this.style,mxBpmnShape.prototype.miscEnum.SYMBOL,null),null!=g&&(h=this.symbols[g],null!=h))){var l=a.state.strokeColor,n=a.state.fillColor,k=mxUtils.getValue(this.style,mxBpmnShape.prototype.miscEnum.OUTLINE,mxBpmnShape.prototype.eventTypeEnum.NONE);g===mxBpmnShape.prototype.eventEnum.MESSAGE?(a.translate(.15*b,.3*c),b*=.7,c*=.4):g===mxBpmnShape.prototype.eventEnum.TIMER?(a.translate(.11*
mxBpmnShape.prototype.miscEnum.SYMBOL&&(g===mxBpmnShape.prototype.eventTypeEnum.GATEWAY&&(c/=2,b/=2),g=mxUtils.getValue(this.style,mxBpmnShape.prototype.miscEnum.SYMBOL,null),null!=g&&(h=this.symbols[g],null!=h))){var l=a.state.strokeColor,m=a.state.fillColor,k=mxUtils.getValue(this.style,mxBpmnShape.prototype.miscEnum.OUTLINE,mxBpmnShape.prototype.eventTypeEnum.NONE);g===mxBpmnShape.prototype.eventEnum.MESSAGE?(a.translate(.15*b,.3*c),b*=.7,c*=.4):g===mxBpmnShape.prototype.eventEnum.TIMER?(a.translate(.11*
b,.11*c),b*=.78,c*=.78):g===mxBpmnShape.prototype.eventEnum.ESCALATION?(a.translate(.19*b,.15*c),b*=.62,c*=.57):g===mxBpmnShape.prototype.eventEnum.CONDITIONAL?(a.translate(.3*b,.16*c),b*=.4,c*=.68):g===mxBpmnShape.prototype.eventEnum.LINK?(a.translate(.27*b,.33*c),b*=.46,c*=.34):g===mxBpmnShape.prototype.eventEnum.ERROR?(a.translate(.212*b,.243*c),b*=.58,c*=.507):g===mxBpmnShape.prototype.eventEnum.CANCEL?(a.translate(.22*b,.22*c),b*=.56,c*=.56):g===mxBpmnShape.prototype.eventEnum.COMPENSATION?(a.translate(.28*
b,.35*c),b*=.44,c*=.3):g===mxBpmnShape.prototype.eventEnum.SIGNAL?(a.translate(.19*b,.15*c),b*=.62,c*=.57):g===mxBpmnShape.prototype.eventEnum.MULTIPLE?(a.translate(.2*b,.19*c),b*=.6,c*=.565):g===mxBpmnShape.prototype.eventEnum.PAR_MULTI?(a.translate(.2*b,.2*c),b*=.6,c*=.6):g===mxBpmnShape.prototype.eventEnum.TERMINATE?(a.translate(.05*b,.05*c),b*=.9,c*=.9):g===mxBpmnShape.prototype.eventEnum.GW_EXCLUSIVE&&(a.translate(.12*b,0),b*=.76);isInverse=!1;if("star"===g)a.setFillColor(l);else if(k===mxBpmnShape.prototype.eventTypeEnum.THROWING||
k===mxBpmnShape.prototype.eventTypeEnum.END)a.setStrokeColor(n),a.setFillColor(l),isInverse=!0;h.call(this,a,d,e,b,c,f,isInverse);if("star"===g)a.setFillColor(n);else if(k===mxBpmnShape.prototype.eventTypeEnum.THROWING||k===mxBpmnShape.prototype.eventTypeEnum.END)a.setStrokeColor(l),a.setFillColor(n)}};mxBpmnShape.prototype.backgrounds={none:function(a,d,e,b,c){},gateway:function(a,d,e,b,c){a.begin();a.moveTo(b/2,0);a.lineTo(b,c/2);a.lineTo(b/2,c);a.lineTo(0,c/2);a.close();a.fillAndStroke()}};
k===mxBpmnShape.prototype.eventTypeEnum.END)a.setStrokeColor(m),a.setFillColor(l),isInverse=!0;h.call(this,a,d,e,b,c,f,isInverse);if("star"===g)a.setFillColor(m);else if(k===mxBpmnShape.prototype.eventTypeEnum.THROWING||k===mxBpmnShape.prototype.eventTypeEnum.END)a.setStrokeColor(l),a.setFillColor(m)}};mxBpmnShape.prototype.backgrounds={none:function(a,d,e,b,c){},gateway:function(a,d,e,b,c){a.begin();a.moveTo(b/2,0);a.lineTo(b,c/2);a.lineTo(b/2,c);a.lineTo(0,c/2);a.close();a.fillAndStroke()}};
mxBpmnShape.prototype.outlines={none:function(a,d,e,b,c,f){f||a.setShadow(!1)},standard:function(a,d,e,b,c,f){a.ellipse(0,0,b,c);a.fillAndStroke();f||a.setShadow(!1)},eventInt:function(a,d,e,b,c,f){a.ellipse(0,0,b,c);a.fillAndStroke();f||a.setShadow(!1)},eventNonint:function(a,d,e,b,c,f){d=a.state.dashed;a.setDashed(!0);a.ellipse(0,0,b,c);a.fillAndStroke();a.setDashed(d);f||a.setShadow(!1)},catching:function(a,d,e,b,c,f){a.ellipse(0,0,b,c);a.fillAndStroke();f||a.setShadow(!1);a.ellipse(2,2,b-4,c-
4);a.stroke()},boundInt:function(a,d,e,b,c,f){a.ellipse(0,0,b,c);a.fillAndStroke();f||a.setShadow(!1);a.ellipse(2,2,b-4,c-4);a.stroke()},boundNonint:function(a,d,e,b,c,f){d=a.state.dashed;a.setDashed(!0);a.ellipse(0,0,b,c);a.fillAndStroke();f||a.setShadow(!1);a.ellipse(2,2,b-4,c-4);a.stroke();a.setDashed(d)},throwing:function(a,d,e,b,c,f){a.ellipse(0,0,b,c);a.fillAndStroke();f||a.setShadow(!1);a.ellipse(.02*b+2,.02*c+2,.96*b-4,.96*c-4);a.stroke()},end:function(a,d,e,b,c,f){d=a.state.strokeWidth;a.setStrokeWidth(3*
d);a.ellipse(0,0,b,c);a.fillAndStroke();a.setStrokeWidth(d);f||a.setShadow(!1)}};
@ -31,8 +31,8 @@ mxShapeEREntity.prototype.background=function(a,d,e,b,c,f,g){d=mxUtils.getValue(
mxCellRenderer.registerShape("mxgraph.er.entity",mxShapeEREntity);
mxShapeEREntity.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.25,
1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0)];function mxShapeEREntityExt(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeEREntityExt,mxShape);
mxShapeEREntityExt.prototype.paintVertexShape=function(a,d,e,b,c){var f=mxUtils.getValue(this.style,"buttonText","Entity"),g=mxUtils.getValue(this.style,"subText","+ attribute 1,+ attribute 2,+ attribute 3").toString().split(","),h=mxUtils.getValue(this.style,mxConstants.STYLE_STROKECOLOR,"#666666"),k=mxUtils.getValue(this.style,mxConstants.STYLE_FONTSIZE,"17"),l=mxUtils.getValue(this.style,mxConstants.STYLE_FILLCOLOR,"#008cff"),n=mxUtils.getValue(this.style,"fillColor2","#ffffff"),m=0;a.translate(d,
e);for(var p=1.25*k,q=0;q<g.length;q++){var u=mxUtils.getSizeForString(g[q],k,mxConstants.DEFAULT_FONTFAMILY).width;u>m&&(m=u)}b=Math.max(b,20,m+10);c=Math.max(c,20,(g.length+1)*p);this.background(a,d,e,b,c,10);a.setShadow(!1);this.shapes(a,d,e,b,c,k,l,n,10,p);this.mainText(a,d,e,b,c,f,k,n);this.attrText(a,d,e,b,c,g,k,h,p,10)};
mxShapeEREntityExt.prototype.paintVertexShape=function(a,d,e,b,c){var f=mxUtils.getValue(this.style,"buttonText","Entity"),g=mxUtils.getValue(this.style,"subText","+ attribute 1,+ attribute 2,+ attribute 3").toString().split(","),h=mxUtils.getValue(this.style,mxConstants.STYLE_STROKECOLOR,"#666666"),k=mxUtils.getValue(this.style,mxConstants.STYLE_FONTSIZE,"17"),l=mxUtils.getValue(this.style,mxConstants.STYLE_FILLCOLOR,"#008cff"),m=mxUtils.getValue(this.style,"fillColor2","#ffffff"),n=0;a.translate(d,
e);for(var p=1.25*k,q=0;q<g.length;q++){var r=mxUtils.getSizeForString(g[q],k,mxConstants.DEFAULT_FONTFAMILY).width;r>n&&(n=r)}b=Math.max(b,20,n+10);c=Math.max(c,20,(g.length+1)*p);this.background(a,d,e,b,c,10);a.setShadow(!1);this.shapes(a,d,e,b,c,k,l,m,10,p);this.mainText(a,d,e,b,c,f,k,m);this.attrText(a,d,e,b,c,g,k,h,p,10)};
mxShapeEREntityExt.prototype.background=function(a,d,e,b,c,f){d=mxUtils.getValue(this.style,"buttonStyle","round").toString();a.begin();"round"===d?(a.moveTo(0,f),a.arcTo(f,f,0,0,1,f,0),a.lineTo(b-f,0),a.arcTo(f,f,0,0,1,b,f),a.lineTo(b,c-f),a.arcTo(f,f,0,0,1,b-f,c),a.lineTo(f,c),a.arcTo(f,f,0,0,1,0,c-f)):"rect"===d&&(a.moveTo(0,0),a.lineTo(b,0),a.lineTo(b,c),a.lineTo(0,c));a.close();a.fillAndStroke()};
mxShapeEREntityExt.prototype.mainText=function(a,d,e,b,c,f,g,h){a.begin();a.setFontSize(g);a.setFontColor(h);a.text(.5*b,.5*g,0,0,f,mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0)};
mxShapeEREntityExt.prototype.shapes=function(a,d,e,b,c,f,g,h,k,l){d=mxUtils.getValue(this.style,"buttonStyle","round").toString();"round"===d?(a.begin(),a.moveTo(0,k),a.arcTo(k,k,0,0,1,k,0),a.lineTo(b-k,0),a.arcTo(k,k,0,0,1,b,k),a.lineTo(b,l),a.lineTo(0,l),a.close(),a.fill(),a.setFillColor(h),a.begin(),a.moveTo(b,l),a.lineTo(b,c-k),a.arcTo(k,k,0,0,1,b-k,c),a.lineTo(k,c),a.arcTo(k,k,0,0,1,0,c-k),a.lineTo(0,l),a.close(),a.fill()):"rect"===d&&(a.begin(),a.moveTo(0,0),a.lineTo(b,0),a.lineTo(b,l),a.lineTo(0,
@ -90,11 +90,11 @@ mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.52*b,.5*c,0,0,"One only",mxConsta
c);a.lineTo(.46*b-2*d,.55*c);a.moveTo(.46*b-2.5*d,.45*c);a.lineTo(.46*b-2.5*d,.55*c);a.moveTo(.04*b,.7*c);a.lineTo(.46*b,.7*c);a.moveTo(.46*b,.65*c);a.lineTo(.46*b-2*d,.7*c);a.lineTo(.46*b,.75*c);a.stroke();a.moveTo(.04*b,.9*c);a.lineTo(.46*b,.9*c);a.moveTo(.46*b,.85*c);a.lineTo(.46*b-2*d,.9*c);a.lineTo(.46*b,.95*c);a.moveTo(.46*b-2.5*d,.85*c);a.lineTo(.46*b-2.5*d,.95*c);a.stroke();a.begin();a.ellipse(.46*b-3*d,.3*c-.5*d,d,d);a.fillAndStroke();a.begin();a.ellipse(.46*b-3*d,.7*c-.5*d,d,d);a.fillAndStroke()};
mxCellRenderer.registerShape("mxgraph.er.ie",mxShapeERInfEng);
mxShapeERInfEng.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!0),new mxConnectionConstraint(new mxPoint(1,0),!0),new mxConnectionConstraint(new mxPoint(0,1),!0),new mxConnectionConstraint(new mxPoint(1,1),!0),new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,
.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0)];mxMarker.addMarker("ERone",function(a,d,e,b,c,f,g,h,k,l){var n=c*(g+k+1),m=f*(g+k+1);return function(){a.begin();a.moveTo(b.x-n/2-m/2,b.y-m/2+n/2);a.lineTo(b.x-n/2+m/2,b.y-m/2-n/2);a.stroke()}});
mxMarker.addMarker("ERmandOne",function(a,d,e,b,c,f,g,h,k,l){var n=c*(g+k+1),m=f*(g+k+1);return function(){a.begin();a.moveTo(b.x-n/2-m/2,b.y-m/2+n/2);a.lineTo(b.x-n/2+m/2,b.y-m/2-n/2);a.moveTo(b.x-n-m/2,b.y-m+n/2);a.lineTo(b.x-n+m/2,b.y-m-n/2);a.stroke()}});mxMarker.addMarker("ERmany",function(a,d,e,b,c,f,g,h,k,l){var n=c*(g+k+1),m=f*(g+k+1);return function(){a.begin();a.moveTo(b.x+m/2,b.y-n/2);a.lineTo(b.x-n,b.y-m);a.lineTo(b.x-m/2,b.y+n/2);a.stroke()}});
mxMarker.addMarker("ERoneToMany",function(a,d,e,b,c,f,g,h,k,l){var n=c*(g+k+1),m=f*(g+k+1);return function(){a.begin();a.moveTo(b.x-n-m/2,b.y-m+n/2);a.lineTo(b.x-n+m/2,b.y-m-n/2);a.moveTo(b.x+m/2,b.y-n/2);a.lineTo(b.x-n,b.y-m);a.lineTo(b.x-m/2,b.y+n/2);a.stroke()}});
mxMarker.addMarker("ERzeroToMany",function(a,d,e,b,c,f,g,h,k,l){var n=c*(g+k+1),m=f*(g+k+1),p=g/2;return function(){a.begin();a.ellipse(b.x-1.5*n-p,b.y-1.5*m-p,2*p,2*p);if(l){var c=mxUtils.getValue(d.style,mxConstants.STYLE_STROKECOLOR,"#666666");a.setFillColor("#ffffff");a.fillAndStroke();a.setFillColor(c)}else a.stroke();a.begin();a.moveTo(b.x+m/2,b.y-n/2);a.lineTo(b.x-n,b.y-m);a.lineTo(b.x-m/2,b.y+n/2);a.stroke()}});
mxMarker.addMarker("ERzeroToOne",function(a,d,e,b,c,f,g,h,k,l){var n=c*(g+k+1),m=f*(g+k+1),p=g/2;return function(){a.begin();a.ellipse(b.x-1.5*n-p,b.y-1.5*m-p,2*p,2*p);if(l){var c=mxUtils.getValue(d.style,mxConstants.STYLE_STROKECOLOR,"#666666");a.setFillColor("#ffffff");a.fillAndStroke();a.setFillColor(c)}else a.stroke();a.begin();a.moveTo(b.x-n/2-m/2,b.y-m/2+n/2);a.lineTo(b.x-n/2+m/2,b.y-m/2-n/2);a.stroke()}});
.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0)];mxMarker.addMarker("ERone",function(a,d,e,b,c,f,g,h,k,l){var m=c*(g+k+1),n=f*(g+k+1);return function(){a.begin();a.moveTo(b.x-m/2-n/2,b.y-n/2+m/2);a.lineTo(b.x-m/2+n/2,b.y-n/2-m/2);a.stroke()}});
mxMarker.addMarker("ERmandOne",function(a,d,e,b,c,f,g,h,k,l){var m=c*(g+k+1),n=f*(g+k+1);return function(){a.begin();a.moveTo(b.x-m/2-n/2,b.y-n/2+m/2);a.lineTo(b.x-m/2+n/2,b.y-n/2-m/2);a.moveTo(b.x-m-n/2,b.y-n+m/2);a.lineTo(b.x-m+n/2,b.y-n-m/2);a.stroke()}});mxMarker.addMarker("ERmany",function(a,d,e,b,c,f,g,h,k,l){var m=c*(g+k+1),n=f*(g+k+1);return function(){a.begin();a.moveTo(b.x+n/2,b.y-m/2);a.lineTo(b.x-m,b.y-n);a.lineTo(b.x-n/2,b.y+m/2);a.stroke()}});
mxMarker.addMarker("ERoneToMany",function(a,d,e,b,c,f,g,h,k,l){var m=c*(g+k+1),n=f*(g+k+1);return function(){a.begin();a.moveTo(b.x-m-n/2,b.y-n+m/2);a.lineTo(b.x-m+n/2,b.y-n-m/2);a.moveTo(b.x+n/2,b.y-m/2);a.lineTo(b.x-m,b.y-n);a.lineTo(b.x-n/2,b.y+m/2);a.stroke()}});
mxMarker.addMarker("ERzeroToMany",function(a,d,e,b,c,f,g,h,k,l){var m=c*(g+k+1),n=f*(g+k+1),p=g/2;return function(){a.begin();a.ellipse(b.x-1.5*m-p,b.y-1.5*n-p,2*p,2*p);if(l){var c=mxUtils.getValue(d.style,mxConstants.STYLE_STROKECOLOR,"#666666");a.setFillColor("#ffffff");a.fillAndStroke();a.setFillColor(c)}else a.stroke();a.begin();a.moveTo(b.x+n/2,b.y-m/2);a.lineTo(b.x-m,b.y-n);a.lineTo(b.x-n/2,b.y+m/2);a.stroke()}});
mxMarker.addMarker("ERzeroToOne",function(a,d,e,b,c,f,g,h,k,l){var m=c*(g+k+1),n=f*(g+k+1),p=g/2;return function(){a.begin();a.ellipse(b.x-1.5*m-p,b.y-1.5*n-p,2*p,2*p);if(l){var c=mxUtils.getValue(d.style,mxConstants.STYLE_STROKECOLOR,"#666666");a.setFillColor("#ffffff");a.fillAndStroke();a.setFillColor(c)}else a.stroke();a.begin();a.moveTo(b.x-m/2-n/2,b.y-n/2+m/2);a.lineTo(b.x-m/2+n/2,b.y-n/2-m/2);a.stroke()}});
function mxShapeERRRect(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeERRRect,mxShape);mxShapeERRRect.prototype.cst={RRECT:"mxgraph.er.rrect",R_SIZE:"rSize"};mxShapeERRRect.prototype.customProperties=[{name:"rSize",dispName:"Rounding Size",type:"float"}];
mxShapeERRRect.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=parseInt(mxUtils.getValue(this.style,mxShapeERRRect.prototype.cst.R_SIZE,"10"));a.roundrect(0,0,b,c,d);a.fillAndStroke()};mxCellRenderer.registerShape(mxShapeERRRect.prototype.cst.RRECT,mxShapeERRRect);
mxShapeERRRect.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.25,
@ -119,11 +119,11 @@ Graph.handleFactory[mxIOS7C.SHAPE_IOS7_DOWNLOAD_BAR]=function(a){return[Graph.cr
function mxShapeIOS7Icon(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeIOS7Icon,mxShape);mxShapeIOS7Icon.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.foreground(a,b,c)};
mxShapeIOS7Icon.prototype.foreground=function(a,d,e){a.setGradient("#00D0F0","#0080F0",.325*d,0,.675*d,.5*e,mxConstants.DIRECTION_SOUTH,1,1);a.roundrect(0,0,d,e,.1*d,.1*e);a.fill();var b=mxUtils.getValue(this.style,mxIOS7C.BUTTON_TEXT,"");a.setFontColor("#ffffff");a.setFontStyle(mxConstants.FONT_BOLD);a.setFontSize(8);a.text(.5*d,.5*e,0,0,b,mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0)};mxCellRenderer.registerShape(mxIOS7C.SHAPE_IOS7_ICON,mxShapeIOS7Icon);
function mxShapeIOS7horButtonBar(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeIOS7horButtonBar,mxShape);
mxShapeIOS7horButtonBar.prototype.paintVertexShape=function(a,d,e,b,c){for(var f=mxUtils.getValue(this.style,mxIOS7C.BUTTON_TEXT,"+Button 1, Button 2, Button 3").toString().split(","),g=mxUtils.getValue(this.style,mxIOS7C.STYLE_TEXTCOLOR,"#666666"),h=mxUtils.getValue(this.style,mxIOS7C.STYLE_TEXTCOLOR2,"#ffffff"),k=mxUtils.getValue(this.style,mxConstants.STYLE_FONTSIZE,"8.5").toString(),l=mxUtils.getValue(this.style,mxConstants.STYLE_STROKECOLOR,"#666666"),n=mxUtils.getValue(this.style,mxConstants.STYLE_FILLCOLOR,
"#ffffff"),m=mxUtils.getValue(this.style,mxIOS7C.STYLE_FILLCOLOR2,"#008cff"),p=f.length,q=Array(p),u=0,t=-1,v=0;v<p;v++){var r=f[v];r.charAt(0)===mxIOS7C.SELECTED&&(r=f[v].substring(1),t=v);q[v]=mxUtils.getSizeForString(r,k,mxConstants.DEFAULT_FONTFAMILY).width;u+=q[v]}c=Math.max(c,1.5*k,10);u=5*p+u;b=Math.max(b,u);a.translate(d,e);this.background(a,b,c,2.5,p,q,2.5,u,l,n,m,t);a.setShadow(!1);for(v=d=0;v<p;v++)v===t?a.setFontColor(h):a.setFontColor(g),d+=2.5,this.buttonText(a,d,c,f[v],q[v],k,u,b),
d=d+q[v]+2.5};
mxShapeIOS7horButtonBar.prototype.background=function(a,d,e,b,c,f,g,h,k,l,n,m){a.begin();a.setStrokeColor(k);a.setFillColor(l);a.moveTo(0,b);a.arcTo(b,b,0,0,1,b,0);a.lineTo(d-b,0);a.arcTo(b,b,0,0,1,d,b);a.lineTo(d,e-b);a.arcTo(b,b,0,0,1,d-b,e);a.lineTo(b,e);a.arcTo(b,b,0,0,1,0,e-b);a.close();a.fillAndStroke();a.setStrokeColor(k);a.begin();for(n=1;n<c;n++)if(n!==m&&n!==m+1){for(var p=0,q=0;q<n;q++)p+=f[q]+2*g;p=p*d/h;a.moveTo(p,0);a.lineTo(p,e)}a.stroke();p=0;a.setStrokeColor(mxConstants.NONE);for(n=
0;n<m;n++)p+=f[n]+2*g;p=p*d/h;f=(f[m]+2*g)*d/h;f+=p;a.setFillColor("#0080F0");0===m?(a.begin(),a.moveTo(0,b),a.arcTo(b,b,0,0,1,b,0),a.lineTo(f,0),a.lineTo(f,e),a.lineTo(b,e),a.arcTo(b,b,0,0,1,0,e-b),a.close(),a.fill()):m===c-1?(a.begin(),a.moveTo(p,0),a.lineTo(f-b,0),a.arcTo(b,b,0,0,1,f,b),a.lineTo(f,e-b),a.arcTo(b,b,0,0,1,f-b,e),a.lineTo(p,e),a.close(),a.fill()):-1!==m&&(a.begin(),a.moveTo(p,0),a.lineTo(f,0),a.lineTo(f,e),a.lineTo(p,e),a.close(),a.fill());a.setStrokeColor(k);a.setFillColor(l);a.begin();
mxShapeIOS7horButtonBar.prototype.paintVertexShape=function(a,d,e,b,c){for(var f=mxUtils.getValue(this.style,mxIOS7C.BUTTON_TEXT,"+Button 1, Button 2, Button 3").toString().split(","),g=mxUtils.getValue(this.style,mxIOS7C.STYLE_TEXTCOLOR,"#666666"),h=mxUtils.getValue(this.style,mxIOS7C.STYLE_TEXTCOLOR2,"#ffffff"),k=mxUtils.getValue(this.style,mxConstants.STYLE_FONTSIZE,"8.5").toString(),l=mxUtils.getValue(this.style,mxConstants.STYLE_STROKECOLOR,"#666666"),m=mxUtils.getValue(this.style,mxConstants.STYLE_FILLCOLOR,
"#ffffff"),n=mxUtils.getValue(this.style,mxIOS7C.STYLE_FILLCOLOR2,"#008cff"),p=f.length,q=Array(p),r=0,t=-1,u=0;u<p;u++){var v=f[u];v.charAt(0)===mxIOS7C.SELECTED&&(v=f[u].substring(1),t=u);q[u]=mxUtils.getSizeForString(v,k,mxConstants.DEFAULT_FONTFAMILY).width;r+=q[u]}c=Math.max(c,1.5*k,10);r=5*p+r;b=Math.max(b,r);a.translate(d,e);this.background(a,b,c,2.5,p,q,2.5,r,l,m,n,t);a.setShadow(!1);for(u=d=0;u<p;u++)u===t?a.setFontColor(h):a.setFontColor(g),d+=2.5,this.buttonText(a,d,c,f[u],q[u],k,r,b),
d=d+q[u]+2.5};
mxShapeIOS7horButtonBar.prototype.background=function(a,d,e,b,c,f,g,h,k,l,m,n){a.begin();a.setStrokeColor(k);a.setFillColor(l);a.moveTo(0,b);a.arcTo(b,b,0,0,1,b,0);a.lineTo(d-b,0);a.arcTo(b,b,0,0,1,d,b);a.lineTo(d,e-b);a.arcTo(b,b,0,0,1,d-b,e);a.lineTo(b,e);a.arcTo(b,b,0,0,1,0,e-b);a.close();a.fillAndStroke();a.setStrokeColor(k);a.begin();for(m=1;m<c;m++)if(m!==n&&m!==n+1){for(var p=0,q=0;q<m;q++)p+=f[q]+2*g;p=p*d/h;a.moveTo(p,0);a.lineTo(p,e)}a.stroke();p=0;a.setStrokeColor(mxConstants.NONE);for(m=
0;m<n;m++)p+=f[m]+2*g;p=p*d/h;f=(f[n]+2*g)*d/h;f+=p;a.setFillColor("#0080F0");0===n?(a.begin(),a.moveTo(0,b),a.arcTo(b,b,0,0,1,b,0),a.lineTo(f,0),a.lineTo(f,e),a.lineTo(b,e),a.arcTo(b,b,0,0,1,0,e-b),a.close(),a.fill()):n===c-1?(a.begin(),a.moveTo(p,0),a.lineTo(f-b,0),a.arcTo(b,b,0,0,1,f,b),a.lineTo(f,e-b),a.arcTo(b,b,0,0,1,f-b,e),a.lineTo(p,e),a.close(),a.fill()):-1!==n&&(a.begin(),a.moveTo(p,0),a.lineTo(f,0),a.lineTo(f,e),a.lineTo(p,e),a.close(),a.fill());a.setStrokeColor(k);a.setFillColor(l);a.begin();
a.moveTo(0,b);a.arcTo(b,b,0,0,1,b,0);a.lineTo(d-b,0);a.arcTo(b,b,0,0,1,d,b);a.lineTo(d,e-b);a.arcTo(b,b,0,0,1,d-b,e);a.lineTo(b,e);a.arcTo(b,b,0,0,1,0,e-b);a.close();a.stroke()};mxShapeIOS7horButtonBar.prototype.buttonText=function(a,d,e,b,c,f,g,h){b.charAt(0)===mxIOS7C.SELECTED&&(b=b.substring(1));a.begin();a.setFontSize(f);a.text((d+.5*c)*h/g,.5*e,0,0,b,mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0)};mxCellRenderer.registerShape(mxIOS7C.SHAPE_IOS7_HOR_BUTTON_BAR,mxShapeIOS7horButtonBar);
function mxShapeIOS7pageControl(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeIOS7pageControl,mxShape);
mxShapeIOS7pageControl.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=mxUtils.getValue(this.style,mxConstants.STYLE_FILLCOLOR,"#000000");e=mxUtils.getValue(this.style,mxConstants.STYLE_STROKECOLOR,"#000000");var f=Math.min(.5*c,.05*b);a.setFillColor(e);a.ellipse(0,.5*c-f,2*f,2*f);a.fill();a.ellipse(.25*b-.5*f,.5*c-f,2*f,2*f);a.fill();a.ellipse(.5*b-f,.5*c-f,2*f,2*f);a.fill();a.ellipse(.75*b-1.5*f,.5*c-f,2*f,2*f);a.fill();a.setFillColor(d);a.ellipse(b-2*f,.5*c-f,2*f,2*f);a.fill()};
@ -186,18 +186,18 @@ c,0,0,1,.0334*b,0),a.lineTo(.768*b,0),a.arcTo(.0722*b,.216*c,0,0,1,.8014*b,.0399
mxShapeMockupButton.prototype.mainText=function(a,d,e,b,c,f,g,h){a.begin();a.setFontSize(g);a.setFontColor(h);a.setFontStyle(mxConstants.FONT_BOLD);a.text(b/2,c/2,0,0,f,mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0)};mxCellRenderer.registerShape(mxShapeMockupButton.prototype.cst.SHAPE_BUTTON,mxShapeMockupButton);function mxShapeMockupHorButtonBar(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}
mxUtils.extend(mxShapeMockupHorButtonBar,mxShape);mxShapeMockupHorButtonBar.prototype.cst={MAIN_TEXT:"mainText",SHAPE_HOR_BUTTON_BAR:"mxgraph.mockup.buttons.horButtonBar",TEXT_COLOR:"textColor",TEXT_COLOR2:"textColor2",STROKE_COLOR2:"strokeColor2",FILL_COLOR2:"fillColor2",SELECTED:"+",TEXT_SIZE:"textSize"};
mxShapeMockupHorButtonBar.prototype.paintVertexShape=function(a,d,e,b,c){for(var f=mxUtils.getValue(this.style,mxShapeMockupHorButtonBar.prototype.cst.MAIN_TEXT,"+Button 1, Button 2, Button 3").toString().split(","),g=mxUtils.getValue(this.style,mxShapeMockupHorButtonBar.prototype.cst.TEXT_COLOR,"#666666"),h=mxUtils.getValue(this.style,mxShapeMockupHorButtonBar.prototype.cst.TEXT_COLOR2,"#ffffff"),k=mxUtils.getValue(this.style,mxShapeMockupHorButtonBar.prototype.cst.TEXT_SIZE,"17").toString(),l=mxUtils.getValue(this.style,
mxConstants.STYLE_STROKECOLOR,"#666666"),n=mxUtils.getValue(this.style,mxShapeMockupHorButtonBar.prototype.cst.STROKE_COLOR2,"#c4c4c4"),m=mxUtils.getValue(this.style,mxConstants.STYLE_FILLCOLOR,"#ffffff"),p=mxUtils.getValue(this.style,mxShapeMockupHorButtonBar.prototype.cst.FILL_COLOR2,"#008cff"),q=f.length,u=Array(q),t=0,v=-1,r=0;r<q;r++){var w=f[r];w.charAt(0)===mxShapeMockupHorButtonBar.prototype.cst.SELECTED&&(w=f[r].substring(1),v=r);u[r]=mxUtils.getSizeForString(w,k,mxConstants.DEFAULT_FONTFAMILY).width;
t+=u[r]}c=Math.max(c,1.5*k,20);t=10*q+t;b=Math.max(b,t);a.translate(d,e);this.background(a,b,c,10,q,u,5,t,l,n,m,p,v);a.setShadow(!1);a.setFontStyle(mxConstants.FONT_BOLD);for(r=d=0;r<q;r++)r===v?a.setFontColor(h):a.setFontColor(g),d+=5,this.buttonText(a,d,c,f[r],u[r],k,t,b),d=d+u[r]+5};
mxShapeMockupHorButtonBar.prototype.background=function(a,d,e,b,c,f,g,h,k,l,n,m,p){a.begin();a.setStrokeColor(k);a.setFillColor(n);a.moveTo(0,b);a.arcTo(b,b,0,0,1,b,0);a.lineTo(d-b,0);a.arcTo(b,b,0,0,1,d,b);a.lineTo(d,e-b);a.arcTo(b,b,0,0,1,d-b,e);a.lineTo(b,e);a.arcTo(b,b,0,0,1,0,e-b);a.close();a.fillAndStroke();a.setStrokeColor(l);a.begin();for(l=1;l<c;l++)if(l!==p&&l!==p+1){for(var q=0,u=0;u<l;u++)q+=f[u]+2*g;q=q*d/h;a.moveTo(q,0);a.lineTo(q,e)}a.stroke();q=0;a.setFillColor(m);for(l=0;l<p;l++)q+=
f[l]+2*g;q=q*d/h;f=(f[p]+2*g)*d/h;f+=q;0===p?(a.begin(),a.moveTo(0,b),a.arcTo(b,b,0,0,1,b,0),a.lineTo(f,0),a.lineTo(f,e),a.lineTo(b,e),a.arcTo(b,b,0,0,1,0,e-b),a.close(),a.fill()):p===c-1?(a.begin(),a.moveTo(q,0),a.lineTo(f-b,0),a.arcTo(b,b,0,0,1,f,b),a.lineTo(f,e-b),a.arcTo(b,b,0,0,1,f-b,e),a.lineTo(q,e),a.close(),a.fill()):-1!==p&&(a.begin(),a.moveTo(q,0),a.lineTo(f,0),a.lineTo(f,e),a.lineTo(q,e),a.close(),a.fill());a.setStrokeColor(k);a.setFillColor(n);a.begin();a.moveTo(0,b);a.arcTo(b,b,0,0,1,
mxConstants.STYLE_STROKECOLOR,"#666666"),m=mxUtils.getValue(this.style,mxShapeMockupHorButtonBar.prototype.cst.STROKE_COLOR2,"#c4c4c4"),n=mxUtils.getValue(this.style,mxConstants.STYLE_FILLCOLOR,"#ffffff"),p=mxUtils.getValue(this.style,mxShapeMockupHorButtonBar.prototype.cst.FILL_COLOR2,"#008cff"),q=f.length,r=Array(q),t=0,u=-1,v=0;v<q;v++){var w=f[v];w.charAt(0)===mxShapeMockupHorButtonBar.prototype.cst.SELECTED&&(w=f[v].substring(1),u=v);r[v]=mxUtils.getSizeForString(w,k,mxConstants.DEFAULT_FONTFAMILY).width;
t+=r[v]}c=Math.max(c,1.5*k,20);t=10*q+t;b=Math.max(b,t);a.translate(d,e);this.background(a,b,c,10,q,r,5,t,l,m,n,p,u);a.setShadow(!1);a.setFontStyle(mxConstants.FONT_BOLD);for(v=d=0;v<q;v++)v===u?a.setFontColor(h):a.setFontColor(g),d+=5,this.buttonText(a,d,c,f[v],r[v],k,t,b),d=d+r[v]+5};
mxShapeMockupHorButtonBar.prototype.background=function(a,d,e,b,c,f,g,h,k,l,m,n,p){a.begin();a.setStrokeColor(k);a.setFillColor(m);a.moveTo(0,b);a.arcTo(b,b,0,0,1,b,0);a.lineTo(d-b,0);a.arcTo(b,b,0,0,1,d,b);a.lineTo(d,e-b);a.arcTo(b,b,0,0,1,d-b,e);a.lineTo(b,e);a.arcTo(b,b,0,0,1,0,e-b);a.close();a.fillAndStroke();a.setStrokeColor(l);a.begin();for(l=1;l<c;l++)if(l!==p&&l!==p+1){for(var q=0,r=0;r<l;r++)q+=f[r]+2*g;q=q*d/h;a.moveTo(q,0);a.lineTo(q,e)}a.stroke();q=0;a.setFillColor(n);for(l=0;l<p;l++)q+=
f[l]+2*g;q=q*d/h;f=(f[p]+2*g)*d/h;f+=q;0===p?(a.begin(),a.moveTo(0,b),a.arcTo(b,b,0,0,1,b,0),a.lineTo(f,0),a.lineTo(f,e),a.lineTo(b,e),a.arcTo(b,b,0,0,1,0,e-b),a.close(),a.fill()):p===c-1?(a.begin(),a.moveTo(q,0),a.lineTo(f-b,0),a.arcTo(b,b,0,0,1,f,b),a.lineTo(f,e-b),a.arcTo(b,b,0,0,1,f-b,e),a.lineTo(q,e),a.close(),a.fill()):-1!==p&&(a.begin(),a.moveTo(q,0),a.lineTo(f,0),a.lineTo(f,e),a.lineTo(q,e),a.close(),a.fill());a.setStrokeColor(k);a.setFillColor(m);a.begin();a.moveTo(0,b);a.arcTo(b,b,0,0,1,
b,0);a.lineTo(d-b,0);a.arcTo(b,b,0,0,1,d,b);a.lineTo(d,e-b);a.arcTo(b,b,0,0,1,d-b,e);a.lineTo(b,e);a.arcTo(b,b,0,0,1,0,e-b);a.close();a.stroke()};mxShapeMockupHorButtonBar.prototype.buttonText=function(a,d,e,b,c,f,g,h){b.charAt(0)===mxShapeMockupHorButtonBar.prototype.cst.SELECTED&&(b=b.substring(1));a.begin();a.setFontSize(f);a.text((d+.5*c)*h/g,.5*e,0,0,b,mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0)};
mxCellRenderer.registerShape(mxShapeMockupHorButtonBar.prototype.cst.SHAPE_HOR_BUTTON_BAR,mxShapeMockupHorButtonBar);function mxShapeMockupVerButtonBar(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeMockupVerButtonBar,mxShape);
mxShapeMockupVerButtonBar.prototype.cst={MAIN_TEXT:"mainText",SHAPE_VER_BUTTON_BAR:"mxgraph.mockup.buttons.verButtonBar",TEXT_COLOR:"textColor",TEXT_COLOR2:"textColor2",STROKE_COLOR2:"strokeColor2",FILL_COLOR2:"fillColor2",SELECTED:"+",TEXT_SIZE:"textSize"};
mxShapeMockupVerButtonBar.prototype.paintVertexShape=function(a,d,e,b,c){for(var f=mxUtils.getValue(this.style,mxShapeMockupVerButtonBar.prototype.cst.MAIN_TEXT,"+Button 1, Button 2, Button 3").toString().split(","),g=mxUtils.getValue(this.style,mxShapeMockupVerButtonBar.prototype.cst.TEXT_COLOR,"#666666"),h=mxUtils.getValue(this.style,mxShapeMockupVerButtonBar.prototype.cst.TEXT_COLOR2,"#ffffff"),k=mxUtils.getValue(this.style,mxShapeMockupVerButtonBar.prototype.cst.TEXT_SIZE,"17").toString(),l=mxUtils.getValue(this.style,
mxConstants.STYLE_STROKECOLOR,"#666666"),n=mxUtils.getValue(this.style,mxShapeMockupVerButtonBar.prototype.cst.STROKE_COLOR2,"#c4c4c4"),m=mxUtils.getValue(this.style,mxConstants.STYLE_FILLCOLOR,"#ffffff"),p=mxUtils.getValue(this.style,mxShapeMockupVerButtonBar.prototype.cst.FILL_COLOR2,"#008cff"),q=f.length,u=0,t=-1,v=0;v<q;v++){var r=f[v];r.charAt(0)===mxShapeMockupVerButtonBar.prototype.cst.SELECTED&&(r=f[v].substring(1),t=v);r=mxUtils.getSizeForString(r,k,mxConstants.DEFAULT_FONTFAMILY).width;
r>u&&(u=r)}var w=1.5*k,x=q*w;c=Math.max(c,x);b=Math.max(b,10+u);a.translate(d,e);this.background(a,b,c,10,q,5,q*w,l,n,m,p,t,w);a.setShadow(!1);r=0;a.setFontStyle(mxConstants.FONT_BOLD);for(v=0;v<q;v++)v===t?a.setFontColor(h):a.setFontColor(g),r+=5,this.buttonText(a,b,(v*w+.5*w)*c/x,f[v],k)};
mxShapeMockupVerButtonBar.prototype.background=function(a,d,e,b,c,f,g,h,k,l,n,m,p){a.begin();a.setStrokeColor(h);a.setFillColor(l);a.moveTo(0,b);a.arcTo(b,b,0,0,1,b,0);a.lineTo(d-b,0);a.arcTo(b,b,0,0,1,d,b);a.lineTo(d,e-b);a.arcTo(b,b,0,0,1,d-b,e);a.lineTo(b,e);a.arcTo(b,b,0,0,1,0,e-b);a.close();a.fillAndStroke();a.setStrokeColor(k);a.begin();for(f=1;f<c;f++)f!==m&&f!==m+1&&(k=f*p*e/g,a.moveTo(0,k),a.lineTo(d,k));a.stroke();a.setFillColor(n);0===m?(a.begin(),g=p*e/g,a.moveTo(0,b),a.arcTo(b,b,0,0,
1,b,0),a.lineTo(d-b,0),a.arcTo(b,b,0,0,1,d,b),a.lineTo(d,g),a.lineTo(0,g),a.close(),a.fill()):m===c-1?(a.begin(),c=e-p*e/g,a.moveTo(0,c),a.lineTo(d,c),a.lineTo(d,e-b),a.arcTo(b,b,0,0,1,d-b,e),a.lineTo(b,e),a.arcTo(b,b,0,0,1,0,e-b),a.close(),a.fill()):-1!==m&&(a.begin(),c=p*m*e/g,g=p*(m+1)*e/g,a.moveTo(0,c),a.lineTo(d,c),a.lineTo(d,g),a.lineTo(0,g),a.close(),a.fill());a.begin();a.setStrokeColor(h);a.setFillColor(l);a.moveTo(0,b);a.arcTo(b,b,0,0,1,b,0);a.lineTo(d-b,0);a.arcTo(b,b,0,0,1,d,b);a.lineTo(d,
mxConstants.STYLE_STROKECOLOR,"#666666"),m=mxUtils.getValue(this.style,mxShapeMockupVerButtonBar.prototype.cst.STROKE_COLOR2,"#c4c4c4"),n=mxUtils.getValue(this.style,mxConstants.STYLE_FILLCOLOR,"#ffffff"),p=mxUtils.getValue(this.style,mxShapeMockupVerButtonBar.prototype.cst.FILL_COLOR2,"#008cff"),q=f.length,r=0,t=-1,u=0;u<q;u++){var v=f[u];v.charAt(0)===mxShapeMockupVerButtonBar.prototype.cst.SELECTED&&(v=f[u].substring(1),t=u);v=mxUtils.getSizeForString(v,k,mxConstants.DEFAULT_FONTFAMILY).width;
v>r&&(r=v)}var w=1.5*k,x=q*w;c=Math.max(c,x);b=Math.max(b,10+r);a.translate(d,e);this.background(a,b,c,10,q,5,q*w,l,m,n,p,t,w);a.setShadow(!1);v=0;a.setFontStyle(mxConstants.FONT_BOLD);for(u=0;u<q;u++)u===t?a.setFontColor(h):a.setFontColor(g),v+=5,this.buttonText(a,b,(u*w+.5*w)*c/x,f[u],k)};
mxShapeMockupVerButtonBar.prototype.background=function(a,d,e,b,c,f,g,h,k,l,m,n,p){a.begin();a.setStrokeColor(h);a.setFillColor(l);a.moveTo(0,b);a.arcTo(b,b,0,0,1,b,0);a.lineTo(d-b,0);a.arcTo(b,b,0,0,1,d,b);a.lineTo(d,e-b);a.arcTo(b,b,0,0,1,d-b,e);a.lineTo(b,e);a.arcTo(b,b,0,0,1,0,e-b);a.close();a.fillAndStroke();a.setStrokeColor(k);a.begin();for(f=1;f<c;f++)f!==n&&f!==n+1&&(k=f*p*e/g,a.moveTo(0,k),a.lineTo(d,k));a.stroke();a.setFillColor(m);0===n?(a.begin(),g=p*e/g,a.moveTo(0,b),a.arcTo(b,b,0,0,
1,b,0),a.lineTo(d-b,0),a.arcTo(b,b,0,0,1,d,b),a.lineTo(d,g),a.lineTo(0,g),a.close(),a.fill()):n===c-1?(a.begin(),c=e-p*e/g,a.moveTo(0,c),a.lineTo(d,c),a.lineTo(d,e-b),a.arcTo(b,b,0,0,1,d-b,e),a.lineTo(b,e),a.arcTo(b,b,0,0,1,0,e-b),a.close(),a.fill()):-1!==n&&(a.begin(),c=p*n*e/g,g=p*(n+1)*e/g,a.moveTo(0,c),a.lineTo(d,c),a.lineTo(d,g),a.lineTo(0,g),a.close(),a.fill());a.begin();a.setStrokeColor(h);a.setFillColor(l);a.moveTo(0,b);a.arcTo(b,b,0,0,1,b,0);a.lineTo(d-b,0);a.arcTo(b,b,0,0,1,d,b);a.lineTo(d,
e-b);a.arcTo(b,b,0,0,1,d-b,e);a.lineTo(b,e);a.arcTo(b,b,0,0,1,0,e-b);a.close();a.stroke()};mxShapeMockupVerButtonBar.prototype.buttonText=function(a,d,e,b,c){b.charAt(0)===mxShapeMockupVerButtonBar.prototype.cst.SELECTED&&(b=b.substring(1));a.begin();a.setFontSize(c);a.text(.5*d,e,0,0,b,mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0)};mxCellRenderer.registerShape(mxShapeMockupVerButtonBar.prototype.cst.SHAPE_VER_BUTTON_BAR,mxShapeMockupVerButtonBar);
function mxShapeMockupOnOffButton(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeMockupOnOffButton,mxShape);mxShapeMockupOnOffButton.prototype.cst={SHAPE_ON_OFF_BUTTON:"mxgraph.mockup.buttons.onOffButton",BUTTON_STATE:"buttonState",STATE_ON:"on",STATE_OFF:"off",FILL_COLOR2:"fillColor2",MAIN_TEXT:"mainText",TEXT_COLOR:"textColor",TEXT_SIZE:"textSize"};
mxShapeMockupOnOffButton.prototype.customProperties=[{name:"buttonState",dispName:"Button State",type:"enum",enumList:[{val:"on",dispName:"On"},{val:"off",dispName:"Off"}]}];mxShapeMockupOnOffButton.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);b=Math.max(b,10);c=Math.max(c,10);this.background(a,d,e,b,c);a.setShadow(!1);this.foreground(a,d,e,b,c)};mxShapeMockupOnOffButton.prototype.background=function(a,d,e,b,c){a.roundrect(0,0,b,c,10,10);a.fillAndStroke()};
@ -216,19 +216,19 @@ function mxShapeMockupLeftButton(a,d,e,b){mxShape.call(this);this.bounds=a;this.
mxShapeMockupLeftButton.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=parseInt(mxUtils.getValue(this.style,mxShapeMockupLeftButton.prototype.cst.R_SIZE,"10"));a.begin();a.moveTo(b,0);a.lineTo(b,c);a.lineTo(d,c);a.arcTo(d,d,0,0,1,0,c-d);a.lineTo(0,d);a.arcTo(d,d,0,0,1,d,0);a.close();a.fillAndStroke()};mxCellRenderer.registerShape(mxShapeMockupLeftButton.prototype.cst.LEFT_BUTTON,mxShapeMockupLeftButton);
function mxShapeMockupVideoPlayer(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1;this.barPos=20;this.barHeight=30}mxUtils.extend(mxShapeMockupVideoPlayer,mxShape);mxShapeMockupVideoPlayer.prototype.cst={FILL_COLOR2:"fillColor2",TEXT_COLOR:"textColor",STROKE_COLOR2:"strokeColor2",STROKE_COLOR3:"strokeColor3",SHAPE_VIDEO_PLAYER:"mxgraph.mockup.containers.videoPlayer",BAR_POS:"barPos",BAR_HEIGHT:"barHeight"};
mxShapeMockupVideoPlayer.prototype.customProperties=[{name:"fillColor2",dispName:"Fill2 Color",type:"color"},{name:"textColor",dispName:"Text Color",type:"color"},{name:"strokeColor2",dispName:"Stroke2 Color",type:"color"},{name:"strokeColor3",dispName:"Stroke3 Color",type:"color"},{name:"barPos",dispName:"Handle Position",type:"float",min:0,max:100,defVal:20},{name:"barHeight",dispName:"Video Bar Height",type:"float",min:0,defVal:30}];
mxShapeMockupVideoPlayer.prototype.paintVertexShape=function(a,d,e,b,c){var f=mxUtils.getValue(this.style,mxConstants.STYLE_FILLCOLOR,"#ffffff"),g=mxUtils.getValue(this.style,mxShapeMockupVideoPlayer.prototype.cst.FILL_COLOR2,"#c4c4c4"),h=mxUtils.getValue(this.style,mxConstants.STYLE_STROKECOLOR,"#666666"),k=mxUtils.getValue(this.style,mxShapeMockupVideoPlayer.prototype.cst.STROKE_COLOR2,"#008cff"),l=mxUtils.getValue(this.style,mxShapeMockupVideoPlayer.prototype.cst.STROKE_COLOR3,"#c4c4c4"),n=mxUtils.getValue(this.style,
mxShapeMockupVideoPlayer.prototype.cst.BAR_HEIGHT,"30");b=Math.max(b,5*n);c=Math.max(c,n+10);a.translate(d,e);this.background(a,d,e,b,c,f,h);a.setShadow(!1);this.otherShapes(a,d,e,b,c,g,h,k,l,n)};mxShapeMockupVideoPlayer.prototype.background=function(a,d,e,b,c,f,g){a.setFillColor(f);a.setStrokeColor(g);a.begin();a.moveTo(0,0);a.lineTo(b,0);a.lineTo(b,c);a.lineTo(0,c);a.close();a.fillAndStroke()};
mxShapeMockupVideoPlayer.prototype.otherShapes=function(a,d,e,b,c,f,g,h,k,l){var n=mxUtils.getValue(this.style,mxShapeMockupVideoPlayer.prototype.cst.BAR_POS,"20"),n=Math.max(0,n),n=Math.min(100,n);d=mxUtils.getValue(this.style,mxConstants.STYLE_STROKEWIDTH,"1");e=c-l;n=8+(b-8-8)*n/100;a.setStrokeColor(h);a.begin();a.moveTo(0,e);a.lineTo(n,e);a.stroke();a.setStrokeColor(k);a.begin();a.moveTo(n,e);a.lineTo(b,e);a.stroke();a.setStrokeColor(g);a.begin();a.ellipse(n-8,e-8,16,16);a.fillAndStroke();a.begin();
a.setStrokeWidth(d/2);a.ellipse(n-4,e-4,8,8);a.fillAndStroke();a.setStrokeWidth(d);g=.3*l;h=c-.5*(l+g);k=.3*l;a.setFillColor(f);a.setStrokeColor(f);a.begin();a.moveTo(k,h);a.lineTo(k+g,h+.5*g);a.lineTo(k,h+g);a.close();a.fillAndStroke();f=c-l;a.moveTo(l+.05*l,f+.4*l);a.lineTo(l+.15*l,f+.4*l);a.lineTo(l+.3*l,f+.25*l);a.lineTo(l+.3*l,f+.75*l);a.lineTo(l+.15*l,f+.6*l);a.lineTo(l+.05*l,f+.6*l);a.close();a.fillAndStroke();a.begin();a.moveTo(l+.4*l,f+.35*l);a.arcTo(.2*l,.3*l,0,0,1,l+.4*l,f+.65*l);a.moveTo(l+
mxShapeMockupVideoPlayer.prototype.paintVertexShape=function(a,d,e,b,c){var f=mxUtils.getValue(this.style,mxConstants.STYLE_FILLCOLOR,"#ffffff"),g=mxUtils.getValue(this.style,mxShapeMockupVideoPlayer.prototype.cst.FILL_COLOR2,"#c4c4c4"),h=mxUtils.getValue(this.style,mxConstants.STYLE_STROKECOLOR,"#666666"),k=mxUtils.getValue(this.style,mxShapeMockupVideoPlayer.prototype.cst.STROKE_COLOR2,"#008cff"),l=mxUtils.getValue(this.style,mxShapeMockupVideoPlayer.prototype.cst.STROKE_COLOR3,"#c4c4c4"),m=mxUtils.getValue(this.style,
mxShapeMockupVideoPlayer.prototype.cst.BAR_HEIGHT,"30");b=Math.max(b,5*m);c=Math.max(c,m+10);a.translate(d,e);this.background(a,d,e,b,c,f,h);a.setShadow(!1);this.otherShapes(a,d,e,b,c,g,h,k,l,m)};mxShapeMockupVideoPlayer.prototype.background=function(a,d,e,b,c,f,g){a.setFillColor(f);a.setStrokeColor(g);a.begin();a.moveTo(0,0);a.lineTo(b,0);a.lineTo(b,c);a.lineTo(0,c);a.close();a.fillAndStroke()};
mxShapeMockupVideoPlayer.prototype.otherShapes=function(a,d,e,b,c,f,g,h,k,l){var m=mxUtils.getValue(this.style,mxShapeMockupVideoPlayer.prototype.cst.BAR_POS,"20"),m=Math.max(0,m),m=Math.min(100,m);d=mxUtils.getValue(this.style,mxConstants.STYLE_STROKEWIDTH,"1");e=c-l;m=8+(b-8-8)*m/100;a.setStrokeColor(h);a.begin();a.moveTo(0,e);a.lineTo(m,e);a.stroke();a.setStrokeColor(k);a.begin();a.moveTo(m,e);a.lineTo(b,e);a.stroke();a.setStrokeColor(g);a.begin();a.ellipse(m-8,e-8,16,16);a.fillAndStroke();a.begin();
a.setStrokeWidth(d/2);a.ellipse(m-4,e-4,8,8);a.fillAndStroke();a.setStrokeWidth(d);g=.3*l;h=c-.5*(l+g);k=.3*l;a.setFillColor(f);a.setStrokeColor(f);a.begin();a.moveTo(k,h);a.lineTo(k+g,h+.5*g);a.lineTo(k,h+g);a.close();a.fillAndStroke();f=c-l;a.moveTo(l+.05*l,f+.4*l);a.lineTo(l+.15*l,f+.4*l);a.lineTo(l+.3*l,f+.25*l);a.lineTo(l+.3*l,f+.75*l);a.lineTo(l+.15*l,f+.6*l);a.lineTo(l+.05*l,f+.6*l);a.close();a.fillAndStroke();a.begin();a.moveTo(l+.4*l,f+.35*l);a.arcTo(.2*l,.3*l,0,0,1,l+.4*l,f+.65*l);a.moveTo(l+
.425*l,f+.25*l);a.arcTo(.225*l,.35*l,0,0,1,l+.425*l,f+.75*l);a.stroke();b-=1.3*l;a.begin();a.moveTo(b+.1*l,f+.4*l);a.lineTo(b+.1*l,f+.3*l);a.lineTo(b+.25*l,f+.3*l);a.moveTo(b+.1*l,f+.6*l);a.lineTo(b+.1*l,f+.7*l);a.lineTo(b+.25*l,f+.7*l);a.moveTo(b+.9*l,f+.4*l);a.lineTo(b+.9*l,f+.3*l);a.lineTo(b+.75*l,f+.3*l);a.moveTo(b+.9*l,f+.6*l);a.lineTo(b+.9*l,f+.7*l);a.lineTo(b+.75*l,f+.7*l);a.stroke();b=mxUtils.getValue(this.style,mxShapeMockupVideoPlayer.prototype.cst.TEXT_COLOR,"#666666");a.begin();a.setFontSize(.5*
l);a.setFontColor(b);a.text(1.9*l,c-.45*l,0,0,"0:00/3:53",mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE,0,null,0,0,0)};mxCellRenderer.registerShape(mxShapeMockupVideoPlayer.prototype.cst.SHAPE_VIDEO_PLAYER,mxShapeMockupVideoPlayer);
Graph.handleFactory[mxShapeMockupVideoPlayer.prototype.cst.SHAPE_VIDEO_PLAYER]=function(a){var d=[Graph.createHandle(a,["barPos"],function(a){var b=Math.max(0,Math.min(100,parseFloat(mxUtils.getValue(this.state.style,"barPos",this.barPos)))),c=parseFloat(mxUtils.getValue(this.state.style,"barHeight",this.barHeight));return new mxPoint(a.x+(a.width-16)*b/a.width/100*a.width+8,a.y+a.height-c-20)},function(a,b){this.state.style.barPos=Math.round(1E3*Math.max(0,Math.min(100,100*(b.x-a.x)/a.width)))/1E3})];
a=Graph.createHandle(a,["barHeight"],function(a){var b=Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(this.state.style,"barHeight",this.barHeight))));return new mxPoint(a.x+a.width-20,a.y+a.height-b)},function(a,b){this.state.style.barHeight=Math.round(1E3*Math.max(0,Math.min(a.height,a.y+a.height-b.y)))/1E3});d.push(a);return d};function mxShapeMockupAccordion(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}
mxUtils.extend(mxShapeMockupAccordion,mxShape);mxShapeMockupAccordion.prototype.cst={TEXT_COLOR:"textColor",TEXT_COLOR2:"textColor2",TEXT_SIZE:"textSize",SHAPE_ACCORDION:"mxgraph.mockup.containers.accordion",STROKE_COLOR2:"strokeColor2",FILL_COLOR2:"fillColor2",SELECTED:"+",MAIN_TEXT:"mainText"};
mxShapeMockupAccordion.prototype.paintVertexShape=function(a,d,e,b,c){for(var f=mxUtils.getValue(this.style,mxShapeMockupAccordion.prototype.cst.MAIN_TEXT,"+Group 1, Group 2, Group 3").toString().split(","),g=mxUtils.getValue(this.style,mxShapeMockupAccordion.prototype.cst.TEXT_COLOR,"#666666"),h=mxUtils.getValue(this.style,mxShapeMockupAccordion.prototype.cst.TEXT_COLOR2,"#ffffff"),k=mxUtils.getValue(this.style,mxShapeMockupAccordion.prototype.cst.TEXT_SIZE,"17").toString(),l=mxUtils.getValue(this.style,
mxConstants.STYLE_STROKECOLOR,"#666666"),n=mxUtils.getValue(this.style,mxShapeMockupAccordion.prototype.cst.STROKE_COLOR2,"#c4c4c4"),m=mxUtils.getValue(this.style,mxConstants.STYLE_FILLCOLOR,"#ffffff"),p=mxUtils.getValue(this.style,mxShapeMockupAccordion.prototype.cst.FILL_COLOR2,"#008cff"),q=f.length,u=0,t=-1,v=0;v<q;v++){var r=f[v];r.charAt(0)===mxShapeMockupAccordion.prototype.cst.SELECTED&&(r=f[v].substring(1),t=v);r=mxUtils.getSizeForString(r,k,mxConstants.DEFAULT_FONTFAMILY).width;r>u&&(u=r)}var w=
1.5*k;c=Math.max(c,q*w);b=Math.max(b,10+u);a.translate(d,e);this.background(a,b,c,10,q,5,q*w,l,n,m,p,t,w);a.setShadow(!1);for(v=r=0;v<q;v++)v===t?a.setFontColor(h):a.setFontColor(g),r+=5,this.buttonText(a,b,-1===t||v<=t?v*w+.5*w:c-(q-v-.5)*w,f[v],k)};
mxShapeMockupAccordion.prototype.background=function(a,d,e,b,c,f,g,h,k,l,n,m,p){a.begin();a.setStrokeColor(h);a.setFillColor(l);a.moveTo(0,0);a.lineTo(d,0);a.lineTo(d,e);a.lineTo(0,e);a.close();a.fillAndStroke();a.setStrokeColor(k);a.begin();for(b=1;b<c;b++)b!==m&&(f=-1===m||b<m?b*p:e-(c-b)*p,a.moveTo(0,f),a.lineTo(d,f));a.stroke();a.setStrokeColor(mxConstants.NONE);a.setFillColor(n);-1!==m&&(a.begin(),c=p*m,m=p*(m+1),a.moveTo(0,c),a.lineTo(d,c),a.lineTo(d,m),a.lineTo(0,m),a.close(),a.fill());a.begin();
mxConstants.STYLE_STROKECOLOR,"#666666"),m=mxUtils.getValue(this.style,mxShapeMockupAccordion.prototype.cst.STROKE_COLOR2,"#c4c4c4"),n=mxUtils.getValue(this.style,mxConstants.STYLE_FILLCOLOR,"#ffffff"),p=mxUtils.getValue(this.style,mxShapeMockupAccordion.prototype.cst.FILL_COLOR2,"#008cff"),q=f.length,r=0,t=-1,u=0;u<q;u++){var v=f[u];v.charAt(0)===mxShapeMockupAccordion.prototype.cst.SELECTED&&(v=f[u].substring(1),t=u);v=mxUtils.getSizeForString(v,k,mxConstants.DEFAULT_FONTFAMILY).width;v>r&&(r=v)}var w=
1.5*k;c=Math.max(c,q*w);b=Math.max(b,10+r);a.translate(d,e);this.background(a,b,c,10,q,5,q*w,l,m,n,p,t,w);a.setShadow(!1);for(u=v=0;u<q;u++)u===t?a.setFontColor(h):a.setFontColor(g),v+=5,this.buttonText(a,b,-1===t||u<=t?u*w+.5*w:c-(q-u-.5)*w,f[u],k)};
mxShapeMockupAccordion.prototype.background=function(a,d,e,b,c,f,g,h,k,l,m,n,p){a.begin();a.setStrokeColor(h);a.setFillColor(l);a.moveTo(0,0);a.lineTo(d,0);a.lineTo(d,e);a.lineTo(0,e);a.close();a.fillAndStroke();a.setStrokeColor(k);a.begin();for(b=1;b<c;b++)b!==n&&(f=-1===n||b<n?b*p:e-(c-b)*p,a.moveTo(0,f),a.lineTo(d,f));a.stroke();a.setStrokeColor(mxConstants.NONE);a.setFillColor(m);-1!==n&&(a.begin(),c=p*n,n=p*(n+1),a.moveTo(0,c),a.lineTo(d,c),a.lineTo(d,n),a.lineTo(0,n),a.close(),a.fill());a.begin();
a.setStrokeColor(h);a.setFillColor(l);a.moveTo(0,0);a.lineTo(d,0);a.lineTo(d,e);a.lineTo(0,e);a.close();a.stroke()};mxShapeMockupAccordion.prototype.buttonText=function(a,d,e,b,c){b.charAt(0)===mxShapeMockupAccordion.prototype.cst.SELECTED&&(b=b.substring(1));a.begin();a.setFontSize(c);a.text(.5*d,e,0,0,b,mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0)};mxCellRenderer.registerShape(mxShapeMockupAccordion.prototype.cst.SHAPE_ACCORDION,mxShapeMockupAccordion);
function mxShapeMockupBrowserWindow(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeMockupBrowserWindow,mxShape);mxShapeMockupBrowserWindow.prototype.cst={STROKE_COLOR2:"strokeColor2",STROKE_COLOR3:"strokeColor3",MAIN_TEXT:"mainText",SHAPE_BROWSER_WINDOW:"mxgraph.mockup.containers.browserWindow"};
mxShapeMockupBrowserWindow.prototype.customProperties=[{name:"strokeColor2",dispName:"Stroke2 Color",type:"color"},{name:"strokeColor3",dispName:"Stroke3 Color",type:"color"}];
@ -270,24 +270,24 @@ d,e,b,c,g,k,h)};mxShapeMockupWindow.prototype.background=function(a,d,e,b,c,f,g)
mxShapeMockupWindow.prototype.otherShapes=function(a,d,e,b,c,f,g,h){mxUtils.getValue(this.style,mxConstants.STYLE_STROKEWIDTH,"1");a.setStrokeColor(f);a.ellipse(b-75,5,20,20);a.stroke();a.ellipse(b-50,5,20,20);a.stroke();a.setStrokeColor(h);a.ellipse(b-25,5,20,20);a.stroke();a.setStrokeColor(g);a.begin();a.moveTo(0,30);a.lineTo(b,30);a.stroke();d=mxUtils.getValue(this.style,mxShapeMockupWindow.prototype.cst.MAIN_TEXT,"Window Title");e=mxUtils.getValue(this.style,mxShapeMockupWindow.prototype.cst.TEXT_COLOR,
"#666666");b=mxUtils.getValue(this.style,mxShapeMockupWindow.prototype.cst.TEXT_SIZE,"17").toString();a.setFontColor(e);a.setFontSize(b);a.text(10,15,0,0,d,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.stroke()};mxCellRenderer.registerShape(mxShapeMockupWindow.prototype.cst.SHAPE_WINDOW,mxShapeMockupWindow);function mxShapeMockupHorTabBar(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeMockupHorTabBar,mxShape);
mxShapeMockupHorTabBar.prototype.cst={BLOCK:"block",CONE:"cone",HALF_CONE:"halfCone",ROUND:"round",TEXT_SIZE:"textSize",TAB_NAMES:"tabs",TAB_STYLE:"tabStyle",STYLE_FILLCOLOR2:"fillColor2",TEXT_COLOR:"textColor",SEL_TEXT_COLOR:"textColor2",SHAPE_HOR_TAB_BAR:"mxgraph.mockup.containers.horTabBar"};
mxShapeMockupHorTabBar.prototype.paintVertexShape=function(a,d,e,b,c){for(var f=mxUtils.getValue(this.style,mxShapeMockupHorTabBar.prototype.cst.TEXT_SIZE,"17").toString(),g=mxUtils.getValue(this.style,mxShapeMockupHorTabBar.prototype.cst.TAB_NAMES,"Tab 1,+Tab 2,Tab 3").toString().split(","),h=1.5*f,k=g.length,l=20+5*(k-1)+20*k,n=[],m=-1,p=0;p<k;p++){var q=g[p];"+"===q.charAt(0)&&(q=q.substring(1),m=p);currW=mxUtils.getSizeForString(q,f,mxConstants.DEFAULT_FONTFAMILY).width;n[p]=0===currW?40:currW;
l+=n[p]}b=Math.max(b,l);c=Math.max(c,h+5);a.translate(d,e);this.background(a,b,c,5,h);a.setShadow(!1);this.backTabs(a,b,c,5,h,10,5,10,k,n,m);this.focusTab(a,b,c,5,h,10,5,10,k,n,m);this.tabText(a,b,c,5,h,10,5,10,k,n,m,g)};mxShapeMockupHorTabBar.prototype.background=function(a,d,e,b,c){a.begin();a.moveTo(0,c+b);a.arcTo(b,b,0,0,1,b,c);a.lineTo(d-b,c);a.arcTo(b,b,0,0,1,d,c+b);a.lineTo(d,e);a.lineTo(0,e);a.close();a.fillAndStroke()};
mxShapeMockupHorTabBar.prototype.backTabs=function(a,d,e,b,c,f,g,h,k,l,n){d=mxUtils.getValue(this.style,mxShapeMockupHorTabBar.prototype.cst.TAB_STYLE,mxShapeMockupHorTabBar.prototype.cst.BLOCK);for(e=0;e<k;e++){var m=l[e]+2*h;n!==e&&(d===mxShapeMockupHorTabBar.prototype.cst.BLOCK?a.rect(f,0,m,c):d===mxShapeMockupHorTabBar.prototype.cst.CONE?(a.begin(),a.moveTo(f,c),a.lineTo(f+.5*h,0),a.lineTo(f+m-.5*h,0),a.lineTo(f+m,c)):d===mxShapeMockupHorTabBar.prototype.cst.HALF_CONE?(a.begin(),a.moveTo(f,c),
a.lineTo(f+.5*h,0),a.lineTo(f+m,0),a.lineTo(f+m,c)):d===mxShapeMockupHorTabBar.prototype.cst.ROUND&&(a.begin(),a.moveTo(f-b,c),a.arcTo(b,b,0,0,0,f,c-b),a.lineTo(f,b),a.arcTo(b,b,0,0,1,f+b,0),a.lineTo(f+m-b,0),a.arcTo(b,b,0,0,1,f+m,b),a.lineTo(f+m,c-b),a.arcTo(b,b,0,0,0,f+m+b,c)),a.fillAndStroke());f=f+m+g}};
mxShapeMockupHorTabBar.prototype.focusTab=function(a,d,e,b,c,f,g,h,k,l,n){e=mxUtils.getValue(this.style,mxShapeMockupHorTabBar.prototype.cst.TAB_STYLE,mxShapeMockupHorTabBar.prototype.cst.BLOCK);k=mxUtils.getValue(this.style,mxShapeMockupHorTabBar.prototype.cst.STYLE_FILLCOLOR2,"#008cff");a.setStrokeColor(k);a.setFillColor(k);for(k=0;k<=n;k++){var m=l[k]+2*h;n===k&&(e===mxShapeMockupHorTabBar.prototype.cst.BLOCK?(a.begin(),a.moveTo(0,c+b),a.arcTo(b,b,0,0,1,b,c),a.lineTo(f,c),a.lineTo(f,0),a.lineTo(f+
m,0),a.lineTo(f+m,c),a.lineTo(d-b,c),a.arcTo(b,b,0,0,1,d,c+b),a.close()):e===mxShapeMockupHorTabBar.prototype.cst.CONE?(a.begin(),a.moveTo(0,c+b),a.arcTo(b,b,0,0,1,b,c),a.lineTo(f,c),a.lineTo(f+.5*h,0),a.lineTo(f+m-.5*h,0),a.lineTo(f+m,c),a.lineTo(d-b,c),a.arcTo(b,b,0,0,1,d,c+b),a.close()):e===mxShapeMockupHorTabBar.prototype.cst.HALF_CONE?(a.begin(),a.moveTo(0,c+b),a.arcTo(b,b,0,0,1,b,c),a.lineTo(f,c),a.lineTo(f+.5*h,0),a.lineTo(f+m,0),a.lineTo(f+m,c),a.lineTo(d-b,c),a.arcTo(b,b,0,0,1,d,c+b),a.close()):
e===mxShapeMockupHorTabBar.prototype.cst.ROUND&&(a.begin(),a.moveTo(0,c+b),a.arcTo(b,b,0,0,1,b,c),a.lineTo(f-b,c),a.arcTo(b,b,0,0,0,f,c-b),a.lineTo(f,b),a.arcTo(b,b,0,0,1,f+b,0),a.lineTo(f+m-b,0),a.arcTo(b,b,0,0,1,f+m,b),a.lineTo(f+m,c-b),a.arcTo(b,b,0,0,0,f+m+b,c),a.lineTo(d-b,c),a.arcTo(b,b,0,0,1,d,c+b),a.close()),a.fillAndStroke());f=f+m+g}};
mxShapeMockupHorTabBar.prototype.tabText=function(a,d,e,b,c,f,g,h,k,l,n,m){d=mxUtils.getValue(this.style,mxShapeMockupHorTabBar.prototype.cst.TEXT_COLOR,"#666666");e=mxUtils.getValue(this.style,mxShapeMockupHorTabBar.prototype.cst.SEL_TEXT_COLOR,"#ffffff");b=mxUtils.getValue(this.style,mxShapeMockupHorTabBar.prototype.cst.TEXT_SIZE,"17").toString();a.setFontColor(d);a.setFontSize(b);for(b=0;b<k;b++){var p=m[b];b===n&&a.setFontColor(e);"+"===p.charAt(0)&&(p=p.substring(1));var q=l[b]+2*h;a.text(f+
h,.5*c,0,0,p,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);f=f+q+g;b===n&&a.setFontColor(d)}};mxCellRenderer.registerShape(mxShapeMockupHorTabBar.prototype.cst.SHAPE_HOR_TAB_BAR,mxShapeMockupHorTabBar);function mxShapeMockupVerTabBar(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeMockupVerTabBar,mxShape);
mxShapeMockupHorTabBar.prototype.paintVertexShape=function(a,d,e,b,c){for(var f=mxUtils.getValue(this.style,mxShapeMockupHorTabBar.prototype.cst.TEXT_SIZE,"17").toString(),g=mxUtils.getValue(this.style,mxShapeMockupHorTabBar.prototype.cst.TAB_NAMES,"Tab 1,+Tab 2,Tab 3").toString().split(","),h=1.5*f,k=g.length,l=20+5*(k-1)+20*k,m=[],n=-1,p=0;p<k;p++){var q=g[p];"+"===q.charAt(0)&&(q=q.substring(1),n=p);currW=mxUtils.getSizeForString(q,f,mxConstants.DEFAULT_FONTFAMILY).width;m[p]=0===currW?40:currW;
l+=m[p]}b=Math.max(b,l);c=Math.max(c,h+5);a.translate(d,e);this.background(a,b,c,5,h);a.setShadow(!1);this.backTabs(a,b,c,5,h,10,5,10,k,m,n);this.focusTab(a,b,c,5,h,10,5,10,k,m,n);this.tabText(a,b,c,5,h,10,5,10,k,m,n,g)};mxShapeMockupHorTabBar.prototype.background=function(a,d,e,b,c){a.begin();a.moveTo(0,c+b);a.arcTo(b,b,0,0,1,b,c);a.lineTo(d-b,c);a.arcTo(b,b,0,0,1,d,c+b);a.lineTo(d,e);a.lineTo(0,e);a.close();a.fillAndStroke()};
mxShapeMockupHorTabBar.prototype.backTabs=function(a,d,e,b,c,f,g,h,k,l,m){d=mxUtils.getValue(this.style,mxShapeMockupHorTabBar.prototype.cst.TAB_STYLE,mxShapeMockupHorTabBar.prototype.cst.BLOCK);for(e=0;e<k;e++){var n=l[e]+2*h;m!==e&&(d===mxShapeMockupHorTabBar.prototype.cst.BLOCK?a.rect(f,0,n,c):d===mxShapeMockupHorTabBar.prototype.cst.CONE?(a.begin(),a.moveTo(f,c),a.lineTo(f+.5*h,0),a.lineTo(f+n-.5*h,0),a.lineTo(f+n,c)):d===mxShapeMockupHorTabBar.prototype.cst.HALF_CONE?(a.begin(),a.moveTo(f,c),
a.lineTo(f+.5*h,0),a.lineTo(f+n,0),a.lineTo(f+n,c)):d===mxShapeMockupHorTabBar.prototype.cst.ROUND&&(a.begin(),a.moveTo(f-b,c),a.arcTo(b,b,0,0,0,f,c-b),a.lineTo(f,b),a.arcTo(b,b,0,0,1,f+b,0),a.lineTo(f+n-b,0),a.arcTo(b,b,0,0,1,f+n,b),a.lineTo(f+n,c-b),a.arcTo(b,b,0,0,0,f+n+b,c)),a.fillAndStroke());f=f+n+g}};
mxShapeMockupHorTabBar.prototype.focusTab=function(a,d,e,b,c,f,g,h,k,l,m){e=mxUtils.getValue(this.style,mxShapeMockupHorTabBar.prototype.cst.TAB_STYLE,mxShapeMockupHorTabBar.prototype.cst.BLOCK);k=mxUtils.getValue(this.style,mxShapeMockupHorTabBar.prototype.cst.STYLE_FILLCOLOR2,"#008cff");a.setStrokeColor(k);a.setFillColor(k);for(k=0;k<=m;k++){var n=l[k]+2*h;m===k&&(e===mxShapeMockupHorTabBar.prototype.cst.BLOCK?(a.begin(),a.moveTo(0,c+b),a.arcTo(b,b,0,0,1,b,c),a.lineTo(f,c),a.lineTo(f,0),a.lineTo(f+
n,0),a.lineTo(f+n,c),a.lineTo(d-b,c),a.arcTo(b,b,0,0,1,d,c+b),a.close()):e===mxShapeMockupHorTabBar.prototype.cst.CONE?(a.begin(),a.moveTo(0,c+b),a.arcTo(b,b,0,0,1,b,c),a.lineTo(f,c),a.lineTo(f+.5*h,0),a.lineTo(f+n-.5*h,0),a.lineTo(f+n,c),a.lineTo(d-b,c),a.arcTo(b,b,0,0,1,d,c+b),a.close()):e===mxShapeMockupHorTabBar.prototype.cst.HALF_CONE?(a.begin(),a.moveTo(0,c+b),a.arcTo(b,b,0,0,1,b,c),a.lineTo(f,c),a.lineTo(f+.5*h,0),a.lineTo(f+n,0),a.lineTo(f+n,c),a.lineTo(d-b,c),a.arcTo(b,b,0,0,1,d,c+b),a.close()):
e===mxShapeMockupHorTabBar.prototype.cst.ROUND&&(a.begin(),a.moveTo(0,c+b),a.arcTo(b,b,0,0,1,b,c),a.lineTo(f-b,c),a.arcTo(b,b,0,0,0,f,c-b),a.lineTo(f,b),a.arcTo(b,b,0,0,1,f+b,0),a.lineTo(f+n-b,0),a.arcTo(b,b,0,0,1,f+n,b),a.lineTo(f+n,c-b),a.arcTo(b,b,0,0,0,f+n+b,c),a.lineTo(d-b,c),a.arcTo(b,b,0,0,1,d,c+b),a.close()),a.fillAndStroke());f=f+n+g}};
mxShapeMockupHorTabBar.prototype.tabText=function(a,d,e,b,c,f,g,h,k,l,m,n){d=mxUtils.getValue(this.style,mxShapeMockupHorTabBar.prototype.cst.TEXT_COLOR,"#666666");e=mxUtils.getValue(this.style,mxShapeMockupHorTabBar.prototype.cst.SEL_TEXT_COLOR,"#ffffff");b=mxUtils.getValue(this.style,mxShapeMockupHorTabBar.prototype.cst.TEXT_SIZE,"17").toString();a.setFontColor(d);a.setFontSize(b);for(b=0;b<k;b++){var p=n[b];b===m&&a.setFontColor(e);"+"===p.charAt(0)&&(p=p.substring(1));var q=l[b]+2*h;a.text(f+
h,.5*c,0,0,p,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);f=f+q+g;b===m&&a.setFontColor(d)}};mxCellRenderer.registerShape(mxShapeMockupHorTabBar.prototype.cst.SHAPE_HOR_TAB_BAR,mxShapeMockupHorTabBar);function mxShapeMockupVerTabBar(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeMockupVerTabBar,mxShape);
mxShapeMockupVerTabBar.prototype.cst={BLOCK:"block",ROUND:"round",TEXT_SIZE:"textSize",TAB_NAMES:"tabs",TAB_STYLE:"tabStyle",STYLE_FILLCOLOR2:"fillColor2",TEXT_COLOR:"textColor",SEL_TEXT_COLOR:"textColor2",SHAPE_VER_TAB_BAR:"mxgraph.mockup.containers.verTabBar"};
mxShapeMockupVerTabBar.prototype.paintVertexShape=function(a,d,e,b,c){for(var f=mxUtils.getValue(this.style,mxShapeMockupVerTabBar.prototype.cst.TEXT_SIZE,"17").toString(),g=mxUtils.getValue(this.style,mxShapeMockupVerTabBar.prototype.cst.TAB_NAMES,"Tab 1,+Tab 2,Tab 3").toString().split(","),h=1.5*f,k=g.length,l=[],n=-1,m=0;m<k;m++){var p=g[m];"+"===p.charAt(0)&&(p=p.substring(1),n=m);p=mxUtils.getSizeForString(p,f,mxConstants.DEFAULT_FONTFAMILY).width;l[m]=0===p?42:p}f=20+Math.max.apply(Math,l);
b=Math.max(b,f+5);c=Math.max(c,20+k*h+5*(k-1));a.translate(d,e);this.background(a,b,c,5,f);a.setShadow(!1);this.backTabs(a,b,c,5,h,f,10,5,10,k,l,n);this.focusTab(a,b,c,5,h,f,10,5,10,k,l,n);this.tabText(a,b,c,5,h,f,10,5,10,k,l,n,g)};mxShapeMockupVerTabBar.prototype.background=function(a,d,e,b,c){a.begin();a.moveTo(c+b,e);a.arcTo(b,b,0,0,1,c,e-b);a.lineTo(c,b);a.arcTo(b,b,0,0,1,c+b,0);a.lineTo(d,0);a.lineTo(d,e);a.close();a.fillAndStroke()};
mxShapeMockupVerTabBar.prototype.backTabs=function(a,d,e,b,c,f,g,h,k,l,n,m){d=mxUtils.getValue(this.style,mxShapeMockupVerTabBar.prototype.cst.TAB_STYLE,mxShapeMockupVerTabBar.prototype.cst.BLOCK);for(e=0;e<l;e++)m!==e&&(d===mxShapeMockupVerTabBar.prototype.cst.BLOCK?a.rect(0,g,f,c):d===mxShapeMockupVerTabBar.prototype.cst.ROUND&&(a.begin(),a.moveTo(f,g+c+b),a.arcTo(b,b,0,0,0,f-b,g+c),a.lineTo(b,g+c),a.arcTo(b,b,0,0,1,0,g+c-b),a.lineTo(0,g+b),a.arcTo(b,b,0,0,1,b,g),a.lineTo(f-b,g),a.arcTo(b,b,0,0,
mxShapeMockupVerTabBar.prototype.paintVertexShape=function(a,d,e,b,c){for(var f=mxUtils.getValue(this.style,mxShapeMockupVerTabBar.prototype.cst.TEXT_SIZE,"17").toString(),g=mxUtils.getValue(this.style,mxShapeMockupVerTabBar.prototype.cst.TAB_NAMES,"Tab 1,+Tab 2,Tab 3").toString().split(","),h=1.5*f,k=g.length,l=[],m=-1,n=0;n<k;n++){var p=g[n];"+"===p.charAt(0)&&(p=p.substring(1),m=n);p=mxUtils.getSizeForString(p,f,mxConstants.DEFAULT_FONTFAMILY).width;l[n]=0===p?42:p}f=20+Math.max.apply(Math,l);
b=Math.max(b,f+5);c=Math.max(c,20+k*h+5*(k-1));a.translate(d,e);this.background(a,b,c,5,f);a.setShadow(!1);this.backTabs(a,b,c,5,h,f,10,5,10,k,l,m);this.focusTab(a,b,c,5,h,f,10,5,10,k,l,m);this.tabText(a,b,c,5,h,f,10,5,10,k,l,m,g)};mxShapeMockupVerTabBar.prototype.background=function(a,d,e,b,c){a.begin();a.moveTo(c+b,e);a.arcTo(b,b,0,0,1,c,e-b);a.lineTo(c,b);a.arcTo(b,b,0,0,1,c+b,0);a.lineTo(d,0);a.lineTo(d,e);a.close();a.fillAndStroke()};
mxShapeMockupVerTabBar.prototype.backTabs=function(a,d,e,b,c,f,g,h,k,l,m,n){d=mxUtils.getValue(this.style,mxShapeMockupVerTabBar.prototype.cst.TAB_STYLE,mxShapeMockupVerTabBar.prototype.cst.BLOCK);for(e=0;e<l;e++)n!==e&&(d===mxShapeMockupVerTabBar.prototype.cst.BLOCK?a.rect(0,g,f,c):d===mxShapeMockupVerTabBar.prototype.cst.ROUND&&(a.begin(),a.moveTo(f,g+c+b),a.arcTo(b,b,0,0,0,f-b,g+c),a.lineTo(b,g+c),a.arcTo(b,b,0,0,1,0,g+c-b),a.lineTo(0,g+b),a.arcTo(b,b,0,0,1,b,g),a.lineTo(f-b,g),a.arcTo(b,b,0,0,
0,f,g-b)),a.fillAndStroke()),g=g+c+h};
mxShapeMockupVerTabBar.prototype.focusTab=function(a,d,e,b,c,f,g,h,k,l,n,m){d=mxUtils.getValue(this.style,mxShapeMockupVerTabBar.prototype.cst.TAB_STYLE,mxShapeMockupVerTabBar.prototype.cst.BLOCK);k=mxUtils.getValue(this.style,mxShapeMockupVerTabBar.prototype.cst.STYLE_FILLCOLOR2,"#008cff");-1!==m&&(g+=(c+h)*m,a.setStrokeColor(k),a.setFillColor(k),d===mxShapeMockupVerTabBar.prototype.cst.BLOCK?(a.begin(),a.moveTo(f+b,e),a.arcTo(b,b,0,0,1,f,e-b),a.lineTo(f,g+c),a.lineTo(0,g+c),a.lineTo(0,g),a.lineTo(f,
mxShapeMockupVerTabBar.prototype.focusTab=function(a,d,e,b,c,f,g,h,k,l,m,n){d=mxUtils.getValue(this.style,mxShapeMockupVerTabBar.prototype.cst.TAB_STYLE,mxShapeMockupVerTabBar.prototype.cst.BLOCK);k=mxUtils.getValue(this.style,mxShapeMockupVerTabBar.prototype.cst.STYLE_FILLCOLOR2,"#008cff");-1!==n&&(g+=(c+h)*n,a.setStrokeColor(k),a.setFillColor(k),d===mxShapeMockupVerTabBar.prototype.cst.BLOCK?(a.begin(),a.moveTo(f+b,e),a.arcTo(b,b,0,0,1,f,e-b),a.lineTo(f,g+c),a.lineTo(0,g+c),a.lineTo(0,g),a.lineTo(f,
g),a.lineTo(f,b),a.arcTo(b,b,0,0,1,f+b,0),a.close()):d===mxShapeMockupVerTabBar.prototype.cst.ROUND&&(a.begin(),a.moveTo(f+b,e),a.arcTo(b,b,0,0,1,f,e-b),a.lineTo(f,g+c+b),a.arcTo(b,b,0,0,0,f-b,g+c),a.lineTo(b,g+c),a.arcTo(b,b,0,0,1,0,g+c-b),a.lineTo(0,g+b),a.arcTo(b,b,0,0,1,b,g),a.lineTo(f-b,g),a.arcTo(b,b,0,0,0,f,g-b),a.lineTo(f,b),a.arcTo(b,b,0,0,1,f+b,0),a.close()),a.fillAndStroke())};
mxShapeMockupVerTabBar.prototype.tabText=function(a,d,e,b,c,f,g,h,k,l,n,m,p){d=mxUtils.getValue(this.style,mxShapeMockupVerTabBar.prototype.cst.TEXT_COLOR,"#666666");e=mxUtils.getValue(this.style,mxShapeMockupVerTabBar.prototype.cst.SEL_TEXT_COLOR,"#ffffff");b=mxUtils.getValue(this.style,mxShapeMockupVerTabBar.prototype.cst.TEXT_SIZE,"17").toString();a.setFontColor(d);a.setFontSize(b);for(b=0;b<l;b++)k=p[b],b===m&&a.setFontColor(e),"+"===k.charAt(0)&&(k=k.substring(1)),a.text(.5*f,g+.5*c,0,0,k,mxConstants.ALIGN_CENTER,
mxConstants.ALIGN_MIDDLE,0,null,0,0,0),g=g+c+h,b===m&&a.setFontColor(d)};mxCellRenderer.registerShape(mxShapeMockupVerTabBar.prototype.cst.SHAPE_VER_TAB_BAR,mxShapeMockupVerTabBar);function mxShapeMockupAlertBox(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeMockupAlertBox,mxShape);
mxShapeMockupVerTabBar.prototype.tabText=function(a,d,e,b,c,f,g,h,k,l,m,n,p){d=mxUtils.getValue(this.style,mxShapeMockupVerTabBar.prototype.cst.TEXT_COLOR,"#666666");e=mxUtils.getValue(this.style,mxShapeMockupVerTabBar.prototype.cst.SEL_TEXT_COLOR,"#ffffff");b=mxUtils.getValue(this.style,mxShapeMockupVerTabBar.prototype.cst.TEXT_SIZE,"17").toString();a.setFontColor(d);a.setFontSize(b);for(b=0;b<l;b++)k=p[b],b===n&&a.setFontColor(e),"+"===k.charAt(0)&&(k=k.substring(1)),a.text(.5*f,g+.5*c,0,0,k,mxConstants.ALIGN_CENTER,
mxConstants.ALIGN_MIDDLE,0,null,0,0,0),g=g+c+h,b===n&&a.setFontColor(d)};mxCellRenderer.registerShape(mxShapeMockupVerTabBar.prototype.cst.SHAPE_VER_TAB_BAR,mxShapeMockupVerTabBar);function mxShapeMockupAlertBox(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeMockupAlertBox,mxShape);
mxShapeMockupAlertBox.prototype.cst={MAIN_TEXT:"mainText",SUB_TEXT:"subText",BUTTON_TEXT:"buttonText",TEXT_SIZE:"textSize",TEXT_COLOR:"textColor",STROKE_COLOR2:"strokeColor2",STROKE_COLOR3:"strokeColor3",SHAPE_ALERT_BOX:"mxgraph.mockup.containers.alertBox"};
mxShapeMockupAlertBox.prototype.paintVertexShape=function(a,d,e,b,c){var f=mxUtils.getValue(this.style,mxConstants.STYLE_FILLCOLOR,"#ffffff"),g=mxUtils.getValue(this.style,mxConstants.STYLE_STROKECOLOR,"#666666"),h=mxUtils.getValue(this.style,mxShapeMockupAlertBox.prototype.cst.STROKE_COLOR2,"#008cff"),k=mxUtils.getValue(this.style,mxShapeMockupAlertBox.prototype.cst.STROKE_COLOR3,"#c4c4c4");a.translate(d,e);c=Math.max(c,75);b=Math.max(b,90);this.background(a,d,e,b,c,f,g);a.setShadow(!1);this.foreground(a,
d,e,b,c,g,k,h)};mxShapeMockupAlertBox.prototype.background=function(a,d,e,b,c,f,g){a.setFillColor(f);a.setStrokeColor(g);a.rect(0,0,b,c);a.fillAndStroke()};
@ -311,13 +311,13 @@ mxShapeMockupContainersMarginRect2.prototype.paintVertexShape=function(a,d,e,b,c
mxShapeMockupContainersMarginRect2.prototype.background=function(a,d,e,b,c,f){d=parseFloat(mxUtils.getValue(this.style,mxShapeMockupContainersMarginRect2.prototype.cst.MARGIN,"0"));var g=parseFloat(mxUtils.getValue(this.style,mxShapeMockupContainersMarginRect2.prototype.cst.MARGIN_TOP,"0"));f=parseFloat(mxUtils.getValue(this.style,mxShapeMockupContainersMarginRect2.prototype.cst.MARGIN_LEFT,"0"));e=parseFloat(mxUtils.getValue(this.style,mxShapeMockupContainersMarginRect2.prototype.cst.MARGIN_BOTTOM,
"0"));var h=parseFloat(mxUtils.getValue(this.style,mxShapeMockupContainersMarginRect2.prototype.cst.MARGIN_RIGHT,"0"));f=d+f;g=d+g;b=b-h-f-d;c=c-e-g-d;0<b&&0<c&&(a.begin(),a.rect(f,g,b,c),a.fillAndStroke())};mxCellRenderer.registerShape(mxShapeMockupContainersMarginRect2.prototype.cst.SHAPE_MARGIN_RECT,mxShapeMockupContainersMarginRect2);function mxShapeMockupCheckboxGroup(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}
mxUtils.extend(mxShapeMockupCheckboxGroup,mxShape);mxShapeMockupCheckboxGroup.prototype.cst={MAIN_TEXT:"mainText",TEXT_SIZE:"textSize",TEXT_COLOR:"textColor",SELECTED:"+",SHAPE_CHECKBOX_GROUP:"mxgraph.mockup.forms.checkboxGroup"};
mxShapeMockupCheckboxGroup.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=mxUtils.getValue(this.style,mxShapeMockupCheckboxGroup.prototype.cst.TEXT_COLOR,"#666666,#008cff").toString().split(",");var f=mxUtils.getValue(this.style,mxShapeMockupCheckboxGroup.prototype.cst.TEXT_SIZE,"17").toString();e=mxUtils.getValue(this.style,mxShapeMockupCheckboxGroup.prototype.cst.MAIN_TEXT,"Option 1").toString().split(",");var g=e.length,h=Math.max(1.5*f,15),k=0,l=-1,n=g*h;c=Math.max(c,n);for(var m=
0;m<g;m++){var p=e[m];p.charAt(0)===mxShapeMockupCheckboxGroup.prototype.cst.SELECTED&&(p=e[m].substring(1),l=m);p=mxUtils.getSizeForString(p,f,mxConstants.DEFAULT_FONTFAMILY).width;p>k&&(k=p)}a.rect(0,0,Math.max(b,5+k+30),c);a.fillAndStroke();a.setShadow(!1);a.setFontSize(f);for(m=0;m<g;m++)b=(m*h+.5*h)*c/n,p=e[m],p.charAt(0)===mxShapeMockupCheckboxGroup.prototype.cst.SELECTED?(a.setFontColor(d[1]),p=e[m].substring(1),l=m):a.setFontColor(d[0]),a.text(32.5,b,0,0,p,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE,
0,null,0,0,0),b-=7.5,a.setFillColor("#dddddd"),a.setStrokeColor("#999999"),l===m?(a.setGradient("#aaaaaa","#666666",7.5,b,15,15,mxConstants.DIRECTION_SOUTH,1,1),a.rect(7.5,b,15,15),a.fillAndStroke(),a.setStrokeColor("#333333"),a.begin(),a.moveTo(11.25,b+7.5),a.lineTo(15,b+11.25),a.lineTo(18.75,b+3.75),a.stroke()):(a.setGradient("#eeeeee","#cccccc",7.5,b,15,15,mxConstants.DIRECTION_SOUTH,1,1),a.rect(7.5,b,15,15),a.fillAndStroke()),l=-1};
mxShapeMockupCheckboxGroup.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=mxUtils.getValue(this.style,mxShapeMockupCheckboxGroup.prototype.cst.TEXT_COLOR,"#666666,#008cff").toString().split(",");var f=mxUtils.getValue(this.style,mxShapeMockupCheckboxGroup.prototype.cst.TEXT_SIZE,"17").toString();e=mxUtils.getValue(this.style,mxShapeMockupCheckboxGroup.prototype.cst.MAIN_TEXT,"Option 1").toString().split(",");var g=e.length,h=Math.max(1.5*f,15),k=0,l=-1,m=g*h;c=Math.max(c,m);for(var n=
0;n<g;n++){var p=e[n];p.charAt(0)===mxShapeMockupCheckboxGroup.prototype.cst.SELECTED&&(p=e[n].substring(1),l=n);p=mxUtils.getSizeForString(p,f,mxConstants.DEFAULT_FONTFAMILY).width;p>k&&(k=p)}a.rect(0,0,Math.max(b,5+k+30),c);a.fillAndStroke();a.setShadow(!1);a.setFontSize(f);for(n=0;n<g;n++)b=(n*h+.5*h)*c/m,p=e[n],p.charAt(0)===mxShapeMockupCheckboxGroup.prototype.cst.SELECTED?(a.setFontColor(d[1]),p=e[n].substring(1),l=n):a.setFontColor(d[0]),a.text(32.5,b,0,0,p,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE,
0,null,0,0,0),b-=7.5,a.setFillColor("#dddddd"),a.setStrokeColor("#999999"),l===n?(a.setGradient("#aaaaaa","#666666",7.5,b,15,15,mxConstants.DIRECTION_SOUTH,1,1),a.rect(7.5,b,15,15),a.fillAndStroke(),a.setStrokeColor("#333333"),a.begin(),a.moveTo(11.25,b+7.5),a.lineTo(15,b+11.25),a.lineTo(18.75,b+3.75),a.stroke()):(a.setGradient("#eeeeee","#cccccc",7.5,b,15,15,mxConstants.DIRECTION_SOUTH,1,1),a.rect(7.5,b,15,15),a.fillAndStroke()),l=-1};
mxCellRenderer.registerShape(mxShapeMockupCheckboxGroup.prototype.cst.SHAPE_CHECKBOX_GROUP,mxShapeMockupCheckboxGroup);function mxShapeMockupRadioGroup(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeMockupRadioGroup,mxShape);mxShapeMockupRadioGroup.prototype.cst={MAIN_TEXT:"mainText",TEXT_SIZE:"textSize",TEXT_COLOR:"textColor",SELECTED:"+",SHAPE_RADIO_GROUP:"mxgraph.mockup.forms.radioGroup"};
mxShapeMockupRadioGroup.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=mxUtils.getValue(this.style,mxShapeMockupRadioGroup.prototype.cst.TEXT_COLOR,"#666666,#008cff").toString().split(",");var f=mxUtils.getValue(this.style,mxShapeMockupRadioGroup.prototype.cst.TEXT_SIZE,"17").toString();e=mxUtils.getValue(this.style,mxShapeMockupRadioGroup.prototype.cst.MAIN_TEXT,"Option 1").toString().split(",");var g=e.length,h=Math.max(1.5*f,15),k=0,l=-1,n=g*h;c=Math.max(c,n);for(var m=0;m<g;m++){var p=
e[m];p.charAt(0)===mxShapeMockupRadioGroup.prototype.cst.SELECTED&&(p=e[m].substring(1),l=m);p=mxUtils.getSizeForString(p,f,mxConstants.DEFAULT_FONTFAMILY).width;p>k&&(k=p)}a.rect(0,0,Math.max(b,5+k+30),c);a.fillAndStroke();a.setShadow(!1);a.setFontSize(f);for(m=0;m<g;m++)b=(m*h+.5*h)*c/n,p=e[m],p.charAt(0)===mxShapeMockupRadioGroup.prototype.cst.SELECTED?(a.setFontColor(d[1]),p=e[m].substring(1),l=m):a.setFontColor(d[0]),a.text(32.5,b,0,0,p,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE,0,null,
0,0,0),b-=7.5,a.setStrokeColor("#999999"),l===m?(a.setGradient("#aaaaaa","#666666",7.5,b,15,15,mxConstants.DIRECTION_SOUTH,1,1),a.ellipse(7.5,b,15,15),a.fillAndStroke(),a.setFillColor("#333333"),a.setStrokeColor("#333333"),a.ellipse(11.25,b+3.75,7.5,7.5)):(a.setGradient("#eeeeee","#cccccc",7.5,b,15,15,mxConstants.DIRECTION_SOUTH,1,1),a.ellipse(7.5,b,15,15)),a.fillAndStroke()};mxCellRenderer.registerShape(mxShapeMockupRadioGroup.prototype.cst.SHAPE_RADIO_GROUP,mxShapeMockupRadioGroup);
mxShapeMockupRadioGroup.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=mxUtils.getValue(this.style,mxShapeMockupRadioGroup.prototype.cst.TEXT_COLOR,"#666666,#008cff").toString().split(",");var f=mxUtils.getValue(this.style,mxShapeMockupRadioGroup.prototype.cst.TEXT_SIZE,"17").toString();e=mxUtils.getValue(this.style,mxShapeMockupRadioGroup.prototype.cst.MAIN_TEXT,"Option 1").toString().split(",");var g=e.length,h=Math.max(1.5*f,15),k=0,l=-1,m=g*h;c=Math.max(c,m);for(var n=0;n<g;n++){var p=
e[n];p.charAt(0)===mxShapeMockupRadioGroup.prototype.cst.SELECTED&&(p=e[n].substring(1),l=n);p=mxUtils.getSizeForString(p,f,mxConstants.DEFAULT_FONTFAMILY).width;p>k&&(k=p)}a.rect(0,0,Math.max(b,5+k+30),c);a.fillAndStroke();a.setShadow(!1);a.setFontSize(f);for(n=0;n<g;n++)b=(n*h+.5*h)*c/m,p=e[n],p.charAt(0)===mxShapeMockupRadioGroup.prototype.cst.SELECTED?(a.setFontColor(d[1]),p=e[n].substring(1),l=n):a.setFontColor(d[0]),a.text(32.5,b,0,0,p,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE,0,null,
0,0,0),b-=7.5,a.setStrokeColor("#999999"),l===n?(a.setGradient("#aaaaaa","#666666",7.5,b,15,15,mxConstants.DIRECTION_SOUTH,1,1),a.ellipse(7.5,b,15,15),a.fillAndStroke(),a.setFillColor("#333333"),a.setStrokeColor("#333333"),a.ellipse(11.25,b+3.75,7.5,7.5)):(a.setGradient("#eeeeee","#cccccc",7.5,b,15,15,mxConstants.DIRECTION_SOUTH,1,1),a.ellipse(7.5,b,15,15)),a.fillAndStroke()};mxCellRenderer.registerShape(mxShapeMockupRadioGroup.prototype.cst.SHAPE_RADIO_GROUP,mxShapeMockupRadioGroup);
function mxShapeMockupColorPicker(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeMockupColorPicker,mxShape);mxShapeMockupColorPicker.prototype.cst={COLOR:"chosenColor",SHAPE_COLOR_PICKER:"mxgraph.mockup.forms.colorPicker"};mxShapeMockupColorPicker.prototype.customProperties=[{name:"chosenColor",dispName:"Current Color",type:"color"}];
mxShapeMockupColorPicker.prototype.paintVertexShape=function(a,d,e,b,c){var f=mxUtils.getValue(this.style,mxShapeMockupColorPicker.prototype.cst.COLOR,"#aaddff");a.translate(d,e);a.setStrokeColor("#999999");a.roundrect(0,0,b,c,.05*b,.05*c);a.fillAndStroke();a.setShadow(!1);a.setFillColor(f);a.rect(.1*b,.1*c,.8*b,.8*c);a.fill();a.setFillColor("#ffffff");a.begin();a.moveTo(.75*b,.75*c);a.lineTo(.75*b,c);a.lineTo(.95*b,c);a.arcTo(.05*b,.05*c,0,0,0,b,.95*c);a.lineTo(b,.75*c);a.close();a.fill();a.setFillColor("#999999");
a.begin();a.moveTo(.77*b,.77*c);a.lineTo(.875*b,.98*c);a.lineTo(.98*b,.77*c);a.close();a.fill();a.roundrect(0,0,b,c,.05*b,.05*c);a.stroke()};mxCellRenderer.registerShape(mxShapeMockupColorPicker.prototype.cst.SHAPE_COLOR_PICKER,mxShapeMockupColorPicker);function mxShapeMockupComboBox(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeMockupComboBox,mxShape);
@ -351,9 +351,9 @@ b===mxShapeMockupSpinner.prototype.cst.LAYOUT_LEFT?a.text(.5*(d+20),.5*e,0,0,c,m
0,0,c,mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0):b===mxShapeMockupSpinner.prototype.cst.LAYOUT_HORIZONTAL&&a.text(.5*d,.5*e,0,0,c,mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0)};mxCellRenderer.registerShape(mxShapeMockupSpinner.prototype.cst.SHAPE_SPINNER,mxShapeMockupSpinner);function mxShapeMockupMenuBar(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeMockupMenuBar,mxShape);
mxShapeMockupMenuBar.prototype.cst={MAIN_TEXT:"mainText",SHAPE_MENU_BAR:"mxgraph.mockup.forms.menuBar",TEXT_COLOR:"textColor",TEXT_COLOR2:"textColor2",STROKE_COLOR2:"strokeColor2",FILL_COLOR2:"fillColor2",SELECTED:"+",TEXT_SIZE:"textSize"};
mxShapeMockupMenuBar.prototype.paintVertexShape=function(a,d,e,b,c){for(var f=mxUtils.getValue(this.style,mxShapeMockupMenuBar.prototype.cst.MAIN_TEXT,"+Menu 1, Menu 2, Menu 3").toString().split(","),g=mxUtils.getValue(this.style,mxShapeMockupMenuBar.prototype.cst.TEXT_COLOR,"#666666"),h=mxUtils.getValue(this.style,mxShapeMockupMenuBar.prototype.cst.TEXT_COLOR2,"#ffffff"),k=mxUtils.getValue(this.style,mxShapeMockupMenuBar.prototype.cst.TEXT_SIZE,"17").toString(),l=mxUtils.getValue(this.style,mxConstants.STYLE_STROKECOLOR,
"#666666"),n=mxUtils.getValue(this.style,mxShapeMockupMenuBar.prototype.cst.STROKE_COLOR2,"#c4c4c4"),m=mxUtils.getValue(this.style,mxConstants.STYLE_FILLCOLOR,"#ffffff"),p=mxUtils.getValue(this.style,mxShapeMockupMenuBar.prototype.cst.FILL_COLOR2,"#008cff"),q=f.length,u=Array(q),t=0,v=-1,r=0;r<q;r++){var w=f[r];w.charAt(0)===mxShapeMockupMenuBar.prototype.cst.SELECTED&&(w=f[r].substring(1),v=r);u[r]=mxUtils.getSizeForString(w,k,mxConstants.DEFAULT_FONTFAMILY).width;t+=u[r]}c=Math.max(c,1.5*k,20);
t=10*q+t;b=Math.max(b,t);a.translate(d,e);this.background(a,b,c,10,q,u,5,t,l,n,m,p,v);a.setShadow(!1);for(r=d=0;r<q;r++)r===v?a.setFontColor(h):a.setFontColor(g),d+=5,this.buttonText(a,d,c,f[r],u[r],k,t,b),d=d+u[r]+5};
mxShapeMockupMenuBar.prototype.background=function(a,d,e,b,c,f,g,h,k,l,n,m,p){a.setStrokeColor(k);a.setFillColor(n);a.rect(0,0,d,e);a.fillAndStroke();a.setStrokeColor(l);a.begin();for(b=1;b<c;b++)if(b!==p&&b!==p+1){for(var q=l=0;q<b;q++)l+=f[q]+2*g;l=l*d/h;a.moveTo(l,0);a.lineTo(l,e)}a.stroke();if(-1!==p){c=0;a.setFillColor(m);for(b=0;b<p;b++)c+=f[b]+2*g;c=c*d/h;a.rect(c,0,(f[p]+2*g)*d/h+c-c,e);a.fill()}a.setStrokeColor(k);a.setFillColor(n);a.rect(0,0,d,e);a.stroke()};
"#666666"),m=mxUtils.getValue(this.style,mxShapeMockupMenuBar.prototype.cst.STROKE_COLOR2,"#c4c4c4"),n=mxUtils.getValue(this.style,mxConstants.STYLE_FILLCOLOR,"#ffffff"),p=mxUtils.getValue(this.style,mxShapeMockupMenuBar.prototype.cst.FILL_COLOR2,"#008cff"),q=f.length,r=Array(q),t=0,u=-1,v=0;v<q;v++){var w=f[v];w.charAt(0)===mxShapeMockupMenuBar.prototype.cst.SELECTED&&(w=f[v].substring(1),u=v);r[v]=mxUtils.getSizeForString(w,k,mxConstants.DEFAULT_FONTFAMILY).width;t+=r[v]}c=Math.max(c,1.5*k,20);
t=10*q+t;b=Math.max(b,t);a.translate(d,e);this.background(a,b,c,10,q,r,5,t,l,m,n,p,u);a.setShadow(!1);for(v=d=0;v<q;v++)v===u?a.setFontColor(h):a.setFontColor(g),d+=5,this.buttonText(a,d,c,f[v],r[v],k,t,b),d=d+r[v]+5};
mxShapeMockupMenuBar.prototype.background=function(a,d,e,b,c,f,g,h,k,l,m,n,p){a.setStrokeColor(k);a.setFillColor(m);a.rect(0,0,d,e);a.fillAndStroke();a.setStrokeColor(l);a.begin();for(b=1;b<c;b++)if(b!==p&&b!==p+1){for(var q=l=0;q<b;q++)l+=f[q]+2*g;l=l*d/h;a.moveTo(l,0);a.lineTo(l,e)}a.stroke();if(-1!==p){c=0;a.setFillColor(n);for(b=0;b<p;b++)c+=f[b]+2*g;c=c*d/h;a.rect(c,0,(f[p]+2*g)*d/h+c-c,e);a.fill()}a.setStrokeColor(k);a.setFillColor(m);a.rect(0,0,d,e);a.stroke()};
mxShapeMockupMenuBar.prototype.buttonText=function(a,d,e,b,c,f,g,h){b.charAt(0)===mxShapeMockupMenuBar.prototype.cst.SELECTED&&(b=b.substring(1));a.setFontSize(f);a.text((d+.5*c)*h/g,.5*e,0,0,b,mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0)};mxCellRenderer.registerShape(mxShapeMockupMenuBar.prototype.cst.SHAPE_MENU_BAR,mxShapeMockupMenuBar);function mxShapeMockupHorSlider(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}
mxUtils.extend(mxShapeMockupHorSlider,mxShape);mxShapeMockupHorSlider.prototype.cst={STYLE:"sliderStyle",SLIDER_BASIC:"basic",SLIDER_FANCY:"fancy",SLIDER_POS:"sliderPos",HANDLE_TRIANGLE:"triangle",HANDLE_CIRCLE:"circle",HANDLE_HANDLE:"handle",HANDLE_STYLE:"handleStyle",FILL_COLOR2:"fillColor2",SHAPE_HOR_SLIDER:"mxgraph.mockup.forms.horSlider"};
mxShapeMockupHorSlider.prototype.customProperties=[{name:"sliderStyle",dispName:"Slider Style",type:"enum",enumList:[{val:"basic",dispName:"Basic"},{val:"fancy",dispName:"Fancy"}]},{name:"handleStyle",dispName:"Handle Style",type:"enum",enumList:[{val:"triangle",dispName:"Triangle"},{val:"circle",dispName:"Circle"},{val:"handle",dispName:"Handle"}]},{name:"sliderPos",dispName:"Handle Position",type:"float"},{name:"fillColor2",dispName:"Fill2 Color",type:"color"}];
@ -364,8 +364,8 @@ mxShapeMockupHorSlider.prototype.foreground=function(a,d,e,b,c){var f=mxUtils.ge
(a.begin(),a.moveTo(d-10,.5*e+10),a.lineTo(d,.5*e-10),a.lineTo(d+10,.5*e+10),a.close(),a.fillAndStroke()):g===mxShapeMockupHorSlider.prototype.cst.HANDLE_HANDLE&&(a.begin(),a.moveTo(d-7,.5*e+10),a.lineTo(d-7,.5*e),a.lineTo(d,.5*e-10),a.lineTo(d+7,.5*e),a.lineTo(d+7,.5*e+10),a.close(),a.fillAndStroke())};mxCellRenderer.registerShape(mxShapeMockupHorSlider.prototype.cst.SHAPE_HOR_SLIDER,mxShapeMockupHorSlider);
Graph.handleFactory[mxShapeMockupHorSlider.prototype.cst.SHAPE_HOR_SLIDER]=function(a){return[Graph.createHandle(a,["sliderPos"],function(a){var d=Math.max(0,Math.min(100,parseFloat(mxUtils.getValue(this.state.style,"sliderPos",this.sliderPos))));return new mxPoint(a.x+(a.width-10)*d/a.width/100*a.width+5,a.y+a.height/2)},function(a,e){this.state.style.sliderPos=Math.round(1E3*Math.max(0,Math.min(100,100*(e.x-a.x)/a.width)))/1E3})]};
function mxShapeMockupListBox(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeMockupListBox,mxShape);mxShapeMockupListBox.prototype.cst={MAIN_TEXT:"mainText",SUB_TEXT:"subText",BUTTON_TEXT:"buttonText",TEXT_SIZE:"textSize",TEXT_COLOR:"textColor",STROKE_COLOR2:"strokeColor2",STROKE_COLOR3:"strokeColor3",SELECTED_COLOR:"selectedColor",SELECTED:"+",SHAPE_LIST_BOX:"mxgraph.mockup.forms.listBox"};
mxShapeMockupListBox.prototype.paintVertexShape=function(a,d,e,b,c){for(var f=mxUtils.getValue(this.style,mxConstants.STYLE_FILLCOLOR,"#ffffff"),g=mxUtils.getValue(this.style,mxConstants.STYLE_STROKECOLOR,"#666666"),h=mxUtils.getValue(this.style,mxShapeMockupListBox.prototype.cst.TEXT_SIZE,"17").toString(),k=-1,l=b,n=mxUtils.getValue(this.style,mxShapeMockupListBox.prototype.cst.SUB_TEXT,"Sub Text").toString().split(","),m=0;m<n.length;m++){var p=n[m];p.charAt(0)===mxShapeMockupListBox.prototype.cst.SELECTED&&
(p=n[m].substring(1),k=m);p=mxUtils.getSizeForString(p,h,mxConstants.DEFAULT_FONTFAMILY).width;p>l&&(l=p)}a.translate(d,e);b=Math.min(b,l);c=Math.max(c,30+n.length*h*1.5);this.background(a,b,c,f,g);a.setShadow(!1);this.foreground(a,b,c,g,k,n,h)};mxShapeMockupListBox.prototype.background=function(a,d,e,b,c){a.setFillColor(b);a.setStrokeColor(c);a.rect(0,0,d,e);a.fillAndStroke()};
mxShapeMockupListBox.prototype.paintVertexShape=function(a,d,e,b,c){for(var f=mxUtils.getValue(this.style,mxConstants.STYLE_FILLCOLOR,"#ffffff"),g=mxUtils.getValue(this.style,mxConstants.STYLE_STROKECOLOR,"#666666"),h=mxUtils.getValue(this.style,mxShapeMockupListBox.prototype.cst.TEXT_SIZE,"17").toString(),k=-1,l=b,m=mxUtils.getValue(this.style,mxShapeMockupListBox.prototype.cst.SUB_TEXT,"Sub Text").toString().split(","),n=0;n<m.length;n++){var p=m[n];p.charAt(0)===mxShapeMockupListBox.prototype.cst.SELECTED&&
(p=m[n].substring(1),k=n);p=mxUtils.getSizeForString(p,h,mxConstants.DEFAULT_FONTFAMILY).width;p>l&&(l=p)}a.translate(d,e);b=Math.min(b,l);c=Math.max(c,30+m.length*h*1.5);this.background(a,b,c,f,g);a.setShadow(!1);this.foreground(a,b,c,g,k,m,h)};mxShapeMockupListBox.prototype.background=function(a,d,e,b,c){a.setFillColor(b);a.setStrokeColor(c);a.rect(0,0,d,e);a.fillAndStroke()};
mxShapeMockupListBox.prototype.foreground=function(a,d,e,b,c,f,g){mxUtils.getValue(this.style,mxConstants.STYLE_STROKEWIDTH,"1");b=mxUtils.getValue(this.style,mxShapeMockupListBox.prototype.cst.SELECTED_COLOR,"#ddeeff");-1!==c&&(a.setFillColor(b),a.rect(0,30+c*g*1.5,d,1.5*g),a.fill());a.begin();a.moveTo(0,30);a.lineTo(d,30);a.stroke();c=mxUtils.getValue(this.style,mxShapeMockupListBox.prototype.cst.MAIN_TEXT,"Window Title").toString();b=mxUtils.getValue(this.style,mxShapeMockupListBox.prototype.cst.TEXT_COLOR,
"#666666,#008cff").toString().split(",");a.setFontColor(b[1]);a.setFontSize(g);a.text(10,15,0,0,c,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.setFontColor(b[0]);for(c=0;c<f.length;c++)b=f[c],b.charAt(0)===mxShapeMockupListBox.prototype.cst.SELECTED&&(b=f[c].substring(1)),a.text(10,30+g*(1.5*c+.75),0,0,b,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.rect(0,0,d,e);a.stroke()};mxCellRenderer.registerShape(mxShapeMockupListBox.prototype.cst.SHAPE_LIST_BOX,mxShapeMockupListBox);
function mxShapeMockupPwField(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeMockupPwField,mxShape);mxShapeMockupPwField.prototype.cst={MAIN_TEXT:"mainText",TEXT_COLOR:"textColor",TEXT_SIZE:"textSize",SHAPE_PW_FIELD:"mxgraph.mockup.forms.pwField"};mxShapeMockupPwField.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,b,c);a.setShadow(!1);this.foreground(a,b,c)};
@ -375,14 +375,14 @@ mxCellRenderer.registerShape(mxShapeMockupPwField.prototype.cst.SHAPE_PW_FIELD,m
mxShapeMockupSplitter.prototype.paintVertexShape=function(a,d,e,b,c){b=Math.max(b,35);a.translate(d,e);this.background(a,b,c);a.setShadow(!1);this.foreground(a,b,c)};mxShapeMockupSplitter.prototype.background=function(a,d,e){a.begin();a.moveTo(0,.5*e-5);a.lineTo(d,.5*e-5);a.lineTo(d,.5*e+5);a.lineTo(0,.5*e+5);a.close();a.fill()};
mxShapeMockupSplitter.prototype.foreground=function(a,d,e){var b=mxUtils.getValue(this.style,mxConstants.STYLE_STROKECOLOR,"#999999");a.begin();a.moveTo(0,.5*e-5);a.lineTo(d,.5*e-5);a.moveTo(d,.5*e+5);a.lineTo(0,.5*e+5);a.stroke();a.setFillColor(b);a.ellipse(.5*d-17,.5*e-2,4,4);a.fill();a.ellipse(.5*d-2,.5*e-2,4,4);a.fill();a.ellipse(.5*d+13,.5*e-2,4,4);a.fill()};mxCellRenderer.registerShape(mxShapeMockupSplitter.prototype.cst.SHAPE_SPLITTER,mxShapeMockupSplitter);
function mxShapeMockupWedgeBar(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeMockupWedgeBar,mxShape);mxShapeMockupWedgeBar.prototype.cst={BLOCK:"block",CONE:"cone",HALF_CONE:"halfCone",ROUND:"round",TEXT_SIZE:"textSize",TAB_NAMES:"tabs",TAB_STYLE:"tabStyle",STYLE_FILLCOLOR2:"fillColor2",TEXT_COLOR:"textColor",SEL_TEXT_COLOR:"textColor2",SHAPE_WEDGE_BAR:"mxgraph.mockup.forms.wedgeBar"};
mxShapeMockupWedgeBar.prototype.paintVertexShape=function(a,d,e,b,c){for(var f=mxUtils.getValue(this.style,mxShapeMockupWedgeBar.prototype.cst.TEXT_SIZE,"17").toString(),g=mxUtils.getValue(this.style,mxShapeMockupWedgeBar.prototype.cst.TAB_NAMES,"Tab 1,+Tab 2,Tab 3").toString().split(","),h=1.5*f,k=g.length,l=20+5*(k-1)+20*k,n=[],m=-1,p=0;p<k;p++){var q=g[p];"+"===q.charAt(0)&&(q=q.substring(1),m=p);q=mxUtils.getSizeForString(q,f,mxConstants.DEFAULT_FONTFAMILY).width;n[p]=0===q?42:q;l+=n[p]}b=Math.max(b,
l);c=Math.max(c,h+5);a.translate(d,e);a.setShadow(!1);this.backTabs(a,b,c,5,h,10,5,10,k,n,m);this.focusTab(a,b,c,5,h,10,5,10,k,n,m);this.tabText(a,b,c,5,h,10,5,10,k,n,m,g)};
mxShapeMockupWedgeBar.prototype.backTabs=function(a,d,e,b,c,f,g,h,k,l,n){d=mxUtils.getValue(this.style,mxShapeMockupWedgeBar.prototype.cst.TAB_STYLE,mxShapeMockupWedgeBar.prototype.cst.BLOCK);for(e=0;e<k;e++){var m=l[e]+2*h;n!==e&&(d===mxShapeMockupWedgeBar.prototype.cst.BLOCK?(a.begin(),a.moveTo(f,c),a.lineTo(f,0),a.lineTo(f+m,0),a.lineTo(f+m,c)):d===mxShapeMockupWedgeBar.prototype.cst.CONE?(a.begin(),a.moveTo(f,c),a.lineTo(f+.5*h,0),a.lineTo(f+m-.5*h,0),a.lineTo(f+m,c)):d===mxShapeMockupWedgeBar.prototype.cst.HALF_CONE?
(a.begin(),a.moveTo(f,c),a.lineTo(f+.5*h,0),a.lineTo(f+m,0),a.lineTo(f+m,c)):d===mxShapeMockupWedgeBar.prototype.cst.ROUND&&(a.begin(),a.moveTo(f-b,c),a.arcTo(b,b,0,0,0,f,c-b),a.lineTo(f,b),a.arcTo(b,b,0,0,1,f+b,0),a.lineTo(f+m-b,0),a.arcTo(b,b,0,0,1,f+m,b),a.lineTo(f+m,c-b),a.arcTo(b,b,0,0,0,f+m+b,c)),a.fillAndStroke());f=f+m+g}};
mxShapeMockupWedgeBar.prototype.focusTab=function(a,d,e,b,c,f,g,h,k,l,n){d=mxUtils.getValue(this.style,mxShapeMockupWedgeBar.prototype.cst.TAB_STYLE,mxShapeMockupWedgeBar.prototype.cst.BLOCK);e=mxUtils.getValue(this.style,mxShapeMockupWedgeBar.prototype.cst.STYLE_FILLCOLOR2,"#008cff");a.setStrokeColor(e);a.setFillColor(e);for(e=0;e<=n;e++)k=l[e]+2*h,n===e&&(d===mxShapeMockupWedgeBar.prototype.cst.BLOCK?(a.begin(),a.moveTo(f,c),a.lineTo(f,0),a.lineTo(f+k,0),a.lineTo(f+k,c)):d===mxShapeMockupWedgeBar.prototype.cst.CONE?
mxShapeMockupWedgeBar.prototype.paintVertexShape=function(a,d,e,b,c){for(var f=mxUtils.getValue(this.style,mxShapeMockupWedgeBar.prototype.cst.TEXT_SIZE,"17").toString(),g=mxUtils.getValue(this.style,mxShapeMockupWedgeBar.prototype.cst.TAB_NAMES,"Tab 1,+Tab 2,Tab 3").toString().split(","),h=1.5*f,k=g.length,l=20+5*(k-1)+20*k,m=[],n=-1,p=0;p<k;p++){var q=g[p];"+"===q.charAt(0)&&(q=q.substring(1),n=p);q=mxUtils.getSizeForString(q,f,mxConstants.DEFAULT_FONTFAMILY).width;m[p]=0===q?42:q;l+=m[p]}b=Math.max(b,
l);c=Math.max(c,h+5);a.translate(d,e);a.setShadow(!1);this.backTabs(a,b,c,5,h,10,5,10,k,m,n);this.focusTab(a,b,c,5,h,10,5,10,k,m,n);this.tabText(a,b,c,5,h,10,5,10,k,m,n,g)};
mxShapeMockupWedgeBar.prototype.backTabs=function(a,d,e,b,c,f,g,h,k,l,m){d=mxUtils.getValue(this.style,mxShapeMockupWedgeBar.prototype.cst.TAB_STYLE,mxShapeMockupWedgeBar.prototype.cst.BLOCK);for(e=0;e<k;e++){var n=l[e]+2*h;m!==e&&(d===mxShapeMockupWedgeBar.prototype.cst.BLOCK?(a.begin(),a.moveTo(f,c),a.lineTo(f,0),a.lineTo(f+n,0),a.lineTo(f+n,c)):d===mxShapeMockupWedgeBar.prototype.cst.CONE?(a.begin(),a.moveTo(f,c),a.lineTo(f+.5*h,0),a.lineTo(f+n-.5*h,0),a.lineTo(f+n,c)):d===mxShapeMockupWedgeBar.prototype.cst.HALF_CONE?
(a.begin(),a.moveTo(f,c),a.lineTo(f+.5*h,0),a.lineTo(f+n,0),a.lineTo(f+n,c)):d===mxShapeMockupWedgeBar.prototype.cst.ROUND&&(a.begin(),a.moveTo(f-b,c),a.arcTo(b,b,0,0,0,f,c-b),a.lineTo(f,b),a.arcTo(b,b,0,0,1,f+b,0),a.lineTo(f+n-b,0),a.arcTo(b,b,0,0,1,f+n,b),a.lineTo(f+n,c-b),a.arcTo(b,b,0,0,0,f+n+b,c)),a.fillAndStroke());f=f+n+g}};
mxShapeMockupWedgeBar.prototype.focusTab=function(a,d,e,b,c,f,g,h,k,l,m){d=mxUtils.getValue(this.style,mxShapeMockupWedgeBar.prototype.cst.TAB_STYLE,mxShapeMockupWedgeBar.prototype.cst.BLOCK);e=mxUtils.getValue(this.style,mxShapeMockupWedgeBar.prototype.cst.STYLE_FILLCOLOR2,"#008cff");a.setStrokeColor(e);a.setFillColor(e);for(e=0;e<=m;e++)k=l[e]+2*h,m===e&&(d===mxShapeMockupWedgeBar.prototype.cst.BLOCK?(a.begin(),a.moveTo(f,c),a.lineTo(f,0),a.lineTo(f+k,0),a.lineTo(f+k,c)):d===mxShapeMockupWedgeBar.prototype.cst.CONE?
(a.begin(),a.moveTo(f,c),a.lineTo(f+.5*h,0),a.lineTo(f+k-.5*h,0),a.lineTo(f+k,c)):d===mxShapeMockupWedgeBar.prototype.cst.HALF_CONE?(a.begin(),a.moveTo(f,c),a.lineTo(f+.5*h,0),a.lineTo(f+k,0),a.lineTo(f+k,c)):d===mxShapeMockupWedgeBar.prototype.cst.ROUND&&(a.begin(),a.moveTo(f-b,c),a.arcTo(b,b,0,0,0,f,c-b),a.lineTo(f,b),a.arcTo(b,b,0,0,1,f+b,0),a.lineTo(f+k-b,0),a.arcTo(b,b,0,0,1,f+k,b),a.lineTo(f+k,c-b),a.arcTo(b,b,0,0,0,f+k+b,c)),a.fillAndStroke()),f=f+k+g};
mxShapeMockupWedgeBar.prototype.tabText=function(a,d,e,b,c,f,g,h,k,l,n,m){d=mxUtils.getValue(this.style,mxShapeMockupWedgeBar.prototype.cst.TEXT_COLOR,"#666666");e=mxUtils.getValue(this.style,mxShapeMockupWedgeBar.prototype.cst.SEL_TEXT_COLOR,"#ffffff");b=mxUtils.getValue(this.style,mxShapeMockupWedgeBar.prototype.cst.TEXT_SIZE,"17").toString();a.setFontColor(d);a.setFontSize(b);for(b=0;b<k;b++){var p=m[b];b===n&&a.setFontColor(e);"+"===p.charAt(0)&&(p=p.substring(1));var q=l[b]+2*h;a.text(f+h,.5*
c,0,0,p,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);f=f+q+g;b===n&&a.setFontColor(d)}};mxCellRenderer.registerShape(mxShapeMockupWedgeBar.prototype.cst.SHAPE_WEDGE_BAR,mxShapeMockupWedgeBar);function mxShapeMockupSearchBox(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeMockupSearchBox,mxShape);
mxShapeMockupWedgeBar.prototype.tabText=function(a,d,e,b,c,f,g,h,k,l,m,n){d=mxUtils.getValue(this.style,mxShapeMockupWedgeBar.prototype.cst.TEXT_COLOR,"#666666");e=mxUtils.getValue(this.style,mxShapeMockupWedgeBar.prototype.cst.SEL_TEXT_COLOR,"#ffffff");b=mxUtils.getValue(this.style,mxShapeMockupWedgeBar.prototype.cst.TEXT_SIZE,"17").toString();a.setFontColor(d);a.setFontSize(b);for(b=0;b<k;b++){var p=n[b];b===m&&a.setFontColor(e);"+"===p.charAt(0)&&(p=p.substring(1));var q=l[b]+2*h;a.text(f+h,.5*
c,0,0,p,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);f=f+q+g;b===m&&a.setFontColor(d)}};mxCellRenderer.registerShape(mxShapeMockupWedgeBar.prototype.cst.SHAPE_WEDGE_BAR,mxShapeMockupWedgeBar);function mxShapeMockupSearchBox(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeMockupSearchBox,mxShape);
mxShapeMockupSearchBox.prototype.cst={MAIN_TEXT:"mainText",TEXT_COLOR:"textColor",TEXT_SIZE:"textSize",STROKE_COLOR2:"strokeColor2",SHAPE_SEARCH_BOX:"mxgraph.mockup.forms.searchBox"};mxShapeMockupSearchBox.prototype.customProperties=[{name:"strokeColor2",dispName:"Icon Color",type:"color"}];mxShapeMockupSearchBox.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,b,c);a.setShadow(!1);this.foreground(a,b,c)};
mxShapeMockupSearchBox.prototype.background=function(a,d,e){a.rect(0,0,d,e);a.fillAndStroke()};
mxShapeMockupSearchBox.prototype.foreground=function(a,d,e){var b=mxUtils.getValue(this.style,mxShapeMockupSearchBox.prototype.cst.MAIN_TEXT,"Search"),c=mxUtils.getValue(this.style,mxShapeMockupSearchBox.prototype.cst.TEXT_COLOR,"#666666"),f=mxUtils.getValue(this.style,mxShapeMockupSearchBox.prototype.cst.STROKE_COLOR2,"#008cff"),g=mxUtils.getValue(this.style,mxShapeMockupSearchBox.prototype.cst.TEXT_SIZE,"17");a.setFontColor(c);a.setFontSize(g);a.text(5,.5*e,0,0,b,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE,
@ -396,11 +396,11 @@ a.setFontSize(h);a.text(.27*d,.565*e,0,0,b[7],mxConstants.ALIGN_CENTER,mxConstan
mxShapeMockupCalendar.prototype.cst={SHAPE_CALENDAR:"mxgraph.mockup.forms.calendar",DAYS:"days",SELECTED_DAY:"selDay",PREV_DAYS:"prevDays",FIRST_DAY:"firstDay",START_ON:"startOn",DAY_NAMES:"dayNames",MAIN_TEXT:"mainText",TEXT_SIZE:"textSize",TEXT_COLOR:"textColor",TEXT_COLOR2:"textColor2",STROKE_COLOR2:"strokeColor2",FILL_COLOR2:"fillColor2"};mxShapeMockupCalendar.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,b,c);a.setShadow(!1);this.foreground(a,b,c)};
mxShapeMockupCalendar.prototype.background=function(a,d,e){a.roundrect(0,0,d,e,.0312*d,.0286*e);a.fillAndStroke()};
mxShapeMockupCalendar.prototype.foreground=function(a,d,e){var b=mxUtils.getValue(this.style,mxConstants.STYLE_STROKECOLOR,"#999999"),c=mxUtils.getValue(this.style,mxConstants.STYLE_FILLCOLOR,"#ffffff"),f=mxUtils.getValue(this.style,mxShapeMockupCalendar.prototype.cst.STROKE_COLOR2,"#008cff"),g=mxUtils.getValue(this.style,mxShapeMockupCalendar.prototype.cst.FILL_COLOR2,"#ddeeff"),h=mxUtils.getValue(this.style,mxShapeMockupCalendar.prototype.cst.MAIN_TEXT,""),k=mxUtils.getValue(this.style,mxShapeMockupCalendar.prototype.cst.TEXT_SIZE,
"15"),l=mxUtils.getValue(this.style,mxShapeMockupCalendar.prototype.cst.TEXT_COLOR,"#999999"),n=mxUtils.getValue(this.style,mxShapeMockupCalendar.prototype.cst.TEXT_COLOR2,"#ffffff"),m=parseInt(mxUtils.getValue(this.style,mxShapeMockupCalendar.prototype.cst.DAYS,"30"),10),p=parseInt(mxUtils.getValue(this.style,mxShapeMockupCalendar.prototype.cst.PREV_DAYS,"31"),10),q=parseInt(mxUtils.getValue(this.style,mxShapeMockupCalendar.prototype.cst.FIRST_DAY,"0"),10),u=parseInt(mxUtils.getValue(this.style,
mxShapeMockupCalendar.prototype.cst.START_ON,"6",10)),t=mxUtils.getValue(this.style,mxShapeMockupCalendar.prototype.cst.DAY_NAMES,"Mo,Tu,We,Th,Fr,Sa,Su").toString().split(","),v=parseInt(mxUtils.getValue(this.style,mxShapeMockupCalendar.prototype.cst.SELECTED_DAY,"24"),10);fistDay=Math.max(q,0);u=Math.max(u,0);fistDay=Math.min(q,6);u=Math.min(u,6);a.roundrect(.05*d,.0457*e,.1438*d,.1029*e,.025*d,.0229*e);a.stroke();a.roundrect(.8125*d,.0457*e,.1438*d,.1029*e,.025*d,.0229*e);a.stroke();a.setStrokeWidth(2);
a.setStrokeColor(f);a.begin();a.moveTo(.1438*d,.0743*e);a.lineTo(.1*d,.0971*e);a.lineTo(.1438*d,.12*e);a.moveTo(.8625*d,.0743*e);a.lineTo(.9062*d,.0971*e);a.lineTo(.8625*d,.12*e);a.stroke();a.setFontSize(k);a.setFontColor(l);a.text(.5*d,.0971*e,0,0,h,mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);h=.875*d/7;for(k=0;7>k;k++){var l=.0625*d+.5*h+k*h,r=k+u;6<r&&(r-=7);a.text(l,.2114*e,0,0,t[r],mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0)}a.setStrokeWidth(1);var w=0,
r=t=-1;if(q!==u){a.setStrokeColor(b);a.setFillColor(g);q-=u;0>q&&(q+=7);for(k=0;k<q;k++)l=.0625*d+k*h,a.rect(l,.2686*e,h,.1143*e),a.fillAndStroke(),a.text(l+.5*h,.2686*e+.5*h,0,0,(p-q+k+1).toString(),mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);w=q}a.setFillColor(c);a.setStrokeColor(b);for(k=b=0;k<m;k++)c=k+1,l=.0625*d+w*h,p=.2686*e+b*e*.1143,c===v?(t=l,r=p):(a.rect(l,p,h,.1143*e),a.fillAndStroke(),a.text(l+.5*h,p+.5*h,0,0,c.toString(),mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,
0,null,0,0,0)),6>w?w++:(w=0,b++);k=1;for(a.setFillColor(g);6>b;)l=.0625*d+w*h,p=.2686*e+b*e*.1143,a.rect(l,p,h,.1143*e),a.fillAndStroke(),a.text(l+.5*h,p+.5*h,0,0,k.toString(),mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0),6>w?w++:(w=0,b++),k++;0<=t&&(a.setStrokeColor("#ff0000"),a.setStrokeWidth(2),a.setFillColor(f),a.setFontColor(n),a.rect(t,r,h,.1143*e),a.fillAndStroke(),a.text(t+.5*h,r+.5*h,0,0,v.toString(),mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0))};
"15"),l=mxUtils.getValue(this.style,mxShapeMockupCalendar.prototype.cst.TEXT_COLOR,"#999999"),m=mxUtils.getValue(this.style,mxShapeMockupCalendar.prototype.cst.TEXT_COLOR2,"#ffffff"),n=parseInt(mxUtils.getValue(this.style,mxShapeMockupCalendar.prototype.cst.DAYS,"30"),10),p=parseInt(mxUtils.getValue(this.style,mxShapeMockupCalendar.prototype.cst.PREV_DAYS,"31"),10),q=parseInt(mxUtils.getValue(this.style,mxShapeMockupCalendar.prototype.cst.FIRST_DAY,"0"),10),r=parseInt(mxUtils.getValue(this.style,
mxShapeMockupCalendar.prototype.cst.START_ON,"6",10)),t=mxUtils.getValue(this.style,mxShapeMockupCalendar.prototype.cst.DAY_NAMES,"Mo,Tu,We,Th,Fr,Sa,Su").toString().split(","),u=parseInt(mxUtils.getValue(this.style,mxShapeMockupCalendar.prototype.cst.SELECTED_DAY,"24"),10);fistDay=Math.max(q,0);r=Math.max(r,0);fistDay=Math.min(q,6);r=Math.min(r,6);a.roundrect(.05*d,.0457*e,.1438*d,.1029*e,.025*d,.0229*e);a.stroke();a.roundrect(.8125*d,.0457*e,.1438*d,.1029*e,.025*d,.0229*e);a.stroke();a.setStrokeWidth(2);
a.setStrokeColor(f);a.begin();a.moveTo(.1438*d,.0743*e);a.lineTo(.1*d,.0971*e);a.lineTo(.1438*d,.12*e);a.moveTo(.8625*d,.0743*e);a.lineTo(.9062*d,.0971*e);a.lineTo(.8625*d,.12*e);a.stroke();a.setFontSize(k);a.setFontColor(l);a.text(.5*d,.0971*e,0,0,h,mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);h=.875*d/7;for(k=0;7>k;k++){var l=.0625*d+.5*h+k*h,v=k+r;6<v&&(v-=7);a.text(l,.2114*e,0,0,t[v],mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0)}a.setStrokeWidth(1);var w=0,
v=t=-1;if(q!==r){a.setStrokeColor(b);a.setFillColor(g);q-=r;0>q&&(q+=7);for(k=0;k<q;k++)l=.0625*d+k*h,a.rect(l,.2686*e,h,.1143*e),a.fillAndStroke(),a.text(l+.5*h,.2686*e+.5*h,0,0,(p-q+k+1).toString(),mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);w=q}a.setFillColor(c);a.setStrokeColor(b);for(k=b=0;k<n;k++)c=k+1,l=.0625*d+w*h,p=.2686*e+b*e*.1143,c===u?(t=l,v=p):(a.rect(l,p,h,.1143*e),a.fillAndStroke(),a.text(l+.5*h,p+.5*h,0,0,c.toString(),mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,
0,null,0,0,0)),6>w?w++:(w=0,b++);k=1;for(a.setFillColor(g);6>b;)l=.0625*d+w*h,p=.2686*e+b*e*.1143,a.rect(l,p,h,.1143*e),a.fillAndStroke(),a.text(l+.5*h,p+.5*h,0,0,k.toString(),mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0),6>w?w++:(w=0,b++),k++;0<=t&&(a.setStrokeColor("#ff0000"),a.setStrokeWidth(2),a.setFillColor(f),a.setFontColor(m),a.rect(t,v,h,.1143*e),a.fillAndStroke(),a.text(t+.5*h,v+.5*h,0,0,u.toString(),mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0))};
mxCellRenderer.registerShape(mxShapeMockupCalendar.prototype.cst.SHAPE_CALENDAR,mxShapeMockupCalendar);function mxShapeMockupEmailForm(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeMockupEmailForm,mxShape);mxShapeMockupEmailForm.prototype.cst={MAIN_TEXT:"mainText",TEXT_COLOR:"textColor",SHOW_CC:"showCC",SHOW_BCC:"showBCC",TEXT_SIZE:"textSize",SHAPE_EMAIL_FORM:"mxgraph.mockup.forms.emailForm"};
mxShapeMockupEmailForm.prototype.paintVertexShape=function(a,d,e,b,c){var f=mxUtils.getValue(this.style,mxShapeMockupEmailForm.prototype.cst.TEXT_SIZE,"12"),g=mxUtils.getValue(this.style,mxShapeMockupEmailForm.prototype.cst.SHOW_CC,"true"),h=mxUtils.getValue(this.style,mxShapeMockupEmailForm.prototype.cst.SHOW_BCC,"true"),k=4*f,l=0;"true"===g&&l++;"true"===h&&l++;b=Math.max(b,5*f);c=Math.max(c,10.5*f+l*f*3);a.translate(d,e);this.background(a,b,c,f,k,g,h);a.setShadow(!1);this.foreground(a,b,c,f,k,
g,h)};mxShapeMockupEmailForm.prototype.background=function(a,d,e,b,c,f,g){var h=9*b;"true"===f&&(h+=3*b,a.rect(c,9*b,d-c,1.5*b),a.fillAndStroke());"true"===g&&(a.rect(c,h,d-c,1.5*b),h+=3*b,a.fillAndStroke());a.rect(c,0,d-c,1.5*b);a.fillAndStroke();a.rect(c,3*b,d-c,1.5*b);a.fillAndStroke();a.rect(c,6*b,d-c,1.5*b);a.fillAndStroke();a.rect(0,h,d,e-h);a.fillAndStroke()};
@ -430,8 +430,8 @@ b,.74*c);a.lineTo(.9*b,.24*c);a.stroke();a.setStrokeColor(e);a.begin();a.moveTo(
mxUtils.extend(mxShapeMockupPieChart,mxShape);mxShapeMockupPieChart.prototype.cst={PARTS:"parts",PART_COLORS:"partColors",SHAPE_PIE_CHART:"mxgraph.mockup.graphics.pieChart"};
mxShapeMockupPieChart.prototype.customProperties=[{name:"partsCount",dispName:"partsCount",type:"int",defVal:4,dependentProps:["partColors","parts"]},{name:"partColors",dispName:"Part Colors",type:"staticArr",subType:"color",sizeProperty:"partsCount",subDefVal:"#FFFFFF"},{name:"parts",dispName:"Part Sizes",type:"staticArr",subType:"int",sizeProperty:"partsCount",subDefVal:"10"}];
mxShapeMockupPieChart.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,d,e,b,c);a.setShadow(!1);this.foreground(a,d,e,b,c)};mxShapeMockupPieChart.prototype.background=function(a,d,e,b,c,f,g){a.ellipse(0,0,b,c);a.fillAndStroke()};
mxShapeMockupPieChart.prototype.foreground=function(a,d,e,b,c){d=mxUtils.getValue(this.style,mxShapeMockupPieChart.prototype.cst.PARTS,"10,20,30").toString().split(",");e=d.length;for(var f=mxUtils.getValue(this.style,mxShapeMockupPieChart.prototype.cst.PART_COLORS,"#333333,#666666,#999999").toString().split(","),g=0,h=0;h<e;h++)g+=parseInt(d[h],10);for(h=0;h<e;h++){f.length>h?a.setFillColor(f[h]):a.setFillColor("#ff0000");var k=0,l;l=parseInt(d[h],10)/g;.5===l&&(l=.501);for(var n=0;n<h;n++)k+=parseInt(d[n],
10)/g;l+=k;var m=2*Math.PI*k,p=2*Math.PI*l,n=.5*b-b*Math.sin(m)*.5,m=.5*c-c*Math.cos(m)*.5,q=.5*b-b*Math.sin(p)*.5,p=.5*c-c*Math.cos(p)*.5,u=1;.5>l-k&&(u=0);a.begin();a.moveTo(.5*b,.5*c);a.lineTo(q,p);a.arcTo(.5*b,.5*c,0,u,1,n,m);a.close();a.fillAndStroke()}};mxCellRenderer.registerShape(mxShapeMockupPieChart.prototype.cst.SHAPE_PIE_CHART,mxShapeMockupPieChart);function mxShapeMockupIconGrid(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}
mxShapeMockupPieChart.prototype.foreground=function(a,d,e,b,c){d=mxUtils.getValue(this.style,mxShapeMockupPieChart.prototype.cst.PARTS,"10,20,30").toString().split(",");e=d.length;for(var f=mxUtils.getValue(this.style,mxShapeMockupPieChart.prototype.cst.PART_COLORS,"#333333,#666666,#999999").toString().split(","),g=0,h=0;h<e;h++)g+=parseInt(d[h],10);for(h=0;h<e;h++){f.length>h?a.setFillColor(f[h]):a.setFillColor("#ff0000");var k=0,l;l=parseInt(d[h],10)/g;.5===l&&(l=.501);for(var m=0;m<h;m++)k+=parseInt(d[m],
10)/g;l+=k;var n=2*Math.PI*k,p=2*Math.PI*l,m=.5*b-b*Math.sin(n)*.5,n=.5*c-c*Math.cos(n)*.5,q=.5*b-b*Math.sin(p)*.5,p=.5*c-c*Math.cos(p)*.5,r=1;.5>l-k&&(r=0);a.begin();a.moveTo(.5*b,.5*c);a.lineTo(q,p);a.arcTo(.5*b,.5*c,0,r,1,m,n);a.close();a.fillAndStroke()}};mxCellRenderer.registerShape(mxShapeMockupPieChart.prototype.cst.SHAPE_PIE_CHART,mxShapeMockupPieChart);function mxShapeMockupIconGrid(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}
mxUtils.extend(mxShapeMockupIconGrid,mxShape);mxShapeMockupIconGrid.prototype.cst={GRID_SIZE:"gridSize",SHAPE_ICON_GRID:"mxgraph.mockup.graphics.iconGrid"};mxShapeMockupIconGrid.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=mxUtils.getValue(this.style,mxShapeMockupIconGrid.prototype.cst.GRID_SIZE,"3,3").toString().split(",");this.background(a,b,c,d);a.setShadow(!1);this.foreground(a,b,c,d)};
mxShapeMockupIconGrid.prototype.background=function(a,d,e,b){d/=parseInt(b[0],10)+.5*(b[0]-1);e/=parseInt(b[1],10)+.5*(b[1]-1);for(var c=0;c<b[0];c++)for(var f=0;f<b[1];f++)a.rect(1.5*d*c,1.5*e*f,d,e),a.fillAndStroke()};
mxShapeMockupIconGrid.prototype.foreground=function(a,d,e,b){d/=parseInt(b[0],10)+.5*(b[0]-1);e/=parseInt(b[1],10)+.5*(b[1]-1);for(var c=0;c<b[0];c++)for(var f=0;f<b[1];f++)a.begin(),a.moveTo(1.5*d*c,1.5*e*f),a.lineTo(1.5*d*c+d,1.5*e*f+e),a.moveTo(1.5*d*c+d,1.5*e*f),a.lineTo(1.5*d*c,1.5*e*f+e),a.stroke()};mxCellRenderer.registerShape(mxShapeMockupIconGrid.prototype.cst.SHAPE_ICON_GRID,mxShapeMockupIconGrid);
@ -543,15 +543,15 @@ mxShapeMockupMiscRRect.prototype.cst={RRECT:"mxgraph.mockup.misc.rrect",R_SIZE:"
function mxShapeMockupMiscAnchor(a,d,e,b){mxShape.call(this);this.bounds=a}mxUtils.extend(mxShapeMockupMiscAnchor,mxShape);mxShapeMockupMiscAnchor.prototype.cst={ANCHOR:"mxgraph.mockup.misc.anchor"};mxShapeMockupMiscAnchor.prototype.paintVertexShape=function(a,d,e,b,c){};mxCellRenderer.registerShape(mxShapeMockupMiscAnchor.prototype.cst.ANCHOR,mxShapeMockupMiscAnchor);
function mxShapeMockupBreadcrumb(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeMockupBreadcrumb,mxShape);mxShapeMockupBreadcrumb.prototype.cst={SHAPE_BREADCRUMB:"mxgraph.mockup.navigation.breadcrumb",MAIN_TEXT:"mainText",TEXT_SIZE:"textSize",TEXT_COLOR:"textColor",TEXT_COLOR2:"textColor2"};
mxShapeMockupBreadcrumb.prototype.paintVertexShape=function(a,d,e,b,c){for(var f=mxUtils.getValue(this.style,mxShapeMockupBreadcrumb.prototype.cst.MAIN_TEXT,"Layer 1, Layer 2, Layer 3").toString().split(","),g=mxUtils.getValue(this.style,mxShapeMockupBreadcrumb.prototype.cst.TEXT_COLOR,"#666666"),h=mxUtils.getValue(this.style,mxShapeMockupBreadcrumb.prototype.cst.TEXT_COLOR2,"#008cff"),k=mxUtils.getValue(this.style,mxShapeMockupBreadcrumb.prototype.cst.TEXT_SIZE,"17").toString(),l=mxUtils.getValue(this.style,
mxConstants.STYLE_STROKECOLOR,"#c4c4c4"),n=f.length,m=Array(n),p=0,q=0;q<n;q++)m[q]=mxUtils.getSizeForString(f[q],k,mxConstants.DEFAULT_FONTFAMILY).width,p+=m[q];c=Math.max(c,1.5*k,20);p=20*n+p;b=Math.max(b,p);a.translate(d,e);a.setShadow(!1);this.separators(a,b,c,n,m,10,p,l);for(q=d=0;q<n;q++)q+1===n?a.setFontColor(h):a.setFontColor(g),d+=10,this.buttonText(a,d,c,f[q],m[q],k,p,b),d=d+m[q]+10};
mxConstants.STYLE_STROKECOLOR,"#c4c4c4"),m=f.length,n=Array(m),p=0,q=0;q<m;q++)n[q]=mxUtils.getSizeForString(f[q],k,mxConstants.DEFAULT_FONTFAMILY).width,p+=n[q];c=Math.max(c,1.5*k,20);p=20*m+p;b=Math.max(b,p);a.translate(d,e);a.setShadow(!1);this.separators(a,b,c,m,n,10,p,l);for(q=d=0;q<m;q++)q+1===m?a.setFontColor(h):a.setFontColor(g),d+=10,this.buttonText(a,d,c,f[q],n[q],k,p,b),d=d+n[q]+10};
mxShapeMockupBreadcrumb.prototype.separators=function(a,d,e,b,c,f,g,h){a.setStrokeColor(h);e*=.5;a.begin();for(h=1;h<b;h++){for(var k=0,l=0;l<h;l++)k+=c[l]+2*f;k=k*d/g;a.moveTo(k-2.5,e-5);a.lineTo(k+2.5,e);a.lineTo(k-2.5,e+5)}a.stroke()};mxShapeMockupBreadcrumb.prototype.buttonText=function(a,d,e,b,c,f,g,h){a.begin();a.setFontSize(f);a.text((d+.5*c)*h/g,.5*e,0,0,b,mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0)};
mxCellRenderer.registerShape(mxShapeMockupBreadcrumb.prototype.cst.SHAPE_BREADCRUMB,mxShapeMockupBreadcrumb);function mxShapeMockupStepBar(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeMockupStepBar,mxShape);mxShapeMockupStepBar.prototype.cst={SHAPE_STEP_BAR:"mxgraph.mockup.navigation.stepBar",SELECTED:"+",MAIN_TEXT:"mainText",TEXT_SIZE:"textSize",TEXT_COLOR:"textColor",TEXT_COLOR2:"textColor2"};
mxShapeMockupStepBar.prototype.customProperties=[{name:"mainText",dispName:"Text",type:"string"},{name:"textSize",dispName:"Text Size",type:"float"},{name:"textColor",dispName:"Text Color",type:"color"},{name:"textColor2",dispName:"Text2 Color",type:"color"}];
mxShapeMockupStepBar.prototype.paintVertexShape=function(a,d,e,b,c){for(var f=mxUtils.getValue(this.style,mxShapeMockupStepBar.prototype.cst.MAIN_TEXT,"Step 1, Step 2, Step 3").toString().split(","),g=mxUtils.getValue(this.style,mxShapeMockupStepBar.prototype.cst.TEXT_COLOR,"#666666"),h=mxUtils.getValue(this.style,mxShapeMockupStepBar.prototype.cst.TEXT_COLOR2,"#008cff"),k=mxUtils.getValue(this.style,mxShapeMockupStepBar.prototype.cst.TEXT_SIZE,"17").toString(),l=mxUtils.getValue(this.style,mxConstants.STYLE_STROKECOLOR,
"#c4c4c4"),n=mxUtils.getValue(this.style,mxConstants.STYLE_FILLCOLOR,"#666666"),m=f.length,p=Array(m),q=0,u=-1,t=0;t<m;t++){var v=f[t];v.charAt(0)===mxShapeMockupStepBar.prototype.cst.SELECTED&&(v=f[t].substring(1),u=t);p[t]=mxUtils.getSizeForString(v,k,mxConstants.DEFAULT_FONTFAMILY).width;q+=p[t]}c=Math.max(c,1.5*k,20);q=20*m+q;b=Math.max(b,q);a.translate(d,e);this.stepLineBg(a,b,c,m,p,10,q,l,k,b);a.setShadow(!1);this.stepLineFg(a,b,c,m,p,10,q,l,n,h,k,b,u);for(t=d=0;t<m;t++)t>=u?a.setFontColor(h):
a.setFontColor(g),d+=10,this.buttonText(a,d,c,f[t],p[t],k,q,b),d=d+p[t]+10};mxShapeMockupStepBar.prototype.stepLineBg=function(a,d,e,b,c,f,g,h,k,l){a.setStrokeColor(h);a.setFillColor(h);e=2*k;for(l=k=h=0;l<b;l++){for(var n=0,m=0;m<l;m++)n+=c[m]+2*f;n+=.5*c[l]+f;n=n*d/g;0===l?h=n:l+1===b&&(k=n);a.begin();a.ellipse(n-10,e-10,20,20);a.fillAndStroke()}a.begin();a.rect(h,e-2,k-h,4);a.fillAndStroke()};
mxShapeMockupStepBar.prototype.stepLineFg=function(a,d,e,b,c,f,g,h,k,l,n,m,p){a.setStrokeColor(k);e=2*n;n=b=0;m=mxUtils.getValue(this.style,mxConstants.STYLE_STROKEWIDTH,"1");for(var q=0;q<=p;q++){for(var u=0,t=0;t<q;t++)u+=c[t]+2*f;u+=.5*c[q]+f;u=u*d/g;0===q?b=u:q===p&&(n=u)}a.setFillColor(k);a.begin();a.rect(b,e-1.125,n-b,2.25);a.fill();a.setFillColor(h);for(q=0;q<=p;q++){for(t=u=0;t<q;t++)u+=c[t]+2*f;u+=.5*c[q]+f;u=u*d/g;q<p?(a.setStrokeWidth(m),a.begin(),a.ellipse(u-7.5,e-7.5,15,15),a.fillAndStroke(),
a.setStrokeWidth(.5*m),a.begin(),a.ellipse(u-4.5,e-4.5,9,9)):(a.setStrokeWidth(m),a.setFillColor(h),a.setStrokeColor(h),a.begin(),a.ellipse(u-10,e-10,20,20),a.fillAndStroke(),a.setStrokeWidth(m),a.setFillColor("#ffffff"),a.setStrokeColor("#ffffff"),a.begin(),a.ellipse(u-7.5,e-7.5,15,15),a.fillAndStroke(),a.setFillColor(l),a.setStrokeColor(l),a.setStrokeWidth(.5*m),a.begin(),a.ellipse(u-5.25,e-5.25,10.5,10.5));a.fillAndStroke()}};
"#c4c4c4"),m=mxUtils.getValue(this.style,mxConstants.STYLE_FILLCOLOR,"#666666"),n=f.length,p=Array(n),q=0,r=-1,t=0;t<n;t++){var u=f[t];u.charAt(0)===mxShapeMockupStepBar.prototype.cst.SELECTED&&(u=f[t].substring(1),r=t);p[t]=mxUtils.getSizeForString(u,k,mxConstants.DEFAULT_FONTFAMILY).width;q+=p[t]}c=Math.max(c,1.5*k,20);q=20*n+q;b=Math.max(b,q);a.translate(d,e);this.stepLineBg(a,b,c,n,p,10,q,l,k,b);a.setShadow(!1);this.stepLineFg(a,b,c,n,p,10,q,l,m,h,k,b,r);for(t=d=0;t<n;t++)t>=r?a.setFontColor(h):
a.setFontColor(g),d+=10,this.buttonText(a,d,c,f[t],p[t],k,q,b),d=d+p[t]+10};mxShapeMockupStepBar.prototype.stepLineBg=function(a,d,e,b,c,f,g,h,k,l){a.setStrokeColor(h);a.setFillColor(h);e=2*k;for(l=k=h=0;l<b;l++){for(var m=0,n=0;n<l;n++)m+=c[n]+2*f;m+=.5*c[l]+f;m=m*d/g;0===l?h=m:l+1===b&&(k=m);a.begin();a.ellipse(m-10,e-10,20,20);a.fillAndStroke()}a.begin();a.rect(h,e-2,k-h,4);a.fillAndStroke()};
mxShapeMockupStepBar.prototype.stepLineFg=function(a,d,e,b,c,f,g,h,k,l,m,n,p){a.setStrokeColor(k);e=2*m;m=b=0;n=mxUtils.getValue(this.style,mxConstants.STYLE_STROKEWIDTH,"1");for(var q=0;q<=p;q++){for(var r=0,t=0;t<q;t++)r+=c[t]+2*f;r+=.5*c[q]+f;r=r*d/g;0===q?b=r:q===p&&(m=r)}a.setFillColor(k);a.begin();a.rect(b,e-1.125,m-b,2.25);a.fill();a.setFillColor(h);for(q=0;q<=p;q++){for(t=r=0;t<q;t++)r+=c[t]+2*f;r+=.5*c[q]+f;r=r*d/g;q<p?(a.setStrokeWidth(n),a.begin(),a.ellipse(r-7.5,e-7.5,15,15),a.fillAndStroke(),
a.setStrokeWidth(.5*n),a.begin(),a.ellipse(r-4.5,e-4.5,9,9)):(a.setStrokeWidth(n),a.setFillColor(h),a.setStrokeColor(h),a.begin(),a.ellipse(r-10,e-10,20,20),a.fillAndStroke(),a.setStrokeWidth(n),a.setFillColor("#ffffff"),a.setStrokeColor("#ffffff"),a.begin(),a.ellipse(r-7.5,e-7.5,15,15),a.fillAndStroke(),a.setFillColor(l),a.setStrokeColor(l),a.setStrokeWidth(.5*n),a.begin(),a.ellipse(r-5.25,e-5.25,10.5,10.5));a.fillAndStroke()}};
mxShapeMockupStepBar.prototype.buttonText=function(a,d,e,b,c,f,g,h){b.charAt(0)===mxShapeMockupStepBar.prototype.cst.SELECTED&&(b=b.substring(1));a.begin();a.setFontSize(f);a.text((d+.5*c)*h/g,.5*f,0,0,b,mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0)};mxCellRenderer.registerShape(mxShapeMockupStepBar.prototype.cst.SHAPE_STEP_BAR,mxShapeMockupStepBar);function mxShapeMockupCoverFlow(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}
mxUtils.extend(mxShapeMockupCoverFlow,mxShape);mxShapeMockupCoverFlow.prototype.cst={SHAPE_COVER_FLOW:"mxgraph.mockup.navigation.coverFlow"};
mxShapeMockupCoverFlow.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);a.begin();a.moveTo(.0924*b,.07*c);a.lineTo(.005*b,.01*c);a.lineTo(.005*b,.99*c);a.lineTo(.0924*b,.93*c);a.moveTo(.1774*b,.09*c);a.lineTo(.0924*b,.01*c);a.lineTo(.0924*b,.99*c);a.lineTo(.1774*b,.91*c);a.moveTo(.3373*b,.22*c);a.lineTo(.1774*b,.01*c);a.lineTo(.1774*b,.99*c);a.lineTo(.3373*b,.78*c);a.moveTo(.912*b,.07*c);a.lineTo(.998*b,.01*c);a.lineTo(.998*b,.99*c);a.lineTo(.912*b,.93*c);a.moveTo(.8271*b,.09*c);a.lineTo(.912*
@ -580,19 +580,19 @@ mxShapeMockupLink.prototype.paintVertexShape=function(a,d,e,b,c){var f=mxUtils.g
0,null,0,0,0);a.begin();a.moveTo(.5*b-.5*d,.5*(c+parseInt(g,10)));a.lineTo(.5*b+.5*d,.5*(c+parseInt(g,10)));a.stroke()};mxCellRenderer.registerShape(mxShapeMockupLink.prototype.cst.SHAPE_LINK,mxShapeMockupLink);function mxShapeMockupLinkBar(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeMockupLinkBar,mxShape);
mxShapeMockupLinkBar.prototype.cst={MAIN_TEXT:"mainText",SHAPE_LINK_BAR:"mxgraph.mockup.text.linkBar",TEXT_COLOR:"textColor",TEXT_COLOR2:"textColor2",STROKE_COLOR2:"strokeColor2",FILL_COLOR2:"fillColor2",SELECTED:"+",TEXT_SIZE:"textSize"};
mxShapeMockupLinkBar.prototype.paintVertexShape=function(a,d,e,b,c){for(var f=mxUtils.getValue(this.style,mxShapeMockupLinkBar.prototype.cst.MAIN_TEXT,"+Button 1, Button 2, Button 3").toString().split(","),g=mxUtils.getValue(this.style,mxShapeMockupLinkBar.prototype.cst.TEXT_COLOR,"#666666"),h=mxUtils.getValue(this.style,mxShapeMockupLinkBar.prototype.cst.TEXT_COLOR2,"#ffffff"),k=mxUtils.getValue(this.style,mxShapeMockupLinkBar.prototype.cst.TEXT_SIZE,"17").toString(),l=mxUtils.getValue(this.style,
mxConstants.STYLE_STROKECOLOR,"#666666"),n=mxUtils.getValue(this.style,mxShapeMockupLinkBar.prototype.cst.STROKE_COLOR2,"#c4c4c4"),m=mxUtils.getValue(this.style,mxConstants.STYLE_FILLCOLOR,"#ffffff"),p=mxUtils.getValue(this.style,mxShapeMockupLinkBar.prototype.cst.FILL_COLOR2,"#008cff"),q=f.length,u=Array(q),t=0,v=-1,r=0;r<q;r++){var w=f[r];w.charAt(0)===mxShapeMockupLinkBar.prototype.cst.SELECTED&&(w=f[r].substring(1),v=r);w=mxUtils.getSizeForString(w,k,mxConstants.DEFAULT_FONTFAMILY).width;u[r]=
0===w?42:w;t+=u[r]}c=Math.max(c,1.5*k,20);t=10*q+t;b=Math.max(b,t);a.translate(d,e);this.background(a,b,c,10,q,u,5,t,l,n,m,p,v);a.setShadow(!1);for(r=d=0;r<q;r++)r===v?(a.setFontColor(h),a.setStrokeColor(h)):(a.setFontColor(g),a.setStrokeColor(g)),d+=5,this.buttonText(a,d,c,f[r],u[r],k,t,b),d=d+u[r]+5};
mxShapeMockupLinkBar.prototype.background=function(a,d,e,b,c,f,g,h,k,l,n,m,p){a.begin();a.setStrokeColor(k);a.setFillColor(n);a.rect(0,0,d,e);a.fillAndStroke();a.setStrokeColor(l);a.begin();for(b=1;b<c;b++)if(b!==p&&b!==p+1){for(var q=l=0;q<b;q++)l+=f[q]+2*g;l=l*d/h;a.moveTo(l,0);a.lineTo(l,e)}a.stroke();l=0;a.setFillColor(m);for(b=0;b<p;b++)l+=f[b]+2*g;l=l*d/h;f=(f[p]+2*g)*d/h;f+=l;0===p?(a.rect(0,0,f,e),a.fill()):p===c-1?(a.rect(l,0,f-l,e),a.fill()):-1!==p&&(a.rect(l,0,f-l,e),a.fill());a.setStrokeColor(k);
a.setFillColor(n);a.rect(0,0,d,e);a.stroke()};mxShapeMockupLinkBar.prototype.buttonText=function(a,d,e,b,c,f,g,h){b.charAt(0)===mxShapeMockupLinkBar.prototype.cst.SELECTED&&(b=b.substring(1));a.begin();a.setFontSize(f);a.text((d+.5*c)*h/g,.5*e,0,0,b,mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);var k=.5*mxUtils.getSizeForString(b,f,mxConstants.DEFAULT_FONTFAMILY).width;null!==b&&""!==b&&(a.begin(),a.moveTo((d+.5*c)*h/g-k,.5*e+.5*f),a.lineTo((d+.5*c)*h/g+k,.5*e+.5*f),a.stroke())};
mxConstants.STYLE_STROKECOLOR,"#666666"),m=mxUtils.getValue(this.style,mxShapeMockupLinkBar.prototype.cst.STROKE_COLOR2,"#c4c4c4"),n=mxUtils.getValue(this.style,mxConstants.STYLE_FILLCOLOR,"#ffffff"),p=mxUtils.getValue(this.style,mxShapeMockupLinkBar.prototype.cst.FILL_COLOR2,"#008cff"),q=f.length,r=Array(q),t=0,u=-1,v=0;v<q;v++){var w=f[v];w.charAt(0)===mxShapeMockupLinkBar.prototype.cst.SELECTED&&(w=f[v].substring(1),u=v);w=mxUtils.getSizeForString(w,k,mxConstants.DEFAULT_FONTFAMILY).width;r[v]=
0===w?42:w;t+=r[v]}c=Math.max(c,1.5*k,20);t=10*q+t;b=Math.max(b,t);a.translate(d,e);this.background(a,b,c,10,q,r,5,t,l,m,n,p,u);a.setShadow(!1);for(v=d=0;v<q;v++)v===u?(a.setFontColor(h),a.setStrokeColor(h)):(a.setFontColor(g),a.setStrokeColor(g)),d+=5,this.buttonText(a,d,c,f[v],r[v],k,t,b),d=d+r[v]+5};
mxShapeMockupLinkBar.prototype.background=function(a,d,e,b,c,f,g,h,k,l,m,n,p){a.begin();a.setStrokeColor(k);a.setFillColor(m);a.rect(0,0,d,e);a.fillAndStroke();a.setStrokeColor(l);a.begin();for(b=1;b<c;b++)if(b!==p&&b!==p+1){for(var q=l=0;q<b;q++)l+=f[q]+2*g;l=l*d/h;a.moveTo(l,0);a.lineTo(l,e)}a.stroke();l=0;a.setFillColor(n);for(b=0;b<p;b++)l+=f[b]+2*g;l=l*d/h;f=(f[p]+2*g)*d/h;f+=l;0===p?(a.rect(0,0,f,e),a.fill()):p===c-1?(a.rect(l,0,f-l,e),a.fill()):-1!==p&&(a.rect(l,0,f-l,e),a.fill());a.setStrokeColor(k);
a.setFillColor(m);a.rect(0,0,d,e);a.stroke()};mxShapeMockupLinkBar.prototype.buttonText=function(a,d,e,b,c,f,g,h){b.charAt(0)===mxShapeMockupLinkBar.prototype.cst.SELECTED&&(b=b.substring(1));a.begin();a.setFontSize(f);a.text((d+.5*c)*h/g,.5*e,0,0,b,mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);var k=.5*mxUtils.getSizeForString(b,f,mxConstants.DEFAULT_FONTFAMILY).width;null!==b&&""!==b&&(a.begin(),a.moveTo((d+.5*c)*h/g-k,.5*e+.5*f),a.lineTo((d+.5*c)*h/g+k,.5*e+.5*f),a.stroke())};
mxCellRenderer.registerShape(mxShapeMockupLinkBar.prototype.cst.SHAPE_LINK_BAR,mxShapeMockupLinkBar);function mxShapeMockupCallout(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeMockupCallout,mxShape);
mxShapeMockupCallout.prototype.cst={CALLOUT_TEXT:"linkText",CALLOUT_DIR:"callDir",CALLOUT_STYLE:"callStyle",STYLE_LINE:"line",STYLE_RECT:"rect",STYLE_ROUNDRECT:"roundRect",DIR_NW:"NW",DIR_NE:"NE",DIR_SE:"SE",DIR_SW:"SW",TEXT_SIZE:"textSize",TEXT_COLOR:"textColor",SHAPE_CALLOUT:"mxgraph.mockup.text.callout"};
mxShapeMockupCallout.prototype.customProperties=[{name:"callDir",dispName:"Direction",type:"enum",enumList:[{val:"NW",dispName:"North-West"},{val:"NE",dispName:"North-East"},{val:"SE",dispName:"South-East"},{val:"SW",dispName:"South-West"}]},{name:"callStyle",dispName:"Style",type:"enum",enumList:[{val:"line",dispName:"Line"},{val:"rect",dispName:"Rectangle"}]}];
mxShapeMockupCallout.prototype.paintVertexShape=function(a,d,e,b,c){var f=mxUtils.getValue(this.style,mxShapeMockupCallout.prototype.cst.CALLOUT_TEXT,"Callout"),g=mxUtils.getValue(this.style,mxShapeMockupCallout.prototype.cst.TEXT_SIZE,"17"),h=mxUtils.getValue(this.style,mxShapeMockupCallout.prototype.cst.TEXT_COLOR,"#666666"),k=mxUtils.getValue(this.style,mxShapeMockupCallout.prototype.cst.CALLOUT_STYLE,mxShapeMockupCallout.prototype.cst.STYLE_LINE),l=mxUtils.getValue(this.style,mxShapeMockupCallout.prototype.cst.CALLOUT_DIR,
mxShapeMockupCallout.prototype.cst.DIR_NW),n=mxUtils.getSizeForString(f,g,mxConstants.DEFAULT_FONTFAMILY).width,n=1.2*n;0==n&&(n=70);a.translate(d,e);a.setFontSize(g);a.setFontColor(h);d=1.5*g;l===mxShapeMockupCallout.prototype.cst.DIR_NW?(k===mxShapeMockupCallout.prototype.cst.STYLE_LINE?(a.begin(),a.moveTo(0,d),a.lineTo(n,d),a.lineTo(b,c),a.stroke()):k===mxShapeMockupCallout.prototype.cst.STYLE_RECT?(a.rect(0,0,n,d),a.fillAndStroke(),a.begin(),a.moveTo(.5*n,d),a.lineTo(b,c),a.stroke()):k===mxShapeMockupCallout.prototype.cst.STYLE_ROUNDRECT&&
(a.roundrect(0,0,n,d,.25*d,.25*d),a.fillAndStroke(),a.begin(),a.moveTo(.5*n,d),a.lineTo(b,c),a.stroke()),a.text(.5*n,.5*d,0,0,f,mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0)):l===mxShapeMockupCallout.prototype.cst.DIR_NE?(k===mxShapeMockupCallout.prototype.cst.STYLE_LINE?(a.begin(),a.moveTo(b,d),a.lineTo(b-n,d),a.lineTo(0,c),a.stroke()):k===mxShapeMockupCallout.prototype.cst.STYLE_RECT?(a.rect(b-n,0,n,d),a.fillAndStroke(),a.begin(),a.moveTo(b-.5*n,d),a.lineTo(0,c),a.stroke()):k===
mxShapeMockupCallout.prototype.cst.STYLE_ROUNDRECT&&(a.roundrect(b-n,0,n,d,.25*d,.25*d),a.fillAndStroke(),a.begin(),a.moveTo(b-.5*n,d),a.lineTo(0,c),a.stroke()),a.text(b-.5*n,.5*d,0,0,f,mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0)):l===mxShapeMockupCallout.prototype.cst.DIR_SE?(k===mxShapeMockupCallout.prototype.cst.STYLE_LINE?(a.begin(),a.moveTo(b,c),a.lineTo(b-n,c),a.lineTo(0,0),a.stroke()):k===mxShapeMockupCallout.prototype.cst.STYLE_RECT?(a.rect(b-n,c-d,n,d),a.fillAndStroke(),
a.begin(),a.moveTo(b-.5*n,c-d),a.lineTo(0,0),a.stroke()):k===mxShapeMockupCallout.prototype.cst.STYLE_ROUNDRECT&&(a.roundrect(b-n,c-d,n,d,.25*d,.25*d),a.fillAndStroke(),a.begin(),a.moveTo(b-.5*n,c-d),a.lineTo(0,0),a.stroke()),a.text(b-.5*n,c-.5*d,0,0,f,mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0)):l===mxShapeMockupCallout.prototype.cst.DIR_SW&&(k===mxShapeMockupCallout.prototype.cst.STYLE_LINE?(a.begin(),a.moveTo(0,c),a.lineTo(n,c),a.lineTo(b,0),a.stroke()):k===mxShapeMockupCallout.prototype.cst.STYLE_RECT?
(a.rect(0,c-d,n,d),a.fillAndStroke(),a.begin(),a.moveTo(.5*n,c-d),a.lineTo(b,0),a.stroke()):k===mxShapeMockupCallout.prototype.cst.STYLE_ROUNDRECT&&(a.roundrect(0,c-d,n,d,.25*d,.25*d),a.fillAndStroke(),a.begin(),a.moveTo(.5*n,c-d),a.lineTo(b,0),a.stroke()),a.text(.5*n,c-.5*d,0,0,f,mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0))};mxCellRenderer.registerShape(mxShapeMockupCallout.prototype.cst.SHAPE_CALLOUT,mxShapeMockupCallout);
mxShapeMockupCallout.prototype.cst.DIR_NW),m=mxUtils.getSizeForString(f,g,mxConstants.DEFAULT_FONTFAMILY).width,m=1.2*m;0==m&&(m=70);a.translate(d,e);a.setFontSize(g);a.setFontColor(h);d=1.5*g;l===mxShapeMockupCallout.prototype.cst.DIR_NW?(k===mxShapeMockupCallout.prototype.cst.STYLE_LINE?(a.begin(),a.moveTo(0,d),a.lineTo(m,d),a.lineTo(b,c),a.stroke()):k===mxShapeMockupCallout.prototype.cst.STYLE_RECT?(a.rect(0,0,m,d),a.fillAndStroke(),a.begin(),a.moveTo(.5*m,d),a.lineTo(b,c),a.stroke()):k===mxShapeMockupCallout.prototype.cst.STYLE_ROUNDRECT&&
(a.roundrect(0,0,m,d,.25*d,.25*d),a.fillAndStroke(),a.begin(),a.moveTo(.5*m,d),a.lineTo(b,c),a.stroke()),a.text(.5*m,.5*d,0,0,f,mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0)):l===mxShapeMockupCallout.prototype.cst.DIR_NE?(k===mxShapeMockupCallout.prototype.cst.STYLE_LINE?(a.begin(),a.moveTo(b,d),a.lineTo(b-m,d),a.lineTo(0,c),a.stroke()):k===mxShapeMockupCallout.prototype.cst.STYLE_RECT?(a.rect(b-m,0,m,d),a.fillAndStroke(),a.begin(),a.moveTo(b-.5*m,d),a.lineTo(0,c),a.stroke()):k===
mxShapeMockupCallout.prototype.cst.STYLE_ROUNDRECT&&(a.roundrect(b-m,0,m,d,.25*d,.25*d),a.fillAndStroke(),a.begin(),a.moveTo(b-.5*m,d),a.lineTo(0,c),a.stroke()),a.text(b-.5*m,.5*d,0,0,f,mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0)):l===mxShapeMockupCallout.prototype.cst.DIR_SE?(k===mxShapeMockupCallout.prototype.cst.STYLE_LINE?(a.begin(),a.moveTo(b,c),a.lineTo(b-m,c),a.lineTo(0,0),a.stroke()):k===mxShapeMockupCallout.prototype.cst.STYLE_RECT?(a.rect(b-m,c-d,m,d),a.fillAndStroke(),
a.begin(),a.moveTo(b-.5*m,c-d),a.lineTo(0,0),a.stroke()):k===mxShapeMockupCallout.prototype.cst.STYLE_ROUNDRECT&&(a.roundrect(b-m,c-d,m,d,.25*d,.25*d),a.fillAndStroke(),a.begin(),a.moveTo(b-.5*m,c-d),a.lineTo(0,0),a.stroke()),a.text(b-.5*m,c-.5*d,0,0,f,mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0)):l===mxShapeMockupCallout.prototype.cst.DIR_SW&&(k===mxShapeMockupCallout.prototype.cst.STYLE_LINE?(a.begin(),a.moveTo(0,c),a.lineTo(m,c),a.lineTo(b,0),a.stroke()):k===mxShapeMockupCallout.prototype.cst.STYLE_RECT?
(a.rect(0,c-d,m,d),a.fillAndStroke(),a.begin(),a.moveTo(.5*m,c-d),a.lineTo(b,0),a.stroke()):k===mxShapeMockupCallout.prototype.cst.STYLE_ROUNDRECT&&(a.roundrect(0,c-d,m,d,.25*d,.25*d),a.fillAndStroke(),a.begin(),a.moveTo(.5*m,c-d),a.lineTo(b,0),a.stroke()),a.text(.5*m,c-.5*d,0,0,f,mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0))};mxCellRenderer.registerShape(mxShapeMockupCallout.prototype.cst.SHAPE_CALLOUT,mxShapeMockupCallout);
function mxShapeMockupStickyNote(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeMockupStickyNote,mxShape);mxShapeMockupStickyNote.prototype.cst={MAIN_TEXT:"mainText",TEXT_COLOR:"textColor",TEXT_SIZE:"textSize",SHAPE_STICKY_NOTE:"mxgraph.mockup.text.stickyNote"};mxShapeMockupStickyNote.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,b,c);a.setShadow(!1);this.foreground(a,b,c)};
mxShapeMockupStickyNote.prototype.background=function(a,d,e){a.setFillColor("#ffffcc");a.begin();a.moveTo(.03*d,.07*e);a.lineTo(.89*d,.06*e);a.arcTo(2.81*d,2.92*e,1,0,0,.99*d,.98*e);a.lineTo(.09*d,.99*e);a.arcTo(2.81*d,2.92*e,1,0,1,.03*d,.07*e);a.close();a.fill()};
mxShapeMockupStickyNote.prototype.foreground=function(a,d,e){var b=mxUtils.getValue(this.style,mxShapeMockupStickyNote.prototype.cst.MAIN_TEXT,"Note line 1,Note line 2,Note line 3").toString().split(","),c=mxUtils.getValue(this.style,mxShapeMockupStickyNote.prototype.cst.TEXT_COLOR,"#666666").toString(),f=mxUtils.getValue(this.style,mxShapeMockupStickyNote.prototype.cst.TEXT_SIZE,"17").toString();a.setFillColor("#ff3300");a.begin();a.moveTo(.28*d,0);a.lineTo(.59*d,0);a.lineTo(.6*d,.12*e);a.lineTo(.28*
@ -656,11 +656,11 @@ a.moveTo(0,.9415*c);a.lineTo(.1036*b,.8821*c);a.lineTo(.2343*b,.959*c);a.lineTo(
b,.7759*c);a.lineTo(.7171*b,.7982*c);a.lineTo(.4564*b,c);a.close();a.fillAndStroke();a.begin();a.moveTo(.4986*b,c);a.lineTo(.7386*b,.8125*c);a.lineTo(.9307*b,.925*c);a.lineTo(.8264*b,c);a.close();a.fillAndStroke();a.begin();a.moveTo(.8671*b,c);a.lineTo(.9464*b,.9491*c);a.lineTo(b,.975*c);a.lineTo(b,c);a.close();a.fillAndStroke();a.begin();a.moveTo(.2295*b,c);a.lineTo(.2648*b,.9792*c);a.lineTo(.2981*b,c);a.close();a.fillAndStroke();a.setStrokeWidth(1);a.setStrokeColor(e);a.begin();a.rect(0,0,b,c);
a.stroke()};mxCellRenderer.registerShape(mxMockupC.SHAPE_IBG_MAP,mxShapeMockupiBgMap);function mxShapeMockupiButtonBar(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeMockupiButtonBar,mxShape);
mxShapeMockupiButtonBar.prototype.customProperties=[{name:"buttonText",dispName:"Labels",type:"string"},{name:"textColor",dispName:"Text Color",type:"color"},{name:"textColor2",dispName:"Text2 Color",type:"color"},{name:"strokeColor2",dispName:"Stroke2 Color",type:"color"}];
mxShapeMockupiButtonBar.prototype.paintVertexShape=function(a,d,e,b,c){for(var f=mxUtils.getValue(this.style,mxMockupC.BUTTON_TEXT,"+Button 1, Button 2, Button 3").toString().split(","),g=mxUtils.getValue(this.style,mxMockupC.STYLE_TEXTCOLOR,"#666666"),h=mxUtils.getValue(this.style,mxMockupC.STYLE_TEXTCOLOR2,"#ffffff"),k=mxUtils.getValue(this.style,mxConstants.STYLE_FONTSIZE,"17").toString(),l=mxUtils.getValue(this.style,mxConstants.STYLE_STROKECOLOR,"#666666"),n=mxUtils.getValue(this.style,mxMockupC.STYLE_STROKECOLOR2,
"#c4c4c4"),m=mxUtils.getValue(this.style,mxConstants.STYLE_FILLCOLOR,"#ffffff"),p=f.length,q=0,u=-1,t=0;t<p;t++){var v=f[t];v.charAt(0)===mxMockupC.SELECTED&&(v=f[t].substring(1),u=t);v=mxUtils.getSizeForString(v,k,mxConstants.DEFAULT_FONTFAMILY).width;v>q&&(q=v)}var r=1.5*k,w=p*r;c=Math.max(c,w);b=Math.max(b,5+q);a.translate(d,e);this.background(a,b,c,2.5,p,2.5,p*r,l,n,m,u,r);a.setShadow(!1);this.foreground(a,b,c,2.5,p,2.5,p*r,l,n,m,u,r);for(t=v=0;t<p;t++)t===u?a.setFontColor(h):a.setFontColor(g),
v+=2.5,this.buttonText(a,b,(t*r+.5*r)*c/w,f[t],k,n)};mxShapeMockupiButtonBar.prototype.background=function(a,d,e,b,c,f,g,h,k,l,n,m){a.begin();a.setStrokeWidth(1);a.setStrokeColor(h);a.setFillColor(l);a.moveTo(0,b);a.arcTo(b,b,0,0,1,b,0);a.lineTo(d-b,0);a.arcTo(b,b,0,0,1,d,b);a.lineTo(d,e-b);a.arcTo(b,b,0,0,1,d-b,e);a.lineTo(b,e);a.arcTo(b,b,0,0,1,0,e-b);a.close();a.fillAndStroke()};
mxShapeMockupiButtonBar.prototype.foreground=function(a,d,e,b,c,f,g,h,k,l,n,m){f=mxUtils.getValue(this.style,mxConstants.STYLE_STROKEWIDTH,"1");a.setStrokeWidth(f);a.setStrokeColor(k);a.begin();for(k=1;k<c;k++)k!==n&&k!==n+1&&(f=k*m*e/g,a.moveTo(0,f),a.lineTo(d,f));a.stroke();a.setStrokeColor(mxConstants.NONE);0===n?(a.begin(),g=m*e/g,a.setGradient("#5D7585","#008cff",0,0,d,g,mxConstants.DIRECTION_SOUTH,1,1),a.moveTo(0,b),a.arcTo(b,b,0,0,1,b,0),a.lineTo(d-b,0),a.arcTo(b,b,0,0,1,d,b),a.lineTo(d,g),
a.lineTo(0,g),a.close(),a.fill()):n===c-1?(a.begin(),c=e-m*e/g,a.setGradient("#5D7585","#008cff",0,c,d,e-c,mxConstants.DIRECTION_SOUTH,1,1),a.moveTo(0,c),a.lineTo(d,c),a.lineTo(d,e-b),a.arcTo(b,b,0,0,1,d-b,e),a.lineTo(b,e),a.arcTo(b,b,0,0,1,0,e-b),a.close(),a.fill()):-1!==n&&(a.begin(),c=m*n*e/g,g=m*(n+1)*e/g,a.setGradient("#5D7585","#008cff",0,c,d,g-c,mxConstants.DIRECTION_SOUTH,1,1),a.moveTo(0,c),a.lineTo(d,c),a.lineTo(d,g),a.lineTo(0,g),a.close(),a.fill());a.begin();a.setStrokeColor(h);a.setFillColor(l);
mxShapeMockupiButtonBar.prototype.paintVertexShape=function(a,d,e,b,c){for(var f=mxUtils.getValue(this.style,mxMockupC.BUTTON_TEXT,"+Button 1, Button 2, Button 3").toString().split(","),g=mxUtils.getValue(this.style,mxMockupC.STYLE_TEXTCOLOR,"#666666"),h=mxUtils.getValue(this.style,mxMockupC.STYLE_TEXTCOLOR2,"#ffffff"),k=mxUtils.getValue(this.style,mxConstants.STYLE_FONTSIZE,"17").toString(),l=mxUtils.getValue(this.style,mxConstants.STYLE_STROKECOLOR,"#666666"),m=mxUtils.getValue(this.style,mxMockupC.STYLE_STROKECOLOR2,
"#c4c4c4"),n=mxUtils.getValue(this.style,mxConstants.STYLE_FILLCOLOR,"#ffffff"),p=f.length,q=0,r=-1,t=0;t<p;t++){var u=f[t];u.charAt(0)===mxMockupC.SELECTED&&(u=f[t].substring(1),r=t);u=mxUtils.getSizeForString(u,k,mxConstants.DEFAULT_FONTFAMILY).width;u>q&&(q=u)}var v=1.5*k,w=p*v;c=Math.max(c,w);b=Math.max(b,5+q);a.translate(d,e);this.background(a,b,c,2.5,p,2.5,p*v,l,m,n,r,v);a.setShadow(!1);this.foreground(a,b,c,2.5,p,2.5,p*v,l,m,n,r,v);for(t=u=0;t<p;t++)t===r?a.setFontColor(h):a.setFontColor(g),
u+=2.5,this.buttonText(a,b,(t*v+.5*v)*c/w,f[t],k,m)};mxShapeMockupiButtonBar.prototype.background=function(a,d,e,b,c,f,g,h,k,l,m,n){a.begin();a.setStrokeWidth(1);a.setStrokeColor(h);a.setFillColor(l);a.moveTo(0,b);a.arcTo(b,b,0,0,1,b,0);a.lineTo(d-b,0);a.arcTo(b,b,0,0,1,d,b);a.lineTo(d,e-b);a.arcTo(b,b,0,0,1,d-b,e);a.lineTo(b,e);a.arcTo(b,b,0,0,1,0,e-b);a.close();a.fillAndStroke()};
mxShapeMockupiButtonBar.prototype.foreground=function(a,d,e,b,c,f,g,h,k,l,m,n){f=mxUtils.getValue(this.style,mxConstants.STYLE_STROKEWIDTH,"1");a.setStrokeWidth(f);a.setStrokeColor(k);a.begin();for(k=1;k<c;k++)k!==m&&k!==m+1&&(f=k*n*e/g,a.moveTo(0,f),a.lineTo(d,f));a.stroke();a.setStrokeColor(mxConstants.NONE);0===m?(a.begin(),g=n*e/g,a.setGradient("#5D7585","#008cff",0,0,d,g,mxConstants.DIRECTION_SOUTH,1,1),a.moveTo(0,b),a.arcTo(b,b,0,0,1,b,0),a.lineTo(d-b,0),a.arcTo(b,b,0,0,1,d,b),a.lineTo(d,g),
a.lineTo(0,g),a.close(),a.fill()):m===c-1?(a.begin(),c=e-n*e/g,a.setGradient("#5D7585","#008cff",0,c,d,e-c,mxConstants.DIRECTION_SOUTH,1,1),a.moveTo(0,c),a.lineTo(d,c),a.lineTo(d,e-b),a.arcTo(b,b,0,0,1,d-b,e),a.lineTo(b,e),a.arcTo(b,b,0,0,1,0,e-b),a.close(),a.fill()):-1!==m&&(a.begin(),c=n*m*e/g,g=n*(m+1)*e/g,a.setGradient("#5D7585","#008cff",0,c,d,g-c,mxConstants.DIRECTION_SOUTH,1,1),a.moveTo(0,c),a.lineTo(d,c),a.lineTo(d,g),a.lineTo(0,g),a.close(),a.fill());a.begin();a.setStrokeColor(h);a.setFillColor(l);
a.moveTo(0,b);a.arcTo(b,b,0,0,1,b,0);a.lineTo(d-b,0);a.arcTo(b,b,0,0,1,d,b);a.lineTo(d,e-b);a.arcTo(b,b,0,0,1,d-b,e);a.lineTo(b,e);a.arcTo(b,b,0,0,1,0,e-b);a.close();a.stroke()};
mxShapeMockupiButtonBar.prototype.buttonText=function(a,d,e,b,c,f){b.charAt(0)===mxMockupC.SELECTED&&(b=b.substring(1));a.setFontSize(c);a.text(10,e,0,0,b,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);b=.5*c;a.setStrokeWidth(.3*c);a.setStrokeColor(f);a.begin();a.moveTo(d-20-b,e-b);a.lineTo(d-20,e);a.lineTo(d-20-b,e+b);a.stroke()};mxCellRenderer.registerShape(mxMockupC.SHAPE_IBUTTON_BAR,mxShapeMockupiButtonBar);
function mxShapeMockupiAppBar(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeMockupiAppBar,mxShape);mxShapeMockupiAppBar.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,d,e,b,c);a.setShadow(!1);this.foreground(a,d,e,b,c)};mxShapeMockupiAppBar.prototype.background=function(a,d,e,b,c){a.setGradient("#eeeeee","#999999",0,0,b,c,mxConstants.DIRECTION_SOUTH,1,1);a.rect(0,0,b,c);a.fill()};
@ -692,11 +692,11 @@ mxShapeMockupiPrevNextButton.prototype.foreground=function(a,d,e,b,c){d=mxUtils.
function mxShapeMockupiTextInput(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeMockupiTextInput,mxShape);
mxShapeMockupiTextInput.prototype.paintVertexShape=function(a,d,e,b,c){var f=mxUtils.getValue(this.style,mxMockupC.BUTTON_TEXT,"Main Text"),g=mxUtils.getValue(this.style,mxMockupC.STYLE_TEXTCOLOR2,"#000000").toString(),h=mxUtils.getValue(this.style,mxConstants.STYLE_FONTSIZE,"8").toString();a.translate(d,e);this.background(a,d,e,b,c);a.setShadow(!1);this.mainText(a,d,e,b,c,f,h,g)};mxShapeMockupiTextInput.prototype.background=function(a,d,e,b,c){a.roundrect(0,0,b,c,2.5,2.5);a.fillAndStroke()};
mxShapeMockupiTextInput.prototype.mainText=function(a,d,e,b,c,f,g,h){a.begin();a.setFontSize(g);a.setFontColor(h);a.text(2,.5*c,0,0,f,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE,0,null,0,0,0)};mxCellRenderer.registerShape(mxMockupC.SHAPE_ITEXT_INPUT,mxShapeMockupiTextInput);function mxShapeMockupiRadioGroup(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeMockupiRadioGroup,mxShape);
mxShapeMockupiRadioGroup.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);var f=mxUtils.getValue(this.style,mxMockupC.STYLE_TEXTCOLOR2,"#666666").toString(),g=mxUtils.getValue(this.style,mxConstants.STYLE_FONTSIZE,"8").toString();d=mxUtils.getValue(this.style,mxMockupC.BUTTON_TEXT,"Option 1").toString().split(",");e=d.length;var h=Math.max(1.5*g,5),k=0,l=-1,n=e*h;c=Math.max(c,n);for(var m=0;m<e;m++){var p=d[m];p.charAt(0)===mxMockupC.SELECTED&&(p=d[m].substring(1),l=m);p=mxUtils.getSizeForString(p,
g,mxConstants.DEFAULT_FONTFAMILY).width;p>k&&(k=p)}a.roundrect(0,0,Math.max(b,5+k+10),c,2.5,2.5);a.fillAndStroke();a.setShadow(!1);a.setFontSize(g);a.setFontColor(f);for(m=0;m<e;m++)b=(m*h+.5*h)*c/n,p=d[m],p.charAt(0)===mxMockupC.SELECTED&&(p=d[m].substring(1),l=m),a.text(12.5,b,0,0,p,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE,0,null,0,0,0),b-=2.5,a.setFillColor("#dddddd"),a.setStrokeColor("#000000"),l===m?(a.setGradient("#aaaaaa","#666666",2.5,b,5,5,mxConstants.DIRECTION_SOUTH,1,1),a.ellipse(2.5,
mxShapeMockupiRadioGroup.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);var f=mxUtils.getValue(this.style,mxMockupC.STYLE_TEXTCOLOR2,"#666666").toString(),g=mxUtils.getValue(this.style,mxConstants.STYLE_FONTSIZE,"8").toString();d=mxUtils.getValue(this.style,mxMockupC.BUTTON_TEXT,"Option 1").toString().split(",");e=d.length;var h=Math.max(1.5*g,5),k=0,l=-1,m=e*h;c=Math.max(c,m);for(var n=0;n<e;n++){var p=d[n];p.charAt(0)===mxMockupC.SELECTED&&(p=d[n].substring(1),l=n);p=mxUtils.getSizeForString(p,
g,mxConstants.DEFAULT_FONTFAMILY).width;p>k&&(k=p)}a.roundrect(0,0,Math.max(b,5+k+10),c,2.5,2.5);a.fillAndStroke();a.setShadow(!1);a.setFontSize(g);a.setFontColor(f);for(n=0;n<e;n++)b=(n*h+.5*h)*c/m,p=d[n],p.charAt(0)===mxMockupC.SELECTED&&(p=d[n].substring(1),l=n),a.text(12.5,b,0,0,p,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE,0,null,0,0,0),b-=2.5,a.setFillColor("#dddddd"),a.setStrokeColor("#000000"),l===n?(a.setGradient("#aaaaaa","#666666",2.5,b,5,5,mxConstants.DIRECTION_SOUTH,1,1),a.ellipse(2.5,
b,5,5),a.fillAndStroke(),a.setFillColor("#333333"),a.setStrokeColor("#333333"),a.ellipse(3.75,b+1.25,2.5,2.5)):(a.setGradient("#eeeeee","#cccccc",2.5,b,5,5,mxConstants.DIRECTION_SOUTH,1,1),a.ellipse(2.5,b,5,5)),a.fillAndStroke()};mxCellRenderer.registerShape(mxMockupC.SHAPE_IRADIO_GROUP,mxShapeMockupiRadioGroup);function mxShapeMockupiCheckboxGroup(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeMockupiCheckboxGroup,mxShape);
mxShapeMockupiCheckboxGroup.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);var f=mxUtils.getValue(this.style,mxMockupC.STYLE_TEXTCOLOR2,"#666666").toString(),g=mxUtils.getValue(this.style,mxConstants.STYLE_FONTSIZE,"8").toString();d=mxUtils.getValue(this.style,mxMockupC.BUTTON_TEXT,"Option 1").toString().split(",");e=d.length;var h=Math.max(1.5*g,5),k=0,l=-1,n=e*h;c=Math.max(c,n);for(var m=0;m<e;m++){var p=d[m];p.charAt(0)===mxMockupC.SELECTED&&(p=d[m].substring(1),l=m);p=mxUtils.getSizeForString(p,
g,mxConstants.DEFAULT_FONTFAMILY).width;p>k&&(k=p)}a.roundrect(0,0,Math.max(b,5+k+10),c,2.5,2.5);a.fillAndStroke();a.setShadow(!1);a.setFontSize(g);a.setFontColor(f);for(m=0;m<e;m++)b=(m*h+.5*h)*c/n,p=d[m],p.charAt(0)===mxMockupC.SELECTED&&(p=d[m].substring(1),l=m),a.text(12.5,b,0,0,p,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE,0,null,0,0,0),b-=2.5,a.setFillColor("#dddddd"),a.setStrokeColor("#000000"),l===m?(a.setGradient("#aaaaaa","#666666",2.5,b,5,5,mxConstants.DIRECTION_SOUTH,1,1),a.rect(2.5,
mxShapeMockupiCheckboxGroup.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);var f=mxUtils.getValue(this.style,mxMockupC.STYLE_TEXTCOLOR2,"#666666").toString(),g=mxUtils.getValue(this.style,mxConstants.STYLE_FONTSIZE,"8").toString();d=mxUtils.getValue(this.style,mxMockupC.BUTTON_TEXT,"Option 1").toString().split(",");e=d.length;var h=Math.max(1.5*g,5),k=0,l=-1,m=e*h;c=Math.max(c,m);for(var n=0;n<e;n++){var p=d[n];p.charAt(0)===mxMockupC.SELECTED&&(p=d[n].substring(1),l=n);p=mxUtils.getSizeForString(p,
g,mxConstants.DEFAULT_FONTFAMILY).width;p>k&&(k=p)}a.roundrect(0,0,Math.max(b,5+k+10),c,2.5,2.5);a.fillAndStroke();a.setShadow(!1);a.setFontSize(g);a.setFontColor(f);for(n=0;n<e;n++)b=(n*h+.5*h)*c/m,p=d[n],p.charAt(0)===mxMockupC.SELECTED&&(p=d[n].substring(1),l=n),a.text(12.5,b,0,0,p,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE,0,null,0,0,0),b-=2.5,a.setFillColor("#dddddd"),a.setStrokeColor("#000000"),l===n?(a.setGradient("#aaaaaa","#666666",2.5,b,5,5,mxConstants.DIRECTION_SOUTH,1,1),a.rect(2.5,
b,5,5),a.fillAndStroke(),a.setStrokeColor("#333333"),a.begin(),a.moveTo(3.75,b+2.5),a.lineTo(5,b+3.75),a.lineTo(6.25,b+1.25),a.stroke()):(a.setGradient("#eeeeee","#cccccc",2.5,b,5,5,mxConstants.DIRECTION_SOUTH,1,1),a.rect(2.5,b,5,5),a.fillAndStroke()),l=-1};mxCellRenderer.registerShape(mxMockupC.SHAPE_ICHECKBOX_GROUP,mxShapeMockupiCheckboxGroup);function mxShapeMockupiComboBox(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}
mxUtils.extend(mxShapeMockupiComboBox,mxShape);mxShapeMockupiComboBox.prototype.paintVertexShape=function(a,d,e,b,c){var f=mxUtils.getValue(this.style,mxMockupC.BUTTON_TEXT,"Main Text"),g=mxUtils.getValue(this.style,mxMockupC.STYLE_TEXTCOLOR2,"#666666").toString(),h=mxUtils.getValue(this.style,mxConstants.STYLE_FONTSIZE,"8.5").toString();a.translate(d,e);this.background(a,d,e,b,c);a.setShadow(!1);this.foreground(a,d,e,b,c);this.mainText(a,d,e,b,c,f,h,g)};
mxShapeMockupiComboBox.prototype.background=function(a,d,e,b,c){a.setFillColor("#ffffff");a.roundrect(0,0,b,c,2.5,2.5);a.fillAndStroke()};
@ -820,12 +820,12 @@ mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.5*b,.5865*c,0,0,"P",mxConstants.A
b,.759*c,0,0,"U",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.5*b,.7935*c,0,0,"V",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.5*b,.828*c,0,0,"W",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.5*b,.8625*c,0,0,"X",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.5*b,.897*c,0,0,"Y",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.text(.5*b,.9315*c,0,0,"Z",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,
0,null,0,0,0);a.text(.5*b,.966*c,0,0,"#",mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0);a.setStrokeColor("#999999");a.ellipse(.5*b-2.25,.0345*c-3.5,4.5,4.5);a.stroke();a.begin();a.moveTo(.5*b-4.25,.0345*c+3);a.lineTo(.5*b-1.75,.0345*c);a.stroke()};mxCellRenderer.registerShape(mxMockupC.SHAPE_IALPHA_LIST,mxShapeMockupiAlphaList);function mxShapeMockupiHorButtonBar(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}
mxUtils.extend(mxShapeMockupiHorButtonBar,mxShape);mxShapeMockupiHorButtonBar.prototype.customProperties=[{name:"buttonText",dispName:"Labels",type:"string"},{name:"textColor",dispName:"Text Color",type:"color"},{name:"textColor2",dispName:"Text2 Color",type:"color"},{name:"strokeColor2",dispName:"Stroke2 Color",type:"color"}];
mxShapeMockupiHorButtonBar.prototype.paintVertexShape=function(a,d,e,b,c){for(var f=mxUtils.getValue(this.style,mxMockupC.BUTTON_TEXT,"+Button 1, Button 2, Button 3").toString().split(","),g=mxUtils.getValue(this.style,mxMockupC.STYLE_TEXTCOLOR,"#666666"),h=mxUtils.getValue(this.style,mxMockupC.STYLE_TEXTCOLOR2,"#ffffff"),k=mxUtils.getValue(this.style,mxConstants.STYLE_FONTSIZE,"8.5").toString(),l=mxUtils.getValue(this.style,mxConstants.STYLE_STROKECOLOR,"#666666"),n=mxUtils.getValue(this.style,mxMockupC.STYLE_STROKECOLOR2,
"#c4c4c4"),m=mxUtils.getValue(this.style,mxConstants.STYLE_FILLCOLOR,"#ffffff"),p=mxUtils.getValue(this.style,mxMockupC.STYLE_FILLCOLOR2,"#008cff"),q=f.length,u=Array(q),t=0,v=-1,r=0;r<q;r++){var w=f[r];w.charAt(0)===mxMockupC.SELECTED&&(w=f[r].substring(1),v=r);u[r]=mxUtils.getSizeForString(w,k,mxConstants.DEFAULT_FONTFAMILY).width;t+=u[r]}c=Math.max(c,1.5*k,10);t=5*q+t;b=Math.max(b,t);a.translate(d,e);this.background(a,b,c,2.5,q,u,2.5,t,l,n,m,p,v);a.setShadow(!1);for(r=d=0;r<q;r++)r===v?a.setFontColor(h):
a.setFontColor(g),d+=2.5,this.buttonText(a,d,c,f[r],u[r],k,t,b),d=d+u[r]+2.5};
mxShapeMockupiHorButtonBar.prototype.background=function(a,d,e,b,c,f,g,h,k,l,n,m,p){a.begin();a.setStrokeColor(k);a.setFillColor(n);a.moveTo(0,b);a.arcTo(b,b,0,0,1,b,0);a.lineTo(d-b,0);a.arcTo(b,b,0,0,1,d,b);a.lineTo(d,e-b);a.arcTo(b,b,0,0,1,d-b,e);a.lineTo(b,e);a.arcTo(b,b,0,0,1,0,e-b);a.close();a.fillAndStroke();a.setStrokeColor(l);a.begin();for(l=1;l<c;l++)if(l!==p&&l!==p+1){for(var q=m=0;q<l;q++)m+=f[q]+2*g;m=m*d/h;a.moveTo(m,0);a.lineTo(m,e)}a.stroke();m=0;a.setStrokeColor(mxConstants.NONE);
for(l=0;l<p;l++)m+=f[l]+2*g;m=m*d/h;f=(f[p]+2*g)*d/h;f+=m;0===p?(a.setGradient("#5D7585","#008cff",0,0,f,e,mxConstants.DIRECTION_SOUTH,1,1),a.begin(),a.moveTo(0,b),a.arcTo(b,b,0,0,1,b,0),a.lineTo(f,0),a.lineTo(f,e),a.lineTo(b,e),a.arcTo(b,b,0,0,1,0,e-b),a.close(),a.fill()):p===c-1?(a.setGradient("#5D7585","#008cff",m,0,f-m,e,mxConstants.DIRECTION_SOUTH,1,1),a.begin(),a.moveTo(m,0),a.lineTo(f-b,0),a.arcTo(b,b,0,0,1,f,b),a.lineTo(f,e-b),a.arcTo(b,b,0,0,1,f-b,e),a.lineTo(m,e),a.close(),a.fill()):-1!==
p&&(a.setGradient("#5D7585","#008cff",m,0,f-m,e,mxConstants.DIRECTION_SOUTH,1,1),a.begin(),a.moveTo(m,0),a.lineTo(f,0),a.lineTo(f,e),a.lineTo(m,e),a.close(),a.fill());a.setStrokeColor(k);a.setFillColor(n);a.begin();a.moveTo(0,b);a.arcTo(b,b,0,0,1,b,0);a.lineTo(d-b,0);a.arcTo(b,b,0,0,1,d,b);a.lineTo(d,e-b);a.arcTo(b,b,0,0,1,d-b,e);a.lineTo(b,e);a.arcTo(b,b,0,0,1,0,e-b);a.close();a.stroke()};
mxShapeMockupiHorButtonBar.prototype.paintVertexShape=function(a,d,e,b,c){for(var f=mxUtils.getValue(this.style,mxMockupC.BUTTON_TEXT,"+Button 1, Button 2, Button 3").toString().split(","),g=mxUtils.getValue(this.style,mxMockupC.STYLE_TEXTCOLOR,"#666666"),h=mxUtils.getValue(this.style,mxMockupC.STYLE_TEXTCOLOR2,"#ffffff"),k=mxUtils.getValue(this.style,mxConstants.STYLE_FONTSIZE,"8.5").toString(),l=mxUtils.getValue(this.style,mxConstants.STYLE_STROKECOLOR,"#666666"),m=mxUtils.getValue(this.style,mxMockupC.STYLE_STROKECOLOR2,
"#c4c4c4"),n=mxUtils.getValue(this.style,mxConstants.STYLE_FILLCOLOR,"#ffffff"),p=mxUtils.getValue(this.style,mxMockupC.STYLE_FILLCOLOR2,"#008cff"),q=f.length,r=Array(q),t=0,u=-1,v=0;v<q;v++){var w=f[v];w.charAt(0)===mxMockupC.SELECTED&&(w=f[v].substring(1),u=v);r[v]=mxUtils.getSizeForString(w,k,mxConstants.DEFAULT_FONTFAMILY).width;t+=r[v]}c=Math.max(c,1.5*k,10);t=5*q+t;b=Math.max(b,t);a.translate(d,e);this.background(a,b,c,2.5,q,r,2.5,t,l,m,n,p,u);a.setShadow(!1);for(v=d=0;v<q;v++)v===u?a.setFontColor(h):
a.setFontColor(g),d+=2.5,this.buttonText(a,d,c,f[v],r[v],k,t,b),d=d+r[v]+2.5};
mxShapeMockupiHorButtonBar.prototype.background=function(a,d,e,b,c,f,g,h,k,l,m,n,p){a.begin();a.setStrokeColor(k);a.setFillColor(m);a.moveTo(0,b);a.arcTo(b,b,0,0,1,b,0);a.lineTo(d-b,0);a.arcTo(b,b,0,0,1,d,b);a.lineTo(d,e-b);a.arcTo(b,b,0,0,1,d-b,e);a.lineTo(b,e);a.arcTo(b,b,0,0,1,0,e-b);a.close();a.fillAndStroke();a.setStrokeColor(l);a.begin();for(l=1;l<c;l++)if(l!==p&&l!==p+1){for(var q=n=0;q<l;q++)n+=f[q]+2*g;n=n*d/h;a.moveTo(n,0);a.lineTo(n,e)}a.stroke();n=0;a.setStrokeColor(mxConstants.NONE);
for(l=0;l<p;l++)n+=f[l]+2*g;n=n*d/h;f=(f[p]+2*g)*d/h;f+=n;0===p?(a.setGradient("#5D7585","#008cff",0,0,f,e,mxConstants.DIRECTION_SOUTH,1,1),a.begin(),a.moveTo(0,b),a.arcTo(b,b,0,0,1,b,0),a.lineTo(f,0),a.lineTo(f,e),a.lineTo(b,e),a.arcTo(b,b,0,0,1,0,e-b),a.close(),a.fill()):p===c-1?(a.setGradient("#5D7585","#008cff",n,0,f-n,e,mxConstants.DIRECTION_SOUTH,1,1),a.begin(),a.moveTo(n,0),a.lineTo(f-b,0),a.arcTo(b,b,0,0,1,f,b),a.lineTo(f,e-b),a.arcTo(b,b,0,0,1,f-b,e),a.lineTo(n,e),a.close(),a.fill()):-1!==
p&&(a.setGradient("#5D7585","#008cff",n,0,f-n,e,mxConstants.DIRECTION_SOUTH,1,1),a.begin(),a.moveTo(n,0),a.lineTo(f,0),a.lineTo(f,e),a.lineTo(n,e),a.close(),a.fill());a.setStrokeColor(k);a.setFillColor(m);a.begin();a.moveTo(0,b);a.arcTo(b,b,0,0,1,b,0);a.lineTo(d-b,0);a.arcTo(b,b,0,0,1,d,b);a.lineTo(d,e-b);a.arcTo(b,b,0,0,1,d-b,e);a.lineTo(b,e);a.arcTo(b,b,0,0,1,0,e-b);a.close();a.stroke()};
mxShapeMockupiHorButtonBar.prototype.buttonText=function(a,d,e,b,c,f,g,h){b.charAt(0)===mxMockupC.SELECTED&&(b=b.substring(1));a.begin();a.setFontSize(f);a.text((d+.5*c)*h/g,.5*e,0,0,b,mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0)};mxCellRenderer.registerShape(mxMockupC.SHAPE_IHOR_BUTTON_BAR,mxShapeMockupiHorButtonBar);function mxShapeMockupiPin(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeMockupiPin,mxShape);
mxShapeMockupiPin.prototype.customProperties=[{name:"fillColor2",dispName:"Fill2 Color",type:"color"},{name:"fillColor3",dispName:"Fill3 Color",type:"color"}];
mxShapeMockupiPin.prototype.paintVertexShape=function(a,d,e,b,c){var f=mxUtils.getValue(this.style,mxMockupC.STYLE_FILLCOLOR2,"#000000"),g=mxUtils.getValue(this.style,mxMockupC.STYLE_FILLCOLOR3,"#000000"),h=mxUtils.getValue(this.style,mxConstants.STYLE_STROKECOLOR,"#000000");a.setShadow(!1);a.translate(d,e);a.setStrokeWidth(1.5);a.setStrokeColor("#666666");a.begin();a.moveTo(.5*b,.4*c);a.lineTo(.5*b,c);a.stroke();a.setStrokeWidth(1);a.setStrokeColor(h);a.setGradient(f,g,0,0,b,.4*c,mxConstants.DIRECTION_SOUTH,
@ -1278,9 +1278,9 @@ b,.2898*c);a.moveTo(.5325*b,.9976*c);a.lineTo(.603*b,.7593*c);a.stroke();a.setSt
b,c);a.lineTo(.5355*b,c);a.close();a.stroke()};mxCellRenderer.registerShape(mxShapeAws3dEbs2.prototype.cst.EBS2,mxShapeAws3dEbs2);function mxShapeAndroidTabBar(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeAndroidTabBar,mxShape);
mxShapeAndroidTabBar.prototype.cst={MAIN_TEXT:"mainText",SHAPE_TAB_BAR:"mxgraph.android.tabBar",TEXT_COLOR:"textColor",TEXT_COLOR2:"textColor2",STROKE_COLOR2:"strokeColor2",FILL_COLOR2:"fillColor2",SELECTED:"+",TEXT_SIZE:"textSize"};
mxShapeAndroidTabBar.prototype.paintVertexShape=function(a,d,e,b,c){for(var f=mxUtils.getValue(this.style,mxShapeAndroidTabBar.prototype.cst.MAIN_TEXT,"+Tab 1, Tab 2, Tab 3").toString().split(","),g=mxUtils.getValue(this.style,mxShapeAndroidTabBar.prototype.cst.TEXT_COLOR,"none"),h=mxUtils.getValue(this.style,mxShapeAndroidTabBar.prototype.cst.TEXT_COLOR2,"none"),k=mxUtils.getValue(this.style,mxShapeAndroidTabBar.prototype.cst.TEXT_SIZE,"17").toString(),l=mxUtils.getValue(this.style,mxConstants.STYLE_STROKECOLOR,
"none"),n=mxUtils.getValue(this.style,mxShapeAndroidTabBar.prototype.cst.STROKE_COLOR2,"none"),m=mxUtils.getValue(this.style,mxConstants.STYLE_FILLCOLOR,"none"),p=mxUtils.getValue(this.style,mxShapeAndroidTabBar.prototype.cst.FILL_COLOR2,"none"),q=f.length,u=Array(q),t=0,v=-1,r=0;r<q;r++){var w=f[r];w.charAt(0)===mxShapeAndroidTabBar.prototype.cst.SELECTED&&(w=f[r].substring(1),v=r);u[r]=mxUtils.getSizeForString(w,k,mxConstants.DEFAULT_FONTFAMILY).width;t+=u[r]}c=Math.max(c,1.5*k,7);t=10*q+t;b=Math.max(b,
t);a.translate(d,e);this.background(a,b,c,q,u,5,t,l,n,m,p,v);a.setShadow(!1);a.setFontStyle(mxConstants.FONT_BOLD);for(r=d=0;r<q;r++)r===v?a.setFontColor(h):a.setFontColor(g),d+=5,this.buttonText(a,d,c,f[r],u[r],k,t,b),d=d+u[r]+5};
mxShapeAndroidTabBar.prototype.background=function(a,d,e,b,c,f,g,h,k,l,n,m){a.begin();a.setStrokeColor(h);a.setFillColor(l);a.rect(0,0,d,e);a.fillAndStroke();a.setStrokeColor(k);a.begin();for(h=1;h<b;h++)if(h!==m&&h!==m+1){for(l=k=0;l<h;l++)k+=c[l]+2*f;k=k*d/g;a.moveTo(k,.2*e);a.lineTo(k,.8*e)}a.stroke();b=0;a.setFillColor(n);for(h=0;h<m;h++)b+=c[h]+2*f;b=b*d/g;d=(c[m]+2*f)*d/g;d+=b;a.rect(b,0,d-b,e);a.fill();a.setAlpha(1);a.setFillColor("#33b5e5");a.rect(b,.9*e,d-b,.1*e);a.fill()};
"none"),m=mxUtils.getValue(this.style,mxShapeAndroidTabBar.prototype.cst.STROKE_COLOR2,"none"),n=mxUtils.getValue(this.style,mxConstants.STYLE_FILLCOLOR,"none"),p=mxUtils.getValue(this.style,mxShapeAndroidTabBar.prototype.cst.FILL_COLOR2,"none"),q=f.length,r=Array(q),t=0,u=-1,v=0;v<q;v++){var w=f[v];w.charAt(0)===mxShapeAndroidTabBar.prototype.cst.SELECTED&&(w=f[v].substring(1),u=v);r[v]=mxUtils.getSizeForString(w,k,mxConstants.DEFAULT_FONTFAMILY).width;t+=r[v]}c=Math.max(c,1.5*k,7);t=10*q+t;b=Math.max(b,
t);a.translate(d,e);this.background(a,b,c,q,r,5,t,l,m,n,p,u);a.setShadow(!1);a.setFontStyle(mxConstants.FONT_BOLD);for(v=d=0;v<q;v++)v===u?a.setFontColor(h):a.setFontColor(g),d+=5,this.buttonText(a,d,c,f[v],r[v],k,t,b),d=d+r[v]+5};
mxShapeAndroidTabBar.prototype.background=function(a,d,e,b,c,f,g,h,k,l,m,n){a.begin();a.setStrokeColor(h);a.setFillColor(l);a.rect(0,0,d,e);a.fillAndStroke();a.setStrokeColor(k);a.begin();for(h=1;h<b;h++)if(h!==n&&h!==n+1){for(l=k=0;l<h;l++)k+=c[l]+2*f;k=k*d/g;a.moveTo(k,.2*e);a.lineTo(k,.8*e)}a.stroke();b=0;a.setFillColor(m);for(h=0;h<n;h++)b+=c[h]+2*f;b=b*d/g;d=(c[n]+2*f)*d/g;d+=b;a.rect(b,0,d-b,e);a.fill();a.setAlpha(1);a.setFillColor("#33b5e5");a.rect(b,.9*e,d-b,.1*e);a.fill()};
mxShapeAndroidTabBar.prototype.buttonText=function(a,d,e,b,c,f,g,h){b.charAt(0)===mxShapeAndroidTabBar.prototype.cst.SELECTED&&(b=b.substring(1));a.begin();a.setFontSize(f);a.text((d+.5*c)*h/g,.5*e,0,0,b,mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,0,null,0,0,0)};mxCellRenderer.registerShape(mxShapeAndroidTabBar.prototype.cst.SHAPE_TAB_BAR,mxShapeAndroidTabBar);function mxShapeAndroidPhone(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}
mxUtils.extend(mxShapeAndroidPhone,mxShape);mxShapeAndroidPhone.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);a.roundrect(0,0,b,c,25,25);a.fillAndStroke();a.setShadow(!1);this.foreground(a,d,e,b,c,25)};
mxShapeAndroidPhone.prototype.foreground=function(a,d,e,b,c,f){a.rect(.0625*b,.15*c,.875*b,.7*c);a.stroke();a.ellipse(.4875*b,.04125*c,.025*b,.0125*c);a.stroke();a.roundrect(.375*b,.075*c,.25*b,.01875*c,.02*b,.01*c);a.stroke();a.ellipse(.4*b,.875*c,.2*b,.1*c);a.stroke();a.roundrect(.4575*b,.905*c,.085*b,.04375*c,.00625*c,.00625*c);a.stroke()};mxCellRenderer.registerShape("mxgraph.android.phone",mxShapeAndroidPhone);
@ -1289,15 +1289,15 @@ mxShapeAndroidStatusBar.prototype.foreground=function(a,d,e,b,c){a.rect(0,0,b,c)
.5*c-5);a.lineTo(b-31,.5*c-5);a.lineTo(b-31,.5*c+6);a.close();a.fill();a.setFillColor(mxUtils.getValue(this.style,mxConstants.STYLE_STROKECOLOR,"none"));a.ellipse(b-56,.5*c+2,2,2);a.fillAndStroke();a.setStrokeWidth(2);a.begin();a.moveTo(b-52,.5*c+1);a.arcTo(3.5,3.5,0,0,0,b-58,.5*c+1);a.stroke();a.begin();a.moveTo(b-50,.5*c-1);a.arcTo(6,6,0,0,0,b-60,.5*c-1);a.stroke();a.setStrokeWidth(1);a.rect(b-51,.5*c+5,2,1);a.fill();a.rect(b-48,.5*c+2,2,4);a.fill();a.rect(b-45,.5*c-1,2,7);a.fill();a.rect(b-42,
.5*c-4,2,10);a.fill();a.rect(b-37,.5*c-2,6,8);a.fill()};mxCellRenderer.registerShape("mxgraph.android.statusBar",mxShapeAndroidStatusBar);function mxShapeAndroidCheckboxGroup(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeAndroidCheckboxGroup,mxShape);mxShapeAndroidCheckboxGroup.prototype.cst={STYLE_TEXTCOLOR2:"textColor2",STYLE_STROKECOLOR2:"strokeColor2",BUTTON_TEXT:"buttonText",SELECTED:"+"};
mxShapeAndroidCheckboxGroup.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);var f=mxUtils.getValue(this.style,mxConstants.STYLE_TEXTCOLOR,"#666666"),g=mxUtils.getValue(this.style,mxConstants.STYLE_FONTSIZE,"8").toString();d=mxUtils.getValue(this.style,mxShapeAndroidCheckboxGroup.prototype.cst.BUTTON_TEXT,"Option 1").toString().split(",");var h=mxUtils.getValue(this.style,mxConstants.STYLE_STROKECOLOR,"none");e=mxUtils.getValue(this.style,mxShapeAndroidCheckboxGroup.prototype.cst.STYLE_STROKECOLOR2,
"none");a.setStrokeColor(e);e=d.length;var k=Math.max(1.5*g,5),l=0,n=-1,m=e*k;c=Math.max(c,m);for(var p=0;p<e;p++){var q=d[p];q.charAt(0)===mxShapeAndroidCheckboxGroup.prototype.cst.SELECTED&&(q=d[p].substring(1),n=p);q=mxUtils.getSizeForString(q,g,mxConstants.DEFAULT_FONTFAMILY).width;q>l&&(l=q)}a.roundrect(0,0,Math.max(b,5+l+10),c,2.5,2.5);a.fillAndStroke();a.setShadow(!1);a.setFontSize(g);a.setFontColor(f);a.setStrokeColor(h);for(p=0;p<e;p++)b=(p*k+.5*k)*c/m,q=d[p],q.charAt(0)===mxShapeAndroidCheckboxGroup.prototype.cst.SELECTED&&
(q=d[p].substring(1),n=p),a.text(12.5,b,0,0,q,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE,0,null,0,0,0),b-=2.5,n===p?(a.rect(2.5,b,5,5),a.fillAndStroke(),a.begin(),a.moveTo(3.75,b+2.5),a.lineTo(5,b+3.75),a.lineTo(6.25,b+1.25),a.stroke()):(a.rect(2.5,b,5,5),a.fillAndStroke()),n=-1};mxCellRenderer.registerShape("mxgraph.android.checkboxGroup",mxShapeAndroidCheckboxGroup);
"none");a.setStrokeColor(e);e=d.length;var k=Math.max(1.5*g,5),l=0,m=-1,n=e*k;c=Math.max(c,n);for(var p=0;p<e;p++){var q=d[p];q.charAt(0)===mxShapeAndroidCheckboxGroup.prototype.cst.SELECTED&&(q=d[p].substring(1),m=p);q=mxUtils.getSizeForString(q,g,mxConstants.DEFAULT_FONTFAMILY).width;q>l&&(l=q)}a.roundrect(0,0,Math.max(b,5+l+10),c,2.5,2.5);a.fillAndStroke();a.setShadow(!1);a.setFontSize(g);a.setFontColor(f);a.setStrokeColor(h);for(p=0;p<e;p++)b=(p*k+.5*k)*c/n,q=d[p],q.charAt(0)===mxShapeAndroidCheckboxGroup.prototype.cst.SELECTED&&
(q=d[p].substring(1),m=p),a.text(12.5,b,0,0,q,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE,0,null,0,0,0),b-=2.5,m===p?(a.rect(2.5,b,5,5),a.fillAndStroke(),a.begin(),a.moveTo(3.75,b+2.5),a.lineTo(5,b+3.75),a.lineTo(6.25,b+1.25),a.stroke()):(a.rect(2.5,b,5,5),a.fillAndStroke()),m=-1};mxCellRenderer.registerShape("mxgraph.android.checkboxGroup",mxShapeAndroidCheckboxGroup);
function mxShapeAndroidRadioGroup(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeAndroidRadioGroup,mxShape);mxShapeAndroidRadioGroup.prototype.cst={STYLE_TEXTCOLOR2:"textColor2",STYLE_STROKECOLOR2:"strokeColor2",BUTTON_TEXT:"buttonText",SELECTED:"+"};
mxShapeAndroidRadioGroup.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);var f=mxUtils.getValue(this.style,mxConstants.STYLE_TEXTCOLOR,"#666666"),g=mxUtils.getValue(this.style,mxConstants.STYLE_FONTSIZE,"8").toString();d=mxUtils.getValue(this.style,mxShapeAndroidRadioGroup.prototype.cst.BUTTON_TEXT,"Option 1").toString().split(",");var h=mxUtils.getValue(this.style,mxConstants.STYLE_STROKECOLOR,"none");e=mxUtils.getValue(this.style,mxShapeAndroidRadioGroup.prototype.cst.STYLE_STROKECOLOR2,
"none");a.setStrokeColor(e);e=d.length;var k=Math.max(1.5*g,5),l=0,n=-1,m=e*k;c=Math.max(c,m);for(var p=0;p<e;p++){var q=d[p];q.charAt(0)===mxShapeAndroidRadioGroup.prototype.cst.SELECTED&&(q=d[p].substring(1),n=p);q=mxUtils.getSizeForString(q,g,mxConstants.DEFAULT_FONTFAMILY).width;q>l&&(l=q)}a.roundrect(0,0,Math.max(b,5+l+10),c,2.5,2.5);a.fillAndStroke();a.setShadow(!1);a.setFontSize(g);a.setFontColor(f);a.setStrokeColor(h);a.setFillColor(h);for(p=0;p<e;p++)b=(p*k+.5*k)*c/m,q=d[p],q.charAt(0)===
mxShapeAndroidRadioGroup.prototype.cst.SELECTED&&(q=d[p].substring(1),n=p),a.text(12.5,b,0,0,q,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE,0,null,0,0,0),b-=2.5,n===p?(a.ellipse(2.5,b,5,5),a.stroke(),a.ellipse(3.75,b+1.25,2.5,2.5),a.fillAndStroke()):(a.ellipse(2.5,b,5,5),a.stroke())};mxCellRenderer.registerShape("mxgraph.android.radioGroup",mxShapeAndroidRadioGroup);function mxShapeAndroidMenuBar(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}
"none");a.setStrokeColor(e);e=d.length;var k=Math.max(1.5*g,5),l=0,m=-1,n=e*k;c=Math.max(c,n);for(var p=0;p<e;p++){var q=d[p];q.charAt(0)===mxShapeAndroidRadioGroup.prototype.cst.SELECTED&&(q=d[p].substring(1),m=p);q=mxUtils.getSizeForString(q,g,mxConstants.DEFAULT_FONTFAMILY).width;q>l&&(l=q)}a.roundrect(0,0,Math.max(b,5+l+10),c,2.5,2.5);a.fillAndStroke();a.setShadow(!1);a.setFontSize(g);a.setFontColor(f);a.setStrokeColor(h);a.setFillColor(h);for(p=0;p<e;p++)b=(p*k+.5*k)*c/n,q=d[p],q.charAt(0)===
mxShapeAndroidRadioGroup.prototype.cst.SELECTED&&(q=d[p].substring(1),m=p),a.text(12.5,b,0,0,q,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE,0,null,0,0,0),b-=2.5,m===p?(a.ellipse(2.5,b,5,5),a.stroke(),a.ellipse(3.75,b+1.25,2.5,2.5),a.fillAndStroke()):(a.ellipse(2.5,b,5,5),a.stroke())};mxCellRenderer.registerShape("mxgraph.android.radioGroup",mxShapeAndroidRadioGroup);function mxShapeAndroidMenuBar(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}
mxUtils.extend(mxShapeAndroidMenuBar,mxShape);mxShapeAndroidMenuBar.prototype.cst={MENU_TEXT:"menuText"};
mxShapeAndroidMenuBar.prototype.paintVertexShape=function(a,d,e,b,c){for(var f=mxUtils.getValue(this.style,mxShapeAndroidMenuBar.prototype.cst.MENU_TEXT,"Item 1, Item 2, Item 3").toString().split(","),g=mxUtils.getValue(this.style,mxConstants.STYLE_FONTSIZE,"12"),h=f.length,k=0,l=0;l<h;l++){var n=mxUtils.getSizeForString(f[l],g,mxConstants.DEFAULT_FONTFAMILY).width;n>k&&(k=n)}g*=1.5;k=h*g;c=Math.max(c,k);a.translate(d,e);a.rect(0,0,b,c);a.fillAndStroke();a.setShadow(!1);a.begin();for(l=1;l<h;l++)d=
l*g*c/k,a.moveTo(0,d),a.lineTo(b,d);a.stroke();for(l=0;l<h;l++)n+=2.5,d=(l*g+.5*g)*c/k,a.text(10,d,0,0,f[l],mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE,0,null,0,0,0)};mxCellRenderer.registerShape("mxgraph.android.menuBar",mxShapeAndroidMenuBar);function mxShapeAndroidTextSelHandles(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeAndroidTextSelHandles,mxShape);
mxShapeAndroidMenuBar.prototype.paintVertexShape=function(a,d,e,b,c){for(var f=mxUtils.getValue(this.style,mxShapeAndroidMenuBar.prototype.cst.MENU_TEXT,"Item 1, Item 2, Item 3").toString().split(","),g=mxUtils.getValue(this.style,mxConstants.STYLE_FONTSIZE,"12"),h=f.length,k=0,l=0;l<h;l++){var m=mxUtils.getSizeForString(f[l],g,mxConstants.DEFAULT_FONTFAMILY).width;m>k&&(k=m)}g*=1.5;k=h*g;c=Math.max(c,k);a.translate(d,e);a.rect(0,0,b,c);a.fillAndStroke();a.setShadow(!1);a.begin();for(l=1;l<h;l++)d=
l*g*c/k,a.moveTo(0,d),a.lineTo(b,d);a.stroke();for(l=0;l<h;l++)m+=2.5,d=(l*g+.5*g)*c/k,a.text(10,d,0,0,f[l],mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE,0,null,0,0,0)};mxCellRenderer.registerShape("mxgraph.android.menuBar",mxShapeAndroidMenuBar);function mxShapeAndroidTextSelHandles(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeAndroidTextSelHandles,mxShape);
mxShapeAndroidTextSelHandles.prototype.paintVertexShape=function(a,d,e,b,c){var f=mxUtils.getValue(this.style,mxConstants.STYLE_STROKECOLOR,"none");a.translate(d,e);d=Math.max(0,c-22.5);a.setAlpha(.5);a.rect(15,0,b-30,d);a.fill();a.begin();a.moveTo(0,c-15);a.lineTo(7.5,c-22.5);a.lineTo(15,c-15);a.close();a.moveTo(b-15,c-15);a.lineTo(b-7.5,c-22.5);a.lineTo(b,c-15);a.close();a.fill();a.setFillColor(f);a.rect(0,c-15,15,15);a.fill();a.rect(b-15,c-15,15,15);a.fill()};
mxCellRenderer.registerShape("mxgraph.android.textSelHandles",mxShapeAndroidTextSelHandles);function mxShapeAndroidIndeterminateSpinner(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeAndroidIndeterminateSpinner,mxShape);mxShapeAndroidIndeterminateSpinner.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,d,e,b,c)};
mxShapeAndroidIndeterminateSpinner.prototype.background=function(a,d,e,b,c){a.setGradient("#aaaaaa","#dddddd",.325*b,0,.675*b,.5*c,mxConstants.DIRECTION_SOUTH,1,1);a.begin();a.moveTo(.5*b,.1*c);a.arcTo(.4*b,.4*c,0,0,0,.5*b,.9*c);a.lineTo(.5*b,c);a.arcTo(.5*b,.5*c,0,0,1,.5*b,0);a.close();a.fill();a.setGradient("#ffffff","#dddddd",.325*b,0,.675*b,.5*c,mxConstants.DIRECTION_SOUTH,1,1);a.begin();a.moveTo(.5*b,.1*c);a.arcTo(.4*b,.4*c,0,0,1,.5*b,.9*c);a.lineTo(.5*b,c);a.arcTo(.5*b,.5*c,0,0,0,.5*b,0);a.close();
@ -1706,7 +1706,7 @@ a.height)/(.5*a.height))))/100)/Math.PI;0>c&&(c=1+c);this.state.style.startAngle
a.y-.5*a.height)/(.5*a.height))))/100)/Math.PI;0>c&&(c=1+c);this.state.style.endAngle=c});d.push(a);return d};function mxShapeBasicPartConcEllipse(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1;this.startAngle=.25;this.endAngle=.75;this.arcWidth=.5}mxUtils.extend(mxShapeBasicPartConcEllipse,mxActor);
mxShapeBasicPartConcEllipse.prototype.customProperties=[{name:"startAngle",dispName:"Start Angle",type:"float",min:0,max:1,defVal:.25},{name:"endAngle",dispName:"End Angle",type:"float",min:0,max:1,defVal:.1},{name:"arcWidth",dispName:"Arc Width",type:"float",min:0,max:1,defVal:.5}];mxShapeBasicPartConcEllipse.prototype.cst={PART_CONC_ELLIPSE:"mxgraph.basic.partConcEllipse"};
mxShapeBasicPartConcEllipse.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);var f=2*Math.PI*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"startAngle",this.startAngle))));d=2*Math.PI*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"endAngle",this.endAngle))));var g=1-Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arcWidth",this.arcWidth))));b*=.5;c*=.5;e=b*g;var g=c*g,h=d-f;0>h?h+=2*Math.PI:h==Math.PI&&(d+=1E-5);var k=b+Math.sin(f)*b,l=c-
Math.cos(f)*c,n=b+Math.sin(f)*e,f=c-Math.cos(f)*g,m=b+Math.sin(d)*b,p=c-Math.cos(d)*c,q=b+Math.sin(d)*e;d=c-Math.cos(d)*g;var u=0;h>=Math.PI&&(u=1);a.begin();a.moveTo(k,l);a.arcTo(b,c,0,u,1,m,p);a.lineTo(q,d);a.arcTo(e,g,0,u,0,n,f);a.close();a.fillAndStroke()};mxCellRenderer.registerShape(mxShapeBasicPartConcEllipse.prototype.cst.PART_CONC_ELLIPSE,mxShapeBasicPartConcEllipse);mxShapeBasicPartConcEllipse.prototype.constraints=null;
Math.cos(f)*c,m=b+Math.sin(f)*e,f=c-Math.cos(f)*g,n=b+Math.sin(d)*b,p=c-Math.cos(d)*c,q=b+Math.sin(d)*e;d=c-Math.cos(d)*g;var r=0;h>=Math.PI&&(r=1);a.begin();a.moveTo(k,l);a.arcTo(b,c,0,r,1,n,p);a.lineTo(q,d);a.arcTo(e,g,0,r,0,m,f);a.close();a.fillAndStroke()};mxCellRenderer.registerShape(mxShapeBasicPartConcEllipse.prototype.cst.PART_CONC_ELLIPSE,mxShapeBasicPartConcEllipse);mxShapeBasicPartConcEllipse.prototype.constraints=null;
Graph.handleFactory[mxShapeBasicPartConcEllipse.prototype.cst.PART_CONC_ELLIPSE]=function(a){var d=[Graph.createHandle(a,["startAngle"],function(a){var b=2*Math.PI*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"startAngle",this.startAngle))));return new mxPoint(a.x+.5*a.width+Math.sin(b)*a.width*.5,a.y+.5*a.height-Math.cos(b)*a.height*.5)},function(a,c){var b=.5*Math.atan2(Math.round(100*Math.max(-1,Math.min(1,(c.x-a.x-.5*a.width)/(.5*a.width))))/100,-Math.round(100*Math.max(-1,
Math.min(1,(c.y-a.y-.5*a.height)/(.5*a.height))))/100)/Math.PI;0>b&&(b=1+b);this.state.style.startAngle=b})],e=Graph.createHandle(a,["endAngle"],function(a){var b=2*Math.PI*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"endAngle",this.endAngle))));return new mxPoint(a.x+.5*a.width+Math.sin(b)*a.width*.5,a.y+.5*a.height-Math.cos(b)*a.height*.5)},function(a,c){var b=.5*Math.atan2(Math.round(100*Math.max(-1,Math.min(1,(c.x-a.x-.5*a.width)/(.5*a.width))))/100,-Math.round(100*Math.max(-1,
Math.min(1,(c.y-a.y-.5*a.height)/(.5*a.height))))/100)/Math.PI;0>b&&(b=1+b);this.state.style.endAngle=b});d.push(e);a=Graph.createHandle(a,["arcWidth"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"arcWidth",this.arcWidth))));return new mxPoint(a.x+a.width/2,a.y+b*a.height*.5)},function(a,c){this.state.style.arcWidth=Math.round(100*Math.max(0,Math.min(a.height/2,a.width/2,(c.y-a.y)/(.5*a.height))))/100});d.push(a);return d};
@ -1714,17 +1714,87 @@ function mxShapeBasicNumEntryVert(a,d,e,b){mxShape.call(this);this.bounds=a;this
mxShapeBasicNumEntryVert.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));d=Math.min(d,b-10,c-5);a.ellipse(.5*b-.5*d,0,d,d);a.fillAndStroke();a.begin();a.moveTo(0,.5*d);a.lineTo(.5*b-.5*d-5,.5*d);a.arcTo(.5*d+5,.5*d+5,0,0,0,.5*b+.5*d+5,.5*d);a.lineTo(b,.5*d);a.lineTo(b,c);a.lineTo(0,c);a.close();a.fillAndStroke()};mxCellRenderer.registerShape(mxShapeBasicNumEntryVert.prototype.cst.NUM_ENTRY_VERT,mxShapeBasicNumEntryVert);
mxShapeBasicNumEntryVert.prototype.constraints=null;Graph.handleFactory[mxShapeBasicNumEntryVert.prototype.cst.NUM_ENTRY_VERT]=function(a){return[Graph.createHandle(a,["dy"],function(a){var d=Math.max(0,Math.min(a.width,a.width,parseFloat(mxUtils.getValue(this.state.style,"dy",this.dy))));return new mxPoint(a.x+a.width/2,a.y+d)},function(a,e){this.state.style.dy=Math.round(100*Math.max(0,Math.min(a.height,a.width,e.y-a.y)))/100})]};
function mxShapeBasicBendingArch(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1;this.startAngle=.25;this.endAngle=.75;this.arcWidth=.5}mxUtils.extend(mxShapeBasicBendingArch,mxActor);mxShapeBasicBendingArch.prototype.cst={BENDING_ARCH:"mxgraph.basic.bendingArch"};
mxShapeBasicBendingArch.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);var f=2*Math.PI*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"startAngle",this.startAngle)))),g=2*Math.PI*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"endAngle",this.endAngle)))),h=1-Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arcWidth",this.arcWidth))));d=.5*b;e=.5*c;var k=d*h,h=e*h,l=d+Math.sin(f)*d,n=e-Math.cos(f)*e,m=d+Math.sin(f)*k,p=e-Math.cos(f)*h,q=d+Math.sin(g)*
d,u=e-Math.cos(g)*e,t=d+Math.sin(g)*k,v=e-Math.cos(g)*h,g=g-f;0>g&&(g+=2*Math.PI);f=0;g>Math.PI&&(f=1);var g=k-5,r=h-5;a.ellipse(.5*b-g,.5*c-r,2*g,2*r);a.fillAndStroke();a.begin();a.moveTo(l,n);a.arcTo(d,e,0,f,1,q,u);a.lineTo(t,v);a.arcTo(k,h,0,f,0,m,p);a.close();a.fillAndStroke()};mxCellRenderer.registerShape(mxShapeBasicBendingArch.prototype.cst.BENDING_ARCH,mxShapeBasicBendingArch);mxShapeBasicBendingArch.prototype.constraints=null;
mxShapeBasicBendingArch.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);var f=2*Math.PI*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"startAngle",this.startAngle)))),g=2*Math.PI*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"endAngle",this.endAngle)))),h=1-Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arcWidth",this.arcWidth))));d=.5*b;e=.5*c;var k=d*h,h=e*h,l=d+Math.sin(f)*d,m=e-Math.cos(f)*e,n=d+Math.sin(f)*k,p=e-Math.cos(f)*h,q=d+Math.sin(g)*
d,r=e-Math.cos(g)*e,t=d+Math.sin(g)*k,u=e-Math.cos(g)*h,g=g-f;0>g&&(g+=2*Math.PI);f=0;g>Math.PI&&(f=1);var g=k-5,v=h-5;a.ellipse(.5*b-g,.5*c-v,2*g,2*v);a.fillAndStroke();a.begin();a.moveTo(l,m);a.arcTo(d,e,0,f,1,q,r);a.lineTo(t,u);a.arcTo(k,h,0,f,0,n,p);a.close();a.fillAndStroke()};mxCellRenderer.registerShape(mxShapeBasicBendingArch.prototype.cst.BENDING_ARCH,mxShapeBasicBendingArch);mxShapeBasicBendingArch.prototype.constraints=null;
Graph.handleFactory[mxShapeBasicBendingArch.prototype.cst.BENDING_ARCH]=function(a){var d=[Graph.createHandle(a,["startAngle"],function(a){var b=2*Math.PI*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"startAngle",this.startAngle))));return new mxPoint(a.x+.5*a.width+Math.sin(b)*a.width*.5,a.y+.5*a.height-Math.cos(b)*a.height*.5)},function(a,c){var b=.5*Math.atan2(Math.round(100*Math.max(-1,Math.min(1,(c.x-a.x-.5*a.width)/(.5*a.width))))/100,-Math.round(100*Math.max(-1,Math.min(1,
(c.y-a.y-.5*a.height)/(.5*a.height))))/100)/Math.PI;0>b&&(b=1+b);this.state.style.startAngle=b})],e=Graph.createHandle(a,["endAngle"],function(a){var b=2*Math.PI*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"endAngle",this.endAngle))));return new mxPoint(a.x+.5*a.width+Math.sin(b)*a.width*.5,a.y+.5*a.height-Math.cos(b)*a.height*.5)},function(a,c){var b=.5*Math.atan2(Math.round(100*Math.max(-1,Math.min(1,(c.x-a.x-.5*a.width)/(.5*a.width))))/100,-Math.round(100*Math.max(-1,Math.min(1,
(c.y-a.y-.5*a.height)/(.5*a.height))))/100)/Math.PI;0>b&&(b=1+b);this.state.style.endAngle=b});d.push(e);a=Graph.createHandle(a,["arcWidth"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"arcWidth",this.arcWidth))));return new mxPoint(a.x+a.width/2,a.y+b*a.height*.5)},function(a,c){this.state.style.arcWidth=Math.round(100*Math.max(0,Math.min(a.height/2,a.width/2,(c.y-a.y)/(.5*a.height))))/100});d.push(a);return d};
function mxShapeBasicThreeCornerRoundRect(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1;this.dx=.5}mxUtils.extend(mxShapeBasicThreeCornerRoundRect,mxActor);mxShapeBasicThreeCornerRoundRect.prototype.customProperties=[{name:"dx",dispName:"Rounding Size",type:"float",min:0,defVal:6}];mxShapeBasicThreeCornerRoundRect.prototype.cst={THREE_CORNER_ROUND_RECT:"mxgraph.basic.three_corner_round_rect"};
mxShapeBasicThreeCornerRoundRect.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=2*Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));d=Math.min(.5*b,.5*c,d);a.begin();a.moveTo(d,0);a.lineTo(b-d,0);a.arcTo(d,d,0,0,1,b,d);a.lineTo(b,c-d);a.arcTo(d,d,0,0,1,b-d,c);a.lineTo(0,c);a.lineTo(0,d);a.arcTo(d,d,0,0,1,d,0);a.close();a.fillAndStroke()};mxCellRenderer.registerShape(mxShapeBasicThreeCornerRoundRect.prototype.cst.THREE_CORNER_ROUND_RECT,mxShapeBasicThreeCornerRoundRect);
mxShapeBasicThreeCornerRoundRect.prototype.constraints=null;Graph.handleFactory[mxShapeBasicThreeCornerRoundRect.prototype.cst.THREE_CORNER_ROUND_RECT]=function(a){return[Graph.createHandle(a,["dx"],function(a){var d=Math.max(0,Math.min(a.width/4,a.width/4,parseFloat(mxUtils.getValue(this.state.style,"dx",this.dx))));return new mxPoint(a.x+d,a.y+d)},function(a,e){this.state.style.dx=Math.round(100*Math.max(0,Math.min(a.height/4,a.width/4,e.x-a.x)))/100})]};
function mxShapeBootstrapRRect(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeBootstrapRRect,mxShape);mxShapeBootstrapRRect.prototype.cst={PACKAGE:"mxgraph.bootstrap.rrect",R_SIZE:"rSize"};mxShapeBootstrapRRect.prototype.customProperties=[{name:"rSize",dispName:"Arc Size",type:"float",min:0,defVal:10}];
mxShapeBootstrapRRect.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=parseInt(mxUtils.getValue(this.style,mxShapeBootstrapRRect.prototype.cst.R_SIZE,"10"));a.roundrect(0,0,b,c,d);a.fillAndStroke()};mxCellRenderer.registerShape(mxShapeBootstrapRRect.prototype.cst.PACKAGE,mxShapeBootstrapRRect);function mxShapeBootstrapTopButton(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeBootstrapTopButton,mxShape);
mxShapeBootstrapTopButton.prototype.cst={TOP_BUTTON:"mxgraph.bootstrap.topButton",R_SIZE:"rSize"};mxShapeBootstrapTopButton.prototype.customProperties=[{name:"rSize",dispName:"Arc Size",type:"float",min:0,defVal:10}];
function mxShapeBasicRect2(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1;this.rectStyle="square";this.size=10;this.absoluteCornerSize=!0;this.indent=2;this.rectOutline="single"}mxUtils.extend(mxShapeBasicRect2,mxActor);mxShapeBasicRect2.prototype.cst={DIAG_ROUND_RECT:"mxgraph.basic.rect"};
mxShapeBasicRect2.prototype.customProperties=[{name:"rectStyle",dispName:"Style",type:"enum",defVal:"square",enumList:[{val:"square",dispName:"Square"},{val:"rounded",dispName:"Round"},{val:"snip",dispName:"Snip"},{val:"invRound",dispName:"Inv. Round"},{val:"fold",dispName:"Fold"}]},{name:"size",dispName:"Corner Size",type:"float",defVal:10},{name:"absoluteCornerSize",dispName:"Abs. Corner Size",type:"bool",defVal:!0},{name:"indent",dispName:"Indent",type:"float",defVal:2},{name:"rectOutline",dispName:"Outline",
type:"enum",defVal:"single",enumList:[{val:"single",dispName:"Single"},{val:"double",dispName:"Double"},{val:"frame",dispName:"Frame"}]},{name:"fillColor2",dispName:"Inside Fill Color",type:"color",defVal:"none"},{name:"top",dispName:"Top Line",type:"bool",defVal:!0},{name:"right",dispName:"Right",type:"bool",defVal:!0},{name:"bottom",dispName:"Bottom Line",type:"bool",defVal:!0},{name:"left",dispName:"Left ",type:"bool",defVal:!0},{name:"topLeftStyle",dispName:"Top 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"}]},{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"}]}];
mxShapeBasicRect2.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);var f=mxUtils.getValue(this.style,"rectStyle",this.rectStyle),g=mxUtils.getValue(this.style,"absoluteCornerSize",this.absoluteCornerSize),h=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"size",this.size)))),k=Math.max(0,Math.min(50,h)),h=Math.min(.5*c,.5*b,h);g||(h=k*Math.min(b,c)/100);var k=mxUtils.getValue(this.style,"rectOutline",this.rectOutline),l=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,
"indent",this.indent)))),m=Math.max(0,Math.min(50,l)),h=Math.min(h,.5*Math.min(b,c));g||(l=Math.min(m*Math.min(b,c)/100));var l=Math.min(l,.5*Math.min(b,c)-h),g=mxUtils.getValue(this.style,"top",!0),m=mxUtils.getValue(this.style,"right",!0),n=mxUtils.getValue(this.style,"bottom",!0),p=mxUtils.getValue(this.style,"left",!0),q=mxUtils.getValue(this.style,"topLeftStyle","default"),r=mxUtils.getValue(this.style,"topRightStyle","default"),t=mxUtils.getValue(this.style,"bottomRightStyle","default"),u=mxUtils.getValue(this.style,
"bottomLeftStyle","default"),v=mxUtils.getValue(this.style,"fillColor","none"),w;mxUtils.getValue(this.style,"fillColor2","none");(g||m||n||p)&&"frame"!=k&&(a.begin(),g?mxShapeBasicRect2.prototype.moveNW(a,d,e,b,c,f,q,h,p):a.moveTo(0,0),g&&mxShapeBasicRect2.prototype.paintNW(a,d,e,b,c,f,q,h,p),mxShapeBasicRect2.prototype.paintTop(a,d,e,b,c,f,r,h,m),m&&mxShapeBasicRect2.prototype.paintNE(a,d,e,b,c,f,r,h,g),mxShapeBasicRect2.prototype.paintRight(a,d,e,b,c,f,t,h,n),n&&mxShapeBasicRect2.prototype.paintSE(a,
d,e,b,c,f,t,h,m),mxShapeBasicRect2.prototype.paintBottom(a,d,e,b,c,f,u,h,p),p&&mxShapeBasicRect2.prototype.paintSW(a,d,e,b,c,f,u,h,n),mxShapeBasicRect2.prototype.paintLeft(a,d,e,b,c,f,q,h,g),a.close(),a.fill(),a.setShadow(!1),w=mxUtils.getValue(this.style,"fillColor2","none"),a.setFillColor(w),a.begin(),g?mxShapeBasicRect2.prototype.moveNWInner(a,d,e,b,c,f,q,h,l,g,p):a.moveTo(l,0),mxShapeBasicRect2.prototype.paintLeftInner(a,d,e,b,c,f,u,h,l,n,p),p&&n&&mxShapeBasicRect2.prototype.paintSWInner(a,d,
e,b,c,f,u,h,l,n),mxShapeBasicRect2.prototype.paintBottomInner(a,d,e,b,c,f,t,h,l,m,n),n&&m&&mxShapeBasicRect2.prototype.paintSEInner(a,d,e,b,c,f,t,h,l),mxShapeBasicRect2.prototype.paintRightInner(a,d,e,b,c,f,r,h,l,g,m),m&&g&&mxShapeBasicRect2.prototype.paintNEInner(a,d,e,b,c,f,r,h,l),mxShapeBasicRect2.prototype.paintTopInner(a,d,e,b,c,f,q,h,l,p,g),g&&p&&mxShapeBasicRect2.prototype.paintNWInner(a,d,e,b,c,f,q,h,l),a.fill(),"none"==v&&(a.begin(),mxShapeBasicRect2.prototype.paintFolds(a,d,e,b,c,f,q,r,
t,u,h,g,m,n,p),a.stroke()));g||m||n||!p?g||m||!n||p?!g&&!m&&n&&p?"frame"!=k?(a.begin(),mxShapeBasicRect2.prototype.moveSE(a,d,e,b,c,f,t,h,m),mxShapeBasicRect2.prototype.paintBottom(a,d,e,b,c,f,u,h,p),mxShapeBasicRect2.prototype.paintSW(a,d,e,b,c,f,u,h,n),mxShapeBasicRect2.prototype.paintLeft(a,d,e,b,c,f,q,h,g),"double"==k&&(mxShapeBasicRect2.prototype.moveNWInner(a,d,e,b,c,f,q,h,l,g,p),mxShapeBasicRect2.prototype.paintLeftInner(a,d,e,b,c,f,u,h,l,n,p),mxShapeBasicRect2.prototype.paintSWInner(a,d,e,
b,c,f,u,h,l,n),mxShapeBasicRect2.prototype.paintBottomInner(a,d,e,b,c,f,t,h,l,m,n)),a.stroke()):(a.begin(),mxShapeBasicRect2.prototype.moveSE(a,d,e,b,c,f,t,h,m),mxShapeBasicRect2.prototype.paintBottom(a,d,e,b,c,f,u,h,p),mxShapeBasicRect2.prototype.paintSW(a,d,e,b,c,f,u,h,n),mxShapeBasicRect2.prototype.paintLeft(a,d,e,b,c,f,q,h,g),mxShapeBasicRect2.prototype.lineNWInner(a,d,e,b,c,f,q,h,l,g,p),mxShapeBasicRect2.prototype.paintLeftInner(a,d,e,b,c,f,u,h,l,n,p),mxShapeBasicRect2.prototype.paintSWInner(a,
d,e,b,c,f,u,h,l,n),mxShapeBasicRect2.prototype.paintBottomInner(a,d,e,b,c,f,t,h,l,m,n),a.close(),a.fillAndStroke()):g||!m||n||p?!g&&m&&!n&&p?"frame"!=k?(a.begin(),mxShapeBasicRect2.prototype.moveSW(a,d,e,b,c,f,q,h,n),mxShapeBasicRect2.prototype.paintLeft(a,d,e,b,c,f,q,h,g),"double"==k&&(mxShapeBasicRect2.prototype.moveNWInner(a,d,e,b,c,f,q,h,l,g,p),mxShapeBasicRect2.prototype.paintLeftInner(a,d,e,b,c,f,u,h,l,n,p)),a.stroke(),a.begin(),mxShapeBasicRect2.prototype.moveNE(a,d,e,b,c,f,r,h,g),mxShapeBasicRect2.prototype.paintRight(a,
d,e,b,c,f,t,h,n),"double"==k&&(mxShapeBasicRect2.prototype.moveSEInner(a,d,e,b,c,f,t,h,l,n),mxShapeBasicRect2.prototype.paintRightInner(a,d,e,b,c,f,r,h,l,g,m)),a.stroke()):(a.begin(),mxShapeBasicRect2.prototype.moveSW(a,d,e,b,c,f,q,h,n),mxShapeBasicRect2.prototype.paintLeft(a,d,e,b,c,f,q,h,g),mxShapeBasicRect2.prototype.lineNWInner(a,d,e,b,c,f,q,h,l,g,p),mxShapeBasicRect2.prototype.paintLeftInner(a,d,e,b,c,f,u,h,l,n,p),a.close(),a.fillAndStroke(),a.begin(),mxShapeBasicRect2.prototype.moveNE(a,d,e,
b,c,f,r,h,g),mxShapeBasicRect2.prototype.paintRight(a,d,e,b,c,f,t,h,n),mxShapeBasicRect2.prototype.lineSEInner(a,d,e,b,c,f,t,h,l,n),mxShapeBasicRect2.prototype.paintRightInner(a,d,e,b,c,f,r,h,l,g,m),a.close(),a.fillAndStroke()):!g&&m&&n&&!p?"frame"!=k?(a.begin(),mxShapeBasicRect2.prototype.moveNE(a,d,e,b,c,f,r,h,g),mxShapeBasicRect2.prototype.paintRight(a,d,e,b,c,f,t,h,n),mxShapeBasicRect2.prototype.paintSE(a,d,e,b,c,f,t,h,m),mxShapeBasicRect2.prototype.paintBottom(a,d,e,b,c,f,u,h,p),"double"==k&&
(mxShapeBasicRect2.prototype.moveSWInner(a,d,e,b,c,f,u,h,l,p),mxShapeBasicRect2.prototype.paintBottomInner(a,d,e,b,c,f,t,h,l,m,n),mxShapeBasicRect2.prototype.paintSEInner(a,d,e,b,c,f,t,h,l),mxShapeBasicRect2.prototype.paintRightInner(a,d,e,b,c,f,r,h,l,g,m)),a.stroke()):(a.begin(),mxShapeBasicRect2.prototype.moveNE(a,d,e,b,c,f,r,h,g),mxShapeBasicRect2.prototype.paintRight(a,d,e,b,c,f,t,h,n),mxShapeBasicRect2.prototype.paintSE(a,d,e,b,c,f,t,h,m),mxShapeBasicRect2.prototype.paintBottom(a,d,e,b,c,f,u,
h,p),mxShapeBasicRect2.prototype.lineSWInner(a,d,e,b,c,f,u,h,l,p),mxShapeBasicRect2.prototype.paintBottomInner(a,d,e,b,c,f,t,h,l,m,n),mxShapeBasicRect2.prototype.paintSEInner(a,d,e,b,c,f,t,h,l),mxShapeBasicRect2.prototype.paintRightInner(a,d,e,b,c,f,r,h,l,g,m),a.close(),a.fillAndStroke()):!g&&m&&n&&p?"frame"!=k?(a.begin(),mxShapeBasicRect2.prototype.moveNE(a,d,e,b,c,f,r,h,g),mxShapeBasicRect2.prototype.paintRight(a,d,e,b,c,f,t,h,n),mxShapeBasicRect2.prototype.paintSE(a,d,e,b,c,f,t,h,m),mxShapeBasicRect2.prototype.paintBottom(a,
d,e,b,c,f,u,h,p),mxShapeBasicRect2.prototype.paintSW(a,d,e,b,c,f,u,h,n),mxShapeBasicRect2.prototype.paintLeft(a,d,e,b,c,f,q,h,g),"double"==k&&(mxShapeBasicRect2.prototype.moveNWInner(a,d,e,b,c,f,q,h,l,g,p),mxShapeBasicRect2.prototype.paintLeftInner(a,d,e,b,c,f,u,h,l,n,p),mxShapeBasicRect2.prototype.paintSWInner(a,d,e,b,c,f,u,h,l,n),mxShapeBasicRect2.prototype.paintBottomInner(a,d,e,b,c,f,t,h,l,m,n),mxShapeBasicRect2.prototype.paintSEInner(a,d,e,b,c,f,t,h,l),mxShapeBasicRect2.prototype.paintRightInner(a,
d,e,b,c,f,r,h,l,g,m)),a.stroke()):(a.begin(),mxShapeBasicRect2.prototype.moveNE(a,d,e,b,c,f,r,h,g),mxShapeBasicRect2.prototype.paintRight(a,d,e,b,c,f,t,h,n),mxShapeBasicRect2.prototype.paintSE(a,d,e,b,c,f,t,h,m),mxShapeBasicRect2.prototype.paintBottom(a,d,e,b,c,f,u,h,p),mxShapeBasicRect2.prototype.paintSW(a,d,e,b,c,f,u,h,n),mxShapeBasicRect2.prototype.paintLeft(a,d,e,b,c,f,q,h,g),mxShapeBasicRect2.prototype.lineNWInner(a,d,e,b,c,f,q,h,l,g,p),mxShapeBasicRect2.prototype.paintLeftInner(a,d,e,b,c,f,
u,h,l,n,p),mxShapeBasicRect2.prototype.paintSWInner(a,d,e,b,c,f,u,h,l,n),mxShapeBasicRect2.prototype.paintBottomInner(a,d,e,b,c,f,t,h,l,m,n),mxShapeBasicRect2.prototype.paintSEInner(a,d,e,b,c,f,t,h,l),mxShapeBasicRect2.prototype.paintRightInner(a,d,e,b,c,f,r,h,l,g,m),a.close(),a.fillAndStroke()):!g||m||n||p?g&&!m&&!n&&p?"frame"!=k?(a.begin(),mxShapeBasicRect2.prototype.moveSW(a,d,e,b,c,f,u,h,n),mxShapeBasicRect2.prototype.paintLeft(a,d,e,b,c,f,q,h,g),mxShapeBasicRect2.prototype.paintNW(a,d,e,b,c,
f,q,h,p),mxShapeBasicRect2.prototype.paintTop(a,d,e,b,c,f,r,h,m),"double"==k&&(mxShapeBasicRect2.prototype.moveNEInner(a,d,e,b,c,f,r,h,l,m),mxShapeBasicRect2.prototype.paintTopInner(a,d,e,b,c,f,q,h,l,p,g),mxShapeBasicRect2.prototype.paintNWInner(a,d,e,b,c,f,q,h,l),mxShapeBasicRect2.prototype.paintLeftInner(a,d,e,b,c,f,u,h,l,n,p)),a.stroke()):(a.begin(),mxShapeBasicRect2.prototype.moveSW(a,d,e,b,c,f,u,h,n),mxShapeBasicRect2.prototype.paintLeft(a,d,e,b,c,f,q,h,g),mxShapeBasicRect2.prototype.paintNW(a,
d,e,b,c,f,q,h,p),mxShapeBasicRect2.prototype.paintTop(a,d,e,b,c,f,r,h,m),mxShapeBasicRect2.prototype.lineNEInner(a,d,e,b,c,f,r,h,l,m),mxShapeBasicRect2.prototype.paintTopInner(a,d,e,b,c,f,q,h,l,p,g),mxShapeBasicRect2.prototype.paintNWInner(a,d,e,b,c,f,q,h,l),mxShapeBasicRect2.prototype.paintLeftInner(a,d,e,b,c,f,u,h,l,n,p),a.close(),a.fillAndStroke()):g&&!m&&n&&!p?"frame"!=k?(a.begin(),mxShapeBasicRect2.prototype.moveNW(a,d,e,b,c,f,q,h,p),mxShapeBasicRect2.prototype.paintTop(a,d,e,b,c,f,r,h,m),"double"==
k&&(mxShapeBasicRect2.prototype.moveNEInner(a,d,e,b,c,f,r,h,l,m),mxShapeBasicRect2.prototype.paintTopInner(a,d,e,b,c,f,q,h,l,p,g)),a.stroke(),a.begin(),mxShapeBasicRect2.prototype.moveSE(a,d,e,b,c,f,t,h,m),mxShapeBasicRect2.prototype.paintBottom(a,d,e,b,c,f,u,h,p),"double"==k&&(mxShapeBasicRect2.prototype.moveSWInner(a,d,e,b,c,f,u,h,l,p),mxShapeBasicRect2.prototype.paintBottomInner(a,d,e,b,c,f,t,h,l,m,n)),a.stroke()):(a.begin(),mxShapeBasicRect2.prototype.moveNW(a,d,e,b,c,f,q,h,p),mxShapeBasicRect2.prototype.paintTop(a,
d,e,b,c,f,r,h,m),mxShapeBasicRect2.prototype.lineNEInner(a,d,e,b,c,f,r,h,l,m),mxShapeBasicRect2.prototype.paintTopInner(a,d,e,b,c,f,q,h,l,p,g),a.close(),a.fillAndStroke(),a.begin(),mxShapeBasicRect2.prototype.moveSE(a,d,e,b,c,f,t,h,m),mxShapeBasicRect2.prototype.paintBottom(a,d,e,b,c,f,u,h,p),mxShapeBasicRect2.prototype.lineSWInner(a,d,e,b,c,f,u,h,l,p),mxShapeBasicRect2.prototype.paintBottomInner(a,d,e,b,c,f,t,h,l,m,n),a.close(),a.fillAndStroke()):g&&!m&&n&&p?"frame"!=k?(a.begin(),mxShapeBasicRect2.prototype.moveSE(a,
d,e,b,c,f,t,h,m),mxShapeBasicRect2.prototype.paintBottom(a,d,e,b,c,f,u,h,p),mxShapeBasicRect2.prototype.paintSW(a,d,e,b,c,f,u,h,n),mxShapeBasicRect2.prototype.paintLeft(a,d,e,b,c,f,q,h,g),mxShapeBasicRect2.prototype.paintNW(a,d,e,b,c,f,q,h,p),mxShapeBasicRect2.prototype.paintTop(a,d,e,b,c,f,r,h,m),"double"==k&&(mxShapeBasicRect2.prototype.moveNEInner(a,d,e,b,c,f,r,h,l,m),mxShapeBasicRect2.prototype.paintTopInner(a,d,e,b,c,f,q,h,l,p,g),mxShapeBasicRect2.prototype.paintNWInner(a,d,e,b,c,f,q,h,l),mxShapeBasicRect2.prototype.paintLeftInner(a,
d,e,b,c,f,u,h,l,n,p),mxShapeBasicRect2.prototype.paintSWInner(a,d,e,b,c,f,u,h,l,n),mxShapeBasicRect2.prototype.paintBottomInner(a,d,e,b,c,f,t,h,l,m,n)),a.stroke()):(a.begin(),mxShapeBasicRect2.prototype.moveSE(a,d,e,b,c,f,t,h,m),mxShapeBasicRect2.prototype.paintBottom(a,d,e,b,c,f,u,h,p),mxShapeBasicRect2.prototype.paintSW(a,d,e,b,c,f,u,h,n),mxShapeBasicRect2.prototype.paintLeft(a,d,e,b,c,f,q,h,g),mxShapeBasicRect2.prototype.paintNW(a,d,e,b,c,f,q,h,p),mxShapeBasicRect2.prototype.paintTop(a,d,e,b,c,
f,r,h,m),mxShapeBasicRect2.prototype.lineNEInner(a,d,e,b,c,f,r,h,l,m),mxShapeBasicRect2.prototype.paintTopInner(a,d,e,b,c,f,q,h,l,p,g),mxShapeBasicRect2.prototype.paintNWInner(a,d,e,b,c,f,q,h,l),mxShapeBasicRect2.prototype.paintLeftInner(a,d,e,b,c,f,u,h,l,n,p),mxShapeBasicRect2.prototype.paintSWInner(a,d,e,b,c,f,u,h,l,n),mxShapeBasicRect2.prototype.paintBottomInner(a,d,e,b,c,f,t,h,l,m,n),a.close(),a.fillAndStroke()):g&&m&&!n&&!p?"frame"!=k?(a.begin(),mxShapeBasicRect2.prototype.moveNW(a,d,e,b,c,f,
q,h,p),mxShapeBasicRect2.prototype.paintTop(a,d,e,b,c,f,r,h,m),mxShapeBasicRect2.prototype.paintNE(a,d,e,b,c,f,r,h,g),mxShapeBasicRect2.prototype.paintRight(a,d,e,b,c,f,t,h,n),"double"==k&&(mxShapeBasicRect2.prototype.moveSEInner(a,d,e,b,c,f,t,h,l,n),mxShapeBasicRect2.prototype.paintRightInner(a,d,e,b,c,f,r,h,l,g,m),mxShapeBasicRect2.prototype.paintNEInner(a,d,e,b,c,f,r,h,l),mxShapeBasicRect2.prototype.paintTopInner(a,d,e,b,c,f,q,h,l,p,g)),a.stroke()):(a.begin(),mxShapeBasicRect2.prototype.moveNW(a,
d,e,b,c,f,q,h,p),mxShapeBasicRect2.prototype.paintTop(a,d,e,b,c,f,r,h,m),mxShapeBasicRect2.prototype.paintNE(a,d,e,b,c,f,r,h,g),mxShapeBasicRect2.prototype.paintRight(a,d,e,b,c,f,t,h,n),mxShapeBasicRect2.prototype.lineSEInner(a,d,e,b,c,f,t,h,l,n),mxShapeBasicRect2.prototype.paintRightInner(a,d,e,b,c,f,r,h,l,g,m),mxShapeBasicRect2.prototype.paintNEInner(a,d,e,b,c,f,r,h,l),mxShapeBasicRect2.prototype.paintTopInner(a,d,e,b,c,f,q,h,l,p,g),a.close(),a.fillAndStroke()):g&&m&&!n&&p?"frame"!=k?(a.begin(),
mxShapeBasicRect2.prototype.moveSW(a,d,e,b,c,f,u,h,n),mxShapeBasicRect2.prototype.paintLeft(a,d,e,b,c,f,q,h,g),mxShapeBasicRect2.prototype.paintNW(a,d,e,b,c,f,q,h,p),mxShapeBasicRect2.prototype.paintTop(a,d,e,b,c,f,r,h,m),mxShapeBasicRect2.prototype.paintNE(a,d,e,b,c,f,r,h,g),mxShapeBasicRect2.prototype.paintRight(a,d,e,b,c,f,t,h,n),"double"==k&&(mxShapeBasicRect2.prototype.moveSEInner(a,d,e,b,c,f,t,h,l,n),mxShapeBasicRect2.prototype.paintRightInner(a,d,e,b,c,f,r,h,l,g,m),mxShapeBasicRect2.prototype.paintNEInner(a,
d,e,b,c,f,r,h,l),mxShapeBasicRect2.prototype.paintTopInner(a,d,e,b,c,f,q,h,l,p,g),mxShapeBasicRect2.prototype.paintNWInner(a,d,e,b,c,f,q,h,l),mxShapeBasicRect2.prototype.paintLeftInner(a,d,e,b,c,f,u,h,l,n,p)),a.stroke()):(a.begin(),mxShapeBasicRect2.prototype.moveSW(a,d,e,b,c,f,u,h,n),mxShapeBasicRect2.prototype.paintLeft(a,d,e,b,c,f,q,h,g),mxShapeBasicRect2.prototype.paintNW(a,d,e,b,c,f,q,h,p),mxShapeBasicRect2.prototype.paintTop(a,d,e,b,c,f,r,h,m),mxShapeBasicRect2.prototype.paintNE(a,d,e,b,c,f,
r,h,g),mxShapeBasicRect2.prototype.paintRight(a,d,e,b,c,f,t,h,n),mxShapeBasicRect2.prototype.lineSEInner(a,d,e,b,c,f,t,h,l,n),mxShapeBasicRect2.prototype.paintRightInner(a,d,e,b,c,f,r,h,l,g,m),mxShapeBasicRect2.prototype.paintNEInner(a,d,e,b,c,f,r,h,l),mxShapeBasicRect2.prototype.paintTopInner(a,d,e,b,c,f,q,h,l,p,g),mxShapeBasicRect2.prototype.paintNWInner(a,d,e,b,c,f,q,h,l),mxShapeBasicRect2.prototype.paintLeftInner(a,d,e,b,c,f,u,h,l,n,p),a.close(),a.fillAndStroke()):g&&m&&n&&!p?"frame"!=k?(a.begin(),
mxShapeBasicRect2.prototype.moveNW(a,d,e,b,c,f,q,h,p),mxShapeBasicRect2.prototype.paintTop(a,d,e,b,c,f,r,h,m),mxShapeBasicRect2.prototype.paintNE(a,d,e,b,c,f,r,h,g),mxShapeBasicRect2.prototype.paintRight(a,d,e,b,c,f,t,h,n),mxShapeBasicRect2.prototype.paintSE(a,d,e,b,c,f,t,h,m),mxShapeBasicRect2.prototype.paintBottom(a,d,e,b,c,f,u,h,p),"double"==k&&(mxShapeBasicRect2.prototype.moveSWInner(a,d,e,b,c,f,u,h,l,p),mxShapeBasicRect2.prototype.paintBottomInner(a,d,e,b,c,f,t,h,l,m,n),mxShapeBasicRect2.prototype.paintSEInner(a,
d,e,b,c,f,t,h,l),mxShapeBasicRect2.prototype.paintRightInner(a,d,e,b,c,f,r,h,l,g,m),mxShapeBasicRect2.prototype.paintNEInner(a,d,e,b,c,f,r,h,l),mxShapeBasicRect2.prototype.paintTopInner(a,d,e,b,c,f,q,h,l,p,g)),a.stroke()):(a.begin(),mxShapeBasicRect2.prototype.moveNW(a,d,e,b,c,f,q,h,p),mxShapeBasicRect2.prototype.paintTop(a,d,e,b,c,f,r,h,m),mxShapeBasicRect2.prototype.paintNE(a,d,e,b,c,f,r,h,g),mxShapeBasicRect2.prototype.paintRight(a,d,e,b,c,f,t,h,n),mxShapeBasicRect2.prototype.paintSE(a,d,e,b,c,
f,t,h,m),mxShapeBasicRect2.prototype.paintBottom(a,d,e,b,c,f,u,h,p),mxShapeBasicRect2.prototype.lineSWInner(a,d,e,b,c,f,u,h,l,p),mxShapeBasicRect2.prototype.paintBottomInner(a,d,e,b,c,f,t,h,l,m,n),mxShapeBasicRect2.prototype.paintSEInner(a,d,e,b,c,f,t,h,l),mxShapeBasicRect2.prototype.paintRightInner(a,d,e,b,c,f,r,h,l,g,m),mxShapeBasicRect2.prototype.paintNEInner(a,d,e,b,c,f,r,h,l),mxShapeBasicRect2.prototype.paintTopInner(a,d,e,b,c,f,q,h,l,p,g),a.close(),a.fillAndStroke()):g&&m&&n&&p&&("frame"!=k?
(a.begin(),mxShapeBasicRect2.prototype.moveNW(a,d,e,b,c,f,q,h,p),mxShapeBasicRect2.prototype.paintNW(a,d,e,b,c,f,q,h,p),mxShapeBasicRect2.prototype.paintTop(a,d,e,b,c,f,r,h,m),mxShapeBasicRect2.prototype.paintNE(a,d,e,b,c,f,r,h,g),mxShapeBasicRect2.prototype.paintRight(a,d,e,b,c,f,t,h,n),mxShapeBasicRect2.prototype.paintSE(a,d,e,b,c,f,t,h,m),mxShapeBasicRect2.prototype.paintBottom(a,d,e,b,c,f,u,h,p),mxShapeBasicRect2.prototype.paintSW(a,d,e,b,c,f,u,h,n),mxShapeBasicRect2.prototype.paintLeft(a,d,e,
b,c,f,q,h,g),a.close(),"double"==k&&(mxShapeBasicRect2.prototype.moveSWInner(a,d,e,b,c,f,u,h,l,p),mxShapeBasicRect2.prototype.paintSWInner(a,d,e,b,c,f,u,h,l,n),mxShapeBasicRect2.prototype.paintBottomInner(a,d,e,b,c,f,t,h,l,m,n),mxShapeBasicRect2.prototype.paintSEInner(a,d,e,b,c,f,t,h,l),mxShapeBasicRect2.prototype.paintRightInner(a,d,e,b,c,f,r,h,l,g,m),mxShapeBasicRect2.prototype.paintNEInner(a,d,e,b,c,f,r,h,l),mxShapeBasicRect2.prototype.paintTopInner(a,d,e,b,c,f,q,h,l,p,g),mxShapeBasicRect2.prototype.paintNWInner(a,
d,e,b,c,f,q,h,l),mxShapeBasicRect2.prototype.paintLeftInner(a,d,e,b,c,f,u,h,l,n,p),a.close()),a.stroke()):(a.begin(),mxShapeBasicRect2.prototype.moveNW(a,d,e,b,c,f,q,h,p),mxShapeBasicRect2.prototype.paintNW(a,d,e,b,c,f,q,h,p),mxShapeBasicRect2.prototype.paintTop(a,d,e,b,c,f,r,h,m),mxShapeBasicRect2.prototype.paintNE(a,d,e,b,c,f,r,h,g),mxShapeBasicRect2.prototype.paintRight(a,d,e,b,c,f,t,h,n),mxShapeBasicRect2.prototype.paintSE(a,d,e,b,c,f,t,h,m),mxShapeBasicRect2.prototype.paintBottom(a,d,e,b,c,f,
u,h,p),mxShapeBasicRect2.prototype.paintSW(a,d,e,b,c,f,u,h,n),mxShapeBasicRect2.prototype.paintLeft(a,d,e,b,c,f,q,h,g),a.close(),mxShapeBasicRect2.prototype.moveSWInner(a,d,e,b,c,f,u,h,l,p),mxShapeBasicRect2.prototype.paintSWInner(a,d,e,b,c,f,u,h,l,n),mxShapeBasicRect2.prototype.paintBottomInner(a,d,e,b,c,f,t,h,l,m,n),mxShapeBasicRect2.prototype.paintSEInner(a,d,e,b,c,f,t,h,l),mxShapeBasicRect2.prototype.paintRightInner(a,d,e,b,c,f,r,h,l,g,m),mxShapeBasicRect2.prototype.paintNEInner(a,d,e,b,c,f,r,
h,l),mxShapeBasicRect2.prototype.paintTopInner(a,d,e,b,c,f,q,h,l,p,g),mxShapeBasicRect2.prototype.paintNWInner(a,d,e,b,c,f,q,h,l),mxShapeBasicRect2.prototype.paintLeftInner(a,d,e,b,c,f,u,h,l,n,p),a.close(),a.fillAndStroke())):"frame"!=k?(a.begin(),mxShapeBasicRect2.prototype.moveNW(a,d,e,b,c,f,q,h,p),mxShapeBasicRect2.prototype.paintTop(a,d,e,b,c,f,r,h,m),"double"==k&&(mxShapeBasicRect2.prototype.moveNEInner(a,d,e,b,c,f,r,h,l,m),mxShapeBasicRect2.prototype.paintTopInner(a,d,e,b,c,f,q,h,l,p,g)),a.stroke()):
(a.begin(),mxShapeBasicRect2.prototype.moveNW(a,d,e,b,c,f,q,h,p),mxShapeBasicRect2.prototype.paintTop(a,d,e,b,c,f,r,h,m),mxShapeBasicRect2.prototype.lineNEInner(a,d,e,b,c,f,r,h,l,m),mxShapeBasicRect2.prototype.paintTopInner(a,d,e,b,c,f,q,h,l,p,g),a.close(),a.fillAndStroke()):"frame"!=k?(a.begin(),mxShapeBasicRect2.prototype.moveNE(a,d,e,b,c,f,r,h,g),mxShapeBasicRect2.prototype.paintRight(a,d,e,b,c,f,t,h,n),"double"==k&&(mxShapeBasicRect2.prototype.moveSEInner(a,d,e,b,c,f,t,h,l,n),mxShapeBasicRect2.prototype.paintRightInner(a,
d,e,b,c,f,r,h,l,g,m)),a.stroke()):(a.begin(),mxShapeBasicRect2.prototype.moveNE(a,d,e,b,c,f,r,h,g),mxShapeBasicRect2.prototype.paintRight(a,d,e,b,c,f,t,h,n),mxShapeBasicRect2.prototype.lineSEInner(a,d,e,b,c,f,t,h,l,n),mxShapeBasicRect2.prototype.paintRightInner(a,d,e,b,c,f,r,h,l,g,m),a.close(),a.fillAndStroke()):"frame"!=k?(a.begin(),mxShapeBasicRect2.prototype.moveSE(a,d,e,b,c,f,t,h,m),mxShapeBasicRect2.prototype.paintBottom(a,d,e,b,c,f,u,h,p),"double"==k&&(mxShapeBasicRect2.prototype.moveSWInner(a,
d,e,b,c,f,u,h,l,p),mxShapeBasicRect2.prototype.paintBottomInner(a,d,e,b,c,f,t,h,l,m,n)),a.stroke()):(a.begin(),mxShapeBasicRect2.prototype.moveSE(a,d,e,b,c,f,t,h,m),mxShapeBasicRect2.prototype.paintBottom(a,d,e,b,c,f,u,h,p),mxShapeBasicRect2.prototype.lineSWInner(a,d,e,b,c,f,u,h,l,p),mxShapeBasicRect2.prototype.paintBottomInner(a,d,e,b,c,f,t,h,l,m,n),a.close(),a.fillAndStroke()):"frame"!=k?(a.begin(),mxShapeBasicRect2.prototype.moveSW(a,d,e,b,c,f,q,h,n),mxShapeBasicRect2.prototype.paintLeft(a,d,e,
b,c,f,q,h,g),"double"==k&&(mxShapeBasicRect2.prototype.moveNWInner(a,d,e,b,c,f,q,h,l,g,p),mxShapeBasicRect2.prototype.paintLeftInner(a,d,e,b,c,f,u,h,l,n,p)),a.stroke()):(a.begin(),mxShapeBasicRect2.prototype.moveSW(a,d,e,b,c,f,q,h,n),mxShapeBasicRect2.prototype.paintLeft(a,d,e,b,c,f,q,h,g),mxShapeBasicRect2.prototype.lineNWInner(a,d,e,b,c,f,q,h,l,g,p),mxShapeBasicRect2.prototype.paintLeftInner(a,d,e,b,c,f,u,h,l,n,p),a.close(),a.fillAndStroke());a.begin();mxShapeBasicRect2.prototype.paintFolds(a,d,
e,b,c,f,q,r,t,u,h,g,m,n,p);a.stroke()};mxShapeBasicRect2.prototype.moveNW=function(a,d,e,b,c,f,g,h,k){"square"==g||"default"==g&&"square"==f||!k?a.moveTo(0,0):a.moveTo(0,h)};mxShapeBasicRect2.prototype.moveNE=function(a,d,e,b,c,f,g,h,k){"square"==g||"default"==g&&"square"==f||!k?a.moveTo(b,0):a.moveTo(b-h,0)};mxShapeBasicRect2.prototype.moveSE=function(a,d,e,b,c,f,g,h,k){"square"==g||"default"==g&&"square"==f||!k?a.moveTo(b,c):a.moveTo(b,c-h)};
mxShapeBasicRect2.prototype.moveSW=function(a,d,e,b,c,f,g,h,k){"square"==g||"default"==g&&"square"==f||!k?a.moveTo(0,c):a.moveTo(h,c)};mxShapeBasicRect2.prototype.paintNW=function(a,d,e,b,c,f,g,h,k){if(k)if("rounded"==g||"default"==g&&"rounded"==f||"invRound"==g||"default"==g&&"invRound"==f){d=0;if("rounded"==g||"default"==g&&"rounded"==f)d=1;a.arcTo(h,h,0,0,d,h,0)}else("snip"==g||"default"==g&&"snip"==f||"fold"==g||"default"==g&&"fold"==f)&&a.lineTo(h,0);else a.lineTo(0,0)};
mxShapeBasicRect2.prototype.paintTop=function(a,d,e,b,c,f,g,h,k){"square"==g||"default"==g&&"square"==f||!k?a.lineTo(b,0):a.lineTo(b-h,0)};mxShapeBasicRect2.prototype.paintNE=function(a,d,e,b,c,f,g,h,k){if(k)if("rounded"==g||"default"==g&&"rounded"==f||"invRound"==g||"default"==g&&"invRound"==f){d=0;if("rounded"==g||"default"==g&&"rounded"==f)d=1;a.arcTo(h,h,0,0,d,b,h)}else("snip"==g||"default"==g&&"snip"==f||"fold"==g||"default"==g&&"fold"==f)&&a.lineTo(b,h);else a.lineTo(b,0)};
mxShapeBasicRect2.prototype.paintRight=function(a,d,e,b,c,f,g,h,k){"square"==g||"default"==g&&"square"==f||!k?a.lineTo(b,c):a.lineTo(b,c-h)};mxShapeBasicRect2.prototype.paintLeft=function(a,d,e,b,c,f,g,h,k){"square"==g||"default"==g&&"square"==f||!k?a.lineTo(0,0):a.lineTo(0,h)};
mxShapeBasicRect2.prototype.paintSE=function(a,d,e,b,c,f,g,h,k){if(k)if("rounded"==g||"default"==g&&"rounded"==f||"invRound"==g||"default"==g&&"invRound"==f){d=0;if("rounded"==g||"default"==g&&"rounded"==f)d=1;a.arcTo(h,h,0,0,d,b-h,c)}else("snip"==g||"default"==g&&"snip"==f||"fold"==g||"default"==g&&"fold"==f)&&a.lineTo(b-h,c);else a.lineTo(b,c)};mxShapeBasicRect2.prototype.paintBottom=function(a,d,e,b,c,f,g,h,k){"square"==g||"default"==g&&"square"==f||!k?a.lineTo(0,c):a.lineTo(h,c)};
mxShapeBasicRect2.prototype.paintSW=function(a,d,e,b,c,f,g,h,k){if(k)if("rounded"==g||"default"==g&&"rounded"==f||"invRound"==g||"default"==g&&"invRound"==f){d=0;if("rounded"==g||"default"==g&&"rounded"==f)d=1;a.arcTo(h,h,0,0,d,0,c-h)}else("snip"==g||"default"==g&&"snip"==f||"fold"==g||"default"==g&&"fold"==f)&&a.lineTo(0,c-h);else a.lineTo(0,c)};
mxShapeBasicRect2.prototype.paintNWInner=function(a,d,e,b,c,f,g,h,k){if("rounded"==g||"default"==g&&"rounded"==f)a.arcTo(h-.5*k,h-.5*k,0,0,0,k,.5*k+h);else if("invRound"==g||"default"==g&&"invRound"==f)a.arcTo(h+k,h+k,0,0,1,k,k+h);else if("snip"==g||"default"==g&&"snip"==f)a.lineTo(k,.5*k+h);else if("fold"==g||"default"==g&&"fold"==f)a.lineTo(k+h,k+h),a.lineTo(k,k+h)};
mxShapeBasicRect2.prototype.paintTopInner=function(a,d,e,b,c,f,g,h,k,l,m){l||m?!l&&m?a.lineTo(0,k):l&&!m?a.lineTo(k,0):l?"square"==g||"default"==g&&"square"==f?a.lineTo(k,k):"rounded"==g||"default"==g&&"rounded"==f||"snip"==g||"default"==g&&"snip"==f?a.lineTo(h+.5*k,k):a.lineTo(h+k,k):a.lineTo(0,k):a.lineTo(0,0)};
mxShapeBasicRect2.prototype.paintNEInner=function(a,d,e,b,c,f,g,h,k){if("rounded"==g||"default"==g&&"rounded"==f)a.arcTo(h-.5*k,h-.5*k,0,0,0,b-h-.5*k,k);else if("invRound"==g||"default"==g&&"invRound"==f)a.arcTo(h+k,h+k,0,0,1,b-h-k,k);else if("snip"==g||"default"==g&&"snip"==f)a.lineTo(b-h-.5*k,k);else if("fold"==g||"default"==g&&"fold"==f)a.lineTo(b-h-k,h+k),a.lineTo(b-h-k,k)};
mxShapeBasicRect2.prototype.paintRightInner=function(a,d,e,b,c,f,g,h,k,l,m){l||m?!l&&m?a.lineTo(b-k,0):l&&!m?a.lineTo(b,k):l?"square"==g||"default"==g&&"square"==f?a.lineTo(b-k,k):"rounded"==g||"default"==g&&"rounded"==f||"snip"==g||"default"==g&&"snip"==f?a.lineTo(b-k,h+.5*k):a.lineTo(b-k,h+k):a.lineTo(b-k,0):a.lineTo(b,0)};
mxShapeBasicRect2.prototype.paintLeftInner=function(a,d,e,b,c,f,g,h,k,l,m){l||m?!l&&m?a.lineTo(k,c):l&&!m?a.lineTo(0,c-k):l?"square"==g||"default"==g&&"square"==f?a.lineTo(k,c-k):"rounded"==g||"default"==g&&"rounded"==f||"snip"==g||"default"==g&&"snip"==f?a.lineTo(k,c-h-.5*k):a.lineTo(k,c-h-k):a.lineTo(k,c):a.lineTo(0,c)};
mxShapeBasicRect2.prototype.paintSEInner=function(a,d,e,b,c,f,g,h,k){if("rounded"==g||"default"==g&&"rounded"==f)a.arcTo(h-.5*k,h-.5*k,0,0,0,b-k,c-h-.5*k);else if("invRound"==g||"default"==g&&"invRound"==f)a.arcTo(h+k,h+k,0,0,1,b-k,c-h-k);else if("snip"==g||"default"==g&&"snip"==f)a.lineTo(b-k,c-h-.5*k);else if("fold"==g||"default"==g&&"fold"==f)a.lineTo(b-h-k,c-h-k),a.lineTo(b-k,c-h-k)};
mxShapeBasicRect2.prototype.paintBottomInner=function(a,d,e,b,c,f,g,h,k,l,m){l||m?!l&&m?a.lineTo(b,c-k):l&&!m?a.lineTo(b-k,c):"square"==g||"default"==g&&"square"==f||!l?a.lineTo(b-k,c-k):"rounded"==g||"default"==g&&"rounded"==f||"snip"==g||"default"==g&&"snip"==f?a.lineTo(b-h-.5*k,c-k):a.lineTo(b-h-k,c-k):a.lineTo(b,c)};
mxShapeBasicRect2.prototype.paintSWInner=function(a,d,e,b,c,f,g,h,k,l){if(!l)a.lineTo(k,c);else if("square"==g||"default"==g&&"square"==f)a.lineTo(k,c-k);else if("rounded"==g||"default"==g&&"rounded"==f)a.arcTo(h-.5*k,h-.5*k,0,0,0,h+.5*k,c-k);else if("invRound"==g||"default"==g&&"invRound"==f)a.arcTo(h+k,h+k,0,0,1,h+k,c-k);else if("snip"==g||"default"==g&&"snip"==f)a.lineTo(h+.5*k,c-k);else if("fold"==g||"default"==g&&"fold"==f)a.lineTo(k+h,c-h-k),a.lineTo(k+h,c-k)};
mxShapeBasicRect2.prototype.moveSWInner=function(a,d,e,b,c,f,g,h,k,l){l?"square"==g||"default"==g&&"square"==f?a.moveTo(k,c-k):"rounded"==g||"default"==g&&"rounded"==f||"snip"==g||"default"==g&&"snip"==f?a.moveTo(k,c-h-.5*k):("invRound"==g||"default"==g&&"invRound"==f||"fold"==g||"default"==g&&"fold"==f)&&a.moveTo(k,c-h-k):a.moveTo(0,c-k)};
mxShapeBasicRect2.prototype.lineSWInner=function(a,d,e,b,c,f,g,h,k,l){l?"square"==g||"default"==g&&"square"==f?a.lineTo(k,c-k):"rounded"==g||"default"==g&&"rounded"==f||"snip"==g||"default"==g&&"snip"==f?a.lineTo(k,c-h-.5*k):("invRound"==g||"default"==g&&"invRound"==f||"fold"==g||"default"==g&&"fold"==f)&&a.lineTo(k,c-h-k):a.lineTo(0,c-k)};
mxShapeBasicRect2.prototype.moveSEInner=function(a,d,e,b,c,f,g,h,k,l){l?"square"==g||"default"==g&&"square"==f?a.moveTo(b-k,c-k):"rounded"==g||"default"==g&&"rounded"==f||"snip"==g||"default"==g&&"snip"==f?a.moveTo(b-k,c-h-.5*k):("invRound"==g||"default"==g&&"invRound"==f||"fold"==g||"default"==g&&"fold"==f)&&a.moveTo(b-k,c-h-k):a.moveTo(b-k,c)};
mxShapeBasicRect2.prototype.lineSEInner=function(a,d,e,b,c,f,g,h,k,l){l?"square"==g||"default"==g&&"square"==f?a.lineTo(b-k,c-k):"rounded"==g||"default"==g&&"rounded"==f||"snip"==g||"default"==g&&"snip"==f?a.lineTo(b-k,c-h-.5*k):("invRound"==g||"default"==g&&"invRound"==f||"fold"==g||"default"==g&&"fold"==f)&&a.lineTo(b-k,c-h-k):a.lineTo(b-k,c)};
mxShapeBasicRect2.prototype.moveNEInner=function(a,d,e,b,c,f,g,h,k,l){l?"square"==g||"default"==g&&"square"==f||l?a.moveTo(b-k,k):"rounded"==g||"default"==g&&"rounded"==f||"snip"==g||"default"==g&&"snip"==f?a.moveTo(b-k,h+.5*k):("invRound"==g||"default"==g&&"invRound"==f||"fold"==g||"default"==g&&"fold"==f)&&a.moveTo(b-k,h+k):a.moveTo(b,k)};
mxShapeBasicRect2.prototype.lineNEInner=function(a,d,e,b,c,f,g,h,k,l){l?"square"==g||"default"==g&&"square"==f||l?a.lineTo(b-k,k):"rounded"==g||"default"==g&&"rounded"==f||"snip"==g||"default"==g&&"snip"==f?a.lineTo(b-k,h+.5*k):("invRound"==g||"default"==g&&"invRound"==f||"fold"==g||"default"==g&&"fold"==f)&&a.lineTo(b-k,h+k):a.lineTo(b,k)};
mxShapeBasicRect2.prototype.moveNWInner=function(a,d,e,b,c,f,g,h,k,l,m){l||m?!l&&m?a.moveTo(k,0):l&&!m?a.moveTo(0,k):"square"==g||"default"==g&&"square"==f?a.moveTo(k,k):"rounded"==g||"default"==g&&"rounded"==f||"snip"==g||"default"==g&&"snip"==f?a.moveTo(k,h+.5*k):("invRound"==g||"default"==g&&"invRound"==f||"fold"==g||"default"==g&&"fold"==f)&&a.moveTo(k,h+k):a.moveTo(0,0)};
mxShapeBasicRect2.prototype.lineNWInner=function(a,d,e,b,c,f,g,h,k,l,m){l||m?!l&&m?a.lineTo(k,0):l&&!m?a.lineTo(0,k):"square"==g||"default"==g&&"square"==f?a.lineTo(k,k):"rounded"==g||"default"==g&&"rounded"==f||"snip"==g||"default"==g&&"snip"==f?a.lineTo(k,h+.5*k):("invRound"==g||"default"==g&&"invRound"==f||"fold"==g||"default"==g&&"fold"==f)&&a.lineTo(k,h+k):a.lineTo(0,0)};
mxShapeBasicRect2.prototype.paintFolds=function(a,d,e,b,c,f,g,h,k,l,m,n,p,q,r){if("fold"==f||"fold"==g||"fold"==h||"fold"==k||"fold"==l)("fold"==g||"default"==g&&"fold"==f)&&n&&r&&(a.moveTo(0,m),a.lineTo(m,m),a.lineTo(m,0)),("fold"==h||"default"==h&&"fold"==f)&&n&&p&&(a.moveTo(b-m,0),a.lineTo(b-m,m),a.lineTo(b,m)),("fold"==k||"default"==k&&"fold"==f)&&q&&p&&(a.moveTo(b-m,c),a.lineTo(b-m,c-m),a.lineTo(b,c-m)),("fold"==l||"default"==l&&"fold"==f)&&q&&r&&(a.moveTo(0,c-m),a.lineTo(m,c-m),a.lineTo(m,c))};
mxCellRenderer.registerShape(mxShapeBasicRect2.prototype.cst.DIAG_ROUND_RECT,mxShapeBasicRect2);mxShapeBasicRect2.prototype.constraints=null;
Graph.handleFactory[mxShapeBasicRect2.prototype.cst.DIAG_ROUND_RECT]=function(a){var d=[Graph.createHandle(a,["size"],function(a){var b=Math.max(0,Math.min(a.width/2,a.height/2,parseFloat(mxUtils.getValue(this.state.style,"size",this.size))));return new mxPoint(a.x+b,a.y+b)},function(a,b){this.state.style.size=Math.round(100*Math.max(0,Math.min(a.height/2,a.width/2,b.x-a.x)))/100})];a=Graph.createHandle(a,["indent"],function(a){var b=Math.max(0,Math.min(100,parseFloat(mxUtils.getValue(this.state.style,
"indent",this.dx2))));return new mxPoint(a.x+.75*a.width,a.y+b*a.height/200)},function(a,b){this.state.style.indent=Math.round(100*Math.max(0,Math.min(100,200*(b.y-a.y)/a.height)))/100});d.push(a);return d};function mxShapeBootstrapRRect(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeBootstrapRRect,mxShape);mxShapeBootstrapRRect.prototype.cst={PACKAGE:"mxgraph.bootstrap.rrect",R_SIZE:"rSize"};
mxShapeBootstrapRRect.prototype.customProperties=[{name:"rSize",dispName:"Arc Size",type:"float",min:0,defVal:10}];mxShapeBootstrapRRect.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=parseInt(mxUtils.getValue(this.style,mxShapeBootstrapRRect.prototype.cst.R_SIZE,"10"));a.roundrect(0,0,b,c,d);a.fillAndStroke()};mxCellRenderer.registerShape(mxShapeBootstrapRRect.prototype.cst.PACKAGE,mxShapeBootstrapRRect);
function mxShapeBootstrapTopButton(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeBootstrapTopButton,mxShape);mxShapeBootstrapTopButton.prototype.cst={TOP_BUTTON:"mxgraph.bootstrap.topButton",R_SIZE:"rSize"};mxShapeBootstrapTopButton.prototype.customProperties=[{name:"rSize",dispName:"Arc Size",type:"float",min:0,defVal:10}];
mxShapeBootstrapTopButton.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=parseInt(mxUtils.getValue(this.style,mxShapeBootstrapTopButton.prototype.cst.R_SIZE,"10"));a.begin();a.moveTo(0,d);a.arcTo(d,d,0,0,1,d,0);a.lineTo(b-d,0);a.arcTo(d,d,0,0,1,b,d);a.lineTo(b,c);a.lineTo(0,c);a.close();a.fillAndStroke()};mxCellRenderer.registerShape(mxShapeBootstrapTopButton.prototype.cst.TOP_BUTTON,mxShapeBootstrapTopButton);
function mxShapeBootstrapBottomButton(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeBootstrapBottomButton,mxShape);mxShapeBootstrapBottomButton.prototype.cst={BOTTOM_BUTTON:"mxgraph.bootstrap.bottomButton",R_SIZE:"rSize"};mxShapeBootstrapBottomButton.prototype.customProperties=[{name:"rSize",dispName:"Arc Size",type:"float",min:0,defVal:10}];
mxShapeBootstrapBottomButton.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=parseInt(mxUtils.getValue(this.style,mxShapeBootstrapBottomButton.prototype.cst.R_SIZE,"10"));a.begin();a.moveTo(0,0);a.lineTo(b,0);a.lineTo(b,c-d);a.arcTo(d,d,0,0,1,b-d,c);a.lineTo(d,c);a.arcTo(d,d,0,0,1,0,c-d);a.close();a.fillAndStroke()};mxCellRenderer.registerShape(mxShapeBootstrapBottomButton.prototype.cst.BOTTOM_BUTTON,mxShapeBootstrapBottomButton);
@ -1902,8 +1972,8 @@ mxCellRenderer.registerShape(mxShapeInfographicNumEntryVert.prototype.cst.NUM_EN
Graph.handleFactory[mxShapeInfographicNumEntryVert.prototype.cst.NUM_ENTRY_VERT]=function(a){return[Graph.createHandle(a,["dy"],function(a){var d=Math.max(0,Math.min(a.width,a.width,parseFloat(mxUtils.getValue(this.state.style,"dy",this.dy))));return new mxPoint(a.x+a.width/2,a.y+d)},function(a,e){this.state.style.dy=Math.round(100*Math.max(0,Math.min(a.height,a.width,e.y-a.y)))/100})]};
function mxShapeInfographicBendingArch(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1;this.startAngle=.25;this.endAngle=.75;this.arcWidth=.5}mxUtils.extend(mxShapeInfographicBendingArch,mxActor);mxShapeInfographicBendingArch.prototype.cst={BENDING_ARCH:"mxgraph.infographic.bendingArch"};
mxShapeInfographicBendingArch.prototype.customProperties=[{name:"startAngle",dispName:"Start Angle",min:0,max:1,defVal:.75},{name:"endAngle",dispName:"End Angle",min:0,max:1,defVal:.25},{name:"arcWidth",dispName:"Arc Width",min:0,max:1,defVal:.25}];
mxShapeInfographicBendingArch.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);var f=2*Math.PI*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"startAngle",this.startAngle)))),g=2*Math.PI*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"endAngle",this.endAngle)))),h=1-Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arcWidth",this.arcWidth))));d=.5*b;e=.5*c;var k=d*h,h=e*h,l=d+Math.sin(f)*d,n=e-Math.cos(f)*e,m=d+Math.sin(f)*k,p=e-Math.cos(f)*h,
q=d+Math.sin(g)*d,u=e-Math.cos(g)*e,t=d+Math.sin(g)*k,v=e-Math.cos(g)*h,g=g-f;0>g&&(g+=2*Math.PI);f=0;g>Math.PI&&(f=1);var g=k-5,r=h-5;a.ellipse(.5*b-g,.5*c-r,2*g,2*r);a.fillAndStroke();a.begin();a.moveTo(l,n);a.arcTo(d,e,0,f,1,q,u);a.lineTo(t,v);a.arcTo(k,h,0,f,0,m,p);a.close();a.fillAndStroke()};mxCellRenderer.registerShape(mxShapeInfographicBendingArch.prototype.cst.BENDING_ARCH,mxShapeInfographicBendingArch);mxShapeInfographicBendingArch.prototype.constraints=null;
mxShapeInfographicBendingArch.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);var f=2*Math.PI*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"startAngle",this.startAngle)))),g=2*Math.PI*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"endAngle",this.endAngle)))),h=1-Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arcWidth",this.arcWidth))));d=.5*b;e=.5*c;var k=d*h,h=e*h,l=d+Math.sin(f)*d,m=e-Math.cos(f)*e,n=d+Math.sin(f)*k,p=e-Math.cos(f)*h,
q=d+Math.sin(g)*d,r=e-Math.cos(g)*e,t=d+Math.sin(g)*k,u=e-Math.cos(g)*h,g=g-f;0>g&&(g+=2*Math.PI);f=0;g>Math.PI&&(f=1);var g=k-5,v=h-5;a.ellipse(.5*b-g,.5*c-v,2*g,2*v);a.fillAndStroke();a.begin();a.moveTo(l,m);a.arcTo(d,e,0,f,1,q,r);a.lineTo(t,u);a.arcTo(k,h,0,f,0,n,p);a.close();a.fillAndStroke()};mxCellRenderer.registerShape(mxShapeInfographicBendingArch.prototype.cst.BENDING_ARCH,mxShapeInfographicBendingArch);mxShapeInfographicBendingArch.prototype.constraints=null;
Graph.handleFactory[mxShapeInfographicBendingArch.prototype.cst.BENDING_ARCH]=function(a){var d=[Graph.createHandle(a,["startAngle"],function(a){var b=2*Math.PI*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"startAngle",this.startAngle))));return new mxPoint(a.x+.5*a.width+Math.sin(b)*a.width*.5,a.y+.5*a.height-Math.cos(b)*a.height*.5)},function(a,c){var b=.5*Math.atan2(Math.round(100*Math.max(-1,Math.min(1,(c.x-a.x-.5*a.width)/(.5*a.width))))/100,-Math.round(100*Math.max(-1,
Math.min(1,(c.y-a.y-.5*a.height)/(.5*a.height))))/100)/Math.PI;0>b&&(b=1+b);this.state.style.startAngle=b})],e=Graph.createHandle(a,["endAngle"],function(a){var b=2*Math.PI*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"endAngle",this.endAngle))));return new mxPoint(a.x+.5*a.width+Math.sin(b)*a.width*.5,a.y+.5*a.height-Math.cos(b)*a.height*.5)},function(a,c){var b=.5*Math.atan2(Math.round(100*Math.max(-1,Math.min(1,(c.x-a.x-.5*a.width)/(.5*a.width))))/100,-Math.round(100*Math.max(-1,
Math.min(1,(c.y-a.y-.5*a.height)/(.5*a.height))))/100)/Math.PI;0>b&&(b=1+b);this.state.style.endAngle=b});d.push(e);a=Graph.createHandle(a,["arcWidth"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"arcWidth",this.arcWidth))));return new mxPoint(a.x+a.width/2,a.y+b*a.height*.5)},function(a,c){this.state.style.arcWidth=Math.round(100*Math.max(0,Math.min(a.height/2,a.width/2,(c.y-a.y)/(.5*a.height))))/100});d.push(a);return d};
@ -1969,9 +2039,9 @@ a.fill();a.setFillColor("#ffffff");a.begin();a.moveTo(.5*b,2*d);a.lineTo(0,d);a.
Graph.handleFactory[mxShapeBasicShadedCube.prototype.cst.SHADED_CUBE]=function(a){return[Graph.createHandle(a,["isoAngle"],function(a){var d=Math.max(.01,Math.min(94,parseFloat(mxUtils.getValue(this.state.style,"isoAngle",this.isoAngle))))*Math.PI/200;return new mxPoint(a.x,a.y+Math.min(a.width*Math.tan(d),.5*a.height))},function(a,e){this.state.style.isoAngle=Math.round(100*Math.max(0,Math.min(100,e.y-a.y)))/100})]};
function mxShapeBasicPartConcEllipse(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1;this.startAngle=.25;this.endAngle=.75;this.arcWidth=.5}mxUtils.extend(mxShapeBasicPartConcEllipse,mxActor);mxShapeBasicPartConcEllipse.prototype.cst={PART_CONC_ELLIPSE:"mxgraph.infographic.partConcEllipse"};
mxShapeBasicPartConcEllipse.prototype.customProperties=[{name:"startAngle",dispName:"Start Angle",min:0,max:1,defVal:.25},{name:"endAngle",dispName:"End Angle",min:0,max:1,defVal:.1},{name:"arcWidth",dispName:"Arc Width",min:0,max:1,defVal:.5}];
mxShapeBasicPartConcEllipse.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);var f=2*Math.PI*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"startAngle",this.startAngle)))),g=2*Math.PI*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"endAngle",this.endAngle)))),h=1-Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arcWidth",this.arcWidth))));d=.5*b;e=.5*c;var k=d*h,l=e*h,n=g-f;0>n?n+=2*Math.PI:n==Math.PI&&(g+=1E-5);var m=d+Math.sin(f)*d,p=e-Math.cos(f)*
e,q=d+Math.sin(f)*k,f=e-Math.cos(f)*l,u=d+Math.sin(g)*d,t=e-Math.cos(g)*e,v=d+Math.sin(g)*k,g=e-Math.cos(g)*l,r=0;n<=Math.PI&&(r=1);a.begin();a.moveTo(d,0);a.arcTo(d,e,0,0,1,b,e);a.arcTo(d,e,0,0,1,d,c);a.arcTo(d,e,0,0,1,0,e);a.arcTo(d,e,0,0,1,d,0);a.close();a.moveTo(d,.5*c-l);a.arcTo(k,l,0,0,0,.5*b-k,e);a.arcTo(k,l,0,0,0,d,.5*c+l);a.arcTo(k,l,0,0,0,.5*b+k,e);a.arcTo(k,l,0,0,0,d,.5*c-l);a.close();a.fillAndStroke();a.setShadow(!1);a.setFillAlpha("0.2");a.setFillColor("#ffffff");a.begin();a.moveTo(m,
p);a.arcTo(d,e,0,r,0,u,t);a.lineTo(v,g);a.arcTo(k,l,0,r,1,q,f);a.close();a.fill();d=.5*b;e=.5*c;k=d*h;l=e*h;h=k+.25*(d-k);n=l+.25*(e-l);a.setFillColor("#000000");a.begin();a.moveTo(d,.5*c-l);a.arcTo(k,l,0,0,1,.5*b+k,e);a.arcTo(k,l,0,0,1,d,.5*c+l);a.arcTo(k,l,0,0,1,.5*b-k,e);a.arcTo(k,l,0,0,1,d,.5*c-l);a.close();a.moveTo(d,.5*c-n);a.arcTo(h,n,0,0,0,.5*b-h,e);a.arcTo(h,n,0,0,0,d,.5*c+n);a.arcTo(h,n,0,0,0,.5*b+h,e);a.arcTo(h,n,0,0,0,d,.5*c-n);a.close();a.fill()};
mxShapeBasicPartConcEllipse.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);var f=2*Math.PI*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"startAngle",this.startAngle)))),g=2*Math.PI*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"endAngle",this.endAngle)))),h=1-Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arcWidth",this.arcWidth))));d=.5*b;e=.5*c;var k=d*h,l=e*h,m=g-f;0>m?m+=2*Math.PI:m==Math.PI&&(g+=1E-5);var n=d+Math.sin(f)*d,p=e-Math.cos(f)*
e,q=d+Math.sin(f)*k,f=e-Math.cos(f)*l,r=d+Math.sin(g)*d,t=e-Math.cos(g)*e,u=d+Math.sin(g)*k,g=e-Math.cos(g)*l,v=0;m<=Math.PI&&(v=1);a.begin();a.moveTo(d,0);a.arcTo(d,e,0,0,1,b,e);a.arcTo(d,e,0,0,1,d,c);a.arcTo(d,e,0,0,1,0,e);a.arcTo(d,e,0,0,1,d,0);a.close();a.moveTo(d,.5*c-l);a.arcTo(k,l,0,0,0,.5*b-k,e);a.arcTo(k,l,0,0,0,d,.5*c+l);a.arcTo(k,l,0,0,0,.5*b+k,e);a.arcTo(k,l,0,0,0,d,.5*c-l);a.close();a.fillAndStroke();a.setShadow(!1);a.setFillAlpha("0.2");a.setFillColor("#ffffff");a.begin();a.moveTo(n,
p);a.arcTo(d,e,0,v,0,r,t);a.lineTo(u,g);a.arcTo(k,l,0,v,1,q,f);a.close();a.fill();d=.5*b;e=.5*c;k=d*h;l=e*h;h=k+.25*(d-k);m=l+.25*(e-l);a.setFillColor("#000000");a.begin();a.moveTo(d,.5*c-l);a.arcTo(k,l,0,0,1,.5*b+k,e);a.arcTo(k,l,0,0,1,d,.5*c+l);a.arcTo(k,l,0,0,1,.5*b-k,e);a.arcTo(k,l,0,0,1,d,.5*c-l);a.close();a.moveTo(d,.5*c-m);a.arcTo(h,m,0,0,0,.5*b-h,e);a.arcTo(h,m,0,0,0,d,.5*c+m);a.arcTo(h,m,0,0,0,.5*b+h,e);a.arcTo(h,m,0,0,0,d,.5*c-m);a.close();a.fill()};
mxCellRenderer.registerShape(mxShapeBasicPartConcEllipse.prototype.cst.PART_CONC_ELLIPSE,mxShapeBasicPartConcEllipse);mxShapeBasicPartConcEllipse.prototype.constraints=null;
Graph.handleFactory[mxShapeBasicPartConcEllipse.prototype.cst.PART_CONC_ELLIPSE]=function(a){var d=[Graph.createHandle(a,["startAngle"],function(a){var b=2*Math.PI*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"startAngle",this.startAngle))));return new mxPoint(a.x+.5*a.width+Math.sin(b)*a.width*.5,a.y+.5*a.height-Math.cos(b)*a.height*.5)},function(a,c){var b=.5*Math.atan2(Math.round(100*Math.max(-1,Math.min(1,(c.x-a.x-.5*a.width)/(.5*a.width))))/100,-Math.round(100*Math.max(-1,
Math.min(1,(c.y-a.y-.5*a.height)/(.5*a.height))))/100)/Math.PI;0>b&&(b=1+b);this.state.style.startAngle=b})],e=Graph.createHandle(a,["endAngle"],function(a){var b=2*Math.PI*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"endAngle",this.endAngle))));return new mxPoint(a.x+.5*a.width+Math.sin(b)*a.width*.5,a.y+.5*a.height-Math.cos(b)*a.height*.5)},function(a,c){var b=.5*Math.atan2(Math.round(100*Math.max(-1,Math.min(1,(c.x-a.x-.5*a.width)/(.5*a.width))))/100,-Math.round(100*Math.max(-1,
@ -2083,13 +2153,13 @@ mxLeanBatchedKanban.prototype.constraints=[new mxConnectionConstraint(new mxPoin
mxCellRenderer.registerShape("mxgraph.lean_mapping.control_center",mxLeanControlCenter);
mxLeanControlCenter.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.15,0),!0),new mxConnectionConstraint(new mxPoint(.85,0),!0),new mxConnectionConstraint(new mxPoint(0,1),!0),new mxConnectionConstraint(new mxPoint(1,1),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.15,.25),!1),new mxConnectionConstraint(new mxPoint(.15,.5),!1),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(.85,.25),!1),new mxConnectionConstraint(new mxPoint(.85,
.5),!1),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0)];function mxLeanElectronicInfoShape(){mxArrow.call(this)}mxUtils.extend(mxLeanElectronicInfoShape,mxArrow);
mxLeanElectronicInfoShape.prototype.paintEdgeShape=function(a,d){var e=d[0],b=d[d.length-1],c=b.x-e.x,f=b.y-e.y;e.x+=.05*c;e.y+=.05*f;b.x-=.05*c;b.y-=.05*f;var c=b.x-e.x,f=b.y-e.y,g=Math.sqrt(c*c+f*f),h=c/g,k=f/g,l=e.x+.5*c,n=e.y+.5*f,c=l-h*g*.1-k/3*g*.1,f=n-k*g*.1+h/3*g*.1,l=l+h*g*.1+k/3*g*.1,g=n+k*g*.1-h/3*g*.1;a.begin();a.moveTo(e.x,e.y);a.lineTo(l,g);a.lineTo(c,f);a.lineTo(b.x,b.y);a.stroke();c=b.x-c;f=b.y-f;g=Math.sqrt(c*c+f*f);h=c/g;k=f/g;a.setFillColor(mxUtils.getValue(this.style,mxConstants.STYLE_STROKECOLOR,
mxLeanElectronicInfoShape.prototype.paintEdgeShape=function(a,d){var e=d[0],b=d[d.length-1],c=b.x-e.x,f=b.y-e.y;e.x+=.05*c;e.y+=.05*f;b.x-=.05*c;b.y-=.05*f;var c=b.x-e.x,f=b.y-e.y,g=Math.sqrt(c*c+f*f),h=c/g,k=f/g,l=e.x+.5*c,m=e.y+.5*f,c=l-h*g*.1-k/3*g*.1,f=m-k*g*.1+h/3*g*.1,l=l+h*g*.1+k/3*g*.1,g=m+k*g*.1-h/3*g*.1;a.begin();a.moveTo(e.x,e.y);a.lineTo(l,g);a.lineTo(c,f);a.lineTo(b.x,b.y);a.stroke();c=b.x-c;f=b.y-f;g=Math.sqrt(c*c+f*f);h=c/g;k=f/g;a.setFillColor(mxUtils.getValue(this.style,mxConstants.STYLE_STROKECOLOR,
"#000000"));a.begin();a.moveTo(b.x-10*h-5*k,b.y-10*k+5*h);a.lineTo(b.x,b.y);a.lineTo(b.x-10*h+5*k,b.y-10*k-5*h);a.fillAndStroke()};mxCellRenderer.registerShape("mxgraph.lean_mapping.electronic_info_flow_edge",mxLeanElectronicInfoShape);function mxLeanManualInfoShape(){mxArrow.call(this)}mxUtils.extend(mxLeanManualInfoShape,mxArrow);
mxLeanManualInfoShape.prototype.paintEdgeShape=function(a,d){var e=d[0],b=d[d.length-1],c=b.x-e.x,f=b.y-e.y;e.x+=.05*c;e.y+=.05*f;b.x-=.05*c;b.y-=.05*f;var c=b.x-e.x,f=b.y-e.y,g=Math.sqrt(c*c+f*f),c=c/g,f=f/g;a.begin();a.moveTo(e.x,e.y);a.lineTo(b.x,b.y);a.stroke();a.setFillColor(mxUtils.getValue(this.style,mxConstants.STYLE_STROKECOLOR,"#000000"));a.begin();a.moveTo(b.x-10*c-5*f,b.y-10*f+5*c);a.lineTo(b.x,b.y);a.lineTo(b.x-10*c+5*f,b.y-10*f-5*c);a.fillAndStroke()};
mxCellRenderer.registerShape("mxgraph.lean_mapping.manual_info_flow_edge",mxLeanManualInfoShape);function mxShapeLeanTimeline(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeLeanTimeline,mxShape);mxShapeLeanTimeline.prototype.cst={SHAPE_TIMELINE:"mxgraph.lean_mapping.timeline2"};
mxShapeLeanTimeline.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);var f=mxUtils.getValue(this.style,"dy1","0");d=mxUtils.getValue(this.style,"dx2","0");e=mxUtils.getValue(this.style,"dy2","0");var g=mxUtils.getValue(this.style,"dx3","0"),h=mxUtils.getValue(this.style,"dy3","0"),k=mxUtils.getValue(this.style,"dx4","0"),l=mxUtils.getValue(this.style,"dy4","0"),n=mxUtils.getValue(this.style,"dx5","0"),m=mxUtils.getValue(this.style,"dy5","0"),p=mxUtils.getValue(this.style,"dy6","0");
a.begin();.5>=f?(a.moveTo(0,0),f=!0):(a.moveTo(0,c),f=!1);.5>=e&&f?(a.lineTo(d,0),f=!0):.5<e&&!f?(a.lineTo(d,c),f=!1):.5>=e&&!f?(a.lineTo(d,c),a.lineTo(d,0),f=!0):(a.lineTo(d,0),a.lineTo(d,c),f=!1);.5>=h&&f?(a.lineTo(g,0),f=!0):.5<h&&!f?(a.lineTo(g,c),f=!1):.5>=h&&!f?(a.lineTo(g,c),a.lineTo(g,0),f=!0):(a.lineTo(g,0),a.lineTo(g,c),f=!1);.5>=l&&f?(a.lineTo(k,0),f=!0):.5<l&&!f?(a.lineTo(k,c),f=!1):.5>=l&&!f?(a.lineTo(k,c),a.lineTo(k,0),f=!0):(a.lineTo(k,0),a.lineTo(k,c),f=!1);.5>=m&&f?(a.lineTo(n,0),
f=!0):.5<m&&!f?(a.lineTo(n,c),f=!1):.5>=m&&!f?(a.lineTo(n,c),a.lineTo(n,0),f=!0):(a.lineTo(n,0),a.lineTo(n,c),f=!1);.5>=p&&f?a.lineTo(b,0):.5<p&&!f?a.lineTo(b,c):.5>=p&&!f?(a.lineTo(b,c),a.lineTo(b,0)):(a.lineTo(b,0),a.lineTo(b,c));a.stroke()};mxCellRenderer.registerShape(mxShapeLeanTimeline.prototype.cst.SHAPE_TIMELINE,mxShapeLeanTimeline);
mxShapeLeanTimeline.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);var f=mxUtils.getValue(this.style,"dy1","0");d=mxUtils.getValue(this.style,"dx2","0");e=mxUtils.getValue(this.style,"dy2","0");var g=mxUtils.getValue(this.style,"dx3","0"),h=mxUtils.getValue(this.style,"dy3","0"),k=mxUtils.getValue(this.style,"dx4","0"),l=mxUtils.getValue(this.style,"dy4","0"),m=mxUtils.getValue(this.style,"dx5","0"),n=mxUtils.getValue(this.style,"dy5","0"),p=mxUtils.getValue(this.style,"dy6","0");
a.begin();.5>=f?(a.moveTo(0,0),f=!0):(a.moveTo(0,c),f=!1);.5>=e&&f?(a.lineTo(d,0),f=!0):.5<e&&!f?(a.lineTo(d,c),f=!1):.5>=e&&!f?(a.lineTo(d,c),a.lineTo(d,0),f=!0):(a.lineTo(d,0),a.lineTo(d,c),f=!1);.5>=h&&f?(a.lineTo(g,0),f=!0):.5<h&&!f?(a.lineTo(g,c),f=!1):.5>=h&&!f?(a.lineTo(g,c),a.lineTo(g,0),f=!0):(a.lineTo(g,0),a.lineTo(g,c),f=!1);.5>=l&&f?(a.lineTo(k,0),f=!0):.5<l&&!f?(a.lineTo(k,c),f=!1):.5>=l&&!f?(a.lineTo(k,c),a.lineTo(k,0),f=!0):(a.lineTo(k,0),a.lineTo(k,c),f=!1);.5>=n&&f?(a.lineTo(m,0),
f=!0):.5<n&&!f?(a.lineTo(m,c),f=!1):.5>=n&&!f?(a.lineTo(m,c),a.lineTo(m,0),f=!0):(a.lineTo(m,0),a.lineTo(m,c),f=!1);.5>=p&&f?a.lineTo(b,0):.5<p&&!f?a.lineTo(b,c):.5>=p&&!f?(a.lineTo(b,c),a.lineTo(b,0)):(a.lineTo(b,0),a.lineTo(b,c));a.stroke()};mxCellRenderer.registerShape(mxShapeLeanTimeline.prototype.cst.SHAPE_TIMELINE,mxShapeLeanTimeline);
Graph.handleFactory[mxShapeLeanTimeline.prototype.cst.SHAPE_TIMELINE]=function(a){var d=[Graph.createHandle(a,["dy1"],function(a){var b=Math.max(0,Math.min(100,parseFloat(mxUtils.getValue(this.state.style,"dy1",0))));return new mxPoint(a.x,a.y+b*a.height)},function(a,c){this.state.style.dy1=Math.round(1E3*Math.max(0,Math.min(1,(c.y-a.y)/a.height)))/1E3})],e=Graph.createHandle(a,["dx2","dy2"],function(a){var b=Math.max(0,Math.min(parseFloat(mxUtils.getValue(this.state.style,"dx3",0)),parseFloat(mxUtils.getValue(this.state.style,
"dx2",0)))),d=Math.max(0,Math.min(100,parseFloat(mxUtils.getValue(this.state.style,"dy2",0))));return new mxPoint(a.x+b,a.y+d*a.height)},function(a,c){this.state.style.dx2=Math.round(1E3*Math.max(0,Math.min(parseFloat(mxUtils.getValue(this.state.style,"dx3",0)),c.x-a.x)))/1E3;this.state.style.dy2=Math.round(1E3*Math.max(0,Math.min(1,(c.y-a.y)/a.height)))/1E3});d.push(e);e=Graph.createHandle(a,["dx3","dy3"],function(a){var b=Math.max(parseFloat(mxUtils.getValue(this.state.style,"dx2",0)),Math.min(parseFloat(mxUtils.getValue(this.state.style,
"dx4",0)),parseFloat(mxUtils.getValue(this.state.style,"dx3",0)))),d=Math.max(0,Math.min(100,parseFloat(mxUtils.getValue(this.state.style,"dy3",0))));return new mxPoint(a.x+b,a.y+d*a.height)},function(a,c){this.state.style.dx3=Math.round(1E3*Math.max(parseFloat(mxUtils.getValue(this.state.style,"dx2",0)),Math.min(parseFloat(mxUtils.getValue(this.state.style,"dx4",0)),c.x-a.x)))/1E3;this.state.style.dy3=Math.round(1E3*Math.max(0,Math.min(1,(c.y-a.y)/a.height)))/1E3});d.push(e);e=Graph.createHandle(a,
@ -2099,11 +2169,11 @@ Graph.handleFactory[mxShapeLeanTimeline.prototype.cst.SHAPE_TIMELINE]=function(a
function mxShapeNetworksBus(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeNetworksBus,mxShape);mxShapeNetworksBus.prototype.cst={SHAPE_BUS:"mxgraph.networks.bus"};mxShapeNetworksBus.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,d,e,b,c);a.setShadow(!1);this.foreground(a,d,e,b,c)};
mxShapeNetworksBus.prototype.background=function(a,d,e,b,c){a.begin();a.moveTo(8,.5*c+10);a.arcTo(12,12,0,0,1,8,.5*c-10);a.lineTo(b-8,.5*c-10);a.arcTo(12,12,0,0,1,b-8,.5*c+10);a.close();a.fillAndStroke()};mxShapeNetworksBus.prototype.foreground=function(a,d,e,b,c){a.setFillColor("#ffffff");a.begin();a.moveTo(b-8,.5*c-10);a.arcTo(12,12,0,0,1,b-8,.5*c+10);a.arcTo(12,12,0,0,1,b-8,.5*c-10);a.fillAndStroke()};mxCellRenderer.registerShape(mxShapeNetworksBus.prototype.cst.SHAPE_BUS,mxShapeNetworksBus);
function mxShapeNetworksCommLinkEdge(){mxArrow.call(this)}mxUtils.extend(mxShapeNetworksCommLinkEdge,mxArrow);
mxShapeNetworksCommLinkEdge.prototype.paintEdgeShape=function(a,d){var e=d[0],b=d[d.length-1],c=b.x-e.x,f=b.y-e.y;e.x+=.05*c;e.y+=.05*f;b.x-=.05*c;b.y-=.05*f;var c=b.x-e.x,f=b.y-e.y,g=Math.sqrt(c*c+f*f),h=c/g,k=f/g,l=e.x+.5*c,n=e.y+.5*f,f=l+h*g/3*.1-k/3*g*.1,c=n+k*g/3*.1+h/3*g*.1,m=l+h*g*.1+k*g*.1,p=n+k*g*.1-h*g*.1,q=l-h*g/3*.1+k/3*g*.1,u=n-k*g/3*.1-h/3*g*.1,l=l-h*g*.1-k*g*.1,g=n-k*g*.1+h*g*.1;a.begin();a.moveTo(e.x,e.y);a.lineTo(m,p);a.lineTo(f,c);a.lineTo(b.x,b.y);a.lineTo(l,g);a.lineTo(q,u);a.close();
mxShapeNetworksCommLinkEdge.prototype.paintEdgeShape=function(a,d){var e=d[0],b=d[d.length-1],c=b.x-e.x,f=b.y-e.y;e.x+=.05*c;e.y+=.05*f;b.x-=.05*c;b.y-=.05*f;var c=b.x-e.x,f=b.y-e.y,g=Math.sqrt(c*c+f*f),h=c/g,k=f/g,l=e.x+.5*c,m=e.y+.5*f,f=l+h*g/3*.1-k/3*g*.1,c=m+k*g/3*.1+h/3*g*.1,n=l+h*g*.1+k*g*.1,p=m+k*g*.1-h*g*.1,q=l-h*g/3*.1+k/3*g*.1,r=m-k*g/3*.1-h/3*g*.1,l=l-h*g*.1-k*g*.1,g=m-k*g*.1+h*g*.1;a.begin();a.moveTo(e.x,e.y);a.lineTo(n,p);a.lineTo(f,c);a.lineTo(b.x,b.y);a.lineTo(l,g);a.lineTo(q,r);a.close();
a.fillAndStroke()};mxCellRenderer.registerShape("mxgraph.networks.comm_link_edge",mxShapeNetworksCommLinkEdge);function mxShapeSysMLComposite(){mxCylinder.call(this)}mxUtils.extend(mxShapeSysMLComposite,mxShape);mxShapeSysMLComposite.prototype.isHtmlAllowed=function(){return!1};
mxShapeSysMLComposite.prototype.paintForeground=function(a,d,e,b,c){if(null!=this.style){var f=mxCellRenderer.defaultShapes[this.style.symbol0];a.save();var g=new f;g.style=this.style;f.prototype.paintVertexShape.call(g,a,d,e,b,c);a.restore();a.setDashed(!1);var h=1;do{f=mxCellRenderer.defaultShapes[this.style["symbol"+h]];if(null!=f){var g=this.style["symbol"+h+"Align"],k=this.style["symbol"+h+"VerticalAlign"],l=this.style["symbol"+h+"Width"],n=this.style["symbol"+h+"Height"],m=this.style["symbol"+
h+"Spacing"]||0,p=this.style["symbol"+h+"VSpacing"]||0,q=this.style["symbol"+h+"ArcSpacing"],u=this.style["symbol"+h+"Direction"];null!=q&&(m+=this.getArcSize(b+this.strokewidth,c+this.strokewidth)*q,p+=this.getArcSize(b+this.strokewidth,c+this.strokewidth)*q);var q=d,t=e,q=g==mxConstants.ALIGN_CENTER?q+(b-l)/2:g==mxConstants.ALIGN_RIGHT?q+(b-l-m):q+m,t=k==mxConstants.ALIGN_MIDDLE?t+(c-n)/2:k==mxConstants.ALIGN_BOTTOM?t+(c-n-p):t+p;a.save();g=new f;g.style=mxUtils.clone(this.style);g.direction=u;
g.updateTransform(a,q,t,l,n);f.prototype.paintVertexShape.call(g,a,q,t,l,n);a.restore()}h++}while(null!=f)}};mxCellRenderer.registerShape("mxgraph.sysml.composite",mxShapeSysMLComposite);function mxShapeSysMLPackage(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeSysMLPackage,mxShape);mxShapeSysMLPackage.prototype.cst={PACKAGE:"mxgraph.sysml.package",LABEL_X:"labelX"};
mxShapeSysMLComposite.prototype.paintForeground=function(a,d,e,b,c){if(null!=this.style){var f=mxCellRenderer.defaultShapes[this.style.symbol0];a.save();var g=new f;g.style=this.style;f.prototype.paintVertexShape.call(g,a,d,e,b,c);a.restore();a.setDashed(!1);var h=1;do{f=mxCellRenderer.defaultShapes[this.style["symbol"+h]];if(null!=f){var g=this.style["symbol"+h+"Align"],k=this.style["symbol"+h+"VerticalAlign"],l=this.style["symbol"+h+"Width"],m=this.style["symbol"+h+"Height"],n=this.style["symbol"+
h+"Spacing"]||0,p=this.style["symbol"+h+"VSpacing"]||0,q=this.style["symbol"+h+"ArcSpacing"],r=this.style["symbol"+h+"Direction"];null!=q&&(n+=this.getArcSize(b+this.strokewidth,c+this.strokewidth)*q,p+=this.getArcSize(b+this.strokewidth,c+this.strokewidth)*q);var q=d,t=e,q=g==mxConstants.ALIGN_CENTER?q+(b-l)/2:g==mxConstants.ALIGN_RIGHT?q+(b-l-n):q+n,t=k==mxConstants.ALIGN_MIDDLE?t+(c-m)/2:k==mxConstants.ALIGN_BOTTOM?t+(c-m-p):t+p;a.save();g=new f;g.style=mxUtils.clone(this.style);g.direction=r;
g.updateTransform(a,q,t,l,m);f.prototype.paintVertexShape.call(g,a,q,t,l,m);a.restore()}h++}while(null!=f)}};mxCellRenderer.registerShape("mxgraph.sysml.composite",mxShapeSysMLComposite);function mxShapeSysMLPackage(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeSysMLPackage,mxShape);mxShapeSysMLPackage.prototype.cst={PACKAGE:"mxgraph.sysml.package",LABEL_X:"labelX"};
mxShapeSysMLPackage.prototype.customProperties=[{name:"labelX",dispName:"Header Width",type:"float",min:0,defVal:90}];mxShapeSysMLPackage.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,d,e,b,c);a.setShadow(!1);this.foreground(a,d,e,b,c)};mxShapeSysMLPackage.prototype.background=function(a,d,e,b,c){a.rect(0,0,b,c);a.fillAndStroke()};
mxShapeSysMLPackage.prototype.foreground=function(a,d,e,b,c){d=parseInt(mxUtils.getValue(this.style,mxShapeSysMLPackage.prototype.cst.LABEL_X,"90"));d=Math.min(d,b);20<d&&(a.begin(),a.moveTo(0,20),a.lineTo(d-10,20),a.lineTo(d,10),a.lineTo(d,0),a.stroke())};mxCellRenderer.registerShape(mxShapeSysMLPackage.prototype.cst.PACKAGE,mxShapeSysMLPackage);
Graph.handleFactory[mxShapeSysMLPackage.prototype.cst.PACKAGE]=function(a){return[Graph.createHandle(a,["labelX"],function(a){var d=Math.max(0,Math.min(a.width,parseFloat(mxUtils.getValue(this.state.style,"labelX",90))));return new mxPoint(a.x+d,a.y+10)},function(a,e){this.state.style.labelX=Math.round(100*Math.max(0,Math.min(a.width,e.x-a.x)))/100})]};function mxShapeSysMLPackage2(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}
@ -2130,9 +2200,9 @@ mxShapeSysMLItemFlowLeft.prototype.constraints=[new mxConnectionConstraint(new m
mxUtils.extend(mxShapeSysMLItemFlowRight,mxShape);mxShapeSysMLItemFlowRight.prototype.cst={ITEM_FLOW_RIGHT:"mxgraph.sysml.itemFlowRight"};mxShapeSysMLItemFlowRight.prototype.paintVertexShape=function(a,d,e,b,c){a.rect(d,e,b-10,c);a.fillAndStroke();a.rect(d+b-20,e+.25*c-10,20,20);a.fillAndStroke();a.rect(d+b-20,e+.5*c-10,20,20);a.fillAndStroke();a.rect(d+b-20,e+.75*c-10,20,20);a.fillAndStroke()};mxCellRenderer.registerShape(mxShapeSysMLItemFlowRight.prototype.cst.ITEM_FLOW_RIGHT,mxShapeSysMLItemFlowRight);
mxShapeSysMLItemFlowRight.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0)];function mxShapeSysMLNestedPort(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}
mxUtils.extend(mxShapeSysMLNestedPort,mxShape);mxShapeSysMLNestedPort.prototype.cst={NESTED_PORT:"mxgraph.sysml.nestedPort"};mxShapeSysMLNestedPort.prototype.paintVertexShape=function(a,d,e,b,c){a.rect(d+.08*b,e,.92*b,c);a.fillAndStroke();a.rect(d+.03*b,e+.1*c,.1*b,.8*c);a.fillAndStroke();a.rect(d,e+.15*c,.06*b,.16*c);a.fillAndStroke();a.rect(d,e+.42*c,.06*b,.16*c);a.fillAndStroke();a.rect(d,e+.69*c,.06*b,.16*c);a.fillAndStroke()};
mxCellRenderer.registerShape(mxShapeSysMLNestedPort.prototype.cst.NESTED_PORT,mxShapeSysMLNestedPort);mxMarker.addMarker("sysMLPackCont",function(a,d,e,b,c,f,g,h,k,l){var n=c*(g+k+1),m=f*(g+k+1),p=g/2;return function(){a.begin();a.moveTo(b.x-n/2-m/2,b.y-m/2+n/2);a.lineTo(b.x-n/2+m/2,b.y-m/2-n/2);a.stroke();a.ellipse(b.x-.5*n-p,b.y-.5*m-p,2*p,2*p);a.stroke()}});
mxMarker.addMarker("sysMLReqInt",function(a,d,e,b,c,f,g,h,k,l){var n=c*(g+k+1),m=f*(g+k+1),p=g/2;return function(){var c=mxUtils.getValue(d.style,mxConstants.STYLE_FILLCOLOR,"none");a.setFillColor(c);a.ellipse(b.x-.5*n-p,b.y-.5*m-p,2*p,2*p);a.fillAndStroke()}});
mxMarker.addMarker("sysMLProvInt",function(a,d,e,b,c,f,g,h,k,l){var n=c*(g+k+1),m=f*(g+k+1),p=g/2;return function(){var c=mxUtils.getValue(d.style,mxConstants.STYLE_FILLCOLOR,"none");a.setFillColor(c);a.begin();a.moveTo(b.x-m/2,b.y+n/2);a.arcTo(p,p,0,0,1,b.x+m/2,b.y-n/2);a.fillAndStroke()}});function mxShapeSysMLParametricDiagram(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeSysMLParametricDiagram,mxShape);
mxCellRenderer.registerShape(mxShapeSysMLNestedPort.prototype.cst.NESTED_PORT,mxShapeSysMLNestedPort);mxMarker.addMarker("sysMLPackCont",function(a,d,e,b,c,f,g,h,k,l){var m=c*(g+k+1),n=f*(g+k+1),p=g/2;return function(){a.begin();a.moveTo(b.x-m/2-n/2,b.y-n/2+m/2);a.lineTo(b.x-m/2+n/2,b.y-n/2-m/2);a.stroke();a.ellipse(b.x-.5*m-p,b.y-.5*n-p,2*p,2*p);a.stroke()}});
mxMarker.addMarker("sysMLReqInt",function(a,d,e,b,c,f,g,h,k,l){var m=c*(g+k+1),n=f*(g+k+1),p=g/2;return function(){var c=mxUtils.getValue(d.style,mxConstants.STYLE_FILLCOLOR,"none");a.setFillColor(c);a.ellipse(b.x-.5*m-p,b.y-.5*n-p,2*p,2*p);a.fillAndStroke()}});
mxMarker.addMarker("sysMLProvInt",function(a,d,e,b,c,f,g,h,k,l){var m=c*(g+k+1),n=f*(g+k+1),p=g/2;return function(){var c=mxUtils.getValue(d.style,mxConstants.STYLE_FILLCOLOR,"none");a.setFillColor(c);a.begin();a.moveTo(b.x-n/2,b.y+m/2);a.arcTo(p,p,0,0,1,b.x+n/2,b.y-m/2);a.fillAndStroke()}});function mxShapeSysMLParametricDiagram(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeSysMLParametricDiagram,mxShape);
mxShapeSysMLParametricDiagram.prototype.cst={PARAM_DGM:"mxgraph.sysml.paramDgm"};mxShapeSysMLParametricDiagram.prototype.paintVertexShape=function(a,d,e,b,c){a.roundrect(d,e,b,c,10,10);a.fillAndStroke();a.setShadow(!1);60<c&&(a.rect(d,e+.25*c-10,20,20),a.stroke(),a.rect(d,e+.75*c-10,20,20),a.stroke())};mxCellRenderer.registerShape(mxShapeSysMLParametricDiagram.prototype.cst.PARAM_DGM,mxShapeSysMLParametricDiagram);
function mxShapeSysMLConstraintProperty(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeSysMLConstraintProperty,mxShape);mxShapeSysMLConstraintProperty.prototype.cst={CONS_PROP:"mxgraph.sysml.consProp"};mxShapeSysMLConstraintProperty.prototype.paintVertexShape=function(a,d,e,b,c){a.rect(d,e,b,c);a.fillAndStroke();a.setShadow(!1);60<c&&(a.rect(d,e+50,20,20),a.stroke(),a.rect(d,e+80,20,20),a.stroke())};
mxCellRenderer.registerShape(mxShapeSysMLConstraintProperty.prototype.cst.CONS_PROP,mxShapeSysMLConstraintProperty);function mxShapeSysMLCallBehaviorAction(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeSysMLCallBehaviorAction,mxShape);mxShapeSysMLCallBehaviorAction.prototype.cst={CALL_BEH_ACT:"mxgraph.sysml.callBehAct"};
@ -2168,10 +2238,10 @@ function mxShapeSysMLActivityPartition(a,d,e,b){mxShape.call(this);this.bounds=a
mxCellRenderer.registerShape(mxShapeSysMLActivityPartition.prototype.cst.ACT_PART,mxShapeSysMLActivityPartition);function mxShapeSysMLContinuation(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeSysMLContinuation,mxShape);mxShapeSysMLContinuation.prototype.cst={CONT:"mxgraph.sysml.cont"};
mxShapeSysMLContinuation.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);b>c?(d=.5*c,a.begin(),a.moveTo(b-d,0),a.arcTo(d,d,0,0,1,b-d,c),a.lineTo(d,c),a.arcTo(d,d,0,0,1,d,0)):(d=.5*b,a.begin(),a.moveTo(0,c-d),a.arcTo(d,d,0,0,0,b,c-d),a.lineTo(b,d),a.arcTo(d,d,0,0,0,0,d));a.close();a.fillAndStroke()};mxCellRenderer.registerShape(mxShapeSysMLContinuation.prototype.cst.CONT,mxShapeSysMLContinuation);
function mxShapeSysMLCoregion(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeSysMLCoregion,mxShape);mxShapeSysMLCoregion.prototype.cst={COREGION:"mxgraph.sysml.coregion"};mxShapeSysMLCoregion.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=Math.min(10,c);a.begin();a.moveTo(0,d);a.lineTo(0,0);a.lineTo(b,0);a.lineTo(b,d);a.moveTo(0,c-d);a.lineTo(0,c);a.lineTo(b,c);a.lineTo(b,c-d);a.stroke()};
mxCellRenderer.registerShape(mxShapeSysMLCoregion.prototype.cst.COREGION,mxShapeSysMLCoregion);mxMarker.addMarker("sysMLx",function(a,d,e,b,c,f,g,h,k,l){var n=c*(g+k+1),m=f*(g+k+1);return function(){a.begin();a.moveTo(b.x-n/2-m/2,b.y-m/2+n/2);a.lineTo(b.x+n/2+m/2,b.y+m/2-n/2);a.moveTo(b.x+n/2-m/2,b.y+m/2+n/2);a.lineTo(b.x-n/2+m/2,b.y-m/2-n/2);a.stroke()}});function mxShapeSysMLDimension(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}
mxCellRenderer.registerShape(mxShapeSysMLCoregion.prototype.cst.COREGION,mxShapeSysMLCoregion);mxMarker.addMarker("sysMLx",function(a,d,e,b,c,f,g,h,k,l){var m=c*(g+k+1),n=f*(g+k+1);return function(){a.begin();a.moveTo(b.x-m/2-n/2,b.y-n/2+m/2);a.lineTo(b.x+m/2+n/2,b.y+n/2-m/2);a.moveTo(b.x+m/2-n/2,b.y+n/2+m/2);a.lineTo(b.x-m/2+n/2,b.y-n/2-m/2);a.stroke()}});function mxShapeSysMLDimension(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}
mxUtils.extend(mxShapeSysMLDimension,mxShape);mxShapeSysMLDimension.prototype.cst={DIMENSION:"mxgraph.sysml.dimension"};mxShapeSysMLDimension.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,d,e,b,c)};mxShapeSysMLDimension.prototype.background=function(a,d,e,b,c){a.begin();a.moveTo(0,20);a.lineTo(b,20);a.moveTo(10,15);a.lineTo(0,20);a.lineTo(10,25);a.moveTo(b-10,15);a.lineTo(b,20);a.lineTo(b-10,25);a.moveTo(0,15);a.lineTo(0,c);a.moveTo(b,15);a.lineTo(b,c);a.stroke()};
mxCellRenderer.registerShape(mxShapeSysMLDimension.prototype.cst.DIMENSION,mxShapeSysMLDimension);mxMarker.addMarker("sysMLLost",function(a,d,e,b,c,f,g,h,k,l){var n=c*(g+k+1),m=f*(g+k+1),p=g/2;return function(){a.begin();a.moveTo(b.x-1.5*n-m/2,b.y-1.5*m+n/2);a.lineTo(b.x-n/2,b.y-m/2);a.lineTo(b.x-1.5*n+m/2,b.y-1.5*m-n/2);a.stroke();a.ellipse(b.x-.5*n-p,b.y-.5*m-p,2*p,2*p);var c=mxUtils.getValue(d.style,mxConstants.STYLE_STROKECOLOR,"#000000");a.setFillColor(c);a.fillAndStroke()}});
mxMarker.addMarker("sysMLFound",function(a,d,e,b,c,f,g,h,k,l){var n=c*(g+k+1),m=f*(g+k+1),p=g/2;return function(){a.ellipse(b.x-.5*n-p,b.y-.5*m-p,2*p,2*p);var c=mxUtils.getValue(d.style,mxConstants.STYLE_STROKECOLOR,"#000000");a.setFillColor(c);a.fillAndStroke()}});function mxShapeSysMLCompositeState(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeSysMLCompositeState,mxShape);mxShapeSysMLCompositeState.prototype.cst={COMP_STATE:"mxgraph.sysml.compState"};
mxCellRenderer.registerShape(mxShapeSysMLDimension.prototype.cst.DIMENSION,mxShapeSysMLDimension);mxMarker.addMarker("sysMLLost",function(a,d,e,b,c,f,g,h,k,l){var m=c*(g+k+1),n=f*(g+k+1),p=g/2;return function(){a.begin();a.moveTo(b.x-1.5*m-n/2,b.y-1.5*n+m/2);a.lineTo(b.x-m/2,b.y-n/2);a.lineTo(b.x-1.5*m+n/2,b.y-1.5*n-m/2);a.stroke();a.ellipse(b.x-.5*m-p,b.y-.5*n-p,2*p,2*p);var c=mxUtils.getValue(d.style,mxConstants.STYLE_STROKECOLOR,"#000000");a.setFillColor(c);a.fillAndStroke()}});
mxMarker.addMarker("sysMLFound",function(a,d,e,b,c,f,g,h,k,l){var m=c*(g+k+1),n=f*(g+k+1),p=g/2;return function(){a.ellipse(b.x-.5*m-p,b.y-.5*n-p,2*p,2*p);var c=mxUtils.getValue(d.style,mxConstants.STYLE_STROKECOLOR,"#000000");a.setFillColor(c);a.fillAndStroke()}});function mxShapeSysMLCompositeState(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeSysMLCompositeState,mxShape);mxShapeSysMLCompositeState.prototype.cst={COMP_STATE:"mxgraph.sysml.compState"};
mxShapeSysMLCompositeState.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,d,e,b,c)};mxShapeSysMLCompositeState.prototype.background=function(a,d,e,b,c){a.roundrect(0,20,b,c-20,10,10);a.fillAndStroke();a.rect(15,0,110,20);a.fillAndStroke()};mxCellRenderer.registerShape(mxShapeSysMLCompositeState.prototype.cst.COMP_STATE,mxShapeSysMLCompositeState);
function mxShapeSysMLRegion(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeSysMLRegion,mxShape);mxShapeSysMLRegion.prototype.cst={REGION:"mxgraph.sysml.region"};mxShapeSysMLRegion.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,d,e,b,c,20,50);a.setShadow(!1);this.foreground(a,d,e,b,c,20,50)};
mxShapeSysMLRegion.prototype.background=function(a,d,e,b,c,f,g){d=parseInt(mxUtils.getValue(this.style,mxConstants.STYLE_STROKEWIDTH,"1"));a.roundrect(0,f,b,c-f,10,10);a.fillAndStroke();a.setStrokeWidth(2*d);a.rect(15,0,g,f);a.fillAndStroke();a.setStrokeWidth(d)};mxShapeSysMLRegion.prototype.foreground=function(a,d,e,b,c,f,g){a.setDashed(!0);a.begin();a.moveTo(.5*b,f);a.lineTo(.5*b,c);a.stroke()};mxCellRenderer.registerShape(mxShapeSysMLRegion.prototype.cst.REGION,mxShapeSysMLRegion);
@ -2227,7 +2297,7 @@ mxShapePidColumn.prototype.customProperties=[{name:"columnType",dispName:"Type",
mxShapePidColumn.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);this.background(a,d,e,b,c);a.setShadow(!1);this.foreground(a,d,e,b,c)};mxShapePidColumn.prototype.background=function(a,d,e,b,c){c=Math.max(c,30);a.begin();a.moveTo(0,15);a.arcTo(.5*b,15,0,0,1,b,15);a.lineTo(b,c-15);a.arcTo(.5*b,15,0,0,1,0,c-15);a.close();a.fillAndStroke()};
mxShapePidColumn.prototype.foreground=function(a,d,e,b,c){var f=mxUtils.getValue(this.style,mxShapePidColumn.prototype.cst.COLUMN_TYPE,"common");if(f===mxShapePidColumn.prototype.cst.FIXED){var g=1.2*b;d=c-50;e=d%g*.5+25;a.begin();for(c=0;c<=d-g;c+=g)a.moveTo(0,c+e+.1*g),a.lineTo(b,c+e+.1*g),a.moveTo(0,c+e+.9*g),a.lineTo(b,c+e+.9*g),a.moveTo(0,c+e+.1*g),a.lineTo(b,c+e+.9*g),a.moveTo(0,c+e+.9*g),a.lineTo(b,c+e+.1*g);a.stroke()}else if(f===mxShapePidColumn.prototype.cst.TRAY){g=.2*b;d=c-50;e=d%g*.5+
25;a.setDashed(!0);a.begin();for(c=0;c<=d;c+=g)a.moveTo(0,c+e),a.lineTo(b,c+e);a.stroke()}else if(f===mxShapePidColumn.prototype.cst.FLUIDIZED){g=.1*b;f=.1*b;d=c-50;e=25;var h=.02*Math.min(b,c);mxUtils.getValue(this.style,mxConstants.STYLE_FILLCOLOR,"#ffffff");var k=mxUtils.getValue(this.style,mxConstants.STYLE_DASHED,"0"),l=mxUtils.getValue(this.style,mxConstants.STYLE_STROKECOLOR,"#000000");a.setFillColor(l);a.setDashed(!0);a.begin();a.moveTo(0,25);a.lineTo(b,25);a.moveTo(0,c-25);a.lineTo(b,c-25);
a.stroke();"0"===k?a.setDashed(!1):a.setDashed(!0);k=0;for(c=e+.5*g;c<d+e-h;c+=g){var n=f,l=k%2;0===l&&(n=.5*f);for(l=n;l<b;l+=f)a.ellipse(l,c,h,h),a.fillAndStroke();k++}}else if(f===mxShapePidColumn.prototype.cst.BAFFLE){g=.2*b;d=c-50-g;e=25+.5*g;a.setDashed(!0);a.begin();a.moveTo(0,25);a.lineTo(b,25);a.moveTo(0,c-25);a.lineTo(b,c-25);a.stroke();k=0;a.begin();for(c=e+.5*g;c<d+e;c+=g)l=k%2,0===l?(a.moveTo(0,c),a.lineTo(.9*b,c),a.lineTo(.9*b,c-.3*g)):(a.moveTo(.1*b,c-.5*g),a.lineTo(.1*b,c),a.lineTo(b,
a.stroke();"0"===k?a.setDashed(!1):a.setDashed(!0);k=0;for(c=e+.5*g;c<d+e-h;c+=g){var m=f,l=k%2;0===l&&(m=.5*f);for(l=m;l<b;l+=f)a.ellipse(l,c,h,h),a.fillAndStroke();k++}}else if(f===mxShapePidColumn.prototype.cst.BAFFLE){g=.2*b;d=c-50-g;e=25+.5*g;a.setDashed(!0);a.begin();a.moveTo(0,25);a.lineTo(b,25);a.moveTo(0,c-25);a.lineTo(b,c-25);a.stroke();k=0;a.begin();for(c=e+.5*g;c<d+e;c+=g)l=k%2,0===l?(a.moveTo(0,c),a.lineTo(.9*b,c),a.lineTo(.9*b,c-.3*g)):(a.moveTo(.1*b,c-.5*g),a.lineTo(.1*b,c),a.lineTo(b,
c)),k++;a.stroke()}else if(f===mxShapePidColumn.prototype.cst.VALVE||f===mxShapePidColumn.prototype.cst.BUBBLE){g=.2*b;d=c-50-g;e=25+.5*g;k=mxUtils.getValue(this.style,mxConstants.STYLE_DASHED,"0");a.setFillColor(l);a.setDashed(!0);a.begin();a.moveTo(0,25);a.lineTo(b,25);a.moveTo(0,c-25);a.lineTo(b,c-25);a.stroke();"0"===k?a.setDashed(!1):a.setDashed(!0);a.begin();for(c=e+.5*g;c<d+e;c+=g)a.moveTo(0,c),a.lineTo(.4*b,c),f===mxShapePidColumn.prototype.cst.VALVE?(a.moveTo(.4*b,c-.2*g),a.lineTo(.6*b,c-
.2*g)):f===mxShapePidColumn.prototype.cst.BUBBLE&&(a.moveTo(.25*b,c-.2*g),a.arcTo(3*g,3*g,0,0,1,.75*b,c-.2*g)),a.moveTo(.6*b,c),a.lineTo(b,c);a.stroke()}else if(f===mxShapePidColumn.prototype.cst.NOZZLE){g=1.2*b;d=c-50;e=d%g*.5+25;k=mxUtils.getValue(this.style,mxConstants.STYLE_DASHED,0);for(c=0;c<=d-g;c+=g)a.setDashed(!0),a.begin(),a.moveTo(0,c+e+.2*g),a.lineTo(b,c+e+.2*g),a.moveTo(0,c+e+.8*g),a.lineTo(b,c+e+.8*g),a.stroke(),0===k?a.setDashed(!1):a.setDashed(!0),a.begin(),a.moveTo(0,c+e+.2*g),a.lineTo(b,
c+e+.8*g),a.moveTo(0,c+e+.8*g),a.lineTo(b,c+e+.2*g),0!==c&&(a.moveTo(0,c+e),a.lineTo(.5*b,c+e),a.moveTo(.5*b-.08*g,c+e+.08*g),a.lineTo(.5*b,c+e),a.lineTo(.5*b+.08*g,c+e+.08*g),a.moveTo(.5*b,c+e),a.lineTo(.5*b,c+e+.08*g)),a.stroke();a.stroke()}};mxCellRenderer.registerShape(mxShapePidColumn.prototype.cst.SHAPE_COLUMN,mxShapePidColumn);function mxShapePidConveyor(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapePidConveyor,mxShape);

View file

@ -2199,27 +2199,27 @@ k<f.length-1&&0<=k&&(g=0==Math.round(f[k].x-f[k+1].x)?"col-resize":"row-resize")
this.setTooltips(!0);this.setAllowLoops(!0);this.allowAutoPanning=!0;this.constrainChildren=this.resetEdgesOnConnect=!1;this.constrainRelativeChildren=!0;this.graphHandler.scrollOnMove=!1;this.graphHandler.scaleGrid=!0;this.connectionHandler.setCreateTarget(!1);this.connectionHandler.insertBeforeSource=!0;this.connectionHandler.isValidSource=function(a,d){return!1};this.alternateEdgeStyle="vertical";null==b&&this.loadStylesheet();var f=this.graphHandler.getGuideStates;this.graphHandler.getGuideStates=
function(){var a=f.apply(this,arguments);if(this.graph.pageVisible){for(var d=[],b=this.graph.pageFormat,c=this.graph.pageScale,g=b.width*c,b=b.height*c,c=this.graph.view.translate,e=this.graph.view.scale,k=this.graph.getPageLayout(),l=0;l<k.width;l++)d.push(new mxRectangle(((k.x+l)*g+c.x)*e,(k.y*b+c.y)*e,g*e,b*e));for(l=0;l<k.height;l++)d.push(new mxRectangle((k.x*g+c.x)*e,((k.y+l)*b+c.y)*e,g*e,b*e));a=d.concat(a)}return a};mxDragSource.prototype.dragElementZIndex=mxPopupMenu.prototype.zIndex;mxGuide.prototype.getGuideColor=
function(a,d){return null==a.cell?"#ffa500":mxConstants.GUIDE_COLOR};this.graphHandler.createPreviewShape=function(a){this.previewColor="#000000"==this.graph.background?"#ffffff":mxGraphHandler.prototype.previewColor;return mxGraphHandler.prototype.createPreviewShape.apply(this,arguments)};this.graphHandler.getCells=function(a){for(var d=mxGraphHandler.prototype.getCells.apply(this,arguments),b=[],c=0;c<d.length;c++){var f=this.graph.view.getState(d[c]),f=null!=f?f.style:this.graph.getCellStyle(d[c]);
"1"==mxUtils.getValue(f,"part","0")?(f=this.graph.model.getParent(d[c]),this.graph.model.isVertex(f)&&0>mxUtils.indexOf(d,f)&&b.push(f)):b.push(d[c])}return b};this.connectionHandler.createTargetVertex=function(a,d){var c=this.graph.view.getState(d),c=null!=c?c.style:this.graph.getCellStyle(d);mxUtils.getValue(c,"part",!1)&&(c=this.graph.model.getParent(d),this.graph.model.isVertex(c)&&(d=c));return mxConnectionHandler.prototype.createTargetVertex.apply(this,arguments)};var g=new mxRubberband(this);
"1"==mxUtils.getValue(f,"part","0")?(f=this.graph.model.getParent(d[c]),this.graph.model.isVertex(f)&&0>mxUtils.indexOf(d,f)&&b.push(f)):b.push(d[c])}return b};this.connectionHandler.createTargetVertex=function(a,d){var b=this.graph.view.getState(d),b=null!=b?b.style:this.graph.getCellStyle(d);mxUtils.getValue(b,"part",!1)&&(b=this.graph.model.getParent(d),this.graph.model.isVertex(b)&&(d=b));return mxConnectionHandler.prototype.createTargetVertex.apply(this,arguments)};var g=new mxRubberband(this);
this.getRubberband=function(){return g};var k=(new Date).getTime(),r=0,l=this.connectionHandler.mouseMove;this.connectionHandler.mouseMove=function(){var a=this.currentState;l.apply(this,arguments);a!=this.currentState?(k=(new Date).getTime(),r=0):r=(new Date).getTime()-k};var n=this.connectionHandler.isOutlineConnectEvent;this.connectionHandler.isOutlineConnectEvent=function(a){return null!=this.currentState&&a.getState()==this.currentState&&2E3<r||(null==this.currentState||"0"!=mxUtils.getValue(this.currentState.style,
"outlineConnect","1"))&&n.apply(this,arguments)};var x=this.isToggleEvent;this.isToggleEvent=function(a){return x.apply(this,arguments)||mxEvent.isShiftDown(a)};var v=g.isForceRubberbandEvent;g.isForceRubberbandEvent=function(a){return v.apply(this,arguments)||mxUtils.hasScrollbars(this.graph.container)&&mxClient.IS_FF&&mxClient.IS_WIN&&null==a.getState()&&mxEvent.isTouchEvent(a.getEvent())};var A=null;this.panningHandler.addListener(mxEvent.PAN_START,mxUtils.bind(this,function(){this.isEnabled()&&
(A=this.container.style.cursor,this.container.style.cursor="move")}));this.panningHandler.addListener(mxEvent.PAN_END,mxUtils.bind(this,function(){this.isEnabled()&&(this.container.style.cursor=A)}));this.popupMenuHandler.autoExpand=!0;this.popupMenuHandler.isSelectOnPopup=function(a){return mxEvent.isMouseEvent(a.getEvent())};var y=this.click;this.click=function(a){var d=null==a.state&&null!=a.sourceState&&this.isCellLocked(a.sourceState.cell);if(this.isEnabled()&&!d||a.isConsumed())return y.apply(this,
arguments);d=d?a.sourceState.cell:a.getCell();null!=d&&(d=this.getLinkForCell(d),null!=d&&(this.isCustomLink(d)?this.customLinkClicked(d):this.openLink(d)))};this.tooltipHandler.getStateForEvent=function(a){return a.sourceState};this.getCursorForMouseEvent=function(a){var d=null==a.state&&null!=a.sourceState&&this.isCellLocked(a.sourceState.cell);return this.getCursorForCell(d?a.sourceState.cell:a.getCell())};var t=this.getCursorForCell;this.getCursorForCell=function(a){if(!this.isEnabled()||this.isCellLocked(a)){if(null!=
this.getLinkForCell(a))return"pointer";if(this.isCellLocked(a))return"default"}return t.apply(this,arguments)};this.selectRegion=function(a,d){var c=this.getAllCells(a.x,a.y,a.width,a.height);this.selectCellsForEvent(c,d);return c};this.getAllCells=function(a,d,c,b,f,g){g=null!=g?g:[];if(0<c||0<b){var e=this.getModel(),k=a+c,l=d+b;null==f&&(f=this.getCurrentRoot(),null==f&&(f=e.getRoot()));if(null!=f)for(var n=e.getChildCount(f),I=0;I<n;I++){var r=e.getChildAt(f,I),t=this.view.getState(r);if(null!=
t&&this.isCellVisible(r)&&"1"!=mxUtils.getValue(t.style,"locked","0")){var y=mxUtils.getValue(t.style,mxConstants.STYLE_ROTATION)||0;0!=y&&(t=mxUtils.getBoundingBox(t,y));(e.isEdge(r)||e.isVertex(r))&&t.x>=a&&t.y+t.height<=l&&t.y>=d&&t.x+t.width<=k&&g.push(r);this.getAllCells(a,d,c,b,r,g)}}}return g};var z=this.graphHandler.shouldRemoveCellsFromParent;this.graphHandler.shouldRemoveCellsFromParent=function(a,d,c){return this.graph.isCellSelected(a)?!1:z.apply(this,arguments)};this.isCellLocked=function(a){for(a=
this.view.getState(a);null!=a;){if("1"==mxUtils.getValue(a.style,"locked","0"))return!0;a=this.view.getState(this.model.getParent(a.cell))}return!1};var G=null;this.addListener(mxEvent.FIRE_MOUSE_EVENT,mxUtils.bind(this,function(a,d){if("mouseDown"==d.getProperty("eventName")){var c=d.getProperty("event").getState();G=null==c||this.isSelectionEmpty()||this.isCellSelected(c.cell)?null:this.getSelectionCells()}}));this.addListener(mxEvent.TAP_AND_HOLD,mxUtils.bind(this,function(a,d){if(!mxEvent.isMultiTouchEvent(d)){var c=
d.getProperty("event"),b=d.getProperty("cell");null==b?(c=mxUtils.convertPoint(this.container,mxEvent.getClientX(c),mxEvent.getClientY(c)),g.start(c.x,c.y)):null!=G?this.addSelectionCells(G):1<this.getSelectionCount()&&this.isCellSelected(b)&&this.removeSelectionCell(b);G=null;d.consume()}}));this.connectionHandler.selectCells=function(a,d){this.graph.setSelectionCell(d||a)};this.connectionHandler.constraintHandler.isStateIgnored=function(a,d){return d&&a.view.graph.isCellSelected(a.cell)};this.selectionModel.addListener(mxEvent.CHANGE,
this.getLinkForCell(a))return"pointer";if(this.isCellLocked(a))return"default"}return t.apply(this,arguments)};this.selectRegion=function(a,d){var b=this.getAllCells(a.x,a.y,a.width,a.height);this.selectCellsForEvent(b,d);return b};this.getAllCells=function(a,d,b,c,f,g){g=null!=g?g:[];if(0<b||0<c){var e=this.getModel(),k=a+b,l=d+c;null==f&&(f=this.getCurrentRoot(),null==f&&(f=e.getRoot()));if(null!=f)for(var n=e.getChildCount(f),I=0;I<n;I++){var r=e.getChildAt(f,I),t=this.view.getState(r);if(null!=
t&&this.isCellVisible(r)&&"1"!=mxUtils.getValue(t.style,"locked","0")){var y=mxUtils.getValue(t.style,mxConstants.STYLE_ROTATION)||0;0!=y&&(t=mxUtils.getBoundingBox(t,y));(e.isEdge(r)||e.isVertex(r))&&t.x>=a&&t.y+t.height<=l&&t.y>=d&&t.x+t.width<=k&&g.push(r);this.getAllCells(a,d,b,c,r,g)}}}return g};var z=this.graphHandler.shouldRemoveCellsFromParent;this.graphHandler.shouldRemoveCellsFromParent=function(a,d,b){return this.graph.isCellSelected(a)?!1:z.apply(this,arguments)};this.isCellLocked=function(a){for(a=
this.view.getState(a);null!=a;){if("1"==mxUtils.getValue(a.style,"locked","0"))return!0;a=this.view.getState(this.model.getParent(a.cell))}return!1};var G=null;this.addListener(mxEvent.FIRE_MOUSE_EVENT,mxUtils.bind(this,function(a,d){if("mouseDown"==d.getProperty("eventName")){var b=d.getProperty("event").getState();G=null==b||this.isSelectionEmpty()||this.isCellSelected(b.cell)?null:this.getSelectionCells()}}));this.addListener(mxEvent.TAP_AND_HOLD,mxUtils.bind(this,function(a,d){if(!mxEvent.isMultiTouchEvent(d)){var b=
d.getProperty("event"),c=d.getProperty("cell");null==c?(b=mxUtils.convertPoint(this.container,mxEvent.getClientX(b),mxEvent.getClientY(b)),g.start(b.x,b.y)):null!=G?this.addSelectionCells(G):1<this.getSelectionCount()&&this.isCellSelected(c)&&this.removeSelectionCell(c);G=null;d.consume()}}));this.connectionHandler.selectCells=function(a,d){this.graph.setSelectionCell(d||a)};this.connectionHandler.constraintHandler.isStateIgnored=function(a,d){return d&&a.view.graph.isCellSelected(a.cell)};this.selectionModel.addListener(mxEvent.CHANGE,
mxUtils.bind(this,function(){var a=this.connectionHandler.constraintHandler;null!=a.currentFocus&&a.isStateIgnored(a.currentFocus,!0)&&(a.currentFocus=null,a.constraints=null,a.destroyIcons());a.destroyFocusHighlight()}));Graph.touchStyle&&this.initTouch();var F=this.updateMouseEvent;this.updateMouseEvent=function(a){a=F.apply(this,arguments);null!=a.state&&this.isCellLocked(a.getCell())&&(a.state=null);return a}}this.currentTranslate=new mxPoint(0,0)};
Graph.touchStyle=mxClient.IS_TOUCH||mxClient.IS_FF&&mxClient.IS_WIN||0<navigator.maxTouchPoints||0<navigator.msMaxTouchPoints||null==window.urlParams||"1"==urlParams.touch;Graph.fileSupport=null!=window.File&&null!=window.FileReader&&null!=window.FileList&&(null==window.urlParams||"0"!=urlParams.filesupport);Graph.lineJumpsEnabled=!0;Graph.defaultJumpSize=6;
Graph.createSvgImage=function(a,c,e){e=unescape(encodeURIComponent('<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="'+a+'px" height="'+c+'px" version="1.1">'+e+"</svg>"));return new mxImage("data:image/svg+xml;base64,"+(window.btoa?btoa(e):Base64.encode(e,!0)),a,c)};mxUtils.extend(Graph,mxGraph);Graph.prototype.minFitScale=null;Graph.prototype.maxFitScale=null;
Graph.prototype.linkPolicy="frame"==urlParams.target?"blank":urlParams.target||"auto";Graph.prototype.linkTarget="frame"==urlParams.target?"_self":"_blank";Graph.prototype.defaultScrollbars=!mxClient.IS_IOS;Graph.prototype.defaultPageVisible=!0;Graph.prototype.lightbox=!1;Graph.prototype.defaultPageBackgroundColor="#ffffff";Graph.prototype.defaultPageBorderColor="#ffffff";Graph.prototype.defaultGraphBackground="#ffffff";Graph.prototype.scrollTileSize=new mxRectangle(0,0,400,400);
Graph.prototype.transparentBackground=!0;Graph.prototype.defaultEdgeLength=80;Graph.prototype.edgeMode=!1;Graph.prototype.connectionArrowsEnabled=!0;Graph.prototype.placeholderPattern=RegExp("%(date{.*}|[^%^{^}]+)%","g");Graph.prototype.absoluteUrlPattern=/^(?:[a-z]+:)?\/\//i;Graph.prototype.defaultThemeName="default";Graph.prototype.defaultThemes={};Graph.prototype.baseUrl=null!=urlParams.base?decodeURIComponent(urlParams.base):(window!=window.top?document.referrer:document.location.toString()).split("#")[0];
Graph.prototype.editAfterInsert=!1;Graph.prototype.builtInProperties=["label","tooltip","placeholders","placeholder"];
Graph.prototype.init=function(a){mxGraph.prototype.init.apply(this,arguments);this.cellRenderer.initializeLabel=function(a,e){mxCellRenderer.prototype.initializeLabel.apply(this,arguments);var c=a.view.graph.tolerance,h=!0,m=null,p=mxUtils.bind(this,function(a){h=!0;m=new mxPoint(mxEvent.getClientX(a),mxEvent.getClientY(a))}),q=mxUtils.bind(this,function(a){h=h&&null!=m&&Math.abs(m.x-mxEvent.getClientX(a))<c&&Math.abs(m.y-mxEvent.getClientY(a))<c}),u=mxUtils.bind(this,function(d){if(h)for(var c=mxEvent.getSource(d);null!=
c&&c!=e.node;){if("a"==c.nodeName.toLowerCase()){a.view.graph.labelLinkClicked(a,c,d);break}c=c.parentNode}});mxEvent.addGestureListeners(e.node,p,q,u);mxEvent.addListener(e.node,"click",function(a){mxEvent.consume(a)})};this.initLayoutManager()};
Graph.prototype.init=function(a){mxGraph.prototype.init.apply(this,arguments);this.cellRenderer.initializeLabel=function(a,e){mxCellRenderer.prototype.initializeLabel.apply(this,arguments);var b=a.view.graph.tolerance,c=!0,m=null,p=mxUtils.bind(this,function(a){c=!0;m=new mxPoint(mxEvent.getClientX(a),mxEvent.getClientY(a))}),q=mxUtils.bind(this,function(a){c=c&&null!=m&&Math.abs(m.x-mxEvent.getClientX(a))<b&&Math.abs(m.y-mxEvent.getClientY(a))<b}),u=mxUtils.bind(this,function(d){if(c)for(var b=mxEvent.getSource(d);null!=
b&&b!=e.node;){if("a"==b.nodeName.toLowerCase()){a.view.graph.labelLinkClicked(a,b,d);break}b=b.parentNode}});mxEvent.addGestureListeners(e.node,p,q,u);mxEvent.addListener(e.node,"click",function(a){mxEvent.consume(a)})};this.initLayoutManager()};
(function(){Graph.prototype.useCssTransforms=!1;Graph.prototype.currentScale=1;Graph.prototype.currentTranslate=new mxPoint(0,0);Graph.prototype.isCssTransformsSupported=function(){return this.dialect==mxConstants.DIALECT_SVG&&!mxClient.NO_FO};Graph.prototype.getCellAt=function(a,c,e,p,q,u){this.useCssTransforms&&(a=a/this.currentScale-this.currentTranslate.x,c=c/this.currentScale-this.currentTranslate.y);return this.getScaledCellAt.apply(this,arguments)};Graph.prototype.getScaledCellAt=function(a,
c,e,p,q,u){p=null!=p?p:!0;q=null!=q?q:!0;null==e&&(e=this.getCurrentRoot(),null==e&&(e=this.getModel().getRoot()));if(null!=e)for(var d=this.model.getChildCount(e)-1;0<=d;d--){var b=this.model.getChildAt(e,d),g=this.getScaledCellAt(a,c,b,p,q,u);if(null!=g)return g;if(this.isCellVisible(b)&&(q&&this.model.isEdge(b)||p&&this.model.isVertex(b))&&(g=this.view.getState(b),null!=g&&(null==u||!u(g,a,c))&&this.intersects(g,a,c)))return b}return null};mxCellHighlight.prototype.getStrokeWidth=function(a){a=
this.strokeWidth;this.graph.useCssTransforms&&(a/=this.graph.currentScale);return a};mxGraphView.prototype.getGraphBounds=function(){var a=this.graphBounds;if(this.graph.useCssTransforms)var c=this.graph.currentTranslate,e=this.graph.currentScale,a=new mxRectangle((a.x+c.x)*e,(a.y+c.y)*e,a.width*e,a.height*e);return a};mxGraphView.prototype.viewStateChanged=function(){this.graph.useCssTransforms?this.validate():this.revalidate();this.graph.sizeDidChange()};var a=mxGraphView.prototype.validate;mxGraphView.prototype.validate=
function(c){this.graph.useCssTransforms&&(this.graph.currentScale=this.scale,this.graph.currentTranslate.x=this.translate.x,this.graph.currentTranslate.y=this.translate.y,this.scale=1,this.translate.x=0,this.translate.y=0);a.apply(this,arguments);this.graph.useCssTransforms&&(this.graph.updateCssTransform(),this.scale=this.graph.currentScale,this.translate.x=this.graph.currentTranslate.x,this.translate.y=this.graph.currentTranslate.y)};Graph.prototype.updateCssTransform=function(){var a=this.view.getDrawPane();
function(b){this.graph.useCssTransforms&&(this.graph.currentScale=this.scale,this.graph.currentTranslate.x=this.translate.x,this.graph.currentTranslate.y=this.translate.y,this.scale=1,this.translate.x=0,this.translate.y=0);a.apply(this,arguments);this.graph.useCssTransforms&&(this.graph.updateCssTransform(),this.scale=this.graph.currentScale,this.translate.x=this.graph.currentTranslate.x,this.translate.y=this.graph.currentTranslate.y)};Graph.prototype.updateCssTransform=function(){var a=this.view.getDrawPane();
if(null!=a)if(a=a.parentNode,this.useCssTransforms){var c=a.getAttribute("transform");a.setAttribute("transformOrigin","0 0");a.setAttribute("transform","scale("+this.currentScale+","+this.currentScale+")translate("+this.currentTranslate.x+","+this.currentTranslate.y+")");if(c!=a.getAttribute("transform"))try{if(mxClient.IS_EDGE){var e=a.style.display;a.style.display="none";a.getBBox();a.style.display=e}}catch(p){}}else a.removeAttribute("transformOrigin"),a.removeAttribute("transform")};var c=mxGraphView.prototype.validateBackgroundPage;
mxGraphView.prototype.validateBackgroundPage=function(){var a=this.graph.useCssTransforms,e=this.scale,m=this.translate;a&&(this.scale=this.graph.currentScale,this.translate=this.graph.currentTranslate);c.apply(this,arguments);a&&(this.scale=e,this.translate=m)};var e=mxGraph.prototype.updatePageBreaks;mxGraph.prototype.updatePageBreaks=function(a,c,m){var b=this.useCssTransforms,h=this.view.scale,u=this.view.translate;b&&(this.view.scale=1,this.view.translate=new mxPoint(0,0),this.useCssTransforms=
!1);e.apply(this,arguments);b&&(this.view.scale=h,this.view.translate=u,this.useCssTransforms=!0)}})();Graph.prototype.isLightboxView=function(){return this.lightbox};Graph.prototype.labelLinkClicked=function(a,c,e){c=c.getAttribute("href");if(null!=c&&!this.isCustomLink(c)&&mxEvent.isLeftMouseButton(e)&&!mxEvent.isPopupTrigger(e)||mxEvent.isTouchEvent(e)){if(!this.isEnabled()||this.isCellLocked(a.cell))a=this.isBlankLink(c)?this.linkTarget:"_top",this.openLink(this.getAbsoluteUrl(c),a);mxEvent.consume(e)}};
@ -2457,27 +2457,27 @@ b,new mxRectangle(a.x,a.y+d,c,b-2*d);d*=c;return new mxRectangle(a.x+d,a.y,c-2*d
"size",.15);return new mxRectangle(0,Math.min(this.maxHeight*this.scale,a.height*d),0,0)}return null};mxUtils.extend(f,mxActor);f.prototype.size=.2;f.prototype.isRoundable=function(){return!0};f.prototype.redrawPath=function(a,d,c,b,f){d=b*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,f),new mxPoint(d,0),new mxPoint(b,0),new mxPoint(b-d,f)],this.isRounded,
c,!0);a.end()};mxCellRenderer.registerShape("parallelogram",f);mxUtils.extend(g,mxActor);g.prototype.size=.2;g.prototype.isRoundable=function(){return!0};g.prototype.redrawPath=function(a,d,c,b,f){d=b*Math.max(0,Math.min(.5,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,f),new mxPoint(d,0),new mxPoint(b-d,0),new mxPoint(b,f)],this.isRounded,c,!0)};mxCellRenderer.registerShape("trapezoid",
g);mxUtils.extend(k,mxActor);k.prototype.size=.5;k.prototype.redrawPath=function(a,d,c,b,f){a.setFillColor(null);d=b*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(b,0),new mxPoint(d,0),new mxPoint(d,f/2),new mxPoint(0,f/2),new mxPoint(d,f/2),new mxPoint(d,f),new mxPoint(b,f)],this.isRounded,c,!1);a.end()};mxCellRenderer.registerShape("curlyBracket",
k);mxUtils.extend(r,mxActor);r.prototype.redrawPath=function(a,d,c,b,f){a.setStrokeWidth(1);a.setFillColor(this.stroke);d=b/5;a.rect(0,0,d,f);a.fillAndStroke();a.rect(2*d,0,d,f);a.fillAndStroke();a.rect(4*d,0,d,f);a.fillAndStroke()};mxCellRenderer.registerShape("parallelMarker",r);l.prototype.moveTo=function(a,d){this.originalMoveTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=d;this.firstX=a;this.firstY=d};l.prototype.close=function(){null!=this.firstX&&null!=this.firstY&&(this.lineTo(this.firstX,
k);mxUtils.extend(r,mxActor);r.prototype.redrawPath=function(a,d,b,c,f){a.setStrokeWidth(1);a.setFillColor(this.stroke);d=c/5;a.rect(0,0,d,f);a.fillAndStroke();a.rect(2*d,0,d,f);a.fillAndStroke();a.rect(4*d,0,d,f);a.fillAndStroke()};mxCellRenderer.registerShape("parallelMarker",r);l.prototype.moveTo=function(a,d){this.originalMoveTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=d;this.firstX=a;this.firstY=d};l.prototype.close=function(){null!=this.firstX&&null!=this.firstY&&(this.lineTo(this.firstX,
this.firstY),this.originalClose.apply(this.canvas,arguments));this.originalClose.apply(this.canvas,arguments)};l.prototype.quadTo=function(a,d,c,b){this.originalQuadTo.apply(this.canvas,arguments);this.lastX=c;this.lastY=b};l.prototype.curveTo=function(a,d,c,b,f,e){this.originalCurveTo.apply(this.canvas,arguments);this.lastX=f;this.lastY=e};l.prototype.arcTo=function(a,d,c,b,f,e,g){this.originalArcTo.apply(this.canvas,arguments);this.lastX=e;this.lastY=g};l.prototype.lineTo=function(a,d){if(null!=
this.lastX&&null!=this.lastY){var c=function(a){return"number"===typeof a?a?0>a?-1:1:a===a?0:NaN:NaN},b=Math.abs(a-this.lastX),f=Math.abs(d-this.lastY),e=Math.sqrt(b*b+f*f);if(2>e){this.originalLineTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=d;return}var g=Math.round(e/10),na=this.defaultVariation;5>g&&(g=5,na/=3);for(var k=c(a-this.lastX)*b/g,c=c(d-this.lastY)*f/g,b=b/e,f=f/e,e=0;e<g;e++){var l=(Math.random()-.5)*na;this.originalLineTo.call(this.canvas,k*e+this.lastX-l*f,c*e+this.lastY-
l*b)}this.originalLineTo.call(this.canvas,a,d)}else this.originalLineTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=d};l.prototype.destroy=function(){this.canvas.lineTo=this.originalLineTo;this.canvas.moveTo=this.originalMoveTo;this.canvas.close=this.originalClose;this.canvas.quadTo=this.originalQuadTo;this.canvas.curveTo=this.originalCurveTo;this.canvas.arcTo=this.originalArcTo};var Ia=mxShape.prototype.paint;mxShape.prototype.defaultJiggle=1.5;mxShape.prototype.paint=function(a){null!=
this.style&&"0"!=mxUtils.getValue(this.style,"comic","0")&&null==a.handHiggle&&(a.handJiggle=new l(a,mxUtils.getValue(this.style,"jiggle",this.defaultJiggle)));Ia.apply(this,arguments);null!=a.handJiggle&&(a.handJiggle.destroy(),delete a.handJiggle)};mxRhombus.prototype.defaultJiggle=2;var Ja=mxRectangleShape.prototype.isHtmlAllowed;mxRectangleShape.prototype.isHtmlAllowed=function(){return(null==this.style||"0"==mxUtils.getValue(this.style,"comic","0"))&&Ja.apply(this,arguments)};var Ka=mxRectangleShape.prototype.paintBackground;
mxRectangleShape.prototype.paintBackground=function(a,d,c,b,f){if(null==a.handJiggle)Ka.apply(this,arguments);else{var e=!0;null!=this.style&&(e="1"==mxUtils.getValue(this.style,mxConstants.STYLE_POINTER_EVENTS,"1"));if(e||null!=this.fill&&this.fill!=mxConstants.NONE||null!=this.stroke&&this.stroke!=mxConstants.NONE)e||null!=this.fill&&this.fill!=mxConstants.NONE||(a.pointerEvents=!1),a.begin(),this.isRounded?("1"==mxUtils.getValue(this.style,mxConstants.STYLE_ABSOLUTE_ARCSIZE,0)?e=Math.min(b/2,Math.min(f/
2,mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2)):(e=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,e=Math.min(b*e,f*e)),a.moveTo(d+e,c),a.lineTo(d+b-e,c),a.quadTo(d+b,c,d+b,c+e),a.lineTo(d+b,c+f-e),a.quadTo(d+b,c+f,d+b-e,c+f),a.lineTo(d+e,c+f),a.quadTo(d,c+f,d,c+f-e),a.lineTo(d,c+e),a.quadTo(d,c,d+e,c)):(a.moveTo(d,c),a.lineTo(d+b,c),a.lineTo(d+b,c+f),a.lineTo(d,c+f),a.lineTo(d,c)),a.close(),a.end(),a.fillAndStroke()}};
var Da=mxRectangleShape.prototype.paintForeground;mxRectangleShape.prototype.paintForeground=function(a,d,c,b,f){null==a.handJiggle&&Da.apply(this,arguments)};mxUtils.extend(n,mxRectangleShape);n.prototype.size=.1;n.prototype.isHtmlAllowed=function(){return!1};n.prototype.getLabelBounds=function(a){if(mxUtils.getValue(this.state.style,mxConstants.STYLE_HORIZONTAL,!0)==(null==this.direction||this.direction==mxConstants.DIRECTION_EAST||this.direction==mxConstants.DIRECTION_WEST)){var d=a.width,c=a.height;
a=new mxRectangle(a.x,a.y,d,c);var b=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));if(this.isRounded)var f=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,b=Math.max(b,Math.min(d*f,c*f));a.x+=Math.round(b);a.width-=Math.round(2*b)}return a};n.prototype.paintForeground=function(a,d,c,b,f){var e=b*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));if(this.isRounded)var g=mxUtils.getValue(this.style,
mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,e=Math.max(e,Math.min(b*g,f*g));e=Math.round(e);a.begin();a.moveTo(d+e,c);a.lineTo(d+e,c+f);a.moveTo(d+b-e,c);a.lineTo(d+b-e,c+f);a.end();a.stroke();mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("process",n);mxUtils.extend(x,mxRectangleShape);x.prototype.paintBackground=function(a,d,c,b,f){a.setFillColor(mxConstants.NONE);a.rect(d,c,b,f);a.fill()};x.prototype.paintForeground=function(a,
d,c,b,f){};mxCellRenderer.registerShape("transparent",x);mxUtils.extend(v,mxHexagon);v.prototype.size=30;v.prototype.position=.5;v.prototype.position2=.5;v.prototype.base=20;v.prototype.getLabelMargins=function(){return new mxRectangle(0,0,0,parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale)};v.prototype.isRoundable=function(){return!0};v.prototype.redrawPath=function(a,d,c,b,f){d=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;c=Math.max(0,Math.min(f,
parseFloat(mxUtils.getValue(this.style,"size",this.size))));var e=b*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"position",this.position)))),g=b*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"position2",this.position2)))),k=Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"base",this.base))));this.addPoints(a,[new mxPoint(0,0),new mxPoint(b,0),new mxPoint(b,f-c),new mxPoint(Math.min(b,e+k),f-c),new mxPoint(g,f),new mxPoint(Math.max(0,e),f-c),new mxPoint(0,
f-c)],this.isRounded,d,!0,[4])};mxCellRenderer.registerShape("callout",v);mxUtils.extend(A,mxActor);A.prototype.size=.2;A.prototype.fixedSize=20;A.prototype.isRoundable=function(){return!0};A.prototype.redrawPath=function(a,d,c,b,f){d="0"!=mxUtils.getValue(this.style,"fixedSize","0")?Math.max(0,Math.min(b,parseFloat(mxUtils.getValue(this.style,"size",this.fixedSize)))):b*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,
mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(b-d,0),new mxPoint(b,f/2),new mxPoint(b-d,f),new mxPoint(0,f),new mxPoint(d,f/2)],this.isRounded,c,!0);a.end()};mxCellRenderer.registerShape("step",A);mxUtils.extend(y,mxHexagon);y.prototype.size=.25;y.prototype.isRoundable=function(){return!0};y.prototype.redrawPath=function(a,d,c,b,f){d=b*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,
mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(d,0),new mxPoint(b-d,0),new mxPoint(b,.5*f),new mxPoint(b-d,f),new mxPoint(d,f),new mxPoint(0,.5*f)],this.isRounded,c,!0)};mxCellRenderer.registerShape("hexagon",y);mxUtils.extend(t,mxRectangleShape);t.prototype.isHtmlAllowed=function(){return!1};t.prototype.paintForeground=function(a,d,c,b,f){var e=Math.min(b/5,f/5)+1;a.begin();a.moveTo(d+b/2,c+e);a.lineTo(d+b/2,c+f-e);a.moveTo(d+e,c+f/2);a.lineTo(d+b-e,c+f/2);a.end();a.stroke();mxRectangleShape.prototype.paintForeground.apply(this,
arguments)};mxCellRenderer.registerShape("plus",t);var Ea=mxRhombus.prototype.paintVertexShape;mxRhombus.prototype.getLabelBounds=function(a){if(1==this.style["double"]){var d=(2*Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0))*this.scale;return new mxRectangle(a.x+d,a.y+d,a.width-2*d,a.height-2*d)}return a};mxRhombus.prototype.paintVertexShape=function(a,d,c,b,f){Ea.apply(this,arguments);if(!this.outline&&1==this.style["double"]){var e=2*Math.max(2,this.strokewidth+
1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0);d+=e;c+=e;b-=2*e;f-=2*e;0<b&&0<f&&(a.setShadow(!1),Ea.apply(this,[a,d,c,b,f]))}};mxUtils.extend(z,mxRectangleShape);z.prototype.isHtmlAllowed=function(){return!1};z.prototype.getLabelBounds=function(a){if(1==this.style["double"]){var d=(Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0))*this.scale;return new mxRectangle(a.x+d,a.y+d,a.width-2*d,a.height-2*d)}return a};z.prototype.paintForeground=function(a,d,c,
b,f){if(null!=this.style){if(!this.outline&&1==this.style["double"]){var e=Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0);d+=e;c+=e;b-=2*e;f-=2*e;0<b&&0<f&&mxRectangleShape.prototype.paintBackground.apply(this,arguments)}a.setDashed(!1);var e=0,g;do{g=mxCellRenderer.defaultShapes[this.style["symbol"+e]];if(null!=g){var k=this.style["symbol"+e+"Align"],na=this.style["symbol"+e+"VerticalAlign"],l=this.style["symbol"+e+"Width"],n=this.style["symbol"+e+"Height"],t=
this.style["symbol"+e+"Spacing"]||0,r=this.style["symbol"+e+"VSpacing"]||t,y=this.style["symbol"+e+"ArcSpacing"];null!=y&&(y*=this.getArcSize(b+this.strokewidth,f+this.strokewidth),t+=y,r+=y);var y=d,h=c,y=k==mxConstants.ALIGN_CENTER?y+(b-l)/2:k==mxConstants.ALIGN_RIGHT?y+(b-l-t):y+t,h=na==mxConstants.ALIGN_MIDDLE?h+(f-n)/2:na==mxConstants.ALIGN_BOTTOM?h+(f-n-r):h+r;a.save();k=new g;k.style=this.style;g.prototype.paintVertexShape.call(k,a,y,h,l,n);a.restore()}e++}while(null!=g)}mxRectangleShape.prototype.paintForeground.apply(this,
arguments)};mxCellRenderer.registerShape("ext",z);mxUtils.extend(G,mxCylinder);G.prototype.redrawPath=function(a,d,c,b,f,e){e?(a.moveTo(0,0),a.lineTo(b/2,f/2),a.lineTo(b,0),a.end()):(a.moveTo(0,0),a.lineTo(b,0),a.lineTo(b,f),a.lineTo(0,f),a.close())};mxCellRenderer.registerShape("message",G);mxUtils.extend(F,mxShape);F.prototype.paintBackground=function(a,d,c,b,f){a.translate(d,c);a.ellipse(b/4,0,b/2,f/4);a.fillAndStroke();a.begin();a.moveTo(b/2,f/4);a.lineTo(b/2,2*f/3);a.moveTo(b/2,f/3);a.lineTo(0,
f/3);a.moveTo(b/2,f/3);a.lineTo(b,f/3);a.moveTo(b/2,2*f/3);a.lineTo(0,f);a.moveTo(b/2,2*f/3);a.lineTo(b,f);a.end();a.stroke()};mxCellRenderer.registerShape("umlActor",F);mxUtils.extend(B,mxShape);B.prototype.getLabelMargins=function(a){return new mxRectangle(a.width/6,0,0,0)};B.prototype.paintBackground=function(a,d,c,b,f){a.translate(d,c);a.begin();a.moveTo(0,f/4);a.lineTo(0,3*f/4);a.end();a.stroke();a.begin();a.moveTo(0,f/2);a.lineTo(b/6,f/2);a.end();a.stroke();a.ellipse(b/6,0,5*b/6,f);a.fillAndStroke()};
mxRectangleShape.prototype.paintBackground=function(a,d,b,c,f){if(null==a.handJiggle)Ka.apply(this,arguments);else{var e=!0;null!=this.style&&(e="1"==mxUtils.getValue(this.style,mxConstants.STYLE_POINTER_EVENTS,"1"));if(e||null!=this.fill&&this.fill!=mxConstants.NONE||null!=this.stroke&&this.stroke!=mxConstants.NONE)e||null!=this.fill&&this.fill!=mxConstants.NONE||(a.pointerEvents=!1),a.begin(),this.isRounded?("1"==mxUtils.getValue(this.style,mxConstants.STYLE_ABSOLUTE_ARCSIZE,0)?e=Math.min(c/2,Math.min(f/
2,mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2)):(e=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,e=Math.min(c*e,f*e)),a.moveTo(d+e,b),a.lineTo(d+c-e,b),a.quadTo(d+c,b,d+c,b+e),a.lineTo(d+c,b+f-e),a.quadTo(d+c,b+f,d+c-e,b+f),a.lineTo(d+e,b+f),a.quadTo(d,b+f,d,b+f-e),a.lineTo(d,b+e),a.quadTo(d,b,d+e,b)):(a.moveTo(d,b),a.lineTo(d+c,b),a.lineTo(d+c,b+f),a.lineTo(d,b+f),a.lineTo(d,b)),a.close(),a.end(),a.fillAndStroke()}};
var Da=mxRectangleShape.prototype.paintForeground;mxRectangleShape.prototype.paintForeground=function(a,d,b,c,f){null==a.handJiggle&&Da.apply(this,arguments)};mxUtils.extend(n,mxRectangleShape);n.prototype.size=.1;n.prototype.isHtmlAllowed=function(){return!1};n.prototype.getLabelBounds=function(a){if(mxUtils.getValue(this.state.style,mxConstants.STYLE_HORIZONTAL,!0)==(null==this.direction||this.direction==mxConstants.DIRECTION_EAST||this.direction==mxConstants.DIRECTION_WEST)){var d=a.width,b=a.height;
a=new mxRectangle(a.x,a.y,d,b);var c=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));if(this.isRounded)var f=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,c=Math.max(c,Math.min(d*f,b*f));a.x+=Math.round(c);a.width-=Math.round(2*c)}return a};n.prototype.paintForeground=function(a,d,b,c,f){var e=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));if(this.isRounded)var g=mxUtils.getValue(this.style,
mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,e=Math.max(e,Math.min(c*g,f*g));e=Math.round(e);a.begin();a.moveTo(d+e,b);a.lineTo(d+e,b+f);a.moveTo(d+c-e,b);a.lineTo(d+c-e,b+f);a.end();a.stroke();mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("process",n);mxUtils.extend(x,mxRectangleShape);x.prototype.paintBackground=function(a,d,b,c,f){a.setFillColor(mxConstants.NONE);a.rect(d,b,c,f);a.fill()};x.prototype.paintForeground=function(a,
d,b,c,f){};mxCellRenderer.registerShape("transparent",x);mxUtils.extend(v,mxHexagon);v.prototype.size=30;v.prototype.position=.5;v.prototype.position2=.5;v.prototype.base=20;v.prototype.getLabelMargins=function(){return new mxRectangle(0,0,0,parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale)};v.prototype.isRoundable=function(){return!0};v.prototype.redrawPath=function(a,d,b,c,f){d=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;b=Math.max(0,Math.min(f,
parseFloat(mxUtils.getValue(this.style,"size",this.size))));var e=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"position",this.position)))),g=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"position2",this.position2)))),k=Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style,"base",this.base))));this.addPoints(a,[new mxPoint(0,0),new mxPoint(c,0),new mxPoint(c,f-b),new mxPoint(Math.min(c,e+k),f-b),new mxPoint(g,f),new mxPoint(Math.max(0,e),f-b),new mxPoint(0,
f-b)],this.isRounded,d,!0,[4])};mxCellRenderer.registerShape("callout",v);mxUtils.extend(A,mxActor);A.prototype.size=.2;A.prototype.fixedSize=20;A.prototype.isRoundable=function(){return!0};A.prototype.redrawPath=function(a,d,b,c,f){d="0"!=mxUtils.getValue(this.style,"fixedSize","0")?Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style,"size",this.fixedSize)))):c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,
mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(c-d,0),new mxPoint(c,f/2),new mxPoint(c-d,f),new mxPoint(0,f),new mxPoint(d,f/2)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("step",A);mxUtils.extend(y,mxHexagon);y.prototype.size=.25;y.prototype.isRoundable=function(){return!0};y.prototype.redrawPath=function(a,d,b,c,f){d=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,
mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(d,0),new mxPoint(c-d,0),new mxPoint(c,.5*f),new mxPoint(c-d,f),new mxPoint(d,f),new mxPoint(0,.5*f)],this.isRounded,b,!0)};mxCellRenderer.registerShape("hexagon",y);mxUtils.extend(t,mxRectangleShape);t.prototype.isHtmlAllowed=function(){return!1};t.prototype.paintForeground=function(a,d,b,c,f){var e=Math.min(c/5,f/5)+1;a.begin();a.moveTo(d+c/2,b+e);a.lineTo(d+c/2,b+f-e);a.moveTo(d+e,b+f/2);a.lineTo(d+c-e,b+f/2);a.end();a.stroke();mxRectangleShape.prototype.paintForeground.apply(this,
arguments)};mxCellRenderer.registerShape("plus",t);var Ea=mxRhombus.prototype.paintVertexShape;mxRhombus.prototype.getLabelBounds=function(a){if(1==this.style["double"]){var d=(2*Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0))*this.scale;return new mxRectangle(a.x+d,a.y+d,a.width-2*d,a.height-2*d)}return a};mxRhombus.prototype.paintVertexShape=function(a,d,b,c,f){Ea.apply(this,arguments);if(!this.outline&&1==this.style["double"]){var e=2*Math.max(2,this.strokewidth+
1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0);d+=e;b+=e;c-=2*e;f-=2*e;0<c&&0<f&&(a.setShadow(!1),Ea.apply(this,[a,d,b,c,f]))}};mxUtils.extend(z,mxRectangleShape);z.prototype.isHtmlAllowed=function(){return!1};z.prototype.getLabelBounds=function(a){if(1==this.style["double"]){var d=(Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0))*this.scale;return new mxRectangle(a.x+d,a.y+d,a.width-2*d,a.height-2*d)}return a};z.prototype.paintForeground=function(a,d,b,
c,f){if(null!=this.style){if(!this.outline&&1==this.style["double"]){var e=Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0);d+=e;b+=e;c-=2*e;f-=2*e;0<c&&0<f&&mxRectangleShape.prototype.paintBackground.apply(this,arguments)}a.setDashed(!1);var e=0,g;do{g=mxCellRenderer.defaultShapes[this.style["symbol"+e]];if(null!=g){var k=this.style["symbol"+e+"Align"],na=this.style["symbol"+e+"VerticalAlign"],l=this.style["symbol"+e+"Width"],n=this.style["symbol"+e+"Height"],t=
this.style["symbol"+e+"Spacing"]||0,r=this.style["symbol"+e+"VSpacing"]||t,y=this.style["symbol"+e+"ArcSpacing"];null!=y&&(y*=this.getArcSize(c+this.strokewidth,f+this.strokewidth),t+=y,r+=y);var y=d,h=b,y=k==mxConstants.ALIGN_CENTER?y+(c-l)/2:k==mxConstants.ALIGN_RIGHT?y+(c-l-t):y+t,h=na==mxConstants.ALIGN_MIDDLE?h+(f-n)/2:na==mxConstants.ALIGN_BOTTOM?h+(f-n-r):h+r;a.save();k=new g;k.style=this.style;g.prototype.paintVertexShape.call(k,a,y,h,l,n);a.restore()}e++}while(null!=g)}mxRectangleShape.prototype.paintForeground.apply(this,
arguments)};mxCellRenderer.registerShape("ext",z);mxUtils.extend(G,mxCylinder);G.prototype.redrawPath=function(a,d,c,b,f,e){e?(a.moveTo(0,0),a.lineTo(b/2,f/2),a.lineTo(b,0),a.end()):(a.moveTo(0,0),a.lineTo(b,0),a.lineTo(b,f),a.lineTo(0,f),a.close())};mxCellRenderer.registerShape("message",G);mxUtils.extend(F,mxShape);F.prototype.paintBackground=function(a,d,b,c,f){a.translate(d,b);a.ellipse(c/4,0,c/2,f/4);a.fillAndStroke();a.begin();a.moveTo(c/2,f/4);a.lineTo(c/2,2*f/3);a.moveTo(c/2,f/3);a.lineTo(0,
f/3);a.moveTo(c/2,f/3);a.lineTo(c,f/3);a.moveTo(c/2,2*f/3);a.lineTo(0,f);a.moveTo(c/2,2*f/3);a.lineTo(c,f);a.end();a.stroke()};mxCellRenderer.registerShape("umlActor",F);mxUtils.extend(B,mxShape);B.prototype.getLabelMargins=function(a){return new mxRectangle(a.width/6,0,0,0)};B.prototype.paintBackground=function(a,d,c,b,f){a.translate(d,c);a.begin();a.moveTo(0,f/4);a.lineTo(0,3*f/4);a.end();a.stroke();a.begin();a.moveTo(0,f/2);a.lineTo(b/6,f/2);a.end();a.stroke();a.ellipse(b/6,0,5*b/6,f);a.fillAndStroke()};
mxCellRenderer.registerShape("umlBoundary",B);mxUtils.extend(J,mxEllipse);J.prototype.paintVertexShape=function(a,d,c,b,f){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.begin();a.moveTo(d+b/8,c+f);a.lineTo(d+7*b/8,c+f);a.end();a.stroke()};mxCellRenderer.registerShape("umlEntity",J);mxUtils.extend(K,mxShape);K.prototype.paintVertexShape=function(a,d,c,b,f){a.translate(d,c);a.begin();a.moveTo(b,0);a.lineTo(0,f);a.moveTo(0,0);a.lineTo(b,f);a.end();a.stroke()};mxCellRenderer.registerShape("umlDestroy",
K);mxUtils.extend(w,mxShape);w.prototype.getLabelBounds=function(a){return new mxRectangle(a.x,a.y+a.height/8,a.width,7*a.height/8)};w.prototype.paintBackground=function(a,d,c,b,f){a.translate(d,c);a.begin();a.moveTo(3*b/8,f/8*1.1);a.lineTo(5*b/8,0);a.end();a.stroke();a.ellipse(0,f/8,b,7*f/8);a.fillAndStroke()};w.prototype.paintForeground=function(a,d,c,b,f){a.begin();a.moveTo(3*b/8,f/8*1.1);a.lineTo(5*b/8,f/4);a.end();a.stroke()};mxCellRenderer.registerShape("umlControl",w);mxUtils.extend(C,mxRectangleShape);
C.prototype.size=40;C.prototype.isHtmlAllowed=function(){return!1};C.prototype.getLabelBounds=function(a){var d=Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale));return new mxRectangle(a.x,a.y,a.width,d)};C.prototype.paintBackground=function(a,d,c,b,f){var e=Math.max(0,Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size)))),g=mxUtils.getValue(this.style,"participant");null==g||null==this.state?mxRectangleShape.prototype.paintBackground.call(this,
@ -2511,23 +2511,23 @@ mxCellRenderer.registerShape("corner",R);mxUtils.extend(M,mxActor);M.prototype.r
function(a,d,c,b,f){var e=f*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",this.arrowWidth))));d=b*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",this.arrowSize))));c=(f-e)/2;var e=c+e,g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,c),new mxPoint(b-d,c),new mxPoint(b-d,0),new mxPoint(b,f/2),new mxPoint(b-d,f),new mxPoint(b-d,e),new mxPoint(0,e)],this.isRounded,g,!0);a.end()};mxCellRenderer.registerShape("singleArrow",
S);mxUtils.extend(D,mxActor);D.prototype.redrawPath=function(a,d,c,b,f){var e=f*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",S.prototype.arrowWidth))));d=b*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",S.prototype.arrowSize))));c=(f-e)/2;var e=c+e,g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,f/2),new mxPoint(d,0),new mxPoint(d,c),new mxPoint(b-d,c),new mxPoint(b-d,0),new mxPoint(b,
f/2),new mxPoint(b-d,f),new mxPoint(b-d,e),new mxPoint(d,e),new mxPoint(d,f)],this.isRounded,g,!0);a.end()};mxCellRenderer.registerShape("doubleArrow",D);mxUtils.extend(P,mxActor);P.prototype.size=.1;P.prototype.redrawPath=function(a,d,c,b,f){d=b*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));a.moveTo(d,0);a.lineTo(b,0);a.quadTo(b-2*d,f/2,b,f);a.lineTo(d,f);a.quadTo(d-2*d,f/2,d,0);a.close();a.end()};mxCellRenderer.registerShape("dataStorage",P);mxUtils.extend(U,
mxActor);U.prototype.redrawPath=function(a,d,c,b,f){a.moveTo(0,0);a.quadTo(b,0,b,f/2);a.quadTo(b,f,0,f);a.close();a.end()};mxCellRenderer.registerShape("or",U);mxUtils.extend(ga,mxActor);ga.prototype.redrawPath=function(a,d,c,b,f){a.moveTo(0,0);a.quadTo(b,0,b,f/2);a.quadTo(b,f,0,f);a.quadTo(b/2,f/2,0,0);a.close();a.end()};mxCellRenderer.registerShape("xor",ga);mxUtils.extend(V,mxActor);V.prototype.size=20;V.prototype.isRoundable=function(){return!0};V.prototype.redrawPath=function(a,d,c,b,f){d=Math.min(b/
2,Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(d,0),new mxPoint(b-d,0),new mxPoint(b,.8*d),new mxPoint(b,f),new mxPoint(0,f),new mxPoint(0,.8*d)],this.isRounded,c,!0);a.end()};mxCellRenderer.registerShape("loopLimit",V);mxUtils.extend(Z,mxActor);Z.prototype.size=.375;Z.prototype.isRoundable=function(){return!0};Z.prototype.redrawPath=function(a,d,c,b,f){d=f*Math.max(0,
Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(b,0),new mxPoint(b,f-d),new mxPoint(b/2,f),new mxPoint(0,f-d)],this.isRounded,c,!0);a.end()};mxCellRenderer.registerShape("offPageConnector",Z);mxUtils.extend(Y,mxEllipse);Y.prototype.paintVertexShape=function(a,d,c,b,f){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.begin();a.moveTo(d+
b/2,c+f);a.lineTo(d+b,c+f);a.end();a.stroke()};mxCellRenderer.registerShape("tapeData",Y);mxUtils.extend(qa,mxEllipse);qa.prototype.paintVertexShape=function(a,d,c,b,f){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);a.begin();a.moveTo(d,c+f/2);a.lineTo(d+b,c+f/2);a.end();a.stroke();a.begin();a.moveTo(d+b/2,c);a.lineTo(d+b/2,c+f);a.end();a.stroke()};mxCellRenderer.registerShape("orEllipse",qa);mxUtils.extend(ra,mxEllipse);ra.prototype.paintVertexShape=function(a,d,c,b,f){mxEllipse.prototype.paintVertexShape.apply(this,
arguments);a.setShadow(!1);a.begin();a.moveTo(d+.145*b,c+.145*f);a.lineTo(d+.855*b,c+.855*f);a.end();a.stroke();a.begin();a.moveTo(d+.855*b,c+.145*f);a.lineTo(d+.145*b,c+.855*f);a.end();a.stroke()};mxCellRenderer.registerShape("sumEllipse",ra);mxUtils.extend(fa,mxRhombus);fa.prototype.paintVertexShape=function(a,d,c,b,f){mxRhombus.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);a.begin();a.moveTo(d,c+f/2);a.lineTo(d+b,c+f/2);a.end();a.stroke()};mxCellRenderer.registerShape("sortShape",
fa);mxUtils.extend(la,mxEllipse);la.prototype.paintVertexShape=function(a,d,c,b,f){a.begin();a.moveTo(d,c);a.lineTo(d+b,c);a.lineTo(d+b/2,c+f/2);a.close();a.fillAndStroke();a.begin();a.moveTo(d,c+f);a.lineTo(d+b,c+f);a.lineTo(d+b/2,c+f/2);a.close();a.fillAndStroke()};mxCellRenderer.registerShape("collate",la);mxUtils.extend(sa,mxEllipse);sa.prototype.paintVertexShape=function(a,d,c,b,f){var e=c+f-5;a.begin();a.moveTo(d,c);a.lineTo(d,c+f);a.moveTo(d,e);a.lineTo(d+10,e-5);a.moveTo(d,e);a.lineTo(d+10,
e+5);a.moveTo(d,e);a.lineTo(d+b,e);a.moveTo(d+b,c);a.lineTo(d+b,c+f);a.moveTo(d+b,e);a.lineTo(d+b-10,e-5);a.moveTo(d+b,e);a.lineTo(d+b-10,e+5);a.end();a.stroke()};mxCellRenderer.registerShape("dimension",sa);mxUtils.extend(ma,mxEllipse);ma.prototype.paintVertexShape=function(a,d,c,b,f){this.outline||a.setStrokeColor(null);mxRectangleShape.prototype.paintBackground.apply(this,arguments);null!=this.style&&(a.setStrokeColor(this.stroke),a.rect(d,c,b,f),a.fill(),a.begin(),a.moveTo(d,c),"1"==mxUtils.getValue(this.style,
"top","1")?a.lineTo(d+b,c):a.moveTo(d+b,c),"1"==mxUtils.getValue(this.style,"right","1")?a.lineTo(d+b,c+f):a.moveTo(d+b,c+f),"1"==mxUtils.getValue(this.style,"bottom","1")?a.lineTo(d,c+f):a.moveTo(d,c+f),"1"==mxUtils.getValue(this.style,"left","1")&&a.lineTo(d,c-this.strokewidth/2),a.end(),a.stroke())};mxCellRenderer.registerShape("partialRectangle",ma);mxUtils.extend(ta,mxEllipse);ta.prototype.paintVertexShape=function(a,d,c,b,f){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);
a.begin();"vertical"==mxUtils.getValue(this.style,"line")?(a.moveTo(d+b/2,c),a.lineTo(d+b/2,c+f)):(a.moveTo(d,c+f/2),a.lineTo(d+b,c+f/2));a.end();a.stroke()};mxCellRenderer.registerShape("lineEllipse",ta);mxUtils.extend(ha,mxActor);ha.prototype.redrawPath=function(a,d,c,b,f){d=Math.min(b,f/2);a.moveTo(0,0);a.lineTo(b-d,0);a.quadTo(b,0,b,f/2);a.quadTo(b,f,b-d,f);a.lineTo(0,f);a.close();a.end()};mxCellRenderer.registerShape("delay",ha);mxUtils.extend(ca,mxActor);ca.prototype.size=.2;ca.prototype.redrawPath=
function(a,d,c,b,f){d=Math.min(f,b);var e=Math.max(0,Math.min(d,d*parseFloat(mxUtils.getValue(this.style,"size",this.size))));d=(f-e)/2;c=d+e;var g=(b-e)/2,e=g+e;a.moveTo(0,d);a.lineTo(g,d);a.lineTo(g,0);a.lineTo(e,0);a.lineTo(e,d);a.lineTo(b,d);a.lineTo(b,c);a.lineTo(e,c);a.lineTo(e,f);a.lineTo(g,f);a.lineTo(g,c);a.lineTo(0,c);a.close();a.end()};mxCellRenderer.registerShape("cross",ca);mxUtils.extend(da,mxActor);da.prototype.size=.25;da.prototype.redrawPath=function(a,d,c,b,f){d=Math.min(b,f/2);
c=Math.min(b-d,Math.max(0,parseFloat(mxUtils.getValue(this.style,"size",this.size)))*b);a.moveTo(0,f/2);a.lineTo(c,0);a.lineTo(b-d,0);a.quadTo(b,0,b,f/2);a.quadTo(b,f,b-d,f);a.lineTo(c,f);a.close();a.end()};mxCellRenderer.registerShape("display",da);mxUtils.extend(ia,mxConnector);ia.prototype.origPaintEdgeShape=ia.prototype.paintEdgeShape;ia.prototype.paintEdgeShape=function(a,d,c){for(var b=[],f=0;f<d.length;f++)b.push(mxUtils.clone(d[f]));var f=a.state.dashed,e=a.state.fixDash;ia.prototype.origPaintEdgeShape.apply(this,
[a,b,c]);3<=a.state.strokeWidth&&(b=mxUtils.getValue(this.style,"fillColor",null),null!=b&&(a.setStrokeColor(b),a.setStrokeWidth(a.state.strokeWidth-2),a.setDashed(f,e),ia.prototype.origPaintEdgeShape.apply(this,[a,d,c])))};mxCellRenderer.registerShape("filledEdge",ia);"undefined"!==typeof StyleFormatPanel&&function(){var a=StyleFormatPanel.prototype.getCustomColors;StyleFormatPanel.prototype.getCustomColors=function(){var d=this.format.getSelectionState(),c=a.apply(this,arguments);"umlFrame"==d.style.shape&&
c.push({title:mxResources.get("laneColor"),key:"swimlaneFillColor",defaultValue:"#ffffff"});return c}}();mxMarker.addMarker("dash",function(a,d,c,b,f,e,g,k,l,n){var t=f*(g+l+1),r=e*(g+l+1);return function(){a.begin();a.moveTo(b.x-t/2-r/2,b.y-r/2+t/2);a.lineTo(b.x+r/2-3*t/2,b.y-3*r/2-t/2);a.stroke()}});mxMarker.addMarker("cross",function(a,d,c,b,f,e,g,k,l,n){var t=f*(g+l+1),r=e*(g+l+1);return function(){a.begin();a.moveTo(b.x-t/2-r/2,b.y-r/2+t/2);a.lineTo(b.x+r/2-3*t/2,b.y-3*r/2-t/2);a.moveTo(b.x-
mxActor);U.prototype.redrawPath=function(a,d,b,c,f){a.moveTo(0,0);a.quadTo(c,0,c,f/2);a.quadTo(c,f,0,f);a.close();a.end()};mxCellRenderer.registerShape("or",U);mxUtils.extend(ga,mxActor);ga.prototype.redrawPath=function(a,d,c,b,f){a.moveTo(0,0);a.quadTo(b,0,b,f/2);a.quadTo(b,f,0,f);a.quadTo(b/2,f/2,0,0);a.close();a.end()};mxCellRenderer.registerShape("xor",ga);mxUtils.extend(V,mxActor);V.prototype.size=20;V.prototype.isRoundable=function(){return!0};V.prototype.redrawPath=function(a,d,b,c,f){d=Math.min(c/
2,Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(d,0),new mxPoint(c-d,0),new mxPoint(c,.8*d),new mxPoint(c,f),new mxPoint(0,f),new mxPoint(0,.8*d)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("loopLimit",V);mxUtils.extend(Z,mxActor);Z.prototype.size=.375;Z.prototype.isRoundable=function(){return!0};Z.prototype.redrawPath=function(a,d,b,c,f){d=f*Math.max(0,
Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(c,0),new mxPoint(c,f-d),new mxPoint(c/2,f),new mxPoint(0,f-d)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("offPageConnector",Z);mxUtils.extend(Y,mxEllipse);Y.prototype.paintVertexShape=function(a,d,b,c,f){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.begin();a.moveTo(d+
c/2,b+f);a.lineTo(d+c,b+f);a.end();a.stroke()};mxCellRenderer.registerShape("tapeData",Y);mxUtils.extend(qa,mxEllipse);qa.prototype.paintVertexShape=function(a,d,b,c,f){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);a.begin();a.moveTo(d,b+f/2);a.lineTo(d+c,b+f/2);a.end();a.stroke();a.begin();a.moveTo(d+c/2,b);a.lineTo(d+c/2,b+f);a.end();a.stroke()};mxCellRenderer.registerShape("orEllipse",qa);mxUtils.extend(ra,mxEllipse);ra.prototype.paintVertexShape=function(a,d,b,c,f){mxEllipse.prototype.paintVertexShape.apply(this,
arguments);a.setShadow(!1);a.begin();a.moveTo(d+.145*c,b+.145*f);a.lineTo(d+.855*c,b+.855*f);a.end();a.stroke();a.begin();a.moveTo(d+.855*c,b+.145*f);a.lineTo(d+.145*c,b+.855*f);a.end();a.stroke()};mxCellRenderer.registerShape("sumEllipse",ra);mxUtils.extend(fa,mxRhombus);fa.prototype.paintVertexShape=function(a,d,b,c,f){mxRhombus.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);a.begin();a.moveTo(d,b+f/2);a.lineTo(d+c,b+f/2);a.end();a.stroke()};mxCellRenderer.registerShape("sortShape",
fa);mxUtils.extend(la,mxEllipse);la.prototype.paintVertexShape=function(a,d,b,c,f){a.begin();a.moveTo(d,b);a.lineTo(d+c,b);a.lineTo(d+c/2,b+f/2);a.close();a.fillAndStroke();a.begin();a.moveTo(d,b+f);a.lineTo(d+c,b+f);a.lineTo(d+c/2,b+f/2);a.close();a.fillAndStroke()};mxCellRenderer.registerShape("collate",la);mxUtils.extend(sa,mxEllipse);sa.prototype.paintVertexShape=function(a,d,b,c,f){var e=b+f-5;a.begin();a.moveTo(d,b);a.lineTo(d,b+f);a.moveTo(d,e);a.lineTo(d+10,e-5);a.moveTo(d,e);a.lineTo(d+10,
e+5);a.moveTo(d,e);a.lineTo(d+c,e);a.moveTo(d+c,b);a.lineTo(d+c,b+f);a.moveTo(d+c,e);a.lineTo(d+c-10,e-5);a.moveTo(d+c,e);a.lineTo(d+c-10,e+5);a.end();a.stroke()};mxCellRenderer.registerShape("dimension",sa);mxUtils.extend(ma,mxEllipse);ma.prototype.paintVertexShape=function(a,d,b,c,f){this.outline||a.setStrokeColor(null);mxRectangleShape.prototype.paintBackground.apply(this,arguments);null!=this.style&&(a.setStrokeColor(this.stroke),a.rect(d,b,c,f),a.fill(),a.begin(),a.moveTo(d,b),"1"==mxUtils.getValue(this.style,
"top","1")?a.lineTo(d+c,b):a.moveTo(d+c,b),"1"==mxUtils.getValue(this.style,"right","1")?a.lineTo(d+c,b+f):a.moveTo(d+c,b+f),"1"==mxUtils.getValue(this.style,"bottom","1")?a.lineTo(d,b+f):a.moveTo(d,b+f),"1"==mxUtils.getValue(this.style,"left","1")&&a.lineTo(d,b-this.strokewidth/2),a.end(),a.stroke())};mxCellRenderer.registerShape("partialRectangle",ma);mxUtils.extend(ta,mxEllipse);ta.prototype.paintVertexShape=function(a,d,b,c,f){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);
a.begin();"vertical"==mxUtils.getValue(this.style,"line")?(a.moveTo(d+c/2,b),a.lineTo(d+c/2,b+f)):(a.moveTo(d,b+f/2),a.lineTo(d+c,b+f/2));a.end();a.stroke()};mxCellRenderer.registerShape("lineEllipse",ta);mxUtils.extend(ha,mxActor);ha.prototype.redrawPath=function(a,d,b,c,f){d=Math.min(c,f/2);a.moveTo(0,0);a.lineTo(c-d,0);a.quadTo(c,0,c,f/2);a.quadTo(c,f,c-d,f);a.lineTo(0,f);a.close();a.end()};mxCellRenderer.registerShape("delay",ha);mxUtils.extend(ca,mxActor);ca.prototype.size=.2;ca.prototype.redrawPath=
function(a,d,b,c,f){d=Math.min(f,c);var e=Math.max(0,Math.min(d,d*parseFloat(mxUtils.getValue(this.style,"size",this.size))));d=(f-e)/2;b=d+e;var g=(c-e)/2,e=g+e;a.moveTo(0,d);a.lineTo(g,d);a.lineTo(g,0);a.lineTo(e,0);a.lineTo(e,d);a.lineTo(c,d);a.lineTo(c,b);a.lineTo(e,b);a.lineTo(e,f);a.lineTo(g,f);a.lineTo(g,b);a.lineTo(0,b);a.close();a.end()};mxCellRenderer.registerShape("cross",ca);mxUtils.extend(da,mxActor);da.prototype.size=.25;da.prototype.redrawPath=function(a,d,b,c,f){d=Math.min(c,f/2);
b=Math.min(c-d,Math.max(0,parseFloat(mxUtils.getValue(this.style,"size",this.size)))*c);a.moveTo(0,f/2);a.lineTo(b,0);a.lineTo(c-d,0);a.quadTo(c,0,c,f/2);a.quadTo(c,f,c-d,f);a.lineTo(b,f);a.close();a.end()};mxCellRenderer.registerShape("display",da);mxUtils.extend(ia,mxConnector);ia.prototype.origPaintEdgeShape=ia.prototype.paintEdgeShape;ia.prototype.paintEdgeShape=function(a,d,c){for(var b=[],f=0;f<d.length;f++)b.push(mxUtils.clone(d[f]));var f=a.state.dashed,e=a.state.fixDash;ia.prototype.origPaintEdgeShape.apply(this,
[a,b,c]);3<=a.state.strokeWidth&&(b=mxUtils.getValue(this.style,"fillColor",null),null!=b&&(a.setStrokeColor(b),a.setStrokeWidth(a.state.strokeWidth-2),a.setDashed(f,e),ia.prototype.origPaintEdgeShape.apply(this,[a,d,c])))};mxCellRenderer.registerShape("filledEdge",ia);"undefined"!==typeof StyleFormatPanel&&function(){var a=StyleFormatPanel.prototype.getCustomColors;StyleFormatPanel.prototype.getCustomColors=function(){var d=this.format.getSelectionState(),b=a.apply(this,arguments);"umlFrame"==d.style.shape&&
b.push({title:mxResources.get("laneColor"),key:"swimlaneFillColor",defaultValue:"#ffffff"});return b}}();mxMarker.addMarker("dash",function(a,d,b,c,f,e,g,k,l,n){var t=f*(g+l+1),r=e*(g+l+1);return function(){a.begin();a.moveTo(c.x-t/2-r/2,c.y-r/2+t/2);a.lineTo(c.x+r/2-3*t/2,c.y-3*r/2-t/2);a.stroke()}});mxMarker.addMarker("cross",function(a,d,c,b,f,e,g,k,l,n){var t=f*(g+l+1),r=e*(g+l+1);return function(){a.begin();a.moveTo(b.x-t/2-r/2,b.y-r/2+t/2);a.lineTo(b.x+r/2-3*t/2,b.y-3*r/2-t/2);a.moveTo(b.x-
t/2+r/2,b.y-r/2-t/2);a.lineTo(b.x-r/2-3*t/2,b.y-3*r/2+t/2);a.stroke()}});mxMarker.addMarker("circle",wa);mxMarker.addMarker("circlePlus",function(a,d,b,c,f,e,g,k,l,n){var t=c.clone(),r=wa.apply(this,arguments),y=f*(g+2*l),h=e*(g+2*l);return function(){r.apply(this,arguments);a.begin();a.moveTo(t.x-f*l,t.y-e*l);a.lineTo(t.x-2*y+f*l,t.y-2*h+e*l);a.moveTo(t.x-y-h+e*l,t.y-h+y-f*l);a.lineTo(t.x+h-y-e*l,t.y-h-y+f*l);a.stroke()}});mxMarker.addMarker("async",function(a,d,b,c,f,e,g,k,l,n){d=f*l*1.118;b=e*
l*1.118;f*=g+l;e*=g+l;var t=c.clone();t.x-=d;t.y-=b;c.x+=1*-f-d;c.y+=1*-e-b;return function(){a.begin();a.moveTo(t.x,t.y);k?a.lineTo(t.x-f-e/2,t.y-e+f/2):a.lineTo(t.x+e/2-f,t.y-e-f/2);a.lineTo(t.x-f,t.y-e);a.close();n?a.fillAndStroke():a.stroke()}});mxMarker.addMarker("openAsync",function(a){a=null!=a?a:2;return function(d,c,b,f,e,g,k,l,n,t){e*=k+n;g*=k+n;var r=f.clone();return function(){d.begin();d.moveTo(r.x,r.y);l?d.lineTo(r.x-e-g/a,r.y-g+e/a):d.lineTo(r.x+g/a-e,r.y-g-e/a);d.stroke()}}}(2));if("undefined"!==
typeof mxVertexHandler){var Fa=function(a,d,c){return ua(a,["width"],d,function(d,b,f,e,g){g=a.shape.getEdgeWidth()*a.view.scale+c;return new mxPoint(e.x+b*d/4+f*g/2,e.y+f*d/4-b*g/2)},function(d,b,f,e,g,k){d=Math.sqrt(mxUtils.ptSegDistSq(e.x,e.y,g.x,g.y,k.x,k.y));a.style.width=Math.round(2*d)/a.view.scale-c})},ua=function(a,d,c,b,f){return O(a,d,function(d){var f=a.absolutePoints,e=f.length-1;d=a.view.translate;var g=a.view.scale,k=c?f[0]:f[e],f=c?f[1]:f[e-1],e=f.x-k.x,l=f.y-k.y,n=Math.sqrt(e*e+l*
l),k=b.call(this,n,e/n,l/n,k,f);return new mxPoint(k.x/g-d.x,k.y/g-d.y)},function(d,b,e){var g=a.absolutePoints,k=g.length-1;d=a.view.translate;var l=a.view.scale,n=c?g[0]:g[k],g=c?g[1]:g[k-1],k=g.x-n.x,t=g.y-n.y,r=Math.sqrt(k*k+t*t);b.x=(b.x+d.x)*l;b.y=(b.y+d.y)*l;f.call(this,r,k/r,t/r,n,g,b,e)})},oa=function(a){return function(d){return[O(d,["arrowWidth","arrowSize"],function(d){var b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"arrowWidth",S.prototype.arrowWidth))),c=Math.max(0,Math.min(a,
l*1.118;f*=g+l;e*=g+l;var t=c.clone();t.x-=d;t.y-=b;c.x+=1*-f-d;c.y+=1*-e-b;return function(){a.begin();a.moveTo(t.x,t.y);k?a.lineTo(t.x-f-e/2,t.y-e+f/2):a.lineTo(t.x+e/2-f,t.y-e-f/2);a.lineTo(t.x-f,t.y-e);a.close();n?a.fillAndStroke():a.stroke()}});mxMarker.addMarker("openAsync",function(a){a=null!=a?a:2;return function(d,b,c,f,e,g,k,l,n,t){e*=k+n;g*=k+n;var r=f.clone();return function(){d.begin();d.moveTo(r.x,r.y);l?d.lineTo(r.x-e-g/a,r.y-g+e/a):d.lineTo(r.x+g/a-e,r.y-g-e/a);d.stroke()}}}(2));if("undefined"!==
typeof mxVertexHandler){var Fa=function(a,d,b){return ua(a,["width"],d,function(d,c,f,e,g){g=a.shape.getEdgeWidth()*a.view.scale+b;return new mxPoint(e.x+c*d/4+f*g/2,e.y+f*d/4-c*g/2)},function(d,c,f,e,g,k){d=Math.sqrt(mxUtils.ptSegDistSq(e.x,e.y,g.x,g.y,k.x,k.y));a.style.width=Math.round(2*d)/a.view.scale-b})},ua=function(a,d,b,c,f){return O(a,d,function(d){var f=a.absolutePoints,e=f.length-1;d=a.view.translate;var g=a.view.scale,k=b?f[0]:f[e],f=b?f[1]:f[e-1],e=f.x-k.x,l=f.y-k.y,n=Math.sqrt(e*e+l*
l),k=c.call(this,n,e/n,l/n,k,f);return new mxPoint(k.x/g-d.x,k.y/g-d.y)},function(d,c,e){var g=a.absolutePoints,k=g.length-1;d=a.view.translate;var l=a.view.scale,n=b?g[0]:g[k],g=b?g[1]:g[k-1],k=g.x-n.x,t=g.y-n.y,r=Math.sqrt(k*k+t*t);c.x=(c.x+d.x)*l;c.y=(c.y+d.y)*l;f.call(this,r,k/r,t/r,n,g,c,e)})},oa=function(a){return function(d){return[O(d,["arrowWidth","arrowSize"],function(d){var b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"arrowWidth",S.prototype.arrowWidth))),c=Math.max(0,Math.min(a,
mxUtils.getValue(this.state.style,"arrowSize",S.prototype.arrowSize)));return new mxPoint(d.x+(1-c)*d.width,d.y+(1-b)*d.height/2)},function(d,b){this.state.style.arrowWidth=Math.max(0,Math.min(1,Math.abs(d.y+d.height/2-b.y)/d.height*2));this.state.style.arrowSize=Math.max(0,Math.min(a,(d.x+d.width-b.x)/d.width))})]}},Ca=function(a,d,b){return function(c){var f=[O(c,["size"],function(b){var c=Math.max(0,Math.min(b.width,Math.min(b.height,parseFloat(mxUtils.getValue(this.state.style,"size",d)))))*a;
return new mxPoint(b.x+c,b.y+c)},function(d,b){this.state.style.size=Math.round(Math.max(0,Math.min(Math.min(d.width,b.x-d.x),Math.min(d.height,b.y-d.y)))/a)})];b&&mxUtils.getValue(c.style,mxConstants.STYLE_ROUNDED,!1)&&f.push(ja(c));return f}},xa=function(a,d,b,c,f){b=null!=b?b:1;return function(e){var g=[O(e,["size"],function(d){var b=null!=f?"0"!=mxUtils.getValue(this.state.style,"fixedSize","0"):null,c=parseFloat(mxUtils.getValue(this.state.style,"size",b?f:a));return new mxPoint(d.x+Math.max(0,
Math.min(d.width,c*(b?1:d.width))),d.getCenterY())},function(a,d,c){var g=null!=f?"0"!=mxUtils.getValue(this.state.style,"fixedSize","0"):null;a=g?d.x-a.x:Math.max(0,Math.min(b,(d.x-a.x)/a.width));g&&!mxEvent.isAltDown(c.getEvent())&&(a=e.view.graph.snap(a));this.state.style.size=a},null,c)];d&&mxUtils.getValue(e.style,mxConstants.STYLE_ROUNDED,!1)&&g.push(ja(e));return g}},Ga=function(a){return function(d){var b=[O(d,["size"],function(d){var b=Math.max(0,Math.min(a,parseFloat(mxUtils.getValue(this.state.style,
@ -2861,8 +2861,8 @@ mxUtils.bind(this,function(a){this.openLink(EditorUi.scratchpadHelpLink);mxEvent
188,Sidebar.prototype.thumbWidth=46,Sidebar.prototype.thumbHeight=46,Sidebar.prototype.thumbPadding=5<=document.documentMode?0:1,Sidebar.prototype.thumbBorder=2):"dark"==uiTheme&&(mxClient.link("stylesheet",STYLE_PATH+"/dark.css"),Dialog.backdropColor="#2a2a2a",Graph.prototype.defaultThemeName="darkTheme",Graph.prototype.defaultPageBackgroundColor="#2a2a2a",Graph.prototype.defaultGraphBackground=null,Graph.prototype.defaultPageBorderColor="#505759",Graph.prototype.svgShadowColor="#e0e0e0",Graph.prototype.svgShadowOpacity=
"0.6",Graph.prototype.svgShadowSize="0.8",Graph.prototype.svgShadowBlur="1.4",Format.prototype.inactiveTabBackgroundColor="black",BaseFormatPanel.prototype.buttonBackgroundColor="#2a2a2a",Sidebar.prototype.dragPreviewBorder="1px dashed #cccccc",mxGraphHandler.prototype.previewColor="#cccccc",StyleFormatPanel.prototype.defaultStrokeColor="#cccccc",mxClient.IS_SVG&&(Editor.helpImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAP1BMVEUAAAD///////////////////////////////////////////////////////////////////////////////9Du/pqAAAAFXRSTlMAT30qCJRBboyDZyCgRzUUdF46MJlgXETgAAAAeklEQVQY022O2w4DIQhEQUURda/9/28tUO2+7CQS5sgQ4F1RapX78YUwRqQjTU8ILqQfKerTKTvACJ4nLX3krt+8aS82oI8aQC4KavRgtvEW/mDvsICgA03PSGRr79MqX1YPNIxzjyqtw8ZnnRo4t5a5undtJYRywau+ds4Cyza3E6YAAAAASUVORK5CYII=",
Editor.checkmarkImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAMAAACeyVWkAAAARVBMVEUAAACZmZkICAgEBASNjY2Dg4MYGBiTk5N5eXl1dXVmZmZQUFBCQkI3NzceHh4MDAykpKSJiYl+fn5sbGxaWlo/Pz8SEhK96uPlAAAAAXRSTlMAQObYZgAAAE5JREFUGNPFzTcSgDAQQ1HJGUfy/Y9K7V1qeOUfzQifCQZai1XHaz11LFysbDbzgDSSWMZiETz3+b8yNUc/MMsktxuC8XQBSncdLwz+8gCCggGXzBcozAAAAABJRU5ErkJggg=="))};EditorUi.initTheme();EditorUi.prototype.hideFooter=function(){var a=document.getElementById("geFooter");null!=a&&(this.footerHeight=0,a.style.display=
"none",this.refresh())};EditorUi.prototype.showFooter=function(a){var d=document.getElementById("geFooter");null!=d&&(this.footerHeight=a,d.style.display="inline",this.refresh())};EditorUi.prototype.showImageDialog=function(a,b,c,e,h){a=new ImageDialog(this,a,b,c,e,h);this.showDialog(a.container,Graph.fileSupport?440:360,Graph.fileSupport?200:90,!0,!0);a.init()};EditorUi.prototype.showBackgroundImageDialog=function(a){a=null!=a?a:mxUtils.bind(this,function(a){a=new ChangePageSetup(this,null,a);a.ignoreColor=
!0;this.editor.graph.model.execute(a)});var d=new BackgroundImageDialog(this,mxUtils.bind(this,function(d){a(d)}));this.showDialog(d.container,360,200,!0,!0);d.init()};EditorUi.prototype.showLibraryDialog=function(a,b,c,e,h){a=new LibraryDialog(this,a,b,c,e,h);this.showDialog(a.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&&null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.showSplash()}));a.init()};EditorUi.prototype.createSidebarFooterContainer=function(){var a=this.createDiv("geSidebarContainer");
"none",this.refresh())};EditorUi.prototype.showFooter=function(a){var d=document.getElementById("geFooter");null!=d&&(this.footerHeight=a,d.style.display="inline",this.refresh())};EditorUi.prototype.showImageDialog=function(a,b,c,e,r){a=new ImageDialog(this,a,b,c,e,r);this.showDialog(a.container,Graph.fileSupport?440:360,Graph.fileSupport?200:90,!0,!0);a.init()};EditorUi.prototype.showBackgroundImageDialog=function(a){a=null!=a?a:mxUtils.bind(this,function(a){a=new ChangePageSetup(this,null,a);a.ignoreColor=
!0;this.editor.graph.model.execute(a)});var d=new BackgroundImageDialog(this,mxUtils.bind(this,function(d){a(d)}));this.showDialog(d.container,360,200,!0,!0);d.init()};EditorUi.prototype.showLibraryDialog=function(a,b,c,e,r){a=new LibraryDialog(this,a,b,c,e,r);this.showDialog(a.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&&null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.showSplash()}));a.init()};EditorUi.prototype.createSidebarFooterContainer=function(){var a=this.createDiv("geSidebarContainer");
a.style.position="absolute";a.style.overflow="hidden";a.style.borderWidth="3px";var b=document.createElement("a");b.setAttribute("href","javascript:void(0);");b.className="geTitle";b.style.height="100%";b.style.paddingTop="9px";mxUtils.write(b,mxResources.get("moreShapes")+"...");mxEvent.addListener(b,"click",mxUtils.bind(this,function(a){this.actions.get("shapes").funct();mxEvent.consume(a)}));a.appendChild(b);return a};EditorUi.prototype.handleError=function(a,b,c){var d=null!=this.spinner&&null!=
this.spinner.pause?this.spinner.pause():function(){},f=null!=a&&null!=a.error?a.error:a;if(null!=f||null!=b){a=mxUtils.htmlEntities(mxResources.get("unknownError"));var e=mxResources.get("ok"),g=null;b=null!=b?b:mxResources.get("error");if(null!=f)if(null!=f.retry&&(e=mxResources.get("cancel"),g=function(){d();f.retry()}),"undefined"!=typeof gapi&&"undefined"!=typeof gapi.drive&&"undefined"!=typeof gapi.drive.realtime&&f.type==gapi.drive.realtime.ErrorType.FORBIDDEN)a=mxUtils.htmlEntities(mxResources.get("forbidden"));
else if(404==f.code||404==f.status||"undefined"!=typeof gapi&&"undefined"!=typeof gapi.drive&&"undefined"!=typeof gapi.drive.realtime&&f.type==gapi.drive.realtime.ErrorType.NOT_FOUND){a=mxUtils.htmlEntities(mxResources.get("fileNotFoundOrDenied"));var h=window.location.hash;null!=h&&"#G"==h.substring(0,2)&&(h=h.substring(2),a+=' <a href="https://drive.google.com/open?id='+h+'" target="_blank">'+mxUtils.htmlEntities(mxResources.get("tryOpeningViaThisPage"))+"</a>")}else null!=f.message?a=mxUtils.htmlEntities(f.message):
@ -2962,17 +2962,17 @@ a+";")])):/(\.*<graphml )/.test(a)&&"undefined"!==typeof window.mxGraphMlCodec?(
a.status&&299>=a.status?g(a.responseText):null!=m&&m(null))}),n)):/(\.v(sd|dx))($|\?)/i.test(n)||/(\.vs(s|x))($|\?)/i.test(n)||(f=this.insertTextAt(this.validateFileData(a),c,e,!0,null,q));d||null==m||m(f);return f};EditorUi.prototype.base64Encode=function(a){for(var d="",b=0,c=a.length,e,h,n;b<c;){e=a.charCodeAt(b++)&255;if(b==c){d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4);
d+="==";break}h=a.charCodeAt(b++);if(b==c){d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(h&240)>>4);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((h&15)<<2);d+="=";break}n=a.charCodeAt(b++);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&
3)<<4|(h&240)>>4);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((h&15)<<2|(n&192)>>6);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(n&63)}return d};EditorUi.prototype.importFiles=function(a,b,c,e,h,l,n,m,p,q,u,t){b=null!=b?b:0;c=null!=c?c:0;e=null!=e?e:this.maxImageSize;q=null!=q?q:this.maxImageBytes;var d=null!=b&&null!=c,f=!0,g=!1;if(!mxClient.IS_CHROMEAPP&&null!=a)for(var k=u||this.resampleThreshold,r=0;r<a.length;r++)if("image/"==a[r].type.substring(0,
6)&&a[r].size>k){g=!0;break}var v=mxUtils.bind(this,function(){var g=this.editor.graph,k=g.gridSize;h=null!=h?h:mxUtils.bind(this,function(a,b,c,e,f,g,k,h,l){return null!=a&&"<mxlibrary"==a.substring(0,10)?(this.spinner.stop(),this.loadLibrary(new LocalLibrary(this,a,k)),null):this.importFile(a,b,c,e,f,g,k,h,l,d,t)});l=null!=l?l:mxUtils.bind(this,function(a){g.setSelectionCells(a)});if(this.spinner.spin(document.body,mxResources.get("loading")))for(var p=a.length,r=p,v=[],x=mxUtils.bind(this,function(a,
d){v[a]=d;if(0==--r){this.spinner.stop();if(null!=m)m(v);else{var b=[];g.getModel().beginUpdate();try{for(var c=0;c<v.length;c++){var e=v[c]();null!=e&&(b=b.concat(e))}}finally{g.getModel().endUpdate()}}l(b)}}),y=0;y<p;y++)mxUtils.bind(this,function(d){var l=a[d],m=new FileReader;m.onload=mxUtils.bind(this,function(a){if(null==n||n(l))if("image/"==l.type.substring(0,6))if("image/svg"==l.type.substring(0,9)){var m=a.target.result,p=m.indexOf(","),r=decodeURIComponent(escape(atob(m.substring(p+1)))),
v=mxUtils.parseXml(r),r=v.getElementsByTagName("svg");if(0<r.length){var r=r[0],w=t?null:r.getAttribute("content");null!=w&&"<"!=w.charAt(0)&&"%"!=w.charAt(0)&&(w=unescape(window.atob?atob(w):Base64.decode(w,!0)));null!=w&&"%"==w.charAt(0)&&(w=decodeURIComponent(w));null==w||"<mxfile "!==w.substring(0,8)&&"<mxGraphModel "!==w.substring(0,14)?x(d,mxUtils.bind(this,function(){try{if(m.substring(0,p+1),null!=v){var a=v.getElementsByTagName("svg");if(0<a.length){var f=a[0],n=parseFloat(f.getAttribute("width")),
r=parseFloat(f.getAttribute("height")),t=f.getAttribute("viewBox");if(null==t||0==t.length)f.setAttribute("viewBox","0 0 "+n+" "+r);else if(isNaN(n)||isNaN(r)){var q=t.split(" ");3<q.length&&(n=parseFloat(q[2]),r=parseFloat(q[3]))}m=this.createSvgDataUri(mxUtils.getXml(f));var w=Math.min(1,Math.min(e/Math.max(1,n)),e/Math.max(1,r)),x=h(m,l.type,b+d*k,c+d*k,Math.max(1,Math.round(n*w)),Math.max(1,Math.round(r*w)),l.name);if(isNaN(n)||isNaN(r)){var u=new Image;u.onload=mxUtils.bind(this,function(){n=
Math.max(1,u.width);r=Math.max(1,u.height);x[0].geometry.width=n;x[0].geometry.height=r;f.setAttribute("viewBox","0 0 "+n+" "+r);m=this.createSvgDataUri(mxUtils.getXml(f));var a=m.indexOf(";");0<a&&(m=m.substring(0,a)+m.substring(m.indexOf(",",a+1)));g.setCellStyles("image",m,[x[0]])});u.src=this.createSvgDataUri(mxUtils.getXml(f))}return x}}}catch(fa){}return null})):x(d,mxUtils.bind(this,function(){return h(w,"text/xml",b+d*k,c+d*k,0,0,l.name)}))}}else{r=!1;if("image/png"==l.type){var H=t?null:
this.extractGraphModelFromPng(a.target.result);if(null!=H&&0<H.length){var y=new Image;y.src=a.target.result;x(d,mxUtils.bind(this,function(){return h(H,"text/xml",b+d*k,c+d*k,y.width,y.height,l.name)}));r=!0}}r||(mxClient.IS_CHROMEAPP?(this.spinner.stop(),this.showError(mxResources.get("error"),mxResources.get("dragAndDropNotSupported"),mxResources.get("cancel"),mxUtils.bind(this,function(){}),null,mxResources.get("ok"),mxUtils.bind(this,function(){this.actions.get("import").funct()}))):this.loadImage(a.target.result,
mxUtils.bind(this,function(g){this.resizeImage(g,a.target.result,mxUtils.bind(this,function(g,n,m){x(d,mxUtils.bind(this,function(){if(null!=g&&g.length<q){var r=f&&this.isResampleImage(a.target.result,u)?Math.min(1,Math.min(e/n,e/m)):1;return h(g,l.type,b+d*k,c+d*k,Math.round(n*r),Math.round(m*r),l.name)}this.handleError({message:mxResources.get("imageTooBig")});return null}))}),f,e,u)}),mxUtils.bind(this,function(){this.handleError({message:mxResources.get("invalidOrMissingFile")})})))}else h(a.target.result,
6)&&a[r].size>k){g=!0;break}var v=mxUtils.bind(this,function(){var g=this.editor.graph,k=g.gridSize;h=null!=h?h:mxUtils.bind(this,function(a,b,c,e,f,g,k,h,l){return null!=a&&"<mxlibrary"==a.substring(0,10)?(this.spinner.stop(),this.loadLibrary(new LocalLibrary(this,a,k)),null):this.importFile(a,b,c,e,f,g,k,h,l,d,t)});l=null!=l?l:mxUtils.bind(this,function(a){g.setSelectionCells(a)});if(this.spinner.spin(document.body,mxResources.get("loading")))for(var r=a.length,p=r,v=[],x=mxUtils.bind(this,function(a,
d){v[a]=d;if(0==--p){this.spinner.stop();if(null!=m)m(v);else{var b=[];g.getModel().beginUpdate();try{for(var c=0;c<v.length;c++){var e=v[c]();null!=e&&(b=b.concat(e))}}finally{g.getModel().endUpdate()}}l(b)}}),y=0;y<r;y++)mxUtils.bind(this,function(d){var l=a[d],m=new FileReader;m.onload=mxUtils.bind(this,function(a){if(null==n||n(l))if("image/"==l.type.substring(0,6))if("image/svg"==l.type.substring(0,9)){var m=a.target.result,r=m.indexOf(","),p=decodeURIComponent(escape(atob(m.substring(r+1)))),
v=mxUtils.parseXml(p),p=v.getElementsByTagName("svg");if(0<p.length){var p=p[0],w=t?null:p.getAttribute("content");null!=w&&"<"!=w.charAt(0)&&"%"!=w.charAt(0)&&(w=unescape(window.atob?atob(w):Base64.decode(w,!0)));null!=w&&"%"==w.charAt(0)&&(w=decodeURIComponent(w));null==w||"<mxfile "!==w.substring(0,8)&&"<mxGraphModel "!==w.substring(0,14)?x(d,mxUtils.bind(this,function(){try{if(m.substring(0,r+1),null!=v){var a=v.getElementsByTagName("svg");if(0<a.length){var f=a[0],n=parseFloat(f.getAttribute("width")),
p=parseFloat(f.getAttribute("height")),t=f.getAttribute("viewBox");if(null==t||0==t.length)f.setAttribute("viewBox","0 0 "+n+" "+p);else if(isNaN(n)||isNaN(p)){var q=t.split(" ");3<q.length&&(n=parseFloat(q[2]),p=parseFloat(q[3]))}m=this.createSvgDataUri(mxUtils.getXml(f));var w=Math.min(1,Math.min(e/Math.max(1,n)),e/Math.max(1,p)),x=h(m,l.type,b+d*k,c+d*k,Math.max(1,Math.round(n*w)),Math.max(1,Math.round(p*w)),l.name);if(isNaN(n)||isNaN(p)){var u=new Image;u.onload=mxUtils.bind(this,function(){n=
Math.max(1,u.width);p=Math.max(1,u.height);x[0].geometry.width=n;x[0].geometry.height=p;f.setAttribute("viewBox","0 0 "+n+" "+p);m=this.createSvgDataUri(mxUtils.getXml(f));var a=m.indexOf(";");0<a&&(m=m.substring(0,a)+m.substring(m.indexOf(",",a+1)));g.setCellStyles("image",m,[x[0]])});u.src=this.createSvgDataUri(mxUtils.getXml(f))}return x}}}catch(fa){}return null})):x(d,mxUtils.bind(this,function(){return h(w,"text/xml",b+d*k,c+d*k,0,0,l.name)}))}}else{p=!1;if("image/png"==l.type){var H=t?null:
this.extractGraphModelFromPng(a.target.result);if(null!=H&&0<H.length){var y=new Image;y.src=a.target.result;x(d,mxUtils.bind(this,function(){return h(H,"text/xml",b+d*k,c+d*k,y.width,y.height,l.name)}));p=!0}}p||(mxClient.IS_CHROMEAPP?(this.spinner.stop(),this.showError(mxResources.get("error"),mxResources.get("dragAndDropNotSupported"),mxResources.get("cancel"),mxUtils.bind(this,function(){}),null,mxResources.get("ok"),mxUtils.bind(this,function(){this.actions.get("import").funct()}))):this.loadImage(a.target.result,
mxUtils.bind(this,function(g){this.resizeImage(g,a.target.result,mxUtils.bind(this,function(g,n,m){x(d,mxUtils.bind(this,function(){if(null!=g&&g.length<q){var p=f&&this.isResampleImage(a.target.result,u)?Math.min(1,Math.min(e/n,e/m)):1;return h(g,l.type,b+d*k,c+d*k,Math.round(n*p),Math.round(m*p),l.name)}this.handleError({message:mxResources.get("imageTooBig")});return null}))}),f,e,u)}),mxUtils.bind(this,function(){this.handleError({message:mxResources.get("invalidOrMissingFile")})})))}else h(a.target.result,
l.type,b+d*k,c+d*k,240,160,l.name,function(a){x(d,function(){return a})})});/(\.v(dx|sdx?))($|\?)/i.test(l.name)||/(\.vs(x|sx?))($|\?)/i.test(l.name)?h(null,l.type,b+d*k,c+d*k,240,160,l.name,function(a){x(d,function(){return a})},l):"image"==l.type.substring(0,5)?m.readAsDataURL(l):m.readAsText(l)})(y)});g?this.confirmImageResize(function(a){f=a;v()},p):v()};EditorUi.prototype.confirmImageResize=function(a,b){b=null!=b?b:!1;var d=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){},
c=isLocalStorage||mxClient.IS_CHROMEAPP?mxSettings.getResizeImages():null,e=function(c,e){if(c||b)mxSettings.setResizeImages(c?e:null),mxSettings.save();d();a(e)};null==c||b?this.showDialog((new ConfirmDialog(this,mxResources.get("resizeLargeImages"),function(a){e(a,!0)},function(a){e(a,!1)},mxResources.get("resize"),mxResources.get("actualSize"),'<img style="margin-top:8px;" src="'+Editor.loResImage+'"/>','<img style="margin-top:8px;" src="'+Editor.hiResImage+'"/>',isLocalStorage||mxClient.IS_CHROMEAPP)).container,
340,isLocalStorage||mxClient.IS_CHROMEAPP?220:200,!0,!0):e(!1,c)};EditorUi.prototype.parseFile=function(a,b,c){c=null!=c?c:a.name;var d=new FormData;d.append("format","xml");d.append("upfile",a,c);var e=new XMLHttpRequest;e.open("POST",OPEN_URL);e.onreadystatechange=function(){b(e)};e.send(d)};EditorUi.prototype.isResampleImage=function(a,b){b=null!=b?b:this.resampleThreshold;return a.length>b};EditorUi.prototype.resizeImage=function(a,b,c,e,h,l){h=null!=h?h:this.maxImageSize;var d=Math.max(1,a.width),
f=Math.max(1,a.height);if(e&&this.isResampleImage(b,l))try{var g=Math.max(d/h,f/h);if(1<g){var k=Math.round(d/g),m=Math.round(f/g),t=document.createElement("canvas");t.width=k;t.height=m;t.getContext("2d").drawImage(a,0,0,k,m);var r=t.toDataURL();if(r.length<b.length){var p=document.createElement("canvas");p.width=k;p.height=m;var q=p.toDataURL();r!==q&&(b=r,d=k,f=m)}}}catch(B){}c(b,d,f)};EditorUi.prototype.crcTable=[];for(var e=0;256>e;e++)for(var b=e,h=0;8>h;h++)b=1==(b&1)?3988292384^b>>>1:b>>>
f=Math.max(1,a.height);if(e&&this.isResampleImage(b,l))try{var g=Math.max(d/h,f/h);if(1<g){var k=Math.round(d/g),m=Math.round(f/g),p=document.createElement("canvas");p.width=k;p.height=m;p.getContext("2d").drawImage(a,0,0,k,m);var r=p.toDataURL();if(r.length<b.length){var q=document.createElement("canvas");q.width=k;q.height=m;var u=q.toDataURL();r!==u&&(b=r,d=k,f=m)}}}catch(B){}c(b,d,f)};EditorUi.prototype.crcTable=[];for(var e=0;256>e;e++)for(var b=e,h=0;8>h;h++)b=1==(b&1)?3988292384^b>>>1:b>>>
1,EditorUi.prototype.crcTable[e]=b;EditorUi.prototype.updateCRC=function(a,b,c,e){for(var d=0;d<e;d++)a=EditorUi.prototype.crcTable[(a^b[c+d])&255]^a>>>8;return a};EditorUi.prototype.crc32=function(a){this.crcTable=this.crcTable||this.createCrcTable();for(var d=-1,b=0;b<a.length;b++)d=d>>>8^this.crcTable[(d^a.charCodeAt(b))&255];return(d^-1)>>>0};EditorUi.prototype.writeGraphModelToPng=function(a,b,c,e,h){function d(a,d){var b=k;k+=d;return a.substring(b,k)}function f(a){a=d(a,4);return a.charCodeAt(3)+
(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}function g(a){return String.fromCharCode(a>>24&255,a>>16&255,a>>8&255,a&255)}a=a.substring(a.indexOf(",")+1);a=window.atob?atob(a):Base64.decode(a,!0);var k=0;if(d(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=h&&h();else if(d(a,4),"IHDR"!=d(a,4))null!=h&&h();else{d(a,17);h=a.substring(0,k);do{var m=f(a);if("IDAT"==d(a,4)){h=a.substring(0,k-8);c=c+String.fromCharCode(0)+("zTXt"==b?String.fromCharCode(0):
"")+e;e=4294967295;e=this.updateCRC(e,b,0,4);e=this.updateCRC(e,c,0,c.length);h+=g(c.length)+b+c+g(e^4294967295);h+=a.substring(k-8,a.length);break}h+=a.substring(k-8,k-4+m);d(a,m);d(a,4)}while(m);return"data:image/png;base64,"+(window.btoa?btoa(h):Base64.encode(h,!0))}};EditorUi.prototype.extractGraphModelFromPng=function(a){var d=null;try{var b=a.substring(a.indexOf(",")+1),c=window.atob&&!mxClient.IS_SF?atob(b):Base64.decode(b,!0);EditorUi.parsePng(c,mxUtils.bind(this,function(a,b,e){a=c.substring(a+
@ -3128,7 +3128,7 @@ EditorUi.prototype.createTabForPage=function(a,c,e){e=this.createTab(e);var b=a.
EditorUi.prototype.addTabListeners=function(a,c){mxEvent.disableContextMenu(c);var e=this.editor.graph;mxEvent.addListener(c,"dblclick",mxUtils.bind(this,function(b){this.renamePage(a);mxEvent.consume(b)}));var b=!1,h=!1;mxEvent.addGestureListeners(c,mxUtils.bind(this,function(c){b=null!=this.currentMenu;h=a==this.currentPage;e.isMouseDown||h||this.selectPage(a)}),null,mxUtils.bind(this,function(m){if(e.isEnabled()&&!e.isMouseDown&&(mxEvent.isTouchEvent(m)&&h||mxEvent.isPopupTrigger(m))){e.popupMenuHandler.hideMenu();
this.hideCurrentMenu();if(!mxEvent.isTouchEvent(m)||!b){var p=new mxPopupMenu(this.createPageMenu(a));p.div.className+=" geMenubarMenu";p.smartSeparators=!0;p.showDisabled=!0;p.autoExpand=!0;p.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(p,arguments);this.resetCurrentMenu();p.destroy()});var q=mxEvent.getClientX(m),u=mxEvent.getClientY(m);p.popup(q,u,null,m);this.setCurrentMenu(p,c)}mxEvent.consume(m)}}))};
EditorUi.prototype.createPageMenu=function(a,c){return mxUtils.bind(this,function(e,b){e.addItem(mxResources.get("insert"),null,mxUtils.bind(this,function(){this.insertPage(null,mxUtils.indexOf(this.pages,a)+1)}),b);e.addItem(mxResources.get("delete"),null,mxUtils.bind(this,function(){this.removePage(a)}),b);e.addItem(mxResources.get("rename"),null,mxUtils.bind(this,function(){this.renamePage(a,c)}),b);e.addSeparator(b);e.addItem(mxResources.get("duplicate"),null,mxUtils.bind(this,function(){this.duplicatePage(a,
mxResources.get("copyOf",[a.getName()]))}),b)})};(function(){var a=EditorUi.prototype.refresh;EditorUi.prototype.refresh=function(c){a.apply(this,arguments);this.updateTabContainer()}})();(function(){mxCodecRegistry.getCodec(ChangePageSetup).exclude.push("page")})();(function(){var a=new mxObjectCodec(new MovePage,["ui"]);a.beforeDecode=function(a,e,b){b.ui=a.ui;return e};mxCodecRegistry.register(a)})();
mxResources.get("copyOf",[a.getName()]))}),b)})};(function(){var a=EditorUi.prototype.refresh;EditorUi.prototype.refresh=function(c){a.apply(this,arguments);this.updateTabContainer()}})();(function(){mxCodecRegistry.getCodec(ChangePageSetup).exclude.push("page")})();(function(){var a=new mxObjectCodec(new MovePage,["ui"]);a.beforeDecode=function(a,e,b){b.ui=a.ui;return e};a.afterDecode=function(a,e,b){a=b.oldIndex;b.oldIndex=b.newIndex;b.newIndex=a;return b};mxCodecRegistry.register(a)})();
(function(){var a=new mxObjectCodec(new RenamePage,["ui","page"]);a.beforeDecode=function(a,e,b){b.ui=a.ui;return e};a.afterDecode=function(a,e,b){a=b.previous;b.previous=b.name;b.name=a;return b};mxCodecRegistry.register(a)})();
(function(){var a=new mxObjectCodec(new ChangePage,"ui relatedPage index neverShown page previousPage".split(" ")),c="defaultParent currentRoot scrollLeft scrollTop scale translate lastPasteXml pasteCounter".split(" ");a.afterEncode=function(a,b,h){h.setAttribute("relatedPage",b.relatedPage.getId());null==b.index&&(h.setAttribute("name",b.relatedPage.getName()),null!=b.relatedPage.viewState&&h.setAttribute("viewState",JSON.stringify(b.relatedPage.viewState,function(a,b){return 0>mxUtils.indexOf(c,
a)?b:void 0})),null!=b.relatedPage.root&&a.encodeCell(b.relatedPage.root,h));return h};a.beforeDecode=function(a,b,c){c.ui=a.ui;c.relatedPage=c.ui.getPageById(b.getAttribute("relatedPage"));if(null==c.relatedPage){var e=b.ownerDocument.createElement("diagram");e.setAttribute("id",b.getAttribute("relatedPage"));e.setAttribute("name",b.getAttribute("name"));c.relatedPage=new DiagramPage(e);e=b.getAttribute("viewState");null!=e&&(c.relatedPage.viewState=JSON.parse(e),b.removeAttribute("viewState"));
@ -3139,25 +3139,25 @@ return b}function e(a){var b=!1;null!=a&&(a=n.getParent(a),b=l.view.getState(a),
a.width/2)return mxConstants.DIRECTION_NORTH;if(b.x>a.getCenterX())return mxConstants.DIRECTION_WEST}}return mxConstants.DIRECTION_EAST}function u(a,b){b=null!=b?b:!0;l.model.beginUpdate();try{var d=l.model.getParent(a),c=l.getIncomingEdges(a),e=l.cloneCells([c[0],a]);l.model.setTerminal(e[0],l.model.getTerminal(c[0],!0),!0);var f=q(a),g=d.geometry;f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH?e[1].geometry.x+=b?a.geometry.width+10:-e[1].geometry.width-10:e[1].geometry.y+=b?a.geometry.height+
10:-e[1].geometry.height-10;l.view.currentRoot!=d&&(e[1].geometry.x-=g.x,e[1].geometry.y-=g.y);var h=l.view.getState(a),k=l.view.scale;if(null!=h){var n=mxRectangle.fromRectangle(h);f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH?n.x+=(b?a.geometry.width+10:-e[1].geometry.width-10)*k:n.y+=(b?a.geometry.height+10:-e[1].geometry.height-10)*k;var m=l.getOutgoingEdges(l.model.getTerminal(c[0],!0));if(null!=m){for(var p=f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH,t=g=
c=0;t<m.length;t++){var r=l.model.getTerminal(m[t],!1);if(f==q(r)){var w=l.view.getState(r);r!=a&&null!=w&&(p&&b!=w.getCenterX()<h.getCenterX()||!p&&b!=w.getCenterY()<h.getCenterY())&&mxUtils.intersects(n,w)&&(c=10+Math.max(c,(Math.min(n.x+n.width,w.x+w.width)-Math.max(n.x,w.x))/k),g=10+Math.max(g,(Math.min(n.y+n.height,w.y+w.height)-Math.max(n.y,w.y))/k))}}p?g=0:c=0;for(t=0;t<m.length;t++)if(r=l.model.getTerminal(m[t],!1),f==q(r)&&(w=l.view.getState(r),r!=a&&null!=w&&(p&&b!=w.getCenterX()<h.getCenterX()||
!p&&b!=w.getCenterY()<h.getCenterY()))){var u=[];l.traverse(w.cell,!0,function(a,b){null!=b&&u.push(b);u.push(a);return!0});l.moveCells(u,(b?1:-1)*c,(b?1:-1)*g)}}}return l.addCells(e,d)}finally{l.model.endUpdate()}}function d(a){l.model.beginUpdate();try{var b=q(a),d=l.getIncomingEdges(a),c=l.cloneCells([d[0],a]);l.model.setTerminal(d[0],c[1],!1);l.model.setTerminal(c[0],c[1],!0);l.model.setTerminal(c[0],a,!1);var e=l.model.getParent(a),f=e.geometry,g=[];l.view.currentRoot!=e&&(c[1].geometry.x-=f.x,
c[1].geometry.y-=f.y);l.traverse(a,!0,function(a,b){null!=b&&g.push(b);g.push(a);return!0});var h=a.geometry.width+40,k=a.geometry.height+40;b==mxConstants.DIRECTION_SOUTH?h=0:b==mxConstants.DIRECTION_NORTH?(h=0,k=-40):b==mxConstants.DIRECTION_WEST?(h=-40,k=0):b==mxConstants.DIRECTION_EAST&&(k=0);l.moveCells(g,h,k);return l.addCells(c,e)}finally{l.model.endUpdate()}}function f(a){l.model.beginUpdate();try{var b=l.model.getParent(a),c=l.getIncomingEdges(a),d=l.cloneCells([c[0],a]);l.model.setTerminal(d[0],
a,!0);var c=l.getOutgoingEdges(a),e=b.geometry,f=[];l.view.currentRoot==b&&(e=new mxRectangle);for(var g=0;g<c.length;g++){var h=l.model.getTerminal(c[g],!1);null!=h&&f.push(h)}var k=l.view.getBounds(f),n=q(a),m=l.view.translate,p=l.view.scale;n==mxConstants.DIRECTION_SOUTH?(d[1].geometry.x=null==k?a.geometry.x+(a.geometry.width-d[1].geometry.width)/2:(k.x+k.width)/p-m.x-e.x+10,d[1].geometry.y+=a.geometry.height-e.y+40):n==mxConstants.DIRECTION_NORTH?(d[1].geometry.x=null==k?a.geometry.x+(a.geometry.width-
d[1].geometry.width)/2:(k.x+k.width)/p-m.x+-e.x+10,d[1].geometry.y-=d[1].geometry.height-e.y+40):(d[1].geometry.x=n==mxConstants.DIRECTION_WEST?d[1].geometry.x-(d[1].geometry.width-e.x+40):d[1].geometry.x+(a.geometry.width-e.x+40),d[1].geometry.y=null==k?a.geometry.y+(a.geometry.height-d[1].geometry.height)/2:(k.y+k.height)/p-m.y+-e.y+10);return l.addCells(d,b)}finally{l.model.endUpdate()}}function g(a,b,d){a=l.getOutgoingEdges(a);d=l.view.getState(d);var c=[];if(null!=d&&null!=a){for(var e=0;e<a.length;e++){var f=
l.view.getState(l.model.getTerminal(a[e],!1));null!=f&&(!b&&Math.min(f.x+f.width,d.x+d.width)>=Math.max(f.x,d.x)||b&&Math.min(f.y+f.height,d.y+d.height)>=Math.max(f.y,d.y))&&c.push(f)}c.sort(function(a,d){return b?a.x+a.width-d.x-d.width:a.y+a.height-d.y-d.height})}return c}function k(a,b){var d=q(a),c=b==mxConstants.DIRECTION_EAST||b==mxConstants.DIRECTION_WEST;(d==mxConstants.DIRECTION_EAST||d==mxConstants.DIRECTION_WEST)==c&&d!=b?r.actions.get("selectParent").funct():d==b?(c=l.getOutgoingEdges(a),
null!=c&&0<c.length&&l.setSelectionCell(l.model.getTerminal(c[0],!1))):(d=l.getIncomingEdges(a),null!=d&&0<d.length&&(c=g(l.model.getTerminal(d[0],!0),c,a),d=l.view.getState(a),null!=d&&(d=mxUtils.indexOf(c,d),0<=d&&(d+=b==mxConstants.DIRECTION_NORTH||b==mxConstants.DIRECTION_WEST?-1:1,0<=d&&d<=c.length-1&&l.setSelectionCell(c[d].cell)))))}var r=this,l=r.editor.graph,n=l.getModel();mxResources.parse("selectChildren=Select Children");mxResources.parse("selectSiblings=Select Siblings");mxResources.parse("selectDescendants=Select Descendants");
mxResources.parse("selectParent=Select Parent");var x=r.menus.createPopupMenu;r.menus.createPopupMenu=function(a,d,c){x.apply(this,arguments);if(1==l.getSelectionCount()){d=l.getSelectionCell();var e=l.getOutgoingEdges(d);a.addSeparator();null!=e&&0<e.length&&(b(l.getSelectionCell())&&this.addMenuItems(a,["selectChildren"],null,c),this.addMenuItems(a,["selectDescendants"],null,c));b(l.getSelectionCell())&&(a.addSeparator(),0<l.getIncomingEdges(d).length&&this.addMenuItems(a,["selectSiblings","selectParent"],
null,c))}};r.actions.addAction("selectChildren",function(){if(l.isEnabled()&&1==l.getSelectionCount()){var a=l.getSelectionCell(),a=l.getOutgoingEdges(a);if(null!=a){for(var b=[],d=0;d<a.length;d++)b.push(l.model.getTerminal(a[d],!1));l.setSelectionCells(b)}}},null,null,"Alt+Shift+X");r.actions.addAction("selectSiblings",function(){if(l.isEnabled()&&1==l.getSelectionCount()){var a=l.getSelectionCell(),a=l.getIncomingEdges(a);if(null!=a&&0<a.length&&(a=l.getOutgoingEdges(l.model.getTerminal(a[0],!0)),
null!=a)){for(var b=[],d=0;d<a.length;d++)b.push(l.model.getTerminal(a[d],!1));l.setSelectionCells(b)}}},null,null,"Alt+Shift+S");r.actions.addAction("selectParent",function(){if(l.isEnabled()&&1==l.getSelectionCount()){var a=l.getSelectionCell(),a=l.getIncomingEdges(a);null!=a&&0<a.length&&l.setSelectionCell(l.model.getTerminal(a[0],!0))}},null,null,"Alt+Shift+P");r.actions.addAction("selectDescendants",function(){if(l.isEnabled()&&1==l.getSelectionCount()){var a=l.getSelectionCell(),b=[];l.traverse(a,
!0,function(a,d){null!=d&&b.push(d);b.push(a);return!0});l.setSelectionCells(b)}},null,null,"Alt+Shift+T");var v=l.removeCells;l.removeCells=function(a,d){d=null!=d?d:!0;null==a&&(a=this.getDeletableCells(this.getSelectionCells()));d&&(a=this.getDeletableCells(this.addAllEdges(a)));for(var e=[],f=0;f<a.length;f++){var g=a[f];n.isEdge(g)&&c(g)&&(e.push(g),g=n.getTerminal(g,!1));b(g)?(l.traverse(g,!0,function(a,b){null!=b&&e.push(b);e.push(a);return!0}),g=l.getIncomingEdges(a[f]),a=a.concat(g)):e.push(a[f])}a=
e;return v.apply(this,arguments)};r.hoverIcons.getStateAt=function(a,d,c){return b(a.cell)?null:this.graph.view.getState(this.graph.getCellAt(d,c))};var A=l.duplicateCells;l.duplicateCells=function(a,d){a=null!=a?a:this.getSelectionCells();for(var c=a.slice(0),e=0;e<c.length;e++){var f=l.view.getState(c[e]);if(null!=f&&b(f.cell))for(var g=l.getIncomingEdges(f.cell),f=0;f<g.length;f++)mxUtils.remove(g[f],a)}this.model.beginUpdate();try{var h=A.call(this,a,d);if(h.length==a.length)for(e=0;e<a.length;e++)if(b(a[e])){var k=
l.getIncomingEdges(h[e]),g=l.getIncomingEdges(a[e]);if(0==k.length&&0<g.length){var n=this.cloneCells([g[0]])[0];this.addEdge(n,l.getDefaultParent(),this.model.getTerminal(g[0],!0),h[e])}}}finally{this.model.endUpdate()}return h};var y=l.moveCells;l.moveCells=function(a,d,c,e,f,g,h){var k=null;this.model.beginUpdate();try{var n=f,m=this.view.getState(f),p=null!=m?m.style:this.getCellStyle(f);if(null!=a&&b(f)&&"1"==mxUtils.getValue(p,"treeFolding","0")){for(var t=0;t<a.length;t++)if(b(a[t])||l.model.isEdge(a[t])&&
null==l.model.getTerminal(a[t],!0)){f=l.model.getParent(a[t]);break}if(null!=n&&f!=n&&null!=this.view.getState(a[0])){var q=l.getIncomingEdges(a[0]);if(0<q.length){var r=l.view.getState(l.model.getTerminal(q[0],!0));if(null!=r){var u=l.view.getState(n);null!=u&&(d=(u.getCenterX()-r.getCenterX())/l.view.scale,c=(u.getCenterY()-r.getCenterY())/l.view.scale)}}}}k=y.apply(this,arguments);if(null!=k&&null!=a&&k.length==a.length)for(t=0;t<k.length;t++)if(this.model.isEdge(k[t]))b(n)&&0>mxUtils.indexOf(k,
!p&&b!=w.getCenterY()<h.getCenterY()))){var u=[];l.traverse(w.cell,!0,function(a,b){null!=b&&u.push(b);u.push(a);return!0});l.moveCells(u,(b?1:-1)*c,(b?1:-1)*g)}}}return l.addCells(e,d)}finally{l.model.endUpdate()}}function d(a){l.model.beginUpdate();try{var b=q(a),c=l.getIncomingEdges(a),d=l.cloneCells([c[0],a]);l.model.setTerminal(c[0],d[1],!1);l.model.setTerminal(d[0],d[1],!0);l.model.setTerminal(d[0],a,!1);var e=l.model.getParent(a),f=e.geometry,g=[];l.view.currentRoot!=e&&(d[1].geometry.x-=f.x,
d[1].geometry.y-=f.y);l.traverse(a,!0,function(a,b){null!=b&&g.push(b);g.push(a);return!0});var h=a.geometry.width+40,k=a.geometry.height+40;b==mxConstants.DIRECTION_SOUTH?h=0:b==mxConstants.DIRECTION_NORTH?(h=0,k=-40):b==mxConstants.DIRECTION_WEST?(h=-40,k=0):b==mxConstants.DIRECTION_EAST&&(k=0);l.moveCells(g,h,k);return l.addCells(d,e)}finally{l.model.endUpdate()}}function f(a){l.model.beginUpdate();try{var b=l.model.getParent(a),d=l.getIncomingEdges(a),c=l.cloneCells([d[0],a]);l.model.setTerminal(c[0],
a,!0);var d=l.getOutgoingEdges(a),e=b.geometry,f=[];l.view.currentRoot==b&&(e=new mxRectangle);for(var g=0;g<d.length;g++){var h=l.model.getTerminal(d[g],!1);null!=h&&f.push(h)}var k=l.view.getBounds(f),n=q(a),m=l.view.translate,p=l.view.scale;n==mxConstants.DIRECTION_SOUTH?(c[1].geometry.x=null==k?a.geometry.x+(a.geometry.width-c[1].geometry.width)/2:(k.x+k.width)/p-m.x-e.x+10,c[1].geometry.y+=a.geometry.height-e.y+40):n==mxConstants.DIRECTION_NORTH?(c[1].geometry.x=null==k?a.geometry.x+(a.geometry.width-
c[1].geometry.width)/2:(k.x+k.width)/p-m.x+-e.x+10,c[1].geometry.y-=c[1].geometry.height-e.y+40):(c[1].geometry.x=n==mxConstants.DIRECTION_WEST?c[1].geometry.x-(c[1].geometry.width-e.x+40):c[1].geometry.x+(a.geometry.width-e.x+40),c[1].geometry.y=null==k?a.geometry.y+(a.geometry.height-c[1].geometry.height)/2:(k.y+k.height)/p-m.y+-e.y+10);return l.addCells(c,b)}finally{l.model.endUpdate()}}function g(a,b,c){a=l.getOutgoingEdges(a);c=l.view.getState(c);var d=[];if(null!=c&&null!=a){for(var e=0;e<a.length;e++){var f=
l.view.getState(l.model.getTerminal(a[e],!1));null!=f&&(!b&&Math.min(f.x+f.width,c.x+c.width)>=Math.max(f.x,c.x)||b&&Math.min(f.y+f.height,c.y+c.height)>=Math.max(f.y,c.y))&&d.push(f)}d.sort(function(a,c){return b?a.x+a.width-c.x-c.width:a.y+a.height-c.y-c.height})}return d}function k(a,b){var c=q(a),d=b==mxConstants.DIRECTION_EAST||b==mxConstants.DIRECTION_WEST;(c==mxConstants.DIRECTION_EAST||c==mxConstants.DIRECTION_WEST)==d&&c!=b?r.actions.get("selectParent").funct():c==b?(d=l.getOutgoingEdges(a),
null!=d&&0<d.length&&l.setSelectionCell(l.model.getTerminal(d[0],!1))):(c=l.getIncomingEdges(a),null!=c&&0<c.length&&(d=g(l.model.getTerminal(c[0],!0),d,a),c=l.view.getState(a),null!=c&&(c=mxUtils.indexOf(d,c),0<=c&&(c+=b==mxConstants.DIRECTION_NORTH||b==mxConstants.DIRECTION_WEST?-1:1,0<=c&&c<=d.length-1&&l.setSelectionCell(d[c].cell)))))}var r=this,l=r.editor.graph,n=l.getModel();mxResources.parse("selectChildren=Select Children");mxResources.parse("selectSiblings=Select Siblings");mxResources.parse("selectDescendants=Select Descendants");
mxResources.parse("selectParent=Select Parent");var x=r.menus.createPopupMenu;r.menus.createPopupMenu=function(a,c,d){x.apply(this,arguments);if(1==l.getSelectionCount()){c=l.getSelectionCell();var e=l.getOutgoingEdges(c);a.addSeparator();null!=e&&0<e.length&&(b(l.getSelectionCell())&&this.addMenuItems(a,["selectChildren"],null,d),this.addMenuItems(a,["selectDescendants"],null,d));b(l.getSelectionCell())&&(a.addSeparator(),0<l.getIncomingEdges(c).length&&this.addMenuItems(a,["selectSiblings","selectParent"],
null,d))}};r.actions.addAction("selectChildren",function(){if(l.isEnabled()&&1==l.getSelectionCount()){var a=l.getSelectionCell(),a=l.getOutgoingEdges(a);if(null!=a){for(var b=[],c=0;c<a.length;c++)b.push(l.model.getTerminal(a[c],!1));l.setSelectionCells(b)}}},null,null,"Alt+Shift+X");r.actions.addAction("selectSiblings",function(){if(l.isEnabled()&&1==l.getSelectionCount()){var a=l.getSelectionCell(),a=l.getIncomingEdges(a);if(null!=a&&0<a.length&&(a=l.getOutgoingEdges(l.model.getTerminal(a[0],!0)),
null!=a)){for(var b=[],c=0;c<a.length;c++)b.push(l.model.getTerminal(a[c],!1));l.setSelectionCells(b)}}},null,null,"Alt+Shift+S");r.actions.addAction("selectParent",function(){if(l.isEnabled()&&1==l.getSelectionCount()){var a=l.getSelectionCell(),a=l.getIncomingEdges(a);null!=a&&0<a.length&&l.setSelectionCell(l.model.getTerminal(a[0],!0))}},null,null,"Alt+Shift+P");r.actions.addAction("selectDescendants",function(){if(l.isEnabled()&&1==l.getSelectionCount()){var a=l.getSelectionCell(),b=[];l.traverse(a,
!0,function(a,c){null!=c&&b.push(c);b.push(a);return!0});l.setSelectionCells(b)}},null,null,"Alt+Shift+T");var v=l.removeCells;l.removeCells=function(a,d){d=null!=d?d:!0;null==a&&(a=this.getDeletableCells(this.getSelectionCells()));d&&(a=this.getDeletableCells(this.addAllEdges(a)));for(var e=[],f=0;f<a.length;f++){var g=a[f];n.isEdge(g)&&c(g)&&(e.push(g),g=n.getTerminal(g,!1));b(g)?(l.traverse(g,!0,function(a,b){null!=b&&e.push(b);e.push(a);return!0}),g=l.getIncomingEdges(a[f]),a=a.concat(g)):e.push(a[f])}a=
e;return v.apply(this,arguments)};r.hoverIcons.getStateAt=function(a,c,d){return b(a.cell)?null:this.graph.view.getState(this.graph.getCellAt(c,d))};var A=l.duplicateCells;l.duplicateCells=function(a,c){a=null!=a?a:this.getSelectionCells();for(var d=a.slice(0),e=0;e<d.length;e++){var f=l.view.getState(d[e]);if(null!=f&&b(f.cell))for(var g=l.getIncomingEdges(f.cell),f=0;f<g.length;f++)mxUtils.remove(g[f],a)}this.model.beginUpdate();try{var h=A.call(this,a,c);if(h.length==a.length)for(e=0;e<a.length;e++)if(b(a[e])){var k=
l.getIncomingEdges(h[e]),g=l.getIncomingEdges(a[e]);if(0==k.length&&0<g.length){var n=this.cloneCells([g[0]])[0];this.addEdge(n,l.getDefaultParent(),this.model.getTerminal(g[0],!0),h[e])}}}finally{this.model.endUpdate()}return h};var y=l.moveCells;l.moveCells=function(a,c,d,e,f,g,h){var k=null;this.model.beginUpdate();try{var n=f,m=this.view.getState(f),p=null!=m?m.style:this.getCellStyle(f);if(null!=a&&b(f)&&"1"==mxUtils.getValue(p,"treeFolding","0")){for(var t=0;t<a.length;t++)if(b(a[t])||l.model.isEdge(a[t])&&
null==l.model.getTerminal(a[t],!0)){f=l.model.getParent(a[t]);break}if(null!=n&&f!=n&&null!=this.view.getState(a[0])){var q=l.getIncomingEdges(a[0]);if(0<q.length){var r=l.view.getState(l.model.getTerminal(q[0],!0));if(null!=r){var u=l.view.getState(n);null!=u&&(c=(u.getCenterX()-r.getCenterX())/l.view.scale,d=(u.getCenterY()-r.getCenterY())/l.view.scale)}}}}k=y.apply(this,arguments);if(null!=k&&null!=a&&k.length==a.length)for(t=0;t<k.length;t++)if(this.model.isEdge(k[t]))b(n)&&0>mxUtils.indexOf(k,
this.model.getTerminal(k[t],!0))&&this.model.setTerminal(k[t],n,!0);else if(b(a[t])&&(q=l.getIncomingEdges(a[t]),0<q.length))if(!e)b(n)&&0>mxUtils.indexOf(a,this.model.getTerminal(q[0],!0))&&this.model.setTerminal(q[0],n,!0);else if(0==l.getIncomingEdges(k[t]).length){m=n;if(null==m||m==l.model.getParent(a[t]))m=l.model.getTerminal(q[0],!0);e=this.cloneCells([q[0]])[0];this.addEdge(e,l.getDefaultParent(),m,k[t])}}finally{this.model.endUpdate()}return k};if(null!=r.sidebar){var t=r.sidebar.dropAndConnect;
r.sidebar.dropAndConnect=function(a,d,c,e){var f=l.model,g=null;f.beginUpdate();try{if(g=t.apply(this,arguments),b(a))for(var h=0;h<g.length;h++)if(f.isEdge(g[h])&&null==f.getTerminal(g[h],!0)){f.setTerminal(g[h],a,!0);var k=l.getCellGeometry(g[h]);k.points=null;null!=k.getTerminalPoint(!0)&&k.setTerminalPoint(null,!0)}}finally{f.endUpdate()}return g}}var z={88:r.actions.get("selectChildren"),84:r.actions.get("selectSubtree"),80:r.actions.get("selectParent"),83:r.actions.get("selectSiblings")},G=
r.sidebar.dropAndConnect=function(a,c,d,e){var f=l.model,g=null;f.beginUpdate();try{if(g=t.apply(this,arguments),b(a))for(var h=0;h<g.length;h++)if(f.isEdge(g[h])&&null==f.getTerminal(g[h],!0)){f.setTerminal(g[h],a,!0);var k=l.getCellGeometry(g[h]);k.points=null;null!=k.getTerminalPoint(!0)&&k.setTerminalPoint(null,!0)}}finally{f.endUpdate()}return g}}var z={88:r.actions.get("selectChildren"),84:r.actions.get("selectSubtree"),80:r.actions.get("selectParent"),83:r.actions.get("selectSiblings")},G=
r.onKeyDown;r.onKeyDown=function(a){try{if(l.isEnabled()&&!l.isEditing()&&b(l.getSelectionCell())&&1==l.getSelectionCount()){var c=null;0<l.getIncomingEdges(l.getSelectionCell()).length&&(9==a.which?c=mxEvent.isShiftDown(a)?d(l.getSelectionCell()):f(l.getSelectionCell()):13==a.which&&(c=u(l.getSelectionCell(),!mxEvent.isShiftDown(a))));if(null!=c&&0<c.length)1==c.length&&l.model.isEdge(c[0])?l.setSelectionCell(l.model.getTerminal(c[0],!1)):l.setSelectionCell(c[c.length-1]),null!=r.hoverIcons&&r.hoverIcons.update(l.view.getState(l.getSelectionCell())),
l.startEditingAtCell(l.getSelectionCell()),mxEvent.consume(a);else if(mxEvent.isAltDown(a)&&mxEvent.isShiftDown(a)){var e=z[a.keyCode];null!=e&&(e.funct(a),mxEvent.consume(a))}else 37==a.keyCode?(k(l.getSelectionCell(),mxConstants.DIRECTION_WEST),mxEvent.consume(a)):38==a.keyCode?(k(l.getSelectionCell(),mxConstants.DIRECTION_NORTH),mxEvent.consume(a)):39==a.keyCode?(k(l.getSelectionCell(),mxConstants.DIRECTION_EAST),mxEvent.consume(a)):40==a.keyCode&&(k(l.getSelectionCell(),mxConstants.DIRECTION_SOUTH),
mxEvent.consume(a))}}catch(Q){console.log("error",Q)}mxEvent.isConsumed(a)||G.apply(this,arguments)};var F=l.connectVertex;l.connectVertex=function(a,c,e,g,h,k){var n=l.getIncomingEdges(a);return b(a)&&0<n.length?(e=q(a),g=e==mxConstants.DIRECTION_EAST||e==mxConstants.DIRECTION_WEST,h=c==mxConstants.DIRECTION_EAST||c==mxConstants.DIRECTION_WEST,e==c?f(a):g==h?d(a):u(a,c!=mxConstants.DIRECTION_NORTH&&c!=mxConstants.DIRECTION_WEST)):F.call(this,a,c,e,g,h,k)};l.getSubtree=function(a){var d=[a];b(a)&&
!e(a)&&l.traverse(a,!0,function(a,b){null!=b&&0>mxUtils.indexOf(d,b)&&d.push(b);0>mxUtils.indexOf(d,a)&&d.push(a);return!0});return d};var B=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){B.apply(this,arguments);b(this.state.cell)&&0<this.graph.getOutgoingEdges(this.state.cell).length&&(this.moveHandle=mxUtils.createImage(a),this.moveHandle.setAttribute("title","Move Subtree"),this.moveHandle.style.position="absolute",this.moveHandle.style.cursor="pointer",this.moveHandle.style.width=
mxEvent.consume(a))}}catch(Q){console.log("error",Q)}mxEvent.isConsumed(a)||G.apply(this,arguments)};var F=l.connectVertex;l.connectVertex=function(a,c,e,g,h,k){var n=l.getIncomingEdges(a);return b(a)&&0<n.length?(e=q(a),g=e==mxConstants.DIRECTION_EAST||e==mxConstants.DIRECTION_WEST,h=c==mxConstants.DIRECTION_EAST||c==mxConstants.DIRECTION_WEST,e==c?f(a):g==h?d(a):u(a,c!=mxConstants.DIRECTION_NORTH&&c!=mxConstants.DIRECTION_WEST)):F.call(this,a,c,e,g,h,k)};l.getSubtree=function(a){var c=[a];b(a)&&
!e(a)&&l.traverse(a,!0,function(a,b){null!=b&&0>mxUtils.indexOf(c,b)&&c.push(b);0>mxUtils.indexOf(c,a)&&c.push(a);return!0});return c};var B=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){B.apply(this,arguments);b(this.state.cell)&&0<this.graph.getOutgoingEdges(this.state.cell).length&&(this.moveHandle=mxUtils.createImage(a),this.moveHandle.setAttribute("title","Move Subtree"),this.moveHandle.style.position="absolute",this.moveHandle.style.cursor="pointer",this.moveHandle.style.width=
"18px",this.moveHandle.style.height="18px",this.graph.container.appendChild(this.moveHandle),mxEvent.addGestureListeners(this.moveHandle,mxUtils.bind(this,function(a){this.graph.graphHandler.start(this.state.cell,mxEvent.getClientX(a),mxEvent.getClientY(a));this.graph.graphHandler.cells=this.graph.getSubtree(this.state.cell);this.graph.graphHandler.bounds=this.state.view.getBounds(this.graph.graphHandler.cells);this.graph.graphHandler.pBounds=this.graph.graphHandler.getPreviewBounds(this.graph.graphHandler.cells);
this.graph.graphHandler.cellWasClicked=!0;this.graph.isMouseTrigger=mxEvent.isMouseEvent(a);this.graph.isMouseDown=!0;mxEvent.consume(a)})))};var J=mxVertexHandler.prototype.redrawHandles;mxVertexHandler.prototype.redrawHandles=function(){J.apply(this,arguments);null!=this.moveHandle&&(this.moveHandle.style.left=this.state.x+this.state.width+(40>this.state.width?10:0)+2+"px",this.moveHandle.style.top=this.state.y+this.state.height+(40>this.state.height?10:0)+2+"px")};var K=mxVertexHandler.prototype.destroy;
mxVertexHandler.prototype.destroy=function(a,b){K.apply(this,arguments);null!=this.moveHandle&&(this.moveHandle.parentNode.removeChild(this.moveHandle),this.moveHandle=null)}};if("undefined"!==typeof Sidebar){var b=Sidebar.prototype.createAdvancedShapes;Sidebar.prototype.createAdvancedShapes=function(){var a=b.apply(this,arguments),c=this.editorUi.editor.graph;return a.concat([this.addEntry("tree container",function(){var a=new mxCell("Tree Container",new mxGeometry(0,0,220,160),"swimlane;html=1;startSize=20;horizontal=1;containerType=tree;");
@ -3175,11 +3175,11 @@ a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree root",function
a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;elbow=vertical;startArrow=none;endArrow=none;rounded=0;");b.geometry.setTerminalPoint(new mxPoint(0,0),!0);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!1);return sb.createVertexTemplateFromCells([a,b],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree sub sections",function(){var a=new mxCell("Sub Section",new mxGeometry(0,0,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;container=1;recursiveResize=0;treeFolding=1;");
a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=none;rounded=0;targetPortConstraint=eastwest;sourcePortConstraint=northsouth;");b.geometry.setTerminalPoint(new mxPoint(110,-40),!0);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!1);var c=new mxCell("Sub Section",new mxGeometry(120,0,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;container=1;recursiveResize=0;treeFolding=1;");c.vertex=!0;var d=new mxCell("",new mxGeometry(0,
0,0,0),"edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=none;rounded=0;targetPortConstraint=eastwest;sourcePortConstraint=northsouth;");d.geometry.setTerminalPoint(new mxPoint(110,-40),!0);d.geometry.relative=!0;d.edge=!0;c.insertEdge(d,!1);return sb.createVertexTemplateFromCells([b,d,a,c],220,60,"Sub Sections")})])}}})();EditorUi.initMinimalTheme=function(){function a(a){var b=a.editor.graph;b.popupMenuHandler.hideMenu();null==a.formatWindow?(a.formatWindow=new h(a,mxResources.get("format"),Math.max(20,a.diagramContainer.clientWidth-240-12),56,240,Math.min(550,b.container.clientHeight-10),function(b){b=a.createFormat(b);b.init();return b}),a.formatWindow.window.minimumSize=new mxRectangle(0,0,240,80),a.formatWindow.window.setVisible(!0)):a.formatWindow.window.setVisible(!a.formatWindow.window.isVisible());a.formatWindow.window.isVisible()&&
a.formatWindow.window.fit()}function c(a){var b=a.editor.graph;b.popupMenuHandler.hideMenu();new mxRectangle;if(null==a.sidebarWindow){var d=Math.min(b.container.clientWidth-10,266);a.sidebarWindow=new h(a,mxResources.get("shapes"),10,56,d-6,Math.min(650,b.container.clientHeight-30),function(b){function d(c,d){var f=a.menus.get(c),g=e.addMenu(d,mxUtils.bind(this,function(){f.funct.apply(this,arguments)}));g.style.cssText="position:absolute;border-top:1px solid lightgray;width:50%;height:24px;bottom:0px;text-align:center;cursor:pointer;padding:6px 0 0 0;";
g.className="geTitle";b.appendChild(g);return g}var c=document.createElement("div");c.style.cssText="position:absolute;left:0;right:0;border-top:1px solid lightgray;height:24px;bottom:31px;text-align:center;cursor:pointer;padding:6px 0 0 0;";c.className="geTitle";mxUtils.write(c,mxResources.get("moreShapes"));b.appendChild(c);mxEvent.addListener(c,"click",function(){a.actions.get("shapes").funct()});var e=new Menubar(a,b);if(!Editor.enableCustomLibraries||"1"==urlParams.embed&&"1"!=urlParams.libraries)c.style.bottom=
"0";else if(null!=a.actions.get("newLibrary")){c=document.createElement("div");c.style.cssText="position:absolute;left:0px;width:50%;border-top:1px solid lightgray;height:30px;bottom:0px;text-align:center;cursor:pointer;padding:0px;";c.className="geTitle";var f=document.createElement("span");f.style.cssText="position:relative;top:6px;";mxUtils.write(f,mxResources.get("newLibrary"));c.appendChild(f);b.appendChild(c);mxEvent.addListener(c,"click",a.actions.get("newLibrary").funct);c=document.createElement("div");
c.style.cssText="position:absolute;left:50%;width:50%;border-top:1px solid lightgray;height:30px;bottom:0px;text-align:center;cursor:pointer;padding:0px;border-left: 1px solid lightgray;";c.className="geTitle";f=document.createElement("span");f.style.cssText="position:relative;top:6px;";mxUtils.write(f,mxResources.get("openLibrary"));c.appendChild(f);b.appendChild(c);mxEvent.addListener(c,"click",a.actions.get("openLibrary").funct)}else c=d("newLibrary",mxResources.get("newLibrary")),c.style.left=
"0",c=d("openLibraryFrom",mxResources.get("openLibraryFrom")),c.style.borderLeft="1px solid lightgray",c.style.left="50%";b.appendChild(a.sidebar.container);b.style.overflow="hidden";return b});a.sidebarWindow.window.minimumSize=new mxRectangle(0,0,90,90);a.sidebarWindow.window.setVisible(!0);a.getLocalData("sidebar",function(b){a.sidebar.showEntries(b,null,!0)});a.restoreLibraries()}else a.sidebarWindow.window.setVisible(!a.sidebarWindow.window.isVisible());a.sidebarWindow.window.isVisible()&&a.sidebarWindow.window.fit()}
a.formatWindow.window.fit()}function c(a){var b=a.editor.graph;b.popupMenuHandler.hideMenu();new mxRectangle;if(null==a.sidebarWindow){var c=Math.min(b.container.clientWidth-10,266);a.sidebarWindow=new h(a,mxResources.get("shapes"),10,56,c-6,Math.min(650,b.container.clientHeight-30),function(b){function c(c,d){var f=a.menus.get(c),g=e.addMenu(d,mxUtils.bind(this,function(){f.funct.apply(this,arguments)}));g.style.cssText="position:absolute;border-top:1px solid lightgray;width:50%;height:24px;bottom:0px;text-align:center;cursor:pointer;padding:6px 0 0 0;";
g.className="geTitle";b.appendChild(g);return g}var d=document.createElement("div");d.style.cssText="position:absolute;left:0;right:0;border-top:1px solid lightgray;height:24px;bottom:31px;text-align:center;cursor:pointer;padding:6px 0 0 0;";d.className="geTitle";mxUtils.write(d,mxResources.get("moreShapes"));b.appendChild(d);mxEvent.addListener(d,"click",function(){a.actions.get("shapes").funct()});var e=new Menubar(a,b);if(!Editor.enableCustomLibraries||"1"==urlParams.embed&&"1"!=urlParams.libraries)d.style.bottom=
"0";else if(null!=a.actions.get("newLibrary")){d=document.createElement("div");d.style.cssText="position:absolute;left:0px;width:50%;border-top:1px solid lightgray;height:30px;bottom:0px;text-align:center;cursor:pointer;padding:0px;";d.className="geTitle";var f=document.createElement("span");f.style.cssText="position:relative;top:6px;";mxUtils.write(f,mxResources.get("newLibrary"));d.appendChild(f);b.appendChild(d);mxEvent.addListener(d,"click",a.actions.get("newLibrary").funct);d=document.createElement("div");
d.style.cssText="position:absolute;left:50%;width:50%;border-top:1px solid lightgray;height:30px;bottom:0px;text-align:center;cursor:pointer;padding:0px;border-left: 1px solid lightgray;";d.className="geTitle";f=document.createElement("span");f.style.cssText="position:relative;top:6px;";mxUtils.write(f,mxResources.get("openLibrary"));d.appendChild(f);b.appendChild(d);mxEvent.addListener(d,"click",a.actions.get("openLibrary").funct)}else d=c("newLibrary",mxResources.get("newLibrary")),d.style.left=
"0",d=c("openLibraryFrom",mxResources.get("openLibraryFrom")),d.style.borderLeft="1px solid lightgray",d.style.left="50%";b.appendChild(a.sidebar.container);b.style.overflow="hidden";return b});a.sidebarWindow.window.minimumSize=new mxRectangle(0,0,90,90);a.sidebarWindow.window.setVisible(!0);a.getLocalData("sidebar",function(b){a.sidebar.showEntries(b,null,!0)});a.restoreLibraries()}else a.sidebarWindow.window.setVisible(!a.sidebarWindow.window.isVisible());a.sidebarWindow.window.isVisible()&&a.sidebarWindow.window.fit()}
if("1"==urlParams.lightbox||"0"==urlParams.chrome||"undefined"===typeof window.Format||"undefined"===typeof window.Menus)window.uiTheme=null;else{var e=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth;try{var b=document.createElement("style");b.type="text/css";b.innerHTML="* { -webkit-font-smoothing: antialiased; }html body .mxWindow button.geBtn { font-size:12px !important; margin-left: 0;}html body div.diagramContainer button, html body button.geBtn { font-size:14px; font-weight:700;border-radius: 5px; }html body button.geBtn:active { opacity: 0.6; }.geDialog input, .geToolbarContainer input, .mxWindow input {padding:2px !important;display:inline-block !important; }div.geDialog { border-radius: 5px; }html body div.geDialog button.geBigButton { color: #fff !important; }.mxWindow button, .geDialog select, .mxWindow select { display:inline-block; }html body .mxWindow .geColorBtn, html body .geDialog .geColorBtn { background: none; }html body div.diagramContainer button, html body .mxWindow button, html body .geDialog button { min-width: 0px; border-radius: 5px; color: #353535 !important; border-color: rgb(216, 216, 216); }div.diagramContainer button.geBtn, .mxWindow button.geBtn, .geDialog button.geBtn { min-width:72px; font-weight: 600; background: none; }div.diagramContainer button.geBtn:hover, .mxWindow button.geBtn:hover, .geDialog button.geBtn:hover { box-shadow: none; border-color: rgb(216, 216, 216); }div.diagramContainer button.gePrimaryBtn, .mxWindow button.gePrimaryBtn, .geDialog button.gePrimaryBtn, html body .gePrimaryBtn { background: #29b6f2; color: #fff !important; border: none; box-shadow: none; }html body .gePrimaryBtn:hover { background: #29b6f2; border: none; box-shadow: inherit; }html body button.gePrimaryBtn:hover { background: #29b6f2; border: none; }.geBtn button { min-width:72px !important; }div.geToolbarContainer a.geButton { margin:2px; padding: 0 2px 4px 2px; } .geDialog, .mxWindow td.mxWindowPane *, div.geSprite, td.mxWindowTitle, .geDiagramContainer { box-sizing:content-box; }.mxWindow div button.geStyleButton { box-sizing: border-box; }table.mxWindow td.mxWindowPane button.geColorBtn { padding:0px; box-sizing: border-box; }td.mxWindowPane .geSidebarContainer button { padding:2px 0 2px 0; box-sizing: border-box; }html body .geMenuItem { font-size:14px; text-decoration: none; font-weight: normal; padding: 6px 10px 6px 10px; border: none; border-radius: 5px; color: #353535; box-shadow: inset 0 0 0 1px rgba(0,0,0,.11), inset 0 -1px 0 0 rgba(0,0,0,.08), 0 1px 2px 0 rgba(0,0,0,.04); }a.geMenuItem:active { opacity: 0.4; }.geToolbarContainer { background:#fff !important; }div.mxWindow .geSidebarContainer .geTitle { background-color:#fdfdfd; }div.mxWindow .geSidebarContainer .geTitle:hover { background-color:#fafafa; }div.geSidebar { background-color: #fff !important;}div.mxWindow td.mxWindowPane button { background-image: none; float: none; }td.mxWindowTitle { height: 22px !important; background: none !important; font-size: 13px !important; text-align:center !important; border-bottom:1px solid lightgray; }div.mxWindow, div.mxWindowTitle { background-image: none !important; background-color:#fff !important; }div.mxWindow { border-radius:5px; box-shadow: 0px 0px 2px #C0C0C0 !important;}div.mxWindow * { font-family: inherit !important; }html div.geVerticalHandle { position:absolute;bottom:0px;left:50%;cursor:row-resize;width:11px;height:11px;background:white;margin-bottom:-6px; margin-left:-6px; border: none; border-radius: 6px; box-shadow: inset 0 0 0 1px rgba(0,0,0,.11), inset 0 -1px 0 0 rgba(0,0,0,.08), 0 1px 2px 0 rgba(0,0,0,.04); }html div.geInactivePage { background: rgb(249, 249, 249) !important; color:lightgray !important; } html div.geActivePage { background: white !important;color: #353535 !important; } html div.mxRubberband { border:1px solid; border-color: #29b6f2 !important; background:rgba(41,182,242,0.5) !important; } html body div.mxPopupMenu { border-radius:5px; border:1px solid #c0c0c0; padding:5px 0 5px 0; box-shadow: 0px 4px 17px -4px rgba(96,96,96,1); } html table.mxPopupMenu td.mxPopupMenuItem { color: #353535; font-size: 14px; padding-top: 4px; padding-bottom: 4px; }html table.mxPopupMenu tr.mxPopupMenuItemHover { background-color: #29b6f2; }html tr.mxPopupMenuItemHover td.mxPopupMenuItem, html tr.mxPopupMenuItemHover td.mxPopupMenuItem span { color: #fff !important; }html tr.mxPopupMenuItem, html td.mxPopupMenuItem { transition-property: none !important; }html table.mxPopupMenu hr { height: 2px; background-color: rgba(0,0,0,.07); margin: 5px 0; }";
document.getElementsByTagName("head")[0].appendChild(b)}catch(n){}var h=function(a,b,c,d,e,f,g){a=document.createElement("div");a.className="geSidebarContainer";a.style.position="absolute";a.style.width="100%";a.style.height="100%";a.style.border="1px solid whiteSmoke";a.style.overflowX="hidden";a.style.overflowY="auto";g(a);this.window=new mxWindow(b,a,c,d,e,f,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!0);this.window.setClosable(!0);this.window.setVisible(!0);
this.window.setLocation=function(a,b){var c=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight;a=Math.max(0,Math.min(a,(window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth)-this.table.clientWidth));b=Math.max(0,Math.min(b,c-this.table.clientHeight-48));this.getX()==a&&this.getY()==b||mxWindow.prototype.setLocation.apply(this,arguments)}};Editor.checkmarkImage=Graph.createSvgImage(22,18,'<path transform="translate(4 0)" d="M7.181,15.007a1,1,0,0,1-.793-0.391L3.222,10.5A1,1,0,1,1,4.808,9.274L7.132,12.3l6.044-8.86A1,1,0,1,1,14.83,4.569l-6.823,10a1,1,0,0,1-.8.437H7.181Z" fill="#29b6f2"/>').src;

File diff suppressed because it is too large Load diff

View file

@ -74,7 +74,7 @@
<template url="gcp/media_live_streaming.xml" libs="gcp2"/>
<template url="gcp/media_rendering.xml" libs="gcp2"/>
<template url="gcp/media_transcoding.xml" libs="gcp2"/>
<template url="gcp/reatil_beacons_and_targeted_marketing.xml" libs="gcp2"/>
<template url="gcp/retail_beacons_and_targeted_marketing.xml" libs="gcp2"/>
<template url="gcp/retail_fraud_detection.xml" libs="gcp2"/>
<template url="gcp/retail_pci.xml" libs="gcp2"/>
<template url="gcp/retail_real_time_inventory.xml" libs="gcp2"/>